Jessibuca是一款开源的纯H5直播流播放器,通过Emscripten将音视频解码库编译成Js(ams.js/wasm)运行于浏览器之中。兼容几乎所有浏览器,可以运行在PC、手机、微信中,无需额外安装插件。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

28 lines
1.9 MiB

var Module=typeof Module!=="undefined"?Module:{};((function(root,factory){if(typeof define==="function"&&define.amd){define([],factory)}else if(typeof exports==="object"){module.exports=factory()}else{root.WebGLCanvas=factory()}}))(this,(function(){function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=(function(){return this.contextGL});H264bsdCanvas.prototype.initContextGL=(function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex<validContextNames.length){var contextName=validContextNames[nameIndex];try{if(this.contextOptions){gl=canvas.getContext(contextName,this.contextOptions)}else{gl=canvas.getContext(contextName)}}catch(e){gl=null}if(!gl||typeof gl.getParameter!=="function"){gl=null}++nameIndex}this.contextGL=gl});H264bsdCanvas.prototype.initProgram=(function(){var gl=this.contextGL;var vertexShaderScript=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n");var fragmentShaderScript=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");var vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript);gl.compileShader(vertexShader);if(!gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS)){console.log("Vertex shader failed to compile: "+gl.getShaderInfoLog(vertexShader))}var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript);gl.compileShader(fragmentShader);if(!gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS)){console.log("Fragment shader failed to compile: "+gl.getShaderInfoLog(fragmentShader))}var program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.log("Program failed to compile: "+gl.getProgramInfoLog(program))}gl.useProgram(program);this.shaderProgram=program});H264bsdCanvas.prototype.initBuffers=(function(){var gl=this.contextGL;var program=this.shaderProgram;var vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef);gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,false,0,0);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.STATIC_DRAW);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef);gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,false,0,0);this.texturePosBuffer=texturePosBuffer});H264bsdCanvas.prototype.initTextures=(function(){var gl=this.contextGL;var program=this.shaderProgram;var yTextureRef=this.initTexture();var ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0);this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture();var uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1);this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture();var vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2);this.vTextureRef=vTextureRef});H264bsdCanvas.prototype.initTexture=(function(){var gl=this.contextGL;var textureRef=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,textureRef);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return textureRef});H264bsdCanvas.prototype.drawNextOutputPicture=(function(width,height,croppingParams,data){var gl=this.contextGL;if(gl){this.drawNextOuptutPictureGL(width,height,croppingParams,data)}else{this.drawNextOuptutPictureRGBA(width,height,croppingParams,data)}});H264bsdCanvas.prototype.drawNextOuptutPictureGL=(function(width,height,croppingParams,data){var gl=this.contextGL;var texturePosBuffer=this.texturePosBuffer;var yTextureRef=this.yTextureRef;var uTextureRef=this.uTextureRef;var vTextureRef=this.vTextureRef;if(!croppingParams){gl.viewport(0,0,width,height)}else{gl.viewport(0,0,croppingParams.width,croppingParams.height);var tTop=croppingParams.top/height;var tLeft=croppingParams.left/width;var tBottom=croppingParams.height/height;var tRight=croppingParams.width/width;var texturePosValues=new Float32Array([tRight,tTop,tLeft,tTop,tRight,tBottom,tLeft,tBottom]);gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,texturePosValues,gl.DYNAMIC_DRAW)}gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[0]);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[1]);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[2]);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)});H264bsdCanvas.prototype.drawNextOuptutPictureRGBA=(function(width,height,croppingParams,data){this.imageData.data.set(data);if(!croppingParams){this.ctx2d.putImageData(this.imageData,0,0)}else{this.ctx2d.putImageData(this.imageData,-croppingParams.left,-croppingParams.top,0,0,croppingParams.width,croppingParams.height)}});H264bsdCanvas.prototype.ctx2d=null;H264bsdCanvas.prototype.imageData=null;H264bsdCanvas.prototype.initRGB=(function(width,height){this.ctx2d=this.canvasElement.getContext("2d");this.imageData=this.ctx2d.getImageData(0,0,width,height)});return H264bsdCanvas}));var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){Module["printErr"]("node.js exiting due to unhandled promise rejection");process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;stackSave=stackRestore=stackAlloc=setTempRet0=getTempRet0=(function(){abort("cannot use the stack before compiled code is ready to run, and has provided stack access")});function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){assert(args.length==sig.length-1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);else if(returnType==="boolean")ret=Boolean(ret);if(stack!==0){stackRestore(stack)}return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}assert(type,"Must know what type to store in allocate!");if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!staticSealed)return staticAlloc(size);if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){assert(ptr+i<TOTAL_MEMORY);t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-stackSave()+allocSize)+" bytes available!")}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!==undefined&&Int32Array.prototype.set!==undefined,"JS engine does not provide full typed array support");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===TOTAL_MEMORY,"provided buffer should be "+TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}assert(buffer.byteLength===TOTAL_MEMORY);Module["buffer"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===str.charCodeAt(i)&255);HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval((function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;Module.printErr("still waiting on run dependencies:")}Module.printErr("dependency: "+dep)}if(shown){Module.printErr("(end of list)")}}),1e4)}}else{Module.printErr("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{Module.printErr("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function($0){return(new Date).getTime()}),(function($0){clearTimeout($0)})];function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+263584;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_FlvClient_cpp()})},{func:(function(){__GLOBAL__sub_I_bind_cpp()})},{func:(function(){___emscripten_environ_constructor()})});memoryInitializer="data:application/octet-stream;base64,zKgBAJm+AQB8qQEAWr4BAAAAAAABAAAACAAAAAAAAADMqAEA0L8BAMyoAQCPwAEA9KgBAIfAAQAwAAAAAAAAAMyoAQA4wQEAYKkBAIfBAQAAAAAASAAAAGCpAQCTwQEAAQAAAEgAAACP5wEAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJfnAQADAQAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn+cBAAMAAAAgAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAIAAAAAgAAAAcAAAABAAAAAAAAAAMAAAABAAAAAAAAAAgAAAACAAAABwAAAAIAAAAAAAAAAwAAAAIAAAAAAAAACAAAAAIAAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACl5wEAAwAAACAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAgAAAACAAAABwAAAAMAAAAAAAAAAwAAAAEAAAAAAAAACAAAAAIAAAAHAAAAAgAAAAAAAAADAAAAAAAAAAAAAAAIAAAAAgAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKvnAQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs+cBAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC75wEAAwICABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPnAQADAgAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb3ICAAEAAABAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy+cBAAAAAADU5wEAAQAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANrnAQABAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4OcBAAEAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5wEAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO7nAQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+cBAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6AEAAwEAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjoAQADAgAAAAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAGAAAAAAAAAAAAAAAIAAAABQAAAAcAAAABAAAAAAAAAAYAAAADAAAAAAAAAAgAAAAFAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEugBAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX6AEAAwAAACQAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAEAAAADAAAAAAAAAAQAAAAAAAAABAAAAAEAAAAAAAAAAgAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAABAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzoAQADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJugBAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAYAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr6AEAAwAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAEAAAAAAAAABAAAAAEAAAAAAAAAAgAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAwAAAAAAAAABAAAAAwAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDoAQADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOugBAAMBAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAABAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6AEAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEToAQAEAAAAoAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAAAAAASegBAAQAAACgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAABO6AEABAAAAKAAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAAAAAAAFPoAQAEAAAAoAAAAAAAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAABAAAAAMAAAAAAAAACAAAAAMAAAAHAAAABAAAAAAAAAAAAAAAWOgBAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYegBAAAAAABn6AEAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABw6AEAAAAAAHboAQADAAEAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfugBAAMAAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH6AEABAEBAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAJDoAQADAAAAIQAAAAAAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAAQAAAABQAAAA8AAAADAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmOgBAAMAAAAgAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAQAAAAAAAAAEAAAAAUAAAAPAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACg6AEAAwAAACEAAAAAAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAgAAAAAAAAAFAAAABgAAAAEAAAAFAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKnoAQADAAAAIAAAAAAAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsugBAAMAAAAhAAAAAAAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAIAAAAAAAAABQAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC76AEAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMToAQADAAAAIQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzegBAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAAAAAAABQAAAAYAAAABAAAABQAAAAEAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW6AEAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/oAQADAAAAIAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OgBAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz6AEAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7oAQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOkBAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU6QEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDpAQADAQAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALOkBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA46QEAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAETpAQADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUOkBAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa6QEAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAQAAAABAAAAAwAAAAIAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPpAQADAAAAIQAAAAAAAAAAAAAAAgAAAP////8AAAAABAAAAAEAAAADAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbOkBAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAABAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAEAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB16QEAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAA/////wAAAAAEAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH7pAQACAAAAgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAQAAAAAAAAAIAAAAAQAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAILpAQAAAAAAiekBAAMAAAAhAAAAAAAAAAAAAAAGAAAABAAAAAAAAAAQAAAABQAAAA8AAAAFAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACR6QEAAwAAACAAAAAAAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAABgAAAAIAAAAAAAAAEAAAAAUAAAAPAAAAAwAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnpAQADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApOkBAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv6QEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALvpAQADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx+kBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADT6QEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/pAQADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6ukBAAMAAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD16QEAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHqAQADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADeoBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY6gEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPqAQADAAAAMAAAAAAAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOoBAAMAAAAxAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw6gEAAwAAADAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjqAQADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQeoBAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABK6gEAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFPqAQADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXOoBAAQBAACQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAABl6gEABAAAAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAG7qAQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAeuoBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAACG6gEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAJLqAQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAnuoBAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAACq6gEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAALbqAQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAw+oBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAADQ6gEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAN3qAQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAA6uoBAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAD36gEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAATrAQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAEesBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAe6wEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAACvrAQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAOOsBAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAABF6wEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAFLrAQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWOsBAAMAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAQAAAAMAAAABQAAAAsAAAABAAAAAAAAAAYAAAACAAAABAAAAAwAAAAFAAAACwAAAAMAAAAAAAAABgAAAAQAAAAEAAAADAAAAAUAAAALAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABg6wEAAwAAAAEAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAwAAAAFAAAACwAAAAEAAAAAAAAABgAAAAIAAAAEAAAADAAAAAUAAAALAAAAAwAAAAAAAAAGAAAABAAAAAQAAAAMAAAABQAAAAsAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjrAQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAQAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbesBAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAAAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB06wEAAwEAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAAAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAAAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHvrAQAEAAAAoQAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAcAAAAPAAAAAQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAhOsBAAQAAACgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAAAAACN6wEABAAAAKEAAAAAAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAIAAAAAAAAAEAAAAAcAAAAPAAAAAwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAAGAAAAAAAAABAAAAAHAAAADwAAAAcAAAAAAAAAAAAAAJbrAQAEAAAAoAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAn+sBAAMBAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACn6wEAAgAAAIEAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAAAAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK7rAQACAAAAgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAMAAAAPAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAQAAAAAwAAAA8AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtesBAAQAAACwAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAC76wEABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAMXrAQAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAz+sBAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADT6wEAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANjrAQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OsBAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp6wEAAwAAACAAAAAAAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO7rAQADAAAAIAAAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8+sBAAMAAAAgAAAAAAAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD46wEAAwAAACAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3rAQADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACewBAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV7AEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHsAQADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALewBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA57AEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEXsAQADAQAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUewBAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABd7AEAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnsAQADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdewBAAMAAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACB7AEAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI3sAQADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAluwBAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACf7AEAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKjsAQADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsewBAAMCAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC67AEAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbsAQADAAAAIAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0uwBAAMAAAAgAQAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADe7AEAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrsAQADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+ewBAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI7QEAAwAAACABAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABftAQADAAAAIQEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJu0BAAMAAAAgAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA17QEAAwAAACEBAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAETtAQADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU+0BAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABi7QEAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGftAQADAAEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc+0BAAMAAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/7QEAAwABABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIvtAQADAAEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAl+0BAAQAAACAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAAAAACg7QEABAAAAIEAAAAAAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAAAAAAAKntAQAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuu0BAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAABgAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAGAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADB7QEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAGAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAYAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjtAQAEAAAAsQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAADAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAA0u0BAAQAAACwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAADc7QEABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAObtAQAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAA8O0BAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD77QEAAQAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE7gEAAAAAAAruAQABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPuAQAAAAAAGe4BAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIu4BAAAAAAAo7gEAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx7gEAAAAAADfuAQADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAQAAAAAwAAAA8AAAABAAAAAQAAAAQAAAACAAAAAAAAABAAAAADAAAADwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPu4BAAMBAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAABAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABF7gEAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEvuAQABAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFPuAQAAAAAAWO4BAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYO4BAAAAAABl7gEAAwAAADECAAAAAAAAAgAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/uAQADAAAAMAIAAAAAAAACAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAQAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAee4BAAQAAACxAgAAAAAAAAIAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAABAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAMAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAAAAACE7gEABAAAALACAAAAAAAAAgAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAwAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAAAAAAAI/uAQAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAme4BAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30ESAAAAOnECAPtyAgABcwIAAAAAAAoAAAAAAAQAAAAAAAAAAAAAAODBAADA////30ERAAAAOnECABRzAgAecwIAAAAAAAoAAAAAAAgAAAAAAAAAAAAAAODBAADA////30ETAAAAOnECAC5zAgA8cwIAAAAAAAoAAAAAAEAAAAAAAAAAAAAAAODBAADA////30EZAAAAOnECAHhzAgCBcwIAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAODBAADA////30E7AAAAOnECAK1zAgCxcwIAAAAAAAoAAAAAAAABAAAAAAAAAAAAAODBAADA////30ERAAAAOnECAORzAgDpcwIAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAODBAADA////30ERAAAAOnECAAZ0AgALdAIAAAAAAAoAAAAAAACAAAAAAAAAAAAAAODBAADA////30ERAAAAOnECABZ0AgAldAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAOnECAE50AgBTdAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAe3QCAIJ0AgCIdAIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAe3QCAKB0AgCrdAIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30ESAAAAe3QCANB0AgDddAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAe3QCABx1AgAjdQIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAe3QCAFJ1AgBadQIAAAAAAAoAAAAAAEAAAAAAAAAAAAAAAODBAADA////30ESAAAAe3QCAIR1AgCPdQIAAAAAAAoAAAAAAAAQAAAAAAAAAAAAAODBAADA////30ESAAAAe3QCAL11AgDJdQIAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAODBAADA////30ESAAAAe3QCAAx2AgAedgIAAAAAAAoAAAAAAABAAAAAAAAAAAAAAODBAADA////30EiAAAAe3QCAEh2AgAAAAAATAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAFJ2AgBUdgIAbAAAAAEAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAHh2AgB7dgIAWAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ELAAAAAAAAAJt2AgCedgIAXAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ELAAAAAAAAALt2AgDCdgIAcAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAAAAAANd2AgAAAAAAZAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EJAAAAAAAAAOJ2AgAAAAAAaAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAO92AgAAAAAAWAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAPV2AgD7dgIAmAEAAAQAAAAAAAAAAADgPwAAAOD//+/HAAAA4P//70cRAAAAAAAAAHN3AgB5dwIAnAEAAAQAAAAAAAAAAADgPwAAAAAAAPC/AAAA4P//70cRAAAAAAAAAJp3AgCfdwIAoAEAAAEAAAACAAAAAAAAAAAAAAAAAPC/AAAAAABAUUARAAAAAAAAAMN3AgDIdwIApAEAAAEAAAAfAAAAAAAAAAAAAAAAAPC/AAAAAAAAkEARAAAAAAAAAOx3AgDydwIAqAEAAAEAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAACh4AgAreAIAfAAAAAEAAAAAAAAAAAAAAAAAAAAAAPC/AADA////30ERAAAAAAAAAF94AgBpeAIAgAAAAAQAAAAAAAAAAAD0PwAAAOD//+/HAAAA4P//70cRAAAAAAAAAIt4AgCWeAIAhAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAL54AgDBeAIABAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANt4AgAAAAAACAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAON4AgAAAAAADAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAO94AgAAAAAAEAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAPp4AgAAAAAAFAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAAV5AgAAAAAAGAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAA15AgAAAAAAHAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABV5AgAAAAAAIAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAACB5AgAAAAAAJAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAACp5AgAAAAAAKAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAADV5AgAAAAAAFAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAD95AgBDeQIANAIAAAAAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAG15AgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAHh5AgCDeQIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCALl5AgC+eQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAN95AgDqeQIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAAV6AgAAAAAAAAAAAAoAAAAgAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAAl6AgAAAAAAAAAAAAoAAABAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCABV6AgAeegIAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAFJ6AgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAF96AgBwegIAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAKx6AgCxegIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAOR6AgAAAAAAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAPB6AgAAAAAAAAAAAAoAAAAAEAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAPh6AgD7egIAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCADN7AgA5ewIAAAAAAAoAAAAAQAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAEp7AgAAAAAAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAP3kCAFB7AgBXewIAOAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAUHsCAHx7AgCBewIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAUHsCAFB7AgDTewIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAUHsCACJ8AgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAUHsCACl8AgA0fAIAAAAAAAoAAAD//////////wAAAAAAAODBAADA////30EbAAAAUHsCAFB8AgBdfAIAAAAAAAoAAAD+/////////wAAAAAAAODBAADA////30EbAAAAUHsCAIh8AgCSfAIAiAAAAAQAAAAAAAAAAAD0PwAAAOD//+/HAAAA4P//70cRAAAAAAAAALR8AgC/fAIARAIAAAAAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAtHwCANl8AgDifAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAtHwCAPd8AgABfQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAtHwCACt9AgAyfQIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAtHwCAFN9AgBbfQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAtHwCAIN9AgCOfQIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30EaAAAAtHwCAJx9AgCkfQIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30EaAAAAtHwCAAp+AgAUfgIAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAODBAADA////30EaAAAAtHwCAEF+AgBMfgIAAAAAAAoAAAAAAAQAAAAAAAAAAAAAAODBAADA////30EaAAAAtHwCAIp+AgAAAAAAjAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAJd+AgAAAAAAbAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAKN+AgCufgIAkAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANN+AgAAAAAAsAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAOV+AgDtfgIAuAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EZAAAAAAAAAC5/AgA2fwIAwAEAAAIAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAJp/AgCifwIArAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAMh/AgDSfwIAlAAAAAQAAACamZmZmZnpvwAAAOD//+/HAAAA4P//70cRAAAAAAAAAPR/AgD+fwIAmAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAACCAAgAkgAIAmAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ERAAAAIIACADKAAgA3gAIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAIIACAE2AAgBVgAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAIIACAPOmAgBigAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAIIACAHOAAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAIIACAHeAAgAAAAAAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAIIACAH+AAgCEgAIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAIIACAJuAAgClgAIAnAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAANeAAgDigAIAoAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAP6AAgAJgQIApAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAACSBAgArgQIAqAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAADmBAgBDgQIArAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAHOBAgB4gQIAnAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAc4ECADKAAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECAPOmAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECAJOBAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECAJqBAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECAKSBAgAAAAAAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECAHeAAgAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECAKiBAgAAAAAAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECALKBAgAAAAAAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECAMCBAgAAAAAAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECAMyBAgAAAAAAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECANeBAgAAAAAAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECANyBAgDkgQIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECAAeCAgANggIAAAAAAAoAAAAUAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECACWCAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAc4ECADCCAgAAAAAAsAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAADyCAgA/ggIAPAIAAAAAAAADAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAPIICAF6CAgBoggIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAPIICAJOCAgCbggIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAPIICAMWCAgDRggIAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAPIICAPqCAgAAAAAAoAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAABCDAgAVgwIAtAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAEIMCACeDAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAEIMCACyDAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAEIMCADKDAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAEIMCADmDAgBAgwIAvAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAFSDAgBAgwIAvAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAFiDAgBegwIAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30E7AAAAWIMCAHiDAgB9gwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAIqDAgCNgwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAWIMCAPd8AgAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAJqDAgCigwIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCALeDAgC6gwIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAOCDAgAAAAAAAAAAAAoAAABAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAOqDAgAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAPmDAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAP6DAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAAiEAgALhAIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAB2EAgAihAIAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAE+EAgAAAAAAAAAAAAoAAAAAEAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAFSEAgBchAIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWIMCAHeEAgCChAIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30EaAAAAWIMCAJeEAgCchAIAAAAAAAoAAAAAAAABAAAAAAAAAAAAAODBAADA////30EaAAAAWIMCALWEAgC5hAIAxAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAN+EAgDmhAIAyAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAAKFAgAIhQIAzAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCACSFAgAthQIA0AAAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAE2FAgBWhQIA1AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAICFAgCKhQIA2AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAL6FAgDEhQIA3AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANqFAgDhhQIA4AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAAiGAgAMhgIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAC6GAgAyhgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAEiGAgBNhgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCACCAAgB+hgIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAJFyAgCqhgIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAOKGAgDmhgIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAAqHAgANhwIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCACuHAgAwhwIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCADKHAgA3hwIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAFyHAgBhhwIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAIWHAgCKhwIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCALaHAgAAAAAAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAL2HAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAMSHAgDJhwIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAPeHAgAEiAIA5AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAADeIAgA8iAIA6AAAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAF6IAgBniAIA7AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJmIAgAAAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAKiIAgAAAAAA1AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAqIgCAK6IAgCyiAIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAqIgCAJt2AgDYiAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAqIgCAOmIAgDtiAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAqIgCAP+IAgADiQIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAqIgCABSJAgAciQIA2AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAACqJAgAAAAAA8AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAADaJAgA6iQIA9AAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEARAAAANokCAJOBAgBsiQIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAANokCAHaJAgB7iQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAANokCAAqHAgCLiQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAANokCAKSJAgCxiQIAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAMiJAgDLiQIABAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANuJAgDtiQIA0AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAHt0AgAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70EbAAAAe3QCAD2KAgBFigIAsAIAAAEAAAABAAAAAAAAAAAAAAAAAAAAAADA////30EbAAAAPYoCADKAAgBfigIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAPYoCAI6KAgCRigIACAEAAAEAAAAAAAAAAAAAAAAAAAAAACDAAAAAAAAAMEARAAAAAAAAAKSKAgCqigIAyAIAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAALaKAgC/igIADAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAAAAAAPaKAgACiwIAEAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAAAAAADyLAgAAAAAAzAIAAAEAAACd/////////wAAAAAAAODBAADA////30EZAAAAPIsCAESLAgAAAAAAAAAAAAoAAACd/////////wAAAAAAAODBAADA////30EZAAAAPIsCAEyLAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAFWLAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAF2LAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAGWLAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAG2LAgAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAHSLAgAAAAAAAAAAAAoAAAAcAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAH6LAgAAAAAAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAIWLAgAAAAAAAAAAAAoAAAAmAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAI2LAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAJuLAgAAAAAAAAAAAAoAAACDAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAKiLAgAAAAAAAAAAAAoAAAAUAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAKyLAgAAAAAAAAAAAAoAAAAeAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCALOLAgAAAAAAAAAAAAoAAAAoAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAL2LAgAAAAAAAAAAAAoAAAAyAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAMiLAgAAAAAAAAAAAAoAAAA8AAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCANKLAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAPIsCANuLAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAPIsCAOaLAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAPIsCAPGLAgAAAAAAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAPIsCAPuLAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAPIsCAAKMAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPIsCAAeMAgAAAAAA0AIAAAEAAACd/////////wAAAAAAAODBAADA////30EZAAAAB4wCAESLAgAAAAAAAAAAAAoAAACd/////////wAAAAAAAODBAADA////30EZAAAAB4wCAA2MAgAUjAIAqAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EaAAAAAAAAAD+MAgBOjAIA3AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAGOMAgBvjAIA4AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAIGMAgCKjAIA5AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJ6MAgCmjAIA6AEAAAEAAAANAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA1oQCAMKMAgDJjAIAFAEAAAEAAADsAAAAAAAAAAAAAAAAAPA/AAAAAMD/30ARAAAAAAAAAPKMAgD5jAIAGAEAAAEAAABKDgAAAAAAAAAAAAAAAPA/AAAAAMD/30ARAAAAAAAAACKNAgAnjQIAHAEAAAEAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAGKNAgBzjQIA1AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAp40CALGNAgC7jQIA2AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAp40CAOyNAgD3jQIA3AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAp40CAB2OAgAijgIAAAAAAAoAAADw/////////wAAAAAAAODBAADA////30ESAAAAp40CADOOAgA7jgIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAp40CAFKOAgBYjgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAp40CAHmOAgB/jgIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAp40CAKCOAgCmjgIAAAAAAAoAAAAgAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAp40CAMqOAgDSjgIAAAAAAAoAAAAYAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAp40CAPWOAgD5jgIAAAAAAAoAAAAwAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAp40CAAyPAgAZjwIAIAEAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEARAAAAAAAAAFmPAgBjjwIAJAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAJGPAgCcjwIAKAEAAAEAAAAZAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAMCPAgDFjwIALAEAAAEAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAPqPAgAHkAIAMAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAACKQAgAqkAIA7AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAE+QAgAAAAAANAEAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAADA////30ERAAAAAAAAAF2QAgBrkAIAOAEAAAEAAAAoAAAAAAAAAAAAAAAAAPA/AADA////30ERAAAAAAAAAJSQAgAAAAAAOAAAAAEAAAD//////////wAAAAAAAODBAADA////30EZAAAAAAAAAKaQAgAAAAAA8AEAAAEAAAD//////////wAAAAAAAODBAADA////30EJAAAAAAAAALuQAgAAAAAA9AEAAAEAAAD//////////wAAAAAAAODBAADA////30EJAAAAAAAAANCQAgDlkAIA+AEAAAIAAAD//////////wAAAAAAAPC/AAAAAAAA4EMRAAAAAAAAAB+RAgAAAAAApAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAADORAgAAAAAAeAEAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EMLAAAAM5ECAEKRAgAAAAAAgAEAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EMKAAAAQpECAFmRAgAAAAAAyAEAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P//70cRAAAAAAAAAGiRAgAAAAAAzAEAAAQAAAAAAAAAAAAIQAAAAAAAAAAAAAAA4P//70cRAAAAAAAAAHeRAgAAAAAAVAAAAAEAAAABAAAAAAAAAAAAAAAAAPA/AADA////30EbAAAAAAAAAIeRAgCXkQIAPAEAAAEAAAACAAAAAAAAAAAAAAAAAPA/AADA////30ETAAAAp5ECALyRAgDCkQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAESLAgDJkQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECANWRAgDckQIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAOWRAgDtkQIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAPeRAgABkgIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAA2SAgAXkgIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECACOSAgAokgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAC2SAgA0kgIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECADySAgBFkgIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAFGSAgBFkgIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAFySAgBlkgIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAHGSAgB6kgIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAIaSAgCQkgIAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAJqSAgDJkQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAp5ECAKaSAgCwkgIAQAEAAAEAAAACAAAAAAAAAAAAAAAAAPA/AADA////30ETAAAAz5ICALyRAgDCkQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAESLAgDJkQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAN6SAgDckQIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAOaSAgDtkQIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAPeRAgABkgIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAA2SAgAXkgIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAO6SAgD1kgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAPySAgADkwIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAAeTAgAOkwIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAB6TAgArkwIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICADmTAgBBkwIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAEmTAgBWkwIAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAGSTAgBukwIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAH+TAgCJkwIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAJqTAgCkkwIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICADySAgBFkgIAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAK+TAgC8kwIAAAAAAAoAAAASAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAJqSAgDJkQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAMmTAgADkwIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAM2TAgAOkwIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICANaTAgArkwIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAOOTAgBBkwIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAOqTAgBWkwIAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAPeTAgBukwIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAASUAgCJkwIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICAFGSAgBFkgIAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAz5ICABGUAgAclAIARAEAAAEAAAACAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAKJQCADiUAgA8lAIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCALyRAgDCkQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAESLAgDJkQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAECUAgBElAIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAOWRAgDtkQIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAPeRAgABkgIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAA2SAgAXkgIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAEiUAgBOlAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAFSUAgBdlAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAGmUAgBxlAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAHyUAgCGlAIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAJqSAgDJkQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAJGUAgBOlAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAJeUAgBdlAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAKKUAgBxlAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAKJQCAKyUAgC4lAIASAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAxJQCAESLAgDJkQIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAxJQCANWUAgDYlAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAxJQCAOuUAgDulAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAxJQCAJqSAgDJkQIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAxJQCAPuUAgDYlAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAxJQCAACVAgDulAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAxJQCAAWVAgAclQIATAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAM5UCAESLAgDJkQIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAM5UCACeDAgBPlQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAM5UCAFSVAgBblQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAM5UCAGKVAgBqlQIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAM5UCAHOVAgB3lQIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAM5UCAHuVAgCGlQIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAM5UCAJKVAgCZlQIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAM5UCAJqSAgDJkQIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAM5UCAKCVAgCxlQIABAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAMqVAgDRlQIAUAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ERAAAAAAAAAAmWAgAVlgIAtAIAAAAAAAADAAAAAAAAAAAAAAAAAAAAAADA////30EbAAAACZYCADCWAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAACZYCADaWAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAACZYCADyWAgBPlgIAiAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAJAAAAPJYCAGKWAgBllgIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPJYCAHiWAgB7lgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPJYCAIOWAgCGlgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPJYCAJiWAgCblgIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPJYCAKyWAgCvlgIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPJYCALiWAgC7lgIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPJYCAMaWAgDJlgIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPJYCANOWAgDWlgIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAPJYCAOGWAgDklgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODB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AAAEADKrAQAAAAQAtqsBAAAABAAirAEAAAAEAO6sAQAAAAQAvq0BAAAABAB+rgEAAAAEAAAAAAAAAAAAmrEBAAAABACStAEAAQAEAJK0AQACAAQAkrQBAAMABACStAEABAAEAJK0AQAGAAQAkrQBAAgABACStAEACgAEAJK0AQANAAQAtrcBAAQABAC2twEABQAEALa3AQAGAAQAtrcBAAcABAC2twEACAAEALa3AQAJAAQAtrcBAAsABAC2twEADQAEAAAAAAD5////NQAAAI3////9AQAA+Pr//2wGAABk2///SEkAAJwkAABsBgAACAUAAP0BAABzAAAANQAAAAcAAAAAAAAA+f///zUAAACN/////QEAAPj6//9sBgAAZNv//0hJAACcJAAAbAYAAAgFAAD9AQAAcwAAADUAAAAHAAAAAAAAAPj///83AAAAfv////QBAACd+v//0gUAAJbZ//88SQAAziIAAPgGAACtBAAABAIAAGQAAAA0AAAABwAAAAAAAAD4////NwAAAH7////0AQAAnfr//9IFAACW2f//PEkAAM4iAAD4BgAArQQAAAQCAABkAAAANAAAAAcAAAAAAAAA9////zgAAABv////6AEAAEL6//8qBQAAytf//xpJAAAAIQAAdgcAAFIEAAAIAgAAVwAAADMAAAAGAAAAAAAAAPf///84AAAAb////+gBAABC+v//KgUAAMrX//8aSQAAACEAAHYHAABSBAAACAIAAFcAAAAzAAAABgAAAAAAAAD2////OAAAAF/////ZAQAA6fn//3QEAAAA1v//4kgAADMfAADnBwAA+AMAAAoCAABKAAAAMQAAAAUAAAAAAAAA9v///zgAAABf////2QEAAOn5//90BAAAANb//+JIAAAzHwAA5wcAAPgDAAAKAgAASgAAADEAAAAFAAAAAAAAAPb///85AAAATv///8gBAACR+f//sAMAADvU//+SSAAAaB0AAEsIAACeAwAACQIAAD0AAAAwAAAABQAAAAAAAAD2////OQAAAE7////IAQAAkfn//7ADAAA71P//kkgAAGgdAABLCAAAngMAAAkCAAA9AAAAMAAAAAUAAAAAAAAA9f///zkAAAA9////swEAADr5///eAgAAetL//y1IAACgGwAAoggAAEYDAAAHAgAAMQAAAC4AAAAEAAAAAAAAAPX///85AAAAPf///7MBAAA6+f//3gIAAHrS//8tSAAAoBsAAKIIAABGAwAABwIAADEAAAAuAAAABAAAAAAAAAD0////OQAAACz///+bAQAA5vj///0BAAC+0P//skcAAN0ZAADtCAAA7wIAAAICAAAmAAAALAAAAAQAAAAAAAAA9P///zkAAAAs////mwEAAOb4///9AQAAvtD//7JHAADdGQAA7QgAAO8CAAACAgAAJgAAACwAAAAEAAAA//////P///85AAAAGv///4ABAACV+P//DwEAAArP//8hRwAAHhgAACsJAACaAgAA/AEAABwAAAAqAAAABAAAAP/////z////OQAAABr///+AAQAAlfj//w8BAAAKz///IUcAAB4YAAArCQAAmgIAAPwBAAAcAAAAKgAAAAQAAAD/////8f///zgAAAAI////YgEAAEb4//8SAAAAXc3//3pGAABkFgAAXgkAAEcCAAD0AQAAEgAAACgAAAADAAAA//////H///84AAAACP///2IBAABG+P//EgAAAF3N//96RgAAZBYAAF4JAABHAgAA9AEAABIAAAAoAAAAAwAAAP/////w////NwAAAPb+//9AAQAA/Pf//wb///+4y///v0UAALEUAACGCQAA9gEAAOsBAAAJAAAAJwAAAAMAAAD/////8P///zcAAAD2/v//QAEAAPz3//8G////uMv//79FAACxFAAAhgkAAPYBAADrAQAACQAAACcAAAADAAAA/////+////82AAAA5P7//xsBAAC19///7f3//x3K///wRAAABhMAAKIJAACnAQAA4AEAAAEAAAAlAAAAAwAAAP/////v////NgAAAOT+//8bAQAAtff//+39//8dyv//8EQAAAYTAACiCQAApwEAAOABAAABAAAAJQAAAAMAAAD/////7v///zQAAADR/v//8wAAAHP3///H/P//jcj//wxEAABiEQAAtAkAAFsBAADUAQAA+f///yMAAAACAAAA/////+7///80AAAA0f7///MAAABz9///x/z//43I//8MRAAAYhEAALQJAABbAQAA1AEAAPn///8jAAAAAgAAAP/////s////MgAAAL/+///HAAAANvf//5P7//8Jx///FUMAAMcPAAC8CQAAEgEAAMYBAADy////IQAAAAIAAAD/////7P///zIAAAC//v//xwAAADb3//+T+///Ccf//xVDAADHDwAAvAkAABIBAADGAQAA8v///yEAAAACAAAA/////+v///8vAAAArf7//5cAAAD/9v//Ufr//5DF//8LQgAANQ4AALoJAADMAAAAuAEAAOv///8fAAAAAgAAAP/////r////LwAAAK3+//+XAAAA//b//1H6//+Qxf//C0IAADUOAAC6CQAAzAAAALgBAADr////HwAAAAIAAAD/////6f///ywAAACb/v//ZQAAAM72//8D+f//JsT///BAAACtDAAArwkAAIgAAACpAQAA5f///x0AAAACAAAA/////+n///8sAAAAm/7//2UAAADO9v//A/n//ybE///wQAAArQwAAK8JAACIAAAAqQEAAOX///8dAAAAAgAAAP/////o////KQAAAIn+//8uAAAApPb//6n3///Jwv//wz8AADALAACcCQAASAAAAJkBAADg////HAAAAAIAAAD/////6P///ykAAACJ/v//LgAAAKT2//+p9///ycL//8M/AAAwCwAAnAkAAEgAAACZAQAA4P///xwAAAACAAAA/////+b///8lAAAAeP7///X///+A9v//Qvb//3vB//+FPgAAvgkAAIAJAAALAAAAiAEAANv///8aAAAAAQAAAP/////m////JQAAAHj+///1////gPb//0L2//97wf//hT4AAL4JAACACQAACwAAAIgBAADb////GgAAAAEAAACkwgEAusIBAOHCAQAHwwEAHcMBAETDAQBqwwEAgMMBAKfDAQDNwwEA48MBAArEAQAuxAEARMQBAGvEAQAuxAEAj8QBALbEAQAuxAEAj8QBALbEAQAuxAEAj8QBALbEAQDaxAEA8MQBABfFAQAAAAAAAAAAFL4oCh3NpVMkqX9ZJnViRixyjHMtgfyxLgAAADTXIK40lNZiNZauHTb0R942ek+kN2W+NzwkyJ88vigKPfXGdj0LjOU9YWNWPi46yT4+/z0/vKK0PwWLFkTNpVNEapuRRPtl0EQAABBFUWRQRRWOkUW7eNNF8x8WRql/WUYAlJ1GTFniRhHMJ0f86G1H46y0R78U/EfXDiJMdWJGTOcDa0zo8Y9MPyu1TMCu2kxJewBNxo8mTSrrTE1yjHNNpXKaTdOcwU0SCulNgrkQTkiqOE6R22BOkEyJToH8sU6h6tpONhYET4t+LU/vIldPuAKBTz4dq0/gcdVPAAAAVIFjFVQq4ypUsX5AVM81VlQ+CGxUu/WBVAP+l1TXIK5U9l3EVCS12lQkJvFUvLAHVbFUHlXLETVV1OdLVZTWYlXY3XlVbP2QVRw1qFW4hL9VDuzWVe9q7lUrAQZWlq4dVgJzNVZDTk1WLUBlVpZIfVZTZ5VWPZytVivnxVb0R95Wc772VoBKD1f36ydXsqJAV41uWVdkT3JXFEWLV3pPpFd1br1X4qHWV6Hp71fJogRcyloRXMQcHlyn6CpcZb43XO6dRFwzh1FcJnpeXLl2a1zcfHhcg4yFXJ+lklwkyJ9cAvSsXC4pulyaZ8dcOq/UXAAA4lzgWe9czrz8XL4oCl2knRddcxslXSCiMl2gMUBd58lNXelqW12cFGld9cZ2XemBhF1tRZJddhGgXfrlrV3vwrtdSqjJXQGW110LjOVdXYrzXe6QAV6znw9epbYdXrjVK17k/DleHyxIXmFjVl6gomRe1OlyXvM4gV71j49e0e6dXn9VrF72w7peLjrJXh+4117APeZeCcv0XvNfA191/BFfh6AgXyJML18+/z1f07lMX9t7W19MRWpfIBZ5X1Duh1/UzZZfpbSlX7yitF8SmMNfoJTSX1+Y4V9Io/BfVLX/Xz9nB2Re9w5kBYsWZDAiHmTdvCVkB1stZK38NGTJoTxkWkpEZF32S2TNpVNkqVhbZO0OY2SWyGpkooVyZAxGemTTCYJk9NCJZGqbkWQ1aZlkUDqhZLoOqWRu5rBkbMG4ZK+fwGQ1gchk+2XQZP9N2GQ+OeBktifoZGMZ8GREDvhkVQYAZZUBCGUAABBllAEYZU8GIGUtDihlLhkwZU4nOGWKOEBl4kxIZVFkUGXVflhlbpxgZRe9aGXP4HBlkwd5ZWIxgWU5XollFY6RZfTAmWXV9qFltS+qZZJrsmVpqrplOezCZQAxy2W7eNNlaMPbZQUR5GWQYexlB7X0ZWgL/WWxZAVm4MANZvMfFmbogR5mvOYmZm9OL2b9uDdmZiZAZqeWSGa+CVFmqX9ZZmf4YWb1c2pmUvJyZnxze2Zx94NmL36MZrUHlWYAlJ1mDyOmZuC0rmZxSbdmwOC/Zsx6yGaUF9FmFLfZZkxZ4mY6/upm3KXzZjBQ/GY1/QRn6qwNZ0tfFmdZFB9nEcwnZ3GGMGd4QzlnJQNCZ3XFSmdnilNn+lFcZywcZWf86G1nZ7h2Z22Kf2cLX4hnQTaRZwwQmmds7KJnX8urZ+OstGf2kL1nmHfGZ8dgz2eBTNhnxTrhZ5Ir6mfmHvNnvxT8Z46GAmz/AwdssIILbKECEGzRgxRsQAYZbO2JHWzXDiJs/pQmbGAcK2z+pC9s1y40bOm5OGw1Rj1sudNBbHViRmxp8kpsk4NPbPMVVGyJqVhsUz5dbFHUYWyDa2Zs5wNrbH6db2xHOHRsQNR4bGpxfWzDD4JsTK+GbANQi2zo8Y9s+5SUbDo5mWyl3p1sPIWibP4sp2zq1atsAICwbD8rtWyn17lsN4W+bO4zw2zM48ds0ZTMbPtG0WxL+tVswK7abFhk32wUG+Rs89LobPWL7WwYRvJsXQH3bMO9+2xJewBt7zkFbbT5CW2Yug5tmnwTbbo/GG33Ax1tUMkhbcaPJm1XVyttAyAwbcrpNG2rtDltpoA+bblNQ23lG0htKutMbYW7UW34jFZtgV9bbSEzYG3WB2VtoN1pbX+0bm1yjHNteGV4bZI/fW2/GoJt/faGbU7Ui22wspBtIpKVbaVymm04VJ9t2jakbYwaqW1M/61tGuWybfXLt23es7xt05zBbdWGxm3icctt+13QbR9L1W1NOdpthSjfbccY5G0SCultZvztbcLv8m0m5Pdtktn8bQTQAW59xwZu/b8LboK5EG4MtBVunK8abi+sH27HqSRuY6gpbgKoLm6jqDNuSKo4bu6sPW6WsEJuP7VHbum6TG6TwVFuPclWbufRW26R22BuOeZlbt/xam6E/m9uJgx1bsYaem5iKn9u+zqEbpBMiW4hX45urnKTbjWHmG63nJ1uM7OibqnKp24Y46xugfyxbuIWt247MrxujU7BbtZrxm4XistuTqnQbnzJ1W6h6tpuuwzgbsov5W7PU+puyHjvbrae9G6Xxflube3+bjYWBG/yPwlvoGoOb0GWE2/TwhhvWPAdb80eI280Tihvi34tb9KvMm8J4jdvMBU9b0ZJQm9LfkdvPrRMbyDrUW/vIldvrFtcb1eVYW/uz2Zvcgtsb+JHcW8+hXZvhcN7b7gCgW/WQoZv3oOLb9HFkG+uCJZvdEybbySRoG+91qVvPh2rb6hksG/7rLVvNfa6b1ZAwG9fi8VvTtfKbyQk0G/gcdVvg8DabwoQ4G94YOVvyrHqbwEE8G8dV/VvHKv6bwAAAHTjqgJ0OFYFdP8BCHQ3rgp04FoNdPoHEHSGtRJ0gWMVdO4RGHTLwBp0GHAddNUfIHQD0CJ0oIAldK0xKHQq4yp0FpUtdHJHMHQ9+jJ0dq01dB9hOHQ2FTt0vMk9dLF+QHQUNEN05elFdCSgSHTRVkt07A1OdHXFUHRrfVN0zzVWdJ/uWHTdp1t0iGFedKAbYXQl1mN0FpFmdHRMaXQ+CGx0dMRudBaBcXQlPnR0n/t2dIS5eXTWd3x0kzZ/dLv1gXROtYR0THWHdLY1inSK9ox0yLePdHJ5knSFO5V0A/6XdOvAmnQ+hJ10+kegdCAMo3Sv0KV0qJWodAtbq3TXIK50DOewdKqts3SxdLZ0ITy5dPoDvHQ7zL505JTBdPZdxHRxJ8d0U/HJdJ27zHRPhs90aVHSdOsc1XTU6Nd0JLXadNyB3XT7TuB0gRzjdG7q5XTCuOh0fIfrdJ1W7nQkJvF0EvbzdGbG9nQhl/l0QWj8dMc5/3SzCwJ1Bd4EdbywB3XYgwp1W1cNdUIrEHWO/xJ1QNQVdVapGHXRfht1sVQedfUqIXWeASR1q9gmdR2wKXXyhyx1LGAvdco4MnXLETV1MOs3dfnEOnUlnz11tXlAdahUQ3X+L0Z1twtJddTnS3VTxE51NKFRdXl+VHUgXFd1KjpadZYYXXVk9191lNZidSe2ZXUblmh1cXZrdSlXbnVDOHF1vhl0dZr7dnXY3Xl1d8B8dXijf3XZhoJ1m2qFdb5OiHVCM4t1JxiOdWz9kHUR45N1F8mWdX2vmXVDlpx1an2fdfBkonXWTKV1HDWodcIdq3XHBq51K/CwdfDZs3UTxLZ1la65dXeZvHW4hL91V3DCdVZcxXWzSMh1bjXLdYkiznUBENF12P3TdQ7s1nWh2tl1k8ncdeK433WQqOJ1m5jldQSJ6HXLeet172rudXBc8XVPTvR1i0D3dSQz+nUbJv11bhkAdh4NA3YrAQZ2lfUIdlzqC3Z/3w52/tQRdtrKFHYSwRd2prcadpauHXbjpSB2i50jdo+VJnbvjSl2qoYsdsF/L3Y0eTJ2AnM1dittOHawZzt2kGI+dstdQXZgWUR2UVVHdpxRSnZDTk12REtQdp9IU3ZVRlZ2ZURZdtBCXHaVQV92tEBidi1AZXYAQGh2LUBrdrNAbnaUQXF2zkJ0dmJEd3ZPRnp2lkh9djZLgHYvToN2gVGGdixViXYxWYx2jl2PdkViknZTZ5V2u2yYdntym3aUeJ52BX+hds+FpHbxjKd2a5Sqdj2crXZopLB26qyzdsS1tnb2vrl2gMi8dmHSv3aa3MJ2K+fFdhPyyHZS/ct26QjPdtcU0nYcIdV2uC3Ydqo623b0R952lVXhdo1j5Hbbced2f4DqdnuP7XbMnvB2da7zdnO+9nbIzvl2ct/8dnPw/3bKAQN3dxMGd3olCXfSNwx3gEoPd4RdEnfecBV3jYQYd5GYG3frrB53msEhd57WJHf36yd3pgErd6kXLncBLjF3rkQ0d7BbN3cHczp3soo9d7KiQHcGu0N3r9NGd6zsSXf+BU13ox9Qd505U3frU1Z3jW5Zd4OJXHfMpF93asBid1vcZXeg+Gh3OBVsdyQyb3dkT3J392x1d92KeHcWqXt3o8d+d4PmgXe1BYV3OyWIdxRFi3c/ZY53voWRd4+mlHeyx5d3Kemad/EKnncMLaF3ek+kdzpyp3dMlap3sLitd2fcsHdvALR3yiS3d3ZJund1br13xZPAd2e5w3da38Z3nwXKdzYszXceU9B3V3rTd+Kh1ne+ydl37PHcd2oa4Hc6Q+N3Wmzmd8yV6XeOv+x3oenvdwUU83e6PvZ3wGn5dxaV/He8wP93WXYBfH0MA3zJogR8PTkGfNnPB3ydZgl8if0KfJ6UDHzaKw58PsMPfMpaEXx+8hJ8WooUfF0iFnyJuhd83FIZfFfrGnz6gxx8xBwefLa1H3zQTiF8EegifHmBJHwKGyZ8wrQnfKFOKXyn6Cp81oIsfCsdLnyoty98TFIxfBftMnwKiDR8JCM2fGW+N3zNWTl8XfU6fBORPHzxLD589sg/fCJlQXx0AUN87p1EfI86RnxW10d8RXRJfFoRS3yWrkx8+UtOfIPpT3wzh1F8CiVTfAjDVHwtYVZ8eP9XfOqdWXyCPFt8QdtcfCZ6XnwyGWB8ZLhhfL1XY3w892R84pZmfK42aHyg1ml8uXZrfPcWbXxct2586FdwfJn4cXxxmXN8bzp1fJLbdnzcfHh8TB56fOK/e3yeYX18gAN/fIilgHy2R4J8CuqDfIOMhXwiL4d86NGIfNN0inzjF4x8GruNfHZej3z4AZF8n6WSfGxJlHxf7ZV8d5GXfLU1mXwZ2pp8oX6cfFAjnnwkyJ98HW2hfDsSo3x/t6R86FymfHcCqHwrqKl8BE6rfAL0rHwmmq58bkCwfNzmsXxvjbN8JzS1fAXbtnwHgrh8Lim6fHrQu3zsd718gh+/fD3HwHwdb8J8IhfEfEy/xXyaZ8d8DRDJfKa4ynxjYcx8RArOfEuzz3x2XNF8xQXTfDqv1HzSWNZ8kALYfHKs2Xx5Vtt8pADdfPOq3nxnVeB8AADifL2q43yeVeV8owDnfM2r6HwcV+p8jgLsfCWu7XzgWe98vwXxfMOx8nzqXfR8Ngr2fKa293w6Y/l88g/7fM68/HzOaf588xYAfTvEAX2ncQN9Nx8FfevMBn3Cegh9vigKfd7WC30hhQ19iDMPfRPiEH3CkBJ9lD8UfYruFX2knRd94UwZfUL8Gn3Hqxx9b1sefToLIH0quyF9PWsjfXMbJX3NyyZ9SnwofeosKn2u3St9lo4tfaE/L33P8DB9IKIyfZVTNH0tBTZ96LY3fcZoOX3IGjt97cw8fTV/Pn2gMUB9LuRBfd+WQ320SUV9q/xGfcavSH0DY0p9YxZMfefJTX2NfU99VjFRfULlUn1RmVR9g01WfdgBWH1Ptll96WpbfaYfXX2G1F59iIlgfa0+Yn3182N9YKllfe1eZ32cFGl9b8pqfWSAbH17Nm59texvfRGjcX2QWXN9MhB1ffXGdn3cfXh95DR6fQ/se31do319zFp/fV4SgX0SyoJ96YGEfeI5hn398Yd9OqqJfZpii30bG419v9OOfYWMkH1tRZJ9d/6TfaO3lX3xcJd9YSqZffPjmn2onZx9fleefXYRoH2Qy6F9zIWjfSpApX2p+qZ9S7WofQ5wqn3zKqx9+uWtfSOhr31tXLF92RezfWfTtH0Wj7Z950q4fdoGun3vwrt9JX+9fXw7v33198B9kLTCfUxxxH0qLsZ9KevHfUqoyX2MZct97yLNfXTgzn0bntB94lvSfcsZ1H3V19V9AZbXfU5U2X28Ett9TNHcffyP3n3OTuB9wQ3ifdXM430LjOV9YUvnfdkK6X1yyup9K4rsfQZK7n0CCvB9H8rxfV2K8328SvV9PAv3fdzL+H2ejPp9gU38fYQO/n2oz/997pABflRSA37aEwV+gtUGfkqXCH40WQp+PRsMfmjdDX6znw9+H2IRfqwkE35Z5xR+J6oWfhZtGH4lMBp+VPMbfqW2HX4Veh9+pz0hflgBI34qxSR+HYkmfjBNKH5kESp+uNUrfiyaLX7BXi9+diMxfkvoMn5BrTR+V3I2fo03OH7k/Dl+W8I7fvKHPX6pTT9+gBNBfnjZQn6Pn0R+x2VGfh8sSH6X8kl+L7lLfuh/TX7ARk9+uA1RftDUUn4JnFR+YWNWftkqWH5x8ll+KbpbfgGCXX75SV9+ERJhfknaYn6gomR+F2tmfq4zaH5l/Gl+PMVrfjKObX5IV29+fiBxftTpcn5Js3R+3nx2fpJGeH5mEHp+Wtp7fm2kfX6gbn9+8ziBfmUDg372zYR+qJiGfnhjiH5oLop+ePmLfqfEjX71j49+Y1uRfvAmk36c8pR+aL6WflSKmH5eVpp+iCKcftHunX46u59+wYehfmhUo34vIaV+FO6mfhi7qH48iKp+f1WsfuEirn5i8K9+A76xfsKLs36hWbV+nie3frv1uH72w7p+UZK8fstgvn5jL8B+G/7BfvHMw37nm8V++2rHfi46yX6BCct+8tjMfoGozn4weNB+/kfSfuoX1H7159V+H7jXfmiI2X7PWNt+VSndfvr53n6+yuB+oJvifqFs5H7APeZ+/g7oflvg6X7Wset+cIPtfilV734AJ/F+9fjyfgnL9H48nfZ+jW/4fv1B+n6LFPx+N+f9fgK6/37rjAF/818DfxkzBX9dBgd/wNkIf0GtCn/hgAx/n1QOf3soEH91/BF/jdATf8SkFX8ZeRd/jE0Zfx4iG3/O9hx/m8sef4egIH+RdSJ/uUokfwAgJn9k9Sd/58opf4egK39Gdi1/Ikwvfx0iMX81+DJ/bM40f8GkNn8zezh/xFE6f3IoPH8+/z1/KNY/fzCtQX9WhEN/mltFf/wyR397Ckl/GOJKf9O5TH+skU5/o2lQf7dBUn/pGVR/OfJVf6fKV38yo1l/23tbf6FUXX+FLV9/hwZhf6bfYn/juGR/PpJmf7ZraH9MRWp//x5sf9D4bX++0m9/yqxxf/OGc386YXV/njt3fyAWeX+/8Hp/fMt8f1amfn9NgYB/YlyCf5Q3hH/jEoZ/UO6Hf9rJiX+BpYt/RoGNfyhdj38nOZF/QxWTf33xlH/UzZZ/SKqYf9mGmn+IY5x/U0CefzwdoH9C+qF/Zdejf6W0pX8Ckqd/fW+pfxRNq3/IKq1/mgivf4jmsH+UxLJ/vKK0fwKBtn9kX7h/5D26f4AcvH85+71/D9q/fwK5wX8SmMN/P3fFf4lWx3/vNcl/cxXLfxP1zH/Q1M5/qrTQf6CU0n+zdNR/5FTWfzA12H+aFdp/IPbbf8PW3X+Dt99/X5jhf1h5439uWuV/oDvnf+8c6X9a/up/4t/sf4fB7n9Io/B/JoXyfyBn9H83SfZ/aiv4f7oN+n8m8Pt/r9L9f1S1/38LzACEer0BhPeuAoSDoAOEHJIEhMSDBYR6dQaEP2cHhBFZCITxSgmE4DwKhN0uC4ToIAyEARMNhCkFDoRe9w6EoekPhPPbEIRTzhGEwcAShD2zE4THpRSEX5gVhAWLFoS5fReEfHAYhExjGYQqVhqEF0kbhBE8HIQaLx2EMCIehFUVH4SICCCEyPsghBfvIYRz4iKE3tUjhFbJJITdvCWEcbAmhBSkJ4TElyiEg4sphE9/KoQpcyuEEWcshAdbLYQLTy6EHUMvhD03MIRrKzGEph8yhPATM4RHCDSErfw0hCDxNYSh5TaEL9o3hMzOOIR3wzmEL7g6hPWsO4TJoTyEq5Y9hJuLPoSYgD+Eo3VAhLxqQYTjX0KEGFVDhFpKRISrP0WECDVGhHQqR4TuH0iEdRVJhAoLSoSsAEuEXfZLhBvsTITn4U2EwNdOhKjNT4Scw1CEn7lRhK+vUoTNpVOE+ZtUhDKSVYR5iFaEzn5XhDB1WISga1mEHmJahKlYW4RCT1yE6UVdhJ08XoReM1+ELipghAshYYT1F2KE7Q5jhPMFZIQG/WSEJ/RlhFXrZoSR4meE29lohDLRaYSWyGqECcBrhIi3bIQVr22EsKZuhFieb4QOlnCE0Y1xhKKFcoSAfXOEbHV0hGVtdYRrZXaEf113hKFVeITQTXmEDEZ6hFY+e4SuNnyEEi99hIQnfoQEIH+EkRiAhCsRgYTTCYKEiAKDhEv7g4Qb9ISE+OyFhOPlhoTb3oeE4deIhPTQiYQUyoqEQcOLhHy8jITEtY2EGq+OhH2oj4TtoZCEapuRhPWUkoSNjpOEM4iUhOWBlYSle5aEc3WXhE1vmIQ1aZmEKmOahCxdm4Q8V5yEWVGdhINLnoS6RZ+E/j+ghFA6oYSvNKKEGy+jhJUppIQbJKWErx6mhFAZp4T+E6iEug6phIIJqoRYBKuEO/+rhCv6rIQo9a2EMvCuhErrr4Ru5rCEoOGxhN/csoQr2LOEhNO0hOrOtYReyraE3sW3hGzBuIQGvbmErri6hGO0u4QksLyE86u9hM+nvoS4o7+Er5/AhLKbwYTCl8KE35PDhAmQxIRBjMWEhYjGhNaEx4Q1gciEoH3JhBh6yoSedsuEMHPMhM9vzYR7bM6ENWnPhPtl0ITOYtGErl/ShJtc04SVWdSEnFbVhLBT1oTRUNeE/03YhDpL2YSBSNqE1kXbhDdD3ISmQN2EIT7ehKk734Q+OeCE4DbhhI804oRLMuOEEzDkhOkt5YTLK+aEuinnhLYn6IS/JemE1CPqhPch64QmIOyEYh7thKsc7oQBG++EYxnwhNMX8YRPFvKE2BTzhG0T9IQQEvWEvxD2hHsP94REDviEGQ35hPwL+oTrCvuE5wn8hO8I/YQFCP6EJwf/hFUGAIWRBQGF2QQChS4EA4WPAwSF/gIFhXkCBoUAAgeFlQEIhTYBCYXjAAqFngALhWUADIU5AA2FGQAOhQYAD4UAABCFBgARhRkAEoU5ABOFZQAUhZ4AFYXjABaFNQEXhZQBGIX/ARmFdwIahfwCG4WNAxyFKgQdhdQEHoWLBR+FTwYghR8HIYX7ByKF5AgjhdoJJIXcCiWF6gsmhQYNJ4UtDiiFYg8phaMQKoXwESuFShMshbAULYUjFi6FohcvhS4ZMIXGGjGFaxwyhRweM4XaHzSFpCE1hXsjNoVeJTeFTic4hUopOYVSKzqFZy07hYkvPIW2MT2F8TM+hTc2P4WKOECF6jpBhVY9QoXOP0OFU0JEheRERYWBR0aFK0pHheJMSIWkT0mFc1JKhU5VS4U2WEyFKltNhSteToU4YU+FUWRQhXZnUYWoalKF5m1ThTFxVIWHdFWF6ndWhVp7V4XVfliFXoJZhfKFWoWSiVuFP41chfmQXYW+lF6FkJhfhW6cYIVYoGGFT6RihVGoY4VgrGSFfLBlhaO0ZoXXuGeFF71ohWPBaYW8xWqFIMprhZHObIUO022FmNduhS3cb4XP4HCFfeVxhTfqcoX97nOF0PN0ha74dYWZ/XaFkAJ4hZMHeYWjDHqFvhF7heYWfIUaHH2FWSF+haYmf4X+K4CFYjGBhdI2goVPPIOF2EGEhWxHhYUNTYaFulKHhXNYiIU5XomFCmSKhedpi4XRb4yFxnWNhch7joXVgY+F74eQhRWOkYVHlJKFhJqThc6glIUkp5WFhq2WhfSzl4VuupiF9MCZhYbHmoUlzpuFz9SchYXbnYVH4p6FFemfhe/voIXV9qGFx/2ihcUEpIXPC6WF5RKmhQcap4U1IaiFbyiphbUvqoUHN6uFZT6shc5FrYVETa6FxlSvhVNcsIXtY7GFkmuyhUNzs4UAe7SFyYK1hZ6KtoV/kreFbJq4hWWiuYVpqrqFerK7hZa6vIW+wr2F8sq+hTLTv4V+28CF1uPBhTnswoWp9MOFJP3EhasFxoU+DseF3RbIhYcfyYU+KMqFADHLhc45zIWoQs2FjUvOhX9Uz4V8XdCFhWbRhZpv0oW7eNOF54HUhR+L1YVjlNaFs53XhQ+n2IV2sNmF6bnahWjD24XyzNyFidbdhSvg3oXY6d+FkvPghVf94YUoB+OFBRHkhe0a5YXhJOaF4S7nhe046IUEQ+mFJ03qhVZX64WQYeyF1mvthSh27oWFgO+F7orwhWOV8YXjn/KFb6rzhQe19IWrv/WFWsr2hRTV94Xb3/iFrer5hYr1+oVzAPyFaAv9hWkW/oV1If+FjSwAhrA3AYbfQgKGGU4Dhl9ZBIaxZAWGD3AGhnd7B4bshgiGbJIJhvidCoaPqQuGMrUMhuDADYaazA6GYNgPhjHkEIYN8BGG9fsShukHFIboExWG8x8WhgksF4YrOBiGWEQZhpFQGobVXBuGJWkchoF1HYbogR6GWo4fhtiaIIZhpyGG9rMihpbAI4ZCzSSG+dklhrzmJoaK8yeGZAAphkkNKoY6GiuGNicshj00LYZQQS6Gb04vhplbMIbOaDGGD3YyhluDM4aykDSGFZ41hoOrNob9uDeGgsY4hhPUOYav4TqGVu87hgn9PIbHCj6GkRg/hmYmQIZGNEGGMkJChilQQ4YrXkSGOWxFhlJ6RoZ3iEeGp5ZIhuKkSYYos0qGesFLhtjPTIZA3k2GtOxOhjP7T4a+CVGGVBhShvUmU4ahNVSGWURVhhxTVobqYVeGxHBYhql/WYaZjlqGlZ1bhpysXIauu12Gy8pehvTZX4Yo6WCGZ/hhhrEHY4YHF2SGaCZlhtQ1ZoZMRWeGzlRohlxkaYb1c2qGmoNrhkmTbIYEo22GyrJuhpvCb4Z40nCGX+JxhlLycoZQAnSGWhJ1hm4idoaOMneGuUJ4hu9SeYYwY3qGfHN7htSDfIY2lH2GpKR+hh21f4aixYCGMdaBhsvmgoZx94OGIgiFht4YhoalKYeGdzqIhlVLiYY9XIqGMW2Lhi9+jIY5j42GTqCOhm6xj4aZwpCGz9ORhhHlkoZd9pOGtQeVhhcZloaFKpeG/juYhoJNmYYRX5qGq3CbhlCCnIYAlJ2Gu6WehoG3n4ZTyaCGL9uhhhbtooYJ/6OGBhGlhg8jpoYiNaeGQUeohmpZqYafa6qG332rhimQrIZ/oq2G4LSuhkvHr4bC2bCGQ+yxhtD+soZoEbSGCiS1hrg2toZxSbeGNFy4hgNvuYbcgbqGwZS7hrCnvIaqur2GsM2+hsDgv4bb88CGAgfChjMaw4ZvLcSGtkDFhghUxoZlZ8eGzHrIhj+OyYa9ocqGRbXLhtnIzIZ33M2GIPDOhtQD0IaUF9GGXivShjI/04YSU9SG/WbVhvJ61obzjteG/qLYhhS32YY1y9qGYd/bhpjz3IbZB96GJhzfhn0w4IbfROGGTFnihsRt44ZGguSG1Jblhmyr5oYPwOeGvdTohnbp6YY6/uqGCBPshuIn7YbGPO6GtFHvhq5m8Iaze/GGwpDyhtyl84YBu/SGMND1hmvl9oaw+veGABD5hlol+obAOvuGMFD8hqtl/YYxe/6GwpD/hl2mAIcDvAGHtNECh2/nA4c1/QSHBhMGh+IoB4fJPgiHulQJh7ZqCoe8gAuHzpYMh+qsDYcQww6HQtkPh37vEIfFBRKHFxwTh3MyFIfaSBWHS18Wh8h1F4dPjBiH4KIZh325Gock0BuH1uYch5L9HYdZFB+HKysghwdCIYfuWCKH4G8jh9yGJIfjnSWH9LQmhxHMJ4c44yiHafoph6URK4fsKCyHPUAth5lXLocAby+HcYYwh+2dMYdztTKHBM0zh6DkNIdG/DWH9xM3h7IrOId4QzmHSVs6hyRzO4cKizyH+qI9h/W6Pof60j+HCutAhyUDQodKG0OHejNEh7RLRYf4Y0aHSHxHh6KUSIcGrUmHdcVKh+7dS4dy9kyHAQ9Oh5onT4c+QFCH7FhRh6RxUodnilOHNaNUhw28VYfw1FaH3e1Xh9UGWYfXH1qH4zhbh/pRXIcca12HSIReh3+dX4fAtmCHC9Bhh2HpYofBAmSHLBxlh6I1ZociT2eHrGhoh0CCaYfgm2qHibVrhz3PbIf86G2HxQJvh5gccId2NnGHXlByh1Fqc4dOhHSHVZ51h2e4doeD0neHqux4h9sGeocXIXuHXTt8h61VfYcIcH6HbYp/h9ykgIdWv4GH2tmCh2n0g4cCD4WHpSmGh1NEh4cLX4iHznmJh5qUiodyr4uHU8qMhz/ljYc1AI+HNhuQh0E2kYdWUZKHdmyTh6CHlIfUopWHE76Wh1zZl4ev9JiHDBCah3Qrm4fnRpyHY2Kdh+p9nod7mZ+HFrWgh7zQoYds7KKHJwikh+sjpYe6P6aHk1unh3d3qIdkk6mHXK+qh1/Lq4dr56yHggOuh6Mfr4fPO7CHBFixh0R0soeOkLOH46y0h0HJtYeq5baHHQK4h5seuYciO7qHtFe7h1B0vIf2kL2Hp62+h2HKv4cm58CH9QPCh88gw4eyPcSHoFrFh5h3xoealMeHp7HIh73OyYfe68qHCQnMhz4mzYd9Q86Hx2DPhxt+0Id5m9GH4bjSh1PW04fP89SHVhHWh+Yu14eBTNiHJmrZh9WH2oePpduHUsPchyDh3Yf3/t6H2Rzgh8U64Ye8WOKHvHbjh8aU5IfbsuWH+dDmhyLv54dVDemHkivqh9lJ64cqaOyHhobth+uk7odbw++H1OHwh1gA8ofmHvOHfj30hyBc9YfMevaHgpn3h0K4+IcM1/mH4fX6h78U/IeoM/2HmlL+h5dx/4dPSACM19cAjGRnAYz39gGMjoYCjCsWA4zMpQOMczUEjB7FBIzPVAWMhOQFjD90Boz/AweMw5MHjI0jCIxbswiML0MJjAjTCYzlYgqMyPIKjLCCC4ycEgyMjqIMjIQyDYyAwg2MgVIOjIbiDoyRcg+MoQIQjLWSEIzPIhGM7bIRjBFDEow50xKMZ2MTjJnzE4zRgxSMDRQVjE+kFYyVNBaM4cQWjDFVF4yG5ReM4XUYjEAGGYyklhmMDScajHu3GozvRxuMZ9gbjORoHIxm+RyM7YkdjHkaHowKqx6MnzsfjDrMH4zaXCCMf+0gjCh+IYzXDiKMip8ijEMwI4wAwSOMw1EkjIriJIxWcyWMKAQmjP6UJozZJSeMubYnjJ5HKIyI2CiMdmkpjGr6KYxjiyqMYBwrjGOtK4xqPiyMd88sjIhgLYye8S2MuYIujNkTL4z+pC+MKDYwjFfHMIyLWDGMw+kxjAF7MoxDDDOMip0zjNcuNIwowDSMflE1jNniNYw5dDaMngU3jAeXN4x2KDiM6bk4jGFLOYzf3DmMYW46jOj/Oox0kTuMBSM8jJq0PIw1Rj2M1Nc9jHlpPowi+z6M0Iw/jIMeQIw7sECM90FBjLnTQYyAZUKMS/dCjBuJQ4zwGkSMyqxEjKk+RYyN0EWMdWJGjGP0RoxVhkeMTBhIjEiqSIxJPEmMT85JjFlgSoxp8kqMfYRLjJYWTIy0qEyM1zpNjP/MTYwrX06MXfFOjJODT4zOFVCMDqhQjFM6UYyczFGM615SjD7xUoyWg1OM8xVUjFWoVIy7OlWMJ81VjJdfVowM8laMhoRXjAUXWIyJqViMETxZjJ7OWYwwYVqMx/NajGOGW4wDGVyMqatcjFM+XYwC0V2MtmNejG72XowriV+M7htgjLWuYIyAQWGMUdRhjCdnYowB+mKM4IxjjMQfZIyssmSMmkVljIzYZYyDa2aMf/5mjH+RZ4yFJGiMj7dojJ5KaYyy3WmMynBqjOcDa4wKl2uMMSpsjFy9bIyNUG2MwuNtjPx2bow7Cm+Mfp1vjMcwcIwUxHCMZldxjLzqcYwYfnKMeBFzjN2kc4xHOHSMtct0jClfdYyh8nWMHYZ2jJ8Zd4wlrXeMsEB4jEDUeIzVZ3mMbvt5jAyPeoyvInuMV7Z7jANKfIy03XyManF9jCQFfozkmH6MqCx/jHHAf4w+VICMEeiAjOh7gYzDD4KMpKOCjIk3g4xzy4OMYl+EjFXzhIxNh4WMShuGjEyvhoxSQ4eMXdeHjG1riIyC/4iMm5OJjLkniozcu4qMA1CLjC/ki4xgeIyMlgyNjNCgjYwPNY6MU8mOjJtdj4zo8Y+MOoaQjJEakYzsrpGMTEOSjLDXkowabJOMiACUjPuUlIxyKZWM7r2VjG9Sloz15paMf3uXjA4QmIyhpJiMOjmZjNfNmYx4YpqMH/eajMqLm4x6IJyMLrWcjOdJnYyl3p2MZ3OejC8In4z6nJ+MyzGgjKDGoIx6W6GMWfChjDyFoowkGqOMEK+jjAFEpIz32KSM8m2ljPECpoz1l6aM/iynjAvCp4wdV6iMM+yojE6BqYxuFqqMk6uqjLxAq4zq1auMHGusjFMArYyPla2M0CqujBXAroxeVa+MreqvjACAsIxXFbGMtKqxjBVAsox61bKM5GqzjFMAtIzHlbSMPyu1jLzAtYw9VraMw+u2jE6Bt4zdFriMcay4jApCuYyn17mMSW26jO8Cu4yamLuMSi68jP7DvIy3Wb2MdO+9jDeFvoz9Gr+MybC/jJlGwIxt3MCMR3LBjCQIwowHnsKM7jPDjNrJw4zKX8SMv/XEjLiLxYy2IcaMubfGjMBNx4zM48eM3XnIjPIPyYwMpsmMKjzKjE3Syox0aMuMoP7LjNGUzIwGK82MQMHNjH9XzozC7c6MCYTPjFUa0IymsNCM+0bRjFXd0Yy0c9KMFwrTjH+g04zrNtSMXM3UjNFj1YxL+tWMypDWjE0n14zVvdeMYVTYjPLq2IyHgdmMIRjajMCu2oxjRduMCtzbjLdy3IxnCd2MHaDdjNc23oyVzd6MWGTfjCD734zskeCMvCjhjJK/4YxrVuKMSu3ijC2E44wUG+SMALLkjPFI5Yzm3+WM33bmjN4N54zgpOeM5zvojPPS6IwEaumMGAHqjDKY6oxQL+uMcsbrjJld7IzF9OyM9YvtjCkj7oxjuu6MoFHvjOLo74wpgPCMdBfxjMSu8YwYRvKMcd3yjM9084wwDPSMl6P0jAI79Yxx0vWM5Wn2jF0B94zamPeMXDD4jOLH+IxsX/mM+/b5jI+O+ownJvuMw737jGRV/IwK7fyMtIT9jGIc/owVtP6MzUv/jInj/4xJewCNDhMBjdiqAY2mQgKNeNoCjU9yA40rCgSNC6IEje85BY3Y0QWNxWkGjbcBB42umQeNqTEIjajJCI2sYQmNtPkJjcGRCo3SKQuN6MELjQJaDI0h8gyNRIoNjWwiDo2Yug6NyVIPjf7qD403gxCNdRsRjbizEY3/SxKNSuQSjZp8E43uFBSNR60UjaVFFY0G3hWNbXYWjdcOF41GpxeNuj8YjTLYGI2ucBmNLwkajbWhGo0/OhuNzdIbjWBrHI33Ax2NkpwdjTI1Ho3XzR6NgGYfjS3/H43flyCNlTAhjVDJIY0PYiKN0/oijZuTI41oLCSNOMUkjQ5eJY3o9iWNxo8mjakoJ42QwSeNe1oojWvzKI1fjCmNWCUqjVW+Ko1XVyuNXfArjWiJLI13Ii2NirstjaJULo2+7S6N3oYvjQMgMI0tuTCNW1IxjY3rMY3EhDKN/x0zjT63M42CUDSNyuk0jReDNY1oHDaNvrU2jRdPN4126DeN2YE4jUAbOY2rtDmNG046jY/nOo0IgTuNhRo8jQe0PI2NTT2NF+c9jaaAPo05Gj+N0LM/jWxNQI0M50CNsYBBjVoaQo0HtEKNuU1DjW/nQ40qgUSN6RpFjay0RY10TkaNQOhGjRGCR43lG0iNv7VIjZxPSY1+6UmNZINKjU8dS40+t0uNMlFMjSrrTI0mhU2NJh9OjSu5To00U0+NQu1PjVSHUI1rIVGNhbtRjaRVUo3I71KN8IlTjRwkVI1MvlSNgVhVjbryVY34jFaNOidXjYDBV43LW1iNGvZYjW2QWY3FKlqNIcVajYFfW43m+VuNT5Rcjb0uXY0uyV2NpWNejR/+Xo2emF+NITNgjajNYI00aGGNxAJijVmdYo3yN2ONj9JjjTBtZI3WB2WNgKJljS89Zo3h12aNmHJnjVQNaI0UqGiN2EJpjaDdaY1teGqNPhNrjROua43tSGyNy+Nsja1+bY2UGW6Nf7RujW5Pb41i6m+NWoVwjVYgcY1Wu3GNW1ZyjWTxco1yjHONhCd0jZrCdI20XXWN0/h1jfaTdo0dL3eNScp3jXhleI2tAHmN5Zt5jSI3eo1j0nqNqG17jfIIfI1ApHyNkj99jenafY1Edn6NoxF/jQatf41uSICN2uOAjUp/gY2/GoKNOLaCjbVRg4027YONvIiEjUYkhY3Uv4WNZ1uGjf32ho2YkoeNOC6IjdzJiI2DZYmNMAGKjeCcio2VOIuNTtSLjQtwjI3NC42Nk6eNjV1Djo0r346N/nqPjdUWkI2wspCNj06RjXPqkY1bhpKNRyKTjTe+k40sWpSNJfaUjSKSlY0kLpaNKsqWjTRml41CApiNVJ6YjWs6mY2G1pmNpXKajckOm43xqpuNHUecjU3jnI2Bf52Nuhuejfe3no04VJ+NfvCfjceMoI0VKaGNZ8Whjb5hoo0Y/qKNd5qjjdo2pI1C06SNrW+ljR0Mpo2RqKaNCkWnjYbhp40HfqiNjBqpjRW3qY2iU6qNNPCqjcqMq41kKayNAsasjaVirY1M/62N95uujaY4r41Z1a+NEXKwjc0OsY2Nq7GNUUiyjRrlso3mgbONtx60jYy7tI1mWLWNQ/W1jSWSto0LL7eN9cu3jeNouI3WBbmNzaK5jcg/uo3H3LqNynm7jdIWvI3es7yN7lC9jQLuvY0ai76NNyi/jVjFv419YsCNpv/AjdOcwY0FOsKNOtfCjXR0w42yEcSN9a7EjTtMxY2G6cWN1YbGjSgkx41/wceN2l7IjTr8yI2emcmNBjfKjXLUyo3iccuNVw/Mjc+szI1MSs2NzefNjVKFzo3cIs+NacDPjftd0I2R+9CNK5nRjck20o1s1NKNEnLTjb0P1I1srdSNH0vVjdbo1Y2RhtaNUSTXjRXC143cX9iNqP3YjXmb2Y1NOdqNJtfajQJ1243jEtyNyLDcjbFO3Y2e7N2NkIrejYUo341/xt+NfWTgjX8C4Y2FoOGNjz7ijZ7c4o2weuONxxjkjeK25I0BVeWNJPPljUyR5o13L+eNp83njdpr6I0SCumNTqjpjY5G6o3T5OqNG4PrjWgh7I24v+yNDV7tjWb87Y3Dmu6NJDnvjYrX743zdfCNYRTxjdOy8Y1IUfKNwu/yjUCO843DLPSNScv0jdNp9Y1iCPaN9ab2jYtF940m5PeNxYL4jWkh+Y0QwPmNu176jWv9+o0enPuN1jr8jZLZ/I1SeP2NFhf+jd61/o2qVP+Ne/P/jU+SAI4oMQGOBNABjuVuAo7KDQOOs6wDjqBLBI6R6gSOh4kFjoAoBo59xwaOf2YHjoUFCI6PpAiOnEMJjq7iCY7EgQqO3yALjv2/C44fXwyORv4MjnCdDY6fPA6O0dsOjgh7D45DGhCOgrkQjsVYEY4M+BGOV5cSjqY2E4761ROOUXUUjq0UFY4MtBWOcFMWjtjyFo5DkheOszEYjifRGI6fcBmOGxAajpyvGo4gTxuOqO4bjjSOHI7FLR2OWc0djvJsHo6PDB+OL6wfjtRLII596yCOKoshjtsqIo6QyiKOSWojjgYKJI7HqSSOjUkljlbpJY4jiSaO9SgnjsrIJ46kaCiOgQgpjmOoKY5JSCqOMugqjiCIK44SKCyOCMgsjgJoLY4ACC6OAqgujghIL44S6C+OIIgwjjIoMY5JyDGOY2gyjoEIM46jqDOOykg0jvToNI4jiTWOVSk2jozJNo7GaTeOBQo4jkiqOI6OSjmO2eo5jiiLOo57KzuO0cs7jixsPI6LDD2O7qw9jlVNPo7A7T6OL44/jqIuQI4Zz0COlG9BjhMQQo6WsEKOHVFDjqjxQ443kkSOyjJFjmHTRY78c0aOnBRHjj+1R47mVUiOkfZIjkCXSY70N0qOq9hKjmZ5S44lGkyO6bpMjrBbTY57/E2OS51Ojh4+T4713k+O0H9QjrAgUY6TwVGOemJSjmYDU45VpFOOSEVUjkDmVI47h1WOOihWjj3JVo5FaleOUAtYjl+sWI5zTVmOiu5ZjqWPWo7EMFuO59Fbjg9zXI46FF2OabVdjpxWXo7T916ODplfjk46YI6R22CO2HxhjiMeYo5yv2KOxWBjjhwCZI53o2SO1kRljjnmZY6gh2aOCylnjnnKZ47sa2iOYw1pjt6uaY5dUGqO3/FqjmaTa47xNGyOf9ZsjhJ4bY6pGW6OQ7tujuJcb46E/m+OKqBwjtVBcY6D43GONYVyjuwmc46myHOOZGp0jiYMdY7srXWOtk92joTxdo5Wk3eOLDV4jgbXeI7keHmOxhp6jqy8eo6VXnuOgwB8jnWifI5qRH2OZOZ9jmGIfo5iKn+OaMx/jnFugI5+EIGOj7KBjqRUgo699oKO2piDjvs6hI4g3YSOSX+FjnYhho6mw4aO22WHjhQIiI5QqoiOkEyJjtXuiY4dkYqOaTOLjrnVi44OeIyOZhqNjsG8jY4hX46OhQGPju2jj45YRpCOyOiQjjyLkY6zLZKOLtCSjq5yk44xFZSOuLeUjkNalY7S/JWOZZ+WjvtBl46W5JeONYeYjtcpmY5+zJmOKG+ajtYRm46JtJuOP1ecjvn5nI63nJ2OeD+ejj7ino4IhZ+O1SegjqfKoI58baGOVRCijjOzoo4UVqOO+fijjuKbpI7OPqWOv+GljrSEpo6sJ6eOqcqnjqltqI6tEKmOtbOpjsFWqo7R+aqO5Zyrjvw/rI4Y46yON4atjlspro6CzK6OrW+vjtwSsI4PtrCORlmxjoH8sY6/n7KOAkOzjkjms46SibSO4Cy1jjLQtY6Ic7aO4ha3jj+6t46hXbiOBgG5jnCkuY7dR7qOTuu6jsOOu447MryOuNW8jjl5vY69HL6ORcC+jtFjv45hB8CO9arAjo1OwY4p8sGOyJXCjmw5w44T3cOOvoDEjm0kxY4gyMWO1mvGjpEPx45Ps8eOElfIjtj6yI6insmOcELKjkHmyo4XisuO8C3Mjs7RzI6vdc2OlBnOjn29zo5pYc+OWgXQjk6p0I5HTdGOQ/HRjkOV0o5HOdOOTt3TjlqB1I5pJdWOfMnVjpNt1o6uEdeOzbXXjvBZ2I4W/tiOQKLZjm9G2o6h6tqO1o7bjhAz3I5N19yOj3vdjtQf3o4dxN6OamjfjrsM4I4PseCOZ1XhjsT54Y4knuKOh0Ljju/m445bi+SOyi/ljj3U5Y60eOaOLx3njq7B544wZuiOtwrpjkGv6Y7PU+qOYPjqjvac646PQeyOLebsjs6K7Y5zL+6OG9Tujsh47454HfCOLMLwjuRm8Y6gC/KOYLDyjiNV847r+fOOtp70joVD9Y5X6PWOLo32jggy947m1veOyHv4jq4g+Y6XxfmOhWr6jnYP+45rtPuOZFn8jmD+/I5ho/2OZUj+jm3t/o55kv+OiDcAj5zcAI+zgQGPziYCj+3LAo8PcQOPNhYEj2C7BI+OYAWPwAUGj/WqBo8vUAePbPUHj62aCI/yPwmPOuUJj4aKCo/XLwuPKtULj4J6DI/eHw2PPcUNj6BqDo8HEA+PcbUPj+BaEI9SABGPyKURj0JLEo+/8BKPQZYTj8Y7FI9P4RSP24YVj2wsFo8A0haPmHcXjzQdGI/TwhiPd2gZjx4OGo/JsxqPd1kbjyr/G4/gpByPmkodj1jwHY8Zlh6P3jsfj6jhH490hyCPRS0hjxnTIY/xeCKPzR4jj63EI4+QaiSPdxAlj2K2JY9RXCaPRAInjzqoJ480TiiPMfQojzOaKY84QCqPQeYqj06MK49eMiyPc9gsj4t+LY+nJC6Pxsouj+lwL48QFzCPO70wj2pjMY+cCTKP0q8yjwxWM49J/DOPi6I0j9BINY8Y7zWPZZU2j7U7N48J4jePYYg4j7wuOY8c1TmPf3s6j+UhO49QyDuPvm48jzAVPY+muz2PH2I+j5wIP48drz+PolVAjyr8QI+2okGPRklCj9nvQo9xlkOPDD1Ej6rjRI9NikWP8zBGj53XRo9LfkeP/CRIj7HLSI9qckmPJxlKj+e/So+rZkuPcw1Mjz60TI8NW02P4AFOj7eoTo+RT0+Pb/ZPj1GdUI83RFGPIOtRjw2SUo/9OFOP8t9Tj+qGVI/mLVWP5dRVj+h7Vo/vIleP+slXjwhxWI8aGFmPML9Zj0pmWo9nDVuPiLRbj6xbXI/VAl2PAapdjzBRXo9k+F6Pm59fj9ZGYI8U7mCPV5Vhj508Yo/m42KPNItjj4UyZI/Z2WSPMoFlj44oZo/uz2aPUXdnj7keaI8kxmiPkm1pjwUVao97vGqP9GNrj3ILbI/zsmyPeFptjwACbo+MqW6PHFFvj7D4b49HoHCP4kdxj4DvcY8jl3KPyT5zj3Lmc48gjnSP0TV1j4XddY8+hXaP+ix3j7rUd499fHiPRCR5jw/MeY/dc3qPrxt7j4XDe49fa3yPPBN9jx27fY8BY36P6Qp/j9Wyf4/FWoCPuAKBj6+qgY+qUoKPqPqCj6qig4+vSoSPuPKEj8WahY/WQoaP6uqGjwKTh48eO4iPPeOIj2CLiY+GM4qPsNuKj96Di48QLIyPRdSMj358jY+6JI6P+8yOjz51j4+GHZCP0cWQjyBukY9yFpKPyL6SjyJnk4+AD5SP4beUj0VglY+uCJaPGrGWj4pZl4/9AZiPdKqYj+5SmY9t+5mP76Oaj3RMm4/99JuPip2cjxtGnY+v7p2PR5eej+I/n4+B6J+PJJGgj8o5oY904qGPIouij9Mzo4+I3KOPQYWkj/0tpY+91qWPgH+mj0cop48S0aeP4Xmoj7MiqY+Iy6mPYnSqjz4dq48fxquPA2+sj+sXrY/WwK2Pxmmuj7gSr4+vu6+PqGSwj6YNsY+ntrGPrF+yj7UIs4/BsbOP0Fq0j+QDtY/7rLWPFVa2jzP/to9VqLePe1G4j6T6uI/Qo7mPAU26jzX2uo9sn7uPp0i8j+bxvI8om72PbkS+j7jtvo8Fl7+PVkDAj6rpwI8Ck8GPXjzCj73lwo8gj8OPhzjEj/HhxI9fi8WP0DTGj0Xexo+9h8ePOTHIj7nayI88hMmPwy3Kj07Xyo/cgMuPbirMjwPUzI+cfc2POSfOj9nQzo99es+PJCTQj8/N0I9+d9GPMCHSj+XK0o+fdNOPXB7UjxzI1I/gcdWPqBvWj3PF1o9Cb9ePFRnYj+vC2I/EbNmPohbaj4PA2o9natuPTxTcjzu+3I8qaN2PHRLejxO83o8NZt+PChDgjwy64I8QZOGPGQ7ijyS44o80YuOPRwzkj1625I94YOWPlQrmj7e05o/cXuePBAnojzCz6I9gXemPkwfqj8qx6o8EXOuPQgbsj4Sw7I/JWu2PEgXuj16v7o+uWe+PAQTwj1iu8I+zWPGPEQPyj3Kt8o/YV/OPQAL0j62s9I8dV/WPkAH2jwes9o+CVvePAAH4j4Kr+I8HVvmPkAD6jxyr+o+sVfuPQAD8j9eq/I9yVf2PEAD+j7Kq/o9XVf+PAAAAlFZVAJSuqgCUCAABlGNVAZTBqgGUIAAClIFVApTjqgKUSAADlK5VA5QWqwOUgAAElOtVBJRZqwSUyAAFlDhWBZSrqwWUHwEGlJZWBpQOrAaUhwEHlANXB5SArAeU/wEIlIBXCJQCrQiUhwIJlA1YCZSVrQmUHgMKlKpYCpQ3rgqUxgMLlFdZC5TprguUfgQMlBRaDJSrrwyURQUNlOBaDZR9sA2UHAYOlL1bDpRfsQ6UAwcPlKlcD5RRsg+U+gcQlKZdEJRTsxCUAQkRlLJeEZRktBGUGAoSlM5fEpSGtRKUPwsTlPpgE5S3thOUdQwUlDZiFJT4txSUvA0VlIFjFZRJuRWUEg8WlN1kFpSquhaUeBAXlEhmF5QavBeU7hEYlMNnGJSbvRiUdBMZlE5pGZQrvxmUCRUalOlqGpTLwBqUrhYblJRsG5R7whuUYxgclE5uHJQ6xByUKBodlBhwHZQKxh2U/RselPJxHpTpxx6U4R0flNxzH5TYyR+U1R8glNV1IJTWyyCU2SEhlN53IZTlzSGU7SMilPd5IpQD0CKUESYjlCB8I5Qx0iOURCgklFh+JJRu1CSUhyollKCAJZS81iWU2SwmlPiCJpQZ2SaUOy8nlGCFJ5SG2yeUrTEolNeHKJQC3iiULzQplF6KKZSO4CmUwDYqlPSMKpQq4yqUYjkrlJuPK5TW5SuUEjwslFGSLJSR6CyU0z4tlBaVLZRc6y2Uo0EulOyXLpQ27i6UgkQvlNGaL5Qg8S+UckcwlMWdMJQa9DCUcUoxlMmgMZQj9zGUf00ylN2jMpQ9+jKUnlAzlAGnM5Rl/TOUzFM0lDSqNJSdADWUCVc1lHatNZTlAzaUVlo2lMmwNpQ9BzeUs103lCq0N5SkCjiUH2E4lJy3OJQaDjmUm2Q5lB27OZShETqUJmg6lK2+OpQ2FTuUwWs7lE3CO5TcGDyUbG88lP3FPJSRHD2UJnM9lLzJPZRVID6U73Y+lIvNPpQpJD+UyHo/lGnRP5QMKECUsX5AlFfVQJT/K0GUqYJBlFXZQZQCMEKUsYZClGHdQpQUNEOUyIpDlH7hQ5Q1OESU745ElKrlRJRmPEWUJZNFlOXpRZSnQEaUapdGlDDuRpT3REeUwJtHlIryR5RWSUiUJKBIlPT2SJTFTUmUmKRJlG37SZRDUkqUHKlKlPb/SpTRVkuUr61LlI4ETJRvW0yUUbJMlDUJTZQbYE2UA7dNlOwNTpTXZE6UxLtOlLMST5SjaU+UlcBPlIgXUJR+blCUdcVQlG4cUZRoc1GUZMpRlGIhUpRieFKUY89SlGYmU5RrfVOUctRTlHorVJSEglSUj9lUlJwwVZSrh1WUvN5VlM81VpTjjFaU+eNWlBA7V5QpkleUROlXlGFAWJR/l1iUn+5YlMFFWZTlnFmUCvRZlDFLWpRZolqUhPlalLBQW5Tdp1uUDf9blD5WXJRxrVyUpQRdlNxbXZQTs12UTQpelIhhXpTFuF6UBBBflEVnX5SHvl+UyxVglBBtYJRXxGCUoBthlOtyYZQ3ymGUhSFilNV4YpQm0GKUeidjlM5+Y5Ql1mOUfS1klNeEZJQz3GSUkDNllO+KZZRQ4mWUsjlmlBaRZpR86GaU4z9nlE2XZ5S37meUJEZolJKdaJQC9WiUdExplOejaZRc+2mU01JqlEuqapTFAWuUQVlrlL+wa5Q+CGyUv19slEG3bJTFDm2US2ZtlNO9bZRcFW6U52xulHTEbpQCHG+UknNvlCTLb5S4InCUTXpwlOTRcJR8KXGUFoFxlLLYcZRQMHKU74dylJDfcpQzN3OU145zlH3mc5QlPnSUzpV0lHntdJQmRXWU1Jx1lIT0dZQ2THaU6qN2lJ/7dpRWU3eUDqt3lMgCeJSEWniUQrJ4lAEKeZTCYXmUhLl5lEkRepQPaXqU1sB6lKAYe5RrcHuUN8h7lAYgfJTWd3yUqM98lHsnfZRQf32UJ9d9lP8ufpTZhn6Utd5+lJM2f5Ryjn+UU+Z/lDU+gJQZloCU/+2AlOdFgZTQnYGUu/WBlKdNgpSVpYKUhf2ClHdVg5RqrYOUXwWElFZdhJROtYSUSA2FlERlhZRBvYWUQBWGlEBthpRDxYaURx2HlEx1h5RUzYeUXSWIlGd9iJR01YiUgi2JlJGFiZSj3YmUtjWKlMqNipTh5YqU+T2LlBKWi5Qu7ouUS0aMlGmejJSK9oyUrE6NlM+mjZT1/o2UHFeOlESvjpRvB4+Um1+PlMi3j5T4D5CUKWiQlFvAkJSQGJGUxnCRlP3IkZQ3IZKUcnmSlK7RkpTtKZOULIKTlG7ak5SxMpSU9oqUlD3jlJSFO5WUz5OVlBvslZRoRJaUt5yWlAj1lpRaTZeUrqWXlAP+l5RaVpiUs66YlA4HmZRqX5mUyLeZlCcQmpSJaJqU68CalFAZm5S2cZuUHsqblIcinJTyepyUX9OclM4rnZQ+hJ2Ur9ydlCM1npSYjZ6UDuaelIc+n5QBl5+UfO+flPpHoJR5oKCU+figlHxRoZT/qaGUhQKilAxbopSVs6KUIAyjlKxko5Q6vaOUyRWklFpupJTtxqSUgR+llBh4pZSv0KWUSSmmlOSBppSA2qaUHzOnlL+Lp5Rg5KeUAz2olKiVqJRP7qiU90aplKGfqZRM+KmU+lCqlKipqpRZAquUC1urlL+zq5R0DKyUK2WslOS9rJSeFq2UWm+tlBjIrZTXIK6UmHmulFrSrpQeK6+U5IOvlKzcr5R1NbCUQI6wlAznsJTaP7GUqpixlHvxsZROSrKUIqOylPn7spTRVLOUqq2zlIUGtJRiX7SUQLi0lCARtZQCarWU5sK1lMsbtpSxdLaUmc22lIMmt5Rvf7eUXNi3lEsxuJQ7iriULeO4lCE8uZQWlbmUDe65lAZHupQAoLqU/Pi6lPpRu5T5qruU+gO8lPxcvJQAtryUBg+9lA1ovZQWwb2UIRq+lC1zvpQ7zL6USiW/lFt+v5Ru17+UgzDAlJmJwJSw4sCUyjvBlOSUwZQB7sGUH0fClD+gwpRg+cKUg1LDlKirw5TOBMSU9l3ElCC3xJRLEMWUeGnFlKfCxZTXG8aUCHXGlDzOxpRxJ8eUp4DHlN/Zx5QZM8iUVYzIlJLlyJTRPsmUEZjJlFPxyZSXSsqU3KPKlCP9ypRrVsuUta/LlAEJzJROYsyUnbvMlO4UzZRAbs2UlMfNlOkgzpRAes6UmdPOlPMsz5RPhs+Urd/PlAw50JRtktCUz+vQlDNF0ZSZntGUAPjRlGlR0pTUqtKUQATTlK5d05Qdt9OUjhDUlAFq1JR1w9SU6xzVlGJ21ZTbz9WUVinWlNKC1pRQ3NaU0DXXlFGP15TU6NeUWELYlN6b2JRm9diU707ZlHqo2ZQHAtqUlVvalCS12pS2DtuUSWjblN3B25RzG9yUC3XclKXO3JRAKN2U3IHdlHrb3ZQaNd6UvI7elF/o3pQDQt+UqpvflFL135T7TuCUpqjglFMC4ZQBXOGUsbXhlGMP4pQWaeKUy8LilIEc45Q5duOU88/jlK4p5JRrg+SUKd3klOk25ZSrkOWUburllDNE5pT5neaUwffmlItR55RWq+eUIwXolPJe6JTCuOiUkxLplGds6ZQ7xumUEiDqlOp56pTE0+qUny3rlHyH65Rb4euUOzvslByV7JQA7+yU5UjtlMui7ZSz/O2UnVbulIiw7pR1Cu+UZGTvlFS+75RGGPCUOXLwlC7M8JQkJvGUHYDxlBba8ZQSNPKUD47ylA3o8pQNQvOUD5zzlBL285QXUPSUHqr0lCYE9ZQwXvWUO7j1lEgS9pRWbPaUZsb2lHgg95SLeveUoNT3lLcu+JTPiPiU6eL4lAQ9+ZQhl/mUP/H5lF9L+pSBpfqUpP/6lMlZ+5Tvs/uUFw78lEFo/JRswvyUmRz9lMd2/ZT30P2UKSv+lFyF/pSR3/6Uxzn/lP+T/5Q47v+UdEgAlbCiAJXv/ACVLlcBlXCxAZWzCwKV+GUClT7AApWGGgOVz3QDlRrPA5VnKQSVtYMElQXeBJVWOAWVqZIFlf3sBZVURwaVq6EGlQT8BpVfVgeVvLAHlRoLCJV5ZQiV278IlT0aCZWidAmVCM8JlW8pCpXYgwqVQ94Kla84C5UdkwuVje0Llf5HDJVxogyV5fwMlVtXDZXSsQ2VSwwOlcVmDpVBwQ6VvxsPlT52D5W/0A+VQisQlcaFEJVL4BCV0zoRlVuVEZXm7xGVckoSlf+kEpWO/xKVH1oTlbG0E5VFDxSV2mkUlXHEFJUKHxWVpHkVlUDUFZXdLhaVfIkWlRzkFpW+PheVYpkXlQf0F5WuThiVVqkYlQAEGZWrXhmVWLkZlQcUGpW3bhqVackalRwkG5XRfhuVh9kblUA0HJX5jhyVtOkclXFEHZUvnx2V7/kdlbFUHpV0rx6VOAoflf9kH5XGvx+VkBoglVt1IJUn0CCV9SohlcWFIZWW4CGVaTsilT2WIpUT8SKV6ksjlcOmI5WeASSVelwklVi3JJU3EiWVGG0llfvHJZXfIiaVxH0mlavYJpWUMyeVfo4nlWrpJ5VXRCiVRp8olTf6KJUpVSmVHbAplRILKpUJZiqVAcEqlfsbK5X3diuV9NErlfIsLJXyhyyV9OIslfc9LZX8mC2VA/QtlQtPLpUUqi6VHwUvlSxgL5U6uy+VShYwlVtxMJVuzDCVgycxlZmCMZWw3TGVyjgyleSTMpUB7zKVHkozlT6lM5VfADSVgVs0laW2NJXLETWV8mw1lRvINZVFIzaVcX42lZ/ZNpXONDeV/o83lTDrN5VkRjiVmaE4ldD8OJUIWDmVQrM5lX0OOpW6aTqV+cQ6lTkgO5V7ezuVvtY7lQMyPJVJjTyVkeg8ldpDPZUlnz2Vcvo9lcBVPpUPsT6VYQw/lbNnP5UIwz+VXh5AlbV5QJUO1UCVaDBBlcSLQZUi50GVgUJCleKdQpVE+UKVqFRDlQ2wQ5V0C0SV3WZElUfCRJWyHUWVH3lFlY7URZX+L0aVcItGlePmRpVYQkeVzp1HlUb5R5XAVEiVO7BIlbcLSZU1Z0mVtcJJlTYeSpW5eUqVPdVKlcMwS5VLjEuV1OdLlV5DTJXqnkyVePpMlQdWTZWXsU2VKg1Olb1oTpVTxE6V6R9PlYJ7T5Uc10+VtzJQlVSOUJXz6VCVk0VRlTShUZXY/FGVfFhSlSO0UpXKD1OVdGtTlR/HU5XLIlSVeX5UlSnaVJXaNVWVjJFVlUDtVZX2SFaVraRWlWYAV5UgXFeV3LdXlZkTWJVYb1iVGctYldsmWZWeglmVY95ZlSo6WpXylVqVu/FalYdNW5VTqVuVIgVclfFgXJXDvFyVlhhdlWp0XZVA0F2VFyxelfCHXpXL416Vpz9flYWbX5Vk91+VRFNglSevYJUKC2GV8GZhldfCYZW/HmKVqXpilZTWYpWBMmOVcI5jlWDqY5VRRmSVRKJklTn+ZJUvWmWVJ7ZllSASZpUabmaVF8pmlRQmZ5UUgmeVFd5nlRc6aJUblmiVIPJolSdOaZUwqmmVOgZqlUViapVSvmqVYRprlXF2a5WD0muVli5slauKbJXB5myV2UJtlfKebZUN+22VKVdulUezbpVmD2+Vh2tvlarHb5XNI3CV839wlRrccJVDOHGVbZRxlZjwcZXFTHKV9KhylSQFc5VWYXOVib1zlb4ZdJX0dXSVLNJ0lWUudZWginWV3OZ1lRpDdpVZn3aVmvt2ld1Xd5UhtHeVZhB4la1seJX1yHiVPyV5lYuBeZXY3XmVJzp6lXeWepXI8nqVHE97lXCre5XGB3yVHmR8lXfAfJXSHH2VLnl9lYzVfZXrMX6VTI5+la7qfpUSR3+VeKN/ld7/f5VHXICVsbiAlRwVgZWJcYGV982BlWcqgpXZhoKVTOOClcA/g5U2nIOVrviDlSdVhJWhsYSVHg6FlZtqhZUax4WVmyOGlR2AhpWh3IaVJjmHlayVh5U18oeVvk6IlUmriJXWB4mVZGSJlfTAiZWFHYqVGHqKlazWipVCM4uV2Y+LlXLsi5UMSYyVqKWMlUYCjZXkXo2VhbuNlScYjpXKdI6Vb9GOlRUuj5W9io+VZuePlRFEkJW+oJCVbP2QlRtakZXMtpGVfhOSlTJwkpXozJKVnymTlVeGk5UR45OVzT+UlYqclJVI+ZSVCFaVlcqylZWMD5aVUWyWlRfJlpXeJZeVp4KXlXLfl5U+PJiVDJmYldv1mJWrUpmVfa+ZlVEMmpUmaZqV/MWaldQim5Wuf5uVidyblWU5nJVDlpyVI/OclQRQnZXmrJ2VywmelbBmnpWXw56VgCCflWp9n5VV2p+VQjeglTGUoJUh8aCVEk6hlQWroZX6B6KV8GSilefBopXhHqOV23ujldfYo5XVNaSV1JKkldTvpJXWTKWV2qmlld8GppXlY6aV7cCmlfcdp5UCe6eVDtinlRw1qJUskqiVPO+olU9MqZVjqamVeAaqlY9jqpWowKqVwh2rld16q5X616uVGDWslTiSrJVa76yVfUytlaGprZXHBq6V7mOulRfBrpVBHq+VbXuvlZvYr5XJNbCV+pKwlSvwsJVfTbGVlKqxlcoHspUCZbKVO8KylXYfs5WyfLOV8NmzlS83tJVvlLSVsvG0lfVOtZU6rLWVgQm2lclmtpUTxLaVXiG3lat+t5X527eVSDm4lZmWuJXs87iVQFG5lZWuuZXsC7qVRWm6lZ/GupX6I7uVV4G7lbbeu5UWPLyVd5m8ldr2vJU+VL2VpLG9lQsPvpV0bL6V38m+lUonv5W4hL+VJuK/lZc/wJUIncCVfPrAlfBXwZVmtcGV3hLClVdwwpXSzcKVTivDlcuIw5VL5sOVy0PElU2hxJXR/sSVVlzFldy5xZVkF8aV7XTGlXjSxpUFMMeVk43HlSLrx5WzSMiVRabIldkDyZVuYcmVBb/JlZ0cypU3esqV0tfKlW41y5UNk8uVrPDLlU1OzJXwq8yVlAnNlTlnzZXgxM2ViSLOlTOAzpXe3c6VizvPlTmZz5Xp9s+VmlTQlU2y0JUBENGVt23RlW7L0ZUnKdKV4YbSlZ3k0pVaQtOVGKDTldj905WaW9SVXbnUlSEX1ZXndNWVr9LVlXgw1pVCjtaVDuzWldtJ15Wqp9eVegXYlUxj2JUfwdiV9B7Zlcp82ZWh2tmVejjalVWW2pUx9NqVDlLble2v25XODdyVr2vclZPJ3JV4J92VXoXdlUbj3ZUvQd6VGp/elQb93pXzWt+V4rjfldMW4JXFdOCVuNLgla0w4ZWkjuGVnOzhlZVK4pWQqOKVjAbjlYpk45WJwuOViiDklYx+5JWP3OSVlDrllZuY5ZWj9uWVrFTmlbey5pXEEOeV0m7nleHM55XyKuiVBInolRjn6JUtRemVQ6PplVwB6pV1X+qVkL3qla0b65XLeeuV6tfrlQs27JUtlOyVUfLslXZQ7ZWdru2VxQzule9q7pUaye6VRifvlXSF75Wk4++V1UHwlQeg8JU7/vCVcFzxlae68ZXfGPKVGXfylVTV8pWQM/OVz5HzlQ7w85VPTvSVkaz0ldUK9ZUbafWVYcf1laol9pXzg/aVP+L2lYtA95XZnveVKf33lXpb+JXMufiVIBj5lXV2+ZXM1PmVJDP6lX6R+pXZ7/qVNk77lZSs+5XzCvyVVGn8lbfH/JUbJv2VgIT9lefi/ZVPQf6VuZ/+lST+/pWRXP+V/7r/lW4ZAJbfdwCWUdYAlsU0AZY7kwGWsfEBlipQApajrgKWHg0DlptrA5YZygOWmCgElhmHBJac5QSWH0QFlqWiBZYrAQaWtF8Glj2+BpbIHAeWVXsHluPZB5ZyOAiWA5cIlpX1CJYpVAmWvrIJllURCpbtbwqWhs4KliEtC5a+iwuWXOoLlvtIDJacpwyWPgYNluFkDZaHww2WLSIOltWADpZ/3w6WKT4PltacD5aD+w+WM1oQluO4EJaVFxGWSXYRlv7UEZa0MxKWbJISliXxEpbgTxOWnK4TlloNFJYZbBSW2soUlpwpFZZfiBWWJOcVlupFFpaypBaWewMXlkZiF5YSwReW3x8Ylq5+GJZ+3RiWUDwZliSbGZb4+RmWzlgalqa3GpZ/FhuWWXUbljXUG5YTMxyW8ZEcltLwHJazTx2Wlq4dlnsNHpZhbB6WSMseljEqH5YbiR+WB+gflvRGIJbjpSCW0wQhlsRjIZa3wiGWqyEilqGAIpaY3yKWkT4jloudI5aG/COWg1skloK6JJaBGSWWg3glloXXJZaJNiaWj5Umlpb0JpaeUyeWqLInlrMRKJbAcCiWzs8olt4uKZbvjSmWAe0plhVMKpYqqyqWQQorlllpK5ZzyCuWjicslqqGLJbI5SyW6EQtlgikLZYqAy6WTmIulnPBLpaaIC+WwX8vluveL5YWPjCWQp0wlm/8MJaeWzGWz7oxlgEaMpY0eTKWadgylp83M5bXljOWEPYzlkpVNJaGtDSWwxM1lgJzNZZC0jWWhDE2lseQNpYL8DaWUU83lpmuN5bhDTiWK204lnfMOJbEKzmWEos5lmLqOZa0STqWBqk6lloIO5awZzuWB8c7ll8mPJa5hTyWFOU8lnFEPZbPoz2WLwM+lpBiPpbywT6WViE/lruAP5Yi4D+Wij9AlvOeQJZe/kCWy11Blji9QZanHEKWGHxClorbQpb9OkOWcppDlun5Q5ZgWUSW2bhEllQYRZbQd0WWTddFlsw2RpZMlkaWzvVGllFVR5bVtEeWWxRIluNzSJZr00iW9jJJloGSSZYO8kmWnFFKliyxSpa+EEuWUHBLluTPS5Z6L0yWEY9MlqnuTJZDTk2W3q1NlnoNTpYYbU6WuMxOllksT5b7i0+WnutPlkRLUJbqqlCWkgpRljtqUZbmyVGWkilSlkCJUpbv6FKWn0hTllGoU5YECFSWuWdUlm/HVJYmJ1WW34ZVlpnmVZZVRlaWEqZWltAFV5aQZVeWUsVXlhQlWJbZhFiWnuRYlmVEWZYupFmW9wNalsNjWpaPw1qWXSNbli2DW5b+4luW0EJclqOiXJZ5Al2WT2JdlifCXZYAIl6W24FelrfhXpaVQV+WdKFfllQBYJY2YWCWGcFglv0gYZbjgGGWy+BhlrRAYpaeoGKWiQBjlndgY5ZlwGOWVSBklkaAZJY54GSWLUBlliKgZZYZAGaWEWBmlgvAZpYGIGeWA4BnlgDgZ5YAQGiWAKBolgMAaZYGYGmWC8BplhEgapYZgGqWIuBqli1Aa5Y5oGuWRgBsllVgbJZlwGyWdiBtlomAbZae4G2Ws0BulsugbpbjAG+W/WBvlhjBb5Y1IXCWU4FwlnPhcJaUQXGWtqFxltoBcpb/YXKWJsJylk4ic5Z3gnOWouJzls5CdJb8onSWKwN1lltjdZaNw3WWwCN2lvSDdpYq5HaWYkR3lpukd5bVBHiWEGV4lk3FeJaMJXmWy4V5lgzmeZZPRnqWk6Z6ltgGe5YfZ3uWZ8d7lrEnfJb8h3yWSOh8lpZIfZblqH2WNQl+lodpfpbayX6WLyp/loWKf5bd6n+WNkuAlpCrgJbrC4GWSWyBlqfMgZYHLYKWaI2ClsvtgpYvToOWlK6DlvsOhJZjb4SWzc+EljgwhZakkIWWEvGFloFRhpbysYaWZBKHltdyh5ZM04eWwjOIljmUiJay9IiWLFWJlqi1iZYlFoqWpHaKliTXipalN4uWJ5iLlqz4i5YxWYyWuLmMlkAajZbKeo2WVNuNluE7jpZvnI6W/vyOlo5dj5Ygvo+WtB6Qlkh/kJbe35CWdkCRlg+hkZapAZKWRWKSluLCkpaAI5OWIISTlsHkk5ZjRZSWB6aUlq0GlZZTZ5WW/MeVlqUolpZQiZaW/OmWlqpKl5ZZq5eWCQyYlrtsmJZuzZiWIy6ZltmOmZaQ75mWSVCalgOxmpa/EZuWe3KbljrTm5b5M5yWupScln31nJZBVp2WBredlswXnpaUeJ6WXtmelig6n5b0mp+WwvuflpFcoJZhvaCWMh6hlgV/oZba36GWsECiloehopZfAqOWOWOjlhTEo5bxJKSWz4Wklq7mpJaPR6WWcailllUJppY6aqaWIMumlggsp5bxjKeW2+2nlsdOqJa0r6iWoxCplpNxqZaE0qmWdzOqlmuUqpZh9aqWV1arllC3q5ZJGKyWRHmslkHarJY+O62WPZytlj79rZZAXq6WQ7+ulkcgr5ZNga+WVeKvll5DsJZopLCWcwWxloBmsZaOx7GWniiylq+JspbB6rKW1Uuzluqss5YADrSWGG+0ljHQtJZMMbWWaJK1loXztZakVLaWxLW2luYWt5YIeLeWLdm3llI6uJZ5m7iWofy4lstduZb2vrmWIyC6llCBupaA4rqWsEO7luKku5YVBryWSme8loDIvJa3Kb2W8Iq9lirsvZZmTb6Wo66+luEPv5Ygcb+WYdK/lqQzwJbnlMCWLPbAlnNXwZa7uMGWBBrClk57wpaa3MKW6D3Dljafw5aGAMSW2GHElirDxJZ/JMWW1IXFlivnxZaDSMaW3anGljgLx5aUbMeW8s3HllEvyJaxkMiWE/LIlnZTyZbatMmWQBbKlqh3ypYQ2cqWejrLluWby5ZS/cuWwF7MljDAzJagIc2WE4PNlobkzZb7Rc6WcafOlukIz5Zias+W3MvPllgt0JbVjtCWU/DQltNR0ZZUs9GW1xTSllp20pbg19KWZjnTlu6a05Z3/NOWAl7Ulo6/1JYcIdWWqoLVljrk1ZbMRdaWX6fWlvMI15aIateWH8zXlrgt2JZRj9iW7PDYlohS2ZYmtNmWxRXalmZ32pYH2dqWqjrblk+c25b1/duWnF/clkXB3JbuIt2WmoTdlkbm3Zb0R96WpKnellQL35YGbd+Wus7flm8w4JYlkuCW3PPglpVV4ZZPt+GWCxnilsh64paG3OKWRj7jlgeg45bJAeSWjWPkllLF5JYYJ+WW4Ijllqnq5ZZzTOaWP67mlgwQ55bbceeWq9Pnlnw16JZOl+iWIvnolvha6ZbOvOmWph7qln+A6pZa4uqWNkTrlhSm65byB+yW0mnslrTL7JaXLe2We4/tlmDx7ZZHU+6WL7XulhkX75YEee+W8Nrvlt488JbMnvCWvQDxlq5i8ZahxPGWlibylouI8paC6vKWe0zzlnWu85ZwEPSWbHL0lmrU9JZpNvWWaZj1lmv69ZZuXPaWc772lnkg95aAgveWieT3lpNG+JaeqPiWqgr5lrhs+ZbIzvmW2DD6luqS+pb+9PqWElf7lii5+5ZAG/yWWH38lnLf/JaOQf2Wq6P9lskF/pboZ/6WCcr+liss/5ZPjv+Wc/D/lppSAJfBtACX6hYBlxR5AZdA2wGXbD0Cl5ufApfKAQOX+2MDly3GA5dhKASXlooEl8zsBJcETwWXPbEFl3cTBpezdQaX8NcGly46B5dunAeXr/4Hl/FgCJc1wwiXeiUJl8CHCZcI6gmXUUwKl5uuCpfnEAuXNHMLl4PVC5fSNwyXI5oMl3b8DJfKXg2XH8ENl3UjDpfNhQ6XJugOl4BKD5fcrA+XOQ8Ql5hxEJf40xCXWTYRl7uYEZcf+xGXhF0Sl+u/EpdTIhOXvIQTlybnE5eSSRSX/6sUl24OFZfecBWXT9MVl8E1Fpc1mBaXqvoWlyFdF5eZvxeXEiIYl42EGJcJ5xiXhkkZlwSsGZeEDhqXBXEal4jTGpcMNhuXkZgblxj7G5efXRyXKcAcl7MiHZc/hR2XzOcdl1tKHpfrrB6XfA8flw5yH5ei1B+XNzcgl86ZIJdm/CCX/14hl5rBIZc2JCKX04Yil3HpIpcRTCOXsq4jl1URJJf5cySXntYkl0Q5JZfsmyWXlf4ll0BhJpfswyaXmSYnl0eJJ5f36yeXqE4ol1uxKJcPFCmXxHYpl3rZKZcyPCqX654ql6YBK5dhZCuXHscrl90pLJedjCyXXu8slyBSLZfktC2XqRcul296Lpc33S6XAEAvl8qiL5eWBTCXY2gwlzLLMJcBLjGX0pAxl6XzMZd4VjKXTbkylyMcM5f7fjOX1OEzl65ENJeKpzSXZwo1l0VtNZcl0DWXBjM2l+iVNpfL+DaXsFs3l5a+N5d+ITiXZ4Q4l1HnOJc9SjmXKa05lxcQOpcHczqX+NU6l+o4O5fdmzuX0v47l8hhPJe/xDyXuCc9l7KKPZeu7T2XqlA+l6izPpeoFj+XqHk/l6rcP5etP0CXsqJAl7gFQZe/aEGXyMtBl9IuQpfdkUKX6fRCl/dXQ5cGu0OXFx5ElymBRJc85ESXUEdFl2aqRZd9DUaXlXBGl6/TRpfKNkeX55lHlwT9R5cjYEiXRMNIl2UmSZeIiUmXrOxJl9JPSpf5skqXIRZLl0t5S5d13EuXoT9Ml8+iTJf+BU2XLmlNl1/MTZeSL06XxpJOl/v1TpcyWU+XarxPl6MfUJfeglCXGuZQl1dJUZeWrFGX1g9SlxdzUpdZ1lKXnTlTl+KcU5cpAFSXcWNUl7rGVJcEKlWXUI1Vl53wVZfrU1aXO7dWl4waV5fefVeXMeFXl4ZEWJfdp1iXNAtZl41uWZfn0VmXQjVal5+YWpf9+1qXXV9bl73CW5cfJlyXg4lcl+fsXJdNUF2XtbNdlx0XXpeHel6X8t1el19BX5fMpF+XOwhgl6xrYJcez2CXkTJhlwWWYZd7+WGX8lxil2rAYpfjI2OXXodjl9vqY5dYTmSX17Fkl1cVZZfYeGWXW9xll98/Zpdko2aX6wZnl3NqZ5f8zWeXhzFolxOVaJeg+GiXLlxpl76/aZdPI2qX4oZql3XqapcKTmuXobFrlzgVbJfReGyXbNxslwdAbZeko22XQgdul+JqbpeCzm6XJDJvl8iVb5ds+W+XEl1wl7rAcJdiJHGXDIhxl7frcZdkT3KXErNyl8EWc5dxenOXI95zl9ZBdJeKpXSXQAl1l/dsdZev0HWXaDR2lyOYdpff+3aXnV93l1zDd5ccJ3iX3Yp4l5/ueJdjUnmXKbZ5l+8Zepe3fXqXgOF6l0tFe5cWqXuX4wx8l7JwfJeB1HyXUjh9lyScfZf4/32XzWN+l6PHfpd6K3+XU49/ly3zf5cIV4CX5bqAl8MegZeigoGXg+aBl2RKgpdHroKXLBKDlxJ2g5f52YOX4T2El8qhhJe1BYWXommFl4/NhZd+MYaXbpWGl1/5hpdSXYeXRsGHlzsliJcyiYiXKu2IlyNRiZcdtYmXGRmKlxZ9ipcU4YqXFEWLlxWpi5cXDYyXGnGMlx/VjJclOY2XLZ2NlzUBjpc/ZY6XS8mOl1ctj5dlkY+XdPWPl4VZkJeWvZCXqSGRl76FkZfT6ZGX6k2SlwKykpccFpOXN3qTl1Pek5dwQpSXj6aUl68KlZfQbpWX8tKVlxY3lpc7m5aXYv+Wl4ljl5eyx5eX3SuYlwiQmJc19JiXY1iZl5K8mZfDIJqX9YSalynpmpddTZuXk7Gbl8oVnJcDepyXPN6cl3dCnZe0pp2X8QqelzBvnpdw056Xsjefl/Wbn5c5AKCXfmSgl8XIoJcMLaGXVpGhl6D1oZfsWaKXOb6il4cio5fXhqOXKOujl3pPpJfOs6SXIhill3h8pZfQ4KWXKEWml4KpppfdDaeXOnKnl5jWp5f3OqiXV5+ol7kDqZccaKmXgMypl+UwqpdMlaqXtPmqlx5eq5eIwquX9Casl2GLrJfQ76yXP1Stl7C4rZcjHa6XloGulwvmrpeBSq+X+a6vl3ITsJfsd7CXZ9ywl+RAsZdhpbGX4Qmyl2Fuspfj0rKXZjezl+qbs5dvALSX9mS0l37JtJcILrWXkpK1lx73tZesW7aXOsC2l8okt5dbibeX7e23l4FSuJcWt7iXrBu5l0SAuZfc5LmXdkm6lxKuupeuEruXTHe7l+vbu5eMQLyXLaW8l9AJvZd1br2XGtO9l8E3vpdpnL6XEwG/l71lv5dpyr+XFi/Al8WTwJd1+MCXJl3Bl9jBwZeLJsKXQIvCl/bvwpeuVMOXZ7nDlyEexJfcgsSXmOfEl1ZMxZcVscWX1hXGl5d6xpda38aXHkTHl+Sox5eqDciXcnLIlzzXyJcGPMmX0qDJl58FypdtasqXPc/Klw40y5fgmMuXtP3Ll4hizJdex8yXNizNlw6RzZfo9c2Xw1rOl6C/zpd9JM+XXInPlzzuz5ceU9CXAbjQl+Uc0ZfKgdGXsObRl5hL0peBsNKXbBXTl1d605dE39OXMkTUlyKp1JcTDtWXBXPVl/jX1ZfsPNaX4qHWl9kG15fSa9eXy9DXl8Y12JfCmtiXwP/Yl75k2Ze+ydmXvy7al8KT2pfG+NqXy13bl9HC25fZJ9yX4Yzcl+zx3Jf3Vt2XBLzdlxEh3pchht6XMevel0NQ35dWtd+Xahrgl4B/4JeW5OCXrknhl8iu4ZfiE+KX/njilxve4pc6Q+OXWajjl3oN5JeccuSXwNfkl+Q85ZcKouWXMgfml1ps5peE0eaXrzbnl9ub55cJAeiXOGbol2jL6JeZMOmXzJXplwD76Zc1YOqXa8Xql6Mq65fcj+uXFvXrl1Fa7JeOv+yXzCTtlwuK7ZdM7+2XjlTul9G57pcVH++XW4Tvl6Hp75fpTvCXM7Twl30Z8ZfJfvGXFuTxl2VJ8pe1rvKXBRTzl1h585er3vOXAET0l1ap9JetDvWXBXT1l1/Z9Ze6PvaXFqT2l3QJ95fTbveXM9T3l5Q5+Jf3nviXWgT5l8Bp+Zcmz/mXjjT6l/aZ+pdg//qXzGT7lzjK+5emL/yXFpX8l4b6/Jf4X/2Xa8X9l98q/pdUkP6Xy/X+l0Nb/5e8wP+XGxMAnNlFAJyXeACcV6sAnBbeAJzXEAGcmEMBnFl2AZwcqQGc39sBnKIOApxmQQKcK3QCnPCmApy22QKcfQwDnEQ/A5wMcgOc1aQDnJ7XA5xoCgScMj0EnP1vBJzJogScldUEnGIIBZwwOwWc/m0FnM2gBZyc0wWcbAYGnD05BpwObAac4J4GnLPRBpyGBAecWjcHnC5qB5wDnQec2c8HnK8CCJyGNQicXmgInDabCJwPzgic6AAJnMIzCZydZgmceJkJnFTMCZwx/wmcDjIKnOxkCpzLlwqcqsoKnIn9CpxqMAucS2MLnCyWC5wOyQuc8fsLnNUuDJy5YQycnpQMnIPHDJxp+gycTy0NnDdgDZwekw2cB8YNnPD4DZzaKw6cxF4OnK+RDpybxA6ch/cOnHQqD5xhXQ+cT5APnD7DD5wt9g+cHSkQnA5cEJz/jhCc8cEQnOP0EJzWJxGcyloRnL6NEZyzwBGcqfMRnJ8mEpyWWRKcjYwSnIW/Epx+8hKcdyUTnHFYE5xsixOcZ74TnGPxE5xfJBScXFcUnFqKFJxYvRScV/AUnFYjFZxXVhWcV4kVnFm8FZxb7xWcXSIWnGFVFpxkiBacabsWnG7uFpx0IRecelQXnIGHF5yJuhecke0XnJogGJyjUxicrYYYnLi5GJzD7Biczx8ZnNxSGZzphRmc97gZnAXsGZwVHxqcJFIanDSFGpxFuBqcV+sanGkeG5x8URucj4QbnKO3G5y46huczR0cnONQHJz6gxycEbccnCjqHJxBHR2cWlAdnHODHZyOth2cqOkdnMQcHpzgTx6c/YIenBq2Hpw46R6cVxwfnHZPH5yWgh+ctrUfnNfoH5z5GyCcG08gnD6CIJxhtSCcheggnKobIZzQTiGc9oEhnBy1IZxD6CGcaxsinJROIpy9gSKc5rQinBHoIpw8GyOcZ04jnJOBI5zAtCOc7ucjnBwbJJxKTiSceYEknKm0JJza5yScCxslnD1OJZxvgSWcorQlnNbnJZwKGyacP04mnHSBJpyqtCac4ecmnBgbJ5xQTieciIEnnMK0J5z75yecNhsonHFOKJysgSic6LQonCXoKJxjGymcoU4pnN+BKZwftSmcX+gpnJ8bKpzgTiqcIoIqnGS1Kpyn6Cqc6xsrnC9PK5x0giucurUrnADpK5xGHCycjk8snNaCLJwetiycZ+ksnLEcLZz7Ty2cRoMtnJK2LZze6S2cKx0unHhQLpzGgy6cFbcunGTqLpy0HS+cBVEvnFaEL5yoty+c+uovnE0eMJyhUTCc9YQwnEq4MJyf6zCc9R4xnExSMZyjhTGc+7gxnFTsMZytHzKcBlMynGGGMpy8uTKcF+0ynHQgM5zQUzOcLocznIy6M5zq7TOcSiE0nKpUNJwKiDSca7s0nM3uNJwvIjWcklU1nPaINZxavDWcv+81nCQjNpyKVjac8Yk2nFi9NpzA8DacKCQ3nJFXN5z7ijecZb43nNDxN5w8JTicqFg4nBSMOJyCvzic8PI4nF4mOZzNWTmcPY05nK7AOZwf9DmckCc6nAJbOpx1jjqc6cE6nF31OpzSKDucR1w7nL2PO5wzwzucqvY7nCIqPJyaXTycE5E8nI3EPJwH+Dycgis9nP1ePZx5kj2c9sU9nHP5PZzxLD6ccGA+nO+TPpxuxz6c7/o+nG8uP5zxYT+cc5U/nPbIP5x5/D+c/S9AnIJjQJwHl0CcjcpAnBP+QJyaMUGcImVBnKqYQZwzzEGcvP9BnEYzQpzRZkKcXJpCnOjNQpx0AUOcATVDnI9oQ5wdnEOcrM9DnDwDRJzMNkScXWpEnO6dRJyA0UScEwVFnKY4RZw5bEWczp9FnGPTRZz4BkacjzpGnCVuRpy9oUacVdVGnO4IR5yHPEecIXBHnLujR5xW10ec8gpInI4+SJwrckicyaVInGfZSJwFDUmcpUBJnEV0SZzlp0mchttJnCgPSpzKQkqcbXZKnBGqSpy13UqcWhFLnP9ES5yleEucTKxLnPPfS5ybE0ycQ0dMnOx6TJyWrkycQOJMnOsVTZyXSU2cQ31NnO+wTZyd5E2cSxhOnPlLTpyof06cWLNOnAjnTpy5Gk+ca05PnB2CT5zPtU+cg+lPnDcdUJzrUFCcoIRQnFa4UJwN7FCcxB9RnHtTUZwzh1Gc7LpRnKXuUZxfIlKcGlZSnNWJUpyRvVKcTfFSnAolU5zIWFOchoxTnEXAU5wF9FOcxSdUnIVbVJxGj1ScCMNUnMv2VJyOKlWcUV5VnBaSVZzbxVWcoPlVnGYtVpwtYVac9JRWnLzIVpyE/FacTjBXnBdkV5zil1ecrMtXnHj/V5xEM1icEWdYnN6aWJyszlicewJZnEo2WZwZalmc6p1ZnLvRWZyMBVqcXjlanDFtWpwEoVqc2NRanK0IW5yCPFucWHBbnC6kW5wF2Fuc3QtcnLU/XJyOc1ycZ6dcnEHbXJwbD12c90JdnNJ2XZyvql2cjN5dnGkSXpxHRl6cJnpenAauXpzm4V6cxhVfnKdJX5yJfV+cbLFfnE/lX5wyGWCcFk1gnPuAYJzhtGCcx+hgnK0cYZyUUGGcfIRhnGS4YZxN7GGcNyBinCFUYpwMiGKc97tinOPvYpzQI2OcvVdjnKuLY5yZv2OciPNjnHgnZJxoW2ScWY9knErDZJw892ScLytlnCJfZZwWk2WcCsdlnP/6ZZz1Lmac62JmnOKWZpzZymac0f5mnMoyZ5zDZmecvZpnnLfOZ5yyAmicrjZonKpqaJynnmicpNJonKIGaZyhOmmcoG5pnKCiaZyg1mmcoQpqnKM+apylcmqcqKZqnKvaapyvDmucs0JrnLl2a5y+qmucxd5rnMwSbJzTRmyc23psnOSubJzu4myc9xZtnAJLbZwNf22cGbNtnCXnbZwyG26cQE9unE6Dbpxct26cbOtunHwfb5yMU2+cnYdvnK+7b5zB72+c1CNwnOhXcJz8i3CcEcBwnCb0cJw8KHGcUlxxnGmQcZyBxHGcmfhxnLIscpzMYHKc5pRynADJcpwb/XKcNzFznFRlc5xxmXOcjs1znK0BdJzLNXSc62l0nAuedJws0nScTQZ1nG86dZyRbnWctKJ1nNfWdZz8CnacID92nEZzdpxsp3acktt2nLoPd5zhQ3ecCnh3nDOsd5xc4HechhR4nLFIeJzcfHicCLF4nDXleJxiGXmcj015nL6BeZzttXmcHOp5nEweepx9UnqcroZ6nOC6epwS73qcRiN7nHlXe5yti3uc4r97nBj0e5xOKHychFx8nLuQfJzzxHycLPl8nGUtfZyeYX2c2JV9nBPKfZxO/n2cijJ+nMdmfpwEm36cQs9+nIADf5y/N3+c/2t/nD+gf5x/1H+cwQiAnAI9gJxFcYCciKWAnMzZgJwQDoGcVUKBnJp2gZzgqoGcJ9+BnG4Tgpy2R4Kc/nuCnEewgpyR5IKc2xiDnCZNg5xxgYOcvbWDnArqg5xXHoScpFKEnPOGhJxCu4Scke+EnOEjhZwyWIWcg4yFnNXAhZwn9YWceimGnM5dhpwikoacd8aGnMz6hpwiL4eceWOHnNCXh5wozIecgACInNk0iJwzaYicjZ2InOjRiJxDBomcnzqJnPtuiZxYo4mctteJnBQMipxzQIqc03SKnDOpipyT3Yqc9RGLnFZGi5y5eoucHK+LnH/ji5zjF4ycSEyMnK2AjJwTtYyceumMnOEdjZxJUo2csYaNnBq7jZyD742c7SOOnFhYjpzDjI6cL8GOnJv1jpwIKo+cdl6PnOSSj5xTx4+cwvuPnDIwkJyjZJCcFJmQnIbNkJz4AZGcazaRnN5qkZxSn5Gcx9ORnDwIkpyyPJKcKHGSnJ+lkpwX2pKcjw6TnAhDk5yBd5Oc+6uTnHbgk5zxFJScbEmUnOl9lJxmspSc4+aUnGEblZzgT5WcX4SVnN+4lZxf7ZWc4CGWnGJWlpzkipacZ7+WnOrzlpxuKJec8lyXnHeRl5z9xZecg/qXnAovmJySY5icGpiYnKLMmJwsAZmctTWZnEBqmZzLnpmcVtOZnOIHmpxvPJqc/HCanIqlmpwZ2pqcqA6bnDdDm5zId5ucWKybnOrgm5x8FZycDkqcnKF+nJw1s5ycyuecnF4cnZz0UJ2cioWdnCG6nZy47p2cUCOenOhXnpyBjJ6cG8GenLX1npxQKp+c616fnIeTn5wkyJ+cwfyfnF4xoJz9ZaCcm5qgnDvPoJzbA6GcezihnB1toZy+oaGcYdahnAQLopynP6KcS3SinPCoopyV3aKcOxKjnOJGo5yJe6OcMLCjnNjko5yBGaScK06knNWCpJx/t6ScKuyknNYgpZyCVaWcL4qlnN2+pZyL86WcOSimnOhcppyYkaacSMamnPn6ppyrL6ecXWSnnBCZp5zDzaecdwKonCs3qJzga6iclqConEzVqJwDCqmcuj6pnHJzqZwrqKmc5NypnJ0RqpxYRqqcE3uqnM6vqpyK5KqcRxmrnAROq5zCgqucgLernD/sq5z+IKycvlWsnH+KrJxAv6ycAvSsnMUorZyIXa2cS5KtnA/HrZzU+62cmTCunF9lrpwmmq6c7c6unLQDr5x9OK+cRW2vnA+ir5zZ1q+cowuwnG5AsJw6dbCcBqqwnNPesJyhE7Gcb0ixnD19sZwMsrGc3OaxnK0bspx9ULKcT4WynCG6spz07rKcxyOznJtYs5xvjbOcRMKznBr3s5zwK7Scx2C0nJ6VtJx2yrScTv+0nCc0tZwBabWc2521nLbStZyRB7acbTy2nEpxtpwnpracBdu2nOMPt5zCRLecoXm3nIGut5xi47ecQxi4nCRNuJwHgric6ra4nM3ruJyxILmcllW5nHuKuZxhv7mcR/S5nC4pupwWXrqc/pK6nObHupzQ/LqcuTG7nKRmu5yPm7ucetC7nGYFvJxTOrycQG+8nC6kvJwd2bycDA69nPtCvZzsd72c3Ky9nM7hvZzAFr6csku+nKWAvpyZtb6cjeq+nIIfv5x3VL+cbYm/nGS+v5xb87+cUijAnEtdwJxDksCcPcfAnDf8wJwxMcGcLWbBnCibwZwl0MGcIQXCnB86wpwdb8KcG6TCnBvZwpwaDsOcG0PDnBx4w5wdrcOcH+LDnCIXxJwlTMScKYHEnC22xJwy68ScOCDFnD5VxZxEisWcTL/FnFP0xZxcKcacZV7GnG6Txpx4yMacg/3GnI4yx5yaZ8ecp5zHnLTRx5zBBsiczzvInN5wyJztpcic/drInA0QyZweRcmcMHrJnEKvyZxV5MmcaBnKnHxOypyRg8qcprjKnLvtypzRIsuc6FfLnACNy5wXwsucMPfLnEkszJxjYcycfZbMnJjLzJyzAM2czzXNnOtqzZwIoM2cJtXNnEQKzpxjP86cgnTOnKKpzpzD3s6c5BPPnAZJz5wofs+cS7PPnG7oz5ySHdCctlLQnNuH0JwBvdCcJ/LQnE4n0Zx2XNGcnpHRnMbG0Zzv+9GcGTHSnENm0pxum9KcmdDSnMUF05zyOtOcH3DTnE2l05x72tOcqg/UnNlE1JwJetScOq/UnGvk1JycGdWcz07VnAGE1Zw1udWcae7VnJ0j1pzSWNacCI7WnD7D1px1+NacrS3XnOVi15wdmNecVs3XnJAC2JzKN9icBW3YnECi2Jx819icuQzZnPZB2Zw0d9mccqzZnLHh2ZzwFtqcMEzanHGB2pyyttqc9OvanDYh25x5VtucvIvbnADB25xE9tuciivcnM9g3JwWltycXMvcnKQA3ZzsNd2cNGvdnH2g3ZzH1d2cEQvenFxA3pyndd6c86renEDg3pyNFd+c20rfnCmA35x4td+cx+rfnBcg4JxnVeCcuIrgnArA4Jxc9eCcryrhnAJg4ZxWleGcq8rhnAAA4pxVNeKcrGrinAKg4pxa1eKcsgrjnApA45xjdeOcvarjnBfg45xyFeSczUrknCmA5JyFteSc4urknEAg5ZyeVeWc/YrlnFzA5Zy89eWcHCvmnH1g5pzfleacQcvmnKMA55wHNueca2vnnM+g55w01uecmQvonABB6JxmduiczavonDXh6JyeFumcB0zpnHCB6ZzatumcRezpnLAh6pwcV+qciIzqnPXB6pxi9+qc0CzrnD9i65yul+ucHs3rnI4C7Jz/N+yccW3snOOi7JxV2OycyA3tnDxD7ZyweO2cJa7tnJrj7ZwQGe6ch07unP6D7px2ue6c7u7unGck75zgWe+cWo/vnNXE75xQ+u+cyy/wnEdl8JzEmvCcQdDwnL8F8Zw+O/GcvXDxnDym8Zy92/GcPRHynL9G8pxAfPKcw7HynEbn8pzJHPOcTVLznNKH85xXvfOc3fLznGQo9JzqXfSccpP0nPrI9JyD/vScDDT1nJZp9Zwgn/Wcq9T1nDYK9pzCP/acT3X2nNyq9pxq4Pac+BX3nIdL95wWgfecprb3nDfs95zIIficWVf4nOyM+Jx+wvicEvj4nKYt+Zw6Y/mcz5j5nGXO+Zz7A/qckjn6nClv+pzBpPqcWdr6nPIP+5yMRfucJnv7nMGw+5xc5vuc+Bv8nJRR/Jwxh/yczrz8nGzy/JwLKP2cql39nEqT/ZzqyP2ci/79nCw0/pzOaf6ccZ/+nBTV/py4Cv+cXED/nAF2/5ymq/+cTOH/nPMWAJ2aTACdQYIAnem3AJ2S7QCdOyMBneVYAZ2QjgGdO8QBneb5AZ2SLwKdP2UCneyaAp2a0AKdSAYDnfc7A52ncQOdV6cDnQfdA525EgSdakgEnR1+BJ3PswSdg+kEnTcfBZ3rVAWdoIoFnVbABZ0M9gWdwysGnXphBp0ylwad68wGnaQCB51dOAedF24HndKjB52N2QedSQ8InQZFCJ3CegidgLAInT7mCJ39GwmdvFEJnXyHCZ08vQmd/fIJnb4oCp2AXgqdQ5QKnQbKCp3J/wqdjjULnVJrC50YoQud3tYLnaQMDJ1rQgydM3gMnfutDJ3E4wydjRkNnQV/gwkzT1ALzU90DQAAABAK/gYTZp6gFpmf6BrNT3QNM09QCwV/gwkAAAAI5ie6BponqAWDv8EEAAAABPMTXQPNE9QCwd9gAgAAAAL6ia4B5glqAeFvMAEzT1ALAAAACJonqAUAAAAEzRPUAgAAAALmCWoBAAAAAfMEtQAAAIAAeoJaAAAAQAA9QS0AAAAgAJ6gFgAAAAAAL5ZhA3Q92wUAAAAIjMIkCtFpngwAAAAQAAAAAAB9AAAA+gAAAHcBAAD0AQAAcQIAAO4CAABrAwAA6AMAAGUEAADiBAAAXwUAANwFAABZBgAA1gYAAAAAAAB9AACAuwAAwNoAAAD6AACAOAEAAHcBAIC1AQAA9AEAAHECAADuAgAAawMAAOgDAADiBAAA3AUAAAAAAAB9AABAnAAAgLsAAMDaAAAA+gAAgDgBAAB3AQCAtQEAAPQBAABxAgAA7gIAAGsDAADoAwAA4gQAAAAAAAB9AACAuwAAwNoAAAD6AACAOAEAAHcBAIC1AQAA9AEAgDICAABxAgCArwIAAO4CAABrAwAA6AMAAAAAAEAfAACAPgAAwF0AAAB9AABAnAAAgLsAAMDaAAAA+gAAgDgBAAB3AQCAtQEAAPQBAIAyAgAAcQIARKwAAIC7AAAAfQAAeAAAAAJQAQAAAAAAAAAAAAAAAAAAAAAAaAAAAAEAAAABAAAABwAAAAAAAAAAAAAAAQAAAP////9BxDQAQdAAABHEAAAD4gAACf0AAAIoAAACIgAAByIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfoAABXbAAAFyQAAFdUAAAXPAAAWMwAABicAABKbAAAUwAAAFJkAABSTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXVAAAFzwAAFdUAAAXPAAAV1QAABc8AAAB3AQCIWAEAAPoAAIC7AABErAAAAH0AAMBdAAAiVgAAgD4AAOAuAAARKwAAQB8AALYcAAAAAAAAAAAAAAAAAAABAAAAAAAAAG3JAQAAAAAACgAAAAAAAAAAAAAAAgAAAAAAAAB4yQEAAAAAAAoAAAAAAAAAAAAAAAMAAAAAAAAAg8kBAAAAAAACAAAAAAAAAAAAAAAEAAAAAAAAAIjJAQAAAAAACgAAAAAAAAAAAAAABQAAAAAAAACNyQEAAAAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAkskBAAAAAAAKAAAAAAAAAAAAAAAHAAAAAAAAAJfJAQAAAAAAAwAAAGiMAQAAAAAACAAAAAAAAACdyQEAAAAAAAMAAAAAAAAAAAAAAAkAAAAAAAAApMkBAAAAAAAFAAAAAAAAAAAAAAAKAAAAAAAAAKrJAQAAAAAAAwAAAAAAAAAAAAAACwAAAAAAAACvyQEAAAAAAAcAAAAAAAAAAAAAAAwAAAAAAAAAtskBAAAAAAAKAAAAAAAAAAAAAAANAAAAAAAAALzJAQAAAAAABQAAAAAAAAAAAAAADgAAAAAAAADFyQEAAAAAAAIAAAAAAAAAAAAAAA8AAAAAAAAAz8kBAAAAAAACAAAAAAAAAAAAAAAQAAAAAAAAANnJAQAAAAAAAgAAAAAAAAAAAAAAEQAAAAAAAADjyQEAAAAAAAIAAAAAAAAAAAAAABIAAAAAAAAA6MkBAAAAAAACAAAAAAAAAAAAAAATAAAAAAAAAO3JAQAAAAAACgAAAAAAAAAAAAAAFAAAAAAAAADzyQEAAAAAAAoAAAAAAAAAAAAAABUAAAAAAAAA+ckBAAAAAAACAAAAAAAAAAAAAAAWAAAAAAAAAP7JAQAAAAAAAgAAAAAAAAAAAAAAFwAAAAAAAAADygEAAAAAAAoAAAAAAAAAAAAAABgAAAAAAAAACMoBAAAAAAADAAAAAAAAAAAAAAAZAAAAAAAAABDKAQAAAAAABQAAAAAAAAAAAAAAGgAAAAAAAAAYygEAAAAAAAMAAAAAAAAAAAAAABsAAAAAAAAAgOYBAAAAAAAOAAAAAAAAAAAAAAAcAAAAAAAAAB3KAQAAAAAAAgAAAAAAAAAAAAAAHQAAAAAAAAAkygEAAAAAAAIAAAAAAAAAAAAAAB4AAAAAAAAAKMoBAAAAAAACAAAAAAAAAAAAAAAfAAAAAAAAAC/KAQAAAAAAAwAAAAAAAAAAAAAAIAAAAAAAAAA0ygEAAAAAAAMAAAAAAAAAAAAAACEAAAAAAAAAOcoBAAAAAAAEAAAAAAAAAAAAAAAiAAAAAAAAAD7KAQAAAAAAAgAAAAAAAAAAAAAAIwAAAAAAAABCygEAAAAAAAMAAAAAAAAAAAAAACQAAAAAAAAAR8oBAAAAAAADAAAAAAAAAAAAAAAlAAAAAAAAAEzKAQAAAAAAAwAAAAAAAAAAAAAAJgAAAAAAAABRygEAAAAAAAIAAAAAAAAAAAAAACcAAAAAAAAAVcoBAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAGTKAQAAAAAAAgAAAAAAAAAAAAAAKQAAAAAAAABsygEAAAAAAAIAAAAAAAAAAAAAACoAAAAAAAAAdMoBAAAAAAACAAAAAAAAAAAAAAArAAAAAAAAAHnKAQAAAAAAAgAAAAAAAAAAAAAALAAAAAAAAACBygEAAAAAAAIAAAAAAAAAAAAAAC0AAAAAAAAAiMoBAAAAAAAEAAAAAAAAAAAAAAAuAAAAAAAAAI7KAQAAAAAAAgAAAAAAAAAAAAAALwAAAAAAAACXygEAAAAAAAIAAAAAAAAAAAAAADAAAAAAAAAAncoBAAAAAAAFAAAAAAAAAAAAAAAxAAAAAAAAAKLKAQAAAAAAAgAAAAAAAAAAAAAAMgAAAAAAAACmygEAAAAAAAQAAAAAAAAAAAAAADMAAAAAAAAAq8oBAAAAAAACAAAAAAAAAAAAAAA0AAAAAAAAALfKAQAAAAAAAgAAAAAAAAAAAAAANQAAAAAAAADAygEAAAAAAAUAAAAAAAAAAAAAADYAAAAAAAAAxcoBAAAAAAAFAAAAAAAAAAAAAAA3AAAAAAAAAMrKAQAAAAAABAAAAAAAAAAAAAAAOAAAAAAAAADQygEAAAAAAAQAAAAAAAAAAAAAADkAAAAAAAAA1coBAAAAAAACAAAAAAAAAAAAAAA6AAAAAAAAANrKAQAAAAAABQAAAAAAAAAAAAAAOwAAAAAAAADgygEAAAAAAAMAAAAAAAAAAAAAADwAAAAAAAAA5coBAAAAAAACAAAAAAAAAAAAAAA9AAAAAAAAAOrKAQAAAAAABAAAAHCMAQAAAAAAPgAAAAAAAADuygEAAAAAAAUAAAAAAAAAAAAAAD8AAAAAAAAA8soBAAAAAAAFAAAAAAAAAAAAAABAAAAAAAAAAPbKAQAAAAAABQAAAAAAAAAAAAAAQQAAAAAAAAD6ygEAAAAAAAUAAAAAAAAAAAAAAEIAAAAAAAAAAcsBAAAAAAAFAAAAeIwBAAAAAABDAAAAAAAAAAXLAQAAAAAABQAAAAAAAAAAAAAARAAAAAAAAAANywEAAAAAAAoAAAAAAAAAAAAAAEUAAAAAAAAAEssBAAAAAAAKAAAAAAAAAAAAAABGAAAAAAAAABfLAQAAAAAACgAAAAAAAAAAAAAARwAAAAAAAAAbywEAAAAAAAoAAAAAAAAAAAAAAEgAAAAAAAAAIMsBAAAAAAAFAAAAAAAAAAAAAABJAAAAAAAAACXLAQAAAAAAAwAAAAAAAAAAAAAASgAAAAAAAAAqywEAAAAAAAQAAAAAAAAAAAAAAEsAAAAAAAAAL8sBAAAAAAACAAAAAAAAAAAAAABMAAAAAAAAADbLAQAAAAAABQAAAAAAAAAAAAAATQAAAAAAAAA8ywEAAAAAAAIAAAAAAAAAAAAAAE4AAAAAAAAASMsBAAAAAAAFAAAAgIwBAAAAAABPAAAAAAAAAEzLAQAAAAAABAAAAAAAAAAAAAAAUAAAAAAAAABRywEAAAAAAAIAAAAAAAAAAAAAAFEAAAAAAAAAWcsBAAAAAAAEAAAAAAAAAAAAAABSAAAAAAAAAF7LAQAAAAAAAgAAAAAAAAAAAAAAUwAAAAAAAABiywEAAAAAAAIAAAAAAAAAAAAAAFQAAAAAAAAAbcsBAAAAAAACAAAAAAAAAAAAAABVAAAAAAAAAHHLAQAAAAAAAgAAAAAAAAAAAAAAVgAAAAAAAAB2ywEAAAAAAAQAAAAAAAAAAAAAAFcAAAAAAAAAfssBAAAAAAAKAAAAAAAAAAAAAABYAAAAAAAAAIPLAQAAAAAABwAAAIiMAQAAAAAAWQAAAAAAAACMywEAAAAAAAQAAAAAAAAAAAAAAFoAAAAAAAAAkcsBAAAAAAACAAAAAAAAAAAAAABbAAAAAAAAAJXLAQAAAAAAAgAAAAAAAAAAAAAAXAAAAAAAAACZywEAAAAAAAIAAAAAAAAAAAAAAF0AAAAAAAAAnssBAAAAAAAFAAAAkIwBAAAAAABeAAAAAAAAAKTLAQAAAAAAAgAAAAAAAAAAAAAAXwAAAAAAAACwywEAAAAAAAIAAAAAAAAAAAAAAGAAAAAAAAAAwMsBAAAAAAAFAAAAnIwBAAAAAABhAAAAAAAAAMXLAQAAAAAABAAAAKSMAQAAAAAAYgAAAAAAAADJywEAAAAAAAQAAAAAAAAAAAAAAGMAAAAAAAAAzcsBAAAAAAADAAAAAAAAAAAAAABkAAAAAAAAANPLAQAAAAAAAwAAAAAAAAAAAAAAZQAAAAAAAADXywEAAAAAAAUAAAAAAAAAAAAAAGYAAAAAAAAA28sBAAAAAAACAAAAAAAAAAAAAABnAAAAAAAAAN/LAQAAAAAAAgAAAAAAAAAAAAAAaAAAAAAAAADrywEAAAAAAAMAAAAAAAAAAAAAAGkAAAAAAAAA78sBAAAAAAADAAAAAAAAAAAAAABqAAAAAAAAAPPLAQAAAAAAAgAAAAAAAAAAAAAAawAAAAAAAAAFegIAAAAAAAMAAAAAAAAAAAAAAGwAAAAAAAAA+MsBAAAAAAACAAAAAAAAAAAAAABtAAAAAAAAAPvLAQAAAAAABQAAAKyMAQAAAAAAbgAAAAAAAAD/ywEAAAAAAAUAAAAAAAAAAAAAAG8AAAAAAAAAB8wBAAAAAAACAAAAAAAAAAAAAABwAAAAAAAAAA7MAQAAAAAAAgAAAAAAAAAAAAAAcQAAAAAAAAAVzAEAAAAAAAIAAAAAAAAAAAAAAHIAAAAAAAAAG8wBAAAAAAADAAAAAAAAAAAAAABzAAAAAAAAAB/MAQAAAAAAAgAAAAAAAAAAAAAAdAAAAAAAAAApzAEAAAAAAA4AAAAAAAAAAAAAAHUAAAAAAAAAL8wBAAAAAAACAAAAAAAAAAAAAAB2AAAAAAAAADPMAQAAAAAAAgAAAAAAAAAAAAAAdwAAAAAAAAA3zAEAAAAAAAIAAAAAAAAAAAAAAHgAAAAAAAAARMwBAAAAAAACAAAAAAAAAAAAAAB5AAAAAAAAAEjMAQAAAAAAAgAAAAAAAAAAAAAAegAAAAAAAABMzAEAAAAAAAIAAAAAAAAAAAAAAHsAAAAAAAAAUMwBAAAAAAADAAAAAAAAAAAAAAB8AAAAAAAAAFXMAQAAAAAAAwAAAAAAAAAAAAAAfQAAAAAAAABbzAEAAAAAAAUAAAAAAAAAAAAAAH4AAAAAAAAAYcwBAAAAAAADAAAAAAAAAAAAAAB/AAAAAAAAAGXMAQAAAAAABQAAAAAAAAAAAAAAgAAAAAAAAABqzAEAAAAAAAUAAAAAAAAAAAAAAIEAAAAAAAAAbswBAAAAAAACAAAAAAAAAAAAAACCAAAAAAAAAHLMAQAAAAAABQAAAAAAAAAAAAAAgwAAAAAAAAB3zAEAAAAAAAIAAAAAAAAAAAAAAIQAAAAAAAAAgMwBAAAAAAACAAAAAAAAAAAAAACFAAAAAAAAAIvMAQAAAAAABQAAAAAAAAAAAAAAhgAAAAAAAACQzAEAAAAAAAIAAAAAAAAAAAAAAIcAAAAAAAAAlMwBAAAAAAACAAAAAAAAAAAAAACIAAAAAAAAAJ7MAQAAAAAAAgAAAAAAAAAAAAAAiQAAAAAAAACnzAEAAAAAAAIAAAAAAAAAAAAAAIoAAAAAAAAArMwBAAAAAAACAAAAAAAAAAAAAACLAAAAAAAAALDMAQAAAAAAAgAAAAAAAAAAAAAAjAAAAAAAAAC0zAEAAAAAAAMAAAAAAAAAAAAAAI0AAAAAAAAAu8wBAAAAAAACAAAAAAAAAAAAAACOAAAAAAAAAMDMAQAAAAAAAwAAAAAAAAAAAAAAjwAAAAAAAADKzAEAAAAAAAMAAAAAAAAAAAAAAJAAAAAAAAAA1cwBAAAAAAAFAAAAAAAAAAAAAACRAAAAAAAAANrMAQAAAAAAAgAAAAAAAAAAAAAAkgAAAAAAAADgzAEAAAAAAAUAAAAAAAAAAAAAAJMAAAAAAAAA6cwBAAAAAAADAAAAAAAAAAAAAACUAAAAAAAAAPDMAQAAAAAAAwAAAAAAAAAAAAAAlQAAAAAAAADzzAEAAAAAAAIAAAAAAAAAAAAAAJYAAAAAAAAA98wBAAAAAAACAAAAAAAAAAAAAACXAAAAAAAAAAHNAQAAAAAAAgAAAAAAAAAAAAAAmAAAAAAAAAAKzQEAAAAAAAUAAAAAAAAAAAAAAJkAAAAAAAAAEs0BAAAAAAAEAAAAAAAAAAAAAACaAAAAAAAAABzNAQAAAAAABQAAAAAAAAAAAAAAmwAAAAAAAAAhzQEAAAAAAAUAAAAAAAAAAAAAAJwAAAAAAAAAKM0BAAAAAAAFAAAAAAAAAAAAAACdAAAAAAAAAC3NAQAAAAAABQAAALSMAQAAAAAAngAAAAAAAAAxzQEAAAAAAAMAAAAAAAAAAAAAAJ8AAAAAAAAANs0BAAAAAAAFAAAAvIwBAAAAAACgAAAAAAAAADrNAQAAAAAABAAAAAAAAAAAAAAAoQAAAAAAAABEzQEAAAAAAAIAAAAAAAAAAAAAAKIAAAAAAAAASc0BAAAAAAACAAAAAAAAAAAAAACjAAAAAAAAAE7NAQAAAAAAAgAAAAAAAAAAAAAApAAAAAAAAABUzQEAAAAAAAIAAAAAAAAAAAAAAKUAAAAAAAAAWc0BAAAAAAAFAAAAAAAAAAAAAACmAAAAAAAAAF7NAQAAAAAAAwAAAAAAAAAAAAAApwAAAAAAAABjzQEAAAAAAAIAAAAAAAAAAAAAAKgAAAAAAAAArXMCAAAAAAADAAAAAAAAAAAAAACpAAAAAAAAAGfNAQAAAAAAAgAAAAAAAAAAAAAAqgAAAAAAAABxzQEAAAAAAAIAAAAAAAAAAAAAAKsAAAAAAAAAdc0BAAAAAAAHAAAAxIwBAAAAAACsAAAAAAAAAHrNAQAAAAAAAgAAAAAAAAAAAAAArQAAAAAAAACEzQEAAAAAAAoAAAAAAAAAAAAAAK4AAAAAAAAAic0BAAAAAAACAAAAAAAAAAAAAACvAAAAAAAAAI3NAQAAAAAABQAAAAAAAAAAAAAAsAAAAAAAAACXzQEAAAAAAAUAAAAAAAAAAAAAALEAAAAAAAAAo80BAAAAAAACAAAAAAAAAAAAAACyAAAAAAAAAK3NAQAAAAAABwAAAAAAAAAAAAAAswAAAAAAAACxzQEAAAAAAAIAAAAAAAAAAAAAALQAAAAAAAAAtc0BAAAAAAACAAAAAAAAAAAAAAC1AAAAAAAAALrNAQAAAAAABQAAAAAAAAAAAAAAtgAAAAAAAADBzQEAAAAAAAMAAAAAAAAAAAAAALcAAAAAAAAAxs0BAAAAAAADAAAAAAAAAAAAAAC4AAAAAAAAAMvNAQAAAAAAAwAAAAAAAAAAAAAAuQAAAAAAAADPzQEAAAAAAAIAAAAAAAAAAAAAALoAAAAAAAAA1M0BAAAAAAADAAAAAAAAAAAAAAC7AAAAAAAAANvNAQAAAAAAAwAAAAAAAAAAAAAAvAAAAAAAAADfzQEAAAAAAAcAAAAAAAAAAAAAAL0AAAAAAAAA480BAAAAAAADAAAAAAAAAAAAAAC+AAAAAAAAAOfNAQAAAAAABAAAAAAAAAAAAAAAvwAAAAAAAAD0zQEAAAAAAAQAAAAAAAAAAAAAAACAAAAAAAAA+c0BAAAAAAAFAAAAAAAAAAAAAAABgAAAAAAAAP7NAQAAAAAABQAAAAAAAAAAAAAAAoAAAAAAAAADzgEAAAAAAAUAAAAAAAAAAAAAAAOAAAAAAAAACM4BAAAAAAAFAAAAAAAAAAAAAAAEgAAAAAAAAA3OAQAAAAAABQAAAAAAAAAAAAAABYAAAAAAAAASzgEAAAAAAAUAAAAAAAAAAAAAAAaAAAAAAAAAHc4BAAAAAAAFAAAAAAAAAAAAAAAHgAAAAAAAACLOAQAAAAAABQAAAAAAAAAAAAAACIAAAAAAAAAnzgEAAAAAAAUAAAAAAAAAAAAAAAmAAAAAAAAALM4BAAAAAAAAAAAAAAAAAAAAAAAKgAAAAAAAADHOAQAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAA2zgEAAAAAAAMAAAAAAAAAAAAAAAyAAAAAAAAAPM4BAAAAAAAGAAAAAAAAAAAAAAANgAAAAAAAAEHOAQAAAAAAAAAAAAAAAAAAAAAADoAAAAAAAABJzgEAAAAAAAQAAADMjAEAAAAAAA+AAAAAAAAATs4BAAAAAAAGAAAAAAAAAAAAAAAQgAAAAAAAAFTOAQAAAAAAAgAAAAAAAAAAAAAAEYAAAAAAAABZzgEAAAAAAAIAAAAAAAAAAAAAABKAAAAAAAAAZ84BAAAAAAAFAAAAAAAAAAAAAAATgAAAAAAAAGzOAQAAAAAABQAAAAAAAAAAAAAAFIAAAAAAAAB1zgEAAAAAAAUAAAAAAAAAAAAAABWAAAAAAAAAgM4BAAAAAAAFAAAAAAAAAAAAAAAWgAAAAAAAAITOAQAAAAAABQAAAAAAAAAAAAAAF4AAAAAAAACIzgEAAAAAAAMAAAAAAAAAAAAAABiAAAAAAAAAj84BAAAAAAADAAAAAAAAAAAAAAAZgAAAAAAAAJfOAQAAAAAABAAAAAAAAAAAAAAAGoAAAAAAAACczgEAAAAAAAYAAAAAAAAAAAAAABuAAAAAAAAAoc4BAAAAAAACAAAAAAAAAAAAAAAcgAAAAAAAAKzOAQAAAAAABQAAANSMAQAAAAAAHYAAAAAAAACwzgEAAAAAAAIAAAAAAAAAAAAAAB6AAAAAAAAAtM4BAAAAAAAFAAAAAAAAAAAAAAAfgAAAAAAAAL7OAQAAAAAABQAAAAAAAAAAAAAAIIAAAAAAAADDzgEAAAAAAAUAAAAAAAAAAAAAACGAAAAAAAAAyM4BAAAAAAAEAAAA3IwBAAAAAAAigAAAAAAAAMzOAQAAAAAAAgAAAAAAAAAAAAAAI4AAAAAAAADQzgEAAAAAAAUAAAAAAAAAAAAAAAAAAQABAAAA1c4BAAAAAAAEAAAAAAAAAAAAAAABAAEAAQAAAN/OAQAAAAAABAAAAAAAAAAAAAAAAgABAAEAAADpzgEAAAAAAAQAAAAAAAAAAAAAAAMAAQABAAAA884BAAAAAAAEAAAAAAAAAAAAAAAEAAEAAQAAAP3OAQAAAAAABAAAAAAAAAAAAAAABQABAAEAAAAEzwEAAAAAAAQAAAAAAAAAAAAAAAYAAQABAAAAC88BAAAAAAACAAAAAAAAAAAAAAAHAAEAAQAAABXPAQAAAAAAAgAAAAAAAAAAAAAACAABAAEAAAAezwEAAAAAAAQAAAAAAAAAAAAAAAkAAQABAAAAKM8BAAAAAAAEAAAAAAAAAAAAAAAKAAEAAQAAADLPAQAAAAAABAAAAAAAAAAAAAAACwABAAEAAAA8zwEAAAAAAAQAAAAAAAAAAAAAAAwAAQABAAAARs8BAAAAAAAEAAAAAAAAAAAAAAANAAEAAQAAAFDPAQAAAAAABAAAAAAAAAAAAAAADgABAAEAAABazwEAAAAAAAQAAAAAAAAAAAAAAA8AAQABAAAAZM8BAAAAAAAEAAAAAAAAAAAAAAAQAAEAAQAAAG7PAQAAAAAABAAAAAAAAAAAAAAAEQABAAEAAAB6zwEAAAAAAAIAAAAAAAAAAAAAABIAAQABAAAAg88BAAAAAAAEAAAAAAAAAAAAAAATAAEAAQAAAJTPAQAAAAAABAAAAAAAAAAAAAAAFAABAAEAAACczwEAAAAAAAQAAAAAAAAAAAAAABUAAQABAAAAps8BAAAAAAAEAAAAAAAAAAAAAAAWAAEAAQAAALDPAQAAAAAABAAAAAAAAAAAAAAAFwABAAEAAAC6zwEAAAAAAAQAAAAAAAAAAAAAABgAAQABAAAAxM8BAAAAAAAEAAAAAAAAAAAAAAAZAAEAAQAAAM/PAQAAAAAABAAAAAAAAAAAAAAAGgABAAEAAADXzwEAAAAAAAQAAAAAAAAAAAAAABsAAQABAAAA3c8BAAAAAAAEAAAAAAAAAAAAAAAcAAEAAQAAAOvPAQAAAAAABAAAAAAAAAAAAAAAHQABAAEAAAD8zwEAAAAAAAQAAAAAAAAAAAAAAB4AAQABAAAADdABAAAAAAAEAAAAAAAAAAAAAAAACAEAAQAAAB7QAQAAAAAABAAAAAAAAAAAAAAAAQgBAAEAAAAo0AEAAAAAAAQAAAAAAAAAAAAAAAIIAQABAAAAMtABAAAAAAAEAAAAAAAAAAAAAAADCAEAAQAAADzQAQAAAAAABAAAAAAAAAAAAAAAABABAAEAAABG0AEAAAAAAAIAAAAAAAAAAAAAAAEQAQABAAAAU9ABAAAAAAACAAAAAAAAAAAAAAACEAEAAQAAAGHQAQAAAAAAAgAAAAAAAAAAAAAAAxABAAEAAABv0AEAAAAAAAIAAAAAAAAAAAAAAAQQAQABAAAAfdABAAAAAAACAAAAAAAAAAAAAAAFEAEAAQAAAIrQAQAAAAAAAgAAAAAAAAAAAAAABhABAAEAAACb0AEAAAAAAAIAAAAAAAAAAAAAAAcQAQABAAAApNABAAAAAAACAAAAAAAAAAAAAAAIEAEAAQAAAK7QAQAAAAAAAgAAAAAAAAAAAAAACRABAAEAAAC30AEAAAAAAAIAAAAAAAAAAAAAAAoQAQABAAAAwdABAAAAAAACAAAAAAAAAAAAAAALEAEAAQAAAMrQAQAAAAAAAgAAAAAAAAAAAAAADBABAAEAAADV0AEAAAAAAAIAAAAAAAAAAAAAAA0QAQABAAAA3tABAAAAAAACAAAAAAAAAAAAAAAOEAEAAQAAAOjQAQAAAAAAAgAAAAAAAAAAAAAADxABAAEAAAD10AEAAAAAAAIAAAAAAAAAAAAAABAQAQABAAAAA9EBAAAAAAACAAAAAAAAAAAAAAAREAEAAQAAABHRAQAAAAAAAgAAAAAAAAAAAAAAEhABAAEAAAAf0QEAAAAAAAIAAAAAAAAAAAAAABMQAQABAAAAKdEBAAAAAAACAAAAAAAAAAAAAAAUEAEAAQAAADfRAQAAAAAAAgAAAAAAAAAAAAAAFRABAAEAAABD0QEAAAAAAAIAAAAAAAAAAAAAABYQAQABAAAAT9EBAAAAAAACAAAAAAAAAAAAAAAXEAEAAQAAAFvRAQAAAAAAAgAAAAAAAAAAAAAAGBABAAEAAABt0QEAAAAAAAIAAAAAAAAAAAAAABkQAQABAAAAf9EBAAAAAAACAAAAAAAAAAAAAAAaEAEAAQAAAIzRAQAAAAAAAgAAAAAAAAAAAAAAGxABAAEAAACe0QEAAAAAAAIAAAAAAAAAAAAAABwQAQABAAAArNEBAAAAAAACAAAAAAAAAAAAAAAdEAEAAQAAALfRAQAAAAAAAgAAAAAAAAAAAAAAHhABAAEAAADF0QEAAAAAAAIAAAAAAAAAAAAAAAAYAQABAAAA0NEBAAAAAAACAAAAAAAAAAAAAAABGAEAAQAAANrRAQAAAAAAAgAAAAAAAAAAAAAAAhgBAAEAAADo0QEAAAAAAAIAAAAAAAAAAAAAAAMYAQABAAAA8tEBAAAAAAACAAAAAAAAAAAAAAAEGAEAAQAAAADSAQAAAAAAAgAAAAAAAAAAAAAABRgBAAEAAAAN0gEAAAAAAAIAAAAAAAAAAAAAAAYYAQABAAAAGtIBAAAAAAACAAAAAAAAAAAAAAAHGAEAAQAAACTSAQAAAAAAAgAAAAAAAAAAAAAACBgBAAEAAAAv0gEAAAAAAAIAAAAAAAAAAAAAAAkYAQABAAAAPtIBAAAAAAACAAAAAAAAAAAAAAAAIAEAAQAAAEnSAQAAAAAAAgAAAAAAAAAAAAAAASABAAEAAABQ0gEAAAAAAAIAAAAAAAAAAAAAAAAwAQABAAAAV9IBAAAAAAACAAAAAAAAAAAAAAABMAEAAQAAAF7SAQAAAAAAAgAAAAAAAAAAAAAAAEABAAEAAABl0gEAAAAAAAIAAAAAAAAAAAAAAAFAAQABAAAAbtIBAAAAAAACAAAAAAAAAAAAAAACQAEAAQAAAH3SAQAAAAAAAgAAAAAAAAAAAAAAA0ABAAEAAACG0gEAAAAAAAIAAAAAAAAAAAAAAABIAQABAAAAj9IBAAAAAAACAAAAAAAAAAAAAAABSAEAAQAAAJnSAQAAAAAAAgAAAAAAAAAAAAAAAFABAAEAAACm0gEAAAAAAAIAAAAAAAAAAAAAAAFQAQABAAAAqtIBAAAAAAACAAAAAAAAAAAAAAACUAEAAQAAAK7SAQAAAAAAAgAAAAAAAAAAAAAAA1ABAAEAAACy0gEAAAAAAAIAAAAAAAAAAAAAAARQAQABAAAAqIsCAAAAAAAGAAAAAAAAAAAAAAAFUAEAAQAAALbSAQAAAAAAAgAAAAAAAAAAAAAABlABAAEAAAC90gEAAAAAAAIAAAAAAAAAAAAAAAdQAQABAAAAxdIBAAAAAAACAAAAAAAAAAAAAAAIUAEAAQAAAMvSAQAAAAAAAgAAAAAAAAAAAAAACVABAAEAAADR0gEAAAAAAAIAAAAAAAAAAAAAAApQAQABAAAA19IBAAAAAAACAAAAAAAAAAAAAAALUAEAAQAAAN3SAQAAAAAAAgAAAAAAAAAAAAAADFABAAEAAADm0gEAAAAAAAUAAAAAAAAAAAAAAA1QAQABAAAA69IBAAAAAAACAAAAAAAAAAAAAAAOUAEAAQAAAPLSAQAAAAAAAgAAAAAAAAAAAAAAD1ABAAEAAAD50gEAAAAAAAQAAAAAAAAAAAAAABBQAQABAAAAAdMBAAAAAAAFAAAAAAAAAAAAAAARUAEAAQAAAAbTAQAAAAAAAgAAAAAAAAAAAAAAElABAAEAAAAU0wEAAAAAAAIAAAAAAAAAAAAAABNQAQABAAAAGNMBAAAAAAACAAAAAAAAAAAAAAAUUAEAAQAAAB3TAQAAAAAAAgAAAAAAAAAAAAAAFVABAAEAAAAi0wEAAAAAAAIAAAAAAAAAAAAAABZQAQABAAAALdMBAAAAAAAFAAAAAAAAAAAAAAAXUAEAAQAAADHTAQAAAAAAAgAAAAAAAAAAAAAAGFABAAEAAAA80wEAAAAAAAIAAAAAAAAAAAAAABlQAQABAAAAQtMBAAAAAAAHAAAAAAAAAAAAAAAaUAEAAQAAAErTAQAAAAAAAgAAAAAAAAAAAAAAG1ABAAEAAABW0wEAAAAAAAIAAAAAAAAAAAAAABxQAQABAAAAWtMBAAAAAAACAAAAAAAAAAAAAAAdUAEAAQAAAGTTAQAAAAAABAAAAAAAAAAAAAAAHlABAAEAAABo0wEAAAAAAAIAAAAAAAAAAAAAAB9QAQABAAAAb9MBAAAAAAACAAAAAAAAAAAAAAAgUAEAAQAAAHbTAQAAAAAABAAAAAAAAAAAAAAAIVABAAEAAAB60wEAAAAAAAIAAAAAAAAAAAAAACJQAQABAAAAhdMBAAAAAAACAAAAAAAAAAAAAAAjUAEAAQAAAI/TAQAAAAAAAgAAAAAAAAAAAAAAJFABAAEAAACV0wEAAAAAAAIAAAAAAAAAAAAAACVQAQABAAAAntMBAAAAAAACAAAAAAAAAAAAAAAmUAEAAQAAAKXTAQAAAAAABAAAAAAAAAAAAAAAJ1ABAAEAAACx0wEAAAAAAAIAAAAAAAAAAAAAAChQAQABAAAAudMBAAAAAAACAAAAAAAAAAAAAAApUAEAAQAAAL7TAQAAAAAAAgAAAAAAAAAAAAAAKlABAAEAAADD0wEAAAAAAAIAAAAAAAAAAAAAACtQAQABAAAAx9MBAAAAAAACAAAAAAAAAAAAAAAsUAEAAQAAAM7TAQAAAAAABAAAAAAAAAAAAAAALVABAAEAAADV0wEAAAAAAAQAAAAAAAAAAAAAAC5QAQABAAAA3NMBAAAAAAACAAAAAAAAAAAAAAAvUAEAAQAAAOPTAQAAAAAAAgAAAAAAAAAAAAAAMFABAAEAAADy0wEAAAAAAAIAAAAAAAAAAAAAADFQAQABAAAAANQBAAAAAAACAAAAAAAAAAAAAAAyUAEAAQAAAAnUAQAAAAAAAgAAAAAAAAAAAAAAM1ABAAEAAAAO1AEAAAAAAAIAAAAAAAAAAAAAADRQAQABAAAAE9QBAAAAAAACAAAAAAAAAAAAAAA1UAEAAQAAABrUAQAAAAAAAgAAAAAAAAAAAAAANlABAAEAAAAf1AEAAAAAAAIAAAAAAAAAAAAAADdQAQABAAAAKNQBAAAAAAACAAAAAAAAAAAAAAA4UAEAAQAAADHUAQAAAAAAAgAAAAAAAAAAAAAAOVABAAEAAAA71AEAAAAAAAQAAAAAAAAAAAAAADpQAQABAAAAQNQBAAAAAAACAAAAAAAAAAAAAAA7UAEAAQAAAETUAQAAAAAAAgAAAAAAAAAAAAAAPFABAAEAAABJ1AEAAAAAAAIAAAAAAAAAAAAAAD1QAQABAAAATtQBAAAAAAACAAAAAAAAAAAAAAA+UAEAAQAAAFvUAQAAAAAABQAAAAAAAAAAAAAAP1ABAAEAAABf1AEAAAAAAAIAAAAAAAAAAAAAAEBQAQABAAAAadQBAAAAAAACAAAAAAAAAAAAAABBUAEAAQAAAHPUAQAAAAAAAgAAAAAAAAAAAAAAQlABAAEAAAB31AEAAAAAAAIAAAAAAAAAAAAAAENQAQABAAAAftQBAAAAAAACAAAAAAAAAAAAAAAAWAEAAQAAAIXUAQAAAAAAAAAAAAAAAAAAAAAAAVgBAAEAAACP1AEAAAAAAAAAAAAAAAAAAAAAAAJYAQABAAAAldQBAAAAAAAAAAAAAAAAAAAAAAADWAEAAQAAAJ3UAQAAAAAAAgAAAAAAAAAAAAAABFgBAAEAAACi1AEAAAAAAAIAAAAAAAAAAAAAAAVYAQABAAAAptQBAAAAAAACAAAAAAAAAAAAAAAGWAEAAQAAAK/UAQAAAAAAAgAAAAAAAAAAAAAAB1gBAAEAAAC41AEAAAAAAAIAAAAAAAAAAAAAAAhYAQABAAAAyNQBAAAAAAACAAAAAAAAAAAAAAAJWAEAAQAAANjUAQAAAAAAAgAAAAAAAAAAAAAAClgBAAEAAADc1AEAAAAAAAIAAAAAAAAAAAAAAAtYAQABAAAA6dQBAAAAAAACAAAAAAAAAAAAAAAMWAEAAQAAAO7UAQAAAAAAAgAAAAAAAAAAAAAADVgBAAEAAADz1AEAAAAAAAQAAAAAAAAAAAAAAA5YAQABAAAA99QBAAAAAAAEAAAAAAAAAAAAAAAPWAEAAQAAAADVAQAAAAAABAAAAAAAAAAAAAAAEFgBAAEAAAAK1QEAAAAAAAIAAAAAAAAAAAAAABFYAQABAAAAEtUBAAAAAAACAAAAAAAAAAAAAAASWAEAAQAAABfVAQAAAAAAAgAAAAAAAAAAAAAAE1gBAAEAAAAf1QEAAAAAAAIAAAAAAAAAAAAAAABwAQADAAAAI9UBAAAAAAAAAAEAAAAAAAAAAAABcAEAAwAAADDVAQAAAAAAAAABAAAAAAAAAAAAAnABAAMAAAA91QEAAAAAAAAAAgAAAAAAAAAAAANwAQADAAAAQtUBAAAAAAAAAAEAAAAAAAAAAAAEcAEAAwAAAEfVAQAAAAAAAAACAAAAAAAAAAAABXABAAMAAABL1QEAAAAAAAAAAgAAAAAAAAAAAAZwAQADAAAAVNUBAAAAAAAAAAEAAAAAAAAAAAAHcAEAAwAAAGbVAQAAAAAAAAAAAAAAAAAAAAAACHABAAMAAABz1QEAAAAAAAAAAgAAAAAAAAAAAAB4AQADAAAAd9UBAAAAAAAAAAIAAAAAAAAAAAABeAEAAwAAAIDVAQAAAAAAAAACAAAAAAAAAAAAAngBAAMAAACI1QEAAAAAAAAAAgAAAAAAAAAAAAN4AQADAAAAkNUBAAAAAAAAAAIAAAAAAAAAAAAEeAEAAwAAAJXVAQAAAAAAAAACAAAAAAAAAAAABXgBAAMAAACe1QEAAAAAAAAAAgAAAAAAAAAAAAZ4AQADAAAAotUBAAAAAAAAAAIAAAAAAAAAAAAHeAEAAwAAAK3VAQAAAAAAAAACAAAAAAAAAAAACHgBAAMAAAC31QEAAAAAAAAAAgAAAAAAAAAAAAl4AQADAAAAvtUBAAAAAAAAAAIAAAAAAAAAAAAKeAEAAwAAAMXVAQAAAAAAAAACAAAAAAAAAAAAC3gBAAMAAADK1QEAAAAAAAAAAgAAAAAAAAAAAAx4AQADAAAA0tUBAAAAAAAAAAIAAAAAAAAAAAANeAEAAwAAAPmXAgAAAAAAAAACAAAAAAAAAAAADngBAAMAAADW1QEAAAAAAAAAAgAAAAAAAAAAAACAAQACAAAA6dUBAAAAAAAAAAAA5IwBAAAAAAABgAEAAgAAAO3VAQAAAAAAAAAAAAAAAAAAAAAAAIgBAAAAAAD11QEAAAAAAAEAAAAAAAAAAAAAAAGIAQAAAAAA/dUBAAAAAAABAAAAAAAAAAAAAAACiAEAAAAAAALWAQAAAAAAAQAAAAAAAAAAAAAAA4gBAAIAAAAG1gEAAAAAAAAAAADwjAEAAAAAAASIAQACAAAACtYBAAAAAAAAAAAAAAAAAAAAAAAFiAEAAgAAAA7WAQAAAAAAAAAAAAAAAAAAAAAABogBAAIAAAAd1gEAAAAAAAAAAAAAAAAAAAAAAAeIAQACAAAAJ9YBAAAAAAAAAAAA+IwBAAAAAAABEAIAAAAAADDWAQAAAAAABAAAAAAAAAAAAAAAZ9cBAAAAAADC1gEAAAAAAE/XAQAAAAAAQNcBAAAAAAA21wEAAAAAABzXAQAq1wEAAAAAABHXAQAAAAAAB9cBAAAAAAD71gEAAAAAAOfWAQAAAAAA19YBAAAAAADM1gEAAAAAAMLWAQAAAAAAstYBAAAAAACk1gEAAAAAAHXWAQCR1gEAAAAAAFnWAQAAAAAAQNYBAAAAAACA5gEAAAAAAAAAAAAbAAAAIjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICNAQAAAAAAAAAAAPS0AAAAAAAAAgAAAAEAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAACAAAABEAAAAAAAAAfMoCAF5MAgAFAAAAGG0AAGQJOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdTgAAAAAAAAIAAAAAAAAAAUAAABzMTYAAAAAABAAAAAAAAAABgAAAHMzMgAAAAAAIAAAAAAAAAAHAAAAZmx0AAAAAAAgAAAAAAAAAAgAAABkYmwAAAAAAEAAAAAAAAAACQAAAHU4cAAAAAAACAAAAAEAAAAAAAAAczE2cAAAAAAQAAAAAQAAAAEAAABzMzJwAAAAACAAAAABAAAAAgAAAGZsdHAAAAAAIAAAAAEAAAADAAAAZGJscAAAAABAAAAAAQAAAAQAAABzNjQAAAAAAEAAAAAAAAAACwAAAHM2NHAAAAAAQAAAAAEAAAAKAAAAAPABAAUAAAAAAAAAZAk4AAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAZAAAAGQAAAAAAAAACgAAAIwBAAALAAAAhAMAAAwAAABICQAADQAAAEgJAAAUAAAASAkAABUAAACQEgAAFgAAAKQfAAAeAAAApB8AAB8AAABQRgAAIAAAAABQAAAoAAAAAIAAACkAAAAAgAAAKgAAAACIAAAyAAAAQK8BADMAAAAA0AIANAAAAADQAgASBwIAvJECAESLAgAWBwIAQJQCAOWRAgD3kQIADZICAEiUAgBUlAIAaZQCAHyUAgAfBwIAMQcCAEIHAgAWBwIAvJECAESLAgAWBwIA1ZECAOWRAgD3kQIADZICAO6SAgD8kgIAB5MCAB6TAgA5kwIASZMCAGSTAgB/kwIAmpMCADySAgCvkwIAFgcCALyRAgBEiwIAFgcCANWRAgDlkQIA95ECAA2SAgAjkgIALZICADySAgBckgIAcZICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIaSAgAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAABgAAAAwAAAAYAAAAMAAAAP///38AgAAAACAAAIAAAAAgAAAAaQAAAHgAAACGAAAAlQAAAJgAAACSAQAA5AEAAPMBAAABAgAAlAIAABACAAAfAgAALQIAAM4CAAAVAQAAJAEAADIBAABBAQAARAEAALQBAAAIAwAAFwMAACUDAACjAgAANAMAAEMDAABRAwAA3QIAAKYAAAC1AAAAwwAAANIAAADVAAAAoQEAADwCAABLAgAAWQIAALICAABoAgAAdwIAAIUCAADsAgAAUgEAAGEBAABvAQAAfgEAAIEBAADDAQAAYAMAAG8DAAB9AwAAuwIAAIwDAACbAwAAqQMAAPUCAADjAAAA7QAAAPcAAAABAQAACgEAAKoBAAC4AwAAwgMAAMwDAADEAgAA1gMAAOADAADqAwAA/gIAAAAAAQAB/gAABPwAAAn6AAAQ+AAAGfYAACT0AAAx8gAAQPAAAFHuAABk7AAAeeoAAJDoAACp5gAAxOQAAOHiAAAA4QAAId8AAETdAABp2wAAkNkAALnXAADk1QAAEdQAAEDSAABx0AAApM4AANnMAAAQywAASckAAITHAADBxQAAAMQAAEHCAACEwAAAyb4AABC9AABZuwAApLkAAPG3AABAtgAAkbQAAOSyAAA5sQAAkK8AAOmtAABErAAAoaoAAACpAABhpwAAxKUAACmkAACQogAA+aAAAGSfAADRnQAAQJwAALGaAAAkmQAAmZcAABCWAACJlAAABJMAAIGRAAAAkAAAgY4AAASNAACJiwAAEIoAAJmIAAAkhwAAsYUAAECEAADRggAAZIEAAPl/AACQfgAAKX0AAMR7AABhegAAAHkAAKF3AABEdgAA6XQAAJBzAAA5cgAA5HAAAJFvAABAbgAA8WwAAKRrAABZagAAEGkAAMlnAACEZgAAQWUAAABkAADBYgAAhGEAAElgAAAQXwAA2V0AAKRcAABxWwAAQFoAABFZAADkVwAAuVYAAJBVAABpVAAARFMAACFSAAAAUQAA4U8AAMROAACpTQAAkEwAAHlLAABkSgAAUUkAAEBIAAAxRwAAJEYAABlFAAAQRAAACUMAAARCAAABQQAAAEAAAAE/AAAEPgAACT0AABA8AAAZOwAAJDoAADE5AABAOAAAUTcAAGQ2AAB5NQAAkDQAAKkzAADEMgAA4TEAAAAxAAAhMAAARC8AAGkuAACQLQAAuSwAAOQrAAARKwAAQCoAAHEpAACkKAAA2ScAABAnAABJJgAAhCUAAMEkAAAAJAAAQSMAAIQiAADJIQAAECEAAFkgAACkHwAA8R4AAEAeAACRHQAA5BwAADkcAACQGwAA6RoAAEQaAAChGQAAABkAAGEYAADEFwAAKRcAAJAWAAD5FQAAZBUAANEUAABAFAAAsRMAACQTAACZEgAAEBIAAIkRAAAEEQAAgRAAAAAQAACBDwAABA8AAIkOAAAQDgAAmQ0AACQNAACxDAAAQAwAANELAABkCwAA+QoAAJAKAAApCgAAxAkAAGEJAAAACQAAoQgAAEQIAADpBwAAkAcAADkHAADkBgAAkQYAAEAGAADxBQAApAUAAFkFAAAQBQAAyQQAAIQEAABBBAAAAAQAAMEDAACEAwAASQMAABADAADZAgAApAIAAHECAABAAgAAEQIAAOQBAAC5AQAAkAEAAGkBAABEAQAAIQEAAAABAADhAAAAxAAAAKkAAACQAAAAeQAAAGQAAABRAAAAQAAAADEAAAAkAAAAGQAAABAAAAAJAAAABAAAAAEAAAAAAAAAAQAAAAQAAAAJAAAAEAAAABkAAAAkAAAAMQAAAEAAAABRAAAAZAAAAHkAAACQAAAAqQAAAMQAAADhAAAAAAEAACEBAABEAQAAaQEAAJABAAC5AQAA5AEAABECAABAAgAAcQIAAKQCAADZAgAAEAMAAEkDAACEAwAAwQMAAAAEAABBBAAAhAQAAMkEAAAQBQAAWQUAAKQFAADxBQAAQAYAAJEGAADkBgAAOQcAAJAHAADpBwAARAgAAKEIAAAACQAAYQkAAMQJAAApCgAAkAoAAPkKAABkCwAA0QsAAEAMAACxDAAAJA0AAJkNAAAQDgAAiQ4AAAQPAACBDwAAABAAAIEQAAAEEQAAiREAABASAACZEgAAJBMAALETAABAFAAA0RQAAGQVAAD5FQAAkBYAACkXAADEFwAAYRgAAAAZAAChGQAARBoAAOkaAACQGwAAORwAAOQcAACRHQAAQB4AAPEeAACkHwAAWSAAABAhAADJIQAAhCIAAEEjAAAAJAAAwSQAAIQlAABJJgAAECcAANknAACkKAAAcSkAAEAqAAARKwAA5CsAALksAACQLQAAaS4AAEQvAAAhMAAAADEAAOExAADEMgAAqTMAAJA0AAB5NQAAZDYAAFE3AABAOAAAMTkAACQ6AAAZOwAAEDwAAAk9AAAEPgAAAT8AAABAAAABQQAABEIAAAlDAAAQRAAAGUUAACRGAAAxRwAAQEgAAFFJAABkSgAAeUsAAJBMAACpTQAAxE4AAOFPAAAAUQAAIVIAAERTAABpVAAAkFUAALlWAADkVwAAEVkAAEBaAABxWwAApFwAANldAAAQXwAASWAAAIRhAADBYgAAAGQAAEFlAACEZgAAyWcAABBpAABZagAApGsAAPFsAABAbgAAkW8AAORwAAA5cgAAkHMAAOl0AABEdgAAoXcAAAB5AABhegAAxHsAACl9AACQfgAA+X8AAGSBAADRggAAQIQAALGFAAAkhwAAmYgAABCKAACJiwAABI0AAIGOAAAAkAAAgZEAAASTAACJlAAAEJYAAJmXAAAkmQAAsZoAAECcAADRnQAAZJ8AAPmgAACQogAAKaQAAMSlAABhpwAAAKkAAKGqAABErAAA6a0AAJCvAAA5sQAA5LIAAJG0AABAtgAA8bcAAKS5AABZuwAAEL0AAMm+AACEwAAAQcIAAADEAADBxQAAhMcAAEnJAAAQywAA2cwAAKTOAABx0AAAQNIAABHUAADk1QAAudcAAJDZAABp2wAARN0AACHfAAAA4QAA4eIAAMTkAACp5gAAkOgAAHnqAABk7AAAUe4AAEDwAAAx8gAAJPQAABn2AAAQ+AAACfoAAAT8AAAB/gAABAAAAAUAAAAFAAAABgAAABUAAAANAAAABgAAAAIAAAAHAAAACgAAABQAAAALAAAAFgAAAA4AAAAXAAAAAQAAAAgCAABMAQAAGAEAAAABAAAbAAAAAAAAAAAAAAAAAAAAAAAAAJgGAAAGAAAAAgAAAAkAAAABAAAAAAAAAK0AAAAAAAAAAAAAAAAAAAAAAAAAuAYAAAAAAAADAAAACgAAAAIAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAwAAAALAAAACgAAAAsAAAAQAAAACwAAACgAAAAhAAAAGAAAAAsAAAAUAAAACwAAACAAAAALAAAAUAAAACEAAAASAAAACwAAAA8AAAALAAAAQAAAACEAAACgAAAAYwAAAAQAAAADAAAAAwAAAAIAAAACAAAAAQAAAGOeAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAACYL4pCkUQ3cc/7wLWl27XpW8JWOfER8Vmkgj+S1V4cq5iqB9gBW4MSvoUxJMN9DFV0Xb5y/rHegKcG3Jt08ZvBwWmb5IZHvu/GncEPzKEMJG8s6S2qhHRK3KmwXNqI+XZSUT6YbcYxqMgnA7DHf1m/8wvgxkeRp9VRY8oGZykpFIUKtyc4IRsu/G0sTRMNOFNUcwpluwpqdi7JwoGFLHKSoei/oktmGqhwi0vCo1FsxxnoktEkBpnWhTUO9HCgahAWwaQZCGw3Hkx3SCe1vLA0swwcOUqq2E5Pypxb828uaO6Cj3RvY6V4FHjIhAgCx4z6/76Q62xQpPej+b7yeHHGT18CAFJfAgBdXwIAYF8CAGxfAgBvXwIAfF8CAIBfAgCOXwIAkV8CAJtfAgCeXwIAqV8CAK1fAgDCXwIAxl8CANxfAgDfXwIA618CAO5fAgD4XwIA+18CAAZgAgAJYAIAFGACABhgAgAnYAIAK2ACADxgAgBAYAIAUGACAFRgAgBiYAIAZmACAHZgAgB6YAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIlgAgCMYAIAmWACAJxgAgCqYAIArWACALdgAgC6YAIAxWACAMlgAgDeYAIA4mACAPhgAgD9YAIA92MCAAUAAAAAAAAAZAk4ACgAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvZQIA8Pj/APllAgD669cABmYCAAD//wALZgIAf//UABZmAgDw//8AHGYCAPX13AAiZgIA/+TEAClmAgAAAAAAL2YCAP/rzQA+ZgIAAAD/AENmAgCKK+IATmYCAKUqKgBUZgIA3riHAF5mAgBfnqAAaGYCAH//AABzZgIA0mkeAH1mAgD/f1AAg2YCAGSV7QCSZgIA//jcAJtmAgDcFDwAo2YCAAD//wCoZgIAAACLALFmAgAAi4sAumYCALiGCwDIZgIAqampANFmAgAAZAAA22YCAL23awDlZgIAiwCLAPFmAgBVay8AAGcCAP+MAAALZwIAmTLMABZnAgCLAAAAHmcCAOmWegApZwIAj7yPADZnAgBIPYsARGcCAC9PTwBSZwIAAM7RAGBnAgCUANMAa2cCAP8UkwB0ZwIAAL//AIBnAgBpaWkAiGcCAB6Q/wCTZwIAsiIiAJ1nAgD/+vAAqWcCACKLIgC1ZwIA/wD/AL1nAgDc3NwAx2cCAPj4/wDSZwIA/9cAANdnAgDapSAA4WcCAICAgADmZwIAAIAAAOxnAgCt/y8A+GcCAPD/8AABaAIA/2m0AAloAgDNXFwAE2gCAEsAggAaaAIA///wACBoAgDw5owAJmgCAObm+gAvaAIA//D1AD1oAgB8/AAAR2gCAP/6zQBUaAIArdjmAF5oAgDwgIAAaWgCAOD//wBzaAIA+vrSAIhoAgCQ7pAAk2gCANPT0wCdaAIA/7bBAKdoAgD/oHoAs2gCACCyqgDBaAIAh876AM5oAgB3iJkA3WgCALDE3gDsaAIA///gAPhoAgAA/wAA/WgCADLNMgAHaQIA+vDmAA1pAgD/AP8AFWkCAIAAAAAcaQIAZs2qAC1pAgAAAM0AOGkCALpV0wBFaQIAk3DYAFJpAgA8s3EAYWkCAHto7gBxaQIAAPqaAINpAgBI0cwAk2kCAMcVhQCjaQIAGRlwALBpAgD1//oAumkCAP/k4QDEaQIA/+S1AM1pAgD/3q0A2WkCAAAAgADeaQIA/fXmAOZpAgCAgAAA7GkCAGuOIwD2aQIA/6UAAP1pAgD/RQAAB2oCANpw1gAOagIA7uiqABxqAgCY+5gAJmoCAK/u7gA0agIA2HCTAEJqAgD/79UATWoCAP/auQBXagIAzYU/AFxqAgD/wMsAYWoCAN2g3QBmagIAsODmAHFqAgCAAIAAeGoCAP8AAAB8agIAvI+PAIZqAgBBaeEAkGoCAItFEwCcagIA+oByAKNqAgD0pGAArmoCAC6LVwC3agIA//XuAMBqAgCgUi0Ax2oCAMDAwADOagIAh87rANZqAgBqWs0A4GoCAHCAkADqagIA//r6AO9qAgAA/38A+2oCAEaCtAAFawIA0rSMAAlrAgAAgIAADmsCANi/2AAWawIA/2NHAB1rAgBA4NAAJ2sCAO6C7gAuawIA9d6zADRrAgD///8AOmsCAPX19QBFawIA//8AAExrAgCazTIA32sCAOxrAgB5awIAgmsCAGtrAgBxawIAdmsCAIlrAgCRawIAmmsCAKBrAgCmawIAqmsCAK9rAgC0awIAu2sCAMVrAgDNawIA1msCAMhsAgAwdQAA6QMAAM1sAgAZAAAAAQAAANFsAgAwdQAA6QMAANdsAgAZAAAAAQAAANxsAgAwdQAA6QMAAOJsAgAZAAAAAQAAACOSAgAYAAAAAQAAAOdsAgDAXQAA6QMAAMhsAgDQAgAA4AEAAM1sAgDQAgAAQAIAANFsAgBgAQAA8AAAANdsAgBgAQAAIAEAANxsAgCAAgAA4AEAAOJsAgAAAwAAQAIAACOSAgBgAQAA8AAAAOdsAgBgAQAA8AAAACJtAgCAAAAAYAAAAChtAgCwAAAAkAAAAC1tAgBgAQAAIAEAADFtAgDAAgAAQAIAADZtAgCABQAAgAQAADxtAgCgAAAAeAAAAEJtAgBAAQAA8AAAAEdtAgCAAgAA4AEAAEttAgAgAwAAWAIAAFBtAgAABAAAAAMAAFRtAgBABgAAsAQAAFltAgAACAAAAAYAAF5tAgAABQAAAAQAAGNtAgAACgAAAAgAAGltAgAAFAAAABAAAG9tAgBUAwAA4AEAAHRtAgBWBQAAAAMAAHltAgBABgAAAAQAAH9tAgCABwAAsAQAAIVtAgAACgAAQAYAAIttAgCADAAAAAgAAJJtAgAADwAAYAkAAJltAgAAGQAAABAAAKBtAgAAHgAAwBIAAKdtAgBAAQAAyAAAAKttAgCAAgAAXgEAAK9tAgBUAwAA4AEAALVtAgAABQAA0AIAALttAgCABwAAOAQAAMJtAgAACAAAOAQAAMVtAgAACAAAOAQAAMttAgDOBwAAOAQAANJtAgAACAAAWgMAANptAgAAEAAAcAgAAN1tAgAAEAAAcAgAAONtAgCcDwAAcAgAAOptAgAAEAAAtAYAAPJtAgCAAgAAaAEAAPZtAgDwAAAAoAAAAPxtAgCQAQAA8AAAAAJuAgCwAQAA8AAAAAluAgDgAQAAQAEAAA5uAgDAAwAAHAIAABJuAgAADwAAcAgAABpuAgAAHgAA4BAAAACNAQAAAAAA928CAAcAAAAYdQAAZAk4AAQAAAAAAAAAAwAAAAgAAAAFAAAACQAAAAAAAAD0mgEAAAAAAE+bAgAFAAAAAAAAAGQJOAAAAAAAAAAAAAQAAAAKAAAAAAAAAAAAAAAAAAAATFsBABSaAQBAmgEAAAAAAAIAAMADAADABAAAwAUAAMAGAADABwAAwAgAAMAJAADACgAAwAsAAMAMAADADQAAwA4AAMAPAADAEAAAwBEAAMASAADAEwAAwBQAAMAVAADAFgAAwBcAAMAYAADAGQAAwBoAAMAbAADAHAAAwB0AAMAeAADAHwAAwAAAALMBAADDAgAAwwMAAMMEAADDBQAAwwYAAMMHAADDCAAAwwkAAMMKAADDCwAAwwwAAMMNAADTDgAAww8AAMMAAAy7AQAMwwIADMMDAAzDBAAM0yymAQAFAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABAAAAJUBBAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAQAAACdAQQAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKimAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABw1wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8CAAAAAAAAAFDNAAALAAAADAAAAA0AAAAOAAAABwAAAAEAAAABAAAAAQAAAAAAAAB4zQAACwAAAA8AAAANAAAADgAAAAcAAAACAAAAAgAAAAIAAAAAAAAAiM0AABAAAAARAAAADAAAAAAAAACYzQAAEAAAABIAAAAMAAAAAAAAAMjNAAALAAAAEwAAAA0AAAAOAAAACAAAAAAAAAC4zQAACwAAABQAAAANAAAADgAAAAkAAAAAAAAASM4AAAsAAAAVAAAADQAAAA4AAAAHAAAAAwAAAAMAAAADAAAABAFEAYIBogFJAIkAKQAZAAMAAwADAAMAAwADAAMAAwDVAPUAtQB1AOUApQCTAJMAYwDDAFMAMwD5AHkAuQA5ANkAWQCZABkA6QBpAKkAKQDJAEkAiQAJAAEAFwEHARUAFQADAAMAAwADAIYAFwEHARcAAwADAAMAAwAnAgcCFQIVAiUBJQElACUAhgAXABUBFQEFAQUBBQAFACcCBwIVAhUCJQElASUAJQCIABcBBwEXAAMAAwADAAMAggE5AjcBNwEZAwkDOQApAhcCFwInAScBBwIHAicAJwAzAyMDBgGCAaIBGQIpASkABwEHARUBFQEVARUBFwAXAAcABwA3AwcDJQMlAzUCNQI1ADUAEwMzASMCAwIIAQgCBAMZAQcBBwEXABcAAwADAAMAAwADAAMAAwADAEQDggOiAxkFWQHCA1kA4gMpBEkCFwQXBEcBRwFHAEcACQQpAzkCCQMXAxcDNwE3ATcANwAnAicCFQIVAhUCFQIjASMBBQIlAFUFRQVVBFUDMwVDBCMFUwIDBTMEQwMzAwgBCAIZAikBFQEVARUBFQEHAQcBFwAXAAUABQAFAAUABgOEA8IDGQVZAeIDAgQpBEkCGQRHAUcBCQRJACkDOQIZAzkBCQM5ACUCJQIlAiUCBQIFAgUCBQIlACUAJQAlAFcFVwRFBUUFUwNTA1MDUwM1BUUEIwUjBVMCAwUzBEMDUwAzAwgBBgKEAsQCAgMZAikBKQAXARcBBwEHARcAFwAHAAcAIgM5BVkDQgNJBCkFWQIZBVcBVwE3BDcERwNHA1kACQQnBEcCNwNHABUEFQRFAUUBJQM1AhMDEwMzATMBBQM1ACMCAwJTBUMFUwQDBQgBCAIEAxkBBwEHARcAFwADAAMAAwADAAMAAwADAAMARgPEAwYEggSkBOQEJAUZB3kBYgWEBcQFGQZpAWkAAgYiBkIGGQRJAUkAKQM5AgkDFwMXAzcBNwE3ADcAJwInAhUCJQEFAiUAdwdnB3cGVwd3BWcGRQdFB3UEVQZlBTUHdQN1A0UGRQZXBVcEZQNlAyMHcwJlBAUHcwBzAGMCYwJFBTUFAwYDBlUDRQQzBiMGJQVVAhMFEwVTAVMBNQRFAwMFUwAjBEMCMwMDBAgBCAIIAwYEGQKCBBcBFwEHAQcBFwAXAAUABQAFAAUApATmBGQFogXEBSkHeQICBncBdwEZB3kAOQZpA2kAIgZCBhkFZwJnAikGCQYXBhcGZwFnAVkBOQRZAGIGKQRJAhkESQEJBEkAJwMnAzcCNwIVAxUDFQMVAzUBNQE1ATUBBwM3ACUCJQIjASMBIwEjAQMCIwB1B2UHdQZ1BWUGZQZFB0UHdQR1BFcHVwVVBmUFMwczB3MDQwZFBVUENQVVA2MEAwdDBCMFUwIDBUMDMwMIAQgCCAMEBEYEwgQZAikB4gQJABcBFwEHAQcBFwAXAAQFQgViBYIFWQY5B6IFKQd5AkkGaQQZB3kBwgU5BmkDSQVZBEkE4gUnBicGZwJnAmcBZwEZBmkAOQVZAykFWQIXBRcFVwFXATcENwRHA0cDWQAJBCcEJwRHAkcCFwQXBDUDRQElAzUCRwAHAzUANQATAxMDEwMTAzMBIwIDAiMAdQdlB3MGcwZTB3MFYwZDB3MEYwVzA1MFAwdzAAMGAwUIAQgCCAMEBBkBCQEXABcAAwADAAMAAwADAAMAAwADAEgESAVIBkgHSAhICUYKxgpGC8YLRgzGDEINZA2mDSIORA6EDsQOBA+JAUIPYg+CD6QP4g8ZBVkBAhAiEEIQGQRHAUcBCQRJACkDOQIXAxcDNwE3AQcDBwM3ADcAJwInAhUCJQEFAiUAaBBoEWgSZhPkEyQUZhTkFCIVRBWEFcQVBBZEFhkP+QH5AIIWohbCFukC4hYZDukBAhciF0IXYheCF6IXyQY5DcIXKQ3ZAhkNuQfiFwIYyQMiGEkL1wHXAQkN2QCJCqkISQzJBGkLuQY3DDcMJwwnDMcCxwJXC1cLuQWJCRcMFwzHAccBmQgJDMcAxwC5BGkKqQZ5CTcLNwu3A7cDiQhZCicLJwupBWkJpwSnBHkIiQeXBJcEeQd5BrUCtQK1ArUCFQsVC7UBtQEHC7cAlwZHCjcKpwNXCZcFJQolCqUCpQIVChUKpQGlAQcKZwilAKUAhwZHCZUDlQM3CVcIhwVnByUJJQmVApUCVwd3BTUINQiFA4UDZwZHB3cEVwZnBXcDEwmTAQUJlQBFCIUEdQJ1AkcGZwQjCCMIIwgjCIMCEwg1ByUHEwcTB3MBcwFVBQUHdQA1BmUDRQVVBCUGZQI1BQMIgwATBmMBAwZjAFUDRQQjBSMFUwIDBTMEQwNTACMEQwIzA0YY+Q/pD9kP6Q7JD9kOuQ/5C8kO2QzCGOcM5wzXDdcN+QrJDbcOtw7nC+cLlw+XD/cJ9wnnCucKtw23DdcL1wuHD4cP9wj3CMcMxwypDpkOhw6HDnkPeQ71B/UH9Qf1B9UK1QqnDbcMxwv3BmUPZQ/lCFUPlQ3VCfUF5QelDLULRQ9FD/UE9QTHCucG9QP1AzMPMw+FDdUIIw/zAmUOlQwDDwMPxQlVDqMLowt1DdUHQw5DDsUI1QYzDjMOswmzCZULpQqzCuMF4wSDDGMN4wMjDgMO4wBTDdMFcwzDB0MNgwuzCNMEkwqjCWMM0wNzC1MMwwWTCXMKoweTB/cO9wz1DfUN4w3jDeMN4w2jD+MJCAEIAggDCAQIBQYGhgYEB0IHYgcXARcBCQEZAAcABwCIB4gIiAmICogLhgwGDYgNhg4GD4YPBhCEEMYQRhHEEQQSRBKEEsQSBBNEE4QTxBMCFCIUQhRkFKIUwhTkFCIVQhViFZkBghWiFcIV4hUCFikIiQIZCIkBIhZCFmIWghYpB3kCaQQZB1kFeQGiFjkGaQNJBVkEKQZpAhkGwhY5BWcBZwFZA0kEJwUnBVcCVwIXBRcFVwFXAQkFWQA3BDcERwMnBEcCNwNFAUUBFwQHBCUDJQM1AjUCRwAHAxUDFQM1ATUAIwIjAhMCIwEDAiMA4hYCF+kOIhdCF2IX+QuCF9kNqQ/5CrkO6QvJDdkMmQ/5CekKuQ3ZC4kP+QjJDJkO6Ql5D/kHqQ3ZCrkMaQ+iF8cLxwv3BvcGiQ7pCFkPmQ33BfcFdw53DucH5wenDKcMxwrHCrcLtwvZCYkNRw9HD/cE9wQ3DzcP9wP3A9cI1wjnBucGJw8nD/cC9wJpDvkAFw8XD/cB9wGXDJcMxwnHCVcOpwu3CucFdw3XB0cO5wSHDMcINw5nDdcG5wOXC7cJJw4nDqcKpwrnAucCFw4XDucB5wEJDukAVw1XDdcF1wV3DMcHRw2HC9UE1QS3CJcKpwlnDMcGNw3VA9UD1QLVAicNBw0VDRUNdQt1C7UHtQfVAdUBVwzXAMUFxQWFCoUKpQhFDMUEZQu1BrUGlwkHDDUMNQzFA8UDdQp1CqUHpQelBqUGxwAHC8MCwwIlDFULtQUVDIUJlQjFAUULtQRlCjULdQmzA7MDlQeFCCULVQqzArMCpQUVC7MBswG1AGUJlQZFCqUEdQiFBzUKowOjA1MJkwUjCqMCEwqjAQUKpQBjCGMIgwZDCZMEMwmTA5MDdQcFCVMIgwUjCWMHcwaTAhMJkwBDCIMEUwdzBTMIgwNjBkMHcwQDCIMAUwZjBTMHcwNDBgMHcwADBmMA8w/jD/MO0w/zDcMP8wzTDuMNsw/DDuMMow4DDwgBCAIIAwQEGQEJARcAFwADAAMAAwADAAMAAwADAAMARgTGBEQF+Q+EBcIF6AX5AuIGGQ/5AQgHCAgICQgKCAsIDAYNhg0GDoYOBg+GDwYQhBDEEAIRJBFkEaIRWQHCEeIRAhIiEhkESQFCEikDOQIXAxcDNwE3AQkDOQAnAicCFQIlAQUCJQDnD/cO1w/3DccP9wy3D/cLpQ+lD/cKlw/3CfcIhQ+FD3UP9QdlD/UGVQ/1BUMPQw/zBPMD8wDzAPMA8wDzAPMA8wDzADUPNQ81DzUPaBJmE+YTZhQjDwMP5BQkFWQVohXEFQQWQhZkFqQW5BYkF+kDYheCF6IXwhfiFwIYIhgJDUIYYhiCGDkMohgZDMkAwhjnAucCKQ4ZDtkDKQ3ZAtkBOQviGBcNFw3JBGkLyQOpBycMJwzJArkFyQEJDEkLuQRpCqkGtwO3A1kKqQUnCycLtwK3AhcLFwu3AbcBCQu5AGkJmQZJCqkEeQiJB6cDpwM5ClkJJwonCpkFaQinAacBiQZ5B5cElwRJCVkHZwdnB6UCpQKlAqUCFQoVCgcKpwA3CZcDVwiHBSUJJQmVApUCdwYHCRUJFQmVAZUBlwBHCIcEdwU3CIcDZwYnCIUChQJHB3cEFQgVCIUBhQGFAIUABwhXBjUHNQd1A3UDZwVHBiUHJQd1AnUCZwRXBQUHBQcTBxMHEwcTB3MBcwF1ADUGZQNFBVUEJQZjAhMGYwFjAQUGZQBTA1MDNQVFBCMFUwITBQMFMwRDA1MAIwRDAjMDAwRDAMkOAhnXDtcO5wnnCekK2QnlDuUO5Q7lDucN5w3nC+cLtQ61DsUNxQ3XDNcLpQ6lDsUMxQynDdcKdw6nDMUKxQrHCXcNVQ5VDrMNsw2zDbMNkw6TDrUMxQuFDuUIlQ3lB7ULhQ3VCGUO4waTDKULtQrlBdUHQw5DDuUEhQzDCDMOYw1jDdUGlQu1CaUK4wHjAdME0wS1CKUJcwtzC7UH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RU5TXzlhbGxvY2F0b3JJY0VFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAGluaXRBdWRpbwBwbGF5QXVkaW8AT25seSBzdXBwb3J0IHZpZGVvIGguMjY0L2F2YyBvciBoLjI2NS9oZXZjIGNvZGVjLiBhY3R1YWw9JWQAY29kZQBOZXRTdHJlYW0uUGxheS5TdGFydABvbk5ldFN0YXR1cwBzZXRUaW1lb3V0IHRvIHBsYXkgdmlkZW8gYnVmZmVyICVkAGNoZWNrVmlkZW9CdWZmZXIAeyByZXR1cm4gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsgfQBOMTBlbXNjcmlwdGVuM3ZhbEUAcmVjb25uZWN0AHtjbGVhclRpbWVvdXQoJDApfQBGbHZEZWNvZGVyIGNsZWFyIQoAaW5pdEF1ZGlvLGZyYW1lQ291bnQ6JWQsY2hhbm5lbHM6JWQAYXVkaW8gaW5pdCEgJWQAbXAzIGluaXQhAE5ldFN0cmVhbS5CdWZmZXIuRW1wdHkAd2ViZ2w6JXMAdHJ1ZQBmYWxzZQBGRk1wZWcgaW5pdAA2RkZtcGVnADEyVmlkZW9EZWNvZGVyAGNvZGVjID0gJWQAdmlkZW8gZGVjb2RlciByZWxlYXNlIQoARkZNcGVnIGRlc3RvcnkAY29kZWMgPSAlZCxwdHIgPSAlZABhdmNvZGVjX29wZW4yOiVkAGZmbXBlZyBkZWNvZGUgcmV0OiVkAGNhbnZhczolZCwlZABzZXRWaWRlb1NpemUAZHJhdwAuZmx2AFdlYlNvY2tldAA5Rmx2Q2xpZW50AEZsdkRlY29kZXIgcmVsZWFzZSEKAGF1ZGlvIGRlY29kZXIgcmVsZWFzZQoAYXVkaW8gZGVjb2RlciByZWxlYXNlIQoAUDlGbHZDbGllbnQAUEs5Rmx2Q2xpZW50AGlpAHYAdmlpaQBpaWlpaQB2aWkAaWlpAHZpaWlpAGlpaWkAbGF5ZXIzLmMABgUFBQkJCQkGCQkJBgUHAwkJDAYGCQwGCwoAABISAAAPEgAABwcHAAwMDAAGDwwABgYGAwwJCQYGDAkGCAgFAA8MCQAGEgkAAAAAAQACAAMDAAEBAQIBAwIBAgICAwMBAwIDAwQCBAMAAAAAAAAAAAAAAAEBAQECAgMDAwIAcmVxdWFudGl6ZSBvdmVyZmxvdyAoJWYgKiAyXiVkKQoALWJpdHNfbGVmdCA8PSBNQURfQlVGRkVSX0dVQVJEICogQ0hBUl9CSVQASUlJX2h1ZmZkZWNvZGUABAQEBAQEBgYGCAoMEBIWHCIoLjY2wAQEBAQEBAQEBAQEBAYGBgYGBgoKCgwMDA4ODhAQEBQUFBoaGkJCQgQEBAQEBAYGBAQEBgYGBgYGCgoKDAwMDg4OEBAQFBQUGhoaQkJCBAQEBAQEBgYICAoMEBQYHCIqMjZMngQEBAQEBAQEBAQEBAYGBggICAoKCgwMDA4ODhISEhYWFh4eHjg4OAQEBAQEBAYGBAQEBgYGCAgICgoKDAwMDg4OEhISFhYWHh4eODg4BAQEBAQEBgYICgwQFBgeJi44RFRmGgQEBAQEBAQEBAQEBAYGBggICAwMDBAQEBQUFBoaGiIiIioqKgwMDAQEBAQEBAYGBAQEBgYGCAgIDAwMEBAQFBQUGhoaIiIiKioqDAwMBgYGBgYGCAoMDhASFhogJi42PkZMJAQEBAQEBAQEBAYGBggICAoKCgwMDA4ODhISEhgYGCAgICwsLAwMDAYGBgYGBgYGBggICAoKCgwMDA4ODhISEhgYGCAgICwsLAwMDAYGBgYGBggKDA4QFBgcICYuNDxEOjYEBAQEBAQEBAQGBgYGBgYICAgKCgoODg4SEhIaGhogICAqKioSEhIGBgYGBgYGBgYGBgYICAgKCgoODg4SEhIaGhogICAqKioSEhIEBAQEBAQEBAQGBgYICAgKCgoMDAwODg4SEhIYGBgeHh4oKCgSEhIGBgYGBgYGBgYICAgKCgoMDAwODg4SEhIYGBgeHh4oKCgSEhIMDAwMDAwQFBgcICgwOEBMWgICAgICCAgICAgICAgIDAwMEBAQFBQUGBgYHBwcJCQkAgICAgICAgICGhoaDAwMBAQECAgIDAwMEBAQFBQUGBgYHBwcJCQkAgICAgICAgICGhoaZGVub20gIT0gMAB0aW1lci5jAHNjYWxlX3JhdGlvbmFsAAAAAQECAgICAwMDAwMDAwMEBAQEBAQEBAQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcAgEDAIKBg4BCQUNAwsHDwCIhIyCioaOgYmFjYOLh4+ASERMQkpGTkFJRU1DS0dPQMjEzMLKxs7BycXNw8vHz8AoJCwiKiYuISklLSMrJy8gqKSsoqqmrqGppa2jq6evoGhkbGJqZm5haWVtY2tnb2Do5Ozi6ubu4enl7ePr5+/gGBQcEhoWHhEZFR0TGxcfEJiUnJKalp6RmZWdk5uXn5BYVFxSWlZeUVlVXVNbV19Q2NTc0trW3tHZ1d3T29ff0Dg0PDI6Nj4xOTU9Mzs3PzC4tLyyura+sbm1vbO7t7+weHR8cnp2fnF5dX1ze3d/cPj0/PL69v7x+fX98/v3//RmFpbGVkIHRvIHJlYWxsb2NhdGUgcGFyc2VyIGJ1ZmZlciB0byAlZAoAbmV4dCA+PSAwIHx8IHBjLT5idWZmZXIAbGliYXZjb2RlYy9wYXJzZXIuYwAlcyVzJXMlcwAgICAgTGFzdCBtZXNzYWdlIHJlcGVhdGVkICVkIHRpbWVzDQAgICAgTGFzdCBtZXNzYWdlIHJlcGVhdGVkICVkIHRpbWVzCgAbWyV1OzMldW0lcxtbMG0AG1s0ODs1OyV1bRtbMzg7NTslZG0lcxtbMG0AG1s0ODs1OyV1bRtbMzg7NTsldW0lcxtbMG0AVEVSTQBOT19DT0xPUgBBVl9MT0dfRk9SQ0VfTk9DT0xPUgBBVl9MT0dfRk9SQ0VfQ09MT1IAQVZfTE9HX0ZPUkNFXzI1NkNPTE9SADI1NmNvbG9yAFslcyBAICVwXSAAWyVzXSAAcGFuaWMAZmF0YWwAZXJyb3IAd2FybmluZwBpbmZvAHZlcmJvc2UAcXVpZXQAAAECAwQFBghBIG5vbi1OVUxMIHBhY2tldCBzZW50IGFmdGVyIGFuIEVPRi4KAENvZGVjICclcycgKCVkKSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBiaXRzdHJlYW0gZmlsdGVyICclcycuIFN1cHBvcnRlZCBjb2RlY3MgYXJlOiAAJXMgKCVkKSAAbXBlZzF2aWRlbwBtcGVnMnZpZGVvAGgyNjEAaDI2MwBydjEwAHJ2MjAAbWpwZWcAbWpwZWdiAGxqcGVnAHNwNXgAanBlZ2xzAG1wZWc0AHJhd3ZpZGVvAG1zbXBlZzR2MQBtc21wZWc0djIAbXNtcGVnNHYzAHdtdjEAd212MgBoMjYzcABoMjYzaQBmbHYxAHN2cTEAc3ZxMwBkdnZpZGVvAGh1ZmZ5dXYAY3l1dgBpbmRlbzMAdnAzAHRoZW9yYQBhc3YxAGFzdjIAZmZ2MQA0eG0AdmNyMQBjbGpyAG1kZWMAcm9xAGludGVycGxheXZpZGVvAHhhbl93YzMAeGFuX3djNABycHphAGNpbmVwYWsAd3NfdnFhAG1zcmxlAG1zdmlkZW8xAGlkY2luADhicHMAc21jAGZsaWMAdHJ1ZW1vdGlvbjEAdm1kdmlkZW8AbXN6aAB6bGliAHF0cmxlAHRzY2MAdWx0aQBxZHJhdwB2aXhsAHFwZWcAcG5nAHBwbQBwYm0AcGdtAHBnbXl1dgBwYW0AZmZ2aHVmZgBydjMwAHJ2NDAAdmMxAHdtdjMAbG9jbwB3bnYxAGFhc2MAaW5kZW8yAGZyYXBzAHRydWVtb3Rpb24yAGJtcABjc2NkAG1tdmlkZW8Aem1idgBhdnMAc21hY2t2aWRlbwBudXYAa212YwBmbGFzaHN2AGNhdnMAanBlZzIwMDAAdm1uYwB2cDUAdnA2AHZwNmYAdGFyZ2EAZHNpY2ludmlkZW8AdGllcnRleHNlcXZpZGVvAHRpZmYAZ2lmAGR4YQBkbnhoZAB0aHAAc2dpAGM5MwBiZXRoc29mdHZpZABwdHgAdHhkAHZwNmEAdmIAcGN4AHN1bnJhc3QAaW5kZW80AGluZGVvNQBtaW1pYwBybDIAZXNjYXBlMTI0AGRpcmFjAGJmaQBjbXYAbW90aW9ucGl4ZWxzAHRndgB0Z3EAdHFpAGF1cmEAYXVyYTIAdjIxMHgAdG12AHYyMTAAZHB4AG1hZABmcnd1AGZsYXNoc3YyAGNkZ3JhcGhpY3MAcjIxMABhbm0AYmlua3ZpZGVvAGlmZl9pbGJtAGtndjEAeW9wAHZwOABwaWN0b3IAYW5zaQBhNjRfbXVsdGkAYTY0X211bHRpNQByMTBrAG14cGVnAGxhZ2FyaXRoAHByb3JlcwBqdgBkZmEAd212M2ltYWdlAHZjMWltYWdlAHV0dmlkZW8AYm12X3ZpZGVvAHZibGUAZHh0b3J5AHY0MTAAeHdkAGNkeGwAeGJtAHplcm9jb2RlYwBtc3MxAG1zYTEAdHNjYzIAbXRzMgBjbGxjAG1zczIAdnA5AGVzY2FwZTEzMABnMm0Ad2VicABobm00dmlkZW8AaGV2YwBmaWMAYWxpYXNfcGl4AGJyZW5kZXJfcGl4AHBhZl92aWRlbwBleHIAdnA3AHNhbm0Ac2dpcmxlAG12YzEAbXZjMgBocXgAdGRzYwBocV9ocWEAaGFwAGRkcwBkeHYAc2NyZWVucHJlc3NvAHJzY2MAeTQxcABhdnJwADAxMnYAYXZ1aQBheXV2AHRhcmdhX3kyMTYAdjMwOAB2NDA4AHl1djQAYXZybgBjcGlhAHhmYWNlAHNub3cAc212anBlZwBhcG5nAGRhYWxhAGNmaGQAdHJ1ZW1vdGlvbjJydABtMTAxAG1hZ2ljeXV2AHNoZWVydmlkZW8AeWxjAHBzZABwaXhsZXQAc3BlZWRocQBmbXZjAHNjcHIAY2xlYXJ2aWRlbwB4cG0AYXYxAGJpdHBhY2tlZABtc2NjAHNyZ2MAc3ZnAGdkdgBmaXRzAHBjbV9zMTZsZQBwY21fczE2YmUAcGNtX3UxNmxlAHBjbV91MTZiZQBwY21fczgAcGNtX3U4AHBjbV9tdWxhdwBwY21fYWxhdwBwY21fczMybGUAcGNtX3MzMmJlAHBjbV91MzJsZQBwY21fdTMyYmUAcGNtX3MyNGxlAHBjbV9zMjRiZQBwY21fdTI0bGUAcGNtX3UyNGJlAHBjbV9zMjRkYXVkAHBjbV96b3JrAHBjbV9zMTZsZV9wbGFuYXIAcGNtX2R2ZABwY21fZjMyYmUAcGNtX2YzMmxlAHBjbV9mNjRiZQBwY21fZjY0bGUAcGNtX2JsdXJheQBwY21fbHhmAHMzMDJtAHBjbV9zOF9wbGFuYXIAcGNtX3MyNGxlX3BsYW5hcgBwY21fczMybGVfcGxhbmFyAHBjbV9zMTZiZV9wbGFuYXIAcGNtX3M2NGxlAHBjbV9zNjRiZQBwY21fZjE2bGUAcGNtX2YyNGxlAGFkcGNtX2ltYV9xdABhZHBjbV9pbWFfd2F2AGFkcGNtX2ltYV9kazMAYWRwY21faW1hX2RrNABhZHBjbV9pbWFfd3MAYWRwY21faW1hX3NtanBlZwBhZHBjbV9tcwBhZHBjbV80eG0AYWRwY21feGEAYWRwY21fYWR4AGFkcGNtX2VhAGFkcGNtX2c3MjYAYWRwY21fY3QAYWRwY21fc3dmAGFkcGNtX3lhbWFoYQBhZHBjbV9zYnByb180AGFkcGNtX3NicHJvXzMAYWRwY21fc2Jwcm9fMgBhZHBjbV90aHAAYWRwY21faW1hX2FtdgBhZHBjbV9lYV9yMQBhZHBjbV9lYV9yMwBhZHBjbV9lYV9yMgBhZHBjbV9pbWFfZWFfc2VhZABhZHBjbV9pbWFfZWFfZWFjcwBhZHBjbV9lYV94YXMAYWRwY21fZWFfbWF4aXNfeGEAYWRwY21faW1hX2lzcwBhZHBjbV9nNzIyAGFkcGNtX2ltYV9hcGMAYWRwY21fdmltYQBhZHBjbV9hZmMAYWRwY21faW1hX29raQBhZHBjbV9kdGsAYWRwY21faW1hX3JhZABhZHBjbV9nNzI2bGUAYWRwY21fdGhwX2xlAGFkcGNtX3BzeABhZHBjbV9haWNhAGFkcGNtX2ltYV9kYXQ0AGFkcGNtX210YWYAYW1yX25iAGFtcl93YgByYV8xNDQAcmFfMjg4AHJvcV9kcGNtAGludGVycGxheV9kcGNtAHhhbl9kcGNtAHNvbF9kcGNtAHNkeDJfZHBjbQBncmVtbGluX2RwY20AbXAyAG1wMwBhYWMAYWMzAHZvcmJpcwBkdmF1ZGlvAHdtYXYxAHdtYXYyAG1hY2UzAG1hY2U2AHZtZGF1ZGlvAGZsYWMAbXAzYWR1AG1wM29uNABzaG9ydGVuAGFsYWMAd2VzdHdvb2Rfc25kMQBnc20AcWRtMgBjb29rAHRydWVzcGVlY2gAdHRhAHNtYWNrYXVkaW8AcWNlbHAAd2F2cGFjawBkc2ljaW5hdWRpbwBpbWMAbXVzZXBhY2s3AG1scABnc21fbXMAYXRyYWMzAGFwZQBuZWxseW1vc2VyAG11c2VwYWNrOABzcGVleAB3bWF2b2ljZQB3bWFwcm8Ad21hbG9zc2xlc3MAYXRyYWMzcABlYWMzAHNpcHIAbXAxAHR3aW52cQB0cnVlaGQAbXA0YWxzAGF0cmFjMQBiaW5rYXVkaW9fcmRmdABiaW5rYXVkaW9fZGN0AGFhY19sYXRtAHFkbWMAY2VsdABnNzIzXzEAZzcyOQA4c3Z4X2V4cAA4c3Z4X2ZpYgBibXZfYXVkaW8AcmFsZgBpYWMAaWxiYwBvcHVzAGNvbWZvcnRub2lzZQB0YWsAbWV0YXNvdW5kAHBhZl9hdWRpbwBhdmMAZHNzX3NwAGNvZGVjMgB3YXZlc3ludGgAc29uaWMAc29uaWNscwBldnJjAHNtdgBkc2RfbHNiZgBkc2RfbXNiZgBkc2RfbHNiZl9wbGFuYXIAZHNkX21zYmZfcGxhbmFyADRndgBpbnRlcnBsYXlhY20AeG1hMQB4bWEyAGRzdABhdHJhYzNhbABhdHJhYzNwYWwAZG9sYnlfZQBhcHR4AGFwdHhfaGQAc2JjAGR2ZF9zdWJ0aXRsZQBkdmJfc3VidGl0bGUAdGV4dAB4c3ViAHNzYQBtb3ZfdGV4dABoZG12X3Bnc19zdWJ0aXRsZQBkdmJfdGVsZXRleHQAc3J0AG1pY3JvZHZkAGVpYV82MDgAamFjb3N1YgBzYW1pAHJlYWx0ZXh0AHN0bABzdWJ2aWV3ZXIxAHN1YnZpZXdlcgBzdWJyaXAAd2VidnR0AG1wbDIAdnBsYXllcgBwanMAaGRtdl90ZXh0X3N1YnRpdGxlAHR0ZgBzY3RlXzM1AGJpbnRleHQAeGJpbgBpZGYAb3RmAGtsdgBkdmRfbmF2X3BhY2tldAB0aW1lZF9pZDMAYmluX2RhdGEAd3JhcHBlZF9hdmZyYW1lAGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQBhcHBsaWNhdGlvbi92bmQubXMtb3BlbnR5cGUAYXBwbGljYXRpb24veC10cnVldHlwZS1mb250AGFwcGxpY2F0aW9uL3gtZm9udABpbWFnZS9zdmcreG1sAGltYWdlL3gteHBpeG1hcABpbWFnZS9wbmcAaW1hZ2Uvd2VicABpbWFnZS94LXhiaXRtYXAAaW1hZ2UveC14d2luZG93ZHVtcABpbWFnZS94LXBjeABpbWFnZS9naWYAaW1hZ2UvdGlmZgBpbWFn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EBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8vMDEyMjM0NDU1NjY3Nzc4ODg5OTk5AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1NTY3ODg5Ojo7Ozw8PT09Pj4+Pz8/PwAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozs8PT4+P0BAQUFCQkNDQ0REREVFRUUAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFBQkNEREVGRkdHSEhJSUlKSkpLS0tLaDI2NAB0aHJlYWRfcmVsZWFzZV9idWZmZXIgY2FsbGVkIG9uIHBpYyAlcAoAZnJhbWUtPm5iX2V4dGVuZGVkX2J1ZiA9PSAwAGxpYmF2Y29kZWMvZGVjb2RlLmMAZGVmYXVsdF9nZXRfYnVmZmVyIGNhbGxlZCBvbiBmcmFtZSAlcABwaWMtPmRhdGFbKl0hPU5VTEwgaW4gYXZjb2RlY19kZWZhdWx0X2dldF9idWZmZXIKAFVuYWJsZSB0byBnZXQgcGl4ZWwgZm9ybWF0IGRlc2NyaXB0b3IgZm9yIGZvcm1hdCAlcwoAZGVmYXVsdF9nZXRfYnVmZmVyIGNhbGxlZCBvbiBwaWMgJXAKAHl1djQyMHAAeXV5djQyMgByZ2IyNABiZ3IyNAB5dXY0MjJwAHl1djQ0NHAAeXV2NDEwcAB5dXY0MTFwAGdyYXk4LHk4AG1vbm93AG1vbm9iAHBhbDgAeXV2ajQyMHAAeXV2ajQyMnAAeXV2ajQ0NHAAdXl2eTQyMgB1eXl2eXk0MTEAYmdyOABiZ3I0AGJncjRfYnl0ZQByZ2I4AHJnYjQAcmdiNF9ieXRlAG52MTIAbnYyMQBhcmdiAHJnYmEAYWJncgBiZ3JhAGdyYXkxNmJlAHkxNmJlAGdyYXkxNmxlAHkxNmxlAHl1djQ0MHAAeXV2ajQ0MHAAeXV2YTQyMHAAcmdiNDhiZQByZ2I0OGxlAHJnYjU2NWJlAHJnYjU2NWxlAHJnYjU1NWJlAHJnYjU1NWxlAGJncjU2NWJlAGJncjU2NWxlAGJncjU1NWJlAGJncjU1NWxlAHZhYXBpX21vY28AdmFhcGlfaWRjdAB2YWFwaV92bGQAeXV2NDIwcDE2bGUAeXV2NDIwcDE2YmUAeXV2NDIycDE2bGUAeXV2NDIycDE2YmUAeXV2NDQ0cDE2bGUAeXV2NDQ0cDE2YmUAZHh2YTJfdmxkAHJnYjQ0NGxlAHJnYjQ0NGJlAGJncjQ0NGxlAGJncjQ0NGJlAHlhOABncmF5OGEAYmdyNDhiZQBiZ3I0OGxlAHl1djQyMHA5YmUAeXV2NDIwcDlsZQB5dXY0MjBwMTBiZQB5dXY0MjBwMTBsZQB5dXY0MjJwMTBiZQB5dXY0MjJwMTBsZQB5dXY0NDRwOWJlAHl1djQ0NHA5bGUAeXV2NDQ0cDEwYmUAeXV2NDQ0cDEwbGUAeXV2NDIycDliZQB5dXY0MjJwOWxlAGdicnAAZ2JycDliZQBnYnJwOWxlAGdicnAxMGJlAGdicnAxMGxlAGdicnAxNmJlAGdicnAxNmxlAHl1dmE0MjJwAHl1dmE0NDRwAHl1dmE0MjBwOWJlAHl1dmE0MjBwOWxlAHl1dmE0MjJwOWJlAHl1dmE0MjJwOWxlAHl1dmE0NDRwOWJlAHl1dmE0NDRwOWxlAHl1dmE0MjBwMTBiZQB5dXZhNDIwcDEwbGUAeXV2YTQyMnAxMGJlAHl1dmE0MjJwMTBsZQB5dXZhNDQ0cDEwYmUAeXV2YTQ0NHAxMGxlAHl1dmE0MjBwMTZiZQB5dXZhNDIwcDE2bGUAeXV2YTQyMnAxNmJlAHl1dmE0MjJwMTZsZQB5dXZhNDQ0cDE2YmUAeXV2YTQ0NHAxNmxlAHZkcGF1AHh5ejEybGUAeHl6MTJiZQBudjE2AG52MjBsZQBudjIwYmUAcmdiYTY0YmUAcmdiYTY0bGUAYmdyYTY0YmUAYmdyYTY0bGUAeXZ5dTQyMgB5YTE2YmUAeWExNmxlAGdicmFwAGdicmFwMTZiZQBnYnJhcDE2bGUAcXN2AG1tYWwAZDNkMTF2YV92bGQAY3VkYQAwcmdiAHJnYjAAMGJncgBiZ3IwAHl1djQyMHAxMmJlAHl1djQyMHAxMmxlAHl1djQyMHAxNGJlAHl1djQyMHAxNGxlAHl1djQyMnAxMmJlAHl1djQyMnAxMmxlAHl1djQyMnAxNGJlAHl1djQyMnAxNGxlAHl1djQ0NHAxMmJlAHl1djQ0NHAxMmxlAHl1djQ0NHAxNGJlAHl1djQ0NHAxNGxlAGdicnAxMmJlAGdicnAxMmxlAGdicnAxNGJlAGdicnAxNGxlAHl1dmo0MTFwAGJheWVyX2JnZ3I4AGJheWVyX3JnZ2I4AGJheWVyX2dicmc4AGJheWVyX2dyYmc4AGJheWVyX2JnZ3IxNmxlAGJheWVyX2JnZ3IxNmJlAGJheWVyX3JnZ2IxNmxlAGJheWVyX3JnZ2IxNmJlAGJheWVyX2dicmcxNmxlAGJheWVyX2dicmcxNmJlAGJheWVyX2dyYmcxNmxlAGJheWVyX2dyYmcxNmJlAHh2bWMAeXV2NDQwcDEwbGUAeXV2NDQwcDEwYmUAeXV2NDQwcDEybGUAeXV2NDQwcDEyYmUAYXl1djY0bGUAYXl1djY0YmUAdmlkZW90b29sYm94X3ZsZABwMDEwbGUAcDAxMGJlAGdicmFwMTJiZQBnYnJhcDEybGUAZ2JyYXAxMGJlAGdicmFwMTBsZQBtZWRpYWNvZGVjAGdyYXkxMmJlAHkxMmJlAGdyYXkxMmxlAHkxMmxlAGdyYXkxMGJlAHkxMGJlAGdyYXkxMGxlAHkxMGxlAHAwMTZsZQBwMDE2YmUAZDNkMTEAZ3JheTliZQB5OWJlAGdyYXk5bGUAeTlsZQBnYnJwZjMyYmUAZ2JycGYzMmxlAGdicmFwZjMyYmUAZ2JyYXBmMzJsZQBkcm1fcHJpbWUAb3BlbmNsAEZhaWxlZCB0byBtYXAgZnJhbWUgaW50byBkZXJpdmVkIGZyYW1lIGNvbnRleHQ6ICVkLgoASW52YWxpZCBtYXBwaW5nIGZvdW5kIHdoZW4gYXR0ZW1wdGluZyB1bm1hcC4KAGF2X2ltYWdlX2dldF9saW5lc2l6ZSBmYWlsZWQKAGFicyhzcmNfbGluZXNpemUpID49IGJ5dGV3aWR0aABsaWJhdnV0aWwvaW1ndXRpbHMuYwBhYnMoZHN0X2xpbmVzaXplKSA+PSBieXRld2lkdGgAUGljdHVyZSBzaXplICV1eCV1IGlzIGludmFsaWQKAFBpY3R1cmUgc2l6ZSAldXgldSBleGNlZWRzIHNwZWNpZmllZCBtYXggcGl4ZWwgY291bnQgJWxsZCwgc2VlIHRoZSBkb2N1bWVudGF0aW9uIGlmIHlvdSB3aXNoIHRvIGluY3JlYXNlIGl0CgBJTUdVVElMUwAhZHN0LT5mLT5idWZbMF0AbGliYXZjb2RlYy9oMjY0X3BpY3R1cmUuYwBzcmMtPmYtPmJ1ZlswXQBzcmMtPnRmLmYgPT0gc3JjLT5mACFkc3QtPnByb2dyZXNzAGxpYmF2Y29kZWMvdXRpbHMuYwBidWZfaW5kZXggPD0gYnVmX3NpemUAbGliYXZjb2RlYy9oMjY0ZGVjLmMAbm8gZnJhbWUhCgBwaWN0LT5idWZbMF0gfHwgISpnb3RfZnJhbWUARHVwbGljYXRpbmcgZmllbGQgJWQgdG8gZmlsbCBtaXNzaW5nCgBzdGVyZW9fbW9kZQBjaGVja2VyYm9hcmRfcmwAY2hlY2tlcmJvYXJkX2xyAGNvbF9pbnRlcmxlYXZlZF9ybABjb2xfaW50ZXJsZWF2ZWRfbHIAcm93X2ludGVybGVhdmVkX3JsAHJvd19pbnRlcmxlYXZlZF9scgByaWdodF9sZWZ0AGxlZnRfcmlnaHQAYm90dG9tX3RvcAB0b3BfYm90dG9tAGJsb2NrX3JsAGJsb2NrX2xyAGhhcmR3YXJlIGFjY2VsZXJhdG9yIGZhaWxlZCB0byBkZWNvZGUgcGljdHVyZQoAJXAgZmluaXNoZWQgJWQgZmllbGQgJWQKAFNQUyBpcyB1bnNldAoAbm8gbW1jbyBoZXJlCgBtbWNvOiVkICVkICVkCgBtbWNvOiB1bnJlZiBzaG9ydCBmYWlsdXJlCgBtbWNvOiB1bnJlZiBzaG9ydCAlZCBjb3VudCAlZAoAbW1jbzogdW5yZWYgbG9uZyBmYWlsdXJlCgBtbWNvOiBjYW5ub3QgYXNzaWduIGN1cnJlbnQgcGljdHVyZSB0byBzaG9ydCBhbmQgbG9uZyBhdCB0aGUgc2FtZSB0aW1lCgBtbWNvOiBjYW5ub3QgYXNzaWduIGN1cnJlbnQgcGljdHVyZSB0byAyIGxvbmcgdGVybSByZWZlcmVuY2VzCgAhaC0+Y3VyX3BpY19wdHItPmxvbmdfcmVmAGxpYmF2Y29kZWMvaDI2NF9yZWZzLmMAaWxsZWdhbCBzaG9ydCB0ZXJtIHJlZmVyZW5jZSBhc3NpZ25tZW50IGZvciBzZWNvbmQgZmllbGQgaW4gY29tcGxlbWVudGFyeSBmaWVsZCBwYWlyIChmaXJzdCBmaWVsZCBpcyBsb25nIHRlcm0pCgBpbGxlZ2FsIHNob3J0IHRlcm0gYnVmZmVyIHN0YXRlIGRldGVjdGVkCgBudW1iZXIgb2YgcmVmZXJlbmNlIGZyYW1lcyAoJWQrJWQpIGV4Y2VlZHMgbWF4ICglZDsgcHJvYmFibHkgY29ycnVwdCBpbnB1dCksIGRpc2NhcmRpbmcgb25lCgBsb25nIHRlcm0gbGlzdDoKACV1IGZuOiVkIHBvYzolZCAlcAoAc2hvcnQgdGVybSBsaXN0OgoAcmVtb3ZlIHNob3J0ICVkIGNvdW50ICVkCgAlZCAlZCAlcAoARXJyb3Igc3BsaXR0aW5nIHRoZSBpbnB1dCBpbnRvIE5BTCB1bml0cy4KAEludmFsaWQgaW50ZXIgSURSIGZyYW1lCgBpbnZhbGlkIG1peGVkIElEUiAvIG5vbiBJRFIgZnJhbWVzIGNhbm5vdCBiZSBkZWNvZGVkIGluIHNsaWNlIG11bHRpdGhyZWFkaW5nIG1vZGUKAGRhdGEgcGFydGl0aW9uaW5nAFNQUyBkZWNvZGluZyBmYWlsdXJlLCB0cnlpbmcgYWdhaW4gd2l0aCB0aGUgY29tcGxldGUgTkFMCgBVbmtub3duIE5BTCBjb2RlOiAlZCAoJWQgYml0cykKAGRlY29kZV9zbGljZV9oZWFkZXIgZXJyb3IKAGlnbm9yaW5nIGxhc3QgbWlzc2luZyBzbGljZQoAQ2Fubm90IHVzZSBwcmV2aW91cyBwaWN0dXJlIGluIGVycm9yIGNvbmNlYWxtZW50CgBDYW5ub3QgdXNlIG5leHQgcGljdHVyZSBpbiBlcnJvciBjb25jZWFsbWVudAoAV2FybmluZyBNVnMgbm90IGF2YWlsYWJsZQoAJTJYIAAKAGNvbmNlYWxpbmcgJWQgREMsICVkIEFDLCAlZCBNViBlcnJvcnMgaW4gJWMgZnJhbWUKAHMtPmF2Y3R4LT5jb2RlY19pZCAhPSBBVl9DT0RFQ19JRF9IMjY0AGxpYmF2Y29kZWMvZXJyb3JfcmVzaWxpZW5jZS5jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3MtPnF1YXJ0ZXJfc2FtcGxlAGd1ZXNzX2RjKCkgaXMgb3V0IG9mIG1lbW9yeQoAbmV4dF9ibG9ja2xpc3RfbGVuZ3RoIDw9IG1iX2hlaWdodCAqIG1iX3dpZHRoAHRocmVhZCBhd2FpdGluZyAlZCBmaWVsZCAlZCBmcm9tICVwCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgUFBTICglenUgPiAlenUpCgBzcHNfaWQgJXUgb3V0IG9mIHJhbmdlCgBJbnZhbGlkIGx1bWEgYml0IGRlcHRoPSVkCgBVbmltcGxlbWVudGVkIGx1bWEgYml0IGRlcHRoPSVkAEZNTyBub3Qgc3VwcG9ydGVkCgByZWZlcmVuY2Ugb3ZlcmZsb3cgKHBwcykKAENBQkFDAENBVkxDAHdlaWdodGVkAExQQVIAQ09OU1RSAFJFRFUAOHg4RENUAHBwczoldSBzcHM6JXUgJXMgc2xpY2VfZ3JvdXBzOiVkIHJlZjoldS8ldSAlcyBxcDolZC8lZC8lZC8lZCAlcyAlcyAlcyAlcwoABgoNEBIXGRsKCxASFxkbHQ0QEhcZGx0fEBIXGRsdHyESFxkbHR8hJBcZGx0fISQmGRsdHyEkJigbHR8hJCYoKgkNDxETFRYYDQ0RExUWGBkPERMVFhgZGxETFRYYGRscExUWGBkbHB4VFhgZGxweIBYYGRscHiAhGBkbHB4gISMGDRQcDRQcIBQcICUcICUqCg4UGA4UGBsUGBseGBseIgABBAgFAgMGCQwNCgcLDg8AAAEIEAkCAwoRGCAZEgsEBQwTGiEoMCkiGxQNBgcOFRwjKjE4OTIrJB0WDxceJSwzOjs0LSYfJy41PD02Lzc+P2RlbHRhIHNjYWxlICVkIGlzIGludmFsaWQKAEN1cnJlbnQgcHJvZmlsZSBkb2Vzbid0IHByb3ZpZGUgbW9yZSBSQlNQIGRhdGEgaW4gUFBTLCBza2lwcGluZwoAIGlzIG5vdCBpbXBsZW1lbnRlZC4gVXBkYXRlIHlvdXIgRkZtcGVnIHZlcnNpb24gdG8gdGhlIG5ld2VzdCBvbmUgZnJvbSBHaXQuIElmIHRoZSBwcm9ibGVtIHN0aWxsIG9jY3VycywgaXQgbWVhbnMgdGhhdCB5b3VyIGZpbGUgaGFzIGEgZmVhdHVyZSB3aGljaCBoYXMgbm90IGJlZW4gaW1wbGVtZW50ZWQuCgBJZiB5b3Ugd2FudCB0byBoZWxwLCB1cGxvYWQgYSBzYW1wbGUgb2YgdGhpcyBmaWxlIHRvIGZ0cDovL3VwbG9hZC5mZm1wZWcub3JnL2luY29taW5nLyBhbmQgY29udGFjdCB0aGUgZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdC4gKGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnKQoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFNQUwoAY2hyb21hX2Zvcm1hdF9pZGMgJXUAc2VwYXJhdGUgY29sb3IgcGxhbmVzIGFyZSBub3Qgc3VwcG9ydGVkCgBEaWZmZXJlbnQgY2hyb21hIGFuZCBsdW1hIGJpdCBkZXB0aABpbGxlZ2FsIGJpdCBkZXB0aCB2YWx1ZSAoJWQsICVkKQoAbG9nMl9tYXhfZnJhbWVfbnVtX21pbnVzNCBvdXQgb2YgcmFuZ2UgKDAtMTIpOiAlZAoAbG9nMl9tYXhfcG9jX2xzYiAoJWQpIGlzIG91dCBvZiByYW5nZQoAcG9jX2N5Y2xlX2xlbmd0aCBvdmVyZmxvdyAlZAoAaWxsZWdhbCBQT0MgdHlwZSAlZAoAdG9vIG1hbnkgcmVmZXJlbmNlIGZyYW1lcyAlZAoAaGVpZ2h0IG92ZXJmbG93CgBtYl93aWR0aC9oZWlnaHQgb3ZlcmZsb3cKAGRpc2NhcmRpbmcgc3BzIGNyb3BwaW5nLCBvcmlnaW5hbCB2YWx1ZXMgYXJlIGw6JWQgcjolZCB0OiVkIGI6JWQKAGNyb3AgdmFsdWVzIGludmFsaWQgJWQgJWQgJWQgJWQgLyAlZCAlZAoAVlVJAE92ZXJyZWFkICVzIGJ5ICVkIGJpdHMKAE1CLUFGRgBQSUMtQUZGAEZSTQA4QjgAR3JheQA0MjAAADQyMgAANDQ0AABzcHM6JXUgcHJvZmlsZTolZC8lZCBwb2M6JWQgcmVmOiVkICVkeCVkICVzICVzIGNyb3A6JXUvJXUvJXUvJXUgJXMgJXMgJWQvJWQgYiVkIHJlbzolZAoAaWxsZWdhbCBhc3BlY3QgcmF0aW8KAFRydW5jYXRlZCBWVUkKAHRpbWVfc2NhbGUvbnVtX3VuaXRzX2luX3RpY2sgaW52YWxpZCBvciB1bnN1cHBvcnRlZCAoJXUvJXUpCgBDbGlwcGluZyBpbGxlZ2FsIG51bV9yZW9yZGVyX2ZyYW1lcyAlZAoAY3BiX2NvdW50ICVkIGludmFsaWQKAGdicgByZXNlcnZlZABjaHJvbWEtZGVyaXZlZC1uYwBjaHJvbWEtZGVyaXZlZC1jAGljdGNwAEdyZWVuIE1ldGFkYXRhIEluZm8gU0VJIG1lc3NhZ2UKACAgZ3JlZW5fbWV0YWRhdGFfdHlwZTogJWQKACAgZ3JlZW5fbWV0YWRhdGFfcGVyaW9kX3R5cGU6ICVkCgAgIGdyZWVuX21ldGFkYXRhX251bV9zZWNvbmRzOiAlZAoAICBncmVlbl9tZXRhZGF0YV9udW1fcGljdHVyZXM6ICVkCgAgIFNFSSBHUkVFTiBDb21wbGV4aXR5IE1ldHJpY3M6ICVmICVmICVmICVmCgAgIHhzZF9tZXRyaWNfdHlwZTogJWQKACAgeHNkX21ldHJpY192YWx1ZTogJWYKAFNFSSB0eXBlICVkIHNpemUgJWQgdHJ1bmNhdGVkIGF0ICVkCgB1bmtub3duIFNFSSB0eXBlICVkCgBub24tZXhpc3RpbmcgU1BTICVkIHJlZmVyZW5jZWQgaW4gYnVmZmVyaW5nIHBlcmlvZAoAeDI2NCAtIGNvcmUgJWQAeDI2NCAtIGNvcmUgMDAwMABTUFMgdW5hdmFpbGFibGUgaW4gZGVjb2RlX3BpY3R1cmVfdGltaW5nCgABAQECAgMDAgNjdF90eXBlOiVYIHBpY19zdHJ1Y3Q6JWQKAGNvbnRleHRfY291bnQgJiYgaC0+c2xpY2VfY3R4W2NvbnRleHRfY291bnQgLSAxXS5tYl95IDwgaC0+bWJfaGVpZ2h0AGxpYmF2Y29kZWMvaDI2NF9zbGljZS5jAGNvbnRleHRfY291bnQgPiAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAwMDAwQEBAYGBwcICAkJCgoLCwwMDQ0ODg8PEBARERISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQFBgcICQoMDQ8RFBYZHCAkKC0yOD9HUFplcX+QorbL4v////////////////////////////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAH/AAAB/wAAAf8AAAH/AAEB/wABAf8BAQH/AQEB/wEBAf8BAQH/AQEC/wEBAv8BAQL/AQEC/wECA/8BAgP/AgID/wICBP8CAwT/AgME/wMDBf8DBAb/AwQG/wQFB/8EBQj/BAYJ/wUHCv8GCAv/BggN/wcKDv8ICxD/CQwS/woNFP8LDxf/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGf8NERn/DREZ/w0RGQMDAwMHBwcHCwsLCw8PDw8DBwsPAwcLDwMHCw8DBwsPAAMDAwEBAQEAAwEBAwMDA2gtPmJsb2NrX29mZnNldFsxNV0gPT0gKDQgKiAoKHNjYW44WzE1XSAtIHNjYW44WzBdKSAmIDcpIDw8IGgtPnBpeGVsX3NoaWZ0KSArIDQgKiBzbC0+bGluZXNpemUgKiAoKHNjYW44WzE1XSAtIHNjYW44WzBdKSA+PiAzKQBTbGljZSBvdmVybGFwcyB3aXRoIG5leHQgYXQgJWQKAGJ5dGVzdHJlYW0gb3ZlcnJlYWQgJXRkCgBlcnJvciB3aGlsZSBkZWNvZGluZyBNQiAlZCAlZCwgYnl0ZXN0cmVhbSAldGQKAGVycm9yIHdoaWxlIGRlY29kaW5nIE1CICVkICVkCgBtYl90eXBlICVkIGluICVjIHNsaWNlIHRvbyBsYXJnZSBhdCAlZCAlZAoATm90IGVub3VnaCBkYXRhIGZvciBhbiBpbnRyYSBQQ00gYmxvY2suCgBCIHN1Yl9tYl90eXBlICV1IG91dCBvZiByYW5nZSBhdCAlZCAlZAoAUCBzdWJfbWJfdHlwZSAldSBvdXQgb2YgcmFuZ2UgYXQgJWQgJWQKAHJlZiAldSBvdmVyZmxvdwoAY2JwIHRvbyBsYXJnZSAoJXUpIGF0ICVkICVkCgAPAAcLDQ4DBQoMAQIECAYJAAECBAgDBQoMDwcLDQ4GCWRxdWFudCBvdXQgb2YgcmFuZ2UgKCVkKSBhdCAlZCAlZAoAY29ycnVwdGVkIG1hY3JvYmxvY2sgJWQgJWQgKHRvdGFsX2NvZWZmPSVkKQoASW52YWxpZCBsZXZlbCBwcmVmaXgKAG5lZ2F0aXZlIG51bWJlciBvZiB6ZXJvIGNvZWZmcyBhdCAlZCAlZAoAb3V0IG9mIHJhbmdlIGludHJhIGNocm9tYSBwcmVkIG1vZGUKAAQB//90b3AgYmxvY2sgdW5hdmFpbGFibGUgZm9yIHJlcXVlc3RlZCBpbnRyYSBtb2RlCgBsZWZ0IGJsb2NrIHVuYXZhaWxhYmxlIGZvciByZXF1ZXN0ZWQgaW50cmEgbW9kZQoABf8C/wb/AAn//////wAAAAB0b3AgYmxvY2sgdW5hdmFpbGFibGUgZm9yIHJlcXVlc3RlZCBpbnRyYSBtb2RlICVkCgAA/woA////AP8LAABsZWZ0IGJsb2NrIHVuYXZhaWxhYmxlIGZvciByZXF1ZXN0ZWQgaW50cmE0eDQgbW9kZSAlZAoAAAECAwcKCAsDBwsPESEVJQAAAAAAAAAAAAAAAAAAAAACAgMDCAsICwsLDw8VJRUlAAAAAAAAAAAAAAAAAAAAAAAAAQEHCgcKAwMHBxEhESEAAAAAAAAAAAAAAAAAAAAAAAIAAgcKBwoDCwMLESERIQAAAAAAAAAAAAAAAAAAAAAAEEBQIDBgcICQwNCgsODwUmVmZXJlbmNlICVkID49ICVkCgBncmF5IGNocm9tYQoAY2FiYWMgZGVjb2RlIG9mIHFzY2FsZSBkaWZmIGZhaWxlZCBhdCAlZCAlZAoAAAABAQICAgECAwQAAAAAAQIDAwQFBgcEBAQEBQYHBwUFBQUGBwgJBQUFBQYHCAgAAQIDBAUFBAQDAwQEBAUFBAQEBAMDBgcHBwgJCgkIBwcGCwwNCwYHCAkOCgkIBgsMDQsGCQ4KCQsMDQsOCgwAAQECAgMDBAUGBwcHCAQFBgkKCggLDAsJCQoKCAsMCwkJCgoICwwLCQkKCggNDQkJCgoIDQ0JCQoKDg4ODg5vdmVyZmxvdyBpbiBkZWNvZGVfY2FiYWNfbWJfbXZkCgAAAQIDBwoICwMHCw8RIRUlAAAAAAAAAAAAAAAAAAAAAAICAwMICwgLCwsPDxUlFSUAAAAAAAAAAAAAAAAAAAAAAAABAQcKBwoDAwcHESERIQAAAAAAAAAAAAAAAAAAAAAAAgACBwoHCgMLAwsRIREhAAAAAAAAAAAAAAAAAAAAAGludGVybmFsIGVycm9yLCBzbGljZSBlbmQgYmVmb3JlIHN0YXJ0CgAU8QI2A0oU8QI2A0rkf+lo+jX/NgczFyEXAhUAAQkAMdt2BTnzTvVBAT4MMfxJETISQAkrHQAaQxBaCWjSf+xoAUPzTvVBAT76Vu9f+j0JLf1F+lH1YAY3B0P7VgJYADr9TPZeBTYERf1RAFj5Q/tK/Er7UPlIAToAKQA/AD8AP/dTBFYAYflIDSkDPgAt/E79YOV+5GLnZelD5FLsXvBT6m7rW+5m813jf/lc+1n5YPNs/S7/Qf859139Svdc+FfpfgU2BjwGOwZF/zAARPxF+Fj+VfpO/0v5TQI2BTL9RAEyBir8UQE//EYAQwI5/kwLIwRAAT0LIxIZDBgNHQ0k9l35Sf5JDS4JMflkCTUCNQU1/j0AOAA48z/7PP8+BDn6RQQ5DicEMw1EA0ABPQk/BzIQJwUsBDQLMPs8/zsAOxYhBSwOK/9OADwJRQscAigDLAAxAC4CLAIzAC8EJwI+Bi4ANgM2AjoEPwYzBjkHNQY0BjcLLQ4kCDX/Ugc3/U4PLhYf/1QZBx75HAMcBCAAIv8eBh4GIAkfExobGh4lFBwiEUYBQwU7CUMQHhIgEiMWHRgfFyYSKxQpCz8JOwlA/17+Wfds+kz+LAAtADT9QP47/Eb8S/hS72b3TQMYACoAMAA3+jv5R/RT9VfidwE6/R3/JAEmAiv6NwA6AED9SvZaAEb8HQUfByoBO/46/Uj9UfVhADoIBQoODhINGwIoADr9RvpP+FUAAPNq8Gr2V+ty7m7yYupu62ruZ+tr6WzmcPZg9F/7W/dd6l77VglD/FD2Vf9GBzwJOgU9DDIPMhIxETYKKQcu/zMHMQg0CSkGLwI3DSkKLAYyBTUNMQQ/BkD+Rf47BkYKLAkfDCsDNQ4iCib9NA0oESAHLAcmDTIKORorDgsLDgkLEgsVCRf+IPEg8SLrJ+kq3ynhLuQm9BUdLeg10zDmQdUr7Sf2HgkSGhQbADnyUvtL7WHdfRsAHAAf/BsGIggeChgWIRMWIBofFSkaLBcvEEEORwg8Bj8RQRUYFxQaFxsgHBccGBcoGCAcHRcqEzkWNRY9C1YMKAszDjv8T/lH+0X3RvhC9kTtSfRF8EbxQ+w+7UbwQupB7D8J/hr3Ifcn+Sn+LQMxCS0bJDv6Qvkj+Sr4Lfsw9Dj6PPs++EL4TPtV+lH2TflR71DuSfxK9lP3R/dD/z34QvJCADsCOxXzIfIn+S7+MwI8Bj0RNyIqPvlc+1n5YPNs/S7/Qf859139Svdc+Ffpfvlc+1n5YPNs/S7/Qf859139Svdc+Ffpfv5V+k7/S/lNAjYFMv1EATIGKvxRAT/8RgBDAjn+TAsjBEABPQsjEhkMGA0dDST2XflJ/kkNLgkx+WQJNQI1BTX+PQA4ADjzP/s8/z4EOfpFBDkOJwQzDUT+VfpO/0v5TQI2BTL9RAEyBir8UQE//EYAQwI5/kwLIwRAAT0LIxIZDBgNHQ0k9l35Sf5JDS4JMflkCTUCNQU1/j0AOAA48z/7PP8+BDn6RQQ5DicEMw1ECxwCKAMsADEALgIsAjMALwQnAj4GLgA2AzYCOgQ/BjMGOQc1BjQGNwstDiQINf9SBzf9Tg8uFh//VBkHHvkcAxwEIAAi/x4GHgYgCR8TGhsaHiUUHCIRRgscAigDLAAxAC4CLAIzAC8EJwI+Bi4ANgM2AjoEPwYzBjkHNQY0BjcLLQ4kCDX/Ugc3/U4PLhYf/1QZBx75HAMcBCAAIv8eBh4GIAkfExobGh4lFBwiEUb8T/lH+0X3RvhC9kTtSfRF8EbxQ+w+7UbwQupB7D/7VfpR9k35Ue9Q7kn8SvZT90f3Q/89+ELyQgA7AjsJ/hr3Ifcn+Sn+LQMxCS0bJDsV8yHyJ/ku/jMCPAY9ETciKj76Qvkj+Sr4Lfsw9Dj6PPs++EL4TPxP+Uf7RfdG+EL2RO1J9EXwRvFD7D7tRvBC6kHsP/tV+lH2TflR71DuSfxK9lP3R/dD/z34QvJCADsCOwn+Gvch9yf5Kf4tAzEJLRskOxXzIfIn+S7+MwI8Bj0RNyIqPvpC+SP5Kvgt+zD0OPo8+z74QvhM82rwavZX63LubvJi6m7rau5n62vpbOZw9mD0X/tb913qXvtWCUP8UPZV/0YHPAk6BT0MMg8yEjERNgopBy7/MwcxCDQJKQYvAjcNKQosBjIFNQ0xBD8GQPNq8Gr2V+ty7m7yYupu62ruZ+tr6WzmcPZg9F/7W/dd6l77VglD/FD2Vf9GBzwJOgU9DDIPMhIxETYKKQcu/zMHMQg0CSkGLwI3DSkKLAYyBTUNMQQ/BkAOCwsOCQsSCxUJF/4g8SDxIusn6SrfKeEu5Cb0FR0t6DXTMOZB1SvtJ/YeCRIaFBsAOfJS+0vtYd19GwAcAB/8GwYiCB4KGBYhExYgGh8VKRosFy8QQQ5HDgsLDgkLEgsVCRf+IPEg8SLrJ+kq3ynhLuQm9BUdLeg10zDmQdUr7Sf2HgkSGhQbADnyUvtL7WHdfRsAHAAf/BsGIggeChgWIRMWIBofFSkaLBcvEEEOR/pM/iwALQA0/UD+O/xG/Ev4Uu9m900DGAAqADAAN/o7+Uf0U/VX4ncBOv0d/yQBJgIr+jcAOgBA/Ur2WvpM/iwALQA0/UD+O/xG/Ev4Uu9m900DGAAqADAAN/o7+Uf0U/VX4ncBOv0d/yQBJgIr+jcAOgBA/Ur2Wv1K91z4V+l+/Ur3XPhX6X79Svdc+FfpfhTxAjYDShTxAjYDSuR/6Wj6Nf82BzMWGSIAEAD+CQQp43YCQfpH808FNAky/UYKNhoiExYoADkCKSQaRdN/8WX8TPpH808FNAZF81oANAgr/kX7UvZgAjsCS/1X/WQBOP1K+lUAO/1R+Vb7X/9C/00BRv5W+0gAPQApAD8APwA/91MEVgBh+UgNKQM+DQ8HMwJQ2X/uW+9g5lHdYuhm6WHld+hj627uZtx/AFD7Wfle/FwAJwBB8VTdf/5J9Gj3W+F/AzcHOAc3CD39NQBE+Ur3WPNn81v3WfJc+Ez0V+lu6Gn2Tuxw72Oyf7p/zn/Sf/xC+078R/hIAjv/N/lG+kv4Wd53/UsgFB4W1H8ANvs9ADr/PP09+EPnVPJK+0EFNAI5AD33RfVGEjf8RwA6Bz0JKRIZCSAFKwkvACwAMwIuEyb8Qg8mDCoJIgBZBC0KHAofIfU01RIPHAAj6ibnIgAn7iD0ZqIAADjxIfwdCiX7M+Mn9zTeRcZDwSz7IAc34yABAAAbJCHnIuIk5CbkJuUi7iPwIvIg+CX6IwAeChwSGhkdKQBLAkgITQ4jEh8RIxUeES0UKhItGxoQNgdCEDgLSQpD9nTpcPFH+T0ANftC9U33UPdU9lfef+tl/Sf7Nfk99UvxTe9b52vnb+R69Uz2LPY09jn3OvBI+UX8RftK91YCQvciASALHwU0/jf+QwBJ+FkDNAcECggRCBATAyX/PftJ/0b8TgAA637pfOxu5n7nfO9p5Xnlde9m5nXldN969l/yZPhf72/kcvpZ/lD8UvdV+FH/SAVAAUMJOABFAUUHRflF+kPwTf5AAj36Q/1AAjn9Qf1CAD4JM/9C/kf+S/9G90gOPBAlAC8SIwslDCkKKQIwDCkNKQA7AzITKANCEjIT+hL6DgAa9B/wIech6iXkJ+Iq4i/WLdwx3invIAlFuT/BQsBNtjbZNN0p9iQAKP8eDhwaFyUMNwtBJd8n3CjbJuIu3yriKOgx4yb0KPYm/S77HxQdHhksDDALMRotFhYXFhsVIRQaHB4YGyISKhknEjIMRhU2DkcLUxkgFTEVNvtV+lH2TflR71DuSfxK9lP3R/dD/z34QvJCADsCOxH2IPMq9zH7NQBAA0QKQhsvOftHABj/JP4q/jT3Ofo//EH8Q/lS/VH9TPlI+k70SPJE/Ub6TPtC+z4AOfw99zwBNgI6EfYg8yr3Mfs1AEADRApCGy85AFD7Wfle/FwAJwBB8VTdf/5J9Gj3W+F/AFD7Wfle/FwAJwBB8VTdf/5J9Gj3W+F/82fzW/dZ8lz4TPRX6W7oafZO7HDvY7J/un/Of9J//EL7TvxH+EgCO/83+Ub6S/hZ3nf9SyAUHhbUfwA2+z0AOv88/T34Q+dU8kr7QQU0AjkAPfdF9UYSN/Nn81v3WfJc+Ez0V+lu6Gn2Tuxw72Oyf7p/zn/Sf/xC+078R/hIAjv/N/lG+kv4Wd53/UsgFB4W1H8ANvs9ADr/PP09+EPnVPJK+0EFNAI5AD33RfVGEjcELQocCh8h9TTVEg8cACPqJuciACfuIPRmogAAOPEh/B0KJfsz4yf3NN5FxkPBLPsgBzfjIAEAABskIeci4iTkJuQm5SLuI/Ai8iD4JfojAB4KHBIaGR0pBC0KHAofIfU01RIPHAAj6ibnIgAn7iD0ZqIAADjxIfwdCiX7M+Mn9zTeRcZDwSz7IAc34yABAAAbJCHnIuIk5CbkJuUi7iPwIvIg+CX6IwAeChwSGhkdKftV+lH2TflR71DuSfxK9lP3R/dD/z34QvJCADsCO/1R/Uz5SPpO9EjyRP1G+kz7Qvs+ADn8Pfc8ATYCOhH2IPMq9zH7NQBAA0QKQhsvORH2IPMq9zH7NQBAA0QKQhsvOftHABj/JP4q/jT3Ofo//EH8Q/lS+1X6UfZN+VHvUO5J/Er2U/dH90P/PfhC8kIAOwI7/VH9TPlI+k70SPJE/Ub6TPtC+z4AOfw99zwBNgI6EfYg8yr3Mfs1AEADRApCGy85EfYg8yr3Mfs1AEADRApCGy85+0cAGP8k/ir+NPc5+j/8QfxD+VLrful87G7mfud872nleeV172bmdeV033r2X/Jk+F/vb+Ry+ln+UPxS91X4Uf9IBUABQwk4AEUBRQdF+UX6Q/BN/kACPfpD/UACOf1B/UIAPgkz/0L+R/5L637pfOxu5n7nfO9p5Xnlde9m5nXldN969l/yZPhf72/kcvpZ/lD8UvdV+FH/SAVAAUMJOABFAUUHRflF+kPwTf5AAj36Q/1AAjn9Qf1CAD4JM/9C/kf+SxP6EvoOABr0H/Ah5yHqJeQn4iriL9Yt3DHeKe8gCUW5P8FCwE22Ntk03Sn2JAAo/x4OHBoXJQw3C0El3yfcKNsm4i7fKuIo6DHjJvQo9ib9LvsfFB0eGSwT+hL6DgAa9B/wIech6iXkJ+Iq4i/WLdwx3invIAlFuT/BQsBNtjbZNN0p9iQAKP8eDhwaFyUMNwtBJd8n3CjbJuIu3yriKOgx4yb0KPYm/S77HxQdHhks6XDxR/k9ADX7QvVN91D3VPZX3n/rZf0n+zX5PfVL8U3vW+dr52/kevVM9iz2NPY59zrwSPlF/EX7SvdW6XDxR/k9ADX7QvVN91D3VPZX3n/rZf0n+zX5PfVL8U3vW+dr52/kevVM9iz2NPY59zrwSPlF/EX7SvdW/kn0aPdb4X/+SfRo91vhf/5J9Gj3W+F/FPECNgNKFPECNgNK5H/paPo1/zYHMx0QGQAOAPYz/T7lYxoQ/FXoZgU5BjnvSQ45FCgUCh0ANgAlKgxh4H/qdf5K/FXoZgU5+l3yWPosBDf1WfFn63QTORQ6BFQGYAE/+1XzagU/Bkv9Wv9lAzf8T/5L9GH5MgE8ACkAPwA/AD/3UwRWAGH5SA0pAz4HIvdY7H/cf+9b8l/nVOdW9FnvW+F/8kzuZ/Na238LUAVMAlQFTvo3BD3yU9t/+0/1aPVb4n8AQf5PAEj8XPo4A0T4R/Ni/Fb0WPtS/Uj8Q/hI8Fn3Rf87BUIEOfxH/kcCOv9K/Cz/RQA++TP8L/oq/Sn6NQhM9071Uwk0AEP7WgFD8Uj7S/hQ61PrQPMf50DjXglLET/4Svsj/hsNWwNB+UUITfZCAz79ROxRAB4BB/0X60oQQul8ESUs7jLe6n8EJwAqByILHQgfBiUHKgMoCCENKw0kBC8DNwI6BjwILAssDioHMAQ4BDQNJQkxEzoKMAwtAEUUIQg/I+4h5xz9GAobACLyNNQn6BMRHxkkHRghIg8eFBZJFCITHxssExAPJA8kFRwZFR4UHwwbEBgqAF0OOA85Gibof+hz6lL3PgA1ADvyVfNZ8171XON/62TyOfRD9Uf2TetV8FjpaPFi23/2Uvgw+D34QvlG8kv2T/dT9FzubPxP6kXwS/46ATrzTvdT/FHzY/NR+ibzPvo6/jvwSfZM81b3U/ZXAADqf+d/53jlf+1y6XXnduZ16HHkduF423z2XvFm9mPzas5/+1wROftW8170W/5NAEf/SQRA+VEFQA85AUMARPZDAUQATQJAAET7Tgc3BTsCQQ42DywFPAJG/kzuVgxGBUD0Rgs3BTgARQJB+koFNgc2+kz1Uv5N/k0ZKhHzEPcR9BvrJeIp2CrXMNEn4C7YNM0u1zTZK+0gCz3JONI+zlG9Lewj/hwPIgEnAR4RFCYSLQ82AE8k8CXyJe8gASIPHQ8YGSIWHxAjEh8cISkkHBsvFT4SHxMaJBgYFxsQGB4fHRYpFioQPA80DjwDTvB7FTUWOBk9FSETMhE9/U74SvdI9kjuS/RH9T/7Ru9L8kjwQ/g18jv3NPVECf4e9h/8If8hBx8MJRcfJhRA90f5Jfgs9TH2OPQ7+D/3Q/pE9k/9TvhK90j2SO5L9Ef1P/tG70vySPBD+DXyO/c09UQJ/h72H/wh/yEHHwwlFx8mFEALUAVMAlQFTvo3BD3yU9t/+0/1aPVb4n8LUAVMAlQFTvo3BD3yU9t/+0/1aPVb4n/8VvRY+1L9SPxD+EjwWfdF/zsFQgQ5/Ef+RwI6/0r8LP9FAD75M/wv+ir9Kfo1CEz3TvVTCTQAQ/taAUPxSPtL+FDrU+tA8x/nQONeCUsRP/hK+yP+Gw1b/Fb0WPtS/Uj8Q/hI8Fn3Rf87BUIEOfxH/kcCOv9K/Cz/RQA++TP8L/oq/Sn6NQhM9071Uwk0AEP7WgFD8Uj7S/hQ61PrQPMf50DjXglLET/4Svsj/hsNWwQnACoHIgsdCB8GJQcqAygIIQ0rDSQELwM3AjoGPAgsCywOKgcwBDgENA0lCTETOgowDC0ARRQhCD8j7iHnHP0YChsAIvI01CfoExEfGSQdGCEiDx4UFkkEJwAqByILHQgfBiUHKgMoCCENKw0kBC8DNwI6BjwILAssDioHMAQ4BDQNJQkxEzoKMAwtAEUUIQg/I+4h5xz9GAobACLyNNQn6BMRHxkkHRghIg8eFBZJ/U74SvdI9kjuS/RH9T/7Ru9L8kjwQ/g18jv3NPVE/U74SvdI9kjuS/RH9T/7Ru9L8kjwQ/g18jv3NPVECf4e9h/8If8hBx8MJRcfJhRACf4e9h/8If8hBx8MJRcfJhRA90f5Jfgs9TH2OPQ7+D/3Q/pE9k/9TvhK90j2SO5L9Ef1P/tG70vySPBD+DXyO/c09UT9TvhK90j2SO5L9Ef1P/tG70vySPBD+DXyO/c09UQJ/h72H/wh/yEHHwwlFx8mFEAJ/h72H/wh/yEHHwwlFx8mFED3R/kl+Cz1MfY49Dv4P/dD+kT2T+p/53/neOV/7XLpded25nXoceR24XjbfPZe8Wb2Y/Nqzn/7XBE5+1bzXvRb/k0AR/9JBED5UQVADzkBQwBE9kMBRABNAkAARPtOBzcFOwJBDjYPLAU8Akbqf+d/53jlf+1y6XXnduZ16HHkduF423z2XvFm9mPzas5/+1wROftW8170W/5NAEf/SQRA+VEFQA85AUMARPZDAUQATQJAAET7Tgc3BTsCQQ42DywFPAJGEfMQ9xH0G+sl4inYKtcw0SfgLtg0zS7XNNkr7SALPck40j7OUb0t7CP+HA8iAScBHhEUJhItDzYATyTwJfIl7yABIg8dDxgZIhYfECMSHxwhKSQcGy8VPhHzEPcR9BvrJeIp2CrXMNEn4C7YNM0u1zTZK+0gCz3JONI+zlG9Lewj/hwPIgEnAR4RFCYSLQ82AE8k8CXyJe8gASIPHQ8YGSIWHxAjEh8cISkkHBsvFT7oc+pS9z4ANQA78lXzWfNe9Vzjf+tk8jn0Q/VH9k3rVfBY6WjxYtt/9lL4MPg9+EL5RvJL9k/3U/Rc7mzoc+pS9z4ANQA78lXzWfNe9Vzjf+tk8jn0Q/VH9k3rVfBY6WjxYtt/9lL4MPg9+EL5RvJL9k/3U/Rc7mz7T/Vo9Vvif/tP9Wj1W+J/+0/1aPVb4n8U8QI2A0oU8QI2A0rkf+lo+jX/NgczAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQA/AD8AP/dTBFYAYflIDSkDPgALATcARe9/82YAUvlK62vlf+F/6H/uX+V/63Lif+979HPwevVz9D/+RPFU82j9Rvhd9lrif/9K+mH5W+x//Dj7UvlM6n35XfVX/U37R/w//ET0VPk++UEIPQU4/kIBQAA9/k4BMgc0CiMALAsmAS0ALgUsHxEBMwcyHBMQIQ4+82zxZPNl81v0XvZY8FT2VvlT81ftXgFGAEj7ShI7+GbxZABf/EsCSPVL/UcPLvNFAD4AQRUl8UgJORA2AD4MSBgADwkIGQ0SDwkNEwolDBIGHRQhDx4ELQE6AD4HPQwmCy0PJwsqDSwQLQwpCjEeIhIqCjcRMxEuAFka7RbvGu8e5xzsIekl5SHpKOQm7yH1KPEp+iYBKREe+hsDGhYl8CP8Jvgm/SUDJgUqACMQJxYOMBslFTwMRAJh/Uf6Kvsy/Tb+PgA6AT/+SP9K91v7Q/sb/Sf+LAAu8ED4RPZO+k32VvRc8Tf2PPo+/EH0SfhM+VD3WO9u9WHsVPVP+kn8SvNW82D1Ye11+E77Ifww/jX9PvNH9k/0VvNa8mEAAPpd+lT4TwBC/0cAPv48/jv7S/0+/Dr3Qv9PAEcDRAos+T4PJA4oEBsMHQEsFCQSIAUqATAKPhEuCUD0aPVh8GD5WPhV+VX3VfNYBEL9Tf1M+kwKOv9M/1P5Y/JfAl8ATPtKAEb1SwFEAEHySQM+BD7/RPNLCzcFQAxGDwYGEwcQDA4SDQ0LDQ8PEAwXDRcPFA4aDiwRKBEvGBEVFRkWHxsWHRMjDjIKOQc//k38Uv1eCUX0bSTdJN4g5iXiLOAi7iLxKPEh+SP7IQAmAiENFyMNOh39GgAWHh/5I/Ei/SIDJP8iBSALIwUiDCcLHh0iGh0nE0IfFR8fGTLveOxw7nL1VfFc8lnmR/FR8lAARPJG6DjpROgy9UoX8xrzKPEx8iwDLQYsIiE2E1L9S/8XASIBKwA2/jcAPQFAAET3XPJq82HxWvRa7lj2SfdP8lb2SfZG9kX7QvdA+zoCOxX2GPUc+Bz/HQMdCSMUHSQOQ+979HPwevVz9D/+RPFU82j9Rvhd9lrif+979HPwevVz9D/+RPFU82j9Rvhd9lrif/ld9Vf9TftH/D/8RPRU+T75QQg9BTj+QgFAAD3+TgEyBzQKIwAsCyYBLQAuBSwfEQEzBzIcExAhDj7zbPFk82XzW/Re9ljwVPZW+VPzV+1eAUYASPtKEjv5XfVX/U37R/w//ET0VPk++UEIPQU4/kIBQAA9/k4BMgc0CiMALAsmAS0ALgUsHxEBMwcyHBMQIQ4+82zxZPNl81v0XvZY8FT2VvlT81ftXgFGAEj7ShI7GAAPCQgZDRIPCQ0TCiUMEgYdFCEPHgQtAToAPgc9DCYLLQ8nCyoNLBAtDCkKMR4iEioKNxEzES4AWRrtFu8a7x7nHOwh6SXlIeko5CbvIfUo8Sn6JgEpERgADwkIGQ0SDwkNEwolDBIGHRQhDx4ELQE6AD4HPQwmCy0PJwsqDSwQLQwpCjEeIhIqCjcRMxEuAFka7RbvGu8e5xzsIekl5SHpKOQm7yH1KPEp+iYBKRHveOxw7nL1VfFc8lnmR/FR8lAARPJG6DjpROgy9UryavNh8Vr0Wu5Y9kn3T/JW9kn2RvZF+0L3QPs6AjsX8xrzKPEx8iwDLQYsIiE2E1IV9hj1HPgc/x0DHQkjFB0kDkP9S/8XASIBKwA2/jcAPQFAAET3XO947HDucvVV8VzyWeZH8VHyUABE8kboOOlE6DL1SvJq82HxWvRa7lj2SfdP8lb2SfZG9kX7QvdA+zoCOxfzGvMo8THyLAMtBiwiITYTUhX2GPUc+Bz/HQMdCSMUHSQOQ/1L/xcBIgErADb+NwA9AUAARPdc+l36VPhPAEL/RwA+/jz+O/tL/T78OvdC/08ARwNECiz5Pg8kDigQGwwdASwUJBIgBSoBMAo+ES4JQPRo9WHwYPlY+FX5VfdV81gEQv1N/Uz6TAo6/0z/U/pd+lT4TwBC/0cAPv48/jv7S/0+/Dr3Qv9PAEcDRAos+T4PJA4oEBsMHQEsFCQSIAUqATAKPhEuCUD0aPVh8GD5WPhV+VX3VfNYBEL9Tf1M+kwKOv9M/1MPBgYTBxAMDhINDQsNDw8QDBcNFw8UDhoOLBEoES8YERUVGRYfGxYdEyMOMgo5Bz/+TfxS/V4JRfRtJN0k3iDmJeIs4CLuIvEo8SH5I/shACYCIQ0XIw06DwYGEwcQDA4SDQ0LDQ8PEAwXDRcPFA4aDiwRKBEvGBEVFRkWHxsWHRMjDjIKOQc//k38Uv1eCUX0bSTdJN4g5iXiLOAi7iLxKPEh+SP7IQAmAiENFyMNOv1H+ir7Mv02/j4AOgE//kj/Svdb+0P7G/0n/iwALvBA+ET2TvpN9lb0XPE39jz6PvxB9En4TPlQ91jvbv1H+ir7Mv02/j4AOgE//kj/Svdb+0P7G/0n/iwALvBA+ET2TvpN9lb0XPE39jz6PvxB9En4TPlQ91jvbv1G+F32WuJ//Ub4XfZa4n/9Rvhd9lrif2xpYmF2dXRpbC9tZW1faW50ZXJuYWwuaABNdWx0aXBsZSBmZl90aHJlYWRfZmluaXNoX3NldHVwKCkgY2FsbHMKAFRvbyBtYW55IGZpZWxkcwoAQnJva2VuIGZyYW1lIHBhY2tldGl6aW5nCgBzbCA9PSBoLT5zbGljZV9jdHgAUFBTIGNoYW5nZWQgYmV0d2VlbiBzbGljZXMKAFNQUyBjaGFuZ2VkIGluIHRoZSBtaWRkbGUgb2YgdGhlIGZyYW1lCgBDaGFuZ2luZyBmaWVsZCBtb2RlICglZCAtPiAlZCkgYmV0d2VlbiBzbGljZXMgaXMgbm90IGFsbG93ZWQKAHVuc2V0IGN1cl9waWNfcHRyIG9uIHNsaWNlICVkCgBJbnZhbGlkIG1peCBvZiBJRFIgYW5kIG5vbi1JRFIgc2xpY2VzCgBmaXJzdF9tYl9pbl9zbGljZSBvdmVyZmxvdwoAUG9zc2libHkgdG9vIG1hbnkgc2xpY2VzICglZCA+PSAlZCksIGluY3JlYXNlIE1BWF9TTElDRVMgYW5kIHJlY29tcGlsZSBpZiB0aGVyZSBhcmUgYXJ0aWZhY3RzCgBUAEIARgAgZml4ACBJRFIAYwBTUEFUAFRFTVAAc2xpY2U6JWQgJXMgbWI6JWQgJWMlcyVzIGZyYW1lOiVkIHBvYzolZC8lZCByZWY6JWQvJWQgcXA6JWQgbG9vcDolZDolZDolZCB3ZWlnaHQ6JWQlcyAlcwoAY3VyLT5tYmFmZiA9PSAoaCktPm1iX2FmZl9mcmFtZQBsaWJhdmNvZGVjL2gyNjRfZGlyZWN0LmMAY28gbG9jYXRlZCBQT0NzIHVuYXZhaWxhYmxlCgBwb2NkaWZmIG92ZXJmbG93CgBwb2NkaWZmMCBvdmVyZmxvdwoAYWJzX2RpZmZfcGljX251bSBvdmVyZmxvdwoAbG9uZ190ZXJtX3BpY19pZHggb3ZlcmZsb3cKAHJlZmVyZW5jZSBwaWN0dXJlIG1pc3NpbmcgZHVyaW5nIHJlb3JkZXIKAE1pc3NpbmcgcmVmZXJlbmNlIHBpY3R1cmUsIGRlZmF1bHQgaXMgJWQKAGF2X2J1ZmZlcl9nZXRfcmVmX2NvdW50KHNsLT5yZWZfbGlzdFtsaXN0XVtpbmRleF0ucGFyZW50LT5mLT5idWZbMF0pID4gMABsZW4gPD0gMzIARGlzY2FyZGluZyBtaXNtYXRjaGluZyByZWZlcmVuY2UKAGluZGV4IDwgZGVmX2xlbgBoLT5jdXJfcGljX3B0cgBoLT5jdXJfcGljX3B0ci0+Zi0+YnVmWzBdAEludmFsaWQgZmllbGQgbW9kZSBjb21iaW5hdGlvbiAlZC8lZAoARm91bmQgcmVmZXJlbmNlIGFuZCBub24tcmVmZXJlbmNlIGZpZWxkcyBpbiB0aGUgc2FtZSBmcmFtZSwgd2hpY2gARnJhbWUgbnVtIGdhcCAlZCAlZAoASW52YWxpZCBQT0MgJWQ8JWQKAEluY3JlYXNpbmcgcmVvcmRlciBidWZmZXIgdG8gJWQKAHBpY3MgPD0gMTYAb29vAG5vIHBpY3R1cmUgJXMKAEF0dGVtcHQgdG8gc3RhcnQgYSBmcmFtZSBvdXRzaWRlIFNFVFVQIHN0YXRlCgBubyBmcmFtZSBidWZmZXIgYXZhaWxhYmxlCgBkZXNjLT5mbGFncyAmICgxIDw8IDQpACFwaWMtPmYtPmRhdGFbMF0AIXBpYy0+aHdhY2NlbF9waWN0dXJlX3ByaXZhdGUAdGhyZWFkX2dldF9idWZmZXIoKSBmYWlsZWQKAGdldF9idWZmZXIoKSBjYW5ub3QgYmUgY2FsbGVkIGFmdGVyIGZmX3RocmVhZF9maW5pc2hfc2V0dXAoKQoAZ2V0X2J1ZmZlcigpIGZhaWxlZAoAdmlkZW9fZ2V0X2J1ZmZlcjogaW1hZ2UgcGFyYW1ldGVycyBpbnZhbGlkCgBwaWMtPmRhdGFbKl0hPU5VTEwgaW4gZ2V0X2J1ZmZlcl9pbnRlcm5hbAoAZnJhbWUtPmRhdGFbaV0AQnVmZmVyIHJldHVybmVkIGJ5IGdldF9idWZmZXIyKCkgZGlkIG5vdCB6ZXJvIHVudXNlZCBwbGFuZSBwb2ludGVycwoASW5jb25zaXN0ZW50IGNoYW5uZWwgY29uZmlndXJhdGlvbi4KAFRvbyBtYW55IGNoYW5uZWxzOiAlZC4KAGNoYW5naW5nIHdpZHRoICVkIC0+ICVkIC8gaGVpZ2h0ICVkIC0+ICVkIG9uIHNsaWNlICVkCgBSZWluaXQgY29udGV4dCB0byAlZHglZCwgcGl4X2ZtdDogJXMKAGgyNjRfc2xpY2VfaGVhZGVyX2luaXQoKSBmYWlsZWQKAENvdWxkIG5vdCBhbGxvY2F0ZSBtZW1vcnkKAFVuc3VwcG9ydGVkIGJpdCBkZXB0aCAlZAoAY29udGV4dF9pbml0KCkgZmFpbGVkLgoAQ2Fubm90IGFsbG9jYXRlIG1lbW9yeS4KAFJlZmVyZW5jZSBub3QgYXZhaWxhYmxlIGZvciBlcnJvciBjb25jZWFsaW5nCgBSZWZlcmVuY2UgaW52YWxpZAoAbGliYXZjb2RlYy9oMjY0cHJlZC5jAGJpdF9kZXB0aDw9OABsaWJhdmNvZGVjL2gyNjRkc3AuYwAAEAAggKAMDRQVDg8WFxwdJCUeHyYnNDU8PTY3Pj9ERUxNRkdOT1xdZGVeX2ZnbG10dW5vdncAKFAABAEIDAUJDQIGCg4DBwsPAAAJERIMKBsHIzkdHjomNS8BAhgLEzAUDioyFiU7Hzw3CAMgBBopDRUxKw8sNCc9PhAKGQUhIgYcOCQXMy0uNj8AAAgQAQkYIBECGSgwOCEKAxIpMTkaCwQTIioyOhsMBRQjKzM7HA0GFSQsNDwdDhYlLTU9HgcPJi42PhcfJy83PwAACQI4EhoiGyMcJB0tBzYnCBgZISkLKgwrDSwONQ8+LxAgKAoxBDIFMwY0Fj0mFzcBETADORM6FDsVPCUeLh8/AAABAjUDBzYbBCYpCCI3MBw+BScuLCoWCRgjOzgxEh0LPzQGGiUoIS89LSsVFzoRCjMZJCA8FDkQMh8TDx4ODQxpZ25vcmluZyBpbnZhbGlkIFNBUjogJWQvJWQKAHNwcy0+Y3JvcF9yaWdodCArIHNwcy0+Y3JvcF9sZWZ0IDwgKHVuc2lnbmVkKWgtPndpZHRoAHNwcy0+Y3JvcF90b3AgKyBzcHMtPmNyb3BfYm90dG9tIDwgKHVuc2lnbmVkKWgtPmhlaWdodABnZXRfZm9ybWF0KCkgY2Fubm90IGJlIGNhbGxlZCBhZnRlciBmZl90aHJlYWRfZmluaXNoX3NldHVwKCkKAG4gPj0gMQBJbnZhbGlkIGZvcm1hdCByZXR1cm5lZCBieSBnZXRfZm9ybWF0KCkgY2FsbGJhY2suCgBGb3JtYXQgJXMgY2hvc2VuIGJ5IGdldF9mb3JtYXQoKS4KAEludmFsaWQgcmV0dXJuIGZyb20gZ2V0X2Zvcm1hdCgpOiAlcyBub3QgaW4gcG9zc2libGUgbGlzdC4KAEludmFsaWQgc2V0dXAgZm9yIGZvcm1hdCAlczogZG9lcyBub3QgbWF0Y2ggdGhlIGZvcm1hdCBvZiB0aGUgcHJvdmlkZWQgZnJhbWVzIGNvbnRleHQuCgBJbnZhbGlkIHNldHVwIGZvciBmb3JtYXQgJXM6IGRvZXMgbm90IG1hdGNoIHRoZSB0eXBlIG9mIHRoZSBwcm92aWRlZCBkZXZpY2UgY29udGV4dC4KAEludmFsaWQgc2V0dXAgZm9yIGZvcm1hdCAlczogbWlzc2luZyBjb25maWd1cmF0aW9uLgoARm9ybWF0ICVzIHJlcXVpcmVzIGh3YWNjZWwgaW5pdGlhbGlzYXRpb24uCgBGb3JtYXQgJXMgbm90IHVzYWJsZSwgcmV0cnlpbmcgZ2V0X2Zvcm1hdCgpIHdpdGhvdXQgaXQuCgBJZ25vcmluZyBleHBlcmltZW50YWwgaHdhY2NlbDogJXMKAEZhaWxlZCBzZXR1cCBmb3IgZm9ybWF0ICVzOiBod2FjY2VsIGluaXRpYWxpc2F0aW9uIHJldHVybmVkIGVycm9yLgoAIWgtPnNldHVwX2ZpbmlzaGVkAHNsaWNlIHR5cGUgJWQgdG9vIGxhcmdlIGF0ICVkCgBBIG5vbi1pbnRyYSBzbGljZSBpbiBhbiBJRFIgTkFMIHVuaXQuCgBGcmFtZSBudW0gY2hhbmdlIGZyb20gJWQgdG8gJWQKAFRoaXMgc3RyZWFtIHdhcyBnZW5lcmF0ZWQgYnkgYSBicm9rZW4gZW5jb2RlciwgaW52YWxpZCA4eDggaW5mZXJlbmNlCgBjYWJhY19pbml0X2lkYyAldSBvdmVyZmxvdwoAUVAgJXUgb3V0IG9mIHJhbmdlCgBkZWJsb2NraW5nX2ZpbHRlcl9pZGMgJXUgb3V0IG9mIHJhbmdlCgBkZWJsb2NraW5nIGZpbHRlciBwYXJhbWV0ZXJzICVkICVkIG91dCBvZiByYW5nZQoAaWxsZWdhbCBsb25nIHJlZiBpbiBtZW1vcnkgbWFuYWdlbWVudCBjb250cm9sIG9wZXJhdGlvbiAlZAoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAlZCBpcyBvdXQgb2YgcmFuZ2UKAGNocm9tYV9sb2cyX3dlaWdodF9kZW5vbSAlZCBpcyBvdXQgb2YgcmFuZ2UKAE91dCBvZiByYW5nZSB3ZWlnaHQKAHJlZmVyZW5jZSBjb3VudCBvdmVyZmxvdwoAaWxsZWdhbCBtb2RpZmljYXRpb25fb2ZfcGljX251bXNfaWRjICV1CgByZWZlcmVuY2Ugb3ZlcmZsb3cgJXUgPiAldSBvciAldSA+ICV1CgBJbnZhbGlkIHplcm8tc2l6ZWQgVkNMIE5BTCB1bml0CgBFeGNlZWRlZCBuZXh0IE5BTEZGIHBvc2l0aW9uLCByZS1zeW5jaW5nLgoATm8gc3RhcnQgY29kZSBpcyBmb3VuZC4KAE5BTEZGOiBDb25zdW1lZCBvbmx5ICVkIGJ5dGVzIGluc3RlYWQgb2YgJWQKAEludmFsaWQgTkFMIHVuaXQgJWQsIHNraXBwaW5nLgoAbmFsX3VuaXRfdHlwZTogJWQsIG5hbF9yZWZfaWRjOiAlZAoAbmFsX3VuaXRfdHlwZTogJWQoJXMpLCBudWhfbGF5ZXJfaWQ6ICVkLCB0ZW1wb3JhbF9pZDogJWQKAD8AU0VJX1NVRkZJWABTRUlfUFJFRklYAEZEX05VVABFT0JfTlVUAEVPU19OVVQAQVVEAFBQUwBTUFMAVlBTAENSQV9OVVQASURSX05fTFAASURSX1dfUkFETABCTEFfTl9MUABCTEFfV19SQURMAEJMQV9XX0xQAFJBU0xfUgBSQVNMX04AUkFETF9SAFJBRExfTgBTVFNBX1IAU1RTQV9OAFRTQV9SAFRTQV9OAFRSQUlMX1IAVFJBSUxfTgBuYWwtPnNraXBwZWRfYnl0ZXNfcG9zX3NpemUgPj0gbmFsLT5za2lwcGVkX2J5dGVzAGxpYmF2Y29kZWMvaDI2NDVfcGFyc2UuYwB2YWwgfHwgIW1pbl9zaXplAC4vbGliYXZ1dGlsL21lbV9pbnRlcm5hbC5oAGF2Y0MgJWQgdG9vIHNob3J0CgBEZWNvZGluZyBzcHMgJWQgZnJvbSBhdmNDIGZhaWxlZAoARGVjb2RpbmcgcHBzICVkIGZyb20gYXZjQyBmYWlsZWQKAFNQUyBkZWNvZGluZyBmYWlsdXJlLCB0cnlpbmcgYWdhaW4gYWZ0ZXIgZXNjYXBpbmcgdGhlIE5BTAoAcHRocmVhZF9vbmNlIGhhcyBmYWlsZWQuAEVycm9yIHJlc2lsaWVuY2Ugd2l0aCBzbGljZSB0aHJlYWRzIGlzIGVuYWJsZWQuIEl0IGlzIHVuc2FmZSBhbmQgdW5zdXBwb3J0ZWQgYW5kIG1heSBjcmFzaC4gVXNlIGl0IGF0IHlvdXIgb3duIHJpc2sKAAIAAAAGAQAABgYDAAYHBwYGCAgHAQAAAAcBAAAEBgEAAwMCBQIDAgABAAAABwIAAAcHAwAJBwcFCQkHBgoKCQcLCwoHDAwLCg0MDAsBAAAADwEAAA4NAQAHDAsBBgUKAQcGBAkHBgUIBwYFBAcFBAQBAAAABgIAAAgGAwAJCAcFCgkIBgsKCQcNCwoIDQ0LCQ0NDQoODg0LDg4ODQ8PDg4PDw8OEA8PDxAQEA8QEBAQEBAQEAIAAAAGAgAABgUDAAcGBgQIBgYECAcHBQkICAYLCQkGCwsLBwwLCwkMDAwLDAwMCw0NDQwNDQ0NDQ4NDQ4ODg0ODg4OBAAAAAYEAAAGBQQABgUFBAcFBQQHBQUEBwYGBAcGBgQIBwcFCAgHBgkICAcJCQgICQkJCAoJCQkKCgoKCgoKCgoKCgoGAAAABgYAAAYGBgAGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgEAAAAFAQAABwQBAAcGBQMHBgUDBwYFBA8GBQQLDgUECAoNBA8OCQQLCg0MDw4JDAsKDQgPAQkMCw4NCAcKCQwEBgUIAwAAAAsCAAAHBwMABwoJBQcGBQQEBgUGBwYFCA8GBQQLDg0EDwoJBAsODQwICgkIDw4NDAsKCQwHCwYICQgKAQcGBQQPAAAADw4AAAsPDQAIDA4MDwoLCwsICQoJDg0JCAoJCA8ODQ0LDgoMDwoNDAsOCQwICg0IDQcJDAkMCwoFCAcGAQQDAgMAAAAAAQAABAUGAAgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/AQIDAwECAgABAQAAAQEBAAEBAAABAAAAAQMDBAQEBQUDAgMDAwMDAAMDAgIDAwAAAwICAgMAAAACAgICAAAAAAICAQAAAAAAAQEAAAAAAAABAgMCAwEBAAABAQQFBgcAAAEBAgYHAAAGAAECBwAAAAABAgMAAAAAAAEBAAAAAAAAAQAAAAAAAAEDAwQEBQUGBgcHCAgJCQkDAwMDAwQEBAQFBQYGBgYABAMDAwQEAwMEBQUGBQYAAAUDBAQDAwMEAwQFBQUAAAAEBAQDAwMDAwQFBAUAAAAABgUDAwMDAwMEAwYAAAAAAAYFAwMDAgMEAwYAAAAAAAAGBAUDAgIDAwYAAAAAAAAABgYEAgIDAgUAAAAAAAAAAAUFAwICAgQAAAAAAAAAAAAEBAMDAQMAAAAAAAAAAAAABAQCAQMAAAAAAAAAAAAAAAMDAQIAAAAAAAAAAAAAAAACAgEAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwIDAgMCAwIDAgMCAwIBBwYFBAMFBAMCAwIDAgEAAAUHBgUEAwQDAgMCAQEAAAADBwUEBgUEAwMCAgEAAAAABQQDBwYFBAMCAQEAAAAAAAEBBwYFBAMCAQEAAAAAAAABAQUEAwMCAQEAAAAAAAAAAQEBAwMCAgEAAAAAAAAAAAEAAQMCAQEBAAAAAAAAAAABAAEDAgEBAAAAAAAAAAAAAAEBAgEDAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAECAgAAAAAAAAAAAAAAAAACAgICAAAAAAAAAAAAAAAAAgICAwMAAAAAAAAAAAAAAAICAwMDAwAAAAAAAAAAAAACAwMDAwMDAAAAAAAAAAAAAwMDAwMDAwQFBgcICQoLAAEAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAwIBAAAAAAAAAAAAAAAAAAMCAQEAAAAAAAAAAAAAAAADAgMCAQAAAAAAAAAAAAAAAwABAwIFBAAAAAAAAAAAAAcGBQQDAgEBAQEBAQEBAQBuYl9jb2RlcyArIDEgPD0gKHNpemVvZihsb2NhbGJ1ZikgLyBzaXplb2YoKGxvY2FsYnVmKVswXSkpAGxpYmF2Y29kZWMvYml0c3RyZWFtLmMAc3ltYm9sc19zaXplIDw9IDIgfHwgIXN5bWJvbHMAVG9vIGxvbmcgVkxDICglZCkgaW4gaW5pdF92bGMKAEludmFsaWQgY29kZSAleCBmb3IgJWQgaW4gaW5pdF92bGMKAG5lZWRlZCAlZCBoYWQgJWQKAGluY29ycmVjdCBjb2RlcwoAaDI2NF9zbGljZV9oZWFkZXJfaW5pdCgpIGZhaWxlZABIMjY0IERlY29kZXIAaXNfYXZjAGlzIGF2YwBuYWxfbGVuZ3RoX3NpemUAZW5hYmxlX2VyAEVuYWJsZSBlcnJvciByZXNpbGllbmNlIG9uIGRhbWFnZWQgZnJhbWVzICh1bnNhZmUpAHgyNjRfYnVpbGQAQXNzdW1lIHRoaXMgeDI2NCB2ZXJzaW9uIGlmIG5vIHgyNjQgdmVyc2lvbiBmb3VuZCBpbiBhbnkgU0VJAHAgPD0gZW5kAFEyNjQAcHBzX2lkICV1IG91dCBvZiByYW5nZQoAbm9uLWV4aXN0aW5nIFBQUyAldSByZWZlcmVuY2VkCgBub24tZXhpc3RpbmcgU1BTICV1IHJlZmVyZW5jZWQKAG1pc3NpbmcgcGljdHVyZSBpbiBhY2Nlc3MgdW5pdCB3aXRoIHNpemUgJWQKAGlsbGVnYWwgcmVvcmRlcmluZ19vZl9waWNfbnVtc19pZGMgJWQKAHJlZmVyZW5jZSBjb3VudCAlZCBvdmVyZmxvdwoAaWxsZWdhbCBtZW1vcnkgbWFuYWdlbWVudCBjb250cm9sIG9wZXJhdGlvbiAlZAoASW52YWxpZCBOQUwgdW5pdCBzaXplICglZCA+ICVkKS4KAEFWQy1wYXJzZXI6IG5hbCBsZW5ndGggc2l6ZSBpbnZhbGlkCgBBVkMtcGFyc2VyOiBuYWwgc2l6ZSAlZCByZW1haW5pbmcgJWQKAAAAAQABAgABAgMBAgMCAwMAAQACAQADAgEAAwIBAwIDAAABAAECAAECAwABAgMEAAECAwQFAAECAwQFBgABAgMEBQYHAQIDBAUGBwIDBAUGBwMEBQYHBAUGBwUGBwYHBwABAAIBAAMCAQAEAwIBAAUEAwIBAAYFBAMCAQAHBgUEAwIBAAcGBQQDAgEHBgUEAwIHBgUEAwcGBQQHBgUHBgdtaXNzaW5nIHBpY3R1cmUgaW4gYWNjZXNzIHVuaXQKAEludmFsaWQgc2xpY2Ugc2VnbWVudCBhZGRyZXNzOiAldS4KAFVua25vd24gc2xpY2UgdHlwZTogJWQuCgBJbnZhbGlkIFVFIGdvbG9tYiBjb2RlCgBEZWNvZGluZyBTRUkKAFNraXBwZWQgU1VGRklYIFNFSSAlZAoAU2tpcHBlZCBQUkVGSVggU0VJICVkCgBudW1fc3BzX2lkc19taW51czEgJWQgaW52YWxpZAoAYWN0aXZlX3BhcmFtZXRlcl9zZXRfaWQgJWQgaW52YWxpZAoAQk9UVE9NIEZpZWxkCgBUT1AgRmllbGQKAERlY29kaW5nIFBQUwoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFBQUyAoJXRkID4gJXp1KQoAUFBTIGlkIG91dCBvZiByYW5nZTogJWQKAFNQUyBpZCBvdXQgb2YgcmFuZ2U6ICVkCgBTUFMgJXUgZG9lcyBub3QgZXhpc3QuCgBkaWZmX2N1X3FwX2RlbHRhX2RlcHRoICVkIGlzIGludmFsaWQKAHBwc19jYl9xcF9vZmZzZXQgb3V0IG9mIHJhbmdlOiAlZAoAcHBzX2NyX3FwX29mZnNldCBvdXQgb2YgcmFuZ2U6ICVkCgBudW1fdGlsZV9jb2x1bW5zX21pbnVzMSBvdXQgb2YgcmFuZ2U6ICVkCgBudW1fdGlsZV9yb3dzX21pbnVzMSBvdXQgb2YgcmFuZ2U6ICVkCgBJbnZhbGlkIHRpbGUgd2lkdGhzLgoASW52YWxpZCB0aWxlIGhlaWdodHMuCgBwcHNfYmV0YV9vZmZzZXRfZGl2MiBvdXQgb2YgcmFuZ2U6ICVkCgBwcHNfdGNfb2Zmc2V0X2RpdjIgb3V0IG9mIHJhbmdlOiAlZAoAbG9nMl9wYXJhbGxlbF9tZXJnZV9sZXZlbF9taW51czIgb3V0IG9mIHJhbmdlOiAlZAoAT3ZlcnJlYWQgUFBTIGJ5ICVkIGJpdHMKAGNocm9tYV9xcF9vZmZzZXRfbGlzdF9sZW5fbWludXMxIHNoYWxsIGJlIGluIHRoZSByYW5nZSBbMCwgNV0uCgBjYl9xcF9vZmZzZXRfbGlzdCBub3QgdGVzdGVkIHlldC4KAEludmFsaWQgZGVsdGEgaW4gc2NhbGluZyBsaXN0IGRhdGE6ICVkLgoAEBAQEBESFRgQEBAQERMWGRAQERIUFhkdEBASFRgbHyQRERQYHiMpLxITFhsjLDZBFRYZHyk2RlgYGR0kL0FYcxAQEBAREhQYEBAQERIUGBkQEBESFBgZHBAREhQYGRwhERIUGBkcISkSFBgZHCEpNhQYGRwhKTZHGBkcISk2R1tEZWNvZGluZyBTUFMKAFRydW5jYXRpbmcgbGlrZWx5IG92ZXJzaXplZCBTUFMgKCV0ZCA+ICV6dSkKAFBhcnNlZCBTUFM6IGlkICVkOyBjb2RlZCB3eGg6ICVkeCVkOyBjcm9wcGVkIHd4aDogJWR4JWQ7IHBpeF9mbXQ6ICVzLgoAIShzLT5zcHNfbGlzdFtpZF0gJiYgcy0+c3BzID09IChIRVZDU1BTKilzLT5zcHNfbGlzdFtpZF0tPmRhdGEpAGxpYmF2Y29kZWMvaGV2Y19wcy5jAFZQUyBpZCBvdXQgb2YgcmFuZ2U6ICVkCgBWUFMgJWQgZG9lcyBub3QgZXhpc3QKAHNwc19tYXhfc3ViX2xheWVycyBvdXQgb2YgcmFuZ2U6ICVkCgBjaHJvbWFfZm9ybWF0X2lkYyAlZCBpcyBpbnZhbGlkCgBkaXNjYXJkaW5nIHNwcyBjb25mb3JtYW5jZSB3aW5kb3csIG9yaWdpbmFsIHZhbHVlcyBhcmUgbDoldSByOiV1IHQ6JXUgYjoldQoATHVtYSBiaXQgZGVwdGggKCVkKSBpcyBkaWZmZXJlbnQgZnJvbSBjaHJvbWEgYml0IGRlcHRoICglZCksIHRoaXMgaXMgdW5zdXBwb3J0ZWQuCgBsb2cyX21heF9waWNfb3JkZXJfY250X2xzYl9taW51czQgb3V0IHJhbmdlOiAlZAoAc3BzX21heF9kZWNfcGljX2J1ZmZlcmluZ19taW51czEgb3V0IG9mIHJhbmdlOiAlZAoAc3BzX21heF9udW1fcmVvcmRlcl9waWNzIG91dCBvZiByYW5nZTogJWQKAEludmFsaWQgdmFsdWUgJWQgZm9yIGxvZzJfbWluX2NiX3NpemUASW52YWxpZCB2YWx1ZSAlZCBmb3IgbG9nMl9kaWZmX21heF9taW5fY29kaW5nX2Jsb2NrX3NpemUASW52YWxpZCB2YWx1ZSBmb3IgbG9nMl9taW5fdGJfc2l6ZQBJbnZhbGlkIHZhbHVlICVkIGZvciBsb2cyX2RpZmZfbWF4X21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZQBQQ00gYml0IGRlcHRoICglZCwgJWQpIGlzIGdyZWF0ZXIgdGhhbiBub3JtYWwgYml0IGRlcHRoICglZCkKAFRvbyBtYW55IHNob3J0IHRlcm0gUlBTOiAlZC4KAFRvbyBtYW55IGxvbmcgdGVybSByZWYgcGljczogJWQuCgBleHRlbmRlZF9wcmVjaXNpb25fcHJvY2Vzc2luZ19mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAGhpZ2hfcHJlY2lzaW9uX29mZnNldHNfZW5hYmxlZF9mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAGNhYmFjX2J5cGFzc19hbGlnbm1lbnRfZW5hYmxlZF9mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAEludmFsaWQgY3JvcHBpbmcgb2Zmc2V0czogJXUvJXUvJXUvJXUKAERpc3BsYXlpbmcgdGhlIHdob2xlIHZpZGVvIHN1cmZhY2UuCgBDVEIgc2l6ZSBvdXQgb2YgcmFuZ2U6IDJeJWQKAGxvZzJfY3RiX3NpemUgJWQgZGlmZmVycyBmcm9tIHRoZSBib3VuZHMgb2YgYW55IGtub3duIHByb2ZpbGUKAGxvZzJfY3RiX3NpemUgJWQASW52YWxpZCBjb2RlZCBmcmFtZSBkaW1lbnNpb25zLgoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50ZXIgb3V0IG9mIHJhbmdlOiAlZAoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50cmEgb3V0IG9mIHJhbmdlOiAlZAoAbWF4IHRyYW5zZm9ybSBibG9jayBzaXplIG91dCBvZiByYW5nZTogJWQKAE92ZXJyZWFkIFNQUyBieSAlZCBiaXRzCgBEZWNvZGluZyBWVUkKAFVua25vd24gU0FSIGluZGV4OiAldS4KAEludmFsaWQgZGVmYXVsdCBkaXNwbGF5IHdpbmRvdwoAZGlzY2FyZGluZyB2dWkgZGVmYXVsdCBkaXNwbGF5IHdpbmRvdywgb3JpZ2luYWwgdmFsdWVzIGFyZSBsOiV1IHI6JXUgdDoldSBiOiV1CgBTdHJhbmdlIFZVSSB0aW1pbmcgaW5mb3JtYXRpb24sIHJldHJ5aW5nLi4uCgBSZXRyeSBnb3QgJXUvJXUgZnBzCgBTdHJhbmdlIFZVSSBiaXRzdHJlYW0gcmVzdHJpY3Rpb24gaW5mb3JtYXRpb24sIHJldHJ5aW5nIGZyb20gdGltaW5nIGluZm9ybWF0aW9uLi4uCgBPdmVycmVhZCBpbiBWVUksIHJldHJ5aW5nIGZyb20gdGltaW5nIGluZm9ybWF0aW9uLi4uCgBuYl9jcGIgJWQgaW52YWxpZAoASW52YWxpZCB2YWx1ZSBvZiBkZWx0YV9pZHggaW4gc2xpY2UgaGVhZGVyIFJQUzogJWQgPiAlZC4KAEludmFsaWQgdmFsdWUgb2YgYWJzX2RlbHRhX3JwczogJWQKAEludmFsaWQgbnVtX2RlbHRhX3BvY3M6ICVkCgBUb28gbWFueSByZWZzIGluIGEgc2hvcnQgdGVybSBSUFMuCgBJbnZhbGlkIHZhbHVlIG9mIGRlbHRhX3BvYzogJWQKAFRoZSBmb2xsb3dpbmcgYml0LWRlcHRocyBhcmUgY3VycmVudGx5IHNwZWNpZmllZDogOCwgOSwgMTAgYW5kIDEyIGJpdHMsIGNocm9tYV9mb3JtYXRfaWRjIGlzICVkLCBkZXB0aCBpcyAlZAoAUFRMIGluZm9ybWF0aW9uIHRvbyBzaG9ydAoAUFRMIGluZm9ybWF0aW9uIGZvciBzdWJsYXllciAlaSB0b28gc2hvcnQKAE5vdCBlbm91Z2ggZGF0YSBmb3Igc3VibGF5ZXIgJWkgbGV2ZWxfaWRjCgBNYWluIHByb2ZpbGUgYml0c3RyZWFtCgBNYWluIDEwIHByb2ZpbGUgYml0c3RyZWFtCgBNYWluIFN0aWxsIFBpY3R1cmUgcHJvZmlsZSBiaXRzdHJlYW0KAFJhbmdlIEV4dGVuc2lvbiBwcm9maWxlIGJpdHN0cmVhbQoAVW5rbm93biBIRVZDIHByb2ZpbGU6ICVkCgBEZWNvZGluZyBWUFMKAFRydW5jYXRpbmcgbGlrZWx5IG92ZXJzaXplZCBWUFMgKCV0ZCA+ICV6dSkKAHZwc19yZXNlcnZlZF90aHJlZV8yYml0cyBpcyBub3QgdGhyZWUKAHZwc19yZXNlcnZlZF9mZmZmXzE2Yml0cyBpcyBub3QgMHhmZmZmCgB2cHNfbWF4X3N1Yl9sYXllcnMgb3V0IG9mIHJhbmdlOiAlZAoAdnBzX21heF9kZWNfcGljX2J1ZmZlcmluZ19taW51czEgb3V0IG9mIHJhbmdlOiAlZAoAdnBzX21heF9udW1fcmVvcmRlcl9waWNzIG91dCBvZiByYW5nZTogJWQKAHRvbyBtYW55IGxheWVyX2lkX2luY2x1ZGVkX2ZsYWdzCgB2cHNfbnVtX2hyZF9wYXJhbWV0ZXJzICVkIGlzIGludmFsaWQKAE92ZXJyZWFkIFZQUyBieSAlZCBiaXRzCgBidWZfc2l6ZSA+PSAwAGxpYmF2Y29kZWMvYnl0ZXN0cmVhbS5oAEludmFsaWQgTkFMIHVuaXQgc2l6ZSBpbiBleHRyYWRhdGEuCgBEZWNvZGluZyBuYWwgdW5pdCAlZCAlZCBmcm9tIGh2Y0MgZmFpbGVkCgBJZ25vcmluZyBOQUwgdHlwZSAlZCBpbiBleHRyYWRhdGEKAC9kZXYvdXJhbmRvbQAvZGV2L3JhbmRvbQBzaXplb2YodG1wKSA+PSBhdl9zaGFfc2l6ZQBsaWJhdnV0aWwvcmFuZG9tX3NlZWQuYwCAAEZhaWxlZCB0byBzZXQgY2xvc2Ugb24gZXhlYwoAIAoJDQBBTEwARkwAZnJvbnQgbGVmdABGUgBmcm9udCByaWdodABGQwBmcm9udCBjZW50ZXIATEZFAGxvdyBmcmVxdWVuY3kAQkwAYmFjayBsZWZ0AEJSAGJhY2sgcmlnaHQARkxDAGZyb250IGxlZnQtb2YtY2VudGVyAEZSQwBmcm9udCByaWdodC1vZi1jZW50ZXIAQkMAYmFjayBjZW50ZXIAU0wAc2lkZSBsZWZ0AFNSAHNpZGUgcmlnaHQAVEMAdG9wIGNlbnRlcgBURkwAdG9wIGZyb250IGxlZnQAVEZDAHRvcCBmcm9udCBjZW50ZXIAVEZSAHRvcCBmcm9udCByaWdodABUQkwAdG9wIGJhY2sgbGVmdABUQkMAdG9wIGJhY2sgY2VudGVyAFRCUgB0b3AgYmFjayByaWdodABETABkb3dubWl4IGxlZnQARFIAZG93bm1peCByaWdodABXTAB3aWRlIGxlZnQAV1IAd2lkZSByaWdodABTREwAc3Vycm91bmQgZGlyZWN0IGxlZnQAU0RSAHN1cnJvdW5kIGRpcmVjdCByaWdodABMRkUyAGxvdyBmcmVxdWVuY3kgMgBtb25vAHN0ZXJlbwAyLjEAMy4wADMuMChiYWNrKQA0LjAAcXVhZABxdWFkKHNpZGUpADMuMQA1LjAANS4wKHNpZGUpADQuMQA1LjEANS4xKHNpZGUpADYuMAA2LjAoZnJvbnQpAGhleGFnb25hbAA2LjEANi4xKGJhY2spADYuMShmcm9udCkANy4wADcuMChmcm9udCkANy4xADcuMSh3aWRlKQA3LjEod2lkZS1zaWRlKQBvY3RhZ29uYWwAaGV4YWRlY2Fnb25hbABkb3dubWl4ACVzACVkIGNoYW5uZWxzACAoACsAKQAlZCUqMVs6L10lZCVjAGNvbnN0X3ZhbHVlcyBhcnJheSB0b28gc21hbGwgZm9yICVzCgBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIKACVmCgBJbnZhbGlkIGNoYXJzICclcycgYXQgdGhlIGVuZCBvZiBleHByZXNzaW9uICclcycKAFVuZGVmaW5lZCBjb25zdGFudCBvciBtaXNzaW5nICcoJyBpbiAnJXMnCgBNaXNzaW5nICcpJyBpbiAnJXMnCgBNaXNzaW5nICcpJyBvciB0b28gbWFueSBhcmdzIGluICclcycKAHNpbmgAY29zaAB0YW5oAHNpbgBjb3MAdGFuAGF0YW4AYXNpbgBhY29zAGV4cABhYnMAdGltZQBzcXVpc2gAZ2F1c3MAbW9kAG1heABtaW4AZXEAZ3RlAGd0AGx0ZQBsdABsZABpc25hbgBpc2luZgBzdAB3aGlsZQB0YXlsb3IAcm9vdABmbG9vcgBjZWlsAHJvdW5kAHNxcnQAbm90AHBvdwBwcmludABoeXBvdABnY2QAaWYAaWZub3QAYml0YW5kAGJpdG9yAGJldHdlZW4AY2xpcABhdGFuMgBsZXJwAFVua25vd24gZnVuY3Rpb24gaW4gJyVzJwoARQBQSQBQSEkAUVAyTEFNQkRBAEV2YWwAVmFsdWUgJWYgZm9yIHBhcmFtZXRlciAnJXMnIG91dCBvZiByYW5nZSBbJWcgLSAlZ10KAFZhbHVlICVmIGZvciBwYXJhbWV0ZXIgJyVzJyBpcyBub3QgYSB2YWxpZCBzZXQgb2YgMzJiaXQgaW50ZWdlciBmbGFncwoAZGV0ZWN0ZWQgJWQgbG9naWNhbCBjb3JlcwoAAAEcAh0OGAMeFhQPGREECB8bDRcVExAHGgwSBgsFCglVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgZHVyYXRpb24KAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBjaGFubmVsIGxheW91dAoASW52YWxpZCBvcHRpb24gdHlwZS4KAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBjb2xvcgoAMHgAcmFuZG9tAGJpa2VzaGVkADAxMjM0NTY3ODlBQkNERUZhYmNkZWYASW52YWxpZCAweFJSR0dCQltBQV0gY29sb3Igc3RyaW5nOiAnJXMnCgBDYW5ub3QgZmluZCBjb2xvciAnJXMnCgBJbnZhbGlkIGFscGhhIHZhbHVlIHNwZWNpZmllciAnJXMnIGluICclcycKAEFsaWNlQmx1ZQBBbnRpcXVlV2hpdGUAQXF1YQBBcXVhbWFyaW5lAEF6dXJlAEJlaWdlAEJpc3F1ZQBCbGFjawBCbGFuY2hlZEFsbW9uZABCbHVlAEJsdWVWaW9sZXQAQnJvd24AQnVybHlXb29kAENhZGV0Qmx1ZQBDaGFydHJldXNlAENob2NvbGF0ZQBDb3JhbABDb3JuZmxvd2VyQmx1ZQBDb3Juc2lsawBDcmltc29uAEN5YW4ARGFya0JsdWUARGFya0N5YW4ARGFya0dvbGRlblJvZABEYXJrR3JheQBEYXJrR3JlZW4ARGFya0toYWtpAERhcmtNYWdlbnRhAERhcmtPbGl2ZUdyZWVuAERhcmtvcmFuZ2UARGFya09yY2hpZABEYXJrUmVkAERhcmtTYWxtb24ARGFya1NlYUdyZWVuAERhcmtTbGF0ZUJsdWUARGFya1NsYXRlR3JheQBEYXJrVHVycXVvaXNlAERhcmtWaW9sZXQARGVlcFBpbmsARGVlcFNreUJsdWUARGltR3JheQBEb2RnZXJCbHVlAEZpcmVCcmljawBGbG9yYWxXaGl0ZQBGb3Jlc3RHcmVlbgBGdWNoc2lhAEdhaW5zYm9ybwBHaG9zdFdoaXRlAEdvbGQAR29sZGVuUm9kAEdyYXkAR3JlZW4AR3JlZW5ZZWxsb3cASG9uZXlEZXcASG90UGluawBJbmRpYW5SZWQASW5kaWdvAEl2b3J5AEtoYWtpAExhdmVuZGVyAExhdmVuZGVyQmx1c2gATGF3bkdyZWVuAExlbW9uQ2hpZmZvbgBMaWdodEJsdWUATGlnaHRDb3JhbABMaWdodEN5YW4ATGlnaHRHb2xkZW5Sb2RZZWxsb3cATGlnaHRHcmVlbgBMaWdodEdyZXkATGlnaHRQaW5rAExpZ2h0U2FsbW9uAExpZ2h0U2VhR3JlZW4ATGlnaHRTa3lCbHVlAExpZ2h0U2xhdGVHcmF5AExpZ2h0U3RlZWxCbHVlAExpZ2h0WWVsbG93AExpbWUATGltZUdyZWVuAExpbmVuAE1hZ2VudGEATWFyb29uAE1lZGl1bUFxdWFNYXJpbmUATWVkaXVtQmx1ZQBNZWRpdW1PcmNoaWQATWVkaXVtUHVycGxlAE1lZGl1bVNlYUdyZWVuAE1lZGl1bVNsYXRlQmx1ZQBNZWRpdW1TcHJpbmdHcmVlbgBNZWRpdW1UdXJxdW9pc2UATWVkaXVtVmlvbGV0UmVkAE1pZG5pZ2h0Qmx1ZQBNaW50Q3JlYW0ATWlzdHlSb3NlAE1vY2Nhc2luAE5hdmFqb1doaXRlAE5hdnkAT2xkTGFjZQBPbGl2ZQBPbGl2ZURyYWIAT3JhbmdlAE9yYW5nZVJlZABPcmNoaWQAUGFsZUdvbGRlblJvZABQYWxlR3JlZW4AUGFsZVR1cnF1b2lzZQBQYWxlVmlvbGV0UmVkAFBhcGF5YVdoaXAAUGVhY2hQdWZmAFBlcnUAUGluawBQbHVtAFBvd2RlckJsdWUAUHVycGxlAFJlZABSb3N5QnJvd24AUm95YWxCbHVlAFNhZGRsZUJyb3duAFNhbG1vbgBTYW5keUJyb3duAFNlYUdyZWVuAFNlYVNoZWxsAFNpZW5uYQBTaWx2ZXIAU2t5Qmx1ZQBTbGF0ZUJsdWUAU2xhdGVHcmF5AFNub3cAU3ByaW5nR3JlZW4AU3RlZWxCbHVlAFRhbgBUZWFsAFRoaXN0bGUAVG9tYXRvAFR1cnF1b2lzZQBWaW9sZXQAV2hlYXQAV2hpdGUAV2hpdGVTbW9rZQBZZWxsb3cAWWVsbG93R3JlZW4Abm93ACVKOiVNOiVTACVNOiVTACVIOiVNACVIJU0AJUgAJUg6JU06JVMAJUglTSVTAGphbnVhcnkAZmVicnVhcnkAbWFyY2gAYXByaWwAbWF5AGp1bmUAanVseQBhdWd1c3QAc2VwdGVtYmVyAG9jdG9iZXIAbm92ZW1iZXIAZGVjZW1iZXIAJVkgLSAlbSAtICVkACVZJW0lZABzYW1wbGUgZm9ybWF0AFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyAlcwoAVmFsdWUgJWQgZm9yIHBhcmFtZXRlciAnJXMnIG91dCBvZiAlcyBmb3JtYXQgcmFuZ2UgWyVkIC0gJWRdCgBwaXhlbCBmb3JtYXQAcmdiMzIAYmdyMzIAJXMlcwBsZQB2YWFwaQBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgdmlkZW8gcmF0ZQoAJWQ6JWQlYwBudHNjAHBhbABxbnRzYwBxcGFsAHNudHNjAHNwYWwAbnRzYy1maWxtAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBpbWFnZSBzaXplCgBzcWNpZgBxY2lmAGNpZgA0Y2lmADE2Y2lmAHFxdmdhAHF2Z2EAdmdhAHN2Z2EAeGdhAHV4Z2EAcXhnYQBzeGdhAHFzeGdhAGhzeGdhAHd2Z2EAd3hnYQB3c3hnYQB3dXhnYQB3b3hnYQB3cXN4Z2EAd3F1eGdhAHdoc3hnYQB3aHV4Z2EAY2dhAGVnYQBoZDQ4MABoZDcyMABoZDEwODAAMmsAMmtkY2kAMmtmbGF0ADJrc2NvcGUANGsANGtkY2kANGtmbGF0ADRrc2NvcGUAbmhkAGhxdmdhAHdxdmdhAGZ3cXZnYQBodmdhAHFoZAB1aGQyMTYwAHVoZDQzMjAAdHJ1ZSx5LHllcyxlbmFibGUsZW5hYmxlZCxvbgBmYWxzZSxuLG5vLGRpc2FibGUsZGlzYWJsZWQsb2ZmAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBib29sZWFuCgBBVk9wdGlvbiB0eXBlICVkIG9mIG9wdGlvbiAlcyBub3QgaW1wbGVtZW50ZWQgeWV0CgBFcnJvciBzZXR0aW5nIG9wdGlvbiAlcyB0byB2YWx1ZSAlcy4KAG5iX3RocmVhZHMgPj0gMABsaWJhdnV0aWwvc2xpY2V0aHJlYWQuYwBuYl9qb2JzID4gMABGaW5hbCB0aHJlYWQgdXBkYXRlIGZhaWxlZAoAcC0+YXZjdHgtPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX1ZJREVPIHx8IHAtPmF2Y3R4LT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9BVURJTwBsaWJhdmNvZGVjL3B0aHJlYWRfZnJhbWUuYwBmY3R4LT5hc3luY19sb2NrAEFzc2VydGlvbiAlcyBmYWlsZWQgYXQgJXM6JWQKAHJldCA+PSAwAGxpYmF2Y29kZWMvb3B0aW9ucy5jAEFWQ29kZWNDb250ZXh0AGIAc2V0IGJpdHJhdGUgKGluIGJpdHMvcykAYWIAYnQAU2V0IHZpZGVvIGJpdHJhdGUgdG9sZXJhbmNlIChpbiBiaXRzL3MpLiBJbiAxLXBhc3MgbW9kZSwgYml0cmF0ZSB0b2xlcmFuY2Ugc3BlY2lmaWVzIGhvdyBmYXIgcmF0ZWNvbnRyb2wgaXMgd2lsbGluZyB0byBkZXZpYXRlIGZyb20gdGhlIHRhcmdldCBhdmVyYWdlIGJpdHJhdGUgdmFsdWUuIFRoaXMgaXMgbm90IHJlbGF0ZWQgdG8gbWluaW11bS9tYXhpbXVtIGJpdHJhdGUuIExvd2VyaW5nIHRvbGVyYW5jZSB0b28gbXVjaCBoYXMgYW4gYWR2ZXJzZSBlZmZlY3Qgb24gcXVhbGl0eS4AZmxhZ3MAdW5hbGlnbmVkAGFsbG93IGRlY29kZXJzIHRvIHByb2R1Y2UgdW5hbGlnbmVkIG91dHB1dABtdjQAdXNlIGZvdXIgbW90aW9uIHZlY3RvcnMgcGVyIG1hY3JvYmxvY2sgKE1QRUctNCkAcXBlbAB1c2UgMS80LXBlbCBtb3Rpb24gY29tcGVuc2F0aW9uAGxvb3AAdXNlIGxvb3AgZmlsdGVyAHFzY2FsZQB1c2UgZml4ZWQgcXNjYWxlAHBhc3MxAHVzZSBpbnRlcm5hbCAyLXBhc3MgcmF0ZWNvbnRyb2wgaW4gZmlyc3QgIHBhc3MgbW9kZQBwYXNzMgB1c2UgaW50ZXJuYWwgMi1wYXNzIHJhdGVjb250cm9sIGluIHNlY29uZCBwYXNzIG1vZGUAZ3JheQBvbmx5IGRlY29kZS9lbmNvZGUgZ3JheXNjYWxlAHBzbnIAZXJyb3JbP10gdmFyaWFibGVzIHdpbGwgYmUgc2V0IGR1cmluZyBlbmNvZGluZwB0cnVuY2F0ZWQASW5wdXQgYml0c3RyZWFtIG1pZ2h0IGJlIHJhbmRvbWx5IHRydW5jYXRlZABpbGRjdAB1c2UgaW50ZXJsYWNlZCBEQ1QAbG93X2RlbGF5AGZvcmNlIGxvdyBkZWxheQBnbG9iYWxfaGVhZGVyAHBsYWNlIGdsb2JhbCBoZWFkZXJzIGluIGV4dHJhZGF0YSBpbnN0ZWFkIG9mIGV2ZXJ5IGtleWZyYW1lAGJpdGV4YWN0AHVzZSBvbmx5IGJpdGV4YWN0IGZ1bmN0aW9ucyAoZXhjZXB0IChJKURDVCkAYWljAEguMjYzIGFkdmFuY2VkIGludHJhIGNvZGluZyAvIE1QRUctNCBBQyBwcmVkaWN0aW9uAGlsbWUAaW50ZXJsYWNlZCBtb3Rpb24gZXN0aW1hdGlvbgBjZ29wAGNsb3NlZCBHT1AAb3V0cHV0X2NvcnJ1cHQAT3V0cHV0IGV2ZW4gcG90ZW50aWFsbHkgY29ycnVwdGVkIGZyYW1lcwBmYXN0AGFsbG93IG5vbi1zcGVjLWNvbXBsaWFudCBzcGVlZHVwIHRyaWNrcwBmbGFnczIAbm9vdXQAc2tpcCBiaXRzdHJlYW0gZW5jb2RpbmcAaWdub3JlY3JvcABpZ25vcmUgY3JvcHBpbmcgaW5mb3JtYXRpb24gZnJvbSBzcHMAbG9jYWxfaGVhZGVyAHBsYWNlIGdsb2JhbCBoZWFkZXJzIGF0IGV2ZXJ5IGtleWZyYW1lIGluc3RlYWQgb2YgaW4gZXh0cmFkYXRhAGNodW5rcwBGcmFtZSBkYXRhIG1pZ2h0IGJlIHNwbGl0IGludG8gbXVsdGlwbGUgY2h1bmtzAHNob3dhbGwAU2hvdyBhbGwgZnJhbWVzIGJlZm9yZSB0aGUgZmlyc3Qga2V5ZnJhbWUAZXhwb3J0X212cwBleHBvcnQgbW90aW9uIHZlY3RvcnMgdGhyb3VnaCBmcmFtZSBzaWRlIGRhdGEAc2tpcF9tYW51YWwAZG8gbm90IHNraXAgc2FtcGxlcyBhbmQgZXhwb3J0IHNraXAgaW5mb3JtYXRpb24gYXMgZnJhbWUgc2lkZSBkYXRhAGFzc19yb19mbHVzaF9ub29wAGRvIG5vdCByZXNldCBBU1MgUmVhZE9yZGVyIGZpZWxkIG9uIGZsdXNoAHRpbWVfYmFzZQBnAHNldCB0aGUgZ3JvdXAgb2YgcGljdHVyZSAoR09QKSBzaXplAGFyAHNldCBhdWRpbyBzYW1wbGluZyByYXRlIChpbiBIeikAYWMAc2V0IG51bWJlciBvZiBhdWRpbyBjaGFubmVscwBjdXRvZmYAc2V0IGN1dG9mZiBiYW5kd2lkdGgAZnJhbWVfc2l6ZQBmcmFtZV9udW1iZXIAZGVsYXkAcWNvbXAAdmlkZW8gcXVhbnRpemVyIHNjYWxlIGNvbXByZXNzaW9uIChWQlIpLiBDb25zdGFudCBvZiByYXRlY29udHJvbCBlcXVhdGlvbi4gUmVjb21tZW5kZWQgcmFuZ2UgZm9yIGRlZmF1bHQgcmNfZXE6IDAuMC0xLjAAcWJsdXIAdmlkZW8gcXVhbnRpemVyIHNjYWxlIGJsdXIgKFZCUikAcW1pbgBtaW5pbXVtIHZpZGVvIHF1YW50aXplciBzY2FsZSAoVkJSKQBxbWF4AG1heGltdW0gdmlkZW8gcXVhbnRpemVyIHNjYWxlIChWQlIpAHFkaWZmAG1heGltdW0gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBxdWFudGl6ZXIgc2NhbGVzIChWQlIpAGJmAHNldCBtYXhpbXVtIG51bWJlciBvZiBCLWZyYW1lcyBiZXR3ZWVuIG5vbi1CLWZyYW1lcwBiX3FmYWN0b3IAUVAgZmFjdG9yIGJldHdlZW4gUC0gYW5kIEItZnJhbWVzAGJfc3RyYXRlZ3kAc3RyYXRlZ3kgdG8gY2hvb3NlIGJldHdlZW4gSS9QL0ItZnJhbWVzAHBzAFJUUCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMAbXZfYml0cwBoZWFkZXJfYml0cwBpX3RleF9iaXRzAHBfdGV4X2JpdHMAaV9jb3VudABwX2NvdW50AHNraXBfY291bnQAbWlzY19iaXRzAGZyYW1lX2JpdHMAY29kZWNfdGFnAGJ1ZwB3b3JrIGFyb3VuZCBub3QgYXV0b2RldGVjdGVkIGVuY29kZXIgYnVncwBhdXRvZGV0ZWN0AHh2aWRfaWxhY2UAWHZpZCBpbnRlcmxhY2luZyBidWcgKGF1dG9kZXRlY3RlZCBpZiBGT1VSQ0MgPT0gWFZJWCkAdW1wNAAoYXV0b2RldGVjdGVkIGlmIEZPVVJDQyA9PSBVTVA0KQBub19wYWRkaW5nAHBhZGRpbmcgYnVnIChhdXRvZGV0ZWN0ZWQpAGFtdgBxcGVsX2Nocm9tYQBzdGRfcXBlbABvbGQgc3RhbmRhcmQgcXBlbCAoYXV0b2RldGVjdGVkIHBlciBGT1VSQ0MvdmVyc2lvbikAcXBlbF9jaHJvbWEyAGRpcmVjdF9ibG9ja3NpemUAZGlyZWN0LXFwZWwtYmxvY2tzaXplIGJ1ZyAoYXV0b2RldGVjdGVkIHBlciBGT1VSQ0MvdmVyc2lvbikAZWRnZQBlZGdlIHBhZGRpbmcgYnVnIChhdXRvZGV0ZWN0ZWQgcGVyIEZPVVJDQy92ZXJzaW9uKQBocGVsX2Nocm9tYQBkY19jbGlwAG1zAHdvcmsgYXJvdW5kIHZhcmlvdXMgYnVncyBpbiBNaWNyb3NvZnQncyBicm9rZW4gZGVjb2RlcnMAdHJ1bmMAdHJ1bmNhdGVkIGZyYW1lcwBpZWRnZQBzdHJpY3QAaG93IHN0cmljdGx5IHRvIGZvbGxvdyB0aGUgc3RhbmRhcmRzAHZlcnkAc3RyaWN0bHkgY29uZm9ybSB0byBhIG9sZGVyIG1vcmUgc3RyaWN0IHZlcnNpb24gb2YgdGhlIHNwZWMgb3IgcmVmZXJlbmNlIHNvZnR3YXJlAHN0cmljdGx5IGNvbmZvcm0gdG8gYWxsIHRoZSB0aGluZ3MgaW4gdGhlIHNwZWMgbm8gbWF0dGVyIHdoYXQgdGhlIGNvbnNlcXVlbmNlcwBub3JtYWwAdW5vZmZpY2lhbABhbGxvdyB1bm9mZmljaWFsIGV4dGVuc2lvbnMAZXhwZXJpbWVudGFsAGFsbG93IG5vbi1zdGFuZGFyZGl6ZWQgZXhwZXJpbWVudGFsIHRoaW5ncwBiX3FvZmZzZXQAUVAgb2Zmc2V0IGJldHdlZW4gUC0gYW5kIEItZnJhbWVzAGVycl9kZXRlY3QAc2V0IGVycm9yIGRldGVjdGlvbiBmbGFncwBjcmNjaGVjawB2ZXJpZnkgZW1iZWRkZWQgQ1JDcwBiaXRzdHJlYW0AZGV0ZWN0IGJpdHN0cmVhbSBzcGVjaWZpY2F0aW9uIGRldmlhdGlvbnMAYnVmZmVyAGRldGVjdCBpbXByb3BlciBiaXRzdHJlYW0gbGVuZ3RoAGV4cGxvZGUAYWJvcnQgZGVjb2Rpbmcgb24gbWlub3IgZXJyb3IgZGV0ZWN0aW9uAGlnbm9yZV9lcnIAaWdub3JlIGVycm9ycwBjYXJlZnVsAGNvbnNpZGVyIHRoaW5ncyB0aGF0IHZpb2xhdGUgdGhlIHNwZWMsIGFyZSBmYXN0IHRvIGNoZWNrIGFuZCBoYXZlIG5vdCBiZWVuIHNlZW4gaW4gdGhlIHdpbGQgYXMgZXJyb3JzAGNvbXBsaWFudABjb25zaWRlciBhbGwgc3BlYyBub24gY29tcGxpYW5jaWVzIGFzIGVycm9ycwBhZ2dyZXNzaXZlAGNvbnNpZGVyIHRoaW5ncyB0aGF0IGEgc2FuZSBlbmNvZGVyIHNob3VsZCBub3QgZG8gYXMgYW4gZXJyb3IAaGFzX2JfZnJhbWVzAGJsb2NrX2FsaWduAG1wZWdfcXVhbnQAdXNlIE1QRUcgcXVhbnRpemVycyBpbnN0ZWFkIG9mIEguMjYzAHJjX292ZXJyaWRlX2NvdW50AG1heHJhdGUAbWF4aW11bSBiaXRyYXRlIChpbiBiaXRzL3MpLiBVc2VkIGZvciBWQlYgdG9nZXRoZXIgd2l0aCBidWZzaXplLgBtaW5yYXRlAG1pbmltdW0gYml0cmF0ZSAoaW4gYml0cy9zKS4gTW9zdCB1c2VmdWwgaW4gc2V0dGluZyB1cCBhIENCUiBlbmNvZGUuIEl0IGlzIG9mIGxpdHRsZSB1c2Ugb3RoZXJ3aXNlLgBidWZzaXplAHNldCByYXRlY29udHJvbCBidWZmZXIgc2l6ZSAoaW4gYml0cykAaV9xZmFjdG9yAFFQIGZhY3RvciBiZXR3ZWVuIFAtIGFuZCBJLWZyYW1lcwBpX3FvZmZzZXQAUVAgb2Zmc2V0IGJldHdlZW4gUC0gYW5kIEktZnJhbWVzAGRjdABEQ1QgYWxnb3JpdGhtAGF1dG8AYXV0b3NlbGVjdCBhIGdvb2Qgb25lAGZhc3RpbnQAZmFzdCBpbnRlZ2VyAGFjY3VyYXRlIGludGVnZXIAbW14AGFsdGl2ZWMAZmFhbgBmbG9hdGluZyBwb2ludCBBQU4gRENUAGx1bWlfbWFzawBjb21wcmVzc2VzIGJyaWdodCBhcmVhcyBzdHJvbmdlciB0aGFuIG1lZGl1bSBvbmVzAHRjcGx4X21hc2sAdGVtcG9yYWwgY29tcGxleGl0eSBtYXNraW5nAHNjcGx4X21hc2sAc3BhdGlhbCBjb21wbGV4aXR5IG1hc2tpbmcAcF9tYXNrAGludGVyIG1hc2tpbmcAZGFya19tYXNrAGNvbXByZXNzZXMgZGFyayBhcmVhcyBzdHJvbmdlciB0aGFuIG1lZGl1bSBvbmVzAGlkY3QAc2VsZWN0IElEQ1QgaW1wbGVtZW50YXRpb24Ac2ltcGxlAHNpbXBsZW1teABhcm0Ac2ltcGxlYXJtAHNpbXBsZWFybXY1dGUAc2ltcGxlYXJtdjYAc2ltcGxlbmVvbgB4dmlkAHh2aWRtbXgAZGVwcmVjYXRlZCwgZm9yIGNvbXBhdGliaWxpdHkgb25seQBmYWFuaQBmbG9hdGluZyBwb2ludCBBQU4gSURDVABzaW1wbGVhdXRvAHNsaWNlX2NvdW50AGVjAHNldCBlcnJvciBjb25jZWFsbWVudCBzdHJhdGVneQBndWVzc19tdnMAaXRlcmF0aXZlIG1vdGlvbiB2ZWN0b3IgKE1WKSBzZWFyY2ggKHNsb3cpAGRlYmxvY2sAdXNlIHN0cm9uZyBkZWJsb2NrIGZpbHRlciBmb3IgZGFtYWdlZCBNQnMAZmF2b3JfaW50ZXIAZmF2b3IgcHJlZGljdGluZyBmcm9tIHRoZSBwcmV2aW91cyBmcmFtZQBiaXRzX3Blcl9jb2RlZF9zYW1wbGUAcHJlZABwcmVkaWN0aW9uIG1ldGhvZABsZWZ0AHBsYW5lAG1lZGlhbgBhc3BlY3QAc2FtcGxlIGFzcGVjdCByYXRpbwBzYXIAZGVidWcAcHJpbnQgc3BlY2lmaWMgZGVidWcgaW5mbwBwaWN0AHBpY3R1cmUgaW5mbwByYwByYXRlIGNvbnRyb2wAbWJfdHlwZQBtYWNyb2Jsb2NrIChNQikgdHlwZQBxcABwZXItYmxvY2sgcXVhbnRpemF0aW9uIHBhcmFtZXRlciAoUVApAGRjdF9jb2VmZgBncmVlbl9tZXRhZGF0YQBza2lwAHN0YXJ0Y29kZQBlcgBlcnJvciByZWNvZ25pdGlvbgBtbWNvAG1lbW9yeSBtYW5hZ2VtZW50IGNvbnRyb2wgb3BlcmF0aW9ucyAoSC4yNjQpAGJ1Z3MAYnVmZmVycwBwaWN0dXJlIGJ1ZmZlciBhbGxvY2F0aW9ucwB0aHJlYWRfb3BzAHRocmVhZGluZyBvcGVyYXRpb25zAG5vbWMAc2tpcCBtb3Rpb24gY29tcGVuc2F0aW9uAGNtcABmdWxsLXBlbCBNRSBjb21wYXJlIGZ1bmN0aW9uAGNtcF9mdW5jAHN1YmNtcABzdWItcGVsIE1FIGNvbXBhcmUgZnVuY3Rpb24AbWJjbXAAbWFjcm9ibG9jayBjb21wYXJlIGZ1bmN0aW9uAGlsZGN0Y21wAGludGVybGFjZWQgRENUIGNvbXBhcmUgZnVuY3Rpb24AZGlhX3NpemUAZGlhbW9uZCB0eXBlICYgc2l6ZSBmb3IgbW90aW9uIGVzdGltYXRpb24AbGFzdF9wcmVkAGFtb3VudCBvZiBtb3Rpb24gcHJlZGljdG9ycyBmcm9tIHRoZSBwcmV2aW91cyBmcmFtZQBwcmVtZQBwcmUgbW90aW9uIGVzdGltYXRpb24AcHJlY21wAHByZSBtb3Rpb24gZXN0aW1hdGlvbiBjb21wYXJlIGZ1bmN0aW9uAHNhZABzdW0gb2YgYWJzb2x1dGUgZGlmZmVyZW5jZXMsIGZhc3QAc3NlAHN1bSBvZiBzcXVhcmVkIGVycm9ycwBzYXRkAHN1bSBvZiBhYnNvbHV0ZSBIYWRhbWFyZCB0cmFuc2Zvcm1lZCBkaWZmZXJlbmNlcwBzdW0gb2YgYWJzb2x1dGUgRENUIHRyYW5zZm9ybWVkIGRpZmZlcmVuY2VzAHN1bSBvZiBzcXVhcmVkIHF1YW50aXphdGlvbiBlcnJvcnMgKGF2b2lkLCBsb3cgcXVhbGl0eSkAYml0AG51bWJlciBvZiBiaXRzIG5lZWRlZCBmb3IgdGhlIGJsb2NrAHJkAHJhdGUgZGlzdG9ydGlvbiBvcHRpbWFsLCBzbG93AHplcm8AMAB2c2FkAHN1bSBvZiBhYnNvbHV0ZSB2ZXJ0aWNhbCBkaWZmZXJlbmNlcwB2c3NlAHN1bSBvZiBzcXVhcmVkIHZlcnRpY2FsIGRpZmZlcmVuY2VzAG5zc2UAbm9pc2UgcHJlc2VydmluZyBzdW0gb2Ygc3F1YXJlZCBkaWZmZXJlbmNlcwBkY3RtYXgAY2hyb21hAG1zYWQAc3VtIG9mIGFic29sdXRlIGRpZmZlcmVuY2VzLCBtZWRpYW4gcHJlZGljdGVkAHByZV9kaWFfc2l6ZQBkaWFtb25kIHR5cGUgJiBzaXplIGZvciBtb3Rpb24gZXN0aW1hdGlvbiBwcmUtcGFzcwBzdWJxAHN1Yi1wZWwgbW90aW9uIGVzdGltYXRpb24gcXVhbGl0eQBtZV9yYW5nZQBsaW1pdCBtb3Rpb24gdmVjdG9ycyByYW5nZSAoMTAyMyBmb3IgRGl2WCBwbGF5ZXIpAGdsb2JhbF9xdWFsaXR5AGNvZGVyAHZsYwB2YXJpYWJsZSBsZW5ndGggY29kZXIgLyBIdWZmbWFuIGNvZGVyAGFyaXRobWV0aWMgY29kZXIAcmF3AHJhdyAobm8gZW5jb2RpbmcpAHJsZQBydW4tbGVuZ3RoIGNvZGVyAGNvbnRleHQAY29udGV4dCBtb2RlbABzbGljZV9mbGFncwBtYmQAbWFjcm9ibG9jayBkZWNpc2lvbiBhbGdvcml0aG0gKGhpZ2ggcXVhbGl0eSBtb2RlKQB1c2UgbWJjbXAAYml0cwB1c2UgZmV3ZXN0IGJpdHMAdXNlIGJlc3QgcmF0ZSBkaXN0b3J0aW9uAHNjX3RocmVzaG9sZABzY2VuZSBjaGFuZ2UgdGhyZXNob2xkAG5yAG5vaXNlIHJlZHVjdGlvbgByY19pbml0X29jY3VwYW5jeQBudW1iZXIgb2YgYml0cyB3aGljaCBzaG91bGQgYmUgbG9hZGVkIGludG8gdGhlIHJjIGJ1ZmZlciBiZWZvcmUgZGVjb2Rpbmcgc3RhcnRzAHRocmVhZHMAc2V0IHRoZSBudW1iZXIgb2YgdGhyZWFkcwBhdXRvZGV0ZWN0IGEgc3VpdGFibGUgbnVtYmVyIG9mIHRocmVhZHMgdG8gdXNlAGRjAGludHJhX2RjX3ByZWNpc2lvbgBuc3NldwBuc3NlIHdlaWdodABza2lwX3RvcABudW1iZXIgb2YgbWFjcm9ibG9jayByb3dzIGF0IHRoZSB0b3Agd2hpY2ggYXJlIHNraXBwZWQAc2tpcF9ib3R0b20AbnVtYmVyIG9mIG1hY3JvYmxvY2sgcm93cyBhdCB0aGUgYm90dG9tIHdoaWNoIGFyZSBza2lwcGVkAHByb2ZpbGUAdW5rbm93bgBhYWNfbWFpbgBhYWNfbG93AGFhY19zc3IAYWFjX2x0cABhYWNfaGUAYWFjX2hlX3YyAGFhY19sZABhYWNfZWxkAG1wZWcyX2FhY19sb3cAbXBlZzJfYWFjX2hlAGR0cwBkdHNfZXMAZHRzXzk2XzI0AGR0c19oZF9ocmEAZHRzX2hkX21hAG1wZWc0X3NwAG1wZWc0X2NvcmUAbXBlZzRfbWFpbgBtcGVnNF9hc3AAbWFpbjEwAG1zYmMAbGV2ZWwAbG93cmVzAGRlY29kZSBhdCAxPSAxLzIsIDI9MS80LCAzPTEvOCByZXNvbHV0aW9ucwBza2lwX3RocmVzaG9sZABmcmFtZSBza2lwIHRocmVzaG9sZABza2lwX2ZhY3RvcgBmcmFtZSBza2lwIGZhY3RvcgBza2lwX2V4cABmcmFtZSBza2lwIGV4cG9uZW50AHNraXBjbXAAZnJhbWUgc2tpcCBjb21wYXJlIGZ1bmN0aW9uAG1ibG1pbgBtaW5pbXVtIG1hY3JvYmxvY2sgTGFncmFuZ2UgZmFjdG9yIChWQlIpAG1ibG1heABtYXhpbXVtIG1hY3JvYmxvY2sgTGFncmFuZ2UgZmFjdG9yIChWQlIpAG1lcGMAbW90aW9uIGVzdGltYXRpb24gYml0cmF0ZSBwZW5hbHR5IGNvbXBlbnNhdGlvbiAoMS4wID0gMjU2KQBza2lwX2xvb3BfZmlsdGVyAHNraXAgbG9vcCBmaWx0ZXJpbmcgcHJvY2VzcyBmb3IgdGhlIHNlbGVjdGVkIGZyYW1lcwBhdmRpc2NhcmQAc2tpcF9pZGN0AHNraXAgSURDVC9kZXF1YW50aXphdGlvbiBmb3IgdGhlIHNlbGVjdGVkIGZyYW1lcwBza2lwX2ZyYW1lAHNraXAgZGVjb2RpbmcgZm9yIHRoZSBzZWxlY3RlZCBmcmFtZXMAbm9uZQBkaXNjYXJkIG5vIGZyYW1lAGRlZmF1bHQAZGlzY2FyZCB1c2VsZXNzIGZyYW1lcwBub3JlZgBkaXNjYXJkIGFsbCBub24tcmVmZXJlbmNlIGZyYW1lcwBiaWRpcgBkaXNjYXJkIGFsbCBiaWRpcmVjdGlvbmFsIGZyYW1lcwBub2tleQBkaXNjYXJkIGFsbCBmcmFtZXMgZXhjZXB0IGtleWZyYW1lcwBub2ludHJhAGRpc2NhcmQgYWxsIGZyYW1lcyBleGNlcHQgSSBmcmFtZXMAYWxsAGRpc2NhcmQgYWxsIGZyYW1lcwBiaWRpcl9yZWZpbmUAcmVmaW5lIHRoZSB0d28gbW90aW9uIHZlY3RvcnMgdXNlZCBpbiBiaWRpcmVjdGlvbmFsIG1hY3JvYmxvY2tzAGJyZF9zY2FsZQBkb3duc2NhbGUgZnJhbWVzIGZvciBkeW5hbWljIEItZnJhbWUgZGVjaXNpb24Aa2V5aW50X21pbgBtaW5pbXVtIGludGVydmFsIGJldHdlZW4gSURSLWZyYW1lcwByZWZzAHJlZmVyZW5jZSBmcmFtZXMgdG8gY29uc2lkZXIgZm9yIG1vdGlvbiBjb21wZW5zYXRpb24AY2hyb21hb2Zmc2V0AGNocm9tYSBRUCBvZmZzZXQgZnJvbSBsdW1hAHRyZWxsaXMAcmF0ZS1kaXN0b3J0aW9uIG9wdGltYWwgcXVhbnRpemF0aW9uAG12MF90aHJlc2hvbGQAYl9zZW5zaXRpdml0eQBhZGp1c3Qgc2Vuc2l0aXZpdHkgb2YgYl9mcmFtZV9zdHJhdGVneSAxAGNvbXByZXNzaW9uX2xldmVsAG1pbl9wcmVkaWN0aW9uX29yZGVyAG1heF9wcmVkaWN0aW9uX29yZGVyAHRpbWVjb2RlX2ZyYW1lX3N0YXJ0AEdPUCB0aW1lY29kZSBmcmFtZSBzdGFydCBudW1iZXIsIGluIG5vbi1kcm9wLWZyYW1lIGZvcm1hdABiaXRzX3Blcl9yYXdfc2FtcGxlAGNoYW5uZWxfbGF5b3V0AHJlcXVlc3RfY2hhbm5lbF9sYXlvdXQAcmNfbWF4X3Zidl91c2UAcmNfbWluX3Zidl91c2UAdGlja3NfcGVyX2ZyYW1lAGNvbG9yX3ByaW1hcmllcwBjb2xvciBwcmltYXJpZXMAY29sb3JfcHJpbWFyaWVzX3R5cGUAYnQ3MDkAQlQuNzA5AFVuc3BlY2lmaWVkAGJ0NDcwbQBCVC40NzAgTQBidDQ3MGJnAEJULjQ3MCBCRwBzbXB0ZTE3MG0AU01QVEUgMTcwIE0Ac21wdGUyNDBtAFNNUFRFIDI0MCBNAGZpbG0ARmlsbQBidDIwMjAAQlQuMjAyMABzbXB0ZTQyOABTTVBURSA0MjgtMQBzbXB0ZTQyOF8xAHNtcHRlNDMxAFNNUFRFIDQzMS0yAHNtcHRlNDMyAFNNUFRFIDQyMi0xAGplZGVjLXAyMgBKRURFQyBQMjIAdW5zcGVjaWZpZWQAY29sb3JfdHJjAGNvbG9yIHRyYW5zZmVyIGNoYXJhY3RlcmlzdGljcwBjb2xvcl90cmNfdHlwZQBnYW1tYTIyAGdhbW1hMjgAbGluZWFyAExpbmVhcgBsb2cxMDAATG9nAGxvZzMxNgBMb2cgc3F1YXJlIHJvb3QAaWVjNjE5NjYtMi00AElFQyA2MTk2Ni0yLTQAYnQxMzYxZQBCVC4xMzYxAGllYzYxOTY2LTItMQBJRUMgNjE5NjYtMi0xAGJ0MjAyMC0xMABCVC4yMDIwIC0gMTAgYml0AGJ0MjAyMC0xMgBCVC4yMDIwIC0gMTIgYml0AHNtcHRlMjA4NABTTVBURSAyMDg0AGFyaWItc3RkLWI2NwBBUklCIFNURC1CNjcAbG9nAGxvZ19zcXJ0AGllYzYxOTY2XzJfNABidDEzNjEAaWVjNjE5NjZfMl8xAGJ0MjAyMF8xMGJpdABidDIwMjBfMTJiaXQAY29sb3JzcGFjZQBjb2xvciBzcGFjZQBjb2xvcnNwYWNlX3R5cGUAcmdiAFJHQgBmY2MARkNDAHljZ2NvAFlDR0NPAGJ0MjAyMG5jAEJULjIwMjAgTkNMAGJ0MjAyMGMAQlQuMjAyMCBDTABzbXB0ZTIwODUAU01QVEUgMjA4NQB5Y29jZwBidDIwMjBfbmNsAGJ0MjAyMF9jbABjb2xvcl9yYW5nZQBjb2xvciByYW5nZQBjb2xvcl9yYW5nZV90eXBlAHR2AE1QRUcgKDIxOSoyXihuLTgpKQBwYwBKUEVHICgyXm4tMSkAbXBlZwBqcGVnAGNocm9tYV9zYW1wbGVfbG9jYXRpb24AY2hyb21hIHNhbXBsZSBsb2NhdGlvbgBjaHJvbWFfc2FtcGxlX2xvY2F0aW9uX3R5cGUATGVmdABjZW50ZXIAQ2VudGVyAHRvcGxlZnQAVG9wLWxlZnQAdG9wAFRvcABib3R0b21sZWZ0AEJvdHRvbS1sZWZ0AGJvdHRvbQBCb3R0b20AbG9nX2xldmVsX29mZnNldABzZXQgdGhlIGxvZyBsZXZlbCBvZmZzZXQAc2xpY2VzAHNldCB0aGUgbnVtYmVyIG9mIHNsaWNlcywgdXNlZCBpbiBwYXJhbGxlbGl6ZWQgZW5jb2RpbmcAdGhyZWFkX3R5cGUAc2VsZWN0IG11bHRpdGhyZWFkaW5nIHR5cGUAc2xpY2UAZnJhbWUAYXVkaW9fc2VydmljZV90eXBlAGF1ZGlvIHNlcnZpY2UgdHlwZQBtYQBNYWluIEF1ZGlvIFNlcnZpY2UAZWYARWZmZWN0cwB2aQBWaXN1YWxseSBJbXBhaXJlZABoaQBIZWFyaW5nIEltcGFpcmVkAGRpAERpYWxvZ3VlAGNvAENvbW1lbnRhcnkAZW0ARW1lcmdlbmN5AHZvAFZvaWNlIE92ZXIAa2EAS2FyYW9rZQByZXF1ZXN0X3NhbXBsZV9mbXQAc2FtcGxlIGZvcm1hdCBhdWRpbyBkZWNvZGVycyBzaG91bGQgcHJlZmVyAHBrdF90aW1lYmFzZQBzdWJfY2hhcmVuYwBzZXQgaW5wdXQgdGV4dCBzdWJ0aXRsZXMgY2hhcmFjdGVyIGVuY29kaW5nAHN1Yl9jaGFyZW5jX21vZGUAc2V0IGlucHV0IHRleHQgc3VidGl0bGVzIGNoYXJhY3RlciBlbmNvZGluZyBtb2RlAGRvX25vdGhpbmcAcHJlX2RlY29kZXIAc3ViX3RleHRfZm9ybWF0AHNldCBkZWNvZGVkIHRleHQgc3VidGl0bGUgZm9ybWF0AGFzcwBhc3Nfd2l0aF90aW1pbmdzAHJlZmNvdW50ZWRfZnJhbWVzAHNpZGVfZGF0YV9vbmx5X3BhY2tldHMAYXBwbHlfY3JvcHBpbmcAc2tpcF9hbHBoYQBTa2lwIHByb2Nlc3NpbmcgYWxwaGEAZmllbGRfb3JkZXIARmllbGQgb3JkZXIAcHJvZ3Jlc3NpdmUAdHQAYmIAdGIAZHVtcF9zZXBhcmF0b3IAc2V0IGluZm9ybWF0aW9uIGR1bXAgZmllbGQgc2VwYXJhdG9yAGNvZGVjX3doaXRlbGlzdABMaXN0IG9mIGRlY29kZXJzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYmUgdXNlZABwaXhlbF9mb3JtYXQAc2V0IHBpeGVsIGZvcm1hdAB2aWRlb19zaXplAHNldCB2aWRlbyBzaXplAG1heF9waXhlbHMATWF4aW11bSBudW1iZXIgb2YgcGl4ZWxzAGh3YWNjZWxfZmxhZ3MAaWdub3JlX2xldmVsAGlnbm9yZSBsZXZlbCBldmVuIGlmIHRoZSBjb2RlYyBsZXZlbCB1c2VkIGlzIHVua25vd24gb3IgaGlnaGVyIHRoYW4gdGhlIG1heGltdW0gc3VwcG9ydGVkIGxldmVsIHJlcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZSBkcml2ZXIAYWxsb3dfaGlnaF9kZXB0aABhbGxvdyB0byBvdXRwdXQgWVVWIHBpeGVsIGZvcm1hdHMgd2l0aCBhIGRpZmZlcmVudCBjaHJvbWEgc2FtcGxpbmcgdGhhbiA0OjI6MCBhbmQvb3Igb3RoZXIgdGhhbiA4IGJpdHMgcGVyIGNvbXBvbmVudABhbGxvd19wcm9maWxlX21pc21hdGNoAGF0dGVtcHQgdG8gZGVjb2RlIGFueXdheSBpZiBIVyBhY2NlbGVyYXRlZCBkZWNvZGVyJ3Mgc3VwcG9ydGVkIHByb2ZpbGVzIGRvIG5vdCBleGFjdGx5IG1hdGNoIHRoZSBzdHJlYW0AZXh0cmFfaHdfZnJhbWVzAE51bWJlciBvZiBleHRyYSBoYXJkd2FyZSBmcmFtZXMgdG8gYWxsb2NhdGUgZm9yIHRoZSB1c2VyAE5VTEwAQVZCU0ZDb250ZXh0AFRoaXMgZGVjb2RlciBkb2VzIG5vdCBzdXBwb3J0IHBhcmFtZXRlciBjaGFuZ2VzLCBidXQgUEFSQU1fQ0hBTkdFIHNpZGUgZGF0YSB3YXMgc2VudCB0byBpdC4KAEludmFsaWQgY2hhbm5lbCBjb3VudABJbnZhbGlkIHNhbXBsZSByYXRlAFBBUkFNX0NIQU5HRSBzaWRlIGRhdGEgdG9vIHNtYWxsLgoARXJyb3IgYXBwbHlpbmcgcGFyYW1ldGVyIGNoYW5nZXMuCgBFcnJvciBwcmUtcHJvY2Vzc2luZyBhIHBhY2tldCBiZWZvcmUgZGVjb2RpbmcKACFmcmFtZS0+YnVmWzBdAChmcmFtZS0+cHJpdmF0ZV9yZWYgJiYgZnJhbWUtPnByaXZhdGVfcmVmLT5zaXplID09IHNpemVvZihGcmFtZURlY29kZURhdGEpKSB8fCAhKGF2Y3R4LT5jb2RlYy0+Y2FwYWJpbGl0aWVzICYgKDEgPDwgMSkpAHNraXAgJWQgLyBkaXNjYXJkICVkIHNhbXBsZXMgZHVlIHRvIHNpZGUgZGF0YQoAc2tpcCB3aG9sZSBmcmFtZSwgc2tpcCBsZWZ0OiAlZAoAQ291bGQgbm90IHVwZGF0ZSB0aW1lc3RhbXBzIGZvciBza2lwcGVkIHNhbXBsZXMuCgBza2lwICVkLyVkIHNhbXBsZXMKAENvdWxkIG5vdCB1cGRhdGUgdGltZXN0YW1wcyBmb3IgZGlzY2FyZGVkIHNhbXBsZXMuCgBkaXNjYXJkICVkLyVkIHNhbXBsZXMKAE11bHRpcGxlIGZyYW1lcyBpbiBhIHBhY2tldC4KAFRvbyBtYW55IGVycm9ycyB3aGVuIGRyYWluaW5nLCB0aGlzIGlzIGEgYnVnLiBTdG9wIGRyYWluaW5nIGFuZCBmb3JjZSBFT0YuCgBmcmFtZS0+YnVmWzBdAGF2X3BhY2tldF9yZWYoKSBmYWlsZWQgaW4gc3VibWl0X3BhY2tldCgpCgBudWxsACwAQSBub24tZXhpc3RpbmcgYml0c3RyZWFtIGZpbHRlciAlcyByZXF1ZXN0ZWQgYnkgYSBkZWNvZGVyLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0LgoASW52YWxpZCBjcm9wcGluZyBpbmZvcm1hdGlvbiBzZXQgYnkgYSBkZWNvZGVyOiAlenUvJXp1LyV6dS8lenUgKGZyYW1lIHNpemUgJWR4JWQpLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0CgBpbmRleCA+IC0weDIwMDAwMDAwACFwLT5od2FjY2VsX3NlcmlhbGl6aW5nAEEgZnJhbWUgdGhyZWFkZWQgZGVjb2RlciBkaWQgbm90IGZyZWUgdGhlIGZyYW1lIG9uIGZhaWx1cmUuIFRoaXMgaXMgYSBidWcsIHBsZWFzZSByZXBvcnQgaXQuCgBBcHBsaWNhdGlvbiBoYXMgcmVxdWVzdGVkICVkIHRocmVhZHMuIFVzaW5nIGEgdGhyZWFkIGNvdW50IGdyZWF0ZXIgdGhhbiAlZCBpcyBub3QgcmVjb21tZW5kZWQuCgBObyBjb2RlYyBwcm92aWRlZCB0byBhdmNvZGVjX29wZW4yKCkKAFRoaXMgQVZDb2RlY0NvbnRleHQgd2FzIGFsbG9jYXRlZCBmb3IgJXMsIGJ1dCAlcyBwYXNzZWQgdG8gYXZjb2RlY19vcGVuMigpCgBDb2RlYyAoJXMpIG5vdCBvbiB3aGl0ZWxpc3QgJyVzJwoASWdub3JpbmcgaW52YWxpZCB3aWR0aC9oZWlnaHQgdmFsdWVzCgBpZ25vcmluZyBpbnZhbGlkIFNBUjogJXUvJXUKAENvZGVjIHR5cGUgb3IgaWQgbWlzbWF0Y2hlcwoAZW5jb2RlcgBkZWNvZGVyAFRoZSAlcyAnJXMnIGlzIGV4cGVyaW1lbnRhbCBidXQgZXhwZXJpbWVudGFsIGNvZGVjcyBhcmUgbm90IGVuYWJsZWQsIGFkZCAnLXN0cmljdCAlZCcgaWYgeW91IHdhbnQgdG8gdXNlIGl0LgoAQWx0ZXJuYXRpdmVseSB1c2UgdGhlIG5vbiBleHBlcmltZW50YWwgJXMgJyVzJy4KAFRoZSBtYXhpbXVtIHZhbHVlIGZvciBsb3dyZXMgc3VwcG9ydGVkIGJ5IHRoZSBkZWNvZGVyIGlzICVkCgBUaGUgZW5jb2RlciB0aW1lYmFzZSBpcyBub3Qgc2V0LgoAJWQAU3BlY2lmaWVkIHNhbXBsZSBmb3JtYXQgJXMgaXMgaW52YWxpZCBvciBub3Qgc3VwcG9ydGVkCgBTcGVjaWZpZWQgcGl4ZWwgZm9ybWF0ICVzIGlzIGludmFsaWQgb3Igbm90IHN1cHBvcnRlZAoAU3BlY2lmaWVkIHNhbXBsZSByYXRlICVkIGlzIG5vdCBzdXBwb3J0ZWQKAENoYW5uZWwgbGF5b3V0IG5vdCBzcGVjaWZpZWQKAFNwZWNpZmllZCBjaGFubmVsIGxheW91dCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQKAENoYW5uZWwgbGF5b3V0ICclcycgd2l0aCAlZCBjaGFubmVscyBkb2VzIG5vdCBtYXRjaCBudW1iZXIgb2Ygc3BlY2lmaWVkIGNoYW5uZWxzICVkCgBTcGVjaWZpZWQgbnVtYmVyIG9mIGNoYW5uZWxzICVkIGlzIG5vdCBzdXBwb3J0ZWQKAFNwZWNpZmllZCBiaXQgZGVwdGggJWQgbm90IHBvc3NpYmxlIHdpdGggdGhlIHNwZWNpZmllZCBwaXhlbCBmb3JtYXRzIGRlcHRoICVkCgBkaW1lbnNpb25zIG5vdCBzZXQKAEJpdHJhdGUgJWxsZCBpcyBleHRyZW1lbHkgbG93LCBtYXliZSB5b3UgbWVhbiAlbGxkawoAdGlja3NfcGVyX2ZyYW1lICVkIHRvbyBsYXJnZSBmb3IgdGhlIHRpbWViYXNlICVkLyVkLgBNaXNtYXRjaGluZyBBVkNvZGVjQ29udGV4dC5waXhfZm10IGFuZCBBVkhXRnJhbWVzQ29udGV4dC5mb3JtYXQKAE1pc21hdGNoaW5nIEFWQ29kZWNDb250ZXh0LnN3X3BpeF9mbXQgKCVzKSBhbmQgQVZIV0ZyYW1lc0NvbnRleHQuc3dfZm9ybWF0ICglcykKAGdyYXkgZGVjb2RpbmcgcmVxdWVzdGVkIGJ1dCBub3QgZW5hYmxlZCBhdCBjb25maWd1cmF0aW9uIHRpbWUKAENoYW5uZWwgbGF5b3V0ICclcycgd2l0aCAlZCBjaGFubmVscyBkb2VzIG5vdCBtYXRjaCBzcGVjaWZpZWQgbnVtYmVyIG9mIGNoYW5uZWxzICVkOiBpZ25vcmluZyBzcGVjaWZpZWQgY2hhbm5lbCBsYXlvdXQKAENoYXJhY3RlciBlbmNvZGluZyBpcyBvbmx5IHN1cHBvcnRlZCB3aXRoIHN1YnRpdGxlcyBjb2RlY3MKAENvZGVjICclcycgaXMgYml0bWFwLWJhc2VkLCBzdWJ0aXRsZXMgY2hhcmFjdGVyIGVuY29kaW5nIHdpbGwgYmUgaWdub3JlZAoAVVRGLTgAVW5hYmxlIHRvIG9wZW4gaWNvbnYgY29udGV4dCB3aXRoIGlucHV0IGNoYXJhY3RlciBlbmNvZGluZyAiJXMiCgAqKGNvbnN0IEFWQ2xhc3MgKiopYXZjdHgtPnByaXZfZGF0YSA9PSBjb2RlYy0+cHJpdl9jbGFzcwB2b2lkAGJvb2wAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGZsb2F0AGRvdWJsZQBzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAGluZmluaXR5AG5hbgB1dGY4AGNoYXIAAMh3Y2hhcnQAAMZ1Y3MyAHVjczJiZQAAxHVjczJsZQAAxXV0ZjE2AHV0ZjE2YmUAAMJ1dGYxNmxlAADBdWNzNAB1Y3M0YmUAdXRmMzIAdXRmMzJiZQAAwHVjczRsZQB1dGYzMmxlAADDYXNjaWkAdXNhc2NpaQBpc282NDYAaXNvNjQ2dXMAAMdldWNqcAAA0HNoaWZ0amlzAHNqaXMAANFnYjE4MDMwAADYZ2JrAADZZ2IyMzEyAADaYmlnNQBiaWdmaXZlAGNwOTUwAGJpZzVoa3NjcwAA4GV1Y2tyAGtzYzU2MDEAa3N4MTAwMQBjcDk0OQAA6Glzbzg4NTkxAGxhdGluMQAAgGlzbzg4NTkyAAAgANgQyxoApBEIAAAcUsgioABAiigA3DALGwCoIQgsACBiCCOh1FLKKHsAAAANAJSBAwA+AIAEAEoAAAAQQrQRBwAA3AEAAH9UAsAlAACQCAB8AABADQCYkQMAPwCQBABLAABAEEO4IQcAAOABAACAWAIAJgAAoIgsaXNvODg1OTMAACAAWBELAAAEQAUAAHhRiBNgABCAKABcAQAAAABQBQAAfGHIE2EAEMAoAAAAQAAA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qPCCCzFkwEEEEkxgpSmRRhpppJFGGmmkkUYaaaSRRhpppI06+miYZ/LZZ5xw+smmnHjeaeeYZKaJpplgqpmnnnW+SWige655qKCD/gkonXO26aahhZYppqKJLsooouVEigw919wTKT7aNNMNOpHqk06kkUbaJZdefvnAlgdkmYCWkSIAqQBjcDg1MAAAABfAQIIHH3QAggglmDBCCiicQEEFGDiwwAosqPCCCzFkwAEEEjTAgCmRRhpppJFGGmmkkUYaaaSRRhpppI06+miYZ0YaaaQF+MmmnHhGMMGYZKaJpplgqhlppHW+SWige655aKSRRhpppJF+EWmkkZYppqKJRhopopFGGmmkkUYaaaSRRhpppJFGakCkkUZKZKSRDvCAAgcQkECkkSIAqQAAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYARG4AaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";var tempDoublePtr=STATICTOP;STATICTOP+=16;assert(tempDoublePtr%8==0);function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___gxx_personality_v0(){}function ___lock(){}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};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else Module.printErr("failed to set errno from JS");return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){assert(position===0,"canOwn must imply no weird position inside the file");node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}catch(e){return callback(e)}}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null}),isClosed:(function(stream){return stream.fd===null}),llseek:(function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto")["randomBytes"](1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true});if(this.stack)this.stack=demangleAll(this.stack)};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push((function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}}))}}));if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach((function(cb){cb()}))}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(wt){return!!wt}),"toWireType":(function(destructors,o){return o?trueValue:falseValue}),"argPackAdvance":8,"readValueFromPointer":(function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])}),destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=(function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)});proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register((function(){clonedHandle["delete"]()})));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&&registeredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return(new Function("dynCall","rawFunction",body))(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["asm"]["dynCall_"+signature];if(dc===undefined){dc=Module["asm"]["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,(function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])}));whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],(function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,(function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)}));var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]}))}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=function unboundTypeHandler(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){classType.registeredClass.constructor_body[argCount-1]=function constructor_body(){if(arguments.length!==argCount-1){throwBindingError(humanName+" called with "+arguments.length+" arguments, expected "+(argCount-1))}var destructors=[];var args=new Array(argCount);args[0]=rawConstructor;for(var i=1;i<argCount;++i){args[i]=argTypes[i]["toWireType"](destructors,arguments[i-1])}var ptr=invoker.apply(null,args);runDestructors(destructors);return argTypes[0]["fromWireType"](ptr)};return[]}));return[]}))}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",(function(){}));dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]}));return[]}))}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],(function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:(function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}),enumerable:true,configurable:true};if(setter){desc.set=(function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])})}else{desc.set=(function(v){throwBindingError(humanName+" is a read-only property")})}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],(function(types){var getterReturnType=types[0];var desc={get:(function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))}),enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=(function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)})}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]}));return[]}))}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1};case null:{return 2};case true:{return 3};case false:{return 4};default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv}),"toWireType":(function(destructors,value){return __emval_register(value)}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return(function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=(function(value){return value});if(minRange===0){var bitshift=32-8*size;fromWireType=(function(value){return value<<bitshift>>>bitshift})}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}_free(value);return a.join("")}),"toWireType":(function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}function getTAElement(ta,index){return ta[index]}function getStringElement(string,index){return string.charCodeAt(index)}var getElement;if(value instanceof Uint8Array){getElement=getTAElement}else if(value instanceof Uint8ClampedArray){getElement=getTAElement}else if(value instanceof Int8Array){getElement=getTAElement}else if(typeof value==="string"){getElement=getStringElement}else{throwBindingError("Cannot pass non-string to std::string")}var length=value.length;var ptr=_malloc(4+length);HEAPU32[ptr>>2]=length;for(var i=0;i<length;++i){var charCode=getElement(value,i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=(function(){return HEAPU16});shift=1}else if(charSize===4){getHeap=(function(){return HEAPU32});shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")}),"toWireType":(function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":(function(){return undefined}),"toWireType":(function(destructors,o){return undefined})})}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return(function(){return Function})()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map((function(t){return t.name})).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(HEAP32[(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return(new Function("requireRegisteredType","HEAP32","__emval_register",functionBody))(requireRegisteredType,HEAP32,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}var _acos=Math_acos;var _asin=Math_asin;var _atan=Math_atan;function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}var _cos=Math_cos;function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break};case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var origArg=currArg;var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){if(argSize==8&&typeof i64Math==="object")argText=i64Math.stringify(origArg[0],origArg[1],null);else argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){if(argSize==8&&typeof i64Math==="object")argText=i64Math.stringify(origArg[0],origArg[1],true);else argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(argSize==8&&typeof i64Math==="object"){if(origArg[1]){argText=(origArg[1]>>>0).toString(16);var lower=(origArg[0]>>>0).toString(16);while(lower.length<8)lower="0"+lower;argText+=lower}else{argText=(origArg[0]>>>0).toString(16)}}else if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach((function(chr){ret.push(chr.charCodeAt(0))}));break};case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach((function(chr){ret.push(chr.charCodeAt(0))}));break};case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break};case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break};case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break};case"%":{ret.push(curr);break};default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){Module.printErr(str)}else{Module.print(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}var _exp=Math_exp;var _fabs=Math_abs;function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _init(){var fc=window["FlvClient"]=Module["FlvClient"];window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}fc.prototype.checkVideoBuffer=(function(t){var _this=this;return setTimeout((function(){_this.decodeVideoBuffer()}),t)});fc.prototype.onNetStatus=(function(info){});fc.prototype.initAudio=(function(frameCount,samplerate,channels){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var outputPtr=this._initAudio(frameCount,channels);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=(function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()});var copyAudioOutputArray=resampled?(function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}):(function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}});var copyToCtxBuffer=channels>1?(function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}):(function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)});var playAudio=(function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()});this.playAudio=playAudio});fc.prototype.play=(function(url,webGLCanvas,croppingParams){this.reconnect=(function(){this.play(url,webGLCanvas,croppingParams)});if(this.ws){_this.$close(false);this.ws.close()}var canvas=webGLCanvas.canvasElement;this.setVideoSize=(function(w,h,dataPtr){canvas.width=w;canvas.height=h;if(webGLCanvas.isWebGL()){this.draw=(function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+w*h),HEAPU8.subarray(u,u+(w*h>>2)),HEAPU8.subarray(v,v+(w*h>>2))];webGLCanvas.drawNextOutputPicture(w,h,croppingParams,outputArray)})}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));webGLCanvas.initRGB(w,h);this.draw=(function(){webGLCanvas.drawNextOutputPicture(w,h,croppingParams,outputArray)})}}).bind(this);this.getWebGL=(function(){return webGLCanvas});var _this=this;var ws=this.$getWebSocket(url);ws.onmessage=(function(data){_this.$onWsMessage(data)});ws.onopen=(function(){Module.print("websocket open")});ws.binaryType="arraybuffer";if(this.onWsError)ws.onerror=this.onWsError;ws.onclose=(function(){_this.$close(true);_this.ws=null;if(this.onWsClose)this.onWsClose()});this.ws=ws;this.close=(function(){this.$close(false);ws.onclose=null;ws.close();this.ws=null});this.$play(this,webGLCanvas.isWebGL())})}var _llvm_ceil_f64=Math_ceil;var _llvm_fabs_f64=Math_abs;var _llvm_floor_f64=Math_floor;var _llvm_pow_f64=Math_pow;function _llvm_trap(){abort("trap!")}var _llvm_trunc_f64=Math_trunc;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}var _log=Math_log;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function _pthread_join(){}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_mutex_destroy(){}function _pthread_mutex_init(){}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}var _sin=Math_sin;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;maxHeapSize=HEAPU8.length;return maxHeapSize/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:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _tan=Math_tan;FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();init_embind();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var ASSERTIONS=true;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function nullFunc_dd(x){Module["printErr"]("Invalid function pointer called with signature 'dd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_did(x){Module["printErr"]("Invalid function pointer called with signature 'did'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_didd(x){Module["printErr"]("Invalid function pointer called with signature 'didd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_i(x){Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_ii(x){Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iii(x){Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_v(x){Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vi(x){Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vii(x){Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viii(x){Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiiiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function invoke_dd(index,a1){try{return Module["dynCall_dd"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_did(index,a1,a2){try{return Module["dynCall_did"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_didd(index,a1,a2,a3){try{return Module["dynCall_didd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"abortStackOverflow":abortStackOverflow,"nullFunc_dd":nullFunc_dd,"nullFunc_did":nullFunc_did,"nullFunc_didd":nullFunc_didd,"nullFunc_i":nullFunc_i,"nullFunc_ii":nullFunc_ii,"nullFunc_iii":nullFunc_iii,"nullFunc_iiii":nullFunc_iiii,"nullFunc_iiiii":nullFunc_iiiii,"nullFunc_iiiiii":nullFunc_iiiiii,"nullFunc_iiiiiii":nullFunc_iiiiiii,"nullFunc_v":nullFunc_v,"nullFunc_vi":nullFunc_vi,"nullFunc_vii":nullFunc_vii,"nullFunc_viii":nullFunc_viii,"nullFunc_viiii":nullFunc_viiii,"nullFunc_viiiii":nullFunc_viiiii,"nullFunc_viiiiii":nullFunc_viiiiii,"nullFunc_viiiiiiii":nullFunc_viiiiiiii,"nullFunc_viiiiiiiii":nullFunc_viiiiiiiii,"nullFunc_viiiiiiiiii":nullFunc_viiiiiiiiii,"invoke_dd":invoke_dd,"invoke_did":invoke_did,"invoke_didd":invoke_didd,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_viii":invoke_viii,"invoke_viiii":invoke_viiii,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"ClassHandle":ClassHandle,"ClassHandle_clone":ClassHandle_clone,"ClassHandle_delete":ClassHandle_delete,"ClassHandle_deleteLater":ClassHandle_deleteLater,"ClassHandle_isAliasOf":ClassHandle_isAliasOf,"ClassHandle_isDeleted":ClassHandle_isDeleted,"RegisteredClass":RegisteredClass,"RegisteredPointer":RegisteredPointer,"RegisteredPointer_deleteObject":RegisteredPointer_deleteObject,"RegisteredPointer_destructor":RegisteredPointer_destructor,"RegisteredPointer_fromWireType":RegisteredPointer_fromWireType,"RegisteredPointer_getPointee":RegisteredPointer_getPointee,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_begin_catch":___cxa_begin_catch,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_throw":___cxa_throw,"___gxx_personality_v0":___gxx_personality_v0,"___lock":___lock,"___resumeException":___resumeException,"___setErrNo":___setErrNo,"___syscall140":___syscall140,"___syscall146":___syscall146,"___syscall221":___syscall221,"___syscall3":___syscall3,"___syscall5":___syscall5,"___syscall54":___syscall54,"___syscall6":___syscall6,"___unlock":___unlock,"__embind_register_bool":__embind_register_bool,"__embind_register_class":__embind_register_class,"__embind_register_class_constructor":__embind_register_class_constructor,"__embind_register_class_function":__embind_register_class_function,"__embind_register_class_property":__embind_register_class_property,"__embind_register_emval":__embind_register_emval,"__embind_register_float":__embind_register_float,"__embind_register_integer":__embind_register_integer,"__embind_register_memory_view":__embind_register_memory_view,"__embind_register_std_string":__embind_register_std_string,"__embind_register_std_wstring":__embind_register_std_wstring,"__embind_register_void":__embind_register_void,"__emscripten_traverse_stack":__emscripten_traverse_stack,"__emval_addMethodCaller":__emval_addMethodCaller,"__emval_allocateDestructors":__emval_allocateDestructors,"__emval_as":__emval_as,"__emval_call_method":__emval_call_method,"__emval_call_void_method":__emval_call_void_method,"__emval_decref":__emval_decref,"__emval_get_global":__emval_get_global,"__emval_get_method_caller":__emval_get_method_caller,"__emval_get_property":__emval_get_property,"__emval_incref":__emval_incref,"__emval_lookupTypes":__emval_lookupTypes,"__emval_new":__emval_new,"__emval_new_cstring":__emval_new_cstring,"__emval_new_object":__emval_new_object,"__emval_register":__emval_register,"__emval_run_destructors":__emval_run_destructors,"__emval_set_property":__emval_set_property,"__emval_take_value":__emval_take_value,"__formatString":__formatString,"__reallyNegative":__reallyNegative,"_abort":_abort,"_acos":_acos,"_asin":_asin,"_atan":_atan,"_clock":_clock,"_cos":_cos,"_embind_repr":_embind_repr,"_emscripten_asm_const_ii":_emscripten_asm_const_ii,"_emscripten_get_callstack_js":_emscripten_get_callstack_js,"_emscripten_log":_emscripten_log,"_emscripten_log_js":_emscripten_log_js,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_exp":_exp,"_fabs":_fabs,"_getenv":_getenv,"_gettimeofday":_gettimeofday,"_gmtime_r":_gmtime_r,"_init":_init,"_llvm_ceil_f64":_llvm_ceil_f64,"_llvm_fabs_f64":_llvm_fabs_f64,"_llvm_floor_f64":_llvm_floor_f64,"_llvm_pow_f64":_llvm_pow_f64,"_llvm_trap":_llvm_trap,"_llvm_trunc_f64":_llvm_trunc_f64,"_localtime_r":_localtime_r,"_log":_log,"_mktime":_mktime,"_pthread_cond_destroy":_pthread_cond_destroy,"_pthread_cond_init":_pthread_cond_init,"_pthread_cond_signal":_pthread_cond_signal,"_pthread_cond_wait":_pthread_cond_wait,"_pthread_create":_pthread_create,"_pthread_getspecific":_pthread_getspecific,"_pthread_join":_pthread_join,"_pthread_key_create":_pthread_key_create,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_pthread_mutex_init":_pthread_mutex_init,"_pthread_once":_pthread_once,"_pthread_setspecific":_pthread_setspecific,"_sin":_sin,"_sysconf":_sysconf,"_tan":_tan,"_tzset":_tzset,"constNoSmartPtrRawPointerToWireType":constNoSmartPtrRawPointerToWireType,"count_emval_handles":count_emval_handles,"craftEmvalAllocator":craftEmvalAllocator,"craftInvokerFunction":craftInvokerFunction,"createNamedFunction":createNamedFunction,"downcastPointer":downcastPointer,"embind__requireFunction":embind__requireFunction,"embind_init_charCodes":embind_init_charCodes,"emval_get_global":emval_get_global,"ensureOverloadTable":ensureOverloadTable,"exposePublicSymbol":exposePublicSymbol,"extendError":extendError,"floatReadValueFromPointer":floatReadValueFromPointer,"flushPendingDeletes":flushPendingDeletes,"genericPointerToWireType":genericPointerToWireType,"getBasestPointer":getBasestPointer,"getInheritedInstance":getInheritedInstance,"getInheritedInstanceCount":getInheritedInstanceCount,"getLiveInheritedInstances":getLiveInheritedInstances,"getShiftFromSize":getShiftFromSize,"getStringOrSymbol":getStringOrSymbol,"getTypeName":getTypeName,"get_first_emval":get_first_emval,"heap32VectorToArray":heap32VectorToArray,"init_ClassHandle":init_ClassHandle,"init_RegisteredPointer":init_RegisteredPointer,"init_embind":init_embind,"init_emval":init_emval,"integerReadValueFromPointer":integerReadValueFromPointer,"makeClassHandle":makeClassHandle,"makeLegalFunctionName":makeLegalFunctionName,"new_":new_,"nonConstNoSmartPtrRawPointerToWireType":nonConstNoSmartPtrRawPointerToWireType,"readLatin1String":readLatin1String,"registerType":registerType,"replacePublicSymbol":replacePublicSymbol,"requireHandle":requireHandle,"requireRegisteredType":requireRegisteredType,"runDestructor":runDestructor,"runDestructors":runDestructors,"setDelayFunction":setDelayFunction,"shallowCopyInternalPointer":shallowCopyInternalPointer,"simpleReadValueFromPointer":simpleReadValueFromPointer,"throwBindingError":throwBindingError,"throwInstanceAlreadyDeleted":throwInstanceAlreadyDeleted,"throwInternalError":throwInternalError,"throwUnboundTypeError":throwUnboundTypeError,"upcastPointer":upcastPointer,"validateThis":validateThis,"whenDependentTypesAreResolved":whenDependentTypesAreResolved,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};// EMSCRIPTEN_START_ASM
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0;var y=0;var z=global.Math.floor;var A=global.Math.abs;var B=global.Math.sqrt;var C=global.Math.pow;var D=global.Math.cos;var E=global.Math.sin;var F=global.Math.tan;var G=global.Math.acos;var H=global.Math.asin;var I=global.Math.atan;var J=global.Math.atan2;var K=global.Math.exp;var L=global.Math.log;var M=global.Math.ceil;var N=global.Math.imul;var O=global.Math.min;var P=global.Math.max;var Q=global.Math.clz32;var R=env.abort;var S=env.assert;var T=env.enlargeMemory;var U=env.getTotalMemory;var V=env.abortOnCannotGrowMemory;var W=env.abortStackOverflow;var X=env.nullFunc_dd;var Y=env.nullFunc_did;var Z=env.nullFunc_didd;var _=env.nullFunc_i;var $=env.nullFunc_ii;var aa=env.nullFunc_iii;var ba=env.nullFunc_iiii;var ca=env.nullFunc_iiiii;var da=env.nullFunc_iiiiii;var ea=env.nullFunc_iiiiiii;var fa=env.nullFunc_v;var ga=env.nullFunc_vi;var ha=env.nullFunc_vii;var ia=env.nullFunc_viii;var ja=env.nullFunc_viiii;var ka=env.nullFunc_viiiii;var la=env.nullFunc_viiiiii;var ma=env.nullFunc_viiiiiiii;var na=env.nullFunc_viiiiiiiii;var oa=env.nullFunc_viiiiiiiiii;var pa=env.invoke_dd;var qa=env.invoke_did;var ra=env.invoke_didd;var sa=env.invoke_i;var ta=env.invoke_ii;var ua=env.invoke_iii;var va=env.invoke_iiii;var wa=env.invoke_iiiii;var xa=env.invoke_iiiiii;var ya=env.invoke_iiiiiii;var za=env.invoke_v;var Aa=env.invoke_vi;var Ba=env.invoke_vii;var Ca=env.invoke_viii;var Da=env.invoke_viiii;var Ea=env.invoke_viiiii;var Fa=env.invoke_viiiiii;var Ga=env.invoke_viiiiiiii;var Ha=env.invoke_viiiiiiiii;var Ia=env.invoke_viiiiiiiiii;var Ja=env.ClassHandle;var Ka=env.ClassHandle_clone;var La=env.ClassHandle_delete;var Ma=env.ClassHandle_deleteLater;var Na=env.ClassHandle_isAliasOf;var Oa=env.ClassHandle_isDeleted;var Pa=env.RegisteredClass;var Qa=env.RegisteredPointer;var Ra=env.RegisteredPointer_deleteObject;var Sa=env.RegisteredPointer_destructor;var Ta=env.RegisteredPointer_fromWireType;var Ua=env.RegisteredPointer_getPointee;var Va=env.__ZSt18uncaught_exceptionv;var Wa=env.___assert_fail;var Xa=env.___buildEnvironment;var Ya=env.___cxa_allocate_exception;var Za=env.___cxa_begin_catch;var _a=env.___cxa_find_matching_catch;var $a=env.___cxa_pure_virtual;var ab=env.___cxa_throw;var bb=env.___gxx_personality_v0;var cb=env.___lock;var db=env.___resumeException;var eb=env.___setErrNo;var fb=env.___syscall140;var gb=env.___syscall146;var hb=env.___syscall221;var ib=env.___syscall3;var jb=env.___syscall5;var kb=env.___syscall54;var lb=env.___syscall6;var mb=env.___unlock;var nb=env.__embind_register_bool;var ob=env.__embind_register_class;var pb=env.__embind_register_class_constructor;var qb=env.__embind_register_class_function;var rb=env.__embind_register_class_property;var sb=env.__embind_register_emval;var tb=env.__embind_register_float;var ub=env.__embind_register_integer;var vb=env.__embind_register_memory_view;var wb=env.__embind_register_std_string;var xb=env.__embind_register_std_wstring;var yb=env.__embind_register_void;var zb=env.__emscripten_traverse_stack;var Ab=env.__emval_addMethodCaller;var Bb=env.__emval_allocateDestructors;var Cb=env.__emval_as;var Db=env.__emval_call_method;var Eb=env.__emval_call_void_method;var Fb=env.__emval_decref;var Gb=env.__emval_get_global;var Hb=env.__emval_get_method_caller;var Ib=env.__emval_get_property;var Jb=env.__emval_incref;var Kb=env.__emval_lookupTypes;var Lb=env.__emval_new;var Mb=env.__emval_new_cstring;var Nb=env.__emval_new_object;var Ob=env.__emval_register;var Pb=env.__emval_run_destructors;var Qb=env.__emval_set_property;var Rb=env.__emval_take_value;var Sb=env.__formatString;var Tb=env.__reallyNegative;var Ub=env._abort;var Vb=env._acos;var Wb=env._asin;var Xb=env._atan;var Yb=env._clock;var Zb=env._cos;var _b=env._embind_repr;var $b=env._emscripten_asm_const_ii;var ac=env._emscripten_get_callstack_js;var bc=env._emscripten_log;var cc=env._emscripten_log_js;var dc=env._emscripten_memcpy_big;var ec=env._exp;var fc=env._fabs;var gc=env._getenv;var hc=env._gettimeofday;var ic=env._gmtime_r;var jc=env._init;var kc=env._llvm_ceil_f64;var lc=env._llvm_fabs_f64;var mc=env._llvm_floor_f64;var nc=env._llvm_pow_f64;var oc=env._llvm_trap;var pc=env._llvm_trunc_f64;var qc=env._localtime_r;var rc=env._log;var sc=env._mktime;var tc=env._pthread_cond_destroy;var uc=env._pthread_cond_init;var vc=env._pthread_cond_signal;var wc=env._pthread_cond_wait;var xc=env._pthread_create;var yc=env._pthread_getspecific;var zc=env._pthread_join;var Ac=env._pthread_key_create;var Bc=env._pthread_mutex_destroy;var Cc=env._pthread_mutex_init;var Dc=env._pthread_once;var Ec=env._pthread_setspecific;var Fc=env._sin;var Gc=env._sysconf;var Hc=env._tan;var Ic=env._tzset;var Jc=env.constNoSmartPtrRawPointerToWireType;var Kc=env.count_emval_handles;var Lc=env.craftEmvalAllocator;var Mc=env.craftInvokerFunction;var Nc=env.createNamedFunction;var Oc=env.downcastPointer;var Pc=env.embind__requireFunction;var Qc=env.embind_init_charCodes;var Rc=env.emval_get_global;var Sc=env.ensureOverloadTable;var Tc=env.exposePublicSymbol;var Uc=env.extendError;var Vc=env.floatReadValueFromPointer;var Wc=env.flushPendingDeletes;var Xc=env.genericPointerToWireType;var Yc=env.getBasestPointer;var Zc=env.getInheritedInstance;var _c=env.getInheritedInstanceCount;var $c=env.getLiveInheritedInstances;var ad=env.getShiftFromSize;var bd=env.getStringOrSymbol;var cd=env.getTypeName;var dd=env.get_first_emval;var ed=env.heap32VectorToArray;var fd=env.init_ClassHandle;var gd=env.init_RegisteredPointer;var hd=env.init_embind;var id=env.init_emval;var jd=env.integerReadValueFromPointer;var kd=env.makeClassHandle;var ld=env.makeLegalFunctionName;var md=env.new_;var nd=env.nonConstNoSmartPtrRawPointerToWireType;var od=env.readLatin1String;var pd=env.registerType;var qd=env.replacePublicSymbol;var rd=env.requireHandle;var sd=env.requireRegisteredType;var td=env.runDestructor;var ud=env.runDestructors;var vd=env.setDelayFunction;var wd=env.shallowCopyInternalPointer;var xd=env.simpleReadValueFromPointer;var yd=env.throwBindingError;var zd=env.throwInstanceAlreadyDeleted;var Ad=env.throwInternalError;var Bd=env.throwUnboundTypeError;var Cd=env.upcastPointer;var Dd=env.validateThis;var Ed=env.whenDependentTypesAreResolved;var Fd=0.0;
// EMSCRIPTEN_START_FUNCS
function Qt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d[b+((N(((c|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;q=d[b+-1>>0]|0;p=d[b+(f+-1)>>0]|0;r=(r+2+(q<<1)+p|0)>>>2;l=f<<1;o=d[b+(l+-1)>>0]|0;q=(q+2+(p<<1)+o|0)>>>2;j=f*3|0;n=d[b+(j+-1)>>0]|0;p=(p+2+(o<<1)+n|0)>>>2;h=f<<2;m=d[b+(h+-1)>>0]|0;o=(o+2+(n<<1)+m|0)>>>2;g=f*5|0;k=d[b+(g+-1)>>0]|0;n=(n+2+(m<<1)+k|0)>>>2;c=f*6|0;s=d[b+(c+-1)>>0]|0;m=(m+2+(k<<1)+s|0)>>>2;e=f*7|0;i=d[b+(e+-1)>>0]|0;k=(k+2+(s<<1)+i|0)>>>2;i=(s+2+(i*3|0)|0)>>>2;a[b>>0]=(r+1+q|0)>>>1;a[b+1>>0]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&255;a[b+2>>0]=r;a[b+f>>0]=r;q=(q+2+(p<<1)+o|0)>>>2&255;a[b+3>>0]=q;a[b+(f+1)>>0]=q;q=(p+1+o|0)>>>1&255;a[b+4>>0]=q;a[b+(f+2)>>0]=q;a[b+l>>0]=q;p=(p+2+(o<<1)+n|0)>>>2&255;a[b+5>>0]=p;a[b+(f+3)>>0]=p;a[b+(l|1)>>0]=p;p=(o+1+n|0)>>>1&255;a[b+6>>0]=p;a[b+(f+4)>>0]=p;a[b+(l+2)>>0]=p;a[b+j>>0]=p;o=(o+2+(n<<1)+m|0)>>>2&255;a[b+7>>0]=o;a[b+(f+5)>>0]=o;a[b+(l+3)>>0]=o;a[b+(j+1)>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(f+6)>>0]=o;a[b+(l+4)>>0]=o;a[b+(j+2)>>0]=o;a[b+h>>0]=o;n=(n+2+(m<<1)+k|0)>>>2&255;a[b+(f+7)>>0]=n;a[b+(l+5)>>0]=n;a[b+(j+3)>>0]=n;a[b+(h|1)>>0]=n;f=(m+1+k|0)>>>1&255;a[b+(l+6)>>0]=f;a[b+(j+4)>>0]=f;a[b+(h|2)>>0]=f;a[b+g>>0]=f;f=(m+2+i+(k<<1)|0)>>>2&255;a[b+(l+7)>>0]=f;a[b+(j+5)>>0]=f;a[b+(h|3)>>0]=f;a[b+(g+1)>>0]=f;f=(i+1+k|0)>>>1&255;a[b+(j+6)>>0]=f;a[b+(h+4)>>0]=f;a[b+(g+2)>>0]=f;a[b+c>>0]=f;f=(k+2+(i*3|0)|0)>>>2&255;a[b+(j+7)>>0]=f;a[b+(h+5)>>0]=f;a[b+(g+3)>>0]=f;a[b+(c|1)>>0]=f;f=i&255;a[b+(e+7)>>0]=f;a[b+(c+7)>>0]=f;a[b+(g+7)>>0]=f;a[b+(h+7)>>0]=f;a[b+(e+6)>>0]=f;a[b+(c+6)>>0]=f;a[b+(g+6)>>0]=f;a[b+(h+6)>>0]=f;a[b+(e+5)>>0]=f;a[b+(c+5)>>0]=f;a[b+(g+5)>>0]=f;a[b+(e+4)>>0]=f;a[b+(c+4)>>0]=f;a[b+(g+4)>>0]=f;a[b+(e+3)>>0]=f;a[b+(c+3)>>0]=f;a[b+(e+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+(e+1)>>0]=f;a[b+e>>0]=f;return}function Rt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d[a+((N(((b|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;l=d[a+-1>>0]|0;k=d[a+(f+-1)>>0]|0;j=d[a+((f<<1)+-1)>>0]|0;i=d[a+((f*3|0)+-1)>>0]|0;h=d[a+((f<<2)+-1)>>0]|0;g=d[a+((f*5|0)+-1)>>0]|0;b=d[a+((f*6|0)+-1)>>0]|0;e=d[a+((f*7|0)+-1)>>0]|0;e=N(((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(g<<1)+b|0)>>>2)+((g+2+(b<<1)+e|0)>>>2)+((b+2+(e*3|0)|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function St(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[a+(0-f)>>0]|0;m=d[a+(1-f)>>0]|0;l=d[a+(2-f)>>0]|0;k=d[a+(3-f)>>0]|0;j=d[a+(4-f)>>0]|0;i=d[a+(5-f)>>0]|0;h=d[a+(6-f)>>0]|0;g=d[a+(7-f)>>0]|0;e=N((((d[a+((((b|0)!=0)<<31>>31)-f)>>0]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(d[a+((e|0?8:7)-f)>>0]|0)+(g<<1)|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function Tt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;b=b+1|0;a=a+e|0}return}function Ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==8)break;g=a+(N(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function Vt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==16)break;g=a+(N(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function Wt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==8)break;f=N(e,b)|0;g=N(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function Xt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=N(e,b)|0;g=N(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function Yt(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0-c|0;j=b+3+i|0;g=b+(c<<2)+-1|0;f=g+(0-(c<<1))|0;p=(c*7|0)+-1|0;q=~c;k=(d[g>>0]|0)-(d[f>>0]|0)|0;e=(d[j+1>>0]|0)-(d[j+-1>>0]|0)|0;h=2;while(1){if((h|0)==5)break;o=g+c|0;n=f+i|0;m=(N((d[j+h>>0]|0)-(d[j+(0-h)>>0]|0)|0,h)|0)+e|0;k=(N((d[o>>0]|0)-(d[n>>0]|0)|0,h)|0)+k|0;e=m;f=n;g=o;h=h+1|0}o=(e*17|0)+16>>5;h=(k*17|0)+16>>5;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=8;f=(N(h+o|0,-3)|0)+16+((d[b+q+8>>0]|0)+(d[b+p>>0]|0)<<4)|0;e=b;while(1){if((g|0)<=0)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function Zt(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=0-c|0;i=b+3+m|0;h=b+(c<<3)+-1|0;g=h+(0-(c<<1))|0;k=(c*11|0)+-1|0;j=(c*3|0)+-1|0;e=2;f=(d[h>>0]|0)-(d[g>>0]|0)|0;l=(d[i+1>>0]|0)-(d[i+-1>>0]|0)|0;while(1){if((e|0)==5)break;q=h+c|0;p=g+m|0;o=(N((d[i+e>>0]|0)-(d[i+(0-e)>>0]|0)|0,e)|0)+l|0;n=(N((d[q>>0]|0)-(d[p>>0]|0)|0,e)|0)+f|0;e=e+1|0;f=n;l=o;g=p;h=q}e=5;q=b+j|0;p=b+k|0;while(1){if((e|0)>=9)break;o=p+c|0;n=q+m|0;f=(N((d[o>>0]|0)-(d[n>>0]|0)|0,e)|0)+f|0;e=e+1|0;q=n;p=o}o=(l*17|0)+16>>5;h=(f*5|0)+32>>6;i=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=16;f=16-i+(N(h,-7)|0)+((d[q+8>>0]|0)+(d[p>>0]|0)<<4)|0;e=b;while(1){if((g|0)<=0)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function _t(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=0;f=0;g=0;h=0;while(1){if((e|0)==4)break;j=d[a+((N(e,b)|0)+-1)>>0]|0;j=f+j+(d[a+(e-b)>>0]|0)|0;k=e+4|0;e=e+1|0;f=j;g=g+(d[a+(k-b)>>0]|0)|0;h=h+(d[a+((N(k,b)|0)+-1)>>0]|0)|0}i=N(f+4>>3,16843009)|0;j=N(g+2>>2,16843009)|0;k=h+2>>2;f=h+4+g>>3;e=0;while(1){if((e|0)==4)break;h=a+(N(e,b)|0)|0;c[h>>2]=i;c[h+4>>2]=j;e=e+1|0}g=N(k,16843009)|0;f=N(f,16843009)|0;e=4;while(1){if((e|0)==8)break;k=a+(N(e,b)|0)|0;c[k>>2]=g;c[k+4>>2]=f;e=e+1|0}return}function $t(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;g=0;while(1){if((e|0)==4)break;i=f+(d[a+((N(e,b)|0)+-1)>>0]|0)|0;h=g+(d[a+((N(e+4|0,b)|0)+-1)>>0]|0)|0;e=e+1|0;f=i;g=h}h=N(f+2>>2,16843009)|0;f=g+2>>2;e=0;while(1){if((e|0)==4)break;i=a+(N(e,b)|0)|0;c[i>>2]=h;c[i+4>>2]=h;e=e+1|0}f=N(f,16843009)|0;e=4;while(1){if((e|0)==8)break;i=a+(N(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}return}function au(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=N(f+2>>2,16843009)|0;f=N(h+2>>2,16843009)|0;e=0;while(1){if((e|0)==4){e=4;break}j=a+(N(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}while(1){if((e|0)==8)break;j=a+(N(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function bu(a,b){a=a|0;b=b|0;au(a,b);wt(a,0,b);return}function cu(a,b){a=a|0;b=b|0;_t(a,b);Gt(a,0,b);return}function du(a,b){a=a|0;b=b|0;$t(a,b);a=a+(b<<2)|0;Ht(a,0,b);Ht(a+4|0,0,b);return}function eu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=0;f=0;i=0;g=0;h=0;j=0;while(1){if((e|0)==4)break;k=d[a+((N(e,b)|0)+-1)>>0]|0;k=f+k+(d[a+(e-b)>>0]|0)|0;l=e+4|0;m=g+(d[a+((N(l,b)|0)+-1)>>0]|0)|0;n=h+(d[a+((N(e+8|0,b)|0)+-1)>>0]|0)|0;o=j+(d[a+((N(e+12|0,b)|0)+-1)>>0]|0)|0;e=e+1|0;f=k;i=i+(d[a+(l-b)>>0]|0)|0;g=m;h=n;j=o}f=N(f+4>>3,16843009)|0;k=N(i+2>>2,16843009)|0;l=g+2>>2;g=g+4+i>>3;m=h+2>>2;h=h+4+i>>3;o=j+2>>2;n=j+4+i>>3;e=0;while(1){if((e|0)==4)break;j=a+(N(e,b)|0)|0;c[j>>2]=f;c[j+4>>2]=k;e=e+1|0}k=N(l,16843009)|0;i=N(g,16843009)|0;j=N(m,16843009)|0;g=N(h,16843009)|0;h=N(o,16843009)|0;f=N(n,16843009)|0;e=4;while(1){if((e|0)==8){e=8;break}o=a+(N(e,b)|0)|0;c[o>>2]=k;c[o+4>>2]=i;e=e+1|0}while(1){if((e|0)==12){e=12;break}o=a+(N(e,b)|0)|0;c[o>>2]=j;c[o+4>>2]=g;e=e+1|0}while(1){if((e|0)==16)break;o=a+(N(e,b)|0)|0;c[o>>2]=h;c[o+4>>2]=f;e=e+1|0}return}function fu(a,b){a=a|0;b=b|0;$t(a,b);$t(a+(b<<3)|0,b);return}function gu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=N(f+2>>2,16843009)|0;f=N(h+2>>2,16843009)|0;e=0;while(1){if((e|0)==16)break;j=a+(N(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function hu(a,b){a=a|0;b=b|0;gu(a,b);wt(a,0,b);return}function iu(a,b){a=a|0;b=b|0;eu(a,b);Gt(a,0,b);return}function ju(a,b){a=a|0;b=b|0;fu(a,b);a=a+(b<<2)|0;Ht(a,0,b);Ht(a+4|0,0,b);return}function ku(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(N(d,b)|0)|0;c[e>>2]=2139062143;c[e+4>>2]=2139062143;d=d+1|0}return}function lu(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(N(d,b)|0)|0;c[e>>2]=-2122219135;c[e+4>>2]=-2122219135;d=d+1|0}return}function mu(a,b){a=a|0;b=b|0;fu(a,b);Ht(a,0,b);Ht(a+4|0,0,b);return}function nu(a,b){a=a|0;b=b|0;$t(a,b);Ht(a,0,b);Ht(a+4|0,0,b);return}function ou(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(N(d,b)|0)|0;c[e>>2]=-2139062144;c[e+4>>2]=-2139062144;d=d+1|0}return}function pu(a,b){a=a|0;b=b|0;ou(a,b);ou(a+(b<<3)|0,b);return}function qu(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16){f=0;break}e=e+(d[a+((N(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=N(e+16>>5,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+(0-b)|0;f=c[e>>2]|0;g=c[e+4>>2]|0;h=c[e+8>>2]|0;e=c[e+12>>2]|0;d=0;while(1){if((d|0)==16)break;i=a+(N(d,b)|0)|0;c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=h;c[i+12>>2]=e;d=d+1|0}return}function su(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=N(e,b)|0;g=N(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=g;e=e+1|0}return}function tu(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=2139062143;c[a+4>>2]=2139062143;c[a+8>>2]=2139062143;c[a+12>>2]=2139062143;a=a+b|0;d=d+1|0}return}function uu(a,b){a=a|0;b=b|0;Tu(a,b,0,0);return}function vu(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2122219135;c[a+4>>2]=-2122219135;c[a+8>>2]=-2122219135;c[a+12>>2]=-2122219135;a=a+b|0;d=d+1|0}return}function wu(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+((N(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=N(e+8>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function xu(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=N(e+8>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function yu(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;c[a+8>>2]=-2139062144;c[a+12>>2]=-2139062144;a=a+b|0;d=d+1|0}return}function zu(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=g<<1;k=g*3|0;l=g<<2;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==4)break;m=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=m;m=m+(e[i+8>>1]|0)|0;a[c+j>>0]=m;m=m+(e[i+16>>1]|0)|0;a[c+k>>0]=m;a[c+l>>0]=m+(e[i+24>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Au(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;a[c+3>>0]=j+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Bu(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;j=g*7|0;k=g<<3;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==8)break;q=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=q;q=q+(e[i+16>>1]|0)|0;a[c+l>>0]=q;q=q+(e[i+32>>1]|0)|0;a[c+m>>0]=q;q=q+(e[i+48>>1]|0)|0;a[c+n>>0]=q;q=q+(e[i+64>>1]|0)|0;a[c+o>>0]=q;q=q+(e[i+80>>1]|0)|0;a[c+p>>0]=q;q=q+(e[i+96>>1]|0)|0;a[c+j>>0]=q;a[c+k>>0]=q+(e[i+112>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Cu(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;j=j+(e[i+6>>1]|0)|0;a[c+3>>0]=j;j=j+(e[i+8>>1]|0)|0;a[c+4>>0]=j;j=j+(e[i+10>>1]|0)|0;a[c+5>>0]=j;j=j+(e[i+12>>1]|0)|0;a[c+6>>0]=j;a[c+7>>0]=j+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Du(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=l;l=l+16|0;if((l|0)>=(m|0))W(16);s=t;v=d[c+(0-i)>>0]|0;u=d[c+(1-i)>>0]|0;j=d[c+(2-i)>>0]|0;r=d[c+(3-i)>>0]|0;q=d[c+(4-i)>>0]|0;p=d[c+(5-i)>>0]|0;o=d[c+(6-i)>>0]|0;n=d[c+(7-i)>>0]|0;k=(o+2+(d[c+((h|0?8:7)-i)>>0]|0)+(n<<1)|0)>>>2;a[s>>0]=((d[c+((((g|0)!=0)<<31>>31)-i)>>0]|0)+2+(v<<1)+u|0)>>>2;a[s+1>>0]=(v+2+(u<<1)+j|0)>>>2;a[s+2>>0]=(u+2+(j<<1)+r|0)>>>2;a[s+3>>0]=(j+2+(r<<1)+q|0)>>>2;a[s+4>>0]=(r+2+(q<<1)+p|0)>>>2;a[s+5>>0]=(q+2+(p<<1)+o|0)>>>2;a[s+6>>0]=(p+2+(o<<1)+n|0)>>>2;a[s+7>>0]=k;k=i<<1;n=i*3|0;o=i<<2;p=i*5|0;q=i*6|0;r=i*7|0;j=0;g=c;h=f;while(1){if((j|0)==8)break;v=(e[h>>1]|0)+(d[s+j>>0]|0)|0;a[g>>0]=v;v=v+(e[h+16>>1]|0)|0;a[g+i>>0]=v;v=v+(e[h+32>>1]|0)|0;a[g+k>>0]=v;v=v+(e[h+48>>1]|0)|0;a[g+n>>0]=v;v=v+(e[h+64>>1]|0)|0;a[g+o>>0]=v;v=v+(e[h+80>>1]|0)|0;a[g+p>>0]=v;v=v+(e[h+96>>1]|0)|0;a[g+q>>0]=v;a[g+r>>0]=v+(e[h+112>>1]|0);j=j+1|0;g=g+1|0;h=h+2|0}g=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(g|0));l=t;return}function Eu(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=n;t=d[c+((N(((g|0)!=0)<<31>>31,i)|0)+-1)>>0]|0;s=d[c+-1>>0]|0;r=d[c+(i+-1)>>0]|0;q=d[c+((i<<1)+-1)>>0]|0;p=d[c+((i*3|0)+-1)>>0]|0;o=d[c+((i<<2)+-1)>>0]|0;g=d[c+((i*5|0)+-1)>>0]|0;h=d[c+((i*6|0)+-1)>>0]|0;j=d[c+((i*7|0)+-1)>>0]|0;a[k>>0]=(t+2+(s<<1)+r|0)>>>2;a[k+1>>0]=(s+2+(r<<1)+q|0)>>>2;a[k+2>>0]=(r+2+(q<<1)+p|0)>>>2;a[k+3>>0]=(q+2+(p<<1)+o|0)>>>2;a[k+4>>0]=(p+2+(o<<1)+g|0)>>>2;a[k+5>>0]=(o+2+(g<<1)+h|0)>>>2;a[k+6>>0]=(g+2+(h<<1)+j|0)>>>2;a[k+7>>0]=(h+2+(j*3|0)|0)>>>2;j=0;h=c;g=f;while(1){if((j|0)==8)break;t=(e[g>>1]|0)+(d[k+j>>0]|0)|0;a[h>>0]=t;t=t+(e[g+2>>1]|0)|0;a[h+1>>0]=t;t=t+(e[g+4>>1]|0)|0;a[h+2>>0]=t;t=t+(e[g+6>>1]|0)|0;a[h+3>>0]=t;t=t+(e[g+8>>1]|0)|0;a[h+4>>0]=t;t=t+(e[g+10>>1]|0)|0;a[h+5>>0]=t;t=t+(e[g+12>>1]|0)|0;a[h+6>>0]=t;a[h+7>>0]=t+(e[g+14>>1]|0);j=j+1|0;h=h+i|0;g=g+16|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));l=n;return}function Fu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;zu(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Gu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}zu(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;zu(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Hu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Au(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Iu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Au(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Au(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Ju(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;zu(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Ku(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;kt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Lu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Xr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Mu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Iq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Nu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;tp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ou(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Au(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Pu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;lt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Qu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Yr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ru(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Jq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Su(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;up(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Tu(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=0-c|0;l=b+7+k|0;i=b+(c<<3)+-1|0;h=i+(0-(c<<1))|0;j=(c*15|0)+-1|0;m=~c;g=2;n=(d[i>>0]|0)-(d[h>>0]|0)|0;o=(d[l+1>>0]|0)-(d[l+-1>>0]|0)|0;while(1){if((g|0)==9)break;p=i+c|0;q=h+k|0;r=(N((d[l+g>>0]|0)-(d[l+(0-g)>>0]|0)|0,g)|0)+o|0;s=(N((d[p>>0]|0)-(d[q>>0]|0)|0,g)|0)+n|0;g=g+1|0;n=s;o=r;h=q;i=p}h=b+j|0;g=b+m|0;do if(!e)if(!f){f=(n*5|0)+32>>6;k=(o*5|0)+32>>6;break}else{f=(n>>2)+n>>4;k=(o>>2)+o>>4;break}else{f=(((o|0)/4|0)*5|0)/16|0;k=(((n|0)/4|0)*5|0)/16|0}while(0);l=k<<1;m=k*3|0;e=k<<2;i=(N(f+k|0,-7)|0)+16+((d[g+16>>0]|0)+(d[h>>0]|0)<<4)|0;j=16;while(1){if((j|0)>0){g=i;h=-16}else break;while(1){if((h|0)>=0)break;s=g>>5;a[b+(h+16)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+k>>5;a[b+(h+17)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+l>>5;a[b+(h+18)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+m>>5;a[b+(h+19)>>0]=s>>>0>255?(s^-2147483648)>>31:s;g=g+e|0;h=h+4|0}i=i+f|0;j=j+-1|0;b=b+c|0}return}function Uu(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(N((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(N((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(N(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Vu(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(N((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(N((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(N(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Wu(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(N((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(N((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(N(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Xu(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(N((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(N((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(N(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<512?q:0-q>>31&511;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Yu(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=d[b+(0-e)>>0]|0;n=d[b+(1-e)>>0]|0;m=d[b+(2-e)>>0]|0;l=d[b+(3-e)>>0]|0;k=d[c>>0]|0;j=d[c+1>>0]|0;c=d[c+2>>0]|0;o=n<<1;a[b>>0]=(f+4+h+o+(p+g<<1)|0)>>>3;q=(n+1+m|0)>>>1&255;f=e<<1;a[b+f>>0]=q;a[b+1>>0]=q;q=(m+1+l|0)>>>1&255;a[b+(f|1)>>0]=q;a[b+2>>0]=q;q=(l+1+k|0)>>>1&255;a[b+(f+2)>>0]=q;a[b+3>>0]=q;a[b+(f+3)>>0]=(k+1+j|0)>>>1;a[b+e>>0]=(g+4+(h<<1)+i+p+o+m|0)>>>3;h=(n+2+(m<<1)+l|0)>>>2&255;i=e*3|0;a[b+i>>0]=h;a[b+(e+1)>>0]=h;h=(m+2+(l<<1)+k|0)>>>2&255;a[b+(i+1)>>0]=h;a[b+(e+2)>>0]=h;h=(l+2+(k<<1)+j|0)>>>2&255;a[b+(i+2)>>0]=h;a[b+(e+3)>>0]=h;a[b+(i+3)>>0]=(k+2+(j<<1)+c|0)>>>2;return}function Zu(a,b,c){a=a|0;b=b|0;c=c|0;ZI(a,b,c);return}function _u(a,b,c){a=a|0;b=b|0;c=c|0;YI(a,b,c);return}function $u(a,b,c){a=a|0;b=b|0;c=c|0;XI(a,b,c);return}function av(a,b,c){a=a|0;b=b|0;c=c|0;WI(a,b,c);return}function bv(a,b,c){a=a|0;b=b|0;c=c|0;VI(a,b,c);return}function cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;rH(e,b,32,c);UI(a,b,e,c,c);l=d;return}function dv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;nH(e,b,32,c);TI(a,b,e,c,c);l=d;return}function ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;jH(e,b,32,c);SI(a,b,e,c,c);l=d;return}function fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+256|0;if((l|0)>=(m|0))W(256);e=d;fH(e,b,16,c);RI(a,b,e,c,c);l=d;return}function gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;bH(e,b,32,c);QI(a,b,e,c,c);l=d;return}function hv(a,b,c){a=a|0;b=b|0;c=c|0;rH(a,b,c,c);return}function iv(a,b,c){a=a|0;b=b|0;c=c|0;nH(a,b,c,c);return}function jv(a,b,c){a=a|0;b=b|0;c=c|0;jH(a,b,c,c);return}function kv(a,b,c){a=a|0;b=b|0;c=c|0;fH(a,b,c,c);return}function lv(a,b,c){a=a|0;b=b|0;c=c|0;bH(a,b,c,c);return}function mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;rH(e,b,32,c);UI(a,b+2|0,e,c,c);l=d;return}function nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;nH(e,b,32,c);TI(a,b+2|0,e,c,c);l=d;return}function ov(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;jH(e,b,32,c);SI(a,b+2|0,e,c,c);l=d;return}function pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+256|0;if((l|0)>=(m|0))W(256);e=d;fH(e,b,16,c);RI(a,b+1|0,e,c,c);l=d;return}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;bH(e,b,32,c);QI(a,b+2|0,e,c,c);l=d;return}function rv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);g=d+512|0;e=d;f=g+64|0;sH(g,b+(0-(c<<1))|0,c);tH(e,f,32);UI(a,f,e,c,32);l=d;return}function sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);g=d+512|0;e=d;f=g+64|0;oH(g,b+(0-(c<<1))|0,c);pH(e,f,32);TI(a,f,e,c,32);l=d;return}function tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);g=d+512|0;e=d;f=g+64|0;kH(g,b+(0-(c<<1))|0,c);lH(e,f,32);SI(a,f,e,c,32);l=d;return}function uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+592|0;if((l|0)>=(m|0))W(592);g=d+256|0;e=d;f=g+32|0;gH(g,b+(0-(c<<1))|0,c);hH(e,f,16);RI(a,f,e,c,16);l=d;return}function vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);g=d+512|0;e=d;f=g+64|0;cH(g,b+(0-(c<<1))|0,c);dH(e,f,32);QI(a,f,e,c,32);l=d;return}function wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;rH(f,b,32,c);sH(g,b+(0-(c<<1))|0,c);tH(e,g+64|0,32);UI(a,f,e,c,32);l=d;return}function xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;nH(f,b,32,c);oH(g,b+(0-(c<<1))|0,c);pH(e,g+64|0,32);TI(a,f,e,c,32);l=d;return}function yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;jH(f,b,32,c);kH(g,b+(0-(c<<1))|0,c);lH(e,g+64|0,32);SI(a,f,e,c,32);l=d;return}function zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+848|0;if((l|0)>=(m|0))W(848);g=d+512|0;f=d+256|0;e=d;fH(f,b,16,c);gH(g,b+(0-(c<<1))|0,c);hH(e,g+32|0,16);RI(a,f,e,c,16);l=d;return}function Av(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;bH(f,b,32,c);cH(g,b+(0-(c<<1))|0,c);dH(e,g+64|0,32);QI(a,f,e,c,32);l=d;return}function Bv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+3712|0;if((l|0)>=(m|0))W(3712);f=d+3200|0;e=d+2688|0;rH(f,b,32,c);zH(e,d,b,32,c);UI(a,f,e,c,32);l=d;return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+3712|0;if((l|0)>=(m|0))W(3712);f=d+3200|0;e=d+2688|0;nH(f,b,32,c);yH(e,d,b,32,c);TI(a,f,e,c,32);l=d;return}function Dv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+2368|0;if((l|0)>=(m|0))W(2368);f=d+1856|0;e=d+1344|0;jH(f,b,32,c);xH(e,d,b,32,c);SI(a,f,e,c,32);l=d;return}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+928|0;e=d+672|0;fH(f,b,16,c);wH(e,d,b,16,c);RI(a,f,e,c,16);l=d;return}function Fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+2368|0;if((l|0)>=(m|0))W(2368);f=d+1856|0;e=d+1344|0;bH(f,b,32,c);vH(e,d,b,32,c);QI(a,f,e,c,32);l=d;return}function Gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;rH(f,b,32,c);sH(g,b+(0-(c<<1))+2|0,c);tH(e,g+64|0,32);UI(a,f,e,c,32);l=d;return}function Hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;nH(f,b,32,c);oH(g,b+(0-(c<<1))+2|0,c);pH(e,g+64|0,32);TI(a,f,e,c,32);l=d;return}function Iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;jH(f,b,32,c);kH(g,b+(0-(c<<1))+2|0,c);lH(e,g+64|0,32);SI(a,f,e,c,32);l=d;return}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+848|0;if((l|0)>=(m|0))W(848);g=d+512|0;f=d+256|0;e=d;fH(f,b,16,c);gH(g,b+(0-(c<<1))+1|0,c);hH(e,g+32|0,16);RI(a,f,e,c,16);l=d;return}function Kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;bH(f,b,32,c);cH(g,b+(0-(c<<1))+2|0,c);dH(e,g+64|0,32);QI(a,f,e,c,32);l=d;return}function Lv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);e=d;sH(e,b+(0-(c<<1))|0,c);tH(a,e+64|0,c);l=d;return}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);e=d;oH(e,b+(0-(c<<1))|0,c);pH(a,e+64|0,c);l=d;return}function Nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);e=d;kH(e,b+(0-(c<<1))|0,c);lH(a,e+64|0,c);l=d;return}function Ov(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);e=d;gH(e,b+(0-(c<<1))|0,c);hH(a,e+32|0,c);l=d;return}function Pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);e=d;cH(e,b+(0-(c<<1))|0,c);dH(a,e+64|0,c);l=d;return}function Qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+4384|0;if((l|0)>=(m|0))W(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;sH(g,b+(0-(c<<1))|0,c);tH(f,g+64|0,32);zH(e,d,b,32,c);UI(a,f,e,c,32);l=d;return}function Rv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+4384|0;if((l|0)>=(m|0))W(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;oH(g,b+(0-(c<<1))|0,c);pH(f,g+64|0,32);yH(e,d,b,32,c);TI(a,f,e,c,32);l=d;return}function Sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+3040|0;if((l|0)>=(m|0))W(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;kH(g,b+(0-(c<<1))|0,c);lH(f,g+64|0,32);xH(e,d,b,32,c);SI(a,f,e,c,32);l=d;return}function Tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1520|0;if((l|0)>=(m|0))W(1520);g=d+1184|0;f=d+928|0;e=d+672|0;gH(g,b+(0-(c<<1))|0,c);hH(f,g+32|0,16);wH(e,d,b,16,c);RI(a,f,e,c,16);l=d;return}function Uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+3040|0;if((l|0)>=(m|0))W(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;cH(g,b+(0-(c<<1))|0,c);dH(f,g+64|0,32);vH(e,d,b,32,c);QI(a,f,e,c,32);l=d;return}function Vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+2688|0;if((l|0)>=(m|0))W(2688);zH(a,d,b,c,c);l=d;return}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+2688|0;if((l|0)>=(m|0))W(2688);yH(a,d,b,c,c);l=d;return}function Xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+1344|0;if((l|0)>=(m|0))W(1344);xH(a,d,b,c,c);l=d;return}function Yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);wH(a,d,b,c,c);l=d;return}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+1344|0;if((l|0)>=(m|0))W(1344);vH(a,d,b,c,c);l=d;return}function _v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+4384|0;if((l|0)>=(m|0))W(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;sH(g,b+(0-(c<<1))+2|0,c);tH(f,g+64|0,32);zH(e,d,b,32,c);UI(a,f,e,c,32);l=d;return}function $v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+4384|0;if((l|0)>=(m|0))W(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;oH(g,b+(0-(c<<1))+2|0,c);pH(f,g+64|0,32);yH(e,d,b,32,c);TI(a,f,e,c,32);l=d;return}function aw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+3040|0;if((l|0)>=(m|0))W(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;kH(g,b+(0-(c<<1))+2|0,c);lH(f,g+64|0,32);xH(e,d,b,32,c);SI(a,f,e,c,32);l=d;return}function bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1520|0;if((l|0)>=(m|0))W(1520);g=d+1184|0;f=d+928|0;e=d+672|0;gH(g,b+(0-(c<<1))+1|0,c);hH(f,g+32|0,16);wH(e,d,b,16,c);RI(a,f,e,c,16);l=d;return}function cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+3040|0;if((l|0)>=(m|0))W(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;cH(g,b+(0-(c<<1))+2|0,c);dH(f,g+64|0,32);vH(e,d,b,32,c);QI(a,f,e,c,32);l=d;return}function dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+512|0;e=d;sH(f,b+(0-(c<<1))|0,c);tH(e,f+64|0,32);UI(a,f+96|0,e,c,32);l=d;return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+512|0;e=d;oH(f,b+(0-(c<<1))|0,c);pH(e,f+64|0,32);TI(a,f+96|0,e,c,32);l=d;return}function fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+512|0;e=d;kH(f,b+(0-(c<<1))|0,c);lH(e,f+64|0,32);SI(a,f+96|0,e,c,32);l=d;return}function gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+592|0;if((l|0)>=(m|0))W(592);f=d+256|0;e=d;gH(f,b+(0-(c<<1))|0,c);hH(e,f+32|0,16);RI(a,f+48|0,e,c,16);l=d;return}function hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+512|0;e=d;cH(f,b+(0-(c<<1))|0,c);dH(e,f+64|0,32);QI(a,f+96|0,e,c,32);l=d;return}function iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;rH(f,b+c|0,32,c);sH(g,b+(0-(c<<1))|0,c);tH(e,g+64|0,32);UI(a,f,e,c,32);l=d;return}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;nH(f,b+c|0,32,c);oH(g,b+(0-(c<<1))|0,c);pH(e,g+64|0,32);TI(a,f,e,c,32);l=d;return}function kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;jH(f,b+c|0,32,c);kH(g,b+(0-(c<<1))|0,c);lH(e,g+64|0,32);SI(a,f,e,c,32);l=d;return}function lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+848|0;if((l|0)>=(m|0))W(848);g=d+512|0;f=d+256|0;e=d;fH(f,b+c|0,16,c);gH(g,b+(0-(c<<1))|0,c);hH(e,g+32|0,16);RI(a,f,e,c,16);l=d;return}function mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;bH(f,b+c|0,32,c);cH(g,b+(0-(c<<1))|0,c);dH(e,g+64|0,32);QI(a,f,e,c,32);l=d;return}function nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+3712|0;if((l|0)>=(m|0))W(3712);f=d+3200|0;e=d+2688|0;rH(f,b+c|0,32,c);zH(e,d,b,32,c);UI(a,f,e,c,32);l=d;return}function ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+3712|0;if((l|0)>=(m|0))W(3712);f=d+3200|0;e=d+2688|0;nH(f,b+c|0,32,c);yH(e,d,b,32,c);TI(a,f,e,c,32);l=d;return}function pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+2368|0;if((l|0)>=(m|0))W(2368);f=d+1856|0;e=d+1344|0;jH(f,b+c|0,32,c);xH(e,d,b,32,c);SI(a,f,e,c,32);l=d;return}function qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+928|0;e=d+672|0;fH(f,b+c|0,16,c);wH(e,d,b,16,c);RI(a,f,e,c,16);l=d;return}function rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+2368|0;if((l|0)>=(m|0))W(2368);f=d+1856|0;e=d+1344|0;bH(f,b+c|0,32,c);vH(e,d,b,32,c);QI(a,f,e,c,32);l=d;return}function sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;rH(f,b+c|0,32,c);sH(g,b+(0-(c<<1))+2|0,c);tH(e,g+64|0,32);UI(a,f,e,c,32);l=d;return}function tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;nH(f,b+c|0,32,c);oH(g,b+(0-(c<<1))+2|0,c);pH(e,g+64|0,32);TI(a,f,e,c,32);l=d;return}function uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;jH(f,b+c|0,32,c);kH(g,b+(0-(c<<1))+2|0,c);lH(e,g+64|0,32);SI(a,f,e,c,32);l=d;return}function vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+848|0;if((l|0)>=(m|0))W(848);g=d+512|0;f=d+256|0;e=d;fH(f,b+c|0,16,c);gH(g,b+(0-(c<<1))+1|0,c);hH(e,g+32|0,16);RI(a,f,e,c,16);l=d;return}function ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;bH(f,b+c|0,32,c);cH(g,b+(0-(c<<1))+2|0,c);dH(e,g+64|0,32);QI(a,f,e,c,32);l=d;return}function xw(a,b,c){a=a|0;b=b|0;c=c|0;PI(a,b,c,8);return}function yw(a,b,c){a=a|0;b=b|0;c=c|0;OI(a,b,c,8);return}function zw(a,b,c){a=a|0;b=b|0;c=c|0;NI(a,b,c,8);return}function Aw(a,b,c){a=a|0;b=b|0;c=c|0;MI(a,b,c,8);return}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;LI(a,b,c,8);return}function Cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;AG(e,b,16,c);KI(a,b,e,c,c,16,8);l=d;return}function Dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;wG(e,b,16,c);JI(a,b,e,c,c,16,8);l=d;return}function Ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;sG(e,b,16,c);II(a,b,e,c,c,16,8);l=d;return}function Fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);e=d;oG(e,b,8,c);HI(a,b,e,c,c,8,8);l=d;return}function Gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;kG(e,b,16,c);GI(a,b,e,c,c,16,8);l=d;return}function Hw(a,b,c){a=a|0;b=b|0;c=c|0;AG(a,b,c,c);return}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;wG(a,b,c,c);return}function Jw(a,b,c){a=a|0;b=b|0;c=c|0;sG(a,b,c,c);return}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;oG(a,b,c,c);return}function Lw(a,b,c){a=a|0;b=b|0;c=c|0;kG(a,b,c,c);return}function Mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;AG(e,b,16,c);KI(a,b+2|0,e,c,c,16,8);l=d;return}function Nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;wG(e,b,16,c);JI(a,b+2|0,e,c,c,16,8);l=d;return}function Ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;sG(e,b,16,c);II(a,b+2|0,e,c,c,16,8);l=d;return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);e=d;oG(e,b,8,c);HI(a,b+1|0,e,c,c,8,8);l=d;return}function Qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;kG(e,b,16,c);GI(a,b+2|0,e,c,c,16,8);l=d;return}function Rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);g=d+128|0;e=d;f=g+32|0;BG(g,b+(0-(c<<1))|0,c);CG(e,f,16,16);KI(a,f,e,c,16,16,8);l=d;return}function Sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);g=d+128|0;e=d;f=g+32|0;xG(g,b+(0-(c<<1))|0,c);yG(e,f,16,16);JI(a,f,e,c,16,16,8);l=d;return}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);g=d+128|0;e=d;f=g+32|0;tG(g,b+(0-(c<<1))|0,c);uG(e,f,16,16);II(a,f,e,c,16,16,8);l=d;return}function Uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+176|0;if((l|0)>=(m|0))W(176);g=d+64|0;e=d;f=g+16|0;pG(g,b+(0-(c<<1))|0,c);qG(e,f,8,8);HI(a,f,e,c,8,8,8);l=d;return}function Vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);g=d+128|0;e=d;f=g+32|0;lG(g,b+(0-(c<<1))|0,c);mG(e,f,16,16);GI(a,f,e,c,16,16,8);l=d;return}function Ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;AG(f,b,16,c);BG(g,b+(0-(c<<1))|0,c);CG(e,g+32|0,16,16);KI(a,f,e,c,16,16,8);l=d;return}function Xw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;wG(f,b,16,c);xG(g,b+(0-(c<<1))|0,c);yG(e,g+32|0,16,16);JI(a,f,e,c,16,16,8);l=d;return}function Yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;sG(f,b,16,c);tG(g,b+(0-(c<<1))|0,c);uG(e,g+32|0,16,16);II(a,f,e,c,16,16,8);l=d;return}function Zw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+240|0;if((l|0)>=(m|0))W(240);g=d+128|0;f=d+64|0;e=d;oG(f,b,8,c);pG(g,b+(0-(c<<1))|0,c);qG(e,g+16|0,8,8);HI(a,f,e,c,8,8,8);l=d;return}function _w(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;kG(f,b,16,c);lG(g,b+(0-(c<<1))|0,c);mG(e,g+32|0,16,16);GI(a,f,e,c,16,16,8);l=d;return}function $w(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1088|0;if((l|0)>=(m|0))W(1088);f=d+960|0;e=d+832|0;AG(f,b,16,c);IG(e,d,b,16,16,c);KI(a,f,e,c,16,16,8);l=d;return}function ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1088|0;if((l|0)>=(m|0))W(1088);f=d+960|0;e=d+832|0;wG(f,b,16,c);HG(e,d,b,16,16,c);JI(a,f,e,c,16,16,8);l=d;return}function bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);f=d+544|0;e=d+416|0;sG(f,b,16,c);GG(e,d,b,16,16,c);II(a,f,e,c,16,16,8);l=d;return}function cx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+272|0;e=d+208|0;oG(f,b,8,c);FG(e,d,b,8,8,c);HI(a,f,e,c,8,8,8);l=d;return}function dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);f=d+544|0;e=d+416|0;kG(f,b,16,c);EG(e,d,b,16,16,c);GI(a,f,e,c,16,16,8);l=d;return}function ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;AG(f,b,16,c);BG(g,b+(0-(c<<1))+2|0,c);CG(e,g+32|0,16,16);KI(a,f,e,c,16,16,8);l=d;return}function fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;wG(f,b,16,c);xG(g,b+(0-(c<<1))+2|0,c);yG(e,g+32|0,16,16);JI(a,f,e,c,16,16,8);l=d;return}function gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;sG(f,b,16,c);tG(g,b+(0-(c<<1))+2|0,c);uG(e,g+32|0,16,16);II(a,f,e,c,16,16,8);l=d;return}function hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+240|0;if((l|0)>=(m|0))W(240);g=d+128|0;f=d+64|0;e=d;oG(f,b,8,c);pG(g,b+(0-(c<<1))+1|0,c);qG(e,g+16|0,8,8);HI(a,f,e,c,8,8,8);l=d;return}function ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;kG(f,b,16,c);lG(g,b+(0-(c<<1))+2|0,c);mG(e,g+32|0,16,16);GI(a,f,e,c,16,16,8);l=d;return}function jx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);e=d;BG(e,b+(0-(c<<1))|0,c);CG(a,e+32|0,c,16);l=d;return}function kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);e=d;xG(e,b+(0-(c<<1))|0,c);yG(a,e+32|0,c,16);l=d;return}function lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);e=d;tG(e,b+(0-(c<<1))|0,c);uG(a,e+32|0,c,16);l=d;return}function mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);e=d;pG(e,b+(0-(c<<1))|0,c);qG(a,e+16|0,c,8);l=d;return}function nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);e=d;lG(e,b+(0-(c<<1))|0,c);mG(a,e+32|0,c,16);l=d;return}function ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1296|0;if((l|0)>=(m|0))W(1296);g=d+1088|0;f=d+960|0;e=d+832|0;BG(g,b+(0-(c<<1))|0,c);CG(f,g+32|0,16,16);IG(e,d,b,16,16,c);KI(a,f,e,c,16,16,8);l=d;return}function px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1296|0;if((l|0)>=(m|0))W(1296);g=d+1088|0;f=d+960|0;e=d+832|0;xG(g,b+(0-(c<<1))|0,c);yG(f,g+32|0,16,16);HG(e,d,b,16,16,c);JI(a,f,e,c,16,16,8);l=d;return}function qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+880|0;if((l|0)>=(m|0))W(880);g=d+672|0;f=d+544|0;e=d+416|0;tG(g,b+(0-(c<<1))|0,c);uG(f,g+32|0,16,16);GG(e,d,b,16,16,c);II(a,f,e,c,16,16,8);l=d;return}function rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+448|0;if((l|0)>=(m|0))W(448);g=d+336|0;f=d+272|0;e=d+208|0;pG(g,b+(0-(c<<1))|0,c);qG(f,g+16|0,8,8);FG(e,d,b,8,8,c);HI(a,f,e,c,8,8,8);l=d;return}function sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+880|0;if((l|0)>=(m|0))W(880);g=d+672|0;f=d+544|0;e=d+416|0;lG(g,b+(0-(c<<1))|0,c);mG(f,g+32|0,16,16);EG(e,d,b,16,16,c);GI(a,f,e,c,16,16,8);l=d;return}function tx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+832|0;if((l|0)>=(m|0))W(832);IG(a,d,b,c,16,c);l=d;return}function ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+832|0;if((l|0)>=(m|0))W(832);HG(a,d,b,c,16,c);l=d;return}function vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+416|0;if((l|0)>=(m|0))W(416);GG(a,d,b,c,16,c);l=d;return}function wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);FG(a,d,b,c,8,c);l=d;return}function xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+416|0;if((l|0)>=(m|0))W(416);EG(a,d,b,c,16,c);l=d;return}function yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1296|0;if((l|0)>=(m|0))W(1296);g=d+1088|0;f=d+960|0;e=d+832|0;BG(g,b+(0-(c<<1))+2|0,c);CG(f,g+32|0,16,16);IG(e,d,b,16,16,c);KI(a,f,e,c,16,16,8);l=d;return}function zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1296|0;if((l|0)>=(m|0))W(1296);g=d+1088|0;f=d+960|0;e=d+832|0;xG(g,b+(0-(c<<1))+2|0,c);yG(f,g+32|0,16,16);HG(e,d,b,16,16,c);JI(a,f,e,c,16,16,8);l=d;return}function Ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+880|0;if((l|0)>=(m|0))W(880);g=d+672|0;f=d+544|0;e=d+416|0;tG(g,b+(0-(c<<1))+2|0,c);uG(f,g+32|0,16,16);GG(e,d,b,16,16,c);II(a,f,e,c,16,16,8);l=d;return}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+448|0;if((l|0)>=(m|0))W(448);g=d+336|0;f=d+272|0;e=d+208|0;pG(g,b+(0-(c<<1))+1|0,c);qG(f,g+16|0,8,8);FG(e,d,b,8,8,c);HI(a,f,e,c,8,8,8);l=d;return}function Cx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+880|0;if((l|0)>=(m|0))W(880);g=d+672|0;f=d+544|0;e=d+416|0;lG(g,b+(0-(c<<1))+2|0,c);mG(f,g+32|0,16,16);EG(e,d,b,16,16,c);GI(a,f,e,c,16,16,8);l=d;return}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+128|0;e=d;BG(f,b+(0-(c<<1))|0,c);CG(e,f+32|0,16,16);KI(a,f+48|0,e,c,16,16,8);l=d;return}function Ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+128|0;e=d;xG(f,b+(0-(c<<1))|0,c);yG(e,f+32|0,16,16);JI(a,f+48|0,e,c,16,16,8);l=d;return}function Fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+128|0;e=d;tG(f,b+(0-(c<<1))|0,c);uG(e,f+32|0,16,16);II(a,f+48|0,e,c,16,16,8);l=d;return}function Gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+176|0;if((l|0)>=(m|0))W(176);f=d+64|0;e=d;pG(f,b+(0-(c<<1))|0,c);qG(e,f+16|0,8,8);HI(a,f+24|0,e,c,8,8,8);l=d;return}function Hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+128|0;e=d;lG(f,b+(0-(c<<1))|0,c);mG(e,f+32|0,16,16);GI(a,f+48|0,e,c,16,16,8);l=d;return}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;AG(f,b+c|0,16,c);BG(g,b+(0-(c<<1))|0,c);CG(e,g+32|0,16,16);KI(a,f,e,c,16,16,8);l=d;return}function Jx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;wG(f,b+c|0,16,c);xG(g,b+(0-(c<<1))|0,c);yG(e,g+32|0,16,16);JI(a,f,e,c,16,16,8);l=d;return}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;sG(f,b+c|0,16,c);tG(g,b+(0-(c<<1))|0,c);uG(e,g+32|0,16,16);II(a,f,e,c,16,16,8);l=d;return}function Lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+240|0;if((l|0)>=(m|0))W(240);g=d+128|0;f=d+64|0;e=d;oG(f,b+c|0,8,c);pG(g,b+(0-(c<<1))|0,c);qG(e,g+16|0,8,8);HI(a,f,e,c,8,8,8);l=d;return}function Mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;kG(f,b+c|0,16,c);lG(g,b+(0-(c<<1))|0,c);mG(e,g+32|0,16,16);GI(a,f,e,c,16,16,8);l=d;return}function Nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1088|0;if((l|0)>=(m|0))W(1088);f=d+960|0;e=d+832|0;AG(f,b+c|0,16,c);IG(e,d,b,16,16,c);KI(a,f,e,c,16,16,8);l=d;return}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1088|0;if((l|0)>=(m|0))W(1088);f=d+960|0;e=d+832|0;wG(f,b+c|0,16,c);HG(e,d,b,16,16,c);JI(a,f,e,c,16,16,8);l=d;return}function Px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);f=d+544|0;e=d+416|0;sG(f,b+c|0,16,c);GG(e,d,b,16,16,c);II(a,f,e,c,16,16,8);l=d;return}function Qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+272|0;e=d+208|0;oG(f,b+c|0,8,c);FG(e,d,b,8,8,c);HI(a,f,e,c,8,8,8);l=d;return}function Rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);f=d+544|0;e=d+416|0;kG(f,b+c|0,16,c);EG(e,d,b,16,16,c);GI(a,f,e,c,16,16,8);l=d;return}function Sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;AG(f,b+c|0,16,c);BG(g,b+(0-(c<<1))+2|0,c);CG(e,g+32|0,16,16);KI(a,f,e,c,16,16,8);l=d;return}function Tx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;wG(f,b+c|0,16,c);xG(g,b+(0-(c<<1))+2|0,c);yG(e,g+32|0,16,16);JI(a,f,e,c,16,16,8);l=d;return}function Ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;sG(f,b+c|0,16,c);tG(g,b+(0-(c<<1))+2|0,c);uG(e,g+32|0,16,16);II(a,f,e,c,16,16,8);l=d;return}function Vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+240|0;if((l|0)>=(m|0))W(240);g=d+128|0;f=d+64|0;e=d;oG(f,b+c|0,8,c);pG(g,b+(0-(c<<1))+1|0,c);qG(e,g+16|0,8,8);HI(a,f,e,c,8,8,8);l=d;return}function Wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;kG(f,b+c|0,16,c);lG(g,b+(0-(c<<1))+2|0,c);mG(e,g+32|0,16,16);GI(a,f,e,c,16,16,8);l=d;return}function Xx(a,b,c){a=a|0;b=b|0;c=c|0;FI(a,b,c);return}function Yx(a,b,c){a=a|0;b=b|0;c=c|0;EI(a,b,c);return}function Zx(a,b,c){a=a|0;b=b|0;c=c|0;DI(a,b,c);return}function _x(a,b,c){a=a|0;b=b|0;c=c|0;CI(a,b,c);return}function $x(a,b,c){a=a|0;b=b|0;c=c|0;BI(a,b,c);return}function ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;JF(e,b,8,c);AI(a,b,e,c,c);l=d;return}function by(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;FF(e,b,8,c);zI(a,b,e,c,c);l=d;return}function cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;BF(e,b,8,c);yI(a,b,e,c,c);l=d;return}function dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;wF(e,b,4,c);xI(a,b,e,c,c);l=d;return}function ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;rF(e,b,8,c);wI(a,b,e,c,c);l=d;return}function fy(a,b,c){a=a|0;b=b|0;c=c|0;JF(a,b,c,c);return}function gy(a,b,c){a=a|0;b=b|0;c=c|0;FF(a,b,c,c);return}function hy(a,b,c){a=a|0;b=b|0;c=c|0;BF(a,b,c,c);return}function iy(a,b,c){a=a|0;b=b|0;c=c|0;wF(a,b,c,c);return}function jy(a,b,c){a=a|0;b=b|0;c=c|0;rF(a,b,c,c);return}function ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;JF(e,b,8,c);AI(a,b+2|0,e,c,c);l=d;return}function ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;FF(e,b,8,c);zI(a,b+2|0,e,c,c);l=d;return}function my(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;BF(e,b,8,c);yI(a,b+2|0,e,c,c);l=d;return}function ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;wF(e,b,4,c);xI(a,b+1|0,e,c,c);l=d;return}function oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;rF(e,b,8,c);wI(a,b+2|0,e,c,c);l=d;return}function py(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+32|0;e=d;f=g+16|0;KF(g,b+(0-(c<<1))|0,c);LF(e,f,8);AI(a,f,e,c,8);l=d;return}function qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+32|0;e=d;f=g+16|0;GF(g,b+(0-(c<<1))|0,c);HF(e,f,8);zI(a,f,e,c,8);l=d;return}function ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+32|0;e=d;f=g+16|0;CF(g,b+(0-(c<<1))|0,c);DF(e,f,8);yI(a,f,e,c,8);l=d;return}function sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);g=d+16|0;e=d;f=g+8|0;xF(g,b+(0-(c<<1))|0,c);yF(e,f,4);xI(a,f,e,c,4);l=d;return}function ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+32|0;e=d;f=g+16|0;sF(g,b+(0-(c<<1))|0,c);tF(e,f,8);wI(a,f,e,c,8);l=d;return}function uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;JF(f,b,8,c);KF(g,b+(0-(c<<1))|0,c);LF(e,g+16|0,8);AI(a,f,e,c,8);l=d;return}function vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;FF(f,b,8,c);GF(g,b+(0-(c<<1))|0,c);HF(e,g+16|0,8);zI(a,f,e,c,8);l=d;return}function wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;BF(f,b,8,c);CF(g,b+(0-(c<<1))|0,c);DF(e,g+16|0,8);yI(a,f,e,c,8);l=d;return}function xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);g=d+32|0;f=d+16|0;e=d;wF(f,b,4,c);xF(g,b+(0-(c<<1))|0,c);yF(e,g+8|0,4);xI(a,f,e,c,4);l=d;return}function yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;rF(f,b,8,c);sF(g,b+(0-(c<<1))|0,c);tF(e,g+16|0,8);wI(a,f,e,c,8);l=d;return}function zy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+352|0;if((l|0)>=(m|0))W(352);f=d+320|0;e=d+288|0;JF(f,b,8,c);RF(e,d,b,8,c);AI(a,f,e,c,8);l=d;return}function Ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+352|0;if((l|0)>=(m|0))W(352);f=d+320|0;e=d+288|0;FF(f,b,8,c);QF(e,d,b,8,c);zI(a,f,e,c,8);l=d;return}function By(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);f=d+176|0;e=d+144|0;BF(f,b,8,c);PF(e,d,b,8,c);yI(a,f,e,c,8);l=d;return}function Cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+88|0;e=d+72|0;wF(f,b,4,c);OF(e,d,b,4,c);xI(a,f,e,c,4);l=d;return}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);f=d+176|0;e=d+144|0;rF(f,b,8,c);NF(e,d,b,8,c);wI(a,f,e,c,8);l=d;return}function Ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;JF(f,b,8,c);KF(g,b+(0-(c<<1))+2|0,c);LF(e,g+16|0,8);AI(a,f,e,c,8);l=d;return}function Fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;FF(f,b,8,c);GF(g,b+(0-(c<<1))+2|0,c);HF(e,g+16|0,8);zI(a,f,e,c,8);l=d;return}function Gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;BF(f,b,8,c);CF(g,b+(0-(c<<1))+2|0,c);DF(e,g+16|0,8);yI(a,f,e,c,8);l=d;return}function Hy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);g=d+32|0;f=d+16|0;e=d;wF(f,b,4,c);xF(g,b+(0-(c<<1))+1|0,c);yF(e,g+8|0,4);xI(a,f,e,c,4);l=d;return}function Iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;rF(f,b,8,c);sF(g,b+(0-(c<<1))+2|0,c);tF(e,g+16|0,8);wI(a,f,e,c,8);l=d;return}function Jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);e=d;KF(e,b+(0-(c<<1))|0,c);LF(a,e+16|0,c);l=d;return}function Ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);e=d;GF(e,b+(0-(c<<1))|0,c);HF(a,e+16|0,c);l=d;return}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);e=d;CF(e,b+(0-(c<<1))|0,c);DF(a,e+16|0,c);l=d;return}function My(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);e=d;xF(e,b+(0-(c<<1))|0,c);yF(a,e+8|0,c);l=d;return}function Ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);e=d;sF(e,b+(0-(c<<1))|0,c);tF(a,e+16|0,c);l=d;return}function Oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+432|0;if((l|0)>=(m|0))W(432);g=d+352|0;f=d+320|0;e=d+288|0;KF(g,b+(0-(c<<1))|0,c);LF(f,g+16|0,8);RF(e,d,b,8,c);AI(a,f,e,c,8);l=d;return}function Py(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+432|0;if((l|0)>=(m|0))W(432);g=d+352|0;f=d+320|0;e=d+288|0;GF(g,b+(0-(c<<1))|0,c);HF(f,g+16|0,8);QF(e,d,b,8,c);zI(a,f,e,c,8);l=d;return}function Qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);g=d+208|0;f=d+176|0;e=d+144|0;CF(g,b+(0-(c<<1))|0,c);DF(f,g+16|0,8);PF(e,d,b,8,c);yI(a,f,e,c,8);l=d;return}function Ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+104|0;f=d+88|0;e=d+72|0;xF(g,b+(0-(c<<1))|0,c);yF(f,g+8|0,4);OF(e,d,b,4,c);xI(a,f,e,c,4);l=d;return}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);g=d+208|0;f=d+176|0;e=d+144|0;sF(g,b+(0-(c<<1))|0,c);tF(f,g+16|0,8);NF(e,d,b,8,c);wI(a,f,e,c,8);l=d;return}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);RF(a,d,b,c,c);l=d;return}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);QF(a,d,b,c,c);l=d;return}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);PF(a,d,b,c,c);l=d;return}function Wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);OF(a,d,b,c,c);l=d;return}function Xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);NF(a,d,b,c,c);l=d;return}function Yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+432|0;if((l|0)>=(m|0))W(432);g=d+352|0;f=d+320|0;e=d+288|0;KF(g,b+(0-(c<<1))+2|0,c);LF(f,g+16|0,8);RF(e,d,b,8,c);AI(a,f,e,c,8);l=d;return}function Zy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+432|0;if((l|0)>=(m|0))W(432);g=d+352|0;f=d+320|0;e=d+288|0;GF(g,b+(0-(c<<1))+2|0,c);HF(f,g+16|0,8);QF(e,d,b,8,c);zI(a,f,e,c,8);l=d;return}function _y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);g=d+208|0;f=d+176|0;e=d+144|0;CF(g,b+(0-(c<<1))+2|0,c);DF(f,g+16|0,8);PF(e,d,b,8,c);yI(a,f,e,c,8);l=d;return}function $y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+104|0;f=d+88|0;e=d+72|0;xF(g,b+(0-(c<<1))+1|0,c);yF(f,g+8|0,4);OF(e,d,b,4,c);xI(a,f,e,c,4);l=d;return}function az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);g=d+208|0;f=d+176|0;e=d+144|0;sF(g,b+(0-(c<<1))+2|0,c);tF(f,g+16|0,8);NF(e,d,b,8,c);wI(a,f,e,c,8);l=d;return}function bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+32|0;e=d;KF(f,b+(0-(c<<1))|0,c);LF(e,f+16|0,8);AI(a,f+24|0,e,c,8);l=d;return}function cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+32|0;e=d;GF(f,b+(0-(c<<1))|0,c);HF(e,f+16|0,8);zI(a,f+24|0,e,c,8);l=d;return}function dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+32|0;e=d;CF(f,b+(0-(c<<1))|0,c);DF(e,f+16|0,8);yI(a,f+24|0,e,c,8);l=d;return}function ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);f=d+16|0;e=d;xF(f,b+(0-(c<<1))|0,c);yF(e,f+8|0,4);xI(a,f+12|0,e,c,4);l=d;return}function fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+32|0;e=d;sF(f,b+(0-(c<<1))|0,c);tF(e,f+16|0,8);wI(a,f+24|0,e,c,8);l=d;return}function gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;JF(f,b+c|0,8,c);KF(g,b+(0-(c<<1))|0,c);LF(e,g+16|0,8);AI(a,f,e,c,8);l=d;return}function hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;FF(f,b+c|0,8,c);GF(g,b+(0-(c<<1))|0,c);HF(e,g+16|0,8);zI(a,f,e,c,8);l=d;return}function iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;BF(f,b+c|0,8,c);CF(g,b+(0-(c<<1))|0,c);DF(e,g+16|0,8);yI(a,f,e,c,8);l=d;return}function jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);g=d+32|0;f=d+16|0;e=d;wF(f,b+c|0,4,c);xF(g,b+(0-(c<<1))|0,c);yF(e,g+8|0,4);xI(a,f,e,c,4);l=d;return}function kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;rF(f,b+c|0,8,c);sF(g,b+(0-(c<<1))|0,c);tF(e,g+16|0,8);wI(a,f,e,c,8);l=d;return}function lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+352|0;if((l|0)>=(m|0))W(352);f=d+320|0;e=d+288|0;JF(f,b+c|0,8,c);RF(e,d,b,8,c);AI(a,f,e,c,8);l=d;return}function mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+352|0;if((l|0)>=(m|0))W(352);f=d+320|0;e=d+288|0;FF(f,b+c|0,8,c);QF(e,d,b,8,c);zI(a,f,e,c,8);l=d;return}function nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);f=d+176|0;e=d+144|0;BF(f,b+c|0,8,c);PF(e,d,b,8,c);yI(a,f,e,c,8);l=d;return}function oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+88|0;e=d+72|0;wF(f,b+c|0,4,c);OF(e,d,b,4,c);xI(a,f,e,c,4);l=d;return}function pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);f=d+176|0;e=d+144|0;rF(f,b+c|0,8,c);NF(e,d,b,8,c);wI(a,f,e,c,8);l=d;return}function qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;JF(f,b+c|0,8,c);KF(g,b+(0-(c<<1))+2|0,c);LF(e,g+16|0,8);AI(a,f,e,c,8);l=d;return}function rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;FF(f,b+c|0,8,c);GF(g,b+(0-(c<<1))+2|0,c);HF(e,g+16|0,8);zI(a,f,e,c,8);l=d;return}function sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;BF(f,b+c|0,8,c);CF(g,b+(0-(c<<1))+2|0,c);DF(e,g+16|0,8);yI(a,f,e,c,8);l=d;return}function tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);g=d+32|0;f=d+16|0;e=d;wF(f,b+c|0,4,c);xF(g,b+(0-(c<<1))+1|0,c);yF(e,g+8|0,4);xI(a,f,e,c,4);l=d;return}function uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;rF(f,b+c|0,8,c);sF(g,b+(0-(c<<1))+2|0,c);tF(e,g+16|0,8);wI(a,f,e,c,8);l=d;return}function vz(a,b,c){a=a|0;b=b|0;c=c|0;vI(a,b,c);return}function wz(a,b,c){a=a|0;b=b|0;c=c|0;uI(a,b,c);return}function xz(a,b,c){a=a|0;b=b|0;c=c|0;tI(a,b,c);return}function yz(a,b,c){a=a|0;b=b|0;c=c|0;sI(a,b,c);return}function zz(a,b,c){a=a|0;b=b|0;c=c|0;rI(a,b,c);return}function Az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;iI(e,b,4,c);lI(a,b,e,c,c);l=d;return}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;eI(e,b,4,c);hI(a,b,e,c,c);l=d;return}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;aI(e,b,4,c);dI(a,b,e,c,c);l=d;return}function Dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;YH(e,b,2,c);$H(a,b,e,c,c);l=d;return}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;UH(e,b,4,c);XH(a,b,e,c,c);l=d;return}function Fz(a,b,c){a=a|0;b=b|0;c=c|0;iI(a,b,c,c);return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;eI(a,b,c,c);return}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;aI(a,b,c,c);return}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;YH(a,b,c,c);return}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;UH(a,b,c,c);return}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;iI(e,b,4,c);lI(a,b+2|0,e,c,c);l=d;return}function Lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;eI(e,b,4,c);hI(a,b+2|0,e,c,c);l=d;return}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;aI(e,b,4,c);dI(a,b+2|0,e,c,c);l=d;return}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;YH(e,b,2,c);$H(a,b+1|0,e,c,c);l=d;return}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;UH(e,b,4,c);XH(a,b+2|0,e,c,c);l=d;return}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+8|0;e=d;f=g+8|0;jI(g,b+(0-(c<<1))|0,c);kI(e,f,4);lI(a,f,e,c,4);l=d;return}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+8|0;e=d;f=g+8|0;fI(g,b+(0-(c<<1))|0,c);gI(e,f,4);hI(a,f,e,c,4);l=d;return}function Rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+8|0;e=d;f=g+8|0;bI(g,b+(0-(c<<1))|0,c);cI(e,f,4);dI(a,f,e,c,4);l=d;return}function Sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=d+4|0;e=d;f=g+4|0;ZH(g,b+(0-(c<<1))|0,c);_H(e,f,2);$H(a,f,e,c,2);l=d;return}function Tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+8|0;e=d;f=g+8|0;VH(g,b+(0-(c<<1))|0,c);WH(e,f,4);XH(a,f,e,c,4);l=d;return}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;iI(f,b,4,c);jI(g,b+(0-(c<<1))|0,c);kI(e,g+8|0,4);lI(a,f,e,c,4);l=d;return}function Vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;eI(f,b,4,c);fI(g,b+(0-(c<<1))|0,c);gI(e,g+8|0,4);hI(a,f,e,c,4);l=d;return}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;aI(f,b,4,c);bI(g,b+(0-(c<<1))|0,c);cI(e,g+8|0,4);dI(a,f,e,c,4);l=d;return}function Xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=d+8|0;f=d+4|0;e=d;YH(f,b,2,c);ZH(g,b+(0-(c<<1))|0,c);_H(e,g+4|0,2);$H(a,f,e,c,2);l=d;return}function Yz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;UH(f,b,4,c);VH(g,b+(0-(c<<1))|0,c);WH(e,g+8|0,4);XH(a,f,e,c,4);l=d;return}function Zz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);f=d+120|0;e=d+112|0;iI(f,b,4,c);qI(e,d,b,4,c);lI(a,f,e,c,4);l=d;return}function _z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);f=d+120|0;e=d+112|0;eI(f,b,4,c);pI(e,d,b,4,c);hI(a,f,e,c,4);l=d;return}function $z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);f=d+64|0;e=d+56|0;aI(f,b,4,c);oI(e,d,b,4,c);dI(a,f,e,c,4);l=d;return}function aA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);f=d+32|0;e=d+28|0;YH(f,b,2,c);nI(e,d,b,2,c);$H(a,f,e,c,2);l=d;return}function bA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);f=d+64|0;e=d+56|0;UH(f,b,4,c);mI(e,d,b,4,c);XH(a,f,e,c,4);l=d;return}function cA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;iI(f,b,4,c);jI(g,b+(0-(c<<1))+2|0,c);kI(e,g+8|0,4);lI(a,f,e,c,4);l=d;return}function dA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;eI(f,b,4,c);fI(g,b+(0-(c<<1))+2|0,c);gI(e,g+8|0,4);hI(a,f,e,c,4);l=d;return}function eA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;aI(f,b,4,c);bI(g,b+(0-(c<<1))+2|0,c);cI(e,g+8|0,4);dI(a,f,e,c,4);l=d;return}function fA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=d+8|0;f=d+4|0;e=d;YH(f,b,2,c);ZH(g,b+(0-(c<<1))+1|0,c);_H(e,g+4|0,2);$H(a,f,e,c,2);l=d;return}function gA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;UH(f,b,4,c);VH(g,b+(0-(c<<1))+2|0,c);WH(e,g+8|0,4);XH(a,f,e,c,4);l=d;return}function hA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;jI(e,b+(0-(c<<1))|0,c);kI(a,e+8|0,c);l=d;return}function iA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;fI(e,b+(0-(c<<1))|0,c);gI(a,e+8|0,c);l=d;return}function jA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;bI(e,b+(0-(c<<1))|0,c);cI(a,e+8|0,c);l=d;return}function kA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;ZH(e,b+(0-(c<<1))|0,c);_H(a,e+4|0,c);l=d;return}function lA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;VH(e,b+(0-(c<<1))|0,c);WH(a,e+8|0,c);l=d;return}function mA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+160|0;if((l|0)>=(m|0))W(160);g=d+128|0;f=d+120|0;e=d+112|0;jI(g,b+(0-(c<<1))|0,c);kI(f,g+8|0,4);qI(e,d,b,4,c);lI(a,f,e,c,4);l=d;return}function nA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+160|0;if((l|0)>=(m|0))W(160);g=d+128|0;f=d+120|0;e=d+112|0;fI(g,b+(0-(c<<1))|0,c);gI(f,g+8|0,4);pI(e,d,b,4,c);hI(a,f,e,c,4);l=d;return}function oA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+72|0;f=d+64|0;e=d+56|0;bI(g,b+(0-(c<<1))|0,c);cI(f,g+8|0,4);oI(e,d,b,4,c);dI(a,f,e,c,4);l=d;return}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);g=d+36|0;f=d+32|0;e=d+28|0;ZH(g,b+(0-(c<<1))|0,c);_H(f,g+4|0,2);nI(e,d,b,2,c);$H(a,f,e,c,2);l=d;return}function qA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+72|0;f=d+64|0;e=d+56|0;VH(g,b+(0-(c<<1))|0,c);WH(f,g+8|0,4);mI(e,d,b,4,c);XH(a,f,e,c,4);l=d;return}function rA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);qI(a,d,b,c,c);l=d;return}function sA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);pI(a,d,b,c,c);l=d;return}function tA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);oI(a,d,b,c,c);l=d;return}function uA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);nI(a,d,b,c,c);l=d;return}function vA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);mI(a,d,b,c,c);l=d;return}function wA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+160|0;if((l|0)>=(m|0))W(160);g=d+128|0;f=d+120|0;e=d+112|0;jI(g,b+(0-(c<<1))+2|0,c);kI(f,g+8|0,4);qI(e,d,b,4,c);lI(a,f,e,c,4);l=d;return}function xA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+160|0;if((l|0)>=(m|0))W(160);g=d+128|0;f=d+120|0;e=d+112|0;fI(g,b+(0-(c<<1))+2|0,c);gI(f,g+8|0,4);pI(e,d,b,4,c);hI(a,f,e,c,4);l=d;return}function yA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+72|0;f=d+64|0;e=d+56|0;bI(g,b+(0-(c<<1))+2|0,c);cI(f,g+8|0,4);oI(e,d,b,4,c);dI(a,f,e,c,4);l=d;return}function zA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);g=d+36|0;f=d+32|0;e=d+28|0;ZH(g,b+(0-(c<<1))+1|0,c);_H(f,g+4|0,2);nI(e,d,b,2,c);$H(a,f,e,c,2);l=d;return}function AA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+72|0;f=d+64|0;e=d+56|0;VH(g,b+(0-(c<<1))+2|0,c);WH(f,g+8|0,4);mI(e,d,b,4,c);XH(a,f,e,c,4);l=d;return}function BA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);f=d+8|0;e=d;jI(f,b+(0-(c<<1))|0,c);kI(e,f+8|0,4);lI(a,f+12|0,e,c,4);l=d;return}function CA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);f=d+8|0;e=d;fI(f,b+(0-(c<<1))|0,c);gI(e,f+8|0,4);hI(a,f+12|0,e,c,4);l=d;return}function DA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);f=d+8|0;e=d;bI(f,b+(0-(c<<1))|0,c);cI(e,f+8|0,4);dI(a,f+12|0,e,c,4);l=d;return}function EA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);f=d+4|0;e=d;ZH(f,b+(0-(c<<1))|0,c);_H(e,f+4|0,2);$H(a,f+6|0,e,c,2);l=d;return}function FA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);f=d+8|0;e=d;VH(f,b+(0-(c<<1))|0,c);WH(e,f+8|0,4);XH(a,f+12|0,e,c,4);l=d;return}function GA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;iI(f,b+c|0,4,c);jI(g,b+(0-(c<<1))|0,c);kI(e,g+8|0,4);lI(a,f,e,c,4);l=d;return}function HA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;eI(f,b+c|0,4,c);fI(g,b+(0-(c<<1))|0,c);gI(e,g+8|0,4);hI(a,f,e,c,4);l=d;return}function IA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;aI(f,b+c|0,4,c);bI(g,b+(0-(c<<1))|0,c);cI(e,g+8|0,4);dI(a,f,e,c,4);l=d;return}function JA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=d+8|0;f=d+4|0;e=d;YH(f,b+c|0,2,c);ZH(g,b+(0-(c<<1))|0,c);_H(e,g+4|0,2);$H(a,f,e,c,2);l=d;return}function KA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;UH(f,b+c|0,4,c);VH(g,b+(0-(c<<1))|0,c);WH(e,g+8|0,4);XH(a,f,e,c,4);l=d;return}function LA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);f=d+120|0;e=d+112|0;iI(f,b+c|0,4,c);qI(e,d,b,4,c);lI(a,f,e,c,4);l=d;return}function MA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);f=d+120|0;e=d+112|0;eI(f,b+c|0,4,c);pI(e,d,b,4,c);hI(a,f,e,c,4);l=d;return}function NA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);f=d+64|0;e=d+56|0;aI(f,b+c|0,4,c);oI(e,d,b,4,c);dI(a,f,e,c,4);l=d;return}function OA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);f=d+32|0;e=d+28|0;YH(f,b+c|0,2,c);nI(e,d,b,2,c);$H(a,f,e,c,2);l=d;return}function PA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);f=d+64|0;e=d+56|0;UH(f,b+c|0,4,c);mI(e,d,b,4,c);XH(a,f,e,c,4);l=d;return}function QA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;iI(f,b+c|0,4,c);jI(g,b+(0-(c<<1))+2|0,c);kI(e,g+8|0,4);lI(a,f,e,c,4);l=d;return}function RA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;eI(f,b+c|0,4,c);fI(g,b+(0-(c<<1))+2|0,c);gI(e,g+8|0,4);hI(a,f,e,c,4);l=d;return}function SA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;aI(f,b+c|0,4,c);bI(g,b+(0-(c<<1))+2|0,c);cI(e,g+8|0,4);dI(a,f,e,c,4);l=d;return}function TA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=d+8|0;f=d+4|0;e=d;YH(f,b+c|0,2,c);ZH(g,b+(0-(c<<1))+1|0,c);_H(e,g+4|0,2);$H(a,f,e,c,2);l=d;return}function UA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=d+16|0;f=d+8|0;e=d;UH(f,b+c|0,4,c);VH(g,b+(0-(c<<1))+2|0,c);WH(e,g+8|0,4);XH(a,f,e,c,4);l=d;return}function VA(a,b,c){a=a|0;b=b|0;c=c|0;TH(a,b,c);return}function WA(a,b,c){a=a|0;b=b|0;c=c|0;SH(a,b,c);return}function XA(a,b,c){a=a|0;b=b|0;c=c|0;RH(a,b,c);return}function YA(a,b,c){a=a|0;b=b|0;c=c|0;QH(a,b,c);return}function ZA(a,b,c){a=a|0;b=b|0;c=c|0;PH(a,b,c);return}function _A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;rH(e,b,32,c);uH(a,b,e,c,c);l=d;return}function $A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;nH(e,b,32,c);qH(a,b,e,c,c);l=d;return}function aB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;jH(e,b,32,c);mH(a,b,e,c,c);l=d;return}function bB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+256|0;if((l|0)>=(m|0))W(256);e=d;fH(e,b,16,c);iH(a,b,e,c,c);l=d;return}function cB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;bH(e,b,32,c);eH(a,b,e,c,c);l=d;return}function dB(a,b,c){a=a|0;b=b|0;c=c|0;OH(a,b,c,c);return}function eB(a,b,c){a=a|0;b=b|0;c=c|0;NH(a,b,c,c);return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;MH(a,b,c,c);return}function gB(a,b,c){a=a|0;b=b|0;c=c|0;LH(a,b,c,c);return}function hB(a,b,c){a=a|0;b=b|0;c=c|0;KH(a,b,c,c);return}function iB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;rH(e,b,32,c);uH(a,b+2|0,e,c,c);l=d;return}function jB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;nH(e,b,32,c);qH(a,b+2|0,e,c,c);l=d;return}function kB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;jH(e,b,32,c);mH(a,b+2|0,e,c,c);l=d;return}function lB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+256|0;if((l|0)>=(m|0))W(256);e=d;fH(e,b,16,c);iH(a,b+1|0,e,c,c);l=d;return}function mB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+512|0;if((l|0)>=(m|0))W(512);e=d;bH(e,b,32,c);eH(a,b+2|0,e,c,c);l=d;return}function nB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);g=d+512|0;e=d;f=g+64|0;sH(g,b+(0-(c<<1))|0,c);tH(e,f,32);uH(a,f,e,c,32);l=d;return}function oB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);g=d+512|0;e=d;f=g+64|0;oH(g,b+(0-(c<<1))|0,c);pH(e,f,32);qH(a,f,e,c,32);l=d;return}function pB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);g=d+512|0;e=d;f=g+64|0;kH(g,b+(0-(c<<1))|0,c);lH(e,f,32);mH(a,f,e,c,32);l=d;return}function qB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+592|0;if((l|0)>=(m|0))W(592);g=d+256|0;e=d;f=g+32|0;gH(g,b+(0-(c<<1))|0,c);hH(e,f,16);iH(a,f,e,c,16);l=d;return}function rB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);g=d+512|0;e=d;f=g+64|0;cH(g,b+(0-(c<<1))|0,c);dH(e,f,32);eH(a,f,e,c,32);l=d;return}function sB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;rH(f,b,32,c);sH(g,b+(0-(c<<1))|0,c);tH(e,g+64|0,32);uH(a,f,e,c,32);l=d;return}function tB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;nH(f,b,32,c);oH(g,b+(0-(c<<1))|0,c);pH(e,g+64|0,32);qH(a,f,e,c,32);l=d;return}function uB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;jH(f,b,32,c);kH(g,b+(0-(c<<1))|0,c);lH(e,g+64|0,32);mH(a,f,e,c,32);l=d;return}function vB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+848|0;if((l|0)>=(m|0))W(848);g=d+512|0;f=d+256|0;e=d;fH(f,b,16,c);gH(g,b+(0-(c<<1))|0,c);hH(e,g+32|0,16);iH(a,f,e,c,16);l=d;return}function wB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;bH(f,b,32,c);cH(g,b+(0-(c<<1))|0,c);dH(e,g+64|0,32);eH(a,f,e,c,32);l=d;return}function xB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+3712|0;if((l|0)>=(m|0))W(3712);f=d+3200|0;e=d+2688|0;rH(f,b,32,c);zH(e,d,b,32,c);uH(a,f,e,c,32);l=d;return}function yB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+3712|0;if((l|0)>=(m|0))W(3712);f=d+3200|0;e=d+2688|0;nH(f,b,32,c);yH(e,d,b,32,c);qH(a,f,e,c,32);l=d;return}function zB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+2368|0;if((l|0)>=(m|0))W(2368);f=d+1856|0;e=d+1344|0;jH(f,b,32,c);xH(e,d,b,32,c);mH(a,f,e,c,32);l=d;return}function AB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+928|0;e=d+672|0;fH(f,b,16,c);wH(e,d,b,16,c);iH(a,f,e,c,16);l=d;return}function BB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+2368|0;if((l|0)>=(m|0))W(2368);f=d+1856|0;e=d+1344|0;bH(f,b,32,c);vH(e,d,b,32,c);eH(a,f,e,c,32);l=d;return}function CB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;rH(f,b,32,c);sH(g,b+(0-(c<<1))+2|0,c);tH(e,g+64|0,32);uH(a,f,e,c,32);l=d;return}function DB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;nH(f,b,32,c);oH(g,b+(0-(c<<1))+2|0,c);pH(e,g+64|0,32);qH(a,f,e,c,32);l=d;return}function EB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;jH(f,b,32,c);kH(g,b+(0-(c<<1))+2|0,c);lH(e,g+64|0,32);mH(a,f,e,c,32);l=d;return}function FB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+848|0;if((l|0)>=(m|0))W(848);g=d+512|0;f=d+256|0;e=d;fH(f,b,16,c);gH(g,b+(0-(c<<1))+1|0,c);hH(e,g+32|0,16);iH(a,f,e,c,16);l=d;return}function GB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;bH(f,b,32,c);cH(g,b+(0-(c<<1))+2|0,c);dH(e,g+64|0,32);eH(a,f,e,c,32);l=d;return}function HB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);e=d;sH(e,b+(0-(c<<1))|0,c);JH(a,e+64|0,c);l=d;return}function IB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);e=d;oH(e,b+(0-(c<<1))|0,c);IH(a,e+64|0,c);l=d;return}function JB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);e=d;kH(e,b+(0-(c<<1))|0,c);HH(a,e+64|0,c);l=d;return}function KB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);e=d;gH(e,b+(0-(c<<1))|0,c);GH(a,e+32|0,c);l=d;return}function LB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);e=d;cH(e,b+(0-(c<<1))|0,c);FH(a,e+64|0,c);l=d;return}function MB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+4384|0;if((l|0)>=(m|0))W(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;sH(g,b+(0-(c<<1))|0,c);tH(f,g+64|0,32);zH(e,d,b,32,c);uH(a,f,e,c,32);l=d;return}function NB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+4384|0;if((l|0)>=(m|0))W(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;oH(g,b+(0-(c<<1))|0,c);pH(f,g+64|0,32);yH(e,d,b,32,c);qH(a,f,e,c,32);l=d;return}function OB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+3040|0;if((l|0)>=(m|0))W(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;kH(g,b+(0-(c<<1))|0,c);lH(f,g+64|0,32);xH(e,d,b,32,c);mH(a,f,e,c,32);l=d;return}function PB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1520|0;if((l|0)>=(m|0))W(1520);g=d+1184|0;f=d+928|0;e=d+672|0;gH(g,b+(0-(c<<1))|0,c);hH(f,g+32|0,16);wH(e,d,b,16,c);iH(a,f,e,c,16);l=d;return}function QB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+3040|0;if((l|0)>=(m|0))W(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;cH(g,b+(0-(c<<1))|0,c);dH(f,g+64|0,32);vH(e,d,b,32,c);eH(a,f,e,c,32);l=d;return}function RB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+2688|0;if((l|0)>=(m|0))W(2688);EH(a,d,b,c,c);l=d;return}function SB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+2688|0;if((l|0)>=(m|0))W(2688);DH(a,d,b,c,c);l=d;return}function TB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+1344|0;if((l|0)>=(m|0))W(1344);CH(a,d,b,c,c);l=d;return}function UB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);BH(a,d,b,c,c);l=d;return}function VB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+1344|0;if((l|0)>=(m|0))W(1344);AH(a,d,b,c,c);l=d;return}function WB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+4384|0;if((l|0)>=(m|0))W(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;sH(g,b+(0-(c<<1))+2|0,c);tH(f,g+64|0,32);zH(e,d,b,32,c);uH(a,f,e,c,32);l=d;return}function XB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+4384|0;if((l|0)>=(m|0))W(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;oH(g,b+(0-(c<<1))+2|0,c);pH(f,g+64|0,32);yH(e,d,b,32,c);qH(a,f,e,c,32);l=d;return}function YB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+3040|0;if((l|0)>=(m|0))W(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;kH(g,b+(0-(c<<1))+2|0,c);lH(f,g+64|0,32);xH(e,d,b,32,c);mH(a,f,e,c,32);l=d;return}function ZB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1520|0;if((l|0)>=(m|0))W(1520);g=d+1184|0;f=d+928|0;e=d+672|0;gH(g,b+(0-(c<<1))+1|0,c);hH(f,g+32|0,16);wH(e,d,b,16,c);iH(a,f,e,c,16);l=d;return}function _B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+3040|0;if((l|0)>=(m|0))W(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;cH(g,b+(0-(c<<1))+2|0,c);dH(f,g+64|0,32);vH(e,d,b,32,c);eH(a,f,e,c,32);l=d;return}function $B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+512|0;e=d;sH(f,b+(0-(c<<1))|0,c);tH(e,f+64|0,32);uH(a,f+96|0,e,c,32);l=d;return}function aC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+512|0;e=d;oH(f,b+(0-(c<<1))|0,c);pH(e,f+64|0,32);qH(a,f+96|0,e,c,32);l=d;return}function bC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+512|0;e=d;kH(f,b+(0-(c<<1))|0,c);lH(e,f+64|0,32);mH(a,f+96|0,e,c,32);l=d;return}function cC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+592|0;if((l|0)>=(m|0))W(592);f=d+256|0;e=d;gH(f,b+(0-(c<<1))|0,c);hH(e,f+32|0,16);iH(a,f+48|0,e,c,16);l=d;return}function dC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+512|0;e=d;cH(f,b+(0-(c<<1))|0,c);dH(e,f+64|0,32);eH(a,f+96|0,e,c,32);l=d;return}function eC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;rH(f,b+c|0,32,c);sH(g,b+(0-(c<<1))|0,c);tH(e,g+64|0,32);uH(a,f,e,c,32);l=d;return}function fC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;nH(f,b+c|0,32,c);oH(g,b+(0-(c<<1))|0,c);pH(e,g+64|0,32);qH(a,f,e,c,32);l=d;return}function gC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;jH(f,b+c|0,32,c);kH(g,b+(0-(c<<1))|0,c);lH(e,g+64|0,32);mH(a,f,e,c,32);l=d;return}function hC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+848|0;if((l|0)>=(m|0))W(848);g=d+512|0;f=d+256|0;e=d;fH(f,b+c|0,16,c);gH(g,b+(0-(c<<1))|0,c);hH(e,g+32|0,16);iH(a,f,e,c,16);l=d;return}function iC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;bH(f,b+c|0,32,c);cH(g,b+(0-(c<<1))|0,c);dH(e,g+64|0,32);eH(a,f,e,c,32);l=d;return}function jC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+3712|0;if((l|0)>=(m|0))W(3712);f=d+3200|0;e=d+2688|0;rH(f,b+c|0,32,c);zH(e,d,b,32,c);uH(a,f,e,c,32);l=d;return}function kC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+3712|0;if((l|0)>=(m|0))W(3712);f=d+3200|0;e=d+2688|0;nH(f,b+c|0,32,c);yH(e,d,b,32,c);qH(a,f,e,c,32);l=d;return}function lC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+2368|0;if((l|0)>=(m|0))W(2368);f=d+1856|0;e=d+1344|0;jH(f,b+c|0,32,c);xH(e,d,b,32,c);mH(a,f,e,c,32);l=d;return}function mC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1184|0;if((l|0)>=(m|0))W(1184);f=d+928|0;e=d+672|0;fH(f,b+c|0,16,c);wH(e,d,b,16,c);iH(a,f,e,c,16);l=d;return}function nC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+2368|0;if((l|0)>=(m|0))W(2368);f=d+1856|0;e=d+1344|0;bH(f,b+c|0,32,c);vH(e,d,b,32,c);eH(a,f,e,c,32);l=d;return}function oC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;rH(f,b+c|0,32,c);sH(g,b+(0-(c<<1))+2|0,c);tH(e,g+64|0,32);uH(a,f,e,c,32);l=d;return}function pC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;nH(f,b+c|0,32,c);oH(g,b+(0-(c<<1))+2|0,c);pH(e,g+64|0,32);qH(a,f,e,c,32);l=d;return}function qC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;jH(f,b+c|0,32,c);kH(g,b+(0-(c<<1))+2|0,c);lH(e,g+64|0,32);mH(a,f,e,c,32);l=d;return}function rC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+848|0;if((l|0)>=(m|0))W(848);g=d+512|0;f=d+256|0;e=d;fH(f,b+c|0,16,c);gH(g,b+(0-(c<<1))+1|0,c);hH(e,g+32|0,16);iH(a,f,e,c,16);l=d;return}function sC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1696|0;if((l|0)>=(m|0))W(1696);g=d+1024|0;f=d+512|0;e=d;bH(f,b+c|0,32,c);cH(g,b+(0-(c<<1))+2|0,c);dH(e,g+64|0,32);eH(a,f,e,c,32);l=d;return}function tC(a,b,c){a=a|0;b=b|0;c=c|0;aH(a,b,c,8);return}function uC(a,b,c){a=a|0;b=b|0;c=c|0;$G(a,b,c,8);return}function vC(a,b,c){a=a|0;b=b|0;c=c|0;_G(a,b,c,8);return}function wC(a,b,c){a=a|0;b=b|0;c=c|0;ZG(a,b,c,8);return}function xC(a,b,c){a=a|0;b=b|0;c=c|0;YG(a,b,c,8);return}function yC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;AG(e,b,16,c);DG(a,b,e,c,c,16,8);l=d;return}function zC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;wG(e,b,16,c);zG(a,b,e,c,c,16,8);l=d;return}function AC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;sG(e,b,16,c);vG(a,b,e,c,c,16,8);l=d;return}function BC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);e=d;oG(e,b,8,c);rG(a,b,e,c,c,8,8);l=d;return}function CC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;kG(e,b,16,c);nG(a,b,e,c,c,16,8);l=d;return}function DC(a,b,c){a=a|0;b=b|0;c=c|0;XG(a,b,c,c);return}function EC(a,b,c){a=a|0;b=b|0;c=c|0;WG(a,b,c,c);return}function FC(a,b,c){a=a|0;b=b|0;c=c|0;VG(a,b,c,c);return}function GC(a,b,c){a=a|0;b=b|0;c=c|0;UG(a,b,c,c);return}function HC(a,b,c){a=a|0;b=b|0;c=c|0;TG(a,b,c,c);return}function IC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;AG(e,b,16,c);DG(a,b+2|0,e,c,c,16,8);l=d;return}function JC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;wG(e,b,16,c);zG(a,b+2|0,e,c,c,16,8);l=d;return}function KC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;sG(e,b,16,c);vG(a,b+2|0,e,c,c,16,8);l=d;return}function LC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);e=d;oG(e,b,8,c);rG(a,b+1|0,e,c,c,8,8);l=d;return}function MC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=d;kG(e,b,16,c);nG(a,b+2|0,e,c,c,16,8);l=d;return}function NC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);g=d+128|0;e=d;f=g+32|0;BG(g,b+(0-(c<<1))|0,c);CG(e,f,16,16);DG(a,f,e,c,16,16,8);l=d;return}function OC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);g=d+128|0;e=d;f=g+32|0;xG(g,b+(0-(c<<1))|0,c);yG(e,f,16,16);zG(a,f,e,c,16,16,8);l=d;return}function PC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);g=d+128|0;e=d;f=g+32|0;tG(g,b+(0-(c<<1))|0,c);uG(e,f,16,16);vG(a,f,e,c,16,16,8);l=d;return}function QC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+176|0;if((l|0)>=(m|0))W(176);g=d+64|0;e=d;f=g+16|0;pG(g,b+(0-(c<<1))|0,c);qG(e,f,8,8);rG(a,f,e,c,8,8,8);l=d;return}function RC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);g=d+128|0;e=d;f=g+32|0;lG(g,b+(0-(c<<1))|0,c);mG(e,f,16,16);nG(a,f,e,c,16,16,8);l=d;return}function SC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;AG(f,b,16,c);BG(g,b+(0-(c<<1))|0,c);CG(e,g+32|0,16,16);DG(a,f,e,c,16,16,8);l=d;return}function TC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;wG(f,b,16,c);xG(g,b+(0-(c<<1))|0,c);yG(e,g+32|0,16,16);zG(a,f,e,c,16,16,8);l=d;return}function UC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;sG(f,b,16,c);tG(g,b+(0-(c<<1))|0,c);uG(e,g+32|0,16,16);vG(a,f,e,c,16,16,8);l=d;return}function VC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+240|0;if((l|0)>=(m|0))W(240);g=d+128|0;f=d+64|0;e=d;oG(f,b,8,c);pG(g,b+(0-(c<<1))|0,c);qG(e,g+16|0,8,8);rG(a,f,e,c,8,8,8);l=d;return}function WC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;kG(f,b,16,c);lG(g,b+(0-(c<<1))|0,c);mG(e,g+32|0,16,16);nG(a,f,e,c,16,16,8);l=d;return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1088|0;if((l|0)>=(m|0))W(1088);f=d+960|0;e=d+832|0;AG(f,b,16,c);IG(e,d,b,16,16,c);DG(a,f,e,c,16,16,8);l=d;return}function YC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1088|0;if((l|0)>=(m|0))W(1088);f=d+960|0;e=d+832|0;wG(f,b,16,c);HG(e,d,b,16,16,c);zG(a,f,e,c,16,16,8);l=d;return}function ZC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);f=d+544|0;e=d+416|0;sG(f,b,16,c);GG(e,d,b,16,16,c);vG(a,f,e,c,16,16,8);l=d;return}function _C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+272|0;e=d+208|0;oG(f,b,8,c);FG(e,d,b,8,8,c);rG(a,f,e,c,8,8,8);l=d;return}function $C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);f=d+544|0;e=d+416|0;kG(f,b,16,c);EG(e,d,b,16,16,c);nG(a,f,e,c,16,16,8);l=d;return}function aD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;AG(f,b,16,c);BG(g,b+(0-(c<<1))+2|0,c);CG(e,g+32|0,16,16);DG(a,f,e,c,16,16,8);l=d;return}function bD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;wG(f,b,16,c);xG(g,b+(0-(c<<1))+2|0,c);yG(e,g+32|0,16,16);zG(a,f,e,c,16,16,8);l=d;return}function cD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;sG(f,b,16,c);tG(g,b+(0-(c<<1))+2|0,c);uG(e,g+32|0,16,16);vG(a,f,e,c,16,16,8);l=d;return}function dD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+240|0;if((l|0)>=(m|0))W(240);g=d+128|0;f=d+64|0;e=d;oG(f,b,8,c);pG(g,b+(0-(c<<1))+1|0,c);qG(e,g+16|0,8,8);rG(a,f,e,c,8,8,8);l=d;return}function eD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;kG(f,b,16,c);lG(g,b+(0-(c<<1))+2|0,c);mG(e,g+32|0,16,16);nG(a,f,e,c,16,16,8);l=d;return}function fD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);e=d;BG(e,b+(0-(c<<1))|0,c);SG(a,e+32|0,c,16);l=d;return}function gD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);e=d;xG(e,b+(0-(c<<1))|0,c);RG(a,e+32|0,c,16);l=d;return}function hD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);e=d;tG(e,b+(0-(c<<1))|0,c);QG(a,e+32|0,c,16);l=d;return}function iD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);e=d;pG(e,b+(0-(c<<1))|0,c);PG(a,e+16|0,c,8);l=d;return}function jD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);e=d;lG(e,b+(0-(c<<1))|0,c);OG(a,e+32|0,c,16);l=d;return}function kD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1296|0;if((l|0)>=(m|0))W(1296);g=d+1088|0;f=d+960|0;e=d+832|0;BG(g,b+(0-(c<<1))|0,c);CG(f,g+32|0,16,16);IG(e,d,b,16,16,c);DG(a,f,e,c,16,16,8);l=d;return}function lD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1296|0;if((l|0)>=(m|0))W(1296);g=d+1088|0;f=d+960|0;e=d+832|0;xG(g,b+(0-(c<<1))|0,c);yG(f,g+32|0,16,16);HG(e,d,b,16,16,c);zG(a,f,e,c,16,16,8);l=d;return}function mD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+880|0;if((l|0)>=(m|0))W(880);g=d+672|0;f=d+544|0;e=d+416|0;tG(g,b+(0-(c<<1))|0,c);uG(f,g+32|0,16,16);GG(e,d,b,16,16,c);vG(a,f,e,c,16,16,8);l=d;return}function nD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+448|0;if((l|0)>=(m|0))W(448);g=d+336|0;f=d+272|0;e=d+208|0;pG(g,b+(0-(c<<1))|0,c);qG(f,g+16|0,8,8);FG(e,d,b,8,8,c);rG(a,f,e,c,8,8,8);l=d;return}function oD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+880|0;if((l|0)>=(m|0))W(880);g=d+672|0;f=d+544|0;e=d+416|0;lG(g,b+(0-(c<<1))|0,c);mG(f,g+32|0,16,16);EG(e,d,b,16,16,c);nG(a,f,e,c,16,16,8);l=d;return}function pD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+832|0;if((l|0)>=(m|0))W(832);NG(a,d,b,c,16,c);l=d;return}function qD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+832|0;if((l|0)>=(m|0))W(832);MG(a,d,b,c,16,c);l=d;return}function rD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+416|0;if((l|0)>=(m|0))W(416);LG(a,d,b,c,16,c);l=d;return}function sD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);KG(a,d,b,c,8,c);l=d;return}function tD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+416|0;if((l|0)>=(m|0))W(416);JG(a,d,b,c,16,c);l=d;return}function uD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1296|0;if((l|0)>=(m|0))W(1296);g=d+1088|0;f=d+960|0;e=d+832|0;BG(g,b+(0-(c<<1))+2|0,c);CG(f,g+32|0,16,16);IG(e,d,b,16,16,c);DG(a,f,e,c,16,16,8);l=d;return}function vD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+1296|0;if((l|0)>=(m|0))W(1296);g=d+1088|0;f=d+960|0;e=d+832|0;xG(g,b+(0-(c<<1))+2|0,c);yG(f,g+32|0,16,16);HG(e,d,b,16,16,c);zG(a,f,e,c,16,16,8);l=d;return}function wD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+880|0;if((l|0)>=(m|0))W(880);g=d+672|0;f=d+544|0;e=d+416|0;tG(g,b+(0-(c<<1))+2|0,c);uG(f,g+32|0,16,16);GG(e,d,b,16,16,c);vG(a,f,e,c,16,16,8);l=d;return}function xD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+448|0;if((l|0)>=(m|0))W(448);g=d+336|0;f=d+272|0;e=d+208|0;pG(g,b+(0-(c<<1))+1|0,c);qG(f,g+16|0,8,8);FG(e,d,b,8,8,c);rG(a,f,e,c,8,8,8);l=d;return}function yD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+880|0;if((l|0)>=(m|0))W(880);g=d+672|0;f=d+544|0;e=d+416|0;lG(g,b+(0-(c<<1))+2|0,c);mG(f,g+32|0,16,16);EG(e,d,b,16,16,c);nG(a,f,e,c,16,16,8);l=d;return}function zD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+128|0;e=d;BG(f,b+(0-(c<<1))|0,c);CG(e,f+32|0,16,16);DG(a,f+48|0,e,c,16,16,8);l=d;return}function AD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+128|0;e=d;xG(f,b+(0-(c<<1))|0,c);yG(e,f+32|0,16,16);zG(a,f+48|0,e,c,16,16,8);l=d;return}function BD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+128|0;e=d;tG(f,b+(0-(c<<1))|0,c);uG(e,f+32|0,16,16);vG(a,f+48|0,e,c,16,16,8);l=d;return}function CD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+176|0;if((l|0)>=(m|0))W(176);f=d+64|0;e=d;pG(f,b+(0-(c<<1))|0,c);qG(e,f+16|0,8,8);rG(a,f+24|0,e,c,8,8,8);l=d;return}function DD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+128|0;e=d;lG(f,b+(0-(c<<1))|0,c);mG(e,f+32|0,16,16);nG(a,f+48|0,e,c,16,16,8);l=d;return}function ED(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;AG(f,b+c|0,16,c);BG(g,b+(0-(c<<1))|0,c);CG(e,g+32|0,16,16);DG(a,f,e,c,16,16,8);l=d;return}function FD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;wG(f,b+c|0,16,c);xG(g,b+(0-(c<<1))|0,c);yG(e,g+32|0,16,16);zG(a,f,e,c,16,16,8);l=d;return}function GD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;sG(f,b+c|0,16,c);tG(g,b+(0-(c<<1))|0,c);uG(e,g+32|0,16,16);vG(a,f,e,c,16,16,8);l=d;return}function HD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+240|0;if((l|0)>=(m|0))W(240);g=d+128|0;f=d+64|0;e=d;oG(f,b+c|0,8,c);pG(g,b+(0-(c<<1))|0,c);qG(e,g+16|0,8,8);rG(a,f,e,c,8,8,8);l=d;return}function ID(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;kG(f,b+c|0,16,c);lG(g,b+(0-(c<<1))|0,c);mG(e,g+32|0,16,16);nG(a,f,e,c,16,16,8);l=d;return}function JD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1088|0;if((l|0)>=(m|0))W(1088);f=d+960|0;e=d+832|0;AG(f,b+c|0,16,c);IG(e,d,b,16,16,c);DG(a,f,e,c,16,16,8);l=d;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+1088|0;if((l|0)>=(m|0))W(1088);f=d+960|0;e=d+832|0;wG(f,b+c|0,16,c);HG(e,d,b,16,16,c);zG(a,f,e,c,16,16,8);l=d;return}function LD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);f=d+544|0;e=d+416|0;sG(f,b+c|0,16,c);GG(e,d,b,16,16,c);vG(a,f,e,c,16,16,8);l=d;return}function MD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+336|0;if((l|0)>=(m|0))W(336);f=d+272|0;e=d+208|0;oG(f,b+c|0,8,c);FG(e,d,b,8,8,c);rG(a,f,e,c,8,8,8);l=d;return}function ND(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+672|0;if((l|0)>=(m|0))W(672);f=d+544|0;e=d+416|0;kG(f,b+c|0,16,c);EG(e,d,b,16,16,c);nG(a,f,e,c,16,16,8);l=d;return}function OD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;AG(f,b+c|0,16,c);BG(g,b+(0-(c<<1))+2|0,c);CG(e,g+32|0,16,16);DG(a,f,e,c,16,16,8);l=d;return}function PD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;wG(f,b+c|0,16,c);xG(g,b+(0-(c<<1))+2|0,c);yG(e,g+32|0,16,16);zG(a,f,e,c,16,16,8);l=d;return}function QD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;sG(f,b+c|0,16,c);tG(g,b+(0-(c<<1))+2|0,c);uG(e,g+32|0,16,16);vG(a,f,e,c,16,16,8);l=d;return}function RD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+240|0;if((l|0)>=(m|0))W(240);g=d+128|0;f=d+64|0;e=d;oG(f,b+c|0,8,c);pG(g,b+(0-(c<<1))+1|0,c);qG(e,g+16|0,8,8);rG(a,f,e,c,8,8,8);l=d;return}function SD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+464|0;if((l|0)>=(m|0))W(464);g=d+256|0;f=d+128|0;e=d;kG(f,b+c|0,16,c);lG(g,b+(0-(c<<1))+2|0,c);mG(e,g+32|0,16,16);nG(a,f,e,c,16,16,8);l=d;return}function TD(a,b,c){a=a|0;b=b|0;c=c|0;jG(a,b,c);return}function UD(a,b,c){a=a|0;b=b|0;c=c|0;iG(a,b,c);return}function VD(a,b,c){a=a|0;b=b|0;c=c|0;hG(a,b,c);return}function WD(a,b,c){a=a|0;b=b|0;c=c|0;gG(a,b,c);return}function XD(a,b,c){a=a|0;b=b|0;c=c|0;fG(a,b,c);return}function YD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;JF(e,b,8,c);MF(a,b,e,c,c);l=d;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;FF(e,b,8,c);IF(a,b,e,c,c);l=d;return}function _D(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;BF(e,b,8,c);EF(a,b,e,c,c);l=d;return}function $D(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;wF(e,b,4,c);zF(a,b,e,c,c);l=d;return}function aE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;rF(e,b,8,c);uF(a,b,e,c,c);l=d;return}function bE(a,b,c){a=a|0;b=b|0;c=c|0;eG(a,b,c,c);return}function cE(a,b,c){a=a|0;b=b|0;c=c|0;dG(a,b,c,c);return}function dE(a,b,c){a=a|0;b=b|0;c=c|0;cG(a,b,c,c);return}function eE(a,b,c){a=a|0;b=b|0;c=c|0;bG(a,b,c,c);return}function fE(a,b,c){a=a|0;b=b|0;c=c|0;aG(a,b,c,c);return}function gE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;JF(e,b,8,c);MF(a,b+2|0,e,c,c);l=d;return}function hE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;FF(e,b,8,c);IF(a,b+2|0,e,c,c);l=d;return}function iE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;BF(e,b,8,c);EF(a,b+2|0,e,c,c);l=d;return}function jE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;wF(e,b,4,c);zF(a,b+1|0,e,c,c);l=d;return}function kE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=d;rF(e,b,8,c);uF(a,b+2|0,e,c,c);l=d;return}function lE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+32|0;e=d;f=g+16|0;KF(g,b+(0-(c<<1))|0,c);LF(e,f,8);MF(a,f,e,c,8);l=d;return}function mE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+32|0;e=d;f=g+16|0;GF(g,b+(0-(c<<1))|0,c);HF(e,f,8);IF(a,f,e,c,8);l=d;return}function nE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+32|0;e=d;f=g+16|0;CF(g,b+(0-(c<<1))|0,c);DF(e,f,8);EF(a,f,e,c,8);l=d;return}function oE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);g=d+16|0;e=d;f=g+8|0;xF(g,b+(0-(c<<1))|0,c);yF(e,f,4);zF(a,f,e,c,4);l=d;return}function pE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);g=d+32|0;e=d;f=g+16|0;sF(g,b+(0-(c<<1))|0,c);tF(e,f,8);uF(a,f,e,c,8);l=d;return}function qE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;JF(f,b,8,c);KF(g,b+(0-(c<<1))|0,c);LF(e,g+16|0,8);MF(a,f,e,c,8);l=d;return}function rE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;FF(f,b,8,c);GF(g,b+(0-(c<<1))|0,c);HF(e,g+16|0,8);IF(a,f,e,c,8);l=d;return}function sE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;BF(f,b,8,c);CF(g,b+(0-(c<<1))|0,c);DF(e,g+16|0,8);EF(a,f,e,c,8);l=d;return}function tE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);g=d+32|0;f=d+16|0;e=d;wF(f,b,4,c);xF(g,b+(0-(c<<1))|0,c);yF(e,g+8|0,4);zF(a,f,e,c,4);l=d;return}function uE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;rF(f,b,8,c);sF(g,b+(0-(c<<1))|0,c);tF(e,g+16|0,8);uF(a,f,e,c,8);l=d;return}function vE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+352|0;if((l|0)>=(m|0))W(352);f=d+320|0;e=d+288|0;JF(f,b,8,c);RF(e,d,b,8,c);MF(a,f,e,c,8);l=d;return}function wE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+352|0;if((l|0)>=(m|0))W(352);f=d+320|0;e=d+288|0;FF(f,b,8,c);QF(e,d,b,8,c);IF(a,f,e,c,8);l=d;return}function xE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);f=d+176|0;e=d+144|0;BF(f,b,8,c);PF(e,d,b,8,c);EF(a,f,e,c,8);l=d;return}function yE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+88|0;e=d+72|0;wF(f,b,4,c);OF(e,d,b,4,c);zF(a,f,e,c,4);l=d;return}function zE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);f=d+176|0;e=d+144|0;rF(f,b,8,c);NF(e,d,b,8,c);uF(a,f,e,c,8);l=d;return}function AE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;JF(f,b,8,c);KF(g,b+(0-(c<<1))+2|0,c);LF(e,g+16|0,8);MF(a,f,e,c,8);l=d;return}function BE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;FF(f,b,8,c);GF(g,b+(0-(c<<1))+2|0,c);HF(e,g+16|0,8);IF(a,f,e,c,8);l=d;return}function CE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;BF(f,b,8,c);CF(g,b+(0-(c<<1))+2|0,c);DF(e,g+16|0,8);EF(a,f,e,c,8);l=d;return}function DE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);g=d+32|0;f=d+16|0;e=d;wF(f,b,4,c);xF(g,b+(0-(c<<1))+1|0,c);yF(e,g+8|0,4);zF(a,f,e,c,4);l=d;return}function EE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;rF(f,b,8,c);sF(g,b+(0-(c<<1))+2|0,c);tF(e,g+16|0,8);uF(a,f,e,c,8);l=d;return}function FE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);e=d;KF(e,b+(0-(c<<1))|0,c);$F(a,e+16|0,c);l=d;return}function GE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);e=d;GF(e,b+(0-(c<<1))|0,c);_F(a,e+16|0,c);l=d;return}function HE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);e=d;CF(e,b+(0-(c<<1))|0,c);ZF(a,e+16|0,c);l=d;return}function IE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+48|0;if((l|0)>=(m|0))W(48);e=d;xF(e,b+(0-(c<<1))|0,c);YF(a,e+8|0,c);l=d;return}function JE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);e=d;sF(e,b+(0-(c<<1))|0,c);XF(a,e+16|0,c);l=d;return}function KE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+432|0;if((l|0)>=(m|0))W(432);g=d+352|0;f=d+320|0;e=d+288|0;KF(g,b+(0-(c<<1))|0,c);LF(f,g+16|0,8);RF(e,d,b,8,c);MF(a,f,e,c,8);l=d;return}function LE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+432|0;if((l|0)>=(m|0))W(432);g=d+352|0;f=d+320|0;e=d+288|0;GF(g,b+(0-(c<<1))|0,c);HF(f,g+16|0,8);QF(e,d,b,8,c);IF(a,f,e,c,8);l=d;return}function ME(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);g=d+208|0;f=d+176|0;e=d+144|0;CF(g,b+(0-(c<<1))|0,c);DF(f,g+16|0,8);PF(e,d,b,8,c);EF(a,f,e,c,8);l=d;return}function NE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+104|0;f=d+88|0;e=d+72|0;xF(g,b+(0-(c<<1))|0,c);yF(f,g+8|0,4);OF(e,d,b,4,c);zF(a,f,e,c,4);l=d;return}function OE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);g=d+208|0;f=d+176|0;e=d+144|0;sF(g,b+(0-(c<<1))|0,c);tF(f,g+16|0,8);NF(e,d,b,8,c);uF(a,f,e,c,8);l=d;return}function PE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);WF(a,d,b,c,c);l=d;return}function QE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);VF(a,d,b,c,c);l=d;return}function RE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);UF(a,d,b,c,c);l=d;return}function SE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);TF(a,d,b,c,c);l=d;return}function TE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);SF(a,d,b,c,c);l=d;return}function UE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+432|0;if((l|0)>=(m|0))W(432);g=d+352|0;f=d+320|0;e=d+288|0;KF(g,b+(0-(c<<1))+2|0,c);LF(f,g+16|0,8);RF(e,d,b,8,c);MF(a,f,e,c,8);l=d;return}function VE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+432|0;if((l|0)>=(m|0))W(432);g=d+352|0;f=d+320|0;e=d+288|0;GF(g,b+(0-(c<<1))+2|0,c);HF(f,g+16|0,8);QF(e,d,b,8,c);IF(a,f,e,c,8);l=d;return}function WE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);g=d+208|0;f=d+176|0;e=d+144|0;CF(g,b+(0-(c<<1))+2|0,c);DF(f,g+16|0,8);PF(e,d,b,8,c);EF(a,f,e,c,8);l=d;return}function XE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+104|0;f=d+88|0;e=d+72|0;xF(g,b+(0-(c<<1))+1|0,c);yF(f,g+8|0,4);OF(e,d,b,4,c);zF(a,f,e,c,4);l=d;return}function YE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+288|0;if((l|0)>=(m|0))W(288);g=d+208|0;f=d+176|0;e=d+144|0;sF(g,b+(0-(c<<1))+2|0,c);tF(f,g+16|0,8);NF(e,d,b,8,c);uF(a,f,e,c,8);l=d;return}function ZE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+32|0;e=d;KF(f,b+(0-(c<<1))|0,c);LF(e,f+16|0,8);MF(a,f+24|0,e,c,8);l=d;return}function _E(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+32|0;e=d;GF(f,b+(0-(c<<1))|0,c);HF(e,f+16|0,8);IF(a,f+24|0,e,c,8);l=d;return}function $E(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+32|0;e=d;CF(f,b+(0-(c<<1))|0,c);DF(e,f+16|0,8);EF(a,f+24|0,e,c,8);l=d;return}function aF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+64|0;if((l|0)>=(m|0))W(64);f=d+16|0;e=d;xF(f,b+(0-(c<<1))|0,c);yF(e,f+8|0,4);zF(a,f+12|0,e,c,4);l=d;return}function bF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+32|0;e=d;sF(f,b+(0-(c<<1))|0,c);tF(e,f+16|0,8);uF(a,f+24|0,e,c,8);l=d;return}function cF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;JF(f,b+c|0,8,c);KF(g,b+(0-(c<<1))|0,c);LF(e,g+16|0,8);MF(a,f,e,c,8);l=d;return}function dF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;FF(f,b+c|0,8,c);GF(g,b+(0-(c<<1))|0,c);HF(e,g+16|0,8);IF(a,f,e,c,8);l=d;return}function eF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;BF(f,b+c|0,8,c);CF(g,b+(0-(c<<1))|0,c);DF(e,g+16|0,8);EF(a,f,e,c,8);l=d;return}function fF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);g=d+32|0;f=d+16|0;e=d;wF(f,b+c|0,4,c);xF(g,b+(0-(c<<1))|0,c);yF(e,g+8|0,4);zF(a,f,e,c,4);l=d;return}function gF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;rF(f,b+c|0,8,c);sF(g,b+(0-(c<<1))|0,c);tF(e,g+16|0,8);uF(a,f,e,c,8);l=d;return}function hF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+352|0;if((l|0)>=(m|0))W(352);f=d+320|0;e=d+288|0;JF(f,b+c|0,8,c);RF(e,d,b,8,c);MF(a,f,e,c,8);l=d;return}function iF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+352|0;if((l|0)>=(m|0))W(352);f=d+320|0;e=d+288|0;FF(f,b+c|0,8,c);QF(e,d,b,8,c);IF(a,f,e,c,8);l=d;return}function jF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);f=d+176|0;e=d+144|0;BF(f,b+c|0,8,c);PF(e,d,b,8,c);EF(a,f,e,c,8);l=d;return}function kF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+112|0;if((l|0)>=(m|0))W(112);f=d+88|0;e=d+72|0;wF(f,b+c|0,4,c);OF(e,d,b,4,c);zF(a,f,e,c,4);l=d;return}function lF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=l;l=l+208|0;if((l|0)>=(m|0))W(208);f=d+176|0;e=d+144|0;rF(f,b+c|0,8,c);NF(e,d,b,8,c);uF(a,f,e,c,8);l=d;return}function mF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;JF(f,b+c|0,8,c);KF(g,b+(0-(c<<1))+2|0,c);LF(e,g+16|0,8);MF(a,f,e,c,8);l=d;return}function nF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;FF(f,b+c|0,8,c);GF(g,b+(0-(c<<1))+2|0,c);HF(e,g+16|0,8);IF(a,f,e,c,8);l=d;return}function oF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;BF(f,b+c|0,8,c);CF(g,b+(0-(c<<1))+2|0,c);DF(e,g+16|0,8);EF(a,f,e,c,8);l=d;return}function pF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+80|0;if((l|0)>=(m|0))W(80);g=d+32|0;f=d+16|0;e=d;wF(f,b+c|0,4,c);xF(g,b+(0-(c<<1))+1|0,c);yF(e,g+8|0,4);zF(a,f,e,c,4);l=d;return}function qF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);g=d+64|0;f=d+32|0;e=d;rF(f,b+c|0,8,c);sF(g,b+(0-(c<<1))+2|0,c);tF(e,g+16|0,8);uF(a,f,e,c,8);l=d;return}function rF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=N((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=N((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;a=N((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function sF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function tF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(N(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+16+l+((c+n|0)*20|0)+(N(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<512?p:0-p>>31&511;o=o+16+j+((k+c|0)*20|0)+(N(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<512?o:0-o>>31&511;c=n+16+m+((l+k|0)*20|0)+(N(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function uF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(N(h,g)|0)|0;o=n;n=n+4|0;j=e+(h<<3)|0;m=j;j=j+4|0;i=a+(N(h,f)|0)|0;k=i;l=c[k>>2]|0;k=c[k+4>>2]|0;j=vF(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;j=vF(l,k,j,y)|0;c[i>>2]=j;c[i+4>>2]=y;h=h+1|0}return}function vF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=bX(c^a|0,d^b|0,1)|0;d=UW(c|a|0,d|b|0,e&2147450879|0,y&2147450879|0)|0;return d|0}function wF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=0;while(1){if((g|0)==4)break;i=c+1|0;l=c+-1|0;h=c+2|0;m=N((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+3|0;m=(((d[i>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[j>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N((d[j>>0]|0)+(d[c>>0]|0)|0,-5)|0;k=c+4|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+5|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[l>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=N((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+6>>0]|0)>>5;a[b+3>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function xF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==9)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function yF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;p=d[c+-4>>0]|0;o=d[c>>0]|0;n=d[c+4>>0]|0;i=d[c+8>>0]|0;k=d[c+12>>0]|0;l=d[c+16>>0]|0;j=d[c+20>>0]|0;m=d[c+24>>0]|0;q=(d[c+-8>>0]|0)+16+k+((n+o|0)*20|0)+(N(i+p|0,-5)|0)>>5;a[b>>0]=q>>>0>255?(q^-2147483648)>>31:q;p=p+16+l+((i+n|0)*20|0)+(N(k+o|0,-5)|0)>>5;a[b+e>>0]=p>>>0>255?(p^-2147483648)>>31:p;o=o+16+j+((k+i|0)*20|0)+(N(l+n|0,-5)|0)>>5;a[b+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;i=n+16+m+((l+k|0)*20|0)+(N(j+i|0,-5)|0)>>5;a[b+h>>0]=i>>>0>255?(i^-2147483648)>>31:i;f=f+1|0;b=b+1|0;c=c+1|0}return}function zF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(N(h,g)|0)|0;j=e+(h<<2)|0;i=a+(N(h,f)|0)|0;l=c[i>>2]|0;c[i>>2]=AF(l,AF(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0)|0;h=h+1|0}return}function AF(a,b){a=a|0;b=b|0;return (b|a)-((b^a)>>>1&2139062143)|0}function BF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=N((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=N((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;a=N((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function CF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function DF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(N(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<1024?q:0-q>>31&1023;p=p+16+l+((c+n|0)*20|0)+(N(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<1024?p:0-p>>31&1023;o=o+16+j+((k+c|0)*20|0)+(N(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;c=n+16+m+((l+k|0)*20|0)+(N(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function EF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(N(h,g)|0)|0;o=n;n=n+4|0;j=e+(h<<3)|0;m=j;j=j+4|0;i=a+(N(h,f)|0)|0;k=i;l=c[k>>2]|0;k=c[k+4>>2]|0;j=vF(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;j=vF(l,k,j,y)|0;c[i>>2]=j;c[i+4>>2]=y;h=h+1|0}return}function FF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=N((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=N((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;a=N((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function GF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function HF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(N(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<4096?q:0-q>>31&4095;p=p+16+l+((c+n|0)*20|0)+(N(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;o=o+16+j+((k+c|0)*20|0)+(N(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<4096?o:0-o>>31&4095;c=n+16+m+((l+k|0)*20|0)+(N(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function IF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(N(h,g)|0)|0;o=n;n=n+4|0;j=e+(h<<3)|0;m=j;j=j+4|0;i=a+(N(h,f)|0)|0;k=i;l=c[k>>2]|0;k=c[k+4>>2]|0;j=vF(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;j=vF(l,k,j,y)|0;c[i>>2]=j;c[i+4>>2]=y;h=h+1|0}return}function JF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=N((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=N((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;a=N((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function KF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function LF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(N(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<16384?q:0-q>>31&16383;p=p+16+l+((c+n|0)*20|0)+(N(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;o=o+16+j+((k+c|0)*20|0)+(N(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<16384?o:0-o>>31&16383;c=n+16+m+((l+k|0)*20|0)+(N(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function MF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(N(h,g)|0)|0;o=n;n=n+4|0;j=e+(h<<3)|0;m=j;j=j+4|0;i=a+(N(h,f)|0)|0;k=i;l=c[k>>2]|0;k=c[k+4>>2]|0;j=vF(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;j=vF(l,k,j,y)|0;c[i>>2]=j;c[i+4>>2]=y;h=h+1|0}return}function NF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=N((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=N((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=N((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[g>>1]|0)+o+(e[n>>1]|0);d=N((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;p=b[g+-16>>1]|0;f=b[g>>1]|0;c=b[g+16>>1]|0;o=b[g+32>>1]|0;m=b[g+48>>1]|0;l=b[g+64>>1]|0;n=b[g+80>>1]|0;k=b[g+96>>1]|0;q=(b[g+-32>>1]|0)+512+m+((c+f|0)*20|0)+(N(o+p|0,-5)|0)>>10;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+512+l+((o+c|0)*20|0)+(N(m+f|0,-5)|0)>>10;b[a+(i<<1)>>1]=p>>>0<512?p:0-p>>31&511;f=f+512+n+((m+o|0)*20|0)+(N(l+c|0,-5)|0)>>10;b[a+(d<<1)>>1]=f>>>0<512?f:0-f>>31&511;o=c+512+k+((l+m|0)*20|0)+(N(n+o|0,-5)|0)>>10;b[a+(j<<1)>>1]=o>>>0<512?o:0-o>>31&511;a=a+2|0;g=g+2|0;h=h+1|0}return}function OF(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=N((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=N((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=N((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=N((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;q=b[f+-8>>1]|0;e=b[f>>1]|0;k=b[f+8>>1]|0;p=b[f+16>>1]|0;n=b[f+24>>1]|0;m=b[f+32>>1]|0;o=b[f+40>>1]|0;l=b[f+48>>1]|0;r=(b[f+-16>>1]|0)+512+n+((k+e|0)*20|0)+(N(p+q|0,-5)|0)>>10;a[c>>0]=r>>>0>255?(r^-2147483648)>>31:r;q=q+512+m+((p+k|0)*20|0)+(N(n+e|0,-5)|0)>>10;a[c+g>>0]=q>>>0>255?(q^-2147483648)>>31:q;e=e+512+o+((n+p|0)*20|0)+(N(m+k|0,-5)|0)>>10;a[c+j>>0]=e>>>0>255?(e^-2147483648)>>31:e;p=k+512+l+((m+n|0)*20|0)+(N(o+p|0,-5)|0)>>10;a[c+h>>0]=p>>>0>255?(p^-2147483648)>>31:p;c=c+1|0;f=f+2|0;i=i+1|0}return}function PF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=N((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=N((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=N((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[g>>1]|0)+o+(e[n>>1]|0);d=N((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;r=b[g+-16>>1]|0;p=b[g>>1]|0;q=p+10230|0;c=b[g+16>>1]|0;f=c+10230|0;o=(b[g+32>>1]|0)+10230|0;m=(b[g+48>>1]|0)+10230|0;l=(b[g+64>>1]|0)+10230|0;n=(b[g+80>>1]|0)+10230|0;k=b[g+96>>1]|0;s=(b[g+-32>>1]|0)+10742+m+((f+q|0)*20|0)+(N(o+(r+10230)|0,-5)|0)>>10;b[a>>1]=s>>>0<1024?s:0-s>>31&1023;q=r+10742+l+((o+f|0)*20|0)+(N(m+q|0,-5)|0)>>10;b[a+(i<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;f=p+10742+n+((m+o|0)*20|0)+(N(l+f|0,-5)|0)>>10;b[a+(d<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;o=c+20972+k+((l+m|0)*20|0)+(N(n+o|0,-5)|0)>>10;b[a+(j<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;a=a+2|0;g=g+2|0;h=h+1|0}return}function QF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=N(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=N(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=N(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=N(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;g=c[h+-32>>2]|0;d=c[h>>2]|0;l=c[h+32>>2]|0;q=c[h+64>>2]|0;o=c[h+96>>2]|0;n=c[h+128>>2]|0;p=c[h+160>>2]|0;m=c[h+192>>2]|0;r=(c[h+-64>>2]|0)+512+o+((l+d|0)*20|0)+(N(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<4096?r:0-r>>31&4095;g=g+512+n+((q+l|0)*20|0)+(N(o+d|0,-5)|0)>>10;b[a+(j<<1)>>1]=g>>>0<4096?g:0-g>>31&4095;d=d+512+p+((o+q|0)*20|0)+(N(n+l|0,-5)|0)>>10;b[a+(f<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;q=l+512+m+((n+o|0)*20|0)+(N(p+q|0,-5)|0)>>10;b[a+(k<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;a=a+2|0;h=h+4|0;i=i+1|0}return}function RF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=N(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=N(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=N(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=N(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;g=c[h+-32>>2]|0;d=c[h>>2]|0;l=c[h+32>>2]|0;q=c[h+64>>2]|0;o=c[h+96>>2]|0;n=c[h+128>>2]|0;p=c[h+160>>2]|0;m=c[h+192>>2]|0;r=(c[h+-64>>2]|0)+512+o+((l+d|0)*20|0)+(N(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<16384?r:0-r>>31&16383;g=g+512+n+((q+l|0)*20|0)+(N(o+d|0,-5)|0)>>10;b[a+(j<<1)>>1]=g>>>0<16384?g:0-g>>31&16383;d=d+512+p+((o+q|0)*20|0)+(N(n+l|0,-5)|0)>>10;b[a+(f<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;q=l+512+m+((n+o|0)*20|0)+(N(p+q|0,-5)|0)>>10;b[a+(k<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;a=a+2|0;h=h+4|0;i=i+1|0}return}function SF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=N((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=N((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=N((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[g>>1]|0)+o+(e[n>>1]|0);d=N((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;q=b[g+-16>>1]|0;p=b[g>>1]|0;f=b[g+16>>1]|0;n=b[g+32>>1]|0;l=b[g+48>>1]|0;k=b[g+64>>1]|0;m=b[g+80>>1]|0;c=b[g+96>>1]|0;o=(b[g+-32>>1]|0)+512+l+((f+p|0)*20|0)+(N(n+q|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<512?o:0-o>>31&511)|0)>>>1;o=a+(i<<1)|0;q=q+512+k+((n+f|0)*20|0)+(N(l+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;o=a+(d<<1)|0;p=p+512+m+((l+n|0)*20|0)+(N(k+f|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;o=a+(j<<1)|0;n=f+512+c+((k+l|0)*20|0)+(N(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=a+2|0;g=g+2|0;h=h+1|0}return}function TF(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=N((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=N((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=N((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=N((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;r=b[f+-8>>1]|0;q=b[f>>1]|0;e=b[f+8>>1]|0;o=b[f+16>>1]|0;m=b[f+24>>1]|0;l=b[f+32>>1]|0;n=b[f+40>>1]|0;k=b[f+48>>1]|0;p=(b[f+-16>>1]|0)+512+m+((e+q|0)*20|0)+(N(o+r|0,-5)|0)>>10;a[c>>0]=((d[c>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;p=c+g|0;r=r+512+l+((o+e|0)*20|0)+(N(m+q|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((r>>>0>255?(r^-2147483648)>>31:r)&255)|0)>>>1;p=c+j|0;q=q+512+n+((m+o|0)*20|0)+(N(l+e|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;p=c+h|0;o=e+512+k+((l+m|0)*20|0)+(N(n+o|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((o>>>0>255?(o^-2147483648)>>31:o)&255)|0)>>>1;c=c+1|0;f=f+2|0;i=i+1|0}return}function UF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=N((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=N((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=N((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[g>>1]|0)+o+(e[n>>1]|0);d=N((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;s=b[g+-16>>1]|0;q=b[g>>1]|0;r=q+10230|0;f=b[g+16>>1]|0;p=f+10230|0;n=(b[g+32>>1]|0)+10230|0;l=(b[g+48>>1]|0)+10230|0;k=(b[g+64>>1]|0)+10230|0;m=(b[g+80>>1]|0)+10230|0;c=b[g+96>>1]|0;o=(b[g+-32>>1]|0)+10742+l+((p+r|0)*20|0)+(N(n+(s+10230)|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<1024?o:0-o>>31&1023)|0)>>>1;o=a+(i<<1)|0;r=s+10742+k+((n+p|0)*20|0)+(N(l+r|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(r>>>0<1024?r:0-r>>31&1023)|0)>>>1;o=a+(d<<1)|0;p=q+10742+m+((l+n|0)*20|0)+(N(k+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;o=a+(j<<1)|0;n=f+20972+c+((k+l|0)*20|0)+(N(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=a+2|0;g=g+2|0;h=h+1|0}return}function VF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=N(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=N(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=N(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=N(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;r=c[h+-32>>2]|0;g=c[h>>2]|0;d=c[h+32>>2]|0;p=c[h+64>>2]|0;n=c[h+96>>2]|0;m=c[h+128>>2]|0;o=c[h+160>>2]|0;l=c[h+192>>2]|0;q=(c[h+-64>>2]|0)+512+n+((d+g|0)*20|0)+(N(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;q=a+(j<<1)|0;r=r+512+m+((p+d|0)*20|0)+(N(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<4096?r:0-r>>31&4095)|0)>>>1;q=a+(f<<1)|0;g=g+512+o+((n+p|0)*20|0)+(N(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<4096?g:0-g>>31&4095)|0)>>>1;q=a+(k<<1)|0;p=d+512+l+((m+n|0)*20|0)+(N(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;a=a+2|0;h=h+4|0;i=i+1|0}return}function WF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=N(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=N(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=N(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=N(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;r=c[h+-32>>2]|0;g=c[h>>2]|0;d=c[h+32>>2]|0;p=c[h+64>>2]|0;n=c[h+96>>2]|0;m=c[h+128>>2]|0;o=c[h+160>>2]|0;l=c[h+192>>2]|0;q=(c[h+-64>>2]|0)+512+n+((d+g|0)*20|0)+(N(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;q=a+(j<<1)|0;r=r+512+m+((p+d|0)*20|0)+(N(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<16384?r:0-r>>31&16383)|0)>>>1;q=a+(f<<1)|0;g=g+512+o+((n+p|0)*20|0)+(N(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<16384?g:0-g>>31&16383)|0)>>>1;q=a+(k<<1)|0;p=d+512+l+((m+n|0)*20|0)+(N(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;a=a+2|0;h=h+4|0;i=i+1|0}return}function XF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(N(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(N(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(N(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(N(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<512?j:0-j>>31&511)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function YF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;q=d[c+-4>>0]|0;p=d[c>>0]|0;o=d[c+4>>0]|0;j=d[c+8>>0]|0;l=d[c+12>>0]|0;m=d[c+16>>0]|0;k=d[c+20>>0]|0;n=d[c+24>>0]|0;i=(d[c+-8>>0]|0)+16+l+((o+p|0)*20|0)+(N(j+q|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;i=b+e|0;q=q+16+m+((j+o|0)*20|0)+(N(l+p|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;i=b+g|0;p=p+16+k+((l+j|0)*20|0)+(N(m+o|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;i=b+h|0;j=o+16+n+((m+l|0)*20|0)+(N(k+j|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((j>>>0>255?(j^-2147483648)>>31:j)&255)|0)>>>1;f=f+1|0;b=b+1|0;c=c+1|0}return}function ZF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(N(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(N(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<1024?q:0-q>>31&1023)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(N(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(N(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<1024?j:0-j>>31&1023)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function _F(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(N(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(N(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(N(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(N(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<4096?j:0-j>>31&4095)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function $F(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(N(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(N(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(N(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(N(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<16384?j:0-j>>31&16383)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function aG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=N((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=N((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;i=N((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function bG(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==4)break;j=c+1|0;m=c+-1|0;i=c+2|0;h=N((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+3|0;h=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[k>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=N((d[k>>0]|0)+(d[c>>0]|0)|0,-5)|0;l=c+4|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=N((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+5|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;i=N((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+6>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function cG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=N((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=N((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;i=N((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function dG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=N((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=N((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;i=N((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function eG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=N((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=N((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;i=N((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function fG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;i=a;h=b;g=h;h=h+4|0;h=vF(c[i>>2]|0,c[i+4>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)|0;g=a;c[g>>2]=h;c[g+4>>2]=y;f=f+1|0;a=a+e|0;b=b+e|0}return}function gG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=AF(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;f=f+1|0;a=a+e|0;b=b+e|0}return}function hG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;i=a;h=b;g=h;h=h+4|0;h=vF(c[i>>2]|0,c[i+4>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)|0;g=a;c[g>>2]=h;c[g+4>>2]=y;f=f+1|0;a=a+e|0;b=b+e|0}return}function iG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;i=a;h=b;g=h;h=h+4|0;h=vF(c[i>>2]|0,c[i+4>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)|0;g=a;c[g>>2]=h;c[g+4>>2]=y;f=f+1|0;a=a+e|0;b=b+e|0}return}function jG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;i=a;h=b;g=h;h=h+4|0;h=vF(c[i>>2]|0,c[i+4>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)|0;g=a;c[g>>2]=h;c[g+4>>2]=y;f=f+1|0;a=a+e|0;b=b+e|0}return}function kG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=N((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=N((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;m=N((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<512?m:0-m>>31&511;m=N((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<512?m:0-m>>31&511;m=N((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<512?m:0-m>>31&511;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<512?m:0-m>>31&511;a=N((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function lG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function mG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=d>>1;u=f>>1;v=N(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;J=e[d+(w<<1)>>1]|0;I=e[d>>1]|0;H=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;K=(e[d+(v<<1)>>1]|0)+16+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>5;b[f>>1]=K>>>0<512?K:0-K>>31&511;J=J+16+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>5;b[f+(z<<1)>>1]=J>>>0<512?J:0-J>>31&511;I=I+16+D+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>5;b[f+(o<<1)>>1]=I>>>0<512?I:0-I>>31&511;H=H+16+c+((E+F|0)*20|0)+(N(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=H>>>0<512?H:0-H>>31&511;G=G+16+A+((D+E|0)*20|0)+(N(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<512?G:0-G>>31&511;F=F+16+B+((c+D|0)*20|0)+(N(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<512?F:0-F>>31&511;E=E+16+a+((A+c|0)*20|0)+(N(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+16+C+((B+A|0)*20|0)+(N(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<512?c:0-c>>31&511;g=g+1|0;f=f+2|0;d=d+2|0}return}function nG(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=N(j,g)|0;s=b+p|0;t=s;s=s+4|0;l=N(j,h)|0;o=e+l|0;r=o;o=o+4|0;k=N(j,f)|0;q=a+k|0;m=q;n=c[m>>2]|0;m=c[m+4>>2]|0;o=vF(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0;o=vF(n,m,o,y)|0;c[q>>2]=o;c[q+4>>2]=y;p=b+(p+8)|0;q=p;p=p+4|0;l=e+(l+8)|0;o=l;l=l+4|0;k=a+(k+8)|0;m=k;n=c[m>>2]|0;m=c[m+4>>2]|0;l=vF(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=vF(n,m,l,y)|0;c[k>>2]=l;c[k+4>>2]=y;j=j+1|0}return}function oG(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==8)break;j=c+1|0;i=c+-1|0;k=c+2|0;m=N((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+3|0;m=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[l>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N((d[l>>0]|0)+(d[c>>0]|0)|0,-5)|0;n=c+4|0;m=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+m+(d[n>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N((d[n>>0]|0)+(d[j>>0]|0)|0,-5)|0;i=c+5|0;m=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[i>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N((d[i>>0]|0)+(d[k>>0]|0)|0,-5)|0;h=c+6|0;m=(((d[n>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+m+(d[h>>0]|0)>>5;a[b+3>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+7|0;m=(((d[i>>0]|0)+(d[n>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+m+(d[j>>0]|0)>>5;a[b+4>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N((d[j>>0]|0)+(d[n>>0]|0)|0,-5)|0;k=c+8|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+5>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+9|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[n>>0]|0)+m+(d[l>>0]|0)>>5;a[b+6>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=N((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+10>>0]|0)>>5;a[b+7>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function pG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==13)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+8|0;c=c+e|0}return}function qG(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;s=N(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;J=d[c+t>>0]|0;I=d[c>>0]|0;H=d[c+f>>0]|0;G=d[c+u>>0]|0;F=d[c+v>>0]|0;E=d[c+w>>0]|0;D=d[c+x>>0]|0;y=d[c+h>>0]|0;A=d[c+i>>0]|0;B=d[c+j>>0]|0;z=d[c+k>>0]|0;C=d[c+l>>0]|0;K=(d[c+s>>0]|0)+16+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>5;a[b>>0]=K>>>0>255?(K^-2147483648)>>31:K;J=J+16+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>5;a[b+e>>0]=J>>>0>255?(J^-2147483648)>>31:J;I=I+16+D+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>5;a[b+m>>0]=I>>>0>255?(I^-2147483648)>>31:I;H=H+16+y+((E+F|0)*20|0)+(N(D+G|0,-5)|0)>>5;a[b+n>>0]=H>>>0>255?(H^-2147483648)>>31:H;G=G+16+A+((D+E|0)*20|0)+(N(y+F|0,-5)|0)>>5;a[b+o>>0]=G>>>0>255?(G^-2147483648)>>31:G;F=F+16+B+((y+D|0)*20|0)+(N(A+E|0,-5)|0)>>5;a[b+p>>0]=F>>>0>255?(F^-2147483648)>>31:F;E=E+16+z+((A+y|0)*20|0)+(N(B+D|0,-5)|0)>>5;a[b+q>>0]=E>>>0>255?(E^-2147483648)>>31:E;y=D+16+C+((B+A|0)*20|0)+(N(z+y|0,-5)|0)>>5;a[b+r>>0]=y>>>0>255?(y^-2147483648)>>31:y;g=g+1|0;b=b+1|0;c=c+1|0}return}function rG(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=0;while(1){if((j|0)>=(i|0))break;m=N(j,g)|0;p=b+m|0;l=N(j,h)|0;o=e+l|0;k=N(j,f)|0;n=a+k|0;q=c[n>>2]|0;c[n>>2]=AF(q,AF(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0)|0;m=b+(m+4)|0;l=e+(l+4)|0;k=a+(k+4)|0;n=c[k>>2]|0;c[k>>2]=AF(n,AF(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0)|0;j=j+1|0}return}
function BM(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function CM(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<2;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==4)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function DM(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=0;while(1){if((h|0)==4)break;q=a[g+h>>0]|0;p=q<<24>>24;a:do if(q<<24>>24>=1){q=0-p|0;i=0;j=b;while(1){if((i|0)==1)break a;k=j+-1|0;l=d[k>>0]|0;m=d[j+-2>>0]|0;n=d[j>>0]|0;o=d[j+1>>0]|0;r=l-n|0;if(((((r|0)>-1?r:0-r|0)|0)<(e|0)?(r=m-l|0,(((r|0)>-1?r:0-r|0)|0)<(f|0)):0)?(r=o-n|0,(((r|0)>-1?r:0-r|0)|0)<(f|0)):0){r=m+4-o+(n-l<<2)>>3;r=(r|0)<(q|0)?q:(r|0)>(p|0)?p:r;o=r+l|0;a[k>>0]=o>>>0>255?(o^-2147483648)>>31:o;r=n-r|0;a[j>>0]=r>>>0>255?(r^-2147483648)>>31:r}i=i+1|0;j=j+c|0}}while(0);b=b+c|0;h=h+1|0}return}function EM(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function FM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=0-c|0;n=N(c,-2)|0;l=0;while(1){if((l|0)==8)break;j=b+m|0;k=d[j>>0]|0;g=d[b+n>>0]|0;h=d[b>>0]|0;i=d[b+c>>0]|0;o=k-h|0;if(((((o|0)>-1?o:0-o|0)|0)<(e|0)?(o=g-k|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0)?(o=i-h|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0){a[j>>0]=(k+2+(g<<1)+i|0)>>>2;a[b>>0]=(g+2+h+(i<<1)|0)>>>2}l=l+1|0;b=b+1|0}return}function GM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function HM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==16)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function IM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==4)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function JM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function KM(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(c|0))break;if(!(a[b+d>>0]|0))break;d=d+1|0}return d|0}function LM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!((b|0)==0&(c|0)==0)){if(!((e|0)==0&(f|0)==0)){l=UW(0,0,b|0,c|0)|0;l=ZW(l&b|0,y&c|0,-862635923,36691299)|0;l=bX(l|0,y|0,58)|0;l=a[146529+l>>0]|0;g=l&255;j=UW(0,0,e|0,f|0)|0;j=ZW(j&e|0,y&f|0,-862635923,36691299)|0;j=bX(j|0,y|0,58)|0;j=a[146529+j>>0]|0;h=j&255;i=g>>>0>h>>>0;l=aX(b|0,c|0,l&255|0)|0;k=y;m=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;b=UW(0,0,l|0,k|0)|0;k=m?k:y;f=aX(e|0,f|0,j&255|0)|0;e=y;j=(e|0)>-1|(e|0)==-1&f>>>0>4294967295;c=UW(0,0,f|0,e|0)|0;b=m?l:b;c=j?f:c;f=k;e=j?e:y;while(1){if((b|0)==(c|0)&(f|0)==(e|0))break;n=(f|0)>(e|0)|(f|0)==(e|0)&b>>>0>c>>>0;k=n?c:b;m=n?e:f;n=UW((n?b:c)|0,(n?f:e)|0,k|0,m|0)|0;j=y;l=UW(0,0,n|0,j|0)|0;l=ZW(n&l|0,j&y|0,-862635923,36691299)|0;l=bX(l|0,y|0,58)|0;l=aX(n|0,j|0,d[146529+l>>0]|0|0)|0;b=k;c=l;f=m;e=y}b=cX(b|0,f|0,(i?h:g)|0)|0;c=y}}else{c=f;b=e}y=c;return b|0}function MM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=h;f=c[(c[a+28>>2]|0)+20>>2]|0;do if(((c[a+696>>2]&1|0)!=0?(c[a+700>>2]|0)==0:0)?(c[a+120>>2]|0)!=9:0){e=f+300|0;if((c[e>>2]|0)!=1){Uf(a,16,146731,d);a=-1;break}d=f+184|0;kX(d|0)|0;c[f+324>>2]=b;c[e>>2]=3;a=f+60|0;jX(a|0)|0;while(1){if((c[e>>2]|0)==1)break;wc(a|0,d|0)|0}a=c[f+328>>2]|0;lX(d|0)|0}else g=4;while(0);if((g|0)==4)a=OM(a,b)|0;l=h;return a|0}function NM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[a+880>>2]|0;a:do if((d|0)!=0?(i=c[(c[a+12>>2]|0)+124>>2]|0,(i|0)!=0):0){g=(c[d+4>>2]|0)+8|0;f=0;while(1){h=c[i+(f<<2)>>2]|0;if(!h){d=0;j=11;break a}b:do if(c[h+4>>2]&1|0?(c[g>>2]|0)==(c[h+8>>2]|0):0){e=0;while(1){d=c[b+(e<<2)>>2]|0;if((d|0)==-1)break b;if((c[h>>2]|0)==(d|0))break a;else e=e+1|0}}while(0);f=f+1|0}}else{d=0;j=11}while(0);c:do if((j|0)==11){while(1)if((c[b+(d<<2)>>2]|0)==-1)break;else{d=d+1|0;j=11}d=b+(d+-1<<2)|0;j=c[(nh(c[d>>2]|0)|0)+8>>2]|0;if((j&8|0)==0&0==0){d=c[d>>2]|0;break}g=a+12|0;f=0;d:while(1){h=b+(f<<2)|0;if((c[h>>2]|0)==-1){d=-1;break c}else e=0;while(1){i=RM(c[g>>2]|0,e)|0;if(!i)break d;d=c[i>>2]|0;if((d|0)==(c[h>>2]|0))break;else e=e+1|0}if(!(c[i+4>>2]&4))f=f+1|0;else break c}d=c[h>>2]|0}while(0);return d|0}function OM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;if((l|0)>=(m|0))W(80);v=B+72|0;u=B+64|0;t=B+56|0;s=B+48|0;r=B+40|0;y=B+32|0;x=B+24|0;w=B+16|0;d=B;z=B+76|0;f=0;while(1){e=f+1|0;if((c[b+(f<<2)>>2]|0)==-1)break;else f=e}if((f|0)<=0){c[d>>2]=146793;c[d+4>>2]=124617;c[d+8>>2]=1310;Uf(0,0,159675,d);Ub()}d=b+(f+-1<<2)|0;o=c[(nh(c[d>>2]|0)|0)+8>>2]|0;if((o&8|0)==0&0==0)c[a+768>>2]=c[d>>2];d=Jh(e,4)|0;c[z>>2]=d;if(!d)d=-1;else{gX(d|0,b|0,e<<2|0)|0;j=a+120|0;k=a+12|0;n=a+880|0;o=a+860|0;i=d;a:while(1){PM(a);d=Ld[c[j>>2]&15](a,i)|0;if((d|0)==-1){d=-1;break}h=nh(d)|0;if(!h){A=11;break}c[x>>2]=c[h>>2];Uf(a,48,146851,x);b=0;while(1){if((b|0)>=(f|0))break;if((c[i+(b<<2)>>2]|0)==(d|0))break;b=b+1|0}if((b|0)==(f|0)){A=17;break}e=c[(c[k>>2]|0)+124>>2]|0;if(!e)break;else b=0;while(1){g=c[e+(b<<2)>>2]|0;if(!g)break a;if((c[g>>2]|0)==(d|0))break;else b=b+1|0}b=c[g+4>>2]|0;if((b&2|0)!=0?(p=c[o>>2]|0,(p|0)!=0):0)if((c[(c[p+4>>2]|0)+36>>2]|0)==(d|0))A=31;else{c[r>>2]=c[h>>2];Uf(a,16,146946,r)}else A=25;do if((A|0)==25){A=0;if(b&1|0?(q=c[n>>2]|0,q|0):0){if((c[(c[q+4>>2]|0)+8>>2]|0)==(c[g+8>>2]|0)){A=31;break}c[s>>2]=c[h>>2];Uf(a,16,147034,s);break}if(!(b&12)){c[t>>2]=c[h>>2];Uf(a,16,147120,t)}else A=31}while(0);if((A|0)==31){A=0;if(!(c[g+12>>2]|0))break;c[u>>2]=c[h>>2];Uf(a,48,147173,u);if((QM(a,g)|0)>=0)break}c[v>>2]=c[h>>2];Uf(a,48,147217,v);b=0;while(1){if((b|0)>=(f|0)){d=b;break}if((c[i+(b<<2)>>2]|0)==(d|0)){d=b;break}b=b+1|0}while(1){b=d+1|0;if((b|0)>=(f|0))break;i=c[z>>2]|0;c[i+(d<<2)>>2]=c[i+(b<<2)>>2];d=b}f=f+-1|0;i=c[z>>2]|0}if((A|0)==11){Uf(a,16,146800,w);d=-1}else if((A|0)==17){c[y>>2]=c[h>>2];Uf(a,16,146886,y);d=0}Qf(z)}l=B;return d|0}function PM(a){a=a|0;var b=0,d=0,e=0;b=a+592|0;d=c[b>>2]|0;if(d|0?(e=c[d+52>>2]|0,e|0):0)Kd[e&31](a)|0;Qf((c[a+28>>2]|0)+60|0);c[b>>2]=0;zg(a+860|0);return}function QM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i+8|0;e=i;g=c[b+12>>2]|0;if((c[g+16>>2]&512|0)!=0?(c[a+568>>2]|0)>-2:0){c[e>>2]=c[g>>2];Uf(a,24,147274,e);d=-1163346256}else f=4;do if((f|0)==4){e=c[g+56>>2]|0;if(e|0?(f=Lg(e)|0,c[(c[a+28>>2]|0)+60>>2]=f,(f|0)==0):0){d=-12;break}f=a+592|0;c[f>>2]=g;e=c[g+48>>2]|0;if((e|0)!=0?(d=Kd[e&31](a)|0,(d|0)<0):0){c[h>>2]=oh(c[b>>2]|0)|0;Uf(a,16,147309,h);Qf((c[a+28>>2]|0)+60|0);c[f>>2]=0}else d=0}while(0);l=i;return d|0}function RM(a,b){a=a|0;b=b|0;var d=0;d=c[a+124>>2]|0;a:do if((b|0)<0|(d|0)==0)a=0;else{a=0;while(1){if((a|0)>(b|0))break;if(!(c[d+(a<<2)>>2]|0)){a=0;break a}else a=a+1|0}a=c[d+(b<<2)>>2]|0}while(0);return a|0}function SM(a){a=a|0;var b=0,c=0,e=0;e=mN(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[116064+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;nN(a,b);return (oN(a,b+1|0)|0)+-1|0}function TM(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[122033+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[122545+a>>0]|0|0}function UM(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[116064+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){Uf(0,16,151423,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[122033+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[122545+a>>0]|0}while(0);l=i;return a|0}function VM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function WM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function XM(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(eX(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[122033+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[123057+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[116064+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(eX(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function YM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=o;c[b>>2]=c[e+20>>2];j=b+4|0;c[j>>2]=c[e+24>>2];do if((f|0)!=1){i=(g|0)==3?15:31;if(kN(d)|0){c[b>>2]=(jN(d)|0)+1;if((f|0)==3)e=(jN(d)|0)+1|0;else e=1;c[j>>2]=e}g=(c[b>>2]|0)+-1|0;e=c[j>>2]|0;if(g>>>0>i>>>0|(e+-1|0)>>>0>i>>>0){c[k>>2]=g;c[k+4>>2]=i;c[k+8>>2]=e+-1;c[k+12>>2]=i;Uf(h,16,147940,k);c[a>>2]=0;c[b>>2]=0;c[j>>2]=0;e=-1094995529;break}else{e=(f|0)==3?2:1;n=9;break}}else{c[j>>2]=0;c[b>>2]=0;e=0;n=9}while(0);if((n|0)==9){c[a>>2]=e;e=0}l=o;return e|0}function ZM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;if((l|0)>=(m|0))W(16);o=q+8|0;n=q;c[b+27768>>2]=0;c[b+27772>>2]=0;j=b+23412|0;k=b+4|0;f=0;a:while(1){if(f>>>0>=(c[j>>2]|0)>>>0){e=0;break}b:do if(bN(k)|0){g=b+23404+(f<<2)|0;h=b+27768+(f<<2)|0;e=0;while(1){i=cN(k)|0;if((i|0)==3)break b;if(e>>>0>=(c[g>>2]|0)>>>0){p=7;break a}if(i>>>0>2){p=9;break a}c[b+27256+(f<<8)+(e<<3)+4>>2]=dN(k)|0;a[b+27256+(f<<8)+(e<<3)>>0]=i;c[h>>2]=(c[h>>2]|0)+1;e=e+1|0}}while(0);f=f+1|0}if((p|0)==7){Uf(d,16,147873,n);e=-1094995529}else if((p|0)==9){c[o>>2]=i;Uf(d,16,147899,o);e=-1094995529}l=q;return e|0}function _M(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+32|0;if((l|0)>=(m|0))W(32);z=B+16|0;n=B+8|0;k=B;c[f>>2]=0;y=f+4|0;c[y>>2]=0;i=jN(a)|0;j=f+8|0;c[j>>2]=i;if(i>>>0>7){c[k>>2]=i;Uf(h,16,147764,k);c[j>>2]=0;i=0}v=1<<i;u=b+12|0;if(!(c[u>>2]|0))t=0;else{i=jN(a)|0;j=f+12|0;c[j>>2]=i;if(i>>>0>7){c[n>>2]=i;Uf(h,16,147807,n);c[j>>2]=0;i=0}t=1<<i}s=(g|0)==3;o=(e|0)==3;g=0;a:while(1){if((g|0)>=2){A=35;break}p=f+16+(g<<2)|0;c[p>>2]=0;q=f+24+(g<<2)|0;c[q>>2]=0;r=d+(g<<2)|0;e=0;while(1){if((e|0)>=(c[r>>2]|0))break;if(kN(a)|0){j=f+32+(e<<4)+(g<<3)|0;c[j>>2]=lN(a)|0;i=lN(a)|0;c[f+32+(e<<4)+(g<<3)+4>>2]=i;j=c[j>>2]|0;if((j<<24>>24|0)!=(j|0)){A=38;break a}if((i<<24>>24|0)!=(i|0)){A=38;break a}if(!((i|0)==0&(j|0)==(v|0))){c[f>>2]=1;i=1;j=p;A=17}}else{c[f+32+(e<<4)+(g<<3)>>2]=v;i=0;j=f+32+(e<<4)+(g<<3)+4|0;A=17}if((A|0)==17){A=0;c[j>>2]=i}b:do if(c[u>>2]|0){if(!(kN(a)|0)){i=0;while(1){if((i|0)==2)break b;c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]=t;c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]=0;i=i+1|0}}else i=0;while(1){if((i|0)>=2)break b;j=f+800+(e<<5)+(g<<4)+(i<<3)|0;c[j>>2]=lN(a)|0;k=lN(a)|0;b=f+800+(e<<5)+(g<<4)+(i<<3)+4|0;c[b>>2]=k;n=c[j>>2]|0;if((n<<24>>24|0)!=(n|0)){A=26;break a}if((k<<24>>24|0)!=(k|0)){A=26;break a}if(!((k|0)==0&(n|0)==(t|0))){c[y>>2]=1;c[q>>2]=1}i=i+1|0}}while(0);c:do if(s?(n=c[f+32+(e<<4)+(g<<3)>>2]|0,x=e<<1,w=x+16|0,x=x+17|0,c[f+32+(x<<4)+(g<<3)>>2]=n,c[f+32+(w<<4)+(g<<3)>>2]=n,n=c[f+32+(e<<4)+(g<<3)+4>>2]|0,c[f+32+(x<<4)+(g<<3)+4>>2]=n,c[f+32+(w<<4)+(g<<3)+4>>2]=n,c[u>>2]|0):0){i=0;while(1){if((i|0)==2)break c;n=c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]|0;c[f+800+(x<<5)+(g<<4)+(i<<3)>>2]=n;c[f+800+(w<<5)+(g<<4)+(i<<3)>>2]=n;n=c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]|0;c[f+800+(x<<5)+(g<<4)+(i<<3)+4>>2]=n;c[f+800+(w<<5)+(g<<4)+(i<<3)+4>>2]=n;i=i+1|0}}while(0);e=e+1|0}if(o)g=g+1|0;else{A=35;break}}if((A|0)==26){c[j>>2]=t;c[b>>2]=0;A=38}else if((A|0)==35){if(!(c[f>>2]|0))i=(c[y>>2]|0)!=0&1;else i=1;c[f>>2]=i;i=0}if((A|0)==38){Li(h,147852,z);i=-1094995529}l=B;return i|0}function $M(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=p+8|0;o=p;a:do if((c[d+44>>2]|0)!=5){k=bN(b)|0;c[a+34728>>2]=k;if(k){f=a+34752|0;g=a+34756|0;h=a+21824|0;d=0;b:while(1){if((d|0)>=66){f=21;break a}k=cN(b)|0;c[a+33932+(d*12|0)>>2]=k;if((k|2|0)==3){j=c[f>>2]|0;j=j+-1-(dN(b)|0)|0;c[a+33932+(d*12|0)+4>>2]=j&(c[g>>2]|0)+-1}i=(k|0)==2;switch(k|0){case 2:case 3:case 4:case 6:{j=cN(b)|0;if(j>>>0>31){d=k;f=16;break b}if(!(j>>>0<16|(k|0)==4&(j|0)==16)){if(!i){d=k;f=16;break b}if((c[h>>2]|0)==3){d=2;f=16;break b}}c[a+33932+(d*12|0)+8>>2]=j;break}default:{if(k>>>0>6){f=18;break b}if(!k){f=21;break a}}}d=d+1|0}if((f|0)==16){c[o>>2]=d;Uf(e,16,147704,o);d=-1;break}else if((f|0)==18){c[n>>2]=k;Uf(e,16,151013,n);d=-1;break}}else{d=0;f=21}}else{aN(b);if(!(bN(b)|0))d=0;else{c[a+33932>>2]=6;c[a+33940>>2]=0;d=1}c[a+34728>>2]=1;f=21}while(0);if((f|0)==21){c[a+34724>>2]=d;d=0}l=p;return d|0}function aN(a){a=a|0;iN(a);return}function bN(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function cN(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[122033+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[122545+a>>0]|0|0}function dN(a){a=a|0;var b=0,c=0,e=0;e=eN(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[116064+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;fN(a,b);return (gN(a,b+1|0)|0)+-1|0}function eN(a){a=a|0;var b=0,d=0;b=l;l=l+32|0;if((l|0)>=(m|0))W(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=gN(d,32)|0;l=b;return a|0}function fN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function gN(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=hN(a,b)|0;break}else{b=b+-16|0;c=(hN(a,16)|0)<<b;a=c|(hN(a,b)|0);break}else a=0;while(0);return a|0}function hN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function iN(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function jN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[116064+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){Uf(0,16,151423,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[122033+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[122545+a>>0]|0}while(0);l=i;return a|0}function kN(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function lN(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(eX(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[122033+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[123057+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[116064+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(eX(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function mN(a){a=a|0;var b=0,d=0;b=l;l=l+32|0;if((l|0)>=(m|0))W(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=oN(d,32)|0;l=b;return a|0}function nN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function oN(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=VM(a,b)|0;break}else{b=b+-16|0;c=(VM(a,16)|0)<<b;a=c|(VM(a,b)|0);break}else a=0;while(0);return a|0}function pN(a){a=a|0;var b=0,c=0,e=0;e=qN(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[116064+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;rN(a,b);return (sN(a,b+1|0)|0)+-1|0}function qN(a){a=a|0;var b=0,d=0;b=l;l=l+32|0;if((l|0)>=(m|0))W(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=sN(d,32)|0;l=b;return a|0}function rN(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function sN(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=tN(a,b)|0;break}else{b=b+-16|0;c=(tN(a,16)|0)<<b;a=c|(tN(a,b)|0);break}else a=0;while(0);return a|0}function tN(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function uN(b,d,e){b=b|0;d=d|0;e=e|0;if(e>>>0<=4294967231){if(!(JN(b,d,e+64|0)|0)){b=(c[b>>2]|0)+e|0;d=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0))}}else{Qf(b);c[d>>2]=0}return}function vN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=n;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;o=i+1|0;c[f>>2]=o;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=o}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;Uf(g,16,151061,k);h=-1094995529}}else h=-11;l=n;return h|0}function wN(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;if((b+3|0)>>>0<c>>>0){d=0;while(1){f=b+d|0;if((f+3|0)>>>0>=c>>>0)break;e=d+1|0;if(a[f>>0]|0){d=e;continue}if(a[b+e>>0]|0){d=e;continue}if((a[b+(d+2)>>0]|0)==1)break;else d=e}d=d+3|0}else d=c-b|0;return d|0}function xN(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=0?(2147483647/(c>>>0)|0)>>>0>b>>>0:0)a=$f(a,N(c,b)|0)|0;else a=0;return a|0}function yN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;if((l|0)>=(m|0))W(16);t=x;s=f+52|0;c[s>>2]=0;h=0;while(1){if((h+1|0)>=(d|0))break;if(!(a[b+h>>0]|0)){i=h+-1|0;if((h|0)>0)h=(a[b+i>>0]|0)==0?i:h;i=h+2|0;if(((i|0)<(d|0)?(a[b+(h+1)>>0]|0)==0:0)?(j=a[b+i>>0]|0,(j&255)<4):0){v=9;break}}h=h+2|0}a:do if((v|0)==9){switch(j<<24>>24){case 0:case 3:break a;default:{}}d=h}while(0);b:do if((g|0)!=0&(h|0)>=(d+-1|0)){c[f+20>>2]=b;c[f+8>>2]=b;c[f+16>>2]=d;c[f+4>>2]=d}else{i=(h|0)>(d|0)?d:h;r=e+8|0;q=(c[e>>2]|0)+(c[r>>2]|0)|0;c[f>>2]=q;gX(q|0,b|0,i|0)|0;o=f+60|0;p=f+56|0;h=i;while(1){j=i+2|0;if((j|0)>=(d|0)){v=30;break}e=b+j|0;g=a[e>>0]|0;if((g&255)<=3){j=a[b+i>>0]|0;if(!(j<<24>>24))if(g<<24>>24==0?1:(a[b+(i+1)>>0]|0)!=0)j=0;else{if(g<<24>>24!=3){w=h;u=i;break}n=h+1|0;a[q+h>>0]=0;h=h+2|0;a[q+n>>0]=0;i=i+3|0;j=c[o>>2]|0;if(!j)continue;k=c[s>>2]|0;g=k+1|0;c[s>>2]=g;e=c[p>>2]|0;if((e|0)<=(k|0)){j=e<<1;c[p>>2]=j;if((j|0)<=(k|0)){v=24;break}GN(o,j,4)|0;j=c[o>>2]|0;if(!j){v=27;break}g=c[s>>2]|0}c[j+(g+-1<<2)>>2]=n;continue}}else{a[q+h>>0]=a[b+i>>0]|0;a[q+(h+1)>>0]=a[b+(i+1)>>0]|0;h=h+2|0;i=j;j=a[e>>0]|0}a[q+h>>0]=j;h=h+1|0;i=i+1|0}c:do if((v|0)==24){c[t>>2]=148441;c[t+4>>2]=148491;c[t+8>>2]=114;Uf(0,0,159675,t);Ub()}else if((v|0)==27){c[p>>2]=0;d=-12;break b}else if((v|0)==30)while(1){if((i|0)>=(d|0)){w=h;u=i;break c}a[q+h>>0]=a[b+i>>0]|0;h=h+1|0;i=i+1|0;v=30}while(0);d=q+w|0;h=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(h|0));c[f+8>>2]=q;c[f+4>>2]=w;c[f+20>>2]=b;c[f+16>>2]=u;c[r>>2]=(c[r>>2]|0)+u;d=u}while(0);l=x;return d|0}function zN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=(e|0)!=0;g=b+8|0;h=c[b+4>>2]|0;while(1){if(!(f&(h|0)>0)){b=4;break}b=h+-1|0;e=a[(c[g>>2]|0)+b>>0]|0;if(!(e<<24>>24))h=b;else{f=e;b=6;break}}if((b|0)==4)if(!h)e=0;else{f=a[(c[g>>2]|0)+(h+-1)>>0]|0;b=6}if((b|0)==6){b=f&255;if((h|0)<=268435455){e=h<<3;if(f<<24>>24)e=e+-1-(d[156818+((N(0-b&b,125613361)|0)>>>27)>>0]|0)|0}else e=-34}return e|0}function AN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function BN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;d=a+24|0;if((DN(d)|0)==0?(e=a+44|0,c[e>>2]=EN(d,6)|0,f=EN(d,6)|0,g=(EN(d,3)|0)+-1|0,c[a+48>>2]=g,(g|0)>=0):0){e=c[e>>2]|0;a=FN(e)|0;c[h>>2]=e;c[h+4>>2]=a;c[h+8>>2]=f;c[h+12>>2]=g;Uf(b,48,148193,h);a=(f|0)==0&1}else a=-1094995529;l=i;return a|0}function CN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f;d=a+24|0;if(!(DN(d)|0)){g=a+64|0;c[g>>2]=EN(d,2)|0;d=EN(d,5)|0;c[a+44>>2]=d;a=c[g>>2]|0;c[e>>2]=d;c[e+4>>2]=a;Uf(b,48,148157,e);a=1}else a=-1094995529;l=f;return a|0}function DN(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function EN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function FN(a){a=a|0;do switch(a|0){case 0:{a=148433;break}case 1:{a=148425;break}case 2:{a=148419;break}case 3:{a=148413;break}case 4:{a=148406;break}case 5:{a=148399;break}case 6:{a=148392;break}case 7:{a=148385;break}case 8:{a=148378;break}case 9:{a=148371;break}case 16:{a=148362;break}case 17:{a=148351;break}case 18:{a=148342;break}case 19:{a=148331;break}case 20:{a=148322;break}case 21:{a=148314;break}case 32:{a=148310;break}case 33:{a=148306;break}case 34:{a=148302;break}case 35:{a=148298;break}case 36:{a=148290;break}case 37:{a=148282;break}case 38:{a=148275;break}case 39:{a=148264;break}case 40:{a=148253;break}default:a=148251}while(0);return a|0}function GN(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=HN(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c,e)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;return ((e|0)!=0&((c|0)!=0&(f|0)==0)?-12:0)|0}function HN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;if(!((IN(d,b,f)|0)==0?(e=$f(a,c[f>>2]|0)|0,(e|0)!=0):0)){Rf(a);e=0}l=g;return e|0}function IN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=N(b,a)|0;if((a|0)!=0&(b|a)>>>0>65535?((e>>>0)/(a>>>0)|0|0)!=(b|0):0)a=-22;else{c[d>>2]=e;a=0}return a|0}function JN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;if((c[e>>2]|0)>>>0>=f>>>0)if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=148516;c[h+4>>2]=148533;c[h+8>>2]=33;Uf(0,0,159675,h);Ub()}else g=0;else{g=f+32+(f>>>4)|0;g=g>>>0>f>>>0?g:f;Qf(b);h=Lg(g)|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;c[e>>2]=(h|0)==0?0:g;g=1}l=i;return g|0}function KN(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;if((l|0)>=(m|0))W(48);n=u+24|0;j=u+8|0;s=u+36|0;do if((g&8|0)==0&(LN(b,e,f,1,h)|0)<0){Uf(h,24,148647,u);if((e|0)<=21801){i=e*3|0;k=((i|0)/2|0)+64|0;g=Lg(k)|0;c[s>>2]=g;if(!g)g=-12;else{if((e|0)<=-1){c[j>>2]=155203;c[j+4>>2]=155217;c[j+8>>2]=137;Uf(0,0,159675,j);Ub()}q=b+e|0;if((i|0)<=-130){c[n>>2]=155203;c[n+4>>2]=155217;c[n+8>>2]=147;Uf(0,0,159675,n);Ub()}p=g;o=g+k|0;g=p;i=b;e=0;a:while(1){k=o-g|0;n=(k|0)<1;while(1){j=q-i|0;if(!j)break a;b=i;if(j>>>0>2){if((j|0)<3)break;i=b+1|0;if(((d[i>>0]|0)<<8|(d[b>>0]|0)<<16|(d[b+2>>0]|0))>>>0<4)break}else i=b+1|0;if(!((e|0)!=0|n)){t=20;break}else e=1}if((t|0)==20){t=0;e=g;a[e>>0]=a[b>>0]|0;g=e+1|0;e=0;continue}if((e|0)==0?(r=g,(k|0)>2):0){a[r+2>>0]=3;a[r+1>>0]=0;a[r>>0]=0;g=r+3|0;e=0}else e=1;i=b+2|0}g=g-p|0;r=dX(g+65534&65535|0)|0;t=c[s>>2]|0;a[t>>0]=r;a[t+1>>0]=r>>8;LN(c[s>>2]|0,g,f,1,h)|0;Qf(s);g=0;break}}else g=-34}else g=0;while(0);l=u;return g|0}function LN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;if((l|0)>=(m|0))W(32);i=k;j=k+8|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;a=Gi(j,a,b,f,e,2,27,1)|0;a:do if((a|0)<0)a=0;else{h=j+16|0;g=0;while(1){if((g|0)>=(c[h>>2]|0))break a;b=c[j>>2]|0;e=c[b+(g*68|0)+44>>2]|0;switch(e|0){case 7:{a=Oi(b+(g*68|0)+24|0,f,d,0)|0;if((a|0)<0)break a;break}case 8:{a=Qi(b+(g*68|0)+24|0,f,d,c[b+(g*68|0)+12>>2]|0)|0;if((a|0)<0)break a;break}default:{c[i>>2]=e;Uf(f,40,155320,i)}}g=g+1|0}}while(0);mi(j);l=k;return a|0}function MN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[b+4>>2]=a;c[b+29592>>2]=-1;c[b+29664>>2]=c[a+92>>2];c[b+29668>>2]=c[a+96>>2];c[b+26380>>2]=3;c[b+25700>>2]=c[a+564>>2];c[b+25696>>2]=c[a+60>>2];c[b+28248>>2]=65536;c[b+29572>>2]=-1;c[b+29576>>2]=0;c[b+28264>>2]=-1;c[b+29860>>2]=-1;c[b+29712>>2]=-1;c[b+28744>>2]=-2147483648;d=0;while(1){if((d|0)==16)break;c[b+28676+(d<<2)>>2]=-2147483648;d=d+1|0}Tg(b+29676|0);c[a+332>>2]=1;if(!(c[a+696>>2]&2))d=1;else d=c[a+688>>2]|0;e=b+25632|0;c[e>>2]=d;a=hh(d,34768)|0;f=b+25628|0;c[f>>2]=a;a:do if(a){d=0;while(1){a=Ch()|0;if((d|0)>=36)break;c[b+696+(d*656|0)>>2]=a;if(!a){d=-12;break a}else d=d+1|0}c[b+24316>>2]=a;if((a|0)!=0?(a=Ch()|0,c[b+24972>>2]=a,(a|0)!=0):0){a=c[e>>2]|0;d=0;while(1){if((d|0)>=(a|0)){d=0;break a}c[(c[f>>2]|0)+(d*34768|0)>>2]=b;d=d+1|0}}else d=-12}else{c[e>>2]=0;d=-12}while(0);return d|0}function NN(){var a=0,b=0,d=0;if(!(c[45898]|0)){c[45898]=1;c[45729]=186300;c[45731]=256;ON(182912,8,20,148848,1,1,148868,1,1,0,0,0,4)|0;c[45733]=187324;c[45735]=8192;ON(182928,13,36,148888,1,1,148924,1,1,0,0,0,4)|0;a=0;b=0;while(1){if((b|0)==4){a=0;break}c[182944+(b<<4)+4>>2]=220092+(a<<2);d=c[104964+(b<<2)>>2]|0;c[182944+(b<<4)+12>>2]=d;ON(182944+(b<<4)|0,8,68,148960+(b*68|0)|0,1,1,149232+(b*68|0)|0,1,1,0,0,0,4)|0;a=d+a|0;b=b+1|0}while(1){if((a|0)==3){a=0;break}d=a+1|0;c[183008+(d<<4)+4>>2]=225644+(a<<5);c[183008+(d<<4)+12>>2]=8;ON(183008+(d<<4)|0,3,4,149504+(a<<2)|0,1,1,149516+(a<<2)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==7){a=0;break}d=a+1|0;c[183072+(d<<4)+4>>2]=225740+(a<<7);c[183072+(d<<4)+12>>2]=32;ON(183072+(d<<4)|0,5,8,149528+(a<<3)|0,1,1,149584+(a<<3)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==15){a=0;break}d=a+1|0;c[183200+(d<<4)+4>>2]=226636+(a<<11);c[183200+(d<<4)+12>>2]=512;ON(183200+(d<<4)|0,9,16,149640+(a<<4)|0,1,1,149896+(a<<4)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==6)break;d=a+1|0;c[183456+(d<<4)+4>>2]=257356+(a<<5);c[183456+(d<<4)+12>>2]=8;ON(183456+(d<<4)|0,3,7,150152+(a<<4)|0,1,1,150264+(a<<4)|0,1,1,0,0,0,4)|0;a=d}c[45893]=257548;c[45895]=96;ON(183568,6,16,150248,1,1,150360,1,1,0,0,0,4)|0;PN()}return}function ON(f,g,h,i,j,k,n,o,p,q,r,s,t){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0;V=l;l=l+12624|0;if((l|0)>=(m|0))W(12624);U=V+72|0;T=V+64|0;P=V+56|0;O=V+48|0;C=V+40|0;D=V+32|0;x=V+16|0;v=V;u=V+616|0;w=V+600|0;I=V+88|0;c[f>>2]=g;R=(t&4|0)!=0;do if(R)if((h+1|0)>>>0<1501){c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+8>>2]=0;M=w;Q=6;break}else{c[v>>2]=150376;c[v+4>>2]=150435;c[v+8>>2]=282;Uf(0,0,159675,v);Ub()}else{c[f+4>>2]=0;c[f+12>>2]=0;c[f+8>>2]=0;u=Jh(h+1|0,8)|0;if(!u)S=-12;else{M=f;Q=6}}while(0);do if((Q|0)==6){L=(q|0)!=0;if(L&(s|0)>2){c[x>>2]=150458;c[x+4>>2]=150435;c[x+8>>2]=298;Uf(0,0,159675,x);Ub()}J=g*3|0;K=(t&2|0)==0;B=0;v=0;while(1){if((B|0)>=(h|0)){Q=41;break}w=i+(N(B,j)|0)|0;switch(k|0){case 1:{w=a[w>>0]|0;Q=15;break}case 2:{w=b[w>>1]&255;Q=15;break}case 4:{w=c[w>>2]&255;Q=15;break}default:w=a[u+(v<<3)>>0]|0}if((Q|0)==15){Q=0;a[u+(v<<3)>>0]=w}A=w&255;if((A|0)>(g|0)){if((w&255)>32|(J|0)<(A|0)){Q=18;break}x=n+(N(B,o)|0)|0;switch(p|0){case 1:{x=d[x>>0]|0;Q=25;break}case 2:{x=e[x>>1]|0;Q=25;break}case 4:{x=c[x>>2]|0;Q=25;break}default:{x=u+(v<<3)+4|0;z=x;x=c[x>>2]|0}}if((Q|0)==25){Q=0;z=u+(v<<3)+4|0;c[z>>2]=x}H=cX(1,0,w&255|0)|0;G=y;if(!((G|0)>0|(G|0)==0&H>>>0>x>>>0)){Q=27;break}if(K)w=x<<32-A;else w=(d[116320+(x>>>8&255)>>0]|0)<<16|(d[116320+(x&255)>>0]|0)<<24|(d[116320+(x>>>16&255)>>0]|0)<<8|(d[116320+(x>>>24)>>0]|0);c[z>>2]=w;a:do if(L){w=q+(N(B,r)|0)|0;switch(s|0){case 1:{w=d[w>>0]|0;Q=38;break a}case 2:{w=b[w>>1]|0;Q=38;break a}case 4:{w=c[w>>2]&65535;Q=38;break a}default:break a}}else{w=B&65535;Q=38}while(0);if((Q|0)==38){Q=0;b[u+(v<<3)+2>>1]=w}v=v+1|0}B=B+1|0}if((Q|0)==18){c[D>>2]=A;Uf(0,16,150488,D);if(R){S=-1;break}Rf(u);S=-1;break}else if((Q|0)==27){c[C>>2]=x;c[C+4>>2]=B;Uf(0,16,150519,C);if(R){S=-1;break}Rf(u);S=-1;break}else if((Q|0)==41){c[I>>2]=u;c[I+4>>2]=u+(v<<3)+-8;w=1;b:while(1){if(!w)break;w=w+-1|0;H=c[I+(w<<3)+4>>2]|0;x=c[I+(w<<3)>>2]|0;while(1){if(x>>>0>=H>>>0)continue b;C=H+-8|0;if(x>>>0>=C>>>0)break;z=H+-16|0;B=x+8|0;F=H;G=x;D=x+(F-G>>4<<3)|0;do if((QN(x,H)|0)>0)if((QN(H,D)|0)>0){E=D;X=c[E>>2]|0;E=c[E+4>>2]|0;Z=x;Y=c[Z+4>>2]|0;A=D;c[A>>2]=c[Z>>2];c[A+4>>2]=Y;A=x;c[A>>2]=X;c[A+4>>2]=E;A=0;break}else{Z=H;Y=c[Z>>2]|0;Z=c[Z+4>>2]|0;E=x;X=c[E+4>>2]|0;A=H;c[A>>2]=c[E>>2];c[A+4>>2]=X;A=x;c[A>>2]=Y;c[A+4>>2]=Z;A=0;break}else if((QN(x,D)|0)>0){Z=D;Y=c[Z>>2]|0;Z=c[Z+4>>2]|0;E=x;X=c[E+4>>2]|0;A=D;c[A>>2]=c[E>>2];c[A+4>>2]=X;A=x;c[A>>2]=Y;c[A+4>>2]=Z;A=0}else A=1;while(0);if((QN(D,H)|0)>0){Z=H;Y=c[Z>>2]|0;Z=c[Z+4>>2]|0;E=D;X=c[E+4>>2]|0;A=H;c[A>>2]=c[E>>2];c[A+4>>2]=X;A=D;c[A>>2]=Y;c[A+4>>2]=Z;A=0}if((x|0)==(z|0))continue b;Z=D;Y=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=C;X=c[_+4>>2]|0;E=D;c[E>>2]=c[_>>2];c[E+4>>2]=X;E=C;c[E>>2]=Y;c[E+4>>2]=Z;E=B;c:while(1){if(E>>>0>z>>>0)break;else B=E;while(1){if(B>>>0>z>>>0)break;if((QN(B,C)|0)>=0)break;B=B+8|0}while(1){if(B>>>0>z>>>0){E=B;continue c}if((QN(z,C)|0)<=0)break;z=z+-8|0}_=z;Z=c[_>>2]|0;_=c[_+4>>2]|0;X=B;Y=c[X+4>>2]|0;E=z;c[E>>2]=c[X>>2];c[E+4>>2]=Y;E=B;c[E>>2]=Z;c[E+4>>2]=_;E=B+8|0;z=z+-8|0}Z=E;Y=c[Z>>2]|0;Z=c[Z+4>>2]|0;B=C;X=c[B+4>>2]|0;_=E;c[_>>2]=c[B>>2];c[_+4>>2]=X;_=C;c[_>>2]=Y;c[_+4>>2]=Z;if(A|0?(D|0)==(E|0)|(D|0)==(E+-8|0):0){A=x;while(1){if(A>>>0>=H>>>0)break;if((QN(A,A+8|0)|0)>=1)break;A=A+8|0}if((A|0)==(H|0))continue b}_=E;if((F-_|0)<(_-G|0)){A=H;B=E+8|0}else{A=z;B=x;z=H;x=E+8|0}c[I+(w<<3)>>2]=x;c[I+(w<<3)+4>>2]=z;H=A;x=B;w=w+1|0}if((QN(x,H)|0)<=0)continue;Z=H;Y=c[Z>>2]|0;Z=c[Z+4>>2]|0;G=x;X=c[G+4>>2]|0;_=H;c[_>>2]=c[G>>2];c[_+4>>2]=X;_=x;c[_>>2]=Y;c[_+4>>2]=Z}B=0;while(1){if((B|0)>=(h|0)){Q=109;break}w=i+(N(B,j)|0)|0;switch(k|0){case 1:{w=a[w>>0]|0;Q=83;break}case 2:{w=b[w>>1]&255;Q=83;break}case 4:{w=c[w>>2]&255;Q=83;break}default:w=a[u+(v<<3)>>0]|0}if((Q|0)==83){Q=0;a[u+(v<<3)>>0]=w}A=w&255;if(!(w<<24>>24==0|(A|0)>(g|0))){if((w&255)>32|(J|0)<(A|0)){Q=86;break}x=n+(N(B,o)|0)|0;switch(p|0){case 1:{x=d[x>>0]|0;Q=93;break}case 2:{x=e[x>>1]|0;Q=93;break}case 4:{x=c[x>>2]|0;Q=93;break}default:{x=u+(v<<3)+4|0;z=x;x=c[x>>2]|0}}if((Q|0)==93){Q=0;z=u+(v<<3)+4|0;c[z>>2]=x}_=cX(1,0,w&255|0)|0;Z=y;if(!((Z|0)>0|(Z|0)==0&_>>>0>x>>>0)){Q=95;break}if(K)w=x<<32-A;else w=(d[116320+(x>>>8&255)>>0]|0)<<16|(d[116320+(x&255)>>0]|0)<<24|(d[116320+(x>>>16&255)>>0]|0)<<8|(d[116320+(x>>>24)>>0]|0);c[z>>2]=w;d:do if(L){w=q+(N(B,r)|0)|0;switch(s|0){case 1:{w=d[w>>0]|0;Q=106;break d}case 2:{w=b[w>>1]|0;Q=106;break d}case 4:{w=c[w>>2]&65535;Q=106;break d}default:break d}}else{w=B&65535;Q=106}while(0);if((Q|0)==106){Q=0;b[u+(v<<3)+2>>1]=w}v=v+1|0}B=B+1|0}if((Q|0)==86){c[O>>2]=A;Uf(0,16,150488,O);if(R){S=-1;break}Rf(u);S=-1;break}else if((Q|0)==95){c[P>>2]=x;c[P+4>>2]=B;Uf(0,16,150519,P);if(R){S=-1;break}Rf(u);S=-1;break}else if((Q|0)==109){w=RN(M,g,v,u,t)|0;if(!R){Rf(u);if((w|0)>=0){S=0;break}Qf(M+4|0);S=w;break}u=c[M+8>>2]|0;v=c[M+12>>2]|0;if((u|0)!=(v|0)){c[T>>2]=u;c[T+4>>2]=v;Uf(0,16,150555,T)}if((w|0)>-1){c[f>>2]=c[M>>2];c[f+4>>2]=c[M+4>>2];c[f+8>>2]=c[M+8>>2];c[f+12>>2]=c[M+12>>2];S=0;break}else{c[U>>2]=159705;c[U+4>>2]=150435;c[U+8>>2]=341;Uf(0,0,159675,U);Ub()}}}}while(0);l=V;return S|0}function PN(){var b=0,c=0,e=0,f=0,g=0,h=0,i=0;g=0;while(1){if((g|0)==7)break;i=-1<<g;h=0;while(1){if((h|0)==256)break;e=h<<1;f=(e&65280|0)==0;e=(f?0:8)+(d[116064+(f?e:h>>>7&16777215)>>0]|0)|0;f=8-e|0;b=f+1|0;c=b+g|0;do if((c|0)>=9)if(!e){a[258956+(g<<9)+(h<<1)>>0]=108;b=8;break}else{a[258956+(g<<9)+(h<<1)>>0]=f+100;b=b&255;break}else{b=(h&65280|0)==0;f=(f<<g)+i+(h>>>((b?0:8)-g+(d[116064+(b?h:h>>>8)>>0]|0)|0))|0;b=f&1;a[258956+(g<<9)+(h<<1)>>0]=((f+2|0)>>>1^0-b)+b;b=c&255}while(0);a[258956+(g<<9)+(h<<1)+1>>0]=b;h=h+1|0}g=g+1|0}return}function QN(a,b){a=a|0;b=b|0;return ((c[a+4>>2]|0)>>>1)-((c[b+4>>2]|0)>>>1)|0}function RN(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+16|0;if((l|0)>=(m|0))W(16);y=D;z=D+4|0;A=1<<f;a:do if((f|0)<=30){B=SN(e,A,i&4)|0;if((B|0)<0)j=B;else{v=e+4|0;c[z>>2]=(c[v>>2]|0)+(B<<2);w=32-f|0;x=(i&2|0)==0;j=0;b:while(1){if((j|0)>=(g|0)){j=0;break}u=h+(j<<3)|0;o=a[u>>0]|0;s=o&255;n=h+(j<<3)+4|0;p=c[n>>2]|0;t=b[h+(j<<3)+2>>1]|0;c:do if((s|0)>(f|0)){t=s-f|0;k=p>>>w;a[u>>0]=t;c[n>>2]=p<<f;n=t;t=j;while(1){s=t+1|0;if((s|0)>=(g|0))break;o=h+(s<<3)|0;p=(d[o>>0]|0)-f|0;if((p|0)<1)break;q=h+(s<<3)+4|0;r=c[q>>2]|0;if((r>>>w|0)!=(k|0))break;a[o>>0]=p;c[q>>2]=r<<f;n=(n|0)>(p|0)?n:p;t=s}n=(n|0)>(f|0)?f:n;if(!x)k=(d[116320+(k>>>8&255)>>0]<<16|d[116320+(k&255)>>0]<<24|d[116320+(k>>>16&255)>>0]<<8|d[116320+(k>>>24)>>0])>>>w;b[(c[z>>2]|0)+(k<<2)+2>>1]=0-n;j=RN(e,n,s-j|0,u,i)|0;if((j|0)<0)break a;c[z>>2]=(c[v>>2]|0)+(B<<2);b[(c[z>>2]|0)+(k<<2)>>1]=j;j=t}else{r=1<<f-s;if(x){q=1;k=p>>>w}else{q=1<<s;k=d[116320+(p>>>8&255)>>0]<<16|d[116320+(p&255)>>0]<<24|d[116320+(p>>>16&255)>>0]<<8|d[116320+(p>>>24)>>0]}o=o&255;n=0;while(1){if((n|0)>=(r|0))break c;u=b[(c[z>>2]|0)+(k<<2)+2>>1]|0;if(!(u<<16>>16==0|(u<<16>>16|0)==(s|0))){C=11;break b}b[(c[z>>2]|0)+(k<<2)+2>>1]=o;b[(c[z>>2]|0)+(k<<2)>>1]=t;n=n+1|0;k=k+q|0}}while(0);j=j+1|0}if((C|0)==11){Uf(0,16,150573,y);j=-1094995529;break}while(1){if((j|0)>=(A|0)){j=B;break a}if(!(b[(c[z>>2]|0)+(j<<2)+2>>1]|0))b[(c[z>>2]|0)+(j<<2)>>1]=-1;j=j+1|0}}}else j=-1;while(0);l=D;return j|0}function SN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+8|0;e=c[g>>2]|0;h=e+b|0;c[g>>2]=h;f=a+12|0;b=c[f>>2]|0;do if((h|0)>(b|0)){if(d|0)Ub();b=(1<<c[a>>2])+b|0;c[f>>2]=b;h=a+4|0;b=HN(c[h>>2]|0,b,4)|0;c[h>>2]=b;if(!b){c[f>>2]=0;c[g>>2]=0;e=-12;break}else{h=c[a>>2]|0;iX(b+(c[f>>2]<<2)+(-1<<h<<2)|0,0,4<<h|0)|0;break}}while(0);return e|0}function TN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=f+696|0;h=f+24312|0;i=j;g=0;while(1){if((g|0)>=(d|0))break;f=c[b+(g<<2)>>2]|0;if((f|0)!=0?f>>>0>=j>>>0&f>>>0<h>>>0:0)f=e+696+(((f-i|0)/656|0)*656|0)|0;else f=0;c[a+(g<<2)>>2]=f;g=g+1|0}return}function UN(a){a=a|0;var b=0;a=c[a>>2]|0;b=a+1672|0;c[b>>2]=0;c[b+4>>2]=-2147483648;c[a+1680>>2]=2147483647;Nn(a+1208|0,8,1);return 0}function VN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;if((l|0)>=(m|0))W(48);k=x+32|0;j=x+24|0;u=x+20|0;v=x+16|0;n=x+8|0;o=x;c[u>>2]=f;c[v>>2]=g;q=c[a>>2]|0;h=q+1644|0;if((c[h>>2]|0)==0?(c[h>>2]=1,i=c[b+72>>2]|0,i|0):0)qi(c[b+68>>2]|0,i,q+40|0,q+1636|0,q+1640|0,c[b+580>>2]|0,b)|0;i=a+176|0;do if(!(c[i>>2]&1)){g=ZN(q,f,g,b)|0;if((Sf(q,g,u,v)|0)<0){c[d>>2]=0;c[e>>2]=0;g=c[v>>2]|0;break}if((g|0)<0&(g|0)!=-100){ZN(q,(c[q>>2]|0)+((c[q+8>>2]|0)+g)|0,0-g|0,b)|0;w=9}else w=9}else w=9;while(0);if((w|0)==9){_N(a,b,c[u>>2]|0,c[v>>2]|0);h=b+760|0;if(c[h>>2]|0){c[o>>2]=c[b+84>>2];c[o+4>>2]=1;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];$N(n,j,k);p=c[n>>2]|0;r=b+76|0;c[r>>2]=c[n+4>>2];c[r+4>>2]=p}h=c[q+1404>>2]|0;if((h|0)>-1){r=c[q+1432>>2]|0;k=h;p=c[q+1400>>2]|0}else{r=-2147483648;k=-2147483648;p=-2147483648}c[a+240>>2]=r;c[a+244>>2]=k;c[a+248>>2]=p;h=c[i>>2]|0;if(h&2|0)c[i>>2]=h&1;if((r|0)>-1?(s=c[b+80>>2]|0,t=c[b+772>>2]|0,s=ZW(t|0,((t|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0,t=y,(t|0)>0|(t|0)==0&s>>>0>0):0){n=c[b+76>>2]|0;o=c[b+776>>2]|0;n=ZW(o|0,((o|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;o=y;j=a+48|0;h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;if((i|0)==0&(h|0)==-2147483648){f=q+1672|0;i=f;h=c[i>>2]|0;i=c[i+4>>2]|0;if((h|0)==0&(i|0)==-2147483648){i=0;h=-2147483648}else{w=aO(k,((k|0)<0)<<31>>31,n,o,s,t)|0;i=TW(w|0,y|0,h|0,i|0)|0;h=y;w=j;c[w>>2]=i;c[w+4>>2]=h;w=21}}else{k=aO(k,((k|0)<0)<<31>>31,n,o,s,t)|0;k=UW(i|0,h|0,k|0,y|0)|0;b=y;f=q+1672|0;q=f;c[q>>2]=k;c[q+4>>2]=b;if(!((k|0)==0&(b|0)==-2147483648))w=21}if((w|0)==21){j=a+40|0;w=j;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){t=aO(p,((p|0)<0)<<31>>31,n,o,s,t)|0;t=TW(t|0,y|0,i|0,h|0)|0;w=j;c[w>>2]=t;c[w+4>>2]=y}}if((r|0)>0){w=f;c[w>>2]=i;c[w+4>>2]=h}}c[d>>2]=c[u>>2];c[e>>2]=c[v>>2]}l=x;return g|0}function WN(a){a=a|0;a=c[a>>2]|0;Qf(a);Tg(a+1388|0);li(a+40|0);return}function XN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=o;c[k>>2]=-1;j=d+e|0;b=0;e=d;i=0;a:while(1)b:while(1){h=(b|0)!=0;while(1){if(e>>>0>=j>>>0){b=0;break a}e=YN(e,j,k)|0;g=c[k>>2]|0;if((g&-256|0)!=256){b=0;break a}f=g&31;switch(g&31){case 8:{i=1;continue a}case 7:{b=1;continue b}default:{}}if(h&((f|0)!=15&((f|4|0)!=13&(i|(f|0)!=6)))){n=8;break a}}}if((n|0)==8){while(1){b=e+-4|0;if(b>>>0<=d>>>0)break;if(!(a[e+-5>>0]|0)){e=e+-1|0;n=8}else break}b=b-d|0}l=o;return b|0}function YN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=i;if(b>>>0>e>>>0){c[g>>2]=150798;c[g+4>>2]=127077;c[g+8>>2]=1892;Uf(0,0,159675,g);Ub()}a:do if(b>>>0<e>>>0){h=0;while(1){if((h|0)>=3)break;j=c[f>>2]<<8;g=b+1|0;c[f>>2]=j|d[b>>0];if((g|0)==(e|0)|(j|0)==256){e=g;break a}else{h=h+1|0;b=g}}while(1){if(b>>>0>=e>>>0)break;g=a[b+-1>>0]|0;if((g&255)>1){b=b+3|0;continue}if(!(a[b+-2>>0]|0)){h=b+1|0;if(!((g&255)+-1|d[b+-3>>0])){b=h;break}else{b=h;continue}}else{b=b+2|0;continue}}e=b>>>0>e>>>0?e:b;j=e+-4|0;c[f>>2]=eX(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24|0)|0}while(0);l=i;return e|0}function ZN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+48|0;if((l|0)>=(m|0))W(48);u=z+8|0;h=z;t=z+16|0;x=b+1636|0;y=b+16|0;j=c[y>>2]|0;j=j>>>0>13?7:j;s=b+1640|0;if(c[x>>2]|0)if(!(c[s>>2]|0)){Uf(g,16,151095,h);i=0}else i=0;else i=f;o=b+1340|0;p=b+1660|0;q=b+1664|0;r=b+1652|0;w=b+20|0;h=0;a:while(1){if((h|0)>=(f|0)){v=31;break}b:do if((i|0)>(h|0)){if((j|0)==7){j=(Ld[c[o>>2]&15](e+h|0,i-h|0)|0)+h|0;n=i;h=j;j=(j|0)<(i|0)?2:7;break}if(j>>>0<3)switch(a[e+h>>0]|0){case 1:{n=i;j=j^5;break b}case 0:{n=i;j=j>>>1;break b}default:{n=i;j=7;break b}}k=a[e+h>>0]|0;if(j>>>0>=6){n=c[p>>2]|0;c[p>>2]=n+1;a[b+1652+n>>0]=k;k=c[p>>2]|0;if((k|0)>5){n=c[q>>2]|0;oO(t,r,k<<3)|0;c[p>>2]=0;k=gO(t)|0;c[q>>2]=k;if(c[w>>2]|0){if(k>>>0<=n>>>0){v=29;break a}}else c[w>>2]=1;n=i;j=7}else n=i}else{n=i;i=k;v=20}}else{j=c[s>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;h=h+1|0;k=k<<8|d[e+i>>0];i=i+1|0}h=f-i|0;if((k|0)<1|(k|0)>(h|0)){v=12;break a}h=i;n=i+k|0;j=5;i=a[e+i>>0]|0;v=20}while(0);c:do if((v|0)==20){v=0;if(((i&31)+-6&255)<4){k=(c[w>>2]|0)==0;h=h+((k^1)&1)|0;if(k){j=7;break}else{i=n;f=j;v=32;break a}}switch(i&31){case 1:case 2:case 5:break;default:{j=7;break c}}j=j+8|0}while(0);h=h+1|0;i=n}if((v|0)==12){c[u>>2]=k;c[u+4>>2]=h;Uf(g,16,151132,u);v=33}else if((v|0)==29){f=j;v=32}else if((v|0)==31){c[y>>2]=j;f=(c[x>>2]|0)==0?-100:i;v=33}if((v|0)==32){c[y>>2]=7;c[w>>2]=0;l=z;return ((c[x>>2]|0)==0?h-(f&5)+(f>>>0>7?-5:0)|0:i)|0}else if((v|0)==33){l=z;return f|0}return 0}function _N(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+128|0;if((l|0)>=(m|0))W(128);w=L+24|0;B=L+16|0;y=L+8|0;x=L;K=L+112|0;u=L+44|0;v=L+40|0;H=L+32|0;J=c[b>>2]|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;h=u;i=h+68|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if((g|0)>3)p=(IT(150807,f,4)|0)==0;else p=0;z=b+32|0;c[z>>2]=1;A=b+224|0;c[A>>2]=0;G=b+312|0;c[G>>2]=0;F=J+1388|0;Tg(F);c[J+1572>>2]=-1;a:do if(g|0?(uN(K,K+4|0,g),c[K>>2]|0):0){c[v>>2]=0;C=u+24|0;o=u+8|0;q=u+4|0;E=u+64|0;D=u+44|0;r=J+40|0;s=u+12|0;t=J+1640|0;i=c[J+1636>>2]|0?0:g;h=0;b:while(1){while(1){if((h|0)>=(i|0)){I=8;break}h=cO(f,g,h,i)|0;if((h|0)>=(g|0)){I=103;break b}if((h|0)<(i|0)){I=12;break}}if((I|0)==8){I=0;c[v>>2]=h;h=bO(c[t>>2]|0,f,g,v,e)|0;if((h|0)<0){I=104;break}k=c[v>>2]|0;n=k+h|0;h=k}else if((I|0)==12){I=0;c[v>>2]=h;n=i}i=n-h|0;k=f+h|0;M=a[k>>0]|0;j=M&255;c:do switch(M&31){case 5:case 1:if((j&31|0)==5|(j&96|0)==0){i=(i|0)<60?i:60;break c}else{i=(i|0)<1e3?i:1e3;break c}default:{}}while(0);i=yN(k,i,K,u,1)|0;if((i|0)<0){I=104;break}h=h+i|0;c[v>>2]=h;if((dO(C,c[o>>2]|0,c[q>>2]|0)|0)<0)break;eO(C)|0;c[E>>2]=fO(C,2)|0;M=fO(C,5)|0;c[D>>2]=M;switch(M|0){case 5:{I=23;break b}case 1:{I=24;break b}case 7:{Oi(C,e,r,0)|0;i=n;continue b}case 8:{Qi(C,e,r,c[s>>2]|0)|0;i=n;continue b}case 6:{Mi(F,C,r,e)|0;i=n;continue b}default:{i=n;continue b}}}if((I|0)==23){c[A>>2]=1;c[J+1384>>2]=0;c[J+1380>>2]=0;c[J+1372>>2]=0;c[J+1368>>2]=0;I=24}else if((I|0)==103){c[v>>2]=h;I=104}d:do if((I|0)==24){gO(C)|0;c[z>>2]=d[123569+(((hO(C)|0)>>>0)%5|0)>>0];if((c[J+1428>>2]|0)>-1)c[A>>2]=1;h=iO(C)|0;if(h>>>0>255){c[x>>2]=h;Uf(e,16,150812,x);break}i=J+168+(h<<2)|0;if(!(c[i>>2]|0)){c[y>>2]=h;Uf(e,16,150836,y);break}M=J+1192|0;zg(M);j=J+1196|0;zg(j);q=J+1200|0;c[q>>2]=0;k=J+1204|0;c[k>>2]=0;h=Bh(c[i>>2]|0)|0;c[M>>2]=h;if(h|0){h=c[h+4>>2]|0;c[q>>2]=h;h=c[h>>2]|0;i=c[J+40+(h<<2)>>2]|0;if(!i){c[B>>2]=h;Uf(e,16,150868,B);break}h=Bh(i)|0;c[j>>2]=h;if(h|0){o=c[h+4>>2]|0;c[k>>2]=o;if(((c[o+48>>2]|0)<2?(c[(c[q>>2]|0)+20>>2]|0)>>>0<2:0)?(c[z>>2]|0)==1:0)c[A>>2]=1;n=J+1344|0;p=J+1364|0;c[p>>2]=fO(C,c[o+20>>2]|0)|0;h=c[o+56>>2]<<4;c[b+328>>2]=h;i=c[o+60>>2]<<4;c[b+332>>2]=i;M=h-(c[o+84>>2]|0)-(c[o+80>>2]|0)|0;j=b+320|0;c[j>>2]=M;B=i-(c[o+88>>2]|0)-(c[o+92>>2]|0)|0;k=b+324|0;c[k>>2]=B;if((B|0)<1|(M|0)<1){c[j>>2]=h;c[k>>2]=i}e:do switch(c[o+1184>>2]|0){case 9:{h=c[o+12>>2]|0;if((h|0)==3){c[b+336>>2]=68;break e}else{c[b+336>>2]=(h|0)==2?72:62;break e}}case 10:{h=c[o+12>>2]|0;if((h|0)==3){c[b+336>>2]=70;break e}else{c[b+336>>2]=(h|0)==2?66:64;break e}}case 8:{h=c[o+12>>2]|0;if((h|0)==3){c[b+336>>2]=5;break e}else{c[b+336>>2]=(h|0)==2?4:0;break e}}default:c[b+336>>2]=-1}while(0);c[e+716>>2]=Fn(o)|0;c[e+720>>2]=c[o+8>>2];if((c[o+64>>2]|0)==0?(eO(C)|0)!=0:0)h=(eO(C)|0)+1|0;else h=3;k=J+1648|0;c[k>>2]=h;if((c[D>>2]|0)==5)gO(C)|0;i=o+24|0;h=c[i>>2]|0;if(!h){c[n>>2]=fO(C,c[o+28>>2]|0)|0;if((c[(c[q>>2]|0)+8>>2]|0)==1?(c[k>>2]|0)==3:0)c[J+1352>>2]=jO(C)|0;h=c[i>>2]|0}do if(((h|0)==1?(c[o+32>>2]|0)==0:0)?(c[J+1356>>2]=jO(C)|0,(c[(c[q>>2]|0)+8>>2]|0)==1):0){if((c[k>>2]|0)!=3)break;c[J+1360>>2]=jO(C)|0}while(0);j=H+4|0;c[j>>2]=2147483647;c[H>>2]=2147483647;if((lm(H,b+316|0,o,n,c[k>>2]|0,c[E>>2]|0)|0)>=0){do if((c[E>>2]|0)==0|(c[D>>2]|0)==5)I=70;else{h=kO(b,C,e)|0;if((h|0)<0)break d;if(!h){I=70;break}c[J+1384>>2]=0;h=0;i=1}while(0);if((I|0)==70){c[J+1384>>2]=c[p>>2];h=c[J+1376>>2]|0;i=0}c[J+1380>>2]=h;if(c[E>>2]|0){if(i){i=0;h=(c[k>>2]|0)==2?0:c[H>>2]|0}else{i=c[J+1348>>2]|0;h=c[n>>2]|0}c[J+1368>>2]=i;c[J+1372>>2]=h}i=(c[o+1160>>2]|0)==0;f:do if(i)I=85;else{if(!(c[F>>2]|0)){I=85;break}switch(c[J+1392>>2]|0){case 2:case 1:{h=0;break f}case 4:case 3:case 0:{h=1;break f}case 6:case 5:{h=2;break f}case 7:{h=3;break f}case 8:{h=5;break f}default:{h=(c[k>>2]|0)==3&1;break f}}}while(0);if((I|0)==85)h=(c[k>>2]|0)==3&1;c[b+36>>2]=h;h=c[k>>2]|0;g:do if((h|0)==3){c[G>>2]=3;do if(!i){if(!(c[F>>2]|0))break;switch(c[J+1392>>2]|0){case 5:case 3:{h=2;break}case 6:case 4:{h=3;break}default:h=1}c[b+308>>2]=h;break g}while(0);i=c[H>>2]|0;h=c[j>>2]|0;if((i|0)<(h|0)){c[b+308>>2]=2;break}else{c[b+308>>2]=(i|0)>(h|0)?3:1;break}}else{n=(h|0)==1?1:2;c[G>>2]=n;j=c[p>>2]|0;k=J+1680|0;h=J+1684|0;h:do if((j|0)==(c[k>>2]|0)){i=c[h>>2]|0;switch(i|0){case 3:case 0:{I=100;break h}default:{}}if((i|0)==(n|0)){I=100;break}c[b+308>>2]=(i|0)==1?2:3}else I=100;while(0);if((I|0)==100)c[b+308>>2]=0;c[h>>2]=n;c[k>>2]=j}while(0);Qf(K);break a}}}}else if((I|0)==104)if(p){Qf(K);break a}else{c[w>>2]=g;Uf(e,16,150900,w);break}while(0);Qf(K)}while(0);l=L;return}function $N(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=b+4|0;g=c[b>>2]|0;f=c[d>>2]|0;g=ZW(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=y;e=c[h>>2]|0;d=c[d+4>>2]|0;e=ZW(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;Kn(b,h,g,f,e,y,2147483647,0)|0;e=b;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function aO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;f=An(a,b,c,d,e,f,5)|0;return f|0}function bO(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=n;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;o=i+1|0;c[f>>2]=o;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=o}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;Uf(g,16,151061,k);h=-1094995529}}else h=-11;l=n;return h|0}function cO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=f;c[g>>2]=-1;e=(YN(a+d|0,a+e+1|0,g)|0)-a+-1|0;l=f;return ((e|0)>(b|0)?b:e)|0}function dO(a,b,c){a=a|0;b=b|0;c=c|0;return oO(a,b,c>>>0>268435455?-8:c<<3)|0}function eO(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function fO(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function gO(a){a=a|0;var b=0,c=0,e=0;e=lO(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[116064+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;mO(a,b);return (nO(a,b+1|0)|0)+-1|0}function hO(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[122033+a>>0]|0);return d[122545+a>>0]|0|0}function iO(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(eX(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[116064+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){Uf(0,16,151423,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[122033+a>>0]|0);a=d[122545+a>>0]|0}while(0);l=h;return a|0}function jO(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(eX(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[122033+b>>0]|0);b=a[123057+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[116064+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(eX(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function kO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+20816|0;if((l|0)>=(m|0))W(20816);t=u+16|0;k=u+8|0;j=u;q=u+40|0;i=u+32|0;r=u+24|0;s=c[a+32>>2]&3;p=c[a>>2]|0;g=p+1200|0;if(c[(c[g>>2]|0)+60>>2]|0)iO(b)|0;n=(s|0)==3;if(n)eO(b)|0;o=p+1648|0;a:do if((YM(i,r,b,c[g>>2]|0,s,c[o>>2]|0,d)|0)>=0){if((s|0)!=1){f=0;while(1){if((f|0)>=(c[i>>2]|0))break;b:do if(eO(b)|0){h=r+(f<<2)|0;e=0;c:while(1){a=hO(b)|0;if(a>>>0<3){gO(b)|0;if((e|0)<(c[h>>2]|0))a=0;else{c[k>>2]=e;Uf(d,16,150984,k);a=1}}else if((a|0)==3)a=5;else{c[j>>2]=a;Uf(d,16,150945,j);a=1}switch(a&7){case 5:break b;case 0:break;default:break c}e=e+1|0}if(a|0){a=-1094995529;break a}}while(0);f=f+1|0}a=c[g>>2]|0;if((s|0)==2&(c[a+28>>2]|0)!=0)f=22;else f=21}else{a=c[g>>2]|0;f=21}if((f|0)==21?n&(c[a+32>>2]|0)==1:0)f=22;if((f|0)==22)_M(b,c[p+1204>>2]|0,r,s,q,c[o>>2]|0,d)|0;if(eO(b)|0){a=0;d:while(1){if((a|0)>=66){f=33;break}e=hO(b)|0;if(e>>>0>6){f=26;break}switch(e|0){case 5:{a=1;break a}case 0:{f=33;break d}default:{}}if((e|2|0)==3)gO(b)|0;switch(e|0){case 2:case 3:case 4:case 6:{hO(b)|0;break}default:{}}a=a+1|0}if((f|0)==26){c[t>>2]=e;Uf(d,16,151013,t);a=-1094995529;break}else if((f|0)==33){a=0;break}}else a=0}else a=-1094995529;while(0);l=u;return a|0}function lO(a){a=a|0;var b=0,d=0;b=l;l=l+32|0;if((l|0)>=(m|0))W(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=nO(d,32)|0;l=b;return a|0}function mO(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function nO(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=fO(a,b)|0;break}else{b=b+-16|0;c=(fO(a,16)|0)<<b;a=c|(fO(a,b)|0);break}else a=0;while(0);return a|0}function oO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function pO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=p+4|0;n=p;c[k>>2]=f;c[n>>2]=g;j=c[a>>2]|0;h=c[b+68>>2]|0;if(h|0?(i=j+1708|0,(c[i>>2]|0)==0):0){uO(h,c[b+72>>2]|0,j+64|0,j+460|0,j+1700|0,j+1704|0,c[b+580>>2]|0,1,b)|0;c[i>>2]=1}do if(!(c[a+176>>2]&1)){h=vO(a,f,g)|0;if((Sf(j,h,k,n)|0)<0){c[d>>2]=0;c[e>>2]=0;h=c[n>>2]|0;break}else{f=c[k>>2]|0;i=c[n>>2]|0;o=8;break}}else{h=g;i=g;o=8}while(0);if((o|0)==8){wO(a,f,i,b);c[d>>2]=c[k>>2];c[e>>2]=c[n>>2]}l=p;return h|0}function qO(a){a=a|0;a=c[a>>2]|0;sO(a+64|0);mi(a+40|0);tO(a+460|0);Qf(a);return}function rO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=p;k=d+e|0;c[n>>2]=-1;b=0;f=0;j=0;e=d;a:while(1)b:while(1){i=j&(f|0)!=0;c:while(1){h=(b|0)!=0;while(1){if(e>>>0>=k>>>0){b=0;break a}e=YN(e,k,n)|0;g=c[n>>2]|0;if((g&-256|0)!=256){b=0;break a}q=g>>>1;g=q&63;switch(q&63){case 32:{j=1;continue a}case 33:{f=1;continue b}case 34:{b=1;continue c}default:{}}if((g|0)!=35&(h|(g|0)!=39)&i){o=9;break a}}}}if((o|0)==9){while(1){b=e+-4|0;if(b>>>0<=d>>>0)break;if(!(a[e+-5>>0]|0)){e=e+-1|0;o=9}else break}b=b-d|0}l=p;return b|0}function sO(a){a=a|0;var b=0;b=0;while(1){if((b|0)==16){b=0;break}zg(a+(b<<2)|0);b=b+1|0}while(1){if((b|0)==16){b=0;break}zg(a+64+(b<<2)|0);b=b+1|0}while(1){if((b|0)==64)break;zg(a+128+(b<<2)|0);b=b+1|0}c[a+388>>2]=0;c[a+392>>2]=0;c[a+384>>2]=0;return}function tO(a){a=a|0;c[a+92>>2]=0;Qf(a+96|0);return}function uO(b,e,f,g,h,i,j,k,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+32|0;if((l|0)>=(m|0))W(32);y=z+24|0;x=z+16|0;o=z;if((e|0)<=-1){c[o>>2]=155203;c[o+4>>2]=155217;c[o+8>>2]=137;Uf(0,0,159675,o);Ub()}w=b+e|0;do if((e|0)>3){if(((a[b>>0]|0)==0?(a[b+1>>0]|0)==0:0)?(d[b+2>>0]|0)<=1:0){p=28;break}c[h>>2]=1;v=e>>>0<21?e:21;o=b+v|0;if((e-v|0)<1){v=1;o=w}else{v=(a[o>>0]&3)+1&255;o=o+1|0}b=o;if((w-o|0)<1){t=0;b=w}else{t=d[b>>0]|0;b=b+1|0}c[i>>2]=2;o=0;u=0;a:while(1){if((u|0)>=(t|0)){p=27;break}e=b;if((w-b|0)<1){s=0;b=w}else{s=a[e>>0]&63;b=e+1|0}if((w-b|0)<2){r=0;b=w}else{r=b;r=(dX(d[r>>0]|d[r+1>>0]<<8|0)|0)&65535;b=b+2|0}q=0;while(1){if((q|0)>=(r|0))break;e=b;p=w-b|0;if((p|0)<2)o=0;else{o=b;o=(dX(d[o>>0]|d[o+1>>0]<<8|0)|0)&65535}b=o+2|0;if(p>>>0<b>>>0){p=22;break a}o=HP(e,b,f,g,c[h>>2]|0,c[i>>2]|0,j,k,n)|0;if((o|0)<0){p=24;break a}q=q+1|0;b=e+(p>>>0>b>>>0?b:p)|0}u=u+1|0}if((p|0)==22){Uf(n,16,155241,x);o=-1094995529;break}else if((p|0)==24){c[y>>2]=s;c[y+4>>2]=u;Uf(n,16,155278,y);break}else if((p|0)==27){c[i>>2]=v;break}}else p=28;while(0);if((p|0)==28){c[h>>2]=0;o=HP(b,e,f,g,0,c[i>>2]|0,j,k,n)|0}l=z;return o|0}function vO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=c[b>>2]|0;j=k+32|0;k=k+20|0;h=0;a:while(1){if((h|0)>=(f|0)){b=-100;break}b=j;g=c[b>>2]|0;b=c[b+4>>2]|0;n=cX(g|0,b|0,8)|0;i=e+h|0;m=j;c[m>>2]=n|d[i>>0];c[m+4>>2]=y;b:do if((g&-65536|0)==65536&(b&255|0)==0){b=bX(g|0,b|0,9)|0;g=b&63;switch(b&63){case 32:case 33:case 34:case 35:case 36:case 37:case 39:break;default:if(!((b&56|0)==48|(g+-41|0)>>>0<4)){if(!(g>>>0<10|(g+-16|0)>>>0<6))break b;if((a[i>>0]|0)>=0)break b;if(c[k>>2]|0){l=12;break a}c[k>>2]=1;break b}}if(c[k>>2]|0){l=12;break a}}while(0);h=h+1|0}if((l|0)==12){c[k>>2]=0;b=h+-5|0}return b|0}function wO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=o;f=c[a>>2]|0;j=f+64|0;k=f+460|0;c[a+32>>2]=1;c[a+224>>2]=0;c[a+312>>2]=0;tO(k);i=f+40|0;a:do if((Gi(i,b,d,e,c[f+1700>>2]|0,c[f+1704>>2]|0,173,1)|0)>=0){d=f+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;f=c[i>>2]|0;g=f+(b*68|0)+24|0;h=c[f+(b*68|0)+44>>2]|0;switch(h|0){case 32:{xO(g,e,j)|0;break}case 33:{yO(g,e,j,1)|0;break}case 34:{zO(g,e,j)|0;break}case 40:case 39:{AO(g,e,k,j,h)|0;break}case 9:case 8:case 7:case 6:case 21:case 20:case 19:case 18:case 17:case 16:case 5:case 4:case 3:case 2:case 1:case 0:{if(BO(a,f+(b*68|0)|0,e)|0)break a;break}default:{}}b=b+1|0}Uf(e,16,151330,n)}while(0);l=o;return}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+96|0;if((l|0)>=(m|0))W(96);x=D+80|0;v=D+72|0;s=D+64|0;q=D+56|0;p=D+48|0;o=D+40|0;n=D+32|0;k=D+24|0;j=D+16|0;i=D+8|0;B=D+84|0;z=th(4568)|0;c[B>>2]=z;C=z;a:do if(!z)f=-12;else{A=z+4|0;u=c[A>>2]|0;Uf(d,48,154837,D);f=c[b>>2]|0;g=(c[b+4>>2]|0)-f|0;if(g>>>0>4096){c[i>>2]=g;c[i+4>>2]=4096;Uf(d,24,154851,i);g=4096;f=c[b>>2]|0}c[u+4564>>2]=g;gX(u+468|0,f|0,g|0)|0;w=hP(b,4)|0;b:do if((w|0)<=15){if((hP(b,2)|0)!=3){Uf(d,16,154896,k);break}c[u+4>>2]=(hP(b,6)|0)+1;t=u+8|0;c[t>>2]=(hP(b,3)|0)+1;a[u>>0]=gP(b)|0;if((hP(b,16)|0)!=65535){Uf(d,16,154935,n);break}f=c[t>>2]|0;if((f|0)>7){c[o>>2]=f;Uf(d,16,154975,o);break}if((xP(b,d,u+12|0,f)|0)>=0){o=gP(b)|0;c[u+348>>2]=o;if(!o)f=(c[t>>2]|0)+-1|0;else f=0;j=d+580|0;while(1){if((f|0)>=(c[t>>2]|0))break;i=u+352+(f<<2)|0;c[i>>2]=(fP(b)|0)+1;g=u+380+(f<<2)|0;c[g>>2]=fP(b)|0;c[u+408+(f<<2)>>2]=(fP(b)|0)+-1;i=(c[i>>2]|0)+-1|0;if(i>>>0>15){r=18;break}g=c[g>>2]|0;if(g>>>0>i>>>0?(c[q>>2]=g,Uf(d,24,155063,q),c[j>>2]&8|0):0)break b;f=f+1|0}if((r|0)==18){c[p>>2]=i;Uf(d,16,155012,p);break}j=u+436|0;c[j>>2]=hP(b,6)|0;r=fP(b)|0;f=r+1|0;k=u+440|0;c[k>>2]=f;if(r>>>0<=1023?(o=TW(f|0,((f|0)<0)<<31>>31|0,-1,-1)|0,q=y,h=c[j>>2]|0,r=TW(h|0,((h|0)<0)<<31>>31|0,1,0)|0,q=ZW(r|0,y|0,o|0,q|0)|0,o=y,r=nP(b)|0,p=((r|0)<0)<<31>>31,!((o|0)>(p|0)|(o|0)==(p|0)&q>>>0>r>>>0)):0){i=1;while(1){if((i|0)<(f|0)){g=0;f=h}else break;while(1){if((g|0)>(f|0))break;BP(b,1);g=g+1|0;f=c[j>>2]|0}i=i+1|0;h=f;f=c[k>>2]|0}s=(gP(b)|0)&255;a[u+444>>0]=s;c:do if(s<<24>>24){c[u+448>>2]=tP(b,32)|0;c[u+452>>2]=tP(b,32)|0;s=(gP(b)|0)&255;a[u+456>>0]=s;if(s<<24>>24)c[u+460>>2]=(fP(b)|0)+1;f=fP(b)|0;h=u+464|0;c[h>>2]=f;if(f>>>0>(c[k>>2]|0)>>>0){c[v>>2]=f;Uf(d,16,155140,v);break b}else g=0;while(1){if((g|0)>=(f|0))break c;fP(b)|0;if(!g)f=1;else f=gP(b)|0;CP(b,f,c[t>>2]|0);g=g+1|0;f=c[h>>2]|0}}while(0);gP(b)|0;f=nP(b)|0;if((f|0)<0){c[x>>2]=0-f;Uf(d,16,155178,x);f=e+(w<<2)|0;if(c[f>>2]|0)break}else{f=e+(w<<2)|0;g=c[f>>2]|0;if((g|0)!=0?(IT(c[g+4>>2]|0,c[A>>2]|0,c[z+8>>2]|0)|0)==0:0){zg(B);f=0;break a}}GP(e,w);c[f>>2]=C;f=0;break a}Uf(d,16,155106,s)}}else{c[j>>2]=w;Uf(d,16,152601,j)}while(0);zg(B);f=-1094995529}while(0);l=D;return f|0}function yO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;if((l|0)>=(m|0))W(48);k=r+16|0;h=r+8|0;n=r+44|0;i=r+40|0;o=th(17552)|0;c[n>>2]=o;p=o;do if(!o)f=-12;else{q=o+4|0;j=c[q>>2]|0;Uf(b,48,152386,r);f=c[a>>2]|0;g=(c[a+4>>2]|0)-f|0;if(g>>>0>4096){c[h>>2]=g;c[h+4>>2]=4096;Uf(b,24,152400,h);g=4096;f=c[a>>2]|0}c[j+17548>>2]=g;gX(j+13452|0,f|0,g|0)|0;f=vP(j,a,i,e,d,b)|0;if((f|0)<0){zg(n);break}h=c[i>>2]|0;if(c[b+576>>2]&4|0){g=c[j+13376>>2]|0;a=c[j+13380>>2]|0;e=g-(c[j+12>>2]|0)-(c[j+16>>2]|0)|0;i=a-(c[j+20>>2]|0)-(c[j+24>>2]|0)|0;j=oh(c[j+56>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=g;c[k+8>>2]=a;c[k+12>>2]=e;c[k+16>>2]=i;c[k+20>>2]=j;Uf(b,48,152445,k)}f=d+64+(h<<2)|0;g=c[f>>2]|0;if(g|0?(IT(c[g+4>>2]|0,c[q>>2]|0,c[o+8>>2]|0)|0)==0:0){zg(n);f=0;break}wP(d,h);c[f>>2]=p;f=0}while(0);l=r;return f|0}function zO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+144|0;if((l|0)>=(m|0))W(144);I=K+120|0;G=K+112|0;E=K+104|0;D=K+96|0;B=K+88|0;z=K+80|0;w=K+72|0;v=K+64|0;t=K+56|0;s=K+48|0;r=K+40|0;o=K+32|0;n=K+24|0;k=K+16|0;j=K+8|0;h=K;J=K+128|0;x=K+124|0;g=Lg(5792)|0;c[x>>2]=g;a:do if(!g)f=-12;else{C=kh(g,5792,195,0,0)|0;c[J>>2]=C;H=C;if(!C){Qf(x);f=-12;break}Uf(d,48,151599,h);h=c[b>>2]|0;i=(c[b+4>>2]|0)-h|0;if(i>>>0>4096){c[j>>2]=i;c[j+4>>2]=4096;Uf(d,24,151613,j);i=4096;h=c[b>>2]|0}c[g+5788>>2]=i;gX(g+1692|0,h|0,i|0)|0;a[g+53>>0]=1;u=g+44|0;c[u>>2]=1;p=g+48|0;c[p>>2]=1;q=g+52|0;a[q>>0]=1;a[g+57>>0]=0;c[g+60>>2]=0;c[g+64>>2]=0;a[g+1629>>0]=2;C=fP(b)|0;b:do if(C>>>0<=63){i=fP(b)|0;c[g>>2]=i;if(i>>>0>15){c[n>>2]=i;Uf(d,16,151683,n);f=-1094995529;break}h=c[e+64+(i<<2)>>2]|0;if(!h){c[o>>2]=i;Uf(d,16,151708,o);f=-1094995529;break}A=c[h+4>>2]|0;a[g+41>>0]=gP(b)|0;a[g+39>>0]=gP(b)|0;c[g+1624>>2]=hP(b,3)|0;a[g+4>>0]=gP(b)|0;a[g+5>>0]=gP(b)|0;c[g+8>>2]=(fP(b)|0)+1;c[g+12>>2]=(fP(b)|0)+1;c[g+16>>2]=iP(b)|0;a[g+20>>0]=gP(b)|0;a[g+21>>0]=gP(b)|0;o=(gP(b)|0)&255;a[g+22>>0]=o;h=g+24|0;c[h>>2]=0;do if(o<<24>>24){i=fP(b)|0;c[h>>2]=i;if((i|0)>=0?i>>>0<=(c[A+13324>>2]|0)>>>0:0)break;c[r>>2]=i;Uf(d,16,151732,r);f=-1094995529;break b}while(0);h=iP(b)|0;c[g+28>>2]=h;if((h+12|0)>>>0>24){c[s>>2]=h;Uf(d,16,151770,s);f=-1094995529;break}h=iP(b)|0;c[g+32>>2]=h;if((h+12|0)>>>0>24){c[t>>2]=h;Uf(d,16,151805,t);f=-1094995529;break}a[g+36>>0]=gP(b)|0;a[g+37>>0]=gP(b)|0;a[g+38>>0]=gP(b)|0;a[g+40>>0]=gP(b)|0;t=g+42|0;a[t>>0]=gP(b)|0;a[g+43>>0]=gP(b)|0;do if(a[t>>0]|0){c[u>>2]=(fP(b)|0)+1;h=fP(b)|0;i=h+1|0;c[p>>2]=i;j=c[u>>2]|0;if((j|0)>=1?(j|0)<(c[A+13376>>2]|0):0){if((i|0)>=1?(i|0)<(c[A+13380>>2]|0):0){n=g+1648|0;c[n>>2]=Jh(j,4)|0;w=Jh(c[p>>2]|0,4)|0;c[g+1652>>2]=w;if((c[n>>2]|0)==0|(w|0)==0){f=-12;break b}w=(gP(b)|0)&255;a[q>>0]=w;do if(!(w<<24>>24)){g=0;j=0;k=0;while(1){i=(c[u>>2]|0)+-1|0;if((g|0)>=(i|0))break;w=(fP(b)|0)+1|0;c[(c[n>>2]|0)+(g<<2)>>2]=w;w=TW(j|0,k|0,w|0,0)|0;g=g+1|0;j=w;k=y}g=c[A+13384>>2]|0;h=((g|0)<0)<<31>>31;if(!(k>>>0<h>>>0|(k|0)==(h|0)&j>>>0<g>>>0)){Uf(d,16,151921,z);f=-1094995529;break b}g=UW(g|0,h|0,j|0,k|0)|0;c[(c[n>>2]|0)+(i<<2)>>2]=g;g=c[x>>2]|0;i=g+48|0;j=g+1652|0;h=0;n=0;o=0;while(1){k=(c[i>>2]|0)+-1|0;if((h|0)>=(k|0))break;z=(fP(b)|0)+1|0;c[(c[j>>2]|0)+(h<<2)>>2]=z;z=TW(n|0,o|0,z|0,0)|0;h=h+1|0;n=z;o=y}h=c[A+13388>>2]|0;i=((h|0)<0)<<31>>31;if(o>>>0<i>>>0|(o|0)==(i|0)&n>>>0<h>>>0){B=UW(h|0,i|0,n|0,o|0)|0;c[(c[j>>2]|0)+(k<<2)>>2]=B;break}else{Uf(d,16,151943,B);f=-1094995529;break b}}while(0);a[g+53>>0]=gP(b)|0;break}c[w>>2]=h;Uf(d,16,151882,w);f=-1094995529;break b}c[v>>2]=j+-1;Uf(d,16,151840,v);f=-1094995529;break b}while(0);a[g+54>>0]=gP(b)|0;B=(gP(b)|0)&255;a[g+55>>0]=B;do if(B<<24>>24?(a[g+56>>0]=gP(b)|0,B=(gP(b)|0)&255,a[g+57>>0]=B,B<<24>>24==0):0){h=iP(b)|0;i=iP(b)|0;if((h+6|0)>>>0>12){c[D>>2]=h;Uf(d,16,151966,D);f=-1094995529;break b}if((i+6|0)>>>0>12){c[E>>2]=i;Uf(d,16,152005,E);f=-1094995529;break b}else{c[g+60>>2]=h<<1;c[g+64>>2]=i<<1;break}}while(0);E=(gP(b)|0)&255;a[g+68>>0]=E;if(E<<24>>24?(jP(g+69|0),f=kP(b,d,g+69|0,A)|0,(f|0)<0):0)break;a[g+1617>>0]=gP(b)|0;f=fP(b)|0;if(f>>>0>(c[A+13336>>2]|0)>>>0){c[G>>2]=f;Uf(d,16,152042,G);f=-1094995529;break}c[g+1620>>2]=f+2;a[g+1628>>0]=gP(b)|0;if((gP(b)|0?(G=gP(b)|0,hP(b,7)|0,(G|0)!=0&(a[A+302>>0]|0)==4):0)?(F=lP(b,d,g,A)|0,(F|0)<0):0){f=F;break}f=mP(g,A)|0;if((f|0)>=0){g=nP(b)|0;if((g|0)<0){c[I>>2]=0-g;Uf(d,16,152093,I);break}else{oP(e,C);c[e+128+(C<<2)>>2]=H;f=0;break a}}}else{c[k>>2]=C;Uf(d,16,151658,k);f=-1094995529}while(0);zg(J)}while(0);l=K;return f|0}function AO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;while(1){f=HO(a,b,c,d,e)|0;if((f|0)<0)break;if(!(IO(a)|0)){f=1;break}}return f|0}function BO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+32|0;if((l|0)>=(m|0))W(32);w=A+24|0;u=A+16|0;j=A+8|0;i=A;y=c[b>>2]|0;v=e+24|0;q=y+628|0;a[q>>0]=CO(v)|0;x=c[y+548>>2]|0;c[b+312>>2]=x;c[b+308>>2]=x;x=e+44|0;if((c[x>>2]&-8|0)==16){c[b+224>>2]=1;a[y+1242>>0]=CO(v)|0}g=DO(v)|0;c[y+608>>2]=g;a:do if(g>>>0<=63?(h=c[y+192+(g<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;t=y+456|0;c[t>>2]=g;g=c[g>>2]|0;if(g>>>0<=15?(k=c[y+128+(g<<2)>>2]|0,k|0):0){s=y+452|0;h=c[s>>2]|0;g=c[k+4>>2]|0;if((h|0)==(g|0)){g=h;h=c[y+448>>2]|0}else{c[s>>2]=g;h=c[(c[y+64+(c[g>>2]<<2)>>2]|0)+4>>2]|0;c[y+448>>2]=h}j=c[g+13376>>2]|0;c[b+328>>2]=j;k=c[g+13380>>2]|0;c[b+332>>2]=k;c[b+320>>2]=j-(c[g+12>>2]|0)-(c[g+16>>2]|0);c[b+324>>2]=k-(c[g+20>>2]|0)-(c[g+24>>2]|0);c[b+336>>2]=c[g+56>>2];c[f+716>>2]=d[g+302>>0];c[f+720>>2]=d[g+335>>0];if(!(a[h+444>>0]|0)){if(c[g+240>>2]|0){o=g+244|0;p=g+248|0;z=16}}else{o=h+448|0;p=h+452|0;z=16}if((z|0)==16?(n=c[o>>2]|0,r=c[p>>2]|0,(n|0)!=0&(r|0)!=0):0)Kn(f+764|0,f+760|0,n,((n|0)<0)<<31>>31,r,((r|0)<0)<<31>>31,1073741824,0)|0;do if(!(a[q>>0]|0)){if(!(a[(c[t>>2]|0)+41>>0]|0))g=0;else g=(CO(v)|0)&255;k=y+629|0;a[k>>0]=g;h=c[s>>2]|0;i=c[h+13384>>2]|0;h=c[h+13388>>2]|0;g=(N(i<<1,h)|0)+-2|0;q=g>>>0>65535;g=q?g>>>16:g;q=q?16:0;r=(g&65280|0)==0;g=(r?q:q|8)+(d[116064+(r?g:g>>>8)>>0]|0)|0;if(!g){j=0;g=i}else{j=EO(v,g)|0;g=c[s>>2]|0;h=c[g+13388>>2]|0;g=c[g+13384>>2]|0}c[y+612>>2]=j;if(j>>>0<(N(h,g)|0)>>>0)if(!(a[k>>0]|0)){g=0;break}else{g=0;break a}else{c[u>>2]=j;Uf(f,16,151362,u);g=-1094995529;break a}}else{a[y+629>>0]=0;g=0}while(0);while(1){if((g|0)>=(c[(c[t>>2]|0)+1624>>2]|0))break;FO(v);g=g+1|0}g=DO(v)|0;c[y+620>>2]=g;if(g>>>0>=3){c[w>>2]=g;Uf(f,16,151398,w);g=-1094995529;break}c[b+32>>2]=(g|0)==0?3:(g|0)==1?2:1;if(a[(c[t>>2]|0)+39>>0]|0)a[y+630>>0]=CO(v)|0;if(a[(c[s>>2]|0)+8>>0]|0)a[y+631>>0]=EO(v,2)|0;if(((c[x>>2]|0)+-19|0)>>>0<2)g=0;else{g=EO(v,c[(c[s>>2]|0)+60>>2]|0)|0;c[y+624>>2]=g;g=GO(c[s>>2]|0,c[y+1716>>2]|0,g,c[x>>2]|0)|0}c[y+1712>>2]=g;c[b+316>>2]=g;if(c[e+48>>2]|0){g=1;break}switch(c[x>>2]|0){case 9:case 7:case 8:case 6:case 4:case 2:case 0:{g=1;break a}default:{}}c[y+1716>>2]=g;g=1;break}c[j>>2]=g;Uf(f,16,151683,j);g=-1094995529}else z=5;while(0);if((z|0)==5){c[i>>2]=g;Uf(f,16,151658,i);g=-1094995529}l=A;return g|0}function CO(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function DO(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[116064+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){Uf(0,16,151423,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[122033+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[122545+a>>0]|0}while(0);l=i;return a|0}function EO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function FO(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function GO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=1<<c[a+60>>2];g=(b|0)%(f|0)|0;a=b-g|0;if((g|0)>(d|0)?(g-d|0)>=((f|0)/2|0|0):0)a=a+f|0;else if((g|0)<(d|0))a=a-((d-g|0)>((f|0)/2|0|0)?f:0)|0;return ((e+-16|0)>>>0<3?0:a)+d|0}function HO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);Uf(b,48,151447,j);f=255;h=0;while(1){if((f|0)!=255){f=0;g=255;i=5;break}if((h|0)>2147483392|(JO(a)|0)<16){f=-1094995529;break}g=MO(a,8)|0;f=g;h=g+h|0}a:do if((i|0)==5){while(1){if((g|0)!=255)break;i=JO(a)|0;k=((i|0)<0)<<31>>31;g=cX(f|0,((f|0)<0)<<31>>31|0,3)|0;g=TW(g|0,y|0,8,0)|0;n=y;if((n|0)>(k|0)|(n|0)==(k|0)&g>>>0>i>>>0){f=-1094995529;break a}g=MO(a,8)|0;f=g+f|0;i=5}if((e|0)==39){f=NO(a,b,c,d,h,f)|0;break}else{OO(a,b,c,h,f);f=0;break}}while(0);l=j;return f|0}function IO(a){a=a|0;if((JO(a)|0)>0)a=(KO(a)|0)!=128&1;else a=0;return a|0}function JO(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(LO(a)|0)|0}function KO(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>24|0}function LO(a){a=a|0;return c[a+8>>2]|0}function MO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function NO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;do switch(f|0){case 256:{PO(d,a);a=0;break}case 45:{SO(d+52|0,a);a=0;break}case 47:{TO(d+72|0,a);a=0;break}case 1:{a=UO(d,a,e,b,g)|0;break}case 137:{VO(d+100|0,a);a=0;break}case 144:{WO(d+128|0,a);a=0;break}case 129:{a=XO(d,a,b)|0;break}case 4:{a=YO(d,a,g)|0;break}case 147:{ZO(d+140|0,a);a=0;break}default:{c[h>>2]=f;Uf(b,48,151484,h);QO(a,g<<3);a=0}}while(0);l=i;return a|0}function OO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=h;if((e|0)==132)PO(d,a);else{c[g>>2]=e;Uf(b,48,151461,g);QO(a,f<<3)}l=h;return}function PO(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=(MO(c,8)|0)&255;f=b+48|0;d=0;while(1){if((d|0)==3)break;a:do switch(g<<24>>24){case 0:{a[f>>0]=1;e=0;while(1){if((e|0)==16)break a;a[b+(d<<4)+e>>0]=MO(c,8)|0;e=e+1|0}}case 1:{RO(c,16);break}case 2:{RO(c,32);break}default:{}}while(0);d=d+1|0}return}function QO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function RO(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function SO(a,b){a=a|0;b=b|0;var d=0,e=0;aP(b)|0;d=(dP(b)|0)==0;c[a>>2]=d&1;if(d){d=a+4|0;c[d>>2]=MO(b,7)|0;e=a+12|0;c[e>>2]=dP(b)|0;c[a+8>>2]=MO(b,6)|0;RO(b,3);c[a+16>>2]=dP(b)|0;RO(b,2);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)RO(b,16);RO(b,8);cP(b)}cP(b);return}function TO(a,b){a=a|0;b=b|0;var d=0;d=(dP(b)|0)==0;c[a>>2]=d&1;if(d){c[a+8>>2]=dP(b)|0;c[a+12>>2]=dP(b)|0;c[a+4>>2]=MO(b,16)|0;cP(b)}return}function UO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=j+8|0;g=j;d=c[d+64+(c[a+136>>2]<<2)>>2]|0;if(!d)f=-12;else{if(c[(c[d+4>>2]|0)+216>>2]|0){d=MO(b,4)|0;a=a+88|0;c[a>>2]=0;switch(d|0){case 2:case 10:case 12:{Uf(e,48,151574,g);d=2;i=6;break}case 1:case 9:case 11:{Uf(e,48,151588,h);d=1;i=6;break}default:{}}if((i|0)==6)c[a>>2]=d;MO(b,2)|0;MO(b,1)|0;cP(b);f=f+-1|0}QO(b,f<<3);f=0}l=j;return f|0}function VO(a,d){a=a|0;d=d|0;var e=0,f=0;e=0;while(1){f=(MO(d,16)|0)&65535;if((e|0)==3)break;b[a+4+(e<<2)>>1]=f;b[a+4+(e<<2)+2>>1]=MO(d,16)|0;e=e+1|0}b[a+16>>1]=f;b[a+18>>1]=MO(d,16)|0;c[a+20>>2]=_O(d,32)|0;c[a+24>>2]=_O(d,32)|0;c[a>>2]=2;return}function WO(a,d){a=a|0;d=d|0;b[a+4>>1]=_O(d,16)|0;b[a+6>>1]=_O(d,16)|0;c[a>>2]=2;return}function XO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=h+8|0;e=h;MO(b,4)|0;MO(b,1)|0;MO(b,1)|0;g=aP(b)|0;a:do if(g>>>0>15){c[e>>2]=g;Uf(d,16,151507,e);e=-1094995529}else{e=aP(b)|0;if(e>>>0>15){c[f>>2]=e;Uf(d,16,151538,f);e=-1094995529;break}c[a+136>>2]=e;e=1;while(1){if((e|0)>(g|0)){e=0;break a}aP(b)|0;e=e+1|0}}while(0);l=h;return e|0}function YO(a,b,c){a=a|0;b=b|0;c=c|0;do if((c|0)>=7){if((MO(b,8)|0)==255){RO(b,8);c=c+-8|0}else c=c+-7|0;RO(b,8);RO(b,8);if((_O(b,32)|0)==1195456820){c=$O(a+92|0,b,c)|0;break}else{QO(b,c<<3);c=0;break}}else c=-22;while(0);return c|0}function ZO(a,b){a=a|0;b=b|0;c[a>>2]=1;c[a+4>>2]=MO(b,8)|0;return}function _O(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=MO(a,b)|0;break}else{b=b+-16|0;c=(MO(a,16)|0)<<b;a=c|(MO(a,b)|0);break}else a=0;while(0);return a|0}function $O(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;a:do if((e|0)>=3){if((MO(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}RO(d,8);e=e+1|0}}RO(d,1);if(((MO(d,1)|0)!=0?(RO(d,1),g=MO(d,5)|0,RO(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=ZW(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=TW(f|0,y|0,e|0,((e|0)<0)<<31>>31|0)|0;f=y;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=dk(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(MO(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(MO(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(MO(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}RO(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function aP(a){a=a|0;var b=0,c=0,e=0;e=bP(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[116064+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;QO(a,b);return (_O(a,b+1|0)|0)+-1|0}function bP(a){a=a|0;var b=0,d=0;b=l;l=l+32|0;if((l|0)>=(m|0))W(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=_O(d,32)|0;l=b;return a|0}function cP(a){a=a|0;RO(a,1);return}function dP(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function eP(a,b){a=a|0;b=b|0;var d=0;a=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=a;c[d>>2]=b;Qf(b+1648|0);Qf(b+1652|0);Qf(b+1656|0);Qf(b+1660|0);Qf(b+1664|0);Qf(b+1668|0);Qf(b+1672|0);Qf(b+1680|0);Qf(b+1676|0);Qf(b+1688|0);Qf(d);l=a;return}function fP(a){a=a|0;var b=0,c=0,e=0;e=rP(a,32)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[116064+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;sP(a,b);return (tP(a,b+1|0)|0)+-1|0}function gP(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function hP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function iP(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(eX(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[122033+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[123057+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[116064+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(eX(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function jP(b){b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)==6)break;d=b+(c<<6)|0;e=d+16|0;do{a[d>>0]=16;d=d+1|0}while((d|0)<(e|0));a[b+1536+c>>0]=16;a[b+1542+c>>0]=16;c=c+1|0}d=b+384|0;c=152258;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+448|0;c=152258;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+512|0;c=152258;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+576|0;c=152322;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+640|0;c=152322;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+704|0;c=152322;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+768|0;c=152258;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+832|0;c=152258;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+896|0;c=152258;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+960|0;c=152322;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1024|0;c=152322;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1088|0;c=152322;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1152|0;c=152258;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1216|0;c=152258;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1280|0;c=152258;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1344|0;c=152322;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1408|0;c=152322;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1472|0;c=152322;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));return}function kP(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;if((l|0)>=(m|0))W(16);v=w;o=0;a:while(1){if((o|0)>=4){i=20;break}s=(o|0)==3?3:1;t=(o|0)>0?64:16;u=(o|0)>1;q=o+-2|0;n=1<<(o<<1)+4;n=(n|0)<64?n:64;r=(o|0)==0;p=0;while(1){if((p|0)>=6)break;b:do if(!(((gP(b)|0)&255)<<24>>24)){h=fP(b)|0;if(h|0){h=N(h,s)|0;if(p>>>0<h>>>0){i=8;break a}h=p-h|0;gX(f+(o*384|0)+(p<<6)|0,f+(o*384|0)+(h<<6)|0,t|0)|0;if(u)a[f+1536+(q*6|0)+p>>0]=a[f+1536+(q*6|0)+h>>0]|0}}else{if(u){i=(iP(b)|0)+8|0;a[f+1536+(q*6|0)+p>>0]=i;h=0}else{h=0;i=8}while(1){if((h|0)>=(n|0))break b;if(r){j=(d[151186+h>>0]|0)<<2;k=151170+h|0}else{j=(d[151266+h>>0]|0)<<3;k=151202+h|0}j=j+(d[k>>0]|0)|0;k=(iP(b)|0)+i|0;a[f+(o*384|0)+(p<<6)+j>>0]=k;h=h+1|0;i=k&255}}while(0);p=p+s|0}o=o+1|0}if((i|0)==8){c[v>>2]=h;Uf(e,16,152217,v);h=-1094995529}else if((i|0)==20)if((c[g+4>>2]|0)==3){h=0;while(1){if((h|0)==64)break;a[f+1216+h>>0]=a[f+832+h>>0]|0;a[f+1280+h>>0]=a[f+896+h>>0]|0;a[f+1408+h>>0]=a[f+1024+h>>0]|0;a[f+1472+h>>0]=a[f+1088+h>>0]|0;h=h+1|0}a[f+1543>>0]=a[f+1537>>0]|0;a[f+1544>>0]=a[f+1538>>0]|0;a[f+1546>>0]=a[f+1540>>0]|0;a[f+1547>>0]=a[f+1541>>0]|0;h=0}else h=0;l=w;return h|0}function lP(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+32|0;if((l|0)>=(m|0))W(32);p=q+16|0;o=q+8|0;i=q;if(a[f+21>>0]|0)a[f+1629>>0]=(fP(b)|0)+2;a[f+1630>>0]=gP(b)|0;k=(gP(b)|0)&255;a[f+1631>>0]=k;a:do if(!(k<<24>>24))j=12;else{a[f+1632>>0]=fP(b)|0;r=fP(b)|0;h=r&255;k=f+1633|0;a[k>>0]=h;if((r&254)>>>0>5){Uf(e,16,152118,i);break}else i=0;while(1){if((i|0)>(h&255|0)){j=12;break a}r=(qP(b)|0)&255;a[f+1634+i>>0]=r;if(r<<24>>24)Uf(e,24,152182,o);r=(qP(b)|0)&255;a[f+1640+i>>0]=r;if(r<<24>>24)Uf(e,24,152182,p);i=i+1|0;h=a[k>>0]|0}}while(0);if((j|0)==12?(r=f+1646|0,a[r>>0]=fP(b)|0,n=fP(b)|0,a[f+1647>>0]=n,p=c[g+44>>2]|0,(((p|0)>10?p+-10|0:0)|0)>=(d[r>>0]|0)):0){r=c[g+48>>2]|0;l=q;return ((((r|0)>10?r+-10|0:0)|0)<(n&255|0)?-1094995529:0)|0}l=q;return -1094995529}function mP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=b+44|0;x=b+1656|0;c[x>>2]=Jh((c[w>>2]|0)+1|0,4)|0;y=b+48|0;v=b+1660|0;c[v>>2]=Jh((c[y>>2]|0)+1|0,4)|0;z=d+13384|0;t=Jh(c[z>>2]|0,4)|0;i=b+1664|0;c[i>>2]=t;e=c[x>>2]|0;a:do if((e|0)!=0?!((t|0)==0|(c[v>>2]|0)==0):0){q=b+1648|0;if(a[b+52>>0]|0){e=c[q>>2]|0;if(!e){c[q>>2]=Jh(c[w>>2]|0,4)|0;f=Jh(c[y>>2]|0,4)|0;c[b+1652>>2]=f;e=c[q>>2]|0;if(!e){e=-12;break}}else f=c[b+1652>>2]|0;if(!f){e=-12;break}else g=0;while(1){h=c[w>>2]|0;if((g|0)>=(h|0))break;t=g+1|0;s=c[z>>2]|0;c[e+(g<<2)>>2]=((N(s,t)|0)/(h|0)|0)-((N(s,g)|0)/(h|0)|0);g=t}g=d+13388|0;e=0;while(1){h=c[y>>2]|0;if((e|0)>=(h|0))break;t=e+1|0;s=c[g>>2]|0;c[f+(e<<2)>>2]=((N(s,t)|0)/(h|0)|0)-((N(s,e)|0)/(h|0)|0);e=t}e=c[x>>2]|0}c[e>>2]=0;f=0;g=0;while(1){if((f|0)>=(c[w>>2]|0))break;t=(c[(c[q>>2]|0)+(f<<2)>>2]|0)+g|0;s=f+1|0;c[e+(s<<2)>>2]=t;f=s;g=t}g=c[v>>2]|0;c[g>>2]=0;n=b+1652|0;f=0;h=0;while(1){if((f|0)>=(c[y>>2]|0)){f=0;g=0;break}t=(c[(c[n>>2]|0)+(f<<2)>>2]|0)+h|0;s=f+1|0;c[g+(s<<2)>>2]=t;f=s;h=t}while(1){h=c[z>>2]|0;if((g|0)>=(h|0))break;t=f+(g>>>0>(c[e+(f<<2)>>2]|0)>>>0&1)|0;c[(c[i>>2]|0)+(g<<2)>>2]=t;f=t;g=g+1|0}m=N(c[d+13388>>2]|0,h)|0;s=b+1668|0;c[s>>2]=Jh(m,4)|0;e=b+1672|0;c[e>>2]=Jh(m,4)|0;f=b+1676|0;c[f>>2]=Jh(m,4)|0;t=d+13420|0;g=(c[t>>2]|0)+2|0;g=Jh(N(g,g)|0,4)|0;p=b+1688|0;c[p>>2]=g;o=c[s>>2]|0;if(((o|0)!=0?(r=c[e>>2]|0,(r|0)!=0):0)?(u=c[f>>2]|0,!((g|0)==0|(u|0)==0)):0){i=0;while(1){if((i|0)>=(m|0)){e=0;l=0;break}j=c[z>>2]|0;k=(i|0)%(j|0)|0;l=(i|0)/(j|0)|0;f=c[w>>2]|0;e=0;while(1){if((e|0)>=(f|0)){e=0;break}g=e+1|0;if(k>>>0<(c[(c[x>>2]|0)+(g<<2)>>2]|0)>>>0)break;else e=g}g=c[y>>2]|0;f=0;while(1){if((f|0)>=(g|0)){h=0;break}h=f+1|0;if(l>>>0<(c[(c[v>>2]|0)+(h<<2)>>2]|0)>>>0){h=f;break}else f=h}f=0;g=0;while(1){if((g|0)>=(e|0)){g=0;break}f=(N(c[(c[q>>2]|0)+(g<<2)>>2]|0,c[(c[n>>2]|0)+(h<<2)>>2]|0)|0)+f|0;g=g+1|0}while(1){if((g|0)>=(h|0))break;f=(N(c[(c[n>>2]|0)+(g<<2)>>2]|0,j)|0)+f|0;g=g+1|0}l=N(c[(c[q>>2]|0)+(e<<2)>>2]|0,l-(c[(c[v>>2]|0)+(h<<2)>>2]|0)|0)|0;l=f+k+l-(c[(c[x>>2]|0)+(e<<2)>>2]|0)|0;c[o+(i<<2)>>2]=l;c[r+(l<<2)>>2]=i;i=i+1|0}b:while(1){if((l|0)>=(c[y>>2]|0))break;m=l+1|0;h=0;while(1){if((h|0)>=(c[w>>2]|0)){l=m;continue b}g=c[v>>2]|0;i=g+(m<<2)|0;j=h+1|0;g=c[g+(l<<2)>>2]|0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;f=c[x>>2]|0;k=f+(j<<2)|0;f=c[f+(h<<2)>>2]|0;while(1){if(f>>>0>=(c[k>>2]|0)>>>0)break;c[u+(c[o+((N(c[z>>2]|0,g)|0)+f<<2)>>2]<<2)>>2]=e;f=f+1|0}g=g+1|0}e=e+1|0;h=j}}g=Jh(e,4)|0;c[b+1680>>2]=g;if(g){f=0;while(1){if((f|0)<(c[y>>2]|0))e=0;else break;while(1){h=c[w>>2]|0;if((e|0)>=(h|0))break;u=N(c[z>>2]|0,c[(c[v>>2]|0)+(f<<2)>>2]|0)|0;c[g+((N(h,f)|0)+e<<2)>>2]=(c[(c[x>>2]|0)+(e<<2)>>2]|0)+u;e=e+1|0}f=f+1|0}i=c[d+13336>>2]|0;h=c[d+13328>>2]|0;g=c[p>>2]|0;j=c[t>>2]|0;n=g+(j+3<<2)|0;c[b+1684>>2]=n;e=0;while(1){f=j+2|0;if((e|0)>=(f|0))break;c[g+((N(f,e)|0)<<2)>>2]=-1;c[g+(e<<2)>>2]=-1;e=e+1|0;j=c[t>>2]|0}l=i-h|0;m=l<<1;k=0;e=j;while(1){if((k|0)>(e|0)){e=0;break a}i=k>>l;h=0;while(1){if((h|0)>(e|0))break;f=(N(c[z>>2]|0,i)|0)+(h>>l)|0;f=c[(c[s>>2]|0)+(f<<2)>>2]<<m;g=0;while(1){if((g|0)>=(l|0))break;b=1<<g;f=((b&k|0)==0?0:b<<1<<g)+f+((b&h|0)==0?0:b<<g)|0;g=g+1|0}c[n+((N(e+2|0,k)|0)+h<<2)>>2]=f;h=h+1|0;e=c[t>>2]|0}k=k+1|0}}else e=-12}else e=-12}else e=-12;while(0);return e|0}function nP(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(pP(a)|0)|0}function oP(a,b){a=a|0;b=b|0;var d=0,e=0;b=a+128+(b<<2)|0;d=c[b>>2]|0;if(d|0?(e=a+392|0,(c[e>>2]|0)==(c[d+4>>2]|0)):0)c[e>>2]=0;zg(b);return}function pP(a){a=a|0;return c[a+8>>2]|0}function qP(a){a=a|0;a=fP(a)|0;return ((a&1)+-1^a>>>1)+1|0}function rP(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+32|0;if((l|0)>=(m|0))W(32);d=e;if((b|0)<26)a=uP(a,b)|0;else{c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=tP(d,b)|0}l=e;return a|0}function sP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function tP(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=hP(a,b)|0;break}else{b=b+-16|0;c=(hP(a,16)|0)<<b;a=c|(hP(a,b)|0);break}else a=0;while(0);return a|0}function uP(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function vP(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0;_=l;l=l+272|0;if((l|0)>=(m|0))W(272);Z=_+256|0;Y=_+248|0;X=_+240|0;V=_+232|0;U=_+224|0;T=_+216|0;S=_+208|0;R=_+200|0;P=_+192|0;O=_+176|0;M=_+168|0;L=_+160|0;K=_+152|0;H=_+144|0;F=_+136|0;E=_+120|0;D=_+112|0;C=_+104|0;B=_+96|0;A=_+88|0;x=_+80|0;w=_+72|0;u=_+64|0;t=_+56|0;r=_+40|0;q=_+32|0;p=_+24|0;o=_+16|0;n=_+8|0;k=_;j=hP(e,4)|0;c[d>>2]=j;a:do if(j>>>0<=15){if(h|0?(c[h+(j<<2)>>2]|0)==0:0){c[n>>2]=j;Uf(i,16,152626,n);h=-1094995529;break}h=(hP(e,3)|0)+1|0;v=d+68|0;c[v>>2]=h;if((h|0)>7){c[o>>2]=h;Uf(i,16,152649,o);h=-1094995529;break}a[d+156>>0]=hP(e,1)|0;h=xP(e,i,d+300|0,c[v>>2]|0)|0;if((h|0)>=0){h=fP(e)|0;c[f>>2]=h;if(h>>>0>15){c[p>>2]=h;Uf(i,16,151683,p);h=-1094995529;break}h=fP(e)|0;o=d+4|0;c[o>>2]=h;if(h>>>0>3){c[q>>2]=h;Uf(i,16,152686,q);h=-1094995529;break}if((h|0)==3){h=(gP(e)|0)&255;a[d+8>>0]=h}else h=a[d+8>>0]|0;if(h<<24>>24)c[o>>2]=0;I=d+13376|0;c[I>>2]=fP(e)|0;h=fP(e)|0;J=d+13380|0;c[J>>2]=h;h=Vh(c[I>>2]|0,h,0,i)|0;if((h|0)>=0){if(gP(e)|0){k=c[o>>2]|0;n=(k|0)<2?2:1;k=(k|0)<3?2:1;h=d+28|0;c[h>>2]=N(k,fP(e)|0)|0;j=d+32|0;c[j>>2]=N(fP(e)|0,k)|0;k=d+36|0;c[k>>2]=N(fP(e)|0,n)|0;n=N(fP(e)|0,n)|0;c[d+40>>2]=n;if(c[i+64>>2]&65536|0){z=c[j>>2]|0;G=c[k>>2]|0;c[r>>2]=c[h>>2];c[r+4>>2]=z;c[r+8>>2]=G;c[r+12>>2]=n;Uf(i,48,152719,r);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}G=d+12|0;c[G>>2]=c[h>>2];c[G+4>>2]=c[h+4>>2];c[G+8>>2]=c[h+8>>2];c[G+12>>2]=c[h+12>>2]}G=d+44|0;c[G>>2]=(fP(e)|0)+8;h=(fP(e)|0)+8|0;if(c[o>>2]|0?(s=c[G>>2]|0,(h|0)!=(s|0)):0){c[t>>2]=s;c[t+4>>2]=h;Uf(i,16,152795,t);h=-1094995529;break}c[d+48>>2]=h;h=yP(i,d)|0;if((h|0)>=0){h=fP(e)|0;z=h+4|0;y=d+60|0;c[y>>2]=z;if(z>>>0>16){c[u>>2]=h;Uf(i,16,152878,u);h=-1094995529;break}o=(gP(e)|0)!=0;if(o)p=0;else p=(c[v>>2]|0)+-1|0;z=i+580|0;n=p;while(1){if((n|0)>=(c[v>>2]|0))break;f=d+72+(n*12|0)|0;c[f>>2]=(fP(e)|0)+1;j=d+72+(n*12|0)+4|0;c[j>>2]=fP(e)|0;c[d+72+(n*12|0)+8>>2]=(fP(e)|0)+-1;k=c[f>>2]|0;if(k>>>0>16){Q=34;break}h=c[j>>2]|0;if((h|0)>=(k|0)){c[x>>2]=h;Uf(i,24,152978,x);if(c[z>>2]&8|0){h=-1094995529;break a}h=c[j>>2]|0;if((h|0)>15){h=-1094995529;break a}c[f>>2]=h+1}n=n+1|0}if((Q|0)==34){c[w>>2]=k+-1;Uf(i,16,152927,w);h=-1094995529;break}b:do if(!o){j=d+72+(p*12|0)|0;k=d+72+(p*12|0)+4|0;n=d+72+(p*12|0)+8|0;h=0;while(1){if((h|0)>=(p|0))break b;c[d+72+(h*12|0)>>2]=c[j>>2];c[d+72+(h*12|0)+4>>2]=c[k>>2];c[d+72+(h*12|0)+8>>2]=c[n>>2];h=h+1|0}}while(0);r=d+13320|0;c[r>>2]=(fP(e)|0)+3;s=d+13324|0;c[s>>2]=fP(e)|0;t=d+13328|0;c[t>>2]=(fP(e)|0)+2;j=fP(e)|0;k=c[t>>2]|0;u=d+13332|0;c[u>>2]=k+j;n=c[r>>2]|0;if((n+-3|0)>>>0>27){c[A>>2]=n;Uf(i,16,153021,A);h=-1094995529;break}h=c[s>>2]|0;if(h>>>0>30){c[B>>2]=h;Uf(i,16,153059,B);h=-1094995529;break}if(k>>>0>=n>>>0|k>>>0<2){Uf(i,16,153116,C);h=-1094995529;break}if(j>>>0>30){c[D>>2]=j;Uf(i,16,153151,D);h=-1094995529;break}p=d+13344|0;c[p>>2]=fP(e)|0;q=d+13348|0;c[q>>2]=fP(e)|0;D=(gP(e)|0)&255;a[d+634>>0]=D;do if(D<<24>>24){h=d+635|0;jP(h);if(!(gP(e)|0))break;h=kP(e,i,h,d)|0;if((h|0)<0)break a}while(0);a[d+13196>>0]=gP(e)|0;a[d+13197>>0]=gP(e)|0;D=gP(e)|0;c[d+64>>2]=D;do if(D|0){h=d+13300|0;a[h>>0]=(hP(e,4)|0)+1;j=d+13301|0;a[j>>0]=(hP(e,4)|0)+1;k=(fP(e)|0)+3|0;c[d+13304>>2]=k;c[d+13308>>2]=(fP(e)|0)+k;h=a[h>>0]|0;j=a[j>>0]|0;k=c[G>>2]|0;if((k|0)<(((h&255)>(j&255)?h:j)&255|0)){c[E>>2]=h&255;c[E+4>>2]=j&255;c[E+8>>2]=k;Uf(i,16,153211,E);h=-1094995529;break a}else{a[d+13312>>0]=gP(e)|0;break}}while(0);h=fP(e)|0;k=d+2184|0;c[k>>2]=h;if(h>>>0>64){c[F>>2]=h;Uf(i,16,153273,F);h=-1094995529;break}else j=0;while(1){if(j>>>0>=h>>>0)break;h=zP(e,i,d+2188+(j*172|0)|0,d,0)|0;if((h|0)<0)break a;j=j+1|0;h=c[k>>2]|0}F=(gP(e)|0)&255;a[d+13198>>0]=F;c:do if(F<<24>>24){j=fP(e)|0;h=j&255;k=d+13296|0;a[k>>0]=h;j=j&255;if(j>>>0>32){c[H>>2]=j;Uf(i,16,153303,H);h=-1094995529;break a}else j=0;while(1){if((j|0)>=(h&255|0))break c;b[d+13200+(j<<1)>>1]=hP(e,c[y>>2]|0)|0;a[d+13264+j>>0]=gP(e)|0;j=j+1|0;h=a[k>>0]|0}}while(0);a[d+13316>>0]=gP(e)|0;a[d+13317>>0]=gP(e)|0;c[d+160>>2]=0;c[d+164>>2]=1;if(gP(e)|0)AP(e,i,g,d);do if(gP(e)|0){h=0;j=0;while(1){if((h|0)==1)break;h=h+1|0;j=gP(e)|0}BP(e,7);if(!j)break;c[d+13352>>2]=gP(e)|0;c[d+13356>>2]=gP(e)|0;c[d+13360>>2]=gP(e)|0;c[d+13364>>2]=gP(e)|0;if(gP(e)|0)Uf(i,24,153337,K);c[d+13368>>2]=gP(e)|0;if(gP(e)|0)Uf(i,24,153393,L);c[d+13372>>2]=gP(e)|0;if(!(gP(e)|0))break;Uf(i,24,153450,M)}while(0);if(!g){n=d+12|0;k=d+16|0;h=n;j=k;k=c[k>>2]|0;n=c[n>>2]|0}else{j=d+12|0;n=(c[j>>2]|0)+(c[d+224>>2]|0)|0;c[j>>2]=n;j=d+16|0;k=(c[j>>2]|0)+(c[d+228>>2]|0)|0;c[j>>2]=k;h=d+20|0;c[h>>2]=(c[h>>2]|0)+(c[d+232>>2]|0);h=d+24|0;c[h>>2]=(c[h>>2]|0)+(c[d+236>>2]|0);h=d+12|0}o=c[d+20>>2]|0;f=c[d+24>>2]|0;do if(n>>>0<(2147483647-k|0)>>>0&o>>>0<(2147483647-f|0)>>>0){if((k+n|0)>>>0>=(c[I>>2]|0)>>>0){Q=87;break}if((f+o|0)>>>0>=(c[J>>2]|0)>>>0)Q=87}else Q=87;while(0);if((Q|0)==87){Q=c[j>>2]|0;c[O>>2]=n;c[O+4>>2]=Q;c[O+8>>2]=o;c[O+12>>2]=f;Uf(i,24,153507,O);if(c[z>>2]&8|0){h=-1094995529;break}Uf(i,24,153546,P);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;Q=d+28|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0}k=c[r>>2]|0;n=(c[s>>2]|0)+k|0;h=d+13336|0;c[h>>2]=n;j=k+-1|0;c[d+13340>>2]=j;if(n>>>0>6){c[R>>2]=n;Uf(i,16,153583,R);h=-1094995529;break}if(n>>>0<4){c[S>>2]=n;Uf(i,16,153612,S);c[T>>2]=c[h>>2];Li(i,153675,T);h=-1094995529;break}S=c[I>>2]|0;Q=1<<n;R=Q+-1+S>>n;c[d+13384>>2]=R;T=c[J>>2]|0;Q=T+-1+Q>>n;c[d+13388>>2]=Q;c[d+13392>>2]=N(Q,R)|0;c[d+13396>>2]=S>>k;c[d+13400>>2]=T>>k;R=c[t>>2]|0;c[d+13404>>2]=S>>R;c[d+13408>>2]=T>>R;c[d+13412>>2]=S>>j;c[d+13416>>2]=T>>j;j=n-R|0;c[d+13420>>2]=(1<<j)+-1;c[d+13448>>2]=((c[G>>2]|0)*6|0)+-48;if((1<<k)+-1&(S|T)|0){Uf(i,16,153692,U);h=-1094995529;break}h=c[p>>2]|0;if(h>>>0>j>>>0){c[V>>2]=h;Uf(i,16,153725,V);h=-1094995529;break}h=c[q>>2]|0;if(h>>>0>j>>>0){c[X>>2]=h;Uf(i,16,153779,X);h=-1094995529;break}h=c[u>>2]|0;if(h>>>0>(n>>>0<5?n:5)>>>0){c[Y>>2]=h;Uf(i,16,153833,Y);h=-1094995529;break}h=nP(e)|0;if((h|0)>=0){h=0;break}c[Z>>2]=0-h;Uf(i,16,153876,Z);h=-1094995529}}}}else{c[k>>2]=j;Uf(i,16,152601,k);h=-1094995529}while(0);l=_;return h|0}function wP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=h;e=a+64+(b<<2)|0;d=c[e>>2]|0;if(d|0){f=a+388|0;if((c[f>>2]|0)==(c[d+4>>2]|0)){c[f>>2]=0;d=0}else d=0;while(1){if((d|0)==64)break;i=c[a+128+(d<<2)>>2]|0;if(i|0?(c[c[i+4>>2]>>2]|0)==(b|0):0)oP(a,d);d=d+1|0}i=c[e>>2]|0;if(i|0?(c[f>>2]|0)==(c[i+4>>2]|0):0){c[g>>2]=152516;c[g+4>>2]=152580;c[g+8>>2]=92;Uf(0,0,159675,g);Ub()}}zg(e);l=h;return}function xP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+32|0;if((l|0)>=(m|0))W(32);k=o+16|0;j=o+8|0;g=o;a:do if((FP(b,d,e)|0)>=0?(i=f+-1|0,h=(f|0)>1,(nP(b)|0)>=((h&1)<<4|8|0)):0){a[e+35>>0]=hP(b,8)|0;f=0;while(1){if((f|0)>=(i|0))break;a[e+320+f>>0]=gP(b)|0;a[e+327+f>>0]=gP(b)|0;f=f+1|0}b:do if(h){f=i;while(1){if((f|0)>=8){f=0;break b}BP(b,2);f=f+1|0}}else f=0;while(0);while(1){if((f|0)>=(i|0)){f=0;break a}if(a[e+320+f>>0]|0?(FP(b,d,e+40+(f*40|0)|0)|0)<0:0){n=13;break}if(a[e+327+f>>0]|0){if((nP(b)|0)<8){n=16;break}a[e+40+(f*40|0)+35>>0]=hP(b,8)|0}f=f+1|0}if((n|0)==13){c[j>>2]=f;Uf(d,16,154601,j);f=-1;break}else if((n|0)==16){c[k>>2]=f;Uf(d,16,154644,k);f=-1;break}}else n=3;while(0);if((n|0)==3){Uf(d,16,154574,g);f=-1}l=o;return f|0}function yP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=i;h=b+44|0;e=c[h>>2]|0;a:do switch(e|0){case 8:{switch(c[b+4>>2]|0){case 0:{a=8;break}case 1:{a=0;break}case 2:{c[b+56>>2]=4;g=23;break a}case 3:{c[b+56>>2]=5;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 9:{switch(c[b+4>>2]|0){case 0:{a=30;break}case 1:{a=62;break}case 2:{c[b+56>>2]=72;g=23;break a}case 3:{c[b+56>>2]=68;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 10:{switch(c[b+4>>2]|0){case 0:{a=171;break}case 1:{a=64;break}case 2:{c[b+56>>2]=66;g=23;break a}case 3:{c[b+56>>2]=70;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 12:{switch(c[b+4>>2]|0){case 0:{a=169;break}case 1:{a=125;break}case 2:{c[b+56>>2]=129;g=23;break a}case 3:{c[b+56>>2]=133;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}default:{c[f>>2]=c[b+4>>2];c[f+4>>2]=e;Uf(a,16,154464,f);a=-1094995529}}while(0);if((g|0)==23){a=nh(c[b+56>>2]|0)|0;if(!a)a=-22;else{c[b+13436>>2]=0;c[b+13424>>2]=0;g=d[a+5>>0]|0;c[b+13428>>2]=g;c[b+13432>>2]=g;a=d[a+6>>0]|0;c[b+13440>>2]=a;c[b+13444>>2]=a;c[b+52>>2]=(c[h>>2]|0)>8&1;a=0}}l=i;return a|0}function zP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;if((l|0)>=(m|0))W(48);p=s+40|0;o=s+32|0;k=s+24|0;q=s+16|0;n=s+8|0;j=s;h=f+2188|0;a:do if(((h|0)!=(e|0)?(i=f+2184|0,(c[i>>2]|0)!=0):0)?((gP(b)|0)&255)<<24>>24!=0:0){do if(g){h=(fP(b)|0)+1|0;g=c[i>>2]|0;if(g>>>0<h>>>0){c[j>>2]=h;c[j+4>>2]=g;Uf(d,16,154274,j);g=-1094995529;break a}else{o=g-h|0;c[e+8>>2]=c[f+2188+(o*172|0)+4>>2];break}}else o=((e-h|0)/172|0)+-1|0;while(0);g=gP(b)|0;p=fP(b)|0;h=p+1|0;if(p>>>0>32767){c[n>>2]=h;Uf(d,16,154332,n);g=-1094995529;break}k=N(1-(g<<1&510)|0,h)|0;n=f+2188+(o*172|0)+4|0;h=0;g=0;j=0;while(1){if((j|0)>(c[n>>2]|0))break;p=gP(b)|0;a[e+140+g>>0]=p;if(!((p&255|0)==0?((gP(b)|0)&255)<<24>>24==0:0)){if((j|0)<(c[n>>2]|0))i=(c[f+2188+(o*172|0)+12+(j<<2)>>2]|0)+k|0;else i=k;c[e+12+(g<<2)>>2]=i;g=g+1|0;h=(i>>>31)+h|0}j=j+1|0}if(g>>>0>31){c[q>>2]=g;Uf(d,16,154368,q);g=-1094995529;break}p=e+4|0;c[p>>2]=g;c[e>>2]=h;if(g){o=1;while(1){if((o|0)>=(g|0))break;i=c[e+12+(o<<2)>>2]|0;j=a[e+140+o>>0]|0;h=o;while(1){g=h+-1|0;if((h|0)<=0)break;k=e+12+(g<<2)|0;n=c[k>>2]|0;if((i|0)>=(n|0)){h=g;continue}c[e+12+(h<<2)>>2]=n;d=e+140+g|0;a[e+140+h>>0]=a[d>>0]|0;c[k>>2]=i;a[d>>0]=j;h=g}o=o+1|0;g=c[p>>2]|0}h=c[e>>2]|0}if(h>>>0>1){i=0;g=h;while(1){g=g+-1|0;if(i>>>0>=h>>>1>>>0){g=0;break a}h=e+12+(i<<2)|0;q=c[h>>2]|0;f=e+140+i|0;d=a[f>>0]|0;b=e+12+(g<<2)|0;c[h>>2]=c[b>>2];h=e+140+g|0;a[f>>0]=a[h>>0]|0;c[b>>2]=q;a[h>>0]=d;i=i+1|0;h=c[e>>2]|0}}else g=0}else r=32;while(0);b:do if((r|0)==32){c[e>>2]=fP(b)|0;j=fP(b)|0;g=c[e>>2]|0;if((g|j)>>>0>15){Uf(d,16,154396,k);g=-1094995529;break}q=g+j|0;c[e+4>>2]=q;if(!q)g=0;else{h=0;i=0;while(1){if(i>>>0>=g>>>0){h=0;i=0;break}q=fP(b)|0;g=q+1|0;if(q>>>0>32767){r=37;break}g=h-g|0;c[e+12+(i<<2)>>2]=g;a[e+140+i>>0]=gP(b)|0;h=g;i=i+1|0;g=c[e>>2]|0}if((r|0)==37){c[o>>2]=g;Uf(d,16,154432,o);g=-1094995529;break}while(1){if(i>>>0>=j>>>0){g=0;break b}r=fP(b)|0;g=r+1|0;if(r>>>0>32767)break;r=g+h|0;c[e+12+((c[e>>2]|0)+i<<2)>>2]=r;q=(gP(b)|0)&255;a[(c[e>>2]|0)+i+(e+140)>>0]=q;h=r;i=i+1|0}c[p>>2]=g;Uf(d,16,154432,p);g=-1094995529}}while(0);l=s;return g|0}function AP(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+240|0;if((l|0)>=(m|0))W(240);H=I+64|0;G=I+56|0;F=I+48|0;E=I+40|0;r=I+24|0;k=I+16|0;i=I+8|0;B=I+88|0;C=I+68|0;D=g+160|0;Uf(e,48,153901,I);do if(gP(b)|0){h=(hP(b,8)|0)&255;if(h>>>0<17){y=105068+(h<<3)|0;z=c[y+4>>2]|0;A=D;c[A>>2]=c[y>>2];c[A+4>>2]=z;break}if((h|0)==255){c[D>>2]=hP(b,16)|0;c[g+164>>2]=hP(b,16)|0;break}else{c[i>>2]=h;Uf(e,24,153915,i);break}}while(0);A=gP(b)|0;c[g+168>>2]=A;if(A|0)c[g+172>>2]=gP(b)|0;A=gP(b)|0;c[g+176>>2]=A;a:do if(A|0){c[g+180>>2]=hP(b,3)|0;A=g+184|0;c[A>>2]=gP(b)|0;h=gP(b)|0;c[g+188>>2]=h;if(c[A>>2]|0?(j=g+56|0,(c[j>>2]|0)==0):0)c[j>>2]=12;if(h|0){h=g+192|0;a[h>>0]=hP(b,8)|0;i=g+193|0;a[i>>0]=hP(b,8)|0;j=g+194|0;a[j>>0]=hP(b,8)|0;if(!(xj(d[h>>0]|0)|0))a[h>>0]=2;if(!(yj(d[i>>0]|0)|0))a[i>>0]=2;if(!(zj(d[j>>0]|0)|0)){a[j>>0]=2;break}if(!(a[j>>0]|0)){i=g+56|0;switch(c[i>>2]|0){case 5:{h=73;break}case 70:{h=77;break}case 133:{h=137;break}default:break a}c[i>>2]=h}}}while(0);A=gP(b)|0;c[g+196>>2]=A;if(A|0){c[g+200>>2]=fP(b)|0;c[g+204>>2]=fP(b)|0}c[g+208>>2]=gP(b)|0;c[g+212>>2]=gP(b)|0;c[g+216>>2]=gP(b)|0;c[C>>2]=c[b>>2];c[C+4>>2]=c[b+4>>2];c[C+8>>2]=c[b+8>>2];c[C+12>>2]=c[b+12>>2];c[C+16>>2]=c[b+16>>2];gX(B|0,D|0,140)|0;if((nP(b)|0)>67?(rP(b,21)|0)==1048576:0){h=g+220|0;c[h>>2]=0;Uf(e,24,153939,k);h=c[h>>2]|0}else{h=gP(b)|0;c[g+220>>2]=h}if((h|0?(p=c[g+4>>2]|0,q=(p|0)<2?2:1,p=(p|0)<3?2:1,n=g+224|0,c[n>>2]=N(p,fP(b)|0)|0,o=g+228|0,c[o>>2]=N(fP(b)|0,p)|0,p=g+232|0,c[p>>2]=N(fP(b)|0,q)|0,q=N(fP(b)|0,q)|0,c[g+236>>2]=q,f|0):0)?c[e+64>>2]&65536|0:0){z=c[o>>2]|0;A=c[p>>2]|0;c[r>>2]=c[n>>2];c[r+4>>2]=z;c[r+8>>2]=A;c[r+12>>2]=q;Uf(e,48,153971,r);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0}n=g+240|0;o=g+264|0;p=g+268|0;q=g+272|0;f=g+276|0;r=g+280|0;s=g+284|0;t=g+288|0;u=g+292|0;v=g+296|0;w=g+244|0;x=g+248|0;y=g+252|0;z=g+260|0;A=g+68|0;i=g+256|0;h=0;b:while(1){g=gP(b)|0;c[n>>2]=g;if(g|0){j=(h|0)!=0;if(!(j|(nP(b)|0)>65)){Uf(e,24,154051,E);gX(D|0,B|0,140)|0;c[b>>2]=c[C>>2];c[b+4>>2]=c[C+4>>2];c[b+8>>2]=c[C+8>>2];c[b+12>>2]=c[C+12>>2];c[b+16>>2]=c[C+16>>2];h=1;continue}c[w>>2]=tP(b,32)|0;k=tP(b,32)|0;c[x>>2]=k;if(j){g=c[w>>2]|0;c[F>>2]=k;c[F+4>>2]=g;Uf(e,32,154096,F)}g=gP(b)|0;c[y>>2]=g;if(g|0)c[i>>2]=fP(b)|0;g=gP(b)|0;c[z>>2]=g;if(g|0)CP(b,1,c[A>>2]|0)}g=gP(b)|0;c[o>>2]=g;do if(g|0)if((h|0)!=0|(nP(b)|0)>7){c[p>>2]=gP(b)|0;c[q>>2]=gP(b)|0;c[f>>2]=gP(b)|0;c[r>>2]=fP(b)|0;c[s>>2]=fP(b)|0;c[t>>2]=fP(b)|0;c[u>>2]=fP(b)|0;c[v>>2]=fP(b)|0;break}else{Uf(e,24,154117,G);gX(D|0,B|0,140)|0;c[b>>2]=c[C>>2];c[b+4>>2]=c[C+4>>2];c[b+8>>2]=c[C+8>>2];c[b+12>>2]=c[C+12>>2];c[b+16>>2]=c[C+16>>2];h=1;continue b}while(0);if((h|0)!=0|(nP(b)|0)>0)break;Uf(e,24,154201,H);gX(D|0,B|0,140)|0;c[b>>2]=c[C>>2];c[b+4>>2]=c[C+4>>2];c[b+8>>2]=c[C+8>>2];c[b+12>>2]=c[C+12>>2];c[b+16>>2]=c[C+16>>2];h=1}l=I;return}function BP(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function CP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);i=k;if(b){b=gP(a)|0;f=gP(a)|0;if(!(f|b))e=0;else{e=gP(a)|0;if(!e){BP(a,4);BP(a,4)}else{BP(a,8);BP(a,5);BP(a,1);BP(a,5);BP(a,4);BP(a,4);BP(a,4)}BP(a,5);BP(a,5);BP(a,5)}}else{e=0;f=0;b=0}h=(b|0)==0;g=(f|0)==0;f=0;while(1){if((f|0)>=(d|0))break;if((gP(a)|0)==0?(gP(a)|0)==0:0)if(!(gP(a)|0))j=13;else b=1;else{fP(a)|0;j=13}if((j|0)==13){j=0;n=fP(a)|0;b=n+1|0;if(n>>>0>31){j=14;break}}if(!h)DP(a,b,e);if(!g)DP(a,b,e);f=f+1|0}if((j|0)==14){c[i>>2]=b;Uf(0,16,154255,i)}l=k;return}function DP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(c|0)==0;c=0;while(1){if((c|0)==(b|0))break;fP(a)|0;fP(a)|0;if(!d){fP(a)|0;fP(a)|0}EP(a);c=c+1|0}return}function EP(a){a=a|0;BP(a,1);return}function FP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+48|0;if((l|0)>=(m|0))W(48);h=j+32|0;g=j+24|0;if((nP(b)|0)<88)d=-1;else{a[e>>0]=hP(b,2)|0;a[e+1>>0]=gP(b)|0;f=hP(b,5)|0;k=f&255;i=e+2|0;a[i>>0]=k;f=f&255;a:do switch(k<<24>>24){case 1:{Uf(d,48,154687,j);d=0;break}case 2:{Uf(d,48,154711,j+8|0);d=0;break}case 3:{Uf(d,48,154738,j+16|0);d=0;break}default:if((f|0)==4){Uf(d,48,154776,g);d=0;break a}else{c[h>>2]=f;Uf(d,24,154811,h);d=0;break a}}while(0);while(1){f=gP(b)|0;g=f&255;if((d|0)==32)break;a[e+3+d>>0]=g;if(!((f&255|0)==0|((d|0)<1|(a[i>>0]|0)!=0)))a[i>>0]=d;d=d+1|0}a[e+36>>0]=g;a[e+37>>0]=gP(b)|0;a[e+38>>0]=gP(b)|0;a[e+39>>0]=gP(b)|0;BP(b,16);BP(b,16);BP(b,12);d=0}l=j;return d|0}function GP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(b<<2)|0;d=c[f>>2]|0;a:do if(d|0){e=a+384|0;if((c[e>>2]|0)==(c[d+4>>2]|0)){c[e>>2]=0;d=0}else d=0;while(1){if((d|0)==16)break a;e=c[a+64+(d<<2)>>2]|0;if(e|0?(c[c[e+4>>2]>>2]|0)==(b|0):0)wP(a,d);d=d+1|0}}while(0);zg(f);return}function HP(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0;p=l;l=l+32|0;if((l|0)>=(m|0))W(32);n=p;o=p+8|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;a=Gi(o,a,b,j,f,g,173,1)|0;a:do if((a|0)>=0){k=o+16|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break a;b=c[o>>2]|0;f=c[b+(g*68|0)+44>>2]|0;switch(f|0){case 32:{a=xO(b+(g*68|0)+24|0,j,d)|0;if((a|0)<0)break a;break}case 33:{a=yO(b+(g*68|0)+24|0,j,d,i)|0;if((a|0)<0)break a;break}case 34:{a=zO(b+(g*68|0)+24|0,j,d)|0;if((a|0)<0)break a;break}case 40:case 39:{a=AO(b+(g*68|0)+24|0,j,e,d,f)|0;if((a|0)<0)break a;break}default:{c[n>>2]=f;Uf(j,40,155320,n)}}g=g+1|0}}while(0);mi(o);l=p;return ((h&8|0)==0?0:a)|0}function IP(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=e;a=JP(a,d)|0;if((a|0)>=0){Gg(b,c[d>>2]|0);ug(d);a=0}l=e;return a|0}function JP(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;do if(!(c[a+4>>2]|0)){a=c[a>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){a=-11;break}a=KP()|0;if(!a)a=-12;else{c[b>>2]=c[c[d>>2]>>2];c[c[d>>2]>>2]=a;a=0}}else a=-541478725;while(0);return a|0}function KP(){var a=0;a=Lg(72)|0;if(a|0)xg(a);return a|0}function LP(){var a=0,b=0;b=l;l=l+16|0;if((l|0)>=(m|0))W(16);a=b;do if((MP(a,155355)|0)!=4)if((MP(a,155368)|0)==4){a=c[a>>2]|0;break}else{a=NP()|0;break}else a=c[a>>2]|0;while(0);l=b;return a|0}function MP(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+16|0;if((l|0)>=(m|0))W(16);b=UP(b,0,c)|0;if((b|0)==-1)b=-1;else{a=RU(b,a,4)|0;oU(b)|0;b=a}l=c;return b|0}function NP(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;n=l;l=l+160|0;if((l|0)>=(m|0))W(160);a=n+120|0;h=n;i=n+132|0;k=182832;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[22226]|0)>>>0>=121){c[a>>2]=155380;c[a+4>>2]=155407;c[a+8>>2]=77;Uf(0,0,159675,a);Ub()}e=(j|0)==0&(k|0)==0;a=0;b=0;d=0;a:while(1){f=Yb()|0;g=f-a|0;do if(((b<<1|1)+a|0)<(f|0)){a=182832;a=TW(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;b=y;o=182832;c[o>>2]=a;c[o+4>>2]=b;o=183596+((a&511)<<2)|0;c[o>>2]=(c[o>>2]|0)+(g>>>0<3294638521?g:g+1000328775|0);if((f-d|0)>31249){a=UW(a|0,b|0,j|0,k|0)|0;b=y;if(e)if(b>>>0>0|(b|0)==0&a>>>0>64)break a;else break;else if(b>>>0>0|(b|0)==0&a>>>0>4)break a;else break}}else{o=183596+((c[45708]&511)<<2)|0;b=N(c[o>>2]|0,1664525)|0;c[o>>2]=(g>>>0<3294638521?g:g+1000328775|0)+1013904223+b}while(0);a=f;b=g;d=(d|0)==0?f:d}OP(h,160)|0;PP(h,183596,2048);QP(h,i);o=eX(c[i>>2]|0)|0;o=(eX(c[i+16>>2]|0)|0)+o|0;l=n;return o|0}function OP(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=d>>>5;switch(d|0){case 160:{c[b+80>>2]=1732584193;c[b+84>>2]=-271733879;c[b+88>>2]=-1732584194;c[b+92>>2]=271733878;c[b+96>>2]=-1009589776;d=196;e=5;break}case 224:{c[b+80>>2]=-1056596264;c[b+84>>2]=914150663;c[b+88>>2]=812702999;c[b+92>>2]=-150054599;c[b+96>>2]=-4191439;c[b+100>>2]=1750603025;c[b+104>>2]=1694076839;c[b+108>>2]=-1090891868;d=197;e=5;break}case 256:{c[b+80>>2]=1779033703;c[b+84>>2]=-1150833019;c[b+88>>2]=1013904242;c[b+92>>2]=-1521486534;c[b+96>>2]=1359893119;c[b+100>>2]=-1694144372;c[b+104>>2]=528734635;c[b+108>>2]=1541459225;d=197;e=5;break}default:d=-22}if((e|0)==5){c[b+112>>2]=d;d=b+8|0;c[d>>2]=0;c[d+4>>2]=0;d=0}return d|0}function PP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=b+8|0;j=i;f=c[j>>2]|0;j=TW(f|0,c[j+4>>2]|0,e|0,0)|0;c[i>>2]=j;c[i+4>>2]=y;i=b+112|0;j=b+80|0;k=b+16|0;f=f&63;h=0;while(1){if((h|0)==(e|0))break;g=f+1|0;a[b+16+f>>0]=a[d+h>>0]|0;if((g|0)==64){Sd[c[i>>2]&255](j,k);f=0}else f=g;h=h+1|0}return}function QP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=h;g=b+8|0;j=g;j=cX(c[j>>2]|0,c[j+4>>2]|0,3)|0;j=RP(j,y)|0;i=f;c[i>>2]=j;c[i+4>>2]=y;PP(b,155431,1);while(1){if(0==0?(c[g>>2]&63|0)==56:0)break;PP(b,262540,1)}PP(b,f,8);f=0;while(1){if((f|0)>=(d[b>>0]|0|0))break;i=eX(c[b+80+(f<<2)>>2]|0)|0;j=e+(f<<2)|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;f=f+1|0}l=h;return}function RP(a,b){a=a|0;b=b|0;a=eX(a|0)|0;b=eX(b|0)|0;y=a;return b|0}function SP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;G=l;l=l+256|0;if((l|0)>=(m|0))W(256);y=G;z=c[a>>2]|0;A=a+4|0;B=c[A>>2]|0;C=a+8|0;D=c[C>>2]|0;E=a+12|0;F=c[E>>2]|0;q=a+16|0;r=c[q>>2]|0;s=a+20|0;t=c[s>>2]|0;u=a+24|0;v=c[u>>2]|0;w=a+28|0;x=c[w>>2]|0;e=0;f=t;g=r;h=F;i=D;j=B;k=z;n=x;o=v;while(1){if((e|0)==64)break;if(e>>>0<16){p=b+(e<<2)|0;p=eX(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0}else{H=c[y+(e+-15<<2)>>2]|0;p=c[y+(e+-2<<2)>>2]|0;p=(c[y+(e+-7<<2)>>2]|0)+(c[y+(e+-16<<2)>>2]|0)+((H<<14|H>>>18)^H>>>3^(H<<25|H>>>7))+((p<<13|p>>>19)^p>>>10^(p<<15|p>>>17))|0}c[y+(e<<2)>>2]=p;L=((g<<26|g>>>6)^(g<<21|g>>>11)^(g<<7|g>>>25))+n+((o^f)&g^o)+p+(c[105232+(e<<2)>>2]|0)|0;K=o;J=k;I=j;p=i;H=g;e=e+1|0;g=L+h|0;k=((i|j)&k|i&j)+((k<<30|k>>>2)^(k<<19|k>>>13)^(k<<10|k>>>22))+L|0;o=f;n=K;j=J;i=I;h=p;f=H}c[a>>2]=z+k;c[A>>2]=B+j;c[C>>2]=D+i;c[E>>2]=F+h;c[q>>2]=r+g;c[s>>2]=t+f;c[u>>2]=v+o;c[w>>2]=x+n;l=G;return}function TP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=l;l=l+320|0;if((l|0)>=(m|0))W(320);p=x;q=c[a>>2]|0;r=a+4|0;s=c[r>>2]|0;t=a+8|0;u=c[t>>2]|0;v=a+12|0;w=c[v>>2]|0;n=a+16|0;o=c[n>>2]|0;f=o;g=w;h=u;i=s;j=q;k=0;while(1){if((k|0)==80)break;if(k>>>0<16){e=b+(k<<2)|0;e=eX(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0}else{e=c[p+(k+-8<<2)>>2]^c[p+(k+-3<<2)>>2]^c[p+(k+-14<<2)>>2]^c[p+(k+-16<<2)>>2];e=e<<1|e>>>31}c[p+(k<<2)>>2]=e;f=f+(j<<5|j>>>27)+e|0;do if(k>>>0<40)if(k>>>0<20){e=((g^h)&i^g)+1518500249|0;break}else{e=(h^i^g)+1859775393|0;break}else if(k>>>0<60){e=((h|i)&g|h&i)+-1894007588|0;break}else{e=(h^i^g)+-899497514|0;break}while(0);A=j;z=h;y=g;h=i<<30|i>>>2;j=f+e|0;k=k+1|0;i=A;g=z;f=y}c[a>>2]=q+j;c[r>>2]=s+i;c[t>>2]=u+h;c[v>>2]=w+g;c[n>>2]=o+f;l=x;return}function UP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+48|0;if((l|0)>=(m|0))W(48);h=i+16|0;g=i+8|0;f=i;e=i+24|0;c[e>>2]=d;if(!(b&64))e=0;else{j=(c[e>>2]|0)+(4-1)&~(4-1);d=c[j>>2]|0;c[e>>2]=j+4;e=d}c[f>>2]=e;e=qU(a,b|524288,f)|0;if((e|0)!=-1?(c[g>>2]=1,(pU(e,2,g)|0)==-1):0)Uf(0,48,155433,h);l=i;return e|0}function VP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ag((BU(c[b>>2]|0)|0)+1|0)|0;f=c[b>>2]|0;if(!e)e=0;else{g=f+(mV(f,155462)|0)|0;k=e;f=e;a:while(1){b:while(1){h=a[g>>0]|0;if(!(h<<24>>24))break a;if(mV(g,d)|0)break a;i=g+1|0;switch(h<<24>>24){case 39:break b;case 92:{j=a[i>>0]|0;if(j<<24>>24){l=8;break b}break}default:{}}a[f>>0]=h;g=i;f=f+1|0}if((l|0)==8){l=0;i=f+1|0;a[f>>0]=j;g=g+2|0;k=i;f=i;continue}while(1){g=a[i>>0]|0;j=g<<24>>24==0;h=i+1|0;if(!(j^g<<24>>24!=39))break;a[f>>0]=g;i=h;f=f+1|0}g=j?i:h;k=j?k:f}do{a[f>>0]=0;f=f+-1|0;if(f>>>0<k>>>0)break}while((mV(f,155462)|0)!=0);c[b>>2]=g}return e|0}function WP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;while(1){d=XP(a[e>>0]|0)|0;b=XP(a[c>>0]|0)|0;d=d&255;if(!d){f=3;break}b=b&255;if((d|0)==(b|0)){e=e+1|0;c=c+1|0}else{c=d;break}}if((f|0)==3){c=0;b=b&255}return c-b|0}function XP(a){a=a|0;return ((a+-65|0)>>>0<26?a^32:a)|0}function YP(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=b+d|0;e=b;while(1){d=XP(a[e>>0]|0)|0;e=e+1|0;b=XP(a[c>>0]|0)|0;if(e>>>0>=f>>>0){g=3;break}d=d&255;b=b&255;if(!((d|0)!=0&(d|0)==(b|0)))break;else c=c+1|0}if((g|0)==3){b=b&255;d=d&255}return d-b|0}function ZP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:do if((b|0)!=0&(c|0)!=0){g=BU(b)|0;while(1){d=a[c>>0]|0;if(!(d<<24>>24)){c=0;break a}f=d<<24>>24==45;d=CU(c,44)|0;if(!d)d=c+(BU(c)|0)|0;c=c+(f&1)|0;e=d-c|0;if(!(YP(b,c,(e|0)>(g|0)?e:g)|0))break;if(!(JT(155467,c,(e|0)>3?e:3)|0))break;c=d+((a[d>>0]|0)==44&1)|0}c=(f^1)&1}else c=0;while(0);return c|0}function _P(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d<<24>>24;a:while(1){if(!b){b=0;break}if(!(a[b>>0]|0)){b=0;break}else h=c;while(1){if(!h)break;e=a[h>>0]|0;if(!(e<<24>>24))break;else g=0;while(1){f=a[b+g>>0]|0;j=f<<24>>24;k=e<<24>>24;if(f<<24>>24!=e<<24>>24?!((N(k,j)|0)==0&(k+j|0)==(i|0)):0)break;if(g|0?(f<<24>>24==0?1:f<<24>>24==d<<24>>24):0){b=1;break a}e=g+1|0;g=e;e=a[h+e>>0]|0}k=CU(h,i)|0;h=k+((k|0)!=0&1)|0}k=CU(b,i)|0;b=k+((k|0)!=0&1)|0}return b|0}function $P(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;c[b+4>>2]=0;c[b+8>>2]=e;c[b+12>>2]=e;a[d>>0]=0;return}function aQ(a){a=a|0;if(!(c[(c[a>>2]|0)+20>>2]&1))a=(c[(c[a>>2]|0)+8>>2]|0)==1&1;else a=0;return a|0}function bQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;g=c[a>>2]|0;do if(g){f=g+8|0;if((c[f>>2]|0)==(b|0))d=0;else{if((c[(c[g>>2]|0)+20>>2]&2|0?aQ(g)|0:0)?(e=g+4|0,d=c[e>>2]|0,(d|0)==(c[c[g>>2]>>2]|0)):0){d=$f(d,b)|0;if(!d){d=-12;break}c[e>>2]=d;h=c[g>>2]|0;c[h>>2]=d;c[f>>2]=b;c[h+4>>2]=b;d=0;break}c[h>>2]=0;bQ(h,b)|0;d=c[h>>2]|0;if(!d)d=-12;else{f=c[f>>2]|0;gX(c[d+4>>2]|0,c[g+4>>2]|0,((f|0)<(b|0)?f:b)|0)|0;Bg(a,h);d=0}}}else{d=$f(0,b)|0;c[h>>2]=d;do if(d){d=kh(d,b,11,0,0)|0;if(!d){Qf(h);d=-12;break}else{h=(c[d>>2]|0)+20|0;c[h>>2]=c[h>>2]|2;c[a>>2]=d;d=0;break}}else d=-12;while(0)}while(0);l=i;return d|0}function cQ(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=b+(BU(b)|0)|0;g=0;c=0;while(1){if(b>>>0<h>>>0)d=b;else{b=g;break}a:while(1){if(d>>>0>=h>>>0)break;switch(a[d>>0]|0){case 124:case 43:break a;default:{}}d=d+1|0}e=dQ(b,d-b|0)|0;f=y;if((e|0)==0&(f|0)==0){c=0;b=0;break}b=d+1|0;g=e|g;c=f|c}y=c;return b|0}function dQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=k;f=0;while(1){if(f>>>0>=28){e=0;i=7;break}e=c[28168+(f<<4)>>2]|0;if((BU(e)|0)==(d|0)?(IT(e,b,d)|0)==0:0){i=5;break}f=f+1|0}do if((i|0)==5){e=28168+(f<<4)+8|0;f=c[e+4>>2]|0;e=c[e>>2]|0}else if((i|0)==7){while(1){i=0;if(e>>>0>=36)break;if(((e+-18|0)>>>0>10?(g=c[105488+(e<<3)>>2]|0,(BU(g)|0)==(d|0)):0)?(IT(g,b,d)|0)==0:0){i=11;break}e=e+1|0;i=7}if((i|0)==11){e=cX(1,0,e|0)|0;f=y;break}c[(mT()|0)>>2]=0;e=yT(b,j,10)|0;if(((c[(mT()|0)>>2]|0)==0?(h=c[j>>2]|0,(h+1-b|0)==(d|0)):0)?(a[h>>0]|0)==99:0){e=eQ(e)|0;f=y;break}c[(mT()|0)>>2]=0;g=wT(b,j,0)|0;e=y;if(!(c[(mT()|0)>>2]|0)){j=((e|0)>0|(e|0)==0&g>>>0>0)&((c[j>>2]|0)-b|0)==(d|0);f=j?e:0;e=j?g:0}else{f=0;e=0}}while(0);y=f;l=k;return e|0}function eQ(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=28){b=0;a=0;break}if((c[28168+(b<<4)+4>>2]|0)==(a|0)){d=4;break}b=b+1|0}if((d|0)==4){a=28168+(b<<4)+8|0;b=c[a+4>>2]|0;a=c[a>>2]|0}y=b;return a|0}function fQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+48|0;if((l|0)>=(m|0))W(48);k=p+40|0;o=p+32|0;n=p+24|0;j=p+16|0;i=p+8|0;h=p;if((b|0)<1)b=Uh(d,e)|0;f=0;while(1){if(f>>>0>=28){g=9;break}if((b|0)==(c[28168+(f<<4)+4>>2]|0)?(g=28168+(f<<4)+8|0,(c[g>>2]|0)==(d|0)?(c[g+4>>2]|0)==(e|0):0):0){g=7;break}f=f+1|0}if((g|0)==7){c[h>>2]=c[28168+(f<<4)>>2];dg(a,156129,h)}else if((g|0)==9?(c[i>>2]=b,dg(a,156132,i),!((d|0)==0&(e|0)==0)):0){dg(a,156144,j);b=0;g=0;while(1){if((g|0)==64)break;j=cX(1,0,g|0)|0;if(!((j&d|0)==0&(y&e|0)==0)){f=gQ(g)|0;if(f|0){if((b|0)>0)dg(a,156147,n);c[o>>2]=f;dg(a,156129,o)}b=b+1|0}g=g+1|0}dg(a,156149,k)}l=p;return}function gQ(a){a=a|0;if(a>>>0>35)a=0;else a=c[105488+(a<<3)>>2]|0;return a|0}function hQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+1024|0;if((l|0)>=(m|0))W(1024);g=f;$P(g,a,b);fQ(g,c,d,e);l=f;return}function iQ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+1072|0;if((l|0)>=(m|0))W(1072);J=K+792|0;I=K+784|0;H=K+528|0;j=K+1060|0;k=K+1056|0;F=K+520|0;G=K+512|0;D=K;E=K+800|0;c[H>>2]=j;c[H+4>>2]=k;c[H+8>>2]=K+1064;if(!((_U(f,156151,H)|0)==2?(i=c[j>>2]|0,i=jQ(b,e,g,1.0,c[k>>2]|0,i,((i|0)<0)<<31>>31)|0,(i|0)>-1):0)){v=e+12|0;w=e+44|0;x=e+16|0;y=e+32|0;B=e+24|0;C=e+16|0;i=0;while(1){u=G;c[u>>2]=1;c[u+4>>2]=0;if(!(c[v>>2]|0)){j=a[f>>0]|0;switch(j<<24>>24){case 45:case 43:{n=j<<24>>24;j=f+1|0;break}default:{n=0;j=f}}f=0;a:while(1){if(f>>>0>=255)break;k=a[j+f>>0]|0;switch(k<<24>>24){case 45:case 43:case 0:break a;default:{}}a[H+f>>0]=k;f=f+1|0}a[H+f>>0]=0;t=f}else{n=0;t=0;j=f}s=(t|0)!=0;r=s?H:j;k=kQ(d,r,c[w>>2]|0,0,0)|0;if((k|0)!=0?(c[k+12>>2]|0)==10:0){u=k+16|0;h[F>>3]=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);u=30}else u=15;do if((u|0)==15){u=0;q=c[w>>2]|0;b:do if(!q){k=0;u=24}else{k=0;f=0;while(1){while(1){f=Cg(d,f)|0;if(!f){u=24;break b}if((c[f+12>>2]|0)!=10)continue;p=c[f+44>>2]|0;if(!p)continue;if(!(HT(p,q)|0))break}if((k+6|0)>>>0>63)break;c[E+(k<<2)>>2]=c[f>>2];p=f+16|0;h[D+(k<<3)>>3]=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0);k=k+1|0}c[I>>2]=q;Uf(b,16,156165,I);i=-1163346256}while(0);if((u|0)==24){u=0;c[E+(k<<2)>>2]=167475;switch(c[v>>2]|0){case 1:case 0:case 10:case 9:case 2:{q=C;o=+((c[q>>2]|0)>>>0)+4294967296.0*+(c[q+4>>2]|0);break}default:o=+h[x>>3]}p=k+1|0;h[D+(k<<3)>>3]=o;c[E+(p<<2)>>2]=156465;q=k+2|0;h[D+(p<<3)>>3]=+h[y>>3];c[E+(q<<2)>>2]=156469;p=k+3|0;h[D+(q<<3)>>3]=+h[B>>3];c[E+(p<<2)>>2]=167453;q=k+4|0;h[D+(p<<3)>>3]=0.0;c[E+(q<<2)>>2]=167669;k=k+5|0;h[D+(q<<3)>>3]=-1.0;c[E+(k<<2)>>2]=0;h[D+(k<<3)>>3]=0.0;k=lQ(F,r,E,D,0,0,0,0,0,0,b)|0;if((k|0)>=0){u=30;break}c[J>>2]=j;Uf(b,16,156202,J);i=k}f=1}while(0);if((u|0)==30){c:do if(!(c[v>>2]|0)){mQ(e,g,0,0,G)|0;switch(n|0){case 43:{u=G;o=+h[F>>3];h[F>>3]=+((c[u>>2]|~~o>>>0)>>>0)+4294967296.0*+(c[u+4>>2]|(+A(o)>=1.0?(o>0.0?~~+O(+z(o/4294967296.0),4294967295.0)>>>0:~~+M((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0);break c}case 45:{u=G;o=+h[F>>3];h[F>>3]=+((c[u>>2]&~(~~o>>>0))>>>0)+4294967296.0*+(c[u+4>>2]&~(+A(o)>=1.0?(o>0.0?~~+O(+z(o/4294967296.0),4294967295.0)>>>0:~~+M((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0);break c}default:break c}}while(0);k=jQ(b,e,g,+h[F>>3],1,1,0)|0;if((k|0)>=0){j=j+t|0;if(s){u=(a[j>>0]|0)==0;f=u&1;i=u?0:i}else{f=1;i=0}}else{f=1;i=k}}if(!f)f=j;else break}}l=K;return i|0}function jQ(a,b,d,e,f,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;i=i|0;j=j|0;var k=0,n=0,o=0.0,p=0.0,q=0.0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;if((l|0)>=(m|0))W(64);k=w+40|0;u=w+8|0;t=w;n=c[b+12>>2]|0;a:do if(!n){o=(+(i>>>0)+4294967296.0*+(j|0))*e/+(f|0);if(!(o<-1.5|o>4294967295.5)?(u=OU(o*256.0)|0,(u&255|0)==0&0==0):0){v=14;break}d=c[b>>2]|0;h[k>>3]=o;c[k+8>>2]=d;Uf(a,16,156720,k);k=-34}else{if(!f){p=e!=0.0&((i|0)!=0|(j|0)!=0)?s:r;o=+h[b+32>>3]}else{o=+h[b+32>>3];p=+(f|0);q=(+(i>>>0)+4294967296.0*+(j|0))*e;if(!(o*p<q)?!(+h[b+24>>3]*p>q):0)switch(n|0){case 1:case 18:{v=14;break a}case 12:{c[d>>2]=ZW(OU(e/+(f|0))|0,y|0,i|0,j|0)|0;k=0;break a}case 13:{c[d>>2]=ZW(OU(e/+(f|0))|0,y|0,i|0,j|0)|0;k=0;break a}case 6:case 14:{o=(+(i>>>0)+4294967296.0*+(j|0))*e;if(+(~~e|0)==e){c[d>>2]=~~o;c[d+4>>2]=f;k=0;break a}else{JQ(t,o/+(f|0),16777216);i=t;j=c[i+4>>2]|0;k=d;c[k>>2]=c[i>>2];c[k+4>>2]=j;k=0;break a}}case 2:case 17:case 15:{o=e/+(f|0);if((i|0)==1&(j|0)==0&o==9223372036854775808.0){k=-1;n=2147483647}else{k=OU(o)|0;k=ZW(k|0,y|0,i|0,j|0)|0;n=y}c[d>>2]=k;c[d+4>>2]=n;k=0;break a}case 9:{o=e/+(f|0);do if(!((i|0)==1&(j|0)==0&o==18446744073709551616.0))if(o>9223372036854775808.0){k=OU(o+-9223372036854775808.0)|0;k=ZW(k|0,y^-2147483648|0,i|0,j|0)|0;n=y;break}else{k=OU(o)|0;k=ZW(k|0,y|0,i|0,j|0)|0;n=y;break}else{k=-1;n=-1}while(0);c[d>>2]=k;c[d+4>>2]=n;k=0;break a}case 4:{g[d>>2]=(+(i>>>0)+4294967296.0*+(j|0))*e/+(f|0);k=0;break a}case 3:{h[d>>3]=(+(i>>>0)+4294967296.0*+(j|0))*e/+(f|0);k=0;break a}default:{k=-22;break a}}p=q/p}k=c[b>>2]|0;e=+h[b+24>>3];h[u>>3]=p;c[u+8>>2]=k;h[u+16>>3]=e;h[u+24>>3]=o;Uf(a,16,156668,u);k=-34}while(0);if((v|0)==14){k=OU(e/+(f|0))|0;k=ZW(k|0,y|0,i|0,j|0)|0;c[d>>2]=k;k=0}l=w;return k|0}function kQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return GQ(a,b,c,d,e,0)|0}function lQ(a,b,d,e,f,g,i,j,k,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;n=n|0;o=o|0;var p=0,q=0;q=l;l=l+16|0;if((l|0)>=(m|0))W(16);p=q;c[p>>2]=0;b=nQ(p,b,d,f,g,i,j,n,o)|0;if((b|0)<0)h[a>>3]=r;else{b=c[p>>2]|0;h[a>>3]=+oQ(b,e,k);pQ(b);b=qQ(+h[a>>3])|0;k=y&2147483647;b=k>>>0>2146435072|(k|0)==2146435072&b>>>0>0?-22:0}l=q;return b|0}function mQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(c[a+12>>2]|0){case 0:{a=f;c[a>>2]=c[b>>2];c[a+4>>2]=0;a=0;break}case 12:{e=c[b>>2]|0;a=f;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 13:{e=c[b>>2]|0;a=f;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 1:case 18:{e=c[b>>2]|0;a=f;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 9:case 2:case 15:case 17:{d=b;e=c[d+4>>2]|0;a=f;c[a>>2]=c[d>>2];c[a+4>>2]=e;a=0;break}case 4:{h[d>>3]=+g[b>>2];a=0;break}case 3:{h[d>>3]=+h[b>>3];a=0;break}case 6:{d=c[b>>2]|0;a=f;c[a>>2]=d;c[a+4>>2]=((d|0)<0)<<31>>31;c[e>>2]=c[b+4>>2];a=0;break}case 10:{h[d>>3]=+h[a+16>>3];a=0;break}default:a=-22}return a|0}function nQ(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;if((l|0)>=(m|0))W(64);s=u;r=u+12|0;t=u+8|0;n=r;o=n+52|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));c[t>>2]=0;q=ag((BU(d)|0)+1|0)|0;if(!q)n=-12;else{p=q;n=d;a:while(1){do{o=a[n>>0]|0;if(!(o<<24>>24))break a;n=n+1|0}while((sQ(o<<24>>24)|0)!=0);a[p>>0]=o;p=p+1|0}a[p>>0]=0;c[r>>2]=105776;c[r+4>>2]=100;o=r+8|0;c[o>>2]=q;c[r+16>>2]=e;c[r+20>>2]=g;c[r+24>>2]=f;c[r+28>>2]=i;c[r+32>>2]=h;c[r+40>>2]=j;c[r+44>>2]=k;n=tQ(t,r)|0;do if((n|0)>=0){o=c[o>>2]|0;if(a[o>>0]|0){c[s>>2]=o;c[s+4>>2]=d;Uf(r,16,156241,s);n=-22;break}o=c[t>>2]|0;if(uQ(o)|0){s=Lg(80)|0;c[o+32>>2]=s;if(!s)n=-12;else{c[b>>2]=o;c[t>>2]=0}}else n=-22}while(0);pQ(c[t>>2]|0);Rf(q)}l=u;return n|0}function oQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;g=l;l=l+64|0;if((l|0)>=(m|0))W(64);e=g;f=e;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+48>>2]=c[a+32>>2];c[e+12>>2]=b;c[e+36>>2]=d;i=+rQ(e,a);l=g;return +i}function pQ(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);b=d;c[b>>2]=a;if(a|0){pQ(c[a+20>>2]|0);pQ(c[a+24>>2]|0);pQ(c[a+28>>2]|0);Qf(a+32|0);Qf(b)}l=d;return}function qQ(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;y=c[j+4>>2]|0;return b|0}function rQ(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=0.0,i=0,j=0.0,k=0.0,n=0,o=0,p=0.0,q=0.0,s=0.0,t=0;t=l;l=l+16|0;if((l|0)>=(m|0))W(16);i=t;a:do switch(c[b>>2]|0){case 0:{e=+h[b+8>>3];break}case 1:{e=+h[b+8>>3]*+h[(c[a+12>>2]|0)+(c[b+16>>2]<<3)>>3];break}case 2:{q=+h[b+8>>3];o=c[b+16>>2]|0;s=+rQ(a,c[b+20>>2]|0);s=q*+Gd[o&15](s);l=t;return +s}case 3:{q=+h[b+8>>3];n=c[b+16>>2]|0;o=c[a+36>>2]|0;s=+rQ(a,c[b+20>>2]|0);s=q*+Hd[n&0](o,s);l=t;return +s}case 4:{p=+h[b+8>>3];n=c[b+16>>2]|0;o=c[a+36>>2]|0;q=+rQ(a,c[b+20>>2]|0);s=+rQ(a,c[b+24>>2]|0);s=p*+Id[n&0](o,q,s);l=t;return +s}case 5:{s=1.0/(+K(+(+rQ(a,c[b+20>>2]|0)*4.0))+1.0);l=t;return +s}case 6:{s=+rQ(a,c[b+20>>2]|0);s=+K(+(s*s*-.5))/2.5066282746310002;l=t;return +s}case 7:{s=+h[b+8>>3];o=c[a+48>>2]|0;a=~~+rQ(a,c[b+20>>2]|0);l=t;return +(s*+h[o+(((a|0)>0?((a|0)<9?a:9):0)<<3)>>3])}case 8:{s=+h[b+8>>3];a=qQ(+rQ(a,c[b+20>>2]|0))|0;b=y&2147483647;l=t;return +(s*+((b>>>0>2146435072|(b|0)==2146435072&a>>>0>0)&1))}case 9:{s=+h[b+8>>3]*+((qQ(+rQ(a,c[b+20>>2]|0))|0)==0&(y&2147483647|0)==2146435072&1);l=t;return +s}case 27:{s=+h[b+8>>3]*+z(+(+rQ(a,c[b+20>>2]|0)));l=t;return +s}case 28:{s=+h[b+8>>3]*+M(+(+rQ(a,c[b+20>>2]|0)));l=t;return +s}case 29:{s=+h[b+8>>3]*+pc(+(+rQ(a,c[b+20>>2]|0)));l=t;return +s}case 30:{s=+h[b+8>>3]*+fX(+(+rQ(a,c[b+20>>2]|0)));l=t;return +s}case 31:{s=+h[b+8>>3]*+B(+(+rQ(a,c[b+20>>2]|0)));l=t;return +s}case 32:{s=+h[b+8>>3]*+(+rQ(a,c[b+20>>2]|0)==0.0&1);l=t;return +s}case 36:{g=+h[b+8>>3];if(!(+rQ(a,c[b+20>>2]|0)!=0.0)){f=c[b+28>>2]|0;if(!f)e=0.0;else o=22}else{f=c[b+24>>2]|0;o=22}if((o|0)==22)e=+rQ(a,f);e=g*e;break}case 37:{g=+h[b+8>>3];if(+rQ(a,c[b+20>>2]|0)!=0.0){f=c[b+28>>2]|0;if(!f)e=0.0;else o=27}else{f=c[b+24>>2]|0;o=27}if((o|0)==27)e=+rQ(a,f);e=g*e;break}case 42:{f=b+20|0;e=+rQ(a,c[f>>2]|0);g=+rQ(a,c[b+24>>2]|0);j=+rQ(a,c[b+28>>2]|0);o=qQ(g)|0;n=y&2147483647;if((!(n>>>0>2146435072|(n|0)==2146435072&o>>>0>0)?(o=qQ(j)|0,n=y&2147483647,!(n>>>0>2146435072|(n|0)==2146435072&o>>>0>0)):0)?(o=qQ(e)|0,n=y&2147483647,!(g>j|(n>>>0>2146435072|(n|0)==2146435072&o>>>0>0))):0){q=+h[b+8>>3];s=+rQ(a,c[f>>2]|0);l=t;return +(q*(s<g?g:s>j?j:s))}else e=r;break}case 41:{e=+rQ(a,c[b+20>>2]|0);g=+h[b+8>>3];if(!(e>=+rQ(a,c[b+24>>2]|0)))e=0.0;else e=+(e<=+rQ(a,c[b+28>>2]|0)&1);e=g*e;break}case 44:{s=+rQ(a,c[b+20>>2]|0);s=s+(+rQ(a,c[b+24>>2]|0)-s)*+rQ(a,c[b+28>>2]|0);l=t;return +s}case 38:{e=+rQ(a,c[b+20>>2]|0);f=c[b+24>>2]|0;if(!f)f=32;else f=~~+rQ(a,f);h[i>>3]=e;Uf(a,f,156237,i);break}case 33:{n=~~+rQ(a,c[b+20>>2]|0);a=(c[a+48>>2]|0)+(((n|0)>0?((n|0)<9?n:9):0)<<3)|0;s=+h[a>>3];n=qQ(s)|0;i=y&2147483647;o=TW(ZW(~~s>>>0|0,(+A(s)>=1.0?(s>0.0?~~+O(+z(s/4294967296.0),4294967295.0)>>>0:~~+M((s-+(~~s>>>0))/4294967296.0)>>>0):0)|0,1664525,0)|0,y|0,1013904223,0)|0;s=i>>>0>2146435072|(i|0)==2146435072&n>>>0>0?1013904223.0:+(o>>>0)+4294967296.0*+(y>>>0);h[a>>3]=s;l=t;return +(+h[b+8>>3]*(s*5.421010862427522e-20))}case 24:{i=b+20|0;f=b+24|0;e=r;while(1){if(!(+rQ(a,c[i>>2]|0)!=0.0))break a;e=+rQ(a,c[f>>2]|0)}}case 25:{k=+rQ(a,c[b+24>>2]|0);f=c[b+28>>2]|0;if(!f)o=0;else{o=~~+rQ(a,f);o=(o|0)>0?((o|0)<9?o:9):0}n=a+48|0;p=+h[(c[n>>2]|0)+(o<<3)>>3];i=b+20|0;g=1.0;e=0.0;f=0;while(1){if((f|0)>=1e3)break;h[(c[n>>2]|0)+(o<<3)>>3]=+(f|0);s=+rQ(a,c[i>>2]|0);j=e+g*s;if(s!=0.0&e==j){e=j;break}b=f+1|0;g=g*(k/+(b|0));e=j;f=b}h[(c[n>>2]|0)+(o<<3)>>3]=p;break}case 26:{n=a+48|0;s=+h[c[n>>2]>>3];q=+rQ(a,c[b+24>>2]|0);i=b+20|0;k=1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;g=-1.0;e=-1.0;f=-1;while(1){if((f|0)>=1024)break;if((f|0)<255)h[c[n>>2]>>3]=q*+(d[116320+(f&255)>>0]|0)/255.0;else{p=q*+C(.9,+(+(f+-255|0)));h[c[n>>2]>>3]=(f&2|0?e:g)+((f&1|0)==0?p:-p)}p=+rQ(a,c[i>>2]|0);if(p<=0.0&p>j){j=p;e=+h[c[n>>2]>>3]}if(p>=0.0&p<k){k=p;g=+h[c[n>>2]>>3]}if(e>=0.0&g>=0.0){f=0;o=60;break}else f=f+1|0}b:do if((o|0)==60)while(1){if((f|0)>=1e3)break b;q=(e+g)*.5;h[c[n>>2]>>3]=q;if(e==q|g==q)break b;p=+rQ(a,c[i>>2]|0);if(p<=0.0)e=+h[c[n>>2]>>3];if(p>=0.0)g=+h[c[n>>2]>>3];b=qQ(p)|0;o=y&2147483647;if(o>>>0>2146435072|(o|0)==2146435072&b>>>0>0){g=p;e=p;break}else{f=f+1|0;o=60}}while(0);h[c[n>>2]>>3]=s;e=k>-j?e:g;break}default:{e=+rQ(a,c[b+20>>2]|0);g=+rQ(a,c[b+24>>2]|0);do switch(c[b>>2]|0){case 10:{e=(e-g*+z(+(e/g)))*+h[b+8>>3];break a}case 35:{e=+h[b+8>>3]*(+((LM(~~e>>>0,+A(e)>=1.0?(e>0.0?~~+O(+z(e/4294967296.0),4294967295.0)>>>0:~~+M((e-+(~~e>>>0))/4294967296.0)>>>0):0,~~g>>>0,+A(g)>=1.0?(g>0.0?~~+O(+z(g/4294967296.0),4294967295.0)>>>0:~~+M((g-+(~~g>>>0))/4294967296.0)>>>0):0)|0)>>>0)+4294967296.0*+(y|0));break a}case 11:{e=(e>g?e:g)*+h[b+8>>3];break a}case 12:{e=(e<g?e:g)*+h[b+8>>3];break a}case 13:{e=(e==g?1.0:0.0)*+h[b+8>>3];break a}case 14:{e=(e>g?1.0:0.0)*+h[b+8>>3];break a}case 15:{e=(e>=g?1.0:0.0)*+h[b+8>>3];break a}case 17:{e=(e<g?1.0:0.0)*+h[b+8>>3];break a}case 16:{e=(e<=g?1.0:0.0)*+h[b+8>>3];break a}case 18:{e=+C(+e,+g)*+h[b+8>>3];break a}case 19:{e=e*g*+h[b+8>>3];break a}case 20:{e=e/g*+h[b+8>>3];break a}case 21:{e=(e+g)*+h[b+8>>3];break a}case 22:{e=g*+h[b+8>>3];break a}case 23:{s=+h[b+8>>3];b=~~e;h[(c[a+48>>2]|0)+(((b|0)>0?((b|0)<9?b:9):0)<<3)>>3]=g;e=g*s;break a}case 34:{e=+h[b+8>>3]*+zT(e,g);break a}case 43:{e=+h[b+8>>3]*+J(+e,+g);break a}case 39:{a=qQ(e)|0;o=y&2147483647;if(o>>>0>2146435072|(o|0)==2146435072&a>>>0>0){e=r;break a}a=qQ(g)|0;o=y&2147483647;if(o>>>0>2146435072|(o|0)==2146435072&a>>>0>0){e=r;break a}e=+h[b+8>>3]*+(~~g&~~e|0);break a}case 40:{a=qQ(e)|0;o=y&2147483647;if(o>>>0>2146435072|(o|0)==2146435072&a>>>0>0){e=r;break a}a=qQ(g)|0;o=y&2147483647;if(o>>>0>2146435072|(o|0)==2146435072&a>>>0>0){e=r;break a}e=+h[b+8>>3]*+(~~g|~~e|0);break a}default:{e=r;break a}}while(0)}}while(0);l=t;return +e}function sQ(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function tQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=n+4|0;i=n;k=d+4|0;e=c[k>>2]|0;do if((e|0)>=1){c[k>>2]=e+-1;e=vQ(j,d)|0;if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;while(1){e=c[f>>2]|0;if((a[e>>0]|0)!=59){f=9;break}c[f>>2]=e+1;e=vQ(i,d)|0;if((e|0)<0){f=6;break}g=c[i>>2]|0;e=wQ(22,h,g)|0;if(!e){f=8;break}else h=e}if((f|0)==6){c[j>>2]=h;pQ(h);break}else if((f|0)==8){c[j>>2]=0;pQ(h);pQ(g);e=-12;break}else if((f|0)==9){c[j>>2]=h;c[k>>2]=(c[k>>2]|0)+1;c[b>>2]=h;e=0;break}}}else e=-22;while(0);l=n;return e|0}function uQ(a){a=a|0;a:do if(!a)a=0;else switch(c[a>>2]|0){case 1:case 0:{a=1;break a}case 33:case 32:case 31:case 30:case 29:case 28:case 27:case 9:case 8:case 6:case 7:case 5:case 3:case 2:{if(!(uQ(c[a+20>>2]|0)|0)){a=0;break a}a=(c[a+24>>2]|0)==0;break a}case 38:{if(!(uQ(c[a+20>>2]|0)|0)){a=0;break a}a=c[a+24>>2]|0;if(!a){a=1;break a}a=(uQ(a)|0)!=0;break a}case 25:case 37:case 36:{if(!(uQ(c[a+20>>2]|0)|0)){a=0;break a}if(!(uQ(c[a+24>>2]|0)|0)){a=0;break a}a=c[a+28>>2]|0;if(!a){a=1;break a}a=(uQ(a)|0)!=0;break a}case 44:case 42:case 41:{if(!(uQ(c[a+20>>2]|0)|0)){a=0;break a}if(!(uQ(c[a+24>>2]|0)|0)){a=0;break a}a=(uQ(c[a+28>>2]|0)|0)!=0;break a}default:{if(!(uQ(c[a+20>>2]|0)|0)){a=0;break a}if(!(uQ(c[a+24>>2]|0)|0)){a=0;break a}a=(c[a+28>>2]|0)==0;break a}}while(0);return a&1|0}function vQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=k+4|0;i=k;e=xQ(j,d)|0;do if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;a:while(1){switch(a[c[f>>2]>>0]|0){case 43:case 45:break;default:{f=8;break a}}e=xQ(i,d)|0;if((e|0)<0){f=5;break}g=c[i>>2]|0;e=wQ(21,h,g)|0;if(!e){f=7;break}else h=e}if((f|0)==5){c[j>>2]=h;pQ(h);break}else if((f|0)==7){c[j>>2]=0;pQ(h);pQ(g);e=-12;break}else if((f|0)==8){c[j>>2]=h;c[b>>2]=h;e=0;break}}while(0);l=k;return e|0}function wQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Lg(40)|0;if(!e)e=0;else{c[e>>2]=a;h[e+8>>3]=1.0;c[e+20>>2]=b;c[e+24>>2]=d}return e|0}function xQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=n+4|0;j=n;e=yQ(k,d)|0;do if((e|0)>=0){h=d+8|0;i=c[k>>2]|0;a:while(1){e=c[h>>2]|0;switch(a[e>>0]|0){case 47:case 42:break;default:{f=8;break a}}c[h>>2]=e+1;f=a[e>>0]|0;e=yQ(j,d)|0;if((e|0)<0){f=5;break}g=c[j>>2]|0;e=wQ(f<<24>>24==42?19:20,i,g)|0;if(!e){f=7;break}else i=e}if((f|0)==5){c[k>>2]=i;pQ(i);break}else if((f|0)==7){c[k>>2]=0;pQ(i);pQ(g);e=-12;break}else if((f|0)==8){c[k>>2]=i;c[b>>2]=i;e=0;break}}while(0);l=n;return e|0}function yQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=p+12|0;j=p+8|0;k=p+4|0;o=p;e=zQ(k,d,n)|0;do if((e|0)>=0){i=d+8|0;g=c[k>>2]|0;while(1){e=c[i>>2]|0;if((a[e>>0]|0)!=94){f=10;break}c[i>>2]=e+1;e=zQ(o,d,j)|0;if((e|0)<0){f=5;break}f=wQ(18,g,c[o>>2]|0)|0;c[k>>2]=f;if(!f){f=7;break}e=c[f+24>>2]|0;if(!e){g=f;continue}g=e+8|0;h[g>>3]=+h[g>>3]*+(c[j>>2]|1|0);g=f}if((f|0)==5){pQ(g);break}else if((f|0)==7){pQ(g);pQ(c[o>>2]|0);e=-12;break}else if((f|0)==10){if(g|0){o=g+8|0;h[o>>3]=+h[o>>3]*+(c[n>>2]|1|0)}c[b>>2]=g;e=0;break}}while(0);l=p;return e|0}function zQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=j;g=d+8|0;h=c[g>>2]|0;do if((a[h>>0]|0)==45){+oV(h,f);h=c[f>>2]|0;if(((h|0)!=(c[g>>2]|0)?(a[h>>0]|0)==100:0)?(a[h+1>>0]|0)==66:0){c[e>>2]=0;b=AQ(b,d)|0;break}i=7}else i=7;while(0);if((i|0)==7)b=BQ(b,d,e)|0;l=j;return b|0}function AQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;if((l|0)>=(m|0))W(48);u=x+24|0;r=x+16|0;q=x+8|0;p=x;w=x+32|0;s=x+28|0;o=Lg(40)|0;c[w>>2]=o;t=d+8|0;v=c[t>>2]|0;c[s>>2]=v;a:do if(!o)e=-12;else{j=o+8|0;h[j>>3]=+CQ(v,s);n=c[s>>2]|0;i=o;if((n|0)!=(c[t>>2]|0)){c[o>>2]=0;c[t>>2]=n;c[b>>2]=i;e=0;break}h[j>>3]=1.0;f=c[d+16>>2]|0;b:do if(!f)e=0;else{e=0;while(1){g=c[f+(e<<2)>>2]|0;if(!g){e=0;break b}if(DQ(n,g)|0)break;e=e+1|0}c[t>>2]=n+(BU(g)|0);c[o>>2]=1;c[o+16>>2]=e;c[b>>2]=i;e=0;break a}while(0);while(1){if(e>>>0>=4)break;f=c[28616+(e<<4)>>2]|0;if(DQ(n,f)|0){k=11;break}e=e+1|0}if((k|0)==11){c[t>>2]=n+(BU(f)|0);c[o>>2]=0;h[j>>3]=+h[28616+(e<<4)+8>>3];c[b>>2]=i;e=0;break}e=CU(n,40)|0;c[t>>2]=e;if(!e){c[p>>2]=v;Uf(d,16,156291,p);c[t>>2]=c[s>>2];pQ(c[w>>2]|0);e=-22;break}c[t>>2]=e+1;if((a[n>>0]|0)==40){Qf(w);e=tQ(w,d)|0;if((e|0)<0)break;e=c[t>>2]|0;if((a[e>>0]|0)==41){c[t>>2]=e+1;c[b>>2]=c[w>>2];e=0;break}else{c[q>>2]=v;Uf(d,16,156334,q);pQ(c[w>>2]|0);e=-22;break}}e=tQ(o+20|0,d)|0;if((e|0)<0){pQ(c[w>>2]|0);break}f=c[t>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[t>>2]=f+1;tQ((c[w>>2]|0)+24|0,d)|0;f=c[t>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[t>>2]=f+1;tQ((c[w>>2]|0)+28|0,d)|0;f=c[t>>2]|0;e=a[f>>0]|0}}if(e<<24>>24!=41){c[r>>2]=v;Uf(d,16,156355,r);pQ(c[w>>2]|0);e=-22;break}c[t>>2]=f+1;k=c[w>>2]|0;c[k>>2]=2;i=c[s>>2]|0;j=k;do if(!(DQ(i,156393)|0)){if(DQ(i,156398)|0){c[k+16>>2]=2;break}if(DQ(i,156403)|0){c[k+16>>2]=3;break}if(DQ(i,156408)|0){c[k+16>>2]=4;break}if(DQ(i,156412)|0){c[k+16>>2]=5;break}if(DQ(i,156416)|0){c[k+16>>2]=6;break}if(DQ(i,156420)|0){c[k+16>>2]=7;break}if(DQ(i,156425)|0){c[k+16>>2]=8;break}if(DQ(i,156430)|0){c[k+16>>2]=9;break}if(DQ(i,156435)|0){c[k+16>>2]=10;break}if(DQ(i,168905)|0){c[k+16>>2]=11;break}if(DQ(i,156439)|0){c[k+16>>2]=12;break}if(DQ(i,156443)|0){c[k+16>>2]=13;break}if(DQ(i,156448)|0){c[k>>2]=5;break}if(DQ(i,156455)|0){c[k>>2]=6;break}if(DQ(i,156461)|0){c[k>>2]=10;break}if(DQ(i,156465)|0){c[k>>2]=11;break}if(DQ(i,156469)|0){c[k>>2]=12;break}if(DQ(i,156473)|0){c[k>>2]=13;break}if(DQ(i,156476)|0){c[k>>2]=15;break}if(DQ(i,156480)|0){c[k>>2]=14;break}if(DQ(i,156483)|0){c[k>>2]=16;break}if(DQ(i,156487)|0){c[k>>2]=17;break}if(DQ(i,156490)|0){c[k>>2]=7;break}if(DQ(i,156493)|0){c[k>>2]=8;break}if(DQ(i,156499)|0){c[k>>2]=9;break}if(DQ(i,156505)|0){c[k>>2]=23;break}if(DQ(i,156508)|0){c[k>>2]=24;break}if(DQ(i,156514)|0){c[k>>2]=25;break}if(DQ(i,156521)|0){c[k>>2]=26;break}if(DQ(i,156526)|0){c[k>>2]=27;break}if(DQ(i,156532)|0){c[k>>2]=28;break}if(DQ(i,162611)|0){c[k>>2]=29;break}if(DQ(i,156537)|0){c[k>>2]=30;break}if(DQ(i,156543)|0){c[k>>2]=31;break}if(DQ(i,156548)|0){c[k>>2]=32;break}if(DQ(i,156552)|0){c[k>>2]=18;break}if(DQ(i,156556)|0){c[k>>2]=38;break}if(DQ(i,157019)|0){c[k>>2]=33;break}if(DQ(i,156562)|0){c[k>>2]=34;break}if(DQ(i,156568)|0){c[k>>2]=35;break}if(DQ(i,156572)|0){c[k>>2]=36;break}if(DQ(i,156575)|0){c[k>>2]=37;break}if(DQ(i,156581)|0){c[k>>2]=39;break}if(DQ(i,156588)|0){c[k>>2]=40;break}if(DQ(i,156594)|0){c[k>>2]=41;break}if(DQ(i,156602)|0){c[k>>2]=42;break}if(DQ(i,156607)|0){c[k>>2]=43;break}if(DQ(i,156613)|0){c[k>>2]=44;break}f=c[d+24>>2]|0;c:do if(f|0){e=0;while(1){g=c[f+(e<<2)>>2]|0;if(!g)break c;if(DQ(i,g)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+20>>2]|0)+(e<<2)>>2];c[k>>2]=3;c[b>>2]=j;e=0;break a}while(0);f=c[d+32>>2]|0;d:do if(f|0){e=0;while(1){g=c[f+(e<<2)>>2]|0;if(!g)break d;if(DQ(i,g)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+28>>2]|0)+(e<<2)>>2];c[k>>2]=4;c[b>>2]=j;e=0;break a}while(0);c[u>>2]=v;Uf(d,16,156618,u);pQ(c[w>>2]|0);e=-22;break a}else c[k+16>>2]=1;while(0);c[b>>2]=j;e=0}while(0);l=x;return e|0}function BQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d+8|0;h=c[f>>2]|0;g=a[h>>0]|0;g=(g<<24>>24==43&1)-(g<<24>>24==45&1)|0;c[e>>2]=g;c[f>>2]=h+(g&1);return AQ(b,d)|0}function CQ(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,n=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=n;if((a[b>>0]|0)==48?(a[b+1>>0]|32|0)==120:0)f=+((xT(b,k,16)|0)>>>0);else f=+oV(b,k);i=c[k>>2]|0;e=i;if((i|0)!=(b|0)){b=a[i>>0]|0;if(b<<24>>24==100)if((a[i+1>>0]|0)==66){f=+NU(f/20.0*3.321928094887362);b=i+2|0;c[k>>2]=b;e=b;j=14}else j=10;else if((b+-69&255)<54)j=10;else{g=b;b=i}do if((j|0)==10){b=(b<<24>>24)+-69|0;if(a[28680+(b*24|0)+16>>0]|0){g=i+1|0;if((a[g>>0]|0)==105){f=f*+h[28680+(b*24|0)>>3];b=i+2|0;c[k>>2]=b;e=b;j=14;break}else{f=f*+h[28680+(b*24|0)+8>>3];c[k>>2]=g;e=g;b=g;j=14;break}}else{b=i;j=14}}while(0);if((j|0)==14)g=a[b>>0]|0;if(g<<24>>24==66){e=b+1|0;c[k>>2]=e;f=f*8.0}}if(d|0)c[d>>2]=e;l=n;return +f}function DQ(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=0;while(1){e=a[c+d>>0]|0;f=a[b+d>>0]|0;if(!(e<<24>>24)){g=4;break}if(e<<24>>24==f<<24>>24)d=d+1|0;else{d=0;break}}if((g|0)==4){d=f<<24>>24;d=f<<24>>24!=95&((d+-48|0)>>>0>9&((d&-33)+-65|0)>>>0>25)&1}return d|0}function EQ(a){a=+a;var b=0;b=FQ()|0;return +((+(b>>>0)+4294967296.0*+(y|0))*1.0e-06)}function FQ(){var a=0,b=0,d=0;a=l;l=l+16|0;if((l|0)>=(m|0))W(16);b=a;hc(b|0,0)|0;d=c[b>>2]|0;d=ZW(d|0,((d|0)<0)<<31>>31|0,1e6,0)|0;b=c[b+4>>2]|0;b=TW(d|0,y|0,b|0,((b|0)<0)<<31>>31|0)|0;l=a;return b|0}function GQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);i=k;a:do if((a|0)!=0?(j=c[a>>2]|0,(j|0)!=0):0){b:do if(f&1|0){if(!(f&2)){i=0;while(1){i=IQ(a,i)|0;if(!i)break b;h=GQ(i,b,d,e,f,g)|0;if(h|0)break a}}c[i>>2]=0;h=0;while(1){h=HQ(j,h)|0;c[i>>2]=h;if(!h){i=7;break}h=GQ(i,b,d,e,f,0)|0;if(h|0){i=10;break}h=c[i>>2]|0}if((i|0)==7)break;else if((i|0)==10)break a}while(0);j=(d|0)==0;h=0;while(1){h=Cg(a,h)|0;if(!h){h=0;break a}if(HT(c[h>>2]|0,b)|0)continue;if((c[h+40>>2]&e|0)!=(e|0))continue;i=(c[h+12>>2]|0)==10;if(j)if(i)continue;else break;if(!i)continue;i=c[h+44>>2]|0;if(!i)continue;if(!(HT(i,d)|0))break}if(g)c[g>>2]=(f&2|0)==0?a:0}else h=0;while(0);l=k;return h|0}function HQ(a,b){a=a|0;b=b|0;a=c[a+28>>2]|0;if(!a)a=0;else a=Kd[a&31](b)|0;return a|0}function IQ(a,b){a=a|0;b=b|0;var d=0;d=c[(c[a>>2]|0)+24>>2]|0;if(!d)a=0;else a=Ld[d&15](a,b)|0;return a|0}function JQ(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0.0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=n;e=n+8|0;i=KQ(b)|0;h=y&2147483647;do if(h>>>0>2146435072|(h|0)==2146435072&i>>>0>0){c[a>>2]=0;c[a+4>>2]=0}else{if(+A(+b)>2147483650.0){c[a>>2]=b<0.0?-1:1;c[a+4>>2]=0;break}+bU(b,e);f=(c[e>>2]|0)+-1|0;f=(f|0)>0?f:0;c[e>>2]=f;e=cX(1,0,61-f|0)|0;f=y;g=j+4|0;o=+z(+((+(e>>>0)+4294967296.0*+(f|0))*b+.5));h=~~o>>>0;i=+A(o)>=1.0?(o>0.0?~~+O(+z(o/4294967296.0),4294967295.0)>>>0:~~+M((o-+(~~o>>>0))/4294967296.0)>>>0):0;Kn(j,g,h,i,e,f,d,((d|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){if((d|0)!=2147483647&(b!=0.0&(d|0)>0))k=8}else if((d|0)!=2147483647&((d|0)>0&(b!=0.0&(c[g>>2]|0)==0)))k=8;if((k|0)==8)Kn(j,g,h,i,e,f,2147483647,0)|0;d=j;j=c[d+4>>2]|0;k=a;c[k>>2]=c[d>>2];c[k+4>>2]=j}while(0);l=n;return}function KQ(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;y=c[j+4>>2]|0;return b|0}function LQ(){var a=0,b=0,d=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);b=d;a=Gc(84)|0;if(!(c[46411]|0)){c[b>>2]=a;Uf(0,48,156791,b);c[46411]=1}l=d;return a|0}function MQ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;if((l|0)>=(m|0))W(16);o=s;p=a+68|0;g=c[p>>2]|0;do if((g|0)>0?(q=a+72|0,h=c[q>>2]|0,(h|0)>0):0){r=a+392|0;e=c[r>>2]|0;j=a+396|0;f=c[j>>2]|0;if(e>>>0<(2147483647-f|0)>>>0?(k=a+384|0,t=c[k>>2]|0,n=a+388|0,i=c[n>>2]|0,(i+t|0)>>>0<h>>>0&((f+e|0)>>>0<g>>>0&t>>>0<(2147483647-i|0)>>>0)):0){i=nh(c[a+80>>2]|0)|0;if(!i)e=-558323010;else{if(!(0==0?(c[i+8>>2]&12|0)==0:0)){c[p>>2]=(c[p>>2]|0)-(c[j>>2]|0);c[q>>2]=(c[q>>2]|0)-(c[n>>2]|0);c[j>>2]=0;c[n>>2]=0;e=0;break}NQ(o,a,i);if(!(b&1)){h=c[r>>2]|0;if(!h)b=2147483647;else b=d[156818+((N(h&0-h,125613361)|0)>>>27)>>0]|0;f=2147483647;g=0;while(1){if(!(c[a+(g<<2)>>2]|0))break;e=c[o+(g<<2)>>2]|0;if(!e)e=2147483647;else e=d[156818+((N(e&0-e,125613361)|0)>>>27)>>0]|0;f=(e|0)>(f|0)?f:e;g=g+1|0}if((b|0)<(f|0)){e=-558323010;break}if((f|0)<5){c[r>>2]=h&-1<<b+5-f;NQ(o,a,i);e=0}else e=0}else e=0;while(1){f=a+(e<<2)|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=g+(c[o+(e<<2)>>2]|0);e=e+1|0}c[p>>2]=(c[p>>2]|0)-((c[j>>2]|0)+(c[r>>2]|0));c[q>>2]=(c[q>>2]|0)-((c[n>>2]|0)+(c[k>>2]|0));c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;e=0}}else e=-34}else e=-22;while(0);l=s;return e|0}function NQ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=e+5|0;k=e+6|0;m=e+8|0;n=e+4|0;o=b+384|0;p=b+392|0;f=0;a:while(1){if(!(c[b+(f<<2)>>2]|0))break;if((f+-1|0)>>>0<2){j=d[k>>0]|0;l=d[h>>0]|0}else{j=0;l=0}if((f|0)==1&((c[m>>2]&66|0)!=0|0!=0)){q=10;break}i=d[n>>0]|0;g=0;while(1){if((g|0)>=(i|0))break a;if((c[e+16+(g<<5)>>2]|0)==(f|0))break;g=g+1|0}j=N((c[o>>2]|0)>>>j,c[b+32+(f<<2)>>2]|0)|0;c[a+(f<<2)>>2]=(N((c[p>>2]|0)>>>l,c[e+16+(g<<5)+4>>2]|0)|0)+j;f=f+1|0}if((q|0)==10)c[a+4>>2]=0;return}function OQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[d>>2]|0;g=c[e+4>>2]|0;h=ZW(g|0,((g|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;g=y;e=c[e>>2]|0;d=c[d+4>>2]|0;e=ZW(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;f=An(a,b,h,g,e,y,f)|0;return f|0}function PQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=f+8|0;h=f;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];e=OQ(a,b,h,g,5)|0;l=f;return e|0}function QQ(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=Lg(N(b,a)|0)|0;else a=0;return a|0}function RQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=n+16|0;k=n+8|0;i=n;j=n+32|0;h=n+24|0;f=GQ(a,b,0,0,e,j)|0;e=c[j>>2]|0;a:do if((f|0)!=0&(e|0)!=0){b=(d|0)!=0;if(!b)switch(c[f+12>>2]|0){case 18:case 17:case 16:case 15:case 14:case 11:case 13:case 12:case 5:break;default:{b=-22;break a}}if(!(c[f+40>>2]&128)){j=e+(c[f+8>>2]|0)|0;do switch(c[f+12>>2]|0){case 18:{b=SQ(a,f,d,j)|0;break a}case 5:{b=TQ(d,j)|0;break a}case 7:{b=UQ(d,j)|0;break a}case 6:case 3:case 4:case 9:case 2:case 1:case 0:{b=iQ(a,e,f,d,j)|0;break a}case 11:{b=VQ(a,d,j)|0;break a}case 14:{b=WQ(a,d,h)|0;if((b|0)>=0){b=c[h>>2]|0;b=jQ(a,f,j,1.0,c[h+4>>2]|0,b,((b|0)<0)<<31>>31)|0}break a}case 12:{b=XQ(a,f,d,j)|0;break a}case 13:{b=YQ(a,f,d,j)|0;break a}case 15:{if(!b){b=j;c[b>>2]=0;c[b+4>>2]=0;b=0;break a}b=ZQ(j,d,1)|0;if((b|0)>=0)break a;c[i>>2]=d;Uf(a,16,156850,i);break a}case 16:{b=_Q(a,d,j)|0;break a}case 17:{if(b?HT(d,167453)|0:0){e=cQ(d)|0;f=y;if((e|0)==0&(f|0)==0){c[k>>2]=d;Uf(a,16,156897,k);b=-22}else b=0;a=j;c[a>>2]=e;c[a+4>>2]=f;break a}d=j;c[d>>2]=0;c[d+4>>2]=0;break}default:{}}while(0);Uf(a,16,156950,g);b=-22}else b=-22}else b=-1414549496;while(0);l=n;return b|0}function SQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,n=0,o=0,p=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=o;j=o+4|0;do if(!d)f=0;else{if(HT(d,163890)|0)if(!(ZP(d,159266)|0))if(!(ZP(d,159295)|0)){c[j>>2]=0;g=yT(d,j,10)|0;p=d+(BU(d)|0)|0;if((p|0)==(c[j>>2]|0)){f=g;n=6}}else{f=0;n=6}else{f=1;n=6}else{f=-1;n=6}if(((n|0)==6?(i=+(f|0),!(+h[b+24>>3]>i)):0)?!(+h[b+32>>3]<i):0){c[e>>2]=f;f=0;break}c[k>>2]=d;Uf(a,16,159327,k);f=-22}while(0);l=o;return f|0}function TQ(a,b){a=a|0;b=b|0;Qf(b);a=bi(a)|0;c[b>>2]=a;return (a|0?0:-12)|0}function UQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=d+4|0;Qf(d);c[j>>2]=0;do if((b|0)!=0?(e=BU(b)|0,(e|0)!=0):0)if(!(e&1)){h=(e|0)/2|0;i=ag(h)|0;if(i){g=i;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=9;break}e=oR(e)|0;f=oR(a[b+1>>0]|0)|0;if((f|e|0)<0){b=8;break}a[g>>0]=f|e<<4;b=b+2|0;g=g+1|0}if((b|0)==8){Rf(i);e=-22;break}else if((b|0)==9){c[d>>2]=i;c[j>>2]=h;e=0;break}}else e=-12}else e=-22;else e=0;while(0);return e|0}function VQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f;if((b|0)!=0?(HT(b,167453)|0)!=0:0){d=nR(d,d+4|0,b)|0;if((d|0)<0){c[e>>2]=b;Uf(a,16,158961,e)}}else{c[d+4>>2]=0;c[d>>2]=0;d=0}l=f;return d|0}function WQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=g;if(b){d=lR(d,b)|0;if((d|0)<0)f=3}else{d=-22;f=3}if((f|0)==3){c[e>>2]=b;Uf(a,16,158863,e)}l=g;return d|0}function XQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return iR(a,b,c,d,183,18,158824)|0}function YQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return iR(a,b,c,d,12,19,158707)|0}function ZQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;if((l|0)>=(m|0))W(144);o=s+132|0;p=s+88|0;q=s+44|0;r=s;f=p;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));j=b;c[j>>2]=0;c[j+4>>2]=-2147483648;j=(e|0)!=0;a:do if(j){g=(a[d>>0]|0)==45;d=g?d+1|0:d;g=g&1;f=bR(d,158556,p)|0;if(!f){f=bR(d,158565,p)|0;e=p+8|0;c[e>>2]=0;if(!f){c[p>>2]=yT(d,r,10)|0;f=c[r>>2]|0;if((f|0)==(d|0)){e=-22;break}else{c[p+4>>2]=0;c[e>>2]=0;e=g;d=0;k=18;break}}else{n=g;h=0;k=19}}else{n=g;h=0;k=19}}else{e=FQ()|0;f=y;n=XW(e|0,f|0,1e6,0)|0;c[o>>2]=n;if(!(WP(d,158552)|0)){c[b>>2]=e;c[b+4>>2]=f;e=0;break}else f=0;while(1){if(f>>>0>=2){e=0;break}e=bR(d,c[106940+(f<<2)>>2]|0,p)|0;if(!e)f=f+1|0;else break}h=(e|0)==0;g=h?d:e;h=h&1;e=a[g>>0]|0;b:do switch(e<<24>>24){case 116:case 84:{d=g+1|0;break}default:{d=g;while(1){f=d+1|0;if(!(cR(e<<24>>24)|0))break b;d=f;e=a[f>>0]|0}}}while(0);e=0;f=g;while(1){if(e>>>0>=2){e=0;d=h;k=18;break a}f=bR(d,c[106948+(e<<2)>>2]|0,p)|0;if(!f){e=e+1|0;f=0}else{n=0;k=19;break}}}while(0);if((k|0)==18)if(!f)e=-22;else{n=e;h=d;k=19}c:do if((k|0)==19){e=a[f>>0]|0;if(e<<24>>24==46){g=1e5;d=0;while(1){f=f+1|0;if(!g)break;e=a[f>>0]|0;if(!(dR(e)|0))break;i=(N(e+-48|0,g)|0)+d|0;g=(g>>>0)/10|0;d=i}while(1){e=a[f>>0]|0;if(!(dR(e<<24>>24)|0)){i=f;g=e;break}else f=f+1|0}}else{d=0;i=f;g=e}d:do if(j){j=((c[p+4>>2]|0)*60|0)+((c[p+8>>2]|0)*3600|0)+(c[p>>2]|0)|0;e=((j|0)<0)<<31>>31;switch(g<<24>>24){case 109:{if((a[i+1>>0]|0)==115){i=i+2|0;d=(d|0)/1e3|0;g=1e3;h=0;f=j;break d}else k=28;break}case 117:{f=i+1|0;if((a[f>>0]|0)==115){i=i+2|0;d=0;g=1;h=0;f=j;break d}break}default:k=28}if((k|0)==28)f=i+1|0;i=g<<24>>24==115?f:i;g=1e6;h=0;f=j}else{j=(g|32)<<24>>24==122;e=j&1;i=i+e|0;h=(h|0)!=0;e:do if(h|j){f=0;g=0}else{switch(a[i>>0]|0){case 45:case 43:break;default:{f=0;g=0;break e}}f=r;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));g=(a[i>>0]|0)==43;f=i+1|0;i=f;e=0;while(1){if(e>>>0>=3){k=37;break}i=bR(f,c[106956+(e<<2)>>2]|0,r)|0;if(!i){i=0;e=e+1|0}else break}if((k|0)==37)if(!i){e=-22;break c}g=N(g?-60:60,((c[r+8>>2]|0)*60|0)+(c[r+4>>2]|0)|0)|0;e=1;f=g;g=((g|0)<0)<<31>>31}while(0);if(h){if(!e){q=(qc(o|0,q|0)|0)+12|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];c[r+16>>2]=c[q+16>>2];c[r+20>>2]=c[q+20>>2];c[r+24>>2]=c[q+24>>2];c[r+28>>2]=c[q+28>>2]}else{q=(ic(o|0,q|0)|0)+12|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];c[r+16>>2]=c[q+16>>2];c[r+20>>2]=c[q+20>>2];c[r+24>>2]=c[q+24>>2];c[r+28>>2]=c[q+28>>2]}q=p+12|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2]}r=(e|0)!=0;c[p+32>>2]=(r^1)<<31>>31;if(r)e=eR(p)|0;else e=sc(p|0)|0;f=TW(f|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;g=1e6;h=0;e=y}while(0);r=(a[i>>0]|0)==0;e=ZW(g|0,h|0,f|0,e|0)|0;e=TW(e|0,y|0,d|0,((d|0)<0)<<31>>31|0)|0;f=y;if(r){r=(n|0)!=0;q=UW(0,0,e|0,f|0)|0;c[b>>2]=r?q:e;c[b+4>>2]=r?y:f;e=0}else e=-22}while(0);l=s;return e|0}function _Q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f;if(b){d=$Q(d,b,-1,a)|0;if((d|0)<0){c[e>>2]=b;Uf(a,16,156972,e)}}else d=0;l=f;return d|0}function $Q(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+160|0;if((l|0)>=(m|0))W(160);t=u+16|0;p=u+8|0;o=u;s=u+28|0;q=u+32|0;n=u+24|0;if((a[d>>0]|0)==35)i=1;else{i=(JT(d,157016,2)|0)==0;i=i?2:0}if((e|0)<0)e=BU(d)|0;e=e-i+1|0;di(q,d+i|0,e>>>0<128?e:128)|0;e=CU(q,64)|0;c[s>>2]=e;if(!e)k=0;else{k=e+1|0;c[s>>2]=k;a[e>>0]=0}h=BU(q)|0;j=b+3|0;a[j>>0]=-1;a:do if((WP(q,157019)|0)!=0?(WP(q,157026)|0)!=0:0){if((i|0)==0?(mV(q,157035)|0)!=(h|0):0){e=qV(q,105820,140,8,10)|0;if(!e){c[p>>2]=q;Uf(f,16,157099,p);e=-22;break}else{r=e+4|0;a[b>>0]=a[r>>0]|0;a[b+1>>0]=a[r+1>>0]|0;a[b+2>>0]=a[r+2>>0]|0;r=20;break}}e=xT(q,n,16)|0;b:do if(!(a[c[n>>2]>>0]|0)){switch(h|0){case 8:{a[j>>0]=e;e=e>>>8;break}case 6:break;default:break b}a[b>>0]=e>>>16;a[b+1>>0]=e>>>8;a[b+2>>0]=e;r=20;break a}while(0);c[o>>2]=q;Uf(f,16,157058,o);e=-22}else r=9;while(0);if((r|0)==9){q=LP()|0;a[b>>0]=q>>>24;a[b+1>>0]=q>>>16;a[b+2>>0]=q>>>8;a[j>>0]=q;r=20}do if((r|0)==20)if(!k)e=0;else{if(!(JT(k,157016,2)|0))g=+((xT(k,s,16)|0)>>>0);else{g=+oV(k,s);g=g<0.0|g>1.0?256.0:g*255.0}s=c[s>>2]|0;if((s|0)!=(k|0)?!(g<0.0|(g>255.0|(a[s>>0]|0)!=0)):0){a[j>>0]=~~g;e=0;break}c[t>>2]=k;c[t+4>>2]=d;Uf(f,16,157123,t);e=-22}while(0);l=u;return e|0}function aR(a,b){a=a|0;b=b|0;return WP(a,c[b>>2]|0)|0}function bR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;if((l|0)>=(m|0))W(16);o=q;c[o>>2]=b;h=e+8|0;i=e+4|0;j=e+20|0;k=e+16|0;n=e+12|0;a:while(1){g=d+1|0;f=a[d>>0]|0;switch(f<<24>>24){case 0:{p=27;break a}case 37:break;default:{d=(cR(f<<24>>24)|0)==0;b=c[o>>2]|0;if(d){if((a[b>>0]|0)!=f<<24>>24){b=0;break a}c[o>>2]=b+1;d=g;continue a}while(1){d=a[b>>0]|0;if(!(d<<24>>24))break;if(!(cR(d<<24>>24)|0))break;b=b+1|0}c[o>>2]=b;d=g;continue a}}d=d+2|0;b=a[g>>0]|0;switch(b<<24>>24|0){case 74:case 72:{b=fR(o,0,b<<24>>24==72?23:2147483647,2)|0;if((b|0)==-1){b=0;break a}c[h>>2]=b;continue a}case 77:{b=fR(o,0,59,2)|0;if((b|0)==-1){b=0;break a}c[i>>2]=b;continue a}case 83:{b=fR(o,0,59,2)|0;if((b|0)==-1){b=0;break a}c[e>>2]=b;continue a}case 89:{b=fR(o,0,9999,4)|0;if((b|0)==-1){b=0;break a}c[j>>2]=b+-1900;continue a}case 109:{b=fR(o,1,12,2)|0;if((b|0)==-1){b=0;break a}c[k>>2]=b+-1;continue a}case 100:{b=fR(o,1,31,2)|0;if((b|0)==-1){b=0;break a}c[n>>2]=b;continue a}case 84:{g=bR(c[o>>2]|0,158585,e)|0;c[o>>2]=g;if(!g){b=0;break a}else continue a}case 104:case 66:case 98:{b=gR(o)|0;if((b|0)==-1){b=0;break a}c[k>>2]=b;continue a}case 37:{g=c[o>>2]|0;c[o>>2]=g+1;if((a[g>>0]|0)==37)continue a;else{b=0;break a}}default:{b=0;break a}}}if((p|0)==27)b=c[o>>2]|0;l=q;return b|0}function cR(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function dR(a){a=a|0;return (a+-48|0)>>>0<10|0}function eR(a){a=a|0;var b=0,d=0,e=0;b=c[a+16>>2]|0;d=(b|0)<2;e=(d?1899:1900)+(c[a+20>>2]|0)|0;return ((c[a+8>>2]|0)*3600|0)+-2032579456+((c[a+4>>2]|0)*60|0)+(c[a>>2]|0)+(((e*365|0)+(c[a+12>>2]|0)+((e|0)/4|0)+((e|0)/-100|0)+((e|0)/400|0)+(((((d?13:1)+b|0)*153|0)+-457|0)/5|0)|0)*86400|0)|0}function fR(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;h=j;g=0;i=0;while(1){if((i|0)>=(f|0))break;k=a[h>>0]|0;if(!(dR(k)|0))break;h=h+1|0;g=(g*10|0)+-48+k|0;i=i+1|0}if((h|0)!=(j|0)?!((g|0)<(d|0)|(g|0)>(e|0)):0)c[b>>2]=h;else g=-1;return g|0}function gR(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;while(1){if((b|0)>=12){b=-1;break}d=c[106968+(b<<2)>>2]|0;if(!(YP(c[a>>2]|0,d,3)|0)){e=4;break}b=b+1|0}if((e|0)==4){e=d+3|0;f=BU(e)|0;d=(c[a>>2]|0)+3|0;c[a>>2]=d;if((f|0)>0?(YP(d,e,f)|0)==0:0)c[a>>2]=(c[a>>2]|0)+f}return b|0}function hR(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=12){b=-1;break}if(!(HT(101804+(b*20|0)|0,a)|0))break;b=b+1|0}return b|0}function iR(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+32|0;if((l|0)>=(m|0))W(32);q=r+8|0;o=r;n=r+28|0;do if((e|0)!=0?(HT(e,167453)|0)!=0:0){k=Kd[i&31](e)|0;if((k|0)==-1){k=yT(e,n,0)|0;if(k>>>0<g>>>0?(a[c[n>>2]>>0]|0)==0:0){p=7;break}else{c[o>>2]=e;c[o+4>>2]=j;Uf(b,16,158721,o);i=-22;break}}else p=7}else{k=-1;p=7}while(0);do if((p|0)==7){s=+h[d+24>>3];e=~~(s>-1.0?s:-1.0);s=+h[d+32>>3];p=g+-1|0;t=+(p|0);i=~~(s>t?t:s);g=(i|e|0)==0;e=g?-1:e;i=g?p:i;if((k|0)<(e|0)|(k|0)>(i|0)){f=c[d>>2]|0;c[q>>2]=k;c[q+4>>2]=f;c[q+8>>2]=j;c[q+12>>2]=e;c[q+16>>2]=i;Uf(b,16,158762,q);i=-34;break}else{c[f>>2]=k;i=0;break}}while(0);l=r;return i|0}function jR(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+48|0;if((l|0)>=(m|0))W(48);e=f;d=f+8|0;if(!(HT(a,158837)|0))b=125011;else{b=(HT(a,158843)|0)==0;b=b?125001:a}a=kR(b)|0;if((a|0)==-1){c[e>>2]=b;c[e+4>>2]=158854;KU(d,32,158849,e)|0;a=kR(d)|0;if((a|0)==-1){e=(HT(b,158857)|0)==0;l=f;return (e?46:-1)|0}}l=f;return a|0}function kR(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=183){b=-1;break}if(!(HT(c[112+(b*152|0)>>2]|0,a)|0))break;if(ZP(a,c[112+(b*152|0)+144>>2]|0)|0)break;b=b+1|0}return b|0}function lR(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=8){e=6;break}if(!(HT(c[107016+(d*12|0)>>2]|0,b)|0)){e=4;break}d=d+1|0}if((e|0)==4){b=107016+(d*12|0)+4|0;e=c[b+4>>2]|0;d=a;c[d>>2]=c[b>>2];c[d+4>>2]=e;d=0}else if((e|0)==6){d=mR(a,b,1001e3,64,0)|0;if((d|0)>=0)if((c[a>>2]|0)<1)d=-22;else return ((c[a+4>>2]|0)<1?-22:0)|0}return d|0}function mR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0;k=l;l=l+32|0;if((l|0)>=(m|0))W(32);j=k+8|0;i=k;g=a+4|0;c[j>>2]=a;c[j+4>>2]=g;c[j+8>>2]=k+20;do if((_U(b,158912,j)|0)!=2){b=lQ(j,b,0,0,0,0,0,0,0,e,f)|0;if((b|0)<0)break;else{JQ(i,+h[j>>3],d);j=c[i+4>>2]|0;b=a;c[b>>2]=c[i>>2];c[b+4>>2]=j;b=0;break}}else{j=c[a>>2]|0;b=c[g>>2]|0;Kn(a,g,j,((j|0)<0)<<31>>31,b,((b|0)<0)<<31>>31,d,((d|0)<0)<<31>>31)|0;b=0}while(0);l=k;return b|0}function nR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=j;g=0;while(1){if((g|0)>=53){i=6;break}if(!(HT(c[107112+(g*12|0)>>2]|0,e)|0)){i=4;break}g=g+1|0}if((i|0)==4){f=c[107112+(g*12|0)+8>>2]|0;e=c[107112+(g*12|0)+4>>2]|0;i=10}else if((i|0)==6)if((g|0)==53){e=yT(e,h,10)|0;f=c[h>>2]|0;if(a[f>>0]|0){f=f+1|0;c[h>>2]=f}f=yT(f,h,10)|0;if(!(a[c[h>>2]>>0]|0))i=10;else e=-22}else e=-22;if((i|0)==10)if((e|0)<1|(f|0)<1)e=-22;else{c[b>>2]=e;c[d>>2]=f;e=0}l=j;return e|0}function oR(a){a=a|0;var b=0;b=a<<24>>24;if((a+-48&255)>=10)if((a+-97&255)<6)a=-87;else return ((a+-65&255)<6?b+-55|0:-1)|0;else a=-48;return a+b|0}function pR(a){a=a|0;return (a>>>0>11?0:101804+(a*20|0)|0)|0}function qR(a){a=a|0;rR(a,0,0);return}function rR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,n=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=n;j=n+8|0;i=j+4|0;e=0;a:while(1){e=Cg(a,e)|0;if(!e)break;g=a+(c[e+8>>2]|0)|0;f=c[e+40>>2]|0;if(!((f&b|0)==(d|0)&(f&128|0)==0))continue;f=c[e+12>>2]|0;switch(f|0){case 8:case 10:continue a;case 13:case 12:case 17:case 15:case 9:case 2:case 1:case 0:case 18:{f=e+16|0;jQ(a,e,g,1.0,1,c[f>>2]|0,c[f+4>>2]|0)|0;continue a}case 4:case 3:{jQ(a,e,g,+h[e+16>>3],1,1,0)|0;continue a}case 6:{JQ(j,+h[e+16>>3],2147483647);f=c[j>>2]|0;jQ(a,e,g,1.0,c[i>>2]|0,f,((f|0)<0)<<31>>31)|0;continue a}case 16:{_Q(a,c[e+16>>2]|0,g)|0;continue a}case 5:{TQ(c[e+16>>2]|0,g)|0;continue a}case 11:{VQ(a,c[e+16>>2]|0,g)|0;continue a}case 14:{WQ(a,c[e+16>>2]|0,g)|0;continue a}case 7:{UQ(c[e+16>>2]|0,g)|0;continue a}default:{g=c[e>>2]|0;c[k>>2]=f;c[k+4>>2]=g;Uf(a,48,159373,k);continue a}}}l=n;return}
function ng(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((og(b,12)|0)==4095){pg(b);qg(b,2);g=rg(b)|0;h=og(b,2)|0;i=og(b,4)|0;j=c[89208+(i<<2)>>2]|0;if(j){pg(b);f=og(b,3)|0;pg(b);pg(b);pg(b);pg(b);e=og(b,13)|0;if((e|0)<7)e=-67308554;else{qg(b,11);b=og(b,2)|0;a[d+13>>0]=h+1;a[d+15>>0]=f;a[d+12>>0]=g;h=b+1|0;a[d+16>>0]=h;a[d+14>>0]=i;c[d>>2]=j;i=h<<10;c[d+4>>2]=i;c[d+8>>2]=((N(e<<3,j)|0)>>>0)/(i>>>0)|0}}else e=-50531338}else e=-16976906;return e|0}function og(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function pg(a){a=a|0;qg(a,1);return}function qg(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function rg(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function sg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(g=c[a>>2]|0,g|0):0){b=g+4|0;d=c[b>>2]|0;e=c[d+24>>2]|0;if(e){Rd[e&31](g);d=c[b>>2]|0}b=g+12|0;if(c[d+8>>2]|0?(f=c[b>>2]|0,f|0):0)tg(f);tg(g);f=g+8|0;ug(c[f>>2]|0);Qf(f);Qf(b);vg(g+16|0);vg(g+20|0);Qf(a)}return}function tg(a){a=a|0;var b=0;b=0;a:while(1){b=Cg(a,b)|0;if(!b)break;switch(c[b+12>>2]|0){case 7:case 5:{Qf(a+(c[b+8>>2]|0)|0);continue a}case 8:{Dg(a+(c[b+8>>2]|0)|0);continue a}default:continue a}}return}function ug(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){xg(b);Qf(a)}return}function vg(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){wg(b);Qf(a)}return}function wg(a){a=a|0;var b=0,d=0;Qf(a+12|0);b=a+8|0;d=b+128|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a>>2]=-1;c[a+4>>2]=0;c[a+20>>2]=-1;c[a+64>>2]=0;c[a+68>>2]=0;c[a+72>>2]=2;c[a+76>>2]=2;c[a+80>>2]=2;c[a+84>>2]=0;c[a+56>>2]=0;c[a+60>>2]=1;c[a+40>>2]=-99;c[a+44>>2]=-99;return}function xg(a){a=a|0;yg(a);zg(a);Ag(a);c[a+24>>2]=0;c[a+28>>2]=0;return}function yg(a){a=a|0;var b=0,d=0;d=a+44|0;b=a+40|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;Qf((c[b>>2]|0)+(a*12|0)|0);a=a+1|0}Qf(b);c[d>>2]=0;return}function zg(a){a=a|0;if(a|0?c[a>>2]|0:0)Bg(a,0);return}function Ag(a){a=a|0;var b=0;b=a+8|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+16|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+56|0;c[b>>2]=-1;c[b+4>>2]=-1;b=a+64|0;c[b>>2]=0;c[b+4>>2]=0;b=a+32|0;c[a>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=g;e=c[a>>2]|0;f=c[e>>2]|0;c[d>>2]=f;if(!b)Qf(a);else{a=c[b>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];Qf(b)}e=f+8|0;f=c[e>>2]|0;c[e>>2]=f+-1;if((f|0)==1){f=c[d>>2]|0;Sd[c[f+12>>2]&255](c[f+16>>2]|0,c[f>>2]|0);Qf(d)}l=g;return}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;do if(!a)d=0;else{a=c[a>>2]|0;e=(b|0)==0;if((e&(a|0)!=0?(f=c[a+8>>2]|0,f|0):0)?c[f>>2]|0:0){d=f;break}if(!e?(d=b+48|0,c[d>>2]|0):0)break;d=0}while(0);return d|0}function Dg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){d=b+4|0;while(1){f=c[b>>2]|0;e=f+-1|0;c[b>>2]=e;if(!f)break;Qf((c[d>>2]|0)+(e<<3)|0);Qf((c[d>>2]|0)+(c[b>>2]<<3)+4|0)}Qf(d)}Qf(a);return}function Eg(a,b){a=a|0;b=b|0;return Ld[c[(c[a+4>>2]|0)+20>>2]&15](a,b)|0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=g;do if(b){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0){f=4;break}d=c[a+8>>2]|0;if(c[d+4>>2]|0){Uf(a,16,116968,e);a=-22;break}a=c[d>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){Gg(a,b);a=0}else a=-11}else f=4;while(0);if((f|0)==4){c[(c[a+8>>2]|0)+4>>2]=1;a=0}l=g;return a|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0;d=b;e=a+72|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Ag(b);c[b+24>>2]=0;c[b+28>>2]=0;return}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;wg(a);gX(a|0,b|0,136)|0;f=a+12|0;c[f>>2]=0;d=a+16|0;c[d>>2]=0;e=b+12|0;if(c[e>>2]|0){b=b+16|0;a=Lg((c[b>>2]|0)+64|0)|0;c[f>>2]=a;if(!a)a=-12;else{f=c[b>>2]|0;gX(a|0,c[e>>2]|0,f|0)|0;c[d>>2]=f;a=0}}else a=0;return a|0}function Ig(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+32|0;if((l|0)>=(m|0))W(32);k=p+24|0;j=p+16|0;i=p;n=a+4|0;e=c[(c[n>>2]|0)+4>>2]|0;g=a+16|0;a:do if(!e)o=13;else{f=c[(c[g>>2]|0)+4>>2]|0;b=0;while(1){d=c[e+(b<<2)>>2]|0;if(!d)break;if((f|0)==(d|0)){o=13;break a}else b=b+1|0}b=Jg(f)|0;if(!b)b=166724;else b=c[b+8>>2]|0;h=c[(c[g>>2]|0)+4>>2]|0;d=c[c[n>>2]>>2]|0;c[i>>2]=b;c[i+4>>2]=h;c[i+8>>2]=d;Uf(a,16,117006,i);d=0;while(1){b=c[(c[(c[n>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;if(!b)break;b=Jg(b)|0;if(!b)b=166724;else b=c[b+8>>2]|0;i=c[(c[(c[n>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;c[j>>2]=b;c[j+4>>2]=i;Uf(a,16,117092,j);d=d+1|0}Uf(a,16,128563,k);b=-22}while(0);do if((o|0)==13){b=Hg(c[a+20>>2]|0,c[g>>2]|0)|0;if((b|0)>=0){k=a+24|0;o=c[k+4>>2]|0;b=a+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=o;b=c[(c[n>>2]|0)+16>>2]|0;if(b|0?(h=Kd[b&31](a)|0,(h|0)<0):0){b=h;break}b=0}}while(0);l=p;return b|0}function Jg(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=b;c[d>>2]=a;a=qV(d,89272,436,28,6)|0;l=b;return a|0}function Kg(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Lg(a){a=a|0;var b=0;b=ag(a)|0;if(b|0)iX(b|0,0,a|0)|0;return b|0}function Mg(a){a=a|0;var b=0;b=c[a+24>>2]|0;if(c[c[a+28>>2]>>2]|0){iX(b|0,0,46324)|0;a=MN(a,b)|0;if((a|0)>=0){c[b+25692>>2]=0;a=0}}else a=0;return a|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=u;s=c[a+24>>2]|0;t=c[b+24>>2]|0;k=s+25692|0;a:do if((a|0)!=(b|0)){j=(c[k>>2]|0)!=0;do if(j){if((((((((c[s+25668>>2]|0)==(c[t+25668>>2]|0)?(c[s+25672>>2]|0)==(c[t+25672>>2]|0):0)?(c[s+27012>>2]|0)==(c[t+27012>>2]|0):0)?(c[s+27008>>2]|0)==(c[t+27008>>2]|0):0)?(d=c[s+28216>>2]|0,d|0):0)?(e=c[t+28216>>2]|0,(c[d+1184>>2]|0)==(c[e+1184>>2]|0)):0)?(c[d+12>>2]|0)==(c[e+12>>2]|0):0)?(c[d+128>>2]|0)==(c[e+128>>2]|0):0){g=0;break}g=1}else g=0;while(0);h=s+25976|0;i=t+25976|0;gX(h|0,i|0,384)|0;a=0;while(1){if(a>>>0>=32){a=0;break}b=s+27052+(a<<2)|0;zg(b);d=c[t+27052+(a<<2)>>2]|0;if(d|0?(p=Bh(d)|0,c[b>>2]=p,(p|0)==0):0){a=-12;break a}a=a+1|0}while(1){if(a>>>0>=256)break;b=s+27180+(a<<2)|0;zg(b);d=c[t+27180+(a<<2)>>2]|0;if(d|0?(p=Bh(d)|0,c[b>>2]=p,(p|0)==0):0){a=-12;break a}a=a+1|0}b=s+28204|0;zg(b);e=s+28208|0;zg(e);d=s+28212|0;c[d>>2]=0;f=s+28216|0;c[f>>2]=0;a=c[t+28204>>2]|0;if(a|0){a=Bh(a)|0;c[b>>2]=a;if(!a){a=-12;break}c[d>>2]=c[a+4>>2]}a=c[t+28208>>2]|0;if(a|0){a=Bh(a)|0;c[e>>2]=a;if(!a){a=-12;break}c[f>>2]=c[a+4>>2]}if(j&(g|0)==0)a=0;else{c[s+25668>>2]=c[t+25668>>2];c[s+25672>>2]=c[t+25672>>2];c[s+27008>>2]=c[t+27008>>2];c[s+27012>>2]=c[t+27012>>2];c[s+27020>>2]=c[t+27020>>2];c[s+27016>>2]=c[t+27016>>2];c[s+26368>>2]=c[t+26368>>2];if((c[k>>2]|0)==0?(c[t+25692>>2]|0)==0:0)a=0;else{a=Hn(s)|0;if((a|0)<0){Uf(c[s+4>>2]|0,16,150590,n);break}}gX(h|0,i|0,384)|0}p=c[t+4>>2]|0;f=c[s+4>>2]|0;c[f+104>>2]=c[p+104>>2];c[f+100>>2]=c[p+100>>2];c[f+92>>2]=c[p+92>>2];c[f+96>>2]=c[p+96>>2];c[s+29664>>2]=c[t+29664>>2];c[s+29668>>2]=c[t+29668>>2];c[s+25688>>2]=c[t+25688>>2];c[s+26384>>2]=c[t+26384>>2];c[s+26380>>2]=c[t+26380>>2];c[s+26376>>2]=c[t+26376>>2];f=t+25684|0;p=s+25684|0;c[p>>2]=c[f>>2];b=0;while(1){if((b|0)>=36)break;d=s+696+(b*656|0)|0;Ug(s,d);e=t+696+(b*656|0)|0;if(c[(c[e>>2]|0)+248>>2]|0?(o=ii(s,d,e)|0,(o|0)<0):0){a=o;break a}b=b+1|0}b=c[t+24312>>2]|0;if((b|0)!=0?(q=t+696|0,b>>>0>=q>>>0&b>>>0<(t+24312|0)>>>0):0)b=s+696+(((b-q|0)/656|0)*656|0)|0;else b=0;o=s+24312|0;c[o>>2]=b;b=s+24316|0;Ug(s,b);d=t+24316|0;if(c[(c[d>>2]|0)+248>>2]|0?(r=ii(s,b,d)|0,(r|0)<0):0){a=r;break}c[s+29672>>2]=c[t+29672>>2];c[s+25700>>2]=c[t+25700>>2];c[s+25704>>2]=c[t+25704>>2];c[p>>2]=c[f>>2];c[s+27036>>2]=c[t+27036>>2];c[s+27040>>2]=c[t+27040>>2];b=s+28224|0;j=b;k=t+28224|0;n=j+44|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(n|0));d=s+28348|0;e=t+28348|0;j=d;k=e;n=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(n|0));f=s+28476|0;g=t+28476|0;j=f;k=g;n=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(n|0));h=s+28604|0;i=t+28604|0;j=h;k=i;n=j+72|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(n|0));j=s+28676|0;k=t+28676|0;n=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(n|0));c[s+28740>>2]=c[t+28740>>2];c[s+28744>>2]=c[t+28744>>2];gX(s+28748|0,t+28748|0,792)|0;c[s+29540>>2]=c[t+29540>>2];c[s+29544>>2]=c[t+29544>>2];c[s+29548>>2]=c[t+29548>>2];c[s+29552>>2]=c[t+29552>>2];c[s+29556>>2]=c[t+29556>>2];TN(d,e,32,s,t);TN(f,g,32,s,t);TN(h,i,18,s,t);c[s+29576>>2]=c[t+29576>>2];if(c[o>>2]|0){if(!(c[p>>2]|0)){a=xi(s)|0;c[s+28248>>2]=c[s+28228>>2];c[s+28252>>2]=c[b>>2]}c[s+28260>>2]=c[s+28256>>2];c[s+28264>>2]=c[s+28244>>2];c[s+29572>>2]=c[t+29572>>2]}else a=0}else a=0;while(0);l=u;return a|0}function Og(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=o+8|0;d=o;i=c[a+24>>2]|0;b=MN(a,i)|0;do if((b|0)>=0){if(Dc(183588,3)|0){Uf(a,16,148706,d);b=-1313558101;break}f=a+84|0;do if((c[f>>2]|0)==1){b=c[i+4>>2]|0;d=b+80|0;e=c[d>>2]|0;if((e|0)<1073741823){c[d>>2]=e<<1;break}else{e=b+76|0;c[e>>2]=(c[e>>2]|0)/2|0;break}}while(0);c[f>>2]=2;b=c[a+72>>2]|0;if(((b|0)>0?(g=c[a+68>>2]|0,g|0):0)?(h=qi(g,b,i+27052|0,i+27036|0,i+27040|0,c[a+580>>2]|0,a)|0,(h|0)<0):0){Qg(a)|0;b=h;break}b=c[i+28216>>2]|0;if((b|0?c[b+660>>2]|0:0)?(j=(c[i+4>>2]|0)+140|0,k=c[b+664>>2]|0,(c[j>>2]|0)<(k|0)):0)c[j>>2]=k;c[(c[a+28>>2]|0)+4>>2]=1;Sg(i);b=i+29672|0;d=c[b>>2]|0;if((d|0)<0){if(c[a+696>>2]&2|0){c[b>>2]=0;b=0;break}}else if(!d){b=0;break}if(!(c[a+696>>2]&2))b=0;else{Uf(a,24,148731,n);b=0}}while(0);l=o;return b|0}function Pg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;if((l|0)>=(m|0))W(48);v=w+24|0;q=w+16|0;p=w;n=w+36|0;o=c[g+24>>2]|0;h=c[g+28>>2]|0;s=c[b+24>>2]|0;c[s+25696>>2]=c[b+60>>2];c[s+29588>>2]=0;c[s+25636>>2]=0;t=s+24972|0;Ug(s,t);a:do if(h){i=s+27036|0;if((c[i>>2]|0?oi(g,1,0)|0:0)?(j=oi(g,1,n)|0,k=c[n>>2]|0,pi(j,k)|0):0)qi(j,k,s+27052|0,i,s+27040|0,c[b+580>>2]|0,b)|0;if(((((((h|0)>8&(c[i>>2]|0)!=0?(a[o>>0]|0)==1:0)?(a[o+2>>0]|0)==0:0)?(d[o+4>>0]|0)>251:0)?a[o+5>>0]&31:0)?(a[o+8>>0]|0)==103:0)?pi(o,h)|0:0){h=qi(o,h,s+27052|0,i,s+27040|0,c[b+580>>2]|0,b)|0;break}j=ri(s,o,h)|0;if((j|0)<0)h=-1094995529;else{i=(c[s+24312>>2]|0)==0;if(i?(c[s+27028>>2]|0)==10:0)if((j|0)>(h|0)){c[p>>2]=127096;c[p+4>>2]=127118;c[p+8>>2]=998;Uf(0,0,159675,p);Ub()}else{h=ni(s,e,f,j)|0;break}do if(c[b+64>>2]&32768){q=c[s+27008>>2]|0;if(!((q|0)==0?1:(c[s+27004>>2]|0)<(q|0)))r=30}else{if(!i?c[s+27032>>2]|0:0){r=30;break}if((c[b+732>>2]|0)>7)break a;if((h|0)>3?(IT(150807,o,4)|0)==0:0)break a;Uf(b,16,127139,q);h=-1094995529;break a}while(0);if((r|0)==30){i=si(s,c[s+25628>>2]|0,0)|0;if((i|0)<0){h=i;break}i=c[s+28740>>2]|0;if(i|0?(u=ti(s,e,i,f)|0,(u|0)<0):0){h=u;break}}if((c[e+248>>2]|0)==0?c[f>>2]|0:0){c[v>>2]=127150;c[v+4>>2]=127118;c[v+8>>2]=1023;Uf(0,0,159675,v);Ub()}Ug(s,t);h=ui(j,h)|0}}else h=ni(s,e,f,0)|0;while(0);l=w;return h|0}function Qg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;gi(d);Vg(d);a=0;while(1){if((a|0)==36)break;b=d+696+(a*656|0)|0;Ug(d,b);Dh(b);a=a+1|0}a=d+28604|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[d+24312>>2]=0;Qf(d+25628|0);c[d+25632>>2]=0;Tg(d+29676|0);li(d+27052|0);mi(d+25640|0);b=d+24316|0;Ug(d,b);Dh(b);b=d+24972|0;Ug(d,b);Dh(b);return 0}function Rg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;a=d+28604|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));Sg(d);Tg(d+29676|0);a=0;while(1){if((a|0)==36)break;Ug(d,d+696+(a*656|0)|0);a=a+1|0}c[d+24312>>2]=0;Ug(d,d+24316|0);c[d+27004>>2]=0;Vg(d);c[d+25692>>2]=0;return}function Sg(a){a=a|0;var b=0,d=0,e=0,f=0;c[a+28744>>2]=-2147483648;c[a+29564>>2]=1;fi(a);c[a+28264>>2]=-1;f=a+24312|0;b=c[f>>2]|0;if(b|0){c[b+640>>2]=0;b=0;e=0;while(1){d=c[a+28604+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[f>>2]|0)){c[a+28604+(b<<2)>>2]=d;b=b+1|0}e=e+1|0}c[a+28604+(b<<2)>>2]=0}Ug(a,a+24972|0);c[a+26384>>2]=0;c[a+29572>>2]=-1;c[a+29576>>2]=0;c[a+29560>>2]=0;c[a+29544>>2]=1;return}function Tg(a){a=a|0;c[a+40>>2]=-1;c[a+12>>2]=0;c[a+16>>2]=-1;c[a>>2]=0;c[a+44>>2]=0;c[a+176>>2]=0;c[a+208>>2]=0;c[a+20>>2]=0;c[a+28>>2]=0;Qf(a+32|0);return}function Ug(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(d|0?c[d+248>>2]|0:0){Yg(c[a+4>>2]|0,b+4|0);zg(b+52|0);d=b+20|0;zg(d);zg(b+44|0);a=0;while(1){if((a|0)==2)break;zg(b+28+(a<<2)|0);zg(b+60+(a<<2)|0);a=a+1|0}iX(d|0,0,636)|0}return}function Vg(a){a=a|0;var b=0,d=0,e=0;Qf(a+25732|0);Qf(a+26396|0);Qf(a+26392|0);Qf(a+26400|0);Qf(a+26404|0);Qf(a+26408|0);Qf(a+25972|0);Qf(a+28220|0);c[a+26372>>2]=0;Qf(a+26388|0);Qf(a+26360|0);Qf(a+26364|0);Wg(a+29924|0);Wg(a+29928|0);Wg(a+29932|0);Wg(a+29936|0);d=a+25632|0;b=a+25628|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=c[b>>2]|0;Qf(e+(a*34768|0)+27784|0);Qf(e+(a*34768|0)+572|0);Qf(e+(a*34768|0)+604|0);Qf(e+(a*34768|0)+608|0);Qf(e+(a*34768|0)+27788|0);Qf(e+(a*34768|0)+27792|0);Qf(e+(a*34768|0)+27796|0);Qf(e+(a*34768|0)+27800|0);e=e+(a*34768|0)+27804|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a=a+1|0}return}function Wg(a){a=a|0;var b=0,d=0;if((a|0?(b=c[a>>2]|0,b|0):0)?(c[a>>2]=0,d=b+32|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)==1):0)Xg(b);return}function Xg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g+4|0;e=g;c[f>>2]=a;while(1){b=a+28|0;d=c[b>>2]|0;if(!d)break;c[e>>2]=d;c[b>>2]=c[d+16>>2];Sd[c[d+8>>2]&255](c[d+4>>2]|0,c[d>>2]|0);Qf(e);a=c[f>>2]|0}Bc(a|0)|0;b=c[a+52>>2]|0;if(b|0)Rd[b&31](c[a+40>>2]|0);Qf(f);l=g;return}function Yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=i;h=c[(c[a+28>>2]|0)+20>>2]|0;if((c[a+696>>2]&1|0)!=0?(c[a+700>>2]|0)==0:0)d=(c[a+400>>2]|0)==12;else d=1;j=c[b>>2]|0;do if(j|0?c[j+248>>2]|0:0){if(c[a+576>>2]&32768|0){c[e>>2]=b;Uf(a,48,124549,e)}zg(b+12|0);c[b+8>>2]=0;c[b+4>>2]=0;if(d){_g(c[b>>2]|0);break}a=(c[h>>2]|0)+8|0;kX(a|0)|0;d=h+308|0;e=(c[d>>2]|0)+1|0;if(e>>>0<=5263439?(f=h+304|0,g=Tf(c[f>>2]|0,h+312|0,e*408|0)|0,g|0):0){c[f>>2]=g;$g(g+((c[d>>2]|0)*408|0)|0,c[b>>2]|0);c[d>>2]=(c[d>>2]|0)+1}lX(a|0)|0}while(0);l=i;return}function Zg(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a+860>>2]|0;a:do if(!d){d=eh(a,b)|0;if((d|0)>=0)switch(c[a+8>>2]|0){case 0:{d=fh(a,b)|0;break a}case 1:{d=gh(a,b)|0;break a}default:{d=-1;break a}}}else{d=dh(d,b,0)|0;c[b+68>>2]=c[a+100>>2];c[b+72>>2]=c[a+104>>2]}while(0);return d|0}function _g(a){a=a|0;var b=0,d=0,e=0;if(a|0){bh(a);b=0;while(1){if((b|0)==8)break;zg(a+248+(b<<2)|0);b=b+1|0}d=a+284|0;e=a+280|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;zg((c[e>>2]|0)+(b<<2)|0);b=b+1|0}Qf(e);Dg(a+344|0);zg(a+372|0);zg(a+376|0);zg(a+380|0);zg(a+400|0);ah(a)}return}function $g(a,b){a=a|0;b=b|0;gX(a|0,b|0,408)|0;if((c[b+64>>2]|0)==(b|0))c[a+64>>2]=a;iX(b|0,0,408)|0;ah(b);return}function ah(a){a=a|0;var b=0,d=0;b=a+64|0;if((c[b>>2]|0)!=(a|0))Qf(b);iX(a|0,0,408)|0;d=a+120|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+104|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+112|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+320|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+336|0;c[d>>2]=0;c[d+4>>2]=0;d=a+328|0;c[d>>2]=-1;c[d+4>>2]=-1;c[a+356>>2]=-1;c[a+84>>2]=1;c[a+92>>2]=0;c[a+96>>2]=1;c[a+80>>2]=-1;c[b>>2]=a;c[a+304>>2]=2;c[a+308>>2]=2;c[a+312>>2]=2;c[a+300>>2]=0;c[a+316>>2]=0;c[a+296>>2]=0;return}function bh(a){a=a|0;var b=0,d=0;d=a+292|0;b=a+288|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;ch((c[b>>2]|0)+(a<<2)|0);a=a+1|0}c[d>>2]=0;Qf(b);return}function ch(a){a=a|0;var b=0;b=c[a>>2]|0;zg(b+16|0);Dg(b+12|0);Qf(a);return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=j;f=j+4|0;i=c[a+4>>2]|0;g=i+4|0;d=c[g>>2]|0;if(!(c[d+12>>2]|0))if(c[(c[d>>2]|0)+60>>2]|0)if(c[i+28>>2]|0){h=Bh(a)|0;a=b+376|0;c[a>>2]=h;if(h){d=Ld[c[(c[c[g>>2]>>2]|0)+60>>2]&15](i,b)|0;if((d|0)<0)zg(a);else d=0}else d=-12}else d=-22;else d=-38;else{c[b+80>>2]=c[i+36>>2];a=Bh(a)|0;c[b+376>>2]=a;do if((a|0)!=0?(e=Ch()|0,c[f>>2]=e,(e|0)!=0):0){d=dh(c[(c[g>>2]|0)+12>>2]|0,e,0)|0;if((d|0)<0){Dh(f);break}d=Eh(b,e,c[(c[g>>2]|0)+16>>2]|0)|0;if(!d){Dh(f);d=0;break}else{c[h>>2]=d;Uf(i,16,126624,h);Dh(f);break}}else d=-12;while(0)}l=j;return d|0}function eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+80|0;if((l|0)>=(m|0))W(80);e=t;j=t+56|0;p=t+40|0;q=t+24|0;g=t+16|0;h=t+12|0;s=c[(c[a+28>>2]|0)+16>>2]|0;a:do switch(c[a+8>>2]|0){case 0:{c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;k=b+68|0;e=c[k>>2]|0;c[g>>2]=e;n=b+72|0;f=c[n>>2]|0;c[h>>2]=f;o=s+16|0;i=b+80|0;if(((c[o>>2]|0)==(c[i>>2]|0)?(c[s+20>>2]|0)==(e|0):0)?(c[s+24>>2]|0)==(f|0):0)d=0;else r=5;b:do if((r|0)==5){qh(a,g,h,s+28|0);f=a+112|0;a=c[g>>2]|0;do{d=rh(p,c[f>>2]|0,a)|0;if((d|0)<0)break b;a=c[g>>2]|0;a=(a&0-a)+a|0;c[g>>2]=a;d=0;e=0;while(1){if((d|0)==4)break;b=(c[p+(d<<2)>>2]|0)%(c[s+28+(d<<2)>>2]|0)|0|e;d=d+1|0;e=b}}while((e|0)!=0);f=sh(j,c[f>>2]|0,c[h>>2]|0,0,p)|0;if((f|0)>=0){d=0;while(1){if((d|0)>=3)break;e=d+1|0;a=c[j+(e<<2)>>2]|0;if(!a)break;c[q+(d<<2)>>2]=a-(c[j+(d<<2)>>2]|0);d=e}c[q+(d<<2)>>2]=f-(c[j+(d<<2)>>2]|0)+(c[j>>2]|0);d=0;while(1){if((d|0)>=4){r=20;break}e=s+(d<<2)|0;Wg(e);c[s+60+(d<<2)>>2]=c[p+(d<<2)>>2];a=c[q+(d<<2)>>2]|0;if(a|0?(r=uh(a+23|0,15)|0,c[e>>2]=r,(r|0)==0):0){r=22;break}d=d+1|0}if((r|0)==20){c[o>>2]=c[i>>2];c[s+20>>2]=c[k>>2];c[s+24>>2]=c[n>>2];d=0;break a}else if((r|0)==22){d=-12;r=31;break a}}else d=-1}while(0);break}case 1:{f=c[b+352>>2]|0;g=b+80|0;h=(vh(c[g>>2]|0)|0)!=0;h=h?f:1;i=s+16|0;if((((c[i>>2]|0)==(c[g>>2]|0)?(c[s+76>>2]|0)==(h|0):0)?(c[s+80>>2]|0)==(f|0):0)?(c[b+76>>2]|0)==(c[s+84>>2]|0):0){d=0;break a}Wg(s);a=s+60|0;e=b+76|0;d=wh(a,f,c[e>>2]|0,c[g>>2]|0,0)|0;if((d|0)>=0){q=uh(c[a>>2]|0,0)|0;c[s>>2]=q;if(!q){d=-12;r=31}else{c[i>>2]=c[g>>2];c[s+76>>2]=h;c[s+80>>2]=f;c[s+84>>2]=c[e>>2];d=0}}else r=31;break}default:{c[e>>2]=165680;c[e+4>>2]=124617;c[e+8>>2]=1524;Uf(0,0,159675,e);Ub()}}while(0);if((r|0)==31){e=0;while(1){if((e|0)==4)break;Wg(s+(e<<2)|0);e=e+1|0}c[s+16>>2]=-1;c[s+84>>2]=0;c[s+80>>2]=0;c[s+76>>2]=0;c[s+24>>2]=0;c[s+20>>2]=0}l=t;return d|0}function fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+32|0;if((l|0)>=(m|0))W(32);j=n+16|0;e=n+8|0;d=n;f=c[(c[a+28>>2]|0)+16>>2]|0;h=b+80|0;i=nh(c[h>>2]|0)|0;do if((((c[b>>2]|0)==0?(g=b+4|0,(c[g>>2]|0)==0):0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){if(!i){c[e>>2]=oh(c[h>>2]|0)|0;Uf(a,16,124725,e);d=-22;break};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+64>>2]=b;d=0;while(1){if((d|0)>=4)break;e=c[f+(d<<2)>>2]|0;if(!e)break;c[b+32+(d<<2)>>2]=c[f+60+(d<<2)>>2];e=ih(e)|0;c[b+248+(d<<2)>>2]=e;if(!e){k=19;break}c[b+(d<<2)>>2]=c[e+4>>2];d=d+1|0}if((k|0)==19){_g(b);d=-12;break}while(1){if((d|0)>=8)break;c[b+(d<<2)>>2]=0;c[b+32+(d<<2)>>2]=0;d=d+1|0}if(!(0==0?(c[i+8>>2]&66|0)==0:0))ph(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[a+576>>2]&32768))d=0;else{c[j>>2]=b;Uf(a,48,124778,j);d=0}}else k=5;while(0);if((k|0)==5){Uf(a,16,124675,d);d=-1}l=n;return d|0}function gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+32|0;if((l|0)>=(m|0))W(32);n=o+16|0;f=o;k=c[(c[a+28>>2]|0)+16>>2]|0;h=c[k+76>>2]|0;c[b+32>>2]=c[k+60>>2];g=(h|0)>8;if(g){d=b+64|0;c[d>>2]=hh(h,4)|0;i=h+-8|0;c[b+284>>2]=i;i=hh(i,4)|0;e=b+280|0;c[e>>2]=i;if((i|0)==0|(c[d>>2]|0)==0){Qf(d);Qf(e);d=-12}else{i=d;j=5}}else{e=b+64|0;c[e>>2]=b;if(!(c[b+284>>2]|0)){i=e;j=5}else{c[f>>2]=124589;c[f+4>>2]=124617;c[f+8>>2]=1556;Uf(0,0,159675,f);Ub()}}a:do if((j|0)==5){e=g?8:h;d=0;while(1){if((d|0)>=(e|0)){j=8;break}f=ih(c[k>>2]|0)|0;c[b+248+(d<<2)>>2]=f;if(!f)break;h=c[f+4>>2]|0;c[b+(d<<2)>>2]=h;c[(c[i>>2]|0)+(d<<2)>>2]=h;d=d+1|0}b:do if((j|0)==8){e=b+284|0;f=b+280|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;g=ih(c[k>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break b;c[(c[i>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}if(!(c[a+576>>2]&32768)){d=0;break a}c[n>>2]=b;Uf(a,48,124637,n);d=0;break a}while(0);_g(b);d=-12}while(0);l=o;return d|0}function hh(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=Lg(N(b,a)|0)|0;else a=0;return a|0}function ih(a){a=a|0;var b=0,d=0,e=0,f=0;kX(a|0)|0;d=a+28|0;e=c[d>>2]|0;do if(!e){b=lh(a)|0;lX(a|0)|0;if(!b)b=0;else f=6}else{b=kh(c[e>>2]|0,c[a+36>>2]|0,10,e,0)|0;if(!b){lX(a|0)|0;b=0;break}else{f=e+16|0;c[d>>2]=c[f>>2];c[f>>2]=0;lX(a|0)|0;f=6;break}}while(0);if((f|0)==6){f=a+32|0;c[f>>2]=(c[f>>2]|0)+1}return b|0}function jh(a,b){a=a|0;b=b|0;var d=0;b=c[a+12>>2]|0;kX(b|0)|0;d=b+28|0;c[a+16>>2]=c[d>>2];c[d>>2]=a;lX(b|0)|0;d=b+32|0;a=c[d>>2]|0;c[d>>2]=a+-1;if((a|0)==1)Xg(b);return}function kh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=j;g=Lg(24)|0;c[h>>2]=g;i=g;do if(g){c[g>>2]=a;c[g+4>>2]=b;c[g+12>>2]=d|0?d:11;c[g+16>>2]=e;c[g+8>>2]=1;if(f&1|0){g=g+20|0;c[g>>2]=c[g>>2]|1}d=Lg(12)|0;if(!d){Qf(h);d=0;break}else{c[d>>2]=i;c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);l=j;return d|0}function lh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f;b=c[a+48>>2]|0;if(!b)b=Kd[c[a+44>>2]&31](c[a+36>>2]|0)|0;else b=Ld[b&15](c[a+40>>2]|0,c[a+36>>2]|0)|0;c[e>>2]=b;do if(b){d=Lg(20)|0;if(!d){zg(e);b=0;break}else{e=c[b>>2]|0;c[d>>2]=c[e>>2];g=e+16|0;c[d+4>>2]=c[g>>2];e=e+12|0;c[d+8>>2]=c[e>>2];c[d+12>>2]=a;c[g>>2]=d;c[e>>2]=10;break}}else b=0;while(0);l=f;return b|0}function mh(a,b){a=a|0;b=b|0;Rf(b);return}function nh(a){a=a|0;return (a>>>0>182?0:112+(a*152|0)|0)|0}function oh(a){a=a|0;if(a>>>0<183)a=c[112+(a*152|0)>>2]|0;else a=0;return a|0}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=0;a:while(1){if((g|0)>=256){d=0;break}switch(b|0){case 20:{d=(g&3)*85|0;e=(g>>>2&7)*36|0;f=(g>>5)*36|0;break}case 17:{d=(g>>6)*85|0;e=(g>>>3&7)*36|0;f=(g&7)*36|0;break}case 22:{d=0-(g&1)&255;e=(g>>>1&3)*85|0;f=(g>>3)*255|0;break}case 19:{d=(g>>3)*255|0;e=(g>>>1&3)*85|0;f=0-(g&1)&255;break}case 8:{d=g;e=g;f=g;break}default:{d=-22;break a}}c[a+(g<<2)>>2]=(f<<16)+-16777216+(e<<8)+d;g=g+1|0}return d|0}function qh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+112|0;g=nh(c[i>>2]|0)|0;if(!g){h=1;g=1}else{h=1<<(d[g+6>>0]|0);g=1<<(d[g+5>>0]|0)}a:do switch(c[i>>2]|0){case 114:case 115:case 163:case 164:case 78:case 79:case 138:case 139:case 136:case 137:case 76:case 77:case 74:case 75:case 98:case 99:case 92:case 93:case 86:case 87:case 52:case 51:case 134:case 135:case 132:case 133:case 69:case 70:case 67:case 68:case 157:case 156:case 155:case 154:case 96:case 97:case 90:case 91:case 84:case 85:case 50:case 49:case 130:case 131:case 128:case 129:case 65:case 66:case 71:case 72:case 94:case 95:case 88:case 89:case 82:case 83:case 48:case 47:case 126:case 127:case 124:case 125:case 63:case 64:case 61:case 62:case 81:case 80:case 33:case 14:case 32:case 13:case 12:case 30:case 29:case 8:case 113:case 73:case 5:case 31:case 4:case 15:case 110:case 1:case 0:{h=32;g=16;break}case 16:case 140:case 7:{h=32;g=32;break}case 6:{i=(c[a+16>>2]|0)==22;h=i?64:h;g=i?64:g;break}case 39:{j=c[a+16>>2]|0;i=(j|0)==42;j=(j|0)==39;h=j?8:i?4:h;g=j?8:i?4:g;break}case 20:case 17:case 11:{i=c[a+16>>2]|0;switch(i|0){case 43:case 49:{h=4;g=4;break}default:{}}switch(i|0){case 39:case 148:break;default:break a}h=8;g=8;break}case 3:{j=((c[a+16>>2]|0)+-53|0)>>>0<2;h=j?4:h;g=j?4:g;break}case 2:{j=(c[a+16>>2]|0)==43;h=j?4:h;g=j?4:g;break}default:{}}while(0);j=c[a+16>>2]|0;g=(j|0)==136?((g|0)>8?g:8):g;c[b>>2]=(c[b>>2]|0)+-1+g&0-g;g=h+-1+(c[e>>2]|0)&0-h;c[e>>2]=g;if((j|0)!=27?(c[a+680>>2]|0)==0:0)g=0;else{c[e>>2]=g+2;g=c[b>>2]|0;c[b>>2]=(g|0)>32?g:32;g=0}while(1){if((g|0)==4)break;c[f+(g<<2)>>2]=8;g=g+1|0}return}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=i+16|0;h=i;f=nh(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if((f|0)!=0?(0==0?(c[f+8>>2]&8|0)==0:0):0){zh(g,h,f);e=0;while(1){if((e|0)>=4){b=0;break a}b=Ah(d,c[g+(e<<2)>>2]|0,c[h+(e<<2)>>2]|0,f)|0;if((b|0)<0)break a;c[a+(e<<2)>>2]=b;e=e+1|0}}else b=-22;while(0);l=i;return b|0}function sh(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;if((l|0)>=(m|0))W(16);o=p;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;j=nh(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if(((j|0)!=0?(i=c[j+8>>2]|0,(i&8|0)==0&0==0):0)?(c[a>>2]=f,h=c[g>>2]|0,(h|0)<=(2147482623/(e|0)|0|0)):0){h=N(h,e)|0;if((i&66|0)==0&0==0)b=0;else{c[a+4>>2]=f+h;b=h+1024|0;break}while(1){if((b|0)==4)break;c[o+(c[j+16+(b<<5)>>2]<<2)>>2]=1;b=b+1|0}n=j+6|0;k=e+-1|0;b=h;e=1;j=f;while(1){if((e|0)>=4)break a;if(!(c[o+(e<<2)>>2]|0))break a;if((e+-1|0)>>>0<2)i=d[n>>0]|0;else i=0;j=j+h|0;c[a+(e<<2)>>2]=j;f=k+(1<<i)>>i;q=c[g+(e<<2)>>2]|0;h=N(f,q)|0;i=(b|0)>(2147483647-h|0);if((q|0)>(2147483647/(f|0)|0|0)){b=-22;break a}if(i){b=-22;break}else{b=(i?0:h)+b|0;e=e+1|0}}}else b=-22;while(0);l=p;return b|0}function th(a){a=a|0;var b=0;b=yh(a)|0;if(!b)b=0;else iX(c[b+4>>2]|0,0,a|0)|0;return b|0}function uh(a,b){a=a|0;b=b|0;var d=0;d=Lg(56)|0;if(!d)d=0;else{Cc(d|0,0)|0;c[d+36>>2]=a;c[d+44>>2]=b|0?b:16;c[d+32>>2]=1}return d|0}function vh(a){a=a|0;if(a>>>0>11)a=0;else a=c[101804+(a*20|0)+12>>2]|0;return a|0}function wh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=xh(e)|0;g=vh(e)|0;do if(!((b|0)<1|((d|0)<1|(h|0)==0))){if(!f){if((d|0)>2147483616){e=-22;break}d=d+31&-32;e=1}else e=f;if((2147483647/(e|0)|0|0)>=(b|0)?(i=ZW(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,k=y,f=(2147483647-(N(e,b)|0)|0)/(h|0)|0,j=((f|0)<0)<<31>>31,!((k|0)>(j|0)|(k|0)==(j|0)&i>>>0>f>>>0)):0){f=(g|0)!=0;e=e+-1+(N(N(f?1:b,h)|0,d)|0)&0-e;if(a|0)c[a>>2]=e;e=N(e,f?b:1)|0}else e=-22}else e=-22;while(0);return e|0}function xh(a){a=a|0;if(a>>>0>11)a=0;else a=c[101804+(a*20|0)+8>>2]>>3;return a|0}function yh(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=e;b=ag(a)|0;c[d>>2]=b;if(b){a=kh(b,a,11,0,0)|0;if(!a){Qf(d);a=0}}else a=0;l=e;return a|0}function zh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)!=0;if(f){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;e=0}else e=0;while(1){if((e|0)==4)break;g=c[d+16+(e<<5)+4>>2]|0;h=d+16+(e<<5)|0;i=a+(c[h>>2]<<2)|0;if((g|0)>(c[i>>2]|0)?(c[i>>2]=g,f):0)c[b+(c[h>>2]<<2)>>2]=e;e=e+1|0}return}function Ah(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;do if((a|0)<0|(f|0)==0)e=-22;else{if((e+-1|0)>>>0<2)e=d[f+5>>0]|0;else e=0;e=a+-1+(1<<e)>>e;if(e|0?(2147483647/(e|0)|0|0)<(b|0):0){e=-22;break}e=N(e,b)|0;e=(0==0?(c[f+8>>2]&4|0)==0:0)?e:e+7>>3}while(0);return e|0}function Bh(a){a=a|0;var b=0;b=Lg(12)|0;if(!b)b=0;else{c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];a=(c[a>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1}return b|0}function Ch(){var a=0;a=Lg(408)|0;if(!a)a=0;else{c[a+64>>2]=0;ah(a)}return a|0}function Dh(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){_g(b);Qf(a)}return}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=s;h=c[b+376>>2]|0;i=a+376|0;a:do if(h){f=c[i>>2]|0;do if(f|0){k=c[h+4>>2]|0;f=c[f+4>>2]|0;if(!(((k|0)==(f|0)?(c[b+80>>2]|0)==(c[k+40>>2]|0):0)?(c[a+80>>2]|0)==(c[k+36>>2]|0):0)){g=c[(c[k+4>>2]|0)+12>>2]|0;if(!g)break;if((c[g+4>>2]|0)!=(f|0))break}e=c[b+248>>2]|0;if(!e){Uf(k,16,126677,n);e=-22;break a}else{e=c[e+4>>2]|0;_g(a);e=Fh(a,c[e>>2]|0)|0;break a}}while(0);f=c[h+4>>2]|0;if(!(((c[f+36>>2]|0)==(c[b+80>>2]|0)?(j=c[(c[c[f+4>>2]>>2]|0)+80>>2]|0,(j|0)!=0):0)?(e=Nd[j&3](f,a,b,d)|0,(e|0)!=-38):0))r=14}else r=14;while(0);do if((r|0)==14){e=c[i>>2]|0;if(((e|0?(o=c[e+4>>2]|0,(c[o+36>>2]|0)==(c[a+80>>2]|0)):0)?(p=c[(c[c[o+4>>2]>>2]|0)+76>>2]|0,p|0):0)?(q=Nd[p&3](o,a,b,d)|0,(q|0)!=-38):0){e=q;break}e=-38}while(0);l=s;return e|0}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a+80>>2]=c[b+80>>2];c[a+68>>2]=c[b+68>>2];c[a+72>>2]=c[b+72>>2];h=b+352|0;c[a+352>>2]=c[h>>2];e=b+240|0;g=c[e+4>>2]|0;d=a+240|0;c[d>>2]=c[e>>2];c[d+4>>2]=g;c[a+76>>2]=c[b+76>>2];d=Gh(a,b,0)|0;a:do if((d|0)>=0){if(!(c[b+248>>2]|0)){d=Hh(a,32)|0;if((d|0)<0)break;d=Ih(a,b)|0;if((d|0)>=0)break;_g(a);break}else d=0;while(1){if(d>>>0>=8){f=10;break}e=c[b+248+(d<<2)>>2]|0;if(e|0?(g=Bh(e)|0,c[a+248+(d<<2)>>2]=g,(g|0)==0):0){d=-12;break}d=d+1|0}b:do if((f|0)==10){e=b+280|0;c:do if(c[e>>2]|0){f=b+284|0;d=hh(4,c[f>>2]|0)|0;g=a+280|0;c[g>>2]=d;if(!d){d=-12;break b}c[a+284>>2]=c[f>>2];d=0;while(1){if((d|0)>=(c[f>>2]|0))break c;i=Bh(c[(c[e>>2]|0)+(d<<2)>>2]|0)|0;c[(c[g>>2]|0)+(d<<2)>>2]=i;if(!(c[(c[g>>2]|0)+(d<<2)>>2]|0)){d=-12;break b}else d=d+1|0}}while(0);d=c[b+376>>2]|0;if(d|0?(i=Bh(d)|0,c[a+376>>2]=i,(i|0)==0):0){d=-12;break}f=b+64|0;if((c[f>>2]|0)==(b|0))c[a+64>>2]=a;else{d=c[h>>2]|0;if(!d){d=-22;break}e=Jh(4,d)|0;c[a+64>>2]=e;if(!e){d=-12;break}gX(e|0,c[f>>2]|0,d<<2|0)|0};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];d=a+32|0;i=b+32|0;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2];c[d+16>>2]=c[i+16>>2];c[d+20>>2]=c[i+20>>2];c[d+24>>2]=c[i+24>>2];c[d+28>>2]=c[i+28>>2];d=0;break a}while(0);_g(a)}while(0);return d|0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;if((l|0)>=(m|0))W(16);q=t;c[a+84>>2]=c[b+84>>2];c[a+88>>2]=c[b+88>>2];e=b+92|0;f=c[e+4>>2]|0;g=a+92|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+384>>2]=c[b+384>>2];c[a+388>>2]=c[b+388>>2];c[a+392>>2]=c[b+392>>2];c[a+396>>2]=c[b+396>>2];g=b+104|0;f=c[g+4>>2]|0;e=a+104|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+208>>2]=c[b+208>>2];c[a+212>>2]=c[b+212>>2];c[a+216>>2]=c[b+216>>2];c[a+220>>2]=c[b+220>>2];c[a+232>>2]=c[b+232>>2];c[a+140>>2]=c[b+140>>2];e=b+112|0;f=c[e+4>>2]|0;g=a+112|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+120|0;f=c[g+4>>2]|0;e=a+120|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+328|0;f=c[e+4>>2]|0;g=a+328|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+356>>2]=c[b+356>>2];g=b+336|0;f=c[g+4>>2]|0;e=a+336|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+224|0;f=c[e+4>>2]|0;g=a+224|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+136>>2]=c[b+136>>2];g=b+320|0;f=c[g+4>>2]|0;e=a+320|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+128>>2]=c[b+128>>2];c[a+132>>2]=c[b+132>>2];c[a+296>>2]=c[b+296>>2];c[a+348>>2]=c[b+348>>2];c[a+304>>2]=c[b+304>>2];c[a+308>>2]=c[b+308>>2];c[a+312>>2]=c[b+312>>2];c[a+300>>2]=c[b+300>>2];c[a+316>>2]=c[b+316>>2];Yh(a+344|0,c[b+344>>2]|0,0)|0;e=a+144|0;f=b+144|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i=b+292|0;j=b+288|0;k=b+68|0;n=a+68|0;o=b+72|0;p=a+72|0;d=(d|0)==0;g=0;while(1){if((g|0)>=(c[i>>2]|0)){r=15;break}h=c[(c[j>>2]|0)+(g<<2)>>2]|0;e=c[h>>2]|0;if(!e){if((c[k>>2]|0)==(c[n>>2]|0)?(c[o>>2]|0)==(c[p>>2]|0):0)r=6}else r=6;if((r|0)==6){r=0;if(d){e=Bh(c[h+16>>2]|0)|0;c[q>>2]=e;e=_h(a,c[h>>2]|0,e)|0;if(!e){r=12;break}}else{f=h+8|0;e=Zh(a,e,c[f>>2]|0)|0;if(!e){r=8;break}gX(c[e+4>>2]|0,c[h+4>>2]|0,c[f>>2]|0)|0}Yh(e+12|0,c[h+12>>2]|0,0)|0}g=g+1|0}do if((r|0)==8){bh(a);e=-12}else if((r|0)==12){zg(q);bh(a);e=-12}else if((r|0)==15){e=a+360|0;c[e>>2]=0;f=a+364|0;c[f>>2]=0;g=a+368|0;c[g>>2]=0;d=a+372|0;zg(d);h=c[b+372>>2]|0;if(h|0?(s=Bh(h)|0,c[d>>2]=s,s|0):0){c[e>>2]=c[s+4>>2];c[f>>2]=c[b+364>>2];c[g>>2]=c[b+368>>2]}f=a+380|0;zg(f);g=a+400|0;zg(g);e=c[b+380>>2]|0;if(e|0?(a=Bh(e)|0,c[f>>2]=a,(a|0)==0):0){e=-12;break}e=c[b+400>>2]|0;if(e|0?(b=Bh(e)|0,c[g>>2]=b,(b|0)==0):0){e=-12;break}e=0}while(0);l=t;return e|0}function Hh(a,b){a=a|0;b=b|0;var d=0;do if((c[a+80>>2]|0)>=0){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=Sh(a,b)|0;break}if((c[a+76>>2]|0)>0){d=a+240|0;if((c[d>>2]|0)==0&(c[d+4>>2]|0)==0?(c[a+352>>2]|0)<=0:0){a=-22;break}a=Th(a,b)|0}else a=-22}else a=-22;while(0);return a|0}function Ih(a,b){a=a|0;b=b|0;var d=0;d=c[a+80>>2]|0;do if(!((d|0)<0?1:(d|0)!=(c[b+80>>2]|0))){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=Kh(a,b)|0;break}if((c[a+76>>2]|0)>0?(c[a+352>>2]|0)>0:0)a=Lh(a,b)|0;else a=-22}else a=-22;while(0);return a|0}function Jh(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=ag(N(b,a)|0)|0;else a=0;return a|0}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=j;i=b+68|0;a:do if((c[a+68>>2]|0)>=(c[i>>2]|0)?(e=b+72|0,(c[a+72>>2]|0)>=(c[e>>2]|0)):0){f=a+80|0;g=Nh(c[f>>2]|0)|0;d=0;while(1){if((d|0)>=(g|0))break;if(!(c[a+(d<<2)>>2]|0)){d=-22;break a}if(!(c[b+(d<<2)>>2]|0)){d=-22;break a}else d=d+1|0}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];Oh(a,a+32|0,h,b+32|0,c[f>>2]|0,c[i>>2]|0,c[e>>2]|0);d=0}else d=-22;while(0);l=j;return d|0}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+80|0;h=vh(c[f>>2]|0)|0;g=c[a+352>>2]|0;h=h|0?g:1;e=c[a+76>>2]|0;a:do if(((e|0)==(c[b+76>>2]|0)?(g|0)==(c[b+352>>2]|0):0)?(i=a+240|0,d=b+240|0,(c[i>>2]|0)==(c[d>>2]|0)?(c[i+4>>2]|0)==(c[d+4>>2]|0):0):0){d=c[a+64>>2]|0;b=b+64|0;a=0;while(1){if((a|0)>=(h|0))break;if(!(c[d+(a<<2)>>2]|0)){a=-22;break a}if(!(c[(c[b>>2]|0)+(a<<2)>>2]|0)){a=-22;break a}else a=a+1|0}Mh(d,c[b>>2]|0,0,0,e,g,c[f>>2]|0)|0;a=0}else a=-22;while(0);return a|0}function Mh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=(vh(h)|0)!=0;j=k?g:1;i=xh(h)|0;g=N(k?1:g,i)|0;i=N(g,f)|0;h=N(g,d)|0;g=N(g,e)|0;d=c[a>>2]|0;f=c[b>>2]|0;e=d>>>0<f>>>0;a:do if(((e?f:d)-(c[(e?a:b)>>2]|0)|0)<(i|0)){f=0;while(1){if((f|0)>=(j|0))break a;hX((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}else{f=0;while(1){if((f|0)>=(j|0))break a;gX((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}while(0);return 0}function Nh(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;b=nh(a)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a:do if(!b)a=-22;else{e=d[b+4>>0]|0;a=0;while(1){if((a|0)==(e|0)){a=0;b=0;break}c[f+(c[b+16+(a<<5)>>2]<<2)>>2]=1;a=a+1|0}while(1){if((b|0)==4)break a;a=(c[f+(b<<2)>>2]|0)+a|0;b=b+1|0}}while(0);l=g;return a|0}function Oh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0;n=l;l=l+32|0;if((l|0)>=(m|0))W(32);j=n+16|0;k=n;i=0;while(1){if((i|0)==4)break;c[j+(i<<2)>>2]=c[b+(i<<2)>>2];c[k+(i<<2)>>2]=c[e+(i<<2)>>2];i=i+1|0}Qh(a,j,d,k,f,g,h,4);l=n;return}function Ph(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+32|0;if((l|0)>=(m|0))W(32);n=o+16|0;k=o;a:do if((a|0)!=0&(d|0)!=0){if((((e|0)>-1?e:0-e|0)|0)<(f|0)){c[k>>2]=126753;c[k+4>>2]=126784;c[k+8>>2]=314;Uf(0,0,159675,k);Ub()}if((((b|0)>-1?b:0-b|0)|0)<(f|0)){c[n>>2]=126805;c[n+4>>2]=126784;c[n+8>>2]=315;Uf(0,0,159675,n);Ub()}else{h=g;i=a;j=d}while(1){if((h|0)<=0)break a;gX(i|0,j|0,f|0)|0;h=h+-1|0;i=i+b|0;j=j+e|0}}while(0);l=o;return}function Qh(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;if((l|0)>=(m|0))W(16);s=t;o=nh(g)|0;a:do if(o|0?(k=c[o+8>>2]|0,(k&8|0)==0&0==0):0){if(!((k&66|0)==0&0==0)){Wd[j&63](c[a>>2]|0,c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,h,i);gX(c[a+4>>2]|0,c[e+4>>2]|0,1024)|0;break}n=d[o+4>>0]|0;r=0;k=0;while(1){if((k|0)==(n|0))break;q=(c[o+16+(k<<5)>>2]|0)+1|0;r=(r|0)>(q|0)?r:q;k=k+1|0}o=o+6|0;p=0-i|0;n=0;while(1){if((n|0)>=(r|0))break a;q=Rh(g,h,n)|0;if((q|0)<0)break;if((n+-1|0)>>>0<2)k=0-(p>>(d[o>>0]|0))|0;else k=i;Wd[j&63](c[a+(n<<2)>>2]|0,c[b+(n<<2)>>2]|0,c[e+(n<<2)>>2]|0,c[f+(n<<2)>>2]|0,q,k);n=n+1|0}Uf(0,16,126723,s)}while(0);l=t;return}function Rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=g+16|0;f=g;a=nh(a)|0;if((a|0)!=0?(0==0?(c[a+8>>2]&8|0)==0:0):0){zh(e,f,a);a=Ah(b,c[e+(d<<2)>>2]|0,c[f+(d<<2)>>2]|0,a)|0}else a=-22;l=g;return a|0}function Sh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+80|0;k=nh(c[h>>2]|0)|0;a:do if(k){i=a+68|0;l=a+72|0;e=Vh(c[i>>2]|0,c[l>>2]|0,0,0)|0;if((e|0)>=0){g=a+32|0;b:do if(!(c[g>>2]|0)){b=(b|0)<1?32:b;j=b+-1|0;f=1;while(1){if((f|0)>(b|0))break;e=rh(g,c[h>>2]|0,f+-1+(c[i>>2]|0)&0-f)|0;if((e|0)<0)break a;if(!(c[g>>2]&j))break;else f=f<<1}b=0-b|0;e=0;while(1){if((e|0)>=4)break b;f=a+32+(e<<2)|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=j+g&b;e=e+1|0}}while(0);g=k+6|0;f=0;while(1){if((f|0)>=4){m=19;break}b=c[a+32+(f<<2)>>2]|0;if(!b){m=19;break}e=(c[l>>2]|0)+31&-32;if((f+-1|0)>>>0<2)e=0-(0-e>>(d[g>>0]|0))|0;e=yh((N(b,e)|0)+31|0)|0;c[a+248+(f<<2)>>2]=e;if(!e)break;c[a+(f<<2)>>2]=c[e+4>>2];f=f+1|0}do if((m|0)==19){if(!(0==0?(c[k+8>>2]&66|0)==0:0)){m=a+252|0;zg(m);e=yh(1024)|0;c[m>>2]=e;if(!e)break;c[a+4>>2]=c[e+4>>2]}c[a+64>>2]=a;e=0;break a}while(0);_g(a);e=-12}}else e=-22;while(0);return e|0}function Th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+80|0;g=vh(c[h>>2]|0)|0;e=a+352|0;f=c[e>>2]|0;if(!f){f=a+240|0;f=Uh(c[f>>2]|0,c[f+4>>2]|0)|0;c[e>>2]=f}i=g|0?f:1;j=a+32|0;if(!((c[j>>2]|0)==0?(d=wh(j,f,c[a+76>>2]|0,c[h>>2]|0,b)|0,(d|0)<0):0))k=5;a:do if((k|0)==5){g=(i|0)>8;do if(g){d=a+64|0;c[d>>2]=hh(i,4)|0;e=i+-8|0;h=hh(e,4)|0;f=a+280|0;c[f>>2]=h;if((h|0)==0|(c[d>>2]|0)==0){Qf(d);Qf(f);d=-12;break a}else{c[a+284>>2]=e;b=d;break}}else{b=a+64|0;c[b>>2]=a}while(0);e=g?8:i;d=0;while(1){if((d|0)>=(e|0))break;f=yh(c[j>>2]|0)|0;c[a+248+(d<<2)>>2]=f;if(!f){k=14;break}h=c[f+4>>2]|0;c[a+(d<<2)>>2]=h;c[(c[b>>2]|0)+(d<<2)>>2]=h;d=d+1|0}if((k|0)==14){_g(a);d=-12;break}e=i+-8|0;f=a+280|0;d=0;while(1){if((d|0)>=(e|0)){d=0;break a}g=yh(c[j>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break;c[(c[b>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}_g(a);d=-12}while(0);return d|0}function Uh(a,b){a=a|0;b=b|0;var c=0;c=a-(a>>>1&1431655765)|0;c=(c>>>2&858993459)+(c&858993459)|0;c=(c>>>4)+c&252645135;c=(c>>>8)+c|0;a=bX(a|0,b|0,33)|0;b=b-(a&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;b=(b>>>4)+b&252645135;b=(b>>>8)+b|0;return ((c>>>16)+c&63)+((b>>>16)+b&63)|0}function Vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wh(a,b,-1,2147483647,-1,c,d)|0}function Wh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0;n=l;l=l+48|0;if((l|0)>=(m|0))W(48);k=n+8|0;j=n;i=n+24|0;c[i>>2]=102044;c[i+4>>2]=g;c[i+8>>2]=h;g=Rh(f,a,0)|0;h=(g|0)<1;f=cX(a|0,0,3)|0;f=h?f:g;g=h?y:((g|0)<0)<<31>>31;if(!((a|0)<1|(b|0)<1|((g|0)>0|(g|0)==0&f>>>0>2147482622))?(h=TW(f|0,g|0,1024,0)|0,h=ZW(h|0,y|0,b+128|0,0)|0,g=y,!(g>>>0>0|(g|0)==0&h>>>0>2147483646)):0)if(!((d|0)==-1&(e|0)==2147483647)?(j=ZW(b|0,0,a|0,0)|0,h=y,(h|0)>(e|0)|(h|0)==(e|0)&j>>>0>d>>>0):0){c[k>>2]=a;c[k+4>>2]=b;f=k+8|0;c[f>>2]=d;c[f+4>>2]=e;Uf(i,16,126867,k);f=-22}else f=0;else{c[j>>2]=a;c[j+4>>2]=b;Uf(i,16,126836,j);f=-22}l=n;return f|0}function Xh(a){a=a|0;return c[c[a>>2]>>2]|0}function Yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=0;do{f=$h(b,262540,f,2)|0;if(!f){e=0;break}e=ai(a,c[f>>2]|0,c[f+4>>2]|0,d)|0}while((e|0)>=0);return e|0}function Zh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f;d=yh(d)|0;c[e>>2]=d;a=_h(a,b,d)|0;if(!a)zg(e);l=f;return a|0}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((((d|0)!=0?(g=a+292|0,h=c[g>>2]|0,h>>>0<=536870910):0)?(i=a+288|0,f=$f(c[i>>2]|0,(h<<2)+4|0)|0,(f|0)!=0):0)?(c[i>>2]=f,e=Lg(20)|0,(e|0)!=0):0){c[e+16>>2]=d;c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e>>2]=b;h=c[i>>2]|0;i=c[g>>2]|0;c[g>>2]=i+1;c[h+(i<<2)>>2]=e}else e=0;return e|0}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!b)e=0;else{m=b+4|0;if(!e)e=0;else e=(e-(c[m>>2]|0)>>3)+1|0;k=c[b>>2]|0;l=(f&1|0)==0;j=(f&2|0)==0;while(1){if(e>>>0>=k>>>0){e=0;break a}i=c[m>>2]|0;h=c[i+(e<<3)>>2]|0;if(l){f=0;while(1){b=a[h+f>>0]|0;n=ei(b<<24>>24)|0;g=a[d+f>>0]|0;if(g<<24>>24==0|(n|0)!=(ei(g<<24>>24)|0))break;else f=f+1|0}}else{f=0;while(1){b=a[h+f>>0]|0;g=a[d+f>>0]|0;if(g<<24>>24==0?1:b<<24>>24!=g<<24>>24)break;else f=f+1|0}}if(!(g<<24>>24!=0|j&b<<24>>24!=0))break;e=e+1|0}e=i+(e<<3)|0}while(0);return e|0}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=r+8|0;q=r+4|0;o=r;g=c[a>>2]|0;c[n>>2]=0;c[q>>2]=0;c[o>>2]=0;if(!(e&64))i=$h(g,b,0,e)|0;else i=0;if(!(e&4))h=bi(b)|0;else h=b;c[q>>2]=h;j=h;if(!(e&8))if(!h)f=0;else{f=bi(d)|0;c[o>>2]=f}else{c[o>>2]=d;f=d}if(!g){g=Lg(8)|0;c[a>>2]=g;if(!g)k=32;else{p=g;k=11}}else{p=g;k=11}a:do if((k|0)==11){do if((b|0)==0|(h|0)!=0){g=(f|0)!=0;if((d|0)==0|g){if(!i)if(g){g=p+4|0;b=$f(c[g>>2]|0,(c[p>>2]<<3)+8|0)|0;if(!b)break;c[g>>2]=b;k=23}else k=27;else{if(e&16|0){Rf(h);Rf(f);f=0;break a}g=c[i+4>>2]|0;if(!(e&32))Rf(g);else c[n>>2]=g;Rf(c[i>>2]|0);d=c[p+4>>2]|0;h=(c[p>>2]|0)+-1|0;c[p>>2]=h;h=d+(h<<3)|0;d=c[h+4>>2]|0;k=i;c[k>>2]=c[h>>2];c[k+4>>2]=d;if(!f)k=27;else k=23}if((k|0)==23){d=p+4|0;h=c[d>>2]|0;g=c[p>>2]|0;c[h+(g<<3)>>2]=j;f=c[o>>2]|0;c[h+(g<<3)+4>>2]=f;h=c[n>>2]|0;if((e&32|0)==0|(h|0)==0)f=g;else{g=BU(h)|0;g=g+1+(BU(f)|0)|0;b=Lg(g)|0;if(!b)break;ci(b,h,g)|0;Qf(n);ci(b,f,g)|0;c[(c[d>>2]|0)+(c[p>>2]<<3)+4>>2]=b;Qf(o);f=c[p>>2]|0}f=f+1|0;c[p>>2]=f}else if((k|0)==27){Qf(q);f=c[p>>2]|0}if(f|0){f=0;break a}Qf(p+4|0);Qf(a);f=0;break a}else f=0}while(0);if(!(c[p>>2]|0)){Qf(p+4|0);Qf(a);k=32}else k=32}while(0);if((k|0)==32){Rf(c[q>>2]|0);Rf(f);f=-12}l=r;return f|0}function bi(a){a=a|0;var b=0,c=0;if((a|0)!=0?(c=(BU(a)|0)+1|0,b=$f(0,c)|0,(b|0)!=0):0)gX(b|0,a|0,c|0)|0;else b=0;return b|0}function ci(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=BU(a)|0;if((d+1|0)>>>0<c>>>0)a=di(a+d|0,b,c-d|0)|0;else a=BU(b)|0;return a+d|0}function di(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=0;while(1){e=g+1|0;if(e>>>0>=d>>>0)break;f=a[c>>0]|0;if(!(f<<24>>24))break;a[b>>0]=f;g=e;b=b+1|0;c=c+1|0}if(g>>>0<d>>>0)a[b>>0]=0;return (BU(c)|0)+g|0}function ei(a){a=a|0;return ((a+-97|0)>>>0<26?a^32:a)|0}function fi(a){a=a|0;var b=0;gi(a);c[a+28260>>2]=0;c[a+28264>>2]=0;c[a+28248>>2]=65536;c[a+28252>>2]=0;b=0;while(1){if((b|0)==16)break;c[a+28676+(b<<2)>>2]=-2147483648;b=b+1|0}return}function gi(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==16)break;hi(a,b,0);b=b+1|0}d=a+29556|0;if((c[d>>2]|0)!=0?(e=a+24972|0,(c[c[e>>2]>>2]|0)==0):0){Ug(a,e);ii(a,e,c[a+28348>>2]|0)|0;b=0}else b=0;while(1){if((b|0)>=(c[d>>2]|0))break;e=a+28348+(b<<2)|0;ji(a,c[e>>2]|0,0)|0;c[e>>2]=0;b=b+1|0}c[d>>2]=0;b=a+28268|0;d=b+80|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=a+28476+(b<<2)|0;e=c[b>>2]|0;if(e|0?ji(a,e,d)|0:0){c[(c[b>>2]|0)+100>>2]=0;c[b>>2]=0;d=a+29552|0;c[d>>2]=(c[d>>2]|0)+-1}return}function ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;if((l|0)>=(m|0))W(48);i=k+32|0;g=k+16|0;e=k;h=c[b>>2]|0;if(c[h+248>>2]|0){c[e>>2]=126985;c[e+4>>2]=127001;c[e+8>>2]=70;Uf(0,0,159675,e);Ub()}f=c[d>>2]|0;if(!(c[f+248>>2]|0)){c[g>>2]=127027;c[g+4>>2]=127001;c[g+8>>2]=71;Uf(0,0,159675,g);Ub()}e=d+4|0;if((c[e>>2]|0)!=(f|0)){c[i>>2]=127042;c[i+4>>2]=127001;c[i+8>>2]=72;Uf(0,0,159675,i);Ub()}i=b+4|0;c[i>>2]=h;e=ki(i,e)|0;a:do if((e|0)>=0){i=b+20|0;c[i>>2]=Bh(c[d+20>>2]|0)|0;h=Bh(c[d+44>>2]|0)|0;c[b+44>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){e=-12;j=19}else{c[b+24>>2]=c[d+24>>2];c[b+48>>2]=c[d+48>>2];e=0;while(1){if((e|0)>=2)break;i=b+28+(e<<2)|0;c[i>>2]=Bh(c[d+28+(e<<2)>>2]|0)|0;h=Bh(c[d+60+(e<<2)>>2]|0)|0;c[b+60+(e<<2)>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){e=-12;j=19;break a}c[b+36+(e<<2)>>2]=c[d+36+(e<<2)>>2];c[b+68+(e<<2)>>2]=c[d+68+(e<<2)>>2];e=e+1|0}if(!(c[d+56>>2]|0))e=0;else{e=Bh(c[d+52>>2]|0)|0;c[b+52>>2]=e;if(!e){e=-12;j=19;break}c[b+56>>2]=c[e+4>>2];e=0}while(1){if((e|0)==2)break;c[b+76+(e<<2)>>2]=c[d+76+(e<<2)>>2];e=e+1|0}gX(b+104|0,d+104|0,512)|0;e=b+616|0;a=d+616|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[b+84>>2]=c[d+84>>2];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+100>>2]=c[d+100>>2];c[b+632>>2]=c[d+632>>2];c[b+636>>2]=c[d+636>>2];c[b+640>>2]=c[d+640>>2];c[b+644>>2]=c[d+644>>2];c[b+648>>2]=c[d+648>>2];c[b+652>>2]=c[d+652>>2];e=0}}else j=19;while(0);if((j|0)==19)Ug(a,b);l=k;return e|0}function ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=b+640|0;e=c[f>>2]&d;c[f>>2]=e;a:do if(!e){d=0;while(1){e=c[a+28604+(d<<2)>>2]|0;if(!e){d=1;break a}if((e|0)==(b|0))break;else d=d+1|0}c[f>>2]=4;d=1}else d=0;while(0);return d|0}function ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=h;g=a+4|0;c[g>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];d=Fh(c[a>>2]|0,c[b>>2]|0)|0;if((d|0)>=0){e=a+12|0;if(c[e>>2]|0){c[f>>2]=127062;c[f+4>>2]=127077;c[f+8>>2]=1792;Uf(0,0,159675,f);Ub()}d=c[b+12>>2]|0;if((d|0)!=0?(f=Bh(d)|0,c[e>>2]=f,(f|0)==0):0){Yg(c[g>>2]|0,a);d=-12}else d=0}l=h;return d|0}function li(a){a=a|0;var b=0;b=0;while(1){if((b|0)==32){b=0;break}zg(a+(b<<2)|0);b=b+1|0}while(1){if((b|0)==256)break;zg(a+128+(b<<2)|0);b=b+1|0}zg(a+1156|0);zg(a+1152|0);c[a+1160>>2]=0;c[a+1164>>2]=0;return}function mi(a){a=a|0;var b=0,d=0;d=a+20|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Qf((c[a>>2]|0)+(b*68|0)+60|0);b=b+1|0}Qf(a);c[d>>2]=0;Qf(a+4|0);c[a+12>>2]=0;c[a+8>>2]=0;return}function ni(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+28604>>2]|0;c[a+24312>>2]=0;c[a+26384>>2]=0;h=0;f=1;while(1){g=c[a+28604+(f<<2)>>2]|0;if(!g)break;if(c[(c[g>>2]|0)+84>>2]|0)break;if(c[g+92>>2]|0)break;k=(c[g+84>>2]|0)<(c[i+84>>2]|0);i=k?g:i;h=k?f:h;f=f+1|0}g=h;f=c[a+28604+(h<<2)>>2]|0;while(1){if(!f)break;k=g+1|0;f=c[a+28604+(k<<2)>>2]|0;c[a+28604+(g<<2)>>2]=f;g=k}if((i|0)!=0?(j=i+640|0,c[j>>2]=c[j>>2]&-5,j=ti(a,b,i,d)|0,(j|0)<0):0)e=j;return e|0}function oi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a+44>>2]|0;a=a+40|0;e=0;while(1){if((e|0)>=(f|0)){b=8;break}g=c[a>>2]|0;if((c[g+(e*12|0)+8>>2]|0)==(b|0)){b=4;break}e=e+1|0}if((b|0)==4){if(d|0)c[d>>2]=c[g+(e*12|0)+4>>2];a=c[g+(e*12|0)>>2]|0}else if((b|0)==8)if(!d)a=0;else{c[d>>2]=0;a=0}return a|0}function pi(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+c|0;e=a[b+5>>0]&31;b=b+6|0;while(1){if(!e){f=5;break}c=((dX(d[b>>0]|d[b+1>>0]<<8|0)|0)&65535)+2|0;if((c|0)>(g-b|0)){c=0;break}if((a[b+2>>0]&-97)<<24>>24==7){e=e+-1|0;b=b+c|0}else{c=0;break}}a:do if((f|0)==5){c=a[b>>0]|0;if(!(c<<24>>24))c=0;else{e=c&255;c=b+1|0;while(1){if(!e){c=1;break a}b=((dX(d[c>>0]|d[c+1>>0]<<8|0)|0)&65535)+2|0;if((b|0)>(g-c|0)){c=0;break a}if((a[c+2>>0]&-97)<<24>>24==8){e=e+-1|0;c=c+b|0}else{c=0;break}}}}while(0);return c|0}function qi(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;if((l|0)>=(m|0))W(32);t=u+16|0;q=u+8|0;k=u;a:do if((b|0)==0|(e|0)<1)e=-1;else do if((a[b>>0]|0)==1){c[g>>2]=1;if((e|0)<7){c[k>>2]=e;Uf(j,16,148560,k);e=-1094995529;break a}k=a[b+5>>0]&31;s=b+e|0;p=b+6|0;g=0;while(1){if((g|0)>=(k|0))break;n=((dX(d[p>>0]|d[p+1>>0]<<8|0)|0)&65535)+2|0;if((n|0)>(s-p|0)){e=-1094995529;break a}o=KN(p,n,f,i,j)|0;if((o|0)<0){r=9;break}p=p+n|0;g=g+1|0}if((r|0)==9){c[q>>2]=g;Uf(j,16,148579,q);e=o;break a}o=d[p>>0]|0;g=p+1|0;n=0;while(1){if((n|0)>=(o|0)){r=17;break}k=((dX(d[g>>0]|d[g+1>>0]<<8|0)|0)&65535)+2|0;if((k|0)>(s-g|0)){e=-1094995529;break a}p=KN(g,k,f,i,j)|0;if((p|0)<0){r=15;break}g=g+k|0;n=n+1|0}if((r|0)==15){c[t>>2]=n;Uf(j,16,148613,t);e=p;break a}else if((r|0)==17){c[h>>2]=(a[b+4>>0]&3)+1&255;break}}else{c[g>>2]=0;g=LN(b,e,f,0,j)|0;if((g|0)<0){e=g;break a}}while(0);while(0);l=u;return e|0}function ri(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0;Z=l;l=l+80|0;if((l|0)>=(m|0))W(80);P=Z+48|0;T=Z+40|0;S=Z+32|0;R=Z+24|0;Q=Z+16|0;O=Z+8|0;j=Z;L=Z+52|0;U=b+4|0;M=c[U>>2]|0;Y=b+27032|0;c[Y>>2]=0;N=b+27028|0;c[N>>2]=0;i=M+64|0;if(!(c[i>>2]&32768)){c[b+29560>>2]=0;if(!(c[b+26384>>2]|0))c[b+24312>>2]=0;Tg(b+29676|0)}h=c[b+27040>>2]|0;do if((h|0)==4){if((f|0)>8){g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((g|0)==16777216){X=e+5|0;if((eX(d[X>>0]|d[X+1>>0]<<8|d[X+2>>0]<<16|d[X+3>>0]<<24|0)|0)>>>0>f>>>0){c[b+27036>>2]=0;break}else g=16777216}}else{if((f|0)<=3)break;g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24}X=eX(g|0)|0;if(!(X>>>0<2|X>>>0>f>>>0))c[b+27036>>2]=1}while(0);F=b+25640|0;g=Gi(F,e,f,M,c[b+27036>>2]|0,h,c[M+16>>2]|0,c[i>>2]&1)|0;do if((g|0)<0)Uf(M,16,128120,j);else{C=M+696|0;if(c[C>>2]&1){g=Hi(b)|0;if((g|0)<0)break}else g=0;p=b+25656|0;q=M+732|0;r=b+27024|0;D=b+29560|0;s=b+29580|0;t=b+29588|0;X=b+24312|0;u=M+592|0;v=b+25632|0;w=b+25636|0;E=b+25628|0;x=b+29676|0;y=b+27052|0;z=b+29716|0;A=M+576|0;B=b+29900|0;h=0;o=0;a:while(1){if((o|0)>=(c[p>>2]|0)){V=71;break}k=c[F>>2]|0;j=k+(o*68|0)|0;i=c[k+(o*68|0)+64>>2]|0;if((c[q>>2]|0)>7&(i|0)==0){if((c[k+(o*68|0)+44>>2]|0)==6){i=0;V=22}}else V=22;b:do if((V|0)==22){V=0;c[r>>2]=i;i=c[k+(o*68|0)+44>>2]|0;c[N>>2]=i;switch(i|0){case 19:case 13:case 12:case 11:case 10:case 9:break b;case 5:{if((a[(c[k+(o*68|0)+8>>2]|0)+1>>0]&-4)<<24>>24==-104){V=24;break a}if(!h){if(c[D>>2]|0?c[C>>2]&2|0:0){V=28;break a}fi(b)}c[s>>2]=1;h=1;break}case 1:break;case 4:case 3:case 2:{Li(M,128271,R);break b}case 6:{n=Mi(x,k+(o*68|0)+24|0,y,M)|0;if(!(c[s>>2]|0))i=(c[z>>2]|0)!=-1;else i=1;c[s>>2]=i&1;if(c[A>>2]&8388608|0)Ni(B,c[U>>2]|0);if((n|0)>=0)break b;if(!(c[(c[U>>2]|0)+580>>2]&8))break b;else break a}case 7:{i=k+(o*68|0)+24|0;c[L>>2]=c[i>>2];c[L+4>>2]=c[i+4>>2];c[L+8>>2]=c[i+8>>2];c[L+12>>2]=c[i+12>>2];c[L+16>>2]=c[i+16>>2];j=c[u>>2]|0;if((j|0?(H=c[j+28>>2]|0,H|0):0)?(I=Nd[H&3](M,7,c[k+(o*68|0)+20>>2]|0,c[k+(o*68|0)+16>>2]|0)|0,(I|0)<0):0){V=61;break a}if((Oi(L,M,y,0)|0)<=-1?(Uf(c[U>>2]|0,48,128289,S),Pi(L,(c[k+(o*68|0)+20>>2]|0)+1|0,(c[k+(o*68|0)+16>>2]|0)+-1|0)|0,(Oi(L,M,y,0)|0)<=-1):0)Oi(i,M,y,1)|0;break b}case 8:{i=c[u>>2]|0;if((i|0?(J=c[i+28>>2]|0,J|0):0)?(K=Nd[J&3](M,8,c[k+(o*68|0)+20>>2]|0,c[k+(o*68|0)+16>>2]|0)|0,(K|0)<0):0){n=K;break a}n=Qi(k+(o*68|0)+24|0,M,y,c[k+(o*68|0)+12>>2]|0)|0;if((n|0)>=0)break b;if(!(c[(c[U>>2]|0)+580>>2]&8))break b;else break a}default:{n=c[k+(o*68|0)+12>>2]|0;c[T>>2]=i;c[T+4>>2]=n;Uf(M,48,128347,T);break b}}c[Y>>2]=1;i=Ii(b,j)|0;if(i|0){k=c[E>>2]|0;n=c[w>>2]|0;c[k+(n*34768|0)+23408>>2]=0;c[k+(n*34768|0)+23404>>2]=0;if((i|0)>=0)break;Uf(c[U>>2]|0,16,128379,P);break}if((c[D>>2]|0)==1){if((!((o|0)<(g|0)|(c[C>>2]&1|0)==0)?(c[t>>2]|0)==0:0)?c[X>>2]|0:0){Ji(M);c[t>>2]=1}i=c[U>>2]|0;j=c[i+592>>2]|0;if(j|0?(G=Md[c[j+24>>2]&15](i,e,f)|0,(G|0)<0):0){n=G;break a}}i=c[u>>2]|0;if(!i)j=c[v>>2]|0;else j=1;if((c[w>>2]|0)==(j|0)){if(!(c[(c[U>>2]|0)+592>>2]|0))n=Ki(b)|0;else{n=Md[c[i+32>>2]&15](M,c[k+(o*68|0)+20>>2]|0,c[k+(o*68|0)+16>>2]|0)|0;c[w>>2]=0}if((n|0)<0?(c[(c[U>>2]|0)+580>>2]&8|0)!=0:0)break a}}while(0);o=o+1|0}do if((V|0)==24){Uf(c[U>>2]|0,16,128163,O);c[b+28744>>2]=-2147483648;n=-1}else if((V|0)==28){Uf(b,16,128188,Q);n=-1094995529}else if((V|0)==61)n=I;else if((V|0)==71){g=Ki(b)|0;if((g|0)<0?c[(c[U>>2]|0)+580>>2]&8|0:0){n=g;break}n=0}while(0);k=b+26380|0;if((((c[k>>2]|0)==3?c[D>>2]|0:0)?(c[b+28216>>2]|0)==(c[(c[b+27052+(c[c[b+28212>>2]>>2]<<2)>>2]|0)+4>>2]|0):0)?c[b+29672>>2]|0:0){h=c[E>>2]|0;g=b+24972|0;if(!(c[(c[g>>2]|0)+248>>2]|0))j=0;else j=(c[h+23404>>2]|0)==0;i=h+24|0;Ri(h+696|0,c[X>>2]|0);do if(!j){g=h+728|0;if(!(c[h+23404>>2]|0)){Ri(g,0);break}else{Ri(g,c[h+23452>>2]|0);break}}else{Ri(h+728|0,g);V=h+23416|0;c[h+23452>>2]=g;U=c[g>>2]|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];V=h+23428|0;U=(c[g>>2]|0)+32|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[h+23440>>2]=c[b+25612>>2]}while(0);if(c[h+23408>>2]|0)Ri(h+760|0,c[h+25372>>2]|0);c[h+820>>2]=c[h+23404>>2];Si(i);if(j){g=h+23416|0;h=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}}g=c[X>>2]|0;if((g|0?(c[b+25684>>2]|0)==0:0)?c[Y>>2]|0:0)yi(g+4|0,2147483647,(c[k>>2]|0)==2&1);g=(n|0)<0?n:f}while(0);l=Z;return g|0}function si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=h;e=c[a+4>>2]|0;c[a+27004>>2]=0;f=(d|0)!=0;if(!f?(c[e+696>>2]&1|0)!=0:0)b=0;else{if(!(c[a+25684>>2]|0)){b=xi(a)|0;c[a+28248>>2]=c[a+28228>>2];c[a+28252>>2]=c[a+28224>>2]}else b=0;c[a+28260>>2]=c[a+28256>>2];c[a+28264>>2]=c[a+28244>>2]}d=c[e+592>>2]|0;if(d){b=Kd[c[d+36>>2]&31](e)|0;if((b|0)<0)Uf(e,16,127398,g)}if(!f?(c[a+25684>>2]|0)==0:0)yi((c[a+24312>>2]|0)+4|0,2147483647,(c[a+26380>>2]|0)==2&1);c[a+29560>>2]=0;l=h;return b|0}function ti(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;o=l;l=l+64|0;if((l|0)>=(m|0))W(64);g=o;j=o+40|0;k=o+24|0;n=o+8|0;f=c[a+4>>2]|0;if(((c[f+60>>2]&8|0)==0?(c[f+64>>2]&4194304|0)==0:0)?(c[d+644>>2]|0)==0:0)f=0;else{do if(!(c[f+592>>2]|0)){h=(c[d+76>>2]|0)==2147483647;if(!h?(c[d+80>>2]|0)!=2147483647:0)break;i=c[d>>2]|0;p=h&1;c[g>>2]=p;Uf(f,48,127178,g);g=0-(p^1)|0;f=0;while(1){if((f|0)==4)break;q=i+(f<<2)|0;p=c[i+32+(f<<2)>>2]|0;c[j+(f<<2)>>2]=(c[q>>2]|0)+(p&g);c[n+(f<<2)>>2]=(c[q>>2]|0)+(h?p:0);c[k+(f<<2)>>2]=p<<1;f=f+1|0}Oh(j,k,n,k,c[i+80>>2]|0,c[i+68>>2]|0,c[i+72>>2]>>1)}while(0);f=vi(a,b,d)|0;if((f|0)>=0){c[e>>2]=1;f=0}}l=o;return f|0}function ui(a,b){a=a|0;b=b|0;a=(a|0)==0?1:a;return ((a+10|0)>(b|0)?b:a)|0}function vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Fh(b,c[d>>2]|0)|0;if((e|0)>=0){ai(b+344|0,127216,wi(a+29852|0)|0,0)|0;if(!(c[d+652>>2]|0)){c[b+84>>2]=1;e=0}else e=0}return e|0}function wi(a){a=a|0;a:do switch(c[a+8>>2]|0){case 0:switch(c[a+12>>2]|0){case 0:{a=(c[a+20>>2]|0)==2?127228:127244;break a}case 1:{a=(c[a+20>>2]|0)==2?127260:127279;break a}case 2:{a=(c[a+20>>2]|0)==2?127298:127317;break a}case 3:{a=(c[a+20>>2]|0)==2?127336:127347;break a}case 4:{a=(c[a+20>>2]|0)==2?127358:127369;break a}case 5:{a=(c[a+20>>2]|0)==2?127380:127389;break a}default:{a=155917;break a}}case 1:{a=155917;break}default:a=0}while(0);return a|0}function xi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=l;l=l+144|0;if((l|0)>=(m|0))W(144);E=N+112|0;D=N+104|0;C=N+96|0;w=N+80|0;v=N+72|0;u=N+64|0;t=N+56|0;z=N+48|0;y=N+40|0;x=N+24|0;e=N+16|0;p=N+128|0;L=N;r=N+124|0;G=L;c[G>>2]=0;c[G+4>>2]=0;G=a+28216|0;do if(c[G>>2]|0){if(!(c[a+29548>>2]|0))zi(a);q=c[a+29540>>2]|0;b=a+4|0;d=c[b>>2]|0;if((q|0)==0?(c[d+576>>2]&2048|0)!=0:0)Uf(d,48,127484,e);J=a+29556|0;H=a+29552|0;B=a+28348|0;K=a+24312|0;I=a+26380|0;n=a+28244|0;o=a+29544|0;k=0;j=0;f=0;g=0;d=0;a:while(1){if((k|0)>=(q|0))break;e=c[b>>2]|0;if(!(c[e+576>>2]&2048))h=a+28748+(k*12|0)|0;else{h=a+28748+(k*12|0)|0;O=c[a+28748+(k*12|0)+4>>2]|0;i=c[a+28748+(k*12|0)+8>>2]|0;c[x>>2]=c[h>>2];c[x+4>>2]=O;c[x+8>>2]=i;Uf(e,48,127498,x)}e=c[h>>2]|0;b:do switch(e|0){case 3:case 1:{f=Ai(a,c[a+28748+(k*12|0)+4>>2]|0,r)|0;g=Bi(a,f,p)|0;e=c[h>>2]|0;if(!g){if(((e|0)==3?(s=c[a+28476+(c[a+28748+(k*12|0)+8>>2]<<2)>>2]|0,s|0):0)?(c[s+88>>2]|0)==(f|0):0){h=j;e=0;break b}Uf(c[b>>2]|0,c[J>>2]|0?16:48,127513,y);h=j;d=-1094995529;e=0}else{i=f;A=18}break}default:{i=f;A=18}}while(0);c:do if((A|0)==18){A=0;switch(e|0){case 1:{e=c[b>>2]|0;if(c[e+576>>2]&2048|0){O=c[J>>2]|0;c[z>>2]=c[a+28748+(k*12|0)+4>>2];c[z+4>>2]=O;Uf(e,48,127540,z)}Ci(a,i,c[r>>2]^3)|0;h=j;f=i;e=g;break c}case 3:{e=a+28748+(k*12|0)+8|0;f=c[e>>2]|0;if((c[a+28476+(f<<2)>>2]|0)!=(g|0))hi(a,f,0);Di(a,c[p>>2]|0);c[a+28476+(c[e>>2]<<2)>>2]=g;e=c[a+28476+(c[e>>2]<<2)>>2]|0;if(!e){h=j;f=i;e=g;break c}c[e+100>>2]=1;c[H>>2]=(c[H>>2]|0)+1;h=j;f=i;e=g;break c}case 2:{e=Ai(a,c[a+28748+(k*12|0)+8>>2]|0,r)|0;c[p>>2]=e;g=c[a+28476+(e<<2)>>2]|0;if(g|0){hi(a,e,c[r>>2]^3);h=j;f=i;e=g;break c}e=c[b>>2]|0;if(!(c[e+576>>2]&2048)){h=j;f=i;e=0;break c}Uf(e,48,127571,t);h=j;f=i;e=0;break c}case 6:{e=c[K>>2]|0;if((c[B>>2]|0)==(e|0)){Uf(c[b>>2]|0,16,127597,u);Di(a,0);e=c[K>>2]|0}h=a+28748+(k*12|0)+8|0;if(c[e+100>>2]|0){e=0;while(1){if((e|0)==32)break;if((c[a+28476+(e<<2)>>2]|0)==(c[K>>2]|0)){if((e|0)!=(c[h>>2]|0))Uf(c[b>>2]|0,16,127669,v);hi(a,e,0)}e=e+1|0}c[p>>2]=32;e=c[K>>2]|0}f=c[h>>2]|0;if((c[a+28476+(f<<2)>>2]|0)!=(e|0)){if(c[e+100>>2]|0){A=42;break a}hi(a,f,0);c[a+28476+(c[h>>2]<<2)>>2]=c[K>>2];c[(c[a+28476+(c[h>>2]<<2)>>2]|0)+100>>2]=1;c[H>>2]=(c[H>>2]|0)+1;e=c[K>>2]|0}h=e+640|0;c[h>>2]=c[h>>2]|c[I>>2];h=1;f=i;e=g;break c}case 4:{e=c[a+28748+(k*12|0)+8>>2]|0;while(1){if((e|0)>=16)break;hi(a,e,0);e=e+1|0}c[p>>2]=e;h=j;f=i;e=g;break c}case 5:{while(1){if(!(c[J>>2]|0)){e=0;break}Ci(a,c[(c[B>>2]|0)+88>>2]|0,0)|0}while(1){if((e|0)==16)break;hi(a,e,0);e=e+1|0}c[p>>2]=16;e=c[K>>2]|0;c[e+88>>2]=0;c[n>>2]=0;c[o>>2]=1;c[e+92>>2]=1;e=0;while(1){if((e|0)==16)break;c[a+28676+(e<<2)>>2]=-2147483648;e=e+1|0}c[p>>2]=16;h=j;f=i;e=g;break c}default:{h=j;f=i;e=g;break c}}}while(0);k=k+1|0;j=h;g=e}if((A|0)==42){c[w>>2]=127732;c[w+4>>2]=127758;c[w+8>>2]=702;Uf(0,0,159675,w);Ub()}do if(!j){if(c[J>>2]|0){f=c[B>>2]|0;e=c[K>>2]|0;if((f|0)==(e|0)){O=f+640|0;c[O>>2]=c[O>>2]|c[I>>2];break}}else e=c[K>>2]|0;if(c[e+100>>2]|0){Uf(c[b>>2]|0,16,127781,C);d=-1094995529;break}if(Ci(a,c[e+88>>2]|0,0)|0){Uf(c[b>>2]|0,16,127894,D);d=-1094995529}e=c[J>>2]|0;if(!e)e=1;else{hX(a+28352|0,B|0,e<<2|0)|0;e=(c[J>>2]|0)+1|0}O=c[K>>2]|0;c[a+28348>>2]=O;c[J>>2]=e;O=O+640|0;c[O>>2]=c[O>>2]|c[I>>2]}while(0);e=c[H>>2]|0;f=c[J>>2]|0;g=c[(c[G>>2]|0)+48>>2]|0;do if((f+e|0)>(((g|0)>1?g:1)|0)){d=c[b>>2]|0;c[E>>2]=e;c[E+4>>2]=f;c[E+8>>2]=g;Uf(d,16,127936,E);d=c[J>>2]|0;if((c[H>>2]|0)!=0&(d|0)==0)d=0;else{Ci(a,c[(c[a+28348+(d+-1<<2)>>2]|0)+88>>2]|0,0)|0;d=-1094995529;break}while(1){if((d|0)>=16)break;if(c[a+28476+(d<<2)>>2]|0)break;d=d+1|0}hi(a,d,0);d=-1094995529}while(0);e=0;while(1){if((e|0)>=(c[J>>2]|0))break;f=c[a+28348+(e<<2)>>2]|0;if(c[f+648>>2]|0?(F=c[f+88>>2]|0,O=c[G>>2]|0,((1<<c[O+20>>2])+-1&(c[(c[K>>2]|0)+88>>2]|0)-F|0)>(c[O+48>>2]|0)):0)Ci(a,F,0)|0;e=e+1|0}Ei(a);Fi(a);h=L+4|0;g=0;i=0;f=0;while(1){if((g|0)==256)break;e=c[a+27180+(g<<2)>>2]|0;if(!e)e=i;else{G=c[e+4>>2]|0;O=G+20|0;e=c[(i>>>0>(c[O>>2]|0)>>>0?L:O)>>2]|0;c[L>>2]=e;f=c[(f>>>0>(c[G+24>>2]|0)>>>0?L:O)+4>>2]|0;c[h>>2]=f}g=g+1|0;i=e}if((d|0)>-1?(c[H>>2]|0)==0:0){e=c[I>>2]|0;if((c[J>>2]|0)>=3?!((i|0)<=(((e|0)!=3?2:1)|0)&(f|0)<2):0)break;if(((i|0)<=((((c[a+29580>>2]|0)==0&1)<<1)+((e|0)!=3?3:2)|0)?(M=c[K>>2]|0,(c[(c[M>>2]|0)+88>>2]|0)==1):0)?(O=M+644|0,c[O>>2]=c[O>>2]|1,(c[(c[b>>2]|0)+140>>2]|0)==0):0){O=a+29576|0;c[O>>2]=c[O>>2]|2}}}else{b=a+4|0;Uf(c[b>>2]|0,16,127470,N+8|0);d=-1094995529}while(0);l=N;return (c[(c[b>>2]|0)+580>>2]&8|0?d:0)|0}function yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;e=c[a+12>>2]|0;if((e|0?(f=c[e+4>>2]|0,f|0):0)?(g=f+(d<<2)|0,(c[g>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;e=c[(c[(c[a>>2]|0)+28>>2]|0)+20>>2]|0;if(c[e+344>>2]|0){a=c[a>>2]|0;c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;Uf(a,48,127445,h)}h=e+184|0;kX(h|0)|0;c[g>>2]=b;jX(e+60|0)|0;lX(h|0)|0}l=i;return}function zi(a){a=a|0;var b=0,d=0,e=0;b=c[a+29556>>2]|0;do if((b|0)!=0?((c[a+29552>>2]|0)+b|0)>=(c[(c[a+28216>>2]|0)+48>>2]|0):0){e=(c[a+26380>>2]|0)==3;if((!e?(c[a+26384>>2]|0)==0:0)?c[(c[a+24312>>2]|0)+640>>2]|0:0){b=0;break}c[a+28748>>2]=1;d=c[(c[a+28348+(b+-1<<2)>>2]|0)+88>>2]|0;b=a+28752|0;c[b>>2]=d;d=d<<1;if(e)b=1;else{c[b>>2]=d;c[a+28760>>2]=1;c[a+28764>>2]=d|1;b=2}}else b=0;while(0);c[a+29540>>2]=b;return}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+26380|0;a=c[e>>2]|0;c[d>>2]=a;if((c[e>>2]|0)!=3){if(!(b&1))c[d>>2]=a^3;b=b>>1}return b|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=n;h=a+29556|0;i=a+4|0;g=0;while(1){if((g|0)>=(c[h>>2]|0)){e=0;break}e=c[a+28348+(g<<2)>>2]|0;f=c[i>>2]|0;if(!(c[f+576>>2]&2048))f=e+88|0;else{o=e+88|0;p=c[o>>2]|0;c[j>>2]=g;c[j+4>>2]=p;c[j+8>>2]=e;Uf(f,48,128110,j);f=o}if((c[f>>2]|0)==(b|0)){k=7;break}g=g+1|0}if((k|0)==7)c[d>>2]=g;l=n;return e|0}function Ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=h;g=h+8|0;e=c[a+4>>2]|0;if(c[e+576>>2]&2048|0){i=c[a+29556>>2]|0;c[f>>2]=b;c[f+4>>2]=i;Uf(e,48,128084,f)}b=Bi(a,b,g)|0;if(b|0?ji(a,b,d)|0:0)Di(a,c[g>>2]|0);l=h;return b|0}function Di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+28348+(b<<2)|0;c[d>>2]=0;f=a+29556|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if(e|0)hX(d|0,a+28348+(b+1<<2)|0,e-b<<2|0)|0;return}function Ei(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;if((l|0)>=(m|0))W(32);f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+576>>2]&2048|0){Uf(b,48,128066,g);d=a+29556|0;b=0;while(1){if(b>>>0>=(c[d>>2]|0)>>>0)break a;i=c[a+28348+(b<<2)>>2]|0;h=c[e>>2]|0;k=c[i+88>>2]|0;j=c[i+84>>2]|0;i=c[c[i>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=k;c[f+8>>2]=j;c[f+12>>2]=i;Uf(h,48,128046,f);b=b+1|0}}while(0);l=g;return}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+32|0;if((l|0)>=(m|0))W(32);f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+576>>2]&2048|0){Uf(b,48,128029,g);b=0;while(1){if((b|0)==16)break a;d=c[a+28476+(b<<2)>>2]|0;if(d|0){h=c[e>>2]|0;j=c[d+88>>2]|0;i=c[d+84>>2]|0;d=c[c[d>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=j;c[f+8>>2]=i;c[f+12>>2]=d;Uf(h,48,128046,f)}b=b+1|0}}while(0);l=g;return}function Gi(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+48|0;if((l|0)>=(m|0))W(48);z=E+40|0;C=E+32|0;B=E+24|0;A=E+16|0;k=E;y=E+44|0;x=(g|0)!=0;if((e|0)<=-1){c[k>>2]=155203;c[k+4>>2]=155217;c[k+8>>2]=137;Uf(0,0,159675,k);Ub()}s=b;t=b+e|0;u=a+4|0;uN(u,a+8|0,(j|0?0:262144)+e|0);a:do if(c[u>>2]|0){c[a+12>>2]=0;v=a+16|0;c[v>>2]=0;w=a+20|0;r=(i|0)==173;n=x?0:e;g=s;b:while(1){e=b+n|0;while(1){i=t-g|0;if(i>>>0<=3){g=0;break a}k=g-s|0;if((k|0)==(n|0)){D=8;break}if((k|0)>(n|0))Uf(f,24,148012,A);k=wN(g,e)|0;i=g+(i>>>0>k>>>0?k:i)|0;k=i;g=t-k|0;if(!g)break b;q=k-s|0;p=n-q|0;g=g>>>0>p>>>0?p:g;if((n|0)>(q|0)){q=g;break}else g=i+g|0}if((D|0)==8){D=0;c[y>>2]=0;k=g;g=vN(h,k,i,y,f)|0;k=k+(i>>>0>h>>>0?h:i)|0;if((g|0)<0)break a;else{q=g;n=k-s+g|0}}g=c[w>>2]|0;i=c[v>>2]|0;if((g|0)<=(i|0)){g=g+1|0;i=xN(c[a>>2]|0,g,68)|0;if(!i){g=-12;break a}c[a>>2]=i;e=c[w>>2]|0;iX(i+(e*68|0)|0,0,(g-e|0)*68|0)|0;e=c[a>>2]|0;o=c[v>>2]|0;c[e+(o*68|0)+56>>2]=1024;p=Jh(1024,4)|0;c[e+(o*68|0)+60>>2]=p;if(!p){g=-12;break a}c[w>>2]=g;i=c[v>>2]|0}p=c[a>>2]|0;o=p+(i*68|0)|0;e=k;g=yN(e,q,u,o,j)|0;if((g|0)<0)break a;if(x?(q|0)!=0&(q|0)!=(g|0):0){c[C>>2]=g;c[C+4>>2]=q;Uf(f,48,148080,C)}c[v>>2]=(c[v>>2]|0)+1;k=t-k|0;g=e+(k>>>0>g>>>0?g:k)|0;e=g;k=t-e|0;if(k>>>0>3){if((k|0)<4)g=0;else g=eX(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0;g=(g|0)!=480&1}else g=1;g=zN(o,g)|0;c[p+(i*68|0)+12>>2]=g;g=AN(p+(i*68|0)+24|0,c[p+(i*68|0)+8>>2]|0,g)|0;if((g|0)<0)break a;if(r)g=BN(o,f)|0;else g=CN(o,f)|0;if((g|0)<1){if((g|0)<0){c[z>>2]=c[p+(i*68|0)+44>>2];Uf(f,16,148125,z)}}else if((c[p+(i*68|0)+4>>2]|0)>=1){g=e;continue}c[v>>2]=(c[v>>2]|0)+-1;g=e}if((c[v>>2]|0)>0)g=0;else{Uf(f,16,148055,B);g=-1094995529}}else g=-12;while(0);l=E;return g|0}function Hi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+32|0;if((l|0)>=(m|0))W(32);k=o;h=o+4|0;i=a+25656|0;j=a+25640|0;g=a+4|0;a=0;f=0;b=0;a:while(1){if((f|0)>=(c[i>>2]|0))break;d=c[j>>2]|0;e=d+(f*68|0)+44|0;b:do switch(c[e>>2]|0){case 8:case 7:{a=f;break}case 1:case 5:case 2:{d=Pi(h,(c[d+(f*68|0)+8>>2]|0)+1|0,(c[d+(f*68|0)+4>>2]|0)+-1|0)|0;if((d|0)<0){Uf(c[g>>2]|0,16,147979,k);if(!(c[(c[g>>2]|0)+580>>2]&8))break b;else{n=12;break a}}d=(b|0)!=0;if(!(d&(pN(h)|0)!=0?(b|0)==(c[e>>2]|0):0))a=f;if(!d)b=c[e>>2]|0;break}default:{}}while(0);f=f+1|0}if((n|0)==12)a=d;l=o;return a|0}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+34832|0;if((l|0)>=(m|0))W(34832);v=x+34824|0;u=x+34816|0;t=x+34808|0;s=x+34800|0;q=x+34784|0;j=x+34776|0;h=x+34768|0;i=x;o=a+25628|0;e=c[o>>2]|0;w=a+25636|0;g=c[w>>2]|0;f=e+(g*34768|0)|0;if(!g)n=(c[a+29560>>2]|0)==0;else n=0;r=n&1;d=e+(g*34768|0)+4|0;y=b+24|0;c[d>>2]=c[y>>2];c[d+4>>2]=c[y+4>>2];c[d+8>>2]=c[y+8>>2];c[d+12>>2]=c[y+12>>2];c[d+16>>2]=c[y+16>>2];d=Sl(a,f,b)|0;a:do if((d|0)>=0){if((c[e+(g*34768|0)+21836>>2]|0)>0){c[e+(g*34768|0)+23408>>2]=0;c[e+(g*34768|0)+23404>>2]=0;d=0;break}d=(c[e+(g*34768|0)+21808>>2]|0)==0;if(!d?(c[a+29560>>2]|0)!=0:0)k=11;else{if(c[a+29588>>2]|0){Uf(c[a+4>>2]|0,16,144279,h);d=-1094995529;break}if(d){h=a+29560|0;do if(c[h>>2]|0){if(c[w>>2]|0){d=Ki(a)|0;if((d|0)<0?c[(c[a+4>>2]|0)+580>>2]&8|0:0)break a;y=c[o>>2]|0;gX(i|0,y|0,34768)|0;gX(y|0,f|0,34768)|0;gX(f|0,i|0,34768)|0;f=c[o>>2]|0}e=a+24312|0;if(!(c[e>>2]|0)){d=-1094995529;break a}g=a+26384|0;d=(c[g>>2]|0)==0;if((c[a+26380>>2]|0)!=3){if(d){d=-1094995529;break a}d=si(a,c[o>>2]|0,1)|0;if((d|0)<0)break a;else{d=g;break}}if(!d){d=-1094995529;break a}if((c[a+27028>>2]|0)!=5){d=-1094995529;break a}Uf(a,24,144296,j);d=si(a,c[o>>2]|0,1)|0;yi((c[e>>2]|0)+4|0,2147483647,0);yi((c[e>>2]|0)+4|0,2147483647,1);c[e>>2]=0;if((d|0)<0)break a;else d=g}else d=a+26384|0;while(0);if(!(c[d>>2]|0)){d=a+24312|0;e=c[d>>2]|0;if(e|0?(c[a+25684>>2]|0)==0:0)yi(e+4|0,2147483647,(c[a+26380>>2]|0)==2&1);c[d>>2]=0;g=f;d=h}else{g=f;d=h}}else k=11}if((k|0)==11){g=f;d=a+29560|0}f=c[d>>2]|0;e=(f|0)==0;do if(e){if((g|0)!=(c[o>>2]|0)){c[q>>2]=144322;c[q+4>>2]=133479;c[q+8>>2]=2090;Uf(0,0,159675,q);Ub()}if((c[a+26384>>2]|0)==0?(p=c[(c[a+4>>2]|0)+732>>2]|0,(p|0)>7):0){if(!(c[a+27024>>2]|0)){d=0;break a}if((p|0)>15){if((c[g+840>>2]|0)==3){d=0;break a}if((p|0)>23){if((c[g+840>>2]|0)!=1){d=0;break a}if((p|0)>31)if((c[a+27028>>2]|0)==5)if((p|0)>47){d=0;break a}else break;else if((c[a+29716>>2]|0)<0|(p|0)>47){d=0;break a}else break}}}}while(0);do if(!n){y=c[(c[a+27180+(c[g+27776>>2]<<2)>>2]|0)+4>>2]|0;q=c[a+28212>>2]|0;d=c[q>>2]|0;if((d|0)==(c[y>>2]|0)?(c[q+64>>2]|0)==(c[y+64>>2]|0):0){if((c[a+28216>>2]|0)==(c[(c[a+27052+(d<<2)>>2]|0)+4>>2]|0))break;Uf(c[a+4>>2]|0,16,144369,t);d=-1094995529;break a}Uf(c[a+4>>2]|0,16,144341,s);d=-1094995529;break a}while(0);do if(e){d=Tl(a,g,b,r)|0;if((d|0)<0)break a}else{d=c[a+26380>>2]|0;e=c[g+21824>>2]|0;if((d|0)==(e|0)?(c[a+25684>>2]|0)==((c[b+64>>2]|0)==0|0):0){if(c[a+24312>>2]|0)break;d=c[a+4>>2]|0;c[v>>2]=f+1;Uf(d,16,144471,v);d=-1094995529;break a}y=c[a+4>>2]|0;c[u>>2]=d;c[u+4>>2]=e;Uf(y,16,144409,u);d=-1094995529;break a}while(0);d=Ul(a,g,b)|0;if((d|0)>=0){c[w>>2]=(c[w>>2]|0)+1;d=0}}while(0);l=x;return d|0}function Ji(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=h;f=c[(c[a+28>>2]|0)+20>>2]|0;if(c[a+696>>2]&1|0){e=a+592|0;b=c[e>>2]|0;do if(b|0){d=f+336|0;if(!(c[d>>2]|0)){kX((c[f>>2]|0)+36|0)|0;c[d>>2]=1;b=c[e>>2]|0;if(!b)break}if(!(c[b+60>>2]&1)){c[f+340>>2]=1;Rl(c[f>>2]|0)}}while(0);b=f+184|0;kX(b|0)|0;d=f+300|0;if((c[d>>2]|0)==4)Uf(a,24,144238,g);c[d>>2]=4;jX(f+60|0)|0;lX(b|0)|0}l=h;return}function Ki(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=w+16|0;d=w;i=c[a+4>>2]|0;v=a+25636|0;t=c[v>>2]|0;u=a+25628|0;j=c[u>>2]|0;b=j+21812|0;c[b>>2]=2147483647;if((t|0)<1|(c[i+592>>2]|0)!=0)b=0;else{k=t+-1|0;s=a+27008|0;h=c[s>>2]|0;if((c[j+(k*34768|0)+21792>>2]|0)>=(h|0)){c[d>>2]=133410;c[d+4>>2]=133479;c[d+8>>2]=2746;Uf(0,0,159675,d);Ub()}a:do if((t|0)!=1){if((t|0)<=0){c[e>>2]=133503;c[e+4>>2]=133479;c[e+8>>2]=2758;Uf(0,0,159675,e);Ub()}r=a+27012|0;b=0;while(1){if((b|0)==(t|0))break;f=c[r>>2]|0;e=N(h,f)|0;c[j+(b*34768|0)+596>>2]=0;g=N(f,c[j+(b*34768|0)+21792>>2]|0)|0;g=g+(c[j+(b*34768|0)+21788>>2]|0)|0;d=0;while(1){if((d|0)==(t|0))break;q=N(f,c[j+(d*34768|0)+21792>>2]|0)|0;q=q+(c[j+(d*34768|0)+21788>>2]|0)|0;q=(b|0)==(d|0)|(q|0)<(g|0)?e:(e|0)>(q|0)?q:e;d=d+1|0;e=q}c[j+(b*34768|0)+21812>>2]=e;b=b+1|0}Pd[c[i+704>>2]&7](i,7,j,0,t,34768)|0;e=c[u>>2]|0;c[a+27004>>2]=c[e+(k*34768|0)+21792>>2];d=e+596|0;b=1;while(1){if((b|0)==(t|0))break;c[d>>2]=(c[d>>2]|0)+(c[e+(b*34768|0)+596>>2]|0);b=b+1|0}b=a+25708|0;if(!(c[b>>2]|0))b=0;else{c[b>>2]=0;g=a+26376|0;h=a+26380|0;f=0;while(1){if((f|0)==(t|0)){b=0;break a}q=c[u>>2]|0;i=q+(f*34768|0)|0;j=q+(f*34768|0)+21792|0;o=c[j>>2]|0;n=c[s>>2]|0;k=(o|0)<(n|0)?o+1|0:n;n=c[((o|0)>=(n|0)?r:q+(f*34768|0)+21788|0)>>2]|0;o=q+(f*34768|0)+21804|0;p=k+-1|0;q=q+(f*34768|0)+21800|0;e=c[o>>2]|0;while(1){if((e|0)>=(k|0))break;c[j>>2]=e;if((e|0)>(c[o>>2]|0))b=0;else b=c[q>>2]|0;if((e|0)==(p|0))d=n;else d=c[r>>2]|0;fk(a,i,b,d);if((c[g>>2]|0)==0?(c[h>>2]|0)==3:0)b=1;else b=2;e=b+e|0}f=f+1|0}}}else{c[b>>2]=N(c[a+27012>>2]|0,h)|0;c[a+25708>>2]=0;b=ek(i,j)|0;c[a+27004>>2]=c[(c[u>>2]|0)+21792>>2]}while(0);c[v>>2]=0}l=w;return b|0}function Li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=e;c[f>>2]=d;rj(1,a,b,f);l=e;return}function Mi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+32|0;if((l|0)>=(m|0))W(32);u=w+16|0;t=w;n=a+36|0;o=a+40|0;p=a+44|0;q=a+176|0;r=a+208|0;s=a+224|0;k=a+240|0;i=0;a:while(1){if((Hj(b)|0)<=16){f=i;break}if(!(Ij(b,16)|0)){f=i;break}else h=0;while(1){if((Hj(b)|0)<8){f=-1094995529;break a}h=(Ij(b,8)|0)+h|0;if((Jj(b,8)|0)!=255){g=0;break}}do{if((Hj(b)|0)<8){f=-1094995529;break a}g=(Ij(b,8)|0)+g|0}while((Jj(b,8)|0)==255);f=Hj(b)|0;if(g>>>0>((f|0)/8|0)>>>0){v=9;break}j=(Kj(b)|0)+(g<<3)|0;do switch(h|0){case 1:{f=Lj(a,b,d,e)|0;v=21;break}case 4:{f=Mj(a,b,g)|0;v=21;break}case 5:{f=Nj(n,b,g)|0;v=21;break}case 6:{Oj(o,b);f=i;break}case 0:{f=Pj(p,b,d,e)|0;v=21;break}case 45:{Qj(q,b);f=i;break}case 47:{Rj(r,b);f=i;break}case 56:{Sj(s,b);f=i;break}case 147:{Tj(k,b);f=i;break}default:{c[u>>2]=h;Uf(e,48,133228,u);f=i}}while(0);if((v|0)==21){v=0;g=(f|0)<0;if(g&(f|0)!=-1397768184)break;else f=g?f:i}Uj(b,j-(Kj(b)|0)|0);Vj(b);i=f}if((v|0)==9){c[t>>2]=h;c[t+4>>2]=g<<3;c[t+8>>2]=f;Uf(e,16,133191,t);f=-1094995529}l=w;return f|0}function Ni(b,f){b=b|0;f=f|0;var g=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;p=l;l=l+96|0;if((l|0)>=(m|0))W(96);j=p+80|0;i=p+72|0;g=p+40|0;o=p+32|0;n=p+24|0;k=p+16|0;q=p+8|0;Uf(f,48,132936,p);c[q>>2]=d[b>>0];Uf(f,48,132969,q);switch(a[b>>0]|0){case 0:{q=b+1|0;c[k>>2]=d[q>>0];Uf(f,48,132996,k);switch(a[q>>0]|0){case 2:{c[n>>2]=e[b+2>>1];Uf(f,48,133030,n);break}case 3:{c[o>>2]=e[b+4>>1];Uf(f,48,133064,o);break}default:{}}t=+(d[b+7>>0]|0)/255.0;s=+(d[b+8>>0]|0)/255.0;r=+(d[b+9>>0]|0)/255.0;h[g>>3]=+(d[b+6>>0]|0)/255.0;h[g+8>>3]=t;h[g+16>>3]=s;h[g+24>>3]=r;Uf(f,48,133099,g);break}case 1:{q=b+10|0;c[i>>2]=d[q>>0];Uf(f,48,133144,i);if(!(a[q>>0]|0)){h[j>>3]=+(e[b+12>>1]|0)/100.0;Uf(f,48,133167,j)}break}default:{}}l=p;return}function Oi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0;R=l;l=l+240|0;if((l|0)>=(m|0))W(240);L=R+152|0;I=R+144|0;H=R+120|0;F=R+104|0;D=R+96|0;A=R+88|0;z=R+80|0;w=R+72|0;y=R+64|0;x=R+56|0;v=R+48|0;t=R+40|0;u=R+32|0;s=R+24|0;r=R+16|0;q=R+8|0;j=R;M=R+228|0;O=th(5300)|0;c[M>>2]=O;P=O;a:do if(!O)g=-12;else{Q=O+4|0;K=c[Q>>2]|0;h=c[a>>2]|0;g=(c[a+4>>2]|0)-h|0;i=K+5296|0;c[i>>2]=g;if(g>>>0>4096){Uf(d,48,132077,j);c[i>>2]=4096;h=c[a>>2]|0;g=4096}gX(K+1200|0,h|0,g|0)|0;p=gj(a,8)|0;g=fj(a)|0;h=fj(a)|0;i=fj(a)|0;j=fj(a)|0;k=fj(a)|0;n=fj(a)|0;tj(a);o=gj(a,8)|0;J=dj(a)|0;b:do if(J>>>0>31){c[q>>2]=J;Uf(d,16,131164,q)}else{c[K>>2]=J;c[K+1164>>2]=24;G=K+4|0;c[G>>2]=p;c[K+1196>>2]=h<<1|g|i<<2|j<<3|k<<4|n<<5;E=K+8|0;c[E>>2]=o;c[K+112>>2]=-1;i=K+672|0;j=K+768|0;k=K+668|0;iX(i|0,16,480)|0;c[k>>2]=0;c[K+128>>2]=2;switch(p|0){case 144:case 138:case 128:case 118:case 86:case 83:case 44:case 244:case 122:case 110:case 100:{g=dj(a)|0;c[K+12>>2]=g;if(g>>>0>3){c[r>>2]=g;Li(d,132110,r);break b}if((g|0)==3?(B=fj(a)|0,c[K+1192>>2]=B,B|0):0){Uf(d,16,132131,s);break b}B=K+1184|0;c[B>>2]=(cj(a)|0)+8;g=cj(a)|0;h=g+8|0;c[K+1188>>2]=h;if((h|0)!=(c[B>>2]|0)){Li(d,132172,u);break b}if(g>>>0>6){c[t>>2]=h;c[t+4>>2]=h;Uf(d,16,132208,t);break b}c[K+16>>2]=fj(a)|0;g=kj(a,K,0,1,i,j)|0;if((g|0)<0)break b;c[k>>2]=c[k>>2]|g;break}default:{c[K+12>>2]=1;c[K+1184>>2]=8;c[K+1188>>2]=8}}g=cj(a)|0;if(g>>>0>12){c[v>>2]=g;Uf(d,16,132242,v);break}c[K+20>>2]=g+4;g=dj(a)|0;v=K+24|0;c[v>>2]=g;c:do switch(g|0){case 0:{g=cj(a)|0;if(g>>>0>12){c[x>>2]=g;Uf(d,16,132293,x);break b}else{c[K+28>>2]=g+4;break c}}case 1:{c[K+32>>2]=fj(a)|0;c[K+36>>2]=hj(a)|0;c[K+40>>2]=hj(a)|0;g=cj(a)|0;i=K+44|0;c[i>>2]=g;if(g>>>0>255){c[y>>2]=g;Uf(d,16,132332,y);break b}else h=0;while(1){if((h|0)>=(g|0))break c;b[K+148+(h<<1)>>1]=hj(a)|0;h=h+1|0;g=c[i>>2]|0}}case 2:break;default:{c[w>>2]=g;Uf(d,16,132362,w);break b}}while(0);g=dj(a)|0;t=K+48|0;c[t>>2]=g;y=(c[d+20>>2]|0)==844516691;B=(g|0)>2?g:2;c[t>>2]=y?B:g;g=y?B:g;if((g|0)>16){c[z>>2]=g;Uf(d,16,132383,z);break}c[K+52>>2]=fj(a)|0;s=K+56|0;c[s>>2]=(cj(a)|0)+1;u=K+60|0;c[u>>2]=(cj(a)|0)+1;g=fj(a)|0;B=K+64|0;c[B>>2]=g;h=c[u>>2]|0;if(h>>>0>1073741822){Uf(d,16,132413,A);break}c[u>>2]=N(h,2-g|0)|0;if(!g)g=fj(a)|0;else g=0;r=K+68|0;c[r>>2]=g;g=c[s>>2]|0;if((g>>>0<=134217726?(C=c[u>>2]|0,C>>>0<=134217726):0)?(Vh(g<<4,C<<4,0,d)|0)==0:0){q=K+72|0;c[q>>2]=fj(a)|0;D=fj(a)|0;g=K+76|0;c[g>>2]=D;d:do if(!D){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0}else{i=cj(a)|0;j=cj(a)|0;k=cj(a)|0;n=cj(a)|0;o=c[s>>2]<<4;p=c[u>>2]<<4;if(c[d+64>>2]&65536|0){c[F>>2]=i;c[F+4>>2]=j;c[F+8>>2]=k;c[F+12>>2]=n;Uf(d,48,132456,F);H=K+80|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;break}h=c[K+12>>2]|0;g=(h+-1|0)>>>0<2&1;h=2-(c[B>>2]|0)<<((h|0)==1&1);F=536870911>>>g;do if((!(i>>>0>F>>>0|j>>>0>F>>>0)?(F=536870911/(h>>>0)|0,!(k>>>0>F>>>0|n>>>0>F>>>0)):0)?j+i<<g>>>0<o>>>0:0){if((N(h,n+k|0)|0)>>>0>=p>>>0)break;c[K+80>>2]=i<<g;c[K+84>>2]=j<<g;c[K+88>>2]=N(h,k)|0;c[K+92>>2]=N(h,n)|0;break d}while(0);c[H>>2]=i;c[H+4>>2]=j;c[H+8>>2]=k;c[H+12>>2]=n;c[H+16>>2]=o;c[H+20>>2]=p;Uf(d,16,132522,H);break b}while(0);H=fj(a)|0;i=K+96|0;c[i>>2]=H;if(H|0?(uj(a,d,K)|0)<0:0)break;g=vj(a)|0;if((g|0)<0?(f=(f|0)!=0,c[I>>2]=c[i>>2]|0?132563:148306,c[I+4>>2]=0-g,Uf(d,f?24:16,132567,I),!f):0)break;A=(c[K+660>>2]|0)==0;e:do if(A){if((c[t>>2]|0)==0?(c[d+568>>2]|0)<=0:0)break;h=K+664|0;c[h>>2]=15;g=0;while(1){if(g>>>0>=16)break e;if((c[102104+(g<<3)>>2]|0)==(c[E>>2]|0))break;g=g+1|0}I=(c[102104+(g<<3)+4>>2]|0)/(N(c[u>>2]|0,c[s>>2]|0)|0)|0;c[h>>2]=(I|0)<15?I:15}while(0);g=K+104|0;if(!(c[g>>2]|0))c[g>>2]=1;if(c[d+576>>2]&1|0){z=c[G>>2]|0;y=c[E>>2]|0;x=c[v>>2]|0;w=c[t>>2]|0;v=c[s>>2]|0;u=c[u>>2]|0;if(!(c[B>>2]|0))t=c[r>>2]|0?132591:132598;else t=132606;o=c[q>>2]|0?132610:262540;p=c[K+80>>2]|0;q=c[K+84>>2]|0;r=c[K+88>>2]|0;s=c[K+92>>2]|0;h=c[i>>2]|0?132563:262540;i=132614+((c[K+12>>2]|0)*5|0)|0;if(!(c[K+132>>2]|0)){k=0;n=0}else{k=c[K+136>>2]|0;n=c[K+140>>2]|0}j=c[K+1184>>2]|0;if(A)g=-1;else g=c[K+664>>2]|0;c[L>>2]=J;c[L+4>>2]=z;c[L+8>>2]=y;c[L+12>>2]=x;c[L+16>>2]=w;c[L+20>>2]=v;c[L+24>>2]=u;c[L+28>>2]=t;c[L+32>>2]=o;c[L+36>>2]=p;c[L+40>>2]=q;c[L+44>>2]=r;c[L+48>>2]=s;c[L+52>>2]=h;c[L+56>>2]=i;c[L+60>>2]=k;c[L+64>>2]=n;c[L+68>>2]=j;c[L+72>>2]=g;Uf(d,48,132634,L)}g=e+(J<<2)|0;h=c[g>>2]|0;do if(h|0){if(IT(c[h+4>>2]|0,c[Q>>2]|0,c[O+8>>2]|0)|0)break;zg(M);g=0;break a}while(0);wj(e,J);c[g>>2]=P;g=0;break a}Uf(d,16,132430,D)}while(0);zg(M);g=-1094995529}while(0);l=R;return g|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;return sj(a,b,c>>>0>268435455?-8:c<<3)|0}function Qi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+128|0;if((l|0)>=(m|0))W(128);E=F+56|0;q=F+48|0;p=F+40|0;n=F+32|0;o=F+24|0;k=F+16|0;i=F+8|0;f=F;z=F+116|0;D=cj(a)|0;a:do if(D>>>0<=255){f=th(173836)|0;c[z>>2]=f;C=f;if(!f)f=-12;else{B=c[f+4>>2]|0;g=c[a>>2]|0;f=(c[a+4>>2]|0)-g|0;h=B+4824|0;c[h>>2]=f;if(f>>>0>4096){c[i>>2]=f;c[i+4>>2]=4096;Uf(b,48,131119,i);c[h>>2]=4096;g=c[a>>2]|0;f=4096}gX(B+728|0,g|0,f|0)|0;f=dj(a)|0;c[B>>2]=f;b:do if(f>>>0<=31?(j=c[d+(f<<2)>>2]|0,(j|0)!=0):0){x=c[j+4>>2]|0;y=x+1184|0;f=c[y>>2]|0;if((f|0)>14){c[o>>2]=f;Uf(b,16,131188,o);f=-1094995529;break}switch(f|0){case 13:case 11:{c[n>>2]=f;ej(b,131215,n);f=-1163346256;break b}default:{}}v=B+4|0;c[v>>2]=fj(a)|0;c[B+8>>2]=fj(a)|0;u=cj(a)|0;w=B+12|0;c[w>>2]=u+1;if((u|0)>0){c[B+16>>2]=cj(a)|0;Uf(b,16,131247,p)}t=B+20|0;c[t>>2]=(cj(a)|0)+1;s=cj(a)|0;u=B+24|0;c[u>>2]=s+1;if(((c[t>>2]|0)+-1|s)>>>0>31){Uf(b,16,131266,q);f=-1094995529;break}s=(c[y>>2]|0)*6|0;k=B+28|0;c[k>>2]=fj(a)|0;c[B+32>>2]=gj(a,2)|0;s=s+-22|0;n=B+36|0;c[n>>2]=s+(hj(a)|0);o=B+40|0;c[o>>2]=s+(hj(a)|0);s=hj(a)|0;j=B+44|0;c[j>>2]=s;if((s+12|0)>>>0>24)f=-1094995529;else{p=B+52|0;c[p>>2]=fj(a)|0;q=B+56|0;c[q>>2]=fj(a)|0;r=B+60|0;c[r>>2]=fj(a)|0;s=B+64|0;c[s>>2]=0;i=B+68|0;f=i;g=x+672|0;h=f+96|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));f=B+164|0;gX(f|0,x+768|0,384)|0;if((ij(a)|0)<(e|0)?(jj(x,b)|0)!=0:0){c[s>>2]=fj(a)|0;f=kj(a,x,B,0,i,f)|0;if((f|0)<0)break;a=hj(a)|0;h=B+48|0;c[h>>2]=a;if((a+12|0)>>>0>24){f=-1094995529;break}f=c[j>>2]|0}else{f=c[j>>2]|0;h=B+48|0;c[h>>2]=f}lj(B,0,f,c[y>>2]|0);lj(B,1,c[h>>2]|0,c[y>>2]|0);mj(B,x);g=c[j>>2]|0;f=c[h>>2]|0;if((g|0)!=(f|0))c[B+724>>2]=1;if(c[b+576>>2]&1|0){h=c[B>>2]|0;i=c[v>>2]|0?131292:131298;j=c[w>>2]|0;v=c[t>>2]|0;w=c[u>>2]|0;x=c[k>>2]|0?131304:262540;y=c[n>>2]|0;e=c[o>>2]|0;a=c[p>>2]|0?131313:262540;z=c[q>>2]|0?131318:262540;A=c[r>>2]|0?131325:262540;B=c[s>>2]|0?131330:262540;c[E>>2]=D;c[E+4>>2]=h;c[E+8>>2]=i;c[E+12>>2]=j;c[E+16>>2]=v;c[E+20>>2]=w;c[E+24>>2]=x;c[E+28>>2]=y;c[E+32>>2]=e;c[E+36>>2]=g;c[E+40>>2]=f;c[E+44>>2]=a;c[E+48>>2]=z;c[E+52>>2]=A;c[E+56>>2]=B;Uf(b,48,131337,E)}nj(d,D);c[d+128+(D<<2)>>2]=C;f=0;break a}}else A=8;while(0);if((A|0)==8){c[k>>2]=f;Uf(b,16,131164,k);f=-1094995529}zg(z)}}else{c[f>>2]=D;Uf(b,16,150812,f);f=-1094995529}while(0);l=F;return f|0}function Ri(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;if(b|0){c[a>>2]=c[b>>2];c[a+4>>2]=b+4;d=0;while(1){if((d|0)==2)break;c[a+8+(d<<2)>>2]=c[b+36+(d<<2)>>2];c[a+16+(d<<2)>>2]=c[b+68+(d<<2)>>2];d=d+1|0}c[a+24>>2]=c[b+48>>2];c[a+28>>2]=c[b+636>>2]}return}function Si(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;$=l;l=l+80|0;if((l|0)>=(m|0))W(80);D=$+64|0;v=$+48|0;u=$+40|0;t=$+32|0;s=$+24|0;r=$+16|0;o=$+8|0;n=$;S=f+568|0;p=c[S>>2]|0;V=f+560|0;q=c[V>>2]|0;a:do if((((c[(c[f>>2]|0)+572>>2]|0?(k=f+572|0,c[k>>2]|0):0)?(c[(c[f>>2]|0)+680>>2]|0)==0:0)?Ti(f)|0:0)?(U=f+556|0,j=c[U>>2]|0,h=c[f>>2]|0,(c[k>>2]|0)!=(N(j*3|0,(c[h+272>>2]|0)+(c[h+268>>2]|0)|0)|0)):0){g=f+672|0;E=c[g>>2]|0;X=E+32|0;_=f+580|0;Y=f+564|0;i=0;while(1){if((i|0)>=(j|0))break;if((a[(c[_>>2]|0)+((N((c[V>>2]|0)+-1|0,c[Y>>2]|0)|0)+i)>>0]|0)!=127)break;i=i+1|0}if(((i|0)==(j|0)?(c[h+16>>2]|0)==2:0)?((c[h+96>>2]|0)+15&16|0)!=0:0){h=c[f>>2]|0;if((c[k>>2]|0)==(N((c[U>>2]|0)*3|0,(c[h+268>>2]|0)+1+(c[h+272>>2]|0)|0)|0)){Uf(h,48,128406,n);break}}C=f+704|0;i=c[C>>2]|0;do if(i|0){Q=c[g>>2]|0;if(((c[i+68>>2]|0)==(c[Q+68>>2]|0)?(c[i+72>>2]|0)==(c[Q+72>>2]|0):0)?(c[i+80>>2]|0)==(c[Q+80>>2]|0):0)break;Uf(h,24,128435,o);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[C+24>>2]=0;c[C+28>>2]=0}while(0);B=f+736|0;h=c[B>>2]|0;do if(h|0){Q=c[g>>2]|0;if(((c[h+68>>2]|0)==(c[Q+68>>2]|0)?(c[h+72>>2]|0)==(c[Q+72>>2]|0):0)?(c[h+80>>2]|0)==(c[Q+80>>2]|0):0)break;Uf(c[f>>2]|0,24,128485,r);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[B+24>>2]=0;c[B+28>>2]=0}while(0);if(!((c[f+680>>2]|0)!=0?(c[f+688>>2]|0)!=0:0))T=27;b:do if((T|0)==27){Uf(c[f>>2]|0,16,128531,s);i=(N(p<<3,q)|0)+16|0;h=0;while(1){if((h|0)>=2)break b;k=f+768+(h<<2)|0;c[k>>2]=th(N(c[Y>>2]<<2,c[V>>2]|0)|0)|0;j=th(i)|0;c[f+776+(h<<2)>>2]=j;k=c[k>>2]|0;if((j|0)==0|(k|0)==0){g=0;break}c[f+688+(h<<2)>>2]=c[k+4>>2];c[f+680+(h<<2)>>2]=(c[j+4>>2]|0)+16;h=h+1|0}while(1){if((g|0)==2)break a;zg(f+768+(g<<2)|0);zg(f+776+(g<<2)|0);c[f+688+(g<<2)>>2]=0;c[f+680+(g<<2)>>2]=0;g=g+1|0}}while(0);c:do if(c[(c[f>>2]|0)+576>>2]&1024|0){h=0;while(1){if((h|0)<(c[V>>2]|0))i=0;else break c;while(1){if((i|0)>=(c[U>>2]|0))break;P=d[(c[_>>2]|0)+((N(c[Y>>2]|0,h)|0)+i)>>0]|0;Q=c[f>>2]|0;c[t>>2]=P;Uf(Q,48,128558,t);i=i+1|0}Uf(c[f>>2]|0,48,128563,u);h=h+1|0}}while(0);P=f+552|0;Q=f+548|0;n=1;while(1){if((n|0)==4)break;p=9<<n;q=1<<n;i=0;h=c[P>>2]|0;while(1){o=h+-1|0;if((h|0)<=0)break;j=(c[_>>2]|0)+(c[(c[Q>>2]|0)+(o<<2)>>2]|0)|0;k=d[j>>0]|0;h=(p&k|0)==0?i:1;if(!h)a[j>>0]=q|k;i=(k&1|0)==0?h:0;h=o}n=n+1|0}O=f+792|0;d:do if(c[O>>2]|0){i=0;h=c[P>>2]|0;while(1){o=h+-1|0;if((h|0)<=0)break d;j=(c[_>>2]|0)+(c[(c[Q>>2]|0)+(o<<2)>>2]|0)|0;k=a[j>>0]|0;n=k&255;h=(n&98|0)==0?((n&16|0)==0?i:0):1;if(!h)a[j>>0]=k|2;i=(n&1|0)==0?h:0;h=o}}while(0);e:do if(c[(c[f>>2]|0)+580>>2]&8|0){h=1;n=(c[P>>2]|0)+-2|0;while(1){if((n|0)<((c[U>>2]|0)+100|0))break e;M=c[Q>>2]|0;L=c[_>>2]|0;i=L+(c[M+(n<<2)>>2]|0)|0;j=a[i>>0]|0;k=j&255;h=(k&1|0)==0?h:1;if(j<<24>>24!=127?(a[L+(c[M+(n+1<<2)>>2]|0)>>0]|0)==127:0){if((k&112|0)!=0|(h|0)==0)T=60}else if(!h)T=60;if((T|0)==60){T=0;a[i>>0]=j|14;h=0}n=n+-1|0}}while(0);M=f+600|0;h=9999999;n=1;while(1){if((n|0)==4){h=0;n=0;break}o=1<<n;p=102088+(n+-1<<2)|0;i=c[P>>2]|0;while(1){k=i+-1|0;if((i|0)<=0)break;L=c[(c[Q>>2]|0)+(k<<2)>>2]|0;i=(c[_>>2]|0)+L|0;j=d[i>>0]|0;K=c[M>>2]|0;if(!((K|0)!=0?(a[K+L>>0]|0)!=0:0))h=h+1|0;h=(o&j|0)==0?h:0;do if(!(c[O>>2]|0)){if((h|0)>=50)break;a[i>>0]=o|j}else{if((h|0)>=(c[p>>2]|0))break;a[i>>0]=o|j}while(0);h=(j&1|0)==0?h:9999999;i=k}n=n+1|0}while(1){j=c[P>>2]|0;if((n|0)>=(j|0))break;i=(c[_>>2]|0)+(c[(c[Q>>2]|0)+(n<<2)>>2]|0)|0;j=d[i>>0]|0;k=j&14;if(!(j&1)){a[i>>0]=h|j;h=k|h}else h=k;n=n+1|0}f:do if(!(c[O>>2]|0)){i=0;h=j;while(1){if((i|0)>=(h|0))break f;h=(c[_>>2]|0)+(c[(c[Q>>2]|0)+(i<<2)>>2]|0)|0;L=d[h>>0]|0;a[h>>0]=(L&14|0)==0?L:L|14;i=i+1|0;h=c[P>>2]|0}}else h=j;while(0);i=0;j=0;k=0;n=0;while(1){if((n|0)>=(h|0))break;L=d[(c[_>>2]|0)+(c[(c[Q>>2]|0)+(n<<2)>>2]|0)>>0]|0;i=(L>>>2&1)+i|0;j=(L>>>3&1)+j|0;k=(L>>>1&1)+k|0;n=n+1|0}L=c[f>>2]|0;K=(Ui(c[(c[g>>2]|0)+88>>2]|0)|0)<<24>>24;c[v>>2]=i;c[v+4>>2]=k;c[v+8>>2]=j;c[v+12>>2]=K;Uf(L,32,128565,v);j=(Vi(f)|0)!=0;j=j?1:12296;L=f+696|0;i=0;while(1){h=c[P>>2]|0;if((i|0)>=(h|0))break;h=c[(c[Q>>2]|0)+(i<<2)>>2]|0;if((a[(c[_>>2]|0)+h>>0]&12)==12)c[(c[L>>2]|0)+(h<<2)>>2]=j;i=i+1|0}K=c[C>>2]|0;if(!((K|0)!=0?(c[K>>2]|0)!=0:0))T=92;g:do if((T|0)==92){K=c[B>>2]|0;if((K|0)!=0?(c[K>>2]|0)!=0:0)break;else j=0;while(1){if((j|0)>=(h|0))break g;i=(c[L>>2]|0)+(c[(c[Q>>2]|0)+(j<<2)>>2]<<2)|0;if(!(c[i>>2]&7)){c[i>>2]=1;h=c[P>>2]|0}j=j+1|0}}while(0);w=f+608|0;x=f+612|0;y=f+800|0;z=f+804|0;A=f+608|0;r=0;while(1){h=c[V>>2]|0;if((r|0)>=(h|0))break;q=r<<1;p=0;while(1){if((p|0)>=(c[U>>2]|0))break;i=(N(c[Y>>2]|0,r)|0)+p|0;j=c[(c[L>>2]|0)+(i<<2)>>2]|0;h=c[C>>2]|0;if(!h)h=0;else h=(c[h>>2]|0)!=0;k=(h^1)&1;o=h?1:2;K=d[(c[_>>2]|0)+i>>0]|0;if(!((K&2|0)==0|(K&8|j&7|0)!=0)){h:do if(!(j&64)){K=f+680+(k<<2)|0;h=(N(c[S>>2]|0,q)|0)+(p<<1)|0;c[w>>2]=b[(c[K>>2]|0)+(h<<2)>>1];c[x>>2]=b[(c[K>>2]|0)+(h<<2)+2>>1];h=0}else{j=c[S>>2]|0;n=(N(j,r)|0)+p<<1;i=f+680+(k<<2)|0;h=0;while(1){if((h|0)==4){h=1;break h}J=h&1|n;I=h>>1;c[f+608+(h<<3)>>2]=b[(c[i>>2]|0)+((N(j,I)|0)+J<<2)>>1];K=c[S>>2]|0;c[f+608+(h<<3)+4>>2]=b[(c[i>>2]|0)+((N(K,I)|0)+J<<2)+2>>1];h=h+1|0;j=K}}while(0);Yd[c[y>>2]&1](c[z>>2]|0,0,o,h,A,p,r,0,0)}p=p+1|0}r=r+1|0}i:do if((c[(c[g>>2]|0)+88>>2]|0)==3){q=f+784|0;r=f+640|0;s=f+644|0;t=f+786|0;u=f+740|0;v=f+744|0;p=0;j:while(1){if((p|0)>=(h|0)){R=h;break i}o=p<<1;n=0;while(1){if((n|0)>=(c[U>>2]|0))break;k=(N(o,c[S>>2]|0)|0)+(n<<1)|0;K=(N(c[Y>>2]|0,p)|0)+n|0;if(!((a[(c[_>>2]|0)+K>>0]&10)!=10?1:(c[(c[L>>2]|0)+(K<<2)>>2]&7|0)!=0)){K=c[C>>2]|0;if((K|0)!=0?(c[K>>2]|0)!=0:0)h=3;else h=2;K=c[B>>2]|0;if(!((K|0)!=0?(c[K>>2]|0)!=0:0))h=h&1;i=b[q>>1]|0;if(!(i<<16>>16)){c[w>>2]=0;c[x>>2]=0;c[r>>2]=0;i=0}else{i=i&65535;j=e[t>>1]|0;if((c[(c[f>>2]|0)+16>>2]|0)==27)break j;Wi(c[u>>2]|0,p,0);K=c[v>>2]|0;I=b[K+(k<<2)>>1]|0;c[w>>2]=(N(I,j)|0)/(i|0)|0;K=b[K+(k<<2)+2>>1]|0;c[x>>2]=(N(K,j)|0)/(i|0)|0;J=j-i|0;c[r>>2]=(N(J,I)|0)/(i|0)|0;i=(N(J,K)|0)/(i|0)|0}c[s>>2]=i;Yd[c[y>>2]&1](c[z>>2]|0,0,h,0,A,n,p,0,0)}n=n+1|0}p=p+1|0;h=c[V>>2]|0}c[D>>2]=128616;c[D+4>>2]=128655;c[D+8>>2]=1212;Uf(0,0,159675,D);Ub()}else{Xi(f);R=c[V>>2]|0}while(0);K=E+36|0;J=E+40|0;B=f+588|0;C=f+592|0;D=f+596|0;z=0;while(1){if((z|0)>=(R|0))break;E=z<<4;F=z<<3;A=0;while(1){if((A|0)>=(c[U>>2]|0))break;G=(N(c[Y>>2]|0,z)|0)+A|0;if(!((c[(c[L>>2]|0)+(G<<2)>>2]&7|0)!=0?(c[O>>2]|0)!=0:0))T=140;do if((T|0)==140){T=0;y=c[g>>2]|0;n=c[X>>2]|0;o=(c[y>>2]|0)+(A<<4)+(N(E,n)|0)|0;p=c[y+4>>2]|0;w=A<<3;H=c[K>>2]|0;q=N(H,F)|0;y=c[y+8>>2]|0;I=c[J>>2]|0;x=N(I,F)|0;r=c[S>>2]|0;s=(c[B>>2]|0)+((N(r,z)|0)+A<<1<<1)|0;j=0;while(1){if((j|0)==4)break;t=j<<3&8;u=j>>>1<<3;k=0;h=0;while(1){if((k|0)==8)break;v=N(n,k+u|0)|0;i=0;while(1){if((i|0)==8)break;aa=h+(d[o+(i+t+v)>>0]|0)|0;i=i+1|0;h=aa}k=k+1|0}b[s+((N(r,j>>1)|0)+(j&1)<<1)>>1]=(h+4|0)>>>3;j=j+1|0}q=p+w+q|0;p=y+w+x|0;if(!y)break;else{h=0;i=0;k=0}while(1){if((k|0)==8)break;n=N(H,k)|0;o=N(I,k)|0;j=0;while(1){if((j|0)==8)break;aa=i+(d[q+(n+j)>>0]|0)|0;y=h+(d[p+(o+j)>>0]|0)|0;j=j+1|0;h=y;i=aa}k=k+1|0}b[(c[C>>2]|0)+(G<<1)>>1]=(i+4|0)>>>3;b[(c[D>>2]|0)+(G<<1)>>1]=(h+4|0)>>>3}while(0);A=A+1|0}z=z+1|0}Yi(f,c[B>>2]|0,c[U>>2]<<1,R<<1,c[S>>2]|0,1);Yi(f,c[C>>2]|0,c[U>>2]|0,c[V>>2]|0,c[Y>>2]|0,0);Yi(f,c[D>>2]|0,c[U>>2]|0,c[V>>2]|0,c[Y>>2]|0,0);Zi(c[B>>2]|0,c[U>>2]<<1,c[V>>2]<<1,c[S>>2]|0);n=0;while(1){h=c[V>>2]|0;if((n|0)>=(h|0))break;i=n<<4;j=n<<3;h=0;while(1){if((h|0)>=(c[U>>2]|0))break;k=(N(c[Y>>2]|0,n)|0)+h|0;do if(!(c[(c[L>>2]|0)+(k<<2)>>2]&120)){if(!(a[(c[_>>2]|0)+k>>0]&2))break;T=c[g>>2]|0;R=(c[T>>2]|0)+(h<<4)+(N(i,c[X>>2]|0)|0)|0;aa=h<<3;S=(c[T+4>>2]|0)+aa+(N(c[K>>2]|0,j)|0)|0;T=c[T+8>>2]|0;aa=T+aa+(N(c[J>>2]|0,j)|0)|0;T=(T|0)==0;_i(f,R,T?0:S,T?0:aa,h,n)}while(0);h=h+1|0}n=n+1|0}if(c[(c[f>>2]|0)+572>>2]&2|0?($i(f,c[c[g>>2]>>2]|0,c[U>>2]<<1,h<<1,c[X>>2]|0,1),aj(f,c[c[g>>2]>>2]|0,c[U>>2]<<1,c[V>>2]<<1,c[X>>2]|0,1),Z=c[g>>2]|0,c[Z+8>>2]|0):0){$i(f,c[Z+4>>2]|0,c[U>>2]|0,c[V>>2]|0,c[K>>2]|0,0);$i(f,c[(c[g>>2]|0)+8>>2]|0,c[U>>2]|0,c[V>>2]|0,c[J>>2]|0,0);aj(f,c[(c[g>>2]|0)+4>>2]|0,c[U>>2]|0,c[V>>2]|0,c[K>>2]|0,0);aj(f,c[(c[g>>2]|0)+8>>2]|0,c[U>>2]|0,c[V>>2]|0,c[J>>2]|0,0)}j=f+604|0;i=0;while(1){if((i|0)>=(c[P>>2]|0)){h=0;break}k=c[(c[Q>>2]|0)+(i<<2)>>2]|0;h=c[M>>2]|0;do if(h|0){if((a[(c[_>>2]|0)+k>>0]&14)==0?1:(c[(c[g>>2]|0)+88>>2]|0)==3)break;a[h+k>>0]=0}while(0);h=c[j>>2]|0;if(h|0)a[h+k>>0]=1;i=i+1|0}while(1){if((h|0)==2)break;zg(f+768+(h<<2)|0);zg(f+776+(h<<2)|0);c[f+688+(h<<2)>>2]=0;c[f+680+(h<<2)>>2]=0;h=h+1|0}h=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}while(0);l=$;return}function Ti(a){a=a|0;var b=0,d=0;d=c[(c[a>>2]|0)+592>>2]|0;if(!((d|0)!=0?(c[d+32>>2]|0)!=0:0))b=3;if((b|0)==3?c[a+672>>2]|0:0)return (c[a+700>>2]|0)==0|0;return 0}function Ui(a){a=a|0;switch(a|0){case 1:{a=73;break}case 2:{a=80;break}case 3:{a=66;break}case 4:{a=83;break}case 5:{a=105;break}case 6:{a=112;break}case 7:{a=98;break}default:a=63}return a|0}function Vi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=b+704|0;v=c[u>>2]|0;if((v|0)!=0?(c[v>>2]|0)!=0:0)if(!(c[(c[b>>2]|0)+572>>2]&256)){f=c[b+552>>2]|0;g=b+548|0;v=b+580|0;d=0;e=0;while(1){if((d|0)>=(f|0))break;t=e+((a[(c[v>>2]|0)+(c[(c[g>>2]|0)+(d<<2)>>2]|0)>>0]&12)!=12&1)|0;d=d+1|0;e=t}if((e|0)>=5){l=(e|0)>99?(e>>>0)/50|0:1;m=b+560|0;n=b+556|0;o=b+564|0;p=b+672|0;q=b+8|0;r=b+708|0;s=b+696|0;d=0;e=0;k=0;while(1){if((k|0)>=((c[m>>2]|0)+-1|0))break;t=k<<4;j=0;while(1){if((j|0)>=(c[n>>2]|0))break;f=(N(c[o>>2]|0,k)|0)+j|0;do if((a[(c[v>>2]|0)+f>>0]&12)!=12){e=e+1|0;if(!((e|0)%(l|0)|0)){g=c[p>>2]|0;if((c[g+88>>2]|0)!=1)if(!(c[(c[s>>2]|0)+(f<<2)>>2]&7)){d=d+-1|0;break}else{d=d+1|0;break}else{h=g+32|0;w=j<<4;f=c[h>>2]|0;i=N(f,t)|0;g=(c[g>>2]|0)+w+i|0;i=(c[c[u>>2]>>2]|0)+w+i|0;if((c[(c[b>>2]|0)+16>>2]|0)!=27){Wi(c[r>>2]|0,k,0);f=c[h>>2]|0}w=(Od[c[q>>2]&63](0,i,g,f,16)|0)+d|0;d=c[h>>2]|0;d=w-(Od[c[q>>2]&63](0,i,i+(d<<4)|0,d,16)|0)|0;break}}}while(0);j=j+1|0}k=k+1|0}d=(d|0)>0&1}else d=0}else d=0;else d=1;return d|0}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=j;e=c[a+12>>2]|0;if((e|0?(g=c[e+4>>2]|0,g|0):0)?(i=g+(d<<2)|0,(c[i>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;f=c[(c[(c[a>>2]|0)+28>>2]|0)+20>>2]|0;if(c[f+344>>2]|0){e=c[a>>2]|0;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=g;Uf(e,48,131082,h)}e=f+184|0;kX(e|0)|0;a=f+60|0;while(1){if((c[i>>2]|0)>=(b|0))break;wc(a|0,e|0)|0}lX(e|0)|0}l=j;return}function Xi(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;ma=l;l=l+128|0;if((l|0)>=(m|0))W(128);ia=ma;Z=ma+116|0;_=ma+112|0;aa=ma+48|0;ba=ma+16|0;la=e+564|0;ga=c[la>>2]|0;t=e+556|0;ha=c[t>>2]|0;h=c[e+560>>2]|0;s=e+704|0;f=c[s>>2]|0;if((f|0)!=0?(c[f>>2]|0)!=0:0){f=(c[f+72>>2]|0)+15>>4;f=(h|0)>(f|0)?f:h}else f=h;g=c[e+736>>2]|0;if((g|0)!=0?(c[g>>2]|0)!=0:0){ka=(c[g+72>>2]|0)+15>>4;ka=(f|0)>(ka|0)?ka:f}else ka=f;x=c[e+584>>2]|0;U=N(h,ga)|0;y=x+(U<<3)|0;U=y+(U<<3)|0;bj(e,Z,_);i=e+712|0;if(c[i>>2]|0)Wi(c[e+708>>2]|0,ka+-1|0,0);V=N(ka,ha)|0;j=e+548|0;q=e+580|0;r=e+696|0;k=c[_>>2]|0;n=c[Z>>2]|0;X=e+680|0;o=e+720|0;Y=e+688|0;h=0;f=0;while(1){if((h|0)>=(V|0))break;g=c[(c[j>>2]|0)+(h<<2)>>2]|0;T=(a[(c[q>>2]|0)+g>>0]&8)==0?8:(c[(c[r>>2]|0)+(g<<2)>>2]&7|0)==0?0:8;a[U+g>>0]=T;if((T|0)!=8){if((c[c[s>>2]>>2]|0)!=0?(p=c[i>>2]|0,(p|0)!=0):0){T=c[la>>2]|0;T=N((N(k,(g|0)/(T|0)|0)|0)+((g|0)%(T|0)|0)|0,n)|0;S=c[X>>2]|0;b[S+(T<<2)>>1]=b[p+(T<<2)>>1]|0;b[S+(T<<2)+2>>1]=b[p+(T<<2)+2>>1]|0;T=g<<2;a[(c[Y>>2]|0)+T>>0]=a[(c[o>>2]|0)+T>>0]|0}}else f=f+1|0;h=h+1|0}a:do if((f|0)>((ha|0)/2|0|0)?(c[(c[e>>2]|0)+572>>2]&1|0)!=0:0){f=0;j=0;b:while(1){if((j|0)>=(ka|0))break;k=N(j,ga)|0;n=(j|0)==0;o=j+1|0;p=(o|0)<(ka|0);q=j+-1|0;g=0;while(1){while(1){if((g|0)>=(ha|0)){j=o;continue b}h=g+k|0;if((a[U+h>>0]|0)==8)break;g=g+1|0}if((g|0)!=0?(u=U+(h+-1)|0,(a[u>>0]|0)==0):0){a[u>>0]=1;c[x+(f<<3)>>2]=g+-1;c[x+(f<<3)+4>>2]=j;f=f+1|0}if(!n?(v=U+(h-ga)|0,(a[v>>0]|0)==0):0){a[v>>0]=1;c[x+(f<<3)>>2]=g;c[x+(f<<3)+4>>2]=q;f=f+1|0}i=g+1|0;if((i|0)<(ha|0)?(w=U+(h+1)|0,(a[w>>0]|0)==0):0){a[w>>0]=1;c[x+(f<<3)>>2]=i;c[x+(f<<3)+4>>2]=j;f=f+1|0}if(!p){g=i;continue}h=U+(h+ga)|0;if(a[h>>0]|0){g=i;continue}a[h>>0]=1;c[x+(f<<3)>>2]=g;c[x+(f<<3)+4>>2]=o;g=i;f=f+1|0}}P=aa+4|0;Q=e+672|0;R=e+608|0;S=e+612|0;T=e+800|0;O=e+804|0;M=f;while(1){f=1;L=0;g=1;while(1){if(!((L|0)<10&((L|0)<2|(f|0)!=0)))break;K=(L|0)>1;J=0;f=0;while(1){if((J|0)>=(M|0))break;G=c[x+(J<<3)>>2]|0;H=c[x+(J<<3)+4>>2]|0;I=(N(H,ga)|0)+G|0;c:do if(!((G^L^H)&1)){B=(G|0)>0;if(B)h=d[U+(I+-1)>>0]|0;else h=0;C=(G+1|0)<(ha|0);if(C)h=h|d[U+(I+1)>>0];A=(H|0)>0;if(A)h=h|d[U+(I-ga)>>0];z=(H+1|0)<(ka|0);if(z)h=h|d[U+(I+ga)>>0];if(!(K&(h&4|0)==0)){D=c[_>>2]|0;F=(N(D,H)|0)+G|0;E=c[Z>>2]|0;F=N(F,E)|0;if(B?($=I+-1|0,(d[U+$>>0]|0)>1):0){e=c[X>>2]|0;g=F-E|0;c[aa>>2]=b[e+(g<<2)>>1];c[P>>2]=b[e+(g<<2)+2>>1];c[ba>>2]=a[(c[Y>>2]|0)+($<<2)>>0];g=1}else g=0;do if(C){h=I+1|0;if((d[U+h>>0]|0)<=1)break;w=c[X>>2]|0;e=E+F|0;c[aa+(g<<3)>>2]=b[w+(e<<2)>>1];c[aa+(g<<3)+4>>2]=b[w+(e<<2)+2>>1];c[ba+(g<<2)>>2]=a[(c[Y>>2]|0)+(h<<2)>>0];g=g+1|0}while(0);do if(A){if((d[U+(I-ga)>>0]|0)<=1)break;w=c[X>>2]|0;e=F-(N(E,D)|0)|0;c[aa+(g<<3)>>2]=b[w+(e<<2)>>1];c[aa+(g<<3)+4>>2]=b[w+(e<<2)+2>>1];c[ba+(g<<2)>>2]=a[(c[Y>>2]|0)+(I-(c[la>>2]|0)<<2)>>0];g=g+1|0}while(0);do if(z){if((d[U+(I+ga)>>0]|0)<=1){ja=73;break}w=c[X>>2]|0;e=(N(E,D)|0)+F|0;c[aa+(g<<3)>>2]=b[w+(e<<2)>>1];c[aa+(g<<3)+4>>2]=b[w+(e<<2)+2>>1];c[ba+(g<<2)>>2]=a[(c[Y>>2]|0)+((c[la>>2]|0)+I<<2)>>0];g=g+1|0}else ja=73;while(0);if((ja|0)==73){ja=0;if(!g){g=0;break}}d:do if((g|0)>1){h=0;i=0;j=0;k=0;while(1){if((k|0)>=(g|0))break;j=(c[aa+(k<<3)>>2]|0)+j|0;i=(c[aa+(k<<3)+4>>2]|0)+i|0;e=c[ba+(k<<2)>>2]|0;h=e+h|0;if(k|0?(e|0)!=(c[ba+(k+-1<<2)>>2]|0):0)break d;k=k+1|0}c[aa+(g<<3)>>2]=(j|0)/(k|0)|0;c[aa+(g<<3)+4>>2]=(i|0)/(k|0)|0;c[ba+(g<<2)>>2]=(h|0)/(k|0)|0;k=(g|0)>2;n=k?-99999:0;k=k?99999:0;r=k;s=n;p=k;q=n;o=0;while(1){if((o|0)==(g|0))break;e=c[aa+(o<<3)>>2]|0;w=c[aa+(o<<3)+4>>2]|0;v=c[ba+(o<<2)>>2]|0;r=(r|0)>(v|0)?v:r;s=(s|0)>(v|0)?s:v;p=(p|0)>(w|0)?w:p;k=(k|0)>(e|0)?e:k;q=(q|0)>(w|0)?q:w;n=(n|0)>(e|0)?n:e;o=o+1|0}n=j-n-k|0;e=g+1|0;o=aa+(e<<3)|0;c[o>>2]=n;j=i-q-p|0;k=aa+(e<<3)+4|0;c[k>>2]=j;h=h-s-r|0;i=ba+(e<<2)|0;c[i>>2]=h;if((g|0)==4){c[o>>2]=(n|0)/2|0;c[k>>2]=(j|0)/2|0;c[i>>2]=(h|0)/2|0}g=g+2|0}else g=1;while(0);c[ba+(g<<2)>>2]=0;c[aa+(g<<3)+4>>2]=0;c[aa+(g<<3)>>2]=0;o=g+1|0;e=c[X>>2]|0;w=b[e+(F<<2)>>1]|0;e=b[e+(F<<2)+2>>1]|0;p=a[(c[Y>>2]|0)+(I<<2)>>0]|0;c[aa+(o<<3)>>2]=w;c[aa+(o<<3)+4>>2]=e;c[ba+(o<<2)>>2]=p;o=g+2|0;p=G<<4;q=H<<4;r=U+(I+-1)|0;s=U+(I+1)|0;t=U+(I-ga)|0;u=U+(I+ga)|0;v=0;g=1073741824;n=0;while(1){if((n|0)>=(o|0))break;k=c[Q>>2]|0;j=k+32|0;k=(c[k>>2]|0)+p+(N(q,c[j>>2]|0)|0)|0;i=c[aa+(n<<3)>>2]|0;c[R>>2]=i;h=c[X>>2]|0;b[h+(F<<2)>>1]=i;i=c[aa+(n<<3)+4>>2]|0;c[S>>2]=i;b[h+(F<<2)+2>>1]=i;h=c[ba+(n<<2)>>2]|0;if((h|0)<0)h=v;else{Yd[c[T>>2]&1](c[O>>2]|0,h,1,0,R,G,H,0,0);e:do if(B){if((d[r>>0]|0)>1){h=0;i=0}else{i=0;break}while(1){if((h|0)==16)break e;na=N(c[j>>2]|0,h)|0;na=(d[k+(na+-1)>>0]|0)-(d[k+na>>0]|0)|0;h=h+1|0;i=((na|0)>-1?na:0-na|0)+i|0}}else i=0;while(0);f:do if(C){if((d[s>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break f;na=N(c[j>>2]|0,h)|0;na=(d[k+(na+15)>>0]|0)-(d[k+(na+16)>>0]|0)|0;h=h+1|0;i=((na|0)>-1?na:0-na|0)+i|0}}while(0);g:do if(A){if((d[t>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break g;na=(d[k+(h-(c[j>>2]|0))>>0]|0)-(d[k+h>>0]|0)|0;h=h+1|0;i=((na|0)>-1?na:0-na|0)+i|0}}while(0);h:do if(z){if((d[u>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break h;na=c[j>>2]|0;na=(d[k+((na*15|0)+h)>>0]|0)-(d[k+((na<<4)+h)>>0]|0)|0;h=h+1|0;i=((na|0)>-1?na:0-na|0)+i|0}}while(0);na=(i|0)>(g|0);h=na?v:n;g=na?g:i}v=h;n=n+1|0}i=c[aa+(v<<3)>>2]|0;c[R>>2]=i;j=c[aa+(v<<3)+4>>2]|0;c[S>>2]=j;i=i&65535;j=j&65535;g=0;while(1){if((g|0)>=(E|0))break;k=g+F|0;h=0;while(1){if((h|0)==(E|0))break;C=c[X>>2]|0;na=(N(D,h)|0)+k|0;b[C+(na<<2)>>1]=i;b[C+(na<<2)+2>>1]=j;h=h+1|0}g=g+1|0}Yd[c[T>>2]&1](c[O>>2]|0,c[ba+(v<<2)>>2]|0,1,0,R,G,H,0,0);do if((c[R>>2]|0)==(w|0)){if((c[S>>2]|0)!=(e|0))break;a[U+I>>0]=2;g=0;break c}while(0);a[U+I>>0]=4;g=0;f=f+1|0}}while(0);J=J+1|0}L=L+1|0}if(!g){f=0;k=0}else break a;while(1){if((k|0)>=(M|0))break;i=c[x+(k<<3)>>2]|0;h=c[x+(k<<3)+4>>2]|0;j=(N(h,ga)|0)+i|0;g=U+j|0;if(a[g>>0]&14){a[g>>0]=8;if((i|0)>0?(ca=U+(j+-1)|0,(a[ca>>0]|0)==0):0){a[ca>>0]=1;c[y+(f<<3)>>2]=i+-1;c[y+(f<<3)+4>>2]=h;f=f+1|0}if((h|0)>0?(da=U+(j-ga)|0,(a[da>>0]|0)==0):0){a[da>>0]=1;c[y+(f<<3)>>2]=i;c[y+(f<<3)+4>>2]=h+-1;f=f+1|0}g=i+1|0;if((g|0)<(ha|0)?(ea=U+(j+1)|0,(a[ea>>0]|0)==0):0){a[ea>>0]=1;c[y+(f<<3)>>2]=g;c[y+(f<<3)+4>>2]=h;f=f+1|0}g=h+1|0;if((g|0)<(ka|0)?(fa=U+(j+ga)|0,(a[fa>>0]|0)==0):0){a[fa>>0]=1;c[y+(f<<3)>>2]=i;c[y+(f<<3)+4>>2]=g;f=f+1|0}}k=k+1|0}if((f|0)>(V|0))break;else{na=y;M=f;y=x;x=na}}c[ia>>2]=131036;c[ia+4>>2]=128655;c[ia+8>>2]=716;Uf(0,0,159675,ia);Ub()}else{k=e+608|0;n=e+612|0;o=e+800|0;i=e+804|0;h=0;while(1){if((h|0)<(ka|0))g=0;else break a;while(1){if((g|0)>=(c[t>>2]|0))break;j=(N(c[la>>2]|0,h)|0)+g|0;f=c[s>>2]|0;if(!f)f=2;else f=c[f>>2]|0?1:2;if((c[(c[r>>2]|0)+(j<<2)>>2]&7|0)==0?a[(c[q>>2]|0)+j>>0]&8:0){c[k>>2]=0;c[n>>2]=0;Yd[c[o>>2]&1](c[i>>2]|0,0,f,0,k,g,h,0,0)}g=g+1|0}h=h+1|0}}while(0);l=ma;return}function Yi(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=C;A=C+8|0;B=C+4|0;z=Jh(h,g<<3)|0;c[A>>2]=z;x=Jh(h,g<<4)|0;c[B>>2]=x;a:do if((x|0)!=0&(z|0)!=0){x=d+564|0;z=d+696|0;w=d+580|0;p=0;while(1){if((p|0)>=(g|0)){p=0;break}q=p>>i;r=N(p,h)|0;n=0;j=1024;d=-1;while(1){if((n|0)>=(f|0)){k=f;j=1024;d=-1;break}v=(N(c[x>>2]|0,q)|0)+(n>>i)|0;if((c[(c[z>>2]|0)+(v<<2)>>2]&7|0)!=0?(a[(c[w>>2]|0)+v>>0]&4)!=0:0)k=n+r|0;else{k=n+r|0;j=b[e+(k<<1)>>1]|0;d=n}b[(c[A>>2]|0)+(k<<3)+2>>1]=j;c[(c[B>>2]|0)+(k<<4)+4>>2]=(d|0)>-1?n-d|0:9999;n=n+1|0}while(1){o=k+-1|0;if((k|0)<=0)break;v=(N(c[x>>2]|0,q)|0)+(o>>i)|0;if((c[(c[z>>2]|0)+(v<<2)>>2]&7|0)!=0?(a[(c[w>>2]|0)+v>>0]&4)!=0:0){n=j;j=o+r|0}else{j=o+r|0;n=b[e+(j<<1)>>1]|0;d=o}b[(c[A>>2]|0)+(j<<3)>>1]=n;c[(c[B>>2]|0)+(j<<4)>>2]=(d|0)>-1?d-o|0:9999;k=o;j=n}p=p+1|0}while(1){if((p|0)>=(f|0)){k=0;break}q=p>>i;j=1024;d=-1;n=0;while(1){if((n|0)>=(g|0)){k=g;j=1024;d=-1;break}v=(N(c[x>>2]|0,n>>i)|0)+q|0;if((c[(c[z>>2]|0)+(v<<2)>>2]&7|0)!=0?(a[(c[w>>2]|0)+v>>0]&4)!=0:0)k=(N(n,h)|0)+p|0;else{k=(N(n,h)|0)+p|0;j=b[e+(k<<1)>>1]|0;d=n}b[(c[A>>2]|0)+(k<<3)+6>>1]=j;c[(c[B>>2]|0)+(k<<4)+12>>2]=(d|0)>-1?n-d|0:9999;n=n+1|0}while(1){o=k+-1|0;if((k|0)<=0)break;v=(N(c[x>>2]|0,o>>i)|0)+q|0;if((c[(c[z>>2]|0)+(v<<2)>>2]&7|0)!=0?(a[(c[w>>2]|0)+v>>0]&4)!=0:0){n=j;j=(N(o,h)|0)+p|0}else{j=(N(o,h)|0)+p|0;n=b[e+(j<<1)>>1]|0;d=o}b[(c[A>>2]|0)+(j<<3)+4>>1]=n;c[(c[B>>2]|0)+(j<<4)+8>>2]=(d|0)>-1?d-o|0:9999;k=o;j=n}p=p+1|0}while(1){if((k|0)>=(g|0))break a;n=k>>i;o=N(k,h)|0;d=0;while(1){if((d|0)>=(f|0))break;v=(N(c[x>>2]|0,n)|0)+(d>>i)|0;if((c[(c[z>>2]|0)+(v<<2)>>2]&120|0)==0?a[(c[w>>2]|0)+v>>0]&4:0){p=c[B>>2]|0;q=d+o|0;r=c[A>>2]|0;j=0;s=0;t=0;u=0;v=0;while(1){if((j|0)==4)break;D=c[p+(q<<4)+(j<<2)>>2]|0;D=268435456/((D>>>0>1?D:1)>>>0)|0;F=b[r+(q<<3)+(j<<1)>>1]|0;F=ZW(F|0,((F|0)<0)<<31>>31|0,D|0,0)|0;F=TW(F|0,y|0,s|0,t|0)|0;E=y;D=TW(u|0,v|0,D|0,0)|0;j=j+1|0;s=F;t=E;u=D;v=y}F=XW(u|0,v|0,2,0)|0;F=TW(F|0,y|0,s|0,t|0)|0;F=XW(F|0,y|0,u|0,v|0)|0;b[e+(q<<1)>>1]=F}d=d+1|0}k=k+1|0}}else Uf(c[d>>2]|0,16,131007,j);while(0);Qf(A);Qf(B);l=C;return}function Zi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=d+-1|0;h=c+-1|0;c=1;while(1){if((c|0)>=(i|0)){c=1;break}g=N(c,e)|0;d=1;f=b[a+(g<<1)>>1]|0;while(1){if((d|0)>=(h|0))break;l=a+(d+g<<1)|0;j=b[l>>1]|0;k=d+1|0;b[l>>1]=((((j<<3)-f-(b[a+(k+g<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=j}c=c+1|0}while(1){if((c|0)>=(h|0))break;d=b[a+(c<<1)>>1]|0;f=1;while(1){if((f|0)>=(i|0))break;j=a+((N(f,e)|0)+c<<1)|0;k=b[j>>1]|0;l=f+1|0;b[j>>1]=((((k<<3)-d-(b[a+((N(l,e)|0)+c<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=l}c=c+1|0}return}function _i(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[d+672>>2]|0;t=v+32|0;u=d+588|0;m=h<<1;n=i<<1;o=d+568|0;k=0;while(1){if((k|0)==4)break;q=k&1;r=k>>1;p=b[(c[u>>2]|0)+((N(c[o>>2]|0,r+n|0)|0)+(q|m)<<1)>>1]|0;p=p<<16>>16>0?((p<<16>>16<2040?p:2040)&65535)>>>3&255:0;q=q<<3;r=r<<3;l=0;while(1){if((l|0)==8)break;s=l+r|0;j=0;while(1){if((j|0)==8)break;a[e+(j+q+(N(c[t>>2]|0,s)|0))>>0]=p;j=j+1|0}l=l+1|0}k=k+1|0}k=(N(c[d+564>>2]|0,i)|0)+h|0;j=b[(c[d+592>>2]|0)+(k<<1)>>1]|0;k=b[(c[d+596>>2]|0)+(k<<1)>>1]|0;a:do if(g|0){m=j<<16>>16>0?((j<<16>>16<2040?j:2040)&65535)>>>3&255:0;n=v+36|0;e=k<<16>>16>0?((k<<16>>16<2040?k:2040)&65535)>>>3&255:0;l=v+40|0;k=0;while(1){if((k|0)==8)break a;else j=0;while(1){if((j|0)==8)break;a[f+((N(c[n>>2]|0,k)|0)+j)>>0]=m;a[g+((N(c[l>>2]|0,k)|0)+j)>>0]=e;j=j+1|0}k=k+1|0}}while(0);return}function $i(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0;Q=l;l=l+16|0;if((l|0)>=(m|0))W(16);O=Q+4|0;J=Q;bj(e,O,J);P=c[O>>2]>>j;c[O>>2]=P;O=N(c[J>>2]|0,P)|0;c[J>>2]=O;J=g+-1|0;K=e+580|0;L=e+564|0;M=e+696|0;E=e+680|0;D=0;while(1){if((D|0)>=(h|0))break;F=D>>j;G=N(D,i)|0;H=N(O,D)|0;g=0;a:while(1){if((g|0)>=(J|0))break;z=c[K>>2]|0;n=N(c[L>>2]|0,F)|0;k=n+(g>>j)|0;A=a[z+k>>0]|0;I=g+1|0;n=n+(I>>j)|0;z=a[z+n>>0]|0;o=c[M>>2]|0;q=g+G<<3;p=c[E>>2]|0;g=(N(P,g)|0)+H|0;e=(N(P,I)|0)+H|0;B=(A&14)!=0;C=(z&14)!=0;if(!((z|A)&14)){g=I;continue}if(((c[o+(k<<2)>>2]|c[o+(n<<2)>>2])&7|0)==0?(A=(b[p+(g<<2)>>1]|0)-(b[p+(e<<2)>>1]|0)|0,z=(b[p+(e<<2)+2>>1]|0)+(b[p+(g<<2)+2>>1]|0)|0,(((z|0)>-1?z:0-z|0)+((A|0)>-1?A:0-A|0)|0)<2):0){g=I;continue}t=q|7;u=q|6;v=q+8|0;w=q+9|0;A=B&C;x=q|5;y=q|4;z=q+10|0;n=q+11|0;e=0;while(1){if((e|0)==8){g=I;continue a}o=N(e,i)|0;p=f+(o+t)|0;q=d[p>>0]|0;r=f+(o+u)|0;S=q-(d[r>>0]|0)|0;s=f+(v+o)|0;g=d[s>>0]|0;R=g-q|0;k=f+(w+o)|0;g=(d[k>>0]|0)-g|0;g=((R|0)>-1?R:0-R|0)-(((S|0)>-1?S:0-S|0)+1+((g|0)>-1?g:0-g|0)>>1)|0;g=(g|0)>0?g:0;g=(R|0)<0?0-g|0:g;if(g|0){g=A?g:(g<<4|0)/9|0;if(B){a[p>>0]=a[129709+((g*7>>4)+q)>>0]|0;a[r>>0]=a[129709+((g*5>>4)+(d[r>>0]|0))>>0]|0;S=f+(o+x)|0;a[S>>0]=a[129709+((g*3>>4)+(d[S>>0]|0))>>0]|0;S=f+(o+y)|0;a[S>>0]=a[129709+((g>>4)+(d[S>>0]|0))>>0]|0}if(C){a[s>>0]=a[129709+((d[s>>0]|0)-(g*7>>4))>>0]|0;a[k>>0]=a[129709+((d[k>>0]|0)-(g*5>>4))>>0]|0;S=f+(z+o)|0;a[S>>0]=a[129709+((d[S>>0]|0)-(g*3>>4))>>0]|0;S=f+(n+o)|0;a[S>>0]=a[129709+((d[S>>0]|0)-(g>>4))>>0]|0}}e=e+1|0}}D=D+1|0}l=Q;return}function aj(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;T=l;l=l+16|0;if((l|0)>=(m|0))W(16);R=T+4|0;M=T;bj(e,R,M);S=c[R>>2]>>j;c[R>>2]=S;R=N(c[M>>2]|0,S)|0;c[M>>2]=R;M=h+-1|0;O=e+580|0;P=e+564|0;Q=e+696|0;z=e+680|0;A=i*7|0;B=i*6|0;C=i<<3;D=i*9|0;E=i*5|0;F=i<<2;G=i*10|0;H=i*11|0;h=0;a:while(1){if((h|0)>=(M|0))break;I=h>>j;J=h+1|0;K=J>>j;L=N(h,i)|0;u=N(R,h)|0;v=N(R,J)|0;t=0;while(1){if((t|0)>=(g|0)){h=J;continue a}U=c[O>>2]|0;e=t>>j;k=c[P>>2]|0;h=(N(k,I)|0)+e|0;s=a[U+h>>0]|0;e=(N(k,K)|0)+e|0;U=a[U+e>>0]|0;k=c[Q>>2]|0;w=t+L<<3;n=c[z>>2]|0;q=N(S,t)|0;o=q+u|0;p=n+(o<<2)|0;q=q+v|0;r=n+(q<<2)|0;x=(s&14)!=0;y=(U&14)!=0;b:do if((U|s)&14){if(((c[k+(h<<2)>>2]|c[k+(e<<2)>>2])&7|0)==0?(U=(b[p>>1]|0)-(b[r>>1]|0)|0,s=(b[n+(q<<2)+2>>1]|0)+(b[n+(o<<2)+2>>1]|0)|0,(((s|0)>-1?s:0-s|0)+((U|0)>-1?U:0-U|0)|0)<2):0)break;s=x&y;e=0;while(1){if((e|0)==8)break b;n=e+w|0;o=f+(n+A)|0;p=d[o>>0]|0;q=f+(n+B)|0;V=p-(d[q>>0]|0)|0;r=f+(n+C)|0;h=d[r>>0]|0;U=h-p|0;k=f+(n+D)|0;h=(d[k>>0]|0)-h|0;h=((U|0)>-1?U:0-U|0)-(((V|0)>-1?V:0-V|0)+1+((h|0)>-1?h:0-h|0)>>1)|0;h=(h|0)>0?h:0;h=(U|0)<0?0-h|0:h;if(h|0){h=s?h:(h<<4|0)/9|0;if(x){a[o>>0]=a[129709+((h*7>>4)+p)>>0]|0;a[q>>0]=a[129709+((h*5>>4)+(d[q>>0]|0))>>0]|0;V=f+(n+E)|0;a[V>>0]=a[129709+((h*3>>4)+(d[V>>0]|0))>>0]|0;V=f+(n+F)|0;a[V>>0]=a[129709+((h>>4)+(d[V>>0]|0))>>0]|0}if(y){a[r>>0]=a[129709+((d[r>>0]|0)-(h*7>>4))>>0]|0;a[k>>0]=a[129709+((d[k>>0]|0)-(h*5>>4))>>0]|0;V=f+(n+G)|0;a[V>>0]=a[129709+((d[V>>0]|0)-(h*3>>4))>>0]|0;V=f+(n+H)|0;a[V>>0]=a[129709+((d[V>>0]|0)-(h>>4))>>0]|0}}e=e+1|0}}while(0);t=t+1|0}}l=T;return}function bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;do if((c[(c[a>>2]|0)+16>>2]|0)==27)if(!(c[a+788>>2]|0)){c[f>>2]=130989;c[f+4>>2]=128655;c[f+8>>2]=47;Uf(0,0,159675,f);Ub()}else{c[b>>2]=4;e=c[a+556>>2]<<2;break}else{c[b>>2]=2;e=c[a+568>>2]|0}while(0);c[d>>2]=e;l=g;return}function cj(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[116064+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){Uf(0,16,151423,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[122033+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[122545+a>>0]|0}while(0);l=i;return a|0}function dj(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[122033+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[122545+a>>0]|0|0}function ej(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=e;c[f>>2]=d;rj(0,a,b,f);l=e;return}function fj(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function gj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function hj(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(eX(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[122033+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[123057+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[116064+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(eX(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function ij(a){a=a|0;return c[a+8>>2]|0}function jj(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);switch(c[a+4>>2]|0){case 66:case 77:case 88:{if(!(c[a+1196>>2]&7))a=1;else{Uf(b,40,131679,d);a=0}break}default:a=1}l=d;return a|0}function kj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=(e|0)!=0;if(j)h=0;else h=(c[b+668>>2]|0)!=0;i=h?b+768|0:131411;k=h?b+960|0:131475;if(!(fj(a)|0))return 0;l=qj(a,f,16,131539,h?b+672|0:131539)|0;m=f+16|0;l=qj(a,m,16,131539,f)|0|l;m=l|(qj(a,f+32|0,16,131539,m)|0);l=f+48|0;m=m|(qj(a,l,16,131555,h?b+720|0:131555)|0);h=f+64|0;l=m|(qj(a,h,16,131555,l)|0);h=l|(qj(a,f+80|0,16,131555,h)|0);if(!(!j?(c[d+64>>2]|0)==0:0)){h=qj(a,g,64,131411,i)|0|h;f=g+192|0;h=h|(qj(a,f,64,131475,k)|0);if((c[b+12>>2]|0)==3){m=g+64|0;l=qj(a,m,64,131411,g)|0|h;h=g+256|0;l=l|(qj(a,h,64,131475,f)|0);m=l|(qj(a,g+128|0,64,131411,m)|0);h=m|(qj(a,g+320|0,64,131475,h)|0)}}return ((h|0)==0?e:h)|0}function lj(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+-8|0;h=f*6|0;g=h+51|0;h=h+52|0;e=0;while(1){if((e|0)>=(h|0))break;i=e+d|0;a[b+548+(c*88|0)+e>>0]=a[((i|0)<0?0:(i|0)>(g|0)?g:i)+(123928+(f*88|0))>>0]|0;e=e+1|0}return}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;oj(a,b);f=a+173812|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;f=a+64|0;if(c[f>>2]|0)pj(a,b);a:do if(c[b+16>>2]|0){d=0;while(1){if((d|0)==6)break;e=a+173788+(d<<2)|0;b=0;while(1){if((b|0)==16)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}if(c[f>>2]|0){d=0;while(1){if((d|0)==6)break a;e=a+173812+(d<<2)|0;b=0;while(1){if((b|0)==64)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}}}while(0);return}function nj(a,b){a=a|0;b=b|0;zg(a+128+(b<<2)|0);return}function oj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173788+(h<<2)|0;c[f>>2]=a+4828+(h*5632|0);b=a+68+(h<<4)|0;e=0;while(1){if((e|0)>=(h|0)){g=0;b=8;break}if(!(IT(a+68+(e<<4)|0,b,16)|0)){b=6;break}e=e+1|0}a:do if((b|0)==6)c[f>>2]=a+4828+(e*5632|0);else if((b|0)==8)while(1){if((g|0)>=(i|0))break a;e=(d[123840+g>>0]|0)+2|0;f=d[123752+g>>0]|0;b=0;while(1){if((b|0)==16)break;j=b>>2;c[a+4828+(h*5632|0)+(g<<6)+((b<<2&12|j)<<2)>>2]=(N(d[a+68+(h<<4)+b>>0]|0,d[(j&1)+(b&1)+(123682+(f*3|0))>>0]|0)|0)<<e;b=b+1|0}g=g+1|0;b=8}while(0);h=h+1|0}return}function pj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173812+(h<<2)|0;c[f>>2]=a+38620+(h*22528|0);b=a+164+(h<<6)|0;e=0;while(1){if((e|0)>=(h|0)){g=0;b=8;break}if(!(IT(a+164+(e<<6)|0,b,64)|0)){b=6;break}e=e+1|0}a:do if((b|0)==6)c[f>>2]=a+38620+(e*22528|0);else if((b|0)==8)while(1){if((g|0)>=(i|0))break a;e=d[123840+g>>0]|0;f=d[123752+g>>0]|0;b=0;while(1){if((b|0)==64)break;c[a+38620+(h*22528|0)+(g<<8)+((b<<3&56|b>>3)<<2)>>2]=(N(d[a+164+(h<<6)+b>>0]|0,d[(d[123700+(b>>>1&12|b&3)>>0]|0)+(123716+(f*6|0))>>0]|0)|0)<<e;b=b+1|0}g=g+1|0;b=8}while(0);h=h+1|0}return}function qj(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=o;k=(f|0)==16?131571:131588;a:do if(fj(b)|0){i=0;h=8;j=8;while(1){if((i|0)>=(f|0)){h=0;break a}if(!h)h=0;else{h=hj(b)|0;if((h+128|0)>>>0>255){i=7;break}h=h+j&255}if(!(h|i)){i=9;break}p=h|0?h:j;a[e+(d[k+i>>0]|0)>>0]=p;i=i+1|0;j=p}if((i|0)==7){c[n>>2]=h;Uf(0,16,131652,n);h=-1094995529;break}else if((i|0)==9){gX(e|0,g|0,f|0)|0;h=0;break}}else{gX(e|0,h|0,f|0)|0;h=0}while(0);l=o;return h|0}function rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);Vf(b,24,c,d);Uf(b,24,131744,e);if(a|0)Uf(b,24,131920,e+8|0);l=e;return}function sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function tj(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+2|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function uj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+32|0;if((l|0)>=(m|0))W(32);k=n+24|0;i=n+16|0;h=n+8|0;f=n;do if(fj(a)|0){e=gj(a,8)|0;if((e|0)==255){c[d+100>>2]=gj(a,16)|0;c[d+104>>2]=gj(a,16)|0;g=8;break}if(e>>>0<17){e=105068+(e<<3)|0;f=c[e+4>>2]|0;g=d+100|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=8;break}else{Uf(b,16,132722,f);e=-1094995529;break}}else{c[d+104>>2]=0;c[d+100>>2]=0;g=8}while(0);do if((g|0)==8){if(fj(a)|0)fj(a)|0;g=fj(a)|0;c[d+108>>2]=g;if(g|0?(gj(a,3)|0,c[d+112>>2]=fj(a)|0,g=fj(a)|0,c[d+116>>2]=g,g|0):0){e=d+120|0;c[e>>2]=gj(a,8)|0;f=d+124|0;c[f>>2]=gj(a,8)|0;g=d+128|0;c[g>>2]=gj(a,8)|0;if(!(xj(c[e>>2]|0)|0))c[e>>2]=2;if(!(yj(c[f>>2]|0)|0))c[f>>2]=2;if(!(zj(c[g>>2]|0)|0))c[g>>2]=2}if(fj(a)|0){c[b+332>>2]=(cj(a)|0)+1;cj(a)|0}if(Aj(a)|0?(vj(a)|0)<10:0){Uf(b,24,132744,h);e=0;break}h=fj(a)|0;e=d+132|0;c[e>>2]=h;if(h|0){f=Bj(a,32)|0;g=Bj(a,32)|0;if((f|0)!=0&(g|0)!=0){c[d+136>>2]=f;c[d+140>>2]=g}else{c[i>>2]=g;c[i+4>>2]=f;Uf(b,16,132759,i);c[e>>2]=0}c[d+144>>2]=fj(a)|0}i=fj(a)|0;e=d+1152|0;c[e>>2]=i;if(i|0?(Cj(a,b,d)|0)<0:0){e=-1094995529;break}i=fj(a)|0;f=d+1156|0;c[f>>2]=i;if(i|0?(Cj(a,b,d)|0)<0:0){e=-1094995529;break}if(!((c[e>>2]|0)==0?!(c[f>>2]|0):0))fj(a)|0;c[d+1160>>2]=fj(a)|0;if((vj(a)|0)!=0?(i=fj(a)|0,j=d+660|0,c[j>>2]=i,(i|0)!=0):0){fj(a)|0;cj(a)|0;cj(a)|0;cj(a)|0;cj(a)|0;f=d+664|0;c[f>>2]=cj(a)|0;cj(a)|0;if((vj(a)|0)<0){c[f>>2]=0;c[j>>2]=0;e=0;break}e=c[f>>2]|0;if(e>>>0>16){c[k>>2]=e;Uf(b,16,132820,k);c[f>>2]=16;e=-1094995529}else e=0}else e=0}while(0);l=n;return e|0}function vj(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(ij(a)|0)|0}function wj(a,b){a=a|0;b=b|0;zg(a+(b<<2)|0);return}function xj(a){a=a|0;if(a>>>0<23)a=c[102368+(a<<2)>>2]|0;else a=0;return a|0}function yj(a){a=a|0;if(a>>>0<19)a=c[102292+(a<<2)>>2]|0;else a=0;return a|0}function zj(a){a=a|0;if(a>>>0<15)a=c[102232+(a<<2)>>2]|0;else a=0;return a|0}function Aj(a){a=a|0;return Gj(a)|0}function Bj(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=gj(a,b)|0;break}else{b=b+-16|0;c=(gj(a,16)|0)<<b;a=c|(gj(a,b)|0);break}else a=0;while(0);return a|0}function Cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=h;f=dj(a)|0;g=f+1|0;if(g>>>0>32){c[e>>2]=g;Uf(b,16,132860,e);b=-1094995529}else{gj(a,4)|0;gj(a,4)|0;b=0;while(1){if((b|0)>(f|0))break;Dj(a);Dj(a);fj(a)|0;b=b+1|0}c[d+1172>>2]=(gj(a,5)|0)+1;c[d+1176>>2]=(gj(a,5)|0)+1;c[d+1180>>2]=(gj(a,5)|0)+1;c[d+1164>>2]=gj(a,5)|0;c[d+1168>>2]=g;b=0}l=h;return b|0}function Dj(a){a=a|0;var b=0,c=0,e=0;e=Ej(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[116064+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Fj(a,b);Bj(a,b+1|0)|0;return}function Ej(a){a=a|0;var b=0,d=0;b=l;l=l+32|0;if((l|0)>=(m|0))W(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=Bj(d,32)|0;l=b;return a|0}function Fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function Gj(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>31|0}function Hj(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(Kj(a)|0)|0}function Ij(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function Jj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function Kj(a){a=a|0;return c[a+8>>2]|0}function Lj(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=o+8|0;j=o;i=0;g=c[e+1164>>2]|0;while(1){h=(g|0)!=0;if((i|0)==32)break;if(!(h?(c[g+20>>2]|0)!=0:0)){h=c[e+(i<<2)>>2]|0;if(h)g=c[h+4>>2]|0}i=i+1|0}do if(h){if(!((c[g+1152>>2]|0)==0?!(c[g+1156>>2]|0):0)){c[a+16>>2]=$j(b,c[g+1176>>2]|0)|0;c[a+12>>2]=$j(b,c[g+1180>>2]|0)|0}if(c[g+1160>>2]|0){h=Jj(b,4)|0;j=a+4|0;c[j>>2]=h;k=a+8|0;c[k>>2]=0;if(h>>>0>8){g=-1094995529;break}e=d[133375+h>>0]|0;h=g+1164|0;g=0;while(1){if((g|0)==(e|0))break;if(Jj(b,1)|0){i=1<<(Jj(b,2)|0);c[k>>2]=c[k>>2]|i;Wj(b,1);Wj(b,5);i=Jj(b,1)|0;Wj(b,1);Wj(b,1);Wj(b,8);if(!i){if((Jj(b,1)|0?(Wj(b,6),Jj(b,1)|0):0)?(Wj(b,6),Jj(b,1)|0):0)Wj(b,5)}else{Wj(b,6);Wj(b,6);Wj(b,5)}i=c[h>>2]|0;if((i|0)>0)Wj(b,i)}g=g+1|0}b=c[j>>2]|0;c[n>>2]=c[k>>2];c[n+4>>2]=b;Uf(f,48,133384,n)}c[a>>2]=1;g=0}else{Uf(f,16,133333,j);g=-1397768184}while(0);l=o;return g|0}function Mj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if((c|0)<7)c=-1094995529;else{if((Jj(b,8)|0)==255){Wj(b,8);c=c+-8|0}else c=c+-7|0;Wj(b,8);Wj(b,8);d=$j(b,32)|0;b:do if((d|0)<1195456820){switch(d|0){case 1146373937:break;default:break b}c=bk(a+20|0,b,c)|0;break a}else{switch(d|0){case 1195456820:break;default:break b}c=ck(a+28|0,b,c)|0;break a}while(0);Wj(b,c<<3);c=0}while(0);return c|0}function Nj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=j;h=j+4|0;if((e+-16|0)>>>0<=2147483614){f=e+16|0;i=ag(e+17|0)|0;if(!i)e=-12;else{e=0;while(1){if((e|0)>=(f|0))break;a[i+e>>0]=Jj(d,8)|0;e=e+1|0}a[i+e>>0]=0;f=i+16|0;c[g>>2]=h;d=(_U(f,133301,g)|0)==1;e=c[h>>2]|0;if(d&(e|0)>0)c[b>>2]=e;if(d&(e|0)==1?(JT(f,133316,16)|0)==0:0)c[b>>2]=67;Rf(i);e=0}}else e=-1094995529;l=j;return e|0}function Oj(a,b){a=a|0;b=b|0;c[a>>2]=Yj(b)|0;Wj(b,4);return}function Pj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);i=j;f=ak(b)|0;g=f>>>0>31;if(!g?(h=c[d+(f<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;a:do if(c[g+1152>>2]|0){e=g+1168|0;f=g+1172|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break a;c[a+4+(d<<2)>>2]=$j(b,c[f>>2]|0)|0;Wj(b,c[f>>2]|0);d=d+1|0}}while(0);b:do if(c[g+1156>>2]|0){f=g+1168|0;e=g+1172|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break b;c[a+4+(d<<2)>>2]=$j(b,c[e>>2]|0)|0;Wj(b,c[e>>2]|0);d=d+1|0}}while(0);c[a>>2]=1;d=0}else{c[i>>2]=f;Uf(e,16,133249,i);d=g?-1094995529:-1397768184}l=j;return d|0}function Qj(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+4>>2]=Yj(b)|0;d=Xj(b)|0;c[a+8>>2]=d;d=(d|0)==0;c[a>>2]=d&1;if(d){d=a+12|0;c[d>>2]=Jj(b,7)|0;e=a+24|0;c[e>>2]=Xj(b)|0;c[a+20>>2]=Jj(b,6)|0;Wj(b,3);c[a+28>>2]=Xj(b)|0;Wj(b,2);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)Wj(b,16);Wj(b,8);c[a+16>>2]=Yj(b)|0}Zj(b);return}function Rj(a,b){a=a|0;b=b|0;var d=0;d=(Xj(b)|0)==0;c[a>>2]=d&1;if(d){c[a+8>>2]=Xj(b)|0;c[a+12>>2]=Xj(b)|0;c[a+4>>2]=Jj(b,16)|0;Yj(b)|0;Zj(b)}return}function Sj(c,d){c=c|0;d=d|0;var e=0;e=(Jj(d,8)|0)&255;a[c>>0]=e;switch(e<<24>>24){case 0:{e=(Jj(d,8)|0)&255;a[c+1>>0]=e;switch(e<<24>>24){case 2:{b[c+2>>1]=Jj(d,16)|0;break}case 3:{b[c+4>>1]=Jj(d,16)|0;break}default:{}}a[c+6>>0]=Jj(d,8)|0;a[c+7>>0]=Jj(d,8)|0;a[c+8>>0]=Jj(d,8)|0;a[c+9>>0]=Jj(d,8)|0;break}case 1:{a[c+10>>0]=Jj(d,8)|0;b[c+12>>1]=Jj(d,16)|0;break}default:{}}return}function Tj(a,b){a=a|0;b=b|0;c[a>>2]=1;c[a+4>>2]=Jj(b,8)|0;return}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function Vj(a){a=a|0;var b=0;b=0-(Kj(a)|0)&7;if(b|0)Wj(a,b);return}function Wj(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function Xj(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function Yj(a){a=a|0;var b=0,c=0,e=0;e=_j(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[116064+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Uj(a,b);return ($j(a,b+1|0)|0)+-1|0}function Zj(a){a=a|0;Wj(a,1);return}function _j(a){a=a|0;var b=0,d=0;b=l;l=l+32|0;if((l|0)>=(m|0))W(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=$j(d,32)|0;l=b;return a|0}function $j(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=Jj(a,b)|0;break}else{b=b+-16|0;c=(Jj(a,16)|0)<<b;a=c|(Jj(a,b)|0);break}else a=0;while(0);return a|0}function ak(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[122033+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[122545+a>>0]|0|0}function bk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=1){Wj(d,1);f=Jj(d,1)|0;Wj(d,6);if(f)if((e|0)<2)b=-1094995529;else{Wj(d,4);a[b+4>>0]=Jj(d,4)|0;c[b>>2]=1;b=0}else b=0}else b=-1094995529;return b|0}function ck(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;a:do if((e|0)>=3){if((Jj(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}Wj(d,8);e=e+1|0}}Wj(d,1);if(((Jj(d,1)|0)!=0?(Wj(d,1),g=Jj(d,5)|0,Wj(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=ZW(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=TW(f|0,y|0,e|0,((e|0)<0)<<31>>31|0)|0;f=y;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=dk(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(Jj(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(Jj(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(Jj(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}Wj(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function dk(b,c){b=b|0;c=c|0;do if(c){c=$f(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c)|0;if(!c){Qf(b);c=-12;break}else{a[b>>0]=c;a[b+1>>0]=c>>8;a[b+2>>0]=c>>16;a[b+3>>0]=c>>24;c=0;break}}else{Qf(b);c=0}while(0);return c|0}function ek(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;if((l|0)>=(m|0))W(64);r=D+56|0;q=D+48|0;w=D+32|0;u=D+24|0;v=D+16|0;f=D;z=c[d>>2]|0;C=d+21788|0;t=c[C>>2]|0;A=d+868|0;B=c[A>>2]|0;y=c[c[z+24312>>2]>>2]|0;b=c[y+32>>2]|0;e=d+21772|0;c[e>>2]=b;c[d+21776>>2]=c[y+36>>2];b=kk(d,b)|0;a:do if((b|0)>=0){p=d+21816|0;c[p>>2]=-1;if((c[z+26036>>2]|0)!=(((c[e>>2]|0)*12|0)+(12<<c[z+25664>>2])|0)){c[f>>2]=134505;c[f+4>>2]=133479;c[f+8>>2]=2536;Uf(0,0,159675,f);Ub()}if(c[z+25708>>2]|0)c[A>>2]=0;x=z+26376|0;if(!(c[x>>2]|0))b=(c[z+26380>>2]|0)!=3;else b=1;c[d+21820>>2]=b&1;y=z+4|0;if(((((c[(c[y>>2]|0)+696>>2]&2|0)==0?(c[z+26380>>2]|0)==3:0)?(h=c[z+25628>>2]|0,i=c[h+604>>2]|0,i|0):0)?(s=(N(c[z+27012>>2]|0,c[d+21804>>2]|0)|0)+(c[d+21800>>2]|0)|0,g=(c[z+27020>>2]|0)+-1|0,g=(s|0)>(g|0)?g:s,!((s|0)<0|(g|0)==0)):0)?(a[i+(c[(c[h+572>>2]|0)+(g+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0)c[h+600>>2]=1;do if(!(c[(c[z+28212>>2]|0)+4>>2]|0)){o=d+21792|0;f=z+27012|0;i=d+21812|0;n=d+4|0;j=z+26380|0;k=z+27008|0;e=t;while(1){w=(N(c[f>>2]|0,c[o>>2]|0)|0)+(c[C>>2]|0)|0;b=c[i>>2]|0;if((w|0)>=(b|0)){f=46;break}b=wk(z,d)|0;if((b|0)<=-1){f=52;break}sk(z,d);if(c[x>>2]|0){c[o>>2]=(c[o>>2]|0)+1;b=wk(z,d)|0;if((b|0)<=-1){f=50;break}sk(z,d);c[o>>2]=(c[o>>2]|0)+-1}b=(c[C>>2]|0)+1|0;c[C>>2]=b;if((b|0)>=(c[f>>2]|0)){fk(z,d,e,b);c[C>>2]=0;uk(z,d);b=c[o>>2]|0;e=b+1|0;c[o>>2]=e;if(!(c[x>>2]|0)){if((c[j>>2]|0)!=3){e=b+2|0;c[o>>2]=e}}else{b=b+2|0;c[o>>2]=b;if((b|0)<(c[k>>2]|0)){vk(z,d);e=c[o>>2]|0}else e=b}if((e|0)<(c[k>>2]|0))h=0;else{f=61;break}}else h=e;g=nk(n)|0;if((g|0)>=1){e=h;continue}if((c[p>>2]|0)<1){f=68;break}else e=h}if((f|0)==46){B=c[y>>2]|0;c[q>>2]=b;Uf(B,16,134632,q);qk(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[C>>2]|0,c[o>>2]|0,14);b=-1094995529;break a}else if((f|0)==50){e=(c[o>>2]|0)+-1|0;c[o>>2]=e}else if((f|0)==52)e=c[o>>2]|0;else if((f|0)==61){b=nk(n)|0;do if(b|0){if((b|0)>0?(c[(c[y>>2]|0)+580>>2]&262144|0)==0:0)break;qk(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[C>>2]|0,e,112);b=-1094995529;break a}while(0);qk(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[C>>2]|0)+-1|0,e,112);break}else if((f|0)==68){b=c[d+21800>>2]|0;e=c[d+21804>>2]|0;f=c[C>>2]|0;if(g|0){qk(d,b,e,f,c[o>>2]|0,14);b=-1094995529;break a}qk(d,b,e,f+-1|0,c[o>>2]|0,112);b=c[C>>2]|0;if((b|0)<=(h|0))break;fk(z,d,h,b);break}B=c[y>>2]|0;c[r>>2]=c[C>>2];c[r+4>>2]=e;Uf(B,16,134736,r);qk(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[C>>2]|0,c[o>>2]|0,14);break a}else{b=d+4|0;lk(b);q=d+32856|0;s=c[b>>2]|0;s=s+((mk(b)|0)/8|0)|0;b=ok(q,s,((nk(b)|0)+7|0)/8|0)|0;if((b|0)<0)break a;pk(z,d);s=d+21792|0;i=z+27012|0;j=d+21812|0;k=z+25700|0;r=d+32872|0;p=d+32876|0;n=z+27008|0;o=z+26380|0;h=t;b=c[s>>2]|0;while(1){t=(N(c[i>>2]|0,b)|0)+(c[C>>2]|0)|0;b=c[j>>2]|0;if((t|0)>=(b|0)){f=19;break}b=rk(z,d)|0;if((b|0)>-1?(sk(z,d),(c[x>>2]|0)!=0):0){c[s>>2]=(c[s>>2]|0)+1;b=rk(z,d)|0;if((b|0)>-1)sk(z,d);c[s>>2]=(c[s>>2]|0)+-1}g=tk(q)|0;e=c[r>>2]|0;f=c[p>>2]|0;if((c[k>>2]&16384|0)!=0&e>>>0>(f+2|0)>>>0){f=26;break}if(e>>>0>(f+2|0)>>>0){t=c[y>>2]|0;c[u>>2]=f-e;Uf(t,48,134664,u)}if((b|0)<0){f=31;break}b=c[r>>2]|0;e=c[p>>2]|0;if(b>>>0>(e+4|0)>>>0){f=33;break}b=(c[C>>2]|0)+1|0;c[C>>2]=b;do if((b|0)>=(c[i>>2]|0)){fk(z,d,h,b);c[C>>2]=0;uk(z,d);b=c[s>>2]|0;c[s>>2]=b+1;if(!(c[x>>2]|0)){if((c[o>>2]|0)==3){e=0;break}c[s>>2]=b+2;e=0;break}else{t=b+2|0;c[s>>2]=t;if((t|0)>=(c[n>>2]|0)){e=0;break}vk(z,d);e=0;break}}else e=h;while(0);b=c[s>>2]|0;if(g|0){f=43;break}if((b|0)>=(c[n>>2]|0)){f=43;break}else h=e}if((f|0)==19){B=c[y>>2]|0;c[v>>2]=b;Uf(B,16,134632,v);qk(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[C>>2]|0,c[s>>2]|0,14);b=-1094995529;break a}else if((f|0)==26){qk(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[C>>2]|0)+-1|0,c[s>>2]|0,112);b=c[C>>2]|0;if((b|0)<(h|0))break;fk(z,d,h,b+1|0);break}else if((f|0)==31){e=c[p>>2]|0;b=c[r>>2]|0}else if((f|0)!=33)if((f|0)==43){qk(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[C>>2]|0)+-1|0,b,112);b=c[C>>2]|0;if((b|0)<=(e|0))break;fk(z,d,e,b);break}B=c[y>>2]|0;A=c[s>>2]|0;c[w>>2]=c[C>>2];c[w+4>>2]=A;c[w+8>>2]=e-b;Uf(B,16,134689,w);qk(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[C>>2]|0,c[s>>2]|0,14);b=-1094995529;break a}while(0);c[A>>2]=B;b=0}while(0);l=D;return b|0}function fk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;aa=e+21792|0;_=b+26376|0;h=c[_>>2]|0;ba=h+(c[aa>>2]|0)|0;ca=e+836|0;$=c[ca>>2]|0;X=b+25664|0;Y=c[X>>2]|0;Z=16>>>(c[b+25680>>2]|0);if(!(c[b+25708>>2]|0)){a:do if(!(c[e+868>>2]|0)){l=b+28212|0;k=e+852|0;j=e+856|0;i=e+21788|0}else{I=b+27016|0;J=e+21796|0;K=b+24364|0;i=e+21788|0;L=b+24316|0;M=e+21772|0;O=b+28216|0;P=e+21776|0;Q=e+21828|0;R=e+21780|0;S=e+21784|0;l=b+28212|0;T=b+24340|0;k=e+852|0;j=e+856|0;U=e+21832|0;V=e+27796|0;W=1-Z|0;while(1){h=c[_>>2]|0;if((f|0)>=(g|0))break a;H=f<<Y;E=ba-h|0;while(1){if((E|0)>(ba|0))break;F=(N(c[I>>2]|0,E)|0)+f|0;c[J>>2]=F;G=c[(c[K>>2]|0)+(F<<2)>>2]|0;t=(c[_>>2]|0)==0;h=G>>>7&1;if(t)h=c[Q>>2]|0;else{c[Q>>2]=h;c[U>>2]=h}c[i>>2]=f;c[aa>>2]=E;C=c[L>>2]|0;p=c[M>>2]|0;m=(c[C>>2]|0)+((N(p,E)|0)+H<<4)|0;s=c[(c[O>>2]|0)+12>>2]|0;z=(s|0)==3;D=N(8<<(z&1),H)|0;r=c[P>>2]|0;o=N(N(E,Z)|0,r)|0;n=(c[C+4>>2]|0)+D+o|0;o=(c[C+8>>2]|0)+D+o|0;if(h){h=p<<1;c[R>>2]=h;q=r<<1;c[S>>2]=q;if(!(E&1)){D=n;C=o;p=h}else{C=N(W,r)|0;m=m+(N(p,-15)|0)|0;D=n+C|0;C=o+C|0;p=h}}else{c[R>>2]=p;c[S>>2]=r;D=n;C=o;q=r}w=c[X>>2]|0;x=(s|0)==2;v=m+(0-p)|0;B=0-q|0;y=D+B|0;B=C+B|0;do if(!t){h=(c[U>>2]|0)!=0;if(!(E&1))if(h){h=0;u=f;A=33;break}else break;if(!h){t=c[V>>2]|0;h=v+(p*15|0)|0;s=h;A=c[s+4>>2]|0;u=t+(f*96|0)|0;c[u>>2]=c[s>>2];c[u+4>>2]=A;u=h+8|0;A=c[u+4>>2]|0;s=t+(f*96|0)+8|0;c[s>>2]=c[u>>2];c[s+4>>2]=A;s=(w|0)!=0;h=h+16|0;if(s){A=h;u=c[A+4>>2]|0;r=t+(f*96|0)+16|0;c[r>>2]=c[A>>2];c[r+4>>2]=u;r=h+8|0;u=c[r+4>>2]|0;A=t+(f*96|0)+24|0;c[A>>2]=c[r>>2];c[A+4>>2]=u}do if(z){h=q*15|0;n=y+h|0;r=n;o=c[r>>2]|0;r=c[r+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=o;c[A+4>>2]=r;A=n+8|0;u=c[A+4>>2]|0;s=t+(f*96|0)+40|0;c[s>>2]=c[A>>2];c[s+4>>2]=u;n=n+16|0;s=n;u=c[s+4>>2]|0;A=t+(f*96|0)+48|0;c[A>>2]=c[s>>2];c[A+4>>2]=u;n=n+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+56|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=B+h|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+64|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=h+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+72|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=h+16|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+80|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=88;h=h+8|0;break}else{A=t+(f*96|0)+16|0;c[A>>2]=o;c[A+4>>2]=r;n=n+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+24|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=B+h|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+32|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=40;h=h+8|0;break}}else if(x){r=q*15|0;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=n;c[A+4>>2]=o;A=h+8|0;u=c[A+4>>2]|0;h=t+(f*96|0)+40|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=B+r|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+48|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=56;h=h+8|0;break}else{h=t+(f*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}else{r=q*7|0;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=n;c[A+4>>2]=o;A=h+8|0;u=c[A+4>>2]|0;h=t+(f*96|0)+40|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=B+r|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+48|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=56;h=h+8|0;break}else{h=t+(f*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}while(0);A=h;u=c[A+4>>2]|0;h=t+(f*96|0)+n|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=1;u=c[i>>2]|0;A=33}else{h=1;u=f;A=33}}else{h=1;u=f;A=33}while(0);if((A|0)==33){A=0;t=c[e+27796+(h<<2)>>2]|0;r=p<<4;h=v+r|0;s=h;v=c[s+4>>2]|0;o=t+(u*96|0)|0;c[o>>2]=c[s>>2];c[o+4>>2]=v;o=h+8|0;v=c[o+4>>2]|0;s=t+(u*96|0)+8|0;c[s>>2]=c[o>>2];c[s+4>>2]=v;s=(w|0)!=0;h=h+16|0;if(s){w=h;v=c[w+4>>2]|0;o=t+(u*96|0)+16|0;c[o>>2]=c[w>>2];c[o+4>>2]=v;o=h+8|0;v=c[o+4>>2]|0;w=t+(u*96|0)+24|0;c[w>>2]=c[o>>2];c[w+4>>2]=v}do if(z){h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;z=h+8|0;y=c[z+4>>2]|0;n=t+(u*96|0)+40|0;c[n>>2]=c[z>>2];c[n+4>>2]=y;n=h+16|0;y=n;h=c[y+4>>2]|0;z=t+(u*96|0)+48|0;c[z>>2]=c[y>>2];c[z+4>>2]=h;n=n+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+56|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+64|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=h+8|0;B=c[n+4>>2]|0;z=t+(u*96|0)+72|0;c[z>>2]=c[n>>2];c[z+4>>2]=B;h=h+16|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+80|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=88;h=h+8|0;break}else{z=t+(u*96|0)+16|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+24|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+32|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=40;h=h+8|0;break}}else if(x){r=q<<4;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+48|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=56;h=h+8|0;break}else{h=t+(u*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}else{r=q<<3;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+48|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=56;h=h+8|0;break}else{h=t+(u*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}while(0);y=h;z=c[y+4>>2]|0;B=t+(u*96|0)+n|0;c[B>>2]=c[y>>2];c[B+4>>2]=z}do if(!(gk(b,e,G)|0)){G=c[l>>2]|0;F=(c[T>>2]|0)+F|0;c[k>>2]=d[(a[F>>0]|0)+(G+548)>>0];c[j>>2]=d[(a[F>>0]|0)+(G+636)>>0];if(!(c[_>>2]|0)){ik(b,e,f,E,m,D,C,p,q);break}else{hk(b,e,f,E,m,D,C,p,q);break}}while(0);E=E+1|0}f=f+1|0}}while(0);c[ca>>2]=$;c[i>>2]=g;c[aa>>2]=ba-h;ba=c[l>>2]|0;ca=c[e+848>>2]|0;c[k>>2]=d[ba+548+ca>>0];c[j>>2]=d[ba+636+ca>>0]}return}
function sR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);i=j;g=j+8|0;c[g>>2]=0;do if(b){f=0;while(1){f=$h(c[b>>2]|0,262540,f,2)|0;if(!f){d=7;break}h=f+4|0;e=RQ(a,c[f>>2]|0,c[h>>2]|0,d)|0;if((e|0)==-1414549496)e=ai(g,c[f>>2]|0,c[h>>2]|0,0)|0;if((e|0)<0){d=6;break}}if((d|0)==6){h=c[h>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=h;Uf(a,16,159424,i);Dg(g);break}else if((d|0)==7){Dg(b);c[b>>2]=c[g>>2];e=0;break}}else e=0;while(0);l=j;return e|0}function tR(a,b){a=a|0;b=b|0;return sR(a,b,0)|0}function uR(a){a=a|0;if(a>>>0<=11){if(!(3040>>>a&1))a=c[101804+(a*20|0)+16>>2]|0}else a=-1;return a|0}function vR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=o;if((f|0)<=-1){c[g>>2]=159462;c[g+4>>2]=159478;c[g+8>>2]=102;Uf(0,0,159675,g);Ub()}if(!f){f=LQ()|0;f=(f|0)>1?f+1|0:1}k=(e|0)==0;j=f+(k<<31>>31)|0;n=Lg(120)|0;c[a>>2]=n;a:do if(!n)f=-12;else{if(j|0?(i=QQ(j,88)|0,c[n>>2]=i,(i|0)==0):0){Qf(a);f=-12;break}c[n+108>>2]=b;c[n+112>>2]=d;c[n+116>>2]=e;b=n+4|0;c[b>>2]=f;g=n+8|0;c[n+104>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;Cc(n+24|0,0)|0;uc(n+52|0,0)|0;c[n+100>>2]=0;g=0;while(1){if((g|0)>=(j|0))break a;p=c[n>>2]|0;i=p+(g*88|0)|0;c[i>>2]=n;d=p+(g*88|0)+4|0;Cc(d|0,0)|0;e=p+(g*88|0)+32|0;uc(e|0,0)|0;kX(d|0)|0;h=p+(g*88|0)+84|0;c[h>>2]=0;i=xc(p+(g*88|0)+80|0,0,20,i|0)|0;if(i|0)break;while(1){if(c[h>>2]|0)break;wc(e|0,d|0)|0}lX(d|0)|0;g=g+1|0}c[b>>2]=g+(k&1);lX(d|0)|0;tc(e|0)|0;Bc(d|0)|0;xR(a);f=0-i|0}while(0);l=o;return f|0}function wR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a>>2]|0;h=a+4|0;kX(h|0)|0;i=a+32|0;vc(i|0)|0;j=g+104|0;b=a+84|0;d=g+24|0;e=g+100|0;f=g+52|0;while(1){c[b>>2]=1;a=1;while(1){if(!a)break;wc(i|0,h|0)|0;a=c[b>>2]|0}if(c[j>>2]|0)break;if(!(yR(g)|0))continue;kX(d|0)|0;c[e>>2]=1;vc(f|0)|0;lX(d|0)|0}lX(h|0)|0;return 0}function xR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(e=c[a>>2]|0,e|0):0){d=(c[e+4>>2]|0)+(((c[e+116>>2]|0)==0)<<31>>31)|0;c[e+104>>2]=1;b=0;while(1){if((b|0)>=(d|0)){b=0;break}g=c[e>>2]|0;f=g+(b*88|0)+4|0;kX(f|0)|0;c[g+(b*88|0)+84>>2]=0;vc(g+(b*88|0)+32|0)|0;lX(f|0)|0;b=b+1|0}while(1){if((b|0)>=(d|0))break;g=c[e>>2]|0;zc(c[g+(b*88|0)+80>>2]|0,0)|0;tc(g+(b*88|0)+32|0)|0;Bc(g+(b*88|0)+4|0)|0;b=b+1|0}tc(e+52|0)|0;Bc(e+24|0)|0;Qf(e);Qf(a)}return}function yR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=c[a+12>>2]|0;e=c[a+8>>2]|0;g=a+16|0;f=c[g>>2]|0;c[g>>2]=f+1;g=a+112|0;h=a+108|0;b=a+20|0;a=f;do{Vd[c[g>>2]&127](c[h>>2]|0,a,f,d,e);a=c[b>>2]|0;c[b>>2]=a+1}while(a>>>0<d>>>0);return (a|0)==(d+-1+e|0)|0}function zR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=h;if((b|0)<=0){c[e>>2]=159502;c[e+4>>2]=159478;c[e+8>>2]=168;Uf(0,0,159675,e);Ub()}c[a+12>>2]=b;f=c[a+4>>2]|0;e=a+8|0;c[e>>2]=(f|0)<(b|0)?f:b;c[a+16>>2]=0;c[a+20>>2]=c[e>>2];f=a+116|0;d=(d|0)!=0;b=(c[e>>2]|0)+((d&(c[f>>2]|0)!=0^1)<<31>>31)|0;e=0;while(1){if((e|0)>=(b|0))break;j=c[a>>2]|0;i=j+(e*88|0)+4|0;kX(i|0)|0;c[j+(e*88|0)+84>>2]=0;vc(j+(e*88|0)+32|0)|0;lX(i|0)|0;e=e+1|0}b=c[f>>2]|0;if(!(d&(b|0)!=0)){if(!(yR(a)|0))g=9}else{Rd[b&31](c[a+108>>2]|0);g=9}if((g|0)==9){e=a+24|0;kX(e|0)|0;d=a+100|0;b=a+52|0;while(1){if(c[d>>2]|0)break;wc(b|0,e|0)|0}c[d>>2]=0;lX(e|0)|0}l=h;return}function AR(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=c[107748+(d<<2)>>2]|0;Dc(185648,4)|0;if(!d)c[a>>2]=1;return b|0}function BR(){var a=0,b=0;a=0;while(1){b=c[107748+(a<<2)>>2]|0;if(a|0)break;a=c[b+76>>2]|0;if(!a){a=1;continue}Rd[a&31](b);a=1}return}function CR(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);b=e;c[b>>2]=0;a=0;while(1){d=AR(b)|0;if(!d)break;if(!a){a=d;continue}c[a+60>>2]=d;a=d}l=e;return}function DR(a){a=a|0;Dc(185652,5)|0;if(!a)a=101632;else a=c[a+60>>2]|0;return a|0}function ER(a){a=a|0;return GR(a,21)|0}function FR(a){a=a|0;if(a)if((c[a+84>>2]|0)==0?(c[a+88>>2]|0)==0:0)a=(c[a+100>>2]|0)!=0&1;else a=1;else a=0;return a|0}function GR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;c[f>>2]=0;d=HR(a)|0;a=0;a:while(1){while(1){e=AR(f)|0;if(!e)break a;if(!(Kd[b&31](e)|0))continue;if((c[e+12>>2]|0)==(d|0))break}if(a|0?1:(c[e+16>>2]&512|0)==0){a=e;break}else a=e}l=g;return a|0}function HR(a){a=a|0;return a|0}function IR(a){a=a|0;return GR(a,22)|0}function JR(a){a=a|0;if(a)if(!(c[a+92>>2]|0))a=(c[a+108>>2]|0)!=0&1;else a=1;else a=0;return a|0}function KR(a){a=a|0;var b=0;b=ag(896)|0;if(b){if((VR(b,a)|0)<0){Rf(b);b=0}}else b=0;return b|0}function LR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(a|0){if(MR(a)|0){f=a+28|0;b=c[f>>2]|0;e=c[b+16>>2]|0;if(c[b+20>>2]|0)NR(a);b=c[a+12>>2]|0;if(b|0?(d=c[b+96>>2]|0,d|0):0)Kd[d&31](a)|0;b=c[f>>2]|0;c[b+48>>2]=0;Qf(b+44|0);Dh((c[f>>2]|0)+12|0);Dh((c[f>>2]|0)+100|0);Dh((c[f>>2]|0)+76|0);ug((c[f>>2]|0)+68|0);ug((c[f>>2]|0)+40|0);ug((c[f>>2]|0)+24|0);b=0;while(1){if((b|0)==4)break;Wg(e+(b<<2)|0);b=b+1|0}Qf((c[f>>2]|0)+16|0);b=c[a+592>>2]|0;if(b|0?(g=c[b+52>>2]|0,g|0):0)Kd[g&31](a)|0;Qf((c[f>>2]|0)+60|0);OR(a);Qf(f)}d=a+856|0;e=a+852|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Qf((c[e>>2]|0)+(b*12|0)|0);b=b+1|0}Qf(e);c[d>>2]=0;zg(a+860|0);zg(a+880|0);d=a+24|0;e=c[d>>2]|0;b=a+12|0;if((e|0?(h=c[b>>2]|0,h|0):0)?c[h+44>>2]|0:0)tg(e);tg(a);Qf(d);if(FR(c[b>>2]|0)|0){Qf(a+68|0);Dh(a+684|0)}c[b>>2]=0;c[a+696>>2]=0}return 0}function MR(a){a=a|0;return (c[a+28>>2]|0)!=0|0}function NR(a){a=a|0;if(!(c[a+696>>2]&1))QR(a);else PR(a,c[a+688>>2]|0);return}function OR(a){a=a|0;var b=0,d=0;d=c[a+28>>2]|0;b=d+36|0;d=d+32|0;a=0;while(1){if((a|0)>=(c[b>>2]|0))break;sg((c[d>>2]|0)+(a<<2)|0);a=a+1|0}Qf(d);c[b>>2]=0;return}function PR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=r;k=a+28|0;n=c[(c[k>>2]|0)+20>>2]|0;p=a+12|0;e=c[p>>2]|0;RR(n,b);f=n+4|0;g=c[f>>2]|0;if((g|0?(d=c[n>>2]|0,(g|0)!=(d|0)):0)?(SR(c[d+212>>2]|0,c[g+212>>2]|0,0)|0)<0:0){Uf(a,16,159514,h);h=c[(c[(c[n>>2]|0)+212>>2]|0)+28>>2]|0;c[c[(c[(c[f>>2]|0)+212>>2]|0)+28>>2]>>2]=c[h>>2];c[h>>2]=1}f=e+96|0;e=0;while(1){if((e|0)>=(b|0)){d=0;break}g=c[n>>2]|0;h=g+(e*352|0)|0;d=g+(e*352|0)+156|0;kX(d|0)|0;c[g+(e*352|0)+332>>2]=1;vc(g+(e*352|0)+12|0)|0;lX(d|0)|0;d=g+(e*352|0)+8|0;if(c[d>>2]|0)zc(c[g+(e*352|0)+4>>2]|0,0)|0;c[d>>2]=0;d=c[f>>2]|0;if(d|0?(i=c[g+(e*352|0)+212>>2]|0,i|0):0)Kd[d&31](i)|0;TR(h);Dh(g+(e*352|0)+288|0);e=e+1|0}while(1){if((d|0)>=(b|0))break;e=c[n>>2]|0;Bc(e+(d*352|0)+156|0)|0;Bc(e+(d*352|0)+184|0)|0;tc(e+(d*352|0)+12|0)|0;tc(e+(d*352|0)+60|0)|0;tc(e+(d*352|0)+108|0)|0;xg(e+(d*352|0)+216|0);Qf(e+(d*352|0)+304|0);e=e+(d*352|0)+212|0;if(d){f=c[e>>2]|0;if(f|0){Qf(f+24|0);Qf((c[e>>2]|0)+184|0);o=17}}else o=17;if((o|0)==17?(o=0,j=c[e>>2]|0,j|0):0){Qf(j+28|0);zg((c[e>>2]|0)+860|0)}Qf(e);d=d+1|0}Qf(n);Bc(n+8|0)|0;Bc(n+36|0)|0;Bc(n+64|0)|0;tc(n+92|0)|0;Qf((c[k>>2]|0)+20|0);d=c[a+24>>2]|0;if((d|0?(q=c[p>>2]|0,q|0):0)?c[q+44>>2]|0:0)tg(d);c[p>>2]=0;l=r;return}function QR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+28|0;d=c[(c[b>>2]|0)+20>>2]|0;xR(d);e=d+36|0;f=d+44|0;g=d+40|0;a=0;while(1){if((a|0)>=(c[e>>2]|0))break;Bc((c[f>>2]|0)+(a*28|0)|0)|0;tc((c[g>>2]|0)+(a*48|0)|0)|0;a=a+1|0}Qf(d+28|0);Qf(f);Qf(g);Qf((c[b>>2]|0)+20|0);return}function RR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;UR(a);d=0;while(1){if((d|0)>=(b|0))break;e=c[a>>2]|0;f=e+(d*352|0)+300|0;if(c[f>>2]|0){g=e+(d*352|0)+184|0;kX(g|0)|0;h=e+(d*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;wc(h|0,g|0)|0}lX(g|0)|0}c[e+(d*352|0)+292>>2]=0;d=d+1|0}Rl(a);return}function SR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;do if((a|0)==(b|0))k=10;else{if((d|0)==0?c[(c[b+780>>2]|0)+16>>2]&1|0:0){k=12;break}e=b+76|0;f=c[e+4>>2]|0;g=a+76|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+760|0;f=c[g+4>>2]|0;e=a+760|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+92>>2]=c[b+92>>2];c[a+96>>2]=c[b+96>>2];c[a+112>>2]=c[b+112>>2];c[a+768>>2]=c[b+768>>2];c[a+100>>2]=c[b+100>>2];c[a+104>>2]=c[b+104>>2];c[a+140>>2]=c[b+140>>2];c[a+668>>2]=c[b+668>>2];c[a+672>>2]=c[b+672>>2];e=b+188|0;f=c[e+4>>2]|0;g=a+188|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+716>>2]=c[b+716>>2];c[a+720>>2]=c[b+720>>2];c[a+676>>2]=c[b+676>>2];c[a+84>>2]=c[b+84>>2];c[a+316>>2]=c[b+316>>2];c[a+320>>2]=c[b+320>>2];c[a+324>>2]=c[b+324>>2];c[a+328>>2]=c[b+328>>2];c[a+332>>2]=c[b+332>>2];c[a+592>>2]=c[b+592>>2];c[a+596>>2]=c[b+596>>2];c[a+348>>2]=c[b+348>>2];c[a+344>>2]=c[b+344>>2];c[a+352>>2]=c[b+352>>2];g=b+376|0;f=c[g+4>>2]|0;e=a+376|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[(c[a+28>>2]|0)+60>>2]=c[(c[b+28>>2]|0)+60>>2];e=a+860|0;f=c[e>>2]|0;g=(f|0)!=0;h=b+860|0;i=c[h>>2]|0;if(!(g^(i|0)!=0)){if(g?(c[f+4>>2]|0)!=(c[i+4>>2]|0):0)k=7}else k=7;if(((k|0)==7?(zg(e),j=c[h>>2]|0,j|0):0)?(j=Bh(j)|0,c[e>>2]=j,(j|0)==0):0){e=-12;break}c[a+884>>2]=c[b+884>>2];k=10}while(0);if((k|0)==10)if(!d)k=12;else{c[a+88>>2]=(c[b+688>>2]|0)+-1;c[a+684>>2]=c[b+684>>2];e=0}if((k|0)==12){e=c[(c[a+12>>2]|0)+68>>2]|0;if(!e)e=0;else e=Ld[e&15](a,b)|0}return e|0}function TR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;b=a+308|0;d=(c[a>>2]|0)+8|0;e=a+212|0;a=a+304|0;while(1){if((c[b>>2]|0)<=0){a=6;break}kX(d|0)|0;if((c[(c[e>>2]|0)+8>>2]|0)>>>0>=2){a=4;break}j=c[a>>2]|0;i=(c[b>>2]|0)+-1|0;c[b>>2]=i;h=j+(i*408|0)|0;c[j+(i*408|0)+64>>2]=h;_g(h);lX(d|0)|0}if((a|0)==4){c[f>>2]=159542;c[f+4>>2]=159631;c[f+8>>2]=371;Uf(0,0,159675,f);Ub()}else if((a|0)==6){l=g;return}}function UR(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f;b=a+64|0;kX(b|0)|0;d=a+140|0;if(!(c[d>>2]|0)){c[e>>2]=159658;c[e+4>>2]=159631;c[e+8>>2]=155;Uf(0,0,159675,e);Ub()}else{c[d>>2]=0;jX(a+92|0)|0;lX(b|0)|0;l=f;return}}function VR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;iX(a|0,0,896)|0;c[a>>2]=107756;e=(b|0)!=0;a:do if(e){d=c[b+8>>2]|0;c[a+8>>2]=d;c[a+12>>2]=b;c[a+16>>2]=c[b+12>>2];switch(d|0){case 1:{d=8;break a}case 0:{d=16;break a}case 3:{d=32;break a}default:{f=6;break a}}}else{c[a+8>>2]=-1;f=6}while(0);if((f|0)==6)d=0;rR(a,d,d);c[a+76>>2]=0;c[a+80>>2]=1;c[a+760>>2]=0;c[a+764>>2]=1;c[a+772>>2]=0;c[a+776>>2]=1;c[a+400>>2]=12;c[a+120>>2]=9;c[a+704>>2]=4;c[a+708>>2]=41;c[a+188>>2]=0;c[a+192>>2]=1;c[a+112>>2]=-1;c[a+768>>2]=-1;c[a+352>>2]=-1;f=a+584|0;c[f>>2]=0;c[f+4>>2]=-2147483648;b:do if(e){e=c[b+56>>2]|0;if(e|0){f=a+24|0;d=c[f>>2]|0;if(!d){d=Lg(e)|0;c[f>>2]=d;if(!d){g=-12;break}}e=c[b+44>>2]|0;if(e|0){c[d>>2]=e;qR(c[f>>2]|0)}}d=c[b+72>>2]|0;if(d){while(1){e=c[d>>2]|0;if(!e){g=0;break b}if((RQ(a,e,c[d+4>>2]|0,0)|0)>-1)d=d+8|0;else break}c[h>>2]=159705;c[h+4>>2]=159714;c[h+8>>2]=142;Uf(0,0,159675,h);Ub()}else g=0}else g=0;while(0);l=i;return g|0}function WR(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=(e|0)==0;h=0;while(1){if((h|0)>=(f|0))break;i=d+(N(h,g)|0)|0;i=Ld[b&15](a,i)|0;if(!j)c[e+(h<<2)>>2]=i;h=h+1|0}return 0}function XR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(e|0)==0;g=0;while(1){if((g|0)>=(f|0))break;i=Nd[b&3](a,d,g,0)|0;if(!h)c[e+(g<<2)>>2]=i;g=g+1|0}return 0}function YR(a){a=a|0;var b=0,d=0;if(!(((a|0)!=0?(d=c[a+12>>2]|0,(d|0)!=0):0)?(b=c[d>>2]|0,(b|0)!=0):0))b=170826;return b|0}function ZR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!((((b|0)==0?(e=c[a+12>>2]|0,(e|0)!=0):0)?(c[e+44>>2]|0)!=0:0)?(d=c[a+24>>2]|0,(d|0)!=0):0))d=0;return d|0}function _R(a){a=a|0;var b=0;a:do if(!a)a=0;else{b=0;while(1){b=DR(b)|0;if(!b){a=0;break a}if((c[b+44>>2]|0)==(a|0)){a=b;break}}}while(0);do{a=DR(a)|0;if(!a){b=0;break}b=c[a+44>>2]|0}while(!(b|0));return b|0}function $R(a){a=a|0;a=c[a+12>>2]|0;if((a|0)!=0?(c[a+92>>2]|0)!=0:0)a=6;else a=5;return a|0}function aS(b,d){b=b|0;d=d|0;var e=0;if(d>>>0<=2147483582){e=bQ(b,d+64|0)|0;if((e|0)>=0){e=(c[(c[b>>2]|0)+4>>2]|0)+d|0;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=0}}else e=-22;return e|0}function bS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+44|0;j=c[i>>2]|0;h=a+40|0;a=0;while(1){if((a|0)>=(j|0)){g=6;break}f=c[h>>2]|0;if((c[f+(a*12|0)+8>>2]|0)==(b|0)){g=4;break}a=a+1|0}if((g|0)==4){j=f+(a*12|0)|0;Rf(c[j>>2]|0);c[j>>2]=d;c[f+(a*12|0)+4>>2]=e;a=0}else if((g|0)==6){a=j+1|0;if(a>>>0<=24){a=$f(c[h>>2]|0,a*12|0)|0;if(!a)a=-12;else{c[h>>2]=a;c[a+(j*12|0)>>2]=d;c[a+(j*12|0)+4>>2]=e;c[a+(j*12|0)+8>>2]=b;c[i>>2]=(c[i>>2]|0)+1;a=0}}else a=-34}return a|0}function cS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;if(d>>>0<=2147483583?(e=Lg(d+64|0)|0,c[f>>2]=e,(e|0)!=0):0){if((bS(a,b,e,d)|0)<0){Qf(f);e=0}}else e=0;l=g;return e|0}function dS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b+8|0;d=c[g+4>>2]|0;h=a+8|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+16|0;d=c[h+4>>2]|0;g=a+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+56|0;d=c[g+4>>2]|0;h=a+56|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+48|0;d=c[h+4>>2]|0;g=a+48|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+64|0;d=c[g+4>>2]|0;h=a+64|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;c[a+36>>2]=c[b+36>>2];c[a+32>>2]=c[b+32>>2];c[a+40>>2]=0;c[a+44>>2]=0;h=b+44|0;d=b+40|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}g=c[d>>2]|0;e=c[g+(b*12|0)+4>>2]|0;f=c[g+(b*12|0)>>2]|0;g=cS(a,c[g+(b*12|0)+8>>2]|0,e)|0;if(!g){i=4;break}gX(g|0,f|0,e|0)|0;b=b+1|0}if((i|0)==4){yg(a);b=-12}return b|0}function eS(a,b){a=a|0;b=b|0;var d=0,e=0;d=dS(a,b)|0;do if((d|0)>=0){d=c[b>>2]|0;if(!d){e=b+28|0;d=aS(a,c[e>>2]|0)|0;if((d|0)<0)b=10;else{d=c[e>>2]|0;if(d|0)gX(c[(c[a>>2]|0)+4>>2]|0,c[b+24>>2]|0,d|0)|0;d=(c[a>>2]|0)+4|0;b=9}}else{e=Bh(d)|0;c[a>>2]=e;if(!e){d=-12;b=10}else{e=b+28|0;d=b+24|0;b=9}}if((b|0)==9){c[a+24>>2]=c[d>>2];c[a+28>>2]=c[e>>2];d=0;break}else if((b|0)==10){yg(a);break}}while(0);return d|0}function fS(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=c[107800+(d<<2)>>2]|0;if(!d)c[a>>2]=1;return b|0}function gS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=e;c[d>>2]=0;do{b=fS(d)|0;if(!b){b=0;break}}while((HT(c[b>>2]|0,a)|0)!=0);l=e;return b|0}function hS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=j;e=Lg(40)|0;c[h>>2]=e;a:do if(!e)d=-12;else{c[e>>2]=107808;c[e+4>>2]=a;f=e+16|0;c[f>>2]=jS()|0;k=jS()|0;c[e+20>>2]=k;do if((!((k|0)==0|(c[f>>2]|0)==0)?(k=Lg(8)|0,d=e+8|0,c[d>>2]=k,k|0):0)?(g=KP()|0,c[c[d>>2]>>2]=g,g=c[h>>2]|0,i=g,c[c[g+8>>2]>>2]|0):0){qR(g);d=c[a+12>>2]|0;if(d|0){f=Lg(d)|0;e=g+12|0;c[e>>2]=f;if(!f)break;d=c[a+8>>2]|0;if(d|0){c[f>>2]=d;qR(c[e>>2]|0)}}c[b>>2]=i;d=0;break a}while(0);sg(h);d=-12}while(0);l=j;return d|0}function iS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;wg(a);e=c[b+8>>2]|0;c[a>>2]=e;c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+20>>2];g=b+40|0;f=c[g+4>>2]|0;d=a+24|0;c[d>>2]=c[g>>2];c[d+4>>2]=f;c[a+32>>2]=c[b+672>>2];c[a+36>>2]=c[b+676>>2];c[a+40>>2]=c[b+716>>2];c[a+44>>2]=c[b+720>>2];switch(e|0){case 0:{c[a+20>>2]=c[b+112>>2];c[a+48>>2]=c[b+92>>2];c[a+52>>2]=c[b+96>>2];c[a+64>>2]=c[b+340>>2];c[a+68>>2]=c[b+328>>2];c[a+72>>2]=c[b+316>>2];c[a+76>>2]=c[b+320>>2];c[a+80>>2]=c[b+324>>2];c[a+84>>2]=c[b+332>>2];e=b+188|0;f=c[e+4>>2]|0;g=a+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+88>>2]=c[b+140>>2];break}case 1:{c[a+20>>2]=c[b+352>>2];e=b+376|0;f=c[e+4>>2]|0;g=a+96|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+104>>2]=c[b+348>>2];c[a+108>>2]=c[b+344>>2];c[a+112>>2]=c[b+364>>2];c[a+116>>2]=c[b+356>>2];c[a+120>>2]=c[b+756>>2];c[a+124>>2]=c[b+868>>2];c[a+128>>2]=c[b+828>>2];break}case 3:{c[a+48>>2]=c[b+92>>2];c[a+52>>2]=c[b+96>>2];break}default:{}}e=b+68|0;if(c[e>>2]|0){b=b+72|0;d=Lg((c[b>>2]|0)+64|0)|0;c[a+12>>2]=d;if(!d)b=-12;else{b=c[b>>2]|0;gX(d|0,c[e>>2]|0,b|0)|0;c[a+16>>2]=b;b=0}}else b=0;return b|0}function jS(){var a=0;a=Lg(136)|0;if(!a)a=0;else wg(a);return a|0}function kS(a,b){a=a|0;b=b|0;if((b|0)==0?(c[(c[a+4>>2]|0)+8>>2]|0)!=0:0)a=c[a+12>>2]|0;else a=0;return a|0}function lS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=e;c[d>>2]=0;a:do if(a|0)do{b=fS(d)|0;if(!b)break a}while((c[b+8>>2]|0)!=(a|0));while(0);do{a=fS(d)|0;if(!a){a=0;break}a=c[a+8>>2]|0}while(!(a|0));l=e;return a|0}function mS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+28|0;g=c[e>>2]|0;f=g+64|0;do if(!(c[f>>2]|0)){d=nS(a,b)|0;if((d|0)==-541478725){c[f>>2]=1;d=-541478725;break}if((d|0)>=0){d=oS(c[e>>2]|0,b)|0;if((d|0)>=0){d=pS(a,b)|0;if((d|0)>=0){if(!(c[(c[a+12>>2]|0)+108>>2]|0)){d=0;break}d=g+92|0;c[d>>2]=(c[d>>2]|0)+(c[b+28>>2]|0);d=0;break}}xg(b)}}else d=-541478725;while(0);return d|0}function nS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);i=k;h=c[a+28>>2]|0;g=h+36|0;h=h+32|0;f=(c[g>>2]|0)+-1|0;while(1){if((f|0)<=-1){d=-11;break}d=Eg(c[(c[h>>2]|0)+(f<<2)>>2]|0,b)|0;if((d|0)==-11){f=f+-1|0;continue}e=(d|0)<0;if(e&(d|0)!=-541478725)break;if((f|0)==((c[g>>2]|0)+-1|0))break;f=f+1|0;d=Fg(c[(c[h>>2]|0)+(f<<2)>>2]|0,e?0:b)|0;if((d|0)<0){j=8;break}}if((j|0)==8){Uf(a,16,171049,i);xg(b)}l=k;return d|0}function oS(a,b){a=a|0;b=b|0;var d=0;d=a+40|0;xg(c[d>>2]|0);if(b){a=dS(c[d>>2]|0,b)|0;if(!a){c[(c[d>>2]|0)+28>>2]=c[b+28>>2];a=0}}else a=0;return a|0}function pS(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+48|0;if((l|0)>=(m|0))W(48);o=p+32|0;n=p+24|0;j=p+16|0;h=p+8|0;e=p;k=p+36|0;c[k>>2]=0;g=oi(b,2,k)|0;a:do if(!g)b=0;else{b:do if(!(c[(c[a+12>>2]|0)+16>>2]&16384)){Uf(a,16,170844,e);b=-22;e=a}else{f=c[k>>2]|0;c:do if((f|0)>=4){e=g+4|0;i=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;b=f+-4|0;c[k>>2]=b;do if(i&1){if((f|0)<8)break c;b=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((b|0)<1){Uf(a,16,170937,h);b=-1094995529;e=a;break b}else{c[a+348>>2]=b;b=f+-8|0;c[k>>2]=b;e=g+8|0;break}}while(0);if(i&2){if((b|0)<8)break;g=e;f=g;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=a+376|0;c[h>>2]=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;c[h+4>>2]=g;b=b+-8|0;c[k>>2]=b;e=e+8|0}do if(i&4){if((b|0)<4)break c;f=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((f|0)<1){Uf(a,16,170959,j);b=-1094995529;e=a;break b}else{c[a+344>>2]=f;b=b+-4|0;c[k>>2]=b;e=e+4|0;break}}while(0);if(!(i&8)){b=0;break a}if((b|0)>=8){n=e+4|0;j=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;c[a+92>>2]=j;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;c[a+96>>2]=n;c[k>>2]=b+-8;b=qS(a,j,n)|0;if((b|0)>=0){b=0;break a}e=a;break b}}while(0);Uf(a,16,170979,n);b=-1094995529;e=a}while(0);Uf(e,16,171014,o);b=(c[a+580>>2]&8|0)==0?0:b}while(0);l=p;return b|0}function qS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+872|0;e=Wh(b,d,c[e>>2]|0,c[e+4>>2]|0,-1,0,a)|0;g=(e|0)<0;f=g?0:d;b=g?0:b;c[a+100>>2]=b;c[a+104>>2]=f;d=c[a+680>>2]|0;c[a+92>>2]=0-(0-b>>d);c[a+96>>2]=0-(0-f>>d);return e|0}function rS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+28|0;g=c[d>>2]|0;a:do if((MR(a)|0)!=0?(JR(c[a+12>>2]|0)|0)!=0:0)if(!(c[(c[d>>2]|0)+64>>2]|0)){e=(b|0)!=0;if((e?(c[b+28>>2]|0)==0:0)?c[b+24>>2]|0:0){d=-22;break}d=sS(a)|0;if((d|0)>=0){f=g+68|0;xg(c[f>>2]|0);do if(e){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0)break;d=eS(c[f>>2]|0,b)|0;if((d|0)<0)break a}while(0);d=Fg(c[c[g+32>>2]>>2]|0,c[f>>2]|0)|0;if((d|0)<0){xg(c[f>>2]|0);break}d=c[g+76>>2]|0;b:do if((c[d+248>>2]|0)==0?(h=tS(a,d)|0,(h|0)<0):0)if((h|0)<-11)switch(h|0){case -541478725:break b;default:{d=h;break a}}else switch(h|0){case -11:break b;default:{d=h;break a}}while(0);d=0}}else d=-541478725;else d=-22;while(0);return d|0}function sS(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=o;h=o+8|0;i=o+4|0;d=c[b+28>>2]|0;j=d+36|0;a:do if(!(c[j>>2]|0)){f=c[(c[b+12>>2]|0)+120>>2]|0;f=(f|0)==0?171619:f;c[h>>2]=f;g=d+32|0;d=f;while(1){if(!d){d=0;break a}if(!(a[d>>0]|0)){d=0;break a}d=VP(h,171624)|0;c[i>>2]=d;if(!d){d=-12;break}d=gS(d)|0;if(!d){n=8;break}Qf(i);e=xN(c[g>>2]|0,(c[j>>2]|0)+1|0,4)|0;if(!e){d=-12;break}c[g>>2]=e;f=c[j>>2]|0;c[j>>2]=f+1;d=hS(d,e+(f<<2)|0)|0;if((d|0)<0)break;d=c[j>>2]|0;e=c[g>>2]|0;f=c[e+(d+-1<<2)>>2]|0;if((d|0)==1){c[f+24>>2]=1;c[f+28>>2]=9e4;d=iS(c[(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)+16>>2]|0,b)|0}else{e=(c[e+(d+-2<<2)>>2]|0)+32|0;d=c[e+4>>2]|0;f=f+24|0;c[f>>2]=c[e>>2];c[f+4>>2]=d;f=c[g>>2]|0;d=c[j>>2]|0;d=Hg(c[(c[f+(d+-1<<2)>>2]|0)+16>>2]|0,c[(c[f+(d+-2<<2)>>2]|0)+20>>2]|0)|0}if((d|0)<0)break;d=Ig(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)|0;if((d|0)<0)break;d=c[h>>2]|0}if((n|0)==8){c[k>>2]=c[i>>2];Uf(b,16,171626,k);Qf(i);d=-558323010}OR(b)}else d=0;while(0);l=o;return d|0}function tS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=i+16|0;d=i;e=c[a+28>>2]|0;if(c[b+248>>2]|0){c[d>>2]=171096;c[d+4>>2]=124617;c[d+8>>2]=607;Uf(0,0,159675,d);Ub()}f=a+12|0;d=c[(c[f>>2]|0)+108>>2]|0;if(!d)d=uS(a,b)|0;else d=Ld[d&15](a,b)|0;a:do if((d|0)>=0){switch(d|0){case 0:break;default:{h=16;break a}}d=c[b+400>>2]|0;e=(d|0)==0;if(!(!e?(c[d+8>>2]|0)==20:0))h=10;do if((h|0)==10)if(!(c[(c[f>>2]|0)+16>>2]&2))if(e){d=0;h=16;break a}else break;else{c[g>>2]=171111;c[g+4>>2]=124617;c[g+8>>2]=621;Uf(0,0,159675,g);Ub()}while(0);d=c[c[d+4>>2]>>2]|0;if(d){d=Ld[d&15](a,b)|0;if((d|0)<0)_g(b);else h=16}else{d=0;h=16}}else{switch(d|0){case -541478725:break;default:{h=16;break a}}c[e+80>>2]=1;d=-541478725;h=16}while(0);if((h|0)==16)zg(b+400|0);l=i;return d|0}function uS(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+248|0;do{if(c[e>>2]|0){d=0;break}d=vS(a,b)|0}while((d|0)>=0);return d|0}function vS(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0;Z=l;l=l+144|0;if((l|0)>=(m|0))W(144);M=Z+128|0;L=Z+120|0;Y=Z+64|0;S=Z+56|0;J=Z+48|0;H=Z+40|0;E=Z+32|0;A=Z+24|0;t=Z+16|0;q=Z+8|0;j=Z;V=Z+96|0;i=Z+76|0;s=Z+112|0;D=Z+104|0;P=Z+88|0;Q=Z+80|0;R=b+28|0;X=c[R>>2]|0;T=c[X+24>>2]|0;U=T+24|0;if(!(((c[U>>2]|0)==0?(c[X+64>>2]|0)==0:0)?(xg(T),f=mS(b,T)|0,(f|0)<0&(f|0)!=-541478725):0))k=4;do if((k|0)==4){O=X+80|0;if(!(c[O>>2]|0)){if(((c[U>>2]|0)==0?(c[(c[b+12>>2]|0)+16>>2]&32|0)==0:0)?(c[b+696>>2]&1|0)==0:0){f=-541478725;break}c[V>>2]=0;K=b+696|0;if(!(c[K>>2]&1)){h=b+12|0;f=Nd[c[(c[h>>2]|0)+92>>2]&3](b,e,V,T)|0;g=c[h>>2]|0;if(!(c[g+116>>2]&4)){w=T+16|0;x=c[w+4>>2]|0;z=e+120|0;c[z>>2]=c[w>>2];c[z+4>>2]=x}if(!(c[g+8>>2]|0)){if(!(c[b+140>>2]|0)){w=T+56|0;x=c[w+4>>2]|0;z=e+328|0;c[z>>2]=c[w>>2];c[z+4>>2]=x}if(!(c[g+16>>2]&2)){g=e+92|0;if(!(c[g>>2]|0)){w=b+188|0;x=c[w+4>>2]|0;z=g;c[z>>2]=c[w>>2];c[z+4>>2]=x}g=e+68|0;if(!(c[g>>2]|0))c[g>>2]=c[b+92>>2];g=e+72|0;if(!(c[g>>2]|0))c[g>>2]=c[b+96>>2];g=e+80|0;if((c[g>>2]|0)==-1){c[g>>2]=c[b+112>>2];x=h}else x=h}else x=h}else x=h}else{f=wS(b,e,V,T)|0;x=b+12|0}z=c[V>>2]|0;a:do switch(c[(c[x>>2]|0)+8>>2]|0){case 0:{if(c[e+296>>2]&4|0){c[V>>2]=0;break a}if(z|0){H=e+104|0;G=e+120|0;G=xS(b,c[H>>2]|0,c[H+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;H=e+320|0;c[H>>2]=G;c[H+4>>2]=y}break}case 1:{if((f|0)>-1&(z|0)!=0){g=e+104|0;w=e+120|0;w=xS(b,c[g>>2]|0,c[g+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;g=e+320|0;c[g>>2]=w;c[g+4>>2]=y;g=e+80|0;if((c[g>>2]|0)==-1)c[g>>2]=c[b+352>>2];g=e+240|0;w=g;if((c[w>>2]|0)==0&(c[w+4>>2]|0)==0){u=b+376|0;v=c[u+4>>2]|0;w=g;c[w>>2]=c[u>>2];c[w+4>>2]=v}g=e+352|0;if(!(c[g>>2]|0))c[g>>2]=c[b+348>>2];g=e+232|0;if(!(c[g>>2]|0))c[g>>2]=c[b+344>>2]}g=oi(c[X+40>>2]|0,11,i)|0;if((g|0)!=0&(c[i>>2]|0)>9){v=c[R>>2]|0;w=N(c[v+108>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;c[v+56>>2]=w;v=g+4|0;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;c[j>>2]=w;c[j+4>>2]=v;Uf(b,48,171231,j);w=a[g+8>>0]|0;u=a[g+9>>0]|0}else{v=0;w=0;u=0}g=c[V>>2]|0;if((g|0?(c[e+296>>2]&4|0)!=0:0)?(c[b+64>>2]&536870912|0)==0:0){n=(c[R>>2]|0)+56|0;j=(c[n>>2]|0)-(c[e+76>>2]|0)|0;c[n>>2]=(j|0)>0?j:0;c[V>>2]=0}else k=43;do if(((k|0)==43?(o=(c[R>>2]|0)+56|0,p=c[o>>2]|0,(p|0)>0&(g|0)!=0):0)?(c[b+64>>2]&536870912|0)==0:0){n=e+76|0;g=c[n>>2]|0;if((g|0)<=(p|0)){c[V>>2]=0;A=p-g|0;c[o>>2]=A;c[q>>2]=A;Uf(b,48,171278,q);break}q=c[e+64>>2]|0;Mh(q,q,0,p,g-p|0,c[b+348>>2]|0,c[e+80>>2]|0)|0;g=b+772|0;if((c[g>>2]|0)!=0?(r=c[b+344>>2]|0,(r|0)!=0):0){j=c[(c[R>>2]|0)+56>>2]|0;c[s>>2]=1;c[s+4>>2]=r;c[L>>2]=c[s>>2];c[L+4>>2]=c[s+4>>2];c[M>>2]=c[g>>2];c[M+4>>2]=c[g+4>>2];j=PQ(j,((j|0)<0)<<31>>31,L,M)|0;k=y;g=e+104|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){s=TW(h|0,i|0,j|0,k|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=y}g=e+112|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){s=TW(h|0,i|0,j|0,k|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=y}g=e+120|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){s=TW(h|0,i|0,j|0,k|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=y}g=e+336|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((i|0)<(k|0)|(i|0)==(k|0)&h>>>0<j>>>0)){s=UW(h|0,i|0,j|0,k|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=y}}else Uf(b,24,171311,t);t=c[n>>2]|0;c[A>>2]=c[(c[R>>2]|0)+56>>2];c[A+4>>2]=t;Uf(b,48,171361,A);A=(c[R>>2]|0)+56|0;c[n>>2]=(c[n>>2]|0)-(c[A>>2]|0);c[A>>2]=0}while(0);do if((v|0?(F=e+76|0,B=c[F>>2]|0,B>>>0>=v>>>0&(c[V>>2]|0)!=0):0)?(c[b+64>>2]&536870912|0)==0:0){if((B|0)==(v|0)){c[V>>2]=0;break}g=b+772|0;if((c[g>>2]|0)!=0?(C=c[b+344>>2]|0,(C|0)!=0):0){c[D>>2]=1;c[D+4>>2]=C;c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[M>>2]=c[g>>2];c[M+4>>2]=c[g+4>>2];E=PQ(B-v|0,0,L,M)|0;g=e+336|0;c[g>>2]=E;c[g+4>>2]=y;g=b}else{Uf(b,24,171381,E);g=b}E=c[F>>2]|0;c[H>>2]=v;c[H+4>>2]=E;Uf(g,48,171433,H);c[F>>2]=(c[F>>2]|0)-v}while(0);if((c[V>>2]|0?(c[b+64>>2]&536870912|0)!=0:0)?(G=Zh(e,9,10)|0,G|0):0){F=c[(c[R>>2]|0)+56>>2]|0;H=G+4|0;G=c[H>>2]|0;a[G>>0]=F;a[G+1>>0]=F>>8;a[G+2>>0]=F>>16;a[G+3>>0]=F>>24;G=(c[H>>2]|0)+4|0;a[G>>0]=v;a[G+1>>0]=v>>8;a[G+2>>0]=v>>16;a[G+3>>0]=v>>24;a[(c[H>>2]|0)+8>>0]=w;a[(c[H>>2]|0)+9>>0]=u;c[(c[R>>2]|0)+56>>2]=0}break}default:{}}while(0);g=c[x>>2]|0;if((((c[g+8>>2]|0)==1?(I=X+104|0,(f|0)>-1&(c[I>>2]|0)==0):0)?(f|0)!=(c[T+28>>2]|0):0)?(c[g+16>>2]&256|0)==0:0){Uf(b,24,171456,J);c[I>>2]=1}if(!(c[V>>2]|0))_g(e);if(((f|0)>-1?(c[(c[x>>2]|0)+8>>2]|0)==0:0)?(c[b+60>>2]&65536|0)==0:0)f=c[T+28>>2]|0;g=b+760|0;if((c[g>>2]|0)>0?(c[b+764>>2]|0)>0:0){c[Q>>2]=c[b+84>>2];c[Q+4>>2]=1;c[L>>2]=c[g>>2];c[L+4>>2]=c[g+4>>2];c[M>>2]=c[Q>>2];c[M+4>>2]=c[Q+4>>2];$N(P,L,M);M=c[P>>2]|0;Q=b+76|0;c[Q>>2]=c[P+4>>2];c[Q+4>>2]=M}do if(!(z|0?1:(c[(c[R>>2]|0)+64>>2]|0)==0)){if((f|0)>=0){c[O>>2]=1;break}if(!(c[K>>2]&1))g=21;else g=(c[b+688>>2]|0)+20|0;Q=X+112|0;R=c[Q>>2]|0;c[Q>>2]=R+1;if((R|0)>=(g|0)){Uf(b,16,171486,S);c[O>>2]=1;f=-558323010}}while(0);g=X+92|0;c[g>>2]=(c[g>>2]|0)+f;g=T+28|0;h=c[g>>2]|0;i=(f|0)<0;if(i|(h|0)<=(f|0))xg(T);else{c[U>>2]=(c[U>>2]|0)+f;c[g>>2]=h-f;X=c[X+40>>2]|0;U=X+28|0;c[U>>2]=(c[U>>2]|0)-f;U=T+8|0;c[U>>2]=0;c[U+4>>2]=-2147483648;U=T+16|0;c[U>>2]=0;c[U+4>>2]=-2147483648;U=X+8|0;c[U>>2]=0;c[U+4>>2]=-2147483648;X=X+16|0;c[X>>2]=0;c[X+4>>2]=-2147483648}if(c[V>>2]|0?(c[e+248>>2]|0)==0:0){c[Y>>2]=171562;c[Y+4>>2]=124617;c[Y+8>>2]=584;Uf(0,0,159675,Y);Ub()}f=i?f:0}else f=-541478725}while(0);l=Z;return f|0}function wS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c[(c[a+28>>2]|0)+20>>2]|0;o=p+148|0;h=c[o>>2]|0;UR(p);n=p+144|0;f=yS((c[p>>2]|0)+((c[n>>2]|0)*352|0)|0,a,e)|0;do if(!f){m=a+688|0;f=p+152|0;if((c[n>>2]|0)<=((c[m>>2]|0)+-1+(((c[a+16>>2]|0)==33)<<31>>31)|0))if(c[f>>2]|0){c[d>>2]=0;e=e+28|0;f=c[e>>2]|0;if(f)break}else g=5;else{c[f>>2]=0;g=5}if((g|0)==5)e=e+28|0;l=b+120|0;j=h;while(1){k=c[p>>2]|0;i=j+1|0;f=k+(j*352|0)+300|0;if(c[f>>2]|0){g=k+(j*352|0)+184|0;kX(g|0)|0;h=k+(j*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;wc(h|0,g|0)|0}lX(g|0)|0}$g(b,c[k+(j*352|0)+288>>2]|0);h=k+(j*352|0)+292|0;c[d>>2]=c[h>>2];q=k+(j*352|0)+232|0;f=c[q+4>>2]|0;g=l;c[g>>2]=c[q>>2];c[g+4>>2]=f;g=k+(j*352|0)+296|0;f=c[g>>2]|0;c[h>>2]=0;c[g>>2]=0;g=(i|0)<(c[m>>2]|0)?i:0;if(c[e>>2]|0)break;if(!((f|0)>-1&(c[d>>2]|0)==0))break;if((g|0)==(c[o>>2]|0))break;else j=g}SR(a,c[k+(j*352|0)+212>>2]|0,1)|0;if((c[n>>2]|0)>=(c[m>>2]|0))c[n>>2]=0;c[o>>2]=g;if((f|0)>-1)f=c[e>>2]|0}while(0);Rl(p);return f|0}function xS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(e|0)==0&(f|0)==-2147483648;if(k)if((b|0)==0&(d|0)==-2147483648)g=0;else{l=a+808|0;c[l>>2]=b;c[l+4>>2]=d;l=6}else{l=a+808|0;i=l;h=c[i+4>>2]|0;j=a+792|0;g=j;i=TW(c[g>>2]|0,c[g+4>>2]|0,((h|0)>(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>=e>>>0:0))&1|0,0)|0;c[j>>2]=i;c[j+4>>2]=y;c[l>>2]=e;c[l+4>>2]=f;if((b|0)==0&(d|0)==-2147483648){h=a+800|0;g=0;i=e;j=f;l=7}else l=6}if((l|0)==6){h=a+800|0;i=h;j=c[i+4>>2]|0;g=a+784|0;m=g;i=TW(c[m>>2]|0,c[m+4>>2]|0,((j|0)>(d|0)|((j|0)==(d|0)?(c[i>>2]|0)>>>0>=b>>>0:0))&1|0,0)|0;c[g>>2]=i;c[g+4>>2]=y;g=1;i=b;j=d;l=7}if((l|0)==7){m=h;c[m>>2]=i;c[m+4>>2]=j}l=a+784|0;j=c[l+4>>2]|0;m=a+792|0;a=c[m+4>>2]|0;m=g&(k|((j|0)<(a|0)|((j|0)==(a|0)?(c[l>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0)));y=m?d:f;return (m?b:e)|0}function yS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=q;k=c[a>>2]|0;n=k+4|0;g=c[n>>2]|0;o=a+212|0;if((c[d+28>>2]|0)==0?(c[(c[(c[o>>2]|0)+12>>2]|0)+16>>2]&32|0)==0:0)b=0;else p=3;do if((p|0)==3){i=a+156|0;kX(i|0)|0;b=zS(c[o>>2]|0,b)|0;if(b|0){lX(i|0)|0;break}c[a+344>>2]=(c[(c[o>>2]|0)+576>>2]|0)>>>16&1;TR(a);if(g|0){b=g+300|0;if((c[b>>2]|0)==1){e=g+184|0;kX(e|0)|0;f=g+60|0;while(1){if((c[b>>2]|0)!=1)break;wc(f|0,e|0)|0}lX(e|0)|0}b=SR(c[o>>2]|0,c[g+212>>2]|0,0)|0;if(b|0){lX(i|0)|0;break}}b=a+216|0;xg(b);b=eS(b,d)|0;if((b|0)<0){lX(i|0)|0;Uf(c[o>>2]|0,16,171576,h);break}j=a+300|0;c[j>>2]=1;vc(a+12|0)|0;lX(i|0)|0;b=c[o>>2]|0;a:do if(!(c[b+700>>2]|0)){if((c[b+120>>2]|0)==9?(c[b+400>>2]|0)==12:0)break;b=a+184|0;e=a+60|0;f=a+316|0;g=a+320|0;d=a+296|0;h=a+324|0;i=a+328|0;while(1){if((c[j>>2]|0)==4)break a;if(!(c[j>>2]|0))break a;kX(b|0)|0;while(1){if((c[j>>2]|0)!=1)break;wc(e|0,b|0)|0}switch(c[j>>2]|0){case 2:{c[d>>2]=sn(c[o>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;p=27;break}case 3:{c[i>>2]=OM(c[o>>2]|0,c[h>>2]|0)|0;p=27;break}default:{}}if((p|0)==27){p=0;c[j>>2]=1;vc(e|0)|0}lX(b|0)|0}}while(0);c[n>>2]=a;b=k+144|0;c[b>>2]=(c[b>>2]|0)+1;b=0}while(0);l=q;return b|0}function zS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a+60>>2]=c[b+60>>2];c[a+116>>2]=c[b+116>>2];c[a+400>>2]=c[b+400>>2];c[a+32>>2]=c[b+32>>2];c[a+576>>2]=c[b+576>>2];c[a+832>>2]=c[b+832>>2];c[a+240>>2]=c[b+240>>2];c[a+64>>2]=c[b+64>>2];f=a+724|0;d=b+724|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[a+360>>2]=c[b+360>>2];f=b+584|0;d=c[f+4>>2]|0;g=a+584|0;c[g>>2]=c[f>>2];c[g+4>>2]=d;c[a+700>>2]=c[b+700>>2];g=b+176|0;d=c[g>>2]|0;do if(d){e=b+184|0;b=c[e>>2]|0;if(!b)h=7;else{f=a+184|0;if((c[a+176>>2]|0)<(d|0)){d=GN(f,d,4)|0;if((d|0)<=-1)break;d=c[g>>2]|0;b=c[e>>2]|0}gX(c[f>>2]|0,b|0,d<<2|0)|0;d=c[g>>2]|0;h=7}}else{d=0;h=7}while(0);if((h|0)==7){c[a+176>>2]=d;d=0}return d|0}function AS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+28>>2]|0;_g(b);do if((MR(a)|0)!=0?(JR(c[a+12>>2]|0)|0)!=0:0){d=sS(a)|0;if((d|0)>=0){d=c[e+76>>2]|0;if(!(c[d+248>>2]|0)){d=tS(a,b)|0;if((d|0)<0)break}else $g(b,d);if((c[a+8>>2]|0)==0?(f=BS(a,b)|0,(f|0)<0):0){_g(b);d=f;break}d=a+360|0;c[d>>2]=(c[d>>2]|0)+1;d=0}}else d=-22;while(0);return d|0}function BS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;o=l;l=l+32|0;if((l|0)>=(m|0))W(32);n=o;f=b+392|0;g=c[f>>2]|0;h=b+396|0;i=c[h>>2]|0;j=b+384|0;k=c[j>>2]|0;d=b+388|0;e=c[d>>2]|0;if((g>>>0<(2147483647-i|0)>>>0&k>>>0<(2147483647-e|0)>>>0?(i+g|0)>>>0<(c[b+68>>2]|0)>>>0:0)?(e+k|0)>>>0<(c[b+72>>2]|0)>>>0:0)if(!(c[a+888>>2]|0))a=0;else a=MQ(b,c[a+60>>2]&1)|0;else{p=c[b+68>>2]|0;b=c[b+72>>2]|0;c[n>>2]=g;c[n+4>>2]=i;c[n+8>>2]=k;c[n+12>>2]=e;c[n+16>>2]=p;c[n+20>>2]=b;Uf(a,24,171719,n);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;c[d>>2]=0;a=0}l=o;return a|0}function CS(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){LR(b)|0;Qf(b+68|0);Qf(b+736|0);Qf(b+248|0);Qf(b+252|0);Qf(b+436|0);Qf(a)}return}function DS(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=c[107852+(b<<2)>>2]|0;if((b|0)!=3)c[a>>2]=b+1;return d|0}function ES(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);b=e;c[b>>2]=0;a:do if(!a)a=0;else{do{d=DS(b)|0;if(!d){a=0;break a}if((c[d>>2]|0)==(a|0))break;if((c[d+4>>2]|0)==(a|0))break;if((c[d+8>>2]|0)==(a|0))break;if((c[d+12>>2]|0)==(a|0))break}while((c[d+16>>2]|0)!=(a|0));a=Lg(344)|0;if(a|0){c[a+4>>2]=d;b=Lg(c[d+20>>2]|0)|0;c[a>>2]=b;do if(b|0){c[a+72>>2]=1;c[a+32>>2]=1;b=c[d+24>>2]|0;if(b|0?Kd[b&31](a)|0:0)break;c[a+224>>2]=-1;d=a+232|0;c[d>>2]=0;c[d+4>>2]=0;c[a+240>>2]=-2147483648;c[a+244>>2]=-2147483648;c[a+248>>2]=-2147483648;c[a+336>>2]=-1;break a}while(0);Qf(a)}Rf(a);a=0}while(0);l=e;return a|0}function FS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=(e|0)!=0;if(u){n=a+48|0;o=a+40|0;p=a+288|0;q=a+184|0}else{o=a+40|0;n=o;c[n>>2]=0;c[n+4>>2]=-2147483648;n=a+48|0;p=n;c[p>>2]=0;c[p+4>>2]=-2147483648;p=a+288|0;q=p;c[q>>2]=-1;c[q+4>>2]=-1;q=a+184|0;t=q;c[t>>2]=0;c[t+4>>2]=0}r=a+16|0;s=((b|0)<0)<<31>>31;t=a+8|0;l=(d|0)==0;m=a+24|0;k=0;a:while(1){if((k|0)>=4)break;e=r;d=c[e>>2]|0;e=c[e+4>>2]|0;i=TW(d|0,e|0,b|0,s|0)|0;h=y;j=a+80+(k<<3)|0;g=j;f=c[g>>2]|0;g=c[g+4>>2]|0;do if(!((h|0)<(g|0)|(h|0)==(g|0)&i>>>0<f>>>0)){i=t;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((i|0)<(g|0)|(i|0)==(g|0)&h>>>0<f>>>0)){if(!((h|0)==0&(i|0)==0))break;i=m;if(!((c[i>>2]|0)==0&(c[i+4>>2]|0)==0))break}h=a+192+(k<<3)|0;i=h;if(!((c[i>>2]|0)==0&(c[i+4>>2]|0)==0)){g=a+144+(k<<3)|0;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(u&((f|0)==0&(g|0)==-2147483648))){i=n;c[i>>2]=f;c[i+4>>2]=g;i=a+112+(k<<3)|0;g=c[i+4>>2]|0;f=o;c[f>>2]=c[i>>2];c[f+4>>2]=g;f=a+256+(k<<3)|0;g=c[f+4>>2]|0;i=p;c[i>>2]=c[f>>2];c[i+4>>2]=g;i=m;g=j;g=UW(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;i=q;c[i>>2]=g;c[i+4>>2]=y}if(!l){e=j;c[e>>2]=-1;c[e+4>>2]=2147483647;e=r;d=c[e>>2]|0;e=c[e+4>>2]|0}i=TW(d|0,e|0,b|0,s|0)|0;g=y;j=h;h=c[j+4>>2]|0;if((g|0)<(h|0)|((g|0)==(h|0)?i>>>0<(c[j>>2]|0)>>>0:0))break a}}while(0);k=k+1|0}return}function GS(b,d,e,f,g,h,i,j,k,n,o,p){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0;A=l;l=l+80|0;if((l|0)>=(m|0))W(80);z=A;q=A+16|0;r=b+176|0;s=c[r>>2]|0;if(!(s&4)){v=b+16|0;c[v>>2]=o;c[v+4>>2]=p;v=b+24|0;c[v>>2]=o;c[v+4>>2]=p;c[r>>2]=s|4}if(h){r=b+16|0;q=c[r>>2]|0;r=c[r+4>>2]|0;s=TW(q|0,r|0,h|0,((h|0)<0)<<31>>31|0)|0;t=y;u=b+76|0;v=c[u>>2]|0;B=b+192+(v<<3)|0;if((s|0)==(c[B>>2]|0)?(t|0)==(c[B+4>>2]|0):0)q=g;else{B=v+1&3;c[u>>2]=B;v=b+80+(B<<3)|0;c[v>>2]=q;c[v+4>>2]=r;q=b+192+(B<<3)|0;c[q>>2]=s;c[q+4>>2]=t;q=b+112+(B<<3)|0;c[q>>2]=i;c[q+4>>2]=j;q=b+144+(B<<3)|0;c[q>>2]=k;c[q+4>>2]=n;q=b+256+(B<<3)|0;c[q>>2]=o;c[q+4>>2]=p;q=g}}else{r=q;s=r+64|0;do{a[r>>0]=0;r=r+1|0}while((r|0)<(s|0))}r=b+72|0;if(c[r>>2]|0){c[r>>2]=0;k=b+40|0;n=c[k+4>>2]|0;B=b+56|0;c[B>>2]=c[k>>2];c[B+4>>2]=n;B=b+48|0;n=c[B+4>>2]|0;k=b+64|0;c[k>>2]=c[B>>2];c[k+4>>2]=n;k=b+288|0;n=c[k+4>>2]|0;B=b+296|0;c[B>>2]=c[k>>2];c[B+4>>2]=n;FS(b,0,0,0)}t=Pd[c[(c[b+4>>2]|0)+28>>2]&7](b,d,e,f,q,h)|0;if((t|0)<=-536870912){c[z>>2]=171835;c[z+4>>2]=116642;c[z+8>>2]=253;Uf(0,0,159675,z);Ub()}if(((c[d+8>>2]|0)==0?(w=c[b+308>>2]|0,w|0):0)?(x=d+340|0,(c[x>>2]|0)==0):0)c[x>>2]=w;if(!(c[f>>2]|0)){q=b+16|0;s=q;r=c[s>>2]|0;s=c[s+4>>2]|0}else{z=b+24|0;B=z;s=c[B+4>>2]|0;q=b+8|0;c[q>>2]=c[B>>2];c[q+4>>2]=s;q=b+16|0;s=q;B=c[s>>2]|0;s=c[s+4>>2]|0;f=TW(B|0,s|0,t|0,((t|0)<0)<<31>>31|0)|0;c[z>>2]=f;c[z+4>>2]=y;c[r>>2]=1;r=B}B=(t|0)>0?t:0;f=TW(r|0,s|0,B|0,0)|0;z=q;c[z>>2]=f;c[z+4>>2]=y;l=A;return B|0}function HS(a){a=a|0;var b=0;if(a|0){b=c[(c[a+4>>2]|0)+32>>2]|0;if(b|0)Rd[b&31](a);Qf(a);Rf(a)}return}function IS(a){a=a|0;var b=0;JS(a);b=c[a+696>>2]|0;if(!(b&2))if(!(b&1))a=0;else a=LS(a)|0;else a=KS(a)|0;return a|0}function JS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=i;f=c[(c[a+12>>2]|0)+16>>2]|0;if((f&4096|0)!=0?(c[a+60>>2]&589824|0)==0:0)e=(c[a+64>>2]&32768|0)==0;else e=0;d=a+688|0;b=c[d>>2]|0;do if((b|0)!=1){if(e?c[a+692>>2]&1|0:0){d=1;h=11;break}if(f&8192|0?c[a+692>>2]&2|0:0){d=2;h=11;break}if(!(f&32768)){c[d>>2]=1;d=0;b=1;h=11}}else{d=0;b=1;h=11}while(0);if((h|0)==11)c[a+696>>2]=d;if((b|0)>16){c[g>>2]=b;c[g+4>>2]=16;Uf(a,24,171973,g)}l=i;return}function KS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+688|0;b=c[i>>2]|0;h=a+12|0;if(((FR(c[h>>2]|0)|0)!=0?(c[a+16>>2]|0)==1:0)?(c[a+96>>2]|0)>2800:0){c[i>>2]=1;j=10}else j=5;a:do if((j|0)==5){if(!b){b=LQ()|0;d=c[a+96>>2]|0;if(d){g=(d+15|0)/16|0;b=(b|0)>(g|0)?g:b}e=b+1|0;e=(b|0)>1?((e|0)<16?e:16):1;c[i>>2]=e}else e=b;if((e|0)<2)j=10;else{f=Lg(48)|0;g=a+28|0;b=c[g>>2]|0;c[b+20>>2]=f;d=c[(c[h>>2]|0)+116>>2]&32|0?24:0;c[46414]=d;do if(f){b=vR(f,a,79,d,e)|0;if((b|0)<2){xR(f);b=c[g>>2]|0;break}else{c[i>>2]=b;c[a+704>>2]=5;c[a+708>>2]=42;break a}}while(0);Qf(b+20|0);c[i>>2]=1;c[a+696>>2]=0}}while(0);if((j|0)==10)c[a+696>>2]=0;return 0}function LS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;if((l|0)>=(m|0))W(16);t=v;b=a+688|0;d=c[b>>2]|0;e=c[a+12>>2]|0;if(!d){s=LQ()|0;d=s+1|0;d=(s|0)>1?((d|0)<16?d:16):1;c[b>>2]=d}a:do if((d|0)>=2){s=Lg(156)|0;b=a+28|0;c[(c[b>>2]|0)+20>>2]=s;if(!s)b=-12;else{r=hh(d,352)|0;c[s>>2]=r;if(!r){Qf((c[b>>2]|0)+20|0);b=-12;break}Cc(s+8|0,0)|0;Cc(s+36|0,0)|0;Cc(s+64|0,0)|0;uc(s+92|0,0)|0;c[s+140>>2]=1;c[s+152>>2]=1;p=e+80|0;q=e+56|0;n=e+64|0;b=0;r=0;f=a;while(1){if((r|0)>=(d|0)){b=0;break a}c[t>>2]=ag(896)|0;o=c[s>>2]|0;j=o+(r*352|0)|0;Cc(o+(r*352|0)+156|0,0)|0;Cc(o+(r*352|0)+184|0,0)|0;uc(o+(r*352|0)+12|0,0)|0;uc(o+(r*352|0)+60|0,0)|0;uc(o+(r*352|0)+108|0,0)|0;k=Ch()|0;c[o+(r*352|0)+288>>2]=k;if(!k){u=11;break}c[j>>2]=s;e=c[t>>2]|0;c[o+(r*352|0)+212>>2]=e;k=e;if(!e){b=-12;u=23;break}gX(e|0,f|0,896)|0;e=ag(116)|0;i=k+28|0;c[i>>2]=e;if(!e){u=14;break}g=c[f+28>>2]|0;h=e+116|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=c[i>>2]|0;c[h+20>>2]=j;c[h+40>>2]=o+(r*352|0)+216;if(r){e=ag(c[q>>2]|0)|0;c[k+24>>2]=e;if(!e){b=-12;u=23;break}gX(e|0,c[f+24>>2]|0,c[q>>2]|0)|0;c[c[i>>2]>>2]=1;e=c[n>>2]|0;if(e)b=Kd[e&31](k)|0}else{e=c[p>>2]|0;if(e)b=Kd[e&31](k)|0;SR(a,k,1)|0;f=k}if(b|0){u=23;break}c[o+(r*352|0)+344>>2]=(c[k+576>>2]|0)>>>16&1;k=xc(o+(r*352|0)+4|0,0,23,j|0)|0;b=0-k|0;k=(k|0)==0;c[o+(r*352|0)+8>>2]=k&1;if(!k)break;r=r+1|0}if((u|0)==11){Qf(t);b=-12;u=23}else if((u|0)==14){c[k+24>>2]=0;b=-12;u=23}PR(a,r+1|0)}}else{c[a+696>>2]=0;b=0}while(0);l=v;return b|0}function MS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+32|0;if((l|0)>=(m|0))W(32);B=D+16|0;A=D;p=c[a+212>>2]|0;j=c[p+12>>2]|0;v=a+156|0;kX(v|0)|0;w=a+332|0;x=a+300|0;y=a+12|0;z=j+68|0;d=p+700|0;e=p+400|0;f=a+336|0;g=p+592|0;h=a+288|0;i=a+292|0;j=j+92|0;k=a+216|0;n=a+296|0;o=p+28|0;q=a+340|0;r=a+184|0;s=a+60|0;t=a+108|0;a:while(1){while(1){b=(c[w>>2]|0)==0;if(c[x>>2]|0)break;if(!b){C=28;break a}wc(y|0,v|0)|0}if(!b){C=28;break}do if(!(c[z>>2]|0)){if((c[d>>2]|0)==0?(c[e>>2]|0)!=12:0)break;Ji(p)}while(0);if(c[f>>2]|0){C=12;break}if(c[g>>2]|0){kX((c[a>>2]|0)+36|0)|0;c[f>>2]=1}_g(c[h>>2]|0);c[i>>2]=0;b=Nd[c[j>>2]&3](p,c[h>>2]|0,i,k)|0;c[n>>2]=b;if(!((b|0)>=0?(c[i>>2]|0)!=0:0))C=17;if((C|0)==17?(C=0,u=c[h>>2]|0,c[u+248>>2]|0):0){if(!(c[(c[o>>2]|0)+4>>2]|0))b=u;else{Uf(p,16,171879,B);b=c[h>>2]|0}_g(b)}if((c[x>>2]|0)==1)Ji(p);if(c[f>>2]|0){c[f>>2]=0;lX((c[a>>2]|0)+36|0)|0}if(c[q>>2]|0){c[q>>2]=0;UR(c[a>>2]|0)}kX(r|0)|0;c[x>>2]=0;jX(s|0)|0;vc(t|0)|0;lX(r|0)|0}if((C|0)==12){c[A>>2]=171855;c[A+4>>2]=159631;c[A+8>>2]=190;Uf(0,0,159675,A);Ub()}else if((C|0)==28){lX(v|0)|0;l=D;return 0}return 0}function NS(a){a=a|0;Kd[c[(c[(c[a+28>>2]|0)+20>>2]|0)+12>>2]&31](a)|0;return}function OS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[(c[a+28>>2]|0)+20>>2]|0;e=c[g+4>>2]|0;if(!e)f=Nd[c[g+8>>2]&3](a,c[g+16>>2]|0,b,d)|0;else{f=(c[g+16>>2]|0)+(N(c[g+24>>2]|0,b)|0)|0;f=Ld[e&15](a,f)|0}e=c[g+20>>2]|0;if(e|0)c[e+(b<<2)>>2]=f;return}function PS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[(c[a+28>>2]|0)+20>>2]|0;if((c[a+696>>2]&2|0)!=0?(c[a+688>>2]|0)>=2:0)if((f|0)<1)a=0;else{c[h+24>>2]=g;c[h+16>>2]=d;c[h+4>>2]=b;c[h+20>>2]=e;zR(c[h>>2]|0,f,(c[h+12>>2]|0)!=0&1);a=0}else a=WR(a,b,d,e,f,g)|0;return a|0}function QS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[(c[(c[a+28>>2]|0)+20>>2]|0)+8>>2]=b;return PS(a,0,d,e,f,0)|0}function RS(a){a=a|0;if((c[a+116>>2]&1|0)==0?c[a+80>>2]|0:0)lX(185660)|0;return}function SS(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=l;l=l+848|0;if((l|0)>=(m|0))W(848);$=ja+336|0;_=ja+328|0;da=ja+288|0;Z=ja+280|0;Y=ja+272|0;X=ja+264|0;V=ja+248|0;S=ja+240|0;R=ja+232|0;Q=ja+224|0;O=ja+208|0;N=ja+192|0;M=ja+184|0;L=ja+176|0;K=ja+168|0;J=ja+152|0;H=ja+144|0;F=ja+136|0;D=ja+128|0;C=ja+120|0;B=ja+112|0;A=ja+104|0;z=ja+96|0;x=ja+88|0;t=ja+80|0;s=ja+72|0;r=ja+64|0;q=ja+48|0;ca=ja+40|0;p=ja+32|0;o=ja+24|0;n=ja+16|0;j=ja+8|0;i=ja;ia=ja+312|0;aa=ja+320|0;ba=ja+304|0;c[ia>>2]=0;do if(!(MR(a)|0)){ha=a+12|0;g=c[ha>>2]|0;h=(g|0)==0;if(!b)if(h){Uf(a,16,172069,i);f=-22;break}else fa=g;else if(h|(g|0)==(b|0))fa=b;else{f=c[b>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;Uf(a,16,172107,j);f=-22;break}if((c[a+72>>2]|0)>>>0<=268435391){ga=(e|0)!=0;if(ga)Yh(ia,c[e>>2]|0,0)|0;TS(fa);U=Lg(116)|0;ea=a+28|0;c[ea>>2]=U;a:do if(!U)f=-12;else{U=Lg(88)|0;c[(c[ea>>2]|0)+16>>2]=U;b:do if(((((((U|0)!=0?(U=Ch()|0,c[(c[ea>>2]|0)+12>>2]=U,(U|0)!=0):0)?(U=Ch()|0,c[(c[ea>>2]|0)+100>>2]=U,(U|0)!=0):0)?(U=Ch()|0,c[(c[ea>>2]|0)+76>>2]=U,(U|0)!=0):0)?(U=KP()|0,c[(c[ea>>2]|0)+68>>2]=U,(U|0)!=0):0)?(U=KP()|0,c[(c[ea>>2]|0)+24>>2]=U,(U|0)!=0):0)?(U=KP()|0,k=c[ea>>2]|0,c[k+40>>2]=U,(U|0)!=0):0){c[k+108>>2]=1;T=fa+56|0;b=c[T>>2]|0;U=a+24|0;do if((b|0)>0){if(!(c[U>>2]|0)){g=Lg(b)|0;c[U>>2]=g;if(!g){f=-12;break a}b=fa+44|0;h=c[b>>2]|0;if(!h)break;c[g>>2]=h;qR(g)}else b=fa+44|0;if(c[b>>2]|0?(f=tR(c[U>>2]|0,ia)|0,(f|0)<0):0)break b}else c[U>>2]=0;while(0);f=tR(a,ia)|0;if((f|0)>=0){b=a+844|0;g=c[b>>2]|0;if(g|0?(_P(c[fa>>2]|0,g,44)|0)<1:0){f=c[b>>2]|0;c[n>>2]=c[fa>>2];c[n+4>>2]=f;Uf(a,16,172183,n);f=-22;break}i=a+100|0;b=c[i>>2]|0;c:do if(!b)P=37;else{g=c[a+104>>2]|0;if(!g){P=37;break}do if(c[a+92>>2]|0){if(!(c[a+96>>2]|0))break;switch(c[a+16>>2]|0){case 189:case 92:case 27:{P=43;break c}default:{}}}while(0);f=qS(a,b,g)|0;P=40}while(0);do if((P|0)==37){g=c[a+92>>2]|0;if(!g){P=42;break}h=c[a+96>>2]|0;if(!h){P=42;break}f=qS(a,g,h)|0;P=40}while(0);if((P|0)==40){if((f|0)<0)break;b=c[i>>2]|0;P=42}do if((P|0)==42){if(b|0){P=43;break}g=c[a+104>>2]|0;if(g|0){b=0;P=47;break}b=a+92|0;if(c[b>>2]|0){b=0;g=0;P=47;break}if(!(c[a+96>>2]|0))u=b;else{b=0;g=0;P=47}}while(0);if((P|0)==43){g=c[a+104>>2]|0;P=47}do if((P|0)==47){h=a+872|0;I=h;i=a+92|0;if((Wh(b,g,c[I>>2]|0,c[I+4>>2]|0,-1,0,a)|0)>=0?(I=h,(Wh(c[i>>2]|0,c[a+96>>2]|0,c[I>>2]|0,c[I+4>>2]|0,-1,0,a)|0)>=0):0){u=i;break}Uf(a,24,172217,o);qS(a,0,0)|0;u=i}while(0);b=c[u>>2]|0;do if((b|0)>0){g=c[a+96>>2]|0;if((g|0)<=0)break;h=a+188|0;c[$>>2]=c[h>>2];c[$+4>>2]=c[h+4>>2];if((zn(b,g,$)|0)>=0)break;I=a+192|0;G=c[I>>2]|0;c[p>>2]=c[h>>2];c[p+4>>2]=G;Uf(a,24,172255,p);c[a+188>>2]=0;c[I>>2]=1}while(0);if(JR(fa)|0)Qf(a+736|0);G=a+348|0;if((c[G>>2]|0)>>>0>64){f=-22;break}c[ha>>2]=fa;I=a+8|0;h=c[I>>2]|0;do if((h|0)==-1)P=60;else{if((h|0)==(c[fa+8>>2]|0)){P=60;break}g=a+16|0;n=g;g=c[g>>2]|0;b=h}while(0);do if((P|0)==60){b=a+16|0;g=c[b>>2]|0;if(g|0){n=b;b=h;break}E=c[fa+8>>2]|0;c[I>>2]=E;g=c[fa+12>>2]|0;c[b>>2]=g;n=b;b=E}while(0);h=fa+12|0;do if((g|0)==(c[h>>2]|0)){if(!((b|0)==4?1:(b|0)==(c[fa+8>>2]|0)))break;c[a+360>>2]=0;E=a+780|0;c[E>>2]=Jg(g)|0;b=c[ha>>2]|0;do if(c[b+16>>2]&512|0){if((c[a+568>>2]|0)<=-2)break;b=(FR(fa)|0)!=0;b=b?172313:172321;da=c[fa>>2]|0;c[q>>2]=b;c[q+4>>2]=da;c[q+8>>2]=-2;Uf(a,16,172329,q);da=(FR(fa)|0)==0;f=c[h>>2]|0;if(da)f=IR(f)|0;else f=ER(f)|0;if(c[f+16>>2]&512|0){f=-733130664;break b}f=c[f>>2]|0;c[r>>2]=b;c[r+4>>2]=f;Uf(a,16,172439,r);f=-733130664;break b}while(0);do if((c[I>>2]|0)==1){h=a+76|0;g=a+80|0;if(c[h>>2]|0?c[g>>2]|0:0)break;c[h>>2]=1;c[g>>2]=c[a+344>>2]}while(0);if(!((c[(c[ea>>2]|0)+52>>2]|0)!=0?(c[a+696>>2]&1|0)!=0:0)){f=IS(a)|0;if((f|0)<0)break b;b=c[ha>>2]|0}g=d[b+40>>0]|0;h=a+680|0;if((c[h>>2]|0)>>>0>g>>>0){c[s>>2]=g;Uf(a,24,172488,s);b=c[ha>>2]|0;c[h>>2]=d[b+40>>0]}d:do if(FR(b)|0){s=Ch()|0;c[a+684>>2]=s;if(!s){f=-12;break b}o=a+76|0;do if((c[o>>2]|0)>=1){p=a+80|0;if((c[p>>2]|0)<1)break;g=c[ha>>2]|0;b=c[g+32>>2]|0;e:do if(!b)j=g;else{k=a+352|0;j=0;while(1){h=c[b+(j<<2)>>2]|0;if((h|0)==-1)break;i=c[k>>2]|0;if((i|0)==(h|0)){j=g;break e}if((c[G>>2]|0)==1){t=uR(i)|0;t=(t|0)==(uR(c[(c[(c[ha>>2]|0)+32>>2]|0)+(j<<2)>>2]|0)|0);v=c[ha>>2]|0;w=c[v+32>>2]|0;if(t){P=94;break}else{g=v;b=w}}j=j+1|0}if((P|0)==94?(w=w+(j<<2)|0,c[k>>2]=c[w>>2],(c[w>>2]|0)!=-1):0){j=v;break}c[x>>2]=c[k>>2];KU($,128,172583,x)|0;c[z>>2]=US(pR(c[k>>2]|0)|0,$)|0;Uf(a,16,172586,z);f=-22;break b}while(0);g=c[j+24>>2]|0;f:do if(g|0){h=a+112|0;b=0;while(1){i=c[g+(b<<2)>>2]|0;if((i|0)==-1)break;if((c[h>>2]|0)==(i|0)){P=103;break}else b=b+1|0}if((P|0)==103){switch(i|0){case 14:case 32:case 13:case 140:case 12:break;default:break f}c[a+328>>2]=2;break}switch(c[n>>2]|0){case 9:case 7:{if((c[a+568>>2]|0)<0)break f;break}default:{}}c[A>>2]=c[h>>2];KU($,128,172583,A)|0;c[B>>2]=US(oh(c[h>>2]|0)|0,$)|0;Uf(a,16,172642,B);f=-22;break b}while(0);h=c[j+28>>2]|0;b=c[a+344>>2]|0;g:do if(h){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break;if((b|0)==(i|0))break g;else g=g+1|0}c[C>>2]=b;Uf(a,16,172697,C);f=-22;break b}while(0);if((b|0)<0){c[D>>2]=b;Uf(a,16,172697,D);f=-22;break b}i=c[j+36>>2]|0;n=a+376|0;h:do if(i|0){k=n;j=c[k>>2]|0;k=c[k+4>>2]|0;if((j|0)==0&(k|0)==0){Uf(a,24,172740,F);break}else b=0;while(1){h=i+(b<<3)|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==0&(h|0)==0)break;if((j|0)==(g|0)&(k|0)==(h|0))break h;else b=b+1|0}hQ($,512,-1,j,k);c[H>>2]=$;Uf(a,16,172770,H);f=-22;break b}while(0);h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;b=c[G>>2]|0;do if(!((g|0)==0&(h|0)==0)){g=Uh(g,h)|0;if(!b){c[G>>2]=g;b=g;break}if((g|0)==(c[G>>2]|0)){b=g;break}f=n;hQ($,512,-1,c[f>>2]|0,c[f+4>>2]|0);f=c[G>>2]|0;c[J>>2]=$;c[J+4>>2]=g;c[J+8>>2]=f;Uf(a,16,172818,J);f=-22;break b}while(0);if((b|0)<0){c[K>>2]=b;Uf(a,16,172903,K);f=-22;break b}b=c[I>>2]|0;i:do if(!b){b=nh(c[a+112>>2]|0)|0;h=a+676|0;i=c[h>>2]|0;do if((i|0)>=0){if((i|0)<=8)break;b=b+32|0;g=c[b>>2]|0;if((g|0)<9)P=129}else{g=b+32|0;b=g;g=c[g>>2]|0;P=129}while(0);if((P|0)==129){c[L>>2]=i;c[L+4>>2]=g;Uf(a,24,172953,L);c[h>>2]=c[b>>2]}do if((c[u>>2]|0)>=1){if((c[a+96>>2]|0)<1)break;b=c[I>>2]|0;break i}while(0);Uf(a,16,173032,M);f=-22;break b}while(0);do if(b>>>0<2){g=a+40|0;b=c[g>>2]|0;g=c[g+4>>2]|0;M=TW(b|0,g|0,-1,-1)|0;L=y;if(!(L>>>0<0|(L|0)==0&M>>>0<999))break;M=N;c[M>>2]=b;c[M+4>>2]=g;M=N+8|0;c[M>>2]=b;c[M+4>>2]=g;Uf(a,24,173052,N)}while(0);b=a+464|0;if(!(c[b>>2]|0)){N=c[a+428>>2]|0;N=ZW(N|0,((N|0)<0)<<31>>31|0,3,0)|0;N=XW(N|0,y|0,4,0)|0;c[b>>2]=N}g=c[a+84>>2]|0;do if(g|0){b=c[o>>2]|0;if(!b)break;if((g|0)<=(2147483647/(b|0)|0|0))break;da=c[p>>2]|0;c[O>>2]=g;c[O+4>>2]=b;c[O+8>>2]=da;Uf(a,16,173105,O);break b}while(0);f=c[a+860>>2]|0;if(!f)break d;f=c[f+4>>2]|0;if((c[f+36>>2]|0)!=(c[a+112>>2]|0)){Uf(a,16,173158,Q);f=-22;break b}h=a+768|0;g=c[h>>2]|0;b=f+40|0;f=c[b>>2]|0;do if((g|0)!=-1){if((g|0)==(f|0)){f=g;break}da=oh(g)|0;f=oh(c[b>>2]|0)|0;c[R>>2]=da;c[R+4>>2]=f;Uf(a,16,173223,R);f=-22;break b}while(0);c[h>>2]=f;break d}while(0);Uf(a,16,172549,t);f=-22;break b}while(0);R=a+784|0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;R=a+808|0;c[R>>2]=0;c[R+4>>2]=-2147483648;R=a+800|0;c[R>>2]=0;c[R+4>>2]=-2147483648;do if(c[a+60>>2]&8192|0){if(c[(c[E>>2]|0)+4>>2]|0)break;Uf(a,24,173304,S)}while(0);f=c[ha>>2]|0;b=c[f+80>>2]|0;do if(b){if(c[a+696>>2]&1|0?(c[(c[ea>>2]|0)+52>>2]|0)==0:0)break;f=Kd[b&31](a)|0;if((f|0)<0)break b;f=c[ha>>2]|0}while(0);do if(JR(f)|0){f=a+40|0;S=f;if((c[S>>2]|0)==0&(c[S+4>>2]|0)==0){R=VS(a)|0;S=f;c[S>>2]=R;c[S+4>>2]=y}g=a+376|0;b=g;f=c[b>>2]|0;b=c[b+4>>2]|0;do if((f|0)==0&(b|0)==0)P=166;else{f=Uh(f,b)|0;b=c[G>>2]|0;if(!b){c[G>>2]=f;break}if((f|0)==(b|0))break;P=g;hQ($,512,-1,c[P>>2]|0,c[P+4>>2]|0);P=c[G>>2]|0;c[V>>2]=$;c[V+4>>2]=f;c[V+8>>2]=P;Uf(a,24,173367,V);P=g;c[P>>2]=0;c[P+4>>2]=0;P=166}while(0);if((P|0)==166)f=c[G>>2]|0;if(f>>>0>64){f=-22;break b}b=a+816|0;g=c[b>>2]|0;j:do if(g|0){if((c[I>>2]|0)!=3){Uf(a,16,173487,X);f=-22;break b}f=c[E>>2]|0;if(c[f+16>>2]&65536|0){c[Y>>2]=c[f+8>>2];Uf(a,24,173547,Y);c[a+820>>2]=-1;break}f=a+820|0;switch(c[f>>2]|0){case 0:{c[f>>2]=1;break}case 1:break;default:break j}if((EU(173621,g)|0)==(-1|0)){f=0-(c[(mT()|0)>>2]|0)|0;c[Z>>2]=c[b>>2];Uf(a,16,173627,Z);break b}else break}while(0);f=a+760|0;if((c[f>>2]|0)<=0)break;if((c[a+764>>2]|0)<=0)break;c[ba>>2]=c[a+84>>2];c[ba+4>>2]=1;c[_>>2]=c[f>>2];c[_+4>>2]=c[f+4>>2];c[$>>2]=c[ba>>2];c[$+4>>2]=c[ba+4>>2];$N(aa,_,$);$=c[aa>>2]|0;ba=a+76|0;c[ba>>2]=c[aa+4>>2];c[ba+4>>2]=$}while(0);if((c[T>>2]|0)<=0){f=0;break a}f=c[U>>2]|0;if(!f){f=0;break a}b=c[fa+44>>2]|0;if(!b){f=0;break a}if((c[f>>2]|0)==(b|0)){f=0;break a}c[da>>2]=173692;c[da+4>>2]=127077;c[da+8>>2]=995;Uf(0,0,159675,da);Ub()}while(0);Uf(a,16,172284,ca);f=-22}}else f=-12;while(0);b=c[ha>>2]|0;if(b|0?c[b+116>>2]&2|0:0)Kd[c[b+96>>2]&31](a)|0;if(c[fa+44>>2]|0?c[fa+56>>2]|0:0)tg(c[a+24>>2]|0);tg(a);Dh(a+684|0);Dg(ia);Qf(a+24|0);b=c[ea>>2]|0;if(b|0){Dh(b+12|0);Dh((c[ea>>2]|0)+100|0);Dh((c[ea>>2]|0)+76|0);ug((c[ea>>2]|0)+68|0);ug((c[ea>>2]|0)+40|0);ug((c[ea>>2]|0)+24|0);Qf((c[ea>>2]|0)+16|0)}Qf(ea);c[ha>>2]=0}while(0);RS(fa);if(ga){Dg(e);c[e>>2]=c[ia>>2]}}else f=-22}else f=0;while(0);l=ja;return f|0}function TS(a){a=a|0;if((c[a+116>>2]&1|0)==0?c[a+80>>2]|0:0)kX(185660)|0;return}function US(a,b){a=a|0;b=b|0;return (a|0?a:b)|0}function VS(a){a=a|0;var b=0,d=0;a:do switch(c[a+8>>2]|0){case 4:case 3:case 2:case 0:{b=a+40|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break}case 1:{b=WS(c[a+16>>2]|0)|0;if(!b){b=a+40|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break a}else{d=c[a+344>>2]|0;a=c[a+348>>2]|0;b=ZW(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=ZW(b|0,y|0,a|0,((a|0)<0)<<31>>31|0)|0;a=y;break a}}default:{a=0;b=0}}while(0);y=a;return b|0}function WS(a){a=a|0;switch(a|0){case 69649:{a=2;break}case 69648:{a=3;break}case 69638:case 69645:case 69632:case 69633:case 69647:{a=4;break}default:a=XS(a)|0}return a|0}function XS(a){a=a|0;var b=0;a:do if((a|0)>=65563){if((a|0)<69655)switch(a|0){case 69646:case 69636:case 69644:{a=4;break a}case 65563:{b=2;break a}case 65566:{b=3;break a}case 65564:{b=4;break a}case 67586:case 67587:case 65565:{b=5;break a}case 67584:case 67585:{b=6;break a}default:{b=7;break a}}if((a|0)>=86070)switch(a|0){case 86071:case 86070:{a=4;break a}case 88072:case 88071:case 88070:case 88069:{b=2;break a}default:{b=7;break a}}if((a|0)<71681)switch(a|0){case 69660:case 69655:case 69661:{a=4;break a}default:{b=7;break a}}if((a|0)<71687)switch(a|0){case 71681:{a=4;break a}default:{b=7;break a}}if((a|0)<83968)switch(a|0){case 71687:{a=4;break a}default:{b=7;break a}}else switch(a|0){case 83968:{b=2;break a}default:{b=7;break a}}}else switch(a|0){case 65553:case 65541:case 65540:case 65542:case 65543:{b=2;break}case 65538:case 65539:case 65554:case 65536:case 65537:{b=3;break}case 65550:case 65551:case 65548:case 65549:case 65552:{b=4;break}case 65557:case 65556:case 65546:case 65547:case 65544:case 65545:{b=5;break}case 65559:case 65558:{b=6;break}default:b=7}while(0);if((b|0)==2)a=8;else if((b|0)==3)a=16;else if((b|0)==4)a=24;else if((b|0)==5)a=32;else if((b|0)==6)a=64;else if((b|0)==7)a=0;return a|0}function YS(){ZS(0);return}function ZS(a){a=a|0;yb(52696,173749);nb(52712,173754,1,1,0);ub(52720,173759,1,-128,127);ub(52736,173764,1,-128,127);ub(52728,173776,1,0,255);ub(52744,173790,2,-32768,32767);ub(52752,173796,2,0,65535);ub(52760,173811,4,-2147483648,2147483647);ub(52768,173815,4,0,-1);ub(52776,173828,4,-2147483648,2147483647);ub(52784,173833,4,0,-1);tb(52792,173847,4);tb(52800,173853,8);wb(16,173860);wb(48312,173872);xb(48336,4,173905);sb(40,173918);vb(48360,0,173934);vb(48368,0,173964);vb(48376,1,174001);vb(48384,2,174040);vb(48392,3,174071);vb(48400,4,174111);vb(48408,5,174140);vb(48416,4,174178);vb(48424,5,174208);vb(48368,0,174247);vb(48376,1,174279);vb(48384,2,174312);vb(48392,3,174345);vb(48400,4,174379);vb(48408,5,174412);vb(48432,6,174446);vb(48440,7,174477);vb(48448,7,174509);return}function _S(a){a=a|0;return VU(c[a+4>>2]|0)|0}function $S(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;if((l|0)>=(m|0))W(16);p=y;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;o=c[46422]|0;d=o>>>a;if(d&3|0){b=(d&1^1)+a|0;a=185728+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[46422]=o&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}x=b<<3;c[e+4>>2]=x|3;x=e+x+4|0;c[x>>2]=c[x>>2]|1;x=f;l=y;return x|0}n=c[46424]|0;if(k>>>0>n>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=185728+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=o&~(1<<e);c[46422]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=o}x=e<<3;h=x-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+x>>2]=h;if(n|0){e=c[46427]|0;b=n>>>3;d=185728+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[46422]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46424]=h;c[46427]=f;x=i;l=y;return x|0}g=c[46423]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[185992+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=185992+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[46423]=g&~(1<<b);break}}else{x=f+16|0;c[((c[x>>2]|0)==(i|0)?x:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){x=j+k|0;c[i+4>>2]=x|3;x=i+x+4|0;c[x>>2]=c[x>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(n|0){e=c[46427]|0;b=n>>>3;d=185728+(b<<1<<2)|0;b=1<<b;if(!(b&o)){c[46422]=b|o;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46424]=j;c[46427]=h}x=i+8|0;l=y;return x|0}else o=k}else o=k}else o=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[46423]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{o=(a+1048320|0)>>>16&8;s=a<<o;i=(s+520192|0)>>>16&4;s=s<<i;j=(s+245760|0)>>>16&2;j=14-(i|o|j)+(s<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[185992+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;s=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;s=65;break a}else{a=d;f=h}s=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(s|0)==0|(s|0)==(d|0)?g:s;if(!d){d=g;s=61;break}else i=i<<1}}while(0);if((s|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){o=k;break}o=(a&0-a)+-1|0;h=o>>>12&16;o=o>>>h;g=o>>>5&8;o=o>>>g;i=o>>>2&4;o=o>>>i;j=o>>>1&2;o=o>>>j;d=o>>>1&1;a=0;d=c[185992+((g|h|i|j|d)+(o>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else s=65}if((s|0)==65){g=d;while(1){o=(c[g+4>>2]&-8)-k|0;d=o>>>0<f>>>0;f=d?o:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[46424]|0)-k|0)>>>0:0)?(n=i+k|0,n>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{x=c[i+8>>2]|0;c[x+12>>2]=b;c[b+8>>2]=x}while(0);do if(g){a=c[i+28>>2]|0;d=185992+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[46423]=e;break}}else{x=g+16|0;c[((c[x>>2]|0)==(i|0)?x:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){x=h+k|0;c[i+4>>2]=x|3;x=i+x+4|0;c[x>>2]=c[x>>2]|1}else{c[i+4>>2]=k|3;c[n+4>>2]=h|1;c[n+h>>2]=h;b=h>>>3;if(h>>>0<256){d=185728+(b<<1<<2)|0;a=c[46422]|0;b=1<<b;if(!(a&b)){c[46422]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=n;c[b+12>>2]=n;c[n+8>>2]=b;c[n+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{w=(b+1048320|0)>>>16&8;x=b<<w;v=(x+520192|0)>>>16&4;x=x<<v;d=(x+245760|0)>>>16&2;d=14-(v|w|d)+(x<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=185992+(d<<2)|0;c[n+28>>2]=d;a=n+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<d;if(!(e&a)){c[46423]=e|a;c[b>>2]=n;c[n+24>>2]=b;c[n+12>>2]=n;c[n+8>>2]=n;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=n;c[n+24>>2]=b;c[n+12>>2]=n;c[n+8>>2]=n;break b}while(0);w=b+8|0;x=c[w>>2]|0;c[x+12>>2]=n;c[w>>2]=n;c[n+8>>2]=x;c[n+12>>2]=b;c[n+24>>2]=0}while(0);x=i+8|0;l=y;return x|0}else o=k}else o=k}else o=-1;while(0);d=c[46424]|0;if(d>>>0>=o>>>0){b=d-o|0;a=c[46427]|0;if(b>>>0>15){x=a+o|0;c[46427]=x;c[46424]=b;c[x+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=o|3}else{c[46424]=0;c[46427]=0;c[a+4>>2]=d|3;x=a+d+4|0;c[x>>2]=c[x>>2]|1}x=a+8|0;l=y;return x|0}h=c[46425]|0;if(h>>>0>o>>>0){v=h-o|0;c[46425]=v;x=c[46428]|0;w=x+o|0;c[46428]=w;c[w+4>>2]=v|1;c[x+4>>2]=o|3;x=x+8|0;l=y;return x|0}if(!(c[46540]|0)){c[46542]=4096;c[46541]=4096;c[46543]=-1;c[46544]=-1;c[46545]=0;c[46533]=0;c[46540]=p&-16^1431655768;a=4096}else a=c[46542]|0;i=o+48|0;j=o+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=o>>>0){x=0;l=y;return x|0}a=c[46532]|0;if(a|0?(n=c[46530]|0,p=n+k|0,p>>>0<=n>>>0|p>>>0>a>>>0):0){x=0;l=y;return x|0}d:do if(!(c[46533]&4)){d=c[46428]|0;e:do if(d){e=186136;while(1){p=c[e>>2]|0;if(p>>>0<=d>>>0?(p+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){s=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=mX(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;s=145;break d}}else{e=a;s=136}}else b=0}else s=128;while(0);do if((s|0)==128){d=mX(0)|0;if((d|0)!=(-1|0)?(b=d,q=c[46541]|0,r=q+-1|0,b=((r&b|0)==0?0:(r+b&0-q)-b|0)+k|0,q=c[46530]|0,r=b+q|0,b>>>0>o>>>0&b>>>0<2147483647):0){p=c[46532]|0;if(p|0?r>>>0<=q>>>0|r>>>0>p>>>0:0){b=0;break}a=mX(b|0)|0;if((a|0)==(d|0)){h=b;g=d;s=145;break d}else{e=a;s=136}}else b=0}while(0);do if((s|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;s=145;break d}a=c[46542]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;s=145;break d}if((mX(a|0)|0)==(-1|0)){mX(d|0)|0;b=0;break}else{h=a+b|0;g=e;s=145;break d}}while(0);c[46533]=c[46533]|4;s=143}else{b=0;s=143}while(0);if(((s|0)==143?k>>>0<2147483647:0)?(v=mX(k|0)|0,r=mX(0)|0,t=r-v|0,u=t>>>0>(o+40|0)>>>0,!((v|0)==(-1|0)|u^1|v>>>0<r>>>0&((v|0)!=(-1|0)&(r|0)!=(-1|0))^1)):0){h=u?t:b;g=v;s=145}if((s|0)==145){b=(c[46530]|0)+h|0;c[46530]=b;if(b>>>0>(c[46531]|0)>>>0)c[46531]=b;j=c[46428]|0;f:do if(j){b=186136;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){s=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((s|0)==154?(w=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[w>>2]=d+h;x=(c[46425]|0)+h|0;v=j+8|0;v=(v&7|0)==0?0:0-v&7;w=j+v|0;v=x-v|0;c[46428]=w;c[46425]=v;c[w+4>>2]=v|1;c[j+x+4>>2]=40;c[46429]=c[46544];break}if(g>>>0<(c[46426]|0)>>>0)c[46426]=g;d=g+h|0;b=186136;while(1){if((c[b>>2]|0)==(d|0)){s=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((s|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;n=b+4|0;c[n>>2]=(c[n>>2]|0)+h;n=g+8|0;n=g+((n&7|0)==0?0:0-n&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=n+o|0;i=b-n-o|0;c[n+4>>2]=o|3;g:do if((j|0)==(b|0)){x=(c[46425]|0)+i|0;c[46425]=x;c[46428]=k;c[k+4>>2]=x|1}else{if((c[46427]|0)==(b|0)){x=(c[46424]|0)+i|0;c[46424]=x;c[46427]=k;c[k+4>>2]=x|1;c[k+x>>2]=x;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[46422]=c[46422]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{x=c[b+8>>2]|0;c[x+12>>2]=a;c[a+8>>2]=x}while(0);if(!g)break;d=c[b+28>>2]|0;e=185992+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){x=g+16|0;c[((c[x>>2]|0)==(b|0)?x:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[46423]=c[46423]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=185728+(b<<1<<2)|0;a=c[46422]|0;b=1<<b;if(!(a&b)){c[46422]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}w=(b+1048320|0)>>>16&8;x=b<<w;v=(x+520192|0)>>>16&4;x=x<<v;e=(x+245760|0)>>>16&2;e=14-(v|w|e)+(x<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=185992+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[46423]|0;d=1<<e;if(!(a&d)){c[46423]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);w=b+8|0;x=c[w>>2]|0;c[x+12>>2]=k;c[w>>2]=k;c[k+8>>2]=x;c[k+12>>2]=b;c[k+24>>2]=0}while(0);x=n+8|0;l=y;return x|0}b=186136;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(x=a+(c[b+4>>2]|0)|0,x>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=x+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;v=g+8|0;v=(v&7|0)==0?0:0-v&7;w=g+v|0;v=d-v|0;c[46428]=w;c[46425]=v;c[w+4>>2]=v|1;c[g+d+4>>2]=40;c[46429]=c[46544];d=a+4|0;c[d>>2]=27;c[b>>2]=c[46534];c[b+4>>2]=c[46535];c[b+8>>2]=c[46536];c[b+12>>2]=c[46537];c[46534]=g;c[46535]=h;c[46537]=0;c[46536]=b;b=a+24|0;do{w=b;b=b+4|0;c[b>>2]=7}while((w+8|0)>>>0<x>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=185728+(b<<1<<2)|0;a=c[46422]|0;b=1<<b;if(!(a&b)){c[46422]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{w=(b+1048320|0)>>>16&8;x=b<<w;v=(x+520192|0)>>>16&4;x=x<<v;e=(x+245760|0)>>>16&2;e=14-(v|w|e)+(x<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=185992+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[46423]|0;a=1<<e;if(!(b&a)){c[46423]=b|a;c[d>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);w=b+8|0;x=c[w>>2]|0;c[x+12>>2]=j;c[w>>2]=j;c[j+8>>2]=x;c[j+12>>2]=b;c[j+24>>2]=0}}else{x=c[46426]|0;if((x|0)==0|g>>>0<x>>>0)c[46426]=g;c[46534]=g;c[46535]=h;c[46537]=0;c[46431]=c[46540];c[46430]=-1;c[46435]=185728;c[46434]=185728;c[46437]=185736;c[46436]=185736;c[46439]=185744;c[46438]=185744;c[46441]=185752;c[46440]=185752;c[46443]=185760;c[46442]=185760;c[46445]=185768;c[46444]=185768;c[46447]=185776;c[46446]=185776;c[46449]=185784;c[46448]=185784;c[46451]=185792;c[46450]=185792;c[46453]=185800;c[46452]=185800;c[46455]=185808;c[46454]=185808;c[46457]=185816;c[46456]=185816;c[46459]=185824;c[46458]=185824;c[46461]=185832;c[46460]=185832;c[46463]=185840;c[46462]=185840;c[46465]=185848;c[46464]=185848;c[46467]=185856;c[46466]=185856;c[46469]=185864;c[46468]=185864;c[46471]=185872;c[46470]=185872;c[46473]=185880;c[46472]=185880;c[46475]=185888;c[46474]=185888;c[46477]=185896;c[46476]=185896;c[46479]=185904;c[46478]=185904;c[46481]=185912;c[46480]=185912;c[46483]=185920;c[46482]=185920;c[46485]=185928;c[46484]=185928;c[46487]=185936;c[46486]=185936;c[46489]=185944;c[46488]=185944;c[46491]=185952;c[46490]=185952;c[46493]=185960;c[46492]=185960;c[46495]=185968;c[46494]=185968;c[46497]=185976;c[46496]=185976;x=h+-40|0;v=g+8|0;v=(v&7|0)==0?0:0-v&7;w=g+v|0;v=x-v|0;c[46428]=w;c[46425]=v;c[w+4>>2]=v|1;c[g+x+4>>2]=40;c[46429]=c[46544]}while(0);b=c[46425]|0;if(b>>>0>o>>>0){v=b-o|0;c[46425]=v;x=c[46428]|0;w=x+o|0;c[46428]=w;c[w+4>>2]=v|1;c[x+4>>2]=o|3;x=x+8|0;l=y;return x|0}}c[(mT()|0)>>2]=12;x=0;l=y;return x|0}function aT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[46426]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[46427]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[46424]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[46422]=c[46422]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=185992+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[46423]=c[46423]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[46428]|0)==(j|0)){j=(c[46425]|0)+b|0;c[46425]=j;c[46428]=i;c[i+4>>2]=j|1;if((i|0)!=(c[46427]|0))return;c[46427]=0;c[46424]=0;return}if((c[46427]|0)==(j|0)){j=(c[46424]|0)+b|0;c[46424]=j;c[46427]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[46422]=c[46422]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=185992+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[46423]=c[46423]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[46427]|0)){c[46424]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=185728+(a<<1<<2)|0;b=c[46422]|0;a=1<<a;if(!(b&a)){c[46422]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=185992+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[46423]|0;d=1<<e;a:do if(!(b&d)){c[46423]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[46430]|0)+-1|0;c[46430]=j;if(j|0)return;a=186144;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[46430]=-1;return}function bT(a,b){a=a|0;b=b|0;var d=0;if(a){d=N(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=$S(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;iX(a|0,0,d|0)|0;return a|0}function cT(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=$S(b)|0;return b|0}if(b>>>0>4294967231){c[(mT()|0)>>2]=12;b=0;return b|0}d=dT(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=$S(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;gX(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;aT(a);b=d;return b|0}function dT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[46542]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;eT(k,d);return a|0}if((c[46428]|0)==(i|0)){k=(c[46425]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[46428]=e;c[46425]=d;return a|0}if((c[46427]|0)==(i|0)){e=(c[46424]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[46424]=d;c[46427]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[46422]=c[46422]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=185992+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[46423]=c[46423]&~(1<<d);break}}else{g=h+16|0;c[((c[g>>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;eT(i,k);return a|0}return 0}function eT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[46427]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[46424]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[46422]=c[46422]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=185992+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[46423]=c[46423]&~(1<<d);break}}else{f=g+16|0;c[((c[f>>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[46428]|0)==(i|0)){i=(c[46425]|0)+b|0;c[46425]=i;c[46428]=h;c[h+4>>2]=i|1;if((h|0)!=(c[46427]|0))return;c[46427]=0;c[46424]=0;return}if((c[46427]|0)==(i|0)){i=(c[46424]|0)+b|0;c[46424]=i;c[46427]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[46422]=c[46422]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=185992+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[46423]=c[46423]&~(1<<b);break}}else{e=g+16|0;c[((c[e>>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[46427]|0)){c[46424]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=185728+(b<<1<<2)|0;a=c[46422]|0;b=1<<b;if(!(a&b)){c[46422]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;d=(i+520192|0)>>>16&4;i=i<<d;e=(i+245760|0)>>>16&2;e=14-(d|g|e)+(i<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=185992+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[46423]|0;d=1<<e;if(!(a&d)){c[46423]=a|d;c[b>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function fT(a,b){a=a|0;b=b|0;if(a>>>0<9){b=$S(b)|0;return b|0}else{b=gT(a,b)|0;return b|0}return 0}function gT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a>>>0>16?a:16;if(!(d+-1&d))a=d;else{a=16;while(1)if(a>>>0<d>>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){c[(mT()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=$S(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;eT(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;eT(f,i)}i=b+8|0;return i|0}function hT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e|0){a=22;return a|0}if((-64-b|0)>>>0<d>>>0){a=12;return a|0}else{b=gT(b>>>0>16?b:16,d)|0;break}}else b=$S(d)|0;while(0);if(!b){a=12;return a|0}c[a>>2]=b;a=0;return a|0}function iT(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=b;c[d>>2]=nT(c[a+60>>2]|0)|0;a=lT(lb(6,d|0)|0)|0;l=b;return a|0}function jT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;if((l|0)>=(m|0))W(48);k=o+16|0;g=o;f=o+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=lT(gb(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;q=c[f+4>>2]|0;p=g>>>0>q>>>0;f=p?f+8|0:f;b=b+(p<<31>>31)|0;q=g-(p?q:0)|0;c[f>>2]=(c[f>>2]|0)+q;p=f+4|0;c[p>>2]=(c[p>>2]|0)-q;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=lT(gb(146,k|0)|0)|0;if((e|0)==(g|0)){n=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else n=3;while(0);if((n|0)==3){q=c[a+44>>2]|0;c[a+16>>2]=q+(c[a+48>>2]|0);c[i>>2]=q;c[j>>2]=q}l=o;return d|0}function kT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((lT(fb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function lT(a){a=a|0;if(a>>>0>4294963200){c[(mT()|0)>>2]=0-a;a=-1}return a|0}function mT(){return 186248}function nT(a){a=a|0;return a|0}function oT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;if((l|0)>=(m|0))W(32);f=g;c[b+36>>2]=3;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,kb(54,f|0)|0):0)a[b+75>>0]=-1;f=jT(b,d,e)|0;l=g;return f|0}function pT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;if((l|0)>=(m|0))W(128);h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;qT(h,0);d=rT(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function qT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function rT(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(mT()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=sT(b)|0}while((tT(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=sT(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=sT(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=sT(b)|0;if((d[175045+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){qT(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[175045+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;qT(b,0);c[(mT()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=sT(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=ZW(i|0,m|0,10,0)|0;k=y;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=TW(f|0,k|0,e|0,l|0)|0;m=y;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=sT(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[175301+((o*23|0)>>>5&7)>>0]|0;f=a[175045+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<<n;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=sT(b)|0;f=a[175045+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=bX(-1,-1,n|0)|0;m=y;if(o>>>0<=k>>>0|(m>>>0<e>>>0|(m|0)==(e|0)&l>>>0<i>>>0)){f=o;n=76;break}while(1){i=cX(i|0,e|0,n|0)|0;e=y;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=sT(b)|0;f=a[175045+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[175045+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(N(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=sT(b)|0;e=a[175045+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=$W(-1,-1,o|0,0)|0;n=y;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=ZW(i|0,e|0,o|0,0)|0;l=y;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=TW(k|0,l|0,f|0,0)|0;e=y;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=sT(b)|0;f=a[175045+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[175045+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=sT(b)|0}while(f>>>0>(d[175045+i>>0]|0)>>>0);c[(mT()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(mT()|0)>>2]=34;g=TW(g|0,h|0,-1,-1)|0;h=y;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(mT()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=UW(i^j|0,e^g|0,j|0,g|0)|0;h=y}while(0);y=h;return g|0}function sT(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=uT(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function tT(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function uT(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);b=e;if((vT(a)|0)==0?(Md[c[a+32>>2]&15](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function vT(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Md[c[b+36>>2]&15](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function wT(a,b,c){a=a|0;b=b|0;c=c|0;c=pT(a,b,c,0,-2147483648)|0;return c|0}function xT(a,b,c){a=a|0;b=b|0;c=c|0;c=pT(a,b,c,-1,0)|0;return c|0}function yT(a,b,c){a=a|0;b=b|0;c=c|0;c=pT(a,b,c,-2147483648,0)|0;return c|0}function zT(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=l;l=l+32|0;if((l|0)>=(m|0))W(32);n=r+24|0;o=r+16|0;p=r+8|0;q=r;h[j>>3]=a;u=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0<f>>>0|(g|0)==(f|0)&u>>>0<e>>>0;t=i?e:u;s=i?f:g;e=i?u:e;f=i?g:f;g=bX(t|0,s|0,52)|0;i=bX(e|0,f|0,52)|0;c[j>>2]=t;c[j+4>>2]=s;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if((g|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{u=(i|0)<573;d=u?1.90109156629516e-211:1.0;b=u?a*5260135901548373507240989.0e186:a;a=u?k*5260135901548373507240989.0e186:k}AT(n,o,b);AT(p,q,a);a=d*+B(+(+h[q>>3]+ +h[o>>3]+ +h[p>>3]+ +h[n>>3]))}}else a=k;while(0);l=r;return +a}function AT(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function BT(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function CT(a){a=+a;var b=0;h[j>>3]=a;b=c[j+4>>2]&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=b;a=+h[j>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+ET(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+K(+a);a=(a+1.0/a)*.5;break}else{a=+FT(a);break}while(0);return +a}function DT(a){a=+a;var b=0.0,d=0,e=0.0;h[j>>3]=a;d=c[j+4>>2]|0;e=(d|0)<0?-.5:.5;d=d&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=d;b=+h[j>>3];do if(d>>>0<1082535490){b=+ET(b);if(d>>>0>=1072693248){a=e*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=e*(b*2.0-b*b/(b+1.0))}else a=e*2.0*+FT(b);while(0);return +a}function ET(a){a=+a;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0,k=0,l=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;d=bX(c[j>>2]|0,d|0,63)|0;do if(b>>>0>1078159481){i=GT(a)|0;b=y&2147483647;if(!(b>>>0>2146435072|(b|0)==2146435072&i>>>0>0))if(!d)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else k=11;else a=-1.0}else{if(b>>>0<=1071001154)if(b>>>0<1016070144)break;else{g=0.0;i=0;k=14;break}if(b>>>0<1072734898)if(!d){b=1;e=a+-.6931471803691238;f=1.9082149292705877e-10;k=12;break}else{b=-1;e=a+.6931471803691238;f=-1.9082149292705877e-10;k=12;break}else k=11}while(0);if((k|0)==11){b=~~(a*1.4426950408889634+((d|0)==0?.5:-.5));f=+(b|0);e=a-f*.6931471803691238;f=f*1.9082149292705877e-10;k=12}if((k|0)==12){g=e-f;a=g;g=e-g-f;i=b;k=14}a:do if((k|0)==14){f=a*.5;e=a*f;l=e*(e*(e*(e*(4.008217827329362e-06-e*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;f=3.0-f*l;f=e*((l-f)/(6.0-a*f));if(!i){a=a-(a*f-e);break}f=a*(f-g)-g-e;switch(i|0){case -1:{a=(a-f)*.5+-.5;break a}case 1:if(a<-.25){a=(f-(a+.5))*-2.0;break a}else{a=(a-f)*2.0+1.0;break a}default:{d=cX(i+1023|0,0,52)|0;k=y;c[j>>2]=d;c[j+4>>2]=k;g=+h[j>>3];if(i>>>0>56){a=a-f+1.0;a=((i|0)==1024?a*2.0*8988465674311579538646525.0e283:a*g)+-1.0;break a}b=cX(1023-i|0,0,52)|0;d=y;if((i|0)<20){c[j>>2]=b;c[j+4>>2]=d;e=1.0-+h[j>>3];a=a-f}else{c[j>>2]=b;c[j+4>>2]=d;e=a-(f+ +h[j>>3]);a=1.0}a=(e+a)*g;break a}}}while(0);return +a}function FT(a){a=+a;return +(+K(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function GT(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;y=c[j+4>>2]|0;return b|0}function HT(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function IT(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function JT(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function KT(a){a=a|0;return (a+-48|0)>>>0<10|0}function LT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+128|0;if((l|0)>=(m|0))W(128);g=o+124|0;n=o;h=n;i=108328;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(mT()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[n+48>>2]=k;g=n+20|0;c[g>>2]=b;c[n+44>>2]=b;d=b+k|0;b=n+16|0;c[b>>2]=d;c[n+28>>2]=d;d=MT(n,e,f)|0;if(k){n=c[g>>2]|0;a[n+(((n|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=o;return d|0}function MT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+224|0;if((l|0)>=(m|0))W(224);o=t+120|0;p=t+80|0;r=t;s=t+136|0;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((NT(0,d,o,r,p)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)q=OT(b)|0;else q=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=s;i=b+28|0;c[i>>2]=s;j=b+20|0;c[j>>2]=s;c[f>>2]=80;k=b+16|0;c[k>>2]=s+80;e=NT(b,d,o,r,p)|0;if(h){Md[c[b+36>>2]&15](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=NT(b,d,o,r,p)|0;f=c[b>>2]|0;c[b>>2]=f|n;if(q|0)PT(b);e=(f&32|0)==0?e:-1}l=t;return e|0}function NT(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+64|0;if((l|0)>=(m|0))W(64);E=J+16|0;F=J;B=J+24|0;H=J+8|0;I=J+20|0;c[E>>2]=e;x=(d|0)!=0;z=B+40|0;A=z;B=B+39|0;C=H+4|0;j=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[(mT()|0)>>2]=75;e=-1;break}else{e=j+e|0;break}while(0);t=c[E>>2]|0;j=a[t>>0]|0;if(!(j<<24>>24)){w=94;break a}k=t;b:while(1){switch(j<<24>>24){case 37:{w=10;break b}case 0:{j=k;break b}default:{}}v=k+1|0;c[E>>2]=v;j=a[v>>0]|0;k=v}c:do if((w|0)==10){w=0;j=k;do{if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[E>>2]=k}while((a[k>>0]|0)==37)}while(0);j=j-t|0;if(x)QT(d,t,j)}while((j|0)!=0);v=(KT(a[(c[E>>2]|0)+1>>0]|0)|0)==0;k=c[E>>2]|0;if(!v?(a[k+2>>0]|0)==36:0){r=(a[k+1>>0]|0)+-48|0;p=1;j=3}else{r=-1;p=n;j=1}j=k+j|0;c[E>>2]=j;k=a[j>>0]|0;n=(k<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;j=j+1|0;c[E>>2]=j;k=a[j>>0]|0;n=(k<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(k<<24>>24==42){if((KT(a[j+1>>0]|0)|0)!=0?(G=c[E>>2]|0,(a[G+2>>0]|0)==36):0){j=G+1|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;n=1;k=G+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);j=c[v>>2]|0;c[f>>2]=v+4}else j=0;n=0;k=(c[E>>2]|0)+1|0}c[E>>2]=k;v=(j|0)<0;u=v?0-j|0:j;o=v?o|8192:o;v=n}else{j=RT(E)|0;if((j|0)<0){e=-1;break}u=j;v=p;k=c[E>>2]|0}do if((a[k>>0]|0)==46){j=k+1|0;if((a[j>>0]|0)!=42){c[E>>2]=j;j=RT(E)|0;k=c[E>>2]|0;break}if(KT(a[k+2>>0]|0)|0?(D=c[E>>2]|0,(a[D+3>>0]|0)==36):0){j=D+2|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;k=D+4|0;c[E>>2]=k;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);j=c[s>>2]|0;c[f>>2]=s+4}else j=0;k=(c[E>>2]|0)+2|0;c[E>>2]=k}else j=-1;while(0);s=0;while(1){if(((a[k>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=k;k=k+1|0;c[E>>2]=k;n=a[(a[n>>0]|0)+-65+(175310+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(r|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(r<<2)>>2]=p;q=g+(r<<3)|0;r=c[q+4>>2]|0;w=F;c[w>>2]=c[q>>2];c[w+4>>2]=r;w=54;break}if(!x){e=0;break a}ST(F,p,f);k=c[E>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else j=0}d:do if((w|0)==55){w=0;k=a[k+-1>>0]|0;k=(s|0)!=0&(k&15|0)==3?k&-33:k;n=o&-65537;r=(o&8192|0)==0?o:n;e:do switch(k|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[F>>2]>>2]=e;j=0;break d}case 1:{c[c[F>>2]>>2]=e;j=0;break d}case 2:{j=c[F>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[F>>2]>>1]=e;j=0;break d}case 4:{a[c[F>>2]>>0]=e;j=0;break d}case 6:{c[c[F>>2]>>2]=e;j=0;break d}case 7:{j=c[F>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{k=120;j=j>>>0>8?j:8;n=r|8;w=67;break}case 88:case 120:{n=r;w=67;break}case 111:{n=F;k=c[n>>2]|0;n=c[n+4>>2]|0;q=UT(k,n,z)|0;w=A-q|0;o=0;p=175774;j=(r&8|0)==0|(j|0)>(w|0)?j:w+1|0;w=73;break}case 105:case 100:{n=F;k=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){k=UW(0,0,k|0,n|0)|0;n=y;o=F;c[o>>2]=k;c[o+4>>2]=n;o=1;p=175774;w=72;break e}else{o=(r&2049|0)!=0&1;p=(r&2048|0)==0?((r&1|0)==0?175774:175776):175775;w=72;break e}}case 117:{n=F;o=0;p=175774;k=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[B>>0]=c[F>>2];s=B;o=0;p=175774;q=1;j=A;break}case 109:{k=WT(c[(mT()|0)>>2]|0)|0;w=77;break}case 115:{k=c[F>>2]|0;k=(k|0)==0?175784:k;w=77;break}case 67:{c[H>>2]=c[F>>2];c[C>>2]=0;c[F>>2]=H;p=-1;w=81;break}case 83:{if(!j){YT(d,32,u,0,r);j=0;w=91}else{p=j;w=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=_T(d,+h[F>>3],u,j,r,k)|0;break d}default:{s=t;o=0;p=175774;q=j;n=r;j=A}}while(0);f:do if((w|0)==67){t=F;s=c[t>>2]|0;t=c[t+4>>2]|0;q=TT(s,t,z,k&32)|0;p=(n&8|0)==0|(s|0)==0&(t|0)==0;o=p?0:2;p=p?175774:175774+(k>>>4)|0;r=n;k=s;n=t;w=73}else if((w|0)==72){q=VT(k,n,z)|0;w=73}else if((w|0)==77){w=0;t=XT(k,0,j)|0;r=(t|0)==0;s=k;o=0;p=175774;q=r?j:t-k|0;j=r?k+j|0:t}else if((w|0)==81){w=0;o=c[F>>2]|0;j=0;while(1){k=c[o>>2]|0;if(!k)break;k=ZT(I,k)|0;n=(k|0)<0;if(n|k>>>0>(p-j|0)>>>0){w=85;break}j=k+j|0;if(p>>>0>j>>>0)o=o+4|0;else break}if((w|0)==85){w=0;if(n){e=-1;break a}}YT(d,32,u,j,r);if(!j){j=0;w=91}else{n=c[F>>2]|0;o=0;while(1){k=c[n>>2]|0;if(!k){w=91;break f}k=ZT(I,k)|0;o=k+o|0;if((o|0)>(j|0)){w=91;break f}QT(d,I,k);if(o>>>0>=j>>>0){w=91;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;n=(k|0)!=0|(n|0)!=0;t=(j|0)!=0|n;n=A-q+((n^1)&1)|0;s=t?q:z;q=t?((j|0)>(n|0)?j:n):0;n=(j|0)>-1?r&-65537:r;j=A}else if((w|0)==91){w=0;YT(d,32,u,j,r^8192);j=(u|0)>(j|0)?u:j;break}r=j-s|0;q=(q|0)<(r|0)?r:q;t=q+o|0;j=(u|0)<(t|0)?t:u;YT(d,32,j,t,n);QT(d,p,o);YT(d,48,j,t,n^65536);YT(d,48,q,r,0);QT(d,s,r);YT(d,32,j,t,n^8192)}while(0);n=v}g:do if((w|0)==94)if(!d)if(!n)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;ST(g+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);l=J;return e|0}function OT(a){a=a|0;return 0}function PT(a){a=a|0;return}function QT(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))lU(b,d,a)|0;return}function RT(b){b=b|0;var d=0,e=0;if(!(KT(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((KT(a[e>>0]|0)|0)!=0)}return d|0}function ST(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function TT(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[175822+(b&15)>>0]|0|f;b=bX(b|0,c|0,4)|0;c=y}while(!((b|0)==0&(c|0)==0));return e|0}function UT(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=bX(b|0,c|0,3)|0;c=y}while(!((b|0)==0&(c|0)==0));return d|0}function VT(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=$W(b|0,c|0,10,0)|0;f=c;c=y;g=ZW(b|0,c|0,10,0)|0;g=UW(e|0,f|0,g|0,y|0)|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function WT(a){a=a|0;return gU(a,c[(fU()|0)+188>>2]|0)|0}function XT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=N(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function YT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;if((l|0)>=(m|0))W(256);f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;iX(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{QT(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}QT(a,f,e)}l=g;return}function ZT(a,b){a=a|0;b=b|0;if(!a)a=0;else a=cU(a,b,0)|0;return a|0}function _T(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+560|0;if((l|0)>=(m|0))W(560);n=I+8|0;w=I;H=I+524|0;G=H;o=I+512|0;c[w>>2]=0;F=o+12|0;$T(e)|0;j=y;if((j|0)<0){e=-e;$T(e)|0;E=1;D=175791;j=y}else{E=(h&2049|0)!=0&1;D=(h&2048|0)==0?((h&1|0)==0?175792:175797):175794}do if(0==0&(j&2146435072|0)==2146435072){H=(i&32|0)!=0;j=E+3|0;YT(b,32,f,j,h&-65537);QT(b,D,E);QT(b,e!=e|0.0!=0.0?(H?177741:175818):H?175810:175814,3);YT(b,32,f,j,h^8192)}else{s=+aU(e,w)*2.0;j=s!=0.0;if(j)c[w>>2]=(c[w>>2]|0)+-1;v=i|32;if((v|0)==97){q=i&32;t=(q|0)==0?D:D+9|0;r=E|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[t>>0]|0)==45){e=-(e+(-s-e));break}else{e=s+e-e;break}}else e=s;while(0);k=c[w>>2]|0;j=(k|0)<0?0-k|0:k;j=VT(j,((j|0)<0)<<31>>31,F)|0;if((j|0)==(F|0)){j=o+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;p=j+-2|0;a[p>>0]=i+15;k=(g|0)<1;n=(h&8|0)==0;o=H;do{E=~~e;j=o+1|0;a[o>>0]=q|d[175822+E>>0];e=(e-+(E|0))*16.0;if((j-G|0)==1?!(n&(k&e==0.0)):0){a[j>>0]=46;o=o+2|0}else o=j}while(e!=0.0);if((g|0)!=0?(-2-G+o|0)<(g|0):0){k=F;n=p;j=g+2+k-n|0}else{k=F;n=p;j=k-G-n+o|0}F=j+r|0;YT(b,32,f,F,h);QT(b,t,r);YT(b,48,f,F,h^65536);G=o-G|0;QT(b,H,G);H=k-n|0;YT(b,48,j-(G+H)|0,0,0);QT(b,p,H);YT(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[w>>2]|0)+-28|0;c[w>>2]=j;e=s*268435456.0}else{e=s;j=c[w>>2]|0}C=(j|0)<0?n:n+288|0;n=C;do{A=~~e>>>0;c[n>>2]=A;n=n+4|0;e=(e-+(A>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){q=C;while(1){p=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=q>>>0){o=0;do{x=cX(c[j>>2]|0,0,p|0)|0;x=TW(x|0,y|0,o|0,0)|0;z=y;o=$W(x|0,z|0,1e9,0)|0;A=ZW(o|0,y|0,1e9,0)|0;A=UW(x|0,z|0,A|0,y|0)|0;c[j>>2]=A;j=j+-4|0}while(j>>>0>=q>>>0);if(o){A=q+-4|0;c[A>>2]=o;o=A}else o=q}else o=q;a:do if(n>>>0>o>>>0){j=n;while(1){n=j+-4|0;if(c[n>>2]|0){n=j;break a}if(n>>>0>o>>>0)j=n;else break}}while(0);j=(c[w>>2]|0)-p|0;c[w>>2]=j;if((j|0)>0)q=o;else break}}else o=C;if((j|0)<0){g=((k+25|0)/9|0)+1|0;u=(v|0)==102;do{t=0-j|0;t=(t|0)<9?t:9;if(o>>>0<n>>>0){p=(1<<t)+-1|0;q=1e9>>>t;r=0;j=o;do{A=c[j>>2]|0;c[j>>2]=(A>>>t)+r;r=N(A&p,q)|0;j=j+4|0}while(j>>>0<n>>>0);o=(c[o>>2]|0)==0?o+4|0:o;if(r){c[n>>2]=r;n=n+4|0}}else o=(c[o>>2]|0)==0?o+4|0:o;j=u?C:o;n=(n-j>>2|0)>(g|0)?j+(g<<2)|0:n;j=(c[w>>2]|0)+t|0;c[w>>2]=j}while((j|0)<0);u=o}else u=o;A=C;if(u>>>0<n>>>0){j=(A-u>>2)*9|0;p=c[u>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else j=0;x=(v|0)==103;z=(k|0)!=0;o=k-((v|0)==102?0:j)+((z&x)<<31>>31)|0;if((o|0)<(((n-A>>2)*9|0)+-9|0)){w=o+9216|0;o=(w|0)/9|0;g=C+4+(o+-1024<<2)|0;o=w-(o*9|0)|0;if((o|0)<8){p=10;while(1){p=p*10|0;if((o|0)<7)o=o+1|0;else break}}else p=10;r=c[g>>2]|0;o=(r>>>0)/(p>>>0)|0;t=r-(N(o,p)|0)|0;q=(g+4|0)==(n|0);if(!(q&(t|0)==0)){s=(o&1|0)==0?9007199254740992.0:9007199254740994.0;w=p>>>1;e=t>>>0<w>>>0?.5:q&(t|0)==(w|0)?1.0:1.5;if(E){w=(a[D>>0]|0)==45;e=w?-e:e;s=w?-s:s}o=r-t|0;c[g>>2]=o;if(s+e!=s){w=o+p|0;c[g>>2]=w;if(w>>>0>999999999){p=g;j=u;while(1){o=p+-4|0;c[p>>2]=0;if(o>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}w=(c[o>>2]|0)+1|0;c[o>>2]=w;if(w>>>0>999999999)p=o;else{p=j;break}}}else{o=g;p=u}j=(A-p>>2)*9|0;r=c[p>>2]|0;if(r>>>0>=10){q=10;do{q=q*10|0;j=j+1|0}while(r>>>0>=q>>>0)}}else{o=g;p=u}}else{o=g;p=u}w=o+4|0;n=n>>>0>w>>>0?w:n}else p=u;g=0-j|0;b:do if(n>>>0>p>>>0)while(1){o=n+-4|0;if(c[o>>2]|0){w=n;v=1;break b}if(o>>>0>p>>>0)n=o;else{w=o;v=0;break}}else{w=n;v=0}while(0);do if(x){k=k+((z^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){q=i+-1|0;k=k+-1-j|0}else{q=i+-2|0;k=k+-1|0}if(!(h&8)){if(v?(B=c[w+-4>>2]|0,(B|0)!=0):0)if(!((B>>>0)%10|0)){o=0;n=10;do{n=n*10|0;o=o+1|0}while(!((B>>>0)%(n>>>0)|0|0))}else o=0;else o=9;n=((w-A>>2)*9|0)+-9|0;if((q|32|0)==102){i=n-o|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=n+j-o|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else q=i;while(0);u=(k|0)!=0;r=u?1:h>>>3&1;t=(q|32|0)==102;if(t){x=0;j=(j|0)>0?j:0}else{n=(j|0)<0?g:j;n=VT(n,((n|0)<0)<<31>>31,F)|0;o=F;if((o-n|0)<2)do{n=n+-1|0;a[n>>0]=48}while((o-n|0)<2);a[n+-1>>0]=(j>>31&2)+43;j=n+-2|0;a[j>>0]=q;x=j;j=o-j|0}j=E+1+k+r+j|0;YT(b,32,f,j,h);QT(b,D,E);YT(b,48,f,j,h^65536);if(t){r=p>>>0>C>>>0?C:p;t=H+9|0;p=t;q=H+8|0;o=r;do{n=VT(c[o>>2]|0,0,t)|0;if((o|0)==(r|0)){if((n|0)==(t|0)){a[q>>0]=48;n=q}}else if(n>>>0>H>>>0){iX(H|0,48,n-G|0)|0;do n=n+-1|0;while(n>>>0>H>>>0)}QT(b,n,p-n|0);o=o+4|0}while(o>>>0<=C>>>0);if(!((h&8|0)==0&(u^1)))QT(b,175838,1);if(o>>>0<w>>>0&(k|0)>0)while(1){n=VT(c[o>>2]|0,0,t)|0;if(n>>>0>H>>>0){iX(H|0,48,n-G|0)|0;do n=n+-1|0;while(n>>>0>H>>>0)}QT(b,n,(k|0)<9?k:9);o=o+4|0;n=k+-9|0;if(!(o>>>0<w>>>0&(k|0)>9)){k=n;break}else k=n}YT(b,48,k+9|0,9,0)}else{w=v?w:p+4|0;if(p>>>0<w>>>0&(k|0)>-1){g=H+9|0;u=(h&8|0)==0;v=g;r=0-G|0;t=H+8|0;q=p;do{n=VT(c[q>>2]|0,0,g)|0;if((n|0)==(g|0)){a[t>>0]=48;n=t}do if((q|0)==(p|0)){o=n+1|0;QT(b,n,1);if(u&(k|0)<1){n=o;break}QT(b,175838,1);n=o}else{if(n>>>0<=H>>>0)break;iX(H|0,48,n+r|0)|0;do n=n+-1|0;while(n>>>0>H>>>0)}while(0);G=v-n|0;QT(b,n,(k|0)>(G|0)?G:k);k=k-G|0;q=q+4|0}while(q>>>0<w>>>0&(k|0)>-1)}YT(b,48,k+18|0,18,0);QT(b,x,F-x|0)}YT(b,32,f,j,h^8192)}while(0);l=I;return ((j|0)<(f|0)?f:j)|0}function $T(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;y=c[j+4>>2]|0;return b|0}function aU(a,b){a=+a;b=b|0;return +(+bU(a,b))}function bU(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=bX(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+bU(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function cU(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(dU()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(mT()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(mT()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function dU(){return eU()|0}function eU(){return 108452}function fU(){return eU()|0}function gU(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[175840+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=175928;else{b=f;g=5}if((g|0)==5){f=175928;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return hU(f,c[e+20>>2]|0)|0}function hU(a,b){a=a|0;b=b|0;return iU(a,b)|0}function iU(a,b){a=a|0;b=b|0;if(!b)b=0;else b=jU(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function jU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=kU(c[b+8>>2]|0,o)|0;f=kU(c[b+12>>2]|0,o)|0;g=kU(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=kU(c[b+(g<<2)>>2]|0,o)|0;g=kU(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=HT(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=kU(c[b+(f<<2)>>2]|0,o)|0;f=kU(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function kU(a,b){a=a|0;b=b|0;var c=0;c=eX(a|0)|0;return ((b|0)==0?a:c)|0}function lU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(mU(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Md[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Md[c[e+36>>2]&15](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);gX(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function mU(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function nU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;gX(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function oU(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=b;c[d>>2]=nT(a)|0;a=lb(6,d|0)|0;a=lT((a|0)==-4?0:a)|0;l=b;return a|0}function pU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+192|0;if((l|0)>=(m|0))W(192);i=t+152|0;h=t+136|0;s=t+120|0;r=t+104|0;q=t+96|0;n=t+80|0;k=t+64|0;f=t+48|0;o=t+32|0;g=t+16|0;e=t;u=t+176|0;j=t+168|0;c[u>>2]=d;d=(c[u>>2]|0)+(4-1)&~(4-1);p=c[d>>2]|0;c[u>>2]=d+4;p=(b|0)==4?p|32768:p;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=p;d=lT(hb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=hb(221,g|0)|0;switch(d|0){case -22:{c[o>>2]=a;c[o+4>>2]=9;c[o+8>>2]=p;d=hb(221,o|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=lT(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=p;d=hb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;hb(221,k|0)|0}d=lT(d)|0;break a}c[n>>2]=a;c[n+4>>2]=1030;c[n+8>>2]=0;d=hb(221,n|0)|0;if((d|0)==-22){c[r>>2]=a;c[r+4>>2]=0;c[r+8>>2]=p;d=hb(221,r|0)|0;if((d|0)>-1){c[s>>2]=d;c[s+4>>2]=2;c[s+8>>2]=1;hb(221,s|0)|0}d=lT(d)|0;break a}else{if((d|0)>-1){c[q>>2]=d;lb(6,q|0)|0}d=lT(-22)|0;break a}}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=p;d=lT(hb(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=p;d=lT(hb(221,i|0)|0)|0}}while(0);l=t;return d|0}function qU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;if((l|0)>=(m|0))W(48);g=h+16|0;f=h;e=h+32|0;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=jb(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;hb(221,g|0)|0}i=lT(e)|0;l=h;return i|0}function rU(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=sT(b)|0}while((tT(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=sT(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[177732+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=sT(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[177741+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=sT(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=sT(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=r;break a}c[o>>2]=(c[o>>2]|0)+-1;g=r;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=sT(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(mT()|0)>>2]=22;qT(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=sT(b)|0;if((e|32|0)==120){g=+sU(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+tU(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(mT()|0)>>2]=22;qT(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*s}while(0);return +g}function sU(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0;z=a+4|0;i=c[z>>2]|0;x=a+100|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=sT(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=sT(a)|0;j=1}if((w|0)==10){i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=sT(a)|0;if((i|0)==48){l=0;j=0;do{i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=sT(a)|0;l=TW(l|0,j|0,-1,-1)|0;j=y}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=TW(m|0,u|0,1,0)|0;q=i;r=1;p=y}i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=sT(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[z>>2]=(c[z>>2]|0)+-1;if(g){if(!i?(c[z>>2]=(c[z>>2]|0)+-1,!((s|0)==0|i)):0)c[z>>2]=(c[z>>2]|0)+-1}else qT(a,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;while(1){j=j<<4;w=m;m=TW(m|0,l|0,1,0)|0;if(!((l|0)<0|(l|0)==0&w>>>0<7)){m=j;break}else l=y}}else m=v;if((i|32|0)==112){j=uU(a,g)|0;i=y;if((j|0)==0&(i|0)==-2147483648){if(!g){qT(a,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[z>>2]=(c[z>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[z>>2]=(c[z>>2]|0)+-1;j=0;i=0}l=cX(p|0,o|0,2)|0;l=TW(l|0,y|0,-32,-1)|0;l=TW(l|0,y|0,j|0,i|0)|0;i=y;if(!m){h=+(f|0)*0.0;break}z=0-e|0;g=((z|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>z>>>0){c[(mT()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}z=e+-106|0;g=((z|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<z>>>0){c[(mT()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{z=!(h>=.5);j=j<<1|(z^1)&1;h=h+(z?h:h+-1.0);l=TW(l|0,i|0,-1,-1)|0;i=y}while((j|0)>-1);n=h;m=j}else n=h;z=((b|0)<0)<<31>>31;e=UW(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=TW(e|0,y|0,l|0,i|0)|0;e=y;if((e|0)<(z|0)|(e|0)==(z|0)&i>>>0<b>>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+wU(+vU(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(mT()|0)>>2]=34;h=+yU(h,l)}while(0);return +h}function tU(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;if((l|0)>=(m|0))W(512);G=J;H=f+e|0;I=0-H|0;F=a+4|0;E=a+100|0;j=0;a:while(1){switch(b|0){case 46:{C=7;break a}case 48:break;default:{w=0;r=j;j=0;q=0;break a}}b=c[F>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[F>>2]=b+1;b=d[b>>0]|0}else b=sT(a)|0;j=1}if((C|0)==7){b=c[F>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[F>>2]=b+1;b=d[b>>0]|0}else b=sT(a)|0;if((b|0)==48){j=0;b=0;while(1){j=TW(j|0,b|0,-1,-1)|0;q=y;b=c[F>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[F>>2]=b+1;b=d[b>>0]|0}else b=sT(a)|0;if((b|0)==48)b=q;else{w=1;r=1;break}}}else{w=1;r=j;j=0;q=0}}c[G>>2]=0;p=b+-48|0;o=(b|0)==46;b:do if(o|p>>>0<10){D=G+496|0;x=0;n=0;u=0;z=w;B=r;C=p;r=0;p=0;c:while(1){do if(o)if(!z){z=1;j=r;q=p}else break c;else{r=TW(r|0,p|0,1,0)|0;p=y;w=(b|0)!=48;if((n|0)>=125){if(!w)break;c[D>>2]=c[D>>2]|1;break}o=G+(n<<2)|0;if(!x)b=C;else b=b+-48+((c[o>>2]|0)*10|0)|0;c[o>>2]=b;x=x+1|0;B=(x|0)==9;x=B?0:x;n=n+(B&1)|0;u=w?r:u;B=1}while(0);b=c[F>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[F>>2]=b+1;b=d[b>>0]|0}else b=sT(a)|0;C=b+-48|0;o=(b|0)==46;if(!(o|C>>>0<10)){w=z;o=B;C=31;break b}}b=x;o=(B|0)!=0;C=39}else{x=0;n=0;u=0;o=r;r=0;p=0;C=31}while(0);do if((C|0)==31){D=(w|0)==0;j=D?r:j;q=D?p:q;o=(o|0)!=0;if(!(o&(b|32|0)==101))if((b|0)>-1){b=x;C=39;break}else{b=x;C=41;break}o=uU(a,h)|0;b=y;if((o|0)==0&(b|0)==-2147483648){if(!h){qT(a,0);i=0.0;break}if(!(c[E>>2]|0)){o=0;b=0}else{c[F>>2]=(c[F>>2]|0)+-1;o=0;b=0}}j=TW(o|0,b|0,j|0,q|0)|0;b=x;q=y;C=43}while(0);if((C|0)==39)if(c[E>>2]|0){c[F>>2]=(c[F>>2]|0)+-1;if(o)C=43;else C=42}else C=41;if((C|0)==41)if(o)C=43;else C=42;do if((C|0)==42){c[(mT()|0)>>2]=22;qT(a,0);i=0.0}else if((C|0)==43){o=c[G>>2]|0;if(!o){i=+(g|0)*0.0;break}if(((p|0)<0|(p|0)==0&r>>>0<10)&((j|0)==(r|0)&(q|0)==(p|0))?(e|0)>30|(o>>>e|0)==0:0){i=+(g|0)*+(o>>>0);break}a=(f|0)/-2|0;F=((a|0)<0)<<31>>31;if((q|0)>(F|0)|(q|0)==(F|0)&j>>>0>a>>>0){c[(mT()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;F=((a|0)<0)<<31>>31;if((q|0)<(F|0)|(q|0)==(F|0)&j>>>0<a>>>0){c[(mT()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){p=G+(n<<2)|0;o=c[p>>2]|0;while(1){o=o*10|0;if((b|0)>=8)break;else b=b+1|0}c[p>>2]=o}n=n+1|0}if((u|0)<9?(u|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[G>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[G>>2]|0)>>>0)/+(c[108696+(8-j<<2)>>2]|0);break}a=e+27+(N(j,-3)|0)|0;b=c[G>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[108696+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)o=0;else{u=(j|0)>-1?b:b+9|0;q=c[108696+(8-u<<2)>>2]|0;if(n){r=1e9/(q|0)|0;p=0;o=0;b=0;do{E=G+(b<<2)|0;F=c[E>>2]|0;a=(F>>>0)/(q>>>0)|0;F=F-(N(a,q)|0)|0;a=a+p|0;c[E>>2]=a;p=N(r,F)|0;a=(b|0)==(o|0)&(a|0)==0;j=a?j+-9|0:j;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(n|0));if(!p)b=n;else{c[G+(n<<2)>>2]=p;b=n+1|0}}else{o=0;b=0}n=b;j=9-u+j|0}b=0;d:while(1){w=(j|0)<18;x=(j|0)==18;z=G+(o<<2)|0;while(1){if(!w){if(!x)break d;if((c[z>>2]|0)>>>0>=9007199){j=18;break d}}p=0;B=n;n=n+127|0;while(1){r=n&127;q=G+(r<<2)|0;n=cX(c[q>>2]|0,0,29)|0;n=TW(n|0,y|0,p|0,0)|0;p=y;if(p>>>0>0|(p|0)==0&n>>>0>1e9){u=$W(n|0,p|0,1e9,0)|0;a=ZW(u|0,y|0,1e9,0)|0;n=UW(n|0,p|0,a|0,y|0)|0}else u=0;c[q>>2]=n;a=(r|0)==(o|0);q=(r|0)!=(B+127&127|0)|a?B:(n|0)==0?r:B;if(a)break;else{p=u;B=q;n=r+-1|0}}b=b+-29|0;if(!u)n=B;else break}o=o+127&127;n=q+127&127;p=G+((q+126&127)<<2)|0;if((o|0)==(q|0))c[p>>2]=c[p>>2]|c[G+(n<<2)>>2];else n=B;c[G+(o<<2)>>2]=u;j=j+9|0}e:while(1){x=n+1&127;z=G+((n+127&127)<<2)|0;while(1){r=(j|0)==18;w=(j|0)>27?9:1;B=o;while(1){q=0;while(1){o=q+B&127;if((o|0)==(n|0)){C=92;break}o=c[G+(o<<2)>>2]|0;p=c[108728+(q<<2)>>2]|0;if(o>>>0<p>>>0){C=92;break}if(o>>>0>p>>>0)break;if((q+1|0)>>>0<2)q=1;else{C=92;break}}if((C|0)==92?(C=0,r):0)break e;b=w+b|0;if((B|0)==(n|0))B=n;else break}r=(1<<w)+-1|0;u=1e9>>>w;q=0;o=B;p=B;do{E=G+(p<<2)|0;F=c[E>>2]|0;a=(F>>>w)+q|0;c[E>>2]=a;q=N(F&r,u)|0;a=(p|0)==(o|0)&(a|0)==0;j=a?j+-9|0:j;o=a?o+1&127:o;p=p+1&127}while((p|0)!=(n|0));if(q|0){if((x|0)!=(o|0))break;c[z>>2]=c[z>>2]|1}}c[G+(n<<2)>>2]=q;n=x}i=0.0;j=n;o=0;do{p=o+B&127;n=j+1&127;if((p|0)==(j|0)){c[G+(n+-1<<2)>>2]=0;j=n}i=i*1.0e9+ +((c[G+(p<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);v=+(g|0);k=i*v;p=b+53|0;q=p-f|0;r=(q|0)<(e|0);o=r?((q|0)>0?q:0):e;if((o|0)<53){K=+wU(+vU(1.0,105-o|0),k);s=+xU(k,+vU(1.0,53-o|0));t=K;i=s;s=K+(k-s)}else{t=0.0;i=0.0;s=k}n=B+2&127;if((n|0)!=(j|0)){n=c[G+(n<<2)>>2]|0;do if(n>>>0>=5e8){if((n|0)!=5e8){i=v*.75+i;break}if((B+3&127|0)==(j|0)){i=v*.5+i;break}else{i=v*.75+i;break}}else{if((n|0)==0?(B+3&127|0)==(j|0):0)break;i=v*.25+i}while(0);if((53-o|0)>1?!(+xU(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=s+k-t;do if((p&2147483647|0)>(-2-H|0)){H=!(+A(+i)>=9007199254740992.0);b=b+((H^1)&1)|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(k!=0.0&(r&((o|0)!=(q|0)|H))):0)break;c[(mT()|0)>>2]=34}while(0);i=+yU(i,b)}while(0);l=J;return +i}function uU(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=sT(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=sT(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=sT(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=ZW(f|0,h|0,10,0)|0;b=y;e=TW(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=TW(e|0,y|0,l|0,b|0)|0;h=y;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=sT(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=sT(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;l=(g|0)==0;j=UW(0,0,f|0,e|0)|0;f=l?f:j;e=l?e:y}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}y=e;return f|0}function vU(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=cX(b+1023|0,0,52)|0;e=y;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function wU(a,b){a=+a;b=+b;return +(+BT(a,b))}function xU(a,b){a=+a;b=+b;return +(+zU(a,b))}function yU(a,b){a=+a;b=b|0;return +(+vU(a,b))}function zU(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=bX(i|0,l|0,52)|0;e=e&2047;m=bX(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=cX(n|0,o|0,1)|0;k=y;a:do if(!((g|0)==0&(k|0)==0)?(f=AU(b)|0,d=y&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=cX(i|0,l|0,1)|0;f=y;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=cX(i|0,l|0,12)|0;f=y;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=cX(d|0,f|0,1)|0;f=y}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=cX(i|0,l|0,1-e|0)|0;g=y}else g=l&1048575|1048576;if(!m){f=cX(n|0,o|0,12)|0;k=y;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=cX(f|0,k|0,1)|0;k=y}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=cX(n|0,o|0,1-d|0)|0;m=d;l=y}else l=o&1048575|1048576;f=UW(i|0,g|0,n|0,l|0)|0;d=y;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=cX(f|0,d|0,1)|0;g=y;e=e+-1|0;f=UW(i|0,g|0,n|0,l|0)|0;d=y;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=cX(f|0,d|0,1)|0;d=y;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=TW(f|0,d|0,0,-1048576)|0;d=y;e=cX(e|0,0,52)|0;d=d|y;e=o|e}else{e=bX(f|0,d|0,1-e|0)|0;d=y}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function AU(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;y=c[j+4>>2]|0;return b|0}function BU(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function CU(b,c){b=b|0;c=c|0;b=DU(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function DU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(BU(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=N(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function EU(a,b){a=a|0;b=b|0;var e=0;a=FU(a)|0;if(((a|0)!=-1?(e=FU(b)|0,(e|0)!=-1):0)?(d[177745+a>>0]|0)<=207:0)a=e<<16|a;else{c[(mT()|0)>>2]=22;a=-1}return a|0}function FU(b){b=b|0;var c=0,d=0,e=0;d=(a[b>>0]|0)==0?177745:b;b=177745;while(1){if(!(GU(d,b)|0)){e=3;break}b=b+((BU(b)|0)+1)|0;c=a[b>>0]|0;if(!(c<<24>>24)){c=a[b+1>>0]|0;if((c&255)>128)c=2;else c=(((128-(c&255)|0)>>>2)*5|0)+2|0;c=b+c|0;b=c;c=a[c>>0]|0}if(!(c<<24>>24)){b=-1;break}}if((e|0)==3){if(a[b>>0]|0)do b=b+((BU(b)|0)+1)|0;while((a[b>>0]|0)!=0);b=b+1-177745|0}return b|0}function GU(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;a:do if(!(d<<24>>24)){d=0;g=9}else while(1){f=a[c>>0]|0;if(!(f<<24>>24)){g=9;break a}e=d;d=d&255;while(1){if(!((d+-48|0)>>>0>10&((d|32)+-97|0)>>>0>26)){d=e;break}b=b+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;break}else{e=d;d=d&255}}if((d|32)<<24>>24!=f<<24>>24){d=1;break a}b=b+1|0;c=c+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;g=9;break}}while(0);if((g|0)==9)d=d<<24>>24!=(a[c>>0]|0)&1;return d|0}function HU(a){a=a|0;return 0}function IU(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=n;j=(g|0)==0?186252:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(c[c[(JU()|0)+188>>2]>>2]|0)==0;g=a[e>>0]|0;if(h){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[107868+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;o=b>>>3;if((o+-16|o+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;c[(mT()|0)>>2]=84;g=-1}l=n;return g|0}function JU(){return eU()|0}function KU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=f;c[g>>2]=e;e=LT(a,b,d,g)|0;l=f;return e|0}function LU(a,b){a=a|0;b=b|0;MU(a,b)|0;return a|0}function MU(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function NU(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;b=c[j+4>>2]|0;d=b&2147483647;do if(d>>>0>1083174911){b=(b|0)>-1|(b|0)==-1&(c[j>>2]|0)>>>0>4294967295;if(b&d>>>0>1083179007){a=a*8988465674311579538646525.0e283;break}if(d>>>0<=2146435071)if(!(a<=-1075.0)|b){e=9;break}else{a=0.0;break}else{a=-1.0/a;break}}else if(d>>>0<1016070144)a=a+1.0;else e=9;while(0);if((e|0)==9){g=a+26388279066624.0;h[j>>3]=g;e=(c[j>>2]|0)+128|0;d=e<<1&510;f=+h[48456+(d<<3)>>3];a=a-(g+-26388279066624.0)-+h[48456+((d|1)<<3)>>3];a=+vU(f+f*a*(a*(a*(a*(a*1.3333559164630223e-03+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(e&-256|0)/256|0)}return +a}function OU(a){a=+a;a=+PU(a);y=+A(a)>=1.0?(a>0.0?~~+O(+z(a/4294967296.0),4294967295.0)>>>0:~~+M((a-+(~~a>>>0))/4294967296.0)>>>0):0;return ~~a>>>0|0}function PU(a){a=+a;var b=0,d=0;h[j>>3]=a;b=c[j+4>>2]|0;d=b&2146435072;if(!(d>>>0>1126170624|(d|0)==1126170624&0>0)){b=(b|0)<0;a=b?a+-4503599627370496.0+4503599627370496.0:a+4503599627370496.0+-4503599627370496.0;if(a==0.0)a=b?-0.0:0.0}return +a}function QU(a){a=+a;var b=0,d=0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=b;a=+h[j>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+ET(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+ET(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+ET(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function RU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=lT(ib(3,f|0)|0)|0;l=e;return d|0}function SU(a,b){a=a|0;b=b|0;var c=0;c=BU(a)|0;return ((TU(a,1,c,b)|0)!=(c|0))<<31>>31|0}function TU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=N(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(OT(e)|0)==0;a=lU(a,f,e)|0;if(!g)PT(e)}else a=lU(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function UU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=n;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(mU(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Md[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=n;return f|0}function VU(a){a=a|0;var b=0,c=0;b=(BU(a)|0)+1|0;c=$S(b)|0;if(!c)a=0;else a=gX(c|0,a|0,b|0)|0;return a|0}function WU(){cb(186256);return 186264}function XU(){mb(186256);return}
function kl(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;O=f+880|0;x=c[O>>2]|0;z=(v|0)!=0;A=(w|0)!=0;if(A&(z&(x|0)==2)){U=d[146266+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+U>>0]|0)*384|0)+(a[f+28312+U>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=38;else{M=x;x=5}}else if((x|0)==1){y=f+21792|0;M=y;y=c[y>>2]|0;x=5}else x=38;do if((x|0)==5){D=c[t>>2]|0;C=c[t+4>>2]|0;L=c[u>>2]|0;K=c[u+4>>2]|0;P=c[e+25664>>2]|0;Q=o<<1;U=f+21780|0;E=c[U>>2]|0;S=k+((N(E,Q)|0)+(n<<1<<P))|0;T=f+21784|0;x=c[T>>2]|0;Q=(N(x,Q)|0)+(n<<P)|0;R=l+Q|0;Q=m+Q|0;t=(c[f+21788>>2]<<3)+n|0;r=f+21828|0;l=c[r>>2]|0;y=(y>>l<<3)+o|0;if(!(z&A)){B=A&1;z=d[146266+g>>0]|0;o=a[f+28272+(B*40|0)+z>>0]|0;v=(t<<3)+(b[f+27952+(B*160|0)+(z<<2)>>1]|0)|0;z=(y<<3)+(b[f+27952+(B*160|0)+(z<<2)+2>>1]|0)|0;u=z<<2&12|v&3;x=v>>2;A=z>>2;t=(N(A,E)|0)+(x<<P)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)>>2]|0)+t|0;m=c[e+27012>>2]|0;y=m<<4;l=c[e+27008>>2]<<4>>l;n=v&7;M=(n|0)==0?0:-3;O=(z&7|0)==0?0:-3;if((!((x|0)<(0-M|0)|(A|0)<(0-O|0))?(x+16|0)<=(M+y|0):0)?(A+16|0)<=(l+O|0):0){k=0;y=E}else{O=f+27792|0;k=2<<P;Zd[c[e+8>>2]&3](c[O>>2]|0,t+(0-k)+(0-(E<<1))|0,E,E,21,21,x+-2|0,A+-2|0,y,l);y=c[U>>2]|0;t=(c[O>>2]|0)+k+(y<<1)|0;k=1}x=p+(u<<2)|0;Td[c[x>>2]&1023](S,t,y);if(!h)Td[c[x>>2]&1023](S+j|0,t+j|0,c[U>>2]|0);v=v>>3;u=v<<P;y=c[T>>2]|0;x=N(y,A)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)+4>>2]|0)+u+x|0;x=(c[f+23416+(B*1920|0)+(o*40|0)+8>>2]|0)+u+x|0;u=f+27792|0;if(!k){e=z<<1&6;Wd[q&63](R,t,y,i,n,e);y=e}else{j=m<<3;h=e+8|0;Zd[c[h>>2]&3](c[u>>2]|0,t,y,y,9,17,v,A,j,l);y=z<<1&6;Wd[q&63](R,c[u>>2]|0,c[T>>2]|0,i,n,y);e=c[T>>2]|0;Zd[c[h>>2]&3](c[u>>2]|0,x,e,e,9,17,v,A,j,l);x=c[u>>2]|0}Wd[q&63](Q,x,c[T>>2]|0,i,n,y);Wd[D&63](S,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(o<<4)+(B<<3)>>2]|0,c[f+912+(o<<4)+(B<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+892|0;Wd[C&63](R,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(o<<5)+(B<<4)>>2]|0,c[f+1680+(o<<5)+(B<<4)+4>>2]|0);Wd[C&63](Q,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(o<<5)+(B<<4)+8>>2]|0,c[f+1680+(o<<5)+(B<<4)+12>>2]|0);break}I=c[f+27788>>2]|0;J=I+(16<<P)|0;H=I+(x<<4)|0;C=d[146266+g>>0]|0;w=a[f+28272+C>>0]|0;G=a[f+28312+C>>0]|0;o=t<<3;k=o+(b[f+27952+(C<<2)>>1]|0)|0;B=y<<3;m=B+(b[f+27952+(C<<2)+2>>1]|0)|0;u=m<<2&12|k&3;x=k>>2;z=m>>2;y=(N(z,E)|0)+(x<<P)|0;y=(c[f+23416+(w*40|0)>>2]|0)+y|0;D=e+27012|0;A=c[D>>2]|0;t=A<<4;s=e+27008|0;l=c[s>>2]<<4>>l;n=k&7;F=(n|0)==0?0:-3;g=(m&7|0)==0?0:-3;if((!((x|0)<(0-F|0)|(z|0)<(0-g|0))?(x+16|0)<=(F+t|0):0)?(z+16|0)<=(l+g|0):0){t=y;v=0;y=E}else{g=f+27792|0;v=2<<P;Zd[c[e+8>>2]&3](c[g>>2]|0,y+(0-v)+(0-(E<<1))|0,E,E,21,21,x+-2|0,z+-2|0,t,l);y=c[U>>2]|0;t=(c[g>>2]|0)+v+(y<<1)|0;v=1}x=p+(u<<2)|0;Td[c[x>>2]&1023](S,t,y);E=(h|0)!=0;if(!E)Td[c[x>>2]&1023](S+j|0,t+j|0,c[U>>2]|0);y=k>>3;F=y<<P;t=c[T>>2]|0;x=N(t,z)|0;u=(c[f+23416+(w*40|0)+4>>2]|0)+F+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+F+x|0;F=f+27792|0;if(!v){y=m<<1&6;Wd[q&63](R,u,t,i,n,y)}else{g=A<<3;A=e+8|0;Zd[c[A>>2]&3](c[F>>2]|0,u,t,t,9,17,y,z,g,l);h=m<<1&6;Wd[q&63](R,c[F>>2]|0,c[T>>2]|0,i,n,h);m=c[T>>2]|0;Zd[c[A>>2]&3](c[F>>2]|0,x,m,m,9,17,y,z,g,l);x=c[F>>2]|0;y=h}Wd[q&63](Q,x,c[T>>2]|0,i,n,y);z=o+(b[f+28112+(C<<2)>>1]|0)|0;n=B+(b[f+28112+(C<<2)+2>>1]|0)|0;k=n<<2&12|z&3;u=z>>2;o=n>>2;y=c[U>>2]|0;t=(N(o,y)|0)+(u<<P)|0;t=(c[f+25336+(G*40|0)>>2]|0)+t|0;A=c[D>>2]|0;x=A<<4;l=c[s>>2]<<4>>c[r>>2];m=z&7;g=(m|0)==0?0:-3;h=(n&7|0)==0?0:-3;if((!((u|0)<(0-g|0)|(o|0)<(0-h|0))?(u+16|0)<=(x+g|0):0)?(o+16|0)<=(l+h|0):0)v=0;else{v=2<<P;Zd[c[e+8>>2]&3](c[F>>2]|0,t+(0-v)+(0-(y<<1))|0,y,y,21,21,u+-2|0,o+-2|0,x,l);y=c[U>>2]|0;t=(c[F>>2]|0)+v+(y<<1)|0;v=1}x=p+(k<<2)|0;Td[c[x>>2]&1023](H,t,y);if(!E)Td[c[x>>2]&1023](H+j|0,t+j|0,c[U>>2]|0);u=z>>3;j=u<<P;y=c[T>>2]|0;x=N(y,o)|0;t=(c[f+25336+(G*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(G*40|0)+8>>2]|0)+j+x|0;if(!v){e=n<<1&6;Wd[q&63](I,t,y,i,m,e);y=e}else{j=A<<3;h=e+8|0;Zd[c[h>>2]&3](c[F>>2]|0,t,y,y,9,17,u,o,j,l);y=n<<1&6;Wd[q&63](I,c[F>>2]|0,c[T>>2]|0,i,m,y);e=c[T>>2]|0;Zd[c[h>>2]&3](c[F>>2]|0,x,e,e,9,17,u,o,j,l);x=c[F>>2]|0}Wd[q&63](J,x,c[T>>2]|0,i,m,y);if((c[O>>2]|0)==2){e=c[f+3216+(w*384|0)+(G<<3)+((c[M>>2]&1)<<2)>>2]|0;f=64-e|0;Xd[L&31](S,H,c[U>>2]|0,i,5,e,f,0);Xd[K&31](R,I,c[T>>2]|0,i,5,e,f,0);Xd[K&31](Q,J,c[T>>2]|0,i,5,e,f,0);break}else{Xd[L&31](S,H,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(G<<4)+8>>2]|0,(c[f+912+(G<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);e=f+892|0;Xd[K&31](R,I,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(G<<5)+16>>2]|0,(c[f+1680+(G<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);Xd[K&31](Q,J,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(G<<5)+24>>2]|0,(c[f+1680+(G<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==38){I=c[e+25664>>2]|0;K=o<<1;H=f+21780|0;y=c[H>>2]|0;G=k+((N(y,K)|0)+(n<<1<<I))|0;L=f+21784|0;K=(N(c[L>>2]|0,K)|0)+(n<<I)|0;J=l+K|0;K=m+K|0;D=(c[f+21788>>2]<<3)+n|0;F=f+21828|0;x=c[F>>2]|0;E=(c[f+21792>>2]>>x<<3)+o|0;if(v){n=d[146266+g>>0]|0;A=a[f+28272+n>>0]|0;l=(D<<3)+(b[f+27952+(n<<2)>>1]|0)|0;n=(E<<3)+(b[f+27952+(n<<2)+2>>1]|0)|0;k=n<<2&12|l&3;u=l>>2;o=n>>2;t=(N(o,y)|0)+(u<<I)|0;t=(c[f+23416+(A*40|0)>>2]|0)+t|0;B=c[e+27012>>2]|0;v=B<<4;m=c[e+27008>>2]<<4>>x;C=l&7;T=(C|0)==0?0:-3;U=(n&7|0)==0?0:-3;if((!((u|0)<(0-T|0)|(o|0)<(0-U|0))?(u+16|0)<=(T+v|0):0)?(o+16|0)<=(m+U|0):0)z=0;else{U=f+27792|0;z=2<<I;Zd[c[e+8>>2]&3](c[U>>2]|0,t+(0-z)+(0-(y<<1))|0,y,y,21,21,u+-2|0,o+-2|0,v,m);y=c[H>>2]|0;t=(c[U>>2]|0)+z+(y<<1)|0;z=1}x=p+(k<<2)|0;Td[c[x>>2]&1023](G,t,y);if(!h)Td[c[x>>2]&1023](G+j|0,t+j|0,c[H>>2]|0);t=l>>3;y=t<<I;u=c[L>>2]|0;x=N(u,o)|0;v=(c[f+23416+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!z){y=n<<1&6;Wd[q&63](J,v,u,i,C,y)}else{T=B<<3;R=e+8|0;Zd[c[R>>2]&3](c[y>>2]|0,v,u,u,9,17,t,o,T,m);U=n<<1&6;Wd[q&63](J,c[y>>2]|0,c[L>>2]|0,i,C,U);S=c[L>>2]|0;Zd[c[R>>2]&3](c[y>>2]|0,x,S,S,9,17,t,o,T,m);x=c[y>>2]|0;y=U}Wd[q&63](K,x,c[L>>2]|0,i,C,y);q=s;p=r}if(w|0){m=d[146266+g>>0]|0;A=a[f+28312+m>>0]|0;l=(D<<3)+(b[f+28112+(m<<2)>>1]|0)|0;m=(E<<3)+(b[f+28112+(m<<2)+2>>1]|0)|0;v=m<<2&12|l&3;x=l>>2;n=m>>2;y=c[H>>2]|0;t=(N(n,y)|0)+(x<<I)|0;t=(c[f+25336+(A*40|0)>>2]|0)+t|0;o=c[e+27012>>2]|0;u=o<<4;z=c[e+27008>>2]<<4>>c[F>>2];B=l&7;T=(B|0)==0?0:-3;U=(m&7|0)==0?0:-3;if((!((x|0)<(0-T|0)|(n|0)<(0-U|0))?(x+16|0)<=(u+T|0):0)?(n+16|0)<=(z+U|0):0)k=0;else{U=f+27792|0;k=2<<I;Zd[c[e+8>>2]&3](c[U>>2]|0,t+(0-k)+(0-(y<<1))|0,y,y,21,21,x+-2|0,n+-2|0,u,z);y=c[H>>2]|0;t=(c[U>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;Td[c[x>>2]&1023](G,t,y);if(!h)Td[c[x>>2]&1023](G+j|0,t+j|0,c[H>>2]|0);v=l>>3;y=v<<I;t=c[L>>2]|0;x=N(t,n)|0;u=(c[f+25336+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=m<<1&6;Wd[q&63](J,u,t,i,B,y)}else{j=o<<3;h=e+8|0;Zd[c[h>>2]&3](c[y>>2]|0,u,t,t,9,17,v,n,j,z);f=m<<1&6;Wd[q&63](J,c[y>>2]|0,c[L>>2]|0,i,B,f);e=c[L>>2]|0;Zd[c[h>>2]&3](c[y>>2]|0,x,e,e,9,17,v,n,j,z);x=c[y>>2]|0;y=f}Wd[q&63](K,x,c[L>>2]|0,i,B,y)}}while(0);return}function ll(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)gl(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){A=q<<24>>24;B=c[f+21788>>2]|0;B=((B<<4|8)+(b[f+28e3>>1]>>2)<<p)+(64<<p)+(N((c[f+21792>>2]<<4|B<<2&12)+(b[f+28002>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;C=f+21772|0;Td[c[z>>2]&1023]((c[f+23416+(A*40|0)>>2]|0)+B|0,c[C>>2]|0,4);Td[c[z>>2]&1023]((c[f+23416+(A*40|0)+4>>2]|0)+B|0,c[C>>2]|0,4);Td[c[z>>2]&1023]((c[f+23416+(A*40|0)+8>>2]|0)+B|0,c[C>>2]|0,4)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;ml(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);ml(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}A=f+21780|0;if(D&32|0){w=j+64|0;x=k+4|0;y=l+64|0;z=m+4|0;B=n+4|0;C=o+4|0;ml(d,f,0,0,16,c[A>>2]<<3,g,h,i,0,0,w,c[x>>2]|0,y,c[z>>2]|0,B,C,D&4096,D&16384);ml(d,f,4,0,16,c[A>>2]<<3,g,h,i,4,0,w,c[x>>2]|0,y,c[z>>2]|0,B,C,D&8192,D&32768);break}B=j+128|0;C=k+8|0;w=l+128|0;x=m+8|0;y=n+8|0;z=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;ml(d,f,n,0,4,4<<c[G>>2],g,h,i,o,j,B,c[v>>2]|0,w,c[u>>2]|0,t,s,q,l);ml(d,f,n|2,0,4,4<<c[G>>2],g,h,i,o,j|2,B,c[v>>2]|0,w,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;ml(d,f,n,0,8,c[A>>2]<<2,g,h,i,o,j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,q,l);ml(d,f,n|1,0,8,c[A>>2]<<2,g,h,i,o|2,j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;ml(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,l,q);p=p+1|0}}else ml(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else ml(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){G=F<<24>>24;h=c[f+21788>>2]|0;h=((h<<4|8)+(b[f+28160>>1]>>2)<<E)+(64<<E)+(N((c[f+21792>>2]<<4|h<<2&12)+(b[f+28162>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;i=f+21772|0;Td[c[g>>2]&1023]((c[f+25336+(G*40|0)>>2]|0)+h|0,c[i>>2]|0,4);Td[c[g>>2]&1023]((c[f+25336+(G*40|0)+4>>2]|0)+h|0,c[i>>2]|0,4);Td[c[g>>2]&1023]((c[f+25336+(G*40|0)+8>>2]|0)+h|0,c[i>>2]|0,4)}return}function ml(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0;K=f+880|0;q=c[K>>2]|0;x=(v|0)!=0;y=(w|0)!=0;if(y&(x&(q|0)==2)){Q=d[146266+g>>0]|0;q=f+21792|0;s=c[q>>2]|0;if((c[f+3216+((a[f+28272+Q>>0]|0)*384|0)+(a[f+28312+Q>>0]<<3)+((s&1)<<2)>>2]|0)==32)q=59;else{J=q;q=5}}else if((q|0)==1){s=f+21792|0;J=s;s=c[s>>2]|0;q=5}else q=59;do if((q|0)==5){z=c[t>>2]|0;I=c[u>>2]|0;L=c[e+25664>>2]|0;Q=f+21780|0;w=c[Q>>2]|0;M=(N(o<<1,w)|0)+(n<<1<<L)|0;P=k+M|0;O=l+M|0;M=m+M|0;t=(c[f+21788>>2]<<3)+n|0;B=f+21828|0;u=c[B>>2]|0;q=(s>>u<<3)+o|0;if(!(x&y)){o=y&1;K=d[146266+g>>0]|0;n=a[f+28272+(o*40|0)+K>>0]|0;J=(t<<3)+(b[f+27952+(o*160|0)+(K<<2)>>1]|0)|0;K=(q<<3)+(b[f+27952+(o*160|0)+(K<<2)+2>>1]|0)|0;t=K<<2&12|J&3;y=J>>2;l=K>>2;v=(N(l,w)|0)+(y<<L)|0;q=(c[f+23416+(o*1920|0)+(n*40|0)>>2]|0)+v|0;m=c[e+27012>>2]<<4;k=c[e+27008>>2]<<4>>u;J=(J&7|0)==0?0:-3;K=(K&7|0)==0?0:-3;if((!((y|0)<(0-J|0)|(l|0)<(0-K|0))?(y+16|0)<=(J+m|0):0)?(l+16|0)<=(k+K|0):0){u=0;s=w}else{K=f+27792|0;u=2<<L;Zd[c[e+8>>2]&3](c[K>>2]|0,q+(0-u)+(0-(w<<1))|0,w,w,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[K>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Td[c[x>>2]&1023](P,q,s);p=(h|0)!=0;if(!p)Td[c[x>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(o*1920|0)+(n*40|0)+4>>2]|0)+v|0;t=(u|0)!=0;if(t){K=f+27792|0;h=2<<L;s=c[Q>>2]|0;Zd[c[e+8>>2]&3](c[K>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[K>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Td[c[x>>2]&1023](O,q,s);if(!p)Td[c[x>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(o*1920|0)+(n*40|0)+8>>2]|0)+v|0;if(t){K=f+27792|0;h=2<<L;s=c[Q>>2]|0;Zd[c[e+8>>2]&3](c[K>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[K>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Td[c[x>>2]&1023](M,q,s);if(!p)Td[c[x>>2]&1023](M+j|0,q+j|0,c[Q>>2]|0);Wd[z&63](P,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(n<<4)+(o<<3)>>2]|0,c[f+912+(n<<4)+(o<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+21784|0;j=f+892|0;Wd[z&63](O,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(n<<5)+(o<<4)>>2]|0,c[f+1680+(n<<5)+(o<<4)+4>>2]|0);Wd[z&63](M,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(n<<5)+(o<<4)+8>>2]|0,c[f+1680+(n<<5)+(o<<4)+12>>2]|0);break}E=c[f+27788>>2]|0;F=E+(16<<L)|0;G=f+21784|0;H=E+(c[G>>2]<<4)|0;z=d[146266+g>>0]|0;C=a[f+28272+z>>0]|0;D=a[f+28312+z>>0]|0;o=t<<3;x=o+(b[f+27952+(z<<2)>>1]|0)|0;n=q<<3;g=n+(b[f+27952+(z<<2)+2>>1]|0)|0;t=g<<2&12|x&3;l=x>>2;m=g>>2;k=(N(m,w)|0)+(l<<L)|0;q=(c[f+23416+(C*40|0)>>2]|0)+k|0;A=e+27012|0;y=c[A>>2]<<4;r=e+27008|0;v=c[r>>2]<<4>>u;x=(x&7|0)==0?0:-3;g=(g&7|0)==0?0:-3;if((!((l|0)<(0-x|0)|(m|0)<(0-g|0))?(l+16|0)<=(x+y|0):0)?(m+16|0)<=(v+g|0):0){u=0;s=w}else{g=f+27792|0;u=2<<L;Zd[c[e+8>>2]&3](c[g>>2]|0,q+(0-u)+(0-(w<<1))|0,w,w,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Td[c[x>>2]&1023](P,q,s);w=(h|0)!=0;if(!w)Td[c[x>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(C*40|0)+4>>2]|0)+k|0;t=(u|0)!=0;if(t){g=f+27792|0;h=2<<L;s=c[Q>>2]|0;Zd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Td[c[x>>2]&1023](O,q,s);if(!w)Td[c[x>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(C*40|0)+8>>2]|0)+k|0;if(t){g=f+27792|0;h=2<<L;s=c[Q>>2]|0;Zd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Td[c[x>>2]&1023](M,q,s);if(!w)Td[c[x>>2]&1023](M+j|0,q+j|0,c[Q>>2]|0);g=o+(b[f+28112+(z<<2)>>1]|0)|0;h=n+(b[f+28112+(z<<2)+2>>1]|0)|0;u=h<<2&12|g&3;y=g>>2;l=h>>2;q=c[Q>>2]|0;v=(N(l,q)|0)+(y<<L)|0;s=(c[f+25336+(D*40|0)>>2]|0)+v|0;k=c[A>>2]<<4;x=c[r>>2]<<4>>c[B>>2];g=(g&7|0)==0?0:-3;h=(h&7|0)==0?0:-3;if((!((y|0)<(0-g|0)|(l|0)<(0-h|0))?(y+16|0)<=(k+g|0):0)?(l+16|0)<=(x+h|0):0)t=0;else{h=f+27792|0;t=2<<L;Zd[c[e+8>>2]&3](c[h>>2]|0,s+(0-t)+(0-(q<<1))|0,q,q,21,21,y+-2|0,l+-2|0,k,x);q=c[Q>>2]|0;s=(c[h>>2]|0)+t+(q<<1)|0;t=1}u=p+(u<<2)|0;Td[c[u>>2]&1023](H,s,q);if(!w)Td[c[u>>2]&1023](H+j|0,s+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+4>>2]|0)+v|0;t=(t|0)!=0;if(t){g=f+27792|0;h=2<<L;s=c[Q>>2]|0;Zd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,k,x);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Td[c[u>>2]&1023](E,q,s);if(!w)Td[c[u>>2]&1023](E+j|0,q+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+8>>2]|0)+v|0;if(t){g=f+27792|0;h=2<<L;s=c[Q>>2]|0;Zd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,k,x);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Td[c[u>>2]&1023](F,q,s);if(!w)Td[c[u>>2]&1023](F+j|0,q+j|0,c[Q>>2]|0);if((c[K>>2]|0)==2){f=c[f+3216+(C*384|0)+(D<<3)+((c[J>>2]&1)<<2)>>2]|0;j=64-f|0;Xd[I&31](P,H,c[Q>>2]|0,i,5,f,j,0);Xd[I&31](O,E,c[G>>2]|0,i,5,f,j,0);Xd[I&31](M,F,c[G>>2]|0,i,5,f,j,0);break}else{Xd[I&31](P,H,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(C<<4)>>2]|0,c[f+912+(D<<4)+8>>2]|0,(c[f+912+(D<<4)+12>>2]|0)+(c[f+912+(C<<4)+4>>2]|0)|0);j=f+892|0;Xd[I&31](O,E,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(C<<5)>>2]|0,c[f+1680+(D<<5)+16>>2]|0,(c[f+1680+(D<<5)+20>>2]|0)+(c[f+1680+(C<<5)+4>>2]|0)|0);Xd[I&31](M,F,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(C<<5)+8>>2]|0,c[f+1680+(D<<5)+24>>2]|0,(c[f+1680+(D<<5)+28>>2]|0)+(c[f+1680+(C<<5)+12>>2]|0)|0);break}}else if((q|0)==59){E=c[e+25664>>2]|0;F=f+21780|0;x=c[F>>2]|0;D=(N(o<<1,x)|0)+(n<<1<<E)|0;B=k+D|0;C=l+D|0;D=m+D|0;z=(c[f+21788>>2]<<3)+n|0;A=f+21828|0;s=c[A>>2]|0;o=(c[f+21792>>2]>>s<<3)+o|0;if(v){i=d[146266+g>>0]|0;v=a[f+28272+i>>0]|0;Q=(z<<3)+(b[f+27952+(i<<2)>>1]|0)|0;i=(o<<3)+(b[f+27952+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;l=Q>>2;m=i>>2;k=(N(m,x)|0)+(l<<E)|0;q=(c[f+23416+(v*40|0)>>2]|0)+k|0;n=c[e+27012>>2]<<4;y=c[e+27008>>2]<<4>>s;Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((l|0)<(0-Q|0)|(m|0)<(0-i|0))?(l+16|0)<=(Q+n|0):0)?(m+16|0)<=(y+i|0):0){u=0;s=x}else{i=f+27792|0;u=2<<E;Zd[c[e+8>>2]&3](c[i>>2]|0,q+(0-u)+(0-(x<<1))|0,x,x,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[i>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Td[c[x>>2]&1023](B,q,s);p=(h|0)!=0;if(!p)Td[c[x>>2]&1023](B+j|0,q+j|0,c[F>>2]|0);q=(c[f+23416+(v*40|0)+4>>2]|0)+k|0;t=(u|0)!=0;if(t){Q=f+27792|0;i=2<<E;s=c[F>>2]|0;Zd[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[F>>2]|0;Td[c[x>>2]&1023](C,q,s);if(!p)Td[c[x>>2]&1023](C+j|0,q+j|0,c[F>>2]|0);q=(c[f+23416+(v*40|0)+8>>2]|0)+k|0;if(t){Q=f+27792|0;i=2<<E;s=c[F>>2]|0;Zd[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[F>>2]|0;Td[c[x>>2]&1023](D,q,s);if(p)p=r;else{Td[c[x>>2]&1023](D+j|0,q+j|0,c[F>>2]|0);p=r}}if(w|0){i=d[146266+g>>0]|0;n=a[f+28312+i>>0]|0;Q=(z<<3)+(b[f+28112+(i<<2)>>1]|0)|0;i=(o<<3)+(b[f+28112+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;y=Q>>2;l=i>>2;s=c[F>>2]|0;v=(N(l,s)|0)+(y<<E)|0;q=(c[f+25336+(n*40|0)>>2]|0)+v|0;m=c[e+27012>>2]<<4;k=c[e+27008>>2]<<4>>c[A>>2];Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((y|0)<(0-Q|0)|(l|0)<(0-i|0))?(y+16|0)<=(m+Q|0):0)?(l+16|0)<=(k+i|0):0)u=0;else{i=f+27792|0;u=2<<E;Zd[c[e+8>>2]&3](c[i>>2]|0,q+(0-u)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[i>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Td[c[x>>2]&1023](B,q,s);p=(h|0)!=0;if(!p)Td[c[x>>2]&1023](B+j|0,q+j|0,c[F>>2]|0);q=(c[f+25336+(n*40|0)+4>>2]|0)+v|0;t=(u|0)!=0;if(t){i=f+27792|0;h=2<<E;s=c[F>>2]|0;Zd[c[e+8>>2]&3](c[i>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[i>>2]|0)+h+(s<<1)|0}else s=c[F>>2]|0;Td[c[x>>2]&1023](C,q,s);if(!p)Td[c[x>>2]&1023](C+j|0,q+j|0,c[F>>2]|0);q=(c[f+25336+(n*40|0)+8>>2]|0)+v|0;if(t){h=f+27792|0;f=2<<E;s=c[F>>2]|0;Zd[c[e+8>>2]&3](c[h>>2]|0,q+(0-f)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[h>>2]|0)+f+(s<<1)|0}else s=c[F>>2]|0;Td[c[x>>2]&1023](D,q,s);if(!p)Td[c[x>>2]&1023](D+j|0,q+j|0,c[F>>2]|0)}}while(0);return}function nl(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;do if(c[a+26376>>2]|0){j=c[a+27016>>2]|0;h=(N(j,f&-2)|0)+d|0;g=h+-1|0;i=(f&1|0)!=0;if(i?(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(g<<1)>>1]|0|0):0)g=((c[b+21828>>2]|0)==((c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>7&1|0)?j:0)+g|0;if(!(c[b+21828>>2]|0)){h=(N(j,f+-1|0)|0)+d|0;break}h=h-j|0;if(!i?(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(h<<1)>>1]|0|0):0)h=h-((c[(c[a+24364>>2]|0)+(h<<2)>>2]&128|0)==0?0:j)|0}else{h=c[b+21796>>2]|0;g=h+-1|0;h=h-(c[a+27016>>2]<<((c[a+26380>>2]|0)!=3&1))|0}while(0);i=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)==(e[i+(g<<1)>>1]|0|0))g=(c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>11&1^1;else g=0;if((d|0)==(e[i+(h<<1)>>1]|0|0))g=((c[(c[a+24364>>2]|0)+(h<<2)>>2]|0)>>>11&1^1)+g|0;return rl(b+32856|0,((c[b+840>>2]|0)==3?g+13|0:g)+11+(b+32904)|0)|0}function ol(a,b){a=a|0;b=b|0;var d=0;d=(c[b+21796>>2]|0)-(c[a+27016>>2]<<1)|0;return rl(b+32856|0,b+32974+(((c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(d<<1)>>1]|0|0))+(c[b+21828>>2]&(c[b+21788>>2]|0)!=0))|0)|0}function pl(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+16|0;if((l|0)>=(m|0))W(16);y=D+4|0;A=D;B=g+21796|0;C=c[B>>2]|0;c[A>>2]=0;h=(c[f+25972>>2]|0)+(C*48|0)|0;i=h+48|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));x=g+21828|0;if(!(c[x>>2]|0))h=0;else{c[A>>2]=128;h=128}z=g+840|0;if((c[z>>2]|0)==3){h=h|63744;c[A>>2]=h;if(c[g+21844>>2]|0){ql(f,g,h);tl(f,g,h)}Kk(f,g,A);k=c[A>>2]|2048;c[A>>2]=k;h=f+26368|0}else{k=h|14344;c[A>>2]=k;ql(f,g,k);r=c[f+24384>>2]|0;s=c[f+24352>>2]|0;h=f+26368|0;t=c[h>>2]|0;c[g+28284>>2]=0;c[g+28292>>2]=0;c[g+28300>>2]=0;c[g+28308>>2]=0;n=c[g+21740>>2]|0;if(!(n&12288))if(!n)i=0;else{w=183584;u=-1;o=16}else{i=c[g+21720>>2]|0;w=d[c[g+21748>>2]>>0]|0;j=a[r+((w&254)+(i<<2|1))>>0]|0;i=s+((N(t,w)|0)+3+(c[(c[f+26360>>2]|0)+(i<<2)>>2]|0)<<2)|0;do if(c[f+26376>>2]|0){n=(n&128|0)!=0;if(!(c[x>>2]|0)){if(!n)break;i=c[i>>2]|0;c[y>>2]=i;b[y+2>>1]=i>>16<<1;i=y;j=j>>1;break}else{if(n)break;i=c[i>>2]|0;c[y>>2]=i;b[y+2>>1]=((i>>>16&65535)<<16>>16)/2|0;i=y;j=j<<1;break}}while(0);if(!(c[i>>2]|j))i=0;else{w=i;u=j;o=16}}do if((o|0)==16){n=c[g+21732>>2]|0;if(!(n&12288))if(!n){i=0;break}else{p=-1;q=183584}else{j=c[g+21712>>2]|0;i=a[r+(j<<2|2)>>0]|0;j=s+((c[(c[f+26360>>2]|0)+(j<<2)>>2]|0)+(t*3|0)<<2)|0;do if(c[f+26376>>2]|0){n=(n&128|0)!=0;if(!(c[x>>2]|0)){if(!n)break;q=c[j>>2]|0;j=y+4|0;c[j>>2]=q;b[y+6>>1]=q>>16<<1;i=i>>1;break}else{if(n)break;q=c[j>>2]|0;j=y+4|0;c[j>>2]=q;b[y+6>>1]=((q>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}while(0);if(!(c[j>>2]|i)){i=0;break}else{p=i;q=j}}j=c[g+21736>>2]|0;do if(!(j&12288))if((j|0)==0?(v=c[g+21728>>2]|0,(v&12288|0)!=0):0){n=c[g+21708>>2]|0;o=c[g+21752>>2]|0;i=a[r+(n<<2|o&2|1)>>0]|0;n=s+(t+3+(o&t<<1)+(c[(c[f+26360>>2]|0)+(n<<2)>>2]|0)<<2)|0;if(c[f+26376>>2]|0){j=(v&128|0)!=0;if(!(c[x>>2]|0)){if(!j){o=n;break}x=c[n>>2]|0;o=y+8|0;c[o>>2]=x;b[y+10>>1]=x>>16<<1;i=i>>1;break}else{if(j){o=n;break}x=c[n>>2]|0;o=y+8|0;c[o>>2]=x;b[y+10>>1]=((x>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}else o=n}else{o=183584;i=-1}else{n=c[g+21716>>2]|0;i=a[r+(n<<2|2)>>0]|0;n=s+((c[(c[f+26360>>2]|0)+(n<<2)>>2]|0)+(t*3|0)<<2)|0;if(c[f+26376>>2]|0){j=(j&128|0)!=0;if(!(c[x>>2]|0)){if(!j){o=n;break}x=c[n>>2]|0;o=y+8|0;c[o>>2]=x;b[y+10>>1]=x>>16<<1;i=i>>1;break}else{if(j){o=n;break}x=c[n>>2]|0;o=y+8|0;c[o>>2]=x;b[y+10>>1]=((x>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}else o=n}while(0);n=(p|0)!=0;j=(u|0)!=0;i=((n^1)&1)+((j^1)&1)+((i|0)==0&1)|0;do if(i>>>0<=1){if((i|0)!=1){i=zl(b[w>>1]|0,b[q>>1]|0,b[o>>1]|0)|0;j=zl(b[w+2>>1]|0,b[q+2>>1]|0,b[o+2>>1]|0)|0;break}if(!j){j=b[w+2>>1]|0;i=b[w>>1]|0;break}if(n){j=b[o+2>>1]|0;i=b[o>>1]|0;break}else{j=b[q+2>>1]|0;i=b[q>>1]|0;break}}else{i=zl(b[w>>1]|0,b[q>>1]|0,b[o>>1]|0)|0;j=zl(b[w+2>>1]|0,b[q+2>>1]|0,b[o+2>>1]|0)|0}while(0);i=j<<16|i&65535}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i}h=c[h>>2]|0;i=(N(h<<2,c[g+21792>>2]|0)|0)+(c[g+21788>>2]<<2)|0;j=c[B>>2]<<2;if(!(k&12288)){y=(c[f+24384>>2]|0)+j|0;b[y>>1]=-1;b[y+2>>1]=-1}else{y=(c[f+24352>>2]|0)+(i<<2)|0;w=g+28e3|0;x=c[w+4>>2]|0;u=y;c[u>>2]=c[w>>2];c[u+4>>2]=x;u=g+28008|0;x=c[u+4>>2]|0;w=y+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=x;w=g+28032|0;x=c[w+4>>2]|0;u=y+(h<<2)|0;v=u;c[v>>2]=c[w>>2];c[v+4>>2]=x;v=g+28040|0;x=c[v+4>>2]|0;u=u+8|0;c[u>>2]=c[v>>2];c[u+4>>2]=x;u=g+28064|0;x=c[u+4>>2]|0;v=y+(h<<1<<2)|0;w=v;c[w>>2]=c[u>>2];c[w+4>>2]=x;w=g+28072|0;x=c[w+4>>2]|0;v=v+8|0;c[v>>2]=c[w>>2];c[v+4>>2]=x;v=g+28096|0;x=c[v+4>>2]|0;y=y+(h*3<<2)|0;w=y;c[w>>2]=c[v>>2];c[w+4>>2]=x;w=g+28104|0;x=c[w+4>>2]|0;y=y+8|0;c[y>>2]=c[w>>2];c[y+4>>2]=x;y=(c[g+32848>>2]|0)+(c[(c[f+26364>>2]|0)+(c[B>>2]<<2)>>2]<<1)|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;y=(c[f+24384>>2]|0)+j|0;a[y>>0]=a[g+28284>>0]|0;a[y+1>>0]=a[g+28286>>0]|0;a[y+2>>0]=a[g+28300>>0]|0;a[y+3>>0]=a[g+28302>>0]|0}if(k&49152|0){y=(c[f+24356>>2]|0)+(i<<2)|0;w=g+28160|0;x=c[w+4>>2]|0;u=y;c[u>>2]=c[w>>2];c[u+4>>2]=x;u=g+28168|0;x=c[u+4>>2]|0;w=y+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=x;w=g+28192|0;x=c[w+4>>2]|0;u=y+(h<<2)|0;v=u;c[v>>2]=c[w>>2];c[v+4>>2]=x;v=g+28200|0;x=c[v+4>>2]|0;u=u+8|0;c[u>>2]=c[v>>2];c[u+4>>2]=x;u=g+28224|0;x=c[u+4>>2]|0;v=y+(h<<1<<2)|0;w=v;c[w>>2]=c[u>>2];c[w+4>>2]=x;w=g+28232|0;x=c[w+4>>2]|0;v=v+8|0;c[v>>2]=c[w>>2];c[v+4>>2]=x;v=g+28256|0;x=c[v+4>>2]|0;y=y+(h*3<<2)|0;w=y;c[w>>2]=c[v>>2];c[w+4>>2]=x;w=g+28264|0;x=c[w+4>>2]|0;y=y+8|0;c[y>>2]=c[w>>2];c[y+4>>2]=x;y=(c[g+32852>>2]|0)+(c[(c[f+26364>>2]|0)+(c[B>>2]<<2)>>2]<<1)|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;y=(c[f+24388>>2]|0)+j|0;a[y>>0]=a[g+28324>>0]|0;a[y+1>>0]=a[g+28326>>0]|0;a[y+2>>0]=a[g+28340>>0]|0;a[y+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[z>>2]|0)!=3)){B=(c[f+26408>>2]|0)+(c[B>>2]<<2)|0;a[B+1>>0]=(e[g+28554>>1]|0)>>>1;a[B+2>>0]=(e[g+28556>>1]|0)>>>1;a[B+3>>0]=(e[g+28558>>1]|0)>>>1}c[(c[f+24364>>2]|0)+(C<<2)>>2]=c[A>>2];a[(c[f+24340>>2]|0)+C>>0]=c[g+848>>2];b[(c[f+26372>>2]|0)+(C<<1)>>1]=c[g+832>>2];c[g+21648>>2]=1;l=D;return}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;o=c[a+27016>>2]|0;m=i-(o<<c[b+21828>>2])|0;f=m+-1|0;g=m+1|0;h=i+-1|0;n=b+21748|0;c[n>>2]=135853;q=c[a+24364>>2]|0;do if(c[a+26376>>2]|0){k=c[q+(h<<2)>>2]&128;l=d&128;if(!(c[b+21792>>2]&1)){i=(l|0)!=0;if(i){d=(((c[q+(m<<2)>>2]|0)>>>7&1)+-1&o)+m|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&o)+g|0;f=(((c[q+(f<<2)>>2]|0)>>>7&1)+-1&o)+f|0}else d=m;if((k|0)==(l|0)){p=d;n=f;m=h;d=h;break}c[n>>2]=i?135949:135917;p=d;n=f;m=h;d=h+(i?o:0)|0;break}else{if((k|0)==(l|0)){p=m;n=f;m=h;d=h;break}i=i-o+-1|0;if(!l){c[j>>2]=0;f=o+f|0;d=135885;h=i}else d=135949;c[n>>2]=d;p=m;n=f;m=i;d=h;break}}else{p=m;n=f;m=h;d=h}while(0);c[b+21708>>2]=n;c[b+21712>>2]=p;c[b+21716>>2]=g;c[b+21720>>2]=m;c[b+21724>>2]=d;h=b+21728|0;c[h>>2]=c[q+(n<<2)>>2];i=b+21732|0;c[i>>2]=c[q+(p<<2)>>2];j=b+21736|0;c[j>>2]=c[q+(g<<2)>>2];k=b+21740|0;c[k>>2]=c[q+(m<<2)>>2];l=b+21744|0;c[l>>2]=c[q+(d<<2)>>2];f=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)!=(e[f+(n<<1)>>1]|0|0)){c[h>>2]=0;if((d|0)!=(e[f+(p<<1)>>1]|0|0))c[i>>2]=0;if((d|0)!=(e[f+(m<<1)>>1]|0|0)){c[l>>2]=0;c[k>>2]=0}}if((d|0)!=(e[f+(g<<1)>>1]|0|0))c[j>>2]=0;return}function rl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[121202+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[121842+f>>0]|0;h=c[g>>2]|0;e=d[120690+h>>0]|0;c[g>>2]=h<<e;e=c[b>>2]<<e;c[b>>2]=e;if(!(e&65535))Jl(b);return f&1|0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+32904+b|0;if(!d){b=a+32856|0;if(!(rl(b,f)|0))b=0;else{e=b;g=4}}else{b=(c[a+21740>>2]&6|0)!=0;e=a+32856|0;if(!(rl(e,f+((c[a+21732>>2]&6|0)==0?b&1:b?2:1)|0)|0))b=0;else{f=f+2|0;g=4}}if((g|0)==4)if(!(Kl(e)|0)){b=(rl(e,f+1|0)|0)*12|1;if(rl(e,f+2|0)|0)b=b+4+((rl(e,f+(d+2)|0)|0)<<2)|0;b=((rl(e,f+(d+3)|0)|0)<<1)+b|0;b=b+(rl(e,f+((d<<1)+3)|0)|0)|0}else b=25;return b|0}function tl(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0;Ja=l;l=l+16|0;if((l|0)>=(m|0))W(16);za=Ja+8|0;Aa=Ja;Ba=c[g+21748>>2]|0;Ha=c[g+21708>>2]|0;qa=c[g+21712>>2]|0;ra=c[g+21716>>2]|0;sa=c[g+21720>>2]|0;c[za>>2]=sa;ta=c[g+21724>>2]|0;c[za+4>>2]=ta;ua=c[g+21728>>2]|0;va=c[g+21732>>2]|0;wa=c[g+21736>>2]|0;xa=c[g+21740>>2]|0;c[Aa>>2]=xa;ya=c[g+21744>>2]|0;c[Aa+4>>2]=ya;if(!(h&2048)){v=(h&7|0)!=0;a:do if(v){r=c[(c[f+28212>>2]|0)+56>>2]|0?7:-1;k=g+21768|0;c[k>>2]=65535;i=g+21760|0;c[i>>2]=65535;o=g+21756|0;c[o>>2]=65535;p=g+21764|0;c[p>>2]=61162;q=(r&va|0)!=0;if(q){i=65535;n=60138}else{c[o>>2]=46079;c[i>>2]=13311;c[p>>2]=9962;i=46079;n=8938}j=h&128;do if((j|0)==(xa&128|0)){if(!(xa&r)){i=i&57183;c[o>>2]=i;c[k>>2]=24415}}else{if(!j){if(!((xa&r|0)==0?1:(c[(c[f+24364>>2]|0)+((c[f+27016>>2]|0)+sa<<2)>>2]&r|0)==0))break;i=i&57183;c[o>>2]=i;c[k>>2]=24415;break}if(!(xa&r)){i=i&57343;c[o>>2]=i;c[k>>2]=24575;j=24415}else j=65375;if(!(ya&r)){i=i&65375;c[o>>2]=i;c[k>>2]=j}}while(0);if(!(r&ua))c[o>>2]=i&32767;if(!(r&wa))c[p>>2]=n;if(h&1|0){if(!(va&1)){iX(g+21668|0,(q?2:-1)|0,4)|0;n=g+21704|0;o=f+26364|0}else{n=g+21704|0;o=f+26364|0;c[g+21668>>2]=c[(c[n>>2]|0)+(c[(c[o>>2]|0)+(qa<<2)>>2]|0)>>2]}k=0;while(1){if((k|0)==2)break a;i=c[Aa+(k<<2)>>2]|0;if(!(i&1)){i=(i&r|0)==0?-1:2;j=k<<4;a[j+19+(g+21664)>>0]=i;j=j|11}else{pa=(c[n>>2]|0)+(c[(c[o>>2]|0)+(c[za+(k<<2)>>2]<<2)>>2]|0)|0;i=k<<1;j=k<<4;a[(j|11)+(g+21664)>>0]=a[pa+(6-(d[Ba+i>>0]|0))>>0]|0;i=a[pa+(6-(d[Ba+(i|1)>>0]|0))>>0]|0;j=j+19|0}a[g+21664+j>>0]=i;k=k+1|0}}}while(0);u=(va|0)!=0;if(u){t=f+25972|0;i=c[t>>2]|0;c[g+27828>>2]=c[i+(qa*48|0)+12>>2];pa=(c[f+25680>>2]|0)==0;c[g+27868>>2]=c[(pa?28:20)+(i+(qa*48|0))>>2];i=c[(pa?44:36)+(i+(qa*48|0))>>2]|0}else{i=v?1077952576:0;c[g+27828>>2]=i;c[g+27868>>2]=i;t=f+25972|0}c[g+27908>>2]=i;r=v?64:0;s=f+28216|0;q=0;while(1){if((q|0)==2)break;if(!(c[Aa+(q<<2)>>2]|0)){j=q<<4;a[j+99+(g+27824)>>0]=r;a[j+91+(g+27824)>>0]=r;a[j+59+(g+27824)>>0]=r;a[j+51+(g+27824)>>0]=r;a[j+19+(g+27824)>>0]=r;j=j|11;i=r}else{o=c[t>>2]|0;p=c[za+(q<<2)>>2]|0;i=q<<1;k=Ba+(i+8)|0;j=q<<4;a[(j|11)+(g+27824)>>0]=a[(d[k>>0]|0)+(o+(p*48|0))>>0]|0;n=Ba+(i+9)|0;a[j+19+(g+27824)>>0]=a[(d[n>>0]|0)+(o+(p*48|0))>>0]|0;switch(c[(c[s>>2]|0)+12>>2]|0){case 3:{a[j+51+(g+27824)>>0]=a[(d[k>>0]|0)+16+(o+(p*48|0))>>0]|0;a[j+59+(g+27824)>>0]=a[(d[n>>0]|0)+16+(o+(p*48|0))>>0]|0;a[j+91+(g+27824)>>0]=a[(d[k>>0]|0)+32+(o+(p*48|0))>>0]|0;n=(d[n>>0]|0)+32|0;i=j+99|0;break}case 2:{a[j+51+(g+27824)>>0]=a[(d[k>>0]|0)+14+(o+(p*48|0))>>0]|0;a[j+59+(g+27824)>>0]=a[(d[n>>0]|0)+14+(o+(p*48|0))>>0]|0;a[j+91+(g+27824)>>0]=a[(d[k>>0]|0)+30+(o+(p*48|0))>>0]|0;i=(d[n>>0]|0)+30|0;k=99;w=39;break}default:{j=q<<3;a[j+51+(g+27824)>>0]=a[(d[Ba+(i+12)>>0]|0)+(o+(p*48|0))>>0]|0;i=d[Ba+(i+13)>>0]|0;k=91;w=39}}if((w|0)==39){w=0;n=i;i=k+j|0}j=i;i=a[o+(p*48|0)+n>>0]|0}a[g+27824+j>>0]=i;q=q+1|0}if(u)i=e[(c[f+26392>>2]|0)+(qa<<1)>>1]|0;else i=v?1999:15;c[g+21860>>2]=i;if(!xa)i=v?1999:15;else{i=c[f+26392>>2]|0;pa=e[i+(sa<<1)>>1]|0;i=pa>>>(a[Ba>>0]&-2&255)&2|pa&2032|(e[i+(ta<<1)>>1]|0)>>>(a[Ba+2>>0]&-2&255)<<2&8}c[g+21864>>2]=i}if(!(h&120)){if(h&256|0?c[g+21844>>2]|0:0)w=53}else w=53;b:do if((w|0)==53){y=c[f+26368>>2]|0;z=g+23412|0;A=f+26360|0;B=y*3|0;D=qa<<2;C=D|2;D=D|3;E=(h&80|0)==0;F=xa|0?-1:-2;G=sa<<2|1;H=wa|0?-1:-2;I=ua|0?-1:-2;J=g+21752|0;K=y<<1;L=y+3|0;M=Ha<<2;O=(h&2304|0)==0;P=f+26364|0;Q=g+840|0;R=g+28524|0;S=f+26408|0;T=g+28532|0;U=g+28548|0;V=g+28540|0;X=(va&256|0)==0;Y=(va&64|0)==0;Z=g+28516|0;_=g+28518|0;$=g+28523|0;aa=ta<<2|1;ba=Ba+2|0;ca=g+28539|0;da=Ba+3|0;ea=Ba+1|0;fa=f+26376|0;ga=g+21828|0;ha=(ua&128|0)!=0;ia=(va&128|0)==0;ja=(wa&128|0)==0;ka=(xa&128|0)==0;la=(ya&128|0)==0;ma=ra<<2|2;na=va|0?-1:-16843010;oa=(xa&320|0)==64;w=xa&256|0?-128:4;pa=(ya&320|0)==64;x=ya&256|0?-128:4;v=0;while(1){if(v>>>0>=(c[z>>2]|0)>>>0)break b;p=g+28272+(v*40|0)+12|0;r=c[f+24384+(v<<2)>>2]|0;q=g+27952+(v*160|0)+48|0;s=c[f+24352+(v<<2)>>2]|0;u=12288<<(v<<1);do if(u&h|0){t=(u&va|0)!=0;if(t){k=(c[(c[A>>2]|0)+(qa<<2)>>2]|0)+B|0;j=s+(k<<2)|0;o=c[j+4>>2]|0;n=g+27952+(v*160|0)+16|0;c[n>>2]=c[j>>2];c[n+4>>2]=o;k=s+(k<<2)+8|0;n=c[k+4>>2]|0;o=g+27952+(v*160|0)+24|0;c[o>>2]=c[k>>2];c[o+4>>2]=n;o=a[r+C>>0]|0;a[g+28272+(v*40|0)+5>>0]=o;a[g+28272+(v*40|0)+4>>0]=o;o=a[r+D>>0]|0;a[g+28272+(v*40|0)+7>>0]=o;a[g+28272+(v*40|0)+6>>0]=o}else{o=g+27952+(v*160|0)+16|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[g+28272+(v*40|0)+4>>2]=na}c:do if(E){if(!(xa&u)){c[g+27952+(v*160|0)+44>>2]=0;i=F}else{c[g+27952+(v*160|0)+44>>2]=c[s+((c[(c[A>>2]|0)+(sa<<2)>>2]|0)+3+(N(y,d[Ba>>0]|0)|0)<<2)>>2];i=a[r+(G+(a[Ba>>0]&-2&255))>>0]|0}a[g+28272+(v*40|0)+11>>0]=i}else{o=0;while(1){if((o|0)==2)break c;j=o<<1;k=o<<4;i=k+-1|0;n=c[Aa+(o<<2)>>2]|0;if(!(n&u)){c[q+(i<<2)>>2]=0;k=k|7;c[q+(k<<2)>>2]=0;j=n|0?-1:-2;a[p+k>>0]=j}else{Ka=c[za+(o<<2)>>2]|0;Ma=(c[(c[A>>2]|0)+(Ka<<2)>>2]|0)+3|0;Ka=Ka<<2|1;La=Ba+j|0;c[q+(i<<2)>>2]=c[s+((N(y,d[La>>0]|0)|0)+Ma<<2)>>2];j=Ba+(j|1)|0;n=k|7;c[q+(n<<2)>>2]=c[s+((N(y,d[j>>0]|0)|0)+Ma<<2)>>2];a[p+i>>0]=a[r+(Ka+(a[La>>0]&-2&255))>>0]|0;j=a[r+(Ka+(a[j>>0]&-2&255))>>0]|0;i=n}a[p+i>>0]=j;o=o+1|0}}while(0);if(!(u&wa)){c[g+27952+(v*160|0)+32>>2]=0;i=H}else{c[g+27952+(v*160|0)+32>>2]=c[s+((c[(c[A>>2]|0)+(ra<<2)>>2]|0)+B<<2)>>2];i=a[r+ma>>0]|0}o=g+28272+(v*40|0)+8|0;a[o>>0]=i;n=g+28272+(v*40|0)+6|0;if((a[n>>0]|i)<<24>>24<0){if(!(u&ua)){c[g+27952+(v*160|0)+12>>2]=0;i=I}else{i=c[J>>2]|0;c[g+27952+(v*160|0)+12>>2]=c[s+(L+(c[(c[A>>2]|0)+(Ha<<2)>>2]|0)+(i&K)<<2)>>2];i=a[r+(M|i&2|1)>>0]|0}a[g+28272+(v*40|0)+3>>0]=i}if(O){k=c[g+32848+(v<<2)>>2]|0;a[g+28272+(v*40|0)+30>>0]=-2;a[g+28272+(v*40|0)+14>>0]=-2;c[g+27952+(v*160|0)+56>>2]=0;c[g+27952+(v*160|0)+120>>2]=0;if(t){j=k+(c[(c[P>>2]|0)+(qa<<2)>>2]<<1)|0;i=c[j>>2]|0;j=c[j+4>>2]|0}else{i=0;j=0}Ma=g+28352+(v*80|0)+8|0;c[Ma>>2]=i;c[Ma+4>>2]=j;if(!(xa&u)){b[g+28352+(v*80|0)+22>>1]=0;i=0}else{i=(c[(c[P>>2]|0)+(sa<<2)>>2]|0)+6|0;b[g+28352+(v*80|0)+22>>1]=b[k+(i-(d[Ba>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[ea>>0]|0)<<1)>>1]|0}b[g+28352+(v*80|0)+38>>1]=i;if(!(ya&u)){b[g+28352+(v*80|0)+54>>1]=0;i=0}else{i=(c[(c[P>>2]|0)+(ta<<2)>>2]|0)+6|0;b[g+28352+(v*80|0)+54>>1]=b[k+(i-(d[ba>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[da>>0]|0)<<1)>>1]|0}b[g+28352+(v*80|0)+70>>1]=i;b[g+28352+(v*80|0)+28>>1]=0;b[g+28352+(v*80|0)+60>>1]=0;if((c[Q>>2]|0)==3){j=c[S>>2]|0;c[R>>2]=67372036;c[T>>2]=67372036;c[V>>2]=67372036;c[U>>2]=67372036;do if(X)if(Y){c[Z>>2]=67372036;break}else{a[Z>>0]=a[j+C>>0]|0;a[_>>0]=a[j+D>>0]|0;break}else c[Z>>2]=-2139062144;while(0);if(oa)i=a[j+(G+(a[Ba>>0]&-2&255))>>0]|0;else i=w;a[$>>0]=i;if(pa)i=a[j+(aa+(a[ba>>0]&-2&255))>>0]|0;else i=x;a[ca>>0]=i}if(!(c[fa>>2]|0))break}else if(!(c[fa>>2]|0))break;if(!(c[ga>>2]|0)){if(ha?(Fa=g+28272+(v*40|0)+3|0,Ga=a[Fa>>0]|0,Ga<<24>>24>-1):0){a[Fa>>0]=(Ga&255)>>>1;Ma=g+27952+(v*160|0)+14|0;b[Ma>>1]=b[Ma>>1]<<1;Ma=g+28352+(v*80|0)+7|0;a[Ma>>0]=d[Ma>>0]<<1}do if(!ia){i=g+28272+(v*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ma=g+27952+(v*160|0)+18|0;b[Ma>>1]=b[Ma>>1]<<1;Ma=g+28352+(v*80|0)+9|0;a[Ma>>0]=d[Ma>>0]<<1}i=g+28272+(v*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ma=g+27952+(v*160|0)+22|0;b[Ma>>1]=b[Ma>>1]<<1;Ma=g+28352+(v*80|0)+11|0;a[Ma>>0]=d[Ma>>0]<<1}i=a[n>>0]|0;if(i<<24>>24>-1){a[n>>0]=(i&255)>>>1;Ma=g+27952+(v*160|0)+26|0;b[Ma>>1]=b[Ma>>1]<<1;Ma=g+28352+(v*80|0)+13|0;a[Ma>>0]=d[Ma>>0]<<1}i=g+28272+(v*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ma=g+27952+(v*160|0)+30|0;b[Ma>>1]=b[Ma>>1]<<1;Ma=g+28352+(v*80|0)+15|0;a[Ma>>0]=d[Ma>>0]<<1}while(0);if(!ja?(Ia=a[o>>0]|0,Ia<<24>>24>-1):0){a[o>>0]=(Ia&255)>>>1;Ma=g+27952+(v*160|0)+34|0;b[Ma>>1]=b[Ma>>1]<<1;Ma=g+28352+(v*80|0)+17|0;a[Ma>>0]=d[Ma>>0]<<1}do if(!ka){i=g+28272+(v*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ma=g+27952+(v*160|0)+46|0;b[Ma>>1]=b[Ma>>1]<<1;Ma=g+28352+(v*80|0)+23|0;a[Ma>>0]=d[Ma>>0]<<1}i=g+28272+(v*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ma=g+27952+(v*160|0)+78|0;b[Ma>>1]=b[Ma>>1]<<1;Ma=g+28352+(v*80|0)+39|0;a[Ma>>0]=d[Ma>>0]<<1}while(0);if(la)break;i=g+28272+(v*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ma=g+27952+(v*160|0)+110|0;b[Ma>>1]=b[Ma>>1]<<1;Ma=g+28352+(v*80|0)+55|0;a[Ma>>0]=d[Ma>>0]<<1}i=g+28272+(v*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ma=g+27952+(v*160|0)+142|0;b[Ma>>1]=b[Ma>>1]<<1;Ma=g+28352+(v*80|0)+71|0;a[Ma>>0]=d[Ma>>0]<<1;break}else{if(!ha?(Ca=g+28272+(v*40|0)+3|0,Da=a[Ca>>0]|0,Da<<24>>24>-1):0){a[Ca>>0]=Da<<24>>24<<1;Ma=g+27952+(v*160|0)+14|0;b[Ma>>1]=(b[Ma>>1]|0)/2|0;Ma=g+28352+(v*80|0)+7|0;a[Ma>>0]=(d[Ma>>0]|0)>>>1}do if(ia){i=g+28272+(v*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ma=g+27952+(v*160|0)+18|0;b[Ma>>1]=(b[Ma>>1]|0)/2|0;Ma=g+28352+(v*80|0)+9|0;a[Ma>>0]=(d[Ma>>0]|0)>>>1}i=g+28272+(v*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ma=g+27952+(v*160|0)+22|0;b[Ma>>1]=(b[Ma>>1]|0)/2|0;Ma=g+28352+(v*80|0)+11|0;a[Ma>>0]=(d[Ma>>0]|0)>>>1}i=a[n>>0]|0;if(i<<24>>24>-1){a[n>>0]=i<<24>>24<<1;Ma=g+27952+(v*160|0)+26|0;b[Ma>>1]=(b[Ma>>1]|0)/2|0;Ma=g+28352+(v*80|0)+13|0;a[Ma>>0]=(d[Ma>>0]|0)>>>1}i=g+28272+(v*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ma=g+27952+(v*160|0)+30|0;b[Ma>>1]=(b[Ma>>1]|0)/2|0;Ma=g+28352+(v*80|0)+15|0;a[Ma>>0]=(d[Ma>>0]|0)>>>1}while(0);if(ja?(Ea=a[o>>0]|0,Ea<<24>>24>-1):0){a[o>>0]=Ea<<24>>24<<1;Ma=g+27952+(v*160|0)+34|0;b[Ma>>1]=(b[Ma>>1]|0)/2|0;Ma=g+28352+(v*80|0)+17|0;a[Ma>>0]=(d[Ma>>0]|0)>>>1}do if(ka){i=g+28272+(v*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ma=g+27952+(v*160|0)+46|0;b[Ma>>1]=(b[Ma>>1]|0)/2|0;Ma=g+28352+(v*80|0)+23|0;a[Ma>>0]=(d[Ma>>0]|0)>>>1}i=g+28272+(v*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ma=g+27952+(v*160|0)+78|0;b[Ma>>1]=(b[Ma>>1]|0)/2|0;Ma=g+28352+(v*80|0)+39|0;a[Ma>>0]=(d[Ma>>0]|0)>>>1}while(0);if(!la)break;i=g+28272+(v*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ma=g+27952+(v*160|0)+110|0;b[Ma>>1]=(b[Ma>>1]|0)/2|0;Ma=g+28352+(v*80|0)+55|0;a[Ma>>0]=(d[Ma>>0]|0)>>>1}i=g+28272+(v*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ma=g+27952+(v*160|0)+142|0;b[Ma>>1]=(b[Ma>>1]|0)/2|0;Ma=g+28352+(v*80|0)+71|0;a[Ma>>0]=(d[Ma>>0]|0)>>>1;break}}while(0);v=v+1|0}}while(0);c[g+21840>>2]=(xa>>>24&1)+(va>>>24&1);l=Ja;return}function ul(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32856|0;if(!(Dl(c,a+32972|0)|0)){a=a+32973|0;d=Dl(c,a)|0;d=((Dl(c,a)|0)<<1)+d|0;c=d+((Dl(c,a)|0)<<2)|0;b=c+((c|0)>=(b|0)&1)|0}return b|0}function vl(b,d){b=b|0;d=d|0;var e=0;if(!(c[d+21740>>2]|0))e=0;else e=(a[(c[b+26396>>2]|0)+(c[d+21720>>2]|0)>>0]|0)!=0&1;if(c[d+21732>>2]|0)e=e+((a[(c[b+26396>>2]|0)+(c[d+21712>>2]|0)>>0]|0)!=0&1)|0;b=d+32856|0;if(rl(b,e+64+(d+32904)|0)|0){e=d+32971|0;if(!(rl(b,e)|0))e=1;else{e=(rl(b,e)|0)==0;e=e?2:3}}else e=0;return e|0}function wl(a){a=a|0;var b=0,c=0,d=0;d=a+32856|0;if(!(Dl(d,a+32940|0)|0))a=0;else{do if(!(Dl(d,a+32941|0)|0)){b=Dl(d,a+32943|0)|0;a=1}else{c=a+32943|0;if(Dl(d,a+32942|0)|0)if(!(Dl(d,c)|0))a=7;else{b=Dl(d,c)|0;a=11;break}else a=3;b=((Dl(d,c)|0)<<1)+a|0;a=Dl(d,c)|0}while(0);a=b+a|0}return a|0}function xl(a){a=a|0;var b=0;b=a+32856|0;if(!(Dl(b,a+32925|0)|0))if(!(Dl(b,a+32926|0)|0))a=1;else{a=(Dl(b,a+32927|0)|0)==0;a=a?3:2}else a=0;return a|0}function yl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=d[146266+f>>0]|0;g=i+-1|0;i=i+-8|0;h=a[b+28272+(e*40|0)+i>>0]|0;f=(a[b+28272+(e*40|0)+g>>0]|0)>0;if((c[b+840>>2]|0)==3){if(f)f=((d[b+28512+g>>0]|0)>>>7^1)&255;else f=0;if(h<<24>>24>0)e=(a[b+28512+i>>0]|0)<0?f:f|2;else e=f}else{e=f&1;e=h<<24>>24>0?e|2:e}g=b+32856|0;f=0;while(1){if(!(Dl(g,e+54+(b+32904)|0)|0))break;if((f|0)>30){f=-1;break}else{f=f+1|0;e=(e>>2)+4|0}}return f|0}function zl(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Al(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=j;i=a+32856|0;do if(!(Dl(i,b+2+(d+-3>>31)+(d+-33>>31)+(a+32904)|0)|0)){c[e>>2]=0;d=0}else{f=1;d=b+3|0;while(1){if((f|0)>=9){d=3;h=7;break}if(!(Dl(i,a+32904+d|0)|0)){b=f;d=f;break}b=d+((f|0)<4&1)|0;f=f+1|0;d=b}if((h|0)==7){while(1){h=0;if(!(Il(i)|0)){b=d;break}f=(1<<d)+f|0;if((d|0)>23){h=12;break}else{d=d+1|0;h=7}}if((h|0)==12){Uf(c[(c[a>>2]|0)+4>>2]|0,16,135820,g);d=-2147483648;break}while(1){d=b+-1|0;if(!b)break;b=d;f=((Il(i)|0)<<d)+f|0}b=f;d=(f|0)<70?f:70}c[e>>2]=d;d=c[i>>2]<<1;c[i>>2]=d;if(!(d&65534)){Hl(i);d=c[i>>2]|0}e=c[a+32860>>2]<<17;a=d-e|0;d=a>>31;c[i>>2]=(d&e)+a;d=(d^0-b)-d|0}while(0);l=j;return d|0}function Bl(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+21864>>2]|0;f=c[a+21860>>2]|0;d=a+32856|0;e=rl(d,76-(f>>>1&2|b>>>1&1)+(a+32904)|0)|0;e=((rl(d,76-(f>>>2&2|e&1)+(a+32904)|0)|0)<<1)+e|0;b=e+((rl(d,76-(e<<1&2|b>>>3&1)+(a+32904)|0)|0)<<2)|0;return b+((rl(d,76-(b>>>2&1|b&2)+(a+32904)|0)|0)<<3)|0}function Cl(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a+21864>>2]|0)>>>4&3;e=(c[a+21860>>2]|0)>>>4&3;f=(b|0)!=0&1;d=a+32856|0;f=(rl(d,((e|0)==0?f:f|2)+77+(a+32904)|0)|0)==0;b=(b|0)==2?5:4;if(f)b=0;else b=(rl(d,((e|0)==2?b|2:b)+77+(a+32904)|0)|0)+1|0;return b|0}function Dl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[121202+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[121842+f>>0]|0;h=c[g>>2]|0;e=d[120690+h>>0]|0;c[g>>2]=h<<e;e=c[b>>2]<<e;c[b>>2]=e;if(!(e&65535))Jl(b);return f&1|0}function El(f,g,h,i,j,k,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+304|0;if((l|0)>=(m|0))W(304);v=C+48|0;w=C;B=g+32860|0;t=w+4|0;c[t>>2]=c[B>>2];y=g+32856|0;c[w>>2]=c[y>>2];z=g+32872|0;A=w+16|0;c[A>>2]=c[z>>2];s=c[g+21828>>2]|0;r=(c[102572+(s*56|0)+(i<<2)>>2]|0)+(g+32904)|0;s=(c[102684+(s*56|0)+(i<<2)>>2]|0)+(g+32904)|0;u=(c[102796+(i<<2)>>2]|0)+(g+32904)|0;q=n+-1|0;p=0;o=0;while(1){if((p|0)>=(q|0)){x=6;break}if(Dl(w,r+p|0)|0){n=o+1|0;c[v+(o<<2)>>2]=p;if(!(Dl(w,s+p|0)|0))o=n;else{o=n;break}}p=p+1|0}if((x|0)==6)if((p|0)==(q|0)){c[v+(o<<2)>>2]=q;o=o+1|0}s=(i|0)==3;i=(c[f+26392>>2]|0)+(c[g+21796>>2]<<1)|0;b[i>>1]=(s?64:256)<<(s?-49:-48)+j|(e[i>>1]|0);a[(d[146266+j>>0]|0)+(g+27824)>>0]=o;if(!(c[f+25664>>2]|0)){s=o;n=0;while(1){s=s+-1|0;f=d[k+(c[v+(s<<2)>>2]|0)>>0]|0;if(!(Dl(w,u+(d[135654+n>>0]|0)|0)|0)){o=d[135662+n>>0]|0;n=c[w>>2]<<1;c[w>>2]=n;if(!(n&65534)){Hl(w);n=c[w>>2]|0}j=c[t>>2]|0;r=j<<17;n=n-r|0;q=n>>31;n=(q&r)+n|0;c[w>>2]=n;r=o;p=~q;o=j}else{o=u+(d[135678+n>>0]|0)|0;r=d[135670+n>>0]|0;n=2;while(1){if(n>>>0>=15){n=0;x=34;break}if(!(Dl(w,o)|0))break;n=n+1|0}if((x|0)==34){while(1){x=0;if((n|0)<23&(Il(w)|0)!=0){n=n+1|0;x=34}else{o=1;break}}while(1){if(!n)break;n=n+-1|0;o=(Il(w)|0)+(o<<1)|0}n=o+14|0}o=c[w>>2]<<1;c[w>>2]=o;if(!(o&65534)){Hl(w);o=c[w>>2]|0}j=c[t>>2]|0;p=j<<17;o=o-p|0;q=o>>31;o=(q&p)+o|0;c[w>>2]=o;p=q^0-n;n=o;o=j}b[h+(f<<1)>>1]=p-q;if(!s)break;else n=r}}else{n=0;s=o;while(1){s=s+-1|0;f=d[k+(c[v+(s<<2)>>2]|0)>>0]|0;if(!(Dl(w,u+(d[135654+n>>0]|0)|0)|0)){o=d[135662+n>>0]|0;n=c[w>>2]<<1;c[w>>2]=n;if(!(n&65534)){Hl(w);n=c[w>>2]|0}j=c[t>>2]|0;r=j<<17;n=n-r|0;q=n>>31;n=(q&r)+n|0;c[w>>2]=n;r=o;p=~q;o=j}else{o=u+(d[135678+n>>0]|0)|0;r=d[135670+n>>0]|0;n=2;while(1){if(n>>>0>=15){n=0;x=18;break}if(!(Dl(w,o)|0))break;n=n+1|0}if((x|0)==18){while(1){x=0;if((n|0)<23&(Il(w)|0)!=0){n=n+1|0;x=18}else{o=1;break}}while(1){if(!n)break;n=n+-1|0;o=(Il(w)|0)+(o<<1)|0}n=o+14|0}o=c[w>>2]<<1;c[w>>2]=o;if(!(o&65534)){Hl(w);o=c[w>>2]|0}j=c[t>>2]|0;p=j<<17;o=o-p|0;q=o>>31;o=(q&p)+o|0;c[w>>2]=o;p=q^0-n;n=o;o=j}c[h+(f<<2)>>2]=p-q;if(!s)break;else n=r}}c[B>>2]=o;c[y>>2]=n;c[z>>2]=c[A>>2];l=C;return}function Fl(e,f,g,h,i,j,k,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=l;l=l+304|0;if((l|0)>=(m|0))W(304);v=C+48|0;w=C;y=f+32860|0;u=w+4|0;c[u>>2]=c[y>>2];z=f+32856|0;c[w>>2]=c[z>>2];A=f+32872|0;B=w+16|0;c[B>>2]=c[A>>2];p=c[f+21828>>2]|0;q=(c[102572+(p*56|0)+(h<<2)>>2]|0)+(f+32904)|0;r=(c[102684+(p*56|0)+(h<<2)>>2]|0)+(f+32904)|0;t=(c[102796+(h<<2)>>2]|0)+(f+32904)|0;s=(n|0)==64;a:do if(s){o=0;n=0;while(1){if((o|0)>=63)break;if(Dl(w,q+(d[135694+(p*63|0)+o>>0]|0)|0)|0){D=r+(d[121970+o>>0]|0)|0;h=n+1|0;c[v+(n<<2)>>2]=o;if(!(Dl(w,D)|0))n=h;else{n=h;break a}}o=o+1|0}if((o|0)==63){c[v+(n<<2)>>2]=63;n=n+1|0}}else{p=n+-1|0;o=0;n=0;while(1){if((o|0)>=(p|0))break;if(Dl(w,q+o|0)|0){h=n+1|0;c[v+(n<<2)>>2]=o;if(!(Dl(w,r+o|0)|0))n=h;else{n=h;break a}}o=o+1|0}if((o|0)==(p|0)){c[v+(n<<2)>>2]=p;n=n+1|0}}while(0);if(s){D=(d[146266+i>>0]|0)+(f+27824)|0;i=n*257&65535;b[D>>1]=i;b[D+8>>1]=i}else a[(d[146266+i>>0]|0)+(f+27824)>>0]=n;if(!(c[e+25664>>2]|0)){q=n;h=0;while(1){q=q+-1|0;r=d[j+(c[v+(q<<2)>>2]|0)>>0]|0;if(!(Dl(w,t+(d[135654+h>>0]|0)|0)|0)){n=d[135662+h>>0]|0;o=0-(c[k+(r<<2)>>2]|0)|0;h=c[w>>2]<<1;c[w>>2]=h;if(!(h&65534)){Hl(w);h=c[w>>2]|0}D=c[u>>2]|0;p=D<<17;f=h-p|0;i=f>>31;h=(i&p)+f|0;c[w>>2]=h;p=n;o=(f>>>31|32)+(i^o)|0;n=D}else{n=t+(d[135678+h>>0]|0)|0;p=d[135670+h>>0]|0;h=2;while(1){if(h>>>0>=15){h=0;x=44;break}if(!(Dl(w,n)|0))break;h=h+1|0}if((x|0)==44){while(1){x=0;if((h|0)<23&(Il(w)|0)!=0){h=h+1|0;x=44}else{n=1;break}}while(1){if(!h)break;h=h+-1|0;n=(Il(w)|0)+(n<<1)|0}h=n+14|0}n=c[w>>2]<<1;c[w>>2]=n;if(!(n&65534)){Hl(w);n=c[w>>2]|0}D=c[u>>2]|0;i=D<<17;n=n-i|0;o=n>>31;n=(o&i)+n|0;c[w>>2]=n;o=(N((o^0-h)-o|0,c[k+(r<<2)>>2]|0)|0)+32|0;h=n;n=D}b[g+(r<<1)>>1]=o>>>6;if(!q)break;else h=p}}else{h=0;q=n;while(1){q=q+-1|0;r=d[j+(c[v+(q<<2)>>2]|0)>>0]|0;if(!(Dl(w,t+(d[135654+h>>0]|0)|0)|0)){n=d[135662+h>>0]|0;o=0-(c[k+(r<<2)>>2]|0)|0;h=c[w>>2]<<1;c[w>>2]=h;if(!(h&65534)){Hl(w);h=c[w>>2]|0}D=c[u>>2]|0;p=D<<17;f=h-p|0;i=f>>31;h=(i&p)+f|0;c[w>>2]=h;p=n;o=(f>>>31|32)+(i^o)|0;n=D}else{n=t+(d[135678+h>>0]|0)|0;p=d[135670+h>>0]|0;h=2;while(1){if(h>>>0>=15){h=0;x=28;break}if(!(Dl(w,n)|0))break;h=h+1|0}if((x|0)==28){while(1){x=0;if((h|0)<23&(Il(w)|0)!=0){h=h+1|0;x=28}else{n=1;break}}while(1){if(!h)break;h=h+-1|0;n=(Il(w)|0)+(n<<1)|0}h=n+14|0}n=c[w>>2]<<1;c[w>>2]=n;if(!(n&65534)){Hl(w);n=c[w>>2]|0}D=c[u>>2]|0;i=D<<17;n=n-i|0;o=n>>31;n=(o&i)+n|0;c[w>>2]=n;o=(N((o^0-h)-o|0,c[k+(r<<2)>>2]|0)|0)+32|0;h=n;n=D}c[g+(r<<2)>>2]=o>>6;if(!q)break;else h=p}}c[y>>2]=n;c[z>>2]=h;c[A>>2]=c[B>>2];l=C;return}function Gl(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+304|0;if((l|0)>=(m|0))W(304);s=A+48|0;t=A;y=g+32860|0;u=t+4|0;c[u>>2]=c[y>>2];z=g+32856|0;c[t>>2]=c[z>>2];w=g+32872|0;x=t+16|0;c[x>>2]=c[w>>2];q=c[g+21828>>2]|0;p=(c[102572+(q*56|0)+12>>2]|0)+(g+32904)|0;q=(c[102684+(q*56|0)+12>>2]|0)+(g+32904)|0;r=g+33161|0;o=0;k=0;while(1){if((o|0)>=7){v=6;break}j=d[135647+o>>0]|0;if(Dl(t,p+j|0)|0){n=k+1|0;c[s+(k<<2)>>2]=o;if(!(Dl(t,q+j|0)|0))k=n;else{k=n;break}}o=o+1|0}if((v|0)==6)if((o|0)==7){c[s+(k<<2)>>2]=7;k=k+1|0}q=(c[f+26392>>2]|0)+(c[g+21796>>2]<<1)|0;b[q>>1]=64<<i+-49|(e[q>>1]|0);a[(d[146266+i>>0]|0)+(g+27824)>>0]=k;if(!(c[f+25664>>2]|0)){q=k;j=0;while(1){q=q+-1|0;f=d[123674+(c[s+(q<<2)>>2]|0)>>0]|0;if(!(Dl(t,r+(d[135654+j>>0]|0)|0)|0)){k=d[135662+j>>0]|0;j=c[t>>2]<<1;c[t>>2]=j;if(!(j&65534)){Hl(t);j=c[t>>2]|0}i=c[u>>2]|0;p=i<<17;j=j-p|0;o=j>>31;j=(o&p)+j|0;c[t>>2]=j;p=k;n=~o;k=i}else{k=r+(d[135686+j>>0]|0)|0;p=d[135670+j>>0]|0;j=2;while(1){if(j>>>0>=15){j=0;v=34;break}if(!(Dl(t,k)|0))break;j=j+1|0}if((v|0)==34){while(1){v=0;if((j|0)<23&(Il(t)|0)!=0){j=j+1|0;v=34}else{k=1;break}}while(1){if(!j)break;j=j+-1|0;k=(Il(t)|0)+(k<<1)|0}j=k+14|0}k=c[t>>2]<<1;c[t>>2]=k;if(!(k&65534)){Hl(t);k=c[t>>2]|0}i=c[u>>2]|0;n=i<<17;k=k-n|0;o=k>>31;k=(o&n)+k|0;c[t>>2]=k;n=o^0-j;j=k;k=i}b[h+(f<<1)>>1]=n-o;if(!q)break;else j=p}}else{j=0;q=k;while(1){q=q+-1|0;f=d[123674+(c[s+(q<<2)>>2]|0)>>0]|0;if(!(Dl(t,r+(d[135654+j>>0]|0)|0)|0)){k=d[135662+j>>0]|0;j=c[t>>2]<<1;c[t>>2]=j;if(!(j&65534)){Hl(t);j=c[t>>2]|0}i=c[u>>2]|0;p=i<<17;j=j-p|0;o=j>>31;j=(o&p)+j|0;c[t>>2]=j;p=k;n=~o;k=i}else{k=r+(d[135686+j>>0]|0)|0;p=d[135670+j>>0]|0;j=2;while(1){if(j>>>0>=15){j=0;v=18;break}if(!(Dl(t,k)|0))break;j=j+1|0}if((v|0)==18){while(1){v=0;if((j|0)<23&(Il(t)|0)!=0){j=j+1|0;v=18}else{k=1;break}}while(1){if(!j)break;j=j+-1|0;k=(Il(t)|0)+(k<<1)|0}j=k+14|0}k=c[t>>2]<<1;c[t>>2]=k;if(!(k&65534)){Hl(t);k=c[t>>2]|0}i=c[u>>2]|0;n=i<<17;k=k-n|0;o=k>>31;k=(o&n)+k|0;c[t>>2]=k;n=o^0-j;j=k;k=i}c[h+(f<<2)>>2]=n-o;if(!q)break;else j=p}}c[y>>2]=k;c[z>>2]=j;c[w>>2]=c[x>>2];l=A;return}function Hl(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);c[b>>2]=e+2;return}function Il(a){a=a|0;var b=0,d=0;b=c[a>>2]<<1;c[a>>2]=b;if(!(b&65534)){Hl(a);b=c[a>>2]|0}d=c[a+4>>2]<<17;if((b|0)<(d|0))b=0;else{c[a>>2]=b-d;b=1}return b|0}function Jl(a){a=a|0;var b=0,e=0,f=0;f=c[a>>2]|0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9)+-65535<<7-(d[120690+((f+-1^f)>>>15)>>0]|0))+f;c[b>>2]=e+2;return}function Kl(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){Ll(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function Ll(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<<b;b=c[a>>2]<<b;c[a>>2]=b;if(!(b&65535))Hl(a);return}function Ml(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=u;s=b+556|0;p=c[s>>2]|0;q=(N(p,f)|0)+e|0;r=b+552|0;n=c[r>>2]|0;o=n+-1|0;q=(q|0)<0?0:(q|0)>(o|0)?o:q;h=(N(p,h)|0)+g|0;h=(h|0)<0?0:(h|0)>(n|0)?n:h;n=b+548|0;p=c[n>>2]|0;o=c[p+(q<<2)>>2]|0;p=c[p+(h<<2)>>2]|0;e=c[b>>2]|0;g=c[e+592>>2]|0;if(!((g|0)!=0?(c[g+32>>2]|0)!=0:0))k=3;do if((k|0)==3){if((p|0)<(o|0)|(q|0)>(h|0)){Uf(e,16,135981,j);break}if(c[e+572>>2]|0){if(!(i&18))e=-2;else{e=b+572|0;c[e>>2]=(c[e>>2]|0)+(q+~h);e=-20}if(i&36){k=b+572|0;c[k>>2]=(c[k>>2]|0)+(q+~h);e=e&-38}if(i&72){k=b+572|0;c[k>>2]=(c[k>>2]|0)+(q+~h);e=e&-73}if(i&14|0){c[b+576>>2]=1;c[b+572>>2]=2147483647}g=b+580|0;a:do if((e|0)==-128)iX((c[g>>2]|0)+o|0,0,p-o|0)|0;else{f=o;while(1){if((f|0)>=(p|0))break a;k=(c[g>>2]|0)+f|0;a[k>>0]=e&(d[k>>0]|0);f=f+1|0}}while(0);if((h|0)==(c[r>>2]|0))c[b+572>>2]=2147483647;else{r=(c[g>>2]|0)+p|0;a[r>>0]=e&(d[r>>0]|0);r=(c[g>>2]|0)+p|0;a[r>>0]=d[r>>0]|0|i}i=(c[g>>2]|0)+o|0;a[i>>0]=a[i>>0]|1;if(((((o|0)>0?(t=c[b>>2]|0,(c[t+696>>2]&2|0)==0):0)?Ti(b)|0:0)?(N(c[s>>2]|0,c[t+268>>2]|0)|0)<(q|0):0)?(a[(c[g>>2]|0)+(c[(c[n>>2]|0)+(q+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0){c[b+576>>2]=1;c[b+572>>2]=2147483647}}}while(0);l=u;return}function Nl(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;Ql(a,b,c,0);return}function Pl(a,b,c){a=a|0;b=b|0;c=c|0;Ql(a,b,c,1);return}function Ql(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=i;if((c[e>>2]|0)>>>0>=f>>>0){if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=148516;c[h+4>>2]=144213;c[h+8>>2]=33;Uf(0,0,159675,h);Ub()}}else{h=f+32+(f>>>4)|0;h=h>>>0>f>>>0?h:f;Qf(b);if(!g)f=ag(h)|0;else f=Lg(h)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;c[e>>2]=(f|0)==0?0:h}l=i;return}function Rl(a){a=a|0;var b=0,d=0;b=a+64|0;kX(b|0)|0;d=a+140|0;a=a+92|0;while(1){if(!(c[d>>2]|0))break;wc(a|0,b|0)|0}c[d>>2]=1;lX(b|0)|0;return}function Sl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+112|0;if((l|0)>=(m|0))W(112);E=F+96|0;D=F+88|0;B=F+80|0;A=F+72|0;s=F+64|0;r=F+56|0;o=F+48|0;n=F+40|0;k=F+32|0;j=F+24|0;i=F+16|0;g=F;if((c[b+25628>>2]|0)==(e|0)?(c[b+29560>>2]|0)==0:0)if(!(c[b+29588>>2]|0))p=1;else{c[g>>2]=147377;c[g+4>>2]=133479;c[g+8>>2]=1681;Uf(0,0,159675,g);Ub()}else p=0;C=e+4|0;g=e+21808|0;c[g>>2]=SM(C)|0;h=TM(C)|0;a:do if(h>>>0<=9){i=h>>>0>4;c[e+844>>2]=i&1;i=a[123569+(i?h+-5|0:h)>>0]|0;w=i&255;x=e+836|0;c[x>>2]=w;w=w&3;u=e+840|0;c[u>>2]=w;t=f+44|0;if(!((w|0)==1|(c[t>>2]|0)!=5)){Uf(c[b+4>>2]|0,16,147427,j);g=-1094995529;break}h=UM(C)|0;c[e+27776>>2]=h;if(h>>>0>255){g=c[b+4>>2]|0;c[k>>2]=h;Uf(g,16,150812,k);g=-1094995529;break}g=c[b+27180+(h<<2)>>2]|0;if(!g){g=c[b+4>>2]|0;c[n>>2]=h;Uf(g,16,150836,n);g=-1094995529;break}w=c[g+4>>2]|0;g=c[w>>2]|0;h=c[b+27052+(g<<2)>>2]|0;if(!h){E=c[b+4>>2]|0;c[o>>2]=g;Uf(E,16,150868,o);g=-1094995529;break}o=c[h+4>>2]|0;j=o+20|0;g=VM(C,c[j>>2]|0)|0;h=e+34732|0;c[h>>2]=g;if(!p?(q=c[b+28244>>2]|0,(q|0)!=(g|0)):0){E=c[b+4>>2]|0;c[r>>2]=q;c[r+4>>2]=g;Uf(E,16,147466,r);g=-1094995529;break}c[e+21832>>2]=0;if(!(c[o+64>>2]|0)){if(i<<24>>24==3&(c[o+72>>2]|0)==0){Uf(c[b+4>>2]|0,16,147498,s);g=-1;break}if(WM(C)|0)n=(WM(C)|0)+1|0;else n=3}else n=3;c[e+21824>>2]=n;c[e+21828>>2]=(n|0)!=3&1;i=(n|0)==3;g=c[h>>2]|0;if(i)h=c[j>>2]|0;else{h=(c[j>>2]|0)+1|0;g=g<<1|1}c[e+34752>>2]=g;c[e+34756>>2]=1<<h;if((c[t>>2]|0)==5)SM(C)|0;h=o+24|0;g=c[h>>2]|0;if(!g){c[e+34736>>2]=VM(C,c[o+28>>2]|0)|0;if(i&(c[w+8>>2]|0)==1)c[e+34740>>2]=XM(C)|0;g=c[h>>2]|0}if(((g|0)==1?(c[o+32>>2]|0)==0:0)?(c[e+34744>>2]=XM(C)|0,i&(c[w+8>>2]|0)==1):0)c[e+34748>>2]=XM(C)|0;g=e+21836|0;c[g>>2]=0;if(c[w+60>>2]|0)c[g>>2]=UM(C)|0;g=c[u>>2]|0;if((g|0)==3){c[e+21844>>2]=WM(C)|0;g=c[u>>2]|0}i=e+23404|0;k=b+4|0;g=YM(e+23412|0,i,C,w,g,n,c[k>>2]|0)|0;if((g|0)>=0){if((c[u>>2]|0)!=1?(v=ZM(e,c[k>>2]|0)|0,(v|0)<0):0){c[i>>2]=0;c[e+23408>>2]=0;g=v;break}h=e+880|0;c[h>>2]=0;g=0;while(1){if((g|0)==2)break;c[e+896+(g<<2)>>2]=0;c[e+904+(g<<2)>>2]=0;g=g+1|0}if((c[w+28>>2]|0)!=0?(c[u>>2]|0)==2:0){y=2;g=51}else g=49;if(((g|0)==49?(c[w+32>>2]|0)==1:0)?(c[u>>2]|0)==3:0){y=3;g=51}if((g|0)==51?(z=_M(C,o,i,y,h,n,c[k>>2]|0)|0,(z|0)<0):0){g=z;break}c[e+34728>>2]=0;do if(c[f+64>>2]|0){if(($M(e,C,f,c[k>>2]|0)|0)>=0)break;if(c[(c[k>>2]|0)+580>>2]&8|0){g=-1094995529;break a}}while(0);do if((c[u>>2]|0)!=1){if(!(c[w+4>>2]|0))break;g=TM(C)|0;if(g>>>0>2){E=c[k>>2]|0;c[A>>2]=g;Uf(E,16,147568,A);g=-1094995529;break a}else{c[e+33928>>2]=g;break}}while(0);c[e+864>>2]=0;g=c[w+36>>2]|0;g=(XM(C)|0)+g|0;if(g>>>0>(((c[o+1184>>2]|0)*6|0)+3|0)>>>0){E=c[k>>2]|0;c[B>>2]=g;Uf(E,16,147596,B);g=-1094995529;break}c[e+848>>2]=g;c[e+852>>2]=d[w+548+g>>0];c[e+856>>2]=d[w+636+g>>0];g=c[x>>2]|0;if((g|0)==6){WM(C)|0;g=c[x>>2]|0}if((g+-5|0)>>>0<2)XM(C)|0;h=e+868|0;c[h>>2]=1;j=e+872|0;c[j>>2]=0;i=e+876|0;c[i>>2]=0;if(!(c[w+52>>2]|0)){g=0;break}g=TM(C)|0;if(g>>>0>2){E=c[k>>2]|0;c[D>>2]=g;Uf(E,16,147616,D);g=-1094995529;break}D=(g|0)==2?2:g^1;c[h>>2]=D;if(!D){g=0;break}h=XM(C)|0;g=XM(C)|0;if((h+6|0)>>>0>12|(g+6|0)>>>0>12){D=c[k>>2]|0;c[E>>2]=h;c[E+4>>2]=g;Uf(D,16,147655,E);g=-1094995529;break}else{c[j>>2]=h<<1;c[i>>2]=g<<1;g=0;break}}}else{E=c[b+4>>2]|0;g=c[g>>2]|0;c[i>>2]=h;c[i+4>>2]=g;Uf(E,16,147396,i);g=-1094995529}while(0);l=F;return g|0}function Tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+96|0;if((l|0)>=(m|0))W(96);z=G+72|0;y=G+56|0;w=G+48|0;q=G+40|0;r=G+32|0;n=G+16|0;k=G;e=im(a,b,e)|0;a:do if((e|0)>=0){B=a+28216|0;s=c[B>>2]|0;o=a+25684|0;p=c[o>>2]|0;F=a+26380|0;x=c[F>>2]|0;D=d+64|0;c[o>>2]=(c[D>>2]|0)==0&1;e=c[b+21824>>2]|0;c[F>>2]=e;f=c[b+34732>>2]|0;A=a+28224|0;E=a+28244|0;c[E>>2]=f;c[A>>2]=c[b+34736>>2];c[a+28232>>2]=c[b+34740>>2];c[a+28236>>2]=c[b+34744>>2];c[a+28240>>2]=c[b+34748>>2];t=a+28264|0;g=c[t>>2]|0;if((f|0)!=(g|0)?(h=1<<c[s+20>>2],C=c[s+48>>2]|0,i=f-C|0,(f-g+((f|0)<(g|0)?h:0)|0)>(C|0)):0)c[t>>2]=i+-1+((i|0)<1?h:0);C=a+26384|0;do if(c[C>>2]|0){i=(x|0)==2;f=i&1;j=a+24312|0;g=c[j>>2]|0;if(!g){c[k>>2]=145177;c[k+4>>2]=133479;c[k+8>>2]=1446;Uf(0,0,159675,k);Ub()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[n>>2]=145192;c[n+4>>2]=133479;c[n+8>>2]=1447;Uf(0,0,159675,n);Ub()}h=a+4|0;if((c[g+8+(f<<2)>>2]|0)==(c[h>>2]|0)){yi(g+4|0,2147483647,f);e=c[F>>2]|0}if((e|0)==3|(e|0)==(x|0)){if((x|0)==3){p=j;break}yi((c[j>>2]|0)+4|0,2147483647,(x|0)==1&1);p=j;break}f=c[j>>2]|0;if((c[f+88>>2]|0)!=(c[E>>2]|0)){if((x|0)==3){p=j;break}yi(f+4|0,2147483647,(x|0)==1&1);p=j;break}if(!((x|0)==1&(e|0)==2|i&(e|0)==1)){a=c[h>>2]|0;c[r>>2]=x;c[r+4>>2]=e;Uf(a,16,145218,r);c[F>>2]=x;c[o>>2]=p;e=-1094995529;break a}if((p|0)==(c[o>>2]|0))p=j;else{Li(c[h>>2]|0,145256,q);c[F>>2]=x;c[o>>2]=p;e=-1163346256;break a}}else{h=a+4|0;p=a+24312|0}while(0);k=s+20|0;n=a+29556|0;g=s+52|0;o=a+29548|0;j=a+28348|0;while(1){i=c[E>>2]|0;e=c[t>>2]|0;f=(c[C>>2]|0)==0;if((i|0)==(e|0)){g=45;break}if(!f){g=46;break}if((i|0)==((e+1|0)%(1<<c[k>>2]|0)|0|0)){g=57;break}if(!(c[n>>2]|0))f=0;else f=c[j>>2]|0;s=c[h>>2]|0;c[w>>2]=i;c[w+4>>2]=e;Uf(s,48,145322,w);b:do if(!(c[g>>2]|0)){e=0;while(1){if((e|0)==16)break b;c[a+28676+(e<<2)>>2]=-2147483648;e=e+1|0}}while(0);e=jm(a)|0;if((e|0)<0){g=33;break}s=((c[t>>2]|0)+1|0)%(1<<c[k>>2]|0)|0;c[t>>2]=s;e=c[p>>2]|0;c[e+88>>2]=s;c[e+648>>2]=(c[g>>2]|0)==0&1;yi(e+4|0,2147483647,0);yi((c[p>>2]|0)+4|0,2147483647,1);c[o>>2]=0;e=xi(a)|0;if((e|0)<0?c[(c[h>>2]|0)+580>>2]&8|0:0)break a;if(!(c[n>>2]|0))continue;e=c[j>>2]|0;if((((f|0)!=0?(u=c[e>>2]|0,v=c[f>>2]|0,(c[u+68>>2]|0)==(c[v+68>>2]|0)):0)?(c[u+72>>2]|0)==(c[v+72>>2]|0):0)?(c[u+80>>2]|0)==(c[v+80>>2]|0):0){e=f+4|0;Wi(e,2147483647,0);if(c[f+636>>2]|0)Wi(e,2147483647,1);s=c[c[j>>2]>>2]|0;e=c[f>>2]|0;Oh(s,s+32|0,e,e+32|0,c[e+80>>2]|0,c[e+68>>2]|0,c[e+72>>2]|0);e=c[j>>2]|0;c[e+84>>2]=(c[f+84>>2]|0)+2}c[e+88>>2]=c[t>>2]}if((g|0)==33){c[C>>2]=0;break}else if((g|0)==45)if(f)g=57;else g=46;do if((g|0)==46){g=c[p>>2]|0;if(!g){c[y>>2]=145177;c[y+4>>2]=133479;c[y+8>>2]=1553;Uf(0,0,159675,y);Ub()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[z>>2]=145192;c[z+4>>2]=133479;c[z+8>>2]=1554;Uf(0,0,159675,z);Ub()}e=c[F>>2]|0;f=a+29584|0;if((e|0)==3|(e|0)==(x|0)){c[f>>2]=(c[f>>2]|0)+1;c[p>>2]=0;f=(e|0)!=3&1;c[C>>2]=f;break}c[f>>2]=0;if((c[g+88>>2]|0)!=(i|0)){yi(g+4|0,2147483647,(e|0)==2&1);c[C>>2]=1;c[p>>2]=0;e=c[F>>2]|0;f=1;break}if(!(c[g+640>>2]&4)){c[C>>2]=0;f=0;break}else{c[C>>2]=1;c[p>>2]=0;f=1;break}}else if((g|0)==57){e=c[F>>2]|0;f=(e|0)!=3&1;c[C>>2]=f}while(0);if(!((e|0)!=3&(f|0)==0)){if((jm(a)|0)<0){c[C>>2]=0;e=-1094995529;break}}else{km(a,0);c[(c[p>>2]|0)+8+(((e|0)==2&1)<<2)>>2]=c[h>>2]}e=c[F>>2]|0;c:do if((e|0)==3)iX(c[a+26372>>2]|0,-1,(N(c[a+27008>>2]<<1,c[a+27016>>2]|0)|0)+-2|0)|0;else{g=a+27008|0;h=a+26372|0;i=a+27016|0;e=(e|0)==2&1;while(1){f=c[g>>2]|0;if((e|0)>=(f|0))break c;y=c[i>>2]|0;z=e+1|0;iX((c[h>>2]|0)+((N(y,e)|0)<<1)|0,-1,y-((z|0)==(f|0)&1)<<1|0)|0;e=z}}while(0);e=c[p>>2]|0;e=lm(e+76|0,e+84|0,c[B>>2]|0,A,c[F>>2]|0,c[D>>2]|0)|0;if((e|0)>=0){k=b+34724|0;gX(a+28748|0,b+33932|0,(c[k>>2]|0)*12|0)|0;c[a+29540>>2]=c[k>>2];c[o>>2]=c[b+34728>>2];k=(c[d+44>>2]|0)==5;j=k&1;c[a+25712>>2]=j;h=c[a+29716>>2]|0;do if((h|0)>-1){i=c[E>>2]|0;if(!((i|0)==(h|0)?(c[b+840>>2]|0)==1:0))c[a+29568>>2]=1;g=a+29572|0;f=c[g>>2]|0;if((f|0)>=0){e=c[(c[B>>2]|0)+20>>2]|0;if(((1<<e)+-1&f-i)>>>0<=h>>>0)break}else e=c[(c[B>>2]|0)+20>>2]|0;B=(1<<e)+-1&i+h;c[g>>2]=B;c[g>>2]=(c[a+29568>>2]|0)==0?i:B}while(0);f=c[p>>2]|0;e=(c[f>>2]|0)+84|0;c[e>>2]=c[e>>2]|j;e=a+29572|0;if(k){c[e>>2]=-1;c[f+644>>2]=1;E=a+29576|0;e=c[E>>2]|1;c[E>>2]=e}else{if((c[e>>2]|0)==(c[E>>2]|0)?c[D>>2]|0:0){c[e>>2]=-1;c[f+644>>2]=1}e=c[a+29576>>2]|0}E=f+644|0;c[E>>2]=c[E>>2]|e;if(((c[F>>2]|0)!=3?c[C>>2]|0:0)?(c[a+29584>>2]|0)<=1:0){e=0;break}mm(a);nm(a);e=0}}while(0);l=G;return e|0}function Ul(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+160|0;if((l|0)>=(m|0))W(160);F=G+24|0;o=G+16|0;g=G+8|0;f=G;x=G+96|0;if((c[a+25712>>2]|0)!=0?(c[e+44>>2]|0)!=5:0){Uf(c[a+4>>2]|0,16,144502,f);f=-1094995529}else y=4;do if((y|0)==4){h=c[d+21808>>2]|0;j=a+26376|0;i=(c[j>>2]|0)==0;if(i)f=(c[a+26380>>2]|0)!=3;else f=1;E=c[a+27020>>2]|0;if(!(h<<(f&1)>>>0<E>>>0&h>>>0<E>>>0)){Uf(c[a+4>>2]|0,16,144541,g);f=-1094995529;break}A=a+27012|0;f=c[A>>2]|0;w=(h>>>0)%(f>>>0)|0;B=d+21788|0;c[B>>2]=w;c[d+21800>>2]=w;w=a+26380|0;E=c[w>>2]|0;f=((h>>>0)/(f>>>0)|0)<<(((E|0)!=3|i^1)&1);v=d+21792|0;c[v>>2]=f;n=d+21804|0;c[n>>2]=f;if((E|0)==2){E=f+1|0;c[v>>2]=E;c[n>>2]=E}f=Vl(a,d)|0;if((f|0)>=0){h=a+28212|0;g=d+840|0;if((c[(c[h>>2]|0)+32>>2]|0)==2){if((c[g>>2]|0)==3){Wl(a,d,-1);if(!(c[j>>2]|0))y=15;else{Wl(a,d,0);Wl(a,d,1);y=15}}}else y=15;if(((y|0)==15?(c[g>>2]|0)==3:0)?(c[d+21844>>2]|0)==0:0)Xl(a,d);if(!(c[a+29588>>2]|0))Yl(a,d);u=a+4|0;k=c[u>>2]|0;f=c[k+724>>2]|0;a:do if((f|0)<=47){do if((f|0)>31)if((c[a+27028>>2]|0)==5)y=24;else{y=29;break a}else if((f|0)<=23)if((f|0)>15)if((c[g>>2]|0)==3){y=29;break a}else break;else if((f|0)>7)break;else break a;else y=24;while(0);if((y|0)==24?(c[g>>2]|0)!=1:0){y=29;break}if(!(c[e+64>>2]|0))y=29}else y=29;while(0);if((y|0)==29)c[d+868>>2]=0;C=d+868|0;do if((c[C>>2]|0)==1?(c[a+25632>>2]|0)>1:0)if(!(c[k+64>>2]&1)){c[a+25708>>2]=1;break}else{c[C>>2]=2;break}while(0);D=d+872|0;i=c[D>>2]|0;E=d+876|0;j=c[E>>2]|0;g=c[h>>2]|0;f=g+44|0;h=c[f>>2]|0;z=(h|0)<0;g=g+48|0;h=((z?0:h)|0)<=(c[g>>2]|0);if(h|z^1)f=c[(h?g:f)>>2]|0;else f=0;c[d+860>>2]=-33-((i|0)>(j|0)?j:i)-f+((c[(c[a+28216>>2]|0)+1184>>2]|0)*6|0);t=a+29560|0;g=c[t>>2]|0;h=g+1|0;c[t>>2]=h;t=d+832|0;c[t>>2]=h;if(!h)f=c[n>>2]|0;else{f=c[n>>2]|0;b[a+29600+((g&31)<<1)>>1]=f}z=b[a+29600+((h&31)<<1)>>1]|0;if((g|0)>30&((f|0)>=(z|0)&(z+3|0)>=(f|0))){c[o>>2]=h;c[o+4>>2]=32;Uf(k,24,144569,o)}p=d+23412|0;q=a+29556|0;r=a+29552|0;o=0;while(1){if((o|0)==2)break;s=c[t>>2]&31;k=d+23404+(o<<2)|0;j=0;while(1){if((j|0)==16)break;n=x+(j<<2)|0;c[n>>2]=60;b:do if(o>>>0<(c[p>>2]|0)>>>0?j>>>0<(c[k>>2]|0)>>>0:0){f=c[(c[c[d+23416+(o*1920|0)+(j*40|0)+36>>2]>>2]|0)+248>>2]|0;if(!f)break;h=c[f>>2]|0;i=c[q>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;if((c[c[(c[c[a+28348+(f<<2)>>2]>>2]|0)+248>>2]>>2]|0)==(h|0)){y=53;break}f=f+1|0}if((y|0)==53){y=0;c[n>>2]=f}g=c[r>>2]|0;f=0;while(1){if((f|0)>=(g|0))break b;z=c[a+28476+(f<<2)>>2]|0;if(z|0?(c[c[(c[z>>2]|0)+248>>2]>>2]|0)==(h|0):0)break;f=f+1|0}c[n>>2]=i+f}while(0);j=j+1|0}c[a+29940+(s<<9)+(o<<8)+4>>2]=-1;c[a+29940+(s<<9)+(o<<8)>>2]=-1;f=0;while(1){if((f|0)==16)break;c[a+29940+(s<<9)+(o<<8)+(f+2<<2)>>2]=c[d+23416+(o*1920|0)+(f*40|0)+24>>2]&3|c[x+(f<<2)>>2]<<2;f=f+1|0}c[a+29940+(s<<9)+(o<<8)+76>>2]=-1;c[a+29940+(s<<9)+(o<<8)+72>>2]=-1;f=16;while(1){if((f|0)==48)break;c[a+29940+(s<<9)+(o<<8)+(f+4<<2)>>2]=c[d+23416+(o*1920|0)+(f*40|0)+24>>2]&3|c[x+(f+-16>>1<<2)>>2]<<2;f=f+1|0}o=o+1|0}z=c[u>>2]|0;if(!(c[z+576>>2]&1))f=0;else{y=c[t>>2]|0;x=c[w>>2]|0;u=N(c[A>>2]|0,c[v>>2]|0)|0;u=u+(c[B>>2]|0)|0;f=d+836|0;v=(Ui(c[f>>2]|0)|0)<<24>>24;w=c[d+844>>2]|0?144670:262540;s=(c[e+44>>2]|0)==5?144675:262540;t=c[a+28244>>2]|0;o=c[a+24312>>2]|0;n=c[o+76>>2]|0;o=c[o+80>>2]|0;p=c[d+23404>>2]|0;q=c[d+23408>>2]|0;r=c[d+848>>2]|0;k=c[C>>2]|0;j=c[D>>2]|0;g=c[E>>2]|0;h=c[d+880>>2]|0;if((h|0)==1)i=c[d+884>>2]|0?144680:262540;else i=262540;if((c[f>>2]|0)==3)f=c[d+21844>>2]|0?144682:144687;else f=262540;c[F>>2]=y;c[F+4>>2]=(x|0)==3?144668:(x|0)==1?144664:144666;c[F+8>>2]=u;c[F+12>>2]=v;c[F+16>>2]=w;c[F+20>>2]=s;c[F+24>>2]=t;c[F+28>>2]=n;c[F+32>>2]=o;c[F+36>>2]=p;c[F+40>>2]=q;c[F+44>>2]=r;c[F+48>>2]=k;c[F+52>>2]=j;c[F+56>>2]=g;c[F+60>>2]=h;c[F+64>>2]=i;c[F+68>>2]=f;Uf(z,48,144692,F);f=0}}}while(0);l=G;return f|0}function Vl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+64|0;if((l|0)>=(m|0))W(64);I=K+48|0;J=K+40|0;E=K+32|0;D=K+16|0;C=K+8|0;B=K;w=K+60|0;Ei(b);Fi(b);$l(b,d);F=d+23412|0;x=d+34752|0;z=d+34756|0;A=b+29556|0;G=b+4|0;H=b+26380|0;u=0;a:while(1){e=c[F>>2]|0;if(u>>>0>=e>>>0){p=0;r=29;break}s=d+27768+(u<<2)|0;t=d+23404+(u<<2)|0;p=0;e=c[x>>2]|0;while(1){if((p|0)>=(c[s>>2]|0))break;f=a[d+27256+(u<<8)+(p<<3)>>0]|0;i=c[d+27256+(u<<8)+(p<<3)+4>>2]|0;b:do switch(f<<24>>24){case 1:case 0:{g=i+1|0;h=c[z>>2]|0;if(g>>>0>h>>>0){r=11;break a}e=h+-1&(f<<24>>24==0?~i:g)+e;g=Ai(b,e,w)|0;i=c[w>>2]|0;f=c[A>>2]|0;while(1){r=f;f=f+-1|0;if((r|0)<=0){r=18;break b}h=c[b+28348+(f<<2)>>2]|0;if((c[h+88>>2]|0)!=(g|0))continue;if(i&c[h+640>>2]|0){o=e;r=15;break}}break}case 2:{f=Ai(b,i,w)|0;if(f>>>0>31){r=16;break a}f=c[b+28476+(f<<2)>>2]|0;if((f|0)!=0?(y=c[w>>2]|0,(y&c[f+640>>2]|0)!=0):0){o=e;h=f;e=i;i=y;r=15}else r=18;break}default:{r=17;break a}}while(0);if((r|0)==15){c[h+96>>2]=e;f=h+96|0;g=c[t>>2]|0;j=h+100|0;e=p;while(1){k=e+1|0;if(k>>>0>=g>>>0)break;n=c[d+23416+(u*1920|0)+(e*40|0)+36>>2]|0;if(!n){e=k;continue}if((c[j>>2]|0)!=(c[n+100>>2]|0)){e=k;continue}if((c[f>>2]|0)==(c[d+23416+(u*1920|0)+(e*40|0)+32>>2]|0))break;else e=k}while(1){if((e|0)<=(p|0))break;g=e+-1|0;f=d+23416+(u*1920|0)+(e*40|0)|0;e=d+23416+(u*1920|0)+(g*40|0)|0;q=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(q|0));e=g}e=d+23416+(u*1920|0)+(p*40|0)|0;am(e,h);if((c[H>>2]|0)==3)e=o;else{bm(e,i);e=o}}else if((r|0)==18){Uf(c[G>>2]|0,16,144960,E);f=d+23416+(u*1920|0)+(p*40|0)|0;q=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(q|0))}p=p+1|0}u=u+1|0}c:do if((r|0)==11){Uf(c[G>>2]|0,16,144905,B);v=-1094995529}else if((r|0)==16){Uf(c[G>>2]|0,16,144932,C);v=-1094995529}else if((r|0)==17){c[D>>2]=165680;c[D+4>>2]=127758;c[D+8>>2]=373;Uf(0,0,159675,D);Ub()}else if((r|0)==29){d:while(1){r=0;if(p>>>0>=e>>>0)break;i=d+23404+(p<<2)|0;j=b+28268+(p*40|0)|0;k=b+28268+(p*40|0)+28|0;n=b+28268+(p*40|0)+36|0;o=b+28268+(p*40|0)+24|0;h=0;while(1){if(h>>>0>=(c[i>>2]|0)>>>0)break;f=d+23416+(p*1920|0)+(h*40|0)|0;g=d+23416+(p*1920|0)+(h*40|0)+36|0;e=c[g>>2]|0;if(e){if((c[H>>2]|0)==3?(c[d+23416+(p*1920|0)+(h*40|0)+24>>2]&3|0)!=3:0)r=35}else r=35;if((r|0)==35){r=0;e=c[G>>2]|0;c[J>>2]=c[k>>2];Uf(e,16,145002,J);e=0;while(1){if((e|0)==16)break;c[b+28676+(e<<2)>>2]=-2147483648;e=e+1|0}if(!(c[n>>2]|0)){v=-1;break c}if((c[H>>2]|0)==3?(c[o>>2]&3|0)!=3:0){v=-1;break c}e=j;q=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(q|0));e=c[g>>2]|0}if((cm(c[(c[e>>2]|0)+248>>2]|0)|0)>0)h=h+1|0;else{r=43;break d}}p=p+1|0;e=c[F>>2]|0;r=29}if((r|0)==43){c[I>>2]=145044;c[I+4>>2]=127758;c[I+8>>2]=411;Uf(0,0,159675,I);Ub()}if(!(c[b+26376>>2]|0))v=0;else{dm(d);v=0}}while(0);l=K;return v|0}function Wl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=0;while(1){if((e|0)==2)break;c[b+896+(e<<2)>>2]=0;c[b+904+(e<<2)>>2]=0;e=e+1|0}n=(d|0)<0;if(n){g=c[a+26380>>2]|0;e=c[a+24312>>2]|0;g=c[((g|0)==3?e+84|0:e+76+(g+-1<<2)|0)>>2]|0;e=c[b+23404>>2]|0;f=c[b+23408>>2]|0;if((e|0)==1)if((f|0)==1)if((c[a+26376>>2]|0)==0?(l=c[b+23444>>2]|0,m=c[b+25364>>2]|0,l=TW(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0,m=g<<1,(l|0)==(m|0)&(y|0)==(((m|0)<0)<<31>>31|0)):0){c[b+880>>2]=0;c[b+884>>2]=0}else{m=0;e=1;f=1;h=11}else{m=0;e=1;h=11}else{m=0;h=11}}else{m=16;e=(c[b+23404>>2]<<1)+16|0;f=(c[b+23408>>2]<<1)+16|0;g=c[(c[a+24312>>2]|0)+76+(d<<2)>>2]|0;h=11}a:do if((h|0)==11){c[b+880>>2]=2;c[b+884>>2]=2;c[b+888>>2]=5;c[b+892>>2]=5;a=m;while(1){if((a|0)>=(e|0))break a;j=c[b+23416+(a*40|0)+28>>2]|0;k=b+23416+(a*40|0)+36|0;l=g-j|0;l=((l+128|0)>>>0>255?l>>31^127:l)<<24>>24;h=m;while(1){if((h|0)>=(f|0))break;if(((c[(c[k>>2]|0)+100>>2]|0)==0?(c[(c[b+25336+(h*40|0)+36>>2]|0)+100>>2]|0)==0:0)?(p=(c[b+25336+(h*40|0)+28>>2]|0)-j|0,p=(p+128|0)>>>0>255?p>>31^127:p,o=p&255,p=p<<24>>24,o<<24>>24!=0):0){i=(N((((o<<24>>24>-1?p:0-p|0)>>1)+16384|0)/(p|0)|0,l)|0)+32>>8;i=(i+64|0)>>>0<193?64-i|0:32}else i=32;if(n){c[b+3216+(a*384|0)+(h<<3)+4>>2]=i;c[b+3216+(a*384|0)+(h<<3)>>2]=i}else c[b+3216+(a*384|0)+(h<<3)+(d<<2)>>2]=i;h=h+1|0}a=a+1|0}}while(0);return}function Xl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a+26380>>2]|0;i=a+24312|0;k=c[i>>2]|0;j=c[((j|0)==3?k+84|0:k+76+(((j|0)==2&1)<<2)|0)>>2]|0;k=c[b+25364>>2]|0;a:do if(!(c[a+26376>>2]|0))d=b+23404|0;else{f=b+25372|0;d=b+23404|0;e=0;while(1){if((e|0)==2)break a;g=c[(c[i>>2]|0)+76+(e<<2)>>2]|0;h=c[(c[f>>2]|0)+76+(e<<2)>>2]|0;a=0;while(1){if(a>>>0>=c[d>>2]<<1>>>0)break;c[b+21996+(e<<7)+((a^e)<<2)>>2]=_l(b,g,h,a+16|0)|0;a=a+1|0}e=e+1|0}}while(0);a=0;while(1){if(a>>>0>=(c[d>>2]|0)>>>0)break;c[b+21868+(a<<2)>>2]=_l(b,j,k,a)|0;a=a+1|0}return}function Yl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;if((l|0)>=(m|0))W(32);r=s+16|0;j=s;o=a+24312|0;h=c[o>>2]|0;n=a+26380|0;q=c[n>>2]&1^1;p=b+25360|0;f=c[p>>2]&1;k=b+23412|0;d=0;while(1){if(d>>>0>=(c[k>>2]|0)>>>0)break;g=b+23404+(d<<2)|0;c[h+616+(q<<3)+(d<<2)>>2]=c[g>>2];e=0;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break;c[h+104+(q<<8)+(d<<7)+(e<<2)>>2]=c[b+23416+(d*1920|0)+(e*40|0)+24>>2]&3|c[(c[b+23416+(d*1920|0)+(e*40|0)+36>>2]|0)+88>>2]<<2;e=e+1|0}d=d+1|0}i=f^1;if((c[n>>2]|0)==3){e=h+616|0;f=c[e+4>>2]|0;g=h+624|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;gX(h+360|0,h+104|0,256)|0}if(c[a+29560>>2]|0){if((c[h+632>>2]|0)!=(c[a+26376>>2]|0)){c[j>>2]=144782;c[j+4>>2]=144814;c[j+8>>2]=144;Uf(0,0,159675,j);Ub()}}else c[h+632>>2]=c[a+26376>>2];f=b+21852|0;c[f>>2]=0;a:do if((c[k>>2]|0)==2?c[b+23408>>2]|0:0){e=c[n>>2]|0;if((e|0)!=3){d=c[p>>2]|0;if((d&e|0)==0?(c[(c[b+25372>>2]|0)+632>>2]|0)==0:0){c[f>>2]=(d<<1)+-3;d=q}else d=q}else{d=c[(c[o>>2]|0)+84>>2]|0;f=c[b+25372>>2]|0;e=c[f+76>>2]|0;f=c[f+80>>2]|0;if((e|0)==2147483647&(f|0)==2147483647){Uf(c[a+4>>2]|0,16,144839,r);d=1}else{r=e-d|0;d=f-d|0;d=(((r|0)>-1?r:0-r|0)|0)>=(((d|0)>-1?d:0-d|0)|0)&1}c[b+21848>>2]=d;i=d}if((c[b+840>>2]|0)==3?(c[b+21844>>2]|0)==0:0){g=b+22252|0;h=a+26376|0;f=0;while(1){if((f|0)==2)break a;Zl(a,b,g,f,d,i,0);b:do if(c[h>>2]|0){e=0;while(1){if((e|0)==2)break b;Zl(a,b,b+22636+(e*384|0)|0,f,e,e,1);e=e+1|0}}while(0);f=f+1|0}}}while(0);l=s;return}function Zl(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[b+25372>>2]|0;r=(h|0)!=0;p=r?16:0;q=c[b+23404>>2]|0;q=r?(q<<1)+16|0:q;if(r)n=1;else n=(c[a+26380>>2]|0)!=3;iX(d+(e*192|0)|0,0,192)|0;k=s+616+(g<<3)+(e<<2)|0;l=s+632|0;h=0;a:while(1){if((h|0)==2)break;m=h+1|0;o=n&(h|0)!=(f|0);j=(h^f)+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0)){h=m;continue a}h=c[s+104+(g<<8)+(e<<7)+(i<<2)>>2]|0;if(n)a=(h&3|0)==3?m+(h&-4)|0:h;else a=h|3;h=p;while(1){if((h|0)>=(q|0))break;if((c[b+23416+(h*40|0)+24>>2]&3|c[(c[b+23416+(h*40|0)+36>>2]|0)+88>>2]<<2|0)==(a|0)){t=13;break}h=h+1|0}if((t|0)==13){t=0;h=r?h+-16^f:h;if(c[l>>2]|0)c[d+(e*192|0)+(j+(i<<1)<<2)>>2]=h;if(!o)c[d+(e*192|0)+(i<<2)>>2]=h}i=i+1|0}}return}function _l(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=k+8|0;h=c[a+23416+(e*40|0)+28>>2]|0;i=((h|0)<0)<<31>>31;d=UW(d|0,((d|0)<0)<<31>>31|0,h|0,i|0)|0;g=(d+128|0)>>>0>255?d>>31^127:d;f=g&255;g=g<<24>>24;if(!((d|0)==(d|0)&(y|0)==(((d|0)<0)<<31>>31|0)))Li(c[(c[a>>2]|0)+4>>2]|0,144868,k);if(f<<24>>24!=0?(c[(c[a+23416+(e*40|0)+36>>2]|0)+100>>2]|0)==0:0){d=UW(b|0,((b|0)<0)<<31>>31|0,h|0,i|0)|0;if(!((d|0)==(d|0)&(y|0)==(((d|0)<0)<<31>>31|0)))Uf(c[(c[a>>2]|0)+4>>2]|0,48,144886,j);j=(N((((f<<24>>24>-1?g:0-g|0)>>1)+16384|0)/(g|0)|0,((d+128|0)>>>0>255?d>>31^127:d)<<24>>24)|0)+32|0;d=j>>6;d=(d+1024|0)>>>0>2047?j>>31^1023:d}else d=256;l=k;return d|0}function $l(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+240|0;if((l|0)>=(m|0))W(240);t=u+48|0;d=u+32|0;p=u+16|0;o=u;n=u+104|0;q=u+96|0;r=u+56|0;s=b+840|0;do if((c[s>>2]|0)==3){k=a+26380|0;g=c[k>>2]|0;h=c[a+24312>>2]|0;g=c[((g|0)==3?h+84|0:h+76+(((g|0)==2&1)<<2)|0)>>2]|0;h=a+28348|0;i=a+29556|0;j=a+28476|0;f=0;while(1){if((f|0)>=2){d=11;break}d=em(n,h,c[i>>2]|0,g,f^1)|0;d=(em(n+(d<<2)|0,h,c[i>>2]|0,g,f)|0)+d|0;if((d|0)>=33){d=5;break}d=fm(b+23416+(f*1920|0)|0,48,n,d,0,c[k>>2]|0)|0;d=(fm(b+23416+(f*1920|0)+(d*40|0)|0,48-d|0,j,16,1,c[k>>2]|0)|0)+d|0;if((d|0)>=33){d=7;break}e=c[b+23404+(f<<2)>>2]|0;if(e>>>0>d>>>0)iX(b+23416+(f*1920|0)+(d*40|0)|0,0,(e-d|0)*40|0)|0;c[q+(f<<2)>>2]=d;f=f+1|0}if((d|0)==5){c[o>>2]=145117;c[o+4>>2]=127758;c[o+8>>2]=153;Uf(0,0,159675,o);Ub()}else if((d|0)==7){c[p>>2]=145117;c[p+4>>2]=127758;c[p+8>>2]=160;Uf(0,0,159675,p);Ub()}else if((d|0)==11){e=c[q>>2]|0;q=c[q+4>>2]|0;if((e|0)==(q|0)&(q|0)>1){d=0;while(1){if((d|0)>=(e|0))break;if((c[c[(c[c[b+23416+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0)!=(c[c[(c[c[b+25336+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0))break;d=d+1|0}if((d|0)==(e|0)){d=b+25376|0;j=r;f=d;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));e=b+25336|0;j=d;f=e;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));j=e;f=r;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0))}}break}}else{r=a+26380|0;e=fm(b+23416|0,48,a+28348|0,c[a+29556>>2]|0,0,c[r>>2]|0)|0;e=(fm(b+23416+(e*40|0)|0,48-e|0,a+28476|0,16,1,c[r>>2]|0)|0)+e|0;if((e|0)>=33){c[d>>2]=145117;c[d+4>>2]=127758;c[d+8>>2]=181;Uf(0,0,159675,d);Ub()}d=c[b+23404>>2]|0;if(d>>>0>e>>>0)iX(b+23416+(e*40|0)|0,0,(d-e|0)*40|0)|0}while(0);h=a+4|0;f=0;while(1){if((f|0)>=(((c[s>>2]|0)==3?2:1)|0))break;i=b+23404+(f<<2)|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;e=b+23416+(f*1920|0)+(g*40|0)|0;d=c[b+23416+(f*1920|0)+(g*40|0)+36>>2]|0;if(d|0?gm(a,d)|0:0){Uf(c[h>>2]|0,16,145127,t);j=e;k=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}g=g+1|0}f=f+1|0}e=b+23412|0;d=0;while(1){if(d>>>0>=(c[e>>2]|0)>>>0)break;j=a+28268+(d*40|0)|0;f=b+23416+(d*1920|0)|0;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));d=d+1|0}l=u;return}function am(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];d=a+12|0;e=(c[b>>2]|0)+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[a+24>>2]=c[b+640>>2];c[a+28>>2]=c[b+84>>2];c[a+32>>2]=c[b+96>>2];c[a+36>>2]=b;return}function bm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=(b|0)==2;f=a+24|0;d=0;while(1){if((d|0)==3)break;g=a+(d<<2)|0;h=a+12+(d<<2)|0;if(e)c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[f>>2]=b;c[h>>2]=c[h>>2]<<1;d=d+1|0}c[a+28>>2]=c[(c[a+36>>2]|0)+76+((e&1)<<2)>>2];return}function cm(a){a=a|0;return c[(c[a>>2]|0)+8>>2]|0}function dm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+23412|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;k=a+23404+(g<<2)|0;h=0;while(1){if(h>>>0>=(c[k>>2]|0)>>>0)break;f=(h<<1)+16|0;j=a+23416+(g*1920|0)+(f*40|0)|0;b=j;d=a+23416+(g*1920|0)+(h*40|0)|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=0;while(1){if((b|0)==3)break;e=a+23416+(g*1920|0)+(f*40|0)+12+(b<<2)|0;c[e>>2]=c[e>>2]<<1;b=b+1|0}c[a+23416+(g*1920|0)+(f*40|0)+24>>2]=1;c[a+23416+(g*1920|0)+(f*40|0)+28>>2]=c[(c[a+23416+(g*1920|0)+(f*40|0)+36>>2]|0)+76>>2];b=j+40|0;d=j;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));d=a+23416+(g*1920|0)+(h*40|0)+36|0;b=0;while(1){if((b|0)==3)break;f=j+40+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[(c[c[d>>2]>>2]|0)+32+(b<<2)>>2]|0);b=b+1|0}c[j+64>>2]=2;c[j+68>>2]=c[(c[j+76>>2]|0)+80>>2];h=h+1|0}g=g+1|0}return}function em(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=f|0?-2147483648:2147483647;j=0;while(1){l=a+(j<<2)|0;g=m;k=0;while(1){if((k|0)>=(d|0))break;h=c[b+(k<<2)>>2]|0;i=c[h+84>>2]|0;if(((i|0)>(e|0)|0)!=(f|0)?((i|0)<(g|0)|0)!=(f|0):0){c[l>>2]=h;g=i}k=k+1|0}if((g|0)==(m|0))break;e=(c[(c[l>>2]|0)+84>>2]|0)-f|0;j=j+1|0}return j|0}function fm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;if((l|0)>=(m|0))W(32);r=s+16|0;q=s;p=g^3;o=(f|0)==0;j=0;f=0;h=0;while(1){if(!((f|0)<(e|0)|(h|0)<(e|0))){f=24;break}while(1){if((f|0)>=(e|0)){i=0;break}n=c[d+(f<<2)>>2]|0;if(n|0?c[n+640>>2]&g|0:0){i=1;break}f=f+1|0}n=h;while(1){if((n|0)>=(e|0)){k=0;break}k=c[d+(n<<2)>>2]|0;if(k|0?c[k+640>>2]&p|0:0){k=1;break}n=n+1|0}if(i){if((j|0)>=(b|0)){f=14;break}i=c[d+(f<<2)>>2]|0;if(o)h=c[i+88>>2]|0;else h=f;c[i+96>>2]=h;hm(a+(j*40|0)|0,i,g,1);j=j+1|0;f=f+1|0}if(!k){h=n;continue}if((j|0)>=(b|0)){f=20;break}i=c[d+(n<<2)>>2]|0;if(o)h=c[i+88>>2]|0;else h=n;c[i+96>>2]=h;hm(a+(j*40|0)|0,i,p,0);j=j+1|0;h=n+1|0}if((f|0)==14){c[q>>2]=145161;c[q+4>>2]=127758;c[q+8>>2]=90;Uf(0,0,159675,q);Ub()}else if((f|0)==20){c[r>>2]=145161;c[r+4>>2]=127758;c[r+8>>2]=95;Uf(0,0,159675,r);Ub()}else if((f|0)==24){l=s;return j|0}return 0}function gm(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;b=c[c[a+24312>>2]>>2]|0;if((c[b+68>>2]|0)==(c[d+68>>2]|0)?(c[b+72>>2]|0)==(c[d+72>>2]|0):0)b=(c[b+80>>2]|0)!=(c[d+80>>2]|0)&1;else b=1;return b|0}function hm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(c[b+640>>2]&d|0?(am(a,b),(d|0)!=3):0){bm(a,d);d=a+32|0;c[d>>2]=(c[d>>2]<<1)+e}return}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;if((l|0)>=(m|0))W(64);o=t+56|0;n=t+48|0;s=t+40|0;r=t+24|0;q=t;k=(d|0)!=0;if(k){i=a+28204|0;zg(i);f=a+28212|0;c[f>>2]=0;d=Bh(c[a+27180+(c[b+27776>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d)d=-12;else{d=c[d+4>>2]|0;c[f>>2]=d;g=5}}else{d=a+28212|0;f=d;d=c[d>>2]|0;g=5}a:do if((g|0)==5){h=a+28216|0;g=c[h>>2]|0;do if((g|0)==(c[(c[a+27052+(c[d>>2]<<2)>>2]|0)+4>>2]|0))d=0;else{i=a+28208|0;zg(i);c[h>>2]=0;d=Bh(c[a+27052+(c[c[f>>2]>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d){d=-12;break a}g=c[d+4>>2]|0;c[h>>2]=g;if((((c[a+27012>>2]|0)==(c[g+56>>2]|0)?(c[a+27008>>2]|0)==(c[g+60>>2]|0):0)?(e=c[a+29596>>2]|0,(e|0)==(c[g+1184>>2]|0)):0)?(c[a+29592>>2]|0)==(c[g+12>>2]|0):0)d=0;else{d=1;e=c[g+1184>>2]|0}if((c[a+27044>>2]|0)==(e|0)?(c[a+27048>>2]|0)==(c[g+12>>2]|0):0)break;d=1}while(0);i=a+25692|0;if(c[i>>2]|0){f=c[g+56>>2]|0;h=a+4|0;e=c[h>>2]|0;if(((((f<<4|0)==(c[e+100>>2]|0)?(j=c[g+60>>2]|0,(j<<4|0)==(c[e+104>>2]|0)):0)?(c[a+29596>>2]|0)==(c[g+1184>>2]|0):0)?(c[a+29592>>2]|0)==(c[g+12>>2]|0):0)?(c[a+27012>>2]|0)==(f|0):0)f=(c[a+27008>>2]|0)!=(j|0)&1;else f=1}else{e=a+4|0;h=e;f=0;e=c[e>>2]|0}e=c[e+112>>2]|0;if(!((e|0)!=-1?(j=Cn(e)|0,(j|0)==(Cn(Dn(a,0)|0)|0)):0))f=1;if(k){j=g+100|0;k=(c[h>>2]|0)+188|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];o=(En(n,o)|0)==0;f=o?f:1}if(((c[a+29588>>2]|0)==0?(o=Fn(g)|0,n=c[h>>2]|0,c[n+716>>2]=o,c[n+720>>2]=c[g+8>>2],c[n+300>>2]=c[g+48>>2],n=c[g+56>>2]|0,c[a+27012>>2]=n,o=c[g+60>>2]|0,c[a+27008>>2]=o,c[a+27020>>2]=N(o,n)|0,c[a+27016>>2]=n+1,c[a+26368>>2]=n<<2,c[a+25680>>2]=(c[g+12>>2]|0)<2&1,c[a+25668>>2]=n<<4,c[a+25672>>2]=o<<4,Gn(a),(c[g+108>>2]|0)!=0):0)?(p=c[h>>2]|0,c[p+328>>2]=(c[g+112>>2]|0)>0?2:1,(c[g+116>>2]|0)!=0):0){o=p+324|0;n=c[g+128>>2]|0;d=(c[o>>2]|0)==(n|0)?d:1;c[p+316>>2]=c[g+120>>2];c[p+320>>2]=c[g+124>>2];c[o>>2]=n}e=(c[i>>2]|0)==0;if((d|f|0)!=0|e){c[i>>2]=0;if((c[a+25628>>2]|0)!=(b|0)){d=c[h>>2]|0;p=c[d+100>>2]|0;b=c[a+25672>>2]|0;r=c[d+104>>2]|0;s=(c[a+29560>>2]|0)+1|0;c[q>>2]=c[a+25668>>2];c[q+4>>2]=p;c[q+8>>2]=b;c[q+12>>2]=r;c[q+16>>2]=s;Uf(d,16,145911,q);d=-1094995529;break}if(!e)Sg(a);d=Dn(a,1)|0;if((d|0)>=0){q=c[h>>2]|0;c[q+112>>2]=d;p=c[a+25668>>2]|0;b=c[a+25672>>2]|0;d=oh(d)|0;c[r>>2]=p;c[r+4>>2]=b;c[r+8>>2]=d;Uf(q,40,145966,r);d=Hn(a)|0;if((d|0)<0)Uf(c[h>>2]|0,16,146004,s);else d=0}}else d=0}while(0);l=t;return d|0}function jm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;if((l|0)>=(m|0))W(32);e=p+8|0;f=p+16|0;n=c[b+25664>>2]|0;o=b+28216|0;g=c[o>>2]|0;c[f>>2]=1<<(c[g+1184>>2]|0)+-1;g=1<<(c[g+1188>>2]|0)+-1;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=-1;g=b+4|0;do if(rm(c[g>>2]|0)|0){km(b,1);k=b+24312|0;c[k>>2]=0;d=sm(b)|0;if((d|0)<0){Uf(c[g>>2]|0,16,145471,e);break}i=b+696+(d*656|0)|0;j=b+26380|0;h=c[j>>2]|0;c[b+696+(d*656|0)+640>>2]=(c[b+25684>>2]|0)==0?h:0;e=b+25688|0;q=c[e>>2]|0;c[e>>2]=q+1;e=c[i>>2]|0;c[e+128>>2]=q;c[b+696+(d*656|0)+636>>2]=(h|0)!=3&1;c[b+696+(d*656|0)+88>>2]=c[b+28244>>2];c[e+84>>2]=0;c[b+696+(d*656|0)+92>>2]=0;c[b+696+(d*656|0)+644>>2]=0;c[b+696+(d*656|0)+648>>2]=0;c[b+696+(d*656|0)+652>>2]=c[b+29716>>2];h=b+25628|0;c[e+88>>2]=c[(c[h>>2]|0)+836>>2];c[e+392>>2]=c[b+25716>>2];c[e+396>>2]=c[b+25720>>2];c[e+384>>2]=c[b+25724>>2];c[e+388>>2]=c[b+25728>>2];d=tm(b,i)|0;if((d|0)>=0){if((c[b+29576>>2]|0)==0?(c[(c[g>>2]|0)+592>>2]|0)==0:0)um(c[i>>2]|0,f);c[k>>2]=i;d=b+24316|0;Ug(b,d);Ri((c[h>>2]|0)+696|0,0);d=ii(b,d,c[k>>2]|0)|0;if((d|0)>=0){e=c[b+25632>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;g=c[c[k>>2]>>2]|0;q=c[h>>2]|0;c[q+(d*34768|0)+21772>>2]=c[g+32>>2];c[q+(d*34768|0)+21776>>2]=c[g+36>>2];d=d+1|0}if(!(c[b+29672>>2]|0))d=0;else{vm((c[h>>2]|0)+24|0);Ri((c[h>>2]|0)+728|0,0);Ri((c[h>>2]|0)+760|0,0);d=0}while(1){if((d|0)==16){d=0;break}q=a[146266+d>>0]|0;h=((q<<2&255)+16&28)<<n;q=(q&255)+-12>>3;c[b+25976+(d<<2)>>2]=h+(N(c[(c[i>>2]|0)+32>>2]<<2,q)|0);c[b+25976+(d+48<<2)>>2]=h+(N(c[(c[i>>2]|0)+32>>2]<<3,q)|0);d=d+1|0}while(1){if((d|0)==16)break;q=a[146266+d>>0]|0;h=((q<<2&255)+16&28)<<n;q=(q&255)+-12>>3;g=h+(N(c[(c[i>>2]|0)+36>>2]<<2,q)|0)|0;c[b+25976+(d+32<<2)>>2]=g;c[b+25976+(d+16<<2)>>2]=g;q=h+(N(c[(c[i>>2]|0)+36>>2]<<3,q)|0)|0;c[b+25976+(d+80<<2)>>2]=q;c[b+25976+(d+64<<2)>>2]=q;d=d+1|0}q=c[k>>2]|0;c[q+640>>2]=0;c[q+80>>2]=2147483647;c[q+76>>2]=2147483647;c[b+28740>>2]=0;c[b+25708>>2]=0;if(!(c[(c[o>>2]|0)+68>>2]|0))d=0;else d=(c[j>>2]|0)==3&1;c[b+26376>>2]=d;d=c[b+29712>>2]|0;if((d|0)>-1){c[b+25704>>2]=d;d=0}else d=0}}}else{Uf(c[g>>2]|0,16,145425,p);d=-1}while(0);l=p;return d|0}function km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(b|0)==0;e=a+24312|0;b=0;while(1){if((b|0)==36)break;f=a+696+(b*656|0)|0;do if(c[(c[f>>2]|0)+248>>2]|0?(c[a+696+(b*656|0)+640>>2]|0)==0:0){if(d?(f|0)==(c[e>>2]|0):0)break;Ug(a,f)}while(0);b=b+1|0}return}function lm(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=c[e+20>>2]|0;i=c[f+36>>2]|0;j=f+32|0;c[j>>2]=i;l=c[f+20>>2]|0;if((l|0)<(c[f+40>>2]|0)){i=i+(1<<k)|0;c[j>>2]=i}switch(c[e+24>>2]|0){case 0:{i=1<<c[e+28>>2];k=c[f>>2]|0;j=c[f+28>>2]|0;if((j|0)>(k|0)?(j-k|0)>=((i|0)/2|0|0):0)i=(c[f+24>>2]|0)+i|0;else m=7;do if((m|0)==7){if((j|0)<(k|0)?(j-k|0)<((i|0)/-2|0|0):0){i=(c[f+24>>2]|0)-i|0;break}i=c[f+24>>2]|0}while(0);c[f+4>>2]=i;j=k+i|0;l=((j|0)<0)<<31>>31;if((g|0)==3){k=c[f+8>>2]|0;k=TW(k|0,((k|0)<0)<<31>>31|0,j|0,l|0)|0;i=j;h=l;j=y}else{i=j;h=l;k=j;j=l}break}case 1:{m=c[e+44>>2]|0;k=(m|0)==0?0:l+i|0;h=(h|0)==0;j=(h&(k|0)>0)<<31>>31;i=0;l=0;while(1){if((i|0)>=(m|0))break;n=l+(b[e+148+(i<<1)>>1]|0)|0;i=i+1|0;l=n}i=k+j|0;a:do if((i|0)>0){i=i+-1|0;k=(i|0)%(m|0)|0;i=N((i|0)/(m|0)|0,l)|0;j=0;while(1){if((j|0)>(k|0))break a;i=i+(b[e+148+(j<<1)>>1]|0)|0;j=j+1|0}}else i=0;while(0);if(h)i=(c[e+36>>2]|0)+i|0;i=(c[f+12>>2]|0)+i|0;l=((i|0)<0)<<31>>31;k=c[e+40>>2]|0;k=TW(i|0,l|0,k|0,((k|0)<0)<<31>>31|0)|0;j=y;if((g|0)==3){h=c[f+16>>2]|0;k=TW(k|0,j|0,h|0,((h|0)<0)<<31>>31|0)|0;h=l;j=y}else h=l;break}default:{k=(l+i<<1)+(((h|0)==0)<<31>>31)|0;j=((k|0)<0)<<31>>31;i=k;h=j}}if((i|0)==(i|0)&(h|0)==(((i|0)<0)<<31>>31|0)?(k|0)==(k|0)&(j|0)==(((k|0)<0)<<31>>31|0):0){if((g|0)!=2?(c[a>>2]=i,(g|0)==1):0)j=a+4|0;else{j=a+4|0;c[j>>2]=k;i=c[a>>2]|0}c[d>>2]=c[a+(((i|0)>(c[j>>2]|0)&1)<<2)>>2];i=0}else i=-1094995529;return i|0}function mm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+28216>>2]|0;q=c[b+24312>>2]|0;j=c[q>>2]|0;g=j+212|0;c[g>>2]=0;d=j+208|0;c[d>>2]=0;i=(c[i+1160>>2]|0)==0;if(!i?(c[b+29676>>2]|0)!=0:0){f=c[b+29680>>2]|0;switch(f|0){case 8:{c[d>>2]=4;d=0;break}case 2:case 1:{c[g>>2]=1;d=1;break}case 4:case 3:{if((c[b+26376>>2]|0)==0?(c[b+26380>>2]|0)==3:0)d=c[b+29564>>2]|0;else d=1;c[g>>2]=d;break}case 6:case 5:{c[d>>2]=1;d=0;break}case 7:{c[d>>2]=2;d=0;break}default:d=0}e=c[b+29684>>2]|0;if((e&3|0)!=0&f>>>0<5){d=e>>>1&1;h=17}}else{if(!(c[b+26376>>2]|0))d=(c[b+26380>>2]|0)!=3;else d=1;d=d&1;h=17}if((h|0)==17)c[g>>2]=d;c[b+29564>>2]=d;e=c[q+76>>2]|0;f=c[q+80>>2]|0;do if((e|0)==(f|0)){if(!i?c[b+29676>>2]|0:0){switch(c[b+29680>>2]|0){case 5:case 3:{d=1;break}default:d=0}c[j+216>>2]=d;break}c[j+216>>2]=(d|0)!=0&1}else c[j+216>>2]=(e|0)<(f|0)&1;while(0);if(((c[b+29852>>2]|0?(k=b+29864|0,(c[k>>2]|0)>>>0<7):0)?(l=b+29872|0,((c[l>>2]|0)+-1|0)>>>0<2):0)?(m=om(j)|0,m|0):0){switch(c[k>>2]|0){case 0:{c[m>>2]=4;break}case 1:{c[m>>2]=7;break}case 2:{c[m>>2]=6;break}case 3:{c[m>>2]=c[b+29876>>2]|0?5:1;break}case 4:{c[m>>2]=2;break}case 5:{c[m>>2]=3;break}case 6:{c[m>>2]=0;break}default:{}}if((c[l>>2]|0)==2)c[m+4>>2]=1;if((c[k>>2]|0)==5)c[m+8>>2]=c[b+29880>>2]|0?1:2}do if(c[b+29884>>2]|0){d=c[b+29888>>2]|0;if(((d|0)==0?(c[b+29892>>2]|0)==0:0)?(c[b+29896>>2]|0)==0:0)break;e=Zh(c[q>>2]|0,6,36)|0;if(e|0){m=e+4|0;pm(c[m>>2]|0,+(d*360|0)*.0000152587890625);qm(c[m>>2]|0,c[b+29892>>2]|0,c[b+29896>>2]|0)}}while(0);d=b+29696|0;if(c[d>>2]|0?(n=Zh(c[q>>2]|0,7,1)|0,n|0):0){a[c[n+4>>2]>>0]=a[b+29700>>0]|0;c[d>>2]=0}d=b+29708|0;if(c[d>>2]|0){e=b+29704|0;f=Zh(c[q>>2]|0,1,c[e>>2]|0)|0;if(f|0)gX(c[f+4>>2]|0,c[d>>2]|0,c[e>>2]|0)|0;Qf(d);c[e>>2]=0;n=(c[b+4>>2]|0)+848|0;c[n>>2]=c[n>>2]|2}if((c[b+29916>>2]|0?(o=b+29920|0,yj(c[o>>2]|0)|0):0)?(p=c[o>>2]|0,(p|0)!=2):0){c[(c[q>>2]|0)+308>>2]=p;c[(c[b+4>>2]|0)+320>>2]=p}return}function nm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;if((l|0)>=(m|0))W(48);r=s+32|0;o=s+16|0;k=s+8|0;h=s;d=c[a+28216>>2]|0;n=c[a+24312>>2]|0;j=a+29544|0;i=n+92|0;c[i>>2]=c[j>>2];c[j>>2]=0;j=d+660|0;b=c[a+4>>2]|0;if(!((c[j>>2]|0)==0?(c[b+568>>2]|0)<=0:0)){p=b+140|0;f=c[p>>2]|0;g=c[d+664>>2]|0;c[p>>2]=(f|0)>(g|0)?f:g}g=n+84|0;b=0;while(1){f=c[g>>2]|0;if((b|0)==16){b=16;p=8;break}d=c[a+28676+(b<<2)>>2]|0;e=(b|0)==0;if((f|0)<(d|0)){p=7;break}if(!e)c[a+28676+(b+-1<<2)>>2]=d;b=b+1|0}if((p|0)==7)if(e)b=0;else p=8;if((p|0)==8)c[a+28676+(b+-1<<2)>>2]=f;e=16-b|0;if((c[(c[n>>2]|0)+88>>2]|0)==3)if((e|0)>1)p=17;else p=16;else{p=c[a+28732>>2]|0;if((p|0)!=-2147483648?!((e|0)>1?1:((c[a+28736>>2]|0)-p|0)<3):0)p=16;else p=17}if((p|0)==16){b=a+4|0;e=1;d=c[b>>2]|0;p=22}else if((p|0)==17){f=a+4|0;d=c[f>>2]|0;if(!b){e=a+28676|0;b=c[e>>2]|0;c[h>>2]=c[g>>2];c[h+4>>2]=b;Uf(d,40,145343,h);b=1;while(1){if((b|0)==16)break;c[a+28676+(b<<2)>>2]=-2147483648;b=b+1|0}c[e>>2]=c[g>>2];c[i>>2]=1;h=f}else{b=f;p=22}}if((p|0)==22)if((c[d+140>>2]|0)<(e|0)?(c[j>>2]|0)==0:0){h=(c[d+360>>2]|0)>1?24:40;c[k>>2]=e;Uf(d,h,145362,k);c[(c[b>>2]|0)+140>>2]=e;h=b}else h=b;k=0;while(1){b=a+28604+(k<<2)|0;if(!(c[b>>2]|0))break;else k=k+1|0}if((k|0)>=17){c[o>>2]=145395;c[o+4>>2]=133479;c[o+8>>2]=1337;Uf(0,0,159675,o);Ub()}c[b>>2]=n;b=n+640|0;if(!(c[b>>2]|0))c[b>>2]=4;j=a+28604|0;f=c[j>>2]|0;n=f;i=0;b=1;while(1){d=c[a+28604+(b<<2)>>2]|0;if(!d)break;if(c[(c[d>>2]|0)+84>>2]|0)break;if(c[d+92>>2]|0)break;p=(c[d+84>>2]|0)<(c[n+84>>2]|0);n=p?d:n;i=p?b:i;b=b+1|0}b=c[h>>2]|0;e=c[b+140>>2]|0;do if(!e){if((c[(c[f>>2]|0)+84>>2]|0)==0?(c[f+92>>2]|0)==0:0)break;c[a+28744>>2]=-2147483648}while(0);d=c[n+84>>2]|0;g=a+28744|0;f=(d|0)<(c[g>>2]|0);do if(!((k|0)<(e|0)&(f^1))){b=n+640|0;c[b>>2]=c[b>>2]&-5;b=i;e=c[a+28604+(i<<2)>>2]|0;while(1){if(!e)break;p=b+1|0;e=c[a+28604+(p<<2)>>2]|0;c[a+28604+(b<<2)>>2]=e;b=p}if(f){b=c[h>>2]|0;p=61;break}else{e=c[h>>2]|0;b=e;e=c[e+140>>2]|0;p=47;break}}else p=47;while(0);do if((p|0)==47){if((k|0)<(e|0)){p=61;break}h=a+28740|0;c[h>>2]=n;if((i|0)==0?(q=c[j>>2]|0,(q|0)!=0):0)if((c[(c[q>>2]|0)+84>>2]|0)==0?(c[q+92>>2]|0)==0:0)p=53;else d=-2147483648;else p=53;c[g>>2]=d;f=n+644|0;g=c[f>>2]|0;e=a+29576|0;d=c[e>>2]|0;if(g){d=d|2;c[e>>2]=d}a=d>>>1&1|g;c[f>>2]=a;if(!a){if((c[b+60>>2]&8|0)==0?(c[b+64>>2]&4194304|0)==0:0){c[h>>2]=0;break}a=(c[n>>2]|0)+296|0;c[a>>2]=c[a>>2]|1}}while(0);if((p|0)==61){c[r>>2]=f?145406:262540;Uf(b,48,145410,r)}l=s;return}function om(b){b=b|0;var d=0,e=0;b=Zh(b,2,12)|0;if(!b)b=0;else{b=b+4|0;d=c[b>>2]|0;e=d+12|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));b=c[b>>2]|0}return b|0}function pm(a,b){a=a|0;b=+b;var d=0,e=0.0;b=b*-3.141592653589793/180.0;e=+D(+b);b=+E(+b);d=a+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;d=~~(e*65536.0);c[a>>2]=d;c[a+4>>2]=~~(b*-65536.0);c[a+12>>2]=~~(b*65536.0);c[a+16>>2]=d;c[a+32>>2]=1073741824;return}function qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f;c[e>>2]=1-(((b|0)!=0&1)<<1);c[e+4>>2]=1-(((d|0)!=0&1)<<1);c[e+8>>2]=1;a:do if(d|b|0){b=0;while(1){if((b|0)==9)break a;d=a+(b<<2)|0;c[d>>2]=N(c[d>>2]|0,c[e+(((b|0)%3|0)<<2)>>2]|0)|0;b=b+1|0}}while(0);l=f;return}function rm(a){a=a|0;var b=0;if((c[a+696>>2]&1|0)!=0?(c[(c[(c[a+28>>2]|0)+20>>2]|0)+300>>2]|0)!=1:0)if(!(c[(c[a+12>>2]|0)+68>>2]|0))if((c[a+700>>2]|0)==0?(c[a+400>>2]|0)!=12:0)a=0;else b=6;else a=0;else b=6;if((b|0)==6)a=1;return a|0}function sm(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=36){b=-1094995529;break}if(!(c[(c[a+696+(b*656|0)>>2]|0)+248>>2]|0))break;b=b+1|0}return b|0}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=k+16|0;e=k;d=c[b>>2]|0;if(c[d>>2]|0){c[e>>2]=145521;c[e+4>>2]=133479;c[e+8>>2]=192;Uf(0,0,159675,e);Ub()}i=b+4|0;c[i>>2]=d;e=a+4|0;d=pn(c[e>>2]|0,i,(c[b+640>>2]|0)!=0&1)|0;a:do if((d|0)>=0){e=c[(c[e>>2]|0)+592>>2]|0;if(e|0){f=b+56|0;if(c[f>>2]|0){c[g>>2]=145538;c[g+4>>2]=133479;c[g+8>>2]=202;Uf(0,0,159675,g);Ub()}e=c[e+40>>2]|0;if(e|0){e=th(e)|0;c[b+52>>2]=e;if(!e){d=-12;break}c[f>>2]=c[e+4>>2]}}f=a+29924|0;e=c[f>>2]|0;if(!e){d=qn(a)|0;if((d|0)<0){j=18;break}e=c[f>>2]|0}f=b+20|0;c[f>>2]=ih(e)|0;e=ih(c[a+29928>>2]|0)|0;c[b+44>>2]=e;f=c[f>>2]|0;if((e|0)==0|(f|0)==0)j=18;else{g=c[a+27016>>2]<<1;c[b+48>>2]=(c[e+4>>2]|0)+(g<<2)+4;c[b+24>>2]=(c[f+4>>2]|0)+g+1;f=a+29932|0;g=a+29936|0;e=0;while(1){if((e|0)>=2){d=0;break a}i=b+28+(e<<2)|0;c[i>>2]=ih(c[f>>2]|0)|0;h=ih(c[g>>2]|0)|0;c[b+60+(e<<2)>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){j=18;break a}c[b+36+(e<<2)>>2]=(c[i+4>>2]|0)+16;c[b+68+(e<<2)>>2]=c[h+4>>2];e=e+1|0}}}else j=18;while(0);if((j|0)==18){Ug(a,b);d=(d|0)<0?d:-12}l=k;return d|0}function um(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=v;g=nh(c[a+80>>2]|0)|0;if(0==0?(c[g+8>>2]&16|0)==0:0){c[f>>2]=145498;c[f+4>>2]=127077;c[f+8>>2]=410;Uf(0,0,159675,f);Ub()}q=g+4|0;r=a+68|0;s=g+5|0;t=a+72|0;u=g+6|0;o=g+32|0;n=0;while(1){if((n|0)>=(d[q>>0]|0|0))break;f=c[r>>2]|0;if((n+-1|0)>>>0<2){p=0-(0-(c[t>>2]|0)>>(d[u>>0]|0))|0;f=0-(0-f>>(d[s>>0]|0))|0}else p=c[t>>2]|0;j=a+32+(n<<2)|0;k=e+(n<<2)|0;g=0;i=c[a+(n<<2)>>2]|0;while(1){if((g|0)>=(p|0))break;a:do if((c[o>>2]|0)>8){h=0;while(1){if((h|0)>=(f|0))break a;b[i+(h<<1)>>1]=c[k>>2];h=h+1|0}}else iX(i|0,c[k>>2]&255|0,f|0)|0;while(0);g=g+1|0;i=i+(c[j>>2]|0)|0}n=n+1|0}l=v;return}function vm(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(c[b+572>>2]|0){d=a+544|0;if(!(c[d>>2]|0)){wm(a+4|0,b);c[d>>2]=1}iX(c[a+580>>2]|0,127,N(c[a+560>>2]|0,c[a+564>>2]|0)|0)|0;c[a+572>>2]=(c[a+552>>2]|0)*3;c[a+576>>2]=0}return}function wm(a,b){a=a|0;b=b|0;c[a>>2]=17;c[a+484>>2]=2;c[a+488>>2]=3;c[a+492>>2]=4;c[a+496>>2]=5;c[a+500>>2]=6;c[a+504>>2]=7;c[a+508>>2]=8;c[a+512>>2]=9;c[a+52>>2]=10;c[a+56>>2]=11;c[a+68>>2]=12;c[a+72>>2]=13;c[a+76>>2]=14;c[a+80>>2]=15;c[a+292>>2]=16;c[a+296>>2]=17;c[a+316>>2]=18;c[a+320>>2]=19;c[a+4>>2]=2;c[a+8>>2]=6;c[a+28>>2]=20;c[a+32>>2]=21;c[a+36>>2]=22;c[a+100>>2]=23;c[a+104>>2]=24;c[a+148>>2]=25;c[a+152>>2]=26;c[a+124>>2]=27;c[a+128>>2]=28;c[a+172>>2]=29;c[a+176>>2]=30;c[a+188>>2]=31;c[a+192>>2]=32;c[a+196>>2]=33;c[a+200>>2]=34;c[a+212>>2]=35;c[a+216>>2]=36;c[a+220>>2]=37;c[a+224>>2]=38;c[a+516>>2]=39;c[a+520>>2]=40;return}function xm(a){a=a|0;var c=0,d=0,e=0,f=0;c=0;d=0;while(1){if((c|0)==64)break;f=b[a+(c<<1)>>1]|0;e=f<<16>>16;c=c+1|0;d=(f<<16>>16>-1?e:0-e|0)+d|0}return d|0}function ym(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;w=(d[b>>0]|0)-(d[a>>0]|0)|0;v=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;u=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;t=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;s=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;r=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;q=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;p=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;o=(d[b+8>>0]|0)-(d[a+8>>0]|0)|0;n=(d[b+9>>0]|0)-(d[a+9>>0]|0)|0;m=(d[b+10>>0]|0)-(d[a+10>>0]|0)|0;l=(d[b+11>>0]|0)-(d[a+11>>0]|0)|0;k=(d[b+12>>0]|0)-(d[a+12>>0]|0)|0;j=(d[b+13>>0]|0)-(d[a+13>>0]|0)|0;i=(d[b+14>>0]|0)-(d[a+14>>0]|0)|0;c=(d[b+15>>0]|0)-(d[a+15>>0]|0)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function zm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;v=d[a+1>>0]|0;w=(d[b>>0]|0)-(((d[a>>0]|0)+1+v|0)>>>1)|0;u=d[a+2>>0]|0;v=(d[b+1>>0]|0)-((v+1+u|0)>>>1)|0;t=d[a+3>>0]|0;u=(d[b+2>>0]|0)-((u+1+t|0)>>>1)|0;s=d[a+4>>0]|0;t=(d[b+3>>0]|0)-((t+1+s|0)>>>1)|0;r=d[a+5>>0]|0;s=(d[b+4>>0]|0)-((s+1+r|0)>>>1)|0;q=d[a+6>>0]|0;r=(d[b+5>>0]|0)-((r+1+q|0)>>>1)|0;p=d[a+7>>0]|0;q=(d[b+6>>0]|0)-((q+1+p|0)>>>1)|0;o=d[a+8>>0]|0;p=(d[b+7>>0]|0)-((p+1+o|0)>>>1)|0;n=d[a+9>>0]|0;o=(d[b+8>>0]|0)-((o+1+n|0)>>>1)|0;m=d[a+10>>0]|0;n=(d[b+9>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+11>>0]|0;m=(d[b+10>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+12>>0]|0;l=(d[b+11>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+13>>0]|0;k=(d[b+12>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+14>>0]|0;j=(d[b+13>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+15>>0]|0;i=(d[b+14>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+15>>0]|0)-((c+1+(d[a+16>>0]|0)|0)>>>1)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Am(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;x=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;w=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;v=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;u=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;t=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;s=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;r=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;q=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;p=(d[b+8>>0]|0)-(((d[a+8>>0]|0)+1+(d[c+8>>0]|0)|0)>>>1)|0;o=(d[b+9>>0]|0)-(((d[a+9>>0]|0)+1+(d[c+9>>0]|0)|0)>>>1)|0;n=(d[b+10>>0]|0)-(((d[a+10>>0]|0)+1+(d[c+10>>0]|0)|0)>>>1)|0;m=(d[b+11>>0]|0)-(((d[a+11>>0]|0)+1+(d[c+11>>0]|0)|0)>>>1)|0;l=(d[b+12>>0]|0)-(((d[a+12>>0]|0)+1+(d[c+12>>0]|0)|0)>>>1)|0;k=(d[b+13>>0]|0)-(((d[a+13>>0]|0)+1+(d[c+13>>0]|0)|0)>>>1)|0;j=(d[b+14>>0]|0)-(((d[a+14>>0]|0)+1+(d[c+14>>0]|0)|0)>>>1)|0;i=(d[b+15>>0]|0)-(((d[a+15>>0]|0)+1+(d[c+15>>0]|0)|0)>>>1)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Bm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;y=d[a+1>>0]|0;w=d[c+1>>0]|0;x=(d[b>>0]|0)-(((d[a>>0]|0)+2+y+(d[c>>0]|0)+w|0)>>>2)|0;z=d[a+2>>0]|0;v=d[c+2>>0]|0;w=(d[b+1>>0]|0)-((y+2+w+z+v|0)>>>2)|0;y=d[a+3>>0]|0;u=d[c+3>>0]|0;v=(d[b+2>>0]|0)-((z+2+v+y+u|0)>>>2)|0;z=d[a+4>>0]|0;t=d[c+4>>0]|0;u=(d[b+3>>0]|0)-((y+2+u+z+t|0)>>>2)|0;y=d[a+5>>0]|0;s=d[c+5>>0]|0;t=(d[b+4>>0]|0)-((z+2+t+y+s|0)>>>2)|0;z=d[a+6>>0]|0;r=d[c+6>>0]|0;s=(d[b+5>>0]|0)-((y+2+s+z+r|0)>>>2)|0;y=d[a+7>>0]|0;q=d[c+7>>0]|0;r=(d[b+6>>0]|0)-((z+2+r+y+q|0)>>>2)|0;z=d[a+8>>0]|0;p=d[c+8>>0]|0;q=(d[b+7>>0]|0)-((y+2+q+z+p|0)>>>2)|0;y=d[a+9>>0]|0;o=d[c+9>>0]|0;p=(d[b+8>>0]|0)-((z+2+p+y+o|0)>>>2)|0;z=d[a+10>>0]|0;n=d[c+10>>0]|0;o=(d[b+9>>0]|0)-((y+2+o+z+n|0)>>>2)|0;y=d[a+11>>0]|0;m=d[c+11>>0]|0;n=(d[b+10>>0]|0)-((z+2+n+y+m|0)>>>2)|0;z=d[a+12>>0]|0;l=d[c+12>>0]|0;m=(d[b+11>>0]|0)-((y+2+m+z+l|0)>>>2)|0;y=d[a+13>>0]|0;k=d[c+13>>0]|0;l=(d[b+12>>0]|0)-((z+2+l+y+k|0)>>>2)|0;z=d[a+14>>0]|0;j=d[c+14>>0]|0;k=(d[b+13>>0]|0)-((y+2+k+z+j|0)>>>2)|0;y=d[a+15>>0]|0;i=d[c+15>>0]|0;j=(d[b+14>>0]|0)-((z+2+j+y+i|0)>>>2)|0;i=(d[b+15>>0]|0)-((y+2+i+(d[a+16>>0]|0)+(d[c+16>>0]|0)|0)>>>2)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Cm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;o=(d[b>>0]|0)-(d[a>>0]|0)|0;n=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;m=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;l=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;k=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;j=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;i=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;c=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Dm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;n=d[a+1>>0]|0;o=(d[b>>0]|0)-(((d[a>>0]|0)+1+n|0)>>>1)|0;m=d[a+2>>0]|0;n=(d[b+1>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+3>>0]|0;m=(d[b+2>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+4>>0]|0;l=(d[b+3>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+5>>0]|0;k=(d[b+4>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+6>>0]|0;j=(d[b+5>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+7>>0]|0;i=(d[b+6>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+7>>0]|0)-((c+1+(d[a+8>>0]|0)|0)>>>1)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Em(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;p=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;o=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;n=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;m=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;l=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;k=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;j=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;i=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Fm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;q=d[a+1>>0]|0;o=d[c+1>>0]|0;p=(d[b>>0]|0)-(((d[a>>0]|0)+2+q+(d[c>>0]|0)+o|0)>>>2)|0;r=d[a+2>>0]|0;n=d[c+2>>0]|0;o=(d[b+1>>0]|0)-((q+2+o+r+n|0)>>>2)|0;q=d[a+3>>0]|0;m=d[c+3>>0]|0;n=(d[b+2>>0]|0)-((r+2+n+q+m|0)>>>2)|0;r=d[a+4>>0]|0;l=d[c+4>>0]|0;m=(d[b+3>>0]|0)-((q+2+m+r+l|0)>>>2)|0;q=d[a+5>>0]|0;k=d[c+5>>0]|0;l=(d[b+4>>0]|0)-((r+2+l+q+k|0)>>>2)|0;r=d[a+6>>0]|0;j=d[c+6>>0]|0;k=(d[b+5>>0]|0)-((q+2+k+r+j|0)>>>2)|0;q=d[a+7>>0]|0;i=d[c+7>>0]|0;j=(d[b+6>>0]|0)-((r+2+j+q+i|0)>>>2)|0;i=(d[b+7>>0]|0)-((q+2+i+(d[a+8>>0]|0)+(d[c+8>>0]|0)|0)>>>2)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Gm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Hm(a,b,c,d,8)|0;f=(Hm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Hm(a,g,b,d,8)|0)+f|0;f=f+(Hm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Hm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;i=l;l=l+256|0;if((l|0)>=(m|0))W(256);h=i;a=0;while(1){if((a|0)==8){a=0;g=0;break}j=N(a,f)|0;r=j+1|0;t=d[e+r>>0]|0;r=d[b+r>>0]|0;k=(d[e+j>>0]|0)-(d[b+j>>0]|0)|0;q=k+t-r|0;g=a<<3;r=k-t+r|0;t=j+2|0;k=j+3|0;s=d[e+k>>0]|0;k=d[b+k>>0]|0;t=(d[e+t>>0]|0)-(d[b+t>>0]|0)|0;o=t+s-k|0;k=t-s+k|0;s=j+4|0;t=j+5|0;u=d[e+t>>0]|0;t=d[b+t>>0]|0;s=(d[e+s>>0]|0)-(d[b+s>>0]|0)|0;p=s+u-t|0;t=s-u+t|0;u=j+6|0;j=j+7|0;s=d[e+j>>0]|0;j=d[b+j>>0]|0;u=(d[e+u>>0]|0)-(d[b+u>>0]|0)|0;n=u+s-j|0;j=u-s+j|0;s=o+q|0;o=q-o|0;q=k+r|0;k=r-k|0;r=n+p|0;n=p-n|0;p=j+t|0;j=t-j|0;c[h+(g<<2)>>2]=r+s;c[h+((g|4)<<2)>>2]=s-r;c[h+((g|1)<<2)>>2]=p+q;c[h+((g|5)<<2)>>2]=q-p;c[h+((g|2)<<2)>>2]=n+o;c[h+((g|6)<<2)>>2]=o-n;c[h+((g|3)<<2)>>2]=j+k;c[h+((g|7)<<2)>>2]=k-j;a=a+1|0}while(1){if((g|0)==8)break;y=h+(g<<2)|0;s=c[y>>2]|0;w=h+(g+8<<2)|0;v=c[w>>2]|0;x=v+s|0;v=s-v|0;s=h+(g+16<<2)|0;b=c[s>>2]|0;n=h+(g+24<<2)|0;k=c[n>>2]|0;u=k+b|0;k=b-k|0;b=h+(g+32<<2)|0;p=c[b>>2]|0;f=h+(g+40<<2)|0;j=c[f>>2]|0;e=j+p|0;j=p-j|0;p=h+(g+48<<2)|0;q=c[p>>2]|0;o=h+(g+56<<2)|0;t=c[o>>2]|0;r=t+q|0;t=q-t|0;q=u+x|0;c[y>>2]=q;u=x-u|0;c[s>>2]=u;s=k+v|0;c[w>>2]=s;k=v-k|0;c[n>>2]=k;n=r+e|0;c[b>>2]=n;r=e-r|0;c[p>>2]=r;p=t+j|0;c[f>>2]=p;t=j-t|0;c[o>>2]=t;o=n+q|0;n=q-n|0;q=p+s|0;p=s-p|0;s=r+u|0;r=u-r|0;u=k+t|0;t=k-t|0;a=((n|0)>-1?n:0-n|0)+a+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)+((r|0)>-1?r:0-r|0)+((s|0)>-1?s:0-s|0)+((t|0)>-1?t:0-t|0)+((u|0)>-1?u:0-u|0)|0;g=g+1|0}l=i;return a|0}function Im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Jm(a,b,c,d,8)|0;f=(Jm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Jm(a,g,b,d,8)|0)+f|0;f=f+(Jm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Jm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=l;l=l+256|0;if((l|0)>=(m|0))W(256);g=h;a=0;while(1){if((a|0)==8){a=0;e=0;break}i=N(a,f)|0;r=d[b+i>>0]|0;q=d[b+(i+1)>>0]|0;p=q+r|0;e=a<<3;q=r-q|0;r=d[b+(i+2)>>0]|0;j=d[b+(i+3)>>0]|0;n=j+r|0;j=r-j|0;r=d[b+(i+4)>>0]|0;s=d[b+(i+5)>>0]|0;o=s+r|0;s=r-s|0;r=d[b+(i+6)>>0]|0;i=d[b+(i+7)>>0]|0;k=i+r|0;i=r-i|0;r=n+p|0;n=p-n|0;p=j+q|0;j=q-j|0;q=k+o|0;k=o-k|0;o=i+s|0;i=s-i|0;c[g+(e<<2)>>2]=q+r;c[g+((e|4)<<2)>>2]=r-q;c[g+((e|1)<<2)>>2]=o+p;c[g+((e|5)<<2)>>2]=p-o;c[g+((e|2)<<2)>>2]=k+n;c[g+((e|6)<<2)>>2]=n-k;c[g+((e|3)<<2)>>2]=i+j;c[g+((e|7)<<2)>>2]=j-i;a=a+1|0}while(1){if((e|0)==8)break;y=g+(e<<2)|0;q=c[y>>2]|0;w=g+(e+8<<2)|0;v=c[w>>2]|0;x=v+q|0;v=q-v|0;q=g+(e+16<<2)|0;u=c[q>>2]|0;j=g+(e+24<<2)|0;i=c[j>>2]|0;s=i+u|0;i=u-i|0;u=g+(e+32<<2)|0;n=c[u>>2]|0;b=g+(e+40<<2)|0;f=c[b>>2]|0;t=f+n|0;f=n-f|0;n=g+(e+48<<2)|0;o=c[n>>2]|0;k=g+(e+56<<2)|0;r=c[k>>2]|0;p=r+o|0;r=o-r|0;o=s+x|0;c[y>>2]=o;s=x-s|0;c[q>>2]=s;q=i+v|0;c[w>>2]=q;i=v-i|0;c[j>>2]=i;j=p+t|0;c[u>>2]=j;p=t-p|0;c[n>>2]=p;n=r+f|0;c[b>>2]=n;r=f-r|0;c[k>>2]=r;k=j+o|0;j=o-j|0;o=n+q|0;n=q-n|0;q=p+s|0;p=s-p|0;s=i+r|0;r=i-r|0;a=((j|0)>-1?j:0-j|0)+a+((k|0)>-1?k:0-k|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)+((r|0)>-1?r:0-r|0)+((s|0)>-1?s:0-s|0)|0;e=e+1|0}y=(c[g+128>>2]|0)+(c[g>>2]|0)|0;l=h;return a-((y|0)>-1?y:0-y|0)|0}function Km(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Lm(a,b,c,d,8)|0;f=(Lm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Lm(a,g,b,d,8)|0)+f|0;f=f+(Lm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Lm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;f=l;l=l+128|0;if((l|0)>=(m|0))W(128);g=f;Ud[c[a+2964>>2]&255](g,b,d,e);Rd[c[a+2032>>2]&31](g);e=Kd[c[a+2372>>2]&31](g)|0;l=f;return e|0}function Mm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Nm(a,b,c,d,8)|0;f=(Nm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Nm(a,g,b,d,8)|0)+f|0;f=f+(Nm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Nm(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=l;l=l+128|0;if((l|0)>=(m|0))W(128);h=i;Ud[c[a+2964>>2]&255](h,d,e,f);Rd[c[a+2032>>2]&31](h);g=0;a=0;while(1){if((g|0)==64)break;e=b[h+(g<<1)>>1]|0;f=e<<16>>16;f=e<<16>>16>-1?f:0-f|0;g=g+1|0;a=(a|0)>(f|0)?a:f}l=i;return a|0}function Om(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Pm(a,b,c,d,8)|0;f=(Pm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Pm(a,g,b,d,8)|0)+f|0;f=f+(Pm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Pm(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=l;l=l+128|0;if((l|0)>=(m|0))W(128);h=i;Ud[c[a+2964>>2]&255](h,d,e,f);g=0;while(1){if((g|0)==8){g=0;a=0;break}w=h+(g<<4)|0;A=b[w>>1]|0;f=h+(g<<4)+14|0;p=b[f>>1]|0;C=p+A|0;v=h+(g<<4)+2|0;z=b[v>>1]|0;a=h+(g<<4)+12|0;y=b[a>>1]|0;B=y+z|0;u=h+(g<<4)+4|0;o=b[u>>1]|0;n=h+(g<<4)+10|0;x=b[n>>1]|0;j=x+o|0;t=h+(g<<4)+6|0;d=b[t>>1]|0;q=h+(g<<4)+8|0;e=b[q>>1]|0;k=e+d|0;s=k+C|0;r=j+B|0;k=C-k|0;j=B-j|0;p=A-p|0;y=z-y|0;x=o-x|0;e=d-e|0;d=(p>>1)+p+y+x|0;o=p-e-((x>>1)+x)|0;p=p-y-(y>>1)+e|0;e=e+(y-x)+(e>>1)|0;b[w>>1]=s+r;b[v>>1]=(e>>>2)+d;b[u>>1]=k+(j>>>1);b[t>>1]=o+(p>>>2);b[q>>1]=s-r;b[n>>1]=p-(o>>>2);b[a>>1]=(k>>>1)-j;b[f>>1]=(d>>>2)-e;g=g+1|0}while(1){if((a|0)==8)break;y=b[h+(a<<1)>>1]|0;s=b[h+112+(a<<1)>>1]|0;p=s+y|0;w=b[h+16+(a<<1)>>1]|0;C=b[h+96+(a<<1)>>1]|0;q=C+w|0;A=b[h+32+(a<<1)>>1]|0;v=b[h+80+(a<<1)>>1]|0;z=v+A|0;u=b[h+48+(a<<1)>>1]|0;B=b[h+64+(a<<1)>>1]|0;t=B+u|0;r=t+p|0;x=z+q|0;t=p-t|0;z=q-z|0;s=y-s|0;C=w-C|0;v=A-v|0;B=u-B|0;u=(s>>1)+s+C+v|0;A=s-B-((v>>1)+v)|0;s=s-C-(C>>1)+B|0;B=B+(C-v)+(B>>1)|0;v=r+x|0;C=(B>>2)+u|0;w=t+(z>>1)|0;y=A+(s>>2)|0;x=r-x|0;A=s-(A>>2)|0;z=(t>>1)-z|0;B=(u>>2)-B|0;g=((v|0)>-1?v:0-v|0)+g+((w|0)>-1?w:0-w|0)+((x|0)>-1?x:0-x|0)+((y|0)>-1?y:0-y|0)+((z|0)>-1?z:0-z|0)+((A|0)>-1?A:0-A|0)+((B|0)>-1?B:0-B|0)+((C|0)>-1?C:0-C|0)|0;a=a+1|0}l=i;return g|0}function Qm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[103876+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[103876+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+8>>0]|0)-(d[a+8>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+9>>0]|0)-(d[a+9>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+10>>0]|0)-(d[a+10>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+11>>0]|0)-(d[a+11>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+12>>0]|0)-(d[a+12>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+13>>0]|0)-(d[a+13>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+14>>0]|0)-(d[a+14>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+15>>0]|0)-(d[a+15>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Rm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[103876+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[103876+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Sm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[103876+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[103876+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[103876+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Tm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Um(a,b,c,d,8)|0;f=(Um(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Um(a,g,b,d,8)|0)+f|0;f=f+(Um(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Um(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+272|0;if((l|0)>=(m|0))W(272);i=k;h=k+256|0;j=i+128|0;c[a+4304>>2]=0;Ud[c[a+2964>>2]&255](i,d,e,f);g=j;d=i;e=g+128|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));g=a+1920|0;c[a+16>>2]=Od[c[a+6244>>2]&63](a,i,0,c[g>>2]|0,h)|0;Ud[c[a+6236>>2]&255](a,i,0,c[g>>2]|0);mn(i);g=0;d=0;while(1){if((d|0)==64)break;a=(b[i+(d<<1)>>1]|0)-(b[j+(d<<1)>>1]|0)|0;g=(N(a,a)|0)+g|0;d=d+1|0}l=k;return g|0}function Vm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Wm(a,b,c,d,8)|0;f=(Wm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Wm(a,g,b,d,8)|0)+f|0;f=f+(Wm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Wm(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+272|0;if((l|0)>=(m|0))W(272);r=u+128|0;s=u+64|0;t=u;p=u+256|0;q=c[a+4908>>2]|0;ln(s,e,g);ln(t,f,g);Ud[c[a+2960>>2]&255](r,s,t,8);k=a+1920|0;n=Od[c[a+6244>>2]&63](a,r,0,c[k>>2]|0,p)|0;c[a+16>>2]=n;o=(c[a+4304>>2]|0)==0;if(o){g=0;e=a+4932|0;f=a+4928|0;h=0}else{g=1;e=a+4916|0;f=a+4912|0;h=d[(c[a+4936>>2]|0)+((b[r>>1]|0)+256)>>0]|0}j=c[e>>2]|0;i=c[f>>2]|0;do if((n|0)>=(g|0)){f=0;while(1){c[p>>2]=g;if((g|0)>=(n|0))break;e=b[r+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=q;f=0;h=e+h|0}g=g+1|0}e=d[a+204+n>>0]|0;c[p>>2]=e;e=(b[r+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+q|0;break}}while(0);do if((n|0)>-1)if(o){Ud[c[a+6236>>2]&255](a,r,0,c[k>>2]|0);break}else{Ud[c[a+6232>>2]&255](a,r,0,c[k>>2]|0);break}while(0);Td[c[a+2300>>2]&1023](t,8,r);a=Od[c[a+2404>>2]&63](0,t,s,8,8)|0;t=c[k>>2]|0;a=((N(N(h*109|0,t)|0,t)|0)+64>>7)+a|0;l=u;return a|0}function Xm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ym(a,b,c,d,8)|0;f=(Ym(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Ym(a,g,b,d,8)|0)+f|0;f=f+(Ym(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Ym(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+144|0;if((l|0)>=(m|0))W(144);n=q;o=q+128|0;p=c[a+4908>>2]|0;Ud[c[a+2964>>2]&255](n,e,f,g);k=Od[c[a+6244>>2]&63](a,n,0,c[a+1920>>2]|0,o)|0;c[a+16>>2]=k;if(!(c[a+4304>>2]|0)){e=a+4932|0;f=a+4928|0;h=0;g=0}else{e=a+4916|0;f=a+4912|0;h=d[(c[a+4936>>2]|0)+((b[n>>1]|0)+256)>>0]|0;g=1}j=c[e>>2]|0;i=c[f>>2]|0;do if((k|0)>=(g|0)){f=0;while(1){c[o>>2]=g;if((g|0)>=(k|0))break;e=b[n+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=p;f=0;h=e+h|0}g=g+1|0}e=d[a+204+k>>0]|0;c[o>>2]=e;e=(b[n+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+p|0;break}}while(0);l=q;return h|0}function Zm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function _m(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function $m(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=16)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function an(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=8)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function bn(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(N(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function cn(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(N(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function dn(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=16)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=N(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=N(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=N(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(N(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function en(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=8)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=N(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=N(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=N(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(N(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function fn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)<(g|0))i=0;else break;while(1){if((i|0)==16)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(N(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==15)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=N(c[(c[a+596>>2]|0)+712>>2]|0,b)|0;return b+k|0}function gn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)<(g|0))i=0;else break;while(1){if((i|0)==8)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(N(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==7)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=N(c[(c[a+596>>2]|0)+712>>2]|0,b)|0;return b+k|0}function hn(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=(d[c>>0]|0)-(d[e>>0]|0)|0;u=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;w=u-v|0;t=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;u=t-u|0;s=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;t=s-t|0;r=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;s=r-s|0;q=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;r=q-r|0;p=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;q=p-q|0;o=(d[c+7>>0]|0)-(d[e+7>>0]|0)|0;p=o-p|0;n=(d[c+8>>0]|0)-(d[e+8>>0]|0)|0;o=n-o|0;h=(d[c+9>>0]|0)-(d[e+9>>0]|0)|0;n=h-n|0;i=(d[c+10>>0]|0)-(d[e+10>>0]|0)|0;h=i-h|0;j=(d[c+11>>0]|0)-(d[e+11>>0]|0)|0;i=j-i|0;k=(d[c+12>>0]|0)-(d[e+12>>0]|0)|0;j=k-j|0;l=(d[c+13>>0]|0)-(d[e+13>>0]|0)|0;k=l-k|0;b=(d[c+14>>0]|0)-(d[e+14>>0]|0)|0;l=b-l|0;b=(d[c+15>>0]|0)-(d[e+15>>0]|0)-b|0;m=1;b=((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((h|0)>-1?h:0-h|0)+((i|0)>-1?i:0-i|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((b|0)>-1?b:0-b|0)|0;while(1){k=c+f|0;l=e+f|0;if((m|0)>=(g|0))break;h=a[k>>0]|0;i=a[l>>0]|0;w=(d[e>>0]|0)-(d[c>>0]|0)+((h&255)-(i&255))|0;j=1;b=((w|0)>-1?w:0-w|0)+b|0;while(1){if((j|0)==16)break;v=a[k+j>>0]|0;w=a[l+j>>0]|0;t=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;s=(h&255)-(i&255)|0;u=j-f+-1|0;u=(v&255)-(w&255)-(kn(t,s,s+t-(d[k+u>>0]|0)+(d[l+u>>0]|0)|0)|0)|0;j=j+1|0;b=((u|0)>-1?u:0-u|0)+b|0;h=v;i=w}m=m+1|0;e=l;c=k}return b|0}function jn(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=a[c>>0]|0;h=a[e>>0]|0;p=(b&255)-(h&255)|0;j=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;q=j-p|0;k=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;j=k-j|0;l=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;k=l-k|0;m=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;l=m-l|0;n=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;m=n-m|0;i=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;n=i-n|0;i=(d[c+7>>0]|0)-(d[e+7>>0]|0)-i|0;o=1;i=((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((i|0)>-1?i:0-i|0)|0;while(1){k=c+f|0;l=e+f|0;if((o|0)>=(g|0))break;m=a[k>>0]|0;n=a[l>>0]|0;b=(h&255)-(b&255)+((m&255)-(n&255))|0;j=1;b=((b|0)>-1?b:0-b|0)+i|0;h=m;i=n;while(1){if((j|0)==8)break;p=a[k+j>>0]|0;q=a[l+j>>0]|0;s=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;t=(h&255)-(i&255)|0;r=j-f+-1|0;r=(p&255)-(q&255)-(kn(s,t,t+s-(d[k+r>>0]|0)+(d[l+r>>0]|0)|0)|0)|0;j=j+1|0;b=((r|0)>-1?r:0-r|0)+b|0;h=p;i=q}o=o+1|0;i=b;e=l;c=k;b=m;h=n}return i|0}function kn(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function ln(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==8)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function mn(a){a=a|0;var b=0;b=0;while(1){if((b|0)==8){b=0;break}nn(a+(b<<3<<1)|0);b=b+1|0}while(1){if((b|0)==8)break;on(a+(b<<1)|0);b=b+1|0}return}function nn(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;p=a+4|0;e=c[p>>2]|0;q=a+8|0;r=a+12|0;l=c[r>>2]|0;s=a+2|0;f=b[s>>1]|0;d=b[a>>1]|0;if(!(c[q>>2]|e|l|f)){s=d<<3&65528|d<<19;c[a>>2]=s;c[p>>2]=s;c[q>>2]=s;c[r>>2]=s}else{o=(d*16383|0)+1024|0;h=e<<16>>16;j=h*21407|0;d=j+o|0;h=h*8867|0;g=h+o|0;h=o-h|0;j=o-j|0;o=a+6|0;e=b[o>>1]|0;m=(e*19266|0)+(f*22725|0)|0;k=(N(e,-4520)|0)+(f*19266|0)|0;i=(N(e,-22725)|0)+(f*12873|0)|0;e=(N(e,-12873)|0)+(f*4520|0)|0;n=q;f=c[n>>2]|0;if((f|0)==0&(c[n+4>>2]|0)==0){n=e;l=m;e=a+10|0;f=a+14|0}else{x=f<<16>>16;v=x*16383|0;w=l<<16>>16;u=w*8867|0;x=N(x,-16383)|0;w=w*21407|0;t=a+10|0;y=b[t>>1]|0;f=a+14|0;l=b[f>>1]|0;n=(y*19266|0)+e+(N(l,-22725)|0)|0;i=(y*4520|0)+i+(l*19266|0)|0;k=(N(y,-22725)|0)+k+(N(l,-12873)|0)|0;l=(y*12873|0)+m+(l*4520|0)|0;j=v+j-u|0;h=x+h+w|0;g=x+g-w|0;d=v+d+u|0;e=t}b[a>>1]=(l+d|0)>>>11;b[f>>1]=(d-l|0)>>>11;b[s>>1]=(k+g|0)>>>11;b[r>>1]=(g-k|0)>>>11;b[p>>1]=(i+h|0)>>>11;b[e>>1]=(h-i|0)>>>11;b[o>>1]=(n+j|0)>>>11;b[q>>1]=(j-n|0)>>>11}return}function on(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=((b[a>>1]|0)*16383|0)+524256|0;s=a+32|0;j=b[s>>1]|0;d=n+(N(j,-8867)|0)|0;r=n+(N(j,-21407)|0)|0;o=a+16|0;c=b[o>>1]|0;p=a+48|0;q=b[p>>1]|0;f=(q*19266|0)+(c*22725|0)|0;e=(N(q,-4520)|0)+(c*19266|0)|0;g=(N(q,-22725)|0)+(c*12873|0)|0;c=(N(q,-12873)|0)+(c*4520|0)|0;q=a+64|0;h=b[q>>1]|0;m=h<<16>>16==0;h=h<<16>>16;i=N(h,-16383)|0;h=m?0:h*16383|0;l=n+(j*21407|0)+h|0;i=m?0:i;j=n+(j*8867|0)+i|0;i=d+i|0;h=r+h|0;r=a+80|0;d=b[r>>1]|0;if(!(d<<16>>16)){m=f;d=g}else{d=d<<16>>16;c=(d*19266|0)+c|0;e=(N(d,-22725)|0)+e|0;m=(d*12873|0)+f|0;d=(d*4520|0)+g|0}n=a+96|0;f=b[n>>1]|0;if(!(f<<16>>16)){k=i;g=l}else{g=f<<16>>16;h=(N(g,-8867)|0)+h|0;k=(g*21407|0)+i|0;j=(N(g,-21407)|0)+j|0;g=(g*8867|0)+l|0}i=a+112|0;f=b[i>>1]|0;if(!(f<<16>>16))f=m;else{l=f<<16>>16;c=(N(l,-22725)|0)+c|0;e=(N(l,-12873)|0)+e|0;f=(l*4520|0)+m|0;d=(l*19266|0)+d|0}b[a>>1]=f+g>>20;b[o>>1]=e+j>>20;b[s>>1]=d+k>>20;b[p>>1]=c+h>>20;b[q>>1]=h-c>>20;b[r>>1]=k-d>>20;b[n>>1]=j-e>>20;b[i>>1]=g-f>>20;return}function pn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);b=rn(a,b,c)|0;if((b|0)<0)Uf(a,16,145568,d);l=d;return b|0}function qn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+27016|0;g=c[i>>2]|0;f=c[a+27008>>2]|0;e=(N(f+1|0,g)|0)+1|0;h=N(f<<4,c[a+27012>>2]<<2|1)|0;b=a+29924|0;c[b>>2]=uh(e+g|0,15)|0;d=a+29928|0;c[d>>2]=uh((c[i>>2]|0)+e<<2,15)|0;e=a+29932|0;c[e>>2]=uh(h+16|0,15)|0;f=uh(N(g<<2,f)|0,15)|0;a=a+29936|0;c[a>>2]=f;if(((c[b>>2]|0)!=0?(c[d>>2]|0)!=0:0)?!((f|0)==0|(c[e>>2]|0)==0):0)a=0;else{Wg(b);Wg(d);Wg(e);Wg(a);a=-12}return a|0}function rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=j;e=a+28|0;i=c[(c[e>>2]|0)+20>>2]|0;c[b+8>>2]=a;c[b+4>>2]=a;a:do if(!(c[a+696>>2]&1))e=sn(a,c[b>>2]|0,d)|0;else{h=i+300|0;do if((c[h>>2]|0)!=1){if(!(c[(c[a+12>>2]|0)+68>>2]|0)){if(c[a+700>>2]|0)break;if((c[a+400>>2]|0)==12)break}Uf(a,16,145596,f);e=-1;break a}while(0);if(c[(c[e>>2]|0)+4>>2]|0){e=yh(8)|0;c[b+12>>2]=e;if(!e){e=-12;break}g=c[e+4>>2]|0;c[g>>2]=-1;c[g+4>>2]=-1}kX((c[i>>2]|0)+8|0)|0;g=a+700|0;if((c[g>>2]|0)==0?(c[a+400>>2]|0)!=12:0){f=i+184|0;kX(f|0)|0;c[i+316>>2]=c[b>>2];c[i+320>>2]=d;c[h>>2]=2;e=i+60|0;jX(e|0)|0;while(1){if((c[h>>2]|0)==1)break;wc(e|0,f|0)|0}e=c[i+296>>2]|0;lX(f|0)|0}else e=sn(a,c[b>>2]|0,d)|0;if(((c[g>>2]|0)==0?(c[a+400>>2]|0)!=12:0)?(c[(c[a+12>>2]|0)+68>>2]|0)==0:0)Ji(a);if(e|0)zg(b+12|0);lX((c[i>>2]|0)+8|0)|0}while(0);l=j;return e|0}function sn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=tn(a,b,d)|0;if((d|0)<0){Uf(a,16,145658,e);c[b+72>>2]=0;c[b+68>>2]=0}l=e;return d|0}function tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);i=o+8|0;e=o;j=c[a+592>>2]|0;k=a+8|0;do if(!(c[k>>2]|0)){h=a+92|0;g=a+96|0;f=a+872|0;if((Wh(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,-1,0,a)|0)>=0?(c[a+112>>2]|0)>=0:0){f=b+68|0;e=b+72|0;if((c[f>>2]|0)>=1?(c[e>>2]|0)>=1:0)e=1;else{q=c[h>>2]|0;h=c[a+680>>2]|0;p=0-(0-(c[a+100>>2]|0)>>h)|0;c[f>>2]=(q|0)>(p|0)?q:p;g=c[g>>2]|0;h=0-(0-(c[a+104>>2]|0)>>h)|0;c[e>>2]=(g|0)>(h|0)?g:h;e=0}if((((c[b>>2]|0)==0?(c[b+4>>2]|0)==0:0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){f=e;n=13;break}Uf(a,16,145723,i);e=-22;break}Uf(a,16,145679,e);e=-22}else{f=1;n=13}while(0);if((n|0)==13){e=un(a,b)|0;if((e|0)>=0){if(j){e=c[j+20>>2]|0;if(!e)n=18;else e=Ld[e&15](a,b)|0}else{c[a+768>>2]=c[a+112>>2];n=18}if((n|0)==18){e=Md[c[a+400>>2]&15](a,b,d)|0;if((e|0)>=0){vn(a,b);e=wn(b)|0}}if((c[k>>2]|f|0)==0?(c[(c[a+12>>2]|0)+116>>2]&16|0)==0:0){c[b+68>>2]=c[a+92>>2];c[b+72>>2]=c[a+96>>2]}if((e|0)<0)_g(b)}}l=o;return e|0}function un(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+32|0;if((l|0)>=(m|0))W(32);h=n+24|0;k=n+16|0;j=n+8|0;i=n;g=c[(c[a+28>>2]|0)+40>>2]|0;do if(g){f=g+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=b+104|0;c[d>>2]=e;c[d+4>>2]=f;d=b+112|0;c[d>>2]=e;c[d+4>>2]=f;d=g+56|0;f=c[d+4>>2]|0;e=b+328|0;c[e>>2]=c[d>>2];c[e+4>>2]=f;e=g+48|0;f=c[e+4>>2]|0;d=b+336|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;c[b+356>>2]=c[g+28>>2];d=0;while(1){if(d>>>0>=8){e=9;break}e=oi(g,c[104900+(d<<3)>>2]|0,h)|0;if(e|0){f=Zh(b,c[104900+(d<<3)+4>>2]|0,c[h>>2]|0)|0;if(!f){e=7;break}gX(c[f+4>>2]|0,e|0,c[h>>2]|0)|0}d=d+1|0}if((e|0)==7){d=-12;break}else if((e|0)==9){yn(g,b);f=b+296|0;d=c[f>>2]|0;c[f>>2]=(c[g+36>>2]&4|0)==0?d&-5:d|4;e=10;break}}else e=10;while(0);a:do if((e|0)==10){f=a+584|0;g=c[f+4>>2]|0;d=b+224|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;d=b+304|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+316>>2];d=b+308|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+320>>2];d=b+312|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+324>>2];d=b+300|0;if(!(c[d>>2]|0))c[d>>2]=c[a+328>>2];d=b+316|0;if(!(c[d>>2]|0))c[d>>2]=c[a+332>>2];switch(c[(c[a+12>>2]|0)+8>>2]|0){case 0:{c[b+80>>2]=c[a+112>>2];d=b+92|0;if(!(c[d>>2]|0)){g=a+188|0;j=c[g+4>>2]|0;k=d;c[k>>2]=c[g>>2];c[k+4>>2]=j}e=c[b+68>>2]|0;if(!e){d=0;break a}f=c[b+72>>2]|0;if(!f){d=0;break a};c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];if((zn(e,f,h)|0)>=0){d=0;break a}k=b+96|0;j=c[k>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=j;Uf(a,24,172255,i);c[b+92>>2]=0;c[k>>2]=1;d=0;break a}case 1:break;default:{d=0;break a}}d=b+232|0;if(!(c[d>>2]|0))c[d>>2]=c[a+344>>2];d=b+80|0;if((c[d>>2]|0)<0)c[d>>2]=c[a+352>>2];f=b+240|0;i=f;do if((c[i>>2]|0)==0&(c[i+4>>2]|0)==0){g=a+376|0;e=g;d=c[e>>2]|0;e=c[e+4>>2]|0;if((d|0)==0&(e|0)==0){d=c[a+348>>2]|0;if(d>>>0<=64)break;c[k>>2]=d;Uf(a,16,145887,k);d=-38;break a}d=Uh(d,e)|0;if((d|0)==(c[a+348>>2]|0)){j=g;k=c[j+4>>2]|0;a=f;c[a>>2]=c[j>>2];c[a+4>>2]=k;break}else{Uf(a,16,145850,j);d=-22;break a}}else d=c[a+348>>2]|0;while(0);c[b+352>>2]=d;d=0}while(0);l=n;return d|0}function vn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;if((l|0)>=(m|0))W(32);i=j+16|0;g=j;a:do if(!(c[a+8>>2]|0)){d=b+80|0;e=Nh(c[d>>2]|0)|0;d=nh(c[d>>2]|0)|0;if(!d)f=0;else f=c[d+8>>2]|0;e=(e|0)!=1|(f&2|0)==0?e:2;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[b+(d<<2)>>2]|0)){h=7;break}else d=d+1|0}if((h|0)==7){c[g>>2]=145766;c[g+4>>2]=124617;c[g+8>>2]=1782;Uf(0,0,159675,g);Ub()}d=(f&64|0)==0|(e|0)!=1?e:2;e=(d|0)>0;while(1){if(!(e&d>>>0<8))break a;f=b+(d<<2)|0;if(c[f>>2]|0)Uf(a,16,145781,i);c[f>>2]=0;d=d+1|0}}while(0);l=j;return}function wn(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=e;b=a+400|0;zg(b);a=Lg(20)|0;c[d>>2]=a;do if(a){a=kh(a,20,12,0,1)|0;if(!a){Qf(d);a=-12;break}else{c[b>>2]=a;a=0;break}}else a=-12;while(0);l=e;return a|0}function xn(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=e;c[d>>2]=b;a=c[b+8>>2]|0;if(a|0)Rd[a&31](c[b+4>>2]|0);a=c[b+16>>2]|0;if(a|0)Rd[a&31](c[b+12>>2]|0);Qf(d);l=e;return}function yn(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;a=oi(a,13,e)|0;Bn(a,c[e>>2]|0,b+344|0)|0;l=d;return}function zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if((e|0)>=1?(f=c[d>>2]|0,(f|0)>=0):0){d=(f|0)<(e|0);if((f|0)==0|(f|0)==(e|0))d=0;else{g=d?e:f;f=d?f:e;d=An(d?a:b,0,f,((f|0)<0)<<31>>31,g,((g|0)<0)<<31>>31,0)|0;f=y;d=(f|0)>0|(f|0)==0&d>>>0>0?0:-22}}else d=-22;return d|0}
function An(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do if(!((d|0)<0|((f|0)<0|(f|0)==0&e>>>0<1))?(j=g&-8193,!(j>>>0>5|(j|0)==4)):0){if(g&8192){j=TW(a|0,b|0,1,-2147483648)|0;i=y;if(i>>>0<0|(i|0)==0&j>>>0<2)break;g=g+-8192|0}if((b|0)<0){j=(b|0)>-2147483648|(b|0)==-2147483648&a>>>0>1;j=UW(0,0,(j?a:1)|0,(j?b:-2147483648)|0)|0;f=An(j,y,c,d,e,f,g>>>1&1^g)|0;f=UW(0,0,f|0,y|0)|0;return f|0}if((g|0)==5){g=XW(e|0,f|0,2,0)|0;h=y}else{h=(g&1|0)==0;g=TW(e|0,f|0,-1,-1)|0;g=h?0:g;h=h?0:y}if(!(((d|0)<0|(d|0)==0&c>>>0<2147483648)&((f|0)<0|(f|0)==0&e>>>0<2147483648))){l=aX(c|0,d|0,32)|0;k=y;j=ZW(l|0,k|0,a|0,0)|0;d=y;i=ZW(c|0,0,b|0,0)|0;i=TW(j|0,d|0,i|0,y|0)|0;d=y;c=ZW(c|0,0,a|0,0)|0;c=TW(0,i|0,c|0,y|0)|0;j=y;a=ZW(l|0,k|0,b|0,0)|0;a=TW(d|0,0,a|0,y|0)|0;a=TW(a|0,y|0,(j>>>0<i>>>0|(j|0)==(i|0)&c>>>0<0)&1|0,0)|0;b=y;j=TW(g|0,h|0,c|0,j|0)|0;c=y;b=TW(a|0,b|0,(c>>>0<h>>>0|(c|0)==(h|0)&j>>>0<g>>>0)&1|0,0)|0;a=63;g=y;h=d;while(1){if((a|0)<=-1)break;d=bX(j|0,c|0,a|0)|0;n=cX(b|0,g|0,1)|0;m=y;n=d&1|n;d=cX(i|0,h|0,1)|0;l=y;k=m>>>0<f>>>0|(m|0)==(f|0)&n>>>0<e>>>0;m=UW(n|0,m|0,(k?0:e)|0,(k?0:f)|0)|0;a=a+-1|0;b=m;g=y;i=d|(k^1)&1;h=l}a=(h|0)<0;b=a?-2147483648:h;a=a?0:i;break}if((b|0)<0|(b|0)==0&a>>>0<2147483648){a=ZW(c|0,d|0,a|0,b|0)|0;a=TW(g|0,h|0,a|0,y|0)|0;a=XW(a|0,y|0,e|0,f|0)|0;b=y;break}i=XW(a|0,b|0,e|0,f|0)|0;j=y;a=_W(a|0,b|0,e|0,f|0)|0;a=ZW(a|0,y|0,c|0,d|0)|0;a=TW(a|0,y|0,g|0,h|0)|0;a=XW(a|0,y|0,e|0,f|0)|0;b=y;if(((c|0)!=0|(d|0)!=0)&((j|0)>0|(j|0)==0&i>>>0>2147483646)?(n=UW(-1,2147483647,a|0,b|0)|0,n=XW(n|0,y|0,c|0,d|0)|0,m=y,(j|0)>(m|0)|(j|0)==(m|0)&i>>>0>n>>>0):0){b=-2147483648;a=0;break}n=ZW(i|0,j|0,c|0,d|0)|0;a=TW(a|0,b|0,n|0,y|0)|0;b=y}else{b=-2147483648;a=0}while(0);y=b;return a|0}function Bn(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b+c|0;a:do if((c|0)!=0&((b|0)!=0&(d|0)!=0))if(!(a[f+-1>>0]|0)){e=b;b=0;while(1){if(e>>>0>=f>>>0)break a;c=e+(BU(e)|0)+1|0;if(c>>>0>=f>>>0){b=-1094995529;break a}if(!(a[e>>0]|0)){b=-1094995529;break a}b=ai(d,e,c,0)|0;if((b|0)<0)break a;e=c+(BU(c)|0)+1|0}}else b=-1094995529;else b=0;while(0);return b|0}function Cn(a){a=a|0;switch(a|0){case 12:{a=0;break}case 13:{a=4;break}case 14:{a=5;break}default:{}}return a|0}function Dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=j;h=j+8|0;d=c[a+28216>>2]|0;e=c[d+1184>>2]|0;a:do switch(e|0){case 9:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?75:68;g=23;break a}else{e=h+4|0;d=(d|0)==2?72:62;g=23;break a}}case 10:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?77:70;g=23;break a}else{e=h+4|0;d=(d|0)==2?66:64;g=23;break a}}case 12:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?137:133;g=23;break a}else{e=h+4|0;d=(d|0)==2?129:125;g=23;break a}}case 14:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?139:135;g=23;break a}else{e=h+4|0;d=(d|0)==2?131:127;g=23;break a}}case 8:{e=c[d+12>>2]|0;if((e|0)==3){d=c[a+4>>2]|0;if(!(c[d+324>>2]|0)){e=h+4|0;d=73;g=23;break a}else{e=h+4|0;d=(c[d+328>>2]|0)==2?14:5;g=23;break a}}d=a+4|0;f=c[d>>2]|0;if((e|0)==2){e=h+4|0;d=(c[f+328>>2]|0)==2?13:4;g=23;break a}e=c[(c[f+12>>2]|0)+24>>2]|0;if(!e){e=h+4|0;d=(c[f+328>>2]|0)==2?12:0;g=23}else{i=e;e=h;g=24}break}default:{d=c[a+4>>2]|0;c[f>>2]=e;Uf(d,16,146064,f);d=-1094995529}}while(0);if((g|0)==23){c[h>>2]=d;i=h;d=a+4|0;g=24}b:do if((g|0)==24){c[e>>2]=-1;g=c[d>>2]|0;h=g+112|0;f=(b|0)!=0;e=0;while(1){d=c[i+(e<<2)>>2]|0;if((d|0)==-1)break;if(f|(d|0)!=(c[h>>2]|0))e=e+1|0;else break b}d=MM(g,i)|0}while(0);l=j;return d|0}function En(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;g=c[b+4>>2]|0;h=ZW(g|0,((g|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;d=y;e=c[b>>2]|0;b=c[a+4>>2]|0;a=ZW(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=UW(h|0,d|0,a|0,y|0)|0;d=y;if((a|0)==0&(d|0)==0)if((g|0)==0|(b|0)==0)if(!f)b=-2147483648;else return ((e|0)==0?-2147483648:(f>>31)-(e>>31)|0)|0;else b=0;else{b=b^g;b=aX(a^b|0,d^((b|0)<0)<<31>>31|0,63)|0;b=b|1}return b|0}function Fn(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;switch(b|0){case 66:{d=512;e=3;break}case 244:case 122:case 110:{d=2048;e=3;break}default:{}}if((e|0)==3)b=c[a+1196>>2]<<8&d|b;return b|0}function Gn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+32|0;if((l|0)>=(m|0))W(32);i=q+16|0;h=q;f=c[a+28216>>2]|0;b=c[f+84>>2]|0;d=c[f+80>>2]|0;e=c[f+88>>2]|0;f=c[f+92>>2]|0;o=c[a+25668>>2]|0;r=d+b|0;k=o-r|0;p=c[a+25672>>2]|0;g=f+e|0;j=p-g|0;if(o>>>0<=r>>>0){c[h>>2]=146622;c[h+4>>2]=133479;c[h+8>>2]=878;Uf(0,0,159675,h);Ub()}if(p>>>0<=g>>>0){c[i>>2]=146676;c[i+4>>2]=133479;c[i+8>>2]=879;Uf(0,0,159675,i);Ub()}g=a+29664|0;i=c[g>>2]|0;h=a+29668|0;if((((i|0)>0?(n=c[h>>2]|0,(e|d|0)==0&(n|0)>0):0)?(i+15^k+15)>>>0<16:0)?!((n|0)>(j|0)|((i|0)>(k|0)|(n+15^j+15)>>>0>15)):0){h=n;g=i;f=p-n|0;e=0;d=0;b=o-i|0}else{c[g>>2]=0;c[h>>2]=0;h=j;g=k}r=c[a+4>>2]|0;c[r+100>>2]=o;c[r+104>>2]=p;c[r+92>>2]=g;c[r+96>>2]=h;c[a+25720>>2]=b;c[a+25716>>2]=d;c[a+25724>>2]=e;c[a+25728>>2]=f;l=q;return}function Hn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+48|0;if((l|0)>=(m|0))W(48);j=p+32|0;k=p+24|0;g=p+16|0;f=p+8|0;e=c[a+28216>>2]|0;n=a+4|0;i=c[n>>2]|0;h=e+100|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];In(i,j)|0;Jn(c[(c[n>>2]|0)+112>>2]|0,a+25676|0,a+25680|0)|0;if(c[e+132>>2]|0){j=cX(c[e+140>>2]|0,0,(c[a+25704>>2]|0)>>>0<44|0)|0;i=c[n>>2]|0;Kn(i+764|0,i+760|0,N(c[i+84>>2]|0,c[e+136>>2]|0)|0,0,j,y,1073741824,0)|0}Vg(a);c[a+26384>>2]=0;c[a+29564>>2]=1;Ln(a);b=Mn(a)|0;a:do if((b|0)<0){Uf(c[n>>2]|0,16,146037,p);o=15}else{b=e+1184|0;d=c[b>>2]|0;b:do if((d+-8|0)>>>0<=6){switch(d|0){case 11:case 13:break b;default:{}}c[(c[n>>2]|0)+676>>2]=d;c[a+29596>>2]=d;j=e+12|0;i=c[j>>2]|0;c[a+29592>>2]=i;c[a+25664>>2]=(d|0)>8&1;c[a+27048>>2]=i;c[a+27044>>2]=d;Nn(a+16|0,d,i);On(a+152|0,c[e+1188>>2]|0);Pn(a+184|0,c[b>>2]|0);Qn(a+25736|0,c[(c[n>>2]|0)+16>>2]|0,c[b>>2]|0,c[j>>2]|0);Rn(a+8|0,c[b>>2]|0);if(!(c[(c[n>>2]|0)+696>>2]&2)){b=Sn(a,c[a+25628>>2]|0)|0;if((b|0)>=0){b=0;d=1;break a}Uf(c[n>>2]|0,16,146090,g);o=15;break a}e=a+25632|0;f=a+25628|0;g=a+25732|0;h=a+27016|0;i=a+26400|0;j=a+26404|0;d=0;while(1){if((d|0)>=(c[e>>2]|0)){b=0;d=1;break a}q=c[f>>2]|0;b=q+(d*34768|0)|0;c[b>>2]=a;r=N(c[h>>2]|0,d<<4)|0;c[q+(d*34768|0)+21704>>2]=(c[g>>2]|0)+r;c[q+(d*34768|0)+32848>>2]=(c[i>>2]|0)+(r<<1);c[q+(d*34768|0)+32852>>2]=(c[j>>2]|0)+(r<<1);b=Sn(a,b)|0;if((b|0)<0)break;else d=d+1|0}Uf(c[n>>2]|0,16,146090,k);o=15;break a}while(0);b=c[n>>2]|0;c[f>>2]=d;Uf(b,16,146064,f);b=-1094995529;o=15}while(0);if((o|0)==15){Vg(a);d=0}c[a+25692>>2]=d;l=p;return b|0}function In(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=f+8|0;e=f;h=c[a+92>>2]|0;g=c[a+96>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];d=zn(h,g,d)|0;if((d|0)<0){h=c[b+4>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=h;Uf(a,24,146593,e);c[a+188>>2]=0;c[a+192>>2]=1}else{g=b;h=c[g+4>>2]|0;d=a+188|0;c[d>>2]=c[g>>2];c[d+4>>2]=h;d=0}l=f;return d|0}function Jn(a,b,e){a=a|0;b=b|0;e=e|0;a=nh(a)|0;if(!a)a=-38;else{c[b>>2]=d[a+5>>0];c[e>>2]=d[a+6>>0];a=0}return a|0}function Kn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0;x=g^e;k=(e|0)>-1|(e|0)==-1&d>>>0>4294967295;j=UW(0,0,d|0,e|0)|0;j=k?d:j;k=k?e:y;m=(g|0)>-1|(g|0)==-1&f>>>0>4294967295;l=UW(0,0,f|0,g|0)|0;l=m?f:l;m=m?g:y;n=LM(j,k,l,m)|0;o=y;if(!((n|0)==0&(o|0)==0)){d=XW(j|0,k|0,n|0,o|0)|0;e=y;f=XW(l|0,m|0,n|0,o|0)|0;g=y}w=(e|0)>(i|0)|(e|0)==(i|0)&d>>>0>h>>>0;v=(g|0)>(i|0)|(g|0)==(i|0)&f>>>0>h>>>0;j=v|w;k=j?1:d;j=j?0:f;a:do if(!((f|0)==0&(g|0)==0|(v|w)^1)){w=0;v=1;while(1){m=XW(d|0,e|0,f|0,g|0)|0;l=y;n=ZW(m|0,l|0,f|0,g|0)|0;n=UW(d|0,e|0,n|0,y|0)|0;o=y;r=((k|0)<0)<<31>>31;p=ZW(m|0,l|0,k|0,r|0)|0;s=((w|0)<0)<<31>>31;p=TW(p|0,y|0,w|0,s|0)|0;A=y;t=((j|0)<0)<<31>>31;q=ZW(m|0,l|0,j|0,t|0)|0;u=((v|0)<0)<<31>>31;q=TW(q|0,y|0,v|0,u|0)|0;z=y;if((A|0)>(i|0)|(A|0)==(i|0)&p>>>0>h>>>0|((z|0)>(i|0)|(z|0)==(i|0)&q>>>0>h>>>0))break;if((n|0)==0&(o|0)==0){k=p;j=q;f=0;g=0;break a}else{e=g;d=f;v=j;w=k;k=p;j=q;f=n;g=o}}if(k){m=UW(h|0,i|0,w|0,s|0)|0;m=XW(m|0,y|0,k|0,r|0)|0;l=y}if(j){i=UW(h|0,i|0,v|0,u|0)|0;i=XW(i|0,y|0,j|0,t|0)|0;A=y;z=l>>>0>A>>>0|(l|0)==(A|0)&m>>>0>i>>>0;m=z?i:m;l=z?A:l}z=cX(j|0,t|0,1)|0;z=ZW(z|0,y|0,m|0,l|0)|0;z=TW(z|0,y|0,v|0,u|0)|0;z=ZW(z|0,y|0,f|0,g|0)|0;h=y;A=ZW(d|0,e|0,j|0,t|0)|0;i=y;if(h>>>0>i>>>0|(h|0)==(i|0)&z>>>0>A>>>0){j=ZW(m|0,l|0,j|0,t|0)|0;j=TW(j|0,y|0,v|0,u|0)|0;k=ZW(m|0,l|0,k|0,r|0)|0;k=TW(k|0,y|0,w|0,s|0)|0}}else{f=0;g=0}while(0);c[a>>2]=(x|0)<0?0-k|0:k;c[b>>2]=j;return (f|0)==0&(g|0)==0&1|0}function Ln(b){b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16){e=0;break}g=d[131571+e>>0]|0;a[b+26428+e>>0]=g<<2&12|g>>>2;g=d[146317+e>>0]|0;a[b+26572+e>>0]=g<<2&12|g>>>2;e=e+1|0}while(1){if((e|0)==64)break;g=d[131588+e>>0]|0;a[b+26444+e>>0]=g<<3&56|g>>>3;g=d[146334+e>>0]|0;a[b+26508+e>>0]=g<<3&56|g>>>3;g=d[146399+e>>0]|0;a[b+26588+e>>0]=g<<3&56|g>>>3;g=d[146464+e>>0]|0;a[b+26652+e>>0]=g<<3&56|g>>>3;e=e+1|0}e=b+26716|0;if(!(c[(c[b+28216>>2]|0)+16>>2]|0)){f=b+26428|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26732|0;f=b+26444|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26796|0;f=b+26508|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26860|0;f=b+26572|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26876|0;f=b+26588|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26940|0;f=b+26652|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0))}else{f=131571;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26732|0;f=131588;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26796|0;f=146334;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26860|0;f=146317;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26876|0;f=146399;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26940|0;f=146464;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0))}return}function Mn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+96|0;if((l|0)>=(m|0))W(96);t=x+80|0;s=x+72|0;r=x+64|0;q=x+56|0;n=x+48|0;i=x+40|0;g=x+32|0;f=x+24|0;e=x+16|0;d=x+8|0;u=a+27016|0;h=c[u>>2]|0;v=a+27008|0;p=N((c[v>>2]|0)+1|0,h)|0;b=c[a+25632>>2]|0;h=N((b|0)>1?b:1,h<<1)|0;b=hh(h,8)|0;c[a+25732>>2]=b;a:do if(!b){Uf(c[a+4>>2]|0,16,146114,x);w=29}else{j=a+25628|0;c[(c[j>>2]|0)+21704>>2]=b;k=Lg(p*48|0)|0;c[a+25972>>2]=k;o=(p|0)==0;if(!(o|(k|0)!=0)){Uf(c[a+4>>2]|0,16,146114,d);w=29;break}d=Lg((c[u>>2]|0)+p<<1)|0;k=a+28220|0;c[k>>2]=d;if((d|0)==0?(c[u>>2]|0)+p&2147483647|0:0){Uf(c[a+4>>2]|0,16,146114,e);w=29;break}d=p<<1;e=Lg(d)|0;c[a+26392>>2]=e;if(!((d|0)==0|(e|0)!=0)){Uf(c[a+4>>2]|0,16,146114,f);w=29;break}f=Lg(p)|0;c[a+26396>>2]=f;if(!(o|(f|0)!=0)){Uf(c[a+4>>2]|0,16,146114,g);w=29;break}g=hh(h,16)|0;d=a+26400|0;c[d>>2]=g;if(!g){Uf(c[a+4>>2]|0,16,146114,i);w=29;break}i=hh(h,16)|0;b=a+26404|0;c[b>>2]=i;if(!i){Uf(c[a+4>>2]|0,16,146114,n);w=29;break}c[(c[j>>2]|0)+32848>>2]=c[d>>2];c[(c[j>>2]|0)+32852>>2]=c[b>>2];b=p<<2;n=Lg(b)|0;c[a+26408>>2]=n;d=(b|0)==0;if(!(d|(n|0)!=0)){Uf(c[a+4>>2]|0,16,146114,q);w=29;break}q=Lg(p)|0;c[a+26388>>2]=q;if(!(o|(q|0)!=0)){Uf(c[a+4>>2]|0,16,146114,r);w=29;break}iX(c[k>>2]|0,-1,(c[u>>2]|0)+p<<1|0)|0;c[a+26372>>2]=(c[k>>2]|0)+(c[u>>2]<<1<<1)+2;r=Lg(b)|0;h=a+26360|0;c[h>>2]=r;if(!(d|(r|0)!=0)){Uf(c[a+4>>2]|0,16,146114,s);w=29;break}g=Lg(b)|0;c[a+26364>>2]=g;if(!(d|(g|0)!=0)){Uf(c[a+4>>2]|0,16,146114,t);w=29;break}f=a+27012|0;e=a+26368|0;d=0;while(1){if((d|0)<(c[v>>2]|0))b=0;else{b=0;break a}while(1){if((b|0)>=(c[f>>2]|0))break;a=(N(c[u>>2]|0,d)|0)+b|0;t=(N(c[e>>2]|0,d)|0)+b<<2;c[(c[h>>2]|0)+(a<<2)>>2]=t;c[g+(a<<2)>>2]=((a|0)%(c[u>>2]<<1|0)|0)<<3;b=b+1|0}d=d+1|0}}while(0);if((w|0)==29){Vg(a);b=-12}l=x;return b|0}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;h=(b+-9|0)>>>0<8;c[a+128>>2]=h?10:9;c[a+124>>2]=h?12:11;a:do switch(b|0){case 9:{c[a+84>>2]=13;c[a+88>>2]=14;c[a+92>>2]=15;c[a+96>>2]=16;c[a+100>>2]=4;c[a+104>>2]=5;e=(d|0)<2;c[a+108>>2]=e?7:6;c[a+112>>2]=8;c[a+116>>2]=17;c[a+120>>2]=e?14:13;c[a>>2]=5;c[a+4>>2]=6;c[a+8>>2]=7;c[a+12>>2]=8;c[a+16>>2]=1;c[a+20>>2]=2;c[a+24>>2]=3;c[a+28>>2]=4;c[a+32>>2]=9;c[a+36>>2]=10;c[a+40>>2]=11;c[a+44>>2]=8;c[a+48>>2]=9;c[a+52>>2]=10;c[a+56>>2]=12;c[a+60>>2]=e?14:13;c[a+64>>2]=e?16:15;c[a+68>>2]=11;c[a+72>>2]=e?13:12;e=e?15:14;break}case 10:{c[a+84>>2]=18;c[a+88>>2]=19;c[a+92>>2]=20;c[a+96>>2]=21;c[a+100>>2]=17;c[a+104>>2]=18;e=(d|0)<2;c[a+108>>2]=e?20:19;c[a+112>>2]=21;c[a+116>>2]=22;c[a+120>>2]=e?16:15;c[a>>2]=9;c[a+4>>2]=10;c[a+8>>2]=11;c[a+12>>2]=12;c[a+16>>2]=5;c[a+20>>2]=6;c[a+24>>2]=7;c[a+28>>2]=8;c[a+32>>2]=22;c[a+36>>2]=23;c[a+40>>2]=24;c[a+44>>2]=16;c[a+48>>2]=17;c[a+52>>2]=18;c[a+56>>2]=25;c[a+60>>2]=e?27:26;c[a+64>>2]=e?29:28;c[a+68>>2]=19;c[a+72>>2]=e?21:20;e=e?23:22;break}case 12:{c[a+84>>2]=23;c[a+88>>2]=24;c[a+92>>2]=25;c[a+96>>2]=26;c[a+100>>2]=30;c[a+104>>2]=31;e=(d|0)<2;c[a+108>>2]=e?33:32;c[a+112>>2]=34;c[a+116>>2]=27;c[a+120>>2]=e?18:17;c[a>>2]=13;c[a+4>>2]=14;c[a+8>>2]=15;c[a+12>>2]=16;c[a+16>>2]=9;c[a+20>>2]=10;c[a+24>>2]=11;c[a+28>>2]=12;c[a+32>>2]=35;c[a+36>>2]=36;c[a+40>>2]=37;c[a+44>>2]=24;c[a+48>>2]=25;c[a+52>>2]=26;c[a+56>>2]=38;c[a+60>>2]=e?40:39;c[a+64>>2]=e?42:41;c[a+68>>2]=27;c[a+72>>2]=e?29:28;e=e?31:30;break}case 14:{c[a+84>>2]=28;c[a+88>>2]=29;c[a+92>>2]=30;c[a+96>>2]=31;c[a+100>>2]=43;c[a+104>>2]=44;e=(d|0)<2;c[a+108>>2]=e?46:45;c[a+112>>2]=47;c[a+116>>2]=32;c[a+120>>2]=e?20:19;c[a>>2]=17;c[a+4>>2]=18;c[a+8>>2]=19;c[a+12>>2]=20;c[a+16>>2]=13;c[a+20>>2]=14;c[a+24>>2]=15;c[a+28>>2]=16;c[a+32>>2]=48;c[a+36>>2]=49;c[a+40>>2]=50;c[a+44>>2]=32;c[a+48>>2]=33;c[a+52>>2]=34;c[a+56>>2]=51;c[a+60>>2]=e?53:52;c[a+64>>2]=e?55:54;c[a+68>>2]=35;c[a+72>>2]=e?37:36;e=e?39:38;break}default:if((b|0)<9){c[a+84>>2]=33;c[a+88>>2]=34;c[a+92>>2]=35;c[a+96>>2]=36;c[a+100>>2]=56;c[a+104>>2]=57;e=(d|0)<2;c[a+108>>2]=e?59:58;c[a+112>>2]=60;c[a+116>>2]=37;c[a+120>>2]=e?22:21;c[a>>2]=21;c[a+4>>2]=22;c[a+8>>2]=23;c[a+12>>2]=24;c[a+16>>2]=17;c[a+20>>2]=18;c[a+24>>2]=19;c[a+28>>2]=20;c[a+32>>2]=61;c[a+36>>2]=62;c[a+40>>2]=63;c[a+44>>2]=40;c[a+48>>2]=41;c[a+52>>2]=42;c[a+56>>2]=64;c[a+60>>2]=e?66:65;c[a+64>>2]=e?68:67;c[a+68>>2]=43;c[a+72>>2]=e?45:44;e=e?47:46;break a}else{c[f>>2]=146226;c[f+4>>2]=146239;c[f+8>>2]=150;Uf(0,0,159675,f);Ub()}}while(0);c[a+76>>2]=e;c[a+80>>2]=0;c[a+132>>2]=8;l=g;return}function On(a,b){a=a|0;b=b|0;b=(b+-9|0)>>>0<8;c[a>>2]=b?26:25;c[a+4>>2]=b?28:27;c[a+8>>2]=b?30:29;c[a+12>>2]=b?32:31;c[a+16>>2]=b?34:33;c[a+20>>2]=b?36:35;c[a+24>>2]=b?38:37;c[a+28>>2]=b?40:39;return}function Pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0;switch(b|0){case 9:{b=102;d=106;e=110;f=114;g=103;h=107;i=111;j=115;k=104;l=108;m=112;n=116;o=105;p=109;q=113;r=117;s=134;t=138;u=142;v=146;w=135;x=139;y=143;z=147;A=136;B=140;C=144;D=148;E=137;F=141;G=145;H=149;I=118;J=122;K=126;L=130;M=119;N=123;O=127;P=131;Q=120;R=124;S=128;T=132;U=121;V=125;W=129;X=133;Y=38;Z=42;_=46;$=50;aa=39;ba=43;ca=47;da=51;ea=40;fa=44;ga=48;ha=52;ia=41;ja=45;ka=49;la=53;ma=86;na=90;oa=94;pa=98;qa=87;ra=91;sa=95;ta=99;ua=88;va=92;wa=96;xa=100;ya=89;za=93;Aa=97;Ba=101;Ca=70;Da=74;Ea=78;Fa=82;Ga=71;Ha=75;Ia=79;Ja=83;Ka=72;La=76;Ma=80;Na=84;Oa=73;Pa=77;Qa=81;Ra=85;Sa=54;Ta=58;Ua=62;Va=66;Wa=55;Xa=59;Ya=63;Za=67;_a=56;$a=60;ab=64;bb=68;cb=57;db=61;eb=65;fb=69;break}case 10:{b=326;d=330;e=334;f=338;g=327;h=331;i=335;j=339;k=328;l=332;m=336;n=340;o=329;p=333;q=337;r=341;s=358;t=362;u=366;v=370;w=359;x=363;y=367;z=371;A=360;B=364;C=368;D=372;E=361;F=365;G=369;H=373;I=342;J=346;K=350;L=354;M=343;N=347;O=351;P=355;Q=344;R=348;S=352;T=356;U=345;V=349;W=353;X=357;Y=262;Z=266;_=270;$=274;aa=263;ba=267;ca=271;da=275;ea=264;fa=268;ga=272;ha=276;ia=265;ja=269;ka=273;la=277;ma=310;na=314;oa=318;pa=322;qa=311;ra=315;sa=319;ta=323;ua=312;va=316;wa=320;xa=324;ya=313;za=317;Aa=321;Ba=325;Ca=294;Da=298;Ea=302;Fa=306;Ga=295;Ha=299;Ia=303;Ja=307;Ka=296;La=300;Ma=304;Na=308;Oa=297;Pa=301;Qa=305;Ra=309;Sa=278;Ta=282;Ua=286;Va=290;Wa=279;Xa=283;Ya=287;Za=291;_a=280;$a=284;ab=288;bb=292;cb=281;db=285;eb=289;fb=293;break}case 12:{b=438;d=442;e=446;f=450;g=439;h=443;i=447;j=451;k=440;l=444;m=448;n=452;o=441;p=445;q=449;r=453;s=470;t=474;u=478;v=482;w=471;x=475;y=479;z=483;A=472;B=476;C=480;D=484;E=473;F=477;G=481;H=485;I=454;J=458;K=462;L=466;M=455;N=459;O=463;P=467;Q=456;R=460;S=464;T=468;U=457;V=461;W=465;X=469;Y=374;Z=378;_=382;$=386;aa=375;ba=379;ca=383;da=387;ea=376;fa=380;ga=384;ha=388;ia=377;ja=381;ka=385;la=389;ma=422;na=426;oa=430;pa=434;qa=423;ra=427;sa=431;ta=435;ua=424;va=428;wa=432;xa=436;ya=425;za=429;Aa=433;Ba=437;Ca=406;Da=410;Ea=414;Fa=418;Ga=407;Ha=411;Ia=415;Ja=419;Ka=408;La=412;Ma=416;Na=420;Oa=409;Pa=413;Qa=417;Ra=421;Sa=390;Ta=394;Ua=398;Va=402;Wa=391;Xa=395;Ya=399;Za=403;_a=392;$a=396;ab=400;bb=404;cb=393;db=397;eb=401;fb=405;break}case 14:{b=550;d=554;e=558;f=562;g=551;h=555;i=559;j=563;k=552;l=556;m=560;n=564;o=553;p=557;q=561;r=565;s=582;t=586;u=590;v=594;w=583;x=587;y=591;z=595;A=584;B=588;C=592;D=596;E=585;F=589;G=593;H=597;I=566;J=570;K=574;L=578;M=567;N=571;O=575;P=579;Q=568;R=572;S=576;T=580;U=569;V=573;W=577;X=581;Y=486;Z=490;_=494;$=498;aa=487;ba=491;ca=495;da=499;ea=488;fa=492;ga=496;ha=500;ia=489;ja=493;ka=497;la=501;ma=534;na=538;oa=542;pa=546;qa=535;ra=539;sa=543;ta=547;ua=536;va=540;wa=544;xa=548;ya=537;za=541;Aa=545;Ba=549;Ca=518;Da=522;Ea=526;Fa=530;Ga=519;Ha=523;Ia=527;Ja=531;Ka=520;La=524;Ma=528;Na=532;Oa=521;Pa=525;Qa=529;Ra=533;Sa=502;Ta=506;Ua=510;Va=514;Wa=503;Xa=507;Ya=511;Za=515;_a=504;$a=508;ab=512;bb=516;cb=505;db=509;eb=513;fb=517;break}default:{b=214;d=218;e=222;f=226;g=215;h=219;i=223;j=227;k=216;l=220;m=224;n=228;o=217;p=221;q=225;r=229;s=246;t=250;u=254;v=258;w=247;x=251;y=255;z=259;A=248;B=252;C=256;D=260;E=249;F=253;G=257;H=261;I=230;J=234;K=238;L=242;M=231;N=235;O=239;P=243;Q=232;R=236;S=240;T=244;U=233;V=237;W=241;X=245;Y=150;Z=154;_=158;$=162;aa=151;ba=155;ca=159;da=163;ea=152;fa=156;ga=160;ha=164;ia=153;ja=157;ka=161;la=165;ma=198;na=202;oa=206;pa=210;qa=199;ra=203;sa=207;ta=211;ua=200;va=204;wa=208;xa=212;ya=201;za=205;Aa=209;Ba=213;Ca=182;Da=186;Ea=190;Fa=194;Ga=183;Ha=187;Ia=191;Ja=195;Ka=184;La=188;Ma=192;Na=196;Oa=185;Pa=189;Qa=193;Ra=197;Sa=166;Ta=170;Ua=174;Va=178;Wa=167;Xa=171;Ya=175;Za=179;_a=168;$a=172;ab=176;bb=180;cb=169;db=173;eb=177;fb=181}}c[a>>2]=Y;c[a+4>>2]=aa;c[a+8>>2]=ea;c[a+12>>2]=ia;c[a+16>>2]=Z;c[a+20>>2]=ba;c[a+24>>2]=fa;c[a+28>>2]=ja;c[a+32>>2]=_;c[a+36>>2]=ca;c[a+40>>2]=ga;c[a+44>>2]=ka;c[a+48>>2]=$;c[a+52>>2]=da;c[a+56>>2]=ha;c[a+60>>2]=la;c[a+64>>2]=Sa;c[a+68>>2]=Wa;c[a+72>>2]=_a;c[a+76>>2]=cb;c[a+80>>2]=Ta;c[a+84>>2]=Xa;c[a+88>>2]=$a;c[a+92>>2]=db;c[a+96>>2]=Ua;c[a+100>>2]=Ya;c[a+104>>2]=ab;c[a+108>>2]=eb;c[a+112>>2]=Va;c[a+116>>2]=Za;c[a+120>>2]=bb;c[a+124>>2]=fb;c[a+128>>2]=Ca;c[a+132>>2]=Ga;c[a+136>>2]=Ka;c[a+140>>2]=Oa;c[a+144>>2]=Da;c[a+148>>2]=Ha;c[a+152>>2]=La;c[a+156>>2]=Pa;c[a+160>>2]=Ea;c[a+164>>2]=Ia;c[a+168>>2]=Ma;c[a+172>>2]=Qa;c[a+176>>2]=Fa;c[a+180>>2]=Ja;c[a+184>>2]=Na;c[a+188>>2]=Ra;c[a+192>>2]=ma;c[a+196>>2]=qa;c[a+200>>2]=ua;c[a+204>>2]=ya;c[a+208>>2]=na;c[a+212>>2]=ra;c[a+216>>2]=va;c[a+220>>2]=za;c[a+224>>2]=oa;c[a+228>>2]=sa;c[a+232>>2]=wa;c[a+236>>2]=Aa;c[a+240>>2]=pa;c[a+244>>2]=ta;c[a+248>>2]=xa;c[a+252>>2]=Ba;c[a+256>>2]=b;c[a+260>>2]=g;c[a+264>>2]=k;c[a+268>>2]=o;c[a+272>>2]=d;c[a+276>>2]=h;c[a+280>>2]=l;c[a+284>>2]=p;c[a+288>>2]=e;c[a+292>>2]=i;c[a+296>>2]=m;c[a+300>>2]=q;c[a+304>>2]=f;c[a+308>>2]=j;c[a+312>>2]=n;c[a+316>>2]=r;c[a+320>>2]=I;c[a+324>>2]=M;c[a+328>>2]=Q;c[a+332>>2]=U;c[a+336>>2]=J;c[a+340>>2]=N;c[a+344>>2]=R;c[a+348>>2]=V;c[a+352>>2]=K;c[a+356>>2]=O;c[a+360>>2]=S;c[a+364>>2]=W;c[a+368>>2]=L;c[a+372>>2]=P;c[a+376>>2]=T;c[a+380>>2]=X;c[a+384>>2]=s;c[a+388>>2]=w;c[a+392>>2]=A;c[a+396>>2]=E;c[a+400>>2]=t;c[a+404>>2]=x;c[a+408>>2]=B;c[a+412>>2]=F;c[a+416>>2]=u;c[a+420>>2]=y;c[a+424>>2]=C;c[a+428>>2]=G;c[a+432>>2]=v;c[a+436>>2]=z;c[a+440>>2]=D;c[a+444>>2]=H;return}function Qn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=j;switch(d|0){case 9:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=697;g=696;break}default:{f=612;g=611}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=598;c[a+12>>2]=(b|0)==23?600:599;c[a+16>>2]=601;c[a+20>>2]=602;c[a+24>>2]=603;c[a+28>>2]=d?605:604;c[a+32>>2]=606;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=608;c[a+48>>2]=609;c[a+52>>2]=610;c[a+40>>2]=611;d=14;f=612;break}default:{c[d>>2]=607;d=10;f=616}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=617;i=10}}else{c[a>>2]=611;c[a+4>>2]=612;c[a+8>>2]=598;c[a+12>>2]=613;c[a+16>>2]=601;c[a+20>>2]=602;c[a+24>>2]=603;c[a+28>>2]=614;c[a+32>>2]=615;c[a+36>>2]=607;c[a+40>>2]=616;c[a+44>>2]=617;c[a+48>>2]=618;c[a+52>>2]=619;d=14;f=698;i=10}if((i|0)==10)c[a+(d<<2)>>2]=f;c[a+60>>2]=48;c[a+64>>2]=49;c[a+68>>2]=50;c[a+72>>2]=51;c[a+76>>2]=52;c[a+80>>2]=53;c[a+84>>2]=54;c[a+88>>2]=55;c[a+92>>2]=56;c[a+96>>2]=57;c[a+100>>2]=58;c[a+104>>2]=59;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?24:23;c[a+112>>2]=e?26:25;switch(b|0){case 139:case 179:{c[a+120>>2]=29;break}default:c[a+120>>2]=e?28:27}a:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=42;c[a+124>>2]=43;c[a+128>>2]=44;switch(b|0){case 139:case 179:break;default:break a}c[a+136>>2]=45;d=8;f=170;i=20;break}default:if(e){c[d>>2]=30;c[a+124>>2]=31;c[a+128>>2]=32;c[a+136>>2]=33;c[a+140>>2]=34;c[a+144>>2]=35;d=10;f=168;i=20;break a}else{c[d>>2]=36;c[a+124>>2]=37;c[a+128>>2]=38;c[a+136>>2]=39;c[a+140>>2]=40;c[a+144>>2]=41;d=10;f=169;i=20;break a}}while(0);if((i|0)==20)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?47:46;c[a+152>>2]=48;c[a+160>>2]=49;c[a+156>>2]=50;switch(b|0){case 23:{d=3;f=171;break}case 69:{d=3;f=172;break}case 139:case 179:{c[a+164>>2]=51;c[a+180>>2]=52;d=8;f=173;break}default:{d=3;f=174}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=53;c[a+172>>2]=54;c[a+176>>2]=55;c[a+188>>2]=620;c[a+192>>2]=621;c[a+196>>2]=622;c[a+200>>2]=623;c[a+204>>2]=69;c[a+208>>2]=70;f=129;g=128;h=e?63:62;d=e?61:60;break}case 10:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=697;g=696;break}default:{f=635;g=634}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=624;c[a+12>>2]=(b|0)==23?600:625;c[a+16>>2]=626;c[a+20>>2]=627;c[a+24>>2]=628;c[a+28>>2]=d?605:629;c[a+32>>2]=630;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=608;c[a+48>>2]=632;c[a+52>>2]=633;c[a+40>>2]=634;d=14;f=635;break}default:{c[d>>2]=631;d=10;f=636}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=637;i=34}}else{c[a>>2]=634;c[a+4>>2]=635;c[a+8>>2]=624;c[a+12>>2]=613;c[a+16>>2]=626;c[a+20>>2]=627;c[a+24>>2]=628;c[a+28>>2]=614;c[a+32>>2]=615;c[a+36>>2]=631;c[a+40>>2]=636;c[a+44>>2]=637;c[a+48>>2]=618;c[a+52>>2]=619;d=14;f=698;i=34}if((i|0)==34)c[a+(d<<2)>>2]=f;c[a+60>>2]=64;c[a+64>>2]=65;c[a+68>>2]=66;c[a+72>>2]=67;c[a+76>>2]=68;c[a+80>>2]=69;c[a+84>>2]=70;c[a+88>>2]=71;c[a+92>>2]=72;c[a+96>>2]=73;c[a+100>>2]=74;c[a+104>>2]=75;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?57:56;c[a+112>>2]=e?59:58;switch(b|0){case 139:case 179:{c[a+120>>2]=29;break}default:c[a+120>>2]=e?61:60}b:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=42;c[a+124>>2]=43;c[a+128>>2]=44;switch(b|0){case 139:case 179:break;default:break b}c[a+136>>2]=74;d=8;f=177;i=44;break}default:if(e){c[d>>2]=62;c[a+124>>2]=63;c[a+128>>2]=64;c[a+136>>2]=65;c[a+140>>2]=66;c[a+144>>2]=67;d=10;f=175;i=44;break b}else{c[d>>2]=68;c[a+124>>2]=69;c[a+128>>2]=70;c[a+136>>2]=71;c[a+140>>2]=72;c[a+144>>2]=73;d=10;f=176;i=44;break b}}while(0);if((i|0)==44)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?76:75;c[a+152>>2]=77;c[a+160>>2]=78;c[a+156>>2]=79;switch(b|0){case 23:{d=3;f=171;break}case 69:{d=3;f=172;break}case 139:case 179:{c[a+164>>2]=51;c[a+180>>2]=80;d=8;f=178;break}default:{d=3;f=179}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=81;c[a+172>>2]=82;c[a+176>>2]=83;c[a+188>>2]=638;c[a+192>>2]=639;c[a+196>>2]=640;c[a+200>>2]=641;c[a+204>>2]=71;c[a+208>>2]=72;f=131;g=130;h=e?79:78;d=e?77:76;break}case 12:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=697;g=696;break}default:{f=653;g=652}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=642;c[a+12>>2]=(b|0)==23?600:643;c[a+16>>2]=644;c[a+20>>2]=645;c[a+24>>2]=646;c[a+28>>2]=d?605:647;c[a+32>>2]=648;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=608;c[a+48>>2]=650;c[a+52>>2]=651;c[a+40>>2]=652;d=14;f=653;break}default:{c[d>>2]=649;d=10;f=654}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=655;i=58}}else{c[a>>2]=652;c[a+4>>2]=653;c[a+8>>2]=642;c[a+12>>2]=613;c[a+16>>2]=644;c[a+20>>2]=645;c[a+24>>2]=646;c[a+28>>2]=614;c[a+32>>2]=615;c[a+36>>2]=649;c[a+40>>2]=654;c[a+44>>2]=655;c[a+48>>2]=618;c[a+52>>2]=619;d=14;f=698;i=58}if((i|0)==58)c[a+(d<<2)>>2]=f;c[a+60>>2]=80;c[a+64>>2]=81;c[a+68>>2]=82;c[a+72>>2]=83;c[a+76>>2]=84;c[a+80>>2]=85;c[a+84>>2]=86;c[a+88>>2]=87;c[a+92>>2]=88;c[a+96>>2]=89;c[a+100>>2]=90;c[a+104>>2]=91;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?85:84;c[a+112>>2]=e?87:86;switch(b|0){case 139:case 179:{c[a+120>>2]=29;break}default:c[a+120>>2]=e?89:88}c:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=42;c[a+124>>2]=43;c[a+128>>2]=44;switch(b|0){case 139:case 179:break;default:break c}c[a+136>>2]=102;d=8;f=182;i=68;break}default:if(e){c[d>>2]=90;c[a+124>>2]=91;c[a+128>>2]=92;c[a+136>>2]=93;c[a+140>>2]=94;c[a+144>>2]=95;d=10;f=180;i=68;break c}else{c[d>>2]=96;c[a+124>>2]=97;c[a+128>>2]=98;c[a+136>>2]=99;c[a+140>>2]=100;c[a+144>>2]=101;d=10;f=181;i=68;break c}}while(0);if((i|0)==68)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?104:103;c[a+152>>2]=105;c[a+160>>2]=106;c[a+156>>2]=107;switch(b|0){case 23:{d=3;f=171;break}case 69:{d=3;f=172;break}case 139:case 179:{c[a+164>>2]=51;c[a+180>>2]=108;d=8;f=183;break}default:{d=3;f=184}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=109;c[a+172>>2]=110;c[a+176>>2]=111;c[a+188>>2]=656;c[a+192>>2]=657;c[a+196>>2]=658;c[a+200>>2]=659;c[a+204>>2]=73;c[a+208>>2]=74;f=133;g=132;h=e?95:94;d=e?93:92;break}case 14:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=697;g=696;break}default:{f=671;g=670}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=660;c[a+12>>2]=(b|0)==23?600:661;c[a+16>>2]=662;c[a+20>>2]=663;c[a+24>>2]=664;c[a+28>>2]=d?605:665;c[a+32>>2]=666;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=608;c[a+48>>2]=668;c[a+52>>2]=669;c[a+40>>2]=670;d=14;f=671;break}default:{c[d>>2]=667;d=10;f=672}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=673;i=82}}else{c[a>>2]=670;c[a+4>>2]=671;c[a+8>>2]=660;c[a+12>>2]=613;c[a+16>>2]=662;c[a+20>>2]=663;c[a+24>>2]=664;c[a+28>>2]=614;c[a+32>>2]=615;c[a+36>>2]=667;c[a+40>>2]=672;c[a+44>>2]=673;c[a+48>>2]=618;c[a+52>>2]=619;d=14;f=698;i=82}if((i|0)==82)c[a+(d<<2)>>2]=f;c[a+60>>2]=96;c[a+64>>2]=97;c[a+68>>2]=98;c[a+72>>2]=99;c[a+76>>2]=100;c[a+80>>2]=101;c[a+84>>2]=102;c[a+88>>2]=103;c[a+92>>2]=104;c[a+96>>2]=105;c[a+100>>2]=106;c[a+104>>2]=107;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?113:112;c[a+112>>2]=e?115:114;switch(b|0){case 139:case 179:{c[a+120>>2]=29;break}default:c[a+120>>2]=e?117:116}d:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=42;c[a+124>>2]=43;c[a+128>>2]=44;switch(b|0){case 139:case 179:break;default:break d}c[a+136>>2]=130;d=8;f=187;i=92;break}default:if(e){c[d>>2]=118;c[a+124>>2]=119;c[a+128>>2]=120;c[a+136>>2]=121;c[a+140>>2]=122;c[a+144>>2]=123;d=10;f=185;i=92;break d}else{c[d>>2]=124;c[a+124>>2]=125;c[a+128>>2]=126;c[a+136>>2]=127;c[a+140>>2]=128;c[a+144>>2]=129;d=10;f=186;i=92;break d}}while(0);if((i|0)==92)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?132:131;c[a+152>>2]=133;c[a+160>>2]=134;c[a+156>>2]=135;switch(b|0){case 23:{d=3;f=171;break}case 69:{d=3;f=172;break}case 139:case 179:{c[a+164>>2]=51;c[a+180>>2]=136;d=8;f=188;break}default:{d=3;f=189}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=137;c[a+172>>2]=138;c[a+176>>2]=139;c[a+188>>2]=674;c[a+192>>2]=675;c[a+196>>2]=676;c[a+200>>2]=677;c[a+204>>2]=75;c[a+208>>2]=76;f=135;g=134;h=e?111:110;d=e?109:108;break}default:{if((d|0)>=9){c[f>>2]=146226;c[f+4>>2]=146204;c[f+8>>2]=590;Uf(0,0,159675,f);Ub()}if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=697;g=696;break}default:{f=689;g=688}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=678;c[a+12>>2]=(b|0)==23?600:679;c[a+16>>2]=680;c[a+20>>2]=681;c[a+24>>2]=682;c[a+28>>2]=d?605:683;c[a+32>>2]=684;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=608;c[a+48>>2]=686;c[a+52>>2]=687;c[a+40>>2]=688;d=14;f=689;break}default:{c[d>>2]=685;d=10;f=690}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=691;i=108}}else{c[a>>2]=688;c[a+4>>2]=689;c[a+8>>2]=678;c[a+12>>2]=613;c[a+16>>2]=680;c[a+20>>2]=681;c[a+24>>2]=682;c[a+28>>2]=614;c[a+32>>2]=615;c[a+36>>2]=685;c[a+40>>2]=690;c[a+44>>2]=691;c[a+48>>2]=618;c[a+52>>2]=619;d=14;f=698;i=108}if((i|0)==108)c[a+(d<<2)>>2]=f;c[a+60>>2]=112;c[a+64>>2]=113;c[a+68>>2]=114;c[a+72>>2]=115;c[a+76>>2]=116;c[a+80>>2]=117;c[a+84>>2]=118;c[a+88>>2]=119;c[a+92>>2]=120;c[a+96>>2]=121;c[a+100>>2]=122;c[a+104>>2]=123;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?141:140;c[a+112>>2]=e?143:142;switch(b|0){case 139:case 179:{c[a+120>>2]=29;break}default:c[a+120>>2]=e?145:144}e:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=42;c[a+124>>2]=43;c[a+128>>2]=44;switch(b|0){case 139:case 179:break;default:break e}c[a+136>>2]=158;d=8;f=192;i=118;break}default:if(e){c[d>>2]=146;c[a+124>>2]=147;c[a+128>>2]=148;c[a+136>>2]=149;c[a+140>>2]=150;c[a+144>>2]=151;d=10;f=190;i=118;break e}else{c[d>>2]=152;c[a+124>>2]=153;c[a+128>>2]=154;c[a+136>>2]=155;c[a+140>>2]=156;c[a+144>>2]=157;d=10;f=191;i=118;break e}}while(0);if((i|0)==118)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?160:159;c[a+152>>2]=161;c[a+160>>2]=162;c[a+156>>2]=163;switch(b|0){case 23:{d=3;f=171;break}case 69:{d=3;f=172;break}case 139:case 179:{c[a+164>>2]=51;c[a+180>>2]=164;d=8;f=193;break}default:{d=3;f=194}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=165;c[a+172>>2]=166;c[a+176>>2]=167;c[a+188>>2]=692;c[a+192>>2]=693;c[a+196>>2]=694;c[a+200>>2]=695;c[a+204>>2]=77;c[a+208>>2]=78;f=137;g=136;h=e?127:126;d=e?125:124}}c[a+220>>2]=d;c[a+216>>2]=h;c[a+232>>2]=g;c[a+228>>2]=f;l=j;return}function Rn(a,b){a=a|0;b=b|0;c[a+4>>2]=699;c[a>>2]=(b|0)<9?2:1;return}function Sn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+32|0;if((l|0)>=(m|0))W(32);v=x+24|0;p=x+16|0;o=x+8|0;g=x;f=e+24|0;k=d+27008|0;r=c[k>>2]|0;t=d+27016|0;w=c[t>>2]|0;n=N(w,r)|0;u=d+27012|0;q=N(c[u>>2]<<1|1,r<<1|1)|0;r=N(w,r+1|0)|0;w=q+(r<<1)|0;a[e+28344>>0]=-2;a[e+28336>>0]=-2;a[e+28328>>0]=-2;a[e+28304>>0]=-2;a[e+28296>>0]=-2;a[e+28288>>0]=-2;a:do if((c[d+25628>>2]|0)==(e|0)){s=d+4|0;c[f>>2]=c[s>>2];c[e+824>>2]=1;c[e+828>>2]=d;c[e+812>>2]=1;i=d+27020|0;j=c[i>>2]|0;c[e+576>>2]=j;h=c[u>>2]|0;c[e+580>>2]=h;c[e+584>>2]=c[k>>2];c[e+588>>2]=c[t>>2];c[e+592>>2]=h<<1|1;j=Lg((j<<2)+4|0)|0;c[e+572>>2]=j;if((j|0)==0?(c[i>>2]&1073741823|0)!=1073741823:0){Uf(c[s>>2]|0,16,146114,g);d=-12;break}g=c[k>>2]|0;d=0;while(1){if((d|0)>=(g|0))break;h=c[u>>2]|0;i=N(h,d)|0;f=0;while(1){if((f|0)>=(h|0))break;c[j+(i+f<<2)>>2]=(N(c[t>>2]|0,d)|0)+f;f=f+1|0}d=d+1|0}h=N(c[t>>2]|0,g+-1|0)|0;i=c[u>>2]|0;c[j+((N(i,g)|0)<<2)>>2]=h+i;j=Lg(n)|0;c[e+604>>2]=j;if(!((n|0)==0|(j|0)!=0)){Uf(c[s>>2]|0,16,146114,o);d=-12;break}o=ag(N((c[k>>2]|0)*17|0,c[t>>2]|0)|0)|0;c[e+608>>2]=o;if((o|0)==0?N((c[k>>2]|0)*17|0,c[t>>2]|0)|0:0){Uf(c[s>>2]|0,16,146114,p);d=-12;break}p=w<<1;f=Lg(p)|0;c[e+27784>>2]=f;if(!((p|0)==0|(f|0)!=0)){Uf(c[s>>2]|0,16,146114,v);d=-12;break}c[e+612>>2]=f+(c[u>>2]<<1<<1)+4;d=f+(q<<1)+(c[t>>2]<<1)+2|0;c[e+616>>2]=d;c[e+620>>2]=d+(r<<1);d=0;while(1){if((d|0)>=(w|0)){d=0;break a}b[f+(d<<1)>>1]=1024;d=d+1|0}}else{iX(f|0,0,808)|0;d=0}while(0);l=x;return d|0}function Tn(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var n=0,o=0,p=0,q=0;q=l;l=l+16|0;if((l|0)>=(m|0))W(16);p=q+8|0;j=q;o=a+25628|0;k=c[o>>2]|0;c[k+21788>>2]=h;c[k+21792>>2]=i;n=k+21796|0;c[n>>2]=(N(c[a+27016>>2]|0,i)|0)+h;e=k+27824|0;f=e+120|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=(c[k+23404>>2]|0)>>>0>d>>>0?d:0;if(!(c[k+23416+(e*40|0)>>2]|0)){Uf(c[a+4>>2]|0,48,146139,j);e=0}if((c[k+23416+(e*40|0)+24>>2]&3|0)==3){d=(c[a+24384>>2]|0)+(c[n>>2]<<2)|0;p=e*257&65535;b[d>>1]=p;b[d+2>>1]=p;d=N(e,16843009)|0;c[k+28284>>2]=d;c[k+28292>>2]=d;c[k+28300>>2]=d;c[k+28308>>2]=d;g=c[g+4>>2]<<16|c[g>>2]&65535;c[k+28e3>>2]=g;c[k+28004>>2]=g;c[k+28008>>2]=g;c[k+28012>>2]=g;c[k+28032>>2]=g;c[k+28036>>2]=g;c[k+28040>>2]=g;c[k+28044>>2]=g;c[k+28064>>2]=g;c[k+28068>>2]=g;c[k+28072>>2]=g;c[k+28076>>2]=g;c[k+28096>>2]=g;c[k+28100>>2]=g;c[k+28104>>2]=g;c[k+28108>>2]=g;c[k+21828>>2]=0;c[k+21832>>2]=0;sk(a,c[o>>2]|0)}else Uf(c[a+4>>2]|0,48,146185,p);l=q;return}function Un(a,b,c){a=a|0;b=b|0;c=c|0;return}function Vn(b,c,d,e,f,g,h,i,j,k){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){o=(0-g|0)<(i|0);p=1-g|0;n=c+(N(0-e|0,i)|0)+(N(p,e)|0)|0;c=o?c:n;i=o?i:p}else{p=k+-1|0;c=c+(N(0-e|0,i)|0)+(N(p,e)|0)|0;i=p}if((h|0)<(j|0)){o=(0-f|0)<(h|0);p=1-f|0;l=o?h:p;h=o?c:c+(p-h)|0}else{p=j+-1|0;l=p;h=c+(p-h)|0}c=0-i|0;c=(c|0)>0?c:0;p=0-l|0;p=(p|0)>0?p:0;m=k-i|0;n=(m|0)<(g|0);o=j-l|0;o=(o|0)<(f|0)?o:f;j=o-p|0;i=h+(p+(N(c,e)|0))|0;k=p+(N(c,d)|0)|0;h=b+p|0;l=0;while(1){if((l|0)>=(c|0))break;gX(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=b+k|0;while(1){if((c|0)>=(l|0))break;gX(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;gX(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=o+-1|0;c=g;h=h+(0-((N(g,d)|0)+p))|0;while(1){l=c+-1|0;if(!c)break a;i=h+p|0;c=0;while(1){if((c|0)>=(p|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}i=h+k|0;c=o;while(1){if((c|0)>=(f|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function Wn(a,c,d,e,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){p=(0-g|0)<(i|0);q=1-g|0;o=c+(N(0-e|0,i)|0)+(N(q,e)|0)|0;c=p?c:o;i=p?i:q}else{q=k+-1|0;c=c+(N(0-e|0,i)|0)+(N(q,e)|0)|0;i=q}if((h|0)<(j|0)){p=(0-f|0)<(h|0);q=1-f|0;l=p?h:q;h=p?c:c+(q-h<<1)|0}else{q=j+-1|0;l=q;h=c+(q-h<<1)|0}c=0-i|0;c=(c|0)>0?c:0;q=0-l|0;q=(q|0)>0?q:0;m=k-i|0;n=(m|0)<(g|0);p=j-l|0;p=(p|0)<(f|0)?p:f;o=q<<1;i=h+(o+(N(c,e)|0))|0;j=p-q<<1;k=(N(c,d)|0)+o|0;h=a+o|0;l=0;while(1){if((l|0)>=(c|0))break;gX(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=a+k|0;while(1){if((c|0)>=(l|0))break;gX(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;gX(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=p+-1|0;c=g;h=h+(0-((N(g,d)|0)+o))|0;while(1){l=c+-1|0;if(!c)break a;i=h+(q<<1)|0;c=0;while(1){if((c|0)>=(q|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}i=h+(k<<1)|0;c=p;while(1){if((c|0)>=(f|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function Xn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Yn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=d[a+(0-e)>>0]|0;h=d[a+(1-e)>>0]|0;g=d[a+(2-e)>>0]|0;f=d[a+(3-e)>>0]|0;b=(i+2+(h<<1)+g|0)>>>2<<8|((d[a+~e>>0]|0)+2+(i<<1)+h|0)>>>2|(h+2+(g<<1)+f|0)>>>2<<16|(g+2+(f<<1)+(d[b>>0]|0)|0)>>>2<<24;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function Zn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0;d=d>>1;b=ZW(e[a+-2>>1]|0|0,0,65537,65537)|0;f=a;c[f>>2]=b;c[f+4>>2]=y;f=ZW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=a+(d<<1)|0;c[b>>2]=f;c[b+4>>2]=y;b=d<<1;f=ZW(e[a+(b+-1<<1)>>1]|0|0,0,65537,65537)|0;b=a+(b<<1)|0;c[b>>2]=f;c[b+4>>2]=y;d=d*3|0;b=ZW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;d=a+(d<<1)|0;c[d>>2]=b;c[d+4>>2]=y;return}function _n(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=d[a+-1>>0]|0;i=d[a+(e+-1)>>0]|0;h=e<<1;g=d[a+(h+-1)>>0]|0;b=e*3|0;f=d[a+(b+-1)>>0]|0;c[a>>2]=N(((d[a+~e>>0]|0)+2+(j<<1)+i|0)>>>2,16843009)|0;c[a+e>>2]=N((j+2+(i<<1)+g|0)>>>2,16843009)|0;c[a+h>>2]=N((i+2+(g<<1)+f|0)>>>2,16843009)|0;c[a+b>>2]=N((g+2+f+(f<<1)|0)>>>2,16843009)|0;return}function $n(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=y;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function ao(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;f=e<<1;j=d[b+(f+-1)>>0]|0;g=e*3|0;h=d[b+(g+-1)>>0]|0;a[b>>0]=((d[b+(e+-1)>>0]|0)+(d[b+(1-e)>>0]|0)|0)>>>1;i=(j+i|0)>>>1&255;a[b+e>>0]=i;a[b+1>>0]=i;c=(h+c|0)>>>1&255;a[b+(g+3)>>0]=c;a[b+(g+2)>>0]=c;a[b+(f+3)>>0]=c;a[b+(g+1)>>0]=c;a[b+(f+2)>>0]=c;a[b+(e+3)>>0]=c;a[b+g>>0]=c;a[b+(f|1)>>0]=c;a[b+(e+2)>>0]=c;a[b+3>>0]=c;a[b+f>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;return}function bo(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function co(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function eo(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function fo(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function go(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;j=d[c>>0]|0;h=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;a[b>>0]=(n+1+m|0)>>>1;c=(m+1+l|0)>>>1&255;i=e<<1;a[b+i>>0]=c;a[b+1>>0]=c;c=(l+1+k|0)>>>1&255;a[b+(i|1)>>0]=c;a[b+2>>0]=c;c=(k+1+j|0)>>>1&255;a[b+(i+2)>>0]=c;a[b+3>>0]=c;a[b+e>>0]=(n+2+(m<<1)+l|0)>>>2;m=(m+2+(l<<1)+k|0)>>>2&255;c=e*3|0;a[b+c>>0]=m;a[b+(e+1)>>0]=m;l=(l+2+(k<<1)+j|0)>>>2&255;a[b+(c+1)>>0]=l;a[b+(e+2)>>0]=l;k=(k+2+(j<<1)+h|0)>>>2&255;a[b+(c+2)>>0]=k;a[b+(e+3)>>0]=k;a[b+(i+3)>>0]=(j+2+(h<<1)+g|0)>>>2;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function ho(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function io(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function jo(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=ZW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=y;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function ko(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=129709+(0-(d[b+~e>>0]|0))|0;f=b+(0-e)|0;g=f+1|0;h=f+2|0;i=f+3|0;c=b;b=0;while(1){if((b|0)==4)break;k=j+(d[c+-1>>0]|0)|0;a[c>>0]=a[k+(d[f>>0]|0)>>0]|0;a[c+1>>0]=a[k+(d[g>>0]|0)>>0]|0;a[c+2>>0]=a[k+(d[h>>0]|0)>>0]|0;a[c+3>>0]=a[k+(d[i>>0]|0)>>0]|0;c=c+e|0;b=b+1|0}return}function lo(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16711935;c[b+4>>2]=16711935;b=a+(d<<1)|0;c[b>>2]=16711935;c[b+4>>2]=16711935;b=a+(d<<1<<1)|0;c[b>>2]=16711935;c[b+4>>2]=16711935;d=a+(d*3<<1)|0;c[d>>2]=16711935;c[d+4>>2]=16711935;return}function mo(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16843009;c[b+4>>2]=16843009;b=a+(d<<1)|0;c[b>>2]=16843009;c[b+4>>2]=16843009;b=a+(d<<1<<1)|0;c[b>>2]=16843009;c[b+4>>2]=16843009;d=a+(d*3<<1)|0;c[d>>2]=16843009;c[d+4>>2]=16843009;return}function no(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=ZW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=y;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function oo(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=d[b+(1-e)>>0]|0;r=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;n=d[c>>0]|0;l=d[c+1>>0]|0;i=d[c+2>>0]|0;h=d[c+3>>0]|0;s=d[b+(e+-1)>>0]|0;j=e<<1;q=d[b+(j+-1)>>0]|0;c=e*3|0;o=d[b+(c+-1)>>0]|0;m=d[b+((e<<2)+-1)>>0]|0;k=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;f=d[b+((e*7|0)+-1)>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+4+r+(d[b+-1>>0]|0)+q+(s+t<<1)|0)>>>3;s=(t+4+p+s+o+(q+r<<1)|0)>>>3&255;a[b+e>>0]=s;a[b+1>>0]=s;q=(r+4+n+q+m+(o+p<<1)|0)>>>3&255;a[b+j>>0]=q;a[b+(e+1)>>0]=q;a[b+2>>0]=q;o=(p+4+l+o+k+(m+n<<1)|0)>>>3&255;a[b+c>>0]=o;a[b+(j|1)>>0]=o;a[b+(e+2)>>0]=o;a[b+3>>0]=o;m=(n+4+i+m+g+(k+l<<1)|0)>>>3&255;a[b+(c+1)>>0]=m;a[b+(j+2)>>0]=m;a[b+(e+3)>>0]=m;e=(l+4+h+k+f+(g+i<<1)|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(j+3)>>0]=e;a[b+(c+3)>>0]=(i+2+h+g+f|0)>>>2;return}function po(a,b,c){a=a|0;b=b|0;c=c|0;Yu(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,d[a+((c*3|0)+-1)>>0]|0,d[a+((c<<2)+-1)>>0]|0);return}function qo(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=d[b+-1>>0]|0;q=d[b+(e+-1)>>0]|0;j=e<<1;m=d[b+(j+-1)>>0]|0;f=e*3|0;l=d[b+(f+-1)>>0]|0;i=d[b+((e<<2)+-1)>>0]|0;h=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;o=d[b+(2-e)>>0]|0;r=d[b+(3-e)>>0]|0;p=d[c>>0]|0;n=d[c+1>>0]|0;k=d[c+2>>0]|0;c=d[c+3>>0]|0;t=q<<1;s=t+4|0;a[b>>0]=(s+(d[b+(1-e)>>0]|0)+r+(o+u<<1)|0)>>>3;a[b+1>>0]=(u+4+t+m+o+(r<<1)+p|0)>>>3;o=m<<1;r=(s+o+r+(p<<1)+n|0)>>>3&255;a[b+e>>0]=r;a[b+2>>0]=r;p=(q+4+o+l+p+(n<<1)+k|0)>>>3&255;a[b+(e+1)>>0]=p;a[b+3>>0]=p;n=(o+4+n+c+(k+l<<1)|0)>>>3&255;a[b+j>>0]=n;a[b+(e+2)>>0]=n;m=(m+4+k+((c+l|0)*3|0)|0)>>>3&255;a[b+(j|1)>>0]=m;a[b+(e+3)>>0]=m;e=l+2|0;l=(e+(i<<1)+h|0)>>>2&255;a[b+(f+1)>>0]=l;a[b+(j+3)>>0]=l;e=(e+i+k+c|0)>>>2&255;a[b+(j+2)>>0]=e;a[b+f>>0]=e;a[b+(f+2)>>0]=(i+1+h|0)>>>1;a[b+(f+3)>>0]=(i+2+(h<<1)+g|0)>>>2;return}function ro(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16777472;c[b+4>>2]=16777472;b=a+(d<<1)|0;c[b>>2]=16777472;c[b+4>>2]=16777472;b=a+(d<<1<<1)|0;c[b>>2]=16777472;c[b+4>>2]=16777472;d=a+(d*3<<1)|0;c[d>>2]=16777472;c[d+4>>2]=16777472;return}function so(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=d[b+(1-e)>>0]|0;n=d[b+(2-e)>>0]|0;m=d[b+(3-e)>>0]|0;l=d[c>>0]|0;k=d[c+1>>0]|0;h=d[c+2>>0]|0;g=d[c+3>>0]|0;o=d[b+(e+-1)>>0]|0;i=e<<1;j=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+4+n+(d[b+-1>>0]|0)+j+(o+p<<1)|0)>>>3;o=(p+4+m+o+f+(j+n<<1)|0)>>>3&255;a[b+e>>0]=o;a[b+1>>0]=o;j=(n+4+l+(m<<1)+j+(f*3|0)|0)>>>3&255;a[b+i>>0]=j;a[b+(e+1)>>0]=j;a[b+2>>0]=j;j=f<<2;m=(m+4+k+(l<<1)+j|0)>>>3&255;a[b+c>>0]=m;a[b+(i|1)>>0]=m;a[b+(e+2)>>0]=m;a[b+3>>0]=m;l=(l+4+h+(k<<1)+j|0)>>>3&255;a[b+(c+1)>>0]=l;a[b+(i+2)>>0]=l;a[b+(e+3)>>0]=l;e=(k+4+g+(h<<1)+j|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(i+3)>>0]=e;a[b+(c+3)>>0]=(h+2+g+(f<<1)|0)>>>2;return}function to(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=d[b+-1>>0]|0;o=d[b+(e+-1)>>0]|0;h=e<<1;l=d[b+(h+-1)>>0]|0;f=e*3|0;g=a[b+(f+-1)>>0]|0;k=g&255;n=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;j=d[c>>0]|0;m=d[c+1>>0]|0;i=d[c+2>>0]|0;c=d[c+3>>0]|0;r=o<<1;q=r+4|0;a[b>>0]=(q+(d[b+(1-e)>>0]|0)+p+(n+s<<1)|0)>>>3;a[b+1>>0]=(s+4+r+l+n+(p<<1)+j|0)>>>3;n=l<<1;p=(q+n+p+(j<<1)+m|0)>>>3&255;a[b+e>>0]=p;a[b+2>>0]=p;j=(o+4+n+k+j+(m<<1)+i|0)>>>3&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=k<<1;m=(n+4+j+m+(i<<1)+c|0)>>>3&255;a[b+h>>0]=m;a[b+(e+2)>>0]=m;k=(l+4+i+((c+k|0)*3|0)|0)>>>3&255;a[b+(h|1)>>0]=k;a[b+(e+3)>>0]=k;a[b+(f+1)>>0]=g;a[b+(h+3)>>0]=g;e=(j+2+i+c|0)>>>2&255;a[b+(h+2)>>0]=e;a[b+f>>0]=e;a[b+(f+3)>>0]=g;a[b+(f+2)>>0]=g;return}function uo(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=d[a+((c*3|0)+-1)>>0]|0;Yu(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,e,e);return}function vo(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((N(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function wo(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((N(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=ZW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=y;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=ZW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=y;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=ZW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=y;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=ZW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=y;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=ZW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=y;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=ZW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=y;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=ZW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=y;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=ZW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=y;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function xo(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((N(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function yo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function zo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((N(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function Ao(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((N(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Bo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((N(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Co(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Do(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((N(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Eo(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((N(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=ZW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=y;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Fo(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Go(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=16777472;c[e+4>>2]=16777472;e=a+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0;a=a+(d<<1)|0}return}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((N(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((N(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Jo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Ko(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Lo(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(N((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(N((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(N(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+i>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+j>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Mo(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(N((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(N((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(N((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(N(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+p>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+o>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function No(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=129709+(0-(d[b+~c>>0]|0))|0;n=b+(0-c)|0;f=n+1|0;g=n+2|0;h=n+3|0;i=n+4|0;j=n+5|0;k=n+6|0;l=n+7|0;e=0;while(1){if((e|0)==8)break;o=m+(d[b+-1>>0]|0)|0;a[b>>0]=a[o+(d[n>>0]|0)>>0]|0;a[b+1>>0]=a[o+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[o+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[o+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[o+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[o+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[o+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[o+(d[l>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function Oo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((N(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((N(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=y;i=f+2>>2;i=ZW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=y;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((N(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=ZW(k|0,l|0,65537,65537)|0;h=y;d=ZW(f|0,m|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8)break;o=a+((N(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function Po(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((N(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((N(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=ZW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=y;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((N(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=ZW(d|0,f|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8)break;k=a+((N(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Qo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=ZW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=y;d=g+2>>2;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=y;b=0;while(1){if((b|0)==4){b=4;break}g=a+((N(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((N(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Ro(a,b){a=a|0;b=b|0;Qo(a,b);$n(a,0,b);return}function So(a,b){a=a|0;b=b|0;Oo(a,b);no(a,0,b);return}function To(a,b){a=a|0;b=b|0;Po(a,b);a=a+(b<<2)|0;ro(a,0,b);ro(a+8|0,0,b);return}function Uo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0;z=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((N(b,z)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-z<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((N(u,z)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((N(b+8|0,z)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((N(b+12|0,z)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-z<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=y;k=h+2>>2;k=ZW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=y;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((N(b,z)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=ZW(m|0,n|0,65537,65537)|0;q=y;m=ZW(f|0,o|0,65537,65537)|0;n=y;k=ZW(r|0,s|0,65537,65537)|0;l=y;i=ZW(g|0,t|0,65537,65537)|0;j=y;g=ZW(u|0,v|0,65537,65537)|0;h=y;d=ZW(w|0,x|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8){b=8;break}x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Vo(a,b){a=a|0;b=b|0;Po(a,b);Po(a+(b<<3)|0,b);return}function Wo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=ZW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=y;d=g+2>>2;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=y;b=0;while(1){if((b|0)==16)break;g=a+((N(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Xo(a,b){a=a|0;b=b|0;Wo(a,b);$n(a,0,b);return}function Yo(a,b){a=a|0;b=b|0;Uo(a,b);no(a,0,b);return}function Zo(a,b){a=a|0;b=b|0;Vo(a,b);a=a+(b<<2)|0;ro(a,0,b);ro(a+8|0,0,b);return}function _o(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=0;f=0;while(1){if((f|0)==4)break;h=d[a+((N(f,b)|0)+-1)>>0]|0;g=f+4|0;e=e+h+(d[a+(f-b)>>0]|0)+(d[a+(g-b)>>0]|0)+(d[a+((N(g,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=N((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==4){e=4;break}h=a+(N(e,b)|0)|0;c[h>>2]=f;c[h+4>>2]=f;e=e+1|0}while(1){if((e|0)==8)break;h=a+(N(e,b)|0)|0;c[h>>2]=f;c[h+4>>2]=f;e=e+1|0}return}function $o(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+((N(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=N((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(N(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function ap(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=N((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(N(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function bp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=16711935;c[f+4>>2]=16711935;e=e+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+1|0}return}function cp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=16843009;c[f+4>>2]=16843009;e=e+8|0;c[e>>2]=16843009;c[e+4>>2]=16843009;b=b+1|0}return}function dp(a,b){a=a|0;b=b|0;Vo(a,b);ro(a,0,b);ro(a+8|0,0,b);return}function ep(a,b){a=a|0;b=b|0;Po(a,b);ro(a,0,b);ro(a+8|0,0,b);return}function fp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=16777472;c[f+4>>2]=16777472;e=e+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0}return}function gp(a,b){a=a|0;b=b|0;fp(a,b);fp(a+(b<<3)|0,b);return}function hp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((N(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((N(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function jp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function kp(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=129709+(0-(d[b+~c>>0]|0))|0;v=b+(0-c)|0;f=v+1|0;g=v+2|0;h=v+3|0;i=v+4|0;j=v+5|0;k=v+6|0;l=v+7|0;m=v+8|0;n=v+9|0;o=v+10|0;p=v+11|0;q=v+12|0;r=v+13|0;s=v+14|0;t=v+15|0;e=0;while(1){if((e|0)==16)break;w=u+(d[b+-1>>0]|0)|0;a[b>>0]=a[w+(d[v>>0]|0)>>0]|0;a[b+1>>0]=a[w+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[w+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[w+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[w+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[w+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[w+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[w+(d[l>>0]|0)>>0]|0;a[b+8>>0]=a[w+(d[m>>0]|0)>>0]|0;a[b+9>>0]=a[w+(d[n>>0]|0)>>0]|0;a[b+10>>0]=a[w+(d[o>>0]|0)>>0]|0;a[b+11>>0]=a[w+(d[p>>0]|0)>>0]|0;a[b+12>>0]=a[w+(d[q>>0]|0)>>0]|0;a[b+13>>0]=a[w+(d[r>>0]|0)>>0]|0;a[b+14>>0]=a[w+(d[s>>0]|0)>>0]|0;a[b+15>>0]=a[w+(d[t>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function lp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+16|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+24|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+(d<<1)|0;a=a+1|0}return}function mp(a,b){a=a|0;b=b|0;Xu(a,b);return}function np(a,b){a=a|0;b=b|0;var d=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;c[b>>2]=16843009;c[b+4>>2]=16843009;c[b+8>>2]=16843009;c[b+12>>2]=16843009;c[b+16>>2]=16843009;c[b+20>>2]=16843009;c[b+24>>2]=16843009;c[b+28>>2]=16843009;b=b+(d<<1)|0;a=a+1|0}return}function op(a,b){a=a|0;b=b|0;Tu(a,b,0,1);return}function pp(a,b){a=a|0;b=b|0;Tu(a,b,1,0);return}function qp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((N(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function rp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function sp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+16|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+24|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+(d<<1)|0;a=a+1|0}return}function tp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function up(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function vp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}iX(d|0,0,256)|0;return}function wp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}iX(d|0,0,256)|0;return}function xp(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;if((l|0)>=(m|0))W(16);r=s;q=h>>1;u=e[a+(0-q<<1)>>1]|0;t=e[a+(1-q<<1)>>1]|0;h=e[a+(2-q<<1)>>1]|0;p=e[a+(3-q<<1)>>1]|0;o=e[a+(4-q<<1)>>1]|0;n=e[a+(5-q<<1)>>1]|0;k=e[a+(6-q<<1)>>1]|0;j=e[a+(7-q<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-q<<1)>>1]|0)+(j<<1)|0)>>>2;b[r>>1]=((e[a+((((f|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(u<<1)+t|0)>>>2;b[r+2>>1]=(u+2+(t<<1)+h|0)>>>2;b[r+4>>1]=(t+2+(h<<1)+p|0)>>>2;b[r+6>>1]=(h+2+(p<<1)+o|0)>>>2;b[r+8>>1]=(p+2+(o<<1)+n|0)>>>2;b[r+10>>1]=(o+2+(n<<1)+k|0)>>>2;b[r+12>>1]=(n+2+(k<<1)+j|0)>>>2;b[r+14>>1]=i;i=q<<1;j=q*3|0;k=q<<2;n=q*5|0;o=q*6|0;p=q*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;u=(c[f>>2]|0)+(e[r+(g<<1)>>1]|0)|0;b[h>>1]=u;u=(c[f+32>>2]|0)+u|0;b[h+(q<<1)>>1]=u;u=(c[f+64>>2]|0)+u|0;b[h+(i<<1)>>1]=u;u=(c[f+96>>2]|0)+u|0;b[h+(j<<1)>>1]=u;u=(c[f+128>>2]|0)+u|0;b[h+(k<<1)>>1]=u;u=(c[f+160>>2]|0)+u|0;b[h+(n<<1)>>1]=u;u=(c[f+192>>2]|0)+u|0;b[h+(o<<1)>>1]=u;b[h+(p<<1)>>1]=(c[f+224>>2]|0)+u;g=g+1|0;h=h+2|0;f=f+4|0}iX(d|0,0,256)|0;l=s;return}function yp(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=k;i=h>>1;s=e[a+((N(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;r=e[a+-2>>1]|0;q=e[a+(i+-1<<1)>>1]|0;p=e[a+((i<<1)+-1<<1)>>1]|0;o=e[a+((i*3|0)+-1<<1)>>1]|0;n=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(s+2+(r<<1)+q|0)>>>2;b[j+2>>1]=(r+2+(q<<1)+p|0)>>>2;b[j+4>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+6>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+8>>1]=(o+2+(n<<1)+h|0)>>>2;b[j+10>>1]=(n+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;s=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=s;s=(c[h+4>>2]|0)+s|0;b[g+2>>1]=s;s=(c[h+8>>2]|0)+s|0;b[g+4>>1]=s;s=(c[h+12>>2]|0)+s|0;b[g+6>>1]=s;s=(c[h+16>>2]|0)+s|0;b[g+8>>1]=s;s=(c[h+20>>2]|0)+s|0;b[g+10>>1]=s;s=(c[h+24>>2]|0)+s|0;b[g+12>>1]=s;b[g+14>>1]=(c[h+28>>2]|0)+s;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}iX(d|0,0,256)|0;l=k;return}function zp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;tp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ap(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}tp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;tp(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;up(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Cp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}up(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;up(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Dp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Ep(a,b,d){a=a|0;b=b|0;d=d|0;var f=0;d=d>>1;b=ZW(e[a+-2>>1]|0|0,0,65537,65537)|0;f=a;c[f>>2]=b;c[f+4>>2]=y;f=ZW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=a+(d<<1)|0;c[b>>2]=f;c[b+4>>2]=y;b=d<<1;f=ZW(e[a+(b+-1<<1)>>1]|0|0,0,65537,65537)|0;b=a+(b<<1)|0;c[b>>2]=f;c[b+4>>2]=y;d=d*3|0;b=ZW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;d=a+(d<<1)|0;c[d>>2]=b;c[d+4>>2]=y;return}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=y;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Gp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function Hp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function Ip(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Jp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Kp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Lp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function Mp(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=ZW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=y;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Np(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33489407;c[b+4>>2]=33489407;b=a+(d<<1)|0;c[b>>2]=33489407;c[b+4>>2]=33489407;b=a+(d<<1<<1)|0;c[b>>2]=33489407;c[b+4>>2]=33489407;d=a+(d*3<<1)|0;c[d>>2]=33489407;c[d+4>>2]=33489407;return}function Op(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33620481;c[b+4>>2]=33620481;b=a+(d<<1)|0;c[b>>2]=33620481;c[b+4>>2]=33620481;b=a+(d<<1<<1)|0;c[b>>2]=33620481;c[b+4>>2]=33620481;d=a+(d*3<<1)|0;c[d>>2]=33620481;c[d+4>>2]=33620481;return}function Pp(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=ZW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=y;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33554944;c[b+4>>2]=33554944;b=a+(d<<1)|0;c[b>>2]=33554944;c[b+4>>2]=33554944;b=a+(d<<1<<1)|0;c[b>>2]=33554944;c[b+4>>2]=33554944;d=a+(d*3<<1)|0;c[d>>2]=33554944;c[d+4>>2]=33554944;return}function Rp(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((N(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function Sp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((N(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=ZW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=y;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=ZW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=y;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=ZW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=y;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=ZW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=y;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=ZW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=y;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=ZW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=y;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=ZW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=y;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=ZW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=y;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function Tp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((N(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Up(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Vp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((N(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function Wp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((N(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Xp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((N(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Yp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Zp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((N(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function _p(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((N(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=ZW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=y;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function $p(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function aq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=33554944;c[e+4>>2]=33554944;e=a+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0;a=a+(d<<1)|0}return}function bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((N(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((N(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function dq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function eq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function fq(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(N((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(N((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(N(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+i>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+j>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function gq(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(N((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(N((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(N((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(N(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+p>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+o>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function hq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((N(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((N(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=y;i=f+2>>2;i=ZW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=y;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((N(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=ZW(k|0,l|0,65537,65537)|0;h=y;d=ZW(f|0,m|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8)break;o=a+((N(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function iq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((N(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((N(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=ZW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=y;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((N(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=ZW(d|0,f|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8)break;k=a+((N(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function jq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=ZW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=y;d=g+2>>2;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=y;b=0;while(1){if((b|0)==4){b=4;break}g=a+((N(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((N(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function kq(a,b){a=a|0;b=b|0;jq(a,b);Fp(a,0,b);return}function lq(a,b){a=a|0;b=b|0;hq(a,b);Pp(a,0,b);return}function mq(a,b){a=a|0;b=b|0;iq(a,b);a=a+(b<<2)|0;Qp(a,0,b);Qp(a+8|0,0,b);return}
function sG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=N((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=N((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;m=N((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<1024?m:0-m>>31&1023;m=N((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<1024?m:0-m>>31&1023;m=N((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<1024?m:0-m>>31&1023;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<1024?m:0-m>>31&1023;a=N((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function tG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function uG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=d>>1;u=f>>1;v=N(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;J=e[d+(w<<1)>>1]|0;I=e[d>>1]|0;H=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;K=(e[d+(v<<1)>>1]|0)+16+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>5;b[f>>1]=K>>>0<1024?K:0-K>>31&1023;J=J+16+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>5;b[f+(z<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;I=I+16+D+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>5;b[f+(o<<1)>>1]=I>>>0<1024?I:0-I>>31&1023;H=H+16+c+((E+F|0)*20|0)+(N(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=H>>>0<1024?H:0-H>>31&1023;G=G+16+A+((D+E|0)*20|0)+(N(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;F=F+16+B+((c+D|0)*20|0)+(N(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<1024?F:0-F>>31&1023;E=E+16+a+((A+c|0)*20|0)+(N(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+16+C+((B+A|0)*20|0)+(N(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;g=g+1|0;f=f+2|0;d=d+2|0}return}function vG(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=N(j,g)|0;s=b+p|0;t=s;s=s+4|0;l=N(j,h)|0;o=e+l|0;r=o;o=o+4|0;k=N(j,f)|0;q=a+k|0;m=q;n=c[m>>2]|0;m=c[m+4>>2]|0;o=vF(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0;o=vF(n,m,o,y)|0;c[q>>2]=o;c[q+4>>2]=y;p=b+(p+8)|0;q=p;p=p+4|0;l=e+(l+8)|0;o=l;l=l+4|0;k=a+(k+8)|0;m=k;n=c[m>>2]|0;m=c[m+4>>2]|0;l=vF(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=vF(n,m,l,y)|0;c[k>>2]=l;c[k+4>>2]=y;j=j+1|0}return}function wG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=N((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=N((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;m=N((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<4096?m:0-m>>31&4095;m=N((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<4096?m:0-m>>31&4095;m=N((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<4096?m:0-m>>31&4095;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<4096?m:0-m>>31&4095;a=N((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function xG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function yG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=d>>1;u=f>>1;v=N(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;J=e[d+(w<<1)>>1]|0;I=e[d>>1]|0;H=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;K=(e[d+(v<<1)>>1]|0)+16+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>5;b[f>>1]=K>>>0<4096?K:0-K>>31&4095;J=J+16+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>5;b[f+(z<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;I=I+16+D+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>5;b[f+(o<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;H=H+16+c+((E+F|0)*20|0)+(N(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=H>>>0<4096?H:0-H>>31&4095;G=G+16+A+((D+E|0)*20|0)+(N(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;F=F+16+B+((c+D|0)*20|0)+(N(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;E=E+16+a+((A+c|0)*20|0)+(N(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<4096?E:0-E>>31&4095;c=D+16+C+((B+A|0)*20|0)+(N(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;g=g+1|0;f=f+2|0;d=d+2|0}return}function zG(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=N(j,g)|0;s=b+p|0;t=s;s=s+4|0;l=N(j,h)|0;o=e+l|0;r=o;o=o+4|0;k=N(j,f)|0;q=a+k|0;m=q;n=c[m>>2]|0;m=c[m+4>>2]|0;o=vF(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0;o=vF(n,m,o,y)|0;c[q>>2]=o;c[q+4>>2]=y;p=b+(p+8)|0;q=p;p=p+4|0;l=e+(l+8)|0;o=l;l=l+4|0;k=a+(k+8)|0;m=k;n=c[m>>2]|0;m=c[m+4>>2]|0;l=vF(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=vF(n,m,l,y)|0;c[k>>2]=l;c[k+4>>2]=y;j=j+1|0}return}function AG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=N((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=N((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;m=N((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<16384?m:0-m>>31&16383;m=N((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<16384?m:0-m>>31&16383;m=N((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<16384?m:0-m>>31&16383;m=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<16384?m:0-m>>31&16383;a=N((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function BG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function CG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=d>>1;u=f>>1;v=N(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;J=e[d+(w<<1)>>1]|0;I=e[d>>1]|0;H=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;K=(e[d+(v<<1)>>1]|0)+16+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>5;b[f>>1]=K>>>0<16384?K:0-K>>31&16383;J=J+16+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>5;b[f+(z<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;I=I+16+D+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>5;b[f+(o<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;H=H+16+c+((E+F|0)*20|0)+(N(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=H>>>0<16384?H:0-H>>31&16383;G=G+16+A+((D+E|0)*20|0)+(N(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;F=F+16+B+((c+D|0)*20|0)+(N(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;E=E+16+a+((A+c|0)*20|0)+(N(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<16384?E:0-E>>31&16383;c=D+16+C+((B+A|0)*20|0)+(N(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;g=g+1|0;f=f+2|0;d=d+2|0}return}function DG(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=N(j,g)|0;s=b+p|0;t=s;s=s+4|0;l=N(j,h)|0;o=e+l|0;r=o;o=o+4|0;k=N(j,f)|0;q=a+k|0;m=q;n=c[m>>2]|0;m=c[m+4>>2]|0;o=vF(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0;o=vF(n,m,o,y)|0;c[q>>2]=o;c[q+4>>2]=y;p=b+(p+8)|0;q=p;p=p+4|0;l=e+(l+8)|0;o=l;l=l+4|0;k=a+(k+8)|0;m=k;n=c[m>>2]|0;m=c[m+4>>2]|0;l=vF(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=vF(n,m,l,y)|0;c[k>>2]=l;c[k+4>>2]=y;j=j+1|0}return}function EG(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=N((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=N((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=N((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[h>>1]|0)+u+(e[y>>1]|0);u=N((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=N((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=N((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=N((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=N((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=N(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((N(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;J=b[h+(f<<1)>>1]|0;I=b[h>>1]|0;H=b[h+(g<<1)>>1]|0;G=b[h+(l<<1)>>1]|0;F=b[h+(m<<1)>>1]|0;E=b[h+(n<<1)>>1]|0;D=b[h+(o<<1)>>1]|0;c=b[h+(p<<1)>>1]|0;a=b[h+(q<<1)>>1]|0;B=b[h+(r<<1)>>1]|0;A=b[h+(s<<1)>>1]|0;C=b[h+(t<<1)>>1]|0;K=(b[h+(k<<1)>>1]|0)+512+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>10;b[j>>1]=K>>>0<512?K:0-K>>31&511;J=J+512+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>10;b[j+(d<<1)>>1]=J>>>0<512?J:0-J>>31&511;I=I+512+D+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>10;b[j+(u<<1)>>1]=I>>>0<512?I:0-I>>31&511;H=H+512+c+((E+F|0)*20|0)+(N(D+G|0,-5)|0)>>10;b[j+(v<<1)>>1]=H>>>0<512?H:0-H>>31&511;G=G+512+a+((D+E|0)*20|0)+(N(c+F|0,-5)|0)>>10;b[j+(w<<1)>>1]=G>>>0<512?G:0-G>>31&511;F=F+512+B+((c+D|0)*20|0)+(N(a+E|0,-5)|0)>>10;b[j+(x<<1)>>1]=F>>>0<512?F:0-F>>31&511;E=E+512+A+((a+c|0)*20|0)+(N(B+D|0,-5)|0)>>10;b[j+(y<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+512+C+((B+a|0)*20|0)+(N(A+c|0,-5)|0)>>10;b[j+(z<<1)>>1]=c>>>0<512?c:0-c>>31&511;j=j+2|0;h=h+2|0;i=i+1|0}return}function FG(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=N((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=N((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=N((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=N((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=N((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=N((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=N((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=N((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=N(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((N(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;K=b[f+(l<<1)>>1]|0;J=b[f>>1]|0;I=b[f+(h<<1)>>1]|0;H=b[f+(m<<1)>>1]|0;G=b[f+(n<<1)>>1]|0;F=b[f+(o<<1)>>1]|0;E=b[f+(p<<1)>>1]|0;B=b[f+(q<<1)>>1]|0;c=b[f+(r<<1)>>1]|0;C=b[f+(s<<1)>>1]|0;e=b[f+(t<<1)>>1]|0;D=b[f+(u<<1)>>1]|0;L=(b[f+(i<<1)>>1]|0)+512+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>10;a[k>>0]=L>>>0>255?(L^-2147483648)>>31:L;K=K+512+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>10;a[k+g>>0]=K>>>0>255?(K^-2147483648)>>31:K;J=J+512+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>10;a[k+v>>0]=J>>>0>255?(J^-2147483648)>>31:J;I=I+512+B+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>10;a[k+w>>0]=I>>>0>255?(I^-2147483648)>>31:I;H=H+512+c+((E+F|0)*20|0)+(N(B+G|0,-5)|0)>>10;a[k+x>>0]=H>>>0>255?(H^-2147483648)>>31:H;G=G+512+C+((B+E|0)*20|0)+(N(c+F|0,-5)|0)>>10;a[k+y>>0]=G>>>0>255?(G^-2147483648)>>31:G;F=F+512+e+((c+B|0)*20|0)+(N(C+E|0,-5)|0)>>10;a[k+z>>0]=F>>>0>255?(F^-2147483648)>>31:F;B=E+512+D+((C+c|0)*20|0)+(N(e+B|0,-5)|0)>>10;a[k+A>>0]=B>>>0>255?(B^-2147483648)>>31:B;k=k+1|0;f=f+2|0;j=j+1|0}return}function GG(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=N((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+55306+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=N((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=N((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[h>>1]|0)+u+(e[y>>1]|0);u=N((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=N((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=N((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=N((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=N((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=N(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((N(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;Q=b[h+(f<<1)>>1]|0;O=b[h>>1]|0;P=O+10230|0;L=b[h+(g<<1)>>1]|0;M=L+10230|0;J=b[h+(l<<1)>>1]|0;K=J+10230|0;H=b[h+(m<<1)>>1]|0;I=H+10230|0;F=b[h+(n<<1)>>1]|0;G=F+10230|0;D=b[h+(o<<1)>>1]|0;E=D+10230|0;c=(b[h+(p<<1)>>1]|0)+10230|0;a=(b[h+(q<<1)>>1]|0)+10230|0;B=(b[h+(r<<1)>>1]|0)+10230|0;A=(b[h+(s<<1)>>1]|0)+10230|0;C=b[h+(t<<1)>>1]|0;R=(b[h+(k<<1)>>1]|0)+10742+I+((M+P|0)*20|0)+(N(K+(Q+10230)|0,-5)|0)>>10;b[j>>1]=R>>>0<1024?R:0-R>>31&1023;P=Q+10742+G+((K+M|0)*20|0)+(N(I+P|0,-5)|0)>>10;b[j+(d<<1)>>1]=P>>>0<1024?P:0-P>>31&1023;M=O+10742+E+((I+K|0)*20|0)+(N(G+M|0,-5)|0)>>10;b[j+(u<<1)>>1]=M>>>0<1024?M:0-M>>31&1023;K=L+10742+c+((G+I|0)*20|0)+(N(E+K|0,-5)|0)>>10;b[j+(v<<1)>>1]=K>>>0<1024?K:0-K>>31&1023;I=J+10742+a+((E+G|0)*20|0)+(N(c+I|0,-5)|0)>>10;b[j+(w<<1)>>1]=I>>>0<1024?I:0-I>>31&1023;G=H+10742+B+((c+E|0)*20|0)+(N(a+G|0,-5)|0)>>10;b[j+(x<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;E=F+10742+A+((a+c|0)*20|0)+(N(B+E|0,-5)|0)>>10;b[j+(y<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+20972+C+((B+a|0)*20|0)+(N(A+c|0,-5)|0)>>10;b[j+(z<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;j=j+2|0;h=h+2|0;i=i+1|0}return}function HG(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=N(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=N(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=N(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=N(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=N(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=N(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=N(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=N(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=N(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((N(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;K=c[i+(g<<2)>>2]|0;J=c[i>>2]|0;I=c[i+(h<<2)>>2]|0;H=c[i+(m<<2)>>2]|0;G=c[i+(n<<2)>>2]|0;F=c[i+(o<<2)>>2]|0;E=c[i+(p<<2)>>2]|0;d=c[i+(q<<2)>>2]|0;a=c[i+(r<<2)>>2]|0;C=c[i+(s<<2)>>2]|0;B=c[i+(t<<2)>>2]|0;D=c[i+(u<<2)>>2]|0;L=(c[i+(l<<2)>>2]|0)+512+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>10;b[k>>1]=L>>>0<4096?L:0-L>>31&4095;K=K+512+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>10;b[k+(f<<1)>>1]=K>>>0<4096?K:0-K>>31&4095;J=J+512+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>10;b[k+(v<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;I=I+512+d+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>10;b[k+(w<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;H=H+512+a+((E+F|0)*20|0)+(N(d+G|0,-5)|0)>>10;b[k+(x<<1)>>1]=H>>>0<4096?H:0-H>>31&4095;G=G+512+C+((d+E|0)*20|0)+(N(a+F|0,-5)|0)>>10;b[k+(y<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;F=F+512+B+((a+d|0)*20|0)+(N(C+E|0,-5)|0)>>10;b[k+(z<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;d=E+512+D+((C+a|0)*20|0)+(N(B+d|0,-5)|0)>>10;b[k+(A<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;k=k+2|0;i=i+4|0;j=j+1|0}return}function IG(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=N(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=N(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=N(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=N(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=N(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=N(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=N(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=N(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=N(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((N(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;K=c[i+(g<<2)>>2]|0;J=c[i>>2]|0;I=c[i+(h<<2)>>2]|0;H=c[i+(m<<2)>>2]|0;G=c[i+(n<<2)>>2]|0;F=c[i+(o<<2)>>2]|0;E=c[i+(p<<2)>>2]|0;d=c[i+(q<<2)>>2]|0;a=c[i+(r<<2)>>2]|0;C=c[i+(s<<2)>>2]|0;B=c[i+(t<<2)>>2]|0;D=c[i+(u<<2)>>2]|0;L=(c[i+(l<<2)>>2]|0)+512+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>10;b[k>>1]=L>>>0<16384?L:0-L>>31&16383;K=K+512+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>10;b[k+(f<<1)>>1]=K>>>0<16384?K:0-K>>31&16383;J=J+512+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>10;b[k+(v<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;I=I+512+d+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>10;b[k+(w<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;H=H+512+a+((E+F|0)*20|0)+(N(d+G|0,-5)|0)>>10;b[k+(x<<1)>>1]=H>>>0<16384?H:0-H>>31&16383;G=G+512+C+((d+E|0)*20|0)+(N(a+F|0,-5)|0)>>10;b[k+(y<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;F=F+512+B+((a+d|0)*20|0)+(N(C+E|0,-5)|0)>>10;b[k+(z<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;d=E+512+D+((C+a|0)*20|0)+(N(B+d|0,-5)|0)>>10;b[k+(A<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;k=k+2|0;i=i+4|0;j=j+1|0}return}function JG(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=N((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=N((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=N((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[h>>1]|0)+u+(e[y>>1]|0);u=N((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=N((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=N((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=N((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=N((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=N(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((N(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;K=b[h+(f<<1)>>1]|0;J=b[h>>1]|0;I=b[h+(g<<1)>>1]|0;H=b[h+(l<<1)>>1]|0;G=b[h+(m<<1)>>1]|0;F=b[h+(n<<1)>>1]|0;E=b[h+(o<<1)>>1]|0;A=b[h+(p<<1)>>1]|0;B=b[h+(q<<1)>>1]|0;C=b[h+(r<<1)>>1]|0;a=b[h+(s<<1)>>1]|0;D=b[h+(t<<1)>>1]|0;c=(b[h+(k<<1)>>1]|0)+512+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>10;b[j>>1]=((e[j>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=j+(d<<1)|0;K=K+512+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>10;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(u<<1)|0;J=J+512+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>10;b[c>>1]=((J>>>0<512?J:0-J>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(v<<1)|0;I=I+512+A+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>10;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(w<<1)|0;H=H+512+B+((E+F|0)*20|0)+(N(A+G|0,-5)|0)>>10;b[c>>1]=((H>>>0<512?H:0-H>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(x<<1)|0;G=G+512+C+((A+E|0)*20|0)+(N(B+F|0,-5)|0)>>10;b[c>>1]=((G>>>0<512?G:0-G>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(y<<1)|0;F=F+512+a+((B+A|0)*20|0)+(N(C+E|0,-5)|0)>>10;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(z<<1)|0;A=E+512+D+((C+B|0)*20|0)+(N(a+A|0,-5)|0)>>10;b[c>>1]=((A>>>0<512?A:0-A>>31&511)+1+(e[c>>1]|0)|0)>>>1;j=j+2|0;h=h+2|0;i=i+1|0}return}function KG(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=N((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=N((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=N((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=N((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=N((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=N((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=N((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=N((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=N(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((N(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;L=b[f+(l<<1)>>1]|0;K=b[f>>1]|0;J=b[f+(h<<1)>>1]|0;I=b[f+(m<<1)>>1]|0;H=b[f+(n<<1)>>1]|0;G=b[f+(o<<1)>>1]|0;F=b[f+(p<<1)>>1]|0;e=b[f+(q<<1)>>1]|0;C=b[f+(r<<1)>>1]|0;D=b[f+(s<<1)>>1]|0;c=b[f+(t<<1)>>1]|0;E=b[f+(u<<1)>>1]|0;B=(b[f+(i<<1)>>1]|0)+512+H+((J+K|0)*20|0)+(N(I+L|0,-5)|0)>>10;a[k>>0]=((d[k>>0]|0)+1+((B>>>0>255?(B^-2147483648)>>31:B)&255)|0)>>>1;B=k+g|0;L=L+512+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>10;a[B>>0]=((d[B>>0]|0)+1+((L>>>0>255?(L^-2147483648)>>31:L)&255)|0)>>>1;B=k+v|0;K=K+512+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>10;a[B>>0]=(((K>>>0>255?(K^-2147483648)>>31:K)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+w|0;J=J+512+e+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>10;a[B>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+x|0;I=I+512+C+((F+G|0)*20|0)+(N(e+H|0,-5)|0)>>10;a[B>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+y|0;H=H+512+D+((e+F|0)*20|0)+(N(C+G|0,-5)|0)>>10;a[B>>0]=(((H>>>0>255?(H^-2147483648)>>31:H)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+z|0;G=G+512+c+((C+e|0)*20|0)+(N(D+F|0,-5)|0)>>10;a[B>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+A|0;e=F+512+E+((D+C|0)*20|0)+(N(c+e|0,-5)|0)>>10;a[B>>0]=(((e>>>0>255?(e^-2147483648)>>31:e)&255)+1+(d[B>>0]|0)|0)>>>1;k=k+1|0;f=f+2|0;j=j+1|0}return}function LG(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=N((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+55306+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=N((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=N((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[h>>1]|0)+u+(e[y>>1]|0);u=N((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=N((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=N((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=N((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=N((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=N(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((N(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;R=b[h+(f<<1)>>1]|0;P=b[h>>1]|0;Q=P+10230|0;M=b[h+(g<<1)>>1]|0;O=M+10230|0;K=b[h+(l<<1)>>1]|0;L=K+10230|0;I=b[h+(m<<1)>>1]|0;J=I+10230|0;G=b[h+(n<<1)>>1]|0;H=G+10230|0;E=b[h+(o<<1)>>1]|0;F=E+10230|0;A=(b[h+(p<<1)>>1]|0)+10230|0;B=(b[h+(q<<1)>>1]|0)+10230|0;C=(b[h+(r<<1)>>1]|0)+10230|0;a=(b[h+(s<<1)>>1]|0)+10230|0;D=b[h+(t<<1)>>1]|0;c=(b[h+(k<<1)>>1]|0)+10742+J+((O+Q|0)*20|0)+(N(L+(R+10230)|0,-5)|0)>>10;b[j>>1]=((e[j>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=j+(d<<1)|0;Q=R+10742+H+((L+O|0)*20|0)+(N(J+Q|0,-5)|0)>>10;b[c>>1]=((e[c>>1]|0)+1+(Q>>>0<1024?Q:0-Q>>31&1023)|0)>>>1;c=j+(u<<1)|0;O=P+10742+F+((J+L|0)*20|0)+(N(H+O|0,-5)|0)>>10;b[c>>1]=((O>>>0<1024?O:0-O>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(v<<1)|0;L=M+10742+A+((H+J|0)*20|0)+(N(F+L|0,-5)|0)>>10;b[c>>1]=((L>>>0<1024?L:0-L>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(w<<1)|0;J=K+10742+B+((F+H|0)*20|0)+(N(A+J|0,-5)|0)>>10;b[c>>1]=((J>>>0<1024?J:0-J>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(x<<1)|0;H=I+10742+C+((A+F|0)*20|0)+(N(B+H|0,-5)|0)>>10;b[c>>1]=((H>>>0<1024?H:0-H>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(y<<1)|0;F=G+10742+a+((B+A|0)*20|0)+(N(C+F|0,-5)|0)>>10;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(z<<1)|0;A=E+20972+D+((C+B|0)*20|0)+(N(a+A|0,-5)|0)>>10;b[c>>1]=((A>>>0<1024?A:0-A>>31&1023)+1+(e[c>>1]|0)|0)>>>1;j=j+2|0;h=h+2|0;i=i+1|0}return}function MG(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=N(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=N(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=N(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=N(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=N(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=N(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=N(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=N(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=N(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((N(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;L=c[i+(g<<2)>>2]|0;K=c[i>>2]|0;J=c[i+(h<<2)>>2]|0;I=c[i+(m<<2)>>2]|0;H=c[i+(n<<2)>>2]|0;G=c[i+(o<<2)>>2]|0;F=c[i+(p<<2)>>2]|0;B=c[i+(q<<2)>>2]|0;C=c[i+(r<<2)>>2]|0;D=c[i+(s<<2)>>2]|0;a=c[i+(t<<2)>>2]|0;E=c[i+(u<<2)>>2]|0;d=(c[i+(l<<2)>>2]|0)+512+H+((J+K|0)*20|0)+(N(I+L|0,-5)|0)>>10;b[k>>1]=((d>>>0<4096?d:0-d>>31&4095)+1+(e[k>>1]|0)|0)>>>1;d=k+(f<<1)|0;L=L+512+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>10;b[d>>1]=((L>>>0<4096?L:0-L>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(v<<1)|0;K=K+512+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>10;b[d>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(w<<1)|0;J=J+512+B+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>10;b[d>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(x<<1)|0;I=I+512+C+((F+G|0)*20|0)+(N(B+H|0,-5)|0)>>10;b[d>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(y<<1)|0;H=H+512+D+((B+F|0)*20|0)+(N(C+G|0,-5)|0)>>10;b[d>>1]=((H>>>0<4096?H:0-H>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(z<<1)|0;G=G+512+a+((C+B|0)*20|0)+(N(D+F|0,-5)|0)>>10;b[d>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(A<<1)|0;B=F+512+E+((D+C|0)*20|0)+(N(a+B|0,-5)|0)>>10;b[d>>1]=((B>>>0<4096?B:0-B>>31&4095)+1+(e[d>>1]|0)|0)>>>1;k=k+2|0;i=i+4|0;j=j+1|0}return}function NG(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=N(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=N(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=N(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=N(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=N(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=N(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=N(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=N(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=N(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((N(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;L=c[i+(g<<2)>>2]|0;K=c[i>>2]|0;J=c[i+(h<<2)>>2]|0;I=c[i+(m<<2)>>2]|0;H=c[i+(n<<2)>>2]|0;G=c[i+(o<<2)>>2]|0;F=c[i+(p<<2)>>2]|0;B=c[i+(q<<2)>>2]|0;C=c[i+(r<<2)>>2]|0;D=c[i+(s<<2)>>2]|0;a=c[i+(t<<2)>>2]|0;E=c[i+(u<<2)>>2]|0;d=(c[i+(l<<2)>>2]|0)+512+H+((J+K|0)*20|0)+(N(I+L|0,-5)|0)>>10;b[k>>1]=((d>>>0<16384?d:0-d>>31&16383)+1+(e[k>>1]|0)|0)>>>1;d=k+(f<<1)|0;L=L+512+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>10;b[d>>1]=((L>>>0<16384?L:0-L>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(v<<1)|0;K=K+512+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>10;b[d>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(w<<1)|0;J=J+512+B+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>10;b[d>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(x<<1)|0;I=I+512+C+((F+G|0)*20|0)+(N(B+H|0,-5)|0)>>10;b[d>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(y<<1)|0;H=H+512+D+((B+F|0)*20|0)+(N(C+G|0,-5)|0)>>10;b[d>>1]=((H>>>0<16384?H:0-H>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(z<<1)|0;G=G+512+a+((C+B|0)*20|0)+(N(D+F|0,-5)|0)>>10;b[d>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(A<<1)|0;B=F+512+E+((D+C|0)*20|0)+(N(a+B|0,-5)|0)>>10;b[d>>1]=((B>>>0<16384?B:0-B>>31&16383)+1+(e[d>>1]|0)|0)>>>1;k=k+2|0;i=i+4|0;j=j+1|0}return}function OG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=d>>1;u=f>>1;v=N(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;H=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=f+(z<<1)|0;K=K+16+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;J=J+16+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<512?J:0-J>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;I=I+16+a+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>5;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;H=H+16+B+((E+F|0)*20|0)+(N(a+G|0,-5)|0)>>5;b[c>>1]=((H>>>0<512?H:0-H>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(N(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<512?G:0-G>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(N(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(N(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<512?a:0-a>>31&511)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function PG(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;s=N(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;K=d[c+t>>0]|0;J=d[c>>0]|0;I=d[c+f>>0]|0;H=d[c+u>>0]|0;G=d[c+v>>0]|0;F=d[c+w>>0]|0;E=d[c+x>>0]|0;z=d[c+h>>0]|0;B=d[c+i>>0]|0;C=d[c+j>>0]|0;A=d[c+k>>0]|0;D=d[c+l>>0]|0;y=(d[c+s>>0]|0)+16+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((y>>>0>255?(y^-2147483648)>>31:y)&255)|0)>>>1;y=b+e|0;K=K+16+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>5;a[y>>0]=((d[y>>0]|0)+1+((K>>>0>255?(K^-2147483648)>>31:K)&255)|0)>>>1;y=b+m|0;J=J+16+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>5;a[y>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+n|0;I=I+16+z+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>5;a[y>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+o|0;H=H+16+B+((E+F|0)*20|0)+(N(z+G|0,-5)|0)>>5;a[y>>0]=(((H>>>0>255?(H^-2147483648)>>31:H)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+p|0;G=G+16+C+((z+E|0)*20|0)+(N(B+F|0,-5)|0)>>5;a[y>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+q|0;F=F+16+A+((B+z|0)*20|0)+(N(C+E|0,-5)|0)>>5;a[y>>0]=(((F>>>0>255?(F^-2147483648)>>31:F)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+r|0;z=E+16+D+((C+B|0)*20|0)+(N(A+z|0,-5)|0)>>5;a[y>>0]=(((z>>>0>255?(z^-2147483648)>>31:z)&255)+1+(d[y>>0]|0)|0)>>>1;g=g+1|0;b=b+1|0;c=c+1|0}return}function QG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=d>>1;u=f>>1;v=N(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;H=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=f+(z<<1)|0;K=K+16+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;J=J+16+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<1024?J:0-J>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;I=I+16+a+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>5;b[c>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;H=H+16+B+((E+F|0)*20|0)+(N(a+G|0,-5)|0)>>5;b[c>>1]=((H>>>0<1024?H:0-H>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(N(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<1024?G:0-G>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(N(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(N(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<1024?a:0-a>>31&1023)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function RG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=d>>1;u=f>>1;v=N(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;H=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=f+(z<<1)|0;K=K+16+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;J=J+16+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;I=I+16+a+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>5;b[c>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;H=H+16+B+((E+F|0)*20|0)+(N(a+G|0,-5)|0)>>5;b[c>>1]=((H>>>0<4096?H:0-H>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(N(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(N(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<4096?F:0-F>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(N(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<4096?a:0-a>>31&4095)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function SG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=d>>1;u=f>>1;v=N(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;H=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((I+J|0)*20|0)+(N(H+K|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=f+(z<<1)|0;K=K+16+F+((H+I|0)*20|0)+(N(G+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;J=J+16+E+((G+H|0)*20|0)+(N(F+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;I=I+16+a+((F+G|0)*20|0)+(N(E+H|0,-5)|0)>>5;b[c>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;H=H+16+B+((E+F|0)*20|0)+(N(a+G|0,-5)|0)>>5;b[c>>1]=((H>>>0<16384?H:0-H>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(N(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(N(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<16384?F:0-F>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(N(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<16384?a:0-a>>31&16383)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function TG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=N((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=N((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;n=N((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+8|0;n=N((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+10|0;n=N((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+12|0;n=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+14|0;i=N((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function UG(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;while(1){if((g|0)==8)break;k=c+1|0;j=c+-1|0;l=c+2|0;h=N((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+3|0;h=(((d[k>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[m>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=N((d[m>>0]|0)+(d[c>>0]|0)|0,-5)|0;o=c+4|0;n=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+n+(d[o>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=N((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;j=c+5|0;n=(((d[m>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[j>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;n=N((d[j>>0]|0)+(d[l>>0]|0)|0,-5)|0;i=c+6|0;n=(((d[o>>0]|0)+(d[m>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+n+(d[i>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+4|0;n=N((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+7|0;n=(((d[j>>0]|0)+(d[o>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+n+(d[k>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+5|0;n=N((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;l=c+8|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+6|0;n=N((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+9|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[o>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+7|0;i=N((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+10>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function VG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=N((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=N((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;n=N((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+8|0;n=N((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+10|0;n=N((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+12|0;n=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+14|0;i=N((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function WG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=N((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=N((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;n=N((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+8|0;n=N((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+10|0;n=N((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+12|0;n=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+14|0;i=N((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function XG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=N((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=N((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;n=N((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+8|0;n=N((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+10|0;n=N((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+12|0;n=N((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+14|0;i=N((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function YG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;i=a;k=b;h=k;k=k+4|0;k=vF(c[i>>2]|0,c[i+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;h=a;c[h>>2]=k;c[h+4>>2]=y;h=a+8|0;k=h;i=b+8|0;j=i;i=i+4|0;i=vF(c[k>>2]|0,c[k+4>>2]|0,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;c[h>>2]=i;c[h+4>>2]=y;g=g+1|0;a=a+e|0;b=b+e|0}return}function ZG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=AF(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;h=a+4|0;i=b+4|0;c[h>>2]=AF(c[h>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;g=g+1|0;a=a+e|0;b=b+e|0}return}function _G(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;i=a;k=b;h=k;k=k+4|0;k=vF(c[i>>2]|0,c[i+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;h=a;c[h>>2]=k;c[h+4>>2]=y;h=a+8|0;k=h;i=b+8|0;j=i;i=i+4|0;i=vF(c[k>>2]|0,c[k+4>>2]|0,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;c[h>>2]=i;c[h+4>>2]=y;g=g+1|0;a=a+e|0;b=b+e|0}return}function $G(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;i=a;k=b;h=k;k=k+4|0;k=vF(c[i>>2]|0,c[i+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;h=a;c[h>>2]=k;c[h+4>>2]=y;h=a+8|0;k=h;i=b+8|0;j=i;i=i+4|0;i=vF(c[k>>2]|0,c[k+4>>2]|0,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;c[h>>2]=i;c[h+4>>2]=y;g=g+1|0;a=a+e|0;b=b+e|0}return}function aH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;i=a;k=b;h=k;k=k+4|0;k=vF(c[i>>2]|0,c[i+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;h=a;c[h>>2]=k;c[h+4>>2]=y;h=a+8|0;k=h;i=b+8|0;j=i;i=i+4|0;i=vF(c[k>>2]|0,c[k+4>>2]|0,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;c[h>>2]=i;c[h+4>>2]=y;g=g+1|0;a=a+e|0;b=b+e|0}return}function bH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;kG(a,b,c,d);kG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;kG(a,b,c,d);kG(a+16|0,b+16|0,c,d);return}function cH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function dH(a,b,c){a=a|0;b=b|0;c=c|0;mG(a,b,c,32);mG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;mG(a,b+256|0,c,32);mG(a+16|0,b+272|0,c,32);return}function eH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;nG(a,b,c,d,e,32,16);nG(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function fH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;oG(a,b,c,d);oG(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;oG(a,b,c,d);oG(a+8|0,b+8|0,c,d);return}function gH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==21)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;g=c+8|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=b+8|0;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;h=c+12|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+12|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function hH(a,b,c){a=a|0;b=b|0;c=c|0;qG(a,b,c,16);qG(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;qG(a,b+128|0,c,16);qG(a+8|0,b+136|0,c,16);return}function iH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;rG(a,b,c,d,e,16,16);rG(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function jH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;sG(a,b,c,d);sG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;sG(a,b,c,d);sG(a+16|0,b+16|0,c,d);return}function kH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function lH(a,b,c){a=a|0;b=b|0;c=c|0;uG(a,b,c,32);uG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;uG(a,b+256|0,c,32);uG(a+16|0,b+272|0,c,32);return}function mH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;vG(a,b,c,d,e,32,16);vG(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function nH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wG(a,b,c,d);wG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;wG(a,b,c,d);wG(a+16|0,b+16|0,c,d);return}function oH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function pH(a,b,c){a=a|0;b=b|0;c=c|0;yG(a,b,c,32);yG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;yG(a,b+256|0,c,32);yG(a+16|0,b+272|0,c,32);return}function qH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;zG(a,b,c,d,e,32,16);zG(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function rH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;AG(a,b,c,d);AG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;AG(a,b,c,d);AG(a+16|0,b+16|0,c,d);return}function sH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function tH(a,b,c){a=a|0;b=b|0;c=c|0;CG(a,b,c,32);CG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;CG(a,b+256|0,c,32);CG(a+16|0,b+272|0,c,32);return}function uH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;DG(a,b,c,d,e,32,16);DG(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function vH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;EG(a,b,c,d,32,e);f=b+16|0;EG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;EG(a,b,c,d,32,e);EG(a+16|0,f,c+16|0,d,32,e);return}function wH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;FG(a,b,c,d,16,e);f=b+16|0;FG(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;FG(a,b,c,d,16,e);FG(a+8|0,f,c+8|0,d,16,e);return}function xH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;GG(a,b,c,d,32,e);f=b+16|0;GG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;GG(a,b,c,d,32,e);GG(a+16|0,f,c+16|0,d,32,e);return}function yH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;HG(a,b,c,d,32,e);f=b+32|0;HG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;HG(a,b,c,d,32,e);HG(a+16|0,f,c+16|0,d,32,e);return}function zH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;IG(a,b,c,d,32,e);f=b+32|0;IG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;IG(a,b,c,d,32,e);IG(a+16|0,f,c+16|0,d,32,e);return}function AH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;JG(a,b,c,d,32,e);f=b+16|0;JG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;JG(a,b,c,d,32,e);JG(a+16|0,f,c+16|0,d,32,e);return}function BH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;KG(a,b,c,d,16,e);f=b+16|0;KG(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;KG(a,b,c,d,16,e);KG(a+8|0,f,c+8|0,d,16,e);return}function CH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;LG(a,b,c,d,32,e);f=b+16|0;LG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;LG(a,b,c,d,32,e);LG(a+16|0,f,c+16|0,d,32,e);return}function DH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;MG(a,b,c,d,32,e);f=b+32|0;MG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;MG(a,b,c,d,32,e);MG(a+16|0,f,c+16|0,d,32,e);return}function EH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;NG(a,b,c,d,32,e);f=b+32|0;NG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;NG(a,b,c,d,32,e);NG(a+16|0,f,c+16|0,d,32,e);return}function FH(a,b,c){a=a|0;b=b|0;c=c|0;OG(a,b,c,32);OG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;OG(a,b+256|0,c,32);OG(a+16|0,b+272|0,c,32);return}function GH(a,b,c){a=a|0;b=b|0;c=c|0;PG(a,b,c,16);PG(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;PG(a,b+128|0,c,16);PG(a+8|0,b+136|0,c,16);return}function HH(a,b,c){a=a|0;b=b|0;c=c|0;QG(a,b,c,32);QG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;QG(a,b+256|0,c,32);QG(a+16|0,b+272|0,c,32);return}function IH(a,b,c){a=a|0;b=b|0;c=c|0;RG(a,b,c,32);RG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;RG(a,b+256|0,c,32);RG(a+16|0,b+272|0,c,32);return}function JH(a,b,c){a=a|0;b=b|0;c=c|0;SG(a,b,c,32);SG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;SG(a,b+256|0,c,32);SG(a+16|0,b+272|0,c,32);return}function KH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;TG(a,b,c,d);TG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;TG(a,b,c,d);TG(a+16|0,b+16|0,c,d);return}function LH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;UG(a,b,c,d);UG(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;UG(a,b,c,d);UG(a+8|0,b+8|0,c,d);return}function MH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;VG(a,b,c,d);VG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;VG(a,b,c,d);VG(a+16|0,b+16|0,c,d);return}function NH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;WG(a,b,c,d);WG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;WG(a,b,c,d);WG(a+16|0,b+16|0,c,d);return}function OH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;XG(a,b,c,d);XG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;XG(a,b,c,d);XG(a+16|0,b+16|0,c,d);return}function PH(a,b,c){a=a|0;b=b|0;c=c|0;YG(a,b,c,16);YG(a+16|0,b+16|0,c,16);return}function QH(a,b,c){a=a|0;b=b|0;c=c|0;ZG(a,b,c,16);ZG(a+8|0,b+8|0,c,16);return}function RH(a,b,c){a=a|0;b=b|0;c=c|0;_G(a,b,c,16);_G(a+16|0,b+16|0,c,16);return}function SH(a,b,c){a=a|0;b=b|0;c=c|0;$G(a,b,c,16);$G(a+16|0,b+16|0,c,16);return}function TH(a,b,c){a=a|0;b=b|0;c=c|0;aH(a,b,c,16);aH(a+16|0,b+16|0,c,16);return}function UH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<512?l:0-l>>31&511;a=N((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function VH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function WH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(N(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=l+16+k+((j+i|0)*20|0)+(N(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function XH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(N(h,g)|0)|0;i=e+(h<<2)|0;i=vF(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;c[a+(N(h,f)|0)>>2]=i;h=h+1|0}return}function YH(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=0;while(1){if((g|0)==2)break;j=c+1|0;i=c+-1|0;k=c+2|0;l=N((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;h=c+3|0;l=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+l+(d[h>>0]|0)>>5;a[b>>0]=l>>>0>255?(l^-2147483648)>>31:l;h=N((d[h>>0]|0)+(d[c>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+4>>0]|0)>>5;a[b+1>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function ZH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8;a[b>>0]=g;a[b+1>>0]=g>>8;f=f+1|0;c=c+e|0;b=b+2|0}return}function _H(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=0;while(1){if((f|0)==2)break;l=d[c+-2>>0]|0;g=d[c>>0]|0;i=d[c+2>>0]|0;j=d[c+4>>0]|0;h=d[c+6>>0]|0;k=d[c+8>>0]|0;m=(d[c+-4>>0]|0)+16+h+((i+g|0)*20|0)+(N(j+l|0,-5)|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;g=l+16+k+((j+i|0)*20|0)+(N(h+g|0,-5)|0)>>5;a[b+e>>0]=g>>>0>255?(g^-2147483648)>>31:g;f=f+1|0;b=b+1|0;c=c+1|0}return}function $H(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=c+(N(h,g)|0)|0;i=e+(h<<1)|0;b[a+(N(h,f)|0)>>1]=AF((d[j>>0]|d[j+1>>0]<<8)&65535,(d[i>>0]|d[i+1>>0]<<8)&65535)|0;h=h+1|0}return}function aI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<1024?l:0-l>>31&1023;a=N((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function bI(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function cI(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(N(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=l+16+k+((j+i|0)*20|0)+(N(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function dI(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(N(h,g)|0)|0;i=e+(h<<2)|0;i=vF(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;c[a+(N(h,f)|0)>>2]=i;h=h+1|0}return}function eI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<4096?l:0-l>>31&4095;a=N((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function fI(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function gI(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(N(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=l+16+k+((j+i|0)*20|0)+(N(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function hI(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(N(h,g)|0)|0;i=e+(h<<2)|0;i=vF(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;c[a+(N(h,f)|0)>>2]=i;h=h+1|0}return}function iI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=N((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<16384?l:0-l>>31&16383;a=N((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function jI(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function kI(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(N(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=l+16+k+((j+i|0)*20|0)+(N(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function lI(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(N(h,g)|0)|0;i=e+(h<<2)|0;i=vF(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;c[a+(N(h,f)|0)>>2]=i;h=h+1|0}return}function mI(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==7)break;l=g+2|0;k=g+-2|0;m=g+4|0;n=N((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;d=g+6|0;b[h>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+n+(e[d>>1]|0);d=N((e[d>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+8>>1]|0);h=h+8|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;g=c+16|0;h=0;while(1){if((h|0)==2)break;f=b[g+-8>>1]|0;n=b[g>>1]|0;l=b[g+8>>1]|0;k=b[g+16>>1]|0;m=b[g+24>>1]|0;c=b[g+32>>1]|0;j=(b[g+-16>>1]|0)+512+m+((l+n|0)*20|0)+(N(k+f|0,-5)|0)>>10;b[a>>1]=j>>>0<512?j:0-j>>31&511;n=f+512+c+((k+l|0)*20|0)+(N(m+n|0,-5)|0)>>10;b[a+(i<<1)>>1]=n>>>0<512?n:0-n>>31&511;a=a+2|0;g=g+2|0;h=h+1|0}return}function nI(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==7)break;m=f+1|0;l=f+-1|0;n=f+2|0;o=N((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;k=f+3|0;b[i>>1]=(((d[m>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+o+(d[k>>0]|0);k=N((d[k>>0]|0)+(d[f>>0]|0)|0,-5)|0;b[i+2>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+4>>0]|0);i=i+4|0;j=j+1|0;f=f+h|0}f=e+8|0;i=0;while(1){if((i|0)==2)break;e=b[f+-4>>1]|0;o=b[f>>1]|0;m=b[f+4>>1]|0;l=b[f+8>>1]|0;n=b[f+12>>1]|0;k=b[f+16>>1]|0;h=(b[f+-8>>1]|0)+512+n+((m+o|0)*20|0)+(N(l+e|0,-5)|0)>>10;a[c>>0]=h>>>0>255?(h^-2147483648)>>31:h;o=e+512+k+((l+m|0)*20|0)+(N(n+o|0,-5)|0)>>10;a[c+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;c=c+1|0;f=f+2|0;i=i+1|0}return}function oI(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==7)break;l=g+2|0;k=g+-2|0;m=g+4|0;n=N((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;d=g+6|0;b[h>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+n+(e[d>>1]|0);d=N((e[d>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+8>>1]|0);h=h+8|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;g=c+16|0;h=0;while(1){if((h|0)==2)break;f=b[g+-8>>1]|0;n=(b[g>>1]|0)+10230|0;l=(b[g+8>>1]|0)+10230|0;k=(b[g+16>>1]|0)+10230|0;m=(b[g+24>>1]|0)+10230|0;c=b[g+32>>1]|0;j=(b[g+-16>>1]|0)+10742+m+((l+n|0)*20|0)+(N(k+(f+10230)|0,-5)|0)>>10;b[a>>1]=j>>>0<1024?j:0-j>>31&1023;n=f+20972+c+((k+l|0)*20|0)+(N(m+n|0,-5)|0)>>10;b[a+(i<<1)>>1]=n>>>0<1024?n:0-n>>31&1023;a=a+2|0;g=g+2|0;h=h+1|0}return}function pI(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==7)break;f=e[h>>1]|0;m=e[h+2>>1]|0;l=e[h+-2>>1]|0;n=e[h+4>>1]|0;p=N(n+l|0,-5)|0;o=e[h+6>>1]|0;c[i>>2]=((m+f|0)*20|0)+(e[h+-4>>1]|0)+p+o;f=N(o+f|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+f+(e[h+8>>1]|0);i=i+16|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;h=d+32|0;i=0;while(1){if((i|0)==2)break;d=c[h+-16>>2]|0;p=c[h>>2]|0;n=c[h+16>>2]|0;m=c[h+32>>2]|0;o=c[h+48>>2]|0;l=c[h+64>>2]|0;g=(c[h+-32>>2]|0)+512+o+((n+p|0)*20|0)+(N(m+d|0,-5)|0)>>10;b[a>>1]=g>>>0<4096?g:0-g>>31&4095;p=d+512+l+((m+n|0)*20|0)+(N(o+p|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;a=a+2|0;h=h+4|0;i=i+1|0}return}function qI(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==7)break;f=e[h>>1]|0;m=e[h+2>>1]|0;l=e[h+-2>>1]|0;n=e[h+4>>1]|0;p=N(n+l|0,-5)|0;o=e[h+6>>1]|0;c[i>>2]=((m+f|0)*20|0)+(e[h+-4>>1]|0)+p+o;f=N(o+f|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+f+(e[h+8>>1]|0);i=i+16|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;h=d+32|0;i=0;while(1){if((i|0)==2)break;d=c[h+-16>>2]|0;p=c[h>>2]|0;n=c[h+16>>2]|0;m=c[h+32>>2]|0;o=c[h+48>>2]|0;l=c[h+64>>2]|0;g=(c[h+-32>>2]|0)+512+o+((n+p|0)*20|0)+(N(m+d|0,-5)|0)>>10;b[a>>1]=g>>>0<16384?g:0-g>>31&16383;p=d+512+l+((m+n|0)*20|0)+(N(o+p|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;a=a+2|0;h=h+4|0;i=i+1|0}return}function rI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function sI(a,c,e){a=a|0;c=c|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;b[a>>1]=d[c>>0]|d[c+1>>0]<<8;f=f+1|0;c=c+e|0;a=a+e|0}return}function tI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function uI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function vI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function wI(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(N(h,g)|0)|0;l=k;k=k+4|0;j=e+(h<<3)|0;i=j;j=j+4|0;j=vF(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=a+(N(h,f)|0)|0;c[i>>2]=j;c[i+4>>2]=y;h=h+1|0}return}function xI(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==4)break;j=b+(N(h,g)|0)|0;i=e+(h<<2)|0;c[a+(N(h,f)|0)>>2]=AF(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=h+1|0}return}function yI(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(N(h,g)|0)|0;l=k;k=k+4|0;j=e+(h<<3)|0;i=j;j=j+4|0;j=vF(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=a+(N(h,f)|0)|0;c[i>>2]=j;c[i+4>>2]=y;h=h+1|0}return}function zI(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(N(h,g)|0)|0;l=k;k=k+4|0;j=e+(h<<3)|0;i=j;j=j+4|0;j=vF(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=a+(N(h,f)|0)|0;c[i>>2]=j;c[i+4>>2]=y;h=h+1|0}return}function AI(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(N(h,g)|0)|0;l=k;k=k+4|0;j=e+(h<<3)|0;i=j;j=j+4|0;j=vF(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=a+(N(h,f)|0)|0;c[i>>2]=j;c[i+4>>2]=y;h=h+1|0}return}function BI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function CI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function DI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function EI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function FI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function GI(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=N(j,g)|0;o=b+n|0;p=o;o=o+4|0;l=N(j,h)|0;m=e+l|0;k=m;m=m+4|0;m=vF(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;k=N(j,f)|0;o=a+k|0;c[o>>2]=m;c[o+4>>2]=y;n=b+(n+8)|0;o=n;n=n+4|0;l=e+(l+8)|0;m=l;l=l+4|0;l=vF(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;k=a+(k+8)|0;c[k>>2]=l;c[k+4>>2]=y;j=j+1|0}return}function HI(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=0;while(1){if((j|0)>=(i|0))break;m=N(j,g)|0;o=b+m|0;l=N(j,h)|0;n=e+l|0;k=N(j,f)|0;c[a+k>>2]=AF(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0;m=b+(m+4)|0;l=e+(l+4)|0;c[a+(k+4)>>2]=AF(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;j=j+1|0}return}function II(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=N(j,g)|0;o=b+n|0;p=o;o=o+4|0;l=N(j,h)|0;m=e+l|0;k=m;m=m+4|0;m=vF(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;k=N(j,f)|0;o=a+k|0;c[o>>2]=m;c[o+4>>2]=y;n=b+(n+8)|0;o=n;n=n+4|0;l=e+(l+8)|0;m=l;l=l+4|0;l=vF(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;k=a+(k+8)|0;c[k>>2]=l;c[k+4>>2]=y;j=j+1|0}return}function JI(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=N(j,g)|0;o=b+n|0;p=o;o=o+4|0;l=N(j,h)|0;m=e+l|0;k=m;m=m+4|0;m=vF(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;k=N(j,f)|0;o=a+k|0;c[o>>2]=m;c[o+4>>2]=y;n=b+(n+8)|0;o=n;n=n+4|0;l=e+(l+8)|0;m=l;l=l+4|0;l=vF(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;k=a+(k+8)|0;c[k>>2]=l;c[k+4>>2]=y;j=j+1|0}return}function KI(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=N(j,g)|0;o=b+n|0;p=o;o=o+4|0;l=N(j,h)|0;m=e+l|0;k=m;m=m+4|0;m=vF(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;k=N(j,f)|0;o=a+k|0;c[o>>2]=m;c[o+4>>2]=y;n=b+(n+8)|0;o=n;n=n+4|0;l=e+(l+8)|0;m=l;l=l+4|0;l=vF(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;k=a+(k+8)|0;c[k>>2]=l;c[k+4>>2]=y;j=j+1|0}return}function LI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function MI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=b+4|0;c[a+4>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+1|0;a=a+e|0;b=b+e|0}return}function NI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function OI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function PI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function QI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;GI(a,b,c,d,e,32,16);GI(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function RI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;HI(a,b,c,d,e,16,16);HI(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function SI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;II(a,b,c,d,e,32,16);II(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function TI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;JI(a,b,c,d,e,32,16);JI(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function UI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;KI(a,b,c,d,e,32,16);KI(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function VI(a,b,c){a=a|0;b=b|0;c=c|0;LI(a,b,c,16);LI(a+16|0,b+16|0,c,16);return}function WI(a,b,c){a=a|0;b=b|0;c=c|0;MI(a,b,c,16);MI(a+8|0,b+8|0,c,16);return}function XI(a,b,c){a=a|0;b=b|0;c=c|0;NI(a,b,c,16);NI(a+16|0,b+16|0,c,16);return}function YI(a,b,c){a=a|0;b=b|0;c=c|0;OI(a,b,c,16);OI(a+16|0,b+16|0,c,16);return}function ZI(a,b,c){a=a|0;b=b|0;c=c|0;PI(a,b,c,16);PI(a+16|0,b+16|0,c,16);return}function _I(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=8-g|0;p=8-h|0;s=N(p,q)|0;p=N(p,g)|0;q=N(q,h)|0;o=N(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((N(s,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((N(s,e[c+2>>1]|0)|0)+32|0)>>>6;b[a+4>>1]=((N(s,e[c+4>>1]|0)|0)+32|0)>>>6;b[a+6>>1]=((N(s,e[c+6>>1]|0)|0)+32|0)>>>6;b[a+8>>1]=((N(s,e[c+8>>1]|0)|0)+32|0)>>>6;b[a+10>>1]=((N(s,e[c+10>>1]|0)|0)+32|0)>>>6;b[a+12>>1]=((N(s,e[c+12>>1]|0)|0)+32|0)>>>6;b[a+14>>1]=((N(s,e[c+14>>1]|0)|0)+32|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}h=q|0?r:1;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=N(s,e[c>>1]|0)|0;b[a>>1]=(q+32+(N(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6;q=N(s,e[c+2>>1]|0)|0;b[a+2>>1]=(q+32+(N(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6;q=N(s,e[c+4>>1]|0)|0;b[a+4>>1]=(q+32+(N(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6;q=N(s,e[c+6>>1]|0)|0;b[a+6>>1]=(q+32+(N(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6;q=N(s,e[c+8>>1]|0)|0;b[a+8>>1]=(q+32+(N(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6;q=N(s,e[c+10>>1]|0)|0;b[a+10>>1]=(q+32+(N(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6;q=N(s,e[c+12>>1]|0)|0;b[a+12>>1]=(q+32+(N(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6;q=N(s,e[c+14>>1]|0)|0;b[a+14>>1]=(q+32+(N(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=N(s,e[c>>1]|0)|0;u=c+2|0;x=N(p,e[u>>1]|0)|0;t=c+(r<<1)|0;y=N(q,e[t>>1]|0)|0;w=c+(h<<1)|0;b[a>>1]=(v+32+x+y+(N(o,e[w>>1]|0)|0)|0)>>>6;u=N(s,e[u>>1]|0)|0;y=c+4|0;x=N(p,e[y>>1]|0)|0;w=N(q,e[w>>1]|0)|0;v=c+(d<<1)|0;b[a+2>>1]=(u+32+x+w+(N(o,e[v>>1]|0)|0)|0)>>>6;y=N(s,e[y>>1]|0)|0;w=c+6|0;x=N(p,e[w>>1]|0)|0;v=N(q,e[v>>1]|0)|0;u=c+(i<<1)|0;b[a+4>>1]=(y+32+x+v+(N(o,e[u>>1]|0)|0)|0)>>>6;w=N(s,e[w>>1]|0)|0;v=c+8|0;x=N(p,e[v>>1]|0)|0;u=N(q,e[u>>1]|0)|0;y=c+(j<<1)|0;b[a+6>>1]=(w+32+x+u+(N(o,e[y>>1]|0)|0)|0)>>>6;v=N(s,e[v>>1]|0)|0;u=c+10|0;x=N(p,e[u>>1]|0)|0;y=N(q,e[y>>1]|0)|0;w=c+(k<<1)|0;b[a+8>>1]=(v+32+x+y+(N(o,e[w>>1]|0)|0)|0)>>>6;u=N(s,e[u>>1]|0)|0;y=c+12|0;x=N(p,e[y>>1]|0)|0;w=N(q,e[w>>1]|0)|0;v=c+(l<<1)|0;b[a+10>>1]=(u+32+x+w+(N(o,e[v>>1]|0)|0)|0)>>>6;y=N(s,e[y>>1]|0)|0;w=c+14|0;x=N(p,e[w>>1]|0)|0;v=N(q,e[v>>1]|0)|0;u=c+(m<<1)|0;b[a+12>>1]=(y+32+x+v+(N(o,e[u>>1]|0)|0)|0)>>>6;w=N(s,e[w>>1]|0)|0;v=N(p,e[c+16>>1]|0)|0;u=N(q,e[u>>1]|0)|0;b[a+14>>1]=(w+32+v+u+(N(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function $I(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=8-g|0;q=8-h|0;s=N(q,r)|0;q=N(q,g)|0;r=N(r,h)|0;h=N(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((N(s,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((N(s,d[c+1>>0]|0)|0)+32|0)>>>6;a[b+2>>0]=((N(s,d[c+2>>0]|0)|0)+32|0)>>>6;a[b+3>>0]=((N(s,d[c+3>>0]|0)|0)+32|0)>>>6;a[b+4>>0]=((N(s,d[c+4>>0]|0)|0)+32|0)>>>6;a[b+5>>0]=((N(s,d[c+5>>0]|0)|0)+32|0)>>>6;a[b+6>>0]=((N(s,d[c+6>>0]|0)|0)+32|0)>>>6;a[b+7>>0]=((N(s,d[c+7>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=r|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=N(s,d[c>>0]|0)|0;a[b>>0]=(r+32+(N(p,d[c+h>>0]|0)|0)|0)>>>6;r=N(s,d[c+1>>0]|0)|0;a[b+1>>0]=(r+32+(N(p,d[c+i>>0]|0)|0)|0)>>>6;r=N(s,d[c+2>>0]|0)|0;a[b+2>>0]=(r+32+(N(p,d[c+j>>0]|0)|0)|0)>>>6;r=N(s,d[c+3>>0]|0)|0;a[b+3>>0]=(r+32+(N(p,d[c+k>>0]|0)|0)|0)>>>6;r=N(s,d[c+4>>0]|0)|0;a[b+4>>0]=(r+32+(N(p,d[c+l>>0]|0)|0)|0)>>>6;r=N(s,d[c+5>>0]|0)|0;a[b+5>>0]=(r+32+(N(p,d[c+m>>0]|0)|0)|0)>>>6;r=N(s,d[c+6>>0]|0)|0;a[b+6>>0]=(r+32+(N(p,d[c+n>>0]|0)|0)|0)>>>6;r=N(s,d[c+7>>0]|0)|0;a[b+7>>0]=(r+32+(N(p,d[c+o>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=N(s,d[c>>0]|0)|0;u=c+1|0;x=N(q,d[u>>0]|0)|0;t=c+e|0;y=N(r,d[t>>0]|0)|0;w=c+i|0;a[b>>0]=(v+32+x+y+(N(h,d[w>>0]|0)|0)|0)>>>6;u=N(s,d[u>>0]|0)|0;y=c+2|0;x=N(q,d[y>>0]|0)|0;w=N(r,d[w>>0]|0)|0;v=c+j|0;a[b+1>>0]=(u+32+x+w+(N(h,d[v>>0]|0)|0)|0)>>>6;y=N(s,d[y>>0]|0)|0;w=c+3|0;x=N(q,d[w>>0]|0)|0;v=N(r,d[v>>0]|0)|0;u=c+k|0;a[b+2>>0]=(y+32+x+v+(N(h,d[u>>0]|0)|0)|0)>>>6;w=N(s,d[w>>0]|0)|0;v=c+4|0;x=N(q,d[v>>0]|0)|0;u=N(r,d[u>>0]|0)|0;y=c+l|0;a[b+3>>0]=(w+32+x+u+(N(h,d[y>>0]|0)|0)|0)>>>6;v=N(s,d[v>>0]|0)|0;u=c+5|0;x=N(q,d[u>>0]|0)|0;y=N(r,d[y>>0]|0)|0;w=c+m|0;a[b+4>>0]=(v+32+x+y+(N(h,d[w>>0]|0)|0)|0)>>>6;u=N(s,d[u>>0]|0)|0;y=c+6|0;x=N(q,d[y>>0]|0)|0;w=N(r,d[w>>0]|0)|0;v=c+n|0;a[b+5>>0]=(u+32+x+w+(N(h,d[v>>0]|0)|0)|0)>>>6;y=N(s,d[y>>0]|0)|0;w=c+7|0;x=N(q,d[w>>0]|0)|0;v=N(r,d[v>>0]|0)|0;u=c+o|0;a[b+6>>0]=(y+32+x+v+(N(h,d[u>>0]|0)|0)|0)>>>6;w=N(s,d[w>>0]|0)|0;v=N(q,d[c+8>>0]|0)|0;u=N(r,d[u>>0]|0)|0;a[b+7>>0]=(w+32+v+u+(N(h,d[c+p>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=t}}while(0);return}function aJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=8-g|0;l=8-h|0;o=N(l,m)|0;l=N(l,g)|0;m=N(m,h)|0;k=N(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((N(o,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((N(o,e[c+2>>1]|0)|0)+32|0)>>>6;b[a+4>>1]=((N(o,e[c+4>>1]|0)|0)+32|0)>>>6;b[a+6>>1]=((N(o,e[c+6>>1]|0)|0)+32|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}h=m|0?n:1;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=N(o,e[c>>1]|0)|0;b[a>>1]=(m+32+(N(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6;m=N(o,e[c+2>>1]|0)|0;b[a+2>>1]=(m+32+(N(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6;m=N(o,e[c+4>>1]|0)|0;b[a+4>>1]=(m+32+(N(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6;m=N(o,e[c+6>>1]|0)|0;b[a+6>>1]=(m+32+(N(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=N(o,e[c>>1]|0)|0;q=c+2|0;t=N(l,e[q>>1]|0)|0;p=c+(n<<1)|0;u=N(m,e[p>>1]|0)|0;s=c+(h<<1)|0;b[a>>1]=(r+32+t+u+(N(k,e[s>>1]|0)|0)|0)>>>6;q=N(o,e[q>>1]|0)|0;u=c+4|0;t=N(l,e[u>>1]|0)|0;s=N(m,e[s>>1]|0)|0;r=c+(d<<1)|0;b[a+2>>1]=(q+32+t+s+(N(k,e[r>>1]|0)|0)|0)>>>6;u=N(o,e[u>>1]|0)|0;s=c+6|0;t=N(l,e[s>>1]|0)|0;r=N(m,e[r>>1]|0)|0;q=c+(i<<1)|0;b[a+4>>1]=(u+32+t+r+(N(k,e[q>>1]|0)|0)|0)>>>6;s=N(o,e[s>>1]|0)|0;r=N(l,e[c+8>>1]|0)|0;q=N(m,e[q>>1]|0)|0;b[a+6>>1]=(s+32+r+q+(N(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function bJ(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=8-g|0;m=8-h|0;o=N(m,n)|0;m=N(m,g)|0;n=N(n,h)|0;h=N(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((N(o,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((N(o,d[c+1>>0]|0)|0)+32|0)>>>6;a[b+2>>0]=((N(o,d[c+2>>0]|0)|0)+32|0)>>>6;a[b+3>>0]=((N(o,d[c+3>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=n|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=N(o,d[c>>0]|0)|0;a[b>>0]=(n+32+(N(l,d[c+h>>0]|0)|0)|0)>>>6;n=N(o,d[c+1>>0]|0)|0;a[b+1>>0]=(n+32+(N(l,d[c+i>>0]|0)|0)|0)>>>6;n=N(o,d[c+2>>0]|0)|0;a[b+2>>0]=(n+32+(N(l,d[c+j>>0]|0)|0)|0)>>>6;n=N(o,d[c+3>>0]|0)|0;a[b+3>>0]=(n+32+(N(l,d[c+k>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=N(o,d[c>>0]|0)|0;q=c+1|0;t=N(m,d[q>>0]|0)|0;p=c+e|0;u=N(n,d[p>>0]|0)|0;s=c+i|0;a[b>>0]=(r+32+t+u+(N(h,d[s>>0]|0)|0)|0)>>>6;q=N(o,d[q>>0]|0)|0;u=c+2|0;t=N(m,d[u>>0]|0)|0;s=N(n,d[s>>0]|0)|0;r=c+j|0;a[b+1>>0]=(q+32+t+s+(N(h,d[r>>0]|0)|0)|0)>>>6;u=N(o,d[u>>0]|0)|0;s=c+3|0;t=N(m,d[s>>0]|0)|0;r=N(n,d[r>>0]|0)|0;q=c+k|0;a[b+2>>0]=(u+32+t+r+(N(h,d[q>>0]|0)|0)|0)>>>6;s=N(o,d[s>>0]|0)|0;r=N(m,d[c+4>>0]|0)|0;q=N(n,d[q>>0]|0)|0;a[b+3>>0]=(s+32+r+q+(N(h,d[c+l>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=p}}while(0);return}function cJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=N(j,k)|0;j=N(j,g)|0;k=N(k,h)|0;i=N(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((N(m,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((N(m,e[c+2>>1]|0)|0)+32|0)>>>6;a=a+(l<<1)|0;c=c+(l<<1)|0;g=g+1|0}}h=k|0?l:1;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=N(m,e[c>>1]|0)|0;b[a>>1]=(k+32+(N(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6;k=N(m,e[c+2>>1]|0)|0;b[a+2>>1]=(k+32+(N(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=N(m,e[c>>1]|0)|0;q=c+2|0;r=N(j,e[q>>1]|0)|0;n=c+(l<<1)|0;p=N(k,e[n>>1]|0)|0;o=c+(h<<1)|0;b[a>>1]=(s+32+r+p+(N(i,e[o>>1]|0)|0)|0)>>>6;q=N(m,e[q>>1]|0)|0;p=N(j,e[c+4>>1]|0)|0;o=N(k,e[o>>1]|0)|0;b[a+2>>1]=(q+32+p+o+(N(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function dJ(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=N(k,l)|0;k=N(k,g)|0;l=N(l,h)|0;h=N(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((N(m,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((N(m,d[c+1>>0]|0)|0)+32|0)>>>6;b=b+e|0;c=c+e|0;g=g+1|0}}h=l|0?e:1;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=N(m,d[c>>0]|0)|0;a[b>>0]=(l+32+(N(j,d[c+h>>0]|0)|0)|0)>>>6;l=N(m,d[c+1>>0]|0)|0;a[b+1>>0]=(l+32+(N(j,d[c+i>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=N(m,d[c>>0]|0)|0;q=c+1|0;r=N(k,d[q>>0]|0)|0;n=c+e|0;p=N(l,d[n>>0]|0)|0;o=c+i|0;a[b>>0]=(s+32+r+p+(N(h,d[o>>0]|0)|0)|0)>>>6;q=N(m,d[q>>0]|0)|0;p=N(k,d[c+2>>0]|0)|0;o=N(l,d[o>>0]|0)|0;a[b+1>>0]=(q+32+p+o+(N(h,d[c+j>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=n}}while(0);return}function eJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=N(j,k)|0;j=N(j,g)|0;k=N(k,h)|0;i=N(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((N(m,e[c>>1]|0)|0)+32|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;g=0;while(1){if((g|0)>=(f|0))break a;k=N(m,e[c>>1]|0)|0;b[a>>1]=(k+32+(N(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=N(m,e[c>>1]|0)|0;o=N(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=N(k,e[d>>1]|0)|0;b[a>>1]=(p+32+o+n+(N(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function fJ(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=N(j,k)|0;j=N(j,g)|0;k=N(k,h)|0;h=N(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((N(l,d[c>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=k|0?e:1;g=0;while(1){if((g|0)>=(f|0))break a;k=N(l,d[c>>0]|0)|0;a[b>>0]=(k+32+(N(i,d[c+h>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=N(l,d[c>>0]|0)|0;o=N(j,d[c+1>>0]|0)|0;m=c+e|0;n=N(k,d[m>>0]|0)|0;a[b>>0]=(p+32+o+n+(N(h,d[c+i>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=m}}while(0);return}function gJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;q=8-g|0;p=8-h|0;s=N(p,q)|0;p=N(p,g)|0;q=N(q,h)|0;o=N(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((N(s,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+2|0;b[q>>1]=((e[q>>1]|0)+1+(((N(s,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+4|0;b[q>>1]=((e[q>>1]|0)+1+(((N(s,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+6|0;b[q>>1]=((e[q>>1]|0)+1+(((N(s,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+8|0;b[q>>1]=((e[q>>1]|0)+1+(((N(s,e[c+8>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+10|0;b[q>>1]=((e[q>>1]|0)+1+(((N(s,e[c+10>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+12|0;b[q>>1]=((e[q>>1]|0)+1+(((N(s,e[c+12>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+14|0;b[q>>1]=((e[q>>1]|0)+1+(((N(s,e[c+14>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}h=q|0?r:1;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=N(s,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((q+32+(N(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+2|0;p=N(s,e[c+2>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(N(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+4|0;p=N(s,e[c+4>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(N(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+6|0;p=N(s,e[c+6>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(N(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+8|0;p=N(s,e[c+8>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(N(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+10|0;p=N(s,e[c+10>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(N(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+12|0;p=N(s,e[c+12>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(N(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+14|0;p=N(s,e[c+14>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(N(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=N(s,e[c>>1]|0)|0;v=c+2|0;z=N(p,e[v>>1]|0)|0;t=c+(r<<1)|0;u=N(q,e[t>>1]|0)|0;x=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((y+32+z+u+(N(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+2|0;v=N(s,e[v>>1]|0)|0;z=c+4|0;y=N(p,e[z>>1]|0)|0;x=N(q,e[x>>1]|0)|0;w=c+(d<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((v+32+y+x+(N(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+4|0;z=N(s,e[z>>1]|0)|0;x=c+6|0;y=N(p,e[x>>1]|0)|0;w=N(q,e[w>>1]|0)|0;v=c+(i<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((z+32+y+w+(N(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+6|0;x=N(s,e[x>>1]|0)|0;w=c+8|0;y=N(p,e[w>>1]|0)|0;v=N(q,e[v>>1]|0)|0;z=c+(j<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((x+32+y+v+(N(o,e[z>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+8|0;w=N(s,e[w>>1]|0)|0;v=c+10|0;y=N(p,e[v>>1]|0)|0;z=N(q,e[z>>1]|0)|0;x=c+(k<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((w+32+y+z+(N(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+10|0;v=N(s,e[v>>1]|0)|0;z=c+12|0;y=N(p,e[z>>1]|0)|0;x=N(q,e[x>>1]|0)|0;w=c+(l<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((v+32+y+x+(N(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+12|0;z=N(s,e[z>>1]|0)|0;x=c+14|0;y=N(p,e[x>>1]|0)|0;w=N(q,e[w>>1]|0)|0;v=c+(m<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((z+32+y+w+(N(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+14|0;x=N(s,e[x>>1]|0)|0;w=N(p,e[c+16>>1]|0)|0;v=N(q,e[v>>1]|0)|0;b[u>>1]=((e[u>>1]|0)+1+((x+32+w+v+(N(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function hJ(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;r=8-g|0;q=8-h|0;s=N(q,r)|0;q=N(q,g)|0;r=N(r,h)|0;h=N(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((N(s,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+1|0;a[r>>0]=((d[r>>0]|0)+1+(((N(s,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+2|0;a[r>>0]=((d[r>>0]|0)+1+(((N(s,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+3|0;a[r>>0]=((d[r>>0]|0)+1+(((N(s,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+4|0;a[r>>0]=((d[r>>0]|0)+1+(((N(s,d[c+4>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+5|0;a[r>>0]=((d[r>>0]|0)+1+(((N(s,d[c+5>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+6|0;a[r>>0]=((d[r>>0]|0)+1+(((N(s,d[c+6>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+7|0;a[r>>0]=((d[r>>0]|0)+1+(((N(s,d[c+7>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=r|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=N(s,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((r+32+(N(p,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+1|0;q=N(s,d[c+1>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(N(p,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+2|0;q=N(s,d[c+2>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(N(p,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+3|0;q=N(s,d[c+3>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(N(p,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+4|0;q=N(s,d[c+4>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(N(p,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+5|0;q=N(s,d[c+5>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(N(p,d[c+m>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+6|0;q=N(s,d[c+6>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(N(p,d[c+n>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+7|0;q=N(s,d[c+7>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(N(p,d[c+o>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=N(s,d[c>>0]|0)|0;v=c+1|0;z=N(q,d[v>>0]|0)|0;t=c+e|0;u=N(r,d[t>>0]|0)|0;x=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((y+32+z+u+(N(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+1|0;v=N(s,d[v>>0]|0)|0;z=c+2|0;y=N(q,d[z>>0]|0)|0;x=N(r,d[x>>0]|0)|0;w=c+j|0;a[u>>0]=((d[u>>0]|0)+1+((v+32+y+x+(N(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+2|0;z=N(s,d[z>>0]|0)|0;x=c+3|0;y=N(q,d[x>>0]|0)|0;w=N(r,d[w>>0]|0)|0;v=c+k|0;a[u>>0]=((d[u>>0]|0)+1+((z+32+y+w+(N(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+3|0;x=N(s,d[x>>0]|0)|0;w=c+4|0;y=N(q,d[w>>0]|0)|0;v=N(r,d[v>>0]|0)|0;z=c+l|0;a[u>>0]=((d[u>>0]|0)+1+((x+32+y+v+(N(h,d[z>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+4|0;w=N(s,d[w>>0]|0)|0;v=c+5|0;y=N(q,d[v>>0]|0)|0;z=N(r,d[z>>0]|0)|0;x=c+m|0;a[u>>0]=((d[u>>0]|0)+1+((w+32+y+z+(N(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+5|0;v=N(s,d[v>>0]|0)|0;z=c+6|0;y=N(q,d[z>>0]|0)|0;x=N(r,d[x>>0]|0)|0;w=c+n|0;a[u>>0]=((d[u>>0]|0)+1+((v+32+y+x+(N(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+6|0;z=N(s,d[z>>0]|0)|0;x=c+7|0;y=N(q,d[x>>0]|0)|0;w=N(r,d[w>>0]|0)|0;v=c+o|0;a[u>>0]=((d[u>>0]|0)+1+((z+32+y+w+(N(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+7|0;x=N(s,d[x>>0]|0)|0;w=N(q,d[c+8>>0]|0)|0;v=N(r,d[v>>0]|0)|0;a[u>>0]=((d[u>>0]|0)+1+((x+32+w+v+(N(h,d[c+p>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=t}}while(0);return}function iJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=8-g|0;l=8-h|0;o=N(l,m)|0;l=N(l,g)|0;m=N(m,h)|0;k=N(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((N(o,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+2|0;b[m>>1]=((e[m>>1]|0)+1+(((N(o,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+4|0;b[m>>1]=((e[m>>1]|0)+1+(((N(o,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+6|0;b[m>>1]=((e[m>>1]|0)+1+(((N(o,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}h=m|0?n:1;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=N(o,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((m+32+(N(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+2|0;l=N(o,e[c+2>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(N(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+4|0;l=N(o,e[c+4>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(N(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+6|0;l=N(o,e[c+6>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(N(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=N(o,e[c>>1]|0)|0;r=c+2|0;v=N(l,e[r>>1]|0)|0;p=c+(n<<1)|0;q=N(m,e[p>>1]|0)|0;t=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((u+32+v+q+(N(k,e[t>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+2|0;r=N(o,e[r>>1]|0)|0;v=c+4|0;u=N(l,e[v>>1]|0)|0;t=N(m,e[t>>1]|0)|0;s=c+(d<<1)|0;b[q>>1]=((e[q>>1]|0)+1+((r+32+u+t+(N(k,e[s>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+4|0;v=N(o,e[v>>1]|0)|0;t=c+6|0;u=N(l,e[t>>1]|0)|0;s=N(m,e[s>>1]|0)|0;r=c+(i<<1)|0;b[q>>1]=((e[q>>1]|0)+1+((v+32+u+s+(N(k,e[r>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+6|0;t=N(o,e[t>>1]|0)|0;s=N(l,e[c+8>>1]|0)|0;r=N(m,e[r>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((t+32+s+r+(N(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function jJ(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=8-g|0;m=8-h|0;o=N(m,n)|0;m=N(m,g)|0;n=N(n,h)|0;h=N(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((N(o,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+1|0;a[n>>0]=((d[n>>0]|0)+1+(((N(o,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+2|0;a[n>>0]=((d[n>>0]|0)+1+(((N(o,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+3|0;a[n>>0]=((d[n>>0]|0)+1+(((N(o,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=n|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=N(o,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((n+32+(N(l,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+1|0;m=N(o,d[c+1>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(N(l,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+2|0;m=N(o,d[c+2>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(N(l,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+3|0;m=N(o,d[c+3>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(N(l,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=N(o,d[c>>0]|0)|0;r=c+1|0;v=N(m,d[r>>0]|0)|0;p=c+e|0;q=N(n,d[p>>0]|0)|0;t=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((u+32+v+q+(N(h,d[t>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+1|0;r=N(o,d[r>>0]|0)|0;v=c+2|0;u=N(m,d[v>>0]|0)|0;t=N(n,d[t>>0]|0)|0;s=c+j|0;a[q>>0]=((d[q>>0]|0)+1+((r+32+u+t+(N(h,d[s>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+2|0;v=N(o,d[v>>0]|0)|0;t=c+3|0;u=N(m,d[t>>0]|0)|0;s=N(n,d[s>>0]|0)|0;r=c+k|0;a[q>>0]=((d[q>>0]|0)+1+((v+32+u+s+(N(h,d[r>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+3|0;t=N(o,d[t>>0]|0)|0;s=N(m,d[c+4>>0]|0)|0;r=N(n,d[r>>0]|0)|0;a[q>>0]=((d[q>>0]|0)+1+((t+32+s+r+(N(h,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=p}}while(0);return}function kJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=N(j,k)|0;j=N(j,g)|0;k=N(k,h)|0;i=N(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((N(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;k=a+2|0;b[k>>1]=((e[k>>1]|0)+1+(((N(m,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=N(m,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((k+32+(N(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;k=a+2|0;j=N(m,e[c+2>>1]|0)|0;b[k>>1]=((e[k>>1]|0)+1+((j+32+(N(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=N(m,e[c>>1]|0)|0;r=c+2|0;q=N(j,e[r>>1]|0)|0;n=c+(l<<1)|0;o=N(k,e[n>>1]|0)|0;p=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((s+32+q+o+(N(i,e[p>>1]|0)|0)|0)>>>6)|0)>>>1;o=a+2|0;r=N(m,e[r>>1]|0)|0;q=N(j,e[c+4>>1]|0)|0;p=N(k,e[p>>1]|0)|0;b[o>>1]=((e[o>>1]|0)+1+((r+32+q+p+(N(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function lJ(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=N(k,l)|0;k=N(k,g)|0;l=N(l,h)|0;h=N(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((N(m,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;l=b+1|0;a[l>>0]=((d[l>>0]|0)+1+(((N(m,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=l|0?e:1;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=N(m,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((l+32+(N(j,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;l=b+1|0;k=N(m,d[c+1>>0]|0)|0;a[l>>0]=((d[l>>0]|0)+1+((k+32+(N(j,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=N(m,d[c>>0]|0)|0;r=c+1|0;q=N(k,d[r>>0]|0)|0;n=c+e|0;o=N(l,d[n>>0]|0)|0;p=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((s+32+q+o+(N(h,d[p>>0]|0)|0)|0)>>>6)|0)>>>1;o=b+1|0;r=N(m,d[r>>0]|0)|0;q=N(k,d[c+2>>0]|0)|0;p=N(l,d[p>>0]|0)|0;a[o>>0]=((d[o>>0]|0)+1+((r+32+q+p+(N(h,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=n}}while(0);return}function mJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=N(j,k)|0;j=N(j,g)|0;k=N(k,h)|0;i=N(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((N(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;g=0;while(1){if((g|0)>=(f|0))break a;k=N(m,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((k+32+(N(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=N(m,e[c>>1]|0)|0;o=N(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=N(k,e[d>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((p+32+o+n+(N(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function nJ(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=N(j,k)|0;j=N(j,g)|0;k=N(k,h)|0;h=N(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((N(l,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=k|0?e:1;g=0;while(1){if((g|0)>=(f|0))break a;k=N(l,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((k+32+(N(i,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=N(l,d[c>>0]|0)|0;o=N(j,d[c+1>>0]|0)|0;m=c+e|0;n=N(k,d[m>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((p+32+o+n+(N(h,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=m}}while(0);return}function oJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function pJ(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function qJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);i=f+8|0;b[i>>1]=(c[g+16>>2]|0)+(e[i>>1]|0);i=f+10|0;b[i>>1]=(c[g+20>>2]|0)+(e[i>>1]|0);i=f+12|0;b[i>>1]=(c[g+24>>2]|0)+(e[i>>1]|0);i=f+14|0;b[i>>1]=(c[g+28>>2]|0)+(e[i>>1]|0);g=g+32|0;f=f+(h<<1)|0;a=a+1|0}iX(d|0,0,256)|0;return}function rJ(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);j=c+4|0;a[j>>0]=(d[j>>0]|0)+(e[i+8>>1]|0);j=c+5|0;a[j>>0]=(d[j>>0]|0)+(e[i+10>>1]|0);j=c+6|0;a[j>>0]=(d[j>>0]|0)+(e[i+12>>1]|0);j=c+7|0;a[j>>0]=(d[j>>0]|0)+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function sJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<512?m:0-m>>31&511;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<512?o:0-o>>31&511;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function tJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<512?r:0-r>>31&511;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<512?t:0-t>>31&511;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<512?v:0-v>>31&511;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<512?x:0-x>>31&511;g=g+1|0}iX(d|0,0,256)|0;return}function uJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function vJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}
function wJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[146266+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else uJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;sJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function xJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[146266+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else vJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;tJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function yJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[146266+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function zJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[146266+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[146266+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function AJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[146266+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)uJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else sJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function BJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;h=l;l=l+64|0;if((l|0)>=(m|0))W(64);g=h;f=0;while(1){if((f|0)==4)break;r=f<<2;n=c[b+(r<<2)>>2]|0;o=r|1;j=c[b+(o<<2)>>2]|0;q=j+n|0;j=n-j|0;n=r|2;p=c[b+(n<<2)>>2]|0;i=r|3;s=c[b+(i<<2)>>2]|0;k=p-s|0;p=s+p|0;c[g+(r<<2)>>2]=p+q;c[g+(o<<2)>>2]=q-p;c[g+(n<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;s=d[146262+f>>0]|0;r=c[g+(f<<2)>>2]|0;o=c[g+(f+8<<2)>>2]|0;q=o+r|0;o=r-o|0;r=c[g+(f+4<<2)>>2]|0;n=c[g+(f+12<<2)>>2]|0;p=r-n|0;r=n+r|0;c[a+(s<<2)>>2]=(N(r+q|0,e)|0)+128>>8;c[a+(s+16<<2)>>2]=(N(p+o|0,e)|0)+128>>8;c[a+(s+64<<2)>>2]=(N(o-p|0,e)|0)+128>>8;c[a+(s+80<<2)>>2]=(N(q-r|0,e)|0)+128>>8;f=f+1|0}l=h;return}function CJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(N(h+i|0,b)|0)>>7;c[j>>2]=(N(e+f|0,b)|0)>>7;c[g>>2]=(N(i-h|0,b)|0)>>7;c[d>>2]=(N(f-e|0,b)|0)>>7;return}function DJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;g=l;l=l+32|0;if((l|0)>=(m|0))W(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[146260+e>>0]|0;i=c[f+(e<<2)>>2]|0;n=c[f+(e+4<<2)>>2]|0;h=n+i|0;n=i-n|0;i=c[f+(e+2<<2)>>2]|0;o=c[f+(e+6<<2)>>2]|0;k=i-o|0;i=o+i|0;c[a+(j<<2)>>2]=(N(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(N(k+n|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(N(n-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(N(h-i|0,b)|0)+128>>8;e=e+1|0}l=g;return}function EJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+16|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+18|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+20|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+22|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+24|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+26|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+28|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+30|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function FJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function GJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function HJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function IJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function JJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function KJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function LJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function MJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<1;y=g<<1;z=0-C|0;A=N(C,-2)|0;w=N(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function NJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function OJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function PJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<1;v=f<<1;w=N(A,-3)|0;x=N(A,-2)|0;y=0-A|0;r=A<<1;s=(z>>2)+2|0;t=N(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function QJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function RJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function SJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<1;s=g<<1;p=d>>1;q=0-p|0;r=N(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;u=l-u|0;b[g>>1]=u>>>0<512?u:0-u>>31&511}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function TJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function UJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function VJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<1;q=g<<1;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;s=l-s|0;b[g>>1]=s>>>0<512?s:0-s>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function WJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function XJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<1;j=f<<1;k=0-n|0;l=N(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function YJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function ZJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function _J(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function $J(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function aK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<1024?m:0-m>>31&1023;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<1024?o:0-o>>31&1023;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function bK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<1024?r:0-r>>31&1023;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<1024?t:0-t>>31&1023;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<1024?v:0-v>>31&1023;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<1024?x:0-x>>31&1023;g=g+1|0}iX(d|0,0,256)|0;return}function cK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function dK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function eK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[146266+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else cK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;aK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function fK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[146266+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else dK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;bK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function gK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[146266+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)cK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else aK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function hK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[146266+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)cK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else aK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[146266+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)cK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else aK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function iK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[146266+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)cK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else aK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function jK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;h=l;l=l+64|0;if((l|0)>=(m|0))W(64);g=h;f=0;while(1){if((f|0)==4)break;r=f<<2;n=c[b+(r<<2)>>2]|0;o=r|1;j=c[b+(o<<2)>>2]|0;q=j+n|0;j=n-j|0;n=r|2;p=c[b+(n<<2)>>2]|0;i=r|3;s=c[b+(i<<2)>>2]|0;k=p-s|0;p=s+p|0;c[g+(r<<2)>>2]=p+q;c[g+(o<<2)>>2]=q-p;c[g+(n<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;s=d[146262+f>>0]|0;r=c[g+(f<<2)>>2]|0;o=c[g+(f+8<<2)>>2]|0;q=o+r|0;o=r-o|0;r=c[g+(f+4<<2)>>2]|0;n=c[g+(f+12<<2)>>2]|0;p=r-n|0;r=n+r|0;c[a+(s<<2)>>2]=(N(r+q|0,e)|0)+128>>8;c[a+(s+16<<2)>>2]=(N(p+o|0,e)|0)+128>>8;c[a+(s+64<<2)>>2]=(N(o-p|0,e)|0)+128>>8;c[a+(s+80<<2)>>2]=(N(q-r|0,e)|0)+128>>8;f=f+1|0}l=h;return}function kK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(N(h+i|0,b)|0)>>7;c[j>>2]=(N(e+f|0,b)|0)>>7;c[g>>2]=(N(i-h|0,b)|0)>>7;c[d>>2]=(N(f-e|0,b)|0)>>7;return}function lK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;g=l;l=l+32|0;if((l|0)>=(m|0))W(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[146260+e>>0]|0;i=c[f+(e<<2)>>2]|0;n=c[f+(e+4<<2)>>2]|0;h=n+i|0;n=i-n|0;i=c[f+(e+2<<2)>>2]|0;o=c[f+(e+6<<2)>>2]|0;k=i-o|0;i=o+i|0;c[a+(j<<2)>>2]=(N(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(N(k+n|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(N(n-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(N(h-i|0,b)|0)+128>>8;e=e+1|0}l=g;return}function mK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+16|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+18|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+20|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+22|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+24|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+26|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+28|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+30|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function nK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function oK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function pK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function qK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function rK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function sK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function tK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function uK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<2;y=g<<2;z=0-C|0;A=N(C,-2)|0;w=N(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function vK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function wK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function xK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<2;v=f<<2;w=N(A,-3)|0;x=N(A,-2)|0;y=0-A|0;r=A<<1;s=(z>>2)+2|0;t=N(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function yK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function zK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function AK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<2;s=g<<2;p=d>>1;q=0-p|0;r=N(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;u=l-u|0;b[g>>1]=u>>>0<1024?u:0-u>>31&1023}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function BK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function CK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function DK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<2;q=g<<2;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;s=l-s|0;b[g>>1]=s>>>0<1024?s:0-s>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function EK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function FK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<2;j=f<<2;k=0-n|0;l=N(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function GK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function HK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function IK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function JK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function KK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<4096?m:0-m>>31&4095;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<4096?o:0-o>>31&4095;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function LK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<4096?r:0-r>>31&4095;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<4096?t:0-t>>31&4095;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<4096?v:0-v>>31&4095;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<4096?x:0-x>>31&4095;g=g+1|0}iX(d|0,0,256)|0;return}function MK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function NK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function OK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[146266+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else MK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;KK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function PK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[146266+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else NK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;LK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function QK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[146266+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)MK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else KK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function RK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[146266+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)MK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else KK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[146266+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)MK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else KK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function SK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[146266+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)MK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else KK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function TK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;h=l;l=l+64|0;if((l|0)>=(m|0))W(64);g=h;f=0;while(1){if((f|0)==4)break;r=f<<2;n=c[b+(r<<2)>>2]|0;o=r|1;j=c[b+(o<<2)>>2]|0;q=j+n|0;j=n-j|0;n=r|2;p=c[b+(n<<2)>>2]|0;i=r|3;s=c[b+(i<<2)>>2]|0;k=p-s|0;p=s+p|0;c[g+(r<<2)>>2]=p+q;c[g+(o<<2)>>2]=q-p;c[g+(n<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;s=d[146262+f>>0]|0;r=c[g+(f<<2)>>2]|0;o=c[g+(f+8<<2)>>2]|0;q=o+r|0;o=r-o|0;r=c[g+(f+4<<2)>>2]|0;n=c[g+(f+12<<2)>>2]|0;p=r-n|0;r=n+r|0;c[a+(s<<2)>>2]=(N(r+q|0,e)|0)+128>>8;c[a+(s+16<<2)>>2]=(N(p+o|0,e)|0)+128>>8;c[a+(s+64<<2)>>2]=(N(o-p|0,e)|0)+128>>8;c[a+(s+80<<2)>>2]=(N(q-r|0,e)|0)+128>>8;f=f+1|0}l=h;return}function UK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(N(h+i|0,b)|0)>>7;c[j>>2]=(N(e+f|0,b)|0)>>7;c[g>>2]=(N(i-h|0,b)|0)>>7;c[d>>2]=(N(f-e|0,b)|0)>>7;return}function VK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;g=l;l=l+32|0;if((l|0)>=(m|0))W(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[146260+e>>0]|0;i=c[f+(e<<2)>>2]|0;n=c[f+(e+4<<2)>>2]|0;h=n+i|0;n=i-n|0;i=c[f+(e+2<<2)>>2]|0;o=c[f+(e+6<<2)>>2]|0;k=i-o|0;i=o+i|0;c[a+(j<<2)>>2]=(N(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(N(k+n|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(N(n-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(N(h-i|0,b)|0)+128>>8;e=e+1|0}l=g;return}function WK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+16|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+18|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+20|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+22|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+24|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+26|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+28|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+30|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function XK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function YK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function ZK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function _K(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function $K(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function aL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function bL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function cL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<4;y=g<<4;z=0-C|0;A=N(C,-2)|0;w=N(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function dL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function eL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function fL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<4;v=f<<4;w=N(A,-3)|0;x=N(A,-2)|0;y=0-A|0;r=A<<1;s=z>>2|2;t=N(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function gL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function hL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function iL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<4;s=g<<4;p=d>>1;q=0-p|0;r=N(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;u=l-u|0;b[g>>1]=u>>>0<4096?u:0-u>>31&4095}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function jL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function kL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function lL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<4;q=g<<4;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;s=l-s|0;b[g>>1]=s>>>0<4096?s:0-s>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function mL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function nL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<4;j=f<<4;k=0-n|0;l=N(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function oL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function pL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function qL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function rL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function sL(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<16384?m:0-m>>31&16383;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<16384?o:0-o>>31&16383;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function tL(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<16384?r:0-r>>31&16383;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<16384?t:0-t>>31&16383;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<16384?v:0-v>>31&16383;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<16384?x:0-x>>31&16383;g=g+1|0}iX(d|0,0,256)|0;return}function uL(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function vL(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function wL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[146266+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else uL(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;sL(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function xL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[146266+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else vL(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;tL(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function yL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[146266+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uL((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sL((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function zL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[146266+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uL((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sL((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[146266+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uL((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sL((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function AL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[146266+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)uL(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else sL(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function BL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;h=l;l=l+64|0;if((l|0)>=(m|0))W(64);g=h;f=0;while(1){if((f|0)==4)break;r=f<<2;n=c[b+(r<<2)>>2]|0;o=r|1;j=c[b+(o<<2)>>2]|0;q=j+n|0;j=n-j|0;n=r|2;p=c[b+(n<<2)>>2]|0;i=r|3;s=c[b+(i<<2)>>2]|0;k=p-s|0;p=s+p|0;c[g+(r<<2)>>2]=p+q;c[g+(o<<2)>>2]=q-p;c[g+(n<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;s=d[146262+f>>0]|0;r=c[g+(f<<2)>>2]|0;o=c[g+(f+8<<2)>>2]|0;q=o+r|0;o=r-o|0;r=c[g+(f+4<<2)>>2]|0;n=c[g+(f+12<<2)>>2]|0;p=r-n|0;r=n+r|0;c[a+(s<<2)>>2]=(N(r+q|0,e)|0)+128>>8;c[a+(s+16<<2)>>2]=(N(p+o|0,e)|0)+128>>8;c[a+(s+64<<2)>>2]=(N(o-p|0,e)|0)+128>>8;c[a+(s+80<<2)>>2]=(N(q-r|0,e)|0)+128>>8;f=f+1|0}l=h;return}function CL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(N(h+i|0,b)|0)>>7;c[j>>2]=(N(e+f|0,b)|0)>>7;c[g>>2]=(N(i-h|0,b)|0)>>7;c[d>>2]=(N(f-e|0,b)|0)>>7;return}function DL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;g=l;l=l+32|0;if((l|0)>=(m|0))W(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[146260+e>>0]|0;i=c[f+(e<<2)>>2]|0;n=c[f+(e+4<<2)>>2]|0;h=n+i|0;n=i-n|0;i=c[f+(e+2<<2)>>2]|0;o=c[f+(e+6<<2)>>2]|0;k=i-o|0;i=o+i|0;c[a+(j<<2)>>2]=(N(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(N(k+n|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(N(n-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(N(h-i|0,b)|0)+128>>8;e=e+1|0}l=g;return}function EL(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+16|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+18|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+20|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+22|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+24|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+26|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+28|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+30|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function FL(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function GL(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function HL(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(N(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(N(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function IL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function JL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function KL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=N(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(N(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=N(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function LL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=N(e[c>>1]|0,i)|0;m=m+k+(N(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=N(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(N(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function ML(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<6;y=g<<6;z=0-C|0;A=N(C,-2)|0;w=N(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function NL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function OL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function PL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<6;v=f<<6;w=N(A,-3)|0;x=N(A,-2)|0;y=0-A|0;r=A<<1;s=z>>2|2;t=N(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function QL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function RL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function SL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<6;s=g<<6;p=d>>1;q=0-p|0;r=N(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;u=l-u|0;b[g>>1]=u>>>0<16384?u:0-u>>31&16383}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function TL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function UL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function VL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<6;q=g<<6;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;s=l-s|0;b[g>>1]=s>>>0<16384?s:0-s>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function WL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function XL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<6;j=f<<6;k=0-n|0;l=N(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function YL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function ZL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function _L(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function $L(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function aM(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==4)break;p=f+(h<<1)|0;o=b[p>>1]|0;l=f+(h+8<<1)|0;n=b[l>>1]|0;k=n+o|0;n=o-n|0;o=f+(h+4<<1)|0;i=b[o>>1]|0;j=f+(h+12<<1)|0;q=b[j>>1]|0;m=(i>>1)-q|0;i=(q>>1)+i|0;b[p>>1]=i+k;b[o>>1]=m+n;b[l>>1]=n-m;b[j>>1]=k-i;h=h+1|0}i=g<<1;j=g*3|0;h=0;while(1){if((h|0)==4)break;q=h<<2;p=b[f+(q<<1)>>1]|0;m=b[f+((q|2)<<1)>>1]|0;o=m+p|0;m=p-m|0;p=b[f+((q|1)<<1)>>1]|0;q=b[f+((q|3)<<1)>>1]|0;n=(p>>1)-q|0;p=(q>>1)+p|0;q=c+h|0;l=(p+o>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+g)|0;l=(n+m>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+i)|0;n=(m-n>>6)+(d[q>>0]|0)|0;a[q>>0]=n>>>0>255?(n^-2147483648)>>31:n;q=c+(h+j)|0;p=(o-p>>6)+(d[q>>0]|0)|0;a[q>>0]=p>>>0>255?(p^-2147483648)>>31:p;h=h+1|0}h=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function bM(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==8)break;x=f+(h<<1)|0;p=b[x>>1]|0;n=f+(h+32<<1)|0;m=b[n>>1]|0;k=m+p|0;m=p-m|0;p=f+(h+16<<1)|0;l=b[p>>1]|0;q=f+(h+48<<1)|0;w=b[q>>1]|0;o=(l>>1)-w|0;l=(w>>1)+l|0;w=l+k|0;s=o+m|0;o=m-o|0;l=k-l|0;k=f+(h+24<<1)|0;m=b[k>>1]|0;j=f+(h+40<<1)|0;i=b[j>>1]|0;u=f+(h+56<<1)|0;r=b[u>>1]|0;v=i-m-r-(r>>1)|0;t=f+(h+8<<1)|0;y=b[t>>1]|0;z=r-((m>>1)+m)+y|0;r=r+i+(i>>1)-y|0;y=i+m+y+(y>>1)|0;m=(y>>2)+v|0;i=(r>>2)+z|0;r=(z>>2)-r|0;v=y-(v>>2)|0;b[x>>1]=v+w;b[u>>1]=w-v;b[t>>1]=r+s;b[q>>1]=s-r;b[p>>1]=i+o;b[j>>1]=o-i;b[k>>1]=m+l;b[n>>1]=l-m;h=h+1|0}l=g<<1;m=g*3|0;n=g<<2;i=g*5|0;j=g*6|0;k=g*7|0;h=0;while(1){if((h|0)==8)break;z=h<<3;r=b[f+(z<<1)>>1]|0;u=b[f+((z|4)<<1)>>1]|0;s=u+r|0;u=r-u|0;r=b[f+((z|2)<<1)>>1]|0;x=b[f+((z|6)<<1)>>1]|0;t=(r>>1)-x|0;r=(x>>1)+r|0;x=r+s|0;v=t+u|0;t=u-t|0;r=s-r|0;s=b[f+((z|3)<<1)>>1]|0;u=b[f+((z|5)<<1)>>1]|0;w=b[f+((z|7)<<1)>>1]|0;y=u-s-w-(w>>1)|0;z=b[f+((z|1)<<1)>>1]|0;q=w-((s>>1)+s)+z|0;w=w+u+(u>>1)-z|0;z=u+s+z+(z>>1)|0;s=(z>>2)+y|0;u=(w>>2)+q|0;w=(q>>2)-w|0;y=z-(y>>2)|0;z=c+h|0;q=(y+x>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+g)|0;q=(w+v>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+l)|0;q=(u+t>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+m)|0;q=(s+r>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+n)|0;s=(r-s>>6)+(d[z>>0]|0)|0;a[z>>0]=s>>>0>255?(s^-2147483648)>>31:s;z=c+(h+i)|0;u=(t-u>>6)+(d[z>>0]|0)|0;a[z>>0]=u>>>0>255?(u^-2147483648)>>31:u;z=c+(h+j)|0;w=(v-w>>6)+(d[z>>0]|0)|0;a[z>>0]=w>>>0>255?(w^-2147483648)>>31:w;z=c+(h+k)|0;y=(x-y>>6)+(d[z>>0]|0)|0;a[z>>0]=y>>>0>255?(y^-2147483648)>>31:y;h=h+1|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function cM(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==4)break;else e=0;while(1){if((e|0)==4)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function dM(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==8)break;else e=0;while(1){if((e|0)==8)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function eM(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)==16)break;switch(a[i+(d[146266+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else cM(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;aM(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+1|0}return}function fM(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)>=16)break;switch(a[i+(d[146266+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else dM(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;bM(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+4|0}return}function gM(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=1;while(1){if((j|0)==3)break;k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if((k|0)>=(m|0))break;if(!(a[i+(d[146266+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)cM((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else aM((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function hM(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=1;while(1){if((j|0)==3){j=1;break}k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if((k|0)>=(m|0))break;if(!(a[i+(d[146266+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)cM((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else aM((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}while(1){if((j|0)==3)break;k=j<<4;l=k|8;m=e+(j+-1<<2)|0;k=k|4;while(1){if((k|0)>=(l|0))break;n=k+4|0;if(!(a[i+(d[146266+n>>0]|0)>>0]|0)){o=g+(k<<4<<1)|0;if(b[o>>1]|0)cM((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,o,h)}else aM((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function iM(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=0;while(1){if((j|0)==16)break;if(!(a[i+(d[146266+j>>0]|0)>>0]|0)){k=g+(j<<4<<1)|0;if(b[k>>1]|0)cM(e+(c[f+(j<<2)>>2]|0)|0,k,h)}else aM(e+(c[f+(j<<2)>>2]|0)|0,g+(j<<4<<1)|0,h);j=j+1|0}return}function jM(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=l;l=l+64|0;if((l|0)>=(m|0))W(64);h=i;g=0;while(1){if((g|0)==4){g=0;break}s=g<<2;o=b[e+(s<<1)>>1]|0;p=s|1;k=b[e+(p<<1)>>1]|0;r=k+o|0;k=o-k|0;o=s|2;q=b[e+(o<<1)>>1]|0;j=s|3;t=b[e+(j<<1)>>1]|0;n=q-t|0;q=t+q|0;c[h+(s<<2)>>2]=q+r;c[h+(p<<2)>>2]=r-q;c[h+(o<<2)>>2]=k-n;c[h+(j<<2)>>2]=n+k;g=g+1|0}while(1){if((g|0)==4)break;t=d[146262+g>>0]|0;s=c[h+(g<<2)>>2]|0;p=c[h+(g+8<<2)>>2]|0;r=p+s|0;p=s-p|0;s=c[h+(g+4<<2)>>2]|0;o=c[h+(g+12<<2)>>2]|0;q=s-o|0;s=o+s|0;b[a+(t<<1)>>1]=((N(s+r|0,f)|0)+128|0)>>>8;b[a+(t+16<<1)>>1]=((N(q+p|0,f)|0)+128|0)>>>8;b[a+(t+64<<1)>>1]=((N(p-q|0,f)|0)+128|0)>>>8;b[a+(t+80<<1)>>1]=((N(r-s|0,f)|0)+128|0)>>>8;g=g+1|0}l=i;return}function kM(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b[a>>1]|0;j=a+32|0;e=b[j>>1]|0;g=a+64|0;h=b[g>>1]|0;d=a+96|0;k=b[d>>1]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;b[a>>1]=(N(h+i|0,c)|0)>>>7;b[j>>1]=(N(e+f|0,c)|0)>>>7;b[g>>1]=(N(i-h|0,c)|0)>>>7;b[d>>1]=(N(f-e|0,c)|0)>>>7;return}function lM(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;h=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=h;f=0;while(1){if((f|0)==4){f=0;break}j=f<<5;k=b[a+(j<<1)>>1]|0;j=b[a+((j|16)<<1)>>1]|0;i=f<<1;c[g+(i<<2)>>2]=j+k;c[g+((i|1)<<2)>>2]=k-j;f=f+1|0}while(1){if((f|0)==2)break;k=d[146260+f>>0]|0;j=c[g+(f<<2)>>2]|0;o=c[g+(f+4<<2)>>2]|0;i=o+j|0;o=j-o|0;j=c[g+(f+2<<2)>>2]|0;p=c[g+(f+6<<2)>>2]|0;n=j-p|0;j=p+j|0;b[a+(k<<1)>>1]=((N(j+i|0,e)|0)+128|0)>>>8;b[a+(k+32<<1)>>1]=((N(n+o|0,e)|0)+128|0)>>>8;b[a+(k+64<<1)>>1]=((N(o-n|0,e)|0)+128|0)>>>8;b[a+(k+96<<1)>>1]=((N(i-j|0,e)|0)+128|0)>>>8;f=f+1|0}l=h;return}function mM(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(N(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+8|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+9|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+10|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+11|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+12|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+13|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+14|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+15|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function nM(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(N(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function oM(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(N(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function pM(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(N(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(N(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function qM(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=N(d[c>>0]|0,i)|0;m=m+l+(N(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+8>>0]|0,i)|0;m=j+8|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+9>>0]|0,i)|0;b=j+9|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+10>>0]|0,i)|0;m=j+10|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+11>>0]|0,i)|0;b=j+11|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+12>>0]|0,i)|0;m=j+12|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+13>>0]|0,i)|0;b=j+13|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+14>>0]|0,i)|0;m=j+14|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+15>>0]|0,i)|0;b=j+15|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function rM(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=N(d[c>>0]|0,i)|0;m=m+l+(N(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function sM(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=N(d[c>>0]|0,i)|0;m=m+l+(N(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=N(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(N(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=N(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function tM(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=N(d[c>>0]|0,i)|0;m=m+l+(N(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=N(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(N(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function uM(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=0-c|0;z=N(c,-2)|0;A=N(c,-3)|0;B=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+y|0;s=d[r>>0]|0;h=n+z|0;t=d[h>>0]|0;i=d[n+A>>0]|0;u=d[n>>0]|0;k=n+c|0;v=d[k>>0]|0;l=d[n+B>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+1|0}}while(0);b=b+4|0;w=w+1|0}return}function vM(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<2;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function wM(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==2)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function xM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;w=N(c,-3)|0;x=N(c,-2)|0;y=0-c|0;z=c<<1;A=(e>>2)+2|0;u=N(c,-4)|0;v=c*3|0;m=0;while(1){if((m|0)==16)break;g=b+w|0;l=d[g>>0]|0;h=b+x|0;n=d[h>>0]|0;i=b+y|0;o=d[i>>0]|0;p=d[b>>0]|0;q=b+c|0;r=d[q>>0]|0;s=b+z|0;t=d[s>>0]|0;j=o-p|0;j=(j|0)>-1?j:0-j|0;do if(((j|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((j|0)>=(A|0)){a[i>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){B=d[b+u>>0]|0;a[i>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[h>>0]=(l+2+n+o+p|0)>>>2;i=g;h=3;j=4;k=p;g=(l*3|0)+n+(B<<1)|0}else{h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;B=t-p|0;if((((B|0)>-1?B:0-B|0)|0)<(f|0)){B=d[b+v>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(B<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+1|0;m=m+1|0}return}function yM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==16)break;i=b+-3|0;l=d[i>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){v=d[b+-4>>0]|0;a[g>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[j>>0]=(l+2+n+o+p|0)>>>2;h=3;j=4;k=p;g=(l*3|0)+n+(v<<1)|0}else{i=g;h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;v=t-p|0;if((((v|0)>-1?v:0-v|0)|0)<(f|0)){v=d[b+3>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(v<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function zM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==8)break;i=b+-3|0;l=d[i>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){v=d[b+-4>>0]|0;a[g>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[j>>0]=(l+2+n+o+p|0)>>>2;h=3;j=4;k=p;g=(l*3|0)+n+(v<<1)|0}else{i=g;h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;v=t-p|0;if((((v|0)>-1?v:0-v|0)|0)<(f|0)){v=d[b+3>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(v<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function AM(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=0-c|0;s=N(c,-2)|0;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+r|0;m=d[l>>0]|0;n=d[j+s>>0]|0;o=d[j>>0]|0;p=d[j+c>>0]|0;t=m-o|0;if(((((t|0)>-1?t:0-t|0)|0)<(e|0)?(t=n-m|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0)?(t=p-o|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0){t=n+4-p+(o-m<<2)>>3;t=(t|0)<(k|0)?k:(t|0)>(q|0)?q:t;p=t+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;t=o-t|0;a[j>>0]=t>>>0>255?(t^-2147483648)>>31:t}i=i+1|0;j=j+1|0}}while(0);b=b+2|0;h=h+1|0}return}
function nq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0;z=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((N(b,z)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-z<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((N(u,z)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((N(b+8|0,z)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((N(b+12|0,z)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-z<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=y;k=h+2>>2;k=ZW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=y;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((N(b,z)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=ZW(m|0,n|0,65537,65537)|0;q=y;m=ZW(f|0,o|0,65537,65537)|0;n=y;k=ZW(r|0,s|0,65537,65537)|0;l=y;i=ZW(g|0,t|0,65537,65537)|0;j=y;g=ZW(u|0,v|0,65537,65537)|0;h=y;d=ZW(w|0,x|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8){b=8;break}x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function oq(a,b){a=a|0;b=b|0;iq(a,b);iq(a+(b<<3)|0,b);return}function pq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=ZW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=y;d=g+2>>2;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=y;b=0;while(1){if((b|0)==16)break;g=a+((N(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function qq(a,b){a=a|0;b=b|0;pq(a,b);Fp(a,0,b);return}function rq(a,b){a=a|0;b=b|0;nq(a,b);Pp(a,0,b);return}function sq(a,b){a=a|0;b=b|0;oq(a,b);a=a+(b<<2)|0;Qp(a,0,b);Qp(a+8|0,0,b);return}function tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=33489407;c[f+4>>2]=33489407;e=e+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+1|0}return}function uq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=33620481;c[f+4>>2]=33620481;e=e+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+1|0}return}function vq(a,b){a=a|0;b=b|0;oq(a,b);Qp(a,0,b);Qp(a+8|0,0,b);return}function wq(a,b){a=a|0;b=b|0;iq(a,b);Qp(a,0,b);Qp(a+8|0,0,b);return}function xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=33554944;c[f+4>>2]=33554944;e=e+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0}return}function yq(a,b){a=a|0;b=b|0;xq(a,b);xq(a+(b<<3)|0,b);return}function zq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((N(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Aq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((N(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Bq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Cq(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+16|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+24|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+(d<<1)|0;a=a+1|0}return}function Dq(a,b){a=a|0;b=b|0;Wu(a,b);return}function Eq(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+16|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+24|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+(d<<1)|0;a=a+1|0}return}function Fq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((N(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Gq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Hq(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+16|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+24|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+(d<<1)|0;a=a+1|0}return}function Iq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Jq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Kq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}iX(d|0,0,256)|0;return}function Lq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}iX(d|0,0,256)|0;return}function Mq(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;if((l|0)>=(m|0))W(16);r=s;q=h>>1;u=e[a+(0-q<<1)>>1]|0;t=e[a+(1-q<<1)>>1]|0;h=e[a+(2-q<<1)>>1]|0;p=e[a+(3-q<<1)>>1]|0;o=e[a+(4-q<<1)>>1]|0;n=e[a+(5-q<<1)>>1]|0;k=e[a+(6-q<<1)>>1]|0;j=e[a+(7-q<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-q<<1)>>1]|0)+(j<<1)|0)>>>2;b[r>>1]=((e[a+((((f|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(u<<1)+t|0)>>>2;b[r+2>>1]=(u+2+(t<<1)+h|0)>>>2;b[r+4>>1]=(t+2+(h<<1)+p|0)>>>2;b[r+6>>1]=(h+2+(p<<1)+o|0)>>>2;b[r+8>>1]=(p+2+(o<<1)+n|0)>>>2;b[r+10>>1]=(o+2+(n<<1)+k|0)>>>2;b[r+12>>1]=(n+2+(k<<1)+j|0)>>>2;b[r+14>>1]=i;i=q<<1;j=q*3|0;k=q<<2;n=q*5|0;o=q*6|0;p=q*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;u=(c[f>>2]|0)+(e[r+(g<<1)>>1]|0)|0;b[h>>1]=u;u=(c[f+32>>2]|0)+u|0;b[h+(q<<1)>>1]=u;u=(c[f+64>>2]|0)+u|0;b[h+(i<<1)>>1]=u;u=(c[f+96>>2]|0)+u|0;b[h+(j<<1)>>1]=u;u=(c[f+128>>2]|0)+u|0;b[h+(k<<1)>>1]=u;u=(c[f+160>>2]|0)+u|0;b[h+(n<<1)>>1]=u;u=(c[f+192>>2]|0)+u|0;b[h+(o<<1)>>1]=u;b[h+(p<<1)>>1]=(c[f+224>>2]|0)+u;g=g+1|0;h=h+2|0;f=f+4|0}iX(d|0,0,256)|0;l=s;return}function Nq(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=k;i=h>>1;s=e[a+((N(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;r=e[a+-2>>1]|0;q=e[a+(i+-1<<1)>>1]|0;p=e[a+((i<<1)+-1<<1)>>1]|0;o=e[a+((i*3|0)+-1<<1)>>1]|0;n=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(s+2+(r<<1)+q|0)>>>2;b[j+2>>1]=(r+2+(q<<1)+p|0)>>>2;b[j+4>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+6>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+8>>1]=(o+2+(n<<1)+h|0)>>>2;b[j+10>>1]=(n+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;s=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=s;s=(c[h+4>>2]|0)+s|0;b[g+2>>1]=s;s=(c[h+8>>2]|0)+s|0;b[g+4>>1]=s;s=(c[h+12>>2]|0)+s|0;b[g+6>>1]=s;s=(c[h+16>>2]|0)+s|0;b[g+8>>1]=s;s=(c[h+20>>2]|0)+s|0;b[g+10>>1]=s;s=(c[h+24>>2]|0)+s|0;b[g+12>>1]=s;b[g+14>>1]=(c[h+28>>2]|0)+s;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}iX(d|0,0,256)|0;l=k;return}function Oq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Iq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Pq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Iq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Iq(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Qq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Jq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Rq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Jq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Jq(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Sq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Tq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0;d=d>>1;b=ZW(e[a+-2>>1]|0|0,0,65537,65537)|0;f=a;c[f>>2]=b;c[f+4>>2]=y;f=ZW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=a+(d<<1)|0;c[b>>2]=f;c[b+4>>2]=y;b=d<<1;f=ZW(e[a+(b+-1<<1)>>1]|0|0,0,65537,65537)|0;b=a+(b<<1)|0;c[b>>2]=f;c[b+4>>2]=y;d=d*3|0;b=ZW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;d=a+(d<<1)|0;c[d>>2]=b;c[d+4>>2]=y;return}function Uq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=y;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Vq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function Wq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function Xq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Yq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Zq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function _q(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function $q(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=ZW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=y;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function ar(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134154239;c[b+4>>2]=134154239;b=a+(d<<1)|0;c[b>>2]=134154239;c[b+4>>2]=134154239;b=a+(d<<1<<1)|0;c[b>>2]=134154239;c[b+4>>2]=134154239;d=a+(d*3<<1)|0;c[d>>2]=134154239;c[d+4>>2]=134154239;return}function br(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134285313;c[b+4>>2]=134285313;b=a+(d<<1)|0;c[b>>2]=134285313;c[b+4>>2]=134285313;b=a+(d<<1<<1)|0;c[b>>2]=134285313;c[b+4>>2]=134285313;d=a+(d*3<<1)|0;c[d>>2]=134285313;c[d+4>>2]=134285313;return}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=ZW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=y;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function dr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134219776;c[b+4>>2]=134219776;b=a+(d<<1)|0;c[b>>2]=134219776;c[b+4>>2]=134219776;b=a+(d<<1<<1)|0;c[b>>2]=134219776;c[b+4>>2]=134219776;d=a+(d*3<<1)|0;c[d>>2]=134219776;c[d+4>>2]=134219776;return}function er(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((N(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function fr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((N(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=ZW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=y;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=ZW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=y;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=ZW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=y;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=ZW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=y;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=ZW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=y;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=ZW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=y;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=ZW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=y;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=ZW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=y;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function gr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((N(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function hr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function ir(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((N(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function jr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((N(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function kr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((N(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function lr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function mr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((N(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function nr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((N(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=ZW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=y;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function or(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function pr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=134219776;c[e+4>>2]=134219776;e=a+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0;a=a+(d<<1)|0}return}function qr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((N(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((N(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function sr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function tr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function ur(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(N((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(N((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(N(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+i>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+j>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function vr(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(N((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(N((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(N((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(N(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+p>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+o>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function wr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((N(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((N(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=y;i=f+2>>2;i=ZW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=y;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((N(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=ZW(k|0,l|0,65537,65537)|0;h=y;d=ZW(f|0,m|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8)break;o=a+((N(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function xr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((N(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((N(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=ZW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=y;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((N(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=ZW(d|0,f|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8)break;k=a+((N(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function yr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=ZW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=y;d=g+2>>2;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=y;b=0;while(1){if((b|0)==4){b=4;break}g=a+((N(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((N(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function zr(a,b){a=a|0;b=b|0;yr(a,b);Uq(a,0,b);return}function Ar(a,b){a=a|0;b=b|0;wr(a,b);cr(a,0,b);return}function Br(a,b){a=a|0;b=b|0;xr(a,b);a=a+(b<<2)|0;dr(a,0,b);dr(a+8|0,0,b);return}function Cr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0;z=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((N(b,z)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-z<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((N(u,z)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((N(b+8|0,z)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((N(b+12|0,z)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-z<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=y;k=h+2>>2;k=ZW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=y;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((N(b,z)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=ZW(m|0,n|0,65537,65537)|0;q=y;m=ZW(f|0,o|0,65537,65537)|0;n=y;k=ZW(r|0,s|0,65537,65537)|0;l=y;i=ZW(g|0,t|0,65537,65537)|0;j=y;g=ZW(u|0,v|0,65537,65537)|0;h=y;d=ZW(w|0,x|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8){b=8;break}x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Dr(a,b){a=a|0;b=b|0;xr(a,b);xr(a+(b<<3)|0,b);return}function Er(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=ZW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=y;d=g+2>>2;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=y;b=0;while(1){if((b|0)==16)break;g=a+((N(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Fr(a,b){a=a|0;b=b|0;Er(a,b);Uq(a,0,b);return}function Gr(a,b){a=a|0;b=b|0;Cr(a,b);cr(a,0,b);return}function Hr(a,b){a=a|0;b=b|0;Dr(a,b);a=a+(b<<2)|0;dr(a,0,b);dr(a+8|0,0,b);return}function Ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=134154239;c[f+4>>2]=134154239;e=e+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+1|0}return}function Jr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=134285313;c[f+4>>2]=134285313;e=e+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+1|0}return}function Kr(a,b){a=a|0;b=b|0;Dr(a,b);dr(a,0,b);dr(a+8|0,0,b);return}function Lr(a,b){a=a|0;b=b|0;xr(a,b);dr(a,0,b);dr(a+8|0,0,b);return}function Mr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=134219776;c[f+4>>2]=134219776;e=e+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0}return}function Nr(a,b){a=a|0;b=b|0;Mr(a,b);Mr(a+(b<<3)|0,b);return}function Or(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((N(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Pr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((N(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Qr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Rr(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+16|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+24|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+(d<<1)|0;a=a+1|0}return}function Sr(a,b){a=a|0;b=b|0;Vu(a,b);return}function Tr(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+16|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+24|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+(d<<1)|0;a=a+1|0}return}function Ur(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((N(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Vr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+16|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+24|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+(d<<1)|0;a=a+1|0}return}function Xr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Yr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Zr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}iX(d|0,0,256)|0;return}function _r(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}iX(d|0,0,256)|0;return}function $r(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;if((l|0)>=(m|0))W(16);r=s;q=h>>1;u=e[a+(0-q<<1)>>1]|0;t=e[a+(1-q<<1)>>1]|0;h=e[a+(2-q<<1)>>1]|0;p=e[a+(3-q<<1)>>1]|0;o=e[a+(4-q<<1)>>1]|0;n=e[a+(5-q<<1)>>1]|0;k=e[a+(6-q<<1)>>1]|0;j=e[a+(7-q<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-q<<1)>>1]|0)+(j<<1)|0)>>>2;b[r>>1]=((e[a+((((f|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(u<<1)+t|0)>>>2;b[r+2>>1]=(u+2+(t<<1)+h|0)>>>2;b[r+4>>1]=(t+2+(h<<1)+p|0)>>>2;b[r+6>>1]=(h+2+(p<<1)+o|0)>>>2;b[r+8>>1]=(p+2+(o<<1)+n|0)>>>2;b[r+10>>1]=(o+2+(n<<1)+k|0)>>>2;b[r+12>>1]=(n+2+(k<<1)+j|0)>>>2;b[r+14>>1]=i;i=q<<1;j=q*3|0;k=q<<2;n=q*5|0;o=q*6|0;p=q*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;u=(c[f>>2]|0)+(e[r+(g<<1)>>1]|0)|0;b[h>>1]=u;u=(c[f+32>>2]|0)+u|0;b[h+(q<<1)>>1]=u;u=(c[f+64>>2]|0)+u|0;b[h+(i<<1)>>1]=u;u=(c[f+96>>2]|0)+u|0;b[h+(j<<1)>>1]=u;u=(c[f+128>>2]|0)+u|0;b[h+(k<<1)>>1]=u;u=(c[f+160>>2]|0)+u|0;b[h+(n<<1)>>1]=u;u=(c[f+192>>2]|0)+u|0;b[h+(o<<1)>>1]=u;b[h+(p<<1)>>1]=(c[f+224>>2]|0)+u;g=g+1|0;h=h+2|0;f=f+4|0}iX(d|0,0,256)|0;l=s;return}function as(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=k;i=h>>1;s=e[a+((N(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;r=e[a+-2>>1]|0;q=e[a+(i+-1<<1)>>1]|0;p=e[a+((i<<1)+-1<<1)>>1]|0;o=e[a+((i*3|0)+-1<<1)>>1]|0;n=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(s+2+(r<<1)+q|0)>>>2;b[j+2>>1]=(r+2+(q<<1)+p|0)>>>2;b[j+4>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+6>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+8>>1]=(o+2+(n<<1)+h|0)>>>2;b[j+10>>1]=(n+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;s=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=s;s=(c[h+4>>2]|0)+s|0;b[g+2>>1]=s;s=(c[h+8>>2]|0)+s|0;b[g+4>>1]=s;s=(c[h+12>>2]|0)+s|0;b[g+6>>1]=s;s=(c[h+16>>2]|0)+s|0;b[g+8>>1]=s;s=(c[h+20>>2]|0)+s|0;b[g+10>>1]=s;s=(c[h+24>>2]|0)+s|0;b[g+12>>1]=s;b[g+14>>1]=(c[h+28>>2]|0)+s;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}iX(d|0,0,256)|0;l=k;return}function bs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Xr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function cs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Xr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Xr(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function ds(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Yr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function es(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Yr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Yr(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function fs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function gs(a,b,d){a=a|0;b=b|0;d=d|0;var f=0;d=d>>1;b=ZW(e[a+-2>>1]|0|0,0,65537,65537)|0;f=a;c[f>>2]=b;c[f+4>>2]=y;f=ZW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=a+(d<<1)|0;c[b>>2]=f;c[b+4>>2]=y;b=d<<1;f=ZW(e[a+(b+-1<<1)>>1]|0|0,0,65537,65537)|0;b=a+(b<<1)|0;c[b>>2]=f;c[b+4>>2]=y;d=d*3|0;b=ZW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;d=a+(d<<1)|0;c[d>>2]=b;c[d+4>>2]=y;return}function hs(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=y;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function is(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function js(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function ks(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function ls(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function ms(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function ns(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function os(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=ZW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=y;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function ps(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536813567;c[b+4>>2]=536813567;b=a+(d<<1)|0;c[b>>2]=536813567;c[b+4>>2]=536813567;b=a+(d<<1<<1)|0;c[b>>2]=536813567;c[b+4>>2]=536813567;d=a+(d*3<<1)|0;c[d>>2]=536813567;c[d+4>>2]=536813567;return}function qs(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536944641;c[b+4>>2]=536944641;b=a+(d<<1)|0;c[b>>2]=536944641;c[b+4>>2]=536944641;b=a+(d<<1<<1)|0;c[b>>2]=536944641;c[b+4>>2]=536944641;d=a+(d*3<<1)|0;c[d>>2]=536944641;c[d+4>>2]=536944641;return}function rs(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=ZW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=y;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function ss(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536879104;c[b+4>>2]=536879104;b=a+(d<<1)|0;c[b>>2]=536879104;c[b+4>>2]=536879104;b=a+(d<<1<<1)|0;c[b>>2]=536879104;c[b+4>>2]=536879104;d=a+(d*3<<1)|0;c[d>>2]=536879104;c[d+4>>2]=536879104;return}function ts(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((N(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function us(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((N(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=ZW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=y;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=ZW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=y;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=ZW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=y;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=ZW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=y;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=ZW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=y;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=ZW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=y;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=ZW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=y;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=ZW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=y;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function vs(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((N(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function ws(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function xs(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((N(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function ys(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((N(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function zs(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((N(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function As(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Bs(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((N(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Cs(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((N(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=ZW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=y;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Ds(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Es(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=536879104;c[e+4>>2]=536879104;e=a+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0;a=a+(d<<1)|0}return}function Fs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((N(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Gs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((N(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Hs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Is(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Js(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(N((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(N((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(N(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+i>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+j>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Ks(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(N((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(N((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(N((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(N(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+p>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+o>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Ls(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((N(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((N(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=y;i=f+2>>2;i=ZW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=y;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((N(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=ZW(k|0,l|0,65537,65537)|0;h=y;d=ZW(f|0,m|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8)break;o=a+((N(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function Ms(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((N(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((N(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=ZW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=y;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((N(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=ZW(d|0,f|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8)break;k=a+((N(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Ns(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=ZW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=y;d=g+2>>2;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=y;b=0;while(1){if((b|0)==4){b=4;break}g=a+((N(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((N(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Os(a,b){a=a|0;b=b|0;Ns(a,b);hs(a,0,b);return}function Ps(a,b){a=a|0;b=b|0;Ls(a,b);rs(a,0,b);return}function Qs(a,b){a=a|0;b=b|0;Ms(a,b);a=a+(b<<2)|0;ss(a,0,b);ss(a+8|0,0,b);return}function Rs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0;z=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((N(b,z)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-z<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((N(u,z)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((N(b+8|0,z)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((N(b+12|0,z)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-z<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=y;k=h+2>>2;k=ZW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=y;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((N(b,z)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=ZW(m|0,n|0,65537,65537)|0;q=y;m=ZW(f|0,o|0,65537,65537)|0;n=y;k=ZW(r|0,s|0,65537,65537)|0;l=y;i=ZW(g|0,t|0,65537,65537)|0;j=y;g=ZW(u|0,v|0,65537,65537)|0;h=y;d=ZW(w|0,x|0,65537,65537)|0;f=y;b=4;while(1){if((b|0)==8){b=8;break}x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((N(b,z)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Ss(a,b){a=a|0;b=b|0;Ms(a,b);Ms(a+(b<<3)|0,b);return}function Ts(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=ZW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=y;d=g+2>>2;d=ZW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=y;b=0;while(1){if((b|0)==16)break;g=a+((N(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Us(a,b){a=a|0;b=b|0;Ts(a,b);hs(a,0,b);return}function Vs(a,b){a=a|0;b=b|0;Rs(a,b);rs(a,0,b);return}function Ws(a,b){a=a|0;b=b|0;Ss(a,b);a=a+(b<<2)|0;ss(a,0,b);ss(a+8|0,0,b);return}function Xs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=536813567;c[f+4>>2]=536813567;e=e+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+1|0}return}function Ys(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=536944641;c[f+4>>2]=536944641;e=e+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+1|0}return}function Zs(a,b){a=a|0;b=b|0;Ss(a,b);ss(a,0,b);ss(a+8|0,0,b);return}function _s(a,b){a=a|0;b=b|0;Ms(a,b);ss(a,0,b);ss(a+8|0,0,b);return}function $s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((N(b,d)|0)<<1)|0;f=e;c[f>>2]=536879104;c[f+4>>2]=536879104;e=e+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0}return}function at(a,b){a=a|0;b=b|0;$s(a,b);$s(a+(b<<3)|0,b);return}function bt(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((N(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function ct(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((N(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function dt(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=N(b,d)|0;h=ZW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=y;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function et(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+16|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+24|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+(d<<1)|0;a=a+1|0}return}function ft(a,b){a=a|0;b=b|0;Uu(a,b);return}function gt(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+16|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+24|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+(d<<1)|0;a=a+1|0}return}function ht(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((N(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function it(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=ZW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=y;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function jt(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+16|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+24|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+(d<<1)|0;a=a+1|0}return}function kt(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function lt(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function mt(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}iX(d|0,0,256)|0;return}function nt(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}iX(d|0,0,256)|0;return}function ot(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;if((l|0)>=(m|0))W(16);r=s;q=h>>1;u=e[a+(0-q<<1)>>1]|0;t=e[a+(1-q<<1)>>1]|0;h=e[a+(2-q<<1)>>1]|0;p=e[a+(3-q<<1)>>1]|0;o=e[a+(4-q<<1)>>1]|0;n=e[a+(5-q<<1)>>1]|0;k=e[a+(6-q<<1)>>1]|0;j=e[a+(7-q<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-q<<1)>>1]|0)+(j<<1)|0)>>>2;b[r>>1]=((e[a+((((f|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(u<<1)+t|0)>>>2;b[r+2>>1]=(u+2+(t<<1)+h|0)>>>2;b[r+4>>1]=(t+2+(h<<1)+p|0)>>>2;b[r+6>>1]=(h+2+(p<<1)+o|0)>>>2;b[r+8>>1]=(p+2+(o<<1)+n|0)>>>2;b[r+10>>1]=(o+2+(n<<1)+k|0)>>>2;b[r+12>>1]=(n+2+(k<<1)+j|0)>>>2;b[r+14>>1]=i;i=q<<1;j=q*3|0;k=q<<2;n=q*5|0;o=q*6|0;p=q*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;u=(c[f>>2]|0)+(e[r+(g<<1)>>1]|0)|0;b[h>>1]=u;u=(c[f+32>>2]|0)+u|0;b[h+(q<<1)>>1]=u;u=(c[f+64>>2]|0)+u|0;b[h+(i<<1)>>1]=u;u=(c[f+96>>2]|0)+u|0;b[h+(j<<1)>>1]=u;u=(c[f+128>>2]|0)+u|0;b[h+(k<<1)>>1]=u;u=(c[f+160>>2]|0)+u|0;b[h+(n<<1)>>1]=u;u=(c[f+192>>2]|0)+u|0;b[h+(o<<1)>>1]=u;b[h+(p<<1)>>1]=(c[f+224>>2]|0)+u;g=g+1|0;h=h+2|0;f=f+4|0}iX(d|0,0,256)|0;l=s;return}function pt(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=k;i=h>>1;s=e[a+((N(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;r=e[a+-2>>1]|0;q=e[a+(i+-1<<1)>>1]|0;p=e[a+((i<<1)+-1<<1)>>1]|0;o=e[a+((i*3|0)+-1<<1)>>1]|0;n=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(s+2+(r<<1)+q|0)>>>2;b[j+2>>1]=(r+2+(q<<1)+p|0)>>>2;b[j+4>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+6>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+8>>1]=(o+2+(n<<1)+h|0)>>>2;b[j+10>>1]=(n+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;s=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=s;s=(c[h+4>>2]|0)+s|0;b[g+2>>1]=s;s=(c[h+8>>2]|0)+s|0;b[g+4>>1]=s;s=(c[h+12>>2]|0)+s|0;b[g+6>>1]=s;s=(c[h+16>>2]|0)+s|0;b[g+8>>1]=s;s=(c[h+20>>2]|0)+s|0;b[g+10>>1]=s;s=(c[h+24>>2]|0)+s|0;b[g+12>>1]=s;b[g+14>>1]=(c[h+28>>2]|0)+s;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}iX(d|0,0,256)|0;l=k;return}function qt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;kt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}kt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;kt(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function st(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;lt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function tt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}lt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;lt(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function ut(a,b,d){a=a|0;b=b|0;d=d|0;b=c[a+(0-d)>>2]|0;c[a>>2]=b;c[a+d>>2]=b;c[a+(d<<1)>>2]=b;c[a+(d*3|0)>>2]=b;return}function vt(a,b,e){a=a|0;b=b|0;e=e|0;c[a>>2]=N(d[a+-1>>0]|0,16843009)|0;c[a+e>>2]=N(d[a+(e+-1)>>0]|0,16843009)|0;b=e<<1;c[a+b>>2]=N(d[a+(b+-1)>>0]|0,16843009)|0;e=e*3|0;c[a+e>>2]=N(d[a+(e+-1)>>0]|0,16843009)|0;return}function wt(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=N((d[a+(0-e)>>0]|0)+4+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)+(d[a+-1>>0]|0)+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)>>3,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function xt(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=d[b+(1-e)>>0]|0;h=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;j=d[c>>0]|0;i=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+2+h+(l<<1)|0)>>>2;c=(l+2+k+(h<<1)|0)>>>2&255;a[b+e>>0]=c;a[b+1>>0]=c;c=(h+2+j+(k<<1)|0)>>>2&255;h=e<<1;a[b+h>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;k=(k+2+i+(j<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(h|1)>>0]=k;a[b+(e+2)>>0]=k;a[b+3>>0]=k;j=(j+2+g+(i<<1)|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(h+2)>>0]=j;a[b+(e+3)>>0]=j;e=(i+2+f+(g<<1)|0)>>>2&255;a[b+(c+2)>>0]=e;a[b+(h+3)>>0]=e;a[b+(c+3)>>0]=(g+2+(f*3|0)|0)>>>2;return}function yt(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=d[b+~e>>0]|0;h=d[b+(0-e)>>0]|0;g=d[b+(1-e)>>0]|0;f=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;k=d[b+-1>>0]|0;n=d[b+(e+-1)>>0]|0;j=e<<1;i=d[b+(j+-1)>>0]|0;l=e*3|0;a[b+l>>0]=(n+2+(d[b+(l+-1)>>0]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&255;a[b+(l+1)>>0]=i;a[b+j>>0]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&255;a[b+(l+2)>>0]=n;a[b+(j|1)>>0]=n;a[b+e>>0]=n;k=((m<<1)+2+h+k|0)>>>2&255;a[b+(l+3)>>0]=k;a[b+(j+2)>>0]=k;a[b+(e+1)>>0]=k;a[b>>0]=k;i=(i+(h<<1)+g|0)>>>2&255;a[b+(j+3)>>0]=i;a[b+(e+2)>>0]=i;a[b+1>>0]=i;h=(h+2+(g<<1)+f|0)>>>2&255;a[b+(e+3)>>0]=h;a[b+2>>0]=h;a[b+3>>0]=(g+2+(f<<1)+c|0)>>>2;return}function zt(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d[b+~e>>0]|0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;h=d[b+-1>>0]|0;g=d[b+(e+-1)>>0]|0;i=e<<1;f=d[b+(i+-1)>>0]|0;c=e*3|0;o=(j+1+n|0)>>>1&255;a[b+(i|1)>>0]=o;a[b>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(i+2)>>0]=o;a[b+1>>0]=o;o=(m+1+l|0)>>>1&255;a[b+(i+3)>>0]=o;a[b+2>>0]=o;a[b+3>>0]=(l+1+k|0)>>>1;o=((j<<1)+2+n+h|0)>>>2&255;a[b+(c+1)>>0]=o;a[b+e>>0]=o;j=j+2|0;o=(j+(n<<1)+m|0)>>>2&255;a[b+(c+2)>>0]=o;a[b+(e+1)>>0]=o;n=(n+2+(m<<1)+l|0)>>>2&255;a[b+(c+3)>>0]=n;a[b+(e+2)>>0]=n;a[b+(e+3)>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+i>>0]=(j+(h<<1)+g|0)>>>2;a[b+c>>0]=(h+2+(g<<1)+f|0)>>>2;return}function At(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=d[b+~e>>0]|0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;j=d[b+-1>>0]|0;h=d[b+(e+-1)>>0]|0;i=e<<1;g=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;o=(k+1+j|0)>>>1&255;a[b+(e+2)>>0]=o;a[b>>0]=o;o=((k<<1)+2+n+j|0)>>>2&255;a[b+(e+3)>>0]=o;a[b+1>>0]=o;k=k+2|0;a[b+2>>0]=(k+(n<<1)+m|0)>>>2;a[b+3>>0]=(n+2+(m<<1)+l|0)>>>2;l=(j+1+h|0)>>>1&255;a[b+(i+2)>>0]=l;a[b+e>>0]=l;k=(k+(j<<1)+h|0)>>>2&255;a[b+(i+3)>>0]=k;a[b+(e+1)>>0]=k;e=(h+1+g|0)>>>1&255;a[b+(c+2)>>0]=e;a[b+i>>0]=e;e=(j+2+(h<<1)+g|0)>>>2&255;a[b+(c+3)>>0]=e;a[b+(i|1)>>0]=e;a[b+c>>0]=(g+1+f|0)>>>1;a[b+(c+1)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Bt(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=d[b+(0-e)>>0]|0;k=d[b+(1-e)>>0]|0;j=d[b+(2-e)>>0]|0;i=d[b+(3-e)>>0]|0;h=d[c>>0]|0;g=d[c+1>>0]|0;f=d[c+2>>0]|0;a[b>>0]=(l+1+k|0)>>>1;m=(k+1+j|0)>>>1&255;c=e<<1;a[b+c>>0]=m;a[b+1>>0]=m;m=(j+1+i|0)>>>1&255;a[b+(c|1)>>0]=m;a[b+2>>0]=m;m=(i+1+h|0)>>>1&255;a[b+(c+2)>>0]=m;a[b+3>>0]=m;a[b+(c+3)>>0]=(h+1+g|0)>>>1;a[b+e>>0]=(l+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(e+1)>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(e+2)>>0]=j;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(c+2)>>0]=i;a[b+(e+3)>>0]=i;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Ct(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d[b+-1>>0]|0;j=d[b+(e+-1)>>0]|0;c=e<<1;i=d[b+(c+-1)>>0]|0;g=e*3|0;f=a[b+(g+-1)>>0]|0;h=f&255;a[b>>0]=(k+1+j|0)>>>1;a[b+1>>0]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&255;a[b+e>>0]=k;a[b+2>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=(i+1+h|0)>>>1&255;a[b+c>>0]=j;a[b+(e+2)>>0]=j;h=(i+2+h+(h<<1)|0)>>>2&255;a[b+(c|1)>>0]=h;a[b+(e+3)>>0]=h;a[b+(g+3)>>0]=f;a[b+(g+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+g>>0]=f;a[b+(g+1)>>0]=f;a[b+(c+3)>>0]=f;return}function Dt(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=N(((d[a+-1>>0]|0)+2+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function Et(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=2139062143;c[a+d>>2]=2139062143;c[a+(d<<1)>>2]=2139062143;c[a+(d*3|0)>>2]=2139062143;return}function Ft(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2122219135;c[a+d>>2]=-2122219135;c[a+(d<<1)>>2]=-2122219135;c[a+(d*3|0)>>2]=-2122219135;return}function Gt(a,b,e){a=a|0;b=b|0;e=e|0;b=N(((d[a+(0-e)>>0]|0)+2+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function Ht(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2139062144;c[a+d>>2]=-2139062144;c[a+(d<<1)>>2]=-2139062144;c[a+(d*3|0)>>2]=-2139062144;return}function It(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=d[b+(0-g)>>0]|0;n=d[b+(1-g)>>0]|0;h=d[b+(2-g)>>0]|0;m=d[b+(3-g)>>0]|0;l=d[b+(4-g)>>0]|0;k=d[b+(5-g)>>0]|0;j=d[b+(6-g)>>0]|0;i=d[b+(7-g)>>0]|0;f=(j+2+(d[b+((f|0?8:7)-g)>>0]|0)+(i<<1)|0)>>>2;a[b>>0]=((d[b+((((e|0)!=0)<<31>>31)-g)>>0]|0)+2+(o<<1)+n|0)>>>2;a[b+1>>0]=(o+2+(n<<1)+h|0)>>>2;a[b+2>>0]=(n+2+(h<<1)+m|0)>>>2;a[b+3>>0]=(h+2+(m<<1)+l|0)>>>2;h=b+4|0;a[h>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+5>>0]=(l+2+(k<<1)+j|0)>>>2;a[b+6>>0]=(k+2+(j<<1)+i|0)>>>2;a[b+7>>0]=f;f=c[b>>2]|0;h=c[h>>2]|0;e=1;while(1){if((e|0)==8)break;o=b+(N(e,g)|0)|0;c[o>>2]=f;c[o+4>>2]=h;e=e+1|0}return}function Jt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=d[a+((N(((b|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;r=d[a+-1>>0]|0;p=d[a+(f+-1)>>0]|0;q=f<<1;n=d[a+(q+-1)>>0]|0;o=f*3|0;l=d[a+(o+-1)>>0]|0;m=f<<2;j=d[a+(m+-1)>>0]|0;k=f*5|0;h=d[a+(k+-1)>>0]|0;i=f*6|0;g=d[a+(i+-1)>>0]|0;b=f*7|0;e=d[a+(b+-1)>>0]|0;s=N((s+2+(r<<1)+p|0)>>>2,16843009)|0;c[a>>2]=s;c[a+4>>2]=s;r=N((r+2+(p<<1)+n|0)>>>2,16843009)|0;f=a+f|0;c[f>>2]=r;c[f+4>>2]=r;p=N((p+2+(n<<1)+l|0)>>>2,16843009)|0;f=a+q|0;c[f>>2]=p;c[f+4>>2]=p;n=N((n+2+(l<<1)+j|0)>>>2,16843009)|0;f=a+o|0;c[f>>2]=n;c[f+4>>2]=n;l=N((l+2+(j<<1)+h|0)>>>2,16843009)|0;f=a+m|0;c[f>>2]=l;c[f+4>>2]=l;j=N((j+2+(h<<1)+g|0)>>>2,16843009)|0;f=a+k|0;c[f>>2]=j;c[f+4>>2]=j;h=N((h+2+(g<<1)+e|0)>>>2,16843009)|0;f=a+i|0;c[f>>2]=h;c[f+4>>2]=h;e=N((g+2+(e*3|0)|0)>>>2,16843009)|0;f=a+b|0;c[f>>2]=e;c[f+4>>2]=e;return}function Kt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;n=((b|0)!=0)<<31>>31;w=d[a+((N(n,f)|0)+-1)>>0]|0;v=d[a+-1>>0]|0;u=d[a+(f+-1)>>0]|0;t=d[a+((f<<1)+-1)>>0]|0;s=d[a+((f*3|0)+-1)>>0]|0;r=d[a+((f<<2)+-1)>>0]|0;q=d[a+((f*5|0)+-1)>>0]|0;p=d[a+((f*6|0)+-1)>>0]|0;o=d[a+((f*7|0)+-1)>>0]|0;m=d[a+(0-f)>>0]|0;l=d[a+(1-f)>>0]|0;k=d[a+(2-f)>>0]|0;j=d[a+(3-f)>>0]|0;i=d[a+(4-f)>>0]|0;h=d[a+(5-f)>>0]|0;g=d[a+(6-f)>>0]|0;b=d[a+(7-f)>>0]|0;e=N(((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((d[a+(n-f)>>0]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(g<<1)+b|0)>>>2)+((g+2+(d[a+((e|0?8:7)-f)>>0]|0)+(b<<1)|0)>>>2)>>4,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function Lt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=d[b+(0-f)>>0]|0;q=d[b+(1-f)>>0]|0;t=d[b+(2-f)>>0]|0;r=(p+2+(q<<1)+t|0)>>>2;u=d[b+(3-f)>>0]|0;s=(q+2+(t<<1)+u|0)>>>2;v=d[b+(4-f)>>0]|0;t=(t+2+(u<<1)+v|0)>>>2;w=d[b+(5-f)>>0]|0;u=(u+2+(v<<1)+w|0)>>>2;o=d[b+(6-f)>>0]|0;v=(v+2+(w<<1)+o|0)>>>2;n=d[b+(7-f)>>0]|0;w=(w+2+(o<<1)+n|0)>>>2;m=(e|0)!=0;o=(o+2+(d[b+((m?8:7)-f)>>0]|0)+(n<<1)|0)>>>2;if(m){x=d[b+(8-f)>>0]|0;e=d[b+(9-f)>>0]|0;m=d[b+(10-f)>>0]|0;l=d[b+(11-f)>>0]|0;k=d[b+(12-f)>>0]|0;j=d[b+(13-f)>>0]|0;i=d[b+(14-f)>>0]|0;h=d[b+(15-f)>>0]|0;g=(i+2+(h*3|0)|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(m+2+(l<<1)+k|0)>>>2;l=(e+2+(m<<1)+l|0)>>>2;m=(x+2+(e<<1)+m|0)>>>2;e=(n+2+(x<<1)+e|0)>>>2}else{g=n;h=n;i=n;j=n;k=n;l=n;m=n;e=n}a[b>>0]=((((d[b+((((c|0)!=0)<<31>>31)-f)>>0]|0)+2+(p<<1)+q|0)>>>2)+2+(r<<1)+s|0)>>>2;r=(r+2+(s<<1)+t|0)>>>2&255;a[b+1>>0]=r;a[b+f>>0]=r;s=(s+2+(t<<1)+u|0)>>>2&255;a[b+2>>0]=s;a[b+(f+1)>>0]=s;r=f<<1;a[b+r>>0]=s;t=(t+2+(u<<1)+v|0)>>>2&255;a[b+3>>0]=t;a[b+(f+2)>>0]=t;a[b+(r|1)>>0]=t;s=f*3|0;a[b+s>>0]=t;u=(u+2+(v<<1)+w|0)>>>2&255;a[b+4>>0]=u;a[b+(f+3)>>0]=u;a[b+(r+2)>>0]=u;a[b+(s+1)>>0]=u;t=f<<2;a[b+t>>0]=u;v=(v+2+(w<<1)+o|0)>>>2&255;a[b+5>>0]=v;a[b+(f+4)>>0]=v;a[b+(r+3)>>0]=v;a[b+(s+2)>>0]=v;a[b+(t|1)>>0]=v;u=f*5|0;a[b+u>>0]=v;w=(w+2+(o<<1)+e|0)>>>2&255;a[b+6>>0]=w;a[b+(f+5)>>0]=w;a[b+(r+4)>>0]=w;a[b+(s+3)>>0]=w;a[b+(t|2)>>0]=w;a[b+(u+1)>>0]=w;v=f*6|0;a[b+v>>0]=w;w=(o+2+(e<<1)+m|0)>>>2&255;a[b+7>>0]=w;a[b+(f+6)>>0]=w;a[b+(r+5)>>0]=w;a[b+(s+4)>>0]=w;a[b+(t|3)>>0]=w;a[b+(u+2)>>0]=w;a[b+(v|1)>>0]=w;x=f*7|0;a[b+x>>0]=w;w=(e+2+(m<<1)+l|0)>>>2&255;a[b+(f+7)>>0]=w;a[b+(r+6)>>0]=w;a[b+(s+5)>>0]=w;a[b+(t+4)>>0]=w;a[b+(u+3)>>0]=w;a[b+(v+2)>>0]=w;a[b+(x+1)>>0]=w;w=(m+2+(l<<1)+k|0)>>>2&255;a[b+(r+7)>>0]=w;a[b+(s+6)>>0]=w;a[b+(t+5)>>0]=w;a[b+(u+4)>>0]=w;a[b+(v+3)>>0]=w;a[b+(x+2)>>0]=w;w=(l+2+(k<<1)+j|0)>>>2&255;a[b+(s+7)>>0]=w;a[b+(t+6)>>0]=w;a[b+(u+5)>>0]=w;a[b+(v+4)>>0]=w;a[b+(x+3)>>0]=w;w=(k+2+(j<<1)+i|0)>>>2&255;a[b+(t+7)>>0]=w;a[b+(u+6)>>0]=w;a[b+(v+5)>>0]=w;a[b+(x+4)>>0]=w;w=(j+2+(i<<1)+h|0)>>>2&255;a[b+(u+7)>>0]=w;a[b+(v+6)>>0]=w;a[b+(x+5)>>0]=w;w=(i+2+(h<<1)+g|0)>>>2&255;a[b+(v+7)>>0]=w;a[b+(x+6)>>0]=w;a[b+(x+7)>>0]=(h+2+(g*3|0)|0)>>>2;return}function Mt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;t=((c|0)!=0)<<31>>31;C=d[b+(0-f)>>0]|0;k=d[b+(1-f)>>0]|0;s=((d[b+(t-f)>>0]|0)+2+(C<<1)+k|0)>>>2;i=d[b+(2-f)>>0]|0;C=C+2|0;m=(C+(k<<1)+i|0)>>>2;h=d[b+(3-f)>>0]|0;k=(k+2+(i<<1)+h|0)>>>2;g=d[b+(4-f)>>0]|0;i=(i+2+(h<<1)+g|0)>>>2;c=d[b+(5-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;v=d[b+(6-f)>>0]|0;g=(g+2+(c<<1)+v|0)>>>2;q=d[b+(7-f)>>0]|0;c=(c+2+(v<<1)+q|0)>>>2;e=(v+2+(d[b+((e|0?8:7)-f)>>0]|0)+(q<<1)|0)>>>2;t=d[b+((N(t,f)|0)+-1)>>0]|0;q=d[b+-1>>0]|0;v=d[b+(f+-1)>>0]|0;t=(t+2+(q<<1)+v|0)>>>2;j=f<<1;w=d[b+(j+-1)>>0]|0;o=(q+2+(v<<1)+w|0)>>>2;l=f*3|0;x=d[b+(l+-1)>>0]|0;v=(v+2+(w<<1)+x|0)>>>2;n=f<<2;y=d[b+(n+-1)>>0]|0;w=(w+2+(x<<1)+y|0)>>>2;p=f*5|0;z=d[b+(p+-1)>>0]|0;x=(x+2+(y<<1)+z|0)>>>2;r=f*6|0;B=d[b+(r+-1)>>0]|0;y=(y+2+(z<<1)+B|0)>>>2;u=f*7|0;A=d[b+(u+-1)>>0]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+u>>0]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&255;a[b+(u+1)>>0]=z;a[b+r>>0]=z;y=(w+2+(x<<1)+y|0)>>>2&255;a[b+(u+2)>>0]=y;a[b+(r|1)>>0]=y;a[b+p>>0]=y;x=(v+2+(w<<1)+x|0)>>>2&255;a[b+(u+3)>>0]=x;a[b+(r+2)>>0]=x;a[b+(p+1)>>0]=x;a[b+n>>0]=x;w=(o+2+(v<<1)+w|0)>>>2&255;a[b+(u+4)>>0]=w;a[b+(r+3)>>0]=w;a[b+(p+2)>>0]=w;a[b+(n|1)>>0]=w;a[b+l>>0]=w;v=(t+2+(o<<1)+v|0)>>>2&255;a[b+(u+5)>>0]=v;a[b+(r+4)>>0]=v;a[b+(p+3)>>0]=v;a[b+(n|2)>>0]=v;a[b+(l+1)>>0]=v;a[b+j>>0]=v;o=((t<<1)+2+o+q|0)>>>2&255;a[b+(u+6)>>0]=o;a[b+(r+5)>>0]=o;a[b+(p+4)>>0]=o;a[b+(n|3)>>0]=o;a[b+(l+2)>>0]=o;a[b+(j|1)>>0]=o;a[b+f>>0]=o;o=s+2|0;t=(o+t+(q<<1)|0)>>>2&255;a[b+(u+7)>>0]=t;a[b+(r+6)>>0]=t;a[b+(p+5)>>0]=t;a[b+(n+4)>>0]=t;a[b+(l+3)>>0]=t;a[b+(j+2)>>0]=t;a[b+(f+1)>>0]=t;a[b>>0]=t;q=((s<<1)+2+m+q|0)>>>2&255;a[b+(r+7)>>0]=q;a[b+(p+6)>>0]=q;a[b+(n+5)>>0]=q;a[b+(l+4)>>0]=q;a[b+(j+3)>>0]=q;a[b+(f+2)>>0]=q;a[b+1>>0]=q;o=(o+(m<<1)+k|0)>>>2&255;a[b+(p+7)>>0]=o;a[b+(n+6)>>0]=o;a[b+(l+5)>>0]=o;a[b+(j+4)>>0]=o;a[b+(f+3)>>0]=o;a[b+2>>0]=o;m=(m+2+(k<<1)+i|0)>>>2&255;a[b+(n+7)>>0]=m;a[b+(l+6)>>0]=m;a[b+(j+5)>>0]=m;a[b+(f+4)>>0]=m;a[b+3>>0]=m;k=(k+2+(i<<1)+h|0)>>>2&255;a[b+(l+7)>>0]=k;a[b+(j+6)>>0]=k;a[b+(f+5)>>0]=k;a[b+4>>0]=k;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(j+7)>>0]=i;a[b+(f+6)>>0]=i;a[b+5>>0]=i;h=(h+2+(g<<1)+c|0)>>>2&255;a[b+(f+7)>>0]=h;a[b+6>>0]=h;a[b+7>>0]=(g+2+(c<<1)+e|0)>>>2;return}function Nt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;s=((c|0)!=0)<<31>>31;A=d[b+(0-f)>>0]|0;n=d[b+(1-f)>>0]|0;u=((d[b+(s-f)>>0]|0)+2+(A<<1)+n|0)>>>2;k=d[b+(2-f)>>0]|0;A=A+2|0;q=(A+(n<<1)+k|0)>>>2;h=d[b+(3-f)>>0]|0;n=(n+2+(k<<1)+h|0)>>>2;g=d[b+(4-f)>>0]|0;k=(k+2+(h<<1)+g|0)>>>2;c=d[b+(5-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;r=d[b+(6-f)>>0]|0;g=(g+2+(c<<1)+r|0)>>>2;t=d[b+(7-f)>>0]|0;c=(c+2+(r<<1)+t|0)>>>2;e=(r+2+(d[b+((e|0?8:7)-f)>>0]|0)+(t<<1)|0)>>>2;s=d[b+((N(s,f)|0)+-1)>>0]|0;t=d[b+-1>>0]|0;r=d[b+(f+-1)>>0]|0;s=(s+2+(t<<1)+r|0)>>>2;i=f<<1;x=d[b+(i+-1)>>0]|0;v=(t+2+(r<<1)+x|0)>>>2;j=f*3|0;w=d[b+(j+-1)>>0]|0;r=(r+2+(x<<1)+w|0)>>>2;l=f<<2;z=d[b+(l+-1)>>0]|0;x=(x+2+(w<<1)+z|0)>>>2;m=f*5|0;B=d[b+(m+-1)>>0]|0;w=(w+2+(z<<1)+B|0)>>>2;o=f*6|0;y=d[b+(o+-1)>>0]|0;z=(z+2+(B<<1)+y|0)>>>2;p=f*7|0;y=(B+2+(y<<1)+(d[b+(p+-1)>>0]|0)|0)>>>2;t=(A+t+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+o>>0]=(x+2+(w<<1)+z|0)>>>2;a[b+p>>0]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(r<<1)+x|0)>>>2&255;a[b+(o|1)>>0]=y;a[b+l>>0]=y;w=(r+2+(x<<1)+w|0)>>>2&255;a[b+(p+1)>>0]=w;a[b+m>>0]=w;w=((s<<1)+2+v+t|0)>>>2&255;a[b+(o+2)>>0]=w;a[b+(l|1)>>0]=w;a[b+i>>0]=w;r=(s+2+(v<<1)+r|0)>>>2&255;a[b+(p+2)>>0]=r;a[b+(m+1)>>0]=r;a[b+j>>0]=r;r=u+2|0;s=(r+s+(t<<1)|0)>>>2&255;a[b+(p+3)>>0]=s;a[b+(m+2)>>0]=s;a[b+(j+1)>>0]=s;a[b+f>>0]=s;s=u+1|0;v=(s+t|0)>>>1&255;a[b+(o+3)>>0]=v;a[b+(l|2)>>0]=v;a[b+(i|1)>>0]=v;a[b>>0]=v;t=((u<<1)+2+q+t|0)>>>2&255;a[b+(p+4)>>0]=t;a[b+(m+3)>>0]=t;a[b+(j+2)>>0]=t;a[b+(f+1)>>0]=t;s=(s+q|0)>>>1&255;a[b+(o+4)>>0]=s;a[b+(l|3)>>0]=s;a[b+(i+2)>>0]=s;a[b+1>>0]=s;r=(r+(q<<1)+n|0)>>>2&255;a[b+(p+5)>>0]=r;a[b+(m+4)>>0]=r;a[b+(j+3)>>0]=r;a[b+(f+2)>>0]=r;r=(q+1+n|0)>>>1&255;a[b+(o+5)>>0]=r;a[b+(l+4)>>0]=r;a[b+(i+3)>>0]=r;a[b+2>>0]=r;q=(q+2+(n<<1)+k|0)>>>2&255;a[b+(p+6)>>0]=q;a[b+(m+5)>>0]=q;a[b+(j+4)>>0]=q;a[b+(f+3)>>0]=q;q=(n+1+k|0)>>>1&255;a[b+(o+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+(i+4)>>0]=q;a[b+3>>0]=q;n=(n+2+(k<<1)+h|0)>>>2&255;a[b+(p+7)>>0]=n;a[b+(m+6)>>0]=n;a[b+(j+5)>>0]=n;a[b+(f+4)>>0]=n;n=(k+1+h|0)>>>1&255;a[b+(o+7)>>0]=n;a[b+(l+6)>>0]=n;a[b+(i+5)>>0]=n;a[b+4>>0]=n;k=(k+2+(h<<1)+g|0)>>>2&255;a[b+(m+7)>>0]=k;a[b+(j+6)>>0]=k;a[b+(f+5)>>0]=k;k=(h+1+g|0)>>>1&255;a[b+(l+7)>>0]=k;a[b+(i+6)>>0]=k;a[b+5>>0]=k;h=(h+2+(g<<1)+c|0)>>>2&255;a[b+(j+7)>>0]=h;a[b+(f+6)>>0]=h;h=(g+1+c|0)>>>1&255;a[b+(i+7)>>0]=h;a[b+6>>0]=h;a[b+(f+7)>>0]=(g+2+(c<<1)+e|0)>>>2;a[b+7>>0]=(c+1+e|0)>>>1;return}function Ot(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;o=((c|0)!=0)<<31>>31;A=d[b+(0-f)>>0]|0;i=d[b+(1-f)>>0]|0;n=((d[b+(o-f)>>0]|0)+2+(A<<1)+i|0)>>>2;h=d[b+(2-f)>>0]|0;A=A+2|0;j=(A+(i<<1)+h|0)>>>2;g=d[b+(3-f)>>0]|0;i=(i+2+(h<<1)+g|0)>>>2;c=d[b+(4-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;m=d[b+(5-f)>>0]|0;g=(g+2+(c<<1)+m|0)>>>2;e=d[b+(6-f)>>0]|0;c=(c+2+(m<<1)+e|0)>>>2;e=(m+2+(e<<1)+(d[b+(7-f)>>0]|0)|0)>>>2;o=d[b+((N(o,f)|0)+-1)>>0]|0;m=d[b+-1>>0]|0;k=d[b+(f+-1)>>0]|0;o=(o+2+(m<<1)+k|0)>>>2;l=f<<1;t=d[b+(l+-1)>>0]|0;q=(m+2+(k<<1)+t|0)>>>2;p=f*3|0;v=d[b+(p+-1)>>0]|0;k=(k+2+(t<<1)+v|0)>>>2;r=f<<2;x=d[b+(r+-1)>>0]|0;t=(t+2+(v<<1)+x|0)>>>2;s=f*5|0;y=d[b+(s+-1)>>0]|0;v=(v+2+(x<<1)+y|0)>>>2;u=f*6|0;B=d[b+(u+-1)>>0]|0;x=(x+2+(y<<1)+B|0)>>>2;w=f*7|0;z=d[b+(w+-1)>>0]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+w>>0]=(z+1+y|0)>>>1;a[b+(w+1)>>0]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&255;a[b+(w+2)>>0]=z;a[b+u>>0]=z;y=(v+2+(x<<1)+y|0)>>>2&255;a[b+(w+3)>>0]=y;a[b+(u|1)>>0]=y;y=(v+1+x|0)>>>1&255;a[b+(w+4)>>0]=y;a[b+(u+2)>>0]=y;a[b+s>>0]=y;x=(t+2+(v<<1)+x|0)>>>2&255;a[b+(w+5)>>0]=x;a[b+(u+3)>>0]=x;a[b+(s+1)>>0]=x;x=(t+1+v|0)>>>1&255;a[b+(w+6)>>0]=x;a[b+(u+4)>>0]=x;a[b+(s+2)>>0]=x;a[b+r>>0]=x;v=(k+2+(t<<1)+v|0)>>>2&255;a[b+(w+7)>>0]=v;a[b+(u+5)>>0]=v;a[b+(s+3)>>0]=v;a[b+(r|1)>>0]=v;v=(k+1+t|0)>>>1&255;a[b+(u+6)>>0]=v;a[b+(s+4)>>0]=v;a[b+(r|2)>>0]=v;a[b+p>>0]=v;t=(q+2+(k<<1)+t|0)>>>2&255;a[b+(u+7)>>0]=t;a[b+(s+5)>>0]=t;a[b+(r|3)>>0]=t;a[b+(p+1)>>0]=t;t=(q+1+k|0)>>>1&255;a[b+(s+6)>>0]=t;a[b+(r+4)>>0]=t;a[b+(p+2)>>0]=t;a[b+l>>0]=t;k=(o+2+(q<<1)+k|0)>>>2&255;a[b+(s+7)>>0]=k;a[b+(r+5)>>0]=k;a[b+(p+3)>>0]=k;a[b+(l|1)>>0]=k;k=o+1|0;s=(k+q|0)>>>1&255;a[b+(r+6)>>0]=s;a[b+(p+4)>>0]=s;a[b+(l+2)>>0]=s;a[b+f>>0]=s;q=((o<<1)+2+q+m|0)>>>2&255;a[b+(r+7)>>0]=q;a[b+(p+5)>>0]=q;a[b+(l+3)>>0]=q;a[b+(f+1)>>0]=q;k=(k+m|0)>>>1&255;a[b+(p+6)>>0]=k;a[b+(l+4)>>0]=k;a[b+(f+2)>>0]=k;a[b>>0]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&255;a[b+(p+7)>>0]=o;a[b+(l+5)>>0]=o;a[b+(f+3)>>0]=o;a[b+1>>0]=o;m=((n<<1)+2+j+m|0)>>>2&255;a[b+(l+6)>>0]=m;a[b+(f+4)>>0]=m;a[b+2>>0]=m;k=(k+(j<<1)+i|0)>>>2&255;a[b+(l+7)>>0]=k;a[b+(f+5)>>0]=k;a[b+3>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(f+6)>>0]=j;a[b+4>>0]=j;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(f+7)>>0]=i;a[b+5>>0]=i;a[b+6>>0]=(h+2+(g<<1)+c|0)>>>2;a[b+7>>0]=(g+2+(c<<1)+e|0)>>>2;return}function Pt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=d[b+(0-f)>>0]|0;m=d[b+(1-f)>>0]|0;k=((d[b+((((c|0)!=0)<<31>>31)-f)>>0]|0)+2+(l<<1)+m|0)>>>2;n=d[b+(2-f)>>0]|0;l=(l+2+(m<<1)+n|0)>>>2;o=d[b+(3-f)>>0]|0;m=(m+2+(n<<1)+o|0)>>>2;p=d[b+(4-f)>>0]|0;n=(n+2+(o<<1)+p|0)>>>2;q=d[b+(5-f)>>0]|0;o=(o+2+(p<<1)+q|0)>>>2;j=d[b+(6-f)>>0]|0;p=(p+2+(q<<1)+j|0)>>>2;c=d[b+(7-f)>>0]|0;q=(q+2+(j<<1)+c|0)>>>2;i=(e|0)!=0;j=(j+2+(d[b+((i?8:7)-f)>>0]|0)+(c<<1)|0)>>>2;if(i){s=d[b+(8-f)>>0]|0;r=d[b+(9-f)>>0]|0;i=d[b+(10-f)>>0]|0;h=d[b+(11-f)>>0]|0;g=d[b+(12-f)>>0]|0;e=(h+2+(g<<1)+(d[b+(13-f)>>0]|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(r+2+(i<<1)+h|0)>>>2;i=(s+2+(r<<1)+i|0)>>>2;c=(c+2+(s<<1)+r|0)>>>2}else{e=c;g=c;h=c;i=c}a[b>>0]=(k+1+l|0)>>>1;a[b+f>>0]=(k+2+(l<<1)+m|0)>>>2;s=(l+1+m|0)>>>1&255;a[b+1>>0]=s;t=f<<1;a[b+t>>0]=s;s=(l+2+(m<<1)+n|0)>>>2&255;a[b+(f+1)>>0]=s;k=f*3|0;a[b+k>>0]=s;s=(m+1+n|0)>>>1&255;a[b+2>>0]=s;a[b+(t|1)>>0]=s;l=f<<2;a[b+l>>0]=s;s=(m+2+(n<<1)+o|0)>>>2&255;a[b+(f+2)>>0]=s;a[b+(k+1)>>0]=s;m=f*5|0;a[b+m>>0]=s;s=(n+1+o|0)>>>1&255;a[b+3>>0]=s;a[b+(t+2)>>0]=s;a[b+(l|1)>>0]=s;r=f*6|0;a[b+r>>0]=s;n=(n+2+(o<<1)+p|0)>>>2&255;a[b+(f+3)>>0]=n;a[b+(k+2)>>0]=n;a[b+(m+1)>>0]=n;s=f*7|0;a[b+s>>0]=n;n=(o+1+p|0)>>>1&255;a[b+4>>0]=n;a[b+(t+3)>>0]=n;a[b+(l|2)>>0]=n;a[b+(r|1)>>0]=n;o=(o+2+(p<<1)+q|0)>>>2&255;a[b+(f+4)>>0]=o;a[b+(k+3)>>0]=o;a[b+(m+2)>>0]=o;a[b+(s+1)>>0]=o;o=(p+1+q|0)>>>1&255;a[b+5>>0]=o;a[b+(t+4)>>0]=o;a[b+(l|3)>>0]=o;a[b+(r+2)>>0]=o;p=(p+2+(q<<1)+j|0)>>>2&255;a[b+(f+5)>>0]=p;a[b+(k+4)>>0]=p;a[b+(m+3)>>0]=p;a[b+(s+2)>>0]=p;p=(q+1+j|0)>>>1&255;a[b+6>>0]=p;a[b+(t+5)>>0]=p;a[b+(l+4)>>0]=p;a[b+(r+3)>>0]=p;q=(q+2+(j<<1)+c|0)>>>2&255;a[b+(f+6)>>0]=q;a[b+(k+5)>>0]=q;a[b+(m+4)>>0]=q;a[b+(s+3)>>0]=q;q=(j+1+c|0)>>>1&255;a[b+7>>0]=q;a[b+(t+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+(r+4)>>0]=q;q=(j+2+(c<<1)+i|0)>>>2&255;a[b+(f+7)>>0]=q;a[b+(k+6)>>0]=q;a[b+(m+5)>>0]=q;a[b+(s+4)>>0]=q;f=(c+1+i|0)>>>1&255;a[b+(t+7)>>0]=f;a[b+(l+6)>>0]=f;a[b+(r+5)>>0]=f;f=(c+2+(i<<1)+h|0)>>>2&255;a[b+(k+7)>>0]=f;a[b+(m+6)>>0]=f;a[b+(s+5)>>0]=f;f=(i+1+h|0)>>>1&255;a[b+(l+7)>>0]=f;a[b+(r+6)>>0]=f;f=(i+2+(h<<1)+g|0)>>>2&255;a[b+(m+7)>>0]=f;a[b+(s+6)>>0]=f;a[b+(r+7)>>0]=(h+1+g|0)>>>1;a[b+(s+7)>>0]=(h+2+(g<<1)+e|0)>>>2;return}
function wk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;qa=l;l=l+208|0;if((l|0)>=(m|0))W(208);ia=qa+128|0;ba=qa+120|0;ea=qa+104|0;da=qa+88|0;t=qa+80|0;s=qa+72|0;r=qa+64|0;u=qa+56|0;p=qa+40|0;q=qa+24|0;o=qa+16|0;k=qa;ka=qa+192|0;V=qa+176|0;X=qa+144|0;na=f+28212|0;Y=c[(c[na>>2]|0)+64>>2]|0;ja=f+28216|0;ca=((c[(c[ja>>2]|0)+12>>2]|0)+-1|0)>>>0<2;ma=c[f+25664>>2]|0;ga=g+21788|0;ha=g+21792|0;$=f+27016|0;pa=(N(c[$>>2]|0,c[ha>>2]|0)|0)+(c[ga>>2]|0)|0;oa=g+21796|0;c[oa>>2]=pa;n=g+840|0;if((c[n>>2]|0)!=1){j=g+21816|0;h=c[j>>2]|0;if((h|0)==-1){h=xk(g+4|0)|0;c[j>>2]=h}i=h+-1|0;c[j>>2]=i;if(h){if(c[f+26376>>2]|0?(c[ha>>2]&1|i|0)==0:0){pa=yk(g+4|0)|0;c[g+21828>>2]=pa;c[g+21832>>2]=pa}zk(f,g);h=0}else fa=9}else fa=9;a:do if((fa|0)==9){_=f+26376|0;if(c[_>>2]|0?(c[ha>>2]&1|0)==0:0){la=yk(g+4|0)|0;c[g+21828>>2]=la;c[g+21832>>2]=la}c[g+21648>>2]=0;la=g+4|0;i=Ak(la)|0;c[ka>>2]=i;b:do switch(c[n>>2]|0){case 3:if(i>>>0<23){aa=a[113990+(i<<2)+2>>0]|0;h=e[113990+(i<<2)>>1]|0;c[ka>>2]=h;i=aa;aa=0;break b}else{h=i+-23|0;c[ka>>2]=h;fa=21;break b}case 2:if(i>>>0<5){aa=a[113954+(i<<2)+2>>0]|0;h=e[113954+(i<<2)>>1]|0;c[ka>>2]=h;i=aa;aa=0;break b}else{h=i+-5|0;c[ka>>2]=h;fa=21;break b}default:{h=i+-1|0;if(i|0?(c[g+836>>2]|0)==5:0){c[ka>>2]=h;fa=21}else{h=i;fa=21}}}while(0);do if((fa|0)==21)if(h>>>0>25){f=c[f+4>>2]|0;oa=(Ui(c[g+836>>2]|0)|0)<<24>>24;pa=c[ga>>2]|0;g=c[ha>>2]|0;c[k>>2]=h;c[k+4>>2]=oa;c[k+8>>2]=pa;c[k+12>>2]=g;Uf(f,16,134767,k);h=-1;break a}else{aa=d[113850+(h<<2)+3>>0]|0;c[g+21660>>2]=d[113850+(h<<2)+2>>0];h=e[113850+(h<<2)>>1]|0;c[ka>>2]=h;i=0;break}while(0);Z=g+21828|0;if(c[Z>>2]|0){h=h|128;c[ka>>2]=h}b[(c[f+26372>>2]|0)+(pa<<1)>>1]=c[g+832>>2];if(h&4|0){h=c[ja>>2]|0;h=N(c[h+1184>>2]|0,e[114134+(c[h+12>>2]<<1)>>1]|0)|0;c[g+27780>>2]=Bk(la)|0;if((Ck(la)|0)<(h|0)){Uf(c[f+4>>2]|0,16,134810,o);h=-1094995529;break}else{Dk(la,h);a[(c[f+24340>>2]|0)+pa>>0]=0;k=(c[f+25972>>2]|0)+(pa*48|0)|0;n=k+48|0;do{a[k>>0]=16;k=k+1|0}while((k|0)<(n|0));c[(c[f+24364>>2]|0)+(pa<<2)>>2]=c[ka>>2];h=0;break}}Ek(f,g,h);Fk(f,g,h);c:do if(!(h&7)){if(i<<24>>24==4){d:do if((c[n>>2]|0)==3){h=0;while(1){if((h|0)>=4)break;i=Jk(la)|0;j=g+28552+(h<<1)|0;b[j>>1]=i;k=i&65535;if(k>>>0>12){fa=52;break}c[V+(h<<2)>>2]=d[114082+(k<<2)+2>>0];b[j>>1]=b[114082+((i&65535)<<2)>>1]|0;h=h+1|0}if((fa|0)==52){g=c[f+4>>2]|0;pa=c[ga>>2]|0;f=c[ha>>2]|0;c[q>>2]=k;c[q+4>>2]=pa;c[q+8>>2]=f;Uf(g,16,134851,q);break}if(!((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256))fa=56;else{Kk(f,g,ka);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;fa=56}}else{h=0;while(1){if((h|0)>=4){fa=56;break d}i=Jk(la)|0;j=g+28552+(h<<1)|0;b[j>>1]=i;k=i&65535;if(k>>>0>3)break;c[V+(h<<2)>>2]=d[113974+(k<<2)+2>>0];b[j>>1]=b[113974+((i&65535)<<2)>>1]|0;h=h+1|0}g=c[f+4>>2]|0;pa=c[ga>>2]|0;f=c[ha>>2]|0;c[p>>2]=k;c[p+4>>2]=pa;c[p+8>>2]=f;Uf(g,16,134891,p)}while(0);do if((fa|0)==56){U=g+23412|0;o=g+21832|0;n=0;e:while(1){h=c[U>>2]|0;if(n>>>0>=h>>>0)break;if(!(c[ka>>2]&512))k=c[g+23404+(n<<2)>>2]<<c[o>>2];else k=1;j=4096<<(n<<1);i=0;while(1){if((i|0)>=4)break;h=e[g+28552+(i<<1)>>1]|0;if(!(h&256)){f:do if(!(j&h))h=-1;else switch(k|0){case 1:{h=0;break f}case 2:{h=(yk(la)|0)^1;break f}default:{h=Jk(la)|0;if(h>>>0<k>>>0)break f;else{fa=73;break e}}}while(0);c[X+(n<<4)+(i<<2)>>2]=h}i=i+1|0}n=n+1|0}if((fa|0)==73){g=c[f+4>>2]|0;c[u>>2]=h;Uf(g,16,134931,u);break}if(!Y)n=0;else{Y=(c[(c[ja>>2]|0)+72>>2]|0)==0;n=g+28552|0;n=(((Y?24117616:7340144)&c[n>>2]|0)==0?((Y?24117616:7340144)&c[n+4>>2]|0)==0:0)&1}P=f+24312|0;Q=g+21740|0;R=g+21720|0;S=f+26360|0;T=f+26368|0;O=0;while(1){if(O>>>0>=h>>>0)break;K=O<<1;H=4096<<K;I=g+28272+(O*40|0)+11|0;J=g+27952+(O*160|0)+40|0;K=12288<<K;L=g+27952+(O*160|0)+42|0;G=0;while(1){if((G|0)==4)break;h=g+28552+(G<<1)|0;g:do if(!(b[h>>1]&256)){Y=c[X+(O<<4)+(G<<2)>>2]&255;M=G<<2;i=d[146266+M>>0]|0;a[i+9+(g+28272+(O*40|0))>>0]=Y;a[i+8+(g+28272+(O*40|0))>>0]=Y;a[i+1+(g+28272+(O*40|0))>>0]=Y;a[g+28272+(O*40|0)+i>>0]=Y;h=e[h>>1]|0;if(!(H&h)){c[g+27952+(O*160|0)+(i<<2)+36>>2]=0;c[g+27952+(O*160|0)+(i<<2)+32>>2]=0;c[g+27952+(O*160|0)+(i<<2)+4>>2]=0;c[g+27952+(O*160|0)+(i<<2)>>2]=0;break}C=h&24|0?2:1;D=c[V+(G<<2)>>2]|0;E=(h&8|0)==0;F=(h&16|0)==0;z=(h&32|0)==0;y=0;while(1){if((y|0)>=(D|0))break g;h=a[146266+((N(y,C)|0)+M)>>0]|0;A=h&255;B=g+27952+(O*160|0)+(A<<2)|0;q=a[g+28272+(O*40|0)+A>>0]|0;r=q<<24>>24;w=A+-8|0;t=a[g+28272+(O*40|0)+w>>0]|0;x=A+-1|0;u=a[g+28272+(O*40|0)+x>>0]|0;s=g+27952+(O*160|0)+(x<<2)|0;v=g+27952+(O*160|0)+(w<<2)|0;i=w+C|0;j=a[g+28272+(O*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((A&7|0)==4&((h&255)>19&(j&(c[_>>2]|0)!=0))){if((a[I>>0]|0)==-2){fa=95;break}p=c[(c[P>>2]|0)+48>>2]|0;c[J>>2]=0;o=(c[Q>>2]&128|0)==0;if(!(c[Z>>2]|0)){if(o){fa=95;break}Y=c[$>>2]|0;h=Y+(c[R>>2]|0)|0;i=(c[ha>>2]<<1&2)+(A>>>5)|0;if(!(c[p+((N(i>>>2,Y)|0)+h<<2)>>2]&K)){o=J;k=-1;break}k=c[P>>2]|0;Y=c[k+36+(O<<2)>>2]|0;o=(c[(c[S>>2]|0)+(h<<2)>>2]|0)+3+(N(c[T>>2]|0,i)|0)|0;b[J>>1]=b[Y+(o<<2)>>1]|0;b[L>>1]=b[Y+(o<<2)+2>>1]<<1;o=J;k=a[(c[k+68+(O<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!o){fa=95;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=A>>>2;if(!(c[p+(h<<2)>>2]&K)){o=J;k=-1;break}k=c[P>>2]|0;Y=c[k+36+(O<<2)>>2]|0;o=(c[(c[S>>2]|0)+(h<<2)>>2]|0)+3+(N(c[T>>2]|0,i&3)|0)|0;b[J>>1]=b[Y+(o<<2)>>1]|0;b[L>>1]=(b[Y+(o<<2)+2>>1]|0)/2|0;o=J;k=a[(c[k+68+(O<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else fa=95;while(0);do if((fa|0)==95){fa=0;if(j){k=A+-9|0;o=g+27952+(O*160|0)+(k<<2)|0;k=a[g+28272+(O*40|0)+k>>0]|0;break}else{o=g+27952+(O*160|0)+(i<<2)|0;break}}while(0);j=t<<24>>24==q<<24>>24;i=u<<24>>24==q<<24>>24;h=(i&1)+(j&1)+((k|0)==(r|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){i=b[s>>1]|0;if(u<<24>>24!=-2&(t<<24>>24==-2&(k|0)==-2)){h=b[g+27952+(O*160|0)+(x<<2)+2>>1]|0;break}else{i=Lk(i,b[v>>1]|0,b[o>>1]|0)|0;h=Lk(b[g+27952+(O*160|0)+(x<<2)+2>>1]|0,b[g+27952+(O*160|0)+(w<<2)+2>>1]|0,b[o+2>>1]|0)|0;break}}if(i){i=b[s>>1]|0;h=b[g+27952+(O*160|0)+(x<<2)+2>>1]|0;break}if(j){i=b[v>>1]|0;h=b[g+27952+(O*160|0)+(w<<2)+2>>1]|0;break}else{i=b[o>>1]|0;h=b[o+2>>1]|0;break}}else{i=Lk(b[s>>1]|0,b[v>>1]|0,b[o>>1]|0)|0;h=Lk(b[g+27952+(O*160|0)+(x<<2)+2>>1]|0,b[g+27952+(O*160|0)+(w<<2)+2>>1]|0,b[o+2>>1]|0)|0}while(0);k=(Mk(la)|0)+i|0;i=(Mk(la)|0)+h|0;do if(E){if(!F){b[B+4>>1]=k;h=i&65535;j=1;fa=115;break}if(z)break;b[B+32>>1]=k;h=i&65535;j=8;fa=115}else{h=k&65535;b[B+36>>1]=h;b[B+32>>1]=h;b[B+4>>1]=h;h=i&65535;b[B+38>>1]=h;b[B+34>>1]=h;j=1;fa=115}while(0);if((fa|0)==115){fa=0;b[B+(j<<2)+2>>1]=h}b[B>>1]=k;b[g+27952+(O*160|0)+(A<<2)+2>>1]=i;y=y+1|0}}else{Y=d[146266+(G<<2)>>0]|0;a[g+28272+(O*40|0)+Y>>0]=a[Y+1+(g+28272+(O*40|0))>>0]|0}while(0);G=G+1|0}O=O+1|0;h=c[U>>2]|0}break c}while(0);h=-1;break a}if(h&256|0){Kk(f,g,ka);n=c[(c[ja>>2]|0)+72>>2]&Y;break}if(h&8|0){u=g+23412|0;v=c[ka>>2]|0;k=g+21832|0;j=0;h:while(1){h=c[u>>2]|0;if(j>>>0>=h>>>0){t=0;break}if(v&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<<c[k>>2];switch(i|0){case 1:{h=0;break}case 2:{h=(yk(la)|0)^1;break}default:{h=Jk(la)|0;if(h>>>0>=i>>>0){fa=132;break h}}}$=N(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=$;c[g+28272+(j*40|0)+20>>2]=$;c[g+28272+(j*40|0)+28>>2]=$;c[g+28272+(j*40|0)+36>>2]=$}j=j+1|0}if((fa|0)==132){g=c[f+4>>2]|0;c[r>>2]=h;Uf(g,16,134931,r);h=-1;break a}while(1){if(t>>>0>=h>>>0){n=Y;break c}if(v&4096<<(t<<1)){i=a[g+28272+(t*40|0)+12>>0]|0;p=a[g+28272+(t*40|0)+4>>0]|0;q=a[g+28272+(t*40|0)+11>>0]|0;o=g+27952+(t*160|0)+44|0;r=g+27952+(t*160|0)+16|0;h=a[g+28272+(t*40|0)+8>>0]|0;if(h<<24>>24==-2){s=g+27952+(t*160|0)+12|0;n=a[g+28272+(t*40|0)+3>>0]|0}else{s=g+27952+(t*160|0)+32|0;n=h<<24>>24}j=p<<24>>24==i<<24>>24;k=q<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((n|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){i=b[o>>1]|0;if(q<<24>>24!=-2&(p<<24>>24==-2&(n|0)==-2)){h=b[g+27952+(t*160|0)+46>>1]|0;break}else{i=Lk(i,b[r>>1]|0,b[s>>1]|0)|0;h=Lk(b[g+27952+(t*160|0)+46>>1]|0,b[g+27952+(t*160|0)+18>>1]|0,b[s+2>>1]|0)|0;break}}if(k){i=b[o>>1]|0;h=b[g+27952+(t*160|0)+46>>1]|0;break}if(j){i=b[r>>1]|0;h=b[g+27952+(t*160|0)+18>>1]|0;break}else{i=b[s>>1]|0;h=b[s+2>>1]|0;break}}else{i=Lk(b[o>>1]|0,b[r>>1]|0,b[s>>1]|0)|0;h=Lk(b[g+27952+(t*160|0)+46>>1]|0,b[g+27952+(t*160|0)+18>>1]|0,b[s+2>>1]|0)|0}while(0);$=(Mk(la)|0)+i|0;h=(Mk(la)|0)+h<<16|$&65535;c[g+27952+(t*160|0)+48>>2]=h;c[g+27952+(t*160|0)+52>>2]=h;c[g+27952+(t*160|0)+56>>2]=h;c[g+27952+(t*160|0)+60>>2]=h;c[g+27952+(t*160|0)+80>>2]=h;c[g+27952+(t*160|0)+84>>2]=h;c[g+27952+(t*160|0)+88>>2]=h;c[g+27952+(t*160|0)+92>>2]=h;c[g+27952+(t*160|0)+112>>2]=h;c[g+27952+(t*160|0)+116>>2]=h;c[g+27952+(t*160|0)+120>>2]=h;c[g+27952+(t*160|0)+124>>2]=h;c[g+27952+(t*160|0)+144>>2]=h;c[g+27952+(t*160|0)+148>>2]=h;c[g+27952+(t*160|0)+152>>2]=h;c[g+27952+(t*160|0)+156>>2]=h;h=c[u>>2]|0}t=t+1|0}}S=g+23412|0;T=c[ka>>2]|0;p=g+21832|0;if(!(h&16))o=0;else{o=0;i:while(1){h=c[S>>2]|0;if(o>>>0>=h>>>0)break;k=o<<1;n=g+23404+(o<<2)|0;j=0;while(1){if((j|0)>=2)break;j:do if(!(T&4096<<j+k))h=255;else{i=c[n>>2]<<c[p>>2];switch(i|0){case 1:{h=0;break j}case 2:{h=(yk(la)|0)^1;break j}default:{h=Jk(la)|0;if(h>>>0<i>>>0)break j;else{fa=161;break i}}}}while(0);X=(j<<4|12)+(g+28272+(o*40|0))|0;V=N(h,16843009)|0;c[X>>2]=V;c[X+8>>2]=V;j=j+1|0}o=o+1|0}if((fa|0)==161){g=c[f+4>>2]|0;c[s>>2]=h;Uf(g,16,134931,s);h=-1;break a}M=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26360|0;R=f+26368|0;L=0;while(1){if(L>>>0>=h>>>0){n=Y;break c}A=L<<1;B=g+28272+(L*40|0)+4|0;C=g+27952+(L*160|0)+16|0;D=g+27952+(L*160|0)+18|0;E=g+28272+(L*40|0)+11|0;F=g+27952+(L*160|0)+40|0;G=12288<<A;H=g+27952+(L*160|0)+42|0;I=g+28272+(L*40|0)+27|0;J=g+27952+(L*160|0)+108|0;K=g+27952+(L*160|0)+110|0;z=0;while(1){if((z|0)==2)break;if(!(T&4096<<z+A)){i=0;h=z<<4|12}else{i=z<<3;h=z<<4|12;r=a[g+28272+(L*40|0)+h>>0]|0;s=r<<24>>24;do if(!z){if((a[B>>0]|0)!=r<<24>>24){fa=174;break}j=b[C>>1]|0;i=b[D>>1]|0}else{if((a[I>>0]|0)!=r<<24>>24){fa=174;break}j=b[J>>1]|0;i=b[K>>1]|0}while(0);do if((fa|0)==174){fa=0;i=a[146266+i>>0]|0;p=i&255;x=p+-8|0;u=a[g+28272+(L*40|0)+x>>0]|0;y=p+-1|0;v=a[g+28272+(L*40|0)+y>>0]|0;t=g+27952+(L*160|0)+(y<<2)|0;w=g+27952+(L*160|0)+(x<<2)|0;j=p+-4|0;k=a[g+28272+(L*40|0)+j>>0]|0;n=k<<24>>24;k=k<<24>>24==-2;do if((p&7|0)==4&((i&255)>19&(k&(c[_>>2]|0)!=0))){if((a[E>>0]|0)==-2){fa=183;break}q=c[(c[M>>2]|0)+48>>2]|0;c[F>>2]=0;o=(c[O>>2]&128|0)==0;if(!(c[Z>>2]|0)){if(o){fa=183;break}X=c[$>>2]|0;j=X+(c[P>>2]|0)|0;i=(c[ha>>2]<<1&2)+(p>>>5)|0;if(!(c[q+((N(i>>>2,X)|0)+j<<2)>>2]&G)){o=F;n=-1;break}n=c[M>>2]|0;X=c[n+36+(L<<2)>>2]|0;o=(c[(c[Q>>2]|0)+(j<<2)>>2]|0)+3+(N(c[R>>2]|0,i)|0)|0;b[F>>1]=b[X+(o<<2)>>1]|0;b[H>>1]=b[X+(o<<2)+2>>1]<<1;o=F;n=a[(c[n+68+(L<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!o){fa=183;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=p>>>2;if(!(c[q+(j<<2)>>2]&G)){o=F;n=-1;break}n=c[M>>2]|0;X=c[n+36+(L<<2)>>2]|0;o=(c[(c[Q>>2]|0)+(j<<2)>>2]|0)+3+(N(c[R>>2]|0,i&3)|0)|0;b[F>>1]=b[X+(o<<2)>>1]|0;b[H>>1]=(b[X+(o<<2)+2>>1]|0)/2|0;o=F;n=a[(c[n+68+(L<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else fa=183;while(0);do if((fa|0)==183){fa=0;if(k){n=p+-9|0;o=g+27952+(L*160|0)+(n<<2)|0;n=a[g+28272+(L*40|0)+n>>0]|0;break}else{o=g+27952+(L*160|0)+(j<<2)|0;break}}while(0);k=u<<24>>24==r<<24>>24;j=v<<24>>24==r<<24>>24;i=(j&1)+(k&1)+((n|0)==(s|0)&1)|0;if(i>>>0>1){j=Lk(b[t>>1]|0,b[w>>1]|0,b[o>>1]|0)|0;i=Lk(b[g+27952+(L*160|0)+(y<<2)+2>>1]|0,b[g+27952+(L*160|0)+(x<<2)+2>>1]|0,b[o+2>>1]|0)|0;break}if((i|0)!=1){j=b[t>>1]|0;if(v<<24>>24!=-2&(u<<24>>24==-2&(n|0)==-2)){i=b[g+27952+(L*160|0)+(y<<2)+2>>1]|0;break}else{j=Lk(j,b[w>>1]|0,b[o>>1]|0)|0;i=Lk(b[g+27952+(L*160|0)+(y<<2)+2>>1]|0,b[g+27952+(L*160|0)+(x<<2)+2>>1]|0,b[o+2>>1]|0)|0;break}}if(j){j=b[t>>1]|0;i=b[g+27952+(L*160|0)+(y<<2)+2>>1]|0;break}if(k){j=b[w>>1]|0;i=b[g+27952+(L*160|0)+(x<<2)+2>>1]|0;break}else{j=b[o>>1]|0;i=b[o+2>>1]|0;break}}while(0);X=(Mk(la)|0)+j|0;i=(Mk(la)|0)+i<<16|X&65535}c[g+27952+(L*160|0)+(h<<2)>>2]=i;c[g+27952+(L*160|0)+(h<<2)+4>>2]=i;c[g+27952+(L*160|0)+(h<<2)+8>>2]=i;c[g+27952+(L*160|0)+(h<<2)+12>>2]=i;c[g+27952+(L*160|0)+(h<<2)+32>>2]=i;c[g+27952+(L*160|0)+(h<<2)+36>>2]=i;c[g+27952+(L*160|0)+(h<<2)+40>>2]=i;c[g+27952+(L*160|0)+(h<<2)+44>>2]=i;z=z+1|0}L=L+1|0;h=c[S>>2]|0}}k:while(1){h=c[S>>2]|0;if(o>>>0>=h>>>0)break;k=o<<1;n=g+23404+(o<<2)|0;j=0;while(1){if((j|0)>=2)break;l:do if(!(T&4096<<j+k))h=255;else{i=c[n>>2]<<c[p>>2];switch(i|0){case 1:{h=0;break l}case 2:{h=(yk(la)|0)^1;break l}default:{h=Jk(la)|0;if(h>>>0<i>>>0)break l;else{fa=208;break k}}}}while(0);X=(j<<1)+12+(g+28272+(o*40|0))|0;V=h*257&65535;b[X>>1]=V;b[X+8>>1]=V;b[X+16>>1]=V;b[X+24>>1]=V;j=j+1|0}o=o+1|0}if((fa|0)==208){g=c[f+4>>2]|0;c[t>>2]=h;Uf(g,16,134931,t);h=-1;break a}M=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26360|0;R=f+26368|0;L=0;while(1){if(L>>>0>=h>>>0){n=Y;break c}A=L<<1;B=g+28272+(L*40|0)+11|0;C=g+27952+(L*160|0)+44|0;D=g+27952+(L*160|0)+46|0;E=g+27952+(L*160|0)+40|0;F=12288<<A;G=g+27952+(L*160|0)+42|0;H=g+28272+(L*40|0)+8|0;I=g+27952+(L*160|0)+20|0;J=g+28272+(L*40|0)+5|0;K=g+27952+(L*160|0)+32|0;z=0;while(1){if((z|0)==2)break;if(!(T&4096<<z+A)){i=0;h=(z<<1)+12|0}else{j=z<<2;h=(z<<1)+12|0;v=a[g+28272+(L*40|0)+h>>0]|0;y=v<<24>>24;do if(!z)if((a[B>>0]|0)==v<<24>>24){j=b[C>>1]|0;i=b[D>>1]|0}else fa=223;else{i=a[H>>0]|0;if(i<<24>>24==-2){k=I;i=a[J>>0]|0}else k=K;if(i<<24>>24!=v<<24>>24){fa=223;break}j=b[k>>1]|0;i=b[k+2>>1]|0}while(0);do if((fa|0)==223){fa=0;i=a[146266+j>>0]|0;p=i&255;w=p+-8|0;s=a[g+28272+(L*40|0)+w>>0]|0;x=p+-1|0;t=a[g+28272+(L*40|0)+x>>0]|0;r=g+27952+(L*160|0)+(x<<2)|0;u=g+27952+(L*160|0)+(w<<2)|0;j=p+-6|0;k=a[g+28272+(L*40|0)+j>>0]|0;n=k<<24>>24;k=k<<24>>24==-2;do if((p&7|0)==4&((i&255)>19&(k&(c[_>>2]|0)!=0))){if((a[B>>0]|0)==-2){fa=232;break}q=c[(c[M>>2]|0)+48>>2]|0;c[E>>2]=0;o=(c[O>>2]&128|0)==0;if(!(c[Z>>2]|0)){if(o){fa=232;break}X=c[$>>2]|0;j=X+(c[P>>2]|0)|0;i=(c[ha>>2]<<1&2)+(p>>>5)|0;if(!(c[q+((N(i>>>2,X)|0)+j<<2)>>2]&F)){o=E;n=-1;break}n=c[M>>2]|0;X=c[n+36+(L<<2)>>2]|0;o=(c[(c[Q>>2]|0)+(j<<2)>>2]|0)+3+(N(c[R>>2]|0,i)|0)|0;b[E>>1]=b[X+(o<<2)>>1]|0;b[G>>1]=b[X+(o<<2)+2>>1]<<1;o=E;n=a[(c[n+68+(L<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!o){fa=232;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=p>>>2;if(!(c[q+(j<<2)>>2]&F)){o=E;n=-1;break}n=c[M>>2]|0;X=c[n+36+(L<<2)>>2]|0;o=(c[(c[Q>>2]|0)+(j<<2)>>2]|0)+3+(N(c[R>>2]|0,i&3)|0)|0;b[E>>1]=b[X+(o<<2)>>1]|0;b[G>>1]=(b[X+(o<<2)+2>>1]|0)/2|0;o=E;n=a[(c[n+68+(L<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else fa=232;while(0);do if((fa|0)==232){fa=0;if(k){n=p+-9|0;o=g+27952+(L*160|0)+(n<<2)|0;n=a[g+28272+(L*40|0)+n>>0]|0;break}else{o=g+27952+(L*160|0)+(j<<2)|0;break}}while(0);k=s<<24>>24==v<<24>>24;j=t<<24>>24==v<<24>>24;i=(j&1)+(k&1)+((n|0)==(y|0)&1)|0;if(i>>>0>1){j=Lk(b[r>>1]|0,b[u>>1]|0,b[o>>1]|0)|0;i=Lk(b[g+27952+(L*160|0)+(x<<2)+2>>1]|0,b[g+27952+(L*160|0)+(w<<2)+2>>1]|0,b[o+2>>1]|0)|0;break}if((i|0)!=1){j=b[r>>1]|0;if(t<<24>>24!=-2&(s<<24>>24==-2&(n|0)==-2)){i=b[g+27952+(L*160|0)+(x<<2)+2>>1]|0;break}else{j=Lk(j,b[u>>1]|0,b[o>>1]|0)|0;i=Lk(b[g+27952+(L*160|0)+(x<<2)+2>>1]|0,b[g+27952+(L*160|0)+(w<<2)+2>>1]|0,b[o+2>>1]|0)|0;break}}if(j){j=b[r>>1]|0;i=b[g+27952+(L*160|0)+(x<<2)+2>>1]|0;break}if(k){j=b[u>>1]|0;i=b[g+27952+(L*160|0)+(w<<2)+2>>1]|0;break}else{j=b[o>>1]|0;i=b[o+2>>1]|0;break}}while(0);X=(Mk(la)|0)+j|0;i=(Mk(la)|0)+i<<16|X&65535}c[g+27952+(L*160|0)+(h<<2)>>2]=i;c[g+27952+(L*160|0)+(h<<2)+4>>2]=i;c[g+27952+(L*160|0)+(h<<2)+32>>2]=i;c[g+27952+(L*160|0)+(h<<2)+36>>2]=i;c[g+27952+(L*160|0)+(h<<2)+64>>2]=i;c[g+27952+(L*160|0)+(h<<2)+68>>2]=i;c[g+27952+(L*160|0)+(h<<2)+96>>2]=i;c[g+27952+(L*160|0)+(h<<2)+100>>2]=i;z=z+1|0}L=L+1|0;h=c[S>>2]|0}}else{if(!(h&1)){_=g+21660|0;$=Ik(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[_>>2]|0,0)|0;c[_>>2]=$;if(($|0)<0){h=-1;break a}}else{if((Y|0)!=0?(yk(la)|0)!=0:0){c[ka>>2]=h|16777216;j=4}else j=1;k=(j|0)==4;i=0;while(1){if((i|0)>=16)break;n=d[146266+i>>0]|0;h=a[n+-1+(g+21664)>>0]|0;$=a[n+-8+(g+21664)>>0]|0;h=(h|0)>($|0)?$:h;h=(h|0)<0?2:h;if(!(yk(la)|0)){$=Gk(la,3)|0;h=$+(($|0)>=(h|0)&1)|0}if(k){$=g+21664+n|0;_=h*257&65535;b[$>>1]=_;b[$+8>>1]=_}else a[g+21664+n>>0]=h;i=i+j|0}$=(c[g+21704>>2]|0)+(c[(c[f+26364>>2]|0)+(c[oa>>2]<<2)>>2]|0)|0;c[$>>2]=c[g+21700>>2];a[$+4>>0]=a[g+21695>>0]|0;a[$+5>>0]=a[g+21687>>0]|0;a[$+6>>0]=a[g+21679>>0]|0;if((Hk(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<=-1){h=-1;break a}}if(ca){_=c[f+4>>2]|0;$=c[g+21760>>2]|0;h=c[g+21768>>2]|0;h=Ik(_,$,h,Jk(la)|0,1)|0;if((h|0)<0){h=-1;break a}}else h=6;c[g+21656>>2]=h;n=Y}while(0);h=c[ka>>2]|0;if(h&120|0){i=c[f+26368>>2]|0;j=(N(i<<2,c[ha>>2]|0)|0)+(c[ga>>2]<<2)|0;k=c[oa>>2]<<2;if(!(h&12288)){$=(c[f+24384>>2]|0)+k|0;b[$>>1]=-1;b[$+2>>1]=-1}else{$=(c[f+24352>>2]|0)+(j<<2)|0;Z=g+28e3|0;_=c[Z+4>>2]|0;X=$;c[X>>2]=c[Z>>2];c[X+4>>2]=_;X=g+28008|0;_=c[X+4>>2]|0;Z=$+8|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28032|0;_=c[Z+4>>2]|0;X=$+(i<<2)|0;Y=X;c[Y>>2]=c[Z>>2];c[Y+4>>2]=_;Y=g+28040|0;_=c[Y+4>>2]|0;X=X+8|0;c[X>>2]=c[Y>>2];c[X+4>>2]=_;X=g+28064|0;_=c[X+4>>2]|0;Y=$+(i<<1<<2)|0;Z=Y;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28072|0;_=c[Z+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[Z>>2];c[Y+4>>2]=_;Y=g+28096|0;_=c[Y+4>>2]|0;$=$+(i*3<<2)|0;Z=$;c[Z>>2]=c[Y>>2];c[Z+4>>2]=_;Z=g+28104|0;_=c[Z+4>>2]|0;$=$+8|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_;$=(c[f+24384>>2]|0)+k|0;a[$>>0]=a[g+28284>>0]|0;a[$+1>>0]=a[g+28286>>0]|0;a[$+2>>0]=a[g+28300>>0]|0;a[$+3>>0]=a[g+28302>>0]|0}if(h&49152|0){$=(c[f+24356>>2]|0)+(j<<2)|0;Z=g+28160|0;_=c[Z+4>>2]|0;X=$;c[X>>2]=c[Z>>2];c[X+4>>2]=_;X=g+28168|0;_=c[X+4>>2]|0;Z=$+8|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28192|0;_=c[Z+4>>2]|0;X=$+(i<<2)|0;Y=X;c[Y>>2]=c[Z>>2];c[Y+4>>2]=_;Y=g+28200|0;_=c[Y+4>>2]|0;X=X+8|0;c[X>>2]=c[Y>>2];c[X+4>>2]=_;X=g+28224|0;_=c[X+4>>2]|0;Y=$+(i<<1<<2)|0;Z=Y;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28232|0;_=c[Z+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[Z>>2];c[Y+4>>2]=_;Y=g+28256|0;_=c[Y+4>>2]|0;$=$+(i*3<<2)|0;Z=$;c[Z>>2]=c[Y>>2];c[Z+4>>2]=_;Z=g+28264|0;_=c[Z+4>>2]|0;$=$+8|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_;$=(c[f+24388>>2]|0)+k|0;a[$>>0]=a[g+28324>>0]|0;a[$+1>>0]=a[g+28326>>0]|0;a[$+2>>0]=a[g+28340>>0]|0;a[$+3>>0]=a[g+28342>>0]|0}}h=c[ka>>2]|0;if(h&2)if(aa>>>0>15&(ca^1)){Uf(c[f+4>>2]|0,16,135589,ba);h=-1094995529;break}else y=aa;else{i=Ak(la)|0;do if(ca){if(i>>>0>47){h=c[f+4>>2]|0;f=c[ga>>2]|0;g=c[ha>>2]|0;c[da>>2]=i;c[da+4>>2]=f;c[da+8>>2]=g;Uf(h,16,134948,da);h=-1;break a}h=c[ka>>2]|0;if(!(h&1)){i=123622+i|0;break}else{i=123574+i|0;break}}else{if(i>>>0>15){h=c[f+4>>2]|0;f=c[ga>>2]|0;g=c[ha>>2]|0;c[ea>>2]=i;c[ea+4>>2]=f;c[ea+8>>2]=g;Uf(h,16,134948,ea);h=-1;break a}h=c[ka>>2]|0;if(!(h&1)){i=134993+i|0;break}else{i=134977+i|0;break}}while(0);y=d[i>>0]|0}w=(y&15|0)==0;if((h&7|0)==0&(((n|0)==0|w)^1)){h=(yk(la)|0)<<24;h=c[ka>>2]|h;c[ka>>2]=h}t=f+26392|0;b[(c[t>>2]|0)+(pa<<1)>>1]=y;c[g+21856>>2]=y&65535;c[(c[f+24364>>2]|0)+(pa<<2)>>2]=h;if((y|0)==0?(c[ka>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;h=g+848|0}else fa=274;m:do if((fa|0)==274){i=(c[(c[ja>>2]|0)+1184>>2]|0)*6|0;k=i+3|0;n=Mk(la)|0;h=g+848|0;j=(c[h>>2]|0)+n|0;c[h>>2]=j;if(j>>>0>k>>>0){i=((j|0)<0?i+4|0:-4-i|0)+j|0;c[h>>2]=i;if(i>>>0>k>>>0){g=c[f+4>>2]|0;pa=c[ga>>2]|0;f=c[ha>>2]|0;c[ia>>2]=n;c[ia+4>>2]=pa;c[ia+8>>2]=f;Uf(g,16,135009,ia);c[h>>2]=k;h=-1;break a}else j=i}i=c[na>>2]|0;s=g+852|0;c[s>>2]=d[i+548+j>>0];u=g+856|0;c[u>>2]=d[i+636+j>>0];i=c[ka>>2]|0;ia=(i&128|0)==0;v=(j|0)!=0;x=ia?(v?f+26428|0:f+26716|0):v?f+26572|0:f+26860|0;v=ia?(v?f+26508|0:f+26796|0):v?f+26652|0:f+26940|0;n:do if(!(i&2)){r=i&7|0?0:3;q=(i&16777216|0)==0;i=0;p=0;while(1){if((p|0)>=4)break;o:do if(1<<p&y)if(q){o=p<<2;n=0;while(1){if((n|0)>=4)break o;k=n+o|0;if((Nk(f,g,la,g+28560+(k<<4<<ma<<1)|0,k,x,(c[(c[na>>2]|0)+173788+(r<<2)>>2]|0)+(j<<6)|0,16)|0)<0){h=-1;break a}n=n+1|0;i=d[(d[146266+k>>0]|0)+(g+27824)>>0]<<p|i}}else{n=g+28560+(p<<6<<ma<<1)|0;o=p<<2;k=0;while(1){if((k|0)>=4)break;if((Nk(f,g,la,n,k+o|0,v+(k<<4)|0,(c[(c[na>>2]|0)+173812+(r<<2)>>2]|0)+(j<<8)|0,16)|0)>-1)k=k+1|0;else{h=-1;break a}}ha=(d[146266+o>>0]|0)+(g+27824)|0;ia=(d[ha+8>>0]|0)+(d[ha+1>>0]|0)+(d[ha+9>>0]|0)+(d[ha>>0]|0)&255;a[ha>>0]=ia;i=(ia<<24>>24!=0&1)<<p|i;break}else{ia=(d[146266+(p<<2)>>0]|0)+(g+27824)|0;a[ia+9>>0]=0;a[ia+8>>0]=0;a[ia+1>>0]=0;a[ia>>0]=0}while(0);p=p+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31632|0;k=i;n=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));if((Nk(f,g,la,i,48,x,0,16)|0)<0){h=-1;break a}if(w){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;i=0;break}n=x+1|0;k=0;while(1){if((k|0)>=4){i=15;break n}o=k<<2;i=0;while(1){if((i|0)>=4)break;ia=i+o|0;if((Nk(f,g,la,g+28560+(ia<<4<<ma<<1)|0,ia,n,(c[(c[na>>2]|0)+173788>>2]|0)+(j<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}k=k+1|0}}while(0);t=(c[t>>2]|0)+(pa<<1)|0;b[t>>1]=i<<12|e[t>>1];t=c[(c[ja>>2]|0)+12>>2]|0;if((t|0)!=3){p:do if(y&48|0){j=t<<2;i=0;while(1){if((i|0)>=2)break p;if((Nk(f,g,la,g+28560+((i<<8)+256<<ma<<1)|0,i+49|0,(c[(c[ja>>2]|0)+12>>2]|0)==2?123674:123670,0,j)|0)<0){h=-1;break a}else i=i+1|0}}while(0);if(!(y&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}p=x+1|0;q=16<<ma;i=0;q:while(1){if((i|0)>=2)break m;r=i+1|0;s=(c[(c[na>>2]|0)+173788+((c[ka>>2]&7|0?0:3)+r<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;n=(i<<4)+16|0;i=g+28560+(n<<4<<ma<<1)|0;j=0;while(1){if((j|0)>=(t|0)){i=r;continue q}o=(j<<3)+n|0;k=0;while(1){if((k|0)>=4)break;if((Nk(f,g,la,i,o+k|0,p,s,15)|0)<=-1){h=-1;break a}k=k+1|0;i=i+(q<<1)|0}j=j+1|0}}}i=c[ka>>2]|0;r=c[s>>2]|0;r:do if(!(i&2)){q=i&7|0?1:4;p=(i&16777216|0)==0;i=0;o=0;while(1){if((o|0)>=4)break;s:do if(1<<o&y)if(p){n=(o<<2)+16|0;k=0;while(1){if((k|0)>=4)break s;j=n+k|0;if((Nk(f,g,la,g+28560+(j<<4<<ma<<1)|0,j,x,(c[(c[na>>2]|0)+173788+(q<<2)>>2]|0)+(r<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[146266+j>>0]|0)+(g+27824)>>0]<<o|i}}else{k=g+28560+((o<<6)+256<<ma<<1)|0;n=(o<<2)+16|0;j=0;while(1){if((j|0)>=4)break;if((Nk(f,g,la,k,j+n|0,v+(j<<4)|0,(c[(c[na>>2]|0)+173812+(q<<2)>>2]|0)+(r<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}ia=(d[146266+n>>0]|0)+(g+27824)|0;ja=(d[ia+8>>0]|0)+(d[ia+1>>0]|0)+(d[ia+9>>0]|0)+(d[ia>>0]|0)&255;a[ia>>0]=ja;i=(ja<<24>>24!=0&1)<<o|i;break}else{ja=(d[146266+((o<<2)+16)>>0]|0)+(g+27824)|0;a[ja+9>>0]=0;a[ja+8>>0]=0;a[ja+1>>0]=0;a[ja>>0]=0}while(0);o=o+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31696|0;k=i;n=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));if((Nk(f,g,la,i,49,x,0,16)|0)<0){h=-1;break a}if(w){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}k=x+1|0;j=0;while(1){if((j|0)>=4)break r;n=(j<<2)+16|0;i=0;while(1){if((i|0)>=4)break;ja=n+i|0;if((Nk(f,g,la,g+28560+(ja<<4<<ma<<1)|0,ja,k,(c[(c[na>>2]|0)+173792>>2]|0)+(r<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}while(0);i=c[ka>>2]|0;r=c[u>>2]|0;if(i&2|0){i=g+31760|0;k=i;n=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));if((Nk(f,g,la,i,50,x,0,16)|0)<0){h=-1;break a}if(w){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}k=x+1|0;j=0;while(1){if((j|0)>=4)break m;n=(j<<2)+32|0;i=0;while(1){if((i|0)>=4)break;ka=n+i|0;if((Nk(f,g,la,g+28560+(ka<<4<<ma<<1)|0,ka,k,(c[(c[na>>2]|0)+173796>>2]|0)+(r<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}q=i&7|0?2:5;p=(i&16777216|0)==0;i=0;o=0;while(1){if((o|0)>=4)break;t:do if(1<<o&y)if(p){n=(o<<2)+32|0;k=0;while(1){if((k|0)>=4)break t;j=n+k|0;if((Nk(f,g,la,g+28560+(j<<4<<ma<<1)|0,j,x,(c[(c[na>>2]|0)+173788+(q<<2)>>2]|0)+(r<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[146266+j>>0]|0)+(g+27824)>>0]<<o|i}}else{k=g+28560+((o<<6)+512<<ma<<1)|0;n=(o<<2)+32|0;j=0;while(1){if((j|0)>=4)break;if((Nk(f,g,la,k,j+n|0,v+(j<<4)|0,(c[(c[na>>2]|0)+173812+(q<<2)>>2]|0)+(r<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}ja=(d[146266+n>>0]|0)+(g+27824)|0;ka=(d[ja+8>>0]|0)+(d[ja+1>>0]|0)+(d[ja+9>>0]|0)+(d[ja>>0]|0)&255;a[ja>>0]=ka;i=(ka<<24>>24!=0&1)<<o|i;break}else{ka=(d[146266+((o<<2)+32)>>0]|0)+(g+27824)|0;a[ka+9>>0]=0;a[ka+8>>0]=0;a[ka+1>>0]=0;a[ka>>0]=0}while(0);o=o+1|0}if((i|0)<0){h=-1;break a}}while(0);a[(c[f+24340>>2]|0)+pa>>0]=c[h>>2];h=c[oa>>2]|0;i=c[f+25972>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25680>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);l=qa;return h|0}function xk(a){a=a|0;var b=0,c=0,e=0;e=Xk(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[116064+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Dk(a,b);return (Yk(a,b+1|0)|0)+-1|0}function yk(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function zk(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+16|0;if((l|0)>=(m|0))W(16);x=B+4|0;z=B;y=f+21796|0;A=c[y>>2]|0;c[z>>2]=0;g=(c[e+25972>>2]|0)+(A*48|0)|0;h=g+48|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));w=f+21828|0;if(!(c[w>>2]|0))g=0;else{c[z>>2]=128;g=128}if((c[f+840>>2]|0)==3){g=g|63744;c[z>>2]=g;if(c[f+21844>>2]|0){Ek(e,f,g);Fk(e,f,g)}Kk(e,f,z);j=c[z>>2]|2048;c[z>>2]=j;g=e+26368|0}else{j=g|14344;c[z>>2]=j;Ek(e,f,j);q=c[e+24384>>2]|0;r=c[e+24352>>2]|0;g=e+26368|0;s=c[g>>2]|0;c[f+28284>>2]=0;c[f+28292>>2]=0;c[f+28300>>2]=0;c[f+28308>>2]=0;k=c[f+21740>>2]|0;if(!(k&12288))if(!k)h=0;else{v=183584;t=-1;n=16}else{h=c[f+21720>>2]|0;v=d[c[f+21748>>2]>>0]|0;i=a[q+((v&254)+(h<<2|1))>>0]|0;h=r+((N(s,v)|0)+3+(c[(c[e+26360>>2]|0)+(h<<2)>>2]|0)<<2)|0;do if(c[e+26376>>2]|0){k=(k&128|0)!=0;if(!(c[w>>2]|0)){if(!k)break;h=c[h>>2]|0;c[x>>2]=h;b[x+2>>1]=h>>16<<1;h=x;i=i>>1;break}else{if(k)break;h=c[h>>2]|0;c[x>>2]=h;b[x+2>>1]=((h>>>16&65535)<<16>>16)/2|0;h=x;i=i<<1;break}}while(0);if(!(c[h>>2]|i))h=0;else{v=h;t=i;n=16}}do if((n|0)==16){k=c[f+21732>>2]|0;if(!(k&12288))if(!k){h=0;break}else{o=-1;p=183584}else{i=c[f+21712>>2]|0;h=a[q+(i<<2|2)>>0]|0;i=r+((c[(c[e+26360>>2]|0)+(i<<2)>>2]|0)+(s*3|0)<<2)|0;do if(c[e+26376>>2]|0){k=(k&128|0)!=0;if(!(c[w>>2]|0)){if(!k)break;p=c[i>>2]|0;i=x+4|0;c[i>>2]=p;b[x+6>>1]=p>>16<<1;h=h>>1;break}else{if(k)break;p=c[i>>2]|0;i=x+4|0;c[i>>2]=p;b[x+6>>1]=((p>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}while(0);if(!(c[i>>2]|h)){h=0;break}else{o=h;p=i}}i=c[f+21736>>2]|0;do if(!(i&12288))if((i|0)==0?(u=c[f+21728>>2]|0,(u&12288|0)!=0):0){k=c[f+21708>>2]|0;n=c[f+21752>>2]|0;h=a[q+(k<<2|n&2|1)>>0]|0;k=r+(s+3+(n&s<<1)+(c[(c[e+26360>>2]|0)+(k<<2)>>2]|0)<<2)|0;if(c[e+26376>>2]|0){i=(u&128|0)!=0;if(!(c[w>>2]|0)){if(!i){n=k;break}w=c[k>>2]|0;n=x+8|0;c[n>>2]=w;b[x+10>>1]=w>>16<<1;h=h>>1;break}else{if(i){n=k;break}w=c[k>>2]|0;n=x+8|0;c[n>>2]=w;b[x+10>>1]=((w>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}else n=k}else{n=183584;h=-1}else{k=c[f+21716>>2]|0;h=a[q+(k<<2|2)>>0]|0;k=r+((c[(c[e+26360>>2]|0)+(k<<2)>>2]|0)+(s*3|0)<<2)|0;if(c[e+26376>>2]|0){i=(i&128|0)!=0;if(!(c[w>>2]|0)){if(!i){n=k;break}w=c[k>>2]|0;n=x+8|0;c[n>>2]=w;b[x+10>>1]=w>>16<<1;h=h>>1;break}else{if(i){n=k;break}w=c[k>>2]|0;n=x+8|0;c[n>>2]=w;b[x+10>>1]=((w>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}else n=k}while(0);k=(o|0)!=0;i=(t|0)!=0;h=((k^1)&1)+((i^1)&1)+((h|0)==0&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=Lk(b[v>>1]|0,b[p>>1]|0,b[n>>1]|0)|0;i=Lk(b[v+2>>1]|0,b[p+2>>1]|0,b[n+2>>1]|0)|0;break}if(!i){i=b[v+2>>1]|0;h=b[v>>1]|0;break}if(k){i=b[n+2>>1]|0;h=b[n>>1]|0;break}else{i=b[p+2>>1]|0;h=b[p>>1]|0;break}}else{h=Lk(b[v>>1]|0,b[p>>1]|0,b[n>>1]|0)|0;i=Lk(b[v+2>>1]|0,b[p+2>>1]|0,b[n+2>>1]|0)|0}while(0);h=i<<16|h&65535}while(0);c[f+28e3>>2]=h;c[f+28004>>2]=h;c[f+28008>>2]=h;c[f+28012>>2]=h;c[f+28032>>2]=h;c[f+28036>>2]=h;c[f+28040>>2]=h;c[f+28044>>2]=h;c[f+28064>>2]=h;c[f+28068>>2]=h;c[f+28072>>2]=h;c[f+28076>>2]=h;c[f+28096>>2]=h;c[f+28100>>2]=h;c[f+28104>>2]=h;c[f+28108>>2]=h}h=c[g>>2]|0;i=(N(h<<2,c[f+21792>>2]|0)|0)+(c[f+21788>>2]<<2)|0;g=c[y>>2]<<2;if(!(j&12288)){y=(c[e+24384>>2]|0)+g|0;b[y>>1]=-1;b[y+2>>1]=-1}else{y=(c[e+24352>>2]|0)+(i<<2)|0;w=f+28e3|0;x=c[w+4>>2]|0;u=y;c[u>>2]=c[w>>2];c[u+4>>2]=x;u=f+28008|0;x=c[u+4>>2]|0;w=y+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=x;w=f+28032|0;x=c[w+4>>2]|0;u=y+(h<<2)|0;v=u;c[v>>2]=c[w>>2];c[v+4>>2]=x;v=f+28040|0;x=c[v+4>>2]|0;u=u+8|0;c[u>>2]=c[v>>2];c[u+4>>2]=x;u=f+28064|0;x=c[u+4>>2]|0;v=y+(h<<1<<2)|0;w=v;c[w>>2]=c[u>>2];c[w+4>>2]=x;w=f+28072|0;x=c[w+4>>2]|0;v=v+8|0;c[v>>2]=c[w>>2];c[v+4>>2]=x;v=f+28096|0;x=c[v+4>>2]|0;y=y+(h*3<<2)|0;w=y;c[w>>2]=c[v>>2];c[w+4>>2]=x;w=f+28104|0;x=c[w+4>>2]|0;y=y+8|0;c[y>>2]=c[w>>2];c[y+4>>2]=x;y=(c[e+24384>>2]|0)+g|0;a[y>>0]=a[f+28284>>0]|0;a[y+1>>0]=a[f+28286>>0]|0;a[y+2>>0]=a[f+28300>>0]|0;a[y+3>>0]=a[f+28302>>0]|0}if(j&49152|0){y=(c[e+24356>>2]|0)+(i<<2)|0;w=f+28160|0;x=c[w+4>>2]|0;u=y;c[u>>2]=c[w>>2];c[u+4>>2]=x;u=f+28168|0;x=c[u+4>>2]|0;w=y+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=x;w=f+28192|0;x=c[w+4>>2]|0;u=y+(h<<2)|0;v=u;c[v>>2]=c[w>>2];c[v+4>>2]=x;v=f+28200|0;x=c[v+4>>2]|0;u=u+8|0;c[u>>2]=c[v>>2];c[u+4>>2]=x;u=f+28224|0;x=c[u+4>>2]|0;v=y+(h<<1<<2)|0;w=v;c[w>>2]=c[u>>2];c[w+4>>2]=x;w=f+28232|0;x=c[w+4>>2]|0;v=v+8|0;c[v>>2]=c[w>>2];c[v+4>>2]=x;v=f+28256|0;x=c[v+4>>2]|0;y=y+(h*3<<2)|0;w=y;c[w>>2]=c[v>>2];c[w+4>>2]=x;w=f+28264|0;x=c[w+4>>2]|0;y=y+8|0;c[y>>2]=c[w>>2];c[y+4>>2]=x;y=(c[e+24388>>2]|0)+g|0;a[y>>0]=a[f+28324>>0]|0;a[y+1>>0]=a[f+28326>>0]|0;a[y+2>>0]=a[f+28340>>0]|0;a[y+3>>0]=a[f+28342>>0]|0}c[(c[e+24364>>2]|0)+(A<<2)>>2]=c[z>>2];a[(c[e+24340>>2]|0)+A>>0]=c[f+848>>2];b[(c[e+26372>>2]|0)+(A<<1)>>1]=c[f+832>>2];c[f+21648>>2]=1;l=B;return}function Ak(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(eX(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[116064+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){Uf(0,16,151423,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[122033+a>>0]|0);a=d[122545+a>>0]|0}while(0);l=h;return a|0}function Bk(a){a=a|0;var b=0;b=0-(Wk(a)|0)&7;if(b|0)Qk(a,b);return (c[a>>2]|0)+(c[a+8>>2]>>3)|0}function Ck(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(Wk(a)|0)|0}function Dk(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;o=c[a+27016>>2]|0;m=i-(o<<c[b+21828>>2])|0;f=m+-1|0;g=m+1|0;h=i+-1|0;n=b+21748|0;c[n>>2]=135425;q=c[a+24364>>2]|0;do if(c[a+26376>>2]|0){k=c[q+(h<<2)>>2]&128;l=d&128;if(!(c[b+21792>>2]&1)){i=(l|0)!=0;if(i){d=(((c[q+(m<<2)>>2]|0)>>>7&1)+-1&o)+m|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&o)+g|0;f=(((c[q+(f<<2)>>2]|0)>>>7&1)+-1&o)+f|0}else d=m;if((k|0)==(l|0)){p=d;n=f;m=h;d=h;break}c[n>>2]=i?135521:135489;p=d;n=f;m=h;d=h+(i?o:0)|0;break}else{if((k|0)==(l|0)){p=m;n=f;m=h;d=h;break}i=i-o+-1|0;if(!l){c[j>>2]=0;f=o+f|0;d=135457;h=i}else d=135521;c[n>>2]=d;p=m;n=f;m=i;d=h;break}}else{p=m;n=f;m=h;d=h}while(0);c[b+21708>>2]=n;c[b+21712>>2]=p;c[b+21716>>2]=g;c[b+21720>>2]=m;c[b+21724>>2]=d;h=b+21728|0;c[h>>2]=c[q+(n<<2)>>2];i=b+21732|0;c[i>>2]=c[q+(p<<2)>>2];j=b+21736|0;c[j>>2]=c[q+(g<<2)>>2];k=b+21740|0;c[k>>2]=c[q+(m<<2)>>2];l=b+21744|0;c[l>>2]=c[q+(d<<2)>>2];f=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)!=(e[f+(n<<1)>>1]|0|0)){c[h>>2]=0;if((d|0)!=(e[f+(p<<1)>>1]|0|0))c[i>>2]=0;if((d|0)!=(e[f+(m<<1)>>1]|0|0)){c[l>>2]=0;c[k>>2]=0}}if((d|0)!=(e[f+(g<<1)>>1]|0|0))c[j>>2]=0;return}function Fk(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;ka=l;l=l+16|0;if((l|0)>=(m|0))W(16);aa=ka+8|0;ba=ka;ha=c[f+21748>>2]|0;ja=c[f+21708>>2]|0;U=c[f+21712>>2]|0;V=c[f+21716>>2]|0;X=c[f+21720>>2]|0;c[aa>>2]=X;c[aa+4>>2]=c[f+21724>>2];Y=c[f+21728>>2]|0;Z=c[f+21732>>2]|0;_=c[f+21736>>2]|0;$=c[f+21740>>2]|0;c[ba>>2]=$;t=c[f+21744>>2]|0;c[ba+4>>2]=t;a:do if(!(g&2048)){b:do if(g&7|0){q=c[(c[e+28212>>2]|0)+56>>2]|0?7:-1;j=f+21768|0;c[j>>2]=65535;h=f+21760|0;c[h>>2]=65535;n=f+21756|0;c[n>>2]=65535;o=f+21764|0;c[o>>2]=61162;p=(q&Z|0)!=0;if(p){h=65535;k=60138}else{c[n>>2]=46079;c[h>>2]=13311;c[o>>2]=9962;h=46079;k=8938}i=g&128;do if((i|0)==($&128|0)){if(!($&q)){h=h&57183;c[n>>2]=h;c[j>>2]=24415}}else{if(!i){if(!(($&q|0)==0?1:(c[(c[e+24364>>2]|0)+((c[e+27016>>2]|0)+X<<2)>>2]&q|0)==0))break;h=h&57183;c[n>>2]=h;c[j>>2]=24415;break}if(!($&q)){h=h&57343;c[n>>2]=h;c[j>>2]=24575;i=24415}else i=65375;if(!(t&q)){h=h&65375;c[n>>2]=h;c[j>>2]=i}}while(0);if(!(q&Y))c[n>>2]=h&32767;if(!(q&_))c[o>>2]=k;if(g&1|0){if(!(Z&1)){iX(f+21668|0,(p?2:-1)|0,4)|0;k=f+21704|0;n=e+26364|0}else{k=f+21704|0;n=e+26364|0;c[f+21668>>2]=c[(c[k>>2]|0)+(c[(c[n>>2]|0)+(U<<2)>>2]|0)>>2]}j=0;while(1){if((j|0)==2)break b;h=c[ba+(j<<2)>>2]|0;if(!(h&1)){h=(h&q|0)==0?-1:2;i=j<<4;a[i+19+(f+21664)>>0]=h;i=i|11}else{T=(c[k>>2]|0)+(c[(c[n>>2]|0)+(c[aa+(j<<2)>>2]<<2)>>2]|0)|0;h=j<<1;i=j<<4;a[(i|11)+(f+21664)>>0]=a[T+(6-(d[ha+h>>0]|0))>>0]|0;h=a[T+(6-(d[ha+(h|1)>>0]|0))>>0]|0;i=i+19|0}a[f+21664+i>>0]=h;j=j+1|0}}}while(0);if(!Z){c[f+27828>>2]=1077952576;c[f+27868>>2]=1077952576;r=e+25972|0;h=1077952576}else{r=e+25972|0;h=c[r>>2]|0;c[f+27828>>2]=c[h+(U*48|0)+12>>2];T=(c[e+25680>>2]|0)==0;c[f+27868>>2]=c[(T?28:20)+(h+(U*48|0))>>2];h=c[(T?44:36)+(h+(U*48|0))>>2]|0}c[f+27908>>2]=h;q=e+28216|0;p=0;while(1){if((p|0)==2)break a;if(!(c[ba+(p<<2)>>2]|0)){i=p<<4;a[i+99+(f+27824)>>0]=64;a[i+91+(f+27824)>>0]=64;a[i+59+(f+27824)>>0]=64;a[i+51+(f+27824)>>0]=64;a[i+19+(f+27824)>>0]=64;i=i|11;h=64}else{n=c[r>>2]|0;o=c[aa+(p<<2)>>2]|0;h=p<<1;j=ha+(h+8)|0;i=p<<4;a[(i|11)+(f+27824)>>0]=a[(d[j>>0]|0)+(n+(o*48|0))>>0]|0;k=ha+(h+9)|0;a[i+19+(f+27824)>>0]=a[(d[k>>0]|0)+(n+(o*48|0))>>0]|0;switch(c[(c[q>>2]|0)+12>>2]|0){case 3:{a[i+51+(f+27824)>>0]=a[(d[j>>0]|0)+16+(n+(o*48|0))>>0]|0;a[i+59+(f+27824)>>0]=a[(d[k>>0]|0)+16+(n+(o*48|0))>>0]|0;a[i+91+(f+27824)>>0]=a[(d[j>>0]|0)+32+(n+(o*48|0))>>0]|0;k=(d[k>>0]|0)+32|0;h=i+99|0;break}case 2:{a[i+51+(f+27824)>>0]=a[(d[j>>0]|0)+14+(n+(o*48|0))>>0]|0;a[i+59+(f+27824)>>0]=a[(d[k>>0]|0)+14+(n+(o*48|0))>>0]|0;a[i+91+(f+27824)>>0]=a[(d[j>>0]|0)+30+(n+(o*48|0))>>0]|0;h=(d[k>>0]|0)+30|0;j=99;s=39;break}default:{i=p<<3;a[i+51+(f+27824)>>0]=a[(d[ha+(h+12)>>0]|0)+(n+(o*48|0))>>0]|0;h=d[ha+(h+13)>>0]|0;j=91;s=39}}if((s|0)==39){s=0;k=h;h=j+i|0}i=h;h=a[n+(o*48|0)+k>>0]|0}a[f+27824+i>>0]=h;p=p+1|0}}while(0);if(!(g&120)){if(g&256|0?c[f+21844>>2]|0:0)s=46}else s=46;c:do if((s|0)==46){z=c[e+26368>>2]|0;A=f+23412|0;B=Z|0?-1:-16843010;C=(g&80|0)==0;D=$|0?-1:-2;E=e+26360|0;F=X<<2|1;G=_|0?-1:-2;H=Y|0?-1:-2;I=f+21752|0;J=z<<1;K=z+3|0;L=ja<<2;M=(g&2304|0)==0;O=e+26376|0;P=f+21828|0;Q=(Y&128|0)!=0;R=(Z&128|0)==0;S=(_&128|0)==0;T=($&128|0)==0;u=(t&128|0)==0;v=z*3|0;w=V<<2|2;y=U<<2;x=y|2;y=y|3;t=0;while(1){if(t>>>0>=(c[A>>2]|0)>>>0)break c;o=f+28272+(t*40|0)+12|0;q=c[e+24384+(t<<2)>>2]|0;p=f+27952+(t*160|0)+48|0;r=c[e+24352+(t<<2)>>2]|0;s=12288<<(t<<1);do if(s&g|0){if(!(s&Z)){n=f+27952+(t*160|0)+16|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[f+28272+(t*40|0)+4>>2]=B}else{j=(c[(c[E>>2]|0)+(U<<2)>>2]|0)+v|0;i=r+(j<<2)|0;n=c[i+4>>2]|0;k=f+27952+(t*160|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=n;j=r+(j<<2)+8|0;k=c[j+4>>2]|0;n=f+27952+(t*160|0)+24|0;c[n>>2]=c[j>>2];c[n+4>>2]=k;n=a[q+x>>0]|0;a[f+28272+(t*40|0)+5>>0]=n;a[f+28272+(t*40|0)+4>>0]=n;n=a[q+y>>0]|0;a[f+28272+(t*40|0)+7>>0]=n;a[f+28272+(t*40|0)+6>>0]=n}d:do if(C){if(!($&s)){c[f+27952+(t*160|0)+44>>2]=0;h=D}else{c[f+27952+(t*160|0)+44>>2]=c[r+((c[(c[E>>2]|0)+(X<<2)>>2]|0)+3+(N(z,d[ha>>0]|0)|0)<<2)>>2];h=a[q+(F+(a[ha>>0]&-2&255))>>0]|0}a[f+28272+(t*40|0)+11>>0]=h}else{n=0;while(1){if((n|0)==2)break d;i=n<<1;j=n<<4;h=j+-1|0;k=c[ba+(n<<2)>>2]|0;if(!(k&s)){c[p+(h<<2)>>2]=0;j=j|7;c[p+(j<<2)>>2]=0;i=k|0?-1:-2;a[o+j>>0]=i}else{la=c[aa+(n<<2)>>2]|0;na=(c[(c[E>>2]|0)+(la<<2)>>2]|0)+3|0;la=la<<2|1;ma=ha+i|0;c[p+(h<<2)>>2]=c[r+((N(z,d[ma>>0]|0)|0)+na<<2)>>2];i=ha+(i|1)|0;k=j|7;c[p+(k<<2)>>2]=c[r+((N(z,d[i>>0]|0)|0)+na<<2)>>2];a[o+h>>0]=a[q+(la+(a[ma>>0]&-2&255))>>0]|0;i=a[q+(la+(a[i>>0]&-2&255))>>0]|0;h=k}a[o+h>>0]=i;n=n+1|0}}while(0);if(!(s&_)){c[f+27952+(t*160|0)+32>>2]=0;h=G}else{c[f+27952+(t*160|0)+32>>2]=c[r+((c[(c[E>>2]|0)+(V<<2)>>2]|0)+v<<2)>>2];h=a[q+w>>0]|0}k=f+28272+(t*40|0)+8|0;a[k>>0]=h;j=f+28272+(t*40|0)+6|0;if((a[j>>0]|h)<<24>>24<0){if(!(s&Y)){c[f+27952+(t*160|0)+12>>2]=0;h=H}else{h=c[I>>2]|0;c[f+27952+(t*160|0)+12>>2]=c[r+(K+(c[(c[E>>2]|0)+(ja<<2)>>2]|0)+(h&J)<<2)>>2];h=a[q+(L|h&2|1)>>0]|0}a[f+28272+(t*40|0)+3>>0]=h}if(M){a[f+28272+(t*40|0)+30>>0]=-2;a[f+28272+(t*40|0)+14>>0]=-2;c[f+27952+(t*160|0)+56>>2]=0;c[f+27952+(t*160|0)+120>>2]=0;if(!(c[O>>2]|0))break}else if(!(c[O>>2]|0))break;if(!(c[P>>2]|0)){if(Q?(fa=f+28272+(t*40|0)+3|0,ga=a[fa>>0]|0,ga<<24>>24>-1):0){a[fa>>0]=(ga&255)>>>1;na=f+27952+(t*160|0)+14|0;b[na>>1]=b[na>>1]<<1;na=f+28352+(t*80|0)+7|0;a[na>>0]=d[na>>0]<<1}do if(!R){h=f+28272+(t*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;na=f+27952+(t*160|0)+18|0;b[na>>1]=b[na>>1]<<1;na=f+28352+(t*80|0)+9|0;a[na>>0]=d[na>>0]<<1}h=f+28272+(t*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;na=f+27952+(t*160|0)+22|0;b[na>>1]=b[na>>1]<<1;na=f+28352+(t*80|0)+11|0;a[na>>0]=d[na>>0]<<1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=(h&255)>>>1;na=f+27952+(t*160|0)+26|0;b[na>>1]=b[na>>1]<<1;na=f+28352+(t*80|0)+13|0;a[na>>0]=d[na>>0]<<1}h=f+28272+(t*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;na=f+27952+(t*160|0)+30|0;b[na>>1]=b[na>>1]<<1;na=f+28352+(t*80|0)+15|0;a[na>>0]=d[na>>0]<<1}while(0);if(!S?(ia=a[k>>0]|0,ia<<24>>24>-1):0){a[k>>0]=(ia&255)>>>1;na=f+27952+(t*160|0)+34|0;b[na>>1]=b[na>>1]<<1;na=f+28352+(t*80|0)+17|0;a[na>>0]=d[na>>0]<<1}do if(!T){h=f+28272+(t*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;na=f+27952+(t*160|0)+46|0;b[na>>1]=b[na>>1]<<1;na=f+28352+(t*80|0)+23|0;a[na>>0]=d[na>>0]<<1}h=f+28272+(t*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;na=f+27952+(t*160|0)+78|0;b[na>>1]=b[na>>1]<<1;na=f+28352+(t*80|0)+39|0;a[na>>0]=d[na>>0]<<1}while(0);if(u)break;h=f+28272+(t*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;na=f+27952+(t*160|0)+110|0;b[na>>1]=b[na>>1]<<1;na=f+28352+(t*80|0)+55|0;a[na>>0]=d[na>>0]<<1}h=f+28272+(t*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;na=f+27952+(t*160|0)+142|0;b[na>>1]=b[na>>1]<<1;na=f+28352+(t*80|0)+71|0;a[na>>0]=d[na>>0]<<1;break}else{if(!Q?(ca=f+28272+(t*40|0)+3|0,da=a[ca>>0]|0,da<<24>>24>-1):0){a[ca>>0]=da<<24>>24<<1;na=f+27952+(t*160|0)+14|0;b[na>>1]=(b[na>>1]|0)/2|0;na=f+28352+(t*80|0)+7|0;a[na>>0]=(d[na>>0]|0)>>>1}do if(R){h=f+28272+(t*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;na=f+27952+(t*160|0)+18|0;b[na>>1]=(b[na>>1]|0)/2|0;na=f+28352+(t*80|0)+9|0;a[na>>0]=(d[na>>0]|0)>>>1}h=f+28272+(t*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;na=f+27952+(t*160|0)+22|0;b[na>>1]=(b[na>>1]|0)/2|0;na=f+28352+(t*80|0)+11|0;a[na>>0]=(d[na>>0]|0)>>>1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=h<<24>>24<<1;na=f+27952+(t*160|0)+26|0;b[na>>1]=(b[na>>1]|0)/2|0;na=f+28352+(t*80|0)+13|0;a[na>>0]=(d[na>>0]|0)>>>1}h=f+28272+(t*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;na=f+27952+(t*160|0)+30|0;b[na>>1]=(b[na>>1]|0)/2|0;na=f+28352+(t*80|0)+15|0;a[na>>0]=(d[na>>0]|0)>>>1}while(0);if(S?(ea=a[k>>0]|0,ea<<24>>24>-1):0){a[k>>0]=ea<<24>>24<<1;na=f+27952+(t*160|0)+34|0;b[na>>1]=(b[na>>1]|0)/2|0;na=f+28352+(t*80|0)+17|0;a[na>>0]=(d[na>>0]|0)>>>1}do if(T){h=f+28272+(t*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;na=f+27952+(t*160|0)+46|0;b[na>>1]=(b[na>>1]|0)/2|0;na=f+28352+(t*80|0)+23|0;a[na>>0]=(d[na>>0]|0)>>>1}h=f+28272+(t*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;na=f+27952+(t*160|0)+78|0;b[na>>1]=(b[na>>1]|0)/2|0;na=f+28352+(t*80|0)+39|0;a[na>>0]=(d[na>>0]|0)>>>1}while(0);if(!u)break;h=f+28272+(t*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;na=f+27952+(t*160|0)+110|0;b[na>>1]=(b[na>>1]|0)/2|0;na=f+28352+(t*80|0)+55|0;a[na>>0]=(d[na>>0]|0)>>>1}h=f+28272+(t*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;na=f+27952+(t*160|0)+142|0;b[na>>1]=(b[na>>1]|0)/2|0;na=f+28352+(t*80|0)+71|0;a[na>>0]=(d[na>>0]|0)>>>1;break}}while(0);t=t+1|0}}while(0);c[f+21840>>2]=($>>>24&1)+(Z>>>24&1);l=ka;return}function Gk(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function Hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))W(16);n=o+8|0;j=o;a:do if(!(e&32768)){e=0;while(1){if((e|0)>=4){k=8;break a}i=b+(e+12)|0;g=a[i>>0]|0;h=a[135295+g>>0]|0;if(249>>>g&1|0)break;if(253>>>g&1|0)a[i>>0]=h;e=e+1|0}c[j>>2]=h<<24>>24;Uf(d,16,135307,j);e=-1094995529}else k=8;while(0);b:do if((k|0)==8)if((f&34952|0)==34952)e=0;else{e=0;while(1){if((e|0)>=4){e=0;break b}if(!(c[102556+(e<<2)>>2]&f)){g=b+((e<<3)+12)|0;h=a[g>>0]|0;i=a[135358+h>>0]|0;if(370>>>h&1|0)break;if(886>>>h&1|0)a[g>>0]=i}e=e+1|0}c[n>>2]=i<<24>>24;Uf(d,16,135370,n);e=-1094995529}while(0);l=o;return e|0}function Ik(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+32|0;if((l|0)>=(m|0))W(32);h=i+16|0;g=i+8|0;do if(e>>>0<=3){if(!(c&32768)){c=a[135189+e>>0]|0;if((e|1|0)==3){Uf(b,16,135193,g);c=-1094995529;break}}else c=e;e=d&32896;if((e|0)!=32896)if((c|2|0)==3){Uf(b,16,135241,h);c=-1094995529;break}else{l=i;return ((e|0)==0|(f|0)==0?a[135290+c>>0]|0:8-(d>>>15&1)+(((c|0)==4&1)<<1)|0)|0}}else{Uf(b,16,135152,i);c=-1094995529}while(0);l=i;return c|0}function Jk(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[122033+a>>0]|0);return d[122545+a>>0]|0|0}function Kk(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[b+21844>>2]|0))Tk(a,b,d);else Sk(a,b,d);return}function Lk(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Mk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(eX(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[122033+b>>0]|0);b=a[123057+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[116064+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(eX(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function Nk(e,f,g,h,i,j,k,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+112|0;if((l|0)>=(m|0))W(112);A=B+32|0;x=B+24|0;v=B+16|0;u=B;z=B+40|0;w=(n|0)<9;do if(!w)if((i|0)>47){t=c[182944+(c[102460+((Ok(f,(i<<4)+-768|0)|0)<<2)>>2]<<4)+4>>2]|0;o=g+8|0;s=c[o>>2]|0;q=c[g>>2]|0;y=q+(s>>>3)|0;y=(eX(d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24|0)|0)<<(s&7)>>>24;p=b[t+(y<<2)>>1]|0;y=b[t+(y<<2)+2>>1]|0;r=y<<16>>16;if(y<<16>>16<0){y=s+8|0;q=q+(y>>>3)|0;p=((eX(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24|0)|0)<<(y&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;q=y;p=b[t+(p<<2)>>1]|0}else q=s;q=r+q|0;break}else{t=c[182944+(c[102460+((Ok(f,i)|0)<<2)>>2]<<4)+4>>2]|0;o=g+8|0;s=c[o>>2]|0;q=c[g>>2]|0;y=q+(s>>>3)|0;y=(eX(d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24|0)|0)<<(s&7)>>>24;p=b[t+(y<<2)>>1]|0;y=b[t+(y<<2)+2>>1]|0;r=y<<16>>16;if(y<<16>>16<0){y=s+8|0;q=q+(y>>>3)|0;p=((eX(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24|0)|0)<<(y&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;q=y;p=b[t+(p<<2)>>1]|0}else q=s;q=r+q|0;break}else{q=(n|0)==4;y=q?c[45729]|0:c[45733]|0;o=g+8|0;t=c[o>>2]|0;p=(c[g>>2]|0)+(t>>>3)|0;p=(eX(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(t&7);q=p>>>(q?24:19);p=b[y+(q<<2)>>1]|0;q=t+(b[y+(q<<2)+2>>1]|0)|0}while(0);c[o>>2]=q;y=p>>2;a[(d[146266+i>>0]|0)+(f+27824)>>0]=y;a:do if(y){if(y>>>0>n>>>0){o=c[e+4>>2]|0;A=c[f+21792>>2]|0;c[u>>2]=c[f+21788>>2];c[u+4>>2]=A;c[u+8>>2]=y;Uf(o,16,135044,u);o=-1;break}q=p&3;u=Pk(g,3)|0;Qk(g,q);c[z>>2]=1-(u>>>1&2);c[z+4>>2]=1-(u&2);c[z+8>>2]=1-(u<<1&2);b:do if((q|0)<(y|0)){r=(q|0)!=3;p=(y|0)>10&r;s=p&1;t=Pk(g,8)|0;u=a[258956+(s<<9)+(t<<1)>>0]|0;o=u<<24>>24;Qk(g,a[258956+(s<<9)+(t<<1)+1>>0]|0);if(u<<24>>24>99){o=o+-100|0;if((o|0)==8)o=(Rk(g)|0)+8|0;do if((o|0)<14){if(p)o=(yk(g)|0)+(o<<1)|0}else{if((o|0)==14)if(p){o=(yk(g)|0)+28|0;break}else{o=(Gk(g,4)|0)+14|0;break}do if((o|0)>15)if((o|0)>28){Uf(c[e+4>>2]|0,16,135089,v);o=-1;break a}else{p=o+-3|0;o=(1<<p)+-4066|0;break}else{o=30;p=12}while(0);o=(Gk(g,p)|0)+o|0}while(0);v=r?o+2|0:o;o=v&1;p=2;o=(v+2>>1^0-o)+o|0}else{o=(r?o>>31|1:0)+o|0;p=(o+3|0)>>>0>6?2:1}c[z+(q<<2)>>2]=o;while(1){q=q+1|0;if((q|0)>=(y|0))break b;u=Pk(g,8)|0;v=a[258956+(p<<9)+(u<<1)>>0]|0;o=v<<24>>24;Qk(g,a[258956+(p<<9)+(u<<1)+1>>0]|0);if(v<<24>>24>99){o=o+-100|0;if((o|0)==8)o=(Rk(g)|0)+8|0;if((o|0)>=15){r=15<<p;if((o|0)==15){o=r;r=12}else{if((o|0)>28)break;v=o+-3|0;o=r+-4096+(1<<v)|0;r=v}}else{o=o<<p;r=p}v=(Gk(g,r)|0)+o|0;o=v&1;o=(v+2>>1^0-o)+o|0}c[z+(q<<2)>>2]=o;v=c[102528+(p<<2)>>2]|0;p=p+((v+o|0)>>>0>v<<1>>>0&1)|0}Uf(c[e+4>>2]|0,16,135089,x);o=-1094995529;break a}while(0);if((y|0)==(n|0))o=0;else{do if(w)if((n|0)==4){o=29;p=183008+(y<<4)+4|0;break}else{o=27;p=183072+(y<<4)+4|0;break}else{o=23;p=183200+(y<<4)+4|0}while(0);n=c[p>>2]|0;x=g+8|0;v=c[x>>2]|0;w=(c[g>>2]|0)+(v>>>3)|0;w=(eX(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(v&7)>>>o;o=b[n+(w<<2)>>1]|0;c[x>>2]=v+(b[n+(w<<2)+2>>1]|0)}q=j+(y+-1+o)|0;p=(i|0)>47;r=c[z>>2]|0;c:do if(!(c[e+25664>>2]|0))if(p){b[h+(d[q>>0]<<1)>>1]=r;n=g+8|0;p=1;while(1){if(!((p|0)<(y|0)&(o|0)>0))break;if((o|0)<7){k=c[183456+(o<<4)+4>>2]|0;i=c[n>>2]|0;r=(c[g>>2]|0)+(i>>>3)|0;r=(eX(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0)<<(i&7)>>>29;s=b[k+(r<<2)>>1]|0;r=i+(b[k+(r<<2)+2>>1]|0)|0}else{v=c[45893]|0;u=c[n>>2]|0;s=c[g>>2]|0;k=s+(u>>>3)|0;k=(eX(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(u&7)>>>26;r=b[v+(k<<2)>>1]|0;k=b[v+(k<<2)+2>>1]|0;t=k<<16>>16;if(k<<16>>16<0){u=u+6|0;k=s+(u>>>3)|0;r=((eX(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(u&7)>>>(t+32|0))+r|0;t=b[v+(r<<2)+2>>1]|0;r=b[v+(r<<2)>>1]|0}s=r;r=t+u|0}c[n>>2]=r;k=q+~s|0;b[h+(d[k>>0]<<1)>>1]=c[z+(p<<2)>>2];o=o-s|0;q=k;p=p+1|0}while(1){if((p|0)>=(y|0))break c;g=q+-1|0;b[h+(d[g>>0]<<1)>>1]=c[z+(p<<2)>>2];q=g;p=p+1|0}}else{n=d[q>>0]|0;b[h+(n<<1)>>1]=((N(c[k+(n<<2)>>2]|0,r)|0)+32|0)>>>6;n=g+8|0;p=1;while(1){if(!((p|0)<(y|0)&(o|0)>0))break;if((o|0)<7){i=c[183456+(o<<4)+4>>2]|0;j=c[n>>2]|0;r=(c[g>>2]|0)+(j>>>3)|0;r=(eX(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0)<<(j&7)>>>29;s=b[i+(r<<2)>>1]|0;r=j+(b[i+(r<<2)+2>>1]|0)|0}else{v=c[45893]|0;u=c[n>>2]|0;s=c[g>>2]|0;i=s+(u>>>3)|0;i=(eX(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(u&7)>>>26;r=b[v+(i<<2)>>1]|0;i=b[v+(i<<2)+2>>1]|0;t=i<<16>>16;if(i<<16>>16<0){u=u+6|0;i=s+(u>>>3)|0;r=((eX(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(u&7)>>>(t+32|0))+r|0;t=b[v+(r<<2)+2>>1]|0;r=b[v+(r<<2)>>1]|0}s=r;r=t+u|0}c[n>>2]=r;i=q+~s|0;j=d[i>>0]|0;b[h+(j<<1)>>1]=((N(c[k+(j<<2)>>2]|0,c[z+(p<<2)>>2]|0)|0)+32|0)>>>6;o=o-s|0;q=i;p=p+1|0}while(1){if((p|0)>=(y|0))break c;g=q+-1|0;i=d[g>>0]|0;b[h+(i<<1)>>1]=((N(c[k+(i<<2)>>2]|0,c[z+(p<<2)>>2]|0)|0)+32|0)>>>6;q=g;p=p+1|0}}else if(p){c[h+(d[q>>0]<<2)>>2]=r;n=g+8|0;p=1;while(1){if(!((p|0)<(y|0)&(o|0)>0))break;if((o|0)<7){k=c[183456+(o<<4)+4>>2]|0;i=c[n>>2]|0;r=(c[g>>2]|0)+(i>>>3)|0;r=(eX(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0)<<(i&7)>>>29;s=b[k+(r<<2)>>1]|0;r=i+(b[k+(r<<2)+2>>1]|0)|0}else{v=c[45893]|0;u=c[n>>2]|0;s=c[g>>2]|0;k=s+(u>>>3)|0;k=(eX(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(u&7)>>>26;r=b[v+(k<<2)>>1]|0;k=b[v+(k<<2)+2>>1]|0;t=k<<16>>16;if(k<<16>>16<0){u=u+6|0;k=s+(u>>>3)|0;r=((eX(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(u&7)>>>(t+32|0))+r|0;t=b[v+(r<<2)+2>>1]|0;r=b[v+(r<<2)>>1]|0}s=r;r=t+u|0}c[n>>2]=r;k=q+~s|0;c[h+(d[k>>0]<<2)>>2]=c[z+(p<<2)>>2];q=k;o=o-s|0;p=p+1|0}while(1){if((p|0)>=(y|0))break c;g=q+-1|0;c[h+(d[g>>0]<<2)>>2]=c[z+(p<<2)>>2];q=g;p=p+1|0}}else{n=d[q>>0]|0;c[h+(n<<2)>>2]=(N(c[k+(n<<2)>>2]|0,r)|0)+32>>6;n=g+8|0;p=1;while(1){if(!((p|0)<(y|0)&(o|0)>0))break;if((o|0)<7){i=c[183456+(o<<4)+4>>2]|0;j=c[n>>2]|0;r=(c[g>>2]|0)+(j>>>3)|0;r=(eX(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0)<<(j&7)>>>29;s=b[i+(r<<2)>>1]|0;r=j+(b[i+(r<<2)+2>>1]|0)|0}else{v=c[45893]|0;u=c[n>>2]|0;s=c[g>>2]|0;i=s+(u>>>3)|0;i=(eX(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(u&7)>>>26;r=b[v+(i<<2)>>1]|0;i=b[v+(i<<2)+2>>1]|0;t=i<<16>>16;if(i<<16>>16<0){u=u+6|0;i=s+(u>>>3)|0;r=((eX(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(u&7)>>>(t+32|0))+r|0;t=b[v+(r<<2)+2>>1]|0;r=b[v+(r<<2)>>1]|0}s=r;r=t+u|0}c[n>>2]=r;i=q+~s|0;j=d[i>>0]|0;c[h+(j<<2)>>2]=(N(c[k+(j<<2)>>2]|0,c[z+(p<<2)>>2]|0)|0)+32>>6;q=i;o=o-s|0;p=p+1|0}while(1){if((p|0)>=(y|0))break c;g=q+-1|0;i=d[g>>0]|0;c[h+(i<<2)>>2]=(N(c[k+(i<<2)>>2]|0,c[z+(p<<2)>>2]|0)|0)+32>>6;q=g;p=p+1|0}}while(0);if((o|0)<0){o=c[e+4>>2]|0;e=c[f+21792>>2]|0;c[A>>2]=c[f+21788>>2];c[A+4>>2]=e;Uf(o,16,135111,A);o=-1}else o=0}else o=0;while(0);l=B;return o|0}function Ok(a,b){a=a|0;b=b|0;b=d[146266+b>>0]|0;b=(d[b+-8+(a+27824)>>0]|0)+(d[b+-1+(a+27824)>>0]|0)|0;return (b>>>0<64?(b+1|0)>>>1:b)&31|0}function Pk(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function Qk(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function Rk(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+8|0;e=c[b>>2]|0;g=(c[a>>2]|0)+(e>>>3)|0;g=(eX(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7);a=g>>>0>65535;g=a?g>>>16:g;a=a?16:0;f=(g&65280|0)==0;a=32-(d[116064+(f?g:g>>>8)>>0]|0)-(f?a:a|8)|0;c[b>>2]=a+e;return a+-1|0}function Sk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=l;l=l+32|0;if((l|0)>=(m|0))W(32);E=V+16|0;D=V+8|0;y=V;A=c[f+26368>>2]|0;k=c[g+21796>>2]|0;C=g+21792|0;r=c[C>>2]|0;U=c[h>>2]|0;T=U&64;B=g+25336|0;Uk(f,B,(U>>>7&1)+r|0);U=(T|0)==0;i=61440;w=0;while(1){if((w|0)==2)break;o=a[g+28272+(w*40|0)+11>>0]|0;u=a[g+28272+(w*40|0)+4>>0]|0;j=a[g+28272+(w*40|0)+8>>0]|0;if(j<<24>>24==-2){s=a[g+28272+(w*40|0)+3>>0]|0;t=g+27952+(w*160|0)+12|0}else{s=j<<24>>24;t=g+27952+(w*160|0)+32|0}v=o>>>0>u>>>0?u:o;j=v>>>0>s>>>0?s:v;n=D+(w<<2)|0;c[n>>2]=j;if((j|0)>-1){p=g+27952+(w*160|0)+44|0;q=g+27952+(w*160|0)+16|0;n=(j|0)==(o|0);j=(j|0)==(u|0);do if(((j&1)+(s>>>0<=v>>>0&1)+(n&1)|0)>>>0<=1){if(n){j=c[p>>2]|0;break}if(j){j=c[q>>2]|0;break}else{j=c[t>>2]|0;break}}else{j=Vk(b[p>>1]|0,b[q>>1]|0,b[t>>1]|0)|0;j=(Vk(b[g+27952+(w*160|0)+46>>1]|0,b[g+27952+(w*160|0)+18>>1]|0,b[t+2>>1]|0)|0)<<16|j&65535}while(0);c[y+(w<<2)>>2]=j}else{j=~(12288<<(w<<1));c[y+(w<<2)>>2]=0;c[n>>2]=-1;if(U)c[h>>2]=c[h>>2]&j;i=i&j}w=w+1|0}j=c[D>>2]|0;if((j|0)<0?(x=D+4|0,(c[x>>2]|0)<0):0){c[x>>2]=0;c[D>>2]=0;if(U)c[h>>2]=c[h>>2]|61440;u=i|61440;w=0}else{u=i;w=j}i=c[y>>2]|0;j=c[y+4>>2]|0;do if(i|T|j){S=g+25372|0;t=c[(c[S>>2]|0)+48>>2]|0;q=c[t+(k<<2)>>2]|0;v=c[h>>2]|0;n=(v&128|0)!=0;do if(!(q&128))if(n){s=c[C>>2]&-2;p=c[f+27016>>2]|0;k=N(s,p)|0;k=k+(c[g+21788>>2]|0)|0;q=c[t+(k<<2)>>2]|0;c[E>>2]=q;n=c[t+(p+k<<2)>>2]|0;o=E+4|0;c[o>>2]=n;p=p<<2|2;r=A*6|0;if((q^n)&128){q=q&-129;c[E>>2]=q;n=n&-129;c[o>>2]=n}o=u|264;if(q&15|0?!((T|0)!=0|(n&15|0)==0):0){Q=r;r=s;t=o;n=272;break}Q=r;r=s;t=o;n=64}else{p=2;R=36}else{if(n){o=c[g+21852>>2]|0;p=2;q=o+r|0;n=c[f+27016>>2]|0}else{n=(c[C>>2]&-2)+(c[g+21848>>2]|0)|0;p=0;q=n;k=c[g+21788>>2]|0;o=c[f+27016>>2]|0}R=k+(N(n,o)|0)|0;k=R;r=q;q=c[t+(R<<2)>>2]|0;R=36}while(0);do if((R|0)==36){c[E+4>>2]=q;c[E>>2]=q;o=u|264;n=(T|0)!=0;if(n|(q&15|0)==0){if(!n?(z=q&48,z|0):0){Q=A;t=o;n=z|256;break}Q=A;t=(c[(c[f+28216>>2]|0)+72>>2]|0)==0?o+56|0:o;n=64}else{Q=A;t=o;n=264}}while(0);c[h>>2]=v|n;Uk(f,B,r);s=c[S>>2]|0;o=c[(c[f+26360>>2]|0)+(k<<2)>>2]|0;n=(c[s+36>>2]|0)+(o<<2)|0;o=(c[s+40>>2]|0)+(o<<2)|0;r=k<<2;k=(c[s+68>>2]|0)+r|0;r=(c[s+72>>2]|0)+r|0;if(!p){M=(c[C>>2]&1|0)==0;O=Q<<1;P=M?n:n+(O<<2)|0;o=M?o:o+(O<<2)|0;O=M?k:k+2|0;r=M?r:r+2|0}else{P=n;O=k}k=c[h>>2]|0;if((q^k)&128|0){z=t&65535;A=(w&255)*257&65535;v=c[D+4>>2]|0;y=(v&255)*257&65535;x=(w|0)>0?i:0;v=(v|0)>0?j:0;k=0;w=0;while(1){if((w|0)==4)break;t=w&1;q=w>>1;s=(N(q,p)|0)+t|0;t=(0-t&3)+(N(q,Q)|0)|0;n=g+28552+(w<<1)|0;if(!(!U?(b[n>>1]&256)==0:0)){b[n>>1]=z;u=d[146266+(w<<2)>>0]|0;R=g+28272+u|0;b[R>>1]=A;b[R+8>>1]=A;R=g+28312+u|0;b[R>>1]=y;b[R+8>>1]=y;do if((c[E+(q<<2)>>2]&7|0)==0?(c[(c[S>>2]|0)+100>>2]|0)==0:0){n=a[O+s>>0]|0;if(!(n<<24>>24)){M=b[P+(t<<2)>>1]|0;R=M<<16>>16;if(((M<<16>>16>-1?R:0-R|0)|0)>=2){n=j;q=i;break}M=b[P+(t<<2)+2>>1]|0;R=M<<16>>16;if(((M<<16>>16>-1?R:0-R|0)|0)>=2){n=j;q=i;break}}else{if(n<<24>>24>=0){n=j;q=i;break}if(a[r+s>>0]|0){n=j;q=i;break}M=b[o+(t<<2)>>1]|0;R=M<<16>>16;if(((M<<16>>16>-1?R:0-R|0)|0)>=2){n=j;q=i;break}M=b[o+(t<<2)+2>>1]|0;R=M<<16>>16;if(((M<<16>>16>-1?R:0-R|0)|0)>=2){n=j;q=i;break}}n=v;q=x;k=k+1|0}else{n=j;q=i}while(0);R=g+27952+(u<<2)|0;c[R>>2]=q;c[R+4>>2]=q;c[R+32>>2]=q;c[R+36>>2]=q;R=g+28112+(u<<2)|0;c[R>>2]=n;c[R+4>>2]=n;c[R+32>>2]=n;c[R+36>>2]=n}w=w+1|0}if(k&3|T|0)break;c[h>>2]=c[h>>2]&-41337|264;break}if(k&8|0){n=N(w&255,16843009)|0;c[g+28284>>2]=n;c[g+28292>>2]=n;c[g+28300>>2]=n;c[g+28308>>2]=n;n=c[D+4>>2]|0;h=N(n&255,16843009)|0;c[g+28324>>2]=h;c[g+28332>>2]=h;c[g+28340>>2]=h;c[g+28348>>2]=h;do if((q&7|0)==0?(c[s+100>>2]|0)==0:0){k=a[O>>0]|0;if(!(k<<24>>24)){U=b[P>>1]|0;h=U<<16>>16;if(((U<<16>>16>-1?h:0-h|0)|0)>=2)break;U=b[P+2>>1]|0;h=U<<16>>16;if(((U<<16>>16>-1?h:0-h|0)|0)>=2)break}else{if(k<<24>>24>=0)break;if(a[r>>0]|0)break;U=b[o>>1]|0;h=U<<16>>16;if(((U<<16>>16>-1?h:0-h|0)|0)>=2)break;U=b[o+2>>1]|0;h=U<<16>>16;if(((U<<16>>16>-1?h:0-h|0)|0)>=2)break;if((c[f+25704>>2]|0)>>>0<=33)break}j=(n|0)>0?j:0;i=(w|0)>0?i:0}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i;c[g+28160>>2]=j;c[g+28164>>2]=j;c[g+28168>>2]=j;c[g+28172>>2]=j;c[g+28192>>2]=j;c[g+28196>>2]=j;c[g+28200>>2]=j;c[g+28204>>2]=j;c[g+28224>>2]=j;c[g+28228>>2]=j;c[g+28232>>2]=j;c[g+28236>>2]=j;c[g+28256>>2]=j;c[g+28260>>2]=j;c[g+28264>>2]=j;c[g+28268>>2]=j;break}L=t&65535;M=(w&255)*257&65535;G=c[D+4>>2]|0;K=(G&255)*257&65535;J=(q&7|0)==0;H=(t&8|0)==0;I=Q*3|0;F=(w|0)==0;G=(G|0)==0;E=f+25704|0;k=0;f=0;while(1){if((f|0)==4)break;q=f&1;s=f>>1;C=g+28552+(f<<1)|0;if(!(!U?(b[C>>1]&256)==0:0))R=79;do if((R|0)==79){R=0;b[C>>1]=L;D=f<<2;B=d[146266+D>>0]|0;t=g+27952+(B<<2)|0;c[t>>2]=i;u=t+4|0;c[u>>2]=i;v=t+32|0;c[v>>2]=i;w=t+36|0;c[w>>2]=i;x=g+28112+(B<<2)|0;c[x>>2]=j;y=x+4|0;c[y>>2]=j;z=x+32|0;c[z>>2]=j;A=x+36|0;c[A>>2]=j;p=g+28272+B|0;b[p>>1]=M;b[p+8>>1]=M;B=g+28312+B|0;b[B>>1]=K;b[B+8>>1]=K;if(J?(c[(c[S>>2]|0)+100>>2]|0)==0:0){n=a[O+f>>0]|0;p=n<<24>>24==0;if(!p){if(n<<24>>24>=0)break;if(a[r+f>>0]|0)break;if((c[E>>2]|0)>>>0<=33)break}B=p?P:o;if(!H){n=(N(I,s)|0)+(0-q&3)|0;C=b[B+(n<<2)>>1]|0;D=C<<16>>16;if(((C<<16>>16>-1?D:0-D|0)|0)>=2)break;C=b[B+(n<<2)+2>>1]|0;D=C<<16>>16;if(((C<<16>>16>-1?D:0-D|0)|0)>=2)break;if(F){c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0}if(G){c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0}k=k+4|0;break}t=q<<1;s=s<<1;n=0;q=0;while(1){if((q|0)==4)break;p=(N((q>>1)+s|0,Q)|0)+(q&1|t)|0;z=b[B+(p<<2)>>1]|0;A=z<<16>>16;if(((z<<16>>16>-1?A:0-A|0)|0)<2?(z=b[B+(p<<2)+2>>1]|0,A=z<<16>>16,((z<<16>>16>-1?A:0-A|0)|0)<2):0){if(F)c[g+27952+(d[146266+(q+D)>>0]<<2)>>2]=0;if(G)c[g+28112+(d[146266+(q+D)>>0]<<2)>>2]=0;n=n+1|0}q=q+1|0}if(!(n&3))b[C>>1]=(e[C>>1]|0)+65480;k=n+k|0}}while(0);f=f+1|0}if(!(k&15|T))c[h>>2]=c[h>>2]&-41337|264}else{O=N(w&255,16843009)|0;c[g+28284>>2]=O;c[g+28292>>2]=O;c[g+28300>>2]=O;c[g+28308>>2]=O;O=N(c[D+4>>2]&255,16843009)|0;c[g+28324>>2]=O;c[g+28332>>2]=O;c[g+28340>>2]=O;c[g+28348>>2]=O;O=g+28e3|0;P=g+28032|0;Q=g+28064|0;R=g+28096|0;S=g+28160|0;T=g+28192|0;U=g+28224|0;g=g+28256|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[h>>2]=c[h>>2]&-41337|264}while(0);l=V;return}function Tk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=l;l=l+16|0;if((l|0)>=(m|0))W(16);E=H;s=c[f+26368>>2]|0;i=c[g+21796>>2]|0;w=g+21792|0;o=c[w>>2]|0;u=c[h>>2]|0;x=u&64;t=g+25336|0;Uk(f,t,(u>>>7&1)+o|0);u=g+25372|0;r=c[(c[u>>2]|0)+48>>2]|0;k=c[r+(i<<2)>>2]|0;v=c[h>>2]|0;j=(v&128|0)!=0;do if(!(k&128))if(j){q=c[w>>2]&-2;n=c[f+27016>>2]|0;p=(N(n,q)|0)+(c[g+21788>>2]|0)|0;k=c[r+(p<<2)>>2]|0;c[E>>2]=k;i=c[r+(n+p<<2)>>2]|0;j=E+4|0;c[j>>2]=i;n=n<<2|2;o=s*6|0;if((k^i)&128){k=k&-129;c[E>>2]=k;i=i&-129;c[j>>2]=i}if(k&15|0?!((x|0)!=0|(i&15|0)==0):0){G=o;i=p;o=q;r=20744;j=61712;q=k;break}G=o;i=p;o=q;r=20744;j=61504;q=k}else{n=2;F=12}else{if(j){k=c[g+21852>>2]|0;n=2;o=k+o|0;j=c[f+27016>>2]|0}else{j=(c[w>>2]&-2)+(c[g+21848>>2]|0)|0;n=0;o=j;i=c[g+21788>>2]|0;k=c[f+27016>>2]|0}k=i+(N(j,k)|0)|0;i=k;k=c[r+(k<<2)>>2]|0;F=12}while(0);do if((F|0)==12){c[E+4>>2]=k;c[E>>2]=k;j=(x|0)!=0;if(j|(k&15|0)==0){if(!j?(p=k&48,p|0):0){G=s;r=20744;j=p|61696;q=k;break}G=s;r=(c[(c[f+28216>>2]|0)+72>>2]|0)==0?20800:20744;j=61504;q=k}else{G=s;r=20744;j=20744;q=k}}while(0);c[h>>2]=v|j;Uk(f,t,o);p=c[u>>2]|0;k=c[(c[f+26360>>2]|0)+(i<<2)>>2]|0;j=(c[p+36>>2]|0)+(k<<2)|0;k=(c[p+40>>2]|0)+(k<<2)|0;o=i<<2;i=(c[p+68>>2]|0)+o|0;o=(c[p+72>>2]|0)+o|0;if(!n){B=(c[w>>2]&1|0)==0;C=G<<1;D=B?j:j+(C<<2)|0;C=B?k:k+(C<<2)|0;A=B?i:i+2|0;o=B?o:o+2|0}else{D=j;C=k;A=i}k=c[h>>2]|0;if((c[f+26376>>2]|0)==0|(k&128|0)==0){B=g+21868|0;j=g+22252|0;y=g+22444|0}else{y=c[w>>2]&1;B=g+21996+(y<<7)|0;j=g+22636+(y*384|0)|0;y=g+22636+(y*384|0)+192|0}z=q>>3&c[p+632>>2]<<4;i=k&128;a:do if((i|0)==(q&128|0)){if(k&8|0){c[g+28324>>2]=0;c[g+28332>>2]=0;c[g+28340>>2]=0;c[g+28348>>2]=0;if(!(q&7)){i=a[A>>0]|0;k=i<<24>>24>-1;if(!k){j=y;i=a[o>>0]|0}G=c[j+(z+(i<<24>>24)<<2)>>2]|0;E=c[B+(G<<2)>>2]|0;F=k?D:C;i=b[F>>1]|0;j=(N(E,i)|0)+128>>8;F=b[F+2>>1]|0;k=(N(E,F)|0)+128>>8;i=k-F<<16|j-i&65535;j=k<<16|j&65535;k=N(G,16843009)|0}else{i=0;j=0;k=0}c[g+28284>>2]=k;c[g+28292>>2]=k;c[g+28300>>2]=k;c[g+28308>>2]=k;c[g+28e3>>2]=j;c[g+28004>>2]=j;c[g+28008>>2]=j;c[g+28012>>2]=j;c[g+28032>>2]=j;c[g+28036>>2]=j;c[g+28040>>2]=j;c[g+28044>>2]=j;c[g+28064>>2]=j;c[g+28068>>2]=j;c[g+28072>>2]=j;c[g+28076>>2]=j;c[g+28096>>2]=j;c[g+28100>>2]=j;c[g+28104>>2]=j;c[g+28108>>2]=j;c[g+28160>>2]=i;c[g+28164>>2]=i;c[g+28168>>2]=i;c[g+28172>>2]=i;c[g+28192>>2]=i;c[g+28196>>2]=i;c[g+28200>>2]=i;c[g+28204>>2]=i;c[g+28224>>2]=i;c[g+28228>>2]=i;c[g+28232>>2]=i;c[g+28236>>2]=i;c[g+28256>>2]=i;c[g+28260>>2]=i;c[g+28264>>2]=i;c[g+28268>>2]=i;break}w=(x|0)==0;x=r&65535;h=(r&8|0)==0;f=G*3|0;v=(q&7|0)==0;u=0;while(1){if((u|0)==4)break a;q=u&1;r=u>>1;i=g+28552+(u<<1)|0;if(!(!w?!(b[i>>1]&256):0))F=43;b:do if((F|0)==43){F=0;b[i>>1]=x;t=u<<2;n=d[146266+t>>0]|0;E=g+28312+n|0;b[E>>1]=0;b[E+8>>1]=0;if(!v){E=g+28272+n|0;b[E>>1]=0;b[E+8>>1]=0;E=g+27952+(n<<2)|0;c[E>>2]=0;c[E+4>>2]=0;c[E+32>>2]=0;c[E+36>>2]=0;E=g+28112+(n<<2)|0;c[E>>2]=0;c[E+4>>2]=0;c[E+32>>2]=0;c[E+36>>2]=0;break}i=a[A+u>>0]|0;if(i<<24>>24>-1){s=D;k=j}else{s=C;i=a[o+u>>0]|0;k=y}k=c[k+(z+(i<<24>>24)<<2)>>2]|0;p=c[B+(k<<2)>>2]|0;E=g+28272+n|0;k=k*257&65535;b[E>>1]=k;b[E+8>>1]=k;if(!h){q=(N(f,r)|0)+(0-q&3)|0;t=b[s+(q<<2)>>1]|0;r=(N(p,t<<16>>16)|0)+128>>8;s=b[s+(q<<2)+2>>1]|0;q=(N(p,s<<16>>16)|0)+128>>8;E=g+27952+(n<<2)|0;p=q<<16|r&65535;c[E>>2]=p;c[E+4>>2]=p;c[E+32>>2]=p;c[E+36>>2]=p;E=g+28112+(n<<2)|0;t=q-(s&65535)<<16|r-(t&65535)&65535;c[E>>2]=t;c[E+4>>2]=t;c[E+32>>2]=t;c[E+36>>2]=t;break}n=q<<1;k=r<<1;i=0;while(1){if((i|0)==4)break b;I=(N((i>>1)+k|0,G)|0)+(i&1|n)|0;r=s+(I<<2)|0;E=d[146266+(i+t)>>0]|0;q=((N(p,b[r>>1]|0)|0)+128|0)>>>8;b[g+27952+(E<<2)>>1]=q;I=s+(I<<2)+2|0;J=((N(p,b[I>>1]|0)|0)+128|0)>>>8;b[g+27952+(E<<2)+2>>1]=J;c[g+28112+(E<<2)>>2]=J-(e[I>>1]|0)<<16|q-(e[r>>1]|0)&65535;i=i+1|0}}while(0);u=u+1|0}}else{h=i>>>6^2;v=(x|0)==0;u=r&65535;t=0;while(1){if((t|0)==4)break a;q=t&1;r=t>>1;i=g+28552+(t<<1)|0;if(!(!v?!(b[i>>1]&256):0)){b[i>>1]=u;s=d[146266+(t<<2)>>0]|0;J=g+28312+s|0;b[J>>1]=0;b[J+8>>1]=0;if(!(c[E+(r<<2)>>2]&7)){k=(N(r,n)|0)+q|0;i=a[A+k>>0]|0;if(i<<24>>24>-1){p=D;k=j}else{p=C;i=a[o+k>>0]|0;k=y}i=c[k+(z+(i<<24>>24)<<2)>>2]|0;J=c[B+(i<<2)>>2]|0;I=g+28272+s|0;i=i*257&65535;b[I>>1]=i;b[I+8>>1]=i;I=(0-q&3)+(N(r,G)|0)|0;i=(b[p+(I<<2)+2>>1]<<h|0)/2|0;I=b[p+(I<<2)>>1]|0;F=(N(J,I<<16>>16)|0)+128>>8;J=(N(i,J)|0)+128>>8;x=g+27952+(s<<2)|0;w=J<<16|F&65535;c[x>>2]=w;c[x+4>>2]=w;c[x+32>>2]=w;c[x+36>>2]=w;i=F-(I&65535)&65535|J-i<<16}else{i=g+28272+s|0;b[i>>1]=0;b[i+8>>1]=0;i=g+27952+(s<<2)|0;c[i>>2]=0;c[i+4>>2]=0;c[i+32>>2]=0;c[i+36>>2]=0;i=0}J=g+28112+(s<<2)|0;c[J>>2]=i;c[J+4>>2]=i;c[J+32>>2]=i;c[J+36>>2]=i}t=t+1|0}}while(0);l=H;return}function Uk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[b+36>>2]|0;f=c[e+636>>2]|0;if(c[(c[a+4>>2]|0)+696>>2]&1|0){a=c[a+27008>>2]<<4>>f;d=d<<4>>f;Wi(e+4|0,(d|0)<(a|0)?d:a+-1|0,(f|0?(c[b+24>>2]|0)!=1:0)&1)}return}function Vk(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Wk(a){a=a|0;return c[a+8>>2]|0}function Xk(a){a=a|0;var b=0,d=0;b=l;l=l+32|0;if((l|0)>=(m|0))W(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=Yk(d,32)|0;l=b;return a|0}function Yk(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=Gk(a,b)|0;break}else{b=b+-16|0;c=(Gk(a,16)|0)<<b;a=c|(Gk(a,b)|0);break}else a=0;while(0);return a|0}function Zk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;n=l;l=l+32|0;if((l|0)>=(m|0))W(32);h=n;i=c[a+4>>2]|0;j=c[a+24316>>2]|0;b=d[(nh(c[i+112>>2]|0)|0)+6>>0]|0;g=c[a+26380>>2]|0;p=(g|0)!=3;r=p&1;q=f<<r;f=e<<r;e=(c[i+96>>2]|0)-f|0;e=(q|0)>(e|0)?e:q;if(!((p?(c[a+26384>>2]|0)!=0:0)?!(c[i+240>>2]&2|0):0))k=4;if((k|0)==4?(o=c[i+116>>2]|0,o|0):0){c[h>>2]=N(c[j+32>>2]|0,f)|0;b=N(c[j+36>>2]|0,f>>b)|0;c[h+8>>2]=b;c[h+4>>2]=b;b=3;while(1){if((b|0)==8)break;c[h+(b<<2)>>2]=0;b=b+1|0}Wd[o&63](i,j,h,f,g,e)}l=n;return}function _k(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<<b;b=c[a>>2]<<b;c[a>>2]=b;if(!(b&65535))$k(a);return}function $k(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);if(e>>>0<(c[a+20>>2]|0)>>>0)c[b>>2]=e+2;return}function al(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ka=l;l=l+48|0;if((l|0)>=(m|0))W(48);_=ka+20|0;Y=ka;ja=ka+8|0;ca=g+21788|0;k=c[ca>>2]|0;aa=g+21792|0;q=c[aa>>2]|0;$=g+21796|0;n=c[$>>2]|0;da=c[(c[f+24364>>2]|0)+(n<<2)>>2]|0;p=f+25976|0;X=g+848|0;if(!(c[X>>2]|0))ha=(c[(c[f+28216>>2]|0)+16>>2]|0)!=0;else ha=0;i=f+24316|0;ia=f+25664|0;o=g+21772|0;j=f+12|0;h=0;while(1){if((h|0)==3)break;Z=c[ia>>2]|0;fa=c[o>>2]|0;V=(c[(c[i>>2]|0)+(h<<2)>>2]|0)+((N(fa,q)|0)+(k<<Z)<<4)|0;c[ja+(h<<2)>>2]=V;Z=V+(N(c[ca>>2]<<2&12,fa)|0)+(64<<Z)|0;Td[c[j>>2]&1023](Z,fa,4);h=h+1|0}r=g+23412|0;a[(c[f+26388>>2]|0)+n>>0]=c[r>>2];Z=g+21828|0;h=c[o>>2]|0;a:do if(c[Z>>2]|0){o=h<<1;c[g+21784>>2]=o;c[g+21780>>2]=o;p=f+26168|0;b:do if(q&1|0){i=N(h,-15)|0;h=0;while(1){if((h|0)==3)break b;fa=ja+(h<<2)|0;c[fa>>2]=(c[fa>>2]|0)+i;h=h+1|0}}while(0);if(!(c[f+26376>>2]|0))fa=o;else{j=(da&8|0)==0;i=0;while(1){if(i>>>0>=(c[r>>2]|0)>>>0){fa=o;break a}c:do if(12288<<(i<<1)&da|0){if(j)h=0;else{V=g+28272+(i*40|0)+12|0;fa=N((a[V>>0]|0)+16^c[aa>>2]&1,16843009)|0;c[V>>2]=fa;c[g+28272+(i*40|0)+20>>2]=fa;c[g+28272+(i*40|0)+28>>2]=fa;c[g+28272+(i*40|0)+36>>2]=fa;break}while(1){if((h|0)>=16)break c;k=(d[146266+h>>0]|0)+(g+28272+(i*40|0))|0;n=a[k>>0]|0;if(n<<24>>24>-1){fa=(c[aa>>2]&1^(n<<24>>24)+16)*257&65535;b[k>>1]=fa;b[k+8>>1]=fa}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21784>>2]=h;c[g+21780>>2]=h;fa=h}while(0);d:do if(!(da&4)){e:do if(da&7){V=g+868|0;i=c[V>>2]|0;f:do if(i|0){j=c[ja>>2]|0;k=c[ja+4>>2]|0;n=c[ja+8>>2]|0;B=c[ia>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[aa>>2]&1)if(h){h=1;break}else break f;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){u=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[$>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;w=c[ca>>2]|0}else{w=c[ca>>2]|0;u=(w|0)>0;i=(c[aa>>2]|0)>((c[Z>>2]|0)!=0|0)&1}z=0-(fa+1+B)|0;s=j+z|0;x=k+z|0;z=n+z|0;A=g+27796+(h<<2)|0;v=c[A>>2]|0;t=w+-1|0;k=v+(w*96|0)|0;if(i|0){n=(B|0)==0;do if(u){h=(8<<B)+(v+(t*96|0))|0;T=h;S=c[T>>2]|0;T=c[T+4>>2]|0;i=s+(-7<<B)|0;Q=i;R=c[Q+4>>2]|0;U=h;c[U>>2]=c[Q>>2];c[U+4>>2]=R;U=i;c[U>>2]=S;c[U+4>>2]=T;if(n){h=k;i=s+1|0;q=0;j=c[h>>2]|0;h=c[h+4>>2]|0;n=1;break}else{T=h+8|0;n=T;j=c[n>>2]|0;n=c[n+4>>2]|0;h=i+8|0;U=h;ea=c[U+4>>2]|0;i=T;c[i>>2]=c[U>>2];c[i+4>>2]=ea;c[h>>2]=j;c[h+4>>2]=n;h=k;n=1<<B;i=s+n|0;j=c[h>>2]|0;h=c[h+4>>2]|0;ea=56;break}}else{h=k;j=c[h>>2]|0;h=c[h+4>>2]|0;o=1<<B;i=s+o|0;if(n){q=0;n=o}else{n=o;ea=56}}while(0);if((ea|0)==56){ea=i;q=c[ea+4>>2]|0;c[k>>2]=c[ea>>2];c[k+4>>2]=q;k=i;c[k>>2]=j;c[k+4>>2]=h;k=v+(w*96|0)+8|0;h=k;i=s+n+8|0;q=1;j=c[h>>2]|0;h=c[h+4>>2]|0}o=i;T=c[o+4>>2]|0;U=k;c[U>>2]=c[o>>2];c[U+4>>2]=T;U=i;c[U>>2]=j;c[U+4>>2]=h;h=(8<<B)+(v+(w*96|0))|0;U=h;T=c[U>>2]|0;U=c[U+4>>2]|0;o=9<<B;i=s+o|0;R=i;S=c[R+4>>2]|0;ea=h;c[ea>>2]=c[R>>2];c[ea+4>>2]=S;ea=i;c[ea>>2]=T;c[ea+4>>2]=U;if(q){S=h+8|0;U=S;T=c[U>>2]|0;U=c[U+4>>2]|0;ea=i+8|0;Q=ea;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[ea>>2]=T;c[ea+4>>2]=U}h=(c[ca>>2]|0)+1|0;r=f+27012|0;if((h|0)<(c[r>>2]|0)?(ea=(c[A>>2]|0)+(h*96|0)|0,U=ea,T=c[U>>2]|0,U=c[U+4>>2]|0,C=s+(17<<B)|0,R=C,S=c[R+4>>2]|0,ea,c[ea>>2]=c[R>>2],c[ea+4>>2]=S,ea=C,c[ea>>2]=T,c[ea+4>>2]=U,q):0){S=(c[A>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+8|0;U=S;T=c[U>>2]|0;U=c[U+4>>2]|0;ea=C+8|0;Q=ea;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[ea>>2]=T;c[ea+4>>2]=U}if(u){h=(24<<B)+(v+(t*96|0))|0;U=h;T=c[U>>2]|0;U=c[U+4>>2]|0;j=-7<<B;i=x+j|0;R=i;S=c[R+4>>2]|0;ea=h;c[ea>>2]=c[R>>2];c[ea+4>>2]=S;ea=i;c[ea>>2]=T;c[ea+4>>2]=U;if(q){S=h+8|0;U=S;T=c[U>>2]|0;U=c[U+4>>2]|0;ea=i+8|0;Q=ea;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[ea>>2]=T;c[ea+4>>2]=U}i=(40<<B)+(v+(t*96|0))|0;U=i;T=c[U>>2]|0;U=c[U+4>>2]|0;h=z+j|0;R=h;S=c[R+4>>2]|0;ea=i;c[ea>>2]=c[R>>2];c[ea+4>>2]=S;ea=h;c[ea>>2]=T;c[ea+4>>2]=U;if(q){S=i+8|0;U=S;T=c[U>>2]|0;U=c[U+4>>2]|0;ea=h+8|0;Q=ea;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[ea>>2]=T;c[ea+4>>2]=U;ea=68}else ea=69}else if(q)ea=68;else ea=69;if((ea|0)==68){i=(16<<B)+(v+(w*96|0))|0;U=i;T=c[U>>2]|0;U=c[U+4>>2]|0;h=x+n|0;R=h;S=c[R+4>>2]|0;k=i;c[k>>2]=c[R>>2];c[k+4>>2]=S;k=h;c[k>>2]=T;c[k+4>>2]=U;h=h+8|0;i=i+8|0;k=1}else if((ea|0)==69){h=x+n|0;i=(16<<B)+(v+(w*96|0))|0;k=0}T=i;S=c[T>>2]|0;T=c[T+4>>2]|0;R=h;Q=c[R+4>>2]|0;c[i>>2]=c[R>>2];c[i+4>>2]=Q;c[h>>2]=S;c[h+4>>2]=T;h=(24<<B)+(v+(w*96|0))|0;T=h;S=c[T>>2]|0;T=c[T+4>>2]|0;i=x+o|0;Q=i;R=c[Q+4>>2]|0;U=h;c[U>>2]=c[Q>>2];c[U+4>>2]=R;U=i;c[U>>2]=S;c[U+4>>2]=T;if(k){h=h+8|0;T=h;S=c[T>>2]|0;T=c[T+4>>2]|0;i=i+8|0;R=i;Q=c[R+4>>2]|0;c[h>>2]=c[R>>2];c[h+4>>2]=Q;c[i>>2]=S;c[i+4>>2]=T;i=(32<<B)+(v+(w*96|0))|0;T=i;S=c[T>>2]|0;T=c[T+4>>2]|0;h=z+n|0;Q=h;R=c[Q+4>>2]|0;U=i;c[U>>2]=c[Q>>2];c[U+4>>2]=R;U=h;c[U>>2]=S;c[U+4>>2]=T;h=h+8|0;i=i+8|0}else{h=z+n|0;i=(32<<B)+(v+(w*96|0))|0}T=i;S=c[T>>2]|0;T=c[T+4>>2]|0;R=h;Q=c[R+4>>2]|0;c[i>>2]=c[R>>2];c[i+4>>2]=Q;i=h;c[i>>2]=S;c[i+4>>2]=T;i=(40<<B)+(v+(w*96|0))|0;T=i;S=c[T>>2]|0;T=c[T+4>>2]|0;h=z+o|0;Q=h;R=c[Q+4>>2]|0;U=i;c[U>>2]=c[Q>>2];c[U+4>>2]=R;U=h;c[U>>2]=S;c[U+4>>2]=T;if(k){R=i+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;U=h+8|0;P=U;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[U>>2]=S;c[U+4>>2]=T}h=(c[ca>>2]|0)+1|0;if((h|0)<(c[r>>2]|0)){i=16<<B;U=(c[A>>2]|0)+(h*96|0)+i|0;T=U;S=c[T>>2]|0;T=c[T+4>>2]|0;j=17<<B;h=x+j|0;Q=h;R=c[Q+4>>2]|0;c[U>>2]=c[Q>>2];c[U+4>>2]=R;U=h;c[U>>2]=S;c[U+4>>2]=T;if(k){R=(c[A>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+i+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;U=h+8|0;P=U;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[U>>2]=S;c[U+4>>2]=T}i=32<<B;U=(c[A>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+i|0;T=U;S=c[T>>2]|0;T=c[T+4>>2]|0;h=z+j|0;Q=h;R=c[Q+4>>2]|0;c[U>>2]=c[Q>>2];c[U+4>>2]=R;U=h;c[U>>2]=S;c[U+4>>2]=T;if(k){R=(c[A>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+i+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;U=h+8|0;P=U;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[U>>2]=S;c[U+4>>2]=T}}}}while(0);h=da&1;A=(h|0)==0;F=g+21660|0;B=f+132|0;C=f+28212|0;T=da&16777216;D=(T|0)==0;H=f+144|0;G=f+28216|0;I=g+21764|0;J=3-fa|0;K=3-((fa|0)/2|0)|0;L=0-fa|0;E=g+28560|0;M=f+108|0;O=f+100|0;U=f+140|0;P=f+25704|0;Q=g+21756|0;R=f+112|0;S=f+104|0;z=0;while(1){if((z|0)==3)break;x=c[ia>>2]|0;u=c[ja+(z<<2)>>2]|0;i=c[((z|0)==0?X:g+852+(z+-1<<2)|0)>>2]|0;v=z<<4;w=p+(v<<2)|0;g:do if(A){Sd[c[f+25888+(c[F>>2]<<2)>>2]&255](u,fa);if(a[(d[146266+(z+48)>>0]|0)+(g+27824)>>0]|0){if(!ha){Td[c[B>>2]&1023](g+28560+(z<<8<<x<<1)|0,g+31632+(z<<6)|0,c[(c[(c[C>>2]|0)+173788+(z<<2)>>2]|0)+(i<<6)>>2]|0);break}o=g+28560+(z<<8<<x<<1)|0;j=(x|0)==0;k=g+31632+(z<<6)|0;i=0;while(1){if((i|0)==16)break g;n=d[135553+i>>0]|0;if(j)b[o+(n<<1)>>1]=b[g+31632+(z<<6)+(i<<1)>>1]|0;else c[o+(n<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}}}else{if(!D){if(ha){n=c[U>>2]|0;k=n}else{k=c[S>>2]|0;n=c[R>>2]|0}q=z<<8;r=(x|0)==0;o=0;while(1){if((o|0)>=16)break g;s=u+(c[w+(o<<2)>>2]|0)|0;t=a[(d[146266+o>>0]|0)+(g+21664)>>0]|0;i=t<<24>>24;do if(ha?(t<<24>>24<2?(c[(c[G>>2]|0)+4>>2]|0)==244:0):0)if((c[P>>2]|0)>>>0<151){Td[c[f+25932+(i<<2)>>2]&1023](s,g+28560+((o<<4)+q<<x<<1)|0,fa);break}else{Vd[c[f+25940+(i<<2)>>2]&127](s,g+28560+((o<<4)+q<<x<<1)|0,c[Q>>2]<<o&32768,c[I>>2]<<o&16384,fa);break}else ea=94;while(0);h:do if((ea|0)==94){ea=0;t=a[(d[146266+(o+v)>>0]|0)+(g+27824)>>0]|0;Ud[c[f+25796+(i<<2)>>2]&255](s,c[Q>>2]<<o&32768,c[I>>2]<<o&16384,fa);i:do switch(t<<24>>24){case 0:break h;case 1:{i=(o<<4)+q|0;if(r)j=e[g+28560+(i<<1)>>1]|0;else j=c[E+(i<<2)>>2]|0;if(!j)break i;Td[n&1023](s,g+28560+(i<<x<<1)|0,fa);break h}default:i=(o<<4)+q|0}while(0);Td[k&1023](s,g+28560+(i<<x<<1)|0,fa)}while(0);o=o+4|0}}if(ha){n=c[H>>2]|0;k=n}else{k=c[O>>2]|0;n=c[M>>2]|0}q=z<<8;r=(x|0)==0;s=4<<x;o=0;while(1){if((o|0)==16)break g;t=u+(c[w+(o<<2)>>2]|0)|0;i=a[(d[146266+o>>0]|0)+(g+21664)>>0]|0;j=i<<24>>24;if(ha?(i<<24>>24<2?(c[(c[G>>2]|0)+4>>2]|0)==244:0):0)Td[c[f+25924+(j<<2)>>2]&1023](t,g+28560+((o<<4)+q<<x<<1)|0,fa);else{do if((i|4)<<24>>24==7){if(c[I>>2]&32768>>>o|0){i=t+s+L|0;break}if(r){c[_>>2]=N(d[t+J>>0]|0,16843009)|0;i=_;break}else{la=ZW(e[t+(K<<1)>>1]|0,0,65537,65537)|0;i=Y;c[i>>2]=la;c[i+4>>2]=y;i=Y;break}}else i=0;while(0);Td[c[f+25736+(j<<2)>>2]&1023](t,i,fa);j:do switch(a[(d[146266+(o+v)>>0]|0)+(g+27824)>>0]|0){case 0:break;case 1:{i=(o<<4)+q|0;if(r)j=e[g+28560+(i<<1)>>1]|0;else j=c[E+(i<<2)>>2]|0;if(!j){ea=124;break j}Td[n&1023](t,g+28560+(i<<x<<1)|0,fa);break}default:{i=(o<<4)+q|0;ea=124}}while(0);if((ea|0)==124){ea=0;Td[k&1023](t,g+28560+(i<<x<<1)|0,fa)}}o=o+1|0}}while(0);z=z+1|0}j=c[V>>2]|0;if(j){k=c[ja>>2]|0;n=c[ja+4>>2]|0;q=c[ja+8>>2]|0;B=c[ia>>2]|0;do if(c[f+26376>>2]|0){i=(c[g+21832>>2]|0)!=0;if(c[aa>>2]&1)if(i){o=1;break}else{j=T;i=U;break e}else{o=(i^1)&1;break}}else o=1;while(0);if((j|0)==2){u=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[$>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;w=c[ca>>2]|0}else{w=c[ca>>2]|0;u=(w|0)>0;i=(c[aa>>2]|0)>((c[Z>>2]|0)!=0|0)&1}z=0-(fa+1+B)|0;s=k+z|0;x=n+z|0;z=q+z|0;A=g+27796+(o<<2)|0;v=c[A>>2]|0;t=w+-1|0;k=v+(w*96|0)|0;if(i){n=(B|0)==0;do if(u){i=(8<<B)+(v+(t*96|0))|0;aa=i;$=c[aa>>2]|0;aa=c[aa+4>>2]|0;j=s+(-7<<B)|0;Z=j;_=c[Z+4>>2]|0;la=i;c[la>>2]=c[Z>>2];c[la+4>>2]=_;la=j;c[la>>2]=$;c[la+4>>2]=aa;if(n){i=k;j=s+1|0;k=c[i>>2]|0;i=c[i+4>>2]|0;o=1;n=0;break}else{$=i+8|0;o=$;ea=c[o>>2]|0;o=c[o+4>>2]|0;i=j+8|0;aa=i;la=c[aa+4>>2]|0;j=$;c[j>>2]=c[aa>>2];c[j+4>>2]=la;c[i>>2]=ea;c[i+4>>2]=o;i=k;o=1<<B;j=s+o|0;k=c[i>>2]|0;i=c[i+4>>2]|0;ea=151;break}}else{i=k;k=c[i>>2]|0;i=c[i+4>>2]|0;o=1<<B;j=s+o|0;if(n)n=0;else ea=151}while(0);if((ea|0)==151){c[j>>2]=k;c[j+4>>2]=i;i=v+(w*96|0)+8|0;j=s+o+8|0;k=c[i>>2]|0;i=c[i+4>>2]|0;n=1}ea=j;c[ea>>2]=k;c[ea+4>>2]=i;i=(8<<B)+(v+(w*96|0))|0;ea=i;aa=c[ea>>2]|0;ea=c[ea+4>>2]|0;q=9<<B;j=s+q|0;_=j;$=c[_+4>>2]|0;la=i;c[la>>2]=c[_>>2];c[la+4>>2]=$;la=j;c[la>>2]=aa;c[la+4>>2]=ea;if(n){$=i+8|0;ea=$;aa=c[ea>>2]|0;ea=c[ea+4>>2]|0;la=j+8|0;Z=la;_=c[Z+4>>2]|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_;c[la>>2]=aa;c[la+4>>2]=ea}i=(c[ca>>2]|0)+1|0;r=f+27012|0;if((i|0)<(c[r>>2]|0)?(la=(c[A>>2]|0)+(i*96|0)|0,ea=la,aa=c[ea>>2]|0,ea=c[ea+4>>2]|0,ba=s+(17<<B)|0,_=ba,$=c[_+4>>2]|0,la,c[la>>2]=c[_>>2],c[la+4>>2]=$,la=ba,c[la>>2]=aa,c[la+4>>2]=ea,n):0){Z=(c[A>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+8|0;ea=Z;aa=c[ea>>2]|0;ea=c[ea+4>>2]|0;la=ba+8|0;_=la;$=c[_+4>>2]|0;ba=Z;c[ba>>2]=c[_>>2];c[ba+4>>2]=$;c[la>>2]=aa;c[la+4>>2]=ea}if(u){i=(24<<B)+(v+(t*96|0))|0;ea=i;ba=c[ea>>2]|0;ea=c[ea+4>>2]|0;k=-7<<B;j=x+k|0;$=j;aa=c[$+4>>2]|0;la=i;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=j;c[la>>2]=ba;c[la+4>>2]=ea;if(n){aa=i+8|0;ea=aa;ba=c[ea>>2]|0;ea=c[ea+4>>2]|0;la=j+8|0;_=la;$=c[_+4>>2]|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$;c[la>>2]=ba;c[la+4>>2]=ea}j=(40<<B)+(v+(t*96|0))|0;ea=j;ba=c[ea>>2]|0;ea=c[ea+4>>2]|0;i=z+k|0;$=i;aa=c[$+4>>2]|0;la=j;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=i;c[la>>2]=ba;c[la+4>>2]=ea;if(n){aa=j+8|0;la=aa;ba=c[la>>2]|0;la=c[la+4>>2]|0;ea=i+8|0;_=ea;$=c[_+4>>2]|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$;c[ea>>2]=ba;c[ea+4>>2]=la;ea=163}else ea=164}else if(n)ea=163;else ea=164;if((ea|0)==163){j=(16<<B)+(v+(w*96|0))|0;ba=j;la=c[ba+4>>2]|0;i=x+o|0;n=i;c[n>>2]=c[ba>>2];c[n+4>>2]=la;i=i+8|0;j=j+8|0;n=1}else if((ea|0)==164){i=x+o|0;j=(16<<B)+(v+(w*96|0))|0;n=0}aa=j;ba=c[aa+4>>2]|0;c[i>>2]=c[aa>>2];c[i+4>>2]=ba;i=(24<<B)+(v+(w*96|0))|0;ba=i;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;j=x+q|0;_=j;$=c[_+4>>2]|0;la=i;c[la>>2]=c[_>>2];c[la+4>>2]=$;la=j;c[la>>2]=aa;c[la+4>>2]=ba;if(n){i=i+8|0;aa=i;ba=c[aa>>2]|0;aa=c[aa+4>>2]|0;j=j+8|0;$=j;la=c[$+4>>2]|0;c[i>>2]=c[$>>2];c[i+4>>2]=la;c[j>>2]=ba;c[j+4>>2]=aa;j=(32<<B)+(v+(w*96|0))|0;aa=j;ba=c[aa+4>>2]|0;i=z+o|0;la=i;c[la>>2]=c[aa>>2];c[la+4>>2]=ba;i=i+8|0;j=j+8|0}else{i=z+o|0;j=(32<<B)+(v+(w*96|0))|0}aa=j;ba=c[aa+4>>2]|0;j=i;c[j>>2]=c[aa>>2];c[j+4>>2]=ba;j=(40<<B)+(v+(w*96|0))|0;ba=j;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;i=z+q|0;_=i;$=c[_+4>>2]|0;la=j;c[la>>2]=c[_>>2];c[la+4>>2]=$;la=i;c[la>>2]=aa;c[la+4>>2]=ba;if(n){$=j+8|0;ba=$;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;la=i+8|0;Z=la;_=c[Z+4>>2]|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_;c[la>>2]=aa;c[la+4>>2]=ba}i=(c[ca>>2]|0)+1|0;if((i|0)<(c[r>>2]|0)){j=16<<B;la=(c[A>>2]|0)+(i*96|0)+j|0;ba=la;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;k=17<<B;i=x+k|0;_=i;$=c[_+4>>2]|0;c[la>>2]=c[_>>2];c[la+4>>2]=$;la=i;c[la>>2]=aa;c[la+4>>2]=ba;if(n){$=(c[A>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+j+8|0;ba=$;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;la=i+8|0;Z=la;_=c[Z+4>>2]|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_;c[la>>2]=aa;c[la+4>>2]=ba}j=32<<B;la=(c[A>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+j|0;ba=la;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;i=z+k|0;_=i;$=c[_+4>>2]|0;c[la>>2]=c[_>>2];c[la+4>>2]=$;la=i;c[la>>2]=aa;c[la+4>>2]=ba;if(n){$=(c[A>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+j+8|0;la=$;ca=c[la>>2]|0;la=c[la+4>>2]|0;j=i+8|0;aa=j;ba=c[aa+4>>2]|0;i=$;c[i>>2]=c[aa>>2];c[i+4>>2]=ba;c[j>>2]=ca;c[j+4>>2]=la;j=T;i=U}else{j=T;i=U}}else{j=T;i=U}}else{j=T;i=U}}else{j=T;i=U}}else{ll(f,g,c[ja>>2]|0,c[ja+4>>2]|0,c[ja+8>>2]|0,f+184|0,f+152|0,f+440|0,f+168|0,f+16|0,f+32|0);j=da&16777216;H=f+144|0;i=f+140|0;G=f+28216|0;F=g+21660|0;E=g+28560|0;h=da&1}while(0);D=(h|0)==0;A=(da&2|0)==0;B=g+21856|0;z=(j|0)!=0;C=z?4:1;z=z?i:H;q=(j|0)==0;r=f+116|0;s=f+120|0;t=f+128|0;o=0;while(1){if((o|0)==3)break d;u=c[ia>>2]|0;v=c[ja+(o<<2)>>2]|0;w=o<<4;x=p+(w<<2)|0;k:do if(D){if(A){if(!(c[B>>2]&15))break;if(!ha)if(q){Vd[c[r>>2]&127](v,x,g+28560+(o<<8<<u<<1)|0,fa,(o*40|0)+(g+27824)|0);break}else{Vd[c[s>>2]&127](v,x,g+28560+(o<<8<<u<<1)|0,fa,(o*40|0)+(g+27824)|0);break}i=c[z>>2]|0;j=o<<8;h=0;while(1){if((h|0)>=16)break k;if(a[(d[146266+(h+w)>>0]|0)+(g+27824)>>0]|0)Td[i&1023](v+(c[x+(h<<2)>>2]|0)|0,g+28560+((h<<4)+j<<u<<1)|0,fa);h=h+C|0}}if(!ha){Vd[c[t>>2]&127](v,x,g+28560+(o<<8<<u<<1)|0,fa,(o*40|0)+(g+27824)|0);break}if((c[(c[G>>2]|0)+4>>2]|0)==244?(ga=c[F>>2]|0,(ga+-1|0)>>>0<2):0){Ud[c[f+25960+(ga<<2)>>2]&255](v,x,g+28560+(o<<8<<u<<1)|0,fa);break}j=o<<8;k=(u|0)==0;h=0;while(1){if((h|0)==16)break k;n=(h<<4)+j|0;if(!(a[(d[146266+(h+w)>>0]|0)+(g+27824)>>0]|0)){if(k)i=e[g+28560+(n<<1)>>1]|0;else i=c[E+(n<<2)>>2]|0;if(i|0)ea=191}else ea=191;if((ea|0)==191){ea=0;Td[c[H>>2]&1023](v+(c[x+(h<<2)>>2]|0)|0,g+28560+(n<<u<<1)|0,fa)}h=h+1|0}}while(0);o=o+1|0}}else{if(!(c[ia>>2]|0)){j=g+27780|0;i=0;while(1){if((i|0)==3)break d;k=ja+(i<<2)|0;n=i<<8;h=0;while(1){if((h|0)==16)break;o=(c[k>>2]|0)+(N(h,fa)|0)|0;p=(c[j>>2]|0)+n+(h<<4)|0;q=o+16|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));h=h+1|0}i=i+1|0}}o=c[(c[f+28216>>2]|0)+1184>>2]|0;cl(_,c[g+27780>>2]|0,o*768|0);j=0;while(1){if((j|0)==3)break;k=ja+(j<<2)|0;i=0;while(1){if((i|0)==16)break;n=(c[k>>2]|0)+(N(i,fa)|0)|0;h=0;while(1){if((h|0)==16)break;b[n+(h<<1)>>1]=dl(_,o)|0;h=h+1|0}i=i+1|0}j=j+1|0}}while(0);l=ka;return}function bl(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;$=l;l=l+32|0;if((l|0)>=(m|0))W(32);_=$+8|0;D=$;I=g+21788|0;i=c[I>>2]|0;G=g+21792|0;k=c[G>>2]|0;F=g+21796|0;j=c[F>>2]|0;K=c[(c[f+24364>>2]|0)+(j<<2)>>2]|0;B=g+848|0;U=f+28216|0;h=c[U>>2]|0;if(!(c[B>>2]|0))R=(c[h+16>>2]|0)!=0;else R=0;v=16>>>(c[f+25680>>2]|0);V=(c[h+12>>2]|0)==2;S=c[f+24316>>2]|0;Y=f+25664|0;T=c[Y>>2]|0;E=i<<T;Z=g+21772|0;t=c[Z>>2]|0;n=(c[S>>2]|0)+((N(t,k)|0)+E<<4)|0;E=E<<3;h=g+21776|0;o=N(N(v,k)|0,c[h>>2]|0)|0;q=(c[S+4>>2]|0)+E+o|0;o=(c[S+8>>2]|0)+E+o|0;E=f+12|0;i=n+(N(i<<2&12,t)|0)+(64<<T)|0;Td[c[E>>2]&1023](i,t,4);t=q+(N(c[I>>2]&7,c[h>>2]|0)|0)|0;Td[c[E>>2]&1023](t+(64<<c[Y>>2])|0,o-q|0,2);t=g+23412|0;a[(c[f+26388>>2]|0)+j>>0]=c[t>>2];E=g+21828|0;i=c[Z>>2]|0;a:do if(c[E>>2]|0){r=i<<1;c[g+21780>>2]=r;h=c[h>>2]|0;s=h<<1;c[g+21784>>2]=s;u=f+26168|0;if(!(k&1))p=n;else{Z=N(1-v|0,h)|0;p=n+(N(i,-15)|0)|0;q=q+Z|0;o=o+Z|0}if(!(c[f+26376>>2]|0)){O=r;Z=s;S=u;M=p;T=o}else{j=(K&8|0)==0;i=0;while(1){if(i>>>0>=(c[t>>2]|0)>>>0){O=r;Z=s;S=u;M=p;T=o;break a}b:do if(12288<<(i<<1)&K|0){if(j)h=0;else{T=g+28272+(i*40|0)+12|0;Z=N((a[T>>0]|0)+16^c[G>>2]&1,16843009)|0;c[T>>2]=Z;c[g+28272+(i*40|0)+20>>2]=Z;c[g+28272+(i*40|0)+28>>2]=Z;c[g+28272+(i*40|0)+36>>2]=Z;break}while(1){if((h|0)>=16)break b;k=(d[146266+h>>0]|0)+(g+28272+(i*40|0))|0;n=a[k>>0]|0;if(n<<24>>24>-1){Z=(c[G>>2]&1^(n<<24>>24)+16)*257&65535;b[k>>1]=Z;b[k+8>>1]=Z}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21780>>2]=i;Z=c[h>>2]|0;c[g+21784>>2]=Z;O=i;S=f+25976|0;M=n;T=o}while(0);c:do if(!(K&4)){J=(K&7|0)!=0;d:do if(J){C=g+868|0;i=c[C>>2]|0;e:do if(i|0){z=c[Y>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[G>>2]&1)if(h){h=1;break}else break e;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[F>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;w=c[I>>2]|0}else{w=c[I>>2]|0;s=(w|0)>0;i=(c[G>>2]|0)>((c[E>>2]|0)!=0|0)&1}r=M+(0-(O+1+z))|0;x=0-(Z+1+z)|0;u=q+x|0;x=T+x|0;p=g+27796+(h<<2)|0;v=c[p>>2]|0;t=w+-1|0;n=v+(w*96|0)|0;if(i|0){j=(z|0)==0;do if(s){h=(8<<z)+(v+(t*96|0))|0;k=h;aa=c[k>>2]|0;k=c[k+4>>2]|0;i=r+(-7<<z)|0;ca=i;ba=c[ca+4>>2]|0;o=h;c[o>>2]=c[ca>>2];c[o+4>>2]=ba;o=i;c[o>>2]=aa;c[o+4>>2]=k;if(j){h=n;i=r+1|0;j=0;k=c[h>>2]|0;h=c[h+4>>2]|0;break}else{ba=h+8|0;o=ba;j=c[o>>2]|0;o=c[o+4>>2]|0;h=i+8|0;ca=h;X=c[ca+4>>2]|0;i=ba;c[i>>2]=c[ca>>2];c[i+4>>2]=X;c[h>>2]=j;c[h+4>>2]=o;h=n;o=1<<z;i=r+o|0;j=c[h>>2]|0;h=c[h+4>>2]|0;X=69;break}}else{h=n;k=c[h>>2]|0;h=c[h+4>>2]|0;o=1<<z;i=r+o|0;if(j)j=0;else{j=k;X=69}}while(0);if((X|0)==69){ca=i;k=c[ca+4>>2]|0;c[n>>2]=c[ca>>2];c[n+4>>2]=k;n=i;c[n>>2]=j;c[n+4>>2]=h;n=v+(w*96|0)+8|0;h=n;i=r+o+8|0;j=1;k=c[h>>2]|0;h=c[h+4>>2]|0}o=i;aa=c[o+4>>2]|0;ba=n;c[ba>>2]=c[o>>2];c[ba+4>>2]=aa;ba=i;c[ba>>2]=k;c[ba+4>>2]=h;h=(8<<z)+(v+(w*96|0))|0;ba=h;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;i=r+(9<<z)|0;n=i;o=c[n+4>>2]|0;ca=h;c[ca>>2]=c[n>>2];c[ca+4>>2]=o;ca=i;c[ca>>2]=aa;c[ca+4>>2]=ba;if(j){o=h+8|0;ba=o;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;ca=i+8|0;k=ca;n=c[k+4>>2]|0;c[o>>2]=c[k>>2];c[o+4>>2]=n;c[ca>>2]=aa;c[ca+4>>2]=ba}h=(c[I>>2]|0)+1|0;if((h|0)<(c[f+27012>>2]|0)?(ca=(c[p>>2]|0)+(h*96|0)|0,ba=ca,aa=c[ba>>2]|0,ba=c[ba+4>>2]|0,A=r+(17<<z)|0,o=A,r=c[o+4>>2]|0,ca,c[ca>>2]=c[o>>2],c[ca+4>>2]=r,ca=A,c[ca>>2]=aa,c[ca+4>>2]=ba,j):0){o=(c[p>>2]|0)+(((c[I>>2]|0)+1|0)*96|0)+8|0;ba=o;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;ca=A+8|0;p=ca;r=c[p+4>>2]|0;A=o;c[A>>2]=c[p>>2];c[A+4>>2]=r;c[ca>>2]=aa;c[ca+4>>2]=ba}n=16<<z;if(s){h=v+(t*96|0)+n|0;ba=h;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;k=-7<<z;i=u+k|0;s=i;A=c[s+4>>2]|0;ca=h;c[ca>>2]=c[s>>2];c[ca+4>>2]=A;ca=i;c[ca>>2]=aa;c[ca+4>>2]=ba;if(j){A=h+8|0;ba=A;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;ca=i+8|0;r=ca;s=c[r+4>>2]|0;c[A>>2]=c[r>>2];c[A+4>>2]=s;c[ca>>2]=aa;c[ca+4>>2]=ba}i=(24<<z)+(v+(t*96|0))|0;ba=i;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;h=x+k|0;t=h;A=c[t+4>>2]|0;ca=i;c[ca>>2]=c[t>>2];c[ca+4>>2]=A;ca=h;c[ca>>2]=aa;c[ca+4>>2]=ba;if(j){aa=i+8|0;ca=aa;ba=c[ca>>2]|0;ca=c[ca+4>>2]|0;j=h+8|0;t=j;A=c[t+4>>2]|0;c[aa>>2]=c[t>>2];c[aa+4>>2]=A;c[j>>2]=ba;c[j+4>>2]=ca;j=1}else j=0}i=v+(w*96|0)+n|0;ba=i;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;h=u+1+z|0;u=h;A=c[u+4>>2]|0;ca=i;c[ca>>2]=c[u>>2];c[ca+4>>2]=A;ca=h;c[ca>>2]=aa;c[ca+4>>2]=ba;if(j){A=i+8|0;ba=A;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;ca=h+8|0;t=ca;u=c[t+4>>2]|0;c[A>>2]=c[t>>2];c[A+4>>2]=u;c[ca>>2]=aa;c[ca+4>>2]=ba}i=(24<<z)+(v+(w*96|0))|0;ba=i;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;h=x+1+z|0;z=h;A=c[z+4>>2]|0;ca=i;c[ca>>2]=c[z>>2];c[ca+4>>2]=A;ca=h;c[ca>>2]=aa;c[ca+4>>2]=ba;if(j){A=i+8|0;ba=A;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;ca=h+8|0;x=ca;z=c[x+4>>2]|0;c[A>>2]=c[x>>2];c[A+4>>2]=z;c[ca>>2]=aa;c[ca+4>>2]=ba}}}while(0);z=g+21656|0;Sd[c[f+25844+(c[z>>2]<<2)>>2]&255](q,Z);Sd[c[f+25844+(c[z>>2]<<2)>>2]&255](T,Z);z=c[Y>>2]|0;h=c[B>>2]|0;f:do if(!(K&1)){Sd[c[f+25888+(c[g+21660>>2]<<2)>>2]&255](M,O);if(a[g+27824>>0]|0){if(!R){Td[c[f+132>>2]&1023](g+28560|0,g+31632|0,c[(c[(c[f+28212>>2]|0)+173788>>2]|0)+(h<<6)>>2]|0);break}n=g+28560|0;i=(z|0)==0;j=g+31632|0;h=0;while(1){if((h|0)==16)break f;k=d[135553+h>>0]|0;if(i)b[g+28560+(k<<1)>>1]=b[g+31632+(h<<1)>>1]|0;else c[n+(k<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}}}else{if(K&16777216|0){if(R){k=c[f+140>>2]|0;j=k}else{j=c[f+104>>2]|0;k=c[f+112>>2]|0}o=f+25704|0;p=g+21756|0;r=g+21764|0;s=(z|0)==0;t=g+28560|0;n=0;while(1){if((n|0)>=16)break f;u=M+(c[S+(n<<2)>>2]|0)|0;h=d[146266+n>>0]|0;ca=a[g+21664+h>>0]|0;i=ca<<24>>24;do if(R?(ca<<24>>24<2?(c[(c[U>>2]|0)+4>>2]|0)==244:0):0)if((c[o>>2]|0)>>>0<151){Td[c[f+25932+(i<<2)>>2]&1023](u,g+28560+(n<<4<<z<<1)|0,O);break}else{Vd[c[f+25940+(i<<2)>>2]&127](u,g+28560+(n<<4<<z<<1)|0,c[p>>2]<<n&32768,c[r>>2]<<n&16384,O);break}else X=96;while(0);g:do if((X|0)==96){X=0;ca=a[g+27824+h>>0]|0;Ud[c[f+25796+(i<<2)>>2]&255](u,c[p>>2]<<n&32768,c[r>>2]<<n&16384,O);switch(ca<<24>>24){case 0:break g;case 1:{h=n<<4;if(s)i=e[g+28560+(h<<1)>>1]|0;else i=c[t+(h<<2)>>2]|0;if(i){Td[k&1023](u,g+28560+(h<<z<<1)|0,O);break g}break}default:h=n<<4}Td[j&1023](u,g+28560+(h<<z<<1)|0,O)}while(0);n=n+4|0}}if(R){n=c[f+144>>2]|0;k=n}else{k=c[f+100>>2]|0;n=c[f+108>>2]|0}p=g+21764|0;r=(z|0)==0;s=3-O|0;t=3-((O|0)/2|0)|0;u=4<<z;v=0-O|0;w=g+28560|0;o=0;while(1){if((o|0)==16)break f;x=M+(c[S+(o<<2)>>2]|0)|0;i=d[146266+o>>0]|0;h=a[g+21664+i>>0]|0;j=h<<24>>24;if(R?(h<<24>>24<2?(c[(c[U>>2]|0)+4>>2]|0)==244:0):0)Td[c[f+25924+(j<<2)>>2]&1023](x,g+28560+(o<<4<<z<<1)|0,O);else{do if((h|4)<<24>>24==7){if(c[p>>2]&32768>>>o|0){h=x+u+v|0;break}if(r){c[_>>2]=N(d[x+s>>0]|0,16843009)|0;h=_;break}else{ca=ZW(e[x+(t<<1)>>1]|0,0,65537,65537)|0;h=D;c[h>>2]=ca;c[h+4>>2]=y;h=D;break}}else h=0;while(0);Td[c[f+25736+(j<<2)>>2]&1023](x,h,O);switch(a[g+27824+i>>0]|0){case 0:break;case 1:{h=o<<4;if(r)i=e[g+28560+(h<<1)>>1]|0;else i=c[w+(h<<2)>>2]|0;if(!i)X=126;else Td[n&1023](x,g+28560+(h<<z<<1)|0,O);break}default:{h=o<<4;X=126}}if((X|0)==126){X=0;Td[k&1023](x,g+28560+(h<<z<<1)|0,O)}}o=o+1|0}}while(0);i=c[C>>2]|0;if(i|0){x=c[Y>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[G>>2]&1)if(h){j=1;break}else break d;else{j=(h^1)&1;break}}else j=1;while(0);if((i|0)==2){r=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[F>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);h=c[g+21732>>2]|0;v=c[I>>2]|0}else{v=c[I>>2]|0;r=(v|0)>0;h=(c[G>>2]|0)>((c[E>>2]|0)!=0|0)&1}p=M+(0-(O+1+x))|0;w=0-(Z+1+x)|0;t=q+w|0;w=T+w|0;o=g+27796+(j<<2)|0;u=c[o>>2]|0;s=v+-1|0;j=u+(v*96|0)|0;if(h|0){n=(x|0)==0;do if(r){h=(8<<x)+(u+(s*96|0))|0;ba=h;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;i=p+(-7<<x)|0;F=i;G=c[F+4>>2]|0;ca=h;c[ca>>2]=c[F>>2];c[ca+4>>2]=G;ca=i;c[ca>>2]=aa;c[ca+4>>2]=ba;if(n){h=j;k=p+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;j=0;break}else{X=h+8|0;k=X;h=c[k>>2]|0;k=c[k+4>>2]|0;i=i+8|0;ba=i;ca=c[ba+4>>2]|0;c[X>>2]=c[ba>>2];c[X+4>>2]=ca;c[i>>2]=h;c[i+4>>2]=k;i=j;k=1<<x;j=p+k|0;h=c[i+4>>2]|0;i=c[i>>2]|0;X=152;break}}else{h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;k=1<<x;j=p+k|0;if(n){k=j;j=0}else X=152}while(0);if((X|0)==152){c[j>>2]=i;c[j+4>>2]=h;h=u+(v*96|0)+8|0;k=p+k+8|0;i=c[h>>2]|0;h=c[h+4>>2]|0;j=1}ba=k;c[ba>>2]=i;c[ba+4>>2]=h;h=(8<<x)+(u+(v*96|0))|0;ba=h;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;i=p+(9<<x)|0;F=i;G=c[F+4>>2]|0;ca=h;c[ca>>2]=c[F>>2];c[ca+4>>2]=G;ca=i;c[ca>>2]=aa;c[ca+4>>2]=ba;if(j){G=h+8|0;ba=G;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;ca=i+8|0;E=ca;F=c[E+4>>2]|0;c[G>>2]=c[E>>2];c[G+4>>2]=F;c[ca>>2]=aa;c[ca+4>>2]=ba}h=(c[I>>2]|0)+1|0;if((h|0)<(c[f+27012>>2]|0)?(ca=(c[o>>2]|0)+(h*96|0)|0,ba=ca,aa=c[ba>>2]|0,ba=c[ba+4>>2]|0,H=p+(17<<x)|0,F=H,G=c[F+4>>2]|0,ca,c[ca>>2]=c[F>>2],c[ca+4>>2]=G,ca=H,c[ca>>2]=aa,c[ca+4>>2]=ba,j):0){I=(c[o>>2]|0)+(((c[I>>2]|0)+1|0)*96|0)+8|0;ba=I;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;ca=H+8|0;G=ca;H=c[G+4>>2]|0;c[I>>2]=c[G>>2];c[I+4>>2]=H;c[ca>>2]=aa;c[ca+4>>2]=ba}n=16<<x;if(r){h=u+(s*96|0)+n|0;ba=h;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;k=-7<<x;i=t+k|0;H=i;I=c[H+4>>2]|0;ca=h;c[ca>>2]=c[H>>2];c[ca+4>>2]=I;ca=i;c[ca>>2]=aa;c[ca+4>>2]=ba;if(j){I=h+8|0;ba=I;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;ca=i+8|0;G=ca;H=c[G+4>>2]|0;c[I>>2]=c[G>>2];c[I+4>>2]=H;c[ca>>2]=aa;c[ca+4>>2]=ba}i=(24<<x)+(u+(s*96|0))|0;ba=i;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;h=w+k|0;H=h;I=c[H+4>>2]|0;ca=i;c[ca>>2]=c[H>>2];c[ca+4>>2]=I;ca=h;c[ca>>2]=aa;c[ca+4>>2]=ba;if(j){aa=i+8|0;ca=aa;ba=c[ca>>2]|0;ca=c[ca+4>>2]|0;j=h+8|0;H=j;I=c[H+4>>2]|0;c[aa>>2]=c[H>>2];c[aa+4>>2]=I;c[j>>2]=ba;c[j+4>>2]=ca;j=1}else j=0}i=u+(v*96|0)+n|0;ba=i;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;h=t+1+x|0;H=h;I=c[H+4>>2]|0;ca=i;c[ca>>2]=c[H>>2];c[ca+4>>2]=I;ca=h;c[ca>>2]=aa;c[ca+4>>2]=ba;if(j){I=i+8|0;ba=I;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;ca=h+8|0;G=ca;H=c[G+4>>2]|0;c[I>>2]=c[G>>2];c[I+4>>2]=H;c[ca>>2]=aa;c[ca+4>>2]=ba}i=(24<<x)+(u+(v*96|0))|0;ba=i;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;h=w+1+x|0;H=h;I=c[H+4>>2]|0;ca=i;c[ca>>2]=c[H>>2];c[ca+4>>2]=I;ca=h;c[ca>>2]=aa;c[ca+4>>2]=ba;if(j){I=i+8|0;ba=I;aa=c[ba>>2]|0;ba=c[ba+4>>2]|0;ca=h+8|0;G=ca;H=c[G+4>>2]|0;c[I>>2]=c[G>>2];c[I+4>>2]=H;c[ca>>2]=aa;c[ca+4>>2]=ba}}}}else{h=f+184|0;i=f+152|0;j=f+440|0;k=f+168|0;n=f+16|0;o=f+32|0;if(V){el(f,g,M,q,T,h,i,j,k,n,o);break}else{fl(f,g,M,q,T,h,i,j,k,n,o);break}}while(0);p=c[Y>>2]|0;h:do if(!(K&1)){if(!(K&2)){if(!(c[g+21856>>2]&15))break;h=K&16777216;if(!R)if(!h){Vd[c[f+116>>2]&127](M,S,g+28560|0,O,g+27824|0);break}else{Vd[c[f+120>>2]&127](M,S,g+28560|0,O,g+27824|0);break}j=(h|0)!=0;i=j?4:1;j=c[(j?f+140|0:f+144|0)>>2]|0;h=0;while(1){if((h|0)>=16)break h;if(a[(d[146266+h>>0]|0)+(g+27824)>>0]|0)Td[j&1023](M+(c[S+(h<<2)>>2]|0)|0,g+28560+(h<<4<<p<<1)|0,O);h=h+i|0}}if(!R){Vd[c[f+128>>2]&127](M,S,g+28560|0,O,g+27824|0);break}if((c[(c[U>>2]|0)+4>>2]|0)==244?(L=c[g+21660>>2]|0,(L+-1|0)>>>0<2):0){Ud[c[f+25960+(L<<2)>>2]&255](M,S,g+28560|0,O);break}j=(p|0)==0;k=g+28560|0;n=f+144|0;i=0;while(1){if((i|0)==16)break h;o=i<<4;if(!(a[(d[146266+i>>0]|0)+(g+27824)>>0]|0)){if(j)h=e[g+28560+(o<<1)>>1]|0;else h=c[k+(o<<2)>>2]|0;if(h|0)X=183}else X=183;if((X|0)==183){X=0;Td[c[n>>2]&1023](M+(c[S+(i<<2)>>2]|0)|0,g+28560+(o<<p<<1)|0,O)}i=i+1|0}}while(0);if(c[g+21856>>2]&48|0){c[_>>2]=q;h=_+4|0;c[h>>2]=T;i:do if(R){if((J?(c[(c[U>>2]|0)+4>>2]|0)==244:0)?(P=g+21656|0,Q=c[P>>2]|0,(Q+-1|0)>>>0<2):0){Ud[c[f+25948+(Q<<2)>>2]&255](q,S+64|0,g+28560+(256<<c[Y>>2]<<1)|0,Z);Ud[c[f+25948+(c[P>>2]<<2)>>2]&255](c[h>>2]|0,S+128|0,g+28560+(512<<c[Y>>2]<<1)|0,Z);break}r=c[f+144>>2]|0;s=g+28560|0;q=1;while(1){if((q|0)==3)break i;j=q<<4;o=j|4;t=_+(q+-1<<2)|0;i=j;while(1){if((i|0)>=(o|0))break;k=c[Y>>2]|0;n=i<<4;if(!(a[(d[146266+i>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(n<<1)>>1]|0;else h=c[s+(n<<2)>>2]|0;if(h|0)X=211}else X=211;if((X|0)==211){X=0;Td[r&1023]((c[t>>2]|0)+(c[S+(i<<2)>>2]|0)|0,g+28560+(n<<k<<1)|0,Z)}i=i+1|0}j:do if(V){p=j|8;i=o;while(1){if((i|0)>=(p|0))break j;j=i+4|0;k=c[Y>>2]|0;n=i<<4;if(!(a[(d[146266+j>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(n<<1)>>1]|0;else h=c[s+(n<<2)>>2]|0;if(h|0)X=221}else X=221;if((X|0)==221){X=0;Td[r&1023]((c[t>>2]|0)+(c[S+(j<<2)>>2]|0)|0,g+28560+(n<<k<<1)|0,Z)}i=i+1|0}}while(0);q=q+1|0}}else{h=c[g+852>>2]|0;if(V){i=(c[g+856>>2]|0)+3|0;h=h+3|0}else i=c[g+856>>2]|0;if(a[g+27864>>0]|0)Sd[c[f+136>>2]&255](g+28560+(256<<c[Y>>2]<<1)|0,c[(c[(c[f+28212>>2]|0)+173788+((J?1:4)<<2)>>2]|0)+(h<<6)>>2]|0);if(a[g+27904>>0]|0)Sd[c[f+136>>2]&255](g+28560+(512<<c[Y>>2]<<1)|0,c[(c[(c[f+28212>>2]|0)+173788+((J?2:5)<<2)>>2]|0)+(i<<6)>>2]|0);Vd[c[f+124>>2]&127](_,S,g+28560|0,Z,g+27824|0)}while(0)}}else{h=c[U>>2]|0;o=c[h+1184>>2]|0;if(!(c[Y>>2]|0)){i=g+27780|0;h=0;while(1){if((h|0)==16)break;j=M+(N(h,O)|0)|0;k=(c[i>>2]|0)+(h<<4)|0;n=j+16|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(n|0));h=h+1|0}if(!(c[(c[U>>2]|0)+12>>2]|0)){i=1<<o+-1&255;h=0;while(1){if((h|0)==8)break c;ca=N(h,Z)|0;iX(q+ca|0,i|0,8)|0;iX(T+ca|0,i|0,8)|0;h=h+1|0}}else{i=(c[i>>2]|0)+256|0;j=i+(v<<3)|0;h=0;while(1){if((h|0)>=(v|0))break c;ca=N(h,Z)|0;ba=h<<3;aa=i+ba|0;Y=aa;Y=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;aa=aa+4|0;aa=d[aa>>0]|d[aa+1>>0]<<8|d[aa+2>>0]<<16|d[aa+3>>0]<<24;_=q+ca|0;g=_;a[g>>0]=Y;a[g+1>>0]=Y>>8;a[g+2>>0]=Y>>16;a[g+3>>0]=Y>>24;_=_+4|0;a[_>>0]=aa;a[_+1>>0]=aa>>8;a[_+2>>0]=aa>>16;a[_+3>>0]=aa>>24;ba=j+ba|0;_=ba;_=d[_>>0]|d[_+1>>0]<<8|d[_+2>>0]<<16|d[_+3>>0]<<24;ba=ba+4|0;ba=d[ba>>0]|d[ba+1>>0]<<8|d[ba+2>>0]<<16|d[ba+3>>0]<<24;ca=T+ca|0;aa=ca;a[aa>>0]=_;a[aa+1>>0]=_>>8;a[aa+2>>0]=_>>16;a[aa+3>>0]=_>>24;ca=ca+4|0;a[ca>>0]=ba;a[ca+1>>0]=ba>>8;a[ca+2>>0]=ba>>16;a[ca+3>>0]=ba>>24;h=h+1|0}}}cl(_,c[g+27780>>2]|0,N(o,e[114134+(c[h+12>>2]<<1)>>1]|0)|0);i=0;while(1){if((i|0)==16)break;j=M+(N(i,O)|0)|0;h=0;while(1){if((h|0)==16)break;b[j+(h<<1)>>1]=dl(_,o)|0;h=h+1|0}i=i+1|0}k:do if(!(c[(c[U>>2]|0)+12>>2]|0)){j=1<<o+-1&65535;i=0;while(1){if((i|0)>=(v|0))break k;n=N(i,Z)|0;k=q+n|0;n=T+n|0;h=0;while(1){if((h|0)==8)break;b[n+(h<<1)>>1]=j;b[k+(h<<1)>>1]=j;h=h+1|0}i=i+1|0}}else{i=0;while(1){if((i|0)>=(v|0)){i=0;break}j=q+(N(i,Z)|0)|0;h=0;while(1){if((h|0)==8)break;b[j+(h<<1)>>1]=dl(_,o)|0;h=h+1|0}i=i+1|0}while(1){if((i|0)>=(v|0))break k;j=T+(N(i,Z)|0)|0;h=0;while(1){if((h|0)==8)break;b[j+(h<<1)>>1]=dl(_,o)|0;h=h+1|0}i=i+1|0}}while(0)}while(0);l=$;return}function cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return}function dl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(eX(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function el(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)gl(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<<p)+(64<<p)+(N(C+(x<<2&12)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;Td[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(N((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<<p)|0;C=c[f+23416+(B*40|0)+4>>2]|0;Td[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;kl(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);kl(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}w=f+21780|0;if(D&32|0){x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;kl(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);kl(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+128|0;y=k+8|0;z=l+128|0;A=m+8|0;B=n+8|0;C=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;kl(d,f,n,0,4,4<<c[G>>2],g,h,i,o,j,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);kl(d,f,n|2,0,4,4<<c[G>>2],g,h,i,o,j|2,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;kl(d,f,n,0,8,c[w>>2]<<2,g,h,i,o,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);kl(d,f,n|1,0,8,c[w>>2]<<2,g,h,i,o|2,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;kl(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,l,q);p=p+1|0}}else kl(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else kl(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<<E)+(64<<E)+(N(i+(D<<2&12)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;Td[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(N((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<<E)|0;i=c[f+25336+(h*40|0)+4>>2]|0;Td[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function fl(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)gl(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<<p)+(64<<p)+(N(C+(x<<2&12)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;Td[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(N((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<<p)|0;C=c[f+23416+(B*40|0)+4>>2]|0;Td[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;hl(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);hl(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}w=f+21780|0;if(D&32|0){x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;hl(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);hl(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+128|0;y=k+8|0;z=l+128|0;A=m+8|0;B=n+8|0;C=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;hl(d,f,n,0,4,4<<c[G>>2],g,h,i,o,j,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);hl(d,f,n|2,0,4,4<<c[G>>2],g,h,i,o,j|2,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;hl(d,f,n,0,8,c[w>>2]<<2,g,h,i,o,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);hl(d,f,n|1,0,8,c[w>>2]<<2,g,h,i,o|2,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;hl(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,l,q);p=p+1|0}}else hl(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else hl(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<<E)+(64<<E)+(N(i+(D<<2&12)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;Td[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(N((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<<E)|0;i=c[f+25336+(h*40|0)+4>>2]|0;Td[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function gl(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+208|0;if((l|0)>=(m|0))W(208);u=w+8|0;v=w;f=c[(c[a+24364>>2]|0)+(c[d+21796>>2]<<2)>>2]|0;t=v;c[t>>2]=0;c[t+4>>2]=0;iX(u|0,-1,192)|0;a:do if(!(f&8)){if(f&16|0){il(a,d,u,0,8,0,f&4096,f&16384,v);il(a,d,u,8,8,8,f&8192,f&32768,v);break}if(f&32|0){il(a,d,u,0,16,0,f&4096,f&16384,v);il(a,d,u,4,16,0,f&8192,f&32768,v);break}g=0;while(1){if((g|0)==4)break a;f=e[d+28552+(g<<1)>>1]|0;h=g<<2;i=h&8;b:do if(!(f&8)){if(f&16|0){s=f&4096;t=f&16384;il(a,d,u,h,4,i,s,t,v);il(a,d,u,h|2,4,i|4,s,t,v);break}j=f&4096;k=f&16384;if(!(f&32))f=0;else{il(a,d,u,h,8,i,j,k,v);il(a,d,u,h|1,8,i,j,k,v);break}while(1){if((f|0)==4)break b;il(a,d,u,f+h|0,4,f<<1&4|i,j,k,v);f=f+1|0}}else il(a,d,u,h,8,i,f&4096,f&16384,v);while(0);g=g+1|0}}else il(a,d,u,0,16,0,f&4096,f&16384,v);while(0);s=a+27008|0;t=d+21832|0;r=a+26380|0;f=c[d+23412>>2]|0;c:while(1){f=f+-1|0;if((f|0)<=-1)break;p=v+(f<<2)|0;o=0;while(1){if((o|0)>=48)continue c;h=c[p>>2]|0;if(!h)continue c;g=b[u+(f*96|0)+(o<<1)>>1]|0;do if(g<<16>>16>-1){q=(c[d+23416+(f*1920|0)+(o*40|0)+24>>2]|0)+-1|0;i=d+23416+(f*1920|0)+(o*40|0)+36|0;j=c[i>>2]|0;x=c[j+636>>2]|0;n=c[s>>2]<<4>>x;k=g<<16>>16<<c[t>>2];c[p>>2]=h+-1;a=(c[r>>2]|0)==3;g=(x|0)!=0;if(g&a){x=k>>1;a=x-(k&1^1)|0;q=n+-1|0;Wi(j+4|0,(a|0)<(n|0)?a:q,1);Wi((c[i>>2]|0)+4|0,(x|0)>(q|0)?q:x,0);break}h=j+4|0;if(!(g|a)){x=(k<<1)+q|0;Wi(h,(x|0)<(n|0)?x:n+-1|0,0);break}g=n+-1|0;g=(k|0)>(g|0)?g:k;if(a){Wi(h,g,0);break}else{Wi(h,g,q);break}}while(0);o=o+1|0}}l=w;return}function hl(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;M=f+880|0;x=c[M>>2]|0;z=(v|0)!=0;A=(w|0)!=0;if(A&(z&(x|0)==2)){V=d[146266+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+V>>0]|0)*384|0)+(a[f+28312+V>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=44;else{P=x;x=5}}else if((x|0)==1){y=f+21792|0;P=y;y=c[y>>2]|0;x=5}else x=44;do if((x|0)==5){D=c[t>>2]|0;C=c[t+4>>2]|0;K=c[u>>2]|0;J=c[u+4>>2]|0;O=c[e+25664>>2]|0;V=f+21780|0;s=c[V>>2]|0;S=k+((N(o<<1,s)|0)+(n<<1<<O))|0;T=i>>1;U=f+21784|0;x=c[U>>2]|0;Q=(N(x,o)|0)+(n<<O)|0;R=l+Q|0;Q=m+Q|0;t=(c[f+21788>>2]<<3)+n|0;L=f+21828|0;n=c[L>>2]|0;y=(y>>n<<3)+o|0;if(!(z&A)){B=A&1;z=d[146266+g>>0]|0;o=a[f+28272+(B*40|0)+z>>0]|0;k=(t<<3)+(b[f+27952+(B*160|0)+(z<<2)>>1]|0)|0;z=(y<<3)+(b[f+27952+(B*160|0)+(z<<2)+2>>1]|0)|0;v=z<<2&12|k&3;x=k>>2;y=z>>2;t=(N(y,s)|0)+(x<<O)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)>>2]|0)+t|0;m=c[e+27012>>2]|0;u=m<<4;A=c[e+27008>>2]<<4>>n;n=k&7;M=(n|0)==0?0:-3;g=(z&7|0)==0?0:-3;if((!((x|0)<(0-M|0)|(y|0)<(0-g|0))?(x+16|0)<=(M+u|0):0)?(y+16|0)<=(A+g|0):0){l=0;y=s}else{g=f+27792|0;l=2<<O;Zd[c[e+8>>2]&3](c[g>>2]|0,t+(0-l)+(0-(s<<1))|0,s,s,21,21,x+-2|0,y+-2|0,u,A);y=c[V>>2]|0;t=(c[g>>2]|0)+l+(y<<1)|0;l=1}x=p+(v<<2)|0;Td[c[x>>2]&1023](S,t,y);if(!h)Td[c[x>>2]&1023](S+j|0,t+j|0,c[V>>2]|0);if(c[L>>2]|0){z=(1-(c[f+23416+(B*1920|0)+(o*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+z|0;j=z>>3;l=j>>>31|l|(j+8|0)>=(A>>1|0)}k=k>>3;v=k<<O;y=z>>3;t=c[U>>2]|0;x=N(t,y)|0;u=(c[f+23416+(B*1920|0)+(o*40|0)+4>>2]|0)+v+x|0;x=(c[f+23416+(B*1920|0)+(o*40|0)+8>>2]|0)+v+x|0;v=f+27792|0;if(!l){y=z&7;Wd[q&63](R,u,t,T,n,y)}else{j=A>>1;h=m<<3;O=e+8|0;Zd[c[O>>2]&3](c[v>>2]|0,u,t,t,9,9,k,y,h,j);e=z&7;Wd[q&63](R,c[v>>2]|0,c[U>>2]|0,T,n,e);P=c[U>>2]|0;Zd[c[O>>2]&3](c[v>>2]|0,x,P,P,9,9,k,y,h,j);x=c[v>>2]|0;y=e}Wd[q&63](Q,x,c[U>>2]|0,T,n,y);Wd[D&63](S,c[V>>2]|0,i,c[f+888>>2]|0,c[f+912+(o<<4)+(B<<3)>>2]|0,c[f+912+(o<<4)+(B<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;i=f+892|0;Wd[C&63](R,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(o<<5)+(B<<4)>>2]|0,c[f+1680+(o<<5)+(B<<4)+4>>2]|0);Wd[C&63](Q,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(o<<5)+(B<<4)+8>>2]|0,c[f+1680+(o<<5)+(B<<4)+12>>2]|0);break}H=c[f+27788>>2]|0;I=H+(16<<O)|0;G=H+(x<<4)|0;C=d[146266+g>>0]|0;w=a[f+28272+C>>0]|0;F=a[f+28312+C>>0]|0;o=t<<3;z=o+(b[f+27952+(C<<2)>>1]|0)|0;B=y<<3;l=B+(b[f+27952+(C<<2)+2>>1]|0)|0;v=l<<2&12|z&3;x=z>>2;y=l>>2;t=(N(y,s)|0)+(x<<O)|0;t=(c[f+23416+(w*40|0)>>2]|0)+t|0;E=e+27012|0;m=c[E>>2]|0;u=m<<4;r=e+27008|0;A=c[r>>2]<<4>>n;n=z&7;D=(n|0)==0?0:-3;g=(l&7|0)==0?0:-3;if((!((x|0)<(0-D|0)|(y|0)<(0-g|0))?(x+16|0)<=(D+u|0):0)?(y+16|0)<=(A+g|0):0){k=0;y=s}else{g=f+27792|0;k=2<<O;Zd[c[e+8>>2]&3](c[g>>2]|0,t+(0-k)+(0-(s<<1))|0,s,s,21,21,x+-2|0,y+-2|0,u,A);y=c[V>>2]|0;t=(c[g>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;Td[c[x>>2]&1023](S,t,y);D=(h|0)!=0;if(!D)Td[c[x>>2]&1023](S+j|0,t+j|0,c[V>>2]|0);if(c[L>>2]|0){l=(1-(c[f+23416+(w*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+l|0;h=l>>3;k=h>>>31|k|(h+8|0)>=(A>>1|0)}y=z>>3;s=y<<O;t=l>>3;u=c[U>>2]|0;x=N(u,t)|0;v=(c[f+23416+(w*40|0)+4>>2]|0)+s+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+s+x|0;s=f+27792|0;if(!k){y=l&7;Wd[q&63](R,v,u,T,n,y)}else{g=A>>1;m=m<<3;z=e+8|0;Zd[c[z>>2]&3](c[s>>2]|0,v,u,u,9,9,y,t,m,g);h=l&7;Wd[q&63](R,c[s>>2]|0,c[U>>2]|0,T,n,h);A=c[U>>2]|0;Zd[c[z>>2]&3](c[s>>2]|0,x,A,A,9,9,y,t,m,g);x=c[s>>2]|0;y=h}Wd[q&63](Q,x,c[U>>2]|0,T,n,y);A=o+(b[f+28112+(C<<2)>>1]|0)|0;l=B+(b[f+28112+(C<<2)+2>>1]|0)|0;z=l<<2&12|A&3;u=A>>2;v=l>>2;y=c[V>>2]|0;t=(N(v,y)|0)+(u<<O)|0;t=(c[f+25336+(F*40|0)>>2]|0)+t|0;n=c[E>>2]|0;x=n<<4;m=c[r>>2]<<4>>c[L>>2];o=A&7;g=(o|0)==0?0:-3;h=(l&7|0)==0?0:-3;if((!((u|0)<(0-g|0)|(v|0)<(0-h|0))?(u+16|0)<=(x+g|0):0)?(v+16|0)<=(m+h|0):0)k=0;else{k=2<<O;Zd[c[e+8>>2]&3](c[s>>2]|0,t+(0-k)+(0-(y<<1))|0,y,y,21,21,u+-2|0,v+-2|0,x,m);y=c[V>>2]|0;t=(c[s>>2]|0)+k+(y<<1)|0;k=1}x=p+(z<<2)|0;Td[c[x>>2]&1023](G,t,y);if(!D)Td[c[x>>2]&1023](G+j|0,t+j|0,c[V>>2]|0);if(c[L>>2]|0){l=(1-(c[f+25336+(F*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+l|0;j=l>>3;k=j>>>31|k|(j+8|0)>=(m>>1|0)}v=A>>3;j=v<<O;y=l>>3;t=c[U>>2]|0;x=N(t,y)|0;u=(c[f+25336+(F*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(F*40|0)+8>>2]|0)+j+x|0;if(!k){y=l&7;Wd[q&63](H,u,t,T,o,y)}else{j=m>>1;h=n<<3;g=e+8|0;Zd[c[g>>2]&3](c[s>>2]|0,u,t,t,9,9,v,y,h,j);e=l&7;Wd[q&63](H,c[s>>2]|0,c[U>>2]|0,T,o,e);O=c[U>>2]|0;Zd[c[g>>2]&3](c[s>>2]|0,x,O,O,9,9,v,y,h,j);x=c[s>>2]|0;y=e}Wd[q&63](I,x,c[U>>2]|0,T,o,y);if((c[M>>2]|0)==2){e=c[f+3216+(w*384|0)+(F<<3)+((c[P>>2]&1)<<2)>>2]|0;f=64-e|0;Xd[K&31](S,G,c[V>>2]|0,i,5,e,f,0);Xd[J&31](R,H,c[U>>2]|0,T,5,e,f,0);Xd[J&31](Q,I,c[U>>2]|0,T,5,e,f,0);break}else{Xd[K&31](S,G,c[V>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(F<<4)+8>>2]|0,(c[f+912+(F<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);i=f+892|0;Xd[J&31](R,H,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(F<<5)+16>>2]|0,(c[f+1680+(F<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);Xd[J&31](Q,I,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(F<<5)+24>>2]|0,(c[f+1680+(F<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==44){J=c[e+25664>>2]|0;I=f+21780|0;y=c[I>>2]|0;H=k+((N(o<<1,y)|0)+(n<<1<<J))|0;M=f+21784|0;L=(N(c[M>>2]|0,o)|0)+(n<<J)|0;K=l+L|0;L=m+L|0;D=(c[f+21788>>2]<<3)+n|0;F=f+21792|0;G=f+21828|0;x=c[G>>2]|0;E=(c[F>>2]>>x<<3)+o|0;if(v){z=d[146266+g>>0]|0;n=a[f+28272+z>>0]|0;m=(D<<3)+(b[f+27952+(z<<2)>>1]|0)|0;z=(E<<3)+(b[f+27952+(z<<2)+2>>1]|0)|0;A=z<<2&12|m&3;u=m>>2;v=z>>2;t=(N(v,y)|0)+(u<<J)|0;t=(c[f+23416+(n*40|0)>>2]|0)+t|0;B=c[e+27012>>2]|0;k=B<<4;o=c[e+27008>>2]<<4>>x;C=m&7;U=(C|0)==0?0:-3;V=(z&7|0)==0?0:-3;if((!((u|0)<(0-U|0)|(v|0)<(0-V|0))?(u+16|0)<=(U+k|0):0)?(v+16|0)<=(o+V|0):0)l=0;else{V=f+27792|0;l=2<<J;Zd[c[e+8>>2]&3](c[V>>2]|0,t+(0-l)+(0-(y<<1))|0,y,y,21,21,u+-2|0,v+-2|0,k,o);y=c[I>>2]|0;t=(c[V>>2]|0)+l+(y<<1)|0;l=1}x=p+(A<<2)|0;Td[c[x>>2]&1023](H,t,y);if(!h)Td[c[x>>2]&1023](H+j|0,t+j|0,c[I>>2]|0);if(c[G>>2]|0){z=(1-(c[f+23416+(n*40|0)+24>>2]|0)+(c[F>>2]&1)<<1)+z|0;V=z>>3;l=V>>>31|l|(V+8|0)>=(o>>1|0)}t=m>>3;y=t<<J;u=z>>3;v=c[M>>2]|0;x=N(v,u)|0;k=(c[f+23416+(n*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(n*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!l){y=i>>1;t=z&7;Wd[q&63](K,k,v,y,C,t)}else{T=o>>1;S=B<<3;Q=e+8|0;Zd[c[Q>>2]&3](c[y>>2]|0,k,v,v,9,9,t,u,S,T);U=i>>1;V=z&7;Wd[q&63](K,c[y>>2]|0,c[M>>2]|0,U,C,V);R=c[M>>2]|0;Zd[c[Q>>2]&3](c[y>>2]|0,x,R,R,9,9,t,u,S,T);x=c[y>>2]|0;y=U;t=V}Wd[q&63](L,x,c[M>>2]|0,y,C,t);q=s;p=r}if(w|0){z=d[146266+g>>0]|0;m=a[f+28312+z>>0]|0;A=(D<<3)+(b[f+28112+(z<<2)>>1]|0)|0;z=(E<<3)+(b[f+28112+(z<<2)+2>>1]|0)|0;k=z<<2&12|A&3;x=A>>2;u=z>>2;y=c[I>>2]|0;t=(N(u,y)|0)+(x<<J)|0;t=(c[f+25336+(m*40|0)>>2]|0)+t|0;n=c[e+27012>>2]|0;v=n<<4;o=c[e+27008>>2]<<4>>c[G>>2];B=A&7;U=(B|0)==0?0:-3;V=(z&7|0)==0?0:-3;if((!((x|0)<(0-U|0)|(u|0)<(0-V|0))?(x+16|0)<=(v+U|0):0)?(u+16|0)<=(o+V|0):0)l=0;else{V=f+27792|0;l=2<<J;Zd[c[e+8>>2]&3](c[V>>2]|0,t+(0-l)+(0-(y<<1))|0,y,y,21,21,x+-2|0,u+-2|0,v,o);y=c[I>>2]|0;t=(c[V>>2]|0)+l+(y<<1)|0;l=1}x=p+(k<<2)|0;Td[c[x>>2]&1023](H,t,y);if(!h)Td[c[x>>2]&1023](H+j|0,t+j|0,c[I>>2]|0);if(c[G>>2]|0){z=(1-(c[f+25336+(m*40|0)+24>>2]|0)+(c[F>>2]&1)<<1)+z|0;j=z>>3;l=j>>>31|l|(j+8|0)>=(o>>1|0)}k=A>>3;y=k<<J;t=z>>3;u=c[M>>2]|0;x=N(u,t)|0;v=(c[f+25336+(m*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(m*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!l){y=i>>1;t=z&7;Wd[q&63](K,v,u,y,B,t)}else{j=o>>1;h=n<<3;V=e+8|0;Zd[c[V>>2]&3](c[y>>2]|0,v,u,u,9,9,k,t,h,j);f=i>>1;i=z&7;Wd[q&63](K,c[y>>2]|0,c[M>>2]|0,f,B,i);e=c[M>>2]|0;Zd[c[V>>2]&3](c[y>>2]|0,x,e,e,9,9,k,t,h,j);x=c[y>>2]|0;y=f;t=i}Wd[q&63](L,x,c[M>>2]|0,y,B,t)}}while(0);return}function il(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=(c[f+21792>>2]>>c[f+21828>>2]<<4)+j|0;do if(k|0){j=a[(d[146266+h>>0]|0)+(f+28272)>>0]|0;if((c[(c[(c[f+23416+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+23416+(j*40|0)+24>>2]&3|0)==(c[e+26380>>2]|0):0)break;n=jl(f,h,i,o,0)|0;j=g+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0)c[m>>2]=(c[m>>2]|0)+1;k=k<<16>>16;b[j>>1]=(n|0)<(k|0)?k:n}while(0);do if(l|0){j=a[(d[146266+h>>0]|0)+(f+28312)>>0]|0;if((c[(c[(c[f+25336+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+25336+(j*40|0)+24>>2]&3|0)==(c[e+26380>>2]|0):0)break;n=jl(f,h,i,o,1)|0;j=g+96+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0){m=m+4|0;c[m>>2]=(c[m>>2]|0)+1}m=k<<16>>16;b[j>>1]=(n|0)<(m|0)?m:n}while(0);return}function jl(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;g=b[a+27952+(g*160|0)+(d[146266+c>>0]<<2)+2>>1]|0;g=f+e+(g>>2)+(g&3|0?3:0)|0;return ((g|0)>0?g:0)|0}
function _d(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;if((l|0)>=(m|0))W(a|0);return b|0}function $d(){return l|0}function ae(a){a=a|0;l=a}function be(a,b){a=a|0;b=b|0;l=a;m=b}function ce(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function de(a){a=a|0;y=a}function ee(){return y|0}function fe(){jc();return 0}function ge(a){a=a|0;var b=0;ob(72,80,96,0,115104,13,115107,0,115107,0,114158,169603,22);pb(72,1,52960,115104,14,1);a=xV(8)|0;c[a>>2]=3;c[a+4>>2]=0;qb(72,114168,3,52964,115109,4,a|0,0);a=xV(8)|0;c[a>>2]=4;c[a+4>>2]=0;qb(72,114181,3,52976,115109,5,a|0,0);a=xV(8)|0;c[a>>2]=10;c[a+4>>2]=0;qb(72,114188,4,52988,115114,2,a|0,0);a=xV(8)|0;c[a>>2]=23;c[a+4>>2]=0;qb(72,114199,2,53004,115120,5,a|0,0);a=xV(8)|0;c[a>>2]=6;c[a+4>>2]=0;b=xV(8)|0;c[b>>2]=7;c[b+4>>2]=0;rb(72,114217,40,115124,5,a|0,40,115109,6,b|0);b=xV(8)|0;c[b>>2]=8;c[b+4>>2]=0;a=xV(8)|0;c[a>>2]=9;c[a+4>>2]=0;rb(72,114229,40,115124,5,b|0,40,115109,6,a|0);a=xV(8)|0;c[a>>2]=7;c[a+4>>2]=0;qb(72,114241,4,53012,115128,4,a|0,0);a=xV(8)|0;c[a>>2]=8;c[a+4>>2]=0;qb(72,114247,3,53028,115134,11,a|0,0);return}function he(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+48|0;if((l|0)>=(m|0))W(48);z=A+32|0;t=A+16|0;u=A;w=c[e>>2]|0;x=Mb(114261)|0;c[t>>2]=Ib(w|0,x|0)|0;Fb(x|0);re(z,t);Fb(c[t>>2]|0);a:do if(!(a[b+52>>0]|0))switch(a[(QV(z,0)|0)>>0]|0){case 1:{LV(u,z,1,-1,z);c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];s=t+12|0;c[s>>2]=0;y=t+11|0;x=(a[y>>0]|0)<0?c[t>>2]|0:t;v=a[x+3>>0]|0;u=a[x+2>>0]|0;w=a[x+1>>0]|0;x=a[x>>0]|0;c[s>>2]=4;se(b,(u&255)<<8|v&255|(w&255)<<16|(x&255)<<24,t);if((a[y>>0]|0)<0)yV(c[t>>2]|0);break a}case 2:{LV(u,z,1,-1,z);c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];s=t+12|0;c[s>>2]=0;y=t+11|0;x=(a[y>>0]|0)<0?c[t>>2]|0:t;v=a[x+3>>0]|0;u=a[x+2>>0]|0;w=a[x+1>>0]|0;x=a[x>>0]|0;c[s>>2]=4;xe(b+56|0,(u&255)<<8|v&255|(w&255)<<16|(x&255)<<24,t)|0;if((a[y>>0]|0)<0)yV(c[t>>2]|0);break a}default:break a}else{j=b+24|0;switch(c[j>>2]|0){case 0:{h=b+36|0;e=a[z+11>>0]|0;f=e<<24>>24<0;RV(h,f?c[z>>2]|0:z,f?c[z+4>>2]|0:e&255)|0;e=a[h+11>>0]|0;f=e<<24>>24<0;if(f)g=c[b+40>>2]|0;else g=e&255;i=b+48|0;if((g-(c[i>>2]|0)|0)<=12)break a;c[j>>2]=1;c[i>>2]=13;if(f){e=c[b+40>>2]|0;f=c[h>>2]|0}else{e=e&255;f=h}b=e+-13|0;hX(f|0,f+13|0,b|0)|0;NV(h,b,0);c[i>>2]=0;break a}case 1:break;default:break a}v=b+36|0;k=a[z+11>>0]|0;n=k<<24>>24<0;RV(v,n?c[z>>2]|0:z,n?c[z+4>>2]|0:k&255)|0;k=v+11|0;n=b+40|0;w=b+48|0;o=u+11|0;p=u+4|0;q=t+12|0;r=t+11|0;s=b+56|0;while(1){h=a[k>>0]|0;i=h<<24>>24<0;if(i)e=c[n>>2]|0;else e=h&255;x=c[w>>2]|0;if((e-x|0)<=3)break;if(i)e=c[v>>2]|0;else e=v;g=x+1|0;j=a[e+x>>0]|0;c[w>>2]=g;g=e+g+3+-1|0;e=a[g>>0]|0;B=a[g+-1>>0]|0;g=a[g+-2>>0]|0;f=x+4|0;c[w>>2]=f;g=(B&255)<<8|e&255|(g&255)<<16;if(i)e=c[n>>2]|0;else e=h&255;if((e-f|0)>>>0<(g+11|0)>>>0){y=22;break}if(i)e=c[v>>2]|0;else e=v;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;B=x+11|0;c[w>>2]=B;LV(u,v,B,g,v);B=a[o>>0]|0;c[w>>2]=(c[w>>2]|0)+(B<<24>>24<0?c[p>>2]|0:B&255);c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[q>>2]=0;switch(j<<24>>24){case 8:{se(b,e,t);break}case 9:{xe(s,e,t)|0;break}default:{}}c[w>>2]=(c[w>>2]|0)+4;if((a[r>>0]|0)<0)yV(c[t>>2]|0)}if((y|0)==22)c[w>>2]=x;if(i){e=c[n>>2]|0;f=c[v>>2]|0}else{e=h&255;f=v}B=e-x|0;hX(f|0,f+x|0,B|0)|0;NV(v,B,0);c[w>>2]=0}while(0);if((a[z+11>>0]|0)>=0){l=A;return}yV(c[z>>2]|0);l=A;return}function ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;e=b+28|0;if(!(a[e>>0]|0)){l=g;return}Fe(b+56|0);NV(b+36|0,0,0);c[b+48>>2]=0;c[b+24>>2]=0;a[e>>0]=0;if(!d){l=g;return}b=c[c[b+8>>2]>>2]|0;if((a[182800]|0)==0?MW(182800)|0:0)c[45712]=Hb(1,52860)|0;Eb(c[45712]|0,b|0,114659,f|0);l=g;return}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=h+24|0;f=h+16|0;e=h;c[e>>2]=114707;c[e+4>>2]=b;c[e+8>>2]=d;bc(0,e|0);a=a+56|0;e=c[a>>2]|0;if(e|0){g=e;g=g+8|0;g=c[g>>2]|0;g=g>>1;l=h;return g|0}e=xV(22700)|0;c[e>>2]=N(b<<1,d)|0;c[e+4>>2]=0;d=e+22668|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;tf(e+12|0);uf(e+76|0);vf(e+9344|0);c[f>>2]=114758;bc(0,f|0);c[e+8>>2]=$S(c[e>>2]|0)|0;c[g>>2]=114743;c[g+4>>2]=e;bc(0,g|0);c[a>>2]=e;g=e;g=g+8|0;g=c[g>>2]|0;g=g>>1;l=h;return g|0}function ke(a){a=a|0;He(a+56|0);return}function le(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;c[e>>2]=c[b+104>>2];c[a>>2]=Rb(52760,e|0)|0;l=d;return}function me(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=d;e=+Cb(c[b>>2]|0,52760,f|0);Pb(c[f>>2]|0);c[a+104>>2]=~~e;l=d;return}function ne(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;c[e>>2]=c[b+32>>2];c[a>>2]=Rb(52760,e|0)|0;l=d;return}function oe(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=d;e=+Cb(c[b>>2]|0,52760,f|0);Pb(c[f>>2]|0);c[a+32>>2]=~~e;l=d;return}function pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=k+8|0;f=k;g=b+8|0;h=c[g>>2]|0;if(!h){h=xV(4)|0;Jb(c[d>>2]|0);c[f>>2]=c[d>>2];c[h>>2]=Rb(40,f|0)|0;c[g>>2]=h}i=e&1;a[b+66>>0]=i;f=b+60|0;d=c[f>>2]|0;if(d|0){j=d;j=j+36|0;a[j>>0]=i;b=b+28|0;a[b>>0]=1;l=k;return}c[j>>2]=114791;c[j+4>>2]=e?114800:114805;bc(0,j|0);g=xV(60)|0;Je(g);c[f>>2]=g;f=b+68|0;d=c[f>>2]|0;if(!d){c[f>>2]=h;d=h}c[g+4>>2]=d;j=g;j=j+36|0;a[j>>0]=i;b=b+28|0;a[b>>0]=1;l=k;return}function qe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+32|0;if((l|0)>=(m|0))W(32);k=o;n=o+8|0;f=a[e+11>>0]|0;if(f<<24>>24<0){h=c[e>>2]|0;g=c[e+4>>2]|0}else{h=e;g=f&255}i=h+g|0;f=i;j=h;a:do if((g|0)<4)h=i;else{while(1){g=g+-3|0;if(!g){h=i;break a}g=XT(h,46,g)|0;if(!g){h=i;break a}if(!(IT(g,114985,4)|0))break;h=g+1|0;g=f-h|0;if((g|0)<4){h=i;break a}}h=g;f=g}while(0);a[d+52>>0]=(f-j|0)!=-1&(h|0)!=(i|0)&1;j=Gb(114990)|0;TV(n,262540,e);i=n+11|0;f=a[i>>0]|0;if(f<<24>>24<0){h=c[n+4>>2]|0;f=$S(h+4|0)|0;c[f>>2]=h;g=c[n>>2]|0}else{h=f&255;f=$S(h+4|0)|0;c[f>>2]=h;g=n}gX(f+4|0,g|0,h|0)|0;c[k>>2]=f;c[b>>2]=Lb(j|0,1,52824,k|0)|0;if((a[i>>0]|0)>=0){Fb(j|0);l=o;return}yV(c[n>>2]|0);Fb(j|0);l=o;return}function re(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=h;i=+Cb(c[d>>2]|0,16,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)DV(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Pb(e|0);l=h;return}else d=b}else{j=g+16&-16;d=xV(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}gX(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Pb(e|0);l=h;return}function se(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;o=l;l=l+32|0;if((l|0)>=(m|0))W(32);n=o;j=b+56|0;d=c[j>>2]|0;k=e+11|0;if(!d){f=e+12|0;g=a[((a[k>>0]|0)<0?c[e>>2]|0:e)+(c[f>>2]|0)>>0]|0;d=g&255;i=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{h=11025;break}case 2:{h=22050;break}case 3:{h=44100;break}default:h=d&3}switch((g&255)>>>4&15){case 10:{d=c[b+32>>2]<<10;g=c[c[b+8>>2]>>2]|0;if((a[182784]|0)==0?MW(182784)|0:0)c[45710]=Hb(4,52828)|0;p=c[45710]|0;c[n>>2]=d;c[n+8>>2]=h;c[n+16>>2]=i;Eb(p|0,g|0,114435,n|0);break}case 11:{d=c[c[b+8>>2]>>2]|0;if((a[182792]|0)==0?MW(182792)|0:0)c[45711]=Hb(4,52844)|0;p=c[45711]|0;c[n>>2]=16e3;c[n+8>>2]=16e3;c[n+16>>2]=i;Eb(p|0,d|0,114435,n|0);break}case 2:{d=(c[b+32>>2]|0)*576|0;g=c[c[b+8>>2]>>2]|0;if((a[182784]|0)==0?MW(182784)|0:0)c[45710]=Hb(4,52828)|0;p=c[45710]|0;c[n>>2]=d;c[n+8>>2]=h;c[n+16>>2]=i;Eb(p|0,g|0,114435,n|0);break}default:{}}d=c[j>>2]|0;if(!d){l=o;return}else{h=e;i=e;g=d}}else{h=e;i=e;f=e+12|0;g=d}j=c[f>>2]|0;p=a[((a[k>>0]|0)<0?c[h>>2]|0:i)+j+1+-1>>0]|0;c[f>>2]=j+1;if((p&-16)<<24>>24!=32){l=o;return}d=c[g+8>>2]|0;f=g+4|0;d=ue(g,e,d+(c[f>>2]|0)|0,d+(c[g>>2]|0)|0)|0;if(!d){l=o;return}e=(c[f>>2]|0)+d|0;p=(e|0)==(c[g>>2]|0);c[f>>2]=p?0:e;if(!p){l=o;return}d=c[c[b+68>>2]>>2]|0;if((a[182800]|0)==0?MW(182800)|0:0)c[45712]=Hb(1,52860)|0;Eb(c[45712]|0,d|0,114445,n|0);l=o;return}function te(a){a=a|0;Za(a|0)|0;pW()}function ue(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d+12|0;i=d+22668|0;j=i+11|0;h=a[j>>0]|0;if(h<<24>>24<0)n=c[d+22672>>2]|0;else n=h&255;h=e+11|0;q=a[h>>0]|0;k=e+4|0;l=e+12|0;NV(i,n-(c[l>>2]|0)+(q<<24>>24<0?c[k>>2]|0:q&255)|0,0);if((a[j>>0]|0)<0)m=c[i>>2]|0;else m=i;h=a[h>>0]|0;if(h<<24>>24<0){h=c[l>>2]|0;i=c[k>>2]|0;j=h;h=(c[e>>2]|0)+h|0}else{q=c[l>>2]|0;i=h&255;j=q;h=e+q|0}gX(m+n|0,h|0,i-j|0)|0;if((ve(r)|0)==-1){r=0;return r|0}o=d+13448|0;p=d+13450|0;q=d+13452|0;n=d+18060|0;h=0;while(1){i=b[o>>1]|0;d=b[p>>1]|0;j=d&65535;h=(N((i&65535)<<1,j)|0)+h|0;e=j+-1|0;do if(d<<16>>16)if(i<<16>>16==2){m=j<<2;j=n;k=q;l=f;i=e;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=j<<1;j=q;k=f;i=e;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=22;break}if((ve(r)|0)==-1){f=22;break}}if((f|0)==22)return h|0;return 0}function ve(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+272|0;if((l|0)>=(m|0))W(272);v=w+256|0;u=w;k=w+248|0;n=w+244|0;s=d+22656|0;p=s+11|0;if((a[p>>0]|0)<0)e=c[s>>2]|0;else e=s;t=d+22668|0;i=e+(c[t>>2]|0)|0;j=we(d,i)|0;if((j|0)==-1){d=-1;l=w;return d|0}f=c[t>>2]|0;g=f+j|0;c[t>>2]=g;e=a[p>>0]|0;if(e<<24>>24<0)e=c[d+22660>>2]|0;else e=e&255;if((e|0)==(g|0)){c[t>>2]=f;d=-1;l=w;return d|0}e=d+9328|0;if((c[e>>2]|0)==0?(r=bT(1152,4)|0,c[e>>2]=r,(r|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(o=d+28|0,r=c[o+4>>2]|0,q=u,c[q>>2]=c[o>>2],c[q+4>>2]=r,q=d+88|0,r=b[q>>1]|0,c[v>>2]=c[u>>2],c[v+4>>2]=c[u+4>>2],r=sf(v,(h&4096|0)==0?(f?136:256):f?72:136,r)|0,b[q>>1]=r,r<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}r=d+64|0;q=(c[e>>2]|0)==0?1:2;f=d+28|0;Bf(f,q,c[g>>2]&4096,u,n,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[u+4>>2];g=pf(f)|0;f=i-g+j|0;if((a[p>>0]|0)<0)e=c[s>>2]|0;else e=s;nf(v,e+(c[t>>2]|0)|0);e=rf(v,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))qf(v,16);j=rf(v,e>>>19&1|8)|0}else j=0;o=d+22672|0;k=o+11|0;e=a[k>>0]|0;if(e<<24>>24<0)e=c[d+22676>>2]|0;else e=e&255;n=d+22684|0;i=e-(c[n>>2]|0)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;NV(v,f,0);h=v+11|0;gX(((a[h>>0]|0)<0?c[v>>2]|0:v)+(c[v+12>>2]|0)|0,g|0,f|0)|0;g=a[h>>0]|0;f=g<<24>>24<0;RV(o,f?c[v>>2]|0:v,f?c[v+4>>2]|0:g&255)|0;if((a[h>>0]|0)<0)yV(c[v>>2]|0);e=a[p>>0]|0;if(e<<24>>24<0){e=c[t>>2]|0;f=c[s>>2]|0;g=e;e=(c[d+22660>>2]|0)-e|0}else{p=c[t>>2]|0;f=s;g=p;e=(e&255)-p|0}hX(f|0,f+g|0,e|0)|0;NV(s,e,0);c[t>>2]=0;e=a[k>>0]|0;h=e<<24>>24<0;if(h)e=c[d+22676>>2]|0;else e=e&255;g=e-(c[n>>2]|0)|0;e=c[u>>2]|0;if(i>>>0<e>>>0|g>>>0<j>>>0)e=-1;else{f=i-e|0;c[n>>2]=f;if(h)e=c[o>>2]|0;else e=o;nf(v,e+f|0);Cf(v,r,u,q)|0;wf(d+9332|0,r);g=g-j-f+(c[n>>2]|0)|0;c[n>>2]=g;e=a[k>>0]|0;if(e<<24>>24<0){e=c[d+22676>>2]|0;f=c[o>>2]|0}else{e=e&255;f=o}e=e-g|0;hX(f|0,f+g|0,e|0)|0;NV(o,e,0);c[n>>2]=0;e=0}d=e;l=w;return d|0}function we(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;nf(a+28|0,b);c[a+20>>2]=b;If(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;Jf(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((Kf(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=N(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function xe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+32|0;if((l|0)>=(m|0))W(32);u=v+16|0;i=v+8|0;s=v;t=v+24|0;k=b+4|0;f=c[k>>2]|0;if(!f){d=0;l=v;return d|0}r=e+12|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+(c[r>>2]|0)|0;h=a[g>>0]|0;j=h&15;switch(h&15){case 7:case 12:break;default:{c[i>>2]=114455;c[i+4>>2]=h&255;bc(0,i|0);d=0;l=v;return d|0}}if((h&-16)<<24>>24==16&(a[g+1>>0]|0)==0){f=b+8|0;if(!(a[f>>0]|0)){d=1;l=v;return d|0}c[b+16>>2]=($b(0,0)|0)-d;d=c[k>>2]|0;Td[c[(c[d>>2]|0)+12>>2]&1023](d,e,j);a[f>>0]=0;d=1;l=v;return d|0}p=b+12|0;if(!(c[p>>2]|0)){d=0;l=v;return d|0}q=b+48|0;do if(c[q>>2]|0){o=$b(0,0)|0;o=o-(c[b+16>>2]|0)|0;if((((c[q>>2]|0)*1e3|0)+d|0)<=(o|0)){f=c[k>>2]|0;break}j=b+28|0;g=c[j>>2]|0;k=b+24|0;f=c[k>>2]|0;w=g-f|0;h=b+36|0;n=b+40|0;i=(c[n>>2]|0)+(c[h>>2]|0)|0;if((((w|0)==0?0:((w>>2)*204|0)+-1|0)|0)==(i|0)){ze(b+20|0);i=(c[h>>2]|0)+(c[n>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{w=(i>>>0)/204|0;f=(c[f+(w<<2)>>2]|0)+((i-(w*204|0)|0)*20|0)|0}c[f>>2]=d;w=f+4|0;c[w>>2]=c[e>>2];c[w+4>>2]=c[e+4>>2];c[w+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[r>>2];c[n>>2]=(c[n>>2]|0)+1;f=b+44|0;if(a[f>>0]|0){w=0;l=v;return w|0}a[f>>0]=1;c[t>>2]=Nb()|0;ye(t,114515,114520);f=c[c[p>>2]>>2]|0;if((a[182808]|0)==0?MW(182808)|0:0)c[45713]=Hb(2,52864)|0;w=c[45713]|0;Jb(c[t>>2]|0);c[s>>2]=c[t>>2];Eb(w|0,f|0,114541,s|0);d=d-o|0;w=((c[q>>2]|0)*1e3|0)+d|0;c[u>>2]=114553;c[u+4>>2]=w;bc(0,u|0);w=c[p>>2]|0;c[u>>2]=((c[q>>2]|0)*1e3|0)+d;c[b+52>>2]=Ee(c[w>>2]|0,114588,u)|0;Fb(c[t>>2]|0);w=0;l=v;return w|0}while(0);Sd[c[(c[f>>2]|0)+16>>2]&255](f,e);w=1;l=v;return w|0}function ye(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=Mb(b|0)|0;d=Mb(d|0)|0;Qb(a|0,b|0,d|0);Fb(d|0);Fb(b|0);return}function ze(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;if((l|0)>=(m|0))W(32);k=t+4|0;g=t;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;q=a+4|0;o=c[q>>2]|0;s=c[o>>2]|0;o=o+4|0;c[q>>2]=o;r=a+8|0;b=c[r>>2]|0;p=a+12|0;n=c[p>>2]|0;e=n;do if((b|0)==(n|0)){i=o;d=c[a>>2]|0;f=d;if(o>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=o+(e<<2)|0;d=b-i|0;if(!d)b=f;else{hX(f|0,o|0,d|0)|0;b=(c[q>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){t=Ya(8)|0;BV(t,114367);c[t>>2]=108848;ab(t|0,52632,16)}else{h=xV(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;n=e;j=h+(f<<2)|0;if((o|0)==(b|0))b=n;else{f=((b+-4-i|0)>>>2)+1|0;d=o;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[q>>2]=n;c[r>>2]=b;c[p>>2]=j;if(d){yV(d);b=c[r>>2]|0}}while(0);c[b>>2]=s;c[r>>2]=(c[r>>2]|0)+4;l=t;return}s=a+8|0;b=c[s>>2]|0;r=a+4|0;f=b-(c[r>>2]|0)>>2;q=a+12|0;d=c[q>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){t=Ya(8)|0;BV(t,114367);c[t>>2]=108848;ab(t|0,52632,16)}else{d=xV(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;p=d+(f<<2)|0;j=k+8|0;c[j>>2]=p;h=k+4|0;c[h>>2]=p;c[i>>2]=d+(b<<2);c[g>>2]=xV(4080)|0;Ce(k,g);b=c[s>>2]|0;d=c[r>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;De(k,b);d=c[r>>2]|0}while((b|0)!=(d|0));b=c[s>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[r>>2]=c[h>>2];c[h>>2]=e;c[s>>2]=c[j>>2];c[j>>2]=b;a=c[q>>2]|0;c[q>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)yV(f);l=t;return}if((d|0)!=(b|0)){c[k>>2]=xV(4080)|0;Ae(a,k);l=t;return}c[k>>2]=xV(4080)|0;Be(a,k);o=c[r>>2]|0;p=c[o>>2]|0;o=o+4|0;c[r>>2]=o;b=c[s>>2]|0;n=c[q>>2]|0;e=n;do if((b|0)==(n|0)){j=o;d=c[a>>2]|0;f=d;if(o>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=o+(e<<2)|0;d=b-j|0;if(!d)b=f;else{hX(f|0,o|0,d|0)|0;b=(c[r>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[s>>2]=a;c[r>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){t=Ya(8)|0;BV(t,114367);c[t>>2]=108848;ab(t|0,52632,16)}else{h=xV(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;n=e;i=h+(f<<2)|0;if((o|0)==(b|0))b=n;else{f=((b+-4-j|0)>>>2)+1|0;d=o;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[r>>2]=n;c[s>>2]=b;c[q>>2]=i;if(d){yV(d);b=c[s>>2]|0}}while(0);c[b>>2]=p;c[s>>2]=(c[s>>2]|0)+4;l=t;return}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{hX(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=Ya(8)|0;BV(q,114367);c[q>>2]=108848;ab(q|0,52632,16)}else{i=xV(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){yV(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{hX(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=Ya(8)|0;BV(q,114367);c[q>>2]=108848;ab(q|0,52632,16)}else{h=xV(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){yV(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{hX(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=Ya(8)|0;BV(q,114367);c[q>>2]=108848;ab(q|0,52632,16)}else{i=xV(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){yV(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{hX(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=Ya(8)|0;BV(q,114367);c[q>>2]=108848;ab(q|0,52632,16)}else{h=xV(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){yV(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Ee(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=h;g=h+8|0;if((a[182816]|0)==0?MW(182816)|0:0)c[45714]=Hb(2,52872)|0;j=c[45714]|0;c[f>>2]=c[e>>2];i=+Db(j|0,b|0,d|0,g|0,f|0);Pb(c[g>>2]|0);l=h;return ~~i|0}function Fe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);k=n;g=b+52|0;$b(1,c[g>>2]|0)|0;h=b+40|0;e=c[h>>2]|0;if(e|0){i=b+24|0;j=b+36|0;d=c[j>>2]|0;do{f=(d>>>0)/204|0;f=(c[(c[i>>2]|0)+(f<<2)>>2]|0)+((d-(f*204|0)|0)*20|0)+4|0;if((a[f+11>>0]|0)<0){yV(c[f>>2]|0);e=c[h>>2]|0;d=c[j>>2]|0}e=e+-1|0;c[h>>2]=e;d=d+1|0;c[j>>2]=d;if(d>>>0>407){yV(c[c[i>>2]>>2]|0);c[i>>2]=(c[i>>2]|0)+4;d=(c[j>>2]|0)+-204|0;c[j>>2]=d;e=c[h>>2]|0}}while((e|0)!=0)}c[k>>2]=114688;bc(0,k|0);a[b+44>>0]=0;c[g>>2]=0;d=c[b+4>>2]|0;if(!d){b=b+8|0;a[b>>0]=1;l=n;return}Rd[c[(c[d>>2]|0)+8>>2]&31](d);b=b+8|0;a[b>>0]=1;l=n;return}function Ge(b){b=b|0;var d=0;xf(b+64|0);d=b+22672|0;if((a[d+11>>0]|0)<0)yV(c[d>>2]|0);b=b+22656|0;if((a[b+11>>0]|0)>=0)return;yV(c[b>>2]|0);return}function He(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);i=j;e=j+8|0;g=b+40|0;if(!(c[g>>2]|0)){a[b+44>>0]=0;c[e>>2]=Nb()|0;Ie(e,114515,114768);d=c[c[b+12>>2]>>2]|0;if((a[182808]|0)==0?MW(182808)|0:0)c[45713]=Hb(2,52864)|0;b=c[45713]|0;Jb(c[e>>2]|0);c[i>>2]=c[e>>2];Eb(b|0,d|0,114541,i|0);Fb(c[e>>2]|0);l=j;return}k=c[b+4>>2]|0;h=b+24|0;f=b+36|0;e=c[f>>2]|0;d=(e>>>0)/204|0;Sd[c[(c[k>>2]|0)+16>>2]&255](k,(c[(c[h>>2]|0)+(d<<2)>>2]|0)+((e-(d*204|0)|0)*20|0)+4|0);d=c[f>>2]|0;e=(d>>>0)/204|0;e=(c[(c[h>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){yV(c[e>>2]|0);d=c[f>>2]|0}e=(c[g>>2]|0)+-1|0;c[g>>2]=e;d=d+1|0;c[f>>2]=d;if(d>>>0>407){yV(c[c[h>>2]>>2]|0);c[h>>2]=(c[h>>2]|0)+4;d=(c[f>>2]|0)+-204|0;c[f>>2]=d;e=c[g>>2]|0}if(!e){a[b+44>>0]=0;l=j;return}e=(d>>>0)/204|0;d=c[(c[(c[h>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)>>2]|0;e=$b(0,0)|0;e=e-(c[b+16>>2]|0)|0;f=(c[b+48>>2]|0)*1e3|0;if((f+d|0)>(e|0)){k=c[b+12>>2]|0;c[i>>2]=d-e+f;c[b+52>>2]=Ee(c[k>>2]|0,114588,i)|0;l=j;return}else{He(b);l=j;return}}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=Mb(b|0)|0;d=Mb(d|0)|0;Qb(a|0,b|0,d|0);Fb(d|0);Fb(b|0);return}function Je(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=52888;c[b+48>>2]=0;c[b+52>>2]=Ch()|0;c[b+56>>2]=KP()|0;c[e>>2]=114811;bc(0,e|0);l=d;return}function Ke(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f+8|0;g=f;c[b>>2]=52888;c[g>>2]=114881;bc(0,g|0);Rd[c[(c[b>>2]|0)+8>>2]&31](b);Dh(b+52|0);ug(b+56|0);c[b>>2]=52920;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)aT(d);c[e>>2]=114857;bc(0,e|0);l=f;return}function Le(a){a=a|0;Ke(a);yV(a);return}function Me(b){b=b|0;var d=0;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)aT(d);HS(c[b+44>>2]|0);d=b+48|0;aT(c[(c[d>>2]|0)+68>>2]|0);CS(d);return}function Ne(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;if((l|0)>=(m|0))W(32);g=h+16|0;j=h;i=(e|0)==7;k=IR(i?27:173)|0;f=b+40|0;c[f>>2]=k;c[j>>2]=114896;c[j+4>>2]=e;c[j+8>>2]=k;bc(0,j|0);c[b+44>>2]=ES(c[(c[f>>2]|0)+12>>2]|0)|0;e=KR(c[f>>2]|0)|0;c[b+48>>2]=e;if(!i){l=h;return}i=d+12|0;j=(c[i>>2]|0)+5|0;c[i>>2]=j;i=d+11|0;b=a[i>>0]|0;b=(b<<24>>24<0?c[d+4>>2]|0:b&255)-j|0;k=e+72|0;c[k>>2]=b;b=$S(b)|0;c[e+68>>2]=b;gX(b|0,((a[i>>0]|0)<0?c[d>>2]|0:d)+j|0,c[k>>2]|0)|0;k=SS(e,c[f>>2]|0,0)|0;c[g>>2]=114916;c[g+4>>2]=k;bc(0,g|0);l=h;return}function Oe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[(c[b>>2]|0)+20>>2]|0;f=a[d+11>>0]|0;if(f<<24>>24<0){h=c[d+12>>2]|0;g=c[d+4>>2]|0;f=h;d=(c[d>>2]|0)+h|0;f=g-f|0;Td[e&1023](b,d,f);return}else{g=c[d+12>>2]|0;f=f&255;h=g;g=d+g|0;h=f-h|0;Td[e&1023](b,g,h);return}}function Pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=v+8|0;s=v;t=b+48|0;g=b+56|0;r=c[g>>2]|0;d=GS(c[b+44>>2]|0,c[t>>2]|0,r+24|0,r+28|0,d,e,0,-2147483648,0,-2147483648,0,0)|0;if((d|0)>-1?(f=c[g>>2]|0,c[f+28>>2]|0):0){if((rS(c[t>>2]|0,f)|0)<=-1){l=v;return}f=b+52|0;g=b+20|0;h=b+24|0;i=b+28|0;j=b+12|0;k=b+16|0;n=b+36|0;o=b+20|0;p=b+8|0;q=b+4|0;a:while(1){r=AS(c[t>>2]|0,c[f>>2]|0)|0;if((r|0)<-11)switch(r|0){case -541478725:{u=17;break a}default:{}}else switch(r|0){case -11:{u=17;break a}default:{}}d=c[f>>2]|0;c[g>>2]=c[d>>2];c[h>>2]=c[d+4>>2];c[i>>2]=c[d+8>>2];e=c[d+68>>2]|0;if((c[j>>2]|0)==(e|0)){d=c[d+72>>2]|0;if((c[k>>2]|0)!=(d|0))u=9}else{d=c[d+72>>2]|0;u=9}if((u|0)==9){u=0;Ve(b,e,d)}if(!(a[n>>0]|0))We(c[o>>2]|0,c[h>>2]|0,c[i>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0);d=c[c[q>>2]>>2]|0;if((a[182800]|0)==0?MW(182800)|0:0)c[45712]=Hb(1,52860)|0;Eb(c[45712]|0,d|0,114980,s|0);if((r|0)<=-1){u=17;break}}if((u|0)==17){l=v;return}}c[h>>2]=114933;c[h+4>>2]=d;bc(0,h|0);l=v;return}function Qe(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f;c[b>>2]=52920;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)aT(d);c[e>>2]=114857;bc(0,e|0);l=f;return}function Re(a){a=a|0;oc()}function Se(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;aT(b);return}function Te(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;n=l;l=l+16|0;if((l|0)>=(m|0))W(16);j=n;k=d+12|0;g=c[k>>2]|0;c[j>>2]=114846;c[j+4>>2]=e;bc(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;p=g+11|0;c[k>>2]=p;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;p=i+p+2+-1|0;o=a[p>>0]|0;p=a[p+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(p&255)<<8|o&255;if(g){Td[c[(c[b>>2]|0)+20>>2]&1023](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}p=h+1|0;c[k>>2]=p;g=f<<24>>24<0?e:d;p=g+p+2+-1|0;e=a[p>>0]|0;p=a[p+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(p&255)<<8|e&255;if(!e){l=n;return}Td[c[(c[b>>2]|0)+20>>2]&1023](b,g+f|0,e);l=n;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;p=(a[j>>0]|0)<0?c[d>>2]|0:d;i=p+i+2+-1|0;o=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;o=(i&255)<<8|o&255;Td[c[(c[b>>2]|0)+20>>2]&1023](b,p+h|0,o);o=(c[k>>2]|0)+o|0;h=o+3|0;c[k>>2]=h;p=(a[j>>0]|0)<0?c[d>>2]|0:d;h=p+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;o=o+5|0;c[k>>2]=o;i=(h&255)<<8|i&255;Td[c[(c[b>>2]|0)+20>>2]&1023](b,p+o|0,i);i=(c[k>>2]|0)+i|0;o=i+3|0;c[k>>2]=o;j=(a[j>>0]|0)<0?c[d>>2]|0:d;o=j+o+2+-1|0;p=a[o>>0]|0;o=a[o+-1>>0]|0;d=i+5|0;c[k>>2]=d;Td[c[(c[b>>2]|0)+20>>2]&1023](b,j+d|0,(o&255)<<8|p&255);l=n;return}default:{l=n;return}}}function Ue(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;Td[c[(c[b>>2]|0)+20>>2]&1023](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function Ve(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;if((l|0)>=(m|0))W(32);h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=114954;c[h+4>>2]=d;c[h+8>>2]=e;bc(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(N(e<<2,e)|0)+33554432|0;e=$S((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[182824]|0)==0?MW(182824)|0:0)c[45715]=Hb(4,52944)|0;b=c[45715]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;Eb(b|0,d|0,114967,h|0);l=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[182824]|0)==0?MW(182824)|0:0)c[45715]=Hb(4,52944)|0;b=c[45715]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;Eb(b|0,d|0,114967,h|0);l=i;return}}function We(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;E=g<<2;F=f+(N(E,h)|0)|0;if(!h)return;A=(g|0)==0;D=(g+-1|0)>>>1;B=(D<<3)+8|0;C=g+1&-2;D=D+1|0;j=0;z=0;k=0;i=0;l=0;while(1){if(!A){x=B+j|0;y=D+i|0;w=0;v=k;u=l;while(1){n=d[a+u>>0]|0;p=d[a+(u+g)>>0]|0;s=d[b+i>>0]|0;t=d[e+v>>0]|0;r=s<<8|t;o=F+(r|n<<16)|0;m=c[o>>2]|0;if(!m){I=(n*1192|0)+-19072|0;G=t+-128|0;m=s+-128|0;q=(G*1634|0)+I>>10;G=(N(m,-400)|0)+I+(N(G,-832)|0)>>10;I=(m*2066|0)+I>>10;m=(q|0)>0?q:0;n=(G|0)>0?G:0;H=(I|0)>0?I:0;m=((((I&255|0)==(I|0)?I:(H|0)<255?H:255)<<8)+16711680+((G&255|0)==(G|0)?G:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=F+(r|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;G=t+-128|0;m=s+-128|0;I=(G*1634|0)+p>>10;G=(N(m,-400)|0)+p+(N(G,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(I|0)>0?I:0;H=(G|0)>0?G:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((G&255|0)==(G|0)?G:(H|0)<255?H:255)<<8)+((I&255|0)==(I|0)?I:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+E)>>2]=m;q=j+4|0;p=u+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=F+(r|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;G=t+-128|0;J=s+-128|0;I=m+(G*1634|0)>>10;G=(N(G,-832)|0)+(N(J,-400)|0)+m>>10;J=m+(J*2066|0)>>10;m=(I|0)>0?I:0;H=(G|0)>0?G:0;n=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(n|0)<255?n:255)<<8)+16711680+((G&255|0)==(G|0)?G:(H|0)<255?H:255)<<8)+((I&255|0)==(I|0)?I:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=F+(r|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;H=t+-128|0;t=s+-128|0;J=m+(H*1634|0)>>10;H=(N(H,-832)|0)+(N(t,-400)|0)+m>>10;t=m+(t*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;G=(t|0)>0?t:0;m=((((t&255|0)==(t|0)?t:(G|0)<255?G:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+E)>>2]=m;w=w+2|0;if(w>>>0>=g>>>0)break;else{j=j+8|0;v=v+1|0;i=i+1|0;u=u+2|0}}l=C+l|0;j=x;k=D+k|0;i=y}z=z+2|0;if(z>>>0>=h>>>0)break;else{j=j+E|0;l=l+g|0}}return}function Xe(a){a=a|0;return 72}function Ye(a){a=a|0;if(!a)return;Ze(a);yV(a);return}function Ze(b){b=b|0;var d=0;d=c[b>>2]|0;if(d|0){Fb(c[d>>2]|0);yV(d)}d=c[b+4>>2]|0;if(d|0){Fb(c[d>>2]|0);yV(d)}d=c[b+8>>2]|0;if(d|0){Fb(c[d>>2]|0);yV(d)}_e(b+56|0);d=b+36|0;if((a[d+11>>0]|0)<0)yV(c[d>>2]|0);d=b+12|0;if((a[d+11>>0]|0)>=0)return;yV(c[d>>2]|0);return}function _e(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;if((l|0)>=(m|0))W(32);f=i+16|0;e=i+8|0;d=i;c[d>>2]=115011;bc(0,d|0);$b(1,c[b+52>>2]|0)|0;d=c[b+4>>2]|0;if(d|0)Rd[c[(c[d>>2]|0)+4>>2]&31](d);g=c[b>>2]|0;if(g|0){c[e>>2]=115032;bc(0,e|0);aT(c[g+8>>2]|0);c[f>>2]=115055;bc(0,f|0);xf(g+76|0);d=g+22684|0;if((a[d+11>>0]|0)<0)yV(c[d>>2]|0);d=g+22668|0;if((a[d+11>>0]|0)<0)yV(c[d>>2]|0);yV(g)}h=b+20|0;af(h);f=b+24|0;d=c[f>>2]|0;g=b+28|0;e=c[g>>2]|0;if((d|0)!=(e|0)){do{yV(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[g>>2]|0;if((e|0)!=(d|0))c[g>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[h>>2]|0;if(!d){l=i;return}yV(d);l=i;return}function $e(a){a=a|0;var b=0,d=0,e=0,f=0;af(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{yV(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;yV(b);return}function af(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)yV(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{yV(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function bf(){var b=0,d=0;b=xV(112)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+28>>0]=0;c[b+32>>2]=12;d=b+36|0;c[b+56>>2]=0;c[b+60>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;a[d+16>>0]=0;a[b+64>>0]=1;a[b+66>>0]=0;c[b+68>>2]=0;d=b+76|0;c[b+108>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;a[d+24>>0]=0;return b|0}function cf(a){a=a|0;return Jd[a&1]()|0}function df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Sd[e&255](a,f);Fb(c[f>>2]|0);l=g;return}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;f=c[a+4>>2]|0;a=b+(f>>1)|0;if(!(f&1)){f=e;Sd[f&255](a,d);return}else{f=c[(c[a>>2]|0)+e>>2]|0;Sd[f&255](a,d);return}}function ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)f=c[(c[a>>2]|0)+f>>2]|0;return Md[f&15](a,d,e)|0}function gf(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;Rd[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;Rd[e&31](a);return}}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;Sd[d&255](e,a);Jb(c[e>>2]|0);g=c[e>>2]|0;Fb(g|0);l=f;return g|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Sd[e&255](a,f);Fb(c[f>>2]|0);l=g;return}function kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=h;f=c[a>>2]|0;i=c[a+4>>2]|0;a=b+(i>>1)|0;if(i&1)f=c[(c[a>>2]|0)+f>>2]|0;c[g>>2]=d;Td[f&1023](a,g,e);Fb(c[g>>2]|0);l=h;return}function lf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);h=k+12|0;j=k;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(e>>>0>4294967279)DV(j);if(e>>>0<11){a[j+11>>0]=e;if(!e)b=j;else{b=j;i=9}}else{i=e+16&-16;b=xV(i)|0;c[j>>2]=b;c[j+8>>2]=i|-2147483648;c[j+4>>2]=e;i=9}if((i|0)==9)gX(b|0,d|0,e|0)|0;a[b+e>>0]=0;Td[f&1023](h,g,j);Jb(c[h>>2]|0);b=c[h>>2]|0;Fb(b|0);if((a[j+11>>0]|0)>=0){l=k;return b|0}yV(c[j>>2]|0);l=k;return b|0}function mf(){ge(0);return}function nf(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function of(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function pf(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function qf(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function rf(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<<j)+65535&(h&65535);do if(j>>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<<h;h=k;break}}else{h=j-f|0;g=g>>>h}while(0);b[l>>1]=h;l=g;return l|0}function sf(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<<j)+65535&(e[p>>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<<k;r=13}}if((r|0)==13){r=0;b[q>>1]=j}s=h<<8^(e[113338+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[113338+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[113338+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[113338+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<<j)+65535&(e[i>>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<<k;r=29}}if((r|0)==29)b[o>>1]=i;h=q^(e[113338+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<<l;r=41}}if((r|0)==41)b[o>>1]=i;h=q^(e[113338+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<<i;i=r;r=53}}if((r|0)==53)b[o>>1]=i;h=q^(e[113338+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<<g)+65535&(e[p>>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<<k;r=67}}else r=60}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function tf(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;nf(a+28|0,0);nf(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function uf(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=182864;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;Mf(a);return}function vf(a){a=a|0;Lf(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function wf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=5;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=6}Ud[f&255](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function xf(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;aT(a);c[b>>2]=0;return}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;w=a+4096|0;n=(e|0)==0;m=0;s=a+1504|0;t=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;v=c[w>>2]|0;x=0;while(1){z=v&1;o=a+(m<<11)+(z<<9)|0;Af(b+48+(m*4608|0)+(x<<7)|0,v>>>1,o,a+(m<<11)+1024+(z<<9)|0);k=v&-2;u=v+15&14|1;l=z^1;q=53304+(u<<2)|0;A=53304+(k<<2)|0;G=N(c[A>>2]|0,c[o>>2]|0)|0;g=N(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=N(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=N(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=N(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=N(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;y=N(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;r=N(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=N(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;H=N(c[A+56>>2]|0,c[a+(m<<11)+(z<<9)+4>>2]|0)|0;F=N(c[A+48>>2]|0,c[a+(m<<11)+(z<<9)+8>>2]|0)|0;E=N(c[A+40>>2]|0,c[a+(m<<11)+(z<<9)+12>>2]|0)|0;D=N(c[A+32>>2]|0,c[a+(m<<11)+(z<<9)+16>>2]|0)|0;C=N(c[A+24>>2]|0,c[a+(m<<11)+(z<<9)+20>>2]|0)|0;B=N(c[A+16>>2]|0,c[a+(m<<11)+(z<<9)+24>>2]|0)|0;c[f>>2]=H+G+F+E+D+C+B+(N(c[A+8>>2]|0,c[a+(m<<11)+(z<<9)+28>>2]|0)|0)-(i+g+h+p+j+y+r+q)>>2;q=0-u|0;r=0-k|0;y=s+(l<<9)|0;j=53304;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){A=j+128+(u<<2)|0;z=p+4|0;I=p+8|0;J=p+12|0;K=p+16|0;L=p+20|0;M=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;H=f+60|0;$=N(c[W+8>>2]|0,c[H>>2]|0)|0;U=N(c[A>>2]|0,c[p>>2]|0)|0;V=N(c[A+56>>2]|0,c[z>>2]|0)|0;T=N(c[A+48>>2]|0,c[I>>2]|0)|0;S=N(c[A+40>>2]|0,c[J>>2]|0)|0;R=N(c[A+32>>2]|0,c[K>>2]|0)|0;Q=N(c[A+24>>2]|0,c[L>>2]|0)|0;P=N(c[A+16>>2]|0,c[M>>2]|0)|0;A=N(c[A+8>>2]|0,c[O>>2]|0)|0;G=f+56|0;aa=N(c[W+16>>2]|0,c[G>>2]|0)|0;F=f+52|0;_=N(c[W+24>>2]|0,c[F>>2]|0)|0;E=f+48|0;Z=N(c[W+32>>2]|0,c[E>>2]|0)|0;D=f+44|0;Y=N(c[W+40>>2]|0,c[D>>2]|0)|0;C=f+40|0;X=N(c[W+48>>2]|0,c[C>>2]|0)|0;B=f+36|0;f=N(c[W+56>>2]|0,c[B>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(N(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+A)>>2;A=j+128+(q<<2)|0;f=N(c[A+116>>2]|0,c[O>>2]|0)|0;f=(N(c[A+108>>2]|0,c[M>>2]|0)|0)+f|0;f=f+(N(c[A+100>>2]|0,c[L>>2]|0)|0)|0;f=f+(N(c[A+92>>2]|0,c[K>>2]|0)|0)|0;f=f+(N(c[A+84>>2]|0,c[J>>2]|0)|0)|0;f=f+(N(c[A+76>>2]|0,c[I>>2]|0)|0)|0;f=f+(N(c[A+68>>2]|0,c[z>>2]|0)|0)|0;A=f+(N(c[A+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(r<<2)|0;A=A+(N(c[f+60>>2]|0,c[o>>2]|0)|0)|0;B=A+(N(c[f+68>>2]|0,c[B>>2]|0)|0)|0;C=B+(N(c[f+76>>2]|0,c[C>>2]|0)|0)|0;D=C+(N(c[f+84>>2]|0,c[D>>2]|0)|0)|0;E=D+(N(c[f+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(N(c[f+100>>2]|0,c[F>>2]|0)|0)|0;G=F+(N(c[f+108>>2]|0,c[G>>2]|0)|0)|0;c[g>>2]=G+(N(c[f+116>>2]|0,c[H>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=55352+(u<<2)|0;$=N(c[aa>>2]|0,c[y>>2]|0)|0;$=$+(N(c[aa+56>>2]|0,c[t+(l<<9)+36>>2]|0)|0)|0;$=$+(N(c[aa+48>>2]|0,c[t+(l<<9)+40>>2]|0)|0)|0;$=$+(N(c[aa+40>>2]|0,c[t+(l<<9)+44>>2]|0)|0)|0;$=$+(N(c[aa+32>>2]|0,c[t+(l<<9)+48>>2]|0)|0)|0;$=$+(N(c[aa+24>>2]|0,c[t+(l<<9)+52>>2]|0)|0)|0;$=$+(N(c[aa+16>>2]|0,c[t+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(N(c[aa+8>>2]|0,c[t+(l<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{f=f+32|0;v=v+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{s=s+2048|0;t=t+2048|0}}return}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if(!d)return;v=a+4096|0;j=(e|0)==0;i=0;o=a+1472|0;p=a+1504|0;while(1){if(!j){r=a+4108+(i*4608|0)|0;u=c[v>>2]|0;w=0;while(1){z=u&1;k=a+(i<<11)+(z<<9)|0;Af(b+48+(i*4608|0)+(w<<7)|0,u>>>1,k,a+(i<<11)+1024+(z<<9)|0);g=u&-2;q=u+15&14|1;h=z^1;m=53304+(q<<2)|0;A=53304+(g<<2)|0;G=N(c[A>>2]|0,c[k>>2]|0)|0;t=N(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;x=N(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;s=N(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=N(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=N(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;y=N(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=N(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=N(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;H=N(c[A+56>>2]|0,c[a+(i<<11)+(z<<9)+4>>2]|0)|0;F=N(c[A+48>>2]|0,c[a+(i<<11)+(z<<9)+8>>2]|0)|0;E=N(c[A+40>>2]|0,c[a+(i<<11)+(z<<9)+12>>2]|0)|0;D=N(c[A+32>>2]|0,c[a+(i<<11)+(z<<9)+16>>2]|0)|0;C=N(c[A+24>>2]|0,c[a+(i<<11)+(z<<9)+20>>2]|0)|0;B=N(c[A+16>>2]|0,c[a+(i<<11)+(z<<9)+24>>2]|0)|0;c[r>>2]=H+G+F+E+D+C+B+(N(c[A+8>>2]|0,c[a+(i<<11)+(z<<9)+28>>2]|0)|0)-(x+t+s+l+f+y+n+m)>>2;m=0-g|0;n=0-q|0;y=p+(h<<9)|0;f=53304;l=a+(i<<11)+1024+(h<<9)|0;s=r;t=r+124|0;x=1;while(1){s=s+4|0;H=f+128+(q<<2)|0;G=l+4|0;F=l+8|0;E=l+12|0;D=l+16|0;C=l+20|0;B=l+24|0;A=l+28|0;W=f+128+(g<<2)|0;z=k+60|0;aa=N(c[W+8>>2]|0,c[z>>2]|0)|0;U=N(c[H>>2]|0,c[l>>2]|0)|0;V=N(c[H+56>>2]|0,c[G>>2]|0)|0;T=N(c[H+48>>2]|0,c[F>>2]|0)|0;S=N(c[H+40>>2]|0,c[E>>2]|0)|0;R=N(c[H+32>>2]|0,c[D>>2]|0)|0;Q=N(c[H+24>>2]|0,c[C>>2]|0)|0;O=N(c[H+16>>2]|0,c[B>>2]|0)|0;H=N(c[H+8>>2]|0,c[A>>2]|0)|0;I=k+56|0;ba=N(c[W+16>>2]|0,c[I>>2]|0)|0;J=k+52|0;$=N(c[W+24>>2]|0,c[J>>2]|0)|0;K=k+48|0;_=N(c[W+32>>2]|0,c[K>>2]|0)|0;L=k+44|0;Z=N(c[W+40>>2]|0,c[L>>2]|0)|0;M=k+40|0;Y=N(c[W+48>>2]|0,c[M>>2]|0)|0;P=k+36|0;k=k+32|0;X=N(c[W+56>>2]|0,c[P>>2]|0)|0;c[s>>2]=ba+aa+$+_+Z+Y+X+(N(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+H)>>2;H=f+128+(m<<2)|0;O=N(c[H+60>>2]|0,c[k>>2]|0)|0;O=(N(c[H+68>>2]|0,c[P>>2]|0)|0)+O|0;M=O+(N(c[H+76>>2]|0,c[M>>2]|0)|0)|0;L=M+(N(c[H+84>>2]|0,c[L>>2]|0)|0)|0;K=L+(N(c[H+92>>2]|0,c[K>>2]|0)|0)|0;J=K+(N(c[H+100>>2]|0,c[J>>2]|0)|0)|0;I=J+(N(c[H+108>>2]|0,c[I>>2]|0)|0)|0;z=I+(N(c[H+116>>2]|0,c[z>>2]|0)|0)|0;H=f+128+(n<<2)|0;A=z+(N(c[H+116>>2]|0,c[A>>2]|0)|0)|0;B=A+(N(c[H+108>>2]|0,c[B>>2]|0)|0)|0;C=B+(N(c[H+100>>2]|0,c[C>>2]|0)|0)|0;D=C+(N(c[H+92>>2]|0,c[D>>2]|0)|0)|0;E=D+(N(c[H+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(N(c[H+76>>2]|0,c[F>>2]|0)|0)|0;G=F+(N(c[H+68>>2]|0,c[G>>2]|0)|0)|0;c[t>>2]=G+(N(c[H+60>>2]|0,c[l>>2]|0)|0)>>2;x=x+1|0;if((x|0)==16)break;else{f=f+128|0;l=l+32|0;t=t+-4|0}}ba=55352+(q<<2)|0;aa=N(c[ba>>2]|0,c[y>>2]|0)|0;aa=aa+(N(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(N(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(N(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(N(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(N(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(N(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[r+64>>2]=0-(aa+(N(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;w=w+1|0;if((w|0)==(e|0))break;else{r=r+128|0;u=u+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return}function Af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function Bf(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=rf(f,l?8:9)|0;c[i+4>>2]=rf(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=rf(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=rf(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=rf(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=rf(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=rf(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(rf(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=rf(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=rf(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=rf(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=rf(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=rf(f,3)|0}else{u=rf(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(rf(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=rf(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=rf(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=rf(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=rf(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=rf(f,3)|0}u=rf(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0<t>>>0);return h|0}function Cf(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;Cb=l;l=l+7296|0;if((l|0)>=(m|0))W(7296);zb=Cb+2448|0;yb=Cb+2432|0;xb=Cb+2416|0;vb=Cb+2400|0;ub=Cb+2384|0;tb=Cb+2368|0;Ab=Cb+2352|0;wb=Cb+2336|0;sb=Cb+2320|0;rb=Cb+16|0;qb=Cb;jb=Cb+7224|0;pb=Cb+7216|0;Bb=Cb+2608|0;nb=Cb+2464|0;lb=g+28|0;hb=c[lb>>2]|0;mb=(hb&16384|0)==0;k=c[g+20>>2]<<((mb^1)&1);k=(k>>>15&1)+(mb?-8:-5)+(k>>>7&15)|0;hb=2-(hb>>>12&1)|0;if(!hb){Bb=0;l=Cb;return Bb|0}kb=(j|0)==0;ib=55480+(k*12|0)|0;mb=55480+(k*12|0)+8|0;fb=55480+(k*12|0)+4|0;Ga=i+184|0;db=g+8|0;Ha=rb+4|0;Sa=rb+8|0;Va=rb+12|0;Xa=rb+16|0;Ya=rb+20|0;Za=rb+24|0;_a=rb+28|0;$a=rb+32|0;ab=rb+36|0;Ia=rb+40|0;Ja=rb+44|0;Ka=rb+48|0;La=rb+52|0;Ma=rb+56|0;Na=rb+60|0;Oa=rb+64|0;Pa=rb+68|0;Qa=rb+72|0;Ra=rb+76|0;Ta=rb+80|0;Ua=rb+84|0;R=c[27018]|0;cb=g+4|0;T=jb+4|0;U=jb+8|0;eb=g+9264|0;V=rb+2|0;fa=rb+4|0;qa=rb+6|0;Aa=rb+8|0;Ba=rb+10|0;Ca=rb+12|0;Da=rb+14|0;Ea=rb+16|0;Fa=rb+18|0;X=rb+20|0;Y=rb+22|0;Z=rb+24|0;_=rb+26|0;$=rb+28|0;aa=rb+30|0;ba=rb+32|0;ca=rb+34|0;da=rb+36|0;ea=rb+38|0;ga=rb+40|0;ha=rb+42|0;ia=rb+44|0;ja=rb+46|0;ka=rb+48|0;la=rb+50|0;ma=rb+52|0;na=rb+54|0;oa=rb+56|0;pa=rb+58|0;ra=rb+60|0;sa=rb+62|0;ta=rb+64|0;ua=rb+66|0;va=rb+68|0;wa=rb+70|0;xa=rb+72|0;ya=rb+74|0;za=rb+76|0;S=Bb+2304|0;bb=0;a:while(1){P=i+10+(bb*116|0)|0;if(!kb){L=c[ib>>2]|0;O=(bb|0)==0;M=0;do{y=i+10+(bb*116|0)+(M*58|0)|0;k=pb+(M<<2)|0;c[k>>2]=L;z=i+10+(bb*116|0)+(M*58|0)+9|0;p=(a[z>>0]|0)==2;if(p){K=c[((a[i+10+(bb*116|0)+(M*58|0)+8>>0]&8)==0?fb:mb)>>2]|0;c[k>>2]=K;k=K}else k=L;if(!(c[lb>>2]&4096)){if(O)o=0;else o=d[i+8+M>>0]|0;K=f;q=c[K+4>>2]|0;r=rb;c[r>>2]=c[K>>2];c[r+4>>2]=q;r=e[i+10+(bb*116|0)+(M*58|0)+6>>1]|0;q=d[115220+(r<<1)>>0]|0;r=d[115220+(r<<1)+1>>0]|0;if(p){n=18-((d[i+10+(bb*116|0)+(M*58|0)+8>>0]|0)>>>3&1)|0;o=n;p=0;while(1){o=o+-1|0;a[i+10+(bb*116|0)+(M*58|0)+18+p>>0]=rf(f,q)|0;if(!o)break;else p=p+1|0}a[i+10+(bb*116|0)+(M*58|0)+18+n>>0]=rf(f,r)|0;a[n+1+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[n+2+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;J=n|4;a[n+3+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[i+10+(bb*116|0)+(M*58|0)+18+J>>0]=rf(f,r)|0;a[J+1+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[J+2+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[J+3+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[J+4+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[J+5+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[J+6+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;K=n|12;a[J+7+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[i+10+(bb*116|0)+(M*58|0)+18+K>>0]=rf(f,r)|0;a[K+1+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[K+2+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[K+3+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[K+4+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;a[K+5+(i+10+(bb*116|0)+(M*58|0)+18)>>0]=rf(f,r)|0;K=y+(n|36)|0;a[K>>0]=0;a[K+1>>0]=0;a[K+2>>0]=0}else{if(!(o&8)){a[i+10+(bb*116|0)+(M*58|0)+18>>0]=rf(f,q)|0;a[i+10+(bb*116|0)+(M*58|0)+19>>0]=rf(f,q)|0;a[i+10+(bb*116|0)+(M*58|0)+20>>0]=rf(f,q)|0;a[i+10+(bb*116|0)+(M*58|0)+21>>0]=rf(f,q)|0;a[i+10+(bb*116|0)+(M*58|0)+22>>0]=rf(f,q)|0;n=(rf(f,q)|0)&255}else{a[i+10+(bb*116|0)+(M*58|0)+18>>0]=a[i+10+(M*58|0)+18>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+19>>0]=a[i+10+(M*58|0)+19>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+20>>0]=a[i+10+(M*58|0)+20>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+21>>0]=a[i+10+(M*58|0)+21>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+22>>0]=a[i+10+(M*58|0)+22>>0]|0;n=a[i+10+(M*58|0)+23>>0]|0}a[i+10+(bb*116|0)+(M*58|0)+23>>0]=n;if(!(o&4)){a[i+10+(bb*116|0)+(M*58|0)+24>>0]=rf(f,q)|0;a[i+10+(bb*116|0)+(M*58|0)+25>>0]=rf(f,q)|0;a[i+10+(bb*116|0)+(M*58|0)+26>>0]=rf(f,q)|0;a[i+10+(bb*116|0)+(M*58|0)+27>>0]=rf(f,q)|0;n=(rf(f,q)|0)&255}else{a[i+10+(bb*116|0)+(M*58|0)+24>>0]=a[i+10+(M*58|0)+24>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+25>>0]=a[i+10+(M*58|0)+25>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+26>>0]=a[i+10+(M*58|0)+26>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+27>>0]=a[i+10+(M*58|0)+27>>0]|0;n=a[i+10+(M*58|0)+28>>0]|0}a[i+10+(bb*116|0)+(M*58|0)+28>>0]=n;if(!(o&2)){a[i+10+(bb*116|0)+(M*58|0)+29>>0]=rf(f,r)|0;a[i+10+(bb*116|0)+(M*58|0)+30>>0]=rf(f,r)|0;a[i+10+(bb*116|0)+(M*58|0)+31>>0]=rf(f,r)|0;a[i+10+(bb*116|0)+(M*58|0)+32>>0]=rf(f,r)|0;n=(rf(f,r)|0)&255}else{a[i+10+(bb*116|0)+(M*58|0)+29>>0]=a[i+10+(M*58|0)+29>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+30>>0]=a[i+10+(M*58|0)+30>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+31>>0]=a[i+10+(M*58|0)+31>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+32>>0]=a[i+10+(M*58|0)+32>>0]|0;n=a[i+10+(M*58|0)+33>>0]|0}a[i+10+(bb*116|0)+(M*58|0)+33>>0]=n;if(!(o&1)){a[i+10+(bb*116|0)+(M*58|0)+34>>0]=rf(f,r)|0;a[i+10+(bb*116|0)+(M*58|0)+35>>0]=rf(f,r)|0;a[i+10+(bb*116|0)+(M*58|0)+36>>0]=rf(f,r)|0;a[i+10+(bb*116|0)+(M*58|0)+37>>0]=rf(f,r)|0;n=(rf(f,r)|0)&255}else{a[i+10+(bb*116|0)+(M*58|0)+34>>0]=a[i+10+(M*58|0)+34>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+35>>0]=a[i+10+(M*58|0)+35>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+36>>0]=a[i+10+(M*58|0)+36>>0]|0;a[i+10+(bb*116|0)+(M*58|0)+37>>0]=a[i+10+(M*58|0)+37>>0]|0;n=a[i+10+(M*58|0)+38>>0]|0}a[i+10+(bb*116|0)+(M*58|0)+38>>0]=n;a[i+10+(bb*116|0)+(M*58|0)+39>>0]=0}n=of(rb,f)|0}else{v=(M|0)==0?0:Ga;n=c[db>>2]|0;K=f;r=c[K+4>>2]|0;o=rb;c[o>>2]=c[K>>2];c[o+4>>2]=r;o=b[i+10+(bb*116|0)+(M*58|0)+6>>1]|0;r=o&65535;if(p)w=((d[i+10+(bb*116|0)+(M*58|0)+8>>0]|0)>>>3&1)+1&255;else w=0;if((v|0)!=0&(n&1|0)!=0){n=r>>>1;do if((o&65535)>=360)if((o&65535)<488){t=n+-180|0;u=4;o=t>>>4&3;s=t>>>2&3;t=t&3;break}else{t=n+-244|0;s=(t>>>0)/3|0;u=5;o=s;s=t-(s*3|0)|0;t=0;break}else{K=(n>>>0)%36|0;t=(K>>>0)/6|0;u=3;o=(r>>>0)/72|0;s=t;t=K-(t*6|0)|0}while(0);p=115148+(u*12|0)+(w<<2)|0;r=(1<<o)+-1|0;if(!(a[p>>0]|0))n=0;else{q=0;while(1){K=rf(f,o)|0;a[i+10+(bb*116|0)+(M*58|0)+18+q>>0]=K;n=q+1|0;a[v+18+q>>0]=(K|0)==(r|0)&1;if(n>>>0<(d[p>>0]|0)>>>0)q=n;else break}}r=(1<<s)+-1|0;p=115148+(u*12|0)+(w<<2)+1|0;if(a[p>>0]|0){q=0;o=n;while(1){K=rf(f,s)|0;a[i+10+(bb*116|0)+(M*58|0)+18+o>>0]=K;n=o+1|0;a[v+18+o>>0]=(K|0)==(r|0)&1;q=q+1|0;if(q>>>0>=(d[p>>0]|0)>>>0)break;else o=n}}r=(1<<t)+-1|0;p=115148+(u*12|0)+(w<<2)+2|0;if(a[p>>0]|0){q=0;o=n;while(1){K=rf(f,t)|0;a[i+10+(bb*116|0)+(M*58|0)+18+o>>0]=K;n=o+1|0;a[v+18+o>>0]=(K|0)==(r|0)&1;q=q+1|0;if(q>>>0>=(d[p>>0]|0)>>>0)break;else o=n}}p=115148+(u*12|0)+(w<<2)+3|0;if(a[p>>0]|0){q=0;o=n;while(1){K=rf(f,0)|0;a[i+10+(bb*116|0)+(M*58|0)+18+o>>0]=K;n=o+1|0;a[v+18+o>>0]=(K|0)==0&1;q=q+1|0;if(q>>>0>=(d[p>>0]|0)>>>0)break;else o=n}}if(n>>>0<39)do{a[i+10+(bb*116|0)+(M*58|0)+18+n>>0]=0;a[v+18+n>>0]=0;n=n+1|0}while((n|0)!=39)}else{do if((o&65535)>=400)if((o&65535)<500){s=r+-400|0;u=1;q=(s>>>0)/20|0;s=(s>>>2>>>0)%5|0;t=o&3;r=0;break}else{t=r+-500|0;s=(t>>>0)/3|0;u=i+10+(bb*116|0)+(M*58|0)+8|0;a[u>>0]=a[u>>0]|4;u=2;q=s;s=t-(s*3|0)|0;t=0;r=0;break}else{u=0;q=(r>>>0)/80|0;s=(r>>>4>>>0)%5|0;t=r>>>2&3;r=r&3}while(0);o=115148+(u*12|0)+(w<<2)|0;if(!(a[o>>0]|0))n=0;else{p=0;while(1){n=p+1|0;a[i+10+(bb*116|0)+(M*58|0)+18+p>>0]=rf(f,q)|0;if(n>>>0<(d[o>>0]|0)>>>0)p=n;else break}}p=115148+(u*12|0)+(w<<2)+1|0;if(a[p>>0]|0){q=0;o=n;while(1){n=o+1|0;a[i+10+(bb*116|0)+(M*58|0)+18+o>>0]=rf(f,s)|0;q=q+1|0;if(q>>>0>=(d[p>>0]|0)>>>0)break;else o=n}}p=115148+(u*12|0)+(w<<2)+2|0;if(a[p>>0]|0){q=0;o=n;while(1){n=o+1|0;a[i+10+(bb*116|0)+(M*58|0)+18+o>>0]=rf(f,t)|0;q=q+1|0;if(q>>>0>=(d[p>>0]|0)>>>0)break;else o=n}}p=115148+(u*12|0)+(w<<2)+3|0;if(a[p>>0]|0){q=0;o=n;while(1){n=o+1|0;a[i+10+(bb*116|0)+(M*58|0)+18+o>>0]=rf(f,r)|0;q=q+1|0;if(q>>>0>=(d[p>>0]|0)>>>0)break;else o=n}}if(n>>>0<39)iX(y+(n+18)|0,0,39-n|0)|0}n=of(rb,f)|0}x=Bb+(M*2304|0)|0;o=(e[y>>1]|0)-n|0;if((o|0)<0){ob=566;break a}t=(e[i+10+(bb*116|0)+(M*58|0)+4>>1]|0)+-210|0;K=i+10+(bb*116|0)+(M*58|0)+8|0;p=d[K>>0]|0;u=(p>>>1&1)+1|0;do if((a[z>>0]|0)==2){if(!(p&8)){n=0;p=0}else{q=p<<29>>31;n=0;p=0;while(1){c[rb+(p<<2)>>2]=t-((q&d[115252+p>>0])+(d[i+10+(bb*116|0)+(M*58|0)+18+p>>0]|0)<<u);r=p+1|0;n=n+(d[k+p>>0]|0)|0;if(n>>>0<36)p=r;else{p=r;break}}}r=t-(d[i+10+(bb*116|0)+(M*58|0)+13>>0]<<3)|0;s=t-(d[i+10+(bb*116|0)+(M*58|0)+14>>0]<<3)|0;q=t-(d[i+10+(bb*116|0)+(M*58|0)+15>>0]<<3)|0;if(n>>>0<576)while(1){c[rb+(p<<2)>>2]=r-(d[i+10+(bb*116|0)+(M*58|0)+18+p>>0]<<u);J=p+1|0;c[rb+(J<<2)>>2]=s-(d[i+10+(bb*116|0)+(M*58|0)+18+J>>0]<<u);J=p+2|0;c[rb+(J<<2)>>2]=q-(d[i+10+(bb*116|0)+(M*58|0)+18+J>>0]<<u);n=((d[k+p>>0]|0)*3|0)+n|0;if(n>>>0>=576)break;else p=p+3|0}}else{c[rb>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+18>>0]<<u);c[Ha>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+19>>0]<<u);c[Sa>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+20>>0]<<u);c[Va>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+21>>0]<<u);c[Xa>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+22>>0]<<u);c[Ya>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+23>>0]<<u);c[Za>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+24>>0]<<u);c[_a>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+25>>0]<<u);c[$a>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+26>>0]<<u);c[ab>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+27>>0]<<u);c[Ia>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+28>>0]<<u);n=d[i+10+(bb*116|0)+(M*58|0)+29>>0]|0;if(!(p&4)){c[Ja>>2]=t-(n<<u);c[Ka>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+30>>0]<<u);c[La>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+31>>0]<<u);c[Ma>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+32>>0]<<u);c[Na>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+33>>0]<<u);c[Oa>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+34>>0]<<u);c[Pa>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+35>>0]<<u);c[Qa>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+36>>0]<<u);c[Ra>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+37>>0]<<u);c[Ta>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+38>>0]<<u);c[Ua>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+39>>0]<<u);break}else{c[Ja>>2]=t-(n+1<<u);c[Ka>>2]=t-((d[i+10+(bb*116|0)+(M*58|0)+30>>0]|0)+1<<u);c[La>>2]=t-((d[i+10+(bb*116|0)+(M*58|0)+31>>0]|0)+1<<u);c[Ma>>2]=t-((d[i+10+(bb*116|0)+(M*58|0)+32>>0]|0)+1<<u);c[Na>>2]=t-((d[i+10+(bb*116|0)+(M*58|0)+33>>0]|0)+2<<u);c[Oa>>2]=t-((d[i+10+(bb*116|0)+(M*58|0)+34>>0]|0)+2<<u);c[Pa>>2]=t-((d[i+10+(bb*116|0)+(M*58|0)+35>>0]|0)+3<<u);c[Qa>>2]=t-((d[i+10+(bb*116|0)+(M*58|0)+36>>0]|0)+3<<u);c[Ra>>2]=t-((d[i+10+(bb*116|0)+(M*58|0)+37>>0]|0)+3<<u);c[Ta>>2]=t-((d[i+10+(bb*116|0)+(M*58|0)+38>>0]|0)+2<<u);c[Ua>>2]=t-(d[i+10+(bb*116|0)+(M*58|0)+39>>0]<<u);break}}while(0);q=f;p=c[q>>2]|0;q=c[q+4>>2]|0;u=qb;c[u>>2]=p;c[u+4>>2]=q;qf(f,o);q=bX(p|0,q|0,48)|0;q=(31-q&-8)+q|0;p=rf(qb,q)|0;u=d[i+10+(bb*116|0)+(M*58|0)+10>>0]|0;s=c[53048+(u<<3)>>2]|0;if(!s){Q=165;break a}t=Bb+(M*2304|0)+(d[k>>0]<<2)|0;y=k+1|0;n=o-q|0;r=c[rb>>2]|0;k=b[i+10+(bb*116|0)+(M*58|0)+2>>1]|0;if((o|0)>0&k<<16>>16!=0){J=i+10+(bb*116|0)+(M*58|0)+17|0;I=k&65535;B=r;v=Ha;z=e[53048+(u<<3)+4>>1]|0;w=(d[i+10+(bb*116|0)+(M*58|0)+16>>0]|0)+1|0;o=0;A=0;r=e[53048+(u<<3)+6>>1]|0;H=0;F=x;while(1){I=I+-1|0;if((F|0)==(t|0)){x=y+1|0;t=F+(d[y>>0]<<2)|0;k=w+-1|0;if(!k){if(!o)k=(d[J>>0]|0)+1|0;else k=0;o=o+1|0;r=d[i+10+(bb*116|0)+(M*58|0)+10+o>>0]|0;s=c[53048+(r<<3)>>2]|0;if(!s){Q=165;break a}else{u=e[53048+(r<<3)+4>>1]|0;r=e[53048+(r<<3)+6>>1]|0}}else u=z;y=c[v>>2]|0;G=y;v=v+4|0;z=u;E=k;D=o;u=(B|0)==(y|0)?A:0;y=x;C=r}else{G=B;E=w;D=o;u=A;C=r}k=31-q&-8;if((q|0)<21){p=rf(qb,k)|0|p<<k;n=n-k|0;q=k+q|0}k=p>>>(q-C|0)&(1<<C)+-1;if(!(a[s+(k<<1)>>0]&1)){o=C;do{q=q-o|0;k=b[s+(k<<1)>>1]|0;o=(k&65535)>>>1&7;k=(p>>>(q-o|0)&(1<<o)+-1)+((k&65535)>>>4&65535)|0}while(!(a[s+(k<<1)>>0]&1))}A=s+(k<<1)|0;o=b[A>>1]|0;q=q-((o&65535)>>>1&7)|0;o=(o&65535)>>>4;k=o&15;w=k&65535;b:do if(!z){if(!(k<<16>>16)){o=u;k=0}else{k=1<<w;if(!(k&u)){u=k|u;r=(G|0)%4|0;k=c[55588+(w<<2)>>2]|0;o=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){h[ub>>3]=+(o|0)*3.725290298461914e-09;c[ub+8>>2]=k;gV(R,115274,ub)|0;k=2147483647;break}else{k=o<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+o>>B}while(0);if(r)k=N((c[88416+(r+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[jb+(w<<2)>>2]=k;o=u}else{o=u;k=c[jb+(w<<2)>>2]|0}B=q+-1|0;q=B;k=(1<<B&p|0)==0?k:0-k|0}c[F>>2]=k;B=(e[A>>1]|0)>>>8&15;w=B&65535;if(!(B<<16>>16)){x=p;k=0;u=o}else{k=1<<w;if(!(k&o)){u=k|o;k=(G|0)/4|0;r=G-(k<<2)|0;B=c[55588+(w<<2)>>2]|0;o=B&134217727;k=(B>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){h[vb>>3]=+(o|0)*3.725290298461914e-09;c[vb+8>>2]=k;gV(R,115274,vb)|0;k=2147483647;break}else{k=o<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+o>>B}while(0);if(r)k=N((c[88416+(r+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[jb+(w<<2)>>2]=k;o=u}else k=c[jb+(w<<2)>>2]|0;u=q+-1|0;x=p;q=u;k=(1<<u&p|0)==0?k:0-k|0;u=o}}else{c:do switch(o&15){case 0:{x=p;k=0;break}case 15:{if(q>>>0<(z+2|0)>>>0){p=rf(qb,16)|0|p<<16;n=n+-16|0;q=q+16|0}q=q-z|0;r=(G|0)%4|0;k=c[55588+((p>>>q&(1<<z)+-1)+w<<2)>>2]|0;o=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){h[sb>>3]=+(o|0)*3.725290298461914e-09;c[sb+8>>2]=k;gV(R,115274,sb)|0;k=2147483647;break}else{k=o<<k;break}else{Q=0-k|0;k=Q>>>0>31?0:(1<<~k)+o>>Q}while(0);if(!r){Q=118;break c}k=N((c[88416+(r+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<<w;if(k&u|0){k=c[jb+(w<<2)>>2]|0;Q=118;break c}u=k|u;r=(G|0)%4|0;k=c[55588+(w<<2)>>2]|0;o=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){h[wb>>3]=+(o|0)*3.725290298461914e-09;c[wb+8>>2]=k;gV(R,115274,wb)|0;k=2147483647;break}else{k=o<<k;break}else{Q=0-k|0;k=Q>>>0>31?0:(1<<~k)+o>>Q}while(0);if(r)k=N((c[88416+(r+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[jb+(w<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;B=q+-1|0;x=p;q=B;k=(1<<B&p|0)==0?k:0-k|0}c[F>>2]=k;B=(e[A>>1]|0)>>>8;w=B&15;d:do switch(B&15){case 0:{k=0;break b}case 15:{if(q>>>0<(z+1|0)>>>0){p=rf(qb,16)|0|x<<16;n=n+-16|0;q=q+16|0}else p=x;q=q-z|0;r=(G|0)%4|0;k=c[55588+((p>>>q&(1<<z)+-1)+w<<2)>>2]|0;o=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){h[Ab>>3]=+(o|0)*3.725290298461914e-09;c[Ab+8>>2]=k;gV(R,115274,Ab)|0;k=2147483647;break}else{k=o<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+o>>B}while(0);if(!r)break d;k=N((c[88416+(r+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<<w;if(k&u|0){p=x;k=c[jb+(w<<2)>>2]|0;break d}u=k|u;p=(G|0)%4|0;k=c[55588+(w<<2)>>2]|0;o=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){h[tb>>3]=+(o|0)*3.725290298461914e-09;c[tb+8>>2]=k;gV(R,115274,tb)|0;k=2147483647;break}else{k=o<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+o>>B}while(0);if(p)k=N((c[88416+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[jb+(w<<2)>>2]=k;p=x}}while(0);B=q+-1|0;x=p;q=B;k=(1<<B&p|0)==0?k:0-k|0}while(0);c[F+4>>2]=k;k=H+2|0;o=q+n|0;if(!((I|0)!=0&(o|0)>0)){w=q;u=G;s=y;break}else{p=x;B=G;w=E;o=D;A=u;r=C;H=k;F=Bb+(M*2304|0)+(k<<2)|0}}}else{x=p;w=q;u=r;v=Ha;s=y;k=0}if((o|0)<0){ob=568;break a}B=c[53040+((a[K>>0]&1)<<2)>>2]|0;q=(u|0)/4|0;r=u-(q<<2)|0;p=q+2|0;do if((u|0)>=-11)if((u|0)>11){h[xb>>3]=.25;c[xb+8>>2]=p;gV(R,115274,xb)|0;p=2147483647;break}else{p=67108864<<p;break}else{p=-2-q|0;p=p>>>0>31?0:(1<<-3-q)+67108864>>p}while(0);if(r)p=N((c[88416+(r+3<<2)>>2]|0)+32768>>16,p+2048>>12)|0;if((o|0)>0&k>>>0<573){o=x;x=s;while(1){z=Bb+(M*2304|0)+(k<<2)|0;if((w|0)<10){A=rf(qb,16)|0|o<<16;n=n+-16|0;o=w+16|0}else{A=o;o=w}s=o+-4|0;q=B+((A>>>s&15)<<1)|0;r=a[q>>0]|0;if(!(r&1)){r=b[q>>1]|0;q=(r&65535)>>>1&7;r=B+((A>>>(s-q|0)&(1<<q)+-1)+((r&65535)>>>4&65535)<<1)|0;q=r;r=a[r>>0]|0;o=s}y=o-((r&255)>>>1&7)|0;if((z|0)==(t|0)){w=x+1|0;t=t+(d[x>>0]<<2)|0;s=c[v>>2]|0;do if((u|0)==(s|0))o=u;else{p=(s|0)/4|0;r=s-(p<<2)|0;o=p+2|0;do if((s|0)>=-11)if((s|0)>11){h[yb>>3]=.25;c[yb+8>>2]=o;gV(R,115274,yb)|0;p=2147483647;break}else{p=67108864<<o;break}else{K=-2-p|0;p=K>>>0>31?0:(1<<-3-p)+67108864>>K}while(0);if(!r){o=s;break}o=s;p=N((c[88416+(r+3<<2)>>2]|0)+32768>>16,p+2048>>12)|0}while(0);r=a[q>>0]|0;u=o;v=v+4|0;s=w}else s=x;x=(r&16)==0;K=y+-1|0;o=0-p|0;y=x?y:K;c[z>>2]=x?0:(1<<K&A|0)==0?p:o;K=(a[q>>0]&32)==0;x=y+-1|0;y=K?y:x;c[z+4>>2]=K?0:(1<<x&A|0)==0?p:o;x=Bb+(M*2304|0)+(k+2<<2)|0;if((x|0)==(t|0)){w=s+1|0;t=t+(d[s>>0]<<2)|0;s=c[v>>2]|0;do if((u|0)==(s|0))o=u;else{p=(s|0)/4|0;r=s-(p<<2)|0;o=p+2|0;do if((s|0)>=-11)if((s|0)>11){h[zb>>3]=.25;c[zb+8>>2]=o;gV(R,115274,zb)|0;p=2147483647;break}else{p=67108864<<o;break}else{K=-2-p|0;p=K>>>0>31?0:(1<<-3-p)+67108864>>K}while(0);if(!r){o=s;break}o=s;p=N((c[88416+(r+3<<2)>>2]|0)+32768>>16,p+2048>>12)|0}while(0);u=o;v=v+4|0;r=p;s=w;o=0-p|0}else r=p;K=(a[q>>0]&64)==0;J=y+-1|0;w=K?y:J;c[x>>2]=K?0:(1<<J&A|0)==0?r:o;J=(a[q>>0]|0)<0;K=w+-1|0;w=J?K:w;c[x+4>>2]=J?((1<<K&A|0)==0?r:o):0;k=k+4|0;o=w+n|0;if(!(k>>>0<573&(o|0)>0))break;else{o=A;p=r;x=s}}}if((n|0)<=-65){Q=202;break a}k=(o|0)<0?k+-4|0:k;if((k|0)<576)iX(Bb+(M*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;M=M+1|0}while(M>>>0<j>>>0)}if((c[cb>>2]|0)==2?(gb=c[db>>2]|0,gb|0):0){w=c[pb>>2]|0;k=a[i+10+(bb*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+(bb*116|0)+67>>0]|0)){Q=276;break}n=a[i+10+(bb*116|0)+66>>0]|0;if((n^a[i+10+(bb*116|0)+8>>0])&8){Q=276;break}O=gb&65535;b[rb>>1]=O;b[V>>1]=O;b[fa>>1]=O;b[qa>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[Fa>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[ea>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[pa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ta>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;b[za>>1]=O;e:do if(gb&1|0){v=c[lb>>2]|0;c[lb>>2]=v|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[jb>>2]=0;if(n&8){q=0;n=0;r=S;k=0;do{Q=k;k=k+1|0;Q=a[w+Q>>0]|0;p=Q&255;f:do if(Q<<24>>24){o=0;do{if(c[r+(o<<2)>>2]|0){n=k;break f}o=o+1|0}while(o>>>0<p>>>0)}while(0);r=r+(p<<2)|0;q=q+p|0}while(q>>>0<36);if(q>>>0<576){o=r;Q=220}else Q=228}else{q=0;n=0;o=S;k=0;Q=220}if((Q|0)==220){Q=0;s=0;t=k;u=0;while(1){O=a[w+t>>0]|0;t=t+1|0;r=O&255;g:do if(!(O<<24>>24))p=s;else{p=0;while(1){if(c[o+(p<<2)>>2]|0)break;p=p+1|0;if(p>>>0>=r>>>0){p=s;break g}}c[jb+(u<<2)>>2]=t;p=t}while(0);q=q+r|0;if(q>>>0>=576)break;else{s=p;o=o+(r<<2)|0;u=((u+1|0)>>>0)%3|0}}if(!p)Q=228;else{n=k;q=p}}if((Q|0)==228){Q=0;q=0}if(n|0){o=gb&65534;p=0;do{b[rb+(p<<1)>>1]=o;p=p+1|0}while((p|0)!=(n|0))}if(k>>>0<q>>>0){o=gb&65534;n=0;while(1){if(k>>>0<(c[jb+(n<<2)>>2]|0)>>>0)b[rb+(k<<1)>>1]=o;k=k+1|0;if((k|0)==(q|0))break;else n=((n+1|0)>>>0)%3|0}}}else{k=0;q=0;r=S;s=0;while(1){O=a[w+s>>0]|0;s=s+1|0;p=O&255;h:do if(!(O<<24>>24))o=k;else{n=0;while(1){if(c[r+(n<<2)>>2]|0){o=s;break h}n=n+1|0;if(n>>>0>=p>>>0){o=k;break}}}while(0);q=q+p|0;if(q>>>0>=576)break;else{k=o;r=r+(p<<2)|0}}if(o|0){k=gb&65534;n=0;do{b[rb+(n<<1)>>1]=k;n=n+1|0}while((n|0)!=(o|0))}}if(!(v&4096)){r=0;s=0;while(1){k=a[w+s>>0]|0;q=k&255;n=rb+(s<<1)|0;o=b[n>>1]|0;do if(o&1|0){P=a[i+10+(bb*116|0)+76+s>>0]|0;p=P&255;if((P&255)>6){b[n>>1]=o&65534;break}if(k<<24>>24){o=(c[88564+(p<<2)>>2]|0)+32768>>16;n=(c[88564+(6-p<<2)>>2]|0)+32768>>16;k=0;do{P=k+r|0;M=Bb+(P<<2)|0;O=(c[M>>2]|0)+2048>>12;c[M>>2]=N(O,o)|0;c[Bb+2304+(P<<2)>>2]=N(O,n)|0;k=k+1|0}while((k|0)!=(q|0))}}while(0);r=r+q|0;if(r>>>0>=576)break e;else s=s+1|0}}p=b[i+10+(bb*116|0)+64>>1]&1;r=0;s=0;while(1){o=a[w+s>>0]|0;q=o&255;k=rb+(s<<1)|0;n=b[k>>1]|0;i:do if(n&1|0){if(a[P+192+s>>0]|0){b[k>>1]=n&65534;break}k=a[i+10+(bb*116|0)+76+s>>0]|0;n=k&255;if(o<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+r|0;c[Bb+2304+(O<<2)>>2]=c[Bb+(O<<2)>>2];k=k+1|0;if((k|0)==(q|0))break i}}o=(c[88444+(p*60|0)+((n+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(n&1)){k=0;do{O=k+r|0;c[Bb+2304+(O<<2)>>2]=N((c[Bb+(O<<2)>>2]|0)+2048>>12,o)|0;k=k+1|0}while((k|0)!=(q|0))}else{k=0;do{O=k+r|0;L=Bb+(O<<2)|0;M=c[L>>2]|0;c[L>>2]=N(M+2048>>12,o)|0;c[Bb+2304+(O<<2)>>2]=M;k=k+1|0}while((k|0)!=(q|0))}}}while(0);r=r+q|0;if(r>>>0>=576)break;else s=s+1|0}}while(0);if(gb&2|0){c[lb>>2]=c[lb>>2]|512;o=0;p=0;while(1){P=a[w+p>>0]|0;k=P&255;if(P<<24>>24?(b[rb+(p<<1)>>1]|0)==2:0){n=0;do{P=n+o|0;L=Bb+(P<<2)|0;P=Bb+2304+(P<<2)|0;O=c[P>>2]|0;M=(c[L>>2]|0)+2048|0;c[L>>2]=(M+O>>12)*2896;c[P>>2]=(M-O>>12)*2896;n=n+1|0}while((n|0)!=(k|0))}o=o+k|0;if(o>>>0>=576)break;else p=p+1|0}}}if(!kb){A=bb*18|0;z=0;do{y=g+48+(z*4608|0)+(A<<7)|0;x=i+10+(bb*116|0)+(z*58|0)+9|0;w=Bb+(z*2304|0)|0;if((a[x>>0]|0)==2){k=c[pb+(z<<2)>>2]|0;v=(a[i+10+(bb*116|0)+(z*58|0)+8>>0]&8)==0;if(v)u=0;else{o=0;while(1){n=k+1|0;o=o+(d[k>>0]|0)|0;if(o>>>0>=36){u=2;k=n;break}else k=n}};c[qb>>2]=0;c[qb+4>>2]=0;c[qb+8>>2]=0;c[jb>>2]=u;c[T>>2]=u;c[U>>2]=u;t=u*18|0;o=d[k>>0]|0;s=t;k=k+1|0;n=0;while(1){if(!o){r=d[k>>0]|0;k=k+1|0;n=((n+1|0)>>>0)%3|0}else r=o;O=c[Bb+(z*2304|0)+(s<<2)>>2]|0;p=jb+(n<<2)|0;o=c[p>>2]|0;q=qb+(n<<2)|0;P=c[q>>2]|0;Q=P+1|0;c[q>>2]=Q;c[rb+(o*72|0)+(n*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[q>>2]=0;c[p>>2]=o+1}s=s+1|0;if((s|0)==576)break;else o=r+-1|0}gX(Bb+(z*2304|0)+(t<<2)|0,rb+(u*72|0)|0,(N(u,-72)|0)+2304|0)|0;if(!v)Df(w,36)}else Df(w,576);k=a[x>>0]|0;n=a[i+10+(bb*116|0)+(z*58|0)+8>>0]&8;if(k<<24>>24==2&n<<24>>24==0){Gf(w,nb);Ff(nb,(c[eb>>2]|0)+(z*2304|0)|0,y,0);Gf(Bb+(z*2304|0)+72|0,nb);Ff(nb,(c[eb>>2]|0)+(z*2304|0)+72|0,y,1)}else{Q=n<<24>>24==0?k&255:0;Ef(w,nb,Q);Ff(nb,(c[eb>>2]|0)+(z*2304|0)|0,y,0);Ef(Bb+(z*2304|0)+72|0,nb,Q);Ff(nb,(c[eb>>2]|0)+(z*2304|0)+72|0,y,1)}n=y+132|0;P=y+388|0;O=c[P>>2]|0;c[n>>2]=0-(c[n>>2]|0);n=y+644|0;Q=c[n>>2]|0;c[P>>2]=0-O;P=y+900|0;O=c[P>>2]|0;c[n>>2]=0-Q;n=y+1156|0;Q=c[n>>2]|0;c[P>>2]=0-O;P=y+1412|0;O=c[P>>2]|0;c[n>>2]=0-Q;n=y+1668|0;Q=c[n>>2]|0;c[P>>2]=0-O;P=y+1924|0;O=c[P>>2]|0;c[n>>2]=0-Q;n=y+2180|0;Q=c[n>>2]|0;c[P>>2]=0-O;c[n>>2]=0-Q;n=576;while(1){k=n;n=n+-1|0;if(c[Bb+(z*2304|0)+(n<<2)>>2]|0)break;if(n>>>0<=36){k=36;break}}v=32-(((576-k|0)>>>0)/18|0)|0;k=a[x>>0]|0;n=v>>>0>2;j:do if(k<<24>>24==2)if(n){k=36;n=2;while(1){Gf(Bb+(z*2304|0)+(k<<2)|0,nb);Ff(nb,(c[eb>>2]|0)+(z*2304|0)+(n*72|0)|0,y,n);if(n&1|0){Q=y+128+(n<<2)|0;O=y+384+(n<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=y+640+(n<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=y+896+(n<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1152+(n<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=y+1408+(n<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1664+(n<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=y+1920+(n<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=y+2176+(n<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;c[Q>>2]=0-P}n=n+1|0;if(n>>>0>=v>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(n){o=36;n=2;while(1){Ef(Bb+(z*2304|0)+(o<<2)|0,nb,k&255);Ff(nb,(c[eb>>2]|0)+(z*2304|0)+(n*72|0)|0,y,n);if(n&1|0){Q=y+128+(n<<2)|0;O=y+384+(n<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=y+640+(n<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=y+896+(n<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1152+(n<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=y+1408+(n<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1664+(n<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=y+1920+(n<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=y+2176+(n<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;c[Q>>2]=0-P}n=n+1|0;if(n>>>0>=v>>>0){Q=311;break j}k=a[x>>0]|0;o=o+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,v>>>0<32):0)Q=312;if((Q|0)==312){Q=0;w=c[eb>>2]|0;do{P=w+(z*2304|0)+(v*72|0)|0;c[g+48+(z*4608|0)+(A<<7)+(v<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+4|0;k=y+128+(v<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+8|0;c[y+256+(v<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+12|0;r=y+384+(v<<2)|0;c[r>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+16|0;c[y+512+(v<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+20|0;s=y+640+(v<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+24|0;c[y+768+(v<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+28|0;t=y+896+(v<<2)|0;c[t>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+32|0;c[y+1024+(v<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+36|0;u=y+1152+(v<<2)|0;c[u>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+40|0;c[y+1280+(v<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+44|0;n=y+1408+(v<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+48|0;c[y+1536+(v<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+52|0;o=y+1664+(v<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+56|0;c[y+1792+(v<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+60|0;p=y+1920+(v<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+64|0;c[y+2048+(v<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(v*72|0)+68|0;q=y+2176+(v<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;if(v&1|0){O=c[r>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[s>>2]|0;c[r>>2]=0-O;O=c[t>>2]|0;c[s>>2]=0-P;P=c[u>>2]|0;c[t>>2]=0-O;O=c[n>>2]|0;c[u>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;O=c[p>>2]|0;c[o>>2]=0-P;P=c[q>>2]|0;c[p>>2]=0-O;c[q>>2]=0-P}v=v+1|0}while(v>>>0<32)}z=z+1|0}while((z|0)!=(j|0))}bb=bb+1|0;if(bb>>>0>=hb>>>0){k=0;Q=318;break}}if((Q|0)==165)ob=567;else if((Q|0)==202)Wa(115307,115139,1253,115349);else if((Q|0)==276){Bb=569;l=Cb;return Bb|0}else if((Q|0)==318){l=Cb;return k|0}Bb=ob;l=Cb;return Bb|0}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(N(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(N(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(N(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(N(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(N(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(N(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(N(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(N(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(N(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(N(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(N(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(N(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(N(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(N(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(N(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(N(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0<d>>>0);return}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;L=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;z=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;t=((c[a+60>>2]|0)+2048>>12)*1773|0;M=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=M+g|0;e=t+O|0;a=m+Z|0;u=R+X|0;l=z+V|0;J=f+ca|0;_=P+L|0;K=ba+Q|0;$=a+l|0;l=a-l|0;a=e+J|0;e=J-e|0;J=Y+_|0;aa=S+K|0;S=K-S|0;K=a+$+aa|0;U=e+2048|0;n=N(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=N(S+U>>12,-2802)|0;Y=N(2048-_+Y>>12,-7094)|0;_=N(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=N($-aa>>12,-1423)|0;a=N($-a>>12,-6275)|0;$=J+u|0;J=(u<<1)-J|0;W=(o+2048-W>>12)*8161|0;M=(g+2048-M>>12)*7913|0;t=(O+2048-t>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;z=(V+2048-z>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(L+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+z|0;z=m-z|0;m=t+f|0;t=f-t|0;f=M+P|0;L=W+ba|0;W=ba-W|0;ba=m+Q+L|0;ca=t+2048|0;V=N(ca+z>>12,-5266)|0;z=z+2048|0;X=(z-W>>12)*8068|0;ca=N(W+ca>>12,-2802)|0;M=N(2048-P+M>>12,-7094)|0;P=N(m+2048-L>>12,-7698)|0;Q=Q+2048|0;L=N(Q-L>>12,-1423)|0;m=N(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-M-R+X|0;O=m-f+P-Z|0;W=(N(z-t+W>>12,-7094)|0)-O|0;P=P+f-L-W|0;X=M-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+M+ca-Q|0;M=(K+$|0)/2|0;R=((R|0)/2|0)-M|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-J+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(N(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+J-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((K-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+J+aa|0)/2|0)-Y|0;ca=((m+f+L-ca|0)/2|0)-aa|0;c[b>>2]=P;L=b+4|0;c[L>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;J=b+16|0;c[J>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;K=b+28|0;c[K>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;t=b+40|0;c[t>>2]=0-aa;z=b+44|0;c[z>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;u=b+56|0;c[u>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;v=b+68|0;c[v>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;H=0-W|0;q=b+76|0;c[q>>2]=H;E=0-S|0;w=b+80|0;c[w>>2]=E;B=0-O|0;j=b+84|0;c[j>>2]=B;G=0-ba|0;r=b+88|0;c[r>>2]=G;D=0-Z|0;x=b+92|0;c[x>>2]=D;A=0-V|0;k=b+96|0;c[k>>2]=A;I=0-R|0;s=b+100|0;c[s>>2]=I;F=0-M|0;y=b+104|0;c[y>>2]=F;C=b+108|0;c[C>>2]=F;F=b+112|0;c[F>>2]=I;I=b+116|0;c[I>>2]=A;A=b+120|0;c[A>>2]=D;D=b+124|0;c[D>>2]=G;G=b+128|0;c[G>>2]=B;B=b+132|0;c[B>>2]=E;E=b+136|0;c[E>>2]=H;H=b+140|0;c[H>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[L>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[J>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[K>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[z>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[u>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[v>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[w>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[r>>2]=(2048-ba>>12)*3784;c[x>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[s>>2]=((c[s>>2]|0)+2048>>12)*3250;c[y>>2]=((c[y>>2]|0)+2048>>12)*3020;c[C>>2]=((c[C>>2]|0)+2048>>12)*2767;c[F>>2]=((c[F>>2]|0)+2048>>12)*2493;c[I>>2]=((c[I>>2]|0)+2048>>12)*2201;c[A>>2]=((c[A>>2]|0)+2048>>12)*1891;c[D>>2]=((c[D>>2]|0)+2048>>12)*1567;c[G>>2]=((c[G>>2]|0)+2048>>12)*1232;c[B>>2]=((c[B>>2]|0)+2048>>12)*887;c[E>>2]=((c[E>>2]|0)+2048>>12)*535;c[H>>2]=((c[H>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[L>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[J>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[K>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[z>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[u>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[v>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[s>>2]=b*3784;d=2048-M>>12;c[y>>2]=d*3250;c[C>>2]=d*2493;c[F>>2]=b*1567;c[I>>2]=da*535;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[K>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[t>>2]=(2048-aa>>12)*3784;c[z>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[w>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[r>>2]=ba*3784;aa=2048-Z>>12;c[x>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[s>>2]=_*3250;Z=2048-M>>12;c[y>>2]=Z*3020;c[C>>2]=Z*2767;c[F>>2]=_*2493;c[I>>2]=$*2201;c[A>>2]=aa*1891;c[D>>2]=ba*1567;c[G>>2]=ca*1232;c[B>>2]=d*887;c[E>>2]=b*535;c[H>>2]=da*179;return}default:return}}function Ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;d=l;l=l+144|0;if((l|0)>=(m|0))W(144);e=d;p=(c[a>>2]|0)+2048>>12;n=(c[a+4>>2]|0)+2048>>12;j=N(n,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(p*2493|0)+(N(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=N(k,-1567)|0;o=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(N(o,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(n*1567|0)+(N(p,-3250)|0)+(h*4061|0)+(g*535|0)+(N(k,-3784)|0)+(N(o,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(p*1567|0)+(h*3784|0)+(N(g,-1567)|0)+f+(o*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;n=N(n,-1567)|0;k=k*3784|0;i=n+(N(p,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(o*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=n+(p*535|0)+(h*2493|0)+(N(g,-3250)|0)+k+(N(o,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;o=j+(N(p,-4061)|0)+(N(h,-3250)|0)+(N(g,-2493)|0)+f+(N(o,-535)|0)|0;c[e+32>>2]=o;c[e+36>>2]=o;o=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=N(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;p=g+(o*2493|0)+(N(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;n=N(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;p=p+(j*4061|0)+n+(N(i,-3250)|0)|0;c[e+48>>2]=p;c[e+68>>2]=0-p;p=(f*1567|0)+(N(o,-3250)|0)+(h*4061|0)+(j*535|0)+(N(k,-3784)|0)+(N(i,-2493)|0)|0;c[e+72>>2]=p;c[e+92>>2]=p;p=g+(o*1567|0)+(h*3784|0)+(N(j,-1567)|0)+n+(i*3784|0)|0;c[e+52>>2]=p;c[e+64>>2]=0-p;f=N(f,-1567)|0;k=k*3784|0;p=f+(N(o,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=p;c[e+88>>2]=p;k=f+(o*535|0)+(h*2493|0)+(N(j,-3250)|0)+k+(N(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(N(o,-4061)|0)+(N(h,-3250)|0)+(N(j,-2493)|0)+n+(N(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;n=(c[a+52>>2]|0)+2048>>12;j=N(n,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;o=j+(i*2493|0)+(N(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=N(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;o=o+(g*4061|0)+f+(N(a,-3250)|0)|0;c[e+96>>2]=o;c[e+116>>2]=0-o;o=(n*1567|0)+(N(i,-3250)|0)+(h*4061|0)+(g*535|0)+(N(k,-3784)|0)+(N(a,-2493)|0)|0;c[e+120>>2]=o;c[e+140>>2]=o;o=j+(i*1567|0)+(h*3784|0)+(N(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=o;c[e+112>>2]=0-o;n=N(n,-1567)|0;k=k*3784|0;o=n+(N(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=o;c[e+136>>2]=o;k=n+(i*535|0)+(h*2493|0)+(N(g,-3250)|0)+k+(N(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(N(i,-4061)|0)+(N(h,-3250)|0)+(N(g,-2493)|0)+f+(N(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;l=d;return}function Hf(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=pf(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0<f>>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0<f>>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}nf(h,e);h=0;return h|0}function If(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;qf(i,11);if(!(rf(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(rf(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;l=j;return k|0}}else c[g>>2]=e|4096;k=rf(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;l=j;return k|0}if(!(rf(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=sf(f,16,-1)|0}e=rf(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;l=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[88592+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=rf(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;l=j;return k|0}e=c[88892+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(rf(i,1)|0)c[g>>2]=c[g>>2]|128;if(rf(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(rf(i,2)|0);c[a+8>>2]=rf(i,2)|0;if(rf(i,1)|0)c[g>>2]=c[g>>2]|32;if(rf(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=rf(i,2)|0;if(!(c[g>>2]&16)){k=0;l=j;return k|0}b[a+26>>1]=rf(i,16)|0;k=0;l=j;return k|0}function Jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(N(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)Wa(116030,116041,144,116049);do if(b>>>0>=d>>>0)if(b>>>0<g>>>0){h=(g>>>0)/(b>>>0)|0;d=(((N(g-(N(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(N(h,d)|0)|0;break}else{d=((N(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((N(d-(N(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(N(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(N(h,3528e5)|0);return}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;if((l|0)>=(m|0))W(112);j=v+48|0;i=v;t=a+28|0;s=t;r=c[s>>2]|0;s=c[s+4>>2]|0;o=c[b+28>>2]|0;d=o>>>7&1;o=(c[b>>2]|0)==3?((o&4096|0)==0?144:72):144;if(!(Hf(a)|0)){k=i+20|0;n=b+20|0;q=a+20|0;p=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((If(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[n>>2]|0):0){d=pf(t)|0;g=(c[b>>2]|0)==1;g=((N(c[n>>2]|0,(g?p:h)+(d-(c[q>>2]|0))|0)|0)>>>0)/((g?48:o)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){u=8;break}}qf(t,8)}while((Hf(a)|0)==0);u=t;c[u>>2]=r;c[u+4>>2]=s;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;u=0;l=v;return u|0}}else{u=t;c[u>>2]=r;c[u+4>>2]=s}c[a+60>>2]=257;u=-1;l=v;return u|0}function Lf(a){a=a|0;var b=0;iX(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);iX(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function Mf(a){a=a|0;var b=0;iX(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;iX(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function Nf(a){a=a|0;a=c[a>>2]|0;c[a+44>>2]=7;c[a+48>>2]=1;return 0}function Of(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0;w=l;l=l+16|0;if((l|0)>=(m|0))W(16);s=w+8|0;t=w;q=w+4|0;c[s>>2]=g;c[t>>2]=h;u=c[a>>2]|0;r=u+84|0;j=u+88|0;k=u+48|0;n=u+96|0;o=u+44|0;p=u+4|0;i=0;g=c[r>>2]|0;a:while(1){if((g|0)>(h|0)){g=-100;break}if(g){if(!(c[n>>2]|0)){v=5;break}}else g=0;while(1){if((g|0)>=(h|0)){g=-100;break a}x=j;x=cX(c[x>>2]|0,c[x+4>>2]|0,8)|0;h=y;x=x|(d[(c[s>>2]|0)+g>>0]|0);z=j;c[z>>2]=x;c[z+4>>2]=h;h=Od[c[k>>2]&63](x,h,u,n,q)|0;if(h|0)break;g=g+1|0;h=c[t>>2]|0}if((h|0)<1){g=-100;break}z=j;c[z>>2]=0;c[z+4>>2]=0;g=g+1-(c[o>>2]|0)|0;c[r>>2]=h;if(c[q>>2]|0?((c[p>>2]|0)+g|0)>=1:0){i=1;break}g=h+g|0;c[r>>2]=g;i=1;h=c[t>>2]|0}if((v|0)==5)c[r>>2]=0;if((Sf(u,g,s,t)|0)>=0){c[e>>2]=c[s>>2];c[f>>2]=c[t>>2];h=c[u+100>>2]|0;if(h|0)c[b+16>>2]=h;if(i){if((c[b+16>>2]|0)!=86018){c[b+344>>2]=c[u+56>>2];c[b+348>>2]=c[u+52>>2];v=u+72|0;x=c[v+4>>2]|0;z=b+376|0;c[z>>2]=c[v>>2];c[z+4>>2]=x;c[a+304>>2]=c[u+64>>2];c[b+392>>2]=c[u+80>>2]}x=c[u+60>>2]|0;z=b+40|0;c[z>>2]=x;c[z+4>>2]=((x|0)<0)<<31>>31}}else{z=c[r>>2]|0;g=c[t>>2]|0;c[r>>2]=z-((z|0)>(g|0)?g:z);c[e>>2]=0;c[f>>2]=0}l=w;return g|0}function Pf(a){a=a|0;Qf(c[a>>2]|0);return}function Qf(b){b=b|0;var c=0;c=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;Rf(c);return}function Rf(a){a=a|0;aT(a);return}function Sf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;if((l|0)>=(m|0))W(32);n=r+24|0;i=r+8|0;j=r;p=b+24|0;k=b+28|0;q=b+4|0;h=c[p>>2]|0;while(1){if((h|0)<=0)break;o=c[b>>2]|0;s=c[k>>2]|0;c[k>>2]=s+1;s=a[o+s>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[o+h>>0]=s;h=(c[p>>2]|0)+-1|0;c[p>>2]=h}e=(e|0)==-100&(c[g>>2]|0)==0?0:e;h=c[q>>2]|0;o=b+8|0;c[o>>2]=h;a:do if((e|0)==-100){e=Tf(c[b>>2]|0,b+12|0,(c[g>>2]|0)+64+h|0)|0;if(!e){c[j>>2]=(c[g>>2]|0)+64+(c[q>>2]|0);Uf(0,16,116576,j);e=-12;h=0}else{c[b>>2]=e;gX(e+(c[q>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;e=-1;h=(c[q>>2]|0)+(c[g>>2]|0)|0}c[q>>2]=h}else{if((e|0)<=-1?(c[b>>2]|0)==0:0){c[i>>2]=116618;c[i+4>>2]=116642;c[i+8>>2]=356;Uf(0,0,159675,i);Ub()}h=h+e|0;c[k>>2]=h;c[g>>2]=h;h=c[q>>2]|0;if(h|0){i=e+64|0;h=Tf(c[b>>2]|0,b+12|0,i+h|0)|0;if(!h){c[n>>2]=i+(c[q>>2]|0);Uf(0,16,116576,n);c[q>>2]=0;c[k>>2]=0;e=-12;break}c[b>>2]=h;if((e|0)>-64){gX(h+(c[q>>2]|0)|0,c[f>>2]|0,i|0)|0;h=c[b>>2]|0}c[q>>2]=0;c[f>>2]=h}h=b+16|0;i=b+32|0;while(1){if((e|0)>=0){e=0;break a}q=(c[b>>2]|0)+((c[o>>2]|0)+e)|0;c[h>>2]=c[h>>2]<<8|(d[q>>0]|0);f=i;f=cX(c[f>>2]|0,c[f+4>>2]|0,8)|0;s=i;c[s>>2]=f|(d[q>>0]|0);c[s+4>>2]=y;c[p>>2]=(c[p>>2]|0)+1;e=e+1|0}}while(0);l=r;return e|0}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[b>>2]|0)>>>0<d>>>0){f=2147483647+-32|0;e=d+32+(d>>>4)|0;e=e>>>0>d>>>0?e:d;e=f>>>0>e>>>0?e:f;if(f>>>0<d>>>0){e=0;a=0}else{a=$f(a,e)|0;e=(a|0)==0?0:e}c[b>>2]=e}return a|0}function Uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=i;if(a){h=c[a>>2]|0;c[f>>2]=e;if(((h|0)!=0?(c[h+12>>2]|0)>3280641:0)?(g=c[h+16>>2]|0,(b|0)>7&(g|0)!=0):0)b=(c[a+g>>2]|0)+b|0}else c[f>>2]=e;Vf(a,b,d,f);l=i;return}function Vf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(7)Wf(a,b,c,d);return}function Wf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+5168|0;if((l|0)>=(m|0))W(5168);p=r+24|0;o=r+16|0;h=r;q=r+40|0;k=r+4136|0;n=r+32|0;i=(d|0)>-1;j=i?d&255:d;i=i?d>>>8&255:0;if((j|0)<=32){kX(182872)|0;Xf(b,j,e,f,q,88952,n);e=q+1024|0;s=c[e>>2]|0;f=q+2048|0;b=c[f>>2]|0;g=q+3072|0;d=c[g>>2]|0;c[h>>2]=c[q>>2];c[h+4>>2]=s;c[h+8>>2]=b;c[h+12>>2]=d;KU(k,1024,116662,h)|0;d=c[45725]|0;if(!d){b=(rV(2)|0)!=0;b=b?1:-1;c[45725]=b}else b=d;if((!((c[22238]|0)==0|0==0)?(s=(HT(k,257932)|0)!=0,!(s|(a[k>>0]|0)==0)):0)?(a[k+((BU(k)|0)+-1)>>0]|0)!=13:0){d=(c[45726]|0)+1|0;c[45726]=d;if((b|0)==1){s=c[27018]|0;c[o>>2]=d;gV(s,116671,o)|0}}else{d=c[45726]|0;if((d|0)>0){s=c[27018]|0;c[p>>2]=d;gV(s,116707,p)|0;c[45726]=0}LU(257932,k)|0;Yf(c[q>>2]|0);Zf(c[n>>2]|0,0,c[q>>2]|0);Yf(c[e>>2]|0);Zf(c[n+4>>2]|0,0,c[e>>2]|0);Yf(c[f>>2]|0);s=j>>3;s=(s|0)>0?((s|0)<7?s:7):0;Zf(s,i,c[f>>2]|0);Yf(c[g>>2]|0);Zf(s,i,c[g>>2]|0)}_f(q+3072|0,0)|0;lX(182872)|0}l=r;return}function Xf(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+32|0;if((l|0)>=(m|0))W(32);t=y+24|0;v=y+16|0;u=y+8|0;s=y;if(!b)n=0;else n=c[b>>2]|0;cg(g,0,1);r=g+1024|0;cg(r,0,1);j=g+2048|0;cg(j,0,1);x=g+3072|0;cg(x,0,65536);k=(i|0)!=0;if(k){c[i+4>>2]=16;c[i>>2]=16}if((n|0)!=0&(c[h>>2]|0)!=0){o=c[n+20>>2]|0;do if(((o|0)!=0?(p=c[b+o>>2]|0,(p|0)!=0):0)?(q=c[p>>2]|0,(q|0)!=0):0){c[s>>2]=Kd[c[q+4>>2]&31](p)|0;c[s+4>>2]=p;dg(g,116898,s);if(k){c[i>>2]=eg(p)|0;w=11;break}else{c[v>>2]=Kd[c[n+4>>2]&31](b)|0;c[v+4>>2]=b;dg(r,116898,v);break}}else w=11;while(0);if((w|0)==11?(c[u>>2]=Kd[c[n+4>>2]&31](b)|0,c[u+4>>2]=b,dg(r,116898,u),k):0)c[i+4>>2]=eg(b)|0;if(0){c[t>>2]=fg(d)|0;dg(j,116909,t)}}gg(x,e,f);if(!((((a[c[g>>2]>>0]|0)==0?(a[c[r>>2]>>0]|0)==0:0)?(a[c[j>>2]>>0]|0)==0:0)?!(a[c[x>>2]>>0]|0):0)){b=c[g+3076>>2]|0;if((b|0)!=0?b>>>0<=(c[g+3080>>2]|0)>>>0:0)b=a[(c[x>>2]|0)+(b+-1)>>0]|0;else b=0;c[h>>2]=(b<<24>>24==10|b<<24>>24==13)&1}l=y;return}function Yf(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24))break;if((c&255)<8|(c+-14&255)<18)a[b>>0]=63;b=b+1|0}return}function Zf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;if((l|0)>=(m|0))W(48);j=k+32|0;i=k+16|0;h=k;do if(a[e>>0]|0){f=c[22239]|0;if((f|0)<0){bg();f=c[22239]|0}g=(b|0)==4?0:f;if((g|0)==1){j=c[27018]|0;b=c[88960+(b<<2)>>2]|0;c[h>>2]=b>>>4&15;c[h+4>>2]=b&15;c[h+8>>2]=e;gV(j,116743,h)|0;break}if((d|0)!=0&(f|0)==256){j=c[27018]|0;c[i>>2]=(c[88960+(b<<2)>>2]|0)>>>16&255;c[i+4>>2]=d;c[i+8>>2]=e;gV(j,116759,i)|0;break}f=c[27018]|0;if((g|0)==256){b=c[88960+(b<<2)>>2]|0;c[j>>2]=b>>>16&255;c[j+4>>2]=b>>>8&255;c[j+8>>2]=e;gV(f,116786,j)|0;break}else{SU(e,f)|0;break}}while(0);l=k;return}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=(c[a+4>>2]|0)+1|0;g=a+8|0;e=c[g>>2]|0;f=f>>>0>e>>>0?e:f;e=c[a>>2]|0;d=(e|0)!=(a+16|0);if(!b)if(d){Qf(a);d=0}else d=0;else{if(!d){e=ag(f)|0;if(!e){d=-12;e=0}else{gX(e|0,c[a>>2]|0,f|0)|0;d=0}}else{e=$f(e,f)|0;if(!e)e=c[a>>2]|0;c[a>>2]=0;d=0}c[b>>2]=e}c[g>>2]=f;return d|0}function $f(a,b){a=a|0;b=b|0;if((2147483647+-32|0)>>>0<b>>>0)a=0;else a=cT(a,((b|0)==0&1)+b|0)|0;return a|0}function ag(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);b=d;c[b>>2]=0;do if((2147483647+-32|0)>>>0>=a>>>0){if(!a){a=ag(1)|0;c[b>>2]=a;break}if(!(hT(b,16,a)|0)){a=c[b>>2]|0;break}else{c[b>>2]=0;a=0;break}}else a=0;while(0);l=d;return a|0}function bg(){var a=0,b=0,d=0;a=gc(116813)|0;do if((gc(116818)|0)==0?(gc(116827)|0)==0:0){if(a|0?rV(2)|0:0){b=1;break}b=(gc(116848)|0)!=0&1}else b=0;while(0);c[22239]=b;if(!(gc(116867)|0)){if(a|0?hV(a,116889)|0:0)d=9}else d=9;if((d|0)==9)c[22239]=b<<8;return}function cg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+16|0;g=(e|0)==1?1008:e;c[b>>2]=f;c[b+4>>2]=0;e=g>>>0<1008?g:1008;c[b+8>>2]=e;c[b+12>>2]=g;a[f>>0]=0;if(e>>>0<d>>>0)hg(b,d+-1|0)|0;return}function dg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=k;g=a+8|0;h=a+4|0;while(1){i=c[g>>2]|0;e=c[h>>2]|0;i=i-(e>>>0>i>>>0?i:e)|0;if(!i)e=0;else e=(c[a>>2]|0)+e|0;c[f>>2]=d;e=LT(e,i,b,f)|0;if((e|0)<1)break;if(e>>>0<i>>>0){j=7;break}if(hg(a,e)|0){j=7;break}}if((j|0)==7)ig(a,e);l=k;return}function eg(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;do if(((b|0)!=0?(e=c[b+12>>2]|0,!((e|0)<3357440|(e&252)>>>0<100)):0)?(d=c[b+32>>2]|0,d>>>0<=45):0){b=c[b+36>>2]|0;if(!b){b=d+16|0;break}else{b=(Kd[b&31](a)|0)+16|0;break}}else b=16;while(0);return b|0}function fg(a){a=a|0;a=a+8|0;switch(a>>>3|a<<29|0){case 0:{a=116954;break}case 7:{a=164696;break}case 6:{a=116946;break}case 5:{a=116941;break}case 4:{a=116933;break}case 3:{a=116927;break}case 2:{a=116921;break}case 1:{a=116915;break}default:a=262540}return a|0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=k;h=a+8|0;i=a+4|0;while(1){f=c[h>>2]|0;e=c[i>>2]|0;f=f-(e>>>0>f>>>0?f:e)|0;if(!f)e=0;else e=(c[a>>2]|0)+e|0;c[g>>2]=c[d>>2];e=LT(e,f,b,g)|0;if((e|0)<1)break;if(e>>>0<f>>>0){j=7;break}if(hg(a,e)|0){j=7;break}}if((j|0)==7)ig(a,e);l=k;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+8|0;d=c[f>>2]|0;e=c[a+12>>2]|0;if((d|0)!=(e|0))if(jg(a)|0){g=a+4|0;i=c[g>>2]|0;h=-2-i|0;h=i+1+(h>>>0>b>>>0?b:h)|0;b=d>>>0>e>>>1>>>0?e:d<<1;b=b>>>0<h>>>0?(e>>>0>h>>>0?h:e):b;d=c[a>>2]|0;d=(d|0)==(a+16|0)?0:d;e=$f(d,b)|0;if(!e)b=-12;else{if(!d)gX(e|0,c[a>>2]|0,(c[g>>2]|0)+1|0)|0;c[a>>2]=e;c[f>>2]=b;b=0}}else b=-1094995529;else b=-5;return b|0}function ig(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;e=c[f>>2]|0;g=-6-e|0;e=(g>>>0<d>>>0?g:d)+e|0;c[f>>2]=e;f=c[b+8>>2]|0;d=f+-1|0;if(f|0)a[(c[b>>2]|0)+(e>>>0>d>>>0?d:e)>>0]=0;return}function jg(a){a=a|0;return (c[a+4>>2]|0)>>>0<(c[a+8>>2]|0)>>>0|0}function kg(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;i=l;l=l+112|0;if((l|0)>=(m|0))W(112);j=i+92|0;h=i+72|0;k=i;b=lg(a,b)|0;a=k;c[a>>2]=b;c[a+4>>2]=y;mg(j,k+1|0);a=ng(j,h)|0;if((a|0)<0)a=0;else{c[f>>2]=0;c[g>>2]=1;c[e+56>>2]=c[h>>2];c[e+52>>2]=d[116960+(d[h+15>>0]|0)>>0];c[e+64>>2]=c[h+4>>2];c[e+60>>2]=c[h+8>>2]}l=i;return a|0}function lg(a,b){a=a|0;b=b|0;a=eX(a|0)|0;b=eX(b|0)|0;y=a;return b|0}function mg(a,b){a=a|0;b=b|0;var d=0;d=(b|0)==0?0:56;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d>>>3);c[a+8>>2]=0;return}
function gk(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=c[f+21796>>2]|0;o=d+27016|0;m=c[o>>2]|0;h=u-(m<<c[f+21828>>2])|0;j=u+-1|0;n=d+26376|0;do if(!(c[n>>2]|0)){t=j;s=j}else{i=c[d+24364>>2]|0;k=c[i+(j<<2)>>2]&128;l=g&128;if(c[f+21792>>2]&1|0){t=j-((k|0)==(l|0)?0:m)|0;s=j;break}if(l)h=(((c[i+(h<<2)>>2]|0)>>>7&1)+-1&m)+h|0;t=j;s=j+((k|0)==(l|0)?0:m)|0}while(0);c[f+21712>>2]=h;c[f+21720>>2]=t;c[f+21724>>2]=s;i=c[f+860>>2]|0;j=c[d+24340>>2]|0;k=a[j+u>>0]|0;do if((i|0)>=(k|0)){l=(t|0)<0;if(!l?(k+1+(a[j+t>>0]|0)>>1|0)>(i|0):0){p=17;break}if((h|0)>=0?(k+1+(a[j+h>>0]|0)>>1|0)>(i|0):0){p=17;break}if(c[n>>2]|0){if(!l?(k+1+(a[j+s>>0]|0)>>1|0)>(i|0):0){p=17;break}r=c[o>>2]|0;if((h|0)>=(r|0)?(k+1+(a[j+(h-r)>>0]|0)>>1|0)>(i|0):0)p=17;else h=1}else h=1}else p=17;while(0);if((p|0)==17){l=c[d+24364>>2]|0;i=c[l+(h<<2)>>2]|0;k=c[l+(t<<2)>>2]|0;l=c[l+(s<<2)>>2]|0;o=d+26372|0;j=c[o>>2]|0;n=b[j+(h<<1)>>1]|0;if((c[f+868>>2]|0)==2){r=c[f+832>>2]|0;p=(r|0)==(e[j+(s<<1)>>1]|0);r=(r|0)==(n&65535|0)?i:0;q=p?k:0;p=p?l:0}else{p=(b[j+(s<<1)>>1]|0)==-1;r=n<<16>>16==-1?0:i;q=p?0:k;p=p?0:l}c[f+21732>>2]=r;c[f+21740>>2]=q;c[f+21744>>2]=p;if(!(g&7)){i=d+26368|0;j=c[i>>2]|0;k=f+28e3|0;l=f+28284|0;m=(g&376|0)==0;do if(!m){if(!(r&12288)){n=f+27968|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[f+28276>>2]=-1}else{y=(c[(c[d+26360>>2]|0)+(h<<2)>>2]|0)+(j*3|0)|0;v=h<<2;w=d+29940+((n&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24352|0;A=(c[x>>2]|0)+(y<<2)|0;z=c[A+4>>2]|0;n=f+27968|0;c[n>>2]=c[A>>2];c[n+4>>2]=z;y=(c[x>>2]|0)+(y<<2)+8|0;x=c[y+4>>2]|0;n=f+27976|0;c[n>>2]=c[y>>2];c[n+4>>2]=x;n=d+24384|0;x=c[w+(a[(c[n>>2]|0)+(v|2)>>0]<<2)>>2]&255;a[f+28277>>0]=x;a[f+28276>>0]=x;n=c[w+(a[(c[n>>2]|0)+(v|3)>>0]<<2)>>2]&255;a[f+28279>>0]=n;a[f+28278>>0]=n}if(!((q^g)&128))if(!(q&12288)){c[f+27996>>2]=0;c[f+28028>>2]=0;c[f+28060>>2]=0;c[f+28092>>2]=0;a[f+28307>>0]=-1;a[f+28299>>0]=-1;a[f+28291>>0]=-1;a[f+28283>>0]=-1;break}else{z=(c[(c[d+26360>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29940+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24352|0;c[f+27996>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28028>>2]=c[(c[x>>2]|0)+(z+j<<2)>>2];c[f+28060>>2]=c[(c[x>>2]|0)+(z+(j<<1)<<2)>>2];c[f+28092>>2]=c[(c[x>>2]|0)+(z+(j*3|0)<<2)>>2];z=d+24384|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28291>>0]=x;a[f+28283>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28307>>0]=A;a[f+28299>>0]=A;break}}while(0);if(!(g&12288)){y=f+28032|0;z=f+28064|0;A=f+28096|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[l>>2]=-1;c[f+28292>>2]=-1;c[f+28300>>2]=-1;c[f+28308>>2]=-1}else{y=(c[d+24384>>2]|0)+(u<<2)|0;A=d+29940+((c[f+832>>2]&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[l>>2]=x;c[f+28292>>2]=x;c[f+28300>>2]=y;c[f+28308>>2]=y;y=(c[d+24352>>2]|0)+((N(c[f+21792>>2]|0,j)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=k;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28008|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(j<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28032|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28040|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(j<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28064|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28072|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(j*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28096|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28104|0;c[A>>2]=c[y>>2];c[A+4>>2]=z}do if((c[f+23412>>2]|0)==2){i=c[i>>2]|0;j=f+28160|0;k=f+28324|0;do if(!m){if(!(r&49152)){A=f+28128|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[f+28316>>2]=-1}else{w=(c[(c[d+26360>>2]|0)+(h<<2)>>2]|0)+(i*3|0)|0;A=h<<2;y=d+29940+((b[(c[o>>2]|0)+(h<<1)>>1]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24356|0;n=(c[x>>2]|0)+(w<<2)|0;v=c[n+4>>2]|0;z=f+28128|0;c[z>>2]=c[n>>2];c[z+4>>2]=v;w=(c[x>>2]|0)+(w<<2)+8|0;x=c[w+4>>2]|0;z=f+28136|0;c[z>>2]=c[w>>2];c[z+4>>2]=x;z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|2)>>0]<<2)>>2]&255;a[f+28317>>0]=x;a[f+28316>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28319>>0]=A;a[f+28318>>0]=A}if(!((q^g)&128))if(!(q&49152)){c[f+28156>>2]=0;c[f+28188>>2]=0;c[f+28220>>2]=0;c[f+28252>>2]=0;a[f+28347>>0]=-1;a[f+28339>>0]=-1;a[f+28331>>0]=-1;a[f+28323>>0]=-1;break}else{z=(c[(c[d+26360>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29940+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24356|0;c[f+28156>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28188>>2]=c[(c[x>>2]|0)+(z+i<<2)>>2];c[f+28220>>2]=c[(c[x>>2]|0)+(z+(i<<1)<<2)>>2];c[f+28252>>2]=c[(c[x>>2]|0)+(z+(i*3|0)<<2)>>2];z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28331>>0]=x;a[f+28323>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28347>>0]=A;a[f+28339>>0]=A;break}}while(0);if(!(g&49152)){y=f+28192|0;z=f+28224|0;A=f+28256|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[k>>2]=-1;c[f+28332>>2]=-1;c[f+28340>>2]=-1;c[f+28348>>2]=-1;break}else{y=(c[d+24388>>2]|0)+(u<<2)|0;A=d+29940+((c[f+832>>2]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[k>>2]=x;c[f+28332>>2]=x;c[f+28340>>2]=y;c[f+28348>>2]=y;y=(c[d+24356>>2]|0)+((N(c[f+21792>>2]|0,i)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=j;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28168|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(i<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28192|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28200|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(i<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28224|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28232|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(i*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28256|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28264|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;break}}while(0);j=d+25972|0;o=c[j>>2]|0;k=f+27836|0;c[k>>2]=c[o+(u*48|0)>>2];l=f+27844|0;c[l>>2]=c[o+(u*48|0)+4>>2];m=f+27852|0;c[m>>2]=c[o+(u*48|0)+8>>2];n=f+27860|0;c[n>>2]=c[o+(u*48|0)+12>>2];o=d+26392|0;i=e[(c[o>>2]|0)+(u<<1)>>1]|0;c[f+21856>>2]=i;if(r|0)c[f+27828>>2]=c[(c[j>>2]|0)+(h*48|0)+12>>2];if(q|0){A=c[j>>2]|0;a[f+27835>>0]=a[A+(t*48|0)+3>>0]|0;a[f+27843>>0]=a[A+(t*48|0)+7>>0]|0;a[f+27851>>0]=a[A+(t*48|0)+11>>0]|0;a[f+27859>>0]=a[A+(t*48|0)+15>>0]|0}A=c[d+28212>>2]|0;if((c[A+4>>2]|0)==0?(c[A+64>>2]|0)!=0:0){if(r&16777216|0){A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&4;a[f+27829>>0]=A;a[f+27828>>0]=A;A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&8;a[f+27831>>0]=A;a[f+27830>>0]=A}if(q&16777216|0){A=(e[(c[o>>2]|0)+(t<<1)>>1]|0)>>>12&2;a[f+27843>>0]=A;a[f+27835>>0]=A}if(p&16777216|0){A=(e[(c[o>>2]|0)+(s<<1)>>1]|0)>>>12&8;a[f+27859>>0]=A;a[f+27851>>0]=A}if(g&16777216){h=i>>>12;A=h&1;a[f+27845>>0]=A;a[l>>0]=A;a[f+27837>>0]=A;a[k>>0]=A;A=h&2;a[f+27847>>0]=A;a[f+27846>>0]=A;a[f+27839>>0]=A;a[f+27838>>0]=A;A=h&4;a[f+27861>>0]=A;a[n>>0]=A;a[f+27853>>0]=A;a[m>>0]=A;h=h&8;a[f+27863>>0]=h;a[f+27862>>0]=h;a[f+27855>>0]=h;a[f+27854>>0]=h;h=0}else h=0}else h=0}else h=0}return h|0}function hk(f,g,h,i,j,k,n,o,p){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;Sa=l;l=l+32|0;if((l|0)>=(m|0))W(32);Qa=Sa+16|0;Ma=Sa;Na=f+27016|0;Da=(N(c[Na>>2]|0,i)|0)+h|0;Ea=f+24364|0;Fa=c[(c[Ea>>2]|0)+(Da<<2)>>2]|0;Ga=(Fa>>>6&2^2)+2|0;Ha=f+28216|0;Ka=c[Ha>>2]|0;Ia=(c[Ka+12>>2]|0)!=0;Ka=(N(c[Ka+1184>>2]|0,-6)|0)+48|0;Ja=(c[g+872>>2]|0)+52+Ka|0;Ka=(c[g+876>>2]|0)+52+Ka|0;La=f+26376|0;Ca=g+21740|0;if((c[La>>2]|0)!=0?(Ba=c[Ca>>2]|0,!((Ba|0)==0|((Ba^Fa)&128|0)==0)):0){a:do if(!(Fa&7)){x=c[g+21828>>2]|0;t=i&1;h=f+28212|0;u=f+25972|0;v=f+26392|0;w=(x|0)!=0;s=0;while(1){if((s|0)==8){q=x;break a}r=w?s>>2:s&1;q=c[g+21720+(r<<2)>>2]|0;r=c[g+21740+(r<<2)>>2]|0;if(!(r&7)){if((r&16777216|0)==0?1:(c[(c[h>>2]|0)+4>>2]|0)!=0)q=d[(d[134457+(x<<4)+(t<<3)+s>>0]|0)+((c[u>>2]|0)+(q*48|0))>>0]|0;else q=((w?s&2:t)|0?32768:8192)&e[(c[v>>2]|0)+(q<<1)>>1];q=q|d[(s>>>1<<3)+12+(g+27824)>>0]|0?2:1}else q=4;b[Ma+(s<<1)>>1]=q;s=s+1|0}}else{h=Ma;c[h>>2]=262148;c[h+4>>2]=262148;h=Ma+8|0;c[h>>2]=262148;c[h+4>>2]=262148;h=f+28212|0;q=c[g+21828>>2]|0}while(0);A=c[f+24340>>2]|0;Aa=a[A+Da>>0]|0;z=a[A+(c[g+21720>>2]|0)>>0]|0;A=a[A+(c[g+21724>>2]|0)>>0]|0;v=Aa+1|0;Ba=c[h>>2]|0;y=(d[Ba+548+Aa>>0]|0)+1|0;Aa=(d[Ba+636+Aa>>0]|0)+1|0;h=v+z>>1;w=(y+(d[Ba+548+z>>0]|0)|0)>>>1;z=(Aa+(d[Ba+636+z>>0]|0)|0)>>>1;v=v+A>>1;y=(y+(d[Ba+548+A>>0]|0)|0)>>>1;A=(Aa+(d[Ba+636+A>>0]|0)|0)>>>1;do if(!q){u=o<<1;r=h+Ja|0;s=d[133677+r>>0]|0;Ba=h+Ka|0;h=d[133521+Ba>>0]|0;do if(!(r>>>0<68|Ba>>>0<68)){q=b[Ma>>1]|0;if(q<<16>>16>3){Ud[c[f+68>>2]&255](j,u,s,h);break}else{a[Qa>>0]=a[(q<<16>>16)+(133833+(r<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+4>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+8>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+12>>1]|0)+(133833+(r<<2))>>0]|0;Vd[c[f+56>>2]&127](j,u,s,h,Qa);break}}while(0);r=j+o|0;x=Ma+2|0;s=v+Ja|0;t=d[133677+s>>0]|0;Ba=v+Ka|0;h=d[133521+Ba>>0]|0;do if(!(s>>>0<68|Ba>>>0<68)){q=b[x>>1]|0;if(q<<16>>16>3){Ud[c[f+68>>2]&255](r,u,t,h);break}else{a[Qa>>0]=a[(q<<16>>16)+(133833+(s<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+6>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0;Vd[c[f+56>>2]&127](r,u,t,h,Qa);break}}while(0);if(Ia){u=p<<1;r=w+Ja|0;s=d[133677+r>>0]|0;h=w+Ka|0;q=d[133521+h>>0]|0;h=r>>>0<68|h>>>0<68;if((c[(c[Ha>>2]|0)+12>>2]|0)==3){do if(!h){h=b[Ma>>1]|0;if(h<<16>>16>3){Ud[c[f+68>>2]&255](k,u,s,q);break}else{a[Qa>>0]=a[(h<<16>>16)+(133833+(r<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+4>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+8>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+12>>1]|0)+(133833+(r<<2))>>0]|0;Vd[c[f+56>>2]&127](k,u,s,q,Qa);break}}while(0);r=k+p|0;s=y+Ja|0;t=d[133677+s>>0]|0;Ba=y+Ka|0;h=d[133521+Ba>>0]|0;do if(!(s>>>0<68|Ba>>>0<68)){q=b[x>>1]|0;if(q<<16>>16>3){Ud[c[f+68>>2]&255](r,u,t,h);break}else{a[Qa>>0]=a[(q<<16>>16)+(133833+(s<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+6>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0;Vd[c[f+56>>2]&127](r,u,t,h,Qa);break}}while(0);r=z+Ja|0;s=d[133677+r>>0]|0;Ba=z+Ka|0;h=d[133521+Ba>>0]|0;do if(!(r>>>0<68|Ba>>>0<68)){q=b[Ma>>1]|0;if(q<<16>>16>3){Ud[c[f+68>>2]&255](n,u,s,h);break}else{a[Qa>>0]=a[(q<<16>>16)+(133833+(r<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+4>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+8>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+12>>1]|0)+(133833+(r<<2))>>0]|0;Vd[c[f+56>>2]&127](n,u,s,h,Qa);break}}while(0);r=n+p|0;s=A+Ja|0;t=d[133677+s>>0]|0;Ba=A+Ka|0;q=d[133521+Ba>>0]|0;if(s>>>0<68|Ba>>>0<68)break;h=b[x>>1]|0;if(h<<16>>16>3){Ud[c[f+68>>2]&255](r,u,t,q);break}else{a[Qa>>0]=a[(h<<16>>16)+(133833+(s<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+6>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0;Vd[c[f+56>>2]&127](r,u,t,q,Qa);break}}else{do if(!h){h=b[Ma>>1]|0;if(h<<16>>16>3){Ud[c[f+92>>2]&255](k,u,s,q);break}else{a[Qa>>0]=(d[(h<<16>>16)+(133833+(r<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+4>>1]|0)+(133833+(r<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+8>>1]|0)+(133833+(r<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+12>>1]|0)+(133833+(r<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](k,u,s,q,Qa);break}}while(0);r=k+p|0;s=y+Ja|0;t=d[133677+s>>0]|0;Ba=y+Ka|0;h=d[133521+Ba>>0]|0;do if(!(s>>>0<68|Ba>>>0<68)){q=b[x>>1]|0;if(q<<16>>16>3){Ud[c[f+92>>2]&255](r,u,t,h);break}else{a[Qa>>0]=(d[(q<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+6>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](r,u,t,h,Qa);break}}while(0);r=z+Ja|0;s=d[133677+r>>0]|0;Ba=z+Ka|0;h=d[133521+Ba>>0]|0;do if(!(r>>>0<68|Ba>>>0<68)){q=b[Ma>>1]|0;if(q<<16>>16>3){Ud[c[f+92>>2]&255](n,u,s,h);break}else{a[Qa>>0]=(d[(q<<16>>16)+(133833+(r<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+4>>1]|0)+(133833+(r<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+8>>1]|0)+(133833+(r<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+12>>1]|0)+(133833+(r<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](n,u,s,h,Qa);break}}while(0);r=n+p|0;s=A+Ja|0;t=d[133677+s>>0]|0;Ba=A+Ka|0;q=d[133521+Ba>>0]|0;if(s>>>0<68|Ba>>>0<68)break;h=b[x>>1]|0;if(h<<16>>16>3){Ud[c[f+92>>2]&255](r,u,t,q);break}else{a[Qa>>0]=(d[(h<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+6>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](r,u,t,q,Qa);break}}}}else{r=h+Ja|0;s=d[133677+r>>0]|0;Ba=h+Ka|0;h=d[133521+Ba>>0]|0;do if(!(r>>>0<68|Ba>>>0<68)){q=b[Ma>>1]|0;if(q<<16>>16>3){Ud[c[f+68>>2]&255](j,o,s,h);break}else{a[Qa>>0]=a[(q<<16>>16)+(133833+(r<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+2>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+4>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+6>>1]|0)+(133833+(r<<2))>>0]|0;Vd[c[f+56>>2]&127](j,o,s,h,Qa);break}}while(0);r=j+(o<<3)|0;x=Ma+8|0;s=v+Ja|0;t=d[133677+s>>0]|0;Ba=v+Ka|0;h=d[133521+Ba>>0]|0;do if(!(s>>>0<68|Ba>>>0<68)){q=b[x>>1]|0;if(q<<16>>16>3){Ud[c[f+68>>2]&255](r,o,t,h);break}else{a[Qa>>0]=a[(q<<16>>16)+(133833+(s<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+12>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0;Vd[c[f+56>>2]&127](r,o,t,h,Qa);break}}while(0);if(Ia){h=c[(c[Ha>>2]|0)+12>>2]|0;if((h|0)==3){r=w+Ja|0;s=d[133677+r>>0]|0;Ba=w+Ka|0;h=d[133521+Ba>>0]|0;do if(!(r>>>0<68|Ba>>>0<68)){q=b[Ma>>1]|0;if(q<<16>>16>3){Ud[c[f+68>>2]&255](k,p,s,h);break}else{a[Qa>>0]=a[(q<<16>>16)+(133833+(r<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+2>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+4>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+6>>1]|0)+(133833+(r<<2))>>0]|0;Vd[c[f+56>>2]&127](k,p,s,h,Qa);break}}while(0);u=p<<3;r=k+u|0;s=y+Ja|0;t=d[133677+s>>0]|0;Ba=y+Ka|0;h=d[133521+Ba>>0]|0;do if(!(s>>>0<68|Ba>>>0<68)){q=b[x>>1]|0;if(q<<16>>16>3){Ud[c[f+68>>2]&255](r,p,t,h);break}else{a[Qa>>0]=a[(q<<16>>16)+(133833+(s<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+12>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0;Vd[c[f+56>>2]&127](r,p,t,h,Qa);break}}while(0);r=z+Ja|0;s=d[133677+r>>0]|0;Ba=z+Ka|0;h=d[133521+Ba>>0]|0;do if(!(r>>>0<68|Ba>>>0<68)){q=b[Ma>>1]|0;if(q<<16>>16>3){Ud[c[f+68>>2]&255](n,p,s,h);break}else{a[Qa>>0]=a[(q<<16>>16)+(133833+(r<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+2>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+4>>1]|0)+(133833+(r<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+6>>1]|0)+(133833+(r<<2))>>0]|0;Vd[c[f+56>>2]&127](n,p,s,h,Qa);break}}while(0);r=n+u|0;s=A+Ja|0;t=d[133677+s>>0]|0;Ba=A+Ka|0;q=d[133521+Ba>>0]|0;if(s>>>0<68|Ba>>>0<68)break;h=b[x>>1]|0;if(h<<16>>16>3){Ud[c[f+68>>2]&255](r,p,t,q);break}else{a[Qa>>0]=a[(h<<16>>16)+(133833+(s<<2))>>0]|0;a[Qa+1>>0]=a[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+2>>0]=a[(b[Ma+12>>1]|0)+(133833+(s<<2))>>0]|0;a[Qa+3>>0]=a[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0;Vd[c[f+56>>2]&127](r,p,t,q,Qa);break}}r=(h|0)==2;s=w+Ja|0;t=d[133677+s>>0]|0;Ba=w+Ka|0;h=d[133521+Ba>>0]|0;do if(!(s>>>0<68|Ba>>>0<68)){q=b[Ma>>1]|0;if(q<<16>>16>3){Ud[c[f+92>>2]&255](k,p,t,h);break}else{a[Qa>>0]=(d[(q<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+2>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+4>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+6>>1]|0)+(133833+(s<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](k,p,t,h,Qa);break}}while(0);if(r){u=p<<3;r=k+u|0;s=y+Ja|0;t=d[133677+s>>0]|0;Ba=y+Ka|0;h=d[133521+Ba>>0]|0;do if(!(s>>>0<68|Ba>>>0<68)){q=b[x>>1]|0;if(q<<16>>16>3){Ud[c[f+92>>2]&255](r,p,t,h);break}else{a[Qa>>0]=(d[(q<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+12>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](r,p,t,h,Qa);break}}while(0);r=z+Ja|0;s=d[133677+r>>0]|0;Ba=z+Ka|0;h=d[133521+Ba>>0]|0;do if(!(r>>>0<68|Ba>>>0<68)){q=b[Ma>>1]|0;if(q<<16>>16>3){Ud[c[f+92>>2]&255](n,p,s,h);break}else{a[Qa>>0]=(d[(q<<16>>16)+(133833+(r<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+2>>1]|0)+(133833+(r<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+4>>1]|0)+(133833+(r<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+6>>1]|0)+(133833+(r<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](n,p,s,h,Qa);break}}while(0);r=n+u|0;s=A+Ja|0;t=d[133677+s>>0]|0;Ba=A+Ka|0;q=d[133521+Ba>>0]|0;if(s>>>0<68|Ba>>>0<68)break;h=b[x>>1]|0;if(h<<16>>16>3){Ud[c[f+92>>2]&255](r,p,t,q);break}else{a[Qa>>0]=(d[(h<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+12>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](r,p,t,q,Qa);break}}else{u=p<<2;r=k+u|0;s=y+Ja|0;t=d[133677+s>>0]|0;Ba=y+Ka|0;h=d[133521+Ba>>0]|0;do if(!(s>>>0<68|Ba>>>0<68)){q=b[x>>1]|0;if(q<<16>>16>3){Ud[c[f+92>>2]&255](r,p,t,h);break}else{a[Qa>>0]=(d[(q<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+12>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](r,p,t,h,Qa);break}}while(0);r=z+Ja|0;s=d[133677+r>>0]|0;Ba=z+Ka|0;h=d[133521+Ba>>0]|0;do if(!(r>>>0<68|Ba>>>0<68)){q=b[Ma>>1]|0;if(q<<16>>16>3){Ud[c[f+92>>2]&255](n,p,s,h);break}else{a[Qa>>0]=(d[(q<<16>>16)+(133833+(r<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+2>>1]|0)+(133833+(r<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+4>>1]|0)+(133833+(r<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+6>>1]|0)+(133833+(r<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](n,p,s,h,Qa);break}}while(0);r=n+u|0;s=A+Ja|0;t=d[133677+s>>0]|0;Ba=A+Ka|0;q=d[133521+Ba>>0]|0;if(s>>>0<68|Ba>>>0<68)break;h=b[x>>1]|0;if(h<<16>>16>3){Ud[c[f+92>>2]&255](r,p,t,q);break}else{a[Qa>>0]=(d[(h<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[Qa+1>>0]=(d[(b[Ma+10>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+2>>0]=(d[(b[Ma+12>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[Qa+3>>0]=(d[(b[Ma+14>>1]|0)+(133833+(s<<2))>>0]|0)+1;Vd[c[f+80>>2]&127](r,p,t,q,Qa);break}}}}while(0);ga=1}else ga=0;ha=Da+-1|0;ia=g+21732|0;ja=Fa>>>3&7;ka=g+21856|0;la=Fa&16777216;ma=(Fa&7|0)==0;na=Ma+6|0;oa=Ma+4|0;pa=Ma+2|0;qa=f+24340|0;ra=f+25664|0;sa=g+852|0;ta=g+856|0;ua=Qa+1|0;va=Qa+2|0;wa=Qa+3|0;xa=f+52|0;ya=f+76|0;za=o<<2;Aa=f+48|0;Ba=f+72|0;I=(i&1|0)==0;J=Fa&128^128;K=o<<1;L=p<<1;M=f+28212|0;O=f+25972|0;P=f+26392|0;Q=g+27836|0;R=g+27837|0;S=Ma+2|0;T=Ma+4|0;U=Ma+6|0;V=g+27839|0;X=g+27838|0;Y=Ma+2|0;Z=Ma+4|0;_=Ma+6|0;$=Ma+6|0;aa=Ma+4|0;ba=Ma+2|0;ca=f+64|0;da=f+88|0;ea=f+60|0;fa=f+84|0;B=f+26380|0;C=g+21712|0;f=0;while(1){if((f|0)==2)break;i=(f|0)!=0;E=c[(c[Ha>>2]|0)+12>>2]|0;D=(E|0)==3;E=(E|0)==2;F=(f|0)==0;if(F)u=ha;else u=c[C>>2]|0;h=c[(F?Ca:ia)>>2]|0;H=a[134489+(f<<3)+ja>>0]|0;G=H&255;if(H<<24>>24==3)H=(c[ka>>2]&15|0)==0?1:4;else H=4;q=32>>>f|8;A=q&Fa;t=i^1;b:do if(!(ga&t|(h|0)==0)){r=c[La>>2]|0;if(!((h&J|0)==0|I&((f|0)==1&(r|0)!=0)^1)){w=Da-(c[Na>>2]<<1)|0;x=0;while(1){if((x|0)==2)break b;h=c[(c[Ea>>2]|0)+(w<<2)>>2]|0;c:do if(!((h|Fa)&7)){if((h&16777216|0)==0?1:(c[(c[M>>2]|0)+4>>2]|0)!=0){q=(c[O>>2]|0)+(w*48|0)+12|0;h=0;while(1){if((h|0)==4)break c;b[Ma+(h<<1)>>1]=(a[q+h>>0]|a[h+12+(g+27824)>>0])<<24>>24?2:1;h=h+1|0}}h=b[(c[P>>2]|0)+(w<<1)>>1]|0;if(!(h&16384)){b[Ma>>1]=(a[Q>>0]|0)==0?1:2;if(!(a[R>>0]|0))q=1;else Ra=128}else{b[Ma>>1]=2;Ra=128}if((Ra|0)==128){Ra=0;q=2}b[S>>1]=q;if(h<<16>>16>=0){b[T>>1]=(a[X>>0]|0)==0?1:2;if(!(a[V>>0]|0))h=1;else Ra=132}else{b[T>>1]=2;Ra=132}if((Ra|0)==132){Ra=0;h=2}b[U>>1]=h}else{z=Ma;c[z>>2]=196611;c[z+4>>2]=196611}while(0);r=c[qa>>2]|0;h=a[r+w>>0]|0;r=(a[r+Da>>0]|0)+1+(h<<24>>24)>>1;q=r+Ja|0;r=r+Ka|0;if(!(q>>>0<68|r>>>0<68)){h=d[133521+r>>0]|0;z=d[133677+q>>0]|0;y=j+(N(x,o)|0)|0;a[Qa>>0]=a[(b[Ma>>1]|0)+(133833+(q<<2))>>0]|0;a[ua>>0]=a[(b[Y>>1]|0)+(133833+(q<<2))>>0]|0;a[va>>0]=a[(b[Z>>1]|0)+(133833+(q<<2))>>0]|0;a[wa>>0]=a[(b[_>>1]|0)+(133833+(q<<2))>>0]|0;Vd[c[Aa>>2]&127](y,K,z,h,Qa);h=a[(c[qa>>2]|0)+w>>0]|0}z=c[M>>2]|0;u=h<<24>>24;h=(c[sa>>2]|0)+1+(d[z+548+u>>0]|0)>>1;u=(c[ta>>2]|0)+1+(d[z+636+u>>0]|0)>>1;do if(Ia){v=N(x,p)|0;r=k+v|0;s=h+Ja|0;t=d[133677+s>>0]|0;q=h+Ka|0;h=d[133521+q>>0]|0;q=s>>>0<68|q>>>0<68;if(D){if(!q){a[Qa>>0]=a[(b[Ma>>1]|0)+(133833+(s<<2))>>0]|0;a[ua>>0]=a[(b[Y>>1]|0)+(133833+(s<<2))>>0]|0;a[va>>0]=a[(b[Z>>1]|0)+(133833+(s<<2))>>0]|0;a[wa>>0]=a[(b[_>>1]|0)+(133833+(s<<2))>>0]|0;Vd[c[Aa>>2]&127](r,L,t,h,Qa)}q=u+Ja|0;h=u+Ka|0;if(q>>>0<68|h>>>0<68)break;z=d[133521+h>>0]|0;y=d[133677+q>>0]|0;a[Qa>>0]=a[(b[Ma>>1]|0)+(133833+(q<<2))>>0]|0;a[ua>>0]=a[(b[Y>>1]|0)+(133833+(q<<2))>>0]|0;a[va>>0]=a[(b[Z>>1]|0)+(133833+(q<<2))>>0]|0;a[wa>>0]=a[(b[_>>1]|0)+(133833+(q<<2))>>0]|0;Vd[c[Aa>>2]&127](n+v|0,L,y,z,Qa);break}else{if(!q){a[Qa>>0]=(d[(b[Ma>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[ua>>0]=(d[(b[Y>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[va>>0]=(d[(b[Z>>1]|0)+(133833+(s<<2))>>0]|0)+1;a[wa>>0]=(d[(b[_>>1]|0)+(133833+(s<<2))>>0]|0)+1;Vd[c[Ba>>2]&127](r,L,t,h,Qa)}q=u+Ja|0;h=u+Ka|0;if(q>>>0<68|h>>>0<68)break;z=d[133521+h>>0]|0;y=d[133677+q>>0]|0;a[Qa>>0]=(d[(b[Ma>>1]|0)+(133833+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(b[Y>>1]|0)+(133833+(q<<2))>>0]|0)+1;a[va>>0]=(d[(b[Z>>1]|0)+(133833+(q<<2))>>0]|0)+1;a[wa>>0]=(d[(b[_>>1]|0)+(133833+(q<<2))>>0]|0)+1;Vd[c[Ba>>2]&127](n+v|0,L,y,z,Qa);break}}while(0);w=(c[Na>>2]|0)+w|0;x=x+1|0}}s=h|Fa;d:do if(!(s&7)){if(!((r|0)==0|t)?((h^Fa)&128|0)!=0:0){s=Ma;c[s>>2]=65537;c[s+4>>2]=65537;s=0}else if((A|0)==0|(h&q|0)==0)s=1;else{s=(jk(g,12,i?4:11,Ga)|0)&65535;b[$>>1]=s;b[aa>>1]=s;b[ba>>1]=s;b[Ma>>1]=s;s=0}t=i?8:1;r=0;while(1){if((r|0)==4)break;h=(F?r<<3:r)+12|0;q=h-t|0;if(!((a[g+27824+q>>0]|a[g+27824+h>>0])<<24>>24)){if(s){h=(jk(g,h,q,Ga)|0)&65535;Ra=166}}else{h=2;Ra=166}if((Ra|0)==166){Ra=0;b[Ma+(r<<1)>>1]=h}r=r+1|0}z=b[Ma>>1]|0;h=b[ba>>1]|0;q=b[aa>>1]|0;r=b[$>>1]|0}else{z=Ma;c[z>>2]=196611;c[z+4>>2]=196611;do if(s&128|0)if(!r)if(F&(c[B>>2]|0)!=3)break;else{z=3;h=3;q=3;r=3;break d}else if(F)break;else{z=3;h=3;q=3;r=3;break d}while(0);z=Ma;c[z>>2]=262148;c[z+4>>2]=262148;z=4;h=4;q=4;r=4}while(0);y=z<<16>>16;x=h<<16>>16;w=q<<16>>16;v=r<<16>>16;do if((x+w+y|0)!=(0-v|0)){s=c[qa>>2]|0;u=a[s+u>>0]|0;s=(a[s+Da>>0]|0)+1+u>>1;h=c[M>>2]|0;t=(c[sa>>2]|0)+1+(d[h+548+u>>0]|0)>>1;u=(c[ta>>2]|0)+1+(d[h+636+u>>0]|0)>>1;h=s+Ja|0;q=d[133677+h>>0]|0;s=s+Ka|0;r=d[133521+s>>0]|0;s=h>>>0<68|s>>>0<68;if(F){do if(!s)if(z<<16>>16>3){Ud[c[ca>>2]&255](j,o,q,r);break}else{a[Qa>>0]=a[133833+(h<<2)+y>>0]|0;a[ua>>0]=a[133833+(h<<2)+x>>0]|0;a[va>>0]=a[133833+(h<<2)+w>>0]|0;a[wa>>0]=a[133833+(h<<2)+v>>0]|0;Vd[c[xa>>2]&127](j,o,q,r,Qa);break}while(0);if(!Ia)break;r=t+Ja|0;s=d[133677+r>>0]|0;q=t+Ka|0;h=d[133521+q>>0]|0;q=r>>>0<68|q>>>0<68;if(D){do if(!q)if(z<<16>>16>3){Ud[c[ca>>2]&255](k,p,s,h);break}else{a[Qa>>0]=a[133833+(r<<2)+y>>0]|0;a[ua>>0]=a[133833+(r<<2)+x>>0]|0;a[va>>0]=a[133833+(r<<2)+w>>0]|0;a[wa>>0]=a[133833+(r<<2)+v>>0]|0;Vd[c[xa>>2]&127](k,p,s,h,Qa);break}while(0);q=u+Ja|0;r=d[133677+q>>0]|0;u=u+Ka|0;h=d[133521+u>>0]|0;if(q>>>0<68|u>>>0<68)break;if(z<<16>>16>3){Ud[c[ca>>2]&255](n,p,r,h);break}else{a[Qa>>0]=a[133833+(q<<2)+y>>0]|0;a[ua>>0]=a[133833+(q<<2)+x>>0]|0;a[va>>0]=a[133833+(q<<2)+w>>0]|0;a[wa>>0]=a[133833+(q<<2)+v>>0]|0;Vd[c[xa>>2]&127](n,p,r,h,Qa);break}}else{do if(!q)if(z<<16>>16>3){Ud[c[da>>2]&255](k,p,s,h);break}else{a[Qa>>0]=(d[133833+(r<<2)+y>>0]|0)+1;a[ua>>0]=(d[133833+(r<<2)+x>>0]|0)+1;a[va>>0]=(d[133833+(r<<2)+w>>0]|0)+1;a[wa>>0]=(d[133833+(r<<2)+v>>0]|0)+1;Vd[c[ya>>2]&127](k,p,s,h,Qa);break}while(0);q=u+Ja|0;r=d[133677+q>>0]|0;u=u+Ka|0;h=d[133521+u>>0]|0;if(q>>>0<68|u>>>0<68)break;if(z<<16>>16>3){Ud[c[da>>2]&255](n,p,r,h);break}else{a[Qa>>0]=(d[133833+(q<<2)+y>>0]|0)+1;a[ua>>0]=(d[133833+(q<<2)+x>>0]|0)+1;a[va>>0]=(d[133833+(q<<2)+w>>0]|0)+1;a[wa>>0]=(d[133833+(q<<2)+v>>0]|0)+1;Vd[c[ya>>2]&127](n,p,r,h,Qa);break}}}else{do if(!s)if(z<<16>>16>3){Ud[c[ea>>2]&255](j,o,q,r);break}else{a[Qa>>0]=a[133833+(h<<2)+y>>0]|0;a[ua>>0]=a[133833+(h<<2)+x>>0]|0;a[va>>0]=a[133833+(h<<2)+w>>0]|0;a[wa>>0]=a[133833+(h<<2)+v>>0]|0;Vd[c[Aa>>2]&127](j,o,q,r,Qa);break}while(0);if(!Ia)break;r=t+Ja|0;s=d[133677+r>>0]|0;q=t+Ka|0;h=d[133521+q>>0]|0;q=r>>>0<68|q>>>0<68;if(D){do if(!q)if(z<<16>>16>3){Ud[c[ea>>2]&255](k,p,s,h);break}else{a[Qa>>0]=a[133833+(r<<2)+y>>0]|0;a[ua>>0]=a[133833+(r<<2)+x>>0]|0;a[va>>0]=a[133833+(r<<2)+w>>0]|0;a[wa>>0]=a[133833+(r<<2)+v>>0]|0;Vd[c[Aa>>2]&127](k,p,s,h,Qa);break}while(0);q=u+Ja|0;r=d[133677+q>>0]|0;u=u+Ka|0;h=d[133521+u>>0]|0;if(q>>>0<68|u>>>0<68)break;if(z<<16>>16>3){Ud[c[ea>>2]&255](n,p,r,h);break}else{a[Qa>>0]=a[133833+(q<<2)+y>>0]|0;a[ua>>0]=a[133833+(q<<2)+x>>0]|0;a[va>>0]=a[133833+(q<<2)+w>>0]|0;a[wa>>0]=a[133833+(q<<2)+v>>0]|0;Vd[c[Aa>>2]&127](n,p,r,h,Qa);break}}else{do if(!q)if(z<<16>>16>3){Ud[c[fa>>2]&255](k,p,s,h);break}else{a[Qa>>0]=(d[133833+(r<<2)+y>>0]|0)+1;a[ua>>0]=(d[133833+(r<<2)+x>>0]|0)+1;a[va>>0]=(d[133833+(r<<2)+w>>0]|0)+1;a[wa>>0]=(d[133833+(r<<2)+v>>0]|0)+1;Vd[c[Ba>>2]&127](k,p,s,h,Qa);break}while(0);q=u+Ja|0;r=d[133677+q>>0]|0;u=u+Ka|0;h=d[133521+u>>0]|0;if(q>>>0<68|u>>>0<68)break;if(z<<16>>16>3){Ud[c[fa>>2]&255](n,p,r,h);break}else{a[Qa>>0]=(d[133833+(q<<2)+y>>0]|0)+1;a[ua>>0]=(d[133833+(q<<2)+x>>0]|0)+1;a[va>>0]=(d[133833+(q<<2)+w>>0]|0)+1;a[wa>>0]=(d[133833+(q<<2)+v>>0]|0)+1;Vd[c[Ba>>2]&127](n,p,r,h,Qa);break}}}}while(0)}while(0);z=F|E^1;y=(A|0)==0;x=i?8:1;w=1;while(1){if((w|0)>=(H|0))break;t=(la&w<<24|0)==0;do if(!(z&(t^1))){if(ma){if(!(w&G))if(y)r=1;else{r=(N(w,x)|0)+12|0;r=(jk(g,r,r-x|0,Ga)|0)&65535;b[na>>1]=r;b[oa>>1]=r;b[pa>>1]=r;b[Ma>>1]=r;r=0}else{r=Ma;c[r>>2]=0;c[r+4>>2]=0;r=0}s=0;while(1){if((s|0)==4)break;h=(F?w:s)+12+((F?s:w)<<3)|0;q=h-x|0;if(!((a[g+27824+q>>0]|a[g+27824+h>>0])<<24>>24)){if(r){h=(jk(g,h,q,Ga)|0)&65535;Ra=230}}else{h=2;Ra=230}if((Ra|0)==230){Ra=0;b[Ma+(s<<1)>>1]=h}s=s+1|0}h=b[Ma>>1]|0;q=b[pa>>1]|0;r=b[oa>>1]|0;s=b[na>>1]|0;if(((q<<16>>16)+(h<<16>>16)+(r<<16>>16)|0)==(0-(s<<16>>16)|0))break;else v=s}else{h=Ma;c[h>>2]=196611;c[h+4>>2]=196611;h=3;q=3;r=3;v=3}s=a[(c[qa>>2]|0)+Da>>0]|0;if(F){u=w<<2;t=Ja+s|0;s=Ka+s|0;if(!(t>>>0<68|s>>>0<68)){i=d[133521+s>>0]|0;A=d[133677+t>>0]|0;s=j+(u<<c[ra>>2])|0;a[Qa>>0]=a[(h<<16>>16)+(133833+(t<<2))>>0]|0;a[ua>>0]=a[(q<<16>>16)+(133833+(t<<2))>>0]|0;a[va>>0]=a[(r<<16>>16)+(133833+(t<<2))>>0]|0;a[wa>>0]=a[(v<<16>>16)+(133833+(t<<2))>>0]|0;Vd[c[xa>>2]&127](s,o,A,i,Qa)}if(!Ia)break;if(D){t=c[sa>>2]|0;s=t+Ja|0;t=t+Ka|0;if(!(s>>>0<68|t>>>0<68)){i=d[133521+t>>0]|0;A=d[133677+s>>0]|0;t=k+(u<<c[ra>>2])|0;a[Qa>>0]=a[(h<<16>>16)+(133833+(s<<2))>>0]|0;a[ua>>0]=a[(q<<16>>16)+(133833+(s<<2))>>0]|0;a[va>>0]=a[(r<<16>>16)+(133833+(s<<2))>>0]|0;a[wa>>0]=a[(v<<16>>16)+(133833+(s<<2))>>0]|0;Vd[c[xa>>2]&127](t,p,A,i,Qa)}t=c[ta>>2]|0;s=t+Ja|0;t=t+Ka|0;if(s>>>0<68|t>>>0<68)break;i=d[133521+t>>0]|0;A=d[133677+s>>0]|0;u=n+(u<<c[ra>>2])|0;a[Qa>>0]=a[(h<<16>>16)+(133833+(s<<2))>>0]|0;a[ua>>0]=a[(q<<16>>16)+(133833+(s<<2))>>0]|0;a[va>>0]=a[(r<<16>>16)+(133833+(s<<2))>>0]|0;a[wa>>0]=a[(v<<16>>16)+(133833+(s<<2))>>0]|0;Vd[c[xa>>2]&127](u,p,A,i,Qa);break}if(w&1|0)break;u=w<<1;t=c[sa>>2]|0;s=t+Ja|0;t=t+Ka|0;if(!(s>>>0<68|t>>>0<68)){i=d[133521+t>>0]|0;A=d[133677+s>>0]|0;t=k+(u<<c[ra>>2])|0;a[Qa>>0]=(d[(h<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[ua>>0]=(d[(q<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[va>>0]=(d[(r<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[wa>>0]=(d[(v<<16>>16)+(133833+(s<<2))>>0]|0)+1;Vd[c[ya>>2]&127](t,p,A,i,Qa)}t=c[ta>>2]|0;s=t+Ja|0;t=t+Ka|0;if(s>>>0<68|t>>>0<68)break;i=d[133521+t>>0]|0;A=d[133677+s>>0]|0;u=n+(u<<c[ra>>2])|0;a[Qa>>0]=(d[(h<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[ua>>0]=(d[(q<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[va>>0]=(d[(r<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[wa>>0]=(d[(v<<16>>16)+(133833+(s<<2))>>0]|0)+1;Vd[c[ya>>2]&127](u,p,A,i,Qa);break}if(E){if(t?(Oa=Ja+s|0,Pa=Ka+s|0,!(Oa>>>0<68|Pa>>>0<68)):0){i=d[133521+Pa>>0]|0;A=d[133677+Oa>>0]|0;u=j+(N(za,w)|0)|0;a[Qa>>0]=a[(h<<16>>16)+(133833+(Oa<<2))>>0]|0;a[ua>>0]=a[(q<<16>>16)+(133833+(Oa<<2))>>0]|0;a[va>>0]=a[(r<<16>>16)+(133833+(Oa<<2))>>0]|0;a[wa>>0]=a[(v<<16>>16)+(133833+(Oa<<2))>>0]|0;Vd[c[Aa>>2]&127](u,o,A,i,Qa)}if(!Ia)break;u=N(w<<2,p)|0;t=c[sa>>2]|0;s=t+Ja|0;t=t+Ka|0;if(!(s>>>0<68|t>>>0<68)){i=d[133521+t>>0]|0;A=d[133677+s>>0]|0;a[Qa>>0]=(d[(h<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[ua>>0]=(d[(q<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[va>>0]=(d[(r<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[wa>>0]=(d[(v<<16>>16)+(133833+(s<<2))>>0]|0)+1;Vd[c[Ba>>2]&127](k+u|0,p,A,i,Qa)}t=c[ta>>2]|0;s=t+Ja|0;t=t+Ka|0;if(s>>>0<68|t>>>0<68)break;i=d[133521+t>>0]|0;A=d[133677+s>>0]|0;a[Qa>>0]=(d[(h<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[ua>>0]=(d[(q<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[va>>0]=(d[(r<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[wa>>0]=(d[(v<<16>>16)+(133833+(s<<2))>>0]|0)+1;Vd[c[Ba>>2]&127](n+u|0,p,A,i,Qa);break}t=w<<2;u=Ja+s|0;s=Ka+s|0;if(!(u>>>0<68|s>>>0<68)){i=d[133521+s>>0]|0;A=d[133677+u>>0]|0;s=j+(N(t,o)|0)|0;a[Qa>>0]=a[(h<<16>>16)+(133833+(u<<2))>>0]|0;a[ua>>0]=a[(q<<16>>16)+(133833+(u<<2))>>0]|0;a[va>>0]=a[(r<<16>>16)+(133833+(u<<2))>>0]|0;a[wa>>0]=a[(v<<16>>16)+(133833+(u<<2))>>0]|0;Vd[c[Aa>>2]&127](s,o,A,i,Qa)}if(Ia){if(D){u=N(t,p)|0;t=c[sa>>2]|0;s=t+Ja|0;t=t+Ka|0;if(!(s>>>0<68|t>>>0<68)){i=d[133521+t>>0]|0;A=d[133677+s>>0]|0;a[Qa>>0]=a[(h<<16>>16)+(133833+(s<<2))>>0]|0;a[ua>>0]=a[(q<<16>>16)+(133833+(s<<2))>>0]|0;a[va>>0]=a[(r<<16>>16)+(133833+(s<<2))>>0]|0;a[wa>>0]=a[(v<<16>>16)+(133833+(s<<2))>>0]|0;Vd[c[Aa>>2]&127](k+u|0,p,A,i,Qa)}t=c[ta>>2]|0;s=t+Ja|0;t=t+Ka|0;if(s>>>0<68|t>>>0<68)break;i=d[133521+t>>0]|0;A=d[133677+s>>0]|0;a[Qa>>0]=a[(h<<16>>16)+(133833+(s<<2))>>0]|0;a[ua>>0]=a[(q<<16>>16)+(133833+(s<<2))>>0]|0;a[va>>0]=a[(r<<16>>16)+(133833+(s<<2))>>0]|0;a[wa>>0]=a[(v<<16>>16)+(133833+(s<<2))>>0]|0;Vd[c[Aa>>2]&127](n+u|0,p,A,i,Qa);break}if(!(w&1)){u=N(w<<1,p)|0;t=c[sa>>2]|0;s=t+Ja|0;t=t+Ka|0;if(!(s>>>0<68|t>>>0<68)){i=d[133521+t>>0]|0;A=d[133677+s>>0]|0;a[Qa>>0]=(d[(h<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[ua>>0]=(d[(q<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[va>>0]=(d[(r<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[wa>>0]=(d[(v<<16>>16)+(133833+(s<<2))>>0]|0)+1;Vd[c[Ba>>2]&127](k+u|0,p,A,i,Qa)}t=c[ta>>2]|0;s=t+Ja|0;t=t+Ka|0;if(!(s>>>0<68|t>>>0<68)){i=d[133521+t>>0]|0;A=d[133677+s>>0]|0;a[Qa>>0]=(d[(h<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[ua>>0]=(d[(q<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[va>>0]=(d[(r<<16>>16)+(133833+(s<<2))>>0]|0)+1;a[wa>>0]=(d[(v<<16>>16)+(133833+(s<<2))>>0]|0)+1;Vd[c[Ba>>2]&127](n+u|0,p,A,i,Qa)}}}}while(0);w=w+1|0}f=f+1|0}l=Sa;return}function ik(e,f,g,h,i,j,k,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;va=l;l=l+80|0;if((l|0)>=(m|0))W(80);ta=va+64|0;pa=va;q=c[e+96>>2]|0;do if((q|0)!=0?(p=c[e+28212>>2]|0,(c[p+724>>2]|0)==0):0){ga=c[e+25664>>2]|0;sa=c[e+28216>>2]|0;w=c[sa+12>>2]|0;ma=(w|0)!=0;oa=(w|0)==3;w=(w|0)==2;Y=c[f+21796>>2]|0;h=c[f+21740>>2]|0;ka=c[f+21732>>2]|0;sa=(N(c[sa+1184>>2]|0,-6)|0)+48|0;ra=(c[f+872>>2]|0)+52+sa|0;sa=(c[f+876>>2]|0)+52+sa|0;t=c[(c[e+24364>>2]|0)+(Y<<2)>>2]|0;la=c[e+24340>>2]|0;na=a[la+Y>>0]|0;Y=a[la+(Y+-1)>>0]|0;la=a[la+(c[f+21712>>2]|0)>>0]|0;qa=d[p+548+na>>0]|0;ja=na+1|0;v=ja+Y>>1;ja=ja+la>>1;g=qa+1|0;Y=(g+(d[p+548+Y>>0]|0)|0)>>>1;la=(g+(d[p+548+la>>0]|0)|0)>>>1;if(t&7|0){J=(c[e+26380>>2]|0)!=3?114142:114150;s=(h|0)!=0;if(s?(r=v+ra|0,u=v+sa|0,!(r>>>0<68|u>>>0<68)):0)Ud[c[e+64>>2]&255](i,n,d[133677+r>>0]|0,d[133521+u>>0]|0);f=(t&16777216|0)!=0;q=ra+na|0;r=133677+q|0;p=sa+na|0;h=133521+p|0;p=q>>>0<68|p>>>0<68;if(f){if(!p){pa=d[h>>0]|0;na=d[r>>0]|0;iX(ta|0,a[133833+(q<<2)+3>>0]|0,4)|0;Vd[c[e+52>>2]&127](i+(8<<ga)|0,n,na,pa,ta)}do if(ka|0?(x=ja+ra|0,y=d[133677+x>>0]|0,pa=ja+sa|0,z=d[133521+pa>>0]|0,!(x>>>0<68|pa>>>0<68)):0){g=b[J>>1]|0;if(g<<16>>16>3){Ud[c[e+60>>2]&255](i,n,y,z);break}else{a[ta>>0]=a[(g<<16>>16)+(133833+(x<<2))>>0]|0;a[ta+1>>0]=a[(b[J+2>>1]|0)+(133833+(x<<2))>>0]|0;a[ta+2>>0]=a[(b[J+4>>1]|0)+(133833+(x<<2))>>0]|0;a[ta+3>>0]=a[(b[J+6>>1]|0)+(133833+(x<<2))>>0]|0;Vd[c[e+48>>2]&127](i,n,y,z,ta);break}}while(0);if(!p){pa=d[h>>0]|0;na=d[r>>0]|0;iX(ta|0,a[133833+(q<<2)+3>>0]|0,4)|0;Vd[c[e+48>>2]&127](i+(n<<3)|0,n,na,pa,ta)}}else{if(!p){pa=d[h>>0]|0;na=d[r>>0]|0;ha=a[133833+(q<<2)+3>>0]|0;ia=e+52|0;iX(ta|0,ha|0,4)|0;Vd[c[ia>>2]&127](i+(4<<ga)|0,n,na,pa,ta);iX(ta|0,ha|0,4)|0;Vd[c[ia>>2]&127](i+(8<<ga)|0,n,na,pa,ta);iX(ta|0,ha|0,4)|0;Vd[c[ia>>2]&127](i+(12<<ga)|0,n,na,pa,ta)}do if(ka|0?(A=ja+ra|0,B=d[133677+A>>0]|0,pa=ja+sa|0,C=d[133521+pa>>0]|0,!(A>>>0<68|pa>>>0<68)):0){g=b[J>>1]|0;if(g<<16>>16>3){Ud[c[e+60>>2]&255](i,n,B,C);break}else{a[ta>>0]=a[(g<<16>>16)+(133833+(A<<2))>>0]|0;a[ta+1>>0]=a[(b[J+2>>1]|0)+(133833+(A<<2))>>0]|0;a[ta+2>>0]=a[(b[J+4>>1]|0)+(133833+(A<<2))>>0]|0;a[ta+3>>0]=a[(b[J+6>>1]|0)+(133833+(A<<2))>>0]|0;Vd[c[e+48>>2]&127](i,n,B,C,ta);break}}while(0);if(!p){pa=d[h>>0]|0;na=d[r>>0]|0;ia=a[133833+(q<<2)+3>>0]|0;ja=e+48|0;iX(ta|0,ia|0,4)|0;Vd[c[ja>>2]&127](i+(n<<2)|0,n,na,pa,ta);iX(ta|0,ia|0,4)|0;Vd[c[ja>>2]&127](i+(n<<3)|0,n,na,pa,ta);iX(ta|0,ia|0,4)|0;Vd[c[ja>>2]&127](i+(n*12|0)|0,n,na,pa,ta)}}if(!ma)break;if(oa){if(s?(D=Y+ra|0,E=Y+sa|0,!(D>>>0<68|E>>>0<68)):0){o=d[133521+E>>0]|0;pa=d[133677+D>>0]|0;oa=e+64|0;Ud[c[oa>>2]&255](j,n,pa,o);Ud[c[oa>>2]&255](k,n,pa,o)}if(f){g=8<<ga;f=ra+qa|0;q=133677+f|0;p=sa+qa|0;h=133521+p|0;p=f>>>0<68|p>>>0<68;if(!p){o=d[h>>0]|0;qa=d[q>>0]|0;oa=a[133833+(f<<2)+3>>0]|0;pa=e+52|0;iX(ta|0,oa|0,4)|0;Vd[c[pa>>2]&127](j+g|0,n,qa,o,ta);iX(ta|0,oa|0,4)|0;Vd[c[pa>>2]&127](k+g|0,n,qa,o,ta)}do if(ka|0?(K=la+ra|0,L=d[133677+K>>0]|0,sa=la+sa|0,M=d[133521+sa>>0]|0,!(K>>>0<68|sa>>>0<68)):0){g=b[J>>1]|0;if(g<<16>>16>3){sa=e+60|0;Ud[c[sa>>2]&255](j,n,L,M);Ud[c[sa>>2]&255](k,n,L,M);break}else{na=a[(g<<16>>16)+(133833+(K<<2))>>0]|0;a[ta>>0]=na;i=a[(b[J+2>>1]|0)+(133833+(K<<2))>>0]|0;oa=ta+1|0;a[oa>>0]=i;pa=a[(b[J+4>>1]|0)+(133833+(K<<2))>>0]|0;qa=ta+2|0;a[qa>>0]=pa;o=a[(b[J+6>>1]|0)+(133833+(K<<2))>>0]|0;ra=ta+3|0;a[ra>>0]=o;sa=e+48|0;Vd[c[sa>>2]&127](j,n,L,M,ta);a[ta>>0]=na;a[oa>>0]=i;a[qa>>0]=pa;a[ra>>0]=o;Vd[c[sa>>2]&127](k,n,L,M,ta);break}}while(0);g=n<<3;if(p)break;sa=d[h>>0]|0;ra=d[q>>0]|0;o=a[133833+(f<<2)+3>>0]|0;e=e+48|0;iX(ta|0,o|0,4)|0;Vd[c[e>>2]&127](j+g|0,n,ra,sa,ta);iX(ta|0,o|0,4)|0;Vd[c[e>>2]&127](k+g|0,n,ra,sa,ta);break}else{g=4<<ga;f=ra+qa|0;q=133677+f|0;p=sa+qa|0;h=133521+p|0;p=f>>>0<68|p>>>0<68;if(!p){o=d[h>>0]|0;qa=d[q>>0]|0;i=a[133833+(f<<2)+3>>0]|0;oa=e+52|0;iX(ta|0,i|0,4)|0;Vd[c[oa>>2]&127](j+g|0,n,qa,o,ta);iX(ta|0,i|0,4)|0;Vd[c[oa>>2]&127](k+g|0,n,qa,o,ta);pa=8<<ga;iX(ta|0,i|0,4)|0;Vd[c[oa>>2]&127](j+pa|0,n,qa,o,ta);iX(ta|0,i|0,4)|0;Vd[c[oa>>2]&127](k+pa|0,n,qa,o,ta);pa=12<<ga;iX(ta|0,i|0,4)|0;Vd[c[oa>>2]&127](j+pa|0,n,qa,o,ta);iX(ta|0,i|0,4)|0;Vd[c[oa>>2]&127](k+pa|0,n,qa,o,ta)}do if(ka|0?(O=la+ra|0,P=d[133677+O>>0]|0,sa=la+sa|0,Q=d[133521+sa>>0]|0,!(O>>>0<68|sa>>>0<68)):0){g=b[J>>1]|0;if(g<<16>>16>3){sa=e+60|0;Ud[c[sa>>2]&255](j,n,P,Q);Ud[c[sa>>2]&255](k,n,P,Q);break}else{na=a[(g<<16>>16)+(133833+(O<<2))>>0]|0;a[ta>>0]=na;i=a[(b[J+2>>1]|0)+(133833+(O<<2))>>0]|0;oa=ta+1|0;a[oa>>0]=i;pa=a[(b[J+4>>1]|0)+(133833+(O<<2))>>0]|0;qa=ta+2|0;a[qa>>0]=pa;o=a[(b[J+6>>1]|0)+(133833+(O<<2))>>0]|0;ra=ta+3|0;a[ra>>0]=o;sa=e+48|0;Vd[c[sa>>2]&127](j,n,P,Q,ta);a[ta>>0]=na;a[oa>>0]=i;a[qa>>0]=pa;a[ra>>0]=o;Vd[c[sa>>2]&127](k,n,P,Q,ta);break}}while(0);g=n<<2;if(p)break;sa=d[h>>0]|0;ra=d[q>>0]|0;qa=a[133833+(f<<2)+3>>0]|0;o=e+48|0;iX(ta|0,qa|0,4)|0;Vd[c[o>>2]&127](j+g|0,n,ra,sa,ta);iX(ta|0,qa|0,4)|0;Vd[c[o>>2]&127](k+g|0,n,ra,sa,ta);e=n<<3;iX(ta|0,qa|0,4)|0;Vd[c[o>>2]&127](j+e|0,n,ra,sa,ta);iX(ta|0,qa|0,4)|0;Vd[c[o>>2]&127](k+e|0,n,ra,sa,ta);e=n*12|0;iX(ta|0,qa|0,4)|0;Vd[c[o>>2]&127](j+e|0,n,ra,sa,ta);iX(ta|0,qa|0,4)|0;Vd[c[o>>2]&127](k+e|0,n,ra,sa,ta);break}}if(w){if(s?(F=Y+ra|0,G=Y+sa|0,!(F>>>0<68|G>>>0<68)):0){n=d[133521+G>>0]|0;pa=d[133677+F>>0]|0;oa=e+88|0;Ud[c[oa>>2]&255](j,o,pa,n);Ud[c[oa>>2]&255](k,o,pa,n)}g=4<<ga;f=ra+qa|0;q=133677+f|0;p=sa+qa|0;h=133521+p|0;p=f>>>0<68|p>>>0<68;if(!p){n=d[h>>0]|0;qa=d[q>>0]|0;oa=(d[133833+(f<<2)+3>>0]|0)+1&255;pa=e+76|0;iX(ta|0,oa|0,4)|0;Vd[c[pa>>2]&127](j+g|0,o,qa,n,ta);iX(ta|0,oa|0,4)|0;Vd[c[pa>>2]&127](k+g|0,o,qa,n,ta)}do if(ka|0?(R=la+ra|0,S=d[133677+R>>0]|0,n=la+sa|0,T=d[133521+n>>0]|0,!(R>>>0<68|n>>>0<68)):0){g=b[J>>1]|0;if(g<<16>>16>3){n=e+84|0;Ud[c[n>>2]&255](j,o,S,T);Ud[c[n>>2]&255](k,o,S,T);break}else{na=(d[(g<<16>>16)+(133833+(R<<2))>>0]|0)+1&255;a[ta>>0]=na;i=(d[(b[J+2>>1]|0)+(133833+(R<<2))>>0]|0)+1&255;oa=ta+1|0;a[oa>>0]=i;pa=(d[(b[J+4>>1]|0)+(133833+(R<<2))>>0]|0)+1&255;qa=ta+2|0;a[qa>>0]=pa;ra=(d[(b[J+6>>1]|0)+(133833+(R<<2))>>0]|0)+1&255;sa=ta+3|0;a[sa>>0]=ra;n=e+72|0;Vd[c[n>>2]&127](j,o,S,T,ta);a[ta>>0]=na;a[oa>>0]=i;a[qa>>0]=pa;a[sa>>0]=ra;Vd[c[n>>2]&127](k,o,S,T,ta);break}}while(0);g=o<<2;if(p)break;n=d[h>>0]|0;sa=d[q>>0]|0;qa=(d[133833+(f<<2)+3>>0]|0)+1&255;ra=e+72|0;iX(ta|0,qa|0,4)|0;Vd[c[ra>>2]&127](j+g|0,o,sa,n,ta);iX(ta|0,qa|0,4)|0;Vd[c[ra>>2]&127](k+g|0,o,sa,n,ta);e=o<<3;iX(ta|0,qa|0,4)|0;Vd[c[ra>>2]&127](j+e|0,o,sa,n,ta);iX(ta|0,qa|0,4)|0;Vd[c[ra>>2]&127](k+e|0,o,sa,n,ta);e=o*12|0;iX(ta|0,qa|0,4)|0;Vd[c[ra>>2]&127](j+e|0,o,sa,n,ta);iX(ta|0,qa|0,4)|0;Vd[c[ra>>2]&127](k+e|0,o,sa,n,ta);break}else{if(s?(H=Y+ra|0,I=Y+sa|0,!(H>>>0<68|I>>>0<68)):0){n=d[133521+I>>0]|0;pa=d[133677+H>>0]|0;oa=e+88|0;Ud[c[oa>>2]&255](j,o,pa,n);Ud[c[oa>>2]&255](k,o,pa,n)}g=4<<ga;f=ra+qa|0;q=133677+f|0;p=sa+qa|0;h=133521+p|0;p=f>>>0<68|p>>>0<68;if(!p){n=d[h>>0]|0;qa=d[q>>0]|0;oa=(d[133833+(f<<2)+3>>0]|0)+1&255;pa=e+76|0;iX(ta|0,oa|0,4)|0;Vd[c[pa>>2]&127](j+g|0,o,qa,n,ta);iX(ta|0,oa|0,4)|0;Vd[c[pa>>2]&127](k+g|0,o,qa,n,ta)}do if(ka|0?(U=la+ra|0,V=d[133677+U>>0]|0,n=la+sa|0,X=d[133521+n>>0]|0,!(U>>>0<68|n>>>0<68)):0){g=b[J>>1]|0;if(g<<16>>16>3){n=e+84|0;Ud[c[n>>2]&255](j,o,V,X);Ud[c[n>>2]&255](k,o,V,X);break}else{na=(d[(g<<16>>16)+(133833+(U<<2))>>0]|0)+1&255;a[ta>>0]=na;i=(d[(b[J+2>>1]|0)+(133833+(U<<2))>>0]|0)+1&255;oa=ta+1|0;a[oa>>0]=i;pa=(d[(b[J+4>>1]|0)+(133833+(U<<2))>>0]|0)+1&255;qa=ta+2|0;a[qa>>0]=pa;ra=(d[(b[J+6>>1]|0)+(133833+(U<<2))>>0]|0)+1&255;sa=ta+3|0;a[sa>>0]=ra;n=e+72|0;Vd[c[n>>2]&127](j,o,V,X,ta);a[ta>>0]=na;a[oa>>0]=i;a[qa>>0]=pa;a[sa>>0]=ra;Vd[c[n>>2]&127](k,o,V,X,ta);break}}while(0);g=o<<2;if(p)break;n=d[h>>0]|0;sa=d[q>>0]|0;ra=(d[133833+(f<<2)+3>>0]|0)+1&255;e=e+72|0;iX(ta|0,ra|0,4)|0;Vd[c[e>>2]&127](j+g|0,o,sa,n,ta);iX(ta|0,ra|0,4)|0;Vd[c[e>>2]&127](k+g|0,o,sa,n,ta);break}}r=(t&16777216|0)!=0;g=c[f+21856>>2]|0;if(r?!(oa|(g&7|0)!=7):0){q=pa;c[q>>2]=131074;c[q+4>>2]=131074;q=pa+16|0;c[q>>2]=131074;c[q+4>>2]=131074;q=pa+32|0;c[q>>2]=131074;c[q+4>>2]=131074;q=pa+48|0;c[q>>2]=131074;c[q+4>>2]=131074;q=4}else{V=0-((t*5|0)>>>5&1)&3|t>>4;X=4-(0-(t>>>3&(g&15|0)==0)&3)|0;Zd[q&3](pa,f+27824|0,f+28272|0,f+27952|0,(c[f+23412>>2]|0)==2&1,X,(t>>24)+1|0,0-((h*5|0)>>>5&1&V>>>1)&3,V,(c[e+26380>>2]|0)!=3&1);q=X}if(h&7|0){X=pa;c[X>>2]=262148;c[X+4>>2]=262148}if(ka&7|0){V=(c[e+26380>>2]|0)!=3;X=pa+32|0;c[X>>2]=V?196611:262148;c[X+4>>2]=V?196611:262148}do if(h|0?(X=pa,V=c[X>>2]|0,s=V&65535,!((V|0)==0&(c[X+4>>2]|0)==0)):0){h=v+ra|0;p=d[133677+h>>0]|0;X=v+sa|0;g=d[133521+X>>0]|0;do if(!(h>>>0<68|X>>>0<68))if(s<<16>>16>3){Ud[c[e+64>>2]&255](i,n,p,g);break}else{a[ta>>0]=a[(s<<16>>16)+(133833+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+2>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+4>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+6>>1]|0)+(133833+(h<<2))>>0]|0;Vd[c[e+52>>2]&127](i,n,p,g,ta);break}while(0);if(ma){p=Y+ra|0;f=d[133677+p>>0]|0;g=Y+sa|0;h=d[133521+g>>0]|0;g=p>>>0<68|g>>>0<68;if(oa){if(g)break;g=b[pa>>1]|0;if(g<<16>>16>3)Ud[c[e+64>>2]&255](j,n,f,h);else{a[ta>>0]=a[(g<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+2>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+4>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+6>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+52>>2]&127](j,n,f,h,ta)}g=b[pa>>1]|0;if(g<<16>>16>3){Ud[c[e+64>>2]&255](k,n,f,h);break}else{a[ta>>0]=a[(g<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+2>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+4>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+6>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+52>>2]&127](k,n,f,h,ta);break}}else{if(g)break;g=b[pa>>1]|0;if(g<<16>>16>3)Ud[c[e+88>>2]&255](j,o,f,h);else{a[ta>>0]=(d[(g<<16>>16)+(133833+(p<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[pa+2>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[pa+4>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[pa+6>>1]|0)+(133833+(p<<2))>>0]|0)+1;Vd[c[e+76>>2]&127](j,o,f,h,ta)}g=b[pa>>1]|0;if(g<<16>>16>3){Ud[c[e+88>>2]&255](k,o,f,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(133833+(p<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[pa+2>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[pa+4>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[pa+6>>1]|0)+(133833+(p<<2))>>0]|0)+1;Vd[c[e+76>>2]&127](k,o,f,h,ta);break}}}}while(0);do if((q|0)==1){if(ka|0?($=pa+32|0,qa=$,na=c[qa>>2]|0,J=na&65535,!((na|0)==0&(c[qa+4>>2]|0)==0)):0){h=ja+ra|0;p=d[133677+h>>0]|0;qa=ja+sa|0;g=d[133521+qa>>0]|0;do if(!(h>>>0<68|qa>>>0<68))if(J<<16>>16>3){Ud[c[e+60>>2]&255](i,n,p,g);break}else{a[ta>>0]=a[(J<<16>>16)+(133833+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+34>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+36>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+38>>1]|0)+(133833+(h<<2))>>0]|0;Vd[c[e+48>>2]&127](i,n,p,g,ta);break}while(0);if(ma){p=la+ra|0;f=d[133677+p>>0]|0;g=la+sa|0;h=d[133521+g>>0]|0;g=p>>>0<68|g>>>0<68;if(oa){if(g)break;g=b[$>>1]|0;if(g<<16>>16>3)Ud[c[e+60>>2]&255](j,n,f,h);else{a[ta>>0]=a[(g<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+48>>2]&127](j,n,f,h,ta)}g=b[$>>1]|0;if(g<<16>>16>3){Ud[c[e+60>>2]&255](k,n,f,h);break}else{a[ta>>0]=a[(g<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+48>>2]&127](k,n,f,h,ta);break}}else{if(g)break;g=b[$>>1]|0;if(g<<16>>16>3)Ud[c[e+84>>2]&255](j,o,f,h);else{a[ta>>0]=(d[(g<<16>>16)+(133833+(p<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0)+1;Vd[c[e+72>>2]&127](j,o,f,h,ta)}g=b[$>>1]|0;if(g<<16>>16>3){Ud[c[e+84>>2]&255](k,o,f,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(133833+(p<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0)+1;Vd[c[e+72>>2]&127](k,o,f,h,ta);break}}}}}else{if(r){r=pa+16|0;ia=r;f=c[ia>>2]|0;do if(!((f|0)==0&(c[ia+4>>2]|0)==0)){g=1<<ga;q=g<<3;h=ra+na|0;p=sa+na|0;if(!(h>>>0<68|p>>>0<68)){ia=d[133521+p>>0]|0;ha=d[133677+h>>0]|0;a[ta>>0]=a[(f<<16>>16)+(133833+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+18>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+20>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+22>>1]|0)+(133833+(h<<2))>>0]|0;Vd[c[e+52>>2]&127](i+q|0,n,ha,ia,ta)}if(ma)if(oa){g=ra+qa|0;h=sa+qa|0;if(g>>>0<68|h>>>0<68)break;ia=d[133521+h>>0]|0;ha=d[133677+g>>0]|0;a[ta>>0]=a[(b[r>>1]|0)+(133833+(g<<2))>>0]|0;_=pa+18|0;$=ta+1|0;a[$>>0]=a[(b[_>>1]|0)+(133833+(g<<2))>>0]|0;ca=pa+20|0;da=ta+2|0;a[da>>0]=a[(b[ca>>1]|0)+(133833+(g<<2))>>0]|0;ea=pa+22|0;fa=ta+3|0;a[fa>>0]=a[(b[ea>>1]|0)+(133833+(g<<2))>>0]|0;ga=e+52|0;Vd[c[ga>>2]&127](j+q|0,n,ha,ia,ta);a[ta>>0]=a[(b[r>>1]|0)+(133833+(g<<2))>>0]|0;a[$>>0]=a[(b[_>>1]|0)+(133833+(g<<2))>>0]|0;a[da>>0]=a[(b[ca>>1]|0)+(133833+(g<<2))>>0]|0;a[fa>>0]=a[(b[ea>>1]|0)+(133833+(g<<2))>>0]|0;Vd[c[ga>>2]&127](k+q|0,n,ha,ia,ta);break}else{g=g<<2;h=ra+qa|0;p=sa+qa|0;if(h>>>0<68|p>>>0<68)break;ia=d[133521+p>>0]|0;ha=d[133677+h>>0]|0;a[ta>>0]=(d[(b[r>>1]|0)+(133833+(h<<2))>>0]|0)+1;_=pa+18|0;$=ta+1|0;a[$>>0]=(d[(b[_>>1]|0)+(133833+(h<<2))>>0]|0)+1;ca=pa+20|0;da=ta+2|0;a[da>>0]=(d[(b[ca>>1]|0)+(133833+(h<<2))>>0]|0)+1;ea=pa+22|0;fa=ta+3|0;a[fa>>0]=(d[(b[ea>>1]|0)+(133833+(h<<2))>>0]|0)+1;ga=e+76|0;Vd[c[ga>>2]&127](j+g|0,o,ha,ia,ta);a[ta>>0]=(d[(b[r>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[$>>0]=(d[(b[_>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[da>>0]=(d[(b[ca>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[fa>>0]=(d[(b[ea>>1]|0)+(133833+(h<<2))>>0]|0)+1;Vd[c[ga>>2]&127](k+g|0,o,ha,ia,ta);break}}while(0);do if(ka|0?(ba=pa+32|0,ka=ba,ia=c[ka>>2]|0,aa=ia&65535,!((ia|0)==0&(c[ka+4>>2]|0)==0)):0){h=ja+ra|0;p=d[133677+h>>0]|0;ka=ja+sa|0;g=d[133521+ka>>0]|0;do if(!(h>>>0<68|ka>>>0<68))if(aa<<16>>16>3){Ud[c[e+60>>2]&255](i,n,p,g);break}else{a[ta>>0]=a[(aa<<16>>16)+(133833+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+34>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+36>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+38>>1]|0)+(133833+(h<<2))>>0]|0;Vd[c[e+48>>2]&127](i,n,p,g,ta);break}while(0);if(ma){p=la+ra|0;f=d[133677+p>>0]|0;g=la+sa|0;h=d[133521+g>>0]|0;g=p>>>0<68|g>>>0<68;if(oa){if(g)break;g=b[ba>>1]|0;if(g<<16>>16>3)Ud[c[e+60>>2]&255](j,n,f,h);else{a[ta>>0]=a[(g<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+48>>2]&127](j,n,f,h,ta)}g=b[ba>>1]|0;if(g<<16>>16>3){Ud[c[e+60>>2]&255](k,n,f,h);break}else{a[ta>>0]=a[(g<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+48>>2]&127](k,n,f,h,ta);break}}else{if(g)break;g=b[ba>>1]|0;if(g<<16>>16>3)Ud[c[e+84>>2]&255](j,o,f,h);else{a[ta>>0]=(d[(g<<16>>16)+(133833+(p<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0)+1;Vd[c[e+72>>2]&127](j,o,f,h,ta)}g=b[ba>>1]|0;if(g<<16>>16>3){Ud[c[e+84>>2]&255](k,o,f,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(133833+(p<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0)+1;Vd[c[e+72>>2]&127](k,o,f,h,ta);break}}}}while(0);q=pa+48|0;la=q;h=c[la>>2]|0;if((h|0)==0&(c[la+4>>2]|0)==0)break;f=n<<3;p=ra+na|0;g=sa+na|0;if(!(p>>>0<68|g>>>0<68)){na=d[133521+g>>0]|0;la=d[133677+p>>0]|0;a[ta>>0]=a[(h<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+50>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+52>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+54>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+48>>2]&127](i+f|0,n,la,na,ta)}if(!ma)break;if(oa){h=ra+qa|0;g=sa+qa|0;if(h>>>0<68|g>>>0<68)break;sa=d[133521+g>>0]|0;ra=d[133677+h>>0]|0;a[ta>>0]=a[(b[q>>1]|0)+(133833+(h<<2))>>0]|0;ma=pa+50|0;na=ta+1|0;a[na>>0]=a[(b[ma>>1]|0)+(133833+(h<<2))>>0]|0;i=pa+52|0;oa=ta+2|0;a[oa>>0]=a[(b[i>>1]|0)+(133833+(h<<2))>>0]|0;qa=pa+54|0;o=ta+3|0;a[o>>0]=a[(b[qa>>1]|0)+(133833+(h<<2))>>0]|0;e=e+48|0;Vd[c[e>>2]&127](j+f|0,n,ra,sa,ta);a[ta>>0]=a[(b[q>>1]|0)+(133833+(h<<2))>>0]|0;a[na>>0]=a[(b[ma>>1]|0)+(133833+(h<<2))>>0]|0;a[oa>>0]=a[(b[i>>1]|0)+(133833+(h<<2))>>0]|0;a[o>>0]=a[(b[qa>>1]|0)+(133833+(h<<2))>>0]|0;Vd[c[e>>2]&127](k+f|0,n,ra,sa,ta);break}else{p=o<<2;h=ra+qa|0;g=sa+qa|0;if(h>>>0<68|g>>>0<68)break;n=d[133521+g>>0]|0;sa=d[133677+h>>0]|0;a[ta>>0]=(d[(b[q>>1]|0)+(133833+(h<<2))>>0]|0)+1;ma=pa+50|0;na=ta+1|0;a[na>>0]=(d[(b[ma>>1]|0)+(133833+(h<<2))>>0]|0)+1;i=pa+52|0;oa=ta+2|0;a[oa>>0]=(d[(b[i>>1]|0)+(133833+(h<<2))>>0]|0)+1;qa=pa+54|0;ra=ta+3|0;a[ra>>0]=(d[(b[qa>>1]|0)+(133833+(h<<2))>>0]|0)+1;e=e+72|0;Vd[c[e>>2]&127](j+p|0,o,sa,n,ta);a[ta>>0]=(d[(b[q>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[na>>0]=(d[(b[ma>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[oa>>0]=(d[(b[i>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(133833+(h<<2))>>0]|0)+1;Vd[c[e>>2]&127](k+p|0,o,sa,n,ta);break}}g=pa+8|0;ba=g;h=c[ba>>2]|0;if(!((h|0)==0&(c[ba+4>>2]|0)==0)){p=4<<ga;f=ra+na|0;q=sa+na|0;if(!(f>>>0<68|q>>>0<68)){ba=d[133521+q>>0]|0;aa=d[133677+f>>0]|0;a[ta>>0]=a[(h<<16>>16)+(133833+(f<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+10>>1]|0)+(133833+(f<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+12>>1]|0)+(133833+(f<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+14>>1]|0)+(133833+(f<<2))>>0]|0;Vd[c[e+52>>2]&127](i+p|0,n,aa,ba,ta)}if(oa?(Z=ra+qa|0,_=sa+qa|0,!(Z>>>0<68|_>>>0<68)):0){ba=d[133521+_>>0]|0;aa=d[133677+Z>>0]|0;a[ta>>0]=a[(b[g>>1]|0)+(133833+(Z<<2))>>0]|0;T=pa+10|0;U=ta+1|0;a[U>>0]=a[(b[T>>1]|0)+(133833+(Z<<2))>>0]|0;V=pa+12|0;X=ta+2|0;a[X>>0]=a[(b[V>>1]|0)+(133833+(Z<<2))>>0]|0;Y=pa+14|0;_=ta+3|0;a[_>>0]=a[(b[Y>>1]|0)+(133833+(Z<<2))>>0]|0;$=e+52|0;Vd[c[$>>2]&127](j+p|0,n,aa,ba,ta);a[ta>>0]=a[(b[g>>1]|0)+(133833+(Z<<2))>>0]|0;a[U>>0]=a[(b[T>>1]|0)+(133833+(Z<<2))>>0]|0;a[X>>0]=a[(b[V>>1]|0)+(133833+(Z<<2))>>0]|0;a[_>>0]=a[(b[Y>>1]|0)+(133833+(Z<<2))>>0]|0;Vd[c[$>>2]&127](k+p|0,n,aa,ba,ta)}}r=pa+16|0;ba=r;g=c[ba>>2]|0;do if(!((g|0)==0&(c[ba+4>>2]|0)==0)){h=1<<ga;q=h<<3;p=ra+na|0;f=sa+na|0;if(!(p>>>0<68|f>>>0<68)){ba=d[133521+f>>0]|0;aa=d[133677+p>>0]|0;a[ta>>0]=a[(g<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+18>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+20>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+22>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+52>>2]&127](i+q|0,n,aa,ba,ta)}if(ma)if(oa){g=ra+qa|0;h=sa+qa|0;if(g>>>0<68|h>>>0<68)break;ba=d[133521+h>>0]|0;aa=d[133677+g>>0]|0;a[ta>>0]=a[(b[r>>1]|0)+(133833+(g<<2))>>0]|0;U=pa+18|0;V=ta+1|0;a[V>>0]=a[(b[U>>1]|0)+(133833+(g<<2))>>0]|0;X=pa+20|0;Y=ta+2|0;a[Y>>0]=a[(b[X>>1]|0)+(133833+(g<<2))>>0]|0;Z=pa+22|0;_=ta+3|0;a[_>>0]=a[(b[Z>>1]|0)+(133833+(g<<2))>>0]|0;$=e+52|0;Vd[c[$>>2]&127](j+q|0,n,aa,ba,ta);a[ta>>0]=a[(b[r>>1]|0)+(133833+(g<<2))>>0]|0;a[V>>0]=a[(b[U>>1]|0)+(133833+(g<<2))>>0]|0;a[Y>>0]=a[(b[X>>1]|0)+(133833+(g<<2))>>0]|0;a[_>>0]=a[(b[Z>>1]|0)+(133833+(g<<2))>>0]|0;Vd[c[$>>2]&127](k+q|0,n,aa,ba,ta);break}else{g=h<<2;h=ra+qa|0;p=sa+qa|0;if(h>>>0<68|p>>>0<68)break;ba=d[133521+p>>0]|0;aa=d[133677+h>>0]|0;a[ta>>0]=(d[(b[r>>1]|0)+(133833+(h<<2))>>0]|0)+1;U=pa+18|0;V=ta+1|0;a[V>>0]=(d[(b[U>>1]|0)+(133833+(h<<2))>>0]|0)+1;X=pa+20|0;Y=ta+2|0;a[Y>>0]=(d[(b[X>>1]|0)+(133833+(h<<2))>>0]|0)+1;Z=pa+22|0;_=ta+3|0;a[_>>0]=(d[(b[Z>>1]|0)+(133833+(h<<2))>>0]|0)+1;$=e+76|0;Vd[c[$>>2]&127](j+g|0,o,aa,ba,ta);a[ta>>0]=(d[(b[r>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[V>>0]=(d[(b[U>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[Y>>0]=(d[(b[X>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[_>>0]=(d[(b[Z>>1]|0)+(133833+(h<<2))>>0]|0)+1;Vd[c[$>>2]&127](k+g|0,o,aa,ba,ta);break}}while(0);f=pa+24|0;ba=f;q=c[ba>>2]|0;if(!((q|0)==0&(c[ba+4>>2]|0)==0)){g=12<<ga;h=ra+na|0;p=sa+na|0;if(!(h>>>0<68|p>>>0<68)){ga=d[133521+p>>0]|0;ba=d[133677+h>>0]|0;a[ta>>0]=a[(q<<16>>16)+(133833+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+26>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+28>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+30>>1]|0)+(133833+(h<<2))>>0]|0;Vd[c[e+52>>2]&127](i+g|0,n,ba,ga,ta)}if(oa?(ca=ra+qa|0,da=sa+qa|0,!(ca>>>0<68|da>>>0<68)):0){ga=d[133521+da>>0]|0;da=d[133677+ca>>0]|0;a[ta>>0]=a[(b[f>>1]|0)+(133833+(ca<<2))>>0]|0;X=pa+26|0;Y=ta+1|0;a[Y>>0]=a[(b[X>>1]|0)+(133833+(ca<<2))>>0]|0;Z=pa+28|0;_=ta+2|0;a[_>>0]=a[(b[Z>>1]|0)+(133833+(ca<<2))>>0]|0;$=pa+30|0;aa=ta+3|0;a[aa>>0]=a[(b[$>>1]|0)+(133833+(ca<<2))>>0]|0;ba=e+52|0;Vd[c[ba>>2]&127](j+g|0,n,da,ga,ta);a[ta>>0]=a[(b[f>>1]|0)+(133833+(ca<<2))>>0]|0;a[Y>>0]=a[(b[X>>1]|0)+(133833+(ca<<2))>>0]|0;a[_>>0]=a[(b[Z>>1]|0)+(133833+(ca<<2))>>0]|0;a[aa>>0]=a[(b[$>>1]|0)+(133833+(ca<<2))>>0]|0;Vd[c[ba>>2]&127](k+g|0,n,da,ga,ta)}}do if(ka|0?(fa=pa+32|0,ka=fa,ga=c[ka>>2]|0,ea=ga&65535,!((ga|0)==0&(c[ka+4>>2]|0)==0)):0){h=ja+ra|0;p=d[133677+h>>0]|0;ka=ja+sa|0;g=d[133521+ka>>0]|0;do if(!(h>>>0<68|ka>>>0<68))if(ea<<16>>16>3){Ud[c[e+60>>2]&255](i,n,p,g);break}else{a[ta>>0]=a[(ea<<16>>16)+(133833+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+34>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+36>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+38>>1]|0)+(133833+(h<<2))>>0]|0;Vd[c[e+48>>2]&127](i,n,p,g,ta);break}while(0);if(ma){p=la+ra|0;f=d[133677+p>>0]|0;g=la+sa|0;h=d[133521+g>>0]|0;g=p>>>0<68|g>>>0<68;if(oa){if(g)break;g=b[fa>>1]|0;if(g<<16>>16>3)Ud[c[e+60>>2]&255](j,n,f,h);else{a[ta>>0]=a[(g<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+48>>2]&127](j,n,f,h,ta)}g=b[fa>>1]|0;if(g<<16>>16>3){Ud[c[e+60>>2]&255](k,n,f,h);break}else{a[ta>>0]=a[(g<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+48>>2]&127](k,n,f,h,ta);break}}else{if(g)break;g=b[fa>>1]|0;if(g<<16>>16>3)Ud[c[e+84>>2]&255](j,o,f,h);else{a[ta>>0]=(d[(g<<16>>16)+(133833+(p<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0)+1;Vd[c[e+72>>2]&127](j,o,f,h,ta)}g=b[fa>>1]|0;if(g<<16>>16>3){Ud[c[e+84>>2]&255](k,o,f,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(133833+(p<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[pa+34>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[pa+36>>1]|0)+(133833+(p<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[pa+38>>1]|0)+(133833+(p<<2))>>0]|0)+1;Vd[c[e+72>>2]&127](k,o,f,h,ta);break}}}}while(0);g=pa+40|0;la=g;h=c[la>>2]|0;if(!((h|0)==0&(c[la+4>>2]|0)==0)){p=n<<2;f=ra+na|0;q=sa+na|0;if(!(f>>>0<68|q>>>0<68)){la=d[133521+q>>0]|0;ka=d[133677+f>>0]|0;a[ta>>0]=a[(h<<16>>16)+(133833+(f<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+42>>1]|0)+(133833+(f<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+44>>1]|0)+(133833+(f<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+46>>1]|0)+(133833+(f<<2))>>0]|0;Vd[c[e+48>>2]&127](i+p|0,n,ka,la,ta)}if(oa?(ha=ra+qa|0,ia=sa+qa|0,!(ha>>>0<68|ia>>>0<68)):0){la=d[133521+ia>>0]|0;ka=d[133677+ha>>0]|0;a[ta>>0]=a[(b[g>>1]|0)+(133833+(ha<<2))>>0]|0;ca=pa+42|0;da=ta+1|0;a[da>>0]=a[(b[ca>>1]|0)+(133833+(ha<<2))>>0]|0;ea=pa+44|0;fa=ta+2|0;a[fa>>0]=a[(b[ea>>1]|0)+(133833+(ha<<2))>>0]|0;ga=pa+46|0;ia=ta+3|0;a[ia>>0]=a[(b[ga>>1]|0)+(133833+(ha<<2))>>0]|0;ja=e+48|0;Vd[c[ja>>2]&127](j+p|0,n,ka,la,ta);a[ta>>0]=a[(b[g>>1]|0)+(133833+(ha<<2))>>0]|0;a[da>>0]=a[(b[ca>>1]|0)+(133833+(ha<<2))>>0]|0;a[fa>>0]=a[(b[ea>>1]|0)+(133833+(ha<<2))>>0]|0;a[ia>>0]=a[(b[ga>>1]|0)+(133833+(ha<<2))>>0]|0;Vd[c[ja>>2]&127](k+p|0,n,ka,la,ta)}}q=pa+48|0;la=q;g=c[la>>2]|0;do if(!((g|0)==0&(c[la+4>>2]|0)==0)){f=n<<3;h=ra+na|0;p=sa+na|0;if(!(h>>>0<68|p>>>0<68)){la=d[133521+p>>0]|0;ka=d[133677+h>>0]|0;a[ta>>0]=a[(g<<16>>16)+(133833+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+50>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+52>>1]|0)+(133833+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+54>>1]|0)+(133833+(h<<2))>>0]|0;Vd[c[e+48>>2]&127](i+f|0,n,ka,la,ta)}if(ma)if(oa){g=ra+qa|0;h=sa+qa|0;if(g>>>0<68|h>>>0<68)break;o=d[133521+h>>0]|0;ma=d[133677+g>>0]|0;a[ta>>0]=a[(b[q>>1]|0)+(133833+(g<<2))>>0]|0;fa=pa+50|0;ga=ta+1|0;a[ga>>0]=a[(b[fa>>1]|0)+(133833+(g<<2))>>0]|0;ha=pa+52|0;ia=ta+2|0;a[ia>>0]=a[(b[ha>>1]|0)+(133833+(g<<2))>>0]|0;ja=pa+54|0;ka=ta+3|0;a[ka>>0]=a[(b[ja>>1]|0)+(133833+(g<<2))>>0]|0;la=e+48|0;Vd[c[la>>2]&127](j+f|0,n,ma,o,ta);a[ta>>0]=a[(b[q>>1]|0)+(133833+(g<<2))>>0]|0;a[ga>>0]=a[(b[fa>>1]|0)+(133833+(g<<2))>>0]|0;a[ia>>0]=a[(b[ha>>1]|0)+(133833+(g<<2))>>0]|0;a[ka>>0]=a[(b[ja>>1]|0)+(133833+(g<<2))>>0]|0;Vd[c[la>>2]&127](k+f|0,n,ma,o,ta);break}else{g=o<<2;h=ra+qa|0;p=sa+qa|0;if(h>>>0<68|p>>>0<68)break;ma=d[133521+p>>0]|0;la=d[133677+h>>0]|0;a[ta>>0]=(d[(b[q>>1]|0)+(133833+(h<<2))>>0]|0)+1;ea=pa+50|0;fa=ta+1|0;a[fa>>0]=(d[(b[ea>>1]|0)+(133833+(h<<2))>>0]|0)+1;ga=pa+52|0;ha=ta+2|0;a[ha>>0]=(d[(b[ga>>1]|0)+(133833+(h<<2))>>0]|0)+1;ia=pa+54|0;ja=ta+3|0;a[ja>>0]=(d[(b[ia>>1]|0)+(133833+(h<<2))>>0]|0)+1;ka=e+72|0;Vd[c[ka>>2]&127](j+g|0,o,la,ma,ta);a[ta>>0]=(d[(b[q>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[fa>>0]=(d[(b[ea>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[ha>>0]=(d[(b[ga>>1]|0)+(133833+(h<<2))>>0]|0)+1;a[ja>>0]=(d[(b[ia>>1]|0)+(133833+(h<<2))>>0]|0)+1;Vd[c[ka>>2]&127](k+g|0,o,la,ma,ta);break}}while(0);f=pa+56|0;o=f;h=c[o>>2]|0;if(!((h|0)==0&(c[o+4>>2]|0)==0)){q=n*12|0;p=ra+na|0;g=sa+na|0;if(!(p>>>0<68|g>>>0<68)){o=d[133521+g>>0]|0;na=d[133677+p>>0]|0;a[ta>>0]=a[(h<<16>>16)+(133833+(p<<2))>>0]|0;a[ta+1>>0]=a[(b[pa+58>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+2>>0]=a[(b[pa+60>>1]|0)+(133833+(p<<2))>>0]|0;a[ta+3>>0]=a[(b[pa+62>>1]|0)+(133833+(p<<2))>>0]|0;Vd[c[e+48>>2]&127](i+q|0,n,na,o,ta)}if(oa){h=ra+qa|0;g=sa+qa|0;if(h>>>0<68|g>>>0<68)break;sa=d[133521+g>>0]|0;ra=d[133677+h>>0]|0;a[ta>>0]=a[(b[f>>1]|0)+(133833+(h<<2))>>0]|0;ma=pa+58|0;na=ta+1|0;a[na>>0]=a[(b[ma>>1]|0)+(133833+(h<<2))>>0]|0;i=pa+60|0;oa=ta+2|0;a[oa>>0]=a[(b[i>>1]|0)+(133833+(h<<2))>>0]|0;qa=pa+62|0;o=ta+3|0;a[o>>0]=a[(b[qa>>1]|0)+(133833+(h<<2))>>0]|0;e=e+48|0;Vd[c[e>>2]&127](j+q|0,n,ra,sa,ta);a[ta>>0]=a[(b[f>>1]|0)+(133833+(h<<2))>>0]|0;a[na>>0]=a[(b[ma>>1]|0)+(133833+(h<<2))>>0]|0;a[oa>>0]=a[(b[i>>1]|0)+(133833+(h<<2))>>0]|0;a[o>>0]=a[(b[qa>>1]|0)+(133833+(h<<2))>>0]|0;Vd[c[e>>2]&127](k+q|0,n,ra,sa,ta)}}}while(0)}else ua=3;while(0);if((ua|0)==3)hk(e,f,g,h,i,j,k,n,o);l=va;return}function jk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=a[d+28272+e>>0]|0;k=a[d+28272+f>>0]|0;h=j<<24>>24!=k<<24>>24;if(!(j<<24>>24==-1|h)){h=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=(((h|0)>-1?h:0-h|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6}do if((c[d+23412>>2]|0)==2){if(!h){i=a[d+28312+e>>0]|0;h=a[d+28312+f>>0]|0;l=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;if(!((i<<24>>24!=h<<24>>24?1:((b[d+28112+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|(((l|0)>-1?l:0-l|0)|0)>=(g|0))){h=0;break}}else{h=a[d+28312+f>>0]|0;i=a[d+28312+e>>0]|0}if(j<<24>>24!=h<<24>>24?1:i<<24>>24!=k<<24>>24)h=1;else{l=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;h=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=((((l|0)>-1?l:0-l|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|((b[d+28112+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6|(((h|0)>-1?h:0-h|0)|0)>=(g|0)}}while(0);return h&1|0}function kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a>>2]|0;d=((b|0)>-1?b:0-b|0)+63&-32;f=a+27788|0;g=a+27804|0;Ol(f,g,d*96|0);b=a+27792|0;Ol(b,a+27808|0,d*42|0);d=a+27796|0;h=h+27012|0;Pl(d,a+27812|0,(c[h>>2]|0)*96|0);e=a+27800|0;Pl(e,a+27816|0,(c[h>>2]|0)*96|0);if((((c[f>>2]|0)!=0?(c[b>>2]|0)!=0:0)?(c[d>>2]|0)!=0:0)?(c[e>>2]|0)!=0:0)b=0;else{Qf(f);Qf(b);Qf(d);Qf(e);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;b=-12}return b|0}function lk(a){a=a|0;var b=0;b=0-(mk(a)|0)&7;if(b|0)Nl(a,b);return}function mk(a){a=a|0;return c[a+8>>2]|0}function nk(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(mk(a)|0)|0}function ok(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;g=a+16|0;c[a+12>>2]=b;c[a+20>>2]=b+e;h=b+1|0;c[g>>2]=h;f=(d[b>>0]|0)<<18;c[a>>2]=f;e=b+2|0;c[g>>2]=e;f=(d[h>>0]|0)<<10|f;c[a>>2]=f;if(!(e&1))e=512;else{c[g>>2]=b+3;e=(d[e>>0]|0)<<2|2}h=f+e|0;c[a>>2]=h;c[a+4>>2]=510;return ((h|0)>66846720?-1094995529:0)|0}function pk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;b=(c[d+848>>2]|0)+48+(N(c[(c[b+28216>>2]|0)+1184>>2]|0,-6)|0)|0;b=(b|0)>0?((b|0)<51?b:51):0;if((c[d+840>>2]|0)==1)f=142165;else f=136021+(c[d+33928>>2]<<11)|0;e=0;while(1){if((e|0)==1024)break;g=(N(b,a[f+(e<<1)>>0]|0)|0)>>4;g=(g+(a[f+(e<<1)+1>>0]|0)<<1)+-127|0;g=g>>31^g;a[d+32904+e>>0]=(g|0)>124?g&1|124:g;e=e+1|0}return}function qk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a>>2]|0;if(c[a+29672>>2]|0)Ml((c[a+25628>>2]|0)+24|0,b,d,e,f,g);return}function rk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;qa=l;l=l+80|0;if((l|0)>=(m|0))W(80);ia=qa+40|0;da=qa+32|0;s=qa+24|0;t=qa+16|0;p=qa+8|0;u=qa;la=qa+72|0;aa=qa+56|0;ba=qa+52|0;X=qa+48|0;ka=f+28216|0;fa=c[ka>>2]|0;ma=f+28212|0;o=c[(c[ma>>2]|0)+64>>2]|0;k=fa+12|0;ea=((c[k>>2]|0)+-1|0)>>>0<2;na=c[f+25664>>2]|0;ga=g+21788|0;h=c[ga>>2]|0;ha=g+21792|0;i=c[ha>>2]|0;_=f+27016|0;pa=(N(c[_>>2]|0,i)|0)+h|0;oa=g+21796|0;c[oa>>2]=pa;ca=g+840|0;Z=f+26376|0;if((c[ca>>2]|0)!=1){if(!((c[Z>>2]|0)==0|(i&1|0)==0)?(c[g+21648>>2]|0)!=0:0)h=c[g+21652>>2]|0;else h=nl(f,g,h,i)|0;if(h){if((c[Z>>2]|0?(c[ha>>2]&1|0)==0:0)?(c[(c[f+24364>>2]|0)+(pa<<2)>>2]=2048,oa=nl(f,g,c[ga>>2]|0,(c[ha>>2]|0)+1|0)|0,c[g+21652>>2]=oa,(oa|0)==0):0){oa=ol(f,g)|0;c[g+21828>>2]=oa;c[g+21832>>2]=oa}pl(f,g);b[(c[f+26392>>2]|0)+(pa<<1)>>1]=0;a[(c[f+26396>>2]|0)+pa>>0]=0;c[g+864>>2]=0;h=0}else ja=12}else ja=12;a:do if((ja|0)==12){if(c[Z>>2]|0?(c[ha>>2]&1|0)==0:0){$=ol(f,g)|0;c[g+21828>>2]=$;c[g+21832>>2]=$}c[g+21648>>2]=0;Y=g+21828|0;ql(f,g,0-(c[Y>>2]|0)|0);b:do switch(c[ca>>2]|0){case 3:{j=g+32856|0;c:do if(!(rl(j,28-(((c[g+21740>>2]|0)+511|0)>>>8&1)+(((c[g+21732>>2]|0)+511|0)>>>8&1^1)+(g+32904)|0)|0)){c[la>>2]=0;h=0}else{if(!(rl(j,g+32934|0)|0)){h=(rl(j,g+32936|0)|0)+1|0;c[la>>2]=h;break}i=(rl(j,g+32935|0)|0)<<3;h=g+32936|0;i=((rl(j,h)|0)<<2)+i|0;i=i+((rl(j,h)|0)<<1)|0;i=i+(rl(j,h)|0)|0;if((i|0)<8){h=i+3|0;c[la>>2]=h;break}switch(i|0){case 13:{h=sl(g,32,0)|0;c[la>>2]=h;ja=36;break b}case 14:{c[la>>2]=11;h=11;break c}case 15:{c[la>>2]=22;h=22;break c}default:{h=(i<<1)+-4+(rl(j,h)|0)|0;c[la>>2]=h;break c}}}while(0);i=a[113990+(h<<2)+2>>0]|0;h=e[113990+(h<<2)>>1]|0;c[la>>2]=h;$=0;break}case 2:{h=g+32856|0;if(rl(h,g+32918|0)|0){h=sl(g,17,0)|0;c[la>>2]=h;ja=36;break b}if(!(rl(h,g+32919|0)|0))h=(rl(h,g+32920|0)|0)*3|0;else h=2-(rl(h,g+32921|0)|0)|0;i=a[113954+(h<<2)+2>>0]|0;h=e[113954+(h<<2)>>1]|0;c[la>>2]=h;$=0;break}default:{h=sl(g,3,1)|0;c[la>>2]=h;if(h|0?(c[g+836>>2]|0)==5:0){h=h+-1|0;c[la>>2]=h;ja=36}else ja=36}}while(0);if((ja|0)==36){$=d[113850+(h<<2)+3>>0]|0;c[g+21660>>2]=d[113850+(h<<2)+2>>0];h=e[113850+(h<<2)>>1]|0;c[la>>2]=h;i=0}if(c[Y>>2]|0){h=h|128;c[la>>2]=h}b[(c[f+26372>>2]|0)+(pa<<1)>>1]=c[g+832>>2];if(h&4|0){i=(N(c[fa+1184>>2]|0,e[114134+(c[k>>2]<<1)>>1]|0)|0)>>3;j=g+32856|0;h=c[g+32872>>2]|0;k=c[j>>2]|0;h=(k&1|0)==0?h:h+-1|0;h=(k&511|0)==0?h:h+-1|0;k=c[g+32876>>2]|0;if((k-h|0)<(i|0)){h=-1;break}c[g+27780>>2]=h;h=h+i|0;h=ok(j,h,k-h|0)|0;if((h|0)<0)break;b[(c[f+26392>>2]|0)+(pa<<1)>>1]=-2065;a[(c[f+26396>>2]|0)+pa>>0]=0;a[(c[f+24340>>2]|0)+pa>>0]=0;j=(c[f+25972>>2]|0)+(pa*48|0)|0;k=j+48|0;do{a[j>>0]=16;j=j+1|0}while((j|0)<(k|0));c[(c[f+24364>>2]|0)+(pa<<2)>>2]=c[la>>2];c[g+864>>2]=0;h=0;break}tl(f,g,h);d:do if(!(h&7)){if(i<<24>>24==4){e:do if((c[ca>>2]|0)==3){h=0;while(1){if((h|0)==4)break;V=wl(g)|0;c[aa+(h<<2)>>2]=d[114082+((V&65535)<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[114082+((V&65535)<<2)>>1]|0;h=h+1|0}if((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256){Kk(f,g,la);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;h=0;while(1){if((h|0)==4)break e;V=(d[146266+(h<<2)>>0]|0)+(g+28512)|0;U=((e[g+28552+(h<<1)>>1]|0)>>>1&255)*257&65535;b[V>>1]=U;b[V+8>>1]=U;h=h+1|0}}}else{h=0;while(1){if((h|0)==4)break e;V=xl(g)|0;c[aa+(h<<2)>>2]=d[113974+((V&65535)<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[113974+((V&65535)<<2)>>1]|0;h=h+1|0}}while(0);V=g+23412|0;r=g+21832|0;q=0;f:while(1){h=c[V>>2]|0;if(q>>>0>=h>>>0){ja=80;break}n=4096<<(q<<1);p=g+23404+(q<<2)|0;k=0;while(1){if((k|0)>=4)break;h=e[g+28552+(k<<1)>>1]|0;if(!(h&256)){if(n&h){i=c[p>>2]<<c[r>>2];if(i>>>0>1){j=k<<2;h=yl(g,q,j)|0;if(h>>>0>=i>>>0){ja=75;break f}}else{h=0;ja=76}}else{h=-1;ja=76}if((ja|0)==76){ja=0;j=k<<2}T=h&255;U=d[146266+j>>0]|0;a[U+9+(g+28272+(q*40|0))>>0]=T;a[U+8+(g+28272+(q*40|0))>>0]=T;a[U+1+(g+28272+(q*40|0))>>0]=T}k=k+1|0}q=q+1|0}do if((ja|0)==75){g=c[f+4>>2]|0;c[u>>2]=h;c[u+4>>2]=i;Uf(g,16,135569,u);h=-1}else if((ja|0)==80){if(!o)o=0;else{U=(c[(c[ka>>2]|0)+72>>2]|0)==0;o=g+28552|0;o=(((U?24117616:7340144)&c[o>>2]|0)==0?((U?24117616:7340144)&c[o+4>>2]|0)==0:0)&1}Q=f+24312|0;R=g+21740|0;S=g+21720|0;T=f+26360|0;U=f+26368|0;P=0;g:while(1){if(P>>>0>=h>>>0){ja=129;break}L=P<<1;I=4096<<L;J=g+28272+(P*40|0)+11|0;K=g+27952+(P*160|0)+40|0;L=12288<<L;M=g+27952+(P*160|0)+42|0;H=0;while(1){if((H|0)>=4)break;O=H<<2;h=d[146266+O>>0]|0;a[g+28272+(P*40|0)+h>>0]=a[h+1+(g+28272+(P*40|0))>>0]|0;i=e[g+28552+(H<<1)>>1]|0;h:do if(!(i&256)){if(!(I&i)){c[g+27952+(P*160|0)+(h<<2)>>2]=0;c[g+27952+(P*160|0)+(h<<2)+4>>2]=0;c[g+27952+(P*160|0)+(h<<2)+32>>2]=0;c[g+27952+(P*160|0)+(h<<2)+36>>2]=0;ja=125;break}D=i&24|0?2:1;E=c[aa+(H<<2)>>2]|0;F=(i&8|0)==0;G=(i&16|0)==0;z=(i&32|0)==0;y=0;while(1){if((y|0)>=(E|0))break h;h=a[146266+((N(y,D)|0)+O)>>0]|0;A=h&255;B=g+27952+(P*160|0)+(A<<2)|0;C=g+28352+(P*80|0)+(A<<1)|0;q=a[g+28272+(P*40|0)+A>>0]|0;r=q<<24>>24;w=A+-8|0;t=a[g+28272+(P*40|0)+w>>0]|0;x=A+-1|0;u=a[g+28272+(P*40|0)+x>>0]|0;s=g+27952+(P*160|0)+(x<<2)|0;v=g+27952+(P*160|0)+(w<<2)|0;i=w+D|0;j=a[g+28272+(P*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((A&7|0)==4&((h&255)>19&(j&(c[Z>>2]|0)!=0))){if((a[J>>0]|0)==-2){ja=99;break}p=c[(c[Q>>2]|0)+48>>2]|0;c[K>>2]=0;n=(c[R>>2]&128|0)==0;if(!(c[Y>>2]|0)){if(n){ja=99;break}n=c[_>>2]|0;h=n+(c[S>>2]|0)|0;i=(c[ha>>2]<<1&2)+(A>>>5)|0;if(!(c[p+((N(i>>>2,n)|0)+h<<2)>>2]&L)){n=K;k=-1;break}k=c[Q>>2]|0;p=c[k+36+(P<<2)>>2]|0;n=(c[(c[T>>2]|0)+(h<<2)>>2]|0)+3+(N(c[U>>2]|0,i)|0)|0;b[K>>1]=b[p+(n<<2)>>1]|0;b[M>>1]=b[p+(n<<2)+2>>1]<<1;n=K;k=a[(c[k+68+(P<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!n){ja=99;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=A>>>2;if(!(c[p+(h<<2)>>2]&L)){n=K;k=-1;break}k=c[Q>>2]|0;p=c[k+36+(P<<2)>>2]|0;n=(c[(c[T>>2]|0)+(h<<2)>>2]|0)+3+(N(c[U>>2]|0,i&3)|0)|0;b[K>>1]=b[p+(n<<2)>>1]|0;b[M>>1]=(b[p+(n<<2)+2>>1]|0)/2|0;n=K;k=a[(c[k+68+(P<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ja=99;while(0);do if((ja|0)==99){ja=0;if(j){k=A+-9|0;n=g+27952+(P*160|0)+(k<<2)|0;k=a[g+28272+(P*40|0)+k>>0]|0;break}else{n=g+27952+(P*160|0)+(i<<2)|0;break}}while(0);j=t<<24>>24==q<<24>>24;i=u<<24>>24==q<<24>>24;h=(i&1)+(j&1)+((k|0)==(r|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[s>>1]|0;if(u<<24>>24!=-2&(t<<24>>24==-2&(k|0)==-2)){i=b[g+27952+(P*160|0)+(x<<2)+2>>1]|0;break}else{h=zl(h,b[v>>1]|0,b[n>>1]|0)|0;i=zl(b[g+27952+(P*160|0)+(x<<2)+2>>1]|0,b[g+27952+(P*160|0)+(w<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(i){h=b[s>>1]|0;i=b[g+27952+(P*160|0)+(x<<2)+2>>1]|0;break}if(j){h=b[v>>1]|0;i=b[g+27952+(P*160|0)+(w<<2)+2>>1]|0;break}else{h=b[n>>1]|0;i=b[n+2>>1]|0;break}}else{h=zl(b[s>>1]|0,b[v>>1]|0,b[n>>1]|0)|0;i=zl(b[g+27952+(P*160|0)+(x<<2)+2>>1]|0,b[g+27952+(P*160|0)+(w<<2)+2>>1]|0,b[n+2>>1]|0)|0}while(0);p=(d[g+28352+(P*80|0)+(w<<1)+1>>0]|0)+(d[g+28352+(P*80|0)+(x<<1)+1>>0]|0)|0;w=Al(g,40,(d[g+28352+(P*80|0)+(w<<1)>>0]|0)+(d[g+28352+(P*80|0)+(x<<1)>>0]|0)|0,ba)|0;x=Al(g,47,p,X)|0;p=w+h|0;n=x+i|0;if((w|0)==-2147483648|(x|0)==-2147483648){ja=123;break g}do if(F){if(!G){b[B+4>>1]=p;b[B+6>>1]=n;i=c[ba>>2]|0;a[C+2>>0]=i;h=c[X>>2]|0;j=h&255;k=1;ja=121;break}if(z){i=c[ba>>2]|0;h=c[X>>2]|0;break}else{b[B+32>>1]=p;b[B+34>>1]=n;i=c[ba>>2]|0;a[C+16>>0]=i;h=c[X>>2]|0;j=h&255;k=8;ja=121;break}}else{i=p&65535;b[B+36>>1]=i;b[B+32>>1]=i;b[B+4>>1]=i;i=n&65535;b[B+38>>1]=i;b[B+34>>1]=i;b[B+6>>1]=i;i=c[ba>>2]|0;h=i&255;a[C+18>>0]=h;a[C+16>>0]=h;a[C+2>>0]=h;h=c[X>>2]|0;j=h&255;a[C+19>>0]=j;a[C+17>>0]=j;k=1;ja=121}while(0);if((ja|0)==121){ja=0;a[C+(k<<1)+1>>0]=j}b[B>>1]=p;b[g+27952+(P*160|0)+(A<<2)+2>>1]=n;a[C>>0]=i;a[g+28352+(P*80|0)+(A<<1)+1>>0]=h;y=y+1|0}}else ja=125;while(0);if((ja|0)==125){ja=0;c[g+28352+(P*80|0)+(h<<1)>>2]=0;c[g+28352+(P*80|0)+(h<<1)+16>>2]=0}H=H+1|0}P=P+1|0;h=c[V>>2]|0}if((ja|0)==123){h=-1094995529;break}else if((ja|0)==129)break d}while(0);break a}if(h&256|0){Kk(f,g,la);c[g+28376>>2]=0;c[g+28380>>2]=0;c[g+28392>>2]=0;c[g+28396>>2]=0;c[g+28408>>2]=0;c[g+28412>>2]=0;c[g+28424>>2]=0;c[g+28428>>2]=0;c[g+28456>>2]=0;c[g+28460>>2]=0;c[g+28472>>2]=0;c[g+28476>>2]=0;c[g+28488>>2]=0;c[g+28492>>2]=0;c[g+28504>>2]=0;c[g+28508>>2]=0;o=c[fa+72>>2]&o;break}if(h&8|0){v=g+23412|0;k=c[la>>2]|0;n=g+21832|0;j=0;while(1){h=c[v>>2]|0;if(j>>>0>=h>>>0)break;if(k&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<<c[n>>2];if(i>>>0>1){h=yl(g,j,0)|0;if(h>>>0>=i>>>0){ja=140;break}}else h=0;_=N(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=_;c[g+28272+(j*40|0)+20>>2]=_;c[g+28272+(j*40|0)+28>>2]=_;c[g+28272+(j*40|0)+36>>2]=_}j=j+1|0}if((ja|0)==140){g=c[f+4>>2]|0;c[p>>2]=h;c[p+4>>2]=i;Uf(g,16,135569,p);h=-1;break a}u=0;while(1){if(u>>>0>=h>>>0)break d;if(c[la>>2]&4096<<(u<<1)){i=a[g+28272+(u*40|0)+12>>0]|0;q=a[g+28272+(u*40|0)+4>>0]|0;r=a[g+28272+(u*40|0)+11>>0]|0;p=g+27952+(u*160|0)+44|0;s=g+27952+(u*160|0)+16|0;h=a[g+28272+(u*40|0)+8>>0]|0;if(h<<24>>24==-2){t=g+27952+(u*160|0)+12|0;n=a[g+28272+(u*40|0)+3>>0]|0}else{t=g+27952+(u*160|0)+32|0;n=h<<24>>24}j=q<<24>>24==i<<24>>24;k=r<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((n|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){k=b[p>>1]|0;if(r<<24>>24!=-2&(q<<24>>24==-2&(n|0)==-2)){h=b[g+27952+(u*160|0)+46>>1]|0;break}else{k=zl(k,b[s>>1]|0,b[t>>1]|0)|0;h=zl(b[g+27952+(u*160|0)+46>>1]|0,b[g+27952+(u*160|0)+18>>1]|0,b[t+2>>1]|0)|0;break}}if(k){k=b[p>>1]|0;h=b[g+27952+(u*160|0)+46>>1]|0;break}if(j){k=b[s>>1]|0;h=b[g+27952+(u*160|0)+18>>1]|0;break}else{k=b[t>>1]|0;h=b[t+2>>1]|0;break}}else{k=zl(b[p>>1]|0,b[s>>1]|0,b[t>>1]|0)|0;h=zl(b[g+27952+(u*160|0)+46>>1]|0,b[g+27952+(u*160|0)+18>>1]|0,b[t+2>>1]|0)|0}while(0);j=(d[g+28352+(u*80|0)+9>>0]|0)+(d[g+28352+(u*80|0)+23>>0]|0)|0;i=Al(g,40,(d[g+28352+(u*80|0)+8>>0]|0)+(d[g+28352+(u*80|0)+22>>0]|0)|0,aa)|0;j=Al(g,47,j,ba)|0;if((i|0)==-2147483648|(j|0)==-2147483648)break;_=(c[ba>>2]<<8&65280|c[aa>>2]&255)*65537|0;c[g+28352+(u*80|0)+24>>2]=_;c[g+28352+(u*80|0)+28>>2]=_;c[g+28352+(u*80|0)+40>>2]=_;c[g+28352+(u*80|0)+44>>2]=_;c[g+28352+(u*80|0)+56>>2]=_;c[g+28352+(u*80|0)+60>>2]=_;c[g+28352+(u*80|0)+72>>2]=_;c[g+28352+(u*80|0)+76>>2]=_;h=j+h<<16|i+k&65535;c[g+27952+(u*160|0)+48>>2]=h;c[g+27952+(u*160|0)+52>>2]=h;c[g+27952+(u*160|0)+56>>2]=h;c[g+27952+(u*160|0)+60>>2]=h;c[g+27952+(u*160|0)+80>>2]=h;c[g+27952+(u*160|0)+84>>2]=h;c[g+27952+(u*160|0)+88>>2]=h;c[g+27952+(u*160|0)+92>>2]=h;c[g+27952+(u*160|0)+112>>2]=h;c[g+27952+(u*160|0)+116>>2]=h;c[g+27952+(u*160|0)+120>>2]=h;c[g+27952+(u*160|0)+124>>2]=h;c[g+27952+(u*160|0)+144>>2]=h;c[g+27952+(u*160|0)+148>>2]=h;c[g+27952+(u*160|0)+152>>2]=h;c[g+27952+(u*160|0)+156>>2]=h;h=c[v>>2]|0}u=u+1|0}h=-1094995529;break a}U=g+23412|0;q=c[la>>2]|0;r=g+21832|0;if(!(h&16))p=0;else{p=0;i:while(1){h=c[U>>2]|0;if(p>>>0>=h>>>0)break;k=p<<1;n=g+23404+(p<<2)|0;j=0;while(1){if((j|0)>=2)break;if(!(q&4096<<j+k))h=-1;else{i=c[n>>2]<<c[r>>2];if(i>>>0>1){h=yl(g,p,j<<3)|0;if(h>>>0>=i>>>0){ja=171;break i}}else h=0;h=N(h,16843009)|0}X=(j<<4|12)+(g+28272+(p*40|0))|0;c[X>>2]=h;c[X+8>>2]=h;j=j+1|0}p=p+1|0}if((ja|0)==171){g=c[f+4>>2]|0;c[t>>2]=h;c[t+4>>2]=i;Uf(g,16,135569,t);h=-1;break a}P=f+24312|0;Q=g+21740|0;R=g+21720|0;S=f+26360|0;T=f+26368|0;O=0;j:while(1){if(O>>>0>=h>>>0)break d;B=O<<1;C=g+28272+(O*40|0)+4|0;D=g+27952+(O*160|0)+16|0;E=g+27952+(O*160|0)+18|0;F=g+28272+(O*40|0)+11|0;G=g+27952+(O*160|0)+40|0;H=12288<<B;I=g+27952+(O*160|0)+42|0;J=g+28272+(O*40|0)+27|0;K=g+27952+(O*160|0)+108|0;L=g+27952+(O*160|0)+110|0;A=0;while(1){if((A|0)>=2)break;if(!(c[la>>2]&4096<<A+B)){X=A<<4|12;c[g+28352+(O*80|0)+(X<<1)>>2]=0;c[g+28352+(O*80|0)+(X<<1)+4>>2]=0;c[g+28352+(O*80|0)+(X<<1)+16>>2]=0;c[g+28352+(O*80|0)+(X<<1)+20>>2]=0;V=g+27952+(O*160|0)+(X<<2)|0;X=g+27952+(O*160|0)+(X<<2)+32|0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[X+12>>2]=0}else{z=A<<3;M=A<<4|12;r=a[g+28272+(O*40|0)+M>>0]|0;s=r<<24>>24;do if(!A){if((a[C>>0]|0)!=r<<24>>24){ja=183;break}k=b[D>>1]|0;j=b[E>>1]|0}else{if((a[J>>0]|0)!=r<<24>>24){ja=183;break}k=b[K>>1]|0;j=b[L>>1]|0}while(0);do if((ja|0)==183){ja=0;k=a[146266+z>>0]|0;p=k&255;y=p+-8|0;w=a[g+28272+(O*40|0)+y>>0]|0;x=p+-1|0;u=a[g+28272+(O*40|0)+x>>0]|0;t=g+27952+(O*160|0)+(x<<2)|0;v=g+27952+(O*160|0)+(y<<2)|0;h=p+-4|0;i=a[g+28272+(O*40|0)+h>>0]|0;n=i<<24>>24;i=i<<24>>24==-2;do if((p&7|0)==4&((k&255)>19&(i&(c[Z>>2]|0)!=0))){if((a[F>>0]|0)==-2){ja=192;break}q=c[(c[P>>2]|0)+48>>2]|0;c[G>>2]=0;j=(c[Q>>2]&128|0)==0;if(!(c[Y>>2]|0)){if(j){ja=192;break}X=c[_>>2]|0;i=X+(c[R>>2]|0)|0;h=(c[ha>>2]<<1&2)+(p>>>5)|0;if(!(c[q+((N(h>>>2,X)|0)+i<<2)>>2]&H)){p=G;n=-1;break}n=c[P>>2]|0;X=c[n+36+(O<<2)>>2]|0;p=(c[(c[S>>2]|0)+(i<<2)>>2]|0)+3+(N(c[T>>2]|0,h)|0)|0;b[G>>1]=b[X+(p<<2)>>1]|0;b[I>>1]=b[X+(p<<2)+2>>1]<<1;p=G;n=a[(c[n+68+(O<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!j){ja=192;break}i=c[g+21720+(((k&255)>35&1)<<2)>>2]|0;h=p>>>2;if(!(c[q+(i<<2)>>2]&H)){p=G;n=-1;break}n=c[P>>2]|0;X=c[n+36+(O<<2)>>2]|0;p=(c[(c[S>>2]|0)+(i<<2)>>2]|0)+3+(N(c[T>>2]|0,h&3)|0)|0;b[G>>1]=b[X+(p<<2)>>1]|0;b[I>>1]=(b[X+(p<<2)+2>>1]|0)/2|0;p=G;n=a[(c[n+68+(O<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ja=192;while(0);do if((ja|0)==192){ja=0;if(i){n=p+-9|0;p=g+27952+(O*160|0)+(n<<2)|0;n=a[g+28272+(O*40|0)+n>>0]|0;break}else{p=g+27952+(O*160|0)+(h<<2)|0;break}}while(0);j=w<<24>>24==r<<24>>24;i=u<<24>>24==r<<24>>24;h=(i&1)+(j&1)+((n|0)==(s|0)&1)|0;if(h>>>0>1){k=zl(b[t>>1]|0,b[v>>1]|0,b[p>>1]|0)|0;j=zl(b[g+27952+(O*160|0)+(x<<2)+2>>1]|0,b[g+27952+(O*160|0)+(y<<2)+2>>1]|0,b[p+2>>1]|0)|0;break}if((h|0)!=1){k=b[t>>1]|0;if(u<<24>>24!=-2&(w<<24>>24==-2&(n|0)==-2)){j=b[g+27952+(O*160|0)+(x<<2)+2>>1]|0;break}else{k=zl(k,b[v>>1]|0,b[p>>1]|0)|0;j=zl(b[g+27952+(O*160|0)+(x<<2)+2>>1]|0,b[g+27952+(O*160|0)+(y<<2)+2>>1]|0,b[p+2>>1]|0)|0;break}}if(i){k=b[t>>1]|0;j=b[g+27952+(O*160|0)+(x<<2)+2>>1]|0;break}if(j){k=b[v>>1]|0;j=b[g+27952+(O*160|0)+(y<<2)+2>>1]|0;break}else{k=b[p>>1]|0;j=b[p+2>>1]|0;break}}while(0);X=d[146266+z>>0]|0;h=X+-1|0;X=X+-8|0;i=(d[g+28352+(O*80|0)+(X<<1)+1>>0]|0)+(d[g+28352+(O*80|0)+(h<<1)+1>>0]|0)|0;h=Al(g,40,(d[g+28352+(O*80|0)+(X<<1)>>0]|0)+(d[g+28352+(O*80|0)+(h<<1)>>0]|0)|0,aa)|0;i=Al(g,47,i,ba)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break j;X=(c[ba>>2]<<8&65280|c[aa>>2]&255)*65537|0;c[g+28352+(O*80|0)+(M<<1)>>2]=X;c[g+28352+(O*80|0)+(M<<1)+4>>2]=X;c[g+28352+(O*80|0)+(M<<1)+16>>2]=X;c[g+28352+(O*80|0)+(M<<1)+20>>2]=X;X=i+j<<16|h+k&65535;c[g+27952+(O*160|0)+(M<<2)>>2]=X;c[g+27952+(O*160|0)+(M<<2)+4>>2]=X;c[g+27952+(O*160|0)+(M<<2)+8>>2]=X;c[g+27952+(O*160|0)+(M<<2)+12>>2]=X;c[g+27952+(O*160|0)+(M<<2)+32>>2]=X;c[g+27952+(O*160|0)+(M<<2)+36>>2]=X;c[g+27952+(O*160|0)+(M<<2)+40>>2]=X;c[g+27952+(O*160|0)+(M<<2)+44>>2]=X}A=A+1|0}O=O+1|0;h=c[U>>2]|0}h=-1094995529;break a}k:while(1){h=c[U>>2]|0;if(p>>>0>=h>>>0)break;k=p<<1;n=g+23404+(p<<2)|0;j=0;while(1){if((j|0)>=2)break;if(!(q&4096<<j+k))h=-1;else{i=c[n>>2]<<c[r>>2];if(i>>>0>1){h=yl(g,p,j<<2)|0;if(h>>>0>=i>>>0){ja=220;break k}}else h=0;h=h*257&65535}X=(j<<1)+12+(g+28272+(p*40|0))|0;b[X>>1]=h;b[X+8>>1]=h;b[X+16>>1]=h;b[X+24>>1]=h;j=j+1|0}p=p+1|0}if((ja|0)==220){g=c[f+4>>2]|0;c[s>>2]=h;c[s+4>>2]=i;Uf(g,16,135569,s);h=-1;break a}P=f+24312|0;Q=g+21740|0;R=g+21720|0;S=f+26360|0;T=f+26368|0;O=0;l:while(1){if(O>>>0>=h>>>0)break d;B=O<<1;C=g+28272+(O*40|0)+11|0;D=g+27952+(O*160|0)+44|0;E=g+27952+(O*160|0)+46|0;F=g+27952+(O*160|0)+40|0;G=12288<<B;H=g+27952+(O*160|0)+42|0;I=g+28272+(O*40|0)+8|0;J=g+27952+(O*160|0)+20|0;K=g+28272+(O*40|0)+5|0;L=g+27952+(O*160|0)+32|0;A=0;while(1){if((A|0)>=2)break;if(!(c[la>>2]&4096<<A+B)){X=(A<<1)+12|0;c[g+28352+(O*80|0)+(X<<1)>>2]=0;c[g+28352+(O*80|0)+(X<<1)+16>>2]=0;c[g+28352+(O*80|0)+(X<<1)+32>>2]=0;c[g+28352+(O*80|0)+(X<<1)+48>>2]=0;c[g+27952+(O*160|0)+(X<<2)>>2]=0;c[g+27952+(O*160|0)+(X<<2)+4>>2]=0;c[g+27952+(O*160|0)+(X<<2)+32>>2]=0;c[g+27952+(O*160|0)+(X<<2)+36>>2]=0;c[g+27952+(O*160|0)+(X<<2)+64>>2]=0;c[g+27952+(O*160|0)+(X<<2)+68>>2]=0;c[g+27952+(O*160|0)+(X<<2)+96>>2]=0;c[g+27952+(O*160|0)+(X<<2)+100>>2]=0}else{z=A<<2;M=(A<<1)+12|0;s=a[g+28272+(O*40|0)+M>>0]|0;w=s<<24>>24;do if(!A)if((a[C>>0]|0)==s<<24>>24){k=b[D>>1]|0;j=b[E>>1]|0}else ja=234;else{h=a[I>>0]|0;if(h<<24>>24==-2){i=J;h=a[K>>0]|0}else i=L;if(h<<24>>24!=s<<24>>24){ja=234;break}k=b[i>>1]|0;j=b[i+2>>1]|0}while(0);do if((ja|0)==234){ja=0;h=a[146266+z>>0]|0;p=h&255;x=p+-8|0;t=a[g+28272+(O*40|0)+x>>0]|0;y=p+-1|0;u=a[g+28272+(O*40|0)+y>>0]|0;r=g+27952+(O*160|0)+(y<<2)|0;v=g+27952+(O*160|0)+(x<<2)|0;i=p+-6|0;j=a[g+28272+(O*40|0)+i>>0]|0;n=j<<24>>24;j=j<<24>>24==-2;do if((p&7|0)==4&((h&255)>19&(j&(c[Z>>2]|0)!=0))){if((a[C>>0]|0)==-2){ja=243;break}q=c[(c[P>>2]|0)+48>>2]|0;c[F>>2]=0;k=(c[Q>>2]&128|0)==0;if(!(c[Y>>2]|0)){if(k){ja=243;break}X=c[_>>2]|0;i=X+(c[R>>2]|0)|0;h=(c[ha>>2]<<1&2)+(p>>>5)|0;if(!(c[q+((N(h>>>2,X)|0)+i<<2)>>2]&G)){p=F;n=-1;break}n=c[P>>2]|0;X=c[n+36+(O<<2)>>2]|0;p=(c[(c[S>>2]|0)+(i<<2)>>2]|0)+3+(N(c[T>>2]|0,h)|0)|0;b[F>>1]=b[X+(p<<2)>>1]|0;b[H>>1]=b[X+(p<<2)+2>>1]<<1;p=F;n=a[(c[n+68+(O<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!k){ja=243;break}i=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;h=p>>>2;if(!(c[q+(i<<2)>>2]&G)){p=F;n=-1;break}n=c[P>>2]|0;X=c[n+36+(O<<2)>>2]|0;p=(c[(c[S>>2]|0)+(i<<2)>>2]|0)+3+(N(c[T>>2]|0,h&3)|0)|0;b[F>>1]=b[X+(p<<2)>>1]|0;b[H>>1]=(b[X+(p<<2)+2>>1]|0)/2|0;p=F;n=a[(c[n+68+(O<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ja=243;while(0);do if((ja|0)==243){ja=0;if(j){n=p+-9|0;p=g+27952+(O*160|0)+(n<<2)|0;n=a[g+28272+(O*40|0)+n>>0]|0;break}else{p=g+27952+(O*160|0)+(i<<2)|0;break}}while(0);j=t<<24>>24==s<<24>>24;i=u<<24>>24==s<<24>>24;h=(i&1)+(j&1)+((n|0)==(w|0)&1)|0;if(h>>>0>1){k=zl(b[r>>1]|0,b[v>>1]|0,b[p>>1]|0)|0;j=zl(b[g+27952+(O*160|0)+(y<<2)+2>>1]|0,b[g+27952+(O*160|0)+(x<<2)+2>>1]|0,b[p+2>>1]|0)|0;break}if((h|0)!=1){k=b[r>>1]|0;if(u<<24>>24!=-2&(t<<24>>24==-2&(n|0)==-2)){j=b[g+27952+(O*160|0)+(y<<2)+2>>1]|0;break}else{k=zl(k,b[v>>1]|0,b[p>>1]|0)|0;j=zl(b[g+27952+(O*160|0)+(y<<2)+2>>1]|0,b[g+27952+(O*160|0)+(x<<2)+2>>1]|0,b[p+2>>1]|0)|0;break}}if(i){k=b[r>>1]|0;j=b[g+27952+(O*160|0)+(y<<2)+2>>1]|0;break}if(j){k=b[v>>1]|0;j=b[g+27952+(O*160|0)+(x<<2)+2>>1]|0;break}else{k=b[p>>1]|0;j=b[p+2>>1]|0;break}}while(0);X=d[146266+z>>0]|0;h=X+-1|0;X=X+-8|0;i=(d[g+28352+(O*80|0)+(X<<1)+1>>0]|0)+(d[g+28352+(O*80|0)+(h<<1)+1>>0]|0)|0;h=Al(g,40,(d[g+28352+(O*80|0)+(X<<1)>>0]|0)+(d[g+28352+(O*80|0)+(h<<1)>>0]|0)|0,aa)|0;i=Al(g,47,i,ba)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break l;X=(c[ba>>2]<<8&65280|c[aa>>2]&255)*65537|0;c[g+28352+(O*80|0)+(M<<1)>>2]=X;c[g+28352+(O*80|0)+(M<<1)+16>>2]=X;c[g+28352+(O*80|0)+(M<<1)+32>>2]=X;c[g+28352+(O*80|0)+(M<<1)+48>>2]=X;X=i+j<<16|h+k&65535;c[g+27952+(O*160|0)+(M<<2)>>2]=X;c[g+27952+(O*160|0)+(M<<2)+4>>2]=X;c[g+27952+(O*160|0)+(M<<2)+32>>2]=X;c[g+27952+(O*160|0)+(M<<2)+36>>2]=X;c[g+27952+(O*160|0)+(M<<2)+64>>2]=X;c[g+27952+(O*160|0)+(M<<2)+68>>2]=X;c[g+27952+(O*160|0)+(M<<2)+96>>2]=X;c[g+27952+(O*160|0)+(M<<2)+100>>2]=X}A=A+1|0}O=O+1|0;h=c[U>>2]|0}h=-1094995529;break a}else{if(!(h&1)){aa=g+21660|0;ba=Ik(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[aa>>2]|0,0)|0;c[aa>>2]=ba;if((ba|0)<0){h=-1;break a}}else{m:do if((o|0)!=0?(rl(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)!=0:0){c[la>>2]=h|16777216;h=0;while(1){if((h|0)>=16)break m;ba=d[146266+h>>0]|0;aa=a[ba+-1+(g+21664)>>0]|0;_=a[ba+-8+(g+21664)>>0]|0;aa=(aa|0)>(_|0)?_:aa;ba=g+21664+ba|0;aa=(ul(g,(aa|0)<0?2:aa)|0)*257&65535;b[ba>>1]=aa;b[ba+8>>1]=aa;h=h+4|0}}else{h=0;ja=50}while(0);n:do if((ja|0)==50)while(1){ja=0;if((h|0)==16)break n;ja=d[146266+h>>0]|0;ba=a[ja+-1+(g+21664)>>0]|0;aa=a[ja+-8+(g+21664)>>0]|0;ba=(ba|0)>(aa|0)?aa:ba;a[g+21664+ja>>0]=ul(g,(ba|0)<0?2:ba)|0;h=h+1|0;ja=50}while(0);ba=(c[g+21704>>2]|0)+(c[(c[f+26364>>2]|0)+(c[oa>>2]<<2)>>2]|0)|0;c[ba>>2]=c[g+21700>>2];a[ba+4>>0]=a[g+21695>>0]|0;a[ba+5>>0]=a[g+21687>>0]|0;a[ba+6>>0]=a[g+21679>>0]|0;if((Hk(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<0){h=-1;break a}}if(ea){h=vl(f,g)|0;a[(c[f+26396>>2]|0)+pa>>0]=h;h=Ik(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,h,1)|0;if((h|0)<0){h=-1;break a}}else h=6;c[g+21656>>2]=h}while(0);if(c[la>>2]&120|0){a[(c[f+26396>>2]|0)+pa>>0]=0;k=c[la>>2]|0;h=c[f+26368>>2]|0;i=(N(h<<2,c[ha>>2]|0)|0)+(c[ga>>2]<<2)|0;n=c[oa>>2]<<2;if(!(k&12288)){ba=(c[f+24384>>2]|0)+n|0;b[ba>>1]=-1;b[ba+2>>1]=-1}else{j=(c[f+24352>>2]|0)+(i<<2)|0;aa=g+28e3|0;ba=c[aa+4>>2]|0;Z=j;c[Z>>2]=c[aa>>2];c[Z+4>>2]=ba;Z=g+28008|0;ba=c[Z+4>>2]|0;aa=j+8|0;c[aa>>2]=c[Z>>2];c[aa+4>>2]=ba;aa=g+28032|0;ba=c[aa+4>>2]|0;Z=j+(h<<2)|0;_=Z;c[_>>2]=c[aa>>2];c[_+4>>2]=ba;_=g+28040|0;ba=c[_+4>>2]|0;Z=Z+8|0;c[Z>>2]=c[_>>2];c[Z+4>>2]=ba;Z=g+28064|0;ba=c[Z+4>>2]|0;_=j+(h<<1<<2)|0;aa=_;c[aa>>2]=c[Z>>2];c[aa+4>>2]=ba;aa=g+28072|0;ba=c[aa+4>>2]|0;_=_+8|0;c[_>>2]=c[aa>>2];c[_+4>>2]=ba;_=g+28096|0;ba=c[_+4>>2]|0;j=j+(h*3<<2)|0;aa=j;c[aa>>2]=c[_>>2];c[aa+4>>2]=ba;aa=g+28104|0;ba=c[aa+4>>2]|0;j=j+8|0;c[j>>2]=c[aa>>2];c[j+4>>2]=ba;j=(c[g+32848>>2]|0)+(c[(c[f+26364>>2]|0)+(c[oa>>2]<<2)>>2]<<1)|0;if(!(k&2048)){_=g+28424|0;aa=c[_+4>>2]|0;ba=j;c[ba>>2]=c[_>>2];c[ba+4>>2]=aa;ba=j+6|0;b[ba+6>>1]=b[g+28382>>1]|0;b[ba+4>>1]=b[g+28398>>1]|0;b[ba+2>>1]=b[g+28414>>1]|0}else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}ba=(c[f+24384>>2]|0)+n|0;a[ba>>0]=a[g+28284>>0]|0;a[ba+1>>0]=a[g+28286>>0]|0;a[ba+2>>0]=a[g+28300>>0]|0;a[ba+3>>0]=a[g+28302>>0]|0}if(k&49152|0){aa=(c[f+24356>>2]|0)+(i<<2)|0;Z=g+28160|0;ba=c[Z+4>>2]|0;Y=aa;c[Y>>2]=c[Z>>2];c[Y+4>>2]=ba;Y=g+28168|0;ba=c[Y+4>>2]|0;Z=aa+8|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=ba;Z=g+28192|0;ba=c[Z+4>>2]|0;Y=aa+(h<<2)|0;_=Y;c[_>>2]=c[Z>>2];c[_+4>>2]=ba;_=g+28200|0;ba=c[_+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[_>>2];c[Y+4>>2]=ba;Y=g+28224|0;ba=c[Y+4>>2]|0;_=aa+(h<<1<<2)|0;Z=_;c[Z>>2]=c[Y>>2];c[Z+4>>2]=ba;Z=g+28232|0;ba=c[Z+4>>2]|0;_=_+8|0;c[_>>2]=c[Z>>2];c[_+4>>2]=ba;_=g+28256|0;ba=c[_+4>>2]|0;h=aa+(h*3<<2)|0;aa=h;c[aa>>2]=c[_>>2];c[aa+4>>2]=ba;aa=g+28264|0;ba=c[aa+4>>2]|0;h=h+8|0;c[h>>2]=c[aa>>2];c[h+4>>2]=ba;h=(c[g+32852>>2]|0)+(c[(c[f+26364>>2]|0)+(c[oa>>2]<<2)>>2]<<1)|0;if(!(k&2048)){_=g+28504|0;aa=c[_+4>>2]|0;ba=h;c[ba>>2]=c[_>>2];c[ba+4>>2]=aa;ba=h+6|0;b[ba+6>>1]=b[g+28462>>1]|0;b[ba+4>>1]=b[g+28478>>1]|0;b[ba+2>>1]=b[g+28494>>1]|0}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}ba=(c[f+24388>>2]|0)+n|0;a[ba>>0]=a[g+28324>>0]|0;a[ba+1>>0]=a[g+28326>>0]|0;a[ba+2>>0]=a[g+28340>>0]|0;a[ba+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[ca>>2]|0)!=3)){ca=(c[f+26408>>2]|0)+(c[oa>>2]<<2)|0;a[ca+1>>0]=(e[g+28554>>1]|0)>>>1;a[ca+2>>0]=(e[g+28556>>1]|0)>>>1;a[ca+3>>0]=(e[g+28558>>1]|0)>>>1}}if(!(c[la>>2]&2)){h=Bl(g)|0;if(ea)w=(Cl(g)|0)<<4|h;else w=h}else if($>>>0>15&(ea^1)){Uf(c[f+4>>2]|0,16,135589,da);h=-1094995529;break}else w=$;c[g+21856>>2]=w;b[(c[f+26392>>2]|0)+(pa<<1)>>1]=w;u=(w&15|0)==0;if(!((o|0)==0|u)?(c[la>>2]&7|0)==0:0){ea=(rl(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)<<24;c[la>>2]=c[la>>2]|ea}k=c[la>>2]|0;do if(!((k&16777216|0)==0?1:(c[(c[ka>>2]|0)+12>>2]|0)!=3)){if((c[f+25704>>2]|0)>>>0>=151){h=0;while(1){if((h|0)==2)break;i=c[g+21740+(h<<2)>>2]|0;if((i|0)!=0&(i&16777216|0)==0){da=i<<4&64;ea=h<<4;a[ea+99+(g+27824)>>0]=da;a[ea+91+(g+27824)>>0]=da;a[ea+59+(g+27824)>>0]=da;a[ea+51+(g+27824)>>0]=da;a[ea+19+(g+27824)>>0]=da;a[(ea|11)+(g+27824)>>0]=da}h=h+1|0}ea=c[g+21732>>2]|0;h=(ea&4|0)==0?0:1077952576;if(!((ea|0)!=0&(ea&16777216|0)==0))break;c[g+27828>>2]=h;c[g+27868>>2]=h;c[g+27908>>2]=h;break}i=k&7;j=i|0?64:0;h=0;while(1){if((h|0)==2)break;ea=c[g+21740+(h<<2)>>2]|0;if((ea|0)!=0&(ea&16777216|0)==0){ea=h<<4;a[ea+99+(g+27824)>>0]=j;a[ea+91+(g+27824)>>0]=j;a[ea+59+(g+27824)>>0]=j;a[ea+51+(g+27824)>>0]=j;a[ea+19+(g+27824)>>0]=j;a[(ea|11)+(g+27824)>>0]=j}h=h+1|0}ea=c[g+21732>>2]|0;if((ea|0)!=0&(ea&16777216|0)==0){ea=(i|0)==0?0:1077952576;c[g+27828>>2]=ea;c[g+27868>>2]=ea;c[g+27908>>2]=ea}}while(0);c[(c[f+24364>>2]|0)+(pa<<2)>>2]=k;if((w|0)==0?(c[la>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;c[g+864>>2]=0;h=g+848|0}else ja=302;o:do if((ja|0)==302){x=g+32856|0;o=g+864|0;do if(rl(x,(c[o>>2]|0?61:60)+(g+32904)|0)|0){k=(c[fa+1184>>2]|0)*6|0;n=k+3|0;i=n<<1;h=62;j=1;while(1){if(!(rl(x,g+32904+h|0)|0)){ja=306;break}if((j|0)<(i|0)){h=63;j=j+1|0}else{ja=429;break}}if((ja|0)==306){s=j+1>>1;s=(j&1|0)==0?0-s|0:s;c[o>>2]=s;h=g+848|0;s=(c[h>>2]|0)+s|0;s=(s>>>0>n>>>0?((s|0)<0?k+4|0:-4-k|0):0)+s|0;c[h>>2]=s;ja=c[ma>>2]|0;c[g+852>>2]=d[ja+548+s>>0];c[g+856>>2]=d[ja+636+s>>0];break}else if((ja|0)==429){h=c[f+4>>2]|0;g=c[ha>>2]|0;c[ia>>2]=c[ga>>2];c[ia+4>>2]=g;Uf(h,16,135602,ia);h=-1;break a}}else{c[o>>2]=0;s=g+848|0;h=s;s=c[s>>2]|0}while(0);i=c[la>>2]|0;ja=(i&128|0)==0;t=(s|0)!=0;v=ja?(t?f+26428|0:f+26716|0):t?f+26572|0:f+26860|0;t=ja?(t?f+26444|0:f+26732|0):t?f+26588|0:f+26876|0;p:do if(!(i&2)){r=i&7|0?0:3;q=(i&16777216|0)==0;p=0;while(1){if((p|0)==4)break p;q:do if(!(1<<p&w)){ja=(d[146266+(p<<2)>>0]|0)+(g+27824)|0;b[ja>>1]=0;b[ja+8>>1]=0}else{if(!q){i=p<<2;j=g+28560+(p<<6<<na<<1)|0;k=(c[(c[ma>>2]|0)+173812+(r<<2)>>2]|0)+(s<<8)|0;do if((c[(c[ka>>2]|0)+12>>2]|0)==3){n=d[146266+i>>0]|0;ja=(a[n+-1+(g+27824)>>0]|0)!=0&1;if(Dl(x,((a[n+-8+(g+27824)>>0]|0?ja|2:ja)|1012)+(g+32904)|0)|0)break;ja=g+27824+n|0;b[ja>>1]=0;b[ja+8>>1]=0;break q}while(0);Fl(f,g,j,5,i,t,k,64);break}j=(c[(c[ma>>2]|0)+173788+(r<<2)>>2]|0)+(s<<6)|0;k=p<<2;i=0;while(1){if((i|0)==4)break q;n=i+k|0;o=d[146266+n>>0]|0;ja=(a[o+-1+(g+27824)>>0]|0)!=0&1;if(!(Dl(x,(a[o+-8+(g+27824)>>0]|0?ja|2:ja)+93+(g+32904)|0)|0))a[g+27824+o>>0]=0;else Fl(f,g,g+28560+(n<<4<<na<<1)|0,2,n,v,j,16);i=i+1|0}}while(0);p=p+1|0}}else{i=g+31632|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Dl(x,((c[g+21860>>2]|0)>>>7&2|(c[g+21864>>2]|0)>>>8&1)+85+(g+32904)|0)|0))a[g+27824>>0]=0;else El(f,g,i,0,48,v,16);if(u){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;break}j=(c[(c[ma>>2]|0)+173788>>2]|0)+(s<<6)|0;k=v+1|0;i=0;while(1){if((i|0)==16)break p;n=d[146266+i>>0]|0;ja=(a[n+-1+(g+27824)>>0]|0)!=0&1;if(!(Dl(x,(a[n+-8+(g+27824)>>0]|0?ja|2:ja)+89+(g+32904)|0)|0))a[g+27824+n>>0]=0;else Fl(f,g,g+28560+(i<<4<<na<<1)|0,1,i,k,j,15);i=i+1|0}}while(0);j=c[(c[ka>>2]|0)+12>>2]|0;if((j|0)!=3){i=(w&48|0)!=0;if((j|0)!=2){r:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break r;n=i+49|0;ja=1<<i+6;ka=(c[j>>2]&ja|0)!=0&1;if(!(Dl(x,(c[k>>2]&ja|0?ka|2:ka)+97+(g+32904)|0)|0))a[(d[146266+n>>0]|0)+(g+27824)>>0]=0;else El(f,g,g+28560+((i<<8)+256<<na<<1)|0,3,n,123670,4);i=i+1|0}}while(0);if(!(w&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}o=v+1|0;i=0;s:while(1){if((i|0)==2)break o;p=i+1|0;q=(c[(c[ma>>2]|0)+173788+((c[la>>2]&7|0?0:3)+p<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;j=(i<<4)+16|0;i=0;while(1){if((i|0)==4){i=p;continue s}k=j+i|0;n=d[146266+k>>0]|0;ka=(a[n+-1+(g+27824)>>0]|0)!=0&1;if(!(Dl(x,(a[n+-8+(g+27824)>>0]|0?ka|2:ka)+101+(g+32904)|0)|0))a[g+27824+n>>0]=0;else Fl(f,g,g+28560+(k<<4<<na<<1)|0,4,k,o,q,15);i=i+1|0}}}t:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break t;n=i+49|0;ja=1<<i+6;ka=(c[j>>2]&ja|0)!=0&1;if(!(Dl(x,(c[k>>2]&ja|0?ka|2:ka)+97+(g+32904)|0)|0))a[(d[146266+n>>0]|0)+(g+27824)>>0]=0;else Gl(f,g,g+28560+((i<<8)+256<<na<<1)|0,n);i=i+1|0}}while(0);if(!(w&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}w=16<<na;s=v+1|0;t=w<<2;i=0;u:while(1){if((i|0)==2)break o;u=(i<<4)+16|0;v=i+1|0;o=(c[(c[ma>>2]|0)+173788+((c[la>>2]&7|0?0:3)+v<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;i=g+28560+(u<<4<<na<<1)|0;j=0;while(1){if((j|0)==2){i=v;continue u}p=(j<<3)+u|0;k=0;n=i;while(1){if((k|0)==4)break;q=p+k|0;r=d[146266+q>>0]|0;ka=(a[r+-1+(g+27824)>>0]|0)!=0&1;if(!(Dl(x,(a[r+-8+(g+27824)>>0]|0?ka|2:ka)+101+(g+32904)|0)|0))a[g+27824+r>>0]=0;else Fl(f,g,n,4,q,s,o,15);k=k+1|0;n=n+(w<<1)|0}i=i+(t<<1)|0;j=j+1|0}}}i=c[la>>2]|0;s=c[g+852>>2]|0;v:do if(!(i&2)){r=i&7|0?1:4;q=(i&16777216|0)==0;p=0;while(1){if((p|0)==4)break v;w:do if(!(1<<p&w)){ka=(d[146266+((p<<2)+16)>>0]|0)+(g+27824)|0;b[ka>>1]=0;b[ka+8>>1]=0}else{if(!q){i=(p<<2)+16|0;j=c[(c[ma>>2]|0)+173812+(r<<2)>>2]|0;k=d[146266+i>>0]|0;ka=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Dl(x,((a[k+-8+(g+27824)>>0]|0?ka|2:ka)|1016)+(g+32904)|0)|0)){ka=g+27824+k|0;b[ka>>1]=0;b[ka+8>>1]=0;break}else{Fl(f,g,g+28560+(i<<4<<na<<1)|0,9,i,t,j+(s<<8)|0,64);break}}j=(c[(c[ma>>2]|0)+173788+(r<<2)>>2]|0)+(s<<6)|0;k=(p<<2)+16|0;i=0;while(1){if((i|0)==4)break w;n=k+i|0;o=d[146266+n>>0]|0;ka=(a[o+-1+(g+27824)>>0]|0)!=0&1;if(!(Dl(x,((a[o+-8+(g+27824)>>0]|0?ka|2:ka)|468)+(g+32904)|0)|0))a[g+27824+o>>0]=0;else Fl(f,g,g+28560+(n<<4<<na<<1)|0,8,n,v,j,16);i=i+1|0}}while(0);p=p+1|0}}else{i=g+31696|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Dl(x,((c[g+21864>>2]|0)>>>9&1|(c[g+21860>>2]|0)>>>8&2|460)+(g+32904)|0)|0))a[g+27864>>0]=0;else El(f,g,i,6,49,v,16);if(u){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}j=(c[(c[ma>>2]|0)+173792>>2]|0)+(s<<6)|0;k=v+1|0;i=0;while(1){if((i|0)==16)break v;n=i+16|0;o=d[146266+n>>0]|0;ka=(a[o+-1+(g+27824)>>0]|0)!=0&1;if(!(Dl(x,((a[o+-8+(g+27824)>>0]|0?ka|2:ka)|464)+(g+32904)|0)|0))a[g+27824+o>>0]=0;else Fl(f,g,g+28560+(n<<4<<na<<1)|0,7,n,k,j,15);i=i+1|0}}while(0);i=c[la>>2]|0;s=c[g+856>>2]|0;if(i&2|0){i=g+31760|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Dl(x,((c[g+21864>>2]|0)>>>10&1|(c[g+21860>>2]|0)>>>9&2|472)+(g+32904)|0)|0))a[g+27904>>0]=0;else El(f,g,i,10,50,v,16);if(u){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}o=(c[(c[ma>>2]|0)+173796>>2]|0)+(s<<6)|0;j=v+1|0;i=0;while(1){if((i|0)==16)break o;k=i+32|0;n=d[146266+k>>0]|0;ma=(a[n+-1+(g+27824)>>0]|0)!=0&1;if(!(Dl(x,((a[n+-8+(g+27824)>>0]|0?ma|2:ma)|476)+(g+32904)|0)|0))a[g+27824+n>>0]=0;else Fl(f,g,g+28560+(k<<4<<na<<1)|0,11,k,j,o,15);i=i+1|0}}r=i&7|0?2:5;q=(i&16777216|0)==0;p=0;while(1){if((p|0)==4)break o;x:do if(!(1<<p&w)){la=(d[146266+((p<<2)+32)>>0]|0)+(g+27824)|0;b[la>>1]=0;b[la+8>>1]=0}else{if(!q){i=(p<<2)+32|0;j=c[(c[ma>>2]|0)+173812+(r<<2)>>2]|0;k=d[146266+i>>0]|0;la=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Dl(x,((a[k+-8+(g+27824)>>0]|0?la|2:la)|1020)+(g+32904)|0)|0)){la=g+27824+k|0;b[la>>1]=0;b[la+8>>1]=0;break}else{Fl(f,g,g+28560+(i<<4<<na<<1)|0,13,i,t,j+(s<<8)|0,64);break}}j=(c[(c[ma>>2]|0)+173788+(r<<2)>>2]|0)+(s<<6)|0;k=(p<<2)+32|0;i=0;while(1){if((i|0)==4)break x;n=k+i|0;o=d[146266+n>>0]|0;la=(a[o+-1+(g+27824)>>0]|0)!=0&1;if(!(Dl(x,((a[o+-8+(g+27824)>>0]|0?la|2:la)|480)+(g+32904)|0)|0))a[g+27824+o>>0]=0;else Fl(f,g,g+28560+(n<<4<<na<<1)|0,12,n,v,j,16);i=i+1|0}}while(0);p=p+1|0}}while(0);a[(c[f+24340>>2]|0)+pa>>0]=c[h>>2];h=c[oa>>2]|0;i=c[f+25972>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25680>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);l=qa;return h|0}function sk(a,b){a=a|0;b=b|0;if((c[(c[a+28216>>2]|0)+12>>2]|0)==3)al(a,b);else bl(a,b);return}function tk(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){_k(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+26380|0;h=(c[i>>2]|0)!=3&1;k=c[b+21792>>2]>>h<<4;h=c[a+27008>>2]<<4>>h;g=c[a+26376>>2]|0;d=16<<g;g=20<<g;j=(c[b+868>>2]|0)==0;d=(j|(k+d|0)<(h|0)?0:g)+d|0;g=k-(j?0:g)|0;if((!((h|0)<=(g|0)|(d+g|0)<0)?(f=h-g|0,e=(g|0)<0,f=((d|0)>(f|0)?f:d)+(e?g:0)|0,e=e?0:g,Zk(a,b,e,f),(c[a+25684>>2]|0)==0):0)?(c[(c[(c[b>>2]|0)+25628>>2]|0)+600>>2]|0)==0:0)yi((c[a+24312>>2]|0)+4|0,e+-1+f|0,(c[i>>2]|0)==2&1);return}function vk(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;f=c[a+27016>>2]|0;g=(N(f,c[b+21792>>2]|0)|0)+(c[b+21788>>2]|0)|0;h=c[a+26372>>2]|0;d=g+-1|0;i=c[b+832>>2]|0;if((i|0)!=(e[h+(d<<1)>>1]|0|0)){d=g-f|0;if((i|0)==(e[h+(d<<1)>>1]|0|0))j=3;else d=0}else j=3;if((j|0)==3)d=(c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&1;c[b+21828>>2]=d;c[b+21832>>2]=d;return}
function YU(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ZU(a)|0;break}d=(OT(a)|0)==0;b=ZU(a)|0;if(!d)PT(a)}else{if(!(c[27081]|0))b=0;else b=YU(c[27081]|0)|0;a=c[(WU()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=OT(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ZU(a)|0|b;if(d|0)PT(a);a=c[a+56>>2]|0}while((a|0)!=0);XU()}while(0);return b|0}function ZU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Md[c[a+36>>2]&15](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)Md[c[a+40>>2]&15](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function _U(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=e;c[f>>2]=d;d=$U(a,b,f)|0;l=e;return d|0}function $U(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;if((l|0)>=(m|0))W(128);e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=13;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=bV(e,b,d)|0;l=g;return h|0}function aV(a,b,c){a=a|0;b=b|0;c=c|0;return fV(a,b,c)|0}function bV(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+288|0;if((l|0)>=(m|0))W(288);I=O+8|0;J=O+17|0;K=O;L=O+16|0;if((c[b+76>>2]|0)>-1)N=OT(b)|0;else N=0;i=a[e>>0]|0;a:do if(i<<24>>24){A=b+4|0;B=b+100|0;C=b+108|0;D=b+8|0;E=J+10|0;F=J+33|0;G=J+46|0;H=J+94|0;z=I+4|0;n=e;v=0;e=0;j=0;k=i;i=0;b:while(1){c:do if(!(tT(k&255)|0)){o=(a[n>>0]|0)==37;d:do if(o){k=n+1|0;p=a[k>>0]|0;e:do switch(p<<24>>24){case 37:break d;case 42:{x=0;k=n+2|0;break}default:{if(KT(p&255)|0?(a[n+2>>0]|0)==36:0){x=cV(f,(d[k>>0]|0)+-48|0)|0;k=n+3|0;break e}w=(c[f>>2]|0)+(4-1)&~(4-1);x=c[w>>2]|0;c[f>>2]=w+4}}while(0);if(!(KT(d[k>>0]|0)|0)){t=0;p=k}else{n=0;do{n=(n*10|0)+-48+(d[k>>0]|0)|0;k=k+1|0}while((KT(d[k>>0]|0)|0)!=0);t=n;p=k}o=a[p>>0]|0;r=p+1|0;if(o<<24>>24==109){k=(x|0)!=0&1;j=0;n=r;p=p+2|0;o=a[r>>0]|0;i=0}else{k=0;n=p;p=r}switch(o<<24>>24){case 104:{w=(a[p>>0]|0)==104;o=w?-2:-1;n=w?n+2|0:p;break}case 108:{w=(a[p>>0]|0)==108;o=w?3:1;n=w?n+2|0:p;break}case 106:{o=3;n=p;break}case 116:case 122:{o=1;n=p;break}case 76:{o=2;n=p;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:{o=0;break}default:{M=143;break b}}s=d[n>>0]|0;u=(s&47|0)==3;s=u?s|32:s;u=u?1:o;r=s&255;switch(r<<24>>24){case 99:{t=(t|0)>1?t:1;break}case 91:break;case 110:{dV(x,u,v,((v|0)<0)<<31>>31);o=v;break c}default:{qT(b,0);do{o=c[A>>2]|0;if(o>>>0<(c[B>>2]|0)>>>0){c[A>>2]=o+1;o=d[o>>0]|0}else o=sT(b)|0}while((tT(o)|0)!=0);if(!(c[B>>2]|0))o=c[A>>2]|0;else{o=(c[A>>2]|0)+-1|0;c[A>>2]=o}v=(c[C>>2]|0)+v+o-(c[D>>2]|0)|0}}qT(b,t);p=c[A>>2]|0;o=c[B>>2]|0;if(p>>>0<o>>>0)c[A>>2]=p+1;else{if((sT(b)|0)<0){M=143;break b}o=c[B>>2]|0}if(o|0)c[A>>2]=(c[A>>2]|0)+-1;f:do switch(r<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){iX(J|0,-1,257)|0;a[J>>0]=0;if((s|0)==115){a[F>>0]=0;a[E>>0]=0;a[E+1>>0]=0;a[E+2>>0]=0;a[E+3>>0]=0;a[E+4>>0]=0}}else{s=n+1|0;r=(a[s>>0]|0)==94;o=r&1;n=r?n+2|0:s;iX(J|0,o|0,257)|0;a[J>>0]=0;switch(a[n>>0]|0){case 45:{r=(o^1)&255;a[G>>0]=r;n=n+1|0;break}case 93:{r=(o^1)&255;a[H>>0]=r;n=n+1|0;break}default:r=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{M=143;break b}case 93:break g;case 45:{p=n+1|0;o=a[p>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[J+n>>0]=r;o=a[p>>0]|0}while(n>>>0<(o&255)>>>0);n=p}else n=p;break}default:{}}while(0);a[J+((o&255)+1)>>0]=r;n=n+1|0}}while(0);o=w?t+1|0:31;s=(u|0)==1;u=(k|0)!=0;i:do if(s){if(u){i=$S(o<<2)|0;if(!i){j=0;i=0;M=143;break b}}else i=x;c[I>>2]=0;c[z>>2]=0;j=0;j:while(1){r=(i|0)==0;do{k:while(1){p=c[A>>2]|0;if(p>>>0<(c[B>>2]|0)>>>0){c[A>>2]=p+1;p=d[p>>0]|0}else p=sT(b)|0;if(!(a[J+(p+1)>>0]|0))break j;a[L>>0]=p;switch(IU(K,L,1,I)|0){case -1:{j=0;M=143;break b}case -2:break;default:break k}}if(!r){c[i+(j<<2)>>2]=c[K>>2];j=j+1|0}}while(!(u&(j|0)==(o|0)));o=o<<1|1;p=cT(i,o<<2)|0;if(!p){j=0;M=143;break b}else i=p}if(!(eV(I)|0)){j=0;M=143;break b}else{r=j;j=0;p=i}}else{if(u){j=$S(o)|0;if(!j){j=0;i=0;M=143;break b}i=0;while(1){r=i;do{i=c[A>>2]|0;if(i>>>0<(c[B>>2]|0)>>>0){c[A>>2]=i+1;i=d[i>>0]|0}else i=sT(b)|0;if(!(a[J+(i+1)>>0]|0)){p=0;i=0;break i}p=r;r=r+1|0;a[j+p>>0]=i}while((r|0)!=(o|0));o=o<<1|1;p=cT(j,o)|0;if(!p){i=0;M=143;break b}else{i=r;j=p}}}if(!x)while(1){i=c[A>>2]|0;if(i>>>0<(c[B>>2]|0)>>>0){c[A>>2]=i+1;i=d[i>>0]|0}else i=sT(b)|0;if(!(a[J+(i+1)>>0]|0)){r=0;j=0;p=0;i=0;break i}}j=0;while(1){i=c[A>>2]|0;if(i>>>0<(c[B>>2]|0)>>>0){c[A>>2]=i+1;i=d[i>>0]|0}else i=sT(b)|0;if(!(a[J+(i+1)>>0]|0)){r=j;j=x;p=0;i=0;break i}a[x+j>>0]=i;j=j+1|0}}while(0);if(!(c[B>>2]|0))o=c[A>>2]|0;else{o=(c[A>>2]|0)+-1|0;c[A>>2]=o}o=o-(c[D>>2]|0)+(c[C>>2]|0)|0;if(!o)break b;if(!((o|0)==(t|0)|w^1))break b;do if(u)if(s){c[x>>2]=p;break}else{c[x>>2]=j;break}while(0);if(!w){if(p|0)c[p+(r<<2)>>2]=0;if(!j){j=0;break f}a[j+r>>0]=0}break}case 120:case 88:case 112:{o=16;M=131;break}case 111:{o=8;M=131;break}case 117:case 100:{o=10;M=131;break}case 105:{o=0;M=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{q=+rU(b,u,0);if((c[C>>2]|0)==((c[D>>2]|0)-(c[A>>2]|0)|0))break b;if(x)switch(u|0){case 0:{g[x>>2]=q;break f}case 1:{h[x>>3]=q;break f}case 2:{h[x>>3]=q;break f}default:break f}break}default:{}}while(0);do if((M|0)==131){M=0;o=rT(b,o,0,-1,-1)|0;if((c[C>>2]|0)==((c[D>>2]|0)-(c[A>>2]|0)|0))break b;if((x|0)!=0&(s|0)==112){c[x>>2]=o;break}else{dV(x,u,o,y);break}}while(0);e=e+((x|0)!=0&1)|0;o=(c[C>>2]|0)+v+(c[A>>2]|0)-(c[D>>2]|0)|0;break c}while(0);n=n+(o&1)|0;qT(b,0);k=c[A>>2]|0;if(k>>>0<(c[B>>2]|0)>>>0){c[A>>2]=k+1;k=d[k>>0]|0}else k=sT(b)|0;if((k|0)!=(d[n>>0]|0)){M=23;break b}o=v+1|0}else{while(1){k=n+1|0;if(!(tT(d[k>>0]|0)|0))break;else n=k}qT(b,0);do{k=c[A>>2]|0;if(k>>>0<(c[B>>2]|0)>>>0){c[A>>2]=k+1;k=d[k>>0]|0}else k=sT(b)|0}while((tT(k)|0)!=0);if(!(c[B>>2]|0))k=c[A>>2]|0;else{k=(c[A>>2]|0)+-1|0;c[A>>2]=k}o=(c[C>>2]|0)+v+k-(c[D>>2]|0)|0}while(0);n=n+1|0;k=a[n>>0]|0;if(!(k<<24>>24))break a;else v=o}if((M|0)==23){if(c[B>>2]|0)c[A>>2]=(c[A>>2]|0)+-1;if((e|0)!=0|(k|0)>-1)break;else{k=0;e=j;M=144}}else if((M|0)==143)if(!e){e=j;M=144}if((M|0)==144){j=e;e=-1}if(k){aT(j);aT(i)}}else e=0;while(0);if(N|0)PT(b);l=O;return e|0}function cV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function dV(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function eV(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function fV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=XT(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;gX(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function gV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=e;c[f>>2]=d;d=MT(a,b,f)|0;l=e;return d|0}function hV(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=CU(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=iV(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=jV(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=kV(b,c)|0;break}else{b=lV(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function iV(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;e=a[c>>0]|0;a:do if(!(e<<24>>24))c=0;else{e=(d[b>>0]|0)<<8|e&255;while(1){b=e&65535;if((b|0)==(f|0))break;c=c+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){c=0;break a}else e=b<<8|e&255}c=c+-1|0}while(0);return c|0}function jV(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-2|0)|0}function kV(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);e=b+3|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|c&255;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=b<<8|c&255;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-3|0)|0}function lV(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+1056|0;if((l|0)>=(m|0))W(1056);w=y+1024|0;x=y;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;f=a[e>>0]|0;a:do if(f<<24>>24){r=0;do{if(!(a[b+r>>0]|0)){f=0;break a}v=f&255;u=w+(v>>>5<<2)|0;c[u>>2]=c[u>>2]|1<<(v&31);r=r+1|0;c[x+(v<<2)>>2]=r;f=a[e+r>>0]|0}while(f<<24>>24!=0);o=r>>>0>1;if(o){k=1;j=1;n=0;i=-1;p=1;while(1){f=a[e+(j+i)>>0]|0;g=a[e+p>>0]|0;do if(f<<24>>24==g<<24>>24)if((j|0)==(k|0)){h=k;f=1;g=k+n|0;break}else{h=k;f=j+1|0;g=n;break}else if((f&255)>(g&255)){h=p-i|0;f=1;g=p;break}else{h=1;f=1;g=n+1|0;i=n;break}while(0);p=f+g|0;if(p>>>0>=r>>>0)break;else{k=h;j=f;n=g}}if(o){o=1;n=1;p=0;g=-1;q=1;while(1){f=a[e+(n+g)>>0]|0;j=a[e+q>>0]|0;do if(f<<24>>24==j<<24>>24)if((n|0)==(o|0)){f=o;j=1;k=o+p|0;break}else{f=o;j=n+1|0;k=p;break}else if((f&255)<(j&255)){f=q-g|0;j=1;k=q;break}else{f=1;j=1;k=p+1|0;g=p;break}while(0);q=j+k|0;if(q>>>0>=r>>>0){v=r;j=25;break}else{o=f;n=j;p=k}}}else{v=r;f=1;g=-1;j=25}}else{h=1;i=-1;v=r;f=1;g=-1;j=25}}else{h=1;i=-1;v=0;f=1;g=-1;j=25}while(0);b:do if((j|0)==25){t=(g+1|0)>>>0>(i+1|0)>>>0;f=t?f:h;t=t?g:i;u=t+1|0;if(!(IT(e,e+f|0,u)|0)){o=v-f|0;s=o;n=f}else{o=v-t+-1|0;o=(t>>>0>o>>>0?t:o)+1|0;s=0;n=o;o=v-o|0}p=v|63;q=v+-1|0;r=(s|0)!=0;f=b;k=0;g=b;while(1){h=f;do if((g-h|0)>>>0<v>>>0){i=XT(g,0,p)|0;if(i)if((i-h|0)>>>0<v>>>0){f=0;break b}else break;else{i=g+p|0;break}}else i=g;while(0);g=d[f+q>>0]|0;c:do if(!(1<<(g&31)&c[w+(g>>>5<<2)>>2])){h=0;g=v}else{g=v-(c[x+(g<<2)>>2]|0)|0;if(g|0){h=0;g=r&(k|0)!=0&g>>>0<n>>>0?o:g;break}j=u>>>0>k>>>0;g=j?u:k;h=a[e+g>>0]|0;d:do if(h<<24>>24){while(1){if(h<<24>>24!=(a[f+g>>0]|0))break;g=g+1|0;h=a[e+g>>0]|0;if(!(h<<24>>24))break d}h=0;g=g-t|0;break c}while(0);if(!j)break b;g=u;while(1){g=g+-1|0;if((a[e+g>>0]|0)!=(a[f+g>>0]|0)){h=s;g=n;break c}if(g>>>0<=k>>>0)break b}}while(0);f=f+g|0;k=h;g=i}}while(0);l=y;return f|0}function mV(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;if((l|0)>=(m|0))W(32);f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function nV(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(OT(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=UU(d,b)|0;PT(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=UU(d,b)|0}while(0);return e|0}function oV(a,b){a=a|0;b=b|0;return +(+pV(a,b,1))}function pV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;if((l|0)>=(m|0))W(128);h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;qT(h,0);e=+rU(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=(d|0)==0?a:a+d|0;l=i;return +e}function qV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(N(g,d)|0)|0;f=Ld[e&15](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function rV(a){a=a|0;var b=0,d=0;b=l;l=l+32|0;if((l|0)>=(m|0))W(32);d=b;c[d>>2]=a;c[d+4>>2]=21523;c[d+8>>2]=b+16;a=(lT(kb(54,d|0)|0)|0)==0&1;l=b;return a|0}function sV(){Xa(186284);return}function tV(){return 186268}function uV(){return 186276}function vV(){return 186280}function wV(){return 186284}function xV(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=$S(b)|0;if(a|0)break;a=PW()|0;if(!a){a=0;break}Qd[a&7]()}return a|0}function yV(a){a=a|0;aT(a);return}function zV(a,b){a=a|0;b=b|0;var d=0,e=0;e=BU(b)|0;d=xV(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=AV(d)|0;gX(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function AV(a){a=a|0;return a+12|0}function BV(a,b){a=a|0;b=b|0;c[a>>2]=108828;zV(a+4|0,b);return}function CV(a){a=a|0;return 1}function DV(a){a=a|0;Ub()}function EV(a){a=a|0;Ub()}function FV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;if((l|0)>=(m|0))W(16);f=g;if(e>>>0>4294967279)DV(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=xV(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}GV(b,d,e)|0;a[f>>0]=0;HV(b+e|0,f);l=g;return}function GV(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)gX(a|0,b|0,c|0)|0;return a|0}function HV(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function IV(a){a=a|0;return BU(a)|0}function JV(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)iX(a|0,(KV(c)|0)&255|0,b|0)|0;return a|0}function KV(a){a=a|0;return a&255|0}function LV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0<e>>>0)EV(b);else{g=g-e|0;FV(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function MV(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;if((l|0)>=(m|0))W(16);p=q;if((-18-d|0)>>>0<e>>>0)DV(b);if((a[b+11>>0]|0)<0)o=c[b>>2]|0;else o=b;if(d>>>0<2147483623){k=e+d|0;n=d<<1;k=k>>>0<n>>>0?n:k;k=k>>>0<11?11:k+16&-16}else k=-17;n=xV(k)|0;if(g|0)GV(n,o,g)|0;if(i|0)GV(n+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)GV(n+g+i|0,o+g+h|0,f)|0;if((d|0)!=10)yV(o);c[b>>2]=n;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[p>>0]=0;HV(n+i|0,p);l=q;return}function NV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;HV(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;HV(b+d|0,g);a[h>>0]=d;break}else OV(b,d-f|0,e)|0;while(0);l=j;return}function OV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){PV(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;JV(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;HV(g+f|0,i)}l=k;return b|0}function PV(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)DV(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=xV(j)|0;if(g|0)GV(k,l,g)|0;e=f-h-g|0;if(e|0)GV(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)yV(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function QV(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)EV(b);if(f)b=c[b>>2]|0;return b+d|0}function RV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))W(16);i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;GV(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;HV(g+f|0,i)}}else MV(b,g,f+e-g|0,f,f,0,e,d);l=k;return b|0}function SV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=l;l=l+16|0;if((l|0)>=(m|0))W(16);g=h;if(f>>>0>4294967279)DV(b);if(f>>>0<11)a[b+11>>0]=e;else{i=f+16&-16;f=xV(i)|0;c[b>>2]=f;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=f}GV(b,d,e)|0;a[g>>0]=0;HV(b+e|0,g);l=h;return}function TV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[b+(f<<2)>>2]=0;f=f+1|0}h=IV(d)|0;g=e+11|0;f=a[g>>0]|0;f=f<<24>>24<0?c[e+4>>2]|0:f&255;SV(b,d,h,f+h|0);RV(b,(a[g>>0]|0)<0?c[e>>2]|0:e,f)|0;return}function UV(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=l;l=l+48|0;if((l|0)>=(m|0))W(48);h=a+32|0;d=a+24|0;i=a+16|0;g=a;e=a+36|0;a=VV()|0;if(a|0?(f=c[a>>2]|0,f|0):0){a=f+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=182247;WV(182197,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[f+44>>2]|0;else a=f+80|0;c[e>>2]=a;f=c[f>>2]|0;a=c[f+4>>2]|0;if(Md[c[(c[13138]|0)+16>>2]&15](52552,f,e)|0){i=c[e>>2]|0;i=Kd[c[(c[i>>2]|0)+8>>2]&31](i)|0;c[g>>2]=182247;c[g+4>>2]=a;c[g+8>>2]=i;WV(182111,g)}else{c[i>>2]=182247;c[i+4>>2]=a;WV(182156,i)}}WV(182235,h)}function VV(){var a=0,b=0;a=l;l=l+16|0;if((l|0)>=(m|0))W(16);if(!(Dc(186288,6)|0)){b=yc(c[46573]|0)|0;l=a;return b|0}else WV(182386,a);return 0}function WV(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=d;c[e>>2]=b;d=c[27018]|0;MT(d,a,e)|0;nV(10,d)|0;Ub()}function XV(a){a=a|0;return}function YV(a){a=a|0;XV(a);yV(a);return}function ZV(a){a=a|0;return}function _V(a){a=a|0;return}function $V(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+64|0;if((l|0)>=(m|0))W(64);f=h;if(!(dW(a,b,0)|0))if((b|0)!=0?(g=hW(b,52576,52560,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;Ud[c[(c[g>>2]|0)+28>>2]&255](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;l=h;return b|0}function aW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(dW(a,c[b+8>>2]|0,g)|0)gW(0,b,d,e,f);return}function bW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(dW(b,c[d+8>>2]|0,g)|0)){if(dW(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else fW(0,d,e,f);while(0);return}function cW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(dW(a,c[b+8>>2]|0,0)|0)eW(0,b,d,e);return}function dW(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function eW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function fW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function gW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function hW(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;if((l|0)>=(m|0))W(64);p=r;o=c[d>>2]|0;q=d+(c[o+-8>>2]|0)|0;o=c[o+-4>>2]|0;c[p>>2]=f;c[p+4>>2]=d;c[p+8>>2]=e;c[p+12>>2]=g;d=p+16|0;e=p+20|0;g=p+24|0;h=p+28|0;i=p+32|0;j=p+40|0;k=d;n=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(dW(o,f,0)|0){c[p+48>>2]=1;Wd[c[(c[o>>2]|0)+20>>2]&63](o,p,q,q,1,0);d=(c[g>>2]|0)==1?q:0}else{Vd[c[(c[o>>2]|0)+24>>2]&127](o,p,q,1,0);switch(c[p+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);l=r;return d|0}function iW(a){a=a|0;XV(a);yV(a);return}function jW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(dW(a,c[b+8>>2]|0,g)|0)gW(0,b,d,e,f);else{a=c[a+8>>2]|0;Wd[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e,f,g)}return}function kW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(dW(b,c[d+8>>2]|0,g)|0)){if(!(dW(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Vd[c[(c[i>>2]|0)+24>>2]&127](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Wd[c[(c[b>>2]|0)+20>>2]&63](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else fW(0,d,e,f);while(0);return}function lW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(dW(a,c[b+8>>2]|0,0)|0)eW(0,b,d,e);else{a=c[a+8>>2]|0;Ud[c[(c[a>>2]|0)+28>>2]&255](a,b,d,e)}return}function mW(a){a=a|0;return}function nW(){var a=0;a=l;l=l+16|0;if((l|0)>=(m|0))W(16);if(!(Ac(186292,25)|0)){l=a;return}else WV(182435,a)}function oW(a){a=a|0;var b=0;b=l;l=l+16|0;if((l|0)>=(m|0))W(16);aT(a);if(!(Ec(c[46573]|0,0)|0)){l=b;return}else WV(182485,b)}function pW(){var a=0,b=0;a=VV()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)qW(c[b+12>>2]|0);qW(rW()|0)}function qW(a){a=a|0;var b=0;b=l;l=l+16|0;if((l|0)>=(m|0))W(16);Qd[a&7]();WV(182538,b)}function rW(){var a=0;a=c[27184]|0;c[27184]=a+0;return a|0}function sW(a){a=a|0;return}function tW(a){a=a|0;c[a>>2]=108828;xW(a+4|0);return}function uW(a){a=a|0;tW(a);yV(a);return}function vW(a){a=a|0;return wW(a+4|0)|0}function wW(a){a=a|0;return c[a>>2]|0}function xW(a){a=a|0;var b=0,d=0;if(CV(a)|0?(b=yW(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)yV(b);return}function yW(a){a=a|0;return a+-12|0}function zW(a){a=a|0;tW(a);yV(a);return}function AW(a){a=a|0;XV(a);yV(a);return}function BW(a,b,c){a=a|0;b=b|0;c=c|0;return dW(a,b,0)|0}function CW(a){a=a|0;XV(a);yV(a);return}function DW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;if((l|0)>=(m|0))W(64);h=j;c[d>>2]=c[c[d>>2]>>2];if(!(EW(a,b,0)|0))if(((b|0)!=0?(e=hW(b,52576,52664,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(dW(c[a>>2]|0,c[b>>2]|0,0)|0)?!(dW(c[a>>2]|0,52696,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=hW(a,52576,52560,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=hW(f,52576,52560,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;Ud[c[(c[i>>2]|0)+28>>2]&255](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;l=j;return a|0}function EW(a,b,c){a=a|0;b=b|0;c=c|0;if(dW(a,b,0)|0)a=1;else a=dW(b,52704,0)|0;return a|0}function FW(a){a=a|0;XV(a);yV(a);return}function GW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(dW(b,c[d+8>>2]|0,h)|0)gW(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;KW(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;KW(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function HW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!(dW(b,c[d+8>>2]|0,g)|0)){if(!(dW(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;LW(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;LW(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;LW(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;LW(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;KW(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else fW(0,d,e,f);while(0);return}function IW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(dW(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;JW(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{JW(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else eW(0,d,e,f);while(0);return}function JW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Ud[c[(c[a>>2]|0)+28>>2]&255](a,b,d+f|0,(g&2|0)==0?2:e);return}function KW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Wd[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function LW(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Vd[c[(c[a>>2]|0)+24>>2]&127](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function MW(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function NW(a){a=a|0;return}function OW(a){a=a|0;return}function PW(){var a=0;a=c[46574]|0;c[46574]=a+0;return a|0}function QW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))W(16);e=f;c[e>>2]=c[d>>2];a=Md[c[(c[a>>2]|0)+16>>2]&15](a,b,e)|0;if(a)c[d>>2]=c[e>>2];l=f;return a&1|0}function RW(a){a=a|0;if(!a)a=0;else a=(hW(a,52576,52664,0)|0)!=0&1;return a|0}function SW(){}function TW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (y=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function UW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (y=d,a-c>>>0|0)|0}function VW(a){a=a|0;return (a?31-(Q(a^a-1)|0)|0:32)|0}function WW(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (y=n,f)|0}else{if(!g){n=0;f=0;return (y=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (y=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(Q(i|0)|0)-(Q(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (y=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (y=n,f)|0}g=h-1|0;if(g&h|0){i=(Q(h|0)|0)+33-(Q(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (y=o,p)|0}else{p=VW(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (y=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (y=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (y=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((VW(i|0)|0)>>>0);return (y=o,p)|0}g=(Q(i|0)|0)-(Q(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (y=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (y=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=TW(m|0,l|0,-1,-1)|0;d=y;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;UW(k|0,d|0,e|0,n|0)|0;p=y;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=UW(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=y;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (y=o,p)|0}function XW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=UW(j^a|0,i^b|0,j|0,i|0)|0;g=y;a=f^j;b=e^i;return UW((WW(h,g,UW(f^c|0,e^d|0,f|0,e|0)|0,y,0)|0)^a|0,y^b|0,a|0,b|0)|0}function YW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=N(e,f)|0;d=a>>>16;a=(c>>>16)+(N(e,d)|0)|0;e=b>>>16;b=N(e,f)|0;return (y=(a>>>16)+(N(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function ZW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=YW(e,f)|0;a=y;return (y=(N(b,f)|0)+(N(d,e)|0)+a|a&0,c|0|0)|0}function _W(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=UW(h^a|0,g^b|0,h|0,g|0)|0;b=y;WW(a,b,UW(k^d|0,j^e|0,k|0,j|0)|0,y,i)|0;e=UW(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=y;l=f;return (y=d,e)|0}function $W(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return WW(a,b,c,d,0)|0}function aX(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}y=(b|0)<0?-1:0;return b>>c-32|0}function bX(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}y=0;return b>>>c-32|0}function cX(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}y=a<<c-32;return 0}function dX(a){a=a|0;return (a&255)<<8|a>>8&255|0}function eX(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function fX(a){a=+a;return a>=0.0?+z(a+.5):+M(a-.5)}function gX(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return dc(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function hX(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else gX(b,c,d)|0;return b|0}function iX(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function jX(a){a=a|0;return 0}function kX(a){a=a|0;return 0}function lX(a){a=a|0;return 0}function mX(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){V()|0;eb(12);return -1}c[i>>2]=b;if((b|0)>(U()|0)?(T()|0)==0:0){c[i>>2]=d;eb(12);return -1}return d|0}function nX(a,b){a=a|0;b=+b;return +Gd[a&15](+b)}function oX(a,b,c){a=a|0;b=b|0;c=+c;return +Hd[a&0](b|0,+c)}function pX(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return +Id[a&0](b|0,+c,+d)}function qX(a){a=a|0;return Jd[a&1]()|0}function rX(a,b){a=a|0;b=b|0;return Kd[a&31](b|0)|0}function sX(a,b,c){a=a|0;b=b|0;c=c|0;return Ld[a&15](b|0,c|0)|0}function tX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Md[a&15](b|0,c|0,d|0)|0}function uX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Nd[a&3](b|0,c|0,d|0,e|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Od[a&63](b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Pd[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function xX(a){a=a|0;Qd[a&7]()}function yX(a,b){a=a|0;b=b|0;Rd[a&31](b|0)}function zX(a,b,c){a=a|0;b=b|0;c=c|0;Sd[a&255](b|0,c|0)}function AX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Td[a&1023](b|0,c|0,d|0)}function BX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ud[a&255](b|0,c|0,d|0,e|0)}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Vd[a&127](b|0,c|0,d|0,e|0,f|0)}function DX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Wd[a&63](b|0,c|0,d|0,e|0,f|0,g|0)}function EX(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Xd[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function FX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Yd[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function GX(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Zd[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function HX(a){a=+a;X(0);return 0.0}function IX(a){a=+a;return +Fc(+a)}function JX(a){a=+a;return +Zb(+a)}function KX(a){a=+a;return +Hc(+a)}function LX(a){a=+a;return +Xb(+a)}function MX(a){a=+a;return +Wb(+a)}function NX(a){a=+a;return +Vb(+a)}function OX(a){a=+a;return +ec(+a)}function PX(a){a=+a;return +rc(+a)}function QX(a){a=+a;return +fc(+a)}function RX(a,b){a=a|0;b=+b;Y(1);return 0.0}function SX(a,b,c){a=a|0;b=+b;c=+c;Z(2);return 0.0}function TX(){_(3);return 0}function UX(a){a=a|0;$(4);return 0}function VX(a,b){a=a|0;b=b|0;aa(5);return 0}function WX(a,b,c){a=a|0;b=b|0;c=c|0;ba(6);return 0}function XX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(7);return 0}function YX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(8);return 0}function ZX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(9);return 0}function _X(){fa(10)}function $X(){$a()}function aY(a){a=a|0;ga(11)}function bY(a,b){a=a|0;b=b|0;ha(12)}function cY(a,b,c){a=a|0;b=b|0;c=c|0;ia(13)}function dY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ja(14)}function eY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(15)}function fY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(16)}function gY(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ma(17)}function hY(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;na(18)}function iY(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;oa(19)}
// EMSCRIPTEN_END_FUNCS
var Gd=[HX,DT,CT,QU,IX,JX,KX,LX,MX,NX,OX,PX,QX,EQ,HX,HX];var Hd=[RX];var Id=[SX];var Jd=[TX,bf];var Kd=[UX,Nf,Mg,Og,Qg,Xh,UN,YR,_R,$R,lS,iT,vW,Xe,cf,th,yh,xm,jR,hR,wR,FR,JR,MS,UX,UX,UX,UX,UX,UX,UX,UX];var Ld=[VX,Ng,IP,ZR,kS,hf,Kg,ek,KM,NM,aR,VX,VX,VX,VX,VX];var Md=[WX,XN,rO,jT,kT,oT,nU,$V,BW,DW,je,lf,Zg,aV,WX,WX];var Nd=[XX,Pg,ff,XX];var Od=[YX,kg,ym,zm,Am,Bm,Cm,Dm,Em,Fm,Gm,Hm,Im,Jm,Km,Lm,Mm,Nm,Om,Pm,Qm,Rm,Sm,Tm,Um,Vm,Wm,Xm,Ym,Zm,_m,$m,an,bn,cn,dn,en,fn,gn,hn,jn,XR,QS,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX,YX];var Pd=[ZX,Of,VN,pO,WR,PS,ZX,ZX];var Qd=[_X,$X,UV,NN,BR,CR,nW,_X];var Rd=[aY,Ke,Le,Me,Qe,Re,Se,Pf,Rg,WN,qO,XV,YV,ZV,_V,iW,tW,uW,zW,AW,CW,FW,Ye,ke,NS,oW,aY,aY,aY,aY,aY,aY];var Sd=[bY,Oe,Ue,he,ie,gf,le,me,ne,oe,jh,mh,xn,DJ,CJ,lK,kK,VK,UK,DL,CL,lM,kM,Io,Ho,Ko,Jo,Mo,Lo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,Wo,Xo,Yo,Zo,_o,$o,ap,bp,gp,fp,hp,ip,jp,kp,lp,qp,rp,sp,cq,bq,eq,dq,gq,fq,hq,iq,jq,kq,lq,mq,nq,oq,pq,qq,rq,sq,tq,yq,xq,zq,Aq,Bq,Cq,Fq,Gq,Hq,rr,qr,tr,sr,vr,ur,wr,xr,yr,zr,Ar,Br,Cr,Dr,Er,Fr,Gr,Hr,Ir,Nr,Mr,Or,Pr,Qr,Rr,Ur,Vr,Wr,Gs,Fs,Is,Hs,Ks,Js,Ls,Ms,Ns,Os,Ps,Qs,Rs,Ss,Ts,Us,Vs,Ws,Xs,at,$s,bt,ct,dt,et,ht,it,jt,Vt,Ut,Xt,Wt,Zt,Yt,_t,$t,au,bu,cu,du,eu,fu,gu,hu,iu,ju,ku,pu,ou,qu,ru,su,tu,wu,xu,yu,ep,dp,cp,pp,op,np,mp,wq,vq,uq,Eq,Dq,Lr,Kr,Jr,Tr,Sr,_s,Zs,Ys,gt,ft,nu,mu,lu,vu,uu,eP,TP,SP,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY];var Td=[cY,Ne,Pe,Te,df,ef,jf,pe,qe,pJ,oJ,rJ,qJ,sJ,tJ,uJ,vJ,BJ,aK,bK,cK,dK,jK,KK,LK,MK,NK,TK,sL,tL,uL,vL,BL,aM,bM,cM,dM,jM,bv,gv,lv,qv,vv,Av,Fv,Kv,Pv,Uv,Zv,cw,hw,mw,rw,ww,Bw,Gw,Lw,Qw,Vw,_w,dx,ix,nx,sx,xx,Cx,Hx,Mx,Rx,Wx,$x,ey,jy,oy,ty,yy,Dy,Iy,Ny,Sy,Xy,az,fz,kz,pz,uz,zz,Ez,Jz,Oz,Tz,Yz,bA,gA,lA,qA,vA,AA,FA,KA,PA,UA,ZA,cB,hB,mB,rB,wB,BB,GB,LB,QB,VB,_B,dC,iC,nC,sC,xC,CC,HC,MC,RC,WC,$C,eD,jD,oD,tD,yD,DD,ID,ND,SD,XD,aE,fE,kE,pE,uE,zE,EE,JE,OE,TE,YE,bF,gF,lF,qF,av,fv,kv,pv,uv,zv,Ev,Jv,Ov,Tv,Yv,bw,gw,lw,qw,vw,Aw,Fw,Kw,Pw,Uw,Zw,cx,hx,mx,rx,wx,Bx,Gx,Lx,Qx,Vx,_x,dy,iy,ny,sy,xy,Cy,Hy,My,Ry,Wy,$y,ez,jz,oz,tz,yz,Dz,Iz,Nz,Sz,Xz,aA,fA,kA,pA,uA,zA,EA,JA,OA,TA,YA,bB,gB,lB,qB,vB,AB,FB,KB,PB,UB,ZB,cC,hC,mC,rC,wC,BC,GC,LC,QC,VC,_C,dD,iD,nD,sD,xD,CD,HD,MD,RD,WD,$D,eE,jE,oE,tE,yE,DE,IE,NE,SE,XE,aF,fF,kF,pF,$u,ev,jv,ov,tv,yv,Dv,Iv,Nv,Sv,Xv,aw,fw,kw,pw,uw,zw,Ew,Jw,Ow,Tw,Yw,bx,gx,lx,qx,vx,Ax,Fx,Kx,Px,Ux,Zx,cy,hy,my,ry,wy,By,Gy,Ly,Qy,Vy,_y,dz,iz,nz,sz,xz,Cz,Hz,Mz,Rz,Wz,$z,eA,jA,oA,tA,yA,DA,IA,NA,SA,XA,aB,fB,kB,pB,uB,zB,EB,JB,OB,TB,YB,bC,gC,lC,qC,vC,AC,FC,KC,PC,UC,ZC,cD,hD,mD,rD,wD,BD,GD,LD,QD,VD,_D,dE,iE,nE,sE,xE,CE,HE,ME,RE,WE,$E,eF,jF,oF,_u,dv,iv,nv,sv,xv,Cv,Hv,Mv,Rv,Wv,$v,ew,jw,ow,tw,yw,Dw,Iw,Nw,Sw,Xw,ax,fx,kx,px,ux,zx,Ex,Jx,Ox,Tx,Yx,by,gy,ly,qy,vy,Ay,Fy,Ky,Py,Uy,Zy,cz,hz,mz,rz,wz,Bz,Gz,Lz,Qz,Vz,_z,dA,iA,nA,sA,xA,CA,HA,MA,RA,WA,$A,eB,jB,oB,tB,yB,DB,IB,NB,SB,XB,aC,fC,kC,pC,uC,zC,EC,JC,OC,TC,YC,bD,gD,lD,qD,vD,AD,FD,KD,PD,UD,ZD,cE,hE,mE,rE,wE,BE,GE,LE,QE,VE,_E,dF,iF,nF,Zu,cv,hv,mv,rv,wv,Bv,Gv,Lv,Qv,Vv,_v,dw,iw,nw,sw,xw,Cw,Hw,Mw,Rw,Ww,$w,ex,jx,ox,tx,yx,Dx,Ix,Nx,Sx,Xx,ay,fy,ky,py,uy,zy,Ey,Jy,Oy,Ty,Yy,bz,gz,lz,qz,vz,Az,Fz,Kz,Pz,Uz,Zz,cA,hA,mA,rA,wA,BA,GA,LA,QA,VA,_A,dB,iB,nB,sB,xB,CB,HB,MB,RB,WB,$B,eC,jC,oC,tC,yC,DC,IC,NC,SC,XC,aD,fD,kD,pD,uD,zD,ED,JD,OD,TD,YD,bE,gE,lE,qE,vE,AE,FE,KE,PE,UE,ZE,cF,hF,mF,$n,bo,ao,co,eo,fo,ho,go,io,jo,ko,lo,mo,Xn,Zn,oo,po,qo,no,ro,so,to,tp,up,vp,wp,Fp,Gp,Hp,Ip,Jp,Kp,Lp,Mp,Np,Op,Dp,Ep,Pp,Qp,Iq,Jq,Kq,Lq,Uq,Vq,Wq,Xq,Yq,Zq,_q,$q,ar,br,Sq,Tq,cr,dr,Xr,Yr,Zr,_r,hs,is,js,ks,ls,ms,ns,os,ps,qs,fs,gs,rs,ss,kt,lt,mt,nt,wt,xt,yt,zt,At,Bt,Ct,Dt,Et,Ft,ut,vt,Gt,Ht,zu,Au,Bu,Cu,Yn,_n,uo,Un,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY,cY];var Ud=[dY,cW,lW,IW,kf,zf,yf,Wf,PJ,QJ,RJ,XJ,ZJ,YJ,$J,_J,xK,yK,zK,FK,HK,GK,JK,IK,fL,gL,hL,nL,pL,oL,rL,qL,PL,QL,RL,XL,ZL,YL,$L,_L,xM,yM,zM,FM,HM,GM,JM,IM,vo,wo,xo,yo,zo,Ao,Bo,Co,Do,Eo,Fo,Go,Ap,zp,Cp,Bp,Rp,Sp,Tp,Up,Vp,Wp,Xp,Yp,Zp,_p,$p,aq,Pq,Oq,Rq,Qq,er,fr,gr,hr,ir,jr,kr,lr,mr,nr,or,pr,cs,bs,es,ds,ts,us,vs,ws,xs,ys,zs,As,Bs,Cs,Ds,Es,rt,qt,tt,st,It,Jt,Kt,Lt,Mt,Nt,Ot,Pt,Qt,Rt,St,Tt,Gu,Fu,Iu,Hu,Nu,Su,Mu,Ru,Lu,Qu,Ku,Pu,Ju,Ou,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY];var Vd=[eY,bW,kW,HW,wJ,xJ,zJ,yJ,AJ,MJ,NJ,OJ,SJ,UJ,TJ,WJ,VJ,eK,fK,hK,gK,iK,uK,vK,wK,AK,CK,BK,EK,DK,OK,PK,RK,QK,SK,cL,dL,eL,iL,kL,jL,mL,lL,wL,xL,zL,yL,AL,ML,NL,OL,SL,UL,TL,WL,VL,eM,fM,hM,gM,iM,uM,vM,wM,AM,CM,BM,EM,DM,xp,yp,Mq,Nq,$r,as,ot,pt,Du,Eu,OS,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY,eY];var Wd=[fY,aW,jW,GW,Ph,EJ,FJ,GJ,HJ,mK,nK,oK,pK,WK,XK,YK,ZK,EL,FL,GL,HL,mM,nM,oM,pM,$I,_I,bJ,aJ,dJ,cJ,fJ,eJ,hJ,gJ,jJ,iJ,lJ,kJ,nJ,mJ,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY];var Xd=[gY,IJ,JJ,KJ,LJ,qK,rK,sK,tK,_K,$K,aL,bL,IL,JL,KL,LL,qM,rM,sM,tM,gY,gY,gY,gY,gY,gY,gY,gY,gY,gY,gY];var Yd=[hY,Tn];var Zd=[iY,Wn,Vn,iY];return{__GLOBAL__sub_I_FlvClient_cpp:mf,__GLOBAL__sub_I_bind_cpp:YS,___cxa_can_catch:QW,___cxa_is_pointer_type:RW,___divdi3:XW,___emscripten_environ_constructor:sV,___errno_location:mT,___getTypeName:_S,___muldi3:ZW,___remdi3:_W,___udivdi3:$W,__get_daylight:uV,__get_environ:wV,__get_timezone:vV,__get_tzname:tV,_bitshift64Ashr:aX,_bitshift64Lshr:bX,_bitshift64Shl:cX,_fflush:YU,_free:aT,_i64Add:TW,_i64Subtract:UW,_llvm_bswap_i16:dX,_llvm_bswap_i32:eX,_llvm_round_f64:fX,_main:fe,_malloc:$S,_memalign:fT,_memcpy:gX,_memmove:hX,_memset:iX,_pthread_cond_broadcast:jX,_pthread_mutex_lock:kX,_pthread_mutex_unlock:lX,_sbrk:mX,_strlen:BU,dynCall_dd:nX,dynCall_did:oX,dynCall_didd:pX,dynCall_i:qX,dynCall_ii:rX,dynCall_iii:sX,dynCall_iiii:tX,dynCall_iiiii:uX,dynCall_iiiiii:vX,dynCall_iiiiiii:wX,dynCall_v:xX,dynCall_vi:yX,dynCall_vii:zX,dynCall_viii:AX,dynCall_viiii:BX,dynCall_viiiii:CX,dynCall_viiiiii:DX,dynCall_viiiiiiii:EX,dynCall_viiiiiiiii:FX,dynCall_viiiiiiiiii:GX,establishStackSpace:be,getTempRet0:ee,runPostSets:SW,setTempRet0:de,setThrew:ce,stackAlloc:_d,stackRestore:ae,stackSave:$d}})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var real___GLOBAL__sub_I_FlvClient_cpp=asm["__GLOBAL__sub_I_FlvClient_cpp"];asm["__GLOBAL__sub_I_FlvClient_cpp"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___GLOBAL__sub_I_FlvClient_cpp.apply(null,arguments)});var real___GLOBAL__sub_I_bind_cpp=asm["__GLOBAL__sub_I_bind_cpp"];asm["__GLOBAL__sub_I_bind_cpp"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___GLOBAL__sub_I_bind_cpp.apply(null,arguments)});var real____cxa_can_catch=asm["___cxa_can_catch"];asm["___cxa_can_catch"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_can_catch.apply(null,arguments)});var real____cxa_is_pointer_type=asm["___cxa_is_pointer_type"];asm["___cxa_is_pointer_type"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_is_pointer_type.apply(null,arguments)});var real____divdi3=asm["___divdi3"];asm["___divdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____divdi3.apply(null,arguments)});var real____emscripten_environ_constructor=asm["___emscripten_environ_constructor"];asm["___emscripten_environ_constructor"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____emscripten_environ_constructor.apply(null,arguments)});var real____errno_location=asm["___errno_location"];asm["___errno_location"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____errno_location.apply(null,arguments)});var real____getTypeName=asm["___getTypeName"];asm["___getTypeName"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____getTypeName.apply(null,arguments)});var real____muldi3=asm["___muldi3"];asm["___muldi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____muldi3.apply(null,arguments)});var real____remdi3=asm["___remdi3"];asm["___remdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____remdi3.apply(null,arguments)});var real____udivdi3=asm["___udivdi3"];asm["___udivdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____udivdi3.apply(null,arguments)});var real___get_daylight=asm["__get_daylight"];asm["__get_daylight"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_daylight.apply(null,arguments)});var real___get_environ=asm["__get_environ"];asm["__get_environ"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_environ.apply(null,arguments)});var real___get_timezone=asm["__get_timezone"];asm["__get_timezone"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_timezone.apply(null,arguments)});var real___get_tzname=asm["__get_tzname"];asm["__get_tzname"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_tzname.apply(null,arguments)});var real__bitshift64Ashr=asm["_bitshift64Ashr"];asm["_bitshift64Ashr"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Ashr.apply(null,arguments)});var real__bitshift64Lshr=asm["_bitshift64Lshr"];asm["_bitshift64Lshr"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Lshr.apply(null,arguments)});var real__bitshift64Shl=asm["_bitshift64Shl"];asm["_bitshift64Shl"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Shl.apply(null,arguments)});var real__fflush=asm["_fflush"];asm["_fflush"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__fflush.apply(null,arguments)});var real__free=asm["_free"];asm["_free"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__free.apply(null,arguments)});var real__i64Add=asm["_i64Add"];asm["_i64Add"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Add.apply(null,arguments)});var real__i64Subtract=asm["_i64Subtract"];asm["_i64Subtract"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Subtract.apply(null,arguments)});var real__llvm_bswap_i16=asm["_llvm_bswap_i16"];asm["_llvm_bswap_i16"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_bswap_i16.apply(null,arguments)});var real__llvm_bswap_i32=asm["_llvm_bswap_i32"];asm["_llvm_bswap_i32"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_bswap_i32.apply(null,arguments)});var real__llvm_round_f64=asm["_llvm_round_f64"];asm["_llvm_round_f64"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_round_f64.apply(null,arguments)});var real__main=asm["_main"];asm["_main"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__main.apply(null,arguments)});var real__malloc=asm["_malloc"];asm["_malloc"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__malloc.apply(null,arguments)});var real__memalign=asm["_memalign"];asm["_memalign"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memalign.apply(null,arguments)});var real__memmove=asm["_memmove"];asm["_memmove"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memmove.apply(null,arguments)});var real__pthread_cond_broadcast=asm["_pthread_cond_broadcast"];asm["_pthread_cond_broadcast"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_cond_broadcast.apply(null,arguments)});var real__pthread_mutex_lock=asm["_pthread_mutex_lock"];asm["_pthread_mutex_lock"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_mutex_lock.apply(null,arguments)});var real__pthread_mutex_unlock=asm["_pthread_mutex_unlock"];asm["_pthread_mutex_unlock"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_mutex_unlock.apply(null,arguments)});var real__sbrk=asm["_sbrk"];asm["_sbrk"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__sbrk.apply(null,arguments)});var real__strlen=asm["_strlen"];asm["_strlen"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__strlen.apply(null,arguments)});var real_establishStackSpace=asm["establishStackSpace"];asm["establishStackSpace"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_establishStackSpace.apply(null,arguments)});var real_getTempRet0=asm["getTempRet0"];asm["getTempRet0"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_getTempRet0.apply(null,arguments)});var real_setTempRet0=asm["setTempRet0"];asm["setTempRet0"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_setTempRet0.apply(null,arguments)});var real_setThrew=asm["setThrew"];asm["setThrew"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_setThrew.apply(null,arguments)});var real_stackAlloc=asm["stackAlloc"];asm["stackAlloc"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackAlloc.apply(null,arguments)});var real_stackRestore=asm["stackRestore"];asm["stackRestore"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackRestore.apply(null,arguments)});var real_stackSave=asm["stackSave"];asm["stackSave"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackSave.apply(null,arguments)});var __GLOBAL__sub_I_FlvClient_cpp=Module["__GLOBAL__sub_I_FlvClient_cpp"]=asm["__GLOBAL__sub_I_FlvClient_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _fflush=Module["_fflush"]=asm["_fflush"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _llvm_round_f64=Module["_llvm_round_f64"]=asm["_llvm_round_f64"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_dd=Module["dynCall_dd"]=asm["dynCall_dd"];var dynCall_did=Module["dynCall_did"]=asm["dynCall_did"];var dynCall_didd=Module["dynCall_didd"]=asm["dynCall_didd"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];Module["asm"]=asm;if(!Module["intArrayFromString"])Module["intArrayFromString"]=(function(){abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["intArrayToString"])Module["intArrayToString"]=(function(){abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["ccall"])Module["ccall"]=(function(){abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["cwrap"])Module["cwrap"]=(function(){abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["setValue"])Module["setValue"]=(function(){abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["getValue"])Module["getValue"]=(function(){abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["allocate"])Module["allocate"]=(function(){abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["getMemory"])Module["getMemory"]=(function(){abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["Pointer_stringify"])Module["Pointer_stringify"]=(function(){abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["AsciiToString"])Module["AsciiToString"]=(function(){abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["stringToAscii"])Module["stringToAscii"]=(function(){abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["UTF8ArrayToString"])Module["UTF8ArrayToString"]=(function(){abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["UTF8ToString"])Module["UTF8ToString"]=(function(){abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["stringToUTF8Array"])Module["stringToUTF8Array"]=(function(){abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["stringToUTF8"])Module["stringToUTF8"]=(function(){abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["lengthBytesUTF8"])Module["lengthBytesUTF8"]=(function(){abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["UTF16ToString"])Module["UTF16ToString"]=(function(){abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["stringToUTF16"])Module["stringToUTF16"]=(function(){abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["lengthBytesUTF16"])Module["lengthBytesUTF16"]=(function(){abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["UTF32ToString"])Module["UTF32ToString"]=(function(){abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["stringToUTF32"])Module["stringToUTF32"]=(function(){abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["lengthBytesUTF32"])Module["lengthBytesUTF32"]=(function(){abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["allocateUTF8"])Module["allocateUTF8"]=(function(){abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["stackTrace"])Module["stackTrace"]=(function(){abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["addOnPreRun"])Module["addOnPreRun"]=(function(){abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["addOnInit"])Module["addOnInit"]=(function(){abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["addOnPreMain"])Module["addOnPreMain"]=(function(){abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["addOnExit"])Module["addOnExit"]=(function(){abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["addOnPostRun"])Module["addOnPostRun"]=(function(){abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["writeStringToMemory"])Module["writeStringToMemory"]=(function(){abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["writeArrayToMemory"])Module["writeArrayToMemory"]=(function(){abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["writeAsciiToMemory"])Module["writeAsciiToMemory"]=(function(){abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["addRunDependency"])Module["addRunDependency"]=(function(){abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["removeRunDependency"])Module["removeRunDependency"]=(function(){abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["FS"])Module["FS"]=(function(){abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["FS_createFolder"])Module["FS_createFolder"]=(function(){abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["FS_createPath"])Module["FS_createPath"]=(function(){abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["FS_createDataFile"])Module["FS_createDataFile"]=(function(){abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["FS_createPreloadedFile"])Module["FS_createPreloadedFile"]=(function(){abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["FS_createLazyFile"])Module["FS_createLazyFile"]=(function(){abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["FS_createLink"])Module["FS_createLink"]=(function(){abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["FS_createDevice"])Module["FS_createDevice"]=(function(){abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["FS_unlink"])Module["FS_unlink"]=(function(){abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")});if(!Module["GL"])Module["GL"]=(function(){abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["staticAlloc"])Module["staticAlloc"]=(function(){abort("'staticAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["dynamicAlloc"])Module["dynamicAlloc"]=(function(){abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["warnOnce"])Module["warnOnce"]=(function(){abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["loadDynamicLibrary"])Module["loadDynamicLibrary"]=(function(){abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["loadWebAssemblyModule"])Module["loadWebAssemblyModule"]=(function(){abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["getLEB"])Module["getLEB"]=(function(){abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["getFunctionTables"])Module["getFunctionTables"]=(function(){abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["alignFunctionTables"])Module["alignFunctionTables"]=(function(){abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["registerFunctions"])Module["registerFunctions"]=(function(){abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["addFunction"])Module["addFunction"]=(function(){abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["removeFunction"])Module["removeFunction"]=(function(){abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["getFuncWrapper"])Module["getFuncWrapper"]=(function(){abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["prettyPrint"])Module["prettyPrint"]=(function(){abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["makeBigInt"])Module["makeBigInt"]=(function(){abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["dynCall"])Module["dynCall"]=(function(){abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["getCompilerSetting"])Module["getCompilerSetting"]=(function(){abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["stackSave"])Module["stackSave"]=(function(){abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["stackRestore"])Module["stackRestore"]=(function(){abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["stackAlloc"])Module["stackAlloc"]=(function(){abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["intArrayFromBase64"])Module["intArrayFromBase64"]=(function(){abort("'intArrayFromBase64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["tryParseAsDataURI"])Module["tryParseAsDataURI"]=(function(){abort("'tryParseAsDataURI' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")});if(!Module["ALLOC_NORMAL"])Object.defineProperty(Module,"ALLOC_NORMAL",{get:(function(){abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")})});if(!Module["ALLOC_STACK"])Object.defineProperty(Module,"ALLOC_STACK",{get:(function(){abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")})});if(!Module["ALLOC_STATIC"])Object.defineProperty(Module,"ALLOC_STATIC",{get:(function(){abort("'ALLOC_STATIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")})});if(!Module["ALLOC_DYNAMIC"])Object.defineProperty(Module,"ALLOC_DYNAMIC",{get:(function(){abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")})});if(!Module["ALLOC_NONE"])Object.defineProperty(Module,"ALLOC_NONE",{get:(function(){abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")})});if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);for(var i=0;i<data.length;i++){assert(HEAPU8[GLOBAL_BASE+i]===0,"area for memory initializer should not have been touched before it's loaded")}HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}Module.printErr("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}writeStackCookie();preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}checkStackCookie()}Module["run"]=run;function checkUnflushedContent(){var print=Module["print"];var printErr=Module["printErr"];var has=false;Module["print"]=Module["printErr"]=(function(x){has=true});try{var flush=Module["_fflush"];if(flush)flush(0);var hasFS=true;if(hasFS){["stdout","stderr"].forEach((function(name){var info=FS.analyzePath("/dev/"+name);if(!info)return;var stream=info.object;var rdev=stream.rdev;var tty=TTY.ttys[rdev];if(tty&&tty.output&&tty.output.length){has=true}}))}}catch(e){}Module["print"]=print;Module["printErr"]=printErr;if(has){warnOnce("stdio streams had content in them that was not flushed. you should set NO_EXIT_RUNTIME to 0 (see the FAQ), or make sure to emit a newline when you printf etc.")}}function exit(status,implicit){checkUnflushedContent();if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){if(!implicit){Module.printErr("exit("+status+") called, but NO_EXIT_RUNTIME is set, so halting execution but not exiting the runtime or preventing further async execution (build with NO_EXIT_RUNTIME=0, if you want a true shutdown)")}}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()