x_ite 10.2.0 → 10.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +4 -4
  2. package/dist/LICENSE.md +4 -0
  3. package/dist/assets/components/{Annotation.js → AnnotationComponent.js} +138 -260
  4. package/dist/assets/components/AnnotationComponent.min.js +2 -0
  5. package/dist/assets/components/{CADGeometry.js → CADGeometryComponent.js} +177 -299
  6. package/dist/assets/components/CADGeometryComponent.min.js +2 -0
  7. package/dist/assets/components/{CubeMapTexturing.js → CubeMapTexturingComponent.js} +204 -255
  8. package/dist/assets/components/CubeMapTexturingComponent.min.js +2 -0
  9. package/dist/assets/components/DISComponent.js +994 -0
  10. package/dist/assets/components/DISComponent.min.js +2 -0
  11. package/dist/assets/components/{EventUtilities.js → EventUtilitiesComponent.js} +121 -274
  12. package/dist/assets/components/EventUtilitiesComponent.min.js +2 -0
  13. package/dist/assets/components/{Geometry2D.js → Geometry2DComponent.js} +202 -356
  14. package/dist/assets/components/Geometry2DComponent.min.js +2 -0
  15. package/dist/assets/components/{Geospatial.js → GeospatialComponent.js} +449 -676
  16. package/dist/assets/components/GeospatialComponent.min.js +2 -0
  17. package/dist/assets/components/{HAnim.js → HAnimComponent.js} +277 -387
  18. package/dist/assets/components/HAnimComponent.min.js +2 -0
  19. package/dist/assets/components/{KeyDeviceSensor.js → KeyDeviceSensorComponent.js} +71 -114
  20. package/dist/assets/components/KeyDeviceSensorComponent.min.js +2 -0
  21. package/dist/assets/components/{Layout.js → LayoutComponent.js} +234 -339
  22. package/dist/assets/components/LayoutComponent.min.js +2 -0
  23. package/dist/assets/components/{NURBS.js → NURBSComponent.js} +349 -652
  24. package/dist/assets/components/NURBSComponent.min.js +2 -0
  25. package/dist/assets/components/{ParticleSystems.js → ParticleSystemsComponent.js} +345 -674
  26. package/dist/assets/components/ParticleSystemsComponent.min.js +2 -0
  27. package/dist/assets/components/{Picking.js → PickingComponent.js} +245 -472
  28. package/dist/assets/components/PickingComponent.min.js +2 -0
  29. package/dist/assets/components/{RigidBodyPhysics.js → RigidBodyPhysicsComponent.js} +496 -804
  30. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +2 -0
  31. package/dist/assets/components/ScriptingComponent.js +899 -0
  32. package/dist/assets/components/ScriptingComponent.min.js +2 -0
  33. package/dist/assets/components/{Text.js → TextComponent.js} +200 -250
  34. package/dist/assets/components/TextComponent.min.js +2 -0
  35. package/dist/assets/components/{TextureProjection.js → TextureProjectionComponent.js} +144 -190
  36. package/dist/assets/components/TextureProjectionComponent.min.js +2 -0
  37. package/dist/assets/components/{Texturing3D.js → Texturing3DComponent.js} +225 -387
  38. package/dist/assets/components/Texturing3DComponent.min.js +2 -0
  39. package/dist/assets/components/{VolumeRendering.js → VolumeRenderingComponent.js} +316 -603
  40. package/dist/assets/components/VolumeRenderingComponent.min.js +2 -0
  41. package/dist/assets/components/{X_ITE.js → X_ITEComponent.js} +301 -599
  42. package/dist/assets/components/X_ITEComponent.min.js +2 -0
  43. package/dist/assets/images/XR.svg +74 -0
  44. package/dist/example.html +1 -1
  45. package/dist/x_ite.css +1 -1
  46. package/dist/x_ite.d.ts +68 -11
  47. package/dist/x_ite.js +2905 -5804
  48. package/dist/x_ite.min.js +2 -1
  49. package/dist/x_ite.min.mjs +2 -1
  50. package/dist/x_ite.mjs +2905 -5804
  51. package/dist/x_ite.zip +0 -0
  52. package/package.json +8 -6
  53. package/dist/assets/components/Annotation.min.js +0 -1
  54. package/dist/assets/components/CADGeometry.min.js +0 -1
  55. package/dist/assets/components/CubeMapTexturing.min.js +0 -1
  56. package/dist/assets/components/DIS.js +0 -1104
  57. package/dist/assets/components/DIS.min.js +0 -1
  58. package/dist/assets/components/EventUtilities.min.js +0 -1
  59. package/dist/assets/components/Geometry2D.min.js +0 -1
  60. package/dist/assets/components/Geospatial.min.js +0 -1
  61. package/dist/assets/components/HAnim.min.js +0 -1
  62. package/dist/assets/components/KeyDeviceSensor.min.js +0 -1
  63. package/dist/assets/components/Layout.min.js +0 -1
  64. package/dist/assets/components/NURBS.min.js +0 -1
  65. package/dist/assets/components/ParticleSystems.min.js +0 -1
  66. package/dist/assets/components/Picking.min.js +0 -1
  67. package/dist/assets/components/RigidBodyPhysics.min.js +0 -1
  68. package/dist/assets/components/Scripting.js +0 -927
  69. package/dist/assets/components/Scripting.min.js +0 -1
  70. package/dist/assets/components/Text.min.js +0 -1
  71. package/dist/assets/components/TextureProjection.min.js +0 -1
  72. package/dist/assets/components/Texturing3D.min.js +0 -1
  73. package/dist/assets/components/VolumeRendering.min.js +0 -1
  74. package/dist/assets/components/X_ITE.min.js +0 -1
@@ -0,0 +1,2 @@
1
+ /* X_ITE v10.3.1 */
2
+ const __X_ITE_X3D__=window[Symbol.for("X_ITE.X3D-10.3.1")];(()=>{var __webpack_modules__={419:(module,__unused_webpack_exports,__webpack_require__)=>{var __dirname="/";module.exports=function(Module){var Module;Module=Module||{},Module||(Module=(void 0!==CharLS?CharLS:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=__webpack_require__(878),nodePath=__webpack_require__(13);Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),module.exports=Module,process.on("uncaughtException",(function(e){if(!(e instanceof ExitStatus))throw e})),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(!(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i<Runtime.functionPointers.length;i++)if(!Runtime.functionPointers[i])return Runtime.functionPointers[i]=e,2*(1+i);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,i){assert(i),Runtime.funcWrappers[i]||(Runtime.funcWrappers[i]={});var r=Runtime.funcWrappers[i];return r[e]||(r[e]=function(){return Runtime.dynCall(i,e,arguments)}),r[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var i=STACKTOP;return STACKTOP=(STACKTOP=STACKTOP+e|0)+15&-16,i},staticAlloc:function(e){var i=STATICTOP;return STATICTOP=(STATICTOP=STATICTOP+e|0)+15&-16,i},dynamicAlloc:function(e){var i=DYNAMICTOP;if((DYNAMICTOP=(DYNAMICTOP=DYNAMICTOP+e|0)+15&-16)>=TOTAL_MEMORY&&!enlargeMemory())return DYNAMICTOP=i,0;return i},alignMemory:function(e,i){return e=Math.ceil(e/(i||16))*(i||16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,i){e||abort("Assertion failed: "+i)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e|0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":return HEAP8[e|0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!=e&&0!==e&&writeStringToMemory(e,i=Runtime.stackAlloc(1+(e.length<<2))),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],l=0;if(t)for(var s=0;s<t.length;s++){var o=toC[r[s]];o?(0===l&&(l=Runtime.stackSave()),a[s]=o(t[s])):a[s]=t[s]}var u=f.apply(null,a);if("string"===i&&(u=Pointer_stringify(u)),0!==l){if(n&&n.async)return void EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(l)}));Runtime.stackRestore(l)}return u};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(e){var i=e.toString().match(sourceRegex).slice(1);return{arguments:i[0],body:i[1],returnValue:i[2]}}var JSsource={};for(var fun in JSfuncs)JSfuncs.hasOwnProperty(fun)&&(JSsource[fun]=parseJSFunc(JSfuncs[fun]));cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every((function(e){return"number"===e})),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map((function(e,i){return"$"+i})),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if("number"!==type){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"="+convertCode.returnValue+";"}}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}})(),Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;function allocate(e,i,r,t){var n,f;"number"==typeof e?(n=!0,f=e):(n=!1,f=e.length);var a,l="string"==typeof i?i:null;if(a=r==ALLOC_NONE?t:[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===r?ALLOC_STATIC:r](Math.max(f,l?1:i.length)),n){var s;t=a;for(assert(!(3&a)),s=a+(-4&f);t<s;t+=4)HEAP32[t>>2]=0;for(s=a+f;t<s;)HEAP8[t++|0]=0;return a}if("i8"===l)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var o,u,c,d=0;d<f;){var h=e[d];"function"==typeof h&&(h=Runtime.getFunctionIndex(h)),0!==(o=l||i[d])?("i64"==o&&(o="i32"),setValue(a+d,h,o),c!==o&&(u=Runtime.getNativeTypeSize(o),c=o),d+=u):d++}return a}function getMemory(e){return staticSealed?void 0!==_sbrk&&!_sbrk.called||!runtimeInitialized?Runtime.dynamicAlloc(e):_malloc(e):Runtime.staticAlloc(e)}function Pointer_stringify(e,i){if(0===i||!e)return"";for(var r,t=0,n=0;t|=r=HEAPU8[e+n|0],(0!=r||i)&&(n++,!i||n!=i););i||(i=n);var f="";if(t<128){for(var a,l=1024;i>0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,l))),f=f?f+a:a,e+=l,i-=l;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++|0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,l="";;){if(!(r=e[i++]))return l;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],r=248==(252&r)?(3&r)<<24|t<<18|n<<12|f<<6|a:(1&r)<<30|t<<24|n<<18|f<<12|a<<6|63&e[i++])),r<65536)l+=String.fromCharCode(r);else{var s=r-65536;l+=String.fromCharCode(55296|s>>10,56320|1023&s)}else l+=String.fromCharCode((31&r)<<6|t);else l+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a<e.length;++a){var l=e.charCodeAt(a);if(l>=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&e.charCodeAt(++a)),l<=127){if(r>=f)break;i[r++]=l}else if(l<=2047){if(r+1>=f)break;i[r++]=192|l>>6,i[r++]=128|63&l}else if(l<=65535){if(r+2>=f)break;i[r++]=224|l>>12,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=2097151){if(r+3>=f)break;i[r++]=240|l>>18,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=67108863){if(r+4>=f)break;i[r++]=248|l>>24,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else{if(r+5>=f)break;i[r++]=252|l>>30,i[r++]=128|l>>24&63,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r<e.length;++r){var t=e.charCodeAt(r);t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var t=i,n=(r-=2)<2*e.length?r/2:e.length,f=0;f<n;++f){var a=e.charCodeAt(f);HEAP16[i>>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f<e.length;++f){var a=e.charCodeAt(f);if(a>=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f);if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r<e.length;++r){var t=e.charCodeAt(r);t>=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){var i=!!Module.___cxa_demangle;if(i)try{var r=_malloc(e.length);writeStringToMemory(e.substr(1),r);var t=_malloc(4),n=Module.___cxa_demangle(r,0,0,t);if(0===getValue(t,"i32")&&n)return Pointer_stringify(n)}catch(e){}finally{r&&_free(r),t&&_free(t),n&&_free(n)}var f=3,a={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},l=[],s=!0;var o=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=function i(r,t,n){t=t||1/0;var o,u="",c=[];if("N"===e[f]){if(o=function(){f++,"K"===e[f]&&f++;for(var i=[];"E"!==e[f];)if("S"!==e[f])if("C"!==e[f]){var r=parseInt(e.substr(f)),t=r.toString().length;if(!r||!t){f--;break}var n=e.substr(f+t,r);i.push(n),l.push(n),f+=t+r}else i.push(i[i.length-1]),f+=2;else{f++;var a=e.indexOf("_",f),s=e.substring(f,a)||0;i.push(l[s]||"?"),f=a+1}return f++,i}().join("::"),0==--t)return r?[o]:o}else if(("K"===e[f]||s&&"L"===e[f])&&f++,k=parseInt(e.substr(f))){var d=k.toString().length;o=e.substr(f+d,k),f+=d+k}if(s=!1,"I"===e[f]){f++;var h=i(!0);u+=i(!0,1,!0)[0]+" "+o+"<"+h.join(", ")+">"}else u=o;e:for(;f<e.length&&t-- >0;){var b=e[f++];if(b in a)c.push(a[b]);else switch(b){case"P":c.push(i(!0,1,!0)[0]+"*");break;case"R":c.push(i(!0,1,!0)[0]+"&");break;case"L":f++;var k=e.indexOf("E",f)-f;c.push(e.substr(f,k)),f+=k+2;break;case"A":if(k=parseInt(e.substr(f)),f+=k.toString().length,"_"!==e[f])throw"?";f++,c.push(i(!0,1,!0)[0]+" ["+k+"]");break;case"E":break e;default:u+="?"+b;break e}}return n||1!==c.length||"void"!==c[0]||(c=[]),r?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){o+="?"}return o.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,(function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,byteLength;function enlargeMemory(){var e=Math.pow(2,31);if(DYNAMICTOP>=e)return!1;for(;TOTAL_MEMORY<=DYNAMICTOP;)if(TOTAL_MEMORY<e/2)TOTAL_MEMORY=alignMemoryPage(2*TOTAL_MEMORY);else{var i=TOTAL_MEMORY;if((TOTAL_MEMORY=alignMemoryPage((3*TOTAL_MEMORY+e)/4))<=i)return!1}if((TOTAL_MEMORY=Math.max(TOTAL_MEMORY,16777216))>=e)return!1;try{if(ArrayBuffer.transfer)buffer=ArrayBuffer.transfer(buffer,TOTAL_MEMORY);else{var r=HEAP8;buffer=new ArrayBuffer(TOTAL_MEMORY)}}catch(e){return!1}return!!_emscripten_replace_memory(buffer)&&(Module.buffer=buffer,Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer),ArrayBuffer.transfer||HEAP8.set(r),!0)}try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),byteLength(new ArrayBuffer(4))}catch(e){byteLength=function(e){return e.byteLength}}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216,totalMemory=65536,buffer;totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK;)totalMemory<16777216?totalMemory*=2:totalMemory+=16777216;function callRuntimeCallbacks(e){for(;e.length>0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}totalMemory=Math.max(totalMemory,16777216),totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r<e.length;r++){var t=e[r];t>255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n<t.length;){var f=t[n];HEAP8[i+n|0]=f,n+=1}}function writeArrayToMemory(e,i){for(var r=0;r<e.length;r++)HEAP8[i++|0]=e[r]}function writeAsciiToMemory(e,i,r){for(var t=0;t<e.length;++t)HEAP8[i++|0]=e.charCodeAt(t);r||(HEAP8[i|0]=0)}function unSign(e,i,r){return e>=0?e:i<=32?2*Math.abs(1<<i-1)+e:Math.pow(2,i)+e}function reSign(e,i,r){if(e<=0)return e;var t=i<=32?Math.abs(1<<i-1):Math.pow(2,i-1);return e>=t&&(i<=32||e>t)&&(e=-2*t+e),e}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,i){var r=65535&e,t=65535&i;return r*t+((e>>>16)*t+r*(i>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+59744,__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}}),allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640),allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844),allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396),allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _atexit(e,i){__ATEXIT__.unshift({func:e,arg:i})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function ___assert_fail(e,i,r,t){throw ABORT=!0,"Assertion failed: "+Pointer_stringify(e)+", at: "+[i?Pointer_stringify(i):"unknown filename",r,t?Pointer_stringify(t):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var i in EXCEPTIONS.infos){if(EXCEPTIONS.infos[i].adjusted===e)return i}return e},addRef:function(e){e&&EXCEPTIONS.infos[e].refcount++},decRef:function(e){if(e){var i=EXCEPTIONS.infos[e];assert(i.refcount>0),i.refcount--,0===i.refcount&&(i.destructor&&Runtime.dynCall("vi",i.destructor,[e]),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){e&&(EXCEPTIONS.infos[e].refcount=0)}};function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(e)),e}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(asm.setTempRet0(0),0);var i=EXCEPTIONS.infos[e],r=i.type;if(!r)return 0|(asm.setTempRet0(0),e);var t=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(r);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var n=0;n<t.length;n++)if(t[n]&&Module.___cxa_can_catch(t[n],r,e))return e=HEAP32[e>>2],i.adjusted=e,0|(asm.setTempRet0(t[n]),e);return e=HEAP32[e>>2],0|(asm.setTempRet0(r),e)}function ___cxa_throw(e,i,r){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:i,destructor:r,refcount:0},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e}Module._memset=_memset;var _BDtoILow=!0,_emscripten_resume=!0;function ___gxx_personality_v0(){}var _emscripten_landingpad=!0;function __isLeapYear(e){return e%4==0&&(e%100!=0||e%400==0)}function __arraySum(e,i){for(var r=0,t=0;t<=i;r+=e[t++]);return r}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],__MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(e,i){for(var r=new Date(e.getTime());i>0;){var t=__isLeapYear(r.getFullYear()),n=r.getMonth(),f=(t?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[n];if(!(i>f-r.getDate()))return r.setDate(r.getDate()+i),r;i-=f-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function _strftime(e,i,r,t){var n=HEAP32[t+40>>2],f={tm_sec:HEAP32[t>>2],tm_min:HEAP32[t+4>>2],tm_hour:HEAP32[t+8>>2],tm_mday:HEAP32[t+12>>2],tm_mon:HEAP32[t+16>>2],tm_year:HEAP32[t+20>>2],tm_wday:HEAP32[t+24>>2],tm_yday:HEAP32[t+28>>2],tm_isdst:HEAP32[t+32>>2],tm_gmtoff:HEAP32[t+36>>2],tm_zone:n?Pointer_stringify(n):""},a=Pointer_stringify(r),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var s in l)a=a.replace(new RegExp(s,"g"),l[s]);var o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function c(e,i,r){for(var t="number"==typeof e?e.toString():e||"";t.length<i;)t=r[0]+t;return t}function d(e,i){return c(e,i,"0")}function h(e,i){function r(e){return e<0?-1:e>0?1:0}var t;return 0===(t=r(e.getFullYear()-i.getFullYear()))&&0===(t=r(e.getMonth()-i.getMonth()))&&(t=r(e.getDate()-i.getDate())),t}function b(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function k(e){var i=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(i.getFullYear(),0,4),t=new Date(i.getFullYear()+1,0,4),n=b(r),f=b(t);return h(n,i)<=0?h(f,i)<=0?i.getFullYear()+1:i.getFullYear():i.getFullYear()-1}var w={"%a":function(e){return o[e.tm_wday].substring(0,3)},"%A":function(e){return o[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return c(e.tm_mday,2," ")},"%g":function(e){return k(e).toString().substring(2)},"%G":function(e){return k(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){return d(e.tm_hour<13?e.tm_hour:e.tm_hour-12,2)},"%j":function(e){return d(e.tm_mday+__arraySum(__isLeapYear(e.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>0&&e.tm_hour<13?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return new Date(e.tm_year+1900,e.tm_mon+1,e.tm_mday,0,0,0,0).getDay()||7},"%U":function(e){var i=new Date(e.tm_year+1900,0,1),r=0===i.getDay()?i:__addDays(i,7-i.getDay()),t=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(h(r,t)<0){var n=__arraySum(__isLeapYear(t.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,t.getMonth()-1)-31,f=31-r.getDate()+n+t.getDate();return d(Math.ceil(f/7),2)}return 0===h(r,i)?"01":"00"},"%V":function(e){var i,r=new Date(e.tm_year+1900,0,4),t=new Date(e.tm_year+1901,0,4),n=b(r),f=b(t),a=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday);return h(a,n)<0?"53":h(f,a)<=0?"01":(i=n.getFullYear()<e.tm_year+1900?e.tm_yday+32-n.getDate():e.tm_yday+1-n.getDate(),d(Math.ceil(i/7),2))},"%w":function(e){return new Date(e.tm_year+1900,e.tm_mon+1,e.tm_mday,0,0,0,0).getDay()},"%W":function(e){var i=new Date(e.tm_year,0,1),r=1===i.getDay()?i:__addDays(i,0===i.getDay()?1:7-i.getDay()+1),t=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(h(r,t)<0){var n=__arraySum(__isLeapYear(t.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,t.getMonth()-1)-31,f=31-r.getDate()+n+t.getDate();return d(Math.ceil(f/7),2)}return 0===h(r,i)?"01":"00"},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var i=e.tm_gmtoff,r=i>=0;return i=(i=Math.abs(i)/60)/60*100+i%60,(r?"+":"-")+String("0000"+i).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var s in w)a.indexOf(s)>=0&&(a=a.replace(new RegExp(s,"g"),w[s](f)));var _=intArrayFromString(a,!1);return _.length>i?0:(writeArrayToMemory(_,e),_.length-1)}function _strftime_l(e,i,r,t){return _strftime(e,i,r,t)}function _abort(){Module.abort()}function _free(){}function ___cxa_free_exception(e){try{return _free(e)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown)___cxa_end_catch.rethrown=!1;else{asm.setThrew(0);var e=EXCEPTIONS.caught.pop();e&&(EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(e)),EXCEPTIONS.last=0)}}function _pthread_once(e,i){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Runtime.dynCall("v",i),_pthread_once.seen[e]=1)}function ___lock(){}function ___unlock(){}Module._free=_free;var PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}var _fabs=Math_abs,PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(e,i){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}var PATH=void 0;function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var r=[],t="__emcc";function n(e){e.source===window&&e.data===t&&(e.stopPropagation(),r.shift()())}window.addEventListener("message",n,!0),window.setImmediate=function(e){r.push(e),window.postMessage(t,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}f<Browser.mainLoop.currentlyRunningMainloop||(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,1==Browser.mainLoop.timingMode&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():("timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter((function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)})),f<Browser.mainLoop.currentlyRunningMainloop||("object"==typeof SDL&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())))}},n||(i&&i>0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i<r?Module.setStatus(e+" ("+(r-i)+"/"+r+")"):Module.setStatus(e):Module.setStatus("")}},runIter:function(e){if(!ABORT){if(Module.preMainLoop)if(!1===Module.preMainLoop())return;try{e()}catch(e){if(e instanceof ExitStatus)return;throw e&&"object"==typeof e&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}Module.postMainLoop&&Module.postMainLoop()}}},isFullScreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(Module.preloadPlugins||(Module.preloadPlugins=[]),!Browser.initted){Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch(e){Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,Module.noImageDecoding||void 0!==Browser.URLObject||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var e={canHandle:function(e){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,i,r,t){var n=null;if(Browser.hasBlobConstructor)try{(n=new Blob([e],{type:Browser.getMimetype(i)})).size!==e.length&&(n=new Blob([new Uint8Array(e).buffer],{type:Browser.getMimetype(i)}))}catch(e){Runtime.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}if(!n){var f=new Browser.BlobBuilder;f.append(new Uint8Array(e).buffer),n=f.getBlob()}var a=Browser.URLObject.createObjectURL(n),l=new Image;l.onload=function(){assert(l.complete,"Image "+i+" could not be decoded");var t=document.createElement("canvas");t.width=l.width,t.height=l.height,t.getContext("2d").drawImage(l,0,0),Module.preloadedImages[i]=t,Browser.URLObject.revokeObjectURL(a),r&&r(e)},l.onerror=function(e){console.log("Image "+a+" could not be decoded"),t&&t()},l.src=a}};Module.preloadPlugins.push(e);var i={canHandle:function(e){return!Module.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,i,r,t){var n=!1;function f(t){n||(n=!0,Module.preloadedAudios[i]=t,r&&r(e))}function a(){n||(n=!0,Module.preloadedAudios[i]=new Audio,t&&t())}if(!Browser.hasBlobConstructor)return a();try{var l=new Blob([e],{type:Browser.getMimetype(i)})}catch(e){return a()}var s=Browser.URLObject.createObjectURL(l),o=new Audio;o.addEventListener("canplaythrough",(function(){f(o)}),!1),o.onerror=function(r){n||(console.log("warning: browser could not fully decode audio "+i+", trying slower base64 approach"),o.src="data:audio/x-"+i.substr(-3)+";base64,"+function(e){for(var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",t=0,n=0,f=0;f<e.length;f++)for(t=t<<8|e[f],n+=8;n>=6;){var a=t>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&t)<<4],r+="=="):4==n&&(r+=i[(15&t)<<2],r+="="),r}(e),f(o))},o.src=s,Browser.safeSetTimeout((function(){f(o)}),1e4)}};Module.preloadPlugins.push(i);var r=Module.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&r.addEventListener("click",(function(e){!Browser.pointerLock&&r.requestPointerLock&&(r.requestPointerLock(),e.preventDefault())}),!1))}function t(){Browser.pointerLock=document.pointerLockElement===r||document.mozPointerLockElement===r||document.webkitPointerLockElement===r||document.msPointerLockElement===r}},createContext:function(e,i,r,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,f;if(i){var a={antialias:!1,alpha:!1};if(t)for(var l in t)a[l]=t[l];(f=GL.createContext(e,a))&&(n=GL.getContext(f).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(f),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var t=Module.canvas;function n(){Browser.isFullScreen=!1;var e=t.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},t.cancelFullScreen=t.cancelFullScreen.bind(document),Browser.lockPointer&&t.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(t)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var f=document.createElement("div");t.parentNode.insertBefore(f,t),f.appendChild(t),f.requestFullScreen=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?f.requestFullScreen({vrDisplay:r}):f.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,t=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,f=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var l=a.pageX-(n+i.left),s=a.pageY-(f+i.top),o={x:l*=r/i.width,y:s*=t/i.height};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),d=e.pageY-(f+i.top);c*=r/i.width,d*=t/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=d-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=d}},xhrLoad:function(e,i,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?i(t.response):r()},t.onerror=r,t.send(null)},asyncLoad:function(e,i,r,t){Browser.xhrLoad(e,(function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),i(new Uint8Array(r)),t||removeRunDependency("al "+e)}),(function(i){if(!r)throw'Loading data file "'+e+'" failed.';r()})),t||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(i){i(e.width,e.height)}))},setCanvasSize:function(e,i,r){var t=Module.canvas;Browser.updateCanvasDimensions(t,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var t=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(t/n<Module.forcedAspectRatio?t=Math.round(n*Module.forcedAspectRatio):n=Math.round(t/Module.forcedAspectRatio)),(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var f=Math.min(screen.width/t,screen.height/n);t=Math.round(t*f),n=Math.round(n*f)}Browser.resizeCanvas?(e.width!=t&&(e.width=t),e.height!=n&&(e.height=n),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=i&&(e.width=i),e.height!=r&&(e.height=r),void 0!==e.style&&(t!=i||n!=r?(e.style.setProperty("width",t+"px","important"),e.style.setProperty("height",n+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var e=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,e}};function _pthread_setspecific(e,i){return e in PTHREAD_SPECIFIC?(PTHREAD_SPECIFIC[e]=i,0):ERRNO_CODES.EINVAL}function _malloc(e){return Runtime.dynamicAlloc(e+8)+8&4294967288}function ___cxa_allocate_exception(e){return _malloc(e)}Module._malloc=_malloc;var SYSCALLS={varargs:0,get:function(e){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___cxa_pure_virtual(){throw ABORT=!0,"Pure virtual function called!"}Module._i64Add=_i64Add,Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;function _pthread_cleanup_push(e,i){__ATEXIT__.push((function(){Runtime.dynCall("vi",e,[i])})),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(e){return HEAP8[e|0]?0:(HEAP8[e|0]=1,1)}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(e){return __ZSt18uncaught_exceptionv.uncaught_exception--,EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _llvm_eh_typeid_for(e){return e}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _pthread_mutex_lock(){}Module._memcpy=_memcpy;var _emscripten_postinvoke=!0;function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e&&!i.alloc(e))return-1>>>0;return r}function ___cxa_guard_abort(){}Module._bitshift64Shl=_bitshift64Shl,Module._memmove=_memmove;var _emscripten_preinvoke=!0,_BItoD=!0;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=!0;var e=EXCEPTIONS.caught.pop();throw EXCEPTIONS.last=e,e}function _pthread_mutex_unlock(){}function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),l=n;return assert(0===t),FS.llseek(r,l,a),HEAP32[f>>2]=r.position,r.getdents&&0===l&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{SYSCALLS.get();var r=SYSCALLS.get(),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a<t;a++){for(var l=HEAP32[r+8*a>>2],s=HEAP32[r+(8*a+4)>>2],o=0;o<s;o++){var u=HEAPU8[l+o];0===u||10===u?(Module.print(UTF8ArrayToString(f,0)),f.length=0):f.push(u)}n+=s}return n}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall145(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get();return SYSCALLS.doReadv(r,t,n)}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC);Module.requestFullScreen=function(e,i,r){Browser.requestFullScreen(e,i,r)},Module.requestAnimationFrame=function(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function(e,i,r){Browser.setCanvasSize(e,i,r)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(e,i,r,t){return Browser.createContext(e,i,r,t)},STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiiiiiii(e,i,r,t,n,f,a,l){try{return Module.dynCall_iiiiiiii(e,i,r,t,n,f,a,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiii(e,i,r,t,n,f){try{Module.dynCall_viiiii(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiid(e,i,r,t,n,f,a){try{return Module.dynCall_iiiiiid(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vi(e,i){try{Module.dynCall_vi(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vii(e,i,r){try{Module.dynCall_vii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiii(e,i,r,t,n,f,a){try{return Module.dynCall_iiiiiii(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ii(e,i){try{return Module.dynCall_ii(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiiiiii(e,i,r,t,n,f,a,l,s,o,u,c){try{return Module.dynCall_iiiiiiiiiiii(e,i,r,t,n,f,a,l,s,o,u,c)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiii(e,i,r,t){try{return Module.dynCall_iiii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(e,i,r,t,n,f,a,l,s,o,u,c,d,h,b,k){try{Module.dynCall_viiiiiiiiiiiiiii(e,i,r,t,n,f,a,l,s,o,u,c,d,h,b,k)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiii(e,i,r,t,n,f,a){try{Module.dynCall_viiiiii(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiii(e,i,r,t,n,f,a,l){try{Module.dynCall_viiiiiii(e,i,r,t,n,f,a,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiiiii(e,i,r,t,n,f,a,l,s,o,u){try{Module.dynCall_viiiiiiiiii(e,i,r,t,n,f,a,l,s,o,u)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iii(e,i,r){try{return Module.dynCall_iii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiii(e,i,r,t,n,f){try{return Module.dynCall_iiiiii(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_diii(e,i,r,t){try{return Module.dynCall_diii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_i(e){try{return Module.dynCall_i(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiii(e,i,r,t,n){try{return Module.dynCall_iiiii(e,i,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viii(e,i,r,t){try{Module.dynCall_viii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_v(e){try{Module.dynCall_v(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiii(e,i,r,t,n,f,a,l,s){try{return Module.dynCall_iiiiiiiii(e,i,r,t,n,f,a,l,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiid(e,i,r,t,n,f){try{return Module.dynCall_iiiiid(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiii(e,i,r,t,n){try{Module.dynCall_viiii(e,i,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0,byteLength},Module.asmLibraryArg={abort,assert,invoke_iiiiiiii,invoke_viiiii,invoke_iiiiiid,invoke_vi,invoke_vii,invoke_iiiiiii,invoke_ii,invoke_iiiiiiiiiiii,invoke_iiii,invoke_viiiiiiiiiiiiiii,invoke_viiiiii,invoke_viiiiiii,invoke_viiiiiiiiii,invoke_iii,invoke_iiiiii,invoke_diii,invoke_i,invoke_iiiii,invoke_viii,invoke_v,invoke_iiiiiiiii,invoke_iiiiid,invoke_viiii,_fabs,_strftime,_pthread_cond_wait,___lock,_pthread_key_create,_abort,___cxa_guard_acquire,___setErrNo,___gxx_personality_v0,___assert_fail,___cxa_free_exception,___cxa_allocate_exception,___cxa_find_matching_catch,__isLeapYear,___cxa_guard_release,__addDays,_strftime_l,_emscripten_set_main_loop_timing,_llvm_eh_typeid_for,_sbrk,___cxa_begin_catch,_emscripten_memcpy_big,___cxa_end_catch,___resumeException,__ZSt18uncaught_exceptionv,_sysconf,_pthread_getspecific,__arraySum,_pthread_self,_pthread_mutex_unlock,_pthread_once,___syscall54,___unlock,_pthread_cleanup_pop,_pthread_cond_broadcast,_emscripten_set_main_loop,_pthread_setspecific,___cxa_atexit,___cxa_throw,___cxa_rethrow,___syscall6,_pthread_cleanup_push,___cxa_pure_virtual,_time,_pthread_mutex_lock,___cxa_guard_abort,_atexit,___syscall140,___syscall145,___syscall146,STACKTOP,STACK_MAX,tempDoublePtr,ABORT,cttz_i8,___dso_handle};var asm=function(e,i,r){"use asm";var t=e.Int8Array;var n=e.Int16Array;var f=e.Int32Array;var a=e.Uint8Array;var l=e.Uint16Array;var s=e.Uint32Array;var o=e.Float32Array;var u=e.Float64Array;var c=new t(r);var d=new n(r);var h=new f(r);var b=new a(r);var k=new l(r);var w=new s(r);var _=new o(r);var m=new u(r);var p=e.byteLength;var v=i.STACKTOP|0;var g=i.STACK_MAX|0;var y=i.tempDoublePtr|0;var E=i.ABORT|0;var A=i.cttz_i8|0;var M=i.___dso_handle|0;var T=0;var S=0;var P=0;var O=0;var R=e.NaN,L=e.Infinity;var C=0,D=0,x=0,I=0,B=0.0,N=0,F=0,U=0,j=0.0;var H=0;var Y=0;var q=0;var X=0;var z=0;var V=0;var G=0;var K=0;var W=0;var J=0;var Z=e.Math.floor;var Q=e.Math.abs;var $=e.Math.sqrt;var ee=e.Math.pow;var ie=e.Math.cos;var re=e.Math.sin;var te=e.Math.tan;var ne=e.Math.acos;var fe=e.Math.asin;var ae=e.Math.atan;var le=e.Math.atan2;var se=e.Math.exp;var oe=e.Math.log;var ue=e.Math.ceil;var ce=e.Math.imul;var de=e.Math.min;var he=e.Math.clz32;var be=i.abort;var ke=i.assert;var we=i.invoke_iiiiiiii;var _e=i.invoke_viiiii;var me=i.invoke_iiiiiid;var pe=i.invoke_vi;var ve=i.invoke_vii;var ge=i.invoke_iiiiiii;var ye=i.invoke_ii;var Ee=i.invoke_iiiiiiiiiiii;var Ae=i.invoke_iiii;var Me=i.invoke_viiiiiiiiiiiiiii;var Te=i.invoke_viiiiii;var Se=i.invoke_viiiiiii;var Pe=i.invoke_viiiiiiiiii;var Oe=i.invoke_iii;var Re=i.invoke_iiiiii;var Le=i.invoke_diii;var Ce=i.invoke_i;var De=i.invoke_iiiii;var xe=i.invoke_viii;var Ie=i.invoke_v;var Be=i.invoke_iiiiiiiii;var Ne=i.invoke_iiiiid;var Fe=i.invoke_viiii;var Ue=i._fabs;var je=i._strftime;var He=i._pthread_cond_wait;var Ye=i.___lock;var qe=i._pthread_key_create;var Xe=i._abort;var ze=i.___cxa_guard_acquire;var Ve=i.___setErrNo;var Ge=i.___gxx_personality_v0;var Ke=i.___assert_fail;var We=i.___cxa_free_exception;var Je=i.___cxa_allocate_exception;var Ze=i.___cxa_find_matching_catch;var Qe=i.__isLeapYear;var $e=i.___cxa_guard_release;var ei=i.__addDays;var ii=i._strftime_l;var ri=i._emscripten_set_main_loop_timing;var ti=i._llvm_eh_typeid_for;var ni=i._sbrk;var fi=i.___cxa_begin_catch;var ai=i._emscripten_memcpy_big;var li=i.___cxa_end_catch;var si=i.___resumeException;var oi=i.__ZSt18uncaught_exceptionv;var ui=i._sysconf;var ci=i._pthread_getspecific;var di=i.__arraySum;var hi=i._pthread_self;var bi=i._pthread_mutex_unlock;var ki=i._pthread_once;var wi=i.___syscall54;var _i=i.___unlock;var mi=i._pthread_cleanup_pop;var pi=i._pthread_cond_broadcast;var vi=i._emscripten_set_main_loop;var gi=i._pthread_setspecific;var yi=i.___cxa_atexit;var Ei=i.___cxa_throw;var Ai=i.___cxa_rethrow;var Mi=i.___syscall6;var Ti=i._pthread_cleanup_push;var Si=i.___cxa_pure_virtual;var Pi=i._time;var Oi=i._pthread_mutex_lock;var Ri=i.___cxa_guard_abort;var Li=i._atexit;var Ci=i.___syscall140;var Di=i.___syscall145;var xi=i.___syscall146;var Ii=0.0;function Bi(e){if(p(e)&16777215||p(e)<=16777215||p(e)>2147483648)return false;c=new t(e);d=new n(e);h=new f(e);b=new a(e);k=new l(e);w=new s(e);_=new o(e);m=new u(e);r=e;return true}function Ni(e){e=e|0;var i=0;i=v;v=v+e|0;v=v+15&-16;return i|0}function Fi(){return v|0}function Ui(e){e=e|0;v=e}function ji(e,i){e=e|0;i=i|0;v=e;g=i}function Hi(e,i){e=e|0;i=i|0;if(!T){T=e;S=i}}function Yi(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0]}function qi(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0];c[y+4>>0]=c[e+4>>0];c[y+5>>0]=c[e+5>>0];c[y+6>>0]=c[e+6>>0];c[y+7>>0]=c[e+7>>0]}function Xi(e){e=e|0;H=e}function zi(){return H|0}function Vi(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;g=v;v=v+128|0;d=g+44|0;w=g+8|0;s=g+4|0;u=g;b=r+4|0;k=r+8|0;T=0;Fe(35,h[r>>2]|0,h[b>>2]|0,h[k>>2]|0,t|0);o=T;T=0;if(!(o&1)){a=d;f=a+84|0;do{h[a>>2]=h[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(f|0));t=d+12|0;if((h[t>>2]|0)==0?(l=ce(((h[d+8>>2]|0)+7|0)/8|0,h[d>>2]|0)|0,h[t>>2]=l,(h[d+24>>2]|0)!=0):0){o=ce(h[d+16>>2]|0,l)|0;h[t>>2]=o}T=0;pe(176,w|0);o=T;T=0;if(!(o&1)){t=d+56|0;do{if(h[t>>2]|0){T=0;t=ye(66,t|0)|0;o=T;T=0;if(!(o&1)){h[s>>2]=t;f=w+28|0;a=h[f>>2]|0;if(a>>>0<(h[w+32>>2]|0)>>>0){h[a>>2]=t;h[f>>2]=a+4;h[s>>2]=0;_=19;break}T=0;ve(57,w+24|0,s|0);o=T;T=0;if(o&1){f=Ze(824,0)|0;t=H;a=h[s>>2]|0;h[s>>2]=0;if(!a)break;kE[h[(h[a>>2]|0)+4>>2]&255](a);break}else{t=h[s>>2]|0;h[s>>2]=0;if(!t){_=19;break}kE[h[(h[t>>2]|0)+4>>2]&255](t);_=19;break}}else _=15}else _=19}while(0);e:do{if((_|0)==19){a=d+4|0;l=d+8|0;s=d+16|0;T=0;t=De(14,h[d>>2]|0,h[a>>2]|0,h[l>>2]|0,h[s>>2]|0)|0;o=T;T=0;if(!(o&1)){h[u>>2]=t;o=w+28|0;f=h[o>>2]|0;do{if(f>>>0>=(h[w+32>>2]|0)>>>0){T=0;ve(57,w+24|0,u|0);f=T;T=0;if(f&1){f=Ze(824,0)|0;t=H;a=h[u>>2]|0;h[u>>2]=0;if(!a)break e;kE[h[(h[a>>2]|0)+4>>2]&255](a);break e}else{t=h[u>>2]|0;h[u>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}}else{h[f>>2]=t;h[o>>2]=f+4;h[u>>2]=0}}while(0);t=h[d+28>>2]|0;if((t|0)!=0?(T=0,ve(58,w|0,t|0),_=T,T=0,_&1):0){_=15;break}i:do{if(!(h[d+24>>2]|0)){t=ce(h[a>>2]|0,h[d>>2]|0)|0;t=ce(t,((h[l>>2]|0)+7|0)/8|0)|0;if((h[s>>2]|0)>0){a=0;while(1){T=0;xe(4,w|0,r|0,d|0);_=T;T=0;if(_&1)break;f=h[b>>2]|0;if(f){h[b>>2]=f+t;h[k>>2]=(h[k>>2]|0)-t}a=a+1|0;if((a|0)>=(h[s>>2]|0))break i}f=Ze(824,0)|0;t=H;_=16;break e}}else{T=0;xe(4,w|0,r|0,d|0);_=T;T=0;if(_&1){_=15;break e}}}while(0);T=0;Oe(33,w|0,e|0)|0;_=T;T=0;if(!(_&1)){h[i>>2]=h[w+16>>2];if(n)c[n>>0]=0;a=w+24|0;t=h[a>>2]|0;if(t){f=h[o>>2]|0;if((f|0)!=(t|0)){do{n=f+-4|0;h[o>>2]=n;f=h[n>>2]|0;h[n>>2]=0;if(f)kE[h[(h[f>>2]|0)+4>>2]&255](f);f=h[o>>2]|0}while((f|0)!=(t|0));t=h[a>>2]|0}zv(t)}n=0;v=g;return n|0}else _=15}else _=15}}while(0);if((_|0)==15){f=Ze(824,0)|0;t=H;_=16}o=w+24|0;a=h[o>>2]|0;if(a){s=w+28|0;l=h[s>>2]|0;if((l|0)!=(a|0)){do{w=l+-4|0;h[s>>2]=w;l=h[w>>2]|0;h[w>>2]=0;if(l)kE[h[(h[l>>2]|0)+4>>2]&255](l);l=h[s>>2]|0}while((l|0)!=(a|0));a=h[o>>2]|0}zv(a)}}else _=5}else _=5;if((_|0)==5){f=Ze(824,0)|0;t=H}w=(t|0)==(ti(824)|0);l=fi(f|0)|0;t=(n|0)==0;if(!w){if(!t)c[n>>0]=0;li();n=14;v=g;return n|0}a=l+12|0;do{if(!t){t=h[a>>2]|0;T=0;f=Ce(1)|0;w=T;T=0;if(!(w&1))if((t|0)==(f|0)){iE(n,mE[h[(h[l>>2]|0)+8>>2]&127](l)|0)|0;_=60;break}else{c[n>>0]=0;_=60;break}}else _=60}while(0);if((_|0)==60?(m=h[a>>2]|0,T=0,p=Ce(1)|0,n=T,T=0,!(n&1)):0){n=(m|0)==(p|0)?h[l+8>>2]|0:13;li();v=g;return n|0}t=Ze()|0;T=0;Ie(3);g=T;T=0;if(g&1){g=Ze(0)|0;Ki(g)}else si(t|0);return 0}function Gi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;o=v;v=v+112|0;f=o+96|0;s=o+84|0;u=o+72|0;c=o+60|0;d=o+48|0;b=o+36|0;k=o+24|0;w=o+12|0;_=o;l=(i|0)==0;if((e|0)==0&l){n=Je(16)|0;T=0;xe(5,f|0,48504,52);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,f|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(f);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}a=h[t>>2]|0;if((a+-1|0)>>>0>65534){n=Je(16)|0;T=0;xe(5,s|0,48557,41);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,s|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(s);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}f=h[t+4>>2]|0;if((f+-1|0)>>>0>65534){n=Je(16)|0;T=0;xe(5,u|0,48599,42);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,u|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(u);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}n=h[t+8>>2]|0;if((n+-2|0)>>>0>14){n=Je(16)|0;T=0;xe(5,c|0,48642,46);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,c|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(c);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}e=h[t+24>>2]|0;if(e>>>0>=3){n=Je(16)|0;T=0;xe(5,d|0,48689,65);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,d|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(d);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}i=h[t+16>>2]|0;if((i+-1|0)>>>0>254){n=Je(16)|0;T=0;xe(5,b|0,48755,44);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,b|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(b);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}if(!l?(b=ce(f,a)|0,(ce(ce(b,(n|0)>8?2:1)|0,i)|0)>>>0>r>>>0):0){n=Je(16)|0;T=0;xe(5,k|0,48800,58);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,k|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(k);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}switch(i|0){case 4:{if((e|0)!=2){v=o;return}n=Je(16)|0;T=0;xe(5,w|0,48859,73);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,w|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(w);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}case 3:{v=o;return}default:{if(!e){v=o;return}n=Je(16)|0;T=0;xe(5,_|0,48933,73);w=T;T=0;if(!(w&1)){T=0;i=Ce(1)|0;w=T;T=0;if(!(w&1)?(T=0,Fe(36,n|0,1,i|0,_|0),w=T,T=0,!(w&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(_);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}}}function Ki(e){e=e|0;fi(e|0)|0;Qv()}function Wi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+128|0;f=u+116|0;a=u;T=0;h[f>>2]=h[i>>2];h[f+4>>2]=h[i+4>>2];h[f+8>>2]=h[i+8>>2];ve(59,a|0,f|0);n=T;T=0;if(!(n&1)){if(r){n=a+16|0;i=n+84|0;do{h[n>>2]=h[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(i|0))}T=0;h[f>>2]=h[e>>2];h[f+4>>2]=h[e+4>>2];h[f+8>>2]=h[e+8>>2];ve(60,a|0,f|0);a=T;T=0;if(!(a&1)){if(t)c[t>>0]=0;o=0;v=u;return o|0}}e=Ze(824,0)|0;a=H;a=(a|0)==(ti(824)|0);e=fi(e|0)|0;i=(t|0)==0;if(!a){if(!i)c[t>>0]=0;li();o=14;v=u;return o|0}n=e+12|0;do{if(!i){i=h[n>>2]|0;T=0;r=Ce(1)|0;a=T;T=0;if(!(a&1))if((i|0)==(r|0)){iE(t,mE[h[(h[e>>2]|0)+8>>2]&127](e)|0)|0;o=10;break}else{c[t>>0]=0;o=10;break}}else o=10}while(0);if((o|0)==10?(l=h[n>>2]|0,T=0,s=Ce(1)|0,o=T,T=0,!(o&1)):0){o=(l|0)==(s|0)?h[e+8>>2]|0:13;li();v=u;return o|0}i=Ze()|0;T=0;Ie(3);u=T;T=0;if(u&1){u=Ze(0)|0;Ki(u)}else si(i|0);return 0}function Ji(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+128|0;n=s+116|0;t=s;T=0;h[n>>2]=h[e>>2];h[n+4>>2]=h[e+4>>2];h[n+8>>2]=h[e+8>>2];ve(59,t|0,n|0);n=T;T=0;if((!(n&1)?(T=0,pe(177,t|0),n=T,T=0,!(n&1)):0)?(T=0,ve(61,t|0,1),n=T,T=0,!(n&1)):0){e=t+16|0;t=i+84|0;do{h[i>>2]=h[e>>2];i=i+4|0;e=e+4|0}while((i|0)<(t|0));if(r)c[r>>0]=0;r=0;v=s;return r|0}n=Ze(824,0)|0;i=H;i=(i|0)==(ti(824)|0);n=fi(n|0)|0;e=(r|0)==0;if(!i){if(!e)c[r>>0]=0;li();r=14;v=s;return r|0}i=n+12|0;do{if(!e){e=h[i>>2]|0;T=0;t=Ce(1)|0;o=T;T=0;if(!(o&1))if((e|0)==(t|0)){iE(r,mE[h[(h[n>>2]|0)+8>>2]&127](n)|0)|0;l=13;break}else{c[r>>0]=0;l=13;break}}else l=13}while(0);if((l|0)==13?(f=h[i>>2]|0,T=0,a=Ce(1)|0,o=T,T=0,!(o&1)):0){o=(f|0)==(a|0)?h[n+8>>2]|0:13;li();v=s;return o|0}e=Ze()|0;T=0;Ie(3);o=T;T=0;if(o&1){o=Ze(0)|0;Ki(o)}else si(e|0);return 0}function Zi(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,c=0;c=v;v=v+48|0;s=c+36|0;l=c+24|0;o=c+12|0;u=c;if(!((e|0)!=0&(r|0)!=0&(t|0)!=0&(f|0)!=0)){n=1;v=c;return n|0}h[o>>2]=0;h[o+4>>2]=e;h[o+8>>2]=i;h[u>>2]=0;h[u+4>>2]=t;h[u+8>>2]=n;h[l>>2]=h[o>>2];h[l+4>>2]=h[o+4>>2];h[l+8>>2]=h[o+8>>2];h[s>>2]=h[u>>2];h[s+4>>2]=h[u+4>>2];h[s+8>>2]=h[u+8>>2];n=Vi(l,r,s,f,a)|0;v=c;return n|0}function Qi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;n=v;v=v+32|0;f=n+12|0;a=n;l=a;h[l>>2]=0;h[l+4>>2]=0;h[a+4>>2]=e;h[a+8>>2]=i;h[f>>2]=h[a>>2];h[f+4>>2]=h[a+4>>2];h[f+8>>2]=h[a+8>>2];r=Ji(f,r,t)|0;v=n;return r|0}function $i(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+48|0;l=a+36|0;s=a+24|0;u=a+12|0;o=a;h[u>>2]=0;h[u+4>>2]=e;h[u+8>>2]=i;h[o>>2]=0;h[o+4>>2]=r;h[o+8>>2]=t;h[s>>2]=h[u>>2];h[s+4>>2]=h[u+4>>2];h[s+8>>2]=h[u+8>>2];h[l>>2]=h[o>>2];h[l+4>>2]=h[o+4>>2];h[l+8>>2]=h[o+8>>2];t=Wi(s,l,n,f)|0;v=a;return t|0}function er(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=e+4|0;r=h[e>>2]|0;n=((h[o>>2]|0)-r>>2)+1|0;if(n>>>0>1073741823){Yv(e);r=h[e>>2]|0}u=e+8|0;t=(h[u>>2]|0)-r|0;if(t>>2>>>0<536870911){t=t>>1;t=t>>>0<n>>>0?n:t;r=(h[o>>2]|0)-r>>2;if(!t){f=0;a=0}else l=6}else{t=1073741823;r=(h[o>>2]|0)-r>>2;l=6}if((l|0)==6){f=t;a=Xv(t<<2)|0}n=a+(r<<2)|0;t=n;s=a+(f<<2)|0;l=h[i>>2]|0;h[i>>2]=0;h[n>>2]=l;l=a+(r+1<<2)|0;a=h[e>>2]|0;r=h[o>>2]|0;if((r|0)==(a|0)){n=e;f=o}else{do{r=r+-4|0;i=h[r>>2]|0;h[r>>2]=0;h[n+-4>>2]=i;n=t+-4|0;t=n}while((r|0)!=(a|0));r=t;n=e;f=o;t=r;a=h[e>>2]|0;r=h[o>>2]|0}h[n>>2]=t;h[f>>2]=l;h[u>>2]=s;n=a;if((r|0)!=(n|0))do{r=r+-4|0;t=h[r>>2]|0;h[r>>2]=0;if(t)kE[h[(h[t>>2]|0)+4>>2]&255](t)}while((r|0)!=(n|0));if(!a)return;zv(a);return}function ir(){if(c[8]|0)return 35648;if(!(ze(8)|0))return 35648;yi(72,35648,M|0)|0;$e(8);return 35648}function rr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+32|0;s=u;pv(s,(1<<i)+-1|0,0);f=h[s>>2]|0;o=f+1|0;r=o<<1;h[e>>2]=0;a=e+4|0;h[a>>2]=0;h[e+8>>2]=0;e:do{if(o){if(!((f|0)<-1?(T=0,pe(178,e|0),l=T,T=0,l&1):0))t=4;if((t|0)==4?(T=0,n=ye(67,r|0)|0,l=T,T=0,!(l&1)):0){h[a>>2]=n;h[e>>2]=n;h[e+8>>2]=n+r;i=n;while(1){c[i>>0]=0;i=(h[a>>2]|0)+1|0;h[a>>2]=i;r=r+-1|0;if(!r)break e}}r=Ze()|0;i=h[e>>2]|0;if(!i)si(r|0);if((h[a>>2]|0)!=(i|0))h[a>>2]=i;zv(i);si(r|0)}}while(0);i=~f;if((f|0)<(i|0)){v=u;return}a=s+12|0;l=s+8|0;f=s+4|0;n=i;do{i=h[a>>2]|0;if((n|0)>(0-i|0)){r=h[l>>2]|0;if((n|0)>(0-r|0)){t=h[f>>2]|0;if((n|0)>(0-t|0))if((n|0)>=0)if((n|0)>0)if((t|0)<=(n|0))if((r|0)>(n|0))i=2;else i=(i|0)>(n|0)?3:4;else i=1;else i=0;else i=-1;else i=-2}else i=-3}else i=-4;c[(h[e>>2]|0)+(n+o)>>0]=i;n=n+1|0}while((n|0)<(o|0));v=u;return}function tr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;k=h[r+16>>2]|0;switch(k|0){case 64:case 0:{T=0;e=Oe(34,e|0,i|0)|0;i=T;T=0;if(i&1)w=16;else t=e;break}default:{n=(1<<h[i+8>>2])+-1|0;b=h[i+20>>2]|0;u=b<<1;u=((u+n|0)/(u|1|0)|0)+1|0;e=0;while(1)if((1<<e|0)<(u|0))e=e+1|0;else break;t=0;while(1)if((1<<t|0)<(n|0))t=t+1|0;else{a=t;break}n=h[r>>2]|0;T=0;t=ye(67,4624)|0;o=T;T=0;if(o&1)w=16;else{f=((a|0)<8?8:a)+a<<1;l=t+4|0;s=i;o=l+84|0;do{h[l>>2]=h[s>>2];l=l+4|0;s=s+4|0}while((l|0)<(o|0));l=t+88|0;o=l+40|0;do{h[l>>2]=0;l=l+4|0}while((l|0)<(o|0));h[t>>2]=35660;h[t+128>>2]=n;h[t+132>>2]=u;h[t+136>>2]=b;h[t+140>>2]=e;h[t+144>>2]=a;h[t+148>>2]=f;h[t+152>>2]=k;e=t+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+172>>2]=h[i>>2];h[t+176>>2]=0;h[t+180>>2]=0;h[t+184>>2]=0;e=t+4568|0;n=t+188|0;do{h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;d[n+10>>1]=1;n=n+12|0}while((n|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1}}}if((w|0)==16){w=Ze()|0;si(w|0)}if(!t)return t|0;T=0;ve(h[(h[t>>2]|0)+12>>2]|0,t|0,r|0);w=T;T=0;if(!(w&1))return t|0;e=Ze()|0;if(!t){w=e;si(w|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);w=e;si(w|0);return 0}function nr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;r=(h[i+24>>2]|0)==2;if(r?(h[i+16>>2]|0)!=3:0){i=0;return i|0}u=h[i+20>>2]|0;e=h[i+8>>2]|0;e:do{if(!u){if(r){if((e|0)!=8)break;t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35688;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}switch(e|0){case 8:{t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35716;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}case 12:{t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35744;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}case 16:{t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35772;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}default:break e}}}while(0);o=(1<<e)+-1|0;if((e|0)<9){f=u<<1;f=((f+o|0)/(f|1|0)|0)+1|0;if(r){e=0;while(1)if((1<<e|0)<(f|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(o|0))r=r+1|0;else break;t=((r|0)<8?8:r)+r<<1;n=Xv(4624)|0;a=n+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35800;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<<e|0)<(f|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(o|0))r=r+1|0;else break;t=((r|0)<8?8:r)+r<<1;n=Xv(4624)|0;a=n+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35660;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}}if((e|0)>=17){i=0;return i|0}f=u<<1;f=((f+o|0)/(f|1|0)|0)+1|0;if(r){e=0;while(1)if((1<<e|0)<(f|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(o|0))r=r+1|0;else break;t=((r|0)<8?8:r)+r<<1;n=Xv(4624)|0;a=n+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35828;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<<e|0)<(f|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(o|0))r=r+1|0;else break;t=((r|0)<8?8:r)+r<<1;n=Xv(4624)|0;a=n+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35856;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}return 0}function fr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;k=h[r+16>>2]|0;switch(k|0){case 64:case 0:{T=0;e=Oe(35,e|0,i|0)|0;i=T;T=0;if(i&1)w=16;else t=e;break}default:{n=(1<<h[i+8>>2])+-1|0;b=h[i+20>>2]|0;u=b<<1;u=((u+n|0)/(u|1|0)|0)+1|0;e=0;while(1)if((1<<e|0)<(u|0))e=e+1|0;else break;t=0;while(1)if((1<<t|0)<(n|0))t=t+1|0;else{a=t;break}n=h[r>>2]|0;T=0;t=ye(67,4632)|0;o=T;T=0;if(o&1)w=16;else{f=((a|0)<8?8:a)+a<<1;h[t+4>>2]=0;l=t+8|0;s=i;o=l+84|0;do{h[l>>2]=h[s>>2];l=l+4|0;s=s+4|0}while((l|0)<(o|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;o=t+116|0;h[o>>2]=0;h[o+4>>2]=0;h[o+8>>2]=0;h[o+12>>2]=0;h[o+16>>2]=0;h[t>>2]=35884;h[t+136>>2]=n;h[t+140>>2]=u;h[t+144>>2]=b;h[t+148>>2]=e;h[t+152>>2]=a;h[t+156>>2]=f;h[t+160>>2]=k;e=t+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+180>>2]=h[i>>2];h[t+184>>2]=0;h[t+188>>2]=0;h[t+192>>2]=0;e=t+4576|0;n=t+196|0;do{h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;d[n+10>>1]=1;n=n+12|0}while((n|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1}}}if((w|0)==16){w=Ze()|0;si(w|0)}if(!t)return t|0;T=0;ve(h[(h[t>>2]|0)+8>>2]|0,t|0,r|0);w=T;T=0;if(!(w&1))return t|0;e=Ze()|0;if(!t){w=e;si(w|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);w=e;si(w|0);return 0}function ar(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;r=(h[i+24>>2]|0)==2;if(r?(h[i+16>>2]|0)!=3:0){i=0;return i|0}u=h[i+20>>2]|0;e=h[i+8>>2]|0;e:do{if(!u){if(r){if((e|0)!=8)break;t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35912;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}switch(e|0){case 8:{t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35940;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}case 12:{t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35968;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}case 16:{t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35996;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}default:break e}}}while(0);o=(1<<e)+-1|0;if((e|0)<9){f=u<<1;f=((f+o|0)/(f|1|0)|0)+1|0;if(r){e=0;while(1)if((1<<e|0)<(f|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(o|0))r=r+1|0;else break;t=((r|0)<8?8:r)+r<<1;n=Xv(4632)|0;h[n+4>>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=36024;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<<e|0)<(f|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(o|0))r=r+1|0;else break;t=((r|0)<8?8:r)+r<<1;n=Xv(4632)|0;h[n+4>>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=35884;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}}if((e|0)>=17){i=0;return i|0}f=u<<1;f=((f+o|0)/(f|1|0)|0)+1|0;if(r){e=0;while(1)if((1<<e|0)<(f|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(o|0))r=r+1|0;else break;t=((r|0)<8?8:r)+r<<1;n=Xv(4632)|0;h[n+4>>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=36052;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<<e|0)<(f|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(o|0))r=r+1|0;else break;t=((r|0)<8?8:r)+r<<1;n=Xv(4632)|0;h[n+4>>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=36080;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}return 0}function lr(){var e=0,i=0,r=0,t=0,n=0,f=0,a=0;e=2832;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=4880);Cm(2832,0,2048)|0;e=0;do{a=2832+(e+128<<3)|0;h[a>>2]=0;h[a+4>>2]=1;e=e+1|0}while((e|0)!=128);e=3088;h[e>>2]=1;h[e+4>>2]=3;e=3096;h[e>>2]=1;h[e+4>>2]=3;e=3104;h[e>>2]=1;h[e+4>>2]=3;e=3112;h[e>>2]=1;h[e+4>>2]=3;e=3120;h[e>>2]=1;h[e+4>>2]=3;e=3128;h[e>>2]=1;h[e+4>>2]=3;e=3136;h[e>>2]=1;h[e+4>>2]=3;e=3144;h[e>>2]=1;h[e+4>>2]=3;e=3152;h[e>>2]=1;h[e+4>>2]=3;e=3160;h[e>>2]=1;h[e+4>>2]=3;e=3168;h[e>>2]=1;h[e+4>>2]=3;e=3176;h[e>>2]=1;h[e+4>>2]=3;e=3184;h[e>>2]=1;h[e+4>>2]=3;e=3192;h[e>>2]=1;h[e+4>>2]=3;e=3200;h[e>>2]=1;h[e+4>>2]=3;e=3208;h[e>>2]=1;h[e+4>>2]=3;e=3216;h[e>>2]=1;h[e+4>>2]=3;e=3224;h[e>>2]=1;h[e+4>>2]=3;e=3232;h[e>>2]=1;h[e+4>>2]=3;e=3240;h[e>>2]=1;h[e+4>>2]=3;e=3248;h[e>>2]=1;h[e+4>>2]=3;e=3256;h[e>>2]=1;h[e+4>>2]=3;e=3264;h[e>>2]=1;h[e+4>>2]=3;e=3272;h[e>>2]=1;h[e+4>>2]=3;e=3280;h[e>>2]=1;h[e+4>>2]=3;e=3288;h[e>>2]=1;h[e+4>>2]=3;e=3296;h[e>>2]=1;h[e+4>>2]=3;e=3304;h[e>>2]=1;h[e+4>>2]=3;e=3312;h[e>>2]=1;h[e+4>>2]=3;e=3320;h[e>>2]=1;h[e+4>>2]=3;e=3328;h[e>>2]=1;h[e+4>>2]=3;e=3336;h[e>>2]=1;h[e+4>>2]=3;e=2896;h[e>>2]=2;h[e+4>>2]=5;e=2904;h[e>>2]=2;h[e+4>>2]=5;e=2912;h[e>>2]=2;h[e+4>>2]=5;e=2920;h[e>>2]=2;h[e+4>>2]=5;e=2928;h[e>>2]=2;h[e+4>>2]=5;e=2936;h[e>>2]=2;h[e+4>>2]=5;e=2944;h[e>>2]=2;h[e+4>>2]=5;e=2952;h[e>>2]=2;h[e+4>>2]=5;e=2848;h[e>>2]=3;h[e+4>>2]=7;e=2856;h[e>>2]=3;h[e+4>>2]=7;e=0;do{a=2832+(e+64<<3)|0;h[a>>2]=-1;h[a+4>>2]=2;e=e+1|0}while((e|0)!=64);e=2960;h[e>>2]=-2;h[e+4>>2]=4;e=2968;h[e>>2]=-2;h[e+4>>2]=4;e=2976;h[e>>2]=-2;h[e+4>>2]=4;e=2984;h[e>>2]=-2;h[e+4>>2]=4;e=2992;h[e>>2]=-2;h[e+4>>2]=4;e=3e3;h[e>>2]=-2;h[e+4>>2]=4;e=3008;h[e>>2]=-2;h[e+4>>2]=4;e=3016;h[e>>2]=-2;h[e+4>>2]=4;e=3024;h[e>>2]=-2;h[e+4>>2]=4;e=3032;h[e>>2]=-2;h[e+4>>2]=4;e=3040;h[e>>2]=-2;h[e+4>>2]=4;e=3048;h[e>>2]=-2;h[e+4>>2]=4;e=3056;h[e>>2]=-2;h[e+4>>2]=4;e=3064;h[e>>2]=-2;h[e+4>>2]=4;e=3072;h[e>>2]=-2;h[e+4>>2]=4;e=3080;h[e>>2]=-2;h[e+4>>2]=4;e=2864;h[e>>2]=-3;h[e+4>>2]=6;e=2872;h[e>>2]=-3;h[e+4>>2]=6;e=2880;h[e>>2]=-3;h[e+4>>2]=6;e=2888;h[e>>2]=-3;h[e+4>>2]=6;e=2840;h[e>>2]=-4;h[e+4>>2]=8;e=4880;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=6928);Cm(4880,0,2048)|0;r=2;e=0;n=0;f=0;while(1){r=r<<16>>16;i=8-r|0;t=1<<i;if((i|0)!=31){e=(e&1|2)<<i;i=0;do{a=4880+(i+e<<3)|0;h[a>>2]=n;h[a+4>>2]=r;i=i+1|0}while((i|0)<(t|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==7){i=2;n=1;f=-1;a=-1;break}else{r=(e>>1)+2|0;n=i>>16}}while(1){r=i<<16>>16;e=8-r|0;t=1<<e;if((e|0)!=31){e=(n&1|2)<<e;i=0;do{n=4880+(i+e<<3)|0;h[n>>2]=f;h[n+4>>2]=r;i=i+1|0}while((i|0)<(t|0))}e=(a<<16)+-65536|0;n=e>>31^e>>15;i=(n>>1)+2|0;if((i|0)>8){e=6928;break}else{f=e>>16;a=a+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=8976);Cm(6928,0,2048)|0;n=3;e=0;t=0;f=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&3|4)<<i;i=0;do{a=6928+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==12){n=3;i=1;t=-1;f=-1;break}else{n=(e>>2)+3|0;t=i>>16}}while(1){e=8-n|0;r=1<<e;if((e|0)!=31){e=(i&3|4)<<e;i=0;do{a=6928+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>2)+3|0;if((n|0)>8){e=8976;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=11024);Cm(8976,0,2048)|0;n=4;e=0;t=0;f=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&7|8)<<i;i=0;do{a=8976+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==20){n=4;i=1;t=-1;f=-1;break}else{n=(e>>3)+4|0;t=i>>16}}while(1){e=8-n|0;r=1<<e;if((e|0)!=31){e=(i&7|8)<<e;i=0;do{a=8976+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>3)+4|0;if((n|0)>8){e=11024;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=13072);Cm(11024,0,2048)|0;n=5;e=0;t=0;f=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&15|16)<<i;i=0;do{a=11024+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==32){n=5;i=1;t=-1;f=-1;break}else{n=(e>>4)+5|0;t=i>>16}}while(1){e=8-n|0;r=1<<e;if((e|0)!=31){e=(i&15|16)<<e;i=0;do{a=11024+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>4)+5|0;if((n|0)>8){e=13072;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=15120);Cm(13072,0,2048)|0;n=6;e=0;t=0;f=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&31|32)<<i;i=0;do{a=13072+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==48){n=6;i=1;t=-1;f=-1;break}else{n=(e>>5)+6|0;t=i>>16}}while(1){e=8-n|0;r=1<<e;if((e|0)!=31){e=(i&31|32)<<e;i=0;do{a=13072+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>5)+6|0;if((n|0)>8){e=15120;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=17168);Cm(15120,0,2048)|0;n=7;e=0;t=0;f=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&63|64)<<i;i=0;do{a=15120+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==64){n=7;i=1;t=-1;f=-1;break}else{n=(e>>6)+7|0;t=i>>16}}while(1){e=8-n|0;r=1<<e;if((e|0)!=31){e=(i&63|64)<<e;i=0;do{a=15120+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>6)+7|0;if((n|0)>8){e=17168;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=19216);Cm(17168,0,2048)|0;n=8;e=0;t=0;f=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&127|128)<<i;i=0;do{a=17168+(i+e<<3)|0;h[a>>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==64){f=8;t=1;n=-1;a=-1;break}else{n=(e>>7)+8|0;t=i>>16}}while(1){e=8-f|0;r=1<<e;if((e|0)!=31){e=(t&127|128)<<e;i=0;do{t=17168+(i+e<<3)|0;h[t>>2]=n;h[t+4>>2]=f;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+-65536|0;t=i>>31^i>>15;e=t>>7;if((e|0)>0){e=19216;break}else{f=e+8|0;n=i>>16;a=a+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=21264);Cm(19216,0,2048)|0;e=21264;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=23312);Cm(21264,0,2048)|0;e=23312;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=25360);Cm(23312,0,2048)|0;e=25360;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=27408);Cm(25360,0,2048)|0;e=27408;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=29456);Cm(27408,0,2048)|0;e=29456;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=31504);Cm(29456,0,2048)|0;e=31504;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=33552);Cm(31504,0,2048)|0;e=33552;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=35600);Cm(33552,0,2048)|0;rr(35600,8);yi(179,35600,M|0)|0;rr(35612,10);yi(179,35612,M|0)|0;rr(35624,12);yi(179,35624,M|0)|0;rr(35636,16);yi(179,35636,M|0)|0;return}function sr(e){e=e|0;var i=0;i=h[e>>2]|0;if(!i)return;e=e+4|0;if((h[e>>2]|0)!=(i|0))h[e>>2]=i;zv(i);return}function or(e){e=e|0;var i=0,r=0;h[e>>2]=36080;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function ur(e){e=e|0;var i=0,r=0;h[e>>2]=36080;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function cr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;Zt(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function dr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35856;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];jt(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;jt(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function hr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function br(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36460;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function kr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36436;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function wr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36412;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function _r(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36388;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function mr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;a=e+32|0;Xd(a,i)|0;f=e+44|0;h[f>>2]=0;l=e+48|0;n=h[l>>2]|0;if(n&8){i=c[a>>0]|0;if(!(i&1)){i=((i&255)>>>1)+(a+1)|0;h[f>>2]=i;r=a+1|0;t=a+1|0}else{i=(h[e+40>>2]|0)+(h[e+36>>2]|0)|0;h[f>>2]=i;t=h[e+40>>2]|0;r=t}h[e+8>>2]=r;h[e+12>>2]=t;h[e+16>>2]=i}if(!(n&16))return;i=c[a>>0]|0;if(!(i&1)){n=(i&255)>>>1;h[f>>2]=a+1+n;i=10;f=n}else{n=h[e+36>>2]|0;h[f>>2]=(h[e+40>>2]|0)+n;i=(h[a>>2]&-2)+-1|0;f=n}Gd(a,i,0);i=c[a>>0]|0;if(!(i&1)){n=a+1|0;t=(i&255)>>>1;r=a+1|0}else{r=h[e+40>>2]|0;n=r;t=h[e+36>>2]|0}i=e+24|0;h[i>>2]=r;h[e+20>>2]=r;h[e+28>>2]=n+t;if(!(h[l>>2]&3))return;h[i>>2]=r+f;return}function pr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+32|0;a=b+16|0;d=b+8|0;l=b;T=0;ve(65,d|0,e|0);o=T;T=0;e:do{if(o&1){r=Ze(0)|0;t=e;n=e}else{do{if(c[d>>0]|0){t=h[(h[e>>2]|0)+-12>>2]|0;h[l>>2]=h[e+(t+24)>>2];s=e+t|0;o=h[e+(t+4)>>2]|0;n=i+r|0;t=e+(t+76)|0;r=h[t>>2]|0;do{if((r|0)==-1){T=0;r=ye(68,s|0)|0;k=T;T=0;if(k&1)u=13;else{h[a>>2]=r;T=0;r=Oe(37,a|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,f=Oe(h[(h[r>>2]|0)+28>>2]|0,r|0,32)|0,k=T,T=0,!(k&1)):0){Xu(a);r=f<<24>>24;h[t>>2]=r;u=9;break}r=Ze(0)|0;Xu(a)}}else u=9}while(0);if((u|0)==9){T=0;h[a>>2]=h[l>>2];r=ge(39,a|0,i|0,((o&176|0)==32?n:i)|0,n|0,s|0,r&255|0)|0;k=T;T=0;if(!(k&1)){if(r)break;k=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+k|0,h[e+(k+16)>>2]|5|0);k=T;T=0;if(!(k&1))break;else u=13}else u=13}if((u|0)==13)r=Ze(0)|0;bb(d);t=e;n=e;break e}}while(0);bb(d);v=b;return e|0}}while(0);fi(r|0)|0;T=0;pe(181,t+(h[(h[n>>2]|0)+-12>>2]|0)|0);k=T;T=0;if(!(k&1)){li();v=b;return e|0}r=Ze()|0;T=0;Ie(3);k=T;T=0;if(k&1){k=Ze(0)|0;Ki(k)}else si(r|0);return 0}function vr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;r=h[i+48>>2]|0;if(r&16){r=i+44|0;t=h[r>>2]|0;n=h[i+24>>2]|0;if(t>>>0<n>>>0)h[r>>2]=n;else n=t;t=h[i+20>>2]|0;f=n-t|0;if(f>>>0>4294967279)Hv(e);if(f>>>0<11){c[e>>0]=f<<1;r=e+1|0}else{i=f+16&-16;r=Xv(i)|0;h[e+8>>2]=r;h[e>>2]=i|1;h[e+4>>2]=f}if((t|0)!=(n|0)){i=r;while(1){c[i>>0]=c[t>>0]|0;t=t+1|0;if((t|0)==(n|0))break;else i=i+1|0}r=r+f|0}c[r>>0]=0;return}if(!(r&8)){h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}t=h[i+8>>2]|0;i=h[i+16>>2]|0;f=i-t|0;if(f>>>0>4294967279)Hv(e);if(f>>>0<11){c[e>>0]=f<<1;r=e+1|0}else{n=f+16&-16;r=Xv(n)|0;h[e+8>>2]=r;h[e>>2]=n|1;h[e+4>>2]=f}if((t|0)!=(i|0)){n=r;while(1){c[n>>0]=c[t>>0]|0;t=t+1|0;if((t|0)==(i|0))break;else n=n+1|0}r=r+f|0}c[r>>0]=0;return}function gr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;h[e>>2]=36364;h[e+4>>2]=r;b=e+8|0;a=h[r>>2]|0;u=r+16|0;f=h[u>>2]|0;o=ce(f,a)|0;h[b>>2]=0;k=e+12|0;h[k>>2]=0;h[e+16>>2]=0;do{if(o){if(!((o|0)<0?(T=0,pe(178,b|0),a=T,T=0,a&1):0))d=4;if((d|0)==4?(l=o<<1,T=0,s=ye(67,l|0)|0,a=T,T=0,!(a&1)):0){h[b>>2]=s;a=s+(o<<1)|0;h[e+16>>2]=a;Cm(s|0,0,l|0)|0;h[k>>2]=a;a=h[r>>2]|0;f=h[u>>2]|0;break}l=Ze()|0;n=h[b>>2]|0;f=n;if(n){a=h[k>>2]|0;if((a|0)!=(n|0))h[k>>2]=a+(~((a+-2-f|0)>>>1)<<1);zv(n)}k=l;si(k|0)}}while(0);l=e+20|0;f=ce(a<<1,f)|0;h[l>>2]=0;s=e+24|0;h[s>>2]=0;h[e+28>>2]=0;if(!f){k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}if(!((f|0)<0?(T=0,pe(178,l|0),u=T,T=0,u&1):0))d=13;if((d|0)==13?(T=0,n=ye(67,f|0)|0,d=T,T=0,!(d&1)):0){h[s>>2]=n;h[l>>2]=n;h[e+28>>2]=n+f;do{c[n>>0]=0;n=(h[s>>2]|0)+1|0;h[s>>2]=n;f=f+-1|0}while((f|0)!=0);k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}a=Ze()|0;n=h[l>>2]|0;if(n){if((h[s>>2]|0)!=(n|0))h[s>>2]=n;zv(n)}n=h[b>>2]|0;if(!n){k=a;si(k|0)}f=h[k>>2]|0;if((f|0)!=(n|0))h[k>>2]=f+(~((f+-2-n|0)>>>1)<<1);zv(n);k=a;si(k|0)}function yr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;h[e>>2]=36340;h[e+4>>2]=r;b=e+8|0;a=h[r>>2]|0;u=r+16|0;f=h[u>>2]|0;o=ce(f,a)|0;h[b>>2]=0;k=e+12|0;h[k>>2]=0;h[e+16>>2]=0;do{if(o){if(!((o|0)<0?(T=0,pe(178,b|0),a=T,T=0,a&1):0))d=4;if((d|0)==4?(l=o<<1,T=0,s=ye(67,l|0)|0,a=T,T=0,!(a&1)):0){h[b>>2]=s;a=s+(o<<1)|0;h[e+16>>2]=a;Cm(s|0,0,l|0)|0;h[k>>2]=a;a=h[r>>2]|0;f=h[u>>2]|0;break}l=Ze()|0;n=h[b>>2]|0;f=n;if(n){a=h[k>>2]|0;if((a|0)!=(n|0))h[k>>2]=a+(~((a+-2-f|0)>>>1)<<1);zv(n)}k=l;si(k|0)}}while(0);l=e+20|0;f=ce(a<<1,f)|0;h[l>>2]=0;s=e+24|0;h[s>>2]=0;h[e+28>>2]=0;if(!f){k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}if(!((f|0)<0?(T=0,pe(178,l|0),u=T,T=0,u&1):0))d=13;if((d|0)==13?(T=0,n=ye(67,f|0)|0,d=T,T=0,!(d&1)):0){h[s>>2]=n;h[l>>2]=n;h[e+28>>2]=n+f;do{c[n>>0]=0;n=(h[s>>2]|0)+1|0;h[s>>2]=n;f=f+-1|0}while((f|0)!=0);k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}a=Ze()|0;n=h[l>>2]|0;if(n){if((h[s>>2]|0)!=(n|0))h[s>>2]=n;zv(n)}n=h[b>>2]|0;if(!n){k=a;si(k|0)}f=h[k>>2]|0;if((f|0)!=(n|0))h[k>>2]=f+(~((f+-2-n|0)>>>1)<<1);zv(n);k=a;si(k|0)}function Er(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;h[e>>2]=36316;h[e+4>>2]=r;b=e+8|0;a=h[r>>2]|0;u=r+16|0;f=h[u>>2]|0;o=ce(f,a)|0;h[b>>2]=0;k=e+12|0;h[k>>2]=0;h[e+16>>2]=0;do{if(o){if(!((o|0)<0?(T=0,pe(178,b|0),a=T,T=0,a&1):0))d=4;if((d|0)==4?(l=o<<1,T=0,s=ye(67,l|0)|0,a=T,T=0,!(a&1)):0){h[b>>2]=s;a=s+(o<<1)|0;h[e+16>>2]=a;Cm(s|0,0,l|0)|0;h[k>>2]=a;a=h[r>>2]|0;f=h[u>>2]|0;break}l=Ze()|0;n=h[b>>2]|0;f=n;if(n){a=h[k>>2]|0;if((a|0)!=(n|0))h[k>>2]=a+(~((a+-2-f|0)>>>1)<<1);zv(n)}k=l;si(k|0)}}while(0);l=e+20|0;f=ce(a<<1,f)|0;h[l>>2]=0;s=e+24|0;h[s>>2]=0;h[e+28>>2]=0;if(!f){k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}if(!((f|0)<0?(T=0,pe(178,l|0),u=T,T=0,u&1):0))d=13;if((d|0)==13?(T=0,n=ye(67,f|0)|0,d=T,T=0,!(d&1)):0){h[s>>2]=n;h[l>>2]=n;h[e+28>>2]=n+f;do{c[n>>0]=0;n=(h[s>>2]|0)+1|0;h[s>>2]=n;f=f+-1|0}while((f|0)!=0);k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}a=Ze()|0;n=h[l>>2]|0;if(n){if((h[s>>2]|0)!=(n|0))h[s>>2]=n;zv(n)}n=h[b>>2]|0;if(!n){k=a;si(k|0)}f=h[k>>2]|0;if((f|0)!=(n|0))h[k>>2]=f+(~((f+-2-n|0)>>>1)<<1);zv(n);k=a;si(k|0)}function Ar(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36316;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function Mr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36316;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function Tr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+48|0;if(!(h[n>>2]|0)){l=e+52|0;Lr(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Lr(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function Sr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+48>>2]|0;if(!n){n=e+52|0;Pr(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Or(e,n,i,r,t);return}}function Pr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0;s=e+4|0;f=h[s>>2]|0;do{if(!(c[f+32>>0]|0))o=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*6|0)|0;f=h[s>>2]|0;l=h[f+16>>2]|0;if((t|0)<=0){o=h[a>>2]|0;break}i=h[a>>2]|0;f=i;a=0;while(1){o=f+4|0;u=d[f>>1]|0;d[f>>1]=d[o>>1]|0;d[o>>1]=u;a=a+1|0;if((a|0)==(t|0))break;else f=f+(l<<1)|0}o=i;f=h[s>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:if((h[f+24>>2]|0)==2){if((t|0)<=0)return;f=e+32|0;i=0;do{u=h[f>>2]|0;s=k[o+(i*6|0)+2>>1]<<u;n=32768-s|0;e=n+(k[o+(i*6|0)+4>>1]<<u)&65535;n=n+(k[o+(i*6|0)>>1]<<u)&65535;d[r+(i*6|0)>>1]=(s+49152+((e+n|0)>>>2)&65535)>>>u;d[r+(i*6|0)+2>>1]=e>>>u;d[r+(i*6|0)+4>>1]=n>>>u;i=i+1|0}while((i|0)!=(t|0));return}else{a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;f=h[e+32>>2]|0;i=0;do{t=k[o+(i*6|0)+2>>1]<<f;u=32768-t|0;e=u+(k[o+(i*6|0)+4>>1]<<f)&65535;u=u+(k[o+(i*6|0)>>1]<<f)&65535;d[r+(i<<1)>>1]=(t+49152+((e+u|0)>>>2)&65535)>>>f;d[r+(i+n<<1)>>1]=e>>>f;d[r+(i+l<<1)>>1]=u>>>f;i=i+1|0}while((i|0)!=(a|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;s=n*3|0;f=h[e+32>>2]|0;i=0;do{u=d[o+(i<<3)+6>>1]|0;b=k[o+(i<<3)+2>>1]<<f;e=32768-b|0;t=e+(k[o+(i<<3)+4>>1]<<f)&65535;e=e+(k[o+(i<<3)>>1]<<f)&65535;d[r+(i<<1)>>1]=(b+49152+((t+e|0)>>>2)&65535)>>>f;d[r+(i+n<<1)>>1]=t>>>f;d[r+(i+l<<1)>>1]=e>>>f;d[r+(i+s<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}default:return}}function Or(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;Pr(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;Pr(e,w,r,t,n);v=d;return}function Rr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;n=v;v=v+176|0;r=n+152|0;s=n+16|0;a=n;if(!(i&1)){r=(i|0)/4|0;if((i|0)>3){t=0;do{s=e+(t<<2)|0;l=h[s>>2]|0;h[s>>2]=l>>>8&16711935|l<<8&-16711936;t=t+1|0}while((t|0)<(r|0))}if(!(i&3)){v=n;return}a=e+(i+-2)|0;s=e+(i+-1)|0;l=c[a>>0]|0;c[a>>0]=c[s>>0]|0;c[s>>0]=l;v=n;return}l=s+56|0;f=s+4|0;h[s>>2]=36160;h[l>>2]=36180;T=0;ve(62,s+56|0,f|0);n=T;T=0;if(n&1){s=Ze()|0;bh(l);si(s|0)}h[s+128>>2]=0;h[s+132>>2]=-1;h[s>>2]=36200;h[s+56>>2]=36220;T=0;pe(180,f|0);n=T;T=0;do{if(n&1)r=Ze()|0;else{h[f>>2]=36236;n=s+36|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[s+52>>2]=16;h[r>>2]=0;h[r+4>>2]=0;h[r+8>>2]=0;T=0;ve(63,f|0,r|0);e=T;T=0;if(e&1){s=Ze()|0;qd(r);qd(n);gh(f);r=s;break}qd(r);T=0;r=Ae(28,s|0,49087,24)|0;e=T;T=0;if((!(e&1)?(T=0,t=Oe(36,r|0,i|0)|0,i=T,T=0,!(i&1)):0)?(T=0,Ae(28,t|0,49112,20)|0,i=T,T=0,!(i&1)):0){e=Je(16)|0;T=0;ve(64,a|0,f|0);i=T;T=0;if(!(i&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,e|0,1,35648,a|0);i=T;T=0;if(i&1)t=1;else{T=0;xe(6,e|0,824,96);T=0;t=0}r=Ze()|0;qd(a);if(!t){a=r;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}else r=Ze()|0;We(e|0);a=r;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}a=Ze()|0;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}while(0);s=r;bh(l);si(s|0)}function Lr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0;o=e+4|0;f=h[o>>2]|0;e:do{switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)<=0)break e;f=e+40|0;e=0;do{n=h[f>>2]|0;l=k[i+(e*6|0)+2>>1]<<n;a=k[i+(e*6|0)+4>>1]<<n;s=(k[i+(e*6|0)>>1]<<n)-(a+l>>2)+16384|0;d[r+(e*6|0)>>1]=(a+32768+s&65535)>>>n;d[r+(e*6|0)+2>>1]=(s&65535)>>>n;d[r+(e*6|0)+4>>1]=(l+32768+s&65535)>>>n;e=e+1|0}while((e|0)!=(t|0))}else{a=(t|0)<(n|0)?t:n;if((a|0)<=0)break e;l=n<<1;f=e+40|0;e=0;do{s=h[f>>2]|0;b=k[i+(e+n<<1)>>1]<<s;w=k[i+(e+l<<1)>>1]<<s;u=(k[i+(e<<1)>>1]<<s)-(w+b>>2)+16384|0;d[r+(e*6|0)>>1]=(w+32768+u&65535)>>>s;d[r+(e*6|0)+2>>1]=(u&65535)>>>s;d[r+(e*6|0)+4>>1]=(b+32768+u&65535)>>>s;e=e+1|0}while((e|0)!=(a|0))}break}case 4:{if((h[f+24>>2]|0)==1?(s=(t|0)<(n|0)?t:n,(s|0)>0):0){l=n<<1;f=e+40|0;e=n*3|0;a=0;do{w=h[f>>2]|0;b=k[i+(a+n<<1)>>1]<<w;m=k[i+(a+l<<1)>>1]<<w;u=(k[i+(a<<1)>>1]<<w)-(m+b>>2)+16384|0;_=d[i+(a+e<<1)>>1]|0;p=Bm((u&65535)>>>w&65535|0,0,16)|0;b=(b+32768+u&65535)>>>w|H;_=Bm(_&65535|0,0,48)|0;_=p|(m+32768+u&65535)>>>w&65535|_;b=b&65535|H;w=r+(a<<3)|0;u=w;d[u>>1]=_;d[u+2>>1]=_>>>16;w=w+4|0;d[w>>1]=b;d[w+2>>1]=b>>>16;a=a+1|0}while((a|0)!=(s|0))}break}default:{}}}while(0);f=h[o>>2]|0;if(!(c[f+32>>0]|0))return;a=h[f+16>>2]|0;if((t|0)<=0)return;f=r;e=0;while(1){p=f+4|0;m=d[f>>1]|0;d[f>>1]=d[p>>1]|0;d[p>>1]=m;e=e+1|0;if((e|0)==(t|0))break;else f=f+(a<<1)|0}return}function Cr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36340;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function Dr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36340;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function xr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+48|0;if(!(h[n>>2]|0)){l=e+52|0;Fr(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Fr(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function Ir(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+48>>2]|0;if(!n){n=e+52|0;Br(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Nr(e,n,i,r,t);return}}function Br(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0;s=e+4|0;f=h[s>>2]|0;do{if(!(c[f+32>>0]|0))o=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*6|0)|0;f=h[s>>2]|0;l=h[f+16>>2]|0;if((t|0)<=0){o=h[a>>2]|0;break}i=h[a>>2]|0;f=i;a=0;while(1){o=f+4|0;u=d[f>>1]|0;d[f>>1]=d[o>>1]|0;d[o>>1]=u;a=a+1|0;if((a|0)==(t|0))break;else f=f+(l<<1)|0}o=i;f=h[s>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:if((h[f+24>>2]|0)==2){if((t|0)<=0)return;f=e+32|0;i=0;do{n=h[f>>2]|0;s=k[o+(i*6|0)>>1]<<n;e=k[o+(i*6|0)+2>>1]<<n;u=((k[o+(i*6|0)+4>>1]<<n)+32768-((e+s|0)>>>1)&65535)>>>n&65535;d[r+(i*6|0)>>1]=(s+32768-e&65535)>>>n;d[r+(i*6|0)+2>>1]=(e&65535)>>>n;d[r+(i*6|0)+4>>1]=u;i=i+1|0}while((i|0)!=(t|0));return}else{a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;f=h[e+32>>2]|0;i=0;do{t=k[o+(i*6|0)>>1]<<f;e=k[o+(i*6|0)+2>>1]<<f;u=((k[o+(i*6|0)+4>>1]<<f)+32768-((e+t|0)>>>1)&65535)>>>f&65535;d[r+(i<<1)>>1]=(t+32768-e&65535)>>>f;d[r+(i+n<<1)>>1]=(e&65535)>>>f;d[r+(i+l<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;s=n*3|0;f=h[e+32>>2]|0;i=0;do{u=d[o+(i<<3)+6>>1]|0;b=k[o+(i<<3)>>1]<<f;t=k[o+(i<<3)+2>>1]<<f;e=((k[o+(i<<3)+4>>1]<<f)+32768-((t+b|0)>>>1)&65535)>>>f&65535;d[r+(i<<1)>>1]=(b+32768-t&65535)>>>f;d[r+(i+n<<1)>>1]=(t&65535)>>>f;d[r+(i+l<<1)>>1]=e;d[r+(i+s<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}default:return}}function Nr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;Br(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;Br(e,w,r,t,n);v=d;return}function Fr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;o=e+4|0;f=h[o>>2]|0;e:do{switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)<=0)break e;f=e+40|0;e=0;do{s=h[f>>2]|0;l=k[i+(e*6|0)+2>>1]<<s;a=(k[i+(e*6|0)>>1]<<s)+32768+l&65535;l=l&65535;n=((k[i+(e*6|0)+4>>1]<<s)+32768+((a+l|0)>>>1)&65535)>>>s&65535;d[r+(e*6|0)>>1]=a>>>s;d[r+(e*6|0)+2>>1]=l>>>s;d[r+(e*6|0)+4>>1]=n;e=e+1|0}while((e|0)!=(t|0))}else{a=(t|0)<(n|0)?t:n;if((a|0)<=0)break e;l=n<<1;f=e+40|0;e=0;do{u=h[f>>2]|0;b=k[i+(e+n<<1)>>1]<<u;w=(k[i+(e<<1)>>1]<<u)+32768+b&65535;b=b&65535;s=((k[i+(e+l<<1)>>1]<<u)+32768+((w+b|0)>>>1)&65535)>>>u&65535;d[r+(e*6|0)>>1]=w>>>u;d[r+(e*6|0)+2>>1]=b>>>u;d[r+(e*6|0)+4>>1]=s;e=e+1|0}while((e|0)!=(a|0))}break}case 4:{if((h[f+24>>2]|0)==1?(s=(t|0)<(n|0)?t:n,(s|0)>0):0){l=n<<1;f=e+40|0;e=n*3|0;a=0;do{u=h[f>>2]|0;w=k[i+(a+n<<1)>>1]<<u;m=(k[i+(a<<1)>>1]<<u)+32768+w&65535;w=w&65535;b=((k[i+(a+l<<1)>>1]<<u)+32768+((m+w|0)>>>1)&65535)>>>u;_=d[i+(a+e<<1)>>1]|0;w=Bm(w>>>u&65535|0,0,16)|0;b=H|b;_=Bm(_&65535|0,0,48)|0;_=m>>>u&65535|w|_;b=b&65535|H;w=r+(a<<3)|0;u=w;d[u>>1]=_;d[u+2>>1]=_>>>16;w=w+4|0;d[w>>1]=b;d[w+2>>1]=b>>>16;a=a+1|0}while((a|0)!=(s|0))}break}default:{}}}while(0);f=h[o>>2]|0;if(!(c[f+32>>0]|0))return;a=h[f+16>>2]|0;if((t|0)<=0)return;f=r;e=0;while(1){m=f+4|0;_=d[f>>1]|0;d[f>>1]=d[m>>1]|0;d[m>>1]=_;e=e+1|0;if((e|0)==(t|0))break;else f=f+(a<<1)|0}return}function Ur(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36364;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function jr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36364;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function Hr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+48|0;if(!(h[n>>2]|0)){l=e+52|0;zr(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;zr(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function Yr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+48>>2]|0;if(!n){n=e+52|0;qr(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Xr(e,n,i,r,t);return}}function qr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;s=e+4|0;f=h[s>>2]|0;do{if(!(c[f+32>>0]|0))o=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*6|0)|0;f=h[s>>2]|0;l=h[f+16>>2]|0;if((t|0)<=0){o=h[a>>2]|0;break}i=h[a>>2]|0;f=i;a=0;while(1){o=f+4|0;u=d[f>>1]|0;d[f>>1]=d[o>>1]|0;d[o>>1]=u;a=a+1|0;if((a|0)==(t|0))break;else f=f+(l<<1)|0}o=i;f=h[s>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:if((h[f+24>>2]|0)==2){if((t|0)<=0)return;f=e+32|0;i=0;do{n=h[f>>2]|0;e=k[o+(i*6|0)+2>>1]<<n;u=(32768-e+(k[o+(i*6|0)+4>>1]<<n)&65535)>>>n&65535;d[r+(i*6|0)>>1]=((k[o+(i*6|0)>>1]<<n)+32768-e&65535)>>>n;d[r+(i*6|0)+2>>1]=(e&65535)>>>n;d[r+(i*6|0)+4>>1]=u;i=i+1|0}while((i|0)!=(t|0));return}else{a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;f=h[e+32>>2]|0;i=0;do{e=k[o+(i*6|0)+2>>1]<<f;u=(32768-e+(k[o+(i*6|0)+4>>1]<<f)&65535)>>>f&65535;d[r+(i<<1)>>1]=((k[o+(i*6|0)>>1]<<f)+32768-e&65535)>>>f;d[r+(i+n<<1)>>1]=(e&65535)>>>f;d[r+(i+l<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;l=(n|0)<(t|0)?n:t;if((l|0)<=0)return;s=n<<1;a=n*3|0;f=h[e+32>>2]|0;i=0;do{u=d[o+(i<<3)+6>>1]|0;t=k[o+(i<<3)+2>>1]<<f;e=(32768-t+(k[o+(i<<3)+4>>1]<<f)&65535)>>>f&65535;d[r+(i<<1)>>1]=((k[o+(i<<3)>>1]<<f)+32768-t&65535)>>>f;d[r+(i+n<<1)>>1]=(t&65535)>>>f;d[r+(i+s<<1)>>1]=e;d[r+(i+a<<1)>>1]=u;i=i+1|0}while((i|0)!=(l|0));return}default:return}}function Xr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;qr(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;qr(e,w,r,t,n);v=d;return}function zr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;o=e+4|0;f=h[o>>2]|0;e:do{switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)<=0)break e;f=e+40|0;e=0;do{s=h[f>>2]|0;l=k[i+(e*6|0)+2>>1]<<s;n=(l+32768+(k[i+(e*6|0)+4>>1]<<s)&65535)>>>s&65535;d[r+(e*6|0)>>1]=((k[i+(e*6|0)>>1]<<s)+32768+l&65535)>>>s;d[r+(e*6|0)+2>>1]=(l&65535)>>>s;d[r+(e*6|0)+4>>1]=n;e=e+1|0}while((e|0)!=(t|0))}else{a=(t|0)<(n|0)?t:n;if((a|0)<=0)break e;l=n<<1;f=e+40|0;e=0;do{u=h[f>>2]|0;b=k[i+(e+n<<1)>>1]<<u;s=(b+32768+(k[i+(e+l<<1)>>1]<<u)&65535)>>>u&65535;d[r+(e*6|0)>>1]=((k[i+(e<<1)>>1]<<u)+32768+b&65535)>>>u;d[r+(e*6|0)+2>>1]=(b&65535)>>>u;d[r+(e*6|0)+4>>1]=s;e=e+1|0}while((e|0)!=(a|0))}break}case 4:{if((h[f+24>>2]|0)==1?(s=(t|0)<(n|0)?t:n,(s|0)>0):0){l=n<<1;f=e+40|0;e=n*3|0;a=0;do{w=h[f>>2]|0;m=k[i+(a+n<<1)>>1]<<w;b=((k[i+(a<<1)>>1]<<w)+32768+m&65535)>>>w;u=(m+32768+(k[i+(a+l<<1)>>1]<<w)&65535)>>>w;_=d[i+(a+e<<1)>>1]|0;w=Bm((m&65535)>>>w&65535|0,0,16)|0;u=u|H;_=Bm(_&65535|0,0,48)|0;_=w|b&65535|_;u=u&65535|H;b=r+(a<<3)|0;w=b;d[w>>1]=_;d[w+2>>1]=_>>>16;b=b+4|0;d[b>>1]=u;d[b+2>>1]=u>>>16;a=a+1|0}while((a|0)!=(s|0))}break}default:{}}}while(0);f=h[o>>2]|0;if(!(c[f+32>>0]|0))return;a=h[f+16>>2]|0;if((t|0)<=0)return;f=r;e=0;while(1){m=f+4|0;_=d[f>>1]|0;d[f>>1]=d[m>>1]|0;d[m>>1]=_;e=e+1|0;if((e|0)==(t|0))break;else f=f+(a<<1)|0}return}function Vr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0;d=v;v=v+16|0;o=d;u=h[e>>2]|0;if(!u){e=0;v=d;return e|0}b=i;l=t-b|0;s=n+12|0;a=h[s>>2]|0;l=(a|0)>(l|0)?a-l|0:0;a=r;n=a-b|0;if((n|0)>0?(vE[h[(h[u>>2]|0)+48>>2]&63](u,i,n)|0)!=(n|0):0){h[e>>2]=0;b=0;v=d;return b|0}do{if((l|0)>0){Yd(o,l,f);T=0;n=Ae(h[(h[u>>2]|0)+48>>2]|0,u|0,((c[o>>0]&1)==0?o+1|0:h[o+8>>2]|0)|0,l|0)|0;b=T;T=0;if(b&1){b=Ze()|0;qd(o);si(b|0)}if((n|0)==(l|0)){qd(o);break}h[e>>2]=0;qd(o);b=0;v=d;return b|0}}while(0);t=t-a|0;if((t|0)>0?(vE[h[(h[u>>2]|0)+48>>2]&63](u,r,t)|0)!=(t|0):0){h[e>>2]=0;b=0;v=d;return b|0}h[s>>2]=0;b=u;v=d;return b|0}function Gr(e){e=e|0;h[e>>2]=36236;qd(e+32|0);gh(e);return}function Kr(e){e=e|0;h[e>>2]=36236;qd(e+32|0);gh(e);zv(e);return}function Wr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=i+44|0;l=h[a>>2]|0;o=i+24|0;u=h[o>>2]|0;if(l>>>0<u>>>0){h[a>>2]=u;l=u}s=l;a=f&24;if(!a){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}if((n|0)==1&(a|0)==24){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}e:do{switch(n|0){case 0:{a=0;n=0;break}case 1:if(!(f&8)){n=u-(h[i+20>>2]|0)|0;a=n;n=((n|0)<0)<<31>>31;break e}else{n=(h[i+12>>2]|0)-(h[i+8>>2]|0)|0;a=n;n=((n|0)<0)<<31>>31;break e}case 2:{a=i+32|0;if(!(c[a>>0]&1))a=a+1|0;else a=h[i+40>>2]|0;n=l-a|0;a=n;n=((n|0)<0)<<31>>31;break}default:{i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}}}while(0);n=Dm(a|0,n|0,r|0,t|0)|0;r=H;if((r|0)>=0){a=i+32|0;if(!(c[a>>0]&1))a=a+1|0;else a=h[i+40>>2]|0;t=l-a|0;l=((t|0)<0)<<31>>31;if(!((l|0)<(r|0)|(l|0)==(r|0)&t>>>0<n>>>0)){a=f&8;if(!((n|0)==0&(r|0)==0)){if((a|0)!=0?(h[i+12>>2]|0)==0:0){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}if((f&16|0)!=0&(u|0)==0){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}}if(a){h[i+12>>2]=(h[i+8>>2]|0)+n;h[i+16>>2]=s}if(f&16)h[o>>2]=(h[i+20>>2]|0)+n;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=n;h[i+4>>2]=r;return}}i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Jr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=r+8|0;yE[h[(h[i>>2]|0)+16>>2]&15](e,i,h[r>>2]|0,h[r+4>>2]|0,0,t);return}function Zr(e){e=e|0;var i=0,r=0,t=0,n=0;i=e+44|0;r=h[i>>2]|0;t=h[e+24>>2]|0;if(r>>>0<t>>>0){h[i>>2]=t;r=t}if(!(h[e+48>>2]&8)){e=-1;return e|0}n=e+16|0;i=h[n>>2]|0;t=e+12|0;if(i>>>0<r>>>0){t=h[t>>2]|0;h[n>>2]=r;i=r}else t=h[t>>2]|0;if(t>>>0>=i>>>0){e=-1;return e|0}e=b[t>>0]|0;return e|0}function Qr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;t=e+44|0;r=h[t>>2]|0;n=h[e+24>>2]|0;if(r>>>0<n>>>0){h[t>>2]=n;r=n}l=e+8|0;t=h[l>>2]|0;s=e+12|0;f=h[s>>2]|0;a=t;if(t>>>0>=f>>>0){e=-1;return e|0}if((i|0)==-1){h[l>>2]=t;h[s>>2]=f+-1;h[e+16>>2]=r;e=0;return e|0}if(!(h[e+48>>2]&16)){n=i&255;t=f+-1|0;if(n<<24>>24!=(c[t>>0]|0)){e=-1;return e|0}}else{n=i&255;t=f+-1|0}h[l>>2]=a;h[s>>2]=t;h[e+16>>2]=r;c[t>>0]=n;e=i;return e|0}function $r(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;_=v;v=v+16|0;u=_;if((i|0)==-1){e=0;v=_;return e|0}d=e+12|0;b=e+8|0;k=(h[d>>2]|0)-(h[b>>2]|0)|0;w=e+24|0;r=h[w>>2]|0;o=e+28|0;t=h[o>>2]|0;do{if((r|0)==(t|0)){l=e+48|0;if(!(h[l>>2]&16)){e=-1;v=_;return e|0}s=e+20|0;a=h[s>>2]|0;n=r-a|0;f=e+44|0;a=(h[f>>2]|0)-a|0;t=e+32|0;T=0;ve(67,t|0,0);r=T;T=0;if(!(r&1)){if(!(c[t>>0]&1))r=10;else r=(h[t>>2]&-2)+-1|0;T=0;xe(8,t|0,r|0,0);r=T;T=0;if(!(r&1)){r=c[t>>0]|0;if(!(r&1)){t=t+1|0;r=(r&255)>>>1}else{t=h[e+40>>2]|0;r=h[e+36>>2]|0}m=t+r|0;h[s>>2]=t;h[o>>2]=m;s=t+n|0;h[w>>2]=s;r=t+a|0;h[f>>2]=r;t=m;break}}m=Ze(0)|0;fi(m|0)|0;li();m=-1;v=_;return m|0}else{m=e+44|0;l=e+48|0;f=m;s=r;r=h[m>>2]|0}}while(0);a=s+1|0;h[u>>2]=a;n=h[(a>>>0<r>>>0?f:u)>>2]|0;h[f>>2]=n;if(h[l>>2]&8){r=e+32|0;if(!(c[r>>0]&1))r=r+1|0;else r=h[e+40>>2]|0;h[b>>2]=r;h[d>>2]=r+k;h[e+16>>2]=n}if((s|0)==(t|0)){m=ME[h[(h[e>>2]|0)+52>>2]&63](e,i&255)|0;v=_;return m|0}else{h[w>>2]=a;c[s>>0]=i;m=i&255;v=_;return m|0}return 0}function et(e){e=e|0;var i=0,r=0;h[e>>2]=36200;i=e+56|0;h[i>>2]=36220;r=e+4|0;h[r>>2]=36236;qd(e+36|0);gh(r);bh(i);return}function it(e){e=e|0;var i=0,r=0;h[e>>2]=36200;i=e+56|0;h[i>>2]=36220;r=e+4|0;h[r>>2]=36236;qd(e+36|0);gh(r);bh(i);zv(e);return}function rt(e){e=e|0;var i=0,r=0,t=0,n=0;n=h[(h[e>>2]|0)+-12>>2]|0;i=e+n|0;h[i>>2]=36200;r=e+(n+56)|0;h[r>>2]=36220;t=e+(n+4)|0;h[t>>2]=36236;qd(e+(n+36)|0);gh(t);bh(r);zv(i);return}function tt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36388;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function nt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36388;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function ft(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;ot(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;ot(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function at(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;lt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{st(e,n,i,r,t);return}}function lt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{l=k[s+(f*6|0)+2>>1]|0;n=32768-l+(k[s+(f*6|0)+4>>1]|0)|0;o=(k[s+(f*6|0)>>1]|0)-l+32768|0;d[r+(f*6|0)>>1]=l+49152+(((n&65535)+(o&65535)|0)>>>2);d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{l=k[s+(i*6|0)+2>>1]|0;t=32768-l+(k[s+(i*6|0)+4>>1]|0)|0;o=(k[s+(i*6|0)>>1]|0)-l+32768|0;d[r+(i<<1)>>1]=l+49152+(((t&65535)+(o&65535)|0)>>>2);d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{o=d[s+(a<<3)+6>>1]|0;u=k[s+(a<<3)+2>>1]|0;l=32768-u+(k[s+(a<<3)+4>>1]|0)|0;t=(k[s+(a<<3)>>1]|0)-u+32768|0;d[r+(a<<1)>>1]=u+49152+(((l&65535)+(t&65535)|0)>>>2);d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function st(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;lt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;lt(e,w,r,t,n);v=d;return}function ot(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=k[i+(e*6|0)+2>>1]|0;a=k[i+(e*6|0)+4>>1]|0;n=(k[i+(e*6|0)>>1]|0)-((a+l|0)>>>2)+16384|0;d[r+(e*6|0)>>1]=a+32768+n;d[r+(e*6|0)+2>>1]=n;d[r+(e*6|0)+4>>1]=l+32768+n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=k[i+(a+n<<1)>>1]|0;u=k[i+(a+f<<1)>>1]|0;l=(k[i+(a<<1)>>1]|0)-((u+o|0)>>>2)+16384|0;d[r+(a*6|0)>>1]=u+32768+l;d[r+(a*6|0)+2>>1]=l;d[r+(a*6|0)+4>>1]=o+32768+l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{o=k[i+(a+n<<1)>>1]|0;b=k[i+(a+e<<1)>>1]|0;u=(k[i+(a<<1)>>1]|0)-((b+o|0)>>>2)+16384|0;w=d[i+(a+f<<1)>>1]|0;_=Bm(u&65535|0,0,16)|0;o=o+32768+u|H;w=Bm(w&65535|0,0,48)|0;w=_|b+32768+u&65535|w;o=o&65535|H;u=r+(a<<3)|0;b=u;d[b>>1]=w;d[b+2>>1]=w>>>16;u=u+4|0;d[u>>1]=o;d[u+2>>1]=o>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){_=e+4|0;w=d[e>>1]|0;d[e>>1]=d[_>>1]|0;d[_>>1]=w;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function ut(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36412;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function ct(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36412;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function dt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;wt(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;wt(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function ht(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;bt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{kt(e,n,i,r,t);return}}function bt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{a=k[s+(f*6|0)>>1]|0;n=d[s+(f*6|0)+2>>1]|0;l=n&65535;o=(k[s+(f*6|0)+4>>1]|0)+32768-((l+a|0)>>>1)&65535;d[r+(f*6|0)>>1]=a+32768-l;d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=d[s+(i*6|0)+2>>1]|0;a=k[s+(i*6|0)>>1]|0;l=t&65535;o=(k[s+(i*6|0)+4>>1]|0)+32768-((l+a|0)>>>1)&65535;d[r+(i<<1)>>1]=a+32768-l;d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{l=d[s+(a<<3)+2>>1]|0;o=d[s+(a<<3)+6>>1]|0;b=k[s+(a<<3)>>1]|0;u=l&65535;t=(k[s+(a<<3)+4>>1]|0)+32768-((u+b|0)>>>1)&65535;d[r+(a<<1)>>1]=b+32768-u;d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function kt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;bt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;bt(e,w,r,t,n);v=d;return}function wt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=d[i+(e*6|0)+2>>1]|0;n=l&65535;a=(k[i+(e*6|0)>>1]|0)+32768+n|0;n=(k[i+(e*6|0)+4>>1]|0)+32768+(((a&65535)+n|0)>>>1)&65535;d[r+(e*6|0)>>1]=a;d[r+(e*6|0)+2>>1]=l;d[r+(e*6|0)+4>>1]=n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=d[i+(a+n<<1)>>1]|0;l=o&65535;u=(k[i+(a<<1)>>1]|0)+32768+l|0;l=(k[i+(a+f<<1)>>1]|0)+32768+(((u&65535)+l|0)>>>1)&65535;d[r+(a*6|0)>>1]=u;d[r+(a*6|0)+2>>1]=o;d[r+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=d[i+(a+n<<1)>>1]|0;o=u&65535;b=(k[i+(a<<1)>>1]|0)+32768+o&65535;o=(k[i+(a+e<<1)>>1]|0)+32768+((b+o|0)>>>1)|0;w=d[i+(a+f<<1)>>1]|0;u=Bm(u&65535|0,0,16)|0;o=H|o;w=Bm(w&65535|0,0,48)|0;w=b|u|w;o=o&65535|H;u=r+(a<<3)|0;b=u;d[b>>1]=w;d[b+2>>1]=w>>>16;u=u+4|0;d[u>>1]=o;d[u+2>>1]=o>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){w=e+4|0;b=d[e>>1]|0;d[e>>1]=d[w>>1]|0;d[w>>1]=b;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function _t(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36436;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function mt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36436;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function pt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;Et(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Et(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function vt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;gt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{yt(e,n,i,r,t);return}}function gt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=d[s+(f*6|0)+2>>1]|0;l=n&65535;o=32768-l+(k[s+(f*6|0)+4>>1]|0)&65535;d[r+(f*6|0)>>1]=(k[s+(f*6|0)>>1]|0)+32768-l;d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=d[s+(i*6|0)+2>>1]|0;l=t&65535;o=32768-l+(k[s+(i*6|0)+4>>1]|0)&65535;d[r+(i<<1)>>1]=(k[s+(i*6|0)>>1]|0)+32768-l;d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{l=d[s+(a<<3)+2>>1]|0;o=d[s+(a<<3)+6>>1]|0;u=l&65535;t=32768-u+(k[s+(a<<3)+4>>1]|0)&65535;d[r+(a<<1)>>1]=(k[s+(a<<3)>>1]|0)+32768-u;d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function yt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;gt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;gt(e,w,r,t,n);v=d;return}function Et(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=d[i+(e*6|0)+2>>1]|0;a=l&65535;n=a+32768+(k[i+(e*6|0)+4>>1]|0)&65535;d[r+(e*6|0)>>1]=(k[i+(e*6|0)>>1]|0)+32768+a;d[r+(e*6|0)+2>>1]=l;d[r+(e*6|0)+4>>1]=n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=d[i+(a+n<<1)>>1]|0;u=o&65535;l=u+32768+(k[i+(a+f<<1)>>1]|0)&65535;d[r+(a*6|0)>>1]=(k[i+(a<<1)>>1]|0)+32768+u;d[r+(a*6|0)+2>>1]=o;d[r+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=d[i+(a+n<<1)>>1]|0;o=u&65535;b=(k[i+(a<<1)>>1]|0)+32768+o|0;o=o+32768+(k[i+(a+e<<1)>>1]|0)|0;w=d[i+(a+f<<1)>>1]|0;u=Bm(u&65535|0,0,16)|0;o=H|o;w=Bm(w&65535|0,0,48)|0;w=b&65535|u|w;o=o&65535|H;u=r+(a<<3)|0;b=u;d[b>>1]=w;d[b+2>>1]=w>>>16;u=u+4|0;d[u>>1]=o;d[u+2>>1]=o>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){w=e+4|0;b=d[e>>1]|0;d[e>>1]=d[w>>1]|0;d[w>>1]=b;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function At(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36460;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function Mt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36460;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function Tt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;Rt(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Rt(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function St(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Pt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Ot(e,n,i,r,t);return}}function Pt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=d[s+(f*6|0)+2>>1]|0;o=d[s+(f*6|0)+4>>1]|0;d[r+(f*6|0)>>1]=d[s+(f*6|0)>>1]|0;d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=d[s+(i*6|0)+2>>1]|0;o=d[s+(i*6|0)+4>>1]|0;d[r+(i<<1)>>1]=d[s+(i*6|0)>>1]|0;d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{l=d[s+(a<<3)+2>>1]|0;t=d[s+(a<<3)+4>>1]|0;o=d[s+(a<<3)+6>>1]|0;d[r+(a<<1)>>1]=d[s+(a<<3)>>1]|0;d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function Ot(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;Pt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;Pt(e,w,r,t,n);v=d;return}function Rt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=d[i+(e*6|0)+2>>1]|0;n=d[i+(e*6|0)+4>>1]|0;d[r+(e*6|0)>>1]=d[i+(e*6|0)>>1]|0;d[r+(e*6|0)+2>>1]=l;d[r+(e*6|0)+4>>1]=n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=d[i+(a+n<<1)>>1]|0;l=d[i+(a+f<<1)>>1]|0;d[r+(a*6|0)>>1]=d[i+(a<<1)>>1]|0;d[r+(a*6|0)+2>>1]=o;d[r+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{o=d[i+(a<<1)>>1]|0;w=d[i+(a+f<<1)>>1]|0;u=k[i+(a+e<<1)>>1]|0;b=Bm(k[i+(a+n<<1)>>1]|0,0,16)|0;u=H|u;w=Bm(w&65535|0,0,48)|0;w=b|o&65535|w;u=u&65535|H;o=r+(a<<3)|0;b=o;d[b>>1]=w;d[b+2>>1]=w>>>16;o=o+4|0;d[o>>1]=u;d[o+2>>1]=u>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){w=e+4|0;b=d[e>>1]|0;d[e>>1]=d[w>>1]|0;d[w>>1]=b;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function Lt(e){e=e|0;return}function Ct(e){e=e|0;zv(e);return}function Dt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=ce(h[e+8>>2]|0,r)|0;e=h[e+4>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,i,r)|0)==(r|0))return;t=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,t|0,3,35648);e=T;T=0;if(e&1){e=Ze()|0;We(t|0);si(e|0)}else Ei(t|0,824,96)}function xt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;o=u;s=e+8|0;n=h[s>>2]|0;t=ce(n,r)|0;do{if(t){a=e+4|0;f=t;while(1){n=h[a>>2]|0;n=vE[h[(h[n>>2]|0)+32>>2]&63](n,i,f)|0;if(!n)break;t=f-n|0;if((f|0)==(n|0)){l=11;break}else f=t}if((l|0)==11){n=h[s>>2]|0;f=t;break}t=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,t|0,3,35648);e=T;T=0;if(e&1){e=Ze()|0;We(t|0);si(e|0)}else Ei(t|0,824,96)}else f=0}while(0);if((n|0)==2){Rr(i,r<<1);n=h[s>>2]|0}t=h[e+12>>2]|0;if((t|0)<=(ce(n,r)|0)){v=u;return}e=h[e+4>>2]|0;yE[h[(h[e>>2]|0)+16>>2]&15](o,e,t-f|0,0,1,24);v=u;return}function It(e){e=e|0;zv(e);return}function Bt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=e+4|0;Im(h[t>>2]|0,i|0,ce(h[e+8>>2]|0,r)|0)|0;h[t>>2]=(h[t>>2]|0)+(h[e+12>>2]|0);return}function Nt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=e+4|0;Im(i|0,h[t>>2]|0,ce(h[e+8>>2]|0,r)|0)|0;h[t>>2]=(h[t>>2]|0)+(h[e+12>>2]|0);return}function Ft(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;h[e+112>>2]=0;h[e+108>>2]=0;o=h[i>>2]|0;n=o;do{if(o){a=e+92|0;o=e+96|0;l=h[o>>2]|0;s=h[a>>2]|0;r=s;t=l-r|0;if(t>>>0>=4e4)if(t>>>0>4e4?(f=s+4e4|0,(l|0)!=(f|0)):0){h[o>>2]=f;f=r}else f=r;else{Ut(a,4e4-t|0);f=h[a>>2]|0;n=h[i>>2]|0}r=e+116|0;h[r>>2]=f;l=e+124|0;h[l>>2]=f;s=e+104|0;h[s>>2]=n;t=n;if(n){if((h[t+12>>2]|0)==(h[t+16>>2]|0)){i=(mE[h[(h[n>>2]|0)+36>>2]&127](t)|0)==-1;t=h[l>>2]|0;if(i)break;n=h[r>>2]|0}else{t=f;n=f}a=t-n|0;if(a>>>0<=64){f=e+92|0;if((t|0)==(n|0))t=n;else{t=n;n=0;do{c[(h[f>>2]|0)+n>>0]=c[t+n>>0]|0;n=n+1|0;t=h[r>>2]|0}while(n>>>0<a>>>0);n=h[l>>2]|0}f=h[f>>2]|0;i=f;u=i-t|0;h[r>>2]=f;t=n+u|0;h[l>>2]=t;f=e+120|0;h[f>>2]=(h[f>>2]|0)+u;s=h[s>>2]|0;t=vE[h[(h[s>>2]|0)+32>>2]&63](s,t,(h[o>>2]|0)-(i+a)|0)|0;t=(h[l>>2]|0)+t|0;h[l>>2]=t}}else t=f}else{h[e+104>>2]=0;t=h[i+4>>2]|0;r=e+116|0;h[r>>2]=t;t=t+(h[i+8>>2]|0)|0;h[e+124>>2]=t}}while(0);r=h[r>>2]|0;if(r>>>0>=t>>>0){o=r;u=e+120|0;h[u>>2]=o;Jt(e);return}while(1){if((c[r>>0]|0)==-1){t=20;break}r=r+1|0;if(r>>>0>=t>>>0){t=20;break}}if((t|0)==20){u=e+120|0;h[u>>2]=r;Jt(e);return}}function Ut(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=e+8|0;n=h[s>>2]|0;o=e+4|0;r=h[o>>2]|0;t=r;if((n-t|0)>>>0>=i>>>0){do{c[r>>0]=0;r=(h[o>>2]|0)+1|0;h[o>>2]=r;i=i+-1|0}while((i|0)!=0);return}r=h[e>>2]|0;f=t-r+i|0;if((f|0)<0){Yv(e);n=h[s>>2]|0;r=h[e>>2]|0}t=n-r|0;if(t>>>0<1073741823){t=t<<1;t=t>>>0<f>>>0?f:t;r=(h[o>>2]|0)-r|0;if(!t){n=0;a=0;f=r}else l=8}else{t=2147483647;r=(h[o>>2]|0)-r|0;l=8}if((l|0)==8){n=t;a=Xv(t)|0;f=r}r=a+f|0;n=a+n|0;t=r;do{c[t>>0]=0;t=r+1|0;r=t;i=i+-1|0}while((i|0)!=0);i=h[e>>2]|0;t=(h[o>>2]|0)-i|0;l=a+(f-t)|0;Im(l|0,i|0,t|0)|0;h[e>>2]=l;h[o>>2]=r;h[s>>2]=n;if(!i)return;zv(i);return}function jt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+32|0;y=p+12|0;m=p;k=e+180|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)_=h[e+24>>2]|0;else _=1;i=ce(_<<1,w)|0;h[y>>2]=0;E=y+4|0;h[E>>2]=0;h[y+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,y|0),g=T,T=0,g&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,g=T,T=0,!(g&1)):0){h[y>>2]=t;g=t+(i<<1)|0;h[y+8>>2]=g;Cm(t|0,0,r|0)|0;h[E>>2]=g;break}t=Ze()|0;i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[m>>2]=0;g=m+4|0;h[g>>2]=0;h[m+8>>2]=0;do{if(!_)a=18;else{if(!(_>>>0>1073741823?(T=0,pe(178,m|0),b=T,T=0,b&1):0))a=16;if((a|0)==16?(n=_<<2,T=0,f=ye(67,n|0)|0,b=T,T=0,!(b&1)):0){h[m>>2]=f;a=f+(_<<2)|0;h[m+8>>2]=a;Cm(f|0,0,n|0)|0;h[g>>2]=a;a=18;break}t=Ze()|0;i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+12|0;e:do{if((h[f>>2]|0)>0){a=e+4604|0;l=(ce(_,w)|0)+1|0;s=e+4608|0;o=e+92|0;u=(_|0)>0;c=e+4600|0;b=0;i:while(1){r=h[y>>2]|0;i=r+2|0;h[a>>2]=i;r=r+(l<<1)|0;h[s>>2]=r;if(!(b&1))i=r;else{h[a>>2]=r;h[s>>2]=i}n=h[o>>2]|0;T=0;Fe(h[(h[n>>2]|0)+12>>2]|0,n|0,i|0,h[k>>2]|0,w|0);n=T;T=0;if(n&1){a=28;break}if(u){i=h[a>>2]|0;r=h[s>>2]|0;t=h[m>>2]|0;n=0;do{h[c>>2]=h[t+(n<<2)>>2];t=h[k>>2]|0;d[i+(t<<1)>>1]=d[i+(t+-1<<1)>>1]|0;d[r+-2>>1]=d[i>>1]|0;T=0;ve(68,e|0,0);t=T;T=0;if(t&1){a=27;break i}t=h[m>>2]|0;h[t+(n<<2)>>2]=h[c>>2];i=(h[a>>2]|0)+(w<<1)|0;h[a>>2]=i;r=(h[s>>2]|0)+(w<<1)|0;h[s>>2]=r;n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(h[f>>2]|0)){a=40;break e}}if((a|0)==27){t=Ze()|0;break}else if((a|0)==28){t=Ze()|0;break}}else a=40}while(0);do{if((a|0)==40){T=0;pe(182,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[m>>2]|0;r=i;if(i){t=h[g>>2]|0;if((t|0)!=(i|0))h[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[y>>2]|0;if(!i){v=p;return}r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=p;return}}while(0);i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function Ht(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4604|0;i=h[b>>2]|0;m=e+180|0;if((h[m>>2]|0)<=0)return;w=e+4608|0;_=e+4612|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Vt(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=zt(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function Yt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;n=e+104|0;if((h[n>>2]|0)>>>0<4)qt(e);f=e+100|0;a=e+112|0;l=e+96|0;s=e+108|0;o=e+116|0;i=h[f>>2]|0;t=0;do{r=c[a>>0]|0;if((i|0)>31)break;i=h[l>>2]|0;if(!(r<<24>>24)){c[h[s>>2]>>0]=i>>>24;h[l>>2]=h[l>>2]<<8;i=(h[f>>2]|0)+8|0}else{c[h[s>>2]>>0]=i>>>25;h[l>>2]=h[l>>2]<<7;i=(h[f>>2]|0)+7|0}h[f>>2]=i;u=h[s>>2]|0;r=(c[u>>0]|0)==-1&1;c[a>>0]=r;h[s>>2]=u+1;h[n>>2]=(h[n>>2]|0)+-1;h[o>>2]=(h[o>>2]|0)+1;t=t+1|0}while((t|0)<4);if(!(r<<24>>24))Xt(e,0,(i|0)%8|0);else Xt(e,0,(i+-1|0)%8|0);if((h[n>>2]|0)>>>0<4)qt(e);i=h[f>>2]|0;r=0;do{if((i|0)>31)break;i=h[l>>2]|0;if(!(c[a>>0]|0)){c[h[s>>2]>>0]=i>>>24;h[l>>2]=h[l>>2]<<8;i=(h[f>>2]|0)+8|0}else{c[h[s>>2]>>0]=i>>>25;h[l>>2]=h[l>>2]<<7;i=(h[f>>2]|0)+7|0}h[f>>2]=i;u=h[s>>2]|0;c[a>>0]=(c[u>>0]|0)==-1&1;h[s>>2]=u+1;h[n>>2]=(h[n>>2]|0)+-1;h[o>>2]=(h[o>>2]|0)+1;r=r+1|0}while((r|0)<4);if(!(h[e+132>>2]|0))return;qt(e);return}function qt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;i=h[e+132>>2]|0;if(!i){i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,4,35648);e=T;T=0;if(!(e&1))Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}r=e+108|0;t=e+120|0;f=h[t>>2]|0;n=(h[r>>2]|0)-f|0;if((vE[h[(h[i>>2]|0)+48>>2]&63](i,f,n)|0)==(n|0)){f=h[t>>2]|0;h[r>>2]=f;h[e+104>>2]=(h[e+124>>2]|0)-f;return}i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,4,35648);f=T;T=0;if(!(f&1))Ei(i|0,824,96);f=Ze()|0;We(i|0);si(f|0)}function Xt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;o=e+100|0;r=(h[o>>2]|0)-r|0;h[o>>2]=r;if((r|0)>-1){u=e+96|0;h[u>>2]=h[u>>2]|i<<r;return}u=e+96|0;h[u>>2]=h[u>>2]|i>>0-r;s=e+104|0;if((h[s>>2]|0)>>>0<4){qt(e);r=h[o>>2]|0}f=e+112|0;a=e+108|0;l=e+116|0;t=0;while(1){if((r|0)>31)break;r=h[u>>2]|0;if(!(c[f>>0]|0)){c[h[a>>2]>>0]=r>>>24;h[u>>2]=h[u>>2]<<8;r=(h[o>>2]|0)+8|0}else{c[h[a>>2]>>0]=r>>>25;h[u>>2]=h[u>>2]<<7;r=(h[o>>2]|0)+7|0}h[o>>2]=r;d=h[a>>2]|0;c[f>>0]=(c[d>>0]|0)==-1&1;h[a>>2]=d+1;h[s>>2]=(h[s>>2]|0)+-1;h[l>>2]=(h[l>>2]|0)+1;t=t+1|0;if((t|0)>=4){n=11;break}}e:do{if((n|0)==11)if((r|0)<0){h[u>>2]=h[u>>2]|i>>0-r;if((h[s>>2]|0)>>>0<4){qt(e);r=h[o>>2]|0;t=0}else t=0;do{if((r|0)>31)break e;r=h[u>>2]|0;if(!(c[f>>0]|0)){c[h[a>>2]>>0]=r>>>24;h[u>>2]=h[u>>2]<<8;r=(h[o>>2]|0)+8|0}else{c[h[a>>2]>>0]=r>>>25;h[u>>2]=h[u>>2]<<7;r=(h[o>>2]|0)+7|0}h[o>>2]=r;d=h[a>>2]|0;c[f>>0]=(c[d>>0]|0)==-1&1;h[a>>2]=d+1;h[s>>2]=(h[s>>2]|0)+-1;h[l>>2]=(h[l>>2]|0)+1;t=t+1|0}while((t|0)<4)}}while(0);h[u>>2]=h[u>>2]|i<<r;return}function zt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0;_=i>>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<<i|0)<(n|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;u=e+196+(f*12|0)+8|0;n=(d[u>>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;Wt(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&65535;return _|0}_=n&~(i>>31);_=_&65535;return _|0}function Vt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;s=(h[e+180>>2]|0)-i|0;o=h[e+4608>>2]|0;u=h[e+4604>>2]|0;n=d[o+(i+-1<<1)>>1]|0;l=n&65535;r=h[e+144>>2]|0;f=0;while(1){t=o+(f+i<<1)|0;a=(k[t>>1]|0)-l|0;if((((a|0)>-1?a:0-a|0)|0)>(r|0))break;d[t>>1]=n;f=f+1|0;if((f|0)==(s|0)){f=s;break}}n=(f|0)==(s|0);a=e+4600|0;t=h[36476+(h[a>>2]<<2)>>2]|0;if((1<<t|0)>(f|0))r=f;else{r=f;do{Xt(e,1,1);t=h[a>>2]|0;r=r-(1<<h[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;h[a>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(!n){Xt(e,r,t+1|0);s=f+i|0;i=o+(s<<1)|0;e=Gt(e,k[i>>1]|0,l,k[u+(s<<1)>>1]|0)|0;d[i>>1]=e;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;e=f+1|0;return e|0}if(!r){e=s;return e|0}Xt(e,1,1);e=s;return e|0}function Gt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;l=r-t|0;s=e+136|0;a=e+144|0;n=h[a>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){f=t-r>>31|1;i=ce(f,i-t|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;Kt(e,e+4576|0,n);n=ce(n,f)|0;f=h[a>>2]|0;a=f<<1|1;n=(ce(n,a)|0)+t|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&65535;return s|0}s=i&~(n>>31);s=s&65535;return s|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;f=((i|0)<0?n:0)+i|0;n=f-((f|0)<((n+1|0)/2|0|0)?0:n)|0;Kt(e,e+4588|0,n);f=h[a>>2]|0;a=f<<1|1;n=(ce(a,n)|0)+r|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&65535;return s|0}s=i&~(n>>31);s=s&65535;return s|0}return 0}function Kt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0<a>>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;Wt(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function Wt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<<i)+-1&r,i);return}if((a|0)>31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<<i)+-1&r+-1,i);return}function Jt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;l=e+116|0;i=h[l>>2]|0;s=e+120|0;if(i>>>0<((h[s>>2]|0)+-3|0)>>>0){s=e+112|0;a=h[s>>2]|0;e=e+108|0;h[e>>2]=(b[i+1>>0]<<16|b[i>>0]<<24|b[i+2>>0]<<8|b[i+3>>0])>>>a|h[e>>2];e=32-a>>3;h[l>>2]=i+e;h[s>>2]=(e<<3)+a;return}a=e+104|0;r=h[a>>2]|0;do{if(r){if((h[r+12>>2]|0)==(h[r+16>>2]|0)){if((mE[h[(h[r>>2]|0)+36>>2]&127](r)|0)==-1)break;i=h[l>>2]|0}n=e+124|0;r=h[n>>2]|0;f=r-i|0;if(f>>>0<=64){t=e+92|0;if((r|0)==(i|0))r=i;else{r=0;do{c[(h[t>>2]|0)+r>>0]=c[i+r>>0]|0;r=r+1|0;i=h[l>>2]|0}while(r>>>0<f>>>0);r=i;i=h[n>>2]|0}u=h[t>>2]|0;t=u;o=t-r|0;h[l>>2]=u;r=i+o|0;h[n>>2]=r;h[s>>2]=(h[s>>2]|0)+o;a=h[a>>2]|0;a=vE[h[(h[a>>2]|0)+32>>2]&63](a,r,(h[e+96>>2]|0)-(t+f)|0)|0;h[n>>2]=(h[n>>2]|0)+a}}}while(0);a=e+112|0;f=e+108|0;e=h[e+124>>2]|0;n=e+-1|0;i=h[l>>2]|0;while(1){if(i>>>0>=e>>>0){r=14;break}t=c[i>>0]|0;r=t&255;t=t<<24>>24==-1;if(t){if((i|0)==(n|0)){r=25;break}i=i+1|0;if((c[i>>0]|0)<0){r=25;break}}else i=i+1|0;u=h[a>>2]|0;h[f>>2]=r<<24-u|h[f>>2];h[l>>2]=i;u=u+(t?7:8)|0;h[a>>2]=u;if((u|0)>=24){r=33;break}}if((r|0)==14){if((h[a>>2]|0)>=1)return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,5,35648);u=T;T=0;if(!(u&1))Ei(i|0,824,96);u=Ze()|0;We(i|0);si(u|0)}else if((r|0)==25){if((h[a>>2]|0)>=1)return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,5,35648);u=T;T=0;if(!(u&1))Ei(i|0,824,96);u=Ze()|0;We(i|0);si(u|0)}else if((r|0)==33){e:do{if(i>>>0<e>>>0)do{if((c[i>>0]|0)==-1)break e;i=i+1|0}while(i>>>0<e>>>0)}while(0);h[s>>2]=i;return}}function Zt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+144|0;e:do{if(!(h[d>>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<<h[i>>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<<h[i>>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0<a>>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function Qt(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=e+8|0;n=h[s>>2]|0;o=e+4|0;r=h[o>>2]|0;t=r;if((n-t|0)>>>0>=i>>>0){do{c[r>>0]=0;r=(h[o>>2]|0)+1|0;h[o>>2]=r;i=i+-1|0}while((i|0)!=0);return}r=h[e>>2]|0;f=t-r+i|0;if((f|0)<0){Yv(e);n=h[s>>2]|0;r=h[e>>2]|0}t=n-r|0;if(t>>>0<1073741823){t=t<<1;t=t>>>0<f>>>0?f:t;r=(h[o>>2]|0)-r|0;if(!t){n=0;a=0;f=r}else l=8}else{t=2147483647;r=(h[o>>2]|0)-r|0;l=8}if((l|0)==8){n=t;a=Xv(t)|0;f=r}r=a+f|0;n=a+n|0;t=r;do{c[t>>0]=0;t=r+1|0;r=t;i=i+-1|0}while((i|0)!=0);i=h[e>>2]|0;t=(h[o>>2]|0)-i|0;l=a+(f-t)|0;Im(l|0,i|0,t|0)|0;h[e>>2]=l;h[o>>2]=r;h[s>>2]=n;if(!i)return;zv(i);return}function $t(e){e=e|0;var i=0,r=0;h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function en(e){e=e|0;var i=0,r=0;h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function rn(e){e=e|0;var i=0,r=0;h[e>>2]=36052;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function tn(e){e=e|0;var i=0,r=0;h[e>>2]=36052;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function nn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;bn(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function fn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35828;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];ln(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;ln(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function an(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function ln(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+180|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;do{if(i){if(!(i>>>0>715827882?(T=0,pe(178,g|0),p=T,T=0,p&1):0))a=6;if((a|0)==6?(T=0,r=ye(67,i*6|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;t=r+(i*6|0)|0;h[g+8>>2]=t;while(1){d[r>>1]=0;d[r+2>>1]=0;d[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}h[y>>2]=t;break}t=Ze()|0;i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)a=20;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),c=T,T=0,c&1):0))a=18;if((a|0)==18?(n=w<<2,T=0,f=ye(67,n|0)|0,c=T,T=0,!(c&1)):0){h[_>>2]=f;a=f+(w<<2)|0;h[_+8>>2]=a;Cm(f|0,0,n|0)|0;h[p>>2]=a;a=20;break}t=Ze()|0;i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==20){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4604|0;a=(ce(w,k)|0)+1|0;l=e+4608|0;s=e+92|0;o=(w|0)>0;u=e+4600|0;c=0;i:while(1){r=h[g>>2]|0;i=r+6|0;h[f>>2]=i;r=r+(a*6|0)|0;h[l>>2]=r;if(!(c&1))i=r;else{h[f>>2]=r;h[l>>2]=i}t=h[s>>2]|0;T=0;Fe(h[(h[t>>2]|0)+12>>2]|0,t|0,i|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){a=30;break}if(o){i=h[_>>2]|0;r=h[f>>2]|0;t=0;do{h[u>>2]=h[i+(t<<2)>>2];E=h[b>>2]|0;i=r+(E*6|0)|0;r=r+((E+-1|0)*6|0)|0;d[i>>1]=d[r>>1]|0;d[i+2>>1]=d[r+2>>1]|0;d[i+4>>1]=d[r+4>>1]|0;r=(h[l>>2]|0)+-6|0;i=h[f>>2]|0;d[r>>1]=d[i>>1]|0;d[r+2>>1]=d[i+2>>1]|0;d[r+4>>1]=d[i+4>>1]|0;T=0;ve(69,e|0,0);r=T;T=0;if(r&1){a=29;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[u>>2];r=(h[f>>2]|0)+(k*6|0)|0;h[f>>2]=r;h[l>>2]=(h[l>>2]|0)+(k*6|0);t=t+1|0}while((t|0)<(w|0))}c=c+1|0;if((c|0)>=(h[n>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(182,e|0);E=T;T=0;if(E&1){t=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);v=m;return}}while(0);i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}function sn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0;S=e+180|0;if((h[S>>2]|0)<=0)return;P=e+4608|0;O=e+4604|0;R=e+4612|0;T=0;while(1){E=T+-1|0;f=h[P>>2]|0;a=h[O>>2]|0;i=T+1|0;n=k[a+(T*6|0)>>1]|0;M=h[R>>2]|0;l=k[a+(E*6|0)>>1]|0;s=n-l|0;o=k[f+(E*6|0)>>1]|0;u=l-o|0;b=((((c[M+((k[a+(i*6|0)>>1]|0)-n)>>0]|0)*9|0)+(c[M+s>>0]|0)|0)*9|0)+(c[M+u>>0]|0)|0;t=k[a+(T*6|0)+2>>1]|0;w=k[a+(E*6|0)+2>>1]|0;_=t-w|0;m=k[f+(E*6|0)+2>>1]|0;p=w-m|0;v=((((c[M+((k[a+(i*6|0)+2>>1]|0)-t)>>0]|0)*9|0)+(c[M+_>>0]|0)|0)*9|0)+(c[M+p>>0]|0)|0;r=k[a+(T*6|0)+4>>1]|0;g=k[a+(E*6|0)+4>>1]|0;y=r-g|0;E=k[f+(E*6|0)+4>>1]|0;A=g-E|0;M=((((c[M+((k[a+(i*6|0)+4>>1]|0)-r)>>0]|0)*9|0)+(c[M+y>>0]|0)|0)*9|0)+(c[M+A>>0]|0)|0;if(!(v|b|M))i=(on(e,T,0)|0)+T|0;else{a=k[f+(T*6|0)>>1]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=un(e,b,a,n,0)|0;f=k[(h[P>>2]|0)+(T*6|0)+2>>1]|0;n=t-m>>31;if((n^p|0)>=0)if((n^_|0)<0)t=m;else t=m-w+t|0;n=un(e,v,f,t,0)|0;f=k[(h[P>>2]|0)+(T*6|0)+4>>1]|0;t=r-E>>31;if((t^A|0)>=0)if((t^y|0)<0)r=E;else r=E-g+r|0;A=un(e,M,f,r,0)|0;M=h[P>>2]|0;d[M+(T*6|0)>>1]=a;d[M+(T*6|0)+2>>1]=n;d[M+(T*6|0)+4>>1]=A}if((i|0)<(h[S>>2]|0))T=i;else break}return}function on(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0;S=v;v=v+48|0;w=S+30|0;b=S+24|0;c=S+18|0;_=S+12|0;E=S+6|0;A=S;M=(h[e+180>>2]|0)-i|0;T=h[e+4608>>2]|0;m=h[e+4604>>2]|0;y=i+-1|0;p=d[T+(y*6|0)>>1]|0;g=d[T+(y*6|0)+2>>1]|0;y=d[T+(y*6|0)+4>>1]|0;r=p&65535;t=e+144|0;n=g&65535;f=y&65535;u=0;while(1){s=u+i|0;a=T+(s*6|0)|0;l=T+(s*6|0)+2|0;s=T+(s*6|0)+4|0;P=(k[a>>1]|0)-r|0;o=h[t>>2]|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(k[l>>1]|0)-n|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(k[s>>1]|0)-f|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;d[a>>1]=p;d[l>>1]=g;d[s>>1]=y;u=u+1|0;if((u|0)==(M|0)){u=M;break}}n=(u|0)==(M|0);f=e+4600|0;t=h[36476+(h[f>>2]<<2)>>2]|0;if((1<<t|0)>(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[f>>2]|0;r=r-(1<<h[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;h[f>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(!n){Xt(e,r,t+1|0);i=u+i|0;P=T+(i*6|0)|0;d[E>>1]=d[P>>1]|0;d[E+2>>1]=d[P+2>>1]|0;d[E+4>>1]=d[P+4>>1]|0;d[A>>1]=p;d[A+2>>1]=g;d[A+4>>1]=y;i=m+(i*6|0)|0;d[c>>1]=d[E>>1]|0;d[c+2>>1]=d[E+2>>1]|0;d[c+4>>1]=d[E+4>>1]|0;d[b>>1]=d[A>>1]|0;d[b+2>>1]=d[A+2>>1]|0;d[b+4>>1]=d[A+4>>1]|0;d[w>>1]=d[i>>1]|0;d[w+2>>1]=d[i+2>>1]|0;d[w+4>>1]=d[i+4>>1]|0;dn(_,e,c,b,w);d[P>>1]=d[_>>1]|0;d[P+2>>1]=d[_+2>>1]|0;d[P+4>>1]=d[_+4>>1]|0;P=h[f>>2]|0;h[f>>2]=(P|0)<1?0:P+-1|0;P=u+1|0;v=S;return P|0}if(!r){P=M;v=S;return P|0}Xt(e,1,1);P=M;v=S;return P|0}function un(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0;_=i>>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<<i|0)<(n|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;u=e+196+(f*12|0)+8|0;n=(d[u>>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;cn(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&65535;return _|0}_=n&~(i>>31);_=_&65535;return _|0}function cn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<<i)+-1&r,i);return}if((a|0)>31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<<i)+-1&r+-1,i);return}function dn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0;_=i+136|0;c=k[n>>1]|0;b=c-(k[t>>1]|0)>>31|1;f=ce(b,(k[r>>1]|0)-c|0)|0;o=i+144|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;y=i+140|0;s=h[y>>2]|0;l=((f|0)<0?s:0)+f|0;s=l-((l|0)<((s+1|0)/2|0|0)?0:s)|0;l=i+4576|0;hn(i,l,s);p=k[n+2>>1]|0;v=p-(k[t+2>>1]|0)>>31|1;f=ce(v,(k[r+2>>1]|0)-p|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;w=h[y>>2]|0;g=((f|0)<0?w:0)+f|0;w=g-((g|0)<((w+1|0)/2|0|0)?0:w)|0;hn(i,l,w);g=k[n+4>>1]|0;m=g-(k[t+4>>1]|0)>>31|1;f=ce(m,(k[r+4>>1]|0)-g|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;u=h[y>>2]|0;f=((f|0)<0?u:0)+f|0;u=f-((f|0)<((u+1|0)/2|0|0)?0:u)|0;hn(i,l,u);l=h[o>>2]|0;o=l<<1|1;f=(ce(ce(o,s)|0,b)|0)+c|0;r=0-l|0;if((f|0)>=(r|0)){a=h[_>>2]|0;if((a+l|0)<(f|0)){f=f-(ce(h[y>>2]|0,o)|0)|0;t=a}else t=a}else{f=(ce(h[y>>2]|0,o)|0)+f|0;t=h[_>>2]|0}if((f&t|0)!=(f|0))f=t&~(f>>31);n=f&65535;f=(ce(ce(o,w)|0,v)|0)+p|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)!=(f|0))f=t&~(f>>31);a=f&65535;f=(ce(ce(o,u)|0,m)|0)+g|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)==(f|0)){y=f;y=y&65535;d[e>>1]=n;g=e+2|0;d[g>>1]=a;e=e+4|0;d[e>>1]=y;return}y=t&~(f>>31);y=y&65535;d[e>>1]=n;g=e+2|0;d[g>>1]=a;e=e+4|0;d[e>>1]=y;return}function hn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0<a>>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;cn(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function bn(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+144|0;e:do{if(!(h[d>>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<<h[i>>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<<h[i>>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0<a>>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function kn(e){e=e|0;var i=0,r=0;h[e>>2]=36024;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function wn(e){e=e|0;var i=0,r=0;h[e>>2]=36024;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function _n(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;af(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function mn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35800;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Qn(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Qn(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function pn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function vn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36712;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function gn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36688;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function yn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36664;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function En(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36640;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function An(e){e=e|0;var i=0,r=0;h[e>>2]=36640;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Mn(e){e=e|0;var i=0,r=0;h[e>>2]=36640;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function Tn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Rn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Rn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function Sn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Pn(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{On(e,n,i,r,t);return}}function Pn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{a=b[l+(f*3|0)+1>>0]|0;n=128-a+(b[l+(f*3|0)+2>>0]|0)|0;s=(b[l+(f*3|0)>>0]|0)-a+128|0;o=r+(f*3|0)|0;c[o>>0]=a+192+(((n&255)+(s&255)|0)>>>2);c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=b[l+(i*3|0)+1>>0]|0;s=128-t+(b[l+(i*3|0)+2>>0]|0)|0;o=(b[l+(i*3|0)>>0]|0)-t+128|0;c[r+i>>0]=t+192+(((s&255)+(o&255)|0)>>>2);c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{o=c[l+(a<<2)+3>>0]|0;u=b[l+(a<<2)+1>>0]|0;t=128-u+(b[l+(a<<2)+2>>0]|0)|0;s=(b[l+(a<<2)>>0]|0)-u+128|0;c[r+a>>0]=u+192+(((t&255)+(s&255)|0)>>>2);c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function On(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;Pn(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){Pn(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Rn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=b[i+(e*3|0)+1>>0]|0;f=b[i+(e*3|0)+2>>0]|0;l=(b[i+(e*3|0)>>0]|0)-((f+a|0)>>>2)+64|0;n=r+(e*3|0)|0;c[n>>0]=f+128+l;c[n+1>>0]=l;c[n+2>>0]=a+128+l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=b[i+(a+n)>>0]|0;d=b[i+(a+f)>>0]|0;o=(b[i+a>>0]|0)-((d+u|0)>>>2)+64|0;l=r+(a*3|0)|0;c[l>>0]=d+128+o;c[l+1>>0]=o;c[l+2>>0]=u+128+o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{o=b[i+(a+n)>>0]|0;k=b[i+(a+e)>>0]|0;u=(b[i+a>>0]|0)-((k+o|0)>>>2)+64|0;d=r+(a<<2)|0;u=u<<8&65280|b[i+(a+f)>>0]<<24|k+128+u&255|o+128+u<<16&16711680;c[d>>0]=u;c[d+1>>0]=u>>8;c[d+2>>0]=u>>16;c[d+3>>0]=u>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){k=e+2|0;d=c[e>>0]|0;c[e>>0]=c[k>>0]|0;c[k>>0]=d;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function Ln(e){e=e|0;var i=0,r=0;h[e>>2]=36664;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Cn(e){e=e|0;var i=0,r=0;h[e>>2]=36664;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function Dn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Nn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Nn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function xn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;In(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Bn(e,n,i,r,t);return}}function In(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{i=b[l+(f*3|0)>>0]|0;n=c[l+(f*3|0)+1>>0]|0;a=n&255;s=(b[l+(f*3|0)+2>>0]|0)+128-((a+i|0)>>>1)&255;o=r+(f*3|0)|0;c[o>>0]=i+128-a;c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{s=c[l+(i*3|0)+1>>0]|0;a=b[l+(i*3|0)>>0]|0;t=s&255;o=(b[l+(i*3|0)+2>>0]|0)+128-((t+a|0)>>>1)&255;c[r+i>>0]=a+128-t;c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{t=c[l+(a<<2)+1>>0]|0;o=c[l+(a<<2)+3>>0]|0;d=b[l+(a<<2)>>0]|0;u=t&255;s=(b[l+(a<<2)+2>>0]|0)+128-((u+d|0)>>>1)&255;c[r+a>>0]=d+128-u;c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function Bn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;In(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){In(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Nn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=c[i+(e*3|0)+1>>0]|0;l=a&255;f=(b[i+(e*3|0)>>0]|0)+128+l|0;l=(b[i+(e*3|0)+2>>0]|0)+128+(((f&255)+l|0)>>>1)&255;n=r+(e*3|0)|0;c[n>>0]=f;c[n+1>>0]=a;c[n+2>>0]=l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=c[i+(a+n)>>0]|0;o=u&255;d=(b[i+a>>0]|0)+128+o|0;o=(b[i+(a+f)>>0]|0)+128+(((d&255)+o|0)>>>1)&255;l=r+(a*3|0)|0;c[l>>0]=d;c[l+1>>0]=u;c[l+2>>0]=o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=b[i+(a+n)>>0]|0;o=(b[i+a>>0]|0)+128+u&255;d=r+(a<<2)|0;u=o|u<<8|b[i+(a+f)>>0]<<24|(b[i+(a+e)>>0]|0)+128+((o+u|0)>>>1)<<16&16711680;c[d>>0]=u;c[d+1>>0]=u>>8;c[d+2>>0]=u>>16;c[d+3>>0]=u>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){d=e+2|0;u=c[e>>0]|0;c[e>>0]=c[d>>0]|0;c[d>>0]=u;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function Fn(e){e=e|0;var i=0,r=0;h[e>>2]=36688;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Un(e){e=e|0;var i=0,r=0;h[e>>2]=36688;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function jn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Xn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Xn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function Hn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Yn(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{qn(e,n,i,r,t);return}}function Yn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=c[l+(f*3|0)+1>>0]|0;a=n&255;s=128-a+(b[l+(f*3|0)+2>>0]|0)&255;o=r+(f*3|0)|0;c[o>>0]=(b[l+(f*3|0)>>0]|0)+128-a;c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{s=c[l+(i*3|0)+1>>0]|0;t=s&255;o=128-t+(b[l+(i*3|0)+2>>0]|0)&255;c[r+i>>0]=(b[l+(i*3|0)>>0]|0)+128-t;c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{t=c[l+(a<<2)+1>>0]|0;o=c[l+(a<<2)+3>>0]|0;u=t&255;s=128-u+(b[l+(a<<2)+2>>0]|0)&255;c[r+a>>0]=(b[l+(a<<2)>>0]|0)+128-u;c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function qn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;Yn(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){Yn(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Xn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=c[i+(e*3|0)+1>>0]|0;f=a&255;l=f+128+(b[i+(e*3|0)+2>>0]|0)&255;n=r+(e*3|0)|0;c[n>>0]=(b[i+(e*3|0)>>0]|0)+128+f;c[n+1>>0]=a;c[n+2>>0]=l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=c[i+(a+n)>>0]|0;d=u&255;o=d+128+(b[i+(a+f)>>0]|0)&255;l=r+(a*3|0)|0;c[l>>0]=(b[i+a>>0]|0)+128+d;c[l+1>>0]=u;c[l+2>>0]=o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=b[i+(a+n)>>0]|0;d=r+(a<<2)|0;u=(b[i+a>>0]|0)+128+u&255|u<<8|b[i+(a+f)>>0]<<24|u+128+(b[i+(a+e)>>0]|0)<<16&16711680;c[d>>0]=u;c[d+1>>0]=u>>8;c[d+2>>0]=u>>16;c[d+3>>0]=u>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){d=e+2|0;u=c[e>>0]|0;c[e>>0]=c[d>>0]|0;c[d>>0]=u;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function zn(e){e=e|0;var i=0,r=0;h[e>>2]=36712;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Vn(e){e=e|0;var i=0,r=0;h[e>>2]=36712;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function Gn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Zn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Zn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function Kn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Wn(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Jn(e,n,i,r,t);return}}function Wn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=c[l+(f*3|0)+1>>0]|0;s=c[l+(f*3|0)+2>>0]|0;o=r+(f*3|0)|0;c[o>>0]=c[l+(f*3|0)>>0]|0;c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{s=c[l+(i*3|0)+1>>0]|0;o=c[l+(i*3|0)+2>>0]|0;c[r+i>>0]=c[l+(i*3|0)>>0]|0;c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{t=c[l+(a<<2)+1>>0]|0;s=c[l+(a<<2)+2>>0]|0;o=c[l+(a<<2)+3>>0]|0;c[r+a>>0]=c[l+(a<<2)>>0]|0;c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function Jn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;Wn(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){Wn(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Zn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=c[i+(e*3|0)+1>>0]|0;l=c[i+(e*3|0)+2>>0]|0;n=r+(e*3|0)|0;c[n>>0]=c[i+(e*3|0)>>0]|0;c[n+1>>0]=a;c[n+2>>0]=l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=c[i+(a+n)>>0]|0;o=c[i+(a+f)>>0]|0;l=r+(a*3|0)|0;c[l>>0]=c[i+a>>0]|0;c[l+1>>0]=u;c[l+2>>0]=o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=r+(a<<2)|0;o=b[i+(a+n)>>0]<<8|b[i+a>>0]|b[i+(a+e)>>0]<<16|b[i+(a+f)>>0]<<24;c[u>>0]=o;c[u+1>>0]=o>>8;c[u+2>>0]=o>>16;c[u+3>>0]=o>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){u=e+2|0;o=c[e>>0]|0;c[e>>0]=c[u>>0]|0;c[u>>0]=o;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function Qn(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+180|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,g|0),p=T,T=0,p&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[y>>2]|0)+3|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)f=19;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),d=T,T=0,d&1):0))f=17;if((f|0)==17?(t=w<<2,T=0,n=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[_>>2]=n;f=n+(w<<2)|0;h[_+8>>2]=f;Cm(n|0,0,t|0)|0;h[p>>2]=f;f=19;break}t=Ze()|0;i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4604|0;a=(ce(w,k)|0)+1|0;l=e+4608|0;s=e+92|0;o=(w|0)>0;u=e+4600|0;d=0;i:while(1){t=h[g>>2]|0;i=t+3|0;h[f>>2]=i;r=t+(a*3|0)|0;h[l>>2]=r;if(!(d&1))i=a;else{h[f>>2]=r;h[l>>2]=i;i=1}r=h[s>>2]|0;T=0;Fe(h[(h[r>>2]|0)+12>>2]|0,r|0,t+(i*3|0)|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){f=29;break}if(o){i=h[_>>2]|0;r=h[f>>2]|0;t=0;do{h[u>>2]=h[i+(t<<2)>>2];E=h[b>>2]|0;i=r+(E*3|0)|0;r=r+((E+-1|0)*3|0)|0;c[i>>0]=c[r>>0]|0;c[i+1>>0]=c[r+1>>0]|0;c[i+2>>0]=c[r+2>>0]|0;i=h[f>>2]|0;r=(h[l>>2]|0)+-3|0;c[r>>0]=c[i>>0]|0;c[r+1>>0]=c[i+1>>0]|0;c[r+2>>0]=c[i+2>>0]|0;T=0;ve(70,e|0,0);r=T;T=0;if(r&1){f=28;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[u>>2];r=(h[f>>2]|0)+(k*3|0)|0;h[f>>2]=r;h[l>>2]=(h[l>>2]|0)+(k*3|0);t=t+1|0}while((t|0)<(w|0))}d=d+1|0;if((d|0)>=(h[n>>2]|0)){f=41;break e}}if((f|0)==28){t=Ze()|0;break}else if((f|0)==29){t=Ze()|0;break}}else f=41}while(0);do{if((f|0)==41){T=0;pe(182,e|0);E=T;T=0;if(E&1){t=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=m;return}}while(0);i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function $n(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;T=e+180|0;if((h[T>>2]|0)<=0)return;S=e+4608|0;P=e+4604|0;O=e+4612|0;M=0;while(1){y=M+-1|0;f=h[S>>2]|0;a=h[P>>2]|0;i=M+1|0;n=b[a+(M*3|0)>>0]|0;A=h[O>>2]|0;l=b[a+(y*3|0)>>0]|0;s=n-l|0;o=b[f+(y*3|0)>>0]|0;u=l-o|0;d=((((c[A+((b[a+(i*3|0)>>0]|0)-n)>>0]|0)*9|0)+(c[A+s>>0]|0)|0)*9|0)+(c[A+u>>0]|0)|0;t=b[a+(M*3|0)+1>>0]|0;k=b[a+(y*3|0)+1>>0]|0;w=t-k|0;_=b[f+(y*3|0)+1>>0]|0;m=k-_|0;p=((((c[A+((b[a+(i*3|0)+1>>0]|0)-t)>>0]|0)*9|0)+(c[A+w>>0]|0)|0)*9|0)+(c[A+m>>0]|0)|0;r=b[a+(M*3|0)+2>>0]|0;v=b[a+(y*3|0)+2>>0]|0;g=r-v|0;y=b[f+(y*3|0)+2>>0]|0;E=v-y|0;A=((((c[A+((b[a+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(c[A+g>>0]|0)|0)*9|0)+(c[A+E>>0]|0)|0;if(!(p|d|A))i=(ef(e,M,0)|0)+M|0;else{a=b[f+(M*3|0)>>0]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=rf(e,d,a,n,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+1>>0]|0;n=t-_>>31;if((n^m|0)>=0)if((n^w|0)<0)t=_;else t=_-k+t|0;n=rf(e,p,f,t,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+2>>0]|0;t=r-y>>31;if((t^E|0)>=0)if((t^g|0)<0)r=y;else r=y-v+r|0;A=rf(e,A,f,r,0)|0;M=(h[S>>2]|0)+(M*3|0)|0;c[M>>0]=a;c[M+1>>0]=n;c[M+2>>0]=A}if((i|0)<(h[T>>2]|0))M=i;else break}return}function ef(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0;S=v;v=v+32|0;T=S+15|0;k=S+12|0;d=S+9|0;w=S+6|0;y=S+3|0;E=S;A=(h[e+180>>2]|0)-i|0;M=h[e+4608>>2]|0;_=h[e+4604>>2]|0;g=M+((i+-1|0)*3|0)|0;m=c[g>>0]|0;p=c[g+1>>0]|0;g=c[g+2>>0]|0;r=m&255;t=e+144|0;n=p&255;f=g&255;u=0;while(1){a=M+((u+i|0)*3|0)|0;l=a+1|0;s=a+2|0;P=(b[a>>0]|0)-r|0;o=h[t>>2]|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(b[l>>0]|0)-n|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(b[s>>0]|0)-f|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;c[a>>0]=m;c[l>>0]=p;c[s>>0]=g;u=u+1|0;if((u|0)==(A|0)){u=A;break}}n=(u|0)==(A|0);f=e+4600|0;t=h[36476+(h[f>>2]<<2)>>2]|0;if((1<<t|0)>(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[f>>2]|0;r=r-(1<<h[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;h[f>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(!n){Xt(e,r,t+1|0);i=u+i|0;P=M+(i*3|0)|0;c[y>>0]=c[P>>0]|0;c[y+1>>0]=c[P+1>>0]|0;c[y+2>>0]=c[P+2>>0]|0;c[E>>0]=m;c[E+1>>0]=p;c[E+2>>0]=g;i=_+(i*3|0)|0;c[d>>0]=c[y>>0]|0;c[d+1>>0]=c[y+1>>0]|0;c[d+2>>0]=c[y+2>>0]|0;c[k>>0]=c[E>>0]|0;c[k+1>>0]=c[E+1>>0]|0;c[k+2>>0]=c[E+2>>0]|0;c[T>>0]=c[i>>0]|0;c[T+1>>0]=c[i+1>>0]|0;c[T+2>>0]=c[i+2>>0]|0;nf(w,e,d,k,T);c[P>>0]=c[w>>0]|0;c[P+1>>0]=c[w+1>>0]|0;c[P+2>>0]=c[w+2>>0]|0;P=h[f>>2]|0;h[f>>2]=(P|0)<1?0:P+-1|0;P=u+1|0;v=S;return P|0}if(!r){P=A;v=S;return P|0}Xt(e,1,1);P=A;v=S;return P|0}function rf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0;_=i>>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<<i|0)<(n|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;u=e+196+(f*12|0)+8|0;n=(d[u>>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;tf(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&255;return _|0}_=n&~(i>>31);_=_&255;return _|0}function tf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<<i)+-1&r,i);return}if((a|0)>31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<<i)+-1&r+-1,i);return}function nf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0;_=i+136|0;d=b[n>>0]|0;k=d-(b[t>>0]|0)>>31|1;f=ce(k,(b[r>>0]|0)-d|0)|0;o=i+144|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;y=i+140|0;s=h[y>>2]|0;l=((f|0)<0?s:0)+f|0;s=l-((l|0)<((s+1|0)/2|0|0)?0:s)|0;l=i+4576|0;ff(i,l,s);p=b[n+1>>0]|0;v=p-(b[t+1>>0]|0)>>31|1;f=ce(v,(b[r+1>>0]|0)-p|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;w=h[y>>2]|0;g=((f|0)<0?w:0)+f|0;w=g-((g|0)<((w+1|0)/2|0|0)?0:w)|0;ff(i,l,w);g=b[n+2>>0]|0;m=g-(b[t+2>>0]|0)>>31|1;f=ce(m,(b[r+2>>0]|0)-g|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;u=h[y>>2]|0;f=((f|0)<0?u:0)+f|0;u=f-((f|0)<((u+1|0)/2|0|0)?0:u)|0;ff(i,l,u);l=h[o>>2]|0;o=l<<1|1;f=(ce(ce(o,s)|0,k)|0)+d|0;r=0-l|0;if((f|0)>=(r|0)){a=h[_>>2]|0;if((a+l|0)<(f|0)){f=f-(ce(h[y>>2]|0,o)|0)|0;t=a}else t=a}else{f=(ce(h[y>>2]|0,o)|0)+f|0;t=h[_>>2]|0}if((f&t|0)!=(f|0))f=t&~(f>>31);n=f&255;f=(ce(ce(o,w)|0,v)|0)+p|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)!=(f|0))f=t&~(f>>31);a=f&255;f=(ce(ce(o,u)|0,m)|0)+g|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)==(f|0)){y=f;y=y&255;c[e>>0]=n;g=e+1|0;c[g>>0]=a;e=e+2|0;c[e>>0]=y;return}y=t&~(f>>31);y=y&255;c[e>>0]=n;g=e+1|0;c[g>>0]=a;e=e+2|0;c[e>>0]=y;return}function ff(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0<a>>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;tf(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function af(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+144|0;e:do{if(!(h[d>>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<<h[i>>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<<h[i>>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0<a>>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function lf(e){e=e|0;var i=0,r=0;h[e>>2]=35996;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function sf(e){e=e|0;var i=0,r=0;h[e>>2]=35996;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function of(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,65535,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;mf(e);t=0;do{h[e+172+(t*12|0)>>2]=1024;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=1024;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=1024;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function uf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35772;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];df(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;df(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function cf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function df(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+32|0;y=p+12|0;m=p;k=e+156|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)_=h[e+24>>2]|0;else _=1;i=ce(_<<1,w)|0;h[y>>2]=0;E=y+4|0;h[E>>2]=0;h[y+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,y|0),g=T,T=0,g&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,g=T,T=0,!(g&1)):0){h[y>>2]=t;g=t+(i<<1)|0;h[y+8>>2]=g;Cm(t|0,0,r|0)|0;h[E>>2]=g;break}t=Ze()|0;i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[m>>2]=0;g=m+4|0;h[g>>2]=0;h[m+8>>2]=0;do{if(!_)a=18;else{if(!(_>>>0>1073741823?(T=0,pe(178,m|0),b=T,T=0,b&1):0))a=16;if((a|0)==16?(n=_<<2,T=0,f=ye(67,n|0)|0,b=T,T=0,!(b&1)):0){h[m>>2]=f;a=f+(_<<2)|0;h[m+8>>2]=a;Cm(f|0,0,n|0)|0;h[g>>2]=a;a=18;break}t=Ze()|0;i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+12|0;e:do{if((h[f>>2]|0)>0){a=e+4580|0;l=(ce(_,w)|0)+1|0;s=e+4584|0;o=e+92|0;u=(_|0)>0;c=e+4576|0;b=0;i:while(1){r=h[y>>2]|0;i=r+2|0;h[a>>2]=i;r=r+(l<<1)|0;h[s>>2]=r;if(!(b&1))i=r;else{h[a>>2]=r;h[s>>2]=i}n=h[o>>2]|0;T=0;Fe(h[(h[n>>2]|0)+12>>2]|0,n|0,i|0,h[k>>2]|0,w|0);n=T;T=0;if(n&1){a=28;break}if(u){i=h[a>>2]|0;r=h[s>>2]|0;t=h[m>>2]|0;n=0;do{h[c>>2]=h[t+(n<<2)>>2];t=h[k>>2]|0;d[i+(t<<1)>>1]=d[i+(t+-1<<1)>>1]|0;d[r+-2>>1]=d[i>>1]|0;T=0;ve(71,e|0,0);t=T;T=0;if(t&1){a=27;break i}t=h[m>>2]|0;h[t+(n<<2)>>2]=h[c>>2];i=(h[a>>2]|0)+(w<<1)|0;h[a>>2]=i;r=(h[s>>2]|0)+(w<<1)|0;h[s>>2]=r;n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(h[f>>2]|0)){a=40;break e}}if((a|0)==27){t=Ze()|0;break}else if((a|0)==28){t=Ze()|0;break}}else a=40}while(0);do{if((a|0)==40){T=0;pe(182,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[m>>2]|0;r=i;if(i){t=h[g>>2]|0;if((t|0)!=(i|0))h[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[y>>2]|0;if(!i){v=p;return}r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=p;return}}while(0);i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function hf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4580|0;i=h[b>>2]|0;m=e+156|0;if((h[m>>2]|0)<=0)return;w=e+4584|0;_=e+4588|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(kf(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=bf(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function bf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<<f|0)<(n|0))f=f+1|0;else break}else f=4;else f=3;else f=2;else f=1;else f=0;c=e+172+(s*12|0)+8|0;n=(d[c>>1]^w)-w+t|0;if((n&65535|0)==(n|0))u=n;else u=n>>31&65535^65535;l=(r-u^w)-w<<16;o=l>>16;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;t=n^o;t=t>>30^t<<1;n=t>>f;if((n|0)<47){if((n|0)>30){a=(n|0)/2|0;Xt(e,0,a);n=n-a|0}Xt(e,1,n+1|0);Xt(e,t&(1<<f)+-1,f)}else{Xt(e,0,31);Xt(e,1,17);Xt(e,t+65535&65535,16)}t=e+172+(s*12|0)+4|0;a=d[k>>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-65536?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&65535;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&65535;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&65535;return i|0}function kf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;a=(h[e+156>>2]|0)-i|0;l=h[e+4584>>2]|0;o=h[e+4580>>2]|0;n=d[l+(i+-1<<1)>>1]|0;t=0;while(1){r=l+(t+i<<1)|0;if((d[r>>1]|0)!=n<<16>>16){u=t;break}d[r>>1]=n;t=t+1|0;if((t|0)==(a|0)){u=a;break}}f=n&65535;n=(u|0)==(a|0);s=e+4576|0;t=h[36476+(h[s>>2]<<2)>>2]|0;if((1<<t|0)>(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[s>>2]|0;r=r-(1<<h[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;h[s>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(n){if(!r){e=a;return e|0}Xt(e,1,1);e=a;return e|0}Xt(e,r,t+1|0);r=u+i|0;n=l+(r<<1)|0;t=k[n>>1]|0;r=k[o+(r<<1)>>1]|0;o=f-r|0;if((((o|0)>-1?o:0-o|0)|0)<1){r=t-f<<16>>16;wf(e,e+4564|0,r);r=r+f|0}else{o=r-f>>31|1;i=(ce(t-r<<16,o)|0)>>16;wf(e,e+4552|0,i);r=(ce(i,o)|0)+r|0}d[n>>1]=r;e=h[s>>2]|0;h[s>>2]=(e|0)<1?0:e+-1|0;e=u+1|0;return e|0}function wf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0<a>>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;_f(e,n,t,63-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function _f(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-16|0;if((n|0)<(t+-17|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<<i)+-1&r,i);return}if((f|0)>31){Xt(e,0,31);Xt(e,1,t+-47|0)}else Xt(e,1,f);Xt(e,r+65535&65535,16);return}function mf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,65535,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8909]|0;h[e+4588>>2]=s+(((h[8910]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=131072){if(f>>>0>131072?(a=i+131072|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,131072-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+65536;a=e+168|0;n=e+164|0;f=-65536;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==65536)break}v=o;return}function pf(e){e=e|0;var i=0,r=0;h[e>>2]=35968;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function vf(e){e=e|0;var i=0,r=0;h[e>>2]=35968;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function gf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,4095,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;Rf(e);t=0;do{h[e+172+(t*12|0)>>2]=64;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=64;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=64;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function yf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35744;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Af(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Af(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function Ef(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Af(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+32|0;y=p+12|0;m=p;k=e+156|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)_=h[e+24>>2]|0;else _=1;i=ce(_<<1,w)|0;h[y>>2]=0;E=y+4|0;h[E>>2]=0;h[y+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,y|0),g=T,T=0,g&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,g=T,T=0,!(g&1)):0){h[y>>2]=t;g=t+(i<<1)|0;h[y+8>>2]=g;Cm(t|0,0,r|0)|0;h[E>>2]=g;break}t=Ze()|0;i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[m>>2]=0;g=m+4|0;h[g>>2]=0;h[m+8>>2]=0;do{if(!_)a=18;else{if(!(_>>>0>1073741823?(T=0,pe(178,m|0),b=T,T=0,b&1):0))a=16;if((a|0)==16?(n=_<<2,T=0,f=ye(67,n|0)|0,b=T,T=0,!(b&1)):0){h[m>>2]=f;a=f+(_<<2)|0;h[m+8>>2]=a;Cm(f|0,0,n|0)|0;h[g>>2]=a;a=18;break}t=Ze()|0;i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+12|0;e:do{if((h[f>>2]|0)>0){a=e+4580|0;l=(ce(_,w)|0)+1|0;s=e+4584|0;o=e+92|0;u=(_|0)>0;c=e+4576|0;b=0;i:while(1){r=h[y>>2]|0;i=r+2|0;h[a>>2]=i;r=r+(l<<1)|0;h[s>>2]=r;if(!(b&1))i=r;else{h[a>>2]=r;h[s>>2]=i}n=h[o>>2]|0;T=0;Fe(h[(h[n>>2]|0)+12>>2]|0,n|0,i|0,h[k>>2]|0,w|0);n=T;T=0;if(n&1){a=28;break}if(u){i=h[a>>2]|0;r=h[s>>2]|0;t=h[m>>2]|0;n=0;do{h[c>>2]=h[t+(n<<2)>>2];t=h[k>>2]|0;d[i+(t<<1)>>1]=d[i+(t+-1<<1)>>1]|0;d[r+-2>>1]=d[i>>1]|0;T=0;ve(72,e|0,0);t=T;T=0;if(t&1){a=27;break i}t=h[m>>2]|0;h[t+(n<<2)>>2]=h[c>>2];i=(h[a>>2]|0)+(w<<1)|0;h[a>>2]=i;r=(h[s>>2]|0)+(w<<1)|0;h[s>>2]=r;n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(h[f>>2]|0)){a=40;break e}}if((a|0)==27){t=Ze()|0;break}else if((a|0)==28){t=Ze()|0;break}}else a=40}while(0);do{if((a|0)==40){T=0;pe(182,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[m>>2]|0;r=i;if(i){t=h[g>>2]|0;if((t|0)!=(i|0))h[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[y>>2]|0;if(!i){v=p;return}r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=p;return}}while(0);i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function Mf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4580|0;i=h[b>>2]|0;m=e+156|0;if((h[m>>2]|0)<=0)return;w=e+4584|0;_=e+4588|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Sf(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=Tf(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function Tf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<<f|0)<(n|0))f=f+1|0;else break}else f=4;else f=3;else f=2;else f=1;else f=0;c=e+172+(s*12|0)+8|0;n=(d[c>>1]^w)-w+t|0;if((n&4095|0)==(n|0))u=n;else u=n>>31&4095^4095;l=(r-u^w)-w<<20;o=l>>20;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;t=n^o;t=t>>30^t<<1;n=t>>f;if((n|0)<35){if((n|0)>30){a=(n|0)/2|0;Xt(e,0,a);n=n-a|0}Xt(e,1,n+1|0);Xt(e,t&(1<<f)+-1,f)}else{Xt(e,0,31);Xt(e,1,5);Xt(e,t+4095&4095,12)}t=e+172+(s*12|0)+4|0;a=d[k>>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-1048576?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}function Sf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;a=(h[e+156>>2]|0)-i|0;l=h[e+4584>>2]|0;o=h[e+4580>>2]|0;n=d[l+(i+-1<<1)>>1]|0;t=0;while(1){r=l+(t+i<<1)|0;if((d[r>>1]|0)!=n<<16>>16){u=t;break}d[r>>1]=n;t=t+1|0;if((t|0)==(a|0)){u=a;break}}f=n&65535;n=(u|0)==(a|0);s=e+4576|0;t=h[36476+(h[s>>2]<<2)>>2]|0;if((1<<t|0)>(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[s>>2]|0;r=r-(1<<h[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;h[s>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(n){if(!r){e=a;return e|0}Xt(e,1,1);e=a;return e|0}Xt(e,r,t+1|0);r=u+i|0;n=l+(r<<1)|0;t=k[n>>1]|0;r=k[o+(r<<1)>>1]|0;o=f-r|0;if((((o|0)>-1?o:0-o|0)|0)<1){r=t-f<<20>>20;Pf(e,e+4564|0,r);r=r+f|0}else{o=r-f>>31|1;i=(ce(t-r<<20,o)|0)>>20;Pf(e,e+4552|0,i);r=(ce(i,o)|0)+r|0}d[n>>1]=r&4095;e=h[s>>2]|0;h[s>>2]=(e|0)<1?0:e+-1|0;e=u+1|0;return e|0}function Pf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0<a>>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;Of(e,n,t,47-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function Of(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-12|0;if((n|0)<(t+-13|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<<i)+-1&r,i);return}if((f|0)>31){Xt(e,0,31);Xt(e,1,t+-43|0)}else Xt(e,1,f);Xt(e,r+4095&4095,12);return}function Rf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,4095,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8906]|0;h[e+4588>>2]=s+(((h[8907]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=8192){if(f>>>0>8192?(a=i+8192|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,8192-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+4096;a=e+168|0;n=e+164|0;f=-4096;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==4096)break}v=o;return}function Lf(e){e=e|0;var i=0,r=0;h[e>>2]=35940;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Cf(e){e=e|0;var i=0,r=0;h[e>>2]=35940;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Df(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;Yf(e);t=0;do{h[e+172+(t*12|0)>>2]=4;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=4;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=4;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function xf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35716;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Bf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Bf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function If(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Bf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+156|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,g|0),p=T,T=0,p&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[y>>2]|0)+1|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)f=19;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),d=T,T=0,d&1):0))f=17;if((f|0)==17?(t=w<<2,T=0,n=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[_>>2]=n;f=n+(w<<2)|0;h[_+8>>2]=f;Cm(n|0,0,t|0)|0;h[p>>2]=f;f=19;break}r=Ze()|0;i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4580|0;a=(ce(w,k)|0)+1|0;l=e+4584|0;s=e+92|0;o=(w|0)>0;u=e+4576|0;d=0;i:while(1){r=h[g>>2]|0;i=r+1|0;h[f>>2]=i;r=r+a|0;h[l>>2]=r;if(!(d&1))i=r;else{h[f>>2]=r;h[l>>2]=i}t=h[s>>2]|0;T=0;Fe(h[(h[t>>2]|0)+12>>2]|0,t|0,i|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){f=29;break}if(o){i=h[f>>2]|0;r=h[_>>2]|0;t=0;do{h[u>>2]=h[r+(t<<2)>>2];r=h[b>>2]|0;c[i+r>>0]=c[i+(r+-1)>>0]|0;c[(h[l>>2]|0)+-1>>0]=c[h[f>>2]>>0]|0;T=0;ve(73,e|0,0);r=T;T=0;if(r&1){f=28;break i}r=h[_>>2]|0;h[r+(t<<2)>>2]=h[u>>2];i=(h[f>>2]|0)+k|0;h[f>>2]=i;h[l>>2]=(h[l>>2]|0)+k;t=t+1|0}while((t|0)<(w|0))}d=d+1|0;if((d|0)>=(h[n>>2]|0)){f=41;break e}}if((f|0)==28){r=Ze()|0;break}else if((f|0)==29){r=Ze()|0;break}}else f=41}while(0);do{if((f|0)==41){T=0;pe(182,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);v=m;return}}while(0);i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}function Nf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;d=e+4580|0;i=h[d>>2]|0;_=e+156|0;if((h[_>>2]|0)<=0)return;k=e+4584|0;w=e+4588|0;n=i;f=b[i+-1>>0]|0;i=b[i>>0]|0;u=0;while(1){o=h[k>>2]|0;s=b[o+(u+-1)>>0]|0;t=u+1|0;r=b[n+t>>0]|0;l=h[w>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Uf(e,u,0)|0)+u|0;r=h[d>>2]|0;i=b[r+(t+-1)>>0]|0;r=b[r+t>>0]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=Ff(e,l,b[o+u>>0]|0,n,0)|0;c[(h[k>>2]|0)+u>>0]=o}if((t|0)>=(h[_>>2]|0))break;n=h[d>>2]|0;f=i;i=r;u=t}return}function Ff(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<<f|0)<(n|0))f=f+1|0;else break}else f=4;else f=3;else f=2;else f=1;else f=0;c=e+172+(s*12|0)+8|0;n=(d[c>>1]^w)-w+t|0;if((n&255|0)==(n|0))u=n;else u=n>>31&255^255;l=(r-u^w)-w<<24;o=l>>24;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;n=n^o;n=n>>30^n<<1;t=n>>f;if((t|0)<23){Xt(e,1,t+1|0);Xt(e,n&(1<<f)+-1,f)}else{Xt(e,1,24);Xt(e,n+255&255,8)}t=e+172+(s*12|0)+4|0;a=d[k>>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-16777216?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}function Uf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;a=(h[e+156>>2]|0)-i|0;l=h[e+4584>>2]|0;o=h[e+4580>>2]|0;n=c[l+(i+-1)>>0]|0;t=0;while(1){r=l+(t+i)|0;if((c[r>>0]|0)!=n<<24>>24){u=t;break}c[r>>0]=n;t=t+1|0;if((t|0)==(a|0)){u=a;break}}f=n&255;n=(u|0)==(a|0);s=e+4576|0;t=h[36476+(h[s>>2]<<2)>>2]|0;if((1<<t|0)>(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[s>>2]|0;r=r-(1<<h[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;h[s>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(n){if(!r){e=a;return e|0}Xt(e,1,1);e=a;return e|0}Xt(e,r,t+1|0);r=u+i|0;n=l+r|0;t=b[n>>0]|0;r=b[o+r>>0]|0;o=f-r|0;if((((o|0)>-1?o:0-o|0)|0)<1){r=t-f<<24>>24;jf(e,e+4564|0,r);r=r+f|0}else{o=r-f>>31|1;i=(ce(t-r<<24,o)|0)>>24;jf(e,e+4552|0,i);r=(ce(i,o)|0)+r|0}c[n>>0]=r;e=h[s>>2]|0;h[s>>2]=(e|0)<1?0:e+-1|0;e=u+1|0;return e|0}function jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0<a>>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;Hf(e,n,t,31-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function Hf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-8|0;if((n|0)<(t+-9|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<<i)+-1&r,i);return}if((f|0)>31){Xt(e,0,31);Xt(e,1,t+-39|0)}else Xt(e,1,f);Xt(e,r+255&255,8);return}function Yf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8900]|0;h[e+4588>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+256;a=e+168|0;n=e+164|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function qf(e){e=e|0;var i=0,r=0;h[e>>2]=35912;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Xf(e){e=e|0;var i=0,r=0;h[e>>2]=35912;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function zf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;ea(e);t=0;do{h[e+172+(t*12|0)>>2]=4;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=4;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=4;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function Vf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35688;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Kf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Kf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function Gf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Kf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+156|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,g|0),p=T,T=0,p&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[y>>2]|0)+3|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)f=19;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),d=T,T=0,d&1):0))f=17;if((f|0)==17?(t=w<<2,T=0,n=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[_>>2]=n;f=n+(w<<2)|0;h[_+8>>2]=f;Cm(n|0,0,t|0)|0;h[p>>2]=f;f=19;break}t=Ze()|0;i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4580|0;a=(ce(w,k)|0)+1|0;l=e+4584|0;s=e+92|0;o=(w|0)>0;u=e+4576|0;d=0;i:while(1){t=h[g>>2]|0;i=t+3|0;h[f>>2]=i;r=t+(a*3|0)|0;h[l>>2]=r;if(!(d&1))i=a;else{h[f>>2]=r;h[l>>2]=i;i=1}r=h[s>>2]|0;T=0;Fe(h[(h[r>>2]|0)+12>>2]|0,r|0,t+(i*3|0)|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){f=29;break}if(o){i=h[_>>2]|0;r=h[f>>2]|0;t=0;do{h[u>>2]=h[i+(t<<2)>>2];E=h[b>>2]|0;i=r+(E*3|0)|0;r=r+((E+-1|0)*3|0)|0;c[i>>0]=c[r>>0]|0;c[i+1>>0]=c[r+1>>0]|0;c[i+2>>0]=c[r+2>>0]|0;i=h[f>>2]|0;r=(h[l>>2]|0)+-3|0;c[r>>0]=c[i>>0]|0;c[r+1>>0]=c[i+1>>0]|0;c[r+2>>0]=c[i+2>>0]|0;T=0;ve(74,e|0,0);r=T;T=0;if(r&1){f=28;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[u>>2];r=(h[f>>2]|0)+(k*3|0)|0;h[f>>2]=r;h[l>>2]=(h[l>>2]|0)+(k*3|0);t=t+1|0}while((t|0)<(w|0))}d=d+1|0;if((d|0)>=(h[n>>2]|0)){f=41;break e}}if((f|0)==28){t=Ze()|0;break}else if((f|0)==29){t=Ze()|0;break}}else f=41}while(0);do{if((f|0)==41){T=0;pe(182,e|0);E=T;T=0;if(E&1){t=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=m;return}}while(0);i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function Wf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;T=e+156|0;if((h[T>>2]|0)<=0)return;S=e+4584|0;P=e+4580|0;O=e+4588|0;M=0;while(1){y=M+-1|0;f=h[S>>2]|0;a=h[P>>2]|0;i=M+1|0;n=b[a+(M*3|0)>>0]|0;A=h[O>>2]|0;l=b[a+(y*3|0)>>0]|0;s=n-l|0;o=b[f+(y*3|0)>>0]|0;u=l-o|0;d=((((c[A+((b[a+(i*3|0)>>0]|0)-n)>>0]|0)*9|0)+(c[A+s>>0]|0)|0)*9|0)+(c[A+u>>0]|0)|0;t=b[a+(M*3|0)+1>>0]|0;k=b[a+(y*3|0)+1>>0]|0;w=t-k|0;_=b[f+(y*3|0)+1>>0]|0;m=k-_|0;p=((((c[A+((b[a+(i*3|0)+1>>0]|0)-t)>>0]|0)*9|0)+(c[A+w>>0]|0)|0)*9|0)+(c[A+m>>0]|0)|0;r=b[a+(M*3|0)+2>>0]|0;v=b[a+(y*3|0)+2>>0]|0;g=r-v|0;y=b[f+(y*3|0)+2>>0]|0;E=v-y|0;A=((((c[A+((b[a+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(c[A+g>>0]|0)|0)*9|0)+(c[A+E>>0]|0)|0;if(!(p|d|A))i=(Jf(e,M,0)|0)+M|0;else{a=b[f+(M*3|0)>>0]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=Zf(e,d,a,n,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+1>>0]|0;n=t-_>>31;if((n^m|0)>=0)if((n^w|0)<0)t=_;else t=_-k+t|0;n=Zf(e,p,f,t,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+2>>0]|0;t=r-y>>31;if((t^E|0)>=0)if((t^g|0)<0)r=y;else r=y-v+r|0;A=Zf(e,A,f,r,0)|0;M=(h[S>>2]|0)+(M*3|0)|0;c[M>>0]=a;c[M+1>>0]=n;c[M+2>>0]=A}if((i|0)<(h[T>>2]|0))M=i;else break}return}function Jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0;o=(h[e+156>>2]|0)-i|0;u=h[e+4584>>2]|0;d=h[e+4580>>2]|0;s=u+((i+-1|0)*3|0)|0;k=c[s>>0]|0;l=c[s+1>>0]|0;s=c[s+2>>0]|0;f=0;while(1){r=u+((f+i|0)*3|0)|0;t=r+1|0;n=r+2|0;if(!(((c[r>>0]|0)==k<<24>>24?(c[t>>0]|0)==l<<24>>24:0)&(c[n>>0]|0)==s<<24>>24))break;c[r>>0]=k;c[t>>0]=l;c[n>>0]=s;f=f+1|0;if((f|0)==(o|0)){f=o;break}}n=(f|0)==(o|0);a=e+4576|0;t=h[36476+(h[a>>2]<<2)>>2]|0;if((1<<t|0)>(f|0))r=f;else{r=f;do{Xt(e,1,1);t=h[a>>2]|0;r=r-(1<<h[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;h[a>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(!n){Xt(e,r,t+1|0);t=f+i|0;o=u+(t*3|0)|0;u=o+1|0;r=c[u>>0]|0;i=o+2|0;n=c[i>>0]|0;d=d+(t*3|0)|0;t=c[d+1>>0]|0;p=c[d+2>>0]|0;d=b[d>>0]|0;w=d-(k&255)>>31|1;_=(ce((b[o>>0]|0)-d<<24,w)|0)>>24;m=e+4552|0;Qf(e,m,_);k=t&255;t=k-(l&255)>>31|1;r=(ce((r&255)-k<<24,t)|0)>>24;Qf(e,m,r);l=p&255;s=l-(s&255)>>31|1;n=(ce((n&255)-l<<24,s)|0)>>24;Qf(e,m,n);d=(ce(_,w)|0)+d&255;k=(ce(r,t)|0)+k&255;e=(ce(n,s)|0)+l&255;c[o>>0]=d;c[u>>0]=k;c[i>>0]=e;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;e=f+1|0;return e|0}if(!r){p=o;return p|0}Xt(e,1,1);p=o;return p|0}function Zf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<<f|0)<(n|0))f=f+1|0;else break}else f=4;else f=3;else f=2;else f=1;else f=0;c=e+172+(s*12|0)+8|0;n=(d[c>>1]^w)-w+t|0;if((n&255|0)==(n|0))u=n;else u=n>>31&255^255;l=(r-u^w)-w<<24;o=l>>24;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;n=n^o;n=n>>30^n<<1;t=n>>f;if((t|0)<23){Xt(e,1,t+1|0);Xt(e,n&(1<<f)+-1,f)}else{Xt(e,1,24);Xt(e,n+255&255,8)}t=e+172+(s*12|0)+4|0;a=d[k>>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-16777216?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}function Qf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0<a>>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;$f(e,n,t,31-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function $f(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-8|0;if((n|0)<(t+-9|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<<i)+-1&r,i);return}if((f|0)>31){Xt(e,0,31);Xt(e,1,t+-39|0)}else Xt(e,1,f);Xt(e,r+255&255,8);return}function ea(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8900]|0;h[e+4588>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+256;a=e+168|0;n=e+164|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function ia(e){e=e|0;var i=0,r=0;h[e>>2]=35884;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function ra(e){e=e|0;var i=0,r=0;h[e>>2]=35884;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function ta(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;ha(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function na(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35660;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];aa(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;aa(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function fa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function aa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;m=v;v=v+32|0;g=m+12|0;_=m;k=e+180|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)d=h[e+24>>2]|0;else d=1;i=ce(d<<1,w)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,g|0),p=T,T=0,p&1):0))b=6;if((b|0)==6?(T=0,r=ye(67,i|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[y>>2]|0)+1|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!d)b=19;else{if(!(d>>>0>1073741823?(T=0,pe(178,_|0),u=T,T=0,u&1):0))b=17;if((b|0)==17?(t=d<<2,T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[_>>2]=n;b=n+(d<<2)|0;h[_+8>>2]=b;Cm(n|0,0,t|0)|0;h[p>>2]=b;b=19;break}r=Ze()|0;i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((b|0)==19){a=e+12|0;e:do{if((h[a>>2]|0)>0){l=e+4604|0;s=(ce(d,w)|0)+1|0;o=e+4608|0;u=e+92|0;f=e+4600|0;if((d|0)>0)n=0;else{t=0;while(1){r=h[g>>2]|0;i=r+1|0;h[l>>2]=i;r=r+s|0;h[o>>2]=r;if(!(t&1))i=r;else{h[l>>2]=r;h[o>>2]=i}d=h[u>>2]|0;T=0;Fe(h[(h[d>>2]|0)+12>>2]|0,d|0,i|0,h[k>>2]|0,w|0);d=T;T=0;if(d&1)break;t=t+1|0;if((t|0)>=(h[a>>2]|0)){b=45;break e}}r=Ze()|0;break}i:while(1){r=h[g>>2]|0;i=r+1|0;h[l>>2]=i;r=r+s|0;h[o>>2]=r;if(!(n&1))i=r;else{h[l>>2]=r;h[o>>2]=i}b=h[u>>2]|0;T=0;Fe(h[(h[b>>2]|0)+12>>2]|0,b|0,i|0,h[k>>2]|0,w|0);b=T;T=0;if(b&1){b=28;break}i=h[_>>2]|0;r=h[l>>2]|0;t=0;do{h[f>>2]=h[i+(t<<2)>>2];b=h[k>>2]|0;c[r+b>>0]=c[r+(b+-1)>>0]|0;c[(h[o>>2]|0)+-1>>0]=c[h[l>>2]>>0]|0;T=0;ve(75,e|0,0);b=T;T=0;if(b&1){b=36;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[f>>2];r=(h[l>>2]|0)+w|0;h[l>>2]=r;h[o>>2]=(h[o>>2]|0)+w;t=t+1|0}while((t|0)<(d|0));n=n+1|0;if((n|0)>=(h[a>>2]|0)){b=45;break e}}if((b|0)==28){r=Ze()|0;break}else if((b|0)==36){r=Ze()|0;break}}else b=45}while(0);do{if((b|0)==45){T=0;pe(182,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);v=m;return}}while(0);i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}function la(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;d=e+4604|0;i=h[d>>2]|0;_=e+180|0;if((h[_>>2]|0)<=0)return;k=e+4608|0;w=e+4612|0;n=i;f=b[i+-1>>0]|0;i=b[i>>0]|0;u=0;while(1){o=h[k>>2]|0;s=b[o+(u+-1)>>0]|0;t=u+1|0;r=b[n+t>>0]|0;l=h[w>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(oa(e,u,0)|0)+u|0;r=h[d>>2]|0;i=b[r+(t+-1)>>0]|0;r=b[r+t>>0]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=sa(e,l,b[o+u>>0]|0,n,0)|0;c[(h[k>>2]|0)+u>>0]=o}if((t|0)>=(h[_>>2]|0))break;n=h[d>>2]|0;f=i;i=r;u=t}return}function sa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0;_=i>>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<<i|0)<(n|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;u=e+196+(f*12|0)+8|0;n=(d[u>>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;da(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&255;return _|0}_=n&~(i>>31);_=_&255;return _|0}function oa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;s=(h[e+180>>2]|0)-i|0;o=h[e+4608>>2]|0;u=h[e+4604>>2]|0;n=c[o+(i+-1)>>0]|0;l=n&255;r=e+144|0;f=0;while(1){t=o+(f+i)|0;a=(b[t>>0]|0)-l|0;if((((a|0)>-1?a:0-a|0)|0)>(h[r>>2]|0))break;c[t>>0]=n;f=f+1|0;if((f|0)==(s|0)){f=s;break}}n=(f|0)==(s|0);a=e+4600|0;t=h[36476+(h[a>>2]<<2)>>2]|0;if((1<<t|0)>(f|0))r=f;else{r=f;do{Xt(e,1,1);t=h[a>>2]|0;r=r-(1<<h[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;h[a>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(!n){Xt(e,r,t+1|0);s=f+i|0;i=o+s|0;e=ua(e,b[i>>0]|0,l,b[u+s>>0]|0)|0;c[i>>0]=e;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;e=f+1|0;return e|0}if(!r){e=s;return e|0}Xt(e,1,1);e=s;return e|0}function ua(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;l=r-t|0;s=e+136|0;a=e+144|0;n=h[a>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){f=t-r>>31|1;i=ce(f,i-t|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;ca(e,e+4576|0,n);n=ce(n,f)|0;f=h[a>>2]|0;a=f<<1|1;n=(ce(n,a)|0)+t|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&255;return s|0}s=i&~(n>>31);s=s&255;return s|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;f=((i|0)<0?n:0)+i|0;n=f-((f|0)<((n+1|0)/2|0|0)?0:n)|0;ca(e,e+4588|0,n);f=h[a>>2]|0;a=f<<1|1;n=(ce(a,n)|0)+r|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&255;return s|0}s=i&~(n>>31);s=s&255;return s|0}return 0}function ca(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0<a>>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;da(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function da(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<<i)+-1&r,i);return}if((a|0)>31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<<i)+-1&r+-1,i);return}function ha(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+144|0;e:do{if(!(h[d>>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<<h[i>>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<<h[i>>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0<a>>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function ba(e){e=e|0;var i=0,r=0;h[e>>2]=35856;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function ka(e){e=e|0;var i=0,r=0;h[e>>2]=35856;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function wa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function _a(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;Pa(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function ma(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);pa(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function pa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+172|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,S=T,T=0,!(S&1)):0){h[P>>2]=t;S=t+(i<<1)|0;h[P+8>>2]=S;Cm(t|0,0,r|0)|0;h[O>>2]=S;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=18;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=16;if((a|0)==16?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=18;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4596|0;l=ce(E,y)|0;s=l+1|0;o=e+4600|0;u=(E|0)>0;c=e+160|0;b=e+168|0;k=e+164|0;w=e+156|0;_=e+88|0;m=e+4592|0;p=0;i:while(1){t=h[P>>2]|0;r=t+2|0;h[a>>2]=r;t=t+(s<<1)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;d[r+(n<<1)>>1]=d[r+(n+-1<<1)>>1]|0;d[i+-2>>1]=d[r>>1]|0;T=0;ve(76,e|0,0);n=T;T=0;if(n&1){a=29;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y<<1)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y<<1)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l<<1)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=30;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function va(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0,v=0;w=e+4596|0;r=h[w>>2]|0;v=e+172|0;i=h[v>>2]|0;if((i|0)<=0)return;_=e+4600|0;m=e+4604|0;p=e+4592|0;l=r;f=k[r+-2>>1]|0;r=k[r>>1]|0;b=0;while(1){o=h[_>>2]|0;a=d[o+(b+-1<<1)>>1]|0;u=a&65535;n=b+1|0;t=k[l+(n<<1)>>1]|0;s=h[m>>2]|0;l=r-f|0;f=f-u|0;s=((((c[s+(t-r)>>0]|0)*9|0)+(c[s+l>>0]|0)|0)*9|0)+(c[s+f>>0]|0)|0;o=o+(b<<1)|0;if(!s){i=Ea(e,a,o,i-b|0)|0;r=i+b|0;if((r|0)!=(h[v>>2]|0)){u=Aa(e,u,k[(h[w>>2]|0)+(r<<1)>>1]|0)|0;d[(h[_>>2]|0)+(r<<1)>>1]=u;u=h[p>>2]|0;h[p>>2]=(u|0)<1?0:u+-1|0;i=i+1|0}n=i+b|0;t=h[w>>2]|0;r=k[t+(n+-1<<1)>>1]|0;t=k[t+(n<<1)>>1]|0}else{i=r-u>>31;if((i^f|0)<0)i=r;else i=u+((i^l|0)<0?0:l)|0;u=ya(e,s,k[o>>1]|0,i,0)|0;d[(h[_>>2]|0)+(b<<1)>>1]=u}i=h[v>>2]|0;if((i|0)<=(n|0))break;l=h[w>>2]|0;f=r;r=t;b=n}return}function ga(e){e=e|0;var i=0,r=0,t=0,n=0;t=e+116|0;r=h[t>>2]|0;if((c[r>>0]|0)!=-1){n=e+112|0;i=h[n>>2]|0;if((i|0)<1){Jt(e);i=h[n>>2]|0;r=h[t>>2]|0}e=e+108|0;t=h[e>>2]|0;h[n>>2]=i+-1;i=t<<1;h[e>>2]=i;if((c[r>>0]|0)!=-1){i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,6,35648);e=T;T=0;if(!(e&1))Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}}else i=h[e+108>>2]|0;if(!i)return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,6,35648);e=T;T=0;if(!(e&1))Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}function ya(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<<i|0)<(n|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;u=e+188+(s*12|0)+8|0;r=(d[u>>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<<i)|0}else r=(Sa(e,n)|0)+1|0;r=r<<31>>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<<a;r=h[2832+(i<<11)+(f<<3)>>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&65535;return e|0}e=r&~(n>>31);e=e&65535;return e|0}function Ea(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<<h[36476+(a<<2)>>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)>0)f=0;else return n|0;do{d[r+(f<<1)>>1]=i;f=f+1|0}while((f|0)!=(n|0));return n|0}function Aa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i-r|0;a=e+128|0;t=e+136|0;if((((f|0)>-1?f:0-f|0)|0)>(h[t>>2]|0)){i=ce(Ma(e,e+4568|0)|0,r-i>>31|1)|0;n=h[t>>2]|0;f=n<<1|1;i=(ce(i,f)|0)+r|0;if((i|0)>=(0-n|0)){t=h[a>>2]|0;if((t+n|0)<(i|0))i=i-(ce(h[e+132>>2]|0,f)|0)|0}else{i=(ce(h[e+132>>2]|0,f)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&65535;return e|0}e=t&~(i>>31);e=e&65535;return e|0}else{r=Ma(e,e+4580|0)|0;f=h[t>>2]|0;n=f<<1|1;i=(ce(n,r)|0)+i|0;if((i|0)>=(0-f|0)){t=h[a>>2]|0;if((t+f|0)<(i|0))i=i-(ce(h[e+132>>2]|0,n)|0)|0}else{i=(ce(h[e+132>>2]|0,n)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&65535;return e|0}e=t&~(i>>31);e=e&65535;return e|0}return 0}function Ma(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<<t)|0;t=h[f>>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function Ta(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;f=e+112|0;if((h[f>>2]|0)<16)Jt(e);a=e+108|0;r=h[a>>2]|0;if((r|0)>=0)if(!(r&1073741824))if(!(r&536870912))if(!(r&268435456))if(!(r&134217728))if(!(r&67108864))if(!(r&33554432))if(!(r&16777216))if(!(r&8388608))if(!(r&4194304))if(!(r&2097152))if(!(r&1048576))if(!(r&524288))if(!(r&262144))if(!(r&131072)){n=r>>>12&16;i=n+-1|0;if(!n){i=(h[f>>2]|0)+-15|0;h[f>>2]=i;t=r<<15;h[a>>2]=t;r=i;i=15;while(1){if((r|0)<1){Jt(e);n=h[a>>2]|0;r=h[f>>2]|0}else n=t;r=r+-1|0;h[f>>2]=r;t=n<<1;h[a>>2]=t;if((n|0)<0)break;else i=i+1|0}return i|0}}else i=14;else i=13;else i=12;else i=11;else i=10;else i=9;else i=8;else i=7;else i=6;else i=5;else i=4;else i=3;else i=2;else i=1;else i=0;e=i+1|0;h[f>>2]=(h[f>>2]|0)-e;h[a>>2]=r<<e;a=i;return a|0}function Sa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;t=e+112|0;r=h[t>>2]|0;if((r|0)<(i|0)){Jt(e);r=h[t>>2]|0;if((r|0)<(i|0)){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}n=e+108|0;e=h[n>>2]|0;h[t>>2]=r-i;h[n>>2]=e<<i;return e>>>(32-i|0)|0}function Pa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<<h[i>>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<<h[i>>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0<a>>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function Oa(e){e=e|0;var i=0,r=0;h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Ra(e){e=e|0;var i=0,r=0;h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function La(e){e=e|0;var i=0,r=0;h[e>>2]=35828;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Ca(e){e=e|0;var i=0,r=0;h[e>>2]=35828;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Da(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function xa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;Ya(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function Ia(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Ba(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Ba(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+172|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!(i>>>0>715827882?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(T=0,r=ye(67,i*6|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;t=r+(i*6|0)|0;h[P+8>>2]=t;while(1){d[r>>1]=0;d[r+2>>1]=0;d[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}h[O>>2]=t;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=20;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=18;if((a|0)==18?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=20;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==20){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4596|0;l=ce(E,y)|0;s=l+1|0;o=e+4600|0;u=(E|0)>0;c=e+160|0;b=e+168|0;k=e+164|0;w=e+156|0;_=e+88|0;m=e+4592|0;p=0;i:while(1){t=h[P>>2]|0;r=t+6|0;h[a>>2]=r;t=t+(s*6|0)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];i=h[g>>2]|0;n=r+(i*6|0)|0;r=r+((i+-1|0)*6|0)|0;d[n>>1]=d[r>>1]|0;d[n+2>>1]=d[r+2>>1]|0;d[n+4>>1]=d[r+4>>1]|0;n=(h[o>>2]|0)+-6|0;r=h[a>>2]|0;d[n>>1]=d[r>>1]|0;d[n+2>>1]=d[r+2>>1]|0;d[n+4>>1]=d[r+4>>1]|0;T=0;ve(77,e|0,0);n=T;T=0;if(n&1){a=31;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y*6|0)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y*6|0)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+(((h[w>>2]|0)-l|0)*6|0)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=32;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=44;break e}}if((a|0)==31){t=Ze()|0;break}else if((a|0)==32){t=Ze()|0;break}}else a=44}while(0);do{if((a|0)==44){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}function Na(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0;U=v;v=v+32|0;O=U+24|0;F=U+18|0;N=U+12|0;R=U+6|0;L=U;C=e+172|0;i=h[C>>2]|0;if((i|0)<=0){v=U;return}D=e+4600|0;x=e+4596|0;I=e+4604|0;B=e+4592|0;P=0;while(1){t=P+-1|0;n=h[D>>2]|0;j=h[x>>2]|0;r=P+1|0;f=k[j+(P*6|0)>>1]|0;S=h[I>>2]|0;a=k[j+(t*6|0)>>1]|0;l=f-a|0;s=k[n+(t*6|0)>>1]|0;o=a-s|0;u=((((c[S+((k[j+(r*6|0)>>1]|0)-f)>>0]|0)*9|0)+(c[S+l>>0]|0)|0)*9|0)+(c[S+o>>0]|0)|0;b=k[j+(P*6|0)+2>>1]|0;w=k[j+(t*6|0)+2>>1]|0;_=b-w|0;m=k[n+(t*6|0)+2>>1]|0;p=w-m|0;g=((((c[S+((k[j+(r*6|0)+2>>1]|0)-b)>>0]|0)*9|0)+(c[S+_>>0]|0)|0)*9|0)+(c[S+p>>0]|0)|0;y=k[j+(P*6|0)+4>>1]|0;E=k[j+(t*6|0)+4>>1]|0;A=y-E|0;M=k[n+(t*6|0)+4>>1]|0;T=E-M|0;S=((((c[S+((k[j+(r*6|0)+4>>1]|0)-y)>>0]|0)*9|0)+(c[S+A>>0]|0)|0)*9|0)+(c[S+T>>0]|0)|0;if(!(g|u|S)){r=n+(t*6|0)|0;d[N>>1]=d[r>>1]|0;d[N+2>>1]=d[r+2>>1]|0;d[N+4>>1]=d[r+4>>1]|0;d[O>>1]=d[r>>1]|0;d[O+2>>1]=d[r+2>>1]|0;d[O+4>>1]=d[r+4>>1]|0;i=Fa(e,O,n+(P*6|0)|0,i-P|0)|0;r=i+P|0;if((r|0)!=(h[C>>2]|0)){j=(h[x>>2]|0)+(r*6|0)|0;d[L>>1]=d[j>>1]|0;d[L+2>>1]=d[j+2>>1]|0;d[L+4>>1]=d[j+4>>1]|0;j=(h[D>>2]|0)+(r*6|0)|0;d[F>>1]=d[N>>1]|0;d[F+2>>1]=d[N+2>>1]|0;d[F+4>>1]=d[N+4>>1]|0;d[O>>1]=d[L>>1]|0;d[O+2>>1]=d[L+2>>1]|0;d[O+4>>1]=d[L+4>>1]|0;Ua(R,e,F,O);d[j>>1]=d[R>>1]|0;d[j+2>>1]=d[R+2>>1]|0;d[j+4>>1]=d[R+4>>1]|0;j=h[B>>2]|0;h[B>>2]=(j|0)<1?0:j+-1|0;i=i+1|0}r=i+P|0}else{t=k[n+(P*6|0)>>1]|0;i=f-s>>31;if((i^o|0)>=0)if((i^l|0)<0)i=s;else i=s-a+f|0;else i=f;f=ja(e,u,t,i,0)|0;t=k[(h[D>>2]|0)+(P*6|0)+2>>1]|0;i=b-m>>31;if((i^p|0)>=0)if((i^_|0)<0)i=m;else i=m-w+b|0;else i=b;t=ja(e,g,t,i,0)|0;n=k[(h[D>>2]|0)+(P*6|0)+4>>1]|0;i=y-M>>31;if((i^T|0)>=0)if((i^A|0)<0)i=M;else i=M-E+y|0;else i=y;S=ja(e,S,n,i,0)|0;j=h[D>>2]|0;d[j+(P*6|0)>>1]=f;d[j+(P*6|0)+2>>1]=t;d[j+(P*6|0)+4>>1]=S}i=h[C>>2]|0;if((r|0)>=(i|0))break;else P=r}v=U;return}function Fa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<<h[36476+(a<<2)>>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;f=0;do{k=r+(f*6|0)|0;d[k>>1]=d[i>>1]|0;d[k+2>>1]=d[i+2>>1]|0;d[k+4>>1]=d[i+4>>1]|0;f=f+1|0}while((f|0)!=(n|0));return n|0}function Ua(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;s=i+4568|0;c=Ha(i,s)|0;a=Ha(i,s)|0;s=Ha(i,s)|0;f=i+128|0;n=k[t>>1]|0;o=h[i+136>>2]|0;u=o<<1|1;n=(ce(ce(u,c)|0,n-(k[r>>1]|0)>>31|1)|0)+n|0;c=0-o|0;if((n|0)>=(c|0)){f=h[f>>2]|0;if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else{n=(ce(h[i+132>>2]|0,u)|0)+n|0;f=h[f>>2]|0}if((n&f|0)!=(n|0))n=f&~(n>>31);l=n&65535;n=k[t+2>>1]|0;n=(ce(ce(u,a)|0,n-(k[r+2>>1]|0)>>31|1)|0)+n|0;if((n|0)>=(c|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)!=(n|0))n=f&~(n>>31);a=n&65535;n=k[t+4>>1]|0;n=(ce(ce(u,s)|0,n-(k[r+4>>1]|0)>>31|1)|0)+n|0;if((n|0)>=(c|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)==(n|0)){i=n;i=i&65535;d[e>>1]=l;c=e+2|0;d[c>>1]=a;e=e+4|0;d[e>>1]=i;return}i=f&~(n>>31);i=i&65535;d[e>>1]=l;c=e+2|0;d[c>>1]=a;e=e+4|0;d[e>>1]=i;return}function ja(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<<i|0)<(n|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;u=e+188+(s*12|0)+8|0;r=(d[u>>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<<i)|0}else r=(Sa(e,n)|0)+1|0;r=r<<31>>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<<a;r=h[2832+(i<<11)+(f<<3)>>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&65535;return e|0}e=r&~(n>>31);e=e&65535;return e|0}function Ha(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<<t)|0;t=h[f>>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function Ya(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<<h[i>>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<<h[i>>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0<a>>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function qa(e){e=e|0;var i=0,r=0;h[e>>2]=35800;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Xa(e){e=e|0;var i=0,r=0;h[e>>2]=35800;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function za(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Va(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;el(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function Ga(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Ka(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Ka(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+172|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,P|0),S=T,T=0,S&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[O>>2]|0)+3|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)f=19;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))f=17;if((f|0)==17?(t=E<<2,T=0,n=ye(67,t|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=n;f=n+(E<<2)|0;h[A+8>>2]=f;Cm(n|0,0,t|0)|0;h[S>>2]=f;f=19;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4596|0;l=ce(E,y)|0;s=l+1|0;o=e+4600|0;u=(E|0)>0;d=e+160|0;b=e+168|0;k=e+164|0;w=e+156|0;_=e+88|0;m=e+4592|0;p=0;i:while(1){t=h[P>>2]|0;r=t+3|0;h[a>>2]=r;t=t+(s*3|0)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];i=h[g>>2]|0;n=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;r=h[a>>2]|0;n=(h[o>>2]|0)+-3|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;T=0;ve(78,e|0,0);n=T;T=0;if(n&1){f=30;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y*3|0)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y*3|0)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[d>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+(((h[w>>2]|0)-l|0)*3|0)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){f=31;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){f=43;break e}}if((f|0)==30){t=Ze()|0;break}else if((f|0)==31){t=Ze()|0;break}}else f=43}while(0);do{if((f|0)==43){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function Wa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0;F=v;v=v+16|0;P=F+12|0;N=F+9|0;B=F+6|0;O=F+3|0;R=F;L=e+172|0;i=h[L>>2]|0;if((i|0)<=0){v=F;return}C=e+4600|0;D=e+4596|0;x=e+4604|0;I=e+4592|0;S=0;while(1){A=S+-1|0;t=h[C>>2]|0;n=t+(A*3|0)|0;U=h[D>>2]|0;r=S+1|0;f=b[U+(S*3|0)>>0]|0;T=h[x>>2]|0;a=b[U+(A*3|0)>>0]|0;l=f-a|0;s=b[n>>0]|0;o=a-s|0;u=((((c[T+((b[U+(r*3|0)>>0]|0)-f)>>0]|0)*9|0)+(c[T+l>>0]|0)|0)*9|0)+(c[T+o>>0]|0)|0;d=b[U+(S*3|0)+1>>0]|0;k=b[U+(A*3|0)+1>>0]|0;w=d-k|0;_=b[t+(A*3|0)+1>>0]|0;m=k-_|0;p=((((c[T+((b[U+(r*3|0)+1>>0]|0)-d)>>0]|0)*9|0)+(c[T+w>>0]|0)|0)*9|0)+(c[T+m>>0]|0)|0;g=b[U+(S*3|0)+2>>0]|0;y=b[U+(A*3|0)+2>>0]|0;E=g-y|0;A=b[t+(A*3|0)+2>>0]|0;M=y-A|0;T=((((c[T+((b[U+(r*3|0)+2>>0]|0)-g)>>0]|0)*9|0)+(c[T+E>>0]|0)|0)*9|0)+(c[T+M>>0]|0)|0;if(!(p|u|T)){c[B>>0]=c[n>>0]|0;c[B+1>>0]=c[n+1>>0]|0;c[B+2>>0]=c[n+2>>0]|0;c[P>>0]=c[n>>0]|0;c[P+1>>0]=c[n+1>>0]|0;c[P+2>>0]=c[n+2>>0]|0;i=Ja(e,P,t+(S*3|0)|0,i-S|0)|0;r=i+S|0;if((r|0)!=(h[L>>2]|0)){U=(h[D>>2]|0)+(r*3|0)|0;c[R>>0]=c[U>>0]|0;c[R+1>>0]=c[U+1>>0]|0;c[R+2>>0]=c[U+2>>0]|0;U=h[C>>2]|0;c[N>>0]=c[B>>0]|0;c[N+1>>0]=c[B+1>>0]|0;c[N+2>>0]=c[B+2>>0]|0;c[P>>0]=c[R>>0]|0;c[P+1>>0]=c[R+1>>0]|0;c[P+2>>0]=c[R+2>>0]|0;Za(O,e,N,P);U=U+(r*3|0)|0;c[U>>0]=c[O>>0]|0;c[U+1>>0]=c[O+1>>0]|0;c[U+2>>0]=c[O+2>>0]|0;U=h[I>>2]|0;h[I>>2]=(U|0)<1?0:U+-1|0;i=i+1|0}r=i+S|0}else{t=b[t+(S*3|0)>>0]|0;i=f-s>>31;if((i^o|0)>=0)if((i^l|0)<0)i=s;else i=s-a+f|0;else i=f;f=Qa(e,u,t,i,0)|0;t=b[(h[C>>2]|0)+(S*3|0)+1>>0]|0;i=d-_>>31;if((i^m|0)>=0)if((i^w|0)<0)i=_;else i=_-k+d|0;else i=d;t=Qa(e,p,t,i,0)|0;n=b[(h[C>>2]|0)+(S*3|0)+2>>0]|0;i=g-A>>31;if((i^M|0)>=0)if((i^E|0)<0)i=A;else i=A-y+g|0;else i=g;T=Qa(e,T,n,i,0)|0;U=(h[C>>2]|0)+(S*3|0)|0;c[U>>0]=f;c[U+1>>0]=t;c[U+2>>0]=T}i=h[L>>2]|0;if((r|0)>=(i|0))break;else S=r}v=F;return}function Ja(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<<h[36476+(a<<2)>>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;f=0;do{b=r+(f*3|0)|0;c[b>>0]=c[i>>0]|0;c[b+1>>0]=c[i+1>>0]|0;c[b+2>>0]=c[i+2>>0]|0;f=f+1|0}while((f|0)!=(n|0));return n|0}function Za(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;s=i+4568|0;d=$a(i,s)|0;a=$a(i,s)|0;s=$a(i,s)|0;f=i+128|0;n=b[t>>0]|0;o=h[i+136>>2]|0;u=o<<1|1;n=(ce(ce(u,d)|0,n-(b[r>>0]|0)>>31|1)|0)+n|0;d=0-o|0;if((n|0)>=(d|0)){f=h[f>>2]|0;if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else{n=(ce(h[i+132>>2]|0,u)|0)+n|0;f=h[f>>2]|0}if((n&f|0)!=(n|0))n=f&~(n>>31);l=n&255;n=b[t+1>>0]|0;n=(ce(ce(u,a)|0,n-(b[r+1>>0]|0)>>31|1)|0)+n|0;if((n|0)>=(d|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)!=(n|0))n=f&~(n>>31);a=n&255;n=b[t+2>>0]|0;n=(ce(ce(u,s)|0,n-(b[r+2>>0]|0)>>31|1)|0)+n|0;if((n|0)>=(d|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)==(n|0)){i=n;i=i&255;c[e>>0]=l;d=e+1|0;c[d>>0]=a;e=e+2|0;c[e>>0]=i;return}i=f&~(n>>31);i=i&255;c[e>>0]=l;d=e+1|0;c[d>>0]=a;e=e+2|0;c[e>>0]=i;return}function Qa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<<i|0)<(n|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;u=e+188+(s*12|0)+8|0;r=(d[u>>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<<i)|0}else r=(Sa(e,n)|0)+1|0;r=r<<31>>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<<a;r=h[2832+(i<<11)+(f<<3)>>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&255;return e|0}e=r&~(n>>31);e=e&255;return e|0}function $a(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<<t)|0;t=h[f>>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function el(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<<h[i>>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<<h[i>>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0<a>>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function il(e){e=e|0;var i=0,r=0;h[e>>2]=35772;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function rl(e){e=e|0;var i=0,r=0;h[e>>2]=35772;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function tl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function nl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,65535,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;dl(e);t=0;do{h[e+164+(t*12|0)>>2]=1024;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=1024;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=1024;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function fl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);al(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function al(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,S=T,T=0,!(S&1)):0){h[P>>2]=t;S=t+(i<<1)|0;h[P+8>>2]=S;Cm(t|0,0,r|0)|0;h[O>>2]=S;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=18;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=16;if((a|0)==16?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=18;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;c=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+2|0;h[a>>2]=r;t=t+(s<<1)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;d[r+(n<<1)>>1]=d[r+(n+-1<<1)>>1]|0;d[i+-2>>1]=d[r>>1]|0;T=0;ve(79,e|0,0);n=T;T=0;if(n&1){a=29;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y<<1)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y<<1)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l<<1)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=30;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function ll(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4572|0;i=h[b>>2]|0;m=e+148|0;if((h[m>>2]|0)<=0)return;w=e+4576|0;_=e+4580|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(ol(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=sl(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function sl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<<f|0)<(n|0))f=f+1|0;else break}else f=4;else f=3;else f=2;else f=1;else f=0;u=e+164+(o*12|0)+8|0;r=(d[u>>1]^w)-w+t|0;if((r&65535|0)!=(r|0))r=r>>31&65535^65535;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<47){if(f)n=(Sa(e,f)|0)+(n<<f)|0}else n=(Sa(e,16)|0)+1|0;n=n<<31>>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<<s;n=h[2832+(f<<11)+(l<<3)>>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&65535;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&65535;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&65535;return i|0}function ol(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+4576|0;n=h[f>>2]|0;r=d[n+(i+-1<<1)>>1]|0;a=e+148|0;n=ul(e,r,n+(i<<1)|0,(h[a>>2]|0)-i|0)|0;t=n+i|0;if((t|0)==(h[a>>2]|0)){a=n;return a|0}r=r&65535;i=k[(h[e+4572>>2]|0)+(t<<1)>>1]|0;a=r-i|0;if((((a|0)>-1?a:0-a|0)|0)<1)r=(cl(e,e+4556|0)|0)+r|0;else r=(ce(cl(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;d[(h[f>>2]|0)+(t<<1)>>1]=r;a=e+4568|0;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;a=n+1|0;return a|0}function ul(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<<h[36476+(a<<2)>>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)>0)f=0;else return n|0;do{d[r+(f<<1)>>1]=i;f=f+1|0}while((f|0)!=(n|0));return n|0}function cl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(46-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<<t)|0;e=h[f>>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,16)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function dl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,65535,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8909]|0;h[e+4580>>2]=s+(((h[8910]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=131072){if(f>>>0>131072?(a=i+131072|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,131072-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+65536;a=e+160|0;n=e+156|0;f=-65536;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==65536)break}v=o;return}function hl(e){e=e|0;var i=0,r=0;h[e>>2]=35744;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function bl(e){e=e|0;var i=0,r=0;h[e>>2]=35744;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function kl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function wl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,4095,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;Al(e);t=0;do{h[e+164+(t*12|0)>>2]=64;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=64;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=64;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function _l(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);ml(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function ml(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,S=T,T=0,!(S&1)):0){h[P>>2]=t;S=t+(i<<1)|0;h[P+8>>2]=S;Cm(t|0,0,r|0)|0;h[O>>2]=S;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=18;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=16;if((a|0)==16?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=18;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;c=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+2|0;h[a>>2]=r;t=t+(s<<1)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;d[r+(n<<1)>>1]=d[r+(n+-1<<1)>>1]|0;d[i+-2>>1]=d[r>>1]|0;T=0;ve(80,e|0,0);n=T;T=0;if(n&1){a=29;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y<<1)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y<<1)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l<<1)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=30;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function pl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4572|0;i=h[b>>2]|0;m=e+148|0;if((h[m>>2]|0)<=0)return;w=e+4576|0;_=e+4580|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(gl(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=vl(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function vl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<<f|0)<(n|0))f=f+1|0;else break}else f=4;else f=3;else f=2;else f=1;else f=0;u=e+164+(o*12|0)+8|0;r=(d[u>>1]^w)-w+t|0;if((r&4095|0)!=(r|0))r=r>>31&4095^4095;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<35){if(f)n=(Sa(e,f)|0)+(n<<f)|0}else n=(Sa(e,12)|0)+1|0;n=n<<31>>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<<s;n=h[2832+(f<<11)+(l<<3)>>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}function gl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+4576|0;n=h[f>>2]|0;r=d[n+(i+-1<<1)>>1]|0;a=e+148|0;n=yl(e,r,n+(i<<1)|0,(h[a>>2]|0)-i|0)|0;t=n+i|0;if((t|0)==(h[a>>2]|0)){a=n;return a|0}r=r&65535;i=k[(h[e+4572>>2]|0)+(t<<1)>>1]|0;a=r-i|0;if((((a|0)>-1?a:0-a|0)|0)<1)r=(El(e,e+4556|0)|0)+r|0;else r=(ce(El(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;d[(h[f>>2]|0)+(t<<1)>>1]=r&4095;a=e+4568|0;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;a=n+1|0;return a|0}function yl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<<h[36476+(a<<2)>>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)>0)f=0;else return n|0;do{d[r+(f<<1)>>1]=i;f=f+1|0}while((f|0)!=(n|0));return n|0}function El(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(34-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<<t)|0;e=h[f>>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,12)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function Al(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,4095,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8906]|0;h[e+4580>>2]=s+(((h[8907]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=8192){if(f>>>0>8192?(a=i+8192|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,8192-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+4096;a=e+160|0;n=e+156|0;f=-4096;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==4096)break}v=o;return}function Ml(e){e=e|0;var i=0,r=0;h[e>>2]=35716;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Tl(e){e=e|0;var i=0,r=0;h[e>>2]=35716;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Sl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Pl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;Bl(e);t=0;do{h[e+164+(t*12|0)>>2]=4;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=4;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=4;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function Ol(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Rl(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Rl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[O>>2]|0)+1|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)f=19;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))f=17;if((f|0)==17?(t=E<<2,T=0,n=ye(67,t|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=n;f=n+(E<<2)|0;h[A+8>>2]=f;Cm(n|0,0,t|0)|0;h[S>>2]=f;f=19;break}r=Ze()|0;i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;d=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+1|0;h[a>>2]=r;t=t+s|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;c[r+n>>0]=c[r+(n+-1)>>0]|0;c[(h[o>>2]|0)+-1>>0]=c[h[a>>2]>>0]|0;T=0;ve(81,e|0,0);n=T;T=0;if(n&1){f=30;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+y|0;h[a>>2]=r;i=(h[o>>2]|0)+y|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[d>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){f=31;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){f=43;break e}}if((f|0)==30){r=Ze()|0;break}else if((f|0)==31){r=Ze()|0;break}}else f=43}while(0);do{if((f|0)==43){T=0;pe(183,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);v=M;return}}while(0);i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}function Ll(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;d=e+4572|0;i=h[d>>2]|0;_=e+148|0;if((h[_>>2]|0)<=0)return;k=e+4576|0;w=e+4580|0;n=i;f=b[i+-1>>0]|0;i=b[i>>0]|0;u=0;while(1){o=h[k>>2]|0;s=b[o+(u+-1)>>0]|0;t=u+1|0;r=b[n+t>>0]|0;l=h[w>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Dl(e,u,0)|0)+u|0;r=h[d>>2]|0;i=b[r+(t+-1)>>0]|0;r=b[r+t>>0]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=Cl(e,l,b[o+u>>0]|0,n,0)|0;c[(h[k>>2]|0)+u>>0]=o}if((t|0)>=(h[_>>2]|0))break;n=h[d>>2]|0;f=i;i=r;u=t}return}function Cl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<<f|0)<(n|0))f=f+1|0;else break}else f=4;else f=3;else f=2;else f=1;else f=0;u=e+164+(o*12|0)+8|0;r=(d[u>>1]^w)-w+t|0;if((r&255|0)!=(r|0))r=r>>31&255^255;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<23){if(f)n=(Sa(e,f)|0)+(n<<f)|0}else n=(Sa(e,8)|0)+1|0;n=n<<31>>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<<s;n=h[2832+(f<<11)+(l<<3)>>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}function Dl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+4576|0;n=h[f>>2]|0;r=c[n+(i+-1)>>0]|0;a=e+148|0;n=xl(e,r,n+i|0,(h[a>>2]|0)-i|0)|0;t=n+i|0;if((t|0)==(h[a>>2]|0)){a=n;return a|0}r=r&255;i=b[(h[e+4572>>2]|0)+t>>0]|0;a=r-i|0;if((((a|0)>-1?a:0-a|0)|0)<1)r=(Il(e,e+4556|0)|0)+r|0;else r=(ce(Il(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;c[(h[f>>2]|0)+t>>0]=r;a=e+4568|0;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;a=n+1|0;return a|0}function xl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<<h[36476+(a<<2)>>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;Cm(r|0,i|0,n|0)|0;return n|0}function Il(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(22-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<<t)|0;e=h[f>>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,8)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function Bl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8900]|0;h[e+4580>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+256;a=e+160|0;n=e+156|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function Nl(e){e=e|0;var i=0,r=0;h[e>>2]=35688;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Fl(e){e=e|0;var i=0,r=0;h[e>>2]=35688;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Ul(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function jl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;Vp(e);t=0;do{h[e+164+(t*12|0)>>2]=4;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=4;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=4;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function Hl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Yl(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Yl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,P|0),S=T,T=0,S&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[O>>2]|0)+3|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)f=19;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))f=17;if((f|0)==17?(t=E<<2,T=0,n=ye(67,t|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=n;f=n+(E<<2)|0;h[A+8>>2]=f;Cm(n|0,0,t|0)|0;h[S>>2]=f;f=19;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;d=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+3|0;h[a>>2]=r;t=t+(s*3|0)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];i=h[g>>2]|0;n=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;r=h[a>>2]|0;n=(h[o>>2]|0)+-3|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;T=0;ve(82,e|0,0);n=T;T=0;if(n&1){f=30;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y*3|0)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y*3|0)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[d>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+(((h[w>>2]|0)-l|0)*3|0)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){f=31;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){f=43;break e}}if((f|0)==30){t=Ze()|0;break}else if((f|0)==31){t=Ze()|0;break}}else f=43}while(0);do{if((f|0)==43){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function ql(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;T=e+148|0;if((h[T>>2]|0)<=0)return;S=e+4576|0;P=e+4572|0;O=e+4580|0;M=0;while(1){y=M+-1|0;f=h[S>>2]|0;a=h[P>>2]|0;i=M+1|0;n=b[a+(M*3|0)>>0]|0;A=h[O>>2]|0;l=b[a+(y*3|0)>>0]|0;s=n-l|0;o=b[f+(y*3|0)>>0]|0;u=l-o|0;d=((((c[A+((b[a+(i*3|0)>>0]|0)-n)>>0]|0)*9|0)+(c[A+s>>0]|0)|0)*9|0)+(c[A+u>>0]|0)|0;t=b[a+(M*3|0)+1>>0]|0;k=b[a+(y*3|0)+1>>0]|0;w=t-k|0;_=b[f+(y*3|0)+1>>0]|0;m=k-_|0;p=((((c[A+((b[a+(i*3|0)+1>>0]|0)-t)>>0]|0)*9|0)+(c[A+w>>0]|0)|0)*9|0)+(c[A+m>>0]|0)|0;r=b[a+(M*3|0)+2>>0]|0;v=b[a+(y*3|0)+2>>0]|0;g=r-v|0;y=b[f+(y*3|0)+2>>0]|0;E=v-y|0;A=((((c[A+((b[a+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(c[A+g>>0]|0)|0)*9|0)+(c[A+E>>0]|0)|0;if(!(p|d|A))i=(Xl(e,M,0)|0)+M|0;else{a=b[f+(M*3|0)>>0]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=zl(e,d,a,n,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+1>>0]|0;n=t-_>>31;if((n^m|0)>=0)if((n^w|0)<0)t=_;else t=_-k+t|0;n=zl(e,p,f,t,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+2>>0]|0;t=r-y>>31;if((t^E|0)>=0)if((t^g|0)<0)r=y;else r=y-v+r|0;A=zl(e,A,f,r,0)|0;M=(h[S>>2]|0)+(M*3|0)|0;c[M>>0]=a;c[M+1>>0]=n;c[M+2>>0]=A}if((i|0)<(h[T>>2]|0))M=i;else break}return}function Xl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;s=v;v=v+16|0;u=s+3|0;d=s;f=e+4576|0;r=h[f>>2]|0;t=r+((i+-1|0)*3|0)|0;a=c[t>>0]|0;l=c[t+1>>0]|0;t=c[t+2>>0]|0;c[d>>0]=a;c[d+1>>0]=l;c[d+2>>0]=t;o=e+148|0;n=(h[o>>2]|0)-i|0;c[u>>0]=c[d>>0]|0;c[u+1>>0]=c[d+1>>0]|0;c[u+2>>0]=c[d+2>>0]|0;n=Vl(e,u,r+(i*3|0)|0,n)|0;r=n+i|0;if((r|0)==(h[o>>2]|0)){d=n;v=s;return d|0}u=(h[e+4572>>2]|0)+(r*3|0)|0;i=c[u>>0]|0;o=c[u+1>>0]|0;u=c[u+2>>0]|0;d=h[f>>2]|0;f=e+4544|0;k=Gl(e,f)|0;b=Gl(e,f)|0;i=i&255;i=(ce(i-(a&255)>>31|1,k)|0)+i&255;o=o&255;o=(ce(o-(l&255)>>31|1,b)|0)+o&255;u=u&255;u=(ce(u-(t&255)>>31|1,Gl(e,f)|0)|0)+u&255;d=d+(r*3|0)|0;c[d>>0]=i;c[d+1>>0]=o;c[d+2>>0]=u;d=e+4568|0;u=h[d>>2]|0;h[d>>2]=(u|0)<1?0:u+-1|0;d=n+1|0;v=s;return d|0}function zl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<<f|0)<(n|0))f=f+1|0;else break}else f=4;else f=3;else f=2;else f=1;else f=0;u=e+164+(o*12|0)+8|0;r=(d[u>>1]^w)-w+t|0;if((r&255|0)!=(r|0))r=r>>31&255^255;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<23){if(f)n=(Sa(e,f)|0)+(n<<f)|0}else n=(Sa(e,8)|0)+1|0;n=n<<31>>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<<s;n=h[2832+(f<<11)+(l<<3)>>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}function Vl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<<h[36476+(a<<2)>>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;f=0;do{b=r+(f*3|0)|0;c[b>>0]=c[i>>0]|0;c[b+1>>0]=c[i+1>>0]|0;c[b+2>>0]=c[i+2>>0]|0;f=f+1|0}while((f|0)!=(n|0));return n|0}function Gl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(22-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<<t)|0;e=h[f>>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,8)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function Kl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+128|0;f=u;b=u+116|0;k=u+104|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,0,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=w_(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Wl(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+240|0;a=c+8|0;e=c;b=c+204|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,0,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,23,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=w_(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Jl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+352|0;_=A+312|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+316|0;w=A+80|0;l=A+84|0;E=A+76|0;y=A+72|0;p=A+68|0;g=A+64|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58898,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,h[d>>2]=h[r+8>>2],m[d+8>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<3)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(4,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(40,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function Zl(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;E=v;v=v+16|0;A=E;y=Vu(a,44212)|0;p=Vu(a,44368)|0;wE[h[(h[p>>2]|0)+20>>2]&127](A,p);h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,a|0)|0;g=T;T=0;if(g&1)m=8;else{o=h[f>>2]|0;h[f>>2]=o+4;h[o>>2]=a;o=e+1|0;m=10}break}default:{o=e;m=10}}e:do{if((m|0)==10){g=r;i:do{if((g-o|0)>1?(c[o>>0]|0)==48:0){l=o+1|0;switch(c[l>>0]|0){case 88:case 120:break;default:{m=11;break i}}T=0;a=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,48)|0;_=T;T=0;if(_&1){m=8;break e}_=h[f>>2]|0;h[f>>2]=_+4;h[_>>2]=a;o=o+2|0;T=0;a=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,c[l>>0]|0)|0;_=T;T=0;if(_&1){m=8;break e}_=h[f>>2]|0;h[f>>2]=_+4;h[_>>2]=a;if(o>>>0<r>>>0){a=o;while(1){l=c[a>>0]|0;T=0;s=Ce(3)|0;_=T;T=0;if(_&1)break;T=0;l=Oe(39,l<<24>>24|0,s|0)|0;_=T;T=0;if(_&1)break;if(!l){_=o;break i}a=a+1|0;if(a>>>0>=r>>>0){_=o;break i}}a=Ze()|0;break e}else{_=o;a=o}}else m=11}while(0);i:do{if((m|0)==11)if(o>>>0<r>>>0){a=o;while(1){l=c[a>>0]|0;T=0;s=Ce(3)|0;_=T;T=0;if(_&1)break;T=0;l=Oe(40,l<<24>>24|0,s|0)|0;_=T;T=0;if(_&1)break;if(!l){_=o;break i}a=a+1|0;if(a>>>0>=r>>>0){_=o;break i}}a=Ze()|0;break e}else{_=o;a=o}}while(0);k=c[A>>0]|0;w=A+4|0;if(((k&1)==0?(k&255)>>>1:h[w>>2]|0)|0){if((_|0)!=(a|0)?(u=a+-1|0,_>>>0<u>>>0):0){s=_;l=u;do{k=c[s>>0]|0;c[s>>0]=c[l>>0]|0;c[l>>0]=k;s=s+1|0;l=l+-1|0}while(s>>>0<l>>>0)}T=0;u=ye(h[(h[p>>2]|0)+16>>2]|0,p|0)|0;k=T;T=0;if(k&1){m=8;break}d=A+8|0;b=A+1|0;i:do{if(_>>>0<a>>>0){l=0;s=0;k=_;while(1){o=c[((c[A>>0]&1)==0?b:h[d>>2]|0)+s>>0]|0;if(o<<24>>24>0&(l|0)==(o<<24>>24|0)){l=h[f>>2]|0;h[f>>2]=l+4;h[l>>2]=u;l=c[A>>0]|0;o=0;s=(s>>>0<(((l&1)==0?(l&255)>>>1:h[w>>2]|0)+-1|0)>>>0&1)+s|0}else o=l;T=0;l=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,c[k>>0]|0)|0;M=T;T=0;if(M&1)break;M=h[f>>2]|0;h[f>>2]=M+4;h[M>>2]=l;k=k+1|0;if(k>>>0>=a>>>0)break i;else l=o+1|0}a=Ze()|0;break e}}while(0);l=t+(_-e<<2)|0;o=h[f>>2]|0;if((l|0)!=(o|0)){s=o+-4|0;if(l>>>0<s>>>0){do{M=h[l>>2]|0;h[l>>2]=h[s>>2];h[s>>2]=M;l=l+4|0;s=s+-4|0}while(l>>>0<s>>>0);u=y;l=o}else{u=y;l=o}}else u=y}else{T=0;De(h[(h[y>>2]|0)+48>>2]|0,y|0,_|0,a|0,h[f>>2]|0)|0;M=T;T=0;if(M&1){m=8;break}l=(h[f>>2]|0)+(a-_<<2)|0;h[f>>2]=l;u=y}i:do{if(a>>>0<r>>>0){while(1){l=c[a>>0]|0;if(l<<24>>24==46){s=a;break}T=0;s=Oe(h[(h[u>>2]|0)+44>>2]|0,y|0,l|0)|0;M=T;T=0;if(M&1){m=4;break}M=h[f>>2]|0;l=M+4|0;h[f>>2]=l;h[M>>2]=s;a=a+1|0;if(a>>>0>=r>>>0)break i}if((m|0)==4){a=Ze()|0;break e}T=0;a=ye(h[(h[p>>2]|0)+12>>2]|0,p|0)|0;M=T;T=0;if(M&1){m=8;break e}M=h[f>>2]|0;l=M+4|0;h[f>>2]=l;h[M>>2]=a;a=s+1|0}}while(0);T=0;De(h[(h[y>>2]|0)+48>>2]|0,y|0,a|0,r|0,l|0)|0;M=T;T=0;if(M&1)m=8;else{M=(h[f>>2]|0)+(g-a<<2)|0;h[f>>2]=M;h[n>>2]=(i|0)==(r|0)?M:t+(i-e<<2)|0;qd(A);v=E;return}}}while(0);if((m|0)==8)a=Ze()|0;qd(A);si(a|0)}function Ql(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+352|0;_=A+304|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+308|0;w=A+72|0;l=A+76|0;E=A+68|0;y=A+64|0;p=A+60|0;g=A+56|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58899,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,m[d>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<3)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(4,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(40,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function $l(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+192|0;s=b;e=b+180|0;u=b+160|0;d=b+12|0;l=b+8|0;o=b+4|0;c[e>>0]=c[58901]|0;c[e+1>>0]=c[58902]|0;c[e+2>>0]=c[58903]|0;c[e+3>>0]=c[58904]|0;c[e+4>>0]=c[58905]|0;c[e+5>>0]=c[58906]|0;f=rk()|0;h[s>>2]=n;e=b_(u,20,f,e,s)|0;n=u+e|0;f=Pk(u,n,r)|0;a=_h(r)|0;h[l>>2]=a;T=0;l=Oe(37,l|0,44212)|0;k=T;T=0;if(k&1){k=Ze()|0;Ad(a)|0;si(k|0)}else{Ad(a)|0;OE[h[(h[l>>2]|0)+48>>2]&31](l,u,n,d)|0;k=d+(e<<2)|0;h[o>>2]=h[i>>2];h[s>>2]=h[o>>2];k=w_(s,d,(f|0)==(n|0)?k:d+(f-u<<2)|0,k,r,t)|0;v=b;return k|0}return 0}function es(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0;P=v;v=v+32|0;g=P+16|0;p=P+12|0;A=P+8|0;y=P+4|0;E=P;s=_h(t)|0;h[A>>2]=s;T=0;A=Oe(37,A|0,44220)|0;m=T;T=0;if(m&1){P=Ze()|0;Ad(s)|0;si(P|0)}Ad(s)|0;h[n>>2]=0;m=A+8|0;s=h[i>>2]|0;e:do{if((a|0)!=(l|0)){i:while(1){o=s;if(s){if((h[s+12>>2]|0)==(h[s+16>>2]|0)?(mE[h[(h[s>>2]|0)+36>>2]&127](s)|0)==-1:0){h[i>>2]=0;s=0;o=0}}else s=0;w=(s|0)==0;k=h[r>>2]|0;u=k;do{if(k){if((h[k+12>>2]|0)==(h[k+16>>2]|0)?(mE[h[(h[k>>2]|0)+36>>2]&127](k)|0)==-1:0){h[r>>2]=0;u=0;S=12;break}if(!w){S=13;break i}}else S=12}while(0);if((S|0)==12){S=0;if(w){S=13;break}else k=0}r:do{if((vE[h[(h[A>>2]|0)+36>>2]&63](A,c[a>>0]|0,0)|0)<<24>>24==37){k=a+1|0;if((k|0)==(l|0)){S=17;break i}_=vE[h[(h[A>>2]|0)+36>>2]&63](A,c[k>>0]|0,0)|0;switch(_<<24>>24){case 48:case 69:{w=a+2|0;if((w|0)==(l|0)){S=20;break i}a=k;k=vE[h[(h[A>>2]|0)+36>>2]&63](A,c[w>>0]|0,0)|0;s=_;break}default:{k=_;s=0}}_=h[(h[e>>2]|0)+36>>2]|0;h[y>>2]=o;h[E>>2]=u;h[p>>2]=h[y>>2];h[g>>2]=h[E>>2];_=CE[_&15](e,p,g,t,n,f,k,s)|0;h[i>>2]=_;a=a+2|0}else{o=c[a>>0]|0;if(o<<24>>24>-1?(M=h[m>>2]|0,(d[M+(o<<24>>24<<1)>>1]&8192)!=0):0){do{a=a+1|0;if((a|0)==(l|0)){a=l;break}o=c[a>>0]|0;if(o<<24>>24<=-1)break}while((d[M+(o<<24>>24<<1)>>1]&8192)!=0);o=k;while(1){if(s){if((h[s+12>>2]|0)==(h[s+16>>2]|0)?(mE[h[(h[s>>2]|0)+36>>2]&127](s)|0)==-1:0){h[i>>2]=0;s=0}}else s=0;u=(s|0)==0;do{if(k){if((h[k+12>>2]|0)!=(h[k+16>>2]|0))if(u){_=o;break}else break r;if((mE[h[(h[k>>2]|0)+36>>2]&127](k)|0)!=-1)if(u^(o|0)==0){_=o;k=o;break}else break r;else{h[r>>2]=0;o=0;S=39;break}}else S=39}while(0);if((S|0)==39){S=0;if(u)break r;else{_=o;k=0}}u=s+12|0;o=h[u>>2]|0;w=s+16|0;if((o|0)==(h[w>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=b[o>>0]|0;if((o&255)<<24>>24<=-1)break r;if(!(d[(h[m>>2]|0)+(o<<24>>24<<1)>>1]&8192))break r;o=h[u>>2]|0;if((o|0)==(h[w>>2]|0)){mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;o=_;continue}else{h[u>>2]=o+1;o=_;continue}}}u=s+12|0;o=h[u>>2]|0;k=s+16|0;if((o|0)==(h[k>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=b[o>>0]|0;_=ME[h[(h[A>>2]|0)+12>>2]&63](A,o&255)|0;if(_<<24>>24!=(ME[h[(h[A>>2]|0)+12>>2]&63](A,c[a>>0]|0)|0)<<24>>24){S=57;break i}o=h[u>>2]|0;if((o|0)==(h[k>>2]|0))mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;else h[u>>2]=o+1;a=a+1|0}}while(0);s=h[i>>2]|0;if(!((a|0)!=(l|0)&(h[n>>2]|0)==0))break e}if((S|0)==13){h[n>>2]=4;break}else if((S|0)==17){h[n>>2]=4;break}else if((S|0)==20){h[n>>2]=4;break}else if((S|0)==57){h[n>>2]=4;s=h[i>>2]|0;break}}}while(0);if(s){if((h[s+12>>2]|0)==(h[s+16>>2]|0)?(mE[h[(h[s>>2]|0)+36>>2]&127](s)|0)==-1:0){h[i>>2]=0;s=0}}else s=0;a=(s|0)==0;o=h[r>>2]|0;do{if(o){if((h[o+12>>2]|0)==(h[o+16>>2]|0)?(mE[h[(h[o>>2]|0)+36>>2]&127](o)|0)==-1:0){h[r>>2]=0;S=67;break}if(!a)S=68}else S=67}while(0);if((S|0)==67?a:0)S=68;if((S|0)==68)h[n>>2]=h[n>>2]|2;v=P;return s|0}function is(e){e=e|0;return}function rs(e){e=e|0;zv(e);return}function ts(e){e=e|0;return 2}function ns(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=es(e,s,l,t,n,f,58907,58915)|0;v=a;return e|0}function fs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;d=e+8|0;d=mE[h[(h[d>>2]|0)+20>>2]&127](d)|0;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];r=c[d>>0]|0;b=(r&1)==0;i=b?d+1|0:h[d+8>>2]|0;r=i+(b?(r&255)>>>1:h[d+4>>2]|0)|0;h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=es(e,s,l,t,n,f,i,r)|0;v=a;return e|0}function as(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44220)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];ls(e,f+24|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function ls(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[h[e>>2]>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(Gw(r,l,e,e+168|0,f,n,0)|0)-e|0;if((r|0)<168)h[i>>2]=((r|0)/12|0|0)%7|0;v=a;return}function ss(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44220)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];os(e,f+16|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function os(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[(h[e>>2]|0)+4>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(Gw(r,l,e,e+288|0,f,n,0)|0)-e|0;if((r|0)<288)h[i>>2]=((r|0)/12|0|0)%12|0;v=a;return}function us(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44220)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];cs(e,f+20|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function cs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,4)|0;if(!(h[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;h[i>>2]=e+-1900}v=a;return}function ds(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0;V=v;v=v+144|0;s=V+132|0;l=V+116|0;U=V+128|0;y=V+124|0;x=V+120|0;j=V+112|0;H=V+108|0;Y=V+104|0;q=V+100|0;X=V+96|0;z=V+92|0;o=V+88|0;u=V+84|0;d=V+80|0;b=V+76|0;k=V+72|0;w=V+68|0;_=V+64|0;m=V+60|0;p=V+56|0;g=V+52|0;E=V+48|0;A=V+44|0;M=V+40|0;S=V+36|0;P=V+32|0;O=V+28|0;R=V+24|0;L=V+20|0;C=V+16|0;D=V+12|0;I=V+8|0;B=V+4|0;N=V;h[n>>2]=0;F=_h(t)|0;h[U>>2]=F;T=0;U=Oe(37,U|0,44220)|0;K=T;T=0;if(K&1){K=Ze()|0;Ad(F)|0;si(K|0)}Ad(F)|0;do{switch(a<<24>>24|0){case 65:case 97:{h[y>>2]=h[r>>2];h[s>>2]=h[y>>2];ls(e,f+24|0,i,s,n,U);G=28;break}case 104:case 66:case 98:{h[x>>2]=h[r>>2];h[s>>2]=h[x>>2];os(e,f+16|0,i,s,n,U);G=28;break}case 99:{G=e+8|0;G=mE[h[(h[G>>2]|0)+12>>2]&127](G)|0;h[j>>2]=h[i>>2];h[H>>2]=h[r>>2];a=c[G>>0]|0;r=(a&1)==0;K=r?G+1|0:h[G+8>>2]|0;G=K+(r?(a&255)>>>1:h[G+4>>2]|0)|0;h[l>>2]=h[j>>2];h[s>>2]=h[H>>2];G=es(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 101:case 100:{h[Y>>2]=h[r>>2];h[s>>2]=h[Y>>2];hs(e,f+12|0,i,s,n,U);G=28;break}case 68:{h[q>>2]=h[i>>2];h[X>>2]=h[r>>2];h[l>>2]=h[q>>2];h[s>>2]=h[X>>2];G=es(e,l,s,t,n,f,58915,58923)|0;h[i>>2]=G;G=28;break}case 70:{h[z>>2]=h[i>>2];h[o>>2]=h[r>>2];h[l>>2]=h[z>>2];h[s>>2]=h[o>>2];G=es(e,l,s,t,n,f,58923,58931)|0;h[i>>2]=G;G=28;break}case 72:{h[u>>2]=h[r>>2];h[s>>2]=h[u>>2];bs(e,f+8|0,i,s,n,U);G=28;break}case 73:{h[d>>2]=h[r>>2];h[s>>2]=h[d>>2];ks(e,f+8|0,i,s,n,U);G=28;break}case 106:{h[b>>2]=h[r>>2];h[s>>2]=h[b>>2];ws(e,f+28|0,i,s,n,U);G=28;break}case 109:{h[k>>2]=h[r>>2];h[s>>2]=h[k>>2];_s(e,f+16|0,i,s,n,U);G=28;break}case 77:{h[w>>2]=h[r>>2];h[s>>2]=h[w>>2];ms(e,f+4|0,i,s,n,U);G=28;break}case 116:case 110:{h[_>>2]=h[r>>2];h[s>>2]=h[_>>2];ps(e,i,s,n,U);G=28;break}case 112:{h[m>>2]=h[r>>2];h[s>>2]=h[m>>2];vs(e,f+8|0,i,s,n,U);G=28;break}case 114:{h[p>>2]=h[i>>2];h[g>>2]=h[r>>2];h[l>>2]=h[p>>2];h[s>>2]=h[g>>2];G=es(e,l,s,t,n,f,58931,58942)|0;h[i>>2]=G;G=28;break}case 82:{h[E>>2]=h[i>>2];h[A>>2]=h[r>>2];h[l>>2]=h[E>>2];h[s>>2]=h[A>>2];G=es(e,l,s,t,n,f,58942,58947)|0;h[i>>2]=G;G=28;break}case 83:{h[M>>2]=h[r>>2];h[s>>2]=h[M>>2];gs(e,f,i,s,n,U);G=28;break}case 84:{h[S>>2]=h[i>>2];h[P>>2]=h[r>>2];h[l>>2]=h[S>>2];h[s>>2]=h[P>>2];G=es(e,l,s,t,n,f,58947,58955)|0;h[i>>2]=G;G=28;break}case 119:{h[O>>2]=h[r>>2];h[s>>2]=h[O>>2];ys(e,f+24|0,i,s,n,U);G=28;break}case 120:{K=h[(h[e>>2]|0)+20>>2]|0;h[R>>2]=h[i>>2];h[L>>2]=h[r>>2];h[l>>2]=h[R>>2];h[s>>2]=h[L>>2];l=_E[K&63](e,l,s,t,n,f)|0;break}case 88:{G=e+8|0;G=mE[h[(h[G>>2]|0)+24>>2]&127](G)|0;h[C>>2]=h[i>>2];h[D>>2]=h[r>>2];a=c[G>>0]|0;r=(a&1)==0;K=r?G+1|0:h[G+8>>2]|0;G=K+(r?(a&255)>>>1:h[G+4>>2]|0)|0;h[l>>2]=h[C>>2];h[s>>2]=h[D>>2];G=es(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 121:{h[I>>2]=h[r>>2];h[s>>2]=h[I>>2];cs(e,f+20|0,i,s,n,U);G=28;break}case 89:{h[B>>2]=h[r>>2];h[s>>2]=h[B>>2];Es(e,f+20|0,i,s,n,U);G=28;break}case 37:{h[N>>2]=h[r>>2];h[s>>2]=h[N>>2];As(e,i,s,n,U);G=28;break}default:{h[n>>2]=h[n>>2]|4;G=28}}}while(0);if((G|0)==28)l=h[i>>2]|0;v=V;return l|0}function hs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function bs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<24&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ks(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ws(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,3)|0;r=h[n>>2]|0;if((e|0)<366&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function _s(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<13&(r&4|0)==0)h[i>>2]=e+-1;else h[n>>2]=r|4;v=a;return}function ms(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<60&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ps(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;a=n+8|0;e:while(1){n=h[i>>2]|0;do{if(n){if((h[n+12>>2]|0)==(h[n+16>>2]|0))if((mE[h[(h[n>>2]|0)+36>>2]&127](n)|0)==-1){h[i>>2]=0;n=0;break}else{n=h[i>>2]|0;break}}else n=0}while(0);n=(n|0)==0;e=h[r>>2]|0;do{if(e){if((h[e+12>>2]|0)!=(h[e+16>>2]|0))if(n)break;else break e;if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)!=-1)if(n)break;else break e;else{h[r>>2]=0;l=12;break}}else l=12}while(0);if((l|0)==12){l=0;if(n){e=0;break}else e=0}n=h[i>>2]|0;f=h[n+12>>2]|0;if((f|0)==(h[n+16>>2]|0))n=mE[h[(h[n>>2]|0)+36>>2]&127](n)|0;else n=b[f>>0]|0;if((n&255)<<24>>24<=-1)break;if(!(d[(h[a>>2]|0)+(n<<24>>24<<1)>>1]&8192))break;n=h[i>>2]|0;e=n+12|0;f=h[e>>2]|0;if((f|0)==(h[n+16>>2]|0)){mE[h[(h[n>>2]|0)+40>>2]&127](n)|0;continue}else{h[e>>2]=f+1;continue}}n=h[i>>2]|0;do{if(n){if((h[n+12>>2]|0)==(h[n+16>>2]|0))if((mE[h[(h[n>>2]|0)+36>>2]&127](n)|0)==-1){h[i>>2]=0;n=0;break}else{n=h[i>>2]|0;break}}else n=0}while(0);n=(n|0)==0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)?(mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1:0){h[r>>2]=0;l=32;break}if(!n)l=33}else l=32}while(0);if((l|0)==32?n:0)l=33;if((l|0)==33)h[t>>2]=h[t>>2]|2;return}function vs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;l=u+4|0;s=u;o=e+8|0;o=mE[h[(h[o>>2]|0)+8>>2]&127](o)|0;e=c[o>>0]|0;if(!(e&1))a=(e&255)>>>1;else a=h[o+4>>2]|0;e=c[o+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=h[o+16>>2]|0;do{if((a|0)!=(0-e|0)){h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];e=Gw(r,l,o,o+24|0,f,n,0)|0;a=h[i>>2]|0;if((e|0)==(o|0)&(a|0)==12){h[i>>2]=0;break}if((a|0)<12&(e-o|0)==12)h[i>>2]=a+12}else h[n>>2]=h[n>>2]|4}while(0);v=u;return}function gs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<61&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ys(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,1)|0;r=h[n>>2]|0;if((e|0)<7&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Es(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,4)|0;if(!(h[n>>2]&4))h[i>>2]=e+-1900;v=a;return}function As(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;e=h[i>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0))if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}else e=0}while(0);f=(e|0)==0;e=h[r>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)?(mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1:0){h[r>>2]=0;l=11;break}if(f){a=e;l=13}else l=12}else l=11}while(0);if((l|0)==11)if(f)l=12;else{a=0;l=13}e:do{if((l|0)==12)h[t>>2]=h[t>>2]|6;else if((l|0)==13){e=h[i>>2]|0;f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=b[f>>0]|0;if((vE[h[(h[n>>2]|0)+36>>2]&63](n,e&255,0)|0)<<24>>24!=37){h[t>>2]=h[t>>2]|4;break}e=h[i>>2]|0;f=e+12|0;n=h[f>>2]|0;if((n|0)==(h[e+16>>2]|0)){mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;e=h[i>>2]|0;if(!e)e=0;else l=21}else{h[f>>2]=n+1;l=21}do{if((l|0)==21)if((h[e+12>>2]|0)==(h[e+16>>2]|0))if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}while(0);e=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)?(mE[h[(h[a>>2]|0)+36>>2]&127](a)|0)==-1:0){h[r>>2]=0;l=30;break}if(e)break e}else l=30}while(0);if((l|0)==30?!e:0)break;h[t>>2]=h[t>>2]|2}}while(0);return}function Ms(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+32|0;w=y+16|0;k=y+12|0;p=y+8|0;_=y+4|0;m=y;s=_h(t)|0;h[p>>2]=s;T=0;p=Oe(37,p|0,44212)|0;b=T;T=0;if(b&1){y=Ze()|0;Ad(s)|0;si(y|0)}Ad(s)|0;h[n>>2]=0;s=h[i>>2]|0;e:do{if((a|0)!=(l|0)){i:while(1){u=s;if(s){o=h[s+12>>2]|0;if((o|0)==(h[s+16>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=h[o>>2]|0;if((o|0)==-1){h[i>>2]=0;s=0;d=1;b=0}else{d=0;b=u}}else{s=0;d=1;b=u}c=h[r>>2]|0;o=c;do{if(c){u=h[c+12>>2]|0;if((u|0)==(h[c+16>>2]|0))u=mE[h[(h[c>>2]|0)+36>>2]&127](c)|0;else u=h[u>>2]|0;if((u|0)!=-1)if(d)break;else{g=17;break i}else{h[r>>2]=0;o=0;g=15;break}}else g=15}while(0);if((g|0)==15){g=0;if(d){g=17;break}else c=0}r:do{if((vE[h[(h[p>>2]|0)+52>>2]&63](p,h[a>>2]|0,0)|0)<<24>>24==37){u=a+4|0;if((u|0)==(l|0)){g=21;break i}d=vE[h[(h[p>>2]|0)+52>>2]&63](p,h[u>>2]|0,0)|0;switch(d<<24>>24){case 48:case 69:{c=a+8|0;if((c|0)==(l|0)){g=24;break i}a=u;u=vE[h[(h[p>>2]|0)+52>>2]&63](p,h[c>>2]|0,0)|0;s=d;break}default:{u=d;s=0}}d=h[(h[e>>2]|0)+36>>2]|0;h[_>>2]=b;h[m>>2]=o;h[k>>2]=h[_>>2];h[w>>2]=h[m>>2];b=CE[d&15](e,k,w,t,n,f,u,s)|0;h[i>>2]=b;a=a+8|0}else{if(!(vE[h[(h[p>>2]|0)+12>>2]&63](p,8192,h[a>>2]|0)|0)){u=s+12|0;o=h[u>>2]|0;c=s+16|0;if((o|0)==(h[c>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=h[o>>2]|0;b=ME[h[(h[p>>2]|0)+28>>2]&63](p,o)|0;if((b|0)!=(ME[h[(h[p>>2]|0)+28>>2]&63](p,h[a>>2]|0)|0)){g=61;break i}o=h[u>>2]|0;if((o|0)==(h[c>>2]|0))mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;else h[u>>2]=o+4;a=a+4|0;break}do{a=a+4|0;if((a|0)==(l|0)){a=l;break}}while(vE[h[(h[p>>2]|0)+12>>2]&63](p,8192,h[a>>2]|0)|0);o=c;d=c;while(1){if(s){u=h[s+12>>2]|0;if((u|0)==(h[s+16>>2]|0))u=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else u=h[u>>2]|0;if((u|0)==-1){h[i>>2]=0;c=1;s=0}else c=0}else{c=1;s=0}do{if(d){u=h[d+12>>2]|0;if((u|0)==(h[d+16>>2]|0))u=mE[h[(h[d>>2]|0)+36>>2]&127](d)|0;else u=h[u>>2]|0;if((u|0)!=-1)if(c^(o|0)==0){b=o;d=o;break}else break r;else{h[r>>2]=0;o=0;g=44;break}}else g=44}while(0);if((g|0)==44){g=0;if(c)break r;else{b=o;d=0}}u=s+12|0;o=h[u>>2]|0;c=s+16|0;if((o|0)==(h[c>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=h[o>>2]|0;if(!(vE[h[(h[p>>2]|0)+12>>2]&63](p,8192,o)|0))break r;o=h[u>>2]|0;if((o|0)==(h[c>>2]|0)){mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;o=b;continue}else{h[u>>2]=o+4;o=b;continue}}}}while(0);s=h[i>>2]|0;if(!((a|0)!=(l|0)&(h[n>>2]|0)==0))break e}if((g|0)==17){h[n>>2]=4;break}else if((g|0)==21){h[n>>2]=4;break}else if((g|0)==24){h[n>>2]=4;break}else if((g|0)==61){h[n>>2]=4;s=h[i>>2]|0;break}}}while(0);if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0))a=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else a=h[a>>2]|0;if((a|0)==-1){h[i>>2]=0;s=0;u=1}else u=0}else{s=0;u=1}a=h[r>>2]|0;do{if(a){o=h[a+12>>2]|0;if((o|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=h[o>>2]|0;if((a|0)!=-1)if(u)break;else{g=76;break}else{h[r>>2]=0;g=74;break}}else g=74}while(0);if((g|0)==74?u:0)g=76;if((g|0)==76)h[n>>2]=h[n>>2]|2;v=y;return s|0}function Ts(e){e=e|0;return}function Ss(e){e=e|0;zv(e);return}function Ps(e){e=e|0;return 2}function Os(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Ms(e,s,l,t,n,f,44788,44820)|0;v=a;return e|0}function Rs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;k=e+8|0;k=mE[h[(h[k>>2]|0)+20>>2]&127](k)|0;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];d=c[k>>0]|0;b=(d&1)==0;r=k+4|0;i=b?r:h[k+8>>2]|0;r=i+((b?(d&255)>>>1:h[r>>2]|0)<<2)|0;h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Ms(e,s,l,t,n,f,i,r)|0;v=a;return e|0}function Ls(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44212)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];Cs(e,f+24|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function Cs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[h[e>>2]>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(n_(r,l,e,e+168|0,f,n,0)|0)-e|0;if((r|0)<168)h[i>>2]=((r|0)/12|0|0)%7|0;v=a;return}function Ds(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44212)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];xs(e,f+16|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function xs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[(h[e>>2]|0)+4>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(n_(r,l,e,e+288|0,f,n,0)|0)-e|0;if((r|0)<288)h[i>>2]=((r|0)/12|0|0)%12|0;v=a;return}function Is(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44212)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];Bs(e,f+20|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function Bs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,4)|0;if(!(h[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;h[i>>2]=e+-1900}v=a;return}function Ns(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0;V=v;v=v+144|0;s=V+132|0;l=V+116|0;U=V+128|0;y=V+124|0;x=V+120|0;j=V+112|0;H=V+108|0;Y=V+104|0;q=V+100|0;X=V+96|0;z=V+92|0;o=V+88|0;u=V+84|0;d=V+80|0;b=V+76|0;k=V+72|0;w=V+68|0;_=V+64|0;m=V+60|0;p=V+56|0;g=V+52|0;E=V+48|0;A=V+44|0;M=V+40|0;S=V+36|0;P=V+32|0;O=V+28|0;R=V+24|0;L=V+20|0;C=V+16|0;D=V+12|0;I=V+8|0;B=V+4|0;N=V;h[n>>2]=0;F=_h(t)|0;h[U>>2]=F;T=0;U=Oe(37,U|0,44212)|0;K=T;T=0;if(K&1){K=Ze()|0;Ad(F)|0;si(K|0)}Ad(F)|0;do{switch(a<<24>>24|0){case 65:case 97:{h[y>>2]=h[r>>2];h[s>>2]=h[y>>2];Cs(e,f+24|0,i,s,n,U);G=28;break}case 104:case 66:case 98:{h[x>>2]=h[r>>2];h[s>>2]=h[x>>2];xs(e,f+16|0,i,s,n,U);G=28;break}case 99:{K=e+8|0;K=mE[h[(h[K>>2]|0)+12>>2]&127](K)|0;h[j>>2]=h[i>>2];h[H>>2]=h[r>>2];a=c[K>>0]|0;r=(a&1)==0;G=K+4|0;K=r?G:h[K+8>>2]|0;G=K+((r?(a&255)>>>1:h[G>>2]|0)<<2)|0;h[l>>2]=h[j>>2];h[s>>2]=h[H>>2];G=Ms(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 101:case 100:{h[Y>>2]=h[r>>2];h[s>>2]=h[Y>>2];Fs(e,f+12|0,i,s,n,U);G=28;break}case 68:{h[q>>2]=h[i>>2];h[X>>2]=h[r>>2];h[l>>2]=h[q>>2];h[s>>2]=h[X>>2];G=Ms(e,l,s,t,n,f,44820,44852)|0;h[i>>2]=G;G=28;break}case 70:{h[z>>2]=h[i>>2];h[o>>2]=h[r>>2];h[l>>2]=h[z>>2];h[s>>2]=h[o>>2];G=Ms(e,l,s,t,n,f,44852,44884)|0;h[i>>2]=G;G=28;break}case 72:{h[u>>2]=h[r>>2];h[s>>2]=h[u>>2];Us(e,f+8|0,i,s,n,U);G=28;break}case 73:{h[d>>2]=h[r>>2];h[s>>2]=h[d>>2];js(e,f+8|0,i,s,n,U);G=28;break}case 106:{h[b>>2]=h[r>>2];h[s>>2]=h[b>>2];Hs(e,f+28|0,i,s,n,U);G=28;break}case 109:{h[k>>2]=h[r>>2];h[s>>2]=h[k>>2];Ys(e,f+16|0,i,s,n,U);G=28;break}case 77:{h[w>>2]=h[r>>2];h[s>>2]=h[w>>2];qs(e,f+4|0,i,s,n,U);G=28;break}case 116:case 110:{h[_>>2]=h[r>>2];h[s>>2]=h[_>>2];Xs(e,i,s,n,U);G=28;break}case 112:{h[m>>2]=h[r>>2];h[s>>2]=h[m>>2];zs(e,f+8|0,i,s,n,U);G=28;break}case 114:{h[p>>2]=h[i>>2];h[g>>2]=h[r>>2];h[l>>2]=h[p>>2];h[s>>2]=h[g>>2];G=Ms(e,l,s,t,n,f,44884,44928)|0;h[i>>2]=G;G=28;break}case 82:{h[E>>2]=h[i>>2];h[A>>2]=h[r>>2];h[l>>2]=h[E>>2];h[s>>2]=h[A>>2];G=Ms(e,l,s,t,n,f,44928,44948)|0;h[i>>2]=G;G=28;break}case 83:{h[M>>2]=h[r>>2];h[s>>2]=h[M>>2];Vs(e,f,i,s,n,U);G=28;break}case 84:{h[S>>2]=h[i>>2];h[P>>2]=h[r>>2];h[l>>2]=h[S>>2];h[s>>2]=h[P>>2];G=Ms(e,l,s,t,n,f,44948,44980)|0;h[i>>2]=G;G=28;break}case 119:{h[O>>2]=h[r>>2];h[s>>2]=h[O>>2];Gs(e,f+24|0,i,s,n,U);G=28;break}case 120:{K=h[(h[e>>2]|0)+20>>2]|0;h[R>>2]=h[i>>2];h[L>>2]=h[r>>2];h[l>>2]=h[R>>2];h[s>>2]=h[L>>2];l=_E[K&63](e,l,s,t,n,f)|0;break}case 88:{K=e+8|0;K=mE[h[(h[K>>2]|0)+24>>2]&127](K)|0;h[C>>2]=h[i>>2];h[D>>2]=h[r>>2];a=c[K>>0]|0;r=(a&1)==0;G=K+4|0;K=r?G:h[K+8>>2]|0;G=K+((r?(a&255)>>>1:h[G>>2]|0)<<2)|0;h[l>>2]=h[C>>2];h[s>>2]=h[D>>2];G=Ms(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 121:{h[I>>2]=h[r>>2];h[s>>2]=h[I>>2];Bs(e,f+20|0,i,s,n,U);G=28;break}case 89:{h[B>>2]=h[r>>2];h[s>>2]=h[B>>2];Ks(e,f+20|0,i,s,n,U);G=28;break}case 37:{h[N>>2]=h[r>>2];h[s>>2]=h[N>>2];Ws(e,i,s,n,U);G=28;break}default:{h[n>>2]=h[n>>2]|4;G=28}}}while(0);if((G|0)==28)l=h[i>>2]|0;v=V;return l|0}function Fs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Us(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<24&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function js(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Hs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,3)|0;r=h[n>>2]|0;if((e|0)<366&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Ys(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<13&(r&4|0)==0)h[i>>2]=e+-1;else h[n>>2]=r|4;v=a;return}function qs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<60&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Xs(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;e:while(1){e=h[i>>2]|0;do{if(e){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;a=1;break}else{a=(h[i>>2]|0)==0;break}}else a=1}while(0);f=h[r>>2]|0;do{if(f){e=h[f+12>>2]|0;if((e|0)==(h[f+16>>2]|0))e=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(a){a=f;break}else{a=f;break e}else{h[r>>2]=0;l=15;break}}else l=15}while(0);if((l|0)==15){l=0;if(a){a=0;break}else a=0}e=h[i>>2]|0;f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if(!(vE[h[(h[n>>2]|0)+12>>2]&63](n,8192,e)|0))break;e=h[i>>2]|0;f=e+12|0;a=h[f>>2]|0;if((a|0)==(h[e+16>>2]|0)){mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;continue}else{h[f>>2]=a+4;continue}}e=h[i>>2]|0;do{if(e){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;f=1;break}else{f=(h[i>>2]|0)==0;break}}else f=1}while(0);do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0))e=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(f)break;else{l=39;break}else{h[r>>2]=0;l=37;break}}else l=37}while(0);if((l|0)==37?f:0)l=39;if((l|0)==39)h[t>>2]=h[t>>2]|2;return}function zs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;l=u+4|0;s=u;o=e+8|0;o=mE[h[(h[o>>2]|0)+8>>2]&127](o)|0;e=c[o>>0]|0;if(!(e&1))a=(e&255)>>>1;else a=h[o+4>>2]|0;e=c[o+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=h[o+16>>2]|0;do{if((a|0)!=(0-e|0)){h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];e=n_(r,l,o,o+24|0,f,n,0)|0;a=h[i>>2]|0;if((e|0)==(o|0)&(a|0)==12){h[i>>2]=0;break}if((a|0)<12&(e-o|0)==12)h[i>>2]=a+12}else h[n>>2]=h[n>>2]|4}while(0);v=u;return}function Vs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<61&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Gs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,1)|0;r=h[n>>2]|0;if((e|0)<7&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Ks(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,4)|0;if(!(h[n>>2]&4))h[i>>2]=e+-1900;v=a;return}function Ws(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;e=h[i>>2]|0;do{if(e){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;a=1;break}else{a=(h[i>>2]|0)==0;break}}else a=1}while(0);f=h[r>>2]|0;do{if(f){e=h[f+12>>2]|0;if((e|0)==(h[f+16>>2]|0))e=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(a){l=f;s=17;break}else{s=16;break}else{h[r>>2]=0;s=14;break}}else s=14}while(0);if((s|0)==14)if(a)s=16;else{l=0;s=17}e:do{if((s|0)==16)h[t>>2]=h[t>>2]|6;else if((s|0)==17){e=h[i>>2]|0;f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((vE[h[(h[n>>2]|0)+52>>2]&63](n,e,0)|0)<<24>>24!=37){h[t>>2]=h[t>>2]|4;break}e=h[i>>2]|0;f=e+12|0;a=h[f>>2]|0;if((a|0)==(h[e+16>>2]|0)){mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;e=h[i>>2]|0;if(!e)f=1;else s=25}else{h[f>>2]=a+4;s=25}do{if((s|0)==25){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;f=1;break}else{f=(h[i>>2]|0)==0;break}}}while(0);do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0))e=mE[h[(h[l>>2]|0)+36>>2]&127](l)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(f)break e;else break;else{h[r>>2]=0;s=37;break}}else s=37}while(0);if((s|0)==37?!f:0)break;h[t>>2]=h[t>>2]|2}}while(0);return}function Js(e){e=e|0;Zs(e+8|0);return}function Zs(e){e=e|0;var i=0,r=0,t=0;i=h[e>>2]|0;T=0;r=Ce(3)|0;t=T;T=0;do{if(!(t&1)){if((i|0)!=(r|0)?(T=0,pe(188,h[e>>2]|0),t=T,T=0,t&1):0)break;return}}while(0);t=Ze(0)|0;Ki(t)}function Qs(e){e=e|0;Zs(e+8|0);zv(e);return}function $s(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0;s=v;v=v+112|0;l=s+4|0;r=s;h[r>>2]=l+100;eo(e+8|0,l,r,n,f,a);n=h[r>>2]|0;r=h[i>>2]|0;if((l|0)!=(n|0))do{a=c[l>>0]|0;do{if(r){t=r+24|0;f=h[t>>2]|0;if((f|0)==(h[r+28>>2]|0)){i=(ME[h[(h[r>>2]|0)+52>>2]&63](r,a&255)|0)==-1;r=i?0:r;break}else{h[t>>2]=f+1;c[f>>0]=a;break}}else r=0}while(0);l=l+1|0}while((l|0)!=(n|0));v=s;return r|0}function eo(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0;o=v;v=v+16|0;s=o;c[s>>0]=37;a=s+1|0;c[a>>0]=n;l=s+2|0;c[l>>0]=f;c[s+3>>0]=0;if(f<<24>>24){c[a>>0]=f;c[l>>0]=n}e=i+(ii(i|0,(h[r>>2]|0)-i|0,s|0,t|0,h[e>>2]|0)|0)|0;h[r>>2]=e;v=o;return}function io(e){e=e|0;Zs(e+8|0);return}function ro(e){e=e|0;Zs(e+8|0);zv(e);return}function to(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0;l=v;v=v+416|0;t=l+8|0;r=l;h[r>>2]=t+400;no(e+8|0,t,r,n,f,a);e=h[r>>2]|0;r=h[i>>2]|0;if((t|0)!=(e|0)){n=t;do{t=h[n>>2]|0;if(!r)r=0;else{f=r+24|0;a=h[f>>2]|0;if((a|0)==(h[r+28>>2]|0))t=ME[h[(h[r>>2]|0)+52>>2]&63](r,t)|0;else{h[f>>2]=a+4;h[a>>2]=t}r=(t|0)==-1?0:r}n=n+4|0}while((n|0)!=(e|0))}v=l;return r|0}function no(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+128|0;o=a+16|0;u=a+12|0;l=a;s=a+8|0;h[u>>2]=o+100;eo(e,o,u,t,n,f);n=l;h[n>>2]=0;h[n+4>>2]=0;h[s>>2]=o;n=(h[r>>2]|0)-i>>2;f=fy(h[e>>2]|0)|0;T=0;n=De(18,i|0,s|0,n|0,l|0)|0;e=T;T=0;if(e&1){n=Ze()|0;if((f|0)!=0?(T=0,ye(75,f|0)|0,u=T,T=0,u&1):0){u=Ze(0)|0;Ki(u)}si(n|0)}if((f|0)!=0?(T=0,ye(75,f|0)|0,u=T,T=0,u&1):0){u=Ze(0)|0;Ki(u)}if((n|0)==-1)iu(58955);else{h[r>>2]=i+(n<<2);v=a;return}}function fo(e){e=e|0;return}function ao(e){e=e|0;zv(e);return}function lo(e){e=e|0;return 127}function so(e){e=e|0;return 127}function oo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function uo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function co(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function ho(e,i){e=e|0;i=i|0;Yd(e,1,45);return}function bo(e){e=e|0;return 0}function ko(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function wo(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function _o(e){e=e|0;return}function mo(e){e=e|0;zv(e);return}function po(e){e=e|0;return 127}function vo(e){e=e|0;return 127}function go(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function yo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Eo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Ao(e,i){e=e|0;i=i|0;Yd(e,1,45);return}function Mo(e){e=e|0;return 0}function To(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function So(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Po(e){e=e|0;return}function Oo(e){e=e|0;zv(e);return}function Ro(e){e=e|0;return 2147483647}function Lo(e){e=e|0;return 2147483647}function Co(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Do(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function xo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Io(e,i){e=e|0;i=i|0;rh(e,1,45);return}function Bo(e){e=e|0;return 0}function No(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Fo(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Uo(e){e=e|0;return}function jo(e){e=e|0;zv(e);return}function Ho(e){e=e|0;return 2147483647}function Yo(e){e=e|0;return 2147483647}function qo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Xo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function zo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Vo(e,i){e=e|0;i=i|0;rh(e,1,45);return}function Go(e){e=e|0;return 0}function Ko(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Wo(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Jo(e){e=e|0;return}function Zo(e){e=e|0;zv(e);return}function Qo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;S=v;v=v+240|0;A=S+24|0;M=S;e=S+136|0;O=S+16|0;E=S+12|0;P=S+8|0;d=S+134|0;s=S+4|0;y=S+124|0;h[O>>2]=e;R=O+4|0;h[R>>2]=189;o=e+100|0;T=0;l=ye(68,n|0)|0;g=T;T=0;if(!(g&1)){h[P>>2]=l;T=0;e=Oe(37,P|0,44220)|0;g=T;T=0;e:do{if(!(g&1)?(c[d>>0]=0,h[s>>2]=h[r>>2],u=h[n+4>>2]|0,T=0,h[A>>2]=h[s>>2],u=Ee(1,i|0,A|0,t|0,P|0,u|0,f|0,d|0,e|0,O|0,E|0,o|0)|0,g=T,T=0,!(g&1)):0){i:do{if(u){T=0;De(h[(h[e>>2]|0)+32>>2]|0,e|0,58976,58986,y|0)|0;g=T;T=0;if(g&1){C=10;break e}s=h[E>>2]|0;o=h[O>>2]|0;e=s-o|0;if((e|0)>98){e=jc(e+2|0)|0;l=e;if(!e){T=0;Ie(6);g=T;T=0;if(!(g&1)){e=0;C=13}}else C=13}else{l=0;e=A;C=13}do{if((C|0)==13){if(c[d>>0]|0){c[e>>0]=45;e=e+1|0}p=y+10|0;g=y;if(o>>>0<s>>>0){u=y+1|0;t=u+1|0;n=t+1|0;d=n+1|0;b=d+1|0;k=b+1|0;w=k+1|0;_=w+1|0;m=_+1|0;do{s=c[o>>0]|0;do{if((c[y>>0]|0)!=s<<24>>24)if((c[u>>0]|0)!=s<<24>>24)if((c[t>>0]|0)!=s<<24>>24)if((c[n>>0]|0)!=s<<24>>24)if((c[d>>0]|0)==s<<24>>24)s=d;else{if((c[b>>0]|0)==s<<24>>24){s=b;break}if((c[k>>0]|0)==s<<24>>24){s=k;break}if((c[w>>0]|0)==s<<24>>24){s=w;break}if((c[_>>0]|0)==s<<24>>24){s=_;break}s=(c[m>>0]|0)==s<<24>>24?m:p}else s=n;else s=t;else s=u;else s=y}while(0);c[e>>0]=c[58976+(s-g)>>0]|0;o=o+1|0;e=e+1|0}while(o>>>0<(h[E>>2]|0)>>>0)}c[e>>0]=0;h[M>>2]=a;if((Yy(A,58987,M)|0)!=1?(T=0,pe(190,58991),a=T,T=0,a&1):0)break;if(l)Hc(l);break i}}while(0);e=Ze()|0;if(!l){s=e;l=O;break e}Hc(l);s=e;l=O;break e}}while(0);e=h[i>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}if((e|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}}else e=0}while(0);l=(e|0)==0;e=h[r>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}if((e|0)==-1){h[r>>2]=0;C=37;break}}if(!l)C=38}else C=37}while(0);if((C|0)==37?l:0)C=38;if((C|0)==38)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(h[P>>2]|0)|0;e=h[O>>2]|0;h[O>>2]=0;if((e|0)!=0?(T=0,pe(h[R>>2]|0,e|0),C=T,T=0,C&1):0){C=Ze(0)|0;Ki(C)}v=S;return l|0}else C=10}while(0);if((C|0)==10){s=Ze()|0;l=O}Ad(h[P>>2]|0)|0;e=h[l>>2]|0;h[l>>2]=0;if(!e)L=s;else{l=h[R>>2]|0;C=45}}else{s=Ze()|0;h[O>>2]=0;l=189;C=45}if((C|0)==45){T=0;pe(l|0,e|0);C=T;T=0;if(C&1){C=Ze(0)|0;Ki(C)}else L=s}si(L|0);return 0}function $o(e){e=e|0;return}function eu(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0;ie=v;v=v+512|0;H=ie+88|0;m=ie+96|0;te=ie+80|0;z=ie+72|0;X=ie+68|0;V=ie+500|0;Y=ie+497|0;G=ie+496|0;J=ie+56|0;ee=ie+44|0;Q=ie+32|0;Z=ie+20|0;$=ie+8|0;q=ie+4|0;W=ie;h[H>>2]=u;h[te>>2]=m;re=te+4|0;h[re>>2]=189;h[z>>2]=m;h[X>>2]=m+400;h[J>>2]=0;h[J+4>>2]=0;h[J+8>>2]=0;h[ee>>2]=0;h[ee+4>>2]=0;h[ee+8>>2]=0;h[Q>>2]=0;h[Q+4>>2]=0;h[Q+8>>2]=0;h[Z>>2]=0;h[Z+4>>2]=0;h[Z+8>>2]=0;h[$>>2]=0;h[$+4>>2]=0;h[$+8>>2]=0;T=0;Pe(1,r|0,t|0,V|0,Y|0,G|0,J|0,ee|0,Q|0,Z|0,q|0);j=T;T=0;e:do{if(j&1)l=Ze()|0;else{h[o>>2]=h[s>>2];x=l+8|0;I=Q+4|0;B=Z+4|0;N=Z+8|0;F=Z+1|0;U=Q+8|0;j=Q+1|0;A=(n&512|0)!=0;M=ee+8|0;S=ee+1|0;P=ee+4|0;O=$+4|0;R=$+8|0;L=$+1|0;C=V+3|0;D=J+4|0;E=0;_=0;i:while(1){u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);u=(u|0)==0;l=h[i>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(u){y=l;break}else{K=235;break i}T=0;r=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=24;break i}if((r|0)!=-1)if(u){y=l;break}else{K=235;break i}else{h[i>>2]=0;K=15;break}}else K=15}while(0);if((K|0)==15){K=0;if(u){K=235;break}else y=0}r:do{switch(c[V+E>>0]|0){case 1:{if((E|0)!=3){u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;K=T;T=0;if(K&1){K=24;break i}}else u=b[l>>0]|0;if((u&255)<<24>>24<=-1){K=40;break i}if(!(d[(h[x>>2]|0)+(u<<24>>24<<1)>>1]&8192)){K=40;break i}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;K=T;T=0;if(K&1){K=24;break i}}else{h[l>>2]=r+1;u=b[r>>0]|0}T=0;ve(67,$|0,u&255|0);K=T;T=0;if(K&1){K=24;break i}else{u=y;t=y;K=42}}break}case 0:{if((E|0)!=3){u=y;t=y;K=42}break}case 3:{l=c[Q>>0]|0;u=(l&1)==0?(l&255)>>>1:h[I>>2]|0;r=c[Z>>0]|0;t=(r&1)==0?(r&255)>>>1:h[B>>2]|0;if((u|0)!=(0-t|0)){if(!u){u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}l=c[Z>>0]|0}else{u=b[l>>0]|0;l=r}if((u&255)<<24>>24!=(c[((l&1)==0?F:h[N>>2]|0)>>0]|0))break r;u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;c[a>>0]=1;y=c[Z>>0]|0;_=((y&1)==0?(y&255)>>>1:h[B>>2]|0)>>>0>1?Z:_;break r}n=h[e>>2]|0;k=h[n+12>>2]|0;r=h[n+16>>2]|0;u=(k|0)==(r|0);if(!t){if(u){T=0;u=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}l=c[Q>>0]|0}else u=b[k>>0]|0;if((u&255)<<24>>24!=(c[((l&1)==0?j:h[U>>2]|0)>>0]|0)){c[a>>0]=1;break r}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;y=c[Q>>0]|0;_=((y&1)==0?(y&255)>>>1:h[I>>2]|0)>>>0>1?Q:_;break r}if(u){T=0;u=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}r=h[e>>2]|0;l=c[Q>>0]|0;n=r;k=h[r+12>>2]|0;r=h[r+16>>2]|0}else u=b[k>>0]|0;t=n+12|0;r=(k|0)==(r|0);if((u&255)<<24>>24==(c[((l&1)==0?j:h[U>>2]|0)>>0]|0)){if(r){T=0;ye(h[(h[n>>2]|0)+40>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[t>>2]=k+1;y=c[Q>>0]|0;_=((y&1)==0?(y&255)>>>1:h[I>>2]|0)>>>0>1?Q:_;break r}if(r){T=0;u=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}}else u=b[k>>0]|0;if((u&255)<<24>>24!=(c[((c[Z>>0]&1)==0?F:h[N>>2]|0)>>0]|0)){K=104;break i}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;c[a>>0]=1;y=c[Z>>0]|0;_=((y&1)==0?(y&255)>>>1:h[B>>2]|0)>>>0>1?Z:_}break}case 2:{if(!(E>>>0<2|(_|0)!=0)?!(A|(E|0)==2&(c[C>>0]|0)!=0):0){_=0;break r}p=c[ee>>0]|0;u=(p&1)==0;g=h[M>>2]|0;r=u?S:g;w=r;t:do{if((E|0)!=0?(b[V+(E+-1)>>0]|0)<2:0){k=u?(p&255)>>>1:h[P>>2]|0;t=r+k|0;n=h[x>>2]|0;n:do{if(!k)l=w;else{k=r;l=w;do{u=c[k>>0]|0;if(u<<24>>24<=-1)break n;if(!(d[n+(u<<24>>24<<1)>>1]&8192))break n;k=k+1|0;l=k}while((k|0)!=(t|0))}}while(0);t=l-w|0;n=c[$>>0]|0;u=(n&1)==0;n=u?(n&255)>>>1:h[O>>2]|0;if(n>>>0>=t>>>0){u=u?L:h[R>>2]|0;k=u+n|0;if((l|0)!=(w|0)){u=u+(n-t)|0;while(1){if((c[u>>0]|0)!=(c[r>>0]|0)){l=w;break t}u=u+1|0;if((u|0)==(k|0))break;else r=r+1|0}}}else l=w}else l=w}while(0);u=(p&1)==0;u=(u?S:g)+(u?(p&255)>>>1:h[P>>2]|0)|0;t:do{if((l|0)!=(u|0)){n=y;t=y;u=l;while(1){l=h[e>>2]|0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=21;break i}if((l|0)==-1){h[e>>2]=0;l=0;break}else{l=h[e>>2]|0;break}}}else l=0}while(0);r=(l|0)==0;do{if(t){if((h[t+12>>2]|0)!=(h[t+16>>2]|0))if(r){l=n;k=t;break}else break t;T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){K=21;break i}if((l|0)!=-1)if(r^(n|0)==0){l=n;k=n;break}else break t;else{h[i>>2]=0;l=0;K=131;break}}else{l=n;K=131}}while(0);if((K|0)==131){K=0;if(r)break t;else k=0}r=h[e>>2]|0;t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=21;break i}}else r=b[t>>0]|0;if((r&255)<<24>>24!=(c[u>>0]|0))break t;r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=21;break i}}else h[t>>2]=n+1;u=u+1|0;r=c[ee>>0]|0;y=(r&1)==0;r=(y?S:h[M>>2]|0)+(y?(r&255)>>>1:h[P>>2]|0)|0;if((u|0)==(r|0)){u=r;break}else{n=l;t=k}}}}while(0);if(A?(y=c[ee>>0]|0,g=(y&1)==0,(u|0)!=((g?S:h[M>>2]|0)+(g?(y&255)>>>1:h[P>>2]|0)|0)):0){K=143;break i}break}case 4:{w=c[G>>0]|0;l=y;n=y;u=0;t:while(1){r=h[e>>2]|0;do{if(r){if((h[r+12>>2]|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=23;break i}if((r|0)==-1){h[e>>2]=0;r=0;break}else{r=h[e>>2]|0;break}}}else r=0}while(0);t=(r|0)==0;do{if(n){if((h[n+12>>2]|0)!=(h[n+16>>2]|0))if(t){k=l;break}else{t=l;break t}T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=23;break i}if((r|0)!=-1)if(t^(l|0)==0){k=l;n=l;break}else{t=l;break t}else{h[i>>2]=0;l=0;K=156;break}}else K=156}while(0);if((K|0)==156){K=0;if(t){t=l;break}else{k=l;n=0}}l=h[e>>2]|0;r=h[l+12>>2]|0;if((r|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=23;break i}}else l=b[r>>0]|0;r=l&255;if(r<<24>>24>-1?(d[(h[x>>2]|0)+(l<<24>>24<<1)>>1]&2048)!=0:0){l=h[o>>2]|0;if((l|0)==(h[H>>2]|0)){T=0;xe(12,s|0,o|0,H|0);y=T;T=0;if(y&1){K=23;break i}l=h[o>>2]|0}h[o>>2]=l+1;c[l>>0]=r;u=u+1|0}else{y=c[J>>0]|0;if(!(r<<24>>24==w<<24>>24&((u|0)!=0?(((y&1)==0?(y&255)>>>1:h[D>>2]|0)|0)!=0:0))){t=k;break}if((m|0)==(h[X>>2]|0)){T=0;xe(13,te|0,z|0,X|0);y=T;T=0;if(y&1){K=23;break i}m=h[z>>2]|0}y=m+4|0;h[z>>2]=y;h[m>>2]=u;m=y;u=0}l=h[e>>2]|0;r=l+12|0;t=h[r>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;ye(h[(h[l>>2]|0)+40>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=23;break i}else{l=k;continue}}else{h[r>>2]=t+1;l=k;continue}}if((u|0)!=0?(h[te>>2]|0)!=(m|0):0){if((m|0)==(h[X>>2]|0)){T=0;xe(13,te|0,z|0,X|0);y=T;T=0;if(y&1){K=24;break i}m=h[z>>2]|0}y=m+4|0;h[z>>2]=y;h[m>>2]=u;m=y}k=h[q>>2]|0;if((k|0)>0){u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);u=(u|0)==0;do{if(t){if((h[t+12>>2]|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){K=24;break i}if((l|0)==-1){h[i>>2]=0;K=193;break}}if(!u){K=198;break i}}else K=193}while(0);if((K|0)==193){K=0;if(u){K=198;break i}else t=0}u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else u=b[l>>0]|0;if((u&255)<<24>>24!=(c[Y>>0]|0)){K=198;break i}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;if((k|0)>0){n=t;r=t;w=k;while(1){u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=22;break i}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);l=(u|0)==0;do{if(r){if((h[r+12>>2]|0)!=(h[r+16>>2]|0))if(l){u=n;k=r;break}else{K=222;break i}T=0;u=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=22;break i}if((u|0)!=-1)if(l^(n|0)==0){u=n;k=n;break}else{K=222;break i}else{h[i>>2]=0;u=0;K=215;break}}else{u=n;K=215}}while(0);if((K|0)==215){K=0;if(l){K=222;break i}else k=0}l=h[e>>2]|0;r=h[l+12>>2]|0;if((r|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=22;break i}}else l=b[r>>0]|0;if((l&255)<<24>>24<=-1){K=222;break i}if(!(d[(h[x>>2]|0)+(l<<24>>24<<1)>>1]&2048)){K=222;break i}if((h[o>>2]|0)==(h[H>>2]|0)?(T=0,xe(12,s|0,o|0,H|0),y=T,T=0,y&1):0){K=22;break i}l=h[e>>2]|0;r=h[l+12>>2]|0;if((r|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=22;break i}}else l=b[r>>0]|0;r=h[o>>2]|0;h[o>>2]=r+1;c[r>>0]=l;l=w;w=w+-1|0;h[q>>2]=w;r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=22;break i}}else h[t>>2]=n+1;if((l|0)<=1)break;else{n=u;r=k}}}}if((h[o>>2]|0)==(h[s>>2]|0)){K=233;break i}break}default:{}}}while(0);r:do{if((K|0)==42)while(1){K=0;l=h[e>>2]|0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=20;break i}if((l|0)==-1){h[e>>2]=0;l=0;break}else{l=h[e>>2]|0;break}}}else l=0}while(0);r=(l|0)==0;do{if(t){if((h[t+12>>2]|0)!=(h[t+16>>2]|0))if(r){n=u;break}else break r;T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){K=20;break i}if((l|0)!=-1)if(r^(u|0)==0){n=u;t=u;break}else break r;else{h[i>>2]=0;u=0;K=54;break}}else K=54}while(0);if((K|0)==54){K=0;if(r)break r;else{n=u;t=0}}u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=20;break i}}else u=b[l>>0]|0;if((u&255)<<24>>24<=-1)break r;if(!(d[(h[x>>2]|0)+(u<<24>>24<<1)>>1]&8192))break r;u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;K=T;T=0;if(K&1){K=20;break i}}else{h[l>>2]=r+1;u=b[r>>0]|0}T=0;ve(67,$|0,u&255|0);K=T;T=0;if(K&1){K=20;break i}else{u=n;K=42}}}while(0);E=E+1|0;if(E>>>0>=4){K=235;break}}i:switch(K|0){case 20:{l=Ze()|0;break e}case 21:{l=Ze()|0;break e}case 22:{l=Ze()|0;break e}case 23:{l=Ze()|0;break e}case 24:{l=Ze()|0;break e}case 40:{h[f>>2]=h[f>>2]|4;l=0;break}case 104:{h[f>>2]=h[f>>2]|4;l=0;break}case 143:{h[f>>2]=h[f>>2]|4;l=0;break}case 198:{h[f>>2]=h[f>>2]|4;l=0;break}case 222:{h[f>>2]=h[f>>2]|4;l=0;break}case 233:{h[f>>2]=h[f>>2]|4;l=0;break}case 235:{r:do{if(_){n=_+1|0;k=_+8|0;w=_+4|0;r=1;t:while(1){u=c[_>>0]|0;if(!(u&1))u=(u&255)>>>1;else u=h[w>>2]|0;if(r>>>0>=u>>>0)break r;u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){K=19;break t}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);l=(u|0)==0;u=h[i>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){K=19;break t}if((u|0)==-1){h[i>>2]=0;K=253;break}}if(!l){K=260;break t}}else K=253}while(0);if((K|0)==253?(K=0,l):0){K=260;break}u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){K=19;break}}else u=b[l>>0]|0;if(!(c[_>>0]&1))l=n;else l=h[k>>2]|0;if((u&255)<<24>>24!=(c[l+r>>0]|0)){K=260;break}u=r+1|0;l=h[e>>2]|0;r=l+12|0;t=h[r>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;ye(h[(h[l>>2]|0)+40>>2]|0,l|0)|0;o=T;T=0;if(o&1){K=19;break}else{r=u;continue}}else{h[r>>2]=t+1;r=u;continue}}if((K|0)==19){l=Ze()|0;break e}else if((K|0)==260){h[f>>2]=h[f>>2]|4;l=0;break i}}}while(0);u=h[te>>2]|0;if((u|0)!=(m|0)?(h[W>>2]=0,nu(J,u,m,W),(h[W>>2]|0)!=0):0){h[f>>2]=h[f>>2]|4;l=0}else l=1;break}}qd($);qd(Z);qd(Q);qd(ee);qd(J);u=h[te>>2]|0;h[te>>2]=0;if((u|0)!=0?(T=0,pe(h[re>>2]|0,u|0),te=T,T=0,te&1):0){te=Ze(0)|0;Ki(te)}v=ie;return l|0}}while(0);qd($);qd(Z);qd(Q);qd(ee);qd(J);u=h[te>>2]|0;h[te>>2]=0;if((u|0)!=0?(T=0,pe(h[re>>2]|0,u|0),te=T,T=0,te&1):0){te=Ze(0)|0;Ki(te)}si(l|0);return 0}function iu(e){e=e|0;var i=0;i=Je(8)|0;T=0;ve(90,i|0,e|0);e=T;T=0;if(e&1){e=Ze()|0;We(i|0);si(e|0)}else Ei(i|0,616,80)}function ru(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;g=v;v=v+144|0;l=g+24|0;e=g+32|0;y=g+16|0;w=g+8|0;d=g+4|0;b=g+28|0;s=g;h[y>>2]=e;M=y+4|0;h[M>>2]=189;o=e+100|0;T=0;p=ye(68,n|0)|0;u=T;T=0;if(!(u&1)){h[d>>2]=p;T=0;u=Oe(37,d|0,44220)|0;e=T;T=0;e:do{if(!(e&1)?(c[b>>0]=0,_=h[r>>2]|0,h[s>>2]=_,k=h[n+4>>2]|0,m=_,T=0,h[l>>2]=h[s>>2],k=Ee(1,i|0,l|0,t|0,d|0,k|0,f|0,b|0,u|0,y|0,w|0,o|0)|0,n=T,T=0,!(n&1)):0){if(k){if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}if(c[b>>0]|0){T=0;e=Oe(h[(h[u>>2]|0)+28>>2]|0,u|0,45)|0;n=T;T=0;if(n&1)break;T=0;ve(67,a|0,e|0);n=T;T=0;if(n&1)break}T=0;s=Oe(h[(h[u>>2]|0)+28>>2]|0,u|0,48)|0;n=T;T=0;if(n&1)break;e=h[y>>2]|0;o=h[w>>2]|0;l=o+-1|0;i:do{if(e>>>0<l>>>0)do{if((c[e>>0]|0)!=s<<24>>24)break i;e=e+1|0}while(e>>>0<l>>>0)}while(0);T=0;Ae(32,a|0,e|0,o|0)|0;a=T;T=0;if(a&1)break}e=h[i>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1)break e;if((e|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}}else e=0}while(0);l=(e|0)==0;do{if(_){if((h[m+12>>2]|0)==(h[m+16>>2]|0)){T=0;e=ye(h[(h[_>>2]|0)+36>>2]|0,m|0)|0;m=T;T=0;if(m&1)break e;if((e|0)==-1){h[r>>2]=0;A=29;break}}if(!l)A=30}else A=29}while(0);if((A|0)==29?l:0)A=30;if((A|0)==30)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(p)|0;e=h[y>>2]|0;h[y>>2]=0;if((e|0)!=0?(T=0,pe(h[M>>2]|0,e|0),M=T,T=0,M&1):0){M=Ze(0)|0;Ki(M)}v=g;return l|0}}while(0);l=Ze()|0;Ad(p)|0;e=h[y>>2]|0;h[y>>2]=0;if(!e)E=l;else A=36}else{l=Ze()|0;h[y>>2]=0;A=36}if((A|0)==36){T=0;pe(h[M>>2]|0,e|0);M=T;T=0;if(M&1){M=Ze(0)|0;Ki(M)}else E=l}si(E|0);return 0}function tu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+112|0;u=A+100|0;d=A+88|0;b=A+76|0;k=A+64|0;w=A+52|0;_=A+48|0;m=A+36|0;p=A+24|0;g=A+12|0;y=A;do{if(e){e=Vu(i,43828)|0;wE[h[(h[e>>2]|0)+44>>2]&127](u,e);y=h[u>>2]|0;c[r>>0]=y;c[r+1>>0]=y>>8;c[r+2>>0]=y>>16;c[r+3>>0]=y>>24;wE[h[(h[e>>2]|0)+32>>2]&127](d,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[d>>2];h[s+4>>2]=h[d+4>>2];h[s+8>>2]=h[d+8>>2];h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;qd(d);wE[h[(h[e>>2]|0)+28>>2]&127](b,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[b>>2];h[l+4>>2]=h[b+4>>2];h[l+8>>2]=h[b+8>>2];h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;qd(b);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[t>>0]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[n>>0]=l;wE[h[(h[e>>2]|0)+20>>2]&127](k,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[k>>2];h[f+4>>2]=h[k+4>>2];h[f+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;qd(k);wE[h[(h[e>>2]|0)+24>>2]&127](w,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[w>>2];h[a+4>>2]=h[w+4>>2];h[a+8>>2]=h[w+8>>2];h[w>>2]=0;h[w+4>>2]=0;h[w+8>>2]=0;qd(w);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(i,43764)|0;wE[h[(h[e>>2]|0)+44>>2]&127](_,e);_=h[_>>2]|0;c[r>>0]=_;c[r+1>>0]=_>>8;c[r+2>>0]=_>>16;c[r+3>>0]=_>>24;wE[h[(h[e>>2]|0)+32>>2]&127](m,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[m>>2];h[s+4>>2]=h[m+4>>2];h[s+8>>2]=h[m+8>>2];h[m>>2]=0;h[m+4>>2]=0;h[m+8>>2]=0;qd(m);wE[h[(h[e>>2]|0)+28>>2]&127](p,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[p>>2];h[l+4>>2]=h[p+4>>2];h[l+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;qd(p);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[t>>0]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[n>>0]=l;wE[h[(h[e>>2]|0)+20>>2]&127](g,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[g>>2];h[f+4>>2]=h[g+4>>2];h[f+8>>2]=h[g+8>>2];h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;qd(g);wE[h[(h[e>>2]|0)+24>>2]&127](y,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[y>>2];h[a+4>>2]=h[y+4>>2];h[a+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;qd(y);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=E;v=A;return}function nu(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;n=c[e>>0]|0;a=e+4|0;f=h[a>>2]|0;e:do{if(((n&1)==0?(n&255)>>>1:f)|0){if((i|0)!=(r|0)){n=r+-4|0;if(n>>>0>i>>>0){f=i;do{l=h[f>>2]|0;h[f>>2]=h[n>>2];h[n>>2]=l;f=f+4|0;n=n+-4|0}while(f>>>0<n>>>0)}n=c[e>>0]|0;f=h[a>>2]|0}l=(n&1)==0;a=l?e+1|0:h[e+8>>2]|0;r=r+-4|0;e=a+(l?(n&255)>>>1:f)|0;f=c[a>>0]|0;n=f<<24>>24<1|f<<24>>24==127;i:do{if(r>>>0>i>>>0){while(1){if(!n?(f<<24>>24|0)!=(h[i>>2]|0):0)break;a=(e-a|0)>1?a+1|0:a;i=i+4|0;f=c[a>>0]|0;n=f<<24>>24<1|f<<24>>24==127;if(i>>>0>=r>>>0)break i}h[t>>2]=4;break e}}while(0);if(!n?((h[r>>2]|0)+-1|0)>>>0>=f<<24>>24>>>0:0)h[t>>2]=4}}while(0);return}function fu(e){e=e|0;return}function au(e){e=e|0;zv(e);return}function lu(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;S=v;v=v+576|0;y=S+424|0;M=S;e=S+24|0;O=S+16|0;E=S+12|0;P=S+8|0;d=S+464|0;s=S+4|0;A=S+468|0;h[O>>2]=e;L=O+4|0;h[L>>2]=189;o=e+400|0;T=0;l=ye(68,n|0)|0;g=T;T=0;if(!(g&1)){h[P>>2]=l;T=0;e=Oe(37,P|0,44212)|0;g=T;T=0;e:do{if(!(g&1)?(c[d>>0]=0,h[s>>2]=h[r>>2],u=h[n+4>>2]|0,T=0,h[y>>2]=h[s>>2],u=Ee(2,i|0,y|0,t|0,P|0,u|0,f|0,d|0,e|0,O|0,E|0,o|0)|0,g=T,T=0,!(g&1)):0){i:do{if(u){T=0;De(h[(h[e>>2]|0)+48>>2]|0,e|0,59007,59017,y|0)|0;g=T;T=0;if(g&1){C=10;break e}s=h[E>>2]|0;o=h[O>>2]|0;e=s-o|0;if((e|0)>392){e=jc((e>>2)+2|0)|0;l=e;if(!e){T=0;Ie(6);g=T;T=0;if(!(g&1)){e=0;C=13}}else C=13}else{l=0;e=A;C=13}do{if((C|0)==13){if(c[d>>0]|0){c[e>>0]=45;e=e+1|0}p=y+40|0;g=y;if(o>>>0<s>>>0){u=y+4|0;t=u+4|0;n=t+4|0;d=n+4|0;b=d+4|0;k=b+4|0;w=k+4|0;_=w+4|0;m=_+4|0;do{s=h[o>>2]|0;do{if((h[y>>2]|0)!=(s|0))if((h[u>>2]|0)!=(s|0))if((h[t>>2]|0)!=(s|0))if((h[n>>2]|0)!=(s|0))if((h[d>>2]|0)==(s|0))s=d;else{if((h[b>>2]|0)==(s|0)){s=b;break}if((h[k>>2]|0)==(s|0)){s=k;break}if((h[w>>2]|0)==(s|0)){s=w;break}if((h[_>>2]|0)==(s|0)){s=_;break}s=(h[m>>2]|0)==(s|0)?m:p}else s=n;else s=t;else s=u;else s=y}while(0);c[e>>0]=c[59007+(s-g>>2)>>0]|0;o=o+4|0;e=e+1|0}while(o>>>0<(h[E>>2]|0)>>>0)}c[e>>0]=0;h[M>>2]=a;if((Yy(A,58987,M)|0)!=1?(T=0,pe(190,58991),a=T,T=0,a&1):0)break;if(l)Hc(l);break i}}while(0);e=Ze()|0;if(!l){s=e;l=O;break e}Hc(l);s=e;l=O;break e}}while(0);e=h[i>>2]|0;do{if(e){l=h[e+12>>2]|0;if((l|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}}else e=h[l>>2]|0;if((e|0)==-1){h[i>>2]=0;s=1;break}else{s=(h[i>>2]|0)==0;break}}else s=1}while(0);e=h[r>>2]|0;do{if(e){l=h[e+12>>2]|0;if((l|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}}else e=h[l>>2]|0;if((e|0)!=-1)if(s)break;else{C=40;break}else{h[r>>2]=0;C=38;break}}else C=38}while(0);if((C|0)==38?s:0)C=40;if((C|0)==40)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(h[P>>2]|0)|0;e=h[O>>2]|0;h[O>>2]=0;if((e|0)!=0?(T=0,pe(h[L>>2]|0,e|0),C=T,T=0,C&1):0){C=Ze(0)|0;Ki(C)}v=S;return l|0}else C=10}while(0);if((C|0)==10){s=Ze()|0;l=O}Ad(h[P>>2]|0)|0;e=h[l>>2]|0;h[l>>2]=0;if(!e)R=s;else{l=h[L>>2]|0;C=47}}else{s=Ze()|0;h[O>>2]=0;l=189;C=47}if((C|0)==47){T=0;pe(l|0,e|0);C=T;T=0;if(C&1){C=Ze(0)|0;Ki(C)}else R=s}si(R|0);return 0}function su(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0;J=v;v=v+512|0;B=J+96|0;d=J+104|0;Q=J+88|0;j=J+80|0;U=J+76|0;H=J+504|0;N=J+72|0;Y=J+68|0;z=J+56|0;W=J+44|0;G=J+32|0;V=J+20|0;K=J+8|0;F=J+4|0;X=J;h[B>>2]=u;h[Q>>2]=d;Z=Q+4|0;h[Z>>2]=189;h[j>>2]=d;h[U>>2]=d+400;h[z>>2]=0;h[z+4>>2]=0;h[z+8>>2]=0;h[W>>2]=0;h[W+4>>2]=0;h[W+8>>2]=0;h[G>>2]=0;h[G+4>>2]=0;h[G+8>>2]=0;h[V>>2]=0;h[V+4>>2]=0;h[V+8>>2]=0;h[K>>2]=0;h[K+4>>2]=0;h[K+8>>2]=0;T=0;Pe(2,r|0,t|0,H|0,N|0,Y|0,z|0,W|0,G|0,V|0,F|0);I=T;T=0;e:do{if(I&1)r=Ze()|0;else{h[o>>2]=h[s>>2];C=G+4|0;D=V+4|0;x=V+8|0;I=G+8|0;A=(n&512|0)!=0;M=W+8|0;S=W+4|0;P=K+4|0;O=K+8|0;R=H+3|0;L=z+4|0;E=0;w=0;i:while(1){u=h[e>>2]|0;do{if(u){r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else u=h[r>>2]|0;if((u|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);r=h[i>>2]|0;do{if(r){u=h[r+12>>2]|0;if((u|0)==(h[r+16>>2]|0)){T=0;u=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else u=h[u>>2]|0;if((u|0)!=-1)if(t){y=r;break}else{_=d;q=244;break i}else{h[i>>2]=0;q=16;break}}else q=16}while(0);if((q|0)==16){q=0;if(t){_=d;q=244;break}else y=0}r:do{switch(c[H+E>>0]|0){case 1:{if((E|0)!=3){u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;q=T;T=0;if(q&1){q=26;break i}}else u=h[r>>2]|0;T=0;u=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,8192,u|0)|0;q=T;T=0;if(q&1){q=26;break i}if(!u){q=42;break i}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;q=T;T=0;if(q&1){q=26;break i}}else{h[r>>2]=t+4;u=h[t>>2]|0}T=0;ve(92,K|0,u|0);q=T;T=0;if(q&1){q=26;break i}else{u=y;n=y;q=44}}else u=d;break}case 0:{if((E|0)==3)u=d;else{u=y;n=y;q=44}break}case 3:{r=c[G>>0]|0;u=(r&1)==0?(r&255)>>>1:h[C>>2]|0;t=c[V>>0]|0;n=(t&1)==0?(t&255)>>>1:h[D>>2]|0;if((u|0)==(0-n|0))u=d;else{if(!u){u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}r=c[V>>0]|0}else{u=h[r>>2]|0;r=t}if((u|0)!=(h[((r&1)==0?D:h[x>>2]|0)>>2]|0)){u=d;break r}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[r>>2]=t+4;c[a>>0]=1;y=c[V>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[D>>2]|0)>>>0>1?V:w;break r}k=h[e>>2]|0;_=h[k+12>>2]|0;t=h[k+16>>2]|0;u=(_|0)==(t|0);if(!n){if(u){T=0;u=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}r=c[G>>0]|0}else u=h[_>>2]|0;if((u|0)!=(h[((r&1)==0?C:h[I>>2]|0)>>2]|0)){c[a>>0]=1;u=d;break r}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[r>>2]=t+4;y=c[G>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[C>>2]|0)>>>0>1?G:w;break r}if(u){T=0;u=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}t=h[e>>2]|0;r=c[G>>0]|0;k=t;_=h[t+12>>2]|0;t=h[t+16>>2]|0}else u=h[_>>2]|0;n=k+12|0;t=(_|0)==(t|0);if((u|0)==(h[((r&1)==0?C:h[I>>2]|0)>>2]|0)){if(t){T=0;ye(h[(h[k>>2]|0)+40>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[n>>2]=_+4;y=c[G>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[C>>2]|0)>>>0>1?G:w;break r}if(t){T=0;u=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}}else u=h[_>>2]|0;if((u|0)!=(h[((c[V>>0]&1)==0?D:h[x>>2]|0)>>2]|0)){q=107;break i}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[r>>2]=t+4;c[a>>0]=1;y=c[V>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[D>>2]|0)>>>0>1?V:w}break}case 2:{if(!(E>>>0<2|(w|0)!=0)?!(A|(E|0)==2&(c[R>>0]|0)!=0):0){u=d;w=0;break r}n=c[W>>0]|0;t=h[M>>2]|0;r=(n&1)==0?S:t;u=r;t:do{if((E|0)!=0?(b[H+(E+-1)>>0]|0)<2:0){g=(n&1)==0;n:do{if((r|0)!=((g?S:t)+((g?(n&255)>>>1:h[S>>2]|0)<<2)|0)){n=r;while(1){T=0;r=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,8192,h[n>>2]|0)|0;g=T;T=0;if(g&1){q=23;break i}if(!r)break;n=n+4|0;u=n;r=c[W>>0]|0;t=h[M>>2]|0;g=(r&1)==0;if((n|0)==((g?S:t)+((g?(r&255)>>>1:h[S>>2]|0)<<2)|0)){n=r;break n}}n=c[W>>0]|0;t=h[M>>2]|0}}while(0);_=(n&1)==0?S:t;r=_;m=u-r>>2;p=c[K>>0]|0;k=(p&1)==0;p=k?(p&255)>>>1:h[P>>2]|0;if(p>>>0>=m>>>0){k=k?P:h[O>>2]|0;g=k+(p<<2)|0;if(!m)r=u;else{k=k+(p-m<<2)|0;while(1){if((h[k>>2]|0)!=(h[_>>2]|0))break t;k=k+4|0;if((k|0)==(g|0)){r=u;break}else _=_+4|0}}}}else r=u}while(0);u=(n&1)==0;u=(u?S:t)+((u?(n&255)>>>1:h[S>>2]|0)<<2)|0;t:do{if((r|0)!=(u|0)){k=y;n=y;u=r;while(1){r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=22;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(n){r=h[n+12>>2]|0;if((r|0)==(h[n+16>>2]|0)){T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=22;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t^(k|0)==0){r=k;_=k;break}else break t;else{h[i>>2]=0;r=0;q=136;break}}else{r=k;q=136}}while(0);if((q|0)==136){q=0;if(t)break t;else _=0}t=h[e>>2]|0;n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=22;break i}}else t=h[n>>2]|0;if((t|0)!=(h[u>>2]|0))break t;t=h[e>>2]|0;n=t+12|0;k=h[n>>2]|0;if((k|0)==(h[t+16>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=22;break i}}else h[n>>2]=k+4;u=u+4|0;t=c[W>>0]|0;y=(t&1)==0;t=(y?S:h[M>>2]|0)+((y?(t&255)>>>1:h[S>>2]|0)<<2)|0;if((u|0)==(t|0)){u=t;break}else{k=r;n=_}}}}while(0);if(A?(y=c[W>>0]|0,g=(y&1)==0,(u|0)!=((g?S:h[M>>2]|0)+((g?(y&255)>>>1:h[S>>2]|0)<<2)|0)):0){q=148;break i}else u=d;break}case 4:{p=h[Y>>2]|0;m=y;k=y;u=d;r=0;t:while(1){t=h[e>>2]|0;do{if(t){n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=25;break i}}else t=h[n>>2]|0;if((t|0)==-1){h[e>>2]=0;n=1;break}else{n=(h[e>>2]|0)==0;break}}else n=1}while(0);do{if(k){t=h[k+12>>2]|0;if((t|0)==(h[k+16>>2]|0)){T=0;t=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=25;break i}}else t=h[t>>2]|0;if((t|0)!=-1)if(n^(m|0)==0){t=m;_=m;break}else{d=m;break t}else{h[i>>2]=0;t=0;q=162;break}}else{t=m;q=162}}while(0);if((q|0)==162){q=0;if(n){d=t;break}else _=0}n=h[e>>2]|0;d=h[n+12>>2]|0;if((d|0)==(h[n+16>>2]|0)){T=0;n=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=25;break i}}else n=h[d>>2]|0;T=0;d=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,2048,n|0)|0;y=T;T=0;if(y&1){q=25;break i}if(d){d=h[o>>2]|0;if((d|0)==(h[B>>2]|0)){T=0;xe(14,s|0,o|0,B|0);y=T;T=0;if(y&1){q=25;break i}d=h[o>>2]|0}h[o>>2]=d+4;h[d>>2]=n;r=r+1|0}else{y=c[z>>0]|0;if(!((n|0)==(p|0)&((r|0)!=0?(((y&1)==0?(y&255)>>>1:h[L>>2]|0)|0)!=0:0))){d=t;break}if((u|0)==(h[U>>2]|0)){T=0;xe(13,Q|0,j|0,U|0);y=T;T=0;if(y&1){q=25;break i}u=h[j>>2]|0}y=u+4|0;h[j>>2]=y;h[u>>2]=r;u=y;r=0}n=h[e>>2]|0;d=n+12|0;k=h[d>>2]|0;if((k|0)==(h[n+16>>2]|0)){T=0;ye(h[(h[n>>2]|0)+40>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=25;break i}else{m=t;k=_;continue}}else{h[d>>2]=k+4;m=t;k=_;continue}}if((r|0)!=0?(h[Q>>2]|0)!=(u|0):0){if((u|0)==(h[U>>2]|0)){T=0;xe(13,Q|0,j|0,U|0);y=T;T=0;if(y&1){q=26;break i}u=h[j>>2]|0}y=u+4|0;h[j>>2]=y;h[u>>2]=r;u=y}_=h[F>>2]|0;if((_|0)>0){r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(d){r=h[d+12>>2]|0;if((r|0)==(h[d+16>>2]|0)){T=0;r=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;y=T;T=0;if(y&1){q=26;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t)break;else{q=206;break i}else{h[i>>2]=0;q=200;break}}else q=200}while(0);if((q|0)==200){q=0;if(t){q=206;break i}else d=0}r=h[e>>2]|0;t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else r=h[t>>2]|0;if((r|0)!=(h[N>>2]|0)){q=206;break i}r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[t>>2]=n+4;if((_|0)>0){k=d;n=d;m=_;while(1){r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=24;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(n){r=h[n+12>>2]|0;if((r|0)==(h[n+16>>2]|0)){T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=24;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t^(k|0)==0){r=k;_=k;break}else{q=231;break i}else{h[i>>2]=0;r=0;q=224;break}}else{r=k;q=224}}while(0);if((q|0)==224){q=0;if(t){q=231;break i}else _=0}t=h[e>>2]|0;n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=24;break i}}else t=h[n>>2]|0;T=0;t=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,2048,t|0)|0;y=T;T=0;if(y&1){q=24;break i}if(!t){q=231;break i}if((h[o>>2]|0)==(h[B>>2]|0)?(T=0,xe(14,s|0,o|0,B|0),y=T,T=0,y&1):0){q=24;break i}t=h[e>>2]|0;n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=24;break i}}else t=h[n>>2]|0;n=h[o>>2]|0;h[o>>2]=n+4;h[n>>2]=t;t=m;m=m+-1|0;h[F>>2]=m;n=h[e>>2]|0;d=n+12|0;k=h[d>>2]|0;if((k|0)==(h[n+16>>2]|0)){T=0;ye(h[(h[n>>2]|0)+40>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=24;break i}}else h[d>>2]=k+4;if((t|0)<=1)break;else{k=r;n=_}}}}if((h[o>>2]|0)==(h[s>>2]|0)){q=242;break i}break}default:u=d}}while(0);r:do{if((q|0)==44)while(1){q=0;r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=21;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(n){r=h[n+12>>2]|0;if((r|0)==(h[n+16>>2]|0)){T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=21;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t^(u|0)==0){k=u;n=u;break}else{u=d;break r}else{h[i>>2]=0;u=0;q=57;break}}else q=57}while(0);if((q|0)==57){q=0;if(t){u=d;break r}else{k=u;n=0}}u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=21;break i}}else u=h[r>>2]|0;T=0;u=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,8192,u|0)|0;y=T;T=0;if(y&1){q=21;break i}if(!u){u=d;break r}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;q=T;T=0;if(q&1){q=21;break i}}else{h[r>>2]=t+4;u=h[t>>2]|0}T=0;ve(92,K|0,u|0);q=T;T=0;if(q&1){q=21;break i}else{u=k;q=44}}}while(0);E=E+1|0;if(E>>>0>=4){_=u;q=244;break}else d=u}i:switch(q|0){case 21:{r=Ze()|0;break e}case 22:{r=Ze()|0;break e}case 23:{r=Ze()|0;break e}case 24:{r=Ze()|0;break e}case 25:{r=Ze()|0;break e}case 26:{r=Ze()|0;break e}case 42:{h[f>>2]=h[f>>2]|4;r=0;break}case 107:{h[f>>2]=h[f>>2]|4;r=0;break}case 148:{h[f>>2]=h[f>>2]|4;r=0;break}case 206:{h[f>>2]=h[f>>2]|4;r=0;break}case 231:{h[f>>2]=h[f>>2]|4;r=0;break}case 242:{h[f>>2]=h[f>>2]|4;r=0;break}case 244:{r:do{if(w){d=w+4|0;k=w+8|0;n=1;t:while(1){u=c[w>>0]|0;if(!(u&1))u=(u&255)>>>1;else u=h[d>>2]|0;if(n>>>0>=u>>>0)break r;u=h[e>>2]|0;do{if(u){r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){q=20;break t}}else u=h[r>>2]|0;if((u|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);u=h[i>>2]|0;do{if(u){r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){q=20;break t}}else u=h[r>>2]|0;if((u|0)!=-1)if(t)break;else{q=271;break t}else{h[i>>2]=0;q=263;break}}else q=263}while(0);if((q|0)==263?(q=0,t):0){q=271;break}u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){q=20;break}}else u=h[r>>2]|0;if(!(c[w>>0]&1))r=d;else r=h[k>>2]|0;if((u|0)!=(h[r+(n<<2)>>2]|0)){q=271;break}u=n+1|0;r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;o=T;T=0;if(o&1){q=20;break}else{n=u;continue}}else{h[t>>2]=n+4;n=u;continue}}if((q|0)==20){r=Ze()|0;break e}else if((q|0)==271){h[f>>2]=h[f>>2]|4;r=0;break i}}}while(0);u=h[Q>>2]|0;if((u|0)!=(_|0)?(h[X>>2]=0,nu(z,u,_,X),(h[X>>2]|0)!=0):0){h[f>>2]=h[f>>2]|4;r=0}else r=1;break}}th(K);th(V);th(G);th(W);qd(z);u=h[Q>>2]|0;h[Q>>2]=0;if((u|0)!=0?(T=0,pe(h[Z>>2]|0,u|0),Q=T,T=0,Q&1):0){Q=Ze(0)|0;Ki(Q)}v=J;return r|0}}while(0);th(K);th(V);th(G);th(W);qd(z);u=h[Q>>2]|0;h[Q>>2]=0;if((u|0)!=0?(T=0,pe(h[Z>>2]|0,u|0),Q=T,T=0,Q&1):0){Q=Ze(0)|0;Ki(Q)}si(r|0);return 0}function ou(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;g=v;v=v+432|0;l=g+424|0;e=g+24|0;E=g+16|0;w=g+8|0;d=g+4|0;b=g+428|0;s=g;h[E>>2]=e;M=E+4|0;h[M>>2]=189;o=e+400|0;T=0;p=ye(68,n|0)|0;u=T;T=0;if(!(u&1)){h[d>>2]=p;T=0;u=Oe(37,d|0,44212)|0;e=T;T=0;e:do{if(!(e&1)?(c[b>>0]=0,_=h[r>>2]|0,h[s>>2]=_,k=h[n+4>>2]|0,m=_,T=0,h[l>>2]=h[s>>2],k=Ee(2,i|0,l|0,t|0,d|0,k|0,f|0,b|0,u|0,E|0,w|0,o|0)|0,n=T,T=0,!(n&1)):0){if(k){if(!(c[a>>0]&1))c[a>>0]=0;else h[h[a+8>>2]>>2]=0;h[a+4>>2]=0;if(c[b>>0]|0){T=0;e=Oe(h[(h[u>>2]|0)+44>>2]|0,u|0,45)|0;n=T;T=0;if(n&1)break;T=0;ve(92,a|0,e|0);n=T;T=0;if(n&1)break}T=0;s=Oe(h[(h[u>>2]|0)+44>>2]|0,u|0,48)|0;n=T;T=0;if(n&1)break;e=h[E>>2]|0;o=h[w>>2]|0;l=o+-4|0;i:do{if(e>>>0<l>>>0)do{if((h[e>>2]|0)!=(s|0))break i;e=e+4|0}while(e>>>0<l>>>0)}while(0);T=0;Ae(33,a|0,e|0,o|0)|0;a=T;T=0;if(a&1)break}e=h[i>>2]|0;do{if(e){l=h[e+12>>2]|0;if((l|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1)break e}else e=h[l>>2]|0;if((e|0)==-1){h[i>>2]=0;l=1;break}else{l=(h[i>>2]|0)==0;break}}else l=1}while(0);do{if(_){e=h[m+12>>2]|0;if((e|0)==(h[m+16>>2]|0)){T=0;e=ye(h[(h[_>>2]|0)+36>>2]|0,m|0)|0;m=T;T=0;if(m&1)break e}else e=h[e>>2]|0;if((e|0)!=-1)if(l)break;else{A=32;break}else{h[r>>2]=0;A=30;break}}else A=30}while(0);if((A|0)==30?l:0)A=32;if((A|0)==32)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(p)|0;e=h[E>>2]|0;h[E>>2]=0;if((e|0)!=0?(T=0,pe(h[M>>2]|0,e|0),M=T,T=0,M&1):0){M=Ze(0)|0;Ki(M)}v=g;return l|0}}while(0);l=Ze()|0;Ad(p)|0;e=h[E>>2]|0;h[E>>2]=0;if(!e)y=l;else A=38}else{l=Ze()|0;h[E>>2]=0;A=38}if((A|0)==38){T=0;pe(h[M>>2]|0,e|0);M=T;T=0;if(M&1){M=Ze(0)|0;Ki(M)}else y=l}si(y|0);return 0}function uu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+112|0;u=A+100|0;d=A+88|0;b=A+76|0;k=A+64|0;w=A+52|0;_=A+48|0;m=A+36|0;p=A+24|0;g=A+12|0;y=A;do{if(e){e=Vu(i,43956)|0;wE[h[(h[e>>2]|0)+44>>2]&127](u,e);y=h[u>>2]|0;c[r>>0]=y;c[r+1>>0]=y>>8;c[r+2>>0]=y>>16;c[r+3>>0]=y>>24;wE[h[(h[e>>2]|0)+32>>2]&127](d,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[d>>2];h[s+4>>2]=h[d+4>>2];h[s+8>>2]=h[d+8>>2];h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;th(d);wE[h[(h[e>>2]|0)+28>>2]&127](b,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[b>>2];h[l+4>>2]=h[b+4>>2];h[l+8>>2]=h[b+8>>2];h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;th(b);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[t>>2]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[n>>2]=l;wE[h[(h[e>>2]|0)+20>>2]&127](k,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[k>>2];h[f+4>>2]=h[k+4>>2];h[f+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;qd(k);wE[h[(h[e>>2]|0)+24>>2]&127](w,e);if(!(c[a>>0]&1))c[a>>0]=0;else h[h[a+8>>2]>>2]=0;h[a+4>>2]=0;T=0;ve(93,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[w>>2];h[a+4>>2]=h[w+4>>2];h[a+8>>2]=h[w+8>>2];h[w>>2]=0;h[w+4>>2]=0;h[w+8>>2]=0;th(w);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(i,43892)|0;wE[h[(h[e>>2]|0)+44>>2]&127](_,e);_=h[_>>2]|0;c[r>>0]=_;c[r+1>>0]=_>>8;c[r+2>>0]=_>>16;c[r+3>>0]=_>>24;wE[h[(h[e>>2]|0)+32>>2]&127](m,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[m>>2];h[s+4>>2]=h[m+4>>2];h[s+8>>2]=h[m+8>>2];h[m>>2]=0;h[m+4>>2]=0;h[m+8>>2]=0;th(m);wE[h[(h[e>>2]|0)+28>>2]&127](p,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[p>>2];h[l+4>>2]=h[p+4>>2];h[l+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;th(p);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[t>>2]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[n>>2]=l;wE[h[(h[e>>2]|0)+20>>2]&127](g,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[g>>2];h[f+4>>2]=h[g+4>>2];h[f+8>>2]=h[g+8>>2];h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;qd(g);wE[h[(h[e>>2]|0)+24>>2]&127](y,e);if(!(c[a>>0]&1))c[a>>0]=0;else h[h[a+8>>2]>>2]=0;h[a+4>>2]=0;T=0;ve(93,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[y>>2];h[a+4>>2]=h[y+4>>2];h[a+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;th(y);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=E;v=A;return}function cu(e){e=e|0;return}function du(e){e=e|0;zv(e);return}function hu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;O=v;v=v+384|0;p=O+8|0;a=O;s=O+284|0;o=O+72|0;l=O+184|0;L=O+68|0;M=O+80|0;y=O+77|0;S=O+76|0;C=O+56|0;x=O+44|0;D=O+32|0;u=O+28|0;_=O+84|0;A=O+24|0;E=O+20|0;g=O+16|0;h[o>>2]=s;m[p>>3]=f;s=Hy(s,100,59018,p)|0;do{if(s>>>0>99){T=0;e=Ce(3)|0;P=T;T=0;if(!(P&1)?(T=0,m[a>>3]=f,k=De(17,o|0,e|0,59018,a|0)|0,P=T,T=0,!(P&1)):0){e=h[o>>2]|0;if(!e){T=0;Ie(6);P=T;T=0;if(P&1){e=0;a=0;P=7;break}e=h[o>>2]|0}l=jc(k)|0;a=l;if(!l){T=0;Ie(6);P=T;T=0;if(P&1)P=7;else{w=0;P=10}}else{w=l;P=10}}else{e=0;a=0;P=7}}else{a=0;e=0;w=l;k=s;P=10}}while(0);if((P|0)==10){T=0;l=ye(68,t|0)|0;b=T;T=0;if(b&1)P=7;else{h[L>>2]=l;T=0;b=Oe(37,L|0,44220)|0;d=T;T=0;if(!(d&1)?(d=h[o>>2]|0,T=0,De(h[(h[b>>2]|0)+32>>2]|0,b|0,d|0,d+k|0,w|0)|0,d=T,T=0,!(d&1)):0){if(!k)d=0;else d=(c[h[o>>2]>>0]|0)==45;h[C>>2]=0;h[C+4>>2]=0;h[C+8>>2]=0;h[x>>2]=0;h[x+4>>2]=0;h[x+8>>2]=0;h[D>>2]=0;h[D+4>>2]=0;h[D+8>>2]=0;T=0;Pe(3,r|0,d|0,L|0,M|0,y|0,S|0,C|0,x|0,D|0,u|0);r=T;T=0;if(!(r&1)){u=h[u>>2]|0;if((k|0)>(u|0)){r=c[D>>0]|0;s=c[x>>0]|0;s=(k-u<<1|1)+u+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}else{r=c[D>>0]|0;s=c[x>>0]|0;s=u+2+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}if(s>>>0>100){s=jc(s)|0;o=s;if(!s){T=0;Ie(6);_=T;T=0;if(!(_&1)){s=0;P=26}}else P=26}else{o=0;s=_;P=26}if((P|0)==26){T=0;Me(1,s|0,A|0,E|0,h[t+4>>2]|0,w|0,w+k|0,b|0,d|0,M|0,c[y>>0]|0,c[S>>0]|0,C|0,x|0,D|0,u|0);S=T;T=0;if(!(S&1)?(h[g>>2]=h[i>>2],i=h[A>>2]|0,R=h[E>>2]|0,T=0,h[p>>2]=h[g>>2],R=ge(39,p|0,s|0,i|0,R|0,t|0,n|0)|0,i=T,T=0,!(i&1)):0){if(o){Hc(o);l=h[L>>2]|0}qd(D);qd(x);qd(C);Ad(l)|0;if(a)Hc(a);if(e)Hc(e);v=O;return R|0}}s=Ze()|0;if(o){Hc(o);l=h[L>>2]|0}}else s=Ze()|0;qd(D);qd(x);qd(C)}else s=Ze()|0;Ad(l)|0}}if((P|0)==7)s=Ze()|0;if(a)Hc(a);if(e)Hc(e);si(s|0);return 0}function bu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;O=v;v=v+112|0;b=O+108|0;k=O+96|0;m=O+92|0;p=O+80|0;g=O+68|0;y=O+56|0;E=O+52|0;A=O+40|0;M=O+36|0;S=O+24|0;w=O+12|0;_=O;do{if(e){e=Vu(r,43828)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](b,e);i=h[b>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](k,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[k>>2];h[s+4>>2]=h[k+4>>2];h[s+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;qd(k);d=e;break}}else{wE[h[r+40>>2]&127](m,e);i=h[m>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](p,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[p>>2];h[s+4>>2]=h[p+4>>2];h[s+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;qd(p);d=e;break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[n>>0]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[f>>0]=s;wE[h[(h[d>>2]|0)+20>>2]&127](g,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[g>>2];h[a+4>>2]=h[g+4>>2];h[a+8>>2]=h[g+8>>2];h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;qd(g);wE[h[(h[d>>2]|0)+24>>2]&127](y,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[y>>2];h[l+4>>2]=h[y+4>>2];h[l+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;qd(y);P=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(r,43764)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](E,e);i=h[E>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](A,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[A>>2];h[s+4>>2]=h[A+4>>2];h[s+8>>2]=h[A+8>>2];h[A>>2]=0;h[A+4>>2]=0;h[A+8>>2]=0;qd(A);u=e;break}}else{wE[h[r+40>>2]&127](M,e);i=h[M>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](S,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[S>>2];h[s+4>>2]=h[S+4>>2];h[s+8>>2]=h[S+8>>2];h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;qd(S);u=e;break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[n>>0]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[f>>0]=s;wE[h[(h[u>>2]|0)+20>>2]&127](w,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[w>>2];h[a+4>>2]=h[w+4>>2];h[a+8>>2]=h[w+8>>2];h[w>>2]=0;h[w+4>>2]=0;h[w+8>>2]=0;qd(w);wE[h[(h[u>>2]|0)+24>>2]&127](_,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[_>>2];h[l+4>>2]=h[_+4>>2];h[l+8>>2]=h[_+8>>2];h[_>>2]=0;h[_+4>>2]=0;h[_+8>>2]=0;qd(_);P=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=P;v=O;return}function ku(e,i,r,t,n,f,a,l,s,o,u,b,k,w,_){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;b=b|0;k=k|0;w=w|0;_=_|0;var m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0;h[r>>2]=e;U=w+4|0;j=w+8|0;H=w+1|0;D=k+4|0;x=(t&512|0)==0;I=k+8|0;B=k+1|0;N=a+8|0;F=(_|0)>0;T=b+4|0;S=b+8|0;P=b+1|0;O=_+1|0;L=-2-_-((_|0)<0?~_:-1)|0;C=(_|0)>0;M=0;do{switch(c[s+M>>0]|0){case 0:{h[i>>2]=h[r>>2];break}case 1:{h[i>>2]=h[r>>2];E=ME[h[(h[a>>2]|0)+28>>2]&63](a,32)|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E;break}case 3:{A=c[w>>0]|0;m=(A&1)==0;if((m?(A&255)>>>1:h[U>>2]|0)|0){E=c[(m?H:h[j>>2]|0)>>0]|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E}break}case 2:{v=c[k>>0]|0;m=(v&1)==0;v=m?(v&255)>>>1:h[D>>2]|0;if(!(x|(v|0)==0)){p=m?B:h[I>>2]|0;g=p+v|0;m=h[r>>2]|0;if(v)do{c[m>>0]=c[p>>0]|0;p=p+1|0;m=m+1|0}while((p|0)!=(g|0));h[r>>2]=m}break}case 4:{m=h[r>>2]|0;n=l?n+1|0:n;y=n;g=h[N>>2]|0;e:do{if(n>>>0<f>>>0){p=n;do{v=c[p>>0]|0;if(v<<24>>24<=-1)break e;if(!(d[g+(v<<24>>24<<1)>>1]&2048))break e;p=p+1|0}while(p>>>0<f>>>0)}else p=n}while(0);v=p;if(F){E=-2-v-~(v>>>0>y>>>0?y:v)|0;E=L>>>0>E>>>0?L:E;if(p>>>0>n>>>0&C){v=p;y=_;while(1){v=v+-1|0;A=c[v>>0]|0;g=h[r>>2]|0;h[r>>2]=g+1;c[g>>0]=A;g=(y|0)>1;if(!(v>>>0>n>>>0&g))break;else y=y+-1|0}}else g=C;A=O+E|0;v=p+(E+1)|0;if(g)y=ME[h[(h[a>>2]|0)+28>>2]&63](a,48)|0;else y=0;p=h[r>>2]|0;h[r>>2]=p+1;if((A|0)>0){g=A;while(1){c[p>>0]=y;p=h[r>>2]|0;h[r>>2]=p+1;if((g|0)>1)g=g+-1|0;else break}}c[p>>0]=o}else v=p;if((v|0)!=(n|0)){A=c[b>>0]|0;p=(A&1)==0;if(!((p?(A&255)>>>1:h[T>>2]|0)|0))p=-1;else p=c[(p?P:h[S>>2]|0)>>0]|0;if((v|0)!=(n|0)){g=0;y=0;while(1){if((y|0)==(p|0)){A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=u;g=g+1|0;A=c[b>>0]|0;p=(A&1)==0;if(g>>>0<(p?(A&255)>>>1:h[T>>2]|0)>>>0){p=c[(p?P:h[S>>2]|0)+g>>0]|0;p=p<<24>>24==127?-1:p<<24>>24;y=0}else{p=y;y=0}}v=v+-1|0;E=c[v>>0]|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E;if((v|0)==(n|0))break;else y=y+1|0}}}else{E=ME[h[(h[a>>2]|0)+28>>2]&63](a,48)|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E}p=h[r>>2]|0;if((m|0)!=(p|0)?(R=p+-1|0,m>>>0<R>>>0):0){p=R;do{A=c[m>>0]|0;c[m>>0]=c[p>>0]|0;c[p>>0]=A;m=m+1|0;p=p+-1|0}while(m>>>0<p>>>0)}break}default:{}}M=M+1|0}while((M|0)!=4);p=c[w>>0]|0;n=(p&1)==0;p=n?(p&255)>>>1:h[U>>2]|0;if(p>>>0>1){m=n?H:h[j>>2]|0;v=m+p|0;n=h[r>>2]|0;if((p|0)!=1){m=m+1|0;do{c[n>>0]=c[m>>0]|0;n=n+1|0;m=m+1|0}while((m|0)!=(v|0))}h[r>>2]=n}switch(t&176|0){case 32:{h[i>>2]=h[r>>2];break}case 16:break;default:h[i>>2]=e}return}function wu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;A=v;v=v+176|0;k=A+56|0;S=A+52|0;y=A+64|0;m=A+61|0;E=A+60|0;P=A+40|0;R=A+28|0;O=A+16|0;o=A+12|0;b=A+68|0;g=A+8|0;p=A+4|0;w=A;e=_h(t)|0;h[S>>2]=e;T=0;_=Oe(37,S|0,44220)|0;d=T;T=0;do{if(d&1)L=13;else{u=c[f>>0]|0;a=(u&1)==0;d=f+4|0;if(!((a?(u&255)>>>1:h[d>>2]|0)|0))u=0;else{a=c[(a?f+1|0:h[f+8>>2]|0)>>0]|0;T=0;l=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,45)|0;u=T;T=0;if(u&1){L=13;break}u=a<<24>>24==l<<24>>24}h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;T=0;Pe(3,r|0,u|0,S|0,y|0,m|0,E|0,P|0,R|0,O|0,o|0);s=T;T=0;if(!(s&1)){s=c[f>>0]|0;r=h[d>>2]|0;a=(s&1)==0?(s&255)>>>1:r;o=h[o>>2]|0;if((a|0)>(o|0)){C=c[O>>0]|0;l=c[R>>0]|0;a=(a-o<<1|1)+o+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((l&1)==0?(l&255)>>>1:h[R+4>>2]|0)|0}else{C=c[O>>0]|0;a=c[R>>0]|0;a=o+2+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((a&1)==0?(a&255)>>>1:h[R+4>>2]|0)|0}if(a>>>0>100){a=jc(a)|0;l=a;if(!a){T=0;Ie(6);C=T;T=0;if(!(C&1)){s=c[f>>0]|0;r=h[d>>2]|0;a=0;L=17}}else L=17}else{l=0;a=b;L=17}if((L|0)==17){C=(s&1)==0;f=C?f+1|0:h[f+8>>2]|0;T=0;Me(1,a|0,g|0,p|0,h[t+4>>2]|0,f|0,f+(C?(s&255)>>>1:r)|0,_|0,u|0,y|0,c[m>>0]|0,c[E>>0]|0,P|0,R|0,O|0,o|0);C=T;T=0;if(!(C&1)?(h[w>>2]=h[i>>2],C=h[g>>2]|0,M=h[p>>2]|0,T=0,h[k>>2]=h[w>>2],M=ge(39,k|0,a|0,C|0,M|0,t|0,n|0)|0,C=T,T=0,!(C&1)):0){if(l){Hc(l);e=h[S>>2]|0}qd(O);qd(R);qd(P);Ad(e)|0;v=A;return M|0}}a=Ze()|0;if(l){Hc(l);e=h[S>>2]|0}}else a=Ze()|0;qd(O);qd(R);qd(P)}}while(0);if((L|0)==13)a=Ze()|0;Ad(e)|0;si(a|0);return 0}function _u(e){e=e|0;return}function mu(e){e=e|0;zv(e);return}function pu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;O=v;v=v+992|0;p=O+8|0;a=O;s=O+888|0;o=O+880|0;l=O+480|0;L=O+76|0;M=O+884|0;y=O+72|0;S=O+68|0;C=O+56|0;x=O+44|0;D=O+32|0;u=O+28|0;_=O+80|0;A=O+24|0;E=O+20|0;g=O+16|0;h[o>>2]=s;m[p>>3]=f;s=Hy(s,100,59018,p)|0;do{if(s>>>0>99){T=0;e=Ce(3)|0;P=T;T=0;if(!(P&1)?(T=0,m[a>>3]=f,k=De(17,o|0,e|0,59018,a|0)|0,P=T,T=0,!(P&1)):0){e=h[o>>2]|0;if(!e){T=0;Ie(6);P=T;T=0;if(P&1){e=0;a=0;P=7;break}e=h[o>>2]|0}l=jc(k<<2)|0;a=l;if(!l){T=0;Ie(6);P=T;T=0;if(P&1)P=7;else{w=0;P=10}}else{w=l;P=10}}else{e=0;a=0;P=7}}else{a=0;e=0;w=l;k=s;P=10}}while(0);if((P|0)==10){T=0;l=ye(68,t|0)|0;b=T;T=0;if(b&1)P=7;else{h[L>>2]=l;T=0;b=Oe(37,L|0,44212)|0;d=T;T=0;if(!(d&1)?(d=h[o>>2]|0,T=0,De(h[(h[b>>2]|0)+48>>2]|0,b|0,d|0,d+k|0,w|0)|0,d=T,T=0,!(d&1)):0){if(!k)d=0;else d=(c[h[o>>2]>>0]|0)==45;h[C>>2]=0;h[C+4>>2]=0;h[C+8>>2]=0;h[x>>2]=0;h[x+4>>2]=0;h[x+8>>2]=0;h[D>>2]=0;h[D+4>>2]=0;h[D+8>>2]=0;T=0;Pe(4,r|0,d|0,L|0,M|0,y|0,S|0,C|0,x|0,D|0,u|0);r=T;T=0;if(!(r&1)){u=h[u>>2]|0;if((k|0)>(u|0)){r=c[D>>0]|0;s=c[x>>0]|0;s=(k-u<<1|1)+u+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}else{r=c[D>>0]|0;s=c[x>>0]|0;s=u+2+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}if(s>>>0>100){s=jc(s<<2)|0;o=s;if(!s){T=0;Ie(6);_=T;T=0;if(!(_&1)){s=0;P=26}}else P=26}else{o=0;s=_;P=26}if((P|0)==26){T=0;Me(2,s|0,A|0,E|0,h[t+4>>2]|0,w|0,w+(k<<2)|0,b|0,d|0,M|0,h[y>>2]|0,h[S>>2]|0,C|0,x|0,D|0,u|0);S=T;T=0;if(!(S&1)?(h[g>>2]=h[i>>2],i=h[A>>2]|0,R=h[E>>2]|0,T=0,h[p>>2]=h[g>>2],R=ge(40,p|0,s|0,i|0,R|0,t|0,n|0)|0,i=T,T=0,!(i&1)):0){if(o){Hc(o);l=h[L>>2]|0}th(D);th(x);qd(C);Ad(l)|0;if(a)Hc(a);if(e)Hc(e);v=O;return R|0}}s=Ze()|0;if(o){Hc(o);l=h[L>>2]|0}}else s=Ze()|0;th(D);th(x);qd(C)}else s=Ze()|0;Ad(l)|0}}if((P|0)==7)s=Ze()|0;if(a)Hc(a);if(e)Hc(e);si(s|0);return 0}function vu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0;S=v;v=v+112|0;u=S+108|0;d=S+96|0;w=S+92|0;_=S+80|0;m=S+68|0;p=S+56|0;g=S+52|0;y=S+40|0;E=S+36|0;A=S+24|0;b=S+12|0;k=S;do{if(e){e=Vu(r,43956)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](u,e);i=h[u>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](d,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[d>>2];h[s+4>>2]=h[d+4>>2];h[s+8>>2]=h[d+8>>2];h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;th(d);break}}else{wE[h[r+40>>2]&127](w,e);i=h[w>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](_,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[_>>2];h[s+4>>2]=h[_+4>>2];h[s+8>>2]=h[_+8>>2];h[_>>2]=0;h[_+4>>2]=0;h[_+8>>2]=0;th(_);break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[n>>2]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[f>>2]=s;wE[h[(h[e>>2]|0)+20>>2]&127](m,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[m>>2];h[a+4>>2]=h[m+4>>2];h[a+8>>2]=h[m+8>>2];h[m>>2]=0;h[m+4>>2]=0;h[m+8>>2]=0;qd(m);wE[h[(h[e>>2]|0)+24>>2]&127](p,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[p>>2];h[l+4>>2]=h[p+4>>2];h[l+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;th(p);M=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(r,43892)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](g,e);i=h[g>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](y,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[y>>2];h[s+4>>2]=h[y+4>>2];h[s+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;th(y);break}}else{wE[h[r+40>>2]&127](E,e);i=h[E>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](A,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[A>>2];h[s+4>>2]=h[A+4>>2];h[s+8>>2]=h[A+8>>2];h[A>>2]=0;h[A+4>>2]=0;h[A+8>>2]=0;th(A);break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[n>>2]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[f>>2]=s;wE[h[(h[e>>2]|0)+20>>2]&127](b,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[b>>2];h[a+4>>2]=h[b+4>>2];h[a+8>>2]=h[b+8>>2];h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;qd(b);wE[h[(h[e>>2]|0)+24>>2]&127](k,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[k>>2];h[l+4>>2]=h[k+4>>2];h[l+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;th(k);M=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=M;v=S;return}function gu(e,i,r,t,n,f,a,l,s,o,u,d,b,k,w){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;d=d|0;b=b|0;k=k|0;w=w|0;var _=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0;h[r>>2]=e;I=k+4|0;B=k+8|0;P=b+4|0;O=(t&512|0)==0;R=b+8|0;L=(w|0)>0;C=d+4|0;D=d+8|0;x=d+1|0;T=(w|0)>0;M=0;do{switch(c[s+M>>0]|0){case 0:{h[i>>2]=h[r>>2];break}case 1:{h[i>>2]=h[r>>2];E=ME[h[(h[a>>2]|0)+44>>2]&63](a,32)|0;A=h[r>>2]|0;h[r>>2]=A+4;h[A>>2]=E;break}case 3:{A=c[k>>0]|0;_=(A&1)==0;if((_?(A&255)>>>1:h[I>>2]|0)|0){E=h[(_?I:h[B>>2]|0)>>2]|0;A=h[r>>2]|0;h[r>>2]=A+4;h[A>>2]=E}break}case 2:{g=c[b>>0]|0;_=(g&1)==0;g=_?(g&255)>>>1:h[P>>2]|0;if(!(O|(g|0)==0)){_=_?P:h[R>>2]|0;p=_+(g<<2)|0;v=h[r>>2]|0;if(g){m=v;while(1){h[m>>2]=h[_>>2];_=_+4|0;if((_|0)==(p|0))break;else m=m+4|0}}h[r>>2]=v+(g<<2)}break}case 4:{_=h[r>>2]|0;n=l?n+4|0:n;e:do{if(n>>>0<f>>>0){m=n;do{if(!(vE[h[(h[a>>2]|0)+12>>2]&63](a,2048,h[m>>2]|0)|0))break e;m=m+4|0}while(m>>>0<f>>>0)}else m=n}while(0);if(L){if(m>>>0>n>>>0&T){g=h[r>>2]|0;v=w;while(1){m=m+-4|0;p=g+4|0;h[g>>2]=h[m>>2];y=v+-1|0;v=(v|0)>1;if(m>>>0>n>>>0&v){g=p;v=y}else{g=y;break}}h[r>>2]=p;p=g}else{v=T;p=w}if(v)y=ME[h[(h[a>>2]|0)+44>>2]&63](a,48)|0;else y=0;E=h[r>>2]|0;v=p+((p|0)<0?~p:-1)|0;if((p|0)>0){g=E;while(1){h[g>>2]=y;if((p|0)>1){g=g+4|0;p=p+-1|0}else break}}h[r>>2]=E+(v+2<<2);h[E+(v+1<<2)>>2]=o}if((m|0)==(n|0)){E=ME[h[(h[a>>2]|0)+44>>2]&63](a,48)|0;A=h[r>>2]|0;m=A+4|0;h[r>>2]=m;h[A>>2]=E}else{E=c[d>>0]|0;p=(E&1)==0;A=h[C>>2]|0;if(!((p?(E&255)>>>1:A)|0))p=-1;else p=c[(p?x:h[D>>2]|0)>>0]|0;if((m|0)!=(n|0)){y=0;E=0;while(1){v=h[r>>2]|0;if((E|0)==(p|0)){g=v+4|0;h[r>>2]=g;h[v>>2]=u;y=y+1|0;v=c[d>>0]|0;p=(v&1)==0;if(y>>>0<(p?(v&255)>>>1:A)>>>0){p=c[(p?x:h[D>>2]|0)+y>>0]|0;v=g;p=p<<24>>24==127?-1:p<<24>>24;g=0}else{v=g;p=E;g=0}}else g=E;m=m+-4|0;E=h[m>>2]|0;h[r>>2]=v+4;h[v>>2]=E;if((m|0)==(n|0))break;else E=g+1|0}}m=h[r>>2]|0}if((_|0)!=(m|0)?(S=m+-4|0,_>>>0<S>>>0):0){m=S;do{A=h[_>>2]|0;h[_>>2]=h[m>>2];h[m>>2]=A;_=_+4|0;m=m+-4|0}while(_>>>0<m>>>0)}break}default:{}}M=M+1|0}while((M|0)!=4);_=c[k>>0]|0;n=(_&1)==0;_=n?(_&255)>>>1:h[I>>2]|0;if(_>>>0>1){m=n?I:h[B>>2]|0;n=m+4|0;m=m+(_<<2)|0;p=h[r>>2]|0;v=m-n|0;if((_|0)!=1){_=p;while(1){h[_>>2]=h[n>>2];n=n+4|0;if((n|0)==(m|0))break;else _=_+4|0}}h[r>>2]=p+(v>>>2<<2)}switch(t&176|0){case 32:{h[i>>2]=h[r>>2];break}case 16:break;default:h[i>>2]=e}return}function yu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;A=v;v=v+480|0;b=A+468|0;S=A+464|0;y=A+472|0;m=A+56|0;E=A+52|0;P=A+40|0;R=A+28|0;O=A+16|0;o=A+12|0;d=A+64|0;g=A+8|0;p=A+4|0;k=A;e=_h(t)|0;h[S>>2]=e;T=0;w=Oe(37,S|0,44212)|0;_=T;T=0;do{if(_&1)L=13;else{u=c[f>>0]|0;a=(u&1)==0;_=f+4|0;if(!((a?(u&255)>>>1:h[_>>2]|0)|0))u=0;else{a=h[(a?_:h[f+8>>2]|0)>>2]|0;T=0;l=Oe(h[(h[w>>2]|0)+44>>2]|0,w|0,45)|0;u=T;T=0;if(u&1){L=13;break}u=(a|0)==(l|0)}h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;T=0;Pe(4,r|0,u|0,S|0,y|0,m|0,E|0,P|0,R|0,O|0,o|0);s=T;T=0;if(!(s&1)){s=c[f>>0]|0;r=h[_>>2]|0;a=(s&1)==0?(s&255)>>>1:r;o=h[o>>2]|0;if((a|0)>(o|0)){C=c[O>>0]|0;l=c[R>>0]|0;a=(a-o<<1|1)+o+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((l&1)==0?(l&255)>>>1:h[R+4>>2]|0)|0}else{C=c[O>>0]|0;a=c[R>>0]|0;a=o+2+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((a&1)==0?(a&255)>>>1:h[R+4>>2]|0)|0}if(a>>>0>100){a=jc(a<<2)|0;l=a;if(!a){T=0;Ie(6);C=T;T=0;if(!(C&1)){s=c[f>>0]|0;r=h[_>>2]|0;a=0;L=17}}else L=17}else{l=0;a=d;L=17}if((L|0)==17){C=(s&1)==0;f=C?_:h[f+8>>2]|0;T=0;Me(2,a|0,g|0,p|0,h[t+4>>2]|0,f|0,f+((C?(s&255)>>>1:r)<<2)|0,w|0,u|0,y|0,h[m>>2]|0,h[E>>2]|0,P|0,R|0,O|0,o|0);C=T;T=0;if(!(C&1)?(h[k>>2]=h[i>>2],C=h[g>>2]|0,M=h[p>>2]|0,T=0,h[b>>2]=h[k>>2],M=ge(40,b|0,a|0,C|0,M|0,t|0,n|0)|0,C=T,T=0,!(C&1)):0){if(l){Hc(l);e=h[S>>2]|0}th(O);th(R);qd(P);Ad(e)|0;v=A;return M|0}}a=Ze()|0;if(l){Hc(l);e=h[S>>2]|0}}else a=Ze()|0;th(O);th(R);qd(P)}}while(0);if((L|0)==13)a=Ze()|0;Ad(e)|0;si(a|0);return 0}function Eu(e){e=e|0;return}function Au(e){e=e|0;zv(e);return}function Mu(e,i,r){e=e|0;i=i|0;r=r|0;e=ey((c[i>>0]&1)==0?i+1|0:h[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function Tu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0;l=v;v=v+16|0;s=l;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;a=c[f>>0]|0;o=(a&1)==0;i=o?f+1|0:h[f+8>>2]|0;a=o?(a&255)>>>1:h[f+4>>2]|0;f=i+a|0;e:do{if((a|0)>0){while(1){T=0;ve(67,s|0,c[i>>0]|0);o=T;T=0;if(o&1)break;i=i+1|0;if(i>>>0>=f>>>0){a=4;break e}}i=Ze()|0;a=7}else a=4}while(0);e:do{if((a|0)==4){T=0;i=De(19,((r|0)==-1?-1:r<<1)|0,t|0,n|0,((c[s>>0]&1)==0?s+1|0:h[s+8>>2]|0)|0)|0;o=T;T=0;if(o&1){i=Ze()|0;a=7;break}h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;o=rE(i)|0;f=i+o|0;i:do{if((o|0)>0){while(1){T=0;ve(67,e|0,c[i>>0]|0);o=T;T=0;if(o&1)break;i=i+1|0;if(i>>>0>=f>>>0)break i}i=Ze()|0;qd(e);break e}}while(0);qd(s);v=l;return}}while(0);qd(s);si(i|0)}function Su(e,i){e=e|0;i=i|0;return}function Pu(e){e=e|0;return}function Ou(e){e=e|0;zv(e);return}function Ru(e,i,r){e=e|0;i=i|0;r=r|0;e=ey((c[i>>0]&1)==0?i+1|0:h[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function Lu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;g=v;v=v+224|0;d=g+184|0;u=g+192|0;o=g+180|0;b=g+176|0;m=g+168|0;_=g+40|0;w=g+32|0;p=g+28|0;y=g+16|0;s=g+8|0;k=g;h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;h[s+4>>2]=0;h[s>>2]=44696;l=c[f>>0]|0;E=(l&1)==0;a=f+4|0;i=E?a:h[f+8>>2]|0;f=E?(l&255)>>>1:h[a>>2]|0;a=i+(f<<2)|0;l=u+32|0;e:do{if((f|0)>0){i:while(1){h[b>>2]=i;T=0;f=Be(h[(h[s>>2]|0)+12>>2]|0,s|0,d|0,i|0,a|0,b|0,u|0,l|0,o|0)|0;E=T;T=0;if(E&1){f=12;break}if((f|0)==2?1:(h[b>>2]|0)==(i|0)){f=5;break}if(u>>>0<(h[o>>2]|0)>>>0){i=u;do{T=0;ve(67,y|0,c[i>>0]|0);E=T;T=0;if(E&1){f=11;break i}i=i+1|0}while(i>>>0<(h[o>>2]|0)>>>0)}i=h[b>>2]|0;if(!((f|0)!=2&i>>>0<a>>>0)){f=9;break e}}if((f|0)==5){T=0;pe(190,58955);T=0;i=Ze()|0}else if((f|0)==11)i=Ze()|0;else if((f|0)==12)i=Ze()|0}else f=9}while(0);e:do{if((f|0)==9){T=0;i=De(19,((r|0)==-1?-1:r<<1)|0,t|0,n|0,((c[y>>0]&1)==0?y+1|0:h[y+8>>2]|0)|0)|0;E=T;T=0;if(E&1){i=Ze()|0;break}h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[k+4>>2]=0;h[k>>2]=44744;E=rE(i)|0;a=i+E|0;l=a;s=_+128|0;i:do{if((E|0)>0){r:while(1){h[p>>2]=i;T=0;f=Be(h[(h[k>>2]|0)+16>>2]|0,k|0,m|0,i|0,((l-i|0)>32?i+32|0:a)|0,p|0,_|0,s|0,w|0)|0;E=T;T=0;if(E&1){f=24;break}if((f|0)==2?1:(h[p>>2]|0)==(i|0)){f=18;break}if(_>>>0<(h[w>>2]|0)>>>0){i=_;do{T=0;ve(92,e|0,h[i>>2]|0);E=T;T=0;if(E&1){f=23;break r}i=i+4|0}while(i>>>0<(h[w>>2]|0)>>>0)}i=h[p>>2]|0;if(!((f|0)!=2&i>>>0<a>>>0))break i}if((f|0)==18){T=0;pe(190,58955);T=0;i=Ze()|0}else if((f|0)==23)i=Ze()|0;else if((f|0)==24)i=Ze()|0;th(e);break e}}while(0);qd(y);v=g;return}}while(0);qd(y);si(i|0)}function Cu(e,i){e=e|0;i=i|0;return}function Du(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;h[e+4>>2]=i+-1;h[e>>2]=44196;f=e+8|0;T=0;ve(94,f|0,28);n=T;T=0;if(n&1)i=Ze()|0;else{n=e+144|0;T=0;xe(5,n|0,58885,1);t=T;T=0;if(t&1)i=Ze()|0;else{r=h[f>>2]|0;t=e+12|0;i=h[t>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));h[t>>2]=i}h[495]=0;h[494]=43124;T=0;ve(95,e|0,1976);t=T;T=0;do{if(((((((((((((!(t&1)?(h[497]=0,h[496]=43164,T=0,ve(96,e|0,1984),t=T,T=0,!(t&1)):0)?(h[499]=0,h[498]=44236,h[500]=0,c[2004]=0,t=Qu()|0,h[500]=t,T=0,ve(97,e|0,1992),t=T,T=0,!(t&1)):0)?(h[503]=0,h[502]=44484,T=0,ve(98,e|0,2008),t=T,T=0,!(t&1)):0)?(h[505]=0,h[504]=44552,T=0,ve(99,e|0,2016),t=T,T=0,!(t&1)):0)?(T=0,ve(100,2024,1),t=T,T=0,!(t&1)):0)?(T=0,ve(101,e|0,2024),t=T,T=0,!(t&1)):0)?(h[511]=0,h[510]=44600,T=0,ve(102,e|0,2040),t=T,T=0,!(t&1)):0)?(h[513]=0,h[512]=44648,T=0,ve(103,e|0,2048),t=T,T=0,!(t&1)):0)?(kw(2056,1),T=0,ve(104,e|0,2056),t=T,T=0,!(t&1)):0)?(ww(2080,1),T=0,ve(105,e|0,2080),t=T,T=0,!(t&1)):0)?(h[529]=0,h[528]=43204,T=0,ve(106,e|0,2112),t=T,T=0,!(t&1)):0)?(h[531]=0,h[530]=43276,T=0,ve(107,e|0,2120),t=T,T=0,!(t&1)):0)?(h[533]=0,h[532]=43348,T=0,ve(108,e|0,2128),t=T,T=0,!(t&1)):0){h[535]=0;h[534]=43408;T=0;ve(109,e|0,2136);t=T;T=0;if(t&1){a=42;break}h[537]=0;h[536]=43716;T=0;ve(110,e|0,2144);t=T;T=0;if(t&1){a=42;break}h[539]=0;h[538]=43780;T=0;ve(111,e|0,2152);t=T;T=0;if(t&1){a=42;break}h[541]=0;h[540]=43844;T=0;ve(112,e|0,2160);t=T;T=0;if(t&1){a=42;break}h[543]=0;h[542]=43908;T=0;ve(113,e|0,2168);t=T;T=0;if(t&1){a=42;break}h[545]=0;h[544]=43972;T=0;ve(114,e|0,2176);t=T;T=0;if(t&1){a=42;break}h[547]=0;h[546]=44008;T=0;ve(115,e|0,2184);t=T;T=0;if(t&1){a=42;break}h[549]=0;h[548]=44044;T=0;ve(116,e|0,2192);t=T;T=0;if(t&1){a=42;break}h[551]=0;h[550]=44080;T=0;ve(117,e|0,2200);t=T;T=0;if(t&1){a=42;break}h[553]=0;h[552]=43468;h[554]=43516;T=0;ve(118,e|0,2208);t=T;T=0;if(t&1){a=42;break}h[557]=0;h[556]=43560;h[558]=43608;T=0;ve(119,e|0,2224);t=T;T=0;if(t&1){a=42;break}h[561]=0;h[560]=44464;T=0;i=Ce(3)|0;t=T;T=0;if(t&1){i=Ze()|0;break}h[562]=i;h[560]=43652;T=0;ve(120,e|0,2240);t=T;T=0;if(t&1){a=42;break}h[565]=0;h[564]=44464;T=0;i=Ce(3)|0;t=T;T=0;if(t&1){i=Ze()|0;break}h[566]=i;h[564]=43684;T=0;ve(121,e|0,2256);a=T;T=0;if(a&1){a=42;break}h[569]=0;h[568]=44116;T=0;ve(122,e|0,2272);a=T;T=0;if(a&1){a=42;break}h[571]=0;h[570]=44156;T=0;ve(123,e|0,2280);a=T;T=0;if(a&1){a=42;break}return}else a=42}while(0);if((a|0)==42)i=Ze()|0;qd(n)}$_(f)}si(i|0)}function xu(){var e=0;do{if((c[2288]|0)==0?(ze(2288)|0)!=0:0){T=0;Ce(4)|0;e=T;T=0;if(e&1){e=Ze()|0;Ri(2288);si(e|0)}else{h[11246]=44980;$e(2288);break}}}while(0);return h[11246]|0}function Iu(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;Ed(i);n=e+8|0;t=h[n>>2]|0;do{if((h[e+12>>2]|0)-t>>2>>>0<=r>>>0){T=0;ve(124,n|0,r+1|0);e=T;T=0;if(!(e&1)){t=h[n>>2]|0;break}t=Ze()|0;if(i)Ad(i)|0;si(t|0)}}while(0);e=h[t+(r<<2)>>2]|0;if(e){Ad(e)|0;t=h[n>>2]|0}h[t+(r<<2)>>2]=i;return}function Bu(e){e=e|0;var i=0,r=0,t=0,n=0;h[e>>2]=44196;t=e+8|0;n=e+12|0;i=h[t>>2]|0;if((h[n>>2]|0)!=(i|0)){r=0;do{i=h[i+(r<<2)>>2]|0;if(i)Ad(i)|0;r=r+1|0;i=h[t>>2]|0}while(r>>>0<(h[n>>2]|0)-i>>2>>>0)}qd(e+144|0);$_(t);return}function Nu(e){e=e|0;Bu(e);zv(e);return}function Fu(e,i){e=e|0;i=i|0;if(im(e,i)|0)return h[(h[e+8>>2]|0)+(i<<2)>>2]|0;else{e=Je(4)|0;fg(e);Ei(e|0,640,82)}return 0}function Uu(){Du(2296,1);h[11245]=2296;return 44980}function ju(){var e=0;e=xu()|0;e=h[e>>2]|0;h[11247]=e;Ed(e);return 44988}function Hu(){var e=0;do{if((c[2456]|0)==0?(ze(2456)|0)!=0:0){T=0;Ce(5)|0;e=T;T=0;if(e&1){e=Ze()|0;Ri(2456);si(e|0)}else{h[11248]=44988;$e(2456);break}}}while(0);return h[11248]|0}function Yu(e){e=e|0;var i=0,r=0;T=0;i=Ce(6)|0;r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}else{r=h[i>>2]|0;h[e>>2]=r;Ed(r);return}}function qu(e,i){e=e|0;i=i|0;i=h[i>>2]|0;h[e>>2]=i;Ed(i);return}function Xu(e){e=e|0;Ad(h[e>>2]|0)|0;return}function zu(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;if((h[e>>2]|0)!=-1){h[i>>2]=e;h[i+4>>2]=191;h[i+8>>2]=0;Ud(e,i,192)}v=r;return(h[e+4>>2]|0)+-1|0}function Vu(e,i){e=e|0;i=i|0;e=h[e>>2]|0;return Fu(e,zu(i)|0)|0}function Gu(e){e=e|0;zv(e);return}function Ku(e){e=e|0;if(e)kE[h[(h[e>>2]|0)+4>>2]&255](e);return}function Wu(e){e=e|0;var i=0;i=h[11052]|0;h[11052]=i+1;h[e+4>>2]=i+1;return}function Ju(e){e=e|0;zv(e);return}function Zu(e,i,r){e=e|0;i=i|0;r=r|0;if(r>>>0<128){r=(Qu()|0)+(r<<1)|0;r=(d[r>>1]&i)<<16>>16!=0}else r=0;return r|0}function Qu(){var e=0,i=0;T=0;e=Ce(7)|0;i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else return h[e>>2]|0;return 0}function $u(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=(r-i|0)>>>2;if((i|0)!=(r|0)){n=i;while(1){e=h[n>>2]|0;if(e>>>0<128){e=(Qu()|0)+(e<<1)|0;e=k[e>>1]|0}else e=0;d[t>>1]=e;n=n+4|0;if((n|0)==(r|0))break;else t=t+2|0}}return i+(f<<2)|0}function ec(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e:do{if((r|0)==(t|0))r=t;else while(1){e=h[r>>2]|0;if(e>>>0<128?(e=(Qu()|0)+(e<<1)|0,(d[e>>1]&i)<<16>>16!=0):0)break e;r=r+4|0;if((r|0)==(t|0)){r=t;break}}}while(0);return r|0}function ic(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e:do{if((r|0)==(t|0))r=t;else while(1){e=h[r>>2]|0;if(e>>>0>=128)break e;e=(Qu()|0)+(e<<1)|0;if(!((d[e>>1]&i)<<16>>16))break e;r=r+4|0;if((r|0)==(t|0)){r=t;break}}}while(0);return r|0}function rc(e,i){e=e|0;i=i|0;if(i>>>0<128){i=(tc()|0)+(i<<2)|0;i=h[i>>2]|0}return i|0}function tc(){var e=0,i=0;T=0;e=Ce(8)|0;i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else return h[e>>2]|0;return 0}function nc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){t=i;do{e=h[t>>2]|0;if(e>>>0<128){e=(tc()|0)+(e<<2)|0;e=h[e>>2]|0}h[t>>2]=e;t=t+4|0}while((t|0)!=(r|0))}return i+(n<<2)|0}function fc(e,i){e=e|0;i=i|0;if(i>>>0<128){i=(ac()|0)+(i<<2)|0;i=h[i>>2]|0}return i|0}function ac(){var e=0,i=0;T=0;e=Ce(9)|0;i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else return h[e>>2]|0;return 0}function lc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){t=i;do{e=h[t>>2]|0;if(e>>>0<128){e=(ac()|0)+(e<<2)|0;e=h[e>>2]|0}h[t>>2]=e;t=t+4|0}while((t|0)!=(r|0))}return i+(n<<2)|0}function sc(e,i){e=e|0;i=i|0;return i<<24>>24|0}function oc(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((i|0)!=(r|0))while(1){h[t>>2]=c[i>>0];i=i+1|0;if((i|0)==(r|0))break;else t=t+4|0}return r|0}function uc(e,i,r){e=e|0;i=i|0;r=r|0;return(i>>>0<128?i&255:r)|0}function cc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=(r-i|0)>>>2;if((i|0)!=(r|0)){f=i;e=n;while(1){n=h[f>>2]|0;c[e>>0]=n>>>0<128?n&255:t;f=f+4|0;if((f|0)==(r|0))break;else e=e+1|0}}return i+(a<<2)|0}function dc(e){e=e|0;var i=0;h[e>>2]=44236;i=h[e+8>>2]|0;if((i|0)!=0?(c[e+12>>0]|0)!=0:0)Vv(i);return}function hc(e){e=e|0;dc(e);zv(e);return}function bc(e,i){e=e|0;i=i|0;if(i<<24>>24>-1){i=(tc()|0)+((i&255)<<2)|0;i=h[i>>2]&255}return i|0}function kc(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=c[e>>0]|0;if(i<<24>>24>-1){i=(tc()|0)+(i<<24>>24<<2)|0;i=h[i>>2]&255}c[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function wc(e,i){e=e|0;i=i|0;if(i<<24>>24>-1){i=(ac()|0)+(i<<24>>24<<2)|0;i=h[i>>2]&255}return i|0}function _c(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=c[e>>0]|0;if(i<<24>>24>-1){i=(ac()|0)+(i<<24>>24<<2)|0;i=h[i>>2]&255}c[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function mc(e,i){e=e|0;i=i|0;return i|0}function pc(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((i|0)!=(r|0))while(1){c[t>>0]=c[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else t=t+1|0}return r|0}function vc(e,i,r){e=e|0;i=i|0;r=r|0;return(i<<24>>24>-1?i:r)|0}function gc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if((i|0)!=(r|0))while(1){e=c[i>>0]|0;c[n>>0]=e<<24>>24>-1?e:t;i=i+1|0;if((i|0)==(r|0))break;else n=n+1|0}return r|0}function yc(e){e=e|0;zv(e);return}function Ec(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;h[n>>2]=r;h[l>>2]=f;return 3}function Ac(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;h[n>>2]=r;h[l>>2]=f;return 3}function Mc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;h[n>>2]=r;return 3}function Tc(e){e=e|0;return 1}function Sc(e){e=e|0;return 1}function Pc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;e=t-r|0;return(e>>>0<n>>>0?e:n)|0}function Oc(e){e=e|0;return 1}function Rc(e,i){e=e|0;i=i|0;var r=0;h[e+4>>2]=i+-1;h[e>>2]=44304;T=0;i=Ce(3)|0;r=T;T=0;if(r&1){r=Ze()|0;si(r|0)}else{h[e+8>>2]=i;return}}function Lc(e){e=e|0;Vw(e);zv(e);return}function Cc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0.0,u=0,k=0,w=0,_=0,p=0.0,g=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0;ae=v;v=v+624|0;ie=ae+24|0;te=ae+16|0;re=ae+588|0;J=ae+576|0;ee=ae;G=ae+536|0;fe=ae+8|0;ne=ae+528|0;N=(e|0)!=0;F=G+40|0;V=F;G=G+39|0;K=fe+4|0;W=J+12|0;J=J+11|0;Z=re;Q=W;$=Q-Z|0;U=-2-Z|0;j=Q+2|0;Y=ie+288|0;q=re+9|0;X=q;z=re+8|0;f=0;g=i;a=0;i=0;e:while(1){do{if((f|0)>-1)if((a|0)>(2147483647-f|0)){f=zg()|0;h[f>>2]=75;f=-1;break}else{f=a+f|0;break}}while(0);a=c[g>>0]|0;if(!(a<<24>>24)){B=245;break}else l=g;i:while(1){switch(a<<24>>24){case 37:{a=l;B=9;break i}case 0:{a=l;break i}default:{}}I=l+1|0;a=c[I>>0]|0;l=I}i:do{if((B|0)==9)while(1){B=0;if((c[a+1>>0]|0)!=37)break i;l=l+1|0;a=a+2|0;if((c[a>>0]|0)==37)B=9;else break}}while(0);A=l-g|0;if(N?(h[e>>2]&32|0)==0:0)Fy(g,A,e)|0;if((l|0)!=(g|0)){g=a;a=A;continue}u=a+1|0;l=c[u>>0]|0;s=(l<<24>>24)+-48|0;if(s>>>0<10){I=(c[a+2>>0]|0)==36;u=I?a+3|0:u;l=c[u>>0]|0;_=I?s:-1;i=I?1:i}else _=-1;a=l<<24>>24;i:do{if((a&-32|0)==32){s=0;while(1){if(!(1<<a+-32&75913)){k=s;a=u;break i}s=1<<(l<<24>>24)+-32|s;u=u+1|0;l=c[u>>0]|0;a=l<<24>>24;if((a&-32|0)!=32){k=s;a=u;break}}}else{k=0;a=u}}while(0);do{if(l<<24>>24==42){s=a+1|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+2>>0]|0)==36:0){h[n+(l<<2)>>2]=10;i=1;a=a+3|0;l=h[t+((c[s>>0]|0)+-48<<3)>>2]|0}else{if(i){f=-1;break e}if(!N){E=k;a=s;i=0;I=0;break}i=(h[r>>2]|0)+(4-1)&~(4-1);l=h[i>>2]|0;h[r>>2]=i+4;i=0;a=s}if((l|0)<0){E=k|8192;I=0-l|0}else{E=k;I=l}}else{s=(l<<24>>24)+-48|0;if(s>>>0<10){l=0;do{l=(l*10|0)+s|0;a=a+1|0;s=(c[a>>0]|0)+-48|0}while(s>>>0<10);if((l|0)<0){f=-1;break e}else{E=k;I=l}}else{E=k;I=0}}}while(0);i:do{if((c[a>>0]|0)==46){s=a+1|0;l=c[s>>0]|0;if(l<<24>>24!=42){u=(l<<24>>24)+-48|0;if(u>>>0<10){a=s;l=0}else{a=s;u=0;break}while(1){l=(l*10|0)+u|0;a=a+1|0;u=(c[a>>0]|0)+-48|0;if(u>>>0>=10){u=l;break i}}}s=a+2|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+3>>0]|0)==36:0){h[n+(l<<2)>>2]=10;a=a+4|0;u=h[t+((c[s>>0]|0)+-48<<3)>>2]|0;break}if(i){f=-1;break e}if(N){a=(h[r>>2]|0)+(4-1)&~(4-1);u=h[a>>2]|0;h[r>>2]=a+4;a=s}else{a=s;u=0}}else u=-1}while(0);w=0;while(1){l=(c[a>>0]|0)+-65|0;if(l>>>0>57){f=-1;break e}s=a+1|0;l=c[56223+(w*58|0)+l>>0]|0;k=l&255;if((k+-1|0)>>>0<8){a=s;w=k}else{x=s;break}}if(!(l<<24>>24)){f=-1;break}s=(_|0)>-1;do{if(l<<24>>24==19)if(s){f=-1;break e}else B=52;else{if(s){h[n+(_<<2)>>2]=k;C=t+(_<<3)|0;D=h[C+4>>2]|0;B=ee;h[B>>2]=h[C>>2];h[B+4>>2]=D;B=52;break}if(!N){f=0;break e}Nc(ee,k,r)}}while(0);if((B|0)==52?(B=0,!N):0){g=x;a=A;continue}_=c[a>>0]|0;_=(w|0)!=0&(_&15|0)==3?_&-33:_;s=E&-65537;D=(E&8192|0)==0?E:s;i:do{switch(_|0){case 110:switch(w|0){case 0:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 1:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 2:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}case 3:{d[h[ee>>2]>>1]=f;g=x;a=A;continue e}case 4:{c[h[ee>>2]>>0]=f;g=x;a=A;continue e}case 6:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 7:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}default:{g=x;a=A;continue e}}case 112:{w=D|8;u=u>>>0>8?u:8;_=120;B=64;break}case 88:case 120:{w=D;B=64;break}case 111:{s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;if((l|0)==0&(s|0)==0)a=F;else{a=F;do{a=a+-1|0;c[a>>0]=l&7|48;l=xm(l|0,s|0,3)|0;s=H}while(!((l|0)==0&(s|0)==0))}if(!(D&8)){l=D;w=0;k=56703;B=77}else{w=V-a+1|0;l=D;u=(u|0)<(w|0)?w:u;w=0;k=56703;B=77}break}case 105:case 100:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;if((l|0)<0){a=Lm(0,0,a|0,l|0)|0;l=H;s=ee;h[s>>2]=a;h[s+4>>2]=l;s=1;k=56703;B=76;break i}if(!(D&2048)){k=D&1;s=k;k=(k|0)==0?56703:56705;B=76}else{s=1;k=56704;B=76}break}case 117:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;s=0;k=56703;B=76;break}case 99:{c[G>>0]=h[ee>>2];g=G;l=1;w=0;_=56703;a=F;break}case 109:{a=zg()|0;a=Vg(h[a>>2]|0)|0;B=82;break}case 115:{a=h[ee>>2]|0;a=(a|0)!=0?a:56713;B=82;break}case 67:{h[fe>>2]=h[ee>>2];h[K>>2]=0;h[ee>>2]=fe;u=-1;B=86;break}case 83:{if(!u){Uc(e,32,I,0,D);a=0;B=98}else B=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=+m[ee>>3];h[te>>2]=0;m[y>>3]=o;if((h[y+4>>2]|0)>=0)if(!(D&2048)){C=D&1;L=C;C=(C|0)==0?56721:56726}else{L=1;C=56723}else{o=-o;L=1;C=56720}m[y>>3]=o;R=h[y+4>>2]&2146435072;do{if(R>>>0<2146435072|(R|0)==2146435072&0<0){p=+cy(o,te)*2.0;l=p!=0.0;if(l)h[te>>2]=(h[te>>2]|0)+-1;P=_|32;if((P|0)==97){g=_&32;A=(g|0)==0?C:C+9|0;E=L|2;a=12-u|0;do{if(!(u>>>0>11|(a|0)==0)){o=8.0;do{a=a+-1|0;o=o*16.0}while((a|0)!=0);if((c[A>>0]|0)==45){o=-(o+(-p-o));break}else{o=p+o-o;break}}else o=p}while(0);l=h[te>>2]|0;a=(l|0)<0?0-l|0:l;a=Fc(a,((a|0)<0)<<31>>31,W)|0;if((a|0)==(W|0)){c[J>>0]=48;a=J}c[a+-1>>0]=(l>>31&2)+43;w=a+-2|0;c[w>>0]=_+15;k=(u|0)<1;s=(D&8|0)==0;l=re;while(1){C=~~o;a=l+1|0;c[l>>0]=b[56687+C>>0]|g;o=(o-+(C|0))*16.0;do{if((a-Z|0)==1){if(s&(k&o==0.0))break;c[a>>0]=46;a=l+2|0}}while(0);if(!(o!=0.0))break;else l=a}u=(u|0)!=0&(U+a|0)<(u|0)?j+u-w|0:$-w+a|0;s=u+E|0;Uc(e,32,I,s,D);if(!(h[e>>2]&32))Fy(A,E,e)|0;Uc(e,48,I,s,D^65536);a=a-Z|0;if(!(h[e>>2]&32))Fy(re,a,e)|0;l=Q-w|0;Uc(e,48,u-(a+l)|0,0,0);if(!(h[e>>2]&32))Fy(w,l,e)|0;Uc(e,32,I,s,D^8192);a=(s|0)<(I|0)?I:s;break}a=(u|0)<0?6:u;if(l){l=(h[te>>2]|0)+-28|0;h[te>>2]=l;o=p*268435456.0}else{o=p;l=h[te>>2]|0}R=(l|0)<0?ie:Y;O=R;l=R;do{S=~~o>>>0;h[l>>2]=S;l=l+4|0;o=(o-+(S>>>0))*1.0e9}while(o!=0.0);s=l;l=h[te>>2]|0;if((l|0)>0){k=R;while(1){w=(l|0)>29?29:l;u=s+-4|0;do{if(u>>>0<k>>>0)u=k;else{l=0;do{S=Bm(h[u>>2]|0,0,w|0)|0;S=Dm(S|0,H|0,l|0,0)|0;l=H;T=zm(S|0,l|0,1e9,0)|0;h[u>>2]=T;l=Xm(S|0,l|0,1e9,0)|0;u=u+-4|0}while(u>>>0>=k>>>0);if(!l){u=k;break}u=k+-4|0;h[u>>2]=l}}while(0);while(1){if(s>>>0<=u>>>0)break;l=s+-4|0;if(!(h[l>>2]|0))s=l;else break}l=(h[te>>2]|0)-w|0;h[te>>2]=l;if((l|0)>0)k=u;else break}}else u=R;if((l|0)<0){A=((a+25|0)/9|0)+1|0;M=(P|0)==102;g=u;while(1){E=0-l|0;E=(E|0)>9?9:E;do{if(g>>>0<s>>>0){l=(1<<E)+-1|0;k=1e9>>>E;u=0;w=g;do{S=h[w>>2]|0;h[w>>2]=(S>>>E)+u;u=ce(S&l,k)|0;w=w+4|0}while(w>>>0<s>>>0);l=(h[g>>2]|0)==0?g+4|0:g;if(!u){u=l;break}h[s>>2]=u;u=l;s=s+4|0}else u=(h[g>>2]|0)==0?g+4|0:g}while(0);l=M?R:u;s=(s-l>>2|0)>(A|0)?l+(A<<2)|0:s;l=(h[te>>2]|0)+E|0;h[te>>2]=l;if((l|0)>=0){g=u;break}else g=u}}else g=u;do{if(g>>>0<s>>>0){l=(O-g>>2)*9|0;k=h[g>>2]|0;if(k>>>0<10)break;else u=10;do{u=u*10|0;l=l+1|0}while(k>>>0>=u>>>0)}else l=0}while(0);T=(P|0)==103;S=(a|0)!=0;u=a-((P|0)!=102?l:0)+((S&T)<<31>>31)|0;if((u|0)<(((s-O>>2)*9|0)+-9|0)){w=u+9216|0;M=(w|0)/9|0;u=R+(M+-1023<<2)|0;w=((w|0)%9|0)+1|0;if((w|0)<9){k=10;do{k=k*10|0;w=w+1|0}while((w|0)!=9)}else k=10;E=h[u>>2]|0;A=(E>>>0)%(k>>>0)|0;if((A|0)==0?(R+(M+-1022<<2)|0)==(s|0):0)k=g;else B=163;do{if((B|0)==163){B=0;p=(((E>>>0)/(k>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;w=(k|0)/2|0;do{if(A>>>0<w>>>0)o=.5;else{if((A|0)==(w|0)?(R+(M+-1022<<2)|0)==(s|0):0){o=1.0;break}o=1.5}}while(0);do{if(L){if((c[C>>0]|0)!=45)break;p=-p;o=-o}}while(0);w=E-A|0;h[u>>2]=w;if(!(p+o!=p)){k=g;break}P=w+k|0;h[u>>2]=P;if(P>>>0>999999999){l=g;while(1){k=u+-4|0;h[u>>2]=0;if(k>>>0<l>>>0){l=l+-4|0;h[l>>2]=0}P=(h[k>>2]|0)+1|0;h[k>>2]=P;if(P>>>0>999999999)u=k;else{g=l;u=k;break}}}l=(O-g>>2)*9|0;w=h[g>>2]|0;if(w>>>0<10){k=g;break}else k=10;do{k=k*10|0;l=l+1|0}while(w>>>0>=k>>>0);k=g}}while(0);P=u+4|0;g=k;s=s>>>0>P>>>0?P:s}A=0-l|0;while(1){if(s>>>0<=g>>>0){M=0;P=s;break}u=s+-4|0;if(!(h[u>>2]|0))s=u;else{M=1;P=s;break}}do{if(T){a=(S&1^1)+a|0;if((a|0)>(l|0)&(l|0)>-5){_=_+-1|0;a=a+-1-l|0}else{_=_+-2|0;a=a+-1|0}s=D&8;if(s)break;do{if(M){s=h[P+-4>>2]|0;if(!s){u=9;break}if(!((s>>>0)%10|0)){k=10;u=0}else{u=0;break}do{k=k*10|0;u=u+1|0}while(((s>>>0)%(k>>>0)|0|0)==0)}else u=9}while(0);s=((P-O>>2)*9|0)+-9|0;if((_|32|0)==102){s=s-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}else{s=s+l-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}}else s=D&8}while(0);E=a|s;k=(E|0)!=0&1;w=(_|32|0)==102;if(w){l=(l|0)>0?l:0;_=0}else{u=(l|0)<0?A:l;u=Fc(u,((u|0)<0)<<31>>31,W)|0;if((Q-u|0)<2)do{u=u+-1|0;c[u>>0]=48}while((Q-u|0)<2);c[u+-1>>0]=(l>>31&2)+43;O=u+-2|0;c[O>>0]=_;l=Q-O|0;_=O}A=L+1+a+k+l|0;Uc(e,32,I,A,D);if(!(h[e>>2]&32))Fy(C,L,e)|0;Uc(e,48,I,A,D^65536);do{if(w){u=g>>>0>R>>>0?R:g;l=u;do{s=Fc(h[l>>2]|0,0,q)|0;do{if((l|0)==(u|0)){if((s|0)!=(q|0))break;c[z>>0]=48;s=z}else{if(s>>>0<=re>>>0)break;do{s=s+-1|0;c[s>>0]=48}while(s>>>0>re>>>0)}}while(0);if(!(h[e>>2]&32))Fy(s,X-s|0,e)|0;l=l+4|0}while(l>>>0<=R>>>0);do{if(E){if(h[e>>2]&32)break;Fy(56755,1,e)|0}}while(0);if((a|0)>0&l>>>0<P>>>0){s=l;while(1){l=Fc(h[s>>2]|0,0,q)|0;if(l>>>0>re>>>0)do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0);if(!(h[e>>2]&32))Fy(l,(a|0)>9?9:a,e)|0;s=s+4|0;l=a+-9|0;if(!((a|0)>9&s>>>0<P>>>0)){a=l;break}else a=l}}Uc(e,48,a+9|0,9,0)}else{w=M?P:g+4|0;if((a|0)>-1){k=(s|0)==0;u=g;do{l=Fc(h[u>>2]|0,0,q)|0;if((l|0)==(q|0)){c[z>>0]=48;l=z}do{if((u|0)==(g|0)){s=l+1|0;if(!(h[e>>2]&32))Fy(l,1,e)|0;if(k&(a|0)<1){l=s;break}if(h[e>>2]&32){l=s;break}Fy(56755,1,e)|0;l=s}else{if(l>>>0<=re>>>0)break;do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0)}}while(0);s=X-l|0;if(!(h[e>>2]&32))Fy(l,(a|0)>(s|0)?s:a,e)|0;a=a-s|0;u=u+4|0}while(u>>>0<w>>>0&(a|0)>-1)}Uc(e,48,a+18|0,18,0);if(h[e>>2]&32)break;Fy(_,Q-_|0,e)|0}}while(0);Uc(e,32,I,A,D^8192);a=(A|0)<(I|0)?I:A}else{w=(_&32|0)!=0;k=o!=o|0.0!=0.0;l=k?0:L;u=l+3|0;Uc(e,32,I,u,s);a=h[e>>2]|0;if(!(a&32)){Fy(C,l,e)|0;a=h[e>>2]|0}if(!(a&32))Fy(k?w?56747:56751:w?56739:56743,3,e)|0;Uc(e,32,I,u,D^8192);a=(u|0)<(I|0)?I:u}}while(0);g=x;continue e}default:{s=D;l=u;w=0;_=56703;a=F}}}while(0);i:do{if((B|0)==64){s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;k=_&32;if(!((l|0)==0&(s|0)==0)){a=F;do{a=a+-1|0;c[a>>0]=b[56687+(l&15)>>0]|k;l=xm(l|0,s|0,4)|0;s=H}while(!((l|0)==0&(s|0)==0));B=ee;if((w&8|0)==0|(h[B>>2]|0)==0&(h[B+4>>2]|0)==0){l=w;w=0;k=56703;B=77}else{l=w;w=2;k=56703+(_>>4)|0;B=77}}else{a=F;l=w;w=0;k=56703;B=77}}else if((B|0)==76){a=Fc(a,l,F)|0;l=D;w=s;B=77}else if((B|0)==82){B=0;D=Qy(a,0,u)|0;C=(D|0)==0;g=a;l=C?u:D-a|0;w=0;_=56703;a=C?a+u|0:D}else if((B|0)==86){B=0;l=0;a=0;k=h[ee>>2]|0;while(1){s=h[k>>2]|0;if(!s)break;a=Ey(ne,s)|0;if((a|0)<0|a>>>0>(u-l|0)>>>0)break;l=a+l|0;if(u>>>0>l>>>0)k=k+4|0;else break}if((a|0)<0){f=-1;break e}Uc(e,32,I,l,D);if(!l){a=0;B=98}else{s=0;u=h[ee>>2]|0;while(1){a=h[u>>2]|0;if(!a){a=l;B=98;break i}a=Ey(ne,a)|0;s=a+s|0;if((s|0)>(l|0)){a=l;B=98;break i}if(!(h[e>>2]&32))Fy(ne,a,e)|0;if(s>>>0>=l>>>0){a=l;B=98;break}else u=u+4|0}}}}while(0);if((B|0)==98){B=0;Uc(e,32,I,a,D^8192);g=x;a=(I|0)>(a|0)?I:a;continue}if((B|0)==77){B=0;s=(u|0)>-1?l&-65537:l;l=ee;l=(h[l>>2]|0)!=0|(h[l+4>>2]|0)!=0;if((u|0)!=0|l){l=(l&1^1)+(V-a)|0;g=a;l=(u|0)>(l|0)?u:l;_=k;a=F}else{g=F;l=0;_=k;a=F}}k=a-g|0;l=(l|0)<(k|0)?k:l;u=w+l|0;a=(I|0)<(u|0)?u:I;Uc(e,32,a,u,s);if(!(h[e>>2]&32))Fy(_,w,e)|0;Uc(e,48,a,u,s^65536);Uc(e,48,l,k,0);if(!(h[e>>2]&32))Fy(g,k,e)|0;Uc(e,32,a,u,s^8192);g=x}e:do{if((B|0)==245)if(!e)if(i){f=1;while(1){i=h[n+(f<<2)>>2]|0;if(!i)break;Nc(t+(f<<3)|0,i,r);f=f+1|0;if((f|0)>=10){f=1;break e}}if((f|0)<10)while(1){if(h[n+(f<<2)>>2]|0){f=-1;break e}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0}while(0);v=ae;return f|0}function Dc(e,i,r){e=e|0;i=i|0;r=r|0;return Cy(e,i,r)|0}function xc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+112|0;a=l;n=a;f=n+112|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(f|0));n=a+4|0;h[n>>2]=e;f=a+8|0;h[f>>2]=-1;h[a+44>>2]=e;h[a+76>>2]=-1;Wg(a,0);t=+Gg(a,r,1);r=(h[n>>2]|0)-(h[f>>2]|0)+(h[a+108>>2]|0)|0;if(i)h[i>>2]=(r|0)!=0?e+r|0:e;v=l;return+t}function Ic(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;s=v;v=v+112|0;l=s;h[l>>2]=0;f=l+4|0;h[f>>2]=e;h[l+44>>2]=e;a=l+8|0;h[a>>2]=(e|0)<0?-1:e+2147483647|0;h[l+76>>2]=-1;Wg(l,0);t=Kg(l,r,1,t,n)|0;if(i)h[i>>2]=e+((h[f>>2]|0)+(h[l+108>>2]|0)-(h[a>>2]|0));v=s;return t|0}function Bc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=h[t>>2]|0;e=(h[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Im(n|0,i|0,e|0)|0;h[t>>2]=(h[t>>2]|0)+e;return r|0}function Nc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0;e:do{if(i>>>0<=20)do{switch(i|0){case 9:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;h[e>>2]=i;break e}case 10:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=0;break e}case 12:{t=(h[r>>2]|0)+(8-1)&~(8-1);i=t;n=h[i>>2]|0;i=h[i+4>>2]|0;h[r>>2]=t+8;t=e;h[t>>2]=n;h[t+4>>2]=i;break e}case 13:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&65535;h[n+4>>2]=0;break e}case 15:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&255)<<24>>24;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&255;h[n+4>>2]=0;break e}case 17:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}case 18:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}default:break e}}while(0)}while(0);return}function Fc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){t=zm(e|0,i|0,10,0)|0;r=r+-1|0;c[r>>0]=t|48;t=Xm(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=t;i=H}else{e=t;break}}if(e)while(1){r=r+-1|0;c[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function Uc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+256|0;a=l;do{if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;Cm(a|0,i|0,(n>>>0>256?256:n)|0)|0;i=h[e>>2]|0;f=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(f){Fy(a,256,e)|0;i=h[e>>2]|0}n=n+-256|0;f=(i&32|0)==0}while(n>>>0>255);if(f)n=t&255;else break}else if(!f)break;Fy(a,n,e)|0}}while(0);v=l;return}function jc(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0;do{if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=h[10218]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=40912+(t<<2)|0;t=40912+(t+2<<2)|0;n=h[t>>2]|0;f=n+8|0;a=h[f>>2]|0;do{if((r|0)!=(a|0)){if(a>>>0<(h[10222]|0)>>>0)Xe();i=a+12|0;if((h[i>>2]|0)==(n|0)){h[i>>2]=r;h[t>>2]=a;break}else Xe()}else h[10218]=l&~(1<<e)}while(0);F=e<<3;h[n+4>>2]=F|3;F=n+(F|4)|0;h[F>>2]=h[F>>2]|1;F=f;return F|0}a=h[10220]|0;if(b>>>0>a>>>0){if(r){t=2<<e;t=r<<e&(t|0-t);t=(t&0-t)+-1|0;s=t>>>12&16;t=t>>>s;n=t>>>5&8;t=t>>>n;f=t>>>2&4;t=t>>>f;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|s|f|r|e)+(t>>>e)|0;t=e<<1;r=40912+(t<<2)|0;t=40912+(t+2<<2)|0;f=h[t>>2]|0;s=f+8|0;n=h[s>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(h[10222]|0)>>>0)Xe();i=n+12|0;if((h[i>>2]|0)==(f|0)){h[i>>2]=r;h[t>>2]=n;o=h[10220]|0;break}else Xe()}else{h[10218]=l&~(1<<e);o=a}}while(0);F=e<<3;a=F-b|0;h[f+4>>2]=b|3;l=f+b|0;h[f+(b|4)>>2]=a|1;h[f+F>>2]=a;if(o){n=h[10223]|0;r=o>>>3;i=r<<1;t=40912+(i<<2)|0;e=h[10218]|0;r=1<<r;if(e&r){e=40912+(i+2<<2)|0;i=h[e>>2]|0;if(i>>>0<(h[10222]|0)>>>0)Xe();else{u=e;c=i}}else{h[10218]=e|r;u=40912+(i+2<<2)|0;c=t}h[u>>2]=n;h[c+12>>2]=n;h[n+8>>2]=c;h[n+12>>2]=t}h[10220]=a;h[10223]=l;F=s;return F|0}e=h[10219]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;B=r>>>5&8;r=r>>>B;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=h[41176+((B|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(h[t+4>>2]&-8)-b|0;e=t;while(1){i=h[e+16>>2]|0;if(!i){i=h[e+20>>2]|0;if(!i){s=r;break}}e=(h[i+4>>2]&-8)-b|0;F=e>>>0<r>>>0;r=F?e:r;e=i;t=F?i:t}f=h[10222]|0;if(t>>>0<f>>>0)Xe();l=t+b|0;if(t>>>0>=l>>>0)Xe();a=h[t+24>>2]|0;r=h[t+12>>2]|0;do{if((r|0)==(t|0)){e=t+20|0;i=h[e>>2]|0;if(!i){e=t+16|0;i=h[e>>2]|0;if(!i){d=0;break}}while(1){r=i+20|0;n=h[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=h[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0<f>>>0)Xe();else{h[e>>2]=0;d=i;break}}else{n=h[t+8>>2]|0;if(n>>>0<f>>>0)Xe();i=n+12|0;if((h[i>>2]|0)!=(t|0))Xe();e=r+8|0;if((h[e>>2]|0)==(t|0)){h[i>>2]=r;h[e>>2]=n;d=r;break}else Xe()}}while(0);do{if(a){i=h[t+28>>2]|0;e=41176+(i<<2)|0;if((t|0)==(h[e>>2]|0)){h[e>>2]=d;if(!d){h[10219]=h[10219]&~(1<<i);break}}else{if(a>>>0<(h[10222]|0)>>>0)Xe();i=a+16|0;if((h[i>>2]|0)==(t|0))h[i>>2]=d;else h[a+20>>2]=d;if(!d)break}e=h[10222]|0;if(d>>>0<e>>>0)Xe();h[d+24>>2]=a;i=h[t+16>>2]|0;do{if(i)if(i>>>0<e>>>0)Xe();else{h[d+16>>2]=i;h[i+24>>2]=d;break}}while(0);i=h[t+20>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[d+20>>2]=i;h[i+24>>2]=d;break}}}while(0);if(s>>>0<16){F=s+b|0;h[t+4>>2]=F|3;F=t+(F+4)|0;h[F>>2]=h[F>>2]|1}else{h[t+4>>2]=b|3;h[t+(b|4)>>2]=s|1;h[t+(s+b)>>2]=s;i=h[10220]|0;if(i){f=h[10223]|0;r=i>>>3;i=r<<1;n=40912+(i<<2)|0;e=h[10218]|0;r=1<<r;if(e&r){i=40912+(i+2<<2)|0;e=h[i>>2]|0;if(e>>>0<(h[10222]|0)>>>0)Xe();else{k=i;w=e}}else{h[10218]=e|r;k=40912+(i+2<<2)|0;w=n}h[k>>2]=f;h[w+12>>2]=f;h[f+8>>2]=w;h[f+12>>2]=n}h[10220]=s;h[10223]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;c=e&-8;u=h[10219]|0;if(u){r=0-c|0;e=e>>>8;if(e)if(c>>>0>16777215)o=31;else{w=(e+1048320|0)>>>16&8;g=e<<w;k=(g+520192|0)>>>16&4;g=g<<k;o=(g+245760|0)>>>16&2;o=14-(k|w|o)+(g<<o>>>15)|0;o=c>>>(o+7|0)&1|o<<1}else o=0;e=h[41176+(o<<2)>>2]|0;e:do{if(!e){n=0;e=0;g=86}else{a=r;n=0;l=c<<((o|0)==31?0:25-(o>>>1)|0);s=e;e=0;while(1){f=h[s+4>>2]&-8;r=f-c|0;if(r>>>0<a>>>0)if((f|0)==(c|0)){f=s;e=s;g=90;break e}else e=s;else r=a;g=h[s+20>>2]|0;s=h[s+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(s|0)?n:g;if(!s){g=86;break}else{a=r;l=l<<1}}}}while(0);if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<<o;e=u&(e|0-e);if(!e){w=c;break}e=(e&0-e)+-1|0;d=e>>>12&16;e=e>>>d;u=e>>>5&8;e=e>>>u;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=h[41176+((u|d|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;s=e}else{f=n;g=90}}if((g|0)==90)while(1){g=0;w=(h[f+4>>2]&-8)-c|0;n=w>>>0<r>>>0;r=n?w:r;e=n?f:e;n=h[f+16>>2]|0;if(n){f=n;g=90;continue}f=h[f+20>>2]|0;if(!f){l=r;s=e;break}else g=90}if((s|0)!=0?l>>>0<((h[10220]|0)-c|0)>>>0:0){n=h[10222]|0;if(s>>>0<n>>>0)Xe();a=s+c|0;if(s>>>0>=a>>>0)Xe();f=h[s+24>>2]|0;r=h[s+12>>2]|0;do{if((r|0)==(s|0)){e=s+20|0;i=h[e>>2]|0;if(!i){e=s+16|0;i=h[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=h[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=h[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0<n>>>0)Xe();else{h[e>>2]=0;b=i;break}}else{t=h[s+8>>2]|0;if(t>>>0<n>>>0)Xe();i=t+12|0;if((h[i>>2]|0)!=(s|0))Xe();e=r+8|0;if((h[e>>2]|0)==(s|0)){h[i>>2]=r;h[e>>2]=t;b=r;break}else Xe()}}while(0);do{if(f){i=h[s+28>>2]|0;e=41176+(i<<2)|0;if((s|0)==(h[e>>2]|0)){h[e>>2]=b;if(!b){h[10219]=h[10219]&~(1<<i);break}}else{if(f>>>0<(h[10222]|0)>>>0)Xe();i=f+16|0;if((h[i>>2]|0)==(s|0))h[i>>2]=b;else h[f+20>>2]=b;if(!b)break}e=h[10222]|0;if(b>>>0<e>>>0)Xe();h[b+24>>2]=f;i=h[s+16>>2]|0;do{if(i)if(i>>>0<e>>>0)Xe();else{h[b+16>>2]=i;h[i+24>>2]=b;break}}while(0);i=h[s+20>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[b+20>>2]=i;h[i+24>>2]=b;break}}}while(0);e:do{if(l>>>0>=16){h[s+4>>2]=c|3;h[s+(c|4)>>2]=l|1;h[s+(l+c)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=h[10218]|0;i=1<<i;if(r&i){i=40912+(e+2<<2)|0;e=h[i>>2]|0;if(e>>>0<(h[10222]|0)>>>0)Xe();else{m=i;p=e}}else{h[10218]=r|i;m=40912+(e+2<<2)|0;p=t}h[m>>2]=a;h[p+12>>2]=a;h[s+(c+8)>>2]=p;h[s+(c+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<<N;B=(F+520192|0)>>>16&4;F=F<<B;t=(F+245760|0)>>>16&2;t=14-(B|N|t)+(F<<t>>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=41176+(t<<2)|0;h[s+(c+28)>>2]=t;h[s+(c+20)>>2]=0;h[s+(c+16)>>2]=0;e=h[10219]|0;r=1<<t;if(!(e&r)){h[10219]=e|r;h[i>>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break}i=h[i>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[10222]|0)>>>0)Xe();else{h[e>>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break e}}else A=i}while(0);i=A+8|0;e=h[i>>2]|0;F=h[10222]|0;if(e>>>0>=F>>>0&A>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[s+(c+8)>>2]=e;h[s+(c+12)>>2]=A;h[s+(c+24)>>2]=0;break}else Xe()}else{F=l+c|0;h[s+4>>2]=F|3;F=s+(F+4)|0;h[F>>2]=h[F>>2]|1}}while(0);F=s+8|0;return F|0}else w=c}else w=c}else w=-1}while(0);r=h[10220]|0;if(r>>>0>=w>>>0){i=r-w|0;e=h[10223]|0;if(i>>>0>15){h[10223]=e+w;h[10220]=i;h[e+(w+4)>>2]=i|1;h[e+r>>2]=i;h[e+4>>2]=w|3}else{h[10220]=0;h[10223]=0;h[e+4>>2]=r|3;F=e+(r+4)|0;h[F>>2]=h[F>>2]|1}F=e+8|0;return F|0}e=h[10221]|0;if(e>>>0>w>>>0){N=e-w|0;h[10221]=N;F=h[10224]|0;h[10224]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}do{if(!(h[10336]|0)){e=ui(30)|0;if(!(e+-1&e)){h[10338]=e;h[10337]=e;h[10339]=-1;h[10340]=-1;h[10341]=0;h[10329]=0;A=(Pi(0)|0)&-16^1431655768;h[10336]=A;break}else Xe()}}while(0);s=w+48|0;l=h[10338]|0;o=w+47|0;a=l+o|0;l=0-l|0;u=a&l;if(u>>>0<=w>>>0){F=0;return F|0}e=h[10328]|0;if((e|0)!=0?(p=h[10326]|0,A=p+u|0,A>>>0<=p>>>0|A>>>0>e>>>0):0){F=0;return F|0}e:do{if(!(h[10329]&4)){e=h[10224]|0;i:do{if(e){n=41320;while(1){r=h[n>>2]|0;if(r>>>0<=e>>>0?(_=n+4|0,(r+(h[_>>2]|0)|0)>>>0>e>>>0):0){f=n;e=_;break}n=h[n+8>>2]|0;if(!n){g=174;break i}}r=a-(h[10221]|0)&l;if(r>>>0<2147483647){n=ni(r|0)|0;A=(n|0)==((h[f>>2]|0)+(h[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174}while(0);do{if((g|0)==174){f=ni(0)|0;if((f|0)!=(-1|0)){e=f;r=h[10337]|0;n=r+-1|0;if(!(n&e))r=u;else r=u-e+(n+e&0-r)|0;e=h[10326]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){A=h[10328]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=ni(r|0)|0;A=(n|0)==(f|0);e=A?r:0;if(A){y=f;k=e;g=194;break e}else g=184}else e=0}else e=0}}while(0);i:do{if((g|0)==184){f=0-r|0;do{if(s>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(v=h[10338]|0,v=o-r+v&0-v,v>>>0<2147483647):0)if((ni(v|0)|0)==(-1|0)){ni(f|0)|0;break i}else{r=v+r|0;break}}while(0);if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}}while(0);h[10329]=h[10329]|4;g=191}else{e=0;g=191}}while(0);if((((g|0)==191?u>>>0<2147483647:0)?(y=ni(u|0)|0,E=ni(0)|0,y>>>0<E>>>0&((y|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(M=E-y|0,T=M>>>0>(w+40|0)>>>0,T):0){k=T?M:e;g=194}if((g|0)==194){e=(h[10326]|0)+k|0;h[10326]=e;if(e>>>0>(h[10327]|0)>>>0)h[10327]=e;a=h[10224]|0;e:do{if(a){f=41320;do{e=h[f>>2]|0;r=f+4|0;n=h[r>>2]|0;if((y|0)==(e+n|0)){S=e;P=r;O=n;R=f;g=204;break}f=h[f+8>>2]|0}while((f|0)!=0);if(((g|0)==204?(h[R+12>>2]&8|0)==0:0)?a>>>0<y>>>0&a>>>0>=S>>>0:0){h[P>>2]=O+k;F=(h[10221]|0)+k|0;N=a+8|0;N=(N&7|0)==0?0:0-N&7;B=F-N|0;h[10224]=a+N;h[10221]=B;h[a+(N+4)>>2]=B|1;h[a+(F+4)>>2]=40;h[10225]=h[10340];break}e=h[10222]|0;if(y>>>0<e>>>0){h[10222]=y;e=y}r=y+k|0;f=41320;while(1){if((h[f>>2]|0)==(r|0)){n=f;r=f;g=212;break}f=h[f+8>>2]|0;if(!f){r=41320;break}}if((g|0)==212)if(!(h[r+12>>2]&8)){h[n>>2]=y;d=r+4|0;h[d>>2]=(h[d>>2]|0)+k;d=y+8|0;d=(d&7|0)==0?0:0-d&7;o=y+(k+8)|0;o=(o&7|0)==0?0:0-o&7;i=y+(o+k)|0;c=d+w|0;b=y+c|0;u=i-(y+d)-w|0;h[y+(d+4)>>2]=w|3;i:do{if((i|0)!=(a|0)){if((i|0)==(h[10223]|0)){F=(h[10220]|0)+u|0;h[10220]=F;h[10223]=b;h[y+(c+4)>>2]=F|1;h[y+(F+c)>>2]=F;break}l=k+4|0;r=h[y+(l+o)>>2]|0;if((r&3|0)==1){s=r&-8;f=r>>>3;r:do{if(r>>>0>=256){a=h[y+((o|24)+k)>>2]|0;t=h[y+(k+12+o)>>2]|0;do{if((t|0)==(i|0)){n=o|16;t=y+(l+n)|0;r=h[t>>2]|0;if(!r){t=y+(n+k)|0;r=h[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0<e>>>0)Xe();else{h[t>>2]=0;I=r;break}}else{n=h[y+((o|8)+k)>>2]|0;if(n>>>0<e>>>0)Xe();e=n+12|0;if((h[e>>2]|0)!=(i|0))Xe();r=t+8|0;if((h[r>>2]|0)==(i|0)){h[e>>2]=t;h[r>>2]=n;I=t;break}else Xe()}}while(0);if(!a)break;e=h[y+(k+28+o)>>2]|0;r=41176+(e<<2)|0;do{if((i|0)!=(h[r>>2]|0)){if(a>>>0<(h[10222]|0)>>>0)Xe();e=a+16|0;if((h[e>>2]|0)==(i|0))h[e>>2]=I;else h[a+20>>2]=I;if(!I)break r}else{h[r>>2]=I;if(I)break;h[10219]=h[10219]&~(1<<e);break r}}while(0);r=h[10222]|0;if(I>>>0<r>>>0)Xe();h[I+24>>2]=a;i=o|16;e=h[y+(i+k)>>2]|0;do{if(e)if(e>>>0<r>>>0)Xe();else{h[I+16>>2]=e;h[e+24>>2]=I;break}}while(0);i=h[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[I+20>>2]=i;h[i+24>>2]=I;break}}else{t=h[y+((o|8)+k)>>2]|0;n=h[y+(k+12+o)>>2]|0;r=40912+(f<<1<<2)|0;do{if((t|0)!=(r|0)){if(t>>>0<e>>>0)Xe();if((h[t+12>>2]|0)==(i|0))break;Xe()}}while(0);if((n|0)==(t|0)){h[10218]=h[10218]&~(1<<f);break}do{if((n|0)==(r|0))L=n+8|0;else{if(n>>>0<e>>>0)Xe();e=n+8|0;if((h[e>>2]|0)==(i|0)){L=e;break}Xe()}}while(0);h[t+12>>2]=n;h[L>>2]=t}}while(0);i=y+((s|o)+k)|0;n=s+u|0}else n=u;i=i+4|0;h[i>>2]=h[i>>2]&-2;h[y+(c+4)>>2]=n|1;h[y+(n+c)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=h[10218]|0;i=1<<i;do{if(!(r&i)){h[10218]=r|i;B=40912+(e+2<<2)|0;N=t}else{i=40912+(e+2<<2)|0;e=h[i>>2]|0;if(e>>>0>=(h[10222]|0)>>>0){B=i;N=e;break}Xe()}}while(0);h[B>>2]=b;h[N+12>>2]=b;h[y+(c+8)>>2]=N;h[y+(c+12)>>2]=t;break}i=n>>>8;do{if(!i)t=0;else{if(n>>>0>16777215){t=31;break}B=(i+1048320|0)>>>16&8;N=i<<B;I=(N+520192|0)>>>16&4;N=N<<I;t=(N+245760|0)>>>16&2;t=14-(I|B|t)+(N<<t>>>15)|0;t=n>>>(t+7|0)&1|t<<1}}while(0);i=41176+(t<<2)|0;h[y+(c+28)>>2]=t;h[y+(c+20)>>2]=0;h[y+(c+16)>>2]=0;e=h[10219]|0;r=1<<t;if(!(e&r)){h[10219]=e|r;h[i>>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break}i=h[i>>2]|0;r:do{if((h[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(h[10222]|0)>>>0)Xe();else{h[e>>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break i}}else F=i}while(0);i=F+8|0;e=h[i>>2]|0;N=h[10222]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){h[e+12>>2]=b;h[i>>2]=b;h[y+(c+8)>>2]=e;h[y+(c+12)>>2]=F;h[y+(c+24)>>2]=0;break}else Xe()}else{F=(h[10221]|0)+u|0;h[10221]=F;h[10224]=b;h[y+(c+4)>>2]=F|1}}while(0);F=y+(d|8)|0;return F|0}else r=41320;while(1){e=h[r>>2]|0;if(e>>>0<=a>>>0?(i=h[r+4>>2]|0,t=e+i|0,t>>>0>a>>>0):0)break;r=h[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=a+16|0;e=e>>>0<n>>>0?a:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;h[10224]=y+r;h[10221]=F;h[y+(r+4)>>2]=F|1;h[y+(k+-36)>>2]=40;h[10225]=h[10340];r=e+4|0;h[r>>2]=27;h[i>>2]=h[10330];h[i+4>>2]=h[10331];h[i+8>>2]=h[10332];h[i+12>>2]=h[10333];h[10330]=y;h[10331]=k;h[10333]=0;h[10332]=i;i=e+28|0;h[i>>2]=7;if((e+32|0)>>>0<t>>>0)do{F=i;i=i+4|0;h[i>>2]=7}while((F+8|0)>>>0<t>>>0);if((e|0)!=(a|0)){f=e-a|0;h[r>>2]=h[r>>2]&-2;h[a+4>>2]=f|1;h[e>>2]=f;i=f>>>3;if(f>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=h[10218]|0;i=1<<i;if(r&i){i=40912+(e+2<<2)|0;e=h[i>>2]|0;if(e>>>0<(h[10222]|0)>>>0)Xe();else{C=i;D=e}}else{h[10218]=r|i;C=40912+(e+2<<2)|0;D=t}h[C>>2]=a;h[D+12>>2]=a;h[a+8>>2]=D;h[a+12>>2]=t;break}i=f>>>8;if(i)if(f>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<<N;B=(F+520192|0)>>>16&4;F=F<<B;t=(F+245760|0)>>>16&2;t=14-(B|N|t)+(F<<t>>>15)|0;t=f>>>(t+7|0)&1|t<<1}else t=0;r=41176+(t<<2)|0;h[a+28>>2]=t;h[a+20>>2]=0;h[n>>2]=0;i=h[10219]|0;e=1<<t;if(!(i&e)){h[10219]=i|e;h[r>>2]=a;h[a+24>>2]=r;h[a+12>>2]=a;h[a+8>>2]=a;break}i=h[r>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){t=f<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(f|0)){x=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[10222]|0)>>>0)Xe();else{h[e>>2]=a;h[a+24>>2]=i;h[a+12>>2]=a;h[a+8>>2]=a;break e}}else x=i}while(0);i=x+8|0;e=h[i>>2]|0;F=h[10222]|0;if(e>>>0>=F>>>0&x>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[a+8>>2]=e;h[a+12>>2]=x;h[a+24>>2]=0;break}else Xe()}}else{F=h[10222]|0;if((F|0)==0|y>>>0<F>>>0)h[10222]=y;h[10330]=y;h[10331]=k;h[10333]=0;h[10227]=h[10336];h[10226]=-1;i=0;do{F=i<<1;N=40912+(F<<2)|0;h[40912+(F+3<<2)>>2]=N;h[40912+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32);F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;h[10224]=y+F;h[10221]=N;h[y+(F+4)>>2]=N|1;h[y+(k+-36)>>2]=40;h[10225]=h[10340]}}while(0);i=h[10221]|0;if(i>>>0>w>>>0){N=i-w|0;h[10221]=N;F=h[10224]|0;h[10224]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}}F=zg()|0;h[F>>2]=12;F=0;return F|0}function Hc(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;if(!e)return;i=e+-8|0;l=h[10222]|0;if(i>>>0<l>>>0)Xe();r=h[e+-4>>2]|0;t=r&3;if((t|0)==1)Xe();b=r&-8;w=e+(b+-8)|0;do{if(!(r&1)){i=h[i>>2]|0;if(!t)return;s=-8-i|0;u=e+s|0;c=i+b|0;if(u>>>0<l>>>0)Xe();if((u|0)==(h[10223]|0)){i=e+(b+-4)|0;r=h[i>>2]|0;if((r&3|0)!=3){v=u;f=c;break}h[10220]=c;h[i>>2]=r&-2;h[e+(s+4)>>2]=c|1;h[w>>2]=c;return}n=i>>>3;if(i>>>0<256){t=h[e+(s+8)>>2]|0;r=h[e+(s+12)>>2]|0;i=40912+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<l>>>0)Xe();if((h[t+12>>2]|0)!=(u|0))Xe()}if((r|0)==(t|0)){h[10218]=h[10218]&~(1<<n);v=u;f=c;break}if((r|0)!=(i|0)){if(r>>>0<l>>>0)Xe();i=r+8|0;if((h[i>>2]|0)==(u|0))a=i;else Xe()}else a=r+8|0;h[t+12>>2]=r;h[a>>2]=t;v=u;f=c;break}a=h[e+(s+24)>>2]|0;t=h[e+(s+12)>>2]|0;do{if((t|0)==(u|0)){r=e+(s+20)|0;i=h[r>>2]|0;if(!i){r=e+(s+16)|0;i=h[r>>2]|0;if(!i){o=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<l>>>0)Xe();else{h[r>>2]=0;o=i;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0<l>>>0)Xe();i=n+12|0;if((h[i>>2]|0)!=(u|0))Xe();r=t+8|0;if((h[r>>2]|0)==(u|0)){h[i>>2]=t;h[r>>2]=n;o=t;break}else Xe()}}while(0);if(a){i=h[e+(s+28)>>2]|0;r=41176+(i<<2)|0;if((u|0)==(h[r>>2]|0)){h[r>>2]=o;if(!o){h[10219]=h[10219]&~(1<<i);v=u;f=c;break}}else{if(a>>>0<(h[10222]|0)>>>0)Xe();i=a+16|0;if((h[i>>2]|0)==(u|0))h[i>>2]=o;else h[a+20>>2]=o;if(!o){v=u;f=c;break}}r=h[10222]|0;if(o>>>0<r>>>0)Xe();h[o+24>>2]=a;i=h[e+(s+16)>>2]|0;do{if(i)if(i>>>0<r>>>0)Xe();else{h[o+16>>2]=i;h[i+24>>2]=o;break}}while(0);i=h[e+(s+20)>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[o+20>>2]=i;h[i+24>>2]=o;v=u;f=c;break}else{v=u;f=c}}else{v=u;f=c}}else{v=i;f=b}}while(0);if(v>>>0>=w>>>0)Xe();i=e+(b+-4)|0;r=h[i>>2]|0;if(!(r&1))Xe();if(!(r&2)){if((w|0)==(h[10224]|0)){p=(h[10221]|0)+f|0;h[10221]=p;h[10224]=v;h[v+4>>2]=p|1;if((v|0)!=(h[10223]|0))return;h[10223]=0;h[10220]=0;return}if((w|0)==(h[10223]|0)){p=(h[10220]|0)+f|0;h[10220]=p;h[10223]=v;h[v+4>>2]=p|1;h[v+p>>2]=p;return}f=(r&-8)+f|0;n=r>>>3;do{if(r>>>0>=256){a=h[e+(b+16)>>2]|0;i=h[e+(b|4)>>2]|0;do{if((i|0)==(w|0)){r=e+(b+12)|0;i=h[r>>2]|0;if(!i){r=e+(b+8)|0;i=h[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[r>>2]=0;k=i;break}}else{r=h[e+b>>2]|0;if(r>>>0<(h[10222]|0)>>>0)Xe();t=r+12|0;if((h[t>>2]|0)!=(w|0))Xe();n=i+8|0;if((h[n>>2]|0)==(w|0)){h[t>>2]=i;h[n>>2]=r;k=i;break}else Xe()}}while(0);if(a){i=h[e+(b+20)>>2]|0;r=41176+(i<<2)|0;if((w|0)==(h[r>>2]|0)){h[r>>2]=k;if(!k){h[10219]=h[10219]&~(1<<i);break}}else{if(a>>>0<(h[10222]|0)>>>0)Xe();i=a+16|0;if((h[i>>2]|0)==(w|0))h[i>>2]=k;else h[a+20>>2]=k;if(!k)break}r=h[10222]|0;if(k>>>0<r>>>0)Xe();h[k+24>>2]=a;i=h[e+(b+8)>>2]|0;do{if(i)if(i>>>0<r>>>0)Xe();else{h[k+16>>2]=i;h[i+24>>2]=k;break}}while(0);i=h[e+(b+12)>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[k+20>>2]=i;h[i+24>>2]=k;break}}}else{t=h[e+b>>2]|0;r=h[e+(b|4)>>2]|0;i=40912+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(h[10222]|0)>>>0)Xe();if((h[t+12>>2]|0)!=(w|0))Xe()}if((r|0)==(t|0)){h[10218]=h[10218]&~(1<<n);break}if((r|0)!=(i|0)){if(r>>>0<(h[10222]|0)>>>0)Xe();i=r+8|0;if((h[i>>2]|0)==(w|0))d=i;else Xe()}else d=r+8|0;h[t+12>>2]=r;h[d>>2]=t}}while(0);h[v+4>>2]=f|1;h[v+f>>2]=f;if((v|0)==(h[10223]|0)){h[10220]=f;return}}else{h[i>>2]=r&-2;h[v+4>>2]=f|1;h[v+f>>2]=f}i=f>>>3;if(f>>>0<256){r=i<<1;n=40912+(r<<2)|0;t=h[10218]|0;i=1<<i;if(t&i){i=40912+(r+2<<2)|0;r=h[i>>2]|0;if(r>>>0<(h[10222]|0)>>>0)Xe();else{_=i;m=r}}else{h[10218]=t|i;_=40912+(r+2<<2)|0;m=n}h[_>>2]=v;h[m+12>>2]=v;h[v+8>>2]=m;h[v+12>>2]=n;return}i=f>>>8;if(i)if(f>>>0>16777215)n=31;else{_=(i+1048320|0)>>>16&8;m=i<<_;w=(m+520192|0)>>>16&4;m=m<<w;n=(m+245760|0)>>>16&2;n=14-(w|_|n)+(m<<n>>>15)|0;n=f>>>(n+7|0)&1|n<<1}else n=0;i=41176+(n<<2)|0;h[v+28>>2]=n;h[v+20>>2]=0;h[v+16>>2]=0;r=h[10219]|0;t=1<<n;e:do{if(r&t){i=h[i>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){n=f<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=h[r>>2]|0;if(!t)break;if((h[t+4>>2]&-8|0)==(f|0)){p=t;break i}else{n=n<<1;i=t}}if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[r>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v;break e}}else p=i}while(0);i=p+8|0;r=h[i>>2]|0;m=h[10222]|0;if(r>>>0>=m>>>0&p>>>0>=m>>>0){h[r+12>>2]=v;h[i>>2]=v;h[v+8>>2]=r;h[v+12>>2]=p;h[v+24>>2]=0;break}else Xe()}else{h[10219]=r|t;h[i>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v}}while(0);v=(h[10226]|0)+-1|0;h[10226]=v;if(!v)i=41328;else return;while(1){i=h[i>>2]|0;if(!i)break;else i=i+8|0}h[10226]=-1;return}function Yc(e,i){e=e|0;i=i|0;var r=0;if(e){r=ce(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=jc(r)|0;if(!i)return i|0;if(!(h[i+-4>>2]&3))return i|0;Cm(i|0,0,r|0)|0;return i|0}function qc(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=jc(i)|0;return e|0}if(i>>>0>4294967231){e=zg()|0;h[e>>2]=12;e=0;return e|0}r=Xc(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=jc(i)|0;if(!r){e=0;return e|0}t=h[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;Im(r|0,e|0,(t>>>0<i>>>0?t:i)|0)|0;Hc(e);e=r;return e|0}function Xc(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;b=e+4|0;k=h[b>>2]|0;s=k&-8;u=e+s|0;l=h[10222]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0<u>>>0))Xe();t=e+(s|4)|0;n=h[t>>2]|0;if(!(n&1))Xe();if(!r){if(i>>>0<256){e=0;return e|0}if(s>>>0>=(i+4|0)>>>0?(s-i|0)>>>0<=h[10338]<<1>>>0:0)return e|0;e=0;return e|0}if(s>>>0>=i>>>0){r=s-i|0;if(r>>>0<=15)return e|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|3;h[t>>2]=h[t>>2]|1;zc(e+i|0,r);return e|0}if((u|0)==(h[10224]|0)){r=(h[10221]|0)+s|0;if(r>>>0<=i>>>0){e=0;return e|0}d=r-i|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|1;h[10224]=e+i;h[10221]=d;return e|0}if((u|0)==(h[10223]|0)){t=(h[10220]|0)+s|0;if(t>>>0<i>>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|1;h[e+t>>2]=r;t=e+(t+4)|0;h[t>>2]=h[t>>2]&-2;t=e+i|0}else{h[b>>2]=k&1|t|2;t=e+(t+4)|0;h[t>>2]=h[t>>2]|1;t=0;r=0}h[10220]=r;h[10223]=t;return e|0}if(n&2){e=0;return e|0}c=(n&-8)+s|0;if(c>>>0<i>>>0){e=0;return e|0}d=c-i|0;f=n>>>3;do{if(n>>>0>=256){a=h[e+(s+24)>>2]|0;f=h[e+(s+12)>>2]|0;do{if((f|0)==(u|0)){t=e+(s+20)|0;r=h[t>>2]|0;if(!r){t=e+(s+16)|0;r=h[t>>2]|0;if(!r){o=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0<l>>>0)Xe();else{h[t>>2]=0;o=r;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0<l>>>0)Xe();r=n+12|0;if((h[r>>2]|0)!=(u|0))Xe();t=f+8|0;if((h[t>>2]|0)==(u|0)){h[r>>2]=f;h[t>>2]=n;o=f;break}else Xe()}}while(0);if(a){r=h[e+(s+28)>>2]|0;t=41176+(r<<2)|0;if((u|0)==(h[t>>2]|0)){h[t>>2]=o;if(!o){h[10219]=h[10219]&~(1<<r);break}}else{if(a>>>0<(h[10222]|0)>>>0)Xe();r=a+16|0;if((h[r>>2]|0)==(u|0))h[r>>2]=o;else h[a+20>>2]=o;if(!o)break}t=h[10222]|0;if(o>>>0<t>>>0)Xe();h[o+24>>2]=a;r=h[e+(s+16)>>2]|0;do{if(r)if(r>>>0<t>>>0)Xe();else{h[o+16>>2]=r;h[r+24>>2]=o;break}}while(0);r=h[e+(s+20)>>2]|0;if(r)if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[o+20>>2]=r;h[r+24>>2]=o;break}}}else{n=h[e+(s+8)>>2]|0;t=h[e+(s+12)>>2]|0;r=40912+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<l>>>0)Xe();if((h[n+12>>2]|0)!=(u|0))Xe()}if((t|0)==(n|0)){h[10218]=h[10218]&~(1<<f);break}if((t|0)!=(r|0)){if(t>>>0<l>>>0)Xe();r=t+8|0;if((h[r>>2]|0)==(u|0))a=r;else Xe()}else a=t+8|0;h[n+12>>2]=t;h[a>>2]=n}}while(0);if(d>>>0<16){h[b>>2]=c|k&1|2;i=e+(c|4)|0;h[i>>2]=h[i>>2]|1;return e|0}else{h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|3;k=e+(c|4)|0;h[k>>2]=h[k>>2]|1;zc(e+i|0,d);return e|0}return 0}function zc(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;w=e+i|0;r=h[e+4>>2]|0;do{if(!(r&1)){o=h[e>>2]|0;if(!(r&3))return;d=e+(0-o)|0;c=o+i|0;s=h[10222]|0;if(d>>>0<s>>>0)Xe();if((d|0)==(h[10223]|0)){t=e+(i+4)|0;r=h[t>>2]|0;if((r&3|0)!=3){p=d;a=c;break}h[10220]=c;h[t>>2]=r&-2;h[e+(4-o)>>2]=c|1;h[w>>2]=c;return}f=o>>>3;if(o>>>0<256){n=h[e+(8-o)>>2]|0;t=h[e+(12-o)>>2]|0;r=40912+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<s>>>0)Xe();if((h[n+12>>2]|0)!=(d|0))Xe()}if((t|0)==(n|0)){h[10218]=h[10218]&~(1<<f);p=d;a=c;break}if((t|0)!=(r|0)){if(t>>>0<s>>>0)Xe();r=t+8|0;if((h[r>>2]|0)==(d|0))l=r;else Xe()}else l=t+8|0;h[n+12>>2]=t;h[l>>2]=n;p=d;a=c;break}l=h[e+(24-o)>>2]|0;n=h[e+(12-o)>>2]|0;do{if((n|0)==(d|0)){n=16-o|0;t=e+(n+4)|0;r=h[t>>2]|0;if(!r){t=e+n|0;r=h[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0<s>>>0)Xe();else{h[t>>2]=0;u=r;break}}else{f=h[e+(8-o)>>2]|0;if(f>>>0<s>>>0)Xe();r=f+12|0;if((h[r>>2]|0)!=(d|0))Xe();t=n+8|0;if((h[t>>2]|0)==(d|0)){h[r>>2]=n;h[t>>2]=f;u=n;break}else Xe()}}while(0);if(l){r=h[e+(28-o)>>2]|0;t=41176+(r<<2)|0;if((d|0)==(h[t>>2]|0)){h[t>>2]=u;if(!u){h[10219]=h[10219]&~(1<<r);p=d;a=c;break}}else{if(l>>>0<(h[10222]|0)>>>0)Xe();r=l+16|0;if((h[r>>2]|0)==(d|0))h[r>>2]=u;else h[l+20>>2]=u;if(!u){p=d;a=c;break}}n=h[10222]|0;if(u>>>0<n>>>0)Xe();h[u+24>>2]=l;r=16-o|0;t=h[e+r>>2]|0;do{if(t)if(t>>>0<n>>>0)Xe();else{h[u+16>>2]=t;h[t+24>>2]=u;break}}while(0);r=h[e+(r+4)>>2]|0;if(r)if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[u+20>>2]=r;h[r+24>>2]=u;p=d;a=c;break}else{p=d;a=c}}else{p=d;a=c}}else{p=e;a=i}}while(0);s=h[10222]|0;if(w>>>0<s>>>0)Xe();r=e+(i+4)|0;t=h[r>>2]|0;if(!(t&2)){if((w|0)==(h[10224]|0)){m=(h[10221]|0)+a|0;h[10221]=m;h[10224]=p;h[p+4>>2]=m|1;if((p|0)!=(h[10223]|0))return;h[10223]=0;h[10220]=0;return}if((w|0)==(h[10223]|0)){m=(h[10220]|0)+a|0;h[10220]=m;h[10223]=p;h[p+4>>2]=m|1;h[p+m>>2]=m;return}a=(t&-8)+a|0;f=t>>>3;do{if(t>>>0>=256){l=h[e+(i+24)>>2]|0;n=h[e+(i+12)>>2]|0;do{if((n|0)==(w|0)){t=e+(i+20)|0;r=h[t>>2]|0;if(!r){t=e+(i+16)|0;r=h[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0<s>>>0)Xe();else{h[t>>2]=0;k=r;break}}else{f=h[e+(i+8)>>2]|0;if(f>>>0<s>>>0)Xe();r=f+12|0;if((h[r>>2]|0)!=(w|0))Xe();t=n+8|0;if((h[t>>2]|0)==(w|0)){h[r>>2]=n;h[t>>2]=f;k=n;break}else Xe()}}while(0);if(l){r=h[e+(i+28)>>2]|0;t=41176+(r<<2)|0;if((w|0)==(h[t>>2]|0)){h[t>>2]=k;if(!k){h[10219]=h[10219]&~(1<<r);break}}else{if(l>>>0<(h[10222]|0)>>>0)Xe();r=l+16|0;if((h[r>>2]|0)==(w|0))h[r>>2]=k;else h[l+20>>2]=k;if(!k)break}t=h[10222]|0;if(k>>>0<t>>>0)Xe();h[k+24>>2]=l;r=h[e+(i+16)>>2]|0;do{if(r)if(r>>>0<t>>>0)Xe();else{h[k+16>>2]=r;h[r+24>>2]=k;break}}while(0);r=h[e+(i+20)>>2]|0;if(r)if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[k+20>>2]=r;h[r+24>>2]=k;break}}}else{n=h[e+(i+8)>>2]|0;t=h[e+(i+12)>>2]|0;r=40912+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<s>>>0)Xe();if((h[n+12>>2]|0)!=(w|0))Xe()}if((t|0)==(n|0)){h[10218]=h[10218]&~(1<<f);break}if((t|0)!=(r|0)){if(t>>>0<s>>>0)Xe();r=t+8|0;if((h[r>>2]|0)==(w|0))b=r;else Xe()}else b=t+8|0;h[n+12>>2]=t;h[b>>2]=n}}while(0);h[p+4>>2]=a|1;h[p+a>>2]=a;if((p|0)==(h[10223]|0)){h[10220]=a;return}}else{h[r>>2]=t&-2;h[p+4>>2]=a|1;h[p+a>>2]=a}r=a>>>3;if(a>>>0<256){t=r<<1;f=40912+(t<<2)|0;n=h[10218]|0;r=1<<r;if(n&r){r=40912+(t+2<<2)|0;t=h[r>>2]|0;if(t>>>0<(h[10222]|0)>>>0)Xe();else{_=r;m=t}}else{h[10218]=n|r;_=40912+(t+2<<2)|0;m=f}h[_>>2]=p;h[m+12>>2]=p;h[p+8>>2]=m;h[p+12>>2]=f;return}r=a>>>8;if(r)if(a>>>0>16777215)f=31;else{_=(r+1048320|0)>>>16&8;m=r<<_;w=(m+520192|0)>>>16&4;m=m<<w;f=(m+245760|0)>>>16&2;f=14-(w|_|f)+(m<<f>>>15)|0;f=a>>>(f+7|0)&1|f<<1}else f=0;r=41176+(f<<2)|0;h[p+28>>2]=f;h[p+20>>2]=0;h[p+16>>2]=0;t=h[10219]|0;n=1<<f;if(!(t&n)){h[10219]=t|n;h[r>>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}r=h[r>>2]|0;e:do{if((h[r+4>>2]&-8|0)!=(a|0)){f=a<<((f|0)==31?0:25-(f>>>1)|0);while(1){t=r+16+(f>>>31<<2)|0;n=h[t>>2]|0;if(!n)break;if((h[n+4>>2]&-8|0)==(a|0)){r=n;break e}else{f=f<<1;r=n}}if(t>>>0<(h[10222]|0)>>>0)Xe();h[t>>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}}while(0);t=r+8|0;n=h[t>>2]|0;m=h[10222]|0;if(!(n>>>0>=m>>>0&r>>>0>=m>>>0))Xe();h[n+12>>2]=p;h[t>>2]=p;h[p+8>>2]=n;h[p+12>>2]=r;h[p+24>>2]=0;return}function Vc(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;t=h[9321]|0;Jc(42048,t,42104);h[10342]=42892;h[10344]=42912;h[10343]=0;e=h[10720]|0;T=0;ve(62,41368+e|0,42048);f=T;T=0;if(f&1){f=Ze()|0;bh(41376);si(f|0)}h[41368+(e+72)>>2]=0;h[41368+(e+76)>>2]=-1;n=h[9322]|0;Zc(42152,n,42112);h[10364]=42972;h[10365]=42992;r=h[10740]|0;T=0;ve(62,41456+r|0,42152);f=T;T=0;if(f&1){f=Ze()|0;bh(41460);si(f|0)}e=r+72|0;h[41456+e>>2]=0;i=r+76|0;h[41456+i>>2]=-1;f=h[9320]|0;Zc(42200,f,42120);h[10385]=42972;h[10386]=42992;T=0;ve(62,41540+r|0,42200);a=T;T=0;if(a&1){a=Ze()|0;bh(41544);si(a|0)}h[41540+e>>2]=0;h[41540+i>>2]=-1;a=h[41540+((h[(h[10385]|0)+-12>>2]|0)+24)>>2]|0;h[10406]=42972;h[10407]=42992;T=0;ve(62,41624+r|0,a|0);a=T;T=0;if(a&1){a=Ze()|0;bh(41628);si(a|0)}h[41624+e>>2]=0;h[41624+i>>2]=-1;h[41368+((h[(h[10342]|0)+-12>>2]|0)+72)>>2]=41456;e=41540+((h[(h[10385]|0)+-12>>2]|0)+4)|0;h[e>>2]=h[e>>2]|8192;h[41540+((h[(h[10385]|0)+-12>>2]|0)+72)>>2]=41456;Qc(42248,t,42128);h[10427]=42932;h[10429]=42952;h[10428]=0;e=h[10730]|0;T=0;ve(62,41708+e|0,42248);a=T;T=0;if(a&1){a=Ze()|0;ph(41716);si(a|0)}h[41708+(e+72)>>2]=0;h[41708+(e+76)>>2]=-1;$c(42304,n,42136);h[10449]=43012;h[10450]=43032;r=h[10750]|0;T=0;ve(62,41796+r|0,42304);a=T;T=0;if(a&1){a=Ze()|0;ph(41800);si(a|0)}e=r+72|0;h[41796+e>>2]=0;i=r+76|0;h[41796+i>>2]=-1;$c(42352,f,42144);h[10470]=43012;h[10471]=43032;T=0;ve(62,41880+r|0,42352);a=T;T=0;if(a&1){a=Ze()|0;ph(41884);si(a|0)}h[41880+e>>2]=0;h[41880+i>>2]=-1;a=h[41880+((h[(h[10470]|0)+-12>>2]|0)+24)>>2]|0;h[10491]=43012;h[10492]=43032;T=0;ve(62,41964+r|0,a|0);a=T;T=0;if(a&1){a=Ze()|0;ph(41968);si(a|0)}else{h[41964+e>>2]=0;h[41964+i>>2]=-1;h[41708+((h[(h[10427]|0)+-12>>2]|0)+72)>>2]=41796;a=41880+((h[(h[10470]|0)+-12>>2]|0)+4)|0;h[a>>2]=h[a>>2]|8192;h[41880+((h[(h[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Gc(e){e=e|0;T=0;ye(70,41456)|0;e=T;T=0;if(((!(e&1)?(T=0,ye(70,41624)|0,e=T,T=0,!(e&1)):0)?(T=0,ye(71,41796)|0,e=T,T=0,!(e&1)):0)?(T=0,ye(71,41964)|0,e=T,T=0,!(e&1)):0)return;e=Ze(0)|0;Ki(e)}function Kc(){Vc(0);yi(187,56757,M|0)|0;return}function Wc(){return}function Jc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Eh(e);h[e>>2]=42600;h[e+32>>2]=i;h[e+40>>2]=r;h[e+48>>2]=-1;c[e+52>>0]=0;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;ve(23,e|0,t|0);r=T;T=0;if(r&1){f=Ze()|0;Xu(t);gh(e);si(f|0)}else{Xu(t);v=n;return}}function Zc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Eh(e);h[e>>2]=42536;h[e+32>>2]=i;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;i=Oe(37,t|0,44280)|0;f=T;T=0;if(f&1){f=Ze()|0;Xu(t);gh(e);si(f|0)}else{Xu(t);h[e+36>>2]=i;h[e+40>>2]=r;f=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=f;v=n;return}}function Qc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Fh(e);h[e>>2]=42472;h[e+32>>2]=i;h[e+40>>2]=r;h[e+48>>2]=-1;c[e+52>>0]=0;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;ve(21,e|0,t|0);r=T;T=0;if(r&1){f=Ze()|0;Xu(t);Bh(e);si(f|0)}else{Xu(t);v=n;return}}function $c(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Fh(e);h[e>>2]=42408;h[e+32>>2]=i;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;i=Oe(37,t|0,44288)|0;f=T;T=0;if(f&1){f=Ze()|0;Xu(t);Bh(e);si(f|0)}else{Xu(t);h[e+36>>2]=i;h[e+40>>2]=r;f=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=f;v=n;return}}function ed(e){e=e|0;Bh(e);zv(e);return}function id(e,i){e=e|0;i=i|0;mE[h[(h[e>>2]|0)+24>>2]&127](e)|0;i=Vu(i,44288)|0;h[e+36>>2]=i;i=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=i;return}function rd(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o;r=e+36|0;t=e+40|0;n=l+8|0;f=l;i=e+32|0;e:while(1){e=h[r>>2]|0;e=TE[h[(h[e>>2]|0)+20>>2]&31](e,h[t>>2]|0,l,n,a)|0;u=(h[a>>2]|0)-f|0;if((Uy(l,1,u,h[i>>2]|0)|0)!=(u|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{s=4;break e}}}if((s|0)==4)e=((By(h[i>>2]|0)|0)!=0)<<31>>31;v=o;return e|0}function td(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e:do{if(!(c[e+44>>0]|0))if((r|0)>0){t=i;i=0;while(1){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,h[t>>2]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))t=t+4|0;else break}}else i=0;else i=Uy(i,4,r,h[e+32>>2]|0)|0}while(0);return i|0}function nd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+32|0;b=_+16|0;r=_+8|0;d=_+4|0;u=_;k=(i|0)==-1;e:do{if(!k){h[r>>2]=i;if(c[e+44>>0]|0)if((Uy(r,4,1,h[e+32>>2]|0)|0)==1){w=11;break}else{r=-1;break}h[d>>2]=b;s=r+4|0;o=e+36|0;n=e+40|0;f=b+8|0;a=b;l=e+32|0;while(1){e=h[o>>2]|0;e=CE[h[(h[e>>2]|0)+12>>2]&15](e,h[n>>2]|0,r,s,u,b,f,d)|0;if((h[u>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;t=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(h[d>>2]|0)-a|0;if((Uy(b,1,e,h[l>>2]|0)|0)!=(e|0)){r=-1;break e}if(t)r=t?h[u>>2]|0:r;else{w=11;break e}}if((Uy(r,1,1,h[l>>2]|0)|0)!=1)r=-1;else w=11}else w=11}while(0);if((w|0)==11)r=k?0:i;v=_;return r|0}function fd(e,i){e=e|0;i=i|0;var r=0,t=0;t=Vu(i,44288)|0;r=e+36|0;h[r>>2]=t;t=mE[h[(h[t>>2]|0)+24>>2]&127](t)|0;i=e+44|0;h[i>>2]=t;r=h[r>>2]|0;r=(mE[h[(h[r>>2]|0)+28>>2]&127](r)|0)&1;c[e+53>>0]=r;if((h[i>>2]|0)>8)iu(56783);return}function ad(e){e=e|0;Bh(e);zv(e);return}function ld(e){e=e|0;return ud(e,0)|0}function sd(e){e=e|0;return ud(e,1)|0}function od(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;s=o+16|0;l=o+8|0;t=o+4|0;n=o;f=e+52|0;r=(c[f>>0]|0)!=0;e:do{if((i|0)==-1)if(r)i=-1;else{i=h[e+48>>2]|0;c[f>>0]=(i|0)!=-1&1}else{a=e+48|0;i:do{if(r){h[t>>2]=h[a>>2];r=h[e+36>>2]|0;switch(CE[h[(h[r>>2]|0)+12>>2]&15](r,h[e+40>>2]|0,t,t+4|0,n,s,s+8|0,l)|0){case 1:case 2:{i=-1;break e}case 3:{c[s>>0]=h[a>>2];h[l>>2]=s+1;break}default:{}}r=e+32|0;while(1){t=h[l>>2]|0;if(t>>>0<=s>>>0)break i;e=t+-1|0;h[l>>2]=e;if((qy(c[e>>0]|0,h[r>>2]|0)|0)==-1){i=-1;break e}}}}while(0);h[a>>2]=i;c[f>>0]=1}}while(0);v=o;return i|0}function ud(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;w=v;v=v+32|0;k=w+16|0;b=w+8|0;o=w+4|0;u=w;n=e+52|0;e:do{if(c[n>>0]|0){t=e+48|0;r=h[t>>2]|0;if(i){h[t>>2]=-1;c[n>>0]=0}}else{r=h[e+44>>2]|0;r=(r|0)>1?r:1;d=e+32|0;if((r|0)>0){n=0;do{t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[k+n>>0]=t;n=n+1|0}while((n|0)<(r|0))}i:do{if(!(c[e+53>>0]|0)){a=e+40|0;l=e+36|0;s=b+4|0;r:while(1){_=h[a>>2]|0;n=_;t=h[n>>2]|0;n=h[n+4>>2]|0;m=h[l>>2]|0;f=k+r|0;switch(CE[h[(h[m>>2]|0)+16>>2]&15](m,_,k,f,o,b,s,u)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}m=h[a>>2]|0;h[m>>2]=t;h[m+4>>2]=n;if((r|0)==8){r=-1;break e}t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[f>>0]=t;r=r+1|0}h[b>>2]=c[k>>0]}else h[b>>2]=c[k>>0]}while(0);if(i){r=h[b>>2]|0;h[e+48>>2]=r;break}while(1){if((r|0)<=0)break;r=r+-1|0;if((qy(c[k+r>>0]|0,h[d>>2]|0)|0)==-1){r=-1;break e}}r=h[b>>2]|0}}while(0);v=w;return r|0}function cd(e){e=e|0;gh(e);zv(e);return}function dd(e,i){e=e|0;i=i|0;mE[h[(h[e>>2]|0)+24>>2]&127](e)|0;i=Vu(i,44280)|0;h[e+36>>2]=i;i=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=i;return}function hd(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o;r=e+36|0;t=e+40|0;n=l+8|0;f=l;i=e+32|0;e:while(1){e=h[r>>2]|0;e=TE[h[(h[e>>2]|0)+20>>2]&31](e,h[t>>2]|0,l,n,a)|0;u=(h[a>>2]|0)-f|0;if((Uy(l,1,u,h[i>>2]|0)|0)!=(u|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{s=4;break e}}}if((s|0)==4)e=((By(h[i>>2]|0)|0)!=0)<<31>>31;v=o;return e|0}function bd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e:do{if(!(c[e+44>>0]|0))if((r|0)>0){t=i;i=0;while(1){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,b[t>>0]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))t=t+1|0;else break}}else i=0;else i=Uy(i,1,r,h[e+32>>2]|0)|0}while(0);return i|0}function kd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+32|0;b=_+16|0;r=_+8|0;d=_+4|0;u=_;k=(i|0)==-1;e:do{if(!k){c[r>>0]=i;if(c[e+44>>0]|0)if((Uy(r,1,1,h[e+32>>2]|0)|0)==1){w=11;break}else{r=-1;break}h[d>>2]=b;o=r+1|0;n=e+36|0;f=e+40|0;a=b+8|0;l=b;s=e+32|0;while(1){e=h[n>>2]|0;e=CE[h[(h[e>>2]|0)+12>>2]&15](e,h[f>>2]|0,r,o,u,b,a,d)|0;if((h[u>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;t=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(h[d>>2]|0)-l|0;if((Uy(b,1,e,h[s>>2]|0)|0)!=(e|0)){r=-1;break e}if(t)r=t?h[u>>2]|0:r;else{w=11;break e}}if((Uy(r,1,1,h[s>>2]|0)|0)!=1)r=-1;else w=11}else w=11}while(0);if((w|0)==11)r=k?0:i;v=_;return r|0}function wd(e,i){e=e|0;i=i|0;var r=0,t=0;t=Vu(i,44280)|0;r=e+36|0;h[r>>2]=t;t=mE[h[(h[t>>2]|0)+24>>2]&127](t)|0;i=e+44|0;h[i>>2]=t;r=h[r>>2]|0;r=(mE[h[(h[r>>2]|0)+28>>2]&127](r)|0)&1;c[e+53>>0]=r;if((h[i>>2]|0)>8)iu(56783);return}function _d(e){e=e|0;gh(e);zv(e);return}function md(e){e=e|0;return gd(e,0)|0}function pd(e){e=e|0;return gd(e,1)|0}function vd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;s=o+16|0;l=o+4|0;t=o+8|0;n=o;f=e+52|0;r=(c[f>>0]|0)!=0;e:do{if((i|0)==-1)if(r)i=-1;else{i=h[e+48>>2]|0;c[f>>0]=(i|0)!=-1&1}else{a=e+48|0;i:do{if(r){c[t>>0]=h[a>>2];r=h[e+36>>2]|0;switch(CE[h[(h[r>>2]|0)+12>>2]&15](r,h[e+40>>2]|0,t,t+1|0,n,s,s+8|0,l)|0){case 1:case 2:{i=-1;break e}case 3:{c[s>>0]=h[a>>2];h[l>>2]=s+1;break}default:{}}r=e+32|0;while(1){t=h[l>>2]|0;if(t>>>0<=s>>>0)break i;e=t+-1|0;h[l>>2]=e;if((qy(c[e>>0]|0,h[r>>2]|0)|0)==-1){i=-1;break e}}}}while(0);h[a>>2]=i;c[f>>0]=1}}while(0);v=o;return i|0}function gd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0;_=v;v=v+32|0;w=_+16|0;k=_+8|0;o=_+4|0;u=_;n=e+52|0;e:do{if(c[n>>0]|0){t=e+48|0;r=h[t>>2]|0;if(i){h[t>>2]=-1;c[n>>0]=0}}else{r=h[e+44>>2]|0;r=(r|0)>1?r:1;d=e+32|0;if((r|0)>0){n=0;do{t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[w+n>>0]=t;n=n+1|0}while((n|0)<(r|0))}i:do{if(!(c[e+53>>0]|0)){a=e+40|0;l=e+36|0;s=k+1|0;r:while(1){m=h[a>>2]|0;n=m;t=h[n>>2]|0;n=h[n+4>>2]|0;p=h[l>>2]|0;f=w+r|0;switch(CE[h[(h[p>>2]|0)+16>>2]&15](p,m,w,f,o,k,s,u)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}p=h[a>>2]|0;h[p>>2]=t;h[p+4>>2]=n;if((r|0)==8){r=-1;break e}t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[f>>0]=t;r=r+1|0}c[k>>0]=c[w>>0]|0}else c[k>>0]=c[w>>0]|0}while(0);if(i){r=c[k>>0]|0;h[e+48>>2]=r&255}else{while(1){if((r|0)<=0)break;r=r+-1|0;if((qy(b[w+r>>0]|0,h[d>>2]|0)|0)==-1){r=-1;break e}}r=c[k>>0]|0}r=r&255}}while(0);v=_;return r|0}function yd(e){e=e|0;return}function Ed(e){e=e|0;e=e+4|0;h[e>>2]=(h[e>>2]|0)+1;return}function Ad(e){e=e|0;var i=0,r=0;r=e+4|0;i=h[r>>2]|0;h[r>>2]=i+-1;if(!i){kE[h[(h[e>>2]|0)+8>>2]&255](e);e=1}else e=0;return e|0}function Md(e,i){e=e|0;i=i|0;h[e>>2]=36868;T=0;ve(86,e+4|0,((c[i>>0]&1)==0?i+1|0:h[i+8>>2]|0)|0);e=T;T=0;if(e&1){e=Ze()|0;si(e|0)}else return}function Td(e,i){e=e|0;i=i|0;h[e>>2]=36868;T=0;ve(86,e+4|0,i|0);e=T;T=0;if(e&1){e=Ze()|0;si(e|0)}else return}function Sd(e,i){e=e|0;i=i|0;var r=0,t=0;t=rE(i)|0;r=Xv(t+13|0)|0;h[r>>2]=t;h[r+4>>2]=t;h[r+8>>2]=0;r=r+12|0;Im(r|0,i|0,t+1|0)|0;h[e>>2]=r;return}function Pd(e,i,r){e=e|0;i=i|0;r=r|0;h[e>>2]=r;h[e+4>>2]=i;return}function Od(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+16|0;t=n;RE[h[(h[e>>2]|0)+12>>2]&15](t,e,i);if((h[t+4>>2]|0)==(h[r+4>>2]|0))t=(h[t>>2]|0)==(h[r>>2]|0);else t=0;v=n;return t|0}function Rd(e,i,r){e=e|0;i=i|0;r=r|0;return((h[i>>2]|0)==(r|0)?(h[i+4>>2]|0)==(e|0):0)|0}function Ld(e,i,r){e=e|0;i=i|0;r=r|0;i=Vg(r)|0;Hd(e,i,rE(i)|0);return}function Cd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;a=v;v=v+16|0;f=a;t=h[i>>2]|0;do{if(t){n=c[r>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=h[r+4>>2]|0;if(n){Jd(r,56990)|0;t=h[i>>2]|0}i=h[i+4>>2]|0;RE[h[(h[i>>2]|0)+24>>2]&15](f,i,t);i=c[f>>0]|0;n=(i&1)==0;T=0;Ae(30,r|0,(n?f+1|0:h[f+8>>2]|0)|0,(n?(i&255)>>>1:h[f+4>>2]|0)|0)|0;i=T;T=0;if(i&1){a=Ze()|0;qd(f);si(a|0)}else{qd(f);break}}}while(0);h[e>>2]=h[r>>2];h[e+4>>2]=h[r+4>>2];h[e+8>>2]=h[r+8>>2];h[r>>2]=0;h[r+4>>2]=0;h[r+8>>2]=0;v=a;return}function Dd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+32|0;t=n+12|0;f=n;Hd(f,r,rE(r)|0);T=0;xe(10,t|0,i|0,f|0);r=T;T=0;do{if(!(r&1)){T=0;ve(87,e|0,t|0);r=T;T=0;if(r&1){n=Ze()|0;qd(t);t=n;break}else{qd(t);qd(f);h[e>>2]=42664;r=h[i+4>>2]|0;f=e+8|0;h[f>>2]=h[i>>2];h[f+4>>2]=r;v=n;return}}else t=Ze()|0}while(0);qd(f);si(t|0)}function xd(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;f=v;v=v+48|0;n=f+24|0;l=f+16|0;a=f;h[l>>2]=i;h[l+4>>2]=r;jd(a,t);T=0;xe(10,n|0,l|0,a|0);t=T;T=0;do{if(!(t&1)){T=0;ve(87,e|0,n|0);l=T;T=0;if(l&1){l=Ze()|0;qd(n);n=l;break}else{qd(n);qd(a);h[e>>2]=42664;h[e+8>>2]=i;h[e+12>>2]=r;v=f;return}}else n=Ze()|0}while(0);qd(a);si(n|0)}function Id(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;n=v;v=v+48|0;t=n+24|0;a=n+16|0;f=n;h[a>>2]=i;h[a+4>>2]=r;Hd(f,58898,0);T=0;xe(10,t|0,a|0,f|0);a=T;T=0;do{if(!(a&1)){T=0;ve(87,e|0,t|0);a=T;T=0;if(a&1){a=Ze()|0;qd(t);t=a;break}else{qd(t);qd(f);h[e>>2]=42664;h[e+8>>2]=i;h[e+12>>2]=r;v=n;return}}else t=Ze()|0}while(0);qd(f);si(t|0)}function Bd(e){e=e|0;ig(e);return}function Nd(e){e=e|0;ig(e);zv(e);return}function Fd(e){e=e|0;return}function Ud(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;Oi(42676)|0;if((h[e>>2]|0)==1)do{He(42704,42676)|0}while((h[e>>2]|0)==1);do{if(!(h[e>>2]|0)){h[e>>2]=1;T=0;ye(72,42676)|0;t=T;T=0;if((((!(t&1)?(T=0,pe(r|0,i|0),t=T,T=0,!(t&1)):0)?(T=0,ye(73,42676)|0,t=T,T=0,!(t&1)):0)?(h[e>>2]=-1,T=0,ye(72,42676)|0,t=T,T=0,!(t&1)):0)?(T=0,ye(74,42704)|0,t=T,T=0,!(t&1)):0)break;t=Ze(0)|0;fi(t|0)|0;T=0;ye(73,42676)|0;t=T;T=0;if((!(t&1)?(h[e>>2]=0,T=0,ye(72,42676)|0,t=T,T=0,!(t&1)):0)?(T=0,ye(74,42704)|0,t=T,T=0,!(t&1)):0){T=0;Ie(5);T=0}i=Ze()|0;T=0;Ie(3);t=T;T=0;if(t&1){t=Ze(0)|0;Ki(t)}else si(i|0)}else bi(42676)|0}while(0);return}function jd(e,i){e=e|0;i=i|0;if(!(c[i>>0]&1)){h[e>>2]=h[i>>2];h[e+4>>2]=h[i+4>>2];h[e+8>>2]=h[i+8>>2]}else Hd(e,h[i+8>>2]|0,h[i+4>>2]|0);return}function Hd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(r>>>0>4294967279)Hv(e);if(r>>>0<11){c[e>>0]=r<<1;e=e+1|0}else{n=r+16&-16;t=Xv(n)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=r;e=t}Im(e|0,i|0,r|0)|0;c[e+r>>0]=0;return}function Yd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(i>>>0>4294967279)Hv(e);if(i>>>0<11){c[e>>0]=i<<1;e=e+1|0}else{n=i+16&-16;t=Xv(n)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=i;e=t}Cm(e|0,r|0,i|0)|0;c[e+i>>0]=0;return}function qd(e){e=e|0;if(c[e>>0]&1)zv(h[e+8>>2]|0);return}function Xd(e,i){e=e|0;i=i|0;var r=0,t=0;if((e|0)!=(i|0)){r=c[i>>0]|0;t=(r&1)==0;Vd(e,t?i+1|0:h[i+8>>2]|0,t?(r&255)>>>1:h[i+4>>2]|0)|0}return e|0}function zd(e,i){e=e|0;i=i|0;return Vd(e,i,rE(i)|0)|0}function Vd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;t=c[e>>0]|0;if(!(t&1))f=10;else{t=h[e>>2]|0;f=(t&-2)+-1|0;t=t&255}n=(t&1)==0;do{if(f>>>0>=r>>>0){if(n)t=e+1|0;else t=h[e+8>>2]|0;Nm(t|0,i|0,r|0)|0;c[t+r>>0]=0;if(!(c[e>>0]&1)){c[e>>0]=r<<1;break}else{h[e+4>>2]=r;break}}else{if(n)t=(t&255)>>>1;else t=h[e+4>>2]|0;$d(e,f,r-f|0,t,0,t,r,i)}}while(0);return e|0}function Gd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c[e>>0]|0;n=(t&1)==0;if(n)t=(t&255)>>>1;else t=h[e+4>>2]|0;do{if(t>>>0>=i>>>0)if(n){c[e+1+i>>0]=0;c[e>>0]=i<<1;break}else{c[(h[e+8>>2]|0)+i>>0]=0;h[e+4>>2]=i;break}else Kd(e,i-t|0,r)|0}while(0);return}function Kd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;if(i){t=c[e>>0]|0;if(!(t&1))n=10;else{t=h[e>>2]|0;n=(t&-2)+-1|0;t=t&255}if(!(t&1))f=(t&255)>>>1;else f=h[e+4>>2]|0;if((n-f|0)>>>0<i>>>0){eh(e,n,i-n+f|0,f,f,0,0);t=c[e>>0]|0}if(!(t&1))n=e+1|0;else n=h[e+8>>2]|0;Cm(n+f|0,r|0,i|0)|0;t=f+i|0;if(!(c[e>>0]&1))c[e>>0]=t<<1;else h[e+4>>2]=t;c[n+t>>0]=0}return e|0}function Wd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;if(i>>>0>4294967279)Hv(e);r=c[e>>0]|0;if(!(r&1))t=10;else{r=h[e>>2]|0;t=(r&-2)+-1|0;r=r&255}if(!(r&1))l=(r&255)>>>1;else l=h[e+4>>2]|0;i=l>>>0>i>>>0?l:i;if(i>>>0<11)a=10;else a=(i+16&-16)+-1|0;e:do{if((a|0)!=(t|0)){do{if((a|0)!=10){i=a+1|0;if(a>>>0<=t>>>0){T=0;i=ye(67,i|0)|0;f=T;T=0;if(f&1){e=Ze(0)|0;fi(e|0)|0;li();break e}}else i=Xv(i)|0;if(!(r&1)){t=1;n=e+1|0;f=0;break}else{t=1;n=h[e+8>>2]|0;f=1;break}}else{i=e+1|0;t=0;n=h[e+8>>2]|0;f=1}}while(0);if(!(r&1))r=(r&255)>>>1;else r=h[e+4>>2]|0;Im(i|0,n|0,r+1|0)|0;if(f)zv(n);if(t){h[e>>2]=a+1|1;h[e+4>>2]=l;h[e+8>>2]=i;break}else{c[e>>0]=l<<1;break}}}while(0);return}function Jd(e,i){e=e|0;i=i|0;return Qd(e,i,rE(i)|0)|0}function Zd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;r=c[e>>0]|0;t=(r&1)!=0;if(t){n=(h[e>>2]&-2)+-1|0;f=h[e+4>>2]|0}else{n=10;f=(r&255)>>>1}if((f|0)==(n|0)){eh(e,n,1,n,n,0,0);if(!(c[e>>0]&1))n=7;else n=8}else if(t)n=8;else n=7;if((n|0)==7){c[e>>0]=(f<<1)+2;r=e+1|0;t=f+1|0}else if((n|0)==8){r=h[e+8>>2]|0;t=f+1|0;h[e+4>>2]=t}c[r+f>>0]=i;c[r+t>>0]=0;return}function Qd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;t=c[e>>0]|0;if(!(t&1))n=10;else{t=h[e>>2]|0;n=(t&-2)+-1|0;t=t&255}if(!(t&1))f=(t&255)>>>1;else f=h[e+4>>2]|0;if((n-f|0)>>>0>=r>>>0){if(r){if(!(t&1))n=e+1|0;else n=h[e+8>>2]|0;Im(n+f|0,i|0,r|0)|0;t=f+r|0;if(!(c[e>>0]&1))c[e>>0]=t<<1;else h[e+4>>2]=t;c[n+t>>0]=0}}else $d(e,n,r-n+f|0,f,f,0,r,i);return e|0}function $d(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0;if((-18-i|0)>>>0<r>>>0)Hv(e);if(!(c[e>>0]&1))u=e+1|0;else u=h[e+8>>2]|0;if(i>>>0<2147483623){s=r+i|0;o=i<<1;s=s>>>0<o>>>0?o:s;s=s>>>0<11?11:s+16&-16}else s=-17;o=Xv(s)|0;if(n)Im(o|0,u|0,n|0)|0;if(a)Im(o+n|0,l|0,a|0)|0;r=t-f|0;if((r|0)!=(n|0))Im(o+(a+n)|0,u+(f+n)|0,r-n|0)|0;if((i|0)!=10)zv(u);h[e+8>>2]=o;h[e>>2]=s|1;i=r+a|0;h[e+4>>2]=i;c[o+i>>0]=0;return}function eh(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0;if((-17-i|0)>>>0<r>>>0)Hv(e);if(!(c[e>>0]&1))o=e+1|0;else o=h[e+8>>2]|0;if(i>>>0<2147483623){l=r+i|0;s=i<<1;l=l>>>0<s>>>0?s:l;l=l>>>0<11?11:l+16&-16}else l=-17;s=Xv(l)|0;if(n)Im(s|0,o|0,n|0)|0;r=t-f|0;if((r|0)!=(n|0))Im(s+(a+n)|0,o+(f+n)|0,r-n|0)|0;if((i|0)!=10)zv(o);h[e+8>>2]=s;h[e>>2]=l|1;return}function ih(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(r>>>0>1073741807)Hv(e);if(r>>>0<2){c[e>>0]=r<<1;e=e+4|0}else{n=r+4&-4;t=Xv(n<<2)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=r;e=t}fE(e,i,r)|0;h[e+(r<<2)>>2]=0;return}function rh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(i>>>0>1073741807)Hv(e);if(i>>>0<2){c[e>>0]=i<<1;e=e+4|0}else{n=i+4&-4;t=Xv(n<<2)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=i;e=t}lE(e,r,i)|0;h[e+(i<<2)>>2]=0;return}function th(e){e=e|0;if(c[e>>0]&1)zv(h[e+8>>2]|0);return}function nh(e,i){e=e|0;i=i|0;return fh(e,i,nE(i)|0)|0}function fh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;t=c[e>>0]|0;if(!(t&1))f=1;else{t=h[e>>2]|0;f=(t&-2)+-1|0;t=t&255}n=(t&1)==0;do{if(f>>>0>=r>>>0){if(n)t=e+4|0;else t=h[e+8>>2]|0;aE(t,i,r)|0;h[t+(r<<2)>>2]=0;if(!(c[e>>0]&1)){c[e>>0]=r<<1;break}else{h[e+4>>2]=r;break}}else{if(n)t=(t&255)>>>1;else t=h[e+4>>2]|0;sh(e,f,r-f|0,t,0,t,r,i)}}while(0);return e|0}function ah(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;if(i>>>0>1073741807)Hv(e);r=c[e>>0]|0;if(!(r&1))t=1;else{r=h[e>>2]|0;t=(r&-2)+-1|0;r=r&255}if(!(r&1))l=(r&255)>>>1;else l=h[e+4>>2]|0;i=l>>>0>i>>>0?l:i;if(i>>>0<2)a=1;else a=(i+4&-4)+-1|0;e:do{if((a|0)!=(t|0)){do{if((a|0)!=1){i=(a<<2)+4|0;if(a>>>0<=t>>>0){T=0;i=ye(67,i|0)|0;f=T;T=0;if(f&1){e=Ze(0)|0;fi(e|0)|0;li();break e}}else i=Xv(i)|0;if(!(r&1)){t=1;n=e+4|0;f=0;break}else{t=1;n=h[e+8>>2]|0;f=1;break}}else{i=e+4|0;t=0;n=h[e+8>>2]|0;f=1}}while(0);if(!(r&1))r=(r&255)>>>1;else r=h[e+4>>2]|0;fE(i,n,r+1|0)|0;if(f)zv(n);if(t){h[e>>2]=a+1|1;h[e+4>>2]=l;h[e+8>>2]=i;break}else{c[e>>0]=l<<1;break}}}while(0);return}function lh(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;r=c[e>>0]|0;t=(r&1)!=0;if(t){n=(h[e>>2]&-2)+-1|0;f=h[e+4>>2]|0}else{n=1;f=(r&255)>>>1}if((f|0)==(n|0)){oh(e,n,1,n,n,0,0);if(!(c[e>>0]&1))n=7;else n=8}else if(t)n=8;else n=7;if((n|0)==7){c[e>>0]=(f<<1)+2;r=e+4|0;t=f+1|0}else if((n|0)==8){r=h[e+8>>2]|0;t=f+1|0;h[e+4>>2]=t}h[r+(f<<2)>>2]=i;h[r+(t<<2)>>2]=0;return}function sh(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0;if((1073741806-i|0)>>>0<r>>>0)Hv(e);if(!(c[e>>0]&1))u=e+4|0;else u=h[e+8>>2]|0;if(i>>>0<536870887){s=r+i|0;o=i<<1;s=s>>>0<o>>>0?o:s;s=s>>>0<2?2:s+4&-4}else s=1073741807;o=Xv(s<<2)|0;if(n)fE(o,u,n)|0;if(a)fE(o+(n<<2)|0,l,a)|0;r=t-f|0;if((r|0)!=(n|0))fE(o+(a+n<<2)|0,u+(f+n<<2)|0,r-n|0)|0;if((i|0)!=1)zv(u);h[e+8>>2]=o;h[e>>2]=s|1;i=r+a|0;h[e+4>>2]=i;h[o+(i<<2)>>2]=0;return}function oh(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0;if((1073741807-i|0)>>>0<r>>>0)Hv(e);if(!(c[e>>0]&1))o=e+4|0;else o=h[e+8>>2]|0;if(i>>>0<536870887){l=r+i|0;s=i<<1;l=l>>>0<s>>>0?s:l;l=l>>>0<2?2:l+4&-4}else l=1073741807;s=Xv(l<<2)|0;if(n)fE(s,o,n)|0;r=t-f|0;if((r|0)!=(n|0))fE(s+(a+n<<2)|0,o+(f+n<<2)|0,r-n|0)|0;if((i|0)!=1)zv(o);h[e+8>>2]=s;h[e>>2]=l|1;return}function uh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;n=i;t=r-n|0;if(t>>>0>4294967279)Hv(e);if(t>>>0<11){c[e>>0]=t<<1;f=e+1|0}else{a=t+16&-16;f=Xv(a)|0;h[e+8>>2]=f;h[e>>2]=a|1;h[e+4>>2]=t}e=r-n|0;if((i|0)!=(r|0)){t=f;while(1){c[t>>0]=c[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else t=t+1|0}}c[f+e>>0]=0;return}function ch(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i;t=r-f|0;n=t>>2;if(n>>>0>1073741807)Hv(e);if(n>>>0<2){c[e>>0]=t>>>1;e=e+4|0}else{a=n+4&-4;t=Xv(a<<2)|0;h[e+8>>2]=t;h[e>>2]=a|1;h[e+4>>2]=n;e=t}n=(r-f|0)>>>2;if((i|0)!=(r|0)){t=e;while(1){h[t>>2]=h[i>>2];i=i+4|0;if((i|0)==(r|0))break;else t=t+4|0}}h[e+(n<<2)>>2]=0;return}function dh(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=v;v=v+16|0;t=r;n=(h[e+24>>2]|0)==0;h[e+16>>2]=n&1|i;if(!((n&1|i)&h[e+20>>2])){v=r;return}i=Je(16)|0;Mb()|0;h[t>>2]=1;h[t+4>>2]=43112;T=0;xe(11,i|0,57437,t|0);n=T;T=0;if(n&1){n=Ze()|0;We(i|0);si(n|0)}else Ei(i|0,864,112)}function hh(e){e=e|0;var i=0;h[e>>2]=43068;T=0;ve(88,e|0,0);i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else{Xu(e+28|0);Hc(h[e+32>>2]|0);Hc(h[e+36>>2]|0);Hc(h[e+48>>2]|0);Hc(h[e+60>>2]|0);return}}function bh(e){e=e|0;hh(e);return}function kh(e){e=e|0;hh(e);zv(e);return}function wh(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=h[e+40>>2]|0;t=e+32|0;n=e+36|0;if(r)do{r=r+-1|0;RE[h[(h[t>>2]|0)+(r<<2)>>2]&15](i,e,h[(h[n>>2]|0)+(r<<2)>>2]|0)}while((r|0)!=0);return}function _h(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;qu(i,e+28|0);v=r;return h[i>>2]|0}function mh(e,i){e=e|0;i=i|0;var r=0;h[e+24>>2]=i;h[e+16>>2]=(i|0)==0&1;h[e+20>>2]=0;h[e+4>>2]=4098;h[e+12>>2]=0;h[e+8>>2]=6;r=e+28|0;i=e+32|0;e=i+40|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(e|0));Yu(r);return}function ph(e){e=e|0;hh(e);return}function vh(e){e=e|0;hh(e);zv(e);return}function gh(e){e=e|0;h[e>>2]=42760;Xu(e+4|0);return}function yh(e){e=e|0;h[e>>2]=42760;Xu(e+4|0);zv(e);return}function Eh(e){e=e|0;h[e>>2]=42760;Yu(e+4|0);e=e+8|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[e+20>>2]=0;return}function Ah(e,i){e=e|0;i=i|0;return}function Mh(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function Th(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Sh(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Ph(e){e=e|0;return 0}function Oh(e){e=e|0;return 0}function Rh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+12|0;a=e+16|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0<(h[a>>2]|0)>>>0){h[f>>2]=t+1;t=c[t>>0]|0}else{t=mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;if((t|0)==-1)break e;t=t&255}c[n>>0]=t;i=i+1|0;if((i|0)<(r|0))n=n+1|0;else break}}else i=0}while(0);return i|0}function Lh(e){e=e|0;return-1}function Ch(e){e=e|0;var i=0;if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=h[i>>2]|0;h[i>>2]=e+1;e=b[e>>0]|0}return e|0}function Dh(e,i){e=e|0;i=i|0;return-1}function xh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=e+24|0;a=e+28|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0>=(h[a>>2]|0)>>>0){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,b[n>>0]|0)|0)==-1)break e}else{l=c[n>>0]|0;h[f>>2]=t+1;c[t>>0]=l}i=i+1|0;if((i|0)<(r|0))n=n+1|0;else break}}else i=0}while(0);return i|0}function Ih(e,i){e=e|0;i=i|0;return-1}function Bh(e){e=e|0;h[e>>2]=42824;Xu(e+4|0);return}function Nh(e){e=e|0;h[e>>2]=42824;Xu(e+4|0);zv(e);return}function Fh(e){e=e|0;h[e>>2]=42824;Yu(e+4|0);e=e+8|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[e+20>>2]=0;return}function Uh(e,i){e=e|0;i=i|0;return}function jh(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function Hh(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Yh(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function qh(e){e=e|0;return 0}function Xh(e){e=e|0;return 0}function zh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+12|0;a=e+16|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0>=(h[a>>2]|0)>>>0){t=mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;if((t|0)==-1)break e}else{h[f>>2]=t+4;t=h[t>>2]|0}h[n>>2]=t;i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0}while(0);return i|0}function Vh(e){e=e|0;return-1}function Gh(e){e=e|0;var i=0;if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=h[i>>2]|0;h[i>>2]=e+4;e=h[e>>2]|0}return e|0}function Kh(e,i){e=e|0;i=i|0;return-1}function Wh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=e+24|0;a=e+28|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0>=(h[a>>2]|0)>>>0){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,h[n>>2]|0)|0)==-1)break e}else{l=h[n>>2]|0;h[f>>2]=t+4;h[t>>2]=l}i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0}while(0);return i|0}function Jh(e,i){e=e|0;i=i|0;return-1}function Zh(e){e=e|0;hh(e+8|0);return}function Qh(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+8)|0);return}function $h(e){e=e|0;hh(e+8|0);zv(e);return}function eb(e){e=e|0;$h(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function ib(e){e=e|0;var i=0,r=0,t=0,n=0;t=v;v=v+16|0;r=t;e:do{if(h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0){T=0;ve(65,r|0,e|0);i=T;T=0;i:do{if(i&1)i=Ze(0)|0;else{do{if(c[r>>0]|0){i=h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;n=T;T=0;if(!(n&1)){if((i|0)!=-1)break;n=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+n|0,h[e+(n+16)>>2]|1|0);n=T;T=0;if(!(n&1))break}i=Ze(0)|0;bb(r);break i}}while(0);bb(r);break e}}while(0);fi(i|0)|0;T=0;pe(181,e+(h[(h[e>>2]|0)+-12>>2]|0)|0);n=T;T=0;if(!(n&1)){li();break}i=Ze()|0;T=0;Ie(3);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else si(i|0)}}while(0);v=t;return e|0}function rb(e){e=e|0;var i=0;i=e+16|0;h[i>>2]=h[i>>2]|1;if(!(h[e+20>>2]&1))return;else Ai()}function tb(e){e=e|0;hh(e+8|0);return}function nb(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+8)|0);return}function fb(e){e=e|0;hh(e+8|0);zv(e);return}function ab(e){e=e|0;fb(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function lb(e){e=e|0;var i=0,r=0,t=0,n=0;t=v;v=v+16|0;r=t;e:do{if(h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0){T=0;ve(89,r|0,e|0);i=T;T=0;i:do{if(i&1)i=Ze(0)|0;else{do{if(c[r>>0]|0){i=h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;n=T;T=0;if(!(n&1)){if((i|0)!=-1)break;n=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+n|0,h[e+(n+16)>>2]|1|0);n=T;T=0;if(!(n&1))break}i=Ze(0)|0;yb(r);break i}}while(0);yb(r);break e}}while(0);fi(i|0)|0;T=0;pe(181,e+(h[(h[e>>2]|0)+-12>>2]|0)|0);n=T;T=0;if(!(n&1)){li();break}i=Ze()|0;T=0;Ie(3);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else si(i|0)}}while(0);v=t;return e|0}function sb(e,i){e=e|0;i=i|0;return}function ob(e){e=e|0;hh(e+4|0);return}function ub(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+4)|0);return}function cb(e){e=e|0;hh(e+4|0);zv(e);return}function db(e){e=e|0;cb(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function hb(e,i){e=e|0;i=i|0;var r=0;c[e>>0]=0;h[e+4>>2]=i;r=h[(h[i>>2]|0)+-12>>2]|0;if(!(h[i+(r+16)>>2]|0)){r=h[i+(r+72)>>2]|0;if(r)ib(r)|0;c[e>>0]=1}return}function bb(e){e=e|0;var i=0,r=0;e=e+4|0;r=h[e>>2]|0;i=h[(h[r>>2]|0)+-12>>2]|0;do{if((((h[r+(i+24)>>2]|0)!=0?(h[r+(i+16)>>2]|0)==0:0)?(h[r+(i+4)>>2]&8192|0)!=0:0)?!(oi()|0):0){i=h[e>>2]|0;i=h[i+((h[(h[i>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;r=T;T=0;if(!(r&1)){if((i|0)!=-1)break;i=h[e>>2]|0;r=h[(h[i>>2]|0)+-12>>2]|0;T=0;ve(66,i+r|0,h[i+(r+16)>>2]|1|0);r=T;T=0;if(!(r&1))break}r=Ze(0)|0;fi(r|0)|0;T=0;Ie(3);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}}}while(0);return}function kb(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+32|0;l=b+20|0;s=b+16|0;u=b+8|0;r=b;T=0;ve(65,u|0,e|0);o=T;T=0;e:do{if(o&1){r=Ze(0)|0;t=e;n=e;d=19}else{do{if(c[u>>0]|0){o=_h(e+(h[(h[e>>2]|0)+-12>>2]|0)|0)|0;h[r>>2]=o;T=0;o=Oe(37,r|0,43392)|0;a=T;T=0;if(a&1){d=Ze(0)|0;Xu(r);r=d}else{Xu(r);n=h[(h[e>>2]|0)+-12>>2]|0;a=h[e+(n+24)>>2]|0;t=e+n|0;n=e+(n+76)|0;r=h[n>>2]|0;do{if((r|0)==-1){r=_h(t)|0;h[l>>2]=r;T=0;r=Oe(37,l|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,f=Oe(h[(h[r>>2]|0)+28>>2]|0,r|0,32)|0,k=T,T=0,!(k&1)):0){Xu(l);r=f<<24>>24;h[n>>2]=r;d=10;break}r=Ze(0)|0;Xu(l)}else d=10}while(0);if((d|0)==10){k=h[(h[o>>2]|0)+16>>2]|0;h[s>>2]=a;T=0;h[l>>2]=h[s>>2];r=Re(k|0,o|0,l|0,t|0,r&255|0,i|0)|0;k=T;T=0;if(!(k&1)){if(r)break;k=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+k|0,h[e+(k+16)>>2]|5|0);k=T;T=0;if(!(k&1))break}r=Ze(0)|0}}bb(u);t=e;n=e;d=19;break e}}while(0);bb(u)}}while(0);do{if((d|0)==19){fi(r|0)|0;T=0;pe(181,t+(h[(h[n>>2]|0)+-12>>2]|0)|0);k=T;T=0;if(!(k&1)){li();break}r=Ze()|0;T=0;Ie(3);k=T;T=0;if(k&1){k=Ze(0)|0;Ki(k)}else si(r|0)}}while(0);v=b;return e|0}function wb(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+32|0;l=b+20|0;s=b+16|0;u=b+8|0;r=b;T=0;ve(65,u|0,e|0);o=T;T=0;e:do{if(o&1){r=Ze(0)|0;t=e;n=e;d=19}else{do{if(c[u>>0]|0){o=_h(e+(h[(h[e>>2]|0)+-12>>2]|0)|0)|0;h[r>>2]=o;T=0;o=Oe(37,r|0,43392)|0;a=T;T=0;if(a&1){d=Ze(0)|0;Xu(r);r=d}else{Xu(r);n=h[(h[e>>2]|0)+-12>>2]|0;a=h[e+(n+24)>>2]|0;t=e+n|0;n=e+(n+76)|0;r=h[n>>2]|0;do{if((r|0)==-1){r=_h(t)|0;h[l>>2]=r;T=0;r=Oe(37,l|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,f=Oe(h[(h[r>>2]|0)+28>>2]|0,r|0,32)|0,k=T,T=0,!(k&1)):0){Xu(l);r=f<<24>>24;h[n>>2]=r;d=10;break}r=Ze(0)|0;Xu(l)}else d=10}while(0);if((d|0)==10){k=h[(h[o>>2]|0)+24>>2]|0;h[s>>2]=a;T=0;h[l>>2]=h[s>>2];r=Re(k|0,o|0,l|0,t|0,r&255|0,i|0)|0;k=T;T=0;if(!(k&1)){if(r)break;k=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+k|0,h[e+(k+16)>>2]|5|0);k=T;T=0;if(!(k&1))break}r=Ze(0)|0}}bb(u);t=e;n=e;d=19;break e}}while(0);bb(u)}}while(0);do{if((d|0)==19){fi(r|0)|0;T=0;pe(181,t+(h[(h[n>>2]|0)+-12>>2]|0)|0);k=T;T=0;if(!(k&1)){li();break}r=Ze()|0;T=0;Ie(3);k=T;T=0;if(k&1){k=Ze(0)|0;Ki(k)}else si(r|0)}}while(0);v=b;return e|0}function _b(e){e=e|0;hh(e+4|0);return}function mb(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+4)|0);return}function pb(e){e=e|0;hh(e+4|0);zv(e);return}function vb(e){e=e|0;pb(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function gb(e,i){e=e|0;i=i|0;var r=0;c[e>>0]=0;h[e+4>>2]=i;r=h[(h[i>>2]|0)+-12>>2]|0;if(!(h[i+(r+16)>>2]|0)){r=h[i+(r+72)>>2]|0;if(r)lb(r)|0;c[e>>0]=1}return}function yb(e){e=e|0;var i=0,r=0;e=e+4|0;r=h[e>>2]|0;i=h[(h[r>>2]|0)+-12>>2]|0;do{if((((h[r+(i+24)>>2]|0)!=0?(h[r+(i+16)>>2]|0)==0:0)?(h[r+(i+4)>>2]&8192|0)!=0:0)?!(oi()|0):0){i=h[e>>2]|0;i=h[i+((h[(h[i>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;r=T;T=0;if(!(r&1)){if((i|0)!=-1)break;i=h[e>>2]|0;r=h[(h[i>>2]|0)+-12>>2]|0;T=0;ve(66,i+r|0,h[i+(r+16)>>2]|1|0);r=T;T=0;if(!(r&1))break}r=Ze(0)|0;fi(r|0)|0;T=0;Ie(3);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}}}while(0);return}function Eb(e){e=e|0;return 57453}function Ab(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)!=1&(r|0)<257)Ld(e,i,r);else Hd(e,57462,35);return}function Mb(){if((c[1048]|0)==0?(ze(1048)|0)!=0:0){h[10778]=43084;yi(72,43112,M|0)|0;$e(1048)}return 43112}function Tb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=v;v=v+16|0;n=t+8|0;f=t;l=r;a=h[l+4>>2]|0;r=f;h[r>>2]=h[l>>2];h[r+4>>2]=a;h[n>>2]=h[f>>2];h[n+4>>2]=h[f+4>>2];Dd(e,n,i);h[e>>2]=43048;v=t;return}function Sb(e){e=e|0;Bd(e);return}function Pb(e){e=e|0;Bd(e);zv(e);return}function Ob(e){e=e|0;hh(e);zv(e);return}function Rb(e){e=e|0;zv(e);return}function Lb(e){e=e|0;return}function Cb(e){e=e|0;return}function Db(e){e=e|0;zv(e);return}function xb(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;e:do{if((t|0)==(n|0))a=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=c[i>>0]|0;f=c[t>>0]|0;if(e<<24>>24<f<<24>>24){i=-1;break e}if(f<<24>>24<e<<24>>24){i=1;break e}i=i+1|0;t=t+1|0;if((t|0)==(n|0)){a=6;break}}}while(0);if((a|0)==6)i=(i|0)!=(r|0)&1;return i|0}function Ib(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;uh(e,r,t);return}function Bb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(c[i>>0]|0)+(e<<4)|0;t=e&-268435456;e=(t>>>24|t)^e;i=i+1|0}while((i|0)!=(r|0))}return e|0}function Nb(e){e=e|0;return}function Fb(e){e=e|0;zv(e);return}function Ub(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;e:do{if((t|0)==(n|0))a=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=h[i>>2]|0;f=h[t>>2]|0;if((e|0)<(f|0)){i=-1;break e}if((f|0)<(e|0)){i=1;break e}i=i+4|0;t=t+4|0;if((t|0)==(n|0)){a=6;break}}}while(0);if((a|0)==6)i=(i|0)!=(r|0)&1;return i|0}function jb(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ch(e,r,t);return}function Hb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(h[i>>2]|0)+(e<<4)|0;t=e&-268435456;e=(t>>>24|t)^e;i=i+4|0}while((i|0)!=(r|0))}return e|0}function Yb(e){e=e|0;return}function qb(e){e=e|0;zv(e);return}function Xb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;w=v;v=v+64|0;b=w+56|0;a=w+52|0;u=w+48|0;l=w+44|0;s=w+40|0;o=w+36|0;d=w+32|0;_=w+8|0;k=w;e:do{if(!(h[t+4>>2]&1)){h[u>>2]=-1;_=h[(h[e>>2]|0)+16>>2]|0;h[l>>2]=h[i>>2];h[s>>2]=h[r>>2];h[a>>2]=h[l>>2];h[b>>2]=h[s>>2];a=_E[_&63](e,a,b,t,n,u)|0;h[i>>2]=a;switch(h[u>>2]|0){case 0:{c[f>>0]=0;break e}case 1:{c[f>>0]=1;break e}default:{c[f>>0]=1;h[n>>2]=4;break e}}}else{a=_h(t)|0;h[o>>2]=a;T=0;e=Oe(37,o|0,44220)|0;u=T;T=0;do{if(!(u&1)){Ad(a)|0;a=_h(t)|0;h[d>>2]=a;T=0;s=Oe(37,d|0,44360)|0;d=T;T=0;if(d&1){_=Ze()|0;Ad(a)|0;a=_;break}Ad(a)|0;T=0;ve(h[(h[s>>2]|0)+24>>2]|0,_|0,s|0);d=T;T=0;if(!(d&1)){l=_+12|0;T=0;ve(h[(h[s>>2]|0)+28>>2]|0,l|0,s|0);d=T;T=0;if(!(d&1)){h[k>>2]=h[r>>2];T=0;h[b>>2]=h[k>>2];a=we(7,i|0,b|0,_|0,_+24|0,e|0,n|0,1)|0;n=T;T=0;if(n&1){a=Ze()|0;qd(_+12|0);qd(_);break}else{c[f>>0]=(a|0)==(_|0)&1;a=h[i>>2]|0;qd(_+12|0);qd(_);break e}}}else l=_;a=Ze()|0;s=H;if((_|0)!=(l|0))do{l=l+-12|0;qd(l)}while((l|0)!=(_|0))}else{_=Ze()|0;Ad(a)|0;a=_}}while(0);si(a|0)}}while(0);v=w;return a|0}function zb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Kw(e,s,l,t,n,f)|0;v=a;return e|0}function Vb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Ww(e,s,l,t,n,f)|0;v=a;return e|0}function Gb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Jw(e,s,l,t,n,f)|0;v=a;return e|0}function Kb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Zw(e,s,l,t,n,f)|0;v=a;return e|0}function Wb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Qw(e,s,l,t,n,f)|0;v=a;return e|0}function Jb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=$w(e,s,l,t,n,f)|0;v=a;return e|0}function Zb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=e_(e,s,l,t,n,f)|0;v=a;return e|0}function Qb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=i_(e,s,l,t,n,f)|0;v=a;return e|0}function $b(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=r_(e,s,l,t,n,f)|0;v=a;return e|0}function ek(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;P=v;v=v+240|0;y=P;w=P+208|0;R=P+32|0;e=P+28|0;O=P+16|0;g=P+12|0;m=P+48|0;p=P+8|0;_=P+4|0;h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;T=0;t=ye(68,t|0)|0;k=T;T=0;do{if(k&1)e=Ze()|0;else{h[e>>2]=t;T=0;e=Oe(37,e|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,De(h[(h[e>>2]|0)+32>>2]|0,e|0,57498,57524,w|0)|0,k=T,T=0,!(k&1)):0){Ad(t)|0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;if(!(c[O>>0]&1))e=10;else e=(h[O>>2]&-2)+-1|0;T=0;xe(8,O|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=O+8|0;k=O+1|0;t=(c[O>>0]&1)==0?k:h[d>>2]|0;h[g>>2]=t;h[p>>2]=m;h[_>>2]=0;u=O+4|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){L=29;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){L=29;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;L=19;break}}else L=19}while(0);if((L|0)==19){L=0;if(l){a=0;break}else a=0}l=c[O>>0]|0;l=(l&1)==0?(l&255)>>>1:h[u>>2]|0;if((h[g>>2]|0)==(t+l|0)){T=0;xe(8,O|0,l<<1|0,0);o=T;T=0;if(o&1){L=29;break}if(!(c[O>>0]&1))t=10;else t=(h[O>>2]&-2)+-1|0;T=0;xe(8,O|0,t|0,0);o=T;T=0;if(o&1){L=29;break}t=(c[O>>0]&1)==0?k:h[d>>2]|0;h[g>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;C=T;T=0;if(C&1){L=29;break}}else l=b[l>>0]|0;if(ik(l&255,16,t,g,_,0,R,m,p,w)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;C=T;T=0;if(C&1){L=29;break}else continue}else{h[s>>2]=a+1;continue}}if((L|0)==29){e=Ze()|0;break}T=0;xe(8,O|0,(h[g>>2]|0)-t|0,0);C=T;T=0;if((!(C&1)?(E=c[O>>0]|0,A=h[d>>2]|0,T=0,M=Ce(3)|0,C=T,T=0,!(C&1)):0)?(T=0,h[y>>2]=f,S=De(16,((E&1)==0?k:A)|0,M|0,58882,y|0)|0,C=T,T=0,!(C&1)):0){if((S|0)!=1)h[n>>2]=4;if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;C=T;T=0;if(C&1){L=30;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;C=T;T=0;if(C&1){L=30;break e}if((e|0)==-1){h[r>>2]=0;L=55;break}}if(!t)L=56}else L=55}while(0);if((L|0)==55?t:0)L=56;if((L|0)==56)h[n>>2]=h[n>>2]|2;C=h[i>>2]|0;qd(O);qd(R);v=P;return C|0}else L=30}else L=30}while(0);if((L|0)==30)e=Ze()|0;qd(O);break}e=Ze()|0;Ad(t)|0}}while(0);qd(R);si(e|0);return 0}function ik(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0;b=h[t>>2]|0;k=(b|0)==(r|0);do{if(k){u=(c[o+24>>0]|0)==e<<24>>24;if(!u?(c[o+25>>0]|0)!=e<<24>>24:0){d=5;break}h[t>>2]=r+1;c[r>>0]=u?43:45;h[n>>2]=0;u=0}else d=5}while(0);e:do{if((d|0)==5){d=c[a>>0]|0;if(e<<24>>24==f<<24>>24?(((d&1)==0?(d&255)>>>1:h[a+4>>2]|0)|0)!=0:0){u=h[s>>2]|0;if((u-l|0)>=160){u=0;break}i=h[n>>2]|0;h[s>>2]=u+4;h[u>>2]=i;h[n>>2]=0;u=0;break}a=o+26|0;u=o;while(1){if((c[u>>0]|0)==e<<24>>24)break;u=u+1|0;if((u|0)==(a|0)){u=a;break}}u=u-o|0;if((u|0)>23)u=-1;else{switch(i|0){case 10:case 8:{if((u|0)>=(i|0)){u=-1;break e}break}case 16:{if((u|0)>=22){if(k){u=-1;break e}if((b-r|0)>=3){u=-1;break e}if((c[b+-1>>0]|0)!=48){u=-1;break e}h[n>>2]=0;u=c[57498+u>>0]|0;h[t>>2]=b+1;c[b>>0]=u;u=0;break e}break}default:{}}u=c[57498+u>>0]|0;h[t>>2]=b+1;c[b>>0]=u;h[n>>2]=(h[n>>2]|0)+1;u=0}}}while(0);return u|0}function rk(){var e=0,i=0;do{if((c[1968]|0)==0?(ze(1968)|0)!=0:0){T=0;e=Ae(31,2147483647,58885,0)|0;i=T;T=0;if(i&1){i=Ze()|0;Ri(1968);si(i|0)}else{h[11196]=e;$e(1968);break}}}while(0);return h[11196]|0}function tk(e){e=e|0;return}function nk(e){e=e|0;zv(e);return}function fk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;w=v;v=v+64|0;b=w+56|0;a=w+52|0;u=w+48|0;l=w+44|0;s=w+40|0;o=w+36|0;d=w+32|0;_=w+8|0;k=w;e:do{if(!(h[t+4>>2]&1)){h[u>>2]=-1;_=h[(h[e>>2]|0)+16>>2]|0;h[l>>2]=h[i>>2];h[s>>2]=h[r>>2];h[a>>2]=h[l>>2];h[b>>2]=h[s>>2];a=_E[_&63](e,a,b,t,n,u)|0;h[i>>2]=a;switch(h[u>>2]|0){case 0:{c[f>>0]=0;break e}case 1:{c[f>>0]=1;break e}default:{c[f>>0]=1;h[n>>2]=4;break e}}}else{a=_h(t)|0;h[o>>2]=a;T=0;e=Oe(37,o|0,44212)|0;u=T;T=0;do{if(!(u&1)){Ad(a)|0;a=_h(t)|0;h[d>>2]=a;T=0;s=Oe(37,d|0,44368)|0;d=T;T=0;if(d&1){_=Ze()|0;Ad(a)|0;a=_;break}Ad(a)|0;T=0;ve(h[(h[s>>2]|0)+24>>2]|0,_|0,s|0);d=T;T=0;if(!(d&1)){l=_+12|0;T=0;ve(h[(h[s>>2]|0)+28>>2]|0,l|0,s|0);d=T;T=0;if(!(d&1)){h[k>>2]=h[r>>2];T=0;h[b>>2]=h[k>>2];a=we(8,i|0,b|0,_|0,_+24|0,e|0,n|0,1)|0;n=T;T=0;if(n&1){a=Ze()|0;th(_+12|0);th(_);break}else{c[f>>0]=(a|0)==(_|0)&1;a=h[i>>2]|0;th(_+12|0);th(_);break e}}}else l=_;a=Ze()|0;s=H;if((_|0)!=(l|0))do{l=l+-12|0;th(l)}while((l|0)!=(_|0))}else{_=Ze()|0;Ad(a)|0;a=_}}while(0);si(a|0)}}while(0);v=w;return a|0}function ak(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=f_(e,s,l,t,n,f)|0;v=a;return e|0}function lk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=a_(e,s,l,t,n,f)|0;v=a;return e|0}function sk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=l_(e,s,l,t,n,f)|0;v=a;return e|0}function ok(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=s_(e,s,l,t,n,f)|0;v=a;return e|0}function uk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=o_(e,s,l,t,n,f)|0;v=a;return e|0}function ck(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=u_(e,s,l,t,n,f)|0;v=a;return e|0}function dk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=c_(e,s,l,t,n,f)|0;v=a;return e|0}function hk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=d_(e,s,l,t,n,f)|0;v=a;return e|0}function bk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=h_(e,s,l,t,n,f)|0;v=a;return e|0}function kk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0;S=v;v=v+320|0;g=S;k=S+208|0;O=S+32|0;e=S+28|0;P=S+16|0;p=S+12|0;_=S+48|0;m=S+8|0;w=S+4|0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;T=0;t=ye(68,t|0)|0;b=T;T=0;do{if(b&1)e=Ze()|0;else{h[e>>2]=t;T=0;e=Oe(37,e|0,44212)|0;b=T;T=0;if(!(b&1)?(T=0,De(h[(h[e>>2]|0)+48>>2]|0,e|0,57498,57524,k|0)|0,b=T,T=0,!(b&1)):0){Ad(t)|0;h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;if(!(c[P>>0]&1))e=10;else e=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,e|0,0);b=T;T=0;e:do{if(!(b&1)){d=P+8|0;b=P+1|0;e=(c[P>>0]&1)==0?b:h[d>>2]|0;h[p>>2]=e;h[m>>2]=_;h[w>>2]=0;u=P+4|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){R=30;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){R=30;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l){a=s;break}else{a=s;break i}else{h[r>>2]=0;R=20;break}}else R=20}while(0);if((R|0)==20){R=0;if(l){a=0;break}else a=0}l=c[P>>0]|0;l=(l&1)==0?(l&255)>>>1:h[u>>2]|0;if((h[p>>2]|0)==(e+l|0)){T=0;xe(8,P|0,l<<1|0,0);o=T;T=0;if(o&1){R=30;break}if(!(c[P>>0]&1))e=10;else e=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,e|0,0);o=T;T=0;if(o&1){R=30;break}e=(c[P>>0]&1)==0?b:h[d>>2]|0;h[p>>2]=e+l}s=t+12|0;l=h[s>>2]|0;o=t+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;L=T;T=0;if(L&1){R=30;break}}else l=h[l>>2]|0;if(wk(l,16,e,p,w,0,O,_,m,k)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;L=T;T=0;if(L&1){R=30;break}else{a=t;continue}}else{h[s>>2]=a+4;a=t;continue}}if((R|0)==30){e=Ze()|0;break}T=0;xe(8,P|0,(h[p>>2]|0)-e|0,0);L=T;T=0;if((!(L&1)?(y=c[P>>0]|0,E=h[d>>2]|0,T=0,A=Ce(3)|0,L=T,T=0,!(L&1)):0)?(T=0,h[g>>2]=f,M=De(16,((y&1)==0?b:E)|0,A|0,58882,g|0)|0,L=T,T=0,!(L&1)):0){if((M|0)!=1)h[n>>2]=4;if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;L=T;T=0;if(L&1){R=31;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;L=T;T=0;if(L&1){R=31;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{R=59;break}else{h[r>>2]=0;R=57;break}}else R=57}while(0);if((R|0)==57?t:0)R=59;if((R|0)==59)h[n>>2]=h[n>>2]|2;L=h[i>>2]|0;qd(P);qd(O);v=S;return L|0}else R=31}else R=31}while(0);if((R|0)==31)e=Ze()|0;qd(P);break}e=Ze()|0;Ad(t)|0}}while(0);qd(O);si(e|0);return 0}function wk(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0;b=h[t>>2]|0;k=(b|0)==(r|0);do{if(k){u=(h[o+96>>2]|0)==(e|0);if(!u?(h[o+100>>2]|0)!=(e|0):0){d=5;break}h[t>>2]=r+1;c[r>>0]=u?43:45;h[n>>2]=0;u=0}else d=5}while(0);e:do{if((d|0)==5){d=c[a>>0]|0;if((e|0)==(f|0)?(((d&1)==0?(d&255)>>>1:h[a+4>>2]|0)|0)!=0:0){u=h[s>>2]|0;if((u-l|0)>=160){u=0;break}i=h[n>>2]|0;h[s>>2]=u+4;h[u>>2]=i;h[n>>2]=0;u=0;break}a=o+104|0;u=o;while(1){if((h[u>>2]|0)==(e|0))break;u=u+4|0;if((u|0)==(a|0)){u=a;break}}u=u-o|0;a=u>>2;if((u|0)>92)u=-1;else{switch(i|0){case 10:case 8:{if((a|0)>=(i|0)){u=-1;break e}break}case 16:{if((u|0)>=88){if(k){u=-1;break e}if((b-r|0)>=3){u=-1;break e}if((c[b+-1>>0]|0)!=48){u=-1;break e}h[n>>2]=0;u=c[57498+a>>0]|0;h[t>>2]=b+1;c[b>>0]=u;u=0;break e}break}default:{}}u=c[57498+a>>0]|0;h[t>>2]=b+1;c[b>>0]=u;h[n>>2]=(h[n>>2]|0)+1;u=0}}}while(0);return u|0}function _k(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+16|0;l=s;i=_h(i)|0;h[l>>2]=i;T=0;n=Oe(37,l|0,44220)|0;o=T;T=0;if((((!(o&1)?(T=0,De(h[(h[n>>2]|0)+32>>2]|0,n|0,57498,57524,r|0)|0,o=T,T=0,!(o&1)):0)?(T=0,a=Oe(37,l|0,44360)|0,o=T,T=0,!(o&1)):0)?(T=0,f=ye(h[(h[a>>2]|0)+16>>2]|0,a|0)|0,o=T,T=0,!(o&1)):0)?(c[t>>0]=f,T=0,ve(h[(h[a>>2]|0)+20>>2]|0,e|0,a|0),o=T,T=0,!(o&1)):0){Ad(i)|0;v=s;return}o=Ze()|0;Ad(i)|0;si(o|0)}function mk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;u=v;v=v+16|0;o=u;i=_h(i)|0;h[o>>2]=i;T=0;f=Oe(37,o|0,44220)|0;d=T;T=0;if(((((!(d&1)?(T=0,De(h[(h[f>>2]|0)+32>>2]|0,f|0,57498,57530,r|0)|0,d=T,T=0,!(d&1)):0)?(T=0,s=Oe(37,o|0,44360)|0,d=T,T=0,!(d&1)):0)?(T=0,a=ye(h[(h[s>>2]|0)+12>>2]|0,s|0)|0,d=T,T=0,!(d&1)):0)?(c[t>>0]=a,T=0,l=ye(h[(h[s>>2]|0)+16>>2]|0,s|0)|0,d=T,T=0,!(d&1)):0)?(c[n>>0]=l,T=0,ve(h[(h[s>>2]|0)+20>>2]|0,e|0,s|0),d=T,T=0,!(d&1)):0){Ad(i)|0;v=u;return}d=Ze()|0;Ad(i)|0;si(d|0)}function pk(e,i,r,t,n,f,a,l,s,o,u,d){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;d=d|0;var k=0,w=0;e:do{if(e<<24>>24==f<<24>>24)if(c[i>>0]|0){c[i>>0]=0;r=h[n>>2]|0;h[n>>2]=r+1;c[r>>0]=46;r=c[l>>0]|0;if((((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0?(k=h[o>>2]|0,(k-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;k=0}else k=0}else k=-1;else{if(e<<24>>24==a<<24>>24?(a=c[l>>0]|0,(((a&1)==0?(a&255)>>>1:h[l+4>>2]|0)|0)!=0):0){if(!(c[i>>0]|0)){k=-1;break}k=h[o>>2]|0;if((k-s|0)>=160){k=0;break}s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;h[u>>2]=0;k=0;break}f=d+32|0;k=d;while(1){if((c[k>>0]|0)==e<<24>>24)break;k=k+1|0;if((k|0)==(f|0)){k=f;break}}f=k-d|0;if((f|0)>31)k=-1;else{a=c[57498+f>>0]|0;switch(f|0){case 24:case 25:{k=h[n>>2]|0;if((k|0)!=(t|0)?(b[k+-1>>0]&95|0)!=(b[r>>0]&127|0):0){k=-1;break e}h[n>>2]=k+1;c[k>>0]=a;k=0;break e}case 23:case 22:{c[r>>0]=80;k=h[n>>2]|0;h[n>>2]=k+1;c[k>>0]=a;k=0;break e}default:{k=a&95;if((((k|0)==(c[r>>0]|0)?(c[r>>0]=k|128,(c[i>>0]|0)!=0):0)?(c[i>>0]=0,r=c[l>>0]|0,(((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0):0)?(w=h[o>>2]|0,(w-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=w+4;h[w>>2]=s}o=h[n>>2]|0;h[n>>2]=o+1;c[o>>0]=a;if((f|0)>21){k=0;break e}h[u>>2]=(h[u>>2]|0)+1;k=0;break e}}}}}while(0);return k|0}function vk(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+16|0;l=s;i=_h(i)|0;h[l>>2]=i;T=0;n=Oe(37,l|0,44212)|0;o=T;T=0;if((((!(o&1)?(T=0,De(h[(h[n>>2]|0)+48>>2]|0,n|0,57498,57524,r|0)|0,o=T,T=0,!(o&1)):0)?(T=0,a=Oe(37,l|0,44368)|0,o=T,T=0,!(o&1)):0)?(T=0,f=ye(h[(h[a>>2]|0)+16>>2]|0,a|0)|0,o=T,T=0,!(o&1)):0)?(h[t>>2]=f,T=0,ve(h[(h[a>>2]|0)+20>>2]|0,e|0,a|0),o=T,T=0,!(o&1)):0){Ad(i)|0;v=s;return}o=Ze()|0;Ad(i)|0;si(o|0)}function gk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0;u=v;v=v+16|0;o=u;i=_h(i)|0;h[o>>2]=i;T=0;f=Oe(37,o|0,44212)|0;c=T;T=0;if(((((!(c&1)?(T=0,De(h[(h[f>>2]|0)+48>>2]|0,f|0,57498,57530,r|0)|0,c=T,T=0,!(c&1)):0)?(T=0,s=Oe(37,o|0,44368)|0,c=T,T=0,!(c&1)):0)?(T=0,a=ye(h[(h[s>>2]|0)+12>>2]|0,s|0)|0,c=T,T=0,!(c&1)):0)?(h[t>>2]=a,T=0,l=ye(h[(h[s>>2]|0)+16>>2]|0,s|0)|0,c=T,T=0,!(c&1)):0)?(h[n>>2]=l,T=0,ve(h[(h[s>>2]|0)+20>>2]|0,e|0,s|0),c=T,T=0,!(c&1)):0){Ad(i)|0;v=u;return}c=Ze()|0;Ad(i)|0;si(c|0)}function yk(e,i,r,t,n,f,a,l,s,o,u,d){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;d=d|0;var k=0,w=0;e:do{if((e|0)==(f|0))if(c[i>>0]|0){c[i>>0]=0;r=h[n>>2]|0;h[n>>2]=r+1;c[r>>0]=46;r=c[l>>0]|0;if((((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0?(k=h[o>>2]|0,(k-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;k=0}else k=0}else k=-1;else{if((e|0)==(a|0)?(a=c[l>>0]|0,(((a&1)==0?(a&255)>>>1:h[l+4>>2]|0)|0)!=0):0){if(!(c[i>>0]|0)){k=-1;break}k=h[o>>2]|0;if((k-s|0)>=160){k=0;break}s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;h[u>>2]=0;k=0;break}f=d+128|0;k=d;while(1){if((h[k>>2]|0)==(e|0))break;k=k+4|0;if((k|0)==(f|0)){k=f;break}}f=k-d|0;k=f>>2;if((f|0)<=124){a=c[57498+k>>0]|0;switch(k|0){case 24:case 25:{k=h[n>>2]|0;if((k|0)!=(t|0)?(b[k+-1>>0]&95|0)!=(b[r>>0]&127|0):0){k=-1;break e}h[n>>2]=k+1;c[k>>0]=a;k=0;break e}case 23:case 22:{c[r>>0]=80;break}default:{k=a&95;if((((k|0)==(c[r>>0]|0)?(c[r>>0]=k|128,(c[i>>0]|0)!=0):0)?(c[i>>0]=0,r=c[l>>0]|0,(((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0):0)?(w=h[o>>2]|0,(w-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=w+4;h[w>>2]=s}}}o=h[n>>2]|0;h[n>>2]=o+1;c[o>>0]=a;if((f|0)>84)k=0;else{h[u>>2]=(h[u>>2]|0)+1;k=0}}else k=-1}}while(0);return k|0}function Ek(e){e=e|0;return}function Ak(e){e=e|0;zv(e);return}function Mk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+32|0;f=u+20|0;a=u+16|0;l=u+12|0;o=u;e:do{if(!(h[r+4>>2]&1)){o=h[(h[e>>2]|0)+24>>2]|0;h[a>>2]=h[i>>2];h[f>>2]=h[a>>2];f=TE[o&31](e,f,r,t,n&1)|0}else{f=_h(r)|0;h[l>>2]=f;T=0;a=Oe(37,l|0,44360)|0;s=T;T=0;i:do{if(s&1){u=Ze()|0;Ad(f)|0;f=u}else{Ad(f)|0;f=h[a>>2]|0;if(n)wE[h[f+24>>2]&127](o,a);else wE[h[f+28>>2]&127](o,a);e=c[o>>0]|0;s=(e&1)==0;f=o+1|0;n=o+8|0;l=s?f:o+1|0;f=s?f:h[o+8>>2]|0;s=o+4|0;r=(e&1)==0;r:do{if((f|0)!=((r?l:h[n>>2]|0)+(r?(e&255)>>>1:h[s>>2]|0)|0)){t:while(1){a=c[f>>0]|0;t=h[i>>2]|0;do{if(t){r=t+24|0;e=h[r>>2]|0;if((e|0)!=(h[t+28>>2]|0)){h[r>>2]=e+1;c[e>>0]=a;break}T=0;a=Oe(h[(h[t>>2]|0)+52>>2]|0,t|0,a&255|0)|0;e=T;T=0;if(e&1)break t;if((a|0)==-1)h[i>>2]=0}}while(0);f=f+1|0;e=c[o>>0]|0;r=(e&1)==0;if((f|0)==((r?l:h[n>>2]|0)+(r?(e&255)>>>1:h[s>>2]|0)|0))break r}f=Ze()|0;qd(o);break i}}while(0);f=h[i>>2]|0;qd(o);break e}}while(0);si(f|0)}}while(0);v=u;return f|0}function Tk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+64|0;f=u;b=u+56|0;k=u+44|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,1,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=Vr(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Sk(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;if(t&2048){c[e>>0]=43;e=e+1|0}if(t&512){c[e>>0]=35;e=e+1|0}n=c[i>>0]|0;if(n<<24>>24){f=i;while(1){f=f+1|0;i=e+1|0;c[e>>0]=n;n=c[f>>0]|0;if(!(n<<24>>24)){e=i;break}else e=i}}e:do{switch(t&74|0){case 64:{c[e>>0]=111;break}case 8:if(!(t&16384)){c[e>>0]=120;break e}else{c[e>>0]=88;break e}default:if(r){c[e>>0]=100;break e}else{c[e>>0]=117;break e}}}while(0);return}function Pk(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e:do{switch(h[r+4>>2]&176|0){case 16:{r=c[e>>0]|0;switch(r<<24>>24){case 43:case 45:{e=e+1|0;break e}default:{}}if((i-e|0)>1&r<<24>>24==48){switch(c[e+1>>0]|0){case 88:case 120:break;default:{t=7;break e}}e=e+2|0}else t=7;break}case 32:{e=i;break}default:t=7}}while(0);return e|0}function Ok(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+16|0;g=p;_=Vu(a,44220)|0;o=Vu(a,44360)|0;wE[h[(h[o>>2]|0)+20>>2]&127](g,o);k=c[g>>0]|0;w=g+4|0;e:do{if(!(((k&1)==0?(k&255)>>>1:h[w>>2]|0)|0)){T=0;De(h[(h[_>>2]|0)+32>>2]|0,_|0,e|0,r|0,t|0)|0;m=T;T=0;if(m&1)m=5;else{a=t+(r-e)|0;h[f>>2]=a;m=29}}else{h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,a|0)|0;k=T;T=0;if(k&1){m=5;break e}s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=a;s=e+1|0;break}default:s=e}i:do{if((r-s|0)>1?(c[s>>0]|0)==48:0){a=s+1|0;switch(c[a>>0]|0){case 88:case 120:break;default:break i}T=0;l=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,48)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+1;c[k>>0]=l;T=0;a=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,c[a>>0]|0)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+1;c[k>>0]=a;s=s+2|0}}while(0);if((s|0)!=(r|0)?(u=r+-1|0,s>>>0<u>>>0):0){l=s;a=u;do{k=c[l>>0]|0;c[l>>0]=c[a>>0]|0;c[a>>0]=k;l=l+1|0;a=a+-1|0}while(l>>>0<a>>>0)}T=0;u=ye(h[(h[o>>2]|0)+16>>2]|0,o|0)|0;k=T;T=0;if(!(k&1)){d=g+8|0;b=g+1|0;i:do{if(s>>>0<r>>>0){a=0;l=0;k=s;while(1){o=c[((c[g>>0]&1)==0?b:h[d>>2]|0)+l>>0]|0;if(o<<24>>24!=0&(a|0)==(o<<24>>24|0)){a=h[f>>2]|0;h[f>>2]=a+1;c[a>>0]=u;a=c[g>>0]|0;o=0;l=(l>>>0<(((a&1)==0?(a&255)>>>1:h[w>>2]|0)+-1|0)>>>0&1)+l|0}else o=a;T=0;a=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,c[k>>0]|0)|0;y=T;T=0;if(y&1)break;y=h[f>>2]|0;h[f>>2]=y+1;c[y>>0]=a;k=k+1|0;if(k>>>0>=r>>>0)break i;else a=o+1|0}a=Ze()|0;break e}}while(0);l=e;a=t+(s-l)|0;e=h[f>>2]|0;if((a|0)==(e|0)){e=l;m=29}else{e=e+-1|0;if(a>>>0<e>>>0)do{y=c[a>>0]|0;c[a>>0]=c[e>>0]|0;c[e>>0]=y;a=a+1|0;e=e+-1|0}while(a>>>0<e>>>0);e=l;a=h[f>>2]|0;m=29}}else m=5}}while(0);if((m|0)==5)a=Ze()|0;else if((m|0)==29){h[n>>2]=(i|0)==(r|0)?a:t+(i-e)|0;qd(g);v=p;return}qd(g);si(a|0)}function Rk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+96|0;a=c+8|0;e=c;b=c+74|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,1,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,22,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=Vr(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Lk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+64|0;f=u;b=u+56|0;k=u+44|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,0,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=Vr(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Ck(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+112|0;a=c+8|0;e=c;b=c+75|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,0,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,23,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=Vr(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Dk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+176|0;_=A+84|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+88|0;w=A+80|0;l=A+118|0;E=A+76|0;y=A+72|0;p=A+68|0;g=A+64|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58898,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,h[d>>2]=h[r+8>>2],m[d+8>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<1)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(2,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(39,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function xk(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;if(r&2048){c[e>>0]=43;e=e+1|0}if(r&1024){c[e>>0]=35;e=e+1|0}a=r&260;n=r>>>14;l=(a|0)==260;if(l)f=0;else{c[e>>0]=46;c[e+1>>0]=42;e=e+2|0;f=1}r=c[i>>0]|0;if(r<<24>>24){t=e;while(1){i=i+1|0;e=t+1|0;c[t>>0]=r;r=c[i>>0]|0;if(!(r<<24>>24))break;else t=e}}e:do{switch(a|0){case 4:if(!(n&1)){c[e>>0]=102;break e}else{c[e>>0]=70;break e}case 256:if(!(n&1)){c[e>>0]=101;break e}else{c[e>>0]=69;break e}default:{r=(n&1|0)!=0;if(l)if(r){c[e>>0]=65;break e}else{c[e>>0]=97;break e}else if(r){c[e>>0]=71;break e}else{c[e>>0]=103;break e}}}}while(0);return f|0}function Ik(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0;A=v;v=v+16|0;M=A;E=Vu(a,44220)|0;g=Vu(a,44360)|0;wE[h[(h[g>>2]|0)+20>>2]&127](M,g);h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,a|0)|0;y=T;T=0;if(y&1)p=8;else{u=h[f>>2]|0;h[f>>2]=u+1;c[u>>0]=a;u=e+1|0;p=10}break}default:{u=e;p=10}}e:do{if((p|0)==10){y=r;i:do{if((y-u|0)>1?(c[u>>0]|0)==48:0){s=u+1|0;switch(c[s>>0]|0){case 88:case 120:break;default:{p=11;break i}}T=0;a=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,48)|0;m=T;T=0;if(m&1){p=8;break e}m=h[f>>2]|0;h[f>>2]=m+1;c[m>>0]=a;u=u+2|0;T=0;a=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,c[s>>0]|0)|0;m=T;T=0;if(m&1){p=8;break e}m=h[f>>2]|0;h[f>>2]=m+1;c[m>>0]=a;if(u>>>0<r>>>0){a=u;while(1){s=c[a>>0]|0;T=0;o=Ce(3)|0;m=T;T=0;if(m&1)break;T=0;s=Oe(39,s<<24>>24|0,o|0)|0;m=T;T=0;if(m&1)break;if(!s){m=u;break i}a=a+1|0;if(a>>>0>=r>>>0){m=u;break i}}a=Ze()|0;break e}else{m=u;a=u}}else p=11}while(0);i:do{if((p|0)==11)if(u>>>0<r>>>0){a=u;while(1){s=c[a>>0]|0;T=0;o=Ce(3)|0;m=T;T=0;if(m&1)break;T=0;s=Oe(40,s<<24>>24|0,o|0)|0;m=T;T=0;if(m&1)break;if(!s){m=u;break i}a=a+1|0;if(a>>>0>=r>>>0){m=u;break i}}a=Ze()|0;break e}else{m=u;a=u}}while(0);w=c[M>>0]|0;_=M+4|0;if(((w&1)==0?(w&255)>>>1:h[_>>2]|0)|0){if((m|0)!=(a|0)?(d=a+-1|0,m>>>0<d>>>0):0){o=m;s=d;do{w=c[o>>0]|0;c[o>>0]=c[s>>0]|0;c[s>>0]=w;o=o+1|0;s=s+-1|0}while(o>>>0<s>>>0)}T=0;d=ye(h[(h[g>>2]|0)+16>>2]|0,g|0)|0;w=T;T=0;if(w&1){p=8;break}b=M+8|0;k=M+1|0;i:do{if(m>>>0<a>>>0){s=0;o=0;w=m;while(1){u=c[((c[M>>0]&1)==0?k:h[b>>2]|0)+o>>0]|0;if(u<<24>>24>0&(s|0)==(u<<24>>24|0)){s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=d;s=c[M>>0]|0;u=0;o=(o>>>0<(((s&1)==0?(s&255)>>>1:h[_>>2]|0)+-1|0)>>>0&1)+o|0}else u=s;T=0;s=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,c[w>>0]|0)|0;S=T;T=0;if(S&1)break;S=h[f>>2]|0;h[f>>2]=S+1;c[S>>0]=s;w=w+1|0;if(w>>>0>=a>>>0)break i;else s=u+1|0}a=Ze()|0;break e}}while(0);s=t+(m-e)|0;o=h[f>>2]|0;if((s|0)!=(o|0)?(l=o+-1|0,s>>>0<l>>>0):0){do{S=c[s>>0]|0;c[s>>0]=c[l>>0]|0;c[l>>0]=S;s=s+1|0;l=l+-1|0}while(s>>>0<l>>>0);s=E}else s=E}else{T=0;De(h[(h[E>>2]|0)+32>>2]|0,E|0,m|0,a|0,h[f>>2]|0)|0;S=T;T=0;if(S&1){p=8;break}h[f>>2]=(h[f>>2]|0)+(a-m);s=E}i:do{if(a>>>0<r>>>0){while(1){l=c[a>>0]|0;if(l<<24>>24==46)break;T=0;l=Oe(h[(h[s>>2]|0)+28>>2]|0,E|0,l|0)|0;S=T;T=0;if(S&1){p=4;break}S=h[f>>2]|0;h[f>>2]=S+1;c[S>>0]=l;a=a+1|0;if(a>>>0>=r>>>0)break i}if((p|0)==4){a=Ze()|0;break e}T=0;l=ye(h[(h[g>>2]|0)+12>>2]|0,g|0)|0;S=T;T=0;if(S&1){p=8;break e}S=h[f>>2]|0;h[f>>2]=S+1;c[S>>0]=l;a=a+1|0}}while(0);T=0;De(h[(h[E>>2]|0)+32>>2]|0,E|0,a|0,r|0,h[f>>2]|0)|0;S=T;T=0;if(S&1)p=8;else{S=(h[f>>2]|0)+(y-a)|0;h[f>>2]=S;h[n>>2]=(i|0)==(r|0)?S:t+(i-e)|0;qd(M);v=A;return}}}while(0);if((p|0)==8)a=Ze()|0;qd(M);si(a|0)}function Bk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+176|0;_=A+76|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+80|0;w=A+72|0;l=A+110|0;E=A+68|0;y=A+64|0;p=A+60|0;g=A+56|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58899,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,m[d>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<1)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(2,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(39,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function Nk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+80|0;s=b;e=b+70|0;u=b+12|0;d=b+32|0;l=b+8|0;o=b+4|0;c[e>>0]=c[58901]|0;c[e+1>>0]=c[58902]|0;c[e+2>>0]=c[58903]|0;c[e+3>>0]=c[58904]|0;c[e+4>>0]=c[58905]|0;c[e+5>>0]=c[58906]|0;f=rk()|0;h[s>>2]=n;e=b_(u,20,f,e,s)|0;n=u+e|0;f=Pk(u,n,r)|0;a=_h(r)|0;h[l>>2]=a;T=0;l=Oe(37,l|0,44220)|0;k=T;T=0;if(k&1){k=Ze()|0;Ad(a)|0;si(k|0)}else{Ad(a)|0;OE[h[(h[l>>2]|0)+32>>2]&31](l,u,n,d)|0;k=d+e|0;h[o>>2]=h[i>>2];h[s>>2]=h[o>>2];k=Vr(s,d,(f|0)==(n|0)?k:d+(f-u)|0,k,r,t)|0;v=b;return k|0}return 0}function Fk(e){e=e|0;return}function Uk(e){e=e|0;zv(e);return}function jk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;f=o+20|0;a=o+16|0;l=o+12|0;s=o;e:do{if(!(h[r+4>>2]&1)){s=h[(h[e>>2]|0)+24>>2]|0;h[a>>2]=h[i>>2];h[f>>2]=h[a>>2];f=TE[s&31](e,f,r,t,n&1)|0}else{f=_h(r)|0;h[l>>2]=f;T=0;a=Oe(37,l|0,44368)|0;l=T;T=0;i:do{if(l&1){o=Ze()|0;Ad(f)|0;f=o}else{Ad(f)|0;f=h[a>>2]|0;if(n)wE[h[f+24>>2]&127](s,a);else wE[h[f+28>>2]&127](s,a);e=c[s>>0]|0;r=(e&1)==0;f=s+4|0;n=s+8|0;l=r?f:s+4|0;f=r?f:h[s+8>>2]|0;r=(e&1)==0;r:do{if((f|0)!=((r?l:h[n>>2]|0)+((r?(e&255)>>>1:h[l>>2]|0)<<2)|0)){while(1){a=h[f>>2]|0;t=h[i>>2]|0;if(t){r=t+24|0;e=h[r>>2]|0;if((e|0)==(h[t+28>>2]|0)){T=0;a=Oe(h[(h[t>>2]|0)+52>>2]|0,t|0,a|0)|0;e=T;T=0;if(e&1)break}else{h[r>>2]=e+4;h[e>>2]=a}if((a|0)==-1)h[i>>2]=0}f=f+4|0;e=c[s>>0]|0;r=(e&1)==0;if((f|0)==((r?l:h[n>>2]|0)+((r?(e&255)>>>1:h[l>>2]|0)<<2)|0))break r}f=Ze()|0;th(s);break i}}while(0);f=h[i>>2]|0;th(s);break e}}while(0);si(f|0)}}while(0);v=o;return f|0}function Hk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+128|0;f=u;b=u+116|0;k=u+104|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,1,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=w_(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Yk(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+16|0;g=p;_=Vu(a,44212)|0;o=Vu(a,44368)|0;wE[h[(h[o>>2]|0)+20>>2]&127](g,o);k=c[g>>0]|0;w=g+4|0;e:do{if(!(((k&1)==0?(k&255)>>>1:h[w>>2]|0)|0)){T=0;De(h[(h[_>>2]|0)+48>>2]|0,_|0,e|0,r|0,t|0)|0;m=T;T=0;if(m&1)m=5;else{a=t+(r-e<<2)|0;h[f>>2]=a;m=28}}else{h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,a|0)|0;k=T;T=0;if(k&1){m=5;break e}s=h[f>>2]|0;h[f>>2]=s+4;h[s>>2]=a;s=e+1|0;break}default:s=e}i:do{if((r-s|0)>1?(c[s>>0]|0)==48:0){a=s+1|0;switch(c[a>>0]|0){case 88:case 120:break;default:{k=s;break i}}T=0;l=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,48)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+4;h[k>>2]=l;T=0;a=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,c[a>>0]|0)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+4;h[k>>2]=a;k=s+2|0}else k=s}while(0);if((k|0)!=(r|0)?(u=r+-1|0,k>>>0<u>>>0):0){l=k;a=u;do{b=c[l>>0]|0;c[l>>0]=c[a>>0]|0;c[a>>0]=b;l=l+1|0;a=a+-1|0}while(l>>>0<a>>>0)}T=0;o=ye(h[(h[o>>2]|0)+16>>2]|0,o|0)|0;b=T;T=0;if(!(b&1)){u=g+8|0;d=g+1|0;i:do{if(k>>>0<r>>>0){a=0;l=0;b=k;while(1){s=c[((c[g>>0]&1)==0?d:h[u>>2]|0)+l>>0]|0;if(s<<24>>24!=0&(a|0)==(s<<24>>24|0)){a=h[f>>2]|0;h[f>>2]=a+4;h[a>>2]=o;a=c[g>>0]|0;s=0;l=(l>>>0<(((a&1)==0?(a&255)>>>1:h[w>>2]|0)+-1|0)>>>0&1)+l|0}else s=a;T=0;a=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,c[b>>0]|0)|0;y=T;T=0;if(y&1)break;y=h[f>>2]|0;h[f>>2]=y+4;h[y>>2]=a;b=b+1|0;if(b>>>0>=r>>>0)break i;else a=s+1|0}a=Ze()|0;break e}}while(0);s=e;a=t+(k-s<<2)|0;l=h[f>>2]|0;if((a|0)!=(l|0)){e=l+-4|0;if(a>>>0<e>>>0){do{y=h[a>>2]|0;h[a>>2]=h[e>>2];h[e>>2]=y;a=a+4|0;e=e+-4|0}while(a>>>0<e>>>0);e=s;a=l;m=28}else{e=s;a=l;m=28}}else{e=s;m=28}}else m=5}}while(0);if((m|0)==5)a=Ze()|0;else if((m|0)==28){h[n>>2]=(i|0)==(r|0)?a:t+(i-e<<2)|0;qd(g);v=p;return}qd(g);si(a|0)}function qk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+224|0;a=c+8|0;e=c;b=c+196|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,1,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,22,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=w_(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Xk(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;m=v;v=v+16|0;w=m;b=m+8|0;e:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(h[s>>2]|0))break e;s=s+4|0;if((s|0)==(t|0)){s=t;break}}}}while(0);h[l>>2]=f;h[n>>2]=r;u=a;k=e+8|0;e:do{if(!((f|0)==(a|0)|(r|0)==(t|0))){e=f;o=s;i:while(1){g=i;f=h[g+4>>2]|0;s=w;h[s>>2]=h[g>>2];h[s+4>>2]=f;s=fy(h[k>>2]|0)|0;T=0;f=Re(21,e|0,n|0,o-r>>2|0,u-e|0,i|0)|0;g=T;T=0;if(g&1){p=9;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=8;break}switch(f|0){case 0:{d=1;break e}case-1:{s=e;p=14;break i}default:{}}s=(h[l>>2]|0)+f|0;h[l>>2]=s;if((s|0)==(a|0)){p=27;break}if((o|0)==(t|0)){r=h[n>>2]|0;e=s;s=t}else{s=fy(h[k>>2]|0)|0;T=0;r=Ae(34,b|0,0,i|0)|0;g=T;T=0;if(g&1){p=35;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=34;break}if((r|0)==-1){d=2;break e}if(r>>>0>(u-(h[l>>2]|0)|0)>>>0){d=1;break e}if(r){s=b;while(1){o=c[s>>0]|0;g=h[l>>2]|0;h[l>>2]=g+1;c[g>>0]=o;r=r+-1|0;if(!r)break;else s=s+1|0}}r=(h[n>>2]|0)+4|0;h[n>>2]=r;r:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(h[s>>2]|0))break r;s=s+4|0;if((s|0)==(t|0)){s=t;break}}}}while(0);e=h[l>>2]|0}if((e|0)==(a|0)|(r|0)==(t|0)){p=47;break e}else o=s}if((p|0)==8){g=Ze(0)|0;Ki(g)}else if((p|0)==9){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}else if((p|0)==14){h[l>>2]=s;i:do{if((r|0)!=(h[n>>2]|0)){while(1){g=h[r>>2]|0;e=fy(h[k>>2]|0)|0;T=0;s=Ae(34,s|0,g|0,w|0)|0;g=T;T=0;if(g&1){_=e;break}if((e|0)!=0?(T=0,ye(75,e|0)|0,g=T,T=0,g&1):0){p=18;break}if((s|0)==-1)break i;s=(h[l>>2]|0)+s|0;h[l>>2]=s;r=r+4|0;if((r|0)==(h[n>>2]|0))break i}if((p|0)==18){g=Ze(0)|0;Ki(g)}r=Ze()|0;if((_|0)!=0?(T=0,ye(75,_|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}}while(0);h[n>>2]=r;d=2;break}else if((p|0)==27){r=h[n>>2]|0;p=47;break}else if((p|0)==34){g=Ze(0)|0;Ki(g)}else if((p|0)==35){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}}else p=47}while(0);if((p|0)==47)d=(r|0)!=(t|0)&1;v=m;return d|0}function zk(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;m=v;v=v+16|0;_=m;e:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(c[s>>0]|0))break e;s=s+1|0;if((s|0)==(t|0)){s=t;break}}}}while(0);h[l>>2]=f;h[n>>2]=r;d=a;k=e+8|0;e:do{if(!((f|0)==(a|0)|(r|0)==(t|0))){e=f;u=s;i:while(1){o=i;s=h[o+4>>2]|0;f=_;h[f>>2]=h[o>>2];h[f+4>>2]=s;f=u;s=fy(h[k>>2]|0)|0;T=0;o=Re(22,e|0,n|0,f-r|0,d-e>>2|0,i|0)|0;g=T;T=0;if(g&1){p=9;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=8;break}switch(o|0){case 0:{b=2;break e}case-1:{s=e;p=14;break i}default:{}}e=(h[l>>2]|0)+(o<<2)|0;h[l>>2]=e;if((e|0)==(a|0)){p=31;break}r=h[n>>2]|0;if((u|0)==(t|0))s=t;else{s=fy(h[k>>2]|0)|0;T=0;r=De(20,e|0,r|0,1,i|0)|0;g=T;T=0;if(g&1){p=38;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=37;break}if(r){b=2;break e}h[l>>2]=(h[l>>2]|0)+4;r=(h[n>>2]|0)+1|0;h[n>>2]=r;r:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(c[s>>0]|0))break r;s=s+1|0;if((s|0)==(t|0)){s=t;break}}}}while(0);e=h[l>>2]|0}if((e|0)==(a|0)|(r|0)==(t|0)){p=47;break e}else u=s}if((p|0)==8){g=Ze(0)|0;Ki(g)}else if((p|0)==9){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}else if((p|0)==14){h[l>>2]=s;i:do{if((r|0)!=(h[n>>2]|0)){e=s;r:while(1){s=fy(h[k>>2]|0)|0;T=0;e=De(20,e|0,r|0,f-r|0,_|0)|0;g=T;T=0;if(g&1){p=19;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=18;break}switch(e|0){case-1:{p=25;break r}case-2:{p=26;break r}case 0:{r=r+1|0;break}default:r=r+e|0}e=(h[l>>2]|0)+4|0;h[l>>2]=e;if((r|0)==(h[n>>2]|0)){w=r;break i}}if((p|0)==18){g=Ze(0)|0;Ki(g)}else if((p|0)==19){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}else if((p|0)==25){h[n>>2]=r;b=2;break e}else if((p|0)==26){h[n>>2]=r;b=1;break e}}else w=r}while(0);h[n>>2]=w;b=(w|0)!=(t|0)&1;break}else if((p|0)==31){r=h[n>>2]|0;p=47;break}else if((p|0)==37){g=Ze(0)|0;Ki(g)}else if((p|0)==38){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}}else p=47}while(0);if((p|0)==47)b=(r|0)!=(t|0)&1;v=m;return b|0}function Vk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=v;v=v+16|0;f=a;h[n>>2]=r;r=fy(h[e+8>>2]|0)|0;T=0;e=Ae(34,f|0,0,i|0)|0;i=T;T=0;if(i&1){f=Ze()|0;if((r|0)!=0?(T=0,ye(75,r|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}si(f|0)}if((r|0)!=0?(T=0,ye(75,r|0)|0,i=T,T=0,i&1):0){i=Ze(0)|0;Ki(i)}switch(e|0){case 0:case-1:{f=2;break}default:{e=e+-1|0;if(e>>>0<=(t-(h[n>>2]|0)|0)>>>0)if(!e)f=0;else while(1){i=c[f>>0]|0;t=h[n>>2]|0;h[n>>2]=t+1;c[t>>0]=i;e=e+-1|0;if(!e){f=0;break}else f=f+1|0}else f=1}}v=a;return f|0}function Gk(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;i=e+8|0;T=0;r=ye(75,h[i>>2]|0)|0;t=T;T=0;do{if(t&1)n=16;else{T=0;t=Ae(35,0,0,4)|0;e=T;T=0;if(e&1){e=Ze(0)|0;if(!r)break;T=0;ye(75,r|0)|0;a=T;T=0;if(!(a&1))break;a=Ze(0)|0;Ki(a)}if((r|0)!=0?(T=0,ye(75,r|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}if(!t){e=h[i>>2]|0;if(e){T=0;e=ye(75,e|0)|0;a=T;T=0;if(a&1){n=16;break}if((e|0)!=0?(T=0,ye(75,e|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}else f=0}else f=1}else f=-1;return f|0}}while(0);if((n|0)==16)e=Ze(0)|0;Ki(e);return 0}function Kk(e){e=e|0;return 0}function Wk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;o=t;s=e+8|0;e:do{if((r|0)==(t|0)|(n|0)==0)e=0;else{e=0;l=0;while(1){a=fy(h[s>>2]|0)|0;T=0;f=Ae(36,r|0,o-r|0,i|0)|0;d=T;T=0;if(d&1){c=a;break}if((a|0)!=0?(T=0,ye(75,a|0)|0,d=T,T=0,d&1):0){u=5;break}switch(f|0){case-2:case-1:break e;case 0:{r=r+1|0;f=1;break}default:r=r+f|0}e=f+e|0;l=l+1|0;if((r|0)==(t|0)|l>>>0>=n>>>0)break e}if((u|0)==5){d=Ze(0)|0;Ki(d)}e=Ze()|0;if((c|0)!=0?(T=0,ye(75,c|0)|0,d=T,T=0,d&1):0){d=Ze(0)|0;Ki(d)}si(e|0)}}while(0);return e|0}function Jk(e){e=e|0;var i=0,r=0;e=h[e+8>>2]|0;if(e){T=0;e=ye(75,e|0)|0;r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}if((e|0)!=0?(T=0,ye(75,e|0)|0,r=T,T=0,r&1):0){r=Ze(0)|0;Ki(r)}else i=4}else i=1;return i|0}function Zk(e){e=e|0;zv(e);return}function Qk(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=tm(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function $k(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=nm(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function ew(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;h[n>>2]=r;return 3}function iw(e){e=e|0;return 0}function rw(e){e=e|0;return 0}function tw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return fm(r,t,n,1114111,0)|0}function nw(e){e=e|0;return 4}function fw(e){e=e|0;zv(e);return}function aw(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=am(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function lw(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=lm(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function sw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;h[n>>2]=r;return 3}function ow(e){e=e|0;return 0}function uw(e){e=e|0;return 0}function cw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return sm(r,t,n,1114111,0)|0}function dw(e){e=e|0;return 4}function hw(e){e=e|0;zv(e);return}function bw(e){e=e|0;zv(e);return}function kw(e,i){e=e|0;i=i|0;h[e+4>>2]=i+-1;h[e>>2]=44384;c[e+8>>0]=46;c[e+9>>0]=44;e=e+12|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function ww(e,i){e=e|0;i=i|0;h[e+4>>2]=i+-1;h[e>>2]=44424;h[e+8>>2]=46;h[e+12>>2]=44;e=e+16|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function _w(e){e=e|0;h[e>>2]=44384;qd(e+12|0);return}function mw(e){e=e|0;_w(e);zv(e);return}function pw(e){e=e|0;h[e>>2]=44424;qd(e+16|0);return}function vw(e){e=e|0;pw(e);zv(e);return}function gw(e){e=e|0;return c[e+8>>0]|0}function yw(e){e=e|0;return h[e+8>>2]|0}function Ew(e){e=e|0;return c[e+9>>0]|0}function Aw(e){e=e|0;return h[e+12>>2]|0}function Mw(e,i){e=e|0;i=i|0;jd(e,i+12|0);return}function Tw(e,i){e=e|0;i=i|0;jd(e,i+16|0);return}function Sw(e,i){e=e|0;i=i|0;Hd(e,59024,4);return}function Pw(e,i){e=e|0;i=i|0;ih(e,44996,nE(44996)|0);return}function Ow(e,i){e=e|0;i=i|0;Hd(e,59029,5);return}function Rw(e,i){e=e|0;i=i|0;ih(e,45016,nE(45016)|0);return}function Lw(e){e=e|0;switch(h[e+4>>2]&74|0){case 64:{e=8;break}case 8:{e=16;break}case 0:{e=0;break}default:e=10}return e|0}function Cw(e){e=e|0;do{if((c[2464]|0)==0?(ze(2464)|0)!=0:0){if((c[2472]|0)==0?(ze(2472)|0)!=0:0){e=45040;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=45208);yi(193,0,M|0)|0;$e(2472)}T=0;Oe(41,45040,59035)|0;e=T;T=0;if(((((((((((((!(e&1)?(T=0,Oe(41,45052,59042)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45064,59049)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45076,59057)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45088,59067)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45100,59076)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45112,59083)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45124,59092)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45136,59096)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45148,59100)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45160,59104)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45172,59108)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45184,59112)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45196,59116)|0,e=T,T=0,!(e&1)):0){h[11302]=45040;$e(2464);break}e=Ze()|0;Ri(2464);si(e|0)}}while(0);return h[11302]|0}function Dw(e){e=e|0;do{if((c[2480]|0)==0?(ze(2480)|0)!=0:0){if((c[2488]|0)==0?(ze(2488)|0)!=0:0){e=45212;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=45380);yi(194,0,M|0)|0;$e(2488)}T=0;Oe(42,45212,45380)|0;e=T;T=0;if(((((((((((((!(e&1)?(T=0,Oe(42,45224,45408)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45236,45436)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45248,45468)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45260,45508)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45272,45544)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45284,45572)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45296,45608)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45308,45624)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45320,45640)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45332,45656)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45344,45672)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45356,45688)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45368,45704)|0,e=T,T=0,!(e&1)):0){h[11430]=45212;$e(2480);break}e=Ze()|0;Ri(2480);si(e|0)}}while(0);return h[11430]|0}function xw(e){e=e|0;e:do{if((c[2496]|0)==0?(ze(2496)|0)!=0:0){if((c[2504]|0)==0?(ze(2504)|0)!=0:0){e=45724;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=46012);yi(195,0,M|0)|0;$e(2504)}T=0;Oe(41,45724,59120)|0;e=T;T=0;do{if((((((((((((((!(e&1)?(T=0,Oe(41,45736,59128)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45748,59137)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45760,59143)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45772,59149)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45784,59153)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45796,59158)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45808,59163)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45820,59170)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45832,59180)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45844,59188)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45856,59197)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45868,59206)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45880,59210)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45892,59214)|0,e=T,T=0,!(e&1)):0){T=0;Oe(41,45904,59218)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45916,59149)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45928,59222)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45940,59226)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45952,59230)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45964,59234)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45976,59238)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45988,59242)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,46e3,59246)|0;e=T;T=0;if(e&1)break;h[11503]=45724;$e(2496);break e}}while(0);e=Ze()|0;Ri(2496);si(e|0)}}while(0);return h[11503]|0}function Iw(e){e=e|0;e:do{if((c[2512]|0)==0?(ze(2512)|0)!=0:0){if((c[2520]|0)==0?(ze(2520)|0)!=0:0){e=46016;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=46304);yi(196,0,M|0)|0;$e(2520)}T=0;Oe(42,46016,46304)|0;e=T;T=0;do{if((((((((((((((!(e&1)?(T=0,Oe(42,46028,46336)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46040,46372)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46052,46396)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46064,46420)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46076,46436)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46088,46456)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46100,46476)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46112,46504)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46124,46544)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46136,46576)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46148,46612)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46160,46648)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46172,46664)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46184,46680)|0,e=T,T=0,!(e&1)):0){T=0;Oe(42,46196,46696)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46208,46420)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46220,46712)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46232,46728)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46244,46744)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46256,46760)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46268,46776)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46280,46792)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46292,46808)|0;e=T;T=0;if(e&1)break;h[11706]=46016;$e(2512);break e}}while(0);e=Ze()|0;Ri(2512);si(e|0)}}while(0);return h[11706]|0}function Bw(e){e=e|0;do{if((c[2528]|0)==0?(ze(2528)|0)!=0:0){if((c[2536]|0)==0?(ze(2536)|0)!=0:0){e=46828;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=47116);yi(197,0,M|0)|0;$e(2536)}T=0;Oe(41,46828,59250)|0;e=T;T=0;if(!(e&1)?(T=0,Oe(41,46840,59253)|0,e=T,T=0,!(e&1)):0){h[11779]=46828;$e(2528);break}e=Ze()|0;Ri(2528);si(e|0)}}while(0);return h[11779]|0}function Nw(e){e=e|0;do{if((c[2544]|0)==0?(ze(2544)|0)!=0:0){if((c[2552]|0)==0?(ze(2552)|0)!=0:0){e=47120;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=47408);yi(198,0,M|0)|0;$e(2552)}T=0;Oe(42,47120,47408)|0;e=T;T=0;if(!(e&1)?(T=0,Oe(42,47132,47420)|0,e=T,T=0,!(e&1)):0){h[11858]=47120;$e(2544);break}e=Ze()|0;Ri(2544);si(e|0)}}while(0);return h[11858]|0}function Fw(e){e=e|0;do{if((c[2560]|0)==0?(ze(2560)|0)!=0:0){T=0;xe(5,47436,59256,8);e=T;T=0;if(e&1){e=Ze()|0;Ri(2560);si(e|0)}else{yi(199,47436,M|0)|0;$e(2560);break}}}while(0);return 47436}function Uw(e){e=e|0;var i=0;do{if((c[2568]|0)==0?(ze(2568)|0)!=0:0){T=0;e=ye(76,47448)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47484,47448,e|0),i=T,T=0,!(i&1)):0){yi(200,47484,M|0)|0;$e(2568);break}i=Ze()|0;Ri(2568);si(i|0)}}while(0);return 47484}function jw(e){e=e|0;do{if((c[2576]|0)==0?(ze(2576)|0)!=0:0){T=0;xe(5,47496,59265,8);e=T;T=0;if(e&1){e=Ze()|0;Ri(2576);si(e|0)}else{yi(199,47496,M|0)|0;$e(2576);break}}}while(0);return 47496}function Hw(e){e=e|0;var i=0;do{if((c[2584]|0)==0?(ze(2584)|0)!=0:0){T=0;e=ye(76,47508)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47544,47508,e|0),i=T,T=0,!(i&1)):0){yi(200,47544,M|0)|0;$e(2584);break}i=Ze()|0;Ri(2584);si(i|0)}}while(0);return 47544}function Yw(e){e=e|0;do{if((c[2592]|0)==0?(ze(2592)|0)!=0:0){T=0;xe(5,47556,59274,20);e=T;T=0;if(e&1){e=Ze()|0;Ri(2592);si(e|0)}else{yi(199,47556,M|0)|0;$e(2592);break}}}while(0);return 47556}function qw(e){e=e|0;var i=0;do{if((c[2600]|0)==0?(ze(2600)|0)!=0:0){T=0;e=ye(76,47568)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47652,47568,e|0),i=T,T=0,!(i&1)):0){yi(200,47652,M|0)|0;$e(2600);break}i=Ze()|0;Ri(2600);si(i|0)}}while(0);return 47652}function Xw(e){e=e|0;do{if((c[2608]|0)==0?(ze(2608)|0)!=0:0){T=0;xe(5,47664,59295,11);e=T;T=0;if(e&1){e=Ze()|0;Ri(2608);si(e|0)}else{yi(199,47664,M|0)|0;$e(2608);break}}}while(0);return 47664}function zw(e){e=e|0;var i=0;do{if((c[2616]|0)==0?(ze(2616)|0)!=0:0){T=0;e=ye(76,47676)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47724,47676,e|0),i=T,T=0,!(i&1)):0){yi(200,47724,M|0)|0;$e(2616);break}i=Ze()|0;Ri(2616);si(i|0)}}while(0);return 47724}function Vw(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=44304;e=e+8|0;i=h[e>>2]|0;T=0;r=Ce(3)|0;t=T;T=0;do{if(!(t&1)){if((i|0)!=(r|0)?(T=0,pe(188,h[e>>2]|0),t=T,T=0,t&1):0)break;return}}while(0);t=Ze(0)|0;Ki(t)}function Gw(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+112|0;s=A;u=(t-r|0)/12|0;do{if(u>>>0>100){s=jc(u)|0;if((s|0)==0?(T=0,Ie(6),E=T,T=0,E&1):0){l=0;w=6;break}l=s;w=11}else{l=0;w=11}}while(0);e:do{if((w|0)==11){if((r|0)==(t|0))o=0;else{w=r;d=0;k=s;while(1){o=c[w>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=h[w+4>>2]|0;if(!o){c[k>>0]=2;o=d+1|0;u=u+-1|0}else{c[k>>0]=1;o=d}w=w+12|0;if((w|0)==(t|0))break;else{d=o;k=k+1|0}}}y=(r|0)==(t|0);E=(r|0)==(t|0);g=0;_=o;i:while(1){o=h[e>>2]|0;do{if(o){if((h[o+12>>2]|0)==(h[o+16>>2]|0)){T=0;o=ye(h[(h[o>>2]|0)+36>>2]|0,o|0)|0;p=T;T=0;if(p&1){w=5;break i}if((o|0)==-1){h[e>>2]=0;o=0;break}else{o=h[e>>2]|0;break}}}else o=0}while(0);w=(o|0)==0;d=h[i>>2]|0;if(d){if((h[d+12>>2]|0)==(h[d+16>>2]|0)){T=0;o=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;p=T;T=0;if(p&1){w=5;break}if((o|0)==-1){h[i>>2]=0;d=0}}}else d=0;k=(d|0)==0;o=h[e>>2]|0;if(!((u|0)!=0&(w^k))){w=64;break}d=h[o+12>>2]|0;if((d|0)==(h[o+16>>2]|0)){T=0;o=ye(h[(h[o>>2]|0)+36>>2]|0,o|0)|0;p=T;T=0;if(p&1){w=5;break}}else o=b[d>>0]|0;o=o&255;if(!a){T=0;o=Oe(h[(h[n>>2]|0)+12>>2]|0,n|0,o|0)|0;p=T;T=0;if(p&1){w=5;break}}p=g+1|0;if(y){o=0;w=_}else{k=0;m=r;w=_;_=s;while(1){do{if((c[_>>0]|0)==1){if(!(c[m>>0]&1))d=m+1|0;else d=h[m+8>>2]|0;d=c[d+g>>0]|0;if(!a){T=0;d=Oe(h[(h[n>>2]|0)+12>>2]|0,n|0,d|0)|0;M=T;T=0;if(M&1){w=4;break i}}if(o<<24>>24!=d<<24>>24){c[_>>0]=0;d=k;u=u+-1|0;break}d=c[m>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[m+4>>2]|0;if((d|0)==(p|0)){c[_>>0]=2;d=1;w=w+1|0;u=u+-1|0}else d=1}else d=k}while(0);m=m+12|0;if((m|0)==(t|0)){o=d;break}else{k=d;_=_+1|0}}}if(!o){g=p;_=w;continue}o=h[e>>2]|0;d=o+12|0;k=h[d>>2]|0;if((k|0)==(h[o+16>>2]|0)){T=0;ye(h[(h[o>>2]|0)+40>>2]|0,o|0)|0;M=T;T=0;if(M&1){w=5;break}}else h[d>>2]=k+1;if((w+u|0)>>>0<2|E){g=p;_=w;continue}else{o=r;k=w;w=s}while(1){if((c[w>>0]|0)==2){d=c[o>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[o+4>>2]|0;if((d|0)!=(p|0)){c[w>>0]=0;k=k+-1|0}}o=o+12|0;if((o|0)==(t|0)){g=p;_=k;continue i}else w=w+1|0}}if((w|0)==4){r=Ze()|0;break}else if((w|0)==5){r=Ze()|0;break}else if((w|0)==64){do{if(o){if((h[o+12>>2]|0)==(h[o+16>>2]|0)){T=0;o=ye(h[(h[o>>2]|0)+36>>2]|0,o|0)|0;M=T;T=0;if(M&1){w=6;break e}if((o|0)==-1){h[e>>2]=0;o=0;break}else{o=h[e>>2]|0;break}}}else o=0}while(0);u=(o|0)==0;do{if(!k){if((h[d+12>>2]|0)==(h[d+16>>2]|0)){T=0;o=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;M=T;T=0;if(M&1){w=6;break e}if((o|0)==-1){h[i>>2]=0;w=76;break}}if(!u)w=77}else w=76}while(0);if((w|0)==76?u:0)w=77;if((w|0)==77)h[f>>2]=h[f>>2]|2;i:do{if((r|0)==(t|0))w=81;else while(1){if((c[s>>0]|0)==2)break i;r=r+12|0;if((r|0)==(t|0)){w=81;break}else s=s+1|0}}while(0);if((w|0)==81){h[f>>2]=h[f>>2]|4;r=t}if(l)Hc(l);v=A;return r|0}}}while(0);if((w|0)==6)r=Ze()|0;if(l)Hc(l);si(r|0);return 0}function Kw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(l){a=0;break}else a=0}l=c[S>>0]|0;l=(l&1)==0?(l&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+l|0)){T=0;xe(8,S|0,l<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else l=b[l>>0]|0;if(ik(l&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(21,t|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){h[f>>2]=t;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function Ww(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;a=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(a)break;else break i;T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(a)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(a){l=0;break}else l=0}a=c[S>>0]|0;a=(a&1)==0?(a&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+a|0)){T=0;xe(8,S|0,a<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+a}s=e+12|0;a=h[s>>2]|0;o=e+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else a=b[a>>0]|0;if(ik(a&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(22,t|0,h[p>>2]|0,n|0,m|0)|0;a=H;R=T;T=0;if(!(R&1)){R=f;h[R>>2]=t;h[R+4>>2]=a;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function Jw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0;S=v;v=v+240|0;m=S+202|0;a=S+200|0;O=S+24|0;P=S+12|0;g=S+8|0;A=S+40|0;M=S+4|0;y=S;p=Lw(t)|0;_k(O,t,m,a);h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;if(!(c[P>>0]&1))e=10;else e=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,e|0,0);_=T;T=0;e:do{if(!(_&1)){k=P+8|0;w=P+1|0;t=(c[P>>0]&1)==0?w:h[k>>2]|0;h[g>>2]=t;h[M>>2]=A;h[y>>2]=0;_=P+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){R=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){R=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(l){a=0;break}else a=0}l=c[P>>0]|0;l=(l&1)==0?(l&255)>>>1:h[_>>2]|0;if((h[g>>2]|0)==(t+l|0)){T=0;xe(8,P|0,l<<1|0,0);o=T;T=0;if(o&1){R=24;break}if(!(c[P>>0]&1))t=10;else t=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,t|0,0);o=T;T=0;if(o&1){R=24;break}t=(c[P>>0]&1)==0?w:h[k>>2]|0;h[g>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;L=T;T=0;if(L&1){R=24;break}}else l=b[l>>0]|0;if(ik(l&255,p,t,g,y,u,O,A,M,m)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;L=T;T=0;if(L&1){R=24;break}else continue}else{h[s>>2]=a+1;continue}}if((R|0)==24){e=Ze()|0;break}L=c[O>>0]|0;if((((L&1)==0?(L&255)>>>1:h[O+4>>2]|0)|0)!=0?(E=h[M>>2]|0,(E-A|0)<160):0){L=h[y>>2]|0;h[M>>2]=E+4;h[E>>2]=L}T=0;t=De(23,t|0,h[g>>2]|0,n|0,p|0)|0;L=T;T=0;if(!(L&1)){d[f>>1]=t;nu(O,A,h[M>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;L=T;T=0;if(L&1){R=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;L=T;T=0;if(L&1){R=25;break e}if((e|0)==-1){h[r>>2]=0;R=49;break}}if(!t)R=50}else R=49}while(0);if((R|0)==49?t:0)R=50;if((R|0)==50)h[n>>2]=h[n>>2]|2;L=h[i>>2]|0;qd(P);qd(O);v=S;return L|0}else R=25}else R=25}while(0);if((R|0)==25)e=Ze()|0;qd(P);qd(O);si(e|0);return 0}function Zw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(l){a=0;break}else a=0}l=c[S>>0]|0;l=(l&1)==0?(l&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+l|0)){T=0;xe(8,S|0,l<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else l=b[l>>0]|0;if(ik(l&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(24,t|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){h[f>>2]=t;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function Qw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(l){a=0;break}else a=0}l=c[S>>0]|0;l=(l&1)==0?(l&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+l|0)){T=0;xe(8,S|0,l<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else l=b[l>>0]|0;if(ik(l&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(25,t|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){h[f>>2]=t;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function $w(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;a=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(a)break;else break i;T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(a)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(a){l=0;break}else l=0}a=c[S>>0]|0;a=(a&1)==0?(a&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+a|0)){T=0;xe(8,S|0,a<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+a}s=e+12|0;a=h[s>>2]|0;o=e+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else a=b[a>>0]|0;if(ik(a&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(26,t|0,h[p>>2]|0,n|0,m|0)|0;a=H;R=T;T=0;if(!(R&1)){R=f;h[R>>2]=t;h[R+4>>2]=a;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function e_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;R=v;v=v+240|0;g=R+208|0;l=R+203|0;s=R+202|0;C=R+24|0;L=R+12|0;E=R+8|0;P=R+40|0;O=R+4|0;A=R;M=R+201|0;y=R+200|0;mk(C,t,g,l,s);h[L>>2]=0;h[L+4>>2]=0;h[L+8>>2]=0;if(!(c[L>>0]&1))e=10;else e=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,e|0,0);p=T;T=0;e:do{if(!(p&1)){w=L+8|0;m=L+1|0;t=(c[L>>0]&1)==0?m:h[w>>2]|0;h[E>>2]=t;h[O>>2]=P;h[A>>2]=0;c[M>>0]=1;c[y>>0]=69;p=L+4|0;k=c[l>>0]|0;d=c[s>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;u=T;T=0;if(u&1){D=24;break}if((l|0)==-1){h[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(s)break;else break i;T=0;o=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){D=24;break i}if((o|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(s){l=0;break}else l=0}s=c[L>>0]|0;s=(s&1)==0?(s&255)>>>1:h[p>>2]|0;if((h[E>>2]|0)==(t+s|0)){T=0;xe(8,L|0,s<<1|0,0);u=T;T=0;if(u&1){D=24;break}if(!(c[L>>0]&1))t=10;else t=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,t|0,0);u=T;T=0;if(u&1){D=24;break}t=(c[L>>0]&1)==0?m:h[w>>2]|0;h[E>>2]=t+s}o=e+12|0;s=h[o>>2]|0;u=e+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}}else s=b[s>>0]|0;if(pk(s&255,M,y,t,E,k,d,C,P,O,A,g)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}else continue}else{h[o>>2]=l+1;continue}}if((D|0)==24){e=Ze()|0;break}x=c[C>>0]|0;if(!((c[M>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:h[C+4>>2]|0)|0)==0)?(S=h[O>>2]|0,(S-P|0)<160):0){x=h[A>>2]|0;h[O>>2]=S+4;h[S>>2]=x}T=0;a=+Le(1,t|0,h[E>>2]|0,n|0);x=T;T=0;if(!(x&1)){_[f>>2]=a;nu(C,P,h[O>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;x=T;T=0;if(x&1){D=25;break e}if((e|0)==-1){h[r>>2]=0;D=49;break}}if(!t)D=50}else D=49}while(0);if((D|0)==49?t:0)D=50;if((D|0)==50)h[n>>2]=h[n>>2]|2;x=h[i>>2]|0;qd(L);qd(C);v=R;return x|0}else D=25}else D=25}while(0);if((D|0)==25)e=Ze()|0;qd(L);qd(C);si(e|0);return 0}function i_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;R=v;v=v+240|0;g=R+208|0;l=R+203|0;s=R+202|0;C=R+24|0;L=R+12|0;E=R+8|0;P=R+40|0;O=R+4|0;A=R;M=R+201|0;y=R+200|0;mk(C,t,g,l,s);h[L>>2]=0;h[L+4>>2]=0;h[L+8>>2]=0;if(!(c[L>>0]&1))e=10;else e=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,e|0,0);p=T;T=0;e:do{if(!(p&1)){w=L+8|0;_=L+1|0;t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t;h[O>>2]=P;h[A>>2]=0;c[M>>0]=1;c[y>>0]=69;p=L+4|0;k=c[l>>0]|0;d=c[s>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;u=T;T=0;if(u&1){D=24;break}if((l|0)==-1){h[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(s)break;else break i;T=0;o=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){D=24;break i}if((o|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(s){l=0;break}else l=0}s=c[L>>0]|0;s=(s&1)==0?(s&255)>>>1:h[p>>2]|0;if((h[E>>2]|0)==(t+s|0)){T=0;xe(8,L|0,s<<1|0,0);u=T;T=0;if(u&1){D=24;break}if(!(c[L>>0]&1))t=10;else t=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,t|0,0);u=T;T=0;if(u&1){D=24;break}t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t+s}o=e+12|0;s=h[o>>2]|0;u=e+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}}else s=b[s>>0]|0;if(pk(s&255,M,y,t,E,k,d,C,P,O,A,g)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}else continue}else{h[o>>2]=l+1;continue}}if((D|0)==24){e=Ze()|0;break}x=c[C>>0]|0;if(!((c[M>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:h[C+4>>2]|0)|0)==0)?(S=h[O>>2]|0,(S-P|0)<160):0){x=h[A>>2]|0;h[O>>2]=S+4;h[S>>2]=x}T=0;a=+Le(2,t|0,h[E>>2]|0,n|0);x=T;T=0;if(!(x&1)){m[f>>3]=a;nu(C,P,h[O>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;x=T;T=0;if(x&1){D=25;break e}if((e|0)==-1){h[r>>2]=0;D=49;break}}if(!t)D=50}else D=49}while(0);if((D|0)==49?t:0)D=50;if((D|0)==50)h[n>>2]=h[n>>2]|2;x=h[i>>2]|0;qd(L);qd(C);v=R;return x|0}else D=25}else D=25}while(0);if((D|0)==25)e=Ze()|0;qd(L);qd(C);si(e|0);return 0}function r_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;R=v;v=v+240|0;g=R+208|0;l=R+203|0;s=R+202|0;C=R+24|0;L=R+12|0;E=R+8|0;P=R+40|0;O=R+4|0;A=R;M=R+201|0;y=R+200|0;mk(C,t,g,l,s);h[L>>2]=0;h[L+4>>2]=0;h[L+8>>2]=0;if(!(c[L>>0]&1))e=10;else e=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,e|0,0);p=T;T=0;e:do{if(!(p&1)){w=L+8|0;_=L+1|0;t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t;h[O>>2]=P;h[A>>2]=0;c[M>>0]=1;c[y>>0]=69;p=L+4|0;k=c[l>>0]|0;d=c[s>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;u=T;T=0;if(u&1){D=24;break}if((l|0)==-1){h[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(s)break;else break i;T=0;o=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){D=24;break i}if((o|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(s){l=0;break}else l=0}s=c[L>>0]|0;s=(s&1)==0?(s&255)>>>1:h[p>>2]|0;if((h[E>>2]|0)==(t+s|0)){T=0;xe(8,L|0,s<<1|0,0);u=T;T=0;if(u&1){D=24;break}if(!(c[L>>0]&1))t=10;else t=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,t|0,0);u=T;T=0;if(u&1){D=24;break}t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t+s}o=e+12|0;s=h[o>>2]|0;u=e+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}}else s=b[s>>0]|0;if(pk(s&255,M,y,t,E,k,d,C,P,O,A,g)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}else continue}else{h[o>>2]=l+1;continue}}if((D|0)==24){e=Ze()|0;break}x=c[C>>0]|0;if(!((c[M>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:h[C+4>>2]|0)|0)==0)?(S=h[O>>2]|0,(S-P|0)<160):0){x=h[A>>2]|0;h[O>>2]=S+4;h[S>>2]=x}T=0;a=+Le(3,t|0,h[E>>2]|0,n|0);x=T;T=0;if(!(x&1)){m[f>>3]=a;nu(C,P,h[O>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;x=T;T=0;if(x&1){D=25;break e}if((e|0)==-1){h[r>>2]=0;D=49;break}}if(!t)D=50}else D=49}while(0);if((D|0)==49?t:0)D=50;if((D|0)==50)h[n>>2]=h[n>>2]|2;x=h[i>>2]|0;qd(L);qd(C);v=R;return x|0}else D=25}else D=25}while(0);if((D|0)==25)e=Ze()|0;qd(L);qd(C);si(e|0);return 0}function t_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=v;v=v+16|0;f=n;h[f>>2]=t;t=fy(i)|0;i=Ky(e,r,f)|0;if((t|0)!=0?(T=0,ye(75,t|0)|0,f=T,T=0,f&1):0){f=Ze(0)|0;Ki(f)}v=n;return i|0}function n_(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;E=v;v=v+112|0;s=E;u=(t-r|0)/12|0;do{if(u>>>0>100){s=jc(u)|0;if((s|0)==0?(T=0,Ie(6),y=T,T=0,y&1):0){l=0;b=6;break}l=s;b=11}else{l=0;b=11}}while(0);e:do{if((b|0)==11){if((r|0)==(t|0))o=0;else{k=r;d=0;b=s;while(1){o=c[k>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=h[k+4>>2]|0;if(!o){c[b>>0]=2;o=d+1|0;u=u+-1|0}else{c[b>>0]=1;o=d}k=k+12|0;if((k|0)==(t|0))break;else{d=o;b=b+1|0}}}g=(r|0)==(t|0);y=(r|0)==(t|0);p=0;w=u;i:while(1){u=h[e>>2]|0;do{if(u){d=h[u+12>>2]|0;if((d|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;m=T;T=0;if(m&1){b=5;break i}}else u=h[d>>2]|0;if((u|0)==-1){h[e>>2]=0;k=1;break}else{k=(h[e>>2]|0)==0;break}}else k=1}while(0);d=h[i>>2]|0;if(d){u=h[d+12>>2]|0;if((u|0)==(h[d+16>>2]|0)){T=0;u=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;m=T;T=0;if(m&1){b=5;break}}else u=h[u>>2]|0;if((u|0)==-1){h[i>>2]=0;d=0;b=1}else b=0}else{d=0;b=1}u=h[e>>2]|0;if(!((w|0)!=0&(k^b))){b=66;break}d=h[u+12>>2]|0;if((d|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;m=T;T=0;if(m&1){b=5;break}}else u=h[d>>2]|0;if(!a){T=0;u=Oe(h[(h[n>>2]|0)+28>>2]|0,n|0,u|0)|0;m=T;T=0;if(m&1){b=5;break}}m=p+1|0;if(g){u=0;k=w}else{k=0;_=r;b=w;w=s;while(1){do{if((c[w>>0]|0)==1){if(!(c[_>>0]&1))d=_+4|0;else d=h[_+8>>2]|0;d=h[d+(p<<2)>>2]|0;if(!a){T=0;d=Oe(h[(h[n>>2]|0)+28>>2]|0,n|0,d|0)|0;A=T;T=0;if(A&1){b=4;break i}}if((u|0)!=(d|0)){c[w>>0]=0;d=k;b=b+-1|0;break}d=c[_>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[_+4>>2]|0;if((d|0)==(m|0)){c[w>>0]=2;d=1;o=o+1|0;b=b+-1|0}else d=1}else d=k}while(0);_=_+12|0;if((_|0)==(t|0)){u=d;k=b;break}else{k=d;w=w+1|0}}}if(!u){p=m;w=k;continue}u=h[e>>2]|0;d=u+12|0;b=h[d>>2]|0;if((b|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;A=T;T=0;if(A&1){b=5;break}}else h[d>>2]=b+4;if((o+k|0)>>>0<2|y){p=m;w=k;continue}else{u=r;b=s}while(1){if((c[b>>0]|0)==2){d=c[u>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[u+4>>2]|0;if((d|0)!=(m|0)){c[b>>0]=0;o=o+-1|0}}u=u+12|0;if((u|0)==(t|0)){p=m;w=k;continue i}else b=b+1|0}}if((b|0)==4){r=Ze()|0;break}else if((b|0)==5){r=Ze()|0;break}else if((b|0)==66){do{if(u){o=h[u+12>>2]|0;if((o|0)==(h[u+16>>2]|0)){T=0;o=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;A=T;T=0;if(A&1){b=6;break e}}else o=h[o>>2]|0;if((o|0)==-1){h[e>>2]=0;u=1;break}else{u=(h[e>>2]|0)==0;break}}else u=1}while(0);do{if(d){o=h[d+12>>2]|0;if((o|0)==(h[d+16>>2]|0)){T=0;o=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;A=T;T=0;if(A&1){b=6;break e}}else o=h[o>>2]|0;if((o|0)!=-1)if(u)break;else{b=81;break}else{h[i>>2]=0;b=79;break}}else b=79}while(0);if((b|0)==79?u:0)b=81;if((b|0)==81)h[f>>2]=h[f>>2]|2;i:do{if((r|0)==(t|0))b=85;else while(1){if((c[s>>0]|0)==2)break i;r=r+12|0;if((r|0)==(t|0)){b=85;break}else s=s+1|0}}while(0);if((b|0)==85){h[f>>2]=h[f>>2]|4;r=t}if(l)Hc(l);v=E;return r|0}}}while(0);if((b|0)==6)r=Ze()|0;if(l)Hc(l);si(r|0);return 0}function f_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){P=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(l){a=0;break}else s=0}a=c[M>>0]|0;a=(a&1)==0?(a&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+a|0)){T=0;xe(8,M|0,a<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}}else a=h[a>>2]|0;if(wk(a,_,e,m,p,u,S,y,E,w)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(21,e|0,h[m>>2]|0,n|0,_|0)|0;O=T;T=0;if(!(O&1)){h[f>>2]=e;nu(S,y,h[E>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function a_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;a=0;s=1}else s=0}else{a=0;s=1}l=h[r>>2]|0;do{if(l){t=h[l+12>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;t=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){P=25;break i}}else t=h[t>>2]|0;if((t|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(s){l=0;break}else l=0}t=c[M>>0]|0;t=(t&1)==0?(t&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+t|0)){T=0;xe(8,M|0,t<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+t}s=a+12|0;t=h[s>>2]|0;o=a+16|0;if((t|0)==(h[o>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}}else t=h[t>>2]|0;if(wk(t,_,e,m,p,u,S,y,E,w)|0)break;t=h[s>>2]|0;if((t|0)==(h[o>>2]|0)){T=0;ye(h[(h[a>>2]|0)+40>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}else continue}else{h[s>>2]=t+4;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(22,e|0,h[m>>2]|0,n|0,_|0)|0;t=H;O=T;T=0;if(!(O&1)){O=f;h[O>>2]=e;h[O+4>>2]=t;nu(S,y,h[E>>2]|0,n);if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function l_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+320|0;_=M+208|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;vk(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){b=S+8|0;k=S+1|0;e=(c[S>>0]&1)==0?k:h[b>>2]|0;h[p>>2]=e;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){O=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;O=17;break}}else O=17}while(0);if((O|0)==17){O=0;if(l){a=0;break}else s=0}a=c[S>>0]|0;a=(a&1)==0?(a&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(e+a|0)){T=0;xe(8,S|0,a<<1|0,0);o=T;T=0;if(o&1){O=25;break}if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);o=T;T=0;if(o&1){O=25;break}e=(c[S>>0]&1)==0?k:h[b>>2]|0;h[p>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;R=T;T=0;if(R&1){O=25;break}}else a=h[a>>2]|0;if(wk(a,m,e,p,g,u,P,E,A,_)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;R=T;T=0;if(R&1){O=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((O|0)==25){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;e=De(23,e|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){d[f>>1]=e;nu(P,E,h[A>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;R=T;T=0;if(R&1){O=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{O=53;break}else{h[r>>2]=0;O=51;break}}else O=51}while(0);if((O|0)==51?t:0)O=53;if((O|0)==53)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=26}else O=26}while(0);if((O|0)==26)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function s_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){P=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(l){a=0;break}else s=0}a=c[M>>0]|0;a=(a&1)==0?(a&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+a|0)){T=0;xe(8,M|0,a<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}}else a=h[a>>2]|0;if(wk(a,_,e,m,p,u,S,y,E,w)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(24,e|0,h[m>>2]|0,n|0,_|0)|0;O=T;T=0;if(!(O&1)){h[f>>2]=e;nu(S,y,h[E>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function o_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){P=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(l){a=0;break}else s=0}a=c[M>>0]|0;a=(a&1)==0?(a&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+a|0)){T=0;xe(8,M|0,a<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}}else a=h[a>>2]|0;if(wk(a,_,e,m,p,u,S,y,E,w)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(25,e|0,h[m>>2]|0,n|0,_|0)|0;O=T;T=0;if(!(O&1)){h[f>>2]=e;nu(S,y,h[E>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function u_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;a=0;s=1}else s=0}else{a=0;s=1}l=h[r>>2]|0;do{if(l){t=h[l+12>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;t=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){P=25;break i}}else t=h[t>>2]|0;if((t|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(s){l=0;break}else l=0}t=c[M>>0]|0;t=(t&1)==0?(t&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+t|0)){T=0;xe(8,M|0,t<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+t}s=a+12|0;t=h[s>>2]|0;o=a+16|0;if((t|0)==(h[o>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}}else t=h[t>>2]|0;if(wk(t,_,e,m,p,u,S,y,E,w)|0)break;t=h[s>>2]|0;if((t|0)==(h[o>>2]|0)){T=0;ye(h[(h[a>>2]|0)+40>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}else continue}else{h[s>>2]=t+4;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(26,e|0,h[m>>2]|0,n|0,_|0)|0;t=H;O=T;T=0;if(!(O&1)){O=f;h[O>>2]=e;h[O+4>>2]=t;nu(S,y,h[E>>2]|0,n);if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function c_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;O=v;v=v+352|0;p=O+208|0;l=O+40|0;s=O+36|0;L=O+24|0;R=O+12|0;y=O+8|0;S=O+48|0;P=O+4|0;E=O;A=O+337|0;g=O+336|0;gk(L,t,p,l,s);h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);m=T;T=0;e:do{if(!(m&1)){k=R+8|0;w=R+1|0;e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e;h[P>>2]=S;h[E>>2]=0;c[A>>0]=1;c[g>>0]=69;m=R+4|0;b=h[l>>2]|0;d=h[s>>2]|0;t=h[i>>2]|0;i:while(1){if(t){l=h[t+12>>2]|0;if((l|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;u=T;T=0;if(u&1){C=25;break}}else l=h[l>>2]|0;if((l|0)==-1){h[i>>2]=0;t=0;o=1}else o=0}else{t=0;o=1}l=h[r>>2]|0;do{if(l){s=h[l+12>>2]|0;if((s|0)==(h[l+16>>2]|0)){T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){C=25;break i}}else s=h[s>>2]|0;if((s|0)!=-1)if(o)break;else break i;else{h[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else l=0}s=c[R>>0]|0;s=(s&1)==0?(s&255)>>>1:h[m>>2]|0;if((h[y>>2]|0)==(e+s|0)){T=0;xe(8,R|0,s<<1|0,0);u=T;T=0;if(u&1){C=25;break}if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);u=T;T=0;if(u&1){C=25;break}e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e+s}o=t+12|0;s=h[o>>2]|0;u=t+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}}else s=h[s>>2]|0;if(yk(s,A,g,e,y,b,d,L,S,P,E,p)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}else continue}else{h[o>>2]=l+4;continue}}if((C|0)==25){e=Ze()|0;break}D=c[L>>0]|0;if(!((c[A>>0]|0)==0?1:(((D&1)==0?(D&255)>>>1:h[L+4>>2]|0)|0)==0)?(M=h[P>>2]|0,(M-S|0)<160):0){D=h[E>>2]|0;h[P>>2]=M+4;h[M>>2]=D}T=0;a=+Le(1,e|0,h[y>>2]|0,n|0);D=T;T=0;if(!(D&1)){_[f>>2]=a;nu(L,S,h[P>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;D=T;T=0;if(D&1){C=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{C=53;break}else{h[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?t:0)C=53;if((C|0)==53)h[n>>2]=h[n>>2]|2;D=h[i>>2]|0;qd(R);qd(L);v=O;return D|0}else C=26}else C=26}while(0);if((C|0)==26)e=Ze()|0;qd(R);qd(L);si(e|0);return 0}function d_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;O=v;v=v+352|0;p=O+208|0;l=O+40|0;s=O+36|0;L=O+24|0;R=O+12|0;y=O+8|0;S=O+48|0;P=O+4|0;E=O;A=O+337|0;g=O+336|0;gk(L,t,p,l,s);h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);_=T;T=0;e:do{if(!(_&1)){k=R+8|0;w=R+1|0;e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e;h[P>>2]=S;h[E>>2]=0;c[A>>0]=1;c[g>>0]=69;_=R+4|0;b=h[l>>2]|0;d=h[s>>2]|0;t=h[i>>2]|0;i:while(1){if(t){l=h[t+12>>2]|0;if((l|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;u=T;T=0;if(u&1){C=25;break}}else l=h[l>>2]|0;if((l|0)==-1){h[i>>2]=0;t=0;o=1}else o=0}else{t=0;o=1}l=h[r>>2]|0;do{if(l){s=h[l+12>>2]|0;if((s|0)==(h[l+16>>2]|0)){T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){C=25;break i}}else s=h[s>>2]|0;if((s|0)!=-1)if(o)break;else break i;else{h[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else l=0}s=c[R>>0]|0;s=(s&1)==0?(s&255)>>>1:h[_>>2]|0;if((h[y>>2]|0)==(e+s|0)){T=0;xe(8,R|0,s<<1|0,0);u=T;T=0;if(u&1){C=25;break}if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);u=T;T=0;if(u&1){C=25;break}e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e+s}o=t+12|0;s=h[o>>2]|0;u=t+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}}else s=h[s>>2]|0;if(yk(s,A,g,e,y,b,d,L,S,P,E,p)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}else continue}else{h[o>>2]=l+4;continue}}if((C|0)==25){e=Ze()|0;break}D=c[L>>0]|0;if(!((c[A>>0]|0)==0?1:(((D&1)==0?(D&255)>>>1:h[L+4>>2]|0)|0)==0)?(M=h[P>>2]|0,(M-S|0)<160):0){D=h[E>>2]|0;h[P>>2]=M+4;h[M>>2]=D}T=0;a=+Le(2,e|0,h[y>>2]|0,n|0);D=T;T=0;if(!(D&1)){m[f>>3]=a;nu(L,S,h[P>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;D=T;T=0;if(D&1){C=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{C=53;break}else{h[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?t:0)C=53;if((C|0)==53)h[n>>2]=h[n>>2]|2;D=h[i>>2]|0;qd(R);qd(L);v=O;return D|0}else C=26}else C=26}while(0);if((C|0)==26)e=Ze()|0;qd(R);qd(L);si(e|0);return 0}function h_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;O=v;v=v+352|0;p=O+208|0;l=O+40|0;s=O+36|0;L=O+24|0;R=O+12|0;y=O+8|0;S=O+48|0;P=O+4|0;E=O;A=O+337|0;g=O+336|0;gk(L,t,p,l,s);h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);_=T;T=0;e:do{if(!(_&1)){k=R+8|0;w=R+1|0;e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e;h[P>>2]=S;h[E>>2]=0;c[A>>0]=1;c[g>>0]=69;_=R+4|0;b=h[l>>2]|0;d=h[s>>2]|0;t=h[i>>2]|0;i:while(1){if(t){l=h[t+12>>2]|0;if((l|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;u=T;T=0;if(u&1){C=25;break}}else l=h[l>>2]|0;if((l|0)==-1){h[i>>2]=0;t=0;o=1}else o=0}else{t=0;o=1}l=h[r>>2]|0;do{if(l){s=h[l+12>>2]|0;if((s|0)==(h[l+16>>2]|0)){T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){C=25;break i}}else s=h[s>>2]|0;if((s|0)!=-1)if(o)break;else break i;else{h[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else l=0}s=c[R>>0]|0;s=(s&1)==0?(s&255)>>>1:h[_>>2]|0;if((h[y>>2]|0)==(e+s|0)){T=0;xe(8,R|0,s<<1|0,0);u=T;T=0;if(u&1){C=25;break}if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);u=T;T=0;if(u&1){C=25;break}e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e+s}o=t+12|0;s=h[o>>2]|0;u=t+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}}else s=h[s>>2]|0;if(yk(s,A,g,e,y,b,d,L,S,P,E,p)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}else continue}else{h[o>>2]=l+4;continue}}if((C|0)==25){e=Ze()|0;break}D=c[L>>0]|0;if(!((c[A>>0]|0)==0?1:(((D&1)==0?(D&255)>>>1:h[L+4>>2]|0)|0)==0)?(M=h[P>>2]|0,(M-S|0)<160):0){D=h[E>>2]|0;h[P>>2]=M+4;h[M>>2]=D}T=0;a=+Le(3,e|0,h[y>>2]|0,n|0);D=T;T=0;if(!(D&1)){m[f>>3]=a;nu(L,S,h[P>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;D=T;T=0;if(D&1){C=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{C=53;break}else{h[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?t:0)C=53;if((C|0)==53)h[n>>2]=h[n>>2]|2;D=h[i>>2]|0;qd(R);qd(L);v=O;return D|0}else C=26}else C=26}while(0);if((C|0)==26)e=Ze()|0;qd(R);qd(L);si(e|0);return 0}function b_(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;f=v;v=v+16|0;a=f;h[a>>2]=n;n=fy(r)|0;r=Gy(e,i,t,a)|0;if((n|0)!=0?(T=0,ye(75,n|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}v=f;return r|0}function k_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=v;v=v+16|0;f=n;h[f>>2]=t;t=fy(i)|0;T=0;i=Ae(37,e|0,r|0,f|0)|0;e=T;T=0;if(e&1){i=Ze()|0;if((t|0)!=0?(T=0,ye(75,t|0)|0,f=T,T=0,f&1):0){f=Ze(0)|0;Ki(f)}si(i|0)}else{if((t|0)!=0?(T=0,ye(75,t|0)|0,f=T,T=0,f&1):0){f=Ze(0)|0;Ki(f)}v=n;return i|0}return 0}function w_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0;d=v;v=v+16|0;u=d;a=h[e>>2]|0;e:do{if(!a)a=0;else{b=i;s=t-b>>2;o=n+12|0;l=h[o>>2]|0;s=(l|0)>(s|0)?l-s|0:0;l=r;b=l-b|0;n=b>>2;if((b|0)>0?(vE[h[(h[a>>2]|0)+48>>2]&63](a,i,n)|0)!=(n|0):0){h[e>>2]=0;a=0;break}do{if((s|0)>0){rh(u,s,f);T=0;n=Ae(h[(h[a>>2]|0)+48>>2]|0,a|0,((c[u>>0]&1)==0?u+4|0:h[u+8>>2]|0)|0,s|0)|0;b=T;T=0;if(b&1){b=Ze()|0;th(u);si(b|0)}if((n|0)==(s|0)){th(u);break}else{h[e>>2]=0;th(u);a=0;break e}}}while(0);b=t-l|0;t=b>>2;if((b|0)>0?(vE[h[(h[a>>2]|0)+48>>2]&63](a,r,t)|0)!=(t|0):0){h[e>>2]=0;a=0;break}h[o>>2]=0}}while(0);v=d;return a|0}function __(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,k=0,w=0,_=0;f=h[e>>2]|0;do{if(f){if((h[f+12>>2]|0)==(h[f+16>>2]|0))if((mE[h[(h[f>>2]|0)+36>>2]&127](f)|0)==-1){h[e>>2]=0;f=0;break}else{f=h[e>>2]|0;break}}else f=0}while(0);a=(f|0)==0;f=h[i>>2]|0;do{if(f){if((h[f+12>>2]|0)==(h[f+16>>2]|0)?(mE[h[(h[f>>2]|0)+36>>2]&127](f)|0)==-1:0){h[i>>2]=0;_=11;break}if(a)_=13;else _=12}else _=11}while(0);if((_|0)==11)if(a)_=12;else{f=0;_=13}e:do{if((_|0)==12){h[r>>2]=h[r>>2]|6;f=0}else if((_|0)==13){a=h[e>>2]|0;l=h[a+12>>2]|0;if((l|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=b[l>>0]|0;l=a&255;if(l<<24>>24>-1?(w=t+8|0,(d[(h[w>>2]|0)+(a<<24>>24<<1)>>1]&2048)!=0):0){o=(vE[h[(h[t>>2]|0)+36>>2]&63](t,l,0)|0)<<24>>24;a=h[e>>2]|0;l=a+12|0;s=h[l>>2]|0;if((s|0)==(h[a+16>>2]|0)){mE[h[(h[a>>2]|0)+40>>2]&127](a)|0;c=n;u=f;n=f;f=o}else{h[l>>2]=s+1;c=n;u=f;n=f;f=o}while(1){f=f+-48|0;k=c+-1|0;a=h[e>>2]|0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0))if((mE[h[(h[a>>2]|0)+36>>2]&127](a)|0)==-1){h[e>>2]=0;a=0;break}else{a=h[e>>2]|0;break}}else a=0}while(0);s=(a|0)==0;if(n)if((h[n+12>>2]|0)==(h[n+16>>2]|0))if((mE[h[(h[n>>2]|0)+36>>2]&127](n)|0)==-1){h[i>>2]=0;l=0;n=0}else{l=u;n=u}else l=u;else{l=u;n=0}a=h[e>>2]|0;if(!((c|0)>1&(s^(n|0)==0)))break;s=h[a+12>>2]|0;if((s|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=b[s>>0]|0;s=a&255;if(s<<24>>24<=-1)break e;if(!(d[(h[w>>2]|0)+(a<<24>>24<<1)>>1]&2048))break e;f=((vE[h[(h[t>>2]|0)+36>>2]&63](t,s,0)|0)<<24>>24)+(f*10|0)|0;a=h[e>>2]|0;s=a+12|0;o=h[s>>2]|0;if((o|0)==(h[a+16>>2]|0)){mE[h[(h[a>>2]|0)+40>>2]&127](a)|0;c=k;u=l;continue}else{h[s>>2]=o+1;c=k;u=l;continue}}do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0))if((mE[h[(h[a>>2]|0)+36>>2]&127](a)|0)==-1){h[e>>2]=0;a=0;break}else{a=h[e>>2]|0;break}}else a=0}while(0);a=(a|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)?(mE[h[(h[l>>2]|0)+36>>2]&127](l)|0)==-1:0){h[i>>2]=0;_=50;break}if(a)break e}else _=50}while(0);if((_|0)==50?!a:0)break;h[r>>2]=h[r>>2]|2;break}h[r>>2]=h[r>>2]|4;f=0}}while(0);return f|0}function m_(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;f=h[e>>2]|0;do{if(f){a=h[f+12>>2]|0;if((a|0)==(h[f+16>>2]|0))f=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else f=h[a>>2]|0;if((f|0)==-1){h[e>>2]=0;l=1;break}else{l=(h[e>>2]|0)==0;break}}else l=1}while(0);a=h[i>>2]|0;do{if(a){f=h[a+12>>2]|0;if((f|0)==(h[a+16>>2]|0))f=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else f=h[f>>2]|0;if((f|0)!=-1)if(l){b=17;break}else{b=16;break}else{h[i>>2]=0;b=14;break}}else b=14}while(0);if((b|0)==14)if(l)b=16;else{a=0;b=17}e:do{if((b|0)==16){h[r>>2]=h[r>>2]|6;f=0}else if((b|0)==17){f=h[e>>2]|0;l=h[f+12>>2]|0;if((l|0)==(h[f+16>>2]|0))f=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else f=h[l>>2]|0;if(!(vE[h[(h[t>>2]|0)+12>>2]&63](t,2048,f)|0)){h[r>>2]=h[r>>2]|4;f=0;break}f=(vE[h[(h[t>>2]|0)+52>>2]&63](t,f,0)|0)<<24>>24;l=h[e>>2]|0;s=l+12|0;o=h[s>>2]|0;if((o|0)==(h[l+16>>2]|0)){mE[h[(h[l>>2]|0)+40>>2]&127](l)|0;c=n;u=a;s=a}else{h[s>>2]=o+4;c=n;u=a;s=a}while(1){f=f+-48|0;d=c+-1|0;a=h[e>>2]|0;do{if(a){l=h[a+12>>2]|0;if((l|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=h[l>>2]|0;if((a|0)==-1){h[e>>2]=0;o=1;break}else{o=(h[e>>2]|0)==0;break}}else o=1}while(0);do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0))a=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else a=h[a>>2]|0;if((a|0)==-1){h[i>>2]=0;s=0;n=0;a=1;break}else{s=u;n=u;a=(u|0)==0;break}}else{s=u;n=0;a=1}}while(0);l=h[e>>2]|0;if(!((c|0)>1&(o^a)))break;a=h[l+12>>2]|0;if((a|0)==(h[l+16>>2]|0))a=mE[h[(h[l>>2]|0)+36>>2]&127](l)|0;else a=h[a>>2]|0;if(!(vE[h[(h[t>>2]|0)+12>>2]&63](t,2048,a)|0))break e;f=((vE[h[(h[t>>2]|0)+52>>2]&63](t,a,0)|0)<<24>>24)+(f*10|0)|0;a=h[e>>2]|0;l=a+12|0;o=h[l>>2]|0;if((o|0)==(h[a+16>>2]|0)){mE[h[(h[a>>2]|0)+40>>2]&127](a)|0;c=d;u=s;s=n;continue}else{h[l>>2]=o+4;c=d;u=s;s=n;continue}}do{if(l){a=h[l+12>>2]|0;if((a|0)==(h[l+16>>2]|0))a=mE[h[(h[l>>2]|0)+36>>2]&127](l)|0;else a=h[a>>2]|0;if((a|0)==-1){h[e>>2]=0;l=1;break}else{l=(h[e>>2]|0)==0;break}}else l=1}while(0);do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0))a=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else a=h[a>>2]|0;if((a|0)!=-1)if(l)break e;else break;else{h[i>>2]=0;b=60;break}}else b=60}while(0);if((b|0)==60?!l:0)break;h[r>>2]=h[r>>2]|2}}while(0);return f|0}function p_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=e+4|0;t=(h[f>>2]|0)!=189;l=h[e>>2]|0;a=l;n=(h[r>>2]|0)-a|0;n=n>>>0<2147483647?n<<1:-1;a=(h[i>>2]|0)-a|0;l=qc(t?l:0,n)|0;if(!l)Dg();do{if(!t){t=h[e>>2]|0;h[e>>2]=l;if(t){T=0;pe(h[f>>2]|0,t|0);l=T;T=0;if(l&1){l=Ze(0)|0;Ki(l)}else{s=h[e>>2]|0;break}}else s=l}else{h[e>>2]=l;s=l}}while(0);h[f>>2]=201;h[i>>2]=s+a;h[r>>2]=(h[e>>2]|0)+n;return}function v_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=e+4|0;t=(h[f>>2]|0)!=189;l=h[e>>2]|0;a=l;n=(h[r>>2]|0)-a|0;n=n>>>0<2147483647?n<<1:-1;a=(h[i>>2]|0)-a>>2;l=qc(t?l:0,n)|0;if(!l)Dg();do{if(!t){t=h[e>>2]|0;h[e>>2]=l;if(t){T=0;pe(h[f>>2]|0,t|0);l=T;T=0;if(l&1){l=Ze(0)|0;Ki(l)}else{s=h[e>>2]|0;break}}else s=l}else{h[e>>2]=l;s=l}}while(0);h[f>>2]=201;h[i>>2]=s+(a<<2);h[r>>2]=(h[e>>2]|0)+(n>>>2<<2);return}function g_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=i;t=c[e>>0]|0;if(!(t&1)){n=10;s=(t&255)>>>1}else{t=h[e>>2]|0;n=(t&-2)+-1|0;s=h[e+4>>2]|0;t=t&255}l=r-f|0;do{if((r|0)!=(i|0)){if((n-s|0)>>>0<l>>>0){eh(e,n,s+l-n|0,s,s,0,0);t=c[e>>0]|0}if(!(t&1))a=e+1|0;else a=h[e+8>>2]|0;f=r+(s-f)|0;if((i|0)!=(r|0)){t=i;n=a+s|0;while(1){c[n>>0]=c[t>>0]|0;t=t+1|0;if((t|0)==(r|0))break;else n=n+1|0}}c[a+f>>0]=0;t=s+l|0;if(!(c[e>>0]&1)){c[e>>0]=t<<1;break}else{h[e+4>>2]=t;break}}}while(0);return e|0}function y_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=e+4|0;t=(h[f>>2]|0)!=189;l=h[e>>2]|0;a=l;n=(h[r>>2]|0)-a|0;n=n>>>0<2147483647?n<<1:-1;a=(h[i>>2]|0)-a>>2;l=qc(t?l:0,n)|0;if(!l)Dg();do{if(!t){t=h[e>>2]|0;h[e>>2]=l;if(t){T=0;pe(h[f>>2]|0,t|0);l=T;T=0;if(l&1){l=Ze(0)|0;Ki(l)}else{s=h[e>>2]|0;break}}else s=l}else{h[e>>2]=l;s=l}}while(0);h[f>>2]=201;h[i>>2]=s+(a<<2);h[r>>2]=(h[e>>2]|0)+(n>>>2<<2);return}function E_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=i;t=c[e>>0]|0;if(!(t&1)){n=1;s=(t&255)>>>1}else{t=h[e>>2]|0;n=(t&-2)+-1|0;s=h[e+4>>2]|0;t=t&255}l=r-f>>2;do{if(l){if((n-s|0)>>>0<l>>>0){oh(e,n,s+l-n|0,s,s,0,0);t=c[e>>0]|0}if(!(t&1))a=e+4|0;else a=h[e+8>>2]|0;f=s+((r-f|0)>>>2)|0;if((i|0)!=(r|0)){t=i;n=a+(s<<2)|0;while(1){h[n>>2]=h[t>>2];t=t+4|0;if((t|0)==(r|0))break;else n=n+4|0}}h[a+(f<<2)>>2]=0;t=s+l|0;if(!(c[e>>0]&1)){c[e>>0]=t<<1;break}else{h[e+4>>2]=t;break}}}while(0);return e|0}function A_(e,i){e=e|0;i=i|0;var r=0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;c[e+128>>0]=0;do{if(i){T=0;ve(125,e|0,i|0);r=T;T=0;if(r&1){r=Ze()|0;$_(e);si(r|0)}else{wm(e,i);break}}}while(0);return}function M_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43148)|0);return}function T_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43188)|0);return}function S_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44220)|0);return}function P_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44212)|0);return}function O_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44280)|0);return}function R_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44288)|0);return}function L_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44344)|0);return}function C_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44352)|0);return}function D_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44360)|0);return}function x_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44368)|0);return}function I_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43260)|0);return}function B_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43332)|0);return}function N_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43392)|0);return}function F_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43452)|0);return}function U_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43764)|0);return}function j_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43828)|0);return}function H_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43892)|0);return}function Y_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43956)|0);return}function q_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43992)|0);return}function X_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44028)|0);return}function z_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44064)|0);return}function V_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44100)|0);return}function G_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43544)|0);return}function K_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43636)|0);return}function W_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43668)|0);return}function J_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43700)|0);return}function Z_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44140)|0);return}function Q_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44180)|0);return}function $_(e){e=e|0;var i=0,r=0,t=0;r=h[e>>2]|0;do{if(r){t=e+4|0;i=h[t>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));h[t>>2]=i}if((e+16|0)==(r|0)){c[e+128>>0]=0;break}else{zv(r);break}}}while(0);return}function em(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;a=e+4|0;r=h[a>>2]|0;t=h[e>>2]|0;n=r-t>>2;if(n>>>0>=i>>>0){if(n>>>0>i>>>0?(f=t+(i<<2)|0,(r|0)!=(f|0)):0){do{r=r+-4|0}while((r|0)!=(f|0));h[a>>2]=r}}else km(e,i-n|0);return}function im(e,i){e=e|0;i=i|0;var r=0;r=h[e+8>>2]|0;if((h[e+12>>2]|0)-r>>2>>>0>i>>>0)r=(h[r+(i<<2)>>2]|0)!=0;else r=0;return r|0}function rm(e){e=e|0;var i=0,r=0;r=e+4|0;i=h[r>>2]|0;r=h[r+4>>2]|0;e=(h[e>>2]|0)+(r>>1)|0;if(r&1)i=h[(h[e>>2]|0)+i>>2]|0;kE[i&255](e);return}function tm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0;h[r>>2]=e;h[f>>2]=t;if(l&2)if((n-t|0)<3)e=1;else{h[f>>2]=t+1;c[t>>0]=-17;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-69;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-65;s=4}else s=4;e:do{if((s|0)==4){o=i;e=h[r>>2]|0;if(e>>>0<i>>>0)while(1){l=d[e>>1]|0;s=l&65535;if(s>>>0>a>>>0){e=2;break e}do{if((l&65535)<128){e=h[f>>2]|0;if((n-e|0)<1){e=1;break e}h[f>>2]=e+1;c[e>>0]=l}else{if((l&65535)<2048){e=h[f>>2]|0;if((n-e|0)<2){e=1;break e}h[f>>2]=e+1;c[e>>0]=s>>>6|192;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s&63|128;break}if((l&65535)<55296){e=h[f>>2]|0;if((n-e|0)<3){e=1;break e}h[f>>2]=e+1;c[e>>0]=s>>>12|224;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s>>>6&63|128;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){e=2;break e}e=h[f>>2]|0;if((n-e|0)<3){e=1;break e}h[f>>2]=e+1;c[e>>0]=s>>>12|224;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s>>>6&63|128;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s&63|128;break}if((o-e|0)<4){e=1;break e}e=e+2|0;l=k[e>>1]|0;if((l&64512|0)!=56320){e=2;break e}if((n-(h[f>>2]|0)|0)<4){e=1;break e}t=s&960;if(((t<<10)+65536|s<<10&64512|l&1023)>>>0>a>>>0){e=2;break e}h[r>>2]=e;e=(t>>>6)+1|0;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=e>>>2|240;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s>>>2&15|e<<4&48|128;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s<<4&48|l>>>6&15|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128}}while(0);e=(h[r>>2]|0)+2|0;h[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}}while(0);return e|0}function nm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,k=0,w=0,_=0;h[r>>2]=e;h[f>>2]=t;if(l&4){e=h[r>>2]|0;l=i;if((((l-e|0)>2?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)?(c[e+2>>0]|0)==-65:0){h[r>>2]=e+3;s=h[f>>2]|0}else s=t}else{s=t;l=i}w=n;t=h[r>>2]|0;e=t>>>0<i>>>0;e:do{if(e&s>>>0<n>>>0)while(1){e=c[t>>0]|0;u=e&255;if(u>>>0>a>>>0){e=2;break e}do{if(e<<24>>24>-1){d[s>>1]=e&255;h[r>>2]=t+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((l-t|0)<2){e=1;break e}e=b[t+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|u<<6&1984;if(e>>>0>a>>>0){e=2;break e}d[s>>1]=e;h[r>>2]=t+2;break}if((e&255)<240){if((l-t|0)<3){e=1;break e}o=c[t+1>>0]|0;e=c[t+2>>0]|0;switch(u|0){case 224:{if((o&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((o&-32)<<24>>24!=-128){e=2;break e}break}default:if((o&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(o&255)<<6&4032|u<<12|e&63;if((e&65535)>>>0>a>>>0){e=2;break e}d[s>>1]=e;h[r>>2]=t+3;break}if((e&255)>=245){e=2;break e}if((l-t|0)<4){e=1;break e}o=c[t+1>>0]|0;e=c[t+2>>0]|0;t=c[t+3>>0]|0;switch(u|0){case 240:{if((o+112&255)>=48){e=2;break e}break}case 244:{if((o&-16)<<24>>24!=-128){e=2;break e}break}default:if((o&-64)<<24>>24!=-128){e=2;break e}}k=e&255;if((k&192|0)!=128){e=2;break e}e=t&255;if((e&192|0)!=128){e=2;break e}if((w-s|0)<4){e=1;break e}u=u&7;t=o&255;o=k<<6;e=e&63;if((t<<12&258048|u<<18|o&4032|e)>>>0>a>>>0){e=2;break e}d[s>>1]=t<<2&60|k>>>4&3|((t>>>4&3|u<<2)<<6)+16320|55296;k=s+2|0;h[f>>2]=k;d[k>>1]=e|o&960|56320;h[r>>2]=(h[r>>2]|0)+4}}while(0);s=(h[f>>2]|0)+2|0;h[f>>2]=s;t=h[r>>2]|0;e=t>>>0<i>>>0;if(!(e&s>>>0<n>>>0)){_=39;break}}else _=39}while(0);if((_|0)==39)e=e&1;return e|0}function fm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;d=i;if((((n&4|0)!=0?(d-e|0)>2:0)?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)n=(c[e+2>>0]|0)==-65?e+3|0:e;else n=e;e:do{if((r|0)!=0&n>>>0<i>>>0){u=n;f=0;i:while(1){n=c[u>>0]|0;o=n&255;if(o>>>0>t>>>0){n=u;f=42;break e}do{if(n<<24>>24>-1)n=u+1|0;else{if((n&255)<194){n=u;f=42;break e}if((n&255)<224){if((d-u|0)<2){n=u;f=42;break e}n=b[u+1>>0]|0;if((n&192|0)!=128){n=u;f=42;break e}if((n&63|o<<6&1984)>>>0>t>>>0){n=u;f=42;break e}n=u+2|0;break}if((n&255)<240){n=u;if((d-n|0)<3){n=u;f=42;break e}l=c[u+1>>0]|0;a=c[u+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){f=20;break i}break}case 237:{if((l&-32)<<24>>24!=-128){f=22;break i}break}default:if((l&-64)<<24>>24!=-128){f=24;break i}}n=a&255;if((n&192|0)!=128){n=u;f=42;break e}if(((l&255)<<6&4032|o<<12&61440|n&63)>>>0>t>>>0){n=u;f=42;break e}n=u+3|0;break}if((n&255)>=245){n=u;f=42;break e}n=u;if((r-f|0)>>>0<2|(d-n|0)<4){n=u;f=42;break e}s=c[u+1>>0]|0;a=c[u+2>>0]|0;l=c[u+3>>0]|0;switch(o|0){case 240:{if((s+112&255)>=48){f=32;break i}break}case 244:{if((s&-16)<<24>>24!=-128){f=34;break i}break}default:if((s&-64)<<24>>24!=-128){f=36;break i}}a=a&255;if((a&192|0)!=128){n=u;f=42;break e}n=l&255;if((n&192|0)!=128){n=u;f=42;break e}if(((s&255)<<12&258048|o<<18&1835008|a<<6&4032|n&63)>>>0>t>>>0){n=u;f=42;break e}n=u+4|0;f=f+1|0}}while(0);f=f+1|0;if(!(f>>>0<r>>>0&n>>>0<i>>>0)){f=42;break e}else u=n}if((f|0)==20){n=n-e|0;break}else if((f|0)==22){n=n-e|0;break}else if((f|0)==24){n=n-e|0;break}else if((f|0)==32){n=n-e|0;break}else if((f|0)==34){n=n-e|0;break}else if((f|0)==36){n=n-e|0;break}}else f=42}while(0);if((f|0)==42)n=n-e|0;return n|0}function am(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0;h[r>>2]=e;h[f>>2]=t;o=n;if(l&2)if((o-t|0)<3)e=1;else{h[f>>2]=t+1;c[t>>0]=-17;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-69;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-65;s=4}else s=4;e:do{if((s|0)==4){e=h[r>>2]|0;if(e>>>0<i>>>0)while(1){l=h[e>>2]|0;if(l>>>0>a>>>0|(l&-2048|0)==55296){e=2;break e}do{if(l>>>0>=128){if(l>>>0<2048){e=h[f>>2]|0;if((o-e|0)<2){e=1;break e}h[f>>2]=e+1;c[e>>0]=l>>>6|192;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128;break}e=h[f>>2]|0;n=o-e|0;if(l>>>0<65536){if((n|0)<3){e=1;break e}h[f>>2]=e+1;c[e>>0]=l>>>12|224;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l>>>6&63|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128;break}else{if((n|0)<4){e=1;break e}h[f>>2]=e+1;c[e>>0]=l>>>18|240;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l>>>12&63|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l>>>6&63|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128;break}}else{e=h[f>>2]|0;if((o-e|0)<1){e=1;break e}h[f>>2]=e+1;c[e>>0]=l}}while(0);e=(h[r>>2]|0)+4|0;h[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}}while(0);return e|0}function lm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,k=0,w=0;h[r>>2]=e;h[f>>2]=t;if(l&4){e=h[r>>2]|0;l=i;if((((l-e|0)>2?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)?(c[e+2>>0]|0)==-65:0){h[r>>2]=e+3;t=h[f>>2]|0;k=l}else k=l}else k=i;l=h[r>>2]|0;e=l>>>0<i>>>0;e:do{if(e&t>>>0<n>>>0)while(1){e=c[l>>0]|0;d=e&255;do{if(e<<24>>24>-1){if(d>>>0>a>>>0){e=2;break e}h[t>>2]=d;h[r>>2]=l+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((k-l|0)<2){e=1;break e}e=b[l+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|d<<6&1984;if(e>>>0>a>>>0){e=2;break e}h[t>>2]=e;h[r>>2]=l+2;break}if((e&255)<240){if((k-l|0)<3){e=1;break e}s=c[l+1>>0]|0;e=c[l+2>>0]|0;switch(d|0){case 224:{if((s&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((s&-32)<<24>>24!=-128){e=2;break e}break}default:if((s&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(s&255)<<6&4032|d<<12&61440|e&63;if(e>>>0>a>>>0){e=2;break e}h[t>>2]=e;h[r>>2]=l+3;break}if((e&255)>=245){e=2;break e}if((k-l|0)<4){e=1;break e}u=c[l+1>>0]|0;e=c[l+2>>0]|0;s=c[l+3>>0]|0;switch(d|0){case 240:{if((u+112&255)>=48){e=2;break e}break}case 244:{if((u&-16)<<24>>24!=-128){e=2;break e}break}default:if((u&-64)<<24>>24!=-128){e=2;break e}}o=e&255;if((o&192|0)!=128){e=2;break e}e=s&255;if((e&192|0)!=128){e=2;break e}e=(u&255)<<12&258048|d<<18&1835008|o<<6&4032|e&63;if(e>>>0>a>>>0){e=2;break e}h[t>>2]=e;h[r>>2]=l+4}}while(0);t=(h[f>>2]|0)+4|0;h[f>>2]=t;l=h[r>>2]|0;e=l>>>0<i>>>0;if(!(e&t>>>0<n>>>0)){w=38;break}}else w=38}while(0);if((w|0)==38)e=e&1;return e|0}function sm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;d=i;if((((n&4|0)!=0?(d-e|0)>2:0)?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)n=(c[e+2>>0]|0)==-65?e+3|0:e;else n=e;e:do{if((r|0)!=0&n>>>0<i>>>0){o=n;u=0;i:while(1){n=c[o>>0]|0;s=n&255;do{if(n<<24>>24>-1){if(s>>>0>t>>>0){n=o;f=42;break e}n=o+1|0}else{if((n&255)<194){n=o;f=42;break e}if((n&255)<224){if((d-o|0)<2){n=o;f=42;break e}n=b[o+1>>0]|0;if((n&192|0)!=128){n=o;f=42;break e}if((n&63|s<<6&1984)>>>0>t>>>0){n=o;f=42;break e}n=o+2|0;break}if((n&255)<240){n=o;if((d-n|0)<3){n=o;f=42;break e}a=c[o+1>>0]|0;f=c[o+2>>0]|0;switch(s|0){case 224:{if((a&-32)<<24>>24!=-96){f=20;break i}break}case 237:{if((a&-32)<<24>>24!=-128){f=22;break i}break}default:if((a&-64)<<24>>24!=-128){f=24;break i}}n=f&255;if((n&192|0)!=128){n=o;f=42;break e}if(((a&255)<<6&4032|s<<12&61440|n&63)>>>0>t>>>0){n=o;f=42;break e}n=o+3|0;break}if((n&255)>=245){n=o;f=42;break e}n=o;if((d-n|0)<4){n=o;f=42;break e}l=c[o+1>>0]|0;f=c[o+2>>0]|0;a=c[o+3>>0]|0;switch(s|0){case 240:{if((l+112&255)>=48){f=32;break i}break}case 244:{if((l&-16)<<24>>24!=-128){f=34;break i}break}default:if((l&-64)<<24>>24!=-128){f=36;break i}}f=f&255;if((f&192|0)!=128){n=o;f=42;break e}n=a&255;if((n&192|0)!=128){n=o;f=42;break e}if(((l&255)<<12&258048|s<<18&1835008|f<<6&4032|n&63)>>>0>t>>>0){n=o;f=42;break e}n=o+4|0}}while(0);u=u+1|0;if(!(u>>>0<r>>>0&n>>>0<i>>>0)){f=42;break e}else o=n}if((f|0)==20){n=n-e|0;break}else if((f|0)==22){n=n-e|0;break}else if((f|0)==24){n=n-e|0;break}else if((f|0)==32){n=n-e|0;break}else if((f|0)==34){n=n-e|0;break}else if((f|0)==36){n=n-e|0;break}}else f=42}while(0);if((f|0)==42)n=n-e|0;return n|0}function om(e){e=e|0;qd(45196);qd(45184);qd(45172);qd(45160);qd(45148);qd(45136);qd(45124);qd(45112);qd(45100);qd(45088);qd(45076);qd(45064);qd(45052);qd(45040);return}function um(e){e=e|0;th(45368);th(45356);th(45344);th(45332);th(45320);th(45308);th(45296);th(45284);th(45272);th(45260);th(45248);th(45236);th(45224);th(45212);return}function cm(e){e=e|0;qd(46e3);qd(45988);qd(45976);qd(45964);qd(45952);qd(45940);qd(45928);qd(45916);qd(45904);qd(45892);qd(45880);qd(45868);qd(45856);qd(45844);qd(45832);qd(45820);qd(45808);qd(45796);qd(45784);qd(45772);qd(45760);qd(45748);qd(45736);qd(45724);return}function dm(e){e=e|0;th(46292);th(46280);th(46268);th(46256);th(46244);th(46232);th(46220);th(46208);th(46196);th(46184);th(46172);th(46160);th(46148);th(46136);th(46124);th(46112);th(46100);th(46088);th(46076);th(46064);th(46052);th(46040);th(46028);th(46016);return}function hm(e){e=e|0;qd(47104);qd(47092);qd(47080);qd(47068);qd(47056);qd(47044);qd(47032);qd(47020);qd(47008);qd(46996);qd(46984);qd(46972);qd(46960);qd(46948);qd(46936);qd(46924);qd(46912);qd(46900);qd(46888);qd(46876);qd(46864);qd(46852);qd(46840);qd(46828);return}function bm(e){e=e|0;th(47396);th(47384);th(47372);th(47360);th(47348);th(47336);th(47324);th(47312);th(47300);th(47288);th(47276);th(47264);th(47252);th(47240);th(47228);th(47216);th(47204);th(47192);th(47180);th(47168);th(47156);th(47144);th(47132);th(47120);return}function km(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+32|0;l=s;f=h[e+8>>2]|0;r=h[e+4>>2]|0;if(f-r>>2>>>0<i>>>0){t=h[e>>2]|0;a=r-t>>2;n=a+i|0;if(n>>>0>1073741823)Yv(e);r=f-t|0;if(r>>2>>>0<536870911){r=r>>1;r=r>>>0<n>>>0?n:r}else r=1073741823;_m(l,r,a,e+16|0);a=l+8|0;f=h[a>>2]|0;Cm(f|0,0,i<<2|0)|0;h[a>>2]=f+(i<<2);mm(e,l);pm(l)}else wm(e,i);v=s;return}function wm(e,i){e=e|0;i=i|0;var r=0;r=e+4|0;e=i;i=h[r>>2]|0;do{h[i>>2]=0;i=(h[r>>2]|0)+4|0;h[r>>2]=i;e=e+-1|0}while((e|0)!=0);return}function _m(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;h[e+12>>2]=0;h[e+16>>2]=t;do{if(i){n=t+112|0;if(i>>>0<29&(c[n>>0]|0)==0){c[n>>0]=1;break}else{t=Xv(i<<2)|0;break}}else t=0}while(0);h[e>>2]=t;r=t+(r<<2)|0;h[e+8>>2]=r;h[e+4>>2]=r;h[e+12>>2]=t+(i<<2);return}function mm(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;t=h[e>>2]|0;f=e+4|0;r=i+4|0;n=(h[f>>2]|0)-t|0;a=(h[r>>2]|0)+(0-(n>>2)<<2)|0;h[r>>2]=a;Im(a|0,t|0,n|0)|0;n=h[e>>2]|0;h[e>>2]=h[r>>2];h[r>>2]=n;n=i+8|0;t=h[f>>2]|0;h[f>>2]=h[n>>2];h[n>>2]=t;n=e+8|0;e=i+12|0;t=h[n>>2]|0;h[n>>2]=h[e>>2];h[e>>2]=t;h[i>>2]=h[r>>2];return}function pm(e){e=e|0;var i=0,r=0,t=0;r=h[e+4>>2]|0;t=e+8|0;i=h[t>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));h[t>>2]=i}r=h[e>>2]|0;do{if(r){i=h[e+16>>2]|0;if((i|0)==(r|0)){c[i+112>>0]=0;break}else{zv(r);break}}}while(0);return}function vm(e,i){e=e|0;i=i|0;var r=0;if(i>>>0>1073741823)Yv(e);r=e+128|0;if(i>>>0<29&(c[r>>0]|0)==0){c[r>>0]=1;r=e+16|0}else r=Xv(i<<2)|0;h[e+4>>2]=r;h[e>>2]=r;h[e+8>>2]=r+(i<<2);return}function gm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)!=(i|0)){n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;t=+Wy(e,a,rk()|0);e=h[n>>2]|0;if(!e)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0.0;break}if((e|0)==34)h[r>>2]=4}else{h[r>>2]=4;t=0.0}}while(0);v=l;return+t}function ym(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)!=(i|0)){n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;t=+Wy(e,a,rk()|0);e=h[n>>2]|0;if(!e)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0.0;break}if((e|0)==34)h[r>>2]=4}else{h[r>>2]=4;t=0.0}}while(0);v=l;return+t}function Em(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)==(i|0)){h[r>>2]=4;t=0.0}else{n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;t=+Wy(e,a,rk()|0);e=h[n>>2]|0;if(!e)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0.0;break}if((e|0)==34)h[r>>2]=4}}while(0);v=l;return+t}function Am(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;t=0;e=0;break}n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;e=Fg(e,a,t,rk()|0)|0;t=h[n>>2]|0;if(!t)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0;e=0;break}if((t|0)==34){h[r>>2]=4;t=-1;e=-1}else t=H}else{h[r>>2]=4;t=0;e=0}}while(0);H=t;v=l;return e|0}function Mm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;e=0;break}f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Fg(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}if(t>>>0>0|(t|0)==0&e>>>0>4294967295|(n|0)==34){h[r>>2]=4;e=-1;break}else break}else{h[r>>2]=4;e=0}}while(0);v=s;return e|0}function Tm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;e=0;break}f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Fg(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}if(t>>>0>0|(t|0)==0&e>>>0>4294967295|(n|0)==34){h[r>>2]=4;e=-1;break}else break}else{h[r>>2]=4;e=0}}while(0);v=s;return e|0}function Sm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;e=0;break}f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Fg(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}if(t>>>0>0|(t|0)==0&e>>>0>65535|(n|0)==34){h[r>>2]=4;e=-1;break}else{e=e&65535;break}}else{h[r>>2]=4;e=0}}while(0);v=s;return e|0}function Pm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Ug(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;t=0;e=0;break}if((n|0)==34){h[r>>2]=4;l=(t|0)>0|(t|0)==0&e>>>0>0;H=l?2147483647:-2147483648;v=s;return(l?-1:0)|0}}else{h[r>>2]=4;t=0;e=0}}while(0);H=t;v=s;return e|0}function Om(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;e:do{if((e|0)==(i|0)){h[r>>2]=4;e=0}else{f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Ug(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}do{if((n|0)==34){h[r>>2]=4;if((t|0)>0|(t|0)==0&e>>>0>0){e=2147483647;break e}}else{if((t|0)<-1|(t|0)==-1&e>>>0<2147483648){h[r>>2]=4;break}if((t|0)>0|(t|0)==0&e>>>0>2147483647){h[r>>2]=4;e=2147483647;break e}else break e}}while(0);e=-2147483648}}while(0);v=s;return e|0}function Rm(){}function Lm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(H=t,e-r>>>0|0)|0}function Cm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=e+r|0;if((r|0)>=20){i=i&255;f=e&3;a=i|i<<8|i<<16|i<<24;n=t&~3;if(f){f=e+4-f|0;while((e|0)<(f|0)){c[e>>0]=i;e=e+1|0}}while((e|0)<(n|0)){h[e>>2]=a;e=e+4|0}}while((e|0)<(t|0)){c[e>>0]=i;e=e+1|0}return e-r|0}function Dm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=e+r>>>0;return(H=i+t+(r>>>0<e>>>0|0)>>>0,r|0)|0}function xm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){H=i>>>r;return e>>>r|(i&(1<<r)-1)<<32-r}H=0;return i>>>r-32|0}function Im(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((r|0)>=4096)return ai(e|0,i|0,r|0)|0;t=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return t|0;c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){h[e>>2]=h[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return t|0}function Bm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){H=i<<r|(e&(1<<r)-1<<32-r)>>>32-r;return e<<r}H=e<<r-32;return 0}function Nm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((i|0)<(e|0)&(e|0)<(i+r|0)){t=e;i=i+r|0;e=e+r|0;while((r|0)>0){e=e-1|0;i=i-1|0;r=r-1|0;c[e>>0]=c[i>>0]|0}e=t}else Im(e,i,r)|0;return e|0}function Fm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){H=i>>r;return e>>>r|(i&(1<<r)-1)<<32-r}H=(i|0)<0?-1:0;return i>>r-32|0}function Um(e){e=e|0;var i=0;i=c[A+(e&255)>>0]|0;if((i|0)<8)return i|0;i=c[A+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=c[A+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(c[A+(e>>>24)>>0]|0)+24|0}function jm(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=ce(n,f)|0;t=e>>>16;e=(r>>>16)+(ce(n,t)|0)|0;n=i>>>16;i=ce(n,f)|0;return(H=(e>>>16)+(ce(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Hm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;s=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;l=Lm(o^e,s^i,o,s)|0;a=H;e=f^o;i=n^s;return Lm((Vm(l,a,Lm(f^r,n^t,f,n)|0,H,0)|0)^e,H^i,e,i)|0}function Ym(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;n=v;v=v+16|0;l=n|0;a=i>>31|((i|0)<0?-1:0)<<1;f=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;o=t>>31|((t|0)<0?-1:0)<<1;s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=Lm(a^e,f^i,a,f)|0;i=H;Vm(e,i,Lm(o^r,s^t,o,s)|0,H,l)|0;t=Lm(h[l>>2]^a,h[l+4>>2]^f,a,f)|0;r=H;v=n;return(H=r,t)|0}function qm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=jm(n,f)|0;e=H;return(H=(ce(i,f)|0)+(ce(t,n)|0)+e|e&0,r|0|0)|0}function Xm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Vm(e,i,r,t,0)|0}function zm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+16|0;n=f|0;Vm(e,i,r,t,n)|0;v=f;return(H=h[n+4>>2]|0,h[n>>2]|0)|0}function Vm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;u=e;s=i;o=s;a=r;d=t;l=d;if(!o){f=(n|0)!=0;if(!l){if(f){h[n>>2]=(u>>>0)%(a>>>0);h[n+4>>2]=0}d=0;n=(u>>>0)/(a>>>0)>>>0;return(H=d,n)|0}else{if(!f){d=0;n=0;return(H=d,n)|0}h[n>>2]=e|0;h[n+4>>2]=i&0;d=0;n=0;return(H=d,n)|0}}f=(l|0)==0;do{if(a){if(!f){f=(he(l|0)|0)-(he(o|0)|0)|0;if(f>>>0<=31){c=f+1|0;l=31-f|0;i=f-31>>31;a=c;e=u>>>(c>>>0)&i|o<<l;i=o>>>(c>>>0)&i;f=0;l=u<<l;break}if(!n){d=0;n=0;return(H=d,n)|0}h[n>>2]=e|0;h[n+4>>2]=s|i&0;d=0;n=0;return(H=d,n)|0}f=a-1|0;if(f&a){l=(he(a|0)|0)+33-(he(o|0)|0)|0;k=64-l|0;c=32-l|0;s=c>>31;b=l-32|0;i=b>>31;a=l;e=c-1>>31&o>>>(b>>>0)|(o<<c|u>>>(l>>>0))&i;i=i&o>>>(l>>>0);f=u<<k&s;l=(o<<k|u>>>(b>>>0))&s|u<<c&l-33>>31;break}if(n){h[n>>2]=f&u;h[n+4>>2]=0}if((a|0)==1){b=s|i&0;k=e|0|0;return(H=b,k)|0}else{k=Um(a|0)|0;b=o>>>(k>>>0)|0;k=o<<32-k|u>>>(k>>>0)|0;return(H=b,k)|0}}else{if(f){if(n){h[n>>2]=(o>>>0)%(a>>>0);h[n+4>>2]=0}b=0;k=(o>>>0)/(a>>>0)>>>0;return(H=b,k)|0}if(!u){if(n){h[n>>2]=0;h[n+4>>2]=(o>>>0)%(l>>>0)}b=0;k=(o>>>0)/(l>>>0)>>>0;return(H=b,k)|0}f=l-1|0;if(!(f&l)){if(n){h[n>>2]=e|0;h[n+4>>2]=f&o|i&0}b=0;k=o>>>((Um(l|0)|0)>>>0);return(H=b,k)|0}f=(he(l|0)|0)-(he(o|0)|0)|0;if(f>>>0<=30){i=f+1|0;l=31-f|0;a=i;e=o<<l|u>>>(i>>>0);i=o>>>(i>>>0);f=0;l=u<<l;break}if(!n){b=0;k=0;return(H=b,k)|0}h[n>>2]=e|0;h[n+4>>2]=s|i&0;b=0;k=0;return(H=b,k)|0}}while(0);if(!a){o=l;s=0;l=0}else{c=r|0|0;u=d|t&0;o=Dm(c|0,u|0,-1,-1)|0;r=H;s=l;l=0;do{t=s;s=f>>>31|s<<1;f=l|f<<1;t=e<<1|t>>>31|0;d=e>>>31|i<<1|0;Lm(o,r,t,d)|0;k=H;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=Lm(t,d,b&c,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&u)|0;i=H;a=a-1|0}while((a|0)!=0);o=s;s=0}a=0;if(n){h[n>>2]=e;h[n+4>>2]=i}b=(f|0)>>>31|(o|a)<<1|(a<<1|f>>>31)&0|s;k=(f<<1|0>>>31)&-2|l;return(H=b,k)|0}function Gm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;return dE[e&15](i|0,r|0,t|0,n|0,f|0,a|0,l|0)|0}function Km(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;hE[e&15](i|0,r|0,t|0,n|0,f|0)}function Wm(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=+a;return bE[e&3](i|0,r|0,t|0,n|0,f|0,+a)|0}function Jm(e,i){e=e|0;i=i|0;kE[e&255](i|0)}function Zm(e,i,r){e=e|0;i=i|0;r=r|0;wE[e&127](i|0,r|0)}function Qm(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return _E[e&63](i|0,r|0,t|0,n|0,f|0,a|0)|0}function $m(e,i){e=e|0;i=i|0;return mE[e&127](i|0)|0}function ep(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;return pE[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0,c|0)|0}function ip(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return vE[e&63](i|0,r|0,t|0)|0}function rp(e,i,r,t,n,f,a,l,s,o,u,c,d,h,b,k){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;k=k|0;gE[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0,c|0,d|0,h|0,b|0,k|0)}function tp(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;yE[e&15](i|0,r|0,t|0,n|0,f|0,a|0)}function np(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;EE[e&7](i|0,r|0,t|0,n|0,f|0,a|0,l|0)}function fp(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;AE[e&7](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0)}function ap(e,i,r){e=e|0;i=i|0;r=r|0;return ME[e&63](i|0,r|0)|0}function lp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return TE[e&31](i|0,r|0,t|0,n|0,f|0)|0}function sp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return+SE[e&3](i|0,r|0,t|0)}function op(e){e=e|0;return PE[e&15]()|0}function up(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return OE[e&31](i|0,r|0,t|0,n|0)|0}function cp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;RE[e&15](i|0,r|0,t|0)}function dp(e){e=e|0;LE[e&7]()}function hp(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;return CE[e&15](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0)|0}function bp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;return DE[e&7](i|0,r|0,t|0,n|0,+f)|0}function kp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;xE[e&63](i|0,r|0,t|0,n|0)}function wp(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;be(0);return 0}function _p(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;be(1)}function mp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;be(2);return 0}function pp(e){e=e|0;be(3)}function vp(e,i){e=e|0;i=i|0;be(4)}function gp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;be(5);return 0}function yp(e){e=e|0;be(6);return 0}function Ep(e){e=e|0;return bi(e|0)|0}function Ap(e){e=e|0;return Oi(e|0)|0}function Mp(e){e=e|0;return pi(e|0)|0}function Tp(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;be(7);return 0}function Sp(e,i,r){e=e|0;i=i|0;r=r|0;be(8);return 0}function Pp(e,i,r,t,n,f,a,l,s,o,u,c,d,h,b){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;be(9)}function Op(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;be(10)}function Rp(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;be(11)}function Lp(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;be(12)}function Cp(e,i){e=e|0;i=i|0;be(13);return 0}function Dp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;be(14);return 0}function xp(e,i,r){e=e|0;i=i|0;r=r|0;be(15);return 0.0}function Ip(){be(16);return 0}function Bp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;be(17);return 0}function Np(e,i,r){e=e|0;i=i|0;r=r|0;be(18)}function Fp(e,i,r){e=e|0;i=i|0;r=r|0;Ei(e|0,i|0,r|0)}function Up(){be(19)}function jp(){Si()}function Hp(){li()}function Yp(){Ai()}function qp(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;be(20);return 0}function Xp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;be(21);return 0}function zp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;be(22)}function Vp(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8900]|0;h[e+4580>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+256;a=e+160|0;n=e+156|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function Gp(e){e=e|0;var i=0,r=0;h[e>>2]=35660;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Kp(e){e=e|0;var i=0,r=0;h[e>>2]=35660;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Wp(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Jp(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;nv(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function Zp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Qp(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Qp(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;l=e+172|0;E=(h[l>>2]|0)+4|0;if((h[e+28>>2]|0)==1)s=h[e+20>>2]|0;else s=1;i=ce(s<<1,E)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))y=6;if((y|0)==6?(T=0,r=ye(67,i|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[O>>2]|0)+1|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!s)y=19;else{if(!(s>>>0>1073741823?(T=0,pe(178,A|0),g=T,T=0,g&1):0))y=17;if((y|0)==17?(t=s<<2,T=0,n=ye(67,t|0)|0,g=T,T=0,!(g&1)):0){h[A>>2]=n;y=n+(s<<2)|0;h[A+8>>2]=y;Cm(n|0,0,t|0)|0;h[S>>2]=y;y=19;break}r=Ze()|0;i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((y|0)==19){o=e+8|0;i=h[o>>2]|0;e:do{if((i|0)>0){u=e+4596|0;d=ce(s,E)|0;b=d+1|0;k=e+4600|0;w=e+160|0;_=e+168|0;m=e+164|0;p=e+156|0;g=e+88|0;a=e+4592|0;if((s|0)>0)f=0;else{f=0;while(1){n=h[P>>2]|0;r=n+1|0;h[u>>2]=r;t=n+b|0;h[k>>2]=t;if(!(f&1))r=b;else{h[u>>2]=t;h[k>>2]=r;r=1}s=h[w>>2]|0;if((s|0)<=(f|0)?(f|0)<((h[_>>2]|0)+s|0):0){s=h[g>>2]|0;T=0;Fe(h[(h[s>>2]|0)+8>>2]|0,s|0,n+(r+((h[p>>2]|0)-d))|0,h[m>>2]|0,E|0);s=T;T=0;if(s&1)break;i=h[o>>2]|0}f=f+1|0;if((f|0)>=(i|0)){y=50;break e}}r=Ze()|0;break}i:while(1){r=h[P>>2]|0;i=r+1|0;h[u>>2]=i;r=r+b|0;h[k>>2]=r;if(f&1){h[u>>2]=r;h[k>>2]=i;i=r}n=h[A>>2]|0;r=i;t=0;do{h[a>>2]=h[n+(t<<2)>>2];y=h[l>>2]|0;c[r+y>>0]=c[r+(y+-1)>>0]|0;c[(h[k>>2]|0)+-1>>0]=c[h[u>>2]>>0]|0;T=0;ve(83,e|0,0);y=T;T=0;if(y&1){y=38;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[a>>2];r=(h[u>>2]|0)+E|0;h[u>>2]=r;i=h[k>>2]|0;h[k>>2]=i+E;t=t+1|0}while((t|0)<(s|0));y=h[w>>2]|0;if(((y|0)<=(f|0)?(f|0)<((h[_>>2]|0)+y|0):0)?(y=h[g>>2]|0,T=0,Fe(h[(h[y>>2]|0)+8>>2]|0,y|0,i+(E+((h[p>>2]|0)-d))|0,h[m>>2]|0,E|0),y=T,T=0,y&1):0){y=30;break}f=f+1|0;if((f|0)>=(h[o>>2]|0)){y=50;break e}}if((y|0)==30){r=Ze()|0;break}else if((y|0)==38){r=Ze()|0;break}}else y=50}while(0);do{if((y|0)==50){T=0;pe(183,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);v=M;return}}while(0);i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}function $p(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0;k=e+4596|0;r=h[k>>2]|0;p=e+172|0;i=h[p>>2]|0;if((i|0)<=0)return;w=e+4600|0;_=e+4604|0;m=e+4592|0;l=r;f=b[r+-1>>0]|0;r=b[r>>0]|0;d=0;while(1){o=h[w>>2]|0;a=c[o+(d+-1)>>0]|0;u=a&255;n=d+1|0;t=b[l+n>>0]|0;s=h[_>>2]|0;l=r-f|0;f=f-u|0;s=((((c[s+(t-r)>>0]|0)*9|0)+(c[s+l>>0]|0)|0)*9|0)+(c[s+f>>0]|0)|0;o=o+d|0;if(!s){i=iv(e,a,o,i-d|0)|0;r=i+d|0;if((r|0)!=(h[p>>2]|0)){u=rv(e,u,b[(h[k>>2]|0)+r>>0]|0)|0;c[(h[w>>2]|0)+r>>0]=u;u=h[m>>2]|0;h[m>>2]=(u|0)<1?0:u+-1|0;i=i+1|0}n=i+d|0;t=h[k>>2]|0;r=b[t+(n+-1)>>0]|0;t=b[t+n>>0]|0}else{i=r-u>>31;if((i^f|0)<0)i=r;else i=u+((i^l|0)<0?0:l)|0;u=ev(e,s,b[o>>0]|0,i,0)|0;c[(h[w>>2]|0)+d>>0]=u}i=h[p>>2]|0;if((i|0)<=(n|0))break;l=h[k>>2]|0;f=r;r=t;d=n}return}function ev(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<<i|0)<(n|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;u=e+188+(s*12|0)+8|0;r=(d[u>>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<<i)|0}else r=(Sa(e,n)|0)+1|0;r=r<<31>>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<<a;r=h[2832+(i<<11)+(f<<3)>>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&255;return e|0}e=r&~(n>>31);e=e&255;return e|0}function iv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<<h[36476+(a<<2)>>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;Cm(r|0,i|0,n|0)|0;return n|0}function rv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i-r|0;a=e+128|0;t=e+136|0;if((((f|0)>-1?f:0-f|0)|0)>(h[t>>2]|0)){i=ce(tv(e,e+4568|0)|0,r-i>>31|1)|0;n=h[t>>2]|0;f=n<<1|1;i=(ce(i,f)|0)+r|0;if((i|0)>=(0-n|0)){t=h[a>>2]|0;if((t+n|0)<(i|0))i=i-(ce(h[e+132>>2]|0,f)|0)|0}else{i=(ce(h[e+132>>2]|0,f)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&255;return e|0}e=t&~(i>>31);e=e&255;return e|0}else{r=tv(e,e+4580|0)|0;f=h[t>>2]|0;n=f<<1|1;i=(ce(n,r)|0)+i|0;if((i|0)>=(0-f|0)){t=h[a>>2]|0;if((t+f|0)<(i|0))i=i-(ce(h[e+132>>2]|0,n)|0)|0}else{i=(ce(h[e+132>>2]|0,n)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&255;return e|0}e=t&~(i>>31);e=e&255;return e|0}return 0}function tv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<<t)|0;t=h[f>>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function nv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<<h[i>>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<<h[i>>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0<a>>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function fv(e){e=e|0;zv(e);return}function av(e){e=e|0;return 50767}function lv(e,i,r){e=e|0;i=i|0;r=r|0;Hd(e,50754,12);return}function sv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;w=v;v=v+16|0;_=w;h[_>>2]=0;m=_+4|0;h[m>>2]=0;h[_+8>>2]=0;b=_+8|0;T=0;n=ye(67,1)|0;d=T;T=0;e:do{if((!(d&1)?(d=n+1|0,c[n>>0]=r,h[_>>2]=n,h[m>>2]=d,h[b>>2]=d,T=0,ve(84,_|0,i&65535|0),d=T,T=0,!(d&1)):0)?(T=0,ve(84,_|0,e&65535|0),d=T,T=0,!(d&1)):0){o=t&255;n=h[m>>2]|0;r=h[b>>2]|0;if(n>>>0>=r>>>0){i=h[_>>2]|0;e=i;a=n-e+1|0;if((a|0)<0){T=0;pe(178,_|0);d=T;T=0;if(d&1){k=52;break}e=h[_>>2]|0;r=h[b>>2]|0;i=e}s=i;n=r-s|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<a>>>0?a:n;r=h[m>>2]|0;l=r-s|0;if(!n){n=0;a=0}else k=12}else{l=h[m>>2]|0;n=2147483647;r=l;l=l-s|0;k=12}if((k|0)==12){T=0;a=ye(67,n|0)|0;d=T;T=0;if(d&1){k=52;break}}c[a+l>>0]=o;u=r-s|0;d=a+(l-u)|0;Im(d|0,i|0,u|0)|0;h[_>>2]=d;h[m>>2]=a+(l+1);h[b>>2]=a+n;if(e)zv(e)}else{c[n>>0]=o;h[m>>2]=(h[m>>2]|0)+1}i:do{if((t|0)>0){d=0;while(1){d=d+1|0;u=d&255;n=h[m>>2]|0;i=h[b>>2]|0;if(n>>>0>=i>>>0){e=h[_>>2]|0;r=e;a=n-r+1|0;if((a|0)<0){T=0;pe(178,_|0);o=T;T=0;if(o&1)break;e=h[_>>2]|0;r=e;i=h[b>>2]|0}o=e;n=i-o|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<a>>>0?a:n;i=h[m>>2]|0;l=i-o|0;if(!n){s=0;a=0}else k=25}else{l=h[m>>2]|0;n=2147483647;i=l;l=l-o|0;k=25}if((k|0)==25){k=0;T=0;a=ye(67,n|0)|0;s=T;T=0;if(s&1)break;else s=n}c[a+l>>0]=u;n=a+(l+1)|0;o=i-o|0;u=a+(l-o)|0;Im(u|0,e|0,o|0)|0;h[_>>2]=u;h[m>>2]=n;h[b>>2]=a+s;if(r){zv(r);n=h[m>>2]|0}}else{c[n>>0]=u;n=(h[m>>2]|0)+1|0;h[m>>2]=n}r=h[b>>2]|0;if(n>>>0>=r>>>0){i=h[_>>2]|0;e=i;a=n-e+1|0;if((a|0)<0){T=0;pe(178,_|0);u=T;T=0;if(u&1)break;e=h[_>>2]|0;r=h[b>>2]|0;i=e}o=i;n=r-o|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<a>>>0?a:n;a=h[m>>2]|0;l=a-o|0;if(!n){s=0;r=0}else k=36}else{l=h[m>>2]|0;n=2147483647;a=l;l=l-o|0;k=36}if((k|0)==36){k=0;T=0;r=ye(67,n|0)|0;u=T;T=0;if(u&1)break;else s=n}c[r+l>>0]=17;n=r+(l+1)|0;o=a-o|0;u=r+(l-o)|0;Im(u|0,i|0,o|0)|0;h[_>>2]=u;h[m>>2]=n;h[b>>2]=r+s;if(e){zv(e);n=h[m>>2]|0}}else{c[n>>0]=17;n=(h[m>>2]|0)+1|0;h[m>>2]=n}r=h[b>>2]|0;if(n>>>0>=r>>>0){i=h[_>>2]|0;e=i;a=n-e+1|0;if((a|0)<0){T=0;pe(178,_|0);u=T;T=0;if(u&1)break;e=h[_>>2]|0;r=h[b>>2]|0;i=e}s=i;n=r-s|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<a>>>0?a:n;r=h[m>>2]|0;l=r-s|0;if(!n){n=0;a=0}else k=48}else{l=h[m>>2]|0;n=2147483647;r=l;l=l-s|0;k=48}if((k|0)==48){k=0;T=0;a=ye(67,n|0)|0;u=T;T=0;if(u&1)break}c[a+l>>0]=0;o=r-s|0;u=a+(l-o)|0;Im(u|0,i|0,o|0)|0;h[_>>2]=u;h[m>>2]=a+(l+1);h[b>>2]=a+n;if(e)zv(e)}else{c[n>>0]=0;h[m>>2]=(h[m>>2]|0)+1}if((d|0)>=(t|0))break i}f=Ze()|0;break e}}while(0);T=0;l=ye(67,20)|0;t=T;T=0;if(!(t&1)){h[l>>2]=36800;c[l+4>>0]=-9;e=l+8|0;h[e>>2]=0;a=l+12|0;h[a>>2]=0;r=l+16|0;h[r>>2]=0;n=h[m>>2]|0;t=h[_>>2]|0;i=n-t|0;do{if((n|0)!=(t|0)){if(!((i|0)<0?(T=0,pe(178,e|0),t=T,T=0,t&1):0))k=62;if((k|0)==62?(T=0,f=ye(67,i|0)|0,t=T,T=0,!(t&1)):0){h[a>>2]=f;h[e>>2]=f;h[r>>2]=f+i;n=h[_>>2]|0;r=h[m>>2]|0;if((n|0)==(r|0))break;do{c[f>>0]=c[n>>0]|0;f=(h[a>>2]|0)+1|0;h[a>>2]=f;n=n+1|0}while((n|0)!=(r|0));n=h[_>>2]|0;break}f=Ze()|0;n=h[e>>2]|0;if(n){if((h[a>>2]|0)!=(n|0))h[a>>2]=n;zv(n)}zv(l);break e}}while(0);if(!n){v=w;return l|0}if((h[m>>2]|0)!=(n|0))h[m>>2]=n;zv(n);v=w;return l|0}else k=52}else k=52}while(0);if((k|0)==52)f=Ze()|0;n=h[_>>2]|0;if(!n)si(f|0);if((h[m>>2]|0)!=(n|0))h[m>>2]=n;zv(n);si(f|0);return 0}function ov(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;k=m+28|0;g=m+16|0;_=m+4|0;w=m;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;d=Xv(5)|0;h[g>>2]=d;b=g+8|0;h[b>>2]=d+5;c[d>>0]=74;c[d+1>>0]=70;c[d+2>>0]=73;c[d+3>>0]=70;c[d+4>>0]=0;h[y>>2]=d+5;T=0;ve(84,g|0,h[e>>2]&65535|0);d=T;T=0;e:do{if(!(d&1)){o=h[e+4>>2]&255;i=h[y>>2]|0;t=h[b>>2]|0;if(i>>>0>=t>>>0){n=h[g>>2]|0;f=n;a=i-f+1|0;if((a|0)<0){T=0;pe(178,g|0);d=T;T=0;if(d&1){p=43;break}f=h[g>>2]|0;t=h[b>>2]|0;n=f}s=n;i=t-s|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0<a>>>0?a:i;t=h[y>>2]|0;l=t-s|0;if(!i){i=0;a=0}else p=10}else{l=h[y>>2]|0;i=2147483647;t=l;l=l-s|0;p=10}if((p|0)==10){T=0;a=ye(67,i|0)|0;d=T;T=0;if(d&1){p=43;break}}c[a+l>>0]=o;u=t-s|0;d=a+(l-u)|0;Im(d|0,n|0,u|0)|0;h[g>>2]=d;h[y>>2]=a+(l+1);h[b>>2]=a+i;if(f)zv(f)}else{c[i>>0]=o;h[y>>2]=(h[y>>2]|0)+1}T=0;ve(84,g|0,h[e+8>>2]&65535|0);d=T;T=0;if(!(d&1)?(T=0,ve(84,g|0,h[e+12>>2]&65535|0),d=T,T=0,!(d&1)):0){d=e+16|0;u=h[d>>2]&255;i=h[y>>2]|0;n=h[b>>2]|0;if(i>>>0>=n>>>0){f=h[g>>2]|0;t=f;a=i-t+1|0;if((a|0)<0){T=0;pe(178,g|0);o=T;T=0;if(o&1){p=43;break}f=h[g>>2]|0;t=f;n=h[b>>2]|0}o=f;i=n-o|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0<a>>>0?a:i;a=h[y>>2]|0;l=a-o|0;if(!i){s=0;n=0}else p=23}else{l=h[y>>2]|0;i=2147483647;a=l;l=l-o|0;p=23}if((p|0)==23){T=0;n=ye(67,i|0)|0;s=T;T=0;if(s&1){p=43;break}else s=i}c[n+l>>0]=u;i=n+(l+1)|0;o=a-o|0;u=n+(l-o)|0;Im(u|0,f|0,o|0)|0;h[g>>2]=u;h[y>>2]=i;h[b>>2]=n+s;if(t){zv(t);i=h[y>>2]|0}}else{c[i>>0]=u;i=(h[y>>2]|0)+1|0;h[y>>2]=i}u=e+20|0;o=h[u>>2]&255;t=h[b>>2]|0;if(i>>>0>=t>>>0){n=h[g>>2]|0;f=n;a=i-f+1|0;if((a|0)<0){T=0;pe(178,g|0);s=T;T=0;if(s&1){p=43;break}f=h[g>>2]|0;t=h[b>>2]|0;n=f}s=n;i=t-s|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0<a>>>0?a:i;t=h[y>>2]|0;l=t-s|0;if(!i){i=0;a=0}else p=34}else{l=h[y>>2]|0;i=2147483647;t=l;l=l-s|0;p=34}if((p|0)==34){T=0;a=ye(67,i|0)|0;E=T;T=0;if(E&1){p=43;break}}c[a+l>>0]=o;o=t-s|0;E=a+(l-o)|0;Im(E|0,n|0,o|0)|0;h[g>>2]=E;h[y>>2]=a+(l+1);h[b>>2]=a+i;if(f)zv(f)}else{c[i>>0]=o;h[y>>2]=(h[y>>2]|0)+1}i=h[d>>2]|0;do{if((i|0)>0){if(!(h[e+24>>2]|0)){h[w>>2]=h[y>>2];E=0+(ce(i*3|0,h[u>>2]|0)|0)|0;T=0;h[k>>2]=h[w>>2];De(15,g|0,k|0,0,E|0)|0;E=T;T=0;if(E&1){p=43;break e}else break}t=Je(16)|0;T=0;xe(5,_|0,50792,57);E=T;T=0;if(!(E&1)){T=0;i=Ce(1)|0;E=T;T=0;if(!(E&1)?(T=0,Fe(36,t|0,1,i|0,_|0),E=T,T=0,!(E&1)):0){T=0;xe(6,t|0,824,96);T=0;r=0}else r=1;i=Ze()|0;qd(_);if(!r){r=i;break e}}else i=Ze()|0;We(t|0);r=i;break e}}while(0);T=0;l=ye(67,20)|0;E=T;T=0;if(!(E&1)){h[l>>2]=36800;c[l+4>>0]=-32;f=l+8|0;h[f>>2]=0;a=l+12|0;h[a>>2]=0;t=l+16|0;h[t>>2]=0;i=h[y>>2]|0;E=h[g>>2]|0;n=i-E|0;do{if((i|0)!=(E|0)){if(!((n|0)<0?(T=0,pe(178,f|0),E=T,T=0,E&1):0))p=53;if((p|0)==53?(T=0,r=ye(67,n|0)|0,E=T,T=0,!(E&1)):0){h[a>>2]=r;h[f>>2]=r;h[t>>2]=r+n;i=h[g>>2]|0;t=h[y>>2]|0;if((i|0)==(t|0))break;do{c[r>>0]=c[i>>0]|0;r=(h[a>>2]|0)+1|0;h[a>>2]=r;i=i+1|0}while((i|0)!=(t|0));i=h[g>>2]|0;break}i=Ze()|0;r=h[f>>2]|0;if(r){if((h[a>>2]|0)!=(r|0))h[a>>2]=r;zv(r)}zv(l);p=44;break e}}while(0);if(!i){v=m;return l|0}if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);v=m;return l|0}else p=43}else p=43}else p=43}while(0);if((p|0)==43){i=Ze()|0;p=44}if((p|0)==44)r=i;i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0);return 0}function uv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;l=v;v=v+16|0;o=l;h[o>>2]=0;u=o+4|0;h[u>>2]=0;h[o+8>>2]=0;T=0;i=ye(67,1)|0;a=T;T=0;e:do{if((((((!(a&1)?(a=i+1|0,c[i>>0]=1,h[o>>2]=i,h[u>>2]=a,h[o+8>>2]=a,T=0,ve(84,o|0,h[e>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+4>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+8>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+12>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+16>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,s=ye(67,20)|0,a=T,T=0,!(a&1)):0){h[s>>2]=36800;c[s+4>>0]=-8;n=s+8|0;h[n>>2]=0;a=s+12|0;h[a>>2]=0;e=s+16|0;h[e>>2]=0;i=h[u>>2]|0;d=h[o>>2]|0;t=i-d|0;do{if((i|0)!=(d|0)){if(!((t|0)<0?(T=0,pe(178,n|0),d=T,T=0,d&1):0))f=11;if((f|0)==11?(T=0,r=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[a>>2]=r;h[n>>2]=r;h[e>>2]=r+t;i=h[o>>2]|0;e=h[u>>2]|0;if((i|0)==(e|0))break;do{c[r>>0]=c[i>>0]|0;r=(h[a>>2]|0)+1|0;h[a>>2]=r;i=i+1|0}while((i|0)!=(e|0));i=h[o>>2]|0;break}r=Ze()|0;i=h[n>>2]|0;if(i){if((h[a>>2]|0)!=(i|0))h[a>>2]=i;zv(i)}zv(s);break e}}while(0);if(!i){v=l;return s|0}if((h[u>>2]|0)!=(i|0))h[u>>2]=i;zv(i);v=l;return s|0}else f=25}while(0);if((f|0)==25)r=Ze()|0;i=h[o>>2]|0;if(!i)si(r|0);if((h[u>>2]|0)!=(i|0))h[u>>2]=i;zv(i);si(r|0);return 0}function cv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;f=Xv(5)|0;c[f>>0]=109;c[f+1>>0]=114;c[f+2>>0]=102;c[f+3>>0]=120;c[f+4>>0]=e;T=0;n=ye(67,20)|0;t=T;T=0;if(t&1){n=Ze()|0;zv(f);si(n|0)}h[n>>2]=36800;c[n+4>>0]=-24;e=n+8|0;h[e>>2]=0;i=n+12|0;h[i>>2]=0;r=n+16|0;h[r>>2]=0;T=0;t=ye(67,5)|0;a=T;T=0;if(!(a&1)){h[i>>2]=t;h[e>>2]=t;h[r>>2]=t+5;c[t>>0]=109;a=(h[i>>2]|0)+1|0;h[i>>2]=a;t=f+1|0;c[a>>0]=c[t>>0]|0;a=(h[i>>2]|0)+1|0;h[i>>2]=a;t=t+1|0;c[a>>0]=c[t>>0]|0;a=(h[i>>2]|0)+1|0;h[i>>2]=a;t=t+1|0;c[a>>0]=c[t>>0]|0;a=(h[i>>2]|0)+1|0;h[i>>2]=a;c[a>>0]=c[t+1>>0]|0;h[i>>2]=(h[i>>2]|0)+1;zv(f);return n|0}a=Ze()|0;zv(n);zv(f);si(a|0);return 0}function dv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+16|0;g=p;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;_=g+8|0;T=0;n=ye(67,1)|0;w=T;T=0;e:do{if(!(w&1)){l=n+1|0;w=l;c[n>>0]=i;h[g>>2]=n;h[y>>2]=w;h[_>>2]=w;if((i|0)>0){a=l;w=0;do{k=w+e&255;if(a>>>0>=l>>>0){n=h[g>>2]|0;s=n;a=a-s+1|0;if((a|0)<0){T=0;pe(178,g|0);b=T;T=0;if(b&1){m=28;break}s=h[g>>2]|0;l=h[_>>2]|0;b=s}else b=n;d=b;n=l-d|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<a>>>0?a:n;l=h[y>>2]|0;o=l-d|0;if(!n){u=0;a=0}else m=13}else{o=h[y>>2]|0;n=2147483647;l=o;o=o-d|0;m=13}if((m|0)==13){m=0;T=0;a=ye(67,n|0)|0;u=T;T=0;if(u&1){m=28;break}else u=n}c[a+o>>0]=k;n=a+(o+1)|0;d=l-d|0;k=a+(o-d)|0;Im(k|0,b|0,d|0)|0;h[g>>2]=k;h[y>>2]=n;h[_>>2]=a+u;if(s){zv(s);n=h[y>>2]|0}}else{c[a>>0]=k;n=(h[y>>2]|0)+1|0;h[y>>2]=n}l=h[_>>2]|0;if(n>>>0>=l>>>0){s=h[g>>2]|0;a=s;o=n-a+1|0;if((o|0)<0){T=0;pe(178,g|0);k=T;T=0;if(k&1){m=28;break}s=h[g>>2]|0;a=s;l=h[_>>2]|0}d=s;n=l-d|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<o>>>0?o:n;o=h[y>>2]|0;l=o-d|0;if(!n){n=0;u=0}else m=24}else{l=h[y>>2]|0;n=2147483647;o=l;l=l-d|0;m=24}if((m|0)==24){m=0;T=0;u=ye(67,n|0)|0;k=T;T=0;if(k&1){m=28;break}}c[u+l>>0]=0;b=o-d|0;k=u+(l-b)|0;Im(k|0,s|0,b|0)|0;h[g>>2]=k;h[y>>2]=u+(l+1);h[_>>2]=u+n;if(a)zv(a)}else{c[n>>0]=0;h[y>>2]=(h[y>>2]|0)+1}w=w+1|0;a=h[y>>2]|0;l=h[_>>2]|0}while((w|0)<(i|0));if((m|0)==28){f=Ze()|0;break}n=r&255;if(a>>>0<l>>>0){c[a>>0]=n;a=(h[y>>2]|0)+1|0;h[y>>2]=a}else m=37}else{a=l;n=r&255;m=37}if((m|0)==37){s=h[g>>2]|0;o=s;u=a-o+1|0;if((u|0)<0){T=0;pe(178,g|0);r=T;T=0;if(r&1){m=29;break}o=h[g>>2]|0;l=h[_>>2]|0;s=o}k=s;a=l-k|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0<u>>>0?u:a;u=h[y>>2]|0;d=u-k|0;if(!a){b=0;l=0}else m=43}else{d=h[y>>2]|0;a=2147483647;u=d;d=d-k|0;m=43}if((m|0)==43){T=0;l=ye(67,a|0)|0;r=T;T=0;if(r&1){m=29;break}else b=a}c[l+d>>0]=n;a=l+(d+1)|0;e=u-k|0;r=l+(d-e)|0;Im(r|0,s|0,e|0)|0;h[g>>2]=r;h[y>>2]=a;h[_>>2]=l+b;if(o){zv(o);a=h[y>>2]|0}}k=t&255;n=h[_>>2]|0;if(a>>>0>=n>>>0){l=h[g>>2]|0;s=l;a=a-s+1|0;if((a|0)<0){T=0;pe(178,g|0);t=T;T=0;if(t&1){m=29;break}s=h[g>>2]|0;n=h[_>>2]|0;l=s}b=l;n=n-b|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<a>>>0?a:n;o=h[y>>2]|0;u=o-b|0;if(!n){d=0;a=0}else m=54}else{u=h[y>>2]|0;n=2147483647;o=u;u=u-b|0;m=54}if((m|0)==54){T=0;a=ye(67,n|0)|0;t=T;T=0;if(t&1){m=29;break}else d=n}c[a+u>>0]=k;n=a+(u+1)|0;r=o-b|0;t=a+(u-r)|0;Im(t|0,l|0,r|0)|0;h[g>>2]=t;h[y>>2]=n;h[_>>2]=a+d;if(s){zv(s);n=h[y>>2]|0}}else{c[a>>0]=k;n=(h[y>>2]|0)+1|0;h[y>>2]=n}a=h[_>>2]|0;if(n>>>0>=a>>>0){l=h[g>>2]|0;s=l;o=n-s+1|0;if((o|0)<0){T=0;pe(178,g|0);t=T;T=0;if(t&1){m=29;break}s=h[g>>2]|0;a=h[_>>2]|0;l=s}d=l;n=a-d|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<o>>>0?o:n;a=h[y>>2]|0;u=a-d|0;if(!n){n=0;o=0}else m=65}else{u=h[y>>2]|0;n=2147483647;a=u;u=u-d|0;m=65}if((m|0)==65){T=0;o=ye(67,n|0)|0;t=T;T=0;if(t&1){m=29;break}}c[o+u>>0]=0;r=a-d|0;t=o+(u-r)|0;Im(t|0,l|0,r|0)|0;h[g>>2]=t;h[y>>2]=o+(u+1);h[_>>2]=o+n;if(s)zv(s)}else{c[n>>0]=0;h[y>>2]=(h[y>>2]|0)+1}T=0;u=ye(67,20)|0;_=T;T=0;if(!(_&1)){h[u>>2]=36800;c[u+4>>0]=-38;s=u+8|0;h[s>>2]=0;o=u+12|0;h[o>>2]=0;a=u+16|0;h[a>>2]=0;n=h[y>>2]|0;_=h[g>>2]|0;l=n-_|0;do{if((n|0)!=(_|0)){if(!((l|0)<0?(T=0,pe(178,s|0),_=T,T=0,_&1):0))m=72;if((m|0)==72?(T=0,f=ye(67,l|0)|0,_=T,T=0,!(_&1)):0){h[o>>2]=f;h[s>>2]=f;h[a>>2]=f+l;n=h[g>>2]|0;a=h[y>>2]|0;if((n|0)==(a|0))break;do{c[f>>0]=c[n>>0]|0;f=(h[o>>2]|0)+1|0;h[o>>2]=f;n=n+1|0}while((n|0)!=(a|0));n=h[g>>2]|0;break}f=Ze()|0;n=h[s>>2]|0;if(n){if((h[o>>2]|0)!=(n|0))h[o>>2]=n;zv(n)}zv(u);break e}}while(0);if(!n){v=p;return u|0}if((h[y>>2]|0)!=(n|0))h[y>>2]=n;zv(n);v=p;return u|0}else m=29}else m=29}while(0);if((m|0)==29)f=Ze()|0;n=h[g>>2]|0;if(!n)si(f|0);if((h[y>>2]|0)!=(n|0))h[y>>2]=n;zv(n);si(f|0);return 0}function hv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=(i&65535)>>>8&255;b=e+4|0;r=h[b>>2]|0;k=e+8|0;t=h[k>>2]|0;if(r>>>0>=t>>>0){n=h[e>>2]|0;f=n;a=r-f+1|0;if((a|0)<0){Yv(e);f=h[e>>2]|0;t=h[k>>2]|0;n=f}u=n;r=t-u|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0<a>>>0?a:r;a=h[b>>2]|0;t=a-u|0;if(!r){o=0;s=0;l=t;r=a}else w=8}else{t=h[b>>2]|0;r=2147483647;a=t;t=t-u|0;w=8}if((w|0)==8){o=r;s=Xv(r)|0;l=t;r=a}c[s+l>>0]=d;t=s+(l+1)|0;u=r-u|0;d=s+(l-u)|0;Im(d|0,n|0,u|0)|0;h[e>>2]=d;h[b>>2]=t;h[k>>2]=s+o;if(f){zv(f);t=h[b>>2]|0}}else{c[r>>0]=d;t=(h[b>>2]|0)+1|0;h[b>>2]=t}u=i&255;r=h[k>>2]|0;if(t>>>0<r>>>0){c[t>>0]=u;h[b>>2]=(h[b>>2]|0)+1;return}n=h[e>>2]|0;f=n;t=t-f+1|0;if((t|0)<0){Yv(e);f=h[e>>2]|0;r=h[k>>2]|0;n=f}o=n;r=r-o|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0<t>>>0?t:r;a=h[b>>2]|0;t=a-o|0;if(!r){s=0;l=0;r=a}else w=18}else{t=h[b>>2]|0;r=2147483647;a=t;t=t-o|0;w=18}if((w|0)==18){s=r;l=Xv(r)|0;r=a}c[l+t>>0]=u;i=r-o|0;w=l+(t-i)|0;Im(w|0,n|0,i|0)|0;h[e>>2]=w;h[b>>2]=l+(t+1);h[k>>2]=l+s;if(!f)return;zv(f);return}function bv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;n=h[e>>2]|0;w=h[i>>2]|0;k=w;s=n;d=r;o=t-d|0;if((o|0)<=0){_=w;return _|0}b=e+8|0;i=h[b>>2]|0;_=e+4|0;u=h[_>>2]|0;f=u;if((o|0)<=(i-f|0)){l=f-k|0;if((o|0)>(l|0)){a=r+l|0;if((a|0)==(t|0))i=u;else{f=a;i=u;do{c[i>>0]=c[f>>0]|0;i=(h[_>>2]|0)+1|0;h[_>>2]=i;f=f+1|0}while((f|0)!=(t|0))}if((l|0)>0)l=i;else{_=w;return _|0}}else{l=u;a=t}n=l-(n+(o-s+k))|0;i=w+n|0;if(i>>>0<u>>>0){f=l;do{c[f>>0]=c[i>>0]|0;i=i+1|0;f=(h[_>>2]|0)+1|0;h[_>>2]=f}while((i|0)!=(u|0))}Nm(l+(0-n)|0,w|0,n|0)|0;Nm(w|0,r|0,a-d|0)|0;_=w;return _|0}f=f-s+o|0;if((f|0)<0){Yv(e);i=h[b>>2]|0;n=h[e>>2]|0}a=n;i=i-a|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0<f>>>0?f:i;f=k-a|0;if(!i){a=0;o=0}else l=15}else{i=2147483647;f=k-a|0;l=15}if((l|0)==15){a=i;o=Xv(i)|0}s=o+f|0;i=s;l=o+a|0;if((r|0)!=(t|0)){n=r;a=s;do{c[a>>0]=c[n>>0]|0;a=i+1|0;i=a;n=n+1|0}while((n|0)!=(t|0));n=h[e>>2]|0}r=k-n|0;t=o+(f-r)|0;Im(t|0,n|0,r|0)|0;k=(h[_>>2]|0)-k|0;r=i;Im(r|0,w|0,k|0)|0;i=h[e>>2]|0;h[e>>2]=t;h[_>>2]=r+k;h[b>>2]=l;if(!i){_=s;return _|0}zv(i);_=s;return _|0}function kv(e){e=e|0;var i=0;h[e>>2]=36800;i=h[e+8>>2]|0;if(!i)return;e=e+12|0;if((h[e>>2]|0)!=(i|0))h[e>>2]=i;zv(i);return}function wv(e){e=e|0;var i=0,r=0;h[e>>2]=36800;i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function _v(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;mv(i,-1);mv(i,c[e+4>>0]|0);n=e+12|0;t=e+8|0;e=(h[n>>2]|0)-(h[t>>2]|0)+2|0;mv(i,(e&65535)>>>8&255);mv(i,e&255);e=h[t>>2]|0;if((h[n>>2]|0)==(e|0))return;else r=0;do{mv(i,c[e+r>>0]|0);r=r+1|0;e=h[t>>2]|0}while(r>>>0<((h[n>>2]|0)-e|0)>>>0);return}function mv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;n=h[e+4>>2]|0;if(n){r=n+24|0;t=h[r>>2]|0;if((t|0)==(h[n+28>>2]|0)){ME[h[(h[n>>2]|0)+52>>2]&63](n,i&255)|0;return}else{h[r>>2]=t+1;c[t>>0]=i;return}}r=e+16|0;t=h[r>>2]|0;if(t>>>0<(h[e+12>>2]|0)>>>0){h[r>>2]=t+1;c[(h[e+8>>2]|0)+t>>0]=i;return}r=Je(16)|0;T=0;t=Ce(1)|0;i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}T=0;xe(7,r|0,4,t|0);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}function pv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;n=(i|0)<4095?(i+128|0)/256|0:16;f=(r*3|0)+2+n|0;t=r+1|0;f=(f|0)<(t|0)|(f|0)>(i|0)?t:f;h[e+4>>2]=f;t=(n<<2|3)+(r*5|0)|0;t=(t|0)>(i|0)|(t|0)<(f|0)?f:t;h[e+8>>2]=t;r=(r*7|0)+4+(n*17|0)|0;h[e+12>>2]=(r|0)>(i|0)|(r|0)<(t|0)?t:r;h[e>>2]=i;h[e+16>>2]=64;return}function vv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+128|0;l=o+100|0;t=o+16|0;r=o+112|0;s=o+4|0;u=o;n=t;f=e+20|0;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));h[t+16>>2]=h[e+4>>2];f=fr(r,t,e+56|0)|0;r=h[(h[f>>2]|0)+16>>2]|0;e=e+8|0;T=0;h[l>>2]=h[e>>2];h[l+4>>2]=h[e+4>>2];h[l+8>>2]=h[e+8>>2];r=Oe(r|0,f|0,l|0)|0;e=T;T=0;do{if(e&1)r=Ze()|0;else{n=i+4|0;h[s>>2]=h[n>>2];h[s+4>>2]=h[n+4>>2];h[s+8>>2]=h[n+8>>2];n=i+16|0;e=h[n>>2]|0;l=s+8|0;h[l>>2]=(h[l>>2]|0)-e;l=s+4|0;h[l>>2]=(h[l>>2]|0)+e;l=h[(h[f>>2]|0)+12>>2]|0;h[u>>2]=r;T=0;r=De(l|0,f|0,u|0,s|0,((c[i>>0]|0)==0?0:(h[i+8>>2]|0)+e|0)|0)|0;s=T;T=0;if(s&1){r=Ze()|0;t=h[u>>2]|0;h[u>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}t=h[u>>2]|0;h[u>>2]=0;if(t)kE[h[(h[t>>2]|0)+4>>2]&255](t);if(!(h[i+4>>2]|0))h[n>>2]=(h[n>>2]|0)+r;if(!f){v=o;return}kE[h[(h[f>>2]|0)+4>>2]&255](f);v=o;return}}while(0);if(!f)si(r|0);kE[h[(h[f>>2]|0)+4>>2]&255](f);si(r|0)}function gv(e,i){e=e|0;i=i|0;h[e>>2]=h[i>>2];h[e+4>>2]=h[i+4>>2];h[e+8>>2]=h[i+8>>2];c[e+12>>0]=0;i=e+16|0;e=i+100|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(e|0));return}function yv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+32|0;m=p+4|0;b=p+16|0;g=p;Ev(e);k=e+16|0;n=h[e+24>>2]|0;e:do{if((n+-2|0)>>>0<=14){w=e+40|0;r=h[w>>2]|0;if(r>>>0>2)r=5;else{_=e+32|0;f=h[_>>2]|0;switch(f|0){case 0:{r=1;break e}case 4:{if((r|0)==2){r=2;break e}break}case 3:break;default:if(r){r=2;break e}}d=e+100|0;r=e+108|0;t=h[r>>2]|0;if((t|0)<1){t=h[k>>2]|0;h[r>>2]=t;r=h[e+20>>2]|0;h[e+112>>2]=r}else r=h[e+112>>2]|0;s=qm(r|0,((r|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;l=(n+7|0)/8|0;l=qm(s|0,H|0,l|0,((l|0)<0)<<31>>31|0)|0;s=i+4|0;r=h[s>>2]|0;a=i+8|0;if((r|0)!=0?(o=h[a>>2]|0,u=qm(f|0,((f|0)<0)<<31>>31|0,l|0,H|0)|0,n=H,0<(n|0)|0==(n|0)&o>>>0<u>>>0):0){r=Je(16)|0;T=0;t=Ce(1)|0;g=T;T=0;if(!(g&1)?(T=0,xe(7,r|0,3,t|0),g=T,T=0,!(g&1)):0)Ei(r|0,824,96);g=Ze()|0;We(r|0);si(g|0)}o=e+52|0;u=e+12|0;if((f|0)>0)f=0;else{v=p;return}while(1){Av(e,(f|0)==0);t=tr(b,k,o)|0;n=h[(h[t>>2]|0)+8>>2]|0;T=0;h[m>>2]=h[i>>2];h[m+4>>2]=h[i+4>>2];h[m+8>>2]=h[i+8>>2];n=Oe(n|0,t|0,m|0)|0;y=T;T=0;if(y&1){n=32;break}y=h[(h[t>>2]|0)+16>>2]|0;h[g>>2]=n;T=0;_e(y|0,t|0,g|0,d|0,e|0,(c[u>>0]|0)!=0|0);y=T;T=0;if(y&1){n=30;break}n=h[g>>2]|0;h[g>>2]=0;if(n)kE[h[(h[n>>2]|0)+4>>2]&255](n);if(!r)r=0;else{r=r+l|0;h[s>>2]=r;h[a>>2]=(h[a>>2]|0)-l}n=(h[w>>2]|0)==0;f=(n&1)+f|0;if(t)kE[h[(h[t>>2]|0)+4>>2]&255](t);if(!n){n=34;break}if((f|0)>=(h[_>>2]|0)){n=34;break}}if((n|0)==30){r=Ze()|0;n=h[g>>2]|0;h[g>>2]=0;if(n)kE[h[(h[n>>2]|0)+4>>2]&255](n)}else if((n|0)==32){r=Ze()|0;if(!t){y=r;si(y|0)}}else if((n|0)==34){v=p;return}kE[h[(h[t>>2]|0)+4>>2]&255](t);y=r;si(y|0)}}else r=2}while(0);t=Je(16)|0;T=0;n=Ce(1)|0;y=T;T=0;if(!(y&1)?(T=0,xe(7,t|0,r|0,n|0),y=T,T=0,!(y&1)):0)Ei(t|0,824,96);y=Ze()|0;We(t|0);si(y|0)}function Ev(e){e=e|0;var i=0,r=0,t=0,n=0;if((Sv(e)|0)<<24>>24!=-40){i=Je(16)|0;T=0;r=Ce(1)|0;n=T;T=0;if(!(n&1)?(T=0,xe(7,i|0,5,r|0),n=T,T=0,!(n&1)):0)Ei(i|0,824,96);n=Ze()|0;We(i|0);si(n|0)}i=Sv(e)|0;if(i<<24>>24==-38)return;while(1){t=((Tv(e)|0)&255)<<8;t=t|(Tv(e)|0)&255;i=Pv(e,i)|0;r=-2-i+t|0;if((r|0)<0)break;if((r|0)>0){i=t+-2-i|0;r=0;do{Tv(e)|0;r=r+1|0}while((r|0)!=(i|0))}i=Sv(e)|0;if(i<<24>>24==-38){n=8;break}}if((n|0)==8)return;i=Je(16)|0;T=0;r=Ce(1)|0;n=T;T=0;if(!(n&1)?(T=0,xe(7,i|0,5,r|0),n=T,T=0,!(n&1)):0)Ei(i|0,824,96);n=Ze()|0;We(i|0);si(n|0)}function Av(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;if(!i){if((Tv(e)|0)<<24>>24!=-1){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,12,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}if((Tv(e)|0)<<24>>24!=-38){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,5,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}}Tv(e)|0;Tv(e)|0;r=Tv(e)|0;t=r&255;do{if(r<<24>>24==1){Tv(e)|0;r=0;n=20}else{if((t|0)==(h[e+32>>2]|0)){i=Tv(e)|0;if(!(r<<24>>24))break;else{r=0;n=20;break}}i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,2,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}}while(0);if((n|0)==20)while(1){Tv(e)|0;r=r+1|0;i=Tv(e)|0;if((r|0)==(t|0))break;else n=20}h[e+36>>2]=i&255;n=Tv(e)|0;r=e+40|0;h[r>>2]=n&255;if((n&255)>=3){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,5,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}if((Tv(e)|0)<<24>>24){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,5,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}t=e+28|0;if(h[t>>2]|0)return;i=h[e+108>>2]|0;if(!i)i=h[e+16>>2]|0;if(!(h[r>>2]|0))r=1;else r=h[e+32>>2]|0;n=ce(r,i)|0;e=ce(n,((h[e+24>>2]|0)+7|0)/8|0)|0;h[t>>2]=e;return}function Mv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;if((r|0)<=0)return;d=i+4|0;b=i+8|0;w=0;do{k=Tv(e)|0;t=h[d>>2]|0;n=h[b>>2]|0;if(t>>>0>=n>>>0){f=h[i>>2]|0;a=f;l=t-a+1|0;if((l|0)<0){Yv(i);a=h[i>>2]|0;n=h[b>>2]|0;f=a}u=f;t=n-u|0;if(t>>>0<1073741823){t=t<<1;t=t>>>0<l>>>0?l:t;l=h[d>>2]|0;n=l-u|0;if(!t){o=0;s=0;t=l}else _=10}else{n=h[d>>2]|0;t=2147483647;l=n;n=n-u|0;_=10}if((_|0)==10){_=0;o=t;s=Xv(t)|0;t=l}c[s+n>>0]=k;u=t-u|0;k=s+(n-u)|0;Im(k|0,f|0,u|0)|0;h[i>>2]=k;h[d>>2]=s+(n+1);h[b>>2]=s+o;if(a)zv(a)}else{c[t>>0]=k;h[d>>2]=(h[d>>2]|0)+1}w=w+1|0}while((w|0)!=(r|0));return}function Tv(e){e=e|0;var i=0,r=0,t=0,n=0;r=h[e>>2]|0;if(r){e=r+12|0;i=h[e>>2]|0;if((i|0)==(h[r+16>>2]|0))e=mE[h[(h[r>>2]|0)+40>>2]&127](r)|0;else{h[e>>2]=i+1;e=b[i>>0]|0}n=e&255;return n|0}t=e+8|0;n=h[t>>2]|0;if(n){e=e+4|0;i=h[e>>2]|0;r=c[i>>0]|0;if(!i){n=r;return n|0}h[e>>2]=i+1;h[t>>2]=n+-1;n=r;return n|0}e=Je(16)|0;T=0;i=Ce(1)|0;n=T;T=0;if(n&1){n=Ze()|0;We(e|0);si(n|0)}T=0;xe(7,e|0,4,i|0);n=T;T=0;if(n&1){n=Ze()|0;We(e|0);si(n|0)}else Ei(e|0,824,96);return 0}function Sv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0;r=v;v=v+176|0;i=r+152|0;s=r+16|0;a=r;l=Tv(e)|0;t=l&255;if(l<<24>>24==-1){do{i=Tv(e)|0}while(i<<24>>24==-1);v=r;return i|0}l=s+56|0;f=s+4|0;h[s>>2]=36160;h[l>>2]=36180;T=0;ve(62,s+56|0,f|0);n=T;T=0;if(n&1){s=Ze()|0;bh(l);si(s|0)}h[s+128>>2]=0;h[s+132>>2]=-1;h[s>>2]=36200;h[s+56>>2]=36220;T=0;pe(180,f|0);n=T;T=0;do{if(n&1)i=Ze()|0;else{h[f>>2]=36236;n=s+36|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[s+52>>2]=16;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;T=0;ve(63,f|0,i|0);r=T;T=0;if(r&1){s=Ze()|0;qd(i);qd(n);gh(f);i=s;break}qd(i);h[s+((h[(h[s>>2]|0)+-12>>2]|0)+76)>>2]=48;T=0;i=Ae(28,s|0,50907,62)|0;r=T;T=0;if(!(r&1)?(r=i+((h[(h[i>>2]|0)+-12>>2]|0)+4)|0,h[r>>2]=h[r>>2]&-75|8,r=i+((h[(h[i>>2]|0)+-12>>2]|0)+4)|0,h[r>>2]=h[r>>2]|16384,h[i+((h[(h[i>>2]|0)+-12>>2]|0)+12)>>2]=2,T=0,Oe(38,i|0,t|0)|0,t=T,T=0,!(t&1)):0){r=Je(16)|0;T=0;ve(64,a|0,f|0);t=T;T=0;if(!(t&1)){T=0;i=Ce(1)|0;t=T;T=0;if(!(t&1)?(T=0,Fe(36,r|0,12,i|0,a|0),t=T,T=0,!(t&1)):0){T=0;xe(6,r|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(a);if(!e){a=i;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}else i=Ze()|0;We(r|0);a=i;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}a=Ze()|0;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}while(0);s=i;bh(l);si(s|0);return 0}function Pv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;r=v;v=v+320|0;l=r+300|0;u=r+152|0;s=r+288|0;c=r+16|0;o=r;switch(i<<24>>24){case-9:{d=(Tv(e)|0)&255;h[e+24>>2]=d;d=((Tv(e)|0)&255)<<8|(Tv(e)|0)&255;c=((Tv(e)|0)&255)<<8|(Tv(e)|0)&255;h[e+16>>2]=c;h[e+20>>2]=d;d=(Tv(e)|0)&255;h[e+32>>2]=d;d=6;v=r;return d|0}case-8:{d=Ov(e)|0;v=r;return d|0}case-24:{d=Rv(e)|0;v=r;return d|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{a=u+56|0;n=u+4|0;h[u>>2]=36160;h[a>>2]=36180;T=0;ve(62,u+56|0,n|0);c=T;T=0;if(c&1){d=Ze()|0;bh(a);si(d|0)}h[u+128>>2]=0;h[u+132>>2]=-1;h[u>>2]=36200;h[u+56>>2]=36220;T=0;pe(180,n|0);c=T;T=0;do{if(c&1)e=Ze()|0;else{h[n>>2]=36236;f=u+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[u+52>>2]=16;h[l>>2]=0;h[l+4>>2]=0;h[l+8>>2]=0;T=0;ve(63,n|0,l|0);c=T;T=0;if(c&1){e=Ze()|0;qd(l);qd(f);gh(n);break}qd(l);T=0;e=Ae(28,u|0,50970,26)|0;c=T;T=0;do{if((!(c&1)?(T=0,t=Oe(38,e|0,i&255|0)|0,c=T,T=0,!(c&1)):0)?(T=0,Ae(28,t|0,50997,18)|0,c=T,T=0,!(c&1)):0){t=Je(16)|0;T=0;ve(64,s|0,n|0);c=T;T=0;if(!(c&1)){T=0;e=Ce(1)|0;c=T;T=0;if(!(c&1)?(T=0,Fe(36,t|0,10,e|0,s|0),c=T,T=0,!(c&1)):0){T=0;xe(6,t|0,824,96);T=0;r=0}else r=1;e=Ze()|0;qd(s);if(!r)break}else e=Ze()|0;We(t|0)}else d=20}while(0);if((d|0)==20)e=Ze()|0;h[u>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);d=e;si(d|0)}}while(0);d=e;bh(a);si(d|0)}case-25:case-32:case-2:{d=0;v=r;return d|0}default:{s=c+56|0;f=c+4|0;h[c>>2]=36160;h[s>>2]=36180;T=0;ve(62,c+56|0,f|0);u=T;T=0;if(u&1){d=Ze()|0;bh(s);si(d|0)}h[c+128>>2]=0;h[c+132>>2]=-1;h[c>>2]=36200;h[c+56>>2]=36220;T=0;pe(180,f|0);u=T;T=0;do{if(u&1)e=Ze()|0;else{h[f>>2]=36236;a=c+36|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[c+52>>2]=16;h[l>>2]=0;h[l+4>>2]=0;h[l+8>>2]=0;T=0;ve(63,f|0,l|0);u=T;T=0;if(u&1){e=Ze()|0;qd(l);qd(a);gh(f);break}qd(l);T=0;e=Ae(28,c|0,51016,20)|0;u=T;T=0;do{if((!(u&1)?(T=0,n=Oe(38,e|0,i&255|0)|0,u=T,T=0,!(u&1)):0)?(T=0,Ae(28,n|0,51037,13)|0,u=T,T=0,!(u&1)):0){t=Je(16)|0;T=0;ve(64,o|0,f|0);u=T;T=0;if(!(u&1)){T=0;e=Ce(1)|0;u=T;T=0;if(!(u&1)?(T=0,Fe(36,t|0,11,e|0,o|0),u=T,T=0,!(u&1)):0){T=0;xe(6,t|0,824,96);T=0;r=0}else r=1;e=Ze()|0;qd(o);if(!r)break}else e=Ze()|0;We(t|0)}else d=40}while(0);if((d|0)==40)e=Ze()|0;h[c>>2]=36200;h[s>>2]=36220;h[f>>2]=36236;qd(a);gh(f);bh(s);d=e;si(d|0)}}while(0);d=e;bh(s);si(d|0)}}return 0}function Ov(e){e=e|0;var i=0;if((Tv(e)|0)<<24>>24!=1){e=1;return e|0}i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+52>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+56>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+60>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+64>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+68>>2]=i;e=11;return e|0}function Rv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;r=v;v=v+16|0;n=r;h[n>>2]=0;f=n+4|0;h[f>>2]=0;h[n+8>>2]=0;T=0;xe(9,e|0,n|0,4);i=T;T=0;e:do{if(i&1)t=3;else{i=h[n>>2]|0;i:do{if(!(tE(i,51051,4)|0)){T=0;i=ye(69,e|0)|0;a=T;T=0;if(a&1){t=3;break e}i=i&255;switch(i|0){case 3:case 2:case 1:case 0:{h[e+44>>2]=i;e=5;i=h[n>>2]|0;break i}case 5:case 4:{i=Je(16)|0;T=0;e=Ce(1)|0;a=T;T=0;if(!(a&1)?(T=0,xe(7,i|0,7,e|0),a=T,T=0,!(a&1)):0){T=0;xe(6,i|0,824,96);T=0;t=3;break e}e=Ze()|0;We(i|0);break e}default:{i=Je(16)|0;T=0;e=Ce(1)|0;a=T;T=0;if(!(a&1)?(T=0,xe(7,i|0,5,e|0),a=T,T=0,!(a&1)):0){T=0;xe(6,i|0,824,96);T=0;t=3;break e}e=Ze()|0;We(i|0);break e}}}else e=4}while(0);if(!i){v=r;return e|0}if((h[f>>2]|0)!=(i|0))h[f>>2]=i;zv(i);v=r;return e|0}}while(0);if((t|0)==3)e=Ze()|0;i=h[n>>2]|0;if(!i)si(e|0);if((h[f>>2]|0)!=(i|0))h[f>>2]=i;zv(i);si(e|0);return 0}function Lv(e){e=e|0;var i=0,r=0,t=0;t=h[(h[e>>2]|0)+-12>>2]|0;h[e+t>>2]=36200;i=e+(t+56)|0;h[i>>2]=36220;r=e+(t+4)|0;h[r>>2]=36236;qd(e+(t+36)|0);gh(r);bh(i);return}function Cv(e){e=e|0;return}function Dv(e){e=e|0;zv(e);return}function xv(e){e=e|0;c[e>>0]=0;e=e+4|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[e+20>>2]=0;h[e+24>>2]=0;h[e+28>>2]=0;return}function Iv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;n=v;v=v+16|0;f=n;i=cv(i)|0;h[f>>2]=i;r=e+28|0;t=h[r>>2]|0;if(t>>>0<(h[e+32>>2]|0)>>>0){h[t>>2]=i;h[r>>2]=t+4;h[f>>2]=0;v=n;return}T=0;ve(57,e+24|0,f|0);e=T;T=0;if(e&1){i=Ze()|0;r=h[f>>2]|0;h[f>>2]=0;if(!r)si(i|0);kE[h[(h[r>>2]|0)+4>>2]&255](r);si(i|0)}else{i=h[f>>2]|0;h[f>>2]=0;if(!i){v=n;return}kE[h[(h[i>>2]|0)+4>>2]&255](i);v=n;return}}function Bv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;t=e+4|0;h[t>>2]=h[i>>2];h[t+4>>2]=h[i+4>>2];h[t+8>>2]=h[i+8>>2];mv(e,-1);mv(e,-40);t=e+28|0;n=e+24|0;i=h[n>>2]|0;if((h[t>>2]|0)==(i|0)){mv(e,-1);mv(e,-39);e=e+16|0;e=h[e>>2]|0;return e|0}else r=0;do{f=h[i+(r<<2)>>2]|0;wE[h[(h[f>>2]|0)+8>>2]&127](f,e);r=r+1|0;i=h[n>>2]|0}while(r>>>0<(h[t>>2]|0)-i>>2>>>0);mv(e,-1);mv(e,-39);f=e+16|0;f=h[f>>2]|0;return f|0}function Nv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;c=v;v=v+48|0;l=c+32|0;n=c+12|0;s=c+8|0;u=c+4|0;d=c;t=r+36|0;do{if(((((h[t>>2]|0)==0?(h[r+40>>2]|0)==0:0)?(h[r+44>>2]|0)==0:0)?(h[r+48>>2]|0)==0:0)?(h[r+52>>2]|0)==0:0){t=h[r+8>>2]|0;if((t|0)<=12){f=e+28|0;a=e+32|0;break}pv(n,(1<<t)+-1|0,h[r+20>>2]|0);t=uv(n)|0;h[s>>2]=t;f=e+28|0;n=h[f>>2]|0;a=e+32|0;if(n>>>0<(h[a>>2]|0)>>>0){h[n>>2]=t;h[f>>2]=n+4;h[s>>2]=0;break}T=0;ve(57,e+24|0,s|0);l=T;T=0;if(!(l&1)){t=h[s>>2]|0;h[s>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}r=Ze()|0;t=h[s>>2]|0;h[s>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}else o=6}while(0);do{if((o|0)==6){t=uv(t)|0;h[l>>2]=t;f=e+28|0;n=h[f>>2]|0;a=e+32|0;if(n>>>0<(h[a>>2]|0)>>>0){h[n>>2]=t;h[f>>2]=n+4;h[l>>2]=0;break}T=0;ve(57,e+24|0,l|0);o=T;T=0;if(!(o&1)){t=h[l>>2]|0;h[l>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}r=Ze()|0;t=h[l>>2]|0;h[l>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}}while(0);t=e+20|0;n=(h[t>>2]|0)+1|0;h[t>>2]=n;t=h[r+24>>2]|0;l=(t|0)==0?1:h[r+16>>2]|0;t=dv(n,l,h[r+20>>2]|0,t)|0;h[u>>2]=t;n=h[f>>2]|0;do{if(n>>>0<(h[a>>2]|0)>>>0){h[n>>2]=t;h[f>>2]=n+4;h[u>>2]=0}else{T=0;ve(57,e+24|0,u|0);o=T;T=0;if(!(o&1)){t=h[u>>2]|0;h[u>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}r=Ze()|0;t=h[u>>2]|0;h[u>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}}while(0);s=Xv(104)|0;h[s>>2]=36820;h[s+4>>2]=l;n=s+8|0;h[n>>2]=h[i>>2];h[n+4>>2]=h[i+4>>2];h[n+8>>2]=h[i+8>>2];n=s+20|0;t=n+84|0;do{h[n>>2]=h[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(t|0));h[d>>2]=s;r=h[f>>2]|0;if(r>>>0<(h[a>>2]|0)>>>0){h[r>>2]=s;h[f>>2]=r+4;h[d>>2]=0;v=c;return}T=0;ve(57,e+24|0,d|0);e=T;T=0;if(e&1){r=Ze()|0;t=h[d>>2]|0;h[d>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}else{r=h[d>>2]|0;h[d>>2]=0;if(!r){v=c;return}kE[h[(h[r>>2]|0)+4>>2]&255](r);v=c;return}}function Fv(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var d=0,b=0,k=0,w=0,_=0,m=0,p=0;k=v;v=v+96|0;b=k;d=Qi(e,i,b,0)|0;if(d){n=d;v=k;return n|0}c[b+32>>0]=0;_=h[b+8>>2]|0;p=h[b>>2]|0;m=h[b+4>>2]|0;d=ce(m,p)|0;w=h[b+16>>2]|0;d=ce(ce(d,(_|0)<9?1:2)|0,w)|0;h[t>>2]=d;d=jc(d)|0;h[r>>2]=d;h[n>>2]=p;h[f>>2]=m;h[a>>2]=_;h[l>>2]=h[b+12>>2];h[s>>2]=w;h[o>>2]=h[b+20>>2];h[u>>2]=h[b+24>>2];n=$i(d,h[t>>2]|0,e,i,0,0)|0;v=k;return n|0}function Uv(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;var o=0,u=0,c=0,d=0;c=v;v=v+96|0;o=c+4|0;a=c;u=o;d=u+84|0;do{h[u>>2]=0;u=u+4|0}while((u|0)<(d|0));h[o+16>>2]=f;h[o+8>>2]=n;h[o>>2]=r;h[o+4>>2]=t;r=jc(i)|0;h[l>>2]=r;h[a>>2]=0;r=Zi(l,i,a,e,i,o,0)|0;h[s>>2]=h[a>>2];v=c;return r|0}function jv(e,i){e=e|0;i=i|0;var r=0;r=v;v=v+16|0;h[r>>2]=i;i=h[9320]|0;zy(i,e,r)|0;Ny(10,i)|0;Xe()}function Hv(e){e=e|0;Ke(51337,51366,1164,51442)}function Yv(e){e=e|0;Ke(51463,51486,303,51442)}function qv(){var e=0,i=0;e=v;v=v+16|0;if(!(ki(37024,4)|0)){i=ci(h[9255]|0)|0;v=e;return i|0}else jv(51562,e);return 0}function Xv(e){e=e|0;var i=0;i=(e|0)==0?1:e;e=jc(i)|0;e:do{if(!e){while(1){e=$v()|0;if(!e)break;LE[e&7]();e=jc(i)|0;if(e)break e}i=Je(4)|0;h[i>>2]=36844;Ei(i|0,592,78)}}while(0);return e|0}function zv(e){e=e|0;Hc(e);return}function Vv(e){e=e|0;zv(e);return}function Gv(e){e=e|0;h[e>>2]=36844;return}function Kv(e){e=e|0;return}function Wv(e){e=e|0;zv(e);return}function Jv(e){e=e|0;return 51611}function Zv(e){e=e|0;var i=0;i=v;v=v+16|0;T=0;Ie(e|0);e=T;T=0;if(!(e&1)){T=0;ve(85,51626,i|0);T=0}e=Ze(0)|0;fi(e|0)|0;T=0;ve(85,51666,i+8|0);T=0;e=Ze(0)|0;T=0;Ie(3);i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else Ki(e)}function Qv(){var e=0,i=0,r=0;T=0;e=Ce(2)|0;r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}if(((e|0)!=0?(i=h[e>>2]|0,(i|0)!=0):0)?(r=i+48|0,(h[r>>2]&-256|0)==1126902528?(h[r+4>>2]|0)==1129074247:0):0)Zv(h[i+12>>2]|0);r=h[9208]|0;h[9208]=r+0;Zv(r)}function $v(){var e=0;e=h[9214]|0;h[9214]=e+0;return e|0}function eg(e){e=e|0;return}function ig(e){e=e|0;h[e>>2]=36868;Bg(e+4|0);return}function rg(e){e=e|0;ig(e);zv(e);return}function tg(e){e=e|0;return h[e+4>>2]|0}function ng(e){e=e|0;return}function fg(e){e=e|0;h[e>>2]=36888;return}function ag(e){e=e|0;return}function lg(e){e=e|0;zv(e);return}function sg(e){e=e|0;return 51716}function og(e){e=e|0;return}function ug(e){e=e|0;return}function cg(e){e=e|0;return}function dg(e){e=e|0;zv(e);return}function hg(e){e=e|0;zv(e);return}function bg(e){e=e|0;zv(e);return}function kg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;a=v;v=v+64|0;f=a;if((e|0)!=(i|0))if((i|0)!=0?(n=gg(i,656,672,0)|0,(n|0)!=0):0){i=f;t=i+56|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(t|0));h[f>>2]=n;h[f+8>>2]=e;h[f+12>>2]=-1;h[f+48>>2]=1;xE[h[(h[n>>2]|0)+28>>2]&63](n,f,h[r>>2]|0,1);if((h[f+24>>2]|0)==1){h[r>>2]=h[f+16>>2];i=1}else i=0}else i=0;else i=1;v=a;return i|0}function wg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;e=i+16|0;n=h[e>>2]|0;do{if(n){if((n|0)!=(r|0)){t=i+36|0;h[t>>2]=(h[t>>2]|0)+1;h[i+24>>2]=2;c[i+54>>0]=1;break}e=i+24|0;if((h[e>>2]|0)==2)h[e>>2]=t}else{h[e>>2]=r;h[i+24>>2]=t;h[i+36>>2]=1}}while(0);return}function _g(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((e|0)==(h[i+8>>2]|0))wg(0,i,r,t);return}function mg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((e|0)==(h[i+8>>2]|0))wg(0,i,r,t);else{e=h[e+8>>2]|0;xE[h[(h[e>>2]|0)+28>>2]&63](e,i,r,t)}return}function pg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=h[e+4>>2]|0;n=f>>8;if(f&1)n=h[(h[r>>2]|0)+n>>2]|0;e=h[e>>2]|0;xE[h[(h[e>>2]|0)+28>>2]&63](e,i,r+n|0,(f&2|0)!=0?t:2);return}function vg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;e:do{if((e|0)!=(h[i+8>>2]|0)){f=h[e+12>>2]|0;n=e+16+(f<<3)|0;pg(e+16|0,i,r,t);if((f|0)>1){f=i+54|0;e=e+24|0;do{pg(e,i,r,t);if(c[f>>0]|0)break e;e=e+8|0}while(e>>>0<n>>>0)}}else wg(0,i,r,t)}while(0);return}function gg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=v;v=v+64|0;k=w;b=h[e>>2]|0;u=e+(h[b+-8>>2]|0)|0;b=h[b+-4>>2]|0;h[k>>2]=r;h[k+4>>2]=e;h[k+8>>2]=i;h[k+12>>2]=t;t=k+16|0;e=k+20|0;i=k+24|0;n=k+28|0;f=k+32|0;a=k+40|0;l=(b|0)==(r|0);s=t;o=s+36|0;do{h[s>>2]=0;s=s+4|0}while((s|0)<(o|0));d[t+36>>1]=0;c[t+38>>0]=0;e:do{if(l){h[k+48>>2]=1;yE[h[(h[r>>2]|0)+20>>2]&15](r,k,u,u,1,0);t=(h[i>>2]|0)==1?u:0}else{hE[h[(h[b>>2]|0)+24>>2]&15](b,k,u,1,0);switch(h[k+36>>2]|0){case 0:{t=(h[a>>2]|0)==1&(h[n>>2]|0)==1&(h[f>>2]|0)==1?h[e>>2]|0:0;break e}case 1:break;default:{t=0;break e}}if((h[i>>2]|0)!=1?!((h[a>>2]|0)==0&(h[n>>2]|0)==1&(h[f>>2]|0)==1):0){t=0;break}t=h[t>>2]|0}}while(0);v=w;return t|0}function yg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;c[i+53>>0]=1;do{if((h[i+4>>2]|0)==(t|0)){c[i+52>>0]=1;t=i+16|0;e=h[t>>2]|0;if(!e){h[t>>2]=r;h[i+24>>2]=n;h[i+36>>2]=1;if(!((n|0)==1?(h[i+48>>2]|0)==1:0))break;c[i+54>>0]=1;break}if((e|0)!=(r|0)){n=i+36|0;h[n>>2]=(h[n>>2]|0)+1;c[i+54>>0]=1;break}e=i+24|0;t=h[e>>2]|0;if((t|0)==2){h[e>>2]=n;t=n}if((t|0)==1?(h[i+48>>2]|0)==1:0)c[i+54>>0]=1}}while(0);return}function Eg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;e:do{if((e|0)==(h[i+8>>2]|0)){if((h[i+4>>2]|0)==(r|0)?(f=i+28|0,(h[f>>2]|0)!=1):0)h[f>>2]=t}else{if((e|0)!=(h[i>>2]|0)){w=h[e+12>>2]|0;l=e+16+(w<<3)|0;Mg(e+16|0,i,r,t,n);f=e+24|0;if((w|0)<=1)break;a=h[e+8>>2]|0;if((a&2|0)==0?(s=i+36|0,(h[s>>2]|0)!=1):0){if(!(a&1)){a=i+54|0;while(1){if(c[a>>0]|0)break e;if((h[s>>2]|0)==1)break e;Mg(f,i,r,t,n);f=f+8|0;if(f>>>0>=l>>>0)break e}}a=i+24|0;e=i+54|0;while(1){if(c[e>>0]|0)break e;if((h[s>>2]|0)==1?(h[a>>2]|0)==1:0)break e;Mg(f,i,r,t,n);f=f+8|0;if(f>>>0>=l>>>0)break e}}a=i+54|0;while(1){if(c[a>>0]|0)break e;Mg(f,i,r,t,n);f=f+8|0;if(f>>>0>=l>>>0)break e}}if((h[i+16>>2]|0)!=(r|0)?(k=i+20|0,(h[k>>2]|0)!=(r|0)):0){h[i+32>>2]=t;u=i+44|0;if((h[u>>2]|0)==4)break;a=h[e+12>>2]|0;l=e+16+(a<<3)|0;s=i+52|0;t=i+53|0;d=i+54|0;o=e+8|0;b=i+24|0;i:do{if((a|0)>0){a=0;f=0;e=e+16|0;while(1){c[s>>0]=0;c[t>>0]=0;Ag(e,i,r,r,1,n);if(c[d>>0]|0){w=20;break i}do{if(c[t>>0]|0){if(!(c[s>>0]|0))if(!(h[o>>2]&1)){f=1;w=20;break i}else{f=1;break}if((h[b>>2]|0)==1)break i;if(!(h[o>>2]&2))break i;else{a=1;f=1}}}while(0);e=e+8|0;if(e>>>0>=l>>>0){w=20;break}}}else{a=0;f=0;w=20}}while(0);do{if((w|0)==20){if((!a?(h[k>>2]=r,r=i+40|0,h[r>>2]=(h[r>>2]|0)+1,(h[i+36>>2]|0)==1):0)?(h[b>>2]|0)==2:0){c[d>>0]=1;if(f)break}else w=24;if((w|0)==24?f:0)break;h[u>>2]=4;break e}}while(0);h[u>>2]=3;break}if((t|0)==1)h[i+32>>2]=1}}while(0);return}function Ag(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;l=h[e+4>>2]|0;a=l>>8;if(l&1)a=h[(h[t>>2]|0)+a>>2]|0;e=h[e>>2]|0;yE[h[(h[e>>2]|0)+20>>2]&15](e,i,r,t+a|0,(l&2|0)!=0?n:2,f);return}function Mg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=h[e+4>>2]|0;f=a>>8;if(a&1)f=h[(h[r>>2]|0)+f>>2]|0;e=h[e>>2]|0;hE[h[(h[e>>2]|0)+24>>2]&15](e,i,r+f|0,(a&2|0)!=0?t:2,n);return}function Tg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;e:do{if((e|0)==(h[i+8>>2]|0)){if((h[i+4>>2]|0)==(r|0)?(f=i+28|0,(h[f>>2]|0)!=1):0)h[f>>2]=t}else{if((e|0)!=(h[i>>2]|0)){l=h[e+8>>2]|0;hE[h[(h[l>>2]|0)+24>>2]&15](l,i,r,t,n);break}if((h[i+16>>2]|0)!=(r|0)?(a=i+20|0,(h[a>>2]|0)!=(r|0)):0){h[i+32>>2]=t;t=i+44|0;if((h[t>>2]|0)==4)break;f=i+52|0;c[f>>0]=0;s=i+53|0;c[s>>0]=0;e=h[e+8>>2]|0;yE[h[(h[e>>2]|0)+20>>2]&15](e,i,r,r,1,n);if(c[s>>0]|0){if(!(c[f>>0]|0)){f=1;l=13}}else{f=0;l=13}do{if((l|0)==13){h[a>>2]=r;s=i+40|0;h[s>>2]=(h[s>>2]|0)+1;if((h[i+36>>2]|0)==1?(h[i+24>>2]|0)==2:0){c[i+54>>0]=1;if(f)break}else l=16;if((l|0)==16?f:0)break;h[t>>2]=4;break e}}while(0);h[t>>2]=3;break}if((t|0)==1)h[i+32>>2]=1}}while(0);return}function Sg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;do{if((e|0)==(h[i+8>>2]|0)){if((h[i+4>>2]|0)==(r|0)?(a=i+28|0,(h[a>>2]|0)!=1):0)h[a>>2]=t}else if((e|0)==(h[i>>2]|0)){if((h[i+16>>2]|0)!=(r|0)?(f=i+20|0,(h[f>>2]|0)!=(r|0)):0){h[i+32>>2]=t;h[f>>2]=r;n=i+40|0;h[n>>2]=(h[n>>2]|0)+1;if((h[i+36>>2]|0)==1?(h[i+24>>2]|0)==2:0)c[i+54>>0]=1;h[i+44>>2]=4;break}if((t|0)==1)h[i+32>>2]=1}}while(0);return}function Pg(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;if((e|0)==(h[i+8>>2]|0))yg(0,i,r,t,n);else{u=i+52|0;d=c[u>>0]|0;b=i+53|0;k=c[b>>0]|0;o=h[e+12>>2]|0;a=e+16+(o<<3)|0;c[u>>0]=0;c[b>>0]=0;Ag(e+16|0,i,r,t,n,f);e:do{if((o|0)>1){l=i+24|0;s=e+8|0;o=i+54|0;e=e+24|0;do{if(c[o>>0]|0)break e;if(!(c[u>>0]|0)){if((c[b>>0]|0)!=0?(h[s>>2]&1|0)==0:0)break e}else{if((h[l>>2]|0)==1)break e;if(!(h[s>>2]&2))break e}c[u>>0]=0;c[b>>0]=0;Ag(e,i,r,t,n,f);e=e+8|0}while(e>>>0<a>>>0)}}while(0);c[u>>0]=d;c[b>>0]=k}return}function Og(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;if((e|0)==(h[i+8>>2]|0))yg(0,i,r,t,n);else{e=h[e+8>>2]|0;yE[h[(h[e>>2]|0)+20>>2]&15](e,i,r,t,n,f)}return}function Rg(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;if((e|0)==(h[i+8>>2]|0))yg(0,i,r,t,n);return}function Lg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+16|0;t=n;h[t>>2]=h[r>>2];e=vE[h[(h[e>>2]|0)+16>>2]&63](e,i,t)|0;if(e)h[r>>2]=h[t>>2];v=n;return e&1|0}function Cg(e){e=e|0;if(!e)e=0;else e=(gg(e,656,704,0)|0)!=0;return e&1|0}function Dg(){var e=0;e=Je(4)|0;Gv(e);Ei(e|0,592,78)}function xg(){var e=0,i=0,r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+48|0;a=n+32|0;r=n+24|0;l=n+16|0;f=n;n=n+36|0;e=qv()|0;if((e|0)!=0?(t=h[e>>2]|0,(t|0)!=0):0){e=t+48|0;i=h[e>>2]|0;e=h[e+4>>2]|0;if(!((i&-256|0)==1126902528&(e|0)==1129074247)){h[r>>2]=h[9257];jv(51919,r)}if((i|0)==1126902529&(e|0)==1129074247)e=h[t+44>>2]|0;else e=t+80|0;h[n>>2]=e;t=h[t>>2]|0;e=h[t+4>>2]|0;if(vE[h[(h[608>>2]|0)+16>>2]&63](608,t,n)|0){l=h[n>>2]|0;n=h[9257]|0;l=mE[h[(h[l>>2]|0)+8>>2]&127](l)|0;h[f>>2]=n;h[f+4>>2]=e;h[f+8>>2]=l;jv(51833,f)}else{h[l>>2]=h[9257];h[l+4>>2]=e;jv(51878,l)}}jv(51957,a)}function Ig(){var e=0;e=v;v=v+16|0;if(!(qe(37020,184)|0)){v=e;return}else jv(51730,e)}function Bg(e){e=e|0;var i=0,r=0;r=(h[e>>2]|0)+-4|0;i=h[r>>2]|0;h[r>>2]=i+-1;if((i+-1|0)<0)zv((h[e>>2]|0)+-12|0);return}function Ng(e){e=e|0;var i=0;i=v;v=v+16|0;Hc(e);if(!(gi(h[9255]|0,0)|0)){v=i;return}else jv(51780,i)}function Fg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Jy(e,i,r)|0;return e|0}function Ug(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Zy(e,i,r)|0;return e|0}function jg(){return 37296}function Hg(){return 37300}function Yg(){return 37304}function qg(e){e=e|0;return((e|0)==32|(e+-9|0)>>>0<5)&1|0}function Xg(e){e=e|0;if((e+-48|0)>>>0<10)e=1;else e=((e|32)+-97|0)>>>0<6;return e&1|0}function zg(){var e=0;if(!(h[9258]|0))e=37308;else{e=(hi()|0)+60|0;e=h[e>>2]|0}return e|0}function Vg(e){e=e|0;var i=0,r=0;i=0;while(1){if((b[51978+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=52066;r=5;break}}if((r|0)==2)if(!i)e=52066;else{e=52066;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(c[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function Gg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0.0,a=0,l=0,s=0.0,o=0,u=0,d=0,k=0.0,w=0.0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,C=0,D=0,x=0,I=0,B=0,N=0.0;B=v;v=v+512|0;C=B;switch(i|0){case 0:{I=24;x=-149;A=4;break}case 1:{I=53;x=-1074;A=4;break}case 2:{I=53;x=-1074;A=4;break}default:t=0.0}e:do{if((A|0)==4){S=e+4|0;T=e+100|0;do{i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0}while((qg(i)|0)!=0);i:do{switch(i|0){case 43:case 45:{n=1-(((i|0)==45&1)<<1)|0;i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;D=n;break i}else{i=Jg(e)|0;D=n;break i}}default:D=1}}while(0);n=i;i=0;do{if((n|32|0)!=(c[53870+i>>0]|0))break;do{if(i>>>0<7){n=h[S>>2]|0;if(n>>>0<(h[T>>2]|0)>>>0){h[S>>2]=n+1;n=b[n>>0]|0;break}else{n=Jg(e)|0;break}}}while(0);i=i+1|0}while(i>>>0<8);i:do{switch(i|0){case 8:break;case 3:{A=23;break}default:{a=(r|0)!=0;if(a&i>>>0>3)if((i|0)==8)break i;else{A=23;break i}r:do{if(!i){i=0;do{if((n|32|0)!=(c[56747+i>>0]|0))break r;do{if(i>>>0<2){n=h[S>>2]|0;if(n>>>0<(h[T>>2]|0)>>>0){h[S>>2]=n+1;n=b[n>>0]|0;break}else{n=Jg(e)|0;break}}}while(0);i=i+1|0}while(i>>>0<3)}}while(0);switch(i|0){case 3:{i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==40)i=1;else{if(!(h[T>>2]|0)){t=R;break e}h[S>>2]=(h[S>>2]|0)+-1;t=R;break e}while(1){n=h[S>>2]|0;if(n>>>0<(h[T>>2]|0)>>>0){h[S>>2]=n+1;n=b[n>>0]|0}else n=Jg(e)|0;if(!((n+-48|0)>>>0<10|(n+-65|0)>>>0<26)?!((n|0)==95|(n+-97|0)>>>0<26):0)break;i=i+1|0}if((n|0)==41){t=R;break e}n=(h[T>>2]|0)==0;if(!n)h[S>>2]=(h[S>>2]|0)+-1;if(!a){I=zg()|0;h[I>>2]=22;Wg(e,0);t=0.0;break e}if(!i){t=R;break e}while(1){i=i+-1|0;if(!n)h[S>>2]=(h[S>>2]|0)+-1;if(!i){t=R;break e}}}case 0:{do{if((n|0)==48){i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|32|0)!=120){if(!(h[T>>2]|0)){i=48;break}h[S>>2]=(h[S>>2]|0)+-1;i=48;break}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;a=0}else{i=Jg(e)|0;a=0}r:while(1){switch(i|0){case 46:{A=74;break r}case 48:break;default:{y=0;l=0;g=0;n=0;o=a;u=0;p=0;s=1.0;a=0;t=0.0;break r}}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;a=1;continue}else{i=Jg(e)|0;a=1;continue}}if((A|0)==74){i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==48){a=0;n=0;do{i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;a=Dm(a|0,n|0,-1,-1)|0;n=H}while((i|0)==48);y=0;l=0;g=a;o=1;u=1;p=0;s=1.0;a=0;t=0.0}else{y=0;l=0;g=0;n=0;o=a;u=1;p=0;s=1.0;a=0;t=0.0}}while(1){_=i+-48|0;d=i|32;if(_>>>0>=10){m=(i|0)==46;if(!(m|(d+-97|0)>>>0<6)){d=g;_=y;break}if(m)if(!u){m=l;n=y;_=y;u=1;d=p;f=s}else{d=g;_=y;i=46;break}else A=86}else A=86;if((A|0)==86){A=0;i=(i|0)>57?d+-87|0:_;do{if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){w=s*.0625;d=p;f=w;t=t+w*+(i|0);break}if((p|0)!=0|(i|0)==0){d=p;f=s}else{d=1;f=s;t=t+s*.5}}else{d=p;f=s;a=i+(a<<4)|0}}while(0);l=Dm(l|0,y|0,1,0)|0;m=g;_=H;o=1}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;y=_;g=m;i=b[i>>0]|0;p=d;s=f;continue}else{y=_;g=m;i=Jg(e)|0;p=d;s=f;continue}}if(!o){i=(h[T>>2]|0)==0;if(!i)h[S>>2]=(h[S>>2]|0)+-1;if(r){if(!i?(E=h[S>>2]|0,h[S>>2]=E+-1,(u|0)!=0):0)h[S>>2]=E+-2}else Wg(e,0);t=+(D|0)*0.0;break e}o=(u|0)==0;u=o?l:d;o=o?_:n;if((_|0)<0|(_|0)==0&l>>>0<8){n=_;do{a=a<<4;l=Dm(l|0,n|0,1,0)|0;n=H}while((n|0)<0|(n|0)==0&l>>>0<8)}if((i|32|0)==112){n=sE(e,r)|0;i=H;if((n|0)==0&(i|0)==-2147483648){if(!r){Wg(e,0);t=0.0;break e}if(!(h[T>>2]|0)){n=0;i=0}else{h[S>>2]=(h[S>>2]|0)+-1;n=0;i=0}}}else if(!(h[T>>2]|0)){n=0;i=0}else{h[S>>2]=(h[S>>2]|0)+-1;n=0;i=0}C=Bm(u|0,o|0,2)|0;C=Dm(C|0,H|0,-32,-1)|0;i=Dm(C|0,H|0,n|0,i|0)|0;n=H;if(!a){t=+(D|0)*0.0;break e}if((n|0)>0|(n|0)==0&i>>>0>(0-x|0)>>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break e}C=x+-106|0;O=((C|0)<0)<<31>>31;if((n|0)<(O|0)|(n|0)==(O|0)&i>>>0<C>>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*2.2250738585072014e-308*2.2250738585072014e-308;break e}if((a|0)>-1){do{O=!(t>=.5);C=O&1|a<<1;a=C^1;t=t+(O?t:t+-1.0);i=Dm(i|0,n|0,-1,-1)|0;n=H}while((C|0)>-1);l=i;s=t}else{l=i;s=t}i=Lm(32,0,x|0,((x|0)<0)<<31>>31|0)|0;i=Dm(l|0,n|0,i|0,H|0)|0;x=H;if(0>(x|0)|0==(x|0)&I>>>0>i>>>0)if((i|0)<0){i=0;A=127}else A=125;else{i=I;A=125}if((A|0)==125)if((i|0)<53)A=127;else{n=i;f=+(D|0);t=0.0}if((A|0)==127){t=+(D|0);n=i;f=t;t=+ly(+dy(1.0,84-i|0),t)}I=(a&1|0)==0&(s!=0.0&(n|0)<32);t=f*(I?0.0:s)+(t+f*+(((I&1)+a|0)>>>0))-t;if(!(t!=0.0)){I=zg()|0;h[I>>2]=34}t=+hy(t,l);break e}else i=n}while(0);P=x+I|0;O=0-P|0;a=0;r:while(1){switch(i|0){case 46:{A=138;break r}case 48:break;default:{n=0;d=0;u=0;break r}}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;a=1;continue}else{i=Jg(e)|0;a=1;continue}}if((A|0)==138){i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==48){n=0;i=0;while(1){n=Dm(n|0,i|0,-1,-1)|0;a=H;i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==48)i=a;else{d=a;a=1;u=1;break}}}else{n=0;d=0;u=1}}h[C>>2]=0;o=i+-48|0;l=(i|0)==46;r:do{if(l|o>>>0<10){M=C+496|0;y=0;m=0;p=l;A=d;_=a;E=u;a=0;l=0;u=0;t:while(1){do{if(p)if(!E){n=y;d=m;E=1}else{d=A;i=y;o=m;break t}else{p=Dm(y|0,m|0,1,0)|0;m=H;g=(i|0)!=48;if((l|0)>=125){if(!g){d=A;y=p;break}h[M>>2]=h[M>>2]|1;d=A;y=p;break}d=C+(l<<2)|0;if(a)o=i+-48+((h[d>>2]|0)*10|0)|0;h[d>>2]=o;a=a+1|0;o=(a|0)==9;d=A;y=p;_=1;a=o?0:a;l=(o&1)+l|0;u=g?p:u}}while(0);i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;o=i+-48|0;p=(i|0)==46;if(!(p|o>>>0<10)){o=E;A=161;break r}else A=d}_=(_|0)!=0;A=169}else{y=0;m=0;_=a;o=u;a=0;l=0;u=0;A=161}}while(0);do{if((A|0)==161){M=(o|0)==0;n=M?y:n;d=M?m:d;_=(_|0)!=0;if(!((i|32|0)==101&_))if((i|0)>-1){i=y;o=m;A=169;break}else{i=y;o=m;A=171;break}o=sE(e,r)|0;i=H;if((o|0)==0&(i|0)==-2147483648){if(!r){Wg(e,0);t=0.0;break}if(!(h[T>>2]|0)){o=0;i=0}else{h[S>>2]=(h[S>>2]|0)+-1;o=0;i=0}}n=Dm(o|0,i|0,n|0,d|0)|0;_=y;d=H;o=m;A=173}}while(0);if((A|0)==169)if(h[T>>2]|0){h[S>>2]=(h[S>>2]|0)+-1;if(_){_=i;A=173}else A=172}else A=171;if((A|0)==171)if(_){_=i;A=173}else A=172;do{if((A|0)==172){I=zg()|0;h[I>>2]=22;Wg(e,0);t=0.0}else if((A|0)==173){i=h[C>>2]|0;if(!i){t=+(D|0)*0.0;break}if(((o|0)<0|(o|0)==0&_>>>0<10)&((n|0)==(_|0)&(d|0)==(o|0))?I>>>0>30|(i>>>I|0)==0:0){t=+(D|0)*+(i>>>0);break}e=(x|0)/-2|0;S=((e|0)<0)<<31>>31;if((d|0)>(S|0)|(d|0)==(S|0)&n>>>0>e>>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}e=x+-106|0;S=((e|0)<0)<<31>>31;if((d|0)<(S|0)|(d|0)==(S|0)&n>>>0<e>>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(a){if((a|0)<9){o=C+(l<<2)|0;i=h[o>>2]|0;do{i=i*10|0;a=a+1|0}while((a|0)!=9);h[o>>2]=i}l=l+1|0}if((u|0)<9?(u|0)<=(n|0)&(n|0)<18:0){if((n|0)==9){t=+(D|0)*+((h[C>>2]|0)>>>0);break}if((n|0)<9){t=+(D|0)*+((h[C>>2]|0)>>>0)/+(h[37312+(8-n<<2)>>2]|0);break}e=I+27+(ce(n,-3)|0)|0;i=h[C>>2]|0;if((e|0)>30|(i>>>e|0)==0){t=+(D|0)*+(i>>>0)*+(h[37312+(n+-10<<2)>>2]|0);break}}i=(n|0)%9|0;if(!i){a=0;i=0}else{_=(n|0)>-1?i:i+9|0;o=h[37312+(8-_<<2)>>2]|0;if(l){u=1e9/(o|0)|0;a=0;i=0;d=0;do{T=C+(d<<2)|0;S=h[T>>2]|0;e=((S>>>0)/(o>>>0)|0)+i|0;h[T>>2]=e;i=ce((S>>>0)%(o>>>0)|0,u)|0;e=(d|0)==(a|0)&(e|0)==0;d=d+1|0;n=e?n+-9|0:n;a=e?d&127:a}while((d|0)!=(l|0));if(i){h[C+(l<<2)>>2]=i;l=l+1|0}}else{a=0;l=0}i=0;n=9-_+n|0}r:while(1){m=(n|0)<18;p=(n|0)==18;g=C+(a<<2)|0;do{if(!m){if(!p)break r;if((h[g>>2]|0)>>>0>=9007199){n=18;break r}}o=0;u=l+127|0;while(1){_=u&127;d=C+(_<<2)|0;u=Bm(h[d>>2]|0,0,29)|0;u=Dm(u|0,H|0,o|0,0)|0;o=H;if(o>>>0>0|(o|0)==0&u>>>0>1e9){e=Xm(u|0,o|0,1e9,0)|0;u=zm(u|0,o|0,1e9,0)|0;o=e}else o=0;h[d>>2]=u;e=(_|0)==(a|0);l=(_|0)!=(l+127&127|0)|e?l:(u|0)==0?_:l;if(e)break;else u=_+-1|0}i=i+-29|0}while((o|0)==0);a=a+127&127;if((a|0)==(l|0)){e=l+127&127;l=C+((l+126&127)<<2)|0;h[l>>2]=h[l>>2]|h[C+(e<<2)>>2];l=e}h[C+(a<<2)>>2]=o;n=n+9|0}r:while(1){y=l+1&127;g=C+((l+127&127)<<2)|0;while(1){m=(n|0)==18;p=(n|0)>27?9:1;_=m^1;while(1){u=a&127;d=(u|0)==(l|0);do{if(!d){o=h[C+(u<<2)>>2]|0;if(o>>>0<9007199){A=219;break}if(o>>>0>9007199)break;o=a+1&127;if((o|0)==(l|0)){A=219;break}o=h[C+(o<<2)>>2]|0;if(o>>>0<254740991){A=219;break}if(!(o>>>0>254740991|_)){n=u;break r}}else A=219}while(0);if((A|0)==219?(A=0,m):0){A=220;break r}i=i+p|0;if((a|0)==(l|0))a=l;else break}_=(1<<p)+-1|0;m=1e9>>>p;u=a;o=0;d=a;while(1){S=C+(d<<2)|0;e=h[S>>2]|0;a=(e>>>p)+o|0;h[S>>2]=a;o=ce(e&_,m)|0;a=(d|0)==(u|0)&(a|0)==0;d=d+1&127;n=a?n+-9|0:n;a=a?d:u;if((d|0)==(l|0))break;else u=a}if(!o)continue;if((y|0)!=(a|0))break;h[g>>2]=h[g>>2]|1}h[C+(l<<2)>>2]=o;l=y}if((A|0)==220)if(d){h[C+(y+-1<<2)>>2]=0;n=l;l=y}else n=u;t=+((h[C+(n<<2)>>2]|0)>>>0);n=a+1&127;if((n|0)==(l|0)){l=a+2&127;h[C+(l+-1<<2)>>2]=0}w=+(D|0);f=w*(t*1.0e9+ +((h[C+(n<<2)>>2]|0)>>>0));m=i+53|0;d=m-x|0;_=(d|0)<(I|0);n=_&1;u=_?(d|0)<0?0:d:I;if((u|0)<53){N=+ly(+dy(1.0,105-u|0),f);s=+oy(f,+dy(1.0,53-u|0));k=N;t=s;s=N+(f-s)}else{k=0.0;t=0.0;s=f}o=a+2&127;do{if((o|0)==(l|0))f=t;else{o=h[C+(o<<2)>>2]|0;do{if(o>>>0>=5e8){if(o>>>0>5e8){t=w*.75+t;break}if((a+3&127|0)==(l|0)){t=w*.5+t;break}else{t=w*.75+t;break}}else{if((o|0)==0?(a+3&127|0)==(l|0):0)break;t=w*.25+t}}while(0);if((53-u|0)<=1){f=t;break}if(+oy(t,1.0)!=0.0){f=t;break}f=t+1.0}}while(0);t=s+f-k;do{if((m&2147483647|0)>(-2-P|0)){if(+Q(+t)>=9007199254740992.0){n=_&(u|0)==(d|0)?0:n;i=i+1|0;t=t*.5}if((i+50|0)<=(O|0)?!(f!=0.0&(n|0)!=0):0)break;I=zg()|0;h[I>>2]=34}}while(0);t=+hy(t,i)}}while(0);break e}default:{if(h[T>>2]|0)h[S>>2]=(h[S>>2]|0)+-1;I=zg()|0;h[I>>2]=22;Wg(e,0);t=0.0;break e}}}}}while(0);if((A|0)==23){n=(h[T>>2]|0)==0;if(!n)h[S>>2]=(h[S>>2]|0)+-1;if((r|0)!=0&i>>>0>3)do{if(!n)h[S>>2]=(h[S>>2]|0)+-1;i=i+-1|0}while(i>>>0>3)}t=+(D|0)*L}}while(0);v=B;return+t}function Kg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;e:do{if(i>>>0>36){n=zg()|0;h[n>>2]=22;n=0;t=0}else{_=e+4|0;w=e+100|0;do{f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0}while((qg(f)|0)!=0);i:do{switch(f|0){case 43:case 45:{a=((f|0)==45)<<31>>31;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0;k=a;break i}else{f=Jg(e)|0;k=a;break i}}default:k=0}}while(0);a=(i|0)==0;do{if((i&-17|0)==0&(f|0)==48){f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;if((f|32|0)!=120)if(a){i=8;u=46;break}else{u=32;break}i=h[_>>2]|0;if(i>>>0<(h[w>>2]|0)>>>0){h[_>>2]=i+1;f=b[i>>0]|0}else f=Jg(e)|0;if((b[53879+(f+1)>>0]|0)>15){t=(h[w>>2]|0)==0;if(!t)h[_>>2]=(h[_>>2]|0)+-1;if(!r){Wg(e,0);n=0;t=0;break e}if(t){n=0;t=0;break e}h[_>>2]=(h[_>>2]|0)+-1;n=0;t=0;break e}else{i=16;u=46}}else{i=a?10:i;if((b[53879+(f+1)>>0]|0)>>>0<i>>>0)u=32;else{if(h[w>>2]|0)h[_>>2]=(h[_>>2]|0)+-1;Wg(e,0);n=zg()|0;h[n>>2]=22;n=0;t=0;break e}}}while(0);if((u|0)==32)if((i|0)==10){i=f+-48|0;if(i>>>0<10){f=0;while(1){a=(f*10|0)+i|0;i=h[_>>2]|0;if(i>>>0<(h[w>>2]|0)>>>0){h[_>>2]=i+1;f=b[i>>0]|0}else f=Jg(e)|0;i=f+-48|0;if(!(i>>>0<10&a>>>0<429496729)){i=a;break}else f=a}a=0}else{i=0;a=0}r=f+-48|0;if(r>>>0<10){while(1){l=qm(i|0,a|0,10,0)|0;s=H;o=((r|0)<0)<<31>>31;d=~o;if(s>>>0>d>>>0|(s|0)==(d|0)&l>>>0>~r>>>0){l=i;break}i=Dm(l|0,s|0,r|0,o|0)|0;a=H;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;r=f+-48|0;if(!(r>>>0<10&(a>>>0<429496729|(a|0)==429496729&i>>>0<2576980378))){l=i;break}}if(r>>>0>9){f=l;i=k}else{i=10;u=72}}else{f=i;i=k}}else u=46;i:do{if((u|0)==46){if(!(i+-1&i)){u=c[54136+((i*23|0)>>>5&7)>>0]|0;a=c[53879+(f+1)>>0]|0;r=a&255;if(r>>>0<i>>>0){f=0;while(1){l=r|f<<u;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;r=a&255;if(!(l>>>0<134217728&r>>>0<i>>>0))break;else f=l}r=0}else{r=0;l=0}s=xm(-1,-1,u|0)|0;o=H;if((a&255)>>>0>=i>>>0|(r>>>0>o>>>0|(r|0)==(o|0)&l>>>0>s>>>0)){a=r;u=72;break}else f=r;while(1){l=Bm(l|0,f|0,u|0)|0;r=H;l=a&255|l;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;if((a&255)>>>0>=i>>>0|(r>>>0>o>>>0|(r|0)==(o|0)&l>>>0>s>>>0)){a=r;u=72;break i}else f=r}}a=c[53879+(f+1)>>0]|0;r=a&255;if(r>>>0<i>>>0){f=0;while(1){l=r+(ce(f,i)|0)|0;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;r=a&255;if(!(l>>>0<119304647&r>>>0<i>>>0))break;else f=l}r=0}else{l=0;r=0}if((a&255)>>>0<i>>>0){u=Xm(-1,-1,i|0,0)|0;d=H;o=r;while(1){if(o>>>0>d>>>0|(o|0)==(d|0)&l>>>0>u>>>0){a=o;u=72;break i}r=qm(l|0,o|0,i|0,0)|0;s=H;a=a&255;if(s>>>0>4294967295|(s|0)==-1&r>>>0>~a>>>0){a=o;u=72;break i}l=Dm(a|0,0,r|0,s|0)|0;r=H;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;if((a&255)>>>0>=i>>>0){a=r;u=72;break}else o=r}}else{a=r;u=72}}}while(0);if((u|0)==72)if((b[53879+(f+1)>>0]|0)>>>0<i>>>0){do{f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0}while((b[53879+(f+1)>>0]|0)>>>0<i>>>0);a=zg()|0;h[a>>2]=34;a=n;f=t;i=(t&1|0)==0&0==0?k:0}else{f=l;i=k}if(h[w>>2]|0)h[_>>2]=(h[_>>2]|0)+-1;if(!(a>>>0<n>>>0|(a|0)==(n|0)&f>>>0<t>>>0)){if(!((t&1|0)!=0|0!=0|(i|0)!=0)){_=zg()|0;h[_>>2]=34;t=Dm(t|0,n|0,-1,-1)|0;n=H;break}if(a>>>0>n>>>0|(a|0)==(n|0)&f>>>0>t>>>0){_=zg()|0;h[_>>2]=34;break}}t=((i|0)<0)<<31>>31;t=Lm(f^i|0,a^t|0,i|0,t|0)|0;n=H}}while(0);H=n;return t|0}function Wg(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;h[e+104>>2]=i;r=h[e+4>>2]|0;t=h[e+8>>2]|0;n=t-r|0;h[e+108>>2]=n;if((i|0)!=0&(n|0)>(i|0))h[e+100>>2]=r+i;else h[e+100>>2]=t;return}function Jg(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;r=e+104|0;f=h[r>>2]|0;if((f|0)!=0?(h[e+108>>2]|0)>=(f|0):0)a=4;else{i=Iy(e)|0;if((i|0)>=0){n=h[r>>2]|0;r=e+8|0;if(n){t=h[r>>2]|0;f=h[e+4>>2]|0;r=t;n=n-(h[e+108>>2]|0)+-1|0;if((r-f|0)>(n|0))h[e+100>>2]=f+n;else a=9}else{t=h[r>>2]|0;r=t;a=9}if((a|0)==9)h[e+100>>2]=r;r=h[e+4>>2]|0;if(t){e=e+108|0;h[e>>2]=t+1-r+(h[e>>2]|0)}r=r+-1|0;if((b[r>>0]|0|0)!=(i|0))c[r>>0]=i}else a=4}if((a|0)==4){h[e+100>>2]=0;i=-1}return i|0}function Zg(e){e=e|0;var i=0;if(e>>>0>4294963200){i=zg()|0;h[i>>2]=0-e;e=-1}return e|0}function Qg(e){e=e|0;return 0}function $g(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return t|0}function ey(e,i){e=e|0;i=i|0;return-1|0}function iy(e){e=e|0;Hc(e);return}function ry(e,i){e=e|0;i=i|0;return(e+-48|0)>>>0<10|0}function ty(e,i){e=e|0;i=i|0;return Xg(e)|0}function ny(e,i,r){e=e|0;i=i|0;r=r|0;if(((c[i>>0]|0)!=0?(eE(i,58885)|0)!=0:0)?(eE(i,54145)|0)!=0:0)r=0;else if(!r)r=Yc(1,4)|0;return r|0}function fy(e){e=e|0;var i=0,r=0;i=(hi()|0)+176|0;r=h[i>>2]|0;if(e)h[i>>2]=e;return r|0}function ay(e,i){e=+e;i=+i;var r=0,t=0;m[y>>3]=e;t=h[y>>2]|0;r=h[y+4>>2]|0;m[y>>3]=i;r=h[y+4>>2]&-2147483648|r&2147483647;h[y>>2]=t;h[y+4>>2]=r;return+ +m[y>>3]}function ly(e,i){e=+e;i=+i;return+ +ay(e,i)}function sy(e,i){e=+e;i=+i;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;m[y>>3]=e;r=h[y>>2]|0;o=h[y+4>>2]|0;m[y>>3]=i;u=h[y>>2]|0;c=h[y+4>>2]|0;t=xm(r|0,o|0,52)|0;t=t&2047;l=xm(u|0,c|0,52)|0;l=l&2047;d=o&-2147483648;a=Bm(u|0,c|0,1)|0;s=H;e:do{if(!((a|0)==0&(s|0)==0)?(f=c&2147483647,!(f>>>0>2146435072|(f|0)==2146435072&u>>>0>0|(t|0)==2047)):0){n=Bm(r|0,o|0,1)|0;f=H;if(!(f>>>0>s>>>0|(f|0)==(s|0)&n>>>0>a>>>0))return+((n|0)==(a|0)&(f|0)==(s|0)?e*0.0:e);if(!t){t=Bm(r|0,o|0,12)|0;n=H;if((n|0)>-1|(n|0)==-1&t>>>0>4294967295){f=t;t=0;do{t=t+-1|0;f=Bm(f|0,n|0,1)|0;n=H}while((n|0)>-1|(n|0)==-1&f>>>0>4294967295)}else t=0;r=Bm(r|0,o|0,1-t|0)|0;n=H}else n=o&1048575|1048576;if(!l){f=Bm(u|0,c|0,12)|0;a=H;if((a|0)>-1|(a|0)==-1&f>>>0>4294967295){l=0;do{l=l+-1|0;f=Bm(f|0,a|0,1)|0;a=H}while((a|0)>-1|(a|0)==-1&f>>>0>4294967295)}else l=0;u=Bm(u|0,c|0,1-l|0)|0;o=H}else o=c&1048575|1048576;s=Lm(r|0,n|0,u|0,o|0)|0;a=H;f=(a|0)>-1|(a|0)==-1&s>>>0>4294967295;i:do{if((t|0)>(l|0)){while(1){if(f)if((r|0)==(u|0)&(n|0)==(o|0))break;else{r=s;n=a}r=Bm(r|0,n|0,1)|0;n=H;t=t+-1|0;s=Lm(r|0,n|0,u|0,o|0)|0;a=H;f=(a|0)>-1|(a|0)==-1&s>>>0>4294967295;if((t|0)<=(l|0))break i}i=e*0.0;break e}}while(0);if(f)if((r|0)==(u|0)&(n|0)==(o|0)){i=e*0.0;break}else{n=a;r=s}if(n>>>0<1048576|(n|0)==1048576&r>>>0<0)do{r=Bm(r|0,n|0,1)|0;n=H;t=t+-1|0}while(n>>>0<1048576|(n|0)==1048576&r>>>0<0);if((t|0)>0){c=Dm(r|0,n|0,0,-1048576)|0;r=H;t=Bm(t|0,0,52)|0;r=r|H;t=c|t}else{t=xm(r|0,n|0,1-t|0)|0;r=H}h[y>>2]=t;h[y+4>>2]=r|d;i=+m[y>>3]}else b=3}while(0);if((b|0)==3){i=e*i;i=i/i}return+i}function oy(e,i){e=+e;i=+i;return+ +sy(e,i)}function uy(e,i){e=+e;i=i|0;var r=0,t=0,n=0;m[y>>3]=e;r=h[y>>2]|0;t=h[y+4>>2]|0;n=xm(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0.0){e=+uy(e*18446744073709551616.0,i);r=(h[i>>2]|0)+-64|0}else r=0;h[i>>2]=r;break}case 2047:break;default:{h[i>>2]=n+-1022;h[y>>2]=r;h[y+4>>2]=t&-2146435073|1071644672;e=+m[y>>3]}}return+e}function cy(e,i){e=+e;i=i|0;return+ +uy(e,i)}function dy(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8988465674311579538646525.0e283;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8988465674311579538646525.0e283}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Bm(r+1023|0,0,52)|0;i=H;h[y>>2]=r;h[y+4>>2]=i;return+(e*+m[y>>3])}function hy(e,i){e=+e;i=i|0;return+ +dy(e,i)}function by(e,i,r){e=e|0;i=i|0;r=r|0;return ky(0,e,i,(r|0)!=0?r:37344)|0}function ky(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+16|0;n=s;a=(t|0)==0?37348:t;t=h[a>>2]|0;e:do{if(!i)if(!t)t=0;else l=15;else{f=(e|0)==0?n:e;if(!r)t=-2;else{if(!t){t=c[i>>0]|0;n=t&255;if(t<<24>>24>-1){h[f>>2]=n;t=t<<24>>24!=0&1;break}t=n+-194|0;if(t>>>0>50){l=15;break}t=h[37076+(t<<2)>>2]|0;n=r+-1|0;if(n){i=i+1|0;l=9}}else{n=r;l=9}i:do{if((l|0)==9){e=c[i>>0]|0;o=(e&255)>>>3;if((o+-16|o+(t>>26))>>>0>7){l=15;break e}while(1){i=i+1|0;t=(e&255)+-128|t<<6;n=n+-1|0;if((t|0)>=0)break;if(!n)break i;e=c[i>>0]|0;if((e&-64)<<24>>24!=-128){l=15;break e}}h[a>>2]=0;h[f>>2]=t;t=r-n|0;break e}}while(0);h[a>>2]=t;t=-2}}}while(0);if((l|0)==15){h[a>>2]=0;t=zg()|0;h[t>>2]=84;t=-1}v=s;return t|0}function wy(e){e=e|0;if(!e)e=1;else e=(h[e>>2]|0)==0;return e&1|0}function _y(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;d=v;v=v+1040|0;o=d+8|0;c=d;s=h[i>>2]|0;h[c>>2]=s;u=(e|0)!=0;t=u?t:256;e=u?e:o;f=s;e:do{if((t|0)!=0&(s|0)!=0){l=t;s=f;t=0;while(1){f=r>>>2;a=f>>>0>=l>>>0;if(!(r>>>0>131|a)){f=s;break e}f=a?l:f;r=r-f|0;f=my(e,c,f,n)|0;if((f|0)==-1){t=r;break}b=(e|0)==(o|0);s=b?0:f;a=l-s|0;e=b?e:e+(f<<2)|0;t=f+t|0;f=h[c>>2]|0;if((l|0)!=(s|0)&(f|0)!=0){l=a;s=f}else{l=a;break e}}r=t;l=0;f=h[c>>2]|0;t=-1}else{l=t;t=0}}while(0);e:do{if((f|0)!=0?(l|0)!=0&(r|0)!=0:0){a=f;f=e;while(1){e=ky(f,a,r,n)|0;if((e+2|0)>>>0<3)break;a=(h[c>>2]|0)+e|0;h[c>>2]=a;l=l+-1|0;t=t+1|0;if(!((l|0)!=0&(r|0)!=(e|0)))break e;else{r=r-e|0;f=f+4|0}}switch(e|0){case-1:{t=-1;break e}case 0:{h[c>>2]=0;break e}default:{h[n>>2]=0;break e}}}}while(0);if(u)h[i>>2]=h[c>>2];v=d;return t|0}function my(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;n=h[i>>2]|0;if((t|0)!=0?(f=h[t>>2]|0,(f|0)!=0):0)if(!e){t=r;a=n;o=16}else{h[t>>2]=0;s=e;t=r;l=f;o=37}else if(!e){t=r;o=7}else{f=e;t=r;o=6}e:while(1)if((o|0)==6){if(!t){o=26;break}else e=f;while(1){f=c[n>>0]|0;do{if(((f&255)+-1|0)>>>0<127?t>>>0>4&(n&3|0)==0:0){a=n;while(1){n=h[a>>2]|0;if((n+-16843009|n)&-2139062144){f=n;n=a;o=32;break}h[e>>2]=n&255;h[e+4>>2]=b[a+1>>0];h[e+8>>2]=b[a+2>>0];n=a+4|0;f=e+16|0;h[e+12>>2]=b[a+3>>0];t=t+-4|0;if(t>>>0>4){e=f;a=n}else{o=31;break}}if((o|0)==31){e=f;f=c[n>>0]|0;break}else if((o|0)==32){f=f&255;break}}}while(0);f=f&255;if((f+-1|0)>>>0>=127)break;n=n+1|0;h[e>>2]=f;t=t+-1|0;if(!t){o=26;break e}else e=e+4|0}f=f+-194|0;if(f>>>0>50){o=48;break}s=e;l=h[37076+(f<<2)>>2]|0;n=n+1|0;o=37;continue}else if((o|0)==7){f=c[n>>0]|0;if(((f&255)+-1|0)>>>0<127?(n&3|0)==0:0){f=h[n>>2]|0;if(!((f+-16843009|f)&-2139062144))do{n=n+4|0;t=t+-4|0;f=h[n>>2]|0}while(((f+-16843009|f)&-2139062144|0)==0);f=f&255}f=f&255;if((f+-1|0)>>>0<127){t=t+-1|0;n=n+1|0;o=7;continue}f=f+-194|0;if(f>>>0>50){o=48;break}f=h[37076+(f<<2)>>2]|0;a=n+1|0;o=16;continue}else if((o|0)==16){o=(b[a>>0]|0)>>>3;if((o+-16|o+(f>>26))>>>0>7){o=17;break}n=a+1|0;if(f&33554432){if((c[n>>0]&-64)<<24>>24!=-128){o=20;break}n=a+2|0;if(f&524288){if((c[n>>0]&-64)<<24>>24!=-128){o=23;break}n=a+3|0}}t=t+-1|0;o=7;continue}else if((o|0)==37){f=b[n>>0]|0;o=f>>>3;if((o+-16|o+(l>>26))>>>0>7){o=38;break}a=n+1|0;e=f+-128|l<<6;if((e|0)<0){f=b[a>>0]|0;if((f&192|0)!=128){o=41;break}a=n+2|0;e=f+-128|e<<6;if((e|0)<0){f=b[a>>0]|0;if((f&192|0)!=128){o=44;break}e=f+-128|e<<6;n=n+3|0}else n=a}else n=a;h[s>>2]=e;f=s+4|0;t=t+-1|0;o=6;continue}if((o|0)==17){n=a+-1|0;o=47}else if((o|0)==20){n=a+-1|0;o=47}else if((o|0)==23){n=a+-1|0;o=47}else if((o|0)==26)h[i>>2]=n;else if((o|0)==38){e=s;f=l;n=n+-1|0;o=47}else if((o|0)==41){t=s;r=n+-1|0;o=52}else if((o|0)==44){t=s;r=n+-1|0;o=52}if((o|0)==47)if(!f)o=48;else{t=e;r=n;o=52}if((o|0)==48)if(!(c[n>>0]|0)){if(e){h[e>>2]=0;h[i>>2]=0}r=r-t|0}else{t=e;r=n;o=52}if((o|0)==52){o=zg()|0;h[o>>2]=84;if(!t)r=-1;else{h[i>>2]=r;r=-1}}return r|0}function py(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;a=v;v=v+16|0;t=a;e:do{if(!i)t=0;else{do{if(r){f=(e|0)==0?t:e;t=c[i>>0]|0;e=t&255;if(t<<24>>24>-1){h[f>>2]=e;t=t<<24>>24!=0&1;break e}t=e+-194|0;if(t>>>0<=50){e=i+1|0;n=h[37076+(t<<2)>>2]|0;if(r>>>0<4?(n&-2147483648>>>((r*6|0)+-6|0)|0)!=0:0)break;t=b[e>>0]|0;r=t>>>3;if((r+-16|r+(n>>26))>>>0<=7){t=t+-128|n<<6;if((t|0)>=0){h[f>>2]=t;t=2;break e}e=b[i+2>>0]|0;if((e&192|0)==128){e=e+-128|t<<6;if((e|0)>=0){h[f>>2]=e;t=3;break e}t=b[i+3>>0]|0;if((t&192|0)==128){h[f>>2]=t+-128|e<<6;t=4;break e}}}}}}while(0);t=zg()|0;h[t>>2]=84;t=-1}}while(0);v=a;return t|0}function vy(e,i,r){e=e|0;i=i|0;r=r|0;do{if(e){if(i>>>0<128){c[e>>0]=i;e=1;break}if(i>>>0<2048){c[e>>0]=i>>>6|192;c[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){c[e>>0]=i>>>12|224;c[e+1>>0]=i>>>6&63|128;c[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){c[e>>0]=i>>>18|240;c[e+1>>0]=i>>>12&63|128;c[e+2>>0]=i>>>6&63|128;c[e+3>>0]=i&63|128;e=4;break}else{e=zg()|0;h[e>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function gy(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;u=v;v=v+272|0;l=u+8|0;o=u;a=h[i>>2]|0;h[o>>2]=a;s=(e|0)!=0;n=s?t:256;t=s?e:l;e=a;e:do{if((n|0)!=0&(a|0)!=0){a=n;f=e;n=0;while(1){e=r>>>0>=a>>>0;if(!(e|r>>>0>32)){e=f;break e}e=e?a:r;r=r-e|0;e=yy(t,o,e,0)|0;if((e|0)==-1){n=r;break}d=(t|0)==(l|0);c=d?0:e;f=a-c|0;t=d?t:t+e|0;n=e+n|0;e=h[o>>2]|0;if((a|0)!=(c|0)&(e|0)!=0){a=f;f=e}else{a=f;break e}}r=n;a=0;e=h[o>>2]|0;n=-1}else{a=n;n=0}}while(0);e:do{if((e|0)!=0?(a|0)!=0&(r|0)!=0:0){f=e;e=t;while(1){t=vy(e,h[f>>2]|0,0)|0;if((t+1|0)>>>0<2)break;f=(h[o>>2]|0)+4|0;h[o>>2]=f;r=r+-1|0;n=n+1|0;if(!((a|0)!=(t|0)&(r|0)!=0))break e;else{a=a-t|0;e=e+t|0}}if(!t)h[o>>2]=0;else n=-1}}while(0);if(s)h[i>>2]=h[o>>2];v=u;return n|0}function yy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;e:do{if(!e){e=h[i>>2]|0;t=h[e>>2]|0;if(!t)r=0;else{r=0;do{if(t>>>0>127){t=vy(a,t,0)|0;if((t|0)==-1){r=-1;break e}}else t=1;r=t+r|0;e=e+4|0;t=h[e>>2]|0}while((t|0)!=0)}}else{i:do{if(r>>>0>3){t=r;n=h[i>>2]|0;while(1){f=h[n>>2]|0;if((f+-1|0)>>>0>126){if(!f)break;f=vy(e,f,0)|0;if((f|0)==-1){r=-1;break e}e=e+f|0;t=t-f|0}else{c[e>>0]=f;e=e+1|0;t=t+-1|0;n=h[i>>2]|0}n=n+4|0;h[i>>2]=n;if(t>>>0<=3)break i}c[e>>0]=0;h[i>>2]=0;r=r-t|0;break e}else t=r}while(0);if(t){n=h[i>>2]|0;while(1){f=h[n>>2]|0;if((f+-1|0)>>>0>126){if(!f){n=19;break}f=vy(a,f,0)|0;if((f|0)==-1){r=-1;break e}if(t>>>0<f>>>0){n=22;break}vy(e,h[n>>2]|0,0)|0;e=e+f|0;t=t-f|0}else{c[e>>0]=f;e=e+1|0;t=t+-1|0;n=h[i>>2]|0}n=n+4|0;h[i>>2]=n;if(!t)break e}if((n|0)==19){c[e>>0]=0;h[i>>2]=0;r=r-t|0;break}else if((n|0)==22){r=r-t|0;break}}}}while(0);v=l;return r|0}function Ey(e,i){e=e|0;i=i|0;if(!e)e=0;else e=vy(e,i,0)|0;return e|0}function Ay(e){e=e|0;return 0}function My(e){e=e|0;return}function Ty(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;a=i&255;c[l>>0]=a;t=e+16|0;n=h[t>>2]|0;if(!n)if(!(xy(e)|0)){n=h[t>>2]|0;f=4}else r=-1;else f=4;do{if((f|0)==4){t=e+20|0;f=h[t>>2]|0;if(f>>>0<n>>>0?(r=i&255,(r|0)!=(c[e+75>>0]|0)):0){h[t>>2]=f+1;c[f>>0]=a;break}if((vE[h[e+36>>2]&63](e,l,1)|0)==1)r=b[l>>0]|0;else r=-1}}while(0);v=s;return r|0}function Sy(e){e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;h[r>>2]=h[e+60>>2];e=Zg(Mi(6,r|0)|0)|0;v=i;return e|0}function Py(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+48|0;f=o+16|0;n=o;t=o+32|0;h[t>>2]=i;a=t+4|0;s=e+48|0;u=h[s>>2]|0;h[a>>2]=r-((u|0)!=0&1);l=e+44|0;h[t+8>>2]=h[l>>2];h[t+12>>2]=u;if(!(h[9258]|0)){h[f>>2]=h[e+60>>2];h[f+4>>2]=t;h[f+8>>2]=2;t=Zg(Di(145,f|0)|0)|0}else{Ti(185,e|0);h[n>>2]=h[e+60>>2];h[n+4>>2]=t;h[n+8>>2]=2;t=Zg(Di(145,n|0)|0)|0;mi(0)}if((t|0)>=1){a=h[a>>2]|0;if(t>>>0>a>>>0){f=h[l>>2]|0;n=e+4|0;h[n>>2]=f;h[e+8>>2]=f+(t-a);if(!(h[s>>2]|0))t=r;else{h[n>>2]=f+1;c[i+(r+-1)>>0]=c[f>>0]|0;t=r}}}else{h[e>>2]=h[e>>2]|t&48^16;h[e+8>>2]=0;h[e+4>>2]=0}v=o;return t|0}function Oy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+32|0;f=n;t=n+20|0;h[f>>2]=h[e+60>>2];h[f+4>>2]=0;h[f+8>>2]=i;h[f+12>>2]=t;h[f+16>>2]=r;if((Zg(Ci(140,f|0)|0)|0)<0){h[t>>2]=-1;e=-1}else e=h[t>>2]|0;v=n;return e|0}function Ry(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+48|0;c=k+16|0;u=k;t=k+32|0;d=e+28|0;n=h[d>>2]|0;h[t>>2]=n;b=e+20|0;n=(h[b>>2]|0)-n|0;h[t+4>>2]=n;h[t+8>>2]=i;h[t+12>>2]=r;s=e+60|0;o=e+44|0;i=2;n=n+r|0;while(1){if(!(h[9258]|0)){h[c>>2]=h[s>>2];h[c+4>>2]=t;h[c+8>>2]=i;a=Zg(xi(146,c|0)|0)|0}else{Ti(186,e|0);h[u>>2]=h[s>>2];h[u+4>>2]=t;h[u+8>>2]=i;a=Zg(xi(146,u|0)|0)|0;mi(0)}if((n|0)==(a|0)){n=6;break}if((a|0)<0){n=8;break}n=n-a|0;f=h[t+4>>2]|0;if(a>>>0<=f>>>0)if((i|0)==2){h[d>>2]=(h[d>>2]|0)+a;l=f;i=2}else l=f;else{l=h[o>>2]|0;h[d>>2]=l;h[b>>2]=l;l=h[t+12>>2]|0;a=a-f|0;t=t+8|0;i=i+-1|0}h[t>>2]=(h[t>>2]|0)+a;h[t+4>>2]=l-a}if((n|0)==6){c=h[o>>2]|0;h[e+16>>2]=c+(h[e+48>>2]|0);e=c;h[d>>2]=e;h[b>>2]=e}else if((n|0)==8){h[e+16>>2]=0;h[d>>2]=0;h[b>>2]=0;h[e>>2]=h[e>>2]|32;if((i|0)==2)r=0;else r=r-(h[t+4>>2]|0)|0}v=k;return r|0}function Ly(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+80|0;t=n;h[e+36>>2]=8;if((h[e>>2]&64|0)==0?(h[t>>2]=h[e+60>>2],h[t+4>>2]=21505,h[t+8>>2]=n+12,(wi(54,t|0)|0)!=0):0)c[e+75>>0]=-1;t=Ry(e,i,r)|0;v=n;return t|0}function Cy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=e+84|0;f=h[t>>2]|0;a=r+256|0;n=Qy(f,0,a)|0;n=(n|0)==0?a:n-f|0;r=n>>>0<r>>>0?n:r;Im(i|0,f|0,r|0)|0;h[e+4>>2]=f+r;i=f+n|0;h[e+8>>2]=i;h[t>>2]=i;return r|0}function Dy(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((h[i>>2]|0)>>>0>(h[r>>2]|0)>>>0)vE[h[e+36>>2]&63](e,0,0)|0;h[e+16>>2]=0;h[e+28>>2]=0;h[i>>2]=0;i=h[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{h[e>>2]=i|32;i=-1}else{i=h[r>>2]|0;h[e+8>>2]=i;h[e+4>>2]=i;i=0}return i|0}function xy(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=h[e>>2]|0;if(!(i&8)){h[e+8>>2]=0;h[e+4>>2]=0;i=h[e+44>>2]|0;h[e+28>>2]=i;h[e+20>>2]=i;h[e+16>>2]=i+(h[e+48>>2]|0);i=0}else{h[e>>2]=i|32;i=-1}return i|0}function Iy(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;if((h[e+8>>2]|0)==0?(Dy(e)|0)!=0:0)i=-1;else if((vE[h[e+32>>2]&63](e,i,1)|0)==1)i=b[i>>0]|0;else i=-1;v=r;return i|0}function By(e){e=e|0;var i=0,r=0;do{if(e){if((h[e+76>>2]|0)<=-1){i=cE(e)|0;break}r=(Ay(e)|0)==0;i=cE(e)|0;if(!r)My(e)}else{if(!(h[9323]|0))i=0;else i=By(h[9323]|0)|0;Ye(37060);e=h[9264]|0;if(e)do{if((h[e+76>>2]|0)>-1)r=Ay(e)|0;else r=0;if((h[e+20>>2]|0)>>>0>(h[e+28>>2]|0)>>>0)i=cE(e)|0|i;if(r)My(e);e=h[e+56>>2]|0}while((e|0)!=0);_i(37060)}}while(0);return i|0}function Ny(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;if((h[i+76>>2]|0)>=0?(Ay(i)|0)!=0:0){if((c[i+75>>0]|0)!=(e|0)?(t=i+20|0,n=h[t>>2]|0,n>>>0<(h[i+16>>2]|0)>>>0):0){h[t>>2]=n+1;c[n>>0]=e;r=e&255}else r=Ty(i,e)|0;My(i)}else a=3;do{if((a|0)==3){if((c[i+75>>0]|0)!=(e|0)?(f=i+20|0,r=h[f>>2]|0,r>>>0<(h[i+16>>2]|0)>>>0):0){h[f>>2]=r+1;c[r>>0]=e;r=e&255;break}r=Ty(i,e)|0}}while(0);return r|0}function Fy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=r+16|0;n=h[t>>2]|0;if(!n)if(!(xy(r)|0)){n=h[t>>2]|0;f=4}else t=0;else f=4;e:do{if((f|0)==4){a=r+20|0;f=h[a>>2]|0;if((n-f|0)>>>0<i>>>0){t=vE[h[r+36>>2]&63](r,e,i)|0;break}i:do{if((c[r+75>>0]|0)>-1){t=i;while(1){if(!t){n=f;t=0;break i}n=t+-1|0;if((c[e+n>>0]|0)==10)break;else t=n}if((vE[h[r+36>>2]&63](r,e,t)|0)>>>0<t>>>0)break e;i=i-t|0;e=e+t|0;n=h[a>>2]|0}else{n=f;t=0}}while(0);Im(n|0,e|0,i|0)|0;h[a>>2]=(h[a>>2]|0)+i;t=t+i|0}}while(0);return t|0}function Uy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=ce(r,i)|0;if((h[t+76>>2]|0)>-1){f=(Ay(t)|0)==0;e=Fy(e,n,t)|0;if(!f)My(t)}else e=Fy(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function jy(e){e=e|0;var i=0,r=0,t=0;if((h[e+76>>2]|0)>=0?(Ay(e)|0)!=0:0){i=e+4|0;r=h[i>>2]|0;if(r>>>0<(h[e+8>>2]|0)>>>0){h[i>>2]=r+1;i=b[r>>0]|0}else i=Iy(e)|0}else t=3;do{if((t|0)==3){i=e+4|0;r=h[i>>2]|0;if(r>>>0<(h[e+8>>2]|0)>>>0){h[i>>2]=r+1;i=b[r>>0]|0;break}else{i=Iy(e)|0;break}}}while(0);return i|0}function Hy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=v;v=v+16|0;f=n;h[f>>2]=t;t=Gy(e,i,r,f)|0;v=n;return t|0}function Yy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=v;v=v+16|0;n=t;h[n>>2]=r;r=Ky(e,i,n)|0;v=t;return r|0}function qy(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;do{if((e|0)!=-1){if((h[i+76>>2]|0)>-1)n=Ay(i)|0;else n=0;if(!((h[i+8>>2]|0)==0?(Dy(i)|0)!=0:0))f=6;if((f|0)==6?(r=i+4|0,t=h[r>>2]|0,t>>>0>((h[i+44>>2]|0)+-8|0)>>>0):0){f=t+-1|0;h[r>>2]=f;c[f>>0]=e;h[i>>2]=h[i>>2]&-17;if(!n)break;My(i);break}if(n){My(i);e=-1}else e=-1}else e=-1}while(0);return e|0}function Xy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;t=l;n=jc(240)|0;do{if(n){h[t>>2]=h[r>>2];t=Gy(n,240,i,t)|0;if(t>>>0<240){i=qc(n,t+1|0)|0;h[e>>2]=(i|0)!=0?i:n;break}Hc(n);if((t|0)>=0?(a=t+1|0,f=jc(a)|0,h[e>>2]=f,(f|0)!=0):0)t=Gy(f,a,i,r)|0;else t=-1}else t=-1}while(0);v=l;return t|0}function zy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+224|0;d=_+80|0;w=_+96|0;k=_;b=_+136|0;t=w;n=t+40|0;do{h[t>>2]=0;t=t+4|0}while((t|0)<(n|0));h[d>>2]=h[r>>2];if((Cc(0,i,d,k,w)|0)<0)r=-1;else{if((h[e+76>>2]|0)>-1)o=Ay(e)|0;else o=0;r=h[e>>2]|0;u=r&32;if((c[e+74>>0]|0)<1)h[e>>2]=r&-33;r=e+48|0;if(!(h[r>>2]|0)){n=e+44|0;f=h[n>>2]|0;h[n>>2]=b;a=e+28|0;h[a>>2]=b;l=e+20|0;h[l>>2]=b;h[r>>2]=80;s=e+16|0;h[s>>2]=b+80;t=Cc(e,i,d,k,w)|0;if(f){vE[h[e+36>>2]&63](e,0,0)|0;t=(h[l>>2]|0)==0?-1:t;h[n>>2]=f;h[r>>2]=0;h[s>>2]=0;h[a>>2]=0;h[l>>2]=0}}else t=Cc(e,i,d,k,w)|0;r=h[e>>2]|0;h[e>>2]=r|u;if(o)My(e);r=(r&32|0)==0?t:-1}v=_;return r|0}function Vy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0.0,o=0,u=0,k=0,w=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,Y=0;j=v;v=v+304|0;C=j+16|0;x=j+8|0;D=j+33|0;I=j;A=j+32|0;if((h[e+76>>2]|0)>-1)U=Ay(e)|0;else U=0;t=c[i>>0]|0;e:do{if(t<<24>>24){B=e+4|0;N=e+100|0;L=e+108|0;M=e+8|0;T=D+10|0;S=D+33|0;P=x+4|0;O=D+46|0;R=D+94|0;f=t;t=0;a=i;k=0;n=0;i=0;i:while(1){r:do{if(!(qg(f&255)|0)){f=(c[a>>0]|0)==37;t:do{if(f){o=a+1|0;l=c[o>>0]|0;n:do{switch(l<<24>>24){case 37:break t;case 42:{E=0;l=a+2|0;break}default:{l=(l&255)+-48|0;if(l>>>0<10?(c[a+2>>0]|0)==36:0){h[C>>2]=h[r>>2];while(1){E=(h[C>>2]|0)+(4-1)&~(4-1);f=h[E>>2]|0;h[C>>2]=E+4;if(l>>>0>1)l=l+-1|0;else break}E=f;l=a+3|0;break n}l=(h[r>>2]|0)+(4-1)&~(4-1);E=h[l>>2]|0;h[r>>2]=l+4;l=o}}}while(0);f=c[l>>0]|0;a=f&255;if((a+-48|0)>>>0<10){f=0;while(1){o=(f*10|0)+-48+a|0;l=l+1|0;f=c[l>>0]|0;a=f&255;if((a+-48|0)>>>0>=10)break;else f=o}}else o=0;if(f<<24>>24==109){l=l+1|0;u=c[l>>0]|0;f=(E|0)!=0&1;n=0;i=0}else{u=f;f=0}a=l+1|0;switch(u&255|0){case 104:{y=(c[a>>0]|0)==104;a=y?l+2|0:a;l=y?-2:-1;break}case 108:{y=(c[a>>0]|0)==108;a=y?l+2|0:a;l=y?3:1;break}case 106:{l=3;break}case 116:case 122:{l=1;break}case 76:{l=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{a=l;l=0;break}default:{F=152;break i}}u=b[a>>0]|0;w=(u&47|0)==3;u=w?u|32:u;w=w?1:l;switch(u|0){case 99:{y=k;g=(o|0)<1?1:o;break}case 91:{y=k;g=o;break}case 110:{if(!E){l=k;break r}switch(w|0){case-2:{c[E>>0]=k;l=k;break r}case-1:{d[E>>1]=k;l=k;break r}case 0:{h[E>>2]=k;l=k;break r}case 1:{h[E>>2]=k;l=k;break r}case 3:{l=E;h[l>>2]=k;h[l+4>>2]=((k|0)<0)<<31>>31;l=k;break r}default:{l=k;break r}}}default:{Wg(e,0);do{l=h[B>>2]|0;if(l>>>0<(h[N>>2]|0)>>>0){h[B>>2]=l+1;l=b[l>>0]|0}else l=Jg(e)|0}while((qg(l)|0)!=0);l=h[B>>2]|0;if(h[N>>2]|0){l=l+-1|0;h[B>>2]=l}y=(h[L>>2]|0)+k+l-(h[M>>2]|0)|0;g=o}}Wg(e,g);l=h[B>>2]|0;o=h[N>>2]|0;if(l>>>0<o>>>0)h[B>>2]=l+1;else{if((Jg(e)|0)<0){F=152;break i}o=h[N>>2]|0}if(o)h[B>>2]=(h[B>>2]|0)+-1;n:do{switch(u|0){case 91:case 99:case 115:{p=(u|0)==99;f:do{if((u&239|0)==99){Cm(D|0,-1,257)|0;c[D>>0]=0;if((u|0)==115){c[S>>0]=0;c[T>>0]=0;c[T+1>>0]=0;c[T+2>>0]=0;c[T+3>>0]=0;c[T+4>>0]=0}}else{Y=a+1|0;k=(c[Y>>0]|0)==94;l=k&1;u=k?Y:a;a=k?a+2|0:Y;Cm(D|0,k&1|0,257)|0;c[D>>0]=0;switch(c[a>>0]|0){case 45:{k=(l^1)&255;c[O>>0]=k;a=u+2|0;break}case 93:{k=(l^1)&255;c[R>>0]=k;a=u+2|0;break}default:k=(l^1)&255}while(1){l=c[a>>0]|0;a:do{switch(l<<24>>24){case 0:{F=152;break i}case 93:break f;case 45:{u=a+1|0;l=c[u>>0]|0;switch(l<<24>>24){case 93:case 0:{l=45;break a}default:{}}a=c[a+-1>>0]|0;if((a&255)<(l&255)){a=a&255;do{a=a+1|0;c[D+a>>0]=k;l=c[u>>0]|0}while((a|0)<(l&255|0));a=u}else a=u;break}default:{}}}while(0);c[D+((l&255)+1)>>0]=k;a=a+1|0}}}while(0);u=p?g+1|0:31;k=(w|0)==1;w=(f|0)!=0;f:do{if(k){if(w){i=jc(u<<2)|0;if(!i){n=0;F=152;break i}}else i=E;h[x>>2]=0;h[P>>2]=0;n=0;a:while(1){o=(i|0)==0;do{l:while(1){l=h[B>>2]|0;if(l>>>0<(h[N>>2]|0)>>>0){h[B>>2]=l+1;l=b[l>>0]|0}else l=Jg(e)|0;if(!(c[D+(l+1)>>0]|0))break a;c[A>>0]=l;switch(ky(I,A,1,x)|0){case-1:{n=0;F=152;break i}case-2:break;default:break l}}if(!o){h[i+(n<<2)>>2]=h[I>>2];n=n+1|0}}while(!(w&(n|0)==(u|0)));n=u<<1|1;l=qc(i,n<<2)|0;if(!l){n=0;F=152;break i}Y=u;u=n;i=l;n=Y}if(!(wy(x)|0)){n=0;F=152;break i}else{o=n;n=0}}else{if(w){n=jc(u)|0;if(!n){n=0;i=0;F=152;break i}else l=0;while(1){do{i=h[B>>2]|0;if(i>>>0<(h[N>>2]|0)>>>0){h[B>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if(!(c[D+(i+1)>>0]|0)){o=l;i=0;break f}c[n+l>>0]=i;l=l+1|0}while((l|0)!=(u|0));i=u<<1|1;l=qc(n,i)|0;if(!l){i=0;F=152;break i}else{Y=u;u=i;n=l;l=Y}}}if(!E){n=o;while(1){i=h[B>>2]|0;if(i>>>0<n>>>0){h[B>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if(!(c[D+(i+1)>>0]|0)){o=0;n=0;i=0;break f}n=h[N>>2]|0}}else{n=0;while(1){i=h[B>>2]|0;if(i>>>0<o>>>0){h[B>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if(!(c[D+(i+1)>>0]|0)){o=n;n=E;i=0;break f}c[E+n>>0]=i;o=h[N>>2]|0;n=n+1|0}}}}while(0);l=h[B>>2]|0;if(h[N>>2]|0){l=l+-1|0;h[B>>2]=l}l=l-(h[M>>2]|0)+(h[L>>2]|0)|0;if(!l)break i;if(!((l|0)==(g|0)|p^1))break i;do{if(w)if(k){h[E>>2]=i;break}else{h[E>>2]=n;break}}while(0);if(!p){if(i)h[i+(o<<2)>>2]=0;if(!n){n=0;break n}c[n+o>>0]=0}break}case 120:case 88:case 112:{l=16;F=134;break}case 111:{l=8;F=134;break}case 117:case 100:{l=10;F=134;break}case 105:{l=0;F=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{s=+Gg(e,w,0);if((h[L>>2]|0)==((h[M>>2]|0)-(h[B>>2]|0)|0))break i;if(E)switch(w|0){case 0:{_[E>>2]=s;break n}case 1:{m[E>>3]=s;break n}case 2:{m[E>>3]=s;break n}default:break n}break}default:{}}}while(0);n:do{if((F|0)==134){F=0;l=Kg(e,l,0,-1,-1)|0;if((h[L>>2]|0)==((h[M>>2]|0)-(h[B>>2]|0)|0))break i;if((E|0)!=0&(u|0)==112){h[E>>2]=l;break}if(E)switch(w|0){case-2:{c[E>>0]=l;break n}case-1:{d[E>>1]=l;break n}case 0:{h[E>>2]=l;break n}case 1:{h[E>>2]=l;break n}case 3:{Y=E;h[Y>>2]=l;h[Y+4>>2]=H;break n}default:break n}}}while(0);t=((E|0)!=0&1)+t|0;l=(h[L>>2]|0)+y+(h[B>>2]|0)-(h[M>>2]|0)|0;break r}}while(0);a=a+(f&1)|0;Wg(e,0);f=h[B>>2]|0;if(f>>>0<(h[N>>2]|0)>>>0){h[B>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;if((f|0)!=(b[a>>0]|0)){F=21;break i}l=k+1|0}else{while(1){f=a+1|0;if(!(qg(b[f>>0]|0)|0))break;else a=f}Wg(e,0);do{f=h[B>>2]|0;if(f>>>0<(h[N>>2]|0)>>>0){h[B>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0}while((qg(f)|0)!=0);f=h[B>>2]|0;if(h[N>>2]|0){f=f+-1|0;h[B>>2]=f}l=(h[L>>2]|0)+k+f-(h[M>>2]|0)|0}}while(0);a=a+1|0;f=c[a>>0]|0;if(!(f<<24>>24))break e;else k=l}if((F|0)==21){if(h[N>>2]|0)h[B>>2]=(h[B>>2]|0)+-1;if((t|0)!=0|(f|0)>-1)break;else{t=0;F=153}}else if((F|0)==152)if(!t){t=f;F=153}if((F|0)==153){f=t;t=-1}if(f){Hc(n);Hc(i)}}else t=0}while(0);if(U)My(e);v=j;return t|0}function Gy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+128|0;n=u+112|0;o=u;f=o;a=37352;l=f+112|0;do{h[f>>2]=h[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));if((i+-1|0)>>>0>2147483646)if(!i){i=1;s=4}else{i=zg()|0;h[i>>2]=75;i=-1}else{n=e;s=4}if((s|0)==4){s=-2-n|0;s=i>>>0>s>>>0?s:i;h[o+48>>2]=s;e=o+20|0;h[e>>2]=n;h[o+44>>2]=n;i=n+s|0;n=o+16|0;h[n>>2]=i;h[o+28>>2]=i;i=zy(o,r,t)|0;if(s){r=h[e>>2]|0;c[r+(((r|0)==(h[n>>2]|0))<<31>>31)>>0]=0}}v=u;return i|0}function Ky(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=v;v=v+112|0;t=f;n=t;a=n+112|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[t+32>>2]=29;h[t+44>>2]=e;h[t+76>>2]=-1;h[t+84>>2]=e;a=Vy(t,i,r)|0;v=f;return a|0}function Wy(e,i,r){e=e|0;i=i|0;r=r|0;return+ +xc(e,i,2)}function Jy(e,i,r){e=e|0;i=i|0;r=r|0;e=Ic(e,i,r,-1,-1)|0;return e|0}function Zy(e,i,r){e=e|0;i=i|0;r=r|0;e=Ic(e,i,r,0,-2147483648)|0;return e|0}function Qy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i&255;t=(r|0)!=0;e:do{if(t&(e&3|0)!=0){n=i&255;while(1){if((c[e>>0]|0)==n<<24>>24){a=6;break e}e=e+1|0;r=r+-1|0;t=(r|0)!=0;if(!(t&(e&3|0)!=0)){a=5;break}}}else a=5}while(0);if((a|0)==5)if(t)a=6;else r=0;e:do{if((a|0)==6){n=i&255;if((c[e>>0]|0)!=n<<24>>24){t=ce(f,16843009)|0;i:do{if(r>>>0>3)while(1){f=h[e>>2]^t;if((f&-2139062144^-2139062144)&f+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){a=11;break i}}else a=11}while(0);if((a|0)==11)if(!r){r=0;break}while(1){if((c[e>>0]|0)==n<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return((r|0)!=0?e:0)|0}function $y(e,i){e=e|0;i=i|0;var r=0,t=0;r=i;e:do{if(!((r^e)&3)){if(r&3)do{r=c[i>>0]|0;c[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0);r=h[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){t=e;while(1){i=i+4|0;e=t+4|0;h[t>>2]=r;r=h[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else t=e}}t=8}else t=8}while(0);if((t|0)==8){t=c[i>>0]|0;c[e>>0]=t;if(t<<24>>24)do{i=i+1|0;e=e+1|0;t=c[i>>0]|0;c[e>>0]=t}while(t<<24>>24!=0)}return e|0}function eE(e,i){e=e|0;i=i|0;var r=0,t=0;t=c[e>>0]|0;r=c[i>>0]|0;if(t<<24>>24==0?1:t<<24>>24!=r<<24>>24)i=t;else{do{e=e+1|0;i=i+1|0;t=c[e>>0]|0;r=c[i>>0]|0}while(!(t<<24>>24==0?1:t<<24>>24!=r<<24>>24));i=t}return(i&255)-(r&255)|0}function iE(e,i){e=e|0;i=i|0;$y(e,i)|0;return e|0}function rE(e){e=e|0;var i=0,r=0,t=0;t=e;e:do{if(!(t&3))r=4;else{i=e;e=t;while(1){if(!(c[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}}while(0);if((r|0)==4){while(1){i=h[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do{e=e+1|0}while((c[e>>0]|0)!=0)}return e-t|0}function tE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(!r)i=0;else{t=c[e>>0]|0;e:do{if(!(t<<24>>24))t=0;else while(1){r=r+-1|0;n=c[i>>0]|0;if(!(t<<24>>24==n<<24>>24&((r|0)!=0&n<<24>>24!=0)))break e;e=e+1|0;i=i+1|0;t=c[e>>0]|0;if(!(t<<24>>24)){t=0;break}}}while(0);i=(t&255)-(b[i>>0]|0)|0}return i|0}function nE(e){e=e|0;var i=0;i=e;while(1)if(!(h[i>>2]|0))break;else i=i+4|0;return i-e>>2|0}function fE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(r){t=e;while(1){r=r+-1|0;h[t>>2]=h[i>>2];if(!r)break;else{i=i+4|0;t=t+4|0}}}return e|0}function aE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=(r|0)==0;if(e-i>>2>>>0<r>>>0){if(!t)do{r=r+-1|0;h[e+(r<<2)>>2]=h[i+(r<<2)>>2]}while((r|0)!=0)}else if(!t){t=i;i=e;while(1){r=r+-1|0;h[i>>2]=h[t>>2];if(!r)break;else{t=t+4|0;i=i+4|0}}}return e|0}function lE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(r){t=e;while(1){r=r+-1|0;h[t>>2]=i;if(!r)break;else t=t+4|0}}return e|0}function sE(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;a=e+4|0;r=h[a>>2]|0;l=e+100|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0;switch(r|0){case 43:case 45:{t=(r|0)==45&1;r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0;if((i|0)!=0&(r+-48|0)>>>0>9?(h[l>>2]|0)!=0:0){h[a>>2]=(h[a>>2]|0)+-1;f=t}else f=t;break}default:f=0}if((r+-48|0)>>>0>9)if(!(h[l>>2]|0)){t=-2147483648;r=0}else{h[a>>2]=(h[a>>2]|0)+-1;t=-2147483648;r=0}else{t=0;do{t=r+-48+(t*10|0)|0;r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0}while((r+-48|0)>>>0<10&(t|0)<214748364);i=((t|0)<0)<<31>>31;if((r+-48|0)>>>0<10){do{i=qm(t|0,i|0,10,0)|0;t=H;r=Dm(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;t=Dm(r|0,H|0,i|0,t|0)|0;i=H;r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0}while((r+-48|0)>>>0<10&((i|0)<21474836|(i|0)==21474836&t>>>0<2061584302));n=t}else n=t;if((r+-48|0)>>>0<10)do{r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0}while((r+-48|0)>>>0<10);if(h[l>>2]|0)h[a>>2]=(h[a>>2]|0)+-1;e=(f|0)!=0;r=Lm(0,0,n|0,i|0)|0;t=e?H:i;r=e?r:n}H=t;return r|0}function oE(e){e=e|0;if(!(h[e+68>>2]|0))My(e);return}function uE(e){e=e|0;if(!(h[e+68>>2]|0))My(e);return}function cE(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;i=e+20|0;f=e+28|0;if((h[i>>2]|0)>>>0>(h[f>>2]|0)>>>0?(vE[h[e+36>>2]&63](e,0,0)|0,(h[i>>2]|0)==0):0)i=-1;else{a=e+4|0;r=h[a>>2]|0;t=e+8|0;n=h[t>>2]|0;if(r>>>0<n>>>0)vE[h[e+40>>2]&63](e,r-n|0,1)|0;h[e+16>>2]=0;h[f>>2]=0;h[i>>2]=0;h[t>>2]=0;h[a>>2]=0;i=0}return i|0}var dE=[wp,$s,to,Qo,ru,lu,ou,Gw,n_,wp,wp,wp,wp,wp,wp,wp];var hE=[_p,Zp,Hl,Ol,_l,fl,Ga,Ia,ma,Sg,Tg,Eg,_p,_p,_p,_p];var bE=[mp,hu,pu,mp];var kE=[pp,Gp,Kp,Nl,Fl,Ml,Tl,hl,bl,il,rl,qa,Xa,La,Ca,ba,ka,ia,ra,qf,Xf,Lf,Cf,pf,vf,lf,sf,kn,wn,rn,tn,or,ur,Lt,It,Ct,ob,cb,ub,db,et,it,Lv,rt,Gr,Kr,Ar,Mr,Cr,Dr,Ur,jr,tt,nt,ut,ct,_t,mt,At,Mt,$t,en,An,Mn,Ln,Cn,Fn,Un,zn,Vn,Oa,Ra,Fd,fv,kv,wv,Cv,Dv,Kv,Wv,ig,rg,ag,lg,og,dg,ug,cg,hg,bg,Bh,ed,ad,gh,cd,_d,Bd,Nd,yh,Nh,Zh,$h,Qh,eb,tb,fb,nb,ab,_b,pb,mb,vb,Sb,Pb,hh,Ob,Rb,Lb,Db,Ku,Nb,Fb,Yb,qb,tk,nk,Ek,Ak,Fk,Uk,is,rs,Ts,Ss,Js,Qs,io,ro,fo,ao,_o,mo,Po,Oo,Uo,jo,Jo,Zo,fu,au,cu,du,_u,mu,Eu,Au,Pu,Ou,Bu,Nu,dc,hc,Vw,Lc,_w,mw,pw,vw,Cb,Gu,Ju,yc,Zk,fw,hw,bw,xv,Ev,Yv,sr,Eh,rb,Yt,ga,Ng,oE,uE,Gc,iy,$o,iu,Wu,rm,om,um,cm,dm,hm,bm,qd,th,Hc,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp];var wE=[vp,Jp,jl,Pl,wl,nl,Va,xa,_a,ta,zf,Df,gf,of,_n,nn,cr,Ah,_v,vv,id,fd,dd,wd,Uh,oo,uo,co,ho,ko,wo,go,yo,Eo,Ao,To,So,Co,Do,xo,Io,No,Fo,qo,Xo,zo,Vo,Ko,Wo,Su,Cu,Mw,Sw,Ow,Tw,Pw,Rw,er,Iv,gv,yv,Av,mh,mr,vr,hb,dh,Zd,Ht,sn,$n,hf,Mf,Nf,Wf,la,va,Na,Wa,ll,pl,Ll,ql,$p,hv,jv,Sd,Md,wh,gb,Td,Wd,lh,ah,A_,M_,T_,S_,P_,O_,Rc,R_,L_,C_,D_,x_,I_,B_,N_,F_,U_,j_,H_,Y_,q_,X_,z_,V_,G_,K_,W_,J_,Z_,Q_,em,vm,vp,vp];var _E=[gp,Xb,zb,Vb,Gb,Kb,Wb,Jb,Zb,Qb,$b,ek,fk,ak,lk,sk,ok,uk,ck,dk,hk,bk,kk,Rk,Ck,qk,Wl,ns,fs,as,ss,us,Os,Rs,Ls,Ds,Is,wu,yu,Vr,w_,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp];var mE=[yp,Ph,Oh,Zr,Ch,av,Jv,tg,sg,Sy,rd,Xh,Vh,Gh,qh,ld,sd,hd,Lh,md,pd,Eb,ts,Cw,xw,Bw,Yw,Xw,Fw,jw,Ps,Dw,Iw,Nw,qw,zw,Uw,Hw,lo,so,bo,po,vo,Mo,Ro,Lo,Bo,Ho,Yo,Go,Gk,Kk,Jk,gw,Ew,yw,Aw,Tc,Sc,Oc,iw,rw,nw,ow,uw,dw,ov,Xv,_h,Tv,ib,lb,Ep,Ap,Mp,fy,nE,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp];var pE=[Tp,eu,su,Tp];var vE=[Sp,Mh,Rh,xh,Od,Rd,kg,Bc,Ry,Oy,Py,Ly,jh,zh,td,Wh,bd,Bb,Hb,Mu,Ru,kc,_c,vc,Zu,nc,lc,uc,pr,Dc,Qd,ny,g_,E_,vy,py,by,Xy,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp];var gE=[Pp,ku,gu,Pp];var yE=[Op,Wr,Rg,Og,Pg,Hh,Th,Tu,Lu,Op,Op,Op,Op,Op,Op,Op];var EE=[Rp,Ok,Ik,Yk,Zl,Rp,Rp,Rp];var AE=[Lp,tu,uu,bu,vu,Lp,Lp,Lp];var ME=[Cp,Wp,Ul,Sl,kl,tl,za,Da,wa,fa,Gf,If,Ef,cf,pn,an,hr,Qr,$r,Kh,nd,od,Jh,Dh,kd,vd,Ih,bc,wc,mc,rc,fc,sc,Bv,nr,ar,kb,Vu,wb,ty,ry,zd,nh,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp];var TE=[Dp,xb,Ub,Mk,Tk,Lk,Nk,jk,Hk,Kl,$l,gc,Vk,Wk,cc,Mc,Pc,ew,tw,sw,cw,gy,_y,Dp,Dp,Dp,Dp,Dp,Dp,Dp,Dp,Dp];var SE=[xp,Em,ym,gm];var PE=[Ip,ir,qv,rk,Uu,ju,Hu,jg,Yg,Hg,Ip,Ip,Ip,Ip,Ip,Ip];var OE=[Bp,na,Vf,xf,yf,uf,mn,fn,dr,pc,$u,ec,ic,oc,sv,bv,t_,k_,my,$g,ky,Om,Pm,Sm,Tm,Mm,Am,Bp,Bp,Bp,Bp,Bp];var RE=[Np,Pd,lv,Ab,Nv,Hd,Fp,Id,Gd,Mv,Cd,Tb,p_,v_,y_,ih];var LE=[Up,jp,xg,Hp,Ig,Yp,Dg,Up];var CE=[qp,ds,Ns,Xk,zk,Ec,Ac,Qk,$k,aw,lw,qp,qp,qp,qp,qp];var DE=[Xp,Dk,Bk,Jl,Ql,Xp,Xp,Xp];var xE=[zp,Bt,Nt,Dt,xt,Jr,Tr,Sr,xr,Ir,Hr,Yr,ft,at,dt,ht,pt,vt,Tt,St,Tn,Sn,Dn,xn,jn,Hn,Gn,Kn,_g,mg,vg,Yh,Sh,Ib,jb,Gi,xd,br,kr,wr,_r,gr,yr,Er,vn,gn,yn,En,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp];return{_jpegls_encode:Uv,___cxa_can_catch:Lg,_free:Hc,_jpegls_decode:Fv,___cxa_is_pointer_type:Cg,_i64Add:Dm,_memmove:Nm,_i64Subtract:Lm,_memset:Cm,_malloc:jc,_memcpy:Im,_bitshift64Lshr:xm,_bitshift64Shl:Bm,__GLOBAL__I_000101:Kc,__GLOBAL__sub_I_jpegls_cpp:lr,__GLOBAL__sub_I_iostream_cpp:Wc,runPostSets:Rm,_emscripten_replace_memory:Bi,stackAlloc:Ni,stackSave:Fi,stackRestore:Ui,establishStackSpace:ji,setThrew:Hi,setTempRet0:Xi,getTempRet0:zi,dynCall_iiiiiiii:Gm,dynCall_viiiii:Km,dynCall_iiiiiid:Wm,dynCall_vi:Jm,dynCall_vii:Zm,dynCall_iiiiiii:Qm,dynCall_ii:$m,dynCall_iiiiiiiiiiii:ep,dynCall_iiii:ip,dynCall_viiiiiiiiiiiiiii:rp,dynCall_viiiiii:tp,dynCall_viiiiiii:np,dynCall_viiiiiiiiii:fp,dynCall_iii:ap,dynCall_iiiiii:lp,dynCall_diii:sp,dynCall_i:op,dynCall_iiiii:up,dynCall_viii:cp,dynCall_v:dp,dynCall_iiiiiiiii:hp,dynCall_iiiiid:bp,dynCall_viiii:kp}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_jpegls_encode=Module._jpegls_encode=asm._jpegls_encode,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,_free=Module._free=asm._free,_jpegls_decode=Module._jpegls_decode=asm._jpegls_decode,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,_i64Add=Module._i64Add=asm._i64Add,_memmove=Module._memmove=asm._memmove,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_memset=Module._memset=asm._memset,_malloc=Module._malloc=asm._malloc,_memcpy=Module._memcpy=asm._memcpy,_emscripten_replace_memory=Module._emscripten_replace_memory=asm._emscripten_replace_memory,runPostSets=Module.runPostSets=asm.runPostSets,__GLOBAL__sub_I_iostream_cpp=Module.__GLOBAL__sub_I_iostream_cpp=asm.__GLOBAL__sub_I_iostream_cpp,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,__GLOBAL__sub_I_jpegls_cpp=Module.__GLOBAL__sub_I_jpegls_cpp=asm.__GLOBAL__sub_I_jpegls_cpp,__GLOBAL__I_000101=Module.__GLOBAL__I_000101=asm.__GLOBAL__I_000101,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_iiiiiid=Module.dynCall_iiiiiid=asm.dynCall_iiiiiid,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiiiii=asm.dynCall_viiiiiiiiiiiiiii,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_viiiiiii=Module.dynCall_viiiiiii=asm.dynCall_viiiiiii,dynCall_viiiiiiiiii=Module.dynCall_viiiiiiiiii=asm.dynCall_viiiiiiiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_iiiiiiiii=Module.dynCall_iiiiiiiii=asm.dynCall_iiiiiiiii,dynCall_iiiiid=Module.dynCall_iiiiid=asm.dynCall_iiiiid,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),i()}),1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var i=e.length+1;function r(){for(var e=0;e<3;e++)t.push(0)}var t=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];r();for(var n=0;n<i-1;n+=1)t.push(allocate(intArrayFromString(e[n]),"i8",ALLOC_NORMAL)),r();t.push(0),t=allocate(t,"i32",ALLOC_NORMAL);try{exit(Module._main(i,t,0),!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);throw e&&"object"==typeof e&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}finally{calledMain=!0}},Module.run=Module.run=run,Module.exit=Module.exit=exit;var abortDecorators=[];function abort(e){void 0!==e?(Module.print(e),Module.printErr(e),e=JSON.stringify(e)):e="",ABORT=!0,EXITSTATUS=1;var i="abort("+e+") at "+stackTrace()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw abortDecorators&&abortDecorators.forEach((function(r){i=r(i,e)})),i}if(Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module}},757:(module,__unused_webpack_exports,__webpack_require__)=>{var __dirname="/";module.exports=function(Module){var Module;Module=Module||{},Module||(Module=(void 0!==OpenJPEG?OpenJPEG:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=__webpack_require__(722),nodePath=__webpack_require__(978);Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),module.exports=Module,process.on("uncaughtException",(function(e){if(!(e instanceof ExitStatus))throw e})),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(!(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i<Runtime.functionPointers.length;i++)if(!Runtime.functionPointers[i])return Runtime.functionPointers[i]=e,2*(1+i);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,i){assert(i),Runtime.funcWrappers[i]||(Runtime.funcWrappers[i]={});var r=Runtime.funcWrappers[i];return r[e]||(r[e]=function(){return Runtime.dynCall(i,e,arguments)}),r[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var i=STACKTOP;return STACKTOP=(STACKTOP=STACKTOP+e|0)+15&-16,i},staticAlloc:function(e){var i=STATICTOP;return STATICTOP=(STATICTOP=STATICTOP+e|0)+15&-16,i},dynamicAlloc:function(e){var i=DYNAMICTOP;if((DYNAMICTOP=(DYNAMICTOP=DYNAMICTOP+e|0)+15&-16)>=TOTAL_MEMORY&&!enlargeMemory())return DYNAMICTOP=i,0;return i},alignMemory:function(e,i){return e=Math.ceil(e/(i||16))*(i||16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,i){e||abort("Assertion failed: "+i)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e|0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":return HEAP8[e|0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!=e&&0!==e&&writeStringToMemory(e,i=Runtime.stackAlloc(1+(e.length<<2))),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],l=0;if(t)for(var s=0;s<t.length;s++){var o=toC[r[s]];o?(0===l&&(l=Runtime.stackSave()),a[s]=o(t[s])):a[s]=t[s]}var u=f.apply(null,a);if("string"===i&&(u=Pointer_stringify(u)),0!==l){if(n&&n.async)return void EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(l)}));Runtime.stackRestore(l)}return u};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(e){var i=e.toString().match(sourceRegex).slice(1);return{arguments:i[0],body:i[1],returnValue:i[2]}}var JSsource={};for(var fun in JSfuncs)JSfuncs.hasOwnProperty(fun)&&(JSsource[fun]=parseJSFunc(JSfuncs[fun]));cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every((function(e){return"number"===e})),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map((function(e,i){return"$"+i})),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if("number"!==type){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"="+convertCode.returnValue+";"}}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}})(),Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;function allocate(e,i,r,t){var n,f;"number"==typeof e?(n=!0,f=e):(n=!1,f=e.length);var a,l="string"==typeof i?i:null;if(a=r==ALLOC_NONE?t:[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===r?ALLOC_STATIC:r](Math.max(f,l?1:i.length)),n){var s;t=a;for(assert(!(3&a)),s=a+(-4&f);t<s;t+=4)HEAP32[t>>2]=0;for(s=a+f;t<s;)HEAP8[t++|0]=0;return a}if("i8"===l)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var o,u,c,d=0;d<f;){var h=e[d];"function"==typeof h&&(h=Runtime.getFunctionIndex(h)),0!==(o=l||i[d])?("i64"==o&&(o="i32"),setValue(a+d,h,o),c!==o&&(u=Runtime.getNativeTypeSize(o),c=o),d+=u):d++}return a}function getMemory(e){return staticSealed?void 0!==_sbrk&&!_sbrk.called||!runtimeInitialized?Runtime.dynamicAlloc(e):_malloc(e):Runtime.staticAlloc(e)}function Pointer_stringify(e,i){if(0===i||!e)return"";for(var r,t=0,n=0;t|=r=HEAPU8[e+n|0],(0!=r||i)&&(n++,!i||n!=i););i||(i=n);var f="";if(t<128){for(var a,l=1024;i>0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,l))),f=f?f+a:a,e+=l,i-=l;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++|0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,l="";;){if(!(r=e[i++]))return l;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],r=248==(252&r)?(3&r)<<24|t<<18|n<<12|f<<6|a:(1&r)<<30|t<<24|n<<18|f<<12|a<<6|63&e[i++])),r<65536)l+=String.fromCharCode(r);else{var s=r-65536;l+=String.fromCharCode(55296|s>>10,56320|1023&s)}else l+=String.fromCharCode((31&r)<<6|t);else l+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a<e.length;++a){var l=e.charCodeAt(a);if(l>=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&e.charCodeAt(++a)),l<=127){if(r>=f)break;i[r++]=l}else if(l<=2047){if(r+1>=f)break;i[r++]=192|l>>6,i[r++]=128|63&l}else if(l<=65535){if(r+2>=f)break;i[r++]=224|l>>12,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=2097151){if(r+3>=f)break;i[r++]=240|l>>18,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=67108863){if(r+4>=f)break;i[r++]=248|l>>24,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else{if(r+5>=f)break;i[r++]=252|l>>30,i[r++]=128|l>>24&63,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r<e.length;++r){var t=e.charCodeAt(r);t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var t=i,n=(r-=2)<2*e.length?r/2:e.length,f=0;f<n;++f){var a=e.charCodeAt(f);HEAP16[i>>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f<e.length;++f){var a=e.charCodeAt(f);if(a>=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f);if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r<e.length;++r){var t=e.charCodeAt(r);t>=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){var i=!!Module.___cxa_demangle;if(i)try{var r=_malloc(e.length);writeStringToMemory(e.substr(1),r);var t=_malloc(4),n=Module.___cxa_demangle(r,0,0,t);if(0===getValue(t,"i32")&&n)return Pointer_stringify(n)}catch(e){}finally{r&&_free(r),t&&_free(t),n&&_free(n)}var f=3,a={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},l=[],s=!0;var o=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=function i(r,t,n){t=t||1/0;var o,u="",c=[];if("N"===e[f]){if(o=function(){f++,"K"===e[f]&&f++;for(var i=[];"E"!==e[f];)if("S"!==e[f])if("C"!==e[f]){var r=parseInt(e.substr(f)),t=r.toString().length;if(!r||!t){f--;break}var n=e.substr(f+t,r);i.push(n),l.push(n),f+=t+r}else i.push(i[i.length-1]),f+=2;else{f++;var a=e.indexOf("_",f),s=e.substring(f,a)||0;i.push(l[s]||"?"),f=a+1}return f++,i}().join("::"),0==--t)return r?[o]:o}else if(("K"===e[f]||s&&"L"===e[f])&&f++,k=parseInt(e.substr(f))){var d=k.toString().length;o=e.substr(f+d,k),f+=d+k}if(s=!1,"I"===e[f]){f++;var h=i(!0);u+=i(!0,1,!0)[0]+" "+o+"<"+h.join(", ")+">"}else u=o;e:for(;f<e.length&&t-- >0;){var b=e[f++];if(b in a)c.push(a[b]);else switch(b){case"P":c.push(i(!0,1,!0)[0]+"*");break;case"R":c.push(i(!0,1,!0)[0]+"&");break;case"L":f++;var k=e.indexOf("E",f)-f;c.push(e.substr(f,k)),f+=k+2;break;case"A":if(k=parseInt(e.substr(f)),f+=k.toString().length,"_"!==e[f])throw"?";f++,c.push(i(!0,1,!0)[0]+" ["+k+"]");break;case"E":break e;default:u+="?"+b;break e}}return n||1!==c.length||"void"!==c[0]||(c=[]),r?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){o+="?"}return o.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,(function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,byteLength;function enlargeMemory(){var e=Math.pow(2,31);if(DYNAMICTOP>=e)return!1;for(;TOTAL_MEMORY<=DYNAMICTOP;)if(TOTAL_MEMORY<e/2)TOTAL_MEMORY=alignMemoryPage(2*TOTAL_MEMORY);else{var i=TOTAL_MEMORY;if((TOTAL_MEMORY=alignMemoryPage((3*TOTAL_MEMORY+e)/4))<=i)return!1}if((TOTAL_MEMORY=Math.max(TOTAL_MEMORY,16777216))>=e)return!1;try{if(ArrayBuffer.transfer)buffer=ArrayBuffer.transfer(buffer,TOTAL_MEMORY);else{var r=HEAP8;buffer=new ArrayBuffer(TOTAL_MEMORY)}}catch(e){return!1}return!!_emscripten_replace_memory(buffer)&&(Module.buffer=buffer,Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer),ArrayBuffer.transfer||HEAP8.set(r),!0)}try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),byteLength(new ArrayBuffer(4))}catch(e){byteLength=function(e){return e.byteLength}}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216,totalMemory=65536,buffer;totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK;)totalMemory<16777216?totalMemory*=2:totalMemory+=16777216;function callRuntimeCallbacks(e){for(;e.length>0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}totalMemory=Math.max(totalMemory,16777216),totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r<e.length;r++){var t=e[r];t>255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n<t.length;){var f=t[n];HEAP8[i+n|0]=f,n+=1}}function writeArrayToMemory(e,i){for(var r=0;r<e.length;r++)HEAP8[i++|0]=e[r]}function writeAsciiToMemory(e,i,r){for(var t=0;t<e.length;++t)HEAP8[i++|0]=e.charCodeAt(t);r||(HEAP8[i|0]=0)}function unSign(e,i,r){return e>=0?e:i<=32?2*Math.abs(1<<i-1)+e:Math.pow(2,i)+e}function reSign(e,i,r){if(e<=0)return e;var t=i<=32?Math.abs(1<<i-1):Math.pow(2,i-1);return e>=t&&(i<=32||e>t)&&(e=-2*t+e),e}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,i){var r=65535&e,t=65535&i;return r*t+((e>>>16)*t+r*(i>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+25664,__ATINIT__.push(),allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,38,94,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240),allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var _floorf=Math_floor;Module._bitshift64Ashr=_bitshift64Ashr;var _SItoF=!0;Module._memset=_memset;var _BDtoILow=!0,_ceilf=Math_ceil;function _abort(){Module.abort()}function ___lock(){}function ___unlock(){}Module._bitshift64Shl=_bitshift64Shl,Module._i64Add=_i64Add;var _floor=Math_floor,_sqrt=Math_sqrt,PATH=void 0;function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var r=[],t="__emcc";function n(e){e.source===window&&e.data===t&&(e.stopPropagation(),r.shift()())}window.addEventListener("message",n,!0),window.setImmediate=function(e){r.push(e),window.postMessage(t,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}f<Browser.mainLoop.currentlyRunningMainloop||(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,1==Browser.mainLoop.timingMode&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():("timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter((function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)})),f<Browser.mainLoop.currentlyRunningMainloop||("object"==typeof SDL&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())))}},n||(i&&i>0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i<r?Module.setStatus(e+" ("+(r-i)+"/"+r+")"):Module.setStatus(e):Module.setStatus("")}},runIter:function(e){if(!ABORT){if(Module.preMainLoop)if(!1===Module.preMainLoop())return;try{e()}catch(e){if(e instanceof ExitStatus)return;throw e&&"object"==typeof e&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}Module.postMainLoop&&Module.postMainLoop()}}},isFullScreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(Module.preloadPlugins||(Module.preloadPlugins=[]),!Browser.initted){Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch(e){Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,Module.noImageDecoding||void 0!==Browser.URLObject||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var e={canHandle:function(e){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,i,r,t){var n=null;if(Browser.hasBlobConstructor)try{(n=new Blob([e],{type:Browser.getMimetype(i)})).size!==e.length&&(n=new Blob([new Uint8Array(e).buffer],{type:Browser.getMimetype(i)}))}catch(e){Runtime.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}if(!n){var f=new Browser.BlobBuilder;f.append(new Uint8Array(e).buffer),n=f.getBlob()}var a=Browser.URLObject.createObjectURL(n),l=new Image;l.onload=function(){assert(l.complete,"Image "+i+" could not be decoded");var t=document.createElement("canvas");t.width=l.width,t.height=l.height,t.getContext("2d").drawImage(l,0,0),Module.preloadedImages[i]=t,Browser.URLObject.revokeObjectURL(a),r&&r(e)},l.onerror=function(e){console.log("Image "+a+" could not be decoded"),t&&t()},l.src=a}};Module.preloadPlugins.push(e);var i={canHandle:function(e){return!Module.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,i,r,t){var n=!1;function f(t){n||(n=!0,Module.preloadedAudios[i]=t,r&&r(e))}function a(){n||(n=!0,Module.preloadedAudios[i]=new Audio,t&&t())}if(!Browser.hasBlobConstructor)return a();try{var l=new Blob([e],{type:Browser.getMimetype(i)})}catch(e){return a()}var s=Browser.URLObject.createObjectURL(l),o=new Audio;o.addEventListener("canplaythrough",(function(){f(o)}),!1),o.onerror=function(r){n||(console.log("warning: browser could not fully decode audio "+i+", trying slower base64 approach"),o.src="data:audio/x-"+i.substr(-3)+";base64,"+function(e){for(var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",t=0,n=0,f=0;f<e.length;f++)for(t=t<<8|e[f],n+=8;n>=6;){var a=t>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&t)<<4],r+="=="):4==n&&(r+=i[(15&t)<<2],r+="="),r}(e),f(o))},o.src=s,Browser.safeSetTimeout((function(){f(o)}),1e4)}};Module.preloadPlugins.push(i);var r=Module.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&r.addEventListener("click",(function(e){!Browser.pointerLock&&r.requestPointerLock&&(r.requestPointerLock(),e.preventDefault())}),!1))}function t(){Browser.pointerLock=document.pointerLockElement===r||document.mozPointerLockElement===r||document.webkitPointerLockElement===r||document.msPointerLockElement===r}},createContext:function(e,i,r,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,f;if(i){var a={antialias:!1,alpha:!1};if(t)for(var l in t)a[l]=t[l];(f=GL.createContext(e,a))&&(n=GL.getContext(f).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(f),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var t=Module.canvas;function n(){Browser.isFullScreen=!1;var e=t.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},t.cancelFullScreen=t.cancelFullScreen.bind(document),Browser.lockPointer&&t.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(t)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var f=document.createElement("div");t.parentNode.insertBefore(f,t),f.appendChild(t),f.requestFullScreen=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?f.requestFullScreen({vrDisplay:r}):f.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,t=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,f=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var l=a.pageX-(n+i.left),s=a.pageY-(f+i.top),o={x:l*=r/i.width,y:s*=t/i.height};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),d=e.pageY-(f+i.top);c*=r/i.width,d*=t/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=d-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=d}},xhrLoad:function(e,i,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?i(t.response):r()},t.onerror=r,t.send(null)},asyncLoad:function(e,i,r,t){Browser.xhrLoad(e,(function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),i(new Uint8Array(r)),t||removeRunDependency("al "+e)}),(function(i){if(!r)throw'Loading data file "'+e+'" failed.';r()})),t||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(i){i(e.width,e.height)}))},setCanvasSize:function(e,i,r){var t=Module.canvas;Browser.updateCanvasDimensions(t,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var t=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(t/n<Module.forcedAspectRatio?t=Math.round(n*Module.forcedAspectRatio):n=Math.round(t/Module.forcedAspectRatio)),(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var f=Math.min(screen.width/t,screen.height/n);t=Math.round(t*f),n=Math.round(n*f)}Browser.resizeCanvas?(e.width!=t&&(e.width=t),e.height!=n&&(e.height=n),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=i&&(e.width=i),e.height!=r&&(e.height=r),void 0!==e.style&&(t!=i||n!=r?(e.style.setProperty("width",t+"px","important"),e.style.setProperty("height",n+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var e=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,e}},SYSCALLS={varargs:0,get:function(e){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;function _pthread_cleanup_push(e,i){__ATEXIT__.push((function(){Runtime.dynCall("vi",e,[i])})),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStr(),t=SYSCALLS.get(),n=SYSCALLS.get();return FS.open(r,t,n).fd}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}Module._memcpy=_memcpy;var _llvm_pow_f64=Math_pow;function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e&&!i.alloc(e))return-1>>>0;return r}var _BItoD=!0;function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),l=n;return assert(0===t),FS.llseek(r,l,a),HEAP32[f>>2]=r.position,r.getdents&&0===l&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{SYSCALLS.get();var r=SYSCALLS.get(),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a<t;a++){for(var l=HEAP32[r+8*a>>2],s=HEAP32[r+(8*a+4)>>2],o=0;o<s;o++){var u=HEAPU8[l+o];0===u||10===u?(Module.print(UTF8ArrayToString(f,0)),f.length=0):f.push(u)}n+=s}return n}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall221(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();switch(SYSCALLS.get()){case 0:return(t=SYSCALLS.get())<0?-ERRNO_CODES.EINVAL:FS.open(r.path,r.flags,0,t).fd;case 1:case 2:case 13:case 14:case 13:case 14:return 0;case 3:return r.flags;case 4:var t=SYSCALLS.get();return r.flags|=t,0;case 12:case 12:t=SYSCALLS.get();return HEAP16[t+0>>1]=2,0;case 16:case 8:default:return-ERRNO_CODES.EINVAL;case 9:return ___setErrNo(ERRNO_CODES.EINVAL),-1}}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall145(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get();return SYSCALLS.doReadv(r,t,n)}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}Module.requestFullScreen=function(e,i,r){Browser.requestFullScreen(e,i,r)},Module.requestAnimationFrame=function(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function(e,i,r){Browser.setCanvasSize(e,i,r)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(e,i,r,t){return Browser.createContext(e,i,r,t)},STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiiiiiii(e,i,r,t,n,f,a,l){try{return Module.dynCall_iiiiiiii(e,i,r,t,n,f,a,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiii(e,i,r,t){try{return Module.dynCall_iiii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_di(e,i){try{return Module.dynCall_di(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vi(e,i){try{Module.dynCall_vi(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vii(e,i,r){try{Module.dynCall_vii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiii(e,i,r,t,n,f,a){try{return Module.dynCall_iiiiiii(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ii(e,i){try{return Module.dynCall_ii(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viii(e,i,r,t){try{Module.dynCall_viii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiiiiii(e,i,r,t,n,f,a,l,s,o,u,c){try{return Module.dynCall_iiiiiiiiiiii(e,i,r,t,n,f,a,l,s,o,u,c)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiii(e,i,r,t,n){try{return Module.dynCall_iiiii(e,i,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iii(e,i,r){try{return Module.dynCall_iii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiii(e,i,r,t,n,f){try{return Module.dynCall_iiiiii(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiii(e,i,r,t,n){try{Module.dynCall_viiii(e,i,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0,byteLength},Module.asmLibraryArg={abort,assert,invoke_iiiiiiii,invoke_iiii,invoke_di,invoke_vi,invoke_vii,invoke_iiiiiii,invoke_ii,invoke_viii,invoke_iiiiiiiiiiii,invoke_iiiii,invoke_iii,invoke_iiiiii,invoke_viiii,_pthread_cleanup_pop,___syscall221,_llvm_pow_f64,_abort,_pthread_cleanup_push,_ceilf,_emscripten_set_main_loop_timing,_sbrk,_emscripten_memcpy_big,_sysconf,___setErrNo,_floor,_pthread_self,_sqrt,_floorf,___syscall54,___unlock,_emscripten_set_main_loop,___lock,___syscall6,___syscall5,_time,___syscall140,___syscall145,___syscall146,STACKTOP,STACK_MAX,tempDoublePtr,ABORT,cttz_i8};var asm=function(e,i,r){"use asm";var t=e.Int8Array;var n=e.Int16Array;var f=e.Int32Array;var a=e.Uint8Array;var l=e.Uint16Array;var s=e.Uint32Array;var o=e.Float32Array;var u=e.Float64Array;var c=new t(r);var d=new n(r);var h=new f(r);var b=new a(r);var k=new l(r);var w=new s(r);var _=new o(r);var m=new u(r);var p=e.byteLength;var v=i.STACKTOP|0;var g=i.STACK_MAX|0;var y=i.tempDoublePtr|0;var E=i.ABORT|0;var A=i.cttz_i8|0;var M=0;var T=0;var S=0;var P=0;var O=e.NaN,R=e.Infinity;var L=0,C=0,D=0,x=0,I=0.0,B=0,N=0,F=0,U=0.0;var j=0;var H=0;var Y=0;var q=0;var X=0;var z=0;var V=0;var G=0;var K=0;var W=0;var J=e.Math.floor;var Z=e.Math.abs;var Q=e.Math.sqrt;var $=e.Math.pow;var ee=e.Math.cos;var ie=e.Math.sin;var re=e.Math.tan;var te=e.Math.acos;var ne=e.Math.asin;var fe=e.Math.atan;var ae=e.Math.atan2;var le=e.Math.exp;var se=e.Math.log;var oe=e.Math.ceil;var ue=e.Math.imul;var ce=e.Math.min;var de=e.Math.clz32;var he=i.abort;var be=i.assert;var ke=i.invoke_iiiiiiii;var we=i.invoke_iiii;var _e=i.invoke_di;var me=i.invoke_vi;var pe=i.invoke_vii;var ve=i.invoke_iiiiiii;var ge=i.invoke_ii;var ye=i.invoke_viii;var Ee=i.invoke_iiiiiiiiiiii;var Ae=i.invoke_iiiii;var Me=i.invoke_iii;var Te=i.invoke_iiiiii;var Se=i.invoke_viiii;var Pe=i._pthread_cleanup_pop;var Oe=i.___syscall221;var Re=i._llvm_pow_f64;var Le=i._abort;var Ce=i._pthread_cleanup_push;var De=i._ceilf;var xe=i._emscripten_set_main_loop_timing;var Ie=i._sbrk;var Be=i._emscripten_memcpy_big;var Ne=i._sysconf;var Fe=i.___setErrNo;var Ue=i._floor;var je=i._pthread_self;var He=i._sqrt;var Ye=i._floorf;var qe=i.___syscall54;var Xe=i.___unlock;var ze=i._emscripten_set_main_loop;var Ve=i.___lock;var Ge=i.___syscall6;var Ke=i.___syscall5;var We=i._time;var Je=i.___syscall140;var Ze=i.___syscall145;var Qe=i.___syscall146;var $e=0.0;function ei(e){if(p(e)&16777215||p(e)<=16777215||p(e)>2147483648)return false;c=new t(e);d=new n(e);h=new f(e);b=new a(e);k=new l(e);w=new s(e);_=new o(e);m=new u(e);r=e;return true}function ii(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+48|0;n=u+32|0;o=u+28|0;h[n>>2]=r;if((h[e+8>>2]|0)==16)s=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else s=h[e+12>>2]|0;f=(h[e+80>>2]|0)+16|0;a=(h[f>>2]|0)>>>0<257?1:2;l=a+1|0;if(l>>>0>r>>>0){Zt(t,1,14585,u)|0;t=0;v=u;return t|0}h[n>>2]=r-l;gt(i,o,a);r=h[o>>2]|0;if(r>>>0>=(h[f>>2]|0)>>>0){Zt(t,1,14611,u+8|0)|0;t=0;v=u;return t|0}gt(i+a|0,(h[s+5584>>2]|0)+(r*1080|0)|0,1);if(!(Si(e,h[o>>2]|0,i+l|0,n,t)|0)){Zt(t,1,14585,u+16|0)|0;t=0;v=u;return t|0}if(!(h[n>>2]|0)){t=1;v=u;return t|0}Zt(t,1,14585,u+24|0)|0;t=0;v=u;return t|0}function ri(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+32|0;l=s+8|0;n=s+20|0;a=h[(h[e+80>>2]|0)+16>>2]|0;f=a>>>0<257?1:2;if((f+2|0)!=(r|0)){Zt(t,1,14502,s)|0;l=0;v=s;return l|0}if((h[e+8>>2]|0)==16)e=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else e=h[e+12>>2]|0;gt(i,n,f);gt(i+f|0,s+16|0,1);r=h[n>>2]|0;if(r>>>0<a>>>0){gt(i+(f+1)|0,(h[e+5584>>2]|0)+(r*1080|0)+808|0,1);l=1;v=s;return l|0}else{h[l>>2]=r;h[l+4>>2]=a;Zt(t,1,14528,l)|0;l=0;v=s;return l|0}return 0}function ti(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;a=v;v=v+16|0;n=a+12|0;h[n>>2]=r;if(!(Ti(e,0,i,n,t)|0)){Zt(t,1,14476,a)|0;f=0;v=a;return f|0}if(h[n>>2]|0){Zt(t,1,14476,a+8|0)|0;f=0;v=a;return f|0}if((h[e+8>>2]|0)==16)n=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else n=h[e+12>>2]|0;n=h[n+5584>>2]|0;r=e+80|0;if((h[(h[r>>2]|0)+16>>2]|0)>>>0<=1){f=1;v=a;return f|0}t=n+24|0;e=n+804|0;f=n+28|0;i=1;while(1){h[n+1104>>2]=h[t>>2];h[n+1884>>2]=h[e>>2];Gs(n+1108|0,f|0,776)|0;i=i+1|0;if(i>>>0>=(h[(h[r>>2]|0)+16>>2]|0)>>>0){n=1;break}else n=n+1080|0}v=a;return n|0}function ni(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;d=v;v=v+48|0;c=d+32|0;u=d+24|0;o=d+16|0;f=d+8|0;n=d;s=d+40|0;a=d+36|0;h[s>>2]=r;l=e+80|0;do{if((h[(h[l>>2]|0)+16>>2]|0)>>>0<257){if(r){gt(i,a,1);f=i+1|0;i=r+-1|0;break}Zt(t,1,14129,n)|0;c=0;v=d;return c|0}else{if(r>>>0>=2){gt(i,a,2);f=i+2|0;i=r+-2|0;break}Zt(t,1,14129,f)|0;c=0;v=d;return c|0}}while(0);h[s>>2]=i;n=h[a>>2]|0;i=h[(h[l>>2]|0)+16>>2]|0;if(n>>>0>=i>>>0){h[o>>2]=n;h[o+4>>2]=i;Zt(t,1,14155,o)|0;c=0;v=d;return c|0}if(!(Ti(e,n,f,s,t)|0)){Zt(t,1,14129,u)|0;c=0;v=d;return c|0}if(!(h[s>>2]|0)){c=1;v=d;return c|0}Zt(t,1,14129,c)|0;c=0;v=d;return c|0}function fi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;m=v;v=v+16|0;f=m+8|0;_=m+12|0;w=h[(h[e+80>>2]|0)+16>>2]|0;k=w>>>0<257?1:2;b=(k<<1)+5|0;n=(r>>>0)/(b>>>0)|0;if((n|0)==0|((r>>>0)%(b>>>0)|0|0)!=0){Zt(t,1,14085,m)|0;_=0;v=m;return _|0}if((h[e+8>>2]|0)==16)b=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else b=h[e+12>>2]|0;r=b+5636|0;e=c[r>>0]|0;if(!(e&4))d=0;else d=(h[b+420>>2]|0)+1|0;u=d+n|0;if(u>>>0>31){h[f>>2]=u;Zt(t,1,14111,f)|0;_=0;v=m;return _|0}c[r>>0]=e|4;if(d>>>0<u>>>0){t=k+1|0;o=b+8|0;f=k+3|0;a=k|4;l=a+k|0;s=l+1|0;e=i;n=d;r=b+424+(d*148|0)|0;while(1){gt(e,r,1);gt(e+1|0,r+4|0,k);i=r+8|0;gt(e+t|0,i,2);p=h[i>>2]|0;d=h[o>>2]|0;h[i>>2]=p>>>0<d>>>0?p:d;gt(e+f|0,r+12|0,1);i=r+16|0;gt(e+a|0,i,k);gt(e+l|0,_,1);h[r+36>>2]=h[_>>2];d=h[i>>2]|0;h[i>>2]=d>>>0<w>>>0?d:w;n=n+1|0;if(n>>>0>=u>>>0)break;else{e=e+s|0;r=r+148|0}}}h[b+420>>2]=u+-1;p=1;v=m;return p|0}function ai(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0;N=v;v=v+144|0;B=N+128|0;C=N+120|0;L=N+112|0;R=N+104|0;O=N+96|0;P=N+88|0;T=N+72|0;m=N+64|0;w=N+56|0;k=N+48|0;b=N+40|0;_=N+32|0;l=N+24|0;f=N+16|0;n=N+136|0;y=N+132|0;x=h[e+80>>2]|0;I=e+88|0;if(r>>>0<36){Zt(t,1,13440,N)|0;t=0;v=N;return t|0}D=r+-36|0;u=(D>>>0)/3|0;if((D>>>0)%3|0){Zt(t,1,13440,N+8|0)|0;t=0;v=N;return t|0}gt(i,n,2);d[I>>1]=h[n>>2];E=x+8|0;gt(i+2|0,E,4);S=x+12|0;gt(i+6|0,S,4);gt(i+10|0,x,4);o=x+4|0;gt(i+14|0,o,4);g=e+100|0;gt(i+18|0,g,4);M=e+104|0;gt(i+22|0,M,4);p=e+92|0;gt(i+26|0,p,4);A=e+96|0;gt(i+30|0,A,4);gt(i+34|0,n,2);a=i+36|0;r=h[n>>2]|0;if(r>>>0>=16385){h[f>>2]=r;Zt(t,1,13468,f)|0;t=0;v=N;return t|0}r=r&65535;D=x+16|0;h[D>>2]=r;if((r|0)!=(u|0)){h[l>>2]=r;h[l+4>>2]=u;Zt(t,1,13529,l)|0;t=0;v=N;return t|0}l=h[x>>2]|0;s=h[E>>2]|0;if(s>>>0>l>>>0){r=h[o>>2]|0;i=h[S>>2]|0;if(r>>>0<i>>>0){n=h[g>>2]|0;f=h[M>>2]|0;if(!(ue(f,n)|0)){h[b>>2]=n;h[b+4>>2]=f;Zt(t,1,13705,b)|0;t=0;v=N;return t|0}_=Qs(i|0,0,s|0,0)|0;if(!((_|0)==(ue(i,s)|0)&(j|0)==0)){h[k>>2]=s;h[k+4>>2]=i;Zt(t,1,13766,k)|0;t=0;v=N;return t|0}s=h[p>>2]|0;b=zs(s|0,0,n|0,0)|0;k=j;o=h[A>>2]|0;_=zs(o|0,0,f|0,0)|0;if(s>>>0<=l>>>0?o>>>0<=r>>>0&(b|0-k)>>>0>l>>>0&(_|0-j)>>>0>r>>>0:0){i=Kn(u,52)|0;u=x+24|0;h[u>>2]=i;if(!i){h[D>>2]=0;Zt(t,1,13852,m)|0;t=0;v=N;return t|0}e:do{if(h[D>>2]|0){l=e+168|0;r=0;f=i;while(1){gt(a,y,1);h[f+24>>2]=(h[y>>2]&127)+1;h[f+32>>2]=(h[y>>2]|0)>>>7;gt(a+1|0,y,1);h[f>>2]=h[y>>2];gt(a+2|0,y,1);n=h[y>>2]|0;h[f+4>>2]=n;i=h[f>>2]|0;if((n+-1|0)>>>0>254|(i+-1|0)>>>0>254)break;h[f+36>>2]=0;h[f+40>>2]=h[l>>2];r=r+1|0;if(r>>>0>=(h[D>>2]|0)>>>0)break e;else{a=a+3|0;f=f+52|0}}h[T>>2]=r;h[T+4>>2]=i;h[T+8>>2]=n;Zt(t,1,13900,T)|0;t=0;v=N;return t|0}}while(0);s=h[p>>2]|0;l=h[g>>2]|0;a=((h[E>>2]|0)+-1-s+l|0)/(l|0)|0;h[e+112>>2]=a;f=h[A>>2]|0;n=h[M>>2]|0;i=((h[S>>2]|0)+-1-f+n|0)/(n|0)|0;h[e+116>>2]=i;if(!((i|0)==0|(a|0)==0)?a>>>0<=(65535/(i>>>0)|0)>>>0:0){o=ue(a,i)|0;r=e+28|0;if(!(c[e+76>>0]&2)){h[r>>2]=0;h[e+32>>2]=0;h[e+36>>2]=a;h[e+40>>2]=i}else{h[r>>2]=(((h[r>>2]|0)-s|0)>>>0)/(l>>>0)|0;P=e+32|0;h[P>>2]=(((h[P>>2]|0)-f|0)>>>0)/(n>>>0)|0;P=e+36|0;h[P>>2]=((h[P>>2]|0)+-1-s+l|0)/(l|0)|0;P=e+40|0;h[P>>2]=((h[P>>2]|0)+-1-f+n|0)/(n|0)|0}P=Kn(o,5640)|0;a=e+164|0;h[a>>2]=P;if(!P){Zt(t,1,13852,O)|0;t=0;v=N;return t|0}O=Kn(h[D>>2]|0,1080)|0;i=e+12|0;h[(h[i>>2]|0)+5584>>2]=O;if(!O){Zt(t,1,13852,R)|0;t=0;v=N;return t|0}R=Kn(10,20)|0;r=h[i>>2]|0;h[r+5612>>2]=R;if(!R){Zt(t,1,13852,L)|0;t=0;v=N;return t|0}h[r+5620>>2]=10;L=Kn(10,20)|0;r=h[i>>2]|0;h[r+5624>>2]=L;if(!L){Zt(t,1,13852,C)|0;t=0;v=N;return t|0}h[r+5632>>2]=10;f=h[D>>2]|0;if(f){n=h[u>>2]|0;r=r+5584|0;i=0;do{if(!(h[n+(i*52|0)+32>>2]|0))h[(h[r>>2]|0)+(i*1080|0)+1076>>2]=1<<(h[n+(i*52|0)+24>>2]|0)+-1;i=i+1|0}while(i>>>0<f>>>0)}e:do{if(o){r=h[a>>2]|0;C=Kn(f,1080)|0;h[r+5584>>2]=C;if(C){i=0;while(1){i=i+1|0;if(i>>>0>=o>>>0)break e;C=Kn(h[D>>2]|0,1080)|0;h[r+11224>>2]=C;if(!C)break;else r=r+5640|0}}Zt(t,1,13852,B)|0;t=0;v=N;return t|0}}while(0);h[e+8>>2]=4;nn(x,I);t=1;v=N;return t|0}h[P>>2]=a;h[P+4>>2]=i;Zt(t,1,14002,P)|0;t=0;v=N;return t|0}Zt(t,1,13808,w)|0;t=0;v=N;return t|0}}else{i=h[S>>2]|0;r=h[o>>2]|0}h[_>>2]=s-l;h[_+4>>2]=i-r;Zt(t,1,13643,_)|0;t=0;v=N;return t|0}function li(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=v;v=v+32|0;e=n+12|0;if(r>>>0<2){Zt(t,1,13414,n)|0;t=0;v=n;return t|0}gt(i,n+16|0,1);gt(i+1|0,e,1);i=h[e>>2]|0;if(!(((r+-2|0)>>>0)%(((i>>>5&2)+2+(i>>>4&3)|0)>>>0)|0)){t=1;v=n;return t|0}Zt(t,1,13414,n+8|0)|0;t=0;v=n;return t|0}function si(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=v;v=v+16|0;if(!r){Zt(t,1,13388,e)|0;i=0}else i=1;v=e;return i|0}function oi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+32|0;l=s+8|0;a=s+12|0;if(!r){Zt(t,1,13362,s)|0;t=0;v=s;return t|0}gt(i,s+16|0,1);n=r+-1|0;if(!n){t=1;v=s;return t|0}else{f=0;e=0}do{i=i+1|0;gt(i,a,1);r=h[a>>2]|0;if(!(r&128))e=0;else e=(r&127|e)<<7;f=f+1|0}while((f|0)!=(n|0));if(!e){t=1;v=s;return t|0}Zt(t,1,13362,l)|0;t=0;v=s;return t|0}function ui(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+48|0;d=b+32|0;s=b+24|0;f=b+16|0;n=b+8|0;u=b+36|0;if(r>>>0<2){Zt(t,1,13276,b)|0;d=0;v=b;return d|0}o=e+184|0;c[o>>0]=c[o>>0]|1;gt(i,u,1);o=i+1|0;l=r+-1|0;a=e+124|0;r=h[a>>2]|0;do{if(r){n=e+120|0;i=h[u>>2]|0;if((h[n>>2]|0)>>>0<=i>>>0){e=i+1|0;i=Zn(r,e<<3)|0;if(i){h[a>>2]=i;r=h[n>>2]|0;qs(i+(r<<3)|0,0,e-r<<3|0)|0;h[n>>2]=e;r=h[a>>2]|0;break}Zt(t,1,13302,f)|0;d=0;v=b;return d|0}}else{i=(h[u>>2]|0)+1|0;r=Kn(i,8)|0;h[a>>2]=r;if(r){h[e+120>>2]=i;break}Zt(t,1,13302,n)|0;d=0;v=b;return d|0}}while(0);i=h[u>>2]|0;if(h[r+(i<<3)>>2]|0){h[s>>2]=i;Zt(t,1,13340,s)|0;d=0;v=b;return d|0}s=Gn(l)|0;r=h[u>>2]|0;i=h[a>>2]|0;h[i+(r<<3)>>2]=s;if(!s){Zt(t,1,13302,d)|0;d=0;v=b;return d|0}else{h[i+(r<<3)+4>>2]=l;Gs(h[i+(h[u>>2]<<3)>>2]|0,o|0,l|0)|0;d=1;v=b;return d|0}return 0}function ci(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;w=v;v=v+48|0;k=w+40|0;d=w+32|0;l=w+24|0;a=w+16|0;b=w+44|0;if(r>>>0<2){Zt(t,1,13127,w)|0;k=0;v=w;return k|0}if(c[e+184>>0]&1){Zt(t,1,13153,w+8|0)|0;k=0;v=w;return k|0}f=h[e+200>>2]|0;n=h[e+164>>2]|0;u=n+(f*5640|0)+5636|0;c[u>>0]=c[u>>0]|2;gt(i,b,1);u=i+1|0;o=r+-1|0;s=n+(f*5640|0)+5164|0;i=h[s>>2]|0;do{if(i){n=n+(f*5640|0)+5160|0;e=h[b>>2]|0;if((h[n>>2]|0)>>>0<=e>>>0){r=e+1|0;e=Zn(i,r<<3)|0;if(e){h[s>>2]=e;i=h[n>>2]|0;qs(e+(i<<3)|0,0,r-i<<3|0)|0;h[n>>2]=r;i=h[s>>2]|0;break}Zt(t,1,8775,l)|0;k=0;v=w;return k|0}}else{e=(h[b>>2]|0)+1|0;i=Kn(e,8)|0;h[s>>2]=i;if(i){h[n+(f*5640|0)+5160>>2]=e;break}Zt(t,1,8775,a)|0;k=0;v=w;return k|0}}while(0);e=h[b>>2]|0;if(h[i+(e<<3)>>2]|0){h[d>>2]=e;Zt(t,1,13254,d)|0;k=0;v=w;return k|0}d=Gn(o)|0;i=h[b>>2]|0;e=h[s>>2]|0;h[e+(i<<3)>>2]=d;if(!d){Zt(t,1,8775,k)|0;k=0;v=w;return k|0}else{h[e+(i<<3)+4>>2]=o;Gs(h[e+(h[b>>2]<<3)>>2]|0,u|0,o|0)|0;k=1;v=w;return k|0}return 0}function di(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=v;v=v+16|0;if((h[(h[e+80>>2]|0)+16>>2]<<2|0)==(r|0)){t=1;v=i;return t|0}Zt(t,1,13101,i)|0;t=0;v=i;return t|0}function hi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return 1}function bi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+48|0;w=_+40|0;k=_+32|0;o=_+24|0;b=_+44|0;if((h[e+8>>2]|0)==16)l=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else l=h[e+12>>2]|0;if(r>>>0<2){Zt(t,1,12933,_)|0;w=0;v=_;return w|0}gt(i,b,2);if(h[b>>2]|0){Zt(t,2,12959,_+8|0)|0;w=1;v=_;return w|0}if(r>>>0<7){Zt(t,1,12933,_+16|0)|0;w=0;v=_;return w|0}gt(i+2|0,b,2);c=i+4|0;d=h[b>>2]&255;s=l+5612|0;n=h[s>>2]|0;u=l+5616|0;e=h[u>>2]|0;e:do{if(!e){f=0;a=n}else{f=0;a=n;do{if((h[a+8>>2]|0)==(d|0))break e;a=a+20|0;f=f+1|0}while(f>>>0<e>>>0)}}while(0);if((f|0)==(e|0)){f=l+5620|0;do{if((e|0)==(h[f>>2]|0)){e=e+10|0;h[f>>2]=e;e=Zn(n,e*20|0)|0;if(e){h[s>>2]=e;n=h[u>>2]|0;qs(e+(n*20|0)|0,0,((h[f>>2]|0)-n|0)*20|0)|0;n=h[s>>2]|0;e=h[u>>2]|0;break}Qn(h[s>>2]|0);h[s>>2]=0;h[f>>2]=0;h[u>>2]=0;Zt(t,1,13019,o)|0;w=0;v=_;return w|0}}while(0);h[u>>2]=e+1;a=n+(e*20|0)|0}f=a+12|0;e=h[f>>2]|0;if(e){Qn(e);h[f>>2]=0}h[a+8>>2]=d;d=h[b>>2]|0;h[a+4>>2]=d>>>8&3;h[a>>2]=d>>>10&3;gt(c,b,2);if(h[b>>2]|0){Zt(t,2,13057,k)|0;w=1;v=_;return w|0}e=r+-6|0;n=Gn(e)|0;h[f>>2]=n;if(!n){Zt(t,1,12933,w)|0;w=0;v=_;return w|0}else{Gs(n|0,i+6|0,e|0)|0;h[a+16>>2]=e;w=1;v=_;return w|0}return 0}function ki(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;n=l+16|0;a=l+12|0;e=e+80|0;f=h[(h[e>>2]|0)+16>>2]|0;if((f+2|0)!=(r|0)){Zt(t,1,12907,l)|0;a=0;v=l;return a|0}gt(i,n,2);if((h[n>>2]|0)!=(f|0)){Zt(t,1,12907,l+8|0)|0;a=0;v=l;return a|0}if(!f){a=1;v=l;return a|0}n=i+2|0;i=0;e=h[(h[e>>2]|0)+24>>2]|0;while(1){gt(n,a,1);h[e+32>>2]=(h[a>>2]|0)>>>7&1;h[e+24>>2]=(h[a>>2]&127)+1;i=i+1|0;if((i|0)==(f|0)){e=1;break}else{n=n+1|0;e=e+52|0}}v=l;return e|0}function wi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;I=v;v=v+144|0;x=I+120|0;D=I+112|0;C=I+104|0;L=I+96|0;R=I+88|0;O=I+80|0;P=I+72|0;S=I+64|0;T=I+56|0;M=I+48|0;b=I+40|0;d=I+32|0;o=I+24|0;E=I+136|0;p=I+132|0;g=I+128|0;y=I+124|0;if((h[e+8>>2]|0)==16)k=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else k=h[e+12>>2]|0;if(r>>>0<2){Zt(t,1,12567,I)|0;x=0;v=I;return x|0}gt(i,E,2);if(h[E>>2]|0){Zt(t,2,12593,I+8|0)|0;x=1;v=I;return x|0}if(r>>>0<7){Zt(t,1,12567,I+16|0)|0;x=0;v=I;return x|0}gt(i+2|0,p,1);u=i+3|0;s=k+5624|0;n=h[s>>2]|0;A=k+5628|0;e=h[A>>2]|0;e:do{if(!e){a=0;f=n}else{l=h[p>>2]|0;a=0;f=n;do{if((h[f>>2]|0)==(l|0))break e;f=f+20|0;a=a+1|0}while(a>>>0<e>>>0)}}while(0);if((a|0)==(e|0)){f=k+5632|0;do{if((e|0)==(h[f>>2]|0)){e=e+10|0;h[f>>2]=e;e=Zn(n,e*20|0)|0;if(e){h[s>>2]=e;n=h[A>>2]|0;qs(e+(n*20|0)|0,0,((h[f>>2]|0)-n|0)*20|0)|0;n=h[s>>2]|0;e=h[A>>2]|0;break}Qn(h[s>>2]|0);h[s>>2]=0;h[f>>2]=0;h[A>>2]=0;Zt(t,1,12639,o)|0;x=0;v=I;return x|0}}while(0);f=n+(e*20|0)|0}h[f>>2]=h[p>>2];gt(u,E,2);if(h[E>>2]|0){Zt(t,2,12593,d)|0;x=1;v=I;return x|0}gt(i+5|0,g,2);n=h[g>>2]|0;if(n>>>0>1){Zt(t,2,12677,b)|0;x=1;v=I;return x|0}e=r+-7|0;e:do{if(n){w=f+4|0;_=f+16|0;m=f+8|0;r=f+12|0;b=k+5612|0;d=k+5616|0;o=i+7|0;u=0;i:while(1){if(e>>>0<3){n=27;break}gt(o,E,1);if((h[E>>2]|0)!=1){n=29;break}gt(o+1|0,y,2);n=e+-3|0;a=h[y>>2]|0;l=(a>>>15)+1|0;a=a&32767;h[w>>2]=a;f=(ue(l,a)|0)+2|0;if(n>>>0<f>>>0){n=31;break}e=o+3|0;s=n-f|0;if(a){n=0;do{gt(e,E,l);if((h[E>>2]|0)!=(n|0)){n=34;break i}e=e+l|0;n=n+1|0}while(n>>>0<(h[w>>2]|0)>>>0)}gt(e,y,2);n=e+2|0;f=h[y>>2]|0;a=(f>>>15)+1|0;f=f&32767;h[y>>2]=f;if((f|0)!=(h[w>>2]|0)){n=37;break}e=(ue(a,f)|0)+3|0;if(s>>>0<e>>>0){n=39;break}e=s-e|0;if(f){f=0;do{gt(n,E,a);if((h[E>>2]|0)!=(f|0)){n=42;break i}n=n+a|0;f=f+1|0}while(f>>>0<(h[w>>2]|0)>>>0)}gt(n,E,3);o=n+3|0;c[_>>0]=((h[E>>2]|0)>>>16^1)&1|c[_>>0]&-2;h[m>>2]=0;h[r>>2]=0;s=h[E>>2]|0;f=s&255;h[p>>2]=f;if(f){a=h[d>>2]|0;if(!a){n=50;break}l=0;n=h[b>>2]|0;while(1){if((h[n+8>>2]|0)==(f|0))break;l=l+1|0;if(l>>>0>=a>>>0){n=50;break i}else n=n+20|0}h[m>>2]=n}f=s>>>8&255;h[p>>2]=f;if(f){a=h[d>>2]|0;if(!a){n=57;break}l=0;n=h[b>>2]|0;while(1){if((h[n+8>>2]|0)==(f|0))break;l=l+1|0;if(l>>>0>=a>>>0){n=57;break i}else n=n+20|0}h[r>>2]=n}u=u+1|0;if(u>>>0>=(h[g>>2]|0)>>>0)break e}if((n|0)==27){Zt(t,1,12567,M)|0;x=0;v=I;return x|0}else if((n|0)==29){Zt(t,2,12721,T)|0;x=1;v=I;return x|0}else if((n|0)==31){Zt(t,1,12567,S)|0;x=0;v=I;return x|0}else if((n|0)==34){Zt(t,2,12787,P)|0;x=1;v=I;return x|0}else if((n|0)==37){Zt(t,2,12841,O)|0;x=1;v=I;return x|0}else if((n|0)==39){Zt(t,1,12567,R)|0;x=0;v=I;return x|0}else if((n|0)==42){Zt(t,2,12787,L)|0;x=1;v=I;return x|0}else if((n|0)==50){Zt(t,1,12567,C)|0;x=0;v=I;return x|0}else if((n|0)==57){Zt(t,1,12567,D)|0;x=0;v=I;return x|0}}}while(0);if(!e){h[A>>2]=(h[A>>2]|0)+1;x=1;v=I;return x|0}else{Zt(t,1,12567,x)|0;x=0;v=I;return x|0}return 0}function _i(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+32|0;w=_+24|0;k=_+20|0;c=e+80|0;n=h[c>>2]|0;if((h[e+8>>2]|0)==16)f=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else f=h[e+12>>2]|0;if(!r){Zt(t,1,12486,_)|0;w=0;v=_;return w|0}gt(i,k,1);e=h[k>>2]|0;if(e>>>0>1){Zt(t,2,12512,_+8|0)|0;w=1;v=_;return w|0}if((e+1|0)!=(r|0)){Zt(t,2,12486,_+16|0)|0;w=0;v=_;return w|0}u=f+5584|0;e=h[n+16>>2]|0;if(e){r=0;t=h[u>>2]|0;while(1){h[t+1076>>2]=0;r=r+1|0;if(r>>>0>=e>>>0)break;else t=t+1080|0}}o=f+5604|0;e=h[o>>2]|0;if(e){Qn(e);h[o>>2]=0}if(!(h[k>>2]|0)){w=1;v=_;return w|0}s=f+5624|0;a=f+5628|0;l=0;while(1){i=i+1|0;gt(i,w,1);e=h[c>>2]|0;n=h[s>>2]|0;f=h[a>>2]|0;if(((f|0)!=0?!((f|0)==0?1:(h[n>>2]|0)!=(h[w>>2]|0)):0)?(d=h[n+4>>2]|0,b=e+16|0,(d|0)==(h[b>>2]|0)):0){e=h[n+8>>2]|0;if(e){r=ue(d,d)|0;f=ue(h[1036+(h[e>>2]<<2)>>2]|0,r)|0;if((h[e+16>>2]|0)!=(f|0)){e=0;r=32;break}t=Gn(r<<2)|0;h[o>>2]=t;if(!t){e=0;r=32;break}Bo[h[1052+(h[e>>2]<<2)>>2]&15](h[e+12>>2]|0,t,r)}e=h[n+12>>2]|0;if(e){r=h[b>>2]|0;f=ue(r,h[1036+(h[e>>2]<<2)>>2]|0)|0;if((h[e+16>>2]|0)!=(f|0)){e=0;r=32;break}f=Gn(r<<2)|0;if(!f){e=0;r=32;break}Bo[h[1068+(h[e>>2]<<2)>>2]&15](h[e+12>>2]|0,f,r);e=h[b>>2]|0;if(e){r=0;t=f;n=h[u>>2]|0;while(1){h[n+1076>>2]=h[t>>2];r=r+1|0;if((r|0)==(e|0))break;else{t=t+4|0;n=n+1080|0}}}Qn(f)}}l=l+1|0;if(l>>>0>=(h[k>>2]|0)>>>0){e=1;r=32;break}}if((r|0)==32){v=_;return e|0}return 0}function mi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,2);h[i>>2]=h[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}v=f;return}function pi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,4);h[i>>2]=h[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function vi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Mt(e,n);h[i>>2]=~~+_[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function gi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Et(e,n);h[i>>2]=~~+m[n>>3];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}v=f;return}function yi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,2);_[i>>2]=+((h[n>>2]|0)>>>0);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}v=f;return}function Ei(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,4);_[i>>2]=+((h[n>>2]|0)>>>0);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function Ai(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Mt(e,n);h[i>>2]=h[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function Mi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Et(e,n);_[i>>2]=+m[n>>3];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}v=f;return}function Ti(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0;c=v;v=v+32|0;a=c+8|0;s=c+20|0;if((h[e+8>>2]|0)==16)e=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else e=h[e+12>>2]|0;u=h[e+5584>>2]|0;e=h[t>>2]|0;if(!e){Zt(n,1,14224,c)|0;i=0;v=c;return i|0}h[t>>2]=e+-1;gt(r,s,1);r=r+1|0;f=h[s>>2]&31;l=u+(i*1080|0)+24|0;h[l>>2]=f;h[u+(i*1080|0)+804>>2]=(h[s>>2]|0)>>>5;do{if((f|0)==1){e=1;o=8}else{e=(h[t>>2]|0)>>>((f|0)!=0&1);if(e>>>0>97){h[a>>2]=e;h[a+4>>2]=97;h[a+8>>2]=97;Zt(n,2,14260,a)|0;f=h[l>>2]|0}n=(e|0)==0;if(f)if(n){e=0;o=20;break}else{o=8;break}if(!n){f=0;while(1){gt(r,s,1);if(f>>>0<97){h[u+(i*1080|0)+28+(f<<3)>>2]=(h[s>>2]|0)>>>3;h[u+(i*1080|0)+28+(f<<3)+4>>2]=0}f=f+1|0;if((f|0)==(e|0))break;else r=r+1|0}}e=(h[t>>2]|0)-e|0}}while(0);if((o|0)==8){f=0;while(1){gt(r,s,2);if(f>>>0<97){h[u+(i*1080|0)+28+(f<<3)>>2]=(h[s>>2]|0)>>>11;h[u+(i*1080|0)+28+(f<<3)+4>>2]=h[s>>2]&2047}f=f+1|0;if((f|0)==(e|0)){o=20;break}else r=r+2|0}}if((o|0)==20)e=(h[t>>2]|0)-(e<<1)|0;h[t>>2]=e;if((h[l>>2]|0)!=1){i=1;v=c;return i|0}e=u+(i*1080|0)+28|0;r=u+(i*1080|0)+32|0;f=1;do{t=(h[e>>2]|0)-(((f+-1|0)>>>0)/3|0)|0;h[u+(i*1080|0)+28+(f<<3)>>2]=(t|0)>0?t:0;h[u+(i*1080|0)+28+(f<<3)+4>>2]=h[r>>2];f=f+1|0}while((f|0)!=97);e=1;v=c;return e|0}function Si(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;w=v;v=v+48|0;b=w+40|0;o=w+32|0;s=w+16|0;l=w+8|0;d=w+44|0;a=e+8|0;if((h[a>>2]|0)==16)f=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else f=h[e+12>>2]|0;u=h[f+5584>>2]|0;if((h[t>>2]|0)>>>0<5){Zt(n,1,14664,w)|0;t=0;v=w;return t|0}c=u+(i*1080|0)+4|0;gt(r,c,1);f=(h[c>>2]|0)+1|0;h[c>>2]=f;if(f>>>0>33){h[l>>2]=f;h[l+4>>2]=33;Zt(n,1,14699,l)|0;t=0;v=w;return t|0}if((h[e+168>>2]|0)>>>0>=f>>>0){h[s>>2]=i;Zt(n,1,14776,s)|0;h[a>>2]=h[a>>2]|32768;t=0;v=w;return t|0}l=u+(i*1080|0)+8|0;gt(r+1|0,l,1);h[l>>2]=(h[l>>2]|0)+2;e=u+(i*1080|0)+12|0;gt(r+2|0,e,1);s=(h[e>>2]|0)+2|0;h[e>>2]=s;l=h[l>>2]|0;if(l>>>0>10|s>>>0>10|(l+s|0)>>>0>12){Zt(n,1,14934,w+24|0)|0;t=0;v=w;return t|0}gt(r+3|0,u+(i*1080|0)+16|0,1);gt(r+4|0,u+(i*1080|0)+20|0,1);a=(h[t>>2]|0)+-5|0;h[t>>2]=a;f=h[c>>2]|0;if(!(h[u+(i*1080|0)>>2]&1)){if(!f){t=1;v=w;return t|0}else f=0;do{h[u+(i*1080|0)+812+(f<<2)>>2]=15;h[u+(i*1080|0)+944+(f<<2)>>2]=15;f=f+1|0}while(f>>>0<(h[c>>2]|0)>>>0);f=1;v=w;return f|0}if(a>>>0<f>>>0){Zt(n,1,14664,o)|0;t=0;v=w;return t|0}do{if(!f)f=0;else{e=0;a=r+5|0;while(1){gt(a,d,1);a=a+1|0;f=h[d>>2]|0;if((e|0)!=0?f>>>0<16|(f&15|0)==0:0)break;h[u+(i*1080|0)+812+(e<<2)>>2]=f&15;h[u+(i*1080|0)+944+(e<<2)>>2]=(h[d>>2]|0)>>>4;e=e+1|0;f=h[c>>2]|0;if(e>>>0>=f>>>0){k=22;break}}if((k|0)==22){a=h[t>>2]|0;break}Zt(n,1,15002,b)|0;t=0;v=w;return t|0}}while(0);h[t>>2]=a-f;t=1;v=w;return t|0}function Pi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){vt(i,~~+_[e>>2]>>>0,2);t=t+1|0;if((t|0)==(r|0))break;else{i=i+2|0;e=e+4|0}}return}function Oi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){vt(i,~~+_[e>>2]>>>0,4);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function Ri(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){At(i,+_[e>>2]);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function Li(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){yt(i,+_[e>>2]);t=t+1|0;if((t|0)==(r|0))break;else{i=i+8|0;e=e+4|0}}return}function Ci(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;if(!r){r=0;v=l;return r|0}if(!(mf(h[e>>2]|0,i,r,t)|0)){Zt(t,1,16303,l)|0;r=0;v=l;return r|0}if(h[e+128>>2]|0){r=1;v=l;return r|0}a=e+108|0;if(!(Zi(r,a,t)|0)){r=0;v=l;return r|0}i=h[e+48>>2]|0;e:do{switch(i|0){case 16:{h[r+20>>2]=1;break}case 17:{h[r+20>>2]=2;break}case 18:{h[r+20>>2]=3;break}case 24:{h[r+20>>2]=4;break}default:{n=r+20|0;if((i|0)==12){h[n>>2]=5;break e}else{h[n>>2]=-1;break e}}}}while(0);f=e+120|0;i=h[f>>2]|0;do{if(i){if(h[i+12>>2]|0){Qi(r,a);break}Qn(h[i+4>>2]|0);Qn(h[(h[f>>2]|0)+8>>2]|0);Qn(h[h[f>>2]>>2]|0);i=h[f>>2]|0;n=h[i+12>>2]|0;if(n){Qn(n);i=h[f>>2]|0}Qn(i);h[f>>2]=0}}while(0);if(h[e+116>>2]|0)$i(r,a,t);i=h[a>>2]|0;if(!i){r=1;v=l;return r|0}h[r+28>>2]=i;h[r+32>>2]=h[e+112>>2];h[a>>2]=0;r=1;v=l;return r|0}function Di(e,i){e=e|0;i=i|0;ef(h[e>>2]|0,i);c[e+124>>0]=0;h[e+128>>2]=h[i+8248>>2]&1;return}function xi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+80|0;g=y+64|0;_=y+56|0;c=y+48|0;w=y+40|0;k=y+32|0;b=y+24|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;v=y;return i|0}m=r+16|0;if(((h[m>>2]|0)+-1|0)>>>0>16383){Zt(t,1,16352,y)|0;i=0;v=y;return i|0}if(!(nf(h[e>>2]|0,i,r,t)|0)){i=0;v=y;return i|0}h[e+56>>2]=1785737760;h[e+60>>2]=0;h[e+64>>2]=1;n=Gn(4)|0;f=e+68|0;h[f>>2]=n;if(!n){h[f>>2]=0;Zt(t,1,16421,y+8|0)|0;i=0;v=y;return i|0}h[n>>2]=1785737760;s=h[m>>2]|0;h[e+20>>2]=s;s=Gn(s*12|0)|0;n=e+72|0;h[n>>2]=s;if(!s){h[n>>2]=0;Zt(t,1,16421,y+16|0)|0;i=0;v=y;return i|0}h[e+16>>2]=(h[r+12>>2]|0)-(h[r+4>>2]|0);h[e+12>>2]=(h[r+8>>2]|0)-(h[r>>2]|0);p=r+24|0;o=h[p>>2]|0;a=h[o+24>>2]|0;l=h[o+32>>2]|0;n=e+24|0;h[n>>2]=a+-1+(l<<7);u=h[m>>2]|0;if(u>>>0>1){f=1;do{if((a|0)!=(h[o+(f*52|0)+24>>2]|0))h[n>>2]=255;f=f+1|0}while(f>>>0<u>>>0)}h[e+28>>2]=7;h[e+32>>2]=0;h[e+36>>2]=0;f=(u|0)==0;if(!f?(h[s+8>>2]=a+-1+(l<<7),u>>>0>1):0){n=1;do{h[s+(n*12|0)+8>>2]=(h[o+(n*52|0)+24>>2]|0)+-1+(h[o+(n*52|0)+32>>2]<<7);n=n+1|0}while(n>>>0<u>>>0)}n=e+40|0;e:do{if(!(h[r+32>>2]|0)){h[n>>2]=1;switch(h[r+20>>2]|0){case 1:{h[e+48>>2]=16;break e}case 2:{h[e+48>>2]=17;break e}case 3:{h[e+48>>2]=18;break e}default:break e}}else{h[n>>2]=2;h[e+48>>2]=0}}while(0);e:do{if(!f){f=0;n=0;a=0;do{r=(d[o+(a*52|0)+48>>1]|0)==0;n=(r&1^1)+n|0;f=r?f:a;a=a+1|0}while(a>>>0<u>>>0);a=f;if((n|0)!=1){if(n>>>0<=1)break;Zt(t,2,16717,c)|0;break}switch(h[e+48>>2]|0){case 18:case 16:{f=3;break}case 17:{f=1;break}default:{Zt(t,2,16467,b)|0;break e}}if(u>>>0<(f+1|0)>>>0){Zt(t,2,16541,k)|0;break}if(a>>>0<f>>>0){Zt(t,2,16634,w)|0;break}w=Gn(8)|0;n=e+116|0;h[n>>2]=w;if(!w){Zt(t,1,16782,_)|0;i=0;v=y;return i|0}_=Gn((h[m>>2]|0)*6|0)|0;r=h[n>>2]|0;h[r>>2]=_;if(!_){Zt(t,1,16782,g)|0;i=0;v=y;return i|0}s=h[m>>2]|0;d[r+4>>1]=s;l=h[r>>2]|0;n=0;do{d[l+(n*6|0)>>1]=n;d[l+(n*6|0)+2>>1]=0;g=n;n=n+1|0;d[l+(g*6|0)+4>>1]=n}while((n|0)!=(f|0));if(f>>>0<s>>>0){a=h[p>>2]|0;do{g=(d[a+(f*52|0)+48>>1]|0)==0;d[l+(f*6|0)>>1]=f;n=l+(f*6|0)+2|0;if(g){d[n>>1]=-1;d[l+(f*6|0)+4>>1]=-1}else{d[n>>1]=1;d[(h[r>>2]|0)+(f*6|0)+4>>1]=0}f=f+1|0}while(f>>>0<s>>>0)}}}while(0);h[e+52>>2]=0;h[e+44>>2]=0;h[e+96>>2]=h[i+18692>>2];i=1;v=y;return i|0}function Ii(e,i,r){e=e|0;i=i|0;r=r|0;return gf(h[e>>2]|0,i,r)|0}function Bi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=e+8|0;if(!(pa(h[t>>2]|0,52,r)|0)){r=0;return r|0}f=h[t>>2]|0;a=va(f)|0;t=ga(f)|0;if(a){l=0;n=1;while(1){if(!n)n=0;else n=(Ro[h[t>>2]&63](e,i,r)|0)!=0;l=l+1|0;if((l|0)==(a|0))break;else{t=t+4|0;n=n&1}}ya(f);if(!n){r=0;return r|0}}else ya(f);r=af(h[e>>2]|0,i,r)|0;return r|0}function Ni(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=e+8|0;if(!(pa(h[t>>2]|0,53,r)|0)){r=0;return r|0}if(!(yf(h[e>>2]|0,i,r)|0)){r=0;return r|0}l=h[t>>2]|0;f=va(l)|0;t=ga(l)|0;if(!f)t=1;else{a=0;n=t;t=1;while(1){if(!t)t=0;else t=(Ro[h[n>>2]&63](e,i,r)|0)!=0;t=t&1;a=a+1|0;if((a|0)==(f|0))break;else n=n+4|0}}ya(l);r=t;return r|0}function Fi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+4|0;if(!(pa(h[n>>2]|0,54,t)|0)){i=0;return i|0}a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](e,i,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){i=0;return i|0}}else ya(a);n=e+8|0;if(!(pa(h[n>>2]|0,55,t)|0)){i=0;return i|0}if(!(pa(h[n>>2]|0,56,t)|0)){i=0;return i|0}if(!(pa(h[n>>2]|0,57,t)|0)){i=0;return i|0}if((h[e+96>>2]|0)!=0?(pa(h[n>>2]|0,58,t)|0)==0:0){i=0;return i|0}if(!(pa(h[n>>2]|0,59,t)|0)){i=0;return i|0}a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](e,i,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){i=0;return i|0}}else ya(a);i=Ef(h[e>>2]|0,i,r,t)|0;return i|0}function Ui(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=i+8|0;if(!(pa(h[o>>2]|0,52,t)|0)){e=0;return e|0}a=h[i+4>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){e=0;return e|0}}else ya(a);a=h[o>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){e=0;return e|0}}else ya(a);e=lf(e,h[i>>2]|0,r,t)|0;return e|0}function ji(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;return of(h[e>>2]|0,i,r,t,n,f,a,l,s,o,u)|0}function Hi(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return Af(h[e>>2]|0,i,r,t,n,f)|0}function Yi(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return uf(h[e>>2]|0,i,r,t,n,f)|0}function qi(e){e=e|0;var i=0,r=0,t=0;if(!e)return;tf(h[e>>2]|0);h[e>>2]=0;i=e+72|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+68|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+108|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}t=e+116|0;i=h[t>>2]|0;if(i){r=h[i>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i>>2]=0}Qn(i);h[t>>2]=0}t=e+120|0;i=h[t>>2]|0;if(i){r=h[i+12>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i+12>>2]=0}r=h[i+4>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i+4>>2]=0}r=h[i+8>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i+8>>2]=0}r=h[i>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i>>2]=0}Qn(i);h[t>>2]=0}i=e+4|0;r=h[i>>2]|0;if(r){ma(r);h[i>>2]=0}i=e+8|0;r=h[i>>2]|0;if(r){ma(r);h[i>>2]=0}Qn(e);return}function Xi(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return cf(h[e>>2]|0,i,r,t,n,f,a)|0}function zi(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+16|0;if(!r){e=0;v=l;return e|0}Zt(t,2,16826,l)|0;if(!(pf(h[e>>2]|0,i,r,t,n)|0)){Zt(t,1,16303,l+8|0)|0;e=0;v=l;return e|0}a=e+108|0;if(!(Zi(r,a,t)|0)){e=0;v=l;return e|0}n=h[e+48>>2]|0;e:do{switch(n|0){case 16:{h[r+20>>2]=1;break}case 17:{h[r+20>>2]=2;break}case 18:{h[r+20>>2]=3;break}case 24:{h[r+20>>2]=4;break}default:{i=r+20|0;if((n|0)==12){h[i>>2]=5;break e}else{h[i>>2]=-1;break e}}}}while(0);f=e+120|0;i=h[f>>2]|0;do{if(i){if(h[i+12>>2]|0){Qi(r,a);break}Qn(h[i+4>>2]|0);Qn(h[(h[f>>2]|0)+8>>2]|0);Qn(h[h[f>>2]>>2]|0);i=h[f>>2]|0;n=h[i+12>>2]|0;if(n){Qn(n);i=h[f>>2]|0}Qn(i);h[f>>2]=0}}while(0);if(h[e+116>>2]|0)$i(r,a,t);i=h[a>>2]|0;if(!i){e=1;v=l;return e|0}h[r+28>>2]=i;h[r+32>>2]=h[e+112>>2];h[a>>2]=0;e=1;v=l;return e|0}function Vi(e){e=e|0;var i=0;i=Kn(1,136)|0;if(!i)return i|0;if(!e){e=rf()|0;h[i>>2]=e}else{e=df()|0;h[i>>2]=e}if(!e){qi(i);i=0;return i|0}e=i+108|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;c[e+16>>0]=0;e=_a()|0;h[i+4>>2]=e;if(!e){qi(i);i=0;return i|0}e=_a()|0;h[i+8>>2]=e;if(e)return i|0;qi(i);i=0;return i|0}function Gi(e,i,r){e=e|0;i=i|0;r=r|0;hf(h[e>>2]|0,i,r);return}function Ki(e){e=e|0;return _f(h[e>>2]|0)|0}function Wi(e){e=e|0;return wf(h[e>>2]|0)|0}function Ji(e,i,r){e=e|0;i=i|0;r=r|0;return vf(h[e>>2]|0,i,r)|0}function Zi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0;S=v;v=v+80|0;T=S+72|0;M=S+64|0;A=S+56|0;E=S+48|0;y=S+40|0;g=S+32|0;p=S+24|0;_=S+16|0;s=S+8|0;l=S;t=h[i+8>>2]|0;e:do{if(t){w=h[t>>2]|0;u=d[t+4>>1]|0;t=h[e+16>>2]|0;o=h[i+12>>2]|0;if((o|0)!=0?(h[o+12>>2]|0)!=0:0)i=b[o+18>>0]|0;else i=t;a=u<<16>>16==0;i:do{if(!a){f=0;r:while(1){n=f&65535;t=k[w+(n*6|0)>>1]|0;if(t>>>0>=i>>>0){n=15;break}t=d[w+(n*6|0)+4>>1]|0;switch(t<<16>>16){case 0:case-1:break;default:{t=(t&65535)+-1|0;if(t>>>0>=i>>>0){n=18;break r}}}f=f+1<<16>>16;if((f&65535)>=(u&65535))break i}if((n|0)==15){h[l>>2]=t;h[l+4>>2]=i;Zt(r,1,19343,l)|0;r=0;v=S;return r|0}else if((n|0)==18){h[s>>2]=t;h[s+4>>2]=i;Zt(r,1,19343,s)|0;r=0;v=S;return r|0}}}while(0);if(!i)t=o;else{i:do{if(!a)while(1){i=i+-1|0;t=0;do{if((k[w+((t&65535)*6|0)>>1]|0)==(i|0))break;t=t+1<<16>>16}while((t&65535)<(u&65535));if(t<<16>>16==u<<16>>16)break i;if(!i){t=o;break e}}}while(0);Zt(r,1,19380,_)|0;r=0;v=S;return r|0}}else t=h[i+12>>2]|0}while(0);if(!t){r=1;v=S;return r|0}m=h[t+12>>2]|0;if(!m){r=1;v=S;return r|0}o=c[t+18>>0]|0;_=o&255;w=o<<24>>24==0;if(w)t=1;else{f=e+16|0;i=0;a=0;t=1;do{i=k[m+(i<<2)>>1]|0;n=h[f>>2]|0;if(i>>>0>=n>>>0){h[p>>2]=i;h[p+4>>2]=n;Zt(r,1,19343,p)|0;t=0}a=a+1<<16>>16;i=a&65535}while(i>>>0<_>>>0)}u=Kn(_,4)|0;if(!u){Zt(r,1,19413,g)|0;r=0;v=S;return r|0}if(!w){l=0;s=0;do{n=c[m+(l<<2)+3>>0]|0;f=n&255;do{if((n&255)<(o&255)){a=u+(f<<2)|0;i=c[m+(l<<2)+2>>0]|0;if((h[a>>2]|0)!=0&i<<24>>24==1){h[E>>2]=f;Zt(r,1,19486,E)|0;t=0;break}if(i<<24>>24!=0|n<<24>>24==0){h[a>>2]=1;break}else{h[A>>2]=l;h[A+4>>2]=f;Zt(r,1,19517,A)|0;t=0;break}}else{h[y>>2]=f;Zt(r,1,19430,y)|0;t=0}}while(0);s=s+1<<16>>16;l=s&65535}while(l>>>0<_>>>0);if(!w){i=0;n=0;do{if((h[u+(i<<2)>>2]|0)==0?(c[m+(i<<2)+2>>0]|0)!=0:0){h[M>>2]=i;Zt(r,1,19553,M)|0;t=0}n=n+1<<16>>16;i=n&65535}while(i>>>0<_>>>0)}}if(!t){Qn(u);r=0;v=S;return r|0}e:do{if(!((h[e+16>>2]|0)!=1|w)){t=0;i=0;while(1){i=i+1<<16>>16;if(!(h[u+(t<<2)>>2]|0))break;t=i&65535;if(t>>>0>=_>>>0)break e}h[T>>2]=t;Zt(r,2,19591,T)|0;if(!w){t=0;i=0;do{c[m+(t<<2)+2>>0]=1;c[m+(t<<2)+3>>0]=i;i=i+1<<16>>16;t=i&65535}while(t>>>0<_>>>0)}}}while(0);Qn(u);r=1;v=S;return r|0}function Qi(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0;y=i+12|0;i=h[y>>2]|0;l=h[i+8>>2]|0;o=h[i+4>>2]|0;w=h[i>>2]|0;_=h[i+12>>2]|0;i=c[i+18>>0]|0;m=e+24|0;p=h[m>>2]|0;v=i&255;g=Gn(v*52|0)|0;if(!g)return;s=i<<24>>24==0;if(!s){f=0;a=0;do{i=d[_+(f<<2)>>1]|0;if(!(c[_+(f<<2)+2>>0]|0)){i=i&65535;r=g+(f*52|0)|0;t=p+(i*52|0)|0;n=r+52|0;do{h[r>>2]=h[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0))}else{i=i&65535;r=g+((b[_+(f<<2)+3>>0]|0)*52|0)|0;t=p+(i*52|0)|0;n=r+52|0;do{h[r>>2]=h[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0))}n=Gn(ue(h[p+(i*52|0)+8>>2]<<2,h[p+(i*52|0)+12>>2]|0)|0)|0;h[g+(f*52|0)+44>>2]=n;if(!n){u=7;break}h[g+(f*52|0)+24>>2]=b[l+f>>0];h[g+(f*52|0)+32>>2]=b[o+f>>0];a=a+1<<16>>16;f=a&65535}while(f>>>0<v>>>0);if((u|0)==7){Qn(g);return}l=(k[(h[y>>2]|0)+16>>1]|0)+-1|0;if(!s){i=0;a=0;do{n=h[p+((k[_+(i<<2)>>1]|0)*52|0)+44>>2]|0;t=b[_+(i<<2)+3>>0]|0;f=ue(h[g+(t*52|0)+12>>2]|0,h[g+(t*52|0)+8>>2]|0)|0;if(!(c[_+(i<<2)+2>>0]|0)){i=h[g+(i*52|0)+44>>2]|0;if(f){r=0;do{h[i+(r<<2)>>2]=h[n+(r<<2)>>2];r=r+1|0}while((r|0)!=(f|0))}}else{i=h[g+(t*52|0)+44>>2]|0;if(f){r=0;do{u=h[n+(r<<2)>>2]|0;u=w+((ue((u|0)<0?0:(u|0)>(l|0)?l:u,v)|0)+t<<2)|0;h[i+(r<<2)>>2]=h[u>>2];r=r+1|0}while((r|0)!=(f|0))}}a=a+1<<16>>16;i=a&65535}while(i>>>0<v>>>0)}}r=e+16|0;t=h[r>>2]|0;if(t){i=0;n=0;do{i=h[p+(i*52|0)+44>>2]|0;if(i)Qn(i);n=n+1<<16>>16;i=n&65535}while(i>>>0<t>>>0)}Qn(p);h[m>>2]=g;h[r>>2]=v;Qn(h[(h[y>>2]|0)+4>>2]|0);Qn(h[(h[y>>2]|0)+8>>2]|0);Qn(h[h[y>>2]>>2]|0);i=h[y>>2]|0;r=h[i+12>>2]|0;if(r){Qn(r);i=h[y>>2]|0}Qn(i);h[y>>2]=0;return}function $i(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+80|0;y=A+8|0;g=A;p=A+16|0;E=i+8|0;t=h[E>>2]|0;i=h[t>>2]|0;m=d[t+4>>1]|0;if(m<<16>>16){_=e+16|0;c=e+24|0;k=1;w=0;while(1){b=d[i+(w*6|0)>>1]|0;u=b&65535;e=h[_>>2]|0;e:do{if(u>>>0<e>>>0){t=d[i+(w*6|0)+4>>1]|0;switch(t<<16>>16){case-1:case 0:{d[(h[c>>2]|0)+(u*52|0)+48>>1]=d[i+(w*6|0)+2>>1]|0;break e}default:{}}l=(t&65535)+65535|0;o=l&65535;l=l&65535;if(l>>>0>=e>>>0){h[y>>2]=l;h[y+4>>2]=e;Zt(r,2,19302,y)|0;break}s=i+(w*6|0)+2|0;if((u|0)!=(l|0)?(d[s>>1]|0)==0:0){t=h[c>>2]|0;e=t+(u*52|0)|0;n=p;f=e;a=n+52|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=e;f=t+(l*52|0)|0;a=n+52|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=(h[c>>2]|0)+(l*52|0)|0;f=p;a=n+52|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));if((w+1&65535)<(m&65535)){n=k;do{t=i+(n*6|0)|0;e=d[t>>1]|0;if(e<<16>>16!=b<<16>>16){if(e<<16>>16==o<<16>>16)d[t>>1]=b}else d[t>>1]=o;n=n+1|0}while((n&65535)<<16>>16!=m<<16>>16)}}d[(h[c>>2]|0)+(u*52|0)+48>>1]=d[s>>1]|0}else{h[g>>2]=u;h[g+4>>2]=e;Zt(r,2,19262,g)|0}}while(0);w=w+1|0;if((w&65535)<<16>>16==m<<16>>16)break;else k=k+1|0}i=h[E>>2]|0;t=i;i=h[i>>2]|0}if(!i){y=t;Qn(y);h[E>>2]=0;v=A;return}else{Qn(i);y=h[E>>2]|0;Qn(y);h[E>>2]=0;v=A;return}}function er(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;D=v;v=v+192|0;A=D+152|0;E=D+144|0;y=D+136|0;g=D+128|0;p=D+120|0;O=D+88|0;_=D+80|0;k=D+64|0;b=D+48|0;L=D+40|0;M=D+32|0;R=D+24|0;m=D+16|0;w=D+8|0;c=D+176|0;d=D+168|0;P=D+156|0;t=Kn(1,1024)|0;if(!t){Zt(r,1,17098,D)|0;C=0;v=D;return C|0}u=c+4|0;T=P+4|0;S=e+100|0;o=1024;e:while(1){if((qt(i,c,8,r)|0)!=8)break;while(1){gt(c,P,4);gt(u,T,4);switch(h[P>>2]|0){case 0:{n=Gt(i)|0;s=j;if((s|0)>0|(s|0)==0&n>>>0>4294967287){C=6;break e}h[P>>2]=n+8;l=8;break}case 1:{if((qt(i,c,8,r)|0)!=8)break e;gt(c,d,4);if(h[d>>2]|0){C=10;break e}gt(u,P,4);l=16;break}default:l=8}f=h[T>>2]|0;if((f|0)==1785737827){C=13;break e}n=h[P>>2]|0;if(!n){C=17;break e}if(n>>>0<l>>>0){C=19;break e}if((f|0)==1783636e3){a=1084;f=l;C=22;break}if((f|0)==1718909296){a=1092;f=l;C=22;break}s=(f|0)==1785737832;i:do{if((f|0)!=1768449138)if((f|0)!=1668246642)if((f|0)!=1651532643)if((f|0)!=1885564018)if((f|0)!=1668112752){a=(f|0)==1667523942?1148:0;n=n-l|0;if((f|0)<1785737832)switch(f|0){case 1667523942:{C=30;break i}default:{}}else switch(f|0){case 1785737832:{C=30;break i}default:{}}f=h[S>>2]|0;if(!(f&1)){C=45;break e}if(!(f&2)){C=47;break e}h[S>>2]=f|2147483647;s=Kt(i,n,0,r)|0;if(!((s|0)==(n|0)&(j|0)==0)){C=50;break e}}else{a=1140;C=28}else{a=1132;C=28}else{a=1124;C=28}else{a=1116;C=28}else{a=1108;C=28}}while(0);if((C|0)==28){n=n-l|0;C=30}if((C|0)==30){C=0;if(s){a=1100;break}h[b>>2]=f>>>24;h[b+4>>2]=f>>>16&255;h[b+8>>2]=f>>>8&255;h[b+12>>2]=f&255;Zt(r,2,17282,b)|0;if(h[S>>2]&4)break;s=h[T>>2]|0;h[k>>2]=s>>>24;h[k+4>>2]=s>>>16&255;h[k+8>>2]=s>>>8&255;h[k+12>>2]=s&255;Zt(r,2,17333,k)|0;h[S>>2]=h[S>>2]|2147483647;s=Kt(i,n,0,r)|0;if(!((s|0)==(n|0)&(j|0)==0)){C=33;break e}}if((qt(i,c,8,r)|0)!=8)break e}if((C|0)==22){C=0;n=n-f|0}s=Gt(i)|0;l=j;if(0>(l|0)|0==(l|0)&n>>>0>s>>>0){C=35;break}if(n>>>0>o>>>0){f=Zn(t,n)|0;if(!f){C=38;break}else{t=f;f=n}}else f=o;if((qt(i,t,n,r)|0)!=(n|0)){C=40;break}if(!(Fo[h[a+4>>2]&63](e,t,n,r)|0)){C=43;break}else o=f}switch(C|0){case 6:{Zt(r,1,17148,w)|0;break}case 10:{Zt(r,1,17148,m)|0;break}case 13:{n=h[S>>2]|0;if(!(n&4)){Zt(r,1,17190,R)|0;Qn(t);C=0;v=D;return C|0}else{h[S>>2]=n|8;Qn(t);C=1;v=D;return C|0}}case 17:{Zt(r,1,17218,M)|0;Qn(t);C=0;v=D;return C|0}case 19:{h[L>>2]=n;h[L+4>>2]=f;Zt(r,1,17256,L)|0;Qn(t);C=0;v=D;return C|0}case 33:{Zt(r,1,17399,_)|0;Qn(t);C=0;v=D;return C|0}case 35:{R=h[P>>2]|0;L=h[T>>2]|0;C=Gt(i)|0;h[O>>2]=R;h[O+4>>2]=L>>>24;h[O+8>>2]=L>>>16&255;h[O+12>>2]=L>>>8&255;h[O+16>>2]=L&255;h[O+20>>2]=n;h[O+24>>2]=C;Zt(r,1,17449,O)|0;Qn(t);C=0;v=D;return C|0}case 38:{Qn(t);Zt(r,1,17525,p)|0;C=0;v=D;return C|0}case 40:{Zt(r,1,17567,g)|0;Qn(t);C=0;v=D;return C|0}case 43:{Qn(t);C=0;v=D;return C|0}case 45:{Zt(r,1,17616,y)|0;Qn(t);C=0;v=D;return C|0}case 47:{Zt(r,1,17686,E)|0;Qn(t);C=0;v=D;return C|0}case 50:{Zt(r,1,17399,A)|0;Qn(t);C=0;v=D;return C|0}}Qn(t);C=1;v=D;return C|0}function ir(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;a=v;v=v+32|0;f=a+24|0;t=Vt(i)|0;n=j;e=e+80|0;l=e;l=Hs(t|0,n|0,h[l>>2]|0,h[l+4>>2]|0)|0;vt(f,l,4);vt(f+4|0,1785737827,4);if(!(Wt(i,h[e>>2]|0,h[e+4>>2]|0,r)|0)){Zt(r,1,17067,a)|0;l=0;v=a;return l|0}if((Xt(i,f,8,r)|0)!=8){Zt(r,1,17067,a+8|0)|0;l=0;v=a;return l|0}if(Wt(i,t,n,r)|0){l=1;v=a;return l|0}Zt(r,1,17067,a+16|0)|0;l=0;v=a;return l|0}function rr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;r=((h[e>>2]|0)!=0?(h[e+104>>2]|h[e+100>>2]|0)==0:0)&(h[e+8>>2]|0)!=0&(h[e+4>>2]|0)!=0&(h[e+64>>2]|0)!=0&(h[e+16>>2]|0)!=0&(h[e+12>>2]|0)!=0&1;t=h[e+20>>2]|0;if(!t){f=r;e=e+40|0;e=h[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=Jt(i)|0;i=i&f;e=i&e;return e|0}n=h[e+72>>2]|0;f=0;do{r=(h[n+(f*12|0)+8>>2]&126)>>>0<38&r;f=f+1|0}while(f>>>0<t>>>0);e=e+40|0;e=h[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=Jt(i)|0;i=i&r;e=i&e;return e|0}function tr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e=v;v=v+16|0;t=e;vt(t,12,4);vt(t+4|0,1783636e3,4);vt(t+8|0,218793738,4);r=(Xt(i,t,12,r)|0)==12&1;v=e;return r|0}function nr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;s=o+8|0;n=e+64|0;a=(h[n>>2]<<2)+16|0;l=Kn(1,a)|0;if(!l){Zt(r,1,16987,o)|0;s=0;v=o;return s|0}vt(l,a,4);vt(l+4|0,1718909296,4);vt(l+8|0,h[e+56>>2]|0,4);vt(l+12|0,h[e+60>>2]|0,4);f=l+16|0;if(h[n>>2]|0){e=e+68|0;t=0;do{vt(f,h[(h[e>>2]|0)+(t<<2)>>2]|0,4);t=t+1|0}while(t>>>0<(h[n>>2]|0)>>>0)}e=(Xt(i,l,a,r)|0)==(a|0);if(!e)Zt(r,1,17026,s)|0;Qn(l);s=e&1;v=o;return s|0}function fr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;k=v;v=v+80|0;d=k+16|0;u=k+8|0;s=k;n=k+24|0;o=k+72|0;t=n;f=t+48|0;do{h[t>>2]=0;t=t+4|0}while((t|0)<(f|0));b=(h[e+24>>2]|0)==255;h[n>>2]=2;t=n+12|0;if(b){h[t>>2]=3;h[n+24>>2]=4;t=3}else{h[t>>2]=4;t=2}if(!(h[e+116>>2]|0))b=t;else{h[n+(t*12|0)>>2]=5;b=t+1|0}vt(o+4|0,1785737832,4);a=0;l=n;t=8;while(1){f=l+8|0;w=Uo[h[l>>2]&7](e,f)|0;h[l+4>>2]=w;if(!w){c=8;break}t=(h[f>>2]|0)+t|0;a=a+1|0;if((a|0)>=(b|0))break;else l=l+12|0}if((c|0)==8){Zt(r,1,16901,s)|0;f=0;while(1){t=h[n+4>>2]|0;if(t)Qn(t);f=f+1|0;if((f|0)>=(b|0)){t=0;break}else n=n+12|0}v=k;return t|0}vt(o,t,4);e:do{if((Xt(i,o,8,r)|0)==8){t=0;f=n;while(1){w=f+8|0;c=Xt(i,h[f+4>>2]|0,h[w>>2]|0,r)|0;if((c|0)!=(h[w>>2]|0))break;t=t+1|0;if((t|0)>=(b|0)){t=1;break e}else f=f+12|0}Zt(r,1,16944,d)|0;t=0}else{Zt(r,1,16944,u)|0;t=0}}while(0);a=0;while(1){f=h[n+4>>2]|0;if(f)Qn(f);a=a+1|0;if((a|0)>=(b|0))break;else n=n+12|0}v=k;return t|0}function ar(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=Vt(i)|0;e=e+88|0;h[e>>2]=t;h[e+4>>2]=j;i=Kt(i,24,0,r)|0;return(i|0)==24&(j|0)==0&1|0}function lr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=Vt(i)|0;e=e+80|0;h[e>>2]=t;h[e+4>>2]=j;i=Kt(i,8,0,r)|0;return(i|0)==8&(j|0)==0&1|0}function sr(e,i){e=e|0;i=i|0;var r=0;r=Kn(1,22)|0;if(!r){i=0;return i|0}vt(r,22,4);vt(r+4|0,1768449138,4);vt(r+8|0,h[e+16>>2]|0,4);vt(r+12|0,h[e+12>>2]|0,4);vt(r+16|0,h[e+20>>2]|0,2);vt(r+18|0,h[e+24>>2]|0,1);vt(r+19|0,h[e+28>>2]|0,1);vt(r+20|0,h[e+32>>2]|0,1);vt(r+21|0,h[e+36>>2]|0,1);h[i>>2]=22;i=r;return i|0}function or(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;n=e+20|0;f=(h[n>>2]|0)+8|0;a=Kn(1,f)|0;if(!a){i=0;return i|0}vt(a,f,4);vt(a+4|0,1651532643,4);if(h[n>>2]|0){e=e+72|0;r=0;t=a+8|0;while(1){vt(t,h[(h[e>>2]|0)+(r*12|0)+8>>2]|0,1);r=r+1|0;if(r>>>0>=(h[n>>2]|0)>>>0)break;else t=t+1|0}}h[i>>2]=f;i=a;return i|0}function ur(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;r=e+40|0;switch(h[r>>2]|0){case 1:{l=15;break}case 2:{l=(h[e+112>>2]|0)+11|0;break}default:{i=0;return i|0}}a=Kn(1,l)|0;if(!a){i=0;return i|0}vt(a,l,4);vt(a+4|0,1668246642,4);vt(a+8|0,h[r>>2]|0,1);vt(a+9|0,h[e+52>>2]|0,1);vt(a+10|0,h[e+44>>2]|0,1);n=a+11|0;switch(h[r>>2]|0){case 1:{vt(n,h[e+48>>2]|0,4);break}case 2:{f=e+112|0;if(h[f>>2]|0){e=e+108|0;t=0;r=n;while(1){vt(r,b[(h[e>>2]|0)+t>>0]|0,1);t=t+1|0;if(t>>>0>=(h[f>>2]|0)>>>0)break;else r=r+1|0}}break}default:{}}h[i>>2]=l;i=a;return i|0}function cr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;f=e+116|0;a=((k[(h[f>>2]|0)+4>>1]|0)*6|0)+10|0;l=Gn(a)|0;if(!l){i=0;return i|0}vt(l,a,4);vt(l+4|0,1667523942,4);vt(l+8|0,k[(h[f>>2]|0)+4>>1]|0,2);e=h[f>>2]|0;if(d[e+4>>1]|0){t=0;r=0;n=l+10|0;while(1){vt(n,k[(h[e>>2]|0)+(t*6|0)>>1]|0,2);vt(n+2|0,k[(h[h[f>>2]>>2]|0)+(t*6|0)+2>>1]|0,2);vt(n+4|0,k[(h[h[f>>2]>>2]|0)+(t*6|0)+4>>1]|0,2);r=r+1<<16>>16;e=h[f>>2]|0;if((r&65535)>=(k[e+4>>1]|0))break;else{t=r&65535;n=n+6|0}}}h[i>>2]=a;i=l;return i|0}function dr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+32|0;n=f+16|0;if((r|0)!=14){Zt(t,1,18507,f)|0;n=0;v=f;return n|0}gt(i,e+16|0,4);gt(i+4|0,e+12|0,4);r=e+20|0;gt(i+8|0,r,2);r=Kn(h[r>>2]|0,12)|0;h[e+72>>2]=r;if(!r){Zt(t,1,18540,f+8|0)|0;n=0;v=f;return n|0}gt(i+10|0,e+24|0,1);r=e+28|0;gt(i+11|0,r,1);r=h[r>>2]|0;if((r|0)!=7){h[n>>2]=r;Zt(t,4,18589,n)|0}gt(i+12|0,e+32|0,1);gt(i+13|0,e+36|0,1);n=1;v=f;return n|0}function hr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;E=v;v=v+80|0;a=E+40|0;m=E+32|0;s=E+24|0;l=E+16|0;p=E+72|0;_=E+68|0;b=E+64|0;k=E+60|0;u=E+56|0;w=E+52|0;d=E+48|0;o=E+44|0;if(r>>>0<3){Zt(t,1,18180,E)|0;y=0;v=E;return y|0}g=e+108|0;y=e+124|0;if(c[y>>0]|0){Zt(t,4,18212,E+8|0)|0;y=1;v=E;return y|0}f=e+40|0;gt(i,f,1);gt(i+1|0,e+52|0,1);gt(i+2|0,e+44|0,1);n=i+3|0;f=h[f>>2]|0;switch(f|0){case 1:{if(r>>>0<7){h[l>>2]=r;Zt(t,1,18321,l)|0;y=0;v=E;return y|0}f=e+48|0;if(r>>>0>7?(h[f>>2]|0)!=14:0){h[s>>2]=r;Zt(t,2,18321,s)|0}gt(n,f,4);if((h[f>>2]|0)==14){n=Gn(36)|0;h[n>>2]=14;h[d>>2]=0;h[u>>2]=0;h[b>>2]=0;h[w>>2]=0;h[k>>2]=0;h[_>>2]=0;h[o>>2]=4470064;f=n+4|0;h[f>>2]=1145390592;switch(r|0){case 35:{gt(i+7|0,_,4);gt(i+11|0,b,4);gt(i+15|0,k,4);gt(i+19|0,u,4);gt(i+23|0,w,4);gt(i+27|0,d,4);gt(i+31|0,o,4);h[f>>2]=0;break}case 7:break;default:{h[m>>2]=r;Zt(t,2,18357,m)|0}}h[n+8>>2]=h[_>>2];h[n+16>>2]=h[k>>2];h[n+24>>2]=h[w>>2];h[n+12>>2]=h[b>>2];h[n+20>>2]=h[u>>2];h[n+28>>2]=h[d>>2];h[n+32>>2]=h[o>>2];h[g>>2]=n;h[e+112>>2]=0}c[y>>0]=1;y=1;v=E;return y|0}case 2:{a=r+-3|0;f=e+112|0;h[f>>2]=a;e=Kn(1,a)|0;h[g>>2]=e;if(!e){h[f>>2]=0;y=0;v=E;return y|0}if((r|0)>3){f=0;while(1){gt(n,p,1);c[(h[g>>2]|0)+f>>0]=h[p>>2];f=f+1|0;if((f|0)==(a|0))break;else n=n+1|0}}c[y>>0]=1;y=1;v=E;return y|0}default:{if(f>>>0<=2){y=1;v=E;return y|0}h[a>>2]=f;Zt(t,4,18401,a)|0;y=1;v=E;return y|0}}return 0}function br(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;f=l;n=h[e+24>>2]|0;if((n|0)!=255){h[f>>2]=n;Zt(t,2,18034,f)|0}a=e+20|0;if((h[a>>2]|0)!=(r|0)){Zt(t,1,18148,l+8|0)|0;a=0;v=l;return a|0}if(!r){a=1;v=l;return a|0}f=e+72|0;n=0;while(1){gt(i,(h[f>>2]|0)+(n*12|0)+8|0,1);n=n+1|0;if(n>>>0>=(h[a>>2]|0)>>>0){i=1;break}else i=i+1|0}v=l;return i|0}function kr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,k=0,w=0;w=v;v=v+16|0;n=w;k=w+12|0;f=e+120|0;if(r>>>0<3|(h[f>>2]|0)!=0){r=0;v=w;return r|0}gt(i,k,2);a=h[k>>2]|0;u=a&65535;if((u+-1|0)>>>0>1023){h[n>>2]=u;Zt(t,1,17951,n)|0;r=0;v=w;return r|0}gt(i+2|0,k,1);o=h[k>>2]&65535;if(!o){Zt(t,1,17989,w+8|0)|0;r=0;v=w;return r|0}if((o+3|0)>>>0>r>>>0){r=0;v=w;return r|0}n=Gn(ue(u<<2,o)|0)|0;if(!n){r=0;v=w;return r|0}s=Gn(o)|0;if(!s){Qn(n);r=0;v=w;return r|0}l=Gn(o)|0;if(!l){Qn(n);Qn(s);r=0;v=w;return r|0}e=Gn(20)|0;if(!e){Qn(n);Qn(s);Qn(l);r=0;v=w;return r|0}h[e+4>>2]=l;h[e+8>>2]=s;h[e>>2]=n;d[e+16>>1]=a;c[e+18>>0]=h[k>>2];h[e+12>>2]=0;h[f>>2]=e;e=i+3|0;t=0;f=0;do{gt(e,k,1);e=e+1|0;c[s+t>>0]=(h[k>>2]&127)+1;c[l+t>>0]=(h[k>>2]|0)>>>7&1;f=f+1<<16>>16;t=f&65535}while(t>>>0<o>>>0);if(!u){r=1;v=w;return r|0}t=0;e:while(1){a=0;f=n;l=0;while(1){n=((b[s+a>>0]|0)+7|0)>>>3;n=n>>>0>4?4:n;if((e-i+n|0)>(r|0)){e=0;n=22;break e}gt(e,k,n);e=e+n|0;h[f>>2]=h[k>>2];n=f+4|0;l=l+1<<16>>16;a=l&65535;if(a>>>0>=o>>>0)break;else f=n}t=t+1<<16>>16;if((t&65535)>>>0>=u>>>0){e=1;n=22;break}}if((n|0)==22){v=w;return e|0}return 0}function wr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;a=l+20|0;f=e+120|0;e=h[f>>2]|0;if(!e){Zt(t,1,17841,l)|0;a=0;v=l;return a|0}if(h[e+12>>2]|0){Zt(t,1,17887,l+8|0)|0;a=0;v=l;return a|0}n=c[e+18>>0]|0;e=(n&255)<<2;if(e>>>0>r>>>0){Zt(t,1,17918,l+16|0)|0;a=0;v=l;return a|0}t=Gn(e)|0;if(!t){a=0;v=l;return a|0}if(n<<24>>24){e=i;r=0;while(1){gt(e,a,2);d[t+(r<<2)>>1]=h[a>>2];gt(e+2|0,a,1);c[t+(r<<2)+2>>0]=h[a>>2];gt(e+3|0,a,1);c[t+(r<<2)+3>>0]=h[a>>2];r=r+1|0;if((r&255)<<24>>24==n<<24>>24)break;else e=e+4|0}}h[(h[f>>2]|0)+12>>2]=t;a=1;v=l;return a|0}function _r(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;a=l+20|0;f=e+116|0;if(h[f>>2]|0){a=0;v=l;return a|0}if(r>>>0<2){Zt(t,1,17747,l)|0;a=0;v=l;return a|0}gt(i,a,2);e=h[a>>2]|0;n=e&65535;if(!n){Zt(t,1,17780,l+8|0)|0;a=0;v=l;return a|0}if(((n*6|0)+2|0)>>>0>r>>>0){Zt(t,1,17747,l+16|0)|0;a=0;v=l;return a|0}r=Gn(e*6|0)|0;if(!r){a=0;v=l;return a|0}e=Gn(8)|0;h[f>>2]=e;if(!e){Qn(r);a=0;v=l;return a|0}h[e>>2]=r;t=h[a>>2]&65535;d[e+4>>1]=t;if(!(t<<16>>16)){a=1;v=l;return a|0}else{n=0;e=i}do{i=n&65535;gt(e+2|0,a,2);d[r+(i*6|0)>>1]=h[a>>2];gt(e+4|0,a,2);e=e+6|0;d[r+(i*6|0)+2>>1]=h[a>>2];gt(e,a,2);d[r+(i*6|0)+4>>1]=h[a>>2];n=n+1<<16>>16}while((n&65535)<(k[(h[f>>2]|0)+4>>1]|0));e=1;v=l;return e|0}function mr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+32|0;n=f+20|0;e=e+100|0;if(h[e>>2]|0){Zt(t,1,19130,f)|0;t=0;v=f;return t|0}if((r|0)!=4){Zt(t,1,19184,f+8|0)|0;t=0;v=f;return t|0}gt(i,n,4);if((h[n>>2]|0)==218793738){h[e>>2]=h[e>>2]|1;t=1;v=f;return t|0}else{Zt(t,1,19218,f+16|0)|0;t=0;v=f;return t|0}return 0}function pr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;f=l+24|0;a=e+100|0;if((h[a>>2]|0)!=1){Zt(t,1,19011,l)|0;a=0;v=l;return a|0}if(r>>>0<8){Zt(t,1,19061,l+8|0)|0;a=0;v=l;return a|0}gt(i,e+56|0,4);gt(i+4|0,e+60|0,4);i=i+8|0;r=r+-8|0;if(r&3){Zt(t,1,19061,l+16|0)|0;a=0;v=l;return a|0}r=r>>>2;n=e+64|0;h[n>>2]=r;if(r){r=Kn(r,4)|0;h[e+68>>2]=r;if(!r){Zt(t,1,19097,f)|0;a=0;v=l;return a|0}if(h[n>>2]|0){e=e+68|0;r=0;while(1){gt(i,(h[e>>2]|0)+(r<<2)|0,4);r=r+1|0;if(r>>>0>=(h[n>>2]|0)>>>0)break;else i=i+4|0}}}h[a>>2]=h[a>>2]|2;a=1;v=l;return a|0}function vr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0;T=v;v=v+96|0;A=T+72|0;_=T+64|0;w=T+56|0;k=T+48|0;y=T+40|0;g=T+32|0;p=T+24|0;m=T+16|0;b=T+8|0;c=T+80|0;d=T+76|0;E=e+100|0;if(!(h[E>>2]&2)){Zt(t,1,18679,T)|0;M=0;v=T;return M|0}u=e+104|0;h[u>>2]=0;do{if(r){s=i;i=0;e:while(1){if(r>>>0<8){M=6;break}gt(s,c,4);n=h[c>>2]|0;gt(s+4|0,c,4);l=h[c>>2]|0;switch(n|0){case 0:{M=14;break e}case 1:{if(r>>>0<16){M=9;break e}gt(s+8|0,d,4);if(h[d>>2]|0){M=11;break e}gt(s+12|0,c,4);n=h[c>>2]|0;if(!n){M=13;break e}else f=16;break}default:f=8}if(n>>>0<f>>>0){M=16;break}if(r>>>0<n>>>0){M=19;break}a=(l|0)==1768449138;if(!a)if((l|0)!=1668246642)if((l|0)!=1651532643)if((l|0)!=1885564018)if((l|0)!=1668112752)if((l|0)==1667523942){o=1148;M=26}else h[u>>2]=h[u>>2]|2147483647;else{o=1140;M=26}else{o=1132;M=26}else{o=1124;M=26}else{o=1116;M=26}else{o=1108;M=26}if((M|0)==26?(M=0,(Fo[h[o+4>>2]&63](e,s+f|0,n-f|0,t)|0)==0):0){i=0;M=32;break}i=a?1:i;if((r|0)==(n|0)){M=29;break}else{s=s+n|0;r=r-n|0}}if((M|0)==6)Zt(t,1,18724,b)|0;else if((M|0)==9)Zt(t,1,18764,m)|0;else if((M|0)==11)Zt(t,1,17148,p)|0;else if((M|0)==13)Zt(t,1,17218,g)|0;else if((M|0)==14)Zt(t,1,17218,y)|0;else if((M|0)==16)Zt(t,1,18808,k)|0;else if((M|0)==19){Zt(t,1,18880,_)|0;M=0;v=T;return M|0}else if((M|0)==29){if(!i)break;h[E>>2]=h[E>>2]|4;M=1;v=T;return M|0}else if((M|0)==32){v=T;return i|0}Zt(t,1,18837,w)|0;M=0;v=T;return M|0}}while(0);Zt(t,1,18952,A)|0;M=0;v=T;return M|0}function gr(){return 8}function yr(){return 32}function Er(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!t)return;else n=0;do{u=e+(n<<2)|0;l=h[u>>2]|0;s=i+(n<<2)|0;a=h[s>>2]|0;f=r+(n<<2)|0;o=h[f>>2]|0;h[u>>2]=(a<<1)+l+o>>2;h[s>>2]=o-a;h[f>>2]=l-a;n=n+1|0}while((n|0)!=(t|0));return}function Ar(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!t)return;else n=0;do{o=e+(n<<2)|0;s=i+(n<<2)|0;a=h[s>>2]|0;f=r+(n<<2)|0;u=h[f>>2]|0;l=(h[o>>2]|0)-(u+a>>2)|0;h[o>>2]=l+u;h[s>>2]=l;h[f>>2]=l+a;n=n+1|0}while((n|0)!=(t|0));return}function Mr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;if(!t)return;else n=0;do{b=e+(n<<2)|0;v=h[b>>2]|0;o=i+(n<<2)|0;p=h[o>>2]|0;f=r+(n<<2)|0;m=h[f>>2]|0;s=((v|0)<0)<<31>>31;w=Qs(v|0,s|0,2449,0)|0;w=zs(w|0,j|0,4096,0)|0;w=Vs(w|0,j|0,13)|0;l=((p|0)<0)<<31>>31;_=Qs(p|0,l|0,4809,0)|0;_=zs(_|0,j|0,4096,0)|0;_=Vs(_|0,j|0,13)|0;a=((m|0)<0)<<31>>31;k=Qs(m|0,a|0,934,0)|0;k=zs(k|0,j|0,4096,0)|0;k=Vs(k|0,j|0,13)|0;u=Qs(v|0,s|0,1382,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=Qs(p|0,l|0,2714,0)|0;c=zs(c|0,j|0,4096,0)|0;c=Vs(c|0,j|0,13)|0;d=Xs(m|0,a|0,12)|0;d=zs(d|0,j|0,4096,0)|0;d=Vs(d|0,j|0,13)|0;s=Xs(v|0,s|0,12)|0;s=zs(s|0,j|0,4096,0)|0;s=Vs(s|0,j|0,13)|0;l=Qs(p|0,l|0,3430,0)|0;l=zs(l|0,j|0,4096,0)|0;l=Vs(l|0,j|0,13)|0;a=Qs(m|0,a|0,666,0)|0;a=zs(a|0,j|0,4096,0)|0;a=Vs(a|0,j|0,13)|0;h[b>>2]=_+w+k;h[o>>2]=d-(c+u);h[f>>2]=s-l-a;n=n+1|0}while((n|0)!=(t|0));return}function Tr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0.0,l=0.0,s=0,o=0.0,u=0;if(!t)return;else n=0;do{u=e+(n<<2)|0;l=+_[u>>2];s=i+(n<<2)|0;a=+_[s>>2];f=r+(n<<2)|0;o=+_[f>>2];_[u>>2]=l+o*1.4019999504089355;_[s>>2]=l-a*.3441300094127655-o*.714139997959137;_[f>>2]=l+a*1.7719999551773071;n=n+1|0}while((n|0)!=(t|0));return}function Sr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;f=ue(t,t)|0;d=Gn(f+t<<2)|0;if(!d){t=0;return t|0}if(f){a=0;n=e;while(1){h[d+(a+t<<2)>>2]=~~(+_[n>>2]*8192.0);a=a+1|0;if((a|0)==(f|0))break;else n=n+4|0}}if(i){u=(t|0)==0;c=0;do{if(!u){n=0;do{h[d+(n<<2)>>2]=h[h[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(t|0));if(!u){e=0;s=d;do{s=s+(t<<2)|0;f=r+(e<<2)|0;n=h[f>>2]|0;h[n>>2]=0;a=0;l=0;o=s;while(1){b=h[o>>2]|0;k=h[d+(l<<2)>>2]|0;b=Qs(k|0,((k|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=zs(b|0,j|0,4096,0)|0;b=Vs(b|0,j|0,13)|0;a=b+a|0;h[n>>2]=a;l=l+1|0;if((l|0)==(t|0))break;else o=o+4|0}h[f>>2]=n+4;e=e+1|0}while((e|0)!=(t|0))}}c=c+1|0}while((c|0)!=(i|0))}Qn(d);k=1;return k|0}function Pr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;u=Gn(t<<3)|0;if(!u){t=0;return t|0}if(i){c=(t|0)==0;d=0;do{if(!c){n=0;do{h[u+(n<<2)>>2]=h[h[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(t|0));if(!c){s=0;o=e;while(1){n=u+(s+t<<2)|0;_[n>>2]=0.0;f=0.0;a=0;l=o;while(1){f=f+ +_[l>>2]*+_[u+(a<<2)>>2];_[n>>2]=f;a=a+1|0;if((a|0)==(t|0))break;else l=l+4|0}a=r+(s<<2)|0;l=h[a>>2]|0;h[a>>2]=l+4;_[l>>2]=f;s=s+1|0;if((s|0)==(t|0))break;else o=o+(t<<2)|0}}}d=d+1|0}while((d|0)!=(i|0))}Qn(u);t=1;return t|0}function Or(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0,s=0.0;if(!i)return;else l=0;do{a=e+(l<<3)|0;m[a>>3]=0.0;t=0.0;n=0;f=l;while(1){s=+_[r+(f<<2)>>2];t=t+s*s;n=n+1|0;if((n|0)==(i|0))break;else f=f+i|0}s=+Q(+t);m[a>>3]=s;l=l+1|0}while((l|0)!=(i|0));return}function Rr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0;L=v;v=v+32|0;S=L+28|0;y=L+24|0;E=L+20|0;A=L+16|0;M=L+12|0;T=L+8|0;l=L+4|0;s=L;t=i+76|0;O=h[t>>2]|0;P=O+(r*5640|0)+420|0;R=(h[P>>2]|0)+1|0;o=e+16|0;g=Gn((h[o>>2]|0)*528|0)|0;if(!g){R=0;v=L;return R|0}p=Gn(h[o>>2]<<2)|0;if(!p){Qn(g);R=0;v=L;return R|0}t=Br(e,h[t>>2]|0,r)|0;if(!t){Qn(g);Qn(p);R=0;v=L;return R|0}n=h[o>>2]|0;if(n){f=0;a=g;while(1){h[p+(f<<2)>>2]=a;f=f+1|0;if(f>>>0>=n>>>0)break;else a=a+528|0}}Nr(e,i,r,E,A,M,T,l,s,y,S,p);_=h[y>>2]|0;k=ue(h[o>>2]|0,_)|0;w=ue(h[S>>2]|0,k)|0;m=O+(r*5640|0)+8|0;b=Kn(ue((h[m>>2]|0)+1|0,w)|0,2)|0;f=t+4|0;h[f>>2]=b;if(!b){Qn(g);Qn(p);n=h[f>>2]|0;if(n){Qn(n);h[f>>2]=0}if(R){e=t;u=0;while(1){o=e+196|0;n=h[o>>2]|0;if(n){i=e+192|0;f=h[i>>2]|0;if(f){s=0;while(1){a=n+12|0;l=h[a>>2]|0;if(l){Qn(l);h[a>>2]=0;f=h[i>>2]|0}s=s+1|0;if(s>>>0>=f>>>0)break;else n=n+16|0}n=h[o>>2]|0}Qn(n);h[o>>2]=0}u=u+1|0;if((u|0)==(R|0))break;else e=e+232|0}}Qn(t);R=0;v=L;return R|0}n=h[t+196>>2]|0;b=h[e+24>>2]|0;h[t+200>>2]=h[E>>2];h[t+204>>2]=h[M>>2];h[t+208>>2]=h[A>>2];h[t+212>>2]=h[T>>2];h[t+20>>2]=1;h[t+16>>2]=_;h[t+12>>2]=k;h[t+8>>2]=w;o=h[t+192>>2]|0;if(o){e=0;i=b;while(1){a=h[n+12>>2]|0;f=h[p+(e<<2)>>2]|0;h[n>>2]=h[i>>2];h[n+4>>2]=h[i+4>>2];s=h[n+8>>2]|0;if(s){l=0;while(1){h[a>>2]=h[f>>2];h[a+4>>2]=h[f+4>>2];h[a+8>>2]=h[f+8>>2];h[a+12>>2]=h[f+12>>2];l=l+1|0;if(l>>>0>=s>>>0)break;else{f=f+16|0;a=a+16|0}}}e=e+1|0;if(e>>>0>=o>>>0)break;else{n=n+16|0;i=i+52|0}}}if(R>>>0>1){o=t;d=1;do{n=h[o+428>>2]|0;h[o+432>>2]=h[E>>2];h[o+436>>2]=h[M>>2];h[o+440>>2]=h[A>>2];h[o+444>>2]=h[T>>2];h[o+252>>2]=1;h[o+248>>2]=_;h[o+244>>2]=k;h[o+240>>2]=w;e=h[o+424>>2]|0;if(e){u=0;i=b;while(1){a=h[n+12>>2]|0;f=h[p+(u<<2)>>2]|0;h[n>>2]=h[i>>2];h[n+4>>2]=h[i+4>>2];s=h[n+8>>2]|0;if(s){l=0;while(1){h[a>>2]=h[f>>2];h[a+4>>2]=h[f+4>>2];h[a+8>>2]=h[f+8>>2];h[a+12>>2]=h[f+12>>2];l=l+1|0;if(l>>>0>=s>>>0)break;else{f=f+16|0;a=a+16|0}}}u=u+1|0;if(u>>>0>=e>>>0)break;else{n=n+16|0;i=i+52|0}}}h[o+236>>2]=h[o+4>>2];o=o+232|0;d=d+1|0}while((d|0)!=(R|0))}Qn(g);Qn(p);o=h[y>>2]|0;if(!(c[O+(r*5640|0)+5636>>0]&4)){i=h[S>>2]|0;s=(h[P>>2]|0)+1|0;if(!s){R=t;v=L;return R|0}l=h[O+(r*5640|0)+4>>2]|0;n=h[m>>2]|0;f=t;a=0;while(1){h[f+80>>2]=l;h[f+40>>2]=1;h[f+44>>2]=0;h[f+48>>2]=0;h[f+64>>2]=0;h[f+68>>2]=0;h[f+56>>2]=i;h[f+60>>2]=h[f+192>>2];h[f+52>>2]=n;h[f+72>>2]=o;a=a+1|0;if((a|0)==(s|0))break;else f=f+232|0}v=L;return t|0}else{a=(h[P>>2]|0)+1|0;if(!a){R=t;v=L;return R|0}l=t;n=O+(r*5640|0)+424|0;f=0;while(1){h[l+80>>2]=h[n+36>>2];h[l+40>>2]=1;h[l+44>>2]=h[n>>2];h[l+48>>2]=h[n+4>>2];h[l+64>>2]=0;h[l+68>>2]=0;h[l+56>>2]=h[n+12>>2];h[l+60>>2]=h[n+16>>2];h[l+52>>2]=h[n+8>>2];h[l+72>>2]=o;f=f+1|0;if((f|0)==(a|0))break;else{l=l+232|0;n=n+148|0}}v=L;return t|0}return 0}function Lr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!e)return;r=e+4|0;t=h[r>>2]|0;if(t){Qn(t);h[r>>2]=0}if(i){o=e;u=0;while(1){s=o+196|0;r=h[s>>2]|0;if(r){l=o+192|0;t=h[l>>2]|0;if(t){a=0;while(1){n=r+12|0;f=h[n>>2]|0;if(f){Qn(f);h[n>>2]=0;t=h[l>>2]|0}a=a+1|0;if(a>>>0>=t>>>0)break;else r=r+16|0}r=h[s>>2]|0}Qn(r);h[s>>2]=0}u=u+1|0;if((u|0)==(i|0))break;else o=o+232|0}}Qn(e);return}function Cr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0;N=v;v=v+32|0;C=N+28|0;L=N+24|0;S=N+20|0;P=N+16|0;O=N+12|0;R=N+8|0;D=N+4|0;x=N;I=i+76|0;E=h[I>>2]|0;B=(h[E+(r*5640|0)+420>>2]|0)+1|0;T=e+16|0;M=Gn((h[T>>2]|0)*528|0)|0;if(!M){r=0;v=N;return r|0}A=Gn(h[T>>2]<<2)|0;if(!A){Qn(M);r=0;v=N;return r|0}n=Br(e,h[I>>2]|0,r)|0;if(!n){Qn(M);Qn(A);r=0;v=N;return r|0}f=h[T>>2]|0;if(f){a=0;l=M;while(1){h[A+(a<<2)>>2]=l;a=a+1|0;if(a>>>0>=f>>>0)break;else l=l+528|0}}Nr(e,i,r,S,P,O,R,D,x,L,C,A);p=h[L>>2]|0;g=ue(h[T>>2]|0,p)|0;y=ue(h[C>>2]|0,g)|0;c[n>>0]=(b[i+93>>0]|0)>>>3&1;m=Kn(ue(h[E+(r*5640|0)+8>>2]|0,y)|0,2)|0;a=n+4|0;h[a>>2]=m;if(!m){Qn(M);Qn(A);f=h[a>>2]|0;if(f){Qn(f);h[a>>2]=0}if(B){k=n;w=0;while(1){u=k+196|0;f=h[u>>2]|0;if(f){o=k+192|0;a=h[o>>2]|0;if(a){s=0;while(1){l=f+12|0;e=h[l>>2]|0;if(e){Qn(e);h[l>>2]=0;a=h[o>>2]|0}s=s+1|0;if(s>>>0>=a>>>0)break;else f=f+16|0}f=h[u>>2]|0}Qn(f);h[u>>2]=0}w=w+1|0;if((w|0)==(B|0))break;else k=k+232|0}}Qn(n);r=0;v=N;return r|0}f=h[n+196>>2]|0;m=h[e+24>>2]|0;h[n+200>>2]=h[S>>2];h[n+204>>2]=h[O>>2];h[n+208>>2]=h[P>>2];h[n+212>>2]=h[R>>2];h[n+224>>2]=h[D>>2];h[n+228>>2]=h[x>>2];h[n+20>>2]=1;h[n+16>>2]=p;h[n+12>>2]=g;h[n+8>>2]=y;u=h[n+192>>2]|0;if(u){k=0;o=m;while(1){l=h[f+12>>2]|0;a=h[A+(k<<2)>>2]|0;h[f>>2]=h[o>>2];h[f+4>>2]=h[o+4>>2];s=h[f+8>>2]|0;if(s){e=0;while(1){h[l>>2]=h[a>>2];h[l+4>>2]=h[a+4>>2];h[l+8>>2]=h[a+8>>2];h[l+12>>2]=h[a+12>>2];e=e+1|0;if(e>>>0>=s>>>0)break;else{a=a+16|0;l=l+16|0}}}k=k+1|0;if(k>>>0>=u>>>0)break;else{f=f+16|0;o=o+52|0}}}if(B>>>0>1){u=n;_=1;do{f=h[u+428>>2]|0;h[u+432>>2]=h[S>>2];h[u+436>>2]=h[O>>2];h[u+440>>2]=h[P>>2];h[u+444>>2]=h[R>>2];h[u+456>>2]=h[D>>2];h[u+460>>2]=h[x>>2];h[u+252>>2]=1;h[u+248>>2]=p;h[u+244>>2]=g;h[u+240>>2]=y;k=h[u+424>>2]|0;if(k){w=0;o=m;while(1){l=h[f+12>>2]|0;a=h[A+(w<<2)>>2]|0;h[f>>2]=h[o>>2];h[f+4>>2]=h[o+4>>2];s=h[f+8>>2]|0;if(s){e=0;while(1){h[l>>2]=h[a>>2];h[l+4>>2]=h[a+4>>2];h[l+8>>2]=h[a+8>>2];h[l+12>>2]=h[a+12>>2];e=e+1|0;if(e>>>0>=s>>>0)break;else{a=a+16|0;l=l+16|0}}}w=w+1|0;if(w>>>0>=k>>>0)break;else{f=f+16|0;o=o+52|0}}}h[u+236>>2]=h[u+4>>2];u=u+232|0;_=_+1|0}while((_|0)!=(B|0))}Qn(M);Qn(A);do{if(c[E+(r*5640|0)+5636>>0]&4){f=d[i>>1]|0;if((f&65535)>2){if(!((t|0)==1|(f&65535)<7))break}else if((t|0)!=1)break;Fr(h[I>>2]|0,r,h[S>>2]|0,h[P>>2]|0,h[O>>2]|0,h[R>>2]|0,h[L>>2]|0,h[D>>2]|0,h[x>>2]|0);r=n;v=N;return r|0}}while(0);y=h[T>>2]|0;g=h[S>>2]|0;p=h[P>>2]|0;m=h[O>>2]|0;_=h[R>>2]|0;w=h[L>>2]|0;k=h[C>>2]|0;u=h[D>>2]|0;o=h[x>>2]|0;f=h[I>>2]|0;l=(h[f+(r*5640|0)+420>>2]|0)+1|0;if(!l){r=n;v=N;return r|0}e=h[f+(r*5640|0)+8>>2]|0;s=h[f+(r*5640|0)+4>>2]|0;f=f+(r*5640|0)+424|0;a=0;while(1){h[f+76>>2]=0;h[f+92>>2]=y;h[f+72>>2]=0;h[f+88>>2]=k;h[f+68>>2]=0;h[f+84>>2]=e;h[f+36>>2]=s;h[f+80>>2]=0;h[f+96>>2]=w;h[f+100>>2]=g;h[f+104>>2]=p;h[f+108>>2]=m;h[f+112>>2]=_;h[f+116>>2]=u;h[f+120>>2]=o;a=a+1|0;if((a|0)==(l|0))break;else f=f+148|0}v=N;return n|0}function Dr(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0;Y=h[i+76>>2]|0;q=Y+(r*5640|0)+424+(t*148|0)+36|0;X=$n(h[q>>2]|0)|0;h[e+(t*232|0)+40>>2]=1;z=e+(t*232|0)+44|0;h[e+(t*232|0)+80>>2]=h[q>>2];do{if(c[i+93>>0]&8){l=d[i>>1]|0;if((l&65535)>2){if(!((a|0)==1&(l&65535)>6|(l+-3&65535)<4))break}else if(!((a|0)==1|(l+-3&65535)<4))break;l=f+1|0;e:do{if((l|0)<4){a=Y+(r*5640|0)+424+(t*148|0)+72|0;s=Y+(r*5640|0)+424+(t*148|0)+88|0;o=e+(t*232|0)+56|0;u=Y+(r*5640|0)+424+(t*148|0)+76|0;b=e+(t*232|0)+48|0;k=Y+(r*5640|0)+424+(t*148|0)+92|0;w=e+(t*232|0)+60|0;_=Y+(r*5640|0)+424+(t*148|0)+68|0;m=e+(t*232|0)+64|0;p=Y+(r*5640|0)+424+(t*148|0)+84|0;v=e+(t*232|0)+52|0;g=Y+(r*5640|0)+424+(t*148|0)+80|0;y=e+(t*232|0)+68|0;E=Y+(r*5640|0)+424+(t*148|0)+96|0;A=e+(t*232|0)+72|0;M=Y+(r*5640|0)+424+(t*148|0)+100|0;T=e+(t*232|0)+96|0;S=Y+(r*5640|0)+424+(t*148|0)+108|0;P=e+(t*232|0)+104|0;O=Y+(r*5640|0)+424+(t*148|0)+104|0;R=e+(t*232|0)+100|0;L=Y+(r*5640|0)+424+(t*148|0)+112|0;C=e+(t*232|0)+108|0;while(1){i:do{switch(c[X+l>>0]|0){case 82:{h[z>>2]=h[a>>2];h[o>>2]=h[s>>2];break}case 67:{h[b>>2]=h[u>>2];h[w>>2]=h[k>>2];break}case 76:{h[m>>2]=h[_>>2];h[v>>2]=h[p>>2];break}case 80:if((h[q>>2]|0)>>>0<2){h[y>>2]=h[g>>2];h[A>>2]=h[E>>2];break i}else{h[T>>2]=h[M>>2];h[P>>2]=h[S>>2];h[R>>2]=h[O>>2];h[C>>2]=h[L>>2];break i}default:{}}}while(0);l=l+1|0;if((l|0)==4)break e}}}while(0);l=(f|0)>-1;if(!n){if(!l)return;o=Y+(r*5640|0)+424+(t*148|0)+76|0;u=Y+(r*5640|0)+424+(t*148|0)+132|0;b=e+(t*232|0)+48|0;k=e+(t*232|0)+60|0;w=Y+(r*5640|0)+424+(t*148|0)+72|0;_=Y+(r*5640|0)+424+(t*148|0)+128|0;m=e+(t*232|0)+56|0;p=Y+(r*5640|0)+424+(t*148|0)+68|0;v=Y+(r*5640|0)+424+(t*148|0)+124|0;g=e+(t*232|0)+64|0;y=e+(t*232|0)+52|0;E=Y+(r*5640|0)+424+(t*148|0)+80|0;A=Y+(r*5640|0)+424+(t*148|0)+136|0;M=e+(t*232|0)+68|0;T=e+(t*232|0)+72|0;S=Y+(r*5640|0)+424+(t*148|0)+100|0;P=Y+(r*5640|0)+424+(t*148|0)+140|0;O=Y+(r*5640|0)+424+(t*148|0)+108|0;R=Y+(r*5640|0)+424+(t*148|0)+144|0;L=e+(t*232|0)+96|0;C=Y+(r*5640|0)+424+(t*148|0)+116|0;n=e+(t*232|0)+100|0;D=e+(t*232|0)+104|0;s=Y+(r*5640|0)+424+(t*148|0)+120|0;a=e+(t*232|0)+108|0;l=f;while(1){e:do{switch(c[X+l>>0]|0){case 67:{t=h[o>>2]|0;h[b>>2]=t;t=t+1|0;h[k>>2]=t;h[u>>2]=t;break}case 82:{t=h[w>>2]|0;h[z>>2]=t;t=t+1|0;h[m>>2]=t;h[_>>2]=t;break}case 76:{t=h[p>>2]|0;h[g>>2]=t;t=t+1|0;h[y>>2]=t;h[v>>2]=t;break}case 80:if((h[q>>2]|0)>>>0<2){t=h[E>>2]|0;h[M>>2]=t;t=t+1|0;h[T>>2]=t;h[A>>2]=t;break e}else{t=h[S>>2]|0;f=h[O>>2]|0;h[L>>2]=t;r=h[C>>2]|0;r=r+t-((t>>>0)%(r>>>0)|0)|0;h[n>>2]=r;h[D>>2]=f;t=h[s>>2]|0;t=t+f-((f>>>0)%(t>>>0)|0)|0;h[a>>2]=t;h[P>>2]=r;h[R>>2]=t;break e}default:{}}}while(0);if((l|0)>0)l=l+-1|0;else break}return}if(!l)return;N=Y+(r*5640|0)+424+(t*148|0)+128|0;F=Y+(r*5640|0)+424+(t*148|0)+88|0;U=Y+(r*5640|0)+424+(t*148|0)+72|0;j=e+(t*232|0)+56|0;H=Y+(r*5640|0)+424+(t*148|0)+132|0;k=Y+(r*5640|0)+424+(t*148|0)+92|0;w=Y+(r*5640|0)+424+(t*148|0)+76|0;_=e+(t*232|0)+48|0;m=e+(t*232|0)+60|0;p=Y+(r*5640|0)+424+(t*148|0)+124|0;v=Y+(r*5640|0)+424+(t*148|0)+84|0;g=Y+(r*5640|0)+424+(t*148|0)+68|0;y=e+(t*232|0)+64|0;E=e+(t*232|0)+52|0;A=Y+(r*5640|0)+424+(t*148|0)+136|0;M=Y+(r*5640|0)+424+(t*148|0)+96|0;T=Y+(r*5640|0)+424+(t*148|0)+80|0;S=e+(t*232|0)+68|0;P=e+(t*232|0)+72|0;O=Y+(r*5640|0)+424+(t*148|0)+140|0;R=Y+(r*5640|0)+424+(t*148|0)+104|0;L=e+(t*232|0)+96|0;C=Y+(r*5640|0)+424+(t*148|0)+116|0;n=e+(t*232|0)+100|0;D=Y+(r*5640|0)+424+(t*148|0)+144|0;x=Y+(r*5640|0)+424+(t*148|0)+112|0;I=e+(t*232|0)+104|0;B=Y+(r*5640|0)+424+(t*148|0)+120|0;u=e+(t*232|0)+108|0;b=Y+(r*5640|0)+424+(t*148|0)+100|0;o=Y+(r*5640|0)+424+(t*148|0)+108|0;s=f;l=1;while(1){a=X+s|0;e:do{switch(c[a>>0]|0){case 67:{f=h[H>>2]|0;h[_>>2]=f+-1;h[m>>2]=f;break}case 82:{f=h[N>>2]|0;h[z>>2]=f+-1;h[j>>2]=f;break}case 76:{f=h[p>>2]|0;h[y>>2]=f+-1;h[E>>2]=f;break}case 80:if((h[q>>2]|0)>>>0<2){f=h[A>>2]|0;h[S>>2]=f+-1;h[P>>2]=f;break e}else{f=h[O>>2]|0;Y=h[C>>2]|0;h[L>>2]=f-Y-((f>>>0)%(Y>>>0)|0);h[n>>2]=f;f=h[D>>2]|0;Y=h[B>>2]|0;h[I>>2]=f-Y-((f>>>0)%(Y>>>0)|0);h[u>>2]=f;break e}default:{}}}while(0);e:do{if((l|0)==1)switch(c[a>>0]|0){case 82:{l=h[N>>2]|0;if((l|0)!=(h[F>>2]|0)){h[z>>2]=l;l=l+1|0;h[j>>2]=l;h[N>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[U>>2]|0;h[z>>2]=l;l=l+1|0;h[j>>2]=l;h[N>>2]=l;l=1;break e}case 67:{l=h[H>>2]|0;if((l|0)!=(h[k>>2]|0)){h[_>>2]=l;l=l+1|0;h[m>>2]=l;h[H>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[w>>2]|0;h[_>>2]=l;l=l+1|0;h[m>>2]=l;h[H>>2]=l;l=1;break e}case 76:{l=h[p>>2]|0;if((l|0)!=(h[v>>2]|0)){h[y>>2]=l;l=l+1|0;h[E>>2]=l;h[p>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[g>>2]|0;h[y>>2]=l;l=l+1|0;h[E>>2]=l;h[p>>2]=l;l=1;break e}case 80:{if((h[q>>2]|0)>>>0<2){l=h[A>>2]|0;if((l|0)!=(h[M>>2]|0)){h[S>>2]=l;l=l+1|0;h[P>>2]=l;h[A>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[T>>2]|0;h[S>>2]=l;l=l+1|0;h[P>>2]=l;h[A>>2]=l;l=1;break e}l=h[O>>2]|0;if(l>>>0<(h[R>>2]|0)>>>0){h[L>>2]=l;f=h[C>>2]|0;l=f+l-((l>>>0)%(f>>>0)|0)|0;h[n>>2]=l;h[O>>2]=l;l=0;break e}a=h[D>>2]|0;if(a>>>0<(h[x>>2]|0)>>>0){h[I>>2]=a;f=h[B>>2]|0;l=0;a=f+a-((a>>>0)%(f>>>0)|0)|0}else{if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}f=h[o>>2]|0;h[D>>2]=f;h[I>>2]=f;a=h[B>>2]|0;l=1;a=a+f-((f>>>0)%(a>>>0)|0)|0}h[u>>2]=a;h[D>>2]=a;Y=h[b>>2]|0;h[L>>2]=Y;f=h[C>>2]|0;f=f+Y-((Y>>>0)%(f>>>0)|0)|0;h[n>>2]=f;h[O>>2]=f;break e}default:{l=1;break e}}}while(0);if((s|0)>0)s=s+-1|0;else break}return}}while(0);h[z>>2]=h[Y+(r*5640|0)+424+(t*148|0)+72>>2];h[e+(t*232|0)+56>>2]=h[Y+(r*5640|0)+424+(t*148|0)+88>>2];h[e+(t*232|0)+48>>2]=h[Y+(r*5640|0)+424+(t*148|0)+76>>2];h[e+(t*232|0)+60>>2]=h[Y+(r*5640|0)+424+(t*148|0)+92>>2];h[e+(t*232|0)+64>>2]=h[Y+(r*5640|0)+424+(t*148|0)+68>>2];h[e+(t*232|0)+52>>2]=h[Y+(r*5640|0)+424+(t*148|0)+84>>2];h[e+(t*232|0)+68>>2]=h[Y+(r*5640|0)+424+(t*148|0)+80>>2];h[e+(t*232|0)+72>>2]=h[Y+(r*5640|0)+424+(t*148|0)+96>>2];h[e+(t*232|0)+96>>2]=h[Y+(r*5640|0)+424+(t*148|0)+100>>2];h[e+(t*232|0)+104>>2]=h[Y+(r*5640|0)+424+(t*148|0)+108>>2];h[e+(t*232|0)+100>>2]=h[Y+(r*5640|0)+424+(t*148|0)+104>>2];h[e+(t*232|0)+108>>2]=h[Y+(r*5640|0)+424+(t*148|0)+112>>2];return}function xr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0;D=h[i+76>>2]|0;I=h[i+24>>2]|0;F=(r>>>0)%(I>>>0)|0;I=(r>>>0)/(I>>>0)|0;B=h[i+4>>2]|0;C=h[i+12>>2]|0;L=(ue(C,F)|0)+B|0;N=h[e>>2]|0;N=(L|0)>(N|0)?L:N;B=(ue(C,F+1|0)|0)+B|0;F=h[e+8>>2]|0;F=(B|0)<(F|0)?B:F;B=h[i+8>>2]|0;C=h[i+16>>2]|0;L=(ue(C,I)|0)+B|0;x=h[e+4>>2]|0;x=(L|0)>(x|0)?L:x;B=(ue(C,I+1|0)|0)+B|0;I=h[e+12>>2]|0;I=(B|0)<(I|0)?B:I;B=h[e+16>>2]|0;if(!B){o=0;s=2147483647;l=2147483647;a=0}else{P=I+-1|0;O=F+-1|0;R=x+-1|0;L=N+-1|0;o=0;s=2147483647;l=2147483647;a=0;C=0;T=h[e+24>>2]|0;S=h[D+(r*5640|0)+5584>>2]|0;while(1){E=h[T>>2]|0;A=h[T+4>>2]|0;M=h[S+4>>2]|0;a=M>>>0>a>>>0?M:a;if(M){g=(P+A|0)/(A|0)|0;p=(O+E|0)/(E|0)|0;_=(R+A|0)/(A|0)|0;k=(L+E|0)/(E|0)|0;k=zs(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;w=j;_=zs(_|0,((_|0)<0)<<31>>31|0,-1,-1)|0;m=j;p=zs(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;v=j;g=zs(g|0,((g|0)<0)<<31>>31|0,-1,-1)|0;y=j;i=0;b=0;while(1){u=h[S+812+(b<<2)>>2]|0;d=h[S+944+(b<<2)>>2]|0;n=i+-1+M|0;f=E<<n+u;U=A<<d+n;s=s>>>0<f>>>0?s:f;l=l>>>0<U>>>0?l:U;U=Xs(1,0,n|0)|0;f=j;i=zs(k|0,w|0,U|0,f|0)|0;i=Ys(i|0,j|0,n|0)|0;t=zs(_|0,m|0,U|0,f|0)|0;t=Ys(t|0,j|0,n|0)|0;e=zs(p|0,v|0,U|0,f|0)|0;e=Ys(e|0,j|0,n|0)|0;f=zs(g|0,y|0,U|0,f|0)|0;n=Ys(f|0,j|0,n|0)|0;f=Xs(1,0,d|0)|0;f=zs(f|0,j|0,-1,-1)|0;f=zs(f|0,j|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Ys(f|0,j|0,d|0)|0;if((i|0)==(e|0))i=0;else{U=Xs(1,0,u|0)|0;U=zs(U|0,j|0,-1,-1)|0;U=zs(U|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;U=Ys(U|0,j|0,u|0)|0;i=(U<<u)-(i>>u<<u)>>u}e=ue(i,(t|0)==(n|0)?0:(f<<d)-(t>>d<<d)>>d)|0;o=e>>>0>o>>>0?e:o;e=b+1|0;if(e>>>0<M>>>0){i=~b;b=e}else break}}C=C+1|0;if(C>>>0>=B>>>0)break;else{T=T+52|0;S=S+1080|0}}}if(c[D+(r*5640|0)+5636>>0]&4){Fr(D,r,N,F,x,I,o,s,l);return}t=(h[D+(r*5640|0)+420>>2]|0)+1|0;if(!t)return;n=h[D+(r*5640|0)+8>>2]|0;f=h[D+(r*5640|0)+4>>2]|0;i=D+(r*5640|0)+424|0;e=0;while(1){h[i+76>>2]=0;h[i+92>>2]=B;h[i+72>>2]=0;h[i+88>>2]=a;h[i+68>>2]=0;h[i+84>>2]=n;h[i+36>>2]=f;h[i+80>>2]=0;h[i+96>>2]=o;h[i+100>>2]=N;h[i+104>>2]=F;h[i+108>>2]=x;h[i+112>>2]=I;h[i+116>>2]=s;h[i+120>>2]=l;e=e+1|0;if((e|0)==(t|0))break;else i=i+148|0}return}function Ir(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0,Re=0,Le=0,Ce=0,De=0,xe=0,Ie=0,Be=0,Ne=0,Fe=0,Ue=0,je=0,He=0,Ye=0,qe=0,Xe=0,ze=0,Ve=0,Ge=0,Ke=0,We=0,Je=0,Ze=0,Qe=0,$e=0,ei=0,ii=0,ri=0,ti=0,ni=0,fi=0,ai=0,li=0,si=0,oi=0,ui=0,ci=0,di=0,hi=0;switch(h[e+80>>2]|0){case 0:{i=e+40|0;if(!(h[i>>2]|0)){R=e+32|0;s=R;R=h[R>>2]|0;r=18}else{h[i>>2]=0;p=h[e+64>>2]|0;h[e+36>>2]=p;r=5}while(1){if((r|0)==5){if(p>>>0>=(h[e+52>>2]|0)>>>0){hi=0;r=153;break}M=h[e+44>>2]|0;h[e+28>>2]=M;r=7}else if((r|0)==18){a=R+1|0;h[s>>2]=a;n=s;r=14}while(1){if((r|0)==7){r=0;if(M>>>0>=(h[e+56>>2]|0)>>>0){r=21;break}T=h[e+48>>2]|0;k=e+24|0;h[k>>2]=T}else if((r|0)==14){if(a>>>0<(h[e+72>>2]|0)>>>0){r=16;break}L=e+24|0;u=L;L=h[L>>2]|0;r=19}while(1){if((r|0)==19){r=0;T=L+1|0;h[u>>2]=T;k=u}if(T>>>0>=(h[e+60>>2]|0)>>>0){r=20;break}S=h[e+196>>2]|0;P=h[e+28>>2]|0;if(P>>>0<(h[S+(T<<4)+8>>2]|0)>>>0)break;else{u=k;L=T;r=19}}if((r|0)==20){r=e+28|0;M=(h[r>>2]|0)+1|0;h[r>>2]=M;r=7;continue}i=h[S+(T<<4)+12>>2]|0;if(!(c[e>>0]|0)){di=ue(h[i+(P<<4)+12>>2]|0,h[i+(P<<4)+8>>2]|0)|0;h[e+72>>2]=di}a=h[e+68>>2]|0;n=e+32|0;h[n>>2]=a;r=14}if((r|0)==16){r=0;O=ue(h[e+8>>2]|0,h[e+36>>2]|0)|0;O=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+O|0;O=O+(ue(h[e+16>>2]|0,h[e+24>>2]|0)|0)|0;O=O+(ue(h[e+20>>2]|0,a)|0)|0;O=(h[e+4>>2]|0)+(O<<1)|0;if(!(d[O>>1]|0))break;else{s=n;R=a;r=18;continue}}else if((r|0)==21){r=e+36|0;p=(h[r>>2]|0)+1|0;h[r>>2]=p;r=5;continue}}if((r|0)==153)return hi|0;d[O>>1]=1;e=1;return e|0}case 1:{i=e+40|0;if(!(h[i>>2]|0)){E=e+32|0;l=E;E=h[E>>2]|0;r=38}else{h[i>>2]=0;C=h[e+44>>2]|0;h[e+28>>2]=C;r=25}while(1){if((r|0)==25){if(C>>>0>=(h[e+56>>2]|0)>>>0){hi=0;r=153;break}_=h[e+64>>2]|0;h[e+36>>2]=_;r=27}else if((r|0)==38){f=E+1|0;h[l>>2]=f;t=l;r=34}while(1){if((r|0)==27){r=0;if(_>>>0>=(h[e+52>>2]|0)>>>0){r=41;break}m=h[e+48>>2]|0;b=e+24|0;h[b>>2]=m}else if((r|0)==34){if(f>>>0<(h[e+72>>2]|0)>>>0){r=36;break}A=e+24|0;o=A;A=h[A>>2]|0;r=39}while(1){if((r|0)==39){r=0;m=A+1|0;h[o>>2]=m;b=o}if(m>>>0>=(h[e+60>>2]|0)>>>0){r=40;break}v=h[e+196>>2]|0;g=h[e+28>>2]|0;if(g>>>0<(h[v+(m<<4)+8>>2]|0)>>>0)break;else{o=b;A=m;r=39}}if((r|0)==40){r=e+36|0;_=(h[r>>2]|0)+1|0;h[r>>2]=_;r=27;continue}i=h[v+(m<<4)+12>>2]|0;if(!(c[e>>0]|0)){di=ue(h[i+(g<<4)+12>>2]|0,h[i+(g<<4)+8>>2]|0)|0;h[e+72>>2]=di}f=h[e+68>>2]|0;t=e+32|0;h[t>>2]=f;r=34}if((r|0)==36){r=0;y=ue(h[e+8>>2]|0,h[e+36>>2]|0)|0;y=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+y|0;y=y+(ue(h[e+16>>2]|0,h[e+24>>2]|0)|0)|0;y=y+(ue(h[e+20>>2]|0,f)|0)|0;y=(h[e+4>>2]|0)+(y<<1)|0;if(!(d[y>>1]|0))break;else{l=t;E=f;r=38;continue}}else if((r|0)==41){r=e+28|0;C=(h[r>>2]|0)+1|0;h[r>>2]=C;r=25;continue}}if((r|0)==153)return hi|0;d[y>>1]=1;e=1;return e|0}case 2:{i=e+40|0;if(!(h[i>>2]|0)){ci=e+36|0;ze=ci;ci=h[ci>>2]|0;r=75}else{h[i>>2]=0;b=e+224|0;h[b>>2]=0;k=e+228|0;h[k>>2]=0;w=h[e+192>>2]|0;if(w){_=h[e+196>>2]|0;i=0;r=0;m=0;do{a=h[_+(m<<4)+8>>2]|0;if(a){l=h[_+(m<<4)+12>>2]|0;s=h[_+(m<<4)>>2]|0;o=h[_+(m<<4)+4>>2]|0;u=a+-1|0;t=0;f=0;while(1){n=u+t|0;Xe=s<<n+(h[l+(f<<4)>>2]|0);n=o<<(h[l+(f<<4)+4>>2]|0)+n;i=(i|0)==0?Xe:i>>>0<Xe>>>0?i:Xe;r=(r|0)==0?n:r>>>0<n>>>0?r:n;n=f+1|0;if((n|0)==(a|0))break;else{t=~f;f=n}}h[b>>2]=i;h[k>>2]=r}m=m+1|0}while((m|0)!=(w|0))}if(!(c[e>>0]|0)){h[e+104>>2]=h[e+204>>2];h[e+96>>2]=h[e+200>>2];h[e+108>>2]=h[e+212>>2];h[e+100>>2]=h[e+208>>2]}I=h[e+44>>2]|0;h[e+28>>2]=I;r=54}while(1){if((r|0)==54){if(I>>>0>=(h[e+56>>2]|0)>>>0){hi=0;r=153;break}We=h[e+104>>2]|0;h[e+220>>2]=We;r=56}else if((r|0)==75){oi=ci+1|0;h[ze>>2]=oi;Ve=ze;r=71}while(1){if((r|0)==56){if((We|0)>=(h[e+108>>2]|0)){r=79;break}Je=h[e+96>>2]|0;h[e+216>>2]=Je;r=58}else if((r|0)==71){if(oi>>>0<(h[e+52>>2]|0)>>>0){r=73;break}di=e+24|0;Ge=di;di=h[di>>2]|0;r=76}while(1){if((r|0)==58){if((Je|0)>=(h[e+100>>2]|0)){r=78;break}Ze=h[e+48>>2]|0;Ke=e+24|0;h[Ke>>2]=Ze}else if((r|0)==76){Ze=di+1|0;h[Ge>>2]=Ze;Ke=Ge}if(Ze>>>0>=(h[e+60>>2]|0)>>>0){Je=h[e+224>>2]|0;r=e+216|0;Xe=h[r>>2]|0;Je=Xe+Je-((Xe|0)%(Je|0)|0)|0;h[r>>2]=Je;r=58;continue}r=h[e+196>>2]|0;o=h[e+28>>2]|0;i=h[r+(Ze<<4)+8>>2]|0;if(o>>>0>=i>>>0){Ge=Ke;di=Ze;r=76;continue}u=h[r+(Ze<<4)+12>>2]|0;f=i+~o|0;a=h[e+200>>2]|0;l=h[r+(Ze<<4)>>2]|0;Qe=l<<f;$e=(a+-1+Qe|0)/(Qe|0)|0;s=h[e+204>>2]|0;Xe=h[r+(Ze<<4)+4>>2]|0;ei=Xe<<f;ii=(s+-1+ei|0)/(ei|0)|0;ri=Qe+-1|0;i=(ri+(h[e+208>>2]|0)|0)/(Qe|0)|0;ti=ei+-1|0;r=(ti+(h[e+212>>2]|0)|0)/(ei|0)|0;ni=h[u+(o<<4)>>2]|0;t=ni+f|0;fi=h[u+(o<<4)+4>>2]|0;n=fi+f|0;ai=h[e+220>>2]|0;if((ai|0)%(Xe<<n|0)|0){if((ai|0)!=(s|0)){Ge=Ke;di=Ze;r=76;continue}if(!((ii<<f|0)%(1<<n|0)|0)){Ge=Ke;di=Ze;r=76;continue}}li=h[e+216>>2]|0;if((li|0)%(l<<t|0)|0){if((li|0)!=(a|0)){Ge=Ke;di=Ze;r=76;continue}if(!(($e<<f|0)%(1<<t|0)|0)){Ge=Ke;di=Ze;r=76;continue}}si=h[u+(o<<4)+8>>2]|0;if(!si){Ge=Ke;di=Ze;r=76;continue}if((ii|0)==(r|0)|(($e|0)==(i|0)?1:(h[u+(o<<4)+12>>2]|0)==0)){Ge=Ke;di=Ze;r=76}else{r=70;break}}if((r|0)==70){oi=(((ri+li|0)/(Qe|0)|0)>>ni)-($e>>ni)+(ue((((ti+ai|0)/(ei|0)|0)>>fi)-(ii>>fi)|0,si)|0)|0;h[e+32>>2]=oi;oi=h[e+64>>2]|0;Ve=e+36|0;h[Ve>>2]=oi;r=71;continue}else if((r|0)==78){We=h[e+228>>2]|0;r=e+220|0;Xe=h[r>>2]|0;We=Xe+We-((Xe|0)%(We|0)|0)|0;h[r>>2]=We;r=56;continue}}if((r|0)==73){r=0;ui=ue(h[e+8>>2]|0,oi)|0;ui=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+ui|0;ui=ui+(ue(h[e+16>>2]|0,h[e+24>>2]|0)|0)|0;ui=ui+(ue(h[e+20>>2]|0,h[e+32>>2]|0)|0)|0;ui=(h[e+4>>2]|0)+(ui<<1)|0;if(!(d[ui>>1]|0))break;else{ze=Ve;ci=oi;r=75;continue}}else if((r|0)==79){r=e+28|0;I=(h[r>>2]|0)+1|0;h[r>>2]=I;r=54;continue}}if((r|0)==153)return hi|0;d[ui>>1]=1;e=1;return e|0}case 3:{r=e+40|0;if(!(h[r>>2]|0)){qe=h[e+24>>2]|0;Be=e+36|0;ke=Be;Be=h[Be>>2]|0;Ue=qe;qe=(h[e+196>>2]|0)+(qe<<4)|0;r=113}else{h[r>>2]=0;b=e+224|0;h[b>>2]=0;k=e+228|0;h[k>>2]=0;w=h[e+192>>2]|0;if(w){_=h[e+196>>2]|0;i=0;r=0;m=0;do{a=h[_+(m<<4)+8>>2]|0;if(a){l=h[_+(m<<4)+12>>2]|0;s=h[_+(m<<4)>>2]|0;o=h[_+(m<<4)+4>>2]|0;u=a+-1|0;t=0;f=0;while(1){n=u+t|0;di=s<<n+(h[l+(f<<4)>>2]|0);n=o<<(h[l+(f<<4)+4>>2]|0)+n;i=(i|0)==0?di:i>>>0<di>>>0?i:di;r=(r|0)==0?n:r>>>0<n>>>0?r:n;n=f+1|0;if((n|0)==(a|0))break;else{t=~f;f=n}}h[b>>2]=i;h[k>>2]=r}m=m+1|0}while((m|0)!=(w|0))}if(!(c[e>>0]|0)){i=h[e+204>>2]|0;h[e+104>>2]=i;h[e+96>>2]=h[e+200>>2];h[e+108>>2]=h[e+212>>2];h[e+100>>2]=h[e+208>>2]}else i=h[e+104>>2]|0;h[e+220>>2]=i;r=93}while(1){if((r|0)==93){if((i|0)>=(h[e+108>>2]|0)){hi=0;r=153;break}pe=h[e+96>>2]|0;h[e+216>>2]=pe;r=95}else if((r|0)==113){De=Be+1|0;h[ke>>2]=De;we=ke;xe=Ue;Ye=qe;r=109}while(1){if((r|0)==95){if((pe|0)>=(h[e+100>>2]|0)){r=117;break}ve=h[e+48>>2]|0;h[e+24>>2]=ve;r=97}else if((r|0)==109){if(De>>>0<(h[e+52>>2]|0)>>>0){r=111;break}Ne=e+28|0;_e=Ne;Ne=h[Ne>>2]|0;je=xe;Xe=Ye;r=114}while(1){if((r|0)==97){if(ve>>>0>=(h[e+60>>2]|0)>>>0){r=116;break}He=(h[e+196>>2]|0)+(ve<<4)|0;ge=h[e+44>>2]|0;me=e+28|0;h[me>>2]=ge;Fe=ve}else if((r|0)==114){ge=Ne+1|0;h[_e>>2]=ge;me=_e;Fe=je;He=Xe}di=h[e+56>>2]|0;r=h[He+8>>2]|0;if(ge>>>0>=(di>>>0<r>>>0?di:r)>>>0){ve=Fe+1|0;h[e+24>>2]=ve;r=97;continue}u=h[He+12>>2]|0;r=r+~ge|0;t=h[e+200>>2]|0;n=h[He>>2]|0;ye=n<<r;Ee=(t+-1+ye|0)/(ye|0)|0;f=h[e+204>>2]|0;di=h[He+4>>2]|0;Ae=di<<r;Me=(f+-1+Ae|0)/(Ae|0)|0;Te=ye+-1|0;a=(Te+(h[e+208>>2]|0)|0)/(ye|0)|0;Se=Ae+-1|0;l=(Se+(h[e+212>>2]|0)|0)/(Ae|0)|0;Pe=h[u+(ge<<4)>>2]|0;s=Pe+r|0;Oe=h[u+(ge<<4)+4>>2]|0;o=Oe+r|0;Re=h[e+220>>2]|0;if((Re|0)%(di<<o|0)|0){if((Re|0)!=(f|0)){_e=me;Ne=ge;je=Fe;Xe=He;r=114;continue}if(!((Me<<r|0)%(1<<o|0)|0)){_e=me;Ne=ge;je=Fe;Xe=He;r=114;continue}}Le=h[e+216>>2]|0;if((Le|0)%(n<<s|0)|0){if((Le|0)!=(t|0)){_e=me;Ne=ge;je=Fe;Xe=He;r=114;continue}if(!((Ee<<r|0)%(1<<s|0)|0)){_e=me;Ne=ge;je=Fe;Xe=He;r=114;continue}}Ce=h[u+(ge<<4)+8>>2]|0;if(!Ce){_e=me;Ne=ge;je=Fe;Xe=He;r=114;continue}if((Me|0)==(l|0)|((Ee|0)==(a|0)?1:(h[u+(ge<<4)+12>>2]|0)==0)){_e=me;Ne=ge;je=Fe;Xe=He;r=114}else{r=108;break}}if((r|0)==108){De=(((Te+Le|0)/(ye|0)|0)>>Pe)-(Ee>>Pe)+(ue((((Se+Re|0)/(Ae|0)|0)>>Oe)-(Me>>Oe)|0,Ce)|0)|0;h[e+32>>2]=De;De=h[e+64>>2]|0;we=e+36|0;h[we>>2]=De;xe=Fe;Ye=He;r=109;continue}else if((r|0)==116){pe=h[e+224>>2]|0;r=e+216|0;di=h[r>>2]|0;pe=di+pe-((di|0)%(pe|0)|0)|0;h[r>>2]=pe;r=95;continue}}if((r|0)==111){r=0;Ie=ue(h[e+8>>2]|0,De)|0;Ie=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+Ie|0;Ie=Ie+(ue(h[e+16>>2]|0,xe)|0)|0;Ie=Ie+(ue(h[e+20>>2]|0,h[e+32>>2]|0)|0)|0;Ie=(h[e+4>>2]|0)+(Ie<<1)|0;if(!(d[Ie>>1]|0))break;else{ke=we;Be=De;Ue=xe;qe=Ye;r=113;continue}}else if((r|0)==117){i=h[e+228>>2]|0;r=e+220|0;di=h[r>>2]|0;i=di+i-((di|0)%(i|0)|0)|0;h[r>>2]=i;r=93;continue}}if((r|0)==153)return hi|0;d[Ie>>1]=1;e=1;return e|0}case 4:{i=e+40|0;if(!(h[i>>2]|0)){he=h[e+24>>2]|0;te=e+36|0;B=te;te=h[te>>2]|0;fe=he;he=(h[e+196>>2]|0)+(he<<4)|0;r=148}else{h[i>>2]=0;j=h[e+48>>2]|0;h[e+24>>2]=j;r=121}while(1){if((r|0)==121){if(j>>>0>=(h[e+60>>2]|0)>>>0){hi=0;r=153;break}i=h[e+196>>2]|0;w=i+(j<<4)|0;b=e+224|0;h[b>>2]=0;k=e+228|0;h[k>>2]=0;s=h[i+(j<<4)+8>>2]|0;if(s){o=h[i+(j<<4)+12>>2]|0;u=h[w>>2]|0;n=h[i+(j<<4)+4>>2]|0;f=s+-1|0;r=0;i=0;t=0;l=0;while(1){a=f+t|0;di=u<<a+(h[o+(l<<4)>>2]|0);a=n<<(h[o+(l<<4)+4>>2]|0)+a;r=(r|0)==0?di:r>>>0<di>>>0?r:di;i=(i|0)==0?a:i>>>0<a>>>0?i:a;a=l+1|0;if((a|0)==(s|0))break;else{t=~l;l=a}}h[b>>2]=r;h[k>>2]=i}if(!(c[e>>0]|0)){i=h[e+204>>2]|0;h[e+104>>2]=i;h[e+96>>2]=h[e+200>>2];h[e+108>>2]=h[e+212>>2];h[e+100>>2]=h[e+208>>2]}else i=h[e+104>>2]|0;h[e+220>>2]=i;D=i;x=j;r=130}else if((r|0)==148){ee=te+1|0;h[B>>2]=ee;N=B;ie=fe;de=he;r=144}while(1){if((r|0)==130){if((D|0)>=(h[e+108>>2]|0)){r=152;break}H=h[e+96>>2]|0;h[e+216>>2]=H;ae=x;oe=w;r=132}else if((r|0)==144){if(ee>>>0<(h[e+52>>2]|0)>>>0){r=146;break}ne=e+28|0;F=ne;ne=h[ne>>2]|0;se=ie;be=de;r=149}while(1){if((r|0)==132){if((H|0)>=(h[e+100>>2]|0)){r=151;break}Y=h[e+44>>2]|0;U=e+28|0;h[U>>2]=Y;le=ae;ce=oe}else if((r|0)==149){Y=ne+1|0;h[F>>2]=Y;U=F;le=se;ce=be}di=h[e+56>>2]|0;i=h[ce+8>>2]|0;if(Y>>>0>=(di>>>0<i>>>0?di:i)>>>0){H=h[e+224>>2]|0;ae=e+216|0;oe=h[ae>>2]|0;H=oe+H-((oe|0)%(H|0)|0)|0;h[ae>>2]=H;ae=le;oe=ce;r=132;continue}o=h[ce+12>>2]|0;i=i+~Y|0;r=h[e+200>>2]|0;t=h[ce>>2]|0;q=t<<i;X=(r+-1+q|0)/(q|0)|0;n=h[e+204>>2]|0;di=h[ce+4>>2]|0;z=di<<i;V=(n+-1+z|0)/(z|0)|0;G=q+-1|0;f=(G+(h[e+208>>2]|0)|0)/(q|0)|0;K=z+-1|0;a=(K+(h[e+212>>2]|0)|0)/(z|0)|0;W=h[o+(Y<<4)>>2]|0;l=W+i|0;J=h[o+(Y<<4)+4>>2]|0;s=J+i|0;Z=h[e+220>>2]|0;if((Z|0)%(di<<s|0)|0){if((Z|0)!=(n|0)){F=U;ne=Y;se=le;be=ce;r=149;continue}if(!((V<<i|0)%(1<<s|0)|0)){F=U;ne=Y;se=le;be=ce;r=149;continue}}Q=h[e+216>>2]|0;if((Q|0)%(t<<l|0)|0){if((Q|0)!=(r|0)){F=U;ne=Y;se=le;be=ce;r=149;continue}if(!((X<<i|0)%(1<<l|0)|0)){F=U;ne=Y;se=le;be=ce;r=149;continue}}$=h[o+(Y<<4)+8>>2]|0;if(!$){F=U;ne=Y;se=le;be=ce;r=149;continue}if((V|0)==(a|0)|((X|0)==(f|0)?1:(h[o+(Y<<4)+12>>2]|0)==0)){F=U;ne=Y;se=le;be=ce;r=149}else{r=143;break}}if((r|0)==143){ee=(((G+Q|0)/(q|0)|0)>>W)-(X>>W)+(ue((((K+Z|0)/(z|0)|0)>>J)-(V>>J)|0,$)|0)|0;h[e+32>>2]=ee;ee=h[e+64>>2]|0;N=e+36|0;h[N>>2]=ee;ie=le;de=ce;r=144;continue}else if((r|0)==151){D=h[e+228>>2]|0;x=e+220|0;w=h[x>>2]|0;D=w+D-((w|0)%(D|0)|0)|0;h[x>>2]=D;x=ae;w=oe;r=130;continue}}if((r|0)==146){r=0;re=ue(h[e+8>>2]|0,ee)|0;re=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+re|0;re=re+(ue(h[e+16>>2]|0,ie)|0)|0;re=re+(ue(h[e+20>>2]|0,h[e+32>>2]|0)|0)|0;re=(h[e+4>>2]|0)+(re<<1)|0;if(!(d[re>>1]|0))break;else{B=N;te=ee;fe=ie;he=de;r=148;continue}}else if((r|0)==152){j=x+1|0;h[e+24>>2]=j;r=121;continue}}if((r|0)==153)return hi|0;d[re>>1]=1;e=1;return e|0}default:{e=0;return e|0}}return 0}function Br(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=(h[i+(r*5640|0)+420>>2]|0)+1|0;t=Kn(u,232)|0;if(!t){u=0;return u|0}if(!u){u=t;return u|0}s=e+16|0;f=i+(r*5640|0)+5584|0;e=h[s>>2]|0;a=t;l=0;e:while(1){i=Kn(e,16)|0;n=a+196|0;h[n>>2]=i;if(!i){e=5;break}o=h[s>>2]|0;h[a+192>>2]=o;i:do{if(!o)e=0;else{e=(h[f>>2]|0)+4|0;o=Kn(h[e>>2]|0,16)|0;h[i+12>>2]=o;if(!o){e=18;break e}else r=0;while(1){h[i+(r<<4)+8>>2]=h[e>>2];r=r+1|0;e=h[s>>2]|0;if(r>>>0>=e>>>0)break i;i=h[n>>2]|0;e=(h[f>>2]|0)+(r*1080|0)+4|0;o=Kn(h[e>>2]|0,16)|0;h[i+(r<<4)+12>>2]=o;if(!o){e=18;break e}}}}while(0);l=l+1|0;if(l>>>0>=u>>>0){e=32;break}else a=a+232|0}if((e|0)==5){e=t+4|0;i=h[e>>2]|0;if(!i){s=t;o=0}else{Qn(i);h[e>>2]=0;s=t;o=0}while(1){l=s+196|0;e=h[l>>2]|0;if(e){a=s+192|0;i=h[a>>2]|0;if(i){f=0;while(1){r=e+12|0;n=h[r>>2]|0;if(n){Qn(n);h[r>>2]=0;i=h[a>>2]|0}f=f+1|0;if(f>>>0>=i>>>0)break;else e=e+16|0}e=h[l>>2]|0}Qn(e);h[l>>2]=0}o=o+1|0;if((o|0)==(u|0))break;else s=s+232|0}Qn(t);u=0;return u|0}else if((e|0)==18){e=t+4|0;i=h[e>>2]|0;if(!i){s=t;o=0}else{Qn(i);h[e>>2]=0;s=t;o=0}while(1){l=s+196|0;e=h[l>>2]|0;if(e){a=s+192|0;i=h[a>>2]|0;if(i){f=0;while(1){r=e+12|0;n=h[r>>2]|0;if(n){Qn(n);h[r>>2]=0;i=h[a>>2]|0}f=f+1|0;if(f>>>0>=i>>>0)break;else e=e+16|0}e=h[l>>2]|0}Qn(e);h[l>>2]=0}o=o+1|0;if((o|0)==(u|0))break;else s=s+232|0}Qn(t);u=0;return u|0}else if((e|0)==32)return t|0;return 0}function Nr(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;var d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;b=h[(h[i+76>>2]|0)+(r*5640|0)+5584>>2]|0;d=h[e+24>>2]|0;D=h[i+24>>2]|0;C=i+12|0;L=(ue(h[C>>2]|0,(r>>>0)%(D>>>0)|0)|0)+(h[i+4>>2]|0)|0;R=h[e>>2]|0;h[t>>2]=L>>>0>R>>>0?L:R;L=zs(h[C>>2]|0,0,L|0,0)|0;L=L|0-j;C=h[e+8>>2]|0;h[n>>2]=L>>>0<C>>>0?L:C;C=i+16|0;D=(ue(h[C>>2]|0,(r>>>0)/(D>>>0)|0)|0)+(h[i+8>>2]|0)|0;L=h[e+4>>2]|0;h[f>>2]=D>>>0>L>>>0?D:L;D=zs(h[C>>2]|0,0,D|0,0)|0;D=D|0-j;C=h[e+12>>2]|0;h[a>>2]=D>>>0<C>>>0?D:C;h[o>>2]=0;h[u>>2]=0;h[l>>2]=2147483647;h[s>>2]=2147483647;C=e+16|0;if(!(h[C>>2]|0))return;else D=0;while(1){_=h[c+(D<<2)>>2]|0;k=h[d>>2]|0;e=((h[t>>2]|0)+-1+k|0)/(k|0)|0;R=d+4|0;w=h[R>>2]|0;r=((h[f>>2]|0)+-1+w|0)/(w|0)|0;k=(k+-1+(h[n>>2]|0)|0)/(k|0)|0;w=(w+-1+(h[a>>2]|0)|0)/(w|0)|0;L=b+4|0;i=h[L>>2]|0;if(i>>>0>(h[u>>2]|0)>>>0){h[u>>2]=i;i=h[L>>2]|0}if(i){P=zs(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;O=j;T=zs(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;S=j;A=zs(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;M=j;y=zs(w|0,((w|0)<0)<<31>>31|0,-1,-1)|0;E=j;g=0;while(1){i=i+-1|0;k=h[b+812+(g<<2)>>2]|0;v=h[b+944+(g<<2)>>2]|0;h[_>>2]=k;h[_+4>>2]=v;m=h[d>>2]<<k+i;x=h[R>>2]<<v+i;e=h[l>>2]|0;h[l>>2]=(e|0)<(m|0)?e:m;m=h[s>>2]|0;h[s>>2]=(m|0)<(x|0)?m:x;x=Xs(1,0,i|0)|0;m=j;e=zs(P|0,O|0,x|0,m|0)|0;e=Ys(e|0,j|0,i|0)|0;w=zs(T|0,S|0,x|0,m|0)|0;w=Ys(w|0,j|0,i|0)|0;r=zs(A|0,M|0,x|0,m|0)|0;r=Ys(r|0,j|0,i|0)|0;m=zs(y|0,E|0,x|0,m|0)|0;m=Ys(m|0,j|0,i|0)|0;x=Xs(1,0,v|0)|0;p=j;I=zs(m|0,((m|0)<0)<<31>>31|0,-1,-1)|0;p=zs(I|0,j|0,x|0,p|0)|0;p=Ys(p|0,j|0,v|0)|0;if((e|0)==(r|0))e=0;else{r=zs(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;x=j;I=Xs(1,0,k|0)|0;I=zs(r|0,x|0,I|0,j|0)|0;I=Ys(I|0,j|0,k|0)|0;e=(I<<k)-(e>>k<<k)>>k}I=(w|0)==(m|0)?0:(p<<v)-(w>>v<<v)>>v;h[_+8>>2]=e;h[_+12>>2]=I;e=ue(e,I)|0;if(e>>>0>(h[o>>2]|0)>>>0)h[o>>2]=e;g=g+1|0;if(g>>>0>=(h[L>>2]|0)>>>0)break;else _=_+16|0}}D=D+1|0;if(D>>>0>=(h[C>>2]|0)>>>0)break;else{d=d+52|0;b=b+1080|0}}return}function Fr(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;var o=0,u=0;o=(h[e+(i*5640|0)+420>>2]|0)+1|0;h[e+(i*5640|0)+500>>2]=h[e+(i*5640|0)+428>>2];h[e+(i*5640|0)+516>>2]=h[e+(i*5640|0)+440>>2];h[e+(i*5640|0)+496>>2]=h[e+(i*5640|0)+424>>2];h[e+(i*5640|0)+512>>2]=h[e+(i*5640|0)+436>>2];h[e+(i*5640|0)+508>>2]=h[e+(i*5640|0)+432>>2];h[e+(i*5640|0)+492>>2]=0;h[e+(i*5640|0)+460>>2]=h[e+(i*5640|0)+456>>2];h[e+(i*5640|0)+504>>2]=0;h[e+(i*5640|0)+520>>2]=a;h[e+(i*5640|0)+524>>2]=r;h[e+(i*5640|0)+528>>2]=t;h[e+(i*5640|0)+532>>2]=n;h[e+(i*5640|0)+536>>2]=f;h[e+(i*5640|0)+540>>2]=l;h[e+(i*5640|0)+544>>2]=s;if(o>>>0<=1)return;e=e+(i*5640|0)+572|0;i=1;while(1){h[e+76>>2]=h[e+4>>2];h[e+92>>2]=h[e+16>>2];h[e+72>>2]=h[e>>2];h[e+88>>2]=h[e+12>>2];u=h[e+8>>2]|0;h[e+84>>2]=u;h[e+36>>2]=h[e+32>>2];h[e+80>>2]=0;h[e+68>>2]=u>>>0>(h[e+-64>>2]|0)>>>0?u:0;h[e+96>>2]=a;h[e+100>>2]=r;h[e+104>>2]=t;h[e+108>>2]=n;h[e+112>>2]=f;h[e+116>>2]=l;h[e+120>>2]=s;i=i+1|0;if((i|0)==(o|0))break;else e=e+148|0}return}function Ur(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=h[i+76>>2]|0;if((e|0)>-1)f=e;else{r=0;return r|0}e:while(1){switch(c[n+f>>0]|0){case 82:{a=3;break e}case 67:{a=5;break e}case 76:{a=7;break e}case 80:{a=9;break e}default:{}}f=f+-1|0}if((a|0)==3)if((h[l+(r*5640|0)+424+(t*148|0)+128>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+88>>2]|0))return(Ur(e+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}else if((a|0)==5)if((h[l+(r*5640|0)+424+(t*148|0)+132>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+92>>2]|0))return(Ur(e+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}else if((a|0)==7)if((h[l+(r*5640|0)+424+(t*148|0)+124>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+84>>2]|0))return(Ur(e+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}else if((a|0)==9){if((h[l+(r*5640|0)+424+(t*148|0)+36>>2]|0)>>>0<2)if((h[l+(r*5640|0)+424+(t*148|0)+136>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+96>>2]|0))return(Ur(f+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}if((h[l+(r*5640|0)+424+(t*148|0)+140>>2]|0)!=(h[l+(r*5640|0)+424+(t*148|0)+104>>2]|0)){r=1;return r|0}if((h[l+(r*5640|0)+424+(t*148|0)+144>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+112>>2]|0))return(Ur(f+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}}return 0}function jr(e){e=e|0;var i=0,r=0;i=Kn(1,44)|0;if(!i){e=0;return e|0}r=i+40|0;c[r>>0]=c[r>>0]&-2|(e|0)!=0;e=Kn(1,4)|0;h[i+20>>2]=e;if(e){r=i;return r|0}Qn(i);r=0;return r|0}function Hr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0;j=v;v=v+1200|0;U=j;t=h[h[e+20>>2]>>2]|0;F=t+16|0;n=h[F>>2]|0;if(!n){v=j;return}I=t+20|0;B=(h[e+32>>2]|0)+8|0;N=(h[e+28>>2]|0)+88|0;D=e+24|0;x=(i|0)==0;L=(r|0)==0;C=i+-1|0;t=n;R=0;do{l=h[I>>2]|0;s=h[B>>2]|0;P=h[l+(R*52|0)+16>>2]|0;if(s){if(P){e=h[N>>2]|0;f=+((h[(h[(h[D>>2]|0)+24>>2]|0)+(R*52|0)+24>>2]|0)>>>0)*.0625;n=0;do{r=ue(P,n)|0;a=0;do{O=(r+a|0)*3|0;h[U+(n*120|0)+(a*12|0)>>2]=~~(+(h[e+(O<<2)>>2]|0)*f);h[U+(n*120|0)+(a*12|0)+4>>2]=~~(+(h[e+(O+1<<2)>>2]|0)*f);h[U+(n*120|0)+(a*12|0)+8>>2]=~~(+(h[e+(O+2<<2)>>2]|0)*f);a=a+1|0}while(a>>>0<P>>>0);n=n+1|0}while(n>>>0<s>>>0);O=9}}else O=9;if((O|0)==9){O=0;if(P){y=l+(R*52|0)+24|0;S=0;do{E=h[y>>2]|0;A=E+(S*136|0)+24|0;t=h[A>>2]|0;if(t){M=E+(S*136|0)+16|0;T=E+(S*136|0)+20|0;e=h[T>>2]|0;r=h[M>>2]|0;g=0;do{if(ue(e,r)|0){_=E+(S*136|0)+28+(g*36|0)+20|0;m=U+(i*120|0)+(S*12|0)+(g<<2)|0;p=U+(C*120|0)+(S*12|0)+(g<<2)|0;w=0;do{t=h[_>>2]|0;k=ue(h[t+(w*40|0)+20>>2]|0,h[t+(w*40|0)+16>>2]|0)|0;if(k){u=t+(w*40|0)+24|0;c=h[m>>2]|0;b=0;do{s=h[u>>2]|0;o=s+(b*52|0)|0;d=h[s+(b*52|0)+4>>2]|0;t=(h[(h[(h[D>>2]|0)+24>>2]|0)+(R*52|0)+24>>2]|0)-(h[s+(b*52|0)+28>>2]|0)|0;if(!x){e=h[p>>2]|0;r=c-e|0;if((e|0)<=(t|0)){r=r+(e-t)|0;r=(r|0)<0?0:r}}else{h[s+(b*52|0)+44>>2]=0;r=(c|0)>(t|0)?c-t|0:0}l=s+(b*52|0)+44|0;n=h[l>>2]|0;a=(n|0)==0;if(a)if(!r)r=0;else r=(r*3|0)+-2|0;else r=(r*3|0)+n|0;h[d+(i*24|0)>>2]=r-n;do{if((r|0)!=(n|0)){e=h[s+(b*52|0)+8>>2]|0;t=h[e+((r+-1|0)*24|0)>>2]|0;if(a)h[d+(i*24|0)+16>>2]=h[o>>2];else{s=h[e+((n+-1|0)*24|0)>>2]|0;h[d+(i*24|0)+16>>2]=(h[o>>2]|0)+s;t=t-s|0}h[d+(i*24|0)+4>>2]=t;if(L)break;h[l>>2]=r}}while(0);b=b+1|0}while(b>>>0<k>>>0);e=h[T>>2]|0;r=h[M>>2]|0}w=w+1|0}while(w>>>0<(ue(e,r)|0)>>>0);t=h[A>>2]|0}g=g+1|0}while(g>>>0<t>>>0)}S=S+1|0}while(S>>>0<P>>>0);t=h[F>>2]|0}}R=R+1|0}while(R>>>0<t>>>0);v=j;return}function Yr(e,i,r,t){e=e|0;i=i|0;r=+r;t=t|0;var n=0,f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;e=h[h[e+20>>2]>>2]|0;C=e+40+(i<<3)|0;m[C>>3]=0.0;D=e+16|0;n=h[D>>2]|0;if(!n)return;R=e+20|0;L=(i|0)==0;O=(t|0)==0;e=n;P=0;do{n=h[R>>2]|0;S=h[n+(P*52|0)+16>>2]|0;if(S){g=n+(P*52|0)+24|0;T=0;do{y=h[g>>2]|0;E=y+(T*136|0)+24|0;e=h[E>>2]|0;if(e){A=y+(T*136|0)+16|0;M=y+(T*136|0)+20|0;n=h[M>>2]|0;t=h[A>>2]|0;v=0;do{if(ue(n,t)|0){p=y+(T*136|0)+28+(v*36|0)+20|0;_=0;do{e=h[p>>2]|0;w=ue(h[e+(_*40|0)+20>>2]|0,h[e+(_*40|0)+16>>2]|0)|0;if(w){c=e+(_*40|0)+24|0;k=0;do{s=h[c>>2]|0;o=s+(k*52|0)|0;d=h[s+(k*52|0)+4>>2]|0;b=s+(k*52|0)+44|0;if(L){h[b>>2]=0;u=0}else u=h[b>>2]|0;t=h[s+(k*52|0)+48>>2]|0;if(u>>>0<t>>>0){a=h[s+(k*52|0)+8>>2]|0;e=u;l=u;do{n=h[a+(l*24|0)>>2]|0;f=+m[a+(l*24|0)+8>>3];if(e){I=e+-1|0;f=f-+m[a+(I*24|0)+8>>3];n=n-(h[a+(I*24|0)>>2]|0)|0}do{if(!n){if(!(f!=0.0))break;e=l+1|0}else{if(!(r-f/+(n>>>0)<2.220446049250313e-16))break;e=l+1|0}}while(0);l=l+1|0}while(l>>>0<t>>>0);a=e;h[d+(i*24|0)>>2]=a-u;if((a|0)!=(u|0)){t=a+-1|0;n=h[s+(k*52|0)+8>>2]|0;e=h[n+(t*24|0)>>2]|0;if(!u){h[d+(i*24|0)+16>>2]=h[o>>2];f=+m[n+(t*24|0)+8>>3]}else{u=u+-1|0;I=h[n+(u*24|0)>>2]|0;h[d+(i*24|0)+16>>2]=(h[o>>2]|0)+I;f=+m[n+(t*24|0)+8>>3]-+m[n+(u*24|0)+8>>3];e=e-I|0}h[d+(i*24|0)+4>>2]=e;m[d+(i*24|0)+8>>3]=f;m[C>>3]=f+ +m[C>>3];if(!O)h[b>>2]=a}else x=26}else{h[d+(i*24|0)>>2]=0;x=26}if((x|0)==26){x=0;m[d+(i*24|0)+8>>3]=0.0}k=k+1|0}while(k>>>0<w>>>0);n=h[M>>2]|0;t=h[A>>2]|0}_=_+1|0}while(_>>>0<(ue(n,t)|0)>>>0);e=h[E>>2]|0}v=v+1|0}while(v>>>0<e>>>0)}T=T+1|0}while(T>>>0<S>>>0);e=h[D>>2]|0}P=P+1|0}while(P>>>0<e>>>0);return}function qr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0.0,s=0.0,o=0.0,u=0.0,b=0.0,k=0.0,w=0,p=0,g=0,y=0,E=0.0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0.0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0;G=v;v=v+800|0;V=G;q=h[e+28>>2]|0;X=h[h[e+20>>2]>>2]|0;z=h[e+32>>2]|0;j=X+24|0;h[j>>2]=0;H=h[X+16>>2]|0;if(!H){f=0;I=0.0;l=0.0;o=1797693134862315708145274.0e284}else{F=h[X+20>>2]|0;U=h[(h[e+24>>2]|0)+24>>2]|0;f=0;Y=0;s=0.0;l=0.0;o=1797693134862315708145274.0e284;do{x=F+(Y*52|0)+48|0;h[x>>2]=0;B=h[F+(Y*52|0)+16>>2]|0;if(!B)a=0;else{N=h[F+(Y*52|0)+24>>2]|0;a=0;D=0;do{R=h[N+(D*136|0)+24>>2]|0;if(R){L=ue(h[N+(D*136|0)+20>>2]|0,h[N+(D*136|0)+16>>2]|0)|0;C=(L|0)==0;O=0;do{if(!C){P=h[N+(D*136|0)+28+(O*36|0)+20>>2]|0;S=0;do{M=ue(h[P+(S*40|0)+20>>2]|0,h[P+(S*40|0)+16>>2]|0)|0;if(M){T=h[P+(S*40|0)+24>>2]|0;A=0;do{g=h[T+(A*52|0)+48>>2]|0;if(g){y=h[T+(A*52|0)+8>>2]|0;p=0;do{w=h[y+(p*24|0)>>2]|0;u=+m[y+(p*24|0)+8>>3];if(p){K=p+-1|0;u=u-+m[y+(K*24|0)+8>>3];w=w-(h[y+(K*24|0)>>2]|0)|0}do{if(w){u=u/+(w|0);o=u<o?u:o;if(!(u>s))break;s=u}}while(0);p=p+1|0}while(p>>>0<g>>>0)}K=ue((h[T+(A*52|0)+24>>2]|0)-(h[T+(A*52|0)+16>>2]|0)|0,(h[T+(A*52|0)+20>>2]|0)-(h[T+(A*52|0)+12>>2]|0)|0)|0;f=K+f|0;a=K+a|0;A=A+1|0}while(A>>>0<M>>>0);h[j>>2]=f;h[x>>2]=a}S=S+1|0}while(S>>>0<L>>>0)}O=O+1|0}while(O>>>0<R>>>0)}D=D+1|0}while(D>>>0<B>>>0)}I=+(1<<h[U+(Y*52|0)+24>>2]|0)+-1.0;l=l+ +(a|0)*(I*I);Y=Y+1|0}while(Y>>>0<H>>>0);I=s}x=(n|0)!=0;if(x){Y=h[e+36>>2]|0;H=h[n+88>>2]|0;h[H+(Y*592|0)+552>>2]=f;m[H+(Y*592|0)+560>>3]=+m[X+32>>3];f=z+8|0;K=Gn(h[f>>2]<<3)|0;h[H+(Y*592|0)>>2]=K;if(!K){K=0;v=G;return K|0}}else f=z+8|0;if(!(h[f>>2]|0)){K=1;v=G;return K|0}M=X+32|0;T=q+93|0;S=e+36|0;P=n+88|0;O=X+40|0;R=e+24|0;L=e+8|0;C=e+16|0;D=0;while(1){s=+_[z+20+(D<<2)>>2];if(s!=0.0){y=~~+oe(+s)>>>0;y=y>>>0<t>>>0?y:t}else y=t;k=+_[z+5184+(D<<2)>>2];E=+m[M>>3]-l/+$(10.0,+(k/10.0));K=c[T>>0]|0;if(!((K&1)!=0&s>0.0)?!((K&4)!=0&k>0.0):0)s=o;else{A=nl(h[R>>2]|0,q)|0;if(!A){f=0;a=57;break}g=D+1|0;a=V+(D+-1<<3)|0;w=X+40+(D<<3)|0;if(!D){b=I;a=0;k=o;u=0.0;do{s=(k+b)*.5;Yr(e,0,s,0);do{if(c[T>>0]&4){if(((d[q>>1]|0)+-3&65535)>=4){K=+m[O>>3]<E;b=K?s:b;k=K?k:s;u=K?s:u;break}if(!(rl(A,h[S>>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0))k=s;else{K=+m[O>>3]<E;b=K?s:b;k=K?k:s;u=K?s:u}}else{K=(rl(A,h[S>>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0)==0;b=K?b:s;k=K?s:k;u=K?u:s}}while(0);a=a+1|0}while((a|0)!=128)}else{b=I;p=0;k=o;u=0.0;do{s=(k+b)*.5;Yr(e,D,s,0);do{if(c[T>>0]&4){if(((d[q>>1]|0)+-3&65535)>=4){K=+m[a>>3]+ +m[w>>3]<E;b=K?s:b;k=K?k:s;u=K?s:u;break}if(!(rl(A,h[S>>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0))k=s;else{K=+m[a>>3]+ +m[w>>3]<E;b=K?s:b;k=K?k:s;u=K?s:u}}else{K=(rl(A,h[S>>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0)==0;b=K?b:s;k=K?s:k;u=K?u:s}}while(0);p=p+1|0}while((p|0)!=128)}fl(A);s=u==0.0?s:u}if(x)m[(h[(h[P>>2]|0)+((h[S>>2]|0)*592|0)>>2]|0)+(D<<3)>>3]=s;Yr(e,D,s,1);if(!D)s=+m[O>>3];else s=+m[V+(D+-1<<3)>>3]+ +m[X+40+(D<<3)>>3];m[V+(D<<3)>>3]=s;D=D+1|0;if(D>>>0>=(h[f>>2]|0)>>>0){f=1;a=57;break}}if((a|0)==57){v=G;return f|0}return 0}function Xr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;h[e+24>>2]=i;h[e+28>>2]=r;n=Kn(1,848)|0;t=e+20|0;h[h[t>>2]>>2]=n;if(!n){e=0;return e|0}n=i+16|0;f=Kn(h[n>>2]|0,52)|0;i=h[h[t>>2]>>2]|0;h[i+20>>2]=f;if(!f){f=0;return f|0}h[i+16>>2]=h[n>>2];h[e>>2]=h[r+84>>2];f=1;return f|0}function zr(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;if(!e)return;m=e+20|0;i=h[m>>2]|0;do{if(i){_=(c[e+40>>0]&1)==0?3:4;r=h[i>>2]|0;if(r){b=r+20|0;s=r+16|0;if(h[s>>2]|0){u=0;d=h[b>>2]|0;while(1){o=d+24|0;i=h[o>>2]|0;if(i){a=h[d+28>>2]|0;l=(a>>>0)/136|0;if(a>>>0>135){a=0;while(1){f=i+48|0;r=h[f>>2]|0;if(r){t=h[i+52>>2]|0;n=(t>>>0)/40|0;if(t>>>0>39){t=0;while(1){p=r+32|0;ha(h[p>>2]|0);h[p>>2]=0;p=r+36|0;ha(h[p>>2]|0);h[p>>2]=0;Co[_&7](r);t=t+1|0;if(t>>>0>=n>>>0)break;else r=r+40|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}f=i+84|0;r=h[f>>2]|0;if(r){p=h[i+88>>2]|0;n=(p>>>0)/40|0;if(p>>>0>39){t=0;while(1){p=r+32|0;ha(h[p>>2]|0);h[p>>2]=0;p=r+36|0;ha(h[p>>2]|0);h[p>>2]=0;Co[_&7](r);t=t+1|0;if(t>>>0>=n>>>0)break;else r=r+40|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}f=i+120|0;r=h[f>>2]|0;if(r){p=h[i+124>>2]|0;n=(p>>>0)/40|0;if(p>>>0>39){t=0;while(1){p=r+32|0;ha(h[p>>2]|0);h[p>>2]=0;p=r+36|0;ha(h[p>>2]|0);h[p>>2]=0;Co[_&7](r);t=t+1|0;if(t>>>0>=n>>>0)break;else r=r+40|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}a=a+1|0;if(a>>>0>=l>>>0)break;else i=i+136|0}i=h[o>>2]|0}Qn(i);h[o>>2]=0}if((h[d+36>>2]|0)!=0?(k=d+32|0,w=h[k>>2]|0,(w|0)!=0):0){Jn(w);h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;h[k+12>>2]=0}u=u+1|0;if(u>>>0>=(h[s>>2]|0)>>>0)break;else d=d+52|0}}Qn(h[b>>2]|0);h[b>>2]=0;Qn(h[h[m>>2]>>2]|0);i=h[m>>2]|0;h[i>>2]=0;if(!i)break}Qn(i);h[m>>2]=0}}while(0);Qn(e);return}function Vr(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;t=e+32|0;n=h[t>>2]|0;i=e+40|0;r=h[i>>2]|0;if(n){f=e+44|0;if(r>>>0<=(h[f>>2]|0)>>>0){e=1;return e|0}if(h[e+36>>2]|0){Jn(n);n=Wn(h[i>>2]|0)|0;h[t>>2]=n;if(!n){h[f>>2]=0;h[i>>2]=0;h[e+36>>2]=0;e=0;return e|0}else{h[f>>2]=h[i>>2];h[e+36>>2]=1;e=1;return e|0}}}f=Wn(r)|0;h[t>>2]=f;if(!f){e=0;return e|0}h[e+44>>2]=h[i>>2];h[e+36>>2]=1;e=1;return e|0}function Gr(e,i,r){e=e|0;i=i|0;r=r|0;return tt(e,i,1,1.0,52,r)|0}function Kr(e,i,r){e=e|0;i=i|0;r=r|0;return tt(e,i,0,.5,56,r)|0}function Wr(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0;r=h[e+24>>2]|0;n=h[r+16>>2]|0;if(!n){f=0;return f|0}f=0;i=0;t=h[r+24>>2]|0;r=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){l=h[t+24>>2]|0;l=((l&7|0)!=0&1)+(l>>>3)|0;a=h[r+24>>2]|0;e=(h[r+20>>2]|0)+-1|0;i=(ue(ue((l|0)==3?4:l,(h[a+(e*136|0)+8>>2]|0)-(h[a+(e*136|0)>>2]|0)|0)|0,(h[a+(e*136|0)+12>>2]|0)-(h[a+(e*136|0)+4>>2]|0)|0)|0)+i|0;f=f+1|0;if(f>>>0>=n>>>0)break;else{t=t+52|0;r=r+52|0}}return i|0}function Jr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+16|0;y=A;if(!(h[e+8>>2]|0)){h[e+36>>2]=i;p=e+28|0;a=h[(h[p>>2]|0)+76>>2]|0;E=e+32|0;h[E>>2]=a+(i*5640|0);g=(f|0)==0;m=e+20|0;if(!g){l=h[(h[h[m>>2]>>2]|0)+20>>2]|0;d=h[a+(i*5640|0)+5584>>2]|0;b=l+16|0;if(!(h[b>>2]|0)){l=f+88|0;a=0}else{s=h[l+24>>2]|0;l=f+88|0;o=h[l>>2]|0;u=0;a=0;do{_=s+(u*136|0)+16|0;h[o+(i*592|0)+20+(u<<2)>>2]=h[_>>2];w=s+(u*136|0)+20|0;h[o+(i*592|0)+152+(u<<2)>>2]=h[w>>2];a=(ue(h[w>>2]|0,h[_>>2]|0)|0)+a|0;h[o+(i*592|0)+284+(u<<2)>>2]=h[d+812+(u<<2)>>2];h[o+(i*592|0)+416+(u<<2)>>2]=h[d+944+(u<<2)>>2];u=u+1|0}while(u>>>0<(h[b>>2]|0)>>>0)}_=Kn(ue(ue(h[f+52>>2]|0,a)|0,h[f+56>>2]|0)|0,32)|0;h[(h[l>>2]|0)+(i*592|0)+548>>2]=_;if(!_){e=0;v=A;return e|0}}a=h[h[m>>2]>>2]|0;_=a+16|0;if(!(h[_>>2]|0)){u=h[E>>2]|0;s=0;l=h[a+20>>2]|0}else{u=h[E>>2]|0;l=h[a+20>>2]|0;i=0;k=h[u+5584>>2]|0;w=l;while(1){d=h[w+32>>2]|0;b=ue((h[w+12>>2]|0)-(h[w+4>>2]|0)|0,(h[w+8>>2]|0)-(h[w>>2]|0)|0)|0;a=(b|0)==0;if((h[k+20>>2]|0)==1){if(!a){s=k+1076|0;o=0;a=d;while(1){h[a>>2]=(h[a>>2]|0)-(h[s>>2]|0);o=o+1|0;if((o|0)==(b|0))break;else a=a+4|0}}}else if(!a){s=k+1076|0;o=0;a=d;while(1){h[a>>2]=(h[a>>2]|0)-(h[s>>2]|0)<<11;o=o+1|0;if((o|0)==(b|0))break;else a=a+4|0}}i=i+1|0;s=h[_>>2]|0;if(i>>>0>=s>>>0)break;else{k=k+1080|0;w=w+52|0}}}d=ue((h[l+12>>2]|0)-(h[l+4>>2]|0)|0,(h[l+8>>2]|0)-(h[l>>2]|0)|0)|0;e:do{switch(h[u+16>>2]|0){case 0:break;case 2:{if(h[u+5608>>2]|0){o=Gn(s<<2)|0;if(!o){e=0;v=A;return e|0}a=h[_>>2]|0;if(!a)a=0;else{s=0;while(1){h[o+(s<<2)>>2]=h[l+32>>2];s=s+1|0;if((s|0)==(a|0))break;else l=l+52|0}}_=(Sr(h[(h[E>>2]|0)+5608>>2]|0,d,o,a,h[(h[(h[e+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Qn(o);if(_){e=0;v=A;return e|0}}break}default:{s=h[l+32>>2]|0;o=h[l+84>>2]|0;a=h[l+136>>2]|0;if(!(h[(h[u+5584>>2]|0)+20>>2]|0)){Mr(s,o,a,d);break e}else{Er(s,o,a,d);break e}}}}while(0);a=h[h[m>>2]>>2]|0;l=a+16|0;e:do{if(h[l>>2]|0){s=0;o=h[(h[E>>2]|0)+5584>>2]|0;a=h[a+20>>2]|0;i:while(1){switch(h[o+20>>2]|0){case 1:{if(!(Ca(a)|0)){a=0;l=54;break i}break}case 0:{if(!(Ba(a)|0)){a=0;l=54;break i}break}default:{}}s=s+1|0;if(s>>>0>=(h[l>>2]|0)>>>0)break e;else{o=o+1080|0;a=a+52|0}}if((l|0)==54){v=A;return a|0}}}while(0);a=h[E>>2]|0;l=Wa(1)|0;if(!l){e=0;v=A;return e|0}do{if((h[a+16>>2]|0)==1)if(!(h[(h[a+5584>>2]|0)+20>>2]|0)){s=yr()|0;o=3;break}else{s=gr()|0;o=3;break}else{s=h[a+5600>>2]|0;o=h[(h[e+24>>2]|0)+16>>2]|0}}while(0);m=Qa(l,h[h[m>>2]>>2]|0,a,s,o)|0;Ja(l);if(!m){e=0;v=A;return e|0}a=h[p>>2]|0;h[y>>2]=0;if(!g)h[f+12>>2]=0;if(!(c[a+93>>0]&5)){if(h[(h[E>>2]|0)+8>>2]|0){a=0;do{Hr(e,a,1);a=a+1|0}while(a>>>0<(h[(h[E>>2]|0)+8>>2]|0)>>>0)}}else if(!(qr(e,r,y,n,f)|0)){e=0;v=A;return e|0}}if(f)h[f+12>>2]=1;a=nl(h[e+24>>2]|0,h[e+28>>2]|0)|0;if(!a)a=1;else{e=rl(a,h[e+36>>2]|0,h[h[e+20>>2]>>2]|0,h[(h[e+32>>2]|0)+8>>2]|0,r,t,n,f,h[e+4>>2]|0,h[e>>2]|0,h[e+16>>2]|0,1)|0;fl(a);a=(e|0)==0}e=a&1^1;v=A;return e|0}function Zr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,m=0,p=0;p=v;v=v+16|0;o=p+8|0;s=p;l=p+12|0;a=e+36|0;h[a>>2]=t;m=h[e+28>>2]|0;d=e+32|0;h[d>>2]=(h[m+76>>2]|0)+(t*5640|0);h[l>>2]=0;c=e+24|0;t=nl(h[c>>2]|0,m)|0;if(!t){m=0;v=p;return m|0}u=e+20|0;m=tl(t,h[a>>2]|0,h[h[u>>2]>>2]|0,i,l,r,n,f)|0;fl(t);if(!m){m=0;v=p;return m|0}t=h[h[u>>2]>>2]|0;e=h[(h[d>>2]|0)+5584>>2]|0;a=h[t+20>>2]|0;r=Wa(0)|0;if(!r){m=0;v=p;return m|0}l=t+16|0;e:do{if(h[l>>2]|0){n=0;t=a;while(1){if(!(Za(r,t,e)|0))break;n=n+1|0;if(n>>>0>=(h[l>>2]|0)>>>0)break e;else{e=e+1080|0;t=t+52|0}}Ja(r);m=0;v=p;return m|0}}while(0);Ja(r);t=h[h[u>>2]>>2]|0;a=t+16|0;do{if(h[a>>2]|0){l=0;n=h[(h[c>>2]|0)+24>>2]|0;r=h[(h[d>>2]|0)+5584>>2]|0;e=h[t+20>>2]|0;while(1){t=(h[n+36>>2]|0)+1|0;if((h[r+20>>2]|0)==1){if(!(Da(e,t)|0)){t=0;e=49;break}}else if(!(ja(e,t)|0)){t=0;e=49;break}l=l+1|0;if(l>>>0>=(h[a>>2]|0)>>>0){e=14;break}else{n=n+52|0;r=r+1080|0;e=e+52|0}}if((e|0)==14){t=h[h[u>>2]>>2]|0;break}else if((e|0)==49){v=p;return t|0}}}while(0);l=h[d>>2]|0;e=h[t+20>>2]|0;a=h[l+16>>2]|0;do{if(a){i=ue((h[e+12>>2]|0)-(h[e+4>>2]|0)|0,(h[e+8>>2]|0)-(h[e>>2]|0)|0)|0;r=t+16|0;t=h[r>>2]|0;if(t>>>0<=2){h[o>>2]=t;Zt(f,1,19703,o)|0;break}if((ue((h[e+64>>2]|0)-(h[e+56>>2]|0)|0,(h[e+60>>2]|0)-(h[e+52>>2]|0)|0)|0)>=(i|0)?(ue((h[e+116>>2]|0)-(h[e+108>>2]|0)|0,(h[e+112>>2]|0)-(h[e+104>>2]|0)|0)|0)>=(i|0):0){if((a|0)!=2){t=h[e+32>>2]|0;if((h[(h[l+5584>>2]|0)+20>>2]|0)==1){Ar(t,h[e+84>>2]|0,h[e+136>>2]|0,i);break}else{Tr(t,h[e+84>>2]|0,h[e+136>>2]|0,i);break}}n=l+5604|0;if(!(h[n>>2]|0))break;l=Gn(t<<2)|0;if(!l){m=0;v=p;return m|0}t=h[r>>2]|0;if(!t)t=0;else{a=0;while(1){h[l+(a<<2)>>2]=h[e+32>>2];a=a+1|0;if((a|0)==(t|0))break;else e=e+52|0}}m=(Pr(h[n>>2]|0,i,l,t,h[(h[(h[c>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Qn(l);if(m)t=0;else break;v=p;return t|0}Zt(f,1,19642,s)|0;m=0;v=p;return m|0}}while(0);t=h[h[u>>2]>>2]|0;w=t+16|0;if(!(h[w>>2]|0)){m=1;v=p;return m|0}m=0;k=h[(h[c>>2]|0)+24>>2]|0;b=h[(h[d>>2]|0)+5584>>2]|0;d=h[t+20>>2]|0;while(1){c=h[d+24>>2]|0;f=h[k+36>>2]|0;a=h[c+(f*136|0)+8>>2]|0;l=h[c+(f*136|0)>>2]|0;u=a-l|0;n=h[c+(f*136|0)+12>>2]|0;f=h[c+(f*136|0)+4>>2]|0;c=(h[d+8>>2]|0)-(h[d>>2]|0)-u|0;t=h[k+24>>2]|0;if(!(h[k+32>>2]|0)){t=1<<t;o=0}else{o=1<<t+-1;t=o;o=0-o|0}s=t+-1|0;t=h[d+32>>2]|0;e=(n|0)==(f|0);if((h[b+20>>2]|0)==1){if(!e){r=(a|0)==(l|0);i=b+1076|0;l=n-f|0;n=0;while(1){if(!r){e=0;a=t;while(1){f=(h[i>>2]|0)+(h[a>>2]|0)|0;h[a>>2]=(f|0)<(o|0)?o:(f|0)>(s|0)?s:f;e=e+1|0;if((e|0)==(u|0))break;else a=a+4|0}t=t+(u<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else t=t+(c<<2)|0}}}else if(!e){r=(a|0)==(l|0);i=b+1076|0;l=n-f|0;n=0;while(1){if(!r){e=0;a=t;while(1){f=xl(+_[a>>2])|0;f=(h[i>>2]|0)+f|0;h[a>>2]=(f|0)<(o|0)?o:(f|0)>(s|0)?s:f;e=e+1|0;if((e|0)==(u|0))break;else a=a+4|0}t=t+(u<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else t=t+(c<<2)|0}}m=m+1|0;if(m>>>0>=(h[w>>2]|0)>>>0){t=1;break}else{k=k+52|0;b=b+1080|0;d=d+52|0}}v=p;return t|0}function Qr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=e+24|0;o=h[w>>2]|0;n=h[o+16>>2]|0;s=(n|0)==0;if(s){w=1;return w|0}f=0;t=0;a=h[o+24>>2]|0;l=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){u=h[a+24>>2]|0;u=((u&7|0)!=0&1)+(u>>>3)|0;b=h[l+24>>2]|0;k=(h[l+20>>2]|0)+-1|0;t=(ue(ue((u|0)==3?4:u,(h[b+(k*136|0)+8>>2]|0)-(h[b+(k*136|0)>>2]|0)|0)|0,(h[b+(k*136|0)+12>>2]|0)-(h[b+(k*136|0)+4>>2]|0)|0)|0)+t|0;f=f+1|0;if((f|0)==(n|0))break;else{a=a+52|0;l=l+52|0}}t=t>>>0>r>>>0;if(t|s){w=t&1^1;return w|0}k=0;b=h[o+24>>2]|0;u=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){s=h[b+24>>2]|0;e=h[u+24>>2]|0;r=h[b+36>>2]|0;f=h[e+(r*136|0)+8>>2]|0;a=h[e+(r*136|0)>>2]|0;o=f-a|0;l=h[e+(r*136|0)+12>>2]|0;r=h[e+(r*136|0)+4>>2]|0;e=(h[u+8>>2]|0)-(h[u>>2]|0)-o|0;s=((s&7|0)!=0&1)+(s>>>3)|0;e:do{switch(((s|0)==3?4:s)|0){case 1:{t=h[u+32>>2]|0;n=(l|0)==(r|0);if(!(h[b+32>>2]|0)){if(n)break e;s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+o|0;f=0;n=t;while(1){c[i>>0]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+1|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}else{if(n)break e;s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+o|0;f=0;n=t;while(1){c[i>>0]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+1|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}break}case 2:{t=h[u+32>>2]|0;n=(l|0)==(r|0);if(!(h[b+32>>2]|0)){if(!n){s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+(o<<1)|0;f=0;n=t;while(1){d[i>>1]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+2|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}}else if(!n){s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+(o<<1)|0;f=0;n=t;while(1){d[i>>1]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+2|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}break}case 4:{if((l|0)!=(r|0)){s=(f|0)==(a|0);l=l-r|0;r=0;t=h[u+32>>2]|0;while(1){if(!s){a=i+(o<<2)|0;f=0;n=t;while(1){h[i>>2]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+4|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}break}default:{}}}while(0);k=k+1|0;if(k>>>0>=(h[(h[w>>2]|0)+16>>2]|0)>>>0){i=1;break}else{b=b+52|0;u=u+52|0}}return i|0}function $r(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;r=h[e+24>>2]|0;n=h[r+16>>2]|0;if(!n){f=0;return f|0}f=0;i=0;t=h[r+24>>2]|0;r=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=h[t+24>>2]|0;e=((e&7|0)!=0&1)+(e>>>3)|0;i=(ue(ue((h[r+12>>2]|0)-(h[r+4>>2]|0)|0,(h[r+8>>2]|0)-(h[r>>2]|0)|0)|0,(e|0)==3?4:e)|0)+i|0;f=f+1|0;if(f>>>0>=n>>>0)break;else{t=t+52|0;r=r+52|0}}return i|0}function et(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0;o=h[e+24>>2]|0;w=o+16|0;n=h[w>>2]|0;s=(n|0)==0;if(s)t=0;else{f=0;t=0;a=h[o+24>>2]|0;l=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){u=h[a+24>>2]|0;u=((u&7|0)!=0&1)+(u>>>3)|0;t=(ue(ue((h[l+12>>2]|0)-(h[l+4>>2]|0)|0,(h[l+8>>2]|0)-(h[l>>2]|0)|0)|0,(u|0)==3?4:u)|0)+t|0;f=f+1|0;if((f|0)==(n|0))break;else{a=a+52|0;l=l+52|0}}}t=(t|0)!=(r|0);if(t|s){w=t&1^1;return w|0}u=0;s=h[o+24>>2]|0;r=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=h[s+24>>2]|0;t=(h[r+8>>2]|0)-(h[r>>2]|0)|0;n=(h[r+12>>2]|0)-(h[r+4>>2]|0)|0;l=ue(n,t)|0;e=((e&7|0)!=0&1)+(e>>>3)|0;e:do{switch(((e|0)==3?4:e)|0){case 1:{n=h[r+32>>2]|0;t=(l|0)==0;if(!(h[s+32>>2]|0)){if(t)break e;else{f=0;t=n;n=i}while(1){h[t>>2]=b[n>>0];f=f+1|0;if((f|0)==(l|0))break;else{t=t+4|0;n=n+1|0}}i=i+l|0;break e}else{if(t)break e;else{f=0;t=n;n=i}while(1){h[t>>2]=c[n>>0];f=f+1|0;if((f|0)==(l|0))break;else{t=t+4|0;n=n+1|0}}i=i+l|0;break e}}case 2:{a=h[r+32>>2]|0;f=(l|0)==0;if(!(h[s+32>>2]|0)){if(!f){f=i+(ue(n<<1,t)|0)|0;n=0;t=a;while(1){h[t>>2]=k[i>>1];n=n+1|0;if((n|0)==(l|0))break;else{t=t+4|0;i=i+2|0}}i=f}}else if(!f){f=i+(ue(n<<1,t)|0)|0;n=0;t=a;while(1){h[t>>2]=d[i>>1];n=n+1|0;if((n|0)==(l|0))break;else{t=t+4|0;i=i+2|0}}i=f}break}case 4:{if(l){f=i+(ue(n<<2,t)|0)|0;t=0;n=h[r+32>>2]|0;while(1){h[n>>2]=h[i>>2];t=t+1|0;if((t|0)==(l|0))break;else{n=n+4|0;i=i+4|0}}i=f}break}default:{}}}while(0);u=u+1|0;if(u>>>0>=(h[w>>2]|0)>>>0){i=1;break}else{s=s+52|0;r=r+52|0}}return i|0}function it(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=e+24|0;i=h[f>>2]|0;if(!i)return;n=h[e+28>>2]|0;t=(n>>>0)/52|0;if(n>>>0>51){n=0;while(1){e=h[i>>2]|0;if(e){Qn(e+-1|0);h[i>>2]=0}e=i+4|0;r=h[e>>2]|0;if(r){Qn(r);h[e>>2]=0}e=i+8|0;r=h[e>>2]|0;if(r){Qn(r);h[e>>2]=0}n=n+1|0;if(n>>>0>=t>>>0)break;else i=i+52|0}i=h[f>>2]|0}Qn(i);h[f>>2]=0;return}function rt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=e+24|0;i=h[f>>2]|0;if(!i)return;n=h[e+28>>2]|0;t=(n>>>0)/56|0;if(n>>>0>55){n=0;while(1){e=h[i>>2]|0;if(e){Qn(e);h[i>>2]=0}r=i+4|0;e=h[r>>2]|0;if(e){Qn(e);h[r>>2]=0}n=n+1|0;if(n>>>0>=t>>>0)break;else i=i+56|0}i=h[f>>2]|0}Qn(i);h[f>>2]=0;return}function tt(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=+t;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0,Re=0,Le=0,Ce=0,De=0,xe=0,Ie=0,Be=0,Ne=0,Fe=0,Ue=0,je=0,He=0,Ye=0,qe=0,Xe=0,ze=0.0;Xe=v;v=v+80|0;Ne=Xe+64|0;Be=Xe+56|0;Ue=Xe+48|0;He=Xe+40|0;je=Xe+32|0;Ye=Xe+24|0;Fe=Xe+16|0;Ie=Xe+8|0;a=h[e+28>>2]|0;xe=h[h[e+20>>2]>>2]|0;d=h[(h[a+76>>2]|0)+(i*5640|0)+5584>>2]|0;b=h[xe+20>>2]|0;o=h[e+24>>2]|0;u=h[o+24>>2]|0;Le=h[a+24>>2]|0;s=h[a+12>>2]|0;De=(ue(s,(i>>>0)%(Le>>>0)|0)|0)+(h[a+4>>2]|0)|0;l=h[o>>2]|0;l=De>>>0>l>>>0?De:l;h[xe>>2]=l;De=zs(s|0,0,De|0,0)|0;De=De|0-j;s=h[o+8>>2]|0;s=De>>>0<s>>>0?De:s;De=xe+8|0;h[De>>2]=s;Ce=h[a+16>>2]|0;Le=(ue(Ce,(i>>>0)/(Le>>>0)|0)|0)+(h[a+8>>2]|0)|0;i=h[o+4>>2]|0;i=Le>>>0>i>>>0?Le:i;Re=xe+4|0;h[Re>>2]=i;Le=zs(Ce|0,0,Le|0,0)|0;Le=Le|0-j;o=h[o+12>>2]|0;o=Le>>>0<o>>>0?Le:o;Le=xe+12|0;h[Le>>2]=o;if(!(h[d+4>>2]|0)){Zt(f,1,19777,Xe)|0;qe=0;v=Xe;return qe|0}Ce=xe+16|0;if(!(h[Ce>>2]|0)){qe=1;v=Xe;return qe|0}Oe=a+80|0;Pe=e+40|0;Se=(r|0)==0;a=i;Te=0;e:while(1){h[u+36>>2]=0;ge=h[u>>2]|0;i=(l+-1+ge|0)/(ge|0)|0;h[b>>2]=i;ye=h[u+4>>2]|0;a=(a+-1+ye|0)/(ye|0)|0;Me=b+4|0;h[Me>>2]=a;ge=(s+-1+ge|0)/(ge|0)|0;Ae=b+8|0;h[Ae>>2]=ge;ye=(o+-1+ye|0)/(ye|0)|0;Ee=b+12|0;h[Ee>>2]=ye;i=ge-i|0;a=ye-a|0;if((4294967295/(i>>>0)|0)>>>0<a>>>0){qe=6;break}i=ue(a,i)|0;if(i>>>0>1073741823){qe=8;break}s=i<<2;ge=h[d+4>>2]|0;ye=b+16|0;h[ye>>2]=ge;e=h[Oe>>2]|0;h[b+20>>2]=ge>>>0<e>>>0?1:ge-e|0;e=b+40|0;h[e>>2]=s;do{if(c[Pe>>0]&1){r=b+32|0;l=h[r>>2]|0;if(l){a=b+44|0;if(s>>>0<=(h[a>>2]|0)>>>0)break;i=b+36|0;if(h[i>>2]|0){Jn(l);ge=Wn(h[e>>2]|0)|0;h[r>>2]=ge;if(!ge){qe=16;break e}h[a>>2]=h[e>>2];h[i>>2]=1;break}}ge=Wn(s)|0;h[r>>2]=ge;if(!ge)break e;h[b+44>>2]=h[e>>2];h[b+36>>2]=1}}while(0);r=(h[ye>>2]|0)*136|0;a=b+24|0;e=h[a>>2]|0;if(e){i=b+28|0;if(r>>>0>(h[i>>2]|0)>>>0){e=Zn(e,r)|0;if(!e){qe=24;break}h[a>>2]=e;ge=h[i>>2]|0;qs(e+ge|0,0,r-ge|0)|0;h[i>>2]=r}}else{i=Gn(r)|0;h[a>>2]=i;if(!i){i=0;qe=87;break}h[b+28>>2]=r;qs(i|0,0,r|0)|0}i=h[ye>>2]|0;ge=(h[d+20>>2]|0)==0?7:8;if(i){_e=d+8|0;me=d+12|0;pe=u+24|0;ve=d+804|0;we=h[a>>2]|0;a=d+28|0;e=0;while(1){be=i;ke=i+-1|0;ce=h[b>>2]|0;de=Xs(1,0,ke|0)|0;de=zs(de|0,j|0,-1,-1)|0;he=j;ce=zs(de|0,he|0,ce|0,((ce|0)<0)<<31>>31|0)|0;ce=Ys(ce|0,j|0,ke|0)|0;h[we>>2]=ce;r=h[Me>>2]|0;r=zs(de|0,he|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ys(r|0,j|0,ke|0)|0;h[we+4>>2]=r;i=h[Ae>>2]|0;i=zs(de|0,he|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,ke|0)|0;h[we+8>>2]=i;l=h[Ee>>2]|0;l=zs(de|0,he|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Ys(l|0,j|0,ke|0)|0;h[we+12>>2]=l;k=h[d+812+(e<<2)>>2]|0;o=h[d+944+(e<<2)>>2]|0;w=ce>>k<<k;m=r>>o<<o;s=Xs(1,0,o|0)|0;s=zs(s|0,j|0,-1,-1)|0;s=zs(s|0,j|0,l|0,((l|0)<0)<<31>>31|0)|0;s=Ys(s|0,j|0,o|0)|0;if((ce|0)==(i|0))i=0;else{ce=Xs(1,0,k|0)|0;ce=zs(ce|0,j|0,-1,-1)|0;i=zs(ce|0,j|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,k|0)|0;i=(i<<k)-w>>k}ce=we+16|0;h[ce>>2]=i;le=(r|0)==(l|0)?0:(s<<o)-m>>o;h[we+20>>2]=le;le=ue(le,i)|0;se=le*40|0;oe=(e|0)==0;if(oe)i=1;else{w=zs(w|0,((w|0)<0)<<31>>31|0,1,0)|0;w=Vs(w|0,j|0,1)|0;m=zs(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=Vs(m|0,j|0,1)|0;i=3;o=o+-1|0;k=k+-1|0}ae=we+24|0;h[ae>>2]=i;X=h[_e>>2]|0;X=X>>>0<k>>>0?X:k;z=h[me>>2]|0;z=z>>>0<o>>>0?z:o;V=(le|0)!=0;G=(le|0)==0;K=1<<k;W=1<<o;J=Xs(1,0,X|0)|0;J=zs(J|0,j|0,-1,-1)|0;Z=j;Q=Xs(1,0,z|0)|0;Q=zs(Q|0,j|0,-1,-1)|0;$=j;ee=1<<X;ie=1<<z;re=Xs(1,0,be|0)|0;re=zs(re|0,j|0,-1,-1)|0;te=j;ne=0;fe=we+28|0;q=a;while(1){if(oe){i=h[b>>2]|0;i=zs(de|0,he|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,ke|0)|0;a=h[Me>>2]|0;a=zs(de|0,he|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ys(a|0,j|0,ke|0)|0;r=h[Ae>>2]|0;r=zs(de|0,he|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ys(r|0,j|0,ke|0)|0;s=h[Ee>>2]|0;s=zs(de|0,he|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Ys(s|0,j|0,ke|0)|0;l=0}else{l=ne+1|0;i=h[b>>2]|0;U=Xs(l&1|0,0,ke|0)|0;U=Hs(re|0,te|0,U|0,j|0)|0;s=j;i=zs(U|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,be|0)|0;a=h[Me>>2]|0;H=Xs(l>>>1|0,0,ke|0)|0;H=Hs(re|0,te|0,H|0,j|0)|0;Y=j;a=zs(H|0,Y|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ys(a|0,j|0,be|0)|0;r=h[Ae>>2]|0;r=zs(U|0,s|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ys(r|0,j|0,be|0)|0;s=h[Ee>>2]|0;s=zs(H|0,Y|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Ys(s|0,j|0,be|0)|0}h[fe+16>>2]=l;h[fe>>2]=i;Y=fe+4|0;h[Y>>2]=a;H=fe+8|0;h[H>>2]=r;U=fe+12|0;h[U>>2]=s;a=Io[ge&15](l)|0;ze=+(h[q+4>>2]|0)*.00048828125+1.0;ze=+Dl(1.0,(h[pe>>2]|0)+a-(h[q>>2]|0)|0)*ze*t;_[fe+32>>2]=ze;h[fe+28>>2]=(h[q>>2]|0)+-1+(h[ve>>2]|0);a=fe+20|0;r=h[a>>2]|0;if(!(V&(r|0)==0)){i=fe+24|0;if((h[i>>2]|0)>>>0<se>>>0){r=Zn(r,se)|0;if(!r){qe=41;break e}h[a>>2]=r;F=h[i>>2]|0;qs(r+F|0,0,se-F|0)|0;h[i>>2]=se}}else{i=Gn(se)|0;h[a>>2]=i;if(!i){i=0;qe=87;break e}qs(i|0,0,se|0)|0;h[fe+24>>2]=se}if(!G){N=h[a>>2]|0;F=0;while(1){R=h[ce>>2]|0;x=(((F>>>0)%(R>>>0)|0)<<k)+w|0;R=(((F>>>0)/(R>>>0)|0)<<o)+m|0;L=x+K|0;C=R+W|0;D=h[fe>>2]|0;D=(x|0)>(D|0)?x:D;h[N>>2]=D;x=h[Y>>2]|0;x=(R|0)>(x|0)?R:x;R=N+4|0;h[R>>2]=x;B=h[H>>2]|0;B=(L|0)<(B|0)?L:B;L=N+8|0;h[L>>2]=B;l=h[U>>2]|0;l=(C|0)<(l|0)?C:l;C=N+12|0;h[C>>2]=l;D=D>>X<<X;x=x>>z<<z;B=zs(J|0,Z|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ys(B|0,j|0,X|0)|0;l=zs(Q|0,$|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Ys(l|0,j|0,z|0)|0;B=(B<<X)-D>>X;I=N+16|0;h[I>>2]=B;l=(l<<z)-x>>z;p=N+20|0;h[p>>2]=l;B=ue(l,B)|0;l=ue(B,n)|0;a=N+24|0;r=h[a>>2]|0;do{if((r|0)==0&(B|0)!=0){i=Gn(l)|0;h[a>>2]=i;if(!i){i=0;qe=87;break e}qs(i|0,0,l|0)|0;h[N+28>>2]=l}else{i=N+28|0;if(l>>>0<=(h[i>>2]|0)>>>0)break;r=Zn(r,l)|0;if(!r){qe=50;break e}h[a>>2]=r;O=h[i>>2]|0;qs(r+O|0,0,l-O|0)|0;h[i>>2]=l}}while(0);s=N+32|0;i=h[s>>2]|0;r=h[I>>2]|0;l=h[p>>2]|0;if(!i)i=nt(r,l,f)|0;else i=da(i,r,l,f)|0;h[s>>2]=i;if(!i)Zt(f,2,19990,Be)|0;s=N+36|0;r=h[s>>2]|0;l=h[I>>2]|0;i=h[p>>2]|0;if(!r)i=nt(l,i,f)|0;else i=da(r,l,i,f)|0;h[s>>2]=i;if(!i)Zt(f,2,20012,Ne)|0;if(B){O=0;do{T=h[I>>2]|0;M=(((O>>>0)%(T>>>0)|0)<<X)+D|0;T=(((O>>>0)/(T>>>0)|0)<<z)+x|0;S=M+ee|0;P=T+ie|0;do{if(Se){i=h[a>>2]|0;r=i+(O*56|0)|0;l=h[r>>2]|0;if(!l){A=Gn(8192)|0;h[r>>2]=A;if(!A){i=0;qe=87;break e}h[i+(O*56|0)+32>>2]=8192;A=Kn(10,32)|0;h[i+(O*56|0)+4>>2]=A;if(!A){i=0;qe=87;break e}h[i+(O*56|0)+52>>2]=10}else{s=i+(O*56|0)+32|0;p=h[s>>2]|0;g=i+(O*56|0)+4|0;y=h[g>>2]|0;E=r;A=E+52|0;do{h[E>>2]=0;E=E+4|0}while((E|0)<(A|0));h[r>>2]=l;h[s>>2]=p;h[g>>2]=y}A=h[N>>2]|0;h[i+(O*56|0)+8>>2]=(M|0)>(A|0)?M:A;M=h[R>>2]|0;h[i+(O*56|0)+12>>2]=(T|0)>(M|0)?T:M;T=h[L>>2]|0;h[i+(O*56|0)+16>>2]=(S|0)<(T|0)?S:T;S=h[C>>2]|0;h[i+(O*56|0)+20>>2]=(P|0)<(S|0)?P:S}else{r=h[a>>2]|0;i=r+(O*52|0)+4|0;if((h[i>>2]|0)==0?(A=Kn(100,24)|0,h[i>>2]=A,(A|0)==0):0){i=0;qe=87;break e}i=r+(O*52|0)+8|0;if((h[i>>2]|0)==0?(A=Kn(100,24)|0,h[i>>2]=A,(A|0)==0):0){i=0;qe=87;break e}s=h[N>>2]|0;s=(M|0)>(s|0)?M:s;h[r+(O*52|0)+12>>2]=s;i=h[R>>2]|0;T=(T|0)>(i|0)?T:i;h[r+(O*52|0)+16>>2]=T;i=h[L>>2]|0;i=(S|0)<(i|0)?S:i;h[r+(O*52|0)+20>>2]=i;S=h[C>>2]|0;P=(P|0)<(S|0)?P:S;h[r+(O*52|0)+24>>2]=P;s=ue(P-T|0,i-s<<2)|0;i=r+(O*52|0)+36|0;if(s>>>0<=(h[i>>2]|0)>>>0)break;l=r+(O*52|0)|0;r=h[l>>2]|0;if(r)Qn(r+-1|0);r=Gn(s|1)|0;h[l>>2]=r;if(!r){qe=74;break e}h[i>>2]=s;c[r>>0]=0;h[l>>2]=(h[l>>2]|0)+1}}while(0);O=O+1|0}while(O>>>0<B>>>0)}F=F+1|0;if(F>>>0>=le>>>0)break;else N=N+40|0}}a=q+8|0;ne=ne+1|0;if(ne>>>0>=(h[ae>>2]|0)>>>0)break;else{fe=fe+36|0;q=a}}e=e+1|0;if(e>>>0<(h[ye>>2]|0)>>>0){i=ke;we=we+136|0}else break}}i=Te+1|0;if(i>>>0>=(h[Ce>>2]|0)>>>0){i=1;qe=87;break}l=h[xe>>2]|0;a=h[Re>>2]|0;s=h[De>>2]|0;o=h[Le>>2]|0;Te=i;u=u+52|0;d=d+1080|0;b=b+52|0}if((qe|0)==6){Zt(f,1,19816,Ie)|0;qe=0;v=Xe;return qe|0}else if((qe|0)==8){Zt(f,1,19816,Fe)|0;qe=0;v=Xe;return qe|0}else if((qe|0)==16){h[a>>2]=0;h[e>>2]=0;h[i>>2]=0}else if((qe|0)==24){Zt(f,1,19849,je)|0;Qn(h[a>>2]|0);h[a>>2]=0;h[i>>2]=0;qe=0;v=Xe;return qe|0}else if((qe|0)==41){Zt(f,1,19889,He)|0;Qn(h[a>>2]|0);h[a>>2]=0;h[i>>2]=0;qe=0;v=Xe;return qe|0}else if((qe|0)==50){Qn(h[a>>2]|0);h[a>>2]=0;h[i>>2]=0;Zt(f,1,19932,Ue)|0;qe=0;v=Xe;return qe|0}else if((qe|0)==74){h[i>>2]=0;qe=0;v=Xe;return qe|0}else if((qe|0)==87){v=Xe;return i|0}Zt(f,1,19816,Ye)|0;qe=0;v=Xe;return qe|0}function nt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;g=v;v=v+288|0;o=g+16|0;l=g+8|0;m=g+152|0;p=g+24|0;t=Kn(1,20)|0;if(!t){Zt(r,1,20034,g)|0;p=0;v=g;return p|0}h[t>>2]=e;u=t+4|0;h[u>>2]=i;h[m>>2]=e;h[p>>2]=i;s=t+8|0;h[s>>2]=0;n=0;a=0;while(1){_=ue(i,e)|0;e=(e+1|0)/2|0;f=a+1|0;h[m+(f<<2)>>2]=e;i=(i+1|0)/2|0;h[p+(f<<2)>>2]=i;n=n+_|0;if(_>>>0<=1)break;else a=f}h[s>>2]=n;if(!n){Qn(t);Zt(r,2,20072,l)|0;p=0;v=g;return p|0}n=Kn(n,16)|0;h[t+12>>2]=n;if(!n){Zt(r,1,20122,o)|0;Qn(t);p=0;v=g;return p|0}_=h[s>>2]|0;h[t+16>>2]=_<<4;i=n+((ue(h[u>>2]|0,h[t>>2]|0)|0)<<4)|0;if(!a)i=n;else{w=0;f=i;e=i;i=n;do{b=h[p+(w<<2)>>2]|0;e:do{if((b|0)>0){k=h[m+(w<<2)>>2]|0;if((k|0)<=0){s=b+-1|0;r=0;while(1){d=(r&1|0)!=0|(r|0)==(s|0);l=d?f:e;e=d?f:e+(k<<4)|0;r=r+1|0;if((r|0)>=(b|0)){f=l;break e}else f=l}}d=((k+2+((k|0)<2?~k:-3)|0)>>>1)+1|0;u=b+-1|0;c=0;do{r=k;o=f;while(1){h[i>>2]=o;l=i+16|0;s=r;r=r+-2|0;if((r|0)>-1){h[l>>2]=o;i=i+32|0}else i=l;if((s|0)<=2)break;else o=o+16|0}o=f+(d<<4)|0;r=(c&1|0)!=0|(c|0)==(u|0);f=r?o:e;e=r?o:e+(k<<4)|0;c=c+1|0}while((c|0)<(b|0))}}while(0);w=w+1|0}while((w|0)!=(a|0))}h[i>>2]=0;if(!_){p=t;v=g;return p|0}else i=0;while(1){h[n+4>>2]=999;h[n+8>>2]=0;h[n+12>>2]=0;i=i+1|0;if((i|0)==(_|0))break;else n=n+16|0}v=g;return t|0}function ft(e){e=e|0;var i=0,r=0;if(!e)return;i=h[e+8>>2]|0;if(!i)return;r=0;e=h[e+12>>2]|0;while(1){h[e+4>>2]=999;h[e+8>>2]=0;h[e+12>>2]=0;r=r+1|0;if(r>>>0>=i>>>0)break;else e=e+16|0}return}function at(e){e=e|0;var i=0;i=v;v=v+e|0;v=v+15&-16;return i|0}function lt(){return v|0}function st(e){e=e|0;v=e}function ot(e,i){e=e|0;i=i|0;v=e;g=i}function ut(e,i){e=e|0;i=i|0;if(!M){M=e;T=i}}function ct(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0]}function dt(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0];c[y+4>>0]=c[e+4>>0];c[y+5>>0]=c[e+5>>0];c[y+6>>0]=c[e+6>>0];c[y+7>>0]=c[e+7>>0]}function ht(e){e=e|0;j=e}function bt(){return j|0}function kt(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,c=0,d=0;d=v;v=v+8272|0;s=d+16|0;u=d+12|0;l=d;h[u>>2]=0;if((h[e>>2]|0)==1375686655)c=dn(0)|0;else c=dn(2)|0;ln(c,1,0)|0;sn(c,2,0)|0;on(c,3,0)|0;hn(s);h[l>>2]=e;h[l+4>>2]=e;h[l+8>>2]=i;o=un(l,1)|0;if(!(bn(c,s)|0)){hs(4476)|0;Bt(o);Ln(c);f=1;v=d;return f|0}if(!(kn(o,c,u)|0)){hs(4528)|0;Bt(o);Ln(c);tn(h[u>>2]|0);f=1;v=d;return f|0}if(!(vn(c,o,h[u>>2]|0,h[s+8228>>2]|0)|0)){hs(4578)|0;Ln(c);Bt(o);tn(h[u>>2]|0);f=1;v=d;return f|0}l=h[u>>2]|0;h[n>>2]=h[l+8>>2];h[f>>2]=h[l+12>>2];e=h[l+16>>2]|0;h[a>>2]=e;e=ue(ue(e<<2,h[n>>2]|0)|0,h[f>>2]|0)|0;h[t>>2]=e;t=Cs(e)|0;h[r>>2]=t;switch(h[a>>2]|0){case 1:{Gs(t|0,h[(h[l+24>>2]|0)+44>>2]|0,e|0)|0;break}case 3:{if((ue(h[f>>2]|0,h[n>>2]|0)|0)>0){i=h[l+24>>2]|0;l=h[i+44>>2]|0;e=h[i+96>>2]|0;i=h[i+148>>2]|0;s=0;do{a=s*3|0;h[t+(a<<2)>>2]=h[l+(s<<2)>>2];h[t+(a+1<<2)>>2]=h[e+(s<<2)>>2];h[t+(a+2<<2)>>2]=h[i+(s<<2)>>2];s=s+1|0}while((s|0)<(ue(h[f>>2]|0,h[n>>2]|0)|0))}break}default:{}}Bt(o);Ln(c);tn(h[u>>2]|0);f=0;v=d;return f|0}function wt(){return cn()|0}function _t(e,i){e=e|0;i=i|0;return}function mt(e,i){e=e|0;i=i|0;return}function pt(e,i){e=e|0;i=i|0;var r=0;i=v;v=v+16|0;r=i;h[r>>2]=e;ds(4625,r)|0;v=i;return}function vt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;h[n>>2]=i;if(!r){v=f;return}i=e;t=0;e=n+(r+-1)|0;while(1){c[i>>0]=c[e>>0]|0;t=t+1|0;if((t|0)==(r|0))break;else{i=i+1|0;e=e+-1|0}}v=f;return}function gt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;h[i>>2]=0;if(!r)return;t=0;i=i+(r+-1)|0;while(1){c[i>>0]=c[e>>0]|0;t=t+1|0;if((t|0)==(r|0))break;else{e=e+1|0;i=i+-1|0}}return}function yt(e,i){e=e|0;i=+i;var r=0,t=0,n=0,f=0,a=0;r=v;v=v+16|0;f=r;m[f>>3]=i;f=f+8|0;m[y>>3]=i;t=h[y>>2]|0;n=h[y+4>>2]|0;a=Vs(t|0,n|0,56)|0;c[e>>0]=a;a=Vs(t|0,n|0,48)|0;c[e+1>>0]=a;a=Vs(t|0,n|0,40)|0;c[e+2>>0]=a;c[e+3>>0]=n;c[e+4>>0]=c[f+-5>>0]|0;c[e+5>>0]=c[f+-6>>0]|0;n=Vs(t|0,n|0,8)|0;c[e+6>>0]=n;c[e+7>>0]=t;v=r;return}function Et(e,i){e=e|0;i=i|0;var r=0;r=i+8|0;c[r+-1>>0]=c[e>>0]|0;c[r+-2>>0]=c[e+1>>0]|0;c[r+-3>>0]=c[e+2>>0]|0;c[r+-4>>0]=c[e+3>>0]|0;c[r+-5>>0]=c[e+4>>0]|0;c[r+-6>>0]=c[e+5>>0]|0;c[r+-7>>0]=c[e+6>>0]|0;c[i>>0]=c[e+7>>0]|0;return}function At(e,i){e=e|0;i=+i;var r=0;r=(_[y>>2]=i,h[y>>2]|0);c[e>>0]=r>>>24;c[e+1>>0]=r>>>16;c[e+2>>0]=r>>>8;c[e+3>>0]=r;return}function Mt(e,i){e=e|0;i=i|0;var r=0;r=i+4|0;c[r+-1>>0]=c[e>>0]|0;c[r+-2>>0]=c[e+1>>0]|0;c[r+-3>>0]=c[e+2>>0]|0;c[i>>0]=c[e+3>>0]|0;return}function Tt(e,i){e=e|0;i=i|0;var r=0,t=0;t=Kn(1,72)|0;if(!t){i=0;return i|0}h[t+64>>2]=e;e=Gn(e)|0;h[t+32>>2]=e;if(!e){Qn(t);i=0;return i|0}h[t+36>>2]=e;e=t+68|0;r=h[e>>2]|0;if(!i){h[e>>2]=r|1;h[t+40>>2]=31;h[t+44>>2]=32}else{h[e>>2]=r|2;h[t+40>>2]=29;h[t+44>>2]=30}h[t+16>>2]=4;h[t+20>>2]=5;h[t+24>>2]=6;h[t+28>>2]=7;i=t;return i|0}function St(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;c=v;v=v+16|0;u=c;n=e+48|0;f=h[n>>2]|0;if(f>>>0>=i>>>0){u=e+36|0;h[u>>2]=(h[u>>2]|0)+i;h[n>>2]=f-i;u=e+56|0;e=u;e=zs(h[e>>2]|0,h[e+4>>2]|0,i|0,r|0)|0;h[u>>2]=e;h[u+4>>2]=j;u=r;e=i;j=u;v=c;return e|0}o=e+68|0;if(h[o>>2]&4){u=e+36|0;h[u>>2]=(h[u>>2]|0)+f;h[n>>2]=0;e=e+56|0;u=e;u=zs(h[u>>2]|0,h[u+4>>2]|0,f|0,0)|0;h[e>>2]=u;h[e+4>>2]=j;e=(f|0)!=0;u=e?0:-1;e=e?f:-1;j=u;v=c;return e|0}if(!f){f=0;n=0}else{h[e+36>>2]=h[e+32>>2];i=Hs(i|0,r|0,f|0,0)|0;h[n>>2]=0;n=0;r=j}e:do{if((r|0)>0|(r|0)==0&i>>>0>0){s=e+24|0;while(1){a=Ro[h[s>>2]&63](i,r,h[e>>2]|0)|0;l=j;if((a|0)==-1&(l|0)==-1)break;i=Hs(i|0,r|0,a|0,l|0)|0;r=j;f=zs(a|0,l|0,f|0,n|0)|0;n=j;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}Zt(t,4,4636,u)|0;h[o>>2]=h[o>>2]|4;e=e+56|0;u=e;u=zs(h[u>>2]|0,h[u+4>>2]|0,f|0,n|0)|0;h[e>>2]=u;h[e+4>>2]=j;e=(f|0)!=0|(n|0)!=0;u=e?n:-1;e=e?f:-1;j=u;v=c;return e|0}}while(0);u=e+56|0;e=u;e=zs(h[e>>2]|0,h[e+4>>2]|0,f|0,n|0)|0;h[u>>2]=e;h[u+4>>2]=j;u=n;e=f;j=u;v=c;return e|0}function Pt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;h[e+36>>2]=h[e+32>>2];h[e+48>>2]=0;f=(Ro[h[e+28>>2]&63](i,r,h[e>>2]|0)|0)==0;t=e+68|0;n=h[t>>2]|0;if(f){h[t>>2]=n|4;f=0;return f|0}else{h[t>>2]=n&-5;f=e+56|0;h[f>>2]=i;h[f+4>>2]=r;f=1;return f|0}return 0}function Ot(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;w=v;v=v+16|0;k=w+8|0;u=w;b=e+68|0;if(h[b>>2]&8){k=-1;e=-1;j=k;v=w;return e|0}s=e+32|0;n=h[s>>2]|0;d=e+36|0;h[d>>2]=n;o=e+48|0;f=h[o>>2]|0;do{if(f){l=e+20|0;while(1){a=Ro[h[l>>2]&63](n,f,h[e>>2]|0)|0;if((a|0)==-1)break;n=(h[d>>2]|0)+a|0;h[d>>2]=n;_=h[o>>2]|0;f=_-a|0;h[o>>2]=f;if((_|0)==(a|0)){c=6;break}}if((c|0)==6){n=h[s>>2]|0;break}h[b>>2]=h[b>>2]|8;Zt(t,4,4662,u)|0;h[b>>2]=h[b>>2]|8;h[o>>2]=0;e=-1;_=-1;j=e;v=w;return _|0}}while(0);h[d>>2]=n;e:do{if((r|0)>0|(r|0)==0&i>>>0>0){s=e+24|0;f=0;n=0;while(1){a=Ro[h[s>>2]&63](i,r,h[e>>2]|0)|0;l=j;if((a|0)==-1&(l|0)==-1)break;i=Hs(i|0,r|0,a|0,l|0)|0;r=j;f=zs(a|0,l|0,f|0,n|0)|0;n=j;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}Zt(t,4,4688,k)|0;h[b>>2]=h[b>>2]|8;_=e+56|0;e=_;e=zs(h[e>>2]|0,h[e+4>>2]|0,f|0,n|0)|0;h[_>>2]=e;h[_+4>>2]=j;_=(f|0)!=0|(n|0)!=0;e=_?n:-1;_=_?f:-1;j=e;v=w;return _|0}else{f=0;n=0}}while(0);e=e+56|0;_=e;_=zs(h[_>>2]|0,h[_+4>>2]|0,f|0,n|0)|0;h[e>>2]=_;h[e+4>>2]=j;e=n;_=f;j=e;v=w;return _|0}function Rt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;b=v;v=v+16|0;s=b;u=e+32|0;n=h[u>>2]|0;c=e+36|0;h[c>>2]=n;d=e+48|0;f=h[d>>2]|0;do{if(!f)f=e;else{l=e+20|0;while(1){a=Ro[h[l>>2]&63](n,f,h[e>>2]|0)|0;if((a|0)==-1)break;n=(h[c>>2]|0)+a|0;h[c>>2]=n;k=h[d>>2]|0;f=k-a|0;h[d>>2]=f;if((k|0)==(a|0)){o=6;break}}if((o|0)==6){f=e;n=h[u>>2]|0;break}k=e+68|0;h[k>>2]=h[k>>2]|8;Zt(t,4,4662,s)|0;h[k>>2]=h[k>>2]|8;k=0;v=b;return k|0}}while(0);h[c>>2]=n;h[d>>2]=0;if(!(Ro[h[e+28>>2]&63](i,r,h[f>>2]|0)|0)){k=e+68|0;h[k>>2]=h[k>>2]|8;k=0;v=b;return k|0}else{k=e+56|0;h[k>>2]=i;h[k+4>>2]=r;k=1;v=b;return k|0}return 0}function Lt(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function Ct(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function Dt(e,i,r){e=e|0;i=i|0;r=r|0;j=-1;return-1}function xt(e,i,r){e=e|0;i=i|0;r=r|0;return 0}function It(e){e=e|0;var i=0,r=0,t=0;t=Kn(1,72)|0;if(!t){e=0;return e|0}h[t+64>>2]=1048576;i=Gn(1048576)|0;h[t+32>>2]=i;if(!i){Qn(t);e=0;return e|0}h[t+36>>2]=i;i=t+68|0;r=h[i>>2]|0;if(!e){h[i>>2]=r|1;h[t+40>>2]=31;h[t+44>>2]=32}else{h[i>>2]=r|2;h[t+40>>2]=29;h[t+44>>2]=30}h[t+16>>2]=4;h[t+20>>2]=5;h[t+24>>2]=6;h[t+28>>2]=7;e=t;return e|0}function Bt(e){e=e|0;var i=0;if(!e)return;i=h[e+4>>2]|0;if(i)Co[i&7](h[e>>2]|0);i=e+32|0;Qn(h[i>>2]|0);h[i>>2]=0;Qn(e);return}function Nt(e,i){e=e|0;i=i|0;if(!e)return;if(!(h[e+68>>2]&2))return;h[e+16>>2]=i;return}function Ft(e,i){e=e|0;i=i|0;if(!e)return;h[e+28>>2]=i;return}function Ut(e,i){e=e|0;i=i|0;if(!e)return;if(!(h[e+68>>2]&1))return;h[e+20>>2]=i;return}function jt(e,i){e=e|0;i=i|0;if(!e)return;h[e+24>>2]=i;return}function Ht(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;h[e>>2]=i;h[e+4>>2]=r;return}function Yt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;e=e+8|0;h[e>>2]=i;h[e+4>>2]=r;return}function qt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+16|0;_=y+8|0;w=y;g=e+48|0;n=h[g>>2]|0;if(n>>>0>=r>>>0){p=e+36|0;Gs(i|0,h[p>>2]|0,r|0)|0;h[p>>2]=(h[p>>2]|0)+r;h[g>>2]=(h[g>>2]|0)-r;g=e+56|0;p=g;p=zs(h[p>>2]|0,h[p+4>>2]|0,r|0,0)|0;h[g>>2]=p;h[g+4>>2]=j;g=r;v=y;return g|0}m=e+68|0;if(h[m>>2]&4){p=e+36|0;Gs(i|0,h[p>>2]|0,n|0)|0;t=h[g>>2]|0;h[p>>2]=(h[p>>2]|0)+t;p=e+56|0;m=p;t=zs(h[m>>2]|0,h[m+4>>2]|0,t|0,0)|0;h[p>>2]=t;h[p+4>>2]=j;h[g>>2]=0;g=(n|0)!=0?n:-1;v=y;return g|0}if(!n){d=e+32|0;f=h[d>>2]|0;b=e+36|0;h[b>>2]=f;k=b;p=e+56|0;n=0}else{b=e+36|0;Gs(i|0,h[b>>2]|0,n|0)|0;d=e+32|0;f=h[d>>2]|0;h[b>>2]=f;k=h[g>>2]|0;p=e+56|0;u=p;u=zs(h[u>>2]|0,h[u+4>>2]|0,k|0,0)|0;c=p;h[c>>2]=u;h[c+4>>2]=j;h[g>>2]=0;r=r-k|0;i=i+k|0;k=b}u=e+64|0;c=e+16|0;o=i;a=f;while(1){i=h[u>>2]|0;f=h[c>>2]|0;if(r>>>0<i>>>0){f=Ro[f&63](a,i,h[e>>2]|0)|0;h[g>>2]=f;if((f|0)==-1){f=11;break}if(f>>>0>=r>>>0){i=o;f=14;break}Gs(o|0,h[k>>2]|0,f|0)|0;a=h[d>>2]|0;h[b>>2]=a;i=h[g>>2]|0;l=p;l=zs(h[l>>2]|0,h[l+4>>2]|0,i|0,0)|0;s=j;n=f+n|0}else{i=Ro[f&63](o,r,h[e>>2]|0)|0;h[g>>2]=i;if((i|0)==-1){f=16;break}n=i+n|0;if(i>>>0>=r>>>0){f=20;break}a=h[d>>2]|0;h[b>>2]=a;l=p;l=zs(h[l>>2]|0,h[l+4>>2]|0,i|0,0)|0;s=j}f=p;h[f>>2]=l;h[f+4>>2]=s;h[g>>2]=0;r=r-i|0;o=o+i|0}if((f|0)==11){Zt(t,4,4636,w)|0;h[g>>2]=0;h[m>>2]=h[m>>2]|4;g=(n|0)!=0?n:-1;v=y;return g|0}else if((f|0)==14){Gs(i|0,h[k>>2]|0,r|0)|0;h[k>>2]=(h[k>>2]|0)+r;h[g>>2]=(h[g>>2]|0)-r;t=p;t=zs(h[t>>2]|0,h[t+4>>2]|0,r|0,0)|0;g=p;h[g>>2]=t;h[g+4>>2]=j;g=n+r|0;v=y;return g|0}else if((f|0)==16){Zt(t,4,4636,_)|0;h[g>>2]=0;h[m>>2]=h[m>>2]|4;g=(n|0)!=0?n:-1;v=y;return g|0}else if((f|0)==20){t=p;t=zs(h[t>>2]|0,h[t+4>>2]|0,i|0,0)|0;h[p>>2]=t;h[p+4>>2]=j;h[b>>2]=h[d>>2];h[g>>2]=0;g=n;v=y;return g|0}return 0}function Xt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;p=v;v=v+16|0;w=p;c=e+68|0;if(h[c>>2]&8){m=-1;v=p;return m|0}k=e+64|0;n=h[k>>2]|0;m=e+48|0;s=h[m>>2]|0;f=n-s|0;do{if(f>>>0<r>>>0){d=e+32|0;a=e+36|0;b=e+20|0;l=e+56|0;o=n;u=f;n=0;e:while(1){if((o|0)==(s|0))f=h[d>>2]|0;else{Gs(h[a>>2]|0,i|0,u|0)|0;f=h[d>>2]|0;h[a>>2]=f;s=(h[m>>2]|0)+u|0;h[m>>2]=s;g=l;g=zs(h[g>>2]|0,h[g+4>>2]|0,u|0,0)|0;o=l;h[o>>2]=g;h[o+4>>2]=j;r=r-u|0;i=i+u|0;n=u+n|0}h[a>>2]=f;if(!s)s=0;else{do{o=Ro[h[b>>2]&63](f,s,h[e>>2]|0)|0;if((o|0)==-1)break e;f=(h[a>>2]|0)+o|0;h[a>>2]=f;g=h[m>>2]|0;s=g-o|0;h[m>>2]=s}while((g|0)!=(o|0));f=h[d>>2]|0}h[a>>2]=f;o=h[k>>2]|0;u=o-s|0;if(r>>>0<=u>>>0){_=5;break}}if((_|0)==5)break;h[c>>2]=h[c>>2]|8;Zt(t,4,4662,w)|0;g=-1;v=p;return g|0}else{f=e+36|0;l=e+56|0;a=f;f=h[f>>2]|0;n=0}}while(0);Gs(f|0,i|0,r|0)|0;h[a>>2]=(h[a>>2]|0)+r;h[m>>2]=(h[m>>2]|0)+r;m=l;m=zs(h[m>>2]|0,h[m+4>>2]|0,r|0,0)|0;g=l;h[g>>2]=m;h[g+4>>2]=j;g=n+r|0;v=p;return g|0}function zt(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;c=v;v=v+16|0;s=c;f=e+32|0;r=h[f>>2]|0;u=e+36|0;h[u>>2]=r;a=e+48|0;t=h[a>>2]|0;do{if(t){l=e+20|0;while(1){n=Ro[h[l>>2]&63](r,t,h[e>>2]|0)|0;if((n|0)==-1)break;r=(h[u>>2]|0)+n|0;h[u>>2]=r;d=h[a>>2]|0;t=d-n|0;h[a>>2]=t;if((d|0)==(n|0)){o=6;break}}if((o|0)==6){r=h[f>>2]|0;break}d=e+68|0;h[d>>2]=h[d>>2]|8;Zt(i,4,4662,s)|0;d=0;v=c;return d|0}}while(0);h[u>>2]=r;d=1;v=c;return d|0}function Vt(e){e=e|0;e=e+56|0;j=h[e+4>>2]|0;return h[e>>2]|0}function Gt(e){e=e|0;var i=0,r=0;r=e+8|0;i=h[r>>2]|0;r=h[r+4>>2]|0;if((i|0)==0&(r|0)==0){r=0;e=0;j=r;return e|0}e=e+56|0;e=Hs(i|0,r|0,h[e>>2]|0,h[e+4>>2]|0)|0;r=j;j=r;return e|0}function Kt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Fo[h[e+40>>2]&63](e,i,r,t)|0;return e|0}function Wt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Fo[h[e+44>>2]&63](e,i,r,t)|0}function Jt(e){e=e|0;return(h[e+28>>2]|0)!=7|0}function Zt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+528|0;f=l;a=l+16|0;e:do{if(e){switch(i|0){case 1:{i=e;n=e+12|0;break}case 2:{i=e+4|0;n=e+16|0;break}case 4:{i=e+8|0;n=e+20|0;break}default:{i=0;break e}}e=h[i>>2]|0;i=h[n>>2]|0;if(i)if(!r)i=1;else{qs(a|0,0,512)|0;h[f>>2]=t;ws(a,512,r,f)|0;Do[i&7](a,e);i=1}else i=0}else i=0}while(0);v=l;return i|0}function Qt(e){e=e|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=4;h[e+20>>2]=4;h[e+16>>2]=4;return}function $t(e,i){e=e|0;i=i|0;return}function en(){return Kn(1,36)|0}function rn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;t=Kn(1,36)|0;if(!t){l=t;return l|0}h[t+20>>2]=r;a=t+16|0;h[a>>2]=e;r=Kn(1,e*52|0)|0;l=t+24|0;h[l>>2]=r;if(!r){r=h[t+28>>2]|0;if(r)Qn(r);Qn(t);l=0;return l|0}if(!e){l=t;return l|0}n=0;while(1){h[r+(n*52|0)>>2]=h[i+(n*36|0)>>2];h[r+(n*52|0)+4>>2]=h[i+(n*36|0)+4>>2];s=h[i+(n*36|0)+8>>2]|0;h[r+(n*52|0)+8>>2]=s;o=h[i+(n*36|0)+12>>2]|0;h[r+(n*52|0)+12>>2]=o;h[r+(n*52|0)+16>>2]=h[i+(n*36|0)+16>>2];h[r+(n*52|0)+20>>2]=h[i+(n*36|0)+20>>2];h[r+(n*52|0)+24>>2]=h[i+(n*36|0)+24>>2];h[r+(n*52|0)+28>>2]=h[i+(n*36|0)+28>>2];h[r+(n*52|0)+32>>2]=h[i+(n*36|0)+32>>2];s=Kn(ue(o,s)|0,4)|0;h[r+(n*52|0)+44>>2]=s;n=n+1|0;if(!s)break;if(n>>>0>=e>>>0){f=22;break}r=h[l>>2]|0}if((f|0)==22)return t|0;r=h[l>>2]|0;if(r){n=h[a>>2]|0;if(n){i=0;while(1){r=h[r+(i*52|0)+44>>2]|0;if(r){Qn(r);n=h[a>>2]|0}i=i+1|0;if(i>>>0>=n>>>0)break;r=h[l>>2]|0}r=h[l>>2]|0}Qn(r)}r=h[t+28>>2]|0;if(r)Qn(r);Qn(t);o=0;return o|0}function tn(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;if(!e)return;n=e+24|0;i=h[n>>2]|0;if(i){f=e+16|0;r=h[f>>2]|0;if(r){t=0;while(1){i=h[i+(t*52|0)+44>>2]|0;if(i){Qn(i);r=h[f>>2]|0}t=t+1|0;if(t>>>0>=r>>>0)break;i=h[n>>2]|0}i=h[n>>2]|0}Qn(i)}i=h[e+28>>2]|0;if(i)Qn(i);Qn(e);return}function nn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;r=h[i+4>>2]|0;t=h[e>>2]|0;f=h[i+8>>2]|0;a=h[e+4>>2]|0;n=h[i+12>>2]|0;u=(ue((h[i+24>>2]|0)+-1|0,n)|0)+r|0;l=h[i+16>>2]|0;s=(ue((h[i+28>>2]|0)+-1|0,l)|0)+f|0;i=zs(u|0,0,n|0,0)|0;i=i|0-j;n=h[e+8>>2]|0;l=zs(s|0,0,l|0,0)|0;l=l|0-j;s=h[e+12>>2]|0;u=h[e+16>>2]|0;if(!u)return;o=(r>>>0>t>>>0?r:t)+-1|0;f=(f>>>0>a>>>0?f:a)+-1|0;n=(i>>>0<n>>>0?i:n)+-1|0;r=(l>>>0<s>>>0?l:s)+-1|0;t=0;i=h[e+24>>2]|0;while(1){a=h[i>>2]|0;s=((o+a|0)>>>0)/(a>>>0)|0;b=h[i+4>>2]|0;e=((f+b|0)>>>0)/(b>>>0)|0;l=h[i+40>>2]|0;d=Xs(1,0,l|0)|0;c=j;a=zs((((n+a|0)>>>0)/(a>>>0)|0)-s|0,0,-1,-1)|0;a=zs(a|0,j|0,d|0,c|0)|0;a=Vs(a|0,j|0,l|0)|0;b=zs((((r+b|0)>>>0)/(b>>>0)|0)-e|0,0,-1,-1)|0;c=zs(b|0,j|0,d|0,c|0)|0;l=Vs(c|0,j|0,l|0)|0;h[i+8>>2]=a;h[i+12>>2]=l;h[i+16>>2]=s;h[i+20>>2]=e;t=t+1|0;if(t>>>0>=u>>>0)break;else i=i+52|0}return}function fn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;h[i>>2]=h[e>>2];h[i+4>>2]=h[e+4>>2];h[i+8>>2]=h[e+8>>2];h[i+12>>2]=h[e+12>>2];s=i+24|0;t=h[s>>2]|0;l=i+16|0;if(!t)r=s;else{r=h[l>>2]|0;if(!r)r=s;else{n=0;while(1){t=h[t+(n*52|0)+44>>2]|0;if(t){Qn(t);r=h[l>>2]|0}n=n+1|0;if(n>>>0>=r>>>0)break;t=h[s>>2]|0}r=s;t=h[s>>2]|0}Qn(t);h[s>>2]=0}t=h[e+16>>2]|0;h[l>>2]=t;t=Gn(t*52|0)|0;h[r>>2]=t;if(!t){h[s>>2]=0;h[l>>2]=0;return}if(h[l>>2]|0){a=e+24|0;f=0;do{r=t+(f*52|0)|0;t=(h[a>>2]|0)+(f*52|0)|0;n=r+52|0;do{h[r>>2]=h[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0));t=h[s>>2]|0;h[t+(f*52|0)+44>>2]=0;f=f+1|0}while(f>>>0<(h[l>>2]|0)>>>0)}h[i+20>>2]=h[e+20>>2];n=e+32|0;r=h[n>>2]|0;f=i+32|0;h[f>>2]=r;if(!r){h[i+28>>2]=0;return}t=Gn(r)|0;r=i+28|0;h[r>>2]=t;if(!t){h[r>>2]=0;h[f>>2]=0;return}else{Gs(t|0,h[e+28>>2]|0,h[n>>2]|0)|0;return}}function an(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=Kn(1,36)|0;if(!t){e=t;return e|0}h[t+20>>2]=r;h[t+16>>2]=e;r=Kn(e,52)|0;h[t+24>>2]=r;if(!r){r=h[t+28>>2]|0;if(r)Qn(r);Qn(t);e=0;return e|0}else{if(!e){e=t;return e|0}else n=0;do{h[r+(n*52|0)>>2]=h[i+(n*36|0)>>2];h[r+(n*52|0)+4>>2]=h[i+(n*36|0)+4>>2];h[r+(n*52|0)+8>>2]=h[i+(n*36|0)+8>>2];h[r+(n*52|0)+12>>2]=h[i+(n*36|0)+12>>2];h[r+(n*52|0)+16>>2]=h[i+(n*36|0)+16>>2];h[r+(n*52|0)+20>>2]=h[i+(n*36|0)+20>>2];h[r+(n*52|0)+24>>2]=h[i+(n*36|0)+24>>2];h[r+(n*52|0)+32>>2]=h[i+(n*36|0)+32>>2];h[r+(n*52|0)+44>>2]=0;n=n+1|0}while((n|0)!=(e|0));return t|0}return 0}function ln(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}h[e+64>>2]=i;h[e+52>>2]=r;r=1;return r|0}function sn(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}h[e+60>>2]=i;h[e+48>>2]=r;r=1;return r|0}function on(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}h[e+56>>2]=i;h[e+44>>2]=r;r=1;return r|0}function un(e,i){e=e|0;i=i|0;var r=0;if(!e){e=0;return e|0}r=It(i)|0;if(!r){e=0;return e|0}Ht(r,e,0);Yt(r,h[e+8>>2]|0,0);if(!i)Ut(r,9);else Nt(r,8);jt(r,1);Ft(r,10);e=r;return e|0}function cn(){return 4703}function dn(e){e=e|0;var i=0;i=Kn(1,84)|0;if(!i){e=0;return e|0}h[i+68>>2]=1;switch(e|0){case 0:{h[i+72>>2]=13;h[i+76>>2]=2;h[i+80>>2]=3;h[i+4>>2]=33;h[i+16>>2]=11;h[i>>2]=34;h[i+20>>2]=1;h[i+24>>2]=5;h[i+8>>2]=1;h[i+12>>2]=1;h[i+28>>2]=1;h[i+32>>2]=1;h[i+36>>2]=12;e=df()|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}case 2:{h[i+72>>2]=14;h[i+76>>2]=4;h[i+80>>2]=5;h[i+4>>2]=35;h[i+16>>2]=13;h[i>>2]=36;h[i+8>>2]=2;h[i+12>>2]=2;h[i+20>>2]=2;h[i+24>>2]=6;h[i+28>>2]=2;h[i+32>>2]=2;h[i+36>>2]=14;e=Vi(1)|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}default:{Qn(i);e=0;return e|0}}Qt(i+44|0);e=i;return e|0}function hn(e){e=e|0;if(!e)return;qs(e|0,0,8248)|0;h[e+8200>>2]=-1;h[e+8204>>2]=-1;h[e+8248>>2]=0;return}function bn(e,i){e=e|0;i=i|0;var r=0;r=v;v=v+16|0;if(!((e|0)!=0&(i|0)!=0)){i=0;v=r;return i|0}if(!(h[e+68>>2]|0)){Zt(e+44|0,1,4709,r)|0;i=0;v=r;return i|0}else{Do[h[e+24>>2]&7](h[e+40>>2]|0,i);i=1;v=r;return i|0}return 0}function kn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=v;v=v+16|0;if(!((e|0)!=0&(i|0)!=0)){e=0;v=t;return e|0}if(!(h[i+68>>2]|0)){Zt(i+44|0,1,4790,t)|0;e=0;v=t;return e|0}else{e=Fo[h[i>>2]&63](e,h[i+40>>2]|0,r,i+44|0)|0;v=t;return e|0}return 0}function wn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(h[e+68>>2]|0)){i=0;return i|0}i=Fo[h[e+4>>2]&63](h[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function _n(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;if(!e){t=0;return t|0}if(!(h[e+68>>2]|0)){t=0;return t|0}t=Oo[h[e+28>>2]&3](h[e+40>>2]|0,i,r,t,n,f,e+44|0)|0;return t|0}function mn(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;if(!((r|0)!=0&((e|0)!=0&(i|0)!=0&(t|0)!=0))){l=0;return l|0}if(!(h[e+68>>2]|0)){l=0;return l|0}l=No[h[e+8>>2]&3](h[e+40>>2]|0,r,t,n,f,a,l,s,o,i,e+44|0)|0;return l|0}function pn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if(!((e|0)!=0&(r|0)!=0&(n|0)!=0)){i=0;return i|0}if(!(h[e+68>>2]|0)){i=0;return i|0}i=xo[h[e+12>>2]&7](h[e+40>>2]|0,i,r,t,n,e+44|0)|0;return i|0}function vn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if(!((e|0)!=0&(i|0)!=0)){t=0;return t|0}if(!(h[e+68>>2]|0)){t=0;return t|0}t=jo[h[e+32>>2]&3](h[e+40>>2]|0,i,r,e+44|0,t)|0;return t|0}function gn(e,i){e=e|0;i=i|0;if(!e){i=0;return i|0}i=Ro[h[e+36>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function yn(e){e=e|0;var i=0;i=Kn(1,84)|0;if(!i){e=0;return e|0}h[i+68>>2]=0;switch(e|0){case 0:{h[i+4>>2]=15;h[i+12>>2]=16;h[i>>2]=37;h[i+8>>2]=3;h[i+16>>2]=1;h[i+20>>2]=38;e=rf()|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}case 2:{h[i+4>>2]=17;h[i+12>>2]=18;h[i>>2]=39;h[i+8>>2]=4;h[i+16>>2]=2;h[i+20>>2]=40;e=Vi(0)|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}default:{Qn(i);e=0;return e|0}}Qt(i+44|0);e=i;return e|0}function En(e){e=e|0;if(!e)return;qs(e|0,0,18708)|0;h[e+5592>>2]=6;h[e+18684>>2]=0;h[e+5596>>2]=64;h[e+5600>>2]=64;h[e+44>>2]=0;h[e+5612>>2]=-1;h[e+18188>>2]=1;h[e+18192>>2]=1;c[e+18688>>0]=0;h[e+18196>>2]=-1;h[e+18200>>2]=-1;_[e+4792>>2]=0.0;h[e+4788>>2]=0;h[e+20>>2]=0;h[e+24>>2]=0;h[e+28>>2]=0;h[e+18692>>2]=0;return}function An(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=Fo[h[e+20>>2]&63](h[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function Mn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(r|0)!=0)){r=0;return r|0}if(h[e+68>>2]|0){r=0;return r|0}r=Fo[h[e>>2]&63](h[e+40>>2]|0,r,i,e+44|0)|0;return r|0}function Tn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=Ro[h[e+4>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function Sn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=Ro[h[e+12>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function Pn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(h[e+68>>2]|0)){i=0;return i|0}i=Ro[h[e+16>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function On(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;a=t<<2;n=ue(a,t)|0;f=e+18704|0;t=k[f>>1]|0;d[f>>1]=(t&32768|0)==0?-32512:(t|256)&65535;h[e+5608>>2]=1;c[e+18690>>0]=2;f=Gn(n+a|0)|0;t=e+18696|0;h[t>>2]=f;if(!f){r=0;return r|0}Gs(f|0,i|0,n|0)|0;Gs((h[t>>2]|0)+n|0,r|0,a|0)|0;r=1;return r|0}function Rn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if(!((r|0)!=0&((e|0)!=0&(n|0)!=0))){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=xo[h[e+8>>2]&7](h[e+40>>2]|0,i,r,t,n,e+44|0)|0;return i|0}function Ln(e){e=e|0;var i=0,r=0;if(!e)return;i=e+40|0;r=h[i>>2]|0;if(!(h[e+68>>2]|0))Co[h[e+16>>2]&7](r);else Co[h[e+20>>2]&7](r);h[i>>2]=0;Qn(e);return}function Cn(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;Bo[h[e+72>>2]&15](h[e+40>>2]|0,i,r);return}function Dn(e){e=e|0;if(!e){e=0;return e|0}e=Io[h[e+76>>2]&15](h[e+40>>2]|0)|0;return e|0}function xn(e){e=e|0;var i=0,r=0;if(!e)return;i=h[e>>2]|0;r=h[i+48>>2]|0;if(r){Qn(r);i=h[e>>2]|0}Qn(i);h[e>>2]=0;return}function In(e){e=e|0;if(!e){e=0;return e|0}e=Io[h[e+80>>2]&15](h[e+40>>2]|0)|0;return e|0}function Bn(e){e=e|0;var i=0;i=h[e>>2]|0;if(!i)return;sf(i);h[e>>2]=0;return}function Nn(e,i){e=e|0;i=i|0;return Fn(e,1048576,i)|0}function Fn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!e){i=0;return i|0}t=$l(e,(r|0)==0?4869:4872)|0;if(!t){i=0;return i|0}e=Tt(i,r)|0;if(!e){Zl(t)|0;i=0;return i|0}else{Ht(e,t,6);as(t,0,2)|0;i=os(t)|0;as(t,0,0)|0;Yt(e,i,((i|0)<0)<<31>>31);Nt(e,19);Ut(e,20);jt(e,21);Ft(e,22);i=e;return i|0}return 0}function Un(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=(h[r>>2]|0)+(h[r+8>>2]|0)|0;r=r+4|0;t=h[r>>2]|0;n=f-t|0;if((f|0)==(t|0)){f=-1;return f|0}f=n>>>0>i>>>0?i:n;Gs(e|0,t|0,f|0)|0;h[r>>2]=(h[r>>2]|0)+f;return f|0}function jn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=r+4|0;t=h[o>>2]|0;l=r+8|0;f=h[l>>2]|0;s=t-(h[r>>2]|0)|0;n=(f|0)==0?1:f;while(1)if((n-s|0)>>>0<i>>>0)n=n<<1;else{a=n;break}if((a|0)!=(f|0)){t=Gn(a)|0;if(!t){i=-1;return i|0}n=h[r>>2]|0;if(n){Gs(t|0,n|0,s|0)|0;Qn(h[r>>2]|0)}h[r>>2]=t;t=t+s|0;h[o>>2]=t;h[l>>2]=a}Gs(t|0,e|0,i|0)|0;h[o>>2]=(h[o>>2]|0)+i;return i|0}function Hn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;n=(h[i>>2]|0)+(h[i+8>>2]|0)|0;i=i+4|0;r=h[i>>2]|0;t=n-r|0;if((n|0)==(r|0)){n=-1;return n|0}h[i>>2]=r+e;n=t>>>0>e>>>0?e:t;return n|0}function Yn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=h[r+8>>2]|0;h[r+4>>2]=(h[r>>2]|0)+(0>(i|0)|0==(i|0)&t>>>0>e>>>0?e:t);return 1}function qn(e,i,r){e=e|0;i=i|0;r=r|0;i=ts(e,1,i,r)|0;return((i|0)!=0?i:-1)|0}function Xn(e,i,r){e=e|0;i=i|0;r=r|0;return cs(e,1,i,r)|0}function zn(e,i,r){e=e|0;i=i|0;r=r|0;r=(as(r,e,1)|0)==0;j=r?i:-1;return(r?e:-1)|0}function Vn(e,i,r){e=e|0;i=i|0;r=r|0;return(as(r,e,0)|0)==0|0}function Gn(e){e=e|0;if(!e)e=0;else e=Cs(e)|0;return e|0}function Kn(e,i){e=e|0;i=i|0;if(!i)e=0;else e=xs(e,i)|0;return e|0}function Wn(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;do{if(e)if(!(Bs(i,16,e)|0)){i=h[i>>2]|0;break}else{h[i>>2]=0;i=0;break}else i=0}while(0);v=r;return i|0}function Jn(e){e=e|0;Ds(e);return}function Zn(e,i){e=e|0;i=i|0;if(!i)i=0;else i=Is(e,i)|0;return i|0}function Qn(e){e=e|0;Ds(e);return}function $n(e){e=e|0;var i=0,r=0;i=696;while(1){r=h[i>>2]|0;if((r|0)==-1|(r|0)==(e|0))break;else i=i+12|0}return i+4|0}function ef(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0))return;h[e+172>>2]=h[i+4>>2];h[e+168>>2]=h[i>>2];return}function rf(){var e=0,i=0;e=Kn(1,208)|0;if(!e){e=0;return e|0}h[e>>2]=0;i=e+184|0;c[i>>0]=c[i>>0]&-3;i=Gn(1e3)|0;h[e+44>>2]=i;if(!i){tf(e);i=0;return i|0}h[e+48>>2]=1e3;i=_a()|0;h[e+192>>2]=i;if(!i){tf(e);i=0;return i|0}i=_a()|0;h[e+188>>2]=i;if(i){i=e;return i|0}tf(e);i=0;return i|0}function tf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;if(!e)return;if(!(h[e>>2]|0)){i=e+36|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+24|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+28>>2]=0}i=e+44|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+48>>2]=0}}else{i=e+12|0;r=h[i>>2]|0;if(r){Mf(r);Qn(h[i>>2]|0);h[i>>2]=0}i=e+16|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+20>>2]=0}}zr(h[e+204>>2]|0);i=e+88|0;f=e+164|0;r=h[f>>2]|0;if(r){t=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;if(t){n=0;while(1){Mf(r);n=n+1|0;if((n|0)==(t|0))break;else r=r+5640|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}f=e+124|0;r=h[f>>2]|0;if(r){a=e+120|0;t=h[a>>2]|0;if(t){n=0;while(1){r=h[r+(n<<3)>>2]|0;if(r){Qn(r);t=h[a>>2]|0}n=n+1|0;if(n>>>0>=t>>>0)break;r=h[f>>2]|0}r=h[f>>2]|0}h[a>>2]=0;Qn(r);h[f>>2]=0}a=e+144|0;Qn(h[a>>2]|0);h[a>>2]=0;h[e+128>>2]=0;a=e+108|0;Qn(h[a>>2]|0);h[a>>2]=0;if(!(c[e+184>>0]&2)){a=e+176|0;Qn(h[a>>2]|0);h[a>>2]=0}r=i+100|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(r|0));a=e+188|0;ma(h[a>>2]|0);h[a>>2]=0;ma(h[e+192>>2]|0);h[a>>2]=0;a=e+196|0;sf(h[a>>2]|0);h[a>>2]=0;a=e+80|0;tn(h[a>>2]|0);h[a>>2]=0;a=e+84|0;tn(h[a>>2]|0);h[a>>2]=0;Qn(e);return}function nf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0.0,k=0,w=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0.0;oe=v;v=v+320|0;ne=oe+296|0;te=oe+288|0;se=oe+280|0;le=oe+272|0;ae=oe+264|0;fe=oe+256|0;re=oe+248|0;ie=oe+240|0;G=oe+232|0;z=oe+224|0;X=oe+216|0;q=oe+208|0;Y=oe+200|0;H=oe+192|0;j=oe+184|0;g=oe+176|0;p=oe+168|0;w=oe+160|0;k=oe+152|0;u=oe+144|0;x=oe+136|0;D=oe+128|0;F=oe+112|0;C=oe+104|0;L=oe+96|0;R=oe+88|0;P=oe+80|0;S=oe+72|0;T=oe+64|0;M=oe+56|0;A=oe+48|0;E=oe+32|0;y=oe+24|0;o=oe+16|0;a=oe+8|0;f=oe;B=oe+309|0;N=oe+300|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){t=0;v=oe;return t|0}ee=i+5592|0;n=h[ee>>2]|0;if((n+-1|0)>>>0>32){h[f>>2]=n;h[f+4>>2]=33;Zt(t,1,4875,f)|0;t=0;v=oe;return t|0}Q=e+112|0;h[Q>>2]=1;$=e+116|0;h[$>>2]=1;I=i+18704|0;do{if(!(d[I>>1]|0)){switch(h[i+18676>>2]|0){case 1:{d[I>>1]=3;h[i+18700>>2]=1302083;h[i+18680>>2]=1041666;f=1;break}case 2:{d[I>>1]=3;h[i+18700>>2]=651041;h[i+18680>>2]=520833;f=1;break}case 3:{d[I>>1]=4;h[i+18700>>2]=1302083;h[i+18680>>2]=1041666;f=1;break}default:f=0}n=h[i+18684>>2]|0;e:do{if((n|0)>=4)if((n|0)<33024){switch(n|0){case 4:break;default:{Z=13;break e}}d[I>>1]=4;break}else{switch(n|0){case 33024:break;default:{Z=13;break e}}d[I>>1]=-32512;break}else{switch(n|0){case 3:break;default:{Z=13;break e}}d[I>>1]=3}}while(0);if((Z|0)==13?(f|0)==0:0)break;Zt(t,2,4931,a)|0}}while(0);O=i+18700|0;n=h[O>>2]|0;do{if((n|0)<1){b=+_[i+4792+((h[i+4788>>2]|0)+-1<<2)>>2];if(b>0.0){K=h[r+24>>2]|0;o=ue(h[K+8>>2]|0,h[r+16>>2]|0)|0;o=ue(o,h[K+12>>2]|0)|0;ce=+((ue(o,h[K+24>>2]|0)|0)>>>0);K=~~+J(+(ce/(b*8.0*+((h[K>>2]|0)>>>0)*+((h[K+4>>2]|0)>>>0))));h[O>>2]=K;break}else{h[O>>2]=0;break}}else{s=h[r+24>>2]|0;K=ue(h[s+8>>2]|0,h[r+16>>2]|0)|0;K=ue(K,h[s+12>>2]|0)|0;b=+((ue(K,h[s+24>>2]|0)|0)>>>0);n=ue(n<<3,h[s>>2]|0)|0;b=b/+((ue(n,h[s+4>>2]|0)|0)>>>0);s=i+4788|0;n=h[s>>2]|0;if(n){a=n;n=0;l=0;while(1){f=i+4792+(l<<2)|0;if(+_[f>>2]<b){_[f>>2]=b;f=h[s>>2]|0;n=1}else f=a;l=l+1|0;if(l>>>0>=f>>>0)break;else a=f}if(n)Zt(t,2,5068,o)|0}}}while(0);n=d[I>>1]|0;e:do{if((n+-3&65535)>=4){if(n<<16>>16==7){Zt(t,2,7228,u)|0;d[I>>1]=0;n=0;break}if((n+-256&65535)<524){Zt(t,2,7283,k)|0;d[I>>1]=0;n=0;break}if((n+-1024&65535)<1180){Zt(t,2,7331,w)|0;d[I>>1]=0;n=0;break}if(n<<16>>16<=-1)switch(n<<16>>16){case-32512:{n=-32512;break e}case-32768:{Zt(t,2,7373,p)|0;d[I>>1]=0;n=0;break e}default:{Zt(t,2,7461,g)|0;d[I>>1]=0;n=0;break e}}}else{if((n+-5&65535)<2){Zt(t,2,5160,y)|0;d[I>>1]=0;n=0;break}h[i>>2]=0;h[i+12>>2]=1;h[i+16>>2]=1;c[i+18689>>0]=67;c[i+18688>>0]=1;h[i+4>>2]=0;h[i+8>>2]=0;h[i+18180>>2]=0;h[i+18184>>2]=0;h[i+5596>>2]=32;h[i+5600>>2]=32;h[i+5604>>2]=0;h[i+5612>>2]=-1;h[i+18188>>2]=1;h[i+18192>>2]=1;h[i+5608>>2]=1;f=i+4788|0;a=h[f>>2]|0;if((a|0)>1){ce=+_[i+4792+(a+-1<<2)>>2];h[E>>2]=a;m[E+8>>3]=ce;Zt(t,2,5222,E)|0;h[i+4792>>2]=h[i+4792+((h[f>>2]|0)+-1<<2)>>2];h[f>>2]=1;n=d[I>>1]|0}i:do{switch(n&65535|0){case 3:{n=h[ee>>2]|0;if((n|0)>6){h[A>>2]=n+1;Zt(t,2,5395,A)|0;h[ee>>2]=6;n=6}break}case 4:{n=h[ee>>2]|0;if((n|0)<2){h[M>>2]=n+1;Zt(t,2,5541,M)|0;h[ee>>2]=1;n=1;break i}if((n|0)>7){h[T>>2]=n+1;Zt(t,2,5695,T)|0;h[ee>>2]=7;n=7}break}default:n=h[ee>>2]|0}}while(0);f=i+40|0;h[f>>2]=h[f>>2]|1;f=i+5620|0;h[f>>2]=n+-1;if((n|0)>1){n=0;do{h[i+5624+(n<<2)>>2]=256;h[i+5756+(n<<2)>>2]=256;n=n+1|0}while((n|0)<(h[f>>2]|0))}h[i+44>>2]=4;if((d[I>>1]|0)==4){n=h[ee>>2]|0;h[i+96>>2]=1;h[i+48>>2]=0;h[i+52>>2]=0;h[i+56>>2]=1;K=n+-1|0;h[i+60>>2]=K;h[i+64>>2]=3;h[i+80>>2]=4;h[i+244>>2]=1;h[i+196>>2]=K;h[i+200>>2]=0;h[i+204>>2]=1;h[i+208>>2]=n;h[i+212>>2]=3;h[i+228>>2]=4;n=2}else n=0;h[i+4784>>2]=n;h[i+20>>2]=1;n=h[O>>2]|0;if((n|0)>=1){if((n|0)>1302083){Zt(t,2,5998,P)|0;h[O>>2]=1302083}}else{h[O>>2]=1302083;Zt(t,2,5849,S)|0}n=i+18680|0;f=h[n>>2]|0;if((f|0)>=1){if((f|0)>1041666){Zt(t,2,6320,L)|0;h[n>>2]=1041666}}else{h[n>>2]=1041666;Zt(t,2,6171,R)|0}f=h[r+16>>2]|0;l=h[r+24>>2]|0;s=h[l+8>>2]|0;n=ue(s,f)|0;o=h[l+12>>2]|0;n=ue(n,o)|0;ce=+((ue(n,h[l+24>>2]|0)|0)>>>0);n=ue(h[O>>2]<<3,h[l>>2]|0)|0;ce=ce/+((ue(n,h[l+4>>2]|0)|0)>>>0);_[i+4792>>2]=ce;n=d[I>>1]|0;i:do{if((f|0)==3){f=l+28|0;a=l+32|0;if(!((h[f>>2]|0)!=12|h[a>>2])){f=l+80|0;a=l+84|0;if(!((h[f>>2]|0)!=12|h[a>>2])){f=l+132|0;a=l+136|0;if(!((h[f>>2]|0)!=12|h[a>>2])){switch(n&65535|0){case 3:{if(o>>>0>1080|s>>>0>2048){h[D>>2]=s;h[D+4>>2]=o;Zt(t,2,6892,D)|0;break i}break}case 4:{if(o>>>0>2160|s>>>0>4096){h[x>>2]=s;h[x+4>>2]=o;Zt(t,2,7063,x)|0;break i}break}default:{}}break e}else{o=f;n=a;f=2}}else{o=f;n=a;f=1}}else{o=f;n=a;f=0}c[B>>0]=c[6659]|0;c[B+1>>0]=c[6660]|0;c[B+2>>0]=c[6661]|0;c[B+3>>0]=c[6662]|0;c[B+4>>0]=c[6663]|0;c[B+5>>0]=c[6664]|0;c[B+6>>0]=c[6665]|0;a=N;l=6666;s=a+9|0;do{c[a>>0]=c[l>>0]|0;a=a+1|0;l=l+1|0}while((a|0)<(s|0));K=(h[n>>2]|0)!=0?B:N;N=h[o>>2]|0;h[F>>2]=f;h[F+4>>2]=N;h[F+8>>2]=K;Zt(t,2,6675,F)|0}else{h[C>>2]=f;Zt(t,2,6493,C)|0}}while(0);d[I>>1]=0;n=0}}while(0);h[e+168>>2]=h[i+18680>>2];K=e+88|0;d[K>>1]=n;F=e+181|0;B=c[F>>0]&-2|h[i+20>>2]&1;c[F>>0]=B;N=i+24|0;B=(h[N>>2]&255)<<1&2|B&-3;c[F>>0]=B;c[F>>0]=B&-5|(h[i+28>>2]&255)<<2&4;do{if((h[N>>2]|0)!=0?(U=i+32|0,(h[U>>2]|0)!=0):0){n=ue((h[i+4788>>2]|0)*12|0,h[ee>>2]|0)|0;f=Gn(n)|0;h[e+176>>2]=f;if(f){Gs(f|0,h[U>>2]|0,n|0)|0;break}Zt(t,1,7520,j)|0;t=0;v=oe;return t|0}}while(0);l=e+100|0;h[l>>2]=h[i+12>>2];s=e+104|0;h[s>>2]=h[i+16>>2];a=e+92|0;h[a>>2]=h[i+4>>2];o=e+96|0;h[o>>2]=h[i+8>>2];f=i+36|0;n=h[f>>2]|0;do{if(!n){n=cn()|0;f=Gn((Es(n)|0)+29|0)|0;h[e+108>>2]=f;if(f){h[q>>2]=7697;h[q+4>>2]=n;bs(f,7692,q)|0;break}Zt(t,1,7646,Y)|0;t=0;v=oe;return t|0}else{n=Gn((Es(n)|0)+1|0)|0;h[e+108>>2]=n;if(n){ys(n,h[f>>2]|0)|0;break}Zt(t,1,7592,H)|0;t=0;v=oe;return t|0}}while(0);n=(h[r+8>>2]|0)-(h[a>>2]|0)|0;f=h[r+12>>2]|0;if(!(h[i>>2]|0)){h[l>>2]=n;h[s>>2]=f-(h[o>>2]|0)}else{q=h[l>>2]|0;h[Q>>2]=(n+-1+q|0)/(q|0)|0;q=h[s>>2]|0;h[$>>2]=(f+-1-(h[o>>2]|0)+q|0)/(q|0)|0}if(c[i+18688>>0]|0){c[e+180>>0]=c[i+18689>>0]|0;c[F>>0]=c[F>>0]|8}q=Kn(ue(h[$>>2]|0,h[Q>>2]|0)|0,5640)|0;N=e+164|0;h[N>>2]=q;if(!q){Zt(t,1,7726,X)|0;t=0;v=oe;return t|0}B=i+4784|0;T=h[B>>2]|0;do{if(T){y=i+48|0;S=h[ee>>2]|0;P=h[r+16>>2]|0;O=h[i+4788>>2]|0;R=ue(P,S)|0;L=Kn(ue(R,O)|0,4)|0;if(!L){Zt(t,1,7780,z)|0;break}a=h[y>>2]|0;k=i+60|0;n=h[k>>2]|0;if(a>>>0<n>>>0){u=ue(a,P)|0;w=i+52|0;p=i+64|0;g=i+56|0;f=h[p>>2]|0;while(1){l=h[w>>2]|0;if(l>>>0<f>>>0){n=h[g>>2]|0;o=l;s=l+u|0;while(1){if(!n)n=0;else{f=s;l=0;while(1){h[L+(f<<2)>>2]=1;l=l+1|0;n=h[g>>2]|0;if(l>>>0>=n>>>0)break;else f=f+R|0}f=h[p>>2]|0}o=o+1|0;if(o>>>0>=f>>>0)break;else s=s+1|0}n=h[k>>2]|0}a=a+1|0;if(a>>>0>=n>>>0)break;else u=u+P|0}}if(T>>>0>1){M=1;do{n=y;y=y+148|0;g=h[n+8>>2]|0;p=n+156|0;l=h[p>>2]|0;g=l>>>0>g>>>0?g:0;s=h[y>>2]|0;E=n+160|0;f=h[E>>2]|0;if(s>>>0<f>>>0){u=ue(s,P)|0;A=n+152|0;k=n+164|0;w=ue(g,R)|0;a=h[k>>2]|0;n=l;while(1){l=h[A>>2]|0;if(l>>>0<a>>>0){o=l;l=l+u|0;while(1){if(g>>>0<n>>>0){f=l+w|0;a=g;while(1){h[L+(f<<2)>>2]=1;a=a+1|0;n=h[p>>2]|0;if(a>>>0>=n>>>0)break;else f=f+R|0}a=h[k>>2]|0}o=o+1|0;if(o>>>0>=a>>>0)break;else l=l+1|0}f=h[E>>2]|0}s=s+1|0;if(s>>>0>=f>>>0)break;else u=u+P|0}}M=M+1|0}while((M|0)!=(T|0))}if((O|0)!=0?(V=(P|0)==0,(S|0)!=0):0){f=0;u=0;n=0;do{if(!V){o=f;s=0;while(1){a=0;l=o;while(1){n=(h[L+(l<<2)>>2]|0)!=1|n;a=a+1|0;if((a|0)==(P|0))break;else l=l+1|0}s=s+1|0;if((s|0)==(S|0))break;else o=o+P|0}f=R+f|0}u=u+1|0}while((u|0)!=(O|0));if(n)Zt(t,1,7828,G)|0}Qn(L)}}while(0);e:do{if(ue(h[$>>2]|0,h[Q>>2]|0)|0){y=i+4788|0;E=i+40|0;A=i+44|0;M=i+18690|0;T=r+16|0;f=i+18696|0;S=r+24|0;P=i+5596|0;O=i+5600|0;R=i+5604|0;L=i+5608|0;C=i+5612|0;D=i+5616|0;x=i+5620|0;I=0;i:while(1){u=h[N>>2]|0;k=u+(I*5640|0)|0;G=h[y>>2]|0;n=u+(I*5640|0)+8|0;h[n>>2]=G;if(G){a=((d[K>>1]|0)+-3&65535)<4;s=0;do{l=(c[F>>0]&4)==0;do{if(!a)if(l){h[u+(I*5640|0)+20+(s<<2)>>2]=h[i+4792+(s<<2)>>2];break}else{h[u+(I*5640|0)+5184+(s<<2)>>2]=h[i+5192+(s<<2)>>2];break}else{if(!l)h[u+(I*5640|0)+5184+(s<<2)>>2]=h[i+5192+(s<<2)>>2];h[u+(I*5640|0)+20+(s<<2)>>2]=h[i+4792+(s<<2)>>2]}}while(0);s=s+1|0}while(s>>>0<(h[n>>2]|0)>>>0)}h[k>>2]=h[E>>2];h[u+(I*5640|0)+4>>2]=h[A>>2];o=u+(I*5640|0)+16|0;h[o>>2]=c[M>>0];n=u+(I*5640|0)+5636|0;a=c[n>>0]|0;c[n>>0]=a&-5;if(!(h[B>>2]|0))h[u+(I*5640|0)+420>>2]=0;else{c[n>>0]=a|4;a=h[B>>2]|0;if(!a)n=0;else{l=I+1|0;s=0;n=0;do{if((l|0)==(h[i+48+(s*148|0)+48>>2]|0)){h[u+(I*5640|0)+424+(n*148|0)>>2]=h[i+48+(n*148|0)>>2];h[u+(I*5640|0)+424+(n*148|0)+4>>2]=h[i+48+(n*148|0)+4>>2];h[u+(I*5640|0)+424+(n*148|0)+8>>2]=h[i+48+(n*148|0)+8>>2];h[u+(I*5640|0)+424+(n*148|0)+12>>2]=h[i+48+(n*148|0)+12>>2];h[u+(I*5640|0)+424+(n*148|0)+16>>2]=h[i+48+(n*148|0)+16>>2];h[u+(I*5640|0)+424+(n*148|0)+32>>2]=h[i+48+(n*148|0)+32>>2];h[u+(I*5640|0)+424+(n*148|0)+48>>2]=h[i+48+(n*148|0)+48>>2];n=n+1|0}s=s+1|0}while(s>>>0<a>>>0)}h[u+(I*5640|0)+420>>2]=n+-1}G=Kn(h[T>>2]|0,1080)|0;g=u+(I*5640|0)+5584|0;h[g>>2]=G;if(!G){Z=149;break}do{if(!(h[f>>2]|0)){r:do{if((h[o>>2]|0)==1){n=h[T>>2]|0;if(n>>>0<=2){l=n;break}a=h[S>>2]|0;n=h[a>>2]|0;do{if((n|0)==(h[a+52>>2]|0)){if((n|0)!=(h[a+104>>2]|0))break;n=h[a+4>>2]|0;if((n|0)!=(h[a+56>>2]|0))break;if((n|0)==(h[a+108>>2]|0)){Z=175;break r}}}while(0);Zt(t,2,8224,ne)|0;h[o>>2]=0;Z=175}else Z=175}while(0);if((Z|0)==175){Z=0;l=h[T>>2]|0}if(!l)break;n=h[S>>2]|0;a=0;do{if(!(h[n+(a*52|0)+32>>2]|0))h[(h[g>>2]|0)+(a*1080|0)+1076>>2]=1<<(h[n+(a*52|0)+24>>2]|0)+-1;a=a+1|0}while(a>>>0<l>>>0);W=l;Z=166}else{l=h[T>>2]|0;l=ue(l<<2,l)|0;n=Gn(l)|0;s=(h[f>>2]|0)+l|0;if(!n){Z=152;break i}h[o>>2]=2;a=Gn(l)|0;h[u+(I*5640|0)+5608>>2]=a;if(!a){Z=154;break i}Gs(a|0,h[f>>2]|0,l|0)|0;Gs(n|0,h[f>>2]|0,l|0)|0;a=Gn(l)|0;l=u+(I*5640|0)+5604|0;h[l>>2]=a;if(!a){Z=156;break i}if(!(Ka(n,a,h[T>>2]|0)|0)){Z=158;break i}a=Gn(h[T>>2]<<3)|0;h[u+(I*5640|0)+5600>>2]=a;if(!a){Z=160;break i}Or(a,h[T>>2]|0,h[l>>2]|0);Qn(n);n=h[T>>2]|0;if(n){a=h[g>>2]|0;l=0;do{h[a+(l*1080|0)+1076>>2]=h[s+(l<<2)>>2];l=l+1|0}while(l>>>0<n>>>0)}if(!(ff(k,r)|0)){Z=167;break i}W=h[T>>2]|0;Z=166}}while(0);if((Z|0)==166?(Z=0,(W|0)!=0):0){p=0;do{k=h[g>>2]|0;w=k+(p*1080|0)|0;h[w>>2]=h[E>>2]&1;l=h[ee>>2]|0;s=k+(p*1080|0)+4|0;h[s>>2]=l;n=h[P>>2]|0;if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+8>>2]=n;n=h[O>>2]|0;if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+12>>2]=n;h[k+(p*1080|0)+16>>2]=h[R>>2];G=h[L>>2]|0;h[k+(p*1080|0)+20>>2]=(G|0)==0&1;h[k+(p*1080|0)+24>>2]=(G|0)!=0?2:0;h[k+(p*1080|0)+804>>2]=2;if((p|0)==(h[C>>2]|0))n=h[D>>2]|0;else n=0;h[k+(p*1080|0)+808>>2]=n;do{if(!(h[E>>2]&1)){if(!l)break;else n=0;do{h[k+(p*1080|0)+812+(n<<2)>>2]=15;h[k+(p*1080|0)+944+(n<<2)>>2]=15;n=n+1|0}while(n>>>0<(h[s>>2]|0)>>>0)}else{if((l|0)>0){s=l;u=0}else break;while(1){o=s;s=s+-1|0;n=h[x>>2]|0;do{if((u|0)<(n|0)){n=h[i+5624+(u<<2)>>2]|0;if((n|0)<1)h[k+(p*1080|0)+812+(s<<2)>>2]=1;else{if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+812+(s<<2)>>2]=n}n=h[i+5756+(u<<2)>>2]|0;if((n|0)<1){h[k+(p*1080|0)+944+(s<<2)>>2]=1;break}if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+944+(s<<2)>>2]=n}else{G=n+-1|0;a=u-G|0;n=h[i+5624+(G<<2)>>2]>>a;a=h[i+5756+(G<<2)>>2]>>a;if((n|0)<1)h[k+(p*1080|0)+812+(s<<2)>>2]=1;else{if((n|0)>1){l=0;do{n=n>>1;l=l+1|0}while((n|0)>1);n=l}else n=0;h[k+(p*1080|0)+812+(s<<2)>>2]=n}if((a|0)<1){h[k+(p*1080|0)+944+(s<<2)>>2]=1;break}if((a|0)>1){n=0;do{a=a>>1;n=n+1|0}while((a|0)>1)}else n=0;h[k+(p*1080|0)+944+(s<<2)>>2]=n}}while(0);if((o|0)<=1)break;else u=u+1|0}}}while(0);Ua(w,h[(h[S>>2]|0)+(p*52|0)+24>>2]|0);p=p+1|0}while(p>>>0<(h[T>>2]|0)>>>0)}I=I+1|0;if(I>>>0>=(ue(h[$>>2]|0,h[Q>>2]|0)|0)>>>0)break e}if((Z|0)==149){Zt(t,1,7867,ie)|0;t=0;v=oe;return t|0}else if((Z|0)==152){Zt(t,1,7931,re)|0;t=0;v=oe;return t|0}else if((Z|0)==154){Qn(n);Zt(t,1,7974,fe)|0;t=0;v=oe;return t|0}else if((Z|0)==156){Qn(n);Zt(t,1,8032,ae)|0;t=0;v=oe;return t|0}else if((Z|0)==158){Qn(n);Zt(t,1,8092,le)|0;t=0;v=oe;return t|0}else if((Z|0)==160){Qn(n);Zt(t,1,8140,se)|0;t=0;v=oe;return t|0}else if((Z|0)==167){Zt(t,1,8190,te)|0;t=0;v=oe;return t|0}}else f=i+18696|0}while(0);n=h[f>>2]|0;if(!n){t=1;v=oe;return t|0}Qn(n);h[f>>2]=0;t=1;v=oe;return t|0}function ff(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;if((h[e+16>>2]|0)!=2){e=1;return e|0}o=e+5604|0;w=e+5616|0;r=h[w>>2]|0;u=e+5620|0;do{if(h[o>>2]|0){do{if((r|0)==(h[u>>2]|0)){r=r+10|0;h[u>>2]=r;t=e+5612|0;r=Zn(h[t>>2]|0,r*20|0)|0;if(r){h[t>>2]=r;k=h[w>>2]|0;qs(r+(k*20|0)|0,0,((h[u>>2]|0)-k|0)*20|0)|0;r=h[w>>2]|0;break}Qn(h[t>>2]|0);h[t>>2]=0;h[u>>2]=0;h[w>>2]=0;e=0;return e|0}else t=e+5612|0}while(0);l=h[t>>2]|0;f=l+(r*20|0)|0;s=l+(r*20|0)+12|0;t=h[s>>2]|0;if(t){Qn(t);h[s>>2]=0}h[l+(r*20|0)+8>>2]=1;h[l+(r*20|0)+4>>2]=1;h[f>>2]=2;t=h[i+16>>2]|0;t=ue(t,t)|0;n=t<<2;a=Gn(n)|0;h[s>>2]=a;if(!a){e=0;return e|0}else{Bo[h[768+(h[f>>2]<<2)>>2]&15](h[o>>2]|0,a,t);h[l+(r*20|0)+16>>2]=n;r=(h[w>>2]|0)+1|0;h[w>>2]=r;a=2;break}}else{a=1;f=0}}while(0);do{if((r|0)==(h[u>>2]|0)){t=r+10|0;h[u>>2]=t;r=e+5612|0;t=Zn(h[r>>2]|0,t*20|0)|0;if(!t){Qn(h[r>>2]|0);h[r>>2]=0;h[u>>2]=0;h[w>>2]=0;e=0;return e|0}else{h[r>>2]=t;n=h[w>>2]|0;qs(t+(n*20|0)|0,0,((h[u>>2]|0)-n|0)*20|0)|0;if(!f){f=0;break}f=t+((n+-1|0)*20|0)|0;break}}else r=e+5612|0}while(0);o=h[r>>2]|0;u=h[w>>2]|0;k=o+(u*20|0)|0;d=o+(u*20|0)+12|0;r=h[d>>2]|0;if(r){Qn(r);h[d>>2]=0}b=a+1|0;h[o+(u*20|0)+8>>2]=a;h[o+(u*20|0)+4>>2]=2;h[k>>2]=2;i=i+16|0;r=h[i>>2]|0;t=r<<2;s=Gn(t)|0;h[d>>2]=s;if(!s){e=0;return e|0}n=Gn(t)|0;if(!n){Qn(h[d>>2]|0);h[d>>2]=0;e=0;return e|0}if(r){a=0;l=n;s=h[e+5584>>2]|0;while(1){_[l>>2]=+(h[s+1076>>2]|0);a=a+1|0;if((a|0)==(r|0))break;else{l=l+4|0;s=s+1080|0}}}Bo[h[768+(h[k>>2]<<2)>>2]&15](n,h[d>>2]|0,r);Qn(n);h[o+(u*20|0)+16>>2]=t;h[w>>2]=(h[w>>2]|0)+1;a=e+5628|0;r=h[a>>2]|0;n=e+5632|0;do{if((r|0)==(h[n>>2]|0)){r=r+10|0;h[n>>2]=r;t=e+5624|0;r=Zn(h[t>>2]|0,r*20|0)|0;if(r){h[t>>2]=r;e=h[a>>2]|0;qs(r+(e*20|0)|0,0,((h[n>>2]|0)-e|0)*20|0)|0;r=h[a>>2]|0;break}Qn(h[t>>2]|0);h[t>>2]=0;h[n>>2]=0;h[a>>2]=0;e=0;return e|0}else t=e+5624|0}while(0);e=h[t>>2]|0;h[e+(r*20|0)+8>>2]=f;w=e+(r*20|0)+16|0;c[w>>0]=c[w>>0]|1;h[e+(r*20|0)+4>>2]=h[i>>2];h[e+(r*20|0)>>2]=b;h[e+(r*20|0)+12>>2]=k;h[a>>2]=(h[a>>2]|0)+1;e=1;return e|0}function af(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function lf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=en()|0;o=i+80|0;h[o>>2]=s;if(!s){o=0;return o|0}n=i+192|0;if((pa(h[n>>2]|0,23,t)|0)!=0?(pa(h[n>>2]|0,24,t)|0)!=0:0){a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}}else ya(a);n=i+188|0;if((pa(h[n>>2]|0,25,t)|0)!=0?(pa(h[n>>2]|0,26,t)|0)!=0:0){a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}}else ya(a);n=en()|0;h[r>>2]=n;if(!n){o=0;return o|0}fn(h[o>>2]|0,n);n=ue(h[i+116>>2]|0,h[i+112>>2]|0)|0;l=i+196|0;h[(h[l>>2]|0)+36>>2]=n;n=Kn(n,40)|0;f=h[l>>2]|0;h[f+40>>2]=n;if(!n){o=0;return o|0}if(!(h[f+36>>2]|0)){o=1;return o|0}a=0;while(1){h[n+(a*40|0)+28>>2]=100;h[n+(a*40|0)+20>>2]=0;o=Kn(100,24)|0;f=h[l>>2]|0;n=h[f+40>>2]|0;h[n+(a*40|0)+24>>2]=o;a=a+1|0;if(!o){n=0;f=30;break}if(a>>>0>=(h[f+36>>2]|0)>>>0){n=1;f=30;break}}if((f|0)==30)return n|0}tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}function sf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;if(!e)return;i=e+28|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}a=e+40|0;i=h[a>>2]|0;if(i){f=e+36|0;if(h[f>>2]|0){r=i;n=0;do{t=h[r+(n*40|0)+36>>2]|0;if(t){Qn(t);i=h[a>>2]|0;h[i+(n*40|0)+36>>2]=0;r=i}t=h[r+(n*40|0)+16>>2]|0;if(t){Qn(t);i=h[a>>2]|0;h[i+(n*40|0)+16>>2]=0;r=i}t=h[r+(n*40|0)+24>>2]|0;if(t){Qn(t);r=h[a>>2]|0;h[r+(n*40|0)+24>>2]=0;i=r}n=n+1|0}while(n>>>0<(h[f>>2]|0)>>>0)}Qn(i);h[a>>2]=0}Qn(e);return}function of(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0;Oe=v;v=v+256|0;Pe=Oe+200|0;Se=Oe+192|0;Me=Oe+184|0;Ae=Oe+176|0;ke=Oe+168|0;be=Oe+160|0;he=Oe+152|0;de=Oe+144|0;ce=Oe+136|0;oe=Oe+128|0;le=Oe+120|0;ae=Oe+112|0;ye=Oe+104|0;ve=Oe+96|0;fe=Oe+88|0;ne=Oe+80|0;te=Oe+72|0;ge=Oe+64|0;re=Oe+56|0;ie=Oe+48|0;me=Oe+40|0;_e=Oe+32|0;we=Oe+24|0;se=Oe+16|0;ee=Oe+8|0;$=Oe;G=Oe+240|0;z=Oe+236|0;W=Oe+232|0;Z=Oe+228|0;Q=Oe+224|0;V=Oe+220|0;J=Oe+216|0;X=Oe+212|0;K=Oe+208|0;h[X>>2]=65424;Te=e+8|0;e:do{switch(h[Te>>2]|0){case 256:{h[X>>2]=65497;b=e+76|0;Ee=117;break}case 8:{pe=e+76|0;if(!(c[pe>>0]&1)){U=e+200|0;H=e+164|0;Y=e+72|0;q=e+24|0;S=e+196|0;P=e+112|0;O=e+116|0;L=G+2|0;C=G+6|0;D=G+7|0;x=e+16|0;I=e+20|0;B=e+64|0;b=65424;i:while(1){r:do{if((b|0)!=65427){while(1){T=Gt(o)|0;if((T|0)==0&(j|0)==0){Ee=7;break}if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=9;break i}gt(h[x>>2]|0,K,2);if((h[K>>2]|0)>>>0<2){Ee=11;break i}if((h[X>>2]|0)==32896?(T=Gt(o)|0,(T|0)==0&(j|0)==0):0){Ee=14;break}_=h[Te>>2]|0;b=h[K>>2]|0;if(_&16)h[q>>2]=-2-b+(h[q>>2]|0);k=b+-2|0;h[K>>2]=k;b=h[X>>2]|0;w=784;while(1){T=h[w>>2]|0;if((T|0)==0|(T|0)==(b|0)){A=w;break}else w=w+12|0}if(!(h[w+4>>2]&_)){Ee=20;break i}if(k>>>0>(h[I>>2]|0)>>>0){T=Gt(o)|0;M=j;if(0>(M|0)|0==(M|0)&k>>>0>T>>>0){Ee=24;break i}b=Zn(h[x>>2]|0,h[K>>2]|0)|0;if(!b){Ee=26;break i}h[x>>2]=b;k=h[K>>2]|0;h[I>>2]=k}else b=h[x>>2]|0;k=qt(o,b,k,u)|0;if((k|0)!=(h[K>>2]|0)){Ee=29;break i}b=h[w+8>>2]|0;if(!b){Ee=31;break i}if(!(Fo[b&63](e,h[x>>2]|0,k,u)|0)){Ee=33;break i}w=h[U>>2]|0;k=h[S>>2]|0;g=h[A>>2]|0;y=Vt(o)|0;E=h[K>>2]|0;y=y-E+-4|0;E=E+4|0;k=k+40|0;p=h[k>>2]|0;b=h[p+(w*40|0)+20>>2]|0;_=p+(w*40|0)+28|0;m=h[_>>2]|0;if((b+1|0)>>>0>m>>>0){m=~~(+(m>>>0)+100.0)>>>0;h[_>>2]=m;_=Zn(h[p+(w*40|0)+24>>2]|0,m*24|0)|0;m=h[k>>2]|0;b=m+(w*40|0)+24|0;if(!_){Ee=41;break i}h[b>>2]=_;k=m;b=h[m+(w*40|0)+20>>2]|0}else{k=p;_=h[p+(w*40|0)+24>>2]|0}d[_+(b*24|0)>>1]=g;T=_+(b*24|0)+8|0;h[T>>2]=y;h[T+4>>2]=((y|0)<0)<<31>>31;h[_+(b*24|0)+16>>2]=E;h[k+(w*40|0)+20>>2]=b+1;if((g|0)==65424?(R=h[k+(w*40|0)+16>>2]|0,(R|0)!=0):0){T=R+((h[k+(w*40|0)+12>>2]|0)*24|0)|0;h[T>>2]=y;h[T+4>>2]=0}do{if((h[A>>2]|0)==65424){b=Vt(o)|0;b=-4-(h[K>>2]|0)+b|0;T=B;M=h[T+4>>2]|0;if(!(0>(M|0)|(0==(M|0)?b>>>0>(h[T>>2]|0)>>>0:0)))break;T=B;h[T>>2]=b;h[T+4>>2]=0}}while(0);if(c[pe>>0]&4){Ee=46;break}if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=50;break i}gt(h[x>>2]|0,X,2);if((h[X>>2]|0)==65427)break r}if((Ee|0)==7){Ee=0;h[Te>>2]=64;break}else if((Ee|0)==14){Ee=0;h[Te>>2]=64;break}else if((Ee|0)==46){Ee=0;T=Kt(o,h[q>>2]|0,0,u)|0;if(!((j|0)==0?(T|0)==(h[q>>2]|0):0)){Ee=47;break i}h[X>>2]=65427;break}}}while(0);T=Gt(o)|0;if((T|0)==0&(j|0)==0?(h[Te>>2]|0)==64:0){Ee=115;break}b=c[pe>>0]|0;if(!(b&4)){k=h[U>>2]|0;w=h[H>>2]|0;if(!(h[Y>>2]|0)){b=h[q>>2]|0;if(b>>>0>1){_=b+-2|0;h[q>>2]=_}else _=b}else{_=Gt(o)|0;_=zs(_|0,j|0,-2,0)|0;h[q>>2]=_}b=w+(k*5640|0)+5592|0;T=w+(k*5640|0)+5596|0;do{if(!_)M=1;else{M=Gt(o)|0;A=j;if(0>(A|0)|0==(A|0)&_>>>0>M>>>0)Zt(u,2,8573,fe)|0;k=h[b>>2]|0;if(!k){M=Gn(h[q>>2]|0)|0;h[b>>2]=M;if(!M)break i;else{M=0;break}}k=Zn(k,(h[q>>2]|0)+(h[T>>2]|0)|0)|0;if(!k){Ee=65;break i}h[b>>2]=k;M=0}}while(0);k=h[S>>2]|0;if(k){y=Vt(o)|0;_=j;A=zs(y|0,_|0,-2,-1)|0;w=h[U>>2]|0;k=k+40|0;p=h[k>>2]|0;g=h[p+(w*40|0)+12>>2]|0;m=h[p+(w*40|0)+16>>2]|0;E=m+(g*24|0)+8|0;h[E>>2]=A;h[E+4>>2]=j;E=h[q>>2]|0;_=zs(E|0,0,y|0,_|0)|0;g=m+(g*24|0)+16|0;h[g>>2]=_;h[g+4>>2]=j;E=E+2|0;g=h[p+(w*40|0)+20>>2]|0;_=p+(w*40|0)+28|0;m=h[_>>2]|0;if((g+1|0)>>>0>m>>>0){m=~~(+(m>>>0)+100.0)>>>0;h[_>>2]=m;_=Zn(h[p+(w*40|0)+24>>2]|0,m*24|0)|0;m=h[k>>2]|0;p=m+(w*40|0)+24|0;if(!_){b=p;Ee=74;break}h[p>>2]=_;y=m;k=h[m+(w*40|0)+20>>2]|0}else{y=p;_=h[p+(w*40|0)+24>>2]|0;k=g}d[_+(k*24|0)>>1]=-109;g=Ys(0,A|0,32)|0;A=_+(k*24|0)+8|0;h[A>>2]=g;h[A+4>>2]=j;h[_+(k*24|0)+16>>2]=E;h[y+(w*40|0)+20>>2]=k+1}if(!M)b=qt(o,(h[b>>2]|0)+(h[T>>2]|0)|0,h[q>>2]|0,u)|0;else b=0;h[Te>>2]=(b|0)==(h[q>>2]|0)?8:64;h[T>>2]=(h[T>>2]|0)+b;b=c[pe>>0]|0;if((b&9)==1){c[pe>>0]=b|8;k=h[U>>2]|0;do{if((Jt(o)|0)!=0?(N=Vt(o)|0,F=j,!((N|0)==-1&(F|0)==-1)):0){while(1){if((qt(o,G,2,u)|0)!=2){Ee=81;break}gt(G,z,2);if((h[z>>2]|0)!=65424){Ee=83;break}if((qt(o,G,2,u)|0)!=2){Ee=85;break}gt(G,W,2);if((h[W>>2]|0)!=10){Ee=87;break}h[W>>2]=8;b=qt(o,G,8,u)|0;if((b|0)!=(h[W>>2]|0)){Ee=89;break}if((b|0)!=8){Ee=91;break}gt(G,Z,2);gt(L,Q,4);gt(C,V,1);gt(D,J,1);if((h[Z>>2]|0)==(k|0)){Ee=97;break}b=h[Q>>2]|0;if(b>>>0<14){Ee=94;break}Ee=b+-12|0;h[Q>>2]=Ee;Ee=Kt(o,Ee,0,u)|0;if(!((j|0)==0?(Ee|0)==(h[Q>>2]|0):0)){Ee=96;break}}if((Ee|0)==81){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==83){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==85){Ee=0;Zt(u,1,8295,ae)|0;b=0;k=0;break}else if((Ee|0)==87){Ee=0;Zt(u,1,8313,le)|0;b=0;k=0;break}else if((Ee|0)==89){Ee=0;Zt(u,1,8295,oe)|0;b=0;k=0;break}else if((Ee|0)==91){Ee=0;Zt(u,1,8662,ce)|0;b=0;k=0;break}else if((Ee|0)==94){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==96){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==97){Ee=0;k=(h[V>>2]|0)==(h[J>>2]|0)&1;b=(Wt(o,N,F,u)|0)!=0&1;break}}else{b=1;k=0}}while(0);if(!b){Ee=99;break}if(k){b=ue(h[O>>2]|0,h[P>>2]|0)|0;c[pe>>0]=c[pe>>0]&-18|16;if(b){k=h[H>>2]|0;m=0;do{w=k+(m*5640|0)+5588|0;_=h[w>>2]|0;if(_)h[w>>2]=_+1;m=m+1|0}while((m|0)!=(b|0))}Zt(u,2,8734,he)|0}}if(!(c[pe>>0]&1)){if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=109;break}gt(h[x>>2]|0,X,2)}}else{c[pe>>0]=b&-6;h[Te>>2]=8;if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=113;break}gt(h[x>>2]|0,X,2)}b=h[X>>2]|0;if(!((b|0)!=65497&(c[pe>>0]&1)==0)){Ee=116;break}}switch(Ee|0){case 9:{Zt(u,1,8295,$)|0;u=0;v=Oe;return u|0}case 11:{Zt(u,1,8313,ee)|0;u=0;v=Oe;return u|0}case 20:{Zt(u,1,8339,se)|0;u=0;v=Oe;return u|0}case 24:{Zt(u,1,8382,we)|0;u=0;v=Oe;return u|0}case 26:{Qn(h[x>>2]|0);h[x>>2]=0;h[I>>2]=0;Zt(u,1,8427,_e)|0;u=0;v=Oe;return u|0}case 29:{Zt(u,1,8295,me)|0;u=0;v=Oe;return u|0}case 31:{Zt(u,1,8461,ie)|0;u=0;v=Oe;return u|0}case 33:{h[re>>2]=h[X>>2];Zt(u,1,8490,re)|0;u=0;v=Oe;return u|0}case 41:{Qn(h[b>>2]|0);Pe=h[k>>2]|0;h[Pe+(w*40|0)+24>>2]=0;h[Pe+(w*40|0)+28>>2]=0;h[Pe+(w*40|0)+20>>2]=0;Zt(u,1,8537,ge)|0;u=0;v=Oe;return u|0}case 47:{Zt(u,1,8295,te)|0;u=0;v=Oe;return u|0}case 50:{Zt(u,1,8295,ne)|0;u=0;v=Oe;return u|0}case 65:{Qn(h[b>>2]|0);h[b>>2]=0;break}case 74:{Qn(h[b>>2]|0);Pe=h[k>>2]|0;h[Pe+(w*40|0)+24>>2]=0;h[Pe+(w*40|0)+28>>2]=0;h[Pe+(w*40|0)+20>>2]=0;Zt(u,1,8537,ye)|0;u=0;v=Oe;return u|0}case 99:{Zt(u,1,8688,de)|0;u=0;v=Oe;return u|0}case 109:{Zt(u,1,8295,be)|0;u=0;v=Oe;return u|0}case 113:{Zt(u,1,8295,ke)|0;u=0;v=Oe;return u|0}case 115:{b=h[X>>2]|0;Ee=116;break}}if((Ee|0)==116)if((b|0)==65497){b=pe;Ee=117;break e}else{b=pe;break e}Zt(u,1,8628,ve)|0;u=0;v=Oe;return u|0}else b=pe;break}default:{u=0;v=Oe;return u|0}}}while(0);if((Ee|0)==117)if((h[Te>>2]|0)!=256){h[e+200>>2]=0;h[Te>>2]=256}if(!(c[b>>0]&1)){_=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;m=e+200|0;k=h[m>>2]|0;e:do{if(k>>>0<_>>>0){b=k;w=(h[e+164>>2]|0)+(k*5640|0)|0;while(1){if(h[w+5592>>2]|0){k=b;break e}k=b+1|0;h[m>>2]=k;if(k>>>0<_>>>0){b=k;w=w+5640|0}else break}}}while(0);if((k|0)==(_|0)){h[s>>2]=0;u=1;v=Oe;return u|0}}else{k=e+200|0;m=k;k=h[k>>2]|0}T=h[e+164>>2]|0;if(c[T+(k*5640|0)+5636>>0]&2){S=T+(k*5640|0)+5160|0;w=h[S>>2]|0;if(!w)b=0;else{_=h[T+(k*5640|0)+5164>>2]|0;p=0;b=0;do{b=(h[_+(p<<3)+4>>2]|0)+b|0;p=p+1|0}while((p|0)!=(w|0))}Ee=Gn(b)|0;M=T+(k*5640|0)+5172|0;h[M>>2]=Ee;if(!Ee){Zt(u,1,8775,Ae)|0;Zt(u,1,8813,Me)|0;u=0;v=Oe;return u|0}A=T+(k*5640|0)+5180|0;h[A>>2]=b;w=h[S>>2]|0;E=T+(k*5640|0)+5164|0;if(!w)b=h[E>>2]|0;else{b=h[E>>2]|0;g=b;y=0;p=0;while(1){_=h[g+(y<<3)>>2]|0;if(!_)_=g;else{Gs((h[M>>2]|0)+p|0,_|0,h[g+(y<<3)+4>>2]|0)|0;_=h[E>>2]|0;p=(h[_+(y<<3)+4>>2]|0)+p|0;Qn(h[_+(y<<3)>>2]|0);_=h[E>>2]|0;h[_+(y<<3)>>2]=0;h[_+(y<<3)+4>>2]=0;w=h[S>>2]|0;b=_}y=y+1|0;if(y>>>0>=w>>>0)break;else g=_}}h[S>>2]=0;Qn(b);h[E>>2]=0;h[T+(k*5640|0)+5168>>2]=h[M>>2];h[T+(k*5640|0)+5176>>2]=h[A>>2];k=h[m>>2]|0}b=e+204|0;if(!(Kr(h[b>>2]|0,k,u)|0)){Zt(u,1,8839,Se)|0;u=0;v=Oe;return u|0}else{Se=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;h[Pe>>2]=(h[m>>2]|0)+1;h[Pe+4>>2]=Se;Zt(u,4,8873,Pe)|0;h[i>>2]=h[m>>2];h[s>>2]=1;u=Wr(h[b>>2]|0)|0;h[r>>2]=u;u=h[h[(h[b>>2]|0)+20>>2]>>2]|0;h[t>>2]=h[u>>2];h[n>>2]=h[u+4>>2];h[f>>2]=h[u+8>>2];h[a>>2]=h[u+12>>2];h[l>>2]=h[u+16>>2];h[Te>>2]=h[Te>>2]|128;u=1;v=Oe;return u|0}return 0}function uf(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;m=v;v=v+48|0;w=m+28|0;_=m+32|0;d=e+8|0;if(!(h[d>>2]&128)){n=0;v=m;return n|0}k=e+200|0;if((h[k>>2]|0)!=(i|0)){n=0;v=m;return n|0}a=h[e+164>>2]|0;u=a+(i*5640|0)|0;b=a+(i*5640|0)+5592|0;l=h[b>>2]|0;if(!l){Mf(u);n=0;v=m;return n|0}s=e+204|0;o=a+(i*5640|0)+5596|0;if(!(Zr(h[s>>2]|0,l,h[o>>2]|0,i,h[e+196>>2]|0,f)|0)){Mf(u);h[d>>2]=h[d>>2]|32768;Zt(f,1,8912,m)|0;n=0;v=m;return n|0}if(!(Qr(h[s>>2]|0,r,t)|0)){n=0;v=m;return n|0}a=h[b>>2]|0;if(a){Qn(a);h[b>>2]=0;h[o>>2]=0}b=e+76|0;c[b>>0]=c[b>>0]&-2;h[d>>2]=h[d>>2]&-129;b=Gt(n)|0;e=h[d>>2]|0;if((e|0)==256|(b|0)==0&(j|0)==0&(e|0)==64){n=1;v=m;return n|0}if((qt(n,_,2,f)|0)!=2){Zt(f,2,8931,m+8|0)|0;n=1;v=m;return n|0}gt(_,w,2);switch(h[w>>2]|0){case 65497:{h[k>>2]=0;h[d>>2]=256;n=1;v=m;return n|0}case 65424:{n=1;v=m;return n|0}default:if((Gt(n)|0)==0&(j|0)==0){h[d>>2]=64;Zt(f,2,8975,m+16|0)|0;n=1;v=m;return n|0}else{Zt(f,1,9005,m+24|0)|0;n=0;v=m;return n|0}}return 0}function cf(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;M=v;v=v+112|0;A=M+96|0;E=M+88|0;y=M+80|0;g=M+72|0;p=M+64|0;_=M+56|0;w=M+48|0;d=M+40|0;u=M+32|0;o=M+24|0;s=M+16|0;b=h[e+80>>2]|0;if((h[e+8>>2]|0)!=8){Zt(a,1,9037,M)|0;a=0;v=M;return a|0}if(!(t|r|n|f)){Zt(a,4,9116,M+8|0)|0;h[e+28>>2]=0;h[e+32>>2]=0;h[e+36>>2]=h[e+112>>2];h[e+40>>2]=h[e+116>>2];a=1;v=M;return a|0}m=b+8|0;l=h[m>>2]|0;if(l>>>0<r>>>0){h[s>>2]=r;h[s+4>>2]=l;Zt(a,1,9185,s)|0;a=0;v=M;return a|0}l=h[b>>2]|0;if(l>>>0>r>>>0){h[o>>2]=r;h[o+4>>2]=l;Zt(a,2,9272,o)|0;l=0;r=h[b>>2]|0}else l=((r-(h[e+92>>2]|0)|0)>>>0)/((h[e+100>>2]|0)>>>0)|0;h[e+28>>2]=l;h[i>>2]=r;k=b+12|0;r=h[k>>2]|0;if(r>>>0<t>>>0){h[u>>2]=t;h[u+4>>2]=r;Zt(a,1,9360,u)|0;a=0;v=M;return a|0}s=b+4|0;r=h[s>>2]|0;if(r>>>0>t>>>0){h[d>>2]=t;h[d+4>>2]=r;Zt(a,2,9445,d)|0;r=0;t=h[s>>2]|0}else r=((t-(h[e+96>>2]|0)|0)>>>0)/((h[e+104>>2]|0)>>>0)|0;h[e+32>>2]=r;o=i+4|0;h[o>>2]=t;r=h[b>>2]|0;if(r>>>0>n>>>0){h[w>>2]=n;h[w+4>>2]=r;Zt(a,1,9531,w)|0;a=0;v=M;return a|0}r=h[m>>2]|0;if(r>>>0<n>>>0){h[_>>2]=n;h[_+4>>2]=r;Zt(a,2,9620,_)|0;r=h[e+112>>2]|0;n=h[m>>2]|0}else{r=h[e+100>>2]|0;r=(n+-1-(h[e+92>>2]|0)+r|0)/(r|0)|0}h[e+36>>2]=r;l=i+8|0;h[l>>2]=n;n=h[s>>2]|0;if(n>>>0>f>>>0){h[p>>2]=f;h[p+4>>2]=n;Zt(a,1,9708,p)|0;a=0;v=M;return a|0}n=h[k>>2]|0;if(n>>>0<f>>>0){h[g>>2]=f;h[g+4>>2]=n;Zt(a,2,9798,g)|0;r=h[k>>2]|0;n=h[e+116>>2]|0}else{n=h[e+104>>2]|0;r=f;n=(f+-1-(h[e+96>>2]|0)+n|0)/(n|0)|0}h[e+40>>2]=n;f=i+12|0;h[f>>2]=r;g=e+76|0;c[g>>0]=c[g>>0]|2;g=h[i+16>>2]|0;e=h[i>>2]|0;e:do{if(g){t=h[o>>2]|0;m=t+-1|0;p=h[l>>2]|0;k=p+-1|0;w=e+-1|0;n=0;b=h[i+24>>2]|0;while(1){i=h[b>>2]|0;r=(w+i|0)/(i|0)|0;h[b+16>>2]=r;d=h[b+4>>2]|0;l=(m+d|0)/(d|0)|0;h[b+20>>2]=l;i=(k+i|0)/(i|0)|0;s=h[b+40>>2]|0;o=Xs(1,0,s|0)|0;u=j;i=zs(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=zs(i|0,j|0,o|0,u|0)|0;i=Ys(i|0,j|0,s|0)|0;r=zs(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;r=zs(r|0,j|0,o|0,u|0)|0;r=Ys(r|0,j|0,s|0)|0;r=i-r|0;if((r|0)<0){l=29;break}_=h[f>>2]|0;i=(d+-1+_|0)/(d|0)|0;h[b+8>>2]=r;i=zs(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=zs(i|0,j|0,o|0,u|0)|0;i=Ys(i|0,j|0,s|0)|0;r=zs(l|0,((l|0)<0)<<31>>31|0,-1,-1)|0;r=zs(r|0,j|0,o|0,u|0)|0;r=Ys(r|0,j|0,s|0)|0;r=i-r|0;if((r|0)<0){l=31;break}h[b+12>>2]=r;n=n+1|0;if(n>>>0>=g>>>0){r=p;n=_;break e}else b=b+52|0}if((l|0)==29){h[y>>2]=n;h[y+4>>2]=r;Zt(a,1,9887,y)|0;a=0;v=M;return a|0}else if((l|0)==31){h[E>>2]=n;h[E+4>>2]=r;Zt(a,1,9956,E)|0;a=0;v=M;return a|0}}else{t=h[o>>2]|0;r=h[l>>2]|0;n=h[f>>2]|0}}while(0);h[A>>2]=e;h[A+4>>2]=t;h[A+8>>2]=r;h[A+12>>2]=n;Zt(a,4,10025,A)|0;a=1;v=M;return a|0}function df(){var e=0,i=0,r=0;e=Kn(1,208)|0;if(!e){i=0;return i|0}h[e>>2]=1;i=e+184|0;c[i>>0]=c[i>>0]|2;i=Kn(1,5640)|0;h[e+12>>2]=i;if(!i){tf(e);i=0;return i|0}i=Kn(1,1e3)|0;h[e+16>>2]=i;if(!i){tf(e);i=0;return i|0}h[e+20>>2]=1e3;h[e+60>>2]=-1;i=e+64|0;h[i>>2]=0;h[i+4>>2]=0;i=Kn(1,48)|0;do{if(i){h[i+32>>2]=100;h[i+24>>2]=0;r=Kn(100,24)|0;h[i+28>>2]=r;if(!r){Qn(i);break}h[i+40>>2]=0;h[e+196>>2]=i;r=_a()|0;h[e+192>>2]=r;if(!r){tf(e);r=0;return r|0}r=_a()|0;h[e+188>>2]=r;if(r){r=e;return r|0}tf(e);r=0;return r|0}}while(0);h[e+196>>2]=0;tf(e);r=0;return r|0}function hf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,w=0,_=0,m=0,p=0;m=v;v=v+128|0;_=m+104|0;w=m+72|0;b=m+64|0;u=m+40|0;s=m+24|0;a=m+16|0;f=m+8|0;n=m;if(i&384){cs(10063,11,1,r)|0;v=m;return}if((i&1|0)!=0?(t=h[e+80>>2]|0,(t|0)!=0):0)bf(t,0,r);if(i&2){cs(10075,36,1,r)|0;t=h[e+96>>2]|0;h[n>>2]=h[e+92>>2];h[n+4>>2]=t;es(r,10112,n)|0;n=h[e+104>>2]|0;h[f>>2]=h[e+100>>2];h[f+4>>2]=n;es(r,10130,f)|0;f=h[e+116>>2]|0;h[a>>2]=h[e+112>>2];h[a+4>>2]=f;es(r,10148,a)|0;Rf(h[e+12>>2]|0,h[(h[e+80>>2]|0)+16>>2]|0,r);cs(10164,2,1,r)|0}if((i&8|0)!=0?(l=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0,(l|0)!=0):0){t=e+80|0;n=0;f=h[e+164>>2]|0;while(1){Rf(f,h[(h[t>>2]|0)+16>>2]|0,r);n=n+1|0;if((n|0)==(l|0))break;else f=f+5640|0}}if(!(i&16)){v=m;return}a=h[e+196>>2]|0;cs(10167,37,1,r)|0;l=a;i=h[l+4>>2]|0;t=a+8|0;e=h[t>>2]|0;t=h[t+4>>2]|0;f=s;h[f>>2]=h[l>>2];h[f+4>>2]=i;f=s+8|0;h[f>>2]=e;h[f+4>>2]=t;es(r,10205,s)|0;cs(10272,17,1,r)|0;f=a+28|0;t=h[f>>2]|0;e:do{if((t|0)!=0?(o=a+24|0,(h[o>>2]|0)!=0):0){n=0;while(1){i=t+(n*24|0)+8|0;l=h[i>>2]|0;i=h[i+4>>2]|0;s=h[t+(n*24|0)+16>>2]|0;h[u>>2]=k[t+(n*24|0)>>1];e=u+8|0;h[e>>2]=l;h[e+4>>2]=i;h[u+16>>2]=s;es(r,10290,u)|0;n=n+1|0;if(n>>>0>=(h[o>>2]|0)>>>0)break e;t=h[f>>2]|0}}}while(0);cs(10321,4,1,r)|0;i=a+40|0;f=h[i>>2]|0;if((f|0)!=0?(d=a+36|0,c=h[d>>2]|0,(c|0)!=0):0){n=0;t=0;do{t=(h[f+(n*40|0)+4>>2]|0)+t|0;n=n+1|0}while((n|0)!=(c|0));if(t){cs(10326,16,1,r)|0;if(h[d>>2]|0){t=h[i>>2]|0;l=0;do{a=h[t+(l*40|0)+4>>2]|0;h[b>>2]=l;h[b+4>>2]=a;es(r,10343,b)|0;t=h[i>>2]|0;n=h[t+(l*40|0)+16>>2]|0;e:do{if(!((a|0)==0|(n|0)==0)){t=0;while(1){e=n+(t*24|0)|0;p=h[e>>2]|0;e=h[e+4>>2]|0;o=n+(t*24|0)+8|0;s=h[o>>2]|0;o=h[o+4>>2]|0;c=n+(t*24|0)+16|0;u=h[c>>2]|0;c=h[c+4>>2]|0;h[w>>2]=t;f=w+8|0;h[f>>2]=p;h[f+4>>2]=e;f=w+16|0;h[f>>2]=s;h[f+4>>2]=o;f=w+24|0;h[f>>2]=u;h[f+4>>2]=c;es(r,10379,w)|0;f=t+1|0;t=h[i>>2]|0;if((f|0)==(a|0))break e;n=h[t+(l*40|0)+16>>2]|0;t=f}}}while(0);n=h[t+(l*40|0)+24>>2]|0;e:do{if((n|0)!=0?(h[t+(l*40|0)+20>>2]|0)!=0:0){t=0;while(1){c=n+(t*24|0)+8|0;u=h[c>>2]|0;c=h[c+4>>2]|0;f=h[n+(t*24|0)+16>>2]|0;h[_>>2]=k[n+(t*24|0)>>1];p=_+8|0;h[p>>2]=u;h[p+4>>2]=c;h[_+16>>2]=f;es(r,10290,_)|0;f=t+1|0;t=h[i>>2]|0;if(f>>>0>=(h[t+(l*40|0)+20>>2]|0)>>>0)break e;n=h[t+(l*40|0)+24>>2]|0;t=f}}}while(0);l=l+1|0}while(l>>>0<(h[d>>2]|0)>>>0)}cs(10321,4,1,r)|0}}cs(10164,2,1,r)|0;v=m;return}function bf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;u=v;v=v+64|0;o=u+48|0;s=u+40|0;a=u+32|0;f=u+16|0;n=u;l=u+52|0;if(!i){cs(10482,13,1,r)|0;c[l+1>>0]=0;t=9}else{cs(10445,36,1,h[676]|0)|0;t=0}c[l>>0]=t;d=h[e>>2]|0;t=h[e+4>>2]|0;h[n>>2]=l;h[n+4>>2]=d;h[n+8>>2]=t;es(r,10496,n)|0;n=h[e+8>>2]|0;t=h[e+12>>2]|0;h[f>>2]=l;h[f+4>>2]=n;h[f+8>>2]=t;es(r,10513,f)|0;f=e+16|0;t=h[f>>2]|0;h[a>>2]=l;h[a+4>>2]=t;es(r,10530,a)|0;t=e+24|0;if(!(h[t>>2]|0)){cs(10164,2,1,r)|0;v=u;return}if(!(h[f>>2]|0)){cs(10164,2,1,r)|0;v=u;return}else n=0;do{h[s>>2]=l;h[s+4>>2]=n;es(r,10546,s)|0;kf((h[t>>2]|0)+(n*52|0)|0,i,r);h[o>>2]=l;es(r,10566,o)|0;n=n+1|0}while(n>>>0<(h[f>>2]|0)>>>0);cs(10164,2,1,r)|0;v=u;return}function kf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+48|0;l=s+24|0;a=s+16|0;f=s;n=s+32|0;t=(i|0)!=0;if(t){cs(10571,41,1,h[676]|0)|0;i=0}else{c[n+1>>0]=9;c[n+2>>0]=0;i=9}c[n>>0]=i;o=h[e>>2]|0;i=h[e+4>>2]|0;h[f>>2]=n;h[f+4>>2]=o;h[f+8>>2]=i;es(r,10613,f)|0;f=h[e+24>>2]|0;h[a>>2]=n;h[a+4>>2]=f;es(r,10630,a)|0;a=h[e+32>>2]|0;h[l>>2]=n;h[l+4>>2]=a;es(r,10642,l)|0;if(!t){v=s;return}cs(10164,2,1,r)|0;v=s;return}function wf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;t=u;i=e+80|0;s=h[(h[i>>2]|0)+16>>2]|0;r=Kn(1,56)|0;h[t>>2]=r;if(!r){o=0;v=u;return o|0}h[r+24>>2]=h[(h[i>>2]|0)+16>>2];h[r>>2]=h[e+92>>2];h[r+4>>2]=h[e+96>>2];h[r+8>>2]=h[e+100>>2];h[r+12>>2]=h[e+104>>2];h[r+16>>2]=h[e+112>>2];h[r+20>>2]=h[e+116>>2];h[r+52>>2]=0;r=h[e+12>>2]|0;i=h[t>>2]|0;h[i+32>>2]=h[r>>2];h[i+36>>2]=h[r+4>>2];h[i+40>>2]=h[r+8>>2];h[i+44>>2]=h[r+16>>2];l=Kn(h[i+24>>2]|0,1080)|0;h[i+48>>2]=l;i=h[t>>2]|0;l=i+48|0;e=h[l>>2]|0;if(!e){xn(t);o=0;v=u;return o|0}if(!s){o=i;v=u;return o|0}a=r+5584|0;r=0;while(1){f=h[a>>2]|0;h[e+(r*1080|0)+4>>2]=h[f+(r*1080|0)>>2];t=f+(r*1080|0)+4|0;n=h[t>>2]|0;h[e+(r*1080|0)+8>>2]=n;h[e+(r*1080|0)+12>>2]=h[f+(r*1080|0)+8>>2];h[e+(r*1080|0)+16>>2]=h[f+(r*1080|0)+12>>2];h[e+(r*1080|0)+20>>2]=h[f+(r*1080|0)+16>>2];h[e+(r*1080|0)+24>>2]=h[f+(r*1080|0)+20>>2];if(n>>>0<33){Gs(e+(r*1080|0)+948|0,f+(r*1080|0)+944|0,n|0)|0;Gs(e+(r*1080|0)+816|0,f+(r*1080|0)+812|0,h[t>>2]|0)|0}n=h[f+(r*1080|0)+24>>2]|0;h[e+(r*1080|0)+28>>2]=n;h[e+(r*1080|0)+808>>2]=h[f+(r*1080|0)+804>>2];if((n|0)!=1){n=(h[t>>2]|0)*3|0;t=n+-2|0;if((t|0)<97&(n|0)>2)o=10}else{t=1;o=10}if((o|0)==10){o=0;n=0;do{h[e+(r*1080|0)+32+(n<<2)>>2]=h[f+(r*1080|0)+28+(n<<3)+4>>2];h[e+(r*1080|0)+420+(n<<2)>>2]=h[f+(r*1080|0)+28+(n<<3)>>2];n=n+1|0}while((n|0)!=(t|0))}h[e+(r*1080|0)+812>>2]=h[f+(r*1080|0)+808>>2];r=r+1|0;if((r|0)==(s|0))break;e=h[l>>2]|0}v=u;return i|0}function _f(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;i=Kn(1,48)|0;if(!i){o=0;return o|0}a=e+196|0;r=h[a>>2]|0;l=r;o=h[l+4>>2]|0;e=i;h[e>>2]=h[l>>2];h[e+4>>2]=o;e=r+8|0;o=h[e+4>>2]|0;l=i+8|0;h[l>>2]=h[e>>2];h[l+4>>2]=o;l=r+16|0;o=h[l+4>>2]|0;e=i+16|0;h[e>>2]=h[l>>2];h[e+4>>2]=o;r=h[r+24>>2]|0;e=i+24|0;h[e>>2]=r;r=Gn(r*24|0)|0;o=i+28|0;h[o>>2]=r;if(!r){Qn(i);o=0;return o|0}t=h[(h[a>>2]|0)+28>>2]|0;if(!t){Qn(r);h[o>>2]=0}else Gs(r|0,t|0,(h[e>>2]|0)*24|0)|0;e=h[(h[a>>2]|0)+36>>2]|0;f=i+36|0;h[f>>2]=e;e=Kn(e,40)|0;l=i+40|0;h[l>>2]=e;if(!e){Qn(h[o>>2]|0);Qn(i);o=0;return o|0}r=h[(h[a>>2]|0)+40>>2]|0;if(!r){Qn(e);h[l>>2]=0;o=i;return o|0}if(!(h[f>>2]|0)){o=i;return o|0}r=h[r+20>>2]|0;h[e+20>>2]=r;r=Gn(r*24|0)|0;e=h[l>>2]|0;h[e+24>>2]=r;e:do{if(!r)r=0;else{n=r;r=0;while(1){t=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+24>>2]|0;if(!t){Qn(n);e=h[l>>2]|0;h[e+(r*40|0)+24>>2]=0}else{Gs(n|0,t|0,(h[e+(r*40|0)+20>>2]|0)*24|0)|0;e=h[l>>2]|0}t=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+4>>2]|0;h[e+(r*40|0)+4>>2]=t;t=Gn(t*24|0)|0;e=h[l>>2]|0;h[e+(r*40|0)+16>>2]=t;if(!t)break;n=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+16>>2]|0;if(!n){Qn(t);e=h[l>>2]|0;h[e+(r*40|0)+16>>2]=0}else{Gs(t|0,n|0,(h[e+(r*40|0)+4>>2]|0)*24|0)|0;e=h[l>>2]|0}h[e+(r*40|0)+32>>2]=0;h[e+(r*40|0)+36>>2]=0;r=r+1|0;if(r>>>0>=(h[f>>2]|0)>>>0){s=32;break}n=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+20>>2]|0;h[e+(r*40|0)+20>>2]=n;n=Gn(n*24|0)|0;e=h[l>>2]|0;h[e+(r*40|0)+24>>2]=n;if(!n)break e}if((s|0)==32)return i|0;if(r){Qn(h[e+24>>2]|0);Qn(h[(h[l>>2]|0)+16>>2]|0);if((r|0)!=1){e=1;do{Qn(h[(h[l>>2]|0)+(e*40|0)+24>>2]|0);Qn(h[(h[l>>2]|0)+(e*40|0)+16>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=h[l>>2]|0}Qn(e);Qn(h[o>>2]|0);Qn(i);o=0;return o|0}}while(0);if(r){Qn(h[e+24>>2]|0);if((r|0)!=1){e=1;do{Qn(h[(h[l>>2]|0)+(e*40|0)+24>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=h[l>>2]|0}Qn(e);Qn(h[o>>2]|0);Qn(i);o=0;return o|0}function mf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;if(!r){r=0;return r|0}n=en()|0;o=e+84|0;h[o>>2]=n;if(!n){r=0;return r|0}fn(r,n);a=e+188|0;pa(h[a>>2]|0,27,t)|0;a=h[a>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](e,i,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){r=e+80|0;tn(h[r>>2]|0);h[r>>2]=0;r=0;return r|0}}else ya(a);l=h[r+16>>2]|0;if(!l){r=1;return r|0}a=h[(h[o>>2]|0)+24>>2]|0;n=h[r+24>>2]|0;f=0;do{h[n+(f*52|0)+36>>2]=h[a+(f*52|0)+36>>2];r=a+(f*52|0)+44|0;h[n+(f*52|0)+44>>2]=h[r>>2];h[r>>2]=0;f=f+1|0}while(f>>>0<l>>>0);n=1;return n|0}function pf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;m=v;v=v+16|0;l=m+8|0;if(!r){Zt(t,1,10654,m)|0;_=0;v=m;return _|0}f=h[e+112>>2]|0;a=ue(h[e+116>>2]|0,f)|0;if(a>>>0<=n>>>0){h[l>>2]=n;h[l+4>>2]=a+-1;Zt(t,1,10692,l)|0;_=0;v=m;return _|0}_=(n>>>0)%(f>>>0)|0;w=(n>>>0)/(f>>>0)|0;l=h[e+100>>2]|0;a=ue(l,_)|0;s=h[e+92>>2]|0;a=a+s|0;h[r>>2]=a;k=e+80|0;f=h[k>>2]|0;o=h[f>>2]|0;a=a>>>0<o>>>0?o:a;h[r>>2]=a;s=(ue(l,_+1|0)|0)+s|0;_=r+8|0;h[_>>2]=s;l=h[f+8>>2]|0;s=s>>>0>l>>>0?l:s;h[_>>2]=s;_=h[e+104>>2]|0;l=ue(_,w)|0;o=h[e+96>>2]|0;l=l+o|0;b=r+4|0;h[b>>2]=l;d=h[f+4>>2]|0;l=l>>>0<d>>>0?d:l;h[b>>2]=l;o=(ue(_,w+1|0)|0)+o|0;w=r+12|0;h[w>>2]=o;_=h[f+12>>2]|0;o=o>>>0>_>>>0?_:o;h[w>>2]=o;w=r+24|0;_=r+16|0;b=h[_>>2]|0;if(b){d=h[f+24>>2]|0;c=a+-1|0;u=l+-1|0;s=s+-1|0;f=o+-1|0;a=0;l=h[w>>2]|0;while(1){o=h[d+(a*52|0)+40>>2]|0;h[l+40>>2]=o;M=h[l>>2]|0;A=(c+M|0)/(M|0)|0;h[l+16>>2]=A;p=h[l+4>>2]|0;E=(u+p|0)/(p|0)|0;h[l+20>>2]=E;M=(s+M|0)/(M|0)|0;p=(f+p|0)/(p|0)|0;y=Xs(1,0,o|0)|0;g=j;M=zs(M|0,((M|0)<0)<<31>>31|0,-1,-1)|0;M=zs(M|0,j|0,y|0,g|0)|0;M=Ys(M|0,j|0,o|0)|0;A=zs(A|0,((A|0)<0)<<31>>31|0,-1,-1)|0;A=zs(A|0,j|0,y|0,g|0)|0;A=Ys(A|0,j|0,o|0)|0;h[l+8>>2]=M-A;p=zs(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;p=zs(p|0,j|0,y|0,g|0)|0;p=Ys(p|0,j|0,o|0)|0;E=zs(E|0,((E|0)<0)<<31>>31|0,-1,-1)|0;g=zs(E|0,j|0,y|0,g|0)|0;o=Ys(g|0,j|0,o|0)|0;h[l+12>>2]=p-o;a=a+1|0;if(a>>>0>=b>>>0)break;else l=l+52|0}}u=e+84|0;f=h[u>>2]|0;if(f)tn(f);f=en()|0;h[u>>2]=f;if(!f){M=0;v=m;return M|0}fn(r,f);h[e+60>>2]=n;l=e+188|0;pa(h[l>>2]|0,28,t)|0;l=h[l>>2]|0;s=va(l)|0;f=ga(l)|0;if(s){o=0;a=1;while(1){if(!a)a=0;else a=(Ro[h[f>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(s|0))break;else{f=f+4|0;a=a&1}}ya(l);if(!a){tn(h[k>>2]|0);h[k>>2]=0;M=0;v=m;return M|0}}else ya(l);f=h[_>>2]|0;if(!f){M=1;v=m;return M|0}s=h[(h[u>>2]|0)+24>>2]|0;l=h[w>>2]|0;o=0;while(1){h[l+(o*52|0)+36>>2]=h[s+(o*52|0)+36>>2];a=h[l+(o*52|0)+44>>2]|0;if(!a)a=s;else{Qn(a);a=h[(h[u>>2]|0)+24>>2]|0;l=h[w>>2]|0;f=h[_>>2]|0}M=a+(o*52|0)+44|0;h[l+(o*52|0)+44>>2]=h[M>>2];h[M>>2]=0;o=o+1|0;if(o>>>0>=f>>>0){f=1;break}else s=a}v=m;return f|0}function vf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;h[e+168>>2]=i;t=h[e+80>>2]|0;e:do{if((((t|0)!=0?(a=h[t+24>>2]|0,(a|0)!=0):0)?(n=h[e+12>>2]|0,(n|0)!=0):0)?(f=h[n+5584>>2]|0,(f|0)!=0):0){t=h[t+16>>2]|0;if(!t)t=1;else{n=0;while(1){if((h[f+(n*1080|0)+4>>2]|0)>>>0<=i>>>0)break;h[a+(n*52|0)+40>>2]=i;n=n+1|0;if(n>>>0>=t>>>0){t=1;break e}}Zt(r,1,10753,l)|0;t=0}}else t=0}while(0);v=s;return t|0}function gf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0;Y=v;v=v+48|0;j=Y+32|0;U=Y+24|0;F=Y+16|0;B=Y+8|0;N=Y;T=e+204|0;t=h[T>>2]|0;L=e+116|0;C=e+112|0;D=ue(h[C>>2]|0,h[L>>2]|0)|0;x=(D|0)==1;if(!D){H=1;v=Y;return H|0}I=e+200|0;S=e+12|0;P=e+164|0;O=e+8|0;R=t+20|0;A=t+24|0;M=0;t=0;l=0;e:while(1){if((h[I>>2]|0)!=(M|0)){H=5;break}y=M;M=M+1|0;E=ue(h[L>>2]|0,h[C>>2]|0)|0;h[B>>2]=M;h[B+4>>2]=E;Zt(r,4,10866,B)|0;h[S>>2]=0;E=h[T>>2]|0;h[E+12>>2]=h[(h[P>>2]|0)+(y*5640|0)+5588>>2];h[O>>2]=0;if(!(Gr(E,h[I>>2]|0,r)|0))break;n=h[T>>2]|0;if(h[(h[n+24>>2]|0)+16>>2]|0){a=0;do{f=h[(h[h[R>>2]>>2]|0)+20>>2]|0;if(x){h[f+(a*52|0)+32>>2]=h[(h[(h[A>>2]|0)+24>>2]|0)+(a*52|0)+44>>2];h[f+(a*52|0)+36>>2]=0}else{if(!(Vr(f+(a*52|0)|0)|0)){H=14;break e}n=h[T>>2]|0}a=a+1|0}while(a>>>0<(h[(h[n+24>>2]|0)+16>>2]|0)>>>0)}E=$r(n)|0;if(!x){if(E>>>0>l>>>0){n=Zn(t,E)|0;if(!n){H=20;break}else{t=n;n=E}}else n=l;f=h[T>>2]|0;y=f+24|0;a=h[y>>2]|0;if(h[a+16>>2]|0){g=f+20|0;f=t;p=0;do{w=h[(h[h[g>>2]>>2]|0)+20>>2]|0;s=h[a+24>>2]|0;k=h[s+(p*52|0)+24>>2]|0;k=((k&7|0)!=0&1)+(k>>>3)|0;o=h[w+(p*52|0)+8>>2]|0;u=h[w+(p*52|0)>>2]|0;m=o-u|0;b=h[w+(p*52|0)+12>>2]|0;w=h[w+(p*52|0)+4>>2]|0;z=h[a>>2]|0;X=h[s+(p*52|0)>>2]|0;l=h[s+(p*52|0)+4>>2]|0;q=(X+~z+(h[a+8>>2]|0)|0)/(X|0)|0;_=q-m|0;a=u-((z+-1+X|0)/(X|0)|0)+(ue(q,w-(((h[a+4>>2]|0)+-1+l|0)/(l|0)|0)|0)|0)|0;a=(h[s+(p*52|0)+44>>2]|0)+(a<<2)|0;i:do{switch(((k|0)==3?4:k)|0){case 1:{l=(b|0)==(w|0);if(!(h[s+(p*52|0)+32>>2]|0)){if(l)break i;k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){c[s>>0]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+1|0;o=o+4|0}}f=f+m|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}else{if(l)break i;k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){c[s>>0]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+1|0;o=o+4|0}}f=f+m|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}break}case 2:{l=(b|0)==(w|0);if(!(h[s+(p*52|0)+32>>2]|0)){if(!l){k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){d[s>>1]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+2|0;o=o+4|0}}f=f+(m<<1)|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}}else if(!l){k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){d[s>>1]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+2|0;o=o+4|0}}f=f+(m<<1)|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}break}case 4:{if((b|0)!=(w|0)){k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){h[s>>2]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+4|0;o=o+4|0}}f=f+(m<<2)|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}break}default:{}}}while(0);p=p+1|0;a=h[y>>2]|0}while(p>>>0<(h[a+16>>2]|0)>>>0);f=h[T>>2]|0}if(!(et(f,t,E)|0)){H=63;break}}else n=l;if(!(Df(e,i,r)|0)){H=65;break}if(M>>>0>=D>>>0){H=67;break}else l=n}if((H|0)==5)Zt(r,1,10829,N)|0;else if((H|0)==14){Zt(r,1,10887,F)|0;if(!t){z=0;v=Y;return z|0}Qn(t);z=0;v=Y;return z|0}else if((H|0)==20){if(t)Qn(t);Zt(r,1,10925,U)|0;z=0;v=Y;return z|0}else if((H|0)==63){Zt(r,1,10964,j)|0;Qn(t);z=0;v=Y;return z|0}else if((H|0)==65){if(!t){z=0;v=Y;return z|0}Qn(t);z=0;v=Y;return z|0}else if((H|0)==67){if(!t){z=1;v=Y;return z|0}Qn(t);z=1;v=Y;return z|0}if(!t){z=0;v=Y;return z|0}Qn(t);z=0;v=Y;return z|0}function yf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=e+188|0;if(!(pa(h[t>>2]|0,29,r)|0)){i=0;return i|0}if(((d[e+88>>1]|0)+-3&65535)<4?(pa(h[t>>2]|0,30,r)|0)==0:0){i=0;return i|0}if(!(pa(h[t>>2]|0,31,r)|0)){i=0;return i|0}if(!(pa(h[t>>2]|0,32,r)|0)){i=0;return i|0}if(!(pa(h[t>>2]|0,33,r)|0)){i=0;return i|0}l=h[t>>2]|0;f=va(l)|0;t=ga(l)|0;if(!f)t=1;else{a=0;n=t;t=1;while(1){if(!t)t=0;else t=(Ro[h[n>>2]&63](e,i,r)|0)!=0;t=t&1;a=a+1|0;if((a|0)==(f|0))break;else n=n+4|0}}ya(l);i=t;return i|0}function Ef(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;n=en()|0;l=e+80|0;h[l>>2]=n;if(!n){Zt(t,1,11011,o)|0;i=0;v=o;return i|0}fn(r,n);a=h[r+24>>2]|0;if((a|0)!=0?(s=h[r+16>>2]|0,(s|0)!=0):0){f=0;do{r=a+(f*52|0)+44|0;n=h[r>>2]|0;if(n){h[(h[(h[l>>2]|0)+24>>2]|0)+(f*52|0)+44>>2]=n;h[r>>2]=0}f=f+1|0}while(f>>>0<s>>>0)}n=e+192|0;if(!(pa(h[n>>2]|0,34,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,35,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,36,t)|0)){i=0;v=o;return i|0}f=h[n>>2]|0;a=va(f)|0;n=ga(f)|0;if(a){l=0;r=1;while(1){if(!r)r=0;else r=(Ro[h[n>>2]&63](e,i,t)|0)!=0;l=l+1|0;if((l|0)==(a|0))break;else{n=n+4|0;r=r&1}}ya(f);if(!r){i=0;v=o;return i|0}}else ya(f);n=e+188|0;if(!(pa(h[n>>2]|0,37,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,38,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,39,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,40,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,41,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,42,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,43,t)|0)){i=0;v=o;return i|0}r=e+88|0;if(((d[r>>1]|0)+-3&65535)<4){if(!(pa(h[n>>2]|0,44,t)|0)){i=0;v=o;return i|0}if((d[r>>1]|0)==4?(pa(h[n>>2]|0,45,t)|0)==0:0){i=0;v=o;return i|0}}if(!(pa(h[n>>2]|0,46,t)|0)){i=0;v=o;return i|0}if((h[e+108>>2]|0)!=0?(pa(h[n>>2]|0,47,t)|0)==0:0){i=0;v=o;return i|0}if((d[r>>1]&256)!=0?(pa(h[n>>2]|0,48,t)|0)==0:0){i=0;v=o;return i|0}if((h[e+196>>2]|0)!=0?(pa(h[n>>2]|0,49,t)|0)==0:0){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,50,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,51,t)|0)){i=0;v=o;return i|0}l=h[n>>2]|0;f=va(l)|0;n=ga(l)|0;if(!f)n=1;else{a=0;r=n;n=1;while(1){if(!n)n=0;else n=(Ro[h[r>>2]&63](e,i,t)|0)!=0;n=n&1;a=a+1|0;if((a|0)==(f|0))break;else r=r+4|0}}ya(l);i=n;v=o;return i|0}function Af(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+48|0;d=k+40|0;b=k+32|0;c=k+24|0;o=k+16|0;l=k+8|0;a=k;s=e+200|0;if((h[s>>2]|0)==(i|0)){u=ue(h[e+116>>2]|0,h[e+112>>2]|0)|0;h[l>>2]=i+1;h[l+4>>2]=u;Zt(f,4,10866,l)|0;h[e+12>>2]=0;u=e+204|0;l=h[u>>2]|0;h[l+12>>2]=h[(h[e+164>>2]|0)+(i*5640|0)+5588>>2];h[e+8>>2]=0;if(Gr(l,h[s>>2]|0,f)|0){a=h[u>>2]|0;e:do{if(h[(h[a+24>>2]|0)+16>>2]|0){l=0;while(1){if(!(Vr((h[(h[h[a+20>>2]>>2]|0)+20>>2]|0)+(l*52|0)|0)|0))break;l=l+1|0;a=h[u>>2]|0;if(l>>>0>=(h[(h[a+24>>2]|0)+16>>2]|0)>>>0)break e}Zt(f,1,10887,c)|0;b=0;v=k;return b|0}}while(0);if(!(et(a,r,t)|0)){Zt(f,1,10964,b)|0;b=0;v=k;return b|0}if(Df(e,n,f)|0){b=1;v=k;return b|0}h[d>>2]=i;Zt(f,1,11101,d)|0;b=0;v=k;return b|0}}else Zt(f,1,10829,a)|0;h[o>>2]=i;Zt(f,1,11044,o)|0;b=0;v=k;return b|0}function Mf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0;if(!e)return;n=e+5164|0;i=h[n>>2]|0;if(i){f=e+5160|0;r=h[f>>2]|0;if(r){t=0;while(1){i=h[i+(t<<3)>>2]|0;if(i){Qn(i);r=h[f>>2]|0}t=t+1|0;if(t>>>0>=r>>>0)break;i=h[n>>2]|0}i=h[n>>2]|0}h[f>>2]=0;Qn(i);h[n>>2]=0}i=e+5172|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5584|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5608|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5604|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5624|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+5632>>2]=0;h[e+5628>>2]=0}l=e+5612|0;i=h[l>>2]|0;if(i){a=e+5616|0;r=h[a>>2]|0;if(r){f=0;while(1){t=i+12|0;n=h[t>>2]|0;if(n){Qn(n);h[t>>2]=0;r=h[a>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;else i=i+20|0}i=h[l>>2]|0}Qn(i);h[l>>2]=0}i=e+5600|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5592|0;r=h[i>>2]|0;if(!r)return;Qn(r);h[i>>2]=0;h[e+5596>>2]=0;return}function Tf(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function Sf(e,i,r){e=e|0;i=i|0;r=r|0;return(h[e+8>>2]|0)==0&(h[e+188>>2]|0)!=0&(h[e+192>>2]|0)!=0&1|0}function Pf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0;J=v;v=v+224|0;W=J+200|0;V=J+192|0;z=J+184|0;Y=J+176|0;H=J+168|0;U=J+160|0;N=J+152|0;B=J+144|0;I=J+136|0;O=J+128|0;x=J+120|0;P=J+112|0;S=J+104|0;T=J+96|0;M=J+88|0;A=J+80|0;D=J+72|0;C=J+64|0;E=J+56|0;y=J+48|0;g=J+40|0;R=J+32|0;b=J+24|0;s=J+16|0;l=J+8|0;F=J;X=J+216|0;t=J+204|0;L=J+212|0;p=J+208|0;K=e+8|0;h[K>>2]=1;e:do{if((qt(i,X,2,r)|0)==2?(gt(X,t,2),(h[t>>2]|0)==65359):0){h[K>>2]=2;u=Vt(i)|0;u=zs(u|0,j|0,-2,-1)|0;o=j;G=e+196|0;n=h[G>>2]|0;h[n>>2]=u;h[n+4>>2]=o;n=F;h[n>>2]=u;h[n+4>>2]=o;Zt(r,4,15766,F)|0;n=h[G>>2]|0;o=h[n>>2]|0;u=n+24|0;t=h[u>>2]|0;a=n+32|0;f=h[a>>2]|0;do{if((t+1|0)>>>0>f>>>0){m=~~(+(f>>>0)+100.0)>>>0;h[a>>2]=m;t=n+28|0;n=Zn(h[t>>2]|0,m*24|0)|0;if(!n){Qn(h[t>>2]|0);h[t>>2]=0;h[a>>2]=0;h[u>>2]=0;Zt(r,1,15803,l)|0;break e}else{h[t>>2]=n;t=h[u>>2]|0;break}}else n=h[n+28>>2]|0}while(0);d[n+(t*24|0)>>1]=-177;_=Ys(0,o|0,32)|0;m=n+(t*24|0)+8|0;h[m>>2]=_;h[m+4>>2]=j;h[n+(t*24|0)+16>>2]=2;h[u>>2]=t+1;m=e+16|0;if((qt(i,h[m>>2]|0,2,r)|0)!=2){Zt(r,1,8295,b)|0;r=0;v=J;return r|0}gt(h[m>>2]|0,L,2);t=h[L>>2]|0;if((t|0)!=65424){_=e+20|0;k=0;f=0;w=0;i:while(1){if(t>>>0<65280){q=14;break}else l=784;while(1){n=h[l>>2]|0;a=(n|0)==0;if(a|(n|0)==(t|0))break;else l=l+12|0}if(a){Zt(r,2,15914,g)|0;s=2;r:while(1){do{if((qt(i,h[m>>2]|0,2,r)|0)!=2){q=20;break i}gt(h[m>>2]|0,F,2);t=h[F>>2]|0}while(t>>>0<65280);l=784;while(1){n=h[l>>2]|0;if((n|0)==0|(n|0)==(t|0)){a=l;t=l;break}else l=l+12|0}if(!(h[t+4>>2]&h[K>>2])){q=25;break i}if((n|0)>=65424){q=100;break}switch(n|0){case 0:break;default:{b=a;u=s;break r}}s=s+2|0}if((q|0)==100){q=0;switch(n|0){case 65424:{n=k;t=w;q=27;break i}default:{b=a;u=s}}}l=h[G>>2]|0;o=Vt(i)|0;o=o-u|0;a=l+24|0;t=h[a>>2]|0;n=l+32|0;s=h[n>>2]|0;if((t+1|0)>>>0>s>>>0){t=~~(+(s>>>0)+100.0)>>>0;h[n>>2]=t;l=l+28|0;t=Zn(h[l>>2]|0,t*24|0)|0;if(!t){f=l;t=l;q=32;break}h[l>>2]=t;n=t;t=h[a>>2]|0}else n=h[l+28>>2]|0;d[n+(t*24|0)>>1]=0;s=n+(t*24|0)+8|0;h[s>>2]=o;h[s+4>>2]=((o|0)<0)<<31>>31;h[n+(t*24|0)+16>>2]=u;h[a>>2]=t+1;t=h[b>>2]|0;h[L>>2]=t;if((t|0)==65424){n=k;t=w;break}else a=784;while(1){n=h[a>>2]|0;if((n|0)==0|(n|0)==(t|0))break;else a=a+12|0}}else a=l;w=(n|0)==65361?1:w;k=(n|0)==65362?1:k;f=(n|0)==65372?1:f;if(!(h[a+4>>2]&h[K>>2])){q=38;break}if((qt(i,h[m>>2]|0,2,r)|0)!=2){q=40;break}gt(h[m>>2]|0,p,2);n=(h[p>>2]|0)+-2|0;h[p>>2]=n;t=h[m>>2]|0;if(n>>>0>(h[_>>2]|0)>>>0){t=Zn(t,n)|0;if(!t){q=43;break}h[m>>2]=t;n=h[p>>2]|0;h[_>>2]=n}t=qt(i,t,n,r)|0;if((t|0)!=(h[p>>2]|0)){q=46;break}if(!(Fo[h[a+8>>2]&63](e,h[m>>2]|0,t,r)|0)){q=48;break}s=h[G>>2]|0;o=h[a>>2]|0;u=Vt(i)|0;b=h[p>>2]|0;u=-4-b+u|0;b=b+4|0;a=s+24|0;t=h[a>>2]|0;n=s+32|0;l=h[n>>2]|0;if((t+1|0)>>>0>l>>>0){t=~~(+(l>>>0)+100.0)>>>0;h[n>>2]=t;l=s+28|0;t=Zn(h[l>>2]|0,t*24|0)|0;if(!t){f=l;t=l;q=53;break}h[l>>2]=t;n=t;t=h[a>>2]|0}else n=h[s+28>>2]|0;d[n+(t*24|0)>>1]=o;o=n+(t*24|0)+8|0;h[o>>2]=u;h[o+4>>2]=((u|0)<0)<<31>>31;h[n+(t*24|0)+16>>2]=b;h[a>>2]=t+1;if((qt(i,h[m>>2]|0,2,r)|0)!=2){q=55;break}gt(h[m>>2]|0,L,2);t=h[L>>2]|0;if((t|0)==65424){n=k;t=w;break}}switch(q|0){case 14:{h[R>>2]=t;Zt(r,1,15863,R)|0;r=0;v=J;return r|0}case 20:{Zt(r,1,8295,y)|0;q=34;break}case 25:{Zt(r,1,8339,E)|0;q=34;break}case 27:{h[L>>2]=65424;break}case 32:{Qn(h[t>>2]|0);h[f>>2]=0;h[n>>2]=0;h[a>>2]=0;Zt(r,1,15803,C)|0;q=34;break}case 38:{Zt(r,1,8339,A)|0;r=0;v=J;return r|0}case 40:{Zt(r,1,8295,M)|0;r=0;v=J;return r|0}case 43:{Qn(h[m>>2]|0);h[m>>2]=0;h[_>>2]=0;Zt(r,1,8427,T)|0;r=0;v=J;return r|0}case 46:{Zt(r,1,8295,S)|0;r=0;v=J;return r|0}case 48:{Zt(r,1,15985,P)|0;r=0;v=J;return r|0}case 53:{Qn(h[t>>2]|0);h[f>>2]=0;h[n>>2]=0;h[a>>2]=0;Zt(r,1,15803,x)|0;r=0;v=J;return r|0}case 55:{Zt(r,1,8295,O)|0;r=0;v=J;return r|0}}if((q|0)==34){Zt(r,1,15930,D)|0;r=0;v=J;return r|0}if(t){if(!n){Zt(r,1,16090,B)|0;r=0;v=J;return r|0}if(!f){Zt(r,1,16136,N)|0;r=0;v=J;return r|0}i:do{if(c[e+184>>0]&1){_=e+120|0;do{if(h[_>>2]|0){o=e+124|0;u=0;t=0;n=0;r:do{f=h[o>>2]|0;a=h[f+(u<<3)>>2]|0;t:do{if(a){l=h[f+(u<<3)+4>>2]|0;f=t>>>0<l>>>0;s=f?0:t-l|0;if((l|0)==(t|0)|f^1)t=s;else{a=f?a+t|0:a;t=l-t|0;while(1){if(t>>>0<4){q=70;break r}gt(a,F,4);f=t+-4|0;t=h[F>>2]|0;n=t+n|0;if(f>>>0<t>>>0)break;if((f|0)==(t|0)){t=s;break t}else{a=a+(t+4)|0;t=f-t|0}}t=t-f|0}}}while(0);u=u+1|0}while(u>>>0<(h[_>>2]|0)>>>0);if((q|0)==70){Zt(r,1,16182,U)|0;break}if(!t)q=77;else Zt(r,1,16213,H)|0}else{n=0;q=77}}while(0);r:do{if((q|0)==77){f=Gn(n)|0;b=e+144|0;h[b>>2]=f;if(!f){Zt(r,1,13302,Y)|0;break}k=e+132|0;h[k>>2]=n;a=h[_>>2]|0;w=e+124|0;do{if(a){t=h[w>>2]|0;f=t;u=0;o=0;n=0;t:while(1){l=h[f+(u<<3)>>2]|0;if(!l)l=o;else{f=h[f+(u<<3)+4>>2]|0;t=(h[b>>2]|0)+n|0;n:do{if(o>>>0<f>>>0){Gs(t|0,l|0,o|0)|0;n=n+o|0;if((f|0)==(o|0)){l=0;break}s=l+o|0;t=f-o|0;while(1){if(t>>>0<4){q=88;break t}gt(s,X,4);l=s+4|0;a=t+-4|0;f=h[X>>2]|0;t=(h[b>>2]|0)+n|0;if(a>>>0<f>>>0){f=l;break}Gs(t|0,l|0,f|0)|0;t=h[X>>2]|0;n=t+n|0;if((a|0)==(t|0)){l=0;break n}else{s=s+(t+4)|0;t=a-t|0}}Gs(t|0,f|0,a|0)|0;l=(h[X>>2]|0)-a|0;n=a+n|0}else{Gs(t|0,l|0,f|0)|0;l=o-f|0;n=f+n|0}}while(0);Qn(h[(h[w>>2]|0)+(u<<3)>>2]|0);f=h[w>>2]|0;h[f+(u<<3)>>2]=0;h[f+(u<<3)+4>>2]=0;a=h[_>>2]|0;t=f}u=u+1|0;if(u>>>0>=a>>>0){q=94;break}else o=l}if((q|0)==88){Zt(r,1,16182,z)|0;break r}else if((q|0)==94){f=h[b>>2]|0;n=h[k>>2]|0;break}}else t=h[w>>2]|0}while(0);h[e+128>>2]=f;h[e+152>>2]=n;h[_>>2]=0;Qn(t);h[w>>2]=0;break i}}while(0);Zt(r,1,16236,V)|0;r=0;v=J;return r|0}}while(0);Zt(r,4,16262,W)|0;W=Vt(i)|0;r=(h[G>>2]|0)+8|0;h[r>>2]=W+-2;h[r+4>>2]=0;h[K>>2]=8;r=1;v=J;return r|0}}Zt(r,1,16044,I)|0;r=0;v=J;return r|0}}while(0);Zt(r,1,15839,s)|0;r=0;v=J;return r|0}function Of(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0;C=v;v=v+16|0;L=C;O=h[e+80>>2]|0;R=e+88|0;T=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;k=h[O+16>>2]|0;d=k*1080|0;b=h[e+12>>2]|0;k=ue(k<<2,k)|0;e:do{if(T){w=b+5604|0;_=b+5620|0;m=b+5612|0;p=b+5616|0;g=b+5632|0;y=b+5624|0;E=b+5584|0;S=0;P=h[e+164>>2]|0;i:while(1){l=P+5584|0;A=h[l>>2]|0;Gs(P|0,b|0,5640)|0;i=P+5636|0;c[i>>0]=c[i>>0]&-4;h[P+5168>>2]=0;i=P+5604|0;h[i>>2]=0;s=P+5620|0;h[s>>2]=0;M=P+5612|0;h[M>>2]=0;o=P+5632|0;h[o>>2]=0;u=P+5624|0;h[u>>2]=0;h[l>>2]=A;if(h[w>>2]|0){t=Gn(k)|0;h[i>>2]=t;if(!t){i=0;t=25;break}Gs(t|0,h[w>>2]|0,k|0)|0}i=(h[_>>2]|0)*20|0;t=Gn(i)|0;h[M>>2]=t;if(!t){i=0;t=25;break}Gs(t|0,h[m>>2]|0,i|0)|0;i=h[p>>2]|0;if(i){f=0;a=h[M>>2]|0;l=h[m>>2]|0;while(1){n=l+12|0;if(h[n>>2]|0){i=l+16|0;t=Gn(h[i>>2]|0)|0;h[a+12>>2]=t;if(!t){i=0;t=25;break i}Gs(t|0,h[n>>2]|0,h[i>>2]|0)|0;i=h[p>>2]|0}h[s>>2]=(h[s>>2]|0)+1;f=f+1|0;if(f>>>0>=i>>>0)break;else{a=a+20|0;l=l+20|0}}}i=(h[g>>2]|0)*20|0;t=Gn(i)|0;h[u>>2]=t;if(!t){i=0;t=25;break}Gs(t|0,h[y>>2]|0,i|0)|0;h[o>>2]=h[g>>2];f=h[g>>2]|0;if(f){a=0;t=h[u>>2]|0;n=h[y>>2]|0;while(1){i=h[n+8>>2]|0;if(i)h[t+8>>2]=(h[M>>2]|0)+(((i-(h[m>>2]|0)|0)/20|0)*20|0);i=h[n+12>>2]|0;if(i)h[t+12>>2]=(h[M>>2]|0)+(((i-(h[m>>2]|0)|0)/20|0)*20|0);a=a+1|0;if(a>>>0>=f>>>0)break;else{t=t+20|0;n=n+20|0}}}Gs(A|0,h[E>>2]|0,d|0)|0;S=S+1|0;if(S>>>0>=T>>>0)break e;else P=P+5640|0}if((t|0)==25){v=C;return i|0}}}while(0);t=jr(1)|0;i=e+204|0;h[i>>2]=t;if(!t){r=0;v=C;return r|0}if(Xr(t,O,R)|0){r=1;v=C;return r|0}zr(h[i>>2]|0);h[i>>2]=0;Zt(r,1,8839,L)|0;r=0;v=C;return r|0}function Rf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;y=v;v=v+128|0;p=y+120|0;m=y+112|0;_=y+104|0;w=y+96|0;k=y+88|0;b=y+80|0;d=y+72|0;c=y+64|0;u=y+56|0;o=y+48|0;s=y+40|0;l=y+32|0;a=y+24|0;f=y+16|0;n=y+8|0;t=y;if(!e){v=y;return}cs(12191,17,1,r)|0;h[t>>2]=h[e>>2];es(r,12209,t)|0;h[n>>2]=h[e+4>>2];es(r,12222,n)|0;h[f>>2]=h[e+8>>2];es(r,12234,f)|0;h[a>>2]=h[e+16>>2];es(r,12251,a)|0;if((i|0)>0){f=e+5584|0;a=0;do{n=h[f>>2]|0;h[l>>2]=a;es(r,12262,l)|0;h[s>>2]=h[n+(a*1080|0)>>2];es(r,12276,s)|0;e=n+(a*1080|0)+4|0;h[o>>2]=h[e>>2];es(r,12290,o)|0;h[u>>2]=h[n+(a*1080|0)+8>>2];es(r,12313,u)|0;h[c>>2]=h[n+(a*1080|0)+12>>2];es(r,12329,c)|0;h[d>>2]=h[n+(a*1080|0)+16>>2];es(r,12345,d)|0;h[b>>2]=h[n+(a*1080|0)+20>>2];es(r,12362,b)|0;cs(12377,23,1,r)|0;if(h[e>>2]|0){t=0;do{E=h[n+(a*1080|0)+944+(t<<2)>>2]|0;h[k>>2]=h[n+(a*1080|0)+812+(t<<2)>>2];h[k+4>>2]=E;es(r,12401,k)|0;t=t+1|0}while(t>>>0<(h[e>>2]|0)>>>0)}is(10,r)|0;E=n+(a*1080|0)+24|0;h[w>>2]=h[E>>2];es(r,12410,w)|0;h[_>>2]=h[n+(a*1080|0)+804>>2];es(r,12425,_)|0;cs(12442,20,1,r)|0;if((h[E>>2]|0)!=1){e=(h[e>>2]|0)*3|0;if((e|0)>2){e=e+-2|0;g=8}}else{e=1;g=8}if((g|0)==8){g=0;t=0;do{E=h[n+(a*1080|0)+28+(t<<3)>>2]|0;h[m>>2]=h[n+(a*1080|0)+28+(t<<3)+4>>2];h[m+4>>2]=E;es(r,12401,m)|0;t=t+1|0}while((t|0)!=(e|0))}is(10,r)|0;h[p>>2]=h[n+(a*1080|0)+808>>2];es(r,12463,p)|0;cs(12480,5,1,r)|0;a=a+1|0}while((a|0)!=(i|0))}cs(10321,4,1,r)|0;v=y;return}function Lf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0;S=v;v=v+80|0;p=S+32|0;g=S+24|0;A=S+16|0;E=S+8|0;d=S+64|0;y=S+60|0;c=S+56|0;k=S+52|0;_=S+48|0;w=S+44|0;m=S+40|0;b=S+36|0;h[d>>2]=1;t=Gn(1e3)|0;if(!t){Zt(r,1,12127,S)|0;r=0;v=S;return r|0}M=e+116|0;T=e+112|0;s=e+204|0;o=e+84|0;u=e+8|0;n=1e3;l=0;while(1){if(!(of(e,y,c,k,_,w,m,b,d,i,r)|0)){f=5;break}if(!(h[d>>2]|0)){f=17;break}a=h[c>>2]|0;if(a>>>0>n>>>0){n=Zn(t,a)|0;if(!n){f=9;break}else{t=n;f=a}}else f=n;n=h[y>>2]|0;if(!(uf(e,n,t,a,i,r)|0)){f=11;break}n=n+1|0;a=ue(h[T>>2]|0,h[M>>2]|0)|0;h[g>>2]=n;h[g+4>>2]=a;Zt(r,4,11986,g)|0;a=h[s>>2]|0;if(!(oa(h[(h[h[a+20>>2]>>2]|0)+20>>2]|0,h[a+24>>2]|0,t,h[(h[o>>2]|0)+24>>2]|0)|0)){f=13;break}h[p>>2]=n;Zt(r,4,12016,p)|0;a=Gt(i)|0;if((a|0)==0&(j|0)==0?(h[u>>2]|0)==64:0){f=17;break}l=l+1|0;if((l|0)==(ue(h[T>>2]|0,h[M>>2]|0)|0)){f=17;break}else n=f}if((f|0)==5){Qn(t);r=0;v=S;return r|0}else if((f|0)==9){Qn(t);T=ue(h[T>>2]|0,h[M>>2]|0)|0;h[E>>2]=(h[y>>2]|0)+1;h[E+4>>2]=T;Zt(r,1,11946,E)|0;r=0;v=S;return r|0}else if((f|0)==11){Qn(t);T=ue(h[T>>2]|0,h[M>>2]|0)|0;h[A>>2]=n+1;h[A+4>>2]=T;Zt(r,1,12162,A)|0;r=0;v=S;return r|0}else if((f|0)==13){Qn(t);r=0;v=S;return r|0}else if((f|0)==17){Qn(t);r=1;v=S;return r|0}return 0}function Cf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0;L=v;v=v+96|0;A=L+56|0;P=L+48|0;E=L+40|0;M=L+32|0;O=L+24|0;s=L+16|0;l=L+8|0;w=L+92|0;S=L+88|0;k=L+84|0;m=L+80|0;g=L+76|0;p=L+72|0;y=L+68|0;_=L+64|0;h[w>>2]=1;t=Gn(1e3)|0;if(!t){Zt(r,1,11880,L)|0;R=0;v=L;return R|0}T=e+196|0;f=h[T>>2]|0;n=h[f+40>>2]|0;e:do{if(!n){n=ue(h[e+116>>2]|0,h[e+112>>2]|0)|0;h[f+36>>2]=n;n=Kn(n,40)|0;f=h[T>>2]|0;h[f+40>>2]=n;i:do{if(n){if(h[f+36>>2]|0){a=0;do{h[n+(a*40|0)+28>>2]=100;h[n+(a*40|0)+20>>2]=0;b=Kn(100,24)|0;f=h[T>>2]|0;n=h[f+40>>2]|0;h[n+(a*40|0)+24>>2]=b;a=a+1|0;if(!b)break i}while(a>>>0<(h[f+36>>2]|0)>>>0)}f=h[e+60>>2]|0;if(!n)break e;else{R=12;break e}}}while(0);Qn(t);R=0;v=L;return R|0}else{f=h[e+60>>2]|0;R=12}}while(0);if((R|0)==12)if(h[n+16>>2]|0){if(!(h[n+(f*40|0)+4>>2]|0)){b=e+64|0;b=zs(h[b>>2]|0,h[b+4>>2]|0,2,0)|0;if(!(Pt(i,b,j,r)|0)){Zt(r,1,11918,l)|0;Qn(t);R=0;v=L;return R|0}}else{b=h[n+(f*40|0)+16>>2]|0;b=zs(h[b>>2]|0,h[b+4>>2]|0,2,0)|0;if(!(Pt(i,b,j,r)|0)){Zt(r,1,11918,s)|0;Qn(t);R=0;v=L;return R|0}}n=e+8|0;if((h[n>>2]|0)==256)h[n>>2]=8}e:do{if(of(e,S,k,m,g,p,y,_,w,i,r)|0){d=e+116|0;b=e+112|0;o=e+204|0;u=e+84|0;c=f+1|0;n=1e3;while(1){if(!(h[w>>2]|0))break;s=h[k>>2]|0;if(s>>>0>n>>>0){n=Zn(t,s)|0;if(!n){R=26;break}else{t=n;l=s}}else l=n;a=h[S>>2]|0;if(!(uf(e,a,t,s,i,r)|0)){R=28;break}n=a+1|0;s=ue(h[b>>2]|0,h[d>>2]|0)|0;h[M>>2]=n;h[M+4>>2]=s;Zt(r,4,11986,M)|0;s=h[o>>2]|0;if(!(oa(h[(h[h[s+20>>2]>>2]|0)+20>>2]|0,h[s+24>>2]|0,t,h[(h[u>>2]|0)+24>>2]|0)|0)){R=30;break}h[E>>2]=n;Zt(r,4,12016,E)|0;if((a|0)==(f|0)){R=32;break}h[A>>2]=n;h[A+4>>2]=c;Zt(r,2,12060,A)|0;if(!(of(e,S,k,m,g,p,y,_,w,i,r)|0))break e;else n=l}if((R|0)==26){Qn(t);R=ue(h[b>>2]|0,h[d>>2]|0)|0;h[O>>2]=(h[S>>2]|0)+1;h[O+4>>2]=R;Zt(r,1,11946,O)|0;R=0;v=L;return R|0}else if((R|0)==28){Qn(t);R=0;v=L;return R|0}else if((R|0)==30){Qn(t);R=0;v=L;return R|0}else if((R|0)==32){R=(h[T>>2]|0)+8|0;R=zs(h[R>>2]|0,h[R+4>>2]|0,2,0)|0;if(!(Pt(i,R,j,r)|0)){Zt(r,1,11918,P)|0;Qn(t);R=0;v=L;return R|0}}Qn(t);R=1;v=L;return R|0}}while(0);Qn(t);R=0;v=L;return R|0}function Df(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;D=v;v=v+32|0;O=D+16|0;m=D+8|0;s=D;P=D+20|0;R=h[e+40>>2]|0;C=e+36|0;u=h[C>>2]|0;c=e+204|0;l=h[c>>2]|0;h[l+16>>2]=0;S=e+8|0;h[S>>2]=0;h[P>>2]=0;vt(u,65424,2);vt(u+2|0,10,2);L=e+200|0;vt(u+4|0,h[L>>2]|0,2);M=e+12|0;vt(u+10|0,h[M>>2]|0,1);T=e+164|0;vt(u+11|0,h[(h[T>>2]|0)+((h[L>>2]|0)*5640|0)+5588>>2]|0,1);h[P>>2]=12;f=u+12|0;t=R+-12|0;o=e+88|0;if(((d[o>>1]|0)+-3&65535)>=4?(n=h[L>>2]|0,a=h[T>>2]|0,(h[a+(n*5640|0)+420>>2]|0)!=0):0){h[P>>2]=0;fa(h[(h[e+80>>2]|0)+16>>2]|0,a,n,f,P);A=h[P>>2]|0;n=A+12|0;f=u+n|0;t=t-A|0}else n=12;h[P>>2]=0;vt(f,65427,2);h[l+4>>2]=h[S>>2];A=h[M>>2]|0;h[l+8>>2]=A;if(!A)h[(h[h[l+20>>2]>>2]|0)+840>>2]=0;h[P>>2]=0;if(!(Jr(l,h[L>>2]|0,f+2|0,P,t+-4|0,0)|0)){Zt(r,1,11860,s)|0;i=0;v=D;return i|0}t=(h[P>>2]|0)+2|0;h[P>>2]=t;t=t+n|0;vt(u+6|0,t,4);if(((d[o>>1]|0)+-3&65535)<4){A=e+28|0;vt(h[A>>2]|0,h[L>>2]|0,1);E=(h[A>>2]|0)+1|0;h[A>>2]=E;vt(E,t,4);h[A>>2]=(h[A>>2]|0)+4}n=u+t|0;A=R-t|0;g=h[c>>2]|0;y=e+88|0;w=h[T>>2]|0;_=h[L>>2]|0;o=sa(y,0,_)|0;E=e+8|0;h[M>>2]=(h[M>>2]|0)+1;e:do{if(o>>>0>1){u=g+4|0;c=g+8|0;b=g+20|0;k=e+28|0;a=n;n=A;t=0;s=1;while(1){h[E>>2]=s;h[P>>2]=0;vt(a,65424,2);vt(a+2|0,10,2);vt(a+4|0,h[L>>2]|0,2);vt(a+10|0,h[M>>2]|0,1);vt(a+11|0,h[(h[T>>2]|0)+((h[L>>2]|0)*5640|0)+5588>>2]|0,1);h[P>>2]=0;vt(a+12|0,65427,2);h[u>>2]=h[S>>2];l=h[M>>2]|0;h[c>>2]=l;if(!l)h[(h[h[b>>2]>>2]|0)+840>>2]=0;h[P>>2]=0;if(!(Jr(g,h[L>>2]|0,a+14|0,P,n+-16|0,0)|0))break;x=h[P>>2]|0;I=x+2|0;h[P>>2]=I;l=x+14|0;f=a+l|0;t=t+12+I|0;n=n+-12+(-2-x)|0;vt(a+6|0,l,4);if(((d[y>>1]|0)+-3&65535)<4){vt(h[k>>2]|0,h[L>>2]|0,1);I=(h[k>>2]|0)+1|0;h[k>>2]=I;vt(I,l,4);h[k>>2]=(h[k>>2]|0)+4}h[M>>2]=(h[M>>2]|0)+1;s=s+1|0;if(s>>>0>=o>>>0){p=12;break e}else a=f}Zt(r,1,11860,m)|0}else{f=n;n=A;t=0;p=12}}while(0);e:do{if((p|0)==12){b=w+(_*5640|0)+420|0;i:do{if(h[b>>2]|0){k=g+16|0;w=g+4|0;_=g+8|0;m=g+20|0;c=e+28|0;u=1;r:while(1){h[k>>2]=u;o=sa(y,u,h[L>>2]|0)|0;if(o){s=0;while(1){h[E>>2]=s;h[P>>2]=0;vt(f,65424,2);vt(f+2|0,10,2);vt(f+4|0,h[L>>2]|0,2);vt(f+10|0,h[M>>2]|0,1);vt(f+11|0,h[(h[T>>2]|0)+((h[L>>2]|0)*5640|0)+5588>>2]|0,1);h[P>>2]=0;vt(f+12|0,65427,2);h[w>>2]=h[S>>2];I=h[M>>2]|0;h[_>>2]=I;if(!I)h[(h[h[m>>2]>>2]|0)+840>>2]=0;h[P>>2]=0;if(!(Jr(g,h[L>>2]|0,f+14|0,P,n+-16|0,0)|0))break r;I=h[P>>2]|0;a=I+2|0;h[P>>2]=a;t=t+12+a|0;a=I+14|0;l=f+a|0;n=n+-12+(-2-I)|0;vt(f+6|0,a,4);if(((d[y>>1]|0)+-3&65535)<4){vt(h[c>>2]|0,h[L>>2]|0,1);I=(h[c>>2]|0)+1|0;h[c>>2]=I;vt(I,a,4);h[c>>2]=(h[c>>2]|0)+4}h[M>>2]=(h[M>>2]|0)+1;s=s+1|0;if(s>>>0>=o>>>0){f=l;break}else f=l}}u=u+1|0;if(u>>>0>(h[b>>2]|0)>>>0)break i}Zt(r,1,11860,O)|0;break e}}while(0);I=t-A+R|0;if((Xt(i,h[C>>2]|0,I,r)|0)!=(I|0)){I=0;v=D;return I|0}h[L>>2]=(h[L>>2]|0)+1;I=1;v=D;return I|0}}while(0);I=0;v=D;return I|0}function xf(e,i,r){e=e|0;i=i|0;r=r|0;e=e+44|0;vt(h[e>>2]|0,65497,2);if((Xt(i,h[e>>2]|0,2,r)|0)!=2){i=0;return i|0}i=(zt(i,r)|0)!=0&1;return i|0}function If(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=(h[e+32>>2]|0)*5|0;l=e+16|0;l=zs(h[l>>2]|0,h[l+4>>2]|0,6,0)|0;a=j;t=Vt(i)|0;n=j;if(!(Wt(i,l,a,r)|0)){l=0;return l|0}if((Xt(i,h[e+24>>2]|0,f,r)|0)!=(f|0)){l=0;return l|0}l=(Wt(i,t,n,r)|0)!=0&1;return l|0}function Bf(e,i,r){e=e|0;i=i|0;r=r|0;e=h[e+196>>2]|0;if(!e)return 1;i=Vt(i)|0;r=e;r=Hs(i|0,j|0,h[r>>2]|0,h[r+4>>2]|0)|0;i=e+16|0;h[i>>2]=r;h[i+4>>2]=j;return 1}function Nf(e,i,r){e=e|0;i=i|0;r=r|0;r=e+204|0;zr(h[r>>2]|0);h[r>>2]=0;r=e+24|0;i=h[r>>2]|0;if(i){Qn(i);h[r>>2]=0;h[e+28>>2]=0}r=e+36|0;i=h[r>>2]|0;if(!i){e=e+40|0;h[e>>2]=0;return 1}Qn(i);h[r>>2]=0;e=e+40|0;h[e>>2]=0;return 1}function Ff(e,i,r){e=e|0;i=i|0;r=r|0;r=e+44|0;i=h[r>>2]|0;if(i){Qn(i);h[r>>2]=0}h[e+48>>2]=0;return 1}function Uf(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+32|0;t=(h[e+8>>2]|0)==0&(h[e+188>>2]|0)!=0&(h[e+192>>2]|0)!=0&1;i=(h[(h[(h[e+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(i>>>0>31){Zt(r,1,11790,n)|0;r=0;v=n;return r|0}i=1<<i;if((h[e+100>>2]|0)>>>0<i>>>0){Zt(r,1,11790,n+8|0)|0;r=0;v=n;return r|0}if((h[e+104>>2]|0)>>>0>=i>>>0){r=t;v=n;return r|0}Zt(r,1,11790,n+16|0)|0;r=0;v=n;return r|0}function Hf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;if((d[e+88>>1]&-32256)<<16>>16!=-32256){l=1;return l|0}a=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;if(!a){l=1;return l|0}f=e+80|0;l=0;r=1;n=h[e+164>>2]|0;while(1){if((h[n+16>>2]|0)==2){r=(h[n+5608>>2]|0)!=0&r;e=h[(h[f>>2]|0)+16>>2]|0;if(e){t=0;i=h[n+5584>>2]|0;while(1){r=(h[i+20>>2]&1^1)&r;t=t+1|0;if(t>>>0>=e>>>0)break;else i=i+1080|0}}}l=l+1|0;if((l|0)==(a|0))break;else n=n+5640|0}return r|0}function Yf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;f=e+88|0;a=e+32|0;l=h[e+80>>2]|0;s=ue(h[e+116>>2]|0,h[e+112>>2]|0)|0;h[a>>2]=0;if(!s)return 1;t=h[e+164>>2]|0;n=0;while(1){xr(l,f,n);i=t+420|0;r=0;e=0;do{o=sa(f,e,n)|0;h[a>>2]=(h[a>>2]|0)+o;r=o+r|0;e=e+1|0}while(e>>>0<=(h[i>>2]|0)>>>0);h[t+5588>>2]=r;n=n+1|0;if((n|0)==(s|0))break;else t=t+5640|0}return 1}function qf(e,i,r){e=e|0;i=i|0;r=r|0;e=h[e+44>>2]|0;vt(e,65359,2);return(Xt(i,e,2,r)|0)==2|0}function Xf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;d=v;v=v+16|0;a=d;l=h[e+80>>2]|0;u=l+16|0;s=(h[u>>2]|0)*3|0;c=s+40|0;t=h[l+24>>2]|0;f=e+48|0;o=e+44|0;n=h[o>>2]|0;do{if(c>>>0>(h[f>>2]|0)>>>0){n=Zn(n,c)|0;if(n){h[o>>2]=n;h[f>>2]=c;break}Qn(h[o>>2]|0);h[o>>2]=0;h[f>>2]=0;Zt(r,1,11752,a)|0;i=0;v=d;return i|0}}while(0);vt(n,65361,2);vt(n+2|0,s+38|0,2);vt(n+4|0,k[e+88>>1]|0,2);vt(n+6|0,h[l+8>>2]|0,4);vt(n+10|0,h[l+12>>2]|0,4);vt(n+14|0,h[l>>2]|0,4);vt(n+18|0,h[l+4>>2]|0,4);vt(n+22|0,h[e+100>>2]|0,4);vt(n+26|0,h[e+104>>2]|0,4);vt(n+30|0,h[e+92>>2]|0,4);vt(n+34|0,h[e+96>>2]|0,4);vt(n+38|0,h[u>>2]|0,2);if(h[u>>2]|0){f=0;n=n+40|0;while(1){vt(n,(h[t+24>>2]|0)+-1+(h[t+32>>2]<<7)|0,1);vt(n+1|0,h[t>>2]|0,1);vt(n+2|0,h[t+4>>2]|0,1);f=f+1|0;if(f>>>0>=(h[u>>2]|0)>>>0)break;else{n=n+3|0;t=t+52|0}}}i=(Xt(i,h[o>>2]|0,c,r)|0)==(c|0)&1;v=d;return i|0}function zf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;w=v;v=v+32|0;k=w+16|0;b=w+8|0;l=w;d=w+20|0;s=e+200|0;o=h[s>>2]|0;u=e+164|0;c=h[u>>2]|0;t=h[c+(o*5640|0)+5584>>2]|0;if(!(h[t>>2]&1))f=5;else f=(h[t+4>>2]|0)+5|0;a=f+9|0;h[d>>2]=a;n=e+48|0;e=e+44|0;t=h[e>>2]|0;do{if(a>>>0>(h[n>>2]|0)>>>0){t=Zn(t,a)|0;if(t){h[e>>2]=t;h[n>>2]=a;break}Qn(h[e>>2]|0);h[e>>2]=0;h[n>>2]=0;Zt(r,1,11687,l)|0;k=0;v=w;return k|0}}while(0);vt(t,65362,2);vt(t+2|0,f+7|0,2);vt(t+4|0,h[c+(o*5640|0)>>2]|0,1);vt(t+5|0,h[c+(o*5640|0)+4>>2]|0,1);vt(t+6|0,h[c+(o*5640|0)+8>>2]|0,2);vt(t+8|0,h[c+(o*5640|0)+16>>2]|0,1);h[d>>2]=f;if(!(la(h[u>>2]|0,h[s>>2]|0,t+9|0,d,r)|0)){Zt(r,1,11726,b)|0;k=0;v=w;return k|0}if(!(h[d>>2]|0)){k=(Xt(i,h[e>>2]|0,a,r)|0)==(a|0)&1;v=w;return k|0}else{Zt(r,1,11726,k)|0;k=0;v=w;return k|0}return 0}function Vf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;b=v;v=v+32|0;d=b+16|0;c=b+8|0;l=b;o=b+20|0;s=e+200|0;u=e+164|0;t=h[(h[u>>2]|0)+((h[s>>2]|0)*5640|0)+5584>>2]|0;n=h[t+24>>2]|0;if((n|0)==1)t=1;else t=((h[t+4>>2]|0)*3|0)+-2|0;f=(n|0)==0?t+1|0:t<<1|1;a=f+4|0;h[o>>2]=a;n=e+48|0;e=e+44|0;t=h[e>>2]|0;do{if(a>>>0>(h[n>>2]|0)>>>0){t=Zn(t,a)|0;if(t){h[e>>2]=t;h[n>>2]=a;break}Qn(h[e>>2]|0);h[e>>2]=0;h[n>>2]=0;Zt(r,1,11622,l)|0;d=0;v=b;return d|0}}while(0);vt(t,65372,2);vt(t+2|0,f+2|0,2);h[o>>2]=f;if(!(aa(h[u>>2]|0,h[s>>2]|0,0,t+4|0,o,r)|0)){Zt(r,1,11661,c)|0;d=0;v=b;return d|0}if(!(h[o>>2]|0)){d=(Xt(i,h[e>>2]|0,a,r)|0)==(a|0)&1;v=b;return d|0}else{Zt(r,1,11661,d)|0;d=0;v=b;return d|0}return 0}function Gf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+16|0;p=y;w=y+4|0;d=e+80|0;t=h[(h[d>>2]|0)+16>>2]|0;if(t>>>0<=1){g=1;v=y;return g|0}_=e+164|0;m=e+200|0;k=e+48|0;c=e+44|0;u=1;while(1){a=h[_>>2]|0;s=h[m>>2]|0;f=h[a+(s*5640|0)+5584>>2]|0;l=h[f+(u*1080|0)>>2]|0;e:do{if((((((h[f>>2]|0)==(l|0)?(b=h[f+4>>2]|0,(b|0)==(h[f+(u*1080|0)+4>>2]|0)):0)?(h[f+8>>2]|0)==(h[f+(u*1080|0)+8>>2]|0):0)?(h[f+12>>2]|0)==(h[f+(u*1080|0)+12>>2]|0):0)?(h[f+16>>2]|0)==(h[f+(u*1080|0)+16>>2]|0):0)?(h[f+20>>2]|0)==(h[f+(u*1080|0)+20>>2]|0):0){if(b){e=0;do{if((h[f+812+(e<<2)>>2]|0)!=(h[f+(u*1080|0)+812+(e<<2)>>2]|0)){g=13;break e}if((h[f+944+(e<<2)>>2]|0)!=(h[f+(u*1080|0)+944+(e<<2)>>2]|0)){g=13;break e}e=e+1|0}while(e>>>0<b>>>0)}}else g=13}while(0);if((g|0)==13){g=0;if(!(l&1))e=5;else e=(h[f+(u*1080|0)+4>>2]|0)+5|0;o=e+(t>>>0<257?6:7)|0;n=h[c>>2]|0;if(o>>>0>(h[k>>2]|0)>>>0){e=Zn(n,o)|0;if(!e){g=17;break}h[c>>2]=e;h[k>>2]=o;s=h[m>>2]|0;a=h[_>>2]|0;f=h[a+(s*5640|0)+5584>>2]|0;t=h[(h[d>>2]|0)+16>>2]|0;l=h[f+(u*1080|0)>>2]|0;n=e}t=t>>>0<257?1:2;if(!(l&1))e=5;else e=(h[f+(u*1080|0)+4>>2]|0)+5|0;vt(n,65363,2);vt(n+2|0,t+3+e|0,2);vt(n+4|0,u,t);l=t|4;vt(n+l|0,h[(h[a+(s*5640|0)+5584>>2]|0)+(u*1080|0)>>2]|0,1);h[w>>2]=e;la(h[_>>2]|0,h[m>>2]|0,n+(l+1)|0,w,r)|0;if((Xt(i,h[c>>2]|0,o,r)|0)!=(o|0)){e=0;g=24;break}t=h[(h[d>>2]|0)+16>>2]|0}u=u+1|0;if(u>>>0>=t>>>0){e=1;g=24;break}}if((g|0)==17){Qn(h[c>>2]|0);h[c>>2]=0;h[k>>2]=0;Zt(r,1,11548,p)|0;g=0;v=y;return g|0}else if((g|0)==24){v=y;return e|0}return 0}function Kf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0;m=v;v=v+16|0;w=m;d=m+4|0;u=e+80|0;t=h[(h[u>>2]|0)+16>>2]|0;if(t>>>0<=1){_=1;v=m;return _|0}b=e+164|0;k=e+200|0;c=e+48|0;o=e+44|0;s=1;while(1){l=h[(h[b>>2]|0)+((h[k>>2]|0)*5640|0)+5584>>2]|0;f=h[l+24>>2]|0;a=h[l+(s*1080|0)+24>>2]|0;e:do{if((f|0)==(a|0)?(h[l+804>>2]|0)==(h[l+(s*1080|0)+804>>2]|0):0){if((f|0)!=1){n=(h[l+4>>2]|0)*3|0;e=n+-2|0;if((n|0)!=((h[l+(s*1080|0)+4>>2]|0)*3|0)){_=14;break}if(!e)break}else e=1;n=0;do{if((h[l+28+(n<<3)>>2]|0)!=(h[l+(s*1080|0)+28+(n<<3)>>2]|0)){_=14;break e}n=n+1|0}while(n>>>0<e>>>0);if(f){n=0;do{if((h[l+28+(n<<3)+4>>2]|0)!=(h[l+(s*1080|0)+28+(n<<3)+4>>2]|0)){_=14;break e}n=n+1|0}while(n>>>0<e>>>0)}}else _=14}while(0);if((_|0)==14){_=0;if((a|0)==1)e=1;else e=((h[l+(s*1080|0)+4>>2]|0)*3|0)+-2|0;f=((a|0)==0?e+1|0:e<<1|1)+5+(t>>>0>256&1)|0;e=h[o>>2]|0;if(f>>>0>(h[c>>2]|0)>>>0){e=Zn(e,f)|0;if(!e){_=18;break}h[o>>2]=e;h[c>>2]=f;t=h[(h[b>>2]|0)+((h[k>>2]|0)*5640|0)+5584>>2]|0;n=h[t+(s*1080|0)+24>>2]|0}else{n=a;t=l}if((n|0)==1)t=1;else t=((h[t+(s*1080|0)+4>>2]|0)*3|0)+-2|0;n=(n|0)==0?t+1|0:t<<1|1;h[d>>2]=n+6;vt(e,65373,2);t=e+2|0;if((h[(h[u>>2]|0)+16>>2]|0)>>>0<257){vt(t,n+3|0,2);vt(e+4|0,s,1);e=e+5|0}else{vt(t,n+4|0,2);vt(e+4|0,s,2);e=e+6|0}h[d>>2]=n;aa(h[b>>2]|0,h[k>>2]|0,s,e,d,r)|0;if((Xt(i,h[o>>2]|0,f,r)|0)!=(f|0)){e=0;_=28;break}t=h[(h[u>>2]|0)+16>>2]|0}s=s+1|0;if(s>>>0>=t>>>0){e=1;_=28;break}}if((_|0)==18){Qn(h[o>>2]|0);h[o>>2]=0;h[c>>2]=0;Zt(r,1,11476,w)|0;_=0;v=m;return _|0}else if((_|0)==28){v=m;return e|0}return 0}function Wf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;f=o;a=(h[e+32>>2]|0)*5|0;l=a+6|0;n=e+48|0;s=e+44|0;t=h[s>>2]|0;do{if(l>>>0>(h[n>>2]|0)>>>0){t=Zn(t,l)|0;if(t){h[s>>2]=t;h[n>>2]=l;break}Qn(h[s>>2]|0);h[s>>2]=0;h[n>>2]=0;Zt(r,1,11437,f)|0;i=0;v=o;return i|0}}while(0);f=Vt(i)|0;e=e+16|0;h[e>>2]=f;h[e+4>>2]=j;vt(t,65365,2);vt(t+2|0,a+4|0,2);vt(t+4|0,0,1);vt(t+5|0,80,1);i=(Xt(i,h[s>>2]|0,l,r)|0)==(l|0)&1;v=o;return i|0}function Jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+16|0;l=k;b=k+4|0;h[b>>2]=0;u=e+200|0;t=h[u>>2]|0;o=e+164|0;n=h[o>>2]|0;s=e+80|0;a=h[(h[s>>2]|0)+16>>2]|0;d=(ue(a>>>0<257?7:9,(h[n+(t*5640|0)+420>>2]|0)+1|0)|0)+4|0;f=e+48|0;c=e+44|0;e=h[c>>2]|0;do{if(d>>>0>(h[f>>2]|0)>>>0){t=Zn(e,d)|0;if(t){h[c>>2]=t;h[f>>2]=d;f=t;e=h[(h[s>>2]|0)+16>>2]|0;n=h[o>>2]|0;t=h[u>>2]|0;break}Qn(h[c>>2]|0);h[c>>2]=0;h[f>>2]=0;Zt(r,1,11398,l)|0;i=0;v=k;return i|0}else{f=e;e=a}}while(0);fa(e,n,t,f,b);i=(Xt(i,h[c>>2]|0,d,r)|0)==(d|0)&1;v=k;return i|0}function Zf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;l=e+164|0;s=e+80|0;n=h[s>>2]|0;t=h[n+16>>2]|0;if(!t){i=1;return i|0}a=e+44|0;e=0;f=h[(h[l>>2]|0)+5584>>2]|0;while(1){if(h[f+808>>2]|0){o=h[(h[l>>2]|0)+5584>>2]|0;c=t>>>0<257?1:2;n=c+6|0;u=h[a>>2]|0;vt(u,65374,2);t=c|4;vt(u+2|0,t,2);vt(u+4|0,e,c);vt(u+t|0,0,1);vt(u+(t+1)|0,h[o+(e*1080|0)+808>>2]|0,1);if((Xt(i,h[a>>2]|0,n,r)|0)!=(n|0)){e=0;t=7;break}n=h[s>>2]|0}e=e+1|0;t=h[n+16>>2]|0;if(e>>>0>=t>>>0){e=1;t=7;break}else f=f+1080|0}if((t|0)==7)return e|0;return 0}function Qf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;f=o;a=h[e+108>>2]|0;l=Es(a)|0;s=l+6|0;t=e+48|0;n=e+44|0;e=h[n>>2]|0;do{if(s>>>0>(h[t>>2]|0)>>>0){e=Zn(e,s)|0;if(e){h[n>>2]=e;h[t>>2]=s;break}Qn(h[n>>2]|0);h[n>>2]=0;h[t>>2]=0;Zt(r,1,11355,f)|0;i=0;v=o;return i|0}}while(0);vt(e,65380,2);vt(e+2|0,l+4|0,2);vt(e+4|0,1,2);Gs(e+6|0,a|0,l|0)|0;i=(Xt(i,h[n>>2]|0,s,r)|0)==(s|0)&1;v=o;return i|0}function $f(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0;T=v;v=v+32|0;y=T+24|0;m=T+16|0;d=T+8|0;n=T;a=h[e+80>>2]|0;l=a+16|0;f=h[l>>2]|0;s=f+6|0;g=e+48|0;M=e+44|0;t=h[M>>2]|0;do{if(s>>>0>(h[g>>2]|0)>>>0){t=Zn(t,s)|0;if(t){h[M>>2]=t;h[g>>2]=s;break}Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11199,n)|0;i=0;v=T;return i|0}}while(0);vt(t,65400,2);vt(t+2|0,f+4|0,2);vt(t+4|0,h[l>>2]|0,2);if(h[l>>2]|0){f=0;n=h[a+24>>2]|0;t=t+6|0;while(1){vt(t,(h[n+24>>2]|0)+-1|h[n+32>>2]<<7,1);f=f+1|0;if(f>>>0>=(h[l>>2]|0)>>>0)break;else{n=n+52|0;t=t+1|0}}}if((Xt(i,h[M>>2]|0,s,r)|0)!=(s|0)){i=0;v=T;return i|0}k=e+200|0;u=h[k>>2]|0;w=e+164|0;o=h[w>>2]|0;n=o+(u*5640|0)+5616|0;e:do{if(h[n>>2]|0){s=0;e=h[o+(u*5640|0)+5612>>2]|0;while(1){f=e+16|0;a=h[f>>2]|0;l=a+10|0;t=h[M>>2]|0;if(l>>>0>(h[g>>2]|0)>>>0){t=Zn(t,l)|0;if(!t)break;h[M>>2]=t;h[g>>2]=l}vt(t,65396,2);vt(t+2|0,a+8|0,2);vt(t+4|0,0,2);vt(t+6|0,h[e+4>>2]<<8|h[e+8>>2]&255|h[e>>2]<<10,2);vt(t+8|0,0,2);Gs(t+10|0,h[e+12>>2]|0,h[f>>2]|0)|0;if((Xt(i,h[M>>2]|0,l,r)|0)!=(l|0)){_=0;E=42;break}s=s+1|0;if(s>>>0>=(h[n>>2]|0)>>>0)break e;else e=e+20|0}if((E|0)==42){v=T;return _|0}Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11238,d)|0;i=0;v=T;return i|0}}while(0);d=o+(u*5640|0)+5628|0;e:do{if(h[d>>2]|0){b=0;o=h[o+(u*5640|0)+5624>>2]|0;while(1){s=o+4|0;n=h[s>>2]|0;a=n>>>0>255;l=a?2:1;a=a?32768:0;n=ue(l,n<<1)|0;e=n+19|0;t=h[M>>2]|0;if(e>>>0>(h[g>>2]|0)>>>0){t=Zn(t,e)|0;if(!t)break;h[M>>2]=t;h[g>>2]=e}vt(t,65397,2);vt(t+2|0,n+17|0,2);vt(t+4|0,0,2);vt(t+6|0,h[o>>2]|0,1);vt(t+7|0,0,2);vt(t+9|0,1,2);vt(t+11|0,1,1);vt(t+12|0,h[s>>2]|a,2);t=t+14|0;if(!(h[s>>2]|0))n=0;else{f=0;do{vt(t,f,l);t=t+l|0;f=f+1|0;n=h[s>>2]|0}while(f>>>0<n>>>0)}vt(t,n|a,2);t=t+2|0;if(!(h[s>>2]|0))f=t;else{n=0;do{vt(t,n,l);t=t+l|0;n=n+1|0}while(n>>>0<(h[s>>2]|0)>>>0);f=t}t=((c[o+16>>0]^1)&255)<<16&65536;n=h[o+8>>2]|0;if(n)t=h[n+8>>2]|t;n=h[o+12>>2]|0;if(n)t=h[n+8>>2]<<8|t;vt(f,t,3);if((Xt(i,h[M>>2]|0,e,r)|0)!=(e|0)){_=0;E=42;break}b=b+1|0;if(b>>>0>=(h[d>>2]|0)>>>0)break e;else o=o+20|0}if((E|0)==42){v=T;return _|0}Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11277,m)|0;i=0;v=T;return i|0}}while(0);l=h[k>>2]|0;a=h[w>>2]|0;s=a+(l*5640|0)+5628|0;n=h[s>>2]|0;e=n+5|0;t=h[M>>2]|0;do{if(e>>>0>(h[g>>2]|0)>>>0){t=Zn(t,e)|0;if(!t){Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11316,y)|0;p=1;break}else{h[M>>2]=t;h[g>>2]=e;A=t;E=37;break}}else{A=t;E=37}}while(0);if((E|0)==37){vt(A,65399,2);vt(A+2|0,n+3|0,2);vt(A+4|0,h[s>>2]|0,1);if(h[s>>2]|0){f=0;n=A+5|0;t=h[a+(l*5640|0)+5624>>2]|0;while(1){vt(n,h[t>>2]|0,1);f=f+1|0;if(f>>>0>=(h[s>>2]|0)>>>0)break;else{n=n+1|0;t=t+20|0}}}p=(Xt(i,h[M>>2]|0,e,r)|0)!=(e|0)}i=p&1^1;v=T;return i|0}function ea(e,i,r){e=e|0;i=i|0;r=r|0;r=Vt(i)|0;i=(h[e+196>>2]|0)+8|0;h[i>>2]=r;h[i+4>>2]=j;return 1}function ia(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+16|0;i=jr(0)|0;t=e+204|0;h[t>>2]=i;if(!i){Zt(r,1,11159,n)|0;r=0;v=n;return r|0}if(Xr(i,h[e+80>>2]|0,e+88|0)|0){r=1;v=n;return r|0}zr(h[t>>2]|0);h[t>>2]=0;r=0;v=n;return r|0}function ra(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0.0,u=0,b=0,k=0,w=0,m=0,p=0.0,v=0,g=0,y=0.0,E=0.0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0.0,C=0.0,D=0.0,x=0.0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0;U=e+80|0;O=h[U>>2]|0;H=e+164|0;n=h[H>>2]|0;F=O+24|0;R=h[F>>2]|0;r=h[R>>2]|0;t=h[R+4>>2]|0;N=O+16|0;R=ue(h[R+24>>2]|0,h[N>>2]|0)|0;P=Vt(i)|0;k=e+116|0;l=h[k>>2]|0;w=e+112|0;i=h[w>>2]|0;L=(+(P>>>0)+4294967296.0*+(j|0))/+((ue(i,l)|0)>>>0);P=(c[e+181>>0]&8)==0?1:2;if(l){m=e+92|0;v=e+100|0;g=e+96|0;A=e+104|0;M=O+4|0;T=O+8|0;S=O+12|0;E=+((ue(r<<3,t)|0)>>>0);s=i;r=i;b=0;i=n;do{u=b;b=b+1|0;if(!r)r=0;else{s=0;do{y=+Lo[P&3](i);l=h[i+8>>2]|0;y=y/+(l>>>0);Y=h[m>>2]|0;n=h[v>>2]|0;a=(ue(n,s)|0)+Y|0;r=h[O>>2]|0;r=(a|0)>(r|0)?a:r;a=h[g>>2]|0;f=h[A>>2]|0;q=(ue(f,u)|0)+a|0;t=h[M>>2]|0;t=(q|0)>(t|0)?q:t;s=s+1|0;Y=(ue(n,s)|0)+Y|0;n=h[T>>2]|0;n=(Y|0)<(n|0)?Y:n;a=(ue(f,b)|0)+a|0;f=h[S>>2]|0;f=(a|0)<(f|0)?a:f;a=i+20|0;o=+_[a>>2];if(o!=0.0){p=+((ue(ue(n-r|0,R)|0,f-t|0)|0)>>>0)/(E*o)-y;_[a>>2]=p}if(l>>>0>1){o=+((ue(ue(n-r|0,R)|0,f-t|0)|0)>>>0);r=1;t=i+24|0;while(1){p=+_[t>>2];if(p!=0.0)_[t>>2]=o/(E*p)-y;r=r+1|0;if(r>>>0>=l>>>0)break;else t=t+4|0}}i=i+5640|0;r=h[w>>2]|0}while(s>>>0<r>>>0);l=h[k>>2]|0;s=r}}while(b>>>0<l>>>0);if(!l)l=0;else{m=(s|0)==0;p=L+2.0;g=s>>>0>1?s:1;v=0;r=h[H>>2]|0;do{if(!m){b=r+16|0;k=0;w=r;while(1){i=w+20|0;o=+_[i>>2];if(o!=0.0?(E=o-L,_[i>>2]=E,E<30.0):0)_[i>>2]=30.0;f=w+24|0;i=h[w+8>>2]|0;u=i+-1|0;o=+_[f>>2];t=o!=0.0;if(u>>>0>1){a=b+(i<<2)|0;n=1;i=f;do{if(t?(E=o-L,_[i>>2]=E,D=+_[i+-4>>2],E<D+10.0):0)_[i>>2]=D+20.0;i=i+4|0;n=n+1|0;o=+_[i>>2];t=o!=0.0}while((n|0)!=(u|0));if(t){C=o;I=a;B=29}}else if(t){C=o;I=f;B=29}if((B|0)==29?(B=0,E=C-p,_[I>>2]=E,x=+_[I+-4>>2],E<x+10.0):0)_[I>>2]=x+20.0;k=k+1|0;if(k>>>0>=s>>>0)break;else{b=b+5640|0;w=w+5640|0}}r=r+(g*5640|0)|0}v=v+1|0}while(v>>>0<l>>>0)}}else{s=i;l=0}t=h[N>>2]|0;if(!t)v=0;else{n=(h[e+100>>2]|0)+-1|0;f=(h[e+104>>2]|0)+-1|0;a=0;i=h[F>>2]|0;r=0;while(1){q=h[i>>2]|0;Y=h[i+4>>2]|0;q=ue(((f+Y|0)>>>0)/(Y>>>0)|0,((n+q|0)>>>0)/(q>>>0)|0)|0;r=(ue(q,h[i+24>>2]|0)|0)+r|0;a=a+1|0;if(a>>>0>=t>>>0)break;else i=i+52|0}v=~~(+(r>>>0)*.1625)>>>0}u=h[(h[U>>2]|0)+16>>2]|0;k=u+-1|0;m=ue(l,s)|0;b=(m|0)==0;if(b)n=0;else{i=0;r=0;t=h[H>>2]|0;while(1){q=h[t+5588>>2]|0;r=r>>>0>q>>>0?r:q;i=i+1|0;if((i|0)==(m|0))break;else t=t+5640|0}n=r*12|0}w=e+88|0;if(((d[w>>1]|0)+-3&65535)>=4){if(b){i=0;r=0}else{s=(u|0)==0;a=0;r=0;do{if(!s){t=h[(h[H>>2]|0)+(a*5640|0)+5584>>2]|0;f=0;do{if(!(h[t+(f*1080|0)>>2]&1))i=5;else i=(h[t+(f*1080|0)+4>>2]|0)+5|0;r=r>>>0>i>>>0?r:i;f=f+1|0}while((f|0)!=(u|0))}a=a+1|0}while((a|0)!=(m|0));l=0;i=0;do{if(!s){f=h[(h[H>>2]|0)+(l*5640|0)+5584>>2]|0;a=0;do{if(!(h[f+(a*1080|0)>>2]&1))t=5;else t=(h[f+(a*1080|0)+4>>2]|0)+5|0;i=i>>>0>t>>>0?i:t;a=a+1|0}while((a|0)!=(u|0))}l=l+1|0}while((l|0)!=(m|0))}n=(ue(r+12+i|0,k)|0)+n|0}if(b)r=13;else{t=0;r=0;i=h[H>>2]|0;while(1){q=h[i+420>>2]|0;r=r>>>0>q>>>0?r:q;t=t+1|0;if((t|0)==(m|0))break;else i=i+5640|0}r=(r*9|0)+13|0}q=n+v+r|0;h[e+40>>2]=q;q=Gn(q)|0;h[e+36>>2]=q;if(!q){q=0;return q|0}if(((d[w>>1]|0)+-3&65535)>=4){q=1;return q|0}r=Gn((h[e+32>>2]|0)*5|0)|0;h[e+24>>2]=r;if(!r){q=0;return q|0}h[e+28>>2]=r;q=1;return q|0}function ta(e){e=e|0;return 0.0}function na(e){e=e|0;return+ +((((h[e+5588>>2]|0)*14|0)+-14|0)>>>0)}function fa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;f=h[i+(r*5640|0)+5584>>2]|0;w=(h[i+(r*5640|0)+420>>2]|0)+1|0;s=e>>>0<257?1:2;k=ue(w,(s<<1)+5|0)|0;_=k+4|0;vt(t,65375,2);vt(t+2|0,k+2|0,2);if(!w){h[n>>2]=_;return}o=s+1|0;u=s+3|0;c=s|4;d=c+s|0;b=d+1|0;k=i+(r*5640|0)+8|0;a=f+4|0;l=0;t=t+4|0;f=i+(r*5640|0)+424|0;while(1){vt(t,h[f>>2]|0,1);vt(t+1|0,h[f+4>>2]|0,s);p=f+8|0;vt(t+o|0,h[p>>2]|0,2);i=f+12|0;vt(t+u|0,h[i>>2]|0,1);r=f+16|0;vt(t+c|0,h[r>>2]|0,s);vt(t+d|0,h[f+36>>2]|0,1);v=h[p>>2]|0;m=h[k>>2]|0;h[p>>2]=(v|0)<(m|0)?v:m;p=h[i>>2]|0;m=h[a>>2]|0;h[i>>2]=(p|0)<(m|0)?p:m;i=h[r>>2]|0;h[r>>2]=(i|0)<(e|0)?i:e;l=l+1|0;if((l|0)==(w|0))break;else{t=t+b|0;f=f+148|0}}h[n>>2]=_;return}function aa(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0;c=v;v=v+16|0;s=c+8|0;l=c;o=h[e+(i*5640|0)+5584>>2]|0;i=h[o+(r*1080|0)+24>>2]|0;do{if((i|0)!=1){e=(h[o+(r*1080|0)+4>>2]|0)*3|0;a=e+-2|0;if(!i){e=e+-1|0;if((h[n>>2]|0)>>>0<e>>>0){Zt(f,1,11515,l)|0;n=0;v=c;return n|0}else{vt(t,h[o+(r*1080|0)+804>>2]<<5,1);if(!a)break;else i=0;do{t=t+1|0;vt(t,h[o+(r*1080|0)+28+(i<<3)>>2]<<3,1);i=i+1|0}while((i|0)!=(a|0))}}else u=7}else{a=1;i=1;u=7}}while(0);if((u|0)==7){e=a<<1|1;if((h[n>>2]|0)>>>0<e>>>0){Zt(f,1,11515,s)|0;n=0;v=c;return n|0}vt(t,(h[o+(r*1080|0)+804>>2]<<5)+i|0,1);if(a){t=t+1|0;i=0;while(1){vt(t,(h[o+(r*1080|0)+28+(i<<3)>>2]<<11)+(h[o+(r*1080|0)+28+(i<<3)+4>>2]|0)|0,2);i=i+1|0;if((i|0)==(a|0))break;else t=t+2|0}}}h[n>>2]=(h[n>>2]|0)-e;n=1;v=c;return n|0}function la(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+16|0;f=h[e+(i*5640|0)+5584>>2]|0;if((h[t>>2]|0)>>>0<5){Zt(n,1,11587,l)|0;t=0;v=l;return t|0}a=f+4|0;vt(r,(h[a>>2]|0)+-1|0,1);vt(r+1|0,(h[f+8>>2]|0)+-2|0,1);vt(r+2|0,(h[f+12>>2]|0)+-2|0,1);vt(r+3|0,h[f+16>>2]|0,1);vt(r+4|0,h[f+20>>2]|0,1);i=(h[t>>2]|0)+-5|0;h[t>>2]=i;if(!(h[f>>2]&1)){t=1;v=l;return t|0}e=h[a>>2]|0;if(i>>>0<e>>>0){Zt(n,1,11587,l+8|0)|0;t=0;v=l;return t|0}if(!e)e=0;else{i=r+5|0;r=0;while(1){vt(i,(h[f+944+(r<<2)>>2]<<4)+(h[f+812+(r<<2)>>2]|0)|0,1);r=r+1|0;e=h[a>>2]|0;if(r>>>0>=e>>>0)break;else i=i+1|0}i=h[t>>2]|0}h[t>>2]=i-e;t=1;v=l;return t|0}function sa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;f=h[e+76>>2]|0;t=h[f+(r*5640|0)+4>>2]|0;n=696;while(1){o=h[n>>2]|0;if((o|0)==-1|(o|0)==(t|0))break;else n=n+12|0}if(!(c[e+93>>0]&8)){e=1;return e|0}o=b[e+92>>0]|0;a=f+(r*5640|0)+424+(i*148|0)+92|0;l=f+(r*5640|0)+424+(i*148|0)+88|0;s=f+(r*5640|0)+424+(i*148|0)+96|0;i=f+(r*5640|0)+424+(i*148|0)+84|0;f=c[n+4>>0]|0;switch(f|0){case 67:{t=h[a>>2]|0;break}case 82:{t=h[l>>2]|0;break}case 80:{t=h[s>>2]|0;break}case 76:{t=h[i>>2]|0;break}default:t=1}if((o|0)!=(f|0)){f=c[n+5>>0]|0;switch(f|0){case 67:{t=ue(h[a>>2]|0,t)|0;break}case 82:{t=ue(h[l>>2]|0,t)|0;break}case 80:{t=ue(h[s>>2]|0,t)|0;break}case 76:{t=ue(h[i>>2]|0,t)|0;break}default:{}}if((o|0)!=(f|0)){f=c[n+6>>0]|0;switch(f|0){case 67:{t=ue(h[a>>2]|0,t)|0;break}case 82:{t=ue(h[l>>2]|0,t)|0;break}case 80:{t=ue(h[s>>2]|0,t)|0;break}case 76:{t=ue(h[i>>2]|0,t)|0;break}default:{}}if((o|0)!=(f|0)){n=c[n+7>>0]|0;switch(n|0){case 67:{t=ue(h[a>>2]|0,t)|0;break}case 82:{t=ue(h[l>>2]|0,t)|0;break}case 80:{t=ue(h[s>>2]|0,t)|0;break}case 76:{t=ue(h[i>>2]|0,t)|0;break}default:{}}if((o|0)==(n|0))n=3;else{e=t;return e|0}}else n=2}else n=1}else n=0;h[e+84>>2]=n;e=t;return e|0}function oa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0;S=i+16|0;if(!(h[S>>2]|0)){S=1;return S|0}T=0;M=h[i+24>>2]|0;while(1){f=t+44|0;n=h[f>>2]|0;a=t+8|0;if(!n){i=t+12|0;n=Kn(ue(h[i>>2]|0,h[a>>2]|0)|0,4)|0;h[f>>2]=n;if(!n){r=0;t=61;break}}else i=t+12|0;w=M+36|0;h[t+36>>2]=h[w>>2];E=h[M+24>>2]|0;p=h[e+24>>2]|0;w=h[w>>2]|0;E=((E&7|0)!=0&1)+(E>>>3)|0;E=(E|0)==3?4:E;s=h[p+(w*136|0)+8>>2]|0;l=h[p+(w*136|0)>>2]|0;g=s-l|0;m=h[p+(w*136|0)+12>>2]|0;w=h[p+(w*136|0)+4>>2]|0;p=m-w|0;f=h[t+16>>2]|0;u=h[t+40>>2]|0;o=Xs(1,0,u|0)|0;y=j;f=zs(f|0,0,-1,-1)|0;f=zs(f|0,j|0,o|0,y|0)|0;f=Vs(f|0,j|0,u|0)|0;_=zs(h[t+20>>2]|0,0,-1,-1)|0;y=zs(_|0,j|0,o|0,y|0)|0;u=Vs(y|0,j|0,u|0)|0;y=h[a>>2]|0;a=f+y|0;o=h[i>>2]|0;_=u+o|0;do{if(f>>>0<l>>>0){i=l-f|0;if(s>>>0>a>>>0){A=a-l|0;v=0;l=g-A|0;s=i}else{v=0;l=0;s=i;A=g}}else{i=f-l|0;if(s>>>0>a>>>0){v=i;l=s-a|0;s=0;A=y;break}else{v=i;l=0;s=0;A=g-i|0;break}}}while(0);do{if(u>>>0<w>>>0){a=w-u|0;if(m>>>0>_>>>0){f=_-w|0;o=f;i=0;f=p-f|0}else{o=p;i=0;f=0}}else{i=u-w|0;if(m>>>0>_>>>0){f=m-_|0;a=0;break}else{o=p-i|0;f=0;a=0;break}}}while(0);if((v|l|A|f|i|o|0)<0){r=0;t=61;break}i=(ue(i,g)|0)+v|0;w=v+l|0;_=(ue(f,g)|0)-v|0;u=y-A|0;n=n+((ue(y,a)|0)+s<<2)|0;switch(E|0){case 1:{r=r+i|0;i=(o|0)==0;if(!(h[M+32>>2]|0)){if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=b[n>>0];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+1|0}}i=a;r=r+A|0}r=r+w|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}}else if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=c[n>>0];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+1|0}}i=a;r=r+A|0}r=r+w|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}r=r+_|0;break}case 2:{r=r+(i<<1)|0;i=(o|0)==0;if(!(h[M+32>>2]|0)){if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=k[n>>1];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+2|0}}i=a;r=r+(A<<1)|0}r=r+(w<<1)|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}}else if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=d[n>>1];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+2|0}}i=a;r=r+(A<<1)|0}r=r+(w<<1)|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}r=r+(_<<1)|0;break}case 4:{r=r+(i<<2)|0;if(o){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=h[n>>2];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+4|0}}i=a;r=r+(A<<2)|0}r=r+(w<<2)|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}r=r+(_<<2)|0;break}default:{}}T=T+1|0;if(T>>>0>=(h[S>>2]|0)>>>0){r=1;t=61;break}else{t=t+52|0;M=M+52|0;e=e+52|0}}if((t|0)==61)return r|0;return 0}function ua(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;M=v;v=v+112|0;E=M+88|0;p=M+80|0;g=M+72|0;m=M+64|0;k=M+56|0;d=M+48|0;s=M+40|0;a=M+32|0;f=M+24|0;n=M+16|0;w=M+100|0;_=M+96|0;y=M+92|0;h[_>>2]=0;A=e+200|0;if((r|0)!=8){Zt(t,1,8662,M)|0;Zt(t,1,8662,M+8|0)|0;t=0;v=M;return t|0}gt(i,A,2);gt(i+2|0,w,4);gt(i+6|0,y,1);gt(i+7|0,_,1);l=h[A>>2]|0;i=h[e+112>>2]|0;if(l>>>0>=(ue(h[e+116>>2]|0,i)|0)>>>0){h[n>>2]=l;Zt(t,1,15258,n)|0;t=0;v=M;return t|0}r=h[e+164>>2]|0;u=(l>>>0)%(i>>>0)|0;o=(l>>>0)/(i>>>0)|0;i=h[w>>2]|0;do{if((i+-1|0)>>>0<13){if((i|0)==12){h[f>>2]=12;Zt(t,2,15282,f)|0;i=h[w>>2]|0;break}h[a>>2]=i;Zt(t,1,15319,a)|0;t=0;v=M;return t|0}}while(0);if(!i){Zt(t,4,15380,s)|0;h[e+72>>2]=1}i=h[_>>2]|0;do{if(!i)i=h[r+(l*5640|0)+5588>>2]|0;else{i=((b[e+76>>0]|0)>>>4&1)+i|0;h[_>>2]=i;n=r+(l*5640|0)+5588|0;f=h[n>>2]|0;r=h[y>>2]|0;if((f+-1|0)>>>0<r>>>0){h[d>>2]=r;h[d+4>>2]=f;Zt(t,1,15491,d)|0;h[e+72>>2]=1;t=0;v=M;return t|0}if(r>>>0<i>>>0){h[n>>2]=i;break}h[k>>2]=r;h[k+4>>2]=i;Zt(t,1,15590,k)|0;h[e+72>>2]=1;t=0;v=M;return t|0}}while(0);if((i|0)!=0?(i|0)==((h[y>>2]|0)+1|0):0){k=e+76|0;c[k>>0]=c[k>>0]|1}h[e+24>>2]=(h[e+72>>2]|0)==0?(h[w>>2]|0)+-12|0:0;h[e+8>>2]=16;i=h[e+60>>2]|0;if((i|0)==-1){if((u>>>0>=(h[e+28>>2]|0)>>>0?u>>>0<(h[e+36>>2]|0)>>>0:0)?o>>>0>=(h[e+32>>2]|0)>>>0:0)i=(o>>>0>=(h[e+40>>2]|0)>>>0&1)<<2&255;else i=4;w=e+76|0;c[w>>0]=c[w>>0]&-5|i}else{w=e+76|0;c[w>>0]=((h[A>>2]|0)!=(i|0)&1)<<2&255|c[w>>0]&-5}a=e+196|0;i=h[a>>2]|0;if(!i){t=1;v=M;return t|0}f=h[A>>2]|0;i=h[i+40>>2]|0;h[i+(f*40|0)>>2]=f;h[i+(f*40|0)+12>>2]=h[y>>2];r=h[_>>2]|0;if(r){h[i+(f*40|0)+4>>2]=r;h[i+(f*40|0)+8>>2]=h[_>>2];i=h[i+(f*40|0)+16>>2]|0;if(!i){E=Kn(h[_>>2]|0,24)|0;h[(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16>>2]=E;if(E){t=1;v=M;return t|0}Zt(t,1,15698,m)|0;t=0;v=M;return t|0}i=Zn(i,(h[_>>2]|0)*24|0)|0;r=(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16|0;if(!i){Qn(h[r>>2]|0);h[(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16>>2]=0;Zt(t,1,15698,g)|0;t=0;v=M;return t|0}else{h[r>>2]=i;t=1;v=M;return t|0}}if(!(h[i+(f*40|0)+16>>2]|0)){h[i+(f*40|0)+8>>2]=10;g=Kn(10,24)|0;r=h[A>>2]|0;i=h[(h[a>>2]|0)+40>>2]|0;h[i+(r*40|0)+16>>2]=g;if(!g){h[i+(r*40|0)+8>>2]=0;Zt(t,1,15698,p)|0;t=0;v=M;return t|0}else f=r}r=h[y>>2]|0;n=i+(f*40|0)+8|0;if(r>>>0<(h[n>>2]|0)>>>0){t=1;v=M;return t|0}r=r+1|0;h[n>>2]=r;i=Zn(h[i+(f*40|0)+16>>2]|0,r*24|0)|0;r=(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16|0;if(!i){Qn(h[r>>2]|0);A=h[A>>2]|0;y=h[(h[a>>2]|0)+40>>2]|0;h[y+(A*40|0)+16>>2]=0;h[y+(A*40|0)+8>>2]=0;Zt(t,1,15698,E)|0;t=0;v=M;return t|0}else{h[r>>2]=i;t=1;v=M;return t|0}return 0}function ca(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+64|0;b=_+48|0;k=_+40|0;l=_+32|0;u=_+56|0;a=_+52|0;h[u>>2]=r;w=e+80|0;s=h[w>>2]|0;d=e+8|0;if((h[d>>2]|0)==16)o=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else o=h[e+12>>2]|0;n=o+5636|0;f=c[n>>0]|0;if(f&1){Zt(t,1,15025,_)|0;w=0;v=_;return w|0}c[n>>0]=f|1;if(r>>>0<5){Zt(t,1,15089,_+8|0)|0;w=0;v=_;return w|0}gt(i,o,1);if((h[o>>2]|0)>>>0>7){Zt(t,1,15115,_+16|0)|0;w=0;v=_;return w|0}gt(i+1|0,a,1);a=h[a>>2]|0;n=o+4|0;h[n>>2]=a;if((a|0)>4){Zt(t,1,15149,_+24|0)|0;h[n>>2]=-1}n=o+8|0;gt(i+2|0,n,2);n=h[n>>2]|0;if((n+-1|0)>>>0>65534){h[l>>2]=n;Zt(t,1,15190,l)|0;w=0;v=_;return w|0}l=h[e+172>>2]|0;h[o+12>>2]=(l|0)==0?n:l;gt(i+4|0,o+16|0,1);l=i+5|0;h[u>>2]=r+-5;a=h[s+16>>2]|0;if(a){i=h[o>>2]&1;n=h[o+5584>>2]|0;f=0;do{h[n+(f*1080|0)>>2]=i;f=f+1|0}while(f>>>0<a>>>0)}if(!(Si(e,0,l,u,t)|0)){Zt(t,1,15089,k)|0;w=0;v=_;return w|0}if(h[u>>2]|0){Zt(t,1,15089,b)|0;w=0;v=_;return w|0}if((h[d>>2]|0)==16)n=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else n=h[e+12>>2]|0;n=h[n+5584>>2]|0;r=n+4|0;f=h[r>>2]|0;o=f<<2;if((h[(h[w>>2]|0)+16>>2]|0)>>>0<=1){w=1;v=_;return w|0}u=n+8|0;d=n+12|0;e=n+16|0;t=n+20|0;b=n+812|0;k=n+944|0;h[n+1084>>2]=f;a=h[u>>2]|0;h[n+1088>>2]=a;i=h[d>>2]|0;h[n+1092>>2]=i;l=h[e>>2]|0;h[n+1096>>2]=l;s=h[t>>2]|0;h[n+1100>>2]=s;Gs(n+1892|0,b|0,o|0)|0;Gs(n+2024|0,k|0,o|0)|0;if((h[(h[w>>2]|0)+16>>2]|0)>>>0<=2){w=1;v=_;return w|0}h[n+2164>>2]=f;h[n+2168>>2]=a;h[n+2172>>2]=i;h[n+2176>>2]=l;h[n+2180>>2]=s;Gs(n+2972|0,b|0,o|0)|0;Gs(n+3104|0,k|0,o|0)|0;if((h[(h[w>>2]|0)+16>>2]|0)>>>0>3)f=3;else{w=1;v=_;return w|0}while(1){a=h[u>>2]|0;i=h[d>>2]|0;l=h[e>>2]|0;s=h[t>>2]|0;h[n+3244>>2]=h[r>>2];h[n+3248>>2]=a;h[n+3252>>2]=i;h[n+3256>>2]=l;h[n+3260>>2]=s;Gs(n+4052|0,b|0,o|0)|0;Gs(n+4184|0,k|0,o|0)|0;f=f+1|0;if(f>>>0>=(h[(h[w>>2]|0)+16>>2]|0)>>>0){n=1;break}else n=n+1080|0}v=_;return n|0}function da(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;p=v;v=v+272|0;c=p;_=p+136|0;m=p+8|0;if(!e){m=0;v=p;return m|0}u=e+4|0;if((h[e>>2]|0)==(i|0)?(h[u>>2]|0)==(r|0):0)n=e+8|0;else{h[e>>2]=i;h[u>>2]=r;h[_>>2]=i;h[m>>2]=r;n=e+8|0;h[n>>2]=0;f=0;l=r;s=i;o=0;while(1){w=ue(l,s)|0;s=(s+1|0)/2|0;a=o+1|0;h[_+(a<<2)>>2]=s;l=(l+1|0)/2|0;h[m+(a<<2)>>2]=l;f=f+w|0;if(w>>>0<=1)break;else o=a}h[n>>2]=f;if(!f){n=e+12|0;f=h[n>>2]|0;if(f){Qn(f);h[n>>2]=0}Qn(e);m=0;v=p;return m|0}a=f<<4;l=e+16|0;s=e+12|0;do{if(a>>>0>(h[l>>2]|0)>>>0){f=Zn(h[s>>2]|0,a)|0;if(f){h[s>>2]=f;r=h[l>>2]|0;qs(f+r|0,0,a-r|0)|0;h[l>>2]=a;r=h[u>>2]|0;i=h[e>>2]|0;break}Zt(t,1,20166,c)|0;n=h[s>>2]|0;if(n){Qn(n);h[s>>2]=0}Qn(e);m=0;v=p;return m|0}}while(0);f=h[s>>2]|0;i=f+((ue(r,i)|0)<<4)|0;if(o){w=0;r=i;do{b=h[m+(w<<2)>>2]|0;e:do{if((b|0)>0){k=h[_+(w<<2)>>2]|0;if((k|0)<=0){a=b+-1|0;l=0;while(1){d=(l&1|0)!=0|(l|0)==(a|0);s=d?r:i+(k<<4)|0;r=d?r:i;l=l+1|0;if((l|0)>=(b|0)){i=s;break e}else i=s}}d=((k+2+((k|0)<2?~k:-3)|0)>>>1)+1|0;t=b+-1|0;c=0;while(1){u=k;s=r;while(1){h[f>>2]=s;a=f+16|0;l=u;u=u+-2|0;if((u|0)>-1){h[a>>2]=s;f=f+32|0}else f=a;if((l|0)<=2)break;else s=s+16|0}r=r+(d<<4)|0;u=(c&1|0)!=0|(c|0)==(t|0);a=u?r:i+(k<<4)|0;r=u?r:i;c=c+1|0;if((c|0)>=(b|0)){i=a;break}else i=a}}}while(0);w=w+1|0}while((w|0)!=(o|0))}h[f>>2]=0}n=h[n>>2]|0;if(!n){m=e;v=p;return m|0}f=0;i=h[e+12>>2]|0;while(1){h[i+4>>2]=999;h[i+8>>2]=0;h[i+12>>2]=0;f=f+1|0;if((f|0)==(n|0))break;else i=i+16|0}v=p;return e|0}function ha(e){e=e|0;var i=0,r=0;if(!e)return;i=e+12|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}Qn(e);return}function ba(e,i,r){e=e|0;i=i|0;r=r|0;i=(h[e+12>>2]|0)+(i<<4)|0;if(!i)return;while(1){e=i+4|0;if((h[e>>2]|0)<=(r|0)){i=4;break}h[e>>2]=r;i=h[i>>2]|0;if(!i){i=4;break}}if((i|0)==4)return}function ka(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+128|0;l=s;r=(h[i+12>>2]|0)+(r<<4)|0;if(!(h[r>>2]|0)){n=0;f=l}else{n=r;i=l;while(1){f=i+4|0;h[i>>2]=r;r=h[n>>2]|0;if(!(h[r>>2]|0)){n=0;break}else{n=r;i=f}}}while(1){a=r+8|0;i=h[a>>2]|0;if((n|0)>(i|0)){h[a>>2]=n;i=n}e:do{if((i|0)<(t|0)){n=r+4|0;while(1){if((i|0)>=(h[n>>2]|0))break;Pa(e,0,1);i=i+1|0;if((i|0)>=(t|0)){r=i;break e}}r=r+12|0;if(!(h[r>>2]|0)){Pa(e,1,1);h[r>>2]=1;r=i}else r=i}else r=i}while(0);h[a>>2]=r;if((f|0)==(l|0))break;a=f+-4|0;n=r;r=h[a>>2]|0;f=a}v=s;return}function wa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+128|0;l=s;r=(h[i+12>>2]|0)+(r<<4)|0;if(!(h[r>>2]|0)){i=0;f=l}else{n=r;i=l;while(1){f=i+4|0;h[i>>2]=r;r=h[n>>2]|0;if(!(h[r>>2]|0)){i=0;break}else{n=r;i=f}}}while(1){a=r+8|0;n=h[a>>2]|0;if((i|0)>(n|0))h[a>>2]=i;else i=n;r=r+4|0;e:do{if((i|0)<(t|0)){while(1){if((i|0)>=(h[r>>2]|0))break e;if(Oa(e,1)|0)break;i=i+1|0;if((i|0)>=(t|0))break e}h[r>>2]=i}}while(0);h[a>>2]=i;if((f|0)==(l|0))break;a=f+-4|0;r=h[a>>2]|0;f=a}v=s;return(h[r>>2]|0)<(t|0)|0}function _a(){var e=0,i=0;e=Kn(1,12)|0;if(!e){e=0;return e|0}h[e+4>>2]=10;i=Kn(10,4)|0;h[e+8>>2]=i;if(i){i=e;return i|0}Qn(e);i=0;return i|0}function ma(e){e=e|0;var i=0;if(!e)return;i=h[e+8>>2]|0;if(i)Qn(i);Qn(e);return}function pa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;f=e+4|0;n=h[f>>2]|0;t=h[e>>2]|0;do{if((n|0)==(t|0)){n=n+10|0;h[f>>2]=n;t=e+8|0;n=Zn(h[t>>2]|0,n<<2)|0;if(n){h[t>>2]=n;t=h[e>>2]|0;break}Qn(h[t>>2]|0);h[f>>2]=0;h[e>>2]=0;Zt(r,1,20214,a)|0;e=0;v=l;return e|0}else n=h[e+8>>2]|0}while(0);h[n+(t<<2)>>2]=i;h[e>>2]=t+1;e=1;v=l;return e|0}function va(e){e=e|0;return h[e>>2]|0}function ga(e){e=e|0;return h[e+8>>2]|0}function ya(e){e=e|0;h[e>>2]=0;return}function Ea(){return Gn(20)|0}function Aa(e){e=e|0;if(!e)return;Qn(e);return}function Ma(e){e=e|0;return(h[e+8>>2]|0)-(h[e>>2]|0)|0}function Ta(e,i,r){e=e|0;i=i|0;r=r|0;h[e>>2]=i;h[e+4>>2]=i+r;h[e+8>>2]=i;h[e+12>>2]=0;h[e+16>>2]=8;return}function Sa(e,i,r){e=e|0;i=i|0;r=r|0;h[e>>2]=i;h[e+4>>2]=i+r;h[e+8>>2]=i;h[e+12>>2]=0;h[e+16>>2]=0;return}function Pa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!r)return;s=e+16|0;o=e+12|0;u=e+8|0;f=e+4|0;e=h[s>>2]|0;l=r+-1|0;do{a=i>>>l&1;if(!e){n=h[o>>2]|0;e=n<<8&65280;h[o>>2]=e;e=(e|0)==65280?7:8;h[s>>2]=e;t=h[u>>2]|0;if(t>>>0<(h[f>>2]|0)>>>0){h[u>>2]=t+1;c[t>>0]=n;e=h[s>>2]|0}}e=e+-1|0;h[s>>2]=e;h[o>>2]=a<<e|h[o>>2];l=l+-1|0}while(l>>>0<r>>>0);return}function Oa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;if(!i){i=0;return i|0}l=e+16|0;s=e+12|0;o=e+8|0;f=e+4|0;r=h[l>>2]|0;t=h[s>>2]|0;a=i+-1|0;e=0;do{if(!r){n=t<<8&65280;h[s>>2]=n;r=(n|0)==65280?7:8;h[l>>2]=r;t=h[o>>2]|0;if(t>>>0<(h[f>>2]|0)>>>0){h[o>>2]=t+1;t=b[t>>0]|0|n;h[s>>2]=t}else t=n}r=r+-1|0;h[l>>2]=r;e=((t>>>r&1)<<a)+e|0;a=a+-1|0}while(a>>>0<i>>>0);return e|0}function Ra(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;t=e+12|0;i=h[t>>2]|0;a=i<<8&65280;h[t>>2]=a;n=e+16|0;h[n>>2]=(a|0)==65280?7:8;a=e+8|0;r=h[a>>2]|0;f=e+4|0;if(r>>>0>=(h[f>>2]|0)>>>0){a=0;return a|0}h[a>>2]=r+1;c[r>>0]=i;if((h[n>>2]|0)!=7){a=1;return a|0}i=h[t>>2]|0;e=i<<8&65280;h[t>>2]=e;h[n>>2]=(e|0)==65280?7:8;e=h[a>>2]|0;if(e>>>0>=(h[f>>2]|0)>>>0){a=0;return a|0}h[a>>2]=e+1;c[e>>0]=i;a=1;return a|0}function La(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=e+12|0;i=h[f>>2]|0;do{if((i&255|0)==255){t=i<<8&65280;h[f>>2]=t;i=e+16|0;h[i>>2]=(t|0)==65280?7:8;n=e+8|0;r=h[n>>2]|0;if(r>>>0<(h[e+4>>2]|0)>>>0){h[n>>2]=r+1;h[f>>2]=b[r>>0]|0|t;break}else{e=0;return e|0}}else i=e+16|0}while(0);h[i>>2]=0;e=1;return e|0}function Ca(e){e=e|0;return Ya(e,1)|0}function Da(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;O=v;v=v+32|0;S=O+16|0;P=O;s=h[e+24>>2]|0;l=(h[s+8>>2]|0)-(h[s>>2]|0)|0;a=(h[s+12>>2]|0)-(h[s+4>>2]|0)|0;T=(h[e+8>>2]|0)-(h[e>>2]|0)|0;if((i|0)==1){P=1;v=O;return P|0}f=i+-1|0;n=(f|0)==0;if(n)i=0;else{r=s;t=f;i=0;do{M=r;r=r+136|0;A=(h[M+144>>2]|0)-(h[r>>2]|0)|0;i=i>>>0<A>>>0?A:i;M=(h[M+148>>2]|0)-(h[M+140>>2]|0)|0;i=i>>>0<M>>>0?M:i;t=t+-1|0}while((t|0)!=0);i=i<<2}M=Wn(i)|0;h[S>>2]=M;if(!M){P=0;v=O;return P|0}h[P>>2]=M;if(!n){_=e+32|0;m=S+8|0;p=P+8|0;g=S+4|0;y=S+12|0;E=P+4|0;A=P+12|0;do{k=h[_>>2]|0;c=s;s=s+136|0;h[m>>2]=l;h[p>>2]=a;d=h[c+144>>2]|0;b=h[s>>2]|0;t=l;l=d-b|0;i=h[c+148>>2]|0;c=c+140|0;w=h[c>>2]|0;r=a;a=i-w|0;h[g>>2]=l-t;h[y>>2]=(b|0)%2|0;w=(i|0)==(w|0);if(!w){u=l<<2;i=0;while(1){e=ue(i,T)|0;o=k+(e<<2)|0;if(t){r=o;n=M+(h[y>>2]<<2)|0;while(1){t=t+-1|0;h[n>>2]=h[r>>2];if(!t)break;else{r=r+4|0;n=n+8|0}}}r=h[g>>2]|0;if(r){t=k+((h[m>>2]|0)+e<<2)|0;n=M+(1-(h[y>>2]|0)<<2)|0;while(1){r=r+-1|0;h[n>>2]=h[t>>2];if(!r)break;else{t=t+4|0;n=n+8|0}}}qa(S);Gs(o|0,M|0,u|0)|0;i=i+1|0;if((i|0)==(a|0))break;t=h[m>>2]|0}r=h[p>>2]|0;i=h[c>>2]|0}h[E>>2]=a-r;h[A>>2]=(i|0)%2|0;e:do{if((d|0)!=(b|0)){i=0;while(1){if(r){t=k+(i<<2)|0;n=M+(h[A>>2]<<2)|0;while(1){r=r+-1|0;h[n>>2]=h[t>>2];if(!r)break;else{t=t+(T<<2)|0;n=n+8|0}}}r=h[E>>2]|0;if(r){t=k+((ue(h[p>>2]|0,T)|0)+i<<2)|0;n=M+(1-(h[A>>2]|0)<<2)|0;while(1){r=r+-1|0;h[n>>2]=h[t>>2];if(!r)break;else{t=t+(T<<2)|0;n=n+8|0}}}qa(P);if(!w){r=0;do{b=k+((ue(r,T)|0)+i<<2)|0;h[b>>2]=h[M+(r<<2)>>2];r=r+1|0}while((r|0)!=(a|0))}i=i+1|0;if((i|0)==(l|0))break e;r=h[p>>2]|0}}}while(0);f=f+-1|0}while((f|0)!=0)}Jn(M);P=1;v=O;return P|0}function xa(e){e=e|0;if(!e){e=0;return e|0}e=(e+-1|0)>>>0<2?1:2;return e|0}function Ia(e,i){e=e|0;i=i|0;return+ +m[56+(i*80|0)+(e<<3)>>3]}function Ba(e){e=e|0;return Ya(e,2)|0}function Na(e){e=e|0;return 0}function Fa(e,i){e=e|0;i=i|0;return+ +m[376+(i*80|0)+(e<<3)>>3]}function Ua(e,i){e=e|0;i=i|0;var r=0.0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;s=e+4|0;o=((h[s>>2]|0)*3|0)+-2|0;if(!o)return;u=e+20|0;c=e+24|0;d=0;do{if(!d){t=0;n=0}else{n=d+-1|0;t=((n>>>0)/3|0)+1|0;n=((n>>>0)%3|0)+1|0}if((n|0)==0|(h[u>>2]|0)==0)f=0;else f=(n+-1|0)>>>0<2?1:2;if(!(h[c>>2]|0))r=1.0;else r=+(1<<f|0)/+m[376+(n*80|0)+((h[s>>2]|0)+~t<<3)>>3];l=~~+J(+(r*8192.0));a=f+i|0;if((l|0)>1){t=l;n=0;while(1){t=t>>1;if((t|0)<=1)break;else n=n+1|0}f=l;t=0;do{f=f>>1;t=t+1|0}while((f|0)>1);n=n+-12|0}else{n=-13;t=0}f=11-t|0;h[e+28+(d<<3)+4>>2]=((f|0)<0?l>>0-f:l<<f)&2047;h[e+28+(d<<3)>>2]=a-n;d=d+1|0}while((d|0)!=(o|0));return}function ja(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0;z=v;v=v+32|0;Y=z+16|0;q=z;u=h[e+24>>2]|0;c=h[u+8>>2]|0;d=h[u>>2]|0;s=h[u+12>>2]|0;o=h[u+4>>2]|0;H=e+8|0;a=h[H>>2]|0;l=h[e>>2]|0;j=a-l|0;f=i+-1|0;n=(f|0)==0;if(n)i=80;else{r=u;t=f;i=0;do{U=r;r=r+136|0;F=(h[U+144>>2]|0)-(h[r>>2]|0)|0;i=i>>>0<F>>>0?F:i;U=(h[U+148>>2]|0)-(h[U+140>>2]|0)|0;i=i>>>0<U>>>0?U:i;t=t+-1|0}while((t|0)!=0);i=(i<<4)+80|0}U=Wn(i)|0;h[Y>>2]=U;if(!U){X=0;v=z;return X|0}h[q>>2]=U;e:do{if(!n){A=e+32|0;M=e+12|0;T=e+4|0;S=Y+8|0;P=q+8|0;O=Y+4|0;R=Y+12|0;L=q+4|0;C=q+12|0;D=j<<1;x=j<<2;I=j*3|0;N=l<<2;F=a<<2;B=N-F|0;N=F-N|0;F=a-l<<2;i=f;r=U;f=a;t=l;w=s-o|0;n=u;a=c-d|0;while(1){_=h[A>>2]|0;t=ue((h[M>>2]|0)-(h[T>>2]|0)|0,f-t|0)|0;h[S>>2]=a;h[P>>2]=w;y=n+136|0;b=h[n+144>>2]|0;k=h[y>>2]|0;E=b-k|0;p=h[n+148>>2]|0;c=n+140|0;m=h[c>>2]|0;g=p-m|0;h[O>>2]=E-a;h[R>>2]=(k|0)%2|0;if((g|0)>3){f=(E|0)>0;a=(p+-4-m|0)>>>2;u=ue(B,a)|0;a=_+(N+(ue(F,a)|0)<<2)|0;l=_;s=t;o=g;while(1){za(Y,l,j,s);Va(Y);if(f){n=E;do{d=n;n=n+-1|0;h[l+(n<<2)>>2]=h[U+(n<<4)>>2];h[l+(n+j<<2)>>2]=h[U+(n<<4)+4>>2];h[l+(n+D<<2)>>2]=h[U+(n<<4)+8>>2];h[l+(n+I<<2)>>2]=h[U+(n<<4)+12>>2]}while((d|0)>1)}o=o+-4|0;if((o|0)<=3)break;else{l=l+(x<<2)|0;s=s-x|0}}t=B+t+u|0}else a=_;f=g&3;i:do{if(!f)X=21;else{za(Y,a,j,t);Va(Y);if((E|0)>0)t=E;else{s=g-w|0;h[L>>2]=s;f=(h[c>>2]|0)%2|0;h[C>>2]=f;o=w;l=_;break}while(1){n=t;t=t+-1|0;switch(f|0){case 3:{h[a+(t+D<<2)>>2]=h[U+(t<<4)+8>>2];X=18;break}case 2:{X=18;break}case 1:{X=19;break}default:{}}if((X|0)==18){h[a+(t+j<<2)>>2]=h[U+(t<<4)+4>>2];X=19}if((X|0)==19){X=0;h[a+(t<<2)>>2]=h[U+(t<<4)>>2]}if((n|0)<=1){X=21;break i}}}}while(0);if((X|0)==21){X=0;s=g-w|0;h[L>>2]=s;f=(h[c>>2]|0)%2|0;h[C>>2]=f;if((E|0)>3){d=(p|0)==(m|0);b=b+-4-k|0;c=h[P>>2]|0;o=(c|0)>0;l=1-f|0;u=(s|0)>0;n=_;a=E;while(1){if(o){t=0;do{w=r+((t<<1)+f<<4)|0;k=n+((ue(t,j)|0)<<2)|0;h[w>>2]=h[k>>2];h[w+4>>2]=h[k+4>>2];h[w+8>>2]=h[k+8>>2];h[w+12>>2]=h[k+12>>2];t=t+1|0}while((t|0)!=(c|0))}if(u){t=0;do{w=r+(l+(t<<1)<<4)|0;k=n+((ue(t+c|0,j)|0)<<2)|0;h[w>>2]=h[k>>2];h[w+4>>2]=h[k+4>>2];h[w+8>>2]=h[k+8>>2];h[w+12>>2]=h[k+12>>2];t=t+1|0}while((t|0)!=(s|0))}Va(q);if(!d){r=h[q>>2]|0;t=0;do{w=n+((ue(t,j)|0)<<2)|0;k=r+(t<<4)|0;h[w>>2]=h[k>>2];h[w+4>>2]=h[k+4>>2];h[w+8>>2]=h[k+8>>2];h[w+12>>2]=h[k+12>>2];t=t+1|0}while((t|0)!=(g|0))}a=a+-4|0;if((a|0)<=3)break;else n=n+16|0}o=c;l=_+((b+4&-4)<<2)|0}else{o=w;l=_}}a=E&3;if(a){r=h[q>>2]|0;if((o|0)>0){t=a<<2;n=0;do{Gs(r+((n<<1)+f<<4)|0,l+((ue(n,j)|0)<<2)|0,t|0)|0;n=n+1|0}while((n|0)!=(o|0))}t=1-f|0;if((s|0)>0){n=a<<2;f=0;do{Gs(r+(t+(f<<1)<<4)|0,l+((ue(f+o|0,j)|0)<<2)|0,n|0)|0;f=f+1|0}while((f|0)!=(s|0))}Va(q);if((p|0)!=(m|0)){t=a<<2;n=0;do{Gs(l+((ue(n,j)|0)<<2)|0,r+(n<<4)|0,t|0)|0;n=n+1|0}while((n|0)!=(g|0))}}i=i+-1|0;if(!i)break e;f=h[H>>2]|0;t=h[e>>2]|0;w=g;n=y;a=E}}}while(0);Jn(U);X=1;v=z;return X|0}function Ha(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;if(!t){t=(i|0)>0;if(!(t|(r|0)>1))return;if(t){t=e+((r<<1)+-2<<2)|0;n=0;do{s=n;n=n+1|0;o=e+((s<<1|1)<<2)|0;h[o>>2]=(h[o>>2]|0)-((h[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((s|0)<(r|0)?e+(s<<1<<2)|0:t)>>2]|0)>>1)}while((n|0)!=(i|0))}if((r|0)<=0)return;n=e+4|0;f=(i<<1)+-1|0;a=0;do{if((a|0)<1)t=n;else t=e+((((a|0)>(i|0)?i:a)<<1)+-1<<2)|0;o=e+(a<<1<<2)|0;h[o>>2]=((h[t>>2]|0)+2+(h[e+(((a|0)<(i|0)?a<<1|1:f)<<2)>>2]|0)>>2)+(h[o>>2]|0);a=a+1|0}while((a|0)!=(r|0));return}if((i|0)==1&(r|0)==0){h[e>>2]=h[e>>2]<<1;return}if((i|0)>0){n=e+4|0;f=(r<<1)+-1|0;a=e+(f<<2)|0;o=0;do{l=o<<1;s=h[e+(((o|0)<(r|0)?l|1:f)<<2)>>2]|0;if((o|0)>=1)if((o|0)>(r|0))t=a;else t=e+(l+-1<<2)|0;else t=n;l=e+(l<<2)|0;h[l>>2]=(h[l>>2]|0)-((h[t>>2]|0)+s>>1);o=o+1|0}while((o|0)!=(i|0))}if((r|0)<=0)return;t=e+((i<<1)+-2<<2)|0;n=0;do{s=n;n=n+1|0;o=e+((s<<1|1)<<2)|0;h[o>>2]=((h[((s|0)<(i|0)?e+(s<<1<<2)|0:t)>>2]|0)+2+(h[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)>>2)+(h[o>>2]|0)}while((n|0)!=(r|0));return}function Ya(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0;y=(h[e+8>>2]|0)-(h[e>>2]|0)|0;f=h[e+16>>2]|0;l=f+-1|0;E=h[e+32>>2]|0;a=h[e+24>>2]|0;n=(l|0)==0;if(n)e=0;else{r=a;t=l;e=0;do{g=r;r=r+136|0;v=(h[g+144>>2]|0)-(h[r>>2]|0)|0;e=e>>>0<v>>>0?v:e;g=(h[g+148>>2]|0)-(h[g+140>>2]|0)|0;e=e>>>0<g>>>0?g:e;t=t+-1|0}while((t|0)!=0);e=e<<2}g=Gn(e)|0;if(!((e|0)==0|(g|0)!=0)){i=0;return i|0}if(!n){p=f+-2|0;v=p;e=a+(l*136|0)|0;p=a+(p*136|0)|0;while(1){w=h[e>>2]|0;m=(h[e+8>>2]|0)-w|0;c=h[e+4>>2]|0;b=(h[e+12>>2]|0)-c|0;k=(h[p+8>>2]|0)-(h[p>>2]|0)|0;e=h[p+12>>2]|0;r=h[p+4>>2]|0;u=e-r|0;w=w&1;c=c&1;d=b-u|0;_=(m|0)>0;e:do{if(_){n=(e|0)==(r|0);l=(b|0)==(u|0);s=g+((c^1)<<2)|0;o=ue(u,y)|0;a=g+(c<<2)|0;if((b|0)>0){f=0;while(1){r=E+(f<<2)|0;e=0;do{t=E+((ue(e,y)|0)+f<<2)|0;h[g+(e<<2)>>2]=h[t>>2];e=e+1|0}while((e|0)!=(b|0));Ho[i&3](g,d,u,c);if(!n){t=u;e=a;while(1){t=t+-1|0;h[r>>2]=h[e>>2];if(!t)break;else{r=r+(y<<2)|0;e=e+8|0}}}if(!l){e=d;r=E+(f+o<<2)|0;t=s;while(1){e=e+-1|0;h[r>>2]=h[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}}f=f+1|0;if((f|0)==(m|0))break e}}if(n){r=0;while(1){Ho[i&3](g,d,u,c);if(!l){e=d;t=E+(r+o<<2)|0;n=s;while(1){e=e+-1|0;h[t>>2]=h[n>>2];if(!e)break;else{t=t+(y<<2)|0;n=n+8|0}}}r=r+1|0;if((r|0)==(m|0))break e}}else n=0;do{Ho[i&3](g,d,u,c);e=u;r=E+(n<<2)|0;t=a;while(1){e=e+-1|0;h[r>>2]=h[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}if(!l){e=d;r=E+(n+o<<2)|0;t=s;while(1){e=e+-1|0;h[r>>2]=h[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}}n=n+1|0}while((n|0)!=(m|0))}}while(0);f=m-k|0;if((b|0)>0){a=(k|0)>0;l=g+(w<<2)|0;s=(f|0)>0;o=g+((w^1)<<2)|0;u=0;do{n=ue(u,y)|0;r=E+(n<<2)|0;if(_){e=0;do{h[g+(e<<2)>>2]=h[E+(e+n<<2)>>2];e=e+1|0}while((e|0)!=(m|0))}Ho[i&3](g,f,k,w);if(a){t=0;e=l;while(1){h[r>>2]=h[e>>2];t=t+1|0;if((t|0)==(k|0))break;else{r=r+4|0;e=e+8|0}}}if(s){t=0;e=E+(n+k<<2)|0;r=o;while(1){h[e>>2]=h[r>>2];t=t+1|0;if((t|0)==(f|0))break;else{e=e+4|0;r=r+8|0}}}u=u+1|0}while((u|0)!=(b|0))}if(!v)break;else{e=p;v=v+-1|0;p=p+-136|0}}}Qn(g);i=1;return i|0}function qa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;l=h[e>>2]|0;s=h[e+4>>2]|0;o=h[e+8>>2]|0;if(!(h[e+12>>2]|0)){t=(s|0)>0;if(!(t|(o|0)>1))return;if((o|0)>0){i=l+4|0;r=(s<<1)+-1|0;n=0;do{if((n|0)<1)e=i;else e=l+((((n|0)>(s|0)?s:n)<<1)+-1<<2)|0;f=n<<1;a=l+(f<<2)|0;h[a>>2]=(h[a>>2]|0)-((h[e>>2]|0)+2+(h[l+(((n|0)<(s|0)?f|1:r)<<2)>>2]|0)>>2);n=n+1|0}while((n|0)!=(o|0))}if(!t)return;e=l+((o<<1)+-2<<2)|0;i=0;do{f=i<<1;n=i;i=i+1|0;a=l+((f|1)<<2)|0;h[a>>2]=((h[((i|0)<(o|0)?l+(i<<1<<2)|0:e)>>2]|0)+(h[((n|0)<(o|0)?l+(f<<2)|0:e)>>2]|0)>>1)+(h[a>>2]|0)}while((i|0)!=(s|0));return}if((s|0)==1&(o|0)==0){h[l>>2]=(h[l>>2]|0)/2|0;return}if((o|0)>0){e=l+((s<<1)+-2<<2)|0;i=0;do{f=i<<1;n=i;i=i+1|0;a=l+((f|1)<<2)|0;h[a>>2]=(h[a>>2]|0)-((h[((n|0)<(s|0)?l+(f<<2)|0:e)>>2]|0)+2+(h[((i|0)<(s|0)?l+(i<<1<<2)|0:e)>>2]|0)>>2)}while((i|0)!=(o|0))}if((s|0)<=0)return;i=l+4|0;r=(o<<1)+-1|0;t=l+(r<<2)|0;a=0;do{n=a<<1;f=h[l+(((a|0)<(o|0)?n|1:r)<<2)>>2]|0;if((a|0)>=1)if((a|0)>(o|0))e=t;else e=l+(n+-1<<2)|0;else e=i;n=l+(n<<2)|0;h[n>>2]=((h[e>>2]|0)+f>>1)+(h[n>>2]|0);a=a+1|0}while((a|0)!=(s|0));return}function Xa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;if(!t){s=(i|0)>0;if(!(s|(r|0)>1))return;if(s){t=e+((r<<1)+-2<<2)|0;n=0;do{c=n;n=n+1|0;u=(h[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((c|0)<(r|0)?e+(c<<1<<2)|0:t)>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,12993,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+((c<<1|1)<<2)|0;h[c>>2]=(h[c>>2]|0)-u}while((n|0)!=(i|0))}l=(r|0)>0;if(l){n=e+4|0;f=(i<<1)+-1|0;a=0;do{if((a|0)<1)t=n;else t=e+((((a|0)>(i|0)?i:a)<<1)+-1<<2)|0;u=(h[e+(((a|0)<(i|0)?a<<1|1:f)<<2)>>2]|0)+(h[t>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,434,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+(a<<1<<2)|0;h[c>>2]=(h[c>>2]|0)-u;a=a+1|0}while((a|0)!=(r|0))}if(s){t=e+((r<<1)+-2<<2)|0;n=0;do{c=n;n=n+1|0;u=(h[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((c|0)<(r|0)?e+(c<<1<<2)|0:t)>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,7233,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+((c<<1|1)<<2)|0;h[c>>2]=u+(h[c>>2]|0)}while((n|0)!=(i|0))}if(l){n=e+4|0;f=(i<<1)+-1|0;a=0;do{if((a|0)<1)t=n;else t=e+((((a|0)>(i|0)?i:a)<<1)+-1<<2)|0;u=(h[e+(((a|0)<(i|0)?a<<1|1:f)<<2)>>2]|0)+(h[t>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,3633,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+(a<<1<<2)|0;h[c>>2]=u+(h[c>>2]|0);a=a+1|0}while((a|0)!=(r|0))}if(s){t=0;do{c=e+((t<<1|1)<<2)|0;u=h[c>>2]|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,5038,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;h[c>>2]=u;t=t+1|0}while((t|0)!=(i|0))}if(l)t=0;else return;do{i=e+(t<<1<<2)|0;c=h[i>>2]|0;c=Qs(c|0,((c|0)<0)<<31>>31|0,6659,0)|0;c=zs(c|0,j|0,4096,0)|0;c=Vs(c|0,j|0,13)|0;h[i>>2]=c;t=t+1|0}while((t|0)!=(r|0));return}c=(r|0)>0;if(!((i|0)>1|c))return;u=(i|0)>0;if(u){n=e+4|0;f=(r<<1)+-1|0;a=e+(f<<2)|0;o=0;do{l=o<<1;s=h[e+(((o|0)<(r|0)?l|1:f)<<2)>>2]|0;if((o|0)>=1)if((o|0)>(r|0))t=a;else t=e+(l+-1<<2)|0;else t=n;t=(h[t>>2]|0)+s|0;t=Qs(t|0,((t|0)<0)<<31>>31|0,12993,0)|0;t=zs(t|0,j|0,4096,0)|0;t=Vs(t|0,j|0,13)|0;s=e+(l<<2)|0;h[s>>2]=(h[s>>2]|0)-t;o=o+1|0}while((o|0)!=(i|0))}if(c){t=e+((i<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;s=(h[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((o|0)<(i|0)?e+(o<<1<<2)|0:t)>>2]|0)|0;s=Qs(s|0,((s|0)<0)<<31>>31|0,434,0)|0;s=zs(s|0,j|0,4096,0)|0;s=Vs(s|0,j|0,13)|0;o=e+((o<<1|1)<<2)|0;h[o>>2]=(h[o>>2]|0)-s}while((n|0)!=(r|0))}if(u){n=e+4|0;f=(r<<1)+-1|0;a=e+(f<<2)|0;o=0;do{l=o<<1;s=h[e+(((o|0)<(r|0)?l|1:f)<<2)>>2]|0;if((o|0)>=1)if((o|0)>(r|0))t=a;else t=e+(l+-1<<2)|0;else t=n;t=(h[t>>2]|0)+s|0;t=Qs(t|0,((t|0)<0)<<31>>31|0,7233,0)|0;t=zs(t|0,j|0,4096,0)|0;t=Vs(t|0,j|0,13)|0;s=e+(l<<2)|0;h[s>>2]=t+(h[s>>2]|0);o=o+1|0}while((o|0)!=(i|0))}if(c){t=e+((i<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;s=(h[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((o|0)<(i|0)?e+(o<<1<<2)|0:t)>>2]|0)|0;s=Qs(s|0,((s|0)<0)<<31>>31|0,3633,0)|0;s=zs(s|0,j|0,4096,0)|0;s=Vs(s|0,j|0,13)|0;o=e+((o<<1|1)<<2)|0;h[o>>2]=s+(h[o>>2]|0)}while((n|0)!=(r|0))}if(u){t=0;do{u=e+(t<<1<<2)|0;o=h[u>>2]|0;o=Qs(o|0,((o|0)<0)<<31>>31|0,5038,0)|0;o=zs(o|0,j|0,4096,0)|0;o=Vs(o|0,j|0,13)|0;h[u>>2]=o;t=t+1|0}while((t|0)!=(i|0))}if(c)t=0;else return;do{i=e+((t<<1|1)<<2)|0;c=h[i>>2]|0;c=Qs(c|0,((c|0)<0)<<31>>31|0,6659,0)|0;c=zs(c|0,j|0,4096,0)|0;c=Vs(c|0,j|0,13)|0;h[i>>2]=c;t=t+1|0}while((t|0)!=(r|0));return}function za(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;c=h[e>>2]|0;l=h[e+12>>2]|0;w=h[e+8>>2]|0;d=r*3|0;u=1-l|0;o=e+4|0;s=w;e=0;while(1){a=c+(l<<4)|0;if(((s+d|0)<(t|0)?(i&15|0)==0:0)?((a|r)&15|0)==0:0){if((s|0)>0){n=0;do{a=n<<3;h[c+(l<<4)+(a<<2)>>2]=h[i+(n<<2)>>2];f=n+r|0;h[c+(l<<4)+((a|1)<<2)>>2]=h[i+(f<<2)>>2];f=f+r|0;h[c+(l<<4)+((a|2)<<2)>>2]=h[i+(f<<2)>>2];h[c+(l<<4)+((a|3)<<2)>>2]=h[i+(f+r<<2)>>2];n=n+1|0}while((n|0)!=(s|0))}}else _=3;if((_|0)==3?(_=0,(s|0)>0):0){a=0;do{n=a<<3;h[c+(l<<4)+(n<<2)>>2]=h[i+(a<<2)>>2];f=a+r|0;if(((f|0)<(t|0)?(h[c+(l<<4)+((n|1)<<2)>>2]=h[i+(f<<2)>>2],b=f+r|0,(b|0)<(t|0)):0)?(h[c+(l<<4)+((n|2)<<2)>>2]=h[i+(b<<2)>>2],k=b+r|0,(k|0)<(t|0)):0)h[c+(l<<4)+((n|3)<<2)>>2]=h[i+(k<<2)>>2];a=a+1|0}while((a|0)!=(s|0))}e=e+1|0;if((e|0)==2)break;else{i=i+(w<<2)|0;t=t-w|0;l=u;s=h[o>>2]|0}}return}function Va(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0.0,o=0.0,u=0,c=0.0,d=0,b=0;do{if(!(h[e+12>>2]|0)){r=h[e+8>>2]|0;if((h[e+4>>2]|0)>0){i=h[e>>2]|0;if((r|0)>0){a=0;n=1;l=9;break}else{a=0;f=1;break}}if((r|0)>1){t=0;n=1;l=7}else return}else{r=h[e+8>>2]|0;if((r|0)<=0)if((h[e+4>>2]|0)>1){i=h[e>>2]|0;a=1;f=0;break}else return;else{t=1;n=0;l=7}}}while(0);if((l|0)==7){i=h[e>>2]|0;a=t;l=9}if((l|0)==9){t=0;do{l=t<<3;d=i+(a<<4)+(l<<2)|0;u=i+(a<<4)+((l|1)<<2)|0;c=+_[u>>2];f=i+(a<<4)+((l|2)<<2)|0;o=+_[f>>2];l=i+(a<<4)+((l|3)<<2)|0;s=+_[l>>2];_[d>>2]=+_[d>>2]*1.2301740646362305;_[u>>2]=c*1.2301740646362305;_[f>>2]=o*1.2301740646362305;_[l>>2]=s*1.2301740646362305;t=t+1|0}while((t|0)!=(r|0));f=n}t=h[e+4>>2]|0;if((t|0)>0){n=0;do{d=n<<3;l=i+(f<<4)+(d<<2)|0;e=i+(f<<4)+((d|1)<<2)|0;s=+_[e>>2];u=i+(f<<4)+((d|2)<<2)|0;o=+_[u>>2];d=i+(f<<4)+((d|3)<<2)|0;c=+_[d>>2];_[l>>2]=+_[l>>2]*1.625732421875;_[e>>2]=s*1.625732421875;_[u>>2]=o*1.625732421875;_[d>>2]=c*1.625732421875;n=n+1|0}while((n|0)!=(t|0))}b=i+(f<<4)|0;n=i+(a+1<<4)|0;l=t-a|0;l=(r|0)<(l|0)?r:l;Ga(b,n,r,l,-.4435068666934967);e=i+(a<<4)|0;u=i+(f+1<<4)|0;d=r-f|0;d=(t|0)<(d|0)?t:d;Ga(e,u,t,d,-.8829110860824585);Ga(b,n,r,l,.05298011749982834);Ga(e,u,t,d,1.5861343145370483);return}function Ga(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0.0,a=0.0,l=0.0,s=0.0,o=0,u=0,c=0,d=0,h=0.0,b=0.0,k=0,w=0.0,m=0.0,p=0,v=0.0,g=0.0,y=0,E=0.0;if((t|0)>0){c=t<<1;u=c+-2|0;a=+_[e>>2];l=+_[e+4>>2];s=+_[e+8>>2];f=+_[e+12>>2];e=i;o=0;while(1){y=e+-16|0;p=e+-12|0;g=+_[p>>2];k=e+-8|0;m=+_[k>>2];d=e+-4|0;b=+_[d>>2];E=a;a=+_[e>>2];v=l;l=+_[e+4>>2];w=s;s=+_[e+8>>2];h=f;f=+_[e+12>>2];_[y>>2]=+_[y>>2]+(E+a)*n;_[p>>2]=g+(v+l)*n;_[k>>2]=m+(w+s)*n;_[d>>2]=b+(h+f)*n;o=o+1|0;if((o|0)==(t|0))break;else e=e+32|0}e=i+(u<<4)|0;i=i+(c<<4)|0}if((t|0)>=(r|0))return;f=n+n;a=f*+_[e>>2];l=f*+_[e+4>>2];s=f*+_[e+8>>2];f=f*+_[e+12>>2];while(1){d=i+-16|0;k=i+-12|0;v=+_[k>>2];p=i+-8|0;g=+_[p>>2];y=i+-4|0;E=+_[y>>2];_[d>>2]=a+ +_[d>>2];_[k>>2]=l+v;_[p>>2]=s+g;_[y>>2]=f+E;t=t+1|0;if((t|0)==(r|0))break;else i=i+32|0}return}function Ka(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0.0,b=0,k=0,w=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0;E=r<<2;A=Gn(r<<4)|0;if(!A){e=0;return e|0}M=A+E|0;qs(A|0,0,E|0)|0;g=r+-1|0;v=(r|0)==0;if(!v){t=0;n=A;while(1){h[n>>2]=t;t=t+1|0;if((t|0)==(r|0))break;else n=n+4|0}}e:do{if(g){k=g;l=0;t=0;w=e;m=1;p=A;while(1){s=w+(l<<2)|0;if(l>>>0<r>>>0){a=l;n=s;f=0.0}else break;while(1){d=+_[n>>2];d=d>0.0?d:-d;y=d>f;t=y?a:t;f=y?d:f;a=a+1|0;if((a|0)==(r|0))break;else n=n+(r<<2)|0}if(f==0.0)break;if((t|0)!=(l|0)){y=t-l|0;b=p+(y<<2)|0;c=h[p>>2]|0;h[p>>2]=h[b>>2];h[b>>2]=c;y=w+((ue(y,r)|0)<<2)|0;Gs(M|0,y|0,E|0)|0;Gs(y|0,w|0,E|0)|0;Gs(w|0,M|0,E|0)|0}n=l;b=l+1|0;d=+_[s>>2];if(m>>>0<r>>>0){o=w+(b<<2)|0;c=b+k|0;u=m;a=w+(n+r<<2)|0;while(1){f=+_[a>>2]/d;_[a>>2]=f;n=m;l=a;s=o;while(1){l=l+4|0;_[l>>2]=+_[l>>2]-f*+_[s>>2];n=n+1|0;if((n|0)==(r|0))break;else s=s+4|0}u=u+1|0;if((u|0)==(r|0))break;else a=a+(c<<2)|0}}if(b>>>0<g>>>0){k=k+-1|0;l=b;w=w+(r<<2)|0;m=m+1|0;p=p+4|0}else break e}Qn(A);e=0;return e|0}}while(0);t=r<<1;y=M+(t<<2)|0;if(!v){v=M+(g+r<<2)|0;k=M+(t+g<<2)|0;w=e+((ue(r,r)|0)+-1<<2)|0;m=~r;p=0;b=i;while(1){qs(M|0,0,E|0)|0;_[M+(p<<2)>>2]=1.0;l=0;s=1;o=A;u=y;c=e;while(1){if(!l)f=0.0;else{t=1;n=y;a=c;f=0.0;while(1){f=f+ +_[a>>2]*+_[n>>2];t=t+1|0;if((t|0)==(s|0))break;else{n=n+4|0;a=a+4|0}}}_[u>>2]=+_[M+(h[o>>2]<<2)>>2]-f;l=l+1|0;if((l|0)==(r|0)){l=r;s=v;o=y;u=k;c=w;break}else{s=s+1|0;o=o+4|0;u=u+4|0;c=c+(r<<2)|0}}while(1){t=l;l=l+-1|0;d=+_[c>>2];if(t>>>0<r>>>0){n=o;a=c;f=0.0;while(1){a=a+4|0;f=f+ +_[a>>2]*+_[n>>2];t=t+1|0;if((t|0)==(r|0))break;else n=n+4|0}}else f=0.0;o=o+-4|0;_[s>>2]=(+_[u>>2]-f)/d;if(!l){t=0;n=b;break}else{s=s+-4|0;u=u+-4|0;c=c+(m<<2)|0}}while(1){h[n>>2]=h[M+(t+r<<2)>>2];t=t+1|0;if((t|0)==(r|0))break;else n=n+(r<<2)|0}p=p+1|0;if((p|0)==(r|0))break;else b=b+4|0}}Qn(A);e=1;return e|0}function Wa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;f=Kn(1,44)|0;if(!f){f=0;return f|0}a=sl()|0;h[f>>2]=a;if(!a){ol(0);h[f>>2]=0;a=f+4|0;Ml(h[a>>2]|0);h[a>>2]=0;if((h[f+40>>2]|0)==0?(r=f+8|0,i=h[r>>2]|0,(i|0)!=0):0){Jn(i);h[r>>2]=0}i=f+12|0;r=h[i>>2]|0;if(r){Jn(r);h[i>>2]=0}Qn(f);a=0;return a|0}a=Al()|0;i=f+4|0;h[i>>2]=a;if(a){h[f+40>>2]=e;a=f;return a|0}ol(h[f>>2]|0);h[f>>2]=0;Ml(h[i>>2]|0);h[i>>2]=0;if((h[f+40>>2]|0)==0?(t=f+8|0,n=h[t>>2]|0,(n|0)!=0):0){Jn(n);h[t>>2]=0}i=f+12|0;r=h[i>>2]|0;if(r){Jn(r);h[i>>2]=0}Qn(f);a=0;return a|0}function Ja(e){e=e|0;var i=0,r=0,t=0;if(!e)return;ol(h[e>>2]|0);h[e>>2]=0;t=e+4|0;Ml(h[t>>2]|0);h[t>>2]=0;if((h[e+40>>2]|0)==0?(i=e+8|0,r=h[i>>2]|0,(r|0)!=0):0){Jn(r);h[i>>2]=0}i=e+12|0;r=h[i>>2]|0;if(r){Jn(r);h[i>>2]=0}Qn(e);return}function Za(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,w=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0;Ae=(h[i+8>>2]|0)-(h[i>>2]|0)|0;Me=i+20|0;t=h[Me>>2]|0;if(!t){e=1;return e|0}Te=i+24|0;Se=r+808|0;Pe=r+16|0;pe=e+4|0;ge=e+8|0;ye=e+16|0;Ee=e+20|0;me=r+20|0;ke=i+32|0;we=e+32|0;_e=e+12|0;r=t;be=0;e:while(1){de=h[Te>>2]|0;he=de+(be*136|0)+24|0;i=h[he>>2]|0;if(i){se=de+(be*136|0)+16|0;oe=de+(be*136|0)+20|0;ce=be+-1|0;r=h[oe>>2]|0;t=h[se>>2]|0;le=0;do{if(ue(r,t)|0){re=de+(be*136|0)+28+(le*36|0)+20|0;te=de+(be*136|0)+28+(le*36|0)+16|0;ne=de+(be*136|0)+28+(le*36|0)|0;fe=de+(be*136|0)+28+(le*36|0)+4|0;ae=de+(be*136|0)+28+(le*36|0)+32|0;ie=0;do{i=h[re>>2]|0;$=i+(ie*40|0)+16|0;ee=i+(ie*40|0)+20|0;if(ue(h[ee>>2]|0,h[$>>2]|0)|0){Z=i+(ie*40|0)+24|0;Q=0;do{r=h[Z>>2]|0;X=h[te>>2]|0;n=h[Se>>2]|0;i=h[Pe>>2]|0;z=h[pe>>2]|0;V=h[e>>2]|0;G=r+(Q*56|0)+8|0;J=r+(Q*56|0)+12|0;if(!($a(e,(h[r+(Q*56|0)+16>>2]|0)-(h[G>>2]|0)|0,(h[r+(Q*56|0)+20>>2]|0)-(h[J>>2]|0)|0)|0)){r=0;C=201;break e}K=r+(Q*56|0)+24|0;f=h[K>>2]|0;_l(V);ml(V,18,0,46);ml(V,17,0,3);ml(V,0,0,4);W=r+(Q*56|0)+48|0;t=h[W>>2]|0;if(t){U=r+(Q*56|0)+4|0;j=(i&1|0)!=0;H=(i&2|0)==0;Y=(i&8|0)==0;q=X<<8;F=(i&32|0)==0;i=f+n|0;r=2;N=0;do{f=h[U>>2]|0;B=j&(r>>>0<2?(i|0)<=((h[K>>2]|0)+-4|0):0);n=h[f+(N<<5)>>2]|0;if(n){t=(h[n>>2]|0)+(h[f+(N<<5)+4>>2]|0)|0;n=h[f+(N<<5)+16>>2]|0;if(!B){if(!(yl(V,t,n)|0)){r=0;C=201;break e}}else Tl(z,t,n);x=f+(N<<5)+12|0;i:do{if(h[x>>2]|0){I=H|B;D=0;while(1){r:do{switch(r|0){case 0:{if(B){y=1<<i;y=y>>1|y;n=h[Ee>>2]|0;if(!n)break r;g=0-y|0;t=h[ye>>2]|0;v=0;while(1){p=v;v=v+4|0;if(!t)t=0;else{c=(p|0)==-4;w=p|3;m=0;do{t:do{if(!c)if(Y){o=p;do{if(o>>>0>=(h[Ee>>2]|0)>>>0)break t;l=o;o=o+1|0;t=(ue(h[we>>2]|0,o)|0)+m|0;n=t+1|0;f=h[_e>>2]|0;a=f+(n<<1)|0;l=(ue(h[ye>>2]|0,l)|0)+m|0;l=(h[ge>>2]|0)+(l<<2)|0;s=h[pe>>2]|0;C=d[a>>1]|0;if((C&255|0)!=0&(C&20480|0)==0){if(Sl(s)|0){O=Sl(s)|0;h[l>>2]=(O|0)!=0?g:y;L=h[we>>2]|0;C=f+(n-L<<1)|0;R=f+(L+n<<1)|0;P=f+(n+~L<<1)|0;d[P>>1]=k[P>>1]|2;d[C>>1]=d[C>>1]|d[3436+(O<<1)>>1];C=t+2|0;P=f+(C-L<<1)|0;d[P>>1]=k[P>>1]|4;P=f+(t<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+2<<1)>>1];d[a>>1]=k[a>>1]|4096;P=f+(C<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+4<<1)>>1];P=f+(L+t<<1)|0;d[P>>1]=k[P>>1]|1;d[R>>1]=d[R>>1]|d[3436+(O+6<<1)>>1];C=f+(L+C<<1)|0;d[C>>1]=k[C>>1]|8}d[a>>1]=k[a>>1]|16384}}while(o>>>0<v>>>0)}else{u=p;do{t=h[Ee>>2]|0;if(u>>>0>=t>>>0)break t;L=u;u=u+1|0;n=(ue(h[we>>2]|0,u)|0)+m|0;f=n+1|0;a=h[_e>>2]|0;l=a+(f<<1)|0;s=(ue(h[ye>>2]|0,L)|0)+m|0;s=(h[ge>>2]|0)+(s<<2)|0;o=h[pe>>2]|0;C=d[l>>1]|0;C=(L|0)==(w|0)|(L|0)==(t+-1|0)?C&-1095:C;if((C&255|0)!=0&(C&20480|0)==0){if(Sl(o)|0){O=Sl(o)|0;h[s>>2]=(O|0)!=0?g:y;L=h[we>>2]|0;C=a+(f-L<<1)|0;R=a+(L+f<<1)|0;P=a+(f+~L<<1)|0;d[P>>1]=k[P>>1]|2;d[C>>1]=d[C>>1]|d[3436+(O<<1)>>1];C=n+2|0;P=a+(C-L<<1)|0;d[P>>1]=k[P>>1]|4;P=a+(n<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+2<<1)>>1];d[l>>1]=k[l>>1]|4096;P=a+(C<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+4<<1)>>1];P=a+(L+n<<1)|0;d[P>>1]=k[P>>1]|1;d[R>>1]=d[R>>1]|d[3436+(O+6<<1)>>1];C=a+(L+C<<1)|0;d[C>>1]=k[C>>1]|8}d[l>>1]=k[l>>1]|16384}}while(u>>>0<v>>>0)}}while(0);m=m+1|0;t=h[ye>>2]|0}while(m>>>0<t>>>0);n=h[Ee>>2]|0}if(v>>>0>=n>>>0){C=163;break r}}}if(Y){f=h[ge>>2]|0;a=(h[_e>>2]|0)+2|0;w=1<<i;w=w>>1|w;t=h[Ee>>2]|0;n=h[ye>>2]|0;if(t>>>0>3){o=n;s=0;while(1){if(!n){n=o;l=0}else{n=0;do{C=(h[we>>2]|0)+n|0;el(e,a+(C<<1)|0,f+(n<<2)|0,X,w);t=(h[ye>>2]|0)+n|0;C=(h[we>>2]|0)+C|0;el(e,a+(C<<1)|0,f+(t<<2)|0,X,w);t=(h[ye>>2]|0)+t|0;C=(h[we>>2]|0)+C|0;el(e,a+(C<<1)|0,f+(t<<2)|0,X,w);el(e,a+((h[we>>2]|0)+C<<1)|0,f+((h[ye>>2]|0)+t<<2)|0,X,w);n=n+1|0;t=h[ye>>2]|0}while(n>>>0<t>>>0);n=t;l=t;t=h[Ee>>2]|0}f=f+(l<<2<<2)|0;a=a+(h[we>>2]<<2<<1)|0;s=s+4|0;if(s>>>0<(t&-4)>>>0){o=n;n=l}else{c=a;u=s;break}}}else{c=a;u=0}if(!n){C=163;break r}else o=0;while(1){if(u>>>0<t>>>0){a=f+(o<<2)|0;l=c+(o<<1)|0;s=u;while(1){l=l+(h[we>>2]<<1)|0;el(e,l,a,X,w);n=h[ye>>2]|0;s=s+1|0;t=h[Ee>>2]|0;if(s>>>0>=t>>>0)break;else a=a+(n<<2)|0}}o=o+1|0;if(o>>>0>=n>>>0){C=163;break r}}}y=1<<i;y=y>>1|y;t=h[Ee>>2]|0;if(!t){C=163;break r}E=0-y|0;n=h[ye>>2]|0;a=n;g=0;while(1){v=g;g=g+4|0;do{if(!n){f=a;n=0}else{p=v|3;if((v|0)==-4){f=a;n=a;break}else m=0;do{w=v;do{t=h[Ee>>2]|0;if(w>>>0>=t>>>0)break;C=w;w=w+1|0;a=(ue(h[we>>2]|0,w)|0)+m|0;l=a+1|0;s=h[_e>>2]|0;o=s+(l<<1)|0;u=(ue(h[ye>>2]|0,C)|0)+m|0;u=(h[ge>>2]|0)+(u<<2)|0;c=h[e>>2]|0;n=d[o>>1]|0;t=(C|0)==(p|0)|(C|0)==(t+-1|0)?n&-1095:n;n=t&255;if((n|0)!=0&(t&20480|0)==0){f=c+100|0;h[f>>2]=c+24+(b[20267+(n|q)>>0]<<2);if(El(c)|0){L=t>>>4&255;h[f>>2]=c+24+(b[21291+L>>0]<<2);C=El(c)|0;L=b[21547+L>>0]|0;O=L^C;h[u>>2]=(C|0)!=(L|0)?E:y;L=h[we>>2]|0;C=s+(l-L<<1)|0;R=s+(L+l<<1)|0;P=s+(l+~L<<1)|0;d[P>>1]=k[P>>1]|2;d[C>>1]=d[C>>1]|d[3436+(O<<1)>>1];C=a+2|0;P=s+(C-L<<1)|0;d[P>>1]=k[P>>1]|4;P=s+(a<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+2<<1)>>1];d[o>>1]=k[o>>1]|4096;P=s+(C<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+4<<1)>>1];P=s+(L+a<<1)|0;d[P>>1]=k[P>>1]|1;d[R>>1]=d[R>>1]|d[3436+(O+6<<1)>>1];C=s+(L+C<<1)|0;d[C>>1]=k[C>>1]|8}d[o>>1]=k[o>>1]|16384}}while(w>>>0<g>>>0);m=m+1|0;t=h[ye>>2]|0}while(m>>>0<t>>>0);f=t;n=t;t=h[Ee>>2]|0}}while(0);if(g>>>0>=t>>>0){C=163;break}else a=f}break}case 1:{if(B){c=1<<i>>1;w=(i|0)>0?0-c|0:-1;n=h[Ee>>2]|0;if(!n)break r;f=h[ye>>2]|0;t=f;u=0;while(1){o=u;u=u+4|0;if(!f){a=t;f=0}else{s=(o|0)==-4;l=0;do{a=l;l=l+1|0;if(!s){f=o;do{if(f>>>0>=(h[Ee>>2]|0)>>>0)break;n=f;f=f+1|0;t=(ue(h[we>>2]|0,f)|0)+l|0;t=(h[_e>>2]|0)+(t<<1)|0;n=(ue(h[ye>>2]|0,n)|0)+a|0;n=(h[ge>>2]|0)+(n<<2)|0;if((d[t>>1]&20480)==4096){L=(Sl(h[pe>>2]|0)|0)!=0;L=L?c:w;C=h[n>>2]|0;h[n>>2]=((C|0)<0?0-L|0:L)+C;d[t>>1]=k[t>>1]|8192}}while(f>>>0<u>>>0);t=h[ye>>2]|0}}while(l>>>0<t>>>0);a=t;f=t;n=h[Ee>>2]|0}if(u>>>0>=n>>>0){C=163;break r}else t=a}}if(!Y){p=1<<i>>1;v=(i|0)>0?0-p|0:-1;t=h[Ee>>2]|0;if(!t){C=163;break r}n=h[ye>>2]|0;f=n;m=0;while(1){w=m;m=m+4|0;if(!n)n=0;else{u=(w|0)==-4;c=w|3;t=f;o=0;do{s=o;o=o+1|0;if(!u){a=w;do{t=h[Ee>>2]|0;if(a>>>0>=t>>>0)break;L=a;a=a+1|0;n=(ue(h[we>>2]|0,a)|0)+o|0;n=(h[_e>>2]|0)+(n<<1)|0;f=(ue(h[ye>>2]|0,L)|0)+s|0;f=(h[ge>>2]|0)+(f<<2)|0;l=h[e>>2]|0;C=d[n>>1]|0;t=(L|0)==(c|0)|(L|0)==(t+-1|0)?C&-1095:C;if((t&20480|0)==4096){h[l+100>>2]=l+24+(((t&8192|0)!=0?16:(t&255|0)!=0?15:14)<<2);L=(El(l)|0)!=0;L=L?p:v;C=h[f>>2]|0;h[f>>2]=((C|0)<0?0-L|0:L)+C;d[n>>1]=k[n>>1]|8192}}while(a>>>0<m>>>0);t=h[ye>>2]|0}}while(o>>>0<t>>>0);f=t;n=t;t=h[Ee>>2]|0}if(m>>>0>=t>>>0){C=163;break r}}}f=h[ge>>2]|0;a=(h[_e>>2]|0)+2|0;g=1<<i>>1;y=(i|0)>0?0-g|0:-1;t=h[Ee>>2]|0;n=h[ye>>2]|0;if(t>>>0>3){s=n;p=a;v=0;while(1){if(!n){n=s;l=0}else{t=s;m=0;do{n=f+(m<<2)|0;s=h[we>>2]|0;u=s+m|0;a=p+(u<<1)|0;o=h[e>>2]|0;l=d[a>>1]|0;if((l&20480|0)==4096){h[o+100>>2]=o+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);s=(El(o)|0)!=0;s=s?g:y;t=h[n>>2]|0;h[n>>2]=((t|0)<0?0-s|0:s)+t;d[a>>1]=k[a>>1]|8192;t=h[ye>>2]|0;n=h[we>>2]|0;s=h[e>>2]|0}else{n=s;s=o}c=t+m|0;o=f+(c<<2)|0;w=n+u|0;a=p+(w<<1)|0;l=d[a>>1]|0;if((l&20480|0)==4096){h[s+100>>2]=s+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);n=(El(s)|0)!=0;n=n?g:y;t=h[o>>2]|0;h[o>>2]=((t|0)<0?0-n|0:n)+t;d[a>>1]=k[a>>1]|8192;t=h[ye>>2]|0;n=h[we>>2]|0;s=h[e>>2]|0}u=t+c|0;o=f+(u<<2)|0;c=n+w|0;a=p+(c<<1)|0;l=d[a>>1]|0;if((l&20480|0)==4096){h[s+100>>2]=s+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);n=(El(s)|0)!=0;n=n?g:y;t=h[o>>2]|0;h[o>>2]=((t|0)<0?0-n|0:n)+t;d[a>>1]=k[a>>1]|8192;t=h[ye>>2]|0;n=h[we>>2]|0;s=h[e>>2]|0}l=f+(t+u<<2)|0;n=p+(n+c<<1)|0;a=d[n>>1]|0;if((a&20480|0)==4096){h[s+100>>2]=s+24+(((a&8192|0)!=0?16:(a&255|0)!=0?15:14)<<2);C=(El(s)|0)!=0;C=C?g:y;t=h[l>>2]|0;h[l>>2]=((t|0)<0?0-C|0:C)+t;d[n>>1]=k[n>>1]|8192;t=h[ye>>2]|0}m=m+1|0}while(m>>>0<t>>>0);n=t;l=t;t=h[Ee>>2]|0}f=f+(l<<2<<2)|0;a=p+(h[we>>2]<<2<<1)|0;o=v+4|0;if(o>>>0<(t&-4)>>>0){s=n;n=l;p=a;v=o}else{m=o;break}}}else m=0;if(!n){C=163;break r}else w=0;do{if(m>>>0<t>>>0){o=f+(w<<2)|0;u=a+(w<<1)|0;c=m;while(1){u=u+(h[we>>2]<<1)|0;s=h[e>>2]|0;l=d[u>>1]|0;if((l&20480|0)==4096){h[s+100>>2]=s+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);t=(El(s)|0)!=0;t=t?g:y;l=h[o>>2]|0;h[o>>2]=((l|0)<0?0-t|0:t)+l;d[u>>1]=k[u>>1]|8192;l=h[ye>>2]|0;t=h[Ee>>2]|0}else l=n;c=c+1|0;if(c>>>0>=t>>>0){n=l;break}else{n=l;o=o+(l<<2)|0}}}w=w+1|0}while(w>>>0<n>>>0);C=163;break}case 2:{R=h[e>>2]|0;L=1<<i;L=L>>1|L;do{if(Y){f=h[ge>>2]|0;a=(h[_e>>2]|0)+2|0;n=h[Ee>>2]|0;if(n>>>0>3){y=R+92|0;E=R+100|0;A=R+96|0;M=0-L|0;l=h[ye>>2]|0;t=l;o=0;while(1){if(!l)l=0;else{w=o|1;m=w+1|0;p=o|3;v=w+3|0;g=0;do{t=h[we>>2]|0;n=g;g=g+1|0;P=(ue(t,w)|0)+g|0;S=h[_e>>2]|0;T=S+((ue(t,m)|0)+g<<1)|0;O=S+((ue(t,p)|0)+g<<1)|0;C=S+((ue(t,v)|0)+g<<1)|0;t:do{if(!((d[T>>1]|d[S+(P<<1)>>1]|d[O>>1]|d[C>>1])&20735)){h[E>>2]=y;if(!(El(R)|0))break;h[E>>2]=A;u=(El(R)|0)<<1;u=u|(El(R)|0);if(u>>>0>=4)break;c=f+((ue(h[ye>>2]|0,u)|0)+n<<2)|0;n=a+((ue(h[we>>2]|0,u)|0)+n<<1)|0;s=u;while(1){if(s>>>0>=(h[Ee>>2]|0)>>>0)break t;t=h[we>>2]|0;l=n;n=n+(t<<1)|0;if((s|0)==(u|0)){C=h[e>>2]|0;O=(k[n>>1]|0)>>>4&255;h[C+100>>2]=C+24+(b[21291+O>>0]<<2);C=El(C)|0;O=b[21547+O>>0]|0;S=O^C;h[c>>2]=(C|0)!=(O|0)?M:L;O=h[we>>2]|0;C=l+(t-O<<1)|0;P=l+(O+t<<1)|0;T=l+(t+~O<<1)|0;d[T>>1]=k[T>>1]|2;d[C>>1]=d[C>>1]|d[3436+(S<<1)>>1];C=t+1|0;T=l+(C-O<<1)|0;d[T>>1]=k[T>>1]|4;T=t+-1|0;t=l+(T<<1)|0;d[t>>1]=d[t>>1]|d[3436+(S+2<<1)>>1];d[n>>1]=k[n>>1]|4096;t=l+(C<<1)|0;d[t>>1]=d[t>>1]|d[3436+(S+4<<1)>>1];T=l+(O+T<<1)|0;d[T>>1]=k[T>>1]|1;d[P>>1]=d[P>>1]|d[3436+(S+6<<1)>>1];C=l+(O+C<<1)|0;d[C>>1]=k[C>>1]|8;d[n>>1]=k[n>>1]&49151}else il(e,n,c,X,L);s=s+1|0;if(s>>>0>=4)break;else c=c+(h[ye>>2]<<2)|0}}else{O=t+n|0;il(e,a+(O<<1)|0,f+(n<<2)|0,X,L);C=(h[ye>>2]|0)+n|0;O=(h[we>>2]|0)+O|0;il(e,a+(O<<1)|0,f+(C<<2)|0,X,L);C=(h[ye>>2]|0)+C|0;O=(h[we>>2]|0)+O|0;il(e,a+(O<<1)|0,f+(C<<2)|0,X,L);il(e,a+((h[we>>2]|0)+O<<1)|0,f+((h[ye>>2]|0)+C<<2)|0,X,L)}}while(0);t=h[ye>>2]|0}while(g>>>0<t>>>0);l=t;n=h[Ee>>2]|0}f=f+(l<<2<<2)|0;a=a+(h[we>>2]<<2<<1)|0;o=o+4|0;if(o>>>0>=(n&-4)>>>0){c=f;u=a;break}}}else{t=h[ye>>2]|0;c=f;u=a;o=0}if(!t)break;else s=0;do{if(o>>>0<n>>>0){f=c+(s<<2)|0;a=u+(s<<1)|0;l=o;while(1){a=a+(h[we>>2]<<1)|0;il(e,a,f,X,L);t=h[ye>>2]|0;l=l+1|0;n=h[Ee>>2]|0;if(l>>>0>=n>>>0)break;else f=f+(t<<2)|0}}s=s+1|0}while(s>>>0<t>>>0)}else{t=h[Ee>>2]|0;if(!t)break;T=R+92|0;S=R+100|0;P=R+96|0;O=0-L|0;n=h[ye>>2]|0;M=0;while(1){if(!n){f=M+4|0;n=0}else{g=M|3;y=M|1;E=y+1|0;A=y+3|0;f=M+4|0;v=0;while(1){do{if(g>>>0<t>>>0){t=h[we>>2]|0;a=v+1|0;p=(ue(t,y)|0)+a|0;n=h[_e>>2]|0;if(d[n+(p<<1)>>1]&20735){p=0;t=0;C=127;break}p=n+((ue(t,E)|0)+a<<1)|0;if(d[p>>1]&20735){p=0;t=0;C=127;break}p=n+((ue(t,g)|0)+a<<1)|0;if(d[p>>1]&20735){p=0;t=0;C=127;break}p=n+((ue(t,A)|0)+a<<1)|0;if(d[p>>1]&20665){p=0;t=0;C=127;break}h[S>>2]=T;if(!(El(R)|0))break;h[S>>2]=P;t=(El(R)|0)<<1;p=1;t=t|(El(R)|0);C=127}else{p=0;t=0;C=127}}while(0);if((C|0)==127){C=0;a=t+M|0;t:do{if(a>>>0<f>>>0){m=a;do{t=h[Ee>>2]|0;if(m>>>0>=t>>>0)break t;Oe=m;m=m+1|0;l=(ue(h[we>>2]|0,m)|0)+v|0;s=l+1|0;o=h[_e>>2]|0;u=o+(s<<1)|0;c=(ue(h[ye>>2]|0,Oe)|0)+v|0;c=(h[ge>>2]|0)+(c<<2)|0;w=h[e>>2]|0;n=d[u>>1]|0;n=(Oe|0)==(g|0)|(Oe|0)==(t+-1|0)?n&-1095:n;do{if(!(p&(Oe|0)==(a|0))){if(n&20480)break;t=w+100|0;h[t>>2]=w+24+(b[20267+(n&255|q)>>0]<<2);if(El(w)|0)C=133}else{t=w+100|0;C=133}}while(0);if((C|0)==133){C=0;n=n>>>4&255;h[t>>2]=w+24+(b[21291+n>>0]<<2);Oe=El(w)|0;w=b[21547+n>>0]|0;n=w^Oe;h[c>>2]=(Oe|0)!=(w|0)?O:L;w=h[we>>2]|0;Oe=o+(s-w<<1)|0;c=o+(w+s<<1)|0;s=o+(s+~w<<1)|0;d[s>>1]=k[s>>1]|2;d[Oe>>1]=d[Oe>>1]|d[3436+(n<<1)>>1];Oe=l+2|0;s=o+(Oe-w<<1)|0;d[s>>1]=k[s>>1]|4;s=o+(l<<1)|0;d[s>>1]=d[s>>1]|d[3436+(n+2<<1)>>1];d[u>>1]=k[u>>1]|4096;s=o+(Oe<<1)|0;d[s>>1]=d[s>>1]|d[3436+(n+4<<1)>>1];s=o+(w+l<<1)|0;d[s>>1]=k[s>>1]|1;d[c>>1]=d[c>>1]|d[3436+(n+6<<1)>>1];Oe=o+(w+Oe<<1)|0;d[Oe>>1]=k[Oe>>1]|8}d[u>>1]=k[u>>1]&49151}while(m>>>0<f>>>0)}}while(0);a=v+1|0}n=h[ye>>2]|0;t=h[Ee>>2]|0;if(a>>>0<n>>>0)v=a;else break}}if(f>>>0<t>>>0)M=f;else break}}}while(0);if(F){C=163;break r}h[R+100>>2]=R+96;El(R)|0;El(R)|0;El(R)|0;El(R)|0;C=163;break}default:C=163}}while(0);do{if((C|0)==163){C=0;if(I)break;_l(V);ml(V,18,0,46);ml(V,17,0,3);ml(V,0,0,4)}}while(0);r=r+1|0;Oe=(r|0)==3;i=(Oe<<31>>31)+i|0;r=Oe?0:r;D=D+1|0;if(D>>>0>=(h[x>>2]|0)>>>0)break i}}}while(0);t=h[W>>2]|0}N=N+1|0}while(N>>>0<t>>>0)}r=(h[G>>2]|0)-(h[ne>>2]|0)|0;i=(h[J>>2]|0)-(h[fe>>2]|0)|0;t=h[te>>2]|0;if(t&1){Oe=h[Te>>2]|0;r=(h[Oe+(ce*136|0)+8>>2]|0)+r-(h[Oe+(ce*136|0)>>2]|0)|0}if(t&2){Oe=h[Te>>2]|0;i=(h[Oe+(ce*136|0)+12>>2]|0)+i-(h[Oe+(ce*136|0)+4>>2]|0)|0}u=h[ge>>2]|0;c=h[ye>>2]|0;w=h[Ee>>2]|0;t=h[Se>>2]|0;if((t|0)!=0?(ve=1<<t,(w|0)!=0):0){t=(c|0)==0;o=0;do{if(!t){n=ue(o,c)|0;s=0;do{f=u+(s+n<<2)|0;a=h[f>>2]|0;l=(a|0)>-1?a:0-a|0;if((l|0)>=(ve|0)){Oe=l>>h[Se>>2];h[f>>2]=(a|0)<0?0-Oe|0:Oe}s=s+1|0}while((s|0)!=(c|0))}o=o+1|0}while((o|0)!=(w|0))}s=(ue(i,Ae)|0)+r|0;o=h[ke>>2]|0;r=(w|0)==0;if((h[me>>2]|0)==1){if(!r){r=(c|0)==0;f=0;do{if(!r){i=ue(f,c)|0;t=(ue(f,Ae)|0)+s|0;n=0;do{h[o+(t+n<<2)>>2]=(h[u+(n+i<<2)>>2]|0)/2|0;n=n+1|0}while((n|0)!=(c|0))}f=f+1|0}while((f|0)!=(w|0))}}else if(!r){l=(c|0)==0;r=u;a=0;f=o+(s<<2)|0;while(1){if(!l){i=r;t=0;n=f;while(1){_[n>>2]=+(h[i>>2]|0)*+_[ae>>2];t=t+1|0;if((t|0)==(c|0))break;else{i=i+4|0;n=n+4|0}}r=r+(c<<2)|0}a=a+1|0;if((a|0)==(w|0))break;else f=f+(Ae<<2)|0}}Q=Q+1|0}while(Q>>>0<(ue(h[ee>>2]|0,h[$>>2]|0)|0)>>>0);r=h[oe>>2]|0;t=h[se>>2]|0}ie=ie+1|0}while(ie>>>0<(ue(r,t)|0)>>>0);i=h[he>>2]|0}le=le+1|0}while(le>>>0<i>>>0);r=h[Me>>2]|0}be=be+1|0;if(be>>>0>=r>>>0){r=1;C=201;break}}if((C|0)==201)return r|0;return 0}function Qa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,w=0.0,p=0.0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0.0,V=0,G=0,K=0,W=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0.0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0,Re=0,Le=0,Ce=0,De=0,xe=0,Ie=0,Be=0,Ne=0,Fe=0,Ue=0,je=0,He=0,Ye=0,qe=0,Xe=0,ze=0,Ve=0,Ge=0,Ke=0,We=0,Je=0,Ze=0,Qe=0,$e=0;Je=i+32|0;m[Je>>3]=0.0;Ze=i+16|0;f=h[Ze>>2]|0;if(!f){Qe=1;return Qe|0}We=i+20|0;Xe=r+5584|0;ze=e+16|0;Ve=e+20|0;Ge=e+8|0;Ke=e+36|0;He=(t|0)!=0;Ye=e+32|0;qe=e+12|0;i=f;je=0;e:while(1){r=h[We>>2]|0;f=h[Xe>>2]|0;Fe=(h[r+(je*52|0)+8>>2]|0)-(h[r+(je*52|0)>>2]|0)|0;Ue=r+(je*52|0)+16|0;a=h[Ue>>2]|0;if(a){Ne=r+(je*52|0)+24|0;Ie=r+(je*52|0)+32|0;Be=f+(je*1080|0)+20|0;Ce=f+(je*1080|0)+16|0;xe=He&je>>>0<n>>>0;De=t+(je<<3)|0;i=a;Le=0;do{Oe=h[Ne>>2]|0;Re=Oe+(Le*136|0)+24|0;r=h[Re>>2]|0;if(r){Me=Oe+(Le*136|0)+16|0;Te=Oe+(Le*136|0)+20|0;Se=~Le;Pe=Le+-1|0;i=h[Te>>2]|0;f=h[Me>>2]|0;Ae=0;do{Ee=Oe+(Le*136|0)+28+(Ae*36|0)+32|0;if(ue(i,f)|0){_e=67108864/(~~+J(+(+_[Ee>>2]*8192.0))|0)|0;me=Oe+(Le*136|0)+28+(Ae*36|0)+20|0;pe=Oe+(Le*136|0)+28+(Ae*36|0)|0;ve=Oe+(Le*136|0)+28+(Ae*36|0)+4|0;ge=Oe+(Le*136|0)+28+(Ae*36|0)+16|0;ye=((_e|0)<0)<<31>>31;we=0;do{r=h[me>>2]|0;be=r+(we*40|0)+16|0;ke=r+(we*40|0)+20|0;if(ue(h[ke>>2]|0,h[be>>2]|0)|0){de=r+(we*40|0)+24|0;he=0;do{ce=h[de>>2]|0;a=h[ce+(he*52|0)+12>>2]|0;i=a-(h[pe>>2]|0)|0;l=h[ce+(he*52|0)+16>>2]|0;r=l-(h[ve>>2]|0)|0;f=h[ge>>2]|0;if(f&1){oe=h[Ne>>2]|0;i=(h[oe+(Pe*136|0)+8>>2]|0)+i-(h[oe+(Pe*136|0)>>2]|0)|0}if(f&2){oe=h[Ne>>2]|0;r=(h[oe+(Pe*136|0)+12>>2]|0)+r-(h[oe+(Pe*136|0)+4>>2]|0)|0}if(!($a(e,(h[ce+(he*52|0)+20>>2]|0)-a|0,(h[ce+(he*52|0)+24>>2]|0)-l|0)|0)){i=0;Qe=173;break e}s=h[ze>>2]|0;o=h[Ve>>2]|0;u=Fe-s|0;v=(ue(r,Fe)|0)+i|0;g=h[Ie>>2]|0;h[Ge>>2]=g+(v<<2);h[Ke>>2]=Fe;i=(o|0)==0;if((h[Be>>2]|0)==1){if(!i){a=(s|0)==0;l=0;i=0;while(1){if(!a){r=0;f=i;while(1){oe=g+(f+v<<2)|0;h[oe>>2]=h[oe>>2]<<6;r=r+1|0;if((r|0)==(s|0))break;else f=f+1|0}i=s+i|0}l=l+1|0;if((l|0)==(o|0))break;else i=i+u|0}}}else if(!i){a=(s|0)==0;l=0;i=0;while(1){if(!a){r=0;f=i;while(1){oe=g+(f+v<<2)|0;se=h[oe>>2]|0;se=Qs(se|0,((se|0)<0)<<31>>31|0,_e|0,ye|0)|0;se=zs(se|0,j|0,4096,0)|0;se=Vs(se|0,j|0,18)|0;h[oe>>2]=se;r=r+1|0;if((r|0)==(s|0))break;else f=f+1|0}i=s+i|0}l=l+1|0;if((l|0)==(o|0))break;else i=i+u|0}}fe=h[ge>>2]|0;ae=(h[Ue>>2]|0)+Se|0;u=h[Be>>2]|0;le=+_[Ee>>2];se=h[Ce>>2]|0;oe=h[e>>2]|0;a=h[ze>>2]|0;do{if(!a)i=0;else{l=h[Ve>>2]|0;s=(l|0)==0;o=0;i=0;do{if(!s){r=h[Ke>>2]|0;f=0;do{ne=g+(v+((ue(f,r)|0)+o)<<2)|0;ne=h[ne>>2]|0;ne=(ne|0)>-1?ne:0-ne|0;i=(i|0)>(ne|0)?i:ne;f=f+1|0}while((f|0)!=(l|0))}o=o+1|0}while((o|0)!=(a|0));if(!i){i=0;break}if((i|0)>1){r=i;i=0}else{i=-5;break}while(1){r=r>>1;if((r|0)<=1)break;else i=i+1|0}i=i+-4|0}}while(0);te=ce+(he*52|0)+28|0;h[te>>2]=i;i=i+-1|0;_l(oe);ml(oe,18,0,46);ml(oe,17,0,3);ml(oe,0,0,4);ne=ce+(he*52|0)|0;cl(oe,h[ne>>2]|0);i:do{if((i|0)>-1){ie=ce+(he*52|0)+8|0;G=se&1;re=(G|0)!=0;K=(u|0)==1;W=(se&4|0)==0;G=(G|0)==0;Z=(se&2|0)==0;Q=(se&8|0)==0;$=fe<<8;ee=(se&32|0)==0;r=0;X=i;z=0.0;i=0;V=2;while(1){q=h[ie>>2]|0;D=re&(V>>>0<2?(X|0)<((h[te>>2]|0)+-4|0):0);r:do{switch(V|0){case 0:{L=1<<X+6;r=h[Ve>>2]|0;if(!r){a=0;break r}C=(X|0)==0;l=h[ze>>2]|0;f=l;a=0;R=0;do{O=R;R=R+4|0;if(!f)f=0;else{S=(O|0)==-4;P=O|3;f=l;T=0;do{if(!S){M=O;do{r=h[Ve>>2]|0;if(M>>>0>=r>>>0)break;do{if(Q)r=0;else{if((M|0)==(P|0)){r=1;break}r=(M|0)==(r+-1|0)}}while(0);s=M;M=M+1|0;v=(ue(h[Ye>>2]|0,M)|0)+T|0;g=v+1|0;y=h[qe>>2]|0;A=y+(g<<1)|0;s=(ue(h[Ke>>2]|0,s)|0)+T|0;s=(h[Ge>>2]|0)+(s<<2)|0;E=h[e>>2]|0;o=d[A>>1]|0;o=r?o&-1095:o;r=o&255;if((r|0)!=0&(o&20480|0)==0){f=h[s>>2]|0;f=(((f|0)<0?0-f|0:f)&L|0)!=0;l=f&1;u=E+100|0;h[u>>2]=E+24+(b[20267+(r|$)>>0]<<2);if(D)kl(E,l);else dl(E,l);if(f){r=h[s>>2]|0;f=r>>>31;r=(r|0)<0?0-r|0:r;if(C)r=3708+((r&127)<<1)|0;else r=3452+((r>>>X&127)<<1)|0;a=(d[r>>1]|0)+a|0;r=o>>>4&255;h[u>>2]=E+24+(b[21291+r>>0]<<2);if(D)kl(E,f);else dl(E,b[21547+r>>0]^f);H=h[Ye>>2]|0;Y=y+(g-H<<1)|0;U=y+(H+g<<1)|0;F=y+(g+~H<<1)|0;d[F>>1]=k[F>>1]|2;d[Y>>1]=d[Y>>1]|d[3436+(f<<1)>>1];Y=v+2|0;F=y+(Y-H<<1)|0;d[F>>1]=k[F>>1]|4;F=y+(v<<1)|0;d[F>>1]=d[F>>1]|d[3436+((f|2)<<1)>>1];d[A>>1]=k[A>>1]|4096;F=y+(Y<<1)|0;d[F>>1]=d[F>>1]|d[3436+((f|4)<<1)>>1];F=y+(H+v<<1)|0;d[F>>1]=k[F>>1]|1;d[U>>1]=d[U>>1]|d[3436+((f|6)<<1)>>1];Y=y+(H+Y<<1)|0;d[Y>>1]=k[Y>>1]|8}d[A>>1]=k[A>>1]|16384}}while(M>>>0<R>>>0);f=h[ze>>2]|0}T=T+1|0}while(T>>>0<f>>>0);r=h[Ve>>2]|0;l=f}}while(R>>>0<r>>>0);break}case 1:{T=1<<X+6;r=h[Ve>>2]|0;if(!r){a=0;break r}S=(X|0)==0;l=h[ze>>2]|0;f=l;a=0;M=0;do{A=M;M=M+4|0;if(!f)f=0;else{y=(A|0)==-4;E=A|3;f=l;g=0;do{v=g;g=g+1|0;if(!y){u=A;do{r=h[Ve>>2]|0;if(u>>>0>=r>>>0)break;do{if(Q)r=0;else{if((u|0)==(E|0)){r=1;break}r=(u|0)==(r+-1|0)}}while(0);f=u;u=u+1|0;s=(ue(h[Ye>>2]|0,u)|0)+g|0;s=(h[qe>>2]|0)+(s<<1)|0;o=h[e>>2]|0;l=d[s>>1]|0;l=r?l&-1095:l;if((l&20480|0)==4096){f=(h[Ge>>2]|0)+((ue(h[Ke>>2]|0,f)|0)+v<<2)|0;f=h[f>>2]|0;f=(f|0)<0?0-f|0:f;if(S)r=4220+((f&127)<<1)|0;else r=3964+((f>>>X&127)<<1)|0;a=(d[r>>1]|0)+a|0;r=(f&T|0)!=0&1;h[o+100>>2]=o+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);if(D)kl(o,r);else dl(o,r);d[s>>1]=k[s>>1]|8192}}while(u>>>0<M>>>0);f=h[ze>>2]|0}}while(g>>>0<f>>>0);r=h[Ve>>2]|0;l=f}}while(M>>>0<r>>>0);break}case 2:{B=h[e>>2]|0;N=1<<X+6;f=h[Ve>>2]|0;if(!f)r=0;else{F=B+92|0;U=B+100|0;H=B+96|0;Y=(X|0)==0;a=h[ze>>2]|0;r=0;I=0;while(1){if(!a){l=I+4|0;a=0}else{P=I|3;O=I|1;R=O+1|0;L=O+3|0;l=I+4|0;C=I+1|0;D=I+2|0;x=I+3|0;S=0;while(1){do{if(P>>>0<f>>>0){f=h[Ye>>2]|0;o=S+1|0;s=(ue(f,O)|0)+o|0;a=h[qe>>2]|0;s=d[a+(s<<1)>>1]|0;if(Q){M=a+((ue(f,R)|0)+o<<1)|0;T=a+((ue(f,P)|0)+o<<1)|0;f=a+((ue(f,L)|0)+o<<1)|0;f=((d[M>>1]|s|d[T>>1]|d[f>>1])&20735)==0&1}else{do{if(!(s&20735)){T=a+((ue(f,R)|0)+o<<1)|0;if(d[T>>1]&20735){f=1;break}T=a+((ue(f,P)|0)+o<<1)|0;if(d[T>>1]&20735){f=1;break}f=a+((ue(f,L)|0)+o<<1)|0;f=(d[f>>1]&20665)!=0}else f=1}while(0);f=f&1^1}if(!f){T=0;f=0;Qe=109;break}f=h[Ke>>2]|0;a=h[Ge>>2]|0;T=a+((ue(f,I)|0)+S<<2)|0;T=h[T>>2]|0;do{if(!(((T|0)<0?0-T|0:T)&N)){T=a+((ue(f,C)|0)+S<<2)|0;T=h[T>>2]|0;if(((T|0)<0?0-T|0:T)&N){f=1;break}T=a+((ue(f,D)|0)+S<<2)|0;T=h[T>>2]|0;if(((T|0)<0?0-T|0:T)&N){f=2;break}f=a+((ue(f,x)|0)+S<<2)|0;f=h[f>>2]|0;f=(((f|0)<0?0-f|0:f)&N|0)==0?4:3}else f=0}while(0);h[U>>2]=F;dl(B,(f|0)!=4&1);if((f|0)==4){s=o;break}h[U>>2]=H;dl(B,f>>>1);dl(B,f&1);T=1;Qe=109}else{T=0;f=0;Qe=109}}while(0);if((Qe|0)==109){Qe=0;M=f+I|0;t:do{if(M>>>0<l>>>0){A=M;do{f=h[Ve>>2]|0;if(A>>>0>=f>>>0)break t;do{if(Q)f=0;else{if((A|0)==(P|0)){f=1;break}f=(A|0)==(f+-1|0)}}while(0);$e=A;A=A+1|0;u=(ue(h[Ye>>2]|0,A)|0)+S|0;v=u+1|0;g=h[qe>>2]|0;E=g+(v<<1)|0;a=(ue(h[Ke>>2]|0,$e)|0)+S|0;a=(h[Ge>>2]|0)+(a<<2)|0;y=h[e>>2]|0;s=d[E>>1]|0;o=f?s&-1095:s;do{if(!(T&($e|0)==(M|0))){if(s&20480)break;h[y+100>>2]=y+24+(b[20267+(o&255|$)>>0]<<2);$e=h[a>>2]|0;$e=((($e|0)<0?0-$e|0:$e)&N|0)!=0;dl(y,$e&1);if($e)Qe=117}else Qe=117}while(0);if((Qe|0)==117){Qe=0;a=h[a>>2]|0;f=(a|0)<0?0-a|0:a;if(Y)f=3708+((f&127)<<1)|0;else f=3452+((f>>>X&127)<<1)|0;r=(d[f>>1]|0)+r|0;$e=o>>>4&255;h[y+100>>2]=y+24+(b[21291+$e>>0]<<2);s=a>>>31;dl(y,b[21547+$e>>0]^s);y=h[Ye>>2]|0;$e=g+(v-y<<1)|0;o=g+(y+v<<1)|0;v=g+(v+~y<<1)|0;d[v>>1]=k[v>>1]|2;d[$e>>1]=d[$e>>1]|d[3436+(s<<1)>>1];$e=u+2|0;v=g+($e-y<<1)|0;d[v>>1]=k[v>>1]|4;v=g+(u<<1)|0;d[v>>1]=d[v>>1]|d[3436+((s|2)<<1)>>1];d[E>>1]=k[E>>1]|4096;v=g+($e<<1)|0;d[v>>1]=d[v>>1]|d[3436+((s|4)<<1)>>1];v=g+(y+u<<1)|0;d[v>>1]=k[v>>1]|1;d[o>>1]=d[o>>1]|d[3436+((s|6)<<1)>>1];$e=g+(y+$e<<1)|0;d[$e>>1]=k[$e>>1]|8}d[E>>1]=k[E>>1]&49151}while(A>>>0<l>>>0)}}while(0);s=S+1|0}a=h[ze>>2]|0;f=h[Ve>>2]|0;if(s>>>0<a>>>0)S=s;else break}}if(l>>>0<f>>>0)I=l;else break}}if(ee){a=r;break r}gl(oe);a=r;break}default:a=r}}while(0);if(xe)w=+m[De>>3];else w=1.0;if(K)p=+Ia(ae,fe);else p=+Fa(ae,fe);p=+(1<<X|0)*(le*(w*p));p=p*(+(a|0)*p*.0001220703125);z=z+p;m[Je>>3]=+m[Je>>3]+p;do{if(W)Qe=137;else{if((X|0)<1&(V|0)==2){Qe=137;break}hl(oe);f=q+(i*24|0)+20|0;r=c[f>>0]|1;c[f>>0]=r;f=1}}while(0);do{if((Qe|0)==137){r=(h[te>>2]|0)+-4|0;if((V|0)!=0&(X|0)<(r|0))if(G)Qe=141;else Qe=140;else if(G|((V|0)!=2|(X|0)!=(r|0)))Qe=141;else Qe=140;if((Qe|0)==140){Qe=0;hl(oe);f=q+(i*24|0)+20|0;r=c[f>>0]|1;c[f>>0]=r;f=1;break}else if((Qe|0)==141){Qe=0;f=q+(i*24|0)+20|0;r=c[f>>0]&-2;c[f>>0]=r;f=3;break}}}while(0);Y=V+1|0;$e=(Y|0)==3;V=$e?0:Y;X=($e<<31>>31)+X|0;do{if((X|0)>0&(r&1)!=0)if(re&(V>>>0<2?(X|0)<((h[te>>2]|0)+-4|0):0)){bl(oe);break}else{pl(oe);break}}while(0);m[q+(i*24|0)+8>>3]=z;$e=(ul(oe)|0)+f|0;h[q+(i*24|0)>>2]=$e;if(!Z)wl(oe);i=i+1|0;if((X|0)<=-1)break i;else r=a}}else i=0}while(0);do{if(!(se&16)){if(se&1)break;hl(oe)}else vl(oe)}while(0);o=ce+(he*52|0)+48|0;h[o>>2]=i;if(i){a=ce+(he*52|0)+8|0;s=0;do{l=h[a>>2]|0;r=l+(s*24|0)|0;$e=h[r>>2]|0;if($e>>>0>(ul(oe)|0)>>>0){i=ul(oe)|0;h[r>>2]=i}else i=h[r>>2]|0;do{if(i>>>0>1){f=i+-1|0;if((c[(h[ne>>2]|0)+f>>0]|0)!=-1)break;h[r>>2]=f;i=f}}while(0);if(!s)r=0;else r=h[(h[a>>2]|0)+((s+-1|0)*24|0)>>2]|0;h[l+(s*24|0)+16>>2]=i-r;s=s+1|0}while(s>>>0<(h[o>>2]|0)>>>0)}he=he+1|0}while(he>>>0<(ue(h[ke>>2]|0,h[be>>2]|0)|0)>>>0);i=h[Te>>2]|0;f=h[Me>>2]|0}we=we+1|0}while(we>>>0<(ue(i,f)|0)>>>0);r=h[Re>>2]|0}Ae=Ae+1|0}while(Ae>>>0<r>>>0);i=h[Ue>>2]|0}Le=Le+1|0}while(Le>>>0<i>>>0);i=h[Ze>>2]|0}je=je+1|0;if(je>>>0>=i>>>0){i=1;Qe=173;break}}if((Qe|0)==173)return i|0;return 0}function $a(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=ue(r,i)|0;if(!(h[e+40>>2]|0)){a=e+24|0;l=e+8|0;t=h[l>>2]|0;do{if(f>>>0>(h[a>>2]|0)>>>0){Jn(t);n=f<<2;t=Wn(n)|0;h[l>>2]=t;if(!t){i=0;return i|0}else{h[a>>2]=f;break}}else n=f<<2}while(0);qs(t|0,0,n|0)|0}f=i+2|0;h[e+32>>2]=f;f=ue(r+2|0,f)|0;a=e+28|0;l=e+12|0;t=h[l>>2]|0;do{if(f>>>0>(h[a>>2]|0)>>>0){Jn(t);n=f<<1;t=Wn(n)|0;h[l>>2]=t;if(!t){i=0;return i|0}else{h[a>>2]=f;break}}else n=f<<1}while(0);qs(t|0,0,n|0)|0;h[e+16>>2]=i;h[e+20>>2]=r;i=1;return i|0}function el(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;f=h[e>>2]|0;l=d[i>>1]|0;s=l&255;if(!((s|0)!=0&(l&20480|0)==0))return;a=f+100|0;h[a>>2]=f+24+(b[20267+(s|t<<8)>>0]<<2);if(El(f)|0){t=l>>>4&255;h[a>>2]=f+24+(b[21291+t>>0]<<2);l=El(f)|0;t=b[21547+t>>0]|0;s=t^l;h[r>>2]=(l|0)!=(t|0)?0-n|0:n;e=h[e+32>>2]|0;n=i+(0-e<<1)|0;t=i+(e<<1)|0;r=i+(~e<<1)|0;d[r>>1]=k[r>>1]|2;d[n>>1]=d[n>>1]|d[3436+(s<<1)>>1];n=i+(1-e<<1)|0;d[n>>1]=k[n>>1]|4;n=i+-2|0;d[n>>1]=d[n>>1]|d[3436+(s+2<<1)>>1];d[i>>1]=k[i>>1]|4096;n=i+2|0;d[n>>1]=d[n>>1]|d[3436+(s+4<<1)>>1];n=i+(e+-1<<1)|0;d[n>>1]=k[n>>1]|1;d[t>>1]=d[t>>1]|d[3436+(s+6<<1)>>1];e=i+(e+1<<1)|0;d[e>>1]=k[e>>1]|8}d[i>>1]=k[i>>1]|16384;return}function il(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;f=h[e>>2]|0;l=d[i>>1]|0;if(l&20480){e=d[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;d[i>>1]=e;return}a=f+100|0;h[a>>2]=f+24+(b[20267+(l&255|t<<8)>>0]<<2);if(!(El(f)|0)){e=d[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;d[i>>1]=e;return}t=l>>>4&255;h[a>>2]=f+24+(b[21291+t>>0]<<2);a=El(f)|0;t=b[21547+t>>0]|0;l=t^a;h[r>>2]=(a|0)!=(t|0)?0-n|0:n;e=h[e+32>>2]|0;n=i+(0-e<<1)|0;t=i+(e<<1)|0;r=i+(~e<<1)|0;d[r>>1]=k[r>>1]|2;d[n>>1]=d[n>>1]|d[3436+(l<<1)>>1];n=i+(1-e<<1)|0;d[n>>1]=k[n>>1]|4;n=i+-2|0;d[n>>1]=d[n>>1]|d[3436+(l+2<<1)>>1];d[i>>1]=k[i>>1]|4096;n=i+2|0;d[n>>1]=d[n>>1]|d[3436+(l+4<<1)>>1];n=i+(e+-1<<1)|0;d[n>>1]=k[n>>1]|1;d[t>>1]=d[t>>1]|d[3436+(l+6<<1)>>1];e=i+(e+1<<1)|0;d[e>>1]=k[e>>1]|8;e=d[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;d[i>>1]=e;return}function rl(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;var k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;D=v;v=v+16|0;C=D;h[C>>2]=0;k=h[e>>2]|0;P=h[e+4>>2]|0;e=h[P+76>>2]|0;R=e+(i*5640|0)|0;_=(d[P>>1]|0)==4?2:1;m=P+80|0;if(!(h[m>>2]|0))w=1;else w=h[k+16>>2]|0;L=(h[e+(i*5640|0)+420>>2]|0)+1|0;O=Cr(k,P,i,c)|0;if(!O){i=0;v=D;return i|0}h[f>>2]=0;e:do{if(!c){if(w){e=0;i:while(1){c=0;u=O;k=0;while(1){Dr(O,P,i,k,e,o,0);if((h[u+80>>2]|0)==-1){e=9;break i}s=u+36|0;r:while(1){do{if(!(Ir(u)|0))break r}while((h[s>>2]|0)>>>0>=t>>>0);h[C>>2]=0;if(!(al(i,r,R,u,n,C,a,l)|0)){e=13;break i}S=h[C>>2]|0;h[f>>2]=(h[f>>2]|0)+S;a=a-S|0;c=S+c|0;n=n+S|0}S=h[m>>2]|0;if((S|0)!=0&c>>>0>S>>>0){e=17;break i}k=k+1|0;if(k>>>0<_>>>0)u=u+232|0;else break}e=e+1|0;if(e>>>0>=w>>>0)break e}if((e|0)==9){Lr(O,L);i=0;v=D;return i|0}else if((e|0)==13){Lr(O,L);i=0;v=D;return i|0}else if((e|0)==17){Lr(O,L);i=0;v=D;return i|0}}}else{Dr(O,P,i,u,s,o,c);M=O+(u*232|0)|0;if((h[O+(u*232|0)+80>>2]|0)==-1){Lr(O,L);i=0;v=D;return i|0}o=O+(u*232|0)+36|0;p=(l|0)==0;g=r+840|0;y=l+12|0;E=l+8|0;A=l+88|0;m=P+93|0;_=e+(i*5640|0)+5636|0;while(1){do{if(!(Ir(M)|0))break e}while((h[o>>2]|0)>>>0>=t>>>0);h[C>>2]=0;if(!(al(i,r,R,M,n,C,a,l)|0))break;w=h[C>>2]|0;n=n+w|0;a=a-w|0;h[f>>2]=(h[f>>2]|0)+w;if(!p){if(!(h[y>>2]|0))e=h[E>>2]|0;else{k=h[A>>2]|0;e=h[E>>2]|0;u=h[k+(i*592|0)+548>>2]|0;c=u+(e<<5)|0;if(!e){s=(h[k+(i*592|0)+12>>2]|0)+1|0;k=((s|0)<0)<<31>>31;P=c;h[P>>2]=s;h[P+4>>2]=k}else{if((((b[_>>0]|0)>>>2|(b[m>>0]|0)>>>3)&1)!=0?(S=c,T=h[S>>2]|0,S=h[S+4>>2]|0,!((T|0)==0&(S|0)==0)):0){s=T;k=S}else{s=u+(e+-1<<5)+16|0;s=zs(h[s>>2]|0,h[s+4>>2]|0,1,0)|0;k=j}P=c;h[P>>2]=s;h[P+4>>2]=k}c=zs(s|0,k|0,-1,-1)|0;s=j;w=zs(c|0,s|0,w|0,0)|0;P=u+(e<<5)+16|0;h[P>>2]=w;h[P+4>>2]=j;P=u+(e<<5)+8|0;w=P;w=zs(c|0,s|0,h[w>>2]|0,h[w+4>>2]|0)|0;h[P>>2]=w;h[P+4>>2]=j}h[E>>2]=e+1}h[g>>2]=(h[g>>2]|0)+1}Lr(O,L);i=0;v=D;return i|0}}while(0);Lr(O,L);i=1;v=D;return i|0}function tl(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0;Q=v;v=v+112|0;K=Q+64|0;W=Q+32|0;X=Q;q=Q+96|0;Y=Q+92|0;s=h[e>>2]|0;F=e+4|0;Z=h[F>>2]|0;a=h[Z+76>>2]|0;j=a+(i*5640|0)|0;H=a+(i*5640|0)+420|0;J=(h[H>>2]|0)+1|0;Z=Rr(s,Z,i)|0;if(!Z){$=0;v=Q;return $|0}U=s+16|0;N=a+(i*5640|0)+12|0;B=r+20|0;I=s+24|0;i=f;e=t;D=Z;x=0;e:while(1){if((h[D+80>>2]|0)==-1){$=4;break}a=Gn(h[U>>2]<<2)|0;if(!a){$=6;break}qs(a|0,1,h[U>>2]<<2|0)|0;if(Ir(D)|0){f=D+24|0;r=D+28|0;C=D+36|0;s=D+32|0;L=i;R=e;while(1){if((h[N>>2]|0)>>>0>(h[C>>2]|0)>>>0){i=h[f>>2]|0;e=h[B>>2]|0;if((h[r>>2]|0)>>>0<(h[e+(i*52|0)+20>>2]|0)>>>0){h[a+(i<<2)>>2]=0;O=h[F>>2]|0;h[Y>>2]=0;if(!(ll(O,e,j,D,q,R,Y,L,l)|0)){$=45;break e}P=h[Y>>2]|0;if(!(h[q>>2]|0))e=P;else{S=L-P|0;M=R+P|0;h[Y>>2]=0;i=h[r>>2]|0;o=h[(h[B>>2]|0)+((h[f>>2]|0)*52|0)+24>>2]|0;E=o+(i*136|0)+24|0;e=h[E>>2]|0;i:do{if(!e){e=M;$=43}else{A=R+L|0;u=e;O=0;y=o+(i*136|0)+28|0;o=M;r:while(1){e=h[s>>2]|0;i=h[y+20>>2]|0;if(((h[y+8>>2]|0)!=(h[y>>2]|0)?(h[y+12>>2]|0)!=(h[y+4>>2]|0):0)?(G=ue(h[i+(e*40|0)+20>>2]|0,h[i+(e*40|0)+16>>2]|0)|0,(G|0)!=0):0){T=0;e=h[i+(e*40|0)+24>>2]|0;b=o;while(1){p=e+40|0;if(!(h[p>>2]|0))i=b;else{g=e+44|0;i=h[g>>2]|0;do{if(!i){d=h[e+4>>2]|0;h[g>>2]=1;h[e+36>>2]=0}else{o=i+-1|0;u=h[e+4>>2]|0;if((h[u+(o<<5)+8>>2]|0)!=(h[u+(o<<5)+20>>2]|0)){d=u+(o<<5)|0;break}h[g>>2]=i+1;d=u+(i<<5)|0}}while(0);m=e+36|0;i=e+32|0;_=b;c=d+28|0;o=h[c>>2]|0;if((o+_|0)>>>0<_>>>0|(b+o|0)>>>0>A>>>0){i=O;e=T;break r}u=h[m>>2]|0;_=b;w=d;while(1){d=o+u|0;if(d>>>0<u>>>0){i=O;e=T;$=29;break e}b=h[e>>2]|0;if(d>>>0>(h[i>>2]|0)>>>0){o=Zn(b,d)|0;if(!o){$=32;break e}u=h[m>>2]|0;k=h[c>>2]|0;h[i>>2]=k+u;h[e>>2]=o;b=o;o=k}Gs(b+u|0,_|0,o|0)|0;o=w+8|0;u=h[o>>2]|0;if(!u){h[w>>2]=e;d=h[m>>2]|0;h[w+4>>2]=d}else d=h[m>>2]|0;b=h[c>>2]|0;k=_;_=_+b|0;c=h[w+24>>2]|0;u=c+u|0;h[o>>2]=u;o=h[p>>2]|0;h[p>>2]=o-c;h[w+12>>2]=u;u=b+d|0;h[m>>2]=u;d=w+16|0;h[d>>2]=(h[d>>2]|0)+b;if((o|0)==(c|0)){i=_;break}h[g>>2]=(h[g>>2]|0)+1;d=_;c=w+60|0;o=h[c>>2]|0;if((o+d|0)>>>0<d>>>0?1:(k+(o+b)|0)>>>0>A>>>0){i=O;e=T;break r}else w=w+32|0}h[e+48>>2]=h[g>>2]}T=T+1|0;if(T>>>0>=G>>>0){e=i;break}else{e=e+56|0;b=i}}i=h[E>>2]|0}else{i=u;e=o}O=O+1|0;if(O>>>0>=i>>>0){$=43;break i}else{u=i;y=y+36|0;o=e}}M=h[s>>2]|0;T=h[r>>2]|0;O=h[f>>2]|0;h[X>>2]=o;h[X+4>>2]=S;h[X+8>>2]=e;h[X+12>>2]=M;h[X+16>>2]=i;h[X+20>>2]=T;h[X+24>>2]=O;Zt(l,2,21803,X)|0;e=h[Y>>2]|0}}while(0);if(($|0)==43){$=0;e=e-M|0;h[Y>>2]=e}e=e+P|0}o=h[f>>2]|0;P=h[r>>2]|0;i=(h[I>>2]|0)+(o*52|0)+36|0;O=h[i>>2]|0;h[i>>2]=P>>>0>O>>>0?P:O;i=e}else $=47}else{e=h[B>>2]|0;$=47}if(($|0)==47){$=0;O=h[F>>2]|0;h[Y>>2]=0;if(!(ll(O,e,j,D,q,R,Y,L,l)|0)){$=69;break e}p=h[Y>>2]|0;if(!(h[q>>2]|0))e=p;else{o=L-p|0;y=h[r>>2]|0;E=h[f>>2]|0;e=h[(h[B>>2]|0)+(E*52|0)+24>>2]|0;h[Y>>2]=0;m=h[e+(y*136|0)+24>>2]|0;if(!m)e=0;else{g=h[s>>2]|0;i=0;_=e+(y*136|0)+28|0;while(1){u=h[_+20>>2]|0;if(((h[_+8>>2]|0)!=(h[_>>2]|0)?(h[_+12>>2]|0)!=(h[_+4>>2]|0):0)?(z=ue(h[u+(g*40|0)+20>>2]|0,h[u+(g*40|0)+16>>2]|0)|0,(z|0)!=0):0){e=0;w=h[u+(g*40|0)+24>>2]|0;while(1){b=w+40|0;i:do{if(h[b>>2]|0){k=w+44|0;u=h[k>>2]|0;do{if(!u){d=h[w+4>>2]|0;h[k>>2]=1;h[w+36>>2]=0}else{c=u+-1|0;d=h[w+4>>2]|0;if((h[d+(c<<5)+8>>2]|0)!=(h[d+(c<<5)+20>>2]|0)){d=d+(c<<5)|0;break}h[k>>2]=u+1;d=d+(u<<5)|0}}while(0);O=h[Y>>2]|0;u=h[d+28>>2]|0;c=u+O|0;if(c>>>0<O>>>0|c>>>0>o>>>0){f=g;r=y;s=E;$=65;break e}while(1){h[Y>>2]=c;O=h[d+24>>2]|0;P=d+8|0;h[P>>2]=(h[P>>2]|0)+O;P=h[b>>2]|0;h[b>>2]=P-O;if((P|0)==(O|0))break i;h[k>>2]=(h[k>>2]|0)+1;O=h[Y>>2]|0;u=h[d+60>>2]|0;c=u+O|0;if(c>>>0<O>>>0|c>>>0>o>>>0){f=g;r=y;s=E;$=65;break e}else d=d+32|0}}}while(0);e=e+1|0;if(e>>>0>=z>>>0)break;else w=w+56|0}}i=i+1|0;if(i>>>0>=m>>>0)break;else _=_+36|0}e=h[Y>>2]|0}e=e+p|0}o=h[f>>2]|0;i=e}if((h[a+(o<<2)>>2]|0)!=0?(V=(h[I>>2]|0)+(o*52|0)+36|0,(h[V>>2]|0)==0):0)h[V>>2]=(h[(h[B>>2]|0)+(o*52|0)+20>>2]|0)+-1;e=R+i|0;i=L-i|0;if(!(Ir(D)|0))break;else{L=i;R=e}}}Qn(a);x=x+1|0;if(x>>>0>(h[H>>2]|0)>>>0){a=e;$=75;break}else D=D+232|0}if(($|0)==4){Lr(Z,J);$=0;v=Q;return $|0}else if(($|0)==6){Lr(Z,J);$=0;v=Q;return $|0}else if(($|0)==29){n=h[s>>2]|0;t=h[r>>2]|0;K=h[f>>2]|0;h[W>>2]=o;h[W+4>>2]=u;h[W+8>>2]=~o;h[W+12>>2]=e;h[W+16>>2]=n;h[W+20>>2]=i;h[W+24>>2]=t;h[W+28>>2]=K;Zt(l,1,21888,W)|0;$=45}else if(($|0)==32){Qn(h[e>>2]|0);h[e>>2]=0;h[i>>2]=0;$=45}else if(($|0)==65){h[K>>2]=u;h[K+4>>2]=o;h[K+8>>2]=e;h[K+12>>2]=f;h[K+16>>2]=i;h[K+20>>2]=r;h[K+24>>2]=s;Zt(l,1,21987,K)|0;$=69}else if(($|0)==75){Lr(Z,J);h[n>>2]=a-t;$=1;v=Q;return $|0}if(($|0)==45){Lr(Z,J);Qn(a);$=0;v=Q;return $|0}else if(($|0)==69){Lr(Z,J);Qn(a);$=0;v=Q;return $|0}return 0}function nl(e,i){e=e|0;i=i|0;var r=0;r=Kn(1,8)|0;if(!r){e=0;return e|0}h[r>>2]=e;h[r+4>>2]=i;e=r;return e|0}function fl(e){e=e|0;if(!e)return;Qn(e);return}function al(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0.0,I=0,B=0;_=h[t+28>>2]|0;I=h[t+32>>2]|0;B=h[t+36>>2]|0;w=h[(h[i+20>>2]|0)+((h[t+24>>2]|0)*52|0)+24>>2]|0;if(!(h[r>>2]&2))C=n;else{c[n>>0]=-1;c[n+1>>0]=-111;c[n+2>>0]=0;c[n+3>>0]=4;C=i+840|0;c[n+4>>0]=(h[C>>2]|0)>>>8;c[n+5>>0]=h[C>>2];a=a+-6|0;C=n+6|0}if((B|0)==0?(k=w+(_*136|0)+24|0,(h[k>>2]|0)!=0):0){d=w+(_*136|0)+28|0;b=0;while(1){t=h[d+20>>2]|0;ft(h[t+(I*40|0)+32>>2]|0);o=t+(I*40|0)+36|0;ft(h[o>>2]|0);u=ue(h[t+(I*40|0)+20>>2]|0,h[t+(I*40|0)+16>>2]|0)|0;if(u){t=t+(I*40|0)+24|0;i=d+28|0;s=0;do{D=h[t>>2]|0;h[D+(s*52|0)+40>>2]=0;ba(h[o>>2]|0,s,(h[i>>2]|0)-(h[D+(s*52|0)+28>>2]|0)|0);s=s+1|0}while((s|0)!=(u|0))}b=b+1|0;if(b>>>0>=(h[k>>2]|0)>>>0)break;else d=d+36|0}}R=Ea()|0;if(!R){f=0;return f|0}Ta(R,C,a);Pa(R,1,1);L=w+(_*136|0)+28|0;D=w+(_*136|0)+24|0;if(h[D>>2]|0){T=B+1|0;P=L;O=0;while(1){u=h[P+20>>2]|0;S=ue(h[u+(I*40|0)+20>>2]|0,h[u+(I*40|0)+16>>2]|0)|0;d=u+(I*40|0)+24|0;t=(S|0)==0;if(!t){i=u+(I*40|0)+32|0;s=h[d>>2]|0;o=0;while(1){if((h[s+40>>2]|0)==0?(h[(h[s+4>>2]|0)+(B*24|0)>>2]|0)!=0:0)ba(h[i>>2]|0,o,B);o=o+1|0;if((o|0)==(S|0))break;else s=s+52|0}if(!t){M=u+(I*40|0)+32|0;A=u+(I*40|0)+36|0;y=h[d>>2]|0;E=0;while(1){t=(h[y+4>>2]|0)+(B*24|0)|0;g=y+40|0;if(!(h[g>>2]|0))ka(R,h[M>>2]|0,E,T);else Pa(R,(h[t>>2]|0)!=0&1,1);i=h[t>>2]|0;if(i){if(!(h[g>>2]|0)){h[y+32>>2]=3;ka(R,h[A>>2]|0,E,999);i=h[t>>2]|0}e:do{switch(i|0){case 1:{Pa(R,0,1);break}case 2:{Pa(R,2,2);break}default:{if(i>>>0<6){Pa(R,i+-3|12,4);break e}if(i>>>0<37){Pa(R,i+-6|480,9);break e}if(i>>>0<165)Pa(R,i+-37|65408,16)}}}while(0);d=h[g>>2]|0;i=h[t>>2]|0;v=i+d|0;p=y+8|0;if(d>>>0<v>>>0){_=y+32|0;k=d+-1+i|0;o=0;u=0;s=0;w=(h[p>>2]|0)+(d*24|0)|0;while(1){s=s+1|0;u=(h[w+16>>2]|0)+u|0;if((c[w+20>>0]&1)!=0|(d|0)==(k|0)){if((u|0)>1){i=0;do{u=u>>1;i=i+1|0}while((u|0)>1)}else i=0;b=h[_>>2]|0;if((s|0)>1){u=0;do{s=s>>1;u=u+1|0}while((s|0)>1);s=u}else s=0;u=i+1-b-s|0;o=(o|0)>(u|0)?o:u;u=0;s=0}d=d+1|0;if((d|0)==(v|0))break;else w=w+24|0}if((o|0)>0){i=o;while(1){Pa(R,1,1);if((i|0)>1)i=i+-1|0;else{i=u;break}}}else i=u}else{o=0;i=0;s=0}Pa(R,0,1);k=y+32|0;h[k>>2]=(h[k>>2]|0)+o;o=h[g>>2]|0;if(o>>>0<v>>>0){b=(h[p>>2]|0)+(o*24|0)|0;while(1){s=s+1|0;u=(h[b+16>>2]|0)+i|0;if((c[b+20>>0]&1)==0?(o|0)!=((h[g>>2]|0)+-1+(h[t>>2]|0)|0):0)i=u;else{d=h[k>>2]|0;if((s|0)>1){i=0;do{s=s>>1;i=i+1|0}while((s|0)>1)}else i=0;Pa(R,u,i+d|0);i=0;s=0}o=o+1|0;if((o|0)==(v|0))break;else b=b+24|0}}}E=E+1|0;if((E|0)==(S|0))break;else y=y+52|0}}}O=O+1|0;if(O>>>0>=(h[D>>2]|0)>>>0)break;else P=P+36|0}}if(!(Ra(R)|0)){Aa(R);f=0;return f|0}i=Ma(R)|0;t=C+i|0;a=a-i|0;Aa(R);if(h[r>>2]&4){c[t>>0]=-1;c[C+(i+1)>>0]=-110;a=a+-2|0;t=C+(i+2)|0}p=(l|0)!=0;if(p?(h[l+12>>2]|0)!=0:0){C=t-n|0;r=(h[(h[l+88>>2]|0)+(e*592|0)+548>>2]|0)+(h[l+8>>2]<<5)+8|0;h[r>>2]=C;h[r+4>>2]=((C|0)<0)<<31>>31}i=h[D>>2]|0;e:do{if(i){v=l+12|0;g=l+8|0;y=l+88|0;w=L;_=0;i:while(1){s=h[w+20>>2]|0;k=ue(h[s+(I*40|0)+20>>2]|0,h[s+(I*40|0)+16>>2]|0)|0;s=h[s+(I*40|0)+24>>2]|0;if(k){if(p){b=0;while(1){d=h[s+4>>2]|0;i=d+(B*24|0)|0;if(h[i>>2]|0){o=d+(B*24|0)+4|0;u=h[o>>2]|0;if(u>>>0>a>>>0){t=0;a=81;break i}Gs(t|0,h[d+(B*24|0)+16>>2]|0,u|0)|0;r=s+40|0;h[r>>2]=(h[r>>2]|0)+(h[i>>2]|0);r=h[o>>2]|0;t=t+r|0;a=a-r|0;if((h[v>>2]|0)!=0?(r=(h[(h[y>>2]|0)+(e*592|0)+548>>2]|0)+(h[g>>2]<<5)+24|0,x=+m[d+(B*24|0)+8>>3]+ +m[r>>3],m[r>>3]=x,+m[l>>3]<x):0)m[l>>3]=x}b=b+1|0;if(b>>>0>=k>>>0)break;else s=s+52|0}}else{b=0;while(1){i=h[s+4>>2]|0;o=i+(B*24|0)|0;if(h[o>>2]|0){u=i+(B*24|0)+4|0;d=h[u>>2]|0;if(d>>>0>a>>>0){t=0;a=81;break i}Gs(t|0,h[i+(B*24|0)+16>>2]|0,d|0)|0;r=s+40|0;h[r>>2]=(h[r>>2]|0)+(h[o>>2]|0);r=h[u>>2]|0;a=a-r|0;t=t+r|0}b=b+1|0;if(b>>>0>=k>>>0)break;else s=s+52|0}}i=h[D>>2]|0}_=_+1|0;if(_>>>0>=i>>>0)break e;else w=w+36|0}if((a|0)==81)return t|0}}while(0);h[f>>2]=t-n+(h[f>>2]|0);f=1;return f|0}function ll(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;var o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0;U=v;v=v+64|0;N=U+40|0;B=U+32|0;E=U+24|0;y=U+16|0;p=U+8|0;m=U;g=U+48|0;F=U+44|0;h[F>>2]=f;M=h[t+28>>2]|0;I=t+24|0;A=h[i+((h[I>>2]|0)*52|0)+24>>2]|0;D=t+36|0;if((h[D>>2]|0)==0?(_=A+(M*136|0)+24|0,o=h[_>>2]|0,(o|0)!=0):0){w=t+32|0;b=0;k=A+(M*136|0)+28|0;while(1){i=h[w>>2]|0;u=h[k+20>>2]|0;if((h[k+8>>2]|0)!=(h[k>>2]|0)?(h[k+12>>2]|0)!=(h[k+4>>2]|0):0){ft(h[u+(i*40|0)+32>>2]|0);ft(h[u+(i*40|0)+36>>2]|0);o=ue(h[u+(i*40|0)+20>>2]|0,h[u+(i*40|0)+16>>2]|0)|0;if(o){d=0;i=h[u+(i*40|0)+24>>2]|0;while(1){h[i+44>>2]=0;h[i+48>>2]=0;d=d+1|0;if((d|0)==(o|0))break;else i=i+56|0}}o=h[_>>2]|0}b=b+1|0;if(b>>>0>=o>>>0)break;else k=k+36|0}}do{if(h[r>>2]&2){if(l>>>0<6){Zt(s,2,22072,m)|0;break}i=h[F>>2]|0;if((c[i>>0]|0)==-1?(c[i+1>>0]|0)==-111:0){h[F>>2]=i+6;break}Zt(s,2,22114,p)|0}}while(0);C=Ea()|0;if(!C){f=0;v=U;return f|0}do{if(!(c[e+96>>0]&1))if(!(c[r+5636>>0]&2)){R=h[F>>2]|0;h[g>>2]=f+l-R;L=F;break}else{L=r+5168|0;R=h[L>>2]|0;g=r+5180|0;break}else{L=e+40|0;R=h[L>>2]|0;g=e+44|0}}while(0);Sa(C,R,h[g>>2]|0);if(!(Oa(C,1)|0)){La(C)|0;o=Ma(C)|0;i=R+o|0;Aa(C);do{if(h[r>>2]&4){if(((h[g>>2]|0)-i+(h[L>>2]|0)|0)>>>0<2){Zt(s,2,22135,y)|0;break}if((c[i>>0]|0)==-1?(c[R+(o+1)>>0]|0)==-110:0){i=R+(o+2)|0;break}Zt(s,2,22177,E)|0}}while(0);h[g>>2]=(h[g>>2]|0)+((h[L>>2]|0)-i);h[L>>2]=i;h[n>>2]=0;h[a>>2]=(h[F>>2]|0)-f;f=1;v=U;return f|0}O=A+(M*136|0)+24|0;i=h[O>>2]|0;e:do{if(i){S=t+32|0;P=r+5584|0;T=0;A=A+(M*136|0)+28|0;i:while(1){o=h[S>>2]|0;u=h[A+20>>2]|0;if(((h[A+8>>2]|0)!=(h[A>>2]|0)?(h[A+12>>2]|0)!=(h[A+4>>2]|0):0)?(x=ue(h[u+(o*40|0)+20>>2]|0,h[u+(o*40|0)+16>>2]|0)|0,(x|0)!=0):0){e=u+(o*40|0)+32|0;t=u+(o*40|0)+36|0;y=A+28|0;E=0;l=h[u+(o*40|0)+24>>2]|0;while(1){o=l+44|0;if(!(h[o>>2]|0))i=wa(C,h[e>>2]|0,E,(h[D>>2]|0)+1|0)|0;else i=Oa(C,1)|0;r:do{if(!i)h[l+40>>2]=0;else{if(!(h[o>>2]|0)){i=0;while(1)if(!(wa(C,h[t>>2]|0,E,i)|0))i=i+1|0;else break;h[l+24>>2]=1-i+(h[y>>2]|0);h[l+28>>2]=3}do{if(Oa(C,1)|0)if(Oa(C,1)|0){i=Oa(C,2)|0;if((i|0)!=3){i=i+3|0;break}i=Oa(C,5)|0;if((i|0)==31){i=(Oa(C,7)|0)+37|0;break}else{i=i+6|0;break}}else i=2;else i=1}while(0);m=l+40|0;h[m>>2]=i;i=0;while(1)if(!(Oa(C,1)|0))break;else i=i+1|0;p=l+28|0;h[p>>2]=(h[p>>2]|0)+i;o=h[o>>2]|0;do{if(!o){u=h[(h[P>>2]|0)+((h[I>>2]|0)*1080|0)+16>>2]|0;i=l+52|0;if(!(h[i>>2]|0)){h[i>>2]=10;d=l+4|0;o=Zn(h[d>>2]|0,320)|0;if(!o){o=i;u=d;i=d;d=66;break i}h[d>>2]=o}else o=h[l+4>>2]|0;h[o>>2]=0;h[o+4>>2]=0;h[o+8>>2]=0;h[o+12>>2]=0;h[o+16>>2]=0;h[o+20>>2]=0;h[o+24>>2]=0;h[o+28>>2]=0;if(u&4){h[o+20>>2]=1;o=0;break}o=o+20|0;if(!(u&1)){h[o>>2]=109;o=0;break}else{h[o>>2]=10;o=0;break}}else{k=o+-1|0;w=l+4|0;u=h[w>>2]|0;if((h[u+(k<<5)+8>>2]|0)!=(h[u+(k<<5)+20>>2]|0)){i=l+52|0;o=k;break}b=h[(h[P>>2]|0)+((h[I>>2]|0)*1080|0)+16>>2]|0;i=l+52|0;d=h[i>>2]|0;if((o+1|0)>>>0>d>>>0){M=d+10|0;h[i>>2]=M;u=Zn(u,M<<5)|0;if(!u){u=w;o=i;i=w;d=77;break i}h[w>>2]=u}M=u+(o<<5)|0;h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;h[M+12>>2]=0;h[M+16>>2]=0;h[M+20>>2]=0;h[M+24>>2]=0;h[M+28>>2]=0;if(b&4){h[u+(o<<5)+20>>2]=1;break}if(!(b&1)){h[u+(o<<5)+20>>2]=109;break}else{M=h[u+(k<<5)+20>>2]|0;h[u+(o<<5)+20>>2]=(M|0)==1|(M|0)==10?2:1;break}}}while(0);_=l+4|0;k=h[m>>2]|0;while(1){b=h[_>>2]|0;u=(h[b+(o<<5)+20>>2]|0)-(h[b+(o<<5)+8>>2]|0)|0;u=(u|0)<(k|0)?u:k;h[b+(o<<5)+24>>2]=u;b=h[p>>2]|0;if(u>>>0>1){d=0;while(1){d=d+1|0;if(u>>>0>3)u=u>>>1;else{u=d;break}}}else u=0;b=Oa(C,u+b|0)|0;u=h[_>>2]|0;h[u+(o<<5)+28>>2]=b;b=k-(h[u+(o<<5)+24>>2]|0)|0;if((b|0)<=0)break r;k=o+1|0;w=h[(h[P>>2]|0)+((h[I>>2]|0)*1080|0)+16>>2]|0;d=h[i>>2]|0;if((o+2|0)>>>0>d>>>0){M=d+10|0;h[i>>2]=M;u=Zn(u,M<<5)|0;if(!u){u=_;o=_;d=90;break i}h[_>>2]=u}M=u+(k<<5)|0;h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;h[M+12>>2]=0;h[M+16>>2]=0;h[M+20>>2]=0;h[M+24>>2]=0;h[M+28>>2]=0;if(w&4){h[u+(k<<5)+20>>2]=1;o=k;k=b;continue}if(!(w&1)){h[u+(k<<5)+20>>2]=109;o=k;k=b;continue}else{M=h[u+(o<<5)+20>>2]|0;h[u+(k<<5)+20>>2]=(M|0)==1|(M|0)==10?2:1;o=k;k=b;continue}}}}while(0);E=E+1|0;if(E>>>0>=x>>>0)break;else l=l+56|0}i=h[O>>2]|0}T=T+1|0;if(T>>>0>=i>>>0)break e;else A=A+36|0}if((d|0)==66){Qn(h[i>>2]|0);h[u>>2]=0;h[o>>2]=0;Aa(C);f=0;v=U;return f|0}else if((d|0)==77){Qn(h[i>>2]|0);h[u>>2]=0;h[o>>2]=0;Aa(C);f=0;v=U;return f|0}else if((d|0)==90){Qn(h[o>>2]|0);h[u>>2]=0;h[i>>2]=0;Aa(C);f=0;v=U;return f|0}}}while(0);if(!(La(C)|0)){Aa(C);f=0;v=U;return f|0}o=Ma(C)|0;i=R+o|0;Aa(C);do{if(h[r>>2]&4){if(((h[g>>2]|0)-i+(h[L>>2]|0)|0)>>>0<2){Zt(s,2,22135,B)|0;break}if((c[i>>0]|0)==-1?(c[R+(o+1)>>0]|0)==-110:0){i=R+(o+2)|0;break}Zt(s,2,22177,N)|0}}while(0);h[g>>2]=(h[g>>2]|0)+((h[L>>2]|0)-i);h[L>>2]=i;h[n>>2]=1;h[a>>2]=(h[F>>2]|0)-f;f=1;v=U;return f|0}function sl(){return Gn(104)|0}function ol(e){e=e|0;if(!e)return;Qn(e);return}function ul(e){e=e|0;return(h[e+12>>2]|0)-(h[e+16>>2]|0)|0}function cl(e,i){e=e|0;i=i|0;var r=0,t=0;h[e+100>>2]=e+24;h[e+4>>2]=32768;h[e>>2]=0;t=i+-1|0;h[e+12>>2]=t;r=e+8|0;h[r>>2]=12;h[r>>2]=(c[t>>0]|0)==-1?13:12;h[e+16>>2]=i;return}function dl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;n=h[e+100>>2]|0;f=h[n>>2]|0;l=(h[f+4>>2]|0)==(i|0);t=h[f>>2]|0;s=e+4|0;i=(h[s>>2]|0)-t|0;h[s>>2]=i;if(!l){if(i>>>0<t>>>0){l=(h[e>>2]|0)+t|0;h[e>>2]=l;t=i;i=l;l=e}else{h[s>>2]=t;i=h[e>>2]|0;l=e}h[n>>2]=h[f+12>>2];a=e+8|0;f=e+12|0;n=i;i=h[a>>2]|0;while(1){t=t<<1;h[s>>2]=t;r=n<<1;h[l>>2]=r;i=i+-1|0;h[a>>2]=i;if(!i){i=h[f>>2]|0;t=c[i>>0]|0;do{if(t<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>18;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}c[i>>0]=t+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){e=h[l>>2]&134217727;h[l>>2]=e;r=i+1|0;h[f>>2]=r;c[r>>0]=e>>>20;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7;break}else{r=i+1|0;h[f>>2]=r;c[r>>0]=(h[l>>2]|0)>>>19;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}}else{r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>19;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7}}while(0);t=h[s>>2]|0}if(!(t&32768))n=r;else break}return}if(i&32768){h[e>>2]=(h[e>>2]|0)+t;return}if(i>>>0<t>>>0){h[s>>2]=t;r=h[e>>2]|0;l=e}else{r=(h[e>>2]|0)+t|0;h[e>>2]=r;t=i;l=e}h[n>>2]=h[f+8>>2];a=e+8|0;f=e+12|0;n=r;i=h[a>>2]|0;while(1){t=t<<1;h[s>>2]=t;r=n<<1;h[l>>2]=r;i=i+-1|0;h[a>>2]=i;if(!i){i=h[f>>2]|0;t=c[i>>0]|0;do{if(t<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>18;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}c[i>>0]=t+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){e=h[l>>2]&134217727;h[l>>2]=e;r=i+1|0;h[f>>2]=r;c[r>>0]=e>>>20;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7;break}else{r=i+1|0;h[f>>2]=r;c[r>>0]=(h[l>>2]|0)>>>19;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}}else{r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>19;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7}}while(0);t=h[s>>2]|0}if(!(t&32768))n=r;else break}return}function hl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=h[e>>2]|0;t=f|65535;n=e+8|0;t=(t>>>0<((h[e+4>>2]|0)+f|0)>>>0?t:t+-32768|0)<<h[n>>2];h[e>>2]=t;f=e+12|0;i=h[f>>2]|0;r=c[i>>0]|0;do{if(r<<24>>24!=-1){if(!(t&134217728)){i=i+1|0;h[f>>2]=i;c[i>>0]=t>>>19;i=h[e>>2]&524287;h[e>>2]=i;h[n>>2]=8;r=8;break}c[i>>0]=r+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){r=h[e>>2]&134217727;h[e>>2]=r;i=i+1|0;h[f>>2]=i;c[i>>0]=r>>>20;i=h[e>>2]&1048575;h[e>>2]=i;h[n>>2]=7;r=7;break}else{i=i+1|0;h[f>>2]=i;c[i>>0]=(h[e>>2]|0)>>>19;i=h[e>>2]&524287;h[e>>2]=i;h[n>>2]=8;r=8;break}}else{i=i+1|0;h[f>>2]=i;c[i>>0]=t>>>20;i=h[e>>2]&1048575;h[e>>2]=i;h[n>>2]=7;r=7}}while(0);i=i<<r;h[e>>2]=i;r=h[f>>2]|0;t=c[r>>0]|0;do{if(t<<24>>24!=-1){if(!(i&134217728)){t=r+1|0;h[f>>2]=t;c[t>>0]=i>>>19;h[e>>2]=h[e>>2]&524287;h[n>>2]=8;break}c[r>>0]=t+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){r=h[e>>2]&134217727;h[e>>2]=r;t=i+1|0;h[f>>2]=t;c[t>>0]=r>>>20;h[e>>2]=h[e>>2]&1048575;h[n>>2]=7;break}else{t=i+1|0;h[f>>2]=t;c[t>>0]=(h[e>>2]|0)>>>19;h[e>>2]=h[e>>2]&524287;h[n>>2]=8;break}}else{t=r+1|0;h[f>>2]=t;c[t>>0]=i>>>20;h[e>>2]=h[e>>2]&1048575;h[n>>2]=7}}while(0);i=h[f>>2]|0;if((c[i>>0]|0)==-1)return;h[f>>2]=i+1;return}function bl(e){e=e|0;h[e>>2]=0;h[e+8>>2]=8;return}function kl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=e+8|0;t=(h[r>>2]|0)+-1|0;h[r>>2]=t;i=(i<<t)+(h[e>>2]|0)|0;h[e>>2]=i;if(t)return;t=e+12|0;n=(h[t>>2]|0)+1|0;h[t>>2]=n;c[n>>0]=i;h[r>>2]=8;h[r>>2]=(c[h[t>>2]>>0]|0)==-1?7:8;h[e>>2]=0;return}function wl(e){e=e|0;h[e+28>>2]=1156;h[e+32>>2]=1156;h[e+36>>2]=1156;h[e+40>>2]=1156;h[e+44>>2]=1156;h[e+48>>2]=1156;h[e+52>>2]=1156;h[e+56>>2]=1156;h[e+60>>2]=1156;h[e+64>>2]=1156;h[e+68>>2]=1156;h[e+72>>2]=1156;h[e+76>>2]=1156;h[e+80>>2]=1156;h[e+84>>2]=1156;h[e+88>>2]=1156;h[e+96>>2]=2628;h[e+92>>2]=1252;h[e+24>>2]=1284;return}function _l(e){e=e|0;h[e+24>>2]=1156;h[e+28>>2]=1156;h[e+32>>2]=1156;h[e+36>>2]=1156;h[e+40>>2]=1156;h[e+44>>2]=1156;h[e+48>>2]=1156;h[e+52>>2]=1156;h[e+56>>2]=1156;h[e+60>>2]=1156;h[e+64>>2]=1156;h[e+68>>2]=1156;h[e+72>>2]=1156;h[e+76>>2]=1156;h[e+80>>2]=1156;h[e+84>>2]=1156;h[e+88>>2]=1156;h[e+92>>2]=1156;h[e+96>>2]=1156;return}function ml(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;h[e+24+(i<<2)>>2]=1156+((t<<1)+r<<4);return}function pl(e){e=e|0;var i=0,r=0;h[e+100>>2]=e+24;h[e+4>>2]=32768;h[e>>2]=0;i=e+8|0;h[i>>2]=12;r=e+12|0;e=(h[r>>2]|0)+-1|0;h[r>>2]=e;if((c[e>>0]|0)!=-1)return;h[i>>2]=13;return}function vl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;a=e+8|0;i=h[a>>2]|0;t=12-i|0;if((t|0)>0){n=e+12|0;r=h[e>>2]|0;do{i=r<<i;h[e>>2]=i;h[a>>2]=0;r=h[n>>2]|0;f=c[r>>0]|0;do{if(f<<24>>24!=-1){if(!(i&134217728)){r=r+1|0;h[n>>2]=r;c[r>>0]=i>>>19;r=h[e>>2]&524287;h[e>>2]=r;h[a>>2]=8;i=8;break}c[r>>0]=f+1<<24>>24;i=h[n>>2]|0;if((c[i>>0]|0)==-1){f=h[e>>2]&134217727;h[e>>2]=f;r=i+1|0;h[n>>2]=r;c[r>>0]=f>>>20;r=h[e>>2]&1048575;h[e>>2]=r;h[a>>2]=7;i=7;break}else{r=i+1|0;h[n>>2]=r;c[r>>0]=(h[e>>2]|0)>>>19;r=h[e>>2]&524287;h[e>>2]=r;h[a>>2]=8;i=8;break}}else{r=r+1|0;h[n>>2]=r;c[r>>0]=i>>>20;r=h[e>>2]&1048575;h[e>>2]=r;h[a>>2]=7;i=7}}while(0);t=t-i|0}while((t|0)>0)}else n=e+12|0;i=h[n>>2]|0;r=c[i>>0]|0;if(r<<24>>24==-1)return;t=h[e>>2]|0;if(!(t&134217728)){f=i+1|0;h[n>>2]=f;c[f>>0]=t>>>19;h[e>>2]=h[e>>2]&524287;h[a>>2]=8;return}c[i>>0]=r+1<<24>>24;i=h[n>>2]|0;if((c[i>>0]|0)==-1){t=h[e>>2]&134217727;h[e>>2]=t;f=i+1|0;h[n>>2]=f;c[f>>0]=t>>>20;h[e>>2]=h[e>>2]&1048575;h[a>>2]=7;return}else{f=i+1|0;h[n>>2]=f;c[f>>0]=(h[e>>2]|0)>>>19;h[e>>2]=h[e>>2]&524287;h[a>>2]=8;return}}function gl(e){e=e|0;h[e+100>>2]=e+96;dl(e,1);dl(e,0);dl(e,1);dl(e,0);return}function yl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;h[e+100>>2]=e+24;h[e+16>>2]=i;h[e+20>>2]=i+r;n=e+12|0;h[n>>2]=i;do{if(r){f=b[i>>0]<<16;h[e>>2]=f;t=i+1|0;if((r|0)==1)r=255;else r=b[t>>0]|0;if((c[i>>0]|0)!=-1){h[n>>2]=t;t=f|r<<8;h[e>>2]=t;r=e+8|0;h[r>>2]=8;n=e;f=1;break}if(r>>>0>143){t=f|65280;h[e>>2]=t;r=e+8|0;h[r>>2]=8;n=e;f=1;break}else{h[n>>2]=t;t=f+(r<<9)|0;h[e>>2]=t;r=e+8|0;h[r>>2]=7;n=e;f=0;break}}else{h[e>>2]=16776960;r=e+8|0;h[r>>2]=8;t=16776960;n=e;f=1}}while(0);h[n>>2]=t<<7;h[r>>2]=f;h[e+4>>2]=32768;return 1}function El(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;r=h[e+100>>2]|0;t=h[r>>2]|0;a=h[t>>2]|0;u=e+4|0;f=(h[u>>2]|0)-a|0;h[u>>2]=f;n=h[e>>2]|0;if(n>>>16>>>0<a>>>0){h[u>>2]=a;i=h[t+4>>2]|0;if(f>>>0<a>>>0)h[r>>2]=h[t+8>>2];else{h[r>>2]=h[t+12>>2];i=1-i|0}l=e+8|0;s=e+12|0;o=e+20|0;t=h[l>>2]|0;r=n;do{do{if(!t){n=h[s>>2]|0;t=h[o>>2]|0;if((n|0)==(t|0)){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}f=n+1|0;if((f|0)==(t|0))t=255;else t=b[f>>0]|0;if((c[n>>0]|0)!=-1){h[s>>2]=f;r=r+(t<<8)|0;h[e>>2]=r;h[l>>2]=8;t=8;break}if(t>>>0>143){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}else{h[s>>2]=f;r=r+(t<<9)|0;h[e>>2]=r;h[l>>2]=7;t=7;break}}}while(0);a=a<<1;h[u>>2]=a;r=r<<1;h[e>>2]=r;t=t+-1|0;h[l>>2]=t}while(a>>>0<32768);return i|0}n=n-(a<<16)|0;h[e>>2]=n;if(f&32768){e=h[t+4>>2]|0;return e|0}i=h[t+4>>2]|0;if(a>>>0>f>>>0){h[r>>2]=h[t+12>>2];i=1-i|0}else h[r>>2]=h[t+8>>2];l=e+8|0;s=e+12|0;o=e+20|0;t=h[l>>2]|0;r=n;a=f;do{do{if(!t){n=h[s>>2]|0;t=h[o>>2]|0;if((n|0)==(t|0)){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}f=n+1|0;if((f|0)==(t|0))t=255;else t=b[f>>0]|0;if((c[n>>0]|0)!=-1){h[s>>2]=f;r=r+(t<<8)|0;h[e>>2]=r;h[l>>2]=8;t=8;break}if(t>>>0>143){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}else{h[s>>2]=f;r=r+(t<<9)|0;h[e>>2]=r;h[l>>2]=7;t=7;break}}}while(0);a=a<<1;h[u>>2]=a;r=r<<1;h[e>>2]=r;t=t+-1|0;h[l>>2]=t}while(a>>>0<32768);return i|0}function Al(){return Gn(28)|0}function Ml(e){e=e|0;if(!e)return;Qn(e);return}function Tl(e,i,r){e=e|0;i=i|0;r=r|0;h[e+20>>2]=i;h[e+8>>2]=r;h[e+12>>2]=0;c[e>>0]=0;h[e+4>>2]=0;return}function Sl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;n=e+4|0;i=h[n>>2]|0;do{if(!i){h[n>>2]=8;r=e+12|0;t=h[r>>2]|0;if((t|0)==(h[e+8>>2]|0)){c[e>>0]=-1;i=8;r=-1;break}if((c[e>>0]|0)==-1){h[n>>2]=7;i=7}else i=8;f=c[(h[e+20>>2]|0)+t>>0]|0;c[e>>0]=f;h[r>>2]=t+1;r=f}else r=c[e>>0]|0}while(0);f=i+-1|0;h[n>>2]=f;return(r&255)>>>f&1|0}function Pl(){var e=0;if(!(h[665]|0))e=2712;else{e=(je()|0)+60|0;e=h[e>>2]|0}return e|0}function Ol(e){e=e|0;var i=0,r=0;i=0;while(1){if((b[22198+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=22286;r=5;break}}if((r|0)==2)if(!i)e=22286;else{e=22286;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(c[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function Rl(e){e=e|0;var i=0;if(e>>>0>4294963200){i=Pl()|0;h[i>>2]=0-e;e=-1}return e|0}function Ll(e,i){e=+e;i=i|0;var r=0,t=0,n=0;m[y>>3]=e;r=h[y>>2]|0;t=h[y+4>>2]|0;n=Vs(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0.0){e=+Ll(e*18446744073709551616.0,i);r=(h[i>>2]|0)+-64|0}else r=0;h[i>>2]=r;break}case 2047:break;default:{h[i>>2]=n+-1022;h[y>>2]=r;h[y+4>>2]=t&-2146435073|1071644672;e=+m[y>>3]}}return+e}function Cl(e,i){e=+e;i=i|0;return+ +Ll(e,i)}function Dl(e,i){e=+e;i=i|0;return+ +Bl(e,i)}function xl(e){e=+e;return~~+Il(e)|0}function Il(e){e=+e;var i=0;i=(_[y>>2]=e,h[y>>2]|0);if((i&2130706432)>>>0<=1249902592){i=(i|0)<0;e=i?e+-8388608.0+8388608.0:e+8388608.0+-8388608.0;if(e==0.0)e=i?-0.0:0.0}return+e}function Bl(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8988465674311579538646525.0e283;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8988465674311579538646525.0e283}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Xs(r+1023|0,0,52)|0;i=j;h[y>>2]=r;h[y+4>>2]=i;return+(e*+m[y>>3])}function Nl(e,i,r){e=e|0;i=i|0;r=r|0;do{if(e){if(i>>>0<128){c[e>>0]=i;e=1;break}if(i>>>0<2048){c[e>>0]=i>>>6|192;c[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){c[e>>0]=i>>>12|224;c[e+1>>0]=i>>>6&63|128;c[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){c[e>>0]=i>>>18|240;c[e+1>>0]=i>>>12&63|128;c[e+2>>0]=i>>>6&63|128;c[e+3>>0]=i&63|128;e=4;break}else{e=Pl()|0;h[e>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function Fl(e,i){e=e|0;i=i|0;if(!e)e=0;else e=Nl(e,i,0)|0;return e|0}function Ul(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;d=v;v=v+112|0;u=d+40|0;s=d+24|0;l=d+16|0;n=d;o=d+52|0;t=c[i>>0]|0;if(ms(24090,t<<24>>24,4)|0){r=Cs(1144)|0;if(!r)r=0;else{f=r;a=f+112|0;do{h[f>>2]=0;f=f+4|0}while((f|0)<(a|0));if(!(vs(i,43)|0))h[r>>2]=t<<24>>24==114?8:4;if(vs(i,101)|0){h[n>>2]=e;h[n+4>>2]=2;h[n+8>>2]=1;Oe(221,n|0)|0;t=c[i>>0]|0}if(t<<24>>24==97){h[l>>2]=e;h[l+4>>2]=3;t=Oe(221,l|0)|0;if(!(t&1024)){h[s>>2]=e;h[s+4>>2]=4;h[s+8>>2]=t|1024;Oe(221,s|0)|0}i=h[r>>2]|128;h[r>>2]=i}else i=h[r>>2]|0;h[r+60>>2]=e;h[r+44>>2]=r+120;h[r+48>>2]=1024;t=r+75|0;c[t>>0]=-1;if((i&8|0)==0?(h[u>>2]=e,h[u+4>>2]=21505,h[u+8>>2]=o,(qe(54,u|0)|0)==0):0)c[t>>0]=10;h[r+32>>2]=60;h[r+36>>2]=61;h[r+40>>2]=3;h[r+12>>2]=1;if(!(h[666]|0))h[r+76>>2]=-1;Ve(2688);t=h[671]|0;h[r+56>>2]=t;if(t)h[t+52>>2]=r;h[671]=r;Xe(2688)}}else{r=Pl()|0;h[r>>2]=22;r=0}v=d;return r|0}function jl(e){e=e|0;var i=0,r=0,t=0;r=(vs(e,43)|0)==0;i=c[e>>0]|0;r=r?i<<24>>24!=114&1:2;t=(vs(e,120)|0)==0;r=t?r:r|128;e=(vs(e,101)|0)==0;e=e?r:r|524288;e=i<<24>>24==114?e:e|64;e=i<<24>>24==119?e|512:e;return(i<<24>>24==97?e|1024:e)|0}function Hl(e){e=e|0;return 0}function Yl(e){e=e|0;return}function ql(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;a=i&255;c[l>>0]=a;t=e+16|0;n=h[t>>2]|0;if(!n)if(!(Jl(e)|0)){n=h[t>>2]|0;f=4}else r=-1;else f=4;do{if((f|0)==4){t=e+20|0;f=h[t>>2]|0;if(f>>>0<n>>>0?(r=i&255,(r|0)!=(c[e+75>>0]|0)):0){h[t>>2]=f+1;c[f>>0]=a;break}if((Ro[h[e+36>>2]&63](e,l,1)|0)==1)r=b[l>>0]|0;else r=-1}}while(0);v=s;return r|0}function Xl(e){e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;h[r>>2]=h[e+60>>2];e=Rl(Ge(6,r|0)|0)|0;v=i;return e|0}function zl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+48|0;f=o+16|0;n=o;t=o+32|0;h[t>>2]=i;a=t+4|0;s=e+48|0;u=h[s>>2]|0;h[a>>2]=r-((u|0)!=0&1);l=e+44|0;h[t+8>>2]=h[l>>2];h[t+12>>2]=u;if(!(h[665]|0)){h[f>>2]=h[e+60>>2];h[f+4>>2]=t;h[f+8>>2]=2;t=Rl(Ze(145,f|0)|0)|0}else{Ce(5,e|0);h[n>>2]=h[e+60>>2];h[n+4>>2]=t;h[n+8>>2]=2;t=Rl(Ze(145,n|0)|0)|0;Pe(0)}if((t|0)>=1){a=h[a>>2]|0;if(t>>>0>a>>>0){f=h[l>>2]|0;n=e+4|0;h[n>>2]=f;h[e+8>>2]=f+(t-a);if(!(h[s>>2]|0))t=r;else{h[n>>2]=f+1;c[i+(r+-1)>>0]=c[f>>0]|0;t=r}}}else{h[e>>2]=h[e>>2]|t&48^16;h[e+8>>2]=0;h[e+4>>2]=0}v=o;return t|0}function Vl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+32|0;f=n;t=n+20|0;h[f>>2]=h[e+60>>2];h[f+4>>2]=0;h[f+8>>2]=i;h[f+12>>2]=t;h[f+16>>2]=r;if((Rl(Je(140,f|0)|0)|0)<0){h[t>>2]=-1;e=-1}else e=h[t>>2]|0;v=n;return e|0}function Gl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+48|0;c=k+16|0;u=k;t=k+32|0;d=e+28|0;n=h[d>>2]|0;h[t>>2]=n;b=e+20|0;n=(h[b>>2]|0)-n|0;h[t+4>>2]=n;h[t+8>>2]=i;h[t+12>>2]=r;s=e+60|0;o=e+44|0;i=2;n=n+r|0;while(1){if(!(h[665]|0)){h[c>>2]=h[s>>2];h[c+4>>2]=t;h[c+8>>2]=i;a=Rl(Qe(146,c|0)|0)|0}else{Ce(6,e|0);h[u>>2]=h[s>>2];h[u+4>>2]=t;h[u+8>>2]=i;a=Rl(Qe(146,u|0)|0)|0;Pe(0)}if((n|0)==(a|0)){n=6;break}if((a|0)<0){n=8;break}n=n-a|0;f=h[t+4>>2]|0;if(a>>>0<=f>>>0)if((i|0)==2){h[d>>2]=(h[d>>2]|0)+a;l=f;i=2}else l=f;else{l=h[o>>2]|0;h[d>>2]=l;h[b>>2]=l;l=h[t+12>>2]|0;a=a-f|0;t=t+8|0;i=i+-1|0}h[t>>2]=(h[t>>2]|0)+a;h[t+4>>2]=l-a}if((n|0)==6){c=h[o>>2]|0;h[e+16>>2]=c+(h[e+48>>2]|0);e=c;h[d>>2]=e;h[b>>2]=e}else if((n|0)==8){h[e+16>>2]=0;h[d>>2]=0;h[b>>2]=0;h[e>>2]=h[e>>2]|32;if((i|0)==2)r=0;else r=r-(h[t+4>>2]|0)|0}v=k;return r|0}function Kl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+80|0;t=n;h[e+36>>2]=61;if((h[e>>2]&64|0)==0?(h[t>>2]=h[e+60>>2],h[t+4>>2]=21505,h[t+8>>2]=n+12,(qe(54,t|0)|0)!=0):0)c[e+75>>0]=-1;t=Gl(e,i,r)|0;v=n;return t|0}function Wl(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((h[i>>2]|0)>>>0>(h[r>>2]|0)>>>0)Ro[h[e+36>>2]&63](e,0,0)|0;h[e+16>>2]=0;h[e+28>>2]=0;h[i>>2]=0;i=h[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{h[e>>2]=i|32;i=-1}else{i=h[r>>2]|0;h[e+8>>2]=i;h[e+4>>2]=i;i=0}return i|0}function Jl(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=h[e>>2]|0;if(!(i&8)){h[e+8>>2]=0;h[e+4>>2]=0;i=h[e+44>>2]|0;h[e+28>>2]=i;h[e+20>>2]=i;h[e+16>>2]=i+(h[e+48>>2]|0);i=0}else{h[e>>2]=i|32;i=-1}return i|0}function Zl(e){e=e|0;var i=0,r=0,t=0;t=(h[e>>2]&1|0)!=0;if(!t){Ve(2688);r=h[e+52>>2]|0;i=e+56|0;if(r)h[r+56>>2]=h[i>>2];i=h[i>>2]|0;if(i)h[i+52>>2]=r;if((h[671]|0)==(e|0))h[671]=i;Xe(2688)}i=Ql(e)|0;i=Io[h[e+12>>2]&15](e)|0|i;r=h[e+92>>2]|0;if(r)Ds(r);if(!t)Ds(e);return i|0}function Ql(e){e=e|0;var i=0,r=0;do{if(e){if((h[e+76>>2]|0)<=-1){i=Ts(e)|0;break}r=(Hl(e)|0)==0;i=Ts(e)|0;if(!r)Yl(e)}else{if(!(h[677]|0))i=0;else i=Ql(h[677]|0)|0;Ve(2688);e=h[671]|0;if(e)do{if((h[e+76>>2]|0)>-1)r=Hl(e)|0;else r=0;if((h[e+20>>2]|0)>>>0>(h[e+28>>2]|0)>>>0)i=Ts(e)|0|i;if(r)Yl(e);e=h[e+56>>2]|0}while((e|0)!=0);Xe(2688)}}while(0);return i|0}function $l(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;n=v;v=v+32|0;t=n+16|0;r=n;if(ms(24090,c[i>>0]|0,4)|0){f=jl(i)|0|32768;h[r>>2]=e;h[r+4>>2]=f;h[r+8>>2]=438;r=Rl(Ke(5,r|0)|0)|0;if((r|0)>=0){e=Ul(r,i)|0;if(!e){h[t>>2]=r;Ge(6,t|0)|0;e=0}}else e=0}else{e=Pl()|0;h[e>>2]=22;e=0}v=n;return e|0}function es(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=v;v=v+16|0;n=t;h[n>>2]=r;r=ks(e,i,n)|0;v=t;return r|0}function is(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;if((h[i+76>>2]|0)>=0?(Hl(i)|0)!=0:0){if((c[i+75>>0]|0)!=(e|0)?(t=i+20|0,n=h[t>>2]|0,n>>>0<(h[i+16>>2]|0)>>>0):0){h[t>>2]=n+1;c[n>>0]=e;r=e&255}else r=ql(i,e)|0;Yl(i)}else a=3;do{if((a|0)==3){if((c[i+75>>0]|0)!=(e|0)?(f=i+20|0,r=h[f>>2]|0,r>>>0<(h[i+16>>2]|0)>>>0):0){h[f>>2]=r+1;c[r>>0]=e;r=e&255;break}r=ql(i,e)|0}}while(0);return r|0}function rs(e,i){e=e|0;i=i|0;return(cs(e,Es(e)|0,1,i)|0)+-1|0}function ts(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;l=ue(r,i)|0;if((h[t+76>>2]|0)>-1)s=Hl(t)|0;else s=0;n=t+74|0;f=c[n>>0]|0;c[n>>0]=f+255|f;n=t+4|0;f=h[n>>2]|0;a=(h[t+8>>2]|0)-f|0;if((a|0)>0){a=a>>>0<l>>>0?a:l;Gs(e|0,f|0,a|0)|0;h[n>>2]=f+a;e=e+a|0;n=l-a|0}else n=l;e:do{if(!n)o=13;else{a=t+32|0;f=n;while(1){if(Wl(t)|0){r=f;break}n=Ro[h[a>>2]&63](t,e,f)|0;if((n+1|0)>>>0<2){r=f;break}if((f|0)==(n|0)){o=13;break e}else{e=e+n|0;f=f-n|0}}if(s)Yl(t);r=((l-r|0)>>>0)/(i>>>0)|0}}while(0);if((o|0)==13)if(s)Yl(t);return r|0}function ns(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if((r|0)==1)i=i-(h[e+8>>2]|0)+(h[e+4>>2]|0)|0;n=e+20|0;t=e+28|0;if((h[n>>2]|0)>>>0>(h[t>>2]|0)>>>0?(Ro[h[e+36>>2]&63](e,0,0)|0,(h[n>>2]|0)==0):0)i=-1;else{h[e+16>>2]=0;h[t>>2]=0;h[n>>2]=0;if((Ro[h[e+40>>2]&63](e,i,r)|0)<0)i=-1;else{h[e+8>>2]=0;h[e+4>>2]=0;h[e>>2]=h[e>>2]&-17;i=0}}return i|0}function fs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((h[e+76>>2]|0)>-1){t=(Hl(e)|0)==0;i=ns(e,i,r)|0;if(!t)Yl(e)}else i=ns(e,i,r)|0;return i|0}function as(e,i,r){e=e|0;i=i|0;r=r|0;return fs(e,i,r)|0}function ls(e){e=e|0;var i=0;if(!(h[e>>2]&128))i=1;else i=(h[e+20>>2]|0)>>>0>(h[e+28>>2]|0)>>>0?2:1;i=Ro[h[e+40>>2]&63](e,0,i)|0;if((i|0)>=0)i=i-(h[e+8>>2]|0)+(h[e+4>>2]|0)+(h[e+20>>2]|0)-(h[e+28>>2]|0)|0;return i|0}function ss(e){e=e|0;var i=0;if((h[e+76>>2]|0)>-1){i=(Hl(e)|0)==0;e=ls(e)|0}else e=ls(e)|0;return e|0}function os(e){e=e|0;return ss(e)|0}function us(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=r+16|0;n=h[t>>2]|0;if(!n)if(!(Jl(r)|0)){n=h[t>>2]|0;f=4}else t=0;else f=4;e:do{if((f|0)==4){a=r+20|0;f=h[a>>2]|0;if((n-f|0)>>>0<i>>>0){t=Ro[h[r+36>>2]&63](r,e,i)|0;break}i:do{if((c[r+75>>0]|0)>-1){t=i;while(1){if(!t){n=f;t=0;break i}n=t+-1|0;if((c[e+n>>0]|0)==10)break;else t=n}if((Ro[h[r+36>>2]&63](r,e,t)|0)>>>0<t>>>0)break e;i=i-t|0;e=e+t|0;n=h[a>>2]|0}else{n=f;t=0}}while(0);Gs(n|0,e|0,i|0)|0;h[a>>2]=(h[a>>2]|0)+i;t=t+i|0}}while(0);return t|0}function cs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=ue(r,i)|0;if((h[t+76>>2]|0)>-1){f=(Hl(t)|0)==0;e=us(e,n,t)|0;if(!f)Yl(t)}else e=us(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function ds(e,i){e=e|0;i=i|0;var r=0,t=0;r=v;v=v+16|0;t=r;h[t>>2]=i;i=ks(h[676]|0,e,t)|0;v=r;return i|0}function hs(e){e=e|0;var i=0,r=0,t=0,n=0;t=h[676]|0;if((h[t+76>>2]|0)>-1)n=Hl(t)|0;else n=0;do{if((rs(e,t)|0)<0)i=1;else{if((c[t+75>>0]|0)!=10?(i=t+20|0,r=h[i>>2]|0,r>>>0<(h[t+16>>2]|0)>>>0):0){h[i>>2]=r+1;c[r>>0]=10;i=0;break}i=(ql(t,10)|0)<0}}while(0);if(n)Yl(t);return i<<31>>31|0}function bs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=v;v=v+16|0;n=t;h[n>>2]=r;r=_s(e,i,n)|0;v=t;return r|0}function ks(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+224|0;d=_+80|0;w=_+96|0;k=_;b=_+136|0;t=w;n=t+40|0;do{h[t>>2]=0;t=t+4|0}while((t|0)<(n|0));h[d>>2]=h[r>>2];if((Ss(0,i,d,k,w)|0)<0)r=-1;else{if((h[e+76>>2]|0)>-1)o=Hl(e)|0;else o=0;r=h[e>>2]|0;u=r&32;if((c[e+74>>0]|0)<1)h[e>>2]=r&-33;r=e+48|0;if(!(h[r>>2]|0)){n=e+44|0;f=h[n>>2]|0;h[n>>2]=b;a=e+28|0;h[a>>2]=b;l=e+20|0;h[l>>2]=b;h[r>>2]=80;s=e+16|0;h[s>>2]=b+80;t=Ss(e,i,d,k,w)|0;if(f){Ro[h[e+36>>2]&63](e,0,0)|0;t=(h[l>>2]|0)==0?-1:t;h[n>>2]=f;h[r>>2]=0;h[s>>2]=0;h[a>>2]=0;h[l>>2]=0}}else t=Ss(e,i,d,k,w)|0;r=h[e>>2]|0;h[e>>2]=r|u;if(o)Yl(e);r=(r&32|0)==0?t:-1}v=_;return r|0}function ws(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+128|0;n=u+112|0;o=u;f=o;a=2716;l=f+112|0;do{h[f>>2]=h[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));if((i+-1|0)>>>0>2147483646)if(!i){i=1;s=4}else{i=Pl()|0;h[i>>2]=75;i=-1}else{n=e;s=4}if((s|0)==4){s=-2-n|0;s=i>>>0>s>>>0?s:i;h[o+48>>2]=s;e=o+20|0;h[e>>2]=n;h[o+44>>2]=n;i=n+s|0;n=o+16|0;h[n>>2]=i;h[o+28>>2]=i;i=ks(o,r,t)|0;if(s){r=h[e>>2]|0;c[r+(((r|0)==(h[n>>2]|0))<<31>>31)>>0]=0}}v=u;return i|0}function _s(e,i,r){e=e|0;i=i|0;r=r|0;return ws(e,2147483647,i,r)|0}function ms(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i&255;t=(r|0)!=0;e:do{if(t&(e&3|0)!=0){n=i&255;while(1){if((c[e>>0]|0)==n<<24>>24){a=6;break e}e=e+1|0;r=r+-1|0;t=(r|0)!=0;if(!(t&(e&3|0)!=0)){a=5;break}}}else a=5}while(0);if((a|0)==5)if(t)a=6;else r=0;e:do{if((a|0)==6){n=i&255;if((c[e>>0]|0)!=n<<24>>24){t=ue(f,16843009)|0;i:do{if(r>>>0>3)while(1){f=h[e>>2]^t;if((f&-2139062144^-2139062144)&f+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){a=11;break i}}else a=11}while(0);if((a|0)==11)if(!r){r=0;break}while(1){if((c[e>>0]|0)==n<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return((r|0)!=0?e:0)|0}function ps(e,i){e=e|0;i=i|0;var r=0,t=0;r=i;e:do{if(!((r^e)&3)){if(r&3)do{r=c[i>>0]|0;c[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0);r=h[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){t=e;while(1){i=i+4|0;e=t+4|0;h[t>>2]=r;r=h[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else t=e}}t=8}else t=8}while(0);if((t|0)==8){t=c[i>>0]|0;c[e>>0]=t;if(t<<24>>24)do{i=i+1|0;e=e+1|0;t=c[i>>0]|0;c[e>>0]=t}while(t<<24>>24!=0)}return e|0}function vs(e,i){e=e|0;i=i|0;e=gs(e,i)|0;return((c[e>>0]|0)==(i&255)<<24>>24?e:0)|0}function gs(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;t=i&255;e:do{if(!t)e=e+(Es(e)|0)|0;else{if(e&3){r=i&255;do{n=c[e>>0]|0;if(n<<24>>24==0?1:n<<24>>24==r<<24>>24)break e;e=e+1|0}while((e&3|0)!=0)}t=ue(t,16843009)|0;r=h[e>>2]|0;i:do{if(!((r&-2139062144^-2139062144)&r+-16843009))do{n=r^t;if((n&-2139062144^-2139062144)&n+-16843009)break i;e=e+4|0;r=h[e>>2]|0}while(((r&-2139062144^-2139062144)&r+-16843009|0)==0)}while(0);r=i&255;while(1){n=c[e>>0]|0;if(n<<24>>24==0?1:n<<24>>24==r<<24>>24)break;else e=e+1|0}}}while(0);return e|0}function ys(e,i){e=e|0;i=i|0;ps(e,i)|0;return e|0}function Es(e){e=e|0;var i=0,r=0,t=0;t=e;e:do{if(!(t&3))r=4;else{i=e;e=t;while(1){if(!(c[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}}while(0);if((r|0)==4){while(1){i=h[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do{e=e+1|0}while((c[e>>0]|0)!=0)}return e-t|0}function As(e){e=e|0;if(!(h[e+68>>2]|0))Yl(e);return}function Ms(e){e=e|0;if(!(h[e+68>>2]|0))Yl(e);return}function Ts(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;i=e+20|0;f=e+28|0;if((h[i>>2]|0)>>>0>(h[f>>2]|0)>>>0?(Ro[h[e+36>>2]&63](e,0,0)|0,(h[i>>2]|0)==0):0)i=-1;else{a=e+4|0;r=h[a>>2]|0;t=e+8|0;n=h[t>>2]|0;if(r>>>0<n>>>0)Ro[h[e+40>>2]&63](e,r-n|0,1)|0;h[e+16>>2]=0;h[f>>2]=0;h[i>>2]=0;h[t>>2]=0;h[a>>2]=0;i=0}return i|0}function Ss(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0.0,u=0,k=0,w=0,_=0,p=0.0,g=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0;ae=v;v=v+624|0;ie=ae+24|0;te=ae+16|0;re=ae+588|0;J=ae+576|0;ee=ae;G=ae+536|0;fe=ae+8|0;ne=ae+528|0;N=(e|0)!=0;F=G+40|0;V=F;G=G+39|0;K=fe+4|0;W=J+12|0;J=J+11|0;Z=re;Q=W;$=Q-Z|0;U=-2-Z|0;H=Q+2|0;Y=ie+288|0;q=re+9|0;X=q;z=re+8|0;f=0;g=i;a=0;i=0;e:while(1){do{if((f|0)>-1)if((a|0)>(2147483647-f|0)){f=Pl()|0;h[f>>2]=75;f=-1;break}else{f=a+f|0;break}}while(0);a=c[g>>0]|0;if(!(a<<24>>24)){B=245;break}else l=g;i:while(1){switch(a<<24>>24){case 37:{a=l;B=9;break i}case 0:{a=l;break i}default:{}}I=l+1|0;a=c[I>>0]|0;l=I}i:do{if((B|0)==9)while(1){B=0;if((c[a+1>>0]|0)!=37)break i;l=l+1|0;a=a+2|0;if((c[a>>0]|0)==37)B=9;else break}}while(0);A=l-g|0;if(N?(h[e>>2]&32|0)==0:0)us(g,A,e)|0;if((l|0)!=(g|0)){g=a;a=A;continue}u=a+1|0;l=c[u>>0]|0;s=(l<<24>>24)+-48|0;if(s>>>0<10){I=(c[a+2>>0]|0)==36;u=I?a+3|0:u;l=c[u>>0]|0;_=I?s:-1;i=I?1:i}else _=-1;a=l<<24>>24;i:do{if((a&-32|0)==32){s=0;while(1){if(!(1<<a+-32&75913)){k=s;a=u;break i}s=1<<(l<<24>>24)+-32|s;u=u+1|0;l=c[u>>0]|0;a=l<<24>>24;if((a&-32|0)!=32){k=s;a=u;break}}}else{k=0;a=u}}while(0);do{if(l<<24>>24==42){s=a+1|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+2>>0]|0)==36:0){h[n+(l<<2)>>2]=10;i=1;a=a+3|0;l=h[t+((c[s>>0]|0)+-48<<3)>>2]|0}else{if(i){f=-1;break e}if(!N){E=k;a=s;i=0;I=0;break}i=(h[r>>2]|0)+(4-1)&~(4-1);l=h[i>>2]|0;h[r>>2]=i+4;i=0;a=s}if((l|0)<0){E=k|8192;I=0-l|0}else{E=k;I=l}}else{s=(l<<24>>24)+-48|0;if(s>>>0<10){l=0;do{l=(l*10|0)+s|0;a=a+1|0;s=(c[a>>0]|0)+-48|0}while(s>>>0<10);if((l|0)<0){f=-1;break e}else{E=k;I=l}}else{E=k;I=0}}}while(0);i:do{if((c[a>>0]|0)==46){s=a+1|0;l=c[s>>0]|0;if(l<<24>>24!=42){u=(l<<24>>24)+-48|0;if(u>>>0<10){a=s;l=0}else{a=s;u=0;break}while(1){l=(l*10|0)+u|0;a=a+1|0;u=(c[a>>0]|0)+-48|0;if(u>>>0>=10){u=l;break i}}}s=a+2|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+3>>0]|0)==36:0){h[n+(l<<2)>>2]=10;a=a+4|0;u=h[t+((c[s>>0]|0)+-48<<3)>>2]|0;break}if(i){f=-1;break e}if(N){a=(h[r>>2]|0)+(4-1)&~(4-1);u=h[a>>2]|0;h[r>>2]=a+4;a=s}else{a=s;u=0}}else u=-1}while(0);w=0;while(1){l=(c[a>>0]|0)+-65|0;if(l>>>0>57){f=-1;break e}s=a+1|0;l=c[25126+(w*58|0)+l>>0]|0;k=l&255;if((k+-1|0)>>>0<8){a=s;w=k}else{x=s;break}}if(!(l<<24>>24)){f=-1;break}s=(_|0)>-1;do{if(l<<24>>24==19)if(s){f=-1;break e}else B=52;else{if(s){h[n+(_<<2)>>2]=k;C=t+(_<<3)|0;D=h[C+4>>2]|0;B=ee;h[B>>2]=h[C>>2];h[B+4>>2]=D;B=52;break}if(!N){f=0;break e}Os(ee,k,r)}}while(0);if((B|0)==52?(B=0,!N):0){g=x;a=A;continue}_=c[a>>0]|0;_=(w|0)!=0&(_&15|0)==3?_&-33:_;s=E&-65537;D=(E&8192|0)==0?E:s;i:do{switch(_|0){case 110:switch(w|0){case 0:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 1:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 2:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}case 3:{d[h[ee>>2]>>1]=f;g=x;a=A;continue e}case 4:{c[h[ee>>2]>>0]=f;g=x;a=A;continue e}case 6:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 7:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}default:{g=x;a=A;continue e}}case 112:{w=D|8;u=u>>>0>8?u:8;_=120;B=64;break}case 88:case 120:{w=D;B=64;break}case 111:{s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;if((l|0)==0&(s|0)==0)a=F;else{a=F;do{a=a+-1|0;c[a>>0]=l&7|48;l=Vs(l|0,s|0,3)|0;s=j}while(!((l|0)==0&(s|0)==0))}if(!(D&8)){l=D;w=0;k=25606;B=77}else{w=V-a+1|0;l=D;u=(u|0)<(w|0)?w:u;w=0;k=25606;B=77}break}case 105:case 100:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;if((l|0)<0){a=Hs(0,0,a|0,l|0)|0;l=j;s=ee;h[s>>2]=a;h[s+4>>2]=l;s=1;k=25606;B=76;break i}if(!(D&2048)){k=D&1;s=k;k=(k|0)==0?25606:25608;B=76}else{s=1;k=25607;B=76}break}case 117:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;s=0;k=25606;B=76;break}case 99:{c[G>>0]=h[ee>>2];g=G;l=1;w=0;_=25606;a=F;break}case 109:{a=Pl()|0;a=Ol(h[a>>2]|0)|0;B=82;break}case 115:{a=h[ee>>2]|0;a=(a|0)!=0?a:25616;B=82;break}case 67:{h[fe>>2]=h[ee>>2];h[K>>2]=0;h[ee>>2]=fe;u=-1;B=86;break}case 83:{if(!u){Ls(e,32,I,0,D);a=0;B=98}else B=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=+m[ee>>3];h[te>>2]=0;m[y>>3]=o;if((h[y+4>>2]|0)>=0)if(!(D&2048)){C=D&1;L=C;C=(C|0)==0?25624:25629}else{L=1;C=25626}else{o=-o;L=1;C=25623}m[y>>3]=o;R=h[y+4>>2]&2146435072;do{if(R>>>0<2146435072|(R|0)==2146435072&0<0){p=+Cl(o,te)*2.0;l=p!=0.0;if(l)h[te>>2]=(h[te>>2]|0)+-1;P=_|32;if((P|0)==97){g=_&32;A=(g|0)==0?C:C+9|0;E=L|2;a=12-u|0;do{if(!(u>>>0>11|(a|0)==0)){o=8.0;do{a=a+-1|0;o=o*16.0}while((a|0)!=0);if((c[A>>0]|0)==45){o=-(o+(-p-o));break}else{o=p+o-o;break}}else o=p}while(0);l=h[te>>2]|0;a=(l|0)<0?0-l|0:l;a=Rs(a,((a|0)<0)<<31>>31,W)|0;if((a|0)==(W|0)){c[J>>0]=48;a=J}c[a+-1>>0]=(l>>31&2)+43;w=a+-2|0;c[w>>0]=_+15;k=(u|0)<1;s=(D&8|0)==0;l=re;while(1){C=~~o;a=l+1|0;c[l>>0]=b[25590+C>>0]|g;o=(o-+(C|0))*16.0;do{if((a-Z|0)==1){if(s&(k&o==0.0))break;c[a>>0]=46;a=l+2|0}}while(0);if(!(o!=0.0))break;else l=a}u=(u|0)!=0&(U+a|0)<(u|0)?H+u-w|0:$-w+a|0;s=u+E|0;Ls(e,32,I,s,D);if(!(h[e>>2]&32))us(A,E,e)|0;Ls(e,48,I,s,D^65536);a=a-Z|0;if(!(h[e>>2]&32))us(re,a,e)|0;l=Q-w|0;Ls(e,48,u-(a+l)|0,0,0);if(!(h[e>>2]&32))us(w,l,e)|0;Ls(e,32,I,s,D^8192);a=(s|0)<(I|0)?I:s;break}a=(u|0)<0?6:u;if(l){l=(h[te>>2]|0)+-28|0;h[te>>2]=l;o=p*268435456.0}else{o=p;l=h[te>>2]|0}R=(l|0)<0?ie:Y;O=R;l=R;do{S=~~o>>>0;h[l>>2]=S;l=l+4|0;o=(o-+(S>>>0))*1.0e9}while(o!=0.0);s=l;l=h[te>>2]|0;if((l|0)>0){k=R;while(1){w=(l|0)>29?29:l;u=s+-4|0;do{if(u>>>0<k>>>0)u=k;else{l=0;do{S=Xs(h[u>>2]|0,0,w|0)|0;S=zs(S|0,j|0,l|0,0)|0;l=j;T=eo(S|0,l|0,1e9,0)|0;h[u>>2]=T;l=$s(S|0,l|0,1e9,0)|0;u=u+-4|0}while(u>>>0>=k>>>0);if(!l){u=k;break}u=k+-4|0;h[u>>2]=l}}while(0);while(1){if(s>>>0<=u>>>0)break;l=s+-4|0;if(!(h[l>>2]|0))s=l;else break}l=(h[te>>2]|0)-w|0;h[te>>2]=l;if((l|0)>0)k=u;else break}}else u=R;if((l|0)<0){A=((a+25|0)/9|0)+1|0;M=(P|0)==102;g=u;while(1){E=0-l|0;E=(E|0)>9?9:E;do{if(g>>>0<s>>>0){l=(1<<E)+-1|0;k=1e9>>>E;u=0;w=g;do{S=h[w>>2]|0;h[w>>2]=(S>>>E)+u;u=ue(S&l,k)|0;w=w+4|0}while(w>>>0<s>>>0);l=(h[g>>2]|0)==0?g+4|0:g;if(!u){u=l;break}h[s>>2]=u;u=l;s=s+4|0}else u=(h[g>>2]|0)==0?g+4|0:g}while(0);l=M?R:u;s=(s-l>>2|0)>(A|0)?l+(A<<2)|0:s;l=(h[te>>2]|0)+E|0;h[te>>2]=l;if((l|0)>=0){g=u;break}else g=u}}else g=u;do{if(g>>>0<s>>>0){l=(O-g>>2)*9|0;k=h[g>>2]|0;if(k>>>0<10)break;else u=10;do{u=u*10|0;l=l+1|0}while(k>>>0>=u>>>0)}else l=0}while(0);T=(P|0)==103;S=(a|0)!=0;u=a-((P|0)!=102?l:0)+((S&T)<<31>>31)|0;if((u|0)<(((s-O>>2)*9|0)+-9|0)){w=u+9216|0;M=(w|0)/9|0;u=R+(M+-1023<<2)|0;w=((w|0)%9|0)+1|0;if((w|0)<9){k=10;do{k=k*10|0;w=w+1|0}while((w|0)!=9)}else k=10;E=h[u>>2]|0;A=(E>>>0)%(k>>>0)|0;if((A|0)==0?(R+(M+-1022<<2)|0)==(s|0):0)k=g;else B=163;do{if((B|0)==163){B=0;p=(((E>>>0)/(k>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;w=(k|0)/2|0;do{if(A>>>0<w>>>0)o=.5;else{if((A|0)==(w|0)?(R+(M+-1022<<2)|0)==(s|0):0){o=1.0;break}o=1.5}}while(0);do{if(L){if((c[C>>0]|0)!=45)break;p=-p;o=-o}}while(0);w=E-A|0;h[u>>2]=w;if(!(p+o!=p)){k=g;break}P=w+k|0;h[u>>2]=P;if(P>>>0>999999999){l=g;while(1){k=u+-4|0;h[u>>2]=0;if(k>>>0<l>>>0){l=l+-4|0;h[l>>2]=0}P=(h[k>>2]|0)+1|0;h[k>>2]=P;if(P>>>0>999999999)u=k;else{g=l;u=k;break}}}l=(O-g>>2)*9|0;w=h[g>>2]|0;if(w>>>0<10){k=g;break}else k=10;do{k=k*10|0;l=l+1|0}while(w>>>0>=k>>>0);k=g}}while(0);P=u+4|0;g=k;s=s>>>0>P>>>0?P:s}A=0-l|0;while(1){if(s>>>0<=g>>>0){M=0;P=s;break}u=s+-4|0;if(!(h[u>>2]|0))s=u;else{M=1;P=s;break}}do{if(T){a=(S&1^1)+a|0;if((a|0)>(l|0)&(l|0)>-5){_=_+-1|0;a=a+-1-l|0}else{_=_+-2|0;a=a+-1|0}s=D&8;if(s)break;do{if(M){s=h[P+-4>>2]|0;if(!s){u=9;break}if(!((s>>>0)%10|0)){k=10;u=0}else{u=0;break}do{k=k*10|0;u=u+1|0}while(((s>>>0)%(k>>>0)|0|0)==0)}else u=9}while(0);s=((P-O>>2)*9|0)+-9|0;if((_|32|0)==102){s=s-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}else{s=s+l-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}}else s=D&8}while(0);E=a|s;k=(E|0)!=0&1;w=(_|32|0)==102;if(w){l=(l|0)>0?l:0;_=0}else{u=(l|0)<0?A:l;u=Rs(u,((u|0)<0)<<31>>31,W)|0;if((Q-u|0)<2)do{u=u+-1|0;c[u>>0]=48}while((Q-u|0)<2);c[u+-1>>0]=(l>>31&2)+43;O=u+-2|0;c[O>>0]=_;l=Q-O|0;_=O}A=L+1+a+k+l|0;Ls(e,32,I,A,D);if(!(h[e>>2]&32))us(C,L,e)|0;Ls(e,48,I,A,D^65536);do{if(w){u=g>>>0>R>>>0?R:g;l=u;do{s=Rs(h[l>>2]|0,0,q)|0;do{if((l|0)==(u|0)){if((s|0)!=(q|0))break;c[z>>0]=48;s=z}else{if(s>>>0<=re>>>0)break;do{s=s+-1|0;c[s>>0]=48}while(s>>>0>re>>>0)}}while(0);if(!(h[e>>2]&32))us(s,X-s|0,e)|0;l=l+4|0}while(l>>>0<=R>>>0);do{if(E){if(h[e>>2]&32)break;us(25658,1,e)|0}}while(0);if((a|0)>0&l>>>0<P>>>0){s=l;while(1){l=Rs(h[s>>2]|0,0,q)|0;if(l>>>0>re>>>0)do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0);if(!(h[e>>2]&32))us(l,(a|0)>9?9:a,e)|0;s=s+4|0;l=a+-9|0;if(!((a|0)>9&s>>>0<P>>>0)){a=l;break}else a=l}}Ls(e,48,a+9|0,9,0)}else{w=M?P:g+4|0;if((a|0)>-1){k=(s|0)==0;u=g;do{l=Rs(h[u>>2]|0,0,q)|0;if((l|0)==(q|0)){c[z>>0]=48;l=z}do{if((u|0)==(g|0)){s=l+1|0;if(!(h[e>>2]&32))us(l,1,e)|0;if(k&(a|0)<1){l=s;break}if(h[e>>2]&32){l=s;break}us(25658,1,e)|0;l=s}else{if(l>>>0<=re>>>0)break;do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0)}}while(0);s=X-l|0;if(!(h[e>>2]&32))us(l,(a|0)>(s|0)?s:a,e)|0;a=a-s|0;u=u+4|0}while(u>>>0<w>>>0&(a|0)>-1)}Ls(e,48,a+18|0,18,0);if(h[e>>2]&32)break;us(_,Q-_|0,e)|0}}while(0);Ls(e,32,I,A,D^8192);a=(A|0)<(I|0)?I:A}else{w=(_&32|0)!=0;k=o!=o|0.0!=0.0;l=k?0:L;u=l+3|0;Ls(e,32,I,u,s);a=h[e>>2]|0;if(!(a&32)){us(C,l,e)|0;a=h[e>>2]|0}if(!(a&32))us(k?w?25650:25654:w?25642:25646,3,e)|0;Ls(e,32,I,u,D^8192);a=(u|0)<(I|0)?I:u}}while(0);g=x;continue e}default:{s=D;l=u;w=0;_=25606;a=F}}}while(0);i:do{if((B|0)==64){s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;k=_&32;if(!((l|0)==0&(s|0)==0)){a=F;do{a=a+-1|0;c[a>>0]=b[25590+(l&15)>>0]|k;l=Vs(l|0,s|0,4)|0;s=j}while(!((l|0)==0&(s|0)==0));B=ee;if((w&8|0)==0|(h[B>>2]|0)==0&(h[B+4>>2]|0)==0){l=w;w=0;k=25606;B=77}else{l=w;w=2;k=25606+(_>>4)|0;B=77}}else{a=F;l=w;w=0;k=25606;B=77}}else if((B|0)==76){a=Rs(a,l,F)|0;l=D;w=s;B=77}else if((B|0)==82){B=0;D=ms(a,0,u)|0;C=(D|0)==0;g=a;l=C?u:D-a|0;w=0;_=25606;a=C?a+u|0:D}else if((B|0)==86){B=0;l=0;a=0;k=h[ee>>2]|0;while(1){s=h[k>>2]|0;if(!s)break;a=Fl(ne,s)|0;if((a|0)<0|a>>>0>(u-l|0)>>>0)break;l=a+l|0;if(u>>>0>l>>>0)k=k+4|0;else break}if((a|0)<0){f=-1;break e}Ls(e,32,I,l,D);if(!l){a=0;B=98}else{s=0;u=h[ee>>2]|0;while(1){a=h[u>>2]|0;if(!a){a=l;B=98;break i}a=Fl(ne,a)|0;s=a+s|0;if((s|0)>(l|0)){a=l;B=98;break i}if(!(h[e>>2]&32))us(ne,a,e)|0;if(s>>>0>=l>>>0){a=l;B=98;break}else u=u+4|0}}}}while(0);if((B|0)==98){B=0;Ls(e,32,I,a,D^8192);g=x;a=(I|0)>(a|0)?I:a;continue}if((B|0)==77){B=0;s=(u|0)>-1?l&-65537:l;l=ee;l=(h[l>>2]|0)!=0|(h[l+4>>2]|0)!=0;if((u|0)!=0|l){l=(l&1^1)+(V-a)|0;g=a;l=(u|0)>(l|0)?u:l;_=k;a=F}else{g=F;l=0;_=k;a=F}}k=a-g|0;l=(l|0)<(k|0)?k:l;u=w+l|0;a=(I|0)<(u|0)?u:I;Ls(e,32,a,u,s);if(!(h[e>>2]&32))us(_,w,e)|0;Ls(e,48,a,u,s^65536);Ls(e,48,l,k,0);if(!(h[e>>2]&32))us(g,k,e)|0;Ls(e,32,a,u,s^8192);g=x}e:do{if((B|0)==245)if(!e)if(i){f=1;while(1){i=h[n+(f<<2)>>2]|0;if(!i)break;Os(t+(f<<3)|0,i,r);f=f+1|0;if((f|0)>=10){f=1;break e}}if((f|0)<10)while(1){if(h[n+(f<<2)>>2]|0){f=-1;break e}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0}while(0);v=ae;return f|0}function Ps(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=h[t>>2]|0;e=(h[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Gs(n|0,i|0,e|0)|0;h[t>>2]=(h[t>>2]|0)+e;return r|0}function Os(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0;e:do{if(i>>>0<=20)do{switch(i|0){case 9:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;h[e>>2]=i;break e}case 10:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=0;break e}case 12:{t=(h[r>>2]|0)+(8-1)&~(8-1);i=t;n=h[i>>2]|0;i=h[i+4>>2]|0;h[r>>2]=t+8;t=e;h[t>>2]=n;h[t+4>>2]=i;break e}case 13:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&65535;h[n+4>>2]=0;break e}case 15:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&255)<<24>>24;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&255;h[n+4>>2]=0;break e}case 17:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}case 18:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}default:break e}}while(0)}while(0);return}function Rs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){t=eo(e|0,i|0,10,0)|0;r=r+-1|0;c[r>>0]=t|48;t=$s(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=t;i=j}else{e=t;break}}if(e)while(1){r=r+-1|0;c[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function Ls(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+256|0;a=l;do{if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;qs(a|0,i|0,(n>>>0>256?256:n)|0)|0;i=h[e>>2]|0;f=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(f){us(a,256,e)|0;i=h[e>>2]|0}n=n+-256|0;f=(i&32|0)==0}while(n>>>0>255);if(f)n=t&255;else break}else if(!f)break;us(a,n,e)|0}}while(0);v=l;return}function Cs(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0;do{if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=h[735]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;n=h[t>>2]|0;f=n+8|0;a=h[f>>2]|0;do{if((r|0)!=(a|0)){if(a>>>0<(h[739]|0)>>>0)Le();i=a+12|0;if((h[i>>2]|0)==(n|0)){h[i>>2]=r;h[t>>2]=a;break}else Le()}else h[735]=l&~(1<<e)}while(0);F=e<<3;h[n+4>>2]=F|3;F=n+(F|4)|0;h[F>>2]=h[F>>2]|1;F=f;return F|0}a=h[737]|0;if(b>>>0>a>>>0){if(r){t=2<<e;t=r<<e&(t|0-t);t=(t&0-t)+-1|0;s=t>>>12&16;t=t>>>s;n=t>>>5&8;t=t>>>n;f=t>>>2&4;t=t>>>f;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|s|f|r|e)+(t>>>e)|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;f=h[t>>2]|0;s=f+8|0;n=h[s>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(h[739]|0)>>>0)Le();i=n+12|0;if((h[i>>2]|0)==(f|0)){h[i>>2]=r;h[t>>2]=n;o=h[737]|0;break}else Le()}else{h[735]=l&~(1<<e);o=a}}while(0);F=e<<3;a=F-b|0;h[f+4>>2]=b|3;l=f+b|0;h[f+(b|4)>>2]=a|1;h[f+F>>2]=a;if(o){n=h[740]|0;r=o>>>3;i=r<<1;t=2980+(i<<2)|0;e=h[735]|0;r=1<<r;if(e&r){e=2980+(i+2<<2)|0;i=h[e>>2]|0;if(i>>>0<(h[739]|0)>>>0)Le();else{u=e;c=i}}else{h[735]=e|r;u=2980+(i+2<<2)|0;c=t}h[u>>2]=n;h[c+12>>2]=n;h[n+8>>2]=c;h[n+12>>2]=t}h[737]=a;h[740]=l;F=s;return F|0}e=h[736]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;B=r>>>5&8;r=r>>>B;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=h[3244+((B|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(h[t+4>>2]&-8)-b|0;e=t;while(1){i=h[e+16>>2]|0;if(!i){i=h[e+20>>2]|0;if(!i){s=r;break}}e=(h[i+4>>2]&-8)-b|0;F=e>>>0<r>>>0;r=F?e:r;e=i;t=F?i:t}f=h[739]|0;if(t>>>0<f>>>0)Le();l=t+b|0;if(t>>>0>=l>>>0)Le();a=h[t+24>>2]|0;r=h[t+12>>2]|0;do{if((r|0)==(t|0)){e=t+20|0;i=h[e>>2]|0;if(!i){e=t+16|0;i=h[e>>2]|0;if(!i){d=0;break}}while(1){r=i+20|0;n=h[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=h[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0<f>>>0)Le();else{h[e>>2]=0;d=i;break}}else{n=h[t+8>>2]|0;if(n>>>0<f>>>0)Le();i=n+12|0;if((h[i>>2]|0)!=(t|0))Le();e=r+8|0;if((h[e>>2]|0)==(t|0)){h[i>>2]=r;h[e>>2]=n;d=r;break}else Le()}}while(0);do{if(a){i=h[t+28>>2]|0;e=3244+(i<<2)|0;if((t|0)==(h[e>>2]|0)){h[e>>2]=d;if(!d){h[736]=h[736]&~(1<<i);break}}else{if(a>>>0<(h[739]|0)>>>0)Le();i=a+16|0;if((h[i>>2]|0)==(t|0))h[i>>2]=d;else h[a+20>>2]=d;if(!d)break}e=h[739]|0;if(d>>>0<e>>>0)Le();h[d+24>>2]=a;i=h[t+16>>2]|0;do{if(i)if(i>>>0<e>>>0)Le();else{h[d+16>>2]=i;h[i+24>>2]=d;break}}while(0);i=h[t+20>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[d+20>>2]=i;h[i+24>>2]=d;break}}}while(0);if(s>>>0<16){F=s+b|0;h[t+4>>2]=F|3;F=t+(F+4)|0;h[F>>2]=h[F>>2]|1}else{h[t+4>>2]=b|3;h[t+(b|4)>>2]=s|1;h[t+(s+b)>>2]=s;i=h[737]|0;if(i){f=h[740]|0;r=i>>>3;i=r<<1;n=2980+(i<<2)|0;e=h[735]|0;r=1<<r;if(e&r){i=2980+(i+2<<2)|0;e=h[i>>2]|0;if(e>>>0<(h[739]|0)>>>0)Le();else{k=i;w=e}}else{h[735]=e|r;k=2980+(i+2<<2)|0;w=n}h[k>>2]=f;h[w+12>>2]=f;h[f+8>>2]=w;h[f+12>>2]=n}h[737]=s;h[740]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;c=e&-8;u=h[736]|0;if(u){r=0-c|0;e=e>>>8;if(e)if(c>>>0>16777215)o=31;else{w=(e+1048320|0)>>>16&8;g=e<<w;k=(g+520192|0)>>>16&4;g=g<<k;o=(g+245760|0)>>>16&2;o=14-(k|w|o)+(g<<o>>>15)|0;o=c>>>(o+7|0)&1|o<<1}else o=0;e=h[3244+(o<<2)>>2]|0;e:do{if(!e){n=0;e=0;g=86}else{a=r;n=0;l=c<<((o|0)==31?0:25-(o>>>1)|0);s=e;e=0;while(1){f=h[s+4>>2]&-8;r=f-c|0;if(r>>>0<a>>>0)if((f|0)==(c|0)){f=s;e=s;g=90;break e}else e=s;else r=a;g=h[s+20>>2]|0;s=h[s+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(s|0)?n:g;if(!s){g=86;break}else{a=r;l=l<<1}}}}while(0);if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<<o;e=u&(e|0-e);if(!e){w=c;break}e=(e&0-e)+-1|0;d=e>>>12&16;e=e>>>d;u=e>>>5&8;e=e>>>u;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=h[3244+((u|d|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;s=e}else{f=n;g=90}}if((g|0)==90)while(1){g=0;w=(h[f+4>>2]&-8)-c|0;n=w>>>0<r>>>0;r=n?w:r;e=n?f:e;n=h[f+16>>2]|0;if(n){f=n;g=90;continue}f=h[f+20>>2]|0;if(!f){l=r;s=e;break}else g=90}if((s|0)!=0?l>>>0<((h[737]|0)-c|0)>>>0:0){n=h[739]|0;if(s>>>0<n>>>0)Le();a=s+c|0;if(s>>>0>=a>>>0)Le();f=h[s+24>>2]|0;r=h[s+12>>2]|0;do{if((r|0)==(s|0)){e=s+20|0;i=h[e>>2]|0;if(!i){e=s+16|0;i=h[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=h[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=h[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0<n>>>0)Le();else{h[e>>2]=0;b=i;break}}else{t=h[s+8>>2]|0;if(t>>>0<n>>>0)Le();i=t+12|0;if((h[i>>2]|0)!=(s|0))Le();e=r+8|0;if((h[e>>2]|0)==(s|0)){h[i>>2]=r;h[e>>2]=t;b=r;break}else Le()}}while(0);do{if(f){i=h[s+28>>2]|0;e=3244+(i<<2)|0;if((s|0)==(h[e>>2]|0)){h[e>>2]=b;if(!b){h[736]=h[736]&~(1<<i);break}}else{if(f>>>0<(h[739]|0)>>>0)Le();i=f+16|0;if((h[i>>2]|0)==(s|0))h[i>>2]=b;else h[f+20>>2]=b;if(!b)break}e=h[739]|0;if(b>>>0<e>>>0)Le();h[b+24>>2]=f;i=h[s+16>>2]|0;do{if(i)if(i>>>0<e>>>0)Le();else{h[b+16>>2]=i;h[i+24>>2]=b;break}}while(0);i=h[s+20>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[b+20>>2]=i;h[i+24>>2]=b;break}}}while(0);e:do{if(l>>>0>=16){h[s+4>>2]=c|3;h[s+(c|4)>>2]=l|1;h[s+(l+c)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=h[735]|0;i=1<<i;if(r&i){i=2980+(e+2<<2)|0;e=h[i>>2]|0;if(e>>>0<(h[739]|0)>>>0)Le();else{m=i;p=e}}else{h[735]=r|i;m=2980+(e+2<<2)|0;p=t}h[m>>2]=a;h[p+12>>2]=a;h[s+(c+8)>>2]=p;h[s+(c+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<<N;B=(F+520192|0)>>>16&4;F=F<<B;t=(F+245760|0)>>>16&2;t=14-(B|N|t)+(F<<t>>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=3244+(t<<2)|0;h[s+(c+28)>>2]=t;h[s+(c+20)>>2]=0;h[s+(c+16)>>2]=0;e=h[736]|0;r=1<<t;if(!(e&r)){h[736]=e|r;h[i>>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break}i=h[i>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[739]|0)>>>0)Le();else{h[e>>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break e}}else A=i}while(0);i=A+8|0;e=h[i>>2]|0;F=h[739]|0;if(e>>>0>=F>>>0&A>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[s+(c+8)>>2]=e;h[s+(c+12)>>2]=A;h[s+(c+24)>>2]=0;break}else Le()}else{F=l+c|0;h[s+4>>2]=F|3;F=s+(F+4)|0;h[F>>2]=h[F>>2]|1}}while(0);F=s+8|0;return F|0}else w=c}else w=c}else w=-1}while(0);r=h[737]|0;if(r>>>0>=w>>>0){i=r-w|0;e=h[740]|0;if(i>>>0>15){h[740]=e+w;h[737]=i;h[e+(w+4)>>2]=i|1;h[e+r>>2]=i;h[e+4>>2]=w|3}else{h[737]=0;h[740]=0;h[e+4>>2]=r|3;F=e+(r+4)|0;h[F>>2]=h[F>>2]|1}F=e+8|0;return F|0}e=h[738]|0;if(e>>>0>w>>>0){N=e-w|0;h[738]=N;F=h[741]|0;h[741]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}do{if(!(h[853]|0)){e=Ne(30)|0;if(!(e+-1&e)){h[855]=e;h[854]=e;h[856]=-1;h[857]=-1;h[858]=0;h[846]=0;A=(We(0)|0)&-16^1431655768;h[853]=A;break}else Le()}}while(0);s=w+48|0;l=h[855]|0;o=w+47|0;a=l+o|0;l=0-l|0;u=a&l;if(u>>>0<=w>>>0){F=0;return F|0}e=h[845]|0;if((e|0)!=0?(p=h[843]|0,A=p+u|0,A>>>0<=p>>>0|A>>>0>e>>>0):0){F=0;return F|0}e:do{if(!(h[846]&4)){e=h[741]|0;i:do{if(e){n=3388;while(1){r=h[n>>2]|0;if(r>>>0<=e>>>0?(_=n+4|0,(r+(h[_>>2]|0)|0)>>>0>e>>>0):0){f=n;e=_;break}n=h[n+8>>2]|0;if(!n){g=174;break i}}r=a-(h[738]|0)&l;if(r>>>0<2147483647){n=Ie(r|0)|0;A=(n|0)==((h[f>>2]|0)+(h[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174}while(0);do{if((g|0)==174){f=Ie(0)|0;if((f|0)!=(-1|0)){e=f;r=h[854]|0;n=r+-1|0;if(!(n&e))r=u;else r=u-e+(n+e&0-r)|0;e=h[843]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){A=h[845]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=Ie(r|0)|0;A=(n|0)==(f|0);e=A?r:0;if(A){y=f;k=e;g=194;break e}else g=184}else e=0}else e=0}}while(0);i:do{if((g|0)==184){f=0-r|0;do{if(s>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(v=h[855]|0,v=o-r+v&0-v,v>>>0<2147483647):0)if((Ie(v|0)|0)==(-1|0)){Ie(f|0)|0;break i}else{r=v+r|0;break}}while(0);if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}}while(0);h[846]=h[846]|4;g=191}else{e=0;g=191}}while(0);if((((g|0)==191?u>>>0<2147483647:0)?(y=Ie(u|0)|0,E=Ie(0)|0,y>>>0<E>>>0&((y|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(M=E-y|0,T=M>>>0>(w+40|0)>>>0,T):0){k=T?M:e;g=194}if((g|0)==194){e=(h[843]|0)+k|0;h[843]=e;if(e>>>0>(h[844]|0)>>>0)h[844]=e;a=h[741]|0;e:do{if(a){f=3388;do{e=h[f>>2]|0;r=f+4|0;n=h[r>>2]|0;if((y|0)==(e+n|0)){S=e;P=r;O=n;R=f;g=204;break}f=h[f+8>>2]|0}while((f|0)!=0);if(((g|0)==204?(h[R+12>>2]&8|0)==0:0)?a>>>0<y>>>0&a>>>0>=S>>>0:0){h[P>>2]=O+k;F=(h[738]|0)+k|0;N=a+8|0;N=(N&7|0)==0?0:0-N&7;B=F-N|0;h[741]=a+N;h[738]=B;h[a+(N+4)>>2]=B|1;h[a+(F+4)>>2]=40;h[742]=h[857];break}e=h[739]|0;if(y>>>0<e>>>0){h[739]=y;e=y}r=y+k|0;f=3388;while(1){if((h[f>>2]|0)==(r|0)){n=f;r=f;g=212;break}f=h[f+8>>2]|0;if(!f){r=3388;break}}if((g|0)==212)if(!(h[r+12>>2]&8)){h[n>>2]=y;d=r+4|0;h[d>>2]=(h[d>>2]|0)+k;d=y+8|0;d=(d&7|0)==0?0:0-d&7;o=y+(k+8)|0;o=(o&7|0)==0?0:0-o&7;i=y+(o+k)|0;c=d+w|0;b=y+c|0;u=i-(y+d)-w|0;h[y+(d+4)>>2]=w|3;i:do{if((i|0)!=(a|0)){if((i|0)==(h[740]|0)){F=(h[737]|0)+u|0;h[737]=F;h[740]=b;h[y+(c+4)>>2]=F|1;h[y+(F+c)>>2]=F;break}l=k+4|0;r=h[y+(l+o)>>2]|0;if((r&3|0)==1){s=r&-8;f=r>>>3;r:do{if(r>>>0>=256){a=h[y+((o|24)+k)>>2]|0;t=h[y+(k+12+o)>>2]|0;do{if((t|0)==(i|0)){n=o|16;t=y+(l+n)|0;r=h[t>>2]|0;if(!r){t=y+(n+k)|0;r=h[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0<e>>>0)Le();else{h[t>>2]=0;I=r;break}}else{n=h[y+((o|8)+k)>>2]|0;if(n>>>0<e>>>0)Le();e=n+12|0;if((h[e>>2]|0)!=(i|0))Le();r=t+8|0;if((h[r>>2]|0)==(i|0)){h[e>>2]=t;h[r>>2]=n;I=t;break}else Le()}}while(0);if(!a)break;e=h[y+(k+28+o)>>2]|0;r=3244+(e<<2)|0;do{if((i|0)!=(h[r>>2]|0)){if(a>>>0<(h[739]|0)>>>0)Le();e=a+16|0;if((h[e>>2]|0)==(i|0))h[e>>2]=I;else h[a+20>>2]=I;if(!I)break r}else{h[r>>2]=I;if(I)break;h[736]=h[736]&~(1<<e);break r}}while(0);r=h[739]|0;if(I>>>0<r>>>0)Le();h[I+24>>2]=a;i=o|16;e=h[y+(i+k)>>2]|0;do{if(e)if(e>>>0<r>>>0)Le();else{h[I+16>>2]=e;h[e+24>>2]=I;break}}while(0);i=h[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(h[739]|0)>>>0)Le();else{h[I+20>>2]=i;h[i+24>>2]=I;break}}else{t=h[y+((o|8)+k)>>2]|0;n=h[y+(k+12+o)>>2]|0;r=2980+(f<<1<<2)|0;do{if((t|0)!=(r|0)){if(t>>>0<e>>>0)Le();if((h[t+12>>2]|0)==(i|0))break;Le()}}while(0);if((n|0)==(t|0)){h[735]=h[735]&~(1<<f);break}do{if((n|0)==(r|0))L=n+8|0;else{if(n>>>0<e>>>0)Le();e=n+8|0;if((h[e>>2]|0)==(i|0)){L=e;break}Le()}}while(0);h[t+12>>2]=n;h[L>>2]=t}}while(0);i=y+((s|o)+k)|0;n=s+u|0}else n=u;i=i+4|0;h[i>>2]=h[i>>2]&-2;h[y+(c+4)>>2]=n|1;h[y+(n+c)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=h[735]|0;i=1<<i;do{if(!(r&i)){h[735]=r|i;B=2980+(e+2<<2)|0;N=t}else{i=2980+(e+2<<2)|0;e=h[i>>2]|0;if(e>>>0>=(h[739]|0)>>>0){B=i;N=e;break}Le()}}while(0);h[B>>2]=b;h[N+12>>2]=b;h[y+(c+8)>>2]=N;h[y+(c+12)>>2]=t;break}i=n>>>8;do{if(!i)t=0;else{if(n>>>0>16777215){t=31;break}B=(i+1048320|0)>>>16&8;N=i<<B;I=(N+520192|0)>>>16&4;N=N<<I;t=(N+245760|0)>>>16&2;t=14-(I|B|t)+(N<<t>>>15)|0;t=n>>>(t+7|0)&1|t<<1}}while(0);i=3244+(t<<2)|0;h[y+(c+28)>>2]=t;h[y+(c+20)>>2]=0;h[y+(c+16)>>2]=0;e=h[736]|0;r=1<<t;if(!(e&r)){h[736]=e|r;h[i>>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break}i=h[i>>2]|0;r:do{if((h[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(h[739]|0)>>>0)Le();else{h[e>>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break i}}else F=i}while(0);i=F+8|0;e=h[i>>2]|0;N=h[739]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){h[e+12>>2]=b;h[i>>2]=b;h[y+(c+8)>>2]=e;h[y+(c+12)>>2]=F;h[y+(c+24)>>2]=0;break}else Le()}else{F=(h[738]|0)+u|0;h[738]=F;h[741]=b;h[y+(c+4)>>2]=F|1}}while(0);F=y+(d|8)|0;return F|0}else r=3388;while(1){e=h[r>>2]|0;if(e>>>0<=a>>>0?(i=h[r+4>>2]|0,t=e+i|0,t>>>0>a>>>0):0)break;r=h[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=a+16|0;e=e>>>0<n>>>0?a:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;h[741]=y+r;h[738]=F;h[y+(r+4)>>2]=F|1;h[y+(k+-36)>>2]=40;h[742]=h[857];r=e+4|0;h[r>>2]=27;h[i>>2]=h[847];h[i+4>>2]=h[848];h[i+8>>2]=h[849];h[i+12>>2]=h[850];h[847]=y;h[848]=k;h[850]=0;h[849]=i;i=e+28|0;h[i>>2]=7;if((e+32|0)>>>0<t>>>0)do{F=i;i=i+4|0;h[i>>2]=7}while((F+8|0)>>>0<t>>>0);if((e|0)!=(a|0)){f=e-a|0;h[r>>2]=h[r>>2]&-2;h[a+4>>2]=f|1;h[e>>2]=f;i=f>>>3;if(f>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=h[735]|0;i=1<<i;if(r&i){i=2980+(e+2<<2)|0;e=h[i>>2]|0;if(e>>>0<(h[739]|0)>>>0)Le();else{C=i;D=e}}else{h[735]=r|i;C=2980+(e+2<<2)|0;D=t}h[C>>2]=a;h[D+12>>2]=a;h[a+8>>2]=D;h[a+12>>2]=t;break}i=f>>>8;if(i)if(f>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<<N;B=(F+520192|0)>>>16&4;F=F<<B;t=(F+245760|0)>>>16&2;t=14-(B|N|t)+(F<<t>>>15)|0;t=f>>>(t+7|0)&1|t<<1}else t=0;r=3244+(t<<2)|0;h[a+28>>2]=t;h[a+20>>2]=0;h[n>>2]=0;i=h[736]|0;e=1<<t;if(!(i&e)){h[736]=i|e;h[r>>2]=a;h[a+24>>2]=r;h[a+12>>2]=a;h[a+8>>2]=a;break}i=h[r>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){t=f<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(f|0)){x=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[739]|0)>>>0)Le();else{h[e>>2]=a;h[a+24>>2]=i;h[a+12>>2]=a;h[a+8>>2]=a;break e}}else x=i}while(0);i=x+8|0;e=h[i>>2]|0;F=h[739]|0;if(e>>>0>=F>>>0&x>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[a+8>>2]=e;h[a+12>>2]=x;h[a+24>>2]=0;break}else Le()}}else{F=h[739]|0;if((F|0)==0|y>>>0<F>>>0)h[739]=y;h[847]=y;h[848]=k;h[850]=0;h[744]=h[853];h[743]=-1;i=0;do{F=i<<1;N=2980+(F<<2)|0;h[2980+(F+3<<2)>>2]=N;h[2980+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32);F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;h[741]=y+F;h[738]=N;h[y+(F+4)>>2]=N|1;h[y+(k+-36)>>2]=40;h[742]=h[857]}}while(0);i=h[738]|0;if(i>>>0>w>>>0){N=i-w|0;h[738]=N;F=h[741]|0;h[741]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}}F=Pl()|0;h[F>>2]=12;F=0;return F|0}function Ds(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;if(!e)return;i=e+-8|0;l=h[739]|0;if(i>>>0<l>>>0)Le();r=h[e+-4>>2]|0;t=r&3;if((t|0)==1)Le();b=r&-8;w=e+(b+-8)|0;do{if(!(r&1)){i=h[i>>2]|0;if(!t)return;s=-8-i|0;u=e+s|0;c=i+b|0;if(u>>>0<l>>>0)Le();if((u|0)==(h[740]|0)){i=e+(b+-4)|0;r=h[i>>2]|0;if((r&3|0)!=3){v=u;f=c;break}h[737]=c;h[i>>2]=r&-2;h[e+(s+4)>>2]=c|1;h[w>>2]=c;return}n=i>>>3;if(i>>>0<256){t=h[e+(s+8)>>2]|0;r=h[e+(s+12)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<l>>>0)Le();if((h[t+12>>2]|0)!=(u|0))Le()}if((r|0)==(t|0)){h[735]=h[735]&~(1<<n);v=u;f=c;break}if((r|0)!=(i|0)){if(r>>>0<l>>>0)Le();i=r+8|0;if((h[i>>2]|0)==(u|0))a=i;else Le()}else a=r+8|0;h[t+12>>2]=r;h[a>>2]=t;v=u;f=c;break}a=h[e+(s+24)>>2]|0;t=h[e+(s+12)>>2]|0;do{if((t|0)==(u|0)){r=e+(s+20)|0;i=h[r>>2]|0;if(!i){r=e+(s+16)|0;i=h[r>>2]|0;if(!i){o=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<l>>>0)Le();else{h[r>>2]=0;o=i;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0<l>>>0)Le();i=n+12|0;if((h[i>>2]|0)!=(u|0))Le();r=t+8|0;if((h[r>>2]|0)==(u|0)){h[i>>2]=t;h[r>>2]=n;o=t;break}else Le()}}while(0);if(a){i=h[e+(s+28)>>2]|0;r=3244+(i<<2)|0;if((u|0)==(h[r>>2]|0)){h[r>>2]=o;if(!o){h[736]=h[736]&~(1<<i);v=u;f=c;break}}else{if(a>>>0<(h[739]|0)>>>0)Le();i=a+16|0;if((h[i>>2]|0)==(u|0))h[i>>2]=o;else h[a+20>>2]=o;if(!o){v=u;f=c;break}}r=h[739]|0;if(o>>>0<r>>>0)Le();h[o+24>>2]=a;i=h[e+(s+16)>>2]|0;do{if(i)if(i>>>0<r>>>0)Le();else{h[o+16>>2]=i;h[i+24>>2]=o;break}}while(0);i=h[e+(s+20)>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[o+20>>2]=i;h[i+24>>2]=o;v=u;f=c;break}else{v=u;f=c}}else{v=u;f=c}}else{v=i;f=b}}while(0);if(v>>>0>=w>>>0)Le();i=e+(b+-4)|0;r=h[i>>2]|0;if(!(r&1))Le();if(!(r&2)){if((w|0)==(h[741]|0)){p=(h[738]|0)+f|0;h[738]=p;h[741]=v;h[v+4>>2]=p|1;if((v|0)!=(h[740]|0))return;h[740]=0;h[737]=0;return}if((w|0)==(h[740]|0)){p=(h[737]|0)+f|0;h[737]=p;h[740]=v;h[v+4>>2]=p|1;h[v+p>>2]=p;return}f=(r&-8)+f|0;n=r>>>3;do{if(r>>>0>=256){a=h[e+(b+16)>>2]|0;i=h[e+(b|4)>>2]|0;do{if((i|0)==(w|0)){r=e+(b+12)|0;i=h[r>>2]|0;if(!i){r=e+(b+8)|0;i=h[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(h[739]|0)>>>0)Le();else{h[r>>2]=0;k=i;break}}else{r=h[e+b>>2]|0;if(r>>>0<(h[739]|0)>>>0)Le();t=r+12|0;if((h[t>>2]|0)!=(w|0))Le();n=i+8|0;if((h[n>>2]|0)==(w|0)){h[t>>2]=i;h[n>>2]=r;k=i;break}else Le()}}while(0);if(a){i=h[e+(b+20)>>2]|0;r=3244+(i<<2)|0;if((w|0)==(h[r>>2]|0)){h[r>>2]=k;if(!k){h[736]=h[736]&~(1<<i);break}}else{if(a>>>0<(h[739]|0)>>>0)Le();i=a+16|0;if((h[i>>2]|0)==(w|0))h[i>>2]=k;else h[a+20>>2]=k;if(!k)break}r=h[739]|0;if(k>>>0<r>>>0)Le();h[k+24>>2]=a;i=h[e+(b+8)>>2]|0;do{if(i)if(i>>>0<r>>>0)Le();else{h[k+16>>2]=i;h[i+24>>2]=k;break}}while(0);i=h[e+(b+12)>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[k+20>>2]=i;h[i+24>>2]=k;break}}}else{t=h[e+b>>2]|0;r=h[e+(b|4)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(h[739]|0)>>>0)Le();if((h[t+12>>2]|0)!=(w|0))Le()}if((r|0)==(t|0)){h[735]=h[735]&~(1<<n);break}if((r|0)!=(i|0)){if(r>>>0<(h[739]|0)>>>0)Le();i=r+8|0;if((h[i>>2]|0)==(w|0))d=i;else Le()}else d=r+8|0;h[t+12>>2]=r;h[d>>2]=t}}while(0);h[v+4>>2]=f|1;h[v+f>>2]=f;if((v|0)==(h[740]|0)){h[737]=f;return}}else{h[i>>2]=r&-2;h[v+4>>2]=f|1;h[v+f>>2]=f}i=f>>>3;if(f>>>0<256){r=i<<1;n=2980+(r<<2)|0;t=h[735]|0;i=1<<i;if(t&i){i=2980+(r+2<<2)|0;r=h[i>>2]|0;if(r>>>0<(h[739]|0)>>>0)Le();else{_=i;m=r}}else{h[735]=t|i;_=2980+(r+2<<2)|0;m=n}h[_>>2]=v;h[m+12>>2]=v;h[v+8>>2]=m;h[v+12>>2]=n;return}i=f>>>8;if(i)if(f>>>0>16777215)n=31;else{_=(i+1048320|0)>>>16&8;m=i<<_;w=(m+520192|0)>>>16&4;m=m<<w;n=(m+245760|0)>>>16&2;n=14-(w|_|n)+(m<<n>>>15)|0;n=f>>>(n+7|0)&1|n<<1}else n=0;i=3244+(n<<2)|0;h[v+28>>2]=n;h[v+20>>2]=0;h[v+16>>2]=0;r=h[736]|0;t=1<<n;e:do{if(r&t){i=h[i>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){n=f<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=h[r>>2]|0;if(!t)break;if((h[t+4>>2]&-8|0)==(f|0)){p=t;break i}else{n=n<<1;i=t}}if(r>>>0<(h[739]|0)>>>0)Le();else{h[r>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v;break e}}else p=i}while(0);i=p+8|0;r=h[i>>2]|0;m=h[739]|0;if(r>>>0>=m>>>0&p>>>0>=m>>>0){h[r+12>>2]=v;h[i>>2]=v;h[v+8>>2]=r;h[v+12>>2]=p;h[v+24>>2]=0;break}else Le()}else{h[736]=r|t;h[i>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v}}while(0);v=(h[743]|0)+-1|0;h[743]=v;if(!v)i=3396;else return;while(1){i=h[i>>2]|0;if(!i)break;else i=i+8|0}h[743]=-1;return}function xs(e,i){e=e|0;i=i|0;var r=0;if(e){r=ue(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=Cs(r)|0;if(!i)return i|0;if(!(h[i+-4>>2]&3))return i|0;qs(i|0,0,r|0)|0;return i|0}function Is(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=Cs(i)|0;return e|0}if(i>>>0>4294967231){e=Pl()|0;h[e>>2]=12;e=0;return e|0}r=Ns(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=Cs(i)|0;if(!r){e=0;return e|0}t=h[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;Gs(r|0,e|0,(t>>>0<i>>>0?t:i)|0)|0;Ds(e);e=r;return e|0}function Bs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;do{if((i|0)!=8){t=i>>>2;if((i&3|0)!=0|(t|0)==0){e=22;return e|0}if(t+1073741823&t){e=22;return e|0}if((-64-i|0)>>>0<r>>>0){e=12;return e|0}else{t=Fs(i>>>0<16?16:i,r)|0;break}}else t=Cs(r)|0}while(0);if(!t){e=12;return e|0}h[e>>2]=t;e=0;return e|0}function Ns(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;b=e+4|0;k=h[b>>2]|0;s=k&-8;u=e+s|0;l=h[739]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0<u>>>0))Le();t=e+(s|4)|0;n=h[t>>2]|0;if(!(n&1))Le();if(!r){if(i>>>0<256){e=0;return e|0}if(s>>>0>=(i+4|0)>>>0?(s-i|0)>>>0<=h[855]<<1>>>0:0)return e|0;e=0;return e|0}if(s>>>0>=i>>>0){r=s-i|0;if(r>>>0<=15)return e|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|3;h[t>>2]=h[t>>2]|1;Us(e+i|0,r);return e|0}if((u|0)==(h[741]|0)){r=(h[738]|0)+s|0;if(r>>>0<=i>>>0){e=0;return e|0}d=r-i|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|1;h[741]=e+i;h[738]=d;return e|0}if((u|0)==(h[740]|0)){t=(h[737]|0)+s|0;if(t>>>0<i>>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|1;h[e+t>>2]=r;t=e+(t+4)|0;h[t>>2]=h[t>>2]&-2;t=e+i|0}else{h[b>>2]=k&1|t|2;t=e+(t+4)|0;h[t>>2]=h[t>>2]|1;t=0;r=0}h[737]=r;h[740]=t;return e|0}if(n&2){e=0;return e|0}c=(n&-8)+s|0;if(c>>>0<i>>>0){e=0;return e|0}d=c-i|0;f=n>>>3;do{if(n>>>0>=256){a=h[e+(s+24)>>2]|0;f=h[e+(s+12)>>2]|0;do{if((f|0)==(u|0)){t=e+(s+20)|0;r=h[t>>2]|0;if(!r){t=e+(s+16)|0;r=h[t>>2]|0;if(!r){o=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0<l>>>0)Le();else{h[t>>2]=0;o=r;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0<l>>>0)Le();r=n+12|0;if((h[r>>2]|0)!=(u|0))Le();t=f+8|0;if((h[t>>2]|0)==(u|0)){h[r>>2]=f;h[t>>2]=n;o=f;break}else Le()}}while(0);if(a){r=h[e+(s+28)>>2]|0;t=3244+(r<<2)|0;if((u|0)==(h[t>>2]|0)){h[t>>2]=o;if(!o){h[736]=h[736]&~(1<<r);break}}else{if(a>>>0<(h[739]|0)>>>0)Le();r=a+16|0;if((h[r>>2]|0)==(u|0))h[r>>2]=o;else h[a+20>>2]=o;if(!o)break}t=h[739]|0;if(o>>>0<t>>>0)Le();h[o+24>>2]=a;r=h[e+(s+16)>>2]|0;do{if(r)if(r>>>0<t>>>0)Le();else{h[o+16>>2]=r;h[r+24>>2]=o;break}}while(0);r=h[e+(s+20)>>2]|0;if(r)if(r>>>0<(h[739]|0)>>>0)Le();else{h[o+20>>2]=r;h[r+24>>2]=o;break}}}else{n=h[e+(s+8)>>2]|0;t=h[e+(s+12)>>2]|0;r=2980+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<l>>>0)Le();if((h[n+12>>2]|0)!=(u|0))Le()}if((t|0)==(n|0)){h[735]=h[735]&~(1<<f);break}if((t|0)!=(r|0)){if(t>>>0<l>>>0)Le();r=t+8|0;if((h[r>>2]|0)==(u|0))a=r;else Le()}else a=t+8|0;h[n+12>>2]=t;h[a>>2]=n}}while(0);if(d>>>0<16){h[b>>2]=c|k&1|2;i=e+(c|4)|0;h[i>>2]=h[i>>2]|1;return e|0}else{h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|3;k=e+(c|4)|0;h[k>>2]=h[k>>2]|1;Us(e+i|0,d);return e|0}return 0}function Fs(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;e=e>>>0<16?16:e;if(e+-1&e){r=16;while(1)if(r>>>0<e>>>0)r=r<<1;else{e=r;break}}if((-64-e|0)>>>0<=i>>>0){l=Pl()|0;h[l>>2]=12;l=0;return l|0}a=i>>>0<11?16:i+11&-8;t=Cs(a+12+e|0)|0;if(!t){l=0;return l|0}i=t+-8|0;r=e+-1|0;do{if(t&r){n=t+r&0-e;r=n+-8|0;f=i;n=(r-f|0)>>>0>15?r:n+(e+-8)|0;f=n-f|0;e=t+-4|0;t=h[e>>2]|0;r=(t&-8)-f|0;if(!(t&3)){h[n>>2]=(h[i>>2]|0)+f;h[n+4>>2]=r;i=n;break}else{t=n+4|0;h[t>>2]=r|h[t>>2]&1|2;r=n+(r+4)|0;h[r>>2]=h[r>>2]|1;h[e>>2]=f|h[e>>2]&1|2;h[t>>2]=h[t>>2]|1;Us(i,f);i=n;break}}}while(0);e=i+4|0;r=h[e>>2]|0;if((r&3|0)!=0?(l=r&-8,l>>>0>(a+16|0)>>>0):0){f=l-a|0;h[e>>2]=a|r&1|2;h[i+(a|4)>>2]=f|3;l=i+(l|4)|0;h[l>>2]=h[l>>2]|1;Us(i+a|0,f)}l=i+8|0;return l|0}function Us(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;w=e+i|0;r=h[e+4>>2]|0;do{if(!(r&1)){o=h[e>>2]|0;if(!(r&3))return;d=e+(0-o)|0;c=o+i|0;s=h[739]|0;if(d>>>0<s>>>0)Le();if((d|0)==(h[740]|0)){t=e+(i+4)|0;r=h[t>>2]|0;if((r&3|0)!=3){p=d;a=c;break}h[737]=c;h[t>>2]=r&-2;h[e+(4-o)>>2]=c|1;h[w>>2]=c;return}f=o>>>3;if(o>>>0<256){n=h[e+(8-o)>>2]|0;t=h[e+(12-o)>>2]|0;r=2980+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<s>>>0)Le();if((h[n+12>>2]|0)!=(d|0))Le()}if((t|0)==(n|0)){h[735]=h[735]&~(1<<f);p=d;a=c;break}if((t|0)!=(r|0)){if(t>>>0<s>>>0)Le();r=t+8|0;if((h[r>>2]|0)==(d|0))l=r;else Le()}else l=t+8|0;h[n+12>>2]=t;h[l>>2]=n;p=d;a=c;break}l=h[e+(24-o)>>2]|0;n=h[e+(12-o)>>2]|0;do{if((n|0)==(d|0)){n=16-o|0;t=e+(n+4)|0;r=h[t>>2]|0;if(!r){t=e+n|0;r=h[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0<s>>>0)Le();else{h[t>>2]=0;u=r;break}}else{f=h[e+(8-o)>>2]|0;if(f>>>0<s>>>0)Le();r=f+12|0;if((h[r>>2]|0)!=(d|0))Le();t=n+8|0;if((h[t>>2]|0)==(d|0)){h[r>>2]=n;h[t>>2]=f;u=n;break}else Le()}}while(0);if(l){r=h[e+(28-o)>>2]|0;t=3244+(r<<2)|0;if((d|0)==(h[t>>2]|0)){h[t>>2]=u;if(!u){h[736]=h[736]&~(1<<r);p=d;a=c;break}}else{if(l>>>0<(h[739]|0)>>>0)Le();r=l+16|0;if((h[r>>2]|0)==(d|0))h[r>>2]=u;else h[l+20>>2]=u;if(!u){p=d;a=c;break}}n=h[739]|0;if(u>>>0<n>>>0)Le();h[u+24>>2]=l;r=16-o|0;t=h[e+r>>2]|0;do{if(t)if(t>>>0<n>>>0)Le();else{h[u+16>>2]=t;h[t+24>>2]=u;break}}while(0);r=h[e+(r+4)>>2]|0;if(r)if(r>>>0<(h[739]|0)>>>0)Le();else{h[u+20>>2]=r;h[r+24>>2]=u;p=d;a=c;break}else{p=d;a=c}}else{p=d;a=c}}else{p=e;a=i}}while(0);s=h[739]|0;if(w>>>0<s>>>0)Le();r=e+(i+4)|0;t=h[r>>2]|0;if(!(t&2)){if((w|0)==(h[741]|0)){m=(h[738]|0)+a|0;h[738]=m;h[741]=p;h[p+4>>2]=m|1;if((p|0)!=(h[740]|0))return;h[740]=0;h[737]=0;return}if((w|0)==(h[740]|0)){m=(h[737]|0)+a|0;h[737]=m;h[740]=p;h[p+4>>2]=m|1;h[p+m>>2]=m;return}a=(t&-8)+a|0;f=t>>>3;do{if(t>>>0>=256){l=h[e+(i+24)>>2]|0;n=h[e+(i+12)>>2]|0;do{if((n|0)==(w|0)){t=e+(i+20)|0;r=h[t>>2]|0;if(!r){t=e+(i+16)|0;r=h[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0<s>>>0)Le();else{h[t>>2]=0;k=r;break}}else{f=h[e+(i+8)>>2]|0;if(f>>>0<s>>>0)Le();r=f+12|0;if((h[r>>2]|0)!=(w|0))Le();t=n+8|0;if((h[t>>2]|0)==(w|0)){h[r>>2]=n;h[t>>2]=f;k=n;break}else Le()}}while(0);if(l){r=h[e+(i+28)>>2]|0;t=3244+(r<<2)|0;if((w|0)==(h[t>>2]|0)){h[t>>2]=k;if(!k){h[736]=h[736]&~(1<<r);break}}else{if(l>>>0<(h[739]|0)>>>0)Le();r=l+16|0;if((h[r>>2]|0)==(w|0))h[r>>2]=k;else h[l+20>>2]=k;if(!k)break}t=h[739]|0;if(k>>>0<t>>>0)Le();h[k+24>>2]=l;r=h[e+(i+16)>>2]|0;do{if(r)if(r>>>0<t>>>0)Le();else{h[k+16>>2]=r;h[r+24>>2]=k;break}}while(0);r=h[e+(i+20)>>2]|0;if(r)if(r>>>0<(h[739]|0)>>>0)Le();else{h[k+20>>2]=r;h[r+24>>2]=k;break}}}else{n=h[e+(i+8)>>2]|0;t=h[e+(i+12)>>2]|0;r=2980+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<s>>>0)Le();if((h[n+12>>2]|0)!=(w|0))Le()}if((t|0)==(n|0)){h[735]=h[735]&~(1<<f);break}if((t|0)!=(r|0)){if(t>>>0<s>>>0)Le();r=t+8|0;if((h[r>>2]|0)==(w|0))b=r;else Le()}else b=t+8|0;h[n+12>>2]=t;h[b>>2]=n}}while(0);h[p+4>>2]=a|1;h[p+a>>2]=a;if((p|0)==(h[740]|0)){h[737]=a;return}}else{h[r>>2]=t&-2;h[p+4>>2]=a|1;h[p+a>>2]=a}r=a>>>3;if(a>>>0<256){t=r<<1;f=2980+(t<<2)|0;n=h[735]|0;r=1<<r;if(n&r){r=2980+(t+2<<2)|0;t=h[r>>2]|0;if(t>>>0<(h[739]|0)>>>0)Le();else{_=r;m=t}}else{h[735]=n|r;_=2980+(t+2<<2)|0;m=f}h[_>>2]=p;h[m+12>>2]=p;h[p+8>>2]=m;h[p+12>>2]=f;return}r=a>>>8;if(r)if(a>>>0>16777215)f=31;else{_=(r+1048320|0)>>>16&8;m=r<<_;w=(m+520192|0)>>>16&4;m=m<<w;f=(m+245760|0)>>>16&2;f=14-(w|_|f)+(m<<f>>>15)|0;f=a>>>(f+7|0)&1|f<<1}else f=0;r=3244+(f<<2)|0;h[p+28>>2]=f;h[p+20>>2]=0;h[p+16>>2]=0;t=h[736]|0;n=1<<f;if(!(t&n)){h[736]=t|n;h[r>>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}r=h[r>>2]|0;e:do{if((h[r+4>>2]&-8|0)!=(a|0)){f=a<<((f|0)==31?0:25-(f>>>1)|0);while(1){t=r+16+(f>>>31<<2)|0;n=h[t>>2]|0;if(!n)break;if((h[n+4>>2]&-8|0)==(a|0)){r=n;break e}else{f=f<<1;r=n}}if(t>>>0<(h[739]|0)>>>0)Le();h[t>>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}}while(0);t=r+8|0;n=h[t>>2]|0;m=h[739]|0;if(!(n>>>0>=m>>>0&r>>>0>=m>>>0))Le();h[n+12>>2]=p;h[t>>2]=p;h[p+8>>2]=n;h[p+12>>2]=r;h[p+24>>2]=0;return}function js(){}function Hs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(j=t,e-r>>>0|0)|0}function Ys(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){j=i>>r;return e>>>r|(i&(1<<r)-1)<<32-r}j=(i|0)<0?-1:0;return i>>r-32|0}function qs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=e+r|0;if((r|0)>=20){i=i&255;f=e&3;a=i|i<<8|i<<16|i<<24;n=t&~3;if(f){f=e+4-f|0;while((e|0)<(f|0)){c[e>>0]=i;e=e+1|0}}while((e|0)<(n|0)){h[e>>2]=a;e=e+4|0}}while((e|0)<(t|0)){c[e>>0]=i;e=e+1|0}return e-r|0}function Xs(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){j=i<<r|(e&(1<<r)-1<<32-r)>>>32-r;return e<<r}j=e<<r-32;return 0}function zs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=e+r>>>0;return(j=i+t+(r>>>0<e>>>0|0)>>>0,r|0)|0}function Vs(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){j=i>>>r;return e>>>r|(i&(1<<r)-1)<<32-r}j=0;return i>>>r-32|0}function Gs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((r|0)>=4096)return Be(e|0,i|0,r|0)|0;t=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return t|0;c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){h[e>>2]=h[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return t|0}function Ks(e){e=e|0;var i=0;i=c[A+(e&255)>>0]|0;if((i|0)<8)return i|0;i=c[A+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=c[A+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(c[A+(e>>>24)>>0]|0)+24|0}function Ws(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=ue(n,f)|0;t=e>>>16;e=(r>>>16)+(ue(n,t)|0)|0;n=i>>>16;i=ue(n,f)|0;return(j=(e>>>16)+(ue(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Js(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;s=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;l=Hs(o^e,s^i,o,s)|0;a=j;e=f^o;i=n^s;return Hs((io(l,a,Hs(f^r,n^t,f,n)|0,j,0)|0)^e,j^i,e,i)|0}function Zs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;n=v;v=v+16|0;l=n|0;a=i>>31|((i|0)<0?-1:0)<<1;f=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;o=t>>31|((t|0)<0?-1:0)<<1;s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=Hs(a^e,f^i,a,f)|0;i=j;io(e,i,Hs(o^r,s^t,o,s)|0,j,l)|0;t=Hs(h[l>>2]^a,h[l+4>>2]^f,a,f)|0;r=j;v=n;return(j=r,t)|0}function Qs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=Ws(n,f)|0;e=j;return(j=(ue(i,f)|0)+(ue(t,n)|0)+e|e&0,r|0|0)|0}function $s(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return io(e,i,r,t,0)|0}function eo(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+16|0;n=f|0;io(e,i,r,t,n)|0;v=f;return(j=h[n+4>>2]|0,h[n>>2]|0)|0}function io(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;u=e;s=i;o=s;a=r;d=t;l=d;if(!o){f=(n|0)!=0;if(!l){if(f){h[n>>2]=(u>>>0)%(a>>>0);h[n+4>>2]=0}d=0;n=(u>>>0)/(a>>>0)>>>0;return(j=d,n)|0}else{if(!f){d=0;n=0;return(j=d,n)|0}h[n>>2]=e|0;h[n+4>>2]=i&0;d=0;n=0;return(j=d,n)|0}}f=(l|0)==0;do{if(a){if(!f){f=(de(l|0)|0)-(de(o|0)|0)|0;if(f>>>0<=31){c=f+1|0;l=31-f|0;i=f-31>>31;a=c;e=u>>>(c>>>0)&i|o<<l;i=o>>>(c>>>0)&i;f=0;l=u<<l;break}if(!n){d=0;n=0;return(j=d,n)|0}h[n>>2]=e|0;h[n+4>>2]=s|i&0;d=0;n=0;return(j=d,n)|0}f=a-1|0;if(f&a){l=(de(a|0)|0)+33-(de(o|0)|0)|0;k=64-l|0;c=32-l|0;s=c>>31;b=l-32|0;i=b>>31;a=l;e=c-1>>31&o>>>(b>>>0)|(o<<c|u>>>(l>>>0))&i;i=i&o>>>(l>>>0);f=u<<k&s;l=(o<<k|u>>>(b>>>0))&s|u<<c&l-33>>31;break}if(n){h[n>>2]=f&u;h[n+4>>2]=0}if((a|0)==1){b=s|i&0;k=e|0|0;return(j=b,k)|0}else{k=Ks(a|0)|0;b=o>>>(k>>>0)|0;k=o<<32-k|u>>>(k>>>0)|0;return(j=b,k)|0}}else{if(f){if(n){h[n>>2]=(o>>>0)%(a>>>0);h[n+4>>2]=0}b=0;k=(o>>>0)/(a>>>0)>>>0;return(j=b,k)|0}if(!u){if(n){h[n>>2]=0;h[n+4>>2]=(o>>>0)%(l>>>0)}b=0;k=(o>>>0)/(l>>>0)>>>0;return(j=b,k)|0}f=l-1|0;if(!(f&l)){if(n){h[n>>2]=e|0;h[n+4>>2]=f&o|i&0}b=0;k=o>>>((Ks(l|0)|0)>>>0);return(j=b,k)|0}f=(de(l|0)|0)-(de(o|0)|0)|0;if(f>>>0<=30){i=f+1|0;l=31-f|0;a=i;e=o<<l|u>>>(i>>>0);i=o>>>(i>>>0);f=0;l=u<<l;break}if(!n){b=0;k=0;return(j=b,k)|0}h[n>>2]=e|0;h[n+4>>2]=s|i&0;b=0;k=0;return(j=b,k)|0}}while(0);if(!a){o=l;s=0;l=0}else{c=r|0|0;u=d|t&0;o=zs(c|0,u|0,-1,-1)|0;r=j;s=l;l=0;do{t=s;s=f>>>31|s<<1;f=l|f<<1;t=e<<1|t>>>31|0;d=e>>>31|i<<1|0;Hs(o,r,t,d)|0;k=j;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=Hs(t,d,b&c,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&u)|0;i=j;a=a-1|0}while((a|0)!=0);o=s;s=0}a=0;if(n){h[n>>2]=e;h[n+4>>2]=i}b=(f|0)>>>31|(o|a)<<1|(a<<1|f>>>31)&0|s;k=(f<<1|0>>>31)&-2|l;return(j=b,k)|0}function ro(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;return Oo[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0)|0}function to(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Ro[e&63](i|0,r|0,t|0)|0}function no(e,i){e=e|0;i=i|0;return+Lo[e&3](i|0)}function fo(e,i){e=e|0;i=i|0;Co[e&7](i|0)}function ao(e,i,r){e=e|0;i=i|0;r=r|0;Do[e&7](i|0,r|0)}function lo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return xo[e&7](i|0,r|0,t|0,n|0,f|0,a|0)|0}function so(e,i){e=e|0;i=i|0;return Io[e&15](i|0)|0}function oo(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;Bo[e&15](i|0,r|0,t|0)}function uo(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;return No[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0,c|0)|0}function co(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return Fo[e&63](i|0,r|0,t|0,n|0)|0}function ho(e,i,r){e=e|0;i=i|0;r=r|0;return Uo[e&7](i|0,r|0)|0}function bo(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return jo[e&3](i|0,r|0,t|0,n|0,f|0)|0}function ko(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;Ho[e&3](i|0,r|0,t|0,n|0)}function wo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;he(0);return 0}function _o(e,i,r){e=e|0;i=i|0;r=r|0;he(1);return 0}function mo(e){e=e|0;he(2);return 0.0}function po(e){e=e|0;he(3)}function vo(e,i){e=e|0;i=i|0;he(4)}function go(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;he(5);return 0}function yo(e){e=e|0;he(6);return 0}function Eo(e,i,r){e=e|0;i=i|0;r=r|0;he(7)}function Ao(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;he(8);return 0}function Mo(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;he(9);return 0}function To(e,i){e=e|0;i=i|0;he(10);return 0}function So(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;he(11);return 0}function Po(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;he(12)}var Oo=[wo,cf,Xi,wo];var Ro=[_o,Ps,Kl,Vl,Lt,Ct,Dt,xt,Un,jn,Yn,af,vf,Bi,Ji,gf,yf,Ii,Ni,qn,Xn,zn,Vn,Tf,Sf,Pf,Of,Lf,Cf,xf,If,Bf,Nf,Ff,Uf,jf,Hf,Yf,qf,Xf,zf,Vf,Gf,Kf,Wf,Jf,Zf,Qf,$f,ea,ia,ra,er,ir,rr,tr,nr,fr,ar,lr,zl,Gl,_o,_o];var Lo=[mo,ta,na,mo];var Co=[po,tf,qi,it,rt,As,Ms,po];var Do=[vo,_t,mt,pt,$t,ef,Di,vo];var xo=[go,uf,Yi,Af,Hi,go,go,go];var Io=[yo,Xl,wf,_f,Wi,Ki,Zl,Na,xa,yo,yo,yo,yo,yo,yo,yo];var Bo=[Eo,Pi,Oi,Ri,Li,yi,Ei,Ai,Mi,mi,pi,vi,gi,hf,Gi,Eo];var No=[Ao,of,ji,Ao];var Fo=[Mo,ua,ca,ii,ri,ti,ni,fi,ai,li,si,oi,ui,ci,di,hi,bi,ki,wi,_i,mr,pr,vr,dr,hr,br,kr,wr,_r,St,Pt,Ot,Rt,mf,lf,Ci,Ui,Ef,nf,Fi,xi,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo];var Uo=[To,Hn,sr,or,ur,cr,To,To];var jo=[So,pf,zi,So];var Ho=[Po,Ha,Xa,Po];return{_opj_stream_destroy:Bt,_opj_stream_set_read_function:Nt,_opj_read_tile_header:mn,_opj_set_warning_handler:sn,_opj_destroy_cstr_info:xn,_opj_image_create:rn,_opj_set_error_handler:on,_opj_stream_set_user_data:Ht,_opj_end_decompress:Pn,_bitshift64Lshr:Vs,_opj_stream_set_seek_function:Ft,_opj_decode:wn,_opj_set_decoded_resolution_factor:gn,_i64Add:zs,_opj_stream_create_default_file_stream:Nn,_opj_encode:Tn,_bitshift64Ashr:Ys,_opj_get_decoded_tile:vn,_memset:qs,_opj_version:cn,_memcpy:Gs,_opj_destroy_cstr_index:Bn,_opj_stream_set_user_data_length:Yt,_opj_stream_set_skip_function:jt,_opj_image_destroy:tn,_opj_stream_create_file_stream:Fn,_opj_setup_encoder:An,_opj_stream_default_create:It,_bitshift64Shl:Xs,_opj_stream_create:Tt,_jp2_version:wt,_i64Subtract:Hs,_opj_get_cstr_index:In,_opj_set_default_decoder_parameters:hn,_opj_read_header:kn,_opj_get_cstr_info:Dn,_opj_set_default_encoder_parameters:En,_opj_set_decode_area:_n,_opj_stream_set_write_function:Ut,_opj_dump_codec:Cn,_opj_create_decompress:dn,_opj_decode_tile_data:pn,_free:Ds,_opj_image_tile_create:an,_opj_set_MCT:On,_opj_set_info_handler:ln,_opj_start_compress:Mn,_opj_write_tile:Rn,_opj_setup_decoder:bn,_malloc:Cs,_opj_end_compress:Sn,_opj_destroy_codec:Ln,_jp2_decode:kt,_opj_stream_create_buffer_stream:un,_opj_create_compress:yn,runPostSets:js,_emscripten_replace_memory:ei,stackAlloc:at,stackSave:lt,stackRestore:st,establishStackSpace:ot,setThrew:ut,setTempRet0:ht,getTempRet0:bt,dynCall_iiiiiiii:ro,dynCall_iiii:to,dynCall_di:no,dynCall_vi:fo,dynCall_vii:ao,dynCall_iiiiiii:lo,dynCall_ii:so,dynCall_viii:oo,dynCall_iiiiiiiiiiii:uo,dynCall_iiiii:co,dynCall_iii:ho,dynCall_iiiiii:bo,dynCall_viiii:ko}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_opj_stream_destroy=Module._opj_stream_destroy=asm._opj_stream_destroy,_opj_stream_set_read_function=Module._opj_stream_set_read_function=asm._opj_stream_set_read_function,_opj_read_tile_header=Module._opj_read_tile_header=asm._opj_read_tile_header,_opj_set_warning_handler=Module._opj_set_warning_handler=asm._opj_set_warning_handler,_opj_destroy_cstr_info=Module._opj_destroy_cstr_info=asm._opj_destroy_cstr_info,_opj_image_create=Module._opj_image_create=asm._opj_image_create,_opj_set_error_handler=Module._opj_set_error_handler=asm._opj_set_error_handler,_opj_image_tile_create=Module._opj_image_tile_create=asm._opj_image_tile_create,_opj_end_decompress=Module._opj_end_decompress=asm._opj_end_decompress,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_opj_stream_set_seek_function=Module._opj_stream_set_seek_function=asm._opj_stream_set_seek_function,_opj_decode=Module._opj_decode=asm._opj_decode,_opj_set_decoded_resolution_factor=Module._opj_set_decoded_resolution_factor=asm._opj_set_decoded_resolution_factor,_opj_stream_create_default_file_stream=Module._opj_stream_create_default_file_stream=asm._opj_stream_create_default_file_stream,_opj_set_default_decoder_parameters=Module._opj_set_default_decoder_parameters=asm._opj_set_default_decoder_parameters,_bitshift64Ashr=Module._bitshift64Ashr=asm._bitshift64Ashr,_opj_get_decoded_tile=Module._opj_get_decoded_tile=asm._opj_get_decoded_tile,_memset=Module._memset=asm._memset,_opj_version=Module._opj_version=asm._opj_version,_memcpy=Module._memcpy=asm._memcpy,_opj_destroy_cstr_index=Module._opj_destroy_cstr_index=asm._opj_destroy_cstr_index,_opj_stream_set_user_data_length=Module._opj_stream_set_user_data_length=asm._opj_stream_set_user_data_length,_opj_stream_set_skip_function=Module._opj_stream_set_skip_function=asm._opj_stream_set_skip_function,_opj_image_destroy=Module._opj_image_destroy=asm._opj_image_destroy,_opj_stream_create_file_stream=Module._opj_stream_create_file_stream=asm._opj_stream_create_file_stream,_opj_setup_encoder=Module._opj_setup_encoder=asm._opj_setup_encoder,_opj_stream_default_create=Module._opj_stream_default_create=asm._opj_stream_default_create,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_opj_stream_create=Module._opj_stream_create=asm._opj_stream_create,_jp2_version=Module._jp2_version=asm._jp2_version,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_opj_get_cstr_index=Module._opj_get_cstr_index=asm._opj_get_cstr_index,_opj_encode=Module._opj_encode=asm._opj_encode,_i64Add=Module._i64Add=asm._i64Add,_opj_get_cstr_info=Module._opj_get_cstr_info=asm._opj_get_cstr_info,_opj_set_default_encoder_parameters=Module._opj_set_default_encoder_parameters=asm._opj_set_default_encoder_parameters,_opj_set_decode_area=Module._opj_set_decode_area=asm._opj_set_decode_area,_opj_stream_set_write_function=Module._opj_stream_set_write_function=asm._opj_stream_set_write_function,_opj_dump_codec=Module._opj_dump_codec=asm._opj_dump_codec,_opj_read_header=Module._opj_read_header=asm._opj_read_header,_opj_create_decompress=Module._opj_create_decompress=asm._opj_create_decompress,_opj_decode_tile_data=Module._opj_decode_tile_data=asm._opj_decode_tile_data,_opj_set_info_handler=Module._opj_set_info_handler=asm._opj_set_info_handler,_opj_stream_set_user_data=Module._opj_stream_set_user_data=asm._opj_stream_set_user_data,_opj_set_MCT=Module._opj_set_MCT=asm._opj_set_MCT,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,_opj_start_compress=Module._opj_start_compress=asm._opj_start_compress,_opj_write_tile=Module._opj_write_tile=asm._opj_write_tile,_opj_setup_decoder=Module._opj_setup_decoder=asm._opj_setup_decoder,_malloc=Module._malloc=asm._malloc,_opj_end_compress=Module._opj_end_compress=asm._opj_end_compress,_opj_destroy_codec=Module._opj_destroy_codec=asm._opj_destroy_codec,_emscripten_replace_memory=Module._emscripten_replace_memory=asm._emscripten_replace_memory,_jp2_decode=Module._jp2_decode=asm._jp2_decode,_opj_stream_create_buffer_stream=Module._opj_stream_create_buffer_stream=asm._opj_stream_create_buffer_stream,_opj_create_compress=Module._opj_create_compress=asm._opj_create_compress,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),i()}),1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var i=e.length+1;function r(){for(var e=0;e<3;e++)t.push(0)}var t=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];r();for(var n=0;n<i-1;n+=1)t.push(allocate(intArrayFromString(e[n]),"i8",ALLOC_NORMAL)),r();t.push(0),t=allocate(t,"i32",ALLOC_NORMAL);try{exit(Module._main(i,t,0),!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);throw e&&"object"==typeof e&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}finally{calledMain=!0}},Module.run=Module.run=run,Module.exit=Module.exit=exit;var abortDecorators=[];function abort(e){void 0!==e?(Module.print(e),Module.printErr(e),e=JSON.stringify(e)):e="",ABORT=!0,EXITSTATUS=1;var i="abort("+e+") at "+stackTrace()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw abortDecorators&&abortDecorators.forEach((function(r){i=r(i,e)})),i}if(Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module}},497:function(e,i,r){var t;t=function(e){return function(e){var i=this.webpackHotUpdate;this.webpackHotUpdate=function(e,r){!function(e,i){if(y[e]&&g[e]){for(var r in g[e]=!1,i)Object.prototype.hasOwnProperty.call(i,r)&&(k[r]=i[r]);0==--m&&0===p&&T()}}(e,r),i&&i(e,r)};var r,t=!0,n="1c62e16b6d24be6b7eef",f=1e4,a={},l=[],s=[];function o(e){var i=L[e];if(!i)return C;var t=function(t){return i.hot.active?(L[t]?-1===L[t].parents.indexOf(e)&&L[t].parents.push(e):(l=[e],r=t),-1===i.children.indexOf(t)&&i.children.push(t)):(console.warn("[HMR] unexpected require("+t+") from disposed module "+e),l=[]),C(t)},n=function(e){return{configurable:!0,enumerable:!0,get:function(){return C[e]},set:function(i){C[e]=i}}};for(var f in C)Object.prototype.hasOwnProperty.call(C,f)&&"e"!==f&&"t"!==f&&Object.defineProperty(t,f,n(f));return t.e=function(e){return"ready"===d&&h("prepare"),p++,C.e(e).then(i,(function(e){throw i(),e}));function i(){p--,"prepare"===d&&(v[e]||M(e),0===p&&0===m&&T())}},t.t=function(e,i){return 1&i&&(e=t(e)),C.t(e,-2&i)},t}function u(i){var t={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_selfInvalidated:!1,_disposeHandlers:[],_main:r!==i,active:!0,accept:function(e,i){if(void 0===e)t._selfAccepted=!0;else if("function"==typeof e)t._selfAccepted=e;else if("object"==typeof e)for(var r=0;r<e.length;r++)t._acceptedDependencies[e[r]]=i||function(){};else t._acceptedDependencies[e]=i||function(){}},decline:function(e){if(void 0===e)t._selfDeclined=!0;else if("object"==typeof e)for(var i=0;i<e.length;i++)t._declinedDependencies[e[i]]=!0;else t._declinedDependencies[e]=!0},dispose:function(e){t._disposeHandlers.push(e)},addDisposeHandler:function(e){t._disposeHandlers.push(e)},removeDisposeHandler:function(e){var i=t._disposeHandlers.indexOf(e);i>=0&&t._disposeHandlers.splice(i,1)},invalidate:function(){switch(this._selfInvalidated=!0,d){case"idle":(k={})[i]=e[i],h("ready");break;case"ready":R(i);break;case"prepare":case"check":case"dispose":case"apply":(_=_||[]).push(i)}},check:A,apply:S,status:function(e){if(!e)return d;c.push(e)},addStatusHandler:function(e){c.push(e)},removeStatusHandler:function(e){var i=c.indexOf(e);i>=0&&c.splice(i,1)},data:a[i]};return r=void 0,t}var c=[],d="idle";function h(e){d=e;for(var i=0;i<c.length;i++)c[i].call(null,e)}var b,k,w,_,m=0,p=0,v={},g={},y={};function E(e){return+e+""===e?+e:e}function A(e){if("idle"!==d)throw new Error("check() is only allowed in idle status");return t=e,h("check"),(i=f,i=i||1e4,new Promise((function(e,r){if("undefined"==typeof XMLHttpRequest)return r(new Error("No browser support"));try{var t=new XMLHttpRequest,f=C.p+""+n+".hot-update.json";t.open("GET",f,!0),t.timeout=i,t.send(null)}catch(e){return r(e)}t.onreadystatechange=function(){if(4===t.readyState)if(0===t.status)r(new Error("Manifest request to "+f+" timed out."));else if(404===t.status)e();else if(200!==t.status&&304!==t.status)r(new Error("Manifest request to "+f+" failed."));else{try{var i=JSON.parse(t.responseText)}catch(e){return void r(e)}e(i)}}}))).then((function(e){if(!e)return h(O()?"ready":"idle"),null;g={},v={},y=e.c,w=e.h,h("prepare");var i=new Promise((function(e,i){b={resolve:e,reject:i}}));return k={},M("dicomParser"),"prepare"===d&&0===p&&0===m&&T(),i}));var i}function M(e){y[e]?(g[e]=!0,m++,function(e){var i=document.createElement("script");i.charset="utf-8",i.src=C.p+""+e+"."+n+".hot-update.js",document.head.appendChild(i)}(e)):v[e]=!0}function T(){h("ready");var e=b;if(b=null,e)if(t)Promise.resolve().then((function(){return S(t)})).then((function(i){e.resolve(i)}),(function(i){e.reject(i)}));else{var i=[];for(var r in k)Object.prototype.hasOwnProperty.call(k,r)&&i.push(E(r));e.resolve(i)}}function S(e){if("ready"!==d)throw new Error("apply() is only allowed in ready status");return P(e=e||{})}function P(i){var t,f,s,o,u;function c(e){for(var i=[e],r={},t=i.map((function(e){return{chain:[e],id:e}}));t.length>0;){var n=t.pop(),f=n.id,a=n.chain;if((o=L[f])&&(!o.hot._selfAccepted||o.hot._selfInvalidated)){if(o.hot._selfDeclined)return{type:"self-declined",chain:a,moduleId:f};if(o.hot._main)return{type:"unaccepted",chain:a,moduleId:f};for(var l=0;l<o.parents.length;l++){var s=o.parents[l],u=L[s];if(u){if(u.hot._declinedDependencies[f])return{type:"declined",chain:a.concat([s]),moduleId:f,parentId:s};-1===i.indexOf(s)&&(u.hot._acceptedDependencies[f]?(r[s]||(r[s]=[]),d(r[s],[f])):(delete r[s],i.push(s),t.push({chain:a.concat([s]),id:s})))}}}}return{type:"accepted",moduleId:e,outdatedModules:i,outdatedDependencies:r}}function d(e,i){for(var r=0;r<i.length;r++){var t=i[r];-1===e.indexOf(t)&&e.push(t)}}O();var b={},m=[],p={},v=function(){console.warn("[HMR] unexpected require("+A.moduleId+") to disposed module")};for(var g in k)if(Object.prototype.hasOwnProperty.call(k,g)){var A;u=E(g);var M=!1,T=!1,S=!1,R="";switch((A=k[g]?c(u):{type:"disposed",moduleId:g}).chain&&(R="\nUpdate propagation: "+A.chain.join(" -> ")),A.type){case"self-declined":i.onDeclined&&i.onDeclined(A),i.ignoreDeclined||(M=new Error("Aborted because of self decline: "+A.moduleId+R));break;case"declined":i.onDeclined&&i.onDeclined(A),i.ignoreDeclined||(M=new Error("Aborted because of declined dependency: "+A.moduleId+" in "+A.parentId+R));break;case"unaccepted":i.onUnaccepted&&i.onUnaccepted(A),i.ignoreUnaccepted||(M=new Error("Aborted because "+u+" is not accepted"+R));break;case"accepted":i.onAccepted&&i.onAccepted(A),T=!0;break;case"disposed":i.onDisposed&&i.onDisposed(A),S=!0;break;default:throw new Error("Unexception type "+A.type)}if(M)return h("abort"),Promise.reject(M);if(T)for(u in p[u]=k[u],d(m,A.outdatedModules),A.outdatedDependencies)Object.prototype.hasOwnProperty.call(A.outdatedDependencies,u)&&(b[u]||(b[u]=[]),d(b[u],A.outdatedDependencies[u]));S&&(d(m,[A.moduleId]),p[u]=v)}var D,x=[];for(f=0;f<m.length;f++)u=m[f],L[u]&&L[u].hot._selfAccepted&&p[u]!==v&&!L[u].hot._selfInvalidated&&x.push({module:u,parents:L[u].parents.slice(),errorHandler:L[u].hot._selfAccepted});h("dispose"),Object.keys(y).forEach((function(e){!1===y[e]&&function(e){delete installedChunks[e]}(e)}));for(var I,B,N=m.slice();N.length>0;)if(u=N.pop(),o=L[u]){var F={},U=o.hot._disposeHandlers;for(s=0;s<U.length;s++)(t=U[s])(F);for(a[u]=F,o.hot.active=!1,delete L[u],delete b[u],s=0;s<o.children.length;s++){var j=L[o.children[s]];j&&(D=j.parents.indexOf(u))>=0&&j.parents.splice(D,1)}}for(u in b)if(Object.prototype.hasOwnProperty.call(b,u)&&(o=L[u]))for(B=b[u],s=0;s<B.length;s++)I=B[s],(D=o.children.indexOf(I))>=0&&o.children.splice(D,1);for(u in h("apply"),void 0!==w&&(n=w,w=void 0),k=void 0,p)Object.prototype.hasOwnProperty.call(p,u)&&(e[u]=p[u]);var H=null;for(u in b)if(Object.prototype.hasOwnProperty.call(b,u)&&(o=L[u])){B=b[u];var Y=[];for(f=0;f<B.length;f++)if(I=B[f],t=o.hot._acceptedDependencies[I]){if(-1!==Y.indexOf(t))continue;Y.push(t)}for(f=0;f<Y.length;f++){t=Y[f];try{t(B)}catch(e){i.onErrored&&i.onErrored({type:"accept-errored",moduleId:u,dependencyId:B[f],error:e}),i.ignoreErrored||H||(H=e)}}}for(f=0;f<x.length;f++){var q=x[f];u=q.module,l=q.parents,r=u;try{C(u)}catch(e){if("function"==typeof q.errorHandler)try{q.errorHandler(e)}catch(r){i.onErrored&&i.onErrored({type:"self-accept-error-handler-errored",moduleId:u,error:r,originalError:e}),i.ignoreErrored||H||(H=r),H||(H=e)}else i.onErrored&&i.onErrored({type:"self-accept-errored",moduleId:u,error:e}),i.ignoreErrored||H||(H=e)}}return H?(h("fail"),Promise.reject(H)):_?P(i).then((function(e){return m.forEach((function(i){e.indexOf(i)<0&&e.push(i)})),e})):(h("idle"),new Promise((function(e){e(m)})))}function O(){if(_)return k||(k={}),_.forEach(R),_=void 0,!0}function R(i){Object.prototype.hasOwnProperty.call(k,i)||(k[i]=e[i])}var L={};function C(i){if(L[i])return L[i].exports;var r=L[i]={i,l:!1,exports:{},hot:u(i),parents:(s=l,l=[],s),children:[]};return e[i].call(r.exports,r,r.exports,o(i)),r.l=!0,r.exports}return C.m=e,C.c=L,C.d=function(e,i,r){C.o(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:r})},C.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},C.t=function(e,i){if(1&i&&(e=C(e)),8&i)return e;if(4&i&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(C.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&i&&"string"!=typeof e)for(var t in e)C.d(r,t,function(i){return e[i]}.bind(null,t));return r},C.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return C.d(i,"a",i),i},C.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},C.p="",C.h=function(){return n},o("./index.js")(C.s="./index.js")}.bind({})({"./alloc.js":function(e,i,r){function t(e,i){if("undefined"!=typeof Buffer&&e instanceof Buffer)return Buffer.alloc(i);if(e instanceof Uint8Array)return new Uint8Array(i);throw"dicomParser.alloc: unknown type for byteArray"}r.r(i),r.d(i,"default",(function(){return t}))},"./bigEndianByteArrayParser.js":function(e,i,r){r.r(i),i.default={readUint16:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if(i+2>e.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[i]<<8)+e[i+1]},readInt16:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=(e[i]<<8)+e[i+1];return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[i]+e[i+1])+e[i+2])+e[i+3]},readInt32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[i]<<24)+(e[i+1]<<16)+(e[i+2]<<8)+e[i+3]},readFloat:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[i],r[2]=e[i+1],r[1]=e[i+2],r[0]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[i],r[6]=e[i+1],r[5]=e[i+2],r[4]=e[i+3],r[3]=e[i+4],r[2]=e[i+5],r[1]=e[i+6],r[0]=e[i+7],new Float64Array(r.buffer)[0]}}},"./byteArrayParser.js":function(e,i,r){function t(e,i,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(i+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var t,n="",f=0;f<r;f++){if(0===(t=e[i+f]))return i+=r,n;n+=String.fromCharCode(t)}return n}r.r(i),r.d(i,"readFixedString",(function(){return t}))},"./byteStream.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return a}));var t=r("./sharedCopy.js"),n=r("./byteArrayParser.js");function f(e,i){for(var r=0;r<i.length;r++){var t=i[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}var a=function(){function e(i,r,t){if(function(e,i){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}(this,e),void 0===i)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(void 0===r)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(r instanceof Uint8Array==0&&("undefined"==typeof Buffer||r instanceof Buffer==0))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(t<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(t>=r.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=i,this.byteArray=r,this.position=t||0,this.warnings=[]}var i,r,a;return i=e,(r=[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(i){if(this.position+i>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=Object(t.default)(this.byteArray,this.position,i);return this.position+=i,new e(this.byteArrayParser,r)}},{key:"getSize",value:function(){return this.byteArray.length}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var i=Object(n.readFixedString)(this.byteArray,this.position,e);return this.position+=e,i}}])&&f(i.prototype,r),a&&f(i,a),Object.defineProperty(i,"prototype",{writable:!1}),e}()},"./dataSet.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return a}));var t=r("./byteArrayParser.js");function n(e,i){for(var r=0;r<i.length;r++){var t=i[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function f(e,i){return void 0!==e.parser?e.parser:i}var a=function(){function e(i,r,t){!function(e,i){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}(this,e),this.byteArrayParser=i,this.byteArray=r,this.elements=t}var i,r,a;return i=e,(r=[{key:"uint16",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return f(r,this.byteArrayParser).readUint16(this.byteArray,r.dataOffset+2*i)}},{key:"int16",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return f(r,this.byteArrayParser).readInt16(this.byteArray,r.dataOffset+2*i)}},{key:"uint32",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return f(r,this.byteArrayParser).readUint32(this.byteArray,r.dataOffset+4*i)}},{key:"int32",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return f(r,this.byteArrayParser).readInt32(this.byteArray,r.dataOffset+4*i)}},{key:"float",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return f(r,this.byteArrayParser).readFloat(this.byteArray,r.dataOffset+4*i)}},{key:"double",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return f(r,this.byteArrayParser).readDouble(this.byteArray,r.dataOffset+8*i)}},{key:"numStringValues",value:function(e){var i=this.elements[e];if(i&&i.length>0){var r=Object(t.readFixedString)(this.byteArray,i.dataOffset,i.length).match(/\\/g);return null===r?1:r.length+1}}},{key:"string",value:function(e,i){var r=this.elements[e];if(r&&r.Value)return r.Value;if(r&&r.length>0){var n=Object(t.readFixedString)(this.byteArray,r.dataOffset,r.length);return i>=0?n.split("\\")[i].trim():n.trim()}}},{key:"text",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){var n=Object(t.readFixedString)(this.byteArray,r.dataOffset,r.length);return i>=0?n.split("\\")[i].replace(/ +$/,""):n.replace(/ +$/,"")}}},{key:"floatString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseFloat(t)}}},{key:"intString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseInt(t)}}},{key:"attributeTag",value:function(e){var i=this.elements[e];if(i&&4===i.length){var r=f(i,this.byteArrayParser).readUint16,t=this.byteArray,n=i.dataOffset;return"x".concat("00000000".concat((256*r(t,n)*256+r(t,n+2)).toString(16)).substr(-8))}}}])&&n(i.prototype,r),a&&n(i,a),Object.defineProperty(i,"prototype",{writable:!1}),e}()},"./findAndSetUNElementLength.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()&&57565===e.readUint16())return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset);i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",(function(){return t}))},"./findEndOfEncapsulatedPixelData.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return n}));var t=r("./readTag.js");function n(e,i,r){if(void 0===e)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if(i.encapsulatedPixelData=!0,i.basicOffsetTable=[],i.fragments=[],"xfffee000"!==Object(t.default)(e))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var n=e.readUint32()/4,f=0;f<n;f++){var a=e.readUint32();i.basicOffsetTable.push(a)}for(var l=e.position;e.position<e.byteArray.length;){var s=Object(t.default)(e),o=e.readUint32();if("xfffee0dd"===s)return e.seek(o),void(i.length=e.position-i.dataOffset);if("xfffee000"!==s)return r&&r.push("unexpected tag ".concat(s," while searching for end of pixel data element with undefined length")),o>e.byteArray.length-e.position&&(o=e.byteArray.length-e.position),i.fragments.push({offset:e.position-l-8,position:e.position,length:o}),e.seek(o),void(i.length=e.position-i.dataOffset);i.fragments.push({offset:e.position-l-8,position:e.position,length:o}),e.seek(o)}r&&r.push("pixel data element ".concat(i.tag," missing sequence delimiter tag xfffee0dd"))}},"./findItemDelimitationItem.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()&&57357===e.readUint16())return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset);i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",(function(){return t}))},"./index.js":function(e,i,r){r.r(i);var t=r("./util/index.js");r.d(i,"isStringVr",(function(){return t.isStringVr})),r.d(i,"isPrivateTag",(function(){return t.isPrivateTag})),r.d(i,"parsePN",(function(){return t.parsePN})),r.d(i,"parseTM",(function(){return t.parseTM})),r.d(i,"parseDA",(function(){return t.parseDA})),r.d(i,"explicitElementToString",(function(){return t.explicitElementToString})),r.d(i,"explicitDataSetToJS",(function(){return t.explicitDataSetToJS})),r.d(i,"createJPEGBasicOffsetTable",(function(){return t.createJPEGBasicOffsetTable}));var n=r("./parseDicomDataSet.js");r.d(i,"parseDicomDataSetExplicit",(function(){return n.parseDicomDataSetExplicit})),r.d(i,"parseDicomDataSetImplicit",(function(){return n.parseDicomDataSetImplicit}));var f=r("./byteArrayParser.js");r.d(i,"readFixedString",(function(){return f.readFixedString}));var a=r("./alloc.js");r.d(i,"alloc",(function(){return a.default}));var l=r("./version.js");r.d(i,"version",(function(){return l.default}));var s=r("./bigEndianByteArrayParser.js");r.d(i,"bigEndianByteArrayParser",(function(){return s.default}));var o=r("./byteStream.js");r.d(i,"ByteStream",(function(){return o.default}));var u=r("./sharedCopy.js");r.d(i,"sharedCopy",(function(){return u.default}));var c=r("./dataSet.js");r.d(i,"DataSet",(function(){return c.default}));var d=r("./findAndSetUNElementLength.js");r.d(i,"findAndSetUNElementLength",(function(){return d.default}));var h=r("./findEndOfEncapsulatedPixelData.js");r.d(i,"findEndOfEncapsulatedElement",(function(){return h.default}));var b=r("./findItemDelimitationItem.js");r.d(i,"findItemDelimitationItemAndSetElementLength",(function(){return b.default}));var k=r("./littleEndianByteArrayParser.js");r.d(i,"littleEndianByteArrayParser",(function(){return k.default}));var w=r("./parseDicom.js");r.d(i,"parseDicom",(function(){return w.default}));var _=r("./readDicomElementExplicit.js");r.d(i,"readDicomElementExplicit",(function(){return _.default}));var m=r("./readDicomElementImplicit.js");r.d(i,"readDicomElementImplicit",(function(){return m.default}));var p=r("./readEncapsulatedImageFrame.js");r.d(i,"readEncapsulatedImageFrame",(function(){return p.default}));var v=r("./readEncapsulatedPixelData.js");r.d(i,"readEncapsulatedPixelData",(function(){return v.default}));var g=r("./readEncapsulatedPixelDataFromFragments.js");r.d(i,"readEncapsulatedPixelDataFromFragments",(function(){return g.default}));var y=r("./readPart10Header.js");r.d(i,"readPart10Header",(function(){return y.default}));var E=r("./readSequenceElementExplicit.js");r.d(i,"readSequenceItemsExplicit",(function(){return E.default}));var A=r("./readSequenceElementImplicit.js");r.d(i,"readSequenceItemsImplicit",(function(){return A.default}));var M=r("./readSequenceItem.js");r.d(i,"readSequenceItem",(function(){return M.default}));var T=r("./readTag.js");r.d(i,"readTag",(function(){return T.default}));var S={isStringVr:t.isStringVr,isPrivateTag:t.isPrivateTag,parsePN:t.parsePN,parseTM:t.parseTM,parseDA:t.parseDA,explicitElementToString:t.explicitElementToString,explicitDataSetToJS:t.explicitDataSetToJS,createJPEGBasicOffsetTable:t.createJPEGBasicOffsetTable,parseDicomDataSetExplicit:n.parseDicomDataSetExplicit,parseDicomDataSetImplicit:n.parseDicomDataSetImplicit,readFixedString:f.readFixedString,alloc:a.default,version:l.default,bigEndianByteArrayParser:s.default,ByteStream:o.default,sharedCopy:u.default,DataSet:c.default,findAndSetUNElementLength:d.default,findEndOfEncapsulatedElement:h.default,findItemDelimitationItemAndSetElementLength:b.default,littleEndianByteArrayParser:k.default,parseDicom:w.default,readDicomElementExplicit:_.default,readDicomElementImplicit:m.default,readEncapsulatedImageFrame:p.default,readEncapsulatedPixelData:v.default,readEncapsulatedPixelDataFromFragments:g.default,readPart10Header:y.default,readSequenceItemsExplicit:E.default,readSequenceItemsImplicit:A.default,readSequenceItem:M.default,readTag:T.default,LEI:w.LEI,LEE:w.LEE};i.default=S},"./littleEndianByteArrayParser.js":function(e,i,r){r.r(i),i.default={readUint16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[i]+256*e[i+1]},readInt16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=e[i]+(e[i+1]<<8);return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[i]+256*e[i+1]+256*e[i+2]*256+256*e[i+3]*256*256},readInt32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[i]+(e[i+1]<<8)+(e[i+2]<<16)+(e[i+3]<<24)},readFloat:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],r[4]=e[i+4],r[5]=e[i+5],r[6]=e[i+6],r[7]=e[i+7],new Float64Array(r.buffer)[0]}}},"./parseDicom.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return k})),r.d(i,"LEI",(function(){return h})),r.d(i,"LEE",(function(){return d})),r.d(i,"BEI",(function(){return b}));var t=r("./alloc.js"),n=r("./bigEndianByteArrayParser.js"),f=r("./byteStream.js"),a=r("./dataSet.js"),l=r("./littleEndianByteArrayParser.js"),s=r("./readPart10Header.js"),o=r("./sharedCopy.js"),u=r("./byteArrayParser.js"),c=r("./parseDicomDataSet.js"),d="1.2.840.10008.1.2.1",h="1.2.840.10008.1.2",b="1.2.840.10008.1.2.2";function k(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var d,h=function(i){if(void 0===i.elements.x00020010)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");var r=i.elements.x00020010;return r&&r.Value||u.readFixedString(e,r.dataOffset,r.length)};function k(s){var u=h(s),d=function(e){return"1.2.840.10008.1.2"!==e}(u),k=function(a,s){var u="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);if("1.2.840.10008.1.2.1.99"===a){if(i&&i.inflater){var c=i.inflater(e,s);return new f.default(l.default,c,0)}if(!0===u){var d=r("zlib"),h=Object(o.default)(e,s,e.length-s),k=d.inflateRawSync(h),w=Object(t.default)(e,k.length+s);return e.copy(w,0,0,s),k.copy(w,s),new f.default(l.default,w,0)}if("undefined"!=typeof pako){var _=e.slice(s),m=pako.inflateRaw(_),p=Object(t.default)(e,m.length+s);return p.set(e.slice(0,s),0),p.set(m,s),new f.default(l.default,p,0)}throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax"}return a===b?new f.default(n.default,e,s):new f.default(l.default,e,s)}(u,s.position),w=new a.default(k.byteArrayParser,k.byteArray,{});w.warnings=k.warnings;try{d?c.parseDicomDataSetExplicit(w,k,k.byteArray.length,i):c.parseDicomDataSetImplicit(w,k,k.byteArray.length,i)}catch(e){throw{exception:e,dataSet:w}}return w}return function(e,i){for(var r in e.elements)e.elements.hasOwnProperty(r)&&(i.elements[r]=e.elements[r]);return void 0!==e.warnings&&(i.warnings=e.warnings.concat(i.warnings)),i}(d=Object(s.default)(e,i),k(d))}},"./parseDicomDataSet.js":function(e,i,r){r.r(i),r.d(i,"parseDicomDataSetExplicit",(function(){return f})),r.d(i,"parseDicomDataSetImplicit",(function(){return a}));var t=r("./readDicomElementExplicit.js"),n=r("./readDicomElementImplicit.js");function f(e,i,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?i.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(r<i.position||r>i.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var f=e.elements;i.position<r;){var a=Object(t.default)(i,e.warnings,n.untilTag);if(f[a.tag]=a,a.tag===n.untilTag)return}if(i.position>r)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function a(e,i,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(r<i.position||r>i.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var f=e.elements;i.position<r;){var a=Object(n.default)(i,t.untilTag,t.vrCallback);if(f[a.tag]=a,a.tag===t.untilTag)return}}},"./readDicomElementExplicit.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return o}));var t=r("./findEndOfEncapsulatedPixelData.js"),n=(r("./findAndSetUNElementLength.js"),r("./readSequenceElementImplicit.js")),f=r("./readTag.js"),a=r("./findItemDelimitationItem.js"),l=r("./readSequenceElementExplicit.js"),s=function(e){return"OB"===e||"OD"===e||"OL"===e||"OW"===e||"SQ"===e||"OF"===e||"UC"===e||"UR"===e||"UT"===e||"UN"===e?4:2};function o(e,i,r){if(void 0===e)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var o={tag:Object(f.default)(e),vr:e.readFixedString(2)};return 2===s(o.vr)?(o.length=e.readUint16(),o.dataOffset=e.position):(e.seek(2),o.length=e.readUint32(),o.dataOffset=e.position),4294967295===o.length&&(o.hadUndefinedLength=!0),o.tag===r?o:"SQ"===o.vr?(Object(l.default)(e,o,i),o):4294967295===o.length?"x7fe00010"===o.tag?(Object(t.default)(e,o,i),o):"UN"===o.vr?(Object(n.default)(e,o),o):(Object(a.default)(e,o),o):(e.seek(o.length),o)}},"./readDicomElementImplicit.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return s}));var t=r("./findItemDelimitationItem.js"),n=r("./readSequenceElementImplicit.js"),f=r("./readTag.js"),a=r("./util/util.js"),l=function(e,i){if(void 0!==e.vr)return"SQ"===e.vr;if(i.position+4<=i.byteArray.length){var r=Object(f.default)(i);return i.seek(-4),"xfffee000"===r||"xfffee0dd"===r}return i.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1};function s(e,i,r){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var s=Object(f.default)(e),o={tag:s,vr:void 0!==r?r(s):void 0,length:e.readUint32(),dataOffset:e.position};return 4294967295===o.length&&(o.hadUndefinedLength=!0),o.tag===i?o:!l(o,e)||Object(a.isPrivateTag)(o.tag)&&!o.hadUndefinedLength?o.hadUndefinedLength?(Object(t.default)(e,o),o):(e.seek(o.length),o):(Object(n.default)(e,o,r),Object(a.isPrivateTag)(o.tag)&&(o.items=void 0),o)}},"./readEncapsulatedImageFrame.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return a}));var t=r("./readEncapsulatedPixelDataFromFragments.js"),n=function(e,i){for(var r=0;r<e.length;r++)if(e[r].offset===i)return r},f=function(e,i,r,t){if(e===i.length-1)return r.length-t;for(var n=i[e+1],f=t+1;f<r.length;f++)if(r[f].offset===n)return f-t;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"};function a(e,i,r,a,l){if(a=a||i.basicOffsetTable,l=l||i.fragments,void 0===e)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'frameIndex'";if(void 0===a)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' does not have basicOffsetTable";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==i.encapsulatedPixelData)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==i.hadUndefinedLength)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have fragments";if(0===a.length)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(r<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(r>=a.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var s=a[r],o=n(l,s);if(void 0===o)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";var u=f(r,a,l,o);return Object(t.default)(e,i,o,u,l)}},"./readEncapsulatedPixelData.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return a}));var t=r("./readEncapsulatedImageFrame.js"),n=r("./readEncapsulatedPixelDataFromFragments.js"),f=!1;function a(e,i,r){if(f||(f=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==i.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(!0!==i.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return 0!==i.basicOffsetTable.length?Object(t.default)(e,i,r):Object(n.default)(e,i,0,i.fragments.length)}},"./readEncapsulatedPixelDataFromFragments.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return s}));var t=r("./alloc.js"),n=r("./byteStream.js"),f=r("./readSequenceItem.js"),a=r("./sharedCopy.js"),l=function(e,i,r){for(var t=0,n=i;n<i+r;n++)t+=e[n].length;return t};function s(e,i,r,s,o){if(s=s||1,o=o||i.fragments,void 0===e)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'startFragmentIndex'";if(void 0===s)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'numFragments'";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(!0!==i.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==i.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.fragments.length<=0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be >= 0";if(r>=i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(s<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+s>i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var u=new n.default(e.byteArrayParser,e.byteArray,i.dataOffset),c=Object(f.default)(u);if("xfffee000"!==c.tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";u.seek(c.length);var d=u.position;if(1===s)return Object(a.default)(u.byteArray,d+o[r].offset+8,o[r].length);for(var h=l(o,r,s),b=Object(t.default)(u.byteArray,h),k=0,w=r;w<r+s;w++)for(var _=d+o[w].offset+8,m=0;m<o[w].length;m++)b[k++]=u.byteArray[_++];return b}},"./readPart10Header.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return l}));var t=r("./byteStream.js"),n=r("./dataSet.js"),f=r("./littleEndianByteArrayParser.js"),a=r("./readDicomElementExplicit.js");function l(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var r=i.TransferSyntaxUID,l=new t.default(f.default,e);return function(){var e=[],t={};if(!function(){if(l.getSize()<=132&&r)return!1;if(l.seek(128),"DICM"!==l.readFixedString(4)){if(!(i||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return l.seek(0),!1}return!0}())return l.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:r}},warnings:e};for(;l.position<l.byteArray.length;){var s=l.position,o=Object(a.default)(l,e);if(o.tag>"x0002ffff"){l.position=s;break}o.parser=f.default,t[o.tag]=o}var u=new n.default(l.byteArrayParser,l.byteArray,t);return u.warnings=l.warnings,u.position=l.position,u}()}},"./readSequenceElementExplicit.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return o}));var t=r("./dataSet.js"),n=r("./readDicomElementExplicit.js"),f=r("./readSequenceItem.js"),a=r("./readTag.js"),l=r("./parseDicomDataSet.js");function s(e,i){var r=Object(f.default)(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,i){for(var r={};e.position<e.byteArray.length;){var f=Object(n.default)(e,i);if(r[f.tag]=f,"xfffee00d"===f.tag)return new t.default(e.byteArrayParser,e.byteArray,r)}return i.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new t.default(e.byteArrayParser,e.byteArray,r)}(e,i),r.length=e.position-r.dataOffset):(r.dataSet=new t.default(e.byteArrayParser,e.byteArray,{}),l.parseDicomDataSetExplicit(r.dataSet,e,e.position+r.length)),r}function o(e,i,r){if(void 0===e)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";i.items=[],4294967295===i.length?function(e,i,r){for(;e.position+4<=e.byteArray.length;){var t=Object(a.default)(e);if(e.seek(-4),"xfffee0dd"===t)return i.length=e.position-i.dataOffset,e.seek(8),i;var n=s(e,r);i.items.push(n)}r.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),i.length=e.position-i.dataOffset}(e,i,r):function(e,i,r){for(var t=i.dataOffset+i.length;e.position<t;){var n=s(e,r);i.items.push(n)}}(e,i,r)}},"./readSequenceElementImplicit.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return o}));var t=r("./dataSet.js"),n=r("./readDicomElementImplicit.js"),f=r("./readSequenceItem.js"),a=r("./readTag.js"),l=r("./parseDicomDataSet.js");function s(e,i){var r=Object(f.default)(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,i){for(var r={};e.position<e.byteArray.length;){var f=Object(n.default)(e,void 0,i);if(r[f.tag]=f,"xfffee00d"===f.tag)return new t.default(e.byteArrayParser,e.byteArray,r)}return e.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new t.default(e.byteArrayParser,e.byteArray,r)}(e,i),r.length=e.position-r.dataOffset):(r.dataSet=new t.default(e.byteArrayParser,e.byteArray,{}),l.parseDicomDataSetImplicit(r.dataSet,e,e.position+r.length,{vrCallback:i})),r}function o(e,i,r){if(void 0===e)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";i.items=[],4294967295===i.length?function(e,i,r){for(;e.position+4<=e.byteArray.length;){var t=Object(a.default)(e);if(e.seek(-4),"xfffee0dd"===t)return i.length=e.position-i.dataOffset,e.seek(8),i;var n=s(e,r);i.items.push(n)}e.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),i.length=e.byteArray.length-i.dataOffset}(e,i,r):function(e,i,r){for(var t=i.dataOffset+i.length;e.position<t;){var n=s(e,r);i.items.push(n)}}(e,i,r)}},"./readSequenceItem.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return n}));var t=r("./readTag.js");function n(e){if(void 0===e)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var i={tag:Object(t.default)(e),length:e.readUint32(),dataOffset:e.position};if("xfffee000"!==i.tag)throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(e.position);return i}},"./readTag.js":function(e,i,r){function t(e){if(void 0===e)throw"dicomParser.readTag: missing required parameter 'byteStream'";var i=256*e.readUint16()*256,r=e.readUint16();return"x".concat("00000000".concat((i+r).toString(16)).substr(-8))}r.r(i),r.d(i,"default",(function(){return t}))},"./sharedCopy.js":function(e,i,r){function t(e,i,r){if("undefined"!=typeof Buffer&&e instanceof Buffer)return e.slice(i,i+r);if(e instanceof Uint8Array)return new Uint8Array(e.buffer,e.byteOffset+i,r);throw"dicomParser.from: unknown type for byteArray"}r.r(i),r.d(i,"default",(function(){return t}))},"./util/createJPEGBasicOffsetTable.js":function(e,i,r){function t(e,i){return 255===e.byteArray[i]&&217===e.byteArray[i+1]}function n(e,i,r){var n=i.fragments[r];return!(!t(e,n.position+n.length-2)&&!t(e,n.position+n.length-3))}function f(e,i,r){for(var t=r;t<i.fragments.length;t++)if(n(e,i,t))return t}function a(e,i,r){if(void 0===e)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if(void 0===i)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if("x7fe00010"!==i.tag)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if(!0!==i.encapsulatedPixelData)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==i.hadUndefinedLength)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.fragments.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r&&r.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'fragments' must not be zero length";r=r||i.fragments;for(var t=[],n=0;;){t.push(i.fragments[n].offset);var a=f(e,i,n);if(void 0===a||a===i.fragments.length-1)return t;n=a+1}}r.r(i),r.d(i,"default",(function(){return a}))},"./util/dataSetToJS.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return f}));var t=r("./util/elementToString.js"),n=r("./util/util.js");function f(e,i){if(void 0===e)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";i=i||{omitPrivateAttibutes:!0,maxElementLength:128};var r={};for(var a in e.elements){var l=e.elements[a];if(!0!==i.omitPrivateAttibutes||!n.isPrivateTag(a))if(l.items){for(var s=[],o=0;o<l.items.length;o++)s.push(f(l.items[o].dataSet,i));r[a]=s}else{var u;u=void 0,l.length<i.maxElementLength&&(u=Object(t.default)(e,l)),r[a]=void 0!==u?u:{dataOffset:l.dataOffset,length:l.length}}}return r}},"./util/elementToString.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return n}));var t=r("./util/util.js");function n(e,i){if(void 0===e||void 0===i)throw"dicomParser.explicitElementToString: missing required parameters";if(void 0===i.vr)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var r,n=i.vr,f=i.tag;function a(i,r){for(var t="",n=0;n<i;n++)0!==n&&(t+="/"),t+=r.call(e,f,n).toString();return t}if(!0===t.isStringVr(n))r=e.string(f);else{if("AT"===n){var l=e.uint32(f);if(void 0===l)return;return l<0&&(l=4294967295+l+1),"x".concat(l.toString(16).toUpperCase())}"US"===n?r=a(i.length/2,e.uint16):"SS"===n?r=a(i.length/2,e.int16):"UL"===n?r=a(i.length/4,e.uint32):"SL"===n?r=a(i.length/4,e.int32):"FD"===n?r=a(i.length/8,e.double):"FL"===n&&(r=a(i.length/4,e.float))}return r}},"./util/index.js":function(e,i,r){r.r(i);var t=r("./util/util.js");r.d(i,"isStringVr",(function(){return t.isStringVr})),r.d(i,"isPrivateTag",(function(){return t.isPrivateTag})),r.d(i,"parsePN",(function(){return t.parsePN}));var n=r("./util/parseTM.js");r.d(i,"parseTM",(function(){return n.default}));var f=r("./util/parseDA.js");r.d(i,"parseDA",(function(){return f.default}));var a=r("./util/elementToString.js");r.d(i,"explicitElementToString",(function(){return a.default}));var l=r("./util/dataSetToJS.js");r.d(i,"explicitDataSetToJS",(function(){return l.default}));var s=r("./util/createJPEGBasicOffsetTable.js");r.d(i,"createJPEGBasicOffsetTable",(function(){return s.default}))},"./util/parseDA.js":function(e,i,r){function t(e,i){if(e&&8===e.length){var r=parseInt(e.substring(0,4),10),t=parseInt(e.substring(4,6),10),n=parseInt(e.substring(6,8),10);if(i&&1!=(f=n,a=t,l=r,!isNaN(l)&&a>0&&a<=12&&f>0&&f<=function(e,i){switch(e){case 2:return i%4==0&&i%100||i%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}(a,l)))throw"invalid DA '".concat(e,"'");return{year:r,month:t,day:n}}var f,a,l;if(i)throw"invalid DA '".concat(e,"'")}r.r(i),r.d(i,"default",(function(){return t}))},"./util/parseTM.js":function(e,i,r){function t(e,i){if(e.length>=2){var r=parseInt(e.substring(0,2),10),t=e.length>=4?parseInt(e.substring(2,4),10):void 0,n=e.length>=6?parseInt(e.substring(4,6),10):void 0,f=e.length>=8?e.substring(7,13):void 0,a=f?parseInt(f,10)*Math.pow(10,6-f.length):void 0;if(i&&(isNaN(r)||void 0!==t&&isNaN(t)||void 0!==n&&isNaN(n)||void 0!==a&&isNaN(a)||r<0||r>23||t&&(t<0||t>59)||n&&(n<0||n>59)||a&&(a<0||a>999999)))throw"invalid TM '".concat(e,"'");return{hours:r,minutes:t,seconds:n,fractionalSeconds:a}}if(i)throw"invalid TM '".concat(e,"'")}r.r(i),r.d(i,"default",(function(){return t}))},"./util/util.js":function(e,i,r){r.r(i),r.d(i,"isStringVr",(function(){return n})),r.d(i,"isPrivateTag",(function(){return f})),r.d(i,"parsePN",(function(){return a}));var t={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},n=function(e){return t[e]},f=function(e){var i=parseInt(e[4],16);if(isNaN(i))throw"dicomParser.isPrivateTag: cannot parse last character of group";return i%2==1},a=function(e){if(void 0!==e){var i=e.split("^");return{familyName:i[0],givenName:i[1],middleName:i[2],prefix:i[3],suffix:i[4]}}}},"./version.js":function(e,i,r){r.r(i),i.default="1.8.12"},zlib:function(i,r){i.exports=e}})},e.exports=t(r(559))},29:e=>{var i=function(){var e=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),i=4017,r=799,t=3406,n=2276,f=1567,a=3784,l=5793,s=2896;function o(){}function u(e,i){for(var r,t,n=0,f=[],a=16;a>0&&!e[a-1];)a--;f.push({children:[],index:0});var l,s=f[0];for(r=0;r<a;r++){for(t=0;t<e[r];t++){for((s=f.pop()).children[s.index]=i[n];s.index>0;){if(0===f.length)throw new Error("Could not recreate Huffman Table");s=f.pop()}for(s.index++,f.push(s);f.length<=r;)f.push(l={children:[],index:0}),s.children[s.index]=l.children,s=l;n++}r+1<a&&(f.push(l={children:[],index:0}),s.children[s.index]=l.children,s=l)}return f[0].children}function c(i,r,t,n,f,a,l,s,o,u){t.precision,t.samplesPerLine,t.scanLines;var c=t.mcusPerLine,d=t.progressive,h=(t.maxH,t.maxV,r),b=0,k=0;function w(){if(k>0)return k--,b>>k&1;if(255==(b=i[r++])){var e=i[r++];if(e)throw new Error("unexpected marker: "+(b<<8|e).toString(16))}return k=7,b>>>7}function _(e){for(var i,r=e;null!==(i=w());){if("number"==typeof(r=r[i]))return r;if("object"!=typeof r)throw new Error("invalid huffman sequence")}return null}function m(e){for(var i=0;e>0;){var r=w();if(null===r)return;i=i<<1|r,e--}return i}function p(e){var i=m(e);return i>=1<<e-1?i:i+(-1<<e)+1}var v=0;var g,y=0;function E(e,i,r,t,n){var f=r%c,a=(r/c|0)*e.v+t,l=f*e.h+n;void 0===e.blocks[a]&&u.tolerantDecoding||i(e,e.blocks[a][l])}function A(e,i,r){var t=r/e.blocksPerLine|0,n=r%e.blocksPerLine;void 0===e.blocks[t]&&u.tolerantDecoding||i(e,e.blocks[t][n])}var M,T,S,P,O,R,L=n.length;R=d?0===a?0===s?function(e,i){var r=_(e.huffmanTableDC),t=0===r?0:p(r)<<o;i[0]=e.pred+=t}:function(e,i){i[0]|=w()<<o}:0===s?function(i,r){if(v>0)v--;else for(var t=a,n=l;t<=n;){var f=_(i.huffmanTableAC),s=15&f,u=f>>4;if(0!==s)r[e[t+=u]]=p(s)*(1<<o),t++;else{if(u<15){v=m(u)+(1<<u)-1;break}t+=16}}}:function(i,r){for(var t=a,n=l,f=0;t<=n;){var s=e[t],u=r[s]<0?-1:1;switch(y){case 0:var c=_(i.huffmanTableAC),d=15&c;if(f=c>>4,0===d)f<15?(v=m(f)+(1<<f),y=4):(f=16,y=1);else{if(1!==d)throw new Error("invalid ACn encoding");g=p(d),y=f?2:3}continue;case 1:case 2:r[s]?r[s]+=(w()<<o)*u:0==--f&&(y=2==y?3:0);break;case 3:r[s]?r[s]+=(w()<<o)*u:(r[s]=g<<o,y=0);break;case 4:r[s]&&(r[s]+=(w()<<o)*u)}t++}4===y&&0==--v&&(y=0)}:function(i,r){var t=_(i.huffmanTableDC),n=0===t?0:p(t);r[0]=i.pred+=n;for(var f=1;f<64;){var a=_(i.huffmanTableAC),l=15&a,s=a>>4;if(0!==l)r[e[f+=s]]=p(l),f++;else{if(s<15)break;f+=16}}};var C,D,x,I,B=0;for(D=1==L?n[0].blocksPerLine*n[0].blocksPerColumn:c*t.mcusPerColumn,f||(f=D);B<D;){for(T=0;T<L;T++)n[T].pred=0;if(v=0,1==L)for(M=n[0],O=0;O<f;O++)A(M,R,B),B++;else for(O=0;O<f;O++){for(T=0;T<L;T++)for(x=(M=n[T]).h,I=M.v,S=0;S<I;S++)for(P=0;P<x;P++)E(M,R,B,S,P);if(++B===D)break}if(B===D)do{if(255===i[r]&&0!==i[r+1])break;r+=1}while(r<i.length-2);if(k=0,(C=i[r]<<8|i[r+1])<65280)throw new Error("marker was not found");if(!(C>=65488&&C<=65495))break;r+=2}return r-h}function d(e,o){var u,c,d=[],h=o.blocksPerLine,b=o.blocksPerColumn,k=h<<3,_=new Int32Array(64),m=new Uint8Array(64);function p(e,u,c){var d,h,b,k,w,_,m,p,v,g,y=o.quantizationTable,E=c;for(g=0;g<64;g++)E[g]=e[g]*y[g];for(g=0;g<8;++g){var A=8*g;0!=E[1+A]||0!=E[2+A]||0!=E[3+A]||0!=E[4+A]||0!=E[5+A]||0!=E[6+A]||0!=E[7+A]?(d=l*E[0+A]+128>>8,h=l*E[4+A]+128>>8,b=E[2+A],k=E[6+A],w=s*(E[1+A]-E[7+A])+128>>8,p=s*(E[1+A]+E[7+A])+128>>8,_=E[3+A]<<4,m=E[5+A]<<4,v=d-h+1>>1,d=d+h+1>>1,h=v,v=b*a+k*f+128>>8,b=b*f-k*a+128>>8,k=v,v=w-m+1>>1,w=w+m+1>>1,m=v,v=p+_+1>>1,_=p-_+1>>1,p=v,v=d-k+1>>1,d=d+k+1>>1,k=v,v=h-b+1>>1,h=h+b+1>>1,b=v,v=w*n+p*t+2048>>12,w=w*t-p*n+2048>>12,p=v,v=_*r+m*i+2048>>12,_=_*i-m*r+2048>>12,m=v,E[0+A]=d+p,E[7+A]=d-p,E[1+A]=h+m,E[6+A]=h-m,E[2+A]=b+_,E[5+A]=b-_,E[3+A]=k+w,E[4+A]=k-w):(v=l*E[0+A]+512>>10,E[0+A]=v,E[1+A]=v,E[2+A]=v,E[3+A]=v,E[4+A]=v,E[5+A]=v,E[6+A]=v,E[7+A]=v)}for(g=0;g<8;++g){var M=g;0!=E[8+M]||0!=E[16+M]||0!=E[24+M]||0!=E[32+M]||0!=E[40+M]||0!=E[48+M]||0!=E[56+M]?(d=l*E[0+M]+2048>>12,h=l*E[32+M]+2048>>12,b=E[16+M],k=E[48+M],w=s*(E[8+M]-E[56+M])+2048>>12,p=s*(E[8+M]+E[56+M])+2048>>12,_=E[24+M],m=E[40+M],v=d-h+1>>1,d=d+h+1>>1,h=v,v=b*a+k*f+2048>>12,b=b*f-k*a+2048>>12,k=v,v=w-m+1>>1,w=w+m+1>>1,m=v,v=p+_+1>>1,_=p-_+1>>1,p=v,v=d-k+1>>1,d=d+k+1>>1,k=v,v=h-b+1>>1,h=h+b+1>>1,b=v,v=w*n+p*t+2048>>12,w=w*t-p*n+2048>>12,p=v,v=_*r+m*i+2048>>12,_=_*i-m*r+2048>>12,m=v,E[0+M]=d+p,E[56+M]=d-p,E[8+M]=h+m,E[48+M]=h-m,E[16+M]=b+_,E[40+M]=b-_,E[24+M]=k+w,E[32+M]=k-w):(v=l*c[g+0]+8192>>14,E[0+M]=v,E[8+M]=v,E[16+M]=v,E[24+M]=v,E[32+M]=v,E[40+M]=v,E[48+M]=v,E[56+M]=v)}for(g=0;g<64;++g){var T=128+(E[g]+8>>4);u[g]=T<0?0:T>255?255:T}}w(k*b*8);for(var v=0;v<b;v++){var g=v<<3;for(u=0;u<8;u++)d.push(new Uint8Array(k));for(var y=0;y<h;y++){p(o.blocks[v][y],m,_);var E=0,A=y<<3;for(c=0;c<8;c++){var M=d[g+c];for(u=0;u<8;u++)M[A+u]=m[E++]}}}return d}function h(e){return e<0?0:e>255?255:e}o.prototype={load:function(e){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){var e=new Uint8Array(i.response||i.mozResponseArrayBuffer);this.parse(e),this.onload&&this.onload()}.bind(this),i.send(null)},parse:function(i){var r=1e3*this.opts.maxResolutionInMP*1e3,t=0;i.length;function n(){var e=i[t]<<8|i[t+1];return t+=2,e}function f(){var e=n(),r=i.subarray(t,t+e-2);return t+=r.length,r}function a(e){var i,r,t=1,n=1;for(r in e.components)e.components.hasOwnProperty(r)&&(t<(i=e.components[r]).h&&(t=i.h),n<i.v&&(n=i.v));var f=Math.ceil(e.samplesPerLine/8/t),a=Math.ceil(e.scanLines/8/n);for(r in e.components)if(e.components.hasOwnProperty(r)){i=e.components[r];var l=Math.ceil(Math.ceil(e.samplesPerLine/8)*i.h/t),s=Math.ceil(Math.ceil(e.scanLines/8)*i.v/n),o=f*i.h,u=a*i.v,c=[];w(256*(u*o));for(var d=0;d<u;d++){for(var h=[],b=0;b<o;b++)h.push(new Int32Array(64));c.push(h)}i.blocksPerLine=l,i.blocksPerColumn=s,i.blocks=c}e.maxH=t,e.maxV=n,e.mcusPerLine=f,e.mcusPerColumn=a}var l,s,o=null,h=null,b=[],k=[],_=[],m=[],p=n(),v=-1;if(this.comments=[],65496!=p)throw new Error("SOI not found");for(p=n();65497!=p;){switch(p){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var g=f();if(65534===p){var y=String.fromCharCode.apply(null,g);this.comments.push(y)}65504===p&&74===g[0]&&70===g[1]&&73===g[2]&&70===g[3]&&0===g[4]&&(o={version:{major:g[5],minor:g[6]},densityUnits:g[7],xDensity:g[8]<<8|g[9],yDensity:g[10]<<8|g[11],thumbWidth:g[12],thumbHeight:g[13],thumbData:g.subarray(14,14+3*g[12]*g[13])}),65505===p&&69===g[0]&&120===g[1]&&105===g[2]&&102===g[3]&&0===g[4]&&(this.exifBuffer=g.subarray(5,g.length)),65518===p&&65===g[0]&&100===g[1]&&111===g[2]&&98===g[3]&&101===g[4]&&0===g[5]&&(h={version:g[6],flags0:g[7]<<8|g[8],flags1:g[9]<<8|g[10],transformCode:g[11]});break;case 65499:for(var E=n()+t-2;t<E;){var A=i[t++];w(256);var M=new Int32Array(64);if(A>>4){if(A>>4!=1)throw new Error("DQT: invalid table spec");for(G=0;G<64;G++){M[e[G]]=n()}}else for(G=0;G<64;G++){M[e[G]]=i[t++]}b[15&A]=M}break;case 65472:case 65473:case 65474:n(),(l={}).extended=65473===p,l.progressive=65474===p,l.precision=i[t++],l.scanLines=n(),l.samplesPerLine=n(),l.components={},l.componentsOrder=[];var T=l.scanLines*l.samplesPerLine;if(T>r){var S=Math.ceil((T-r)/1e6);throw new Error(`maxResolutionInMP limit exceeded by ${S}MP`)}var P,O=i[t++];for(z=0;z<O;z++){P=i[t];var R=i[t+1]>>4,L=15&i[t+1],C=i[t+2];if(R<=0||L<=0)throw new Error("Invalid sampling factor, expected values above 0");l.componentsOrder.push(P),l.components[P]={h:R,v:L,quantizationIdx:C},t+=3}a(l),k.push(l);break;case 65476:var D=n();for(z=2;z<D;){var x=i[t++],I=new Uint8Array(16),B=0;for(G=0;G<16;G++,t++)B+=I[G]=i[t];w(16+B);var N=new Uint8Array(B);for(G=0;G<B;G++,t++)N[G]=i[t];z+=17+B,(x>>4?_:m)[15&x]=u(I,N)}break;case 65501:n(),s=n();break;case 65500:n(),n();break;case 65498:n();var F=i[t++],U=[];for(z=0;z<F;z++){K=l.components[i[t++]];var j=i[t++];K.huffmanTableDC=m[j>>4],K.huffmanTableAC=_[15&j],U.push(K)}var H=i[t++],Y=i[t++],q=i[t++],X=c(i,t,l,U,s,H,Y,q>>4,15&q,this.opts);t+=X;break;case 65535:255!==i[t]&&t--;break;default:if(255==i[t-3]&&i[t-2]>=192&&i[t-2]<=254){t-=3;break}if(224===p||225==p){if(-1!==v)throw new Error(`first unknown JPEG marker at offset ${v.toString(16)}, second unknown JPEG marker ${p.toString(16)} at offset ${(t-1).toString(16)}`);v=t-1;const e=n();if(255===i[t+e-2]){t+=e-2;break}}throw new Error("unknown JPEG marker "+p.toString(16))}p=n()}if(1!=k.length)throw new Error("only single frame JPEGs supported");for(var z=0;z<k.length;z++){var V=k[z].components;for(var G in V)V[G].quantizationTable=b[V[G].quantizationIdx],delete V[G].quantizationIdx}this.width=l.samplesPerLine,this.height=l.scanLines,this.jfif=o,this.adobe=h,this.components=[];for(z=0;z<l.componentsOrder.length;z++){var K=l.components[l.componentsOrder[z]];this.components.push({lines:d(0,K),scaleX:K.h/l.maxH,scaleY:K.v/l.maxV})}},getData:function(e,i){var r,t,n,f,a,l,s,o,u,c,d,b,k,_,m,p,v,g,y,E,A,M=this.width/e,T=this.height/i,S=0,P=e*i*this.components.length;w(P);var O=new Uint8Array(P);switch(this.components.length){case 1:for(r=this.components[0],c=0;c<i;c++)for(a=r.lines[0|c*r.scaleY*T],u=0;u<e;u++)d=a[0|u*r.scaleX*M],O[S++]=d;break;case 2:for(r=this.components[0],t=this.components[1],c=0;c<i;c++)for(a=r.lines[0|c*r.scaleY*T],l=t.lines[0|c*t.scaleY*T],u=0;u<e;u++)d=a[0|u*r.scaleX*M],O[S++]=d,d=l[0|u*t.scaleX*M],O[S++]=d;break;case 3:for(A=!0,this.adobe&&this.adobe.transformCode?A=!0:void 0!==this.opts.colorTransform&&(A=!!this.opts.colorTransform),r=this.components[0],t=this.components[1],n=this.components[2],c=0;c<i;c++)for(a=r.lines[0|c*r.scaleY*T],l=t.lines[0|c*t.scaleY*T],s=n.lines[0|c*n.scaleY*T],u=0;u<e;u++)A?(d=a[0|u*r.scaleX*M],b=l[0|u*t.scaleX*M],g=h(d+1.402*((k=s[0|u*n.scaleX*M])-128)),y=h(d-.3441363*(b-128)-.71413636*(k-128)),E=h(d+1.772*(b-128))):(g=a[0|u*r.scaleX*M],y=l[0|u*t.scaleX*M],E=s[0|u*n.scaleX*M]),O[S++]=g,O[S++]=y,O[S++]=E;break;case 4:if(!this.adobe)throw new Error("Unsupported color mode (4 components)");for(A=!1,this.adobe&&this.adobe.transformCode?A=!0:void 0!==this.opts.colorTransform&&(A=!!this.opts.colorTransform),r=this.components[0],t=this.components[1],n=this.components[2],f=this.components[3],c=0;c<i;c++)for(a=r.lines[0|c*r.scaleY*T],l=t.lines[0|c*t.scaleY*T],s=n.lines[0|c*n.scaleY*T],o=f.lines[0|c*f.scaleY*T],u=0;u<e;u++)A?(d=a[0|u*r.scaleX*M],b=l[0|u*t.scaleX*M],k=s[0|u*n.scaleX*M],_=o[0|u*f.scaleX*M],m=255-h(d+1.402*(k-128)),p=255-h(d-.3441363*(b-128)-.71413636*(k-128)),v=255-h(d+1.772*(b-128))):(m=a[0|u*r.scaleX*M],p=l[0|u*t.scaleX*M],v=s[0|u*n.scaleX*M],_=o[0|u*f.scaleX*M]),O[S++]=255-m,O[S++]=255-p,O[S++]=255-v,O[S++]=255-_;break;default:throw new Error("Unsupported color mode")}return O},copyToImageData:function(e,i){var r,t,n,f,a,l,s,o,u,c=e.width,d=e.height,b=e.data,k=this.getData(c,d),w=0,_=0;switch(this.components.length){case 1:for(t=0;t<d;t++)for(r=0;r<c;r++)n=k[w++],b[_++]=n,b[_++]=n,b[_++]=n,i&&(b[_++]=255);break;case 3:for(t=0;t<d;t++)for(r=0;r<c;r++)s=k[w++],o=k[w++],u=k[w++],b[_++]=s,b[_++]=o,b[_++]=u,i&&(b[_++]=255);break;case 4:for(t=0;t<d;t++)for(r=0;r<c;r++)a=k[w++],l=k[w++],n=k[w++],s=255-h(a*(1-(f=k[w++])/255)+f),o=255-h(l*(1-f/255)+f),u=255-h(n*(1-f/255)+f),b[_++]=s,b[_++]=o,b[_++]=u,i&&(b[_++]=255);break;default:throw new Error("Unsupported color mode")}}};var b=0,k=0;function w(e=0){var i=b+e;if(i>k){var r=Math.ceil((i-k)/1024/1024);throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${r}MB`)}b=i}return o.resetMaxMemoryUsage=function(e){b=0,k=e},o.getBytesAllocated=function(){return b},o.requestMemoryAllocation=w,o}();e.exports=function(e,r={}){var t={colorTransform:void 0,useTArray:!1,formatAsRGBA:!0,tolerantDecoding:!0,maxResolutionInMP:100,maxMemoryUsageInMB:512,...r},n=new Uint8Array(e),f=new i;f.opts=t,i.resetMaxMemoryUsage(1024*t.maxMemoryUsageInMB*1024),f.parse(n);var a=t.formatAsRGBA?4:3,l=f.width*f.height*a;try{i.requestMemoryAllocation(l);var s={width:f.width,height:f.height,exifBuffer:f.exifBuffer,data:t.useTArray?new Uint8Array(l):Buffer.alloc(l)};f.comments.length>0&&(s.comments=f.comments)}catch(e){if(e instanceof RangeError)throw new Error("Could not allocate enough memory for the image. Required: "+l);if(e instanceof ReferenceError&&"Buffer is not defined"===e.message)throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");throw e}return f.copyToImageData(s,t.formatAsRGBA),s}},254:e=>{e.exports=__X_ITE_X3D__.jquery},878:()=>{},13:()=>{},722:()=>{},978:()=>{},559:()=>{}},__webpack_module_cache__={};function __webpack_require__(e){var i=__webpack_module_cache__[e];if(void 0!==i)return i.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(i,{a:i}),i},__webpack_require__.d=(e,i)=>{for(var r in i)__webpack_require__.o(i,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:i[r]})},__webpack_require__.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),(()=>{const e=__X_ITE_X3D__.Components;var i=__webpack_require__.n(e);const r=__X_ITE_X3D__.Fields;var t=__webpack_require__.n(r);const n=__X_ITE_X3D__.X3DFieldDefinition;var f=__webpack_require__.n(n);const a=__X_ITE_X3D__.FieldDefinitionArray;var l=__webpack_require__.n(a);const s=__X_ITE_X3D__.X3DNode;var o=__webpack_require__.n(s);const u=__X_ITE_X3D__.X3DSingleTextureNode;var c=__webpack_require__.n(u);const d=__X_ITE_X3D__.X3DConstants;var h=__webpack_require__.n(d);const b=__X_ITE_X3D__.Namespace;var k=__webpack_require__.n(b);const w=new Uint8Array([255,255,255,255]);function _(e){c().call(this,e),this.addType(h().X3DTexture3DNode);const i=this.getBrowser().getContext();this.target=i.TEXTURE_3D,this.width=0,this.height=0,this.depth=0}Object.assign(Object.setPrototypeOf(_.prototype,c().prototype),{initialize(){c().prototype.initialize.call(this),this._repeatS.addInterest("updateTextureParameters",this),this._repeatT.addInterest("updateTextureParameters",this),this._repeatR.addInterest("updateTextureParameters",this);const e=this.getBrowser().getContext();e.getVersion()<2||(e.bindTexture(e.TEXTURE_3D,this.getTexture()),e.texImage3D(e.TEXTURE_3D,0,e.RGBA,1,1,1,0,e.RGBA,e.UNSIGNED_BYTE,w))},getTarget(){return this.target},getTextureType:()=>3,getWidth(){return this.width},setWidth(e){this.width=e},getHeight(){return this.height},setHeight(e){this.height=e},getDepth(){return this.depth},setDepth(e){this.depth=e},clearTexture(){const e=this.getBrowser().getContext();this.setTextureData(1,1,1,!1,e.RGBA,w)},setTextureData(e,i,r,t,n,f){this.width=e,this.height=i,this.depth=r;const a=this.getBrowser().getContext();a.getVersion()<2||(this.setTexture(a.createTexture()),a.bindTexture(a.TEXTURE_3D,this.getTexture()),a.texImage3D(a.TEXTURE_3D,0,n,e,i,r,0,n,a.UNSIGNED_BYTE,f),this.setTransparent(t),this.updateTextureParameters(),this.addNodeEvent())},updateTextureParameters(){c().prototype.updateTextureParameters.call(this,this.target,this._textureProperties.getValue(),this.texturePropertiesNode,this.width,this.height,this._repeatS.getValue(),this._repeatT.getValue(),this._repeatR.getValue())},setShaderUniforms(e,i,r,t=i.x3d_Texture[0]){const n=this.getBrowser().getTexture3DUnit();e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_3D,this.getTexture()),e.uniform1i(t.texture3D,n)}}),Object.defineProperties(_,o().getStaticProperties("X3DTexture3DNode","Texturing3D",1));const m=_,p=k().add("X3DTexture3DNode",m),v=__X_ITE_X3D__.X3DCast;var g=__webpack_require__.n(v);function y(e){p.call(this,e),this.addType(h().ComposedTexture3D),this.addChildObjects(h().inputOutput,"update",new(t().SFTime)),this.textureNodes=[]}Object.assign(Object.setPrototypeOf(y.prototype,p.prototype),{initialize(){p.prototype.initialize.call(this),this._texture.addInterest("set_texture__",this),this._update.addInterest("update",this),this.set_texture__()},set_texture__(){const e=this.textureNodes;for(const i of e)i.removeInterest("set_update__",this);e.length=0;for(const i of this._texture){const r=g()(h().X3DTexture2DNode,i);r&&e.push(r)}for(const i of e)i.addInterest("set_update__",this);this.set_update__()},set_update__(){this._update.addEvent()},isComplete(){return this.textureNodes.every((e=>e.checkLoadState()===h().COMPLETE_STATE))},update(){const e=this.textureNodes;if(0!==e.length&&this.isComplete()){const i=this.getBrowser().getContext(),r=e[0].getWidth(),t=e[0].getHeight(),n=e.length,f=i.createFramebuffer();if(i.bindFramebuffer(i.FRAMEBUFFER,f),i.bindTexture(i.TEXTURE_3D,this.getTexture()),r!==this.getWidth()||t!==this.getHeight()||n!==this.getDepth()){const e=new Uint8Array(r*t*n*4);i.texImage3D(i.TEXTURE_3D,0,i.RGBA,r,t,n,0,i.RGBA,i.UNSIGNED_BYTE,e)}for(const[e,n]of this.textureNodes.entries())if(n.getWidth()===r&&n.getHeight()===t)if(i.bindTexture(i.TEXTURE_2D,n.getTexture()),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,n.getTexture(),0),1===n.getTextureType())for(let n=0;n<t;++n)i.copyTexSubImage3D(i.TEXTURE_3D,0,0,t-n-1,e,0,n,r,1);else i.copyTexSubImage3D(i.TEXTURE_3D,0,0,0,e,0,0,r,t);else console.warn("ComposedTexture3D: all textures must have same size.");i.deleteFramebuffer(f),this.setWidth(r),this.setHeight(t),this.setDepth(n),this.setTransparent(e.some((e=>e.isTransparent()))),this.setLinear(e.some((e=>e.isLinear()))),this.setMipMaps(e.every((e=>e.canMipMaps()))),this.updateTextureParameters()}else this.clearTexture()}}),Object.defineProperties(y,{...o().getStaticProperties("ComposedTexture3D","Texturing3D",1,"texture","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"description",new(t().SFString)),new(f())(h().initializeOnly,"repeatS",new(t().SFBool)),new(f())(h().initializeOnly,"repeatT",new(t().SFBool)),new(f())(h().initializeOnly,"repeatR",new(t().SFBool)),new(f())(h().initializeOnly,"textureProperties",new(t().SFNode)),new(f())(h().inputOutput,"texture",new(t().MFNode))]),enumerable:!0}});const E=y,A=k().add("ComposedTexture3D",E),M=__X_ITE_X3D__.X3DUrlObject;var T=__webpack_require__.n(M);const S=__X_ITE_X3D__.Expressions;var P=__webpack_require__.n(S),O=__webpack_require__(254),R=__webpack_require__.n(O);const L=P()({NRRD:/^NRRD(\d+)\n/gy,field:/([\w\s]+):\s*(.+?)\n/gy,comment:/#[^\n]*\n/gy,newLine:/\n/gy});function C(){this.fieldFunction=new Map([["type",this.getType],["encoding",this.getEncoding],["dimension",this.getDimension],["sizes",this.getSizes],["endian",this.getEndian]])}Object.assign(C.prototype,{parse(e){return this.setInput(e),this.getNRRD()&&(this.getFields(),this.getData()),this.nrrd},setInput(e){this.dataView=new DataView(e),this.input=R().decodeText(e),this.lastIndex=0,this.nrrd={},this.littleEndian=!0},getNRRD(){return L.NRRD.parse(this)?(this.nrrd.nrrd=!0,this.nrrd.version=parseInt(this.result[1]),!0):(this.nrrd.nrrd=!1,!1)},getFields(){for(;L.comment.parse(this););for(;L.field.parse(this);){const e=this.result[1].toLowerCase(),i=this.result[2].trim().toLowerCase(),r=this.fieldFunction.get(e);for(r&&r.call(this,i);L.comment.parse(this););}},getType:(()=>{const e=new Map([["signed char",["signed char",1]],["int8",["signed char",1]],["int8_t",["signed char",1]],["uchar",["unsigned char",1]],["unsigned char",["unsigned char",1]],["uint8",["unsigned char",1]],["uint8_t",["unsigned char",1]],["short",["signed short",2]],["short int",["signed short",2]],["signed short",["signed short",2]],["signed short int",["signed short",2]],["int16",["signed short",2]],["int16_t",["signed short",2]],["ushort",["unsigned short",2]],["unsigned short",["unsigned short",2]],["unsigned short int",["unsigned short",2]],["uint16",["unsigned short",2]],["uint16_t",["unsigned short",2]],["int",["signed int",4]],["signed int",["signed int",4]],["int32",["signed int",4]],["int32_t",["signed int",4]],["uint",["unsigned int",4]],["unsigned int",["unsigned int",4]],["uint32",["unsigned int",4]],["uint32_t",["unsigned int",4]],["float",["float",4]],["double",["double",8]]]);return function(i){const r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD type '"+i+"'.");this.byteType=r[0],this.bytes=r[1]}})(),getEncoding:(()=>{const e=new Map([["ascii","ascii"],["txt","ascii"],["text","ascii"],["raw","raw"],["hex","hex"],["gz","gzip"],["gzip","gzip"]]);return function(i){const r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD encoding '"+i+"'.");this.encoding=r}})(),getDimension(e){const i=e.match(/(\d+)/);if(i){const e=parseInt(i[1]);switch(e){case 1:case 2:case 3:case 4:return void(this.dimension=e)}}throw new Error(`Unsupported NRRD dimension '${i?.[1]}', must be 1, 2, 3, or 4.`)},getSizes(e){const i=/\s*(\d+)/gy,r=[];let t;for(;t=i.exec(e);)r.push(parseInt(t[1]));switch(r.length){case 1:return this.nrrd.components=1,this.nrrd.width=r[0],this.nrrd.height=1,void(this.nrrd.depth=1);case 2:return this.nrrd.components=1,this.nrrd.width=r[0],this.nrrd.height=r[1],void(this.nrrd.depth=1);case 3:return this.nrrd.components=1,this.nrrd.width=r[0],this.nrrd.height=r[1],void(this.nrrd.depth=r[2]);case 4:return this.nrrd.components=r[0],this.nrrd.width=r[1],this.nrrd.height=r[2],void(this.nrrd.depth=r[3]);default:throw new Error("Unsupported NRRD sizes.")}},getEndian(e){if("little"!==e){if("big"!==e)throw new Error("Unsupported NRRD endian, must be either 'little' or 'big'.");this.littleEndian=!1}else this.littleEndian=!0},getData(){switch(this.encoding){case"ascii":this.ascii();break;case"raw":this.raw();break;case"hex":this.hex();break;case"gzip":this.gzip()}},ascii(){const e=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,i=new Uint8Array(e);this.nrrd.data=i;const r=this.input.substring(this.lastIndex);if(!r.length)return;const t=r.trim().split(/\s+/),n=t.length;switch(this.byteType){case"signed char":case"unsigned char":for(let e=0;e<n;++e)i[e]=parseInt(t[e]);return;case"signed short":case"unsigned short":for(let e=0;e<n;++e)i[e]=parseInt(t[e])/256;return;case"signed int":case"unsigned int":for(let e=0;e<n;++e)i[e]=parseInt(t[e])/16777216;return;case"float":for(let e=0;e<n;++e)i[e]=parseFloat(t[e])/256;return;case"double":for(let e=0;e<n;++e)i[e]=parseFloat(t[e])/16777216;return}},raw(){const e=this.dataView,i=e.byteLength,r=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,t=r*this.bytes,n=new Uint8Array(r);switch(this.nrrd.data=n,this.byteType){case"signed char":case"unsigned char":for(let r=i-t,f=0;r<i;++r,++f)n[f]=e.getUint8(r);return;case"signed short":case"unsigned short":for(let r=i-t,f=0;r<i;r+=2,++f)n[f]=e.getUint16(r,this.littleEndian)/256;return;case"signed int":case"unsigned int":for(let r=i-t,f=0;r<i;r+=4,++f)n[f]=e.getUint32(r,this.littleEndian)/16777216;return;case"float":for(let r=i-t,f=0;r<i;r+=4,++f)n[f]=e.getFloat32(r,this.littleEndian)/256;return;case"double":for(let r=i-t,f=0;r<i;r+=8,++f)n[f]=e.getFloat64(r,this.littleEndian)/16777216;return}},hex(){const e=this.input.substring(this.lastIndex);if(e.length){const i=e.match(/([0-9a-fA-F]{2})/g);if(i){const e=Uint8Array.from(i,(e=>parseInt(e,16)));return this.dataView=new DataView(e.buffer),void this.raw()}}throw new Error("Invalid NRRD data.")},gzip(){try{if(!L.newLine.parse(this))throw new Error("Invalid NRRD data.");const e=this.dataView.buffer.slice(this.lastIndex),i=R().ungzip(e);this.dataView=new DataView(i),this.raw()}catch(e){throw new Error(`Invalid NRRD data: ${e}.`)}}});const D=C,x=k().add("NRRDParser",D);var I=Object.defineProperty,B={hSamp:0,quantTableSel:0,vSamp:0},N=class{buffer;index;constructor(e,i,r){this.buffer=new Uint8Array(e,i,r),this.index=0}get16(){const e=(this.buffer[this.index]<<8)+this.buffer[this.index+1];return this.index+=2,e}get8(){const e=this.buffer[this.index];return this.index+=1,e}},F=class{dimX=0;dimY=0;numComp=0;precision=0;components=[];read(e){let i,r=0;const t=e.get16();r+=2,this.precision=e.get8(),r+=1,this.dimY=e.get16(),r+=2,this.dimX=e.get16(),r+=2,this.numComp=e.get8(),r+=1;for(let n=1;n<=this.numComp;n+=1){if(r>t)throw new Error("ERROR: frame format error");const n=e.get8();if(r+=1,r>=t)throw new Error("ERROR: frame format error [c>=Lf]");i=e.get8(),r+=1,this.components[n]||(this.components[n]={...B}),this.components[n].hSamp=i>>4,this.components[n].vSamp=15&i,this.components[n].quantTableSel=e.get8(),r+=1}if(r!==t)throw new Error("ERROR: frame format error [Lf!=count]");return 1}};((e,i)=>{for(var r in i)I(e,r,{get:i[r],enumerable:!0})})({},{crc32:()=>Y,crcTable:()=>H,createArray:()=>U,makeCRCTable:()=>j});var U=(...e)=>{if(e.length>1){const i=e[0],r=e.slice(1),t=[];for(let e=0;e<i;e++)t[e]=U(...r);return t}return Array(e[0]).fill(void 0)},j=function(){let e;const i=[];for(let r=0;r<256;r++){e=r;for(let i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;i[r]=e}return i},H=j(),Y=function(e){const i=new Uint8Array(e);let r=~0;for(let e=0;e<i.length;e++)r=r>>>8^H[255&(r^i[e])];return~r>>>0},q=class e{static MSB=2147483648;l;th;v;tc;constructor(){this.l=U(4,2,16),this.th=[0,0,0,0],this.v=U(4,2,16,200),this.tc=[[0,0],[0,0],[0,0],[0,0]]}read(e,i){let r,t,n,f,a,l=0;const s=e.get16();for(l+=2;l<s;){if(r=e.get8(),l+=1,t=15&r,t>3)throw new Error("ERROR: Huffman table ID > 3");if(n=r>>4,n>2)throw new Error("ERROR: Huffman table [Table class > 2 ]");for(this.th[t]=1,this.tc[t][n]=1,f=0;f<16;f+=1)this.l[t][n][f]=e.get8(),l+=1;for(f=0;f<16;f+=1)for(a=0;a<this.l[t][n][f];a+=1){if(l>s)throw new Error("ERROR: Huffman table format error [count>Lh]");this.v[t][n][f][a]=e.get8(),l+=1}}if(l!==s)throw new Error("ERROR: Huffman table format error [count!=Lf]");for(f=0;f<4;f+=1)for(a=0;a<2;a+=1)0!==this.tc[f][a]&&this.buildHuffTable(i[f][a],this.l[f][a],this.v[f][a]);return 1}buildHuffTable(i,r,t){let n,f,a,l,s;for(f=0,a=0;a<8;a+=1)for(l=0;l<r[a];l+=1)for(s=0;s<256>>a+1;s+=1)i[f]=t[a][l]|a+1<<8,f+=1;for(a=1;f<256;a+=1,f+=1)i[f]=a|e.MSB;for(n=1,f=0,a=8;a<16;a+=1)for(l=0;l<r[a];l+=1){for(s=0;s<256>>a-7;s+=1)i[256*n+f]=t[a][l]|a+1<<8,f+=1;if(f>=256){if(f>256)throw new Error("ERROR: Huffman table error(1)!");f=0,n+=1}}}},X=class e{precision=[];tq=[0,0,0,0];quantTables=U(4,64);static enhanceQuantizationTable=function(e,i){for(let r=0;r<8;r+=1)e[i[0+r]]*=90,e[i[32+r]]*=90,e[i[16+r]]*=118,e[i[48+r]]*=49,e[i[40+r]]*=71,e[i[8+r]]*=126,e[i[56+r]]*=25,e[i[24+r]]*=106;for(let r=0;r<8;r+=1)e[i[0+8*r]]*=90,e[i[4+8*r]]*=90,e[i[2+8*r]]*=118,e[i[6+8*r]]*=49,e[i[5+8*r]]*=71,e[i[1+8*r]]*=126,e[i[7+8*r]]*=25,e[i[3+8*r]]*=106;for(let i=0;i<64;i+=1)e[i]>>=6};read(i,r){let t,n,f,a=0;const l=i.get16();for(a+=2;a<l;){if(t=i.get8(),a+=1,n=15&t,n>3)throw new Error("ERROR: Quantization table ID > 3");if(this.precision[n]=t>>4,0===this.precision[n])this.precision[n]=8;else{if(1!==this.precision[n])throw new Error("ERROR: Quantization table precision error");this.precision[n]=16}if(this.tq[n]=1,8===this.precision[n]){for(f=0;f<64;f+=1){if(a>l)throw new Error("ERROR: Quantization table format error");this.quantTables[n][f]=i.get8(),a+=1}e.enhanceQuantizationTable(this.quantTables[n],r)}else{for(f=0;f<64;f+=1){if(a>l)throw new Error("ERROR: Quantization table format error");this.quantTables[n][f]=i.get16(),a+=2}e.enhanceQuantizationTable(this.quantTables[n],r)}}if(a!==l)throw new Error("ERROR: Quantization table error [count!=Lq]");return 1}},z={acTabSel:0,dcTabSel:0,scanCompSel:0},V=class{ah=0;al=0;numComp=0;selection=0;spectralEnd=0;components=[];read(e){let i,r,t=0;const n=e.get16();for(t+=2,this.numComp=e.get8(),t+=1,i=0;i<this.numComp;i+=1){if(this.components[i]={...z},t>n)throw new Error("ERROR: scan header format error");this.components[i].scanCompSel=e.get8(),t+=1,r=e.get8(),t+=1,this.components[i].dcTabSel=r>>4,this.components[i].acTabSel=15&r}if(this.selection=e.get8(),t+=1,this.spectralEnd=e.get8(),t+=1,r=e.get8(),this.ah=r>>4,this.al=15&r,t+=1,t!==n)throw new Error("ERROR: scan header format error [count!=Ns]");return 1}},G=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}(),K=class e{static IDCT_P=[0,5,40,16,45,2,7,42,21,56,8,61,18,47,1,4,41,23,58,13,32,24,37,10,63,17,44,3,6,43,20,57,15,34,29,48,53,26,39,9,60,19,46,22,59,12,33,31,50,55,25,36,11,62,14,35,28,49,52,27,38,30,51,54];static TABLE=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63];static MAX_HUFFMAN_SUBTREE=50;static MSB=2147483648;static RESTART_MARKER_BEGIN=65488;static RESTART_MARKER_END=65495;buffer=null;stream=null;frame=new F;huffTable=new q;quantTable=new X;scan=new V;DU=U(10,4,64);HuffTab=U(4,2,12800);IDCT_Source=[];nBlock=[];acTab=U(10,1);dcTab=U(10,1);qTab=U(10,1);marker=0;markerIndex=0;numComp=0;restartInterval=0;selection=0;xDim=0;yDim=0;xLoc=0;yLoc=0;outputData=null;restarting=!1;mask=0;numBytes=0;precision=void 0;components=[];getter=null;setter=null;output=null;selector=null;constructor(e,i){this.buffer=e??null,this.numBytes=i??0}decompress(e,i,r){return this.decode(e,i,r).buffer}decode(i,r,t,n){let f=0;const a=[];let l,s;const o=[],u=[];let c;i&&(this.buffer=i),void 0!==n&&(this.numBytes=n),this.stream=new N(this.buffer,r,t),this.buffer=null,this.xLoc=0,this.yLoc=0;let d=this.stream.get16();if(65496!==d)throw new Error("Not a JPEG file");for(d=this.stream.get16();d>>4!=4092||65476===d;){switch(d){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,e.TABLE);break;case 65501:this.restartInterval=this.readNumber()??0;break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(d>>8!=255)throw new Error("ERROR: format throw new IOException! (decode)")}d=this.stream.get16()}if(d<65472||d>65479)throw new Error("ERROR: could not handle arithmetic code!");this.frame.read(this.stream),d=this.stream.get16();do{for(;65498!==d;){switch(d){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,e.TABLE);break;case 65501:this.restartInterval=this.readNumber()??0;break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(d>>8!=255)throw new Error("ERROR: format throw new IOException! (Parser.decode)")}d=this.stream.get16()}switch(this.precision=this.frame.precision,this.components=this.frame.components,this.numBytes||(this.numBytes=Math.round(Math.ceil(this.precision/8))),1===this.numBytes?this.mask=255:this.mask=65535,this.scan.read(this.stream),this.numComp=this.scan.numComp,this.selection=this.scan.selection,1===this.numBytes&&3===this.numComp?(this.getter=this.getValueRGB,this.setter=this.setValueRGB,this.output=this.outputRGB):(this.getter=this.getValue8,this.setter=this.setValue8,this.output=this.outputSingle),this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1}for(l=0;l<this.numComp;l+=1)s=this.scan.components[l].scanCompSel,this.qTab[l]=this.quantTable.quantTables[this.components[s].quantTableSel],this.nBlock[l]=this.components[s].vSamp*this.components[s].hSamp,this.dcTab[l]=this.HuffTab[this.scan.components[l].dcTabSel][0],this.acTab[l]=this.HuffTab[this.scan.components[l].acTabSel][1];for(this.xDim=this.frame.dimX,this.yDim=this.frame.dimY,1===this.numBytes?this.outputData=new Uint8Array(new ArrayBuffer(this.xDim*this.yDim*this.numBytes*this.numComp)):this.outputData=new Uint16Array(new ArrayBuffer(this.xDim*this.yDim*this.numBytes*this.numComp)),f+=1;;){for(o[0]=0,u[0]=0,l=0;l<10;l+=1)a[l]=1<<this.precision-1;if(0===this.restartInterval){for(d=this.decodeUnit(a,o,u);0===d&&this.xLoc<this.xDim&&this.yLoc<this.yDim;)this.output(a),d=this.decodeUnit(a,o,u);break}for(c=0;c<this.restartInterval&&(this.restarting=0===c,d=this.decodeUnit(a,o,u),this.output(a),0===d);c+=1);if(0===d&&(0!==this.markerIndex?(d=65280|this.marker,this.markerIndex=0):d=this.stream.get16()),!(d>=e.RESTART_MARKER_BEGIN&&d<=e.RESTART_MARKER_END))break}65500===d&&1===f&&(this.readNumber(),d=this.stream.get16())}while(65497!==d&&this.xLoc<this.xDim&&this.yLoc<this.yDim&&0===f);return this.outputData}decodeUnit(e,i,r){return 1===this.numComp?this.decodeSingle(e,i,r):3===this.numComp?this.decodeRGB(e,i,r):-1}select1(e){return this.getPreviousX(e)}select2(e){return this.getPreviousY(e)}select3(e){return this.getPreviousXY(e)}select4(e){return this.getPreviousX(e)+this.getPreviousY(e)-this.getPreviousXY(e)}select5(e){return this.getPreviousX(e)+(this.getPreviousY(e)-this.getPreviousXY(e)>>1)}select6(e){return this.getPreviousY(e)+(this.getPreviousX(e)-this.getPreviousXY(e)>>1)}select7(e){return(this.getPreviousX(e)+this.getPreviousY(e))/2}decodeRGB(i,r,t){if(null===this.selector)throw new Error("decode hasn't run yet");let n,f,a,l,s,o,u;for(i[0]=this.selector(0),i[1]=this.selector(1),i[2]=this.selector(2),l=0;l<this.numComp;l+=1)for(a=this.qTab[l],n=this.acTab[l],f=this.dcTab[l],s=0;s<this.nBlock[l];s+=1){for(o=0;o<this.IDCT_Source.length;o+=1)this.IDCT_Source[o]=0;let s=this.getHuffmanValue(f,r,t);if(s>=65280)return s;for(i[l]=this.IDCT_Source[0]=i[l]+this.getn(t,s,r,t),this.IDCT_Source[0]*=a[0],u=1;u<64;u+=1){if(s=this.getHuffmanValue(n,r,t),s>=65280)return s;if(u+=s>>4,15&s)this.IDCT_Source[e.IDCT_P[u]]=this.getn(t,15&s,r,t)*a[u];else if(!(s>>4))break}}return 0}decodeSingle(i,r,t){if(null===this.selector)throw new Error("decode hasn't run yet");let n,f,a,l;for(this.restarting?(this.restarting=!1,i[0]=1<<this.frame.precision-1):i[0]=this.selector(),f=0;f<this.nBlock[0];f+=1){if(n=this.getHuffmanValue(this.dcTab[0],r,t),n>=65280)return n;if(a=this.getn(i,n,r,t),l=a>>8,l>=e.RESTART_MARKER_BEGIN&&l<=e.RESTART_MARKER_END)return l;i[0]+=a}return 0}getHuffmanValue(i,r,t){let n,f;if(!this.stream)throw new Error("stream not initialized");if(t[0]<8?(r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f):t[0]-=8,n=i[r[0]>>t[0]],n&e.MSB){if(0!==this.markerIndex)return this.markerIndex=0,65280|this.marker;r[0]&=65535>>16-t[0],r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,n=i[256*(255&n)+(r[0]>>t[0])],t[0]+=8}if(t[0]+=8-(n>>8),t[0]<0)throw new Error("index="+t[0]+" temp="+r[0]+" code="+n+" in HuffmanValue()");return t[0]<this.markerIndex?(this.markerIndex=0,65280|this.marker):(r[0]&=65535>>16-t[0],255&n)}getn(e,i,r,t){let n,f;if(null===this.stream)throw new Error("stream not initialized");if(0===i)return 0;if(16===i)return e[0]>=0?-32768:32768;if(t[0]-=i,t[0]>=0){if(t[0]<this.markerIndex&&!this.isLastPixel())return this.markerIndex=0,(65280|this.marker)<<8;n=r[0]>>t[0],r[0]&=65535>>16-t[0]}else{if(r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,t[0]+=8,t[0]<0){if(0!==this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,t[0]+=8}if(t[0]<0)throw new Error("index="+t[0]+" in getn()");if(t[0]<this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;n=r[0]>>t[0],r[0]&=65535>>16-t[0]}return n<1<<i-1&&(n+=1+(-1<<i)),n}getPreviousX(e=0){if(null===this.getter)throw new Error("decode hasn't run yet");return this.xLoc>0?this.getter(this.yLoc*this.xDim+this.xLoc-1,e):this.yLoc>0?this.getPreviousY(e):1<<this.frame.precision-1}getPreviousXY(e=0){if(null===this.getter)throw new Error("decode hasn't run yet");return this.xLoc>0&&this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,e):this.getPreviousY(e)}getPreviousY(e=0){if(null===this.getter)throw new Error("decode hasn't run yet");return this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc,e):this.getPreviousX(e)}isLastPixel(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1}outputSingle(e){if(null===this.setter)throw new Error("decode hasn't run yet");this.xLoc<this.xDim&&this.yLoc<this.yDim&&(this.setter(this.yLoc*this.xDim+this.xLoc,this.mask&e[0]),this.xLoc+=1,this.xLoc>=this.xDim&&(this.yLoc+=1,this.xLoc=0))}outputRGB(e){if(null===this.setter)throw new Error("decode hasn't run yet");const i=this.yLoc*this.xDim+this.xLoc;this.xLoc<this.xDim&&this.yLoc<this.yDim&&(this.setter(i,e[0],0),this.setter(i,e[1],1),this.setter(i,e[2],2),this.xLoc+=1,this.xLoc>=this.xDim&&(this.yLoc+=1,this.xLoc=0))}setValue8(e,i){if(!this.outputData)throw new Error("output data not ready");this.outputData[e]=G?i:(255&i)<<8|i>>8&255}getValue8(e){if(null===this.outputData)throw new Error("output data not ready");if(G)return this.outputData[e];{const i=this.outputData[e];return(255&i)<<8|i>>8&255}}setValueRGB(e,i,r=0){null!==this.outputData&&(this.outputData[3*e+r]=i)}getValueRGB(e,i){if(null===this.outputData)throw new Error("output data not ready");return this.outputData[3*e+i]}readApp(){if(null===this.stream)return null;let e=0;const i=this.stream.get16();for(e+=2;e<i;)this.stream.get8(),e+=1;return i}readComment(){if(null===this.stream)return null;let e="",i=0;const r=this.stream.get16();for(i+=2;i<r;)e+=this.stream.get8(),i+=1;return e}readNumber(){if(null===this.stream)return null;if(4!==this.stream.get16())throw new Error("ERROR: Define number format throw new IOException [Ld!=4]");return this.stream.get16()}},W=__webpack_require__(497),J=__webpack_require__(29),Z=__webpack_require__(419),Q=__webpack_require__(757);function $(){this.dicom={dicom:!1}}Object.assign($.prototype,{parse(e){try{this.dataSet=W.parseDicom(new Uint8Array(e)),this.dicom.dicom=!0}catch(e){return console.error(e),this.dicom.dicom=!1,this.dicom}return this.getPhotometricInterpretation(),this.getComponents(),this.getWidth(),this.getHeight(),this.getDepth(),this.getBitsAllocated(),this.getBitsStored(),this.getPixelRepresentation(),this.getPlanarConfiguration(),this.getTansferSyntax(),this.getPixelData(),this.dicom},getPhotometricInterpretation(){this.photometricInterpretation=this.dataSet.string("x00280004")},getComponents(){this.dicom.components=this.dataSet.uint16("x00280002")},getWidth(){this.dicom.width=this.dataSet.uint16("x00280011")},getHeight(){this.dicom.height=this.dataSet.uint16("x00280010")},getDepth(){this.dataSet.elements.x00280008?this.dicom.depth=this.dataSet.intString("x00280008"):this.dicom.depth=1},getBitsAllocated(){this.bitsAllocated=this.dataSet.uint16("x00280100")},getBitsStored(){this.bitsStored=this.dataSet.uint16("x00280101")},getPixelRepresentation(){this.pixelRepresentation=this.dataSet.uint16("x00280103")||0},getPlanarConfiguration(){this.planarConfiguration=this.dataSet.uint16("x00280006")||0},getTansferSyntax(){this.transferSyntax=this.dataSet.string("x00020010")},getPixelData(){var e=this.dicom,i=this.dataSet.elements.x7fe00010||this.dataSet.elements.x7fe00008,r="PALETTE COLOR"===this.photometricInterpretation?3:this.dicom.components,t=e.width*e.height*r,n=t*e.depth,f=new Uint8Array(n);if(this.getFrames(i).forEach(((e,i)=>{switch(this.transferSyntax){case"1.2.840.10008.1.2":case"1.2.840.10008.1.2.1":case"1.2.840.10008.1.2.1.99":e=this.decodeLittleEndian(e);break;case"1.2.840.10008.1.2.2":e=this.decodeBigEndian(e);break;case"1.2.840.10008.1.2.5":e=this.decodeRLE(e);break;case"1.2.840.10008.1.2.4.50":case"1.2.840.10008.1.2.4.51":e=this.decodeJPEGBaseline(e);break;case"1.2.840.10008.1.2.4.57":case"1.2.840.10008.1.2.4.70":e=this.decodeJPEGLossless(e);break;case"1.2.840.10008.1.2.4.80":case"1.2.840.10008.1.2.4.81":e=this.decodeJPEGLS(e);break;case"1.2.840.10008.1.2.4.90":case"1.2.840.10008.1.2.4.91":e=this.decodeJPEG2000(e);break;case"1.2.840.10008.1.2.4.52":case"1.2.840.10008.1.2.4.53":case"1.2.840.10008.1.2.4.54":case"1.2.840.10008.1.2.4.55":case"1.2.840.10008.1.2.4.56":case"1.2.840.10008.1.2.4.58":case"1.2.840.10008.1.2.4.59":case"1.2.840.10008.1.2.4.60":case"1.2.840.10008.1.2.4.61":case"1.2.840.10008.1.2.4.62":case"1.2.840.10008.1.2.4.63":case"1.2.840.10008.1.2.4.64":case"1.2.840.10008.1.2.4.65":case"1.2.840.10008.1.2.4.66":case"1.2.840.10008.1.2.4.92":case"1.2.840.10008.1.2.4.93":throw new Error("DICOM: this JPEG encoding ("+this.transferSyntax+") is not supported.");default:throw new Error("DICOM: unsupported transfer syntax '"+this.transferSyntax+"'.")}if(e=this.getTypedArray(e),1===this.pixelRepresentation&&void 0!==this.bitsStored)for(var n=32-this.bitsStored,a=0,l=e.length;a<l;++a)e[a]=e[a]<<n>>n;switch(this.photometricInterpretation){case"MONOCHROME1":case"MONOCHROME2":break;case"RGB":case"YBR_RCT":case"YBR_ICT":case"YBR_FULL_422":1===this.planarConfiguration&&(e=this.convertRGBColorByPlane(e));break;case"YBR_FULL":e=0===this.planarConfiguration?this.convertYBRFullByPixel(e):this.convertYBRFullByPlane(e);break;case"PALETTE COLOR":e=this.convertPaletteColor(e);break;default:throw new Error("DICOM: unsupported image type '"+this.photometricInterpretation+"'.")}e=this.flipImage(e,r);var s=this.getNormalizeOffsetAndFactor(e),o=i*t;for(a=0,l=e.length;a<l;++a,++o)f[o]=(e[a]-s.offset)*s.factor})),"MONOCHROME1"===this.photometricInterpretation)for(var a=0,l=f.length;a<l;++a)f[a]=255-f[a];e.components=r,e.data=f},getFrames(e){var i=[];if(e&&e.encapsulatedPixelData)if(e.basicOffsetTable.length)for(var r=0,t=this.dicom.depth;r<t;++r)i.push(W.readEncapsulatedImageFrame(this.dataSet,e,r));else if(this.dicom.depth!==e.fragments.length){var n=W.createJPEGBasicOffsetTable(this.dataSet,e);for(r=0,t=this.dicom.depth;r<t;++r)i.push(W.readEncapsulatedImageFrame(this.dataSet,e,r,n))}else for(r=0,t=this.dicom.depth;r<t;++r)i.push(W.readEncapsulatedPixelDataFromFragments(this.dataSet,e,r));else{var f=this.dicom.width*this.dicom.height*this.dicom.components;switch(this.bitsAllocated){case 1:for(r=0,t=this.dicom.depth;r<t;++r){var a=e.dataOffset+r*f/8;i.push(this.unpackBinaryFrame(this.dataSet.byteArray,a,f))}this.bitsAllocated=8;break;case 8:case 16:case 32:var l=this.bitsAllocated/8;for(r=0,t=this.dicom.depth;r<t;++r){a=e.dataOffset+r*f*l;i.push(new Uint8Array(this.dataSet.byteArray.buffer,a,f*l))}break;default:throw new Error("DICOM: unsupported pixel format.")}}return i},getTypedArray(e){switch(this.bitsAllocated){case 8:return new(this.pixelRepresentation?Int8Array:Uint8Array)(e.buffer,e.byteOffset,e.length);case 16:return new(this.pixelRepresentation?Int16Array:Uint16Array)(e.buffer,e.byteOffset,e.length/2);case 32:return new Float32Array(e.buffer,e.byteOffset,e.length/4);default:throw new Error("DICOM: unsupported pixel format.")}},flipImage(e,i){for(var r=this.dicom.width,t=this.dicom.height,n=new e.constructor(e.length),f=0;f<t;++f)for(var a=i*r*(t-1-f),l=i*r*f,s=0,o=i*r;s<o;++s)n[l+s]=e[a+s];return n},getNormalizeOffsetAndFactor(e){for(var i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,t=0,n=e.length;t<n;++t)i=Math.min(i,e[t]),r=Math.max(r,e[t]);var f=r-i;return{offset:i,factor:f?1/f*255:0}},unpackBinaryFrame(e,i,r){function t(e,i){return e&1<<i}for(var n=new Uint8Array(r),f=0;f<r;++f){var a=e[Math.floor(f/8)+i],l=f%8;n[f]=t(a,l)?1:0}return n},decodeLittleEndian(e){var i=e.buffer,r=e.byteOffset,t=e.length;return 16===this.bitsAllocated?(r%2&&(i=i.slice(r),r=0),new Uint8Array(i,r,t)):32===this.bitsAllocated?(r%4&&(i=i.slice(r),r=0),new Uint8Array(i,r,t)):e},decodeBigEndian(e){if(16===this.bitsAllocated){var i=e.buffer,r=e.byteOffset,t=e.length;r%2&&(i=i.slice(r),r=0);for(var n=0,f=(e=new Uint16Array(i,r,t/2)).length;n<f;++n)e[n]=(255&(a=e[n]))<<8|a>>8&255;return new Uint8Array(i,r,t)}var a;return e},decodeRLE(e){if(8===this.bitsAllocated)return this.planarConfiguration?this.decodeRLE8Planar(e):this.decodeRLE8(e);if(16===this.bitsAllocated)return this.decodeRLE16(e);throw new Error("DICOM: unsupported pixel format for RLE.")},decodeRLE8(e){const i=e,r=this.dicom.width*this.dicom.height,t=this.dicom.components,n=new ArrayBuffer(r*this.dicom.components),f=new DataView(i.buffer,i.byteOffset),a=new Int8Array(i.buffer,i.byteOffset),l=new Int8Array(n);let s=0;const o=f.getInt32(0,!0);for(let e=0;e<o;++e){s=e;let n=f.getInt32(4*(e+1),!0),u=f.getInt32(4*(e+2),!0);0===u&&(u=i.length);const c=r*o;for(;n<u;){const e=a[n++];if(e>=0&&e<=127)for(let i=0;i<e+1&&s<c;++i)l[s]=a[n++],s+=t;else if(e<=-1&&e>=-127){const i=a[n++];for(let r=0;r<1-e&&s<c;++r)l[s]=i,s+=t}}}return l},decodeRLE8Planar(e){const i=e,r=this.dicom.width*this.dicom.height,t=new ArrayBuffer(r*this.dicom.components),n=new DataView(i.buffer,i.byteOffset),f=new Int8Array(i.buffer,i.byteOffset),a=new Int8Array(t);let l=0;const s=n.getInt32(0,!0);for(let e=0;e<s;++e){l=e*r;let t=n.getInt32(4*(e+1),!0),o=n.getInt32(4*(e+2),!0);0===o&&(o=i.length);const u=r*s;for(;t<o;){const e=f[t++];if(e>=0&&e<=127)for(let i=0;i<e+1&&l<u;++i)a[l]=f[t++],++l;else if(e<=-1&&e>=-127){const i=f[t++];for(let r=0;r<1-e&&l<u;++r)a[l]=i,++l}}}return a},decodeRLE16(e){const i=e,r=this.dicom.width*this.dicom.height,t=new ArrayBuffer(r*this.dicom.components*2),n=new DataView(i.buffer,i.byteOffset),f=new Int8Array(i.buffer,i.byteOffset),a=new Int8Array(t),l=n.getInt32(0,!0);for(let e=0;e<l;++e){let t=0;const l=0===e?1:0;let s=n.getInt32(4*(e+1),!0),o=n.getInt32(4*(e+2),!0);for(0===o&&(o=i.length);s<o;){const e=f[s++];if(e>=0&&e<=127)for(let i=0;i<e+1&&t<r;++i)a[2*t+l]=f[s++],++t;else if(e<=-1&&e>=-127){const i=f[s++];for(let n=0;n<1-e&&t<r;++n)a[2*t+l]=i,++t}}}return a},decodeJPEGBaseline(e){var i=new J;i.parse(e),i.colorTransform=!0;var r=i.getData(this.dicom.width,this.dicom.height);return this.bitsAllocated=8,r},decodeJPEGLossless(e){const i=(new K).decompress(e);return new Uint8Array(i)},decodeJPEGLS(e){var i=this.jpegLSDecode(e,1===this.pixelRepresentation);if(0!==i.result&&6!==i.result)throw new Error(`DICOM: JPEG-LS decoder failed to decode frame (error code ${i.result}).`);return new Uint8Array(i.pixelData.buffer)},jpegLSDecode:(()=>{const e=Z();return function(i,r){const t=e._malloc(i.length);e.writeArrayToMemory(i,t);const n=e._malloc(4),f=e._malloc(4),a=e._malloc(4),l=e._malloc(4),s=e._malloc(4),o=e._malloc(4),u=e._malloc(4),c=e._malloc(4),d=e._malloc(4),h={result:e.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[t,i.length,n,f,a,l,s,o,c,u,d]),width:e.getValue(a,"i32"),height:e.getValue(l,"i32"),bitsPerSample:e.getValue(s,"i32"),stride:e.getValue(o,"i32"),components:e.getValue(c,"i32"),allowedLossyError:e.getValue(u,"i32"),interleaveMode:e.getValue(d,"i32"),pixelData:void 0},b=e.getValue(n,"*");return h.bitsPerSample<=8?(h.pixelData=new Uint8Array(h.width*h.height*h.components),h.pixelData.set(new Uint8Array(e.HEAP8.buffer,b,h.pixelData.length))):r?(h.pixelData=new Int16Array(h.width*h.height*h.components),h.pixelData.set(new Int16Array(e.HEAP16.buffer,b,h.pixelData.length))):(h.pixelData=new Uint16Array(h.width*h.height*h.components),h.pixelData.set(new Uint16Array(e.HEAP16.buffer,b,h.pixelData.length))),e._free(t),e._free(b),e._free(n),e._free(f),e._free(a),e._free(l),e._free(s),e._free(o),e._free(c),e._free(d),h}})(),decodeJPEG2000(e){var i=this.bitsAllocated<=8?1:2,r=1===this.pixelRepresentation,t=this.decodeOpenJPEG(e,i,r);return t.nbChannels>1&&(this.photometricInterpretation="RGB"),new Uint8Array(t.pixelData.buffer)},decodeOpenJPEG:(()=>{const e=Q();return function(i,r,t){const n=e._malloc(i.length);e.writeArrayToMemory(i,n);const f=e._malloc(4),a=e._malloc(4),l=e._malloc(4),s=e._malloc(4),o=e._malloc(4),u=(new Date).getTime();if(0!==e.ccall("jp2_decode","number",["number","number","number","number","number","number","number"],[n,i.length,f,a,l,s,o]))return console.log("[opj_decode] decoding failed!"),e._free(n),e._free(e.getValue(f,"*")),e._free(l),e._free(s),e._free(a),void e._free(o);const c=e.getValue(f,"*"),d={length:e.getValue(a,"i32"),sx:e.getValue(l,"i32"),sy:e.getValue(s,"i32"),nbChannels:e.getValue(o,"i32"),perf_timetodecode:void 0,pixelData:void 0},h=d.sx*d.sy*d.nbChannels,b=new Int32Array(e.HEAP32.buffer,c,h);if(1===r)if(Uint8Array.from)d.pixelData=Uint8Array.from(b);else{d.pixelData=new Uint8Array(h);for(let e=0;e<h;e++)d.pixelData[e]=b[e]}else if(t)if(Int16Array.from)d.pixelData=Int16Array.from(b);else{d.pixelData=new Int16Array(h);for(let e=0;e<h;e++)d.pixelData[e]=b[e]}else if(Uint16Array.from)d.pixelData=Uint16Array.from(b);else{d.pixelData=new Uint16Array(h);for(let e=0;e<h;e++)d.pixelData[e]=b[e]}const k=(new Date).getTime();return d.perf_timetodecode=k-u,e._free(n),e._free(f),e._free(c),e._free(a),e._free(l),e._free(s),e._free(o),d}})(),convertRGBColorByPlane(e){if(e.length%3!=0)throw new Error("DICOM: convertRGBColorByPlane: RGB buffer length must be divisble by 3.");for(var i=e.length/3,r=0,t=0,n=i,f=2*i,a=new e.constructor(e.length),l=0;l<i;++l)a[r++]=e[t++],a[r++]=e[n++],a[r++]=e[f++];return a},convertYBRFullByPixel(e){if(e.length%3!=0)throw new Error("DICOM: convertYBRFullByPixel: YBR buffer length must be divisble by 3.");console.log(e);for(var i=e.length/3,r=0,t=0,n=new e.constructor(e.length),f=0;f<i;++f){var a=e[r++],l=e[r++],s=e[r++];n[t++]=a+1.402*(s-128),n[t++]=a-.34414*(l-128)-.71414*(s-128),n[t++]=a+1.772*(l-128)}return n},convertYBRFullByPlane(e){if(e.length%3!=0)throw new Error("DICOM: convertYBRFullByPlane: YBR buffer length must be divisble by 3.");for(var i=e.length/3,r=0,t=0,n=i,f=2*i,a=new e.constructor(e.length),l=0;l<i;++l){var s=e[t++],o=e[n++],u=e[f++];a[r++]=s+1.402*(u-128),a[r++]=s-.34414*(o-128)-.71414*(u-128),a[r++]=s+1.772*(o-128)}return a},convertPaletteColor(e){function i(e,i){if(e.cleaned)return e.cleaned;const r=e.length,t=new Uint8ClampedArray(r);for(let n=0;n<r;++n)t[n]=e[n]>>i;return e.cleaned=t,t}const r=this.getLUT(),t=this.dicom.width*this.dicom.height,n=r.redPaletteColorLookupTableData,f=r.greenPaletteColorLookupTableData,a=r.bluePaletteColorLookupTableData,l=r.redPaletteColorLookupTableData.length;let s=0,o=0;const u=r.redPaletteColorLookupTableDescriptor[1],c=8===r.redPaletteColorLookupTableDescriptor[2]?0:8,d=i(n,c),h=i(f,c),b=i(a,c);let k=new Uint8Array(3*e.length);for(let i=0;i<t;++i){let i=e[s++];i<u?i=0:i>u+l-1?i=l-1:i-=u,k[o++]=d[i],k[o++]=h[i],k[o++]=b[i]}return k},getLUT(){return this.LUT||(this.LUT={},this.populatePaletteColorLut(this.dataSet,this.LUT)),this.LUT},populatePaletteColorLut(e,i){i.redPaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281101"),i.greenPaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281102"),i.bluePaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281103"),0===i.redPaletteColorLookupTableDescriptor[0]&&(i.redPaletteColorLookupTableDescriptor[0]=65536,i.greenPaletteColorLookupTableDescriptor[0]=65536,i.bluePaletteColorLookupTableDescriptor[0]=65536);const r=i.redPaletteColorLookupTableDescriptor[0],t=e.elements.x00281201.length===r?8:16;i.redPaletteColorLookupTableDescriptor[2]!==t&&(i.redPaletteColorLookupTableDescriptor[2]=t,i.greenPaletteColorLookupTableDescriptor[2]=t,i.bluePaletteColorLookupTableDescriptor[2]=t),i.redPaletteColorLookupTableData=this.getLutData(e,"x00281201",i.redPaletteColorLookupTableDescriptor),i.greenPaletteColorLookupTableData=this.getLutData(e,"x00281202",i.greenPaletteColorLookupTableDescriptor),i.bluePaletteColorLookupTableData=this.getLutData(e,"x00281203",i.bluePaletteColorLookupTableDescriptor)},getLutDescriptor(e,i){if(e.elements[i]&&6===e.elements[i].length)return[e.uint16(i,0),e.uint16(i,1),e.uint16(i,2)]},getLutData(e,i,r){const t=[],n=e.elements[i];for(let f=0;f<r[0];++f)16===r[2]?t[f]=e.uint16(i,f):t[f]=e.byteArray[f+n.dataOffset];return t}});const ee=$,ie=k().add("DICOMParser",ee),re=__X_ITE_X3D__.FileLoader;var te=__webpack_require__.n(re);const ne=__X_ITE_X3D__.DEVELOPMENT;var fe=__webpack_require__.n(ne);function ae(e){p.call(this,e),T().call(this,e),this.addType(h().ImageTexture3D)}Object.assign(Object.setPrototypeOf(ae.prototype,p.prototype),T().prototype,{initialize(){p.prototype.initialize.call(this),T().prototype.initialize.call(this),this.requestImmediateLoad().catch(Function.prototype)},getInternalType(e){const i=this.getBrowser().getContext();switch(e){case 1:return i.LUMINANCE;case 2:return i.LUMINANCE_ALPHA;case 3:return i.RGB;case 4:return i.RGBA}},unloadData(){this.clearTexture()},loadData(){new(te())(this).loadDocument(this._url,((e,i)=>{if(null===e)this.setLoadState(h().FAILED_STATE),this.clearTexture();else if(e instanceof ArrayBuffer){if(i.pathname.match(/\.ktx2?(?:\.gz)?$/)||i.href.match(/^data:image\/ktx2[;,]/))return this.setLinear(!0),this.setMipMaps(!1),this.getBrowser().getKTXDecoder().then((i=>i.loadKTXFromBuffer(e))).then((e=>this.setKTXTexture(e,i)));this.setLinear(!1),this.setMipMaps(!0);const r=(new x).parse(e);if(r.nrrd){const e=this.getInternalType(r.components),i=!(1&r.components);return this.setTextureData(r.width,r.height,r.depth,i,e,r.data),void this.setLoadState(h().COMPLETE_STATE)}const t=(new ie).parse(e);if(t.dicom){const e=this.getInternalType(t.components),i=!(1&t.components);return this.setTextureData(t.width,t.height,t.depth,i,e,t.data),void this.setLoadState(h().COMPLETE_STATE)}throw new Error("ImageTexture3D: no suitable file type handler found.")}}))},setKTXTexture(e,i){if(e.target!==this.getTarget())throw new Error("Invalid KTX texture target, must be 'TEXTURE_3D'.");fe()&&"data:"!==i.protocol&&console.info(`Done loading image texture 3D '${decodeURI(i.href)}'.`),this.setTexture(e),this.setTransparent(!1),this.setWidth(e.baseWidth),this.setHeight(e.baseHeight),this.setDepth(e.baseDepth),this.updateTextureParameters(),this.setLoadState(h().COMPLETE_STATE)},dispose(){T().prototype.dispose.call(this),p.prototype.dispose.call(this)}}),Object.defineProperties(ae,{...o().getStaticProperties("ImageTexture3D","Texturing3D",2,"texture","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"description",new(t().SFString)),new(f())(h().inputOutput,"load",new(t().SFBool)(!0)),new(f())(h().inputOutput,"url",new(t().MFString)),new(f())(h().inputOutput,"autoRefresh",new(t().SFTime)),new(f())(h().inputOutput,"autoRefreshTimeLimit",new(t().SFTime)(3600)),new(f())(h().initializeOnly,"repeatS",new(t().SFBool)),new(f())(h().initializeOnly,"repeatT",new(t().SFBool)),new(f())(h().initializeOnly,"repeatR",new(t().SFBool)),new(f())(h().initializeOnly,"textureProperties",new(t().SFNode))]),enumerable:!0}});const le=ae,se=k().add("ImageTexture3D",le);var oe=__webpack_require__(254);function ue(e){p.call(this,e),T().call(this,e),this.addType(h().ImageTextureAtlas),this.image=oe("<img></img>"),this.urlStack=new(t().MFString)}Object.assign(Object.setPrototypeOf(ue.prototype,p.prototype),T().prototype,{initialize(){p.prototype.initialize.call(this),T().prototype.initialize.call(this),this.image.on("load",this.setImage.bind(this)),this.image.on("abort error",this.setError.bind(this)),this.image.prop("crossOrigin","Anonymous"),this.requestImmediateLoad().catch(Function.prototype)},unloadData(){this.clearTexture()},loadData(){this.urlStack.setValue(this._url),this.loadNext()},loadNext(){if(0===this.urlStack.length)return this.clearTexture(),void this.setLoadState(h().FAILED_STATE);this.URL=new URL(this.urlStack.shift(),this.getExecutionContext().getBaseURL()),"data:"!==this.URL.protocol&&(this.getCache()||this.URL.searchParams.set("_",Date.now())),this.image.attr("src",this.URL.href)},setError(e){"data:"!==this.URL.protocol&&console.warn(`Error loading image '${decodeURI(this.URL.href)}'`,e.type),this.loadNext()},setImage(){fe()&&"data:"!==this.URL.protocol&&console.info(`Done loading image '${decodeURI(this.URL.href)}'.`);try{const e=this.getBrowser().getContext();if(1===e.getVersion())return void this.setLoadState(h().COMPLETE_STATE);const i=this.image[0],r=i.width,t=i.height,n=e.createTexture(),f=e.createFramebuffer(),a=this._slicesOverX.getValue(),l=this._slicesOverY.getValue(),s=a*l,o=Math.floor(r/a),u=Math.floor(t/l),c=Math.min(this._numberOfSlices.getValue(),s),d=new Uint8Array(r*t*4),b=d.subarray(0,o*u*c*4);e.bindTexture(e.TEXTURE_3D,this.getTexture()),e.texImage3D(e.TEXTURE_3D,0,e.RGBA,o,u,c,0,e.RGBA,e.UNSIGNED_BYTE,d),e.bindFramebuffer(e.FRAMEBUFFER,f),e.bindTexture(e.TEXTURE_2D,n),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,r,t,0,e.RGBA,e.UNSIGNED_BYTE,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);let k=!1;for(let i=0,n=0;i<l&&n<c;++i)for(let f=0;f<a&&n<c;++f,++n){const s=Math.floor(f*r/a),c=Math.floor(i*t/l);e.readPixels(s,c,o,u,e.RGBA,e.UNSIGNED_BYTE,b),e.texSubImage3D(e.TEXTURE_3D,0,0,0,n,o,u,1,e.RGBA,e.UNSIGNED_BYTE,b),k=k||this.isImageTransparent(b)}e.deleteFramebuffer(f),e.deleteTexture(n),this.setTransparent(k),this.setWidth(o),this.setHeight(u),this.setDepth(c),this.updateTextureParameters(),this.setLoadState(h().COMPLETE_STATE)}catch(e){fe()&&console.log(e),this.setError({type:e.message})}},dispose(){T().prototype.dispose.call(this),p.prototype.dispose.call(this)}}),Object.defineProperties(ue,{...o().getStaticProperties("ImageTextureAtlas","Texturing3D",1,"texture","4.0"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"description",new(t().SFString)),new(f())(h().inputOutput,"load",new(t().SFBool)(!0)),new(f())(h().inputOutput,"url",new(t().MFString)),new(f())(h().inputOutput,"autoRefresh",new(t().SFTime)),new(f())(h().inputOutput,"autoRefreshTimeLimit",new(t().SFTime)(3600)),new(f())(h().inputOutput,"slicesOverX",new(t().SFInt32)),new(f())(h().inputOutput,"slicesOverY",new(t().SFInt32)),new(f())(h().inputOutput,"numberOfSlices",new(t().SFInt32)),new(f())(h().initializeOnly,"repeatS",new(t().SFBool)),new(f())(h().initializeOnly,"repeatT",new(t().SFBool)),new(f())(h().initializeOnly,"repeatR",new(t().SFBool)),new(f())(h().initializeOnly,"textureProperties",new(t().SFNode))]),enumerable:!0}});const ce=ue,de=k().add("ImageTextureAtlas",ce);function he(e){p.call(this,e),this.addType(h().PixelTexture3D)}Object.assign(Object.setPrototypeOf(he.prototype,p.prototype),{initialize(){p.prototype.initialize.call(this),this._image.addInterest("set_image__",this),this.set_image__()},set_image__:function(){const e=this._image;if(e.length<4)return void this.clearTexture();const i=this.getBrowser().getContext(),r=e[0],t=e[1],n=e[2],f=e[3],a=!(1&r),l=t*n*f;let s,o;switch(r){case 1:s=new Uint8Array(l),o=i.LUMINANCE;for(let i=4,r=4+l,t=0;i<r;++i)s[t++]=e[i];break;case 2:s=new Uint8Array(2*l),o=i.LUMINANCE_ALPHA;for(let i=4,r=4+l,t=0;i<r;++i){const r=e[i];s[t++]=r>>>8&255,s[t++]=255&r}break;case 3:s=new Uint8Array(3*l),o=i.RGB;for(let i=4,r=4+l,t=0;i<r;++i){const r=e[i];s[t++]=r>>>16&255,s[t++]=r>>>8&255,s[t++]=255&r}break;case 4:s=new Uint8Array(4*l),o=i.RGBA;for(let i=4,r=4+l,t=0;i<r;++i){const r=e[i];s[t++]=r>>>24&255,s[t++]=r>>>16&255,s[t++]=r>>>8&255,s[t++]=255&r}break;default:return void this.clearTexture()}this.setTextureData(t,n,f,a,o,s)}}),Object.defineProperties(he,{...o().getStaticProperties("PixelTexture3D","Texturing3D",1,"texture","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"description",new(t().SFString)),new(f())(h().inputOutput,"image",new(t().MFInt32)(0,0,0,0)),new(f())(h().initializeOnly,"repeatS",new(t().SFBool)),new(f())(h().initializeOnly,"repeatT",new(t().SFBool)),new(f())(h().initializeOnly,"repeatR",new(t().SFBool)),new(f())(h().initializeOnly,"textureProperties",new(t().SFNode))]),enumerable:!0}});const be=he,ke=k().add("PixelTexture3D",be),we=__X_ITE_X3D__.X3DSingleTextureCoordinateNode;var _e=__webpack_require__.n(we);const me=__X_ITE_X3D__.Vector3;var pe=__webpack_require__.n(me);function ve(e){_e().call(this,e),this.addType(h().TextureCoordinate3D)}Object.assign(Object.setPrototypeOf(ve.prototype,_e().prototype),{initialize(){_e().prototype.initialize.call(this),this._point.addInterest("set_point__",this),this.set_point__()},set_point__(){this.point=this._point.getValue(),this.length=this._point.length},isEmpty(){return 0===this.length},getSize(){return this.length},get1Point(e,i){if(e<this.length){const r=this.point;return e*=3,i.set(r[e],r[e+1],r[e+2],1)}return i.set(0,0,0,1)},set1Point:function(){const e=new(pe());return function(i,{x:r,y:t,z:n,w:f}){this._point[i]=e.set(r,t,n).divide(f)}}(),addPointToChannel(e,i){if(e>=0&&this.length){const r=this.point,t=e%this.length*3;i.push(r[t],r[t+1],r[t+2],1)}else i.push(0,0,0,1)},addPoints(e){const i=this.point,r=this.length;for(let t=0,n=0;t<r;++t,n+=3)e.push(i[n],i[n+1],i[n+2],1);return e}}),Object.defineProperties(ve,{...o().getStaticProperties("TextureCoordinate3D","Texturing3D",1,"texCoord","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"mapping",new(t().SFString)),new(f())(h().inputOutput,"point",new(t().MFVec3f))]),enumerable:!0}});const ge=ve,ye=k().add("TextureCoordinate3D",ge);function Ee(e){_e().call(this,e),this.addType(h().TextureCoordinate4D)}Object.assign(Object.setPrototypeOf(Ee.prototype,_e().prototype),{initialize(){_e().prototype.initialize.call(this),this._point.addInterest("set_point__",this),this.set_point__()},set_point__(){this.point=this._point.getValue(),this.length=this._point.length},isEmpty(){return 0===this.length},getSize(){return this.length},get1Point(e,i){if(e<this.length){const r=this.point;return e*=4,i.set(r[e],r[e+1],r[e+2],r[e+3])}return i.set(0,0,0,1)},set1Point(e,i){this._point[e]=i},addPointToChannel(e,i){if(e>=0&&this.length){const r=this.point,t=e%this.length*4;i.push(r[t],r[t+1],r[t+2],r[t+3])}else i.push(0,0,0,1)},addPoints(e){const i=this.point,r=this.length;for(let t=0,n=0;t<r;++t,n+=4)e.push(i[n],i[n+1],i[n+2],i[n+3]);return e}}),Object.defineProperties(Ee,{...o().getStaticProperties("TextureCoordinate4D","Texturing3D",1,"texCoord","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"mapping",new(t().SFString)),new(f())(h().inputOutput,"point",new(t().MFVec4f))]),enumerable:!0}});const Ae=Ee,Me=k().add("TextureCoordinate4D",Ae),Te=__X_ITE_X3D__.X3DSingleTextureTransformNode;var Se=__webpack_require__.n(Te);const Pe=__X_ITE_X3D__.Rotation4;var Oe=__webpack_require__.n(Pe);const Re=__X_ITE_X3D__.Matrix4;var Le=__webpack_require__.n(Re);function Ce(e){Se().call(this,e),this.addType(h().TextureTransform3D),this.matrix=new(Le())}Object.assign(Object.setPrototypeOf(Ce.prototype,Se().prototype),{initialize(){Se().prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed:(()=>{const e=new(pe());return function(){const i=this._translation.getValue(),r=this._rotation.getValue(),t=this._scale.getValue(),n=this._center.getValue(),f=this.matrix;f.identity(),n.equals(pe().Zero)||f.translate(e.assign(n).negate()),t.equals(pe().One)||f.scale(t),r.equals(Oe().Identity)||f.rotate(r),n.equals(pe().Zero)||f.translate(n),i.equals(pe().Zero)||f.translate(i),this.setMatrix(f)}})()}),Object.defineProperties(Ce,{...o().getStaticProperties("TextureTransform3D","Texturing3D",1,"textureTransform","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"mapping",new(t().SFString)),new(f())(h().inputOutput,"translation",new(t().SFVec3f)),new(f())(h().inputOutput,"rotation",new(t().SFRotation)),new(f())(h().inputOutput,"scale",new(t().SFVec3f)(1,1,1)),new(f())(h().inputOutput,"center",new(t().SFVec3f))]),enumerable:!0}});const De=Ce,xe=k().add("TextureTransform3D",De);function Ie(e){Se().call(this,e),this.addType(h().TextureTransformMatrix3D)}Object.assign(Object.setPrototypeOf(Ie.prototype,Se().prototype),{initialize(){Se().prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.setMatrix(this._matrix.getValue())}}),Object.defineProperties(Ie,{...o().getStaticProperties("TextureTransformMatrix3D","Texturing3D",1,"textureTransform","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"mapping",new(t().SFString)),new(f())(h().inputOutput,"matrix",new(t().SFMatrix4f))]),enumerable:!0}});const Be=Ie,Ne=k().add("TextureTransformMatrix3D",Be);i().add({name:"Texturing3D",concreteNodes:[A,se,de,ke,ye,Me,xe,Ne],abstractNodes:[p]});k().add("Texturing3DComponent",undefined)})()})();