-
Notifications
You must be signed in to change notification settings - Fork 955
/
draco_encoder.js
35 lines (29 loc) · 882 KB
/
draco_encoder.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var DracoEncoderModule = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(DracoEncoderModule = {}) {
var Module=typeof DracoEncoderModule!="undefined"?DracoEncoderModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});["_free","_malloc","_emscripten_bind_VoidPtr___destroy___0","_emscripten_bind_GeometryAttribute_GeometryAttribute_0","_emscripten_bind_GeometryAttribute___destroy___0","_emscripten_bind_PointAttribute_PointAttribute_0","_emscripten_bind_PointAttribute_size_0","_emscripten_bind_PointAttribute_attribute_type_0","_emscripten_bind_PointAttribute_data_type_0","_emscripten_bind_PointAttribute_num_components_0","_emscripten_bind_PointAttribute_normalized_0","_emscripten_bind_PointAttribute_byte_stride_0","_emscripten_bind_PointAttribute_byte_offset_0","_emscripten_bind_PointAttribute_unique_id_0","_emscripten_bind_PointAttribute___destroy___0","_emscripten_bind_PointCloud_PointCloud_0","_emscripten_bind_PointCloud_num_attributes_0","_emscripten_bind_PointCloud_num_points_0","_emscripten_bind_PointCloud___destroy___0","_emscripten_bind_Mesh_Mesh_0","_emscripten_bind_Mesh_num_faces_0","_emscripten_bind_Mesh_num_attributes_0","_emscripten_bind_Mesh_num_points_0","_emscripten_bind_Mesh_set_num_points_1","_emscripten_bind_Mesh___destroy___0","_emscripten_bind_Metadata_Metadata_0","_emscripten_bind_Metadata___destroy___0","_emscripten_bind_DracoInt8Array_DracoInt8Array_0","_emscripten_bind_DracoInt8Array_GetValue_1","_emscripten_bind_DracoInt8Array_size_0","_emscripten_bind_DracoInt8Array___destroy___0","_emscripten_bind_MetadataBuilder_MetadataBuilder_0","_emscripten_bind_MetadataBuilder_AddStringEntry_3","_emscripten_bind_MetadataBuilder_AddIntEntry_3","_emscripten_bind_MetadataBuilder_AddIntEntryArray_4","_emscripten_bind_MetadataBuilder_AddDoubleEntry_3","_emscripten_bind_MetadataBuilder___destroy___0","_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0","_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5","_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5","_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5","_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5","_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5","_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5","_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5","_emscripten_bind_PointCloudBuilder_AddMetadata_2","_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3","_emscripten_bind_PointCloudBuilder_SetNormalizedFlagForAttribute_3","_emscripten_bind_PointCloudBuilder___destroy___0","_emscripten_bind_MeshBuilder_MeshBuilder_0","_emscripten_bind_MeshBuilder_AddFacesToMesh_3","_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5","_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5","_emscripten_bind_MeshBuilder_AddMetadataToMesh_2","_emscripten_bind_MeshBuilder_AddFloatAttribute_5","_emscripten_bind_MeshBuilder_AddInt8Attribute_5","_emscripten_bind_MeshBuilder_AddUInt8Attribute_5","_emscripten_bind_MeshBuilder_AddInt16Attribute_5","_emscripten_bind_MeshBuilder_AddUInt16Attribute_5","_emscripten_bind_MeshBuilder_AddInt32Attribute_5","_emscripten_bind_MeshBuilder_AddUInt32Attribute_5","_emscripten_bind_MeshBuilder_AddMetadata_2","_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3","_emscripten_bind_MeshBuilder_SetNormalizedFlagForAttribute_3","_emscripten_bind_MeshBuilder___destroy___0","_emscripten_bind_Encoder_Encoder_0","_emscripten_bind_Encoder_SetEncodingMethod_1","_emscripten_bind_Encoder_SetAttributeQuantization_2","_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5","_emscripten_bind_Encoder_SetSpeedOptions_2","_emscripten_bind_Encoder_SetTrackEncodedProperties_1","_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2","_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3","_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0","_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0","_emscripten_bind_Encoder___destroy___0","_emscripten_bind_ExpertEncoder_ExpertEncoder_1","_emscripten_bind_ExpertEncoder_SetEncodingMethod_1","_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2","_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5","_emscripten_bind_ExpertEncoder_SetSpeedOptions_2","_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1","_emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2","_emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0","_emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0","_emscripten_bind_ExpertEncoder___destroy___0","_emscripten_enum_draco_GeometryAttribute_Type_INVALID","_emscripten_enum_draco_GeometryAttribute_Type_POSITION","_emscripten_enum_draco_GeometryAttribute_Type_NORMAL","_emscripten_enum_draco_GeometryAttribute_Type_COLOR","_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD","_emscripten_enum_draco_GeometryAttribute_Type_GENERIC","_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE","_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD","_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH","_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING","_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING","_fflush","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};Module["onModuleParsed"]=function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=5)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e=="object"&&e.stack){toLog=[e,e.stack]}err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")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?)");var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror)=>{var ret=tryParseAsDataURI(filename);if(ret){onload(ret)}filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")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?)");if(typeof read!="undefined"){read_=function shell_read(f){const data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){let 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};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof clearTimeout=="undefined"){globalThis.clearTimeout=id=>{}}if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!="undefined"){if(typeof console=="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))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?)");{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){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}}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";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)}}setWindowTitle=title=>document.title=title}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed (modify read_ in JS)");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify setWindowTitle in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("read","read_");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");var noExitRuntime=Module["noExitRuntime"]||true;legacyModuleProp("noExitRuntime","noExitRuntime");var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=(
// EMSCRIPTEN_START_ASM
function instantiate(ta){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a<j;a+=4){g=f[o.charCodeAt(a+1)];h=f[o.charCodeAt(a+2)];m[i++]=f[o.charCodeAt(a)]<<2|g>>4;if(i<k)m[i++]=g<<4|h>>2;if(i<k)m[i++]=h<<6|f[o.charCodeAt(a+3)]}}function p(q){l(e,1028,"YAQAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAAD4SAAAOAQAAIAIAABjb21wcmVzc19jb25uZWN0aXZpdHkAaW5maW5pdHkALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABfX25leHRfcHJpbWUgb3ZlcmZsb3cAc3RvcmVfbnVtYmVyX29mX2VuY29kZWRfcG9pbnRzAHF1YW50aXphdGlvbl9iaXRzAHNwbGl0X21lc2hfb25fc2VhbXMAc3RvcmVfbnVtYmVyX29mX2VuY29kZWRfZmFjZXMAdmVjdG9yAHByZWRpY3RpdmVfZWRnZWJyZWFrZXIAc3RhbmRhcmRfZWRnZWJyZWFrZXIAc3RkOjpleGNlcHRpb24AdXNlX2J1aWx0X2luX2F0dHJpYnV0ZV9jb21wcmVzc2lvbgBxdWFudGl6YXRpb25fb3JpZ2luAG5hbgBzeW1ib2xfZW5jb2RpbmdfY29tcHJlc3Npb25fbGV2ZWwAYmFkX2FycmF5X25ld19sZW5ndGgAYmFzaWNfc3RyaW5nAGluZgAlZgBwcmVkaWN0aW9uX3NjaGVtZQBxdWFudGl6YXRpb25fcmFuZ2UAZWRnZWJyZWFrZXJfbWV0aG9kAHN5bWJvbF9lbmNvZGluZ19tZXRob2QAZW5jb2Rpbmdfc3BlZWQAZGVjb2Rpbmdfc3BlZWQAc3RkOjpiYWRfYWxsb2MARFJBQ08ATkFOAElORgBJbnZhbGlkIGlucHV0IGdlb21ldHJ5LgBGYWlsZWQgdG8gZW5jb2RlIG1lc2ggY29tcG9uZW50LgBGYWlsZWQgdG8gZW5jb2RlIHBvaW50IGF0dHJpYnV0ZXMuAEZhaWxlZCB0byBwcm9jZXNzIG1lc2ggaG9sZXMuAEZhaWxlZCB0byBpbml0aWFsaXplIGVuY29kZXIuAEFsbCB0cmlhbmdsZXMgYXJlIGRlZ2VuZXJhdGUuAEludmFsaWQgZW5jb2RpbmcgbWV0aG9kLgBGYWlsZWQgdG8gZW5jb2RlIG1ldGFkYXRhLgBGYWlsZWQgdG8gZW5jb2RlIHNwbGl0IGRhdGEuAEZhaWxlZCB0byBlbmNvZGUgaW50ZXJuYWwgZGF0YS4ARmFpbGVkIHRvIGluaXRpYWxpemUgYXR0cmlidXRlIGRhdGEuAChudWxsKQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBsaWJjKythYmk6IAAAAAAAVAgAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAAAsAAAAYAAAAGQAAAE41ZHJhY28zMEF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybUUAAAAA+EgAACgIAACACAAATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQAAAADQSAAAYAgAAP////8AAAAA5AgAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAHgAAACUAAABONWRyYWNvMTdBdHRyaWJ1dGVzRW5jb2RlckUA0EgAAMgIAAAAAAAATAkAACYAAAAnAAAAHAAAAB0AAAAoAAAAHwAAACAAAAAhAAAAIgAAACMAAAApAAAAKgAAACsAAABONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRW5jb2RlckUAAAD4SAAAKAkAAOQIAAAAAAAAuAkAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVFbmNvZGVyRQAAAADQSAAAkAkAAAAAAAA0CgAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZUVuY29kZXJzQ29udHJvbGxlckUA+EgAAAQKAADkCAAAAAAAAKwKAABHAAAASAAAAEkAAAAvAAAASgAAADEAAAAyAAAAMwAAAEsAAAA1AAAANgAAAEwAAABNAAAATgAAAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRW5jb2RlckUA+EgAAIAKAAC4CQAA/////wAAAAA8DQAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZEVuY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRW5jb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUA0EgAAOAMAAD4SAAAtQwAAAQNAAD4SAAAgQwAAAwNAAD4SAAALQwAABgNAAD4SAAAlwsAACQNAAD4SAAA9AoAADANAAAAAAAAMA0AAE8AAABbAAAAHgAAAFIAAAAeAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAHgAAAAAAAAAkDQAATwAAAFwAAAAeAAAAUgAAAB4AAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAAAeAAAAAAAAAKQOAABdAAAAXgAAAF8AAABSAAAAYAAAAFQAAABVAAAAVgAAAFcAAABYAAAAYQAAAGIAAABONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAD4SAAA8A0AADANAAAAAAAAkA8AAGMAAABkAAAAZQAAAFIAAABmAAAAZwAAAGgAAABpAAAAVwAAAFgAAABqAAAAawAAAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAPhIAADoDgAAMA0AAAAAAAB8EAAAbAAAAG0AAABuAAAAUgAAAG8AAABwAAAAcQAAAHIAAABXAAAAWAAAAHMAAAB0AAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAA+EgAANQPAAAwDQAAAAAAAAQSAAB1AAAAdgAAAHcAAAB4AAAAeQAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAA0EgAAE8RAAD4SAAApBAAAPwRAAAAAAAA/BEAAHUAAAB6AAAAHgAAAHgAAAAeAAAAAAAAAJATAABPAAAAewAAAHwAAABSAAAAfQAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAH4AAABONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAD4SAAA+hIAACQNAAD4SAAAZBIAAIQTAAAAAAAAhBMAAE8AAAB/AAAAHgAAAFIAAAAeAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAHgAAAAAAAAC0FAAAgAAAAIEAAACCAAAAUgAAAIMAAABUAAAAVQAAAFYAAABXAAAAWAAAAIQAAACFAAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAA+EgAAAwUAACEEwAAAAAAAJQVAACGAAAAhwAAAIgAAABSAAAAiQAAAIoAAACLAAAAjAAAAFcAAABYAAAAjQAAAI4AAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAD4SAAA+BQAAIQTAAAAAAAAcBYAAI8AAACQAAAAkQAAAFIAAACSAAAAkwAAAJQAAACVAAAAVwAAAFgAAACWAAAAlwAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUA+EgAANgVAACEEwAAAAAAANwXAACYAAAAmQAAAJoAAACbAAAAnAAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQDQSAAANhcAAPhIAACYFgAA1BcAAAAAAADUFwAAmAAAAJ0AAAAeAAAAmwAAAB4AAAAAAAAAmBgAAE8AAACeAAAAnwAAAFIAAACgAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAoQAAAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUAAAAA+EgAADwYAAAkDQAAAAAAABAZAACiAAAAowAAAKQAAAAvAAAASgAAADEAAAClAAAApgAAAKcAAAA1AAAANgAAAEwAAACoAAAAqQAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVFbmNvZGVyRQAA+EgAAOQYAACsCgAAAAAAAEQbAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACwAAAAsQAAALIAAACzAAAAtAAAALUAAABONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUAAAAA+EgAAL0aAAAYDQAA+EgAAA8aAAAsGwAA+EgAAFQZAAA4GwAAAAAAAFQcAAC2AAAAtwAAALgAAACtAAAAuQAAAK8AAACwAAAAsQAAALIAAACzAAAAugAAALsAAABONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAD4SAAAiBsAADgbAAAAAAAAWB0AALwAAAC9AAAAvgAAAK0AAAC/AAAAwAAAAMEAAADCAAAAsgAAALMAAADDAAAAxAAAAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAPhIAACYHAAAOBsAAAAAAABcHgAAxQAAAMYAAADHAAAArQAAAMgAAADJAAAAygAAAMsAAACyAAAAswAAAMwAAADNAAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAA+EgAAJwdAAA4GwAAAAAAABQgAADOAAAAzwAAANAAAADRAAAA0gAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAA0EgAAEcfAAD4SAAAhB4AAAwgAAAAAAAAtCEAAKoAAADTAAAA1AAAAK0AAADVAAAArwAAALAAAACxAAAAsgAAALMAAAC0AAAA1gAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAPhIAAAGIQAALBsAAPhIAABYIAAAqCEAAAAAAAC4IgAA1wAAANgAAADZAAAArQAAANoAAACvAAAAsAAAALEAAACyAAAAswAAANsAAADcAAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAA+EgAAPghAACoIQAAAAAAALAjAADdAAAA3gAAAN8AAACtAAAA4AAAAOEAAADiAAAA4wAAALIAAACzAAAA5AAAAOUAAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAD4SAAA/CIAAKghAAAAAAAApCQAAOYAAADnAAAA6AAAAK0AAADpAAAA6gAAAOsAAADsAAAAsgAAALMAAADtAAAA7gAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUA+EgAAPQjAACoIQAAAAAAAEAmAADvAAAA8AAAAPEAAADyAAAA8wAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQDQSAAAgiUAAPhIAADMJAAAOCYAAAAAAAD4JgAAqgAAAPQAAAD1AAAArQAAAPYAAACvAAAAsAAAALEAAACyAAAAswAAALQAAAD3AAAATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAAAD4SAAAhCYAACwbAAAAAAAAeCcAAPgAAAD5AAAA+gAAAC8AAABKAAAAMQAAAPsAAAD8AAAA/QAAADUAAAA2AAAATAAAAE0AAAD+AAAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZUVuY29kZXJFAAAAAPhIAABEJwAArAoAAAAAAAAEKAAA/wAAAAABAAABAQAAAgEAAE41ZHJhY283RW5jb2RlckUATjVkcmFjbzExRW5jb2RlckJhc2VJTlNfMThFbmNvZGVyT3B0aW9uc0Jhc2VJTlNfMTdHZW9tZXRyeUF0dHJpYnV0ZTRUeXBlRUVFRUUAANBIAACtJwAA+EgAAJwnAAD8JwAAAAAAAFQoAAADAQAABAEAAE41ZHJhY28xMUVuY29kZXJCYXNlSU5TXzE4RW5jb2Rlck9wdGlvbnNCYXNlSWlFRUVFAADQSAAAICgAAAAAAAD8JwAA/wAAAAUB");l(e,10356,"mCgAAAMBAAAGAQAATjVkcmFjbzEzRXhwZXJ0RW5jb2RlckUA+EgAAIAoAABUKAAAAAAAABgpAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAAEQEAABIBAAATAQAAFAEAABUBAAAWAQAAFwEAABgBAABONWRyYWNvMjJNZXNoRWRnZWJyZWFrZXJFbmNvZGVyRQAAAAD4SAAA9CgAAOQvAAAAAAAAECoAABkBAAAaAQAAGwEAABwBAAAdAQAAHgEAAB8BAAAgAQAAIQEAACIBAAAjAQAAAAAAAHAqAAAkAQAAJQEAACYBAAAnAQAAKAEAACkBAAAqAQAAKwEAACwBAAAtAQAALgEAAE41ZHJhY28yNk1lc2hFZGdlYnJlYWtlckVuY29kZXJJbXBsSU5TXzMxTWVzaEVkZ2VicmVha2VyVHJhdmVyc2FsRW5jb2RlckVFRQBONWRyYWNvMzVNZXNoRWRnZWJyZWFrZXJFbmNvZGVySW1wbEludGVyZmFjZUUAAADQSAAA2CkAAPhIAACMKQAACCoAAE41ZHJhY28yNk1lc2hFZGdlYnJlYWtlckVuY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VicmVha2VyVHJhdmVyc2FsVmFsZW5jZUVuY29kZXJFRUUAAPhIAAAcKgAACCoAAAAAAABsKwAALwEAADABAAAxAQAATjVkcmFjbzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMV9FRUVFAE41ZHJhY28xM1RyYXZlcnNlckJhc2VJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQDQSAAA/SoAAPhIAACQKgAAZCsAAAAAAABkKwAAMgEAADMBAAAxAQAAAAAAAAEAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAEAAAAFAAAAAgAAAAUAAAADAAAABQAAAAQAAAAAAAAAlCwAADQBAAA1AQAANgEAADcBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI4TWF4UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMyX0VFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAAAAANBIAABvLAAA+EgAAOgrAACMLAAA/////wAAAACELQAAOAEAADkBAAA6AQAATjVkcmFjbzI4TWF4UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUATjVkcmFjbzEzVHJhdmVyc2VyQmFzZUlOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAANBIAAAhLQAA+EgAALgsAAB8LQAAAAAAAHwtAAA7AQAAPAEAADoBAAAAAAAAPC4AAD0BAAA+AQAAPwEAAEABAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMyX0VFRUVFRQAAAPhIAAC8LQAAjCwAAAAAAAC8LgAAQQEAAEIBAAA6AQAATjVkcmFjbzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUA+EgAAFwuAAB8LQAAAAAAAGwvAABDAQAARAEAAEUBAABGAQAATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAD4SAAA4C4AAIws");l(e,12160,"5C8AAEcBAABIAQAACQEAAB4AAABJAQAADAEAAA0BAAAOAQAADwEAAB4AAABKAQAAEgEAAB4AAABLAQAATAEAAE0BAAAeAAAAHgAAAE41ZHJhY28xMU1lc2hFbmNvZGVyRQAAAPhIAADMLwAABDEAAAAAAABgMAAARwEAAE4BAAAJAQAATwEAAEkBAAAMAQAADQEAAA4BAAAPAQAAUAEAAEoBAAASAQAAUQEAAEsBAABMAQAATQEAAFIBAABTAQAATjVkcmFjbzIxTWVzaFNlcXVlbnRpYWxFbmNvZGVyRQD4SAAAQDAAAOQvAAAAAAAAoDAAAFQBAABVAQAAVgEAAFcBAABONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAAAA+EgAAIQwAACMLAAAAAAAAAQxAABHAQAAWAEAAFkBAAAeAAAASQEAAAwBAABaAQAADgEAAA8BAAAeAAAASgEAABIBAAAeAAAATjVkcmFjbzE3UG9pbnRDbG91ZEVuY29kZXJFANBIAADoMAAAAAAAAGwxAABHAQAAWwEAAFkBAABcAQAASQEAAAwBAABdAQAADgEAAA8BAABeAQAASgEAABIBAABfAQAATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZUVuY29kZXJFAAAA+EgAAEgxAAAEMQAAAAAAANwxAABHAQAAYAEAAFkBAABhAQAASQEAAAwBAABiAQAADgEAAA8BAABjAQAASgEAABIBAABkAQAATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxFbmNvZGVyRQAAAPhIAAC0MQAABDE=");l(e,12804,"AQAAAFZVVVUCAAAAAAAAAAIAAACamZmZAwAAAFZVVVUDAAAAJUmSJAMAAAAAAAAAAwAAAMhxHMcEAAAAmpmZmQQAAABGF110BAAAAFZVVVUEAAAAPLETOwQAAAAlSZIkBAAAABIREREEAAAAAAAAAAQAAADi4eHhBQAAAMhxHMcFAAAAy2sorwUAAACamZmZBQAAAIdhGIYFAAAARhdddAUAAACRhSxkBQAAAFZVVVUFAAAAexSuRwUAAAA8sRM7BQAAANtLaC8FAAAAJUmSJAUAAAASlnsaBQAAABIREREFAAAAhRBCCAUAAAAAAAAABQAAAAgffPAGAAAA4uHh4QYAAADVQR3UBgAAAMhxHMcGAAAATZHPugYAAADLayivBgAAAKVBGqQGAAAAmpmZmQYAAAD6GJyPBgAAAIdhGIYGAAAAGPQFfQYAAABGF110BgAAAG3BFmwGAAAAkYUsZAYAAAC6gphcBgAAAFZVVVUGAAAAcwpeTgYAAAB7FK5HBgAAAEJBQUEGAAAAPLETOwYAAACzzyE1BgAAANtLaC8GAAAAnxLkKQYAAAAlSZIkBgAAAN1HcB8GAAAAEpZ7GgYAAAD45bEVBgAAABIREREGAAAA/BSXDAYAAACFEEIIBgAAAAVBEAQGAAAAAAAAAAYAAAD5gR/4BwAAAAgffPAHAAAAwBoT6QcAAADi4eHhBwAAAGwH5toHAAAA1UEd1AcAAACRaIXNBwAAAMhxHMcHAAAAOXDgwAcAAABNkc+6BwAAAE8b6LQHAAAAy2sorwcAAAAH9o6pBwAAAKVBGqQHAAAAUunIngcAAACamZmZBwAAAM4Pi5QHAAAA+hicjwcAAAD3kMuKBwAAAIdhGIYHAAAAgoGBgQcAAAAY9AV9BwAAABjIpHgHAAAARhdddAcAAADBBS5wBwAAAG3BFmwHAAAAaYEWaAcAAACRhSxkBwAAAAYWWGAHAAAAuoKYXAcAAAAJI+1YBwAAAFZVVVUHAAAAr37QUQcAAABzCl5OBwAAAAZq/UoHAAAAexSuRwcAAABXhm9EBwAAAEJBQUEHAAAAz8siPgcAAAA8sRM7BwAAADmBEzgHAAAAs88hNQcAAACjND4yBwAAANtLaC8HAAAA2bSfLAcAAACfEuQpBwAAAIkLNScHAAAAJUmSJAcAAAATePshBwAAAN1HcB8HAAAA22rwHAcAAAASlnsaBwAAABmBERgHAAAA+OWxFQcAAAAUgVwTBwAAABIREREHAAAAv1bPDgcAAAD8FJcMBwAAAKcQaAoHAAAAhRBCCAcAAAAw3SQGBwAAAAVBEAQHAAAAEQgEAgcAAAAAAAAABwAAACDwB/wIAAAA+YEf+AgAAADlWUb0CAAAAAgffPAIAAAAMXvA7AgAAADAGhPpCAAAAJGsc+UIAAAA4uHh4QgAAABAbl3eCAAAAGwH5toIAAAATGV71wgAAADVQR3UCAAAAPdYy9AIAAAAkWiFzQgAAABWMEvKCAAAAMhxHMcIAAAAHfD4wwgAAAA5cODACAAAAJq40r0IAAAATZHPuggAAADew9a3CAAAAE8b6LQIAAAAB2QDsggAAADLayivCAAAAK0BV6wIAAAAB/aOqQgAAABuGtCmCAAAAKVBGqQIAAAAmD9toQgAAABS6cieCAAAAO8ULZwIAAAAmpmZmQgAAACBTw6XCAAAAM4Pi5QIAAAAnrQPkggAAAD6GJyPCAAAANQYMI0IAAAA95DLiggAAAALX26ICAAAAIdhGIYIAAAArHfJgwgAAACCgYGBCAAAANFfQH8IAAAAGPQFfQgAAACPINJ6CAAAABjIpHgIAAAARM59dggAAABGF110CAAAAPWHQnIIAAAAwQUucAgAAAC1dh9uCAAAAG3BFmwIAAAAFs0TaggAAABpgRZoCAAAAKbGHmYIAAAAkYUsZAgAAABxpz9iCAAAAAYWWGAIAAAAjrt1XggAAAC6gphcCAAAALFWwFoIAAAACSPtWAgAAADG0x5XCAAAAFZVVVUIAAAAkJSQUwgAAACvftBRCAAAAFEBFVAIAAAAcwpeTggAAABziKtMCAAAAAZq/UoIAAAAPJ5TSQgAAAB7FK5HCAAAAIC8DEYIAAAAV4ZvRAgAAABeYtZCCAAAAEJBQUEIAAAA/BOwPwgAAADPyyI+CAAAAEhamTwIAAAAPLETOwgAAADCwpE5CAAAADmBEzgIAAAAPt+YNggAAACzzyE1CAAAALZFrjMIAAAAozQ+MggAAAAUkNEwCAAAANtLaC8IAAAABVwCLggAAADZtJ8sCAAAANFKQCsIAAAAnxLkKQgAAAApAYsoCAAAAIkLNScIAAAACSfiJQgAAAAlSZIkCAAAAIpnRSMIAAAAE3j7IQgAAADHcLQgCAAAAN1HcB8IAAAAtPMuHggAAADbavAcCAAAAAWktBsIAAAAEpZ7GggAAAAJOEUZCAAAABmBERgIAAAAlWjgFggAAAD45bEVCAAAAOHwhRQIAAAAFIFcEwgAAAB2jjUSCAAAABIREREIAAAAEAHvDwgAAAC/Vs8OCAAAAIkKsg0IAAAA/BSXDAgAAADDbn4LCAAAAKcQaAoIAAAAkfNTCQgAAACFEEIICAAAAKVgMgcIAAAAMN0kBggAAAB+fxkFCAAAAAVBEAQIAAAAUhsJAwgAAAARCAQCCAAAAAIBAQEIAAAAAQAAAAEAAAACAAAAAgAAAAQAAAAEAAAACAAAAAgAAAAEAAAACAAAAAEAAAAAAAAA/////wAAAABYOgAAZQEAAGYBAABnAQAAaAEAAGkBAABqAQAAawEAAE41ZHJhY280TWVzaEUAAAD4SAAASDoAAKg6AAD/////AAAAAAAAAACoOgAAbAEAAG0BAABuAQAAbwEAAGkBAABqAQAAcAEAAE41ZHJhY28xMFBvaW50Q2xvdWRFAAAAANBIAACQOgAA/////wAAAAAAACBlRxX3PwCi7y78Bec9OYMrZUcV57++BDrcCcfeP/svcGRHFde/SEwDUGx30j+8kuoos8fOvy75F+ElYso//oIrZUcV57/3AzrcCcfePz98K2VHFde/5FvwUGx30j/lj3bdCcfOvzbnxB52Yco/m6dkvD8Vx79KG/BU0YTEPzw4LKfkicK/Zu5aKC+zwD/4rLFrKCT3PwCwze5fCeG/oczSZvfh9j8A0Ha9lITgv4rUMA49ofY/APjorkMB4L+FbNAy7GH2PwBACzbF/t6/+JgRlfoj9j8A4Lca2f3dv2wCz6Rb5/U/AJDHDK7/3L+4TyFaBaz1PwCg/RE4BNy/Hm4WD+1x9T8A4DoyZwvbvzX4C1kJOfU/ALAtWi8V2r/drWHtTwH1PwBg+Fp/Idm/0HtIjrjK9D8AkHGwTTDYv+5PM7Q5lfQ/AOCp+YlB179p1a/fy2D0PwCQGbUrVda/U7nkTmYt9D8AEJuiI2vVv6bYHREB+/M/AKBfD2WD1L82WAy3lcnzPwCg9jfpndO/Sv22ShyZ8z8AYI1TobrSv7WZ4AyOafM/AEDKQIPZ0b+y5xOC5DrzPwDgQDqF+tC/sb2FGRkN8z8AMOcynB3Qv9dxssol4PI/AGD6on2Fzr+CzRPPBLTyPwCAPWPI08y/UMt8LLCI8j8AoBRMAybLv+VNlGMiXvI/AOBPLxx8yb+xFYY9VjTyPwAAgD8C1se/OK8+40YL8j8A4AUapzPGv92jzf3u4vE/AABX6fWUxL8wOQtYSrvxPwCg4CTk+cK/ACJ/hFOU8T8AwP1aWWLBvzzX1cAGbvE/AIC9dZqcv7/C5LdHX0jxPwDA+VtXe7y/0YUArVgj8T8AgPQPxmC5vyciUw/w/vA/AAC2R+JMtr+POtB3INvwPwBAAbJ4P7O/2YBZ1ua38D8AwEIafTiwv41Ae/4+lfA/AAC1CJJvqr+DO8XKJXPwPwAAd0+VeqS/XBsN5JdR8D8AAAzFqCOdv6KOIMGRMPA/AAB4KSZqkb8hfrMlEBDwPwAA6Nj4IHe/a6fK+X7A7z8AAFCxU/6GP4Tx9tNlRO8/AIAP4cwcoT9/EISfB8zuPwCAi4z8Taw/6FqXmTpX7j8AQFceMqqzP+Y9vfDW5e0/AICL0KAYuT+zOP+BtnftPwBABNrpcr4/Q+lNcrUM7T8AYH9Q0tzBP2N1DtyypOw/AKDeA6t2xD9Ry9bojj/sPwAg4ndDB8c/TAwCTyvd6z8AQKmL3o7JP8oVYABsfes/AODSargNzD+PMy5uNiDrPwDgzq8KhM4/OVApJnDF6j8AgGe0CnnQP90xJ7wBbeo/AMABaAWs0T+L8T+80xbqPwDg/tQR29I/rf5nSdHC6T8AgMVORgbUPwKZfPTkcOk/APA6Cb4t1T/yvII5+yDpPwDQUCCQUdY/8Vn3hwHT6D8A8OrN0nHXP232uevlhug/AJB9hZyO2D+UuVi2lzzoPwBg4VUBqNk/IhDG/wX05z8A0NNuGL7aP8oVFBgirec/AOCgrvLQ2z+M/5753GfnPwBAvz2k4Nw/jgq5EgAg5j8FtkQGqwSJPKY0VwQAYOY/qfdi6pv/YTzF8iXD/5/mP7qQPMvPfoI8BFq5OADg5j8mk3NWiP+IPOOUmeD/H+c/sYJfJ0D9ijwQDlkVAGDnP0GDI7R1/XK81VtlEgCg5z92KyR85gh4PKbpWTIA4Oc/tyL2JuQIYrzSsrTt/x/oPy/JpR5GAoS8w/z6LQBg6D8fmvKi9PdtPFBrjPf/n+g//ZVJCVMEjrxmFWc5AODoP0V7x77zBIq8RRe/4v8f6T88IA5ANPp3vNGfXMz/X+k/XWmgBYD/drxnR7o7AKDpPwN+7MTE+HA8pS255//f6T8CRoxH2X+OPK/9Ltf/H+o/fq7NTVUMaryV/wTe/1/qP2uy6YypfYY8K41eyv+f6j/eE0y1yYSCvOoDrd3/3+o/PC5g6sgSWDxNPQ3x/x/rP5x4J63d+o68WhYhzv9f6z83EsYZF8tTPHTmUNn/n+s/AM6UQdn3czyvqJwTAODrP8CbXSHECnU8md9GWwAg7D/JwelTpu5rPK73uUAAYOw/1nBKJ58HfLyK/VViAKDsPx9M6HZAC3q8XQlM2f/f7D/XtZr5M/mIPM/Wdfn/H+0/vuFfZggsWLyTHFai/1/tP/OV0psoBHu8DIsinf+f7T82og80UQKHPBZ+vGUA4O0/DNikFh4BdbyRR/YCACDuP+Bi7wkvgIk82KbXVwBg7j/69wxYdQt+vAzA7ScAoO4/EZhFCYOEjLx8y/VsAODuP/R2FZUngI+8zH0reAAg7z+PU3Ry2YGPvApFDCYAYO8/3P8nJwBxQLwz1Yzo/5/vP7Co/eHcG1i8iYYP1f/f7z9ujpHLGvmHPGcjKQQAIPA/gUYyZfN/mzxo1uPj/1/wP3uVrt0I+oY8V6eFCgCg8D+R+9OA3uJXvMw/XxoA4PA/FPDFBTOCkbz1uq/4/x/xP8K6gGa7+ou8rZFN5f9f8T/v5zcXEn+dvOE2rBEAoPE///UWBQoAnDxIQsgZAODxP6Bd2uT7gpC8bl7+DwAg8j9D+5xM0P2IvJHYnyYAYPI/gtGUeSr+jDza5qYpAKDyP8WLXnFzAnC8OT4p4P/f8j/5prLaOXybPILw3Pf/H/M/VFLcbjPxfTxgi1rw/1/zP+sxzUxWA568zK4OLgCg8z93pNNL5/B1PDayOwQA4PM/M4idFMt9nDz/h9ECACD0Pyg9Lc+vCH48sXw4DQBg9D+mmWWFNwiCPImfVgQAoPQ/0rxPkFz6ibzzQzUEAOD0PylTF+0lEXi8D38CzP8f9T/cVHeE2IOYPG+zh/3/X/U/ByjQMecJh7y69x3y/5/1PwJ7cmif94c8gTT86//f9T8+6TAukICRvJhKAAAAAAAA0XSeAFedvSqAcFIP//8+JwoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAAZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQ==");l(e,17393,"DgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAO");l(e,17451,"DA==");l(e,17463,"EwAAAAATAAAAAAkMAAAAAAAMAAAM");l(e,17509,"EA==");l(e,17521,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ");l(e,17567,"Eg==");l(e,17579,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa");l(e,17634,"GgAAABoaGgAAAAAAAAk=");l(e,17683,"FA==");l(e,17695,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU");l(e,17741,"Fg==");l(e,17753,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGAAAAAAIAAAADAAAABQAAAAcAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAH8AAACDAAAAiQAAAIsAAACVAAAAlwAAAJ0AAACjAAAApwAAAK0AAACzAAAAtQAAAL8AAADBAAAAxQAAAMcAAADTAAAAAQAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAeQAAAH8AAACDAAAAiQAAAIsAAACPAAAAlQAAAJcAAACdAAAAowAAAKcAAACpAAAArQAAALMAAAC1AAAAuwAAAL8AAADBAAAAxQAAAMcAAADR");l(e,18196,"CgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AAAAAAAAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OU4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAAPhIAAAISAAAjEoAAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAPhIAAA4SAAALEgAAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAAPhIAABoSAAALEgAAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAPhIAACYSAAAjEgAAAAAAABcSAAAdwEAAHgBAAB5AQAAegEAAHsBAAB8AQAAfQEAAH4BAAAAAAAAQEkAAHcBAAB/AQAAeQEAAHoBAAB7AQAAgAEAAIEBAACCAQAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAPhIAAAYSQAAXEgAAAAAAACwSQAADgAAAIMBAACEAQAAAAAAANhJAAAOAAAAhQEAAIYBAAAAAAAAmEkAAA4AAACHAQAAiAEAAFN0OWV4Y2VwdGlvbgAAAADQSAAAiEkAAFN0OWJhZF9hbGxvYwAAAAD4SAAAoEkAAJhJAABTdDIwYmFkX2FycmF5X25ld19sZW5ndGgAAAAA+EgAALxJAACwSQAAAAAAAAhKAAABAAAAiQEAAIoBAABTdDExbG9naWNfZXJyb3IA+EgAAPhJAACYSQAAAAAAADxKAAABAAAAiwEAAIoBAABTdDEybGVuZ3RoX2Vycm9yAAAAAPhIAAAoSgAACEoAAAAAAABwSgAAAQAAAIwBAACKAQAAU3QxMm91dF9vZl9yYW5nZQAAAAD4SAAAXEoAAAhKAABTdDl0eXBlX2luZm8AAAAA0EgAAHxK");l(e,19096,"BQ==");l(e,19108,"cQE=");l(e,19132,"cgEAAHMBAAC0Sw==");l(e,19156,"Ag==");l(e,19172,"//////////8=");l(e,19240,"mEoAAHBOAQ==")}var r=new ArrayBuffer(16);var s=new Int32Array(r);var t=new Float32Array(r);var u=new Float64Array(r);function v(w){return s[w]}function x(w,y){s[w]=y}function z(){return u[0]}function A(y){u[0]=y}function B(y){t[2]=y}function C(){throw new Error("abort")}function D(){return t[2]}function sa(q){var E=q.env;var F=E.memory;var G=F.buffer;F.grow=qa;var H=new Int8Array(G);var I=new Int16Array(G);var J=new Int32Array(G);var K=new Uint8Array(G);var L=new Uint16Array(G);var M=new Uint32Array(G);var N=new Float32Array(G);var O=new Float64Array(G);var P=Math.imul;var Q=Math.fround;var R=Math.abs;var S=Math.clz32;var T=Math.min;var U=Math.max;var V=Math.floor;var W=Math.ceil;var X=Math.trunc;var Y=Math.sqrt;var Z=E.__cxa_throw;var _=E.emscripten_memcpy_big;var $=q.wasi_snapshot_preview1;var aa=$.fd_close;var ba=$.fd_write;var ca=E.abort;var da=E.emscripten_resize_heap;var ea=$.fd_seek;var fa=85616;var ga=0;var ha=0;var ia=0;var ja=0;
// EMSCRIPTEN_START_FUNCS
function kf(a,b,c,d,e){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,D=0,E=0,F=0,G=0,I=0,L=0;B=fa-48|0;fa=B;a:{b:{if((b|0)<0){break b}if(!b){h=1;break b}J[B+40>>2]=0;J[B+32>>2]=0;J[B+36>>2]=0;c:{d:{if(b>>>0<1073741824){g=b<<2;n=pl(g);J[B+36>>2]=n;J[B+32>>2]=n;j=g+n|0;u=(c|0)<=1?1:c;c=u-1|0;v=c&-4;l=c&3;r=u-2>>>0>2;F=n;g=n;e:{f:{g:{while(1){h=J[(s<<2)+a>>2];h:{if(u>>>0<2){break h}m=0;c=1;if(r){while(1){q=(c+s<<2)+a|0;k=J[q>>2];h=h>>>0>k>>>0?h:k;k=J[q+4>>2];h=h>>>0>k>>>0?h:k;k=J[q+8>>2];h=h>>>0>k>>>0?h:k;q=J[q+12>>2];h=h>>>0>q>>>0?h:q;c=c+4|0;m=m+4|0;if((v|0)!=(m|0)){continue}break}}k=0;if(!l){break h}while(1){m=J[(c+s<<2)+a>>2];h=h>>>0>m>>>0?h:m;c=c+1|0;k=k+1|0;if((l|0)!=(k|0)){continue}break}}c=h?(S(h)^31)+1|0:1;i:{if(g>>>0<j>>>0){J[g>>2]=c;g=g+4|0;J[B+36>>2]=g;break i}m=g-F|0;q=m>>2;g=q+1|0;if(g>>>0>=1073741824){break g}j=j-F|0;k=j>>>1|0;j=j>>>0>=2147483644?1073741823:g>>>0<k>>>0?k:g;if(j){if(j>>>0>=1073741824){break f}n=pl(j<<2)}else{n=0}g=n+(q<<2)|0;J[g>>2]=c;c=ok(n,F,m);g=g+4|0;J[B+36>>2]=g;j=c+(j<<2)|0;if(F){hl(F)}F=c}p=h>>>0>p>>>0?h:p;s=s+u|0;if((s|0)<(b|0)){continue}break}J[B+40>>2]=j;J[B+32>>2]=n;c=0;J[B+24>>2]=0;J[B+16>>2]=0;J[B+20>>2]=0;j:{if((g|0)==(F|0)){k=0;break j}c=g-F|0;if((c|0)<0){break e}k=pl(c);J[B+16>>2]=k;J[B+24>>2]=(c&-4)+k;c=F;h=k;while(1){J[h>>2]=J[c>>2];h=h+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}J[B+20>>2]=h;c=h-k>>2;if((h|0)==(k|0)){break j}g=c>>>0<=1?1:c;q=g&3;s=0;k:{if(g-1>>>0<3){h=0;break k}n=g&-4;h=0;m=0;while(1){g=f;f=h<<2;l=J[f+k>>2];g=g+l|0;j=i;j=g>>>0<l>>>0?j+1|0:j;l=J[(f|4)+k>>2];i=l+g|0;g=j;g=l>>>0>i>>>0?g+1|0:g;j=J[(f|8)+k>>2];i=j+i|0;g=j>>>0>i>>>0?g+1|0:g;l=i;i=J[(f|12)+k>>2];f=l+i|0;i=f>>>0<i>>>0?g+1|0:g;h=h+4|0;m=m+4|0;if((n|0)!=(m|0)){continue}break}}if(!q){break j}while(1){j=J[(h<<2)+k>>2];f=j+f|0;g=i;i=f>>>0<j>>>0?g+1|0:g;h=h+1|0;s=s+1|0;if((q|0)!=(s|0)){continue}break}}c=cf(k,c,32,B);v=ja;r=J[B>>2];if(k){J[B+20>>2]=k;hl(k)}m=cf(a,b,p,B);s=ja;k=J[B>>2];G=(p-k|0)/64|0;if(d){g=pl(32);H[g+22|0]=0;h=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);j=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[g+14|0]=j;H[g+15|0]=j>>>8;H[g+16|0]=j>>>16;H[g+17|0]=j>>>24;H[g+18|0]=h;H[g+19|0]=h>>>8;H[g+20|0]=h>>>16;H[g+21|0]=h>>>24;h=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);j=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+8|0]=j;H[g+9|0]=j>>>8;H[g+10|0]=j>>>16;H[g+11|0]=j>>>24;H[g+12|0]=h;H[g+13|0]=h>>>8;H[g+14|0]=h>>>16;H[g+15|0]=h>>>24;h=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);j=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g|0]=j;H[g+1|0]=j>>>8;H[g+2|0]=j>>>16;H[g+3|0]=j>>>24;H[g+4|0]=h;H[g+5|0]=h>>>8;H[g+6|0]=h>>>16;H[g+7|0]=h>>>24;h=J[d+4>>2];if(h){while(1){j=K[h+27|0];q=j<<24>>24<0;j=q?J[h+20>>2]:j;n=j>>>0<22;l:{m:{n:{o:{p:{q:{l=n?j:22;if(l){q=q?J[h+16>>2]:h+16|0;t=tk(g,q,l);if(t){break q}if(j>>>0<=22){break p}break l}if(j>>>0<=22){break o}break l}if((t|0)<0){break l}}j=tk(q,g,l);if(j){break n}}if(n){break m}break d}if((j|0)>=0){break d}}h=h+4|0}h=J[h>>2];if(h){continue}break}}hl(g)}if((S(p>>>0<=1?1:p)^30)>>>0<18){g=c;c=em(f,i,u,0);f=g+c|0;g=ja+v|0;g=c>>>0>f>>>0?g+1|0:g;c=r<<3;q=c>>31<<1|c>>>31;i=f;f=c<<1;c=i+f|0;j=g+q|0;j=c>>>0<f>>>0?j+1|0:j;f=c;c=k+G<<3;i=c;h=c>>31;c=m;g=k<<3;m=g;c=c+g|0;g=(g>>31)+s|0;h=(c>>>0<m>>>0?g+1|0:g)+h|0;g=c;c=c+i|0;h=g>>>0>c>>>0?h+1|0:h;c=(h|0)<=(j|0)&c>>>0<=f>>>0|(h|0)<(j|0)}else{c=0}break c}J[B+40>>2]=j;J[B+32>>2]=n;break a}J[B+32>>2]=n;Ya();C()}break a}break a}hl(g);c=pl(32);J[B>>2]=c;J[B+4>>2]=22;J[B+8>>2]=-2147483616;f=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);i=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[c+14|0]=i;H[c+15|0]=i>>>8;H[c+16|0]=i>>>16;H[c+17|0]=i>>>24;H[c+18|0]=f;H[c+19|0]=f>>>8;H[c+20|0]=f>>>16;H[c+21|0]=f>>>24;f=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);i=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);i=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+22|0]=0;c=oi(d,B);if(H[B+11|0]>=0){break c}hl(J[B>>2])}H[B|0]=c;f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],B,B+1|0)}h=0;r:{s:{switch(c|0){case 0:p=0;k=fa-336|0;fa=k;pk(k+80|0,0,256);d=J[B+36>>2];c=J[B+32>>2];t:{if((d|0)==(c|0)){break t}d=d-c>>2;d=d>>>0<=1?1:d;i=d&3;if(d-1>>>0>=3){n=d&-4;while(1){f=k+80|0;d=p<<2;g=f+(J[d+c>>2]<<3)|0;j=g;m=J[g>>2];g=J[g+4>>2];m=m+1|0;g=m?g:g+1|0;J[j>>2]=m;J[j+4>>2]=g;g=f+(J[c+(d|4)>>2]<<3)|0;j=J[g>>2];q=J[g+4>>2];j=j+1|0;q=j?q:q+1|0;J[g>>2]=j;J[g+4>>2]=q;g=f+(J[c+(d|8)>>2]<<3)|0;j=J[g>>2];m=J[g+4>>2];j=j+1|0;m=j?m:m+1|0;J[g>>2]=j;J[g+4>>2]=m;d=f+(J[c+(d|12)>>2]<<3)|0;f=J[d>>2];g=J[d+4>>2];f=f+1|0;g=f?g:g+1|0;J[d>>2]=f;J[d+4>>2]=g;p=p+4|0;h=h+4|0;if((n|0)!=(h|0)){continue}break}}if(!i){break t}h=0;while(1){d=(k+80|0)+(J[c+(p<<2)>>2]<<3)|0;f=J[d>>2];q=J[d+4>>2];f=f+1|0;q=f?q:q+1|0;J[d>>2]=f;J[d+4>>2]=q;p=p+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}l=k+48|0;J[l>>2]=0;J[l+4>>2]=0;H[l+24|0]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+8>>2]=0;J[l+12>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;lf(k,k+80|0,32,e);d=J[k+16>>2];f=J[k+20>>2];c=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=c;J[k+44>>2]=0;q=f<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?q+1|0:q;d=c+((m&7)<<29|d>>>3)|0;g=m>>>3|0;g=c>>>0>d>>>0?g+1|0:g;c=d+8|0;ki(e,c);c=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=16384;J[k+24>>2]=c+J[k+40>>2];li(l,b<<5,b>>31<<5|b>>>27,0);b=b-u|0;if((b|0)>=0){j=(u|0)<=0;c=b;while(1){p=J[k+32>>2];n=J[B+32>>2];f=J[k>>2]+(J[n+((c|0)/(u|0)<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(p>>>0>=i>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=p;p=J[k+32>>2]>>>8|0;J[k+32>>2]=p;if(i>>>0<=p>>>0){continue}break}n=J[B+32>>2]}g=J[f+4>>2];f=(p>>>0)/(d>>>0)|0;J[k+32>>2]=g+((f<<12)+(p-P(d,f)|0)|0);m=b-c|0;g=(m|0)/(u|0)|0;u:{if(j){break u}d=J[l+20>>2];i=d;f=J[l+16>>2];if(!f&(d|0)<=0|(d|0)<0){break u}g=J[(g<<2)+n>>2];n=0;while(1){if(!(!f&(i|0)<=0|(i|0)<0|(g|0)<=0)){f=J[(n+m<<2)+a>>2];d=J[l+12>>2];F=J[d+4>>2];h=0;while(1){i=F>>>3|0;q=i+J[d>>2]|0;v=K[q|0];D=q;q=F&7;I=D,L=im(q)&v,H[I|0]=L;i=i+J[d>>2]|0;H[i|0]=K[i|0]|(f>>>h&1)<<q;F=J[d+4>>2]+1|0;J[d+4>>2]=F;h=h+1|0;if((g|0)!=(h|0)){continue}break}}n=n+1|0;if((u|0)==(n|0)){break u}f=J[l+16>>2];i=J[l+20>>2];continue}}c=c-u|0;if((c|0)>=0){continue}break}}mf(k,e);mi(l);a=J[e+20>>2];if(!J[e+16>>2]&(a|0)<=0|(a|0)<0){Ba(e,J[e+4>>2],J[l>>2],J[l+4>>2])}a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[l+12>>2];J[l+12>>2]=0;if(a){hl(a)}a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}fa=k+336|0;h=1;F=J[B+32>>2];break r;case 1:break s;default:break r}}G=fa-32|0;fa=G;n=1;v:{if((k|0)>0){c=S(k);if((c^30)>>>0>17){break v}n=32-c|0}w:{if(!d){break w}c=pl(48);H[c+33|0]=0;H[c+32|0]=K[1470];f=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);i=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[c+24|0]=i;H[c+25|0]=i>>>8;H[c+26|0]=i>>>16;H[c+27|0]=i>>>24;H[c+28|0]=f;H[c+29|0]=f>>>8;H[c+30|0]=f>>>16;H[c+31|0]=f>>>24;f=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);i=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[c+16|0]=i;H[c+17|0]=i>>>8;H[c+18|0]=i>>>16;H[c+19|0]=i>>>24;H[c+20|0]=f;H[c+21|0]=f>>>8;H[c+22|0]=f>>>16;H[c+23|0]=f>>>24;f=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);i=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);i=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;x:{h=J[d+4>>2];if(h){while(1){f=K[h+27|0];i=f<<24>>24<0;f=i?J[h+20>>2]:f;g=f>>>0<33;y:{z:{A:{B:{C:{D:{j=g?f:33;if(j){i=i?J[h+16>>2]:h+16|0;m=tk(c,i,j);if(m){break D}if(f>>>0<=33){break C}break y}if(f>>>0<=33){break B}break y}if((m|0)<0){break y}}f=tk(i,c,j);if(f){break A}}if(g){break z}break x}if((f|0)>=0){break x}}h=h+4|0}h=J[h>>2];if(h){continue}break}}hl(c);break w}hl(c);c=pl(48);J[G+16>>2]=c;J[G+20>>2]=33;J[G+24>>2]=-2147483600;H[c+32|0]=K[1470];f=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);i=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[c+24|0]=i;H[c+25|0]=i>>>8;H[c+26|0]=i>>>16;H[c+27|0]=i>>>24;H[c+28|0]=f;H[c+29|0]=f>>>8;H[c+30|0]=f>>>16;H[c+31|0]=f>>>24;f=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);i=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[c+16|0]=i;H[c+17|0]=i>>>8;H[c+18|0]=i>>>16;H[c+19|0]=i>>>24;H[c+20|0]=f;H[c+21|0]=f>>>8;H[c+22|0]=f>>>16;H[c+23|0]=f>>>24;f=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);i=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);i=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+33|0]=0;c=oi(d,G+16|0);if(H[G+27|0]<0){hl(J[G+16>>2])}if((c|0)<=3){n=n-2|0;break w}if(c>>>0<=5){n=n-1|0;break w}if(c>>>0>=10){n=n+2|0;break w}n=(c>>>0>7)+n|0}c=(n|0)<=1?1:n;c=(c|0)>=18?18:c;H[G+15|0]=c;d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){Ba(e,J[e+4>>2],G+15|0,G+16|0)}h=0;E:{switch(c-1|0){case 0:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;F:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}G:{if((b|0)<=0){break G}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];q=J[c+4>>2];d=d+1|0;q=d?q:q+1|0;J[c>>2]=d;J[c+4>>2]=q;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break G}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;H:{if((a|0)<=0){break H}A=a&3;I:{if(a>>>0<4){a=0;break I}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;g=i+D|0;f=f+x|0;q=(f>>>0<x>>>0?g+1|0:g)+m|0;g=f;f=f+p|0;g=(g>>>0>f>>>0?q+1|0:q)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break H}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0<e>>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;J:{if(a>>>0<g>>>0){jf(l,g-a|0);break J}if(a>>>0<=g>>>0){break J}J[l+4>>2]=e+(g<<3)}k=0;K:{L:{M:{N:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;O:{if(o<4294967296&o>=0){e=~~o>>>0;break O}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break N}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;P:{if(!g){break P}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break P}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Q:{R:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break R}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}wf(s,p,t+24|0,e,0,0);break Q}wf(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break M}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){S:{T:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));U:{if(R(w)<2147483648){i=~~w;break U}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break T}k=4096;break S}if((d|0)!=(e|0)){break S}a=1;break M}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break M}a=0;if(k>>>0<4097){break M}while(1)continue}if((d|0)<0){break K}break L}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break K}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break K}a=0;o=0;V:{if((d|0)<0){break V}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break V}a=a<<3;d=J[a+f>>2];if(!d){break V}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);W:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break W}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;g=d>>>0<39?g+1|0:g;d=a+((g&7)<<29|d>>>3)|0;h=g>>>3|0;j=a>>>0>d>>>0?h+1|0:h;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break F}h=1;break v;case 1:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;X:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}Y:{if((b|0)<=0){break Y}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Y}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Z:{if((a|0)<=0){break Z}A=a&3;_:{if(a>>>0<4){a=0;break _}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=h;h=g;j=i+D|0;f=f+x|0;g=(f>>>0<x>>>0?j+1|0:j)+m|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+p|0;q=(g>>>0>f>>>0?h+1|0:h)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?q+1|0:q;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Z}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;g=g+i|0;f=e+f|0;i=f>>>0<e>>>0?g+1|0:g;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;$:{if(a>>>0<g>>>0){jf(l,g-a|0);break $}if(a>>>0<=g>>>0){break $}J[l+4>>2]=e+(g<<3)}k=0;aa:{ba:{ca:{da:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;ea:{if(o<4294967296&o>=0){e=~~o>>>0;break ea}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break da}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;fa:{if(!g){break fa}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break fa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ga:{ha:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break ha}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}zf(s,p,t+24|0,e,0,0);break ga}zf(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break ca}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){ia:{ja:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));ka:{if(R(w)<2147483648){i=~~w;break ka}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break ja}k=4096;break ia}if((d|0)!=(e|0)){break ia}a=1;break ca}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break ca}a=0;if(k>>>0<4097){break ca}while(1)continue}if((d|0)<0){break aa}break ba}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break aa}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break aa}a=0;o=0;la:{if((d|0)<0){break la}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break la}a=a<<3;d=J[a+f>>2];if(!d){break la}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);ma:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break ma}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;h=e<<1|d>>>31;d=(d<<1)+39|0;j=h;j=d>>>0<39?j+1|0:j;d=a+((j&7)<<29|d>>>3)|0;q=j>>>3|0;m=a>>>0>d>>>0?q+1|0:q;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break X}h=1;break v;case 2:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;na:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}oa:{if((b|0)<=0){break oa}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|4)>>2]<<3)+n|0;h=J[d>>2];j=J[d+4>>2];h=h+1|0;j=h?j:j+1|0;J[d>>2]=h;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];h=J[c+4>>2];d=d+1|0;h=d?h:h+1|0;J[c>>2]=d;J[c+4>>2]=h;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break oa}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;pa:{if((a|0)<=0){break pa}x=a&3;qa:{if(a>>>0<4){a=0;break qa}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;h=m;m=i+E|0;f=f+p|0;h=(f>>>0<p>>>0?m+1|0:m)+h|0;m=f;f=g+f|0;q=(m>>>0>f>>>0?h+1|0:h)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?q+1|0:q)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break pa}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0<e>>>0?j+1|0:j;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ra:{if(a>>>0<g>>>0){jf(l,g-a|0);break ra}if(a>>>0<=g>>>0){break ra}J[l+4>>2]=e+(g<<3)}k=0;sa:{ta:{ua:{va:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;wa:{if(o<4294967296&o>=0){e=~~o>>>0;break wa}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break va}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;xa:{if(!g){break xa}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break xa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ya:{za:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break za}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Cf(s,p,t+24|0,e,0,0);break ya}Cf(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break ua}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Aa:{Ba:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Ca:{if(R(w)<2147483648){i=~~w;break Ca}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Ba}k=4096;break Aa}if((d|0)!=(e|0)){break Aa}a=1;break ua}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break ua}a=0;if(k>>>0<4097){break ua}while(1)continue}if((d|0)<0){break sa}break ta}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break sa}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break sa}a=0;o=0;Da:{if((d|0)<0){break Da}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Da}a=a<<3;d=J[a+f>>2];if(!d){break Da}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);Ea:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Ea}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;q=e<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?q+1|0:q;d=a+((m&7)<<29|d>>>3)|0;g=m>>>3|0;g=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break na}h=1;break v;case 3:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Fa:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}Ga:{if((b|0)<=0){break Ga}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];q=J[c+4>>2];d=d+1|0;q=d?q:q+1|0;J[c>>2]=d;J[c+4>>2]=q;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ga}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Ha:{if((a|0)<=0){break Ha}A=a&3;Ia:{if(a>>>0<4){a=0;break Ia}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;g=i+D|0;f=f+x|0;q=(f>>>0<x>>>0?g+1|0:g)+m|0;g=f;f=f+p|0;g=(g>>>0>f>>>0?q+1|0:q)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Ha}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0<e>>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Ja:{if(a>>>0<g>>>0){jf(l,g-a|0);break Ja}if(a>>>0<=g>>>0){break Ja}J[l+4>>2]=e+(g<<3)}k=0;Ka:{La:{Ma:{Na:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;Oa:{if(o<4294967296&o>=0){e=~~o>>>0;break Oa}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break Na}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Pa:{if(!g){break Pa}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Pa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Qa:{Ra:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Ra}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Ff(s,p,t+24|0,e,0,0);break Qa}Ff(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break Ma}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Sa:{Ta:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Ua:{if(R(w)<2147483648){i=~~w;break Ua}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Ta}k=4096;break Sa}if((d|0)!=(e|0)){break Sa}a=1;break Ma}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Ma}a=0;if(k>>>0<4097){break Ma}while(1)continue}if((d|0)<0){break Ka}break La}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break Ka}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break Ka}a=0;o=0;Va:{if((d|0)<0){break Va}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Va}a=a<<3;d=J[a+f>>2];if(!d){break Va}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);Wa:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Wa}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;g=d>>>0<39?g+1|0:g;d=a+((g&7)<<29|d>>>3)|0;h=g>>>3|0;j=a>>>0>d>>>0?h+1|0:h;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break Fa}h=1;break v;case 4:c=0;k=0;n=0;r=0;i=fa+-64|0;fa=i;J[i+56>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;Xa:{d=p+1|0;if(d){if(d>>>0>=536870912){break a}d=d<<3;c=pl(d);J[i+48>>2]=c;k=pk(c,0,(p<<3)+8|0)+d|0}Ya:{if((b|0)<=0){break Ya}p=0;if(b>>>0>=4){h=b&-4;while(1){d=p<<2;f=(J[d+a>>2]<<3)+c|0;j=J[f>>2];g=J[f+4>>2];j=j+1|0;g=j?g:g+1|0;J[f>>2]=j;J[f+4>>2]=g;f=(J[(d|4)+a>>2]<<3)+c|0;j=J[f>>2];g=J[f+4>>2];j=j+1|0;g=j?g:g+1|0;J[f>>2]=j;J[f+4>>2]=g;f=(J[(d|8)+a>>2]<<3)+c|0;g=J[f>>2];j=J[f+4>>2];g=g+1|0;j=g?j:j+1|0;J[f>>2]=g;J[f+4>>2]=j;d=(J[(d|12)+a>>2]<<3)+c|0;f=J[d>>2];g=J[d+4>>2];f=f+1|0;g=f?g:g+1|0;J[d>>2]=f;J[d+4>>2]=g;p=p+4|0;n=n+4|0;if((h|0)!=(n|0)){continue}break}}f=b&3;if(!f){break Ya}while(1){d=(J[(p<<2)+a>>2]<<3)+c|0;h=J[d>>2];g=J[d+4>>2];h=h+1|0;g=h?g:g+1|0;J[d>>2]=h;J[d+4>>2]=g;p=p+1|0;r=r+1|0;if((f|0)!=(r|0)){continue}break}}J[i+8>>2]=0;J[i+12>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i>>2]=0;J[i+4>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;lf(i,c,k-c>>3,e);d=J[i+16>>2];f=J[i+20>>2];c=J[e+4>>2]-J[e>>2]|0;J[i+40>>2]=c;J[i+44>>2]=0;g=f<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=c+((j&7)<<29|d>>>3)|0;g=j>>>3|0;q=c>>>0>d>>>0?g+1|0:g;c=d+8|0;ki(e,c);c=J[e>>2];J[i+28>>2]=0;J[i+32>>2]=16384;J[i+24>>2]=c+J[i+40>>2];if((b|0)>0){p=16384;while(1){c=b-1|0;f=J[i>>2]+(J[(c<<2)+a>>2]<<3)|0;d=J[f>>2];g=d<<10;if(g>>>0<=p>>>0){while(1){h=J[i+28>>2];J[i+28>>2]=h+1;H[h+J[i+24>>2]|0]=p;p=J[i+32>>2]>>>8|0;J[i+32>>2]=p;if(g>>>0<=p>>>0){continue}break}}g=J[f+4>>2];f=(p>>>0)/(d>>>0)|0;p=g+((f<<12)+(p-P(d,f)|0)|0)|0;J[i+32>>2]=p;d=(b|0)>1;b=c;if(d){continue}break}}mf(i,e);a=J[i>>2];if(a){J[i+4>>2]=a;hl(a)}a=J[i+48>>2];if(a){hl(a)}fa=i- -64|0;break Xa}h=1;break v;case 5:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Za:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}_a:{if((b|0)<=0){break _a}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break _a}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;$a:{if((a|0)<=0){break $a}A=a&3;ab:{if(a>>>0<4){a=0;break ab}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;q=i+D|0;f=f+x|0;g=(f>>>0<x>>>0?q+1|0:q)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break $a}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0<e>>>0?j+1|0:j;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;bb:{if(a>>>0<g>>>0){jf(l,g-a|0);break bb}if(a>>>0<=g>>>0){break bb}J[l+4>>2]=e+(g<<3)}k=0;cb:{db:{eb:{fb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;gb:{if(o<4294967296&o>=0){e=~~o>>>0;break gb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break fb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;hb:{if(!g){break hb}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break hb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ib:{jb:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break jb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}If(s,p,t+24|0,e,0,0);break ib}If(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break eb}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){kb:{lb:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));mb:{if(R(w)<2147483648){i=~~w;break mb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break lb}k=4096;break kb}if((d|0)!=(e|0)){break kb}a=1;break eb}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break eb}a=0;if(k>>>0<4097){break eb}while(1)continue}if((d|0)<0){break cb}break db}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break cb}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break cb}a=0;o=0;nb:{if((d|0)<0){break nb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break nb}a=a<<3;d=J[a+f>>2];if(!d){break nb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);ob:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break ob}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;h=q>>>3|0;m=a>>>0>d>>>0?h+1|0:h;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break Za}h=1;break v;case 6:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;pb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}qb:{if((b|0)<=0){break qb}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break qb}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;rb:{if((a|0)<=0){break rb}x=a&3;sb:{if(a>>>0<4){a=0;break sb}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;h=g;g=m;m=i+E|0;f=f+p|0;g=(f>>>0<p>>>0?m+1|0:m)+g|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?h+1|0:h)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break rb}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0<e>>>0?q+1|0:q;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;tb:{if(a>>>0<g>>>0){jf(l,g-a|0);break tb}if(a>>>0<=g>>>0){break tb}J[l+4>>2]=e+(g<<3)}k=0;ub:{vb:{wb:{xb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;yb:{if(o<4294967296&o>=0){e=~~o>>>0;break yb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break xb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;zb:{if(!g){break zb}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break zb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Ab:{Bb:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Bb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Lf(s,p,t+24|0,e,0,0);break Ab}Lf(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break wb}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Cb:{Db:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Eb:{if(R(w)<2147483648){i=~~w;break Eb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Db}k=4096;break Cb}if((d|0)!=(e|0)){break Cb}a=1;break wb}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break wb}a=0;if(k>>>0<4097){break wb}while(1)continue}if((d|0)<0){break ub}break vb}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break ub}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break ub}a=0;o=0;Fb:{if((d|0)<0){break Fb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Fb}a=a<<3;d=J[a+f>>2];if(!d){break Fb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);Gb:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Gb}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;h=e<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?h+1|0:h;g=m>>>3|0;d=a+((m&7)<<29|d>>>3)|0;j=d>>>0<a>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break pb}h=1;break v;case 7:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Hb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}Ib:{if((b|0)<=0){break Ib}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|4)>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];j=J[d+4>>2];h=h+1|0;j=h?j:j+1|0;J[d>>2]=h;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];h=J[c+4>>2];d=d+1|0;h=d?h:h+1|0;J[c>>2]=d;J[c+4>>2]=h;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ib}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Jb:{if((a|0)<=0){break Jb}A=a&3;Kb:{if(a>>>0<4){a=0;break Kb}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=h;j=i+D|0;f=f+x|0;h=(f>>>0<x>>>0?j+1|0:j)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?h+1|0:h)+q|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+v|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Jb}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0<e>>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Lb:{if(a>>>0<g>>>0){jf(l,g-a|0);break Lb}if(a>>>0<=g>>>0){break Lb}J[l+4>>2]=e+(g<<3)}k=0;Mb:{Nb:{Ob:{Pb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;Qb:{if(o<4294967296&o>=0){e=~~o>>>0;break Qb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break Pb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Rb:{if(!g){break Rb}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Rb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Sb:{Tb:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Tb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Of(s,p,t+24|0,e,0,0);break Sb}Of(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break Ob}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Ub:{Vb:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Wb:{if(R(w)<2147483648){i=~~w;break Wb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Vb}k=4096;break Ub}if((d|0)!=(e|0)){break Ub}a=1;break Ob}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Ob}a=0;if(k>>>0<4097){break Ob}while(1)continue}if((d|0)<0){break Mb}break Nb}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break Mb}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break Mb}a=0;o=0;Xb:{if((d|0)<0){break Xb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Xb}a=a<<3;d=J[a+f>>2];if(!d){break Xb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);Yb:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Yb}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;g=j>>>3|0;q=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break Hb}h=1;break v;case 8:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;Zb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=pl(a);J[k+48>>2]=r;n=pk(r,0,(p<<3)+8|0)+a|0}_b:{if((b|0)<=0){break _b}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break _b}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;$b:{if((a|0)<=0){break $b}A=a&3;ac:{if(a>>>0<4){a=0;break ac}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;v=g;q=i+D|0;f=f+x|0;g=(f>>>0<x>>>0?q+1|0:q)+m|0;m=f;f=f+v|0;g=(m>>>0>f>>>0?g+1|0:g)+u|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break $b}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;j=g+i|0;f=d+f|0;i=f>>>0<d>>>0?j+1|0:j;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;bc:{if(a>>>0<g>>>0){jf(k,g-a|0);break bc}if(a>>>0<=g>>>0){break bc}J[k+4>>2]=d+(g<<3)}n=0;cc:{dc:{ec:{fc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*8192+.5;gc:{if(o<4294967296&o>=0){d=~~o>>>0;break gc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==8192){break fc}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;hc:{if(!g){break hc}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;d=0;f=pk(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break hc}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;ic:{jc:{if((a|0)>=513){a=d;while(1){f=pl(a<<2);if(f){break jc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Rf(s,p,t+24|0,d,0,0);break ic}Rf(s,p,t+24|0,d,f,a);hl(f)}if((n|0)<8192){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)- -8192;a=0;break ec}if((c|0)>0){h=J[k>>2];p=n+-8192|0;while(1){o=8192/+(n|0);d=c;while(1){kc:{lc:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));mc:{if(R(w)<2147483648){i=~~w;break mc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=8192){break lc}n=8192;break kc}if((c|0)!=(d|0)){break kc}a=1;break ec}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break ec}a=0;if(n>>>0<8193){break ec}while(1)continue}if((c|0)<0){break cc}break dc}d=J[t+8>>2];if(d){hl(d)}if((c|0)<0|a){break cc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=8192){break cc}a=0;o=0;nc:{if((c|0)<0){break nc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.0001220703125)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.0001220703125)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break nc}a=a<<3;c=J[a+f>>2];if(!c){break nc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(c>>>0)*.0001220703125)+o}o=W(-o);oc:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break oc}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;h=q>>>3|0;m=a>>>0>c>>>0?h+1|0:h;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=32768;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=32768;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<13)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-32768|0;pc:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break pc}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+49152>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break pc}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;f=b+8355840|0;H[d+2|0]=f>>>16;H[d+1|0]=f>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break pc}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1073774592|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=f>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break pc}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ok(d+c|0,c,b);nk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[k+48>>2];if(a){hl(a)}fa=k- -64|0;break Zb}h=1;break v;case 9:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;qc:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=pl(a);J[k+48>>2]=r;n=pk(r,0,(p<<3)+8|0)+a|0}rc:{if((b|0)<=0){break rc}a=0;if(b>>>0>=4){j=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=J[g>>2];m=J[g+4>>2];h=h+1|0;m=h?m:m+1|0;J[g>>2]=h;J[g+4>>2]=m;g=(J[l+(c|4)>>2]<<3)+r|0;m=J[g>>2];h=J[g+4>>2];m=m+1|0;h=m?h:h+1|0;J[g>>2]=m;J[g+4>>2]=h;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=b&3;if(!d){break rc}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;v=fa-32|0;fa=v;a=n-r>>3;sc:{if((a|0)<=0){break sc}x=a&3;tc:{if(a>>>0<4){a=0;break tc}A=a&-4;a=0;while(1){g=(a<<3)+r|0;t=J[g>>2];m=J[g+4>>2];E=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;D=(u<<3)+r|0;h=J[D>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|t?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[D+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;q=i+E|0;f=f+t|0;m=(f>>>0<t>>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+u|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+n|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;d=d+4|0;if((A|0)!=(d|0)){continue}break}}if(!x){break sc}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;h=g+i|0;f=d+f|0;i=f>>>0<d>>>0?h+1|0:h;p=p+1|0;if((x|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;uc:{if(a>>>0<g>>>0){jf(k,g-a|0);break uc}if(a>>>0<=g>>>0){break uc}J[k+4>>2]=d+(g<<3)}n=0;vc:{wc:{xc:{yc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*32768+.5;zc:{if(o<4294967296&o>=0){d=~~o>>>0;break zc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==32768){break yc}}J[v+16>>2]=0;J[v+8>>2]=0;J[v+12>>2]=0;p=0;Ac:{if(!g){break Ac}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[v+8>>2]=s;d=0;f=pk(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Ac}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[v+24>>2]=k;a=p-s|0;d=a>>2;Bc:{Cc:{if((a|0)>=513){a=d;while(1){f=pl(a<<2);if(f){break Cc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Uf(s,p,v+24|0,d,0,0);break Bc}Uf(s,p,v+24|0,d,f,a);hl(f)}if((n|0)<32768){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+32768;a=0;break xc}if((c|0)>0){h=J[k>>2];p=n-32768|0;while(1){o=32768/+(n|0);d=c;while(1){Dc:{Ec:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Fc:{if(R(w)<2147483648){i=~~w;break Fc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=32768){break Ec}n=32768;break Dc}if((c|0)!=(d|0)){break Dc}a=1;break xc}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break xc}a=0;if(n>>>0<32769){break xc}while(1)continue}if((c|0)<0){break vc}break wc}d=J[v+8>>2];if(d){hl(d)}if((c|0)<0|a){break vc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=32768){break vc}a=0;o=0;Gc:{if((c|0)<0){break Gc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*30517578125e-15)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*30517578125e-15)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Gc}a=a<<3;c=J[a+f>>2];if(!c){break Gc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(c>>>0)*30517578125e-15)+o}o=W(-o);Hc:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Hc}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=v+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;g=q>>>3|0;j=a>>>0>c>>>0?g+1|0:g;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=131072;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=131072;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<15)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-131072|0;Ic:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break Ic}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break Ic}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+8257536>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break Ic}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1073872896|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break Ic}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ok(d+c|0,c,b);nk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[k+48>>2];if(a){hl(a)}fa=k- -64|0;break qc}h=1;break v;case 10:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;Jc:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=pl(a);J[k+48>>2]=r;n=pk(r,0,(p<<3)+8|0)+a|0}Kc:{if((b|0)<=0){break Kc}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|4)>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break Kc}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;Lc:{if((a|0)<=0){break Lc}A=a&3;Mc:{if(a>>>0<4){a=0;break Mc}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=j;v=q;q=i+D|0;f=f+x|0;j=(f>>>0<x>>>0?q+1|0:q)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?j+1|0:j)+v|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+u|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break Lc}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;g=g+i|0;f=d+f|0;i=f>>>0<d>>>0?g+1|0:g;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;Nc:{if(a>>>0<g>>>0){jf(k,g-a|0);break Nc}if(a>>>0<=g>>>0){break Nc}J[k+4>>2]=d+(g<<3)}n=0;Oc:{Pc:{Qc:{Rc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*65536+.5;Sc:{if(o<4294967296&o>=0){d=~~o>>>0;break Sc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==65536){break Rc}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Tc:{if(!g){break Tc}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;d=0;f=pk(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Tc}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;Uc:{Vc:{if((a|0)>=513){a=d;while(1){f=pl(a<<2);if(f){break Vc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Xf(s,p,t+24|0,d,0,0);break Uc}Xf(s,p,t+24|0,d,f,a);hl(f)}if((n|0)<65536){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+65536;a=0;break Qc}if((c|0)>0){h=J[k>>2];p=n-65536|0;while(1){o=65536/+(n|0);d=c;while(1){Wc:{Xc:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Yc:{if(R(w)<2147483648){i=~~w;break Yc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=65536){break Xc}n=65536;break Wc}if((c|0)!=(d|0)){break Wc}a=1;break Qc}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break Qc}a=0;if(n>>>0<65537){break Qc}while(1)continue}if((c|0)<0){break Oc}break Pc}d=J[t+8>>2];if(d){hl(d)}if((c|0)<0|a){break Oc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=65536){break Oc}a=0;o=0;Zc:{if((c|0)<0){break Zc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*152587890625e-16)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*152587890625e-16)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Zc}a=a<<3;c=J[a+f>>2];if(!c){break Zc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(c>>>0)*152587890625e-16)+o}o=W(-o);_c:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break _c}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;m=q>>>3|0;h=a>>>0>c>>>0?m+1|0:m;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=262144;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=262144;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<16)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-262144|0;$c:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break $c}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break $c}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+8126464>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break $c}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1074003968|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break $c}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ok(d+c|0,c,b);nk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[k+48>>2];if(a){hl(a)}fa=k- -64|0;break Jc}h=1;break v;case 11:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;ad:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=pl(a);J[k+48>>2]=r;n=pk(r,0,(p<<3)+8|0)+a|0}bd:{if((b|0)<=0){break bd}a=0;if(b>>>0>=4){j=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;m=J[g>>2];h=J[g+4>>2];m=m+1|0;h=m?h:h+1|0;J[g>>2]=m;J[g+4>>2]=h;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];m=J[g+4>>2];h=h+1|0;m=h?m:m+1|0;J[g>>2]=h;J[g+4>>2]=m;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=b&3;if(!d){break bd}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;cd:{if((a|0)<=0){break cd}A=a&3;dd:{if(a>>>0<4){a=0;break dd}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=j;j=h;v=q;q=i+D|0;f=f+x|0;h=(f>>>0<x>>>0?q+1|0:q)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?h+1|0:h)+v|0;m=f;f=f+j|0;j=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+u|0;i=g>>>0>f>>>0?j+1|0:j;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break cd}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;m=g+i|0;f=d+f|0;i=f>>>0<d>>>0?m+1|0:m;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;ed:{if(a>>>0<g>>>0){jf(k,g-a|0);break ed}if(a>>>0<=g>>>0){break ed}J[k+4>>2]=d+(g<<3)}n=0;fd:{gd:{hd:{id:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*262144+.5;jd:{if(o<4294967296&o>=0){d=~~o>>>0;break jd}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==262144){break id}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;kd:{if(!g){break kd}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;d=0;f=pk(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break kd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;ld:{md:{if((a|0)>=513){a=d;while(1){f=pl(a<<2);if(f){break md}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}_f(s,p,t+24|0,d,0,0);break ld}_f(s,p,t+24|0,d,f,a);hl(f)}if((n|0)<262144){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+262144;a=0;break hd}if((c|0)>0){h=J[k>>2];p=n-262144|0;while(1){o=262144/+(n|0);d=c;while(1){nd:{od:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));pd:{if(R(w)<2147483648){i=~~w;break pd}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=262144){break od}n=262144;break nd}if((c|0)!=(d|0)){break nd}a=1;break hd}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break hd}a=0;if(n>>>0<262145){break hd}while(1)continue}if((c|0)<0){break fd}break gd}d=J[t+8>>2];if(d){hl(d)}if((c|0)<0|a){break fd}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=262144){break fd}a=0;o=0;qd:{if((c|0)<0){break qd}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*3814697265625e-18)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*3814697265625e-18)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break qd}a=a<<3;c=J[a+f>>2];if(!c){break qd}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(c>>>0)*3814697265625e-18)+o}o=W(-o);rd:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break rd}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;j=q>>>3|0;g=a>>>0>c>>>0?j+1|0:j;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=1048576;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=1048576;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<18)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b+-1048576|0;sd:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break sd}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break sd}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+7340032>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break sd}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1074790400|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break sd}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ok(d+c|0,c,b);nk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[k+48>>2];if(a){hl(a)}fa=k- -64|0;break ad}h=1;break v;case 12:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;td:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=pl(a);J[k+48>>2]=r;n=pk(r,0,(p<<3)+8|0)+a|0}ud:{if((b|0)<=0){break ud}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break ud}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;vd:{if((a|0)<=0){break vd}A=a&3;wd:{if(a>>>0<4){a=0;break wd}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;v=g;q=i+D|0;f=f+x|0;g=(f>>>0<x>>>0?q+1|0:q)+m|0;m=f;f=f+v|0;g=(m>>>0>f>>>0?g+1|0:g)+u|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break vd}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;j=g+i|0;f=d+f|0;i=f>>>0<d>>>0?j+1|0:j;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;xd:{if(a>>>0<g>>>0){jf(k,g-a|0);break xd}if(a>>>0<=g>>>0){break xd}J[k+4>>2]=d+(g<<3)}n=0;yd:{zd:{Ad:{Bd:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*524288+.5;Cd:{if(o<4294967296&o>=0){d=~~o>>>0;break Cd}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==524288){break Bd}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Dd:{if(!g){break Dd}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;d=0;f=pk(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Dd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;Ed:{Fd:{if((a|0)>=513){a=d;while(1){f=pl(a<<2);if(f){break Fd}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}bg(s,p,t+24|0,d,0,0);break Ed}bg(s,p,t+24|0,d,f,a);hl(f)}if((n|0)<524288){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+524288;a=0;break Ad}if((c|0)>0){h=J[k>>2];p=n-524288|0;while(1){o=524288/+(n|0);d=c;while(1){Gd:{Hd:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Id:{if(R(w)<2147483648){i=~~w;break Id}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=524288){break Hd}n=524288;break Gd}if((c|0)!=(d|0)){break Gd}a=1;break Ad}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break Ad}a=0;if(n>>>0<524289){break Ad}while(1)continue}if((c|0)<0){break yd}break zd}d=J[t+8>>2];if(d){hl(d)}if((c|0)<0|a){break yd}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=524288){break yd}a=0;o=0;Jd:{if((c|0)<0){break Jd}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*19073486328125e-19)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*19073486328125e-19)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Jd}a=a<<3;c=J[a+f>>2];if(!c){break Jd}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(c>>>0)*19073486328125e-19)+o}o=W(-o);Kd:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Kd}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;h=q>>>3|0;m=a>>>0>c>>>0?h+1|0:h;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=2097152;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=2097152;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<19)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-2097152|0;Ld:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break Ld}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break Ld}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+6291456>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break Ld}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1075838976|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break Ld}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ok(d+c|0,c,b);nk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[k+48>>2];if(a){hl(a)}fa=k- -64|0;break td}h=1;break v;case 13:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Md:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}Nd:{if((b|0)<=0){break Nd}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];q=J[d+4>>2];h=h+1|0;q=h?q:q+1|0;J[d>>2]=h;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];m=J[c+4>>2];d=d+1|0;m=d?m:m+1|0;J[c>>2]=d;J[c+4>>2]=m;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Nd}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Od:{if((a|0)<=0){break Od}x=a&3;Pd:{if(a>>>0<4){a=0;break Pd}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;q=i+E|0;f=f+p|0;m=(f>>>0<p>>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+v|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break Od}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;h=g+i|0;f=e+f|0;i=f>>>0<e>>>0?h+1|0:h;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Qd:{if(a>>>0<g>>>0){jf(l,g-a|0);break Qd}if(a>>>0<=g>>>0){break Qd}J[l+4>>2]=e+(g<<3)}k=0;Rd:{Sd:{Td:{Ud:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;Vd:{if(o<4294967296&o>=0){e=~~o>>>0;break Vd}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ud}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Wd:{if(!g){break Wd}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Wd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Xd:{Yd:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Yd}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}eg(s,p,t+24|0,e,0,0);break Xd}eg(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Td}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){Zd:{_d:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));$d:{if(R(w)<2147483648){i=~~w;break $d}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break _d}k=1048576;break Zd}if((d|0)!=(e|0)){break Zd}a=1;break Td}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Td}a=0;if(k>>>0<1048577){break Td}while(1)continue}if((d|0)<0){break Rd}break Sd}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break Rd}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break Rd}a=0;o=0;ae:{if((d|0)<0){break ae}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break ae}a=a<<3;d=J[a+f>>2];if(!d){break ae}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);be:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break be}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;g=q>>>3|0;j=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break Md}h=1;break v;case 14:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;ce:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}de:{if((b|0)<=0){break de}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break de}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;ee:{if((a|0)<=0){break ee}A=a&3;fe:{if(a>>>0<4){a=0;break fe}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=g;j=i+D|0;f=f+x|0;g=(f>>>0<x>>>0?j+1|0:j)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+q|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break ee}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0<e>>>0?q+1|0:q;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ge:{if(a>>>0<g>>>0){jf(l,g-a|0);break ge}if(a>>>0<=g>>>0){break ge}J[l+4>>2]=e+(g<<3)}k=0;he:{ie:{je:{ke:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;le:{if(o<4294967296&o>=0){e=~~o>>>0;break le}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break ke}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;me:{if(!g){break me}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break me}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ne:{oe:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break oe}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}hg(s,p,t+24|0,e,0,0);break ne}hg(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break je}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){pe:{qe:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));re:{if(R(w)<2147483648){i=~~w;break re}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break qe}k=1048576;break pe}if((d|0)!=(e|0)){break pe}a=1;break je}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break je}a=0;if(k>>>0<1048577){break je}while(1)continue}if((d|0)<0){break he}break ie}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break he}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break he}a=0;o=0;se:{if((d|0)<0){break se}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break se}a=a<<3;d=J[a+f>>2];if(!d){break se}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);te:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break te}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;m=j>>>3|0;h=a>>>0>d>>>0?m+1|0:m;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break ce}h=1;break v;case 15:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;ue:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}ve:{if((b|0)<=0){break ve}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];g=J[d+4>>2];h=h+1|0;g=h?g:g+1|0;J[d>>2]=h;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];h=J[d+4>>2];g=g+1|0;h=g?h:h+1|0;J[d>>2]=g;J[d+4>>2]=h;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((m|0)!=(r|0)){continue}break}}d=b&3;if(!d){break ve}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;we:{if((a|0)<=0){break we}A=a&3;xe:{if(a>>>0<4){a=0;break xe}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;p=g;h=i+D|0;f=f+x|0;g=(f>>>0<x>>>0?h+1|0:h)+m|0;m=f;f=f+p|0;m=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?m+1|0:m)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break we}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0<e>>>0?j+1|0:j;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ye:{if(a>>>0<g>>>0){jf(l,g-a|0);break ye}if(a>>>0<=g>>>0){break ye}J[l+4>>2]=e+(g<<3)}k=0;ze:{Ae:{Be:{Ce:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;De:{if(o<4294967296&o>=0){e=~~o>>>0;break De}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ce}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Ee:{if(!g){break Ee}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Ee}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Fe:{Ge:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Ge}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}kg(s,p,t+24|0,e,0,0);break Fe}kg(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Be}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){He:{Ie:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Je:{if(R(w)<2147483648){i=~~w;break Je}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break Ie}k=1048576;break He}if((d|0)!=(e|0)){break He}a=1;break Be}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Be}a=0;if(k>>>0<1048577){break Be}while(1)continue}if((d|0)<0){break ze}break Ae}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break ze}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break ze}a=0;o=0;Ke:{if((d|0)<0){break Ke}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Ke}a=a<<3;d=J[a+f>>2];if(!d){break Ke}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);Le:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Le}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;m=e<<1|d>>>31;d=(d<<1)+39|0;h=m;h=d>>>0<39?h+1|0:h;g=h>>>3|0;d=a+((h&7)<<29|d>>>3)|0;q=d>>>0<a>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break ue}h=1;break v;case 16:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Me:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}Ne:{if((b|0)<=0){break Ne}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];q=J[d+4>>2];h=h+1|0;q=h?q:q+1|0;J[d>>2]=h;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];m=J[c+4>>2];d=d+1|0;m=d?m:m+1|0;J[c>>2]=d;J[c+4>>2]=m;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ne}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Oe:{if((a|0)<=0){break Oe}x=a&3;Pe:{if(a>>>0<4){a=0;break Pe}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;q=i+E|0;f=f+p|0;m=(f>>>0<p>>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+v|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break Oe}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;h=g+i|0;f=e+f|0;i=f>>>0<e>>>0?h+1|0:h;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Qe:{if(a>>>0<g>>>0){jf(l,g-a|0);break Qe}if(a>>>0<=g>>>0){break Qe}J[l+4>>2]=e+(g<<3)}k=0;Re:{Se:{Te:{Ue:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;Ve:{if(o<4294967296&o>=0){e=~~o>>>0;break Ve}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ue}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;We:{if(!g){break We}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break We}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Xe:{Ye:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Ye}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}ng(s,p,t+24|0,e,0,0);break Xe}ng(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Te}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){Ze:{_e:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));$e:{if(R(w)<2147483648){i=~~w;break $e}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break _e}k=1048576;break Ze}if((d|0)!=(e|0)){break Ze}a=1;break Te}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Te}a=0;if(k>>>0<1048577){break Te}while(1)continue}if((d|0)<0){break Re}break Se}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break Re}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break Re}a=0;o=0;af:{if((d|0)<0){break af}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break af}a=a<<3;d=J[a+f>>2];if(!d){break af}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);bf:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break bf}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;g=q>>>3|0;j=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break Me}h=1;break v;case 17:break E;default:break v}}u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;cf:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}df:{if((b|0)<=0){break df}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break df}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;ef:{if((a|0)<=0){break ef}A=a&3;ff:{if(a>>>0<4){a=0;break ff}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=g;j=i+D|0;f=f+x|0;g=(f>>>0<x>>>0?j+1|0:j)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+q|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break ef}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0<e>>>0?q+1|0:q;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;gf:{if(a>>>0<g>>>0){jf(l,g-a|0);break gf}if(a>>>0<=g>>>0){break gf}J[l+4>>2]=e+(g<<3)}k=0;hf:{jf:{kf:{lf:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;mf:{if(o<4294967296&o>=0){e=~~o>>>0;break mf}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break lf}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;nf:{if(!g){break nf}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break nf}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;of:{pf:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break pf}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}qg(s,p,t+24|0,e,0,0);break of}qg(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break kf}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){qf:{rf:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));sf:{if(R(w)<2147483648){i=~~w;break sf}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break rf}k=1048576;break qf}if((d|0)!=(e|0)){break qf}a=1;break kf}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break kf}a=0;if(k>>>0<1048577){break kf}while(1)continue}if((d|0)<0){break hf}break jf}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break hf}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break hf}a=0;o=0;tf:{if((d|0)<0){break tf}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break tf}a=a<<3;d=J[a+f>>2];if(!d){break tf}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);uf:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break uf}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;m=j>>>3|0;h=a>>>0>d>>>0?m+1|0:m;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break cf}h=1}fa=G+32|0}if(!F){break b}J[B+36>>2]=F;hl(F)}fa=B+48|0;return h}Ia();C()}function Ob(a,b){a=a|0;b=b|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,t=0,u=0,v=0,w=Q(0),x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,T=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,ga=0,ha=0;d=fa-1680|0;fa=d;c=10-Pb(J[J[a+28>>2]+48>>2])|0;c=(c|0)>=6?6:c;f=J[a+72>>2];H[d+1679|0]=(c&255)==6?(f|0)>15?5:c:c;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+1679|0,d+1680|0);f=J[a+72>>2]}y=J[J[J[a+28>>2]+4>>2]+80>>2];J[d+1668>>2]=0;J[d+1660>>2]=0;J[d+1664>>2]=0;J[d+1648>>2]=y;J[d+1652>>2]=f;J[d+1656>>2]=f<<2;a:{b:{c:{d:{g=P(f,y);if(g){if(g>>>0>=1073741824){break d}c=g<<2;h=pl(c);J[d+1660>>2]=h;k=c+h|0;J[d+1668>>2]=k;pk(h,0,c);J[d+1664>>2]=k}J[d+1672>>2]=h;k=J[a+4>>2];if((k|0)!=J[a+8>>2]){while(1){e=J[J[J[J[a+28>>2]+4>>2]+8>>2]+(J[(i<<2)+k>>2]<<2)>>2];c=J[e+28>>2];if(c-1>>>0>=6){if((c|0)!=9){break a}e=J[J[a+60>>2]+(p<<2)>>2];if(!e){break a}p=p+1|0;c=J[e+28>>2]}e:{f:{g:{switch(c-1|0){case 5:if(!y){break e}k=0;while(1){f=(J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],k)<<2)|0;h=J[J[e>>2]>>2];g=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],K[e+84|0]?k:J[J[e+68>>2]+(k<<2)>>2],0);j=c;c=c+g|0;nk(f,c+h|0,K[e+24|0]<<2);k=k+1|0;if((y|0)!=(k|0)){continue}break};break e;case 0:case 2:case 4:c=K[e+24|0];h:{if(!c){g=0;h=0;break h}h=0;c=c<<2;g=pl(c);pk(g,0,c);c=K[e+24|0];if(!c){break h}c=c<<2;h=pl(c);pk(h,0,c)}if(y){f=0;while(1){Lb(e,K[e+84|0]?f:J[J[e+68>>2]+(f<<2)>>2],H[e+24|0],g);j=K[e+24|0];i:{if(!j){break i}l=J[a+48>>2];k=0;if((j|0)!=1){n=j&254;c=0;while(1){r=k<<2;J[r+h>>2]=J[g+r>>2]-J[l+(k+q<<2)>>2];r=k|1;v=r<<2;J[v+h>>2]=J[g+v>>2]-J[l+(q+r<<2)>>2];k=k+2|0;c=c+2|0;if((n|0)!=(c|0)){continue}break}}if(!(j&1)){break i}c=k<<2;J[c+h>>2]=J[c+g>>2]-J[l+(k+q<<2)>>2]}nk((J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],f)<<2)|0,h,j<<2);f=f+1|0;if((y|0)!=(f|0)){continue}break}}c=K[e+24|0];if(h){hl(h)}q=c+q|0;if(g){break f}break e;default:break g}}c=K[e+24|0];j:{if(!c){g=0;break j}c=c<<2;g=pl(c);pk(g,0,c)}if(y){k=0;while(1){c=K[e+84|0]?k:J[J[e+68>>2]+(k<<2)>>2];j=K[e+24|0];l=0;k:{if(!g){break k}l:{m:{switch(J[e+28>>2]-1|0){case 0:h=K[e+24|0];if(h>>>0<j>>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=H[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0<j>>>0?h:j)>>>0){continue}break}}break l;case 1:h=K[e+24|0];if(h>>>0<j>>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=K[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0<j>>>0?h:j)>>>0){continue}break}}break l;case 2:h=K[e+24|0];if(h>>>0<j>>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=I[f>>1];f=f+2|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0<j>>>0?h:j)>>>0){continue}break}}break l;case 3:h=K[e+24|0];if(h>>>0<j>>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=L[f>>1];f=f+2|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0<j>>>0?h:j)>>>0){continue}break}}break l;case 4:h=K[e+24|0];if(h>>>0<j>>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=J[f>>2];f=f+4|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0<j>>>0?h:j)>>>0){continue}break}}break l;case 5:h=K[e+24|0];if(h>>>0<j>>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=J[f>>2];f=f+4|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0<j>>>0?h:j)>>>0){continue}break}}break l;case 6:h=K[e+24|0];if(h>>>0<j>>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;n=J[h+4>>2];while(1){if(f>>>0>=n>>>0){break k}c=J[f>>2];if(J[f+4>>2]){break k}J[(l<<2)+g>>2]=c;f=f+8|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0<j>>>0?h:j)>>>0){continue}break}}break l;case 7:h=K[e+24|0];if(h>>>0<j>>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;n=J[h+4>>2];while(1){if(f>>>0>=n>>>0){break k}c=J[f>>2];if(J[f+4>>2]){break k}J[(l<<2)+g>>2]=c;f=f+8|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0<j>>>0?h:j)>>>0){continue}break}}break l;case 8:n:{o:{h=K[e+24|0];if(!(h>>>0<j>>>0?h:j)){break o}f=J[e>>2];h=J[f>>2];l=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+l|0;l=c+h|0;n=J[f+4>>2];f=n-h|0;if(!K[e+32|0]){if((c|0)>=(f|0)){break n}f=0;while(1){w=N[l>>2];if(w>=Q(4294967296)|w<Q(0)|(Q(R(w))==Q(Infinity)|w!=w)){break n}m=(f<<2)+g|0;if(w<Q(4294967296)&w>=Q(0)){c=~~w>>>0}else{c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0<j>>>0?h:j)>>>0){break o}l=l+4|0;if(n>>>0>l>>>0){continue}break}break n}if((c|0)>=(f|0)){break n}f=0;while(1){w=N[l>>2];if(w>=Q(4294967296)|w<Q(0)|(Q(R(w))==Q(Infinity)|w!=w)){break n}if(w>Q(1)){break n}m=(f<<2)+g|0;t=V(+w*4294967295+.5);p:{if(t<4294967296&t>=0){c=~~t>>>0;break p}c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0<j>>>0?h:j)>>>0){break o}l=l+4|0;if(n>>>0>l>>>0){continue}break}break n}if(h>>>0>=j>>>0){break n}pk((h<<2)+g|0,0,j-h<<2)}break k;case 9:q:{r:{h=K[e+24|0];if(!(h>>>0<j>>>0?h:j)){break r}f=J[e>>2];h=J[f>>2];l=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+l|0;l=c+h|0;n=J[f+4>>2];f=n-h|0;if(!K[e+32|0]){if((c|0)>=(f|0)){break q}f=0;while(1){t=O[l>>3];if(t>=4294967295|t<0|(R(t)==Infinity|t!=t)){break q}m=(f<<2)+g|0;if(t<4294967296&t>=0){c=~~t>>>0}else{c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0<j>>>0?h:j)>>>0){break r}l=l+8|0;if(n>>>0>l>>>0){continue}break}break q}if((c|0)>=(f|0)){break q}f=0;while(1){t=O[l>>3];if(t>=4294967295|t<0|(R(t)==Infinity|t!=t)){break q}if(t>1){break q}m=(f<<2)+g|0;t=V(t*4294967295+.5);s:{if(t<4294967296&t>=0){c=~~t>>>0;break s}c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0<j>>>0?h:j)>>>0){break r}l=l+8|0;if(n>>>0>l>>>0){continue}break}break q}if(h>>>0>=j>>>0){break q}pk((h<<2)+g|0,0,j-h<<2)}break k;case 10:break m;default:break k}}h=K[e+24|0];if(h>>>0<j>>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=K[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0<j>>>0?h:j)>>>0){continue}break}}if(h>>>0>=j>>>0){break k}pk((h<<2)+g|0,0,j-h<<2);break k}if(h>>>0>=j>>>0){break k}pk((h<<2)+g|0,0,j-h<<2)}nk((J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],k)<<2)|0,g,K[e+24|0]<<2);k=k+1|0;if((y|0)!=(k|0)){continue}break}}if(!g){break e}}hl(g)}o=K[e+24|0]+o|0;i=i+1|0;k=J[a+4>>2];if(i>>>0<J[a+8>>2]-k>>2>>>0){continue}break}f=J[a+72>>2];g=P(y,f);h=J[d+1672>>2]}k=0;if((g|0)<=0){break b}c=g&1;if((g|0)==1){g=0;break c}e=g&-2;g=0;a=0;while(1){j=g<<2;l=J[j+h>>2];if(l){l=S(l);k=(l^31)<(k|0)?k:32-l|0}j=J[(j|4)+h>>2];if(j){j=S(j);k=(j^31)<(k|0)?k:32-j|0}g=g+2|0;a=a+2|0;if((e|0)!=(a|0)){continue}break}break c}Ia();C()}if(!c){break b}a=J[(g<<2)+h>>2];if(!a){break b}a=S(a);k=(a^31)<(k|0)?k:32-a|0}t:{u:{switch(K[d+1679|0]){case 6:p=Rb(d+456|0,f);a=J[d+1652>>2];J[d+448>>2]=a;J[d+432>>2]=a;J[d+32>>2]=a;J[d+16>>2]=a;J[d+440>>2]=0;J[d+424>>2]=J[d+1648>>2];a=d+1648|0;J[d+444>>2]=a;c=J[d+444>>2];J[d+24>>2]=J[d+440>>2];J[d+28>>2]=c;J[d+428>>2]=a;J[d+420>>2]=k;a=J[d+428>>2];J[d+8>>2]=J[d+424>>2];J[d+12>>2]=a;n=fa-32|0;fa=n;J[p>>2]=J[d+420>>2];a=J[d+8>>2]-J[d+24>>2]|0;J[p+4>>2]=a;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){a=p+4|0;Ba(b,J[b+4>>2],p,a);c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],a,p+8|0)}a=J[a>>2]}if(a){W=p+12|0;Zb(W);X=p+1068|0;a=X;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];Y=p+1088|0;a=Y;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];Z=p+1108|0;a=Z;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];J[n+24>>2]=J[d+32>>2];a=J[d+28>>2];J[n+16>>2]=J[d+24>>2];J[n+20>>2]=a;J[n+8>>2]=J[d+16>>2];a=J[d+12>>2];J[n>>2]=J[d+8>>2];J[n+4>>2]=a;c=0;g=0;i=fa+-64|0;fa=i;e=J[p+8>>2];J[i+48>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;v:{w:{if(e){if(e>>>0>=1073741824){break w}a=e<<2;c=pl(a);J[i+40>>2]=c;g=a+c|0;J[i+48>>2]=g;pk(c,0,a);J[i+44>>2]=g}a=J[p+1164>>2];k=J[a>>2];if(k){J[a+4>>2]=k;hl(k);e=J[p+8>>2];g=J[i+44>>2];c=J[i+40>>2]}J[a+4>>2]=g;J[a>>2]=c;J[a+8>>2]=J[i+48>>2];c=0;J[i+48>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;a=0;x:{if(e){if(e>>>0>=1073741824){break x}k=e<<2;a=pl(k);J[i+40>>2]=a;c=a+k|0;J[i+48>>2]=c;pk(a,0,k);J[i+44>>2]=c}k=J[p+1176>>2];f=J[k>>2];if(f){J[k+4>>2]=f;hl(f);c=J[i+44>>2];a=J[i+40>>2]}J[k+4>>2]=c;J[k>>2]=a;J[k+8>>2]=J[i+48>>2];h=J[n+20>>2];l=J[n+24>>2];f=J[n+4>>2];y=J[n+8>>2];c=J[n>>2];k=J[n+16>>2];J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;dc(i+40|0);a=J[i+56>>2]+J[i+60>>2]|0;e=(a>>>0)/113|0;a=J[J[i+44>>2]+(e<<2)>>2]+P(a-P(e,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=c-k;J[a+24>>2]=0;J[a+16>>2]=f;J[a+20>>2]=y;J[a+12>>2]=c;J[a+4>>2]=h;J[a+8>>2]=l;J[a>>2]=k;e=J[i+60>>2]+1|0;J[i+60>>2]=e;if(e){a=l;aa=a&-4;_=a&3;ba=p+1068|0;$=p+12|0;ca=p+1108|0;da=a>>>0<4;while(1){a=J[i+44>>2];g=J[i+56>>2];o=e-1|0;c=g+o|0;k=(c>>>0)/113|0;c=J[a+(k<<2)>>2]+P(c-P(k,113)|0,36)|0;T=J[c+32>>2];j=J[c+12>>2];k=J[c>>2];J[i+60>>2]=o;c=J[i+48>>2];if((((a|0)!=(c|0)?P(c-a>>2,113)-1|0:0)-(e+g|0)|0)+1>>>0>=226){hl(J[c-4>>2]);J[i+48>>2]=J[i+48>>2]-4}J[n+16>>2]=k;J[n>>2]=j;a=J[p+1164>>2];c=J[p+1176>>2];J[i+32>>2]=J[n+24>>2];e=J[n+20>>2];J[i+24>>2]=J[n+16>>2];J[i+28>>2]=e;J[i+16>>2]=J[n+8>>2];e=J[n+4>>2];J[i+8>>2]=J[n>>2];J[i+12>>2]=e;U=P(T,12);v=a+U|0;q=v;D=c+U|0;a=D;e=0;g=J[p+8>>2];y:{z:{A:{B:{s=J[i+8>>2];o=J[i+24>>2];u=s-o|0;if(u>>>0>=64){if(!g){break z}E=J[p+1140>>2];F=J[a>>2];G=J[p+1128>>2];if((o|0)!=(s|0)){break B}g=0;while(1){a=g<<2;c=a+G|0;J[c>>2]=0;q=a+E|0;e=J[p>>2];a=J[a+F>>2];J[q>>2]=e-a;if((a|0)!=(e|0)){q=c;a=J[c>>2];c=u-a|0;J[q>>2]=a>>>0<c>>>0?c:a}c=J[p+8>>2];g=g+1|0;if(c>>>0>g>>>0){continue}break}break A}if(g>>>0<2){break y}o=g-1|0;q=o&3;c=J[a>>2];a=0;C:{if(g-2>>>0<3){g=1;break C}r=o&-4;g=1;o=0;while(1){s=g+3|0;u=g+2|0;x=g+1|0;e=M[c+(e<<2)>>2]>M[c+(g<<2)>>2]?g:e;e=M[c+(e<<2)>>2]>M[c+(x<<2)>>2]?x:e;e=M[c+(e<<2)>>2]>M[c+(u<<2)>>2]?u:e;e=M[c+(e<<2)>>2]>M[c+(s<<2)>>2]?s:e;g=g+4|0;o=o+4|0;if((r|0)!=(o|0)){continue}break}}if(!q){break y}while(1){e=M[c+(e<<2)>>2]>M[c+(g<<2)>>2]?g:e;g=g+1|0;a=a+1|0;if((q|0)!=(a|0)){continue}break}break y}z=J[i+28>>2];B=J[q>>2];ea=u&1;q=o+1|0;ga=(q|0)!=(s|0);m=J[i+32>>2];ha=P(m,o)<<2;while(1){a=e<<2;r=a+G|0;J[r>>2]=0;c=J[p>>2];g=J[a+F>>2];x=c-g|0;J[a+E>>2]=x;if((c|0)!=(g|0)){x=J[a+B>>2]+(1<<x-1)|0;A=a+J[z+24>>2]|0;c=J[r>>2];if(ea){c=(x>>>0>M[A+ha>>2])+c|0;J[r>>2]=c;a=q}else{a=o}g=a;if(ga){while(1){a=(x>>>0>M[A+(P(g,m)<<2)>>2])+c|0;J[r>>2]=a;c=a+(x>>>0>M[A+(P(m,g+1|0)<<2)>>2])|0;J[r>>2]=c;g=g+2|0;if((s|0)!=(g|0)){continue}break}}a=u-c|0;J[r>>2]=a>>>0>c>>>0?a:c}c=J[p+8>>2];e=e+1|0;if(c>>>0>e>>>0){continue}break}}if(!c){e=0;break z}u=c&1;q=J[p+1128>>2];r=J[p+1140>>2];D:{if((c|0)==1){g=0;c=0;e=0;break D}x=c&-2;g=0;c=0;e=0;o=0;while(1){a=g<<2;E:{if(!J[a+r>>2]){a=c;break E}s=J[a+q>>2];a=c>>>0>s>>>0?c:s;e=c>>>0<s>>>0?g:e}A=g|1;c=A<<2;F:{if(!J[c+r>>2]){c=a;break F}s=J[c+q>>2];c=a>>>0>s>>>0?a:s;e=a>>>0<s>>>0?A:e}g=g+2|0;o=o+2|0;if((x|0)!=(o|0)){continue}break}}if(!u){break z}a=g<<2;if(!J[a+r>>2]){break z}e=M[a+q>>2]>c>>>0?g:e}gc(p+1088|0,4,e)}c=J[p>>2];q=e<<2;g=J[q+J[D>>2]>>2];G:{H:{if((c|0)==(g|0)){break H}I:{J:{x=j-k|0;if(x>>>0<=2){g=J[p+1152>>2];J[g>>2]=e;c=1;a=J[p+8>>2];if(a>>>0>1){break J}break I}a=J[p+1164>>2];F=T+1|0;A=P(F,12);o=a+A|0;if((o|0)!=(v|0)){ec(o,J[v>>2],J[v+4>>2]);a=J[p+1164>>2]}a=q+J[a+A>>2]|0;r=J[a>>2]+(1<<c+(g^-1))|0;J[a>>2]=r;a=k;K:{if((j|0)==(a|0)){break K}G=J[h+24>>2];D=G+q|0;a=j;c=k;if(!l){if(r>>>0>M[D>>2]){break K}while(1){a=a-1|0;if((c|0)==(a|0)){a=c;break K}if(r>>>0<=M[(q+J[f+24>>2]|0)+(P(a,y)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(a|0)){continue}break}break K}while(1){g=P(c,l)<<2;if(r>>>0>M[g+D>>2]){c=c+1|0;if((c|0)!=(a|0)){continue}break K}while(1){a=a-1|0;if((c|0)==(a|0)){a=c;break K}v=J[f+24>>2]+(P(a,y)<<2)|0;if(r>>>0<=M[v+q>>2]){continue}break}s=g+G|0;E=0;g=0;o=0;if(!da){while(1){u=g<<2;m=u+s|0;z=J[m>>2];B=m;m=v+u|0;J[B>>2]=J[m>>2];J[m>>2]=z;m=u|4;z=m+s|0;B=J[z>>2];m=v+m|0;J[z>>2]=J[m>>2];J[m>>2]=B;m=u|8;z=m+s|0;B=J[z>>2];m=v+m|0;J[z>>2]=J[m>>2];J[m>>2]=B;u=u|12;m=u+s|0;z=J[m>>2];u=v+u|0;J[m>>2]=J[u>>2];J[u>>2]=z;g=g+4|0;o=o+4|0;if((aa|0)!=(o|0)){continue}break}}if(_){while(1){o=g<<2;u=o+s|0;m=J[u>>2];o=o+v|0;J[u>>2]=J[o>>2];J[o>>2]=m;g=g+1|0;E=E+1|0;if((_|0)!=(E|0)){continue}break}}c=c+1|0;if((c|0)!=(a|0)){continue}break}}o=a-k|0;r=j-a|0;if((o|0)!=(r|0)){fc(ca,o>>>0<r>>>0)}c=S(x);v=c^31;g=x>>>1|0;L:{if(o>>>0<r>>>0){if(!v){break L}s=g-o|0;c=1<<30-c;g=0;while(1){De((g<<5)+$|0,(c&s)!=0);c=c>>>1|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}break L}if(!v){break L}s=g-r|0;c=1<<30-c;g=0;while(1){De((g<<5)+$|0,(c&s)!=0);c=c>>>1|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}m=q;c=J[p+1176>>2];g=c+U|0;q=J[g>>2];v=m+q|0;J[v>>2]=J[v>>2]+1;ec(c+A|0,q,J[g+4>>2]);if((a|0)!=(k|0)){g=J[i+60>>2]+J[i+56>>2]|0;q=J[i+48>>2];c=J[i+44>>2];if((g|0)==(((c|0)!=(q|0)?P(q-c>>2,113)-1|0:0)|0)){dc(i+40|0);g=J[i+56>>2]+J[i+60>>2]|0;q=J[i+44>>2]}else{q=c}c=(g>>>0)/113|0;c=J[q+(c<<2)>>2]+P(g-P(c,113)|0,36)|0;J[c+32>>2]=T;J[c+28>>2]=o;J[c+24>>2]=e;J[c+16>>2]=h;J[c+12>>2]=a;J[c+4>>2]=h;J[c+8>>2]=l;J[c>>2]=k;J[c+20>>2]=l;J[i+60>>2]=J[i+60>>2]+1}if((a|0)==(j|0)){break H}g=J[i+60>>2]+J[i+56>>2]|0;k=J[i+48>>2];c=J[i+44>>2];if((g|0)==(((c|0)!=(k|0)?P(k-c>>2,113)-1|0:0)|0)){dc(i+40|0);g=J[i+56>>2]+J[i+60>>2]|0;q=J[i+44>>2]}else{q=c}c=(g>>>0)/113|0;c=J[q+(c<<2)>>2]+P(g-P(c,113)|0,36)|0;J[c+32>>2]=F;J[c+28>>2]=r;J[c+24>>2]=e;J[c+16>>2]=f;J[c+20>>2]=y;J[c+12>>2]=j;J[c+4>>2]=h;J[c>>2]=a;J[c+8>>2]=l;e=J[i+60>>2]+1|0;J[i+60>>2]=e;break G}while(1){e=(a-1|0)!=(e|0)?e+1|0:0;J[g+(c<<2)>>2]=e;a=J[p+8>>2];c=c+1|0;if(a>>>0>c>>>0){continue}break}}g=0;c=a;if((j|0)==(k|0)){break H}while(1){M:{if(!c){c=0;break M}j=J[h+24>>2]+(P(J[h+4>>2],g+k|0)<<2)|0;e=0;while(1){c=J[p>>2];o=J[J[p+1152>>2]+(e<<2)>>2]<<2;q=J[o+J[D>>2]>>2];if((c|0)!=(q|0)){gc(ba,c-q|0,J[j+o>>2]);a=J[p+8>>2]}c=a;e=e+1|0;if(c>>>0>e>>>0){continue}break}}g=g+1|0;if((x|0)!=(g|0)){continue}break}}e=J[i+60>>2]}if(e){continue}break}}J[i+60>>2]=0;f=J[i+48>>2];e=J[i+44>>2];a=f-e|0;if(a>>>0>=9){while(1){hl(J[e>>2]);e=J[i+44>>2]+4|0;J[i+44>>2]=e;f=J[i+48>>2];a=f-e|0;if(a>>>0>8){continue}break}}c=56;N:{switch((a>>>2|0)-1|0){case 1:c=113;case 0:J[i+56>>2]=c;break;default:break N}}O:{if((e|0)==(f|0)){break O}while(1){hl(J[e>>2]);e=e+4|0;if((f|0)!=(e|0)){continue}break}a=J[i+48>>2];c=J[i+44>>2];if((a|0)==(c|0)){break O}J[i+48>>2]=a+((c-a|0)+3&-4)}a=J[i+40>>2];if(a){hl(a)}fa=i- -64|0;break v}Ia();C()}Ia();C()}_b(W,b);ze(X,b);ze(Y,b);ze(Z,b)}fa=n+32|0;Qb(p);break t;case 5:c=Rb(d+456|0,f);a=J[d+1652>>2];J[d+416>>2]=a;J[d+400>>2]=a;J[d- -64>>2]=a;J[d+48>>2]=a;J[d+408>>2]=0;J[d+392>>2]=J[d+1648>>2];a=d+1648|0;J[d+412>>2]=a;f=J[d+412>>2];J[d+56>>2]=J[d+408>>2];J[d+60>>2]=f;J[d+396>>2]=a;J[d+420>>2]=k;a=J[d+396>>2];J[d+40>>2]=J[d+392>>2];J[d+44>>2]=a;a=Sb(c,d+56|0,d+40|0,d+420|0,b);Qb(c);if(a){break t}break a;case 4:c=Rb(d+456|0,f);a=J[d+1652>>2];J[d+384>>2]=a;J[d+368>>2]=a;J[d+96>>2]=a;J[d+80>>2]=a;J[d+376>>2]=0;J[d+360>>2]=J[d+1648>>2];a=d+1648|0;J[d+380>>2]=a;f=J[d+380>>2];J[d+88>>2]=J[d+376>>2];J[d+92>>2]=f;J[d+364>>2]=a;J[d+420>>2]=k;a=J[d+364>>2];J[d+72>>2]=J[d+360>>2];J[d+76>>2]=a;a=Sb(c,d+88|0,d+72|0,d+420|0,b);Qb(c);if(a){break t}break a;case 3:c=Tb(d+456|0,f);a=J[d+1652>>2];J[d+352>>2]=a;J[d+336>>2]=a;J[d+128>>2]=a;J[d+112>>2]=a;J[d+344>>2]=0;J[d+328>>2]=J[d+1648>>2];a=d+1648|0;J[d+348>>2]=a;f=J[d+348>>2];J[d+120>>2]=J[d+344>>2];J[d+124>>2]=f;J[d+332>>2]=a;J[d+420>>2]=k;a=J[d+332>>2];J[d+104>>2]=J[d+328>>2];J[d+108>>2]=a;a=Ub(c,d+120|0,d+104|0,d+420|0,b);Vb(c);if(a){break t}break a;case 2:c=Tb(d+456|0,f);a=J[d+1652>>2];J[d+320>>2]=a;J[d+304>>2]=a;J[d+160>>2]=a;J[d+144>>2]=a;J[d+312>>2]=0;J[d+296>>2]=J[d+1648>>2];a=d+1648|0;J[d+316>>2]=a;f=J[d+316>>2];J[d+152>>2]=J[d+312>>2];J[d+156>>2]=f;J[d+300>>2]=a;J[d+420>>2]=k;a=J[d+300>>2];J[d+136>>2]=J[d+296>>2];J[d+140>>2]=a;a=Ub(c,d+152|0,d+136|0,d+420|0,b);Vb(c);if(a){break t}break a;case 1:c=Wb(d+456|0,f);a=J[d+1652>>2];J[d+288>>2]=a;J[d+272>>2]=a;J[d+192>>2]=a;J[d+176>>2]=a;J[d+280>>2]=0;J[d+264>>2]=J[d+1648>>2];a=d+1648|0;J[d+284>>2]=a;f=J[d+284>>2];J[d+184>>2]=J[d+280>>2];J[d+188>>2]=f;J[d+268>>2]=a;J[d+420>>2]=k;a=J[d+268>>2];J[d+168>>2]=J[d+264>>2];J[d+172>>2]=a;a=Xb(c,d+184|0,d+168|0,d+420|0,b);Yb(c);if(a){break t}break a;case 0:break u;default:break a}}c=Wb(d+456|0,f);a=J[d+1652>>2];J[d+256>>2]=a;J[d+240>>2]=a;J[d+224>>2]=a;J[d+208>>2]=a;J[d+248>>2]=0;J[d+232>>2]=J[d+1648>>2];a=d+1648|0;J[d+252>>2]=a;f=J[d+252>>2];J[d+216>>2]=J[d+248>>2];J[d+220>>2]=f;J[d+236>>2]=a;J[d+420>>2]=k;a=J[d+236>>2];J[d+200>>2]=J[d+232>>2];J[d+204>>2]=a;a=Xb(c,d+216|0,d+200|0,d+420|0,b);Yb(c);if(!a){break a}}s=1}a=J[d+1660>>2];if(a){J[d+1664>>2]=a;hl(a)}fa=d+1680|0;return s|0}function Ek(a,b,c,d){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,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0;w=fa-160|0;fa=w;J[w+60>>2]=b;J[w+20>>2]=b;J[w+24>>2]=-1;h=w+16|0;J[h+112>>2]=0;J[h+116>>2]=0;n=J[h+44>>2]-J[h+4>>2]|0;J[h+120>>2]=n;J[h+124>>2]=n>>31;J[h+104>>2]=J[h+8>>2];s=fa-48|0;fa=s;if(d>>>0<=2){a:{d=d<<2;D=J[d+17292>>2];E=J[d+17280>>2];while(1){d=J[h+4>>2];b:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break b}d=yk(h)}if((d|0)==32|d-9>>>0<5){continue}break}n=1;c:{d:{switch(d-43|0){case 0:case 2:break d;default:break c}}n=(d|0)==45?-1:1;d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break c}d=yk(h)}e:{f:{while(1){if(H[g+1154|0]==(d|32)){g:{if(g>>>0>6){break g}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break g}d=yk(h)}g=g+1|0;if((g|0)!=8){continue}break f}break}if((g|0)!=3){if((g|0)==8){break f}if(g>>>0<4){break e}if((g|0)==8){break f}}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(g>>>0<4){break f}d=(d|0)<0;while(1){if(!d){J[h+4>>2]=J[h+4>>2]-1}g=g-1|0;if(g>>>0>3){continue}break}}m=fa-16|0;fa=m;r=(B(Q(Q(n|0)*Q(Infinity))),v(2));d=r&2147483647;h:{if(d-8388608>>>0<=2130706431){l=(d>>>7|0)+1065353216|0;j=d<<25;break h}l=r>>>7|2147418112;j=r<<25;if(d>>>0>=2139095040){break h}l=0;j=0;if(!d){break h}g=d;d=S(d);Tk(m,g,0,0,0,d+81|0);i=J[m>>2];k=J[m+4>>2];l=J[m+12>>2]^65536|16265-d<<16;j=J[m+8>>2]}J[s>>2]=i;J[s+4>>2]=k;J[s+8>>2]=j;J[s+12>>2]=r&-2147483648|l;fa=m+16|0;i=J[s+8>>2];k=J[s+12>>2];j=J[s>>2];m=J[s+4>>2];break a}i:{j:{k:{if(g){break k}g=0;while(1){if(H[g+1434|0]!=(d|32)){break k}l:{if(g>>>0>1){break l}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break l}d=yk(h)}g=g+1|0;if((g|0)!=3){continue}break}break j}m:{switch(g|0){case 0:n:{if((d|0)!=48){break n}g=J[h+4>>2];o:{if((g|0)!=J[h+104>>2]){J[h+4>>2]=g+1;g=K[g|0];break o}g=yk(h)}if((g&-33)==88){f=fa-432|0;fa=f;d=J[h+4>>2];p:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0];break p}g=yk(h)}q:{r:{while(1){if((g|0)!=48){s:{if((g|0)!=46){break q}d=J[h+4>>2];if((d|0)==J[h+104>>2]){break s}J[h+4>>2]=d+1;g=K[d|0];break r}}else{d=J[h+4>>2];if((d|0)!=J[h+104>>2]){x=1;J[h+4>>2]=d+1;g=K[d|0]}else{x=1;g=yk(h)}continue}break}g=yk(h)}e=1;if((g|0)!=48){break q}while(1){d=r;r=d-1|0;t=t-!d|0;d=J[h+4>>2];t:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0];break t}g=yk(h)}if((g|0)==48){continue}break}x=1}m=1073676288;while(1){u:{d=g|32;v:{w:{F=g-48|0;if(F>>>0<10){break w}if((g|0)!=46&d-97>>>0>=6){break u}if((g|0)!=46){break w}if(e){break u}e=1;r=i;t=k;break v}d=(g|0)>57?d-87|0:F;x:{if((k|0)<=0&i>>>0<=7|(k|0)<0){p=d+(p<<4)|0;break x}if(!k&i>>>0<=28){Yk(f+48|0,d);$k(f+32|0,A,C,j,m,0,0,0,1073414144);A=J[f+32>>2];C=J[f+36>>2];j=J[f+40>>2];m=J[f+44>>2];$k(f+16|0,J[f+48>>2],J[f+52>>2],J[f+56>>2],J[f+60>>2],A,C,j,m);Sk(f,J[f+16>>2],J[f+20>>2],J[f+24>>2],J[f+28>>2],l,o,y,z);y=J[f+8>>2];z=J[f+12>>2];l=J[f>>2];o=J[f+4>>2];break x}if(G|!d){break x}$k(f+80|0,A,C,j,m,0,0,0,1073610752);Sk(f- -64|0,J[f+80>>2],J[f+84>>2],J[f+88>>2],J[f+92>>2],l,o,y,z);y=J[f+72>>2];z=J[f+76>>2];G=1;l=J[f+64>>2];o=J[f+68>>2]}i=i+1|0;k=i?k:k+1|0;x=1}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0]}else{g=yk(h)}continue}break}y:{if(!x){d=J[h+116>>2];if((d|0)>0|(d|0)>=0){z:{d=J[h+4>>2];J[h+4>>2]=d-1;J[h+4>>2]=d-2;if(!e){break z}J[h+4>>2]=d-3}}Xk(f+96|0,+(n|0)*0);l=J[f+96>>2];o=J[f+100>>2];i=J[f+108>>2];d=J[f+104>>2];break y}if((k|0)<=0&i>>>0<=7|(k|0)<0){j=i;m=k;while(1){p=p<<4;j=j+1|0;m=j?m:m+1|0;if((j|0)!=8|m){continue}break}}A:{B:{C:{if((g&-33)==80){j=Dk(h);d=ja;m=d;if(j|(d|0)!=-2147483648){break A}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){break C}break B}j=0;m=0;if(J[h+116>>2]<0){break A}}J[h+4>>2]=J[h+4>>2]-1}j=0;m=0}if(!p){Xk(f+112|0,+(n|0)*0);l=J[f+112>>2];o=J[f+116>>2];i=J[f+124>>2];d=J[f+120>>2];break y}d=e?r:i;k=(e?t:k)<<2|d>>>30;d=j+(d<<2)|0;g=k+m|0;g=d>>>0<j>>>0?g+1|0:g;i=d-32|0;k=g-(d>>>0<32)|0;d=k;if(i>>>0>0-D>>>0&(d|0)>=0|(d|0)>0){J[4842]=68;Yk(f+160|0,n);$k(f+144|0,J[f+160>>2],J[f+164>>2],J[f+168>>2],J[f+172>>2],-1,-1,-1,2147418111);$k(f+128|0,J[f+144>>2],J[f+148>>2],J[f+152>>2],J[f+156>>2],-1,-1,-1,2147418111);l=J[f+128>>2];o=J[f+132>>2];i=J[f+140>>2];d=J[f+136>>2];break y}d=D-226|0;j=d>>31;if((k|0)>=(j|0)&d>>>0<=i>>>0|(j|0)<(k|0)){if((p|0)>=0){while(1){Sk(f+416|0,l,o,y,z,0,0,0,-1073807360);d=Vk(l,o,y,z,1073610752);j=(d|0)>=0;d=j;Sk(f+400|0,l,o,y,z,d?J[f+416>>2]:l,d?J[f+420>>2]:o,d?J[f+424>>2]:y,d?J[f+428>>2]:z);d=i;i=d-1|0;k=k-!d|0;y=J[f+408>>2];z=J[f+412>>2];l=J[f+400>>2];o=J[f+404>>2];p=j|p<<1;if((p|0)>=0){continue}break}}g=k-((D>>31)+(i>>>0<D>>>0)|0)|0;d=(i-D|0)+32|0;g=d>>>0<32?g+1|0:g;j=d>>>0<E>>>0&(g|0)<=0|(g|0)<0?(d|0)>0?d:0:E;D:{if((j|0)>=113){Yk(f+384|0,n);r=J[f+392>>2];t=J[f+396>>2];A=J[f+384>>2];C=J[f+388>>2];g=0;d=0;break D}Xk(f+352|0,zk(144-j|0));Yk(f+336|0,n);A=J[f+336>>2];C=J[f+340>>2];r=J[f+344>>2];t=J[f+348>>2];Ak(f+368|0,J[f+352>>2],J[f+356>>2],J[f+360>>2],J[f+364>>2],A,C,r,t);q=J[f+376>>2];u=J[f+380>>2];g=J[f+372>>2];d=J[f+368>>2]}k=!(p&1)&((Uk(l,o,y,z,0,0,0,0)|0)!=0&(j|0)<32);Zk(f+320|0,k+p|0);$k(f+304|0,A,C,r,t,J[f+320>>2],J[f+324>>2],J[f+328>>2],J[f+332>>2]);j=d;Sk(f+272|0,J[f+304>>2],J[f+308>>2],J[f+312>>2],J[f+316>>2],d,g,q,u);d=k;$k(f+288|0,A,C,r,t,d?0:l,d?0:o,d?0:y,d?0:z);Sk(f+256|0,J[f+288>>2],J[f+292>>2],J[f+296>>2],J[f+300>>2],J[f+272>>2],J[f+276>>2],J[f+280>>2],J[f+284>>2]);bl(f+240|0,J[f+256>>2],J[f+260>>2],J[f+264>>2],J[f+268>>2],j,g,q,u);d=J[f+240>>2];l=J[f+244>>2];j=J[f+248>>2];r=J[f+252>>2];if(!Uk(d,l,j,r,0,0,0,0)){J[4842]=68}Bk(f+224|0,d,l,j,r,i);l=J[f+224>>2];o=J[f+228>>2];i=J[f+236>>2];d=J[f+232>>2];break y}J[4842]=68;Yk(f+208|0,n);$k(f+192|0,J[f+208>>2],J[f+212>>2],J[f+216>>2],J[f+220>>2],0,0,0,65536);$k(f+176|0,J[f+192>>2],J[f+196>>2],J[f+200>>2],J[f+204>>2],0,0,0,65536);l=J[f+176>>2];o=J[f+180>>2];i=J[f+188>>2];d=J[f+184>>2]}J[s+16>>2]=l;J[s+20>>2]=o;J[s+24>>2]=d;J[s+28>>2]=i;fa=f+432|0;i=J[s+24>>2];k=J[s+28>>2];j=J[s+16>>2];m=J[s+20>>2];break a}if(J[h+116>>2]<0){break n}J[h+4>>2]=J[h+4>>2]-1}g=h;f=n;h=0;e=fa-8976|0;fa=e;G=0-D|0;F=G-E|0;E:{F:{while(1){if((d|0)!=48){G:{if((d|0)!=46){break E}d=J[g+4>>2];if((d|0)==J[g+104>>2]){break G}J[g+4>>2]=d+1;d=K[d|0];break F}}else{d=J[g+4>>2];if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0]}else{d=yk(g)}h=1;continue}break}d=yk(g)}q=1;if((d|0)!=48){break E}while(1){d=i;i=d-1|0;k=k-!d|0;d=J[g+4>>2];H:{if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0];break H}d=yk(g)}if((d|0)==48){continue}break}h=1}J[e+784>>2]=0;I:{J:{n=(d|0)==46;l=d-48|0;K:{L:{if(n|l>>>0<=9){while(1){M:{if(n&1){if(!q){i=j;k=m;q=1;break M}n=!h;break L}j=j+1|0;m=j?m:m+1|0;if((p|0)<=2044){x=(d|0)==48?x:j;n=(e+784|0)+(p<<2)|0;if(u){l=(P(J[n>>2],10)+d|0)-48|0}J[n>>2]=l;h=1;l=u+1|0;d=(l|0)==9;u=d?0:l;p=d+p|0;break M}if((d|0)==48){break M}J[e+8960>>2]=J[e+8960>>2]|1;x=18396}d=J[g+4>>2];N:{if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0];break N}d=yk(g)}n=(d|0)==46;l=d-48|0;if(n|l>>>0<10){continue}break}}i=q?i:j;k=q?k:m;if(!(!h|(d&-33)!=69)){l=Dk(g);d=ja;o=d;O:{if(l|(d|0)!=-2147483648){break O}l=0;o=0;if(J[g+116>>2]<0){break O}J[g+4>>2]=J[g+4>>2]-1}k=k+o|0;i=i+l|0;k=i>>>0<l>>>0?k+1|0:k;break J}n=!h;if((d|0)<0){break K}}if(J[g+116>>2]<0){break K}J[g+4>>2]=J[g+4>>2]-1}if(!n){break J}J[4842]=28;j=0;m=0;J[g+112>>2]=0;J[g+116>>2]=0;d=J[g+44>>2]-J[g+4>>2]|0;J[g+120>>2]=d;J[g+124>>2]=d>>31;J[g+104>>2]=J[g+8>>2];i=0;d=0;break I}d=J[e+784>>2];if(!d){Xk(e,+(f|0)*0);j=J[e>>2];m=J[e+4>>2];i=J[e+12>>2];d=J[e+8>>2];break I}if(!(j>>>0>9&(m|0)>=0|(m|0)>0|((i|0)!=(j|0)|(k|0)!=(m|0))|(d>>>E|0?(E|0)<=30:0))){Yk(e+48|0,f);Zk(e+32|0,d);$k(e+16|0,J[e+48>>2],J[e+52>>2],J[e+56>>2],J[e+60>>2],J[e+32>>2],J[e+36>>2],J[e+40>>2],J[e+44>>2]);j=J[e+16>>2];m=J[e+20>>2];i=J[e+28>>2];d=J[e+24>>2];break I}if(i>>>0>G>>>1>>>0&(k|0)>=0|(k|0)>0){J[4842]=68;Yk(e+96|0,f);$k(e+80|0,J[e+96>>2],J[e+100>>2],J[e+104>>2],J[e+108>>2],-1,-1,-1,2147418111);$k(e- -64|0,J[e+80>>2],J[e+84>>2],J[e+88>>2],J[e+92>>2],-1,-1,-1,2147418111);j=J[e+64>>2];m=J[e+68>>2];i=J[e+76>>2];d=J[e+72>>2];break I}d=D-226|0;g=i>>>0<d>>>0;d=d>>31;if(g&(k|0)<=(d|0)|(d|0)>(k|0)){J[4842]=68;Yk(e+144|0,f);$k(e+128|0,J[e+144>>2],J[e+148>>2],J[e+152>>2],J[e+156>>2],0,0,0,65536);$k(e+112|0,J[e+128>>2],J[e+132>>2],J[e+136>>2],J[e+140>>2],0,0,0,65536);j=J[e+112>>2];m=J[e+116>>2];i=J[e+124>>2];d=J[e+120>>2];break I}if(u){if((u|0)<=8){d=(e+784|0)+(p<<2)|0;g=J[d>>2];while(1){g=P(g,10);u=u+1|0;if((u|0)!=9){continue}break}J[d>>2]=g}p=p+1|0}P:{q=i;if((x|0)>(i|0)|(x|0)>=9|(i|0)>17){break P}if((q|0)==9){Yk(e+192|0,f);Zk(e+176|0,J[e+784>>2]);$k(e+160|0,J[e+192>>2],J[e+196>>2],J[e+200>>2],J[e+204>>2],J[e+176>>2],J[e+180>>2],J[e+184>>2],J[e+188>>2]);j=J[e+160>>2];m=J[e+164>>2];i=J[e+172>>2];d=J[e+168>>2];break I}if((q|0)<=8){Yk(e+272|0,f);Zk(e+256|0,J[e+784>>2]);$k(e+240|0,J[e+272>>2],J[e+276>>2],J[e+280>>2],J[e+284>>2],J[e+256>>2],J[e+260>>2],J[e+264>>2],J[e+268>>2]);Yk(e+224|0,J[(0-q<<2)+17280>>2]);Wk(e+208|0,J[e+240>>2],J[e+244>>2],J[e+248>>2],J[e+252>>2],J[e+224>>2],J[e+228>>2],J[e+232>>2],J[e+236>>2]);j=J[e+208>>2];m=J[e+212>>2];i=J[e+220>>2];d=J[e+216>>2];break I}d=(P(q,-3)+E|0)+27|0;i=J[e+784>>2];if(i>>>d|0?(d|0)<=30:0){break P}Yk(e+352|0,f);Zk(e+336|0,i);$k(e+320|0,J[e+352>>2],J[e+356>>2],J[e+360>>2],J[e+364>>2],J[e+336>>2],J[e+340>>2],J[e+344>>2],J[e+348>>2]);Yk(e+304|0,J[(q<<2)+17208>>2]);$k(e+288|0,J[e+320>>2],J[e+324>>2],J[e+328>>2],J[e+332>>2],J[e+304>>2],J[e+308>>2],J[e+312>>2],J[e+316>>2]);j=J[e+288>>2];m=J[e+292>>2];i=J[e+300>>2];d=J[e+296>>2];break I}while(1){d=p;p=d-1|0;if(!J[(e+784|0)+(p<<2)>>2]){continue}break}u=0;i=(q|0)%9|0;Q:{if(!i){n=0;break Q}n=0;i=(q|0)<0?i+9|0:i;R:{if(!d){d=0;break R}j=J[(0-i<<2)+17280>>2];k=1e9/(j|0)|0;l=0;g=0;while(1){m=(e+784|0)+(g<<2)|0;h=J[m>>2];p=(h>>>0)/(j>>>0)|0;l=p+l|0;J[m>>2]=l;l=!l&(g|0)==(n|0);n=l?n+1&2047:n;q=l?q-9|0:q;l=P(k,h-P(j,p)|0);g=g+1|0;if((g|0)!=(d|0)){continue}break}if(!l){break R}J[(e+784|0)+(d<<2)>>2]=l;d=d+1|0}q=(q-i|0)+9|0}while(1){x=(e+784|0)+(n<<2)|0;S:{while(1){if(((q|0)!=36|M[x>>2]>=10384593)&(q|0)>=36){break S}p=d+2047|0;l=0;h=d;while(1){d=h;o=p&2047;h=(e+784|0)+(o<<2)|0;i=J[h>>2];m=i>>>3|0;j=i<<29;i=j+l|0;g=m;k=i>>>0<j>>>0?g+1|0:g;if(!k&i>>>0<1000000001){l=0}else{l=gm(i,k,1e9,0);i=i-em(l,ja,1e9,0)|0}J[h>>2]=i;h=(o|0)!=(d-1&2047)?d:(n|0)==(o|0)?d:i?d:o;p=o-1|0;if((n|0)!=(o|0)){continue}break}u=u-29|0;if(!l){continue}break}n=n-1&2047;if((n|0)==(h|0)){i=e+784|0;d=i+((h+2046&2047)<<2)|0;g=d;k=J[d>>2];d=h-1&2047;J[g>>2]=k|J[i+(d<<2)>>2]}q=q+9|0;J[(e+784|0)+(n<<2)>>2]=l;continue}break}T:{U:while(1){i=d+1&2047;l=(e+784|0)+((d-1&2047)<<2)|0;while(1){j=(q|0)>45?9:1;V:{while(1){h=n;g=0;W:{while(1){X:{k=g+h&2047;if((k|0)==(d|0)){break X}k=J[(e+784|0)+(k<<2)>>2];m=J[(g<<2)+17232>>2];if(k>>>0<m>>>0){break X}if(k>>>0>m>>>0){break W}g=g+1|0;if((g|0)!=4){continue}}break}if((q|0)!=36){break W}i=0;k=0;g=0;j=0;m=0;while(1){l=g+h&2047;if((l|0)==(d|0)){d=d+1&2047;J[(e+(d<<2)|0)+780>>2]=0}Zk(e+768|0,J[(e+784|0)+(l<<2)>>2]);$k(e+752|0,i,k,j,m,0,0,1342177280,1075633366);Sk(e+736|0,J[e+752>>2],J[e+756>>2],J[e+760>>2],J[e+764>>2],J[e+768>>2],J[e+772>>2],J[e+776>>2],J[e+780>>2]);j=J[e+744>>2];m=J[e+748>>2];i=J[e+736>>2];k=J[e+740>>2];g=g+1|0;if((g|0)!=4){continue}break}Yk(e+720|0,f);$k(e+704|0,i,k,j,m,J[e+720>>2],J[e+724>>2],J[e+728>>2],J[e+732>>2]);j=J[e+712>>2];m=J[e+716>>2];i=0;k=0;l=J[e+704>>2];o=J[e+708>>2];x=u+113|0;n=x-D|0;q=(n|0)<(E|0);g=q?(n|0)>0?n:0:E;if((g|0)<=112){break V}break T}u=j+u|0;n=d;if((d|0)==(h|0)){continue}break}m=1e9>>>j|0;p=-1<<j^-1;g=0;n=h;while(1){k=g;g=(e+784|0)+(h<<2)|0;o=J[g>>2];k=k+(o>>>j|0)|0;J[g>>2]=k;k=!k&(h|0)==(n|0);n=k?n+1&2047:n;q=k?q-9|0:q;g=P(m,o&p);h=h+1&2047;if((h|0)!=(d|0)){continue}break}if(!g){continue}if((i|0)!=(n|0)){J[(e+784|0)+(d<<2)>>2]=g;d=i;continue U}J[l>>2]=J[l>>2]|1;continue}break}break}Xk(e+656|0,zk(225-g|0));Ak(e+688|0,J[e+656>>2],J[e+660>>2],J[e+664>>2],J[e+668>>2],l,o,j,m);y=J[e+696>>2];z=J[e+700>>2];A=J[e+688>>2];C=J[e+692>>2];Xk(e+640|0,zk(113-g|0));Ck(e+672|0,l,o,j,m,J[e+640>>2],J[e+644>>2],J[e+648>>2],J[e+652>>2]);i=J[e+672>>2];k=J[e+676>>2];r=J[e+680>>2];t=J[e+684>>2];bl(e+624|0,l,o,j,m,i,k,r,t);Sk(e+608|0,A,C,y,z,J[e+624>>2],J[e+628>>2],J[e+632>>2],J[e+636>>2]);j=J[e+616>>2];m=J[e+620>>2];l=J[e+608>>2];o=J[e+612>>2]}p=h+4&2047;Y:{if((p|0)==(d|0)){break Y}p=J[(e+784|0)+(p<<2)>>2];Z:{if(p>>>0<=499999999){if(!p&(h+5&2047)==(d|0)){break Z}Xk(e+496|0,+(f|0)*.25);Sk(e+480|0,i,k,r,t,J[e+496>>2],J[e+500>>2],J[e+504>>2],J[e+508>>2]);r=J[e+488>>2];t=J[e+492>>2];i=J[e+480>>2];k=J[e+484>>2];break Z}if((p|0)!=5e8){Xk(e+592|0,+(f|0)*.75);Sk(e+576|0,i,k,r,t,J[e+592>>2],J[e+596>>2],J[e+600>>2],J[e+604>>2]);r=J[e+584>>2];t=J[e+588>>2];i=J[e+576>>2];k=J[e+580>>2];break Z}I=+(f|0);if((h+5&2047)==(d|0)){Xk(e+528|0,I*.5);Sk(e+512|0,i,k,r,t,J[e+528>>2],J[e+532>>2],J[e+536>>2],J[e+540>>2]);r=J[e+520>>2];t=J[e+524>>2];i=J[e+512>>2];k=J[e+516>>2];break Z}Xk(e+560|0,I*.75);Sk(e+544|0,i,k,r,t,J[e+560>>2],J[e+564>>2],J[e+568>>2],J[e+572>>2]);r=J[e+552>>2];t=J[e+556>>2];i=J[e+544>>2];k=J[e+548>>2]}if((g|0)>111){break Y}Ck(e+464|0,i,k,r,t,0,0,0,1073676288);if(Uk(J[e+464>>2],J[e+468>>2],J[e+472>>2],J[e+476>>2],0,0,0,0)){break Y}Sk(e+448|0,i,k,r,t,0,0,0,1073676288);r=J[e+456>>2];t=J[e+460>>2];i=J[e+448>>2];k=J[e+452>>2]}Sk(e+432|0,l,o,j,m,i,k,r,t);bl(e+416|0,J[e+432>>2],J[e+436>>2],J[e+440>>2],J[e+444>>2],A,C,y,z);j=J[e+424>>2];m=J[e+428>>2];l=J[e+416>>2];o=J[e+420>>2];_:{if((F-2|0)>=(x&2147483647)){break _}J[e+408>>2]=j;J[e+412>>2]=m&2147483647;J[e+400>>2]=l;J[e+404>>2]=o;$k(e+384|0,l,o,j,m,0,0,0,1073610752);d=Vk(J[e+400>>2],J[e+404>>2],J[e+408>>2],J[e+412>>2],1081081856);d=(d|0)>=0;j=d?J[e+392>>2]:j;m=d?J[e+396>>2]:m;l=d?J[e+384>>2]:l;o=d?J[e+388>>2]:o;u=d+u|0;if(!((Uk(i,k,r,t,0,0,0,0)|0)!=0&(d?q&(g|0)!=(n|0):q))&(u+110|0)<=(F|0)){break _}J[4842]=68}Bk(e+368|0,l,o,j,m,u);j=J[e+368>>2];m=J[e+372>>2];i=J[e+380>>2];d=J[e+376>>2]}J[s+40>>2]=d;J[s+44>>2]=i;J[s+32>>2]=j;J[s+36>>2]=m;fa=e+8976|0;i=J[s+40>>2];k=J[s+44>>2];j=J[s+32>>2];m=J[s+36>>2];break a;case 3:break j;default:break m}}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}J[4842]=28;break i}$:{d=J[h+4>>2];aa:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break aa}d=yk(h)}if((d|0)==40){g=1;break $}k=2147450880;if(J[h+116>>2]<0){break a}J[h+4>>2]=J[h+4>>2]-1;break a}while(1){ba:{d=J[h+4>>2];ca:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break ca}d=yk(h)}if(!(d-48>>>0<10|d-65>>>0<26|(d|0)==95)){if(d-97>>>0>=26){break ba}}g=g+1|0;continue}break}k=2147450880;if((d|0)==41){break a}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(!g){break a}while(1){g=g-1|0;if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(g){continue}break}break a}J[h+112>>2]=0;J[h+116>>2]=0;d=J[h+44>>2]-J[h+4>>2]|0;J[h+120>>2]=d;J[h+124>>2]=d>>31;J[h+104>>2]=J[h+8>>2]}}J[w>>2]=j;J[w+4>>2]=m;J[w+8>>2]=i;J[w+12>>2]=k;fa=s+48|0;d=J[w+8>>2];j=J[w+12>>2];i=J[w>>2];l=J[w+4>>2];if(c){J[c>>2]=((J[w+20>>2]+J[w+136>>2]|0)-J[w+60>>2]|0)+b}J[a+8>>2]=d;J[a+12>>2]=j;J[a>>2]=i;J[a+4>>2]=l;fa=w+160|0}function jh(a,b){a=a|0;b=b|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,t=0;l=fa-32|0;fa=l;d=J[b+8>>2];a:{b:{if(K[b+352|0]){d=Wj(d);f=J[b+12>>2];J[b+12>>2]=d;if(f){break b}break a}d=Vj(d);f=J[b+12>>2];J[b+12>>2]=d;if(!f){break a}}Tg(f)}c:{d=J[b+12>>2];d:{if(!(J[d+40>>2]!=((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)?d:0)){b=pl(32);H[b+29|0]=0;d=K[1828]|K[1829]<<8|(K[1830]<<16|K[1831]<<24);c=K[1824]|K[1825]<<8|(K[1826]<<16|K[1827]<<24);H[b+21|0]=c;H[b+22|0]=c>>>8;H[b+23|0]=c>>>16;H[b+24|0]=c>>>24;H[b+25|0]=d;H[b+26|0]=d>>>8;H[b+27|0]=d>>>16;H[b+28|0]=d>>>24;d=K[1823]|K[1824]<<8|(K[1825]<<16|K[1826]<<24);c=K[1819]|K[1820]<<8|(K[1821]<<16|K[1822]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1815]|K[1816]<<8|(K[1817]<<16|K[1818]<<24);c=K[1811]|K[1812]<<8|(K[1813]<<16|K[1814]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1807]|K[1808]<<8|(K[1809]<<16|K[1810]<<24);c=K[1803]|K[1804]<<8|(K[1805]<<16|K[1806]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;J[a>>2]=-1;tl(a+4|0,b,29);hl(b);break d}j=b+200|0;d=j;J[d+128>>2]=2;J[d+132>>2]=7;J[d+64>>2]=b;c=ka[J[J[b>>2]+32>>2]](b)|0;J[d+88>>2]=c;c=J[c+28>>2]-J[c+24>>2]>>2;e=J[d+108>>2];h=J[d+104>>2];d=e-h>>2;e:{if(c>>>0>d>>>0){La(j+104|0,c-d|0);h=J[j+104>>2];e=J[j+108>>2];break e}if(c>>>0>=d>>>0){break e}e=(c<<2)+h|0;J[j+108>>2]=e}if((e|0)!=(h|0)){h=0;while(1){n=J[j+104>>2];q=n+(h<<2)|0;d=J[j+88>>2];f=-1;f:{if((h|0)==-1){break f}f=0;c=J[J[d+24>>2]+(h<<2)>>2];if((c|0)==-1){break f}k=J[d+12>>2];g=1;d=c;while(1){f=f+1|0;e=g;g:{if(e&255){g=0;i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;if((d|0)==-1){d=c;break g}i=J[k+(d<<2)>>2];if((i|0)==-1){d=c;break g}d=c;p=i+1|0;i=(p>>>0)%3|0?p:i-2|0;if((i|0)==-1){break g}g=e;d=i;if((c|0)!=(d|0)){break g}break f}h:{if((d>>>0)%3|0){d=d-1|0;break h}d=d+2|0;if((d|0)==-1){break f}}d=J[k+(d<<2)>>2];if((d|0)==-1){break f}d=(d>>>0)%3|0?d-1|0:d+2|0;g=0}if((d|0)!=-1){continue}break}}J[q>>2]=f;h=h+1|0;if(h>>>0<J[j+108>>2]-n>>2>>>0){continue}break}}c=j+92|0;h=J[j+88>>2];e=J[h>>2];d=J[h+4>>2]-e>>2;f=J[j+92>>2];g=J[j+96>>2]-f>>2;i:{if(d>>>0>g>>>0){lh(c,d-g|0);h=J[j+88>>2];e=J[h>>2];break i}if(d>>>0>=g>>>0){break i}J[j+96>>2]=f+(d<<2)}d=J[h+4>>2];j:{if((d|0)==(e|0)){break j}d=d-e>>2;g=d>>>0<=1?1:d;i=g&3;d=J[c>>2];h=0;if(g-1>>>0>=3){g=g&-4;f=0;while(1){c=h<<2;J[c+d>>2]=J[c+e>>2];k=c|4;J[k+d>>2]=J[e+k>>2];k=c|8;J[k+d>>2]=J[e+k>>2];c=c|12;J[c+d>>2]=J[c+e>>2];h=h+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}if(!i){break j}while(1){c=h<<2;J[c+d>>2]=J[c+e>>2];h=h+1|0;m=m+1|0;if((i|0)!=(m|0)){continue}break}}c=(J[j+132>>2]-J[j+128>>2]|0)+1|0;e=J[j+140>>2];d=J[j+136>>2];g=(e-d|0)/12|0;k:{if(c>>>0>g>>>0){h=0;c=c-g|0;f=J[j+144>>2];d=J[j+140>>2];if(c>>>0<=(f-d|0)/12>>>0){if(c){e=d;d=P(c,12)-12|0;d=(d-((d>>>0)%12|0)|0)+12|0;d=pk(e,0,d)+d|0}J[j+140>>2]=d;break k}l:{m:{n:{e=J[j+136>>2];i=(d-e|0)/12|0;g=i+c|0;if(g>>>0<357913942){f=(f-e|0)/12|0;m=f<<1;f=f>>>0>=178956970?357913941:g>>>0<m>>>0?m:g;if(f){if(f>>>0>=357913942){break n}h=pl(P(f,12))}g=P(i,12)+h|0;c=P(c,12)-12|0;i=(c-((c>>>0)%12|0)|0)+12|0;c=pk(g,0,i);i=c+i|0;f=P(f,12)+h|0;if((d|0)==(e|0)){break m}while(1){g=g-12|0;d=d-12|0;J[g>>2]=J[d>>2];J[g+4>>2]=J[d+4>>2];J[g+8>>2]=J[d+8>>2];J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if((d|0)!=(e|0)){continue}break}J[j+144>>2]=f;e=J[j+140>>2];J[j+140>>2]=i;d=J[j+136>>2];J[j+136>>2]=g;if((d|0)==(e|0)){break l}while(1){c=e-12|0;g=J[c>>2];if(g){J[e-8>>2]=g;hl(g)}e=c;if((c|0)!=(d|0)){continue}break}break l}break c}Ya();C()}J[j+144>>2]=f;J[j+140>>2]=i;J[j+136>>2]=c}if(d){hl(d)}break k}if(c>>>0<g>>>0){c=d+P(c,12)|0;if((c|0)!=(e|0)){while(1){d=e-12|0;g=J[d>>2];if(g){J[e-8>>2]=g;hl(g)}e=d;if((d|0)!=(c|0)){continue}break}}J[j+140>>2]=c}}d=J[b+12>>2];yb((J[d+28>>2]-J[d+24>>2]>>2)-J[d+44>>2]|0,J[J[b+4>>2]+44>>2]);d=J[b+12>>2];yb(((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)-J[d+40>>2]|0,J[J[b+4>>2]+44>>2]);d=J[b+8>>2];c=J[d+100>>2];d=J[d+96>>2];H[l+16|0]=0;m=b+28|0;c=(c-d|0)/12|0;d=l+16|0;Jg(m,c,d);c=J[b+12>>2];e=J[c+28>>2];c=J[c+24>>2];J[l+16>>2]=-1;Ig(b+52|0,e-c>>2,d);d=J[b+40>>2];J[b+44>>2]=d;g=J[b+12>>2];c=J[g+4>>2]-J[g>>2]>>2;c=c-((c>>>0)%3|0)|0;o:{if(c>>>0<=J[b+48>>2]-d>>2>>>0){break o}if(c>>>0>=1073741824){break c}e=c<<2;c=pl(e);J[b+44>>2]=c;J[b+40>>2]=c;J[b+48>>2]=c+e;if(!d){break o}hl(d);g=J[b+12>>2]}d=J[g+28>>2];c=J[g+24>>2];H[l+16|0]=0;Jg(b+84|0,d-c>>2,l+16|0);J[b+164>>2]=-1;J[b+168>>2]=0;J[b+100>>2]=J[b+96>>2];J[b+112>>2]=J[b+108>>2];if(J[b+132>>2]){g=J[b+128>>2];if(g){while(1){d=J[g>>2];hl(g);g=d;if(d){continue}break}}g=0;J[b+128>>2]=0;d=J[b+124>>2];p:{if(!d){break p}if(d>>>0>=4){f=d&-4;e=0;while(1){c=g<<2;J[c+J[b+120>>2]>>2]=0;J[J[b+120>>2]+(c|4)>>2]=0;J[J[b+120>>2]+(c|8)>>2]=0;J[J[b+120>>2]+(c|12)>>2]=0;g=g+4|0;e=e+4|0;if((f|0)!=(e|0)){continue}break}}d=d&3;if(!d){break p}f=0;while(1){J[J[b+120>>2]+(g<<2)>>2]=0;g=g+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}J[b+132>>2]=0}J[b+144>>2]=0;d=J[b+12>>2];c=J[d+28>>2];d=J[d+24>>2];J[l+16>>2]=-1;Ig(b+152|0,c-d>>2,l+16|0);d=J[b+72>>2];J[b+76>>2]=d;q=b+72|0;c=J[b+12>>2];c=J[c+4>>2]-J[c>>2]|0;e=(c>>2>>>0)/3|0;q:{if(e>>>0<=J[b+80>>2]-d>>2>>>0){break q}if((c|0)<0){break c}e=e<<2;c=pl(e);J[b+76>>2]=c;J[b+72>>2]=c;J[b+80>>2]=c+e;if(!d){break q}hl(d)}J[b- -64>>2]=0;if(!Ug(b)){b=pl(32);H[b+29|0]=0;d=K[1768]|K[1769]<<8|(K[1770]<<16|K[1771]<<24);c=K[1764]|K[1765]<<8|(K[1766]<<16|K[1767]<<24);H[b+21|0]=c;H[b+22|0]=c>>>8;H[b+23|0]=c>>>16;H[b+24|0]=c>>>24;H[b+25|0]=d;H[b+26|0]=d>>>8;H[b+27|0]=d>>>16;H[b+28|0]=d>>>24;d=K[1763]|K[1764]<<8|(K[1765]<<16|K[1766]<<24);c=K[1759]|K[1760]<<8|(K[1761]<<16|K[1762]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1755]|K[1756]<<8|(K[1757]<<16|K[1758]<<24);c=K[1751]|K[1752]<<8|(K[1753]<<16|K[1754]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1747]|K[1748]<<8|(K[1749]<<16|K[1750]<<24);c=K[1743]|K[1744]<<8|(K[1745]<<16|K[1746]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;J[a>>2]=-1;tl(a+4|0,b,29);hl(b);break d}g=0;c=b;r:{if(K[b+352|0]){break r}b=J[c+8>>2];e=J[b+12>>2]-J[b+8>>2]|0;f=e>>2;b=f-1|0;d=J[c+176>>2];h=J[c+172>>2];i=(d-h|0)/136|0;s:{if(b>>>0>i>>>0){ah(c+172|0,b-i|0);break s}if(b>>>0>=i>>>0){break s}i=h+P(b,136)|0;if((i|0)!=(d|0)){while(1){b=d-136|0;h=J[b+116>>2];if(h){J[d-16>>2]=h;hl(h)}h=J[d-32>>2];if(h){J[d-28>>2]=h;hl(h)}bh(d-132|0);d=b;if((b|0)!=(i|0)){continue}break}}J[c+176>>2]=i}if((e|0)==4|(e|0)<=0){break r}i=(f|0)<=1?1:f;d=0;t:{while(1){h=J[J[J[c+8>>2]+8>>2]+(d<<2)>>2];if(J[h+56>>2]){k=P(g,136);b=k+J[c+172>>2]|0;J[b>>2]=d;e=J[b+104>>2];J[b+108>>2]=e;f=J[c+12>>2];f=J[f+4>>2]-J[f>>2]|0;n=f>>2;u:{if(n>>>0<=J[b+112>>2]-e>>2>>>0){break u}if((f|0)<0){break t}f=pl(f);J[b+108>>2]=f;J[b+104>>2]=f;J[b+112>>2]=f+(n<<2);if(!e){break u}hl(e)}b=k+J[c+172>>2]|0;J[b+128>>2]=0;Uj(b+4|0,J[c+8>>2],J[c+12>>2],h);g=g+1|0}d=d+1|0;if((i|0)!=(d|0)){continue}break}break r}break c}b=(J[c+176>>2]-J[c+172>>2]|0)/136|0;H[l+31|0]=b;d=J[J[c+4>>2]+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){Ba(d,J[d+4>>2],l+31|0,l+32|0);b=K[l+31|0]}J[c+284>>2]=b&255;b=J[c+12>>2];g=J[b>>2];b=J[b+4>>2];Vg(j);e=0;J[l+24>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;d=0;v:{w:{x:{b=b-g|0;if((b|0)>0){b=b>>>2|0;p=b>>>0<=1?1:b;g=0;while(1){b=(g>>>0)/3|0;s=b>>>5<<2;t=1<<b;y:{if(J[s+J[m>>2]>>2]&t){break y}if(Nj(J[c+12>>2],b)){break y}J[l+8>>2]=0;b=Wg(c,b,l+8|0);De(j,b);i=J[l+8>>2];if(b){h=-1;f=-1;k=-1;z:{if((i|0)==-1){break z}n=J[J[c+12>>2]>>2];b=n+(i<<2)|0;h=i+1|0;h=(h>>>0)%3|0?h:i-2|0;if((h|0)!=-1){f=J[n+(h<<2)>>2]}h=J[b>>2];A:{if((i>>>0)%3|0){b=i-1|0;break A}b=i+2|0;k=-1;if((b|0)==-1){break z}}k=J[n+(b<<2)>>2]}b=J[c+84>>2];n=b+(h>>>3&536870908)|0;J[n>>2]=J[n>>2]|1<<h;h=b+(f>>>3&536870908)|0;J[h>>2]=J[h>>2]|1<<f;b=b+(k>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<<k;b=J[c+100>>2];h=J[c+104>>2];B:{if(b>>>0<h>>>0){J[b>>2]=1;J[c+100>>2]=b+4;break B}k=b;b=J[c+96>>2];k=k-b|0;n=k>>2;f=n+1|0;if(f>>>0>=1073741824){break c}r=n<<2;h=h-b|0;n=h>>>1|0;f=h>>>0>=2147483644?1073741823:f>>>0<n>>>0?n:f;if(f){if(f>>>0>=1073741824){break x}h=pl(f<<2)}else{h=0}n=r+h|0;J[n>>2]=1;r=f<<2;f=ok(h,b,k);J[c+104>>2]=r+f;J[c+100>>2]=n+4;J[c+96>>2]=f;if(!b){break B}hl(b)}b=s+J[m>>2]|0;J[b>>2]=t|J[b>>2];h=-1;if((i|0)!=-1){b=i+1|0;h=(b>>>0)%3|0?b:i-2|0}C:{if(e>>>0<o>>>0){J[e>>2]=h;e=e+4|0;J[l+20>>2]=e;break C}f=e-d>>2;b=f+1|0;if(b>>>0>=1073741824){break c}k=o-d|0;o=k>>>1|0;b=k>>>0>=2147483644?1073741823:b>>>0<o>>>0?o:b;if(b){if(b>>>0>=1073741824){break x}k=pl(b<<2)}else{k=0}f=k+(f<<2)|0;J[f>>2]=h;o=k+(b<<2)|0;b=f+4|0;if((d|0)!=(e|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((d|0)!=(e|0)){continue}break}}J[l+24>>2]=o;J[l+20>>2]=b;J[l+16>>2]=f;if(d){hl(d)}d=f;e=b}if((i|0)==-1){break y}b=i+1|0;b=(b>>>0)%3|0?b:i-2|0;if((b|0)==-1){break y}b=J[J[J[c+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break y}f=(b>>>0)/3|0;if(J[J[m>>2]+(f>>>3&268435452)>>2]>>>f&1){break y}if(kh(c,b)){break y}break w}if((i|0)!=-1){b=i+1|0;b=(b>>>0)%3|0?b:i-2|0}else{b=-1}Yg(c,b,1);if(!kh(c,J[l+8>>2])){break w}}g=g+1|0;if((p|0)!=(g|0)){continue}break}}g=J[c+72>>2];b=J[c+76>>2];D:{if((g|0)==(b|0)){break D}f=b-4|0;if(g>>>0>=f>>>0){break D}while(1){i=J[g>>2];J[g>>2]=J[f>>2];J[f>>2]=i;f=f-4|0;g=g+4|0;if(f>>>0>g>>>0){continue}break}}Zg(q,b,d,e);E:{if(J[c+172>>2]==J[c+176>>2]){break E}b=J[c+8>>2];e=J[b+100>>2];b=J[b+96>>2];H[l+8|0]=0;Jg(m,(e-b|0)/12|0,l+8|0);g=J[c+72>>2];b=J[c+76>>2];if((g|0)==(b|0)){break E}while(1){_g(c,J[g>>2]);g=g+4|0;if((b|0)!=(g|0)){continue}break}}m=0;g=0;b=j+32|0;Ee(j,b);if(!(!J[j+80>>2]|J[j+84>>2]<=0)){while(1){Ee(J[j+80>>2]+(m<<5)|0,b);m=m+1|0;if((m|0)<J[j+84>>2]){continue}break}}m=J[j+136>>2];if((m|0)!=J[j+140>>2]){while(1){e=P(g,12);f=e+m|0;yb(J[f+4>>2]-J[f>>2]>>2,b);m=J[j+136>>2];e=e+m|0;f=J[e+4>>2];e=J[e>>2];if((f|0)!=(e|0)){kf(e,f-e>>2,1,0,b);m=J[j+136>>2]}g=g+1|0;if(g>>>0<(J[j+140>>2]-m|0)/12>>>0){continue}break}}yb(J[c+324>>2],J[J[c+4>>2]+44>>2]);yb(J[c+168>>2],J[J[c+4>>2]+44>>2]);if(!$g(c)){b=pl(32);H[b+28|0]=0;c=K[1909]|K[1910]<<8|(K[1911]<<16|K[1912]<<24);H[b+24|0]=c;H[b+25|0]=c>>>8;H[b+26|0]=c>>>16;H[b+27|0]=c>>>24;c=K[1905]|K[1906]<<8|(K[1907]<<16|K[1908]<<24);e=K[1901]|K[1902]<<8|(K[1903]<<16|K[1904]<<24);H[b+16|0]=e;H[b+17|0]=e>>>8;H[b+18|0]=e>>>16;H[b+19|0]=e>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1897]|K[1898]<<8|(K[1899]<<16|K[1900]<<24);e=K[1893]|K[1894]<<8|(K[1895]<<16|K[1896]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1889]|K[1890]<<8|(K[1891]<<16|K[1892]<<24);e=K[1885]|K[1886]<<8|(K[1887]<<16|K[1888]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,28);hl(b);break v}b=J[J[c+4>>2]+44>>2];e=J[b+20>>2];if(!J[b+16>>2]&(e|0)<=0|(e|0)<0){Ba(b,J[b+4>>2],J[c+232>>2],J[c+236>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break v}Ya();C()}b=pl(48);H[b+32|0]=0;c=K[1703]|K[1704]<<8|(K[1705]<<16|K[1706]<<24);e=K[1699]|K[1700]<<8|(K[1701]<<16|K[1702]<<24);H[b+24|0]=e;H[b+25|0]=e>>>8;H[b+26|0]=e>>>16;H[b+27|0]=e>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1695]|K[1696]<<8|(K[1697]<<16|K[1698]<<24);e=K[1691]|K[1692]<<8|(K[1693]<<16|K[1694]<<24);H[b+16|0]=e;H[b+17|0]=e>>>8;H[b+18|0]=e>>>16;H[b+19|0]=e>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1687]|K[1688]<<8|(K[1689]<<16|K[1690]<<24);e=K[1683]|K[1684]<<8|(K[1685]<<16|K[1686]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1679]|K[1680]<<8|(K[1681]<<16|K[1682]<<24);e=K[1675]|K[1676]<<8|(K[1677]<<16|K[1678]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,32);hl(b)}if(!d){break d}hl(d)}fa=l+32|0;return}Ia();C()}function ad(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,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,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;i=fa-224|0;fa=i;J[a+8>>2]=e;B=a+32|0;h=J[B>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0<e>>>0){La(B,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){d=g;break c}h=1;f=d-1|0;s=f&1;d:{if((d|0)==2){d=g;break d}y=f&-2;d=g;while(1){j=(h<<2)+b|0;f=J[j+4>>2];j=J[j>>2];l=(j|0)<(d|0);d=l?j:d;t=(d|0)>(f|0);d=t?f:d;j=l?g:(g|0)<(j|0)?j:g;g=t?j:(f|0)>(j|0)?f:j;h=h+2|0;k=k+2|0;if((y|0)!=(k|0)){continue}break}}if(!s){break c}f=J[(h<<2)+b>>2];h=(f|0)<(d|0);d=h?f:d;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=d;f=g-d|0;d=(g>>31)-((d>>31)+(d>>>0>g>>>0)|0)|0;if(!d&f>>>0>2147483646|d){break b}d=f+1|0;J[a+20>>2]=d;f=d>>>1|0;J[a+24>>2]=f;J[a+28>>2]=0-f;if(d&1){break b}J[a+24>>2]=f-1}Z=J[a+52>>2];z=J[a+48>>2];J[i+184>>2]=0;J[i+188>>2]=0;J[i+176>>2]=0;J[i+180>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;e:{if(!e){g=0;d=0;break e}La(i+144|0,e);g=J[i+156>>2];d=J[i+160>>2]}d=d-g>>2;f:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break f}J[i+160>>2]=(e<<2)+g;break f}La(i+144|12,e-d|0)}f=J[i+168>>2];d=J[i+172>>2]-f>>2;g:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break g}J[i+172>>2]=f+(e<<2);break g}La(i+168|0,e-d|0)}h:{i:{f=J[i+180>>2];d=J[i+184>>2]-f>>2;j:{k:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[i+184>>2]=f+(e<<2)}J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0;if(e){break k}d=1;break j}La(i+180|0,e-d|0);J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0}if(e>>>0>=1073741824){break i}d=e<<2;f=pl(d);J[i+128>>2]=f;h=d+f|0;J[i+136>>2]=h;pk(f,0,d);J[i+132>>2]=h;d=0}A=a+152|0;h=J[a+152>>2];f=J[a+156>>2]-h>>2;l:{m:{if(f>>>0<e>>>0){La(A,e-f|0);J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;d=i- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;break m}if(e>>>0<f>>>0){J[a+156>>2]=h+(e<<2)}J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;f=i- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;s=0;if(d){break l}}d=e<<2;q=pl(d);s=pk(q,0,d)+d|0}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break h}L=e&-2;M=e&1;_=e&-4;S=e&3;N=e-1|0;U=e<<2;O=a+112|0;y=d>>>2|0;Q=s-q|0;D=Q>>2;X=(Q-4&-4)+4|0;$=i+36|0;aa=i+24|0;while(1){f=J[a+56>>2];d=J[f>>2];n:{o:{t=y-1|0;if(t>>>0<J[f+4>>2]-d>>2>>>0){f=0;j=0;k=J[d+(t<<2)>>2];p:{if((k|0)==-1){break p}o=1;d=k+2|0;j=(k>>>0)%3|0;u=j?k-1|0:d;E=1<<u;l=J[z>>2];G=l+(u>>>3&536870908)|0;h=0;I=(j|0)!=0|(d|0)!=-1;d=k;while(1){q:{if(J[l+(d>>>3&536870908)>>2]>>>d&1){break q}j=J[J[J[z+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break q}n=J[Z>>2];g=J[z+28>>2];m=J[n+(J[g+(j<<2)>>2]<<2)>>2];if((m|0)>=(t|0)){break q}p=j+1|0;p=J[n+(J[g+(((p>>>0)%3|0?p:j-2|0)<<2)>>2]<<2)>>2];if((p|0)>=(t|0)){break q}g=J[n+(J[g+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(t|0)){break q}r:{if(!e){break r}j=J[(i+144|0)+P(h,12)>>2];n=P(e,g);p=P(e,p);x=P(e,m);g=0;m=0;if(N){while(1){J[j+(g<<2)>>2]=(J[(g+n<<2)+b>>2]+J[(g+p<<2)+b>>2]|0)-J[(g+x<<2)+b>>2];w=g|1;J[j+(w<<2)>>2]=(J[(n+w<<2)+b>>2]+J[(p+w<<2)+b>>2]|0)-J[(x+w<<2)+b>>2];g=g+2|0;m=m+2|0;if((L|0)!=(m|0)){continue}break}}if(!M){break r}J[j+(g<<2)>>2]=(J[(g+n<<2)+b>>2]+J[(g+p<<2)+b>>2]|0)-J[(g+x<<2)+b>>2]}j=4;h=h+1|0;if((h|0)==4){break p}}s:{if(o&1){g=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:g;if((j|0)==-1|J[l+(j>>>3&536870908)>>2]>>>j&1){break s}j=J[J[J[z+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break s}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break s}t:{if((d>>>0)%3|0){g=d-1|0;break t}g=d+2|0;d=-1;if((g|0)==-1){break s}}d=-1;if(J[l+(g>>>3&536870908)>>2]>>>g&1){break s}j=J[J[J[z+64>>2]+12>>2]+(g<<2)>>2];if((j|0)==-1){break s}if((j>>>0)%3|0){d=j-1|0;break s}d=j+2|0}if((d|0)==(k|0)){j=h;break p}if((d|0)==-1&o){if(!I){j=h;break p}if(E&J[G>>2]){j=h;break p}d=J[J[J[z+64>>2]+12>>2]+(u<<2)>>2];if((d|0)==-1){j=h;break p}o=0;d=(d>>>0)%3|0?d-1|0:d+2|0}j=h;if((d|0)!=-1){continue}break}}H[i+16|0]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;I=P(e,t)<<2;x=I+b|0;k=(P(y-2|0,e)<<2)+b|0;l=J[A>>2];d=0;if(e){while(1){g=f<<2;h=J[g+k>>2]-J[g+x>>2]|0;J[g+q>>2]=h;J[g+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=d;d=h>>31;d=g+((d^h)-d|0)|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=i+200|0;ef(f,O,l,e);l=hf(f);h=J[f+12>>2];f=J[f+16>>2];h=(((h-f|0)+1|0)/64|0)+f<<3;n=f<<3;f=h+n|0;h=(h>>31)+(n>>31)|0;g=ja+(f>>>0<n>>>0?h+1|0:h)|0;h=f;f=f+l|0;h=h>>>0>f>>>0?g+1|0:g;E=(j|0)<=0;if(!E){o=(j<<3)-8|0;g=o+(i+48|0)|0;n=g;l=J[g>>2];g=J[g+4>>2];l=j+l|0;g=l>>>0<j>>>0?g+1|0:g;J[n>>2]=l;J[n+4>>2]=g;v=W(df(l,J[o+(i+80|0)>>2])*(+(l>>>0)+ +(g|0)*4294967296));u:{if(R(v)<0x8000000000000000){l=R(v)>=1?~~(v>0?T(V(v*2.3283064365386963e-10),4294967295):W((v-+(~~v>>>0>>>0))*2.3283064365386963e-10))>>>0:0;g=~~v>>>0;break u}l=-2147483648;g=0}f=f+g|0;h=f}J[i+20>>2]=0;H[i+16|0]=0;J[i+8>>2]=f;J[i+12>>2]=d;Qa(aa,k,k+U|0);ec($,q,s);v:{w:{x:{if(E){break x}n=(i+124|0)+j|0;l=n-1|0;Y=j<<3;d=Y-8|0;G=d+(i+48|0)|0;ba=d+(i+80|0)|0;o=1;w=0;while(1){d=i+124|0;pk(d,1,j);w=w+1|0;pk(d,0,w);y:{z:while(1){if(e){pk(J[i+128>>2],0,U)}m=0;d=J[i+128>>2];u=0;while(1){if(!K[(i+124|0)+m|0]){A:{if(!e){break A}f=J[(i+144|0)+P(m,12)>>2];h=0;g=0;k=0;if(e>>>0>3){while(1){p=g<<2;r=p+d|0;J[r>>2]=J[r>>2]+J[f+p>>2];r=p|4;F=r+d|0;J[F>>2]=J[F>>2]+J[f+r>>2];r=p|8;F=r+d|0;J[F>>2]=J[F>>2]+J[f+r>>2];p=p|12;r=p+d|0;J[r>>2]=J[r>>2]+J[f+p>>2];g=g+4|0;k=k+4|0;if((_|0)!=(k|0)){continue}break}}if(!S){break A}while(1){k=g<<2;p=k+d|0;J[p>>2]=J[p>>2]+J[f+k>>2];g=g+1|0;h=h+1|0;if((S|0)!=(h|0)){continue}break}}u=1<<m|u}m=m+1|0;if((m|0)!=(j|0)){continue}break}f=J[i+128>>2];B:{C:{D:{if(e){g=0;d=0;if(N){break D}break C}k=J[A>>2];h=0;break B}while(1){h=g<<2;k=h+f|0;J[k>>2]=J[k>>2]/(o|0);h=(h|4)+f|0;J[h>>2]=J[h>>2]/(o|0);g=g+2|0;d=d+2|0;if((L|0)!=(d|0)){continue}break}}if(M){d=(g<<2)+f|0;J[d>>2]=J[d>>2]/(o|0)}k=J[A>>2];f=J[i+128>>2];d=0;h=0;if(!e){break B}while(1){m=d<<2;g=J[m+f>>2]-J[m+x>>2]|0;J[m+q>>2]=g;J[k+m>>2]=(g|0)<0?(g^-1)<<1|1:g<<1;m=h;h=g>>31;h=m+((h^g)-h|0)|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=i+200|0;ef(d,O,k,e);k=hf(d);g=J[d+12>>2];d=J[d+16>>2];g=(((g-d|0)+1|0)/64|0)+d<<3;m=d<<3;d=g+m|0;d=d+k|0;k=J[G+4>>2];g=J[G>>2];v=W(df(g,J[ba>>2]+o|0)*(+(g>>>0)+ +(k|0)*4294967296));E:{if(R(v)<0x8000000000000000){g=~~v>>>0;break E}g=0}d=g+d|0;g=J[i+8>>2];if(!((d|0)>=(g|0)&((d|0)>(g|0)|(h|0)>=J[i+12>>2]))){J[i+20>>2]=o;H[i+16|0]=u;J[i+8>>2]=d;J[i+12>>2]=h;k=J[i+132>>2];m=k-f|0;g=m>>2;d=J[i+32>>2];h=J[i+24>>2];F:{if(g>>>0<=d-h>>2>>>0){m=J[i+28>>2]-h|0;d=m+f|0;u=m>>2;m=u>>>0<g>>>0?d:k;p=m-f|0;if((f|0)!=(m|0)){ok(h,f,p)}if(g>>>0>u>>>0){g=J[i+28>>2];if((k|0)==(m|0)){break F}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((k|0)!=(d|0)){continue}break}break F}g=h+p|0;break F}if(h){J[i+28>>2]=h;hl(h);J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;d=0}if((m|0)<0){break w}h=d>>>1|0;d=d>>>0>=2147483644?1073741823:g>>>0<h>>>0?h:g;if(d>>>0>=1073741824){break w}d=d<<2;g=pl(d);J[i+24>>2]=g;J[i+32>>2]=d+g;if((f|0)==(k|0)){break F}d=(m-4&-4)+4|0;g=nk(g,f,d)+d|0}J[i+28>>2]=g;d=J[i+44>>2];f=J[i+36>>2];G:{if(d-f>>2>>>0>=D>>>0){h=J[i+40>>2]-f|0;d=h+q|0;k=h>>2;h=k>>>0<D>>>0?d:s;g=h-q|0;if((h|0)!=(q|0)){ok(f,q,g)}if(k>>>0<D>>>0){g=J[i+40>>2];if((h|0)==(s|0)){break G}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((s|0)!=(d|0)){continue}break}break G}g=f+g|0;break G}if(f){J[i+40>>2]=f;hl(f);J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;d=0}if((Q|0)<0){break v}f=d>>>1|0;d=d>>>0>=2147483644?1073741823:f>>>0>D>>>0?f:D;if(d>>>0>=1073741824){break v}d=d<<2;g=pl(d);J[i+36>>2]=g;J[i+44>>2]=d+g;if((q|0)==(s|0)){break G}g=nk(g,q,X)+X|0}J[i+40>>2]=g}if((l|0)==(i+124|0)){break y}g=K[l|0];d=-1;while(1){k=g&255;f=d-1|0;h=f+n|0;g=K[h|0];if(k>>>0>g>>>0){f=n;while(1){f=f-1|0;k=K[f|0];if(k>>>0<=g>>>0){continue}break}H[h|0]=k;H[f|0]=g;if((d|0)==-1){continue z}g=d+n|0;d=l;while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}continue z}d=f;if((h|0)!=(i+124|0)){continue}break}break}f=i+124|0;g=f;d=l;if(f>>>0>=d>>>0){break y}while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}}o=o+1|0;if((j|0)!=(w|0)){continue}break}if((j|0)<=0){break x}h=J[i+20>>2];g=h;d=i+Y|0;f=g+J[d+72>>2]|0;h=J[d+76>>2]+(g>>31)|0;J[d+72>>2]=f;J[d+76>>2]=f>>>0<g>>>0?h+1|0:h}if(!e){break n}d=J[A>>2];g=0;f=J[i+36>>2];k=0;if(!N){break o}while(1){l=g<<2;h=J[l+f>>2];J[d+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;l=l|4;h=J[l+f>>2];J[d+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=g+2|0;k=k+2|0;if((L|0)!=(k|0)){continue}break}break o}Ia();C()}Ia();C()}Xc();C()}if(!M){break n}h=g<<2;f=J[h+f>>2];J[d+h>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(i+200|0,O,J[A>>2],e);H:{if(E){break H}g=P(j,12)+a|0;d=0;while(1){I:{k=J[g+56>>2];l=k<<5;f=J[g+52>>2];J:{if(!(K[i+16|0]>>>d&1)){h=f;K:{if((f|0)!=(l|0)){break K}if((f+1|0)<0){break I}L:{if(f>>>0<=1073741822){k=k<<6;l=(f&-32)+32|0;l=k>>>0>l>>>0?k:l;h=f;if(f>>>0>=l>>>0){break K}if((l|0)>=0){break L}break I}l=2147483647;h=-1;if(f>>>0>=2147483647){break K}}l=(l-1>>>5|0)+1|0;h=pl(l<<2);k=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;M:{N:{if(!f){break N}n=f>>>5|0;if(f>>>0>=32){ok(h,k,n<<2)}o=f&31;if(!o){break N}n=n<<2;m=n+h|0;o=-1>>>32-o|0;J[m>>2]=J[m>>2]&(o^-1)|o&J[k+n>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;break M}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;h=f;if(!k){break K}}hl(k);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<<h;break J}h=f;O:{if((f|0)!=(l|0)){break O}if((f+1|0)<0){break I}P:{if(f>>>0<=1073741822){k=k<<6;l=(f&-32)+32|0;l=k>>>0>l>>>0?k:l;h=f;if(f>>>0>=l>>>0){break O}if((l|0)<0){break I}break P}l=2147483647;h=-1;if(f>>>0>=2147483647){break O}}l=(l-1>>>5|0)+1|0;h=pl(l<<2);k=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;Q:{R:{if(!f){break R}n=f>>>5|0;if(f>>>0>=32){ok(h,k,n<<2)}o=f&31;if(!o){break R}n=n<<2;m=n+h|0;o=-1>>>32-o|0;J[m>>2]=J[m>>2]&(o^-1)|o&J[k+n>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;break Q}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;h=f;if(!k){break O}}hl(k);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;k=J[f>>2];ca=f,da=im(h)&k,J[ca>>2]=da}d=d+1|0;if((j|0)!=(d|0)){continue}break H}break}Ia();C()}g=J[a+8>>2];if((g|0)>0){n=c+I|0;d=J[B>>2];l=0;k=J[i+24>>2];while(1){h=d;if((g|0)>0){h=J[B>>2];g=0;while(1){f=g<<2;j=J[f+k>>2];o=J[a+16>>2];S:{if((j|0)>(o|0)){J[f+h>>2]=o;break S}f=f+h|0;o=J[a+12>>2];if((o|0)>(j|0)){J[f>>2]=o;break S}J[f>>2]=j}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}j=l<<2;f=j+n|0;j=J[j+x>>2]-J[h+j>>2]|0;J[f>>2]=j;T:{if((j|0)<J[a+28>>2]){g=j+J[a+20>>2]|0}else{if((j|0)<=J[a+24>>2]){break T}g=j-J[a+20>>2]|0}J[f>>2]=g}k=h;g=J[a+8>>2];l=l+1|0;if((g|0)>(l|0)){continue}break}}d=J[i+36>>2];if(d){J[i+40>>2]=d;hl(d)}d=J[i+24>>2];if(d){J[i+28>>2]=d;hl(d)}d=(y|0)>2;y=t;if(d){continue}break}break h}Ia();C()}if((e|0)>0){pk(J[i+144>>2],0,e<<2)}g=J[a+8>>2];if((g|0)>0){d=J[a+32>>2];l=0;k=J[i+144>>2];while(1){h=d;if((g|0)>0){h=J[B>>2];g=0;while(1){e=g<<2;f=J[e+k>>2];j=J[a+16>>2];U:{if((f|0)>(j|0)){J[e+h>>2]=j;break U}e=e+h|0;j=J[a+12>>2];if((j|0)>(f|0)){J[e>>2]=j;break U}J[e>>2]=f}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}f=l<<2;e=f+c|0;f=J[b+f>>2]-J[f+h>>2]|0;J[e>>2]=f;V:{if((f|0)<J[a+28>>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break V}f=f-J[a+20>>2]|0}J[e>>2]=f}k=h;g=J[a+8>>2];l=l+1|0;if((g|0)>(l|0)){continue}break}}if(q){hl(q)}a=J[i+128>>2];if(a){J[i+132>>2]=a;hl(a)}a=J[i+180>>2];if(a){J[i+184>>2]=a;hl(a)}a=J[i+168>>2];if(a){J[i+172>>2]=a;hl(a)}a=J[i+156>>2];if(a){J[i+160>>2]=a;hl(a)}a=J[i+144>>2];if(a){J[i+148>>2]=a;hl(a)}fa=i+224|0;return 1}function yd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,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,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;i=fa-224|0;fa=i;J[a+8>>2]=e;z=a+32|0;h=J[z>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0<e>>>0){La(z,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){d=g;break c}h=1;f=d-1|0;w=f&1;d:{if((d|0)==2){d=g;break d}u=f&-2;d=g;while(1){j=(h<<2)+b|0;f=J[j+4>>2];j=J[j>>2];l=(j|0)<(d|0);d=l?j:d;m=(d|0)>(f|0);d=m?f:d;j=l?g:(g|0)<(j|0)?j:g;g=m?j:(f|0)>(j|0)?f:j;h=h+2|0;k=k+2|0;if((u|0)!=(k|0)){continue}break}}if(!w){break c}f=J[(h<<2)+b>>2];h=(f|0)<(d|0);d=h?f:d;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=d;f=g-d|0;d=(g>>31)-((d>>31)+(d>>>0>g>>>0)|0)|0;if(!d&f>>>0>2147483646|d){break b}d=f+1|0;J[a+20>>2]=d;f=d>>>1|0;J[a+24>>2]=f;J[a+28>>2]=0-f;if(d&1){break b}J[a+24>>2]=f-1}Z=J[a+52>>2];N=J[a+48>>2];J[i+184>>2]=0;J[i+188>>2]=0;J[i+176>>2]=0;J[i+180>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;e:{if(!e){g=0;d=0;break e}La(i+144|0,e);g=J[i+156>>2];d=J[i+160>>2]}d=d-g>>2;f:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break f}J[i+160>>2]=(e<<2)+g;break f}La(i+144|12,e-d|0)}f=J[i+168>>2];d=J[i+172>>2]-f>>2;g:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break g}J[i+172>>2]=f+(e<<2);break g}La(i+168|0,e-d|0)}h:{i:{f=J[i+180>>2];d=J[i+184>>2]-f>>2;j:{k:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[i+184>>2]=f+(e<<2)}J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0;if(e){break k}d=1;break j}La(i+180|0,e-d|0);J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0}if(e>>>0>=1073741824){break i}d=e<<2;f=pl(d);J[i+128>>2]=f;h=d+f|0;J[i+136>>2]=h;pk(f,0,d);J[i+132>>2]=h;d=0}x=a+152|0;h=J[a+152>>2];f=J[a+156>>2]-h>>2;l:{m:{if(f>>>0<e>>>0){La(x,e-f|0);J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;d=i- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;break m}if(e>>>0<f>>>0){J[a+156>>2]=h+(e<<2)}J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;f=i- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;u=0;if(d){break l}}d=e<<2;r=pl(d);u=pk(r,0,d)+d|0}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break h}F=e&-2;G=e&1;_=e&-4;O=e&3;I=e-1|0;Q=e<<2;L=a+112|0;E=d>>>2|0;M=u-r|0;A=M>>2;S=(M-4&-4)+4|0;$=i+36|0;aa=i+24|0;while(1){f=J[a+56>>2];d=J[f>>2];n:{o:{w=E-1|0;if(w>>>0<J[f+4>>2]-d>>2>>>0){f=0;l=0;d=J[d+(w<<2)>>2];p:{if((d|0)==-1){break p}m=J[N+12>>2];h=d+2|0;l=(d>>>0)%3|0;y=m+((l?d-1|0:h)<<2)|0;j=0;B=(l|0)!=0|(h|0)!=-1;q=1;h=d;while(1){l=J[m+(h<<2)>>2];q:{if((l|0)==-1){break q}k=-1;p=J[Z>>2];n=J[N>>2];g=p+(J[n+(l<<2)>>2]<<2)|0;o=l+1|0;o=(o>>>0)%3|0?o:l-2|0;if((o|0)!=-1){k=J[n+(o<<2)>>2]}o=J[g>>2];r:{s:{if((l>>>0)%3|0){g=l-1|0;break s}g=l+2|0;s=-1;if((g|0)==-1){break r}}s=J[n+(g<<2)>>2]}if((o|0)>=(w|0)){break q}g=J[p+(k<<2)>>2];if((g|0)>=(w|0)){break q}k=J[p+(s<<2)>>2];if((k|0)>=(w|0)){break q}l=J[(i+144|0)+P(j,12)>>2];t:{if(!e){break t}k=P(e,k);n=P(e,g);o=P(e,o);g=0;p=0;if(I){while(1){J[l+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+n<<2)+b>>2]|0)-J[(g+o<<2)+b>>2];s=g|1;J[l+(s<<2)>>2]=(J[(k+s<<2)+b>>2]+J[(n+s<<2)+b>>2]|0)-J[(o+s<<2)+b>>2];g=g+2|0;p=p+2|0;if((F|0)!=(p|0)){continue}break}}if(!G){break t}J[l+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+n<<2)+b>>2]|0)-J[(g+o<<2)+b>>2]}l=4;j=j+1|0;if((j|0)==4){break p}}u:{if(q&1){g=h+1|0;h=(g>>>0)%3|0?g:h-2|0;l=-1;if((h|0)==-1){break u}h=J[m+(h<<2)>>2];l=-1;if((h|0)==-1){break u}l=h+1|0;l=(l>>>0)%3|0?l:h-2|0;break u}v:{if((h>>>0)%3|0){g=h-1|0;break v}g=h+2|0;l=-1;if((g|0)==-1){break u}}h=J[m+(g<<2)>>2];l=-1;if((h|0)==-1){break u}l=h-1|0;if((h>>>0)%3|0){break u}l=h+2|0}h=l;if((d|0)==(h|0)){l=j;break p}if((h|0)==-1&q){if(!B){l=j;break p}h=J[y>>2];if((h|0)==-1){l=j;break p}q=0;h=(h>>>0)%3|0?h-1|0:h+2|0}l=j;if((h|0)!=-1){continue}break}}H[i+16|0]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;U=P(e,w)<<2;s=U+b|0;k=(P(E-2|0,e)<<2)+b|0;g=J[x>>2];d=0;if(e){while(1){j=f<<2;h=J[j+k>>2]-J[j+s>>2]|0;J[j+r>>2]=h;J[g+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;j=d;d=h>>31;d=j+((d^h)-d|0)|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=i+200|0;ef(f,L,g,e);j=hf(f);h=J[f+12>>2];f=J[f+16>>2];h=(((h-f|0)+1|0)/64|0)+f<<3;m=f<<3;f=h+m|0;h=(h>>31)+(m>>31)|0;g=ja+(f>>>0<m>>>0?h+1|0:h)|0;h=f;f=f+j|0;h=h>>>0>f>>>0?g+1|0:g;B=(l|0)<=0;if(!B){n=(l<<3)-8|0;j=n+(i+48|0)|0;m=j;g=J[j>>2];j=J[j+4>>2];g=g+l|0;j=g>>>0<l>>>0?j+1|0:j;J[m>>2]=g;J[m+4>>2]=j;v=W(df(g,J[n+(i+80|0)>>2])*(+(g>>>0)+ +(j|0)*4294967296));w:{if(R(v)<0x8000000000000000){g=R(v)>=1?~~(v>0?T(V(v*2.3283064365386963e-10),4294967295):W((v-+(~~v>>>0>>>0))*2.3283064365386963e-10))>>>0:0;j=~~v>>>0;break w}g=-2147483648;j=0}f=f+j|0;h=f}J[i+20>>2]=0;H[i+16|0]=0;J[i+8>>2]=f;J[i+12>>2]=d;Qa(aa,k,k+Q|0);ec($,r,u);x:{y:{z:{if(B){break z}n=(i+124|0)+l|0;m=n-1|0;X=l<<3;d=X-8|0;Y=d+(i+48|0)|0;ba=d+(i+80|0)|0;q=1;y=0;while(1){d=i+124|0;pk(d,1,l);y=y+1|0;pk(d,0,y);A:{B:while(1){if(e){pk(J[i+128>>2],0,Q)}p=0;d=J[i+128>>2];j=0;while(1){if(!K[(i+124|0)+p|0]){C:{if(!e){break C}f=J[(i+144|0)+P(p,12)>>2];h=0;g=0;k=0;if(e>>>0>3){while(1){o=g<<2;t=o+d|0;J[t>>2]=J[t>>2]+J[f+o>>2];t=o|4;D=t+d|0;J[D>>2]=J[D>>2]+J[f+t>>2];t=o|8;D=t+d|0;J[D>>2]=J[D>>2]+J[f+t>>2];o=o|12;t=o+d|0;J[t>>2]=J[t>>2]+J[f+o>>2];g=g+4|0;k=k+4|0;if((_|0)!=(k|0)){continue}break}}if(!O){break C}while(1){k=g<<2;o=k+d|0;J[o>>2]=J[o>>2]+J[f+k>>2];g=g+1|0;h=h+1|0;if((O|0)!=(h|0)){continue}break}}j=1<<p|j}p=p+1|0;if((p|0)!=(l|0)){continue}break}f=J[i+128>>2];D:{E:{F:{if(e){g=0;d=0;if(I){break F}break E}k=J[x>>2];h=0;break D}while(1){h=g<<2;k=h+f|0;J[k>>2]=J[k>>2]/(q|0);h=(h|4)+f|0;J[h>>2]=J[h>>2]/(q|0);g=g+2|0;d=d+2|0;if((F|0)!=(d|0)){continue}break}}if(G){d=(g<<2)+f|0;J[d>>2]=J[d>>2]/(q|0)}k=J[x>>2];f=J[i+128>>2];d=0;h=0;if(!e){break D}while(1){p=d<<2;g=J[p+f>>2]-J[p+s>>2]|0;J[p+r>>2]=g;J[k+p>>2]=(g|0)<0?(g^-1)<<1|1:g<<1;o=h;h=g>>31;h=o+((h^g)-h|0)|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=i+200|0;ef(d,L,k,e);k=hf(d);g=J[d+12>>2];d=J[d+16>>2];g=(((g-d|0)+1|0)/64|0)+d<<3;p=d<<3;d=g+p|0;d=d+k|0;k=J[Y+4>>2];g=J[Y>>2];v=W(df(g,J[ba>>2]+q|0)*(+(g>>>0)+ +(k|0)*4294967296));G:{if(R(v)<0x8000000000000000){g=~~v>>>0;break G}g=0}d=g+d|0;g=J[i+8>>2];if(!((d|0)>=(g|0)&((d|0)>(g|0)|(h|0)>=J[i+12>>2]))){J[i+20>>2]=q;H[i+16|0]=j;J[i+8>>2]=d;J[i+12>>2]=h;j=J[i+132>>2];k=j-f|0;g=k>>2;d=J[i+32>>2];h=J[i+24>>2];H:{if(g>>>0<=d-h>>2>>>0){k=J[i+28>>2]-h|0;d=k+f|0;o=k>>2;k=o>>>0<g>>>0?d:j;p=k-f|0;if((f|0)!=(k|0)){ok(h,f,p)}if(g>>>0>o>>>0){g=J[i+28>>2];if((j|0)==(k|0)){break H}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}break H}g=h+p|0;break H}if(h){J[i+28>>2]=h;hl(h);J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;d=0}if((k|0)<0){break y}h=d>>>1|0;d=d>>>0>=2147483644?1073741823:g>>>0<h>>>0?h:g;if(d>>>0>=1073741824){break y}d=d<<2;g=pl(d);J[i+24>>2]=g;J[i+32>>2]=d+g;if((f|0)==(j|0)){break H}d=(k-4&-4)+4|0;g=nk(g,f,d)+d|0}J[i+28>>2]=g;d=J[i+44>>2];f=J[i+36>>2];I:{if(d-f>>2>>>0>=A>>>0){h=J[i+40>>2]-f|0;d=h+r|0;g=h>>2;h=g>>>0<A>>>0?d:u;j=h-r|0;if((h|0)!=(r|0)){ok(f,r,j)}if(g>>>0<A>>>0){g=J[i+40>>2];if((h|0)==(u|0)){break I}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((u|0)!=(d|0)){continue}break}break I}g=f+j|0;break I}if(f){J[i+40>>2]=f;hl(f);J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;d=0}if((M|0)<0){break x}f=d>>>1|0;d=d>>>0>=2147483644?1073741823:f>>>0>A>>>0?f:A;if(d>>>0>=1073741824){break x}d=d<<2;g=pl(d);J[i+36>>2]=g;J[i+44>>2]=d+g;if((r|0)==(u|0)){break I}g=nk(g,r,S)+S|0}J[i+40>>2]=g}if((m|0)==(i+124|0)){break A}g=K[m|0];d=-1;while(1){j=g&255;f=d-1|0;h=f+n|0;g=K[h|0];if(j>>>0>g>>>0){f=n;while(1){f=f-1|0;j=K[f|0];if(j>>>0<=g>>>0){continue}break}H[h|0]=j;H[f|0]=g;if((d|0)==-1){continue B}g=d+n|0;d=m;while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}continue B}d=f;if((h|0)!=(i+124|0)){continue}break}break}f=i+124|0;g=f;d=m;if(f>>>0>=d>>>0){break A}while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}}q=q+1|0;if((l|0)!=(y|0)){continue}break}if((l|0)<=0){break z}h=J[i+20>>2];j=h;d=i+X|0;f=h+J[d+72>>2]|0;h=J[d+76>>2]+(h>>31)|0;J[d+72>>2]=f;J[d+76>>2]=f>>>0<j>>>0?h+1|0:h}if(!e){break n}d=J[x>>2];g=0;f=J[i+36>>2];k=0;if(!I){break o}while(1){j=g<<2;h=J[j+f>>2];J[d+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;j=j|4;h=J[j+f>>2];J[d+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=g+2|0;k=k+2|0;if((F|0)!=(k|0)){continue}break}break o}Ia();C()}Ia();C()}Xc();C()}if(!G){break n}h=g<<2;f=J[h+f>>2];J[d+h>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(i+200|0,L,J[x>>2],e);J:{if(B){break J}g=P(l,12)+a|0;d=0;while(1){K:{j=J[g+56>>2];k=j<<5;f=J[g+52>>2];L:{if(!(K[i+16|0]>>>d&1)){h=f;M:{if((f|0)!=(k|0)){break M}if((f+1|0)<0){break K}N:{if(f>>>0<=1073741822){j=j<<6;k=(f&-32)+32|0;j=j>>>0>k>>>0?j:k;h=f;if(f>>>0>=j>>>0){break M}if((j|0)>=0){break N}break K}j=2147483647;h=-1;if(f>>>0>=2147483647){break M}}k=(j-1>>>5|0)+1|0;h=pl(k<<2);j=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;O:{P:{if(!f){break P}m=f>>>5|0;if(f>>>0>=32){ok(h,j,m<<2)}n=f&31;if(!n){break P}m=m<<2;q=m+h|0;n=-1>>>32-n|0;J[q>>2]=J[q>>2]&(n^-1)|n&J[j+m>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;break O}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;h=f;if(!j){break M}}hl(j);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<<h;break L}h=f;Q:{if((f|0)!=(k|0)){break Q}if((f+1|0)<0){break K}R:{if(f>>>0<=1073741822){j=j<<6;k=(f&-32)+32|0;j=j>>>0>k>>>0?j:k;h=f;if(f>>>0>=j>>>0){break Q}if((j|0)<0){break K}break R}j=2147483647;h=-1;if(f>>>0>=2147483647){break Q}}k=(j-1>>>5|0)+1|0;h=pl(k<<2);j=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;S:{T:{if(!f){break T}m=f>>>5|0;if(f>>>0>=32){ok(h,j,m<<2)}n=f&31;if(!n){break T}m=m<<2;q=m+h|0;n=-1>>>32-n|0;J[q>>2]=J[q>>2]&(n^-1)|n&J[j+m>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;break S}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;h=f;if(!j){break Q}}hl(j);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;j=J[f>>2];ca=f,da=im(h)&j,J[ca>>2]=da}d=d+1|0;if((l|0)!=(d|0)){continue}break J}break}Ia();C()}g=J[a+8>>2];if((g|0)>0){m=c+U|0;d=J[z>>2];j=0;k=J[i+24>>2];while(1){h=d;if((g|0)>0){h=J[z>>2];g=0;while(1){f=g<<2;l=J[f+k>>2];n=J[a+16>>2];U:{if((l|0)>(n|0)){J[f+h>>2]=n;break U}f=f+h|0;n=J[a+12>>2];if((n|0)>(l|0)){J[f>>2]=n;break U}J[f>>2]=l}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}l=j<<2;f=l+m|0;l=J[l+s>>2]-J[h+l>>2]|0;J[f>>2]=l;V:{if((l|0)<J[a+28>>2]){g=l+J[a+20>>2]|0}else{if((l|0)<=J[a+24>>2]){break V}g=l-J[a+20>>2]|0}J[f>>2]=g}k=h;g=J[a+8>>2];j=j+1|0;if((g|0)>(j|0)){continue}break}}d=J[i+36>>2];if(d){J[i+40>>2]=d;hl(d)}d=J[i+24>>2];if(d){J[i+28>>2]=d;hl(d)}d=(E|0)>2;E=w;if(d){continue}break}break h}Ia();C()}if((e|0)>0){pk(J[i+144>>2],0,e<<2)}g=J[a+8>>2];if((g|0)>0){d=J[a+32>>2];j=0;k=J[i+144>>2];while(1){h=d;if((g|0)>0){h=J[z>>2];g=0;while(1){e=g<<2;f=J[e+k>>2];l=J[a+16>>2];W:{if((f|0)>(l|0)){J[e+h>>2]=l;break W}e=e+h|0;l=J[a+12>>2];if((l|0)>(f|0)){J[e>>2]=l;break W}J[e>>2]=f}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}f=j<<2;e=f+c|0;f=J[b+f>>2]-J[f+h>>2]|0;J[e>>2]=f;X:{if((f|0)<J[a+28>>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break X}f=f-J[a+20>>2]|0}J[e>>2]=f}k=h;g=J[a+8>>2];j=j+1|0;if((g|0)>(j|0)){continue}break}}if(r){hl(r)}a=J[i+128>>2];if(a){J[i+132>>2]=a;hl(a)}a=J[i+180>>2];if(a){J[i+184>>2]=a;hl(a)}a=J[i+168>>2];if(a){J[i+172>>2]=a;hl(a)}a=J[i+156>>2];if(a){J[i+160>>2]=a;hl(a)}a=J[i+144>>2];if(a){J[i+148>>2]=a;hl(a)}fa=i+224|0;return 1}function Ud(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,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,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=fa-240|0;fa=g;Z=J[a+36>>2];B=J[a+32>>2];J[g+184>>2]=0;J[g+188>>2]=0;J[g+176>>2]=0;J[g+180>>2]=0;J[g+168>>2]=0;J[g+172>>2]=0;J[g+160>>2]=0;J[g+164>>2]=0;J[g+152>>2]=0;J[g+156>>2]=0;J[g+144>>2]=0;J[g+148>>2]=0;if(e){La(g+144|0,e);i=J[g+156>>2];d=J[g+160>>2]}else{d=0}d=d-i>>2;a:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break a}J[g+160>>2]=(e<<2)+i;break a}La(g+144|12,e-d|0)}d=J[g+168>>2];f=J[g+172>>2]-d>>2;b:{if(f>>>0>=e>>>0){if(e>>>0>=f>>>0){break b}J[g+172>>2]=d+(e<<2);break b}La(g+168|0,e-f|0)}c:{d:{d=J[g+180>>2];f=J[g+184>>2]-d>>2;e:{f:{if(f>>>0>=e>>>0){if(e>>>0<f>>>0){J[g+184>>2]=d+(e<<2)}J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;if(e){break f}d=1;break e}La(g+180|0,e-f|0);J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0}if(e>>>0>=1073741824){break d}j=e<<2;f=pl(j);J[g+128>>2]=f;d=f+j|0;J[g+136>>2]=d;pk(f,0,j);J[g+132>>2]=d;d=0}D=a+136|0;f=J[a+136>>2];j=J[a+140>>2]-f>>2;g:{h:{if(j>>>0<e>>>0){La(D,e-j|0);J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;d=g- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;break h}if(e>>>0<j>>>0){J[a+140>>2]=f+(e<<2)}J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;f=g- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;f=0;if(d){break g}}d=e<<2;t=pl(d);f=pk(t,0,d)+d|0}d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break c}M=e&-2;N=e&1;_=e&-4;U=e&3;O=e-1|0;X=e<<2;$=a+8|0;Q=a+96|0;G=d>>>2|0;E=f;S=f-t|0;F=S>>2;Y=(S-4&-4)+4|0;aa=g+36|0;ba=g+24|0;while(1){d=J[a+40>>2];f=J[d>>2];i:{j:{z=G-1|0;if(z>>>0<J[d+4>>2]-f>>2>>>0){d=0;j=0;l=J[f+(z<<2)>>2];k:{if((l|0)==-1){break k}u=1;h=l+2|0;j=(l>>>0)%3|0;A=j?l-1|0:h;r=1<<A;s=J[B>>2];q=s+(A>>>3&536870908)|0;f=0;n=(j|0)!=0|(h|0)!=-1;h=l;while(1){l:{if(J[s+(h>>>3&536870908)>>2]>>>h&1){break l}o=J[J[J[B+64>>2]+12>>2]+(h<<2)>>2];if((o|0)==-1){break l}w=J[Z>>2];x=J[B+28>>2];k=J[w+(J[x+(o<<2)>>2]<<2)>>2];if((k|0)>=(z|0)){break l}j=o+1|0;m=J[w+(J[x+(((j>>>0)%3|0?j:o-2|0)<<2)>>2]<<2)>>2];if((m|0)>=(z|0)){break l}j=J[w+(J[x+(o+((o>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((j|0)>=(z|0)){break l}m:{if(!e){break m}o=J[(g+144|0)+P(f,12)>>2];x=P(e,j);w=P(e,m);m=P(e,k);i=0;p=0;if(O){while(1){J[o+(i<<2)>>2]=(J[(i+x<<2)+b>>2]+J[(i+w<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];j=i|1;J[o+(j<<2)>>2]=(J[(j+x<<2)+b>>2]+J[(j+w<<2)+b>>2]|0)-J[(j+m<<2)+b>>2];i=i+2|0;p=p+2|0;if((M|0)!=(p|0)){continue}break}}if(!N){break m}J[o+(i<<2)>>2]=(J[(i+x<<2)+b>>2]+J[(i+w<<2)+b>>2]|0)-J[(i+m<<2)+b>>2]}j=4;f=f+1|0;if((f|0)==4){break k}}n:{if(u&1){j=h-2|0;m=h+1|0;h=-1;j=(m>>>0)%3|0?m:j;if((j|0)==-1|J[s+(j>>>3&536870908)>>2]>>>j&1){break n}m=J[J[J[B+64>>2]+12>>2]+(j<<2)>>2];if((m|0)==-1){break n}j=m+1|0;h=(j>>>0)%3|0?j:m-2|0;break n}o:{if((h>>>0)%3|0){i=h-1|0;break o}i=h+2|0;h=-1;if((i|0)==-1){break n}}h=-1;if(J[s+(i>>>3&536870908)>>2]>>>i&1){break n}j=J[J[J[B+64>>2]+12>>2]+(i<<2)>>2];if((j|0)==-1){break n}if((j>>>0)%3|0){h=j-1|0;break n}h=j+2|0}if((h|0)==(l|0)){j=f;break k}if((h|0)==-1&u){if(!n){j=f;break k}if(r&J[q>>2]){j=f;break k}j=J[J[J[B+64>>2]+12>>2]+(A<<2)>>2];if((j|0)==-1){j=f;break k}u=0;h=(j>>>0)%3|0?j-1|0:j+2|0}j=f;if((h|0)!=-1){continue}break}}H[g+16|0]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;J[g+28>>2]=0;J[g+32>>2]=0;J[g+20>>2]=0;J[g+24>>2]=0;w=P(e,z)<<2;I=w+b|0;q=(P(G-2|0,e)<<2)+b|0;l=J[D>>2];h=0;if(e){while(1){f=d<<2;m=J[f+q>>2]-J[f+I>>2]|0;J[f+t>>2]=m;J[f+l>>2]=(m|0)<0?(m^-1)<<1|1:m<<1;f=m>>31;h=((f^m)-f|0)+h|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=g+200|0;ef(d,Q,l,e);m=hf(d);f=J[d+12>>2];d=J[d+16>>2];f=(((f-d|0)+1|0)/64|0)+d<<3;d=d<<3;n=f+d|0;f=(f>>31)+(d>>31)|0;k=ja+(d>>>0>n>>>0?f+1|0:f)|0;f=m+n|0;d=f>>>0<n>>>0?k+1|0:k;A=(j|0)<=0;if(!A){k=(j<<3)-8|0;l=k+(g+48|0)|0;n=l;m=J[l>>2];l=J[l+4>>2];m=j+m|0;l=m>>>0<j>>>0?l+1|0:l;J[n>>2]=m;J[n+4>>2]=l;y=W(df(m,J[k+(g+80|0)>>2])*(+(m>>>0)+ +(l|0)*4294967296));p:{if(R(y)<0x8000000000000000){m=~~y>>>0;l=R(y)>=1?~~(y>0?T(V(y*2.3283064365386963e-10),4294967295):W((y-+(~~y>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break p}m=0;l=-2147483648}f=f+m|0;d=f}J[g+20>>2]=0;H[g+16|0]=0;J[g+8>>2]=f;J[g+12>>2]=h;Qa(ba,q,q+X|0);ec(aa,t,E);q:{r:{s:{if(A){break s}m=(g+124|0)+j|0;l=m-1|0;r=j<<3;d=r-8|0;x=d+(g+48|0)|0;q=d+(g+80|0)|0;u=1;L=0;while(1){d=g+124|0;pk(d,1,j);L=L+1|0;pk(d,0,L);t:{u:while(1){if(e){pk(J[g+128>>2],0,X)}p=0;o=J[g+128>>2];s=0;while(1){if(!K[(g+124|0)+p|0]){v:{if(!e){break v}n=J[(g+144|0)+P(p,12)>>2];f=0;i=0;v=0;if(e>>>0>3){while(1){k=i<<2;d=k+o|0;J[d>>2]=J[d>>2]+J[k+n>>2];h=k|4;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];h=k|8;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];h=k|12;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];i=i+4|0;v=v+4|0;if((_|0)!=(v|0)){continue}break}}if(!U){break v}while(1){h=i<<2;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];i=i+1|0;f=f+1|0;if((U|0)!=(f|0)){continue}break}}s=1<<p|s}p=p+1|0;if((p|0)!=(j|0)){continue}break}d=J[g+128>>2];w:{x:{y:{if(e){i=0;h=0;if(O){break y}break x}v=J[D>>2];f=0;break w}while(1){k=i<<2;f=k+d|0;J[f>>2]=J[f>>2]/(u|0);f=(k|4)+d|0;J[f>>2]=J[f>>2]/(u|0);i=i+2|0;h=h+2|0;if((M|0)!=(h|0)){continue}break}}if(N){d=(i<<2)+d|0;J[d>>2]=J[d>>2]/(u|0)}v=J[D>>2];d=J[g+128>>2];h=0;f=0;if(!e){break w}while(1){k=h<<2;n=J[k+d>>2]-J[k+I>>2]|0;J[k+t>>2]=n;J[k+v>>2]=(n|0)<0?(n^-1)<<1|1:n<<1;i=f;f=n>>31;f=i+((f^n)-f|0)|0;h=h+1|0;if((h|0)!=(e|0)){continue}break}}h=g+200|0;ef(h,Q,v,e);n=hf(h);i=J[h+12>>2];h=J[h+16>>2];k=(((i-h|0)+1|0)/64|0)+h<<3;h=h<<3;o=k+h|0;h=n+o|0;k=J[x+4>>2];n=J[x>>2];y=W(df(n,J[q>>2]+u|0)*(+(n>>>0)+ +(k|0)*4294967296));z:{if(R(y)<0x8000000000000000){i=~~y>>>0;break z}i=0}k=i+h|0;h=J[g+8>>2];if(!((k|0)>=(h|0)&((h|0)<(k|0)|(f|0)>=J[g+12>>2]))){J[g+20>>2]=u;H[g+16|0]=s;J[g+8>>2]=k;J[g+12>>2]=f;s=J[g+132>>2];k=s-d|0;o=k>>2;h=J[g+32>>2];p=J[g+24>>2];A:{if(o>>>0<=h-p>>2>>>0){f=J[g+28>>2]-p|0;h=f+d|0;f=f>>2;n=f>>>0<o>>>0?h:s;k=n-d|0;if((d|0)!=(n|0)){ok(p,d,k)}if(f>>>0<o>>>0){i=J[g+28>>2];if((n|0)==(s|0)){break A}while(1){J[i>>2]=J[h>>2];i=i+4|0;h=h+4|0;if((s|0)!=(h|0)){continue}break}break A}i=k+p|0;break A}if(p){J[g+28>>2]=p;hl(p);J[g+32>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;h=0}if((k|0)<0){break r}f=h>>>1|0;f=h>>>0>=2147483644?1073741823:f>>>0>o>>>0?f:o;if(f>>>0>=1073741824){break r}f=f<<2;i=pl(f);J[g+24>>2]=i;J[g+32>>2]=f+i;if((d|0)==(s|0)){break A}f=d;d=(k-4&-4)+4|0;i=nk(i,f,d)+d|0}J[g+28>>2]=i;h=J[g+44>>2];n=J[g+36>>2];B:{if(h-n>>2>>>0>=F>>>0){d=J[g+40>>2]-n|0;h=d+t|0;d=d>>2;k=d>>>0<F>>>0?h:E;f=k-t|0;if((k|0)!=(t|0)){ok(n,t,f)}if(d>>>0<F>>>0){i=J[g+40>>2];if((k|0)==(E|0)){break B}while(1){J[i>>2]=J[h>>2];i=i+4|0;h=h+4|0;if((E|0)!=(h|0)){continue}break}break B}i=f+n|0;break B}if(n){J[g+40>>2]=n;hl(n);J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;h=0}if((S|0)<0){break q}d=h>>>1|0;d=h>>>0>=2147483644?1073741823:d>>>0>F>>>0?d:F;if(d>>>0>=1073741824){break q}d=d<<2;i=pl(d);J[g+36>>2]=i;J[g+44>>2]=d+i;if((t|0)==(E|0)){break B}i=nk(i,t,Y)+Y|0}J[g+40>>2]=i}if((l|0)==(g+124|0)){break t}i=K[l|0];h=-1;while(1){f=i&255;d=h-1|0;k=d+m|0;i=K[k|0];if(f>>>0>i>>>0){d=m;while(1){d=d-1|0;f=K[d|0];if(f>>>0<=i>>>0){continue}break}H[k|0]=f;H[d|0]=i;if((h|0)==-1){continue u}i=h+m|0;h=l;while(1){d=K[i|0];H[i|0]=K[h|0];H[h|0]=d;i=i+1|0;h=h-1|0;if(i>>>0<h>>>0){continue}break}continue u}h=d;if((k|0)!=(g+124|0)){continue}break}break}d=g+124|0;i=d;h=l;if(d>>>0>=h>>>0){break t}while(1){d=K[i|0];H[i|0]=K[h|0];H[h|0]=d;i=i+1|0;h=h-1|0;if(i>>>0<h>>>0){continue}break}}u=u+1|0;if((j|0)!=(L|0)){continue}break}if((j|0)<=0){break s}d=J[g+20>>2];f=d;l=g+r|0;h=d+J[l+72>>2]|0;d=J[l+76>>2]+(d>>31)|0;J[l+72>>2]=h;J[l+76>>2]=f>>>0>h>>>0?d+1|0:d}if(!e){break i}l=J[D>>2];i=0;h=J[g+36>>2];v=0;if(!O){break j}while(1){d=i<<2;f=J[d+h>>2];J[d+l>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;d=d|4;f=J[d+h>>2];J[d+l>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;i=i+2|0;v=v+2|0;if((M|0)!=(v|0)){continue}break}break j}Ia();C()}Ia();C()}Xc();C()}if(!N){break i}d=i<<2;f=J[d+h>>2];J[d+l>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(g+200|0,Q,J[D>>2],e);C:{if(A){break C}l=P(j,12)+a|0;h=0;while(1){D:{k=J[l+40>>2];m=k<<5;d=J[l+36>>2];E:{if(!(K[g+16|0]>>>h&1)){f=d;F:{if((d|0)!=(m|0)){break F}if((d+1|0)<0){break D}G:{if(d>>>0<=1073741822){k=k<<6;m=(d&-32)+32|0;i=k>>>0>m>>>0?k:m;f=d;if(d>>>0>=i>>>0){break F}if((i|0)>=0){break G}break D}i=2147483647;f=-1;if(d>>>0>=2147483647){break F}}n=(i-1>>>5|0)+1|0;r=pl(n<<2);q=J[l+32>>2];J[r+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;H:{I:{if(!d){break I}f=d>>>5|0;if(d>>>0>=32){ok(r,q,f<<2)}k=d&31;if(!k){break I}m=f<<2;f=m+r|0;i=f;o=J[f>>2];f=-1>>>32-k|0;J[i>>2]=o&(f^-1)|f&J[m+q>>2];J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;break H}J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;f=d;if(!q){break F}}hl(q);f=J[l+36>>2]}J[l+36>>2]=f+1;d=J[l+32>>2]+(f>>>3&536870908)|0;J[d>>2]=J[d>>2]|1<<f;break E}f=d;J:{if((d|0)!=(m|0)){break J}if((d+1|0)<0){break D}K:{if(d>>>0<=1073741822){k=k<<6;m=(d&-32)+32|0;i=k>>>0>m>>>0?k:m;f=d;if(d>>>0>=i>>>0){break J}if((i|0)<0){break D}break K}i=2147483647;f=-1;if(d>>>0>=2147483647){break J}}n=(i-1>>>5|0)+1|0;r=pl(n<<2);q=J[l+32>>2];J[r+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;L:{M:{if(!d){break M}f=d>>>5|0;if(d>>>0>=32){ok(r,q,f<<2)}k=d&31;if(!k){break M}m=f<<2;f=m+r|0;i=f;o=J[f>>2];f=-1>>>32-k|0;J[i>>2]=o&(f^-1)|f&J[m+q>>2];J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;break L}J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;f=d;if(!q){break J}}hl(q);f=J[l+36>>2]}J[l+36>>2]=f+1;m=J[l+32>>2]+(f>>>3&536870908)|0;d=J[m>>2];ca=m,da=im(f)&d,J[ca>>2]=da}h=h+1|0;if((j|0)!=(h|0)){continue}break C}break}Ia();C()}d=J[g+24>>2];j=J[d>>2];f=J[d+4>>2];d=J[I+4>>2];J[g+232>>2]=J[I>>2];J[g+236>>2]=d;J[g+224>>2]=j;J[g+228>>2]=f;Qd(g+200|0,$,g+232|0,g+224|0);d=c+w|0;J[d>>2]=J[g+200>>2];J[d+4>>2]=J[g+204>>2];d=J[g+36>>2];if(d){J[g+40>>2]=d;hl(d)}d=J[g+24>>2];if(d){J[g+28>>2]=d;hl(d)}d=(G|0)>2;G=z;if(d){continue}break}break c}Ia();C()}d=J[g+144>>2];if((e|0)>0){pk(d,0,e<<2)}f=J[d>>2];e=J[d+4>>2];d=J[b+4>>2];J[g+200>>2]=J[b>>2];J[g+204>>2]=d;J[g+232>>2]=f;J[g+236>>2]=e;Qd(g+8|0,a+8|0,g+200|0,g+232|0);J[c>>2]=J[g+8>>2];J[c+4>>2]=J[g+12>>2];if(t){hl(t)}a=J[g+128>>2];if(a){J[g+132>>2]=a;hl(a)}a=J[g+180>>2];if(a){J[g+184>>2]=a;hl(a)}a=J[g+168>>2];if(a){J[g+172>>2]=a;hl(a)}a=J[g+156>>2];if(a){J[g+160>>2]=a;hl(a)}a=J[g+144>>2];if(a){J[g+148>>2]=a;hl(a)}fa=g+240|0;return 1}function ie(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,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,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=fa-240|0;fa=g;Y=J[a+36>>2];M=J[a+32>>2];J[g+184>>2]=0;J[g+188>>2]=0;J[g+176>>2]=0;J[g+180>>2]=0;J[g+168>>2]=0;J[g+172>>2]=0;J[g+160>>2]=0;J[g+164>>2]=0;J[g+152>>2]=0;J[g+156>>2]=0;J[g+144>>2]=0;J[g+148>>2]=0;if(e){La(g+144|0,e);h=J[g+156>>2];d=J[g+160>>2]}else{d=0}d=d-h>>2;a:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break a}J[g+160>>2]=(e<<2)+h;break a}La(g+144|12,e-d|0)}f=J[g+168>>2];d=J[g+172>>2]-f>>2;b:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break b}J[g+172>>2]=f+(e<<2);break b}La(g+168|0,e-d|0)}c:{d:{f=J[g+180>>2];d=J[g+184>>2]-f>>2;e:{f:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[g+184>>2]=f+(e<<2)}J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;if(e){break f}d=1;break e}La(g+180|0,e-d|0);J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0}if(e>>>0>=1073741824){break d}d=e<<2;f=pl(d);J[g+128>>2]=f;i=d+f|0;J[g+136>>2]=i;pk(f,0,d);J[g+132>>2]=i;d=0}x=a+136|0;i=J[a+136>>2];f=J[a+140>>2]-i>>2;g:{h:{if(f>>>0<e>>>0){La(x,e-f|0);J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;d=g- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;break h}if(e>>>0<f>>>0){J[a+140>>2]=i+(e<<2)}J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;f=g- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;v=0;if(d){break g}}d=e<<2;r=pl(d);v=pk(r,0,d)+d|0}d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break c}E=e&-2;F=e&1;Z=e&-4;N=e&3;G=e-1|0;O=e<<2;_=a+8|0;I=a+96|0;D=d>>>2|0;L=v-r|0;z=L>>2;Q=(L-4&-4)+4|0;$=g+36|0;aa=g+24|0;while(1){d=J[a+40>>2];f=J[d>>2];i:{j:{w=D-1|0;if(w>>>0<J[d+4>>2]-f>>2>>>0){d=0;k=0;l=J[f+(w<<2)>>2];k:{if((l|0)==-1){break k}j=J[M+12>>2];i=l+2|0;k=(l>>>0)%3|0;y=j+((k?l-1|0:i)<<2)|0;f=0;A=(k|0)!=0|(i|0)!=-1;p=1;i=l;while(1){k=J[j+(i<<2)>>2];l:{if((k|0)==-1){break l}m=J[Y>>2];n=J[M>>2];s=J[m+(J[n+(k<<2)>>2]<<2)>>2];h=k+1|0;h=(h>>>0)%3|0?h:k-2|0;if((h|0)!=-1){o=J[n+(h<<2)>>2]}else{o=-1}m:{n:{if((k>>>0)%3|0){h=k-1|0;break n}h=k+2|0;q=-1;if((h|0)==-1){break m}}q=J[n+(h<<2)>>2]}if((s|0)>=(w|0)){break l}h=J[(o<<2)+m>>2];if((h|0)>=(w|0)){break l}n=J[m+(q<<2)>>2];if((n|0)>=(w|0)){break l}k=J[(g+144|0)+P(f,12)>>2];o:{if(!e){break o}n=P(e,n);o=P(e,h);s=P(e,s);h=0;m=0;if(G){while(1){J[k+(h<<2)>>2]=(J[(h+n<<2)+b>>2]+J[(h+o<<2)+b>>2]|0)-J[(h+s<<2)+b>>2];q=h|1;J[k+(q<<2)>>2]=(J[(n+q<<2)+b>>2]+J[(o+q<<2)+b>>2]|0)-J[(q+s<<2)+b>>2];h=h+2|0;m=m+2|0;if((E|0)!=(m|0)){continue}break}}if(!F){break o}J[k+(h<<2)>>2]=(J[(h+n<<2)+b>>2]+J[(h+o<<2)+b>>2]|0)-J[(h+s<<2)+b>>2]}k=4;f=f+1|0;if((f|0)==4){break k}}p:{if(p&1){h=i+1|0;i=(h>>>0)%3|0?h:i-2|0;k=-1;if((i|0)==-1){break p}i=J[j+(i<<2)>>2];k=-1;if((i|0)==-1){break p}k=i+1|0;k=(k>>>0)%3|0?k:i-2|0;break p}q:{if((i>>>0)%3|0){h=i-1|0;break q}h=i+2|0;k=-1;if((h|0)==-1){break p}}i=J[j+(h<<2)>>2];k=-1;if((i|0)==-1){break p}k=i-1|0;if((i>>>0)%3|0){break p}k=i+2|0}i=k;if((l|0)==(i|0)){k=f;break k}if((i|0)==-1&p){if(!A){k=f;break k}i=J[y>>2];if((i|0)==-1){k=f;break k}p=0;i=(i>>>0)%3|0?i-1|0:i+2|0}k=f;if((i|0)!=-1){continue}break}}H[g+16|0]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;J[g+28>>2]=0;J[g+32>>2]=0;J[g+20>>2]=0;J[g+24>>2]=0;S=P(e,w)<<2;s=S+b|0;l=(P(D-2|0,e)<<2)+b|0;j=J[x>>2];h=0;if(e){while(1){i=d<<2;f=J[i+l>>2]-J[i+s>>2]|0;J[i+r>>2]=f;J[i+j>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;i=f;f=f>>31;h=((i^f)-f|0)+h|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=g+200|0;ef(d,I,j,e);f=hf(d);i=J[d+12>>2];d=J[d+16>>2];i=(((i-d|0)+1|0)/64|0)+d<<3;n=d<<3;d=i+n|0;i=(i>>31)+(n>>31)|0;j=ja+(d>>>0<n>>>0?i+1|0:i)|0;i=d;d=d+f|0;f=i>>>0>d>>>0?j+1|0:j;A=(k|0)<=0;if(!A){p=(k<<3)-8|0;i=p+(g+48|0)|0;n=i;j=J[i>>2];i=J[i+4>>2];j=j+k|0;i=j>>>0<k>>>0?i+1|0:i;J[n>>2]=j;J[n+4>>2]=i;u=W(df(j,J[p+(g+80|0)>>2])*(+(j>>>0)+ +(i|0)*4294967296));r:{if(R(u)<0x8000000000000000){j=R(u)>=1?~~(u>0?T(V(u*2.3283064365386963e-10),4294967295):W((u-+(~~u>>>0>>>0))*2.3283064365386963e-10))>>>0:0;i=~~u>>>0;break r}j=-2147483648;i=0}d=d+i|0;f=d}J[g+20>>2]=0;H[g+16|0]=0;J[g+8>>2]=d;J[g+12>>2]=h;Qa(aa,l,l+O|0);ec($,r,v);s:{t:{u:{if(A){break u}n=(g+124|0)+k|0;l=n-1|0;U=k<<3;d=U-8|0;X=d+(g+48|0)|0;ba=d+(g+80|0)|0;p=1;y=0;while(1){d=g+124|0;pk(d,1,k);y=y+1|0;pk(d,0,y);v:{w:while(1){if(e){pk(J[g+128>>2],0,O)}m=0;d=J[g+128>>2];f=0;while(1){if(!K[(g+124|0)+m|0]){x:{if(!e){break x}o=J[(g+144|0)+P(m,12)>>2];i=0;h=0;j=0;if(e>>>0>3){while(1){q=h<<2;t=q+d|0;J[t>>2]=J[t>>2]+J[o+q>>2];t=q|4;B=t+d|0;J[B>>2]=J[B>>2]+J[o+t>>2];t=q|8;B=t+d|0;J[B>>2]=J[B>>2]+J[o+t>>2];q=q|12;t=q+d|0;J[t>>2]=J[t>>2]+J[o+q>>2];h=h+4|0;j=j+4|0;if((Z|0)!=(j|0)){continue}break}}if(!N){break x}while(1){j=h<<2;q=j+d|0;J[q>>2]=J[q>>2]+J[j+o>>2];h=h+1|0;i=i+1|0;if((N|0)!=(i|0)){continue}break}}f=1<<m|f}m=m+1|0;if((m|0)!=(k|0)){continue}break}d=J[g+128>>2];y:{z:{A:{if(e){h=0;i=0;if(G){break A}break z}j=J[x>>2];i=0;break y}while(1){j=h<<2;m=j+d|0;J[m>>2]=J[m>>2]/(p|0);j=(j|4)+d|0;J[j>>2]=J[j>>2]/(p|0);h=h+2|0;i=i+2|0;if((E|0)!=(i|0)){continue}break}}if(F){d=(h<<2)+d|0;J[d>>2]=J[d>>2]/(p|0)}j=J[x>>2];d=J[g+128>>2];h=0;i=0;if(!e){break y}while(1){o=h<<2;m=J[o+d>>2]-J[o+s>>2]|0;J[o+r>>2]=m;J[j+o>>2]=(m|0)<0?(m^-1)<<1|1:m<<1;o=i;i=m>>31;i=o+((i^m)-i|0)|0;h=h+1|0;if((h|0)!=(e|0)){continue}break}}h=g+200|0;ef(h,I,j,e);m=hf(h);o=J[h+12>>2];h=J[h+16>>2];j=(((o-h|0)+1|0)/64|0)+h<<3;o=h<<3;h=j+o|0;h=h+m|0;m=J[X+4>>2];j=J[X>>2];u=W(df(j,J[ba>>2]+p|0)*(+(j>>>0)+ +(m|0)*4294967296));B:{if(R(u)<0x8000000000000000){o=~~u>>>0;break B}o=0}h=o+h|0;j=J[g+8>>2];if(!((h|0)>=(j|0)&((h|0)>(j|0)|(i|0)>=J[g+12>>2]))){J[g+20>>2]=p;H[g+16|0]=f;J[g+8>>2]=h;J[g+12>>2]=i;j=J[g+132>>2];m=j-d|0;h=m>>2;i=J[g+32>>2];f=J[g+24>>2];C:{if(h>>>0<=i-f>>2>>>0){m=J[g+28>>2]-f|0;i=m+d|0;q=m>>2;m=q>>>0<h>>>0?i:j;o=m-d|0;if((d|0)!=(m|0)){ok(f,d,o)}if(h>>>0>q>>>0){h=J[g+28>>2];if((j|0)==(m|0)){break C}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}break C}h=f+o|0;break C}if(f){J[g+28>>2]=f;hl(f);J[g+32>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;i=0}if((m|0)<0){break t}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:f>>>0>h>>>0?f:h;if(f>>>0>=1073741824){break t}f=f<<2;h=pl(f);J[g+24>>2]=h;J[g+32>>2]=f+h;if((d|0)==(j|0)){break C}f=d;d=(m-4&-4)+4|0;h=nk(h,f,d)+d|0}J[g+28>>2]=h;i=J[g+44>>2];d=J[g+36>>2];D:{if(i-d>>2>>>0>=z>>>0){f=J[g+40>>2]-d|0;i=f+r|0;j=f>>2;f=j>>>0<z>>>0?i:v;h=f-r|0;if((f|0)!=(r|0)){ok(d,r,h)}if(j>>>0<z>>>0){h=J[g+40>>2];if((f|0)==(v|0)){break D}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((v|0)!=(i|0)){continue}break}break D}h=d+h|0;break D}if(d){J[g+40>>2]=d;hl(d);J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;i=0}if((L|0)<0){break s}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>z>>>0?d:z;if(d>>>0>=1073741824){break s}d=d<<2;h=pl(d);J[g+36>>2]=h;J[g+44>>2]=d+h;if((r|0)==(v|0)){break D}h=nk(h,r,Q)+Q|0}J[g+40>>2]=h}if((l|0)==(g+124|0)){break v}h=K[l|0];i=-1;while(1){j=h&255;d=i-1|0;f=d+n|0;h=K[f|0];if(j>>>0>h>>>0){d=n;while(1){d=d-1|0;j=K[d|0];if(j>>>0<=h>>>0){continue}break}H[f|0]=j;H[d|0]=h;if((i|0)==-1){continue w}h=i+n|0;i=l;while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0<i>>>0){continue}break}continue w}i=d;if((f|0)!=(g+124|0)){continue}break}break}d=g+124|0;h=d;i=l;if(d>>>0>=i>>>0){break v}while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0<i>>>0){continue}break}}p=p+1|0;if((k|0)!=(y|0)){continue}break}if((k|0)<=0){break u}f=J[g+20>>2];l=f;d=g+U|0;i=f+J[d+72>>2]|0;f=J[d+76>>2]+(f>>31)|0;J[d+72>>2]=i;J[d+76>>2]=i>>>0<l>>>0?f+1|0:f}if(!e){break i}d=J[x>>2];h=0;f=J[g+36>>2];j=0;if(!G){break j}while(1){l=h<<2;i=J[l+f>>2];J[d+l>>2]=(i|0)<0?(i^-1)<<1|1:i<<1;l=l|4;i=J[l+f>>2];J[d+l>>2]=(i|0)<0?(i^-1)<<1|1:i<<1;h=h+2|0;j=j+2|0;if((E|0)!=(j|0)){continue}break}break j}Ia();C()}Ia();C()}Xc();C()}if(!F){break i}i=h<<2;f=J[i+f>>2];J[d+i>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(g+200|0,I,J[x>>2],e);E:{if(A){break E}l=P(k,12)+a|0;i=0;while(1){F:{h=J[l+40>>2];j=h<<5;d=J[l+36>>2];G:{if(!(K[g+16|0]>>>i&1)){f=d;H:{if((d|0)!=(j|0)){break H}if((d+1|0)<0){break F}I:{if(d>>>0<=1073741822){h=h<<6;j=(d&-32)+32|0;h=h>>>0>j>>>0?h:j;f=d;if(d>>>0>=h>>>0){break H}if((h|0)>=0){break I}break F}h=2147483647;f=-1;if(d>>>0>=2147483647){break H}}j=(h-1>>>5|0)+1|0;f=pl(j<<2);h=J[l+32>>2];J[f+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;J:{K:{if(!d){break K}n=d>>>5|0;if(d>>>0>=32){ok(f,h,n<<2)}p=d&31;if(!p){break K}n=n<<2;m=n+f|0;p=-1>>>32-p|0;J[m>>2]=J[m>>2]&(p^-1)|p&J[h+n>>2];J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;break J}J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;f=d;if(!h){break H}}hl(h);f=J[l+36>>2]}J[l+36>>2]=f+1;d=J[l+32>>2]+(f>>>3&536870908)|0;J[d>>2]=J[d>>2]|1<<f;break G}f=d;L:{if((d|0)!=(j|0)){break L}if((d+1|0)<0){break F}M:{if(d>>>0<=1073741822){h=h<<6;j=(d&-32)+32|0;h=h>>>0>j>>>0?h:j;f=d;if(d>>>0>=h>>>0){break L}if((h|0)<0){break F}break M}h=2147483647;f=-1;if(d>>>0>=2147483647){break L}}j=(h-1>>>5|0)+1|0;f=pl(j<<2);h=J[l+32>>2];J[f+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;N:{O:{if(!d){break O}n=d>>>5|0;if(d>>>0>=32){ok(f,h,n<<2)}p=d&31;if(!p){break O}n=n<<2;m=n+f|0;p=-1>>>32-p|0;J[m>>2]=J[m>>2]&(p^-1)|p&J[h+n>>2];J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;break N}J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;f=d;if(!h){break L}}hl(h);f=J[l+36>>2]}J[l+36>>2]=f+1;d=J[l+32>>2]+(f>>>3&536870908)|0;h=J[d>>2];ca=d,da=im(f)&h,J[ca>>2]=da}i=i+1|0;if((k|0)!=(i|0)){continue}break E}break}Ia();C()}d=J[g+24>>2];f=J[d>>2];d=J[d+4>>2];i=J[s+4>>2];J[g+232>>2]=J[s>>2];J[g+236>>2]=i;J[g+224>>2]=f;J[g+228>>2]=d;Qd(g+200|0,_,g+232|0,g+224|0);d=c+S|0;J[d>>2]=J[g+200>>2];J[d+4>>2]=J[g+204>>2];d=J[g+36>>2];if(d){J[g+40>>2]=d;hl(d)}d=J[g+24>>2];if(d){J[g+28>>2]=d;hl(d)}d=(D|0)>2;D=w;if(d){continue}break}break c}Ia();C()}d=J[g+144>>2];if((e|0)>0){pk(d,0,e<<2)}e=J[d>>2];d=J[d+4>>2];f=J[b+4>>2];J[g+200>>2]=J[b>>2];J[g+204>>2]=f;J[g+232>>2]=e;J[g+236>>2]=d;Qd(g+8|0,a+8|0,g+200|0,g+232|0);J[c>>2]=J[g+8>>2];J[c+4>>2]=J[g+12>>2];if(r){hl(r)}a=J[g+128>>2];if(a){J[g+132>>2]=a;hl(a)}a=J[g+180>>2];if(a){J[g+184>>2]=a;hl(a)}a=J[g+168>>2];if(a){J[g+172>>2]=a;hl(a)}a=J[g+156>>2];if(a){J[g+160>>2]=a;hl(a)}a=J[g+144>>2];if(a){J[g+148>>2]=a;hl(a)}fa=g+240|0;return 1}function Sg(a,b){a=a|0;b=b|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,t=0,u=0,v=0;i=fa-32|0;fa=i;c=J[b+8>>2];a:{b:{if(K[b+288|0]){c=Wj(c);e=J[b+12>>2];J[b+12>>2]=c;if(e){break b}break a}c=Vj(c);e=J[b+12>>2];J[b+12>>2]=c;if(!e){break a}}Tg(e)}c=J[b+12>>2];c:{if(!(J[c+40>>2]!=((J[c+4>>2]-J[c>>2]>>2>>>0)/3|0)?c:0)){b=pl(32);H[b+29|0]=0;c=K[1828]|K[1829]<<8|(K[1830]<<16|K[1831]<<24);d=K[1824]|K[1825]<<8|(K[1826]<<16|K[1827]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1823]|K[1824]<<8|(K[1825]<<16|K[1826]<<24);d=K[1819]|K[1820]<<8|(K[1821]<<16|K[1822]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1815]|K[1816]<<8|(K[1817]<<16|K[1818]<<24);d=K[1811]|K[1812]<<8|(K[1813]<<16|K[1814]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1807]|K[1808]<<8|(K[1809]<<16|K[1810]<<24);d=K[1803]|K[1804]<<8|(K[1805]<<16|K[1806]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,29);hl(b);break c}J[b+264>>2]=b;yb((J[c+28>>2]-J[c+24>>2]>>2)-J[c+44>>2]|0,J[J[b+4>>2]+44>>2]);c=J[b+12>>2];yb(((J[c+4>>2]-J[c>>2]>>2>>>0)/3|0)-J[c+40>>2]|0,J[J[b+4>>2]+44>>2]);c=J[b+8>>2];d=J[c+100>>2];c=J[c+96>>2];H[i+16|0]=0;o=b+28|0;j=(d-c|0)/12|0;c=i+16|0;Jg(o,j,c);d=J[b+12>>2];e=J[d+28>>2];d=J[d+24>>2];J[i+16>>2]=-1;Ig(b+52|0,e-d>>2,c);c=J[b+40>>2];J[b+44>>2]=c;d:{e:{f:{g:{h:{i:{j:{d=J[b+12>>2];e=J[d+4>>2]-J[d>>2]>>2;e=e-((e>>>0)%3|0)|0;k:{if(e>>>0<=J[b+48>>2]-c>>2>>>0){break k}if(e>>>0>=1073741824){break j}g=e<<2;e=pl(g);J[b+44>>2]=e;J[b+40>>2]=e;J[b+48>>2]=e+g;if(!c){break k}hl(c);d=J[b+12>>2]}c=J[d+28>>2];d=J[d+24>>2];H[i+16|0]=0;Jg(b+84|0,c-d>>2,i+16|0);J[b+164>>2]=-1;J[b+168>>2]=0;J[b+100>>2]=J[b+96>>2];J[b+112>>2]=J[b+108>>2];if(J[b+132>>2]){d=J[b+128>>2];if(d){while(1){c=J[d>>2];hl(d);d=c;if(c){continue}break}}d=0;J[b+128>>2]=0;c=J[b+124>>2];l:{if(!c){break l}if(c>>>0>=4){k=c&-4;g=0;while(1){e=d<<2;J[e+J[b+120>>2]>>2]=0;J[J[b+120>>2]+(e|4)>>2]=0;J[J[b+120>>2]+(e|8)>>2]=0;J[J[b+120>>2]+(e|12)>>2]=0;d=d+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}c=c&3;if(!c){break l}e=0;while(1){J[J[b+120>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}J[b+132>>2]=0}J[b+144>>2]=0;c=J[b+12>>2];d=J[c+28>>2];c=J[c+24>>2];J[i+16>>2]=-1;Ig(b+152|0,d-c>>2,i+16|0);c=J[b+72>>2];J[b+76>>2]=c;s=b+72|0;d=J[b+12>>2];d=J[d+4>>2]-J[d>>2]|0;e=(d>>2>>>0)/3|0;m:{if(e>>>0<=J[b+80>>2]-c>>2>>>0){break m}if((d|0)<0){break i}e=e<<2;d=pl(e);J[b+76>>2]=d;J[b+72>>2]=d;J[b+80>>2]=d+e;if(!c){break m}hl(c)}J[b- -64>>2]=0;if(!Ug(b)){b=pl(32);H[b+29|0]=0;c=K[1768]|K[1769]<<8|(K[1770]<<16|K[1771]<<24);d=K[1764]|K[1765]<<8|(K[1766]<<16|K[1767]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1763]|K[1764]<<8|(K[1765]<<16|K[1766]<<24);d=K[1759]|K[1760]<<8|(K[1761]<<16|K[1762]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1755]|K[1756]<<8|(K[1757]<<16|K[1758]<<24);d=K[1751]|K[1752]<<8|(K[1753]<<16|K[1754]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1747]|K[1748]<<8|(K[1749]<<16|K[1750]<<24);d=K[1743]|K[1744]<<8|(K[1745]<<16|K[1746]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,29);hl(b);break c}c=b;n:{if(K[b+288|0]){break n}b=J[c+8>>2];e=J[b+12>>2]-J[b+8>>2]|0;g=e>>2;d=g-1|0;b=J[c+176>>2];f=J[c+172>>2];k=(b-f|0)/136|0;o:{if(d>>>0>k>>>0){ah(c+172|0,d-k|0);break o}if(d>>>0>=k>>>0){break o}k=f+P(d,136)|0;if((k|0)!=(b|0)){while(1){d=b-136|0;f=J[d+116>>2];if(f){J[b-16>>2]=f;hl(f)}f=J[b-32>>2];if(f){J[b-28>>2]=f;hl(f)}bh(b-132|0);b=d;if((k|0)!=(b|0)){continue}break}}J[c+176>>2]=k}if((e|0)==4|(e|0)<=0){break n}k=(g|0)<=1?1:g;b=0;p:{while(1){f=J[J[J[c+8>>2]+8>>2]+(b<<2)>>2];if(J[f+56>>2]){h=P(n,136);d=h+J[c+172>>2]|0;J[d>>2]=b;e=J[d+104>>2];J[d+108>>2]=e;g=J[c+12>>2];g=J[g+4>>2]-J[g>>2]|0;j=g>>2;q:{if(j>>>0<=J[d+112>>2]-e>>2>>>0){break q}if((g|0)<0){break p}g=pl(g);J[d+108>>2]=g;J[d+104>>2]=g;J[d+112>>2]=g+(j<<2);if(!e){break q}hl(e)}d=h+J[c+172>>2]|0;J[d+128>>2]=0;Uj(d+4|0,J[c+8>>2],J[c+12>>2],f);n=n+1|0}b=b+1|0;if((k|0)!=(b|0)){continue}break}break n}Ia();C()}b=(J[c+176>>2]-J[c+172>>2]|0)/136|0;H[i+31|0]=b;d=J[J[c+4>>2]+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){Ba(d,J[d+4>>2],i+31|0,i+32|0);b=K[i+31|0]}J[c+284>>2]=b&255;b=J[c+12>>2];d=J[b>>2];b=J[b+4>>2];n=c+200|0;Vg(n);g=0;J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;k=0;b=b-d|0;if((b|0)>0){b=b>>>2|0;t=b>>>0<=1?1:b;d=0;while(1){b=(d>>>0)/3|0;p=b>>>5<<2;r=1<<b;r:{if(r&J[J[o>>2]+p>>2]){break r}if(Nj(J[c+12>>2],b)){break r}J[i+8>>2]=0;b=Wg(c,b,i+8|0);De(n,b);f=J[i+8>>2];if(b){h=-1;e=-1;j=-1;s:{if((f|0)==-1){break s}l=J[J[c+12>>2]>>2];b=l+(f<<2)|0;h=f+1|0;h=(h>>>0)%3|0?h:f-2|0;if((h|0)!=-1){e=J[l+(h<<2)>>2]}h=J[b>>2];t:{if((f>>>0)%3|0){b=f-1|0;break t}b=f+2|0;j=-1;if((b|0)==-1){break s}}j=J[l+(b<<2)>>2]}b=J[c+84>>2];l=b+(h>>>3&536870908)|0;J[l>>2]=J[l>>2]|1<<h;h=b+(e>>>3&536870908)|0;J[h>>2]=J[h>>2]|1<<e;b=b+(j>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<<j;b=J[c+100>>2];h=J[c+104>>2];u:{if(b>>>0<h>>>0){J[b>>2]=1;J[c+100>>2]=b+4;break u}j=b;b=J[c+96>>2];j=j-b|0;l=j>>2;e=l+1|0;if(e>>>0>=1073741824){break h}q=l<<2;h=h-b|0;l=h>>>1|0;e=h>>>0>=2147483644?1073741823:e>>>0<l>>>0?l:e;if(e){if(e>>>0>=1073741824){break g}h=pl(e<<2)}else{h=0}l=q+h|0;J[l>>2]=1;q=e<<2;e=ok(h,b,j);J[c+104>>2]=q+e;J[c+100>>2]=l+4;J[c+96>>2]=e;if(!b){break u}hl(b)}b=J[o>>2]+p|0;J[b>>2]=J[b>>2]|r;h=-1;if((f|0)!=-1){b=f+1|0;h=(b>>>0)%3|0?b:f-2|0}v:{if(g>>>0<m>>>0){J[g>>2]=h;g=g+4|0;J[i+20>>2]=g;break v}e=g-k>>2;b=e+1|0;if(b>>>0>=1073741824){break f}j=m-k|0;m=j>>>1|0;b=j>>>0>=2147483644?1073741823:b>>>0<m>>>0?m:b;if(b){if(b>>>0>=1073741824){break g}j=pl(b<<2)}else{j=0}e=j+(e<<2)|0;J[e>>2]=h;m=j+(b<<2)|0;b=e+4|0;if((g|0)!=(k|0)){while(1){e=e-4|0;g=g-4|0;J[e>>2]=J[g>>2];if((g|0)!=(k|0)){continue}break}}J[i+24>>2]=m;J[i+20>>2]=b;J[i+16>>2]=e;if(k){hl(k)}k=e;g=b}if((f|0)==-1){break r}b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if((b|0)==-1){break r}b=J[J[J[c+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break r}e=(b>>>0)/3|0;if(J[J[o>>2]+(e>>>3&268435452)>>2]>>>e&1){break r}if(Xg(c,b)){break r}break e}if((f|0)!=-1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0}else{b=-1}Yg(c,b,1);if(!Xg(c,J[i+8>>2])){break e}}d=d+1|0;if((t|0)!=(d|0)){continue}break}}d=J[c+72>>2];b=J[c+76>>2];w:{if((d|0)==(b|0)){break w}e=b-4|0;if(e>>>0<=d>>>0){break w}while(1){f=J[d>>2];J[d>>2]=J[e>>2];J[e>>2]=f;d=d+4|0;e=e-4|0;if(d>>>0<e>>>0){continue}break}}Zg(s,b,k,g);x:{if(J[c+172>>2]==J[c+176>>2]){break x}b=J[c+8>>2];d=J[b+100>>2];b=J[b+96>>2];H[i+8|0]=0;Jg(o,(d-b|0)/12|0,i+8|0);d=J[c+72>>2];b=J[c+76>>2];if((d|0)==(b|0)){break x}while(1){_g(c,J[d>>2]);d=d+4|0;if((b|0)!=(d|0)){continue}break}}e=n;h=e+32|0;b=J[e+64>>2];b=J[(ka[J[J[b>>2]+40>>2]](b)|0)+56>>2];li(h,P((J[b+100>>2]-J[b+96>>2]|0)/12|0,3),0,1);b=J[e+72>>2]-J[e+68>>2]|0;y:{if((b|0)<=0){break y}d=J[e+52>>2];if(!J[e+48>>2]&(d|0)<=0|(d|0)<0){break y}b=b>>>2|0;while(1){g=b;b=b-1|0;d=J[e+52>>2];z:{if(!J[e+48>>2]&(d|0)<=0|(d|0)<0){break z}o=J[J[e+68>>2]+(b<<2)>>2];if(!(171>>>o&1)){break z}j=J[(o<<2)+11152>>2];f=J[e+44>>2];d=J[f+4>>2];n=0;while(1){m=d>>>3|0;p=m+J[f>>2]|0;l=K[p|0];d=d&7;u=p,v=im(d)&l,H[u|0]=v;m=m+J[f>>2]|0;H[m|0]=K[m|0]|(o>>>n&1)<<d;d=J[f+4>>2]+1|0;J[f+4>>2]=d;n=n+1|0;if((j|0)!=(n|0)){continue}break}}if((g|0)>1){continue}break}}mi(h);b=c+232|0;Ee(e,b);if(!(!J[c+280>>2]|J[c+284>>2]<=0)){d=0;while(1){Ee(J[c+280>>2]+(d<<5)|0,b);d=d+1|0;if((d|0)<J[c+284>>2]){continue}break}}yb(J[c+272>>2]-J[c+268>>2]>>2,J[J[c+4>>2]+44>>2]);yb(J[c+168>>2],J[J[c+4>>2]+44>>2]);if(!$g(c)){b=pl(32);H[b+28|0]=0;c=K[1909]|K[1910]<<8|(K[1911]<<16|K[1912]<<24);H[b+24|0]=c;H[b+25|0]=c>>>8;H[b+26|0]=c>>>16;H[b+27|0]=c>>>24;c=K[1905]|K[1906]<<8|(K[1907]<<16|K[1908]<<24);d=K[1901]|K[1902]<<8|(K[1903]<<16|K[1904]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1897]|K[1898]<<8|(K[1899]<<16|K[1900]<<24);d=K[1893]|K[1894]<<8|(K[1895]<<16|K[1896]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1889]|K[1890]<<8|(K[1891]<<16|K[1892]<<24);d=K[1885]|K[1886]<<8|(K[1887]<<16|K[1888]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,28);hl(b);break d}b=J[J[c+4>>2]+44>>2];d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){Ba(b,J[b+4>>2],J[c+232>>2],J[c+236>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break d}Ia();C()}Ia();C()}Ia();C()}Ya();C()}Ia();C()}b=pl(48);H[b+32|0]=0;c=K[1703]|K[1704]<<8|(K[1705]<<16|K[1706]<<24);d=K[1699]|K[1700]<<8|(K[1701]<<16|K[1702]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1695]|K[1696]<<8|(K[1697]<<16|K[1698]<<24);d=K[1691]|K[1692]<<8|(K[1693]<<16|K[1694]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1687]|K[1688]<<8|(K[1689]<<16|K[1690]<<24);d=K[1683]|K[1684]<<8|(K[1685]<<16|K[1686]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1679]|K[1680]<<8|(K[1681]<<16|K[1682]<<24);d=K[1675]|K[1676]<<8|(K[1677]<<16|K[1678]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,32);hl(b)}if(!k){break c}hl(k)}fa=i+32|0}function Uj(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=fa-16|0;fa=f;a:{b:{if(c){J[a+88>>2]=0;J[a+92>>2]=0;e=J[a+84>>2];J[a+84>>2]=0;if(e){hl(e)}J[a+76>>2]=0;J[a+80>>2]=0;e=J[a+72>>2];J[a+72>>2]=0;if(e){hl(e)}e=J[c>>2];g=J[c+4>>2];H[f+15|0]=0;Jg(a,g-e>>2,f+15|0);e=J[c+28>>2];g=J[c+24>>2];H[f+14|0]=0;Jg(a+12|0,e-g>>2,f+14|0);Ig(a+28|0,J[c+4>>2]-J[c>>2]>>2,14948);g=J[c+28>>2]-J[c+24>>2]|0;h=g>>2;j=J[a+52>>2];c:{if(h>>>0<=J[a+60>>2]-j>>2>>>0){break c}if((g|0)<0){break a}e=J[a+56>>2];g=pl(g);h=g+(h<<2)|0;i=g+(e-j&-4)|0;g=i;if((e|0)!=(j|0)){while(1){g=g-4|0;e=e-4|0;J[g>>2]=J[e>>2];if((e|0)!=(j|0)){continue}break}}J[a+60>>2]=h;J[a+56>>2]=i;J[a+52>>2]=g;if(!j){break c}hl(j)}g=J[c+28>>2]-J[c+24>>2]|0;h=g>>2;j=J[a+40>>2];d:{if(h>>>0<=J[a+48>>2]-j>>2>>>0){break d}if((g|0)<0){break a}e=J[a+44>>2];g=pl(g);h=g+(h<<2)|0;i=g+(e-j&-4)|0;g=i;if((e|0)!=(j|0)){while(1){g=g-4|0;e=e-4|0;J[g>>2]=J[e>>2];if((e|0)!=(j|0)){continue}break}}J[a+48>>2]=h;J[a+44>>2]=i;J[a+40>>2]=g;if(!j){break d}hl(j)}H[a+24|0]=1;J[a+64>>2]=c}fa=f+16|0;c=(c|0)!=0;break b}if(c){J[a+88>>2]=0;J[a+92>>2]=0;c=J[a+84>>2];J[a+84>>2]=0;if(c){hl(c)}J[a+76>>2]=0;J[a+80>>2]=0;c=J[a+72>>2];J[a+72>>2]=0;if(c){hl(c)}h=J[a+64>>2];if(J[h+4>>2]!=J[h>>2]){c=0;while(1){m=(c>>>0)/3|0;f=Nj(h,m);h=J[a+64>>2];e:{if(f){break e}j=J[J[h+12>>2]+(c<<2)>>2];f:{g:{if((j|0)==-1){f=J[a>>2]+(c>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<<c;e=-1;f=c+1|0;f=(f>>>0)%3|0?f:c-2|0;if((f|0)!=-1){e=J[J[h>>2]+(f<<2)>>2]}f=J[a+12>>2];g=f+(e>>>3&536870908)|0;J[g>>2]=J[g>>2]|1<<e;if((c>>>0)%3|0){e=c-1|0;break g}g=-1;e=c+2|0;if((e|0)!=-1){break g}break f}if(c>>>0>j>>>0){break e}e=-1;k=K[d+84|0];g=-1;l=c+1|0;n=c-2|0;i=(l>>>0)%3|0?l:n;if((i|0)>=0){f=(i>>>0)/3|0;g=J[(J[b+96>>2]+P(f,12)|0)+(i-P(f,3)<<2)>>2]}f=j+((j>>>0)%3|0?-1:2)|0;if((f|0)>=0){e=(f>>>0)/3|0;e=J[(J[b+96>>2]+P(e,12)|0)+(f-P(e,3)<<2)>>2]}if(!k){o=J[d+68>>2];e=J[o+(e<<2)>>2];g=J[(g<<2)+o>>2]}if((e|0)==(g|0)){e=-1;g=-1;if((i|0)!=-1){g=i+1|0;g=(g>>>0)%3|0?g:i-2|0}h:{if((f|0)==-1){break h}if((f>>>0)%3|0){e=f-1|0;break h}e=f+2|0}f=-1;i=-1;if((g|0)>=0){i=(g>>>0)/3|0;i=J[(J[b+96>>2]+P(i,12)|0)+(g-P(i,3)<<2)>>2]}if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[b+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}if(!k){e=J[d+68>>2];f=J[e+(f<<2)>>2];i=J[e+(i<<2)>>2]}if((f|0)==(i|0)){break e}}H[a+24|0]=0;f=J[a>>2];e=f+(c>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<<c;f=f+(j>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<<j;i=-1;f=(l>>>0)%3|0?l:n;if((f|0)!=-1){i=J[J[h>>2]+(f<<2)>>2]}f=J[a+12>>2];e=f+(i>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<<i;i:{j:{if((P(m,3)|0)!=(c|0)){e=c-1|0;break j}e=c+2|0;g=-1;if((e|0)==-1){break i}}g=J[J[h>>2]+(e<<2)>>2]}e=(g>>>3&536870908)+f|0;J[e>>2]=J[e>>2]|1<<g;g=-1;e=j+1|0;e=(e>>>0)%3|0?e:j-2|0;if((e|0)!=-1){g=J[J[h>>2]+(e<<2)>>2]}e=(g>>>3&536870908)+f|0;J[e>>2]=J[e>>2]|1<<g;if((j>>>0)%3|0){e=j-1|0;break g}g=-1;e=j+2|0;if((e|0)==-1){break f}}g=J[J[h>>2]+(e<<2)>>2]}f=(g>>>3&536870908)+f|0;J[f>>2]=J[f>>2]|1<<g}c=c+1|0;if(c>>>0<J[h+4>>2]-J[h>>2]>>2>>>0){continue}break}}if(!(!b|!d)){h=b;j=d;b=0;l=0;e=a;J[e+56>>2]=J[e+52>>2];J[e+44>>2]=J[e+40>>2];k:{d=J[e+64>>2];f=J[d+24>>2];if((f|0)==J[d+28>>2]){break k}l:{m:{while(1){a=b;b=J[(l<<2)+f>>2];n:{if((b|0)==-1){b=a;break n}if((b|0)<0){c=-1}else{c=(b>>>0)/3|0;c=J[(J[h+96>>2]+P(c,12)|0)+(b-P(c,3)<<2)>>2]}c=K[j+84|0]?c:J[J[j+68>>2]+(c<<2)>>2];d=J[e+56>>2];g=J[e+60>>2];o:{if(d>>>0<g>>>0){J[d>>2]=c;J[e+56>>2]=d+4;break o}i=J[e+52>>2];m=d-i>>2;f=m+1|0;if(f>>>0>=1073741824){break a}g=g-i|0;k=g>>>1|0;k=g>>>0>=2147483644?1073741823:f>>>0<k>>>0?k:f;if(k){if(k>>>0>=1073741824){break m}g=pl(k<<2)}else{g=0}f=g+(m<<2)|0;J[f>>2]=c;c=f+4|0;if((d|0)!=(i|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(i|0)){continue}break}}J[e+60>>2]=g+(k<<2);J[e+56>>2]=c;J[e+52>>2]=f;if(!i){break o}hl(i)}p:{q:{if(!(J[J[e+12>>2]+(l>>>3&536870908)>>2]>>>l&1)){break q}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)==-1|J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break q}c=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break q}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1){break q}g=J[e+64>>2];i=J[e>>2];while(1){c=d;d=-1;f=c+1|0;f=(f>>>0)%3|0?f:c-2|0;r:{if((f|0)==-1|J[i+(f>>>3&536870908)>>2]>>>f&1){break r}f=J[J[g+12>>2]+(f<<2)>>2];if((f|0)==-1){break r}d=f+1|0;d=(d>>>0)%3|0?d:f-2|0}if((b|0)!=(d|0)){if((d|0)==-1){break p}continue}break}break k}c=b}J[J[e+28>>2]+(c<<2)>>2]=a;d=J[e+44>>2];s:{if((d|0)!=J[e+48>>2]){J[d>>2]=c;J[e+44>>2]=d+4;break s}g=J[e+40>>2];b=d-g|0;k=b>>2;f=k+1|0;if(f>>>0>=1073741824){break l}i=b>>>1|0;i=b>>>0>=2147483644?1073741823:f>>>0<i>>>0?i:f;if(i){if(i>>>0>=1073741824){break m}b=pl(i<<2)}else{b=0}f=b+(k<<2)|0;J[f>>2]=c;k=f+4|0;if((d|0)!=(g|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+48>>2]=b+(i<<2);J[e+44>>2]=k;J[e+40>>2]=f;if(!g){break s}hl(g)}b=a+1|0;d=J[e+64>>2];if((c|0)==-1){break n}t:{if((c>>>0)%3|0){f=c-1|0;break t}f=c+2|0;if((f|0)==-1){break n}}f=J[J[d+12>>2]+(f<<2)>>2];if((f|0)==-1){break n}i=f+((f>>>0)%3|0?-1:2)|0;if((i|0)==-1|(c|0)==(i|0)){break n}while(1){d=i+1|0;d=(d>>>0)%3|0?d:i-2|0;if(J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){g=(i|0)<0?-1:J[(J[h+96>>2]+P((i>>>0)/3|0,12)|0)+((i>>>0)%3<<2)>>2];g=K[j+84|0]?g:J[J[j+68>>2]+(g<<2)>>2];d=J[e+56>>2];f=J[e+60>>2];u:{if(d>>>0<f>>>0){J[d>>2]=g;J[e+56>>2]=d+4;break u}k=J[e+52>>2];n=d-k>>2;a=n+1|0;if(a>>>0>=1073741824){break a}f=f-k|0;m=f>>>1|0;m=f>>>0>=2147483644?1073741823:a>>>0<m>>>0?m:a;if(m){if(m>>>0>=1073741824){break m}a=pl(m<<2)}else{a=0}f=a+(n<<2)|0;J[f>>2]=g;g=f+4|0;if((d|0)!=(k|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(k|0)){continue}break}}J[e+60>>2]=a+(m<<2);J[e+56>>2]=g;J[e+52>>2]=f;if(!k){break u}hl(k)}g=b+1|0;d=J[e+44>>2];v:{if((d|0)!=J[e+48>>2]){J[d>>2]=i;J[e+44>>2]=d+4;break v}k=J[e+40>>2];a=d-k|0;n=a>>2;f=n+1|0;if(f>>>0>=1073741824){break l}m=a>>>1|0;m=a>>>0>=2147483644?1073741823:f>>>0<m>>>0?m:f;if(m){if(m>>>0>=1073741824){break m}a=pl(m<<2)}else{a=0}f=a+(n<<2)|0;J[f>>2]=i;n=f+4|0;if((d|0)!=(k|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(k|0)){continue}break}}J[e+48>>2]=a+(m<<2);J[e+44>>2]=n;J[e+40>>2]=f;if(!k){break v}hl(k)}a=b;b=g}J[J[e+28>>2]+(i<<2)>>2]=a;d=J[e+64>>2];w:{if((i>>>0)%3|0){f=i-1|0;break w}f=i+2|0;if((f|0)==-1){break n}}f=J[J[d+12>>2]+(f<<2)>>2];if((f|0)==-1){break n}i=f+((f>>>0)%3|0?-1:2)|0;if((i|0)==-1){break n}if((c|0)!=(i|0)){continue}break}}l=l+1|0;f=J[d+24>>2];if(l>>>0<J[d+28>>2]-f>>2>>>0){continue}break}break k}Ya();C()}break a}return}b=0;f=0;e=a;J[e+56>>2]=J[e+52>>2];J[e+44>>2]=J[e+40>>2];x:{d=J[e+64>>2];h=J[d+24>>2];if((h|0)==J[d+28>>2]){break x}y:{z:{while(1){a=b;b=J[(f<<2)+h>>2];A:{if((b|0)==-1){b=a;break A}d=J[e+56>>2];B:{if((d|0)!=J[e+60>>2]){J[d>>2]=a;J[e+56>>2]=d+4;break B}g=J[e+52>>2];c=d-g|0;h=c>>2;j=h+1|0;if(j>>>0>=1073741824){break a}i=c>>>1|0;j=c>>>0>=2147483644?1073741823:i>>>0>j>>>0?i:j;if(j){if(j>>>0>=1073741824){break z}c=pl(j<<2)}else{c=0}h=c+(h<<2)|0;J[h>>2]=a;i=h+4|0;if((d|0)!=(g|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+60>>2]=c+(j<<2);J[e+56>>2]=i;J[e+52>>2]=h;if(!g){break B}hl(g)}C:{D:{if(!(J[J[e+12>>2]+(f>>>3&536870908)>>2]>>>f&1)){break D}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)==-1|J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break D}c=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break D}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1){break D}j=J[e+64>>2];h=J[e>>2];while(1){c=d;d=-1;g=c+1|0;g=(g>>>0)%3|0?g:c-2|0;E:{if((g|0)==-1|J[h+(g>>>3&536870908)>>2]>>>g&1){break E}g=J[J[j+12>>2]+(g<<2)>>2];if((g|0)==-1){break E}d=g+1|0;d=(d>>>0)%3|0?d:g-2|0}if((b|0)!=(d|0)){if((d|0)==-1){break C}continue}break}break x}c=b}J[J[e+28>>2]+(c<<2)>>2]=a;d=J[e+44>>2];F:{if((d|0)!=J[e+48>>2]){J[d>>2]=c;J[e+44>>2]=d+4;break F}g=J[e+40>>2];b=d-g|0;h=b>>2;j=h+1|0;if(j>>>0>=1073741824){break y}i=b>>>1|0;j=b>>>0>=2147483644?1073741823:i>>>0>j>>>0?i:j;if(j){if(j>>>0>=1073741824){break z}b=pl(j<<2)}else{b=0}h=b+(h<<2)|0;J[h>>2]=c;i=h+4|0;if((d|0)!=(g|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+48>>2]=b+(j<<2);J[e+44>>2]=i;J[e+40>>2]=h;if(!g){break F}hl(g)}b=a+1|0;d=J[e+64>>2];if((c|0)==-1){break A}G:{if((c>>>0)%3|0){h=c-1|0;break G}h=c+2|0;if((h|0)==-1){break A}}g=J[J[d+12>>2]+(h<<2)>>2];if((g|0)==-1){break A}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)==-1|(c|0)==(g|0)){break A}while(1){d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;if(J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){d=J[e+56>>2];H:{if((d|0)!=J[e+60>>2]){J[d>>2]=b;J[e+56>>2]=d+4;break H}j=J[e+52>>2];a=d-j|0;l=a>>2;h=l+1|0;if(h>>>0>=1073741824){break a}i=a>>>1|0;i=a>>>0>=2147483644?1073741823:i>>>0>h>>>0?i:h;if(i){if(i>>>0>=1073741824){break z}a=pl(i<<2)}else{a=0}h=a+(l<<2)|0;J[h>>2]=b;l=h+4|0;if((d|0)!=(j|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(j|0)){continue}break}}J[e+60>>2]=a+(i<<2);J[e+56>>2]=l;J[e+52>>2]=h;if(!j){break H}hl(j)}j=b+1|0;d=J[e+44>>2];I:{if((d|0)!=J[e+48>>2]){J[d>>2]=g;J[e+44>>2]=d+4;break I}i=J[e+40>>2];a=d-i|0;k=a>>2;h=k+1|0;if(h>>>0>=1073741824){break y}l=a>>>1|0;l=a>>>0>=2147483644?1073741823:h>>>0<l>>>0?l:h;if(l){if(l>>>0>=1073741824){break z}a=pl(l<<2)}else{a=0}h=a+(k<<2)|0;J[h>>2]=g;k=h+4|0;if((d|0)!=(i|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(i|0)){continue}break}}J[e+48>>2]=a+(l<<2);J[e+44>>2]=k;J[e+40>>2]=h;if(!i){break I}hl(i)}a=b;b=j}J[J[e+28>>2]+(g<<2)>>2]=a;d=J[e+64>>2];J:{if((g>>>0)%3|0){h=g-1|0;break J}h=g+2|0;if((h|0)==-1){break A}}g=J[J[d+12>>2]+(h<<2)>>2];if((g|0)==-1){break A}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)==-1){break A}if((c|0)!=(g|0)){continue}break}}f=f+1|0;h=J[d+24>>2];if(f>>>0<J[d+28>>2]-h>>2>>>0){continue}break}break x}Ya();C()}break a}}return}Ia();C()}function Mj(a){var 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,A=0,B=0;z=fa-16|0;fa=z;b=pl(88);J[b>>2]=0;J[b+4>>2]=0;J[b+56>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;c=b- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+60>>2]=b;c=a;w=fa-16|0;fa=w;J[b+80>>2]=0;J[b+84>>2]=0;d=J[b+76>>2];a=b;J[b+76>>2]=0;if(d){hl(d)}J[a+68>>2]=0;J[a+72>>2]=0;b=a- -64|0;d=J[b>>2];J[b>>2]=0;if(d){hl(d)}f=J[c+4>>2];d=J[c>>2];b=(f-d|0)/12|0;l=P(b,3);i=J[a>>2];e=J[a+4>>2]-i>>2;a:{if(l>>>0>e>>>0){lh(a,l-e|0);f=J[c+4>>2];d=J[c>>2];b=(f-d|0)/12|0;break a}if(e>>>0<=l>>>0){break a}J[a+4>>2]=i+(l<<2)}b:{if((d|0)==(f|0)){break b}f=b>>>0<=1?1:b;e=f&1;g=J[a>>2];c=0;if(b>>>0>=2){i=f&-2;b=0;while(1){j=P(c,12);f=j+g|0;l=d+j|0;J[f>>2]=J[l>>2];J[g+(j|4)>>2]=J[l+4>>2];J[f+8>>2]=J[l+8>>2];f=P(c|1,12);l=f+g|0;f=d+f|0;J[l>>2]=J[f>>2];J[l+4>>2]=J[f+4>>2];J[l+8>>2]=J[f+8>>2];c=c+2|0;b=b+2|0;if((i|0)!=(b|0)){continue}break}}if(!e){break b}c=P(c,12);b=c+g|0;c=c+d|0;J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2]}J[w+12>>2]=-1;c=0;f=0;g=0;o=fa-32|0;fa=o;c:{s=w+12|0;d:{if(!s){break d}b=J[a+4>>2];j=J[a>>2];e=b-j|0;m=e>>2;d=J[a+12>>2];i=J[a+16>>2]-d>>2;e:{if(m>>>0>i>>>0){rb(a+12|0,m-i|0,14880);b=J[a+4>>2];j=J[a>>2];e=b-j|0;m=e>>2;break e}if(i>>>0<=m>>>0){break e}J[a+16>>2]=d+(m<<2)}J[o+24>>2]=0;J[o+16>>2]=0;J[o+20>>2]=0;d=(b|0)==(j|0);if(!d){if((e|0)<0){break c}f=pl(e);J[o+20>>2]=f;J[o+16>>2]=f;J[o+24>>2]=(m<<2)+f}f:{g:{h:{i:{j:{if(e){while(1){d=J[(c<<2)+j>>2];e=J[o+20>>2]-f>>2;k:{if(d>>>0<e>>>0){break k}J[o>>2]=0;i=d+1|0;if(i>>>0>e>>>0){vb(o+16|0,i-e|0,o);j=J[a>>2];b=J[a+4>>2];f=J[o+16>>2];break k}if(e>>>0<=i>>>0){break k}J[o+20>>2]=(i<<2)+f}d=(d<<2)+f|0;J[d>>2]=J[d>>2]+1;c=c+1|0;e=b-j|0;m=e>>2;if(c>>>0<m>>>0){continue}break}break j}e=0;if(!d){break i}break h}if((b|0)==(j|0)){e=0;break h}if(e>>>0>=2147483645){break g}}e=pl(e<<1);pk(e,255,m<<3)}J[o+8>>2]=0;J[o>>2]=0;J[o+4>>2]=0;c=J[o+20>>2];b=c-f|0;y=b>>2;l:{m:{if((c|0)==(f|0)){break m}if((b|0)<0){break l}v=pl(b);J[o>>2]=v;J[o+8>>2]=(y<<2)+v;q=pk(v,0,b);J[o+4>>2]=q+b;b=y>>>0<=1?1:y;l=b&3;c=0;if(b-1>>>0>=3){i=b&-4;while(1){p=g<<2;J[p+q>>2]=c;b=p|4;c=J[f+p>>2]+c|0;J[b+q>>2]=c;d=p|8;c=c+J[b+f>>2]|0;J[d+q>>2]=c;b=p|12;c=c+J[d+f>>2]|0;J[b+q>>2]=c;c=c+J[b+f>>2]|0;g=g+4|0;h=h+4|0;if((i|0)!=(h|0)){continue}break}}if(!l){break m}while(1){b=g<<2;J[b+q>>2]=c;g=g+1|0;c=J[b+f>>2]+c|0;r=r+1|0;if((l|0)!=(r|0)){continue}break}}if(!m){break f}u=J[a+40>>2];k=J[a+12>>2];l=0;while(1){q=l<<2;d=q+j|0;r=-1;b=l+1|0;c=(b>>>0)%3|0?b:l-2|0;if((c|0)!=-1){r=J[(c<<2)+j>>2]}p=J[d>>2];n:{o:{if(!((l>>>0)%3|0)){h=-1;c=l+2|0;if((c|0)!=-1){h=J[(c<<2)+j>>2]}if(!((p|0)==(r|0)|(h|0)==(p|0))&(h|0)!=(r|0)){break o}u=u+1|0;J[a+40>>2]=u;b=l+3|0;break n}h=J[d-4>>2]}c=h<<2;t=J[c+f>>2];p:{q:{if((t|0)<=0){break q}c=J[c+v>>2];g=0;while(1){i=(c<<3)+e|0;d=J[i>>2];if((d|0)==-1){break q}r:{if((d|0)!=(r|0)){break r}n=J[i+4>>2];if((n|0)!=-1){d=J[(n<<2)+j>>2]}else{d=-1}if((d|0)==(p|0)){break r}while(1){s:{d=c;g=g+1|0;if((t|0)<=(g|0)){break s}c=d+1|0;p=(c<<3)+e|0;x=J[p>>2];i=(d<<3)+e|0;J[i+4>>2]=J[p+4>>2];J[i>>2]=x;if((x|0)!=-1){continue}}break}J[(d<<3)+e>>2]=-1;if((n|0)==-1){break q}J[k+q>>2]=n;J[k+(n<<2)>>2]=l;break p}c=c+1|0;g=g+1|0;if((t|0)!=(g|0)){continue}break}}c=r<<2;d=J[c+f>>2];if((d|0)<=0){break p}c=J[c+v>>2];g=0;while(1){i=(c<<3)+e|0;if(J[i>>2]==-1){J[i>>2]=h;J[i+4>>2]=l;break p}c=c+1|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}}}l=b;if(l>>>0<m>>>0){continue}break}break f}break c}Ja(1313);C()}J[s>>2]=y;if(v){hl(v)}if(e){hl(e)}c=J[o+16>>2];if(!c){break d}J[o+20>>2]=c;hl(c)}fa=o+32|0;x=(s|0)!=0;if(x){n=fa-32|0;fa=n;c=J[a>>2];g=J[a+4>>2];J[n+24>>2]=0;J[n+16>>2]=0;J[n+20>>2]=0;if((c|0)==(g|0)){b=g}else{c=g-c|0;if((c|0)<0){break c}d=c>>2;b=(d-1>>>5|0)+1|0;c=pl(b<<2);J[n+24>>2]=b;J[n+20>>2]=0;J[n+16>>2]=c;ci(n+16|0,d);g=J[a>>2];b=J[a+4>>2]}J[n+8>>2]=0;J[n>>2]=0;while(1){t:{k=0;m=0;if((b|0)==(g|0)){break t}while(1){e=J[n+16>>2];u:{if(J[e+(m>>>3&536870908)>>2]>>>m&1){break u}b=J[n>>2];J[n+4>>2]=b;f=J[a+12>>2];c=m;while(1){v:{d=c+1|0;i=c;c=(d>>>0)%3|0?d:c-2|0;if((c|0)==-1){break v}d=J[f+(c<<2)>>2];if((d|0)==-1){break v}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((m|0)==(c|0)|(c|0)==-1){break v}if(!(J[e+(c>>>3&536870908)>>2]>>>c&1)){continue}}break}j=i;w:{x:{y:{while(1){c=J[n+16>>2]+(j>>>3&536870908)|0;J[c>>2]=J[c>>2]|1<<j;c=j+1|0;e=(c>>>0)%3|0?c:j-2|0;g=J[a>>2];q=(j>>>0)%3|0;d=(q?-1:2)+j|0;l=J[n>>2];p=(l|0)==(b|0);z:{if(p){break z}t=J[(e<<2)+g>>2];s=J[a+12>>2];c=l;if((d|0)!=-1){f=s+(d<<2)|0;while(1){A:{if((t|0)!=J[c>>2]){break A}u=J[f>>2];h=J[c+4>>2];if((u|0)==(h|0)){break A}f=d;b=-1;c=-1;if((h|0)==-1){break w}break x}c=c+8|0;if((b|0)!=(c|0)){continue}break}break z}while(1){if((t|0)==J[c>>2]){u=-1;f=-1;h=J[c+4>>2];if((h|0)!=-1){break x}}c=c+8|0;if((b|0)!=(c|0)){continue}break}}g=J[(d<<2)+g>>2];B:{if(J[n+8>>2]!=(b|0)){J[b>>2]=g;J[b+4>>2]=e;b=b+8|0;J[n+4>>2]=b;break B}h=b-l|0;d=h>>3;f=d+1|0;if(f>>>0>=536870912){break c}c=h>>>2|0;h=h>>>0>=2147483640?536870911:c>>>0>f>>>0?c:f;if(h){if(h>>>0>=536870912){break y}f=pl(h<<3)}else{f=0}c=f+(d<<3)|0;J[c>>2]=g;J[c+4>>2]=e;d=c+8|0;if(!p){while(1){b=b-8|0;e=J[b+4>>2];c=c-8|0;J[c>>2]=J[b>>2];J[c+4>>2]=e;if((b|0)!=(l|0)){continue}break}b=J[n>>2]}J[n+8>>2]=f+(h<<3);J[n+4>>2]=d;J[n>>2]=c;if(b){hl(b)}b=d}C:{D:{if(q){c=j-1|0;break D}c=j+2|0;if((c|0)==-1){break C}}c=J[J[a+12>>2]+(c<<2)>>2];if((c|0)==-1){break C}j=c+((c>>>0)%3|0?-1:2)|0;if((i|0)==(j|0)){break C}if((j|0)!=-1){continue}}break}g=J[a>>2];break u}Ya();C()}b=J[s+(h<<2)>>2];d=f;c=h}if((u|0)!=-1){J[s+(u<<2)>>2]=-1}if((b|0)!=-1){J[s+(b<<2)>>2]=-1}J[s+(d<<2)>>2]=-1;J[s+(c<<2)>>2]=-1;k=1}m=m+1|0;b=J[a+4>>2];if(m>>>0<b-g>>2>>>0){continue}break}if(k){continue}}break}c=J[n>>2];if(c){hl(c)}c=J[n+16>>2];if(c){hl(c)}fa=n+32|0;l=0;k=fa-32|0;fa=k;f=J[w+12>>2];J[a+36>>2]=f;t=a+24|0;c=J[a+24>>2];b=J[a+28>>2]-c>>2;E:{F:{if(b>>>0<f>>>0){rb(t,f-b|0,14880);J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;break F}if(b>>>0>f>>>0){J[a+28>>2]=c+(f<<2)}J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;if(!f){break E}}if((f|0)<0){break c}b=(f-1>>>5|0)+1|0;c=pl(b<<2);J[k+24>>2]=b;J[k+20>>2]=0;J[k+16>>2]=c;ci(k+16|0,f)}c=J[a>>2];d=J[a+4>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;G:{if((c|0)==(d|0)){c=d}else{c=d-c|0;if((c|0)<0){break c}d=c>>2;b=(d-1>>>5|0)+1|0;c=pl(b<<2);J[k+8>>2]=b;J[k+4>>2]=0;J[k>>2]=c;ci(k,d);d=J[a>>2];c=J[a+4>>2]}if(c-d>>>0<12){break G}H:{while(1){q=P(l,3);e=(q<<2)+d|0;h=J[e>>2];b=-1;i=q+1|0;if((i|0)!=-1){b=J[(i<<2)+d>>2]}I:{if((b|0)==(h|0)){break I}i=J[e+8>>2];if((i|0)==(h|0)|(b|0)==(i|0)){break I}r=0;m=J[k>>2];while(1){i=q+r|0;if(!(J[(i>>>3&536870908)+m>>2]>>>i&1)){c=J[(i<<2)+d>>2];b=1<<c;e=J[k+16>>2];d=c>>>5|0;m=J[e+(d<<2)>>2];p=b&m;if(p){b=J[a+28>>2];J:{if((b|0)!=J[a+32>>2]){J[b>>2]=-1;J[a+28>>2]=b+4;break J}g=J[t>>2];j=b-g|0;e=j>>2;h=e+1|0;if(h>>>0>=1073741824){break c}d=j>>>1|0;j=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(j){if(j>>>0>=1073741824){break H}d=pl(j<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=-1;h=e+4|0;if((b|0)!=(g|0)){while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[a+32>>2]=d+(j<<2);J[a+28>>2]=h;J[a+24>>2]=e;if(!g){break J}hl(g)}b=J[a+52>>2];K:{if((b|0)!=J[a+56>>2]){J[b>>2]=c;J[a+52>>2]=b+4;break K}g=J[a+48>>2];j=b-g|0;e=j>>2;h=e+1|0;if(h>>>0>=1073741824){break c}d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break H}d=pl(h<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=c;c=e+4|0;if((b|0)!=(g|0)){while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[a+56>>2]=d+(h<<2);J[a+52>>2]=c;J[a+48>>2]=e;if(!g){break K}hl(g)}b=J[k+20>>2];c=J[k+24>>2];if((b|0)==c<<5){if((b+1|0)<0){break c}e=k+16|0;if(b>>>0<=1073741822){d=c<<6;c=(b&-32)+32|0;c=c>>>0<d>>>0?d:c}else{c=2147483647}Gc(e,c);b=J[k+20>>2]}J[k+20>>2]=b+1;e=J[k+16>>2];d=e+(b>>>3&536870908)|0;c=J[d>>2];A=d,B=im(b)&c,J[A>>2]=B;b=1<<f;d=f>>>5|0;m=J[(d<<2)+e>>2];c=f;f=c+1|0}J[(d<<2)+e>>2]=b|m;j=J[a+24>>2]+(c<<2)|0;g=J[a+12>>2];d=J[a>>2];m=J[k>>2];b=i;L:{M:{N:{while(1){if((b|0)==-1){break N}e=(b>>>3&536870908)+m|0;J[e>>2]=J[e>>2]|1<<b;J[j>>2]=b;if(p){J[(b<<2)+d>>2]=c}h=b+1|0;b=(h>>>0)%3|0?h:b-2|0;e=-1;O:{if((b|0)==-1){break O}h=J[g+(b<<2)>>2];e=-1;if((h|0)==-1){break O}b=h+1|0;e=(b>>>0)%3|0?b:h-2|0}b=e;if((i|0)!=(b|0)){continue}break}if((i|0)!=-1){break L}b=1;break M}if((i>>>0)%3|0){b=i-1|0;break M}b=i+2|0;if((b|0)==-1){break L}}b=J[g+(b<<2)>>2];if((b|0)==-1){break L}P:{if((b>>>0)%3|0){b=b-1|0;break P}b=b+2|0;if((b|0)==-1){break L}}e=J[a+12>>2];d=J[a>>2];while(1){i=(b>>>3&536870908)+m|0;J[i>>2]=J[i>>2]|1<<b;if(p){J[(b<<2)+d>>2]=c}Q:{if((b>>>0)%3|0){b=b-1|0;break Q}b=b+2|0;if((b|0)==-1){break L}}b=J[e+(b<<2)>>2];if((b|0)==-1){break L}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){continue}break}}}r=r+1|0;if((r|0)!=3){continue}break}d=J[a>>2];c=J[a+4>>2]}l=l+1|0;if(l>>>0<(c-d>>2>>>0)/3>>>0){continue}break}break G}Ya();C()}b=0;J[a+44>>2]=0;c=J[k+16>>2];d=J[k+20>>2];if(d){i=d&31;f=(d>>>3&536870908)+c|0;e=c;m=0;while(1){if(!(J[e>>2]>>>b&1)){m=m+1|0;J[a+44>>2]=m}d=(b|0)==31;b=d?0:b+1|0;e=(d<<2)+e|0;if((f|0)!=(e|0)|(b|0)!=(i|0)){continue}break}}b=J[k>>2];if(b){hl(b);c=J[k+16>>2]}if(c){hl(c)}fa=k+32|0}fa=w+16|0;if(!x){J[z+8>>2]=0;Tg(a);a=0}fa=z+16|0;return a}Ia();C()}function gl(a){a=a|0;var 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;l=fa-16|0;fa=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=J[4892];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+19608|0;d=J[a+19616>>2];a=J[d+8>>2];j:{if((b|0)==(a|0)){m=19568,n=im(c)&g,J[m>>2]=n;break j}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[4894];if(k>>>0>=h>>>0){break i}if(b){a=2<<c;a=(0-a|a)&b<<c;d=dm(0-a&a);a=d<<3;b=a+19608|0;e=J[a+19616>>2];a=J[e+8>>2];k:{if((b|0)==(a|0)){g=im(d)&g;J[4892]=g;break k}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+19608|0;f=J[4897];a=1<<(k>>>3);l:{if(!(a&g)){J[4892]=a|g;a=b;break l}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[4897]=c;J[4894]=d;break a}j=J[4893];if(!j){break i}c=J[(dm(0-j&j)<<2)+19872>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break m}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0<f>>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=J[4893];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+19872>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<<g;a=(0-a|a)&j;if(!a){break i}a=J[(dm(a&0-a)<<2)+19872>>2]}if(!a){break o}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0<f>>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[4894]-h>>>0<=f>>>0){break i}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[4894];if(a>>>0>=h>>>0){d=J[4897];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break s}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[4894]=b;J[4897]=c;a=d+8|0;break a}i=J[4895];if(i>>>0>h>>>0){b=i-h|0;J[4895]=b;c=J[4898];a=c+h|0;J[4898]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[5010]){c=J[5012]}else{J[5013]=-1;J[5014]=-1;J[5011]=4096;J[5012]=4096;J[5010]=l+12&-16^1431655768;J[5015]=0;J[5003]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[5002];if(d){c=J[5e3];g=c+b|0;if(d>>>0<g>>>0|c>>>0>=g>>>0){break a}}t:{if(!(K[20012]&4)){u:{v:{w:{x:{d=J[4898];if(d){a=20016;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0<c+J[a+4>>2]>>>0){break x}a=J[a+8>>2];if(a){continue}break}}c=fl(0);if((c|0)==-1){break u}g=b;d=J[5011];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=J[5002];if(d){a=J[5e3];f=a+g|0;if(d>>>0<f>>>0|a>>>0>=f>>>0){break u}}a=fl(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=fl(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=J[5012];c=c+(j-g|0)&0-c;if((fl(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}J[5003]=J[5003]|4}c=fl(b);a=fl(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=J[5e3]+g|0;J[5e3]=a;if(a>>>0>M[5001]){J[5001]=a}y:{e=J[4898];if(e){a=20016;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break y}a=J[a+8>>2];if(a){continue}break}break f}a=J[4896];if(!(a>>>0<=c>>>0?a:0)){J[4896]=c}a=0;J[5005]=g;J[5004]=c;J[4900]=-1;J[4901]=J[5010];J[5007]=0;while(1){d=a<<3;b=d+19608|0;J[d+19616>>2]=b;J[d+19620>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4895]=b;a=a+c|0;J[4898]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4899]=J[5014];break e}if(K[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[4898]=c;b=J[4895]+g|0;a=b-a|0;J[4895]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[4899]=J[5014];break e}d=0;break b}c=0;break c}if(M[4896]>c>>>0){J[4896]=c}b=c+g|0;a=20016;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break E}break}if(!(K[a+12|0]&8)){break D}}a=20016;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[4898]=i;a=J[4895]+a|0;J[4895]=a;J[i+4>>2]=a|1;break A}if(J[4897]==(g|0)){J[4897]=i;a=J[4894]+a|0;J[4894]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break A}f=J[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=J[g+8>>2];b=f>>>3|0;c=J[g+12>>2];if((c|0)==(d|0)){m=19568,n=J[4892]&im(b),J[m>>2]=n;break F}J[d+12>>2]=c;J[c+8>>2]=d;break F}h=J[g+24>>2];c=J[g+12>>2];G:{if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break G}H:{f=g+20|0;b=J[f>>2];if(b){break H}f=g+16|0;b=J[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=J[f>>2];if(b){continue}f=c+16|0;b=J[c+16>>2];if(b){continue}break}J[d>>2]=0}if(!h){break F}d=J[g+28>>2];b=(d<<2)+19872|0;I:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break I}m=19572,n=J[4893]&im(d),J[m>>2]=n;break F}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break F}J[c+20>>2]=b;J[b+24>>2]=c}g=e+g|0;f=J[g+4>>2];a=a+e|0}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+19608|0;c=J[4892];a=1<<(a>>>3);J:{if(!(c&a)){J[4892]=a|c;a=b;break J}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+19872|0;d=J[4893];c=1<<f;K:{if(!(d&c)){J[4893]=c|d;J[b>>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4895]=b;a=a+c|0;J[4898]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4899]=J[5014];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0<e+16>>>0?e:a;J[d+4>>2]=27;a=J[5007];J[d+16>>2]=J[5006];J[d+20>>2]=a;a=J[5005];J[d+8>>2]=J[5004];J[d+12>>2]=a;J[5006]=d+8;J[5005]=g;J[5004]=c;J[5007]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0<f>>>0){continue}break}if((d|0)==(e|0)){break e}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+19608|0;c=J[4892];a=1<<(f>>>3);L:{if(!(c&a)){J[4892]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+19872|0;d=J[4893];c=1<<a;M:{if(!(d&c)){J[4893]=c|d;J[b>>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break e}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[4895];if(a>>>0<=h>>>0){break d}b=a-h|0;J[4895]=b;c=J[4898];a=c+h|0;J[4898]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[4842]=48;a=0;break a}N:{if(!g){break N}b=J[d+28>>2];a=(b<<2)+19872|0;O:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break O}j=im(b)&j;J[4893]=j;break N}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break N}J[c+20>>2]=a;J[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break P}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+19608|0;c=J[4892];a=1<<(f>>>3);Q:{if(!(c&a)){J[4892]=a|c;a=b;break Q}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+19872|0;R:{c=1<<a;S:{if(!(c&j)){J[4893]=c|j;J[b>>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break P}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=J[c+28>>2];a=(b<<2)+19872|0;U:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break U}m=19572,n=im(b)&j,J[m>>2]=n;break T}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break T}J[d+20>>2]=a;J[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break V}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+19608|0;e=J[4897];a=1<<(k>>>3);W:{if(!(a&g)){J[4892]=a|g;a=b;break W}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[4897]=d;J[4894]=f}a=c+8|0}fa=l+16|0;return a|0}function Fb(a){a=a|0;var 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=Q(0);e=fa+-64|0;fa=e;c=J[a+4>>2];i=J[a+8>>2];a:{if((c|0)==(i|0)){J[a+72>>2]=0;b=1;break a}d=i-c>>2;m=d>>>0<=1?1:d;j=m&3;h=J[J[a+28>>2]+4>>2];d=J[h+8>>2];if(m-1>>>0>=3){m=m&-4;while(1){l=g;g=b<<2;g=(((l+K[J[d+(J[g+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|4)+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|8)+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|12)+c>>2]<<2)>>2]+24|0]|0;b=b+4|0;k=k+4|0;if((m|0)!=(k|0)){continue}break}}if(j){while(1){g=K[J[d+(J[(b<<2)+c>>2]<<2)>>2]+24|0]+g|0;b=b+1|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}o=J[h+80>>2];J[a+72>>2]=g;if((c|0)==(i|0)){b=1;break a}m=0;while(1){b=J[(m<<2)+c>>2];J[e+60>>2]=b;b:{c:{d:{e:{f:{c=J[a+28>>2];i=J[J[J[c+4>>2]+8>>2]+(b<<2)>>2];switch(J[i+28>>2]-1|0){case 0:case 2:case 4:break e;case 8:break f;default:break b}}J[e+36>>2]=-1;J[e+32>>2]=2040;J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;g=J[c+48>>2];b=pl(32);J[e+16>>2]=b;J[e+20>>2]=17;J[e+24>>2]=-2147483616;H[b+16|0]=K[1261];c=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);d=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);d=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;g=Gb(g,e+60|0,e+16|0,-1);if(H[e+27|0]<0){hl(J[e+16>>2])}g:{if((g|0)<=0){break g}j=J[J[a+28>>2]+48>>2];b=pl(32);J[e+16>>2]=b;J[e+20>>2]=19;J[e+24>>2]=-2147483616;d=0;c=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);f=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);f=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;h:{if(!Hb(j,e+60|0,e+16|0)){break h}f=J[J[a+28>>2]+48>>2];b=pl(32);J[e>>2]=b;J[e+4>>2]=18;J[e+8>>2]=-2147483616;c=K[1547]|K[1548]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);d=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);d=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;d=Hb(f,e+60|0,e);if(H[e+11|0]>=0){break h}hl(J[e>>2])}if(H[e+27|0]<0){hl(J[e+16>>2])}i:{if(d){b=K[i+24|0];j:{if(!b){d=0;break j}b=b<<2;d=pl(b);pk(d,0,b)}j=J[J[a+28>>2]+48>>2];b=pl(32);J[e+16>>2]=b;J[e+20>>2]=19;J[e+24>>2]=-2147483616;c=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);f=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);f=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;Ib(j,e+60|0,e+16|0,K[i+24|0],d);if(H[e+27|0]<0){hl(J[e+16>>2])}j=J[J[a+28>>2]+48>>2];b=pl(32);J[e+16>>2]=b;J[e+20>>2]=18;J[e+24>>2]=-2147483616;c=K[1547]|K[1548]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);f=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);f=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;p=Jb(j,e+60|0,e+16|0);if(H[e+27|0]<0){hl(J[e+16>>2])}Pa(e+32|0,g,d,K[i+24|0],p);if(!d){break i}hl(d);break i}if(!Ra(e+32|0,i,g)){break g}}d=J[a+40>>2];k:{if((d|0)!=J[a+44>>2]){J[d>>2]=2040;b=J[e+36>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d+4>>2]=b;b=J[e+44>>2];c=J[e+40>>2];if((b|0)!=(c|0)){b=b-c|0;if((b|0)<0){break d}c=pl(b);J[d+12>>2]=c;J[d+8>>2]=c;J[d+16>>2]=(b&-4)+c;b=J[e+40>>2];g=J[e+44>>2];if((b|0)!=(g|0)){while(1){N[c>>2]=N[b>>2];c=c+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}J[d+12>>2]=c}N[d+20>>2]=N[e+52>>2];J[a+40>>2]=d+24;break k}f=0;l:{m:{n:{o:{b=J[a+40>>2];j=J[a+36>>2];d=(b-j|0)/24|0;c=d+1|0;if(c>>>0<178956971){g=(J[a+44>>2]-j|0)/24|0;h=g<<1;h=g>>>0>=89478485?178956970:c>>>0<h>>>0?h:c;if(h){if(h>>>0>=178956971){break o}f=pl(P(h,24))}c=P(d,24)+f|0;J[c>>2]=2040;d=J[e+36>>2];J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+4>>2]=d;g=J[e+40>>2];k=J[e+44>>2];if((g|0)!=(k|0)){l=k-g|0;if((l|0)<0){break n}d=pl(l);J[c+8>>2]=d;J[c+16>>2]=(l&-4)+d;while(1){N[d>>2]=N[g>>2];d=d+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}J[c+12>>2]=d}d=P(h,24)+f|0;N[c+20>>2]=N[e+52>>2];g=c+24|0;if((b|0)==(j|0)){break m}while(1){c=c-24|0;J[c>>2]=2040;b=b-24|0;J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[b+16>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;N[c+20>>2]=N[b+20>>2];if((b|0)!=(j|0)){continue}break}J[a+44>>2]=d;d=J[a+40>>2];J[a+40>>2]=g;b=J[a+36>>2];J[a+36>>2]=c;if((b|0)==(d|0)){break l}while(1){d=d-24|0;ka[J[J[d>>2]>>2]](d)|0;if((b|0)!=(d|0)){continue}break}break l}Ia();C()}Ya();C()}Ia();C()}J[a+44>>2]=d;J[a+40>>2]=g;J[a+36>>2]=c}if(b){hl(b)}}b=e+32|0;c=Za(b,i,o);J[e>>2]=c;J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;Na(b,i,e+16|0,c);b=J[e+16>>2];if(b){J[e+20>>2]=b;hl(b)}b=J[a+64>>2];p:{if(b>>>0<M[a+68>>2]){c=J[e>>2];J[e>>2]=0;J[b>>2]=c;J[a+64>>2]=b+4;break p}c=0;q:{r:{s:{d=J[a+60>>2];g=J[a+64>>2]-d>>2;b=g+1|0;if(b>>>0<1073741824){d=J[a+68>>2]-d|0;i=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0<i>>>0?i:b;if(d){if(d>>>0>=1073741824){break s}c=pl(d<<2)}i=J[e>>2];J[e>>2]=0;b=(g<<2)+c|0;J[b>>2]=i;d=(d<<2)+c|0;g=b+4|0;c=J[a+64>>2];i=J[a+60>>2];if((c|0)==(i|0)){break r}while(1){c=c-4|0;f=J[c>>2];J[c>>2]=0;b=b-4|0;J[b>>2]=f;if((c|0)!=(i|0)){continue}break}J[a+68>>2]=d;d=J[a+64>>2];J[a+64>>2]=g;c=J[a+60>>2];J[a+60>>2]=b;if((c|0)==(d|0)){break q}while(1){d=d-4|0;b=J[d>>2];J[d>>2]=0;if(b){Kb(b)}if((c|0)!=(d|0)){continue}break}break q}Ia();C()}Ya();C()}J[a+68>>2]=d;J[a+64>>2]=g;J[a+60>>2]=b}if(c){hl(c)}}b=J[e>>2];J[e>>2]=0;if(b){Kb(b)}J[e+32>>2]=2040;b=J[e+40>>2];if(!b){break b}J[e+44>>2]=b;hl(b);break b}J[e+32>>2]=2040;a=J[e+40>>2];if(a){J[e+44>>2]=a;hl(a)}b=0;break a}j=0;t:{u:{g=K[i+24|0];v:{if(!g){d=0;break v}b=0;f=g<<2;d=pl(f);c=d;h=g&7;if(h){while(1){J[c>>2]=2147483647;c=c+4|0;b=b+1|0;if((h|0)!=(b|0)){continue}break}}if((g-1&1073741823)>>>0>=7){b=d+f|0;while(1){J[c+24>>2]=2147483647;J[c+28>>2]=2147483647;J[c+16>>2]=2147483647;J[c+20>>2]=2147483647;J[c+8>>2]=2147483647;J[c+12>>2]=2147483647;J[c>>2]=2147483647;J[c+4>>2]=2147483647;c=c+32|0;if((b|0)!=(c|0)){continue}break}}b=K[i+24|0];if(b){break u}}g=0;b=0;break t}b=b<<2;g=pl(b);pk(g,0,b);b=K[i+24|0]}if(!J[i+80>>2]){break c}while(1){Lb(i,j,b<<24>>24,g);b=K[i+24|0];w:{if(!b){break w}c=0;if((b|0)!=1){l=b&254;f=0;while(1){h=c<<2;k=h+d|0;n=J[g+h>>2];if((n|0)<J[k>>2]){J[k>>2]=n}h=h|4;k=h+d|0;h=J[g+h>>2];if(J[k>>2]>(h|0)){J[k>>2]=h}c=c+2|0;f=f+2|0;if((l|0)!=(f|0)){continue}break}}if(!(b&1)){break w}c=c<<2;f=c+d|0;c=J[c+g>>2];if(J[f>>2]<=(c|0)){break w}J[f>>2]=c}j=j+1|0;if(j>>>0<M[i+80>>2]){continue}break}break c}Ia();C()}c=0;x:{if(!b){break x}y:{while(1){z:{k=(c<<2)+d|0;b=J[a+52>>2];A:{if((b|0)!=J[a+56>>2]){J[b>>2]=J[k>>2];J[a+52>>2]=b+4;break A}h=b;b=J[a+48>>2];f=h-b|0;l=f>>2;j=l+1|0;if(j>>>0>=1073741824){break z}h=f>>>1|0;j=f>>>0>=2147483644?1073741823:j>>>0<h>>>0?h:j;if(j){if(j>>>0>=1073741824){break y}h=pl(j<<2)}else{h=0}l=h+(l<<2)|0;J[l>>2]=J[k>>2];f=ok(h,b,f);J[a+56>>2]=f+(j<<2);J[a+52>>2]=l+4;J[a+48>>2]=f;if(!b){break A}hl(b)}c=c+1|0;if(c>>>0<K[i+24|0]){continue}break x}break}Ia();C()}Ya();C()}if(g){hl(g)}if(!d){break b}hl(d)}b=1;m=m+1|0;c=J[a+4>>2];if(m>>>0<J[a+8>>2]-c>>2>>>0){continue}break}}fa=e- -64|0;return b|0}function Kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=fa-48|0;fa=i;h=J[a+4>>2];e=J[a+12>>2];J[i+40>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;l=J[J[J[h+4>>2]+8>>2]+(e<<2)>>2];d=i+8|0;if((b|0)==-1){b=ve(e,h)}a:{if((b|0)==-2){break a}if((ka[J[J[h>>2]+8>>2]](h)|0)==1){j=fa-32|0;fa=j;k=J[J[J[h+4>>2]+8>>2]+(e<<2)>>2];b:{c:{d:{if((ka[J[J[h>>2]+8>>2]](h)|0)!=1|b-1>>>0>5){break d}f=ka[J[J[h>>2]+52>>2]](h)|0;g=ka[J[J[h>>2]+60>>2]](h,e)|0;if(!f|!g){break d}c=ka[J[J[h>>2]+56>>2]](h,e)|0;if(c){a=J[h+56>>2];J[j+20>>2]=c;J[j+16>>2]=a;J[j+28>>2]=g;J[j+24>>2]=g+12;e=j+16|0;a=0;e:{f:{switch(b-1|0){case 0:b=pl(60);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b>>2]=2756;a=b;break e;case 3:b=pl(168);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3520;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+160>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;break e;case 4:b=pl(104);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b>>2]=3768;a=J[e+4>>2];J[b+88>>2]=J[e>>2];J[b+92>>2]=a;a=J[e+12>>2];J[b+96>>2]=J[e+8>>2];J[b+100>>2]=a;a=b;break e;case 5:break f;default:break e}}a=pl(144);J[a+4>>2]=k;J[a>>2]=3464;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;g:{h:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break h}b=pl(c);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(c&-4)+b;c=J[d+24>>2];f=J[d+28>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=3408;b=J[e+4>>2];J[a+44>>2]=J[e>>2];J[a+48>>2]=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=4632;J[a>>2]=4004;b=J[e+4>>2];J[a+72>>2]=J[e>>2];J[a+76>>2]=b;b=J[e+12>>2];J[a+80>>2]=J[e+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=4240;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;break g}Ia();C()}break e}c=a;break d}a=J[h+56>>2];J[j+20>>2]=f;J[j+16>>2]=a;J[j+28>>2]=g;J[j+24>>2]=g+12;e=j+16|0;a=0;i:{j:{switch(b-1|0){case 0:b=pl(60);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b>>2]=4660;a=b;break i;case 3:b=pl(168);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5084;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+160>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;break i;case 4:b=pl(104);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b>>2]=5320;a=J[e+4>>2];J[b+88>>2]=J[e>>2];J[b+92>>2]=a;a=J[e+12>>2];J[b+96>>2]=J[e+8>>2];J[b+100>>2]=a;a=b;break i;case 5:break j;default:break i}}a=pl(144);J[a+4>>2]=k;J[a>>2]=3464;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;k:{l:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break l}b=pl(c);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(c&-4)+b;c=J[d+24>>2];f=J[d+28>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=5028;b=J[e+4>>2];J[a+44>>2]=J[e>>2];J[a+48>>2]=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=6128;J[a>>2]=5544;b=J[e+4>>2];J[a+72>>2]=J[e>>2];J[a+76>>2]=b;b=J[e+12>>2];J[a+80>>2]=J[e+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=5764;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;break k}Ia();C()}break i}c=a}fa=j+32|0;break b}Ia();C()}if(c){break a}}c=pl(44);J[c+4>>2]=l;J[c>>2]=3464;a=J[d+4>>2];J[c+8>>2]=J[d>>2];J[c+12>>2]=a;a=J[d+12>>2];J[c+16>>2]=J[d+8>>2];J[c+20>>2]=a;a=J[d+20>>2];J[c+24>>2]=J[d+16>>2];J[c+28>>2]=a;J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;m:{a=J[d+24>>2];l=J[d+28>>2];if((a|0)!=(l|0)){f=l-a|0;if((f|0)<0){break m}b=pl(f);J[c+32>>2]=b;J[c+40>>2]=(f&-4)+b;while(1){J[b>>2]=J[a>>2];b=b+4|0;a=a+4|0;if((l|0)!=(a|0)){continue}break}J[c+36>>2]=b}J[c>>2]=6156;break a}Ia();C()}a=J[i+32>>2];if(a){J[i+36>>2]=a;hl(a)}fa=i+48|0;return c|0}function Wk(a,b,c,d,e,f,g,h,i){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,K=0,L=0,N=0,O=0,P=0;k=fa-336|0;fa=k;n=h;p=i&65535;o=d;m=e&65535;u=(e^i)&-2147483648;s=i>>>16&32767;q=e>>>16&32767;a:{b:{if(s-32767>>>0>4294934529&q-32767>>>0>=4294934530){break b}j=e&2147483647;if(!(!d&(j|0)==2147418112?!(b|c):j>>>0<2147418112)){r=d;u=e|32768;break a}e=i&2147483647;if(!(!h&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){r=h;u=i|32768;b=f;c=g;break a}if(!(b|d|(j^2147418112|c))){if(!(f|h|(e^2147418112|g))){b=0;c=0;u=2147450880;break a}u=u|2147418112;b=0;c=0;break a}if(!(f|h|(e^2147418112|g))){b=0;c=0;break a}if(!(b|d|(c|j))){b=!(f|h|(e|g));r=b?0:r;u=b?2147450880:u;b=0;c=0;break a}if(!(f|h|(e|g))){u=u|2147418112;b=0;c=0;break a}if((j|0)==65535|j>>>0<65535){d=!(m|o);i=d;j=d?b:o;d=d<<6;h=d;i=S(i?c:m);d=d+((i|0)==32?S(j)+32|0:i)|0;Tk(k+320|0,b,c,o,m,d-15|0);v=16-d|0;o=J[k+328>>2];m=J[k+332>>2];c=J[k+324>>2];b=J[k+320>>2]}if(e>>>0>65535){break b}d=!(n|p);h=d;i=d?f:n;d=d<<6;e=d;h=S(h?g:p);d=d+((h|0)==32?S(i)+32|0:h)|0;Tk(k+304|0,f,g,n,p,d-15|0);v=(d+v|0)-16|0;n=J[k+312>>2];p=J[k+316>>2];f=J[k+304>>2];g=J[k+308>>2]}e=p|65536;A=e;B=n;d=n;j=e<<15|d>>>17;e=d<<15|g>>>17;d=e;i=0-d|0;h=j;j=1963258675-(j+((d|0)!=0)|0)|0;al(k+288|0,d,h,0,0,i,j,0,0);d=J[k+296>>2];al(k+272|0,0-d|0,0-(J[k+300>>2]+((d|0)!=0)|0)|0,0,0,i,j,0,0);d=J[k+280>>2];i=d<<1|J[k+276>>2]>>>31;d=J[k+284>>2]<<1|d>>>31;al(k+256|0,i,d,0,0,e,h,0,0);j=J[k+264>>2];al(k+240|0,i,d,0,0,0-j|0,0-(J[k+268>>2]+((j|0)!=0)|0)|0,0,0);i=J[k+248>>2];j=i<<1|J[k+244>>2]>>>31;d=J[k+252>>2]<<1|i>>>31;al(k+224|0,j,d,0,0,e,h,0,0);i=J[k+232>>2];al(k+208|0,j,d,0,0,0-i|0,0-(J[k+236>>2]+((i|0)!=0)|0)|0,0,0);d=J[k+216>>2];i=d<<1|J[k+212>>2]>>>31;d=J[k+220>>2]<<1|d>>>31;al(k+192|0,i,d,0,0,e,h,0,0);j=J[k+200>>2];al(k+176|0,i,d,0,0,0-j|0,0-(J[k+204>>2]+((j|0)!=0)|0)|0,0,0);i=e;e=J[k+184>>2];d=h;n=e<<1|J[k+180>>2]>>>31;h=n-1|0;e=(J[k+188>>2]<<1|e>>>31)-!n|0;al(k+160|0,i,d,0,0,h,e,0,0);d=h;al(k+144|0,f<<15,g<<15|f>>>17,0,0,d,e,0,0);t=k+112|0;y=J[k+168>>2];h=J[k+172>>2];n=J[k+160>>2];i=J[k+152>>2];l=n+i|0;p=J[k+164>>2];j=p+J[k+156>>2]|0;j=i>>>0>l>>>0?j+1|0:j;i=j;j=(p|0)==(j|0)&l>>>0<n>>>0|j>>>0<p>>>0;p=j+y|0;j=j>>>0>p>>>0?h+1|0:h;n=!i&l>>>0>1|(i|0)!=0;h=n+p|0;j=n>>>0>h>>>0?j+1|0:j;al(t,d,e,0,0,0-h|0,0-(((h|0)!=0)+j|0)|0,0,0);al(k+128|0,1-l|0,0-((l>>>0>1)+i|0)|0,0,0,d,e,0,0);H=(q-s|0)+v|0;e=J[k+116>>2];t=e;d=J[k+112>>2];j=e<<1|d>>>31;n=d<<1;q=j;d=j;h=J[k+140>>2];z=h;e=J[k+136>>2];j=h<<1|e>>>31;i=e<<1|J[k+132>>2]>>>31;h=i+n|0;d=d+j|0;d=h>>>0<i>>>0?d+1|0:d;e=d;d=d-(h>>>0<13927)|0;x=d;y=d;l=0;j=m|65536;I=j;K=o;d=o;j=j<<1|d>>>31;N=d<<1;O=j;D=j;d=em(x,l,j,0);j=ja;E=d;w=j;v=b<<1;d=c<<1|b>>>31;s=d;j=0;p=j;i=h-13927|0;x=(e|0)==(x|0)&i>>>0<h>>>0|e>>>0>x>>>0;e=(e|0)==(q|0)&h>>>0<n>>>0|e>>>0<q>>>0;d=J[k+120>>2];h=J[k+124>>2]<<1|d>>>31;d=d<<1|t>>>31;j=h;l=z>>>31|0;d=l+d|0;j=d>>>0<l>>>0?j+1|0:j;h=d;d=d+e|0;l=h>>>0>d>>>0?j+1|0:j;e=d;d=d+x|0;l=e>>>0>d>>>0?l+1|0:l;e=d-1|0;x=l-!d|0;q=0;j=em(s,p,x,q);d=j+E|0;h=ja+w|0;h=d>>>0<j>>>0?h+1|0:h;t=(w|0)==(h|0)&d>>>0<E>>>0|h>>>0<w>>>0;j=0;z=e;L=c>>>31|0;C=L|o<<1;w=0;e=em(e,j,C,w);o=e+d|0;j=ja+h|0;l=0;j=e>>>0>o>>>0?j+1|0:j;n=j;d=(j|0)==(h|0)&d>>>0>o>>>0|h>>>0>j>>>0;e=d;d=d+t|0;l=e>>>0>d>>>0?1:l;e=em(D,p,x,q);d=e+d|0;j=ja+l|0;t=d;d=d>>>0<e>>>0?j+1|0:j;e=em(D,p,z,w);m=ja;h=e;e=em(C,w,x,q);l=h+e|0;j=ja+m|0;j=e>>>0>l>>>0?j+1|0:j;e=j;j=(m|0)==(j|0)&h>>>0>l>>>0|j>>>0<m>>>0;m=t+e|0;d=d+j|0;d=m>>>0<e>>>0?d+1|0:d;t=m;m=d;e=0;d=e+o|0;j=l+n|0;j=d>>>0<e>>>0?j+1|0:j;e=j;h=(j|0)==(n|0)&d>>>0<o>>>0|j>>>0<n>>>0;j=m;l=h;h=h+t|0;j=l>>>0>h>>>0?j+1|0:j;F=h;l=j;t=d;m=d;o=e;E=i;d=em(i,0,C,w);h=ja;e=d;i=em(y,r,s,r);d=d+i|0;j=ja+h|0;j=d>>>0<i>>>0?j+1|0:j;i=(h|0)==(j|0)&d>>>0<e>>>0|h>>>0>j>>>0;h=j;G=v&-2;e=em(z,w,G,0);n=e+d|0;j=ja+j|0;j=e>>>0>n>>>0?j+1|0:j;e=j;d=(j|0)==(h|0)&d>>>0>n>>>0|h>>>0>j>>>0;h=0;i=d+i|0;d=(i>>>0<d>>>0?1:h)+o|0;j=l;m=i+m|0;d=m>>>0<i>>>0?d+1|0:d;i=d;d=(d|0)==(o|0)&m>>>0<t>>>0|d>>>0<o>>>0;h=d;d=d+F|0;j=h>>>0>d>>>0?j+1|0:j;P=d;t=j;d=em(D,p,E,r);F=ja;D=d;h=em(x,q,G,r);d=d+h|0;j=ja+F|0;o=d;p=em(y,r,C,w);l=d+p|0;h=d>>>0<h>>>0?j+1|0:j;d=h+ja|0;d=l>>>0<p>>>0?d+1|0:d;q=l;j=em(s,r,z,w);p=l+j|0;l=ja+d|0;l=j>>>0>p>>>0?l+1|0:l;z=0;C=(d|0)==(l|0)&p>>>0<q>>>0|d>>>0>l>>>0;j=(h|0)==(F|0)&o>>>0<D>>>0|h>>>0<F>>>0;d=(d|0)==(h|0)&o>>>0>q>>>0|d>>>0<h>>>0;d=d+j|0;d=d+C|0;h=l;q=h+m|0;j=(d|z)+i|0;j=h>>>0>q>>>0?j+1|0:j;o=j;d=(i|0)==(j|0)&m>>>0>q>>>0|i>>>0>j>>>0;j=t;h=d;d=d+P|0;j=h>>>0>d>>>0?j+1|0:j;z=d;i=j;d=em(y,r,G,r);y=ja;m=d;h=em(s,r,E,r);d=d+h|0;j=ja+y|0;j=d>>>0<h>>>0?j+1|0:j;t=0;h=(j|0)==(y|0)&d>>>0<m>>>0|j>>>0<y>>>0;m=j;d=j+n|0;j=(h|t)+e|0;j=d>>>0<m>>>0?j+1|0:j;h=j;m=(e|0)==(j|0)&d>>>0<n>>>0|e>>>0>j>>>0;j=p;p=0;n=p+d|0;l=h+j|0;j=0;l=n>>>0<p>>>0?l+1|0:l;d=(h|0)==(l|0)&d>>>0>n>>>0|h>>>0>l>>>0;e=d;d=d+m|0;j=(e>>>0>d>>>0?1:j)+o|0;l=i;e=d;d=d+q|0;j=e>>>0>d>>>0?j+1|0:j;e=j;h=(o|0)==(j|0)&d>>>0<q>>>0|j>>>0<o>>>0;i=h;h=h+z|0;l=i>>>0>h>>>0?l+1|0:l;i=l;c:{if((l|0)==131071|l>>>0<131071){K=N|L;I=w|O;al(k+80|0,d,e,h,i,f,g,B,A);l=J[k+84>>2];p=l;j=b<<17;n=0;m=J[k+88>>2];c=n-m|0;b=J[k+80>>2];l=(l|b)!=0;o=c-l|0;m=(j-(J[k+92>>2]+(m>>>0>n>>>0)|0)|0)-(c>>>0<l>>>0)|0;n=0-b|0;p=0-(((b|0)!=0)+p|0)|0;b=H+16382|0;break c}d=(e&1)<<31|d>>>1;e=h<<31|e>>>1;h=(i&1)<<31|h>>>1;i=i>>>1|0;al(k+96|0,d,e,h,i,f,g,B,A);o=J[k+100>>2];s=o;v=J[k+104>>2];n=0-v|0;l=J[k+96>>2];m=(o|l)!=0;o=n-m|0;m=((b<<16)-(J[k+108>>2]+(p>>>0<v>>>0)|0)|0)-(m>>>0>n>>>0)|0;n=0-l|0;p=0-(((l|0)!=0)+s|0)|0;v=b;s=c;b=H+16383|0}if((b|0)>=32767){u=u|2147418112;b=0;c=0;break a}d:{if((b|0)>0){l=m<<1|o>>>31;o=o<<1|p>>>31;m=l;v=h;s=i&65535|b<<16;l=p<<1|n>>>31;i=n<<1;break d}if((b|0)<=-113){b=0;c=0;break a}_k(k- -64|0,d,e,h,i,1-b|0);Tk(k+48|0,v,s,K,I,b+112|0);d=J[k+64>>2];e=J[k+68>>2];v=J[k+72>>2];s=J[k+76>>2];al(k+32|0,f,g,B,A,d,e,v,s);b=J[k+40>>2];c=J[k+56>>2];l=J[k+36>>2];o=b<<1|l>>>31;n=c-o|0;m=J[k+60>>2]-((J[k+44>>2]<<1|b>>>31)+(c>>>0<o>>>0)|0)|0;b=J[k+32>>2];h=l<<1|b>>>31;j=b<<1;i=J[k+52>>2];c=J[k+48>>2];b=(h|0)==(i|0)&j>>>0>c>>>0|h>>>0>i>>>0;o=n-b|0;m=m-(b>>>0>n>>>0)|0;l=i-((c>>>0<j>>>0)+h|0)|0;i=c-j|0}b=i;al(k+16|0,f,g,B,A,3,0,0,0);al(k,f,g,B,A,5,0,0,0);c=0;h=l+c|0;j=d&1;b=b+j|0;h=i>>>0>b>>>0?h+1|0:h;i=b;g=(g|0)==(h|0)&b>>>0>f>>>0|g>>>0<h>>>0;l=m;b=(c|0)==(h|0)&b>>>0<j>>>0|c>>>0>h>>>0;f=b+o|0;l=b>>>0>f>>>0?l+1|0:l;j=e;b=(l|0)==(A|0);b=b&(f|0)==(B|0)?g:b&f>>>0>B>>>0|l>>>0>A>>>0;c=b;b=b+d|0;j=c>>>0>b>>>0?j+1|0:j;c=j;d=(e|0)==(j|0)&b>>>0<d>>>0|e>>>0>j>>>0;j=s;e=d;d=d+v|0;j=e>>>0>d>>>0?j+1|0:j;g=d;e=J[k+20>>2];m=(e|0)==(h|0)&M[k+16>>2]<i>>>0|e>>>0<h>>>0;e=J[k+28>>2];d=J[k+24>>2];e=j>>>0<2147418112&((d|0)==(f|0)&(e|0)==(l|0)?m:(e|0)==(l|0)&d>>>0<f>>>0|e>>>0<l>>>0);d=c;m=e;e=b+e|0;d=m>>>0>e>>>0?d+1|0:d;b=(c|0)==(d|0)&b>>>0>e>>>0|c>>>0>d>>>0;c=b;b=b+g|0;j=c>>>0>b>>>0?j+1|0:j;g=b;c=J[k+4>>2];h=(c|0)==(h|0)&M[k>>2]<i>>>0|c>>>0<h>>>0;c=J[k+12>>2];b=J[k+8>>2];b=j>>>0<2147418112&((b|0)==(f|0)&(c|0)==(l|0)?h:(c|0)==(l|0)&b>>>0<f>>>0|c>>>0<l>>>0);c=b;b=b+e|0;l=c>>>0>b>>>0?d+1|0:d;c=l;e=(d|0)==(l|0)&b>>>0<e>>>0|d>>>0>l>>>0;d=j;f=e;e=e+g|0;d=f>>>0>e>>>0?d+1|0:d;r=e|r;u=d|u}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=r;J[a+12>>2]=u;fa=k+336|0}function Ub(a,b,c,d,e){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,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,Q=0;s=fa-32|0;fa=s;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;t=J[e+20>>2];if(!J[e+16>>2]&(t|0)<=0|(t|0)<0){d=a+4|0;Ba(e,J[e+4>>2],a,d);t=J[e+20>>2];if(!J[e+16>>2]&(t|0)<=0|(t|0)<0){Ba(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){F=a+12|0;Ce(F);G=a+44|0;d=G;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];H=a- -64|0;d=H;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];I=a+84|0;d=I;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[s+24>>2]=J[b+8>>2];d=J[b+4>>2];J[s+16>>2]=J[b>>2];J[s+20>>2]=d;J[s+8>>2]=J[c+8>>2];b=J[c+4>>2];J[s>>2]=J[c>>2];J[s+4>>2]=b;c=0;b=0;f=fa-32|0;fa=f;o=a;i=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(i){if(i>>>0>=1073741824){break b}a=i<<2;c=pl(a);J[f+8>>2]=c;b=a+c|0;J[f+16>>2]=b;pk(c,0,a);J[f+12>>2]=b}a=J[o+140>>2];d=J[a>>2];if(d){J[a+4>>2]=d;hl(d);i=J[o+8>>2];c=J[f+8>>2];b=J[f+12>>2]}J[a+4>>2]=b;J[a>>2]=c;J[a+8>>2]=J[f+16>>2];c=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b=0;c:{if(i){if(i>>>0>=1073741824){break c}a=i<<2;b=pl(a);J[f+8>>2]=b;c=a+b|0;J[f+16>>2]=c;pk(b,0,a);J[f+12>>2]=c}a=J[o+152>>2];d=J[a>>2];if(d){J[a+4>>2]=d;hl(d);c=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=c;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];t=J[s+20>>2];z=J[s+24>>2];d=J[s+4>>2];B=J[s+8>>2];b=J[s>>2];c=J[s+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;dc(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;v=(a>>>0)/113|0;a=J[J[f+12>>2]+(v<<2)>>2]+P(a-P(v,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=B;J[a+12>>2]=b;J[a+4>>2]=t;J[a+8>>2]=z;J[a>>2]=c;i=J[f+28>>2]+1|0;J[f+28>>2]=i;if(i){a=z;L=a&-4;K=a&3;N=o+44|0;m=o+12|0;O=o+84|0;Q=a>>>0<4;while(1){b=J[f+12>>2];h=J[f+24>>2];g=i-1|0;a=h+g|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;E=J[a+32>>2];c=J[a+24>>2];v=J[a+12>>2];a=J[a>>2];J[f+28>>2]=g;g=J[f+16>>2];if((((b|0)!=(g|0)?P(g-b>>2,113)-1|0:0)-(h+i|0)|0)+1>>>0>=226){hl(J[g-4>>2]);J[f+16>>2]=J[f+16>>2]-4}g=J[o>>2];i=(c|0)!=(J[o+8>>2]-1|0)?c+1|0:0;q=i<<2;D=P(E,12);h=D+J[o+152>>2]|0;c=J[q+J[h>>2]>>2];d:{e:{if((g|0)==(c|0)){break e}f:{g:{j=v-a|0;if(j>>>0<=2){g=J[o+128>>2];J[g>>2]=i;c=1;b=J[o+8>>2];if(b>>>0>1){break g}break f}h=J[o+140>>2];b=h+D|0;n=h;h=D+12|0;ec(n+h|0,J[b>>2],J[b+4>>2]);b=J[h+J[o+140>>2]>>2]+q|0;g=J[b>>2]+(1<<g+(c^-1))|0;J[b>>2]=g;b=a;h:{if((a|0)==(v|0)){break h}y=J[t+24>>2];n=y+q|0;b=v;c=a;if(!z){if(g>>>0>M[n>>2]){break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}if(g>>>0<=M[(J[d+24>>2]+q|0)+(P(b,B)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(b|0)){continue}break}break h}while(1){h=P(c,z)<<2;if(g>>>0>M[h+n>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}r=J[d+24>>2]+(P(b,B)<<2)|0;if(g>>>0<=M[r+q>>2]){continue}break}w=h+y|0;u=0;h=0;p=0;if(!Q){while(1){k=h<<2;l=k+w|0;x=J[l>>2];A=l;l=k+r|0;J[A>>2]=J[l>>2];J[l>>2]=x;l=k|4;x=l+w|0;A=J[x>>2];l=l+r|0;J[x>>2]=J[l>>2];J[l>>2]=A;l=k|8;x=l+w|0;A=J[x>>2];l=l+r|0;J[x>>2]=J[l>>2];J[l>>2]=A;k=k|12;l=k+w|0;x=J[l>>2];k=k+r|0;J[l>>2]=J[k>>2];J[k>>2]=x;h=h+4|0;p=p+4|0;if((L|0)!=(p|0)){continue}break}}if(K){while(1){k=h<<2;p=k+w|0;l=J[p>>2];k=k+r|0;J[p>>2]=J[k>>2];J[k>>2]=l;h=h+1|0;u=u+1|0;if((K|0)!=(u|0)){continue}break}}c=c+1|0;if((c|0)!=(b|0)){continue}break}}r=b-a|0;w=v-b|0;if((r|0)!=(w|0)){fc(O,r>>>0<w>>>0)}c=J[m>>2];n=J[c+8>>2];g=J[c+12>>2];h=(j>>>1|0)-(r>>>0<w>>>0?r:w)|0;h=h<<24|(h&65280)<<8|(h>>>8&65280|h>>>24);h=h>>>4&252645135|(h&252645135)<<4;h=h>>>2&858993459|(h&858993459)<<2;l=h>>>1&1431655765|(h&1431655765)<<1;h=S(j)^31;p=32-h|0;k=l>>>p|0;j=hm(k);n=j+n|0;g=j>>>0>n>>>0?g+1|0:g;J[c+8>>2]=n;J[c+12>>2]=g;g=h-j|0;n=g;j=g+J[c>>2]|0;g=J[c+4>>2]+(g>>31)|0;J[c>>2]=j;J[c+4>>2]=j>>>0<n>>>0?g+1|0:g;i:{j:{k:{l:{c=J[m+28>>2];u=32-c|0;m:{if((u|0)>=(h|0)){g=c+h|0;J[m+28>>2]=g;n=J[m+24>>2]&(-1>>>p<<c^-1)|k<<c;J[m+24>>2]=n;if((g|0)!=32){break i}c=J[m+16>>2];if((c|0)!=J[m+20>>2]){J[c>>2]=n;J[m+16>>2]=c+4;h=0;c=0;break m}g=c;c=J[m+12>>2];k=g-c|0;u=k>>2;j=u+1|0;if(j>>>0>=1073741824){break l}h=0;g=0;p=k>>>1|0;j=k>>>0>=2147483644?1073741823:j>>>0<p>>>0?p:j;if(j){if(j>>>0>=1073741824){break k}g=pl(j<<2)}u=(u<<2)+g|0;J[u>>2]=n;g=ok(g,c,k);J[m+20>>2]=g+(j<<2);J[m+16>>2]=u+4;J[m+12>>2]=g;if(!c){c=0;break m}hl(c);c=0;break m}p=J[m+24>>2]&(-1<<c^-1)|k<<c;J[m+24>>2]=p;c=J[m+16>>2];n:{if((c|0)!=J[m+20>>2]){J[c>>2]=p;J[m+16>>2]=c+4;break n}g=c;c=J[m+12>>2];g=g-c|0;y=g>>2;j=y+1|0;if(j>>>0>=1073741824){break j}n=g>>>1|0;j=g>>>0>=2147483644?1073741823:j>>>0<n>>>0?n:j;if(j){if(j>>>0>=1073741824){break k}n=pl(j<<2)}else{n=0}y=n+(y<<2)|0;J[y>>2]=p;g=ok(n,c,g);J[m+20>>2]=g+(j<<2);J[m+16>>2]=y+4;J[m+12>>2]=g;if(!c){break n}hl(c)}c=h-u|0;h=-1>>>32-c&k>>>u}J[m+28>>2]=c;J[m+24>>2]=h;break i}Ia();C()}Ya();C()}Ia();C()}c=J[o+152>>2];g=c+D|0;h=J[g>>2];q=h+q|0;J[q>>2]=J[q>>2]+1;q=E+1|0;ec(c+P(q,12)|0,h,J[g+4>>2]);if((a|0)!=(b|0)){h=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];g=J[f+12>>2];if((h|0)==(((c|0)!=(g|0)?P(c-g>>2,113)-1|0:0)|0)){dc(f+8|0);h=J[f+24>>2]+J[f+28>>2]|0;g=J[f+12>>2]}c=(h>>>0)/113|0;c=J[g+(c<<2)>>2]+P(h-P(c,113)|0,36)|0;J[c+32>>2]=E;J[c+28>>2]=r;J[c+24>>2]=i;J[c+16>>2]=t;J[c+12>>2]=b;J[c+4>>2]=t;J[c+8>>2]=z;J[c>>2]=a;J[c+20>>2]=z;J[f+28>>2]=J[f+28>>2]+1}if((b|0)==(v|0)){break e}g=J[f+28>>2]+J[f+24>>2]|0;a=J[f+16>>2];c=J[f+12>>2];if((g|0)==(((a|0)!=(c|0)?P(a-c>>2,113)-1|0:0)|0)){dc(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}a=(g>>>0)/113|0;a=J[c+(a<<2)>>2]+P(g-P(a,113)|0,36)|0;J[a+32>>2]=q;J[a+28>>2]=w;J[a+24>>2]=i;J[a+16>>2]=d;J[a+20>>2]=B;J[a+12>>2]=v;J[a+4>>2]=t;J[a>>2]=b;J[a+8>>2]=z;i=J[f+28>>2]+1|0;J[f+28>>2]=i;break d}while(1){i=(b-1|0)!=(i|0)?i+1|0:0;J[g+(c<<2)>>2]=i;b=J[o+8>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}if(!b|(a|0)==(v|0)){break e}g=0;c=1;while(1){i=0;o:{if(!c){c=0;break o}v=J[t+24>>2]+(P(J[t+4>>2],a+g|0)<<2)|0;while(1){c=J[o>>2];q=J[J[o+128>>2]+(i<<2)>>2]<<2;r=J[q+J[h>>2]>>2];if((c|0)!=(r|0)){gc(N,c-r|0,J[v+q>>2]);b=J[o+8>>2]}c=b;i=i+1|0;if(c>>>0>i>>>0){continue}break}}g=g+1|0;if((j|0)!=(g|0)){continue}break}}i=J[f+28>>2]}if(i){continue}break}}J[f+28>>2]=0;a=J[f+16>>2];i=J[f+12>>2];b=a-i|0;if(b>>>0>=9){while(1){hl(J[i>>2]);i=J[f+12>>2]+4|0;J[f+12>>2]=i;a=J[f+16>>2];b=a-i|0;if(b>>>0>8){continue}break}}c=56;p:{switch((b>>>2|0)-1|0){case 1:c=113;case 0:J[f+24>>2]=c;break;default:break p}}q:{if((a|0)==(i|0)){break q}while(1){hl(J[i>>2]);i=i+4|0;if((i|0)!=(a|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break q}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){hl(a)}fa=f+32|0;break a}Ia();C()}Ia();C()}Ee(F,e);ze(G,e);ze(H,e);ze(I,e)}fa=s+32|0;return 1}function Pk(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=fa-560|0;fa=m;J[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;y=1173;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;y=1176;break a}s=e&1;y=s?1179:1174;z=!s}b:{if((g&2146435072)==2146435072){g=s+3|0;Nk(a,32,c,g,e&-65537);Jk(a,y,s);d=f&32;Jk(a,b!=b?d?1434:1643:d?1506:1647,3);Nk(a,32,c,g,e^8192);n=(c|0)<(g|0)?g:c;break b}u=m+16|0;c:{d:{e:{b=Gk(b,m+44|0);b=b+b;if(b!=0){g=J[m+44>>2];J[m+44>>2]=g-1;w=f|32;if((w|0)!=97){break e}break c}w=f|32;if((w|0)==97){break c}k=J[m+44>>2];l=(d|0)<0?6:d;break d}k=g-29|0;J[m+44>>2]=k;b=b*268435456;l=(d|0)<0?6:d}q=(m+48|0)+((k|0)>=0?288:0)|0;h=q;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;i=q;break f}i=q;d=k;while(1){o=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){j=J[g>>2];x=d;d=o&31;if((o&63)>>>0>=32){n=j<<d;d=0}else{n=(1<<d)-1&j>>>32-d;d=j<<d}x=x+d|0;j=n+p|0;d=gm(x,d>>>0>x>>>0?j+1|0:j,1e9,0);B=g,C=x-em(d,ja,1e9,0)|0,J[B>>2]=C;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;J[i>>2]=d}while(1){g=h;if(i>>>0<g>>>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[m+44>>2]-o|0;J[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((l+25>>>0)/9|0)+1|0;p=(w|0)==102;while(1){d=0-d|0;n=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=J[i>>2];break h}o=1e9>>>n|0;j=-1<<n^-1;d=0;h=i;while(1){x=d;d=J[h>>2];J[h>>2]=x+(d>>>n|0);d=P(o,d&j);h=h+4|0;if(h>>>0<g>>>0){continue}break}h=J[i>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=n+J[m+44>>2]|0;J[m+44>>2]=d;i=(!h<<2)+i|0;h=p?q:i;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=(l-((w|0)!=102?d:0)|0)-((w|0)==103&(l|0)!=0)|0;if((h|0)<(P(g-q>>2,9)-9|0)){o=h+9216|0;j=(o|0)/9|0;k=((((k|0)<0?4:292)+m|0)+(j<<2)|0)-4048|0;h=10;n=o-P(j,9)|0;if((n|0)<=7){while(1){h=P(h,10);n=n+1|0;if((n|0)!=8){continue}break}}o=J[k>>2];t=(o>>>0)/(h>>>0)|0;p=o-P(h,t)|0;j=k+4|0;j:{if(!p&(j|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|i>>>0>=k>>>0)){break k}}b=9007199254740994}r=(g|0)==(j|0)?1:1.5;j=h>>>1|0;r=j>>>0>p>>>0?.5:(j|0)==(p|0)?r:1.5;if(!(K[y|0]!=45|z)){r=-r;b=-b}j=o-p|0;J[k>>2]=j;if(b+r==b){break j}d=h+j|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0<i>>>0){i=i-4|0;J[i>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){j=g;o=g>>>0<=i>>>0;if(!o){g=j-4|0;if(!J[g>>2]){continue}}break}l:{if((w|0)!=103){k=e&8;break l}h=l?l:1;g=(h|0)>(d|0)&(d|0)>-5;l=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(o){break m}k=J[j-4>>2];if(!k){break m}n=10;g=0;if((k>>>0)%10|0){break m}while(1){h=g;g=g+1|0;n=P(n,10);if(!((k>>>0)%(n>>>0)|0)){continue}break}g=h^-1}h=P(j-q>>2,9);if((f&-33)==70){k=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g;break l}k=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g}n=-1;o=k|l;if(((o?2147483645:2147483646)|0)<(l|0)){break b}p=(((o|0)!=0)+l|0)+1|0;h=f&-33;n:{if((h|0)==70){if((p^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=Mk((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(p^2147483647)){break b}}d=g+p|0;if((d|0)>(s^2147483647)){break b}p=d+s|0;Nk(a,32,c,p,e);Jk(a,y,s);Nk(a,48,c,p,e^65536);o:{p:{q:{if((h|0)==70){f=m+16|0;d=f|8;k=f|9;h=i>>>0>q>>>0?q:i;i=h;while(1){g=Mk(J[i>>2],0,k);r:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0<g>>>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[m+24|0]=48;g=d}Jk(a,g,k-g|0);i=i+4|0;if(q>>>0>=i>>>0){continue}break}if(o){Jk(a,1981,1)}if((l|0)<=0|i>>>0>=j>>>0){break q}while(1){g=Mk(J[i>>2],0,k);if(g>>>0>m+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0<g>>>0){continue}break}}Jk(a,g,(l|0)>=9?9:l);g=l-9|0;i=i+4|0;if(j>>>0<=i>>>0){break p}d=(l|0)>9;l=g;if(d){continue}break}break p}s:{if((l|0)<0){break s}q=i>>>0<j>>>0?j:i+4|0;f=m+16|0;d=f|8;j=f|9;h=i;while(1){g=Mk(J[h>>2],0,j);if((j|0)==(g|0)){H[m+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0<g>>>0){continue}break}break t}Jk(a,g,1);g=g+1|0;if(!(k|l)){break t}Jk(a,1981,1)}f=j-g|0;Jk(a,g,(f|0)>(l|0)?l:f);l=l-f|0;h=h+4|0;if(q>>>0<=h>>>0){break s}if((l|0)>=0){continue}break}}Nk(a,48,l+18|0,18,0);Jk(a,t,u-t|0);break o}g=l}Nk(a,48,g+9|0,9,0)}Nk(a,32,c,p,e^8192);n=(c|0)<(p|0)?p:c;break b}k=(f<<26>>31&9)+y|0;u:{if(d>>>0>11){break u}g=12-d|0;r=16;while(1){r=r*16;g=g-1|0;if(g){continue}break}if(K[k|0]==45){b=-(r+(-b-r));break u}b=b+r-r}g=J[m+44>>2];h=g>>31;g=Mk((g^h)-h|0,0,u);if((u|0)==(g|0)){H[m+15|0]=48;g=m+15|0}q=s|2;i=f&32;h=J[m+44>>2];l=g-2|0;H[l|0]=f+15;H[g-1|0]=(h|0)<0?45:43;g=e&8;h=m+16|0;while(1){f=h;if(R(b)<2147483648){j=~~b}else{j=-2147483648}H[h|0]=i|K[j+17776|0];b=(b-+(j|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(m+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=u-l|0;f=g+q|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}i=h-(m+16|0)|0;if((i-2|0)>=(d|0)){break w}d=d+2|0;break v}i=h-(m+16|0)|0;d=i}f=d+f|0;Nk(a,32,c,f,e);Jk(a,k,q);Nk(a,48,c,f,e^65536);Jk(a,m+16|0,i);Nk(a,48,d-i|0,0,0);Jk(a,l,g);Nk(a,32,c,f,e^8192);n=(c|0)<(f|0)?f:c}fa=m+560|0;return n|0}function Sb(a,b,c,d,e){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,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,Q=0;o=fa-32|0;fa=o;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){d=a+4|0;Ba(e,J[e+4>>2],a,d);p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){Ba(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){B=a+12|0;Zb(B);D=a+1068|0;d=D;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];E=a+1088|0;d=E;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];F=a+1108|0;d=F;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[o+24>>2]=J[b+8>>2];d=J[b+4>>2];J[o+16>>2]=J[b>>2];J[o+20>>2]=d;J[o+8>>2]=J[c+8>>2];b=J[c+4>>2];J[o>>2]=J[c>>2];J[o+4>>2]=b;b=0;f=fa-32|0;fa=f;l=a;h=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(h){if(h>>>0>=1073741824){break b}a=h<<2;b=pl(a);J[f+8>>2]=b;g=a+b|0;J[f+16>>2]=g;pk(b,0,a);J[f+12>>2]=g}a=J[l+1164>>2];c=J[a>>2];if(c){J[a+4>>2]=c;hl(c);h=J[l+8>>2];g=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=g;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a=0;c:{if(h){if(h>>>0>=1073741824){break c}c=h<<2;a=pl(c);J[f+8>>2]=a;b=a+c|0;J[f+16>>2]=b;pk(a,0,c);J[f+12>>2]=b}c=J[l+1176>>2];d=J[c>>2];if(d){J[c+4>>2]=d;hl(d);b=J[f+12>>2];a=J[f+8>>2]}J[c+4>>2]=b;J[c>>2]=a;J[c+8>>2]=J[f+16>>2];p=J[o+20>>2];u=J[o+24>>2];d=J[o+4>>2];x=J[o+8>>2];b=J[o>>2];c=J[o+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;dc(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;r=(a>>>0)/113|0;a=J[J[f+12>>2]+(r<<2)>>2]+P(a-P(r,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=x;J[a+12>>2]=b;J[a+4>>2]=p;J[a+8>>2]=u;J[a>>2]=c;h=J[f+28>>2]+1|0;J[f+28>>2]=h;if(h){a=u;L=a&-4;G=a&3;N=l+1068|0;H=l+12|0;O=l+1108|0;Q=a>>>0<4;while(1){b=J[f+12>>2];m=J[f+24>>2];j=h-1|0;a=m+j|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;z=J[a+32>>2];g=J[a+24>>2];r=J[a+12>>2];c=J[a>>2];J[f+28>>2]=j;a=J[f+16>>2];if((((a|0)!=(b|0)?P(a-b>>2,113)-1|0:0)-(h+m|0)|0)+1>>>0>=226){hl(J[a-4>>2]);J[f+16>>2]=J[f+16>>2]-4}b=J[l>>2];h=(g|0)!=(J[l+8>>2]-1|0)?g+1|0:0;m=h<<2;y=P(z,12);j=y+J[l+1176>>2]|0;g=J[m+J[j>>2]>>2];d:{e:{if((b|0)==(g|0)){break e}f:{g:{t=r-c|0;if(t>>>0<=2){g=J[l+1152>>2];J[g>>2]=h;b=1;a=J[l+8>>2];if(a>>>0>1){break g}break f}j=J[l+1164>>2];a=j+y|0;i=j;j=y+12|0;ec(i+j|0,J[a>>2],J[a+4>>2]);a=m+J[j+J[l+1164>>2]>>2]|0;j=J[a>>2]+(1<<b+(g^-1))|0;J[a>>2]=j;a=c;h:{if((r|0)==(a|0)){break h}I=J[p+24>>2];K=m+I|0;a=r;b=c;if(!u){if(j>>>0>M[K>>2]){break h}while(1){a=a-1|0;if((b|0)==(a|0)){a=b;break h}if(j>>>0<=M[(m+J[d+24>>2]|0)+(P(a,x)<<2)>>2]){continue}b=b+1|0;if((b|0)!=(a|0)){continue}break}break h}while(1){g=P(b,u)<<2;if(j>>>0>M[g+K>>2]){b=b+1|0;if((b|0)!=(a|0)){continue}break h}while(1){a=a-1|0;if((b|0)==(a|0)){a=b;break h}n=J[d+24>>2]+(P(a,x)<<2)|0;if(j>>>0<=M[n+m>>2]){continue}break}q=g+I|0;A=0;g=0;v=0;if(!Q){while(1){k=g<<2;i=k+q|0;s=J[i>>2];w=i;i=k+n|0;J[w>>2]=J[i>>2];J[i>>2]=s;i=k|4;s=i+q|0;w=J[s>>2];i=i+n|0;J[s>>2]=J[i>>2];J[i>>2]=w;i=k|8;s=i+q|0;w=J[s>>2];i=i+n|0;J[s>>2]=J[i>>2];J[i>>2]=w;k=k|12;i=k+q|0;s=J[i>>2];k=k+n|0;J[i>>2]=J[k>>2];J[k>>2]=s;g=g+4|0;v=v+4|0;if((L|0)!=(v|0)){continue}break}}if(G){while(1){k=g<<2;v=k+q|0;i=J[v>>2];k=k+n|0;J[v>>2]=J[k>>2];J[k>>2]=i;g=g+1|0;A=A+1|0;if((A|0)!=(G|0)){continue}break}}b=b+1|0;if((b|0)!=(a|0)){continue}break}}j=a-c|0;n=r-a|0;if((j|0)!=(n|0)){fc(O,j>>>0<n>>>0)}k=z+1|0;b=S(t);q=b^31;g=t>>>1|0;i:{if(j>>>0<n>>>0){if(!q){break i}t=g-j|0;b=1<<30-b;g=0;while(1){De((g<<5)+H|0,(b&t)!=0);b=b>>>1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}break i}if(!q){break i}t=g-n|0;b=1<<30-b;g=0;while(1){De((g<<5)+H|0,(b&t)!=0);b=b>>>1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}i=m;b=J[l+1176>>2];g=b+y|0;m=J[g>>2];q=i+m|0;J[q>>2]=J[q>>2]+1;ec(b+P(k,12)|0,m,J[g+4>>2]);if((a|0)!=(c|0)){g=J[f+28>>2]+J[f+24>>2]|0;m=J[f+16>>2];b=J[f+12>>2];if((g|0)==(((b|0)!=(m|0)?P(m-b>>2,113)-1|0:0)|0)){dc(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;i=J[f+12>>2]}else{i=b}b=(g>>>0)/113|0;b=J[i+(b<<2)>>2]+P(g-P(b,113)|0,36)|0;J[b+32>>2]=z;J[b+28>>2]=j;J[b+24>>2]=h;J[b+16>>2]=p;J[b+12>>2]=a;J[b+4>>2]=p;J[b+8>>2]=u;J[b>>2]=c;J[b+20>>2]=u;J[f+28>>2]=J[f+28>>2]+1}if((a|0)==(r|0)){break e}g=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];b=J[f+12>>2];if((g|0)==(((b|0)!=(c|0)?P(c-b>>2,113)-1|0:0)|0)){dc(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}else{c=b}b=(g>>>0)/113|0;b=J[c+(b<<2)>>2]+P(g-P(b,113)|0,36)|0;J[b+32>>2]=k;J[b+28>>2]=n;J[b+24>>2]=h;J[b+16>>2]=d;J[b+20>>2]=x;J[b+12>>2]=r;J[b+4>>2]=p;J[b>>2]=a;J[b+8>>2]=u;h=J[f+28>>2]+1|0;J[f+28>>2]=h;break d}while(1){h=(a-1|0)!=(h|0)?h+1|0:0;J[g+(b<<2)>>2]=h;a=J[l+8>>2];b=b+1|0;if(a>>>0>b>>>0){continue}break}}g=0;b=a;if((c|0)==(r|0)){break e}while(1){j:{if(!b){b=0;break j}r=J[p+24>>2]+(P(J[p+4>>2],c+g|0)<<2)|0;h=0;while(1){b=J[l>>2];m=J[J[l+1152>>2]+(h<<2)>>2]<<2;n=J[m+J[j>>2]>>2];if((b|0)!=(n|0)){gc(N,b-n|0,J[m+r>>2]);a=J[l+8>>2]}b=a;h=h+1|0;if(h>>>0<a>>>0){continue}break}}g=g+1|0;if((t|0)!=(g|0)){continue}break}}h=J[f+28>>2]}if(h){continue}break}}J[f+28>>2]=0;c=J[f+16>>2];h=J[f+12>>2];a=c-h|0;if(a>>>0>=9){while(1){hl(J[h>>2]);h=J[f+12>>2]+4|0;J[f+12>>2]=h;c=J[f+16>>2];a=c-h|0;if(a>>>0>8){continue}break}}b=56;k:{switch((a>>>2|0)-1|0){case 1:b=113;case 0:J[f+24>>2]=b;break;default:break k}}l:{if((c|0)==(h|0)){break l}while(1){hl(J[h>>2]);h=h+4|0;if((h|0)!=(c|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break l}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){hl(a)}fa=f+32|0;break a}Ia();C()}Ia();C()}_b(B,e);ze(D,e);ze(E,e);ze(F,e)}fa=o+32|0;return 1}function Ik(a,b,c,d,e){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;h=fa-80|0;fa=h;J[h+76>>2]=b;w=h+55|0;r=h+56|0;a:{b:{c:{d:{e:while(1){i=b;if((o^2147483647)<(f|0)){break d}o=f+o|0;f:{g:{h:{f=i;g=K[f|0];if(g){while(1){i:{b=g&255;j:{if(!b){b=f;break j}if((b|0)!=37){break i}g=f;while(1){if(K[g+1|0]!=37){b=g;break j}f=f+1|0;k=K[g+2|0];b=g+2|0;g=b;if((k|0)==37){continue}break}}f=f-i|0;v=o^2147483647;if((f|0)>(v|0)){break d}if(a){Jk(a,i,f)}if(f){continue e}J[h+76>>2]=b;f=b+1|0;p=-1;if(!(K[b+2|0]!=36|H[b+1|0]-48>>>0>=10)){p=H[b+1|0]-48|0;s=1;f=b+3|0}J[h+76>>2]=f;m=0;g=H[f|0];b=g-32|0;k:{if(b>>>0>31){l=f;break k}l=f;b=1<<b;if(!(b&75913)){break k}while(1){l=f+1|0;J[h+76>>2]=l;m=b|m;g=H[f+1|0];b=g-32|0;if(b>>>0>=32){break k}f=l;b=1<<b;if(b&75913){continue}break}}l:{if((g|0)==42){m:{if(!(K[l+2|0]!=36|H[l+1|0]-48>>>0>=10)){J[((H[l+1|0]<<2)+e|0)-192>>2]=10;g=l+3|0;s=1;b=J[((H[l+1|0]<<3)+d|0)-384>>2];break m}if(s){break h}g=l+1|0;if(!a){J[h+76>>2]=g;s=0;q=0;break l}b=J[c>>2];J[c>>2]=b+4;s=0;b=J[b>>2]}J[h+76>>2]=g;q=b;if((b|0)>=0){break l}q=0-q|0;m=m|8192;break l}q=Kk(h+76|0);if((q|0)<0){break d}g=J[h+76>>2]}f=0;j=-1;n:{if(K[g|0]!=46){b=g;u=0;break n}if(K[g+1|0]==42){o:{if(!(K[g+3|0]!=36|H[g+2|0]-48>>>0>=10)){J[((H[g+2|0]<<2)+e|0)-192>>2]=10;b=g+4|0;j=J[((H[g+2|0]<<3)+d|0)-384>>2];break o}if(s){break h}b=g+2|0;j=0;if(!a){break o}g=J[c>>2];J[c>>2]=g+4;j=J[g>>2]}J[h+76>>2]=b;u=(j^-1)>>>31|0;break n}J[h+76>>2]=g+1;j=Kk(h+76|0);b=J[h+76>>2];u=1}while(1){n=f;l=28;k=b;f=H[b|0];if(f-123>>>0<4294967238){break c}b=k+1|0;f=K[(f+P(n,58)|0)+17247|0];if(f-1>>>0<8){continue}break}J[h+76>>2]=b;p:{q:{if((f|0)!=27){if(!f){break c}if((p|0)>=0){J[(p<<2)+e>>2]=f;g=(p<<3)+d|0;f=J[g+4>>2];J[h+64>>2]=J[g>>2];J[h+68>>2]=f;break q}if(!a){break f}Lk(h- -64|0,f,c);break p}if((p|0)>=0){break c}}f=0;if(!a){continue e}}g=m&-65537;m=m&8192?g:m;p=0;t=1163;l=r;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{f=H[k|0];f=n?(f&15)==3?f&-33:f:f;switch(f-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(f-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((f|0)==83){break w}break g}g=J[h+64>>2];k=J[h+68>>2];t=1163;break z}f=0;I:{switch(n&255){case 0:J[J[h+64>>2]>>2]=o;continue e;case 1:J[J[h+64>>2]>>2]=o;continue e;case 2:i=J[h+64>>2];J[i>>2]=o;J[i+4>>2]=o>>31;continue e;case 3:I[J[h+64>>2]>>1]=o;continue e;case 4:H[J[h+64>>2]]=o;continue e;case 6:J[J[h+64>>2]>>2]=o;continue e;case 7:break I;default:continue e}}i=J[h+64>>2];J[i>>2]=o;J[i+4>>2]=o>>31;continue e}j=j>>>0<=8?8:j;m=m|8;f=120}i=r;g=J[h+64>>2];k=J[h+68>>2];if(g|k){x=f&32;while(1){i=i-1|0;H[i|0]=x|K[(g&15)+17776|0];y=!k&g>>>0>15|(k|0)!=0;n=k;k=k>>>4|0;g=(n&15)<<28|g>>>4;if(y){continue}break}}if(!(J[h+64>>2]|J[h+68>>2])|!(m&8)){break y}t=(f>>>4|0)+1163|0;p=2;break y}f=r;i=J[h+68>>2];k=i;g=J[h+64>>2];if(i|g){while(1){f=f-1|0;H[f|0]=g&7|48;n=!k&g>>>0>7|(k|0)!=0;i=k;k=i>>>3|0;g=(i&7)<<29|g>>>3;if(n){continue}break}}i=f;if(!(m&8)){break y}f=r-i|0;j=(f|0)<(j|0)?j:f+1|0;break y}g=J[h+64>>2];f=J[h+68>>2];k=f;if((f|0)<0){i=0-(k+((g|0)!=0)|0)|0;k=i;g=0-g|0;J[h+64>>2]=g;J[h+68>>2]=i;p=1;t=1163;break z}if(m&2048){p=1;t=1164;break z}p=m&1;t=p?1165:1163}i=Mk(g,k,r)}if((j|0)<0?u:0){break d}m=u?m&-65537:m;f=J[h+64>>2];g=J[h+68>>2];if(!(j|(f|g)!=0)){i=r;j=0;break g}f=!(f|g)+(r-i|0)|0;j=(f|0)<(j|0)?j:f;break g}l=j>>>0>=2147483647?2147483647:j;n=l;m=(l|0)!=0;f=J[h+64>>2];i=f?f:1983;f=i;J:{K:{L:{M:{if(!(f&3)|!l){break M}while(1){if(!K[f|0]){break L}n=n-1|0;m=(n|0)!=0;f=f+1|0;if(!(f&3)){break M}if(n){continue}break}}if(!m){break K}if(!(!K[f|0]|n>>>0<4)){while(1){k=J[f>>2];if((k^-1)&k-16843009&-2139062144){break L}f=f+4|0;n=n-4|0;if(n>>>0>3){continue}break}}if(!n){break K}}while(1){if(!K[f|0]){break J}f=f+1|0;n=n-1|0;if(n){continue}break}}f=0}f=f?f-i|0:l;l=f+i|0;if((j|0)>=0){m=g;j=f;break g}m=g;j=f;if(K[l|0]){break d}break g}if(j){g=J[h+64>>2];break u}f=0;Nk(a,32,q,0,m);break t}J[h+12>>2]=0;J[h+8>>2]=J[h+64>>2];g=h+8|0;J[h+64>>2]=g;j=-1}f=0;N:{while(1){i=J[g>>2];if(!i){break N}k=Rk(h+4|0,i);i=(k|0)<0;if(!(i|k>>>0>j-f>>>0)){g=g+4|0;f=f+k|0;if(j>>>0>f>>>0){continue}break N}break}if(i){break b}}l=61;if((f|0)<0){break c}Nk(a,32,q,f,m);if(!f){f=0;break t}l=0;g=J[h+64>>2];while(1){i=J[g>>2];if(!i){break t}i=Rk(h+4|0,i);l=i+l|0;if(l>>>0>f>>>0){break t}Jk(a,h+4|0,i);g=g+4|0;if(f>>>0>l>>>0){continue}break}}Nk(a,32,q,f,m^8192);f=(f|0)<(q|0)?q:f;continue e}if((j|0)<0?u:0){break d}l=61;f=Pk(a,O[h+64>>3],q,j,m,f);if((f|0)>=0){continue e}break c}H[h+55|0]=J[h+64>>2];j=1;i=w;m=g;break g}g=K[f+1|0];f=f+1|0;continue}}if(a){break a}if(!s){break f}f=1;while(1){a=J[(f<<2)+e>>2];if(a){Lk((f<<3)+d|0,a,c);o=1;f=f+1|0;if((f|0)!=10){continue}break a}break}o=1;if(f>>>0>=10){break a}while(1){if(J[(f<<2)+e>>2]){break h}f=f+1|0;if((f|0)!=10){continue}break}break a}l=28;break c}k=l-i|0;g=(j|0)>(k|0)?j:k;if((g|0)>(p^2147483647)){break d}l=61;j=g+p|0;f=(j|0)<(q|0)?q:j;if((v|0)<(f|0)){break c}Nk(a,32,f,j,m);Jk(a,t,p);Nk(a,48,f,j,m^65536);Nk(a,48,g,k,0);Jk(a,i,k);Nk(a,32,f,j,m^8192);continue}break}o=0;break a}l=61}J[4842]=l}o=-1}fa=h+80|0;return o}function ai(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=fa-16|0;fa=g;J[b+44>>2]=d;J[b+48>>2]=c;d=J[b+12>>2];f=J[b+8>>2];if((d|0)!=(f|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){ka[J[J[e>>2]+4>>2]](e)}if((d|0)!=(f|0)){continue}break}}J[b+12>>2]=f;J[b+24>>2]=J[b+20>>2];J[b+36>>2]=J[b+32>>2];a:{if(!J[b+4>>2]){b=pl(32);H[b+23|0]=0;c=K[1670]|K[1671]<<8|(K[1672]<<16|K[1673]<<24);d=K[1666]|K[1667]<<8|(K[1668]<<16|K[1669]<<24);H[b+15|0]=d;H[b+16|0]=d>>>8;H[b+17|0]=d>>>16;H[b+18|0]=d>>>24;H[b+19|0]=c;H[b+20|0]=c>>>8;H[b+21|0]=c>>>16;H[b+22|0]=c>>>24;c=K[1663]|K[1664]<<8|(K[1665]<<16|K[1666]<<24);d=K[1659]|K[1660]<<8|(K[1661]<<16|K[1662]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1655]|K[1656]<<8|(K[1657]<<16|K[1658]<<24);d=K[1651]|K[1652]<<8|(K[1653]<<16|K[1654]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,23);hl(b);break a}d=fa-16|0;fa=d;e=J[b+44>>2];f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],1637,1642)}e=ka[J[J[b>>2]+8>>2]](b)|0;H[d+15|0]=e;H[d+14|0]=2;H[d+13|0]=e&255?2:3;e=J[b+44>>2];f=J[e+20>>2];b:{if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}Ba(e,J[e+4>>2],d+14|0,d+15|0);e=J[b+44>>2];f=J[e+20>>2];if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}Ba(e,J[e+4>>2],d+13|0,d+14|0);e=J[b+44>>2];f=J[e+20>>2];if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}Ba(e,J[e+4>>2],d+15|0,d+16|0);e=J[b+44>>2]}j=d,k=ka[J[J[b>>2]+12>>2]](b)|0,H[j+12|0]=k;f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],d+12|0,d+13|0)}I[d+10>>1]=(J[J[b+4>>2]+4>>2]!=0)<<15;e=J[b+44>>2];f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],d+10|0,d+12|0)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;fa=d+16|0;if(J[a>>2]){break a}if(H[a+15|0]<0){hl(J[a+4>>2])}d=J[J[b+4>>2]+4>>2];c:{if(!d){J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break c}e=J[b+44>>2];if(d){yb(J[d+28>>2]-J[d+24>>2]>>2,e);f=J[d+24>>2];i=J[d+28>>2];if((f|0)!=(i|0)){while(1){h=J[f>>2];if(h){yb(J[h+24>>2],e);Xj(g,e,h)}f=f+4|0;if((i|0)!=(f|0)){continue}break}}Xj(g,e,d)}if(d){J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break c}d=pl(32);H[d+26|0]=0;e=K[1882]|K[1883]<<8;H[d+24|0]=e;H[d+25|0]=e>>>8;e=K[1878]|K[1879]<<8|(K[1880]<<16|K[1881]<<24);f=K[1874]|K[1875]<<8|(K[1876]<<16|K[1877]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=e;H[d+21|0]=e>>>8;H[d+22|0]=e>>>16;H[d+23|0]=e>>>24;e=K[1870]|K[1871]<<8|(K[1872]<<16|K[1873]<<24);f=K[1866]|K[1867]<<8|(K[1868]<<16|K[1869]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1862]|K[1863]<<8|(K[1864]<<16|K[1865]<<24);f=K[1858]|K[1859]<<8|(K[1860]<<16|K[1861]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;J[a>>2]=-1;tl(a+4|0,d,26);hl(d);if(J[a>>2]){break a}if(H[a+15|0]>=0){break c}hl(J[a+4>>2])}if(!(ka[J[J[b>>2]+16>>2]](b)|0)){b=pl(32);H[b+29|0]=0;c=K[1798]|K[1799]<<8|(K[1800]<<16|K[1801]<<24);d=K[1794]|K[1795]<<8|(K[1796]<<16|K[1797]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1793]|K[1794]<<8|(K[1795]<<16|K[1796]<<24);d=K[1789]|K[1790]<<8|(K[1791]<<16|K[1792]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1785]|K[1786]<<8|(K[1787]<<16|K[1788]<<24);d=K[1781]|K[1782]<<8|(K[1783]<<16|K[1784]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1777]|K[1778]<<8|(K[1779]<<16|K[1780]<<24);d=K[1773]|K[1774]<<8|(K[1775]<<16|K[1776]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,29);hl(b);break a}if(!(ka[J[J[b>>2]+20>>2]](b)|0)){b=pl(32);H[b+31|0]=0;c=K[1941]|K[1942]<<8|(K[1943]<<16|K[1944]<<24);d=K[1937]|K[1938]<<8|(K[1939]<<16|K[1940]<<24);H[b+23|0]=d;H[b+24|0]=d>>>8;H[b+25|0]=d>>>16;H[b+26|0]=d>>>24;H[b+27|0]=c;H[b+28|0]=c>>>8;H[b+29|0]=c>>>16;H[b+30|0]=c>>>24;c=K[1934]|K[1935]<<8|(K[1936]<<16|K[1937]<<24);d=K[1930]|K[1931]<<8|(K[1932]<<16|K[1933]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1926]|K[1927]<<8|(K[1928]<<16|K[1929]<<24);d=K[1922]|K[1923]<<8|(K[1924]<<16|K[1925]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1918]|K[1919]<<8|(K[1920]<<16|K[1921]<<24);d=K[1914]|K[1915]<<8|(K[1916]<<16|K[1917]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,31);hl(b);break a}ka[J[J[b>>2]+24>>2]](a,b);if(J[a>>2]){break a}if(H[a+15|0]<0){hl(J[a+4>>2])}if(!(ka[J[J[b>>2]+28>>2]](b)|0)){b=we(g,1708);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}tl(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}hl(J[b>>2]);break a}d=c;c=we(g,1214);d=si(d,c,0);if(H[c+11|0]<0){hl(J[c>>2])}if(d){ka[J[J[b>>2]+48>>2]](b)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}fa=g+16|0}function Xb(a,b,c,d,e){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,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,Q=0;o=fa-32|0;fa=o;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){d=a+4|0;Ba(e,J[e+4>>2],a,d);p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){Ba(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){B=a+12|0;d=B;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];D=a+32|0;d=D;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];E=a+52|0;d=E;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];F=a+72|0;d=F;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[o+24>>2]=J[b+8>>2];d=J[b+4>>2];J[o+16>>2]=J[b>>2];J[o+20>>2]=d;J[o+8>>2]=J[c+8>>2];b=J[c+4>>2];J[o>>2]=J[c>>2];J[o+4>>2]=b;c=0;b=0;f=fa-32|0;fa=f;l=a;g=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(g){if(g>>>0>=1073741824){break b}a=g<<2;c=pl(a);J[f+8>>2]=c;b=a+c|0;J[f+16>>2]=b;pk(c,0,a);J[f+12>>2]=b}a=J[l+128>>2];d=J[a>>2];if(d){J[a+4>>2]=d;hl(d);g=J[l+8>>2];c=J[f+8>>2];b=J[f+12>>2]}J[a+4>>2]=b;J[a>>2]=c;J[a+8>>2]=J[f+16>>2];c=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b=0;c:{if(g){if(g>>>0>=1073741824){break c}a=g<<2;b=pl(a);J[f+8>>2]=b;c=a+b|0;J[f+16>>2]=c;pk(b,0,a);J[f+12>>2]=c}a=J[l+140>>2];d=J[a>>2];if(d){J[a+4>>2]=d;hl(d);c=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=c;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];p=J[o+20>>2];t=J[o+24>>2];d=J[o+4>>2];w=J[o+8>>2];b=J[o>>2];c=J[o+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;dc(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;q=(a>>>0)/113|0;a=J[J[f+12>>2]+(q<<2)>>2]+P(a-P(q,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=w;J[a+12>>2]=b;J[a+4>>2]=p;J[a+8>>2]=t;J[a>>2]=c;g=J[f+28>>2]+1|0;J[f+28>>2]=g;if(g){a=t;K=a&-4;G=a&3;L=l+32|0;N=l+12|0;O=l+72|0;Q=a>>>0<4;while(1){b=J[f+12>>2];i=J[f+24>>2];h=g-1|0;a=i+h|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;z=J[a+32>>2];c=J[a+24>>2];q=J[a+12>>2];a=J[a>>2];J[f+28>>2]=h;h=J[f+16>>2];if((((b|0)!=(h|0)?P(h-b>>2,113)-1|0:0)-(g+i|0)|0)+1>>>0>=226){hl(J[h-4>>2]);J[f+16>>2]=J[f+16>>2]-4}i=J[l>>2];g=(c|0)!=(J[l+8>>2]-1|0)?c+1|0:0;h=g<<2;x=P(z,12);k=x+J[l+140>>2]|0;c=J[h+J[k>>2]>>2];d:{e:{if((i|0)==(c|0)){break e}f:{g:{y=q-a|0;if(y>>>0<=2){h=J[l+116>>2];J[h>>2]=g;c=1;b=J[l+8>>2];if(b>>>0>1){break g}break f}k=J[l+128>>2];b=k+x|0;j=k;k=x+12|0;ec(j+k|0,J[b>>2],J[b+4>>2]);b=h+J[k+J[l+128>>2]>>2]|0;k=J[b>>2]+(1<<i+(c^-1))|0;J[b>>2]=k;b=a;h:{if((a|0)==(q|0)){break h}H=J[p+24>>2];I=h+H|0;b=q;c=a;if(!t){if(k>>>0>M[I>>2]){break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}if(k>>>0<=M[(h+J[d+24>>2]|0)+(P(b,w)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(b|0)){continue}break}break h}while(1){i=P(c,t)<<2;if(k>>>0>M[i+I>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}n=J[d+24>>2]+(P(b,w)<<2)|0;if(k>>>0<=M[n+h>>2]){continue}break}r=i+H|0;A=0;i=0;u=0;if(!Q){while(1){m=i<<2;j=m+r|0;s=J[j>>2];v=j;j=n+m|0;J[v>>2]=J[j>>2];J[j>>2]=s;j=m|4;s=j+r|0;v=J[s>>2];j=j+n|0;J[s>>2]=J[j>>2];J[j>>2]=v;j=m|8;s=j+r|0;v=J[s>>2];j=j+n|0;J[s>>2]=J[j>>2];J[j>>2]=v;m=m|12;j=m+r|0;s=J[j>>2];m=n+m|0;J[j>>2]=J[m>>2];J[m>>2]=s;i=i+4|0;u=u+4|0;if((K|0)!=(u|0)){continue}break}}if(G){while(1){m=i<<2;u=m+r|0;j=J[u>>2];m=n+m|0;J[u>>2]=J[m>>2];J[m>>2]=j;i=i+1|0;A=A+1|0;if((A|0)!=(G|0)){continue}break}}c=c+1|0;if((c|0)!=(b|0)){continue}break}}k=b-a|0;n=q-b|0;if((k|0)!=(n|0)){fc(O,k>>>0<n>>>0)}gc(N,S(y)^31,(y>>>1|0)-(k>>>0<n>>>0?k:n)|0);j=h;c=J[l+140>>2];h=c+x|0;i=J[h>>2];r=j+i|0;J[r>>2]=J[r>>2]+1;r=z+1|0;ec(c+P(r,12)|0,i,J[h+4>>2]);if((a|0)!=(b|0)){i=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];h=J[f+12>>2];if((i|0)==(((c|0)!=(h|0)?P(c-h>>2,113)-1|0:0)|0)){dc(f+8|0);i=J[f+24>>2]+J[f+28>>2]|0;h=J[f+12>>2]}c=(i>>>0)/113|0;c=J[h+(c<<2)>>2]+P(i-P(c,113)|0,36)|0;J[c+32>>2]=z;J[c+28>>2]=k;J[c+24>>2]=g;J[c+16>>2]=p;J[c+12>>2]=b;J[c+4>>2]=p;J[c+8>>2]=t;J[c>>2]=a;J[c+20>>2]=t;J[f+28>>2]=J[f+28>>2]+1}if((b|0)==(q|0)){break e}h=J[f+28>>2]+J[f+24>>2]|0;a=J[f+16>>2];c=J[f+12>>2];if((h|0)==(((a|0)!=(c|0)?P(a-c>>2,113)-1|0:0)|0)){dc(f+8|0);h=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}a=(h>>>0)/113|0;a=J[c+(a<<2)>>2]+P(h-P(a,113)|0,36)|0;J[a+32>>2]=r;J[a+28>>2]=n;J[a+24>>2]=g;J[a+16>>2]=d;J[a+20>>2]=w;J[a+12>>2]=q;J[a+4>>2]=p;J[a>>2]=b;J[a+8>>2]=t;g=J[f+28>>2]+1|0;J[f+28>>2]=g;break d}while(1){g=(b-1|0)!=(g|0)?g+1|0:0;J[h+(c<<2)>>2]=g;b=J[l+8>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}if(!b|(a|0)==(q|0)){break e}h=0;c=1;while(1){g=0;i:{if(!c){c=0;break i}q=J[p+24>>2]+(P(J[p+4>>2],a+h|0)<<2)|0;while(1){c=J[l>>2];i=J[J[l+116>>2]+(g<<2)>>2]<<2;n=J[i+J[k>>2]>>2];if((c|0)!=(n|0)){gc(L,c-n|0,J[i+q>>2]);b=J[l+8>>2]}c=b;g=g+1|0;if(c>>>0>g>>>0){continue}break}}h=h+1|0;if((y|0)!=(h|0)){continue}break}}g=J[f+28>>2]}if(g){continue}break}}J[f+28>>2]=0;a=J[f+16>>2];g=J[f+12>>2];b=a-g|0;if(b>>>0>=9){while(1){hl(J[g>>2]);g=J[f+12>>2]+4|0;J[f+12>>2]=g;a=J[f+16>>2];b=a-g|0;if(b>>>0>8){continue}break}}c=56;j:{switch((b>>>2|0)-1|0){case 1:c=113;case 0:J[f+24>>2]=c;break;default:break j}}k:{if((a|0)==(g|0)){break k}while(1){hl(J[g>>2]);g=g+4|0;if((g|0)!=(a|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break k}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){hl(a)}fa=f+32|0;break a}Ia();C()}Ia();C()}ze(B,e);ze(D,e);ze(E,e);ze(F,e)}fa=o+32|0;return 1}function Xg(a,b){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;l=fa-32|0;fa=l;d=J[a+16>>2];J[a+20>>2]=d;a:{b:{c:{d:{e:{f:{g:{h:{if((d|0)!=J[a+24>>2]){J[d>>2]=b;b=d+4|0;J[a+20>>2]=b;e=d;break h}e=pl(4);J[e>>2]=b;b=e+4|0;J[a+24>>2]=b;J[a+20>>2]=b;J[a+16>>2]=e;if(d){break g}}d=J[a+8>>2];d=J[d+100>>2]-J[d+96>>2]|0;break f}hl(d);b=J[a+20>>2];e=J[a+16>>2];if((b|0)==(e|0)){break e}d=J[a+8>>2];d=J[d+100>>2]-J[d+96>>2]|0}if((d|0)>0){q=a+120|0;d=(d|0)/12|0;r=(d|0)<=1?1:d;while(1){i:{j:{e=b-4|0;b=J[e>>2];if((b|0)==-1){break j}d=(b>>>0)/3|0;if(J[J[a+28>>2]+(d>>>3&268435452)>>2]>>>d&1){break j}m=0;while(1){J[a+164>>2]=J[a+164>>2]+1;e=b;g=(b>>>0)/3|0;f=(b|0)==-1;n=f?-1:g;b=J[a+28>>2]+(n>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<<n;b=J[a+76>>2];k:{if((b|0)!=J[a+80>>2]){J[b>>2]=e;J[a+76>>2]=b+4;break k}i=J[a+72>>2];j=b-i|0;c=j>>2;k=c+1|0;if(k>>>0>1073741823){break d}d=j>>>1|0;k=j>>>0>=2147483644?1073741823:d>>>0>k>>>0?d:k;if(k){if(k>>>0>1073741823){break a}d=pl(k<<2)}else{d=0}h=d+(c<<2)|0;J[h>>2]=e;c=h+4|0;if((b|0)!=(i|0)){while(1){h=h-4|0;b=b-4|0;J[h>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[a+80>>2]=d+(k<<2);J[a+76>>2]=c;J[a+72>>2]=h;if(!i){break k}hl(i)}b=-1;h=J[a+12>>2];b=(e|0)!=-1?J[J[h>>2]+(e<<2)>>2]:b;k=b<<2;p=J[k+J[a+152>>2]>>2];l:{m:{c=J[a+84>>2]+(b>>>3&536870908)|0;d=J[c>>2];b=1<<b;if(!(d&b)){J[c>>2]=b|d;if((p|0)==-1){break m}}n:{if(f){break n}b=-1;d=e+1|0;f=(d>>>0)%3|0?d:e-2|0;if((f|0)!=-1){b=J[J[h+12>>2]+(f<<2)>>2]}i=e-P(g,3)|0;o:{p:{if(i){c=e-1|0;break p}c=e+2|0;d=-1;if((c|0)==-1){break o}}d=J[J[h+12>>2]+(c<<2)>>2]}o=(d|0)==-1;j=o?-1:(d>>>0)/3|0;q:{if((f|0)==-1){break q}g=J[h+12>>2];c=J[g+(f<<2)>>2];if((c|0)==-1){break q}f=J[a+28>>2];c=(c>>>0)/3|0;if(J[f+(c>>>3&268435452)>>2]>>>c&1){break q}r:{s:{if(i){h=e-1|0;break s}h=e+2|0;if((h|0)==-1){break r}}c=J[(h<<2)+g>>2];if((c|0)==-1){break r}c=(c>>>0)/3|0;if(J[f+(c>>>3&268435452)>>2]>>>c&1){break r}c=J[a+272>>2];t:{if((c|0)!=J[a+276>>2]){J[c>>2]=1;J[a+272>>2]=c+4;break t}i=J[a+268>>2];j=c-i|0;f=j>>2;g=f+1|0;if(g>>>0>1073741823){break c}c=j>>>1|0;g=j>>>0>=2147483644?1073741823:c>>>0>g>>>0?c:g;if(g){if(g>>>0>1073741823){break a}c=pl(g<<2)}else{c=0}f=c+(f<<2)|0;J[f>>2]=1;c=ok(c,i,j);J[a+276>>2]=c+(g<<2);J[a+272>>2]=f+4;J[a+268>>2]=c;if(!i){break t}hl(i)}J[a+168>>2]=J[a+168>>2]+1;u:{if((p|0)==-1){break u}c=J[J[a+152>>2]+k>>2];if(J[J[a+140>>2]+(c>>>3&536870908)>>2]>>>c&1){break u}Yg(a,e,0)}c=J[a+164>>2];J[l+4>>2]=n;e=l+4|0;J[l+16>>2]=e;ch(l+24|0,q,e,l+16|0);J[J[l+24>>2]+12>>2]=c;h=J[a+20>>2];J[h-4>>2]=d;if(J[a+24>>2]!=(h|0)){J[h>>2]=b;J[a+20>>2]=h+4;break i}g=J[a+16>>2];f=h-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break b}d=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0<d>>>0?d:c;if(c){if(c>>>0>1073741823){break a}d=pl(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=b;b=e+4|0;if((g|0)!=(h|0)){while(1){e=e-4|0;h=h-4|0;J[e>>2]=J[h>>2];if((g|0)!=(h|0)){continue}break}}J[a+24>>2]=d+(c<<2);J[a+20>>2]=b;J[a+16>>2]=e;if(!g){break i}hl(g);break i}if(!o){dh(a,J[a+164>>2],0,j)}d=J[a+272>>2];if((d|0)!=J[a+276>>2]){J[d>>2]=3;J[a+272>>2]=d+4;break l}g=J[a+268>>2];f=d-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break c}d=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0<d>>>0?d:c;if(c){if(c>>>0>1073741823){break a}d=pl(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=3;d=ok(d,g,f);J[a+276>>2]=d+(c<<2);J[a+272>>2]=e+4;J[a+268>>2]=d;if(!g){break l}hl(g);break l}c=(b|0)==-1;if(!c){dh(a,J[a+164>>2],1,c?-1:(b>>>0)/3|0)}v:{w:{if(i){b=e-1|0;break w}b=e+2|0;if((b|0)==-1){break v}}b=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break v}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break v}b=J[a+272>>2];if((b|0)!=J[a+276>>2]){J[b>>2]=5;J[a+272>>2]=b+4;b=d;break l}g=J[a+268>>2];f=b-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break c}b=f>>>1|0;c=f>>>0>=2147483644?1073741823:b>>>0>c>>>0?b:c;if(c){if(c>>>0>1073741823){break a}b=pl(c<<2)}else{b=0}e=b+(e<<2)|0;J[e>>2]=5;b=ok(b,g,f);J[a+276>>2]=b+(c<<2);J[a+272>>2]=e+4;J[a+268>>2]=b;if(!g){b=d;break l}hl(g);b=d;break l}if(o){break n}dh(a,J[a+164>>2],0,j)}b=J[a+272>>2];x:{if((b|0)!=J[a+276>>2]){J[b>>2]=7;J[a+272>>2]=b+4;break x}f=J[a+268>>2];c=b-f|0;d=c>>2;e=d+1|0;if(e>>>0>1073741823){break c}b=c>>>1|0;e=c>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(e){if(e>>>0>1073741823){break a}b=pl(e<<2)}else{b=0}d=b+(d<<2)|0;J[d>>2]=7;b=ok(b,f,c);J[a+276>>2]=b+(e<<2);J[a+272>>2]=d+4;J[a+268>>2]=b;if(!f){break x}hl(f)}J[a+20>>2]=J[a+20>>2]-4;break i}b=J[a+272>>2];y:{if((b|0)!=J[a+276>>2]){J[b>>2]=0;J[a+272>>2]=b+4;break y}g=J[a+268>>2];f=b-g|0;d=f>>2;c=d+1|0;if(c>>>0>1073741823){break c}b=f>>>1|0;c=f>>>0>=2147483644?1073741823:b>>>0>c>>>0?b:c;if(c){if(c>>>0>1073741823){break a}b=pl(c<<2)}else{b=0}d=b+(d<<2)|0;J[d>>2]=0;b=ok(b,g,f);J[a+276>>2]=b+(c<<2);J[a+272>>2]=d+4;J[a+268>>2]=b;if(!g){break y}hl(g)}b=-1;if((e|0)==-1){break l}d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;if((d|0)==-1){break l}b=J[J[J[a+12>>2]+12>>2]+(d<<2)>>2]}m=m+1|0;if((r|0)!=(m|0)){continue}break}break i}J[a+20>>2]=e}b=J[a+20>>2];if((b|0)!=J[a+16>>2]){continue}break}break e}f=J[a+28>>2];while(1){d=b-4|0;c=J[d>>2];z:{if((c|0)!=-1){c=(c>>>0)/3|0;if(!(J[f+(c>>>3&268435452)>>2]>>>c&1)){break z}}J[a+20>>2]=d;b=d}if((b|0)!=(e|0)){continue}break}}fa=l+32|0;return 1}Ia();C()}Ia();C()}Ia();C()}Ya();C()}function Lb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=J[b>>2];if((e|0)<0){break b}J[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>2147483647|k){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|m<Q(-2147483648)|m!=m){break d}n=Q(R(m));if(n==Q(Infinity)){break d}e=(b<<2)+d|0;if(n<Q(2147483648)){i=~~m}else{i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|m<Q(-2147483648)|(Q(R(m))==Q(Infinity)|m!=m)){break d}if(m<Q(0)|m>Q(1)){break d}e=(b<<2)+d|0;l=V(+m*2147483647+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}pk((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=V(l*2147483647+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}pk((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}pk((e<<2)+d|0,0,(c&255)-e<<2)}return j}pk((e<<2)+d|0,0,(c&255)-e<<2);return 1}function af(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=J[b+48>>2];if(!g){b=pl(32);H[b+23|0]=0;c=K[1670]|K[1671]<<8|(K[1672]<<16|K[1673]<<24);e=K[1666]|K[1667]<<8|(K[1668]<<16|K[1669]<<24);H[b+15|0]=e;H[b+16|0]=e>>>8;H[b+17|0]=e>>>16;H[b+18|0]=e>>>24;H[b+19|0]=c;H[b+20|0]=c>>>8;H[b+21|0]=c>>>16;H[b+22|0]=c>>>24;c=K[1663]|K[1664]<<8|(K[1665]<<16|K[1666]<<24);e=K[1659]|K[1660]<<8|(K[1661]<<16|K[1662]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1655]|K[1656]<<8|(K[1657]<<16|K[1658]<<24);e=K[1651]|K[1652]<<8|(K[1653]<<16|K[1654]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,23);hl(b);return}h=J[b+52>>2];if(!h){e=fa-32|0;fa=e;d=pl(16);J[e+16>>2]=d;J[e+20>>2]=15;J[e+24>>2]=-2147483632;f=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);h=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[d+7|0]=h;H[d+8|0]=h>>>8;H[d+9|0]=h>>>16;H[d+10|0]=h>>>24;H[d+11|0]=f;H[d+12|0]=f>>>8;H[d+13|0]=f>>>16;H[d+14|0]=f>>>24;f=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);h=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[d|0]=h;H[d+1|0]=h>>>8;H[d+2|0]=h>>>16;H[d+3|0]=h>>>24;H[d+4|0]=f;H[d+5|0]=f>>>8;H[d+6|0]=f>>>16;H[d+7|0]=f>>>24;H[d+15|0]=0;h=b+4|0;j=pi(h,e+16|0,-1);if(H[e+27|0]<0){hl(J[e+16>>2])}a:{b:{c:{d:{e:{switch(j+1|0){case 1:d=pl(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12672;break c;case 0:break e;default:break d}}if((Pb(h)|0)!=10){break d}d=pl(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12672;break c}J[e+12>>2]=0;f:{i=J[g+12>>2];f=J[g+8>>2];if((i-f|0)>0){d=0;while(1){k=J[J[(d<<2)+f>>2]+28>>2];if(k-1>>>0>=6){if((k|0)!=9){break f}d=pl(32);J[e+16>>2]=d;J[e+20>>2]=17;J[e+24>>2]=-2147483616;H[d+16|0]=K[1261];f=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);i=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[d+8|0]=i;H[d+9|0]=i>>>8;H[d+10|0]=i>>>16;H[d+11|0]=i>>>24;H[d+12|0]=f;H[d+13|0]=f>>>8;H[d+14|0]=f>>>16;H[d+15|0]=f>>>24;f=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);i=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[d|0]=i;H[d+1|0]=i>>>8;H[d+2|0]=i>>>16;H[d+3|0]=i>>>24;H[d+4|0]=f;H[d+5|0]=f>>>8;H[d+6|0]=f>>>16;H[d+7|0]=f>>>24;H[d+17|0]=0;d=Gb(h,e+12|0,e+16|0,-1);if(H[e+27|0]<0){hl(J[e+16>>2])}if((d|0)<=0){break f}f=J[g+8>>2];i=J[g+12>>2];d=J[e+12>>2]}d=d+1|0;J[e+12>>2]=d;if(i-f>>2>(d|0)){continue}break}}d=pl(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12564;break c}if((j|0)==1){break b}d=pl(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12672}J[d+4>>2]=g;ai(a,d,h,c);if(!J[a>>2]){if(H[a+15|0]<0){hl(J[a+4>>2])}c=J[d+52>>2];J[b+44>>2]=0;J[b+40>>2]=c;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}ka[J[J[d>>2]+4>>2]](d);break a}b=pl(32);H[b+24|0]=0;c=K[1853]|K[1854]<<8|(K[1855]<<16|K[1856]<<24);d=K[1849]|K[1850]<<8|(K[1851]<<16|K[1852]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1845]|K[1846]<<8|(K[1847]<<16|K[1848]<<24);d=K[1841]|K[1842]<<8|(K[1843]<<16|K[1844]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1837]|K[1838]<<8|(K[1839]<<16|K[1840]<<24);d=K[1833]|K[1834]<<8|(K[1835]<<16|K[1836]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,24);hl(b)}fa=e+32|0;return}d=fa-16|0;fa=d;e=pl(16);J[d>>2]=e;J[d+4>>2]=15;J[d+8>>2]=-2147483632;g=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);f=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[e+7|0]=f;H[e+8|0]=f>>>8;H[e+9|0]=f>>>16;H[e+10|0]=f>>>24;H[e+11|0]=g;H[e+12|0]=g>>>8;H[e+13|0]=g>>>16;H[e+14|0]=g>>>24;g=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);f=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[e|0]=f;H[e+1|0]=f>>>8;H[e+2|0]=f>>>16;H[e+3|0]=f>>>24;H[e+4|0]=g;H[e+5|0]=g>>>8;H[e+6|0]=g>>>16;H[e+7|0]=g>>>24;H[e+15|0]=0;g=b+4|0;e=pi(g,d,-1);if(H[d+11|0]<0){hl(J[d>>2])}g:{h:{i:{switch(e+1|0){case 0:if((Pb(g)|0)==10){break h}break;case 2:break i;default:break h}}e=Rh(pl(68));J[e+64>>2]=0;J[e>>2]=10412;break g}e=Rh(pl(64));J[e>>2]=12280}J[e+56>>2]=h;J[e+4>>2]=h;ai(a,e,g,c);if(!J[a>>2]){if(H[a+15|0]<0){hl(J[a+4>>2])}J[b+40>>2]=J[e+52>>2];J[b+44>>2]=J[e+60>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}ka[J[J[e>>2]+4>>2]](e);fa=d+16|0}function hk(a){a=a|0;var 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=Q(0),u=0,v=0,w=0,x=0,y=Q(0),z=0,A=0;c=fa+-64|0;fa=c;f=J[a+80>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+56>>2]=a;J[c+48>>2]=a;J[c+32>>2]=0;J[c+36>>2]=0;J[c+52>>2]=1065353216;ik(c+32|0,f);f=J[a+80>>2];J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;a:{b:{c:{d:{if(!f){break d}if(f>>>0>=1073741824){break a}f=f<<2;s=pl(f);J[c+16>>2]=s;b=f+s|0;J[c+24>>2]=b;pk(s,0,f);J[c+20>>2]=b;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;z=c+40|0;f=0;while(1){e=0;b=J[c+48>>2];m=J[b+8>>2];n=J[b+12>>2]-m|0;v=(n|0)<=0;e:{if(v){break e}b=n>>>2|0;b=b>>>0<=1?1:b;i=b&1;h=0;if(n>>>0>=8){g=b&1073741822;b=0;while(1){j=h<<2;d=J[j+m>>2];if(K[d+84|0]){d=f}else{d=J[J[d+68>>2]+(f<<2)>>2]}h=h+2|0;l=d<<3^e<<2;e=J[m+(j|4)>>2];if(K[e+84|0]){d=f}else{d=J[J[e+68>>2]+(f<<2)>>2]}e=l^d<<2;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break e}b=J[m+(h<<2)>>2];if(K[b+84|0]){b=f}else{b=J[J[b+68>>2]+(f<<2)>>2]}e=b<<2^e<<1}f:{g:{j=J[c+36>>2];if(!j){break g}g=J[c+32>>2];i=hm(j)>>>0>1;b=j-1&e;h:{if(!i){break h}b=e;if(b>>>0<j>>>0){break h}b=(e>>>0)%(j>>>0)|0}d=b;b=J[g+(d<<2)>>2];if(!b){break g}k=J[b>>2];if(!k){break g}p=J[c+56>>2];i:{j:{if(!i){w=j-1|0;while(1){b=J[k+4>>2];k:{if((b|0)!=(e|0)){if((d|0)==(b&w)){break k}break g}x=J[p+8>>2];b=J[p+12>>2]-x|0;if((b|0)<4){break i}i=J[k+8>>2];o=b>>2;A=(o|0)<=1?1:o;l=0;h=0;while(1){b=f;g=J[x+(h<<2)>>2];if(K[g+84|0]){g=i}else{g=J[g+68>>2];b=J[g+(f<<2)>>2];g=J[g+(i<<2)>>2]}if((b|0)==(g|0)){h=h+1|0;l=(o|0)<=(h|0);if((h|0)!=(A|0)){continue}}break}if(l){break j}}k=J[k>>2];if(k){continue}break}break g}while(1){b=J[k+4>>2];l:{if((b|0)!=(e|0)){if(b>>>0>=j>>>0){b=(b>>>0)%(j>>>0)|0}if((b|0)==(d|0)){break l}break g}w=J[p+8>>2];b=J[p+12>>2]-w|0;if((b|0)<4){break i}i=J[k+8>>2];o=b>>2;x=(o|0)<=1?1:o;l=0;h=0;while(1){b=f;g=J[w+(h<<2)>>2];if(K[g+84|0]){g=i}else{g=J[g+68>>2];b=J[g+(f<<2)>>2];g=J[g+(i<<2)>>2]}if((b|0)==(g|0)){h=h+1|0;l=(o|0)<=(h|0);if((h|0)!=(x|0)){continue}}break}if(l){break j}}k=J[k>>2];if(k){continue}break}break g}if(!k){break g}}J[(f<<2)+s>>2]=J[k+12>>2];break f}m:{if(v){e=0;break m}b=n>>>2|0;b=b>>>0<=1?1:b;i=b&1;e=0;h=0;if(n>>>0>=8){g=b&1073741822;b=0;while(1){l=h<<2;d=J[l+m>>2];if(K[d+84|0]){d=f}else{d=J[J[d+68>>2]+(f<<2)>>2]}h=h+2|0;n=d<<3^e<<2;e=J[m+(l|4)>>2];if(K[e+84|0]){d=f}else{d=J[J[e+68>>2]+(f<<2)>>2]}e=n^d<<2;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break m}b=J[m+(h<<2)>>2];if(K[b+84|0]){b=f}else{b=J[J[b+68>>2]+(f<<2)>>2]}e=b<<2^e<<1}n:{o:{if(!j){break o}m=j-1|0;if(m&j){k=e>>>0>=j>>>0?(e>>>0)%(j>>>0)|0:e;g=J[J[c+32>>2]+(k<<2)>>2];if(!g){break o}m=J[c+56>>2];while(1){g=J[g>>2];if(!g){break o}b=J[g+4>>2];if((b|0)!=(e|0)){if(b>>>0>=j>>>0){b=(b>>>0)%(j>>>0)|0}if((b|0)!=(k|0)){break o}}p=J[m+8>>2];b=J[m+12>>2]-p|0;if((b|0)<4){break n}d=J[g+8>>2];n=b>>2;o=(n|0)<=1?1:n;l=0;h=0;while(1){b=f;i=J[p+(h<<2)>>2];if(K[i+84|0]){i=d}else{i=J[i+68>>2];b=J[i+(f<<2)>>2];i=J[i+(d<<2)>>2]}if((b|0)==(i|0)){h=h+1|0;l=(n|0)<=(h|0);if((h|0)!=(o|0)){continue}}break}if(!l){continue}break}break n}k=e&m;g=J[J[c+32>>2]+(k<<2)>>2];if(!g){break o}n=J[c+56>>2];while(1){g=J[g>>2];if(!g){break o}b=J[g+4>>2];if((b|0)!=(e|0)&(b&m)!=(k|0)){break o}o=J[n+8>>2];b=J[n+12>>2]-o|0;if((b|0)<4){break n}d=J[g+8>>2];p=b>>2;v=(p|0)<=1?1:p;l=0;h=0;while(1){b=f;i=J[o+(h<<2)>>2];if(K[i+84|0]){i=d}else{i=J[i+68>>2];b=J[i+(f<<2)>>2];i=J[i+(d<<2)>>2]}if((b|0)==(i|0)){h=h+1|0;l=(p|0)<=(h|0);if((h|0)!=(v|0)){continue}}break}if(!l){continue}break}break n}d=pl(16);J[d+8>>2]=f;J[d+4>>2]=e;J[d>>2]=0;J[d+12>>2]=u;y=Q(J[c+44>>2]+1>>>0);t=N[c+52>>2];p:{if(y>Q(t*Q(j>>>0))?0:j){break p}g=c+32|0;i=(j-1&j)!=0|j>>>0<3|j<<1;t=Q(W(Q(y/t)));q:{if(t<Q(4294967296)&t>=Q(0)){b=~~t>>>0;break q}b=0}ik(g,b>>>0<i>>>0?i:b);j=J[c+36>>2];b=j-1|0;if(!(b&j)){k=b&e;break p}if(e>>>0<j>>>0){k=e;break p}k=(e>>>0)%(j>>>0)|0}e=J[c+32>>2]+(k<<2)|0;b=J[e>>2];r:{s:{if(!b){J[d>>2]=J[c+40>>2];J[c+40>>2]=d;J[e>>2]=z;b=J[d>>2];if(!b){break r}b=J[b+4>>2];e=j-1|0;t:{if(!(e&j)){b=b&e;break t}if(b>>>0<j>>>0){break t}b=(b>>>0)%(j>>>0)|0}b=J[c+32>>2]+(b<<2)|0;break s}J[d>>2]=J[b>>2]}J[b>>2]=d}J[c+44>>2]=J[c+44>>2]+1;q=J[c+8>>2];r=J[c+4>>2];s=J[c+16>>2]}J[(f<<2)+s>>2]=u;u=u+1|0;if((q|0)!=(r|0)){J[r>>2]=f;r=r+4|0;J[c+4>>2]=r;break f}e=J[c>>2];b=q-e|0;i=b>>2;d=i+1|0;if(d>>>0>=1073741824){break c}g=b>>>1|0;d=b>>>0>=2147483644?1073741823:d>>>0<g>>>0?g:d;if(d){if(d>>>0>=1073741824){break b}b=pl(d<<2)}else{b=0}h=b+(i<<2)|0;J[h>>2]=f;r=h+4|0;if((e|0)!=(q|0)){while(1){h=h-4|0;q=q-4|0;J[h>>2]=J[q>>2];if((e|0)!=(q|0)){continue}break}}q=b+(d<<2)|0;J[c+8>>2]=q;J[c+4>>2]=r;J[c>>2]=h;if(e){hl(e)}}f=f+1|0;b=J[a+80>>2];if(f>>>0<b>>>0){continue}break}if((b|0)!=(u|0)){ka[J[J[a>>2]+24>>2]](a,c+16|0,c);J[a+80>>2]=u}a=J[c>>2];if(!a){break d}J[c+4>>2]=a;hl(a)}a=J[c+16>>2];if(a){J[c+20>>2]=a;hl(a)}f=J[c+40>>2];if(f){while(1){a=J[f>>2];hl(f);f=a;if(f){continue}break}}a=J[c+32>>2];J[c+32>>2]=0;if(a){hl(a)}fa=c- -64|0;return}Ia();C()}Ya();C()}Ia();C()}function kd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b|0];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=I[b>>1];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=L[b>>1];J[e+4>>2]=0;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=J[b>>2];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=0;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=J[b+4>>2];e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=J[b>>2];i=J[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;J[j>>2]=e;J[j+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=K[a+24|0];f=c&255;if(!(e>>>0<f>>>0?e:f)){break d}if(K[a+32|0]){break a}e=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=N[g>>2];if(k>=Q(0x8000000000000000)|k<Q(-0x8000000000000000)|k!=k){break a}n=Q(R(k));if(n==Q(Infinity)){break a}e=(b<<3)+d|0;e:{if(n<Q(0x8000000000000000)){j=Q(R(k))>=Q(1)?~~(k>Q(0)?Q(T(Q(V(Q(k*Q(2.3283064365386963e-10)))),Q(4294967296))):Q(W(Q(Q(k-Q(~~k>>>0>>>0))*Q(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0<h>>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=K[a+24|0];f=c&255;if(!(e>>>0<f>>>0?e:f)){break f}if(K[a+32|0]){break a}e=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=O[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=R(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=R(l)>=1?~~(l>0?T(V(l*2.3283064365386963e-10),4294967295):W((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0<h>>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}pk(d,0,a<<3)}}function tg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=fa-16|0;fa=e;f=J[a+48>>2];b=pl(32);J[e>>2]=b;J[e+4>>2]=20;J[e+8>>2]=-2147483616;c=K[1359]|K[1360]<<8|(K[1361]<<16|K[1362]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1355]|K[1356]<<8|(K[1357]<<16|K[1358]<<24);d=K[1351]|K[1352]<<8|(K[1353]<<16|K[1354]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1347]|K[1348]<<8|(K[1349]<<16|K[1350]<<24);d=K[1343]|K[1344]<<8|(K[1345]<<16|K[1346]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+20|0]=0;f=ri(f+24|0,e);if(H[e+11|0]<0){hl(J[e>>2])}g=J[a+48>>2];b=pl(32);J[e>>2]=b;J[e+4>>2]=22;J[e+8>>2]=-2147483616;c=K[1338]|K[1339]<<8|(K[1340]<<16|K[1341]<<24);d=K[1334]|K[1335]<<8|(K[1336]<<16|K[1337]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1332]|K[1333]<<8|(K[1334]<<16|K[1335]<<24);d=K[1328]|K[1329]<<8|(K[1330]<<16|K[1331]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1324]|K[1325]<<8|(K[1326]<<16|K[1327]<<24);d=K[1320]|K[1321]<<8|(K[1322]<<16|K[1323]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+22|0]=0;g=ri(g+24|0,e);if(H[e+11|0]<0){hl(J[e>>2])}b=J[a+64>>2];J[a+64>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}b=J[a+56>>2];h=J[b+100>>2];i=J[a+48>>2];j=J[b+96>>2];b=pl(32);J[e>>2]=b;J[e+4>>2]=18;J[e+8>>2]=-2147483616;c=K[1566]|K[1567]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1562]|K[1563]<<8|(K[1564]<<16|K[1565]<<24);d=K[1558]|K[1559]<<8|(K[1560]<<16|K[1561]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1554]|K[1555]<<8|(K[1556]<<16|K[1557]<<24);d=K[1550]|K[1551]<<8|(K[1552]<<16|K[1553]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;b=pi(i,e,-1);if(H[e+11|0]<0){hl(J[e>>2])}c=(h-j|0)/12|0;a:{b:{c:{d:{e:{f:{g:{h:{switch(b+1|0){case 1:break f;case 3:break g;case 0:break h;default:break c}}if(!f){break g}if(c>>>0<1e3|(Pb(J[a+48>>2])|0)>4|g^1){break e}}b=J[a+44>>2];H[e|0]=2;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],e,e+1|0)}b=pl(360);J[b+4>>2]=0;J[b+8>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b>>2]=10592;J[b+12>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[b+100>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=1065353216;J[b+156>>2]=0;J[b+160>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+164>>2]=-1;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;c=b+200|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=b+232|0;J[c>>2]=0;J[c+4>>2]=0;H[c+24|0]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[b+304>>2]=0;J[b+308>>2]=0;J[b+296>>2]=0;J[b+300>>2]=0;J[b+288>>2]=0;J[b+292>>2]=0;J[b+280>>2]=0;J[b+284>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+264>>2]=0;J[b+268>>2]=0;H[b+352|0]=0;J[b+344>>2]=0;J[b+336>>2]=0;J[b+340>>2]=0;J[b+328>>2]=2;J[b+332>>2]=7;J[b+320>>2]=-1;J[b+324>>2]=0;J[b+312>>2]=0;J[b+316>>2]=-1;break d}if(!f){break c}}b=J[a+44>>2];H[e|0]=0;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],e,e+1|0)}b=pl(296);J[b+4>>2]=0;J[b+8>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b>>2]=10540;J[b+12>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[b+100>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=1065353216;J[b+156>>2]=0;J[b+160>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+164>>2]=-1;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;c=b+200|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=b+232|0;J[c>>2]=0;J[c+4>>2]=0;H[c+24|0]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;H[b+288|0]=0;J[b+280>>2]=0;J[b+284>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+264>>2]=0;J[b+268>>2]=0}c=J[a+64>>2];J[a+64>>2]=b;if(!c){break b}ka[J[J[c>>2]+4>>2]](c)}b=J[a+64>>2];if(b){break b}a=0;break a}a=ka[J[J[b>>2]+8>>2]](b,a)|0}fa=e+16|0;return a|0}function jd(a,b,c,d){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,D=0,E=0,F=0,G=0,I=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;i=fa-80|0;fa=i;f=-1;h=-1;a:{if((b|0)==-1){break a}h=b+1|0;f=(h>>>0)%3|0?h:b-2|0;h=b-1|0;if((b>>>0)%3|0){break a}h=b+2|0}e=J[a+36>>2];b=J[e>>2];b:{c:{d:{e:{f:{g:{e=J[e+4>>2]-b>>2;g=f<<2;f=J[J[a+32>>2]+28>>2];g=J[g+f>>2];if(e>>>0<=g>>>0){break g}h=J[f+(h<<2)>>2];if(h>>>0>=e>>>0){break g}h:{j=J[b+(h<<2)>>2];g=J[b+(g<<2)>>2];if((j|0)>=(d|0)|(g|0)>=(d|0)){break h}b=(j<<3)+c|0;z=J[b+4>>2];f=(g<<3)+c|0;h=J[f+4>>2];f=J[f>>2];B=J[b>>2];if(!((f|0)!=(B|0)|(h|0)!=(z|0))){J[a+8>>2]=f;J[a+12>>2]=h;break c}b=J[J[a+4>>2]+(d<<2)>>2];J[i+72>>2]=0;J[i+76>>2]=0;e=i- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+56|0);b=J[J[a+4>>2]+(g<<2)>>2];J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+32|0);b=J[J[a+4>>2]+(j<<2)>>2];J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+8|0);b=J[i+16>>2];p=J[i+40>>2];u=b-p|0;N=J[i+44>>2];b=J[i+20>>2]-(N+(b>>>0<p>>>0)|0)|0;I=b;e=em(u,b,u,b);j=ja;b=J[i+8>>2];x=J[i+32>>2];D=b-x|0;O=J[i+36>>2];b=J[i+12>>2]-(O+(b>>>0<x>>>0)|0)|0;L=b;k=e;e=em(D,b,D,b);b=k+e|0;k=ja+j|0;k=b>>>0<e>>>0?k+1|0:k;e=J[i+24>>2];E=J[i+48>>2];F=e-E|0;P=J[i+52>>2];e=J[i+28>>2]-(P+(e>>>0<E>>>0)|0)|0;M=e;m=b;b=em(F,e,F,e);o=m+b|0;e=ja+k|0;q=b>>>0>o>>>0?e+1|0:e;if(!(q|o)){break h}b=0;v=gm(-1,2147483647,o,q);e=f;f=e>>31;G=f;r=e;e=f>>31;g=e;l=r^e;e=l-e|0;f=(f^g)-((g>>>0>l>>>0)+g|0)|0;g=f;f=h>>31;Q=f;s=h;h=f>>31;l=s^h;n=l-h|0;k=f>>31;h=(k^f)-((h>>>0>l>>>0)+k|0)|0;f=(h|0)==(g|0)&e>>>0>n>>>0|g>>>0>h>>>0;e=f?e:n;j=ja;h=f?g:h;if((j|0)==(h|0)&e>>>0>v>>>0|h>>>0>j>>>0){break b}j=J[i+64>>2];R=J[i+68>>2];h=em(j-p|0,R-((j>>>0<p>>>0)+N|0)|0,u,I);f=ja;l=J[i+56>>2];S=J[i+60>>2];e=em(l-x|0,S-((l>>>0<x>>>0)+O|0)|0,D,L);h=e+h|0;g=ja+f|0;g=e>>>0>h>>>0?g+1|0:g;f=h;n=J[i+72>>2];T=J[i+76>>2];h=em(n-E|0,T-((n>>>0<E>>>0)+P|0)|0,F,M);t=f+h|0;f=ja+g|0;f=h>>>0>t>>>0?f+1|0:f;v=f;e=f>>31;k=e^t;h=k-e|0;k=(e^f)-((e>>>0>k>>>0)+e|0)|0;f=B;B=f-r|0;f=(f>>31)-((f>>>0<r>>>0)+G|0)|0;U=f;A=f>>31;m=A^B;g=m-A|0;e=f>>31;f=(e^f)-((m>>>0<A>>>0)+e|0)|0;m=f;A=z-s|0;f=(z>>31)-((s>>>0>z>>>0)+Q|0)|0;z=f;e=g;W=e;w=f>>31;y=w^A;V=y-w|0;g=f>>31;f=(g^f)-((w>>>0>y>>>0)+g|0)|0;e=(m|0)==(f|0)&e>>>0>V>>>0|f>>>0<m>>>0;f=gm(-1,2147483647,e?W:V,e?m:f);e=ja;if((e|0)==(k|0)&f>>>0<h>>>0|e>>>0<k>>>0){break b}f=h;h=k;e=L>>31;g=e;m=e^D;e=m-e|0;g=(g^L)-((g>>>0>m>>>0)+g|0)|0;k=I>>31;w=k^u;y=w-k|0;k=(k^I)-((k>>>0>w>>>0)+k|0)|0;m=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=m?e:y;g=m?g:k;k=M>>31;m=e;w=k^F;y=w-k|0;k=(k^M)-((k>>>0>w>>>0)+k|0)|0;e=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=gm(-1,2147483647,e?m:y,e?g:k);g=ja;if((g|0)==(h|0)&e>>>0<f>>>0|g>>>0<h>>>0){break b}b=em(t,v,A,z);h=ja;f=em(o,q,s,Q);s=f+b|0;b=ja+h|0;k=f>>>0>s>>>0?b+1|0:b;b=em(t,v,B,U);h=ja;f=b;b=em(r,G,o,q);r=f+b|0;e=ja+h|0;G=b>>>0>r>>>0?e+1|0:e;h=1;b=0;g=fm(em(t,v,u,I),ja,o,q);e=g+p|0;f=ja+N|0;f=e>>>0<g>>>0?f+1|0:f;g=j-e|0;f=R-((e>>>0>j>>>0)+f|0)|0;j=em(g,f,g,f);p=ja;e=fm(em(t,v,D,L),ja,o,q);f=e+x|0;g=ja+O|0;g=e>>>0>f>>>0?g+1|0:g;e=l-f|0;f=S-((f>>>0>l>>>0)+g|0)|0;g=em(e,f,e,f);f=g+j|0;e=ja+p|0;e=f>>>0<g>>>0?e+1|0:e;l=f;j=fm(em(t,v,F,M),ja,o,q);g=j+E|0;f=ja+P|0;f=g>>>0<j>>>0?f+1|0:f;j=n-g|0;f=T-((g>>>0>n>>>0)+f|0)|0;j=em(j,f,j,f);f=j+l|0;g=ja+e|0;f=em(f,f>>>0<j>>>0?g+1|0:g,o,q);e=ja;j=e;if(!e&f>>>0<=1){break f}l=f;while(1){g=b<<1|h>>>31;h=h<<1;b=g;n=!e&l>>>0>7|(e|0)!=0;l=(e&3)<<30|l>>>2;e=e>>>2|0;if(n){continue}break}break e}if((d|0)>(g|0)){b=g<<1}else{if((d|0)<=0){J[a+8>>2]=0;J[a+12>>2]=0;break c}b=(d<<1)-2|0}b=(b<<2)+c|0;J[a+8>>2]=J[b>>2];J[a+12>>2]=J[b+4>>2];break c}Xc();C()}b=j;h=f;if(f-1|0){break d}}while(1){e=gm(f,j,h,b);b=b+ja|0;g=h;h=e+h|0;b=g>>>0>h>>>0?b+1|0:b;h=(b&1)<<31|h>>>1;b=b>>>1|0;e=em(h,b,h,b);g=ja;if((j|0)==(g|0)&e>>>0>f>>>0|g>>>0>j>>>0){continue}break}}t=a+16|0;j=(d<<3)+c|0;d=J[j+4>>2];g=em(h,b,B,U);p=ja;c=fm(s-g|0,k-(p+(g>>>0>s>>>0)|0)|0,o,q);f=d-c|0;e=d>>31;l=e-(ja+(c>>>0>d>>>0)|0)|0;n=em(f,l,f,l);u=ja;j=J[j>>2];f=j>>31;v=f;l=em(h,b,A,z);x=ja;b=G+x|0;h=l+r|0;b=h>>>0<r>>>0?b+1|0:b;m=n;h=fm(h,b,o,q);b=j-h|0;f=f-(ja+(h>>>0>j>>>0)|0)|0;n=em(b,f,b,f);b=m+n|0;f=ja+u|0;u=b;n=b>>>0<n>>>0?f+1|0:f;f=e;e=k+p|0;b=g+s|0;e=b>>>0<s>>>0?e+1|0:e;b=fm(b,e,o,q);e=d-b|0;d=f-(ja+(b>>>0>d>>>0)|0)|0;e=em(e,d,e,d);p=ja;d=fm(r-l|0,G-((l>>>0>r>>>0)+x|0)|0,o,q);f=j-d|0;g=v-(ja+(d>>>0>j>>>0)|0)|0;j=em(f,g,f,g);g=j+e|0;f=ja+p|0;f=g>>>0<j>>>0?f+1|0:f;i:{if((f|0)==(n|0)&g>>>0>u>>>0|f>>>0>n>>>0){H[i+7|0]=1;bd(t,i+7|0);break i}H[i+7|0]=0;bd(t,i+7|0);c=b;h=d}J[a+8>>2]=h;J[a+12>>2]=c}b=1}fa=i+80|0;return b}function Cd(a,b,c,d){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,D=0,E=0,F=0,G=0,I=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;i=fa-80|0;fa=i;h=-1;a:{if((b|0)==-1){break a}f=J[a+32>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){h=J[J[f>>2]+(e<<2)>>2]}e=((b>>>0)%3|0?-1:2)+b|0;b=-1;b=(e|0)!=-1?J[J[f>>2]+(e<<2)>>2]:b;e=J[a+36>>2];f=J[e>>2];e=J[e+4>>2]-f>>2;if(e>>>0<=h>>>0|b>>>0>=e>>>0){break a}b:{c:{d:{e:{f:{g:{j=J[f+(b<<2)>>2];g=J[f+(h<<2)>>2];if((j|0)>=(d|0)|(g|0)>=(d|0)){break g}b=(j<<3)+c|0;z=J[b+4>>2];f=(g<<3)+c|0;h=J[f+4>>2];f=J[f>>2];B=J[b>>2];if(!((f|0)!=(B|0)|(h|0)!=(z|0))){J[a+8>>2]=f;J[a+12>>2]=h;break c}b=J[J[a+4>>2]+(d<<2)>>2];J[i+72>>2]=0;J[i+76>>2]=0;e=i- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+56|0);b=J[J[a+4>>2]+(g<<2)>>2];J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+32|0);b=J[J[a+4>>2]+(j<<2)>>2];J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+8|0);b=J[i+16>>2];p=J[i+40>>2];u=b-p|0;N=J[i+44>>2];b=J[i+20>>2]-(N+(b>>>0<p>>>0)|0)|0;I=b;e=em(u,b,u,b);j=ja;b=J[i+8>>2];x=J[i+32>>2];D=b-x|0;O=J[i+36>>2];b=J[i+12>>2]-(O+(b>>>0<x>>>0)|0)|0;L=b;k=e;e=em(D,b,D,b);b=k+e|0;k=ja+j|0;k=b>>>0<e>>>0?k+1|0:k;e=J[i+24>>2];E=J[i+48>>2];F=e-E|0;P=J[i+52>>2];e=J[i+28>>2]-(P+(e>>>0<E>>>0)|0)|0;M=e;m=b;b=em(F,e,F,e);o=m+b|0;e=ja+k|0;q=b>>>0>o>>>0?e+1|0:e;if(!(q|o)){break g}b=0;v=gm(-1,2147483647,o,q);e=f;f=e>>31;G=f;r=e;e=f>>31;g=e;l=r^e;e=l-e|0;f=(f^g)-((g>>>0>l>>>0)+g|0)|0;g=f;f=h>>31;Q=f;s=h;h=f>>31;l=s^h;n=l-h|0;k=f>>31;h=(k^f)-((h>>>0>l>>>0)+k|0)|0;f=(h|0)==(g|0)&e>>>0>n>>>0|g>>>0>h>>>0;e=f?e:n;j=ja;h=f?g:h;if((j|0)==(h|0)&e>>>0>v>>>0|h>>>0>j>>>0){break b}j=J[i+64>>2];R=J[i+68>>2];h=em(j-p|0,R-((j>>>0<p>>>0)+N|0)|0,u,I);f=ja;l=J[i+56>>2];S=J[i+60>>2];e=em(l-x|0,S-((l>>>0<x>>>0)+O|0)|0,D,L);h=e+h|0;g=ja+f|0;g=e>>>0>h>>>0?g+1|0:g;f=h;n=J[i+72>>2];T=J[i+76>>2];h=em(n-E|0,T-((n>>>0<E>>>0)+P|0)|0,F,M);t=f+h|0;f=ja+g|0;f=h>>>0>t>>>0?f+1|0:f;v=f;e=f>>31;k=e^t;h=k-e|0;k=(e^f)-((e>>>0>k>>>0)+e|0)|0;f=B;B=f-r|0;f=(f>>31)-((f>>>0<r>>>0)+G|0)|0;U=f;A=f>>31;m=A^B;g=m-A|0;e=f>>31;f=(e^f)-((m>>>0<A>>>0)+e|0)|0;m=f;A=z-s|0;f=(z>>31)-((s>>>0>z>>>0)+Q|0)|0;z=f;e=g;W=e;w=f>>31;y=w^A;V=y-w|0;g=f>>31;f=(g^f)-((w>>>0>y>>>0)+g|0)|0;e=(m|0)==(f|0)&e>>>0>V>>>0|f>>>0<m>>>0;f=gm(-1,2147483647,e?W:V,e?m:f);e=ja;if((e|0)==(k|0)&f>>>0<h>>>0|e>>>0<k>>>0){break b}f=h;h=k;e=L>>31;g=e;m=e^D;e=m-e|0;g=(g^L)-((g>>>0>m>>>0)+g|0)|0;k=I>>31;w=k^u;y=w-k|0;k=(k^I)-((k>>>0>w>>>0)+k|0)|0;m=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=m?e:y;g=m?g:k;k=M>>31;m=e;w=k^F;y=w-k|0;k=(k^M)-((k>>>0>w>>>0)+k|0)|0;e=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=gm(-1,2147483647,e?m:y,e?g:k);g=ja;if((g|0)==(h|0)&e>>>0<f>>>0|g>>>0<h>>>0){break b}b=em(t,v,A,z);h=ja;f=em(o,q,s,Q);s=f+b|0;b=ja+h|0;k=f>>>0>s>>>0?b+1|0:b;b=em(t,v,B,U);h=ja;f=b;b=em(r,G,o,q);r=f+b|0;e=ja+h|0;G=b>>>0>r>>>0?e+1|0:e;h=1;b=0;g=fm(em(t,v,u,I),ja,o,q);e=g+p|0;f=ja+N|0;f=e>>>0<g>>>0?f+1|0:f;g=j-e|0;f=R-((e>>>0>j>>>0)+f|0)|0;j=em(g,f,g,f);p=ja;e=fm(em(t,v,D,L),ja,o,q);f=e+x|0;g=ja+O|0;g=e>>>0>f>>>0?g+1|0:g;e=l-f|0;f=S-((f>>>0>l>>>0)+g|0)|0;g=em(e,f,e,f);f=g+j|0;e=ja+p|0;e=f>>>0<g>>>0?e+1|0:e;l=f;j=fm(em(t,v,F,M),ja,o,q);g=j+E|0;f=ja+P|0;f=g>>>0<j>>>0?f+1|0:f;j=n-g|0;f=T-((g>>>0>n>>>0)+f|0)|0;j=em(j,f,j,f);f=j+l|0;g=ja+e|0;f=em(f,f>>>0<j>>>0?g+1|0:g,o,q);e=ja;j=e;if(!e&f>>>0<=1){break f}l=f;while(1){g=b<<1|h>>>31;h=h<<1;b=g;n=!e&l>>>0>7|(e|0)!=0;l=(e&3)<<30|l>>>2;e=e>>>2|0;if(n){continue}break}break e}if((d|0)>(g|0)){b=g<<1}else{if((d|0)<=0){J[a+8>>2]=0;J[a+12>>2]=0;break c}b=(d<<1)-2|0}b=(b<<2)+c|0;J[a+8>>2]=J[b>>2];J[a+12>>2]=J[b+4>>2];break c}b=j;h=f;if(f-1|0){break d}}while(1){e=gm(f,j,h,b);b=b+ja|0;g=h;h=e+h|0;b=g>>>0>h>>>0?b+1|0:b;h=(b&1)<<31|h>>>1;b=b>>>1|0;e=em(h,b,h,b);g=ja;if((j|0)==(g|0)&e>>>0>f>>>0|g>>>0>j>>>0){continue}break}}t=a+16|0;j=(d<<3)+c|0;d=J[j+4>>2];g=em(h,b,B,U);p=ja;c=fm(s-g|0,k-(p+(g>>>0>s>>>0)|0)|0,o,q);f=d-c|0;e=d>>31;l=e-(ja+(c>>>0>d>>>0)|0)|0;n=em(f,l,f,l);u=ja;j=J[j>>2];f=j>>31;v=f;l=em(h,b,A,z);x=ja;b=G+x|0;h=l+r|0;b=h>>>0<r>>>0?b+1|0:b;m=n;h=fm(h,b,o,q);b=j-h|0;f=f-(ja+(h>>>0>j>>>0)|0)|0;n=em(b,f,b,f);b=m+n|0;f=ja+u|0;u=b;n=b>>>0<n>>>0?f+1|0:f;f=e;e=k+p|0;b=g+s|0;e=b>>>0<s>>>0?e+1|0:e;b=fm(b,e,o,q);e=d-b|0;d=f-(ja+(b>>>0>d>>>0)|0)|0;e=em(e,d,e,d);p=ja;d=fm(r-l|0,G-((l>>>0>r>>>0)+x|0)|0,o,q);f=j-d|0;g=v-(ja+(d>>>0>j>>>0)|0)|0;j=em(f,g,f,g);g=j+e|0;f=ja+p|0;f=g>>>0<j>>>0?f+1|0:f;h:{if((f|0)==(n|0)&g>>>0>u>>>0|f>>>0>n>>>0){H[i+7|0]=1;bd(t,i+7|0);break h}H[i+7|0]=0;bd(t,i+7|0);c=b;h=d}J[a+8>>2]=h;J[a+12>>2]=c}b=1}fa=i+80|0;return b}Xc();C()}function Rb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=fa-16|0;fa=e;J[a+8>>2]=b;J[a>>2]=0;d=a+12|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=d+32|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+96|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+128|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+160|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+192|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+224|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+256|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+288|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+320|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+352|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+384|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+416|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+448|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+480|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+512|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+544|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+576|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+608|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+640|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+672|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+704|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+736|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+768|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+800|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+832|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+864|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+896|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+928|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+960|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;d=d+992|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1036|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1068|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1088|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1108|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[a+1136>>2]=0;J[a+1128>>2]=0;J[a+1132>>2]=0;h=a+1164|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+1140>>2]=0;J[a+1144>>2]=0;d=a+1156|0;J[d>>2]=0;J[d+4>>2]=0;d=a+1148|0;J[d>>2]=0;J[d+4>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;d=1;break a}d=b<<2;c=pl(d);J[a+1128>>2]=c;f=c+d|0;J[a+1136>>2]=f;pk(c,0,d);g=a+1148|0;J[g>>2]=0;J[a+1140>>2]=0;J[a+1144>>2]=0;J[a+1132>>2]=f;c=pl(d);J[a+1140>>2]=c;f=c+d|0;J[g>>2]=f;pk(c,0,d);g=a+1160|0;J[g>>2]=0;J[a+1152>>2]=0;J[a+1156>>2]=0;J[a+1144>>2]=f;c=pl(d);J[a+1152>>2]=c;f=c+d|0;J[g>>2]=f;pk(c,0,d);J[a+1156>>2]=f;c=pl(d);J[e>>2]=c;f=c+d|0;J[e+8>>2]=f;pk(c,0,d);J[e+4>>2]=f;d=b<<5|1}$b(h,d,e);c=J[e>>2];if(c){J[e+4>>2]=c;hl(c)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;c=pl(b);J[e>>2]=c;f=b+c|0;J[e+8>>2]=f;pk(c,0,b);J[e+4>>2]=f}$b(a+1176|0,d,e);b=J[e>>2];if(b){J[e+4>>2]=b;hl(b)}fa=e+16|0;return a}function Ah(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(J[a+92>>2]==J[a+88>>2]){break e}c=J[a+52>>2];f:{if((c|0)!=J[a+56>>2]){J[c>>2]=b;J[a+52>>2]=c+4;break f}h=J[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0<e>>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=pl(g<<2)}else{e=0}f=e+(d<<2)|0;J[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;J[f>>2]=J[c>>2];if((c|0)!=(h|0)){continue}break}}J[a+56>>2]=e+(g<<2);J[a+52>>2]=d;J[a+48>>2]=f;if(!h){break f}hl(h)}J[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=J[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=J[J[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=J[J[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=J[a+36>>2];h=d+(c>>>3&536870908)|0;g=J[h>>2];f=1<<c;if(!(g&f)){J[h>>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Bh(f,c,d);d=J[a+36>>2]}f=d+i|0;d=J[f>>2];c=1<<e;if(!(d&c)){J[f>>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Bh(d,e,c)}c=-1;c=(b|0)!=-1?J[J[J[a+4>>2]>>2]+(b<<2)>>2]:c;f=J[a+36>>2]+(c>>>3&536870908)|0;d=J[f>>2];e=1<<c;if(!(d&e)){J[f>>2]=d|e;Bh(a+8|0,c,b)}d=J[a+84>>2];if((d|0)>2){break e}while(1){e=P(d,12)+a|0;b=J[e+52>>2];if((b|0)==J[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=J[b>>2];J[e+52>>2]=b;J[a+84>>2]=d;if((c|0)==-1){break e}f=J[a+24>>2];b=(c>>>0)/3|0;j:{if(J[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;J[b>>2]=J[b>>2]|1<<k;d=-1;l:{m:{n:{o:{p:{q:{r:{s:{d=(c|0)!=-1?J[J[J[a+4>>2]>>2]+(c<<2)>>2]:d;f=J[a+36>>2]+(d>>>3&536870908)|0;e=J[f>>2];b=1<<d;if(!(e&b)){J[f>>2]=b|e;i=J[(J[J[a+16>>2]+96>>2]+P(k,12)|0)+((c>>>0)%3<<2)>>2];l=J[J[a+20>>2]+4>>2];f=J[l+4>>2];t:{if((f|0)!=J[l+8>>2]){J[f>>2]=i;J[l+4>>2]=f+4;break t}j=J[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=pl(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(j|0)){continue}break}}J[l+8>>2]=e+(h<<2);J[l+4>>2]=g;J[l>>2]=b;if(!j){break t}hl(j)}j=J[a+12>>2];f=J[j+4>>2];u:{if((f|0)!=J[j+8>>2]){J[f>>2]=c;J[j+4>>2]=f+4;break u}i=J[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=pl(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(i|0)){continue}break}}J[j+8>>2]=e+(h<<2);J[j+4>>2]=g;J[j>>2]=b;if(!i){break u}hl(i)}b=J[a+12>>2];J[J[b+12>>2]+(d<<2)>>2]=J[b+24>>2];J[b+24>>2]=J[b+24>>2]+1}if((c|0)==-1){break k}g=J[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=J[J[g+12>>2]+(b<<2)>>2]}v:{w:{if((P(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=J[J[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=J[J[a+24>>2]+(b>>>3&268435452)>>2]&1<<b;if(d){break q}l=(b|0)!=0;break p}l=1;if(!d){break p}break k}Ia();C()}Ia();C()}if(!b){break o}break k}b=d?-1:e;x:{if(J[J[a+24>>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=J[J[g>>2]+(c<<2)>>2];if(!(J[J[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=J[a+88>>2]+(b<<2)|0;e=J[b>>2];J[b>>2]=e+1;k=(e|0)<=0?2:1}if(J[a+84>>2]>=(k|0)&l){break m}j=P(k,12)+a|0;b=J[j+52>>2];y:{if((b|0)!=J[j+56>>2]){J[b>>2]=c;J[j+52>>2]=b+4;break y}i=J[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=pl(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[j+48>>2]=d;J[j+52>>2]=c;J[j+56>>2]=e+(g<<2);if(!i){break y}hl(i)}if(J[a+84>>2]<=(k|0)){break x}J[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=J[J[J[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(J[J[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=J[a+88>>2]+(c<<2)|0;c=J[b>>2];J[b>>2]=c+1;b=(c|0)<=0?2:1}if(J[a+84>>2]<(b|0)){break l}c=f}f=J[a+24>>2];continue}break}k=P(b,12)+a|0;c=J[k+52>>2];z:{if((c|0)!=J[k+56>>2]){J[c>>2]=f;J[k+52>>2]=c+4;break z}i=J[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=pl(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[k+48>>2]=d;J[k+52>>2]=f;J[k+56>>2]=e+(g<<2);if(!i){break z}hl(i)}d=J[a+84>>2];if((d|0)<=(b|0)){break j}J[a+84>>2]=b;d=b;break j}d=J[a+84>>2]}if((d|0)<3){continue}break}}return 1}Ya();C()}Ia();C()}Ia();C()}Ia();C()}function dl(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[e+12>>2]=a;a:{if(a>>>0<=211){d=J[el(17792,17984,e+12|0)>>2];break a}if(a>>>0>=4294967292){ca();C()}f=(a>>>0)/210|0;d=P(f,210);J[e+8>>2]=a-d;g=el(17984,18176,e+8|0)-17984>>2;while(1){d=J[(g<<2)+17984>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0<a>>>0){break a}if((P(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((P(b,c)|0)!=(d|0)){continue}break}break b}b=J[(a<<2)+17792>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((P(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=P(f,210);continue}}fa=e+16|0;return d}function gb(a,b){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=Q(0),q=0,r=0,s=0,t=0,u=Q(0);f=fa-112|0;fa=f;J[f+88>>2]=0;J[f+92>>2]=0;J[f+80>>2]=0;J[f+84>>2]=0;J[f+96>>2]=1065353216;c=J[a+80>>2];J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}h=c<<2;l=pl(h);J[f+32>>2]=l;c=h+l|0;J[f+40>>2]=c;pk(l,0,h);J[f+36>>2]=c;while(1){d=J[J[b>>2]>>2];h=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],o,0);j=c;c=c+h|0;e=c+d|0;c=K[e+12|0]|K[e+13|0]<<8|(K[e+14|0]<<16|K[e+15|0]<<24);J[f+72>>2]=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);J[f+76>>2]=c;c=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);J[f+64>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+68>>2]=c;k=K[e+12|0]|K[e+13|0]<<8|(K[e+14|0]<<16|K[e+15|0]<<24);h=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);J[f+56>>2]=h;J[f+60>>2]=k;d=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);c=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+48>>2]=c;J[f+52>>2]=d;J[f+16>>2]=h;J[f+20>>2]=k;J[f+8>>2]=c;J[f+12>>2]=d;J[f+24>>2]=q;c=0;m=f+8|0;h=J[m+12>>2]^(J[m+8>>2]^(J[m+4>>2]^(J[m>>2]^318)+239)+239)+239;b:{c:{n=f+80|0;j=J[n+4>>2];if(!j){break c}d=hm(j);d:{if(d>>>0>=2){c=h;if(c>>>0>=j>>>0){c=(h>>>0)%(j>>>0)|0}i=J[J[n>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}k=J[m+12>>2];r=J[m+8>>2];s=J[m+4>>2];e=J[m>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(h|0)){if(d>>>0>=j>>>0){d=(d>>>0)%(j>>>0)|0}if((c|0)!=(d|0)){break c}}d=J[i+8>>2];e:{if((d|0)!=(e|0)){d=(d|0)==(e|0);break e}d=J[i+12>>2];if((d|0)!=(s|0)){d=(d|0)==(s|0);break e}d=J[i+16>>2];if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=(k|0)==J[i+20>>2]}if(!d){continue}break}c=0;break b}c=h&j-1;i=J[J[n>>2]+(c<<2)>>2];if(!i){break c}}e=j-1|0;k=J[m+12>>2];t=J[m+8>>2];r=J[m+4>>2];s=J[m>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(h|0)&(d&e)!=(c|0)){break c}d=J[i+8>>2];f:{if((d|0)!=(s|0)){d=(d|0)==(s|0);break f}d=J[i+12>>2];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=J[i+16>>2];if((d|0)!=(t|0)){d=(d|0)==(t|0);break f}d=(k|0)==J[i+20>>2]}if(!d){continue}break}c=0;break b}i=pl(28);d=J[m+12>>2];J[i+16>>2]=J[m+8>>2];J[i+20>>2]=d;d=J[m+4>>2];J[i+8>>2]=J[m>>2];J[i+12>>2]=d;d=J[m+16>>2];J[i>>2]=0;J[i+4>>2]=h;J[i+24>>2]=d;p=Q(J[n+12>>2]+1>>>0);u=N[n+16>>2];g:{if(p>Q(u*Q(j>>>0))?0:j){break g}c=2;d=(j-1&j)!=0|j>>>0<3|j<<1;p=Q(W(Q(p/u)));h:{if(p<Q(4294967296)&p>=Q(0)){k=~~p>>>0;break h}k=0}d=d>>>0>k>>>0?d:k;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);j=J[n+4>>2]}j:{if(c>>>0<=j>>>0){if(c>>>0>=j>>>0){break j}k=j>>>0<3;p=Q(W(Q(Q(M[n+12>>2])/N[n+16>>2])));k:{if(p<Q(4294967296)&p>=Q(0)){d=~~p>>>0;break k}d=0}l:{m:{if(k){break m}if(hm(j)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(j>>>0<=c>>>0){break j}}sb(n,c)}j=J[n+4>>2];c=j-1|0;if(!(c&j)){c=c&h;break g}if(h>>>0<j>>>0){c=h;break g}c=(h>>>0)%(j>>>0)|0}h=J[n>>2]+(c<<2)|0;c=J[h>>2];n:{o:{if(!c){c=n+8|0;J[i>>2]=J[c>>2];J[n+8>>2]=i;J[h>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];h=j-1|0;p:{if(!(h&j)){c=c&h;break p}if(c>>>0<j>>>0){break p}c=(c>>>0)%(j>>>0)|0}c=J[n>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[n+12>>2]=J[n+12>>2]+1;c=1}H[f+108|0]=c;J[f+104>>2]=i;q:{if(!K[f+108|0]){J[(o<<2)+l>>2]=J[J[f+104>>2]+24>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,q)|0,f- -64|0,c);l=J[f+32>>2];J[l+(o<<2)>>2]=q;q=q+1|0}o=o+1|0;g=o?g:g+1|0;e=J[a+80>>2];if(!g&o>>>0<e>>>0){continue}break}if((e|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];e=J[a+68>>2];if((b|0)==(e|0)){break r}b=b-e>>2;g=b>>>0<=1?1:b;h=g&3;c=0;b=0;if(g-1>>>0>=3){o=g&-4;k=0;while(1){d=b<<2;g=d+e|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];g=e+(d|4)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];g=e+(d|8)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];g=e+(d|12)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];b=b+4|0;k=k+4|0;if((o|0)!=(k|0)){continue}break}}if(!h){break r}while(1){g=e+(b<<2)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];b=b+1|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;g=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0<e>>>0){rb(g,e-c|0,2184);e=J[a+80>>2];break s}if(c>>>0<=e>>>0){break s}J[a+72>>2]=b+(e<<2)}if(!e){break r}d=J[g>>2];c=0;b=0;if(e>>>0>=4){o=e&-4;k=0;while(1){h=b<<2;J[h+d>>2]=J[h+l>>2];g=h|4;J[g+d>>2]=J[g+l>>2];g=h|8;J[g+d>>2]=J[g+l>>2];g=h|12;J[g+d>>2]=J[g+l>>2];b=b+4|0;k=k+4|0;if((o|0)!=(k|0)){continue}break}}o=e&3;if(!o){break r}while(1){g=b<<2;J[g+d>>2]=J[g+l>>2];b=b+1|0;c=c+1|0;if((o|0)!=(c|0)){continue}break}}J[a+80>>2]=q}hl(l)}b=J[f+88>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[f+80>>2];J[f+80>>2]=0;if(a){hl(a)}fa=f+112|0;return q}Ia();C()}function Lc(a,b,c){a=a|0;b=b|0;c=c|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;h=fa-32|0;fa=h;a:{b:{if(!J[J[a+8>>2]+80>>2]){e=1;break b}H[h+31|0]=254;d=J[a+36>>2];if(d){if(!(ka[J[J[a>>2]+40>>2]](a,d)|0)){break b}d=J[a+36>>2];n=h,o=ka[J[J[d>>2]+8>>2]](d)|0,H[n+31|0]=o}d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],h+31|0,h+32|0)}d=J[a+36>>2];c:{if(!d){break c}n=h,o=ka[J[J[d>>2]+36>>2]](d)|0,H[n+16|0]=o;d=J[c+20>>2];if(!!J[c+16>>2]&(d|0)>=0|(d|0)>0){break c}Ba(c,J[c+4>>2],h+16|0,h+17|0)}d=J[a+32>>2];e=J[d+48>>2];f=J[J[d>>2]>>2];g=J[d+80>>2];k=K[d+24|0];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;g=P(g,k);if(g){if(g>>>0>=1073741824){break a}d=g<<2;i=pl(d);pk(i,0,d)}d=e+f|0;f=J[a+36>>2];d:{e:{f:{if(!f){break f}e=0;if(!(ka[J[J[f>>2]+44>>2]](f,d,i,g,k,J[b>>2])|0)){break d}e=J[a+36>>2];if(!e){break f}if(ka[J[J[e>>2]+32>>2]](e)|0){break e}d=J[a+36>>2]?i:d}e=0;f=0;g:{if((g|0)<=0){break g}if((g|0)!=1){m=g&-2;while(1){l=e<<2;j=J[l+d>>2];J[i+l>>2]=(j|0)<0?(j^-1)<<1|1:j<<1;l=l|4;j=J[l+d>>2];J[i+l>>2]=(j|0)<0?(j^-1)<<1|1:j<<1;e=e+2|0;f=f+2|0;if((m|0)!=(f|0)){continue}break}}if(!(g&1)){break g}e=e<<2;d=J[e+d>>2];J[e+i>>2]=(d|0)<0?(d^-1)<<1|1:d<<1}}h:{i:{j:{k:{d=J[a+4>>2];if(!d){break k}j=J[d+48>>2];d=pl(48);J[h>>2]=d;J[h+4>>2]=34;J[h+8>>2]=-2147483600;e=K[1411]|K[1412]<<8;H[d+32|0]=e;H[d+33|0]=e>>>8;e=K[1407]|K[1408]<<8|(K[1409]<<16|K[1410]<<24);f=K[1403]|K[1404]<<8|(K[1405]<<16|K[1406]<<24);H[d+24|0]=f;H[d+25|0]=f>>>8;H[d+26|0]=f>>>16;H[d+27|0]=f>>>24;H[d+28|0]=e;H[d+29|0]=e>>>8;H[d+30|0]=e>>>16;H[d+31|0]=e>>>24;e=K[1399]|K[1400]<<8|(K[1401]<<16|K[1402]<<24);f=K[1395]|K[1396]<<8|(K[1397]<<16|K[1398]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=e;H[d+21|0]=e>>>8;H[d+22|0]=e>>>16;H[d+23|0]=e>>>24;e=K[1391]|K[1392]<<8|(K[1393]<<16|K[1394]<<24);f=K[1387]|K[1388]<<8|(K[1389]<<16|K[1390]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1383]|K[1384]<<8|(K[1385]<<16|K[1386]<<24);f=K[1379]|K[1380]<<8|(K[1381]<<16|K[1382]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;H[d+34|0]=0;d=si(j,h,1);if(H[h+11|0]<0){hl(J[h>>2])}if(d){break k}if(!g){break j}d=0;e=0;b=0;if(g>>>0>=4){j=g&-4;f=0;while(1){k=e<<2;b=J[(k|12)+i>>2]|(J[(k|8)+i>>2]|(J[(k|4)+i>>2]|(J[i+k>>2]|b)));e=e+4|0;f=f+4|0;if((j|0)!=(f|0)){continue}break}}f=g&3;if(f){while(1){b=J[(e<<2)+i>>2]|b;e=e+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}if(!b){break j}d=4-(S(b)>>>3|0)|0;break i}H[h|0]=1;d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],h,h+1|0)}J[h>>2]=h|4;J[h+4>>2]=0;J[h+8>>2]=0;d=J[a+4>>2];if(d){j=10-Pb(J[d+48>>2])|0;e=fa-16|0;fa=e;l:{if(j>>>0>10){break l}d=pl(48);J[e>>2]=d;J[e+4>>2]=33;J[e+8>>2]=-2147483600;H[d+32|0]=K[1470];g=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);f=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[d+24|0]=f;H[d+25|0]=f>>>8;H[d+26|0]=f>>>16;H[d+27|0]=f>>>24;H[d+28|0]=g;H[d+29|0]=g>>>8;H[d+30|0]=g>>>16;H[d+31|0]=g>>>24;g=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);f=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=g;H[d+21|0]=g>>>8;H[d+22|0]=g>>>16;H[d+23|0]=g>>>24;g=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);f=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=g;H[d+13|0]=g>>>8;H[d+14|0]=g>>>16;H[d+15|0]=g>>>24;g=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);f=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=g;H[d+5|0]=g>>>8;H[d+6|0]=g>>>16;H[d+7|0]=g>>>24;H[d+33|0]=0;ni(h,e,j);if(H[e+11|0]>=0){break l}hl(J[e>>2])}fa=e+16|0}b=kf(i,P(k,J[b+4>>2]-J[b>>2]>>2),k,h,c);Mc(h,J[h+4>>2]);e=0;if(b){break h}break d}d=1}H[h|0]=0;b=J[c+20>>2];m:{if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){break m}e=h+1|0;Ba(c,J[c+4>>2],h,e);f=J[c+16>>2];b=J[c+20>>2];H[h|0]=d;if(!!f&(b|0)>=0|(b|0)>0){break m}Ba(c,J[c+4>>2],h,e)}n:{if((d|0)!=J[3712]){if(!g){break h}e=J[c+20>>2];f=e;b=J[c+16>>2];if(!!b&(e|0)>=0|(e|0)>0){break h}e=0;break n}b=J[c+20>>2];if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){break h}Ba(c,J[c+4>>2],i,(g<<2)+i|0);break h}while(1){if(!b&(f|0)<=0|(f|0)<0){b=(e<<2)+i|0;Ba(c,J[c+4>>2],b,b+d|0)}e=e+1|0;if((g|0)==(e|0)){break h}b=J[c+16>>2];f=J[c+20>>2];continue}}e=1;a=J[a+36>>2];if(!a){break d}ka[J[J[a>>2]+40>>2]](a,c)|0}if(!i){break b}hl(i)}fa=h+32|0;return e|0}Ia();C()}function $k(a,b,c,d,e,f,g,h,i){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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=fa-96|0;fa=k;u=i&65535;o=(e^i)&-2147483648;q=e&65535;z=q;Q=i>>>16&32767;R=e>>>16&32767;a:{b:{if(Q-32767>>>0>4294934529&R-32767>>>0>=4294934530){break b}s=e&2147483647;r=s;j=d;if(!(!d&(r|0)==2147418112?!(b|c):r>>>0<2147418112)){m=d;o=e|32768;break a}s=i&2147483647;p=s;e=h;if(!(!e&(p|0)==2147418112?!(f|g):p>>>0<2147418112)){m=h;o=i|32768;b=f;c=g;break a}if(!(b|j|(r^2147418112|c))){if(!(e|f|(g|p))){o=2147450880;b=0;c=0;break a}o=o|2147418112;b=0;c=0;break a}if(!(e|f|(p^2147418112|g))){e=b|j;d=c|r;b=0;c=0;if(!(d|e)){o=2147450880;break a}o=o|2147418112;break a}if(!(b|j|(c|r))){b=0;c=0;break a}if(!(e|f|(g|p))){b=0;c=0;break a}if((r|0)==65535|r>>>0<65535){j=!(d|q);i=j?b:d;s=j<<6;e=S(i)+32|0;i=S(j?c:q);i=s+((i|0)==32?e:i)|0;Tk(k+80|0,b,c,d,q,i-15|0);t=16-i|0;d=J[k+88>>2];z=J[k+92>>2];c=J[k+84>>2];b=J[k+80>>2]}if(p>>>0>65535){break b}i=!(h|u);e=i?f:h;q=i<<6;j=S(e)+32|0;e=S(i?g:u);e=q+((e|0)==32?j:e)|0;Tk(k- -64|0,f,g,h,u,e-15|0);t=(t-e|0)+16|0;h=J[k+72>>2];u=J[k+76>>2];f=J[k+64>>2];g=J[k+68>>2]}e=f;f=g<<15|f>>>17;i=e<<15;e=0;v=i&-32768;K=c;s=em(v,e,c,0);e=ja;y=e;L=f;r=b;b=em(f,0,b,0);i=b+s|0;f=ja+e|0;c=b>>>0>i>>>0?f+1|0:f;j=0;b=em(r,l,v,l);p=j+b|0;f=i;e=f+ja|0;e=b>>>0>p>>>0?e+1|0:e;q=e;M=(f|0)==(e|0)&j>>>0>p>>>0|e>>>0<f>>>0;N=d;w=em(v,l,d,0);O=ja;b=em(K,l,L,l);x=b+w|0;j=ja+O|0;j=b>>>0>x>>>0?j+1|0:j;b=u<<15|h>>>17;A=h<<15|g>>>17;d=em(A,0,r,l);B=d+x|0;f=ja+j|0;f=d>>>0>B>>>0?f+1|0:f;C=f;d=(c|0)==(y|0)&i>>>0<s>>>0|c>>>0<y>>>0;D=c+B|0;f=d+f|0;f=c>>>0>D>>>0?f+1|0:f;u=f;g=D;c=f;E=z|65536;z=em(v,l,E,n);P=ja;d=em(N,m,L,l);F=d+z|0;e=ja+P|0;e=d>>>0>F>>>0?e+1|0:e;i=e;G=b|-2147483648;b=em(G,0,r,l);H=b+F|0;f=ja+e|0;f=b>>>0>H>>>0?f+1|0:f;b=em(A,m,K,l);y=b+H|0;I=f;f=f+ja|0;s=b>>>0>y>>>0?f+1|0:f;b=0;r=b+g|0;e=c+y|0;v=b>>>0>r>>>0?e+1|0:e;f=v;b=r+M|0;c=b>>>0<r>>>0?f+1|0:f;t=((R+Q|0)+t|0)-16383|0;d=em(G,m,K,l);h=ja;e=em(E,m,L,l);g=e+d|0;f=ja+h|0;f=e>>>0>g>>>0?f+1|0:f;n=(h|0)==(f|0)&d>>>0>g>>>0|f>>>0<h>>>0;h=f;e=em(A,m,N,m);d=e+g|0;f=ja+f|0;f=d>>>0<e>>>0?f+1|0:f;e=f;g=(f|0)==(h|0)&d>>>0<g>>>0|f>>>0<h>>>0;f=0;h=g;g=g+n|0;f=h>>>0>g>>>0?1:f;h=g;g=em(G,m,E,m);h=h+g|0;f=ja+f|0;M=h;g=g>>>0>h>>>0?f+1|0:f;h=d;l=e;e=(j|0)==(O|0)&w>>>0>x>>>0|j>>>0<O>>>0;f=0;j=(j|0)==(C|0)&x>>>0>B>>>0|j>>>0>C>>>0;n=j;j=e+j|0;e=(n>>>0>j>>>0?1:f)+l|0;f=g;d=d+j|0;e=d>>>0<j>>>0?e+1|0:e;n=e;w=d;d=(e|0)==(l|0)&d>>>0<h>>>0|e>>>0<l>>>0;e=d;d=d+M|0;f=e>>>0>d>>>0?f+1|0:f;j=d;g=f;e=em(A,m,E,m);l=ja;d=em(G,m,N,m);h=d+e|0;f=ja+l|0;f=d>>>0>h>>>0?f+1|0:f;d=f;f=(l|0)==(f|0)&e>>>0>h>>>0|f>>>0<l>>>0;x=d+j|0;e=f+g|0;e=d>>>0>x>>>0?e+1|0:e;l=x;g=e;e=0;d=e+w|0;f=h+n|0;f=d>>>0<e>>>0?f+1|0:f;e=f;h=(n|0)==(f|0)&d>>>0<w>>>0|f>>>0<n>>>0;f=g;g=h+l|0;f=g>>>0<h>>>0?f+1|0:f;w=g;g=f;h=d;j=e;e=(s|0)==(I|0)&y>>>0<H>>>0|s>>>0<I>>>0;d=(i|0)==(P|0)&z>>>0>F>>>0|i>>>0<P>>>0;i=(i|0)==(I|0)&F>>>0>H>>>0|i>>>0>I>>>0;d=d+i|0;d=d+e|0;n=s;i=n+h|0;e=d+j|0;f=g;d=i;e=d>>>0<n>>>0?e+1|0:e;h=(e|0)==(j|0)&h>>>0>d>>>0|e>>>0<j>>>0;g=h+w|0;f=h>>>0>g>>>0?f+1|0:f;j=g;g=f;h=d;f=0;i=e;n=(u|0)==(v|0)&r>>>0<D>>>0|u>>>0>v>>>0;l=n;n=n+((u|0)==(C|0)&B>>>0>D>>>0|u>>>0<C>>>0)|0;e=e+(l>>>0>n>>>0?1:f)|0;f=g;d=d+n|0;e=d>>>0<n>>>0?e+1|0:e;h=(e|0)==(i|0)&d>>>0<h>>>0|e>>>0<i>>>0;g=h;h=h+j|0;f=g>>>0>h>>>0?f+1|0:f;i=f;c:{if(f&65536){t=t+1|0;break c}j=q>>>31|0;g=0;f=i<<1|h>>>31;h=h<<1|e>>>31;i=f;f=e<<1|d>>>31;d=d<<1|c>>>31;e=f;f=q<<1|p>>>31;p=p<<1;q=f;f=c<<1|b>>>31;b=b<<1|j;c=f|g}if((t|0)>=32767){o=o|2147418112;b=0;c=0;break a}d:{if((t|0)<=0){g=1-t|0;if(g>>>0<=127){f=t+127|0;Tk(k+48|0,p,q,b,c,f);Tk(k+32|0,d,e,h,i,f);_k(k+16|0,p,q,b,c,g);_k(k,d,e,h,i,g);p=J[k+32>>2]|J[k+16>>2]|(J[k+48>>2]|J[k+56>>2]|(J[k+52>>2]|J[k+60>>2]))!=0;q=J[k+36>>2]|J[k+20>>2];b=J[k+40>>2]|J[k+24>>2];c=J[k+44>>2]|J[k+28>>2];d=J[k>>2];e=J[k+4>>2];g=J[k+8>>2];f=J[k+12>>2];break d}b=0;c=0;break a}g=h;f=i&65535|t<<16}m=g|m;o=f|o;if(!(!b&(c|0)==-2147483648?!(p|q):(c|0)>0|(c|0)>=0)){b=d+1|0;c=b?e:e+1|0;d=(e|0)==(c|0)&b>>>0<d>>>0|c>>>0<e>>>0;e=o;m=d+m|0;o=m>>>0<d>>>0?e+1|0:e;break a}if(b|p|(c^-2147483648|q)){b=d;c=e;break a}j=o;f=e;b=d&1;c=b;b=b+d|0;c=c>>>0>b>>>0?f+1|0:f;d=(f|0)==(c|0)&b>>>0<d>>>0|c>>>0<f>>>0;m=d+m|0;o=d>>>0>m>>>0?j+1|0:j}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=m;J[a+12>>2]=o;fa=k+96|0}function bi(a){a=a|0;var 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;o=fa-16|0;fa=o;a:{if(!(ka[J[J[a>>2]+32>>2]](a)|0)){break a}e=J[a+44>>2];c=J[a+12>>2];b=J[a+8>>2];H[o+15|0]=c-b>>>2;d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){Ba(e,J[e+4>>2],o+15|0,o+16|0);c=J[a+12>>2];b=J[a+8>>2]}if((b|0)!=(c|0)){while(1){e=J[b>>2];if(!(ka[J[J[e>>2]+8>>2]](e,a,J[a+4>>2])|0)){break a}b=b+4|0;if((c|0)!=(b|0)){continue}break}}f=fa-48|0;fa=f;e=a;q=a+32|0;g=J[a+12>>2];a=J[a+8>>2];d=g-a|0;c=d>>2;h=J[e+32>>2];b=J[e+36>>2]-h>>2;b:{if(c>>>0>b>>>0){La(q,c-b|0);g=J[e+12>>2];a=J[e+8>>2];d=g-a|0;c=d>>2;break b}if(b>>>0<=c>>>0){break b}J[e+36>>2]=h+(c<<2)}J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;b=a;c:{d:{if((a|0)!=(g|0)){if((d|0)<0){break d}a=(c-1>>>5|0)+1|0;b=pl(a<<2);J[f+40>>2]=a;J[f+36>>2]=0;J[f+32>>2]=b;ci(f+32|0,c);b=J[e+12>>2];a=J[e+8>>2]}e:{while(1){f:{c=b-a>>2;if(k>>>0<c>>>0){g=(a|0)!=(b|0);m=0;b=a;d=0;if(!g){break f}while(1){i=J[f+32>>2];n=d>>>5<<2;h=J[i+n>>2];p=1<<d;g:{if(h&p){break g}b=0;j=1;l=d<<2;g=J[l+a>>2];c=J[g+4>>2];if((c|0)!=J[g+8>>2]){while(1){a=0;c=J[(b<<2)+c>>2];h:{if((ka[J[J[g>>2]+24>>2]](g,c)|0)<=0){break h}while(1){i:{g=J[l+J[e+8>>2]>>2];g=ka[J[J[g>>2]+28>>2]](g,c,a)|0;if((g|0)==(d|0)){break i}g=J[J[e+20>>2]+(g<<2)>>2];if(J[J[f+32>>2]+(g>>>3&536870908)>>2]>>>g&1){break i}j=0;break h}g=J[l+J[e+8>>2]>>2];a=a+1|0;if((ka[J[J[g>>2]+24>>2]](g,c)|0)>(a|0)){continue}break}}a=J[e+8>>2];g=J[l+a>>2];c=J[g+4>>2];b=b+1|0;if(b>>>0<J[g+8>>2]-c>>2>>>0){continue}break}if(!j){break g}i=J[f+32>>2];h=J[n+i>>2]}J[J[q>>2]+(k<<2)>>2]=d;J[i+n>>2]=h|p;m=1;k=k+1|0}b=J[e+12>>2];c=b-a>>2;d=d+1|0;if(c>>>0>d>>>0){continue}break}break f}m=0;J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;d=J[e+4>>2];c=J[d+12>>2];d=J[d+8>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;j:{k:{l:{if((c|0)!=(d|0)){a=c-d|0;if((a|0)<0){break l}a=a>>2;b=(a-1>>>5|0)+1|0;c=pl(b<<2);J[f+8>>2]=b;J[f+4>>2]=0;J[f>>2]=c;ci(f,a);b=J[e+12>>2];a=J[e+8>>2]}m:{if((a|0)==(b|0)){b=1;break m}while(1){g=J[J[q>>2]+(m<<2)>>2]<<2;b=J[g+a>>2];b=J[b+8>>2]-J[b+4>>2]|0;n:{if((b|0)<8){break n}c=b>>2;b=J[f+16>>2];a=J[f+20>>2]-b>>2;o:{if(c>>>0>a>>>0){La(f+16|0,c-a|0);break o}if(a>>>0<=c>>>0){break o}J[f+20>>2]=b+(c<<2)}i=(c|0)<=1?1:c;h=0;p:{while(1){if((c|0)<=(h|0)){break p}b=0;d=J[f>>2];j=0;while(1){p=1<<b;n=b>>>5<<2;q:{if(p&J[n+d>>2]){break q}a=0;d=J[g+J[e+8>>2]>>2];k=J[J[d+4>>2]+(b<<2)>>2];if((ka[J[J[d>>2]+24>>2]](d,k)|0)>0){while(1){d=J[g+J[e+8>>2]>>2];l=ka[J[J[d>>2]+28>>2]](d,k,a)|0;d=J[f>>2];if(!(J[d+(l>>>3&536870908)>>2]>>>l&1)){break q}d=J[g+J[e+8>>2]>>2];a=a+1|0;if((ka[J[J[d>>2]+24>>2]](d,k)|0)>(a|0)){continue}break}}J[J[f+16>>2]+(h<<2)>>2]=b;d=J[f>>2];a=n+d|0;J[a>>2]=p|J[a>>2];j=1;h=h+1|0}b=b+1|0;if((i|0)!=(b|0)){continue}break}if((c|0)<=(h|0)|j){continue}break}b=0;break m}a=J[e+8>>2];b=J[g+a>>2];d=J[b+4>>2];J[b+8>>2]=d;J[b+20>>2]=J[b+16>>2];g=J[f+16>>2];l=J[f+20>>2];if((g|0)==(l|0)){break n}k=b+16|0;c=d;while(1){a=J[g>>2];r:{if(J[b+12>>2]!=(c|0)){J[c>>2]=a;J[b+8>>2]=c+4;break r}c=c-d|0;i=c>>2;h=i+1|0;if(h>>>0>=1073741824){break k}j=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0<j>>>0?j:h;if(h){if(h>>>0>=1073741824){break j}j=pl(h<<2)}else{j=0}i=j+(i<<2)|0;J[i>>2]=a;c=ok(j,d,c);J[b+12>>2]=c+(h<<2);J[b+8>>2]=i+4;J[b+4>>2]=c;if(!d){break r}hl(d)}c=J[b+16>>2];d=J[b+20>>2]-c>>2;s:{if((d|0)>(a|0)){break s}J[f+44>>2]=-1;h=a+1|0;if(h>>>0>d>>>0){vb(k,h-d|0,f+44|0);c=J[k>>2];break s}if(d>>>0<=h>>>0){break s}J[b+20>>2]=(h<<2)+c}a=(a<<2)+c|0;c=J[b+8>>2];d=J[b+4>>2];J[a>>2]=(c-d>>2)-1;g=g+4|0;if((l|0)!=(g|0)){continue}break}a=J[e+8>>2]}b=1;m=m+1|0;if(m>>>0<J[e+12>>2]-a>>2>>>0){continue}break}}a=J[f>>2];if(a){hl(a)}a=J[f+16>>2];if(!a){break e}J[f+20>>2]=a;hl(a);break e}Ia();C()}Ia();C()}Ya();C()}if(m&1|c>>>0<=k>>>0){continue}break}b=0}a=J[f+32>>2];if(a){hl(a)}fa=f+48|0;break c}Ia();C()}if(!b){break a}b=J[e+32>>2];a=J[e+36>>2];t:{if((b|0)==(a|0)){break t}while(1){if(!(ka[J[J[e>>2]+40>>2]](e,J[b>>2])|0)){break a}b=b+4|0;if((a|0)!=(b|0)){continue}break}b=J[e+32>>2];a=J[e+36>>2];if((b|0)==(a|0)){break t}while(1){c=J[J[e+8>>2]+(J[b>>2]<<2)>>2];if(!(ka[J[J[c>>2]+12>>2]](c,J[e+44>>2])|0)){break a}b=b+4|0;if((a|0)!=(b|0)){continue}break}}r=ka[J[J[e>>2]+44>>2]](e)|0}fa=o+16|0;return r|0}function fb(a,b){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=Q(0),p=0,q=0,r=0,s=Q(0);f=fa-96|0;fa=f;J[f+72>>2]=0;J[f+76>>2]=0;J[f+64>>2]=0;J[f+68>>2]=0;J[f+80>>2]=1065353216;c=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;k=pl(e);J[f+16>>2]=k;c=e+k|0;J[f+24>>2]=c;pk(k,0,e);J[f+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);h=c;c=c+e|0;e=c+d|0;J[f+56>>2]=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);c=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);J[f+48>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+52>>2]=c;c=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);J[f+40>>2]=c;d=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+32>>2]=e;J[f+36>>2]=d;J[f+8>>2]=c;J[f>>2]=e;J[f+4>>2]=d;J[f+12>>2]=p;c=0;e=J[f+8>>2]^(J[f+4>>2]^(J[f>>2]^318)+239)+239;b:{c:{m=f- -64|0;h=J[m+4>>2];if(!h){break c}d=hm(h);d:{if(d>>>0>=2){c=e;if(e>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}l=J[f+8>>2];q=J[f+4>>2];j=J[f>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break c}}d=J[i+8>>2];e:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=J[i+12>>2];if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=(l|0)==J[i+16>>2]}if(!d){continue}break}c=0;break b}c=e&h-1;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=h-1|0;l=J[f+8>>2];r=J[f+4>>2];q=J[f>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break c}d=J[i+8>>2];f:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=J[i+12>>2];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(l|0)==J[i+16>>2]}if(!d){continue}break}c=0;break b}i=pl(24);J[i+16>>2]=J[f+8>>2];d=J[f+4>>2];J[i+8>>2]=J[f>>2];J[i+12>>2]=d;d=J[f+12>>2];J[i>>2]=0;J[i+4>>2]=e;J[i+20>>2]=d;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(h>>>0))?0:h){break g}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));h:{if(o<Q(4294967296)&o>=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);h=J[m+4>>2]}j:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break j}l=h>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o<Q(4294967296)&o>=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(h)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(h>>>0<=c>>>0){break j}}sb(m,c)}h=J[m+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break g}if(e>>>0<h>>>0){c=e;break g}c=(e>>>0)%(h>>>0)|0}e=J[m>>2]+(c<<2)|0;c=J[e>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[e>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];e=h-1|0;p:{if(!(e&h)){c=c&e;break p}if(c>>>0<h>>>0){break p}c=(c>>>0)%(h>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[f+92|0]=c;J[f+88>>2]=i;q:{if(!K[f+92|0]){J[(n<<2)+k>>2]=J[J[f+88>>2]+20>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,f+48|0,c);k=J[f+16>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;g=n?g:g+1|0;j=J[a+80>>2];if(!g&n>>>0<j>>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;g=b>>>0<=1?1:b;e=g&3;c=0;b=0;if(g-1>>>0>=3){n=g&-4;l=0;while(1){d=b<<2;g=d+j|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];g=j+(d|4)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];g=j+(d|8)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];g=j+(d|12)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!e){break r}while(1){g=j+(b<<2)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;g=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0<j>>>0){rb(g,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[g>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];g=e|4;J[g+d>>2]=J[g+k>>2];g=e|8;J[g+d>>2]=J[g+k>>2];g=e|12;J[g+d>>2]=J[g+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){g=b<<2;J[g+d>>2]=J[g+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}hl(k)}b=J[f+72>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[f+64>>2];J[f+64>>2]=0;if(a){hl(a)}fa=f+96|0;return p}Ia();C()}function Uh(a,b){a=a|0;b=b|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;j=fa-16|0;fa=j;c=J[b+56>>2];f=J[c+100>>2];e=J[c+96>>2];d=(f-e|0)/12|0;yb(d,J[b+44>>2]);yb(J[J[b+56>>2]+80>>2],J[b+44>>2]);k=J[b+48>>2];c=pl(32);J[j>>2]=c;J[j+4>>2]=21;J[j+8>>2]=-2147483616;g=K[1149]|K[1150]<<8|(K[1151]<<16|K[1152]<<24);i=K[1145]|K[1146]<<8|(K[1147]<<16|K[1148]<<24);H[c+13|0]=i;H[c+14|0]=i>>>8;H[c+15|0]=i>>>16;H[c+16|0]=i>>>24;H[c+17|0]=g;H[c+18|0]=g>>>8;H[c+19|0]=g>>>16;H[c+20|0]=g>>>24;g=K[1144]|K[1145]<<8|(K[1146]<<16|K[1147]<<24);i=K[1140]|K[1141]<<8|(K[1142]<<16|K[1143]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=g;H[c+13|0]=g>>>8;H[c+14|0]=g>>>16;H[c+15|0]=g>>>24;g=K[1136]|K[1137]<<8|(K[1138]<<16|K[1139]<<24);i=K[1132]|K[1133]<<8|(K[1134]<<16|K[1135]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=g;H[c+5|0]=g>>>8;H[c+6|0]=g>>>16;H[c+7|0]=g>>>24;H[c+21|0]=0;g=si(k,j,0);if(H[j+11|0]<0){hl(J[j>>2])}c=J[b+44>>2];a:{if(g){H[j|0]=0;d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],j,j+1|0)}e=0;c=0;g=fa-16|0;fa=g;J[g>>2]=0;J[g+4>>2]=0;d=J[b+56>>2];f=J[d+100>>2];d=J[d+96>>2];if((f|0)!=(d|0)){c=(f-d|0)/12|0;p=c>>>0<=1?1:c;c=0;d=J[g>>2];b:{c:{while(1){d:{i=J[J[b+56>>2]+96>>2]+P(n,12)|0;l=J[i>>2];f=l-m|0;k=f>>31;k=(f^k)-k<<1|f>>>31;e:{if((e|0)!=(h|0)){J[e>>2]=k;e=e+4|0;J[g+4>>2]=e;break e}f=e-c|0;m=f>>2;h=m+1|0;if(h>>>0>=1073741824){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>=1073741824){break c}d=pl(h<<2)}else{d=0}e=d+(m<<2)|0;J[e>>2]=k;f=ok(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){hl(c)}c=f}o=J[i+4>>2];f=o-l|0;k=f>>31;k=(f^k)-k<<1|f>>>31;f:{if((e|0)!=(h|0)){J[e>>2]=k;e=e+4|0;J[g+4>>2]=e;break f}f=e-c|0;l=f>>2;h=l+1|0;if(h>>>0>1073741823){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>1073741823){break c}d=pl(h<<2)}else{d=0}e=d+(l<<2)|0;J[e>>2]=k;f=ok(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){hl(c)}c=f}m=J[i+8>>2];f=m-o|0;i=f>>31;i=(f^i)-i<<1|f>>>31;g:{if((e|0)!=(h|0)){J[e>>2]=i;e=e+4|0;J[g+4>>2]=e;break g}f=e-c|0;k=f>>2;h=k+1|0;if(h>>>0>1073741823){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>1073741823){break c}d=pl(h<<2)}else{d=0}e=d+(k<<2)|0;J[e>>2]=i;f=ok(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){hl(c)}c=f}n=n+1|0;if((p|0)!=(n|0)){continue}break b}break}J[g+8>>2]=e;J[g>>2]=d;Ia();C()}J[g>>2]=d;Ya();C()}J[g>>2]=d}kf(c,e-c>>2,1,0,J[b+44>>2]);if(c){hl(c)}fa=g+16|0;break a}H[j|0]=1;g=J[c+20>>2];if(!J[c+16>>2]&(g|0)<=0|(g|0)<0){Ba(c,J[c+4>>2],j,j+1|0)}c=J[J[b+56>>2]+80>>2];if(c>>>0<=255){if((f|0)==(e|0)){break a}h=d>>>0<=1?1:d;f=j+1|0;c=0;while(1){d=J[b+44>>2];e=J[J[b+56>>2]+96>>2]+P(c,12)|0;H[j|0]=J[e>>2];g=J[d+20>>2];h:{if(!!J[d+16>>2]&(g|0)>=0|(g|0)>0){break h}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];H[j|0]=J[e+4>>2];if(!!i&(g|0)>=0|(g|0)>0){break h}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];H[j|0]=J[e+8>>2];if(!!i&(g|0)>=0|(g|0)>0){break h}Ba(d,J[d+4>>2],j,f)}c=c+1|0;if((h|0)!=(c|0)){continue}break}break a}if(c>>>0<=65535){if((f|0)==(e|0)){break a}h=d>>>0<=1?1:d;f=j+2|0;c=0;while(1){d=J[b+44>>2];e=J[J[b+56>>2]+96>>2]+P(c,12)|0;I[j>>1]=J[e>>2];g=J[d+20>>2];i:{if(!!J[d+16>>2]&(g|0)>=0|(g|0)>0){break i}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];I[j>>1]=J[e+4>>2];if(!!i&(g|0)>=0|(g|0)>0){break i}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];I[j>>1]=J[e+8>>2];if(!!i&(g|0)>=0|(g|0)>0){break i}Ba(d,J[d+4>>2],j,f)}c=c+1|0;if((h|0)!=(c|0)){continue}break}break a}if(c>>>0>=2097152){if((f|0)==(e|0)){break a}c=J[b+44>>2];f=!!J[c+16>>2];c=J[c+20>>2];if(f&(c|0)>=0|(c|0)>0){break a}f=d>>>0<=1?1:d;c=0;while(1){d=J[b+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){e=d;g=J[d+4>>2];d=J[J[b+56>>2]+96>>2]+P(c,12)|0;Ba(e,g,d,d+12|0)}c=c+1|0;if((f|0)!=(c|0)){continue}break}break a}if((f|0)==(e|0)){break a}f=d>>>0<=1?1:d;c=0;while(1){d=J[J[b+56>>2]+96>>2]+P(c,12)|0;yb(J[d>>2],J[b+44>>2]);yb(J[d+4>>2],J[b+44>>2]);yb(J[d+8>>2],J[b+44>>2]);c=c+1|0;if((f|0)!=(c|0)){continue}break}}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;fa=j+16|0}function ob(a,b){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=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=Q(0);i=fa-80|0;fa=i;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+64>>2]=1065353216;c=J[a+80>>2];J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=pl(f);J[i+24>>2]=k;c=f+k|0;J[i+32>>2]=c;pk(k,0,f);J[i+28>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);g=c;c=c+f|0;c=c+d|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);c=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[i+40>>2]=f;J[i+44>>2]=c;J[i+16>>2]=p;J[i+8>>2]=f;J[i+12>>2]=c;c=0;m=i+8|0;f=L[m+6>>1]^(L[m+4>>1]^(L[m+2>>1]^(L[m>>1]^318)+239)+239)+239;b:{c:{l=i+48|0;g=J[l+4>>2];if(!g){break c}d=hm(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}h=J[J[l>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<2){break d}q=L[m>>1];r=L[m+2>>1];t=L[m+4>>1];j=L[m+6>>1];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=L[h+8>>1];e:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=L[h+10>>1];if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=L[h+12>>1];if((d|0)!=(t|0)){d=(d|0)==(t|0);break e}d=(j|0)==L[h+14>>1]}if(!d){continue}break}c=0;break b}c=f&g-1;h=J[J[l>>2]+(c<<2)>>2];if(!h){break c}}t=g-1|0;u=L[m>>1];q=L[m+2>>1];r=L[m+4>>1];j=L[m+6>>1];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)&(d&t)!=(c|0)){break c}d=L[h+8>>1];f:{if((d|0)!=(u|0)){d=(d|0)==(u|0);break f}d=L[h+10>>1];if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=L[h+12>>1];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(j|0)==L[h+14>>1]}if(!d){continue}break}c=0;break b}h=pl(20);d=J[m+4>>2];J[h+8>>2]=J[m>>2];J[h+12>>2]=d;d=J[m+8>>2];J[h+4>>2]=f;J[h+16>>2]=d;J[h>>2]=0;o=Q(J[l+12>>2]+1>>>0);v=N[l+16>>2];g:{if(o>Q(v*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/v)));h:{if(o<Q(4294967296)&o>=Q(0)){j=~~o>>>0;break h}j=0}d=d>>>0>j>>>0?d:j;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);g=J[l+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}j=g>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));k:{if(o<Q(4294967296)&o>=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(j){break m}if(hm(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}sb(l,c)}g=J[l+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0<g>>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[l>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=l+8|0;J[h>>2]=J[c>>2];J[l+8>>2]=h;J[f>>2]=c;c=J[h>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0<g>>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[l>>2]+(c<<2)|0;break o}J[h>>2]=J[c>>2]}J[c>>2]=h}J[l+12>>2]=J[l+12>>2]+1;c=1}H[i+76|0]=c;J[i+72>>2]=h;q:{if(!K[i+76|0]){J[(n<<2)+k>>2]=J[J[i+72>>2]+16>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,i+40|0,c);k=J[i+24>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;e=n?e:e+1|0;j=J[a+80>>2];if(!e&n>>>0<j>>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){n=e&-4;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;s=s+4|0;if((n|0)!=(s|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0<j>>>0){rb(e,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;s=s+4|0;if((n|0)!=(s|0)){continue}break}}n=j&3;if(!n){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}hl(k)}b=J[i+56>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[i+48>>2];J[i+48>>2]=0;if(a){hl(a)}fa=i+80|0;return p}Ia();C()}function nb(a,b){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=Q(0),p=0,q=0,r=0,s=Q(0);e=fa-80|0;fa=e;J[e+56>>2]=0;J[e+60>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e+64>>2]=1065353216;c=J[a+80>>2];J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}g=c<<2;k=pl(g);J[e+16>>2]=k;c=g+k|0;J[e+24>>2]=c;pk(k,0,g);J[e+20>>2]=c;while(1){d=J[J[b>>2]>>2];g=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);h=c;c=c+g|0;c=c+d|0;I[e+44>>1]=K[c+4|0]|K[c+5|0]<<8;J[e+40>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);g=K[c+4|0]|K[c+5|0]<<8;I[e+36>>1]=g;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[e+32>>2]=c;I[e+4>>1]=g;J[e>>2]=c;J[e+8>>2]=p;c=0;g=L[e+4>>1]^(L[e+2>>1]^(L[e>>1]^318)+239)+239;b:{c:{m=e+48|0;h=J[m+4>>2];if(!h){break c}d=hm(h);d:{if(d>>>0>=2){c=g;if(c>>>0>=h>>>0){c=(g>>>0)%(h>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}q=L[e>>1];j=L[e+2>>1];l=L[e+4>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break c}}d=L[i+8>>1];e:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=L[i+10>>1];if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==L[i+12>>1]}if(!d){continue}break}c=0;break b}c=g&h+262143;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=h-1|0;r=L[e>>1];q=L[e+2>>1];l=L[e+4>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)&(d&j)!=(c|0)){break c}d=L[i+8>>1];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=L[i+10>>1];if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=(l|0)==L[i+12>>1]}if(!d){continue}break}c=0;break b}i=pl(20);I[i+12>>1]=L[e+4>>1];J[i+8>>2]=J[e>>2];d=J[e+8>>2];J[i>>2]=0;J[i+4>>2]=g;J[i+16>>2]=d;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(h>>>0))?0:h){break g}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));h:{if(o<Q(4294967296)&o>=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);h=J[m+4>>2]}j:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break j}l=h>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o<Q(4294967296)&o>=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(h)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(h>>>0<=c>>>0){break j}}sb(m,c)}h=J[m+4>>2];c=h-1|0;if(!(c&h)){c=c&g;break g}if(g>>>0<h>>>0){c=g;break g}c=(g>>>0)%(h>>>0)|0}g=J[m>>2]+(c<<2)|0;c=J[g>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[g>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];g=h-1|0;p:{if(!(g&h)){c=c&g;break p}if(c>>>0<h>>>0){break p}c=(c>>>0)%(h>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[e+76|0]=c;J[e+72>>2]=i;q:{if(!K[e+76|0]){J[(n<<2)+k>>2]=J[J[e+72>>2]+16>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,e+40|0,c);k=J[e+16>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;f=n?f:f+1|0;j=J[a+80>>2];if(!f&n>>>0<j>>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;f=b>>>0<=1?1:b;g=f&3;c=0;b=0;if(f-1>>>0>=3){n=f&-4;l=0;while(1){d=b<<2;f=d+j|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|4)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|8)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|12)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!g){break r}while(1){f=j+(b<<2)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;f=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0<j>>>0){rb(f,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[f>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){g=b<<2;J[g+d>>2]=J[g+k>>2];f=g|4;J[f+d>>2]=J[f+k>>2];f=g|8;J[f+d>>2]=J[f+k>>2];f=g|12;J[f+d>>2]=J[f+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}hl(k)}b=J[e+56>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[e+48>>2];J[e+48>>2]=0;if(a){hl(a)}fa=e+80|0;return p}Ia();C()}function kb(a,b){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=Q(0),q=0,r=0,s=0,t=0,u=Q(0);i=fa+-64|0;fa=i;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+48>>2]=1065353216;c=J[a+80>>2];J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=pl(f);J[i+16>>2]=k;c=f+k|0;J[i+24>>2]=c;pk(k,0,f);J[i+20>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],o,0);g=c;c=c+f|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[i+28>>2]=c;J[i+12>>2]=q;J[i+8>>2]=c;c=0;n=i+8|0;f=K[n+3|0]^(K[n+2|0]^(K[n+1|0]^(K[n|0]^318)+239)+239)+239;b:{c:{m=i+32|0;g=J[m+4>>2];if(!g){break c}d=hm(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}h=J[J[m>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<2){break d}r=K[n|0];s=K[n+1|0];j=K[n+2|0];l=K[n+3|0];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=K[h+8|0];e:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=K[h+9|0];if((d|0)!=(s|0)){d=(d|0)==(s|0);break e}d=K[h+10|0];if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==K[h+11|0]}if(!d){continue}break}c=0;break b}c=f&g-1;h=J[J[m>>2]+(c<<2)>>2];if(!h){break c}}j=g-1|0;t=K[n|0];r=K[n+1|0];s=K[n+2|0];l=K[n+3|0];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)&(d&j)!=(c|0)){break c}d=K[h+8|0];f:{if((d|0)!=(t|0)){d=(d|0)==(t|0);break f}d=K[h+9|0];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=K[h+10|0];if((d|0)!=(s|0)){d=(d|0)==(s|0);break f}d=(l|0)==K[h+11|0]}if(!d){continue}break}c=0;break b}h=pl(16);J[h+8>>2]=J[n>>2];d=J[n+4>>2];J[h+4>>2]=f;J[h+12>>2]=d;J[h>>2]=0;p=Q(J[m+12>>2]+1>>>0);u=N[m+16>>2];g:{if(p>Q(u*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;p=Q(W(Q(p/u)));h:{if(p<Q(4294967296)&p>=Q(0)){l=~~p>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);g=J[m+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}l=g>>>0<3;p=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(p<Q(4294967296)&p>=Q(0)){d=~~p>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}sb(m,c)}g=J[m+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0<g>>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[m>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=m+8|0;J[h>>2]=J[c>>2];J[m+8>>2]=h;J[f>>2]=c;c=J[h>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0<g>>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[h>>2]=J[c>>2]}J[c>>2]=h}J[m+12>>2]=J[m+12>>2]+1;c=1}H[i+60|0]=c;J[i+56>>2]=h;q:{if(!K[i+60|0]){J[(o<<2)+k>>2]=J[J[i+56>>2]+12>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,q)|0,i+28|0,c);k=J[i+16>>2];J[k+(o<<2)>>2]=q;q=q+1|0}o=o+1|0;e=o?e:e+1|0;j=J[a+80>>2];if(!e&o>>>0<j>>>0){continue}break}if((j|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){o=e&-4;l=0;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((o|0)!=(l|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0<j>>>0){rb(e,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){o=j&-4;l=0;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;l=l+4|0;if((o|0)!=(l|0)){continue}break}}o=j&3;if(!o){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((o|0)!=(c|0)){continue}break}}J[a+80>>2]=q}hl(k)}b=J[i+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[i+32>>2];J[i+32>>2]=0;if(a){hl(a)}fa=i- -64|0;return q}Ia();C()}function sd(a,b,c){a=a|0;b=b|0;c=c|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;e=fa-96|0;fa=e;f=J[a+16>>2];H[e+92|0]=1;J[e+88>>2]=b;J[e+84>>2]=b;J[e+80>>2]=f;j=J[a+20>>2];d=J[j>>2];a:{b:{f=J[J[f+28>>2]+(b<<2)>>2];if(f>>>0<J[j+4>>2]-d>>2>>>0){d=J[J[a+8>>2]+(J[d+(f<<2)>>2]<<2)>>2];f=J[a+4>>2];if(!K[f+84|0]){d=J[J[f+68>>2]+(d<<2)>>2]}J[e+72>>2]=0;J[e+76>>2]=0;j=e- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;kd(f,d,H[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!J[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=J[a+20>>2];b=J[n>>2];d=J[J[J[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=J[n+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;kd(b,d,H[b+24|0],e+32|0);d=J[a+20>>2];b=J[d>>2];f=J[J[J[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=J[d+4>>2]-b>>2>>>0){break a}d=J[J[a+8>>2]+(J[b+(f<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;kd(b,d,H[b+24|0],e+8|0);g=J[e+8>>2];b=J[e+56>>2];d=g-b|0;p=J[e+60>>2];t=J[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[e+40>>2];f=J[e+64>>2];n=h-f|0;u=J[e+68>>2];x=J[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=em(d,t,n,x);v=o-g|0;w=i-(ja+(g>>>0>o>>>0)|0)|0;i=v;h=J[e+16>>2];g=h-f|0;u=J[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=J[e+32>>2];h=k-b|0;v=J[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=em(g,u,h,v);o=i+b|0;i=ja+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=J[e+48>>2];f=J[e+72>>2];d=k-f|0;t=J[e+76>>2];w=J[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=em(l,p,d,w);k=b+l|0;b=ja+q|0;b=k>>>0<l>>>0?b+1|0:b;l=J[e+24>>2];p=l-f|0;f=J[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=em(p,f,h,v);l=k-q|0;q=b-(ja+(k>>>0<q>>>0)|0)|0;b=em(g,u,d,w);d=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=em(p,f,n,x);r=s+d|0;b=ja+b|0;s=r>>>0<s>>>0?b+1|0:b;b=J[e+88>>2];f=J[e+80>>2];d:{if(K[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}J[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[e+88>>2]=b;if((b|0)!=-1){break e}}b=J[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}H[e+92|0]=0;J[e+88>>2]=d;break d}if((b|0)!=J[e+84>>2]){break d}J[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}J[e+88>>2]=d}b=J[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0<g>>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0<j>>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0<f>>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0<j>>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0<a>>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=fm(o,n,a,b);l=fm(l,q,a,b);r=fm(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=e+96|0;return}Xc();C()}Xc();C()}Xc();C()}function jb(a,b){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=Q(0),p=0,q=0,r=0,s=Q(0);e=fa+-64|0;fa=e;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+48>>2]=1065353216;c=J[a+80>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}g=c<<2;k=pl(g);J[e+8>>2]=k;c=g+k|0;J[e+16>>2]=c;pk(k,0,g);J[e+12>>2]=c;while(1){d=J[J[b>>2]>>2];g=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);h=c;c=c+g|0;c=c+d|0;H[e+30|0]=K[c+2|0];I[e+28>>1]=K[c|0]|K[c+1|0]<<8;g=K[c+2|0];H[e+26|0]=g;c=K[c|0]|K[c+1|0]<<8;I[e+24>>1]=c;H[e+2|0]=g;I[e>>1]=c;J[e+4>>2]=p;c=0;g=K[e+2|0]^(K[e+1|0]^(K[e|0]^318)+239)+239;b:{c:{m=e+32|0;h=J[m+4>>2];if(!h){break c}d=hm(h);d:{if(d>>>0>=2){c=g;if(c>>>0>=h>>>0){c=(g>>>0)%(h>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}q=K[e|0];j=K[e+1|0];l=K[e+2|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break c}}d=K[i+8|0];e:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=K[i+9|0];if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==K[i+10|0]}if(!d){continue}break}c=0;break b}c=g&h-1;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=h-1|0;r=K[e|0];q=K[e+1|0];l=K[e+2|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)&(d&j)!=(c|0)){break c}d=K[i+8|0];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=K[i+9|0];if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=(l|0)==K[i+10|0]}if(!d){continue}break}c=0;break b}i=pl(16);H[i+10|0]=K[e+2|0];I[i+8>>1]=L[e>>1];d=J[e+4>>2];J[i>>2]=0;J[i+4>>2]=g;J[i+12>>2]=d;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(h>>>0))?0:h){break g}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));h:{if(o<Q(4294967296)&o>=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);h=J[m+4>>2]}j:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break j}l=h>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o<Q(4294967296)&o>=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(h)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(h>>>0<=c>>>0){break j}}sb(m,c)}h=J[m+4>>2];c=h-1|0;if(!(c&h)){c=c&g;break g}if(g>>>0<h>>>0){c=g;break g}c=(g>>>0)%(h>>>0)|0}g=J[m>>2]+(c<<2)|0;c=J[g>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[g>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];g=h-1|0;p:{if(!(g&h)){c=c&g;break p}if(c>>>0<h>>>0){break p}c=(c>>>0)%(h>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[e+60|0]=c;J[e+56>>2]=i;q:{if(!K[e+60|0]){J[(n<<2)+k>>2]=J[J[e+56>>2]+12>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,e+28|0,c);k=J[e+8>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;f=n?f:f+1|0;j=J[a+80>>2];if(!f&n>>>0<j>>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;f=b>>>0<=1?1:b;g=f&3;c=0;b=0;if(f-1>>>0>=3){n=f&-4;l=0;while(1){d=b<<2;f=d+j|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|4)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|8)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|12)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!g){break r}while(1){f=j+(b<<2)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;f=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0<j>>>0){rb(f,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[f>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){g=b<<2;J[g+d>>2]=J[g+k>>2];f=g|4;J[f+d>>2]=J[f+k>>2];f=g|8;J[f+d>>2]=J[f+k>>2];f=g|12;J[f+d>>2]=J[f+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}hl(k)}b=J[e+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[e+32>>2];J[e+32>>2]=0;if(a){hl(a)}fa=e- -64|0;return p}Ia();C()}function Gd(a,b,c){a=a|0;b=b|0;c=c|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;f=fa-96|0;fa=f;d=J[a+16>>2];H[f+92|0]=1;J[f+88>>2]=b;J[f+84>>2]=b;J[f+80>>2]=d;a:{if((b|0)==-1){break a}j=J[a+20>>2];e=J[j>>2];d=J[J[d>>2]+(b<<2)>>2];if(d>>>0>=J[j+4>>2]-e>>2>>>0){break a}e=J[J[a+8>>2]+(J[e+(d<<2)>>2]<<2)>>2];d=J[a+4>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}J[f+72>>2]=0;J[f+76>>2]=0;j=f- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;kd(d,e,H[d+24|0],f+56|0);d=b+1|0;j=(d>>>0)%3|0?d:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){e=j;d=m;d:{if(!J[a+28>>2]){break d}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break d}d=b+2|0}if((e|0)==-1){break b}n=J[a+20>>2];b=J[n>>2];e=J[J[J[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=J[n+4>>2]-b>>2>>>0){break b}e=J[J[a+8>>2]+(J[b+(e<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;kd(b,e,H[b+24|0],f+32|0);if((d|0)==-1){break c}e=J[a+20>>2];b=J[e>>2];d=J[J[J[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=J[e+4>>2]-b>>2>>>0){break c}e=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;kd(b,e,H[b+24|0],f+8|0);g=J[f+8>>2];b=J[f+56>>2];e=g-b|0;p=J[f+60>>2];t=J[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[f+40>>2];d=J[f+64>>2];n=h-d|0;u=J[f+68>>2];x=J[f+44>>2]-(u+(d>>>0>h>>>0)|0)|0;g=em(e,t,n,x);v=o-g|0;w=i-(ja+(g>>>0>o>>>0)|0)|0;i=v;h=J[f+16>>2];g=h-d|0;u=J[f+20>>2]-((d>>>0>h>>>0)+u|0)|0;k=J[f+32>>2];h=k-b|0;v=J[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=em(g,u,h,v);o=i+b|0;i=ja+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=e;p=t;k=J[f+48>>2];d=J[f+72>>2];e=k-d|0;t=J[f+76>>2];w=J[f+52>>2]-(t+(d>>>0>k>>>0)|0)|0;l=em(l,p,e,w);k=b+l|0;b=ja+q|0;b=k>>>0<l>>>0?b+1|0:b;l=J[f+24>>2];p=l-d|0;d=J[f+28>>2]-((d>>>0>l>>>0)+t|0)|0;q=em(p,d,h,v);l=k-q|0;q=b-(ja+(k>>>0<q>>>0)|0)|0;b=em(g,u,e,w);e=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=em(p,d,n,x);r=s+e|0;b=ja+b|0;s=r>>>0<s>>>0?b+1|0:b;b=J[f+88>>2];e=J[f+80>>2];e:{if(K[f+92|0]){f:{g:{h:{i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break i}b=J[J[e+12>>2]+(b<<2)>>2];if((b|0)!=-1){break h}}J[f+88>>2]=-1;break g}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[f+88>>2]=b;if((b|0)!=-1){break f}}b=J[f+84>>2];d=-1;j:{if((b|0)==-1){break j}k:{if((b>>>0)%3|0){b=b-1|0;break k}b=b+2|0;d=-1;if((b|0)==-1){break j}}b=J[J[e+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break j}d=b-1|0;if((b>>>0)%3|0){break j}d=b+2|0}H[f+92|0]=0;J[f+88>>2]=d;break e}if((b|0)!=J[f+84>>2]){break e}J[f+88>>2]=-1;break e}d=-1;l:{if((b|0)==-1){break l}m:{if((b>>>0)%3|0){b=b-1|0;break m}b=b+2|0;d=-1;if((b|0)==-1){break l}}b=J[J[e+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break l}d=b-1|0;if((b>>>0)%3|0){break l}d=b+2|0}J[f+88>>2]=d}b=J[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;d=b^r;e=d-b|0;b=(b^s)-((b>>>0>d>>>0)+b|0)|0;m=-1;d=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0<g>>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;n:{o:{if(!J[a+28>>2]){if((b|0)==(g|0)&e>>>0>k>>>0|b>>>0>g>>>0){break n}b=b+h|0;a=e+j|0;b=a>>>0<j>>>0?b+1|0:b;d=a;g=i;a=g>>31;e=a;m=e^o;a=m-e|0;i=a;e=(e^g)-((e>>>0>m>>>0)+e|0)|0;a=a+d|0;e=e^2147483647;i=(e|0)==(b|0)&(i^-1)>>>0<d>>>0|b>>>0>e>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break n}b=0;a=a>>>29|0;break o}p:{if((b|0)==(g|0)&e>>>0>k>>>0|b>>>0>g>>>0){break p}b=b+h|0;a=e+j|0;b=a>>>0<j>>>0?b+1|0:b;k=i;e=i>>31;h=e^o;i=h-e|0;j=(e^k)-((e>>>0>h>>>0)+e|0)|0;g=j^2147483647;e=a;a=i;if((g|0)==(b|0)&e>>>0>(a^-1)>>>0|b>>>0>g>>>0){break p}b=b+j|0;m=a+e|0;b=m>>>0<a>>>0?b+1|0:b;d=b;if(!b&m>>>0<536870913){break n}}b=d>>>29|0;a=(d&536870911)<<3|m>>>29}o=fm(o,n,a,b);l=fm(l,q,a,b);r=fm(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=f+96|0;return}Xc();C()}Xc();C()}Xc();C()}function eb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=Q(0),o=0,p=0,q=0,r=0,s=0,t=Q(0);h=fa-80|0;fa=h;J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+64>>2]=1065353216;c=J[a+80>>2];J[h+32>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=pl(f);J[h+24>>2]=k;c=f+k|0;J[h+32>>2]=c;pk(k,0,f);J[h+28>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],m,0);g=c;c=c+f|0;c=c+d|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);c=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[h+40>>2]=f;J[h+44>>2]=c;J[h+16>>2]=p;J[h+8>>2]=f;J[h+12>>2]=c;c=0;o=h+8|0;f=J[o+4>>2]^(J[o>>2]^318)+239;b:{c:{l=h+48|0;g=J[l+4>>2];if(!g){break c}d=hm(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}j=J[J[l>>2]+(c<<2)>>2];if(!j){break c}if(d>>>0<2){break d}i=J[o+4>>2];r=J[o>>2];while(1){j=J[j>>2];if(!j){break c}d=J[j+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=J[j+8>>2];e:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=(i|0)==J[j+12>>2]}if(!d){continue}break}c=0;break b}c=f&g-1;j=J[J[l>>2]+(c<<2)>>2];if(!j){break c}}r=g-1|0;i=J[o+4>>2];s=J[o>>2];while(1){j=J[j>>2];if(!j){break c}d=J[j+4>>2];if((d|0)!=(f|0)&(d&r)!=(c|0)){break c}d=J[j+8>>2];f:{if((d|0)!=(s|0)){d=(d|0)==(s|0);break f}d=(i|0)==J[j+12>>2]}if(!d){continue}break}c=0;break b}j=pl(20);d=J[o+4>>2];J[j+8>>2]=J[o>>2];J[j+12>>2]=d;d=J[o+8>>2];J[j+4>>2]=f;J[j+16>>2]=d;J[j>>2]=0;n=Q(J[l+12>>2]+1>>>0);t=N[l+16>>2];g:{if(n>Q(t*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;n=Q(W(Q(n/t)));h:{if(n<Q(4294967296)&n>=Q(0)){i=~~n>>>0;break h}i=0}d=d>>>0>i>>>0?d:i;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);g=J[l+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}i=g>>>0<3;n=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));k:{if(n<Q(4294967296)&n>=Q(0)){d=~~n>>>0;break k}d=0}l:{m:{if(i){break m}if(hm(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}sb(l,c)}g=J[l+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0<g>>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[l>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=l+8|0;J[j>>2]=J[c>>2];J[l+8>>2]=j;J[f>>2]=c;c=J[j>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0<g>>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[l>>2]+(c<<2)|0;break o}J[j>>2]=J[c>>2]}J[c>>2]=j}J[l+12>>2]=J[l+12>>2]+1;c=1}H[h+76|0]=c;J[h+72>>2]=j;q:{if(!K[h+76|0]){J[(m<<2)+k>>2]=J[J[h+72>>2]+16>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,h+40|0,c);k=J[h+24>>2];J[k+(m<<2)>>2]=p;p=p+1|0}m=m+1|0;e=m?e:e+1|0;i=J[a+80>>2];if(!e&m>>>0<i>>>0){continue}break}if((i|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];i=J[a+68>>2];if((b|0)==(i|0)){break r}b=b-i>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){m=e&-4;while(1){d=b<<2;e=d+i|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=i+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=i+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=i+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;q=q+4|0;if((m|0)!=(q|0)){continue}break}}if(!f){break r}while(1){e=i+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0<i>>>0){rb(e,i-c|0,2184);i=J[a+80>>2];break s}if(c>>>0<=i>>>0){break s}J[a+72>>2]=b+(i<<2)}if(!i){break r}d=J[e>>2];c=0;b=0;if(i>>>0>=4){m=i&-4;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;q=q+4|0;if((m|0)!=(q|0)){continue}break}}m=i&3;if(!m){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((m|0)!=(c|0)){continue}break}}J[a+80>>2]=p}hl(k)}b=J[h+56>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[h+48>>2];J[h+48>>2]=0;if(a){hl(a)}fa=h+80|0;return p}Ia();C()}function dc(a){var 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;f=fa-32|0;fa=f;a:{b=J[a+16>>2];b:{if(b>>>0>=113){J[a+16>>2]=b-113;b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];c:{if((b|0)!=J[a+12>>2]){d=b;break c}k=J[a>>2];if(k>>>0<c>>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=ok(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break c}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=pl(e);l=e+h|0;e=h+(d&-4)|0;d=e;d:{if((b|0)==(c|0)){break d}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;e:{if(!g){b=e;break e}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break d}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break c}hl(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}c=J[a+8>>2];b=J[a+4>>2];l=c-b|0;h=l>>2;g=J[a+12>>2];d=J[a>>2];e=g-d|0;if(h>>>0<e>>2>>>0){if((c|0)!=(g|0)){n=f,o=pl(4068),J[n+8>>2]=o;d=a;f:{g:{b=J[a+8>>2];h:{if((b|0)!=J[a+12>>2]){e=b;break h}c=J[d+4>>2];h=J[d>>2];if(c>>>0>h>>>0){g=((c-h>>2)+1|0)/-2<<2;a=b-c|0;e=ok(g+c|0,c,a)+a|0;J[d+8>>2]=e;J[d+4>>2]=g+J[d+4>>2];break h}e=(b|0)==(h|0)?1:b-h>>1;if(e>>>0>=1073741824){break g}a=e<<2;j=pl(a);l=a+j|0;a=j+(e&-4)|0;e=a;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;j:{if(!g){b=a;break j}e=0;b=a;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=a+m|0;if(i>>>0<28){break i}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=l;J[d+8>>2]=e;J[d+4>>2]=a;J[d>>2]=j;if(!h){break h}hl(h);e=J[d+8>>2]}J[e>>2]=J[f+8>>2];J[d+8>>2]=J[d+8>>2]+4;break f}Ya();C()}break b}n=f,o=pl(4068),J[n+8>>2]=o;hc(a,f+8|0);b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];k:{if((b|0)!=J[a+12>>2]){d=b;break k}k=J[a>>2];if(k>>>0<c>>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=ok(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break k}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=pl(e);l=e+h|0;e=h+(d&-4)|0;d=e;l:{if((b|0)==(c|0)){break l}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;m:{if(!g){b=e;break m}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break l}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break k}hl(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}J[f+24>>2]=a+12;m=(d|0)==(g|0)?1:e>>1;if(m>>>0>=1073741824){break a}e=m<<2;g=pl(e);J[f+8>>2]=g;j=e+g|0;J[f+20>>2]=j;d=(h<<2)+g|0;J[f+12>>2]=d;i=pl(4068);n:{if((h|0)!=(m|0)){break n}if((l|0)>0){d=((h+1|0)/-2<<2)+d|0;J[f+12>>2]=d;break n}d=(b|0)==(c|0)?1:l>>1;if(d>>>0>=1073741824){break a}b=d<<2;e=pl(b);J[f+8>>2]=e;j=b+e|0;J[f+20>>2]=j;d=e+(d&-4)|0;J[f+12>>2]=d;hl(g);b=J[a+4>>2];c=J[a+8>>2];g=e}J[d>>2]=i;i=d+4|0;J[f+16>>2]=i;e=b;if((b|0)!=(c|0)){while(1){c=c-4|0;hc(f+8|0,c);if(J[a+4>>2]!=(c|0)){continue}break}j=J[f+20>>2];i=J[f+16>>2];d=J[f+12>>2];g=J[f+8>>2];e=c;b=J[a+8>>2]}c=J[a>>2];J[a>>2]=g;J[f+8>>2]=c;J[a+4>>2]=d;J[f+12>>2]=e;J[a+8>>2]=i;J[f+16>>2]=b;d=J[a+12>>2];J[a+12>>2]=j;J[f+20>>2]=d;if((b|0)!=(e|0)){J[f+16>>2]=((e-b|0)+3&-4)+b}if(!c){break b}hl(c)}fa=f+32|0;return}Ya();C()}function rd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=fa-48|0;fa=k;J[a+68>>2]=f;o=a+112|0;Ce(o);d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[k+40>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+60|0;d=d>>>2|0;q=d>>>0<=1?1:d;r=c+4|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}sd(p,J[d+(n<<2)>>2],k+32|0);f=J[k+36>>2];d=f>>31;g=J[k+32>>2];e=g>>31;i=(d^f)-d+((e^g)-e)|0;h=J[k+40>>2];d=h>>31;e=(d^h)-d|0;d=0;m=e;e=e+i|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+108>>2];i=j;break b}j=J[a+108>>2];i=j>>31;f=fm(em(j,i,f,f>>31),ja,e,d);l=f>>31;i=fm(em(j,i,g,g>>31),ja,e,d);d=i>>31;d=(f^l)-l+((d^i)-d)|0;h=(h|0)<0?d-j|0:j-d|0}c:{if((i|0)>=0){e=f+j|0;l=h+j|0;break c}d:{if((f|0)<0){d=h>>31;e=(d^h)-d|0;break d}d=h>>31;e=J[a+100>>2]+(d-(d^h)|0)|0}if((h|0)<0){d=f>>31;l=(d^f)-d|0;break c}d=f>>31;l=J[a+100>>2]+(d-(d^f)|0)|0}d=J[a+100>>2];m=d;g=d;e:{if(!(e|l)){break e}if(!((d|0)!=(l|0)|e)){m=l;g=l;break e}if(!((d|0)!=(e|0)|l)){m=e;g=e;break e}if(!((j|0)>=(l|0)|e)){m=(j<<1)-l|0;g=0;break e}if(!((d|0)!=(e|0)|(j|0)<=(l|0))){m=(j<<1)-l|0;g=e;break e}if(!((d|0)!=(l|0)|(e|0)>=(j|0))){m=l;g=(j<<1)-e|0;break e}if(l){m=l;g=e;break e}m=0;g=e;if((e|0)<=(j|0)){break e}g=(j<<1)-e|0}J[k+28>>2]=m;J[k+24>>2]=g;J[k+40>>2]=0-h;J[k+36>>2]=0-f;J[k+32>>2]=0-i;f:{if((i|0)<=0){i=j-h|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;i=(h|0)>0?e:d-e|0;e=h>>31;e=(e^h)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|i)){i=d;break g}if(!((d|0)!=(i|0)|e)){i=d;break g}f=(d|0)!=(e|0);if(!(i|f)){i=d;break g}if(!((i|0)<=(j|0)|e)){i=(j<<1)-i|0;d=0;break g}if(!((i|0)>=(j|0)|f)){i=(j<<1)-i|0;break g}if(!((d|0)!=(i|0)|(e|0)>=(j|0))){i=d;d=(j<<1)-e|0;break g}if(i){d=e;break g}i=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}J[k+20>>2]=i;J[k+16>>2]=d;h=J[a+8>>2];h:{if((h|0)<=0){break h}l=(n<<3)+b|0;i=J[a+32>>2];e=0;g=k+24|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];i:{if((m|0)>(h|0)){J[d+j>>2]=h;break i}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break i}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}}f=e<<2;d=f+(k+8|0)|0;g=J[f+l>>2]-J[f+j>>2]|0;J[d>>2]=g;f=d;d=J[a+28>>2];j:{if((g|0)<(d|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break j}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}if((h|0)<=0){break h}i=J[a+32>>2];e=0;g=k+16|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];k:{if((m|0)>(h|0)){J[d+j>>2]=h;break k}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break k}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}d=J[a+28>>2]}g=e<<2;f=g+k|0;g=J[g+l>>2]-J[j+g>>2]|0;J[f>>2]=g;l:{if((d|0)>(g|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break l}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}}f=J[k+8>>2];e=J[a+108>>2];m:{if((f|0)>(e|0)){f=f-J[a+96>>2]|0;break m}if((0-e|0)<=(f|0)){break m}f=J[a+96>>2]+f|0}J[k+8>>2]=f;h=J[k+12>>2];n:{if((e|0)<(h|0)){h=h-J[a+96>>2]|0;break n}if((0-e|0)<=(h|0)){break n}h=J[a+96>>2]+h|0}J[k+12>>2]=h;d=J[k>>2];o:{if((e|0)<(d|0)){d=d-J[a+96>>2]|0;break o}if((0-e|0)<=(d|0)){break o}d=J[a+96>>2]+d|0}g=n<<1;J[k>>2]=d;i=J[k+4>>2];p:{if((e|0)<(i|0)){i=i-J[a+96>>2]|0;break p}if((0-e|0)<=(i|0)){break p}i=J[a+96>>2]+i|0}J[k+4>>2]=i;e=h>>31;e=(e^h)-e|0;l=f>>31;l=(l^f)-l|0;m=l>>>0>(e^2147483647)>>>0?2147483647:e+l|0;e=i>>31;e=(e^i)-e|0;l=d>>31;l=(l^d)-l|0;e=m>>>0>=(l>>>0>(e^2147483647)>>>0?2147483647:e+l|0)>>>0;De(o,e);g=g<<2;d=e?d:f;J[g+c>>2]=(J[a+96>>2]&d>>31)+d;d=e?i:h;J[g+r>>2]=(J[a+96>>2]&d>>31)+d;n=n+1|0;if((q|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function Fd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=fa-48|0;fa=k;J[a+68>>2]=f;o=a+112|0;Ce(o);d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[k+40>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+60|0;d=d>>>2|0;q=d>>>0<=1?1:d;r=c+4|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Gd(p,J[d+(n<<2)>>2],k+32|0);f=J[k+36>>2];d=f>>31;g=J[k+32>>2];e=g>>31;i=(d^f)-d+((e^g)-e)|0;h=J[k+40>>2];d=h>>31;e=(d^h)-d|0;d=0;m=e;e=e+i|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+108>>2];i=j;break b}j=J[a+108>>2];i=j>>31;f=fm(em(j,i,f,f>>31),ja,e,d);l=f>>31;i=fm(em(j,i,g,g>>31),ja,e,d);d=i>>31;d=(f^l)-l+((d^i)-d)|0;h=(h|0)<0?d-j|0:j-d|0}c:{if((i|0)>=0){e=f+j|0;l=h+j|0;break c}d:{if((f|0)<0){d=h>>31;e=(d^h)-d|0;break d}d=h>>31;e=J[a+100>>2]+(d-(d^h)|0)|0}if((h|0)<0){d=f>>31;l=(d^f)-d|0;break c}d=f>>31;l=J[a+100>>2]+(d-(d^f)|0)|0}d=J[a+100>>2];m=d;g=d;e:{if(!(e|l)){break e}if(!((d|0)!=(l|0)|e)){m=l;g=l;break e}if(!((d|0)!=(e|0)|l)){m=e;g=e;break e}if(!((j|0)>=(l|0)|e)){m=(j<<1)-l|0;g=0;break e}if(!((d|0)!=(e|0)|(j|0)<=(l|0))){m=(j<<1)-l|0;g=e;break e}if(!((d|0)!=(l|0)|(e|0)>=(j|0))){m=l;g=(j<<1)-e|0;break e}if(l){m=l;g=e;break e}m=0;g=e;if((e|0)<=(j|0)){break e}g=(j<<1)-e|0}J[k+28>>2]=m;J[k+24>>2]=g;J[k+40>>2]=0-h;J[k+36>>2]=0-f;J[k+32>>2]=0-i;f:{if((i|0)<=0){i=j-h|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;i=(h|0)>0?e:d-e|0;e=h>>31;e=(e^h)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|i)){i=d;break g}if(!((d|0)!=(i|0)|e)){i=d;break g}f=(d|0)!=(e|0);if(!(i|f)){i=d;break g}if(!((i|0)<=(j|0)|e)){i=(j<<1)-i|0;d=0;break g}if(!((i|0)>=(j|0)|f)){i=(j<<1)-i|0;break g}if(!((d|0)!=(i|0)|(e|0)>=(j|0))){i=d;d=(j<<1)-e|0;break g}if(i){d=e;break g}i=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}J[k+20>>2]=i;J[k+16>>2]=d;h=J[a+8>>2];h:{if((h|0)<=0){break h}l=(n<<3)+b|0;i=J[a+32>>2];e=0;g=k+24|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];i:{if((m|0)>(h|0)){J[d+j>>2]=h;break i}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break i}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}}f=e<<2;d=f+(k+8|0)|0;g=J[f+l>>2]-J[f+j>>2]|0;J[d>>2]=g;f=d;d=J[a+28>>2];j:{if((g|0)<(d|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break j}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}if((h|0)<=0){break h}i=J[a+32>>2];e=0;g=k+16|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];k:{if((m|0)>(h|0)){J[d+j>>2]=h;break k}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break k}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}d=J[a+28>>2]}g=e<<2;f=g+k|0;g=J[g+l>>2]-J[j+g>>2]|0;J[f>>2]=g;l:{if((d|0)>(g|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break l}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}}f=J[k+8>>2];e=J[a+108>>2];m:{if((f|0)>(e|0)){f=f-J[a+96>>2]|0;break m}if((0-e|0)<=(f|0)){break m}f=J[a+96>>2]+f|0}J[k+8>>2]=f;h=J[k+12>>2];n:{if((e|0)<(h|0)){h=h-J[a+96>>2]|0;break n}if((0-e|0)<=(h|0)){break n}h=J[a+96>>2]+h|0}J[k+12>>2]=h;d=J[k>>2];o:{if((e|0)<(d|0)){d=d-J[a+96>>2]|0;break o}if((0-e|0)<=(d|0)){break o}d=J[a+96>>2]+d|0}g=n<<1;J[k>>2]=d;i=J[k+4>>2];p:{if((e|0)<(i|0)){i=i-J[a+96>>2]|0;break p}if((0-e|0)<=(i|0)){break p}i=J[a+96>>2]+i|0}J[k+4>>2]=i;e=h>>31;e=(e^h)-e|0;l=f>>31;l=(l^f)-l|0;m=l>>>0>(e^2147483647)>>>0?2147483647:e+l|0;e=i>>31;e=(e^i)-e|0;l=d>>31;l=(l^d)-l|0;e=m>>>0>=(l>>>0>(e^2147483647)>>>0?2147483647:e+l|0)>>>0;De(o,e);g=g<<2;d=e?d:f;J[g+c>>2]=(J[a+96>>2]&d>>31)+d;d=e?i:h;J[g+r>>2]=(J[a+96>>2]&d>>31)+d;n=n+1|0;if((q|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function mb(a,b){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=Q(0),p=0,q=0,r=0,s=Q(0);h=fa+-64|0;fa=h;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+48>>2]=1065353216;c=J[a+80>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=pl(f);J[h+16>>2]=k;c=f+k|0;J[h+24>>2]=c;pk(k,0,f);J[h+20>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);g=c;c=c+f|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[h+28>>2]=c;J[h+12>>2]=q;J[h+8>>2]=c;c=0;p=h+8|0;f=L[p+2>>1]^(L[p>>1]^318)+239;b:{c:{m=h+32|0;g=J[m+4>>2];if(!g){break c}d=hm(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}j=L[p>>1];l=L[p+2>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=L[i+8>>1];e:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==L[i+10>>1]}if(!d){continue}break}c=0;break b}c=f&g+131071;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=g-1|0;r=L[p>>1];l=L[p+2>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)&(d&j)!=(c|0)){break c}d=L[i+8>>1];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(l|0)==L[i+10>>1]}if(!d){continue}break}c=0;break b}i=pl(16);J[i+8>>2]=J[p>>2];d=J[p+4>>2];J[i+4>>2]=f;J[i+12>>2]=d;J[i>>2]=0;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/s)));h:{if(o<Q(4294967296)&o>=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);g=J[m+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}l=g>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o<Q(4294967296)&o>=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}sb(m,c)}g=J[m+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0<g>>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[m>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[f>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0<g>>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[h+60|0]=c;J[h+56>>2]=i;q:{if(!K[h+60|0]){J[(n<<2)+k>>2]=J[J[h+56>>2]+12>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,q)|0,h+28|0,c);k=J[h+16>>2];J[k+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;e=n?e:e+1|0;j=J[a+80>>2];if(!e&n>>>0<j>>>0){continue}break}if((j|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){n=e&-4;l=0;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0<j>>>0){rb(e,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=q}hl(k)}b=J[h+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[h+32>>2];J[h+32>>2]=0;if(a){hl(a)}fa=h- -64|0;return q}Ia();C()}function lf(a,b,c,d){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;p=fa-32|0;fa=p;a:{if((c|0)<=0){break a}t=c&3;b:{if(c>>>0<4){c=0;break b}z=c&-4;c=0;while(1){g=(c<<3)+b|0;s=J[g>>2];u=J[g+4>>2];v=c|1;g=(v<<3)+b|0;i=J[g>>2];w=c|2;h=(w<<3)+b|0;m=J[h>>2];x=c|3;j=(x<<3)+b|0;y=J[j>>2];g=J[g+4>>2];h=J[h+4>>2];j=J[j+4>>2];n=j|y?x:h|m?w:g|i?v:s|u?c:n;f=f+u|0;e=e+s|0;f=(e>>>0<s>>>0?f+1|0:f)+g|0;g=e;e=e+i|0;f=(g>>>0>e>>>0?f+1|0:f)+h|0;g=e;e=e+m|0;f=(g>>>0>e>>>0?f+1|0:f)+j|0;g=e;e=e+y|0;f=g>>>0>e>>>0?f+1|0:f;c=c+4|0;l=l+4|0;if((z|0)!=(l|0)){continue}break}}if(!t){break a}while(1){g=(c<<3)+b|0;i=J[g>>2];g=J[g+4>>2];n=i|g?c:n;c=c+1|0;f=f+g|0;e=e+i|0;f=e>>>0<i>>>0?f+1|0:f;o=o+1|0;if((t|0)!=(o|0)){continue}break}}m=n+1|0;J[a+12>>2]=m;c=J[a>>2];g=J[a+4>>2]-c>>3;c:{if(g>>>0<m>>>0){jf(a,m-g|0);break c}if(g>>>0<=m>>>0){break c}J[a+4>>2]=c+(m<<3)}j=0;d:{e:{f:{g:{h:{if((n|0)>=0){k=+(e>>>0)+ +(f>>>0)*4294967296;i=J[a>>2];c=0;while(1){f=c<<3;e=f+b|0;h=J[e>>2];e=J[e+4>>2];g=(h|e)!=0;l=f+i|0;r=(+(h>>>0)+ +(e>>>0)*4294967296)/k*4096+.5;i:{if(r<4294967296&r>=0){e=~~r>>>0;break i}e=0}e=e?e:g?1:e;J[l>>2]=e;j=e+j|0;e=(c|0)==(n|0);c=c+1|0;if(!e){continue}break}if((j|0)==4096){break h}}J[p+16>>2]=0;J[p+8>>2]=0;J[p+12>>2]=0;i=0;j:{if(!m){break j}if(m>>>0>=1073741824){break g}g=m<<2;q=pl(g);J[p+8>>2]=q;l=0;h=pk(q,0,g);c=0;if(n>>>0>=7){f=m&-8;while(1){J[h+(c<<2)>>2]=c;e=c|1;J[h+(e<<2)>>2]=e;e=c|2;J[h+(e<<2)>>2]=e;e=c|3;J[h+(e<<2)>>2]=e;e=c|4;J[h+(e<<2)>>2]=e;e=c|5;J[h+(e<<2)>>2]=e;e=c|6;J[h+(e<<2)>>2]=e;e=c|7;J[h+(e<<2)>>2]=e;c=c+8|0;i=i+8|0;if((f|0)!=(i|0)){continue}break}}i=h+g|0;e=m&7;if(!e){break j}while(1){J[h+(c<<2)>>2]=c;c=c+1|0;l=l+1|0;if((e|0)!=(l|0)){continue}break}}J[p+24>>2]=a;c=i-q|0;e=c>>2;k:{l:{if((c|0)>=513){c=e;while(1){f=pl(c<<2);if(f){break l}f=c>>>0>1;c=c>>>1|0;if(f){continue}break}}nf(q,i,p+24|0,e,0,0);break k}nf(q,i,p+24|0,e,f,c);hl(f)}if((j|0)<4096){c=J[a>>2]+(J[i-4>>2]<<3)|0;J[c>>2]=(J[c>>2]-j|0)+4096;c=0;break f}if((n|0)>0){f=J[a>>2];o=j-4096|0;while(1){r=4096/+(j|0);l=n;while(1){m:{n:{e=f+(J[(l<<2)+q>>2]<<3)|0;c=J[e>>2];if(c>>>0>=2){h=e;i=c;k=V(r*+(c>>>0));o:{if(R(k)<2147483648){g=~~k;break o}g=-2147483648}e=(c|0)==(g|0)?1:c-g|0;c=(c|0)>(e|0)?e:c-1|0;c=(c|0)<(o|0)?c:o;J[h>>2]=i-c;o=o-c|0;j=j-c|0;if((j|0)!=4096){break n}j=4096;break m}if((n|0)!=(l|0)){break m}c=1;break f}c=(l|0)>1;l=l-1|0;if(c){continue}}break}c=0;if((o|0)>0){continue}break}break f}c=0;if(j>>>0<4097){break f}while(1)continue}if((n|0)<0){break d}break e}Ia();C()}e=J[p+8>>2];if(e){hl(e)}if((n|0)<0|c){break d}}h=J[a>>2];j=0;o=0;c=0;if(n>>>0>=3){g=m&-4;q=0;while(1){i=o<<3;f=i+h|0;J[f+4>>2]=c;e=h+(i|8)|0;c=J[f>>2]+c|0;J[e+4>>2]=c;f=h+(i|16)|0;c=c+J[e>>2]|0;J[f+4>>2]=c;e=h+(i|24)|0;c=c+J[f>>2]|0;J[e+4>>2]=c;c=c+J[e>>2]|0;o=o+4|0;q=q+4|0;if((g|0)!=(q|0)){continue}break}}f=m&3;if(f){while(1){e=h+(o<<3)|0;J[e+4>>2]=c;o=o+1|0;c=J[e>>2]+c|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}if((c|0)!=4096){break d}c=0;k=0;p:{if((n|0)<0){break p}h=J[a>>2];if(n){i=m&-2;l=0;while(1){e=c<<3;g=J[e+h>>2];if(g){f=b+e|0;k=(+M[f>>2]+ +M[f+4>>2]*4294967296)*sk(+(g>>>0)*.000244140625)+k}e=(c|1)<<3;g=J[e+h>>2];if(g){f=b+e|0;k=(+M[f>>2]+ +M[f+4>>2]*4294967296)*sk(+(g>>>0)*.000244140625)+k}c=c+2|0;l=l+2|0;if((i|0)!=(l|0)){continue}break}}if(!(m&1)){break p}c=c<<3;e=J[c+h>>2];if(!e){break p}c=b+c|0;k=(+M[c>>2]+ +M[c+4>>2]*4294967296)*sk(+(e>>>0)*.000244140625)+k}k=W(-k);q:{if(k<0x10000000000000000&k>=0){c=~~k>>>0;b=R(k)>=1?~~(k>0?T(V(k*2.3283064365386963e-10),4294967295):W((k-+(~~k>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break q}c=0;b=0}J[a+16>>2]=c;J[a+20>>2]=b;of(a,d)}fa=p+32|0}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=fa-48|0;fa=b;g=J[J[a+4>>2]+48>>2];J[b+8>>2]=J[a+12>>2];c=pl(32);J[b+24>>2]=c;J[b+28>>2]=17;J[b+32>>2]=-2147483616;H[c+16|0]=K[1261];f=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);e=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);e=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+17|0]=0;c=Gb(g,b+8|0,b+24|0,-1);if(H[b+35|0]<0){hl(J[b+24>>2])}J[b+32>>2]=-1;J[b+36>>2]=1065353216;J[b+24>>2]=-1;J[b+28>>2]=-1;J[b+40>>2]=-1;c=-1<<c^-1;a:{if(!(c&1)){break a}c=S(c)^31;if(c-1>>>0>28){break a}J[b+24>>2]=c+1;c=-2<<c;J[b+28>>2]=c^-1;c=c^-2;J[b+32>>2]=c;J[b+40>>2]=c>>1;N[b+36>>2]=Q(2)/Q(c|0)}g=ve(J[a+12>>2],J[a+4>>2]);h=J[J[a+4>>2]+48>>2];J[b+20>>2]=J[a+12>>2];c=pl(32);J[b+8>>2]=c;J[b+12>>2]=17;J[b+16>>2]=-2147483616;H[c+16|0]=K[1529];f=K[1525]|K[1526]<<8|(K[1527]<<16|K[1528]<<24);e=K[1521]|K[1522]<<8|(K[1523]<<16|K[1524]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1517]|K[1518]<<8|(K[1519]<<16|K[1520]<<24);e=K[1513]|K[1514]<<8|(K[1515]<<16|K[1516]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+17|0]=0;c=Gb(h,b+20|0,b+8|0,g);if(H[b+19|0]<0){hl(J[b+8>>2])}b:{c:{d:{switch(c|0){case 6:e=J[a+4>>2];h=J[a+12>>2];a=J[J[J[e+4>>2]+8>>2]+(h<<2)>>2];if((ka[J[J[e>>2]+8>>2]](e)|0)!=1){break c}c=b+24|0;f=fa-32|0;fa=f;i=J[J[J[e+4>>2]+8>>2]+(h<<2)>>2];e:{if((ka[J[J[e>>2]+8>>2]](e)|0)!=1){break e}j=ka[J[J[e>>2]+52>>2]](e)|0;g=ka[J[J[e>>2]+60>>2]](e,h)|0;if(!j|!g){break e}d=ka[J[J[e>>2]+56>>2]](e,h)|0;if(d){e=J[e+56>>2];J[f+20>>2]=d;J[f+16>>2]=e;J[f+28>>2]=g;J[f+24>>2]=g+12;d=pl(128);J[d+4>>2]=i;e=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=e;e=J[c+12>>2];J[d+16>>2]=J[c+8>>2];J[d+20>>2]=e;J[d+24>>2]=J[c+16>>2];c=J[f+20>>2];J[d+28>>2]=J[f+16>>2];J[d+32>>2]=c;c=J[f+28>>2];J[d+36>>2]=J[f+24>>2];J[d+40>>2]=c;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=7532;c=J[f+20>>2];J[d+56>>2]=J[f+16>>2];J[d+60>>2]=c;e=J[f+28>>2];c=d- -64|0;J[c>>2]=J[f+24>>2];J[c+4>>2]=e;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=7792;J[d+96>>2]=0;J[d+100>>2]=0;J[d+120>>2]=0;J[d+124>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0;break e}d=J[e+56>>2];J[f+20>>2]=j;J[f+16>>2]=d;J[f+28>>2]=g;J[f+24>>2]=g+12;d=pl(128);J[d+4>>2]=i;e=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=e;e=J[c+12>>2];J[d+16>>2]=J[c+8>>2];J[d+20>>2]=e;J[d+24>>2]=J[c+16>>2];c=J[f+20>>2];J[d+28>>2]=J[f+16>>2];J[d+32>>2]=c;c=J[f+28>>2];J[d+36>>2]=J[f+24>>2];J[d+40>>2]=c;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=9156;c=J[f+20>>2];J[d+56>>2]=J[f+16>>2];J[d+60>>2]=c;e=J[f+28>>2];c=d- -64|0;J[c>>2]=J[f+24>>2];J[c+4>>2]=e;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=9400;J[d+96>>2]=0;J[d+100>>2]=0;J[d+120>>2]=0;J[d+124>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0}fa=f+32|0;if(!d){break c}break b;case 0:break d;default:break b}}c=J[a+4>>2];a=J[J[J[c+4>>2]+8>>2]+(J[a+12>>2]<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)!=1){break c}ka[J[J[c>>2]+8>>2]](c)|0}d=pl(28);J[d+4>>2]=a;a=J[b+28>>2];J[d+8>>2]=J[b+24>>2];J[d+12>>2]=a;a=J[b+36>>2];J[d+16>>2]=J[b+32>>2];J[d+20>>2]=a;J[d+24>>2]=J[b+40>>2];J[d>>2]=9812}fa=b+48|0;return d|0}function ib(a,b){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=Q(0),p=0,q=0,r=0,s=Q(0);h=fa+-64|0;fa=h;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+48>>2]=1065353216;c=J[a+80>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=pl(f);J[h+16>>2]=k;c=f+k|0;J[h+24>>2]=c;pk(k,0,f);J[h+20>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);g=c;c=c+f|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8;I[h+30>>1]=c;J[h+12>>2]=q;I[h+8>>1]=c;c=0;p=h+8|0;f=K[p+1|0]^(K[p|0]^318)+239;b:{c:{m=h+32|0;g=J[m+4>>2];if(!g){break c}d=hm(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}j=K[p|0];l=K[p+1|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=K[i+8|0];e:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==K[i+9|0]}if(!d){continue}break}c=0;break b}c=f&g+1023;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=g-1|0;r=K[p|0];l=K[p+1|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)&(d&j)!=(c|0)){break c}d=K[i+8|0];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(l|0)==K[i+9|0]}if(!d){continue}break}c=0;break b}i=pl(16);I[i+8>>1]=L[p>>1];d=J[p+4>>2];J[i+4>>2]=f;J[i+12>>2]=d;J[i>>2]=0;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/s)));h:{if(o<Q(4294967296)&o>=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);g=J[m+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}l=g>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o<Q(4294967296)&o>=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}sb(m,c)}g=J[m+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0<g>>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[m>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[f>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0<g>>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[h+60|0]=c;J[h+56>>2]=i;q:{if(!K[h+60|0]){J[(n<<2)+k>>2]=J[J[h+56>>2]+12>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,q)|0,h+30|0,c);k=J[h+16>>2];J[k+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;e=n?e:e+1|0;j=J[a+80>>2];if(!e&n>>>0<j>>>0){continue}break}if((j|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){n=e&-4;l=0;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0<j>>>0){rb(e,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=q}hl(k)}b=J[h+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[h+32>>2];J[h+32>>2]=0;if(a){hl(a)}fa=h- -64|0;return q}Ia();C()}function Re(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0;h=fa-16|0;fa=h;J[h+12>>2]=b;b=pl(32);J[h>>2]=b;J[h+4>>2]=17;J[h+8>>2]=-2147483616;H[b+16|0]=K[1261];g=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);i=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=i;H[b+9|0]=i>>>8;H[b+10|0]=i>>>16;H[b+11|0]=i>>>24;H[b+12|0]=g;H[b+13|0]=g>>>8;H[b+14|0]=g>>>16;H[b+15|0]=g>>>24;g=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);i=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=i;H[b+1|0]=i>>>8;H[b+2|0]=i>>>16;H[b+3|0]=i>>>24;H[b+4|0]=g;H[b+5|0]=g>>>8;H[b+6|0]=g>>>16;H[b+7|0]=g>>>24;H[b+17|0]=0;i=a+4|0;Qe(i,h+12|0,h,c);if(H[h+11|0]<0){hl(J[h>>2])}a=pl(32);J[h>>2]=a;J[h+4>>2]=19;J[h+8>>2]=-2147483616;b=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[a+15|0]=b;H[a+16|0]=b>>>8;H[a+17|0]=b>>>16;H[a+18|0]=b>>>24;b=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);c=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);c=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+19|0]=0;g=fa-48|0;fa=g;j=J[h+12>>2];a=i+16|0;c=J[a>>2];a:{b:{if(!c){break b}b=a;while(1){k=(j|0)>J[c+16>>2];b=k?b:c;c=J[(k?c+4|0:c)>>2];if(c){continue}break}if((a|0)==(b|0)){break b}if((j|0)>=J[b+16>>2]){break a}}J[g+28>>2]=0;J[g+32>>2]=0;c=g+24|0;J[g+24>>2]=c|4;a=g+16|0;J[a>>2]=0;J[a+4>>2]=0;J[g+8>>2]=j;J[g+12>>2]=a;a=g+8|0;Me(g+40|0,i+12|0,a,a);b=J[g+40>>2];Mc(a|4,J[g+16>>2]);Mc(c,J[g+28>>2])}b=b+20|0;a=fa-48|0;fa=a;J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;c:{if((d|0)<=0){break c}xl(a,N[e>>2]);c=K[a+11|0];j=c<<24>>24<0;ul(a+16|0,j?J[a>>2]:a,j?J[a+4>>2]:c);if(H[a+11|0]<0){hl(J[a>>2])}c=1;if((d|0)==1){break c}while(1){j=a+16|0;ul(j,2030,xk(2030));xl(a,N[(c<<2)+e>>2]);l=j;j=K[a+11|0];k=j<<24>>24<0;ul(l,k?J[a>>2]:a,k?J[a+4>>2]:j);if(H[a+11|0]<0){hl(J[a>>2])}c=c+1|0;if((d|0)!=(c|0)){continue}break}}J[a+40>>2]=h;Ze(a,b,h,a+40|0);d=J[a>>2];b=d+28|0;d:{if((b|0)==(a+16|0)){break d}e=K[a+27|0];c=e<<24>>24;if(H[d+39|0]>=0){if((c|0)>=0){c=J[a+20>>2];J[b>>2]=J[a+16>>2];J[b+4>>2]=c;J[b+8>>2]=J[a+24>>2];break d}wl(b,J[a+16>>2],J[a+20>>2]);break d}d=b;b=(c|0)<0;vl(d,b?J[a+16>>2]:a+16|0,b?J[a+20>>2]:e)}if(H[a+27|0]<0){hl(J[a+16>>2])}fa=a+48|0;fa=g+48|0;if(H[h+11|0]<0){hl(J[h>>2])}a=pl(32);J[h>>2]=a;J[h+4>>2]=18;J[h+8>>2]=-2147483616;b=K[1547]|K[1548]<<8;H[a+16|0]=b;H[a+17|0]=b>>>8;b=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);c=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);c=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+18|0]=0;b=fa-48|0;fa=b;c=J[h+12>>2];a=i+16|0;e=J[a>>2];e:{f:{if(!e){break f}d=a;while(1){g=(c|0)>J[e+16>>2];d=g?d:e;e=J[(g?e+4|0:e)>>2];if(e){continue}break}if((a|0)==(d|0)){break f}if((c|0)>=J[d+16>>2]){break e}}J[b+28>>2]=0;J[b+32>>2]=0;e=b+24|0;J[b+24>>2]=e|4;a=b+16|0;J[a>>2]=0;J[a+4>>2]=0;J[b+8>>2]=c;J[b+12>>2]=a;a=b+8|0;Me(b+40|0,i+12|0,a,a);d=J[b+40>>2];Mc(a|4,J[b+16>>2]);Mc(e,J[b+28>>2])}a=fa-48|0;fa=a;xl(a+8|0,f);J[a+32>>2]=h;Ze(a+40|0,d+20|0,h,a+32|0);c=J[a+40>>2];if(H[c+39|0]<0){hl(J[c+28>>2])}d=J[a+12>>2];J[c+28>>2]=J[a+8>>2];J[c+32>>2]=d;J[c+36>>2]=J[a+16>>2];fa=a+48|0;fa=b+48|0;if(H[h+11|0]<0){hl(J[h>>2])}fa=h+16|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0);f=fa-32|0;fa=f;J[f+28>>2]=c;a:{if(!Ic(a,b,c)){break a}i=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];if(J[i+28>>2]!=9){break a}g=J[b+48>>2];c=pl(32);J[f+16>>2]=c;J[f+20>>2]=17;J[f+24>>2]=-2147483616;H[c+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);h=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[c+8|0]=h;H[c+9|0]=h>>>8;H[c+10|0]=h>>>16;H[c+11|0]=h>>>24;H[c+12|0]=e;H[c+13|0]=e>>>8;H[c+14|0]=e>>>16;H[c+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);h=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[c|0]=h;H[c+1|0]=h>>>8;H[c+2|0]=h>>>16;H[c+3|0]=h>>>24;H[c+4|0]=e;H[c+5|0]=e>>>8;H[c+6|0]=e>>>16;H[c+7|0]=e>>>24;H[c+17|0]=0;h=Gb(g,f+28|0,f+16|0,-1);if(H[f+27|0]<0){hl(J[f+16>>2])}if((h|0)<=0){break a}j=J[b+48>>2];c=pl(32);J[f+16>>2]=c;J[f+20>>2]=19;J[f+24>>2]=-2147483616;e=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[c+15|0]=e;H[c+16|0]=e>>>8;H[c+17|0]=e>>>16;H[c+18|0]=e>>>24;e=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);g=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[c+8|0]=g;H[c+9|0]=g>>>8;H[c+10|0]=g>>>16;H[c+11|0]=g>>>24;H[c+12|0]=e;H[c+13|0]=e>>>8;H[c+14|0]=e>>>16;H[c+15|0]=e>>>24;e=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);g=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[c|0]=g;H[c+1|0]=g>>>8;H[c+2|0]=g>>>16;H[c+3|0]=g>>>24;H[c+4|0]=e;H[c+5|0]=e>>>8;H[c+6|0]=e>>>16;H[c+7|0]=e>>>24;H[c+19|0]=0;b:{if(!Hb(j,f+28|0,f+16|0)){break b}g=J[b+48>>2];c=pl(32);J[f>>2]=c;J[f+4>>2]=18;J[f+8>>2]=-2147483616;d=K[1547]|K[1548]<<8;H[c+16|0]=d;H[c+17|0]=d>>>8;d=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);e=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);e=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+18|0]=0;d=Hb(g,f+28|0,f);if(H[f+11|0]>=0){break b}hl(J[f>>2])}if(H[f+27|0]<0){hl(J[f+16>>2])}c:{if(d){c=0;d=K[i+24|0];if(d){d=d<<2;c=pl(d);pk(c,0,d)}j=J[b+48>>2];d=pl(32);J[f+16>>2]=d;J[f+20>>2]=19;J[f+24>>2]=-2147483616;e=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[d+15|0]=e;H[d+16|0]=e>>>8;H[d+17|0]=e>>>16;H[d+18|0]=e>>>24;e=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);g=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[d+8|0]=g;H[d+9|0]=g>>>8;H[d+10|0]=g>>>16;H[d+11|0]=g>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);g=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[d|0]=g;H[d+1|0]=g>>>8;H[d+2|0]=g>>>16;H[d+3|0]=g>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;H[d+19|0]=0;Ib(j,f+28|0,f+16|0,K[i+24|0],c);if(H[f+27|0]<0){hl(J[f+16>>2])}g=J[b+48>>2];b=pl(32);J[f+16>>2]=b;J[f+20>>2]=18;J[f+24>>2]=-2147483616;d=K[1547]|K[1548]<<8;H[b+16|0]=d;H[b+17|0]=d>>>8;d=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);e=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);e=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;H[b+18|0]=0;k=Jb(g,f+28|0,f+16|0);if(H[f+27|0]<0){hl(J[f+16>>2])}a=Pa(a+40|0,h,c,K[i+24|0],k);if(c){hl(c)}d=0;if(a){break c}break a}d=0;if(!Ra(a+40|0,i,h)){break a}}d=1}fa=f+32|0;return d|0}function kh(a,b){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;k=fa-32|0;fa=k;c=J[a+16>>2];J[a+20>>2]=c;a:{b:{c:{d:{e:{f:{g:{if((c|0)!=J[a+24>>2]){J[c>>2]=b;b=c+4|0;J[a+20>>2]=b;d=c;break g}d=pl(4);J[d>>2]=b;b=d+4|0;J[a+24>>2]=b;J[a+20>>2]=b;J[a+16>>2]=d;if(c){break f}}c=J[a+8>>2];c=J[c+100>>2]-J[c+96>>2]|0;break e}hl(c);b=J[a+20>>2];d=J[a+16>>2];if((b|0)==(d|0)){break d}c=J[a+8>>2];c=J[c+100>>2]-J[c+96>>2]|0}if((c|0)>0){r=a+120|0;m=a+200|0;c=(c|0)/12|0;s=(c|0)<=1?1:c;while(1){h:{i:{d=b-4|0;b=J[d>>2];if((b|0)==-1){break i}c=(b>>>0)/3|0;if(J[J[a+28>>2]+(c>>>3&268435452)>>2]>>>c&1){break i}n=0;while(1){J[a+164>>2]=J[a+164>>2]+1;e=b;h=(b>>>0)/3|0;g=(b|0)==-1;o=g?-1:h;b=J[a+28>>2]+(o>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<<o;b=J[a+76>>2];j:{if((b|0)!=J[a+80>>2]){J[b>>2]=e;J[a+76>>2]=b+4;break j}j=J[a+72>>2];l=b-j|0;d=l>>2;i=d+1|0;if(i>>>0>1073741823){break c}c=l>>>1|0;i=l>>>0>=2147483644?1073741823:c>>>0>i>>>0?c:i;if(i){if(i>>>0>1073741823){break a}c=pl(i<<2)}else{c=0}f=c+(d<<2)|0;J[f>>2]=e;d=f+4|0;if((b|0)!=(j|0)){while(1){f=f-4|0;b=b-4|0;J[f>>2]=J[b>>2];if((b|0)!=(j|0)){continue}break}}J[a+80>>2]=c+(i<<2);J[a+76>>2]=d;J[a+72>>2]=f;if(!j){break j}hl(j)}J[a+320>>2]=e;b=-1;f=J[a+12>>2];b=(e|0)!=-1?J[J[f>>2]+(e<<2)>>2]:b;i=b<<2;q=J[i+J[a+152>>2]>>2];k:{l:{d=J[a+84>>2]+(b>>>3&536870908)|0;c=J[d>>2];b=1<<b;if(!(c&b)){J[d>>2]=b|c;if((q|0)==-1){break l}}m:{if(g){break m}b=-1;c=e+1|0;g=(c>>>0)%3|0?c:e-2|0;if((g|0)!=-1){b=J[J[f+12>>2]+(g<<2)>>2]}j=e-P(h,3)|0;n:{o:{if(j){d=e-1|0;break o}d=e+2|0;c=-1;if((d|0)==-1){break n}}c=J[J[f+12>>2]+(d<<2)>>2]}p=(c|0)==-1;l=p?-1:(c>>>0)/3|0;p:{if((g|0)==-1){break p}h=J[f+12>>2];d=J[h+(g<<2)>>2];if((d|0)==-1){break p}g=J[a+28>>2];d=(d>>>0)/3|0;if(J[g+(d>>>3&268435452)>>2]>>>d&1){break p}q:{r:{if(j){f=e-1|0;break r}f=e+2|0;if((f|0)==-1){break q}}d=J[(f<<2)+h>>2];if((d|0)==-1){break q}d=(d>>>0)/3|0;if(J[g+(d>>>3&268435452)>>2]>>>d&1){break q}mh(m,1);J[a+168>>2]=J[a+168>>2]+1;s:{if((q|0)==-1){break s}d=J[J[a+152>>2]+i>>2];if(J[J[a+140>>2]+(d>>>3&536870908)>>2]>>>d&1){break s}Yg(a,e,0)}e=J[a+164>>2];J[k+4>>2]=o;d=k+4|0;J[k+16>>2]=d;ch(k+24|0,r,d,k+16|0);J[J[k+24>>2]+12>>2]=e;f=J[a+20>>2];J[f-4>>2]=c;if(J[a+24>>2]!=(f|0)){J[f>>2]=b;J[a+20>>2]=f+4;break h}h=J[a+16>>2];g=f-h|0;d=g>>2;e=d+1|0;if(e>>>0>1073741823){break b}c=g>>>1|0;e=g>>>0>=2147483644?1073741823:c>>>0>e>>>0?c:e;if(e){if(e>>>0>1073741823){break a}c=pl(e<<2)}else{c=0}d=c+(d<<2)|0;J[d>>2]=b;b=d+4|0;if((f|0)!=(h|0)){while(1){d=d-4|0;f=f-4|0;J[d>>2]=J[f>>2];if((f|0)!=(h|0)){continue}break}}J[a+24>>2]=c+(e<<2);J[a+20>>2]=b;J[a+16>>2]=d;if(!h){break h}hl(h);break h}if(!p){dh(a,J[a+164>>2],0,l)}mh(m,3);break k}d=(b|0)==-1;if(!d){dh(a,J[a+164>>2],1,d?-1:(b>>>0)/3|0)}t:{u:{if(j){b=e-1|0;break u}b=e+2|0;if((b|0)==-1){break t}}b=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break t}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break t}mh(m,5);b=c;break k}if(p){break m}dh(a,J[a+164>>2],0,l)}mh(m,7);J[a+20>>2]=J[a+20>>2]-4;break h}mh(m,0);b=-1;if((e|0)==-1){break k}c=e+1|0;c=(c>>>0)%3|0?c:e-2|0;if((c|0)==-1){break k}b=J[J[J[a+12>>2]+12>>2]+(c<<2)>>2]}n=n+1|0;if((s|0)!=(n|0)){continue}break}break h}J[a+20>>2]=d}b=J[a+20>>2];if((b|0)!=J[a+16>>2]){continue}break}break d}g=J[a+28>>2];while(1){c=b-4|0;e=J[c>>2];v:{if((e|0)!=-1){e=(e>>>0)/3|0;if(!(J[g+(e>>>3&268435452)>>2]>>>e&1)){break v}}J[a+20>>2]=c;b=c}if((b|0)!=(d|0)){continue}break}}fa=k+32|0;return 1}Ia();C()}Ia();C()}Ya();C()}function lb(a,b){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=Q(0),p=0,q=0,r=Q(0);g=fa+-64|0;fa=g;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+48>>2]=1065353216;c=J[a+80>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;j=pl(e);J[g+16>>2]=j;c=e+j|0;J[g+24>>2]=c;pk(j,0,e);J[g+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],m,0);f=c;c=c+e|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8;I[g+30>>1]=c;J[g+12>>2]=p;I[g+8>>1]=c;c=0;q=g+8|0;n=L[q>>1];e=n^318;b:{c:{k=g+32|0;f=J[k+4>>2];if(!f){break c}d=hm(f);d:{if(d>>>0>=2){c=e;if(f>>>0<=c>>>0){c=(e>>>0)%(f>>>0)|0}h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<=1){break d}while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(e|0)){if(d>>>0>=f>>>0){d=(d>>>0)%(f>>>0)|0}if((c|0)!=(d|0)){break c}}if(L[h+8>>1]!=(n|0)){continue}break}c=0;break b}c=e&f-1;h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}}l=f-1|0;while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((e|0)!=(d|0)&(d&l)!=(c|0)){break c}if(L[h+8>>1]!=(n|0)){continue}break}c=0;break b}h=pl(16);I[h+8>>1]=L[q>>1];d=J[q+4>>2];J[h+4>>2]=e;J[h+12>>2]=d;J[h>>2]=0;o=Q(J[k+12>>2]+1>>>0);r=N[k+16>>2];e:{if(o>Q(r*Q(f>>>0))?0:f){break e}c=2;d=(f-1&f)!=0|f>>>0<3|f<<1;o=Q(W(Q(o/r)));f:{if(o<Q(4294967296)&o>=Q(0)){l=~~o>>>0;break f}l=0}d=d>>>0>l>>>0?d:l;g:{if((d|0)==1){break g}if(!(d&d-1)){c=d;break g}c=dl(d);f=J[k+4>>2]}h:{if(c>>>0<=f>>>0){if(c>>>0>=f>>>0){break h}l=f>>>0<3;o=Q(W(Q(Q(M[k+12>>2])/N[k+16>>2])));i:{if(o<Q(4294967296)&o>=Q(0)){d=~~o>>>0;break i}d=0}j:{k:{if(l){break k}if(hm(f)>>>0>1){break k}d=d>>>0<2?d:1<<32-S(d-1|0);break j}d=dl(d)}c=c>>>0>d>>>0?c:d;if(f>>>0<=c>>>0){break h}}sb(k,c)}f=J[k+4>>2];c=f-1|0;if(!(c&f)){c=c&e;break e}if(e>>>0<f>>>0){c=e;break e}c=(e>>>0)%(f>>>0)|0}e=J[k>>2]+(c<<2)|0;c=J[e>>2];l:{m:{if(!c){c=k+8|0;J[h>>2]=J[c>>2];J[k+8>>2]=h;J[e>>2]=c;c=J[h>>2];if(!c){break l}c=J[c+4>>2];e=f-1|0;n:{if(!(e&f)){c=c&e;break n}if(c>>>0<f>>>0){break n}c=(c>>>0)%(f>>>0)|0}c=J[k>>2]+(c<<2)|0;break m}J[h>>2]=J[c>>2]}J[c>>2]=h}J[k+12>>2]=J[k+12>>2]+1;c=1}H[g+60|0]=c;J[g+56>>2]=h;o:{if(!K[g+60|0]){J[(m<<2)+j>>2]=J[J[g+56>>2]+12>>2];break o}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,g+30|0,c);j=J[g+16>>2];J[j+(m<<2)>>2]=p;p=p+1|0}m=m+1|0;i=m?i:i+1|0;c=J[a+80>>2];if(!i&m>>>0<c>>>0){continue}break}if((c|0)!=(p|0)){p:{if(!K[a+84|0]){b=J[a+72>>2];d=J[a+68>>2];if((b|0)==(d|0)){break p}b=b-d>>2;c=b>>>0<=1?1:b;m=c&3;n=0;b=0;if(c-1>>>0>=3){i=c&-4;l=0;while(1){e=b<<2;c=e+d|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|4)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|8)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|12)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+4|0;l=l+4|0;if((i|0)!=(l|0)){continue}break}}if(!m){break p}while(1){c=d+(b<<2)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+1|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}break p}H[a+84|0]=0;m=a+68|0;b=J[a+68>>2];i=J[a+72>>2]-b>>2;q:{if(i>>>0<c>>>0){rb(m,c-i|0,2184);c=J[a+80>>2];break q}if(c>>>0>=i>>>0){break q}J[a+72>>2]=b+(c<<2)}if(!c){break p}d=J[m>>2];n=0;b=0;if(c>>>0>=4){m=c&-4;l=0;while(1){e=b<<2;J[e+d>>2]=J[e+j>>2];i=e|4;J[i+d>>2]=J[j+i>>2];i=e|8;J[i+d>>2]=J[j+i>>2];i=e|12;J[i+d>>2]=J[j+i>>2];b=b+4|0;l=l+4|0;if((m|0)!=(l|0)){continue}break}}i=c&3;if(!i){break p}while(1){c=b<<2;J[c+d>>2]=J[c+j>>2];b=b+1|0;n=n+1|0;if((i|0)!=(n|0)){continue}break}}J[a+80>>2]=p}hl(j)}b=J[g+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[g+32>>2];J[g+32>>2]=0;if(a){hl(a)}fa=g- -64|0;return p}Ia();C()}function vd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,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;J[a+8>>2]=e;q=a+32|0;f=J[q>>2];h=J[a+36>>2]-f>>2;a:{if(h>>>0<e>>>0){La(q,e-h|0);break a}if(e>>>0>=h>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){h=g;break c}f=1;h=d-1|0;l=h&1;d:{if((d|0)==2){h=g;break d}o=h&-2;d=0;h=g;while(1){i=(f<<2)+b|0;p=J[i+4>>2];k=J[i>>2];j=(k|0)<(h|0);h=j?k:h;i=(h|0)>(p|0);h=i?p:h;g=j?g:(g|0)<(k|0)?k:g;g=i?g:(g|0)<(p|0)?p:g;f=f+2|0;d=d+2|0;if((o|0)!=(d|0)){continue}break}}if(!l){break c}f=J[(f<<2)+b>>2];d=(f|0)<(h|0);h=d?f:h;g=d?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=h;f=(g>>31)-((h>>31)+(g>>>0<h>>>0)|0)|0;d=g-h|0;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}s=e<<2;d=e>>>0>1073741823?-1:s;h=pk(pl(d),0,d);d=J[a+56>>2];t=J[d>>2];d=J[d+4>>2]-t|0;if((d|0)>=5){w=J[a+52>>2];u=J[a+48>>2];x=e&-2;y=e&1;v=d>>2;l=v;while(1){o=l;e:{f:{l=l-1|0;if(v>>>0>l>>>0){p=P(e,l);d=J[(l<<2)+t>>2];if((d|0)==-1){break f}g=J[J[u+12>>2]+(d<<2)>>2];if((g|0)==-1){break f}j=J[w>>2];k=J[u>>2];i=J[j+(J[k+(g<<2)>>2]<<2)>>2];d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;if((d|0)!=-1){f=J[k+(d<<2)>>2]}else{f=-1}g:{h:{if((g>>>0)%3|0){g=g-1|0;break h}g=g+2|0;d=-1;if((g|0)==-1){break g}}d=J[k+(g<<2)>>2]}if((i|0)>=(l|0)){break f}f=J[(f<<2)+j>>2];if((f|0)>=(l|0)){break f}d=J[j+(d<<2)>>2];if((d|0)>=(l|0)){break f}i:{if((e|0)<=0){break i}k=P(d,e);j=P(e,f);i=P(e,i);g=0;d=0;if((e|0)!=1){while(1){J[h+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+j<<2)+b>>2]|0)-J[(g+i<<2)+b>>2];f=g|1;J[h+(f<<2)>>2]=(J[(f+k<<2)+b>>2]+J[(f+j<<2)+b>>2]|0)-J[(f+i<<2)+b>>2];g=g+2|0;d=d+2|0;if((x|0)!=(d|0)){continue}break}}if(!y){break i}J[h+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+j<<2)+b>>2]|0)-J[(g+i<<2)+b>>2]}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;p=d+c|0;k=b+d|0;i=J[q>>2];m=0;d=h;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];j:{if((r|0)>(j|0)){J[f+n>>2]=j;break j}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break j}J[n>>2]=r}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}g=m<<2;d=g+p|0;g=J[g+k>>2]-J[f+g>>2]|0;J[d>>2]=g;k:{if((g|0)<J[a+28>>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break k}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}break e}Xc();C()}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;p=d+c|0;k=b+d|0;d=(P(o-2|0,e)<<2)+b|0;i=J[q>>2];m=0;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];l:{if((r|0)>(j|0)){J[f+n>>2]=j;break l}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break l}J[n>>2]=r}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}g=m<<2;d=g+p|0;g=J[g+k>>2]-J[f+g>>2]|0;J[d>>2]=g;m:{if((g|0)<J[a+28>>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break m}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}}if((o|0)>2){continue}break}}if((e|0)>0){pk(h,0,s)}g=J[a+8>>2];if((g|0)>0){e=J[a+32>>2];m=0;d=h;while(1){f=e;if((g|0)>0){f=J[q>>2];g=0;while(1){o=g<<2;l=J[o+d>>2];i=J[a+16>>2];n:{if((l|0)>(i|0)){J[f+o>>2]=i;break n}o=f+o|0;i=J[a+12>>2];if((i|0)>(l|0)){J[o>>2]=i;break n}J[o>>2]=l}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}g=m<<2;d=g+c|0;g=J[b+g>>2]-J[f+g>>2]|0;J[d>>2]=g;o:{if((g|0)<J[a+28>>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break o}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}}hl(h);return 1}function hb(a,b){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=Q(0),p=0,q=0,r=Q(0);g=fa+-64|0;fa=g;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+48>>2]=1065353216;c=J[a+80>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;j=pl(e);J[g+16>>2]=j;c=e+j|0;J[g+24>>2]=c;pk(j,0,e);J[g+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],m,0);f=c;c=c+e|0;c=K[c+d|0];H[g+31|0]=c;J[g+12>>2]=p;H[g+8|0]=c;c=0;q=g+8|0;n=K[q|0];e=n^318;b:{c:{k=g+32|0;f=J[k+4>>2];if(!f){break c}d=hm(f);d:{if(d>>>0>=2){c=e;if(f>>>0<=c>>>0){c=(e>>>0)%(f>>>0)|0}h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<=1){break d}while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(e|0)){if(d>>>0>=f>>>0){d=(d>>>0)%(f>>>0)|0}if((c|0)!=(d|0)){break c}}if(K[h+8|0]!=(n|0)){continue}break}c=0;break b}c=e&f-1;h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}}l=f-1|0;while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((e|0)!=(d|0)&(d&l)!=(c|0)){break c}if(K[h+8|0]!=(n|0)){continue}break}c=0;break b}h=pl(16);H[h+8|0]=K[q|0];d=J[q+4>>2];J[h+4>>2]=e;J[h+12>>2]=d;J[h>>2]=0;o=Q(J[k+12>>2]+1>>>0);r=N[k+16>>2];e:{if(o>Q(r*Q(f>>>0))?0:f){break e}c=2;d=(f-1&f)!=0|f>>>0<3|f<<1;o=Q(W(Q(o/r)));f:{if(o<Q(4294967296)&o>=Q(0)){l=~~o>>>0;break f}l=0}d=d>>>0>l>>>0?d:l;g:{if((d|0)==1){break g}if(!(d&d-1)){c=d;break g}c=dl(d);f=J[k+4>>2]}h:{if(c>>>0<=f>>>0){if(c>>>0>=f>>>0){break h}l=f>>>0<3;o=Q(W(Q(Q(M[k+12>>2])/N[k+16>>2])));i:{if(o<Q(4294967296)&o>=Q(0)){d=~~o>>>0;break i}d=0}j:{k:{if(l){break k}if(hm(f)>>>0>1){break k}d=d>>>0<2?d:1<<32-S(d-1|0);break j}d=dl(d)}c=c>>>0>d>>>0?c:d;if(f>>>0<=c>>>0){break h}}sb(k,c)}f=J[k+4>>2];c=f-1|0;if(!(c&f)){c=c&e;break e}if(e>>>0<f>>>0){c=e;break e}c=(e>>>0)%(f>>>0)|0}e=J[k>>2]+(c<<2)|0;c=J[e>>2];l:{m:{if(!c){c=k+8|0;J[h>>2]=J[c>>2];J[k+8>>2]=h;J[e>>2]=c;c=J[h>>2];if(!c){break l}c=J[c+4>>2];e=f-1|0;n:{if(!(e&f)){c=c&e;break n}if(c>>>0<f>>>0){break n}c=(c>>>0)%(f>>>0)|0}c=J[k>>2]+(c<<2)|0;break m}J[h>>2]=J[c>>2]}J[c>>2]=h}J[k+12>>2]=J[k+12>>2]+1;c=1}H[g+60|0]=c;J[g+56>>2]=h;o:{if(!K[g+60|0]){J[(m<<2)+j>>2]=J[J[g+56>>2]+12>>2];break o}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,g+31|0,c);j=J[g+16>>2];J[j+(m<<2)>>2]=p;p=p+1|0}m=m+1|0;i=m?i:i+1|0;c=J[a+80>>2];if(!i&m>>>0<c>>>0){continue}break}if((c|0)!=(p|0)){p:{if(!K[a+84|0]){b=J[a+72>>2];d=J[a+68>>2];if((b|0)==(d|0)){break p}b=b-d>>2;c=b>>>0<=1?1:b;m=c&3;n=0;b=0;if(c-1>>>0>=3){i=c&-4;l=0;while(1){e=b<<2;c=e+d|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|4)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|8)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|12)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+4|0;l=l+4|0;if((i|0)!=(l|0)){continue}break}}if(!m){break p}while(1){c=d+(b<<2)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+1|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}break p}H[a+84|0]=0;m=a+68|0;b=J[a+68>>2];i=J[a+72>>2]-b>>2;q:{if(i>>>0<c>>>0){rb(m,c-i|0,2184);c=J[a+80>>2];break q}if(c>>>0>=i>>>0){break q}J[a+72>>2]=b+(c<<2)}if(!c){break p}d=J[m>>2];n=0;b=0;if(c>>>0>=4){m=c&-4;l=0;while(1){e=b<<2;J[e+d>>2]=J[e+j>>2];i=e|4;J[i+d>>2]=J[j+i>>2];i=e|8;J[i+d>>2]=J[j+i>>2];i=e|12;J[i+d>>2]=J[j+i>>2];b=b+4|0;l=l+4|0;if((m|0)!=(l|0)){continue}break}}i=c&3;if(!i){break p}while(1){c=b<<2;J[c+d>>2]=J[c+j>>2];b=b+1|0;n=n+1|0;if((i|0)!=(n|0)){continue}break}}J[a+80>>2]=p}hl(j)}b=J[g+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[g+32>>2];J[g+32>>2]=0;if(a){hl(a)}fa=g- -64|0;return p}Ia();C()}function Wc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,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;J[a+8>>2]=e;q=a+32|0;f=J[q>>2];h=J[a+36>>2]-f>>2;a:{if(h>>>0<e>>>0){La(q,e-h|0);break a}if(e>>>0>=h>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){h=g;break c}f=1;h=d-1|0;l=h&1;d:{if((d|0)==2){h=g;break d}o=h&-2;d=0;h=g;while(1){i=(f<<2)+b|0;m=J[i+4>>2];p=J[i>>2];j=(p|0)<(h|0);h=j?p:h;i=(h|0)>(m|0);h=i?m:h;g=j?g:(g|0)<(p|0)?p:g;g=i?g:(g|0)<(m|0)?m:g;f=f+2|0;d=d+2|0;if((o|0)!=(d|0)){continue}break}}if(!l){break c}f=J[(f<<2)+b>>2];d=(f|0)<(h|0);h=d?f:h;g=d?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=h;f=(g>>31)-((h>>31)+(g>>>0<h>>>0)|0)|0;d=g-h|0;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}t=e<<2;d=e>>>0>1073741823?-1:t;h=pk(pl(d),0,d);d=J[a+56>>2];u=J[d>>2];d=J[d+4>>2]-u|0;if((d|0)>=5){w=J[a+52>>2];s=J[a+48>>2];x=e&-2;y=e&1;v=d>>2;l=v;while(1){o=l;e:{f:{l=l-1|0;if(v>>>0>l>>>0){p=P(e,l);d=J[(l<<2)+u>>2];if((d|0)==-1|J[J[s>>2]+(d>>>3&536870908)>>2]>>>d&1){break f}m=J[J[J[s+64>>2]+12>>2]+(d<<2)>>2];if((m|0)==-1){break f}i=J[w>>2];j=J[s+28>>2];g=J[i+(J[j+(m<<2)>>2]<<2)>>2];if((g|0)>=(l|0)){break f}d=m+1|0;f=J[i+(J[j+(((d>>>0)%3|0?d:m-2|0)<<2)>>2]<<2)>>2];if((f|0)>=(l|0)){break f}d=J[i+(J[j+(m+((m>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((d|0)>=(l|0)){break f}g:{if((e|0)<=0){break g}j=P(d,e);i=P(e,f);f=P(e,g);g=0;k=0;if((e|0)!=1){while(1){J[h+(g<<2)>>2]=(J[(g+j<<2)+b>>2]+J[(g+i<<2)+b>>2]|0)-J[(f+g<<2)+b>>2];d=g|1;J[h+(d<<2)>>2]=(J[(d+j<<2)+b>>2]+J[(d+i<<2)+b>>2]|0)-J[(d+f<<2)+b>>2];g=g+2|0;k=k+2|0;if((x|0)!=(k|0)){continue}break}}if(!y){break g}J[h+(g<<2)>>2]=(J[(g+j<<2)+b>>2]+J[(g+i<<2)+b>>2]|0)-J[(f+g<<2)+b>>2]}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;m=d+c|0;p=b+d|0;i=J[q>>2];k=0;d=h;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];h:{if((r|0)>(j|0)){J[f+n>>2]=j;break h}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break h}J[n>>2]=r}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}g=k<<2;d=g+m|0;g=J[g+p>>2]-J[f+g>>2]|0;J[d>>2]=g;i:{if((g|0)<J[a+28>>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break i}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}break e}Xc();C()}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;m=d+c|0;p=b+d|0;d=(P(o-2|0,e)<<2)+b|0;i=J[q>>2];k=0;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];j:{if((r|0)>(j|0)){J[f+n>>2]=j;break j}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break j}J[n>>2]=r}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}g=k<<2;d=g+m|0;g=J[g+p>>2]-J[f+g>>2]|0;J[d>>2]=g;k:{if((g|0)<J[a+28>>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break k}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}}if((o|0)>2){continue}break}}if((e|0)>0){pk(h,0,t)}g=J[a+8>>2];if((g|0)>0){e=J[a+32>>2];k=0;d=h;while(1){f=e;if((g|0)>0){f=J[q>>2];g=0;while(1){o=g<<2;l=J[o+d>>2];i=J[a+16>>2];l:{if((l|0)>(i|0)){J[f+o>>2]=i;break l}o=f+o|0;i=J[a+12>>2];if((i|0)>(l|0)){J[o>>2]=i;break l}J[o>>2]=l}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}g=k<<2;d=g+c|0;g=J[b+g>>2]-J[f+g>>2]|0;J[d>>2]=g;m:{if((g|0)<J[a+28>>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break m}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}}hl(h);return 1}function Na(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(J[c>>2]==J[c+4>>2]){m=J[d+80>>2];u=fa-16|0;fa=u;g=J[a+4>>2];k=K[b+24|0];h=J[d+48>>2];n=J[J[d>>2]>>2];c=u+8|0;J[c>>2]=1065353216;d=c;N[c>>2]=Q(-1<<g^-1)/N[a+20>>2];c=pl(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=N[d>>2];n=J[a+8>>2];v=J[b>>2];d=J[b+48>>2];g=J[b+40>>2];w=J[b+44>>2];if(!K[b+84|0]){f=J[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=J[v>>2];l=em(g,w,J[f+(i<<2)>>2],0)+d|0;h=nk(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));b:{if(Q(R(e))<Q(2147483648)){r=~~e;break b}r=-2147483648}J[l>>2]=r;j=j|4;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));c:{if(Q(R(e))<Q(2147483648)){j=~~e;break c}j=-2147483648}J[l+4>>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+h>>2]-N[b+n>>2]))+Q(.5))));d:{if(Q(R(e))<Q(2147483648)){b=~~e;break d}b=-2147483648}J[l>>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=J[v>>2];h=em(g,w,i,l)+d|0;j=nk(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));e:{if(Q(R(e))<Q(2147483648)){r=~~e;break e}r=-2147483648}J[h>>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));f:{if(Q(R(e))<Q(2147483648)){f=~~e;break f}f=-2147483648}J[h+4>>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+j>>2]-N[b+n>>2]))+Q(.5))));g:{if(Q(R(e))<Q(2147483648)){b=~~e;break g}b=-2147483648}J[h>>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}hl(c);fa=u+16|0;return 1}j=fa-16|0;fa=j;m=J[a+4>>2];i=K[b+24|0];g=J[d+48>>2];h=J[J[d>>2]>>2];d=j+8|0;J[d>>2]=1065353216;l=d;N[d>>2]=Q(-1<<m^-1)/N[a+20>>2];d=pl(i<<2);m=J[c+4>>2];q=J[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=N[l>>2];h=J[a+8>>2];v=J[b>>2];l=J[b+48>>2];m=J[b+40>>2];w=J[b+44>>2];if(K[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=J[v>>2];g=em(m,w,J[q+(c<<2)>>2],0)+l|0;p=nk(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));i:{if(Q(R(e))<Q(2147483648)){r=~~e;break i}r=-2147483648}J[g>>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));j:{if(Q(R(e))<Q(2147483648)){f=~~e;break j}f=-2147483648}J[g+4>>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));k:{if(Q(R(e))<Q(2147483648)){b=~~e;break k}b=-2147483648}J[g>>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=J[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=J[v>>2];g=em(m,w,J[s+(J[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=nk(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));l:{if(Q(R(e))<Q(2147483648)){r=~~e;break l}r=-2147483648}J[g>>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));m:{if(Q(R(e))<Q(2147483648)){f=~~e;break m}f=-2147483648}J[g+4>>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));n:{if(Q(R(e))<Q(2147483648)){b=~~e;break n}b=-2147483648}J[g>>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}hl(d);fa=j+16|0;return 1}function kk(a){a=a|0;var 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=Q(0);c=1;a:{if(!J[a+80>>2]){break a}f=J[a+8>>2];if((J[a+12>>2]-f|0)<4){break a}while(1){b=J[(n<<2)+f>>2];k=0;l=0;j=0;c=0;f=0;e=-1;b:{c:{d:{e:{switch(J[b+28>>2]-1|0){case 8:f:{switch(K[b+24|0]-1|0){case 0:e=fa+-64|0;fa=e;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+48>>2]=1065353216;g=J[b+80>>2];J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;g:{h:{if(g){if(g>>>0>=1073741824){break h}d=g<<2;g=pl(d);J[e+16>>2]=g;h=d+g|0;J[e+24>>2]=h;pk(g,0,d);J[e+20>>2]=h;while(1){d=J[J[b>>2]>>2];h=J[b+48>>2];m=em(J[b+40>>2],J[b+44>>2],c,0);h=h+m|0;d=d+h|0;o=(x(2,K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24)),D());N[e+28>>2]=o;J[e+12>>2]=k;N[e+8>>2]=o;d=e+8|0;qb(e+56|0,e+32|0,d,d);i:{if(!K[e+60|0]){J[(c<<2)+g>>2]=J[J[e+56>>2]+12>>2];break i}g=J[b+40>>2];nk(J[J[b>>2]>>2]+P(g,k)|0,e+28|0,g);g=J[e+16>>2];J[g+(c<<2)>>2]=k;k=k+1|0}c=c+1|0;f=c?f:f+1|0;d=J[b+80>>2];if(!f&c>>>0<d>>>0){continue}break}if((d|0)!=(k|0)){j:{if(!K[b+84|0]){c=J[b+72>>2];f=J[b+68>>2];if((c|0)==(f|0)){break j}c=c-f>>2;d=c>>>0<=1?1:c;h=d&3;c=0;if(d-1>>>0>=3){m=d&-4;while(1){d=c<<2;i=d+f|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=f+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=f+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];d=f+(d|12)|0;J[d>>2]=J[(J[d>>2]<<2)+g>>2];c=c+4|0;j=j+4|0;if((m|0)!=(j|0)){continue}break}}if(!h){break j}while(1){d=f+(c<<2)|0;J[d>>2]=J[(J[d>>2]<<2)+g>>2];c=c+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}break j}H[b+84|0]=0;c=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;k:{if(f>>>0<d>>>0){rb(c,d-f|0,2184);d=J[b+80>>2];break k}if(d>>>0>=f>>>0){break k}J[b+72>>2]=h+(d<<2)}if(!d){break j}f=J[c>>2];c=0;if(d>>>0>=4){m=d&-4;while(1){h=c<<2;J[h+f>>2]=J[g+h>>2];i=h|4;J[i+f>>2]=J[g+i>>2];i=h|8;J[i+f>>2]=J[g+i>>2];h=h|12;J[h+f>>2]=J[g+h>>2];c=c+4|0;j=j+4|0;if((m|0)!=(j|0)){continue}break}}d=d&3;if(!d){break j}while(1){j=c<<2;J[j+f>>2]=J[g+j>>2];c=c+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}J[b+80>>2]=k}hl(g)}c=J[e+40>>2];if(c){while(1){f=J[c>>2];hl(c);c=f;if(c){continue}break}}c=J[e+32>>2];J[e+32>>2]=0;if(c){hl(c)}fa=e- -64|0;c=k;break g}Ia();C()}break d;case 1:c=eb(b,b);break d;case 2:c=fb(b,b);break d;case 3:break f;default:break c}}c=gb(b,b);break d;case 0:l:{switch(K[b+24|0]-1|0){case 0:c=hb(b,b);break d;case 1:c=ib(b,b);break d;case 2:c=jb(b,b);break d;case 3:break l;default:break c}}c=kb(b,b);break d;case 1:case 10:m:{switch(K[b+24|0]-1|0){case 0:c=hb(b,b);break d;case 1:c=ib(b,b);break d;case 2:c=jb(b,b);break d;case 3:break m;default:break c}}c=kb(b,b);break d;case 3:n:{switch(K[b+24|0]-1|0){case 0:c=lb(b,b);break d;case 1:c=mb(b,b);break d;case 2:c=nb(b,b);break d;case 3:break n;default:break c}}c=ob(b,b);break d;case 2:o:{switch(K[b+24|0]-1|0){case 0:c=lb(b,b);break d;case 1:c=mb(b,b);break d;case 2:c=nb(b,b);break d;case 3:break o;default:break c}}c=ob(b,b);break d;case 5:p:{switch(K[b+24|0]-1|0){case 0:c=pb(b,b);break d;case 1:c=eb(b,b);break d;case 2:c=fb(b,b);break d;case 3:break p;default:break c}}c=gb(b,b);break d;case 4:break e;default:break b}}q:{switch(K[b+24|0]-1|0){case 0:c=pb(b,b);break d;case 1:c=eb(b,b);break d;case 2:c=fb(b,b);break d;case 3:break q;default:break c}}c=gb(b,b)}e=c;if(e){break b}}e=-1}c=(e|0)!=0;if(!e){break a}n=n+1|0;f=J[a+8>>2];if((n|0)<J[a+12>>2]-f>>2){continue}break}}return c|0}function Je(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=fa-16|0;fa=k;a:{if(!J[a+8>>2]){break a}e=J[a>>2];J[a>>2]=a+4;J[J[a+4>>2]+8>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;f=J[e+4>>2];e=f?f:e;if(!e){Mc(a,e);break a}h=J[e+8>>2];b:{if(!h){break b}f=J[h>>2];if((f|0)==(e|0)){J[h>>2]=0;d=h;f=J[d+4>>2];if(!f){break b}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}break b}J[h+4>>2]=0;d=h;if(!f){break b}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}}c:{if((b|0)==(c|0)){h=e;break c}f=b;while(1){h=d;J[k+12>>2]=e+28;J[k+8>>2]=e+16;b=f+16|0;d=J[k+8>>2];d:{if((b|0)==(d|0)){break d}i=K[b+11|0];g=i<<24>>24;if(H[d+11|0]>=0){if((g|0)>=0){g=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=g;J[d+8>>2]=J[b+8>>2];break d}wl(d,J[b>>2],J[b+4>>2]);break d}l=d;d=(g|0)<0;vl(l,d?J[b>>2]:b,d?J[b+4>>2]:i)}d=J[k+12>>2];g=b+12|0;if((d|0)!=(g|0)){e:{j=K[b+23|0];i=j<<24>>24;if(H[d+11|0]>=0){if((i|0)>=0){b=J[g+4>>2];J[d>>2]=J[g>>2];J[d+4>>2]=b;J[d+8>>2]=J[g+8>>2];break e}wl(d,J[b+12>>2],J[b+16>>2]);break e}l=d;d=(i|0)<0;vl(l,d?J[b+12>>2]:g,d?J[b+16>>2]:j)}}g=J[a+4>>2];f:{if(!g){b=a+4|0;d=b;break f}b=K[e+27|0];d=b<<24>>24<0;j=d?J[e+16>>2]:e+16|0;i=d?J[e+20>>2]:b;while(1){b=g;g=K[b+27|0];d=g<<24>>24<0;g:{h:{i:{g=d?J[b+20>>2]:g;l=g>>>0<i>>>0?g:i;if(l){d=tk(j,d?J[b+16>>2]:b+16|0,l);if(d){break i}}if(g>>>0>i>>>0){break h}break g}if((d|0)>=0){break g}}d=b;g=J[b>>2];if(g){continue}break f}g=J[b+4>>2];if(g){continue}break}d=b+4|0}J[e+8>>2]=b;J[e>>2]=0;J[e+4>>2]=0;J[d>>2]=e;b=e;e=J[J[a>>2]>>2];if(e){J[a>>2]=e;b=J[d>>2]}We(J[a+4>>2],b);J[a+8>>2]=J[a+8>>2]+1;d=0;j:{if(!h){break j}e=J[h+8>>2];if(!e){break j}b=J[e>>2];if((h|0)==(b|0)){J[e>>2]=0;d=e;b=J[d+4>>2];if(!b){break j}while(1){d=b;b=J[b>>2];if(b){continue}b=J[d+4>>2];if(b){continue}break}break j}J[e+4>>2]=0;d=e;if(!b){break j}while(1){d=b;b=J[b>>2];if(b){continue}b=J[d+4>>2];if(b){continue}break}}e=J[f+4>>2];k:{if(e){while(1){b=e;e=J[b>>2];if(e){continue}break k}}while(1){b=J[f+8>>2];e=J[b>>2]!=(f|0);f=b;if(e){continue}break}}if(!h){break c}f=b;e=h;if((b|0)!=(c|0)){continue}break}}Mc(a,h);if(!d){break a}while(1){e=J[d+8>>2];if(e){d=e;continue}break}Mc(a,d)}if((b|0)!=(c|0)){while(1){f=pl(40);g=f+16|0;l:{if(H[b+27|0]>=0){d=J[b+20>>2];J[g>>2]=J[b+16>>2];J[g+4>>2]=d;J[g+8>>2]=J[b+24>>2];break l}tl(g,J[b+16>>2],J[b+20>>2])}d=a+4|0;e=f+28|0;m:{if(H[b+39|0]>=0){h=J[b+32>>2];J[e>>2]=J[b+28>>2];J[e+4>>2]=h;J[e+8>>2]=J[b+36>>2];break m}tl(e,J[b+28>>2],J[b+32>>2])}e=d;h=J[d>>2];n:{if(!h){break n}e=K[f+27|0];d=e<<24>>24<0;i=d?J[f+20>>2]:e;g=d?J[f+16>>2]:g;while(1){d=h;h=K[d+27|0];e=h<<24>>24<0;o:{p:{q:{h=e?J[d+20>>2]:h;j=h>>>0<i>>>0?h:i;if(j){e=tk(g,e?J[d+16>>2]:d+16|0,j);if(e){break q}}if(h>>>0>i>>>0){break p}break o}if((e|0)>=0){break o}}e=d;h=J[d>>2];if(h){continue}break n}h=J[d+4>>2];if(h){continue}break}e=d+4|0}J[f+8>>2]=d;J[f>>2]=0;J[f+4>>2]=0;J[e>>2]=f;d=f;f=J[J[a>>2]>>2];if(f){J[a>>2]=f;d=J[e>>2]}We(J[a+4>>2],d);J[a+8>>2]=J[a+8>>2]+1;f=J[b+4>>2];r:{if(f){while(1){e=f;f=J[e>>2];if(f){continue}break r}}while(1){e=J[b+8>>2];d=J[e>>2]!=(b|0);b=e;if(d){continue}break}}b=e;if((c|0)!=(b|0)){continue}break}}fa=k+16|0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=J[a+12>>2];d=J[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=J[d>>2];i=J[e+60>>2];f=J[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=J[e>>2];J[e>>2]=0;g=J[d>>2];J[d>>2]=h;if(g){Kb(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=J[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=J[c>>2];J[c>>2]=0;if(e){Kb(e)}if((c|0)!=(d|0)){continue}break}}J[a+12>>2]=d;g=J[a+4>>2];b:{if(!g|(i|0)<0){break b}c=J[g+24>>2];d=J[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==J[J[c>>2]+24>>2]){d=c+4|0;i=J[g+28>>2];if((d|0)!=(i|0)){while(1){h=J[d>>2];J[d>>2]=0;e=J[c>>2];J[c>>2]=h;if(e){Li(e+12|0,J[e+16>>2]);Mi(e,J[e+4>>2]);hl(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=J[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){Li(e+12|0,J[e+16>>2]);Mi(e,J[e+4>>2]);hl(e)}if((c|0)!=(d|0)){continue}break}}J[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=P(f,12)+a|0;c=J[e+20>>2];d=J[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(J[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;ok(f,c,d-c|0);J[e+24>>2]=d-4}c=J[a+24>>2];d=J[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break e}J[c>>2]=d-1}c=J[a+36>>2];d=J[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break f}J[c>>2]=d-1}c=J[a+48>>2];d=J[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break g}J[c>>2]=d-1}c=J[a+60>>2];d=J[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break h}J[c>>2]=d-1}c=J[a+72>>2];a=J[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}i=a+(i|4)|0;f=J[i>>2];if((f|0)>(b|0)){J[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=J[a>>2];if((f|0)>=(b|0)){break a}J[a>>2]=b-1}}function Sk(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=fa-112|0;fa=j;k=i&2147483647;a:{b:{l=e&2147483647;m=!(b|c);if(!(d|l?l-2147418112>>>0<2147549184:m)){o=k-2147418112|0;if(!h&(o|0)==-2147418112?f|g:(o|0)==-2147418112&(h|0)!=0|o>>>0>2147549184){break b}}if(!(!d&(l|0)==2147418112?m:l>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!h&(k|0)==2147418112?!(f|g):k>>>0<2147418112)){i=i|32768;break a}if(!(b|d|(l^2147418112|c))){n=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:n;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|h|(k^2147418112|g))){break a}if(!(b|d|(c|l))){if(f|h|(g|k)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|h|(g|k)){break b}f=b;g=c;h=d;i=e;break a}n=(k|0)==(l|0);r=n&(d|0)==(h|0)?(c|0)==(g|0)&b>>>0<f>>>0|c>>>0<g>>>0:n&d>>>0<h>>>0|k>>>0>l>>>0;m=r;l=m?f:b;o=m?g:c;n=m?i:e;s=n;m=m?h:d;q=n&65535;d=r?d:h;e=r?e:i;t=e;n=e>>>16&32767;p=s>>>16&32767;if(!p){e=!(m|q);i=e;k=e?l:m;e=e<<6;h=e;i=S(i?o:q);e=e+((i|0)==32?S(k)+32|0:i)|0;Tk(j+96|0,l,o,m,q,e-15|0);m=J[j+104>>2];q=J[j+108>>2];o=J[j+100>>2];p=16-e|0;l=J[j+96>>2]}f=r?b:f;g=r?c:g;h=d;i=t&65535;if(!n){b=!(h|i);e=b;k=b?f:h;b=b<<6;c=b;e=S(e?g:i);b=b+((e|0)==32?S(k)+32|0:e)|0;Tk(j+80|0,f,g,h,i,b-15|0);n=16-b|0;h=J[j+88>>2];i=J[j+92>>2];g=J[j+84>>2];f=J[j+80>>2]}c=i<<3|h>>>29;b=h<<3|g>>>29;c=c|524288;h=m<<3|o>>>29;i=q<<3|m>>>29;r=s^t;e=g<<3|f>>>29;d=f<<3;c:{if((n|0)==(p|0)){break c}f=p-n|0;if(f>>>0>127){b=0;c=0;e=0;d=1;break c}Tk(j- -64|0,d,e,b,c,128-f|0);_k(j+48|0,d,e,b,c,f);b=J[j+56>>2];c=J[j+60>>2];e=J[j+52>>2];d=J[j+48>>2]|(J[j+64>>2]|J[j+72>>2]|(J[j+68>>2]|J[j+76>>2]))!=0}m=d;k=e;n=h;q=i|524288;e=o<<3|l>>>29;o=l<<3;l=e;d:{if((r|0)<0){f=0;g=0;h=0;i=0;if(!(m^o|b^n|(k^l|c^q))){break a}d=o-m|0;e=l-((m>>>0>o>>>0)+k|0)|0;f=n-b|0;g=(k|0)==(l|0)&m>>>0>o>>>0|k>>>0>l>>>0;h=f-g|0;b=(q-((b>>>0>n>>>0)+c|0)|0)-(f>>>0<g>>>0)|0;i=b;if(b>>>0>524287){break d}b=!(h|i);f=b;g=b?d:h;b=b<<6;c=b;f=S(f?e:i);b=b+((f|0)==32?S(g)+32|0:f)|0;b=b-12|0;Tk(j+32|0,d,e,h,i,b);p=p-b|0;h=J[j+40>>2];i=J[j+44>>2];d=J[j+32>>2];e=J[j+36>>2];break d}e=k+l|0;d=m+o|0;e=d>>>0<o>>>0?e+1|0:e;f=(k|0)==(e|0)&d>>>0<m>>>0|e>>>0<k>>>0;k=c+q|0;b=b+n|0;k=b>>>0<n>>>0?k+1|0:k;h=b+f|0;i=h>>>0<b>>>0?k+1|0:k;if(!(i&1048576)){break d}d=m&1|((e&1)<<31|d>>>1);e=h<<31|e>>>1;p=p+1|0;h=(i&1)<<31|h>>>1;i=i>>>1|0}c=0;l=s&-2147483648;if((p|0)>=32767){h=c;i=l|2147418112;f=0;g=0;break a}n=0;e:{if((p|0)>0){n=p;break e}Tk(j+16|0,d,e,h,i,p+127|0);_k(j,d,e,h,i,1-p|0);d=J[j>>2]|(J[j+16>>2]|J[j+24>>2]|(J[j+20>>2]|J[j+28>>2]))!=0;e=J[j+4>>2];h=J[j+8>>2];i=J[j+12>>2]}o=d&7;d=(e&7)<<29|d>>>3;f=(o>>>0>4)+d|0;b=h<<29|e>>>3;g=d>>>0>f>>>0?b+1|0:b;d=(b|0)==(g|0)&d>>>0>f>>>0|b>>>0>g>>>0;b=c|((i&7)<<29|h>>>3);h=d+b|0;i=l|(i>>>3&65535|n<<16);i=b>>>0>h>>>0?i+1|0:i;f:{if((o|0)==4){b=0;k=g+b|0;d=f;c=f&1;f=f+c|0;g=d>>>0>f>>>0?k+1|0:k;b=(b|0)==(g|0)&c>>>0>f>>>0|b>>>0>g>>>0;h=b+h|0;i=b>>>0>h>>>0?i+1|0:i;break f}if(!o){break a}}}J[a>>2]=f;J[a+4>>2]=g;J[a+8>>2]=h;J[a+12>>2]=i;fa=j+112|0}function hl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0<M[4896]){break a}a=a+b|0;if(J[4897]!=(d|0)){if(b>>>0<=255){e=J[d+8>>2];b=b>>>3|0;c=J[d+12>>2];if((c|0)==(e|0)){i=19568,j=J[4892]&im(b),J[i>>2]=j;break b}J[e+12>>2]=c;J[c+8>>2]=e;break b}h=J[d+24>>2];b=J[d+12>>2];c:{if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}d:{e=d+20|0;c=J[e>>2];if(c){break d}e=d+16|0;c=J[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break b}e=J[d+28>>2];c=(e<<2)+19872|0;e:{if(J[c>>2]==(d|0)){J[c>>2]=b;if(b){break e}i=19572,j=J[4893]&im(e),J[i>>2]=j;break b}J[h+(J[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=h;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b;break b}b=J[f+4>>2];if((b&3)!=3){break b}J[4894]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(J[4898]==(f|0)){J[4898]=d;a=J[4895]+a|0;J[4895]=a;J[d+4>>2]=a|1;if(J[4897]!=(d|0)){break a}J[4894]=0;J[4897]=0;return}if(J[4897]==(f|0)){J[4897]=d;a=J[4894]+a|0;J[4894]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=J[f+8>>2];b=b>>>3|0;c=J[f+12>>2];if((c|0)==(e|0)){i=19568,j=J[4892]&im(b),J[i>>2]=j;break g}J[e+12>>2]=c;J[c+8>>2]=e;break g}h=J[f+24>>2];b=J[f+12>>2];h:{if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}i:{e=f+20|0;c=J[e>>2];if(c){break i}e=f+16|0;c=J[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break g}e=J[f+28>>2];c=(e<<2)+19872|0;j:{if(J[c>>2]==(f|0)){J[c>>2]=b;if(b){break j}i=19572,j=J[4893]&im(e),J[i>>2]=j;break g}J[h+(J[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=h;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[4897]!=(d|0)){break f}J[4894]=a;return}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+19608|0;c=J[4892];a=1<<(a>>>3);k:{if(!(c&a)){J[4892]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=S(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=e;J[d+16>>2]=0;J[d+20>>2]=0;g=(e<<2)+19872|0;l:{m:{c=J[4893];b=1<<e;n:{if(!(c&b)){J[4893]=b|c;J[g>>2]=d;J[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=J[g>>2];while(1){c=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=J[g+16>>2];if(b){continue}break}J[g+16>>2]=d;J[d+24>>2]=c}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[c+8>>2];J[a+12>>2]=d;J[c+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=c;J[d+8>>2]=a}a=J[4900]-1|0;J[4900]=a?a:-1}}function oe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=fa-48|0;fa=k;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<<d;d=-2-e|0;J[a+84>>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;o=a+96|0;Ce(o);d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+8|0;q=a+44|0;d=d>>>2|0;r=d>>>0<=1?1:d;s=c+4|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Gd(q,J[d+(n<<2)>>2],k+8|0);f=J[k+12>>2];d=f>>31;i=J[k+8>>2];e=i>>31;g=(d^f)-d+((e^i)-e)|0;l=J[k+16>>2];d=l>>31;e=(d^l)-d|0;d=0;m=e;e=e+g|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+92>>2];g=j;break b}j=J[a+92>>2];g=j>>31;f=fm(em(j,g,f,f>>31),ja,e,d);h=f>>31;g=fm(em(j,g,i,i>>31),ja,e,d);d=g>>31;d=(f^h)-h+((d^g)-d)|0;l=(l|0)<0?d-j|0:j-d|0}c:{if((g|0)>=0){i=f+j|0;h=j+l|0;break c}d:{if((f|0)<0){d=l>>31;i=(d^l)-d|0;break d}d=l>>31;i=J[a+84>>2]+(d-(d^l)|0)|0}if((l|0)<0){d=f>>31;h=(d^f)-d|0;break c}d=f>>31;h=J[a+84>>2]+(d-(d^f)|0)|0}d=J[a+84>>2];m=d;e=d;e:{if(!(h|i)){break e}if(!((d|0)!=(h|0)|i)){m=h;e=h;break e}if(!((d|0)!=(i|0)|h)){m=i;e=i;break e}if(!((h|0)<=(j|0)|i)){m=(j<<1)-h|0;e=0;break e}if(!((d|0)!=(i|0)|(h|0)>=(j|0))){m=(j<<1)-h|0;e=i;break e}if(!((d|0)!=(h|0)|(j|0)<=(i|0))){m=h;e=(j<<1)-i|0;break e}if(h){m=h;e=i;break e}m=0;e=i;if((e|0)<=(j|0)){break e}e=(j<<1)-i|0}i=e;J[k+16>>2]=0-l;J[k+12>>2]=0-f;J[k+8>>2]=0-g;f:{if((g|0)<=0){g=j-l|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;g=(l|0)>0?e:d-e|0;e=l>>31;e=(e^l)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|g)){g=d;break g}if(!((d|0)!=(g|0)|e)){g=d;break g}f=(d|0)!=(e|0);if(!(g|f)){g=d;break g}if(!((g|0)<=(j|0)|e)){g=(j<<1)-g|0;d=0;break g}if(!((g|0)>=(j|0)|f)){g=(j<<1)-g|0;break g}if(!((d|0)!=(g|0)|(e|0)>=(j|0))){g=d;d=(j<<1)-e|0;break g}if(g){d=e;break g}g=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}e=(n<<3)+b|0;f=J[e>>2];h=J[e+4>>2];J[k+28>>2]=m;J[k+24>>2]=i;J[k+32>>2]=f;J[k+36>>2]=h;i=k+40|0;h=k+32|0;m=k+24|0;Qd(i,p,h,m);f=J[k+44>>2];l=J[k+40>>2];j=J[e>>2];e=J[e+4>>2];J[k+28>>2]=g;J[k+24>>2]=d;J[k+32>>2]=j;J[k+36>>2]=e;Qd(i,p,h,m);d=J[k+44>>2];g=J[k+40>>2];e=J[a+92>>2];h:{if((e|0)<(l|0)){l=l-J[a+80>>2]|0;break h}if((0-e|0)<=(l|0)){break h}l=J[a+80>>2]+l|0}i:{if((e|0)<(f|0)){f=f-J[a+80>>2]|0;break i}if((0-e|0)<=(f|0)){break i}f=J[a+80>>2]+f|0}j:{if((e|0)<(g|0)){g=g-J[a+80>>2]|0;break j}if((0-e|0)<=(g|0)){break j}g=J[a+80>>2]+g|0}i=n<<1;k:{if((d|0)>(e|0)){d=d-J[a+80>>2]|0;break k}if((0-e|0)<=(d|0)){break k}d=J[a+80>>2]+d|0}e=f>>31;e=(e^f)-e|0;h=l>>31;h=(h^l)-h|0;m=h>>>0>(e^2147483647)>>>0?2147483647:e+h|0;e=d>>31;e=(e^d)-e|0;h=g>>31;h=(h^g)-h|0;e=m>>>0>=(h>>>0>(e^2147483647)>>>0?2147483647:e+h|0)>>>0;De(o,e);i=i<<2;g=e?g:l;J[i+c>>2]=(J[a+80>>2]&g>>31)+g;d=e?d:f;J[i+s>>2]=(J[a+80>>2]&d>>31)+d;n=n+1|0;if((r|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function ee(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=fa-48|0;fa=k;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<<d;d=-2-e|0;J[a+84>>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;o=a+96|0;Ce(o);d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+8|0;q=a+44|0;d=d>>>2|0;r=d>>>0<=1?1:d;s=c+4|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}sd(q,J[d+(n<<2)>>2],k+8|0);f=J[k+12>>2];d=f>>31;i=J[k+8>>2];e=i>>31;g=(d^f)-d+((e^i)-e)|0;l=J[k+16>>2];d=l>>31;e=(d^l)-d|0;d=0;m=e;e=e+g|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+92>>2];g=j;break b}j=J[a+92>>2];g=j>>31;f=fm(em(j,g,f,f>>31),ja,e,d);h=f>>31;g=fm(em(j,g,i,i>>31),ja,e,d);d=g>>31;d=(f^h)-h+((d^g)-d)|0;l=(l|0)<0?d-j|0:j-d|0}c:{if((g|0)>=0){i=f+j|0;h=j+l|0;break c}d:{if((f|0)<0){d=l>>31;i=(d^l)-d|0;break d}d=l>>31;i=J[a+84>>2]+(d-(d^l)|0)|0}if((l|0)<0){d=f>>31;h=(d^f)-d|0;break c}d=f>>31;h=J[a+84>>2]+(d-(d^f)|0)|0}d=J[a+84>>2];m=d;e=d;e:{if(!(h|i)){break e}if(!((d|0)!=(h|0)|i)){m=h;e=h;break e}if(!((d|0)!=(i|0)|h)){m=i;e=i;break e}if(!((h|0)<=(j|0)|i)){m=(j<<1)-h|0;e=0;break e}if(!((d|0)!=(i|0)|(h|0)>=(j|0))){m=(j<<1)-h|0;e=i;break e}if(!((d|0)!=(h|0)|(j|0)<=(i|0))){m=h;e=(j<<1)-i|0;break e}if(h){m=h;e=i;break e}m=0;e=i;if((e|0)<=(j|0)){break e}e=(j<<1)-i|0}i=e;J[k+16>>2]=0-l;J[k+12>>2]=0-f;J[k+8>>2]=0-g;f:{if((g|0)<=0){g=j-l|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;g=(l|0)>0?e:d-e|0;e=l>>31;e=(e^l)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|g)){g=d;break g}if(!((d|0)!=(g|0)|e)){g=d;break g}f=(d|0)!=(e|0);if(!(g|f)){g=d;break g}if(!((g|0)<=(j|0)|e)){g=(j<<1)-g|0;d=0;break g}if(!((g|0)>=(j|0)|f)){g=(j<<1)-g|0;break g}if(!((d|0)!=(g|0)|(e|0)>=(j|0))){g=d;d=(j<<1)-e|0;break g}if(g){d=e;break g}g=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}e=(n<<3)+b|0;f=J[e>>2];h=J[e+4>>2];J[k+28>>2]=m;J[k+24>>2]=i;J[k+32>>2]=f;J[k+36>>2]=h;i=k+40|0;h=k+32|0;m=k+24|0;Qd(i,p,h,m);f=J[k+44>>2];l=J[k+40>>2];j=J[e>>2];e=J[e+4>>2];J[k+28>>2]=g;J[k+24>>2]=d;J[k+32>>2]=j;J[k+36>>2]=e;Qd(i,p,h,m);d=J[k+44>>2];g=J[k+40>>2];e=J[a+92>>2];h:{if((e|0)<(l|0)){l=l-J[a+80>>2]|0;break h}if((0-e|0)<=(l|0)){break h}l=J[a+80>>2]+l|0}i:{if((e|0)<(f|0)){f=f-J[a+80>>2]|0;break i}if((0-e|0)<=(f|0)){break i}f=J[a+80>>2]+f|0}j:{if((e|0)<(g|0)){g=g-J[a+80>>2]|0;break j}if((0-e|0)<=(g|0)){break j}g=J[a+80>>2]+g|0}i=n<<1;k:{if((d|0)>(e|0)){d=d-J[a+80>>2]|0;break k}if((0-e|0)<=(d|0)){break k}d=J[a+80>>2]+d|0}e=f>>31;e=(e^f)-e|0;h=l>>31;h=(h^l)-h|0;m=h>>>0>(e^2147483647)>>>0?2147483647:e+h|0;e=d>>31;e=(e^d)-e|0;h=g>>31;h=(h^g)-h|0;e=m>>>0>=(h>>>0>(e^2147483647)>>>0?2147483647:e+h|0)>>>0;De(o,e);i=i<<2;g=e?g:l;J[i+c>>2]=(J[a+80>>2]&g>>31)+g;d=e?d:f;J[i+s>>2]=(J[a+80>>2]&d>>31)+d;n=n+1|0;if((r|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function Qh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=J[a+48>>2];J[a+52>>2]=e;a:{if((e|0)!=J[a+56>>2]){J[e>>2]=b;J[a+52>>2]=e+4;break a}d=pl(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!e){break a}hl(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=J[J[a+4>>2]+28>>2];k=J[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-P(g,3)|0?-1:2)+b|0;j=J[c+(e<<2)>>2];if((j|0)==-1){return 0}b=J[a+36>>2];g=b+(k>>>3&536870908)|0;d=J[g>>2];c=1<<k;if(!(d&c)){J[g>>2]=c|d;Bh(a+8|0,k,i);b=J[a+36>>2]}d=(j>>>3&536870908)+b|0;c=J[d>>2];b=1<<j;if(!(c&b)){J[d>>2]=b|c;Bh(a+8|0,j,e)}f=J[a+52>>2];if((f|0)==J[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=J[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=J[a+24>>2]+(c>>>3&268435452)|0;d=J[g>>2];c=1<<c;if(d&c){break c}J[g>>2]=c|d;h=J[a+4>>2];c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=J[a+36>>2]+(c>>>3&536870908)|0;i=J[j>>2];e=1<<c;if(i&e){break e}f:{g=J[J[h+40>>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}J[j>>2]=e|i;Bh(k,c,d);h=J[a+4>>2];break e}J[j>>2]=e|i;Bh(k,c,d);h=J[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|J[J[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=J[J[J[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<<c;f=J[a+24>>2];e=c>>>5|0;j=J[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(J[J[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=J[J[J[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=J[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=J[f+(e<<2)>>2];d=1<<d;if(!(j&d)){break i}}if(g){break j}d=1<<i;f=J[a+24>>2];e=i>>>5|0;j=J[f+(e<<2)>>2];if(!(d&j)){break d}}f=J[a+52>>2]-4|0;J[a+52>>2]=f;break b}if(g){b=c;break d}if(J[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=J[a+52>>2];J[h-4>>2]=b;if(J[a+56>>2]!=(h|0)){J[h>>2]=c;f=h+4|0;break c}m:{i=J[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=pl(e<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;J[b>>2]=J[h>>2];if((h|0)!=(i|0)){continue}break}}J[a+56>>2]=d+(e<<2);J[a+52>>2]=f;J[a+48>>2]=b;if(!i){break b}hl(i);f=J[a+52>>2];break b}Ia();C()}Ya();C()}J[(e<<2)+f>>2]=d|j;c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}J[a+52>>2]=f}if(J[a+48>>2]!=(f|0)){continue}break}}return 1}function ah(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=J[a+8>>2];d=J[a+4>>2];if((h-d|0)/136>>>0>=b>>>0){a:{if(!b){break a}c=d;f=b&7;if(f){while(1){gh(c);c=c+136|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}d=P(b,136)+d|0;if((b-1&536870911)>>>0<7){break a}while(1){gh(c);gh(c+136|0);gh(c+272|0);gh(c+408|0);gh(c+544|0);gh(c+680|0);gh(c+816|0);gh(c+952|0);c=c+1088|0;if((c|0)!=(d|0)){continue}break}}J[a+4>>2]=d;return}b:{c:{d:{c=J[a>>2];f=(d-c|0)/136|0;g=f+b|0;if(g>>>0<31580642){d=(h-c|0)/136|0;c=d<<1;g=d>>>0>=15790320?31580641:c>>>0>g>>>0?c:g;if(g){if(g>>>0>=31580642){break d}i=pl(P(g,136))}d=P(f,136)+i|0;c=d;f=b&7;if(f){while(1){gh(c);c=c+136|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}h=P(b,136)+d|0;if((b-1&536870911)>>>0>=7){while(1){gh(c);gh(c+136|0);gh(c+272|0);gh(c+408|0);gh(c+544|0);gh(c+680|0);gh(c+816|0);gh(c+952|0);c=c+1088|0;if((h|0)!=(c|0)){continue}break}}f=P(g,136)+i|0;c=J[a+4>>2];e=J[a>>2];if((c|0)==(e|0)){break c}while(1){d=d-136|0;c=c-136|0;J[d>>2]=J[c>>2];J[d+4>>2]=J[c+4>>2];J[d+8>>2]=J[c+8>>2];J[d+12>>2]=J[c+12>>2];J[c+12>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[d+16>>2]=J[c+16>>2];J[d+20>>2]=J[c+20>>2];J[d+24>>2]=J[c+24>>2];J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;b=K[c+28|0];J[d+40>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;H[d+28|0]=b;J[d+32>>2]=J[c+32>>2];J[d+36>>2]=J[c+36>>2];J[d+40>>2]=J[c+40>>2];J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[d+52>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+44>>2]=J[c+44>>2];J[d+48>>2]=J[c+48>>2];J[d+52>>2]=J[c+52>>2];J[c+52>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;b=d- -64|0;J[b>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+56>>2]=J[c+56>>2];J[d+60>>2]=J[c+60>>2];i=b;b=c- -64|0;J[i>>2]=J[b>>2];J[b>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[d+68>>2]=J[c+68>>2];b=J[c+72>>2];J[d+84>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=b;J[d+76>>2]=J[c+76>>2];J[d+80>>2]=J[c+80>>2];J[d+84>>2]=J[c+84>>2];J[c+84>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[d+96>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+88>>2]=J[c+88>>2];J[d+92>>2]=J[c+92>>2];J[d+96>>2]=J[c+96>>2];J[c+96>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;b=K[c+100|0];J[d+112>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0;H[d+100|0]=b;J[d+104>>2]=J[c+104>>2];J[d+108>>2]=J[c+108>>2];J[d+112>>2]=J[c+112>>2];J[c+112>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[d+124>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+116>>2]=J[c+116>>2];J[d+120>>2]=J[c+120>>2];J[d+124>>2]=J[c+124>>2];J[c+124>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;J[d+128>>2]=J[c+128>>2];J[d+132>>2]=J[c+132>>2];if((c|0)!=(e|0)){continue}break}J[a+8>>2]=f;e=J[a+4>>2];J[a+4>>2]=h;c=J[a>>2];J[a>>2]=d;if((c|0)==(e|0)){break b}while(1){a=e-136|0;b=J[a+116>>2];if(b){J[e-16>>2]=b;hl(b)}b=J[e-32>>2];if(b){J[e-28>>2]=b;hl(b)}bh(e-132|0);e=a;if((a|0)!=(c|0)){continue}break}break b}Ia();C()}Ya();C()}J[a+8>>2]=f;J[a+4>>2]=h;J[a>>2]=d}if(c){hl(c)}}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=fa+-64|0;fa=e;a:{b:{c:{d:{if(!K[a+352|0]){break d}c=1;h=ka[J[J[a>>2]+40>>2]](a)|0;if((J[h+12>>2]-J[h+8>>2]|0)<=0){break d}ub(J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+8>>2]>>2],b);break c}c=b<<2;f=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+56>>2]+84>>2]>>2];i=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+4>>2]+8>>2]>>2];h=-1;c=J[a+176>>2];d=J[a+172>>2];e:{if((c|0)==(d|0)){break e}c=(c-d|0)/136|0;g=c>>>0<=1?1:c;c=0;while(1){if(J[d+P(c,136)>>2]==(b|0)){h=c;break e}c=c+1|0;if((g|0)!=(c|0)){continue}break}}f:{g:{h:{i:{if(!K[a+352|0]){c=J[i+56>>2];if(!(!f|!c)){if(!K[(d+P(h,136)|0)+28|0]|(f|0)!=1){break i}break h}if(c){break h}}c=a+40|0;break g}d=d+P(h,136)|0;c=J[d+56>>2];f=J[d+60>>2];J[e>>2]=-1;Ig(d+116|0,f-c>>2,e);c=pl(80);f=J[a+8>>2];J[c+12>>2]=0;J[c+16>>2]=0;J[c>>2]=11984;J[c+4>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+76>>2]=0;i=d+104|0;J[c+72>>2]=i;J[c+68>>2]=f;J[c- -64>>2]=0;g=c+56|0;J[g>>2]=0;J[g+4>>2]=0;J[c+8>>2]=10884;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;j=e+24|0;J[j>>2]=0;J[j+4>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+56>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e>>2]=10884;l=d+4|0;J[e+4>>2]=l;d=J[d+68>>2];k=J[d>>2];d=J[d+4>>2];H[e+63|0]=0;k=(d-k>>2>>>0)/3|0;d=e+63|0;Jg(j,k,d);j=J[e+4>>2];k=J[j+56>>2];j=J[j+52>>2];H[e+63|0]=0;Jg(e+36|0,k-j>>2,d);J[e+20>>2]=c;J[e+16>>2]=f;J[e+12>>2]=i;J[e+8>>2]=l;J[c+76>>2]=a+72;Kg(c+8|0,e);Lg(g,J[e+48>>2],J[e+52>>2]);J[e>>2]=10884;d=J[e+48>>2];if(d){J[e+52>>2]=d;hl(d)}J[e>>2]=11136;d=J[e+36>>2];if(d){hl(d)}d=J[e+24>>2];if(d){hl(d)}d=0;break f}c=J[a+12>>2];f=J[c+28>>2];c=J[c+24>>2];J[e>>2]=-1;g=d;d=P(h,136);g=g+d|0;Ig(g+116|0,f-c>>2,e);H[(d+J[a+172>>2]|0)+100|0]=0;c=g+104|0}j:{k:{if(Pb(J[(ka[J[J[a>>2]+40>>2]](a)|0)+48>>2])|J[i+56>>2]){break k}if(K[a+352|0]){d=J[a+8>>2];if((J[d+12>>2]-J[d+8>>2]|0)>4){break k}}d=1;c=Mg(a,c);break j}d=0;c=Ng(a,c)}if(c){break f}c=0;break c}J[((h|0)==-1?a+68|0:(J[a+172>>2]+P(h,136)|0)+132|0)>>2]=d;i=rc(pl(76),c,b);b=J[a+188>>2];l:{if((b|0)!=J[a+192>>2]){J[b>>2]=h;J[a+188>>2]=b+4;break l}c=b;b=J[a+184>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0<f>>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=pl(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=h;c=ok(f,b,c);J[a+192>>2]=c+(d<<2);J[a+188>>2]=g+4;J[a+184>>2]=c;if(!b){break l}hl(b)}a=ka[J[J[a>>2]+40>>2]](a)|0;J[e>>2]=i;b=J[a+12>>2];m:{if(b>>>0<M[a+16>>2]){J[e>>2]=0;J[b>>2]=i;J[a+12>>2]=b+4;break m}Og(a+8|0,e)}a=J[e>>2];J[e>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}c=1}fa=e- -64|0;return c|0}Ia();C()}Ya();C()}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=fa+-64|0;fa=e;a:{b:{c:{d:{if(!K[a+288|0]){break d}c=1;h=ka[J[J[a>>2]+40>>2]](a)|0;if((J[h+12>>2]-J[h+8>>2]|0)<=0){break d}ub(J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+8>>2]>>2],b);break c}c=b<<2;f=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+56>>2]+84>>2]>>2];i=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+4>>2]+8>>2]>>2];h=-1;c=J[a+176>>2];d=J[a+172>>2];e:{if((c|0)==(d|0)){break e}c=(c-d|0)/136|0;g=c>>>0<=1?1:c;c=0;while(1){if(J[d+P(c,136)>>2]==(b|0)){h=c;break e}c=c+1|0;if((g|0)!=(c|0)){continue}break}}f:{g:{h:{i:{if(!K[a+288|0]){c=J[i+56>>2];if(!(!f|!c)){if(!K[(d+P(h,136)|0)+28|0]|(f|0)!=1){break i}break h}if(c){break h}}c=a+40|0;break g}d=d+P(h,136)|0;c=J[d+56>>2];f=J[d+60>>2];J[e>>2]=-1;Ig(d+116|0,f-c>>2,e);c=pl(80);f=J[a+8>>2];J[c+12>>2]=0;J[c+16>>2]=0;J[c>>2]=11984;J[c+4>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+76>>2]=0;i=d+104|0;J[c+72>>2]=i;J[c+68>>2]=f;J[c- -64>>2]=0;g=c+56|0;J[g>>2]=0;J[g+4>>2]=0;J[c+8>>2]=10884;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;j=e+24|0;J[j>>2]=0;J[j+4>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+56>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e>>2]=10884;l=d+4|0;J[e+4>>2]=l;d=J[d+68>>2];k=J[d>>2];d=J[d+4>>2];H[e+63|0]=0;k=(d-k>>2>>>0)/3|0;d=e+63|0;Jg(j,k,d);j=J[e+4>>2];k=J[j+56>>2];j=J[j+52>>2];H[e+63|0]=0;Jg(e+36|0,k-j>>2,d);J[e+20>>2]=c;J[e+16>>2]=f;J[e+12>>2]=i;J[e+8>>2]=l;J[c+76>>2]=a+72;Kg(c+8|0,e);Lg(g,J[e+48>>2],J[e+52>>2]);J[e>>2]=10884;d=J[e+48>>2];if(d){J[e+52>>2]=d;hl(d)}J[e>>2]=11136;d=J[e+36>>2];if(d){hl(d)}d=J[e+24>>2];if(d){hl(d)}d=0;break f}c=J[a+12>>2];f=J[c+28>>2];c=J[c+24>>2];J[e>>2]=-1;g=d;d=P(h,136);g=g+d|0;Ig(g+116|0,f-c>>2,e);H[(d+J[a+172>>2]|0)+100|0]=0;c=g+104|0}j:{k:{if(Pb(J[(ka[J[J[a>>2]+40>>2]](a)|0)+48>>2])|J[i+56>>2]){break k}if(K[a+288|0]){d=J[a+8>>2];if((J[d+12>>2]-J[d+8>>2]|0)>4){break k}}d=1;c=Mg(a,c);break j}d=0;c=Ng(a,c)}if(c){break f}c=0;break c}J[((h|0)==-1?a+68|0:(J[a+172>>2]+P(h,136)|0)+132|0)>>2]=d;i=rc(pl(76),c,b);b=J[a+188>>2];l:{if((b|0)!=J[a+192>>2]){J[b>>2]=h;J[a+188>>2]=b+4;break l}c=b;b=J[a+184>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0<f>>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=pl(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=h;c=ok(f,b,c);J[a+192>>2]=c+(d<<2);J[a+188>>2]=g+4;J[a+184>>2]=c;if(!b){break l}hl(b)}a=ka[J[J[a>>2]+40>>2]](a)|0;J[e>>2]=i;b=J[a+12>>2];m:{if(b>>>0<M[a+16>>2]){J[e>>2]=0;J[b>>2]=i;J[a+12>>2]=b+4;break m}Og(a+8|0,e)}a=J[e>>2];J[e>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}c=1}fa=e- -64|0;return c|0}Ia();C()}Ya();C()}function mh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=fa-16|0;fa=j;J[a+124>>2]=J[a+124>>2]+1;h=-1;d=J[a+120>>2];c=-1;a:{if((d|0)==-1){break a}c=d+1|0;h=(c>>>0)%3|0?c:d-2|0;c=d-1|0;if((d>>>0)%3|0){break a}c=d+2|0}e=J[a+104>>2];f=J[a+92>>2];g=f+(h<<2)|0;k=e+(J[g>>2]<<2)|0;i=J[k>>2];b:{c:{switch(b|0){case 0:case 1:J[k>>2]=i-1;d=(J[(c<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;if((b|0)!=1){break b}g=0;d:{if((c|0)==-1){d=0;break d}d=0;c=J[J[J[a+88>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break d}while(1){e:{e=J[a+64>>2];if(ka[J[J[e>>2]+36>>2]](e,(c>>>0)/3|0)|0){break e}d=d+1|0;e=c+1|0;c=(e>>>0)%3|0?e:c-2|0;if((c|0)==-1){break e}c=J[J[J[a+88>>2]+12>>2]+(c<<2)>>2];if((c|0)!=-1){continue}}break}e=J[a+104>>2];f=J[a+92>>2]}J[(J[(J[a+120>>2]<<2)+f>>2]<<2)+e>>2]=d+1;f:{if((h|0)==-1){break f}c=J[J[J[a+88>>2]+12>>2]+(h<<2)>>2];if((c|0)==-1){break f}e=J[a+108>>2]-e>>2;while(1){f=J[a+64>>2];d=(c>>>0)/3|0;if(ka[J[J[f>>2]+36>>2]](f,d)|0){break f}f=c+1|0;J[J[a+92>>2]+(((f>>>0)%3|0?f:c-2|0)<<2)>>2]=e;g=g+1|0;f=J[a+88>>2];g:{if((P(d,3)|0)!=(c|0)){c=c-1|0;break g}c=c+2|0;if((c|0)==-1){break f}}c=J[J[f+12>>2]+(c<<2)>>2];if((c|0)!=-1){continue}break}}J[j+12>>2]=g+1;h:{c=J[a+108>>2];f=J[a+112>>2];if(c>>>0<f>>>0){J[c>>2]=J[j+12>>2];J[a+108>>2]=c+4;break h}i:{d=c;c=J[a+104>>2];d=d-c|0;h=d>>2;e=h+1|0;if(e>>>0<1073741824){f=f-c|0;g=f>>>1|0;e=f>>>0>=2147483644?1073741823:e>>>0<g>>>0?g:e;if(e){if(e>>>0>=1073741824){break i}f=pl(e<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=J[j+12>>2];g=e<<2;e=ok(f,c,d);J[a+112>>2]=g+e;J[a+108>>2]=h+4;J[a+104>>2]=e;if(c){hl(c)}break h}Ia();C()}Ya();C()}break b;case 5:d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-2;break b;case 3:d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-1;break b;case 7:break c;default:break b}}d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-2}j:{k:{c=J[a+116>>2];l:{if((c|0)==-1){break l}h=J[(c<<2)+11184>>2];c=J[a+132>>2];d=(c|0)>(i|0)?i:c;c=J[a+128>>2];c=J[a+136>>2]+P((c|0)<=(i|0)?d-c|0:0,12)|0;e=J[c+4>>2];d=J[c+8>>2];if(e>>>0<d>>>0){J[e>>2]=h;J[c+4>>2]=e+4;break l}f=e;e=J[c>>2];i=f-e|0;g=i>>2;f=g+1|0;if(f>>>0>=1073741824){break k}d=d-e|0;k=d>>>1|0;f=d>>>0>=2147483644?1073741823:f>>>0<k>>>0?k:f;if(f){if(f>>>0>=1073741824){break j}d=pl(f<<2)}else{d=0}g=d+(g<<2)|0;J[g>>2]=h;d=ok(d,e,i);J[c>>2]=d;J[c+4>>2]=g+4;J[c+8>>2]=d+(f<<2);if(!e){break l}hl(e)}J[a+116>>2]=b;fa=j+16|0;return}Ia();C()}Ya();C()}function Kh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=J[a+48>>2];J[a+52>>2]=f;a:{if((f|0)!=J[a+56>>2]){J[f>>2]=b;J[a+52>>2]=f+4;break a}d=pl(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!f){break a}hl(f)}e=-1;d=J[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=J[J[d>>2]+(i<<2)>>2]}b:{h=b-P(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=J[J[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=J[a+36>>2];f=c+(e>>>3&536870908)|0;g=J[f>>2];d=1<<e;if(!(g&d)){J[f>>2]=d|g;Bh(a+8|0,e,i);c=J[a+36>>2]}g=(j>>>3&536870908)+c|0;d=J[g>>2];c=1<<j;if(!(d&c)){J[g>>2]=c|d;Bh(a+8|0,j,(h?-1:2)+b|0)}c=J[a+52>>2];if((c|0)==J[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=J[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=J[a+24>>2]+(d>>>3&268435452)|0;g=J[f>>2];d=1<<d;if(g&d){break d}J[f>>2]=d|g;while(1){i=J[a+4>>2];e=J[J[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=J[a+36>>2]+(e>>>3&536870908)|0;f=J[h>>2];g=1<<e;if(f&g){break f}g:{d=J[J[i+24>>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=J[J[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}J[h>>2]=f|g;Bh(j,e,b);break f}J[h>>2]=f|g;Bh(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<<c;e=J[a+24>>2];f=c>>>5|0;i=J[e+(f<<2)>>2];break e}c=-1;g=J[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=J[J[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=J[J[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=J[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=J[e+(f<<2)>>2];d=1<<d;if(!(i&d)){break k}}if(!g){d=1<<h;e=J[a+24>>2];f=h>>>5|0;i=J[e+(f<<2)>>2];if(!(d&i)){break e}}c=J[a+52>>2]-4|0;J[a+52>>2]=c;break c}if(g){b=c;break e}if(J[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=J[a+52>>2];J[e-4>>2]=b;if(J[a+56>>2]!=(e|0)){J[e>>2]=c;c=e+4|0;break d}l:{h=J[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=pl(f<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}J[a+56>>2]=d+(f<<2);J[a+52>>2]=c;J[a+48>>2]=b;if(!h){break c}hl(h);c=J[a+52>>2];break c}Ia();C()}Ya();C()}J[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}J[a+52>>2]=c}if(J[a+48>>2]!=(c|0)){continue}break}}return 1}function bf(a,b){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;d=a+4|0;if((d|0)!=(b|0)){Je(d,J[b>>2],b+4|0);f=J[b+12>>2];k=b+16|0;d=0;h=a+16|0;a:{if(!J[h+8>>2]){break a}e=J[h>>2];j=h+4|0;J[h>>2]=j;J[J[h+4>>2]+8>>2]=0;J[h+4>>2]=0;J[h+8>>2]=0;c=J[e+4>>2];g=c?c:e;if(!g){Ie(h,g);break a}e=J[g+8>>2];b:{if(!e){break b}c=J[e>>2];if((g|0)==(c|0)){J[e>>2]=0;d=e;c=J[e+4>>2];if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}c=J[d+4>>2];if(c){continue}break}break b}J[e+4>>2]=0;d=e;if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}c=J[d+4>>2];if(c){continue}break}}c:{if((f|0)==(k|0)){i=g;break c}c=f;while(1){i=d;J[g+16>>2]=J[c+16>>2];if((c|0)!=(g|0)){Je(g+20|0,J[c+20>>2],c+24|0)}f=j;d=f;e=J[d>>2];d:{if(!e){break d}l=J[g+16>>2];while(1){f=e;if((l|0)<J[e+16>>2]){d=f;e=J[d>>2];if(e){continue}break d}e=J[f+4>>2];if(e){continue}break}d=f+4|0}J[g+8>>2]=f;J[g>>2]=0;J[g+4>>2]=0;J[d>>2]=g;f=J[J[h>>2]>>2];if(f){J[h>>2]=f;g=J[d>>2]}We(J[h+4>>2],g);J[h+8>>2]=J[h+8>>2]+1;d=0;e:{if(!i){break e}e=J[i+8>>2];if(!e){break e}f=J[e>>2];if((i|0)==(f|0)){J[e>>2]=0;d=e;f=J[e+4>>2];if(!f){break e}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}break e}J[e+4>>2]=0;d=e;if(!f){break e}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}}e=J[c+4>>2];f:{if(e){while(1){f=e;e=J[e>>2];if(e){continue}break f}}while(1){f=J[c+8>>2];e=J[f>>2]!=(c|0);c=f;if(e){continue}break}}if(!i){break c}g=i;c=f;if((k|0)!=(c|0)){continue}break}}Ie(h,i);if(!d){break a}while(1){c=J[d+8>>2];if(c){d=c;continue}break}Ie(h,d)}if((f|0)!=(k|0)){while(1){n=fa-16|0;fa=n;i=pl(32);g=f+16|0;d=J[g>>2];m=i+24|0;J[m>>2]=0;J[m+4>>2]=0;J[i+16>>2]=d;l=i+20|0;J[l>>2]=m;e=h+4|0;c=J[g+4>>2];j=g+8|0;if((c|0)!=(j|0)){while(1){d=c+16|0;Xe(n+8|0,l,m,d,d);g=J[c+4>>2];g:{if(g){while(1){d=g;g=J[d>>2];if(g){continue}break g}}while(1){d=J[c+8>>2];g=J[d>>2]!=(c|0);c=d;if(g){continue}break}}c=d;if((j|0)!=(c|0)){continue}break}}c=e;d=J[c>>2];h:{if(!d){break h}g=J[i+16>>2];while(1){e=d;if((g|0)<J[e+16>>2]){c=e;d=J[c>>2];if(d){continue}break h}d=J[e+4>>2];if(d){continue}break}c=e+4|0}J[i+8>>2]=e;J[i>>2]=0;J[i+4>>2]=0;J[c>>2]=i;d=i;e=J[J[h>>2]>>2];if(e){J[h>>2]=e;d=J[c>>2]}We(J[h+4>>2],d);J[h+8>>2]=J[h+8>>2]+1;fa=n+16|0;e=J[f+4>>2];i:{if(e){while(1){c=e;e=J[c>>2];if(e){continue}break i}}while(1){c=J[f+8>>2];d=J[c>>2]!=(f|0);f=c;if(d){continue}break}}f=c;if((c|0)!=(k|0)){continue}break}}Je(a+28|0,J[b+24>>2],b+28|0)}}function Jc(a,b){a=a|0;b=b|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;m=fa-16|0;fa=m;f=J[a+4>>2];a:{b:{if(f){if(ka[J[J[a>>2]+52>>2]](a,b,J[J[f+4>>2]+80>>2])|0){break b}break a}if(!(ka[J[J[a>>2]+52>>2]](a,b,0)|0)){break a}}n=1;if(!K[a+28|0]){break a}d=J[a+32>>2];i=J[a+8>>2];c=J[i+80>>2];f=0;J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;c:{d:{e:{if(c){if(c>>>0>=1073741824){break e}c=c<<2;f=pl(c);pk(f,0,c)}e=J[b+4>>2];c=J[b>>2];f:{if((e|0)==(c|0)){break f}b=e-c>>2;if(K[i+84|0]){e=b>>>0<=1?1:b;h=e&3;b=0;if(e-1>>>0>=3){j=e&-4;e=0;while(1){J[(J[c+(b<<2)>>2]<<2)+f>>2]=b;k=b|1;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;k=b|2;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;k=b|3;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;b=b+4|0;e=e+4|0;if((j|0)!=(e|0)){continue}break}}if(!h){break f}while(1){J[(J[c+(b<<2)>>2]<<2)+f>>2]=b;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}break f}g=b>>>0<=1?1:b;j=g&3;h=J[i+68>>2];e=0;b=0;if(g-1>>>0>=3){k=g&-4;g=0;while(1){J[(J[h+(J[c+(b<<2)>>2]<<2)>>2]<<2)+f>>2]=b;l=b|1;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;l=b|2;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;l=b|3;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;b=b+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}if(!j){break f}while(1){J[(J[h+(J[c+(b<<2)>>2]<<2)>>2]<<2)+f>>2]=b;b=b+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}b=J[a+4>>2];g:{if(!K[d+84|0]){break g}c=J[J[b+4>>2]+80>>2];H[d+84|0]=0;g=J[d+68>>2];e=J[d+72>>2]-g>>2;if(e>>>0<c>>>0){rb(d+68|0,c-e|0,2744);b=J[a+4>>2];break g}if(c>>>0>=e>>>0){break g}J[d+72>>2]=g+(c<<2)}h=J[J[b+4>>2]+80>>2];if(!h){break d}c=J[d+68>>2];if(K[i+84|0]){a=0;b=0;if(h>>>0>=4){g=h&-4;e=0;while(1){d=b<<2;J[d+c>>2]=J[f+d>>2];i=d|4;J[i+c>>2]=J[f+i>>2];i=d|8;J[i+c>>2]=J[f+i>>2];d=d|12;J[d+c>>2]=J[f+d>>2];b=b+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}e=h&3;if(!e){break c}while(1){d=b<<2;J[d+c>>2]=J[f+d>>2];b=b+1|0;a=a+1|0;if((e|0)!=(a|0)){continue}break}break c}a=J[i+68>>2];e=0;b=0;if(h>>>0>=4){i=h&-4;g=0;while(1){d=b<<2;J[d+c>>2]=J[(J[a+d>>2]<<2)+f>>2];j=d|4;J[j+c>>2]=J[(J[a+j>>2]<<2)+f>>2];j=d|8;J[j+c>>2]=J[(J[a+j>>2]<<2)+f>>2];d=d|12;J[d+c>>2]=J[(J[a+d>>2]<<2)+f>>2];b=b+4|0;g=g+4|0;if((i|0)!=(g|0)){continue}break}}d=h&3;if(!d){break c}while(1){g=b<<2;J[g+c>>2]=J[(J[a+g>>2]<<2)+f>>2];b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}break c}Ia();C()}if(!f){break a}}hl(f)}fa=m+16|0;return n|0}function Ye(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{b:{c:{d:{e:{f:{i=a+4|0;g:{if((i|0)==(b|0)){break g}f=K[b+27|0];g=f<<24>>24<0;h=K[e+11|0];j=h<<24>>24;k=(j|0)<0;f=g?J[b+20>>2]:f;h=k?J[e+4>>2]:h;l=f>>>0<h>>>0;m=l?f:h;if(m){k=k?J[e>>2]:e;g=g?J[b+16>>2]:b+16|0;n=tk(k,g,m);if(!n){if(f>>>0>h>>>0){break g}break f}if((n|0)>=0){break f}break g}if(f>>>0<=h>>>0){break e}}d=J[b>>2];h:{f=b;i:{if((f|0)==J[a>>2]){break i}j:{if(!d){a=b;while(1){f=J[a+8>>2];h=J[f>>2]==(a|0);a=f;if(h){continue}break}break j}a=d;while(1){f=a;a=J[f+4>>2];if(a){continue}break}}a=K[e+11|0];k=a<<24>>24;h=(k|0)<0;j=K[f+27|0];g=j<<24>>24<0;k:{a=h?J[e+4>>2]:a;j=g?J[f+20>>2]:j;l=a>>>0<j>>>0?a:j;if(l){h=tk(g?J[f+16>>2]:f+16|0,h?J[e>>2]:e,l);if(h){break k}}if(a>>>0>j>>>0){break i}break h}if((h|0)>=0){break h}}if(!d){J[c>>2]=b;return b}J[c>>2]=f;return f+4|0}d=J[i>>2];if(!d){J[c>>2]=i;return i}e=(k|0)<0?J[e>>2]:e;b=i;while(1){f=d;d=K[f+27|0];i=d<<24>>24<0;d=i?J[f+20>>2]:d;h=d>>>0<a>>>0;l:{m:{n:{o:{g=h?d:a;p:{if(g){i=i?J[f+16>>2]:f+16|0;j=tk(e,i,g);if(!j){if(a>>>0<d>>>0){break p}break o}if((j|0)>=0){break o}break p}if(a>>>0>=d>>>0){break n}}b=f;d=J[f>>2];if(d){continue}break b}d=tk(i,e,g);if(d){break m}}if(h){break l}break b}if((d|0)>=0){break b}}b=f+4|0;d=J[f+4>>2];if(d){continue}break}break b}a=tk(g,k,m);if(a){break d}}if(l){break c}break a}if((a|0)>=0){break a}}d=J[b+4>>2];q:{if(!d){a=b;while(1){f=J[a+8>>2];g=J[f>>2]!=(a|0);a=f;if(g){continue}break}break q}a=d;while(1){f=a;a=J[f>>2];if(a){continue}break}}r:{s:{if((f|0)==(i|0)){break s}g=K[f+27|0];a=g<<24>>24<0;t:{g=a?J[f+20>>2]:g;k=h>>>0>g>>>0?g:h;if(k){a=tk((j|0)<0?J[e>>2]:e,a?J[f+16>>2]:f+16|0,k);if(a){break t}}if(h>>>0<g>>>0){break s}break r}if((a|0)>=0){break r}}if(!d){J[c>>2]=b;return b+4|0}J[c>>2]=f;return f}a=J[i>>2];if(!a){J[c>>2]=i;return i}d=(j|0)<0?J[e>>2]:e;b=i;while(1){f=a;a=K[f+27|0];e=a<<24>>24<0;a=e?J[f+20>>2]:a;i=a>>>0<h>>>0;u:{v:{w:{x:{g=i?a:h;y:{if(g){e=e?J[f+16>>2]:f+16|0;j=tk(d,e,g);if(!j){if(a>>>0>h>>>0){break y}break x}if((j|0)>=0){break x}break y}if(a>>>0<=h>>>0){break w}}b=f;a=J[f>>2];if(a){continue}break b}a=tk(e,d,g);if(a){break v}}if(i){break u}break b}if((a|0)>=0){break b}}b=f+4|0;a=J[f+4>>2];if(a){continue}break}}J[c>>2]=f;return b}J[c>>2]=b;J[d>>2]=b;return d}function $j(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{d=b;g=J[b>>2];if(g){c=J[b+4>>2];if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}break}}g=J[d+4>>2];if(g){break b}g=0;e=1;break a}J[g+8>>2]=J[d+8>>2];e=0}f=J[d+8>>2];c=J[f>>2];c:{if((d|0)==(c|0)){J[f>>2]=g;if((a|0)==(d|0)){c=0;a=g;break c}c=J[f+4>>2];break c}J[f+4>>2]=g}h=!K[d+12|0];if((b|0)!=(d|0)){f=J[b+8>>2];J[d+8>>2]=f;J[f+((J[J[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=J[b>>2];J[d>>2]=f;J[f+8>>2]=d;f=J[b+4>>2];J[d+4>>2]=f;if(f){J[f+8>>2]=d}H[d+12|0]=K[b+12|0];a=(a|0)==(b|0)?d:a}if(!(h|!a)){if(e){while(1){b=K[c+12|0];d:{e=J[c+8>>2];if(J[e>>2]!=(c|0)){if(!b){H[c+12|0]=1;H[e+12|0]=0;d=J[e+4>>2];b=J[d>>2];J[e+4>>2]=b;if(b){J[b+8>>2]=e}J[d+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=d;J[d>>2]=e;J[e+8>>2]=d;b=J[c>>2];a=(b|0)==(a|0)?c:a;c=J[b+4>>2]}e:{f:{d=J[c>>2];g:{if(!(K[d+12|0]?0:d)){b=J[c+4>>2];if(K[b+12|0]?0:b){break g}H[c+12|0]=0;c=J[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(K[c+12|0]){break d}}H[c+12|0]=1;return}b=J[c+4>>2];if(!b){break f}}if(K[b+12|0]){break f}d=c;break e}H[d+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;b=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[b+12|0]=1;b=J[c+4>>2];a=J[b>>2];J[c+4>>2]=a;if(a){J[a+8>>2]=c}J[b+8>>2]=J[c+8>>2];a=J[c+8>>2];J[(((c|0)!=J[a>>2])<<2)+a>>2]=b;J[b>>2]=c;J[c+8>>2]=b;return}if(!b){H[c+12|0]=1;H[e+12|0]=0;b=J[c+4>>2];J[e>>2]=b;if(b){J[b+8>>2]=e}J[c+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=c;J[c+4>>2]=e;J[e+8>>2]=c;a=(a|0)==(e|0)?c:a;c=J[e>>2]}b=J[c>>2];i:{if(!(!b|K[b+12|0])){d=c;break i}d=J[c+4>>2];if(!(K[d+12|0]?0:d)){H[c+12|0]=0;c=J[c+8>>2];if((a|0)!=(c|0)?K[c+12|0]:0){break d}H[c+12|0]=1;return}if(b){if(!K[b+12|0]){d=c;break i}d=J[c+4>>2]}H[d+12|0]=1;H[c+12|0]=0;a=J[d>>2];J[c+4>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d>>2]=c;J[c+8>>2]=d;b=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[b+12|0]=1;b=J[c>>2];a=J[b+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[b+8>>2]=J[c+8>>2];a=J[c+8>>2];J[(((c|0)!=J[a>>2])<<2)+a>>2]=b;J[b+4>>2]=c;J[c+8>>2]=b;return}b=J[c+8>>2];c=J[((J[b>>2]==(c|0))<<2)+b>>2];continue}}H[g+12|0]=1}}function Gc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=fa-32|0;fa=h;a:{b:{if(J[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=pl(b<<2);J[h+24>>2]=b;J[h+20>>2]=0;J[h+16>>2]=c;b=J[a>>2];J[h+12>>2]=0;J[h+8>>2]=b;c=J[a+4>>2];J[h+4>>2]=c&31;J[h>>2]=b+(c>>>3&536870908);e=fa-32|0;fa=e;i=J[h+4>>2];g=J[h+12>>2];j=J[h>>2];d=J[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=J[h+20>>2];c=b+f|0;J[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){J[J[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=J[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<<g&-1>>>i-f;J[c>>2]=J[c>>2]&(i^-1)|i&J[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){ok(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;J[g>>2]=J[g>>2]&(b^-1)|b&J[c+d>>2];break c}J[e+28>>2]=g;J[e+24>>2]=d;J[e+20>>2]=i;J[e+16>>2]=j;J[e+12>>2]=f;J[e+8>>2]=c;b=J[e+28>>2];c=J[e+24>>2];g=(J[e+20>>2]-b|0)+(J[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=J[e+12>>2];d=J[e+8>>2];break d}e:{if(!b){b=J[e+12>>2];break e}d=J[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=J[e+8>>2];m=J[l>>2]&(-1<<d&-1>>>j-i^-1);j=J[c>>2]&(-1<<b&-1>>>k-f);J[l>>2]=m|(b>>>0<d>>>0?j<<d-b:j>>>b-d|0);c=d+i|0;b=c&31;J[e+12>>2]=b;d=l+(c>>>3&536870908)|0;J[e+8>>2]=d;c=f-i|0;if((c|0)>0){J[d>>2]=J[d>>2]&(-1>>>32-c^-1)|j>>>i+J[e+28>>2];J[e+12>>2]=c;b=c}g=g-f|0;c=J[e+24>>2]+4|0;J[e+24>>2]=c}i=-1<<b;f=32-b|0;if((g|0)>=32){j=i^-1;while(1){d=J[e+8>>2];c=J[c>>2];J[d>>2]=j&J[d>>2]|c<<b;J[e+8>>2]=d+4;J[d+4>>2]=i&J[d+4>>2]|c>>>f;c=J[e+24>>2]+4|0;J[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=J[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=J[d>>2]&(i&-1>>>j-f^-1);i=J[c>>2]&-1>>>32-g;J[d>>2]=j|i<<b;b=b+f|0;c=b&31;J[e+12>>2]=c;d=(b>>>3&536870908)+d|0;J[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}J[d>>2]=J[d>>2]&(-1>>>32-b^-1)|i>>>f;J[e+12>>2]=b}J[e+4>>2]=b;J[e>>2]=d}fa=e+32|0;b=J[a>>2];J[a>>2]=J[h+16>>2];J[h+16>>2]=b;c=J[a+4>>2];J[a+4>>2]=J[h+20>>2];J[h+20>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[h+24>>2];J[h+24>>2]=c;if(!b){break b}hl(b)}fa=h+32|0;return}Ia();C()}function xg(a){a=a|0;var 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;g=fa-16|0;fa=g;b=J[a+64>>2];a:{if(!b){break a}i=ka[J[J[b>>2]+32>>2]](b)|0;if(!i){break a}n=(J[i+28>>2]-J[i+24>>2]>>2)-J[i+44>>2]|0;b=J[a+56>>2];d=J[b+8>>2];b:{if((J[b+12>>2]-d|0)<5){break b}J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;c:{d:{while(1){e:{f:{if(!J[J[(c<<2)+d>>2]+56>>2]){break f}j=ka[J[J[a>>2]+56>>2]](a,c)|0;if(!j){break f}if(J[g+8>>2]!=(f|0)){J[f>>2]=j;f=f+4|0;J[g+4>>2]=f;break f}b=J[g>>2];h=f-b|0;f=h>>2;d=f+1|0;if(d>>>0>=1073741824){break e}e=h>>>1|0;d=h>>>0>=2147483644?1073741823:d>>>0<e>>>0?e:d;if(d){if(d>>>0>=1073741824){break d}e=pl(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=j;h=ok(e,b,h);J[g+8>>2]=h+(d<<2);f=f+4|0;J[g+4>>2]=f;J[g>>2]=h;if(!b){break f}hl(b)}m=J[a+56>>2];d=J[m+8>>2];c=c+1|0;if((c|0)<J[m+12>>2]-d>>2){continue}break c}break}Ia();C()}Ya();C()}j=J[g>>2];o=J[i+24>>2];b=J[i+28>>2];if((o|0)!=(b|0)){b=b-o>>2;q=b>>>0<=1?1:b;b=f-j>>2;r=b>>>0<=1?1:b;while(1){e=J[(p<<2)+o>>2];if((e|0)!=-1){g:{if((e|0)<0){c=(e>>>0)%3|0;b=-1;break g}b=(e>>>0)/3|0;c=e-P(b,3)|0;b=J[(J[m+96>>2]+P(b,12)|0)+(c<<2)>>2]}h:{i:{if(c){c=e-1|0;break i}c=e+2|0;if((c|0)!=-1){break i}l=0;break h}l=0;c=J[J[i+12>>2]+(c<<2)>>2];if((c|0)==-1){break h}j:{if((c>>>0)%3|0){d=c-1|0;break j}d=c+2|0;if((d|0)==-1){break h}}h=e;while(1){c=(d|0)<0?-1:J[(J[m+96>>2]+P((d>>>0)/3|0,12)|0)+((d>>>0)%3<<2)>>2];k:{if((b|0)==(c|0)){c=0;if((f|0)==(j|0)){c=b;break k}l:{while(1){k=J[J[(c<<2)+j>>2]+28>>2];if(J[k+(d<<2)>>2]!=J[k+(h<<2)>>2]){break l}c=c+1|0;if((r|0)!=(c|0)){continue}break}c=b;break k}c=b}l=l+1|0}if((d|0)==(e|0)|(d|0)==-1){break h}m:{if((d>>>0)%3|0){b=d-1|0;break m}b=d+2|0;if((b|0)==-1){break h}}k=J[J[i+12>>2]+(b<<2)>>2];if((k|0)==-1){break h}b=c;h=d;c=k+((k>>>0)%3|0?-1:2)|0;d=c;if((c|0)!=-1){continue}break}}c=1;b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;n:{if((b|0)==-1){break n}b=J[J[i+12>>2]+(b<<2)>>2];if((b|0)==-1){break n}c=b+1|0;c=(((c>>>0)%3|0?c:b-2|0)|0)==-1}n=(l+n|0)-((c^-1)&(l|0)!=0)|0}p=p+1|0;if((q|0)!=(p|0)){continue}break}}if(!j){break b}hl(j)}J[a+52>>2]=n}fa=g+16|0}function Ck(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=fa-128|0;fa=j;a:{b:{c:{if(!Uk(f,g,h,i,0,0,0,0)){break c}l=i&65535;n=i>>>16&32767;d:{e:{if((n|0)!=32767){k=4;if(n){break e}k=f|h|(g|l)?3:2;break d}k=!(f|h|(g|l))}}s=e>>>16|0;o=s&32767;if((o|0)==32767){break c}if(k){break b}}$k(j+16|0,b,c,d,e,f,g,h,i);b=J[j+16>>2];d=J[j+20>>2];e=J[j+24>>2];c=J[j+28>>2];Wk(j,b,d,e,c,b,d,e,c);d=J[j+8>>2];e=J[j+12>>2];h=J[j>>2];i=J[j+4>>2];break a}k=d;p=e&2147483647;n=h;m=i&2147483647;if((Uk(b,c,k,p,f,g,h,m)|0)<=0){if(Uk(b,c,k,p,f,g,n,m)){h=b;i=c;break a}$k(j+112|0,b,c,d,e,0,0,0,0);d=J[j+120>>2];e=J[j+124>>2];h=J[j+112>>2];i=J[j+116>>2];break a}q=i>>>16&32767;if(o){i=c;h=b}else{$k(j+96|0,b,c,k,p,0,0,0,1081540608);k=J[j+104>>2];h=J[j+108>>2];p=h;o=(h>>>16|0)-120|0;i=J[j+100>>2];h=J[j+96>>2]}if(!q){$k(j+80|0,f,g,n,m,0,0,0,1081540608);n=J[j+88>>2];f=J[j+92>>2];m=f;q=(f>>>16|0)-120|0;g=J[j+84>>2];f=J[j+80>>2]}r=n;t=m&65535|65536;p=p&65535|65536;if((o|0)>(q|0)){while(1){m=k-r|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;n=m-l|0;l=(p-((k>>>0<r>>>0)+t|0)|0)-(l>>>0>m>>>0)|0;f:{if((l|0)>0|(l|0)>=0){k=h;h=h-f|0;i=i-((f>>>0>k>>>0)+g|0)|0;if(!(h|n|(i|l))){$k(j+32|0,b,c,d,e,0,0,0,0);d=J[j+40>>2];e=J[j+44>>2];h=J[j+32>>2];i=J[j+36>>2];break a}l=l<<1|n>>>31;k=n<<1|i>>>31;break f}l=p<<1|k>>>31;k=k<<1|i>>>31}p=l;l=i<<1|h>>>31;h=h<<1;i=l;o=o-1|0;if((o|0)>(q|0)){continue}break}o=q}m=k-r|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;n=m-l|0;l=(p-((k>>>0<r>>>0)+t|0)|0)-(l>>>0>m>>>0)|0;m=l;g:{if((l|0)<0){n=k;m=p;break g}k=h;h=h-f|0;i=i-((f>>>0>k>>>0)+g|0)|0;if(h|n|(i|m)){break g}$k(j+48|0,b,c,d,e,0,0,0,0);d=J[j+56>>2];e=J[j+60>>2];h=J[j+48>>2];i=J[j+52>>2];break a}if((m|0)==65535|m>>>0<65535){while(1){b=i>>>31|0;o=o-1|0;p=i<<1|h>>>31;h=h<<1;i=p;c=b;b=m<<1|n>>>31;n=c|n<<1;m=b;if(b>>>0<65536){continue}break}}b=s&32768;if((o|0)<=0){$k(j- -64|0,h,i,n,m&65535|(b|o+120)<<16,0,0,0,1065811968);d=J[j+72>>2];e=J[j+76>>2];h=J[j+64>>2];i=J[j+68>>2];break a}d=n;e=m&65535|(b|o)<<16}J[a>>2]=h;J[a+4>>2]=i;J[a+8>>2]=d;J[a+12>>2]=e;fa=j+128|0}function Si(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=fa+-64|0;fa=f;a:{b:{c:{d:{e:{f:{if(!b){break f}e=xk(c);if(e>>>0>=2147483632){break e}g:{h:{if(e>>>0>=11){a=(e|15)+1|0;g=pl(a);J[f+56>>2]=a|-2147483648;J[f+48>>2]=g;a=e+g|0;break h}H[f+59|0]=e;g=f+48|0;a=e+g|0;if(!e){break g}}nk(g,c,e)}H[a|0]=0;e=xk(d);if(e>>>0>=2147483632){break d}i:{j:{if(e>>>0>=11){a=(e|15)+1|0;g=pl(a);J[f+40>>2]=a|-2147483648;J[f+32>>2]=g;a=e+g|0;break j}H[f+43|0]=e;g=f+32|0;a=e+g|0;if(!e){break i}}nk(g,d,e)}H[a|0]=0;e=xk(c);if(e>>>0>=2147483632){break c}k:{l:{if(e>>>0>=11){a=(e|15)+1|0;g=pl(a);J[f+24>>2]=a|-2147483648;J[f+16>>2]=g;J[f+20>>2]=e;a=e+g|0;break l}H[f+27|0]=e;g=f+16|0;a=e+g|0;if(!e){break k}}nk(g,c,e)}H[a|0]=0;c=xk(d);if(c>>>0>=2147483632){break b}m:{n:{if(c>>>0>=11){e=(c|15)+1|0;a=pl(e);J[f+8>>2]=e|-2147483648;J[f>>2]=a;J[f+4>>2]=c;g=a+c|0;break n}H[f+11|0]=c;g=c+f|0;a=f;if(!c){break m}}nk(a,d,c)}H[g|0]=0;e=fa-48|0;fa=e;d=cc(b,f+16|0);if((d|0)!=(b+4|0)){a=J[d+4>>2];o:{if(!a){a=d;while(1){c=J[a+8>>2];g=J[c>>2]!=(a|0);a=c;if(g){continue}break}break o}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((d|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;$j(J[b+4>>2],d);a=J[d+28>>2];if(a){J[d+32>>2]=a;hl(a)}if(H[d+27|0]<0){hl(J[d+16>>2])}hl(d)}g=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;c=K[f+11|0];d=c<<24>>24;p:{q:{h=J[f+4>>2];a=(d|0)<0?h:c;if(a){if((a|0)<0){break q}c=a;g=pl(a);a=pk(g,0,a);c=c+a|0;J[e+8>>2]=c;J[e+4>>2]=c;J[e>>2]=a;h=J[f+4>>2];c=K[f+11|0];d=c}a=d<<24>>24<0;nk(g,a?J[f>>2]:f,a?h:c);break p}Ia();C()}r:{if(H[f+27|0]>=0){J[e+24>>2]=J[f+24>>2];a=J[f+20>>2];J[e+16>>2]=J[f+16>>2];J[e+20>>2]=a;break r}tl(e+16|0,J[f+16>>2],J[f+20>>2])}Zj(e+28|0,e);a=e+16|0;ak(e+40|0,b,a,a);a=J[e+28>>2];if(a){J[e+32>>2]=a;hl(a)}if(H[e+27|0]<0){hl(J[e+16>>2])}a=J[e>>2];if(a){J[e+4>>2]=a;hl(a)}fa=e+48|0;if(H[f+11|0]<0){hl(J[f>>2])}if(H[f+27|0]<0){hl(J[f+16>>2])}if(H[f+43|0]<0){hl(J[f+32>>2])}if(H[f+59|0]>=0){break f}hl(J[f+48>>2])}fa=f- -64|0;a=(b|0)!=0;break a}xe();C()}xe();C()}xe();C()}xe();C()}return a|0}function Lj(a,b){var c=0,d=0,e=0,f=0;f=fa-16|0;fa=f;e=pl(32);J[f>>2]=e;J[f+4>>2]=30;J[f+8>>2]=-2147483616;c=K[1240]|K[1241]<<8|(K[1242]<<16|K[1243]<<24);d=K[1236]|K[1237]<<8|(K[1238]<<16|K[1239]<<24);H[e+22|0]=d;H[e+23|0]=d>>>8;H[e+24|0]=d>>>16;H[e+25|0]=d>>>24;H[e+26|0]=c;H[e+27|0]=c>>>8;H[e+28|0]=c>>>16;H[e+29|0]=c>>>24;c=K[1234]|K[1235]<<8|(K[1236]<<16|K[1237]<<24);d=K[1230]|K[1231]<<8|(K[1232]<<16|K[1233]<<24);H[e+16|0]=d;H[e+17|0]=d>>>8;H[e+18|0]=d>>>16;H[e+19|0]=d>>>24;H[e+20|0]=c;H[e+21|0]=c>>>8;H[e+22|0]=c>>>16;H[e+23|0]=c>>>24;c=K[1226]|K[1227]<<8|(K[1228]<<16|K[1229]<<24);d=K[1222]|K[1223]<<8|(K[1224]<<16|K[1225]<<24);H[e+8|0]=d;H[e+9|0]=d>>>8;H[e+10|0]=d>>>16;H[e+11|0]=d>>>24;H[e+12|0]=c;H[e+13|0]=c>>>8;H[e+14|0]=c>>>16;H[e+15|0]=c>>>24;c=K[1218]|K[1219]<<8|(K[1220]<<16|K[1221]<<24);d=K[1214]|K[1215]<<8|(K[1216]<<16|K[1217]<<24);H[e|0]=d;H[e+1|0]=d>>>8;H[e+2|0]=d>>>16;H[e+3|0]=d>>>24;H[e+4|0]=c;H[e+5|0]=c>>>8;H[e+6|0]=c>>>16;H[e+7|0]=c>>>24;H[e+30|0]=0;e=a+4|0;ni(e,f,b);if(H[f+11|0]<0){hl(J[f>>2])}a=pl(32);J[f>>2]=a;J[f+4>>2]=29;J[f+8>>2]=-2147483616;c=K[1308]|K[1309]<<8|(K[1310]<<16|K[1311]<<24);d=K[1304]|K[1305]<<8|(K[1306]<<16|K[1307]<<24);H[a+21|0]=d;H[a+22|0]=d>>>8;H[a+23|0]=d>>>16;H[a+24|0]=d>>>24;H[a+25|0]=c;H[a+26|0]=c>>>8;H[a+27|0]=c>>>16;H[a+28|0]=c>>>24;c=K[1303]|K[1304]<<8|(K[1305]<<16|K[1306]<<24);d=K[1299]|K[1300]<<8|(K[1301]<<16|K[1302]<<24);H[a+16|0]=d;H[a+17|0]=d>>>8;H[a+18|0]=d>>>16;H[a+19|0]=d>>>24;H[a+20|0]=c;H[a+21|0]=c>>>8;H[a+22|0]=c>>>16;H[a+23|0]=c>>>24;c=K[1295]|K[1296]<<8|(K[1297]<<16|K[1298]<<24);d=K[1291]|K[1292]<<8|(K[1293]<<16|K[1294]<<24);H[a+8|0]=d;H[a+9|0]=d>>>8;H[a+10|0]=d>>>16;H[a+11|0]=d>>>24;H[a+12|0]=c;H[a+13|0]=c>>>8;H[a+14|0]=c>>>16;H[a+15|0]=c>>>24;c=K[1287]|K[1288]<<8|(K[1289]<<16|K[1290]<<24);d=K[1283]|K[1284]<<8|(K[1285]<<16|K[1286]<<24);H[a|0]=d;H[a+1|0]=d>>>8;H[a+2|0]=d>>>16;H[a+3|0]=d>>>24;H[a+4|0]=c;H[a+5|0]=c>>>8;H[a+6|0]=c>>>16;H[a+7|0]=c>>>24;H[a+29|0]=0;ni(e,f,b);if(H[f+11|0]<0){hl(J[f>>2])}fa=f+16|0}function _j(a,b){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;j=fa-32|0;fa=j;J[a+4>>2]=0;J[a+8>>2]=0;c=a+16|0;J[c>>2]=0;J[c+4>>2]=0;i=a+4|0;J[a>>2]=i;J[a+12>>2]=c;f=J[b>>2];k=b+4|0;if((f|0)!=(k|0)){while(1){g=fa-16|0;fa=g;c=f+16|0;h=Ye(a,i,g+12|0,g+8|0,c);d=J[h>>2];if(d){c=0}else{d=pl(40);e=d+16|0;a:{if(H[c+11|0]>=0){l=J[c+4>>2];J[e>>2]=J[c>>2];J[e+4>>2]=l;J[e+8>>2]=J[c+8>>2];break a}tl(e,J[c>>2],J[c+4>>2])}Zj(d+28|0,c+12|0);J[d+8>>2]=J[g+12>>2];J[d>>2]=0;J[d+4>>2]=0;J[h>>2]=d;c=d;e=J[J[a>>2]>>2];if(e){J[a>>2]=e;c=J[h>>2]}We(J[a+4>>2],c);J[a+8>>2]=J[a+8>>2]+1;c=1}H[j+28|0]=c;J[j+24>>2]=d;fa=g+16|0;c=J[f+4>>2];b:{if(c){while(1){f=c;c=J[c>>2];if(c){continue}break b}}while(1){c=f;f=J[f+8>>2];if((c|0)!=J[f>>2]){continue}break}}if((f|0)!=(k|0)){continue}break}}f=J[b+12>>2];l=b+16|0;if((f|0)!=(l|0)){g=a+12|0;while(1){m=pl(24);_j(m,J[f+28>>2]);b=f+16|0;J[j+16>>2]=b;c:{d:{c=J[g+4>>2];e:{if(!c){d=g+4|0;b=d;break e}d=K[b+11|0];e=d<<24>>24<0;h=e?J[b>>2]:b;e=e?J[b+4>>2]:d;while(1){b=c;i=K[c+27|0];d=i<<24>>24<0;c=d?J[c+20>>2]:i;i=c>>>0<e>>>0;f:{g:{h:{i:{k=i?c:e;j:{if(k){d=d?J[b+16>>2]:b+16|0;n=tk(h,d,k);if(!n){if(c>>>0>e>>>0){break j}break i}if((n|0)>=0){break i}break j}if(c>>>0<=e>>>0){break h}}d=b;c=J[b>>2];if(c){continue}break e}c=tk(d,h,k);if(c){break g}}if(i){break f}break d}if((c|0)>=0){break d}}c=J[b+4>>2];if(c){continue}break}d=b+4|0}c=pl(32);h=c+16|0;e=J[j+16>>2];k:{if(H[e+11|0]>=0){i=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=i;J[h+8>>2]=J[e+8>>2];break k}tl(h,J[e>>2],J[e+4>>2])}J[c+8>>2]=b;J[c>>2]=0;J[c+4>>2]=0;J[c+28>>2]=0;J[d>>2]=c;b=c;e=J[J[g>>2]>>2];if(e){J[g>>2]=e;b=J[d>>2]}We(J[g+4>>2],b);J[g+8>>2]=J[g+8>>2]+1;b=1;break c}c=b;b=0}H[j+28|0]=b;J[j+24>>2]=c;c=J[j+24>>2];b=J[c+28>>2];J[c+28>>2]=m;if(b){Li(b+12|0,J[b+16>>2]);Mi(b,J[b+4>>2]);hl(b)}c=J[f+4>>2];l:{if(c){while(1){f=c;c=J[c>>2];if(c){continue}break l}}while(1){b=f;f=J[f+8>>2];if((b|0)!=J[f>>2]){continue}break}}if((f|0)!=(l|0)){continue}break}}fa=j+32|0;return a}function Hd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;J[a+8>>2]=e;m=a+32|0;g=J[m>>2];f=J[a+36>>2]-g>>2;a:{if(f>>>0<e>>>0){La(m,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=g+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){i=g;break c}f=1;i=d-1|0;q=i&1;d:{if((d|0)==2){i=g;break d}o=i&-2;i=g;while(1){j=(f<<2)+b|0;k=J[j+4>>2];j=J[j>>2];l=(j|0)<(i|0);i=l?j:i;p=(i|0)>(k|0);i=p?k:i;g=l?g:(g|0)<(j|0)?j:g;g=p?g:(g|0)<(k|0)?k:g;f=f+2|0;h=h+2|0;if((o|0)!=(h|0)){continue}break}}if(!q){break c}f=J[(f<<2)+b>>2];h=(f|0)<(i|0);i=h?f:i;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=i;f=g-i|0;g=(g>>31)-((i>>31)+(g>>>0<i>>>0)|0)|0;if(!g&f>>>0>2147483646|g){break b}f=f+1|0;J[a+20>>2]=f;g=f>>>1|0;J[a+24>>2]=g;J[a+28>>2]=0-g;if(f&1){break b}J[a+24>>2]=g-1}k=d-e|0;g=J[a+8>>2];if(!((k|0)<=0|(g|0)<=0)){p=0-e<<2;while(1){if((g|0)>0){d=k<<2;q=d+c|0;o=b+d|0;h=o+p|0;d=J[m>>2];i=0;while(1){f=d;if((g|0)>0){f=J[m>>2];g=0;while(1){j=g<<2;l=J[j+h>>2];n=J[a+16>>2];e:{if((l|0)>(n|0)){J[f+j>>2]=n;break e}j=f+j|0;n=J[a+12>>2];if((n|0)>(l|0)){J[j>>2]=n;break e}J[j>>2]=l}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}h=i<<2;g=h+q|0;h=J[h+o>>2]-J[f+h>>2]|0;J[g>>2]=h;f:{if((h|0)<J[a+28>>2]){h=h+J[a+20>>2]|0}else{if((h|0)<=J[a+24>>2]){break f}h=h-J[a+20>>2]|0}J[g>>2]=h}h=f;g=J[a+8>>2];i=i+1|0;if((g|0)>(i|0)){continue}break}}k=k-e|0;if((k|0)>0){continue}break}}i=0;d=e>>>0>1073741823?-1:e<<2;d=pk(pl(d),0,d);if((g|0)>0){e=J[a+32>>2];h=d;while(1){f=e;if((g|0)>0){f=J[m>>2];g=0;while(1){k=g<<2;j=J[k+h>>2];l=J[a+16>>2];g:{if((j|0)>(l|0)){J[f+k>>2]=l;break g}k=f+k|0;l=J[a+12>>2];if((l|0)>(j|0)){J[k>>2]=l;break g}J[k>>2]=j}g=g+1|0;if((g|0)<J[a+8>>2]){continue}break}}h=i<<2;g=h+c|0;h=J[b+h>>2]-J[f+h>>2]|0;J[g>>2]=h;h:{if((h|0)<J[a+28>>2]){h=h+J[a+20>>2]|0}else{if((h|0)<=J[a+24>>2]){break h}h=h-J[a+20>>2]|0}J[g>>2]=h}h=f;g=J[a+8>>2];i=i+1|0;if((g|0)>(i|0)){continue}break}}hl(d);return 1}function pb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=fa+-64|0;fa=d;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+48>>2]=1065353216;e=J[a+80>>2];J[d+24>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;a:{if(e){if(e>>>0>=1073741824){break a}c=e<<2;e=pl(c);J[d+16>>2]=e;g=c+e|0;J[d+24>>2]=g;pk(e,0,c);J[d+20>>2]=g;while(1){c=J[J[b>>2]>>2];g=J[b+48>>2];h=em(J[b+40>>2],J[b+44>>2],f,0);g=g+h|0;c=c+g|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[d+28>>2]=c;J[d+12>>2]=k;J[d+8>>2]=c;c=d+8|0;qb(d+56|0,d+32|0,c,c);b:{if(!K[d+60|0]){J[(f<<2)+e>>2]=J[J[d+56>>2]+12>>2];break b}e=J[a+40>>2];nk(J[J[a>>2]>>2]+P(e,k)|0,d+28|0,e);e=J[d+16>>2];J[e+(f<<2)>>2]=k;k=k+1|0}f=f+1|0;i=f?i:i+1|0;c=J[a+80>>2];if(!i&f>>>0<c>>>0){continue}break}if((c|0)!=(k|0)){c:{if(!K[a+84|0]){b=J[a+72>>2];f=J[a+68>>2];if((b|0)==(f|0)){break c}b=b-f>>2;c=b>>>0<=1?1:b;h=c&3;i=0;b=0;if(c-1>>>0>=3){l=c&-4;g=0;while(1){c=b<<2;j=c+f|0;J[j>>2]=J[(J[j>>2]<<2)+e>>2];j=f+(c|4)|0;J[j>>2]=J[(J[j>>2]<<2)+e>>2];j=f+(c|8)|0;J[j>>2]=J[(J[j>>2]<<2)+e>>2];c=f+(c|12)|0;J[c>>2]=J[(J[c>>2]<<2)+e>>2];b=b+4|0;g=g+4|0;if((l|0)!=(g|0)){continue}break}}if(!h){break c}while(1){c=f+(b<<2)|0;J[c>>2]=J[(J[c>>2]<<2)+e>>2];b=b+1|0;i=i+1|0;if((h|0)!=(i|0)){continue}break}break c}H[a+84|0]=0;b=a+68|0;i=J[a+68>>2];f=J[a+72>>2]-i>>2;d:{if(f>>>0<c>>>0){rb(b,c-f|0,2184);c=J[a+80>>2];break d}if(c>>>0>=f>>>0){break d}J[a+72>>2]=i+(c<<2)}if(!c){break c}f=J[b>>2];i=0;b=0;if(c>>>0>=4){l=c&-4;g=0;while(1){h=b<<2;J[h+f>>2]=J[e+h>>2];j=h|4;J[j+f>>2]=J[e+j>>2];j=h|8;J[j+f>>2]=J[e+j>>2];h=h|12;J[h+f>>2]=J[e+h>>2];b=b+4|0;g=g+4|0;if((l|0)!=(g|0)){continue}break}}c=c&3;if(!c){break c}while(1){g=b<<2;J[g+f>>2]=J[e+g>>2];b=b+1|0;i=i+1|0;if((c|0)!=(i|0)){continue}break}}J[a+80>>2]=k}hl(e)}b=J[d+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[d+32>>2];J[d+32>>2]=0;if(a){hl(a)}fa=d- -64|0;return k}Ia();C()}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;J[a+4>>2]=b;J[a+8>>2]=J[b+56>>2];J[a+188>>2]=J[a+184>>2];e=J[b+48>>2];c=pl(32);H[c+19|0]=0;b=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[c+15|0]=b;H[c+16|0]=b>>>8;H[c+17|0]=b>>>16;H[c+18|0]=b>>>24;b=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;a:{b:{b=J[e+4>>2];if(b){while(1){d=K[b+27|0];e=d<<24>>24<0;d=e?J[b+20>>2]:d;h=d>>>0<19;c:{d:{e:{f:{g:{h:{g=h?d:19;if(g){e=e?J[b+16>>2]:b+16|0;i=tk(c,e,g);if(i){break h}if(d>>>0<=19){break g}break c}if(d>>>0<=19){break f}break c}if((i|0)<0){break c}}d=tk(e,c,g);if(d){break e}}if(h){break d}break b}if((d|0)>=0){break b}}b=b+4|0}b=J[b>>2];if(b){continue}break}}hl(c);if((Pb(J[J[a+4>>2]+48>>2])|0)>=6){H[a+352|0]=1;break a}H[a+352|0]=0;break a}hl(c);e=J[J[a+4>>2]+48>>2];b=pl(32);J[f>>2]=b;J[f+4>>2]=19;J[f+8>>2]=-2147483616;c=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;j=a,k=si(e,f,0),H[j+352|0]=k;if(H[f+11|0]>=0){break a}hl(J[f>>2])}fa=f+16|0;return 1}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;J[a+4>>2]=b;J[a+8>>2]=J[b+56>>2];J[a+188>>2]=J[a+184>>2];e=J[b+48>>2];c=pl(32);H[c+19|0]=0;b=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[c+15|0]=b;H[c+16|0]=b>>>8;H[c+17|0]=b>>>16;H[c+18|0]=b>>>24;b=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;a:{b:{b=J[e+4>>2];if(b){while(1){d=K[b+27|0];e=d<<24>>24<0;d=e?J[b+20>>2]:d;h=d>>>0<19;c:{d:{e:{f:{g:{h:{g=h?d:19;if(g){e=e?J[b+16>>2]:b+16|0;i=tk(c,e,g);if(i){break h}if(d>>>0<=19){break g}break c}if(d>>>0<=19){break f}break c}if((i|0)<0){break c}}d=tk(e,c,g);if(d){break e}}if(h){break d}break b}if((d|0)>=0){break b}}b=b+4|0}b=J[b>>2];if(b){continue}break}}hl(c);if((Pb(J[J[a+4>>2]+48>>2])|0)>=6){H[a+288|0]=1;break a}H[a+288|0]=0;break a}hl(c);e=J[J[a+4>>2]+48>>2];b=pl(32);J[f>>2]=b;J[f+4>>2]=19;J[f+8>>2]=-2147483616;c=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;j=a,k=si(e,f,0),H[j+288|0]=k;if(H[f+11|0]>=0){break a}hl(J[f>>2])}fa=f+16|0;return 1}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-32|0;fa=c;d=a- -64|0;yb(J[d>>2],b);if(J[d>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+64>>2];if((d|0)>0){while(1){f=d-1|0;De(c,J[J[a+60>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d>>>0>1;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+76>>2],b);if(J[a+76>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+76>>2];if((d|0)>=2){while(1){f=d-2|0;De(c,J[J[a+72>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-1|0;De(c,J[J[a+72>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>3;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+88>>2],b);if(J[a+88>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+88>>2];if((d|0)>=3){while(1){f=d-3|0;De(c,J[J[a+84>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-2|0;De(c,J[J[a+84>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+84>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>5;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+100>>2],b);if(J[a+100>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+100>>2];if((d|0)>=4){while(1){f=d-4|0;De(c,J[J[a+96>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-3|0;De(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-2|0;De(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>7;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}J[c>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}f=c+4|0;Ba(b,J[b+4>>2],c,f);d=J[b+20>>2];e=J[b+16>>2];J[c>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c,f)}fa=c+32|0;return 1}
function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-32|0;fa=c;yb(J[a+48>>2],b);if(J[a+48>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+48>>2];if((d|0)>0){while(1){f=d-1|0;De(c,J[J[a+44>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d>>>0>1;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+60>>2],b);if(J[a+60>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+60>>2];if((d|0)>=2){while(1){f=d-2|0;De(c,J[J[a+56>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-1|0;De(c,J[J[a+56>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>3;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+72>>2],b);if(J[a+72>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+72>>2];if((d|0)>=3){while(1){f=d-3|0;De(c,J[J[a+68>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-2|0;De(c,J[J[a+68>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+68>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>5;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+84>>2],b);if(J[a+84>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+84>>2];if((d|0)>=4){while(1){f=d-4|0;De(c,J[J[a+80>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-3|0;De(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-2|0;De(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>7;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}J[c>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}f=c+4|0;Ba(b,J[b+4>>2],c,f);d=J[b+20>>2];e=J[b+16>>2];J[c>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c,f)}fa=c+32|0;return 1}function fe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=fa-32|0;fa=d;o=e<<2;f=e>>>0>1073741823?-1:o;l=pk(pl(f),0,f);f=J[a+40>>2];f=J[f+4>>2]-J[f>>2]|0;if((f|0)>=5){q=J[a+36>>2];p=J[a+32>>2];r=e&-2;s=e&1;t=a+8|0;f=f>>>2|0;while(1){j=J[a+40>>2];g=J[j>>2];a:{b:{h=J[j+4>>2]-g>>2;j=f-1|0;if(h>>>0>j>>>0){u=P(e,j);g=J[g+(j<<2)>>2];if((g|0)==-1){break b}g=J[J[p+12>>2]+(g<<2)>>2];if((g|0)==-1){break b}k=J[q>>2];h=J[p>>2];m=J[k+(J[h+(g<<2)>>2]<<2)>>2];i=g+1|0;i=(i>>>0)%3|0?i:g-2|0;if((i|0)!=-1){i=J[h+(i<<2)>>2]}else{i=-1}c:{d:{if((g>>>0)%3|0){g=g-1|0;break d}g=g+2|0;n=-1;if((g|0)==-1){break c}}n=J[h+(g<<2)>>2]}if((j|0)<=(m|0)){break b}g=J[(i<<2)+k>>2];if((g|0)>=(j|0)){break b}h=J[k+(n<<2)>>2];if((h|0)>=(j|0)){break b}e:{if((e|0)<=0){break e}h=P(e,h);k=P(e,g);m=P(e,m);g=0;n=0;if((e|0)!=1){while(1){J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2];i=g|1;J[(i<<2)+l>>2]=(J[(h+i<<2)+b>>2]+J[(i+k<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];g=g+2|0;n=n+2|0;if((r|0)!=(n|0)){continue}break}}if(!s){break e}J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2]}g=J[l>>2];h=J[l+4>>2];break a}Xc();C()}h=(P(f-2|0,e)<<2)+b|0;g=J[h>>2];h=J[h+4>>2]}k=u<<2;m=k+b|0;i=J[m+4>>2];J[d+16>>2]=J[m>>2];J[d+20>>2]=i;J[d+8>>2]=g;J[d+12>>2]=h;Qd(d+24|0,t,d+16|0,d+8|0);g=c+k|0;J[g>>2]=J[d+24>>2];J[g+4>>2]=J[d+28>>2];g=(f|0)>2;f=j;if(g){continue}break}}if((e|0)>0){pk(l,0,o)}e=J[l>>2];f=J[l+4>>2];g=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=g;J[d+8>>2]=e;J[d+12>>2]=f;Qd(d+24|0,a+8|0,d+16|0,d+8|0);J[c>>2]=J[d+24>>2];J[c+4>>2]=J[d+28>>2];hl(l);fa=d+32|0;return 1}function Zg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=J[a>>2];n=b-k|0;h=(n&-4)+k|0;i=d-c|0;if((i|0)<=0){return}a:{l=i>>2;g=J[a+8>>2];j=J[a+4>>2];if((l|0)<=g-j>>2){f=j-h|0;g=f>>2;if((g|0)>=(l|0)){b=j;g=d;break a}b=j;g=(g<<2)+c|0;if((g|0)!=(d|0)){e=g;while(1){J[b>>2]=J[e>>2];b=b+4|0;e=e+4|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=b;if((f|0)>0){break a}return}b:{f=l+(j-k>>2)|0;if(f>>>0<1073741824){e=g-k|0;g=e>>>1|0;m=e>>>0>=2147483644?1073741823:f>>>0<g>>>0?g:f;if(m){if(m>>>0>=1073741824){break b}g=pl(m<<2)}else{g=0}e=g+(n&-4)|0;f=e;if((c|0)!=(d|0)){f=nk(e,c,i&-4)+(l<<2)|0}c:{if((b|0)==(k|0)){break c}i=n-4|0;d=(i>>>2|0)+1&3;d:{if(!d){b=h;break d}c=0;b=h;while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(i>>>0<12){break c}while(1){J[e-4>>2]=J[b-4>>2];J[e-8>>2]=J[b-8>>2];J[e-12>>2]=J[b-12>>2];e=e-16|0;b=b-16|0;J[e>>2]=J[b>>2];if((b|0)!=(k|0)){continue}break}}if((h|0)!=(j|0)){while(1){J[f>>2]=J[h>>2];f=f+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}J[a+8>>2]=(m<<2)+g;J[a+4>>2]=f;J[a>>2]=e;if(k){hl(k)}return}Ia();C()}Ya();C()}d=l<<2;i=d+h|0;f=b;e=b-d|0;if(j>>>0>e>>>0){d=e;while(1){J[f>>2]=J[d>>2];f=f+4|0;d=d+4|0;if(j>>>0>d>>>0){continue}break}}J[a+4>>2]=f;e:{if((b|0)==(i|0)){break e}d=(b-i|0)-4|0;a=(d>>>2|0)+1&3;if(a){f=0;while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];f=f+1|0;if((a|0)!=(f|0)){continue}break}}if(d>>>0<12){break e}while(1){J[b-4>>2]=J[e-4>>2];J[b-8>>2]=J[e-8>>2];J[b-12>>2]=J[e-12>>2];b=b-16|0;e=e-16|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}if((c|0)==(g|0)){return}b=h;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}}function fk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=fa-16|0;fa=k;J[k+8>>2]=c;h=J[a+12>>2];d=J[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=J[a+16>>2];d=J[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=pk(e,0,d)+d|0}J[a+12>>2]=d;break a}b:{c:{d:{m=J[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=pl(e<<2)}h=(g<<2)+j|0;f=l<<2;i=pk(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=J[d>>2];J[d>>2]=0;h=h-4|0;J[h>>2]=f;if((d|0)!=(m|0)){continue}break}J[a+16>>2]=e;e=J[a+12>>2];J[a+12>>2]=g;d=J[a+8>>2];J[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=J[e>>2];J[e>>2]=0;if(f){Kb(f)}if((d|0)!=(e|0)){continue}break}break b}Ia();C()}Ya();C()}J[a+16>>2]=e;J[a+12>>2]=g;J[a+8>>2]=i}if(d){hl(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=J[h>>2];J[h>>2]=0;if(c){Kb(c)}if((d|0)!=(h|0)){continue}break}c=J[k+8>>2]}J[a+12>>2]=d}e:{f:{d=J[c+56>>2];g:{if((d|0)>4){break g}j=P(d,12)+a|0;d=J[j+24>>2];if((d|0)!=J[j+28>>2]){J[d>>2]=b;J[j+24>>2]=d+4;break g}i=J[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=pl(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=b;d=ok(d,i,g);J[j+20>>2]=d;J[j+24>>2]=f+4;J[j+28>>2]=d+(e<<2);if(!i){break g}hl(i)}J[c+60>>2]=b;a=J[a+8>>2];J[k+8>>2]=0;a=a+(b<<2)|0;b=J[a>>2];J[a>>2]=c;if(b){Kb(b)}a=J[k+8>>2];J[k+8>>2]=0;if(a){Kb(a)}fa=k+16|0;return}Ia();C()}Ya();C()}function qb(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=Q(0);j=J[c>>2];g=j^318;a:{b:{f=J[b+4>>2];if(!f){break b}h=hm(f);c:{if(h>>>0>=2){e=g;if(e>>>0>=f>>>0){e=(g>>>0)%(f>>>0)|0}c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}if(h>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}h=J[c+4>>2];if((h|0)!=(g|0)){if(f>>>0<=h>>>0){h=(h>>>0)%(f>>>0)|0}if((e|0)!=(h|0)){break b}}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}e=f-1&g;c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=J[c>>2];if(!c){break b}k=J[c+4>>2];if((k|0)!=(g|0)&(h&k)!=(e|0)){break b}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}c=pl(16);J[c+8>>2]=J[d>>2];d=J[d+4>>2];J[c+4>>2]=g;J[c+12>>2]=d;J[c>>2]=0;i=Q(J[b+12>>2]+1>>>0);l=N[b+16>>2];d:{if(i>Q(l*Q(f>>>0))?0:f){break d}d=2;h=(f-1&f)!=0|f>>>0<3|f<<1;i=Q(W(Q(i/l)));e:{if(i<Q(4294967296)&i>=Q(0)){e=~~i>>>0;break e}e=0}e=e>>>0<h>>>0?h:e;f:{if((e|0)==1){break f}if(!(e&e-1)){d=e;break f}d=dl(e);f=J[b+4>>2]}g:{if(d>>>0<=f>>>0){if(d>>>0>=f>>>0){break g}h=f>>>0<3;i=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(i<Q(4294967296)&i>=Q(0)){e=~~i>>>0;break h}e=0}i:{j:{if(h){break j}if(hm(f)>>>0>1){break j}e=e>>>0<2?e:1<<32-S(e-1|0);break i}e=dl(e)}d=d>>>0>e>>>0?d:e;if(f>>>0<=d>>>0){break g}}sb(b,d)}f=J[b+4>>2];d=f-1|0;if(!(d&f)){e=d&g;break d}if(f>>>0>g>>>0){e=g;break d}e=(g>>>0)%(f>>>0)|0}g=J[b>>2]+(e<<2)|0;d=J[g>>2];k:{l:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[g>>2]=d;d=J[c>>2];if(!d){break k}d=J[d+4>>2];g=f-1|0;m:{if(!(g&f)){d=d&g;break m}if(d>>>0<f>>>0){break m}d=(d>>>0)%(f>>>0)|0}d=J[b>>2]+(d<<2)|0;break l}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function id(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;J[a+8>>2]=e;J[a- -64>>2]=f;o=a+32|0;f=J[o>>2];g=J[a+36>>2]-f>>2;a:{if(g>>>0<e>>>0){La(o,e-g|0);break a}if(e>>>0>=g>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}f=J[b>>2];c:{if((d|0)<2){d=f;break c}h=1;g=d-1|0;n=g&1;d:{if((d|0)==2){d=f;break d}q=g&-2;g=0;d=f;while(1){j=(h<<2)+b|0;k=J[j+4>>2];l=J[j>>2];i=(l|0)<(d|0);d=i?l:d;j=(d|0)>(k|0);d=j?k:d;f=i?f:(f|0)<(l|0)?l:f;f=j?f:(f|0)<(k|0)?k:f;h=h+2|0;g=g+2|0;if((q|0)!=(g|0)){continue}break}}if(!n){break c}h=J[(h<<2)+b>>2];g=(h|0)<(d|0);d=g?h:d;f=g?f:(f|0)<(h|0)?h:f}J[a+16>>2]=f;J[a+12>>2]=d;g=f-d|0;f=(f>>31)-((d>>31)+(d>>>0>f>>>0)|0)|0;d=g;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}r=1;e:{d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)>=4){t=a+60|0;q=a+68|0;n=d>>>2|0;while(1){d=J[a+56>>2];f=J[d>>2];i=n-1|0;if(i>>>0>=J[d+4>>2]-f>>2>>>0){break e}r=jd(t,J[f+(i<<2)>>2],b,i);if(!r){return 0}f=J[a+8>>2];if((f|0)>0){d=P(e,i)<<2;k=d+c|0;l=b+d|0;j=J[o>>2];p=0;g=q;while(1){h=j;if((f|0)>0){h=J[o>>2];f=0;while(1){m=f<<2;s=J[m+g>>2];d=J[a+16>>2];f:{if((s|0)>(d|0)){J[h+m>>2]=d;break f}m=h+m|0;d=J[a+12>>2];if((d|0)>(s|0)){J[m>>2]=d;break f}J[m>>2]=s}f=f+1|0;if((f|0)<J[a+8>>2]){continue}break}}f=p<<2;d=f+k|0;f=J[f+l>>2]-J[f+h>>2]|0;J[d>>2]=f;g:{if((f|0)<J[a+28>>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break g}f=f-J[a+20>>2]|0}J[d>>2]=f}g=h;f=J[a+8>>2];p=p+1|0;if((f|0)>(p|0)){continue}break}}d=(n|0)>1;n=i;if(d){continue}break}}return r|0}Xc();C()}function Bd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;J[a+8>>2]=e;J[a- -64>>2]=f;o=a+32|0;f=J[o>>2];g=J[a+36>>2]-f>>2;a:{if(g>>>0<e>>>0){La(o,e-g|0);break a}if(e>>>0>=g>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}f=J[b>>2];c:{if((d|0)<2){d=f;break c}h=1;g=d-1|0;n=g&1;d:{if((d|0)==2){d=f;break d}q=g&-2;g=0;d=f;while(1){j=(h<<2)+b|0;k=J[j+4>>2];l=J[j>>2];i=(l|0)<(d|0);d=i?l:d;j=(d|0)>(k|0);d=j?k:d;f=i?f:(f|0)<(l|0)?l:f;f=j?f:(f|0)<(k|0)?k:f;h=h+2|0;g=g+2|0;if((q|0)!=(g|0)){continue}break}}if(!n){break c}h=J[(h<<2)+b>>2];g=(h|0)<(d|0);d=g?h:d;f=g?f:(f|0)<(h|0)?h:f}J[a+16>>2]=f;J[a+12>>2]=d;g=f-d|0;f=(f>>31)-((d>>31)+(d>>>0>f>>>0)|0)|0;d=g;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}r=1;e:{d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)>=4){t=a+60|0;q=a+68|0;n=d>>>2|0;while(1){d=J[a+56>>2];f=J[d>>2];i=n-1|0;if(i>>>0>=J[d+4>>2]-f>>2>>>0){break e}r=Cd(t,J[f+(i<<2)>>2],b,i);if(!r){return 0}f=J[a+8>>2];if((f|0)>0){d=P(e,i)<<2;k=d+c|0;l=b+d|0;j=J[o>>2];p=0;g=q;while(1){h=j;if((f|0)>0){h=J[o>>2];f=0;while(1){m=f<<2;s=J[m+g>>2];d=J[a+16>>2];f:{if((s|0)>(d|0)){J[h+m>>2]=d;break f}m=h+m|0;d=J[a+12>>2];if((d|0)>(s|0)){J[m>>2]=d;break f}J[m>>2]=s}f=f+1|0;if((f|0)<J[a+8>>2]){continue}break}}f=p<<2;d=f+k|0;f=J[f+l>>2]-J[f+h>>2]|0;J[d>>2]=f;g:{if((f|0)<J[a+28>>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break g}f=f-J[a+20>>2]|0}J[d>>2]=f}g=h;f=J[a+8>>2];p=p+1|0;if((f|0)>(p|0)){continue}break}}d=(n|0)>1;n=i;if(d){continue}break}}return r|0}Xc();C()}function ch(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=Q(0);h=J[c>>2];a:{b:{e=J[b+4>>2];if(!e){break b}g=hm(e);c:{if(g>>>0>=2){f=h;if(f>>>0>=e>>>0){f=(h>>>0)%(e>>>0)|0}c=J[J[b>>2]+(f<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(h|0)){if(e>>>0<=g>>>0){g=(g>>>0)%(e>>>0)|0}if((f|0)!=(g|0)){break b}}if(J[c+8>>2]!=(h|0)){continue}break}b=0;break a}f=e-1&h;c=J[J[b>>2]+(f<<2)>>2];if(!c){break b}}g=e-1|0;while(1){c=J[c>>2];if(!c){break b}j=J[c+4>>2];if((j|0)!=(h|0)&(g&j)!=(f|0)){break b}if(J[c+8>>2]!=(h|0)){continue}break}b=0;break a}c=pl(16);d=J[J[d>>2]>>2];J[c+12>>2]=0;J[c+8>>2]=d;J[c+4>>2]=h;J[c>>2]=0;k=Q(J[b+12>>2]+1>>>0);i=N[b+16>>2];d:{if(k>Q(i*Q(e>>>0))?0:e){break d}f=2;g=(e-1&e)!=0|e>>>0<3|e<<1;i=Q(W(Q(k/i)));e:{if(i<Q(4294967296)&i>=Q(0)){d=~~i>>>0;break e}d=0}d=d>>>0<g>>>0?g:d;f:{if((d|0)==1){break f}if(!(d&d-1)){f=d;break f}f=dl(d);e=J[b+4>>2]}g:{if(e>>>0>=f>>>0){if(e>>>0<=f>>>0){break g}g=e>>>0<3;i=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(i<Q(4294967296)&i>=Q(0)){d=~~i>>>0;break h}d=0}i:{j:{if(g){break j}if(hm(e)>>>0>1){break j}d=d>>>0<2?d:1<<32-S(d-1|0);break i}d=dl(d)}f=d>>>0<f>>>0?f:d;if(f>>>0>=e>>>0){break g}}sb(b,f)}e=J[b+4>>2];d=e-1|0;if(!(d&e)){f=d&h;break d}if(e>>>0>h>>>0){f=h;break d}f=(h>>>0)%(e>>>0)|0}f=J[b>>2]+(f<<2)|0;d=J[f>>2];k:{l:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[f>>2]=d;d=J[c>>2];if(!d){break k}d=J[d+4>>2];f=e-1|0;m:{if(!(f&e)){d=d&f;break m}if(d>>>0<e>>>0){break m}d=(d>>>0)%(e>>>0)|0}d=J[b>>2]+(d<<2)|0;break l}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function Pd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=fa-32|0;fa=d;p=e<<2;f=e>>>0>1073741823?-1:p;l=pk(pl(f),0,f);f=J[a+40>>2];f=J[f+4>>2]-J[f>>2]|0;if((f|0)>=5){q=J[a+36>>2];n=J[a+32>>2];r=e&-2;s=e&1;t=a+8|0;f=f>>>2|0;while(1){j=J[a+40>>2];g=J[j>>2];a:{b:{h=J[j+4>>2]-g>>2;j=f-1|0;if(h>>>0>j>>>0){u=P(e,j);g=J[g+(j<<2)>>2];if((g|0)==-1|J[J[n>>2]+(g>>>3&536870908)>>2]>>>g&1){break b}g=J[J[J[n+64>>2]+12>>2]+(g<<2)>>2];if((g|0)==-1){break b}k=J[q>>2];h=J[n+28>>2];m=J[k+(J[h+(g<<2)>>2]<<2)>>2];if((m|0)>=(j|0)){break b}i=g+1|0;i=J[k+(J[h+(((i>>>0)%3|0?i:g-2|0)<<2)>>2]<<2)>>2];if((i|0)>=(j|0)){break b}g=J[k+(J[h+(g+((g>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(j|0)){break b}c:{if((e|0)<=0){break c}h=P(e,g);k=P(e,i);m=P(e,m);g=0;o=0;if((e|0)!=1){while(1){J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2];i=g|1;J[(i<<2)+l>>2]=(J[(h+i<<2)+b>>2]+J[(i+k<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];g=g+2|0;o=o+2|0;if((r|0)!=(o|0)){continue}break}}if(!s){break c}J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2]}g=J[l>>2];h=J[l+4>>2];break a}Xc();C()}h=(P(f-2|0,e)<<2)+b|0;g=J[h>>2];h=J[h+4>>2]}k=u<<2;m=k+b|0;i=J[m+4>>2];J[d+16>>2]=J[m>>2];J[d+20>>2]=i;J[d+8>>2]=g;J[d+12>>2]=h;Qd(d+24|0,t,d+16|0,d+8|0);g=c+k|0;J[g>>2]=J[d+24>>2];J[g+4>>2]=J[d+28>>2];g=(f|0)>2;f=j;if(g){continue}break}}if((e|0)>0){pk(l,0,p)}e=J[l>>2];f=J[l+4>>2];g=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=g;J[d+8>>2]=e;J[d+12>>2]=f;Qd(d+24|0,a+8|0,d+16|0,d+8|0);J[c>>2]=J[d+24>>2];J[c+4>>2]=J[d+28>>2];hl(l);fa=d+32|0;return 1}function Ee(a,b){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;g=fa-32|0;fa=g;e=J[a>>2];d=J[e>>2];c=J[e+4>>2];k=+(d>>>0)+ +(c>>>0)*4294967296;c=J[e+12>>2]+c|0;i=d;d=J[e+8>>2];e=i+d|0;c=e>>>0<d>>>0?c+1|0:c;i=e;e=!(c|e);k=k/(+((e?1:i)>>>0)+ +((e?0:c)>>>0)*4294967296)*256+.5;a:{if(k<4294967296&k>=0){c=~~k>>>0;break a}c=0}c=c>>>0>=255?255:c;l=!c+c|0;H[g+23|0]=l;j=J[a+16>>2];p=J[a+12>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;b:{c:{c=(j-p<<1)- -64|0;if(c){if((c|0)<0){break c}h=pl(c);pk(h,0,c)}c=J[a+28>>2]-1|0;if((c|0)<0){d=4096;break b}m=0-l|0;q=m&255;i=J[a+24>>2];d=4096;while(1){n=i&1<<c;e=(n?m:l)&255;if(e<<12>>>0<=d>>>0){H[f+h|0]=d;f=f+1|0;d=d>>>8|0}o=(e<<3)+12784|0;em(J[o>>2],0,d,0);d=((n?0:q)+d|0)+P(256-e|0,ja+d>>>J[o+4>>2]|0)|0;c=c-1|0;if((c|0)>=0){continue}break}break b}Ia();C()}if((j|0)!=(p|0)){m=0-l|0;q=m&255;while(1){j=j-4|0;i=J[j>>2];c=31;while(1){e=c;n=i&1<<c;c=(n?m:l)&255;if(c<<12>>>0<=d>>>0){H[f+h|0]=d;f=f+1|0;d=d>>>8|0}o=(c<<3)+12784|0;em(J[o>>2],0,d,0);d=((n?0:q)+d|0)+P(256-c|0,ja+d>>>J[o+4>>2]|0)|0;c=e-1|0;if(e){continue}break}if((j|0)!=(p|0)){continue}break}}c=d-4096|0;d:{if(c>>>0<=63){H[f+h|0]=d;f=f+1|0;break d}if(c>>>0<=16383){c=f+h|0;H[c|0]=d;H[c+1|0]=d+12288>>>8;f=f+2|0;break d}if(c>>>0>4194303){break d}c=f+h|0;H[c|0]=d;e=d+8384512|0;H[c+2|0]=e>>>16;H[c+1|0]=e>>>8;f=f+3|0}c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],g+23|0,g+24|0)}yb(f,b);c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],h,f+h|0)}J[g+24>>2]=0;J[g+28>>2]=0;Be(a,g+24|0);J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=J[a+12>>2];if(h){hl(h)}fa=g+32|0}function Fe(a){var b=0,c=0,d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=0;J[a+8>>2]=0;c=a+16|0;b=c;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;b=a+28|0;J[b>>2]=0;J[b+4>>2]=0;J[a+12>>2]=c;J[a+24>>2]=b;b=pl(32);J[d>>2]=b;J[d+4>>2]=20;J[d+8>>2]=-2147483616;c=K[1359]|K[1360]<<8|(K[1361]<<16|K[1362]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1355]|K[1356]<<8|(K[1357]<<16|K[1358]<<24);e=K[1351]|K[1352]<<8|(K[1353]<<16|K[1354]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1347]|K[1348]<<8|(K[1349]<<16|K[1350]<<24);e=K[1343]|K[1344]<<8|(K[1345]<<16|K[1346]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+20|0]=0;e=a+24|0;ni(e,d,1);if(H[d+11|0]<0){hl(J[d>>2])}a=pl(32);J[d>>2]=a;J[d+4>>2]=22;J[d+8>>2]=-2147483616;b=K[1338]|K[1339]<<8|(K[1340]<<16|K[1341]<<24);c=K[1334]|K[1335]<<8|(K[1336]<<16|K[1337]<<24);H[a+14|0]=c;H[a+15|0]=c>>>8;H[a+16|0]=c>>>16;H[a+17|0]=c>>>24;H[a+18|0]=b;H[a+19|0]=b>>>8;H[a+20|0]=b>>>16;H[a+21|0]=b>>>24;b=K[1332]|K[1333]<<8|(K[1334]<<16|K[1335]<<24);c=K[1328]|K[1329]<<8|(K[1330]<<16|K[1331]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1324]|K[1325]<<8|(K[1326]<<16|K[1327]<<24);c=K[1320]|K[1321]<<8|(K[1322]<<16|K[1323]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+22|0]=0;ni(e,d,1);if(H[d+11|0]<0){hl(J[d>>2])}fa=d+16|0}function Kj(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=J[a+8>>2];e=J[a+4>>2];if((f-e|0)/12>>>0>=b>>>0){a:{if(!b){break a}d=e;g=P(b,12)-12|0;h=((g>>>0)/12|0)+1&3;if(h){while(1){f=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=f;J[d+8>>2]=J[c+8>>2];d=d+12|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}e=P(b,12)+e|0;if(g>>>0<36){break a}while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];J[d+20>>2]=J[c+8>>2];b=J[c+4>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=b;J[d+32>>2]=J[c+8>>2];b=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=b;b=J[c+4>>2];J[d+36>>2]=J[c>>2];J[d+40>>2]=b;J[d+44>>2]=J[c+8>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{d=J[a>>2];h=(e-d|0)/12|0;g=h+b|0;if(g>>>0<357913942){f=(f-d|0)/12|0;d=f<<1;k=f>>>0>=178956970?357913941:d>>>0>g>>>0?d:g;if(k){if(k>>>0>=357913942){break b}l=pl(P(k,12))}i=P(h,12)+l|0;d=i;g=P(b,12);h=g-12|0;f=((h>>>0)/12|0)+1&3;if(f){while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];d=d+12|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}f=g+i|0;if(h>>>0>=36){while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];J[d+20>>2]=J[c+8>>2];b=J[c+4>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=b;J[d+32>>2]=J[c+8>>2];b=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=b;b=J[c+4>>2];J[d+36>>2]=J[c>>2];J[d+40>>2]=b;J[d+44>>2]=J[c+8>>2];d=d+48|0;if((f|0)!=(d|0)){continue}break}}c=J[a>>2];if((c|0)!=(e|0)){while(1){e=e-12|0;b=J[e+4>>2];i=i-12|0;d=i;J[d>>2]=J[e>>2];J[d+4>>2]=b;J[d+8>>2]=J[e+8>>2];if((c|0)!=(e|0)){continue}break}e=J[a>>2]}J[a+8>>2]=P(k,12)+l;J[a+4>>2]=f;J[a>>2]=i;if(e){hl(e)}return}Ia();C()}Ya();C()}function Mg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=fa-112|0;fa=c;d=pl(120);i=J[a+8>>2];J[d+12>>2]=0;J[d+16>>2]=0;J[d>>2]=11224;J[d+4>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+8>>2]=11436;e=d- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+116>>2]=0;J[d+112>>2]=b;J[d+108>>2]=i;J[d+104>>2]=0;J[d+96>>2]=0;J[d+100>>2]=0;g=J[a+12>>2];J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;f=c+32|0;e=f;J[e>>2]=0;J[e+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;e=c- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+104>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+8>>2]=11436;J[c+96>>2]=0;J[c+100>>2]=0;J[c+12>>2]=g;h=J[g>>2];e=J[g+4>>2];H[c+111|0]=0;j=f;f=c+111|0;Jg(j,(e-h>>2>>>0)/3|0,f);e=J[c+12>>2];h=J[e+28>>2];e=J[e+24>>2];H[c+111|0]=0;Jg(c+44|0,h-e>>2,f);J[c+28>>2]=d;J[c+24>>2]=i;J[c+20>>2]=b;J[c+16>>2]=g;J[d+116>>2]=a+72;a=d+8|0;b=c+8|0;Kg(a,b);a:{if((a|0)==(b|0)){J[d+92>>2]=J[b+84>>2];break a}Lg(d+56|0,J[b+48>>2],J[b+52>>2]);Lg(d+68|0,J[b+60>>2],J[b- -64>>2]);Lg(d+80|0,J[b+72>>2],J[b+76>>2]);J[d+92>>2]=J[b+84>>2];ec(d+96|0,J[b+88>>2],J[b+92>>2])}J[c+8>>2]=11436;a=J[c+96>>2];if(a){J[c+100>>2]=a;hl(a)}a=J[c+80>>2];if(a){J[c+84>>2]=a;hl(a)}a=J[c+68>>2];if(a){J[c+72>>2]=a;hl(a)}a=J[c+56>>2];if(a){J[c+60>>2]=a;hl(a)}J[c+8>>2]=11672;a=J[c+44>>2];if(a){hl(a)}a=J[c+32>>2];if(a){hl(a)}fa=c+112|0;return d}function ni(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=fa-48|0;fa=g;f=fa-32|0;fa=f;h=f+21|0;d=h;l=f+32|0;e=l;if(!((d|0)==(e|0)|(c|0)>=0)){H[d|0]=45;d=d+1|0;c=0-c|0}i=e-d|0;a:{if((i|0)<=9){j=P(32-S(c|1)|0,1233)>>12;k=61;if((i|0)<((M[(j<<2)+18192>>2]<=c>>>0)+j|0)){break a}}b:{if(c>>>0<=999999){if(c>>>0<=9999){if(c>>>0<=99){if(c>>>0<=9){H[d|0]=c+48;e=d+1|0;break b}e=yl(d,c);break b}if(c>>>0<=999){e=(c>>>0)/100|0;H[d|0]=e+48;e=yl(d+1|0,c-P(e,100)|0);break b}e=zl(d,c);break b}if(c>>>0<=99999){e=(c>>>0)/1e4|0;H[d|0]=e+48;e=zl(d+1|0,c-P(e,1e4)|0);break b}e=Al(d,c);break b}if(c>>>0<=99999999){if(c>>>0<=9999999){e=(c>>>0)/1e6|0;H[d|0]=e+48;e=Al(d+1|0,c-P(e,1e6)|0);break b}e=Bl(d,c);break b}if(c>>>0<=999999999){e=(c>>>0)/1e8|0;H[d|0]=e+48;e=Bl(d+1|0,c-P(e,1e8)|0);break b}e=d;d=(c>>>0)/1e8|0;e=Bl(yl(e,d),c-P(d,1e8)|0)}k=0}J[f+12>>2]=k;J[f+8>>2]=e;j=fa-16|0;fa=j;e=fa-16|0;fa=e;c=g+8|0;c:{i=J[f+8>>2];f=i-h|0;if(f>>>0<=2147483631){d:{if(f>>>0<11){H[c+11|0]=f|K[c+11|0]&128;H[c+11|0]=K[c+11|0]&127;d=c;break d}k=e+8|0;if(f>>>0>=11){m=f+16&-16;d=m-1|0;d=(d|0)==11?m:d}else{d=10}ml(k,d+1|0);d=J[e+8>>2];J[c>>2]=d;J[c+8>>2]=J[c+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[c+8>>2]=J[c+8>>2]|-2147483648;J[c+4>>2]=f}while(1){if((h|0)!=(i|0)){H[d|0]=K[h|0];d=d+1|0;h=h+1|0;continue}break}H[e+7|0]=0;H[d|0]=K[e+7|0];fa=e+16|0;break c}xe();C()}fa=j+16|0;fa=l;J[g+32>>2]=b;Ze(g+40|0,a,b,g+32|0);a=J[g+40>>2];if(H[a+39|0]<0){hl(J[a+28>>2])}b=J[g+12>>2];J[a+28>>2]=J[g+8>>2];J[a+32>>2]=b;J[a+36>>2]=J[g+16>>2];fa=g+48|0}function ik(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0);a:{b:{c:{d:{d=2;e:{if((b|0)==1){break e}d=b;if(!(b-1&b)){break e}d=dl(b)}b=J[a+4>>2];if(d>>>0<=b>>>0){if(b>>>0<=d>>>0){break a}e=b>>>0<3;i=Q(W(Q(Q(M[a+12>>2])/N[a+20>>2])));f:{if(i<Q(4294967296)&i>=Q(0)){c=~~i>>>0;break f}c=0}g:{h:{if(e){break h}if(hm(b)>>>0>1){break h}c=c>>>0<2?c:1<<32-S(c-1|0);break g}c=dl(c)}d=c>>>0<d>>>0?d:c;if(b>>>0<=d>>>0){break a}if(!d){break d}}if(d>>>0>=1073741824){break c}c=pl(d<<2);b=J[a>>2];J[a>>2]=c;if(b){hl(b)}J[a+4>>2]=d;e=0;b=0;if(d-1>>>0>=3){g=d&-4;while(1){c=b<<2;J[c+J[a>>2]>>2]=0;J[J[a>>2]+(c|4)>>2]=0;J[J[a>>2]+(c|8)>>2]=0;J[J[a>>2]+(c|12)>>2]=0;b=b+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}c=d&3;if(c){while(1){J[J[a>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}b=J[a+8>>2];if(!b){break a}c=a+8|0;f=J[b+4>>2];e=d-1|0;if(!(e&d)){break b}f=d>>>0<=f>>>0?(f>>>0)%(d>>>0)|0:f;J[J[a>>2]+(f<<2)>>2]=c;while(1){c=J[b>>2];if(!c){break a}e=J[c+4>>2];if(e>>>0>=d>>>0){e=(e>>>0)%(d>>>0)|0}if((e|0)==(f|0)){b=c;continue}g=e<<2;h=g+J[a>>2]|0;if(J[h>>2]){J[b>>2]=J[c>>2];J[c>>2]=J[J[g+J[a>>2]>>2]>>2];J[J[g+J[a>>2]>>2]>>2]=c}else{J[h>>2]=b;b=c;f=e}continue}}b=J[a>>2];J[a>>2]=0;if(b){hl(b)}J[a+4>>2]=0;break a}Ya();C()}f=e&f;J[J[a>>2]+(f<<2)>>2]=c;while(1){c=J[b>>2];if(!c){break a}d=e&J[c+4>>2];if((d|0)==(f|0)){b=c;continue}g=d<<2;h=g+J[a>>2]|0;if(J[h>>2]){J[b>>2]=J[c>>2];J[c>>2]=J[J[g+J[a>>2]>>2]>>2];J[J[g+J[a>>2]>>2]>>2]=c}else{J[h>>2]=b;b=c;f=d}continue}}}function Mb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=fa-32|0;fa=h;e=a+4|0;a=cc(a,b);a:{if((e|0)==(a|0)){break a}b:{if(H[a+39|0]>=0){J[h+24>>2]=J[a+36>>2];b=J[a+32>>2];J[h+16>>2]=J[a+28>>2];J[h+20>>2]=b;break b}tl(h+16|0,J[a+28>>2],J[a+32>>2])}b=K[h+27|0];a=b<<24>>24;if(!(!((a|0)<0?J[h+20>>2]:b)|(c|0)<=0)){b=0;a=(a|0)<0?J[h+16>>2]:h+16|0;while(1){c:{l=fa-16|0;fa=l;Ek(l,a,h+12|0,0);j=J[l>>2];k=J[l+4>>2];i=fa-32|0;fa=i;n=J[l+12>>2];g=n&2147483647;e=g-1065418752|0;m=g-1082064896|0;f=J[l+8>>2];d:{if((e|0)==(m|0)&f>>>0<f>>>0|e>>>0<m>>>0){g=(n&33554431)<<7|f>>>25;e=0;m=e;f=f&33554431;if(!(!e&(f|0)==16777216?!(j|k):!e&f>>>0<16777216)){e=g+1073741825|0;break d}e=g+1073741824|0;if(f^16777216|j|(k|m)){break d}e=(g&1)+e|0;break d}if(!(!f&(g|0)==2147418112?!(j|k):g>>>0<2147418112)){e=((n&33554431)<<7|f>>>25)&4194303|2143289344;break d}e=2139095040;if(g>>>0>1082064895){break d}e=0;g=g>>>16|0;if(g>>>0<16145){break d}e=n&65535|65536;Tk(i+16|0,j,k,f,e,g-16129|0);_k(i,j,k,f,e,16257-g|0);f=J[i+8>>2];e=(J[i+12>>2]&33554431)<<7|f>>>25;g=J[i>>2]|(J[i+16>>2]|J[i+24>>2]|(J[i+20>>2]|J[i+28>>2]))!=0;k=J[i+4>>2];j=0;f=f&33554431;if(!(!j&(f|0)==16777216?!(g|k):!j&f>>>0<16777216)){e=e+1|0;break d}if(f^16777216|g|(j|k)){break d}e=(e&1)+e|0}fa=i+32|0;fa=l+16|0;m=a;a=J[h+12>>2];if((m|0)==(a|0)){break c}J[(b<<2)+d>>2]=n&-2147483648|e;b=b+1|0;if((c|0)!=(b|0)){continue}}break}a=K[h+27|0]}if(a<<24>>24>=0){break a}hl(J[h+16>>2])}fa=h+32|0}function ve(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=J[b+48>>2];d=fa-32|0;fa=d;J[d+28>>2]=a;a=0;a:{if((Pb(f)|0)>9){break a}if((ka[J[J[b>>2]+8>>2]](b)|0)!=1){break a}a=pl(32);J[d+16>>2]=a;J[d+20>>2]=17;J[d+24>>2]=-2147483616;H[a+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);c=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=e;H[a+13|0]=e>>>8;H[a+14|0]=e>>>16;H[a+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);c=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=e;H[a+5|0]=e>>>8;H[a+6|0]=e>>>16;H[a+7|0]=e>>>24;H[a+17|0]=0;a=Gb(f,d+28|0,d+16|0,-1);if(H[d+27|0]<0){hl(J[d+16>>2])}c=J[b+4>>2];e=J[J[c+8>>2]+(J[d+28>>2]<<2)>>2];b:{if((a|0)==-1|J[e+56>>2]!=3|K[e+24|0]!=2){break b}c=dk(c);if(!c){break b}c=J[c+28>>2];if(!(2558>>>c&c>>>0<12)){h=d,i=ck(J[b+4>>2],0),J[h+12>>2]=i;c=we(d+16|0,1245);g=Gb(f,d+12|0,c,-1);if(H[c+11|0]<0){hl(J[c>>2])}if((a+(g<<1)|0)>63|g-1>>>0>20){break b}}a=5;if((Pb(f)|0)<4){break a}}a=J[e+56>>2];e=Pb(f);if((a|0)==1){c:{if((e|0)>3){break c}h=d,i=ck(J[b+4>>2],0),J[h+12>>2]=i;a=dk(J[b+4>>2]);if(!a){break c}a=J[a+28>>2];if(2558>>>a&a>>>0<12){a=6;break a}a=we(d+16|0,1245);b=Gb(f,d+12|0,a,-1);if(H[a+11|0]<0){hl(J[a>>2])}a=6;if((b|0)>0){break a}}a=0;break a}a=0;if((e|0)>7){break a}a=1;if((Pb(f)|0)>1){break a}a=M[J[b+4>>2]+80>>2]<40?1:4}fa=d+32|0;return a}function zf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Af(a,i,c,h,e);f=b;b=e+j|0;Af(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}zf(a,i,c,h,e,f);zf(i,b,c,g,e,f);Bf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function wf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){xf(a,i,c,h,e);f=b;b=e+j|0;xf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}wf(a,i,c,h,e,f);wf(i,b,c,g,e,f);yf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function qg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){rg(a,i,c,h,e);f=b;b=e+j|0;rg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}qg(a,i,c,h,e,f);qg(i,b,c,g,e,f);sg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function ng(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){og(a,i,c,h,e);f=b;b=e+j|0;og(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}ng(a,i,c,h,e,f);ng(i,b,c,g,e,f);pg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function nf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){qf(a,i,c,h,e);f=b;b=e+j|0;qf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}nf(a,i,c,h,e,f);nf(i,b,c,g,e,f);rf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function kg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){lg(a,i,c,h,e);f=b;b=e+j|0;lg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}kg(a,i,c,h,e,f);kg(i,b,c,g,e,f);mg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function hg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){ig(a,i,c,h,e);f=b;b=e+j|0;ig(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}hg(a,i,c,h,e,f);hg(i,b,c,g,e,f);jg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function eg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){fg(a,i,c,h,e);f=b;b=e+j|0;fg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}eg(a,i,c,h,e,f);eg(i,b,c,g,e,f);gg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function bg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){cg(a,i,c,h,e);f=b;b=e+j|0;cg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}bg(a,i,c,h,e,f);bg(i,b,c,g,e,f);dg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function _f(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){$f(a,i,c,h,e);f=b;b=e+j|0;$f(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}_f(a,i,c,h,e,f);_f(i,b,c,g,e,f);ag(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Xf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Yf(a,i,c,h,e);f=b;b=e+j|0;Yf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Xf(a,i,c,h,e,f);Xf(i,b,c,g,e,f);Zf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Uf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Vf(a,i,c,h,e);f=b;b=e+j|0;Vf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Uf(a,i,c,h,e,f);Uf(i,b,c,g,e,f);Wf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Rf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Sf(a,i,c,h,e);f=b;b=e+j|0;Sf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Rf(a,i,c,h,e,f);Rf(i,b,c,g,e,f);Tf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Of(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Pf(a,i,c,h,e);f=b;b=e+j|0;Pf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Of(a,i,c,h,e,f);Of(i,b,c,g,e,f);Qf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Lf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Mf(a,i,c,h,e);f=b;b=e+j|0;Mf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Lf(a,i,c,h,e,f);Lf(i,b,c,g,e,f);Nf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function If(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Jf(a,i,c,h,e);f=b;b=e+j|0;Jf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}If(a,i,c,h,e,f);If(i,b,c,g,e,f);Kf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Ff(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Gf(a,i,c,h,e);f=b;b=e+j|0;Gf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Ff(a,i,c,h,e,f);Ff(i,b,c,g,e,f);Hf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Cf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Df(a,i,c,h,e);f=b;b=e+j|0;Df(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Cf(a,i,c,h,e,f);Cf(i,b,c,g,e,f);Ef(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Ui(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=fa-32|0;fa=a;a:{b:{c:{d:{if(!b){break d}f=xk(c);if(f>>>0>=2147483632){break c}e:{f:{if(f>>>0>=11){g=(f|15)+1|0;h=pl(g);J[a+24>>2]=g|-2147483648;J[a+16>>2]=h;J[a+20>>2]=f;g=f+h|0;break f}H[a+27|0]=f;h=a+16|0;g=f+h|0;if(!f){break e}}nk(h,c,f)}H[g|0]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;if(e){if((e|0)<0){break b}c=e<<2;e=pl(c);J[a>>2]=e;f=c+e|0;J[a+8>>2]=f;nk(e,d,c);J[a+4>>2]=f}f=fa-48|0;fa=f;e=cc(b,a+16|0);if((e|0)!=(b+4|0)){c=J[e+4>>2];g:{if(!c){c=e;while(1){d=J[c+8>>2];g=J[d>>2]!=(c|0);c=d;if(g){continue}break}break g}while(1){d=c;c=J[c>>2];if(c){continue}break}}if((e|0)==J[b>>2]){J[b>>2]=d}J[b+8>>2]=J[b+8>>2]-1;$j(J[b+4>>2],e);c=J[e+28>>2];if(c){J[e+32>>2]=c;hl(c)}if(H[e+27|0]<0){hl(J[e+16>>2])}hl(e)}J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;c=J[a+4>>2];d=J[a>>2];e=c-d|0;g=0;h:{i:{if((c|0)!=(d|0)){if((e|0)<0){break i}g=pl(e);c=pk(g,0,e);h=c+e|0;J[f+8>>2]=h;J[f+4>>2]=h;J[f>>2]=c;c=d}nk(g,c,e);j:{if(H[a+27|0]>=0){J[f+24>>2]=J[a+24>>2];c=J[a+20>>2];J[f+16>>2]=J[a+16>>2];J[f+20>>2]=c;break j}tl(f+16|0,J[a+16>>2],J[a+20>>2])}Zj(f+28|0,f);c=f+16|0;ak(f+40|0,b,c,c);c=J[f+28>>2];if(c){J[f+32>>2]=c;hl(c)}if(H[f+27|0]<0){hl(J[f+16>>2])}c=J[f>>2];if(c){J[f+4>>2]=c;hl(c)}fa=f+48|0;break h}Ia();C()}c=J[a>>2];if(c){J[a+4>>2]=c;hl(c)}if(H[a+27|0]>=0){break d}hl(J[a+16>>2])}fa=a+32|0;a=(b|0)!=0;break a}xe();C()}Ia();C()}return a|0}function zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-16|0;fa=c;b=J[J[a+4>>2]+(b<<2)>>2];J[c+12>>2]=b;a=J[a+28>>2];e=J[J[J[a+4>>2]+8>>2]+(b<<2)>>2];b=J[e+28>>2];a:{if(b-1>>>0>=6){b:{if((b|0)!=9){break b}f=J[a+48>>2];a=pl(32);J[c>>2]=a;J[c+4>>2]=17;J[c+8>>2]=-2147483616;H[a+16|0]=K[1261];b=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);d=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[a+8|0]=d;H[a+9|0]=d>>>8;H[a+10|0]=d>>>16;H[a+11|0]=d>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);d=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[a|0]=d;H[a+1|0]=d>>>8;H[a+2|0]=d>>>16;H[a+3|0]=d>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+17|0]=0;a=Gb(f,c+12|0,c,-1);if(H[c+11|0]<0){hl(J[c>>2])}if((a|0)<=0){break b}if(J[e+56>>2]==1){a=pl(48);J[a>>2]=0;J[a+4>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;a=Hc(a);J[a+40>>2]=1032;J[a>>2]=6316;J[a+44>>2]=-1;break a}a=Hc(pl(64));J[a+40>>2]=2040;J[a>>2]=9996;J[a+48>>2]=0;J[a+52>>2]=0;J[a+44>>2]=-1;J[a+56>>2]=0;J[a+60>>2]=0;break a}a=pl(36);J[a+32>>2]=0;J[a+12>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=2400;H[a+21|0]=0;H[a+22|0]=0;H[a+23|0]=0;H[a+24|0]=0;H[a+25|0]=0;H[a+26|0]=0;H[a+27|0]=0;H[a+28|0]=0;break a}a=Hc(pl(40))}fa=c+16|0;return a|0}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+8>>2]-J[a+4>>2]>>2;b=J[a+40>>2];d=J[a+36>>2];c=b-d>>2;a:{if(e>>>0>c>>>0){g=e-c|0;d=J[a+44>>2];b=J[a+40>>2];if(g>>>0<=d-b>>2>>>0){if(g){i=b;b=g<<2;b=pk(i,0,b)+b|0}J[a+40>>2]=b;break a}b:{c:{d:{j=J[a+36>>2];e=b-j>>2;f=e+g|0;if(f>>>0<1073741824){c=d-j|0;d=c>>>1|0;c=c>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(c){if(c>>>0>=1073741824){break d}i=pl(c<<2)}h=(e<<2)+i|0;d=g<<2;f=pk(h,0,d);e=d+f|0;c=(c<<2)+i|0;if((b|0)==(j|0)){break c}while(1){b=b-4|0;d=J[b>>2];J[b>>2]=0;h=h-4|0;J[h>>2]=d;if((b|0)!=(j|0)){continue}break}J[a+44>>2]=c;c=J[a+40>>2];J[a+40>>2]=e;b=J[a+36>>2];J[a+36>>2]=h;if((b|0)==(c|0)){break b}while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){ka[J[J[d>>2]+4>>2]](d)}if((b|0)!=(c|0)){continue}break}break b}Ia();C()}Ya();C()}J[a+44>>2]=c;J[a+40>>2]=e;J[a+36>>2]=f}if(b){hl(b)}break a}if(c>>>0<=e>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(b|0)){while(1){b=b-4|0;c=J[b>>2];J[b>>2]=0;if(c){ka[J[J[c>>2]+4>>2]](c)}if((b|0)!=(d|0)){continue}break}}J[a+40>>2]=d}if(J[a+8>>2]==J[a+4>>2]){return 1}b=0;while(1){e=ka[J[J[a>>2]+56>>2]](a,b)|0;c=b<<2;d=c+J[a+36>>2]|0;f=J[d>>2];J[d>>2]=e;if(f){ka[J[J[f>>2]+4>>2]](f)}c=J[c+J[a+36>>2]>>2];d=(c|0)!=0;if(c){if(!(!(J[J[a+48>>2]+(b>>>3&536870908)>>2]>>>b&1)|M[a+52>>2]<=b>>>0)){H[c+28|0]=1}b=b+1|0;if(b>>>0<J[a+8>>2]-J[a+4>>2]>>2>>>0){continue}}break}return d|0}function ph(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=10592;c=a+200|0;d=J[c+136>>2];if(d){b=d;e=J[c+140>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=J[b>>2];if(f){J[e-8>>2]=f;hl(f)}e=b;if((b|0)!=(d|0)){continue}break}b=J[c+136>>2]}J[c+140>>2]=d;hl(b)}b=J[c+104>>2];if(b){J[c+108>>2]=b;hl(b)}b=J[c+92>>2];if(b){J[c+96>>2]=b;hl(b)}d=J[c+80>>2];J[c+80>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){b=d+(b<<5)|0;while(1){b=Ae(b-32|0);if((d|0)!=(b|0)){continue}break}}hl(e)}b=J[c+68>>2];if(b){J[c+72>>2]=b;hl(b)}b=J[c+44>>2];J[c+44>>2]=0;if(b){hl(b)}b=J[c+32>>2];if(b){J[c+36>>2]=b;hl(b)}Ae(c);b=J[a+184>>2];if(b){J[a+188>>2]=b;hl(b)}d=J[a+172>>2];if(d){b=J[a+176>>2];e=d;if((b|0)!=(d|0)){while(1){e=b-136|0;f=J[e+116>>2];if(f){J[b-16>>2]=f;hl(f)}f=J[b-32>>2];if(f){J[b-28>>2]=f;hl(f)}bh(b-132|0);b=e;if((d|0)!=(b|0)){continue}break}e=J[a+172>>2]}J[a+176>>2]=d;hl(e)}b=J[a+152>>2];if(b){J[a+156>>2]=b;hl(b)}b=J[a+140>>2];if(b){hl(b)}b=J[a+128>>2];if(b){while(1){e=J[b>>2];hl(b);b=e;if(b){continue}break}}b=J[a+120>>2];J[a+120>>2]=0;if(b){hl(b)}b=J[a+108>>2];if(b){J[a+112>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+84>>2];if(b){hl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;hl(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;hl(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;hl(b)}b=J[a+28>>2];if(b){hl(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}b=J[a+12>>2];J[a+12>>2]=0;if(b){Tg(b)}return a|0}function yf(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}yf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}yf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function sg(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}sg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}sg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function rf(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}rf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}rf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function pg(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}pg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}pg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function mg(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}mg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}mg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function jg(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}jg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}jg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function gg(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}gg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}gg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function dg(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}dg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}dg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function ag(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}ag(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}ag(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Zf(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Zf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Zf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Wf(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Wf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Wf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Tf(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Tf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Tf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Qf(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Qf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Qf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Nf(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Nf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Nf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Kf(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Kf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Kf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Hf(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Hf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Hf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Ef(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Ef(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Ef(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Bf(a,b,c,d,e,f,g,h){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=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0<M[(k<<3)+o>>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0<M[(r<<3)+o>>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]<M[q>>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Bf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Bf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function ff(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=fa-16|0;fa=m;f=J[b+28>>2];g=J[b+24>>2];J[a+8>>2]=g;J[a+12>>2]=f;f=J[b+20>>2];J[a>>2]=J[b+16>>2];J[a+4>>2]=f;f=J[b+36>>2];J[a+16>>2]=J[b+32>>2];J[a+20>>2]=f;J[a+8>>2]=d+g;a:{b:{if((d|0)>0){j=J[b>>2];f=J[a+12>>2];n=J[a+16>>2];o=O[a>>3];while(1){i=J[b+4>>2]-j>>2;g=J[(h<<2)+c>>2];c:{if(i>>>0>g>>>0){break c}J[m+12>>2]=0;k=g+1|0;if(k>>>0>i>>>0){vb(b,k-i|0,m+12|0);j=J[b>>2];break c}if(i>>>0<=k>>>0){break c}J[b+4>>2]=(k<<2)+j}k=(g<<2)+j|0;i=J[k>>2];d:{if((i|0)>=2){l=+(i|0);l=sk(l)*l;break d}l=0;if(i){break d}n=n+1|0;J[a+16>>2]=n;if(f>>>0>=g>>>0){break d}J[a+12>>2]=g;f=g}g=i+1|0;J[k>>2]=g;p=+(g|0);o=sk(p)*p-l+o;O[a>>3]=o;h=h+1|0;if((h|0)!=(d|0)){continue}break}if(e){break b}if((d|0)<=0){break a}a=J[b>>2];j=0;h=0;if(d>>>0>=4){g=d&-4;e=0;while(1){b=h<<2;f=a+(J[b+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;f=a+(J[(b|4)+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;f=a+(J[(b|8)+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;b=a+(J[(b|12)+c>>2]<<2)|0;J[b>>2]=J[b>>2]-1;h=h+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}b=d&3;if(!b){break a}while(1){d=a+(J[(h<<2)+c>>2]<<2)|0;J[d>>2]=J[d>>2]-1;h=h+1|0;j=j+1|0;if((b|0)!=(j|0)){continue}break}break a}if(!e){break a}}c=J[a+4>>2];J[b+16>>2]=J[a>>2];J[b+20>>2]=c;J[b+32>>2]=J[a+16>>2];c=J[a+12>>2];J[b+24>>2]=J[a+8>>2];J[b+28>>2]=c}fa=m+16|0}function Qd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=J[b+16>>2];f=J[c+4>>2]-e|0;J[c>>2]=0|J[c>>2]-e;J[c+4>>2]=f;f=J[d+4>>2]-e|0;e=J[d>>2]-e|0;J[d>>2]=g|e;J[d+4>>2]=f;i=J[b+16>>2];g=f>>31;h=(g^f)-g|0;g=e>>31;if(i>>>0<h+((g^e)-g|0)>>>0){j=J[c+4>>2];k=J[c>>2];a:{b:{if((k|0)>=0){h=1;g=1;if((j|0)>=0){break a}e=1;h=-1;g=-1;if(k){break b}break a}e=-1;h=-1;g=-1;if((j|0)<=0){break a}}h=(j|0)<=0?-1:1;g=e}f=1;e=-1;l=k<<1;k=P(g,i);l=l-k|0;g=(P(g,h)|0)>=0;h=P(h,i);J[c+4>>2]=((g?0-l|0:l)+h|0)/2;h=(j<<1)-h|0;J[c>>2]=(k+(g?0-h|0:h)|0)/2;g=J[d+4>>2];h=J[d>>2];c:{d:{if((h|0)>=0){e=1;if((g|0)>=0){break c}if(h){break d}f=-1;e=-1;break c}f=-1;if((g|0)<=0){break c}}f=(g|0)<=0?-1:1}i=h<<1;h=J[b+16>>2];j=P(h,e);i=i-j|0;e=(P(f,e)|0)>=0;h=P(f,h);f=((e?0-i|0:i)+h|0)/2|0;J[d+4>>2]=f;g=(g<<1)-h|0;e=(j+(e?0-g|0:g)|0)/2|0;J[d>>2]=e}e:{f:{g:{h:{i:{j:{if(e){if((e|0)>=0){break j}if((f|0)>0){break h}break e}if(f){break i}f=0;e=0;break e}if((f|0)<0){break g}f=0-J[c+4>>2]|0;J[c>>2]=0-J[c>>2];J[c+4>>2]=f;e=0-J[d>>2]|0;f=0-J[d+4>>2]|0;break f}if((f|0)<=0){break g}}f=J[c>>2];J[c>>2]=0-J[c+4>>2];J[c+4>>2]=f;e=0-J[d+4>>2]|0;f=J[d>>2];break f}f=0-J[c>>2]|0;J[c>>2]=J[c+4>>2];J[c+4>>2]=f;e=J[d+4>>2];f=0-J[d>>2]|0}J[d>>2]=e;J[d+4>>2]=f}d=J[c>>2];b=J[b+4>>2];c=J[c+4>>2]-f|0;J[a+4>>2]=(b&c>>31)+c;c=a;a=d-e|0;J[c>>2]=(b&a>>31)+a}function _g(a,b){var c=0,d=0,e=0,f=0,g=0;e=-1;c=(b|0)==-1;d=-1;a:{if(c){break a}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}f=c?-1:(b>>>0)/3|0;g=J[a+28>>2]+(f>>>3&536870908)|0;J[g>>2]=J[g>>2]|1<<f;b:{if(c){break b}c=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((c|0)==-1){break b}c=(c>>>0)/3|0;if(J[J[a+28>>2]+(c>>>3&268435452)>>2]>>>c&1){break b}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break b}f=1<<b;g=b>>>5<<2;b=0;while(1){De(J[a+280>>2]+(b<<5)|0,(f&J[g+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}c:{if((e|0)==-1){break c}b=J[J[J[a+12>>2]+12>>2]+(e<<2)>>2];if((b|0)==-1){break c}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break c}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break c}f=1<<e;e=e>>>5<<2;b=0;while(1){De(J[a+280>>2]+(b<<5)|0,(f&J[e+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}d:{if((d|0)==-1){break d}b=J[J[J[a+12>>2]+12>>2]+(d<<2)>>2];if((b|0)==-1){break d}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break d}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break d}e=1<<d;d=d>>>5<<2;b=0;while(1){De(J[a+280>>2]+(b<<5)|0,(e&J[d+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}}function cj(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;a=0;a:{if(!d|(!b|(c|0)<0)){break a}f=J[b+8>>2];if(J[b+12>>2]-f>>2<=(c|0)){break a}if(!J[b+4>>2]){a=pl(36);J[a+4>>2]=0;J[a+8>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;e=a+16|0;J[e>>2]=0;J[e+4>>2]=0;J[a>>2]=a+4;J[a+32>>2]=0;J[a+12>>2]=e;J[b+4>>2]=a}a=J[J[f+(c<<2)>>2]+60>>2];d=_j(pl(28),d);J[d+24>>2]=a;a=J[b+4>>2];c=fa-16|0;fa=c;J[c+8>>2]=d;b:{if(!d){break b}b=J[a+28>>2];c:{if(b>>>0<M[a+32>>2]){J[c+8>>2]=0;J[b>>2]=d;J[a+28>>2]=b+4;break c}b=0;d:{e:{f:{e=J[a+24>>2];f=J[a+28>>2]-e>>2;d=f+1|0;if(d>>>0<1073741824){e=J[a+32>>2]-e|0;g=e>>>1|0;e=e>>>0>=2147483644?1073741823:d>>>0<g>>>0?g:d;if(e){if(e>>>0>=1073741824){break f}b=pl(e<<2)}g=J[c+8>>2];J[c+8>>2]=0;d=(f<<2)+b|0;J[d>>2]=g;e=(e<<2)+b|0;f=d+4|0;b=J[a+28>>2];g=J[a+24>>2];if((b|0)==(g|0)){break e}while(1){b=b-4|0;h=J[b>>2];J[b>>2]=0;d=d-4|0;J[d>>2]=h;if((b|0)!=(g|0)){continue}break}J[a+32>>2]=e;e=J[a+28>>2];J[a+28>>2]=f;b=J[a+24>>2];J[a+24>>2]=d;if((b|0)==(e|0)){break d}while(1){e=e-4|0;a=J[e>>2];J[e>>2]=0;if(a){Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);hl(a)}if((b|0)!=(e|0)){continue}break}break d}Ia();C()}Ya();C()}J[a+32>>2]=e;J[a+28>>2]=f;J[a+24>>2]=d}if(b){hl(b)}}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break b}Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);hl(a)}fa=c+16|0;a=1}return a|0}function Ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+16>>2];a:{if(J[a+20>>2]-e>>2<=(b|0)){break a}h=J[e+(b<<2)>>2];if((h|0)<0){break a}if(M[a+52>>2]<=h>>>0){b:{b=fa-16|0;fa=b;c:{f=J[a+52>>2];c=h+1|0;d:{if(f>>>0<c>>>0){e=c-f|0;g=J[a+56>>2];d=g<<5;e:{if(!(e>>>0>d>>>0|f>>>0>d-e>>>0)){J[a+52>>2]=c;d=f&31;c=J[a+48>>2]+(f>>>3&536870908)|0;break e}J[b+8>>2]=0;J[b>>2]=0;J[b+4>>2]=0;if((c|0)<0){break c}if(d>>>0<=1073741822){d=g<<6;c=c+31&-32;c=c>>>0<d>>>0?d:c}else{c=2147483647}Gc(b,c);d=J[a+52>>2];J[b+4>>2]=d+e;f=J[a+48>>2];c=J[b>>2];f:{if((d|0)<=0){d=0;break f}g=d>>>5|0;if(d>>>0>=32){ok(c,f,g<<2)}g=g<<2;c=g+c|0;d=d&31;if(d){i=-1>>>32-d|0;J[c>>2]=J[c>>2]&(i^-1)|J[f+g>>2]&i}f=J[a+48>>2]}J[a+48>>2]=J[b>>2];J[b>>2]=f;g=J[a+52>>2];J[a+52>>2]=J[b+4>>2];J[b+4>>2]=g;g=J[a+56>>2];J[a+56>>2]=J[b+8>>2];J[b+8>>2]=g;if(!f){break e}hl(f)}if(!e){break d}if(d){f=32-d|0;g=e>>>0>f>>>0?f:e;J[c>>2]=J[c>>2]&(-1<<d&-1>>>f-g^-1);e=e-g|0;c=c+4|0}d=e>>>5|0;if(e>>>0>=32){pk(c,0,d<<2)}if((e&-32)==(e|0)){break d}c=(d<<2)+c|0;J[c>>2]=J[c>>2]&(-1>>>32-(e&31)^-1);break d}J[a+52>>2]=c}fa=b+16|0;break b}Ia();C()}}c=1;b=J[a+48>>2]+(h>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<<h;b=J[a+40>>2];a=J[a+36>>2];if(b-a>>2>>>0<=h>>>0){break a}H[J[a+(h<<2)>>2]+28|0]=1}return c|0}function of(a,b){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;g=fa-16|0;fa=g;yb(J[a+12>>2],b);a:{if(!J[a+12>>2]){break a}n=g+15|0;o=g+16|0;while(1){b:{c:{e=J[a>>2];j=J[e+(h<<3)>>2];c=j>>>0<64;if(!c){d=1;if(j>>>0<16384){break c}d=2;if(j>>>0<=4194303){break c}break a}d=0;if(j){break c}while(1){d:{if(J[(e+(d+h<<3)|0)+8>>2]){c=d;break d}c=d+1|0;if(J[(e+(h+c<<3)|0)+8>>2]){break d}c=d+2|0;if(J[(e+(h+c<<3)|0)+8>>2]){break d}c=63;d=d+3|0;if((d|0)!=63){continue}}break}H[g+15|0]=c<<2|3;d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){Ba(b,J[b+4>>2],g+15|0,o)}h=c+h|0;break b}H[g+14|0]=j<<2|d;e=J[b+20>>2];if(!J[b+16>>2]&(e|0)<=0|(e|0)<0){Ba(b,J[b+4>>2],g+14|0,n)}if(c){break b}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break b}p=d>>>0<=1?1:d;d=0;while(1){d=d+1|0;e:{c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break e}m=j>>>(d<<3)-2|0;f=J[b+8>>2];e=J[b+4>>2];if((f-e|0)>0){H[e|0]=m;J[b+4>>2]=e+1;break e}k=J[b>>2];c=e-k|0;i=c+1|0;if((i|0)>=0){f=f-k|0;l=f<<1;f=f>>>0>=1073741823?2147483647:i>>>0<l>>>0?l:i;if(f){i=pl(f)}else{i=0}l=i+c|0;H[l|0]=m;c=ok(i,k,c);e=ok(l+1|0,e,0);J[b+8>>2]=c+f;J[b+4>>2]=e;J[b>>2]=c;if(!k){break e}hl(k);break e}Ia();C()}if((d|0)!=(p|0)){continue}break}}h=h+1|0;if(h>>>0<M[a+12>>2]){continue}break}}fa=g+16|0}function Dk(a){var b=0,c=0,d=0,e=0,f=0;a:{b:{c:{d:{e:{b=J[a+4>>2];f:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break f}b=yk(a)}switch(b-43|0){case 0:case 2:break e;default:break d}}f=(b|0)==45;b=J[a+4>>2];g:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break g}b=yk(a)}e=b-58|0;if(e>>>0>4294967285){break c}if(J[a+116>>2]<0){break b}J[a+4>>2]=J[a+4>>2]-1;break b}e=b-58|0}if(e>>>0<4294967286){break b}e=b-48|0;if(e>>>0<10){while(1){d=(P(d,10)+b|0)-48|0;c=(d|0)<214748364;b=J[a+4>>2];h:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break h}b=yk(a)}e=b-48|0;if(c&e>>>0<=9){continue}break}c=d>>31}i:{if(e>>>0>=10){break i}while(1){d=em(d,c,10,0);b=d+b|0;c=ja;c=b>>>0<d>>>0?c+1|0:c;d=b-48|0;c=c-(b>>>0<48)|0;b=J[a+4>>2];j:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break j}b=yk(a)}e=b-48|0;if(e>>>0>9){break i}if(d>>>0<2061584302&(c|0)<=21474836|(c|0)<21474836){continue}break}}if(e>>>0<10){while(1){b=J[a+4>>2];k:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break k}b=yk(a)}if(b-48>>>0<10){continue}break}}b=J[a+116>>2];if((b|0)>0|(b|0)>=0){J[a+4>>2]=J[a+4>>2]-1}a=d;d=f?0-a|0:a;c=f?0-(((a|0)!=0)+c|0)|0:c;break a}c=-2147483648;if(J[a+116>>2]<0){break a}J[a+4>>2]=J[a+4>>2]-1;ja=-2147483648;return 0}ja=c;return d}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0,g=0,h=0,i=0;g=fa-16|0;fa=g;a:{b:{c:{if(!b){break c}e=xk(c);if(e>>>0>=2147483632){break b}d:{e:{if(e>>>0>=11){f=(e|15)+1|0;a=pl(f);J[g+8>>2]=f|-2147483648;J[g>>2]=a;J[g+4>>2]=e;f=a+e|0;break e}H[g+11|0]=e;f=e+g|0;a=g;if(!e){break d}}nk(a,c,e)}H[f|0]=0;h=fa-16|0;fa=h;O[h+8>>3]=d;f=fa-48|0;fa=f;e=cc(b,g);if((e|0)!=(b+4|0)){a=J[e+4>>2];f:{if(!a){a=e;while(1){c=J[a+8>>2];i=J[c>>2]!=(a|0);a=c;if(i){continue}break}break f}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((e|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;$j(J[b+4>>2],e);a=J[e+28>>2];if(a){J[e+32>>2]=a;hl(a)}if(H[e+27|0]<0){hl(J[e+16>>2])}hl(e)}a=pl(8);J[f>>2]=a;c=a+8|0;J[f+8>>2]=c;J[f+4>>2]=c;c=J[h+12>>2];e=J[h+8>>2];H[a|0]=e;H[a+1|0]=e>>>8;H[a+2|0]=e>>>16;H[a+3|0]=e>>>24;H[a+4|0]=c;H[a+5|0]=c>>>8;H[a+6|0]=c>>>16;H[a+7|0]=c>>>24;g:{if(H[g+11|0]>=0){J[f+24>>2]=J[g+8>>2];a=J[g+4>>2];J[f+16>>2]=J[g>>2];J[f+20>>2]=a;break g}tl(f+16|0,J[g>>2],J[g+4>>2])}Zj(f+28|0,f);a=f+16|0;ak(f+40|0,b,a,a);a=J[f+28>>2];if(a){J[f+32>>2]=a;hl(a)}if(H[f+27|0]<0){hl(J[f+16>>2])}a=J[f>>2];if(a){J[f+4>>2]=a;hl(a)}fa=f+48|0;fa=h+16|0;if(H[g+11|0]>=0){break c}hl(J[g>>2])}fa=g+16|0;a=(b|0)!=0;break a}xe();C()}return a|0}function Tb(a,b){var c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[a+8>>2]=b;J[a>>2]=0;c=a+12|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+60>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;c=a- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;g=a+140|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+116>>2]=0;J[a+120>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;c=1;break a}c=b<<2;d=pl(c);J[a+104>>2]=d;f=c+d|0;J[a+112>>2]=f;pk(d,0,c);J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+108>>2]=f;d=pl(c);J[a+116>>2]=d;f=c+d|0;J[a+124>>2]=f;pk(d,0,c);J[a+136>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=f;d=pl(c);J[a+128>>2]=d;f=c+d|0;J[a+136>>2]=f;pk(d,0,c);J[a+132>>2]=f;d=pl(c);J[e>>2]=d;f=c+d|0;J[e+8>>2]=f;pk(d,0,c);J[e+4>>2]=f;c=b<<5|1}$b(g,c,e);d=J[e>>2];if(d){J[e+4>>2]=d;hl(d)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;d=pl(b);J[e>>2]=d;f=b+d|0;J[e+8>>2]=f;pk(d,0,b);J[e+4>>2]=f}$b(a+152|0,c,e);b=J[e>>2];if(b){J[e+4>>2]=b;hl(b)}fa=e+16|0;return a}function Sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;ka[J[J[b>>2]+64>>2]](a,b);if(!J[a>>2]){if(H[a+15|0]<0){hl(J[a+4>>2])}g=J[b+48>>2];c=pl(32);J[f>>2]=c;J[f+4>>2]=29;J[f+8>>2]=-2147483616;d=K[1308]|K[1309]<<8|(K[1310]<<16|K[1311]<<24);e=K[1304]|K[1305]<<8|(K[1306]<<16|K[1307]<<24);H[c+21|0]=e;H[c+22|0]=e>>>8;H[c+23|0]=e>>>16;H[c+24|0]=e>>>24;H[c+25|0]=d;H[c+26|0]=d>>>8;H[c+27|0]=d>>>16;H[c+28|0]=d>>>24;d=K[1303]|K[1304]<<8|(K[1305]<<16|K[1306]<<24);e=K[1299]|K[1300]<<8|(K[1301]<<16|K[1302]<<24);H[c+16|0]=e;H[c+17|0]=e>>>8;H[c+18|0]=e>>>16;H[c+19|0]=e>>>24;H[c+20|0]=d;H[c+21|0]=d>>>8;H[c+22|0]=d>>>16;H[c+23|0]=d>>>24;d=K[1295]|K[1296]<<8|(K[1297]<<16|K[1298]<<24);e=K[1291]|K[1292]<<8|(K[1293]<<16|K[1294]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1287]|K[1288]<<8|(K[1289]<<16|K[1290]<<24);e=K[1283]|K[1284]<<8|(K[1285]<<16|K[1286]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+29|0]=0;c=si(g,f,0);if(H[f+11|0]<0){hl(J[f>>2])}if(c){ka[J[J[b>>2]+68>>2]](b)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}fa=f+16|0}function sb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{c:{d:{if(b){if(b>>>0>=1073741824){break d}d=pl(b<<2);c=J[a>>2];J[a>>2]=d;if(c){hl(c)}J[a+4>>2]=b;c=0;if(b>>>0>=4){d=b&-4;while(1){g=c<<2;J[g+J[a>>2]>>2]=0;J[J[a>>2]+(g|4)>>2]=0;J[J[a>>2]+(g|8)>>2]=0;J[J[a>>2]+(g|12)>>2]=0;c=c+4|0;e=e+4|0;if((d|0)!=(e|0)){continue}break}}d=b&3;if(d){while(1){J[J[a>>2]+(c<<2)>>2]=0;c=c+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}d=J[a+8>>2];if(!d){break a}c=a+8|0;f=J[d+4>>2];e=hm(b);if(e>>>0<2){break c}f=b>>>0<=f>>>0?(f>>>0)%(b>>>0)|0:f;J[J[a>>2]+(f<<2)>>2]=c;c=J[d>>2];if(!c){break a}if(e>>>0<=1){break b}while(1){e=J[c+4>>2];if(e>>>0>=b>>>0){e=(e>>>0)%(b>>>0)|0}e:{if((f|0)==(e|0)){d=c;break e}h=e<<2;g=h+J[a>>2]|0;if(!J[g>>2]){J[g>>2]=d;d=c;f=e;break e}J[d>>2]=J[c>>2];J[c>>2]=J[J[h+J[a>>2]>>2]>>2];J[J[h+J[a>>2]>>2]>>2]=c}c=J[d>>2];if(c){continue}break}break a}b=J[a>>2];J[a>>2]=0;if(b){hl(b)}J[a+4>>2]=0;break a}Ya();C()}f=b-1&f;J[J[a>>2]+(f<<2)>>2]=c;c=J[d>>2];if(!c){break a}}g=b-1|0;while(1){b=g&J[c+4>>2];f:{if((b|0)==(f|0)){d=c;break f}h=b<<2;e=h+J[a>>2]|0;if(J[e>>2]){J[d>>2]=J[c>>2];J[c>>2]=J[J[h+J[a>>2]>>2]>>2];J[J[h+J[a>>2]>>2]>>2]=c;break f}J[e>>2]=d;d=c;f=b}c=J[d>>2];if(c){continue}break}}}function Pb(a){var b=0,c=0,d=0,e=0,f=0;e=fa-16|0;fa=e;b=pl(16);J[e>>2]=b;J[e+4>>2]=14;J[e+8>>2]=-2147483632;c=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);d=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[b+6|0]=d;H[b+7|0]=d>>>8;H[b+8|0]=d>>>16;H[b+9|0]=d>>>24;H[b+10|0]=c;H[b+11|0]=c>>>8;H[b+12|0]=c>>>16;H[b+13|0]=c>>>24;c=K[1596]|K[1597]<<8|(K[1598]<<16|K[1599]<<24);d=K[1592]|K[1593]<<8|(K[1594]<<16|K[1595]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+14|0]=0;f=pi(a,e,-1);if(H[e+11|0]<0){hl(J[e>>2])}b=pl(16);J[e>>2]=b;J[e+4>>2]=14;J[e+8>>2]=-2147483632;c=K[1617]|K[1618]<<8|(K[1619]<<16|K[1620]<<24);d=K[1613]|K[1614]<<8|(K[1615]<<16|K[1616]<<24);H[b+6|0]=d;H[b+7|0]=d>>>8;H[b+8|0]=d>>>16;H[b+9|0]=d>>>24;H[b+10|0]=c;H[b+11|0]=c>>>8;H[b+12|0]=c>>>16;H[b+13|0]=c>>>24;c=K[1611]|K[1612]<<8|(K[1613]<<16|K[1614]<<24);d=K[1607]|K[1608]<<8|(K[1609]<<16|K[1610]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+14|0]=0;a=pi(a,e,-1);if(H[e+11|0]<0){hl(J[e>>2])}fa=e+16|0;a=(a|0)<(f|0)?f:a;return(a|0)==-1?5:a}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;fk(a,b,c);c=J[a+84>>2];d=J[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=J[a+92>>2];c=J[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}J[a+88>>2]=c;break b}d:{b=c;c=J[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0<h>>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=pl(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=ok(j,c,i);J[a+88>>2]=f;J[a+84>>2]=b;J[a+92>>2]=b+(e<<2);if(c){hl(c)}break b}Ia();C()}Ya();C()}return}if(b>>>0>=d>>>0){break a}J[a+88>>2]=c+(b<<2)}}function Be(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{c=J[a+8>>2];e=J[a>>2];if(c-e>>3>>>0>=2){f=J[a+4>>2];h=f-e>>3;d=h>>>0>=2?2:h;b:{if(!d){break b}c=e;g=d;i=d&7;if(i){while(1){k=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=k;g=g-1|0;c=c+8|0;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(d>>>0<8){break b}while(1){d=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=d;d=J[b+4>>2];J[c+8>>2]=J[b>>2];J[c+12>>2]=d;d=J[b+4>>2];J[c+16>>2]=J[b>>2];J[c+20>>2]=d;d=J[b+4>>2];J[c+24>>2]=J[b>>2];J[c+28>>2]=d;d=J[b+4>>2];J[c+32>>2]=J[b>>2];J[c+36>>2]=d;d=J[b+4>>2];J[c+40>>2]=J[b>>2];J[c+44>>2]=d;d=J[b+4>>2];J[c+48>>2]=J[b>>2];J[c+52>>2]=d;d=J[b+4>>2];J[c+56>>2]=J[b>>2];J[c+60>>2]=d;c=c- -64|0;g=g-8|0;if(g){continue}break}}if(h>>>0<2){c=(2-h<<3)+f|0;while(1){e=J[b+4>>2];J[f>>2]=J[b>>2];J[f+4>>2]=e;f=f+8|0;if((c|0)!=(f|0)){continue}break}J[a+4>>2]=c;return}break a}if(e){J[a+4>>2]=e;hl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;c=0}e=c>>>2|0;e=c>>>0>=2147483640?536870911:e>>>0<=2?2:e;if(e>>>0<536870912){c=e<<3;e=pl(c);J[a>>2]=e;J[a+8>>2]=c+e;d=J[b>>2];g=J[b+4>>2];c=e;b=0;while(1){J[c>>2]=d;J[c+4>>2]=g;c=c+8|0;b=b+1|0;if((b|0)!=2){continue}break}break a}Ia();C()}J[a+4>>2]=e+16}function Wb(a,b){var c=0,d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;J[a+8>>2]=b;J[a>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+28>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+68>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;g=a+128|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+104>>2]=0;J[a+108>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;e=1;break a}e=b<<2;c=pl(e);J[a+92>>2]=c;f=c+e|0;J[a+100>>2]=f;pk(c,0,e);J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+96>>2]=f;c=pl(e);J[a+104>>2]=c;f=c+e|0;J[a+112>>2]=f;pk(c,0,e);J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+108>>2]=f;c=pl(e);J[a+116>>2]=c;f=c+e|0;J[a+124>>2]=f;pk(c,0,e);J[a+120>>2]=f;c=pl(e);J[d>>2]=c;f=c+e|0;J[d+8>>2]=f;pk(c,0,e);J[d+4>>2]=f;e=b<<5|1}$b(g,e,d);c=J[d>>2];if(c){J[d+4>>2]=c;hl(c)}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if(b){b=b<<2;c=pl(b);J[d>>2]=c;f=b+c|0;J[d+8>>2]=f;pk(c,0,b);J[d+4>>2]=f}$b(a+140|0,e,d);b=J[d>>2];if(b){J[d+4>>2]=b;hl(b)}fa=d+16|0;return a}function Ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=fa-16|0;fa=f;a:{b:{c:{if(!b){break c}e=xk(c);if(e>>>0>=2147483632){break b}d:{e:{if(e>>>0>=11){g=(e|15)+1|0;a=pl(g);J[f+8>>2]=g|-2147483648;J[f>>2]=a;J[f+4>>2]=e;g=a+e|0;break e}H[f+11|0]=e;g=e+f|0;a=f;if(!e){break d}}nk(a,c,e)}H[g|0]=0;g=fa-16|0;fa=g;J[g+12>>2]=d;e=fa-48|0;fa=e;d=cc(b,f);if((d|0)!=(b+4|0)){a=J[d+4>>2];f:{if(!a){a=d;while(1){c=J[a+8>>2];h=J[c>>2]!=(a|0);a=c;if(h){continue}break}break f}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((d|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;$j(J[b+4>>2],d);a=J[d+28>>2];if(a){J[d+32>>2]=a;hl(a)}if(H[d+27|0]<0){hl(J[d+16>>2])}hl(d)}a=pl(4);J[e>>2]=a;c=a+4|0;J[e+8>>2]=c;J[e+4>>2]=c;c=J[g+12>>2];H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;g:{if(H[f+11|0]>=0){J[e+24>>2]=J[f+8>>2];a=J[f+4>>2];J[e+16>>2]=J[f>>2];J[e+20>>2]=a;break g}tl(e+16|0,J[f>>2],J[f+4>>2])}Zj(e+28|0,e);a=e+16|0;ak(e+40|0,b,a,a);a=J[e+28>>2];if(a){J[e+32>>2]=a;hl(a)}if(H[e+27|0]<0){hl(J[e+16>>2])}a=J[e>>2];if(a){J[e+4>>2]=a;hl(a)}fa=e+48|0;fa=g+16|0;if(H[f+11|0]>=0){break c}hl(J[f>>2])}fa=f+16|0;a=(b|0)!=0;break a}xe();C()}return a|0}function rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){J[d>>2]=J[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=pl(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){J[d>>2]=J[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[a+8>>2]=(h<<2)+k;J[a+4>>2]=g;J[a>>2]=f;if(i){hl(i)}return}Ia();C()}Ya();C()}function Ig(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a>>2];if(d-e>>2>>>0>=b>>>0){f=J[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){J[d>>2]=J[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){J[f>>2]=J[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}J[a+4>>2]=b;return}J[a+4>>2]=e+(b<<2);return}if(e){J[a+4>>2]=e;hl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0<e>>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=pl(d);J[a>>2]=e;J[a+8>>2]=d+e;c=J[c>>2];d=e;g=b&7;if(g){while(1){J[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d+28>>2]=c;J[d+24>>2]=c;J[d+20>>2]=c;J[d+16>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}Ia();C()}function Ug(a){var 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;a:{b=J[a+12>>2];c=J[b+4>>2];b=J[b>>2];if((c|0)!=(b|0)){b=c-b>>2;j=b>>>0<=1?1:b;k=a+140|0;while(1){b:{if(Nj(J[a+12>>2],(e>>>0)/3|0)){break b}b=J[a+12>>2];if(J[J[b+12>>2]+(e<<2)>>2]!=-1){break b}f=J[a+152>>2];d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;if((d|0)!=-1){b=J[J[b>>2]+(d<<2)>>2]}else{b=-1}c=b<<2;if(J[f+c>>2]!=-1){break b}g=-1;h=J[a+144>>2];b=h;d=J[a+148>>2];if((b|0)==d<<5){if((h+1|0)<0){break a}if(h>>>0<=1073741822){b=d<<6;d=(h&-32)+32|0;b=b>>>0>d>>>0?b:d}else{b=2147483647}Gc(k,b);f=J[a+152>>2];g=J[c+f>>2];b=J[a+144>>2]}J[a+144>>2]=b+1;d=J[a+140>>2]+(b>>>3&536870908)|0;i=J[d>>2];m=d,n=im(b)&i,J[m>>2]=n;if((g|0)!=-1){break b}c=c+f|0;i=J[a+12>>2];b=e;while(1){d=b;J[c>>2]=h;b=-1;g=-1;c:{if((d|0)==-1){break c}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break c}l=J[i+12>>2];while(1){d=J[(c<<2)+l>>2];if((d|0)!=-1){c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)!=-1){continue}break c}break}b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){g=J[J[i>>2]+(b<<2)>>2]}b=c}c=(g<<2)+f|0;if(J[c>>2]==-1){continue}break}}e=e+1|0;if((j|0)!=(e|0)){continue}break}}return 1}Ia();C()}function Bh(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=J[(J[J[a+8>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2];a:{h=J[J[a+12>>2]+4>>2];e=J[h+4>>2];if((e|0)!=J[h+8>>2]){J[e>>2]=j;J[h+4>>2]=e+4;break a}b:{i=J[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0<g>>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=pl(g<<2)}else{f=0}d=k+f|0;J[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=j;J[h>>2]=d;if(i){hl(i)}break a}Ia();C()}Ya();C()}c:{d:{h=J[a+4>>2];e=J[h+4>>2];e:{if((e|0)!=J[h+8>>2]){J[e>>2]=c;J[h+4>>2]=e+4;break e}i=J[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0<g>>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=pl(g<<2)}else{f=0}d=f+(j<<2)|0;J[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=c;J[h>>2]=d;if(!i){break e}hl(i)}a=J[a+4>>2];J[J[a+12>>2]+(b<<2)>>2]=J[a+24>>2];J[a+24>>2]=J[a+24>>2]+1;return}Ia();C()}Ya();C()}function He(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=fa-16|0;fa=i;J[a+4>>2]=0;J[a+8>>2]=0;d=a+16|0;J[d>>2]=0;J[d+4>>2]=0;J[a>>2]=a+4;g=a+28|0;J[g>>2]=0;J[g+4>>2]=0;J[a+12>>2]=d;J[a+24>>2]=g;if((b+4|0)!=(a|0)){Je(a,J[b+4>>2],b+8|0)}d=a+24|0;if((d|0)!=(b+28|0)){Je(d,J[b+28>>2],b+32|0)}J[i+12>>2]=0;h=J[c+12>>2];f=J[c+8>>2];a:{if((h-f|0)<=0){break a}g=b+20|0;if(!J[g>>2]){break a}while(1){b=J[g>>2];b:{if(!b){break b}j=J[J[(e<<2)+f>>2]+56>>2];d=g;while(1){k=(j|0)>J[b+16>>2];d=k?d:b;b=J[(k?b+4|0:b)>>2];if(b){continue}break}if((d|0)==(g|0)|(j|0)<J[d+16>>2]){break b}h=d+20|0;e=fa-48|0;fa=e;j=J[i+12>>2];d=a+16|0;f=J[d>>2];c:{d:{if(!f){break d}b=d;while(1){k=(j|0)>J[f+16>>2];b=k?b:f;f=J[(k?f+4|0:f)>>2];if(f){continue}break}if((b|0)==(d|0)){break d}if((j|0)>=J[b+16>>2]){break c}}J[e+28>>2]=0;J[e+32>>2]=0;f=e+24|0;J[e+24>>2]=f|4;b=e+16|0;J[b>>2]=0;J[b+4>>2]=0;J[e+8>>2]=j;J[e+12>>2]=b;d=e+8|0;Me(e+40|0,a+12|0,d,d);b=J[e+40>>2];Mc(d|4,J[e+16>>2]);Mc(f,J[e+28>>2])}b=b+20|0;if((b|0)!=(h|0)){Je(b,J[h>>2],h+4|0)}fa=e+48|0;f=J[c+8>>2];h=J[c+12>>2];e=J[i+12>>2]}e=e+1|0;J[i+12>>2]=e;if(h-f>>2>(e|0)){continue}break}}fa=i+16|0}function Oe(a,b,c){var d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;d=pl(16);J[f>>2]=d;J[f+4>>2]=14;J[f+8>>2]=-2147483632;g=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);e=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[d+6|0]=e;H[d+7|0]=e>>>8;H[d+8|0]=e>>>16;H[d+9|0]=e>>>24;H[d+10|0]=g;H[d+11|0]=g>>>8;H[d+12|0]=g>>>16;H[d+13|0]=g>>>24;g=K[1596]|K[1597]<<8|(K[1598]<<16|K[1599]<<24);e=K[1592]|K[1593]<<8|(K[1594]<<16|K[1595]<<24);H[d|0]=e;H[d+1|0]=e>>>8;H[d+2|0]=e>>>16;H[d+3|0]=e>>>24;H[d+4|0]=g;H[d+5|0]=g>>>8;H[d+6|0]=g>>>16;H[d+7|0]=g>>>24;H[d+14|0]=0;d=a+4|0;ni(d,f,b);if(H[f+11|0]<0){hl(J[f>>2])}a=pl(16);J[f>>2]=a;J[f+4>>2]=14;J[f+8>>2]=-2147483632;e=K[1617]|K[1618]<<8|(K[1619]<<16|K[1620]<<24);b=K[1613]|K[1614]<<8|(K[1615]<<16|K[1616]<<24);H[a+6|0]=b;H[a+7|0]=b>>>8;H[a+8|0]=b>>>16;H[a+9|0]=b>>>24;H[a+10|0]=e;H[a+11|0]=e>>>8;H[a+12|0]=e>>>16;H[a+13|0]=e>>>24;e=K[1611]|K[1612]<<8|(K[1613]<<16|K[1614]<<24);b=K[1607]|K[1608]<<8|(K[1609]<<16|K[1610]<<24);H[a|0]=b;H[a+1|0]=b>>>8;H[a+2|0]=b>>>16;H[a+3|0]=b>>>24;H[a+4|0]=e;H[a+5|0]=e>>>8;H[a+6|0]=e>>>16;H[a+7|0]=e>>>24;H[a+14|0]=0;ni(d,f,c);if(H[f+11|0]<0){hl(J[f>>2])}fa=f+16|0}function Ba(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=J[a+8>>2];i=J[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){H[f|0]=K[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=f;if((j|0)>0){break a}return}k=J[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=pl(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=nk(g,c,h)+h|0}d=ok(e,k,j);c=i-b|0;b=ok(g,b,c);J[a+8>>2]=e+f;J[a+4>>2]=b+c;J[a>>2]=d;if(k){hl(k)}return}Ia();C()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){H[e|0]=K[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}J[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;ok(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){H[e|0]=K[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){H[e|0]=K[c|0];H[e+1|0]=K[c+1|0];H[e+2|0]=K[c+2|0];H[e+3|0]=K[c+3|0];H[e+4|0]=K[c+4|0];H[e+5|0]=K[c+5|0];H[e+6|0]=K[c+6|0];H[e+7|0]=K[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function yk(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=J[a+112>>2];e=J[a+116>>2];h=(b|e)!=0;c=b;d=J[a+4>>2];g=J[a+44>>2];b=d-g|0;i=b;f=b+J[a+120>>2]|0;b=J[a+124>>2]+(b>>31)|0;a:{b=f>>>0<i>>>0?b+1|0:b;if(!((c>>>0<=f>>>0&(b|0)>=(e|0)|(b|0)>(e|0))&h)){e=fa-16|0;fa=e;d=-1;c=J[a+72>>2];J[a+72>>2]=c-1|c;if(J[a+20>>2]!=J[a+28>>2]){ka[J[a+36>>2]](a,0,0)|0}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;c=J[a>>2];b:{if(c&4){J[a>>2]=c|32;c=-1;break b}g=J[a+44>>2]+J[a+48>>2]|0;J[a+8>>2]=g;J[a+4>>2]=g;c=c<<27>>31}c:{if(c){break c}if((ka[J[a+32>>2]](a,e+15|0,1)|0)!=1){break c}d=K[e+15|0]}fa=e+16|0;e=d;if((d|0)>=0){break a}g=J[a+44>>2];d=J[a+4>>2]}J[a+112>>2]=-1;J[a+116>>2]=-1;J[a+104>>2]=d;e=g-d|0;d=e+f|0;b=(e>>31)+b|0;J[a+120>>2]=d;J[a+124>>2]=d>>>0<e>>>0?b+1|0:b;return-1}d=f+1|0;b=d?b:b+1|0;h=J[a+4>>2];g=J[a+8>>2];c=J[a+116>>2];i=c;f=J[a+112>>2];d:{if(!(c|f)){break d}c=f-d|0;f=i-(b+(d>>>0>f>>>0)|0)|0;j=g-h|0;i=j>>31;if((f|0)>=(i|0)&c>>>0>=j>>>0|(f|0)>(i|0)){break d}g=c+h|0}J[a+104>>2]=g;f=J[a+44>>2];c=f-h|0;d=c+d|0;b=(c>>31)+b|0;J[a+120>>2]=d;J[a+124>>2]=d>>>0<c>>>0?b+1|0:b;if(f>>>0>=h>>>0){H[h-1|0]=e}return e}function Hb(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{b:{f=a+16|0;d=J[f>>2];if(!d){break b}g=J[b>>2];b=f;while(1){e=(g|0)>J[d+16>>2];b=e?b:d;d=J[(e?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(f|0)|(g|0)<J[b+16>>2]){break b}d=J[b+24>>2];if(!d){break a}a=K[c+11|0];b=a<<24>>24<0;f=b?J[c>>2]:c;a=b?J[c+4>>2]:a;while(1){b=K[d+27|0];c=b<<24>>24<0;b=c?J[d+20>>2]:b;g=b>>>0<a>>>0;c:{d:{e:{f:{g:{h:{e=g?b:a;if(e){c=c?J[d+16>>2]:d+16|0;h=tk(f,c,e);if(h){break h}if(a>>>0>=b>>>0){break g}break c}if(a>>>0>=b>>>0){break f}break c}if((h|0)<0){break c}}b=tk(c,f,e);if(b){break e}}if(g){break d}return 1}if((b|0)<0){break d}return 1}d=d+4|0}d=J[d>>2];if(d){continue}break}break a}d=J[a+4>>2];if(!d){break a}a=K[c+11|0];b=a<<24>>24<0;f=b?J[c>>2]:c;a=b?J[c+4>>2]:a;while(1){b=K[d+27|0];c=b<<24>>24<0;b=c?J[d+20>>2]:b;g=b>>>0<a>>>0;i:{j:{k:{l:{m:{n:{e=g?b:a;if(e){c=c?J[d+16>>2]:d+16|0;h=tk(f,c,e);if(h){break n}if(a>>>0>=b>>>0){break m}break i}if(a>>>0>=b>>>0){break l}break i}if((h|0)<0){break i}}b=tk(c,f,e);if(b){break k}}if(g){break j}return 1}if((b|0)<0){break j}return 1}d=d+4|0}d=J[d>>2];if(d){continue}break}}return 0}function nk(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){_(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0<e>>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0<c>>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0<a>>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0<e>>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function nh(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=10540;c=J[a+280>>2];J[a+280>>2]=0;if(c){d=c-4|0;b=J[d>>2];if(b){b=c+(b<<5)|0;while(1){b=Ae(b-32|0);if((c|0)!=(b|0)){continue}break}}hl(d)}b=J[a+268>>2];if(b){J[a+272>>2]=b;hl(b)}b=J[a+244>>2];J[a+244>>2]=0;if(b){hl(b)}b=J[a+232>>2];if(b){J[a+236>>2]=b;hl(b)}Ae(a+200|0);b=J[a+184>>2];if(b){J[a+188>>2]=b;hl(b)}c=J[a+172>>2];if(c){d=c;b=J[a+176>>2];if((c|0)!=(b|0)){while(1){d=b-136|0;e=J[d+116>>2];if(e){J[b-16>>2]=e;hl(e)}e=J[b-32>>2];if(e){J[b-28>>2]=e;hl(e)}bh(b-132|0);b=d;if((c|0)!=(b|0)){continue}break}d=J[a+172>>2]}J[a+176>>2]=c;hl(d)}b=J[a+152>>2];if(b){J[a+156>>2]=b;hl(b)}b=J[a+140>>2];if(b){hl(b)}b=J[a+128>>2];if(b){while(1){c=J[b>>2];hl(b);b=c;if(b){continue}break}}b=J[a+120>>2];J[a+120>>2]=0;if(b){hl(b)}b=J[a+108>>2];if(b){J[a+112>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+84>>2];if(b){hl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;hl(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;hl(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;hl(b)}b=J[a+28>>2];if(b){hl(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}b=J[a+12>>2];J[a+12>>2]=0;if(b){Tg(b)}return a|0}function Yg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=-1;a:{if((b|0)==-1){h=J[a+12>>2];d=1;g=-1;break a}h=J[a+12>>2];b:{c:{if((b>>>0)%3|0){e=b-1|0;break c}e=b+2|0;if((e|0)!=-1){break c}d=1;break b}g=J[h+12>>2];while(1){f=e;d=J[g+(e<<2)>>2];if((d|0)!=-1){f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)!=-1){continue}}break}d=(d|0)!=-1;g=-1;if((b|0)==-1){break a}}g=J[J[h>>2]+(b<<2)>>2]}b=0;if(c){b=J[a+84>>2]+(g>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<<g;b=1}c=J[J[a+152>>2]+(g<<2)>>2];e=J[a+140>>2]+(c>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<<c;c=-1;d:{if(d){break d}e:{if((f>>>0)%3|0){e=f-1|0;break e}e=f+2|0;c=-1;if((e|0)==-1){break d}}c=J[J[h>>2]+(e<<2)>>2]}if((g|0)!=(c|0)){i=J[a+84>>2];while(1){a=f;f=(c>>>3&536870908)+i|0;J[f>>2]=J[f>>2]|1<<c;f=-1;c=-1;f:{if((a|0)==-1){break f}d=a+1|0;d=(d>>>0)%3|0?d:a-2|0;if((d|0)==-1){break f}e=J[h+12>>2];while(1){a=J[e+(d<<2)>>2];if((a|0)!=-1){d=a+1|0;d=(d>>>0)%3|0?d:a-2|0;if((d|0)!=-1){continue}break f}break}g:{if((d>>>0)%3|0){e=d-1|0;break g}e=d+2|0;if((e|0)!=-1){break g}f=-3;break f}c=J[J[h>>2]+(e<<2)>>2];f=d}b=b+1|0;if((c|0)!=(g|0)){continue}break}}}function dh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;a:{b:{g=J[a+124>>2];c:{if(!g){break c}e=J[a+120>>2];i=hm(g);h=g-1&d;d:{if(i>>>0<=1){break d}h=d;if(d>>>0<g>>>0){break d}h=(d>>>0)%(g>>>0)|0}e=J[e+(h<<2)>>2];if(!e){break c}f=J[e>>2];if(!f){break c}e:{if(i>>>0<=1){e=g-1|0;while(1){g=J[f+4>>2];f:{if((g|0)!=(d|0)){if((h|0)==(e&g)){break f}break c}if(J[f+8>>2]==(d|0)){break e}}f=J[f>>2];if(f){continue}break}break c}while(1){e=J[f+4>>2];g:{if((e|0)!=(d|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((e|0)==(h|0)){break g}break c}if(J[f+8>>2]==(d|0)){break e}}f=J[f>>2];if(f){continue}break}break c}f=J[f+12>>2];if((f|0)==-1){break c}g=c&1;c=J[a+112>>2];if((c|0)!=J[a+116>>2]){H[c+8|0]=g;J[c+4>>2]=b;J[c>>2]=f;J[a+112>>2]=c+12;return}d=J[a+108>>2];i=c-d|0;c=(i|0)/12|0;e=c+1|0;if(e>>>0>=357913942){break b}h=c<<1;e=c>>>0>=178956970?357913941:e>>>0<h>>>0?h:e;if(e){if(e>>>0>=357913942){break a}h=pl(P(e,12))}else{h=0}c=h+P(c,12)|0;H[c+8|0]=g;J[c+4>>2]=b;J[c>>2]=f;b=ok(c+P((i|0)/-12|0,12)|0,d,i);J[a+116>>2]=h+P(e,12);J[a+112>>2]=c+12;J[a+108>>2]=b;if(!d){break c}hl(d)}return}Ia();C()}Ya();C()}function vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=pl(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=ok(k,i,j);J[a+4>>2]=e;J[a>>2]=b;J[a+8>>2]=b+(g<<2);if(i){hl(i)}return}Ia();C()}Ya();C()}function jk(a,b,c){a=a|0;b=b|0;c=c|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;f=J[c>>2];m=J[c+4>>2];a:{if((f|0)==(m|0)){h=J[a+12>>2];b=J[a+8>>2];i=h-b|0;c=0;break a}o=J[b>>2];h=J[a+12>>2];b=J[a+8>>2];i=h-b|0;if((i|0)<=0){c=0;while(1){e=J[(J[f>>2]<<2)+o>>2];c=c>>>0>e>>>0?c:e+1|0;f=f+4|0;if((m|0)!=(f|0)){continue}break}break a}c=i>>>2|0;c=c>>>0<=1?1:c;q=c&1073741822;r=c&1;c=0;s=i>>>0<8;while(1){e=J[f>>2];k=e<<2;l=J[o+k>>2];if(l>>>0>=c>>>0){c=0;j=0;if(!s){while(1){p=c<<2;d=J[p+b>>2];g=J[d+68>>2];d=K[d+84|0]?e:J[g+k>>2];n=g;g=l<<2;J[n+g>>2]=d;n=g;d=J[(p|4)+b>>2];g=J[d+68>>2];J[n+g>>2]=K[d+84|0]?e:J[g+k>>2];c=c+2|0;j=j+2|0;if((q|0)!=(j|0)){continue}break}}if(r){c=J[(c<<2)+b>>2];d=J[c+68>>2];j=d+(l<<2)|0;if(!K[c+84|0]){e=J[d+k>>2]}J[j>>2]=e}c=l+1|0}f=f+4|0;if((m|0)!=(f|0)){continue}break}}d=0;if((i|0)>0){while(1){b=J[(d<<2)+b>>2];H[b+84|0]=0;f=J[b+68>>2];e=J[b+72>>2]-f>>2;b:{if(e>>>0<c>>>0){rb(b+68|0,c-e|0,15024);h=J[a+12>>2];break b}if(c>>>0>=e>>>0){break b}J[b+72>>2]=f+(c<<2)}d=d+1|0;b=J[a+8>>2];if((d|0)<h-b>>2){continue}break}}}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;J[a+4>>2]=b;d=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=d;a:{if((ka[J[J[a>>2]+32>>2]](a)|0)==1&J[J[a+8>>2]+28>>2]-1>>>0>5){break a}f=J[b+48>>2];d=fa-16|0;fa=d;J[d+12>>2]=c;b=pl(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1529];c=K[1525]|K[1526]<<8|(K[1527]<<16|K[1528]<<24);e=K[1521]|K[1522]<<8|(K[1523]<<16|K[1524]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1517]|K[1518]<<8|(K[1519]<<16|K[1520]<<24);e=K[1513]|K[1514]<<8|(K[1515]<<16|K[1516]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;b=Gb(f,d+12|0,d,-1);if(H[d+11|0]<0){hl(J[d>>2])}fa=d+16|0;c=ka[J[J[a>>2]+48>>2]](a,(b|0)==-1?-1:b>>>0>6?-2:b)|0;b=J[a+36>>2];J[a+36>>2]=c;e=1;if(b){ka[J[J[b>>2]+4>>2]](b);c=J[a+36>>2]}if(!c){break a}if(ka[J[J[a>>2]+36>>2]](a,c)|0){break a}b=J[a+36>>2];J[a+36>>2]=0;if(!b){break a}ka[J[J[b>>2]+4>>2]](b)}return e|0}function ll(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(K[a+11|0]>>>7|0){e=J[a+4>>2]}else{e=K[a+11|0]&127}if(e>>>0<b>>>0){h=fa-16|0;fa=h;g=b-e|0;if(g){f=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){b=J[a+4>>2]}else{b=K[a+11|0]&127}i=b+g|0;if(f-b>>>0<g>>>0){b:{d=fa-16|0;fa=d;c=i-f|0;if(c>>>0<=2147483631-f>>>0){if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}if(f>>>0<1073741799){J[d+12>>2]=f<<1;J[d>>2]=c+f;c=fa-16|0;fa=c;fa=c+16|0;c=d+12|0;c=J[(M[d>>2]<M[c>>2]?c:d)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}ml(d,c);c=J[d>>2];if(b){jl(c,e,b)}if((f|0)!=10){hl(e)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[d+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;fa=d+16|0;break b}xe();C()}}if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}b=e+b|0;d=fa-16|0;fa=d;H[d+15|0]=0;while(1){if(g){H[b|0]=K[d+15|0];g=g-1|0;b=b+1|0;continue}break}fa=d+16|0;ol(a,i);H[h+15|0]=0;H[e+i|0]=K[h+15|0]}fa=h+16|0;break a}if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}d=fa-16|0;fa=d;ol(a,b);H[d+15|0]=0;H[b+e|0]=K[d+15|0];fa=d+16|0}}function Vj(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;a:{d=dk(a);b:{if(!d){a=0;break b}e=J[a+100>>2];g=J[a+96>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=e-g|0;c=(b|0)/12|0;c:{if((e|0)==(g|0)){break c}if(c>>>0>=357913942){break a}e=pl(b);J[f>>2]=e;J[f+8>>2]=e+P(c,12);a=0;h=e;e=b-12|0;b=(e-((e>>>0)%12|0)|0)+12|0;e=pk(h,0,b);J[f+4>>2]=b+e;if(K[d+84|0]){d=c>>>0<=1?1:c;i=d&1;if(c>>>0>=2){j=d&-2;c=0;while(1){b=P(a,12);d=b+g|0;h=J[d>>2];k=J[d+4>>2];b=b+e|0;J[b+8>>2]=J[d+8>>2];J[b>>2]=h;J[b+4>>2]=k;b=P(a|1,12);d=b+g|0;h=J[d>>2];k=J[d+4>>2];b=b+e|0;J[b+8>>2]=J[d+8>>2];J[b>>2]=h;J[b+4>>2]=k;a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break c}c=P(a,12);a=c+g|0;g=J[a+4>>2];d=J[a>>2];c=c+e|0;J[c+8>>2]=J[a+8>>2];J[c>>2]=d;J[c+4>>2]=g;break c}i=c>>>0<=1?1:c;a=J[d+68>>2];c=0;while(1){b=P(c,12);d=b+g|0;j=J[a+(J[d>>2]<<2)>>2];h=J[a+(J[d+4>>2]<<2)>>2];b=b+e|0;J[b+8>>2]=J[a+(J[d+8>>2]<<2)>>2];J[b+4>>2]=h;J[b>>2]=j;c=c+1|0;if((i|0)!=(c|0)){continue}break}}a=Mj(f);c=J[f>>2];if(!c){break b}J[f+4>>2]=c;hl(c)}fa=f+16|0;return a}Ia();C()}function db(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{if(J[a+64>>2]){break a}c=pl(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(!d){break a}c=J[d>>2];if(c){J[d+4>>2]=c;hl(c)}hl(d)}d=J[a+64>>2];c=J[a+28>>2]-1|0;if(c>>>0<=10){i=J[(c<<2)+14832>>2]}else{i=-1}c=P(i,K[a+24|0]);i=c;k=c>>31;c=em(c,k,b,0);b:{if((ja|0)<0){break b}c:{f=J[d+4>>2];e=J[d>>2];g=f-e|0;d:{if(c>>>0>g>>>0){j=c-g|0;h=J[d+8>>2];if(j>>>0<=h-f>>>0){l=d,m=pk(f,0,j)+j|0,J[l+4>>2]=m;break d}if((c|0)<0){break c}f=h-e|0;h=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0<h>>>0?h:c;h=pl(f);pk(h+g|0,0,j);g=ok(h,e,g);J[d+8>>2]=g+f;J[d+4>>2]=c+g;J[d>>2]=g;if(!e){break d}hl(e);break d}if(c>>>0>=g>>>0){break d}J[d+4>>2]=c+e}c=J[d+28>>2];e=J[d+24>>2]+1|0;c=e?c:c+1|0;J[d+24>>2]=e;J[d+28>>2]=c;e=1;break b}Ia();C()}if(e){c=J[a+64>>2];J[a>>2]=c;d=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=d;d=J[c+24>>2];c=J[c+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=i;J[a+44>>2]=k;J[a+16>>2]=d;J[a+20>>2]=c;J[a+80>>2]=b}}function Ra(a,b,c){var d=0,e=Q(0),f=0,g=Q(0),h=0,i=0,j=Q(0),k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!(J[a+4>>2]!=-1|c-1>>>0>29)){J[a+4>>2]=c;h=K[b+24|0];c=0;J[a+20>>2]=0;if(h){d=h<<2;c=pl(d);f=pk(c,0,d)+d|0}d=J[a+8>>2];if(d){J[a+12>>2]=d;hl(d)}J[a+8>>2]=c;J[a+16>>2]=f;J[a+12>>2]=f;d=h<<2;k=pl(d);o=pl(d);d=J[b+40>>2];s=J[b+44>>2];p=d;l=J[b+48>>2];m=J[b>>2];nk(c,l+J[m>>2]|0,d);n=nk(k,l+J[m>>2]|0,d);b=J[b+80>>2];a:{if(!(!h|b>>>0<2)){k=b;d=1;c=0;while(1){b=J[m>>2];f=em(d,c,p,s)+l|0;t=nk(o,b+f|0,p);u=J[a+8>>2];f=0;b=0;while(1){i=b<<2;q=t+i|0;e=N[q>>2];if(e!=e){break a}r=i+u|0;if(N[r>>2]>e){N[r>>2]=e;e=N[q>>2]}i=i+n|0;if(N[i>>2]<e){N[i>>2]=e}b=b+1|0;if((h|0)!=(b|0)){continue}break}d=d+1|0;c=d?c:c+1|0;if((d|0)!=(k|0)|c){continue}break}}e=N[a+20>>2];if(h){c=J[a+8>>2];f=0;b=0;while(1){d=b<<2;g=N[d+c>>2];if(g!=g|Q(R(g))==Q(Infinity)){break a}j=N[d+n>>2];if(j!=j|Q(R(j))==Q(Infinity)){break a}g=Q(j-g);if(g>e){N[a+20>>2]=g;e=g}b=b+1|0;if((h|0)!=(b|0)){continue}break}}f=1;if(e!=Q(0)){break a}J[a+20>>2]=1065353216}hl(o);hl(n)}return f}function sk(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;A(+a);d=v(1)|0;b=v(0)|0;c=d>>>16|0;f=d-1072604335|0;if((f|0)==135337|f>>>0<135337){if(!b&(d|0)==1072693248){return 0}g=O[1879];a=a+-1;A(+a);b=v(1)|0;v(0)|0;x(0,0);x(1,b|0);h=+z();i=g*h;e=a*a;j=e*(a*O[1888]+O[1887]);k=i+j;l=e*e;return k+(l*(l*(e*(a*O[1896]+O[1895])+(a*O[1894]+O[1893]))+(e*(a*O[1892]+O[1891])+(a*O[1890]+O[1889])))+((a-h)*g+a*O[1880]+(j+(i-k))))}a:{if(c-32752>>>0<=4294934559){if(!(d&2147483647|b)){b=fa-16|0;O[b+8>>3]=-1;return O[b+8>>3]/0}if(!b&(d|0)==2146435072){break a}if(!(!(c&32768)&(c&32752)!=32752)){a=a-a;return a/a}A(+(a*4503599627370496));d=v(1)|0;b=v(0)|0;d=d-54525952|0}c=d-1072037888|0;f=c;c=(c>>>14&63)<<4;g=O[c+15184>>3]+ +(f>>20);h=O[1879];a=O[c+15176>>3];x(0,b-0|0);x(1,d-((f&-1048576)+(b>>>0<m>>>0)|0)|0);a=a*(+z()-O[c+16200>>3]-O[c+16208>>3]);A(+a);b=v(1)|0;v(0)|0;x(0,0);x(1,b|0);i=+z();j=h*i;k=g+j;e=a*a;a=k+(e*(e*e*(a*O[1886]+O[1885])+(e*(a*O[1884]+O[1883])+(a*O[1882]+O[1881])))+((a-i)*h+O[1880]*a+(j+(g-k))))}return a}function gc(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=32-b|0;c=c<<e;a:{b:{d=J[a+16>>2];f=32-d|0;c:{if((f|0)>=(b|0)){b=b+d|0;J[a+16>>2]=b;f=J[a+12>>2]|c>>>d;J[a+12>>2]=f;if((b|0)!=32){break c}b=J[a+4>>2];d:{if((b|0)!=J[a+8>>2]){J[b>>2]=f;J[a+4>>2]=b+4;break d}c=b;b=J[a>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0<e>>>0?e:d;if(d){if(d>>>0>=1073741824){break a}e=pl(d<<2)}else{e=0}g=e+(g<<2)|0;J[g>>2]=f;c=ok(e,b,c);J[a+8>>2]=c+(d<<2);J[a+4>>2]=g+4;J[a>>2]=c;if(!b){break d}hl(b)}J[a+12>>2]=0;J[a+16>>2]=0;return}b=b-f|0;J[a+16>>2]=b;g=c>>>e|0;f=J[a+12>>2]|g>>>b;J[a+12>>2]=f;b=J[a+4>>2];e:{if((b|0)!=J[a+8>>2]){J[b>>2]=f;J[a+4>>2]=b+4;break e}c=b;b=J[a>>2];c=c-b|0;h=c>>2;d=h+1|0;if(d>>>0>=1073741824){break b}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0<e>>>0?e:d;if(d){if(d>>>0>=1073741824){break a}e=pl(d<<2)}else{e=0}h=e+(h<<2)|0;J[h>>2]=f;c=ok(e,b,c);J[a+8>>2]=c+(d<<2);J[a+4>>2]=h+4;J[a>>2]=c;if(!b){break e}hl(b)}J[a+12>>2]=g<<32-J[a+16>>2]}return}Ia();C()}Ya();C()}function We(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);H[b+12|0]=c;a:{if(c){break a}while(1){d=J[b+8>>2];if(K[d+12|0]){break a}b:{c=J[d+8>>2];e=J[c>>2];if((e|0)==(d|0)){e=J[c+4>>2];if(!(!e|K[e+12|0])){break b}c:{if(J[d>>2]==(b|0)){b=d;break c}b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;c=J[b+8>>2];d=J[c>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;return}if(!(K[e+12|0]|!e)){break b}d:{if(J[d>>2]!=(b|0)){b=d;break d}a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;c=J[b+8>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[c+4>>2];b=J[a>>2];J[c+4>>2]=b;if(b){J[b+8>>2]=c}J[a+8>>2]=J[c+8>>2];b=J[c+8>>2];J[((J[b>>2]!=(c|0))<<2)+b>>2]=a;J[a>>2]=c;J[c+8>>2]=a;break a}H[d+12|0]=1;H[c+12|0]=(a|0)==(c|0);H[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function gm(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=S(d)-S(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}ja=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>dm(d)|0;ja=0;break a}if(!(c-1&c)){break f}h=(S(c)+33|0)-S(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}ja=0;a=(b>>>0)/(d>>>0)|0;break a}e=S(d)-S(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=dm(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<<c)-1&b)<<32-c|a>>>c}ja=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<<f)-1&b)<<32-f|a>>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<<f;a=0}else{b=(1<<f)-1&a>>>32-f|b<<f;a=a<<f}if(h){f=d-1|0;g=c-1|0;m=(g|0)!=-1?f+1|0:f;while(1){j=e<<1|i>>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0<k>>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}ja=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}ja=b}return a}function cf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=fa-16|0;fa=j;J[j+8>>2]=0;J[j>>2]=0;J[j+4>>2]=0;a:{b:{e=c+1|0;if(e){if(e>>>0>=1073741824){break b}h=pl(e<<2);pk(h,0,(c<<2)+4|0)}c:{if((b|0)<=0){break c}e=0;if(b>>>0>=4){k=b&-4;while(1){f=e<<2;i=(J[f+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;i=(J[(f|4)+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;i=(J[(f|8)+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;f=(J[(f|12)+a>>2]<<2)+h|0;J[f>>2]=J[f>>2]+1;e=e+4|0;l=l+4|0;if((k|0)!=(l|0)){continue}break}}f=b&3;if(!f){break c}while(1){k=(J[(e<<2)+a>>2]<<2)+h|0;J[k>>2]=J[k>>2]+1;e=e+1|0;m=m+1|0;if((f|0)!=(m|0)){continue}break}}e=0;if((c|0)<0){a=0;break a}o=+(b|0);a=0;while(1){b=J[(e<<2)+h>>2];if((b|0)>0){n=+(b|0);g=n*sk(n/o)+g;a=a+1|0}b=(c|0)==(e|0);e=e+1|0;if(!b){continue}break}break a}Ia();C()}if(d){J[d>>2]=a}if(h){hl(h)}g=-g;d:{if(R(g)<0x8000000000000000){b=R(g)>=1?~~(g>0?T(V(g*2.3283064365386963e-10),4294967295):W((g-+(~~g>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~g>>>0;break d}b=-2147483648;a=0}fa=j+16|0;ja=b;return a}function Yf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Xf(a,h,c,g,e,g);d=d-g|0;Xf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}
function xf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;wf(a,h,c,g,e,g);d=d-g|0;wf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function rg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;qg(a,h,c,g,e,g);d=d-g|0;qg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function qf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;nf(a,h,c,g,e,g);d=d-g|0;nf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function og(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;ng(a,h,c,g,e,g);d=d-g|0;ng(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function lg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;kg(a,h,c,g,e,g);d=d-g|0;kg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function ig(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;hg(a,h,c,g,e,g);d=d-g|0;hg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function fg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;eg(a,h,c,g,e,g);d=d-g|0;eg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function cg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;bg(a,h,c,g,e,g);d=d-g|0;bg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Vf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Uf(a,h,c,g,e,g);d=d-g|0;Uf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Sf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Rf(a,h,c,g,e,g);d=d-g|0;Rf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Pf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Of(a,h,c,g,e,g);d=d-g|0;Of(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Mf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Lf(a,h,c,g,e,g);d=d-g|0;Lf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Jf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;If(a,h,c,g,e,g);d=d-g|0;If(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Gf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Ff(a,h,c,g,e,g);d=d-g|0;Ff(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Df(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Cf(a,h,c,g,e,g);d=d-g|0;Cf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Af(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;zf(a,h,c,g,e,g);d=d-g|0;zf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function $f(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]<M[c+(d<<3)>>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;_f(a,h,c,g,e,g);d=d-g|0;_f(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0<g>>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function zh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=fa-16|0;fa=g;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=pl(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=h;J[e>>2]=c;if(!d){break b}hl(d)}b=J[a+12>>2];c=J[b+28>>2];b=J[b+24>>2];J[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=J[d>>2];c=J[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){vb(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}J[a+100>>2]=e+(b<<2)}e=a+8|0;b=J[a+116>>2];d:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){c=1;break d}b=0;while(1){c=Ah(e,J[(b<<2)+d>>2]);if(!c){break d}f=J[a+116>>2];d=J[f>>2];b=b+1|0;if(b>>>0<J[f+4>>2]-d>>2>>>0){continue}break}break d}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=Ah(e,P(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}fa=g+16|0;return c|0}Ia();C()}function Ka(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[b+88>>2];if(!(!c|J[c>>2]!=1)){e=J[c+8>>2];J[a+4>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);f=a+8|0;d=K[b+24|0];h=J[a+8>>2];g=J[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){La(f,d-g|0);d=K[b+24|0];e=J[c+8>>2];break a}if(d>>>0>=g>>>0){break a}J[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=J[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;J[g+f>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+(g|4)>>2]=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+(g|8)>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[f+(g|12)>>2]=K[c+12|0]|K[c+13|0]<<8|(K[c+14|0]<<16|K[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;J[f+(d<<2)>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;J[d+20>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);d=1}return d|0}function cl(a,b,c,d){var e=0,f=0,g=0,h=0;g=fa-32|0;fa=g;e=d&2147483647;h=e;f=e-1006698496|0;e=e-1140785152|0;a:{if((f|0)==(e|0)&0|e>>>0>f>>>0){e=c<<4|b>>>28;c=d<<4|c>>>28;b=b&268435455;if((b|0)==134217728&(a|0)!=0|b>>>0>134217728){f=c+1073741824|0;e=e+1|0;f=e?f:f+1|0;break a}f=c+1073741824|0;if(a|(b|0)!=134217728){break a}a=e&1;e=a+e|0;f=a>>>0>e>>>0?f+1|0:f;break a}if(!(!c&(h|0)==2147418112?!(a|b):h>>>0<2147418112)){a=d<<4|c>>>28;e=c<<4|b>>>28;f=a&524287|2146959360;break a}e=0;f=2146435072;if(h>>>0>1140785151){break a}f=0;h=h>>>16|0;if(h>>>0<15249){break a}e=d&65535|65536;Tk(g+16|0,a,b,c,e,h-15233|0);_k(g,a,b,c,e,15361-h|0);b=J[g+8>>2];e=b<<4;b=J[g+12>>2]<<4|b>>>28;c=J[g>>2];f=J[g+4>>2];h=f;e=f>>>28|e;f=b;a=h&268435455;b=c|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((a|0)==134217728&(b|0)!=0|a>>>0>134217728){e=e+1|0;f=e?f:f+1|0;break a}if(b|(a|0)!=134217728){break a}a=e;e=e+(e&1)|0;f=a>>>0>e>>>0?f+1|0:f}fa=g+32|0;x(0,e|0);x(1,d&-2147483648|f);return+z()}function Oh(a,b){a=a|0;b=b|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;k=J[a+12>>2];c=J[a+68>>2];d=J[c+80>>2];H[b+84|0]=0;n=b+68|0;i=J[b+68>>2];e=J[b+72>>2]-i>>2;a:{if(e>>>0<d>>>0){rb(n,d-e|0,11424);c=J[a+68>>2];d=J[c+80>>2];break a}if(d>>>0>=e>>>0){break a}J[b+72>>2]=i+(d<<2)}b=J[c+100>>2];e=J[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=J[k+28>>2];f=J[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=J[c>>2];if(g>>>0>=d>>>0){break b}j=J[J[a+72>>2]+12>>2];h=J[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=J[n>>2];J[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=J[g+4>>2];if((h|0)==-1){break b}l=J[c+4>>2];if(l>>>0>=d>>>0){break b}h=J[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}J[f+(l<<2)>>2]=h;g=J[g+8>>2];if((g|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}j=J[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}J[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+P(b,12)|0;l=P(b,3);f=J[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function xa(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,k=0,l=0,m=0;h=J[d+80>>2];e=fa-48|0;fa=e;a=J[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=J[J[d>>2]>>2]+J[d+48>>2]|0;J[e+16>>2]=a;a=-1<<a;J[e+20>>2]=a^-1;a=-2-a|0;J[e+24>>2]=a;J[e+32>>2]=(a|0)/2;N[e+28>>2]=Q(2)/Q(a|0);f=J[c>>2];if((f|0)!=J[c+4>>2]){a=0;d=0;while(1){g=J[(d<<2)+f>>2];h=e+36|0;k=J[J[b>>2]>>2];l=J[b+48>>2];f=J[b+40>>2];i=J[b+44>>2];if(!K[b+84|0]){g=J[J[b+68>>2]+(g<<2)>>2]}g=em(f,i,g,0);i=g;g=g+l|0;nk(h,g+k|0,f);ya(e+16|0,h,e+12|0,e+8|0);f=a<<2;J[f+j>>2]=J[e+12>>2];J[(f|4)+j>>2]=J[e+8>>2];a=a+2|0;d=d+1|0;f=J[c>>2];if(d>>>0<J[c+4>>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=J[J[b>>2]>>2];i=J[b+48>>2];c=J[b+40>>2];f=em(c,J[b+44>>2],K[b+84|0]?a:J[J[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;nk(k,f+l|0,c);ya(e+16|0,k,e+12|0,e+8|0);c=d<<2;J[c+j>>2]=J[e+12>>2];J[(c|4)+j>>2]=J[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}fa=e+48|0;return m>>>0<29|0}function Oa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(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;k=fa-16|0;fa=k;if(J[c+28>>2]==9){d=J[a+4>>2];h=K[c+24|0];e=h<<2;f=pl(e);l=k+8|0;J[l>>2]=1065353216;i=N[a+20>>2];d=-1<<d^-1;if((d|0)>0){N[l>>2]=i/Q(d|0)}o=(d|0)>0;a:{if(!o){break a}j=J[c+80>>2];if(!j){break a}if(h){p=J[J[b>>2]>>2]+J[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=J[a+8>>2];i=N[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;N[g+f>>2]=Q(i*Q(J[q>>2]))+N[g+m>>2];g=g|4;N[g+f>>2]=Q(i*Q(J[q+4>>2]))+N[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;N[d+f>>2]=Q(i*Q(J[(b<<2)+p>>2]))+N[d+m>>2];b=b+1|0}nk(J[J[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){nk(J[J[c+64>>2]>>2]+b|0,f,e);b=b+e|0;nk(b+J[J[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}nk(J[J[c+64>>2]>>2]+b|0,f,e)}hl(f)}fa=k+16|0;return o|0}function yh(a,b){a=a|0;b=b|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;c=J[a+12>>2];d=J[a+108>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0<e>>>0){rb(m,e-f|0,11424);d=J[a+108>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+112>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Ih(a,b){a=a|0;b=b|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;c=J[a+12>>2];d=J[a+68>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0<e>>>0){rb(m,e-f|0,11424);d=J[a+68>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+72>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Ng(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=fa+-64|0;fa=c;d=pl(80);i=J[a+8>>2];J[d+12>>2]=0;J[d+16>>2]=0;J[d>>2]=11692;J[d+4>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+76>>2]=0;J[d+72>>2]=b;J[d+68>>2]=i;J[d- -64>>2]=0;j=d+56|0;e=j;J[e>>2]=0;J[e+4>>2]=0;J[d+8>>2]=11856;e=J[a+12>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;f=c+24|0;J[f>>2]=0;J[f+4>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c>>2]=11856;J[c+4>>2]=e;g=J[e>>2];h=J[e+4>>2];H[c+63|0]=0;k=f;f=c+63|0;Jg(k,(h-g>>2>>>0)/3|0,f);g=J[c+4>>2];h=J[g+28>>2];g=J[g+24>>2];H[c+63|0]=0;Jg(c+36|0,h-g>>2,f);J[c+20>>2]=d;J[c+16>>2]=i;J[c+12>>2]=b;J[c+8>>2]=e;J[d+76>>2]=a+72;Kg(d+8|0,c);Lg(j,J[c+48>>2],J[c+52>>2]);J[c>>2]=11856;a=J[c+48>>2];if(a){J[c+52>>2]=a;hl(a)}J[c>>2]=11672;a=J[c+36>>2];if(a){hl(a)}a=J[c+24>>2];if(a){hl(a)}fa=c- -64|0;return d}function uf(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0;a:{b:{if((e|0)<=(f|0)){if((a|0)==(b|0)){break b}f=g;e=a;while(1){J[f>>2]=J[e>>2];f=f+4|0;e=e+4|0;if((e|0)!=(b|0)){continue}break}if((f|0)==(g|0)){break b}d=J[d>>2];while(1){if((b|0)==(c|0)){ok(a,g,f-g|0);return}c:{e=J[d>>2];h=J[d+4>>2]-e>>3;i=J[b>>2];if(h>>>0<=i>>>0){break c}j=h;h=J[g>>2];if(j>>>0<=h>>>0){break c}j=h;k=i;i=J[e+(i<<3)>>2];e=J[e+(h<<3)>>2];h=i>>>0>=e>>>0;J[a>>2]=h?j:k;b=((e>>>0>i>>>0)<<2)+b|0;a=a+4|0;g=(h<<2)+g|0;if((g|0)!=(f|0)){continue}break b}break}Xc();C()}if((b|0)==(c|0)){break b}f=g;e=b;while(1){J[f>>2]=J[e>>2];f=f+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}if((f|0)==(g|0)){break b}while(1){if((a|0)==(b|0)){a=f-g|0;ok(c-a|0,g,a);return}i=J[d>>2];e=J[i>>2];h=J[i+4>>2]-e>>3;k=f-4|0;i=J[k>>2];if(h>>>0<=i>>>0){break a}j=h;l=b-4|0;h=J[l>>2];if(j>>>0<=h>>>0){break a}c=c-4|0;e=M[e+(i<<3)>>2]<M[e+(h<<3)>>2];J[c>>2]=e?h:i;b=e?l:b;f=e?f:k;if((g|0)!=(f|0)){continue}break}}return}Xc();C()}function mi(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=fa-32|0;fa=d;a:{b=J[a+16>>2];c=J[a+20>>2];if(!!b&(c|0)>=0|(c|0)>0){e=J[J[a+12>>2]+4>>2]+7|0;f=e>>>0<7?1:f;c=f>>>3|0;f=f<<29|e>>>3;if(K[a+24|0]){e=J[a+4>>2];J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;pf(f,c,d);c=e-b|0;e=c-8|0;b=J[d+4>>2]-J[d>>2]|0;ok(e+b|0,c,f);nk(e,J[d>>2],b);c=8-b|0;b=J[a+20>>2];e=c;c=c+J[a+16>>2]|0;b=e>>>0>c>>>0?b+1|0:b;J[a+16>>2]=c;J[a+20>>2]=b;b=J[d+12>>2];J[d+12>>2]=0;if(b){hl(b)}b=J[d>>2];if(b){J[d+4>>2]=b;hl(b)}b=J[a+16>>2]}b=f-b|0;g=J[a+4>>2];f=J[a>>2];e=g-f|0;c=b+e|0;b:{if(c>>>0>e>>>0){h=J[a+8>>2];if(h-g>>>0>=b>>>0){i=a,j=pk(g,0,b)+b|0,J[i+4>>2]=j;break b}if((c|0)<0){break a}g=h-f|0;h=g<<1;g=g>>>0>=1073741823?2147483647:c>>>0<h>>>0?h:c;h=pl(g);pk(h+e|0,0,b);b=ok(h,f,e);J[a+8>>2]=b+g;J[a+4>>2]=b+c;J[a>>2]=b;if(!f){break b}hl(f);break b}if(c>>>0>=e>>>0){break b}J[a+4>>2]=c+f}J[a+16>>2]=0;J[a+20>>2]=0}fa=d+32|0;return}Ia();C()}function Qb(a){var b=0,c=0,d=0,e=0;c=J[a+1176>>2];if(c){d=c;b=J[a+1180>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+1176>>2]}J[a+1180>>2]=c;hl(d)}c=J[a+1164>>2];if(c){d=c;b=J[a+1168>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+1164>>2]}J[a+1168>>2]=c;hl(d)}b=J[a+1152>>2];if(b){J[a+1156>>2]=b;hl(b)}b=J[a+1140>>2];if(b){J[a+1144>>2]=b;hl(b)}b=J[a+1128>>2];if(b){J[a+1132>>2]=b;hl(b)}ye(a+1108|0);ye(a+1088|0);ye(a+1068|0);Ae(a+1036|0);a=a+12|0;Ae(a+992|0);Ae(a+960|0);Ae(a+928|0);Ae(a+896|0);Ae(a+864|0);Ae(a+832|0);Ae(a+800|0);Ae(a+768|0);Ae(a+736|0);Ae(a+704|0);Ae(a+672|0);Ae(a+640|0);Ae(a+608|0);Ae(a+576|0);Ae(a+544|0);Ae(a+512|0);Ae(a+480|0);Ae(a+448|0);Ae(a+416|0);Ae(a+384|0);Ae(a+352|0);Ae(a+320|0);Ae(a+288|0);Ae(a+256|0);Ae(a+224|0);Ae(a+192|0);Ae(a+160|0);Ae(a+128|0);Ae(a+96|0);Ae(a- -64|0);Ae(a+32|0);Ae(a)}function di(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=J[a+4>>2];b=J[b+12>>2]-J[b+8>>2]|0;a:{if((b|0)>3){b=0;while(1){if(ka[J[J[a>>2]+36>>2]](a,b)|0){b=b+1|0;c=J[a+4>>2];c=J[c+12>>2]-J[c+8>>2]>>2;if((b|0)<(c|0)){continue}break a}break}return 0}c=b>>2}b=a+20|0;d=J[a+20>>2];e=J[a+24>>2]-d>>2;b:{if(e>>>0<c>>>0){La(b,c-e|0);break b}if(c>>>0>=e>>>0){break b}J[a+24>>2]=d+(c<<2)}f=J[a+8>>2];a=J[a+12>>2];if((f|0)==(a|0)){return 1}a=a-f>>2;j=a>>>0<=1?1:a;e=J[b>>2];b=0;while(1){a=J[(b<<2)+f>>2];d=J[a+8>>2];c=J[a+4>>2];c:{if((d|0)==(c|0)){break c}a=d-c>>2;d=a>>>0<=1?1:a;i=d&3;g=0;a=0;if(d-1>>>0>=3){k=d&-4;h=0;while(1){d=a<<2;J[e+(J[d+c>>2]<<2)>>2]=b;J[e+(J[c+(d|4)>>2]<<2)>>2]=b;J[e+(J[c+(d|8)>>2]<<2)>>2]=b;J[e+(J[c+(d|12)>>2]<<2)>>2]=b;a=a+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}if(!i){break c}while(1){J[e+(J[c+(a<<2)>>2]<<2)>>2]=b;a=a+1|0;g=g+1|0;if((g|0)!=(i|0)){continue}break}}b=b+1|0;if((j|0)!=(b|0)){continue}break}return 1}function Ta(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+12>>2];i=J[a+8>>2];d=e-i>>2;b=K[b+24|0];a:{if(d>>>0<b>>>0){La(a+8|0,b-d|0);i=J[a+8>>2];e=J[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;J[a+12>>2]=e}b=0;f=J[c+8>>2];h=J[c+12>>2];j=J[c+20>>2];e=e-i|0;d=J[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0<g>>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}nk(i,d+J[c>>2]|0,e);d=J[c+20>>2];g=e;e=e+J[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;f=J[c+8>>2];h=J[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0<g>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+J[c>>2]|0;J[a+20>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[c+20>>2];g=d;f=d;e=J[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;h=J[c+12>>2];if((f|0)>=(h|0)&d>>>0>=M[c+8>>2]|(f|0)>(h|0)){break b}f=K[d+J[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;if(f-1>>>0>29){break b}J[a+4>>2]=f;b=1}return b|0}function hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=J[a+4>>2];b:{if((f|0)!=J[a>>2]){c=f;break b}g=J[a+8>>2];c=J[a+12>>2];if(g>>>0<c>>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;ok(c,f,d);f=J[a+8>>2]}J[a+4>>2]=c;J[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=pl(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){J[e>>2]=J[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){J[e>>2]=J[d>>2];J[e+4>>2]=J[d+4>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=J[d+12>>2];J[e+16>>2]=J[d+16>>2];J[e+20>>2]=J[d+20>>2];J[e+24>>2]=J[d+24>>2];J[e+28>>2]=J[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}J[a+12>>2]=k;J[a+8>>2]=h;J[a+4>>2]=c;J[a>>2]=i;if(!f){break b}hl(f);c=J[a+4>>2]}J[c-4>>2]=J[b>>2];J[a+4>>2]=J[a+4>>2]-4;return}Ya();C()}function Fj(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c-b|0;e=J[a+8>>2];d=J[a>>2];if(f>>>0<=e-d>>>0){h=J[a+4>>2]-d|0;e=h+b|0;g=f>>>0>h>>>0?e:c;a:{if((g|0)==(b|0)){break a}k=(b^-1)+g|0;i=g-b&7;if(i){while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(k>>>0<7){break a}while(1){H[d|0]=K[b|0];H[d+1|0]=K[b+1|0];H[d+2|0]=K[b+2|0];H[d+3|0]=K[b+3|0];H[d+4|0]=K[b+4|0];H[d+5|0]=K[b+5|0];H[d+6|0]=K[b+6|0];H[d+7|0]=K[b+7|0];d=d+8|0;b=b+8|0;if((g|0)!=(b|0)){continue}break}}if(f>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(g|0)){while(1){H[b|0]=K[e|0];b=b+1|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=d;return}if(d){J[a+4>>2]=d;hl(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}b:{if((f|0)<0){break b}d=e<<1;e=e>>>0>=1073741823?2147483647:d>>>0>f>>>0?d:f;if((e|0)<0){break b}d=pl(e);J[a+4>>2]=d;J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){d=nk(d,b,f)+f|0}J[a+4>>2]=d;return}Ia();C()}function ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+N[b>>2];k=+N[b+4>>2];l=+N[b+8>>2];g=R(j)+R(k)+R(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=J[a+16>>2];l=+(h|0);g=V(j*l+.5);b:{if(R(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=V(k*l+.5);c:{if(R(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=J[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=J[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}J[c>>2]=a;J[d>>2]=b}function Ze(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{e=J[b+4>>2];c:{if(!e){f=b+4|0;c=f;break c}f=K[c+11|0];g=f<<24>>24<0;i=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=e;h=K[e+27|0];f=h<<24>>24<0;e=f?J[e+20>>2]:h;h=e>>>0<g>>>0;d:{e:{f:{g:{j=h?e:g;h:{if(j){f=f?J[c+16>>2]:c+16|0;k=tk(i,f,j);if(!k){if(e>>>0>g>>>0){break h}break g}if((k|0)>=0){break g}break h}if(e>>>0<=g>>>0){break f}}f=c;e=J[c>>2];if(e){continue}break c}e=tk(f,i,j);if(e){break e}}if(h){break d}break b}if((e|0)>=0){break b}}e=J[c+4>>2];if(e){continue}break}f=c+4|0}e=pl(40);g=e+16|0;d=J[d>>2];i:{if(H[d+11|0]>=0){i=J[d+4>>2];J[g>>2]=J[d>>2];J[g+4>>2]=i;J[g+8>>2]=J[d+8>>2];break i}tl(g,J[d>>2],J[d+4>>2])}J[e+8>>2]=c;J[e>>2]=0;J[e+4>>2]=0;J[e+36>>2]=0;J[e+28>>2]=0;J[e+32>>2]=0;J[f>>2]=e;c=e;d=J[J[b>>2]>>2];if(d){J[b>>2]=d;c=J[f>>2]}We(J[b+4>>2],c);J[b+8>>2]=J[b+8>>2]+1;b=1;break a}e=c;b=0}H[a+4|0]=b;J[a>>2]=e}function vf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=fa-32|0;fa=d;h=J[b>>2]+J[a+40>>2]|0;e=J[a+32>>2];c=e-4194304|0;a:{if(c>>>0<=63){H[J[a+24>>2]+J[a+28>>2]|0]=e;g=J[a+28>>2]+1|0;break a}if(c>>>0<=16383){c=J[a+24>>2]+J[a+28>>2]|0;H[c+1|0]=e+16384>>>8;H[c|0]=e;g=J[a+28>>2]+2|0;break a}if(c>>>0<=4194303){c=J[a+24>>2]+J[a+28>>2]|0;H[c+2|0]=e+4194304>>>16;H[c+1|0]=e>>>8;H[c|0]=e;g=J[a+28>>2]+3|0;break a}if(c>>>0<=1073741823){f=J[a+24>>2]+J[a+28>>2]|0;c=e-1077936128|0;H[f+3|0]=c>>>24;H[f+2|0]=c>>>16;H[f+1|0]=e>>>8;H[f|0]=e;g=J[a+28>>2]+4|0;break a}g=J[a+28>>2]}f=g;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=f>>31;pf(f,c,d);e=J[d+4>>2]-J[d>>2]|0;ok(e+h|0,h,f);nk(h,J[d>>2],e);h=J[a+40>>2];a=J[a+44>>2];f=e+f|0;c=a+(g>>>0>f>>>0?c+1|0:c)|0;a=f+h|0;ki(b,a);a=J[d+12>>2];J[d+12>>2]=0;if(a){hl(a)}a=J[d>>2];if(a){J[d+4>>2]=a;hl(a)}fa=d+32|0}function mf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=fa-32|0;fa=d;h=J[b>>2]+J[a+40>>2]|0;f=J[a+32>>2];c=f-16384|0;a:{if(c>>>0<=63){H[J[a+24>>2]+J[a+28>>2]|0]=f;g=J[a+28>>2]+1|0;break a}if(c>>>0<=16383){c=J[a+24>>2]+J[a+28>>2]|0;H[c|0]=f;H[c+1|0]=f>>>8;g=J[a+28>>2]+2|0;break a}if(c>>>0<=4194303){e=J[a+24>>2]+J[a+28>>2]|0;c=f+8372224|0;H[e+2|0]=c>>>16;H[e+1|0]=c>>>8;H[e|0]=f;g=J[a+28>>2]+3|0;break a}if(c>>>0<=1073741823){e=J[a+24>>2]+J[a+28>>2]|0;c=f-1073758208|0;H[e+3|0]=c>>>24;H[e+2|0]=c>>>16;H[e+1|0]=c>>>8;H[e|0]=f;g=J[a+28>>2]+4|0;break a}g=J[a+28>>2]}e=g;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=e>>31;pf(e,c,d);f=J[d+4>>2]-J[d>>2]|0;ok(f+h|0,h,e);nk(h,J[d>>2],f);h=J[a+40>>2];a=J[a+44>>2];e=e+f|0;c=a+(g>>>0>e>>>0?c+1|0:c)|0;a=e+h|0;ki(b,a);a=J[d+12>>2];J[d+12>>2]=0;if(a){hl(a)}a=J[d>>2];if(a){J[d+4>>2]=a;hl(a)}fa=d+32|0}function za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;a:{if(J[c+28>>2]!=9|K[c+24|0]!=3){break a}a=J[a+4>>2];if(a-2>>>0>28){break a}o=1;j=J[c+80>>2];if(!j){break a}k=Q(Q(2)/Q((1<<a)-2|0));c=J[J[c>>2]>>2]+J[c+48>>2]|0;a=J[J[b>>2]>>2]+J[b+48>>2]|0;b=0;while(1){g=Q(0);l=Q(0);m=Q(0);e=Q(Q(Q(J[a>>2])*k)+Q(-1));f=Q(Q(Q(J[a+4>>2])*k)+Q(-1));i=Q(Q(Q(1)-Q(R(e)))-Q(R(f)));h=Q(U(Q(-i),Q(0)));n=Q(-h);f=Q(f+(f<Q(0)?h:n));e=Q(e+(e<Q(0)?h:n));h=Q(Q(f*f)+Q(Q(i*i)+Q(e*e)));if(!(+h<1e-6)){g=Q(Q(1)/Q(Y(h)));m=Q(f*g);l=Q(e*g);g=Q(i*g)}a=a+8|0;d=(B(m),v(2));H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;d=(B(l),v(2));H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;d=(B(g),v(2));H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-16|0;fa=c;b=J[J[a+184>>2]+(b<<2)>>2];H[c+15|0]=b;e=J[J[a+4>>2]+44>>2];d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){Ba(e,J[e+4>>2],c+15|0,c+16|0);b=K[c+15|0]}a:{b:{c:{if(b<<24>>24<0){e=J[a+68>>2];break c}b=J[J[a+172>>2]+P(b&255,136)>>2];d=ka[J[J[a>>2]+40>>2]](a)|0;f=J[a+172>>2]+P(H[c+15|0],136)|0;e=J[f+132>>2];d:{switch(J[J[J[d+56>>2]+84>>2]+(b<<2)>>2]){case 0:break c;case 1:break d;default:break b}}if(!K[f+28|0]){break b}}b=J[J[a+4>>2]+44>>2];H[c+14|0]=0;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+14|0,c+15|0);break a}b=J[J[a+4>>2]+44>>2];H[c+13|0]=1;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+13|0,c+14|0)}a=J[J[a+4>>2]+44>>2];H[c+12|0]=e;b=J[a+20>>2];if(!J[a+16>>2]&(b|0)<=0|(b|0)<0){Ba(a,J[a+4>>2],c+12|0,c+13|0)}fa=c+16|0;return 1}function xl(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=fa-16|0;fa=c;e=fa-16|0;fa=e;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;fa=e+16|0;ll(c,K[c+11|0]>>>7|0?(J[c+8>>2]&2147483647)-1|0:10);g=fa-16|0;fa=g;l=+b;if(K[c+11|0]>>>7|0){e=J[c+4>>2]}else{e=K[c+11|0]&127}while(1){a:{if(K[c+11|0]>>>7|0){f=J[c>>2]}else{f=c}O[g>>3]=l;i=fa-16|0;fa=i;J[i+12>>2]=g;d=fa-160|0;fa=d;h=e+1|0;j=h?f:d+158|0;J[d+144>>2]=j;f=-1;k=h-1|0;J[d+148>>2]=h>>>0>=k>>>0?k:0;d=pk(d,0,144);J[d+76>>2]=-1;J[d+36>>2]=374;J[d+80>>2]=-1;J[d+44>>2]=d+159;J[d+84>>2]=d+144;b:{if((h|0)<0){J[4842]=61;break b}H[j|0]=0;f=Ok(d,1510,g)}fa=d+160|0;fa=i+16|0;c:{if((f|0)>=0){if(e>>>0>=f>>>0){break a}e=f;break c}e=e<<1|1}ll(c,e);continue}break}ll(c,f);e=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=e;J[a+8>>2]=J[c+8>>2];J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;fa=g+16|0;if(K[c+11|0]>>>7|0){hl(J[c>>2])}fa=c+16|0}function ak(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{e=J[b+4>>2];c:{if(!e){f=b+4|0;c=f;break c}f=K[c+11|0];g=f<<24>>24<0;h=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=e;e=K[e+27|0];f=e<<24>>24<0;e=f?J[c+20>>2]:e;j=e>>>0<g>>>0;d:{e:{f:{g:{i=j?e:g;h:{if(i){f=f?J[c+16>>2]:c+16|0;k=tk(h,f,i);if(!k){if(e>>>0>g>>>0){break h}break g}if((k|0)>=0){break g}break h}if(e>>>0<=g>>>0){break f}}f=c;e=J[c>>2];if(e){continue}break c}e=tk(f,h,i);if(e){break e}}if(j){break d}break b}if((e|0)>=0){break b}}e=J[c+4>>2];if(e){continue}break}f=c+4|0}e=pl(40);J[e+24>>2]=J[d+8>>2];g=J[d+4>>2];h=J[d>>2];J[e+16>>2]=h;J[e+20>>2]=g;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;Zj(e+28|0,d+12|0);J[e+8>>2]=c;J[e>>2]=0;J[e+4>>2]=0;J[f>>2]=e;c=e;d=J[J[b>>2]>>2];if(d){J[b>>2]=d;c=J[f>>2]}We(J[b+4>>2],c);J[b+8>>2]=J[b+8>>2]+1;b=1;break a}e=c;b=0}H[a+4|0]=b;J[a>>2]=e}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=1;a:{b:{c:{if((ka[J[J[b>>2]+20>>2]](b)|0)<=0){break c}while(1){e=ck(J[J[a+4>>2]+4>>2],ka[J[J[b>>2]+24>>2]](b,i)|0);j=(e|0)!=-1;if((e|0)==-1){break c}c=J[a+20>>2];d:{if((c|0)!=J[a+24>>2]){J[c>>2]=e;J[a+20>>2]=c+4;break d}f=c;c=J[a+16>>2];d=f-c|0;h=d>>2;g=h+1|0;if(g>>>0>=1073741824){break b}f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0<f>>>0?f:g;if(g){if(g>>>0>=1073741824){break a}f=pl(g<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=e;d=ok(f,c,d);J[a+24>>2]=d+(g<<2);J[a+20>>2]=h+4;J[a+16>>2]=d;if(!c){break d}hl(c)}c=J[a+4>>2];e:{if((e|0)<0){break e}d=J[c+4>>2];if(J[d+12>>2]-J[d+8>>2]>>2<=(e|0)){break e}c=J[J[c+8>>2]+(J[J[c+20>>2]+(e<<2)>>2]<<2)>>2];ka[J[J[c>>2]+32>>2]](c,e)|0}i=i+1|0;if((ka[J[J[b>>2]+20>>2]](b)|0)>(i|0)){continue}break}}return j|0}Ia();C()}Ya();C()}function tf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==(c|0)){J[a+4>>2]=d;J[a>>2]=d;return}if((c|0)==(d|0)){J[a+4>>2]=c;J[a>>2]=b;return}a:{if((b+4|0)==(c|0)){f=J[b>>2];e=b;b=d-c|0;c=ok(e,c,b)+b|0;J[c>>2]=f;break a}if((c+4|0)==(d|0)){f=d-4|0;e=J[f>>2];c=d;if((b|0)!=(f|0)){f=f-b|0;c=d-f|0;ok(c,b,f)}J[b>>2]=e;break a}g=c-b>>2;h=d-c>>2;if((g|0)==(h|0)){e=c;while(1){f=J[b>>2];J[b>>2]=J[e>>2];J[e>>2]=f;b=b+4|0;if((c|0)==(b|0)){break a}e=e+4|0;if((e|0)!=(d|0)){continue}break}break a}e=h;f=g;while(1){c=f;f=e;e=(c|0)%(e|0)|0;if(e){continue}break}if(f){e=(f<<2)+b|0;while(1){e=e-4|0;j=g<<2;c=e+j|0;k=J[e>>2];f=e;while(1){i=f;f=c;J[i>>2]=J[c>>2];i=c+j|0;c=d-c>>2;c=(c|0)>(g|0)?i:(g-c<<2)+b|0;if((e|0)!=(c|0)){continue}break}J[f>>2]=k;if((b|0)!=(e|0)){continue}break}}c=(h<<2)+b|0}J[a+4>>2]=d;J[a>>2]=c}function Kg(a,b){var c=0,d=0;c=J[b+8>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=c;J[a+20>>2]=J[b+20>>2];c=J[b+16>>2];J[a+12>>2]=J[b+12>>2];J[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=J[b+28>>2];if(c){d=J[a+24>>2];if(J[a+32>>2]<<5>>>0<c>>>0){if(d){hl(d);J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;c=J[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=pl(c<<2);J[a+32>>2]=c;J[a+28>>2]=0;J[a+24>>2]=d;c=J[b+28>>2]}ok(d,J[b+24>>2],(c-1>>>3&536870908)+4|0);c=J[b+28>>2]}else{c=0}J[a+28>>2]=c;c=J[b+40>>2];if(c){d=J[a+36>>2];if(J[a+44>>2]<<5>>>0<c>>>0){if(d){hl(d);J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;c=J[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=pl(c<<2);J[a+44>>2]=c;J[a+40>>2]=0;J[a+36>>2]=d;c=J[b+40>>2]}ok(d,J[b+36>>2],(c-1>>>3&536870908)+4|0);b=J[b+40>>2]}else{b=0}J[a+40>>2]=b}return}Ia();C()}Ia();C()}function Wj(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;d=J[a+100>>2];e=J[a+96>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=d-e|0;g=(b|0)/12|0;a:{b:{if((d|0)==(e|0)){break b}if(g>>>0>=357913942){break a}d=pl(b);J[f>>2]=d;J[f+8>>2]=d+P(g,12);a=0;c=d;d=b-12|0;b=(d-((d>>>0)%12|0)|0)+12|0;d=pk(c,0,b);J[f+4>>2]=b+d;b=g>>>0<=1?1:g;j=b&1;if(g>>>0>=2){k=b&-2;g=0;while(1){c=P(a,12);b=c+e|0;h=J[b>>2];i=J[b+4>>2];c=d+c|0;J[c+8>>2]=J[b+8>>2];J[c>>2]=h;J[c+4>>2]=i;c=P(a|1,12);b=c+e|0;h=J[b>>2];i=J[b+4>>2];c=d+c|0;J[c+8>>2]=J[b+8>>2];J[c>>2]=h;J[c+4>>2]=i;a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break b}c=e;e=P(a,12);a=c+e|0;g=J[a+4>>2];b=J[a>>2];e=d+e|0;J[e+8>>2]=J[a+8>>2];J[e>>2]=b;J[e+4>>2]=g}e=Mj(f);a=J[f>>2];if(a){J[f+4>>2]=a;hl(a)}fa=f+16|0;return e}Ia();C()}function vk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=fa-32|0;fa=f;d=J[a+28>>2];J[f+16>>2]=d;g=J[a+20>>2];J[f+28>>2]=c;J[f+24>>2]=b;b=g-d|0;J[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=ba(J[a+60>>2],b|0,2,f+12|0)|0;if(d){J[4842]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=J[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=J[b+4>>2];j=h>>>0<e>>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;J[d>>2]=h+J[d>>2];b=(j?12:4)+b|0;J[b>>2]=J[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=ba(J[a+60>>2],b|0,i|0,f+12|0)|0;if(e){J[4842]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];a=c;break a}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=J[a>>2]|32;a=0;if((i|0)==2){break a}a=c-J[d+4>>2]|0}fa=f+32|0;return a|0}function $g(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+112>>2];b=J[a+108>>2];c=(d-b|0)/12|0;yb(c,J[J[a+4>>2]+44>>2]);if((b|0)!=(d|0)){f=c>>>0<=1?1:c;d=0;while(1){b=J[a+108>>2]+P(d,12)|0;yb(J[b+4>>2]-g|0,J[J[a+4>>2]+44>>2]);yb(J[b+4>>2]-J[b>>2]|0,J[J[a+4>>2]+44>>2]);g=J[b+4>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}d=0;li(J[J[a+4>>2]+44>>2],c,0,0);b=J[J[a+4>>2]+44>>2];e=!!J[b+16>>2];b=J[b+20>>2];if(e&(b|0)>=0|(b|0)>0){f=c>>>0<=1?1:c;while(1){c=J[J[a+4>>2]+44>>2];b=J[c+20>>2];if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){g=K[(J[a+108>>2]+P(d,12)|0)+8|0];c=J[c+12>>2];e=J[c+4>>2];b=e>>>3|0;h=b+J[c>>2]|0;i=K[h|0];e=e&7;j=h,k=im(e)&i,H[j|0]=k;b=b+J[c>>2]|0;H[b|0]=K[b|0]|(g&1)<<e;J[c+4>>2]=J[c+4>>2]+1}d=d+1|0;if((f|0)!=(d|0)){continue}break}}mi(J[J[a+4>>2]+44>>2])}return 1}function Ph(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+56>>2]-J[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=pl(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}hl(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Qh(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0<J[f+4>>2]-d>>2>>>0){continue}break}break c}c=1;a=J[J[a+12>>2]+64>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Qh(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function Jh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=pl(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}hl(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Kh(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0<J[f+4>>2]-d>>2>>>0){continue}break}break c}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Kh(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;J[d+12>>2]=c;a:{if(!Ic(a,b,c)|K[J[a+8>>2]+24|0]!=3){break a}f=J[b+48>>2];b=pl(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1261];c=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);e=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);e=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;b=Gb(f,d+12|0,d,-1);if(H[d+11|0]<0){hl(J[d>>2])}if((b|0)<=0){break a}J[a+44>>2]=b;g=1}fa=d+16|0;return g|0}function Me(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=fa-16|0;fa=i;e=J[b+4>>2];a:{b:{if(!e){h=b+4|0;g=h;break b}f=J[c>>2];while(1){g=e;c=J[e+16>>2];if((c|0)>(f|0)){h=g;e=J[g>>2];if(e){continue}break b}if((c|0)>=(f|0)){f=g;b=0;break a}e=J[g+4>>2];if(e){continue}break}h=g+4|0}f=pl(32);c=J[d>>2];j=f+24|0;e=j;J[e>>2]=0;J[e+4>>2]=0;J[f+16>>2]=c;k=f+20|0;J[k>>2]=e;e=J[d+4>>2];d=d+8|0;if((e|0)!=(d|0)){while(1){c=e+16|0;Xe(i+8|0,k,j,c,c);c=J[e+4>>2];c:{if(c){while(1){e=c;c=J[e>>2];if(c){continue}break c}}while(1){c=e;e=J[e+8>>2];if((c|0)!=J[e>>2]){continue}break}}if((d|0)!=(e|0)){continue}break}}J[f+8>>2]=g;J[f>>2]=0;J[f+4>>2]=0;J[h>>2]=f;e=f;c=J[J[b>>2]>>2];if(c){J[b>>2]=c;e=J[h>>2]}We(J[b+4>>2],e);J[b+8>>2]=J[b+8>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=f;fa=i+16|0}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=fa-16|0;fa=c;yb(J[a+8>>2]-J[a+4>>2]>>2,b);e=J[a+4>>2];if((e|0)!=J[a+8>>2]){h=c+13|0;i=c+14|0;j=c+15|0;k=c+16|0;while(1){e=J[J[J[a+32>>2]+8>>2]+(J[(g<<2)+e>>2]<<2)>>2];H[c+15|0]=J[e+56>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+15|0,k);d=J[b+20>>2];f=J[b+16>>2];H[c+14|0]=J[e+28>>2];if(!!f&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+14|0,j);d=J[b+20>>2];f=J[b+16>>2];H[c+13|0]=K[e+24|0];if(!!f&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+13|0,i);d=J[b+20>>2];f=J[b+16>>2];H[c+12|0]=K[e+32|0];if(!!f&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,h)}yb(J[e+60>>2],b);g=g+1|0;e=J[a+4>>2];if(g>>>0<J[a+8>>2]-e>>2>>>0){continue}break}}fa=c+16|0;return 1}function ze(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=fa-16|0;fa=g;a:{b:{c=J[a+4>>2];c:{if((c|0)!=J[a+8>>2]){J[c>>2]=J[a+12>>2];c=c+4|0;J[a+4>>2]=c;break c}e=J[a>>2];c=c-e|0;h=c>>2;d=h+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0<f>>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=pl(d<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=J[a+12>>2];i=d<<2;d=ok(f,e,c);J[a+8>>2]=i+d;c=h+4|0;J[a+4>>2]=c;J[a>>2]=d;if(!e){break c}hl(e);c=J[a+4>>2]}f=c;c=J[a>>2];J[g+12>>2]=f-c;e=J[b+20>>2];d:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break d}Ba(b,J[b+4>>2],g+12|0,g+16|0);c=J[a>>2];e=J[b+20>>2];if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break d}Ba(b,J[b+4>>2],c,J[g+12>>2]+c|0);c=J[a>>2]}J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=c;fa=g+16|0;return}Ia();C()}Ya();C()}function ok(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return nk(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0<b>>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}H[d|0]=K[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;H[d|0]=K[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;J[c+a>>2]=J[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;H[c+a|0]=K[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){J[d>>2]=J[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Wg(a,b,c){var d=0,e=0,f=0,g=0;a:{b=P(b,3);if((b|0)==-1){break a}b:{e=J[a+12>>2];f=J[e+12>>2];d=b<<2;c:{if(J[f+d>>2]==-1){break c}a=J[a+152>>2];e=J[e>>2];if(J[a+(J[e+d>>2]<<2)>>2]!=-1){break b}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break a}d=b<<2;if(J[d+f>>2]==-1){break c}if(J[a+(J[d+e>>2]<<2)>>2]!=-1){break b}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break a}d=b<<2;if(J[d+f>>2]==-1){break c}if(J[a+(J[d+e>>2]<<2)>>2]!=-1){break b}g=1;a=b+1|0;b=(a>>>0)%3|0?a:b-2|0}J[c>>2]=b;return g}while(1){d:{a=b;e:{if((b>>>0)%3|0){b=a-1|0;break e}b=a+2|0;if((b|0)==-1){break d}}b=J[(b<<2)+f>>2];if((b|0)==-1){break d}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){continue}}break}J[c>>2]=a+((a>>>0)%3|0?-1:2);return 0}J[c>>2]=-1;return 0}function Lk(a,b,c){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:Qk(a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function Bk(a,b,c,d,e,f){var g=0;g=fa-80|0;fa=g;a:{if((f|0)>=16384){$k(g+32|0,b,c,d,e,0,0,0,2147352576);d=J[g+40>>2];e=J[g+44>>2];b=J[g+32>>2];c=J[g+36>>2];if(f>>>0<32767){f=f-16383|0;break a}$k(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)>=49149?49149:f)-32766|0;d=J[g+24>>2];e=J[g+28>>2];b=J[g+16>>2];c=J[g+20>>2];break a}if((f|0)>-16383){break a}$k(g- -64|0,b,c,d,e,0,0,0,7471104);d=J[g+72>>2];e=J[g+76>>2];b=J[g+64>>2];c=J[g+68>>2];if(f>>>0>4294934644){f=f+16269|0;break a}$k(g+48|0,b,c,d,e,0,0,0,7471104);f=((f|0)<=-48920?-48920:f)+32538|0;d=J[g+56>>2];e=J[g+60>>2];b=J[g+48>>2];c=J[g+52>>2]}$k(g,b,c,d,e,0,0,0,f+16383<<16);b=J[g+12>>2];J[a+8>>2]=J[g+8>>2];J[a+12>>2]=b;b=J[g+4>>2];J[a>>2]=J[g>>2];J[a+4>>2]=b;fa=g+80|0}function Gl(a,b,c){var d=0,e=0,f=0;d=fa+-64|0;fa=d;f=J[a>>2];e=J[f-4>>2];f=J[f-8>>2];J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;H[d+55|0]=0;H[d+56|0]=0;H[d+57|0]=0;H[d+58|0]=0;H[d+59|0]=0;H[d+60|0]=0;H[d+61|0]=0;H[d+62|0]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+20>>2]=0;J[d+16>>2]=b;J[d+12>>2]=a;J[d+8>>2]=c;a=a+f|0;b=0;a:{if(El(e,c,0)){J[d+56>>2]=1;ka[J[J[e>>2]+20>>2]](e,d+8|0,a,a,1,0);b=J[d+32>>2]==1?a:0;break a}ka[J[J[e>>2]+24>>2]](e,d+8|0,a,1,0);b:{switch(J[d+44>>2]){case 0:b=J[d+48>>2]==1?J[d+36>>2]==1?J[d+40>>2]==1?J[d+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[d+32>>2]!=1){if(J[d+48>>2]|J[d+36>>2]!=1|J[d+40>>2]!=1){break a}}b=J[d+24>>2]}fa=d- -64|0;return b}function De(a,b){var c=0,d=0,e=0,f=0;c=J[a>>2];a:{if(b){b=J[c+12>>2];d=J[c+8>>2]+1|0;b=d?b:b+1|0;J[c+8>>2]=d;J[c+12>>2]=b;b=J[a+28>>2];J[a+24>>2]=J[a+24>>2]|1<<b;break a}b=J[c+4>>2];d=J[c>>2]+1|0;b=d?b:b+1|0;J[c>>2]=d;J[c+4>>2]=b;b=J[a+28>>2]}b=b+1|0;J[a+28>>2]=b;b:{c:{if((b|0)==32){b=J[a+16>>2];d:{if((b|0)!=J[a+20>>2]){J[b>>2]=J[a+24>>2];J[a+16>>2]=b+4;break d}e=b;b=J[a+12>>2];c=e-b|0;f=c>>2;d=f+1|0;if(d>>>0>=1073741824){break c}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0<e>>>0?e:d;if(d){if(d>>>0>=1073741824){break b}e=pl(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=J[a+24>>2];c=ok(e,b,c);J[a+20>>2]=c+(d<<2);J[a+16>>2]=f+4;J[a+12>>2]=c;if(!b){break d}hl(b)}J[a+24>>2]=0;J[a+28>>2]=0}return}Ia();C()}Ya();C()}function pk(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=P(b&255,16843009);J[e>>2]=b;d=c-d&-4;c=d+e|0;J[c-4>>2]=b;if(d>>>0<9){break a}J[e+8>>2]=b;J[e+4>>2]=b;J[c-8>>2]=b;J[c-12>>2]=b;if(d>>>0<25){break a}J[e+24>>2]=b;J[e+20>>2]=b;J[e+16>>2]=b;J[e+12>>2]=b;J[c-16>>2]=b;J[c-20>>2]=b;J[c-24>>2]=b;J[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=em(b,0,1,1);f=ja;b=e+g|0;while(1){J[b+24>>2]=d;J[b+28>>2]=f;J[b+16>>2]=d;J[b+20>>2]=f;J[b+8>>2]=d;J[b+12>>2]=f;J[b>>2]=d;J[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Ib(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{g=a+16|0;f=J[g>>2];b:{if(!f){break b}i=J[b>>2];b=g;while(1){h=(i|0)>J[f+16>>2];b=h?b:f;f=J[(h?f+4|0:f)>>2];if(f){continue}break}if((b|0)==(g|0)|(i|0)<J[b+16>>2]){break b}f=J[b+24>>2];if(!f){break b}m=b+20|0;b=K[c+11|0];g=b<<24>>24<0;i=g?J[c>>2]:c;b=g?J[c+4>>2]:b;while(1){g=K[f+27|0];h=g<<24>>24<0;g=h?J[f+20>>2]:g;k=g>>>0<b>>>0;c:{d:{e:{f:{g:{h:{j=k?g:b;if(j){h=h?J[f+16>>2]:f+16|0;l=tk(i,h,j);if(l){break h}if(b>>>0>=g>>>0){break g}break c}if(b>>>0>=g>>>0){break f}break c}if((l|0)<0){break c}}g=tk(h,i,j);if(g){break e}}if(k){break d}break a}if((g|0)<0){break d}break a}f=f+4|0}f=J[f>>2];if(f){continue}break}}Mb(a,c,d,e);return}Mb(m,c,d,e)}function Gb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+16|0;e=J[f>>2];a:{if(!e){break a}g=J[b>>2];b=f;while(1){h=(g|0)>J[e+16>>2];b=h?b:e;e=J[(h?e+4|0:e)>>2];if(e){continue}break}if((b|0)==(f|0)|(g|0)<J[b+16>>2]){break a}e=J[b+24>>2];if(!e){break a}g=b+20|0;b=K[c+11|0];f=b<<24>>24<0;h=f?J[c>>2]:c;b=f?J[c+4>>2]:b;while(1){f=K[e+27|0];i=f<<24>>24<0;f=i?J[e+20>>2]:f;k=f>>>0<b>>>0;b:{c:{d:{e:{f:{g:{j=k?f:b;if(j){i=i?J[e+16>>2]:e+16|0;l=tk(h,i,j);if(l){break g}if(b>>>0>=f>>>0){break f}break b}if(b>>>0>=f>>>0){break e}break b}if((l|0)<0){break b}}f=tk(i,h,j);if(f){break d}}if(k){break c}return pi(g,c,d)}if((f|0)<0){break c}return pi(g,c,d)}e=e+4|0}e=J[e>>2];if(e){continue}break}}return pi(a,c,d)}function li(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{e=J[a+20>>2];b:{if(!((!J[a+16>>2]&(e|0)<=0|(e|0)<0)&(!!b&(c|0)>=0|(c|0)>0))){break b}H[a+24|0]=d;e=b+7|0;c=e>>>0<7?c+1|0:c;e=(c&7)<<29|e>>>3;J[a+16>>2]=e;J[a+20>>2]=c>>>3;f=J[a+4>>2];h=J[a>>2];c=f-h|0;b=c+8|0;d=d?b:c;b=d+e|0;c:{if(b>>>0>c>>>0){e=b-c|0;g=J[a+8>>2];if(e>>>0<=g-f>>>0){i=a,j=pk(f,0,e)+e|0,J[i+4>>2]=j;break c}if((b|0)<0){break a}f=g-h|0;g=f<<1;f=f>>>0>=1073741823?2147483647:b>>>0<g>>>0?g:b;g=pl(f);pk(g+c|0,0,e);c=ok(g,h,c);J[a+8>>2]=c+f;J[a+4>>2]=b+c;J[a>>2]=c;if(!h){break c}hl(h);break c}if(b>>>0>=c>>>0){break c}J[a+4>>2]=b+h}c=J[a>>2];b=pl(8);J[b+4>>2]=0;J[b>>2]=c+d;c=J[a+12>>2];J[a+12>>2]=b;if(!c){break b}hl(c)}return}Ia();C()}function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+16|0;d=J[e>>2];a:{if(!d){break a}f=J[b>>2];b=e;while(1){g=(f|0)>J[d+16>>2];b=g?b:d;d=J[(g?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(e|0)|(f|0)<J[b+16>>2]){break a}d=J[b+24>>2];if(!d){break a}f=b+20|0;b=K[c+11|0];e=b<<24>>24<0;g=e?J[c>>2]:c;b=e?J[c+4>>2]:b;while(1){e=K[d+27|0];h=e<<24>>24<0;e=h?J[d+20>>2]:e;j=e>>>0<b>>>0;b:{c:{d:{e:{f:{g:{i=j?e:b;if(i){h=h?J[d+16>>2]:d+16|0;k=tk(g,h,i);if(k){break g}if(b>>>0>=e>>>0){break f}break b}if(b>>>0>=e>>>0){break e}break b}if((k|0)<0){break b}}e=tk(h,g,i);if(e){break d}}if(j){break c}return qi(f,c)}if((e|0)<0){break c}return qi(f,c)}d=d+4|0}d=J[d>>2];if(d){continue}break}}return qi(a,c)}function Xj(a,b,c){var d=0,e=0,f=0,g=0;yb(J[c+8>>2],b);e=J[c>>2];g=c+4|0;if((e|0)!=(g|0)){while(1){if(!Yj(b,e+16|0)){return}d=J[e+32>>2]-J[e+28>>2]|0;yb(d,b);f=J[b+20>>2];if(!J[b+16>>2]&(f|0)<=0|(f|0)<0){f=J[e+28>>2];Ba(b,J[b+4>>2],f,d+f|0)}f=J[e+4>>2];a:{if(f){while(1){d=f;f=J[d>>2];if(f){continue}break a}}while(1){d=J[e+8>>2];f=J[d>>2]!=(e|0);e=d;if(f){continue}break}}e=d;if((d|0)!=(g|0)){continue}break}}yb(J[c+20>>2],b);d=J[c+12>>2];c=c+16|0;if((d|0)==(c|0)){return}while(1){if(!Yj(b,d+16|0)){return}Xj(a,b,J[d+28>>2]);f=d;e=J[d+4>>2];b:{if(e){while(1){d=e;e=J[d>>2];if(e){continue}break b}}while(1){d=J[f+8>>2];e=J[d>>2]!=(f|0);f=d;if(e){continue}break}}if((c|0)!=(d|0)){continue}break}}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=J[b+4>>2]-J[b>>2]>>2;f=J[a+8>>2];i=K[f+24|0];d=i;g=fa+-64|0;fa=g;e=_a(g);h=P(d,J[3712]);$a(e,J[J[a+8>>2]+56>>2],0,d,5,h,h>>31);e=bb(pl(96),e);db(e,j);d=J[a+32>>2];J[a+32>>2]=e;if(d){Kb(d)}a:{if(!c){break a}d=J[a+32>>2];H[d+84|0]=0;h=J[d+68>>2];e=J[d+72>>2]-h>>2;if(e>>>0<c>>>0){rb(d+68|0,c-e|0,2744);break a}if(c>>>0>=e>>>0){break a}J[d+72>>2]=h+(c<<2)}fa=g- -64|0;c=J[b>>2];d=J[b+4>>2];if((c|0)==(d|0)){return 1}a=J[a+32>>2];g=J[J[a>>2]>>2]+J[a+48>>2]|0;b=0;while(1){a=J[c>>2];if(!K[f+84|0]){a=J[J[f+68>>2]+(a<<2)>>2]}a=Lb(f,a,H[f+24|0],g+(b<<2)|0);if(a){b=b+i|0;c=c+4|0;if((d|0)!=(c|0)){continue}}break}return a|0}function Lg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=J[a+8>>2];e=J[a>>2];if(h>>>0<=d-e>>2>>>0){d=J[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0<h>>>0?f:c;if((g|0)!=(b|0)){while(1){J[e>>2]=J[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){J[d>>2]=J[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}J[a+4>>2]=d;return}J[a+4>>2]=e;return}if(e){J[a+4>>2]=e;hl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=pl(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=nk(d,c,b)+b|0}J[a+4>>2]=d;return}Ia();C()}function Jg(a,b,c){var d=0,e=0,f=0;e=fa-16|0;fa=e;J[a+4>>2]=0;a:{b:{if(!b){break b}f=J[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){J[a+4>>2]=b;break c}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0<f>>>0?f:d}else{d=2147483647}Gc(e,d);f=J[a>>2];J[a>>2]=J[e>>2];J[e>>2]=f;d=J[a+4>>2];J[a+4>>2]=b;J[e+4>>2]=d;d=J[a+8>>2];J[a+8>>2]=J[e+8>>2];J[e+8>>2]=d;if(!f){break c}hl(f)}d=b>>>5|0;a=J[a>>2];if(K[c|0]){if(b>>>0>=32){pk(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){pk(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}fa=e+16|0;return}Ia();C()}function ub(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;h=fa-16|0;fa=h;a:{b:{c=J[a+8>>2];c:{if((c|0)!=J[a+12>>2]){J[c>>2]=b;J[a+8>>2]=c+4;break c}f=c;c=J[a+4>>2];e=f-c|0;g=e>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0<f>>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=pl(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=b;e=ok(f,c,e);J[a+12>>2]=e+(d<<2);J[a+8>>2]=g+4;J[a+4>>2]=e;if(!c){break c}hl(c)}c=J[a+16>>2];e=J[a+20>>2]-c>>2;d:{if((e|0)>(b|0)){break d}J[h+12>>2]=-1;d=b+1|0;if(d>>>0>e>>>0){vb(a+16|0,d-e|0,h+12|0);c=J[a+16>>2];break d}if(d>>>0>=e>>>0){break d}J[a+20>>2]=(d<<2)+c}J[(b<<2)+c>>2]=(J[a+8>>2]-J[a+4>>2]>>2)-1;fa=h+16|0;return}Ia();C()}Ya();C()}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=fa-48|0;fa=d;J[d+40>>2]=J[a- -64>>2];c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+40|0,d+44|0)}c=d+8|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);if(J[d+40>>2]>0){f=1;while(1){g=f;f=J[J[a+60>>2]+(e>>>3&536870908)>>2]>>>e|0;De(c,(g^f^-1)&1);f=f&1;e=e+1|0;if((e|0)<J[d+40>>2]){continue}break}}Ee(c,b);J[d+44>>2]=J[a+12>>2];e=J[b+20>>2];a:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break a}f=d+48|0;Ba(b,J[b+4>>2],d+44|0,f);e=J[b+20>>2];g=J[b+16>>2];J[d+44>>2]=J[a+24>>2];if(!!g&(e|0)>=0|(e|0)>0){break a}Ba(b,J[b+4>>2],d+44|0,f)}Ae(c);fa=d+48|0;return 1}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=fa-48|0;fa=d;J[d+40>>2]=J[a+80>>2];c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+40|0,d+44|0)}c=d+8|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);if(J[d+40>>2]>0){f=1;while(1){g=f;f=J[J[a+76>>2]+(e>>>3&536870908)>>2]>>>e|0;De(c,(g^f^-1)&1);f=f&1;e=e+1|0;if((e|0)<J[d+40>>2]){continue}break}}Ee(c,b);J[d+44>>2]=J[a+12>>2];e=J[b+20>>2];a:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break a}f=d+48|0;Ba(b,J[b+4>>2],d+44|0,f);e=J[b+20>>2];g=J[b+16>>2];J[d+44>>2]=J[a+16>>2];if(!!g&(e|0)>=0|(e|0)>0){break a}Ba(b,J[b+4>>2],d+44|0,f)}Ae(c);fa=d+48|0;return 1}function Og(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=J[a>>2];f=J[a+4>>2]-e>>2;c=f+1|0;if(c>>>0<1073741824){e=J[a+8>>2]-e|0;g=e>>>1|0;c=e>>>0>=2147483644?1073741823:c>>>0<g>>>0?g:c;if(c){if(c>>>0>=1073741824){break c}d=pl(c<<2)}e=J[b>>2];J[b>>2]=0;b=(f<<2)+d|0;J[b>>2]=e;c=(c<<2)+d|0;e=b+4|0;d=J[a+4>>2];f=J[a>>2];if((d|0)==(f|0)){break b}while(1){d=d-4|0;g=J[d>>2];J[d>>2]=0;b=b-4|0;J[b>>2]=g;if((d|0)!=(f|0)){continue}break}J[a+8>>2]=c;c=J[a+4>>2];J[a+4>>2]=e;d=J[a>>2];J[a>>2]=b;if((c|0)==(d|0)){break a}while(1){c=c-4|0;a=J[c>>2];J[c>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if((c|0)!=(d|0)){continue}break}break a}Ia();C()}Ya();C()}J[a+8>>2]=c;J[a+4>>2]=e;J[a>>2]=b}if(d){hl(d)}}function sl(a,b,c,d,e,f,g,h){var i=0,j=0,k=0;i=fa-16|0;fa=i;if((b^-1)+2147483631>>>0>=c>>>0){if(K[a+11|0]>>>7|0){k=J[a>>2]}else{k=a}if(b>>>0<1073741799){J[i+12>>2]=b<<1;J[i>>2]=b+c;c=fa-16|0;fa=c;fa=c+16|0;c=i+12|0;c=J[(M[i>>2]<M[c>>2]?c:i)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}ml(i,c);c=J[i>>2];if(e){jl(c,k,e)}if(g){jl(c+e|0,h,g)}j=e+f|0;h=d-j|0;if((d|0)!=(j|0)){jl((c+e|0)+g|0,(e+k|0)+f|0,h)}if((b|0)!=10){hl(k)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[i+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;b=a;a=h+(e+g|0)|0;J[b+4>>2]=a;H[i+12|0]=0;H[a+c|0]=K[i+12|0];fa=i+16|0;return}xe();C()}function Ma(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;J[b>>2]=1;f=b+8|0;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){ji(f,d+4|0);c=J[f>>2]}c=c+d|0;d=J[a+4>>2];H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=J[a+8>>2];if((c|0)!=J[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=J[b+8>>2];e=J[b+12>>2]-c|0;if(e>>>0<=4294967291){ji(f,e+4|0);c=J[f>>2]}c=c+e|0;e=J[g>>2];H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;d=d+1|0;c=J[a+8>>2];if(d>>>0<J[a+12>>2]-c>>2>>>0){continue}break}}c=J[b+12>>2];b=J[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){ji(f,c+4|0);b=J[f>>2]}b=b+c|0;a=J[a+20>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function ec(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;g=f>>2;d=J[a+8>>2];e=J[a>>2];if(g>>>0<=d-e>>2>>>0){f=J[a+4>>2]-e|0;d=f+b|0;h=f>>2;f=h>>>0<g>>>0?d:c;i=f-b|0;if((b|0)!=(f|0)){ok(e,b,i)}if(g>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=e+i;return}if(e){J[a+4>>2]=e;hl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(d>>>0>=1073741824){break a}e=d<<2;d=pl(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=nk(d,c,b)+b|0}J[a+4>>2]=d;return}Ia();C()}function Pe(a,b,c){var d=0,e=0,f=0;d=fa-16|0;fa=d;J[d+12>>2]=b;b=pl(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);f=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=e;H[b+13|0]=e>>>8;H[b+14|0]=e>>>16;H[b+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);f=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=e;H[b+5|0]=e>>>8;H[b+6|0]=e>>>16;H[b+7|0]=e>>>24;H[b+17|0]=0;Qe(a+4|0,d+12|0,d,c);if(H[d+11|0]<0){hl(J[d>>2])}fa=d+16|0}function sf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{if((a|0)==(b|0)){break b}J[c>>2]=J[a>>2];e=a+4|0;if((e|0)==(b|0)){break b}a=J[d>>2];g=J[a>>2];i=J[a+4>>2]-g>>3;a=c;while(1){d=J[e>>2];if(d>>>0>=i>>>0){break a}f=J[a>>2];if(f>>>0>=i>>>0){break a}j=a+4|0;c:{if(M[(d<<3)+g>>2]<M[(f<<3)+g>>2]){J[a+4>>2]=f;h=c;d:{if((a|0)==(c|0)){break d}while(1){k=J[e>>2];if(k>>>0>=i>>>0){break a}f=a-4|0;d=J[f>>2];if(d>>>0>=i>>>0){break a}h=a;if(M[(k<<3)+g>>2]>=M[(d<<3)+g>>2]){break d}J[a>>2]=d;a=f;if((c|0)!=(a|0)){continue}break}h=c}J[h>>2]=J[e>>2];break c}J[j>>2]=d}a=j;e=e+4|0;if((e|0)!=(b|0)){continue}break}}return}Xc();C()}function Ok(a,b,c){var d=0,e=0,f=0,g=0;d=fa-208|0;fa=d;J[d+204>>2]=c;c=d+160|0;pk(c,0,40);J[d+200>>2]=J[d+204>>2];a:{if((Ik(0,b,d+200|0,d+80|0,c)|0)<0){a=-1;break a}g=J[a+76>>2]>=0;e=J[a>>2];if(J[a+72>>2]<=0){J[a>>2]=e&-33}b:{c:{d:{if(!J[a+48>>2]){J[a+48>>2]=80;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;f=J[a+44>>2];J[a+44>>2]=d;break d}if(J[a+16>>2]){break c}}c=-1;if(Fk(a)){break b}}c=Ik(a,b,d+200|0,d+80|0,d+160|0)}b=c;if(f){ka[J[a+36>>2]](a,0,0)|0;J[a+48>>2]=0;J[a+44>>2]=f;J[a+28>>2]=0;c=J[a+20>>2];J[a+16>>2]=0;J[a+20>>2]=0;b=c?b:-1}c=a;a=J[a>>2];J[c>>2]=a|e&32;a=a&32?-1:b;if(!g){break a}}fa=d+208|0;return a}function pe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=fa-32|0;fa=f;d=d-e|0;if((d|0)>0){i=a+8|0;k=0-e<<2;while(1){j=d<<2;g=j+b|0;h=g+k|0;l=J[h>>2];h=J[h+4>>2];m=J[g+4>>2];J[f+16>>2]=J[g>>2];J[f+20>>2]=m;J[f+8>>2]=l;J[f+12>>2]=h;Qd(f+24|0,i,f+16|0,f+8|0);g=c+j|0;J[g>>2]=J[f+24>>2];J[g+4>>2]=J[f+28>>2];d=d-e|0;if((d|0)>0){continue}break}}d=e>>>0>1073741823?-1:e<<2;d=pk(pl(d),0,d);e=J[d>>2];g=J[d+4>>2];i=J[b+4>>2];J[f+16>>2]=J[b>>2];J[f+20>>2]=i;J[f+8>>2]=e;J[f+12>>2]=g;Qd(f+24|0,a+8|0,f+16|0,f+8|0);J[c>>2]=J[f+24>>2];J[c+4>>2]=J[f+28>>2];hl(d);fa=f+32|0;return 1}function le(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+48>>2]=f;i=1;a:{d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;b:{if((d|0)<4){break b}l=a+44|0;m=a+8|0;f=d>>>2|0;while(1){d=J[a+40>>2];i=J[d>>2];h=J[d+4>>2]-i>>2;d=f-1|0;if(h>>>0<=d>>>0){break a}i=Cd(l,J[i+(d<<2)>>2],b,d);if(!i){break b}h=J[a+52>>2];n=J[a+56>>2];j=P(d,e)<<2;k=j+b|0;o=J[k+4>>2];J[g+16>>2]=J[k>>2];J[g+20>>2]=o;J[g+8>>2]=h;J[g+12>>2]=n;Qd(g+24|0,m,g+16|0,g+8|0);h=c+j|0;J[h>>2]=J[g+24>>2];J[h+4>>2]=J[g+28>>2];h=f>>>0>1;f=d;if(h){continue}break}}fa=g+32|0;return i|0}Xc();C()}function _d(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+48>>2]=f;i=1;a:{d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;b:{if((d|0)<4){break b}l=a+44|0;m=a+8|0;f=d>>>2|0;while(1){d=J[a+40>>2];i=J[d>>2];h=J[d+4>>2]-i>>2;d=f-1|0;if(h>>>0<=d>>>0){break a}i=jd(l,J[i+(d<<2)>>2],b,d);if(!i){break b}h=J[a+52>>2];n=J[a+56>>2];j=P(d,e)<<2;k=j+b|0;o=J[k+4>>2];J[g+16>>2]=J[k>>2];J[g+20>>2]=o;J[g+8>>2]=h;J[g+12>>2]=n;Qd(g+24|0,m,g+16|0,g+8|0);h=c+j|0;J[h>>2]=J[g+24>>2];J[h+4>>2]=J[g+28>>2];h=f>>>0>1;f=d;if(h){continue}break}}fa=g+32|0;return i|0}Xc();C()}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;jk(a,b,c);e=J[a+96>>2];a=J[a+100>>2];a:{if((e|0)==(a|0)){break a}d=(a-e|0)/12|0;f=d>>>0<=1?1:d;g=f&1;a=J[b>>2];c=0;if(d>>>0>=2){f=f&-2;d=0;while(1){b=P(c,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2];b=P(c|1,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2];c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!g){break a}b=P(c,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2]}}function ej(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,k=0,l=0;a=fa-16|0;fa=a;a:{if(!b){break a}J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;h=b+96|0;g=J[b+96>>2];e=(J[b+100>>2]-g|0)/12|0;b:{if(e>>>0<c>>>0){Kj(h,c-e|0,a);break b}if(c>>>0<e>>>0){J[b+100>>2]=g+P(c,12)}if(!c){break a}}g=J[h>>2];e=0;while(1){i=P(e,12);f=i+d|0;j=J[f>>2];k=J[f+8>>2];l=J[f+4>>2];f=(J[b+100>>2]-g|0)/12|0;c:{if(f>>>0>e>>>0){e=e+1|0;break c}J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=e+1|0;Kj(h,e-f|0,a);g=J[h>>2]}f=g+i|0;J[f+8>>2]=k;J[f+4>>2]=l;J[f>>2]=j;if((c|0)!=(e|0)){continue}break}}fa=a+16|0;return(b|0)!=0|0}function Se(a,b){var c=0,d=0,e=0,f=0;f=fa-16|0;fa=f;c=pl(16);J[f>>2]=c;J[f+4>>2]=15;J[f+8>>2]=-2147483632;d=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);e=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[c+7|0]=e;H[c+8|0]=e>>>8;H[c+9|0]=e>>>16;H[c+10|0]=e>>>24;H[c+11|0]=d;H[c+12|0]=d>>>8;H[c+13|0]=d>>>16;H[c+14|0]=d>>>24;d=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);e=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+15|0]=0;ni(a+4|0,f,b);if(H[f+11|0]<0){hl(J[f>>2])}fa=f+16|0}function Uk(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0;i=1;j=d&2147483647;l=j;k=(j|0)==2147418112;a:{if(k&!c?a|b:k&(c|0)!=0|j>>>0>2147418112){break a}j=h&2147483647;k=(j|0)==2147418112;if(k&!g?e|f:k&(g|0)!=0|j>>>0>2147418112){break a}if(!(a|e|(c|g)|(b|f|(j|l)))){return 0}i=d&h;if((i|0)>0|(i|0)>=0){i=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0<e>>>0|b>>>0<f>>>0:c>>>0<g>>>0&(d|0)<=(h|0)|(d|0)<(h|0)){break a}return(a^e|c^g|(b^f|d^h))!=0}i=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:c>>>0>g>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}i=(a^e|c^g|(b^f|d^h))!=0}return i}function $b(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}b=P(b,12);d=pl(b);J[a+4>>2]=d;J[a>>2]=d;e=b+d|0;J[a+8>>2]=e;f=J[c+4>>2];g=J[c>>2];c:{if((f|0)==(g|0)){b=b-12|0;pk(d,0,(b-((b>>>0)%12|0)|0)+12|0);break c}h=f-g|0;if((h|0)<0){break a}i=h&-4;while(1){J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;b=pl(h);J[d>>2]=b;J[d+8>>2]=b+i;c=g;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}J[d+4>>2]=b;d=d+12|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e}return}Ia();C()}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;Ia();C()}function Qa(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>2;e=J[a+8>>2];d=J[a>>2];if(g>>>0<=e-d>>2>>>0){e=J[a+4>>2]-d|0;f=e>>2;e=f>>>0<g>>>0?b+e|0:c;h=e-b|0;if((b|0)!=(e|0)){ok(d,b,h)}if(f>>>0<g>>>0){b=c-e|0;d=J[a+4>>2];if((c|0)!=(e|0)){ok(d,e,b)}J[a+4>>2]=b+d;return}J[a+4>>2]=d+h;return}if(d){J[a+4>>2]=d;hl(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}a:{if((f|0)<0){break a}d=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>g>>>0?d:g;if(d>>>0>=1073741824){break a}e=d<<2;d=pl(e);J[a+4>>2]=d;J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){nk(d,b,f)}J[a+4>>2]=d+(g<<2);return}Ia();C()}function bb(a,b){var c=0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=c;c=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;J[a+88>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function cc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=J[a+4>>2];a:{b:{if(!a){break b}d=K[b+11|0];c=d<<24>>24<0;g=c?J[b>>2]:b;d=c?J[b+4>>2]:d;b=f;while(1){e=K[a+27|0];c=e<<24>>24<0;e=c?J[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=tk(c?J[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=J[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=K[b+27|0];a=c<<24>>24<0;d:{c=a?J[b+20>>2]:c;e=c>>>0<d>>>0?c:d;if(e){a=tk(g,a?J[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function Vb(a){var b=0,c=0,d=0,e=0;c=J[a+152>>2];if(c){d=c;b=J[a+156>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+152>>2]}J[a+156>>2]=c;hl(d)}c=J[a+140>>2];if(c){d=c;b=J[a+144>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+140>>2]}J[a+144>>2]=c;hl(d)}b=J[a+128>>2];if(b){J[a+132>>2]=b;hl(b)}b=J[a+116>>2];if(b){J[a+120>>2]=b;hl(b)}b=J[a+104>>2];if(b){J[a+108>>2]=b;hl(b)}ye(a+84|0);ye(a- -64|0);ye(a+44|0);Ae(a+12|0)}function Ll(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(El(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(El(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];ka[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];ka[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function fc(a,b){var c=0,d=0,e=0,f=0;c=J[a+16>>2];if(b){J[a+12>>2]=J[a+12>>2]|-2147483648>>>c}b=c+1|0;J[a+16>>2]=b;a:{b:{if((b|0)==32){b=J[a+4>>2];c:{if((b|0)!=J[a+8>>2]){J[b>>2]=J[a+12>>2];J[a+4>>2]=b+4;break c}d=b;b=J[a>>2];c=d-b|0;f=c>>2;e=f+1|0;if(e>>>0>=1073741824){break b}d=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0<d>>>0?d:e;if(e){if(e>>>0>=1073741824){break a}d=pl(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=J[a+12>>2];c=ok(d,b,c);J[a+8>>2]=c+(e<<2);J[a+4>>2]=f+4;J[a>>2]=c;if(!b){break c}hl(b)}J[a+12>>2]=0;J[a+16>>2]=0}return}Ia();C()}Ya();C()}function Yb(a){var b=0,c=0,d=0,e=0;c=J[a+140>>2];if(c){d=c;b=J[a+144>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+140>>2]}J[a+144>>2]=c;hl(d)}c=J[a+128>>2];if(c){d=c;b=J[a+132>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+128>>2]}J[a+132>>2]=c;hl(d)}b=J[a+116>>2];if(b){J[a+120>>2]=b;hl(b)}b=J[a+104>>2];if(b){J[a+108>>2]=b;hl(b)}b=J[a+92>>2];if(b){J[a+96>>2]=b;hl(b)}ye(a+72|0);ye(a+52|0);ye(a+32|0);ye(a+12|0)}function Xe(a,b,c,d,e){var f=0,g=0,h=0;f=fa-16|0;fa=f;g=Ye(b,c,f+12|0,f+8|0,d);d=J[g>>2];if(d){b=0}else{d=pl(40);c=d+16|0;a:{if(H[e+11|0]>=0){h=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=h;J[c+8>>2]=J[e+8>>2];break a}tl(c,J[e>>2],J[e+4>>2])}c=d+28|0;b:{if(H[e+23|0]>=0){e=e+12|0;h=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=h;J[c+8>>2]=J[e+8>>2];break b}tl(c,J[e+12>>2],J[e+16>>2])}J[d+8>>2]=J[f+12>>2];J[d>>2]=0;J[d+4>>2]=0;J[g>>2]=d;e=d;c=J[J[b>>2]>>2];if(c){J[b>>2]=c;e=J[g>>2]}We(J[b+4>>2],e);J[b+8>>2]=J[b+8>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=d;fa=f+16|0}function Vg(a){var b=0,c=0,d=0,e=0;Ce(a);c=J[a+84>>2];a:{if((c|0)<=0){break a}b=c<<5;d=pl(c>>>0>134217727?-1:b|4);J[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){J[b>>2]=0;J[b+4>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;b=b+32|0;if((c|0)!=(b|0)){continue}break}e=J[a+80>>2];J[a+80>>2]=d;if(e){c=e-4|0;d=J[c>>2];if(d){b=(d<<5)+e|0;while(1){b=Ae(b-32|0);if((e|0)!=(b|0)){continue}break}}hl(c)}if(J[a+84>>2]<=0){break a}b=0;while(1){Ce(J[a+80>>2]+(b<<5)|0);b=b+1|0;if((b|0)<J[a+84>>2]){continue}break}}}function Xk(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=fa-16|0;fa=f;A(+b);g=v(1)|0;d=v(0)|0;c=g&2147483647;e=c+-1048576|0;a:{if((e|0)==2145386495|e>>>0<2145386495){h=d<<28;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e+1006632960|0;break a}if((c|0)==2146435072|c>>>0>2146435072){h=d<<28;c=(g&15)<<28|d>>>4;d=g>>>4|2147418112;break a}if(!(c|d)){c=0;d=0;break a}e=c;c=c?S(c):S(d)+32|0;Tk(f,d,e,0,0,c+49|0);i=J[f>>2];h=J[f+4>>2];e=15372-c<<16;c=J[f+8>>2];d=e|J[f+12>>2]^65536}J[a>>2]=i;J[a+4>>2]=h;J[a+8>>2]=c;J[a+12>>2]=g&-2147483648|d;fa=f+16|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=fa-48|0;fa=f;a:{if(!b){a=0;break a}e=f+16|0;J[e>>2]=0;J[e+4>>2]=0;H[e+24|0]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;g=0;b:{if((ck(b,0)|0)==-1){break b}if(c){g=0;if(!(ka[J[J[b>>2]+16>>2]](b)|0)){break b}ka[J[J[b>>2]+20>>2]](b)}Ge(f,a,b,e);a=J[f>>2];if(H[f+15|0]<0){hl(J[f+4>>2])}g=0;if(a){break b}Fj(d,J[e>>2],J[e+4>>2]);g=J[e+4>>2]-J[e>>2]|0}a=g;b=J[e+12>>2];J[e+12>>2]=0;if(b){hl(b)}b=J[e>>2];if(!b){break a}J[e+4>>2]=b;hl(b)}fa=f+48|0;return a|0}function ac(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2292;d=J[a+60>>2];if(d){b=d;c=J[a- -64>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){Kb(b)}if((c|0)!=(d|0)){continue}break}b=J[a+60>>2]}J[a+64>>2]=d;hl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}d=J[a+36>>2];if(d){b=d;c=J[a+40>>2];if((b|0)!=(c|0)){while(1){c=c-24|0;ka[J[J[c>>2]>>2]](c)|0;if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;hl(b)}J[a>>2]=2196;b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;hl(b)}return a|0}function lh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=J[a+8>>2];d=J[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=pk(d,0,b)+b|0}J[a+4>>2]=d;return}a:{f=J[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0<h>>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=pl(e<<2)}c=(g<<2)+i|0;b=b<<2;b=pk(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(f|0)){continue}break}}J[a+8>>2]=(e<<2)+i;J[a+4>>2]=b;J[a>>2]=c;if(f){hl(f)}return}Ia();C()}Ya();C()}function lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=fa-48|0;fa=e;a:{if(!b){a=0;break a}d=e+16|0;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;f=0;b:{if((ck(b,0)|0)==-1){break b}f=0;if(!(ka[J[J[b>>2]+16>>2]](b)|0)){break b}ka[J[J[b>>2]+20>>2]](b);Le(e,a,b,d);a=J[e>>2];if(H[e+15|0]<0){hl(J[e+4>>2])}f=0;if(a){break b}Fj(c,J[d>>2],J[d+4>>2]);f=J[d+4>>2]-J[d>>2]|0}a=f;b=J[d+12>>2];J[d+12>>2]=0;if(b){hl(b)}b=J[d>>2];if(!b){break a}J[d+4>>2]=b;hl(b)}fa=e+48|0;return a|0}function _k(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){c=f+-64|0;b=c&31;if((c&63)>>>0>=32){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<<b)-1&e)<<32-b|d>>>b}d=0;e=0;break a}if(!f){break a}i=d;h=64-f|0;g=h&31;if((h&63)>>>0>=32){h=i<<g;j=0}else{h=(1<<g)-1&i>>>32-g|e<<g;j=i<<g}i=b;b=f&31;if((f&63)>>>0>=32){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<<b)-1&c)<<32-b|i>>>b}b=j|b;c=g|h;g=d;d=f&31;if((f&63)>>>0>=32){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<<d)-1&e)<<32-d|g>>>d}e=h}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e}function Yj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=fa-16|0;fa=c;e=K[b+11|0];e=e<<24>>24<0?J[b+4>>2]:e;a:{if(e>>>0>255){break a}if(!e){H[c+15|0]=0;b=J[a+20>>2];if(!!J[a+16>>2]&(b|0)>=0|(b|0)>0){break a}Ba(a,J[a+4>>2],c+15|0,c+16|0);break a}H[c+14|0]=e;d=J[a+20>>2];if(!!J[a+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(a,J[a+4>>2],c+14|0,c+15|0);d=J[a+20>>2];if(!!J[a+16>>2]&(d|0)>=0|(d|0)>0){break a}g=a;h=J[a+4>>2];a=K[b+11|0];d=a<<24>>24<0;f=d?J[b>>2]:b;Ba(g,h,f,(d?J[b+4>>2]:a)+f|0)}fa=c+16|0;return e>>>0<256}function il(a){a=a|0;var b=0,c=0,d=0;if(!a){if(J[4847]){b=il(J[4847])}if(J[4810]){b=il(J[4810])|b}a=J[4846];if(a){while(1){if(J[a+20>>2]!=J[a+28>>2]){b=il(a)|b}a=J[a+56>>2];if(a){continue}break}}return b|0}d=J[a+76>>2]>=0;a:{b:{if(J[a+20>>2]==J[a+28>>2]){break b}ka[J[a+36>>2]](a,0,0)|0;if(J[a+20>>2]){break b}b=-1;break a}b=J[a+8>>2];c=J[a+4>>2];if((b|0)!=(c|0)){b=c-b|0;ka[J[a+40>>2]](a,b,b>>31,1)|0}b=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;if(!d){break a}}return b|0}function ji(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];e=J[a>>2];d=c-e|0;b:{if(d>>>0<b>>>0){g=b-d|0;f=J[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=pk(c,0,g)+g|0,J[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0<f>>>0?f:b;f=pl(c);pk(f+d|0,0,g);d=ok(f,e,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!e){break b}hl(e);break b}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+e}b=J[a+28>>2];c=b;d=b+1|0;b=J[a+24>>2]+1|0;e=b?c:d;J[a+24>>2]=b;J[a+28>>2]=e;return}Ia();C()}function vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=fa-48|0;fa=d;e=J[a+4>>2];a:{if(!e){break a}if(b){if(!(ka[J[J[e>>2]+16>>2]](e)|0)){break a}b=J[a+4>>2];ka[J[J[b>>2]+20>>2]](b)}b=d+16|0;J[b>>2]=0;J[b+4>>2]=0;H[b+24|0]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;af(d,J[a>>2],b);a=J[d>>2];if(H[d+15|0]<0){hl(J[d+4>>2])}if(!a){Fj(c,J[b>>2],J[b+4>>2]);f=J[b+4>>2]-J[b>>2]|0}a=J[b+12>>2];J[b+12>>2]=0;if(a){hl(a)}a=J[b>>2];if(!a){break a}J[b+4>>2]=a;hl(a)}fa=d+48|0;return f|0}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=1;a:{if((ka[J[J[b>>2]+20>>2]](b)|0)<=0){break a}while(1){e=0;d=ck(J[J[a+4>>2]+4>>2],ka[J[J[b>>2]+24>>2]](b,f)|0);if((d|0)==-1){break a}c=J[a+4>>2];g=0;b:{if((d|0)<0){break b}h=J[c+4>>2];if(J[h+12>>2]-J[h+8>>2]>>2<=(d|0)){break b}c=J[J[c+8>>2]+(J[J[c+20>>2]+(d<<2)>>2]<<2)>>2];g=ka[J[J[c>>2]+36>>2]](c,d)|0}if(!(ka[J[J[b>>2]+28>>2]](b,g)|0)){break a}e=1;f=f+1|0;if((ka[J[J[b>>2]+20>>2]](b)|0)>(f|0)){continue}break}}return e|0}function Tk(a,b,c,d,e,f){var g=0,h=0,i=0;a:{if(f&64){d=b;e=f+-64|0;b=e&31;if((e&63)>>>0>=32){e=d<<b;d=0}else{e=(1<<b)-1&d>>>32-b|c<<b;d=d<<b}b=0;c=0;break a}if(!f){break a}g=d;d=f&31;if((f&63)>>>0>=32){h=g<<d;i=0}else{h=(1<<d)-1&g>>>32-d|e<<d;i=g<<d}g=b;e=64-f|0;d=e&31;if((e&63)>>>0>=32){e=0;b=c>>>d|0}else{e=c>>>d|0;b=((1<<d)-1&c)<<32-d|g>>>d}d=i|b;e=e|h;b=f&31;if((f&63)>>>0>=32){h=g<<b;b=0}else{h=(1<<b)-1&g>>>32-b|c<<b;b=g<<b}c=h}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e}function _b(a,b){Ee(a,b);Ee(a+32|0,b);Ee(a- -64|0,b);Ee(a+96|0,b);Ee(a+128|0,b);Ee(a+160|0,b);Ee(a+192|0,b);Ee(a+224|0,b);Ee(a+256|0,b);Ee(a+288|0,b);Ee(a+320|0,b);Ee(a+352|0,b);Ee(a+384|0,b);Ee(a+416|0,b);Ee(a+448|0,b);Ee(a+480|0,b);Ee(a+512|0,b);Ee(a+544|0,b);Ee(a+576|0,b);Ee(a+608|0,b);Ee(a+640|0,b);Ee(a+672|0,b);Ee(a+704|0,b);Ee(a+736|0,b);Ee(a+768|0,b);Ee(a+800|0,b);Ee(a+832|0,b);Ee(a+864|0,b);Ee(a+896|0,b);Ee(a+928|0,b);Ee(a+960|0,b);Ee(a+992|0,b);Ee(a+1024|0,b)}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=J[J[a+8>>2]+40>>2];h=pl((d|0)<0?-1:d);g=J[b>>2];i=J[b+4>>2];if((g|0)!=(i|0)){k=d+h|0;while(1){e=J[(j<<2)+g>>2];f=J[a+8>>2];if(!K[f+84|0]){e=J[J[f+68>>2]+(e<<2)>>2]}l=J[J[f>>2]>>2];d=J[f+40>>2];e=J[f+48>>2]+em(d,J[f+44>>2],e,0)|0;e=nk(h,e+l|0,d);d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],e,k);g=J[b>>2];i=J[b+4>>2]}j=j+1|0;if(j>>>0<i-g>>2>>>0){continue}break}}hl(h);return 1}function Rk(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!J[J[4886]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){H[a+1|0]=b&63|128;H[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){H[a+2|0]=b&63|128;H[a|0]=b>>>12|224;H[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){H[a+3|0]=b&63|128;H[a|0]=b>>>18|240;H[a+2|0]=b>>>6&63|128;H[a+1|0]=b>>>12&63|128;a=4;break a}}J[4842]=25;a=-1}else{a=1}break a}H[a|0]=b;a=1}return a}function kl(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=fa-16|0;fa=f;d=fa-32|0;fa=d;e=fa-16|0;fa=e;J[e+12>>2]=a;J[e+8>>2]=a+b;J[d+24>>2]=J[e+12>>2];J[d+28>>2]=J[e+8>>2];fa=e+16|0;b=fa-16|0;fa=b;h=J[d+28>>2];e=J[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){ok(c,e,g)}J[b+12>>2]=e+g;J[b+8>>2]=c+g;J[d+16>>2]=J[b+12>>2];J[d+20>>2]=J[b+8>>2];fa=b+16|0;J[d+12>>2]=(J[d+16>>2]-a|0)+a;J[d+8>>2]=(J[d+20>>2]-c|0)+c;J[f+8>>2]=J[d+12>>2];J[f+12>>2]=J[d+8>>2];fa=d+32|0;fa=f+16|0;return J[f+12>>2]}function hi(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;d=J[a+8>>2];a:{if((d|0)==J[a+12>>2]){b=tb(pl(76),b);J[b+36>>2]=0;J[b+40>>2]=0;J[b>>2]=2292;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+68>>2]=0;J[b+72>>2]=0;J[c+8>>2]=b;d=J[a+12>>2];b:{if(d>>>0<M[a+16>>2]){J[c+8>>2]=0;J[d>>2]=b;J[a+12>>2]=d+4;break b}Og(a+8|0,c+8|0)}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break a}ka[J[J[a>>2]+4>>2]](a);break a}ub(J[d>>2],b)}fa=c+16|0;return 1}function Qe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=fa-48|0;fa=e;h=J[b>>2];f=a+16|0;b=J[f>>2];a:{b:{if(!b){break b}g=f;while(1){i=J[b+16>>2]<(h|0);g=i?g:b;b=J[(i?b+4|0:b)>>2];if(b){continue}break}if((g|0)==(f|0)){break b}if(J[g+16>>2]<=(h|0)){break a}}J[e+28>>2]=0;J[e+32>>2]=0;f=e+24|0;J[e+24>>2]=f|4;b=e+16|0;J[b>>2]=0;J[b+4>>2]=0;J[e+8>>2]=h;J[e+12>>2]=b;b=a+12|0;a=e+8|0;Me(e+40|0,b,a,a);g=J[e+40>>2];Mc(a|4,J[e+16>>2]);Mc(f,J[e+28>>2])}ni(g+20|0,c,d);fa=e+48|0}function Qj(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=14964;b=J[a+68>>2];if(b){J[a+72>>2]=b;hl(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}b=J[a+44>>2];if(b){J[a+48>>2]=b;hl(b)}b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;hl(b)}b=J[a+8>>2];if(b){d=b;c=J[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){Kb(d)}if((b|0)!=(c|0)){continue}break}d=J[a+8>>2]}J[a+12>>2]=b;hl(d)}b=J[a+4>>2];J[a+4>>2]=0;if(b){Jj(b)}return a|0}function Ac(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2504;b=J[a+72>>2];J[a+72>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;hl(b)}b=J[a+48>>2];if(b){hl(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;hl(b)}J[a>>2]=2196;b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;hl(b)}return a|0}function Dl(){var a=0,b=0;a=fa-16|0;fa=a;b=J[4306];Hk(2020,11,b);J[a+12>>2]=0;Ok(b,1990,0);a=J[b+76>>2];a:{if(!((a|0)>=0&(!a|J[4868]!=(a&-1073741825)))){b:{if(J[b+80>>2]==10){break b}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break b}J[b+20>>2]=a+1;H[a|0]=10;break a}rl(b);break a}a=J[b+76>>2];J[b+76>>2]=a?a:1073741823;c:{d:{if(J[b+80>>2]==10){break d}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break d}J[b+20>>2]=a+1;H[a|0]=10;break c}rl(b)}J[b+76>>2]=0}ca();C()}function gh(a){J[a>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+72>>2]=a+4;J[a+104>>2]=0;J[a+108>>2]=0;H[a+100|0]=1;J[a+112>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0}function La(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=pk(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0<f>>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=pl(d<<2)}b=b<<2;e=pk((h<<2)+i|0,0,b);f=d<<2;d=ok(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){hl(c)}return}Ia();C()}Ya();C()}function jf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=pk(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0<f>>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=pl(d<<3)}b=b<<3;e=pk((h<<3)+i|0,0,b);f=d<<3;d=ok(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){hl(c)}return}Ia();C()}Ya();C()}
function Vk(a,b,c,d,e){var f=0,g=0,h=0;h=-1;g=d&2147483647;f=(g|0)==2147418112;a:{if(f&!c?a|b:f&(c|0)!=0|g>>>0>2147418112){break a}f=e&2147483647;if(((f|0)==2147418112&0|f>>>0>2147418112)&(f|0)!=2147418112){break a}if(!(a|c|(f|g|b))){return 0}f=d&e;if((f|0)>0|(f|0)>=0){if(((c|0)!=0|(d|0)!=(e|0))&(d|0)<(e|0)){break a}return(a|c|(d^e|b))!=0}if(!c&(d|0)==(e|0)?a|b:(c|0)!=0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}h=(a|c|(d^e|b))!=0}return h}function al(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0;i=em(b,c,h,i);h=ja;e=em(d,e,f,g);i=e+i|0;d=ja+h|0;h=e>>>0>i>>>0?d+1|0:d;j=g;e=0;k=c;d=0;c=em(g,e,c,d);g=c+i|0;i=ja+h|0;l=g;c=c>>>0>g>>>0?i+1|0:i;g=em(f,0,b,0);h=ja;i=0;d=em(f,i,k,d);h=h+d|0;f=ja+i|0;f=d>>>0>h>>>0?f+1|0:f;i=f+l|0;d=c;f=f>>>0>i>>>0?d+1|0:d;c=em(b,m,j,e)+h|0;e=ja;e=c>>>0<h>>>0?e+1|0:e;h=e+i|0;i=f;J[a+8>>2]=h;J[a+12>>2]=e>>>0>h>>>0?i+1|0:i;J[a>>2]=g;J[a+4>>2]=c}function ki(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];f=J[a>>2];d=c-f|0;b:{if(d>>>0<b>>>0){g=b-d|0;e=J[a+8>>2];if(g>>>0<=e-c>>>0){h=a,i=pk(c,0,g)+g|0,J[h+4>>2]=i;return}if((b|0)<0){break a}c=e-f|0;e=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0<e>>>0?e:b;e=pl(c);pk(e+d|0,0,g);d=ok(e,f,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!f){break b}hl(f);return}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+f}return}Ia();C()}function Sa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=fa-16|0;fa=d;e=J[a+4>>2];a:{if((e|0)==-1){break a}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],J[a+8>>2],J[a+12>>2]);c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],a+20|0,a+24|0);c=J[b+20>>2];f=J[b+16>>2];H[d+15|0]=J[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],d+15|0,d+16|0)}fa=d+16|0;return(e|0)!=-1|0}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=J[a+8>>2];b:{if((b|0)<0){break b}c=J[a+4>>2];e=J[c>>2];d=J[c+4>>2]-e>>2;c:{if(d>>>0<b>>>0){lh(c,b-d|0);f=J[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}J[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=J[a+4>>2];c=J[a>>2];e=J[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}J[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}Xc();C()}function Zb(a){Ce(a);Ce(a+32|0);Ce(a- -64|0);Ce(a+96|0);Ce(a+128|0);Ce(a+160|0);Ce(a+192|0);Ce(a+224|0);Ce(a+256|0);Ce(a+288|0);Ce(a+320|0);Ce(a+352|0);Ce(a+384|0);Ce(a+416|0);Ce(a+448|0);Ce(a+480|0);Ce(a+512|0);Ce(a+544|0);Ce(a+576|0);Ce(a+608|0);Ce(a+640|0);Ce(a+672|0);Ce(a+704|0);Ce(a+736|0);Ce(a+768|0);Ce(a+800|0);Ce(a+832|0);Ce(a+864|0);Ce(a+896|0);Ce(a+928|0);Ce(a+960|0);Ce(a+992|0);Ce(a+1024|0)}function tl(a,b,c){var d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;a:{b:{if(c>>>0<11){d=a;H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}ml(g,d+1|0);d=J[e+8>>2];J[a>>2]=d;J[a+8>>2]=J[a+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;J[a+4>>2]=c}jl(d,b,c+1|0);fa=e+16|0;return}xe();C()}function Le(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=fa-96|0;fa=e;f=$e(e+40|0,c);He(e,b,c);bf(f,e);Mc(e+24|0,J[e+28>>2]);Ie(e+12|0,J[e+16>>2]);Mc(e,J[e+4>>2]);af(a,f,d);if(!J[a>>2]){if(H[a+15|0]<0){hl(J[a+4>>2])}J[b+40>>2]=J[f+40>>2];J[b+44>>2]=J[f+44>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}J[f>>2]=10264;Mc(f+28|0,J[f+32>>2]);Ie(f+16|0,J[f+20>>2]);Mc(f+4|0,J[f+8>>2]);fa=e+96|0}function ci(a,b){var c=0,d=0,e=0;c=J[a+4>>2];d=c+b|0;J[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){J[J[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=J[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;J[a>>2]=J[a>>2]&(-1<<c&-1>>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){pk(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}}function zg(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=10412;b=J[a+64>>2];J[a+64>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;hl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;hl(b)}return a|0}function tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=fa-16|0;fa=d;f=xb(a,b);a:{if(!f){break a}c=J[a+36>>2];if((c|0)==J[a+40>>2]){break a}g=d+16|0;while(1){c=J[(e<<2)+c>>2];h=d,i=ka[J[J[c>>2]+32>>2]](c)|0,H[h+15|0]=i;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+15|0,g)}e=e+1|0;c=J[a+36>>2];if(e>>>0<J[a+40>>2]-c>>2>>>0){continue}break}}fa=d+16|0;return f|0}function Ag(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=10412;b=J[a+64>>2];J[a+64>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;hl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;hl(b)}hl(a)}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+176>>2];d=J[a+172>>2];e=(c-d|0)/136|0;a:{if((c|0)==(d|0)){break a}c=0;b:{c:{d:{if(J[d>>2]==(b|0)){b=1}else{f=e>>>0<=1?1:e;while(1){c=c+1|0;if((f|0)==(c|0)){break d}if(J[P(c,136)+d>>2]!=(b|0)){continue}break}b=c>>>0<e>>>0}if(b){break c}break a}if(c>>>0<e>>>0){break b}break a}d=(P(c,136)+d|0)+104|0}return d|0}return a+40|0}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;a:{if(!b){d=pl(76);b=pl(12);J[b+8>>2]=J[J[a+4>>2]+80>>2];J[b>>2]=12404;J[b+4>>2]=0;d=rc(d,b,0);J[c+8>>2]=d;b=J[a+12>>2];b:{if(b>>>0<M[a+16>>2]){J[c+8>>2]=0;J[b>>2]=d;J[a+12>>2]=b+4;break b}Og(a+8|0,c+8|0)}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break a}ka[J[J[a>>2]+4>>2]](a);break a}ub(J[J[a+8>>2]>>2],b)}fa=c+16|0;return 1}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+36>>2];if((c|0)!=J[a+40>>2]){while(1){c=P(d,24)+c|0;ka[J[J[c>>2]+28>>2]](c,b)|0;d=d+1|0;c=J[a+36>>2];if(d>>>0<(J[a+40>>2]-c|0)/24>>>0){continue}break}}c=J[a+48>>2];if((c|0)!=J[a+52>>2]){d=0;while(1){c=J[(d<<2)+c>>2];yb((c|0)<0?(c^-1)<<1|1:c<<1,b);d=d+1|0;c=J[a+48>>2];if(d>>>0<J[a+52>>2]-c>>2>>>0){continue}break}}return 1}function Ij(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=ab(pl(96));cb(g,b,d<<24>>24,f,c);b=ek(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];nk(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,(P(d,h)<<1)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Gj(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=ab(pl(96));cb(g,b,d<<24>>24,f,c);b=ek(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];nk(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,(P(d,h)<<2)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=fa+-64|0;fa=e;d=ka[J[J[a>>2]+44>>2]](a,b)|0;a=ka[J[J[a>>2]+40>>2]](a,b)|0;f=_a(e);g=J[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=J[(a<<2)+14832>>2]}else{a=-1}d=P(a,d);$a(f,g,0,h,i,d,d>>31);a=bb(pl(96),f);db(a,c);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2];J[a+60>>2]=J[b+60>>2];fa=e- -64|0;return a|0}function Ml(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(El(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!El(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function Hj(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=ab(pl(96));cb(g,b,d<<24>>24,f,c);b=ek(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];nk(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,P(d,h)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Hk(a,b,c){var d=0,e=0,f=0;a:{d=J[c+16>>2];if(!d){if(Fk(c)){break a}d=J[c+16>>2]}f=J[c+20>>2];if(d-f>>>0<b>>>0){ka[J[c+36>>2]](c,a,b)|0;return}b:{if(J[c+80>>2]<0){break b}d=b;while(1){e=d;if(!e){break b}d=e-1|0;if(K[d+a|0]!=10){continue}break}if(ka[J[c+36>>2]](c,a,e)>>>0<e>>>0){break a}a=a+e|0;b=b-e|0;f=J[c+20>>2]}nk(f,a,b);J[c+20>>2]=J[c+20>>2]+b}}function cb(a,b,c,d,e){var f=0,g=0,h=0;f=pl(32);J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+24>>2]=0;J[f+28>>2]=0;g=J[a+64>>2];J[a+64>>2]=f;if(g){f=J[g>>2];if(f){J[g+4>>2]=f;hl(f)}hl(g);f=J[a+64>>2]}h=c&255;g=d-1|0;if(g>>>0<=10){g=J[(g<<2)+14832>>2]}else{g=-1}c=P(g,c);$a(a,b,f,h,d,c,c>>31);db(a,e);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2]}function nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=J[a+84>>2];f=J[e>>2];d=J[e+4>>2];h=J[a+28>>2];g=J[a+20>>2]-h|0;g=d>>>0<g>>>0?d:g;if(g){nk(f,h,g);f=g+J[e>>2]|0;J[e>>2]=f;d=J[e+4>>2]-g|0;J[e+4>>2]=d}d=c>>>0>d>>>0?d:c;if(d){nk(f,b,d);f=d+J[e>>2]|0;J[e>>2]=f;J[e+4>>2]=J[e+4>>2]-d}H[f|0]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;return c|0}function pf(a,b,c){var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;H[d+15|0]=a&127;a:{if(!b&a>>>0>=128|b){H[d+15|0]=a|128;e=J[c+20>>2];if(!!J[c+16>>2]&(e|0)>=0|(e|0)>0){break a}Ba(c,J[c+4>>2],d+15|0,d+16|0);f=pf((b&127)<<25|a>>>7,b>>>7|0,c);break a}a=J[c+20>>2];if(!!J[c+16>>2]&(a|0)>=0|(a|0)>0){break a}g=1;Ba(c,J[c+4>>2],d+15|0,d+16|0)}fa=d+16|0;return g|f}function Kl(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function Nj(a,b){var c=0,d=0,e=0,f=0;d=1;a:{if((b|0)==-1){break a}b=P(b,3);if((b|0)==-1){break a}d=-1;e=J[a>>2];a=e+(b<<2)|0;c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)!=-1){d=J[(c<<2)+e>>2]}a=J[a>>2];f=(a|0)==(d|0);b:{c:{if((b>>>0)%3|0){b=b-1|0;break c}b=b+2|0;c=-1;if((b|0)==-1){break b}}c=J[(b<<2)+e>>2]}d=f|(c|0)==(a|0)|(d|0)==(c|0)}return d}function ul(a,b,c){var d=0,e=0,f=0;f=fa-16|0;fa=f;d=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){e=J[a+4>>2]}else{e=K[a+11|0]&127}a:{if(d-e>>>0>=c>>>0){if(!c){break a}if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}jl(d+e|0,b,c);b=a;a=c+e|0;ol(b,a);H[f+15|0]=0;H[a+d|0]=K[f+15|0];break a}sl(a,d,(c+e|0)-d|0,e,e,0,c,b)}fa=f+16|0}function Fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa+-64|0;fa=e;d=1;a:{if(El(a,b,0)){break a}d=0;if(!b){break a}b=Gl(b,18476,18524);d=0;if(!b){break a}d=e+8|0;pk(d|4,0,52);J[e+56>>2]=1;J[e+20>>2]=-1;J[e+16>>2]=a;J[e+8>>2]=b;ka[J[J[b>>2]+28>>2]](b,d,J[c>>2],1);a=J[e+32>>2];if((a|0)==1){J[c>>2]=J[e+24>>2]}d=(a|0)==1}fa=e- -64|0;return d|0}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;J[a+32>>2]=c;J[a+28>>2]=b;a:{if(!(ka[J[J[a>>2]+52>>2]](a)|0)){break a}e=J[a+4>>2];if((e|0)==J[a+8>>2]){return 1}c=0;while(1){d=c<<2;f=J[d+J[a+36>>2]>>2];d=ka[J[J[f>>2]+8>>2]](f,b,J[d+e>>2])|0;if(!d){break a}c=c+1|0;e=J[a+4>>2];if(c>>>0<J[a+8>>2]-e>>2>>>0){continue}break}}return d|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=b;b=J[b+64>>2];e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Jg(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+56>>2];b=J[b+52>>2];H[d+14|0]=0;Jg(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;fa=d+16|0}function yb(a,b){var c=0,d=0,e=0;c=fa-16|0;fa=c;H[c+15|0]=a&127;a:{if(a>>>0>=128){H[c+15|0]=a|128;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){a=0;break a}Ba(b,J[b+4>>2],c+15|0,c+16|0);a=yb(a>>>7|0,b);break a}a=0;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}e=1;Ba(b,J[b+4>>2],c+15|0,c+16|0)}fa=c+16|0;return a|e}function uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=b;e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Jg(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+28>>2];b=J[b+24>>2];H[d+14|0]=0;Jg(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;fa=d+16|0}function mk(a){var b=0,c=0,d=0,e=0;while(1){b=a;a=b+1|0;c=H[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=H[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=H[a|0];b=a}if(c-48>>>0<10){while(1){d=(P(d,10)-H[b|0]|0)+48|0;a=H[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return e?d:0-d|0}function bd(a,b){var c=0,d=0;a:{c=J[a+4>>2];d=J[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0<d>>>0?d:c}else{c=2147483647}Gc(a,c);c=J[a+4>>2]}J[a+4>>2]=c+1;d=1<<c;a=J[a>>2]+(c>>>3&536870908)|0;if(K[b|0]){J[a>>2]=d|J[a>>2];return}J[a>>2]=J[a>>2]&(d^-1);return}Ia();C()}function Th(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;hl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;hl(b)}return a|0}function Yh(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;hl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;hl(b)}hl(a)}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}Ee(a+112|0,b);fa=c+16|0;return 1}function zk(a){var b=0;b=1;a:{if((a|0)>=1024){b=898846567431158e293;if(a>>>0<2047){a=a-1023|0;break a}b=Infinity;a=((a|0)>=3069?3069:a)-2046|0;break a}if((a|0)>-1023){break a}b=2004168360008973e-307;if(a>>>0>4294965304){a=a+969|0;break a}b=0;a=((a|0)<=-2960?-2960:a)+1938|0}x(0,0);x(1,a+1023<<20);return b*+z()}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}Ee(a+96|0,b);fa=c+16|0;return 1}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}fa=c+16|0;return 1}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}fa=c+16|0;return 1}function tk(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(J[a>>2]!=J[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=K[a|0];e=K[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function Yk(a,b){var c=0,d=0,e=0,f=0;d=fa-16|0;fa=d;a:{if(!b){b=0;break a}c=b>>31;e=(c^b)-c|0;c=S(e);Tk(d,e,0,0,0,c+81|0);e=0+J[d+8>>2]|0;c=(J[d+12>>2]^65536)+(16414-c<<16)|0;c=e>>>0<f>>>0?c+1|0:c;f=b&-2147483648|c;c=J[d+4>>2];b=J[d>>2]}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=e;J[a+12>>2]=f;fa=d+16|0}function wh(a){a=a|0;var b=0;J[a+8>>2]=11436;J[a>>2]=11224;b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;hl(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;hl(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}return a|0}function Jj(a){var b=0,c=0,d=0;if(a){d=J[a+24>>2];if(d){b=d;c=J[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){Li(b+12|0,J[b+16>>2]);Mi(b,J[b+4>>2]);hl(b)}if((c|0)!=(d|0)){continue}break}b=J[a+24>>2]}J[a+28>>2]=d;hl(b)}Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);hl(a)}}function xh(a){a=a|0;var b=0;J[a+8>>2]=11436;J[a>>2]=11224;b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;hl(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;hl(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}hl(a)}function wd(a){a=a|0;var b=0;J[a>>2]=5084;b=J[a+152>>2];if(b){J[a+156>>2]=b;hl(b)}b=J[a+112>>2];if(b){J[a+116>>2]=b;hl(b)}b=J[a+96>>2];if(b){hl(b)}b=J[a+84>>2];if(b){hl(b)}b=J[a+72>>2];if(b){hl(b)}b=J[a+60>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function Yc(a){a=a|0;var b=0;J[a>>2]=3520;b=J[a+152>>2];if(b){J[a+156>>2]=b;hl(b)}b=J[a+112>>2];if(b){J[a+116>>2]=b;hl(b)}b=J[a+96>>2];if(b){hl(b)}b=J[a+84>>2];if(b){hl(b)}b=J[a+72>>2];if(b){hl(b)}b=J[a+60>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function Ca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=J[c+8>>2];e=J[c+16>>2];g=J[c+12>>2];f=g;d=J[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=K[J[c>>2]+e|0];i=e+1|0;f=i?d:d+1|0;J[c+16>>2]=i;J[c+20>>2]=f;J[a+4>>2]=b}return e>>>0<h>>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function El(a,b,c){var d=0;if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}d=J[a+4>>2];a=K[d|0];c=J[b+4>>2];b=K[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=K[c+1|0];a=K[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function hf(a){var b=0,c=0;c=J[a+8>>2];if((c|0)>=2){b=+(c|0);b=W(b*sk(b)-O[a>>3]);if(R(b)<0x8000000000000000){ja=R(b)>=1?~~(b>0?T(V(b*2.3283064365386963e-10),4294967295):W((b-+(~~b>>>0>>>0))*2.3283064365386963e-10))>>>0:0;return~~b>>>0}a=-2147483648}else{a=0}ja=a;return 0}function vh(a){a=a|0;var b=0;J[a>>2]=11436;b=J[a+88>>2];if(b){J[a+92>>2]=b;hl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;hl(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;hl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}return a|0}function Zj(a,b){var c=0,d=0,e=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{c=J[b+4>>2];d=J[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=pl(c);c=pk(e,0,c);d=d+c|0;J[a+8>>2]=d;J[a+4>>2]=d;J[a>>2]=c;c=J[b>>2];a=J[b+4>>2]}nk(e,c,a-c|0);return}Ia();C()}function Ch(a){a=a|0;var b=0;J[a>>2]=11436;b=J[a+88>>2];if(b){J[a+92>>2]=b;hl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;hl(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;hl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}hl(a)}function te(a){a=a|0;var b=0;J[a+40>>2]=2040;J[a>>2]=9996;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}return a|0}function pj(a){a=a|0;var b=0,c=0;b=pl(8);J[b+4>>2]=a;J[b>>2]=0;a:{b:{c:{if(!a){break c}c=Gl(a,15016,14936);if(!c){break c}c=$e(pl(56),c);a=J[b>>2];J[b>>2]=c;if(a){break b}break a}c=_e(pl(56),a);a=J[b>>2];J[b>>2]=c;if(!a){break a}}ka[J[J[a>>2]+4>>2]](a)}return b|0}function Ge(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=fa-96|0;fa=e;f=_e(e+40|0,c);He(e,b,c);bf(f,e);Mc(e+24|0,J[e+28>>2]);Ie(e+12|0,J[e+16>>2]);Mc(e,J[e+4>>2]);af(a,f,d);J[f>>2]=10264;Mc(f+28|0,J[f+32>>2]);Ie(f+16|0,J[f+20>>2]);Mc(f+4|0,J[f+8>>2]);fa=e+96|0}function el(a,b,c){var d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;d=fa-16|0;fa=d;b=b-a>>2;while(1){if(b){J[d+12>>2]=a;e=b>>>1|0;J[d+12>>2]=J[d+12>>2]+(e<<2);g=(e^-1)+b|0;b=e;e=M[J[d+12>>2]>>2]<M[c>>2];b=e?g:b;a=e?J[d+12>>2]+4|0:a;continue}break}fa=d+16|0;fa=f+16|0;return a}function Tg(a){var b=0;if(a){b=J[a+76>>2];if(b){J[a+80>>2]=b;hl(b)}b=J[a- -64>>2];if(b){J[a+68>>2]=b;hl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;hl(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}hl(a)}}function bh(a){var b=0;b=J[a+84>>2];if(b){J[a+88>>2]=b;hl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;hl(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;hl(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;hl(b)}b=J[a+28>>2];if(b){J[a+32>>2]=b;hl(b)}b=J[a+12>>2];if(b){hl(b)}a=J[a>>2];if(a){hl(a)}}function Zk(a,b){var c=0,d=0,e=0,f=0;c=fa-16|0;fa=c;a:{if(!b){b=0;break a}d=b;b=S(b);Tk(c,d,0,0,0,b+81|0);d=0+J[c+8>>2]|0;b=(J[c+12>>2]^65536)+(16414-b<<16)|0;f=e>>>0>d>>>0?b+1|0:b;e=J[c+4>>2];b=J[c>>2]}J[a>>2]=b;J[a+4>>2]=e;J[a+8>>2]=d;J[a+12>>2]=f;fa=c+16|0}function ue(a){a=a|0;var b=0;J[a+40>>2]=2040;J[a>>2]=9996;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}hl(a)}function Mk(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=gm(a,b,10,0);d=ja;f=c,g=e-em(a,d,10,0)|48,H[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;H[c|0]=a-P(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function rl(a){var b=0,c=0,d=0;c=fa-16|0;fa=c;H[c+15|0]=10;b=J[a+16>>2];a:{if(!b){if(Fk(a)){break a}b=J[a+16>>2]}d=b;b=J[a+20>>2];if(!((d|0)==(b|0)|J[a+80>>2]==10)){J[a+20>>2]=b+1;H[b|0]=10;break a}if((ka[J[a+36>>2]](a,c+15|0,1)|0)!=1){break a}}fa=c+16|0}function uc(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+72>>2];a:{if(!c){break a}J[c+4>>2]=a+60;if(!(ka[J[J[c>>2]+12>>2]](c)|0)){break a}if(!(ka[J[J[a>>2]+40>>2]](a)|0)){break a}if(!(ka[J[J[a>>2]+44>>2]](a,b)|0)){break a}d=ka[J[J[a>>2]+48>>2]](a,b)|0}return d|0}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa-16|0;fa=e;d=a+40|0;c=Za(d,J[a+8>>2],J[b+4>>2]-J[b>>2]>>2);d=Na(d,J[a+8>>2],b,c);a:{if(d){b=J[a+32>>2];J[a+32>>2]=c;if(!b){break a}Kb(b);break a}J[e+8>>2]=0;if(!c){break a}Kb(c)}fa=e+16|0;return d|0}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa-16|0;fa=e;d=a+40|0;c=Za(d,J[a+8>>2],J[b+4>>2]-J[b>>2]>>2);d=xa(d,J[a+8>>2],b,c);a:{if(d){b=J[a+32>>2];J[a+32>>2]=c;if(!b){break a}Kb(b);break a}J[e+8>>2]=0;if(!c){break a}Kb(c)}fa=e+16|0;return d|0}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+172>>2];a=J[a+176>>2];if((c|0)!=(a|0)){a=(a-c|0)/136|0;d=a>>>0<=1?1:a;a=0;while(1){if(J[P(a,136)+c>>2]==(b|0)){a=P(a,136)+c|0;return(K[a+100|0]?a+4|0:0)|0}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return 0}function xk(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!K[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=J[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(K[b|0]){continue}break}}return b-a|0}function $a(a,b,c,d,e,f,g){var h=0;J[a>>2]=c;if(c){h=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=h;h=J[c+28>>2];J[a+16>>2]=J[c+24>>2];J[a+20>>2]=h}J[a+56>>2]=b;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=f;J[a+44>>2]=g;H[a+32|0]=0;J[a+28>>2]=e;H[a+24|0]=d}function Gk(a,b){var c=0,d=0,e=0;A(+a);d=v(1)|0;e=v(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Gk(a*0x10000000000000000,b);c=J[b>>2]+-64|0}J[b>>2]=c;return a}J[b>>2]=c-1022;x(0,e|0);x(1,d&-2146435073|1071644672);a=+z()}return a}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+36>>2];if((c|0)==J[a+40>>2]){return 1}f=a+60|0;while(1){c=J[(d<<2)+c>>2];e=ka[J[J[c>>2]+20>>2]](c,f,b)|0;if(e){d=d+1|0;c=J[a+36>>2];if(d>>>0<J[a+40>>2]-c>>2>>>0){continue}}break}return e|0}function we(a,b){var c=0,d=0,e=0;c=xk(b);if(c>>>0<2147483632){a:{b:{if(c>>>0>=11){d=(c|15)+1|0;e=pl(d);J[a+8>>2]=d|-2147483648;J[a>>2]=e;J[a+4>>2]=c;d=c+e|0;break b}H[a+11|0]=c;d=a+c|0;e=a;if(!c){break a}}ok(e,b,c)}H[d|0]=0;return a}xe();C()}function Hc(a){J[a+32>>2]=0;J[a+12>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=2400;H[a+21|0]=0;H[a+22|0]=0;H[a+23|0]=0;H[a+24|0]=0;H[a+25|0]=0;H[a+26|0]=0;H[a+27|0]=0;H[a+28|0]=0;J[a+36>>2]=0;J[a>>2]=2632;return a}function vc(a){a=a|0;var b=0,c=0,d=0,e=0;b=J[a+36>>2];if((b|0)==J[a+40>>2]){return 1}e=a+60|0;while(1){b=J[(c<<2)+b>>2];d=ka[J[J[b>>2]+16>>2]](b,e)|0;if(d){c=c+1|0;b=J[a+36>>2];if(c>>>0<J[a+40>>2]-b>>2>>>0){continue}}break}return d|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;J[c+12>>2]=J[J[b+4>>2]+80>>2];b=J[b+44>>2];d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){Ba(b,J[b+4>>2],c+12|0,c+16|0)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;fa=c+16|0}function ge(a){a=a|0;var b=0;J[a>>2]=8648;b=J[a+136>>2];if(b){J[a+140>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){hl(b)}b=J[a+68>>2];if(b){hl(b)}b=J[a+56>>2];if(b){hl(b)}b=J[a+44>>2];if(b){hl(b)}return a|0}function Rd(a){a=a|0;var b=0;J[a>>2]=7e3;b=J[a+136>>2];if(b){J[a+140>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){hl(b)}b=J[a+68>>2];if(b){hl(b)}b=J[a+56>>2];if(b){hl(b)}b=J[a+44>>2];if(b){hl(b)}return a|0}function Kb(a){a=a|0;var b=0,c=0;if(a){b=J[a+88>>2];J[a+88>>2]=0;if(b){c=J[b+8>>2];if(c){J[b+12>>2]=c;hl(c)}hl(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;hl(b)}b=J[a+64>>2];J[a+64>>2]=0;if(b){c=J[b>>2];if(c){J[b+4>>2]=c;hl(c)}hl(b)}hl(a)}}function Kk(a){var b=0,c=0,d=0;if(H[J[a>>2]]-48>>>0>=10){return 0}while(1){d=J[a>>2];c=-1;if(b>>>0<=214748364){c=H[d|0]-48|0;b=P(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}J[a>>2]=d+1;b=c;if(H[d+1|0]-48>>>0<10){continue}break}return b}function xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[a+36>>2];if((c|0)==J[a+40>>2]){return 1}while(1){c=J[(d<<2)+c>>2];e=ka[J[J[c>>2]+24>>2]](c,b)|0;if(e){d=d+1|0;c=J[a+36>>2];if(d>>>0<J[a+40>>2]-c>>2>>>0){continue}}break}return e|0}function he(a){a=a|0;var b=0;J[a>>2]=8648;b=J[a+136>>2];if(b){J[a+140>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){hl(b)}b=J[a+68>>2];if(b){hl(b)}b=J[a+56>>2];if(b){hl(b)}b=J[a+44>>2];if(b){hl(b)}hl(a)}function ei(a){a=a|0;var b=0,c=0,d=0;b=J[a+32>>2];d=J[a+36>>2];if((b|0)==(d|0)){return 1}while(1){c=J[J[a+8>>2]+(J[b>>2]<<2)>>2];c=ka[J[J[c>>2]+20>>2]](c,J[a+44>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function Sd(a){a=a|0;var b=0;J[a>>2]=7e3;b=J[a+136>>2];if(b){J[a+140>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){hl(b)}b=J[a+68>>2];if(b){hl(b)}b=J[a+56>>2];if(b){hl(b)}b=J[a+44>>2];if(b){hl(b)}hl(a)}function fm(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0<e>>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=gm(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;ja=(g^ja)-((a>>>0<f>>>0)+g|0)|0;return b}function vl(a,b,c){var d=0,e=0,f=0;e=fa-16|0;fa=e;d=J[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=J[a>>2];J[a+4>>2]=c;jl(d,b,c);H[e+15|0]=0;H[c+d|0]=K[e+15|0];break a}f=a;a=J[a+4>>2];sl(f,d-1|0,(c-d|0)+1|0,a,0,a,c,b)}fa=e+16|0}function wl(a,b,c){var d=0,e=0;d=fa-16|0;fa=d;a:{if(c>>>0<=10){H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;jl(a,b,c);H[d+15|0]=0;H[a+c|0]=K[d+15|0];break a}e=a;a=K[a+11|0]&127;sl(e,10,c-10|0,a,0,a,c,b)}fa=d+16|0}function Aa(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;a=J[a+4>>2];a:{if((a|0)==-1){break a}H[c+15|0]=a;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+15|0,c+16|0)}fa=c+16|0;return(a|0)!=-1|0}function em(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;ja=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Hl(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function wa(a,b){a=a|0;b=b|0;var c=0,d=0;J[b>>2]=2;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){ji(b+8|0,d+4|0);c=J[b+8>>2]}b=c+d|0;a=J[a+4>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function qi(a,b){var c=0,d=Q(0),e=0;b=cc(a,b);if((b|0)!=(a+4|0)){a=fa-16|0;fa=a;c=b+28|0;Ek(a,H[b+39|0]<0?J[c>>2]:c,0,1);e=cl(J[a>>2],J[a+4>>2],J[a+8>>2],J[a+12>>2]);fa=a+16|0;d=Q(e)}else{d=Q(1)}return d}function Nk(a,b,c,d,e){var f=0;f=fa-256|0;fa=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;pk(f,b&255,c?d:256);if(!c){while(1){Jk(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}Jk(a,f,d)}fa=f+256|0}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}a=J[J[a+36>>2]+(b<<2)>>2];b=J[a+32>>2];c=b?b:J[a+8>>2]}return c|0}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=-1;e=J[a+16>>2];a:{if(J[a+20>>2]-e>>2<=(b|0)){break a}b=J[(b<<2)+e>>2];if((b|0)<0){break a}d=J[J[J[J[a+36>>2]+(b<<2)>>2]+16>>2]+(c<<2)>>2]}return d|0}function Cc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}a=J[J[a+36>>2]+(b<<2)>>2];c=J[a+20>>2]-J[a+16>>2]>>2}return c|0}function Oc(a){a=a|0;var b=0;J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}return a|0}function Ae(a){var b=0,c=0;c=fa-16|0;fa=c;J[c+8>>2]=0;J[c+12>>2]=0;Be(a,c+8|0);J[a+24>>2]=0;J[a+28>>2]=0;b=J[a+12>>2];J[a+16>>2]=b;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=c+16|0;return a}function ab(a){a=_a(a);J[a+64>>2]=0;J[a+68>>2]=0;J[a+88>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function Pc(a){a=a|0;var b=0;J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}hl(a)}function $h(a){J[a+52>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=12468;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;return a}function wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=fa-16|0;fa=e;a=ea(J[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){J[4842]=a;a=-1}else{a=0}fa=e+16|0;ja=a?-1:J[e+12>>2];return(a?-1:J[e+8>>2])|0}function _a(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+28>>2]=9;H[a+24|0]=1;J[a+56>>2]=-1;J[a+60>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;return a}function Fk(a){var b=0;b=J[a+72>>2];J[a+72>>2]=b-1|b;b=J[a>>2];if(b&8){J[a>>2]=b|32;return-1}J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];return 0}function bl(a,b,c,d,e,f,g,h,i){var j=0;j=fa-16|0;fa=j;Sk(j,b,c,d,e,f,g,h,i^-2147483648);d=J[j>>2];c=J[j+4>>2];b=J[j+12>>2];J[a+8>>2]=J[j+8>>2];J[a+12>>2]=b;J[a>>2]=d;J[a+4>>2]=c;fa=j+16|0}function bj(a,b,c){a=a|0;b=b|0;c=c|0;a=0;a:{if(J[b+4>>2]|!b){break a}a=_j(pl(36),c);J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;c=J[b+4>>2];J[b+4>>2]=a;a=1;if(!c){break a}Jj(c)}return a|0}function rc(a,b,c){a=tb(a,c);J[a+36>>2]=0;J[a+40>>2]=0;J[a>>2]=2504;J[a+72>>2]=b;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;return a}function Tj(a,b){a=a|0;b=b|0;var c=0,d=0;gk(a,b);a:{if((b|0)<0){break a}d=J[a+88>>2];c=J[a+84>>2];if(d-c>>2<=(b|0)){break a}c=(b<<2)+c|0;b=c+4|0;ok(c,b,d-b|0);J[a+88>>2]=d-4}}
function fl(a){var b=0,c=0;b=J[4811];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>la()<<16>>>0){if(!(da(a|0)|0)){break a}}J[4811]=a;return b}J[4842]=48;return-1}function dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=0;a:{if(!b|(c|0)<0){break a}e=J[b+12>>2];b=J[b+8>>2];if(e-b>>2<=(c|0)){break a}H[J[b+(c<<2)>>2]+32|0]=d;a=1}return a|0}function Mh(a){a=a|0;var b=0;J[a+8>>2]=10884;J[a>>2]=11984;b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11136;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}return a|0}function Gh(a){a=a|0;var b=0;J[a+8>>2]=11856;J[a>>2]=11692;b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}return a|0}function Nh(a){a=a|0;var b=0;J[a+8>>2]=10884;J[a>>2]=11984;b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11136;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}hl(a)}function Hh(a){a=a|0;var b=0;J[a+8>>2]=11856;J[a>>2]=11692;b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}hl(a)}function Li(a,b){if(b){Li(a,J[b>>2]);Li(a,J[b+4>>2]);a=J[b+28>>2];J[b+28>>2]=0;if(a){Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);hl(a)}if(H[b+27|0]<0){hl(J[b+16>>2])}hl(b)}}function ql(a,b){var c=0,d=0,e=0,f=0;J[a>>2]=18812;J[a>>2]=18924;c=xk(b);d=pl(c+13|0);J[d+8>>2]=0;J[d+4>>2]=c;J[d>>2]=c;e=a,f=nk(d+12|0,b,c+1|0),J[e+4>>2]=f;return a}function Bb(a,b){a=a|0;b=b|0;var c=0;a:{if(!(ka[J[J[a>>2]+40>>2]](a)|0)){break a}if(!(ka[J[J[a>>2]+44>>2]](a,b)|0)){break a}c=ka[J[J[a>>2]+48>>2]](a,b)|0}return c|0}function yg(a){a=a|0;var b=0;a:{b=J[a+64>>2];if(!b){break a}b=ka[J[J[b>>2]+32>>2]](b)|0;if(!b){break a}J[a+60>>2]=((J[b+4>>2]-J[b>>2]>>2>>>0)/3|0)-J[b+40>>2]}}function va(a,b){a=a|0;b=b|0;var c=0;b=J[b+88>>2];if(!(!b|J[b>>2]!=2)){c=a;a=J[b+8>>2];J[c+4>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);c=1}return c|0}function Qg(a){a=a|0;var b=0;J[a>>2]=10884;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11136;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}return a|0}function Fh(a){a=a|0;var b=0;J[a>>2]=11856;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}return a|0}function ri(a,b){var c=0;a:{c=a+4|0;a=cc(a,b);if((c|0)==(a|0)){break a}b=a+28|0;a=mk(H[a+39|0]<0?J[b>>2]:b);if((a|0)==-1){break a}return(a|0)!=0}return 0}function si(a,b,c){var d=0;d=a+4|0;a=cc(a,b);a:{if((d|0)==(a|0)){break a}b=a+28|0;a=mk(H[a+39|0]<0?J[b>>2]:b);if((a|0)==-1){break a}c=(a|0)!=0}return c}function rh(a){a=a|0;var b=0;J[a>>2]=10884;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11136;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}hl(a)}function Lh(a){a=a|0;var b=0;J[a>>2]=11856;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}hl(a)}function tb(a,b){J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2196;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;ub(a,b);return a}function Nl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(El(a,J[b+8>>2],f)){Kl(b,c,d,e);return}a=J[a+8>>2];ka[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function od(a){a=a|0;var b=0;a:{if(!J[a- -64>>2]|!J[a+68>>2]|(!J[a+44>>2]|!J[a+48>>2])){break a}if(!J[a+52>>2]){break a}b=J[a+56>>2]!=0}return b|0}function be(a){a=a|0;var b=0;a:{if(!J[a+48>>2]|!J[a+52>>2]|(!J[a+28>>2]|!J[a+32>>2])){break a}if(!J[a+36>>2]){break a}b=J[a+40>>2]!=0}return b|0}function dk(a){var b=0,c=0;b=J[a+20>>2];a:{if((J[a+24>>2]-b|0)<=0){break a}b=J[b>>2];if((b|0)==-1){break a}c=J[J[a+8>>2]+(b<<2)>>2]}return c}function ck(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=P(b,12)+a|0;a=J[b+20>>2];if((J[b+24>>2]-a|0)<=0){break a}c=J[a>>2]}return c}function Gi(){var a=0;a=bk(pl(108));J[a+84>>2]=0;J[a+88>>2]=0;J[a>>2]=14892;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;return a|0}function Qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=J[b>>2]+7&-8;J[c>>2]=b+16;d=a,e=cl(J[b>>2],J[b+4>>2],J[b+8>>2],J[b+12>>2]),O[d>>3]=e}function Pj(a){a=a|0;var b=0;J[a>>2]=14892;b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;hl(b)}return Qj(a)|0}function Ce(a){var b=0;b=fa-16|0;fa=b;J[b+8>>2]=0;J[b+12>>2]=0;Be(a,b+8|0);J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=J[a+12>>2];fa=b+16|0}function Rj(a){a=a|0;var b=0;J[a>>2]=14892;b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;hl(b)}hl(Qj(a))}function zd(a){a=a|0;var b=0;J[a>>2]=5320;b=J[a+76>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function oc(a){a=a|0;var b=0;J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}return a|0}function cd(a){a=a|0;var b=0;J[a>>2]=3768;b=J[a+76>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function Mi(a,b){if(b){Mi(a,J[b>>2]);Mi(a,J[b+4>>2]);a=J[b+28>>2];if(a){J[b+32>>2]=a;hl(a)}if(H[b+27|0]<0){hl(J[b+16>>2])}hl(b)}}function zb(a){a=a|0;var b=0;J[a>>2]=2196;b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;hl(b)}return a|0}function Jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(El(a,J[b+8>>2],0)){Hl(b,c,d);return}a=J[a+8>>2];ka[J[J[a>>2]+28>>2]](a,b,c,d)}function Ji(){var a=0,b=0;a=pl(24);J[a+4>>2]=0;J[a+8>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;return a|0}function pl(a){var b=0;a=a?a:1;a:{while(1){b=gl(a);if(b){break a}b=J[5016];if(b){ka[b|0]();continue}break}ca();C()}return b}function pc(a){a=a|0;var b=0;J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}hl(a)}function dd(a){a=a|0;var b=0;J[a>>2]=3768;b=J[a+76>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}hl(a)}function Ad(a){a=a|0;var b=0;J[a>>2]=5320;b=J[a+76>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}hl(a)}function Mc(a,b){if(b){Mc(a,J[b>>2]);Mc(a,J[b+4>>2]);if(H[b+39|0]<0){hl(J[b+28>>2])}if(H[b+27|0]<0){hl(J[b+16>>2])}hl(b)}}function Tl(a){a=a|0;var b=0,c=0;J[a>>2]=18924;b=J[a+4>>2]-12|0;c=J[b+8>>2]-1|0;J[b+8>>2]=c;if((c|0)<0){hl(b)}return a|0}function Pa(a,b,c,d,e){var f=0;f=b-1|0;if(f>>>0<=29){J[a+4>>2]=b;Qa(a+8|0,c,(d<<2)+c|0);N[a+20>>2]=e}return f>>>0<30}function ld(a){a=a|0;var b=0;J[a>>2]=4004;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function ic(a,b,c){a=a|0;b=b|0;c=c|0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;return 1}function _e(a,b){J[a>>2]=10264;Fe(a+4|0);J[a+52>>2]=0;J[a+48>>2]=b;J[a>>2]=10360;J[a+40>>2]=0;J[a+44>>2]=0;return a}function Dd(a){a=a|0;var b=0;J[a>>2]=5544;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function Ak(a,b,c,d,e,f,g,h,i){J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function $e(a,b){J[a>>2]=10264;Fe(a+4|0);J[a+52>>2]=b;J[a+48>>2]=b;J[a>>2]=10360;J[a+40>>2]=0;J[a+44>>2]=0;return a}function fd(a){a=a|0;var b=0;if(!(!J[a+60>>2]|!J[a+44>>2]|(!J[a+48>>2]|!J[a+52>>2]))){b=J[a+56>>2]!=0}return b|0}function Xd(a){a=a|0;var b=0;if(!(!J[a+44>>2]|!J[a+28>>2]|(!J[a+32>>2]|!J[a+36>>2]))){b=J[a+40>>2]!=0}return b|0}function oj(a){a=a|0;if(a){J[a>>2]=10340;Mc(a+28|0,J[a+32>>2]);Ne(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);hl(a)}}function oi(a,b){var c=0;c=a+4|0;a=cc(a,b);if((c|0)==(a|0)){return-1}b=a+28|0;return mk(H[a+39|0]<0?J[b>>2]:b)}function md(a){a=a|0;var b=0;J[a>>2]=4004;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}hl(a)}function df(a,b){var c=0,d=0;if(!(!a|!b|(a|0)==(b|0))){c=+(b>>>0)/+(a>>>0);d=1-c;c=-(c*sk(c)+d*sk(d))}return c}function Ed(a){a=a|0;var b=0;J[a>>2]=5544;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}hl(a)}function Te(a){a=a|0;J[a>>2]=10340;Mc(a+28|0,J[a+32>>2]);Ne(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);return a|0}function Ke(a){a=a|0;J[a>>2]=10264;Mc(a+28|0,J[a+32>>2]);Ie(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);return a|0}function pi(a,b,c){var d=0;d=a+4|0;a=cc(a,b);if((d|0)!=(a|0)){b=a+28|0;c=mk(H[a+39|0]<0?J[b>>2]:b)}return c}function ol(a,b){if(K[a+11|0]>>>7|0){J[a+4>>2]=b;return}H[a+11|0]=K[a+11|0]&128|b;H[a+11|0]=K[a+11|0]&127}function fj(){var a=0;a=pl(48);J[a>>2]=10340;Fe(a+4|0);J[a>>2]=10124;J[a+40>>2]=0;J[a+44>>2]=0;return a|0}function Ve(a){a=a|0;J[a>>2]=10264;Mc(a+28|0,J[a+32>>2]);Ie(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);hl(a)}function Ue(a){a=a|0;J[a>>2]=10340;Mc(a+28|0,J[a+32>>2]);Ne(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);hl(a)}function sh(a){a=a|0;var b=0;J[a>>2]=11136;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}return a|0}function Dh(a){a=a|0;var b=0;J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}return a|0}function ek(a,b){ka[J[J[a>>2]+8>>2]](a,J[a+12>>2]-J[a+8>>2]>>2,b);return(J[a+12>>2]-J[a+8>>2]>>2)-1|0}function Tc(a){a=a|0;var b=0;if(!(!J[a+52>>2]|(!J[a+44>>2]|!J[a+48>>2]))){b=J[a+56>>2]!=0}return b|0}function Nd(a){a=a|0;var b=0;if(!(!J[a+36>>2]|(!J[a+28>>2]|!J[a+32>>2]))){b=J[a+40>>2]!=0}return b|0}function th(a){a=a|0;var b=0;J[a>>2]=11136;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}hl(a)}function Eh(a){a=a|0;var b=0;J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}hl(a)}function pd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a- -64>>2]=b;c=1}return c|0}function gd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+60>>2]=b;c=1}return c|0}function ce(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+48>>2]=b;c=1}return c|0}function Yd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+44>>2]=b;c=1}return c|0}function Ol(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(El(a,J[b+8>>2],f)){Kl(b,c,d,e)}}function Ya(){var a=0;a=Cl(4);J[a>>2]=18812;J[a>>2]=18772;J[a>>2]=18792;Z(a|0,18904,14);C()}function yj(a){a=a|0;var b=0;if(a){b=J[a>>2];J[a>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}hl(a)}}function cm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=ka[a|0](b,c,d,e)|0;ga=ja;return a|0}function Qc(a){a=a|0;var b=0;J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function Ua(a){a=a|0;var b=0;J[a>>2]=2040;b=J[a+8>>2];if(b){J[a+12>>2]=b;hl(b)}return a|0}function ye(a){var b=0;J[a+12>>2]=0;J[a+16>>2]=0;b=a;a=J[a>>2];J[b+4>>2]=a;if(a){hl(a)}}function Xh(a){a=a|0;var b=0;b=a;a=J[a+56>>2];J[b+60>>2]=(J[a+100>>2]-J[a+96>>2]|0)/12}function aj(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 Gj(b,c,d,e,f,6)|0}function _i(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 Ij(b,c,d,e,f,4)|0}function Zi(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 Ij(b,c,d,e,f,3)|0}function Yi(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 Hj(b,c,d,e,f,2)|0}function Xi(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 Hj(b,c,d,e,f,1)|0}function Wi(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 Gj(b,c,d,e,f,9)|0}function Rc(a){a=a|0;var b=0;J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}hl(a)}function $i(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 Gj(b,c,d,e,f,5)|0}function Va(a){a=a|0;var b=0;J[a>>2]=2040;b=J[a+8>>2];if(b){J[a+12>>2]=b;hl(b)}hl(a)}function sj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Re(J[a>>2],b,c,d,e,f)}function Ne(a,b){if(b){Ne(a,J[b>>2]);Ne(a,J[b+4>>2]);Mc(b+20|0,J[b+24>>2]);hl(b)}}function Ie(a,b){if(b){Ie(a,J[b>>2]);Ie(a,J[b+4>>2]);Mc(b+20|0,J[b+24>>2]);hl(b)}}function wg(a,b){a=a|0;b=b|0;var c=0;c=a;a=J[b+64>>2];ka[J[J[a>>2]+28>>2]](c,a)}function je(a){a=a|0;var b=0;J[a>>2]=8908;b=J[a+60>>2];if(b){hl(b)}return a|0}function ij(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Re(a,b,c,d,e,f)}function hm(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Vd(a){a=a|0;var b=0;J[a>>2]=7272;b=J[a+60>>2];if(b){hl(b)}return a|0}function Il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(El(a,J[b+8>>2],0)){Hl(b,c,d)}}function zl(a,b){var c=0;c=a;a=(b>>>0)/100|0;return yl(yl(c,a),b-P(a,100)|0)}function vg(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+24>>2]](a,b)|0}function ug(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+20>>2]](a,b)|0}function fh(a,b){a=a|0;b=b|0;return J[J[a+28>>2]+(b>>>3&536870908)>>2]>>>b&1}function Dg(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+16>>2]](a,b)|0}function Cg(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+12>>2]](a,b)|0}function Bl(a,b){var c=0;c=a;a=(b>>>0)/1e6|0;return Al(yl(c,a),b-P(a,1e6)|0)}function Al(a,b){var c=0;c=a;a=(b>>>0)/1e4|0;return zl(yl(c,a),b-P(a,1e4)|0)}function im(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<<b|(-1<<a&-2)>>>a}
function fi(a,b){a=a|0;b=b|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}function Qi(a){a=a|0;var b=0;if(a){b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}hl(a)}}function Ni(){var a=0;a=pl(12);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;return a|0}function kc(a,b,c){a=a|0;b=b|0;c=c|0;return ka[J[J[a>>2]+44>>2]](a,b,c)|0}function ke(a){a=a|0;var b=0;J[a>>2]=8908;b=J[a+60>>2];if(b){hl(b)}hl(a)}function Wd(a){a=a|0;var b=0;J[a>>2]=7272;b=J[a+60>>2];if(b){hl(b)}hl(a)}function wb(a,b,c){a=a|0;b=b|0;c=c|0;J[a+32>>2]=c;J[a+28>>2]=b;return 1}function td(a,b){a=a|0;b=b|0;if(b>>>0<=1){J[a+28>>2]=b}return b>>>0<2|0}function Zh(a,b){a=a|0;b=b|0;H[b+84|0]=1;J[b+72>>2]=J[b+68>>2];return 1}function Xc(){var a=0;a=ql(Cl(8),1313);J[a>>2]=19024;Z(a|0,19056,1);C()}function Rh(a){a=$h(a);J[a+56>>2]=0;J[a+60>>2]=0;J[a>>2]=12164;return a}function Ki(a){a=a|0;if(a){Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);hl(a)}}function Pl(a){a=a|0;if(!a){return 0}return(Gl(a,18476,18620)|0)!=0|0}function Bg(a){a=a|0;a=J[a+64>>2];return ka[J[J[a>>2]+32>>2]](a)|0}function jc(a,b){a=a|0;b=b|0;J[a+12>>2]=-1;J[a+8>>2]=b;return 1}function Ja(a){a=ql(Cl(8),a);J[a>>2]=18972;Z(a|0,19004,1);C()}function Hi(a){a=a|0;return(J[a+100>>2]-J[a+96>>2]|0)/12|0}function ua(){ia=85616;ha=20080;J[4886]=19424;J[4868]=42}function me(a){a=a|0;J[a>>2]=9156;Ae(a+96|0);return a|0}function $d(a){a=a|0;J[a>>2]=7532;Ae(a+96|0);return a|0}function ml(a,b){var c=0;c=pl(b);J[a+4>>2]=b;J[a>>2]=c}function tj(a,b,c){a=a|0;b=b|0;c=c|0;Oe(J[a>>2],b,c)}function rj(a,b,c){a=a|0;b=b|0;c=c|0;Pe(J[a>>2],b,c)}function bk(a){J[a>>2]=14964;pk(a+4|0,0,80);return a}function dm(a){if(a){return 31-S(a-1^a)|0}return 32}function Wh(a){a=a|0;J[a+52>>2]=J[J[a+56>>2]+80>>2]}function Ei(a){a=a|0;return J[a+12>>2]-J[a+8>>2]>>2}function re(a,b){a=a|0;b=b|0;return Sa(a+40|0,b)|0}function ne(a){a=a|0;J[a>>2]=9156;Ae(a+96|0);hl(a)}function ii(a){a=a|0;J[a+52>>2]=J[J[a+4>>2]+80>>2]}function ae(a){a=a|0;J[a>>2]=7532;Ae(a+96|0);hl(a)}function Oi(a,b){a=a|0;b=b|0;return H[J[a>>2]+b|0]}function Jd(a,b){a=a|0;b=b|0;return Aa(a+40|0,b)|0}function Fi(a){a=a|0;if(a){ka[J[J[a>>2]+4>>2]](a)}}function Zl(a){a=a|0;a=fa-a&-16;fa=a;return a|0}function Pi(a){a=a|0;return J[a+4>>2]-J[a>>2]|0}function yl(a,b){return kl((b<<1)+18240|0,2,a)}function jj(a,b,c){a=a|0;b=b|0;c=c|0;Oe(a,b,c)}function hj(a,b,c){a=a|0;b=b|0;c=c|0;Pe(a,b,c)}function Jk(a,b,c){if(!(K[a|0]&32)){Hk(b,c,a)}}function Xa(a,b){a=a|0;b=b|0;return K[b+24|0]}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function xj(a){a=a|0;return J[J[a>>2]+44>>2]}function wj(a){a=a|0;return J[J[a>>2]+40>>2]}function uk(a){a=a|0;return aa(J[a+60>>2])|0}function uj(a,b){a=a|0;b=b|0;Lj(J[a>>2],b)}function qj(a,b){a=a|0;b=b|0;Se(J[a>>2],b)}function Ii(a,b){a=a|0;b=b|0;J[a+80>>2]=b}function xi(a){a=a|0;return J[a+56>>2]}function wi(a){a=a|0;return J[a+80>>2]}function ud(a){a=a|0;return J[a+28>>2]}function nj(a){a=a|0;return J[a+44>>2]}function eh(a){a=a|0;return J[a+12>>2]}function Ci(a){a=a|0;return J[a+60>>2]}function Bi(a){a=a|0;return J[a+48>>2]}function Ai(a){a=a|0;return J[a+40>>2]}function zi(a){a=a|0;return K[a+32|0]}function yi(a){a=a|0;return H[a+24|0]}function Uc(a,b){a=a|0;b=b|0;return-1}function Sc(a){a=a|0;return J[a+4>>2]}function Ha(a,b){a=a|0;b=b|0;return 2}function Ga(a,b){a=a|0;b=b|0;return 6}function Eb(a,b){a=a|0;b=b|0;return 1}function Cl(a){return gl(a+80|0)+80|0}function Cb(a,b){a=a|0;b=b|0;return 0}function kj(a,b){a=a|0;b=b|0;Lj(a,b)}function gj(a,b){a=a|0;b=b|0;Se(a,b)}function gf(a,b,c,d){ff(a,b,c,d,1)}function ef(a,b,c,d){ff(a,b,c,d,0)}function vi(){return ab(pl(96))|0}function ui(){return _a(pl(64))|0}function ti(a){a=a|0;if(a){hl(a)}}function Di(){return bk(pl(84))|0}function Ul(a){a=a|0;Tl(a);hl(a)}function Sl(a){a=a|0;return 1472}function Rl(a){a=a|0;return 1622}function Ql(a){a=a|0;return 1364}function _l(){ia=85616;ha=20080}function Da(a){a=a|0;return a|0}function xd(a){a=a|0;hl(wd(a))}function qh(a){a=a|0;hl(ph(a))}function oh(a){a=a|0;hl(nh(a))}function lk(a){a=a|0;hl(Qj(a))}function bc(a){a=a|0;hl(ac(a))}function Zc(a){a=a|0;hl(Yc(a))}function Bc(a){a=a|0;hl(Ac(a))}function qc(a){a=a|0;return 0}function nd(a){a=a|0;return 6}function ed(a){a=a|0;return 5}function _c(a){a=a|0;return 4}function Wa(a){a=a|0;return 1}function Ld(a){a=a|0;return 3}function Fa(a){a=a|0;return 2}function jl(a,b,c){kl(b,c,a)}function Ri(){return pl(1)|0}function $l(){return fa-ha|0}function xe(){Ja(1493);C()}function qk(){return 19368}function Ia(){Ja(1313);C()}function Ea(a){a=a|0;hl(a)}function bm(){return ha|0}function am(){return ia|0}function Yl(a){a=a|0;fa=a}function Xl(){return fa|0}function Wl(){return ga|0}function Vl(a){a=a|0;ga=a}function Ab(a){a=a|0;C()}function zj(){return-1}function Ej(){return 4}function Dj(){return 3}function Cj(){return 2}function Bj(){return 1}function Aj(){return 0}function rk(a){a=a|0}
// EMSCRIPTEN_END_FUNCS
e=K;p(q);var ka=c([null,Tl,Da,Ea,Fa,va,wa,xa,za,Aa,Ca,Za,Ga,Ha,Da,Ua,Va,Wa,Ka,Ma,Na,Oa,Sa,Ta,Ga,Xa,zb,Ab,wb,xb,Dl,Bb,Cb,Db,Cb,Cb,Wa,Eb,ac,bc,Fa,Fb,Ob,Nb,oc,pc,ic,jc,Eb,kc,Eb,qc,qc,mc,nc,lc,Ac,Bc,sc,tc,qc,uc,Cc,Dc,Ec,Fc,vc,wc,xc,yc,zc,Oc,Pc,Ic,Jc,Wa,Lc,Kc,Nc,Qc,Rc,Wa,Sc,Tc,qc,Uc,Cb,qc,Wa,Vc,Wc,Ab,Ab,Yc,Zc,_c,Tc,$c,ad,cd,dd,ed,fd,Wa,Cb,gd,hd,id,ld,md,nd,od,Wa,Cb,pd,qd,rd,Da,Ea,td,ud,sd,Ab,Rc,Wa,Tc,vd,Ab,wd,xd,_c,Tc,$c,yd,zd,Ad,ed,fd,Wa,Cb,gd,hd,Bd,Dd,Ed,nd,od,Wa,Cb,pd,qd,Fd,Da,Ea,td,ud,Gd,Ab,Rc,qc,Wa,Hd,Oc,Pc,Id,Jd,Wa,Ld,Md,Kd,Da,Ea,Wa,Sc,Nd,qc,Uc,Cb,Wa,Ld,Od,Pd,Rd,Sd,_c,Nd,Td,Ud,Vd,Wd,ed,Xd,Wa,Cb,Yd,Zd,_d,$d,ae,nd,be,Wa,Cb,ce,de,ee,Da,Ea,td,ud,sd,Ea,Wa,Nd,fe,ge,he,_c,Nd,Td,ie,je,ke,ed,Xd,Wa,Cb,Yd,Zd,le,me,ne,nd,be,Wa,Cb,ce,de,oe,Da,Ea,td,ud,Gd,Ea,qc,Wa,pe,te,ue,qe,re,Wa,Fa,se,Te,Ue,Ge,Le,Ke,Ve,Ue,Ve,zg,Ag,Wa,Wa,tg,Wa,Sh,bi,di,ug,vg,ei,xg,Bg,Cg,Dg,wg,yg,nh,oh,Eg,Fg,Gg,Hg,Rg,Sg,eh,fh,Sc,ph,qh,hh,Fg,Gg,ih,Rg,jh,eh,fh,Sc,Qg,rh,Pg,sh,th,wh,xh,yh,zh,vh,Ch,uh,Dh,Eh,Gh,Hh,Ih,Jh,Fh,Lh,Mh,Nh,Oh,Ph,Th,Ab,Wa,Eb,qc,Cb,Cb,Yh,qc,Vh,Wh,Uh,Xh,Da,Ea,Zh,_h,Ab,qc,fi,Yh,Wa,gi,hi,ii,Yh,qc,gi,Vh,ii,Pj,Rj,Sj,Tj,kk,hk,Oj,Qj,lk,fk,gk,jk,uk,vk,wk,Pk,Qk,nl,Da,Ea,rk,rk,Fl,Ol,Ml,Il,Ea,Nl,Ll,Jl,Ea,Rl,Ea,Sl,Ea,Ql,Ul,Sc,Ul,Ul]);function la(){return G.byteLength/65536|0}function qa(ra){ra=ra|0;var ma=la()|0;var na=ma+ra|0;if(ma<na&&na<65536){var oa=new ArrayBuffer(P(na,65536));var pa=new Int8Array(oa);pa.set(H);H=new Int8Array(oa);I=new Int16Array(oa);J=new Int32Array(oa);K=new Uint8Array(oa);L=new Uint16Array(oa);M=new Uint32Array(oa);N=new Float32Array(oa);O=new Float64Array(oa);G=oa;F.buffer=G;e=K}return ma}return{"__wasm_call_ctors":ua,"__indirect_function_table":ka,"emscripten_bind_VoidPtr___destroy___0":ti,"emscripten_bind_GeometryAttribute_GeometryAttribute_0":ui,"emscripten_bind_GeometryAttribute___destroy___0":ti,"emscripten_bind_PointAttribute_PointAttribute_0":vi,"emscripten_bind_PointAttribute_size_0":wi,"emscripten_bind_PointAttribute_attribute_type_0":xi,"emscripten_bind_PointAttribute_data_type_0":ud,"emscripten_bind_PointAttribute_num_components_0":yi,"emscripten_bind_PointAttribute_normalized_0":zi,"emscripten_bind_PointAttribute_byte_stride_0":Ai,"emscripten_bind_PointAttribute_byte_offset_0":Bi,"emscripten_bind_PointAttribute_unique_id_0":Ci,"emscripten_bind_PointAttribute___destroy___0":Kb,"emscripten_bind_PointCloud_PointCloud_0":Di,"emscripten_bind_PointCloud_num_attributes_0":Ei,"emscripten_bind_PointCloud_num_points_0":wi,"emscripten_bind_PointCloud___destroy___0":Fi,"emscripten_bind_Mesh_Mesh_0":Gi,"emscripten_bind_Mesh_num_faces_0":Hi,"emscripten_bind_Mesh_num_attributes_0":Ei,"emscripten_bind_Mesh_num_points_0":wi,"emscripten_bind_Mesh_set_num_points_1":Ii,"emscripten_bind_Mesh___destroy___0":Fi,"emscripten_bind_Metadata_Metadata_0":Ji,"emscripten_bind_Metadata___destroy___0":Ki,"emscripten_bind_DracoInt8Array_DracoInt8Array_0":Ni,"emscripten_bind_DracoInt8Array_GetValue_1":Oi,"emscripten_bind_DracoInt8Array_size_0":Pi,"emscripten_bind_DracoInt8Array___destroy___0":Qi,"emscripten_bind_MetadataBuilder_MetadataBuilder_0":Ri,"emscripten_bind_MetadataBuilder_AddStringEntry_3":Si,"emscripten_bind_MetadataBuilder_AddIntEntry_3":Ti,"emscripten_bind_MetadataBuilder_AddIntEntryArray_4":Ui,"emscripten_bind_MetadataBuilder_AddDoubleEntry_3":Vi,"emscripten_bind_MetadataBuilder___destroy___0":ti,"emscripten_bind_PointCloudBuilder_PointCloudBuilder_0":Ri,"emscripten_bind_PointCloudBuilder_AddFloatAttribute_5":Wi,"emscripten_bind_PointCloudBuilder_AddInt8Attribute_5":Xi,"emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5":Yi,"emscripten_bind_PointCloudBuilder_AddInt16Attribute_5":Zi,"emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5":_i,"emscripten_bind_PointCloudBuilder_AddInt32Attribute_5":$i,"emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5":aj,"emscripten_bind_PointCloudBuilder_AddMetadata_2":bj,"emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3":cj,"emscripten_bind_PointCloudBuilder_SetNormalizedFlagForAttribute_3":dj,"emscripten_bind_PointCloudBuilder___destroy___0":ti,"emscripten_bind_MeshBuilder_MeshBuilder_0":Ri,"emscripten_bind_MeshBuilder_AddFacesToMesh_3":ej,"emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5":Wi,"emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5":$i,"emscripten_bind_MeshBuilder_AddMetadataToMesh_2":bj,"emscripten_bind_MeshBuilder_AddFloatAttribute_5":Wi,"emscripten_bind_MeshBuilder_AddInt8Attribute_5":Xi,"emscripten_bind_MeshBuilder_AddUInt8Attribute_5":Yi,"emscripten_bind_MeshBuilder_AddInt16Attribute_5":Zi,"emscripten_bind_MeshBuilder_AddUInt16Attribute_5":_i,"emscripten_bind_MeshBuilder_AddInt32Attribute_5":$i,"emscripten_bind_MeshBuilder_AddUInt32Attribute_5":aj,"emscripten_bind_MeshBuilder_AddMetadata_2":bj,"emscripten_bind_MeshBuilder_SetMetadataForAttribute_3":cj,"emscripten_bind_MeshBuilder_SetNormalizedFlagForAttribute_3":dj,"emscripten_bind_MeshBuilder___destroy___0":ti,"emscripten_bind_Encoder_Encoder_0":fj,"emscripten_bind_Encoder_SetEncodingMethod_1":gj,"emscripten_bind_Encoder_SetAttributeQuantization_2":hj,"emscripten_bind_Encoder_SetAttributeExplicitQuantization_5":ij,"emscripten_bind_Encoder_SetSpeedOptions_2":jj,"emscripten_bind_Encoder_SetTrackEncodedProperties_1":kj,"emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2":lj,"emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3":mj,"emscripten_bind_Encoder_GetNumberOfEncodedPoints_0":Ai,"emscripten_bind_Encoder_GetNumberOfEncodedFaces_0":nj,"emscripten_bind_Encoder___destroy___0":oj,"emscripten_bind_ExpertEncoder_ExpertEncoder_1":pj,"emscripten_bind_ExpertEncoder_SetEncodingMethod_1":qj,"emscripten_bind_ExpertEncoder_SetAttributeQuantization_2":rj,"emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5":sj,"emscripten_bind_ExpertEncoder_SetSpeedOptions_2":tj,"emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1":uj,"emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2":vj,"emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0":wj,"emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0":xj,"emscripten_bind_ExpertEncoder___destroy___0":yj,"emscripten_enum_draco_GeometryAttribute_Type_INVALID":zj,"emscripten_enum_draco_GeometryAttribute_Type_POSITION":Aj,"emscripten_enum_draco_GeometryAttribute_Type_NORMAL":Bj,"emscripten_enum_draco_GeometryAttribute_Type_COLOR":Cj,"emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD":Dj,"emscripten_enum_draco_GeometryAttribute_Type_GENERIC":Ej,"emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE":zj,"emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD":Aj,"emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH":Bj,"emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING":Aj,"emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING":Bj,"__errno_location":qk,"fflush":il,"malloc":gl,"free":hl,"setTempRet0":Vl,"getTempRet0":Wl,"emscripten_stack_init":_l,"emscripten_stack_get_free":$l,"emscripten_stack_get_base":am,"emscripten_stack_get_end":bm,"stackSave":Xl,"stackRestore":Yl,"stackAlloc":Zl,"emscripten_stack_get_current":Xl,"__cxa_is_pointer_type":Pl,"dynCall_jiji":cm}}return sa(ta)}
// EMSCRIPTEN_END_ASM
)(info)},instantiate:function(binary,info){return{then:function(ok){var module=new WebAssembly.Module(binary);ok({"instance":new WebAssembly.Instance(module,info)});return{catch:function(){}}}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{if((u0&248)!=240)warnOnce("Invalid UTF-8 leading byte "+ptrToString(u0)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!");u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,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){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;legacyModuleProp("INITIAL_MEMORY","INITIAL_MEMORY");assert(INITIAL_MEMORY>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;assert(INITIAL_MEMORY%65536===0);var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort("Stack overflow! Stack cookie has been overwritten at "+ptrToString(max)+", expected hex dwords 0x89BACDFE and 0x2135467, but received "+ptrToString(cookie2)+" "+ptrToString(cookie1))}if(HEAPU32[0]!==1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}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 initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}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 addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};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;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("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{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error:function(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}function createExportWrapper(name,fixedasm){return function(){var displayName=name;var asm=fixedasm;if(!fixedasm){asm=Module["asm"]}assert(runtimeInitialized,"native function `"+displayName+"` called before runtime initialization");if(!asm[name]){assert(asm[name],"exported native function `"+displayName+"` not found")}return asm[name].apply(null,arguments)}}var wasmBinaryFile;wasmBinaryFile="draco_encoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);if(isFileURI(wasmBinaryFile)){err("warning: Loading from a file URI ("+wasmBinaryFile+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")}abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function legacyModuleProp(prop,newName){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get:function(){abort("Module."+prop+" has been replaced with plain "+newName+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort("`Module."+prop+"` was supplied but `"+prop+"` not included in INCOMING_MODULE_JS_API")}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!=="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){warnOnce("`"+sym+"` is not longer defined by emscripten. "+msg);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");function missingLibrarySymbol(sym){if(typeof globalThis!=="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){var msg="`"+sym+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line";var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE="+librarySymbol+")";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get:function(){var msg="'"+sym+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){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("")}function ptrToString(ptr){assert(typeof ptr==="number");return"0x"+ptr.toString(16).padStart(8,"0")}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;assert(prev>0);return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch."}function _abort(){abort("native code called abort()")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){err("emscripten_realloc_buffer: Attempted to grow heap from "+b.byteLength+" bytes to "+size+" bytes, but got error: "+e)}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err("Cannot enlarge memory, asked to go up to "+requestedSize+" bytes, but the limit is "+maxHeapSize+" bytes!");return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){err("Warning: Enlarging memory arrays, this is not fast! "+[oldSize,newSize]);return true}}err("Failed to grow the heap from "+oldSize+" bytes to "+newSize+" bytes, not enough memory!");return false}var SYSCALLS={varargs:undefined,get:function(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _fd_close(fd){abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function flush_NO_FILESYSTEM(){_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0}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}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=Buffer.from(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 checkIncomingModuleAPI(){ignoredModuleProp("fetchSettings")}var wasmImports={"__cxa_throw":___cxa_throw,"abort":_abort,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_resize_heap":_emscripten_resize_heap,"fd_close":_fd_close,"fd_seek":_fd_seek,"fd_write":_fd_write,"memory":wasmMemory};var asm=createWasm();var ___wasm_call_ctors=createExportWrapper("__wasm_call_ctors");var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=createExportWrapper("emscripten_bind_VoidPtr___destroy___0");var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=createExportWrapper("emscripten_bind_GeometryAttribute_GeometryAttribute_0");var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=createExportWrapper("emscripten_bind_GeometryAttribute___destroy___0");var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=createExportWrapper("emscripten_bind_PointAttribute_PointAttribute_0");var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=createExportWrapper("emscripten_bind_PointAttribute_size_0");var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=createExportWrapper("emscripten_bind_PointAttribute_attribute_type_0");var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=createExportWrapper("emscripten_bind_PointAttribute_data_type_0");var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=createExportWrapper("emscripten_bind_PointAttribute_num_components_0");var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=createExportWrapper("emscripten_bind_PointAttribute_normalized_0");var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=createExportWrapper("emscripten_bind_PointAttribute_byte_stride_0");var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=createExportWrapper("emscripten_bind_PointAttribute_byte_offset_0");var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=createExportWrapper("emscripten_bind_PointAttribute_unique_id_0");var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=createExportWrapper("emscripten_bind_PointAttribute___destroy___0");var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=createExportWrapper("emscripten_bind_PointCloud_PointCloud_0");var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=createExportWrapper("emscripten_bind_PointCloud_num_attributes_0");var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=createExportWrapper("emscripten_bind_PointCloud_num_points_0");var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=createExportWrapper("emscripten_bind_PointCloud___destroy___0");var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=createExportWrapper("emscripten_bind_Mesh_Mesh_0");var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=createExportWrapper("emscripten_bind_Mesh_num_faces_0");var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=createExportWrapper("emscripten_bind_Mesh_num_attributes_0");var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=createExportWrapper("emscripten_bind_Mesh_num_points_0");var _emscripten_bind_Mesh_set_num_points_1=Module["_emscripten_bind_Mesh_set_num_points_1"]=createExportWrapper("emscripten_bind_Mesh_set_num_points_1");var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=createExportWrapper("emscripten_bind_Mesh___destroy___0");var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=createExportWrapper("emscripten_bind_Metadata_Metadata_0");var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=createExportWrapper("emscripten_bind_Metadata___destroy___0");var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=createExportWrapper("emscripten_bind_DracoInt8Array_DracoInt8Array_0");var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoInt8Array_GetValue_1");var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=createExportWrapper("emscripten_bind_DracoInt8Array_size_0");var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoInt8Array___destroy___0");var _emscripten_bind_MetadataBuilder_MetadataBuilder_0=Module["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"]=createExportWrapper("emscripten_bind_MetadataBuilder_MetadataBuilder_0");var _emscripten_bind_MetadataBuilder_AddStringEntry_3=Module["_emscripten_bind_MetadataBuilder_AddStringEntry_3"]=createExportWrapper("emscripten_bind_MetadataBuilder_AddStringEntry_3");var _emscripten_bind_MetadataBuilder_AddIntEntry_3=Module["_emscripten_bind_MetadataBuilder_AddIntEntry_3"]=createExportWrapper("emscripten_bind_MetadataBuilder_AddIntEntry_3");var _emscripten_bind_MetadataBuilder_AddIntEntryArray_4=Module["_emscripten_bind_MetadataBuilder_AddIntEntryArray_4"]=createExportWrapper("emscripten_bind_MetadataBuilder_AddIntEntryArray_4");var _emscripten_bind_MetadataBuilder_AddDoubleEntry_3=Module["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"]=createExportWrapper("emscripten_bind_MetadataBuilder_AddDoubleEntry_3");var _emscripten_bind_MetadataBuilder___destroy___0=Module["_emscripten_bind_MetadataBuilder___destroy___0"]=createExportWrapper("emscripten_bind_MetadataBuilder___destroy___0");var _emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=Module["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"]=createExportWrapper("emscripten_bind_PointCloudBuilder_PointCloudBuilder_0");var _emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=Module["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"]=createExportWrapper("emscripten_bind_PointCloudBuilder_AddFloatAttribute_5");var _emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"]=createExportWrapper("emscripten_bind_PointCloudBuilder_AddInt8Attribute_5");var _emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"]=createExportWrapper("emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5");var _emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"]=createExportWrapper("emscripten_bind_PointCloudBuilder_AddInt16Attribute_5");var _emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"]=createExportWrapper("emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5");var _emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"]=createExportWrapper("emscripten_bind_PointCloudBuilder_AddInt32Attribute_5");var _emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"]=createExportWrapper("emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5");var _emscripten_bind_PointCloudBuilder_AddMetadata_2=Module["_emscripten_bind_PointCloudBuilder_AddMetadata_2"]=createExportWrapper("emscripten_bind_PointCloudBuilder_AddMetadata_2");var _emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"]=createExportWrapper("emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3");var _emscripten_bind_PointCloudBuilder_SetNormalizedFlagForAttribute_3=Module["_emscripten_bind_PointCloudBuilder_SetNormalizedFlagForAttribute_3"]=createExportWrapper("emscripten_bind_PointCloudBuilder_SetNormalizedFlagForAttribute_3");var _emscripten_bind_PointCloudBuilder___destroy___0=Module["_emscripten_bind_PointCloudBuilder___destroy___0"]=createExportWrapper("emscripten_bind_PointCloudBuilder___destroy___0");var _emscripten_bind_MeshBuilder_MeshBuilder_0=Module["_emscripten_bind_MeshBuilder_MeshBuilder_0"]=createExportWrapper("emscripten_bind_MeshBuilder_MeshBuilder_0");var _emscripten_bind_MeshBuilder_AddFacesToMesh_3=Module["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"]=createExportWrapper("emscripten_bind_MeshBuilder_AddFacesToMesh_3");var _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"]=createExportWrapper("emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5");var _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"]=createExportWrapper("emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5");var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=createExportWrapper("emscripten_bind_MeshBuilder_AddMetadataToMesh_2");var _emscripten_bind_MeshBuilder_AddFloatAttribute_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"]=createExportWrapper("emscripten_bind_MeshBuilder_AddFloatAttribute_5");var _emscripten_bind_MeshBuilder_AddInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"]=createExportWrapper("emscripten_bind_MeshBuilder_AddInt8Attribute_5");var _emscripten_bind_MeshBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"]=createExportWrapper("emscripten_bind_MeshBuilder_AddUInt8Attribute_5");var _emscripten_bind_MeshBuilder_AddInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"]=createExportWrapper("emscripten_bind_MeshBuilder_AddInt16Attribute_5");var _emscripten_bind_MeshBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"]=createExportWrapper("emscripten_bind_MeshBuilder_AddUInt16Attribute_5");var _emscripten_bind_MeshBuilder_AddInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"]=createExportWrapper("emscripten_bind_MeshBuilder_AddInt32Attribute_5");var _emscripten_bind_MeshBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"]=createExportWrapper("emscripten_bind_MeshBuilder_AddUInt32Attribute_5");var _emscripten_bind_MeshBuilder_AddMetadata_2=Module["_emscripten_bind_MeshBuilder_AddMetadata_2"]=createExportWrapper("emscripten_bind_MeshBuilder_AddMetadata_2");var _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"]=createExportWrapper("emscripten_bind_MeshBuilder_SetMetadataForAttribute_3");var _emscripten_bind_MeshBuilder_SetNormalizedFlagForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetNormalizedFlagForAttribute_3"]=createExportWrapper("emscripten_bind_MeshBuilder_SetNormalizedFlagForAttribute_3");var _emscripten_bind_MeshBuilder___destroy___0=Module["_emscripten_bind_MeshBuilder___destroy___0"]=createExportWrapper("emscripten_bind_MeshBuilder___destroy___0");var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=createExportWrapper("emscripten_bind_Encoder_Encoder_0");var _emscripten_bind_Encoder_SetEncodingMethod_1=Module["_emscripten_bind_Encoder_SetEncodingMethod_1"]=createExportWrapper("emscripten_bind_Encoder_SetEncodingMethod_1");var _emscripten_bind_Encoder_SetAttributeQuantization_2=Module["_emscripten_bind_Encoder_SetAttributeQuantization_2"]=createExportWrapper("emscripten_bind_Encoder_SetAttributeQuantization_2");var _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"]=createExportWrapper("emscripten_bind_Encoder_SetAttributeExplicitQuantization_5");var _emscripten_bind_Encoder_SetSpeedOptions_2=Module["_emscripten_bind_Encoder_SetSpeedOptions_2"]=createExportWrapper("emscripten_bind_Encoder_SetSpeedOptions_2");var _emscripten_bind_Encoder_SetTrackEncodedProperties_1=Module["_emscripten_bind_Encoder_SetTrackEncodedProperties_1"]=createExportWrapper("emscripten_bind_Encoder_SetTrackEncodedProperties_1");var _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=Module["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"]=createExportWrapper("emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2");var _emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=Module["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"]=createExportWrapper("emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3");var _emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=Module["_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0"]=createExportWrapper("emscripten_bind_Encoder_GetNumberOfEncodedPoints_0");var _emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=Module["_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"]=createExportWrapper("emscripten_bind_Encoder_GetNumberOfEncodedFaces_0");var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=createExportWrapper("emscripten_bind_Encoder___destroy___0");var _emscripten_bind_ExpertEncoder_ExpertEncoder_1=Module["_emscripten_bind_ExpertEncoder_ExpertEncoder_1"]=createExportWrapper("emscripten_bind_ExpertEncoder_ExpertEncoder_1");var _emscripten_bind_ExpertEncoder_SetEncodingMethod_1=Module["_emscripten_bind_ExpertEncoder_SetEncodingMethod_1"]=createExportWrapper("emscripten_bind_ExpertEncoder_SetEncodingMethod_1");var _emscripten_bind_ExpertEncoder_SetAttributeQuantization_2=Module["_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2"]=createExportWrapper("emscripten_bind_ExpertEncoder_SetAttributeQuantization_2");var _emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5"]=createExportWrapper("emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5");var _emscripten_bind_ExpertEncoder_SetSpeedOptions_2=Module["_emscripten_bind_ExpertEncoder_SetSpeedOptions_2"]=createExportWrapper("emscripten_bind_ExpertEncoder_SetSpeedOptions_2");var _emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1=Module["_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1"]=createExportWrapper("emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1");var _emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2=Module["_emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2"]=createExportWrapper("emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2");var _emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0=Module["_emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0"]=createExportWrapper("emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0");var _emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0=Module["_emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0"]=createExportWrapper("emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0");var _emscripten_bind_ExpertEncoder___destroy___0=Module["_emscripten_bind_ExpertEncoder___destroy___0"]=createExportWrapper("emscripten_bind_ExpertEncoder___destroy___0");var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_INVALID");var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_POSITION");var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_NORMAL");var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_COLOR");var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD");var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_GENERIC");var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=createExportWrapper("emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE");var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=createExportWrapper("emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD");var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=createExportWrapper("emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH");var _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"]=createExportWrapper("emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING");var _emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"]=createExportWrapper("emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING");var ___errno_location=createExportWrapper("__errno_location");var _fflush=Module["_fflush"]=createExportWrapper("fflush");var _malloc=Module["_malloc"]=createExportWrapper("malloc");var _free=Module["_free"]=createExportWrapper("free");var setTempRet0=createExportWrapper("setTempRet0");var getTempRet0=createExportWrapper("getTempRet0");var _emscripten_stack_init=function(){return(_emscripten_stack_init=Module["asm"]["emscripten_stack_init"]).apply(null,arguments)};var _emscripten_stack_get_free=function(){return(_emscripten_stack_get_free=Module["asm"]["emscripten_stack_get_free"]).apply(null,arguments)};var _emscripten_stack_get_base=function(){return(_emscripten_stack_get_base=Module["asm"]["emscripten_stack_get_base"]).apply(null,arguments)};var _emscripten_stack_get_end=function(){return(_emscripten_stack_get_end=Module["asm"]["emscripten_stack_get_end"]).apply(null,arguments)};var stackSave=createExportWrapper("stackSave");var stackRestore=createExportWrapper("stackRestore");var stackAlloc=createExportWrapper("stackAlloc");var _emscripten_stack_get_current=function(){return(_emscripten_stack_get_current=Module["asm"]["emscripten_stack_get_current"]).apply(null,arguments)};var ___cxa_is_pointer_type=createExportWrapper("__cxa_is_pointer_type");var dynCall_jiji=Module["dynCall_jiji"]=createExportWrapper("dynCall_jiji");var ___start_em_js=Module["___start_em_js"]=19268;var ___stop_em_js=Module["___stop_em_js"]=19366;var missingLibrarySymbols=["zeroMemory","stringToNewUTF8","exitJS","setErrNo","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","getHostByName","getRandomDevice","traverseStack","convertPCtoSourceLocation","readEmAsmArgs","jstoi_q","jstoi_s","getExecutableName","listenOnce","autoResumeAudioContext","dynCallLegacy","getDynCaller","dynCall","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","safeSetTimeout","asmjsMangle","asyncLoad","alignMemory","mmapAlloc","handleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","AsciiToString","stringToAscii","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","allocateUTF8","allocateUTF8OnStack","writeStringToMemory","writeArrayToMemory","writeAsciiToMemory","getSocketFromFD","getSocketAddress","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","demangle","demangleAll","jsStackTrace","stackTrace","getEnvStrings","checkWasiClock","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","newNativePromise","getPromise","exception_addRef","exception_decRef","setMainLoop","heapObjectForWebGLType","heapAccessShiftForWebGLHeap","emscriptenWebGLGet","computeUnpackAlignedImageSize","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","writeGLArray","SDL_unicode","SDL_ttfContext","SDL_audio","GLFW_Window","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createDataFile","FS_createPreloadedFile","FS_createLazyFile","FS_createLink","FS_createDevice","FS_unlink","out","err","callMain","abort","keepRuntimeAlive","wasmMemory","stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0","writeStackCookie","checkStackCookie","intArrayFromBase64","tryParseAsDataURI","ptrToString","getHeapMax","emscripten_realloc_buffer","ENV","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","timers","warnOnce","UNWIND_CACHE","readEmAsmArgsArray","convertI32PairToI53Checked","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","intArrayFromString","intArrayToString","UTF16Decoder","SYSCALLS","JSEvents","specialHTMLTargets","currentFullscreenStrategy","restoreOldWindowedStyle","ExitStatus","flush_NO_FILESYSTEM","dlopenMissingError","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","ExceptionInfo","Browser","wget","tempFixedLengthArray","miniTempWebGLFloatBuffers","GL","AL","SDL","SDL_gfx","GLUT","EGL","GLFW","GLEW","IDBStore"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(){if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i<ensureCache.temps.length;i++){Module["_free"](ensureCache.temps[i])}ensureCache.temps.length=0;Module["_free"](ensureCache.buffer);ensureCache.buffer=0;ensureCache.size+=ensureCache.needed;ensureCache.needed=0}if(!ensureCache.buffer){ensureCache.size+=128;ensureCache.buffer=Module["_malloc"](ensureCache.size);assert(ensureCache.buffer)}ensureCache.pos=0},alloc:function(array,view){assert(ensureCache.buffer);var bytes=view.BYTES_PER_ELEMENT;var len=array.length*bytes;len=len+7&-8;var ret;if(ensureCache.pos+len>=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){offset>>>=0;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offset>>>=1;break;case 4:offset>>>=2;break;case 8:offset>>>=3;break}for(var i=0;i<array.length;i++){view[offset+i]=array[i]}}};function ensureString(value){if(typeof value==="string"){var intArray=intArrayFromString(value);var offset=ensureCache.alloc(intArray,HEAP8);ensureCache.copy(intArray,HEAP8,offset);return offset}return value}function ensureInt8(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP8);ensureCache.copy(value,HEAP8,offset);return offset}return value}function ensureInt16(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP16);ensureCache.copy(value,HEAP16,offset);return offset}return value}function ensureInt32(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP32);ensureCache.copy(value,HEAP32,offset);return offset}return value}function ensureFloat32(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAPF32);ensureCache.copy(value,HEAPF32,offset);return offset}return value}function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL"}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.__class__=VoidPtr;VoidPtr.__cache__={};Module["VoidPtr"]=VoidPtr;VoidPtr.prototype["__destroy__"]=VoidPtr.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_VoidPtr___destroy___0(self)};function GeometryAttribute(){this.ptr=_emscripten_bind_GeometryAttribute_GeometryAttribute_0();getCache(GeometryAttribute)[this.ptr]=this}GeometryAttribute.prototype=Object.create(WrapperObject.prototype);GeometryAttribute.prototype.constructor=GeometryAttribute;GeometryAttribute.prototype.__class__=GeometryAttribute;GeometryAttribute.__cache__={};Module["GeometryAttribute"]=GeometryAttribute;GeometryAttribute.prototype["__destroy__"]=GeometryAttribute.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_GeometryAttribute___destroy___0(self)};function PointAttribute(){this.ptr=_emscripten_bind_PointAttribute_PointAttribute_0();getCache(PointAttribute)[this.ptr]=this}PointAttribute.prototype=Object.create(WrapperObject.prototype);PointAttribute.prototype.constructor=PointAttribute;PointAttribute.prototype.__class__=PointAttribute;PointAttribute.__cache__={};Module["PointAttribute"]=PointAttribute;PointAttribute.prototype["size"]=PointAttribute.prototype.size=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_size_0(self)};PointAttribute.prototype["attribute_type"]=PointAttribute.prototype.attribute_type=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_attribute_type_0(self)};PointAttribute.prototype["data_type"]=PointAttribute.prototype.data_type=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_data_type_0(self)};PointAttribute.prototype["num_components"]=PointAttribute.prototype.num_components=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_num_components_0(self)};PointAttribute.prototype["normalized"]=PointAttribute.prototype.normalized=function(){var self=this.ptr;return!!_emscripten_bind_PointAttribute_normalized_0(self)};PointAttribute.prototype["byte_stride"]=PointAttribute.prototype.byte_stride=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_stride_0(self)};PointAttribute.prototype["byte_offset"]=PointAttribute.prototype.byte_offset=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_offset_0(self)};PointAttribute.prototype["unique_id"]=PointAttribute.prototype.unique_id=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_unique_id_0(self)};PointAttribute.prototype["__destroy__"]=PointAttribute.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_PointAttribute___destroy___0(self)};function PointCloud(){this.ptr=_emscripten_bind_PointCloud_PointCloud_0();getCache(PointCloud)[this.ptr]=this}PointCloud.prototype=Object.create(WrapperObject.prototype);PointCloud.prototype.constructor=PointCloud;PointCloud.prototype.__class__=PointCloud;PointCloud.__cache__={};Module["PointCloud"]=PointCloud;PointCloud.prototype["num_attributes"]=PointCloud.prototype.num_attributes=function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_attributes_0(self)};PointCloud.prototype["num_points"]=PointCloud.prototype.num_points=function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_points_0(self)};PointCloud.prototype["__destroy__"]=PointCloud.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_PointCloud___destroy___0(self)};function Mesh(){this.ptr=_emscripten_bind_Mesh_Mesh_0();getCache(Mesh)[this.ptr]=this}Mesh.prototype=Object.create(WrapperObject.prototype);Mesh.prototype.constructor=Mesh;Mesh.prototype.__class__=Mesh;Mesh.__cache__={};Module["Mesh"]=Mesh;Mesh.prototype["num_faces"]=Mesh.prototype.num_faces=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_faces_0(self)};Mesh.prototype["num_attributes"]=Mesh.prototype.num_attributes=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_attributes_0(self)};Mesh.prototype["num_points"]=Mesh.prototype.num_points=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_points_0(self)};Mesh.prototype["set_num_points"]=Mesh.prototype.set_num_points=function(num_points){var self=this.ptr;if(num_points&&typeof num_points==="object")num_points=num_points.ptr;_emscripten_bind_Mesh_set_num_points_1(self,num_points)};Mesh.prototype["__destroy__"]=Mesh.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Mesh___destroy___0(self)};function Metadata(){this.ptr=_emscripten_bind_Metadata_Metadata_0();getCache(Metadata)[this.ptr]=this}Metadata.prototype=Object.create(WrapperObject.prototype);Metadata.prototype.constructor=Metadata;Metadata.prototype.__class__=Metadata;Metadata.__cache__={};Module["Metadata"]=Metadata;Metadata.prototype["__destroy__"]=Metadata.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Metadata___destroy___0(self)};function DracoInt8Array(){this.ptr=_emscripten_bind_DracoInt8Array_DracoInt8Array_0();getCache(DracoInt8Array)[this.ptr]=this}DracoInt8Array.prototype=Object.create(WrapperObject.prototype);DracoInt8Array.prototype.constructor=DracoInt8Array;DracoInt8Array.prototype.__class__=DracoInt8Array;DracoInt8Array.__cache__={};Module["DracoInt8Array"]=DracoInt8Array;DracoInt8Array.prototype["GetValue"]=DracoInt8Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoInt8Array_GetValue_1(self,index)};DracoInt8Array.prototype["size"]=DracoInt8Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoInt8Array_size_0(self)};DracoInt8Array.prototype["__destroy__"]=DracoInt8Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoInt8Array___destroy___0(self)};function MetadataBuilder(){this.ptr=_emscripten_bind_MetadataBuilder_MetadataBuilder_0();getCache(MetadataBuilder)[this.ptr]=this}MetadataBuilder.prototype=Object.create(WrapperObject.prototype);MetadataBuilder.prototype.constructor=MetadataBuilder;MetadataBuilder.prototype.__class__=MetadataBuilder;MetadataBuilder.__cache__={};Module["MetadataBuilder"]=MetadataBuilder;MetadataBuilder.prototype["AddStringEntry"]=MetadataBuilder.prototype.AddStringEntry=function(metadata,entry_name,entry_value){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);if(entry_value&&typeof entry_value==="object")entry_value=entry_value.ptr;else entry_value=ensureString(entry_value);return!!_emscripten_bind_MetadataBuilder_AddStringEntry_3(self,metadata,entry_name,entry_value)};MetadataBuilder.prototype["AddIntEntry"]=MetadataBuilder.prototype.AddIntEntry=function(metadata,entry_name,entry_value){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);if(entry_value&&typeof entry_value==="object")entry_value=entry_value.ptr;return!!_emscripten_bind_MetadataBuilder_AddIntEntry_3(self,metadata,entry_name,entry_value)};MetadataBuilder.prototype["AddIntEntryArray"]=MetadataBuilder.prototype.AddIntEntryArray=function(metadata,entry_name,att_values,num_values){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);if(typeof att_values=="object"){att_values=ensureInt32(att_values)}if(num_values&&typeof num_values==="object")num_values=num_values.ptr;return!!_emscripten_bind_MetadataBuilder_AddIntEntryArray_4(self,metadata,entry_name,att_values,num_values)};MetadataBuilder.prototype["AddDoubleEntry"]=MetadataBuilder.prototype.AddDoubleEntry=function(metadata,entry_name,entry_value){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);if(entry_value&&typeof entry_value==="object")entry_value=entry_value.ptr;return!!_emscripten_bind_MetadataBuilder_AddDoubleEntry_3(self,metadata,entry_name,entry_value)};MetadataBuilder.prototype["__destroy__"]=MetadataBuilder.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_MetadataBuilder___destroy___0(self)};function PointCloudBuilder(){this.ptr=_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0();getCache(PointCloudBuilder)[this.ptr]=this}PointCloudBuilder.prototype=Object.create(WrapperObject.prototype);PointCloudBuilder.prototype.constructor=PointCloudBuilder;PointCloudBuilder.prototype.__class__=PointCloudBuilder;PointCloudBuilder.__cache__={};Module["PointCloudBuilder"]=PointCloudBuilder;PointCloudBuilder.prototype["AddFloatAttribute"]=PointCloudBuilder.prototype.AddFloatAttribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureFloat32(att_values)}return _emscripten_bind_PointCloudBuilder_AddFloatAttribute_5(self,pc,type,num_vertices,num_components,att_values)};PointCloudBuilder.prototype["AddInt8Attribute"]=PointCloudBuilder.prototype.AddInt8Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt8(att_values)}return _emscripten_bind_PointCloudBuilder_AddInt8Attribute_5(self,pc,type,num_vertices,num_components,att_values)};PointCloudBuilder.prototype["AddUInt8Attribute"]=PointCloudBuilder.prototype.AddUInt8Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt8(att_values)}return _emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5(self,pc,type,num_vertices,num_components,att_values)};PointCloudBuilder.prototype["AddInt16Attribute"]=PointCloudBuilder.prototype.AddInt16Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt16(att_values)}return _emscripten_bind_PointCloudBuilder_AddInt16Attribute_5(self,pc,type,num_vertices,num_components,att_values)};PointCloudBuilder.prototype["AddUInt16Attribute"]=PointCloudBuilder.prototype.AddUInt16Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt16(att_values)}return _emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5(self,pc,type,num_vertices,num_components,att_values)};PointCloudBuilder.prototype["AddInt32Attribute"]=PointCloudBuilder.prototype.AddInt32Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt32(att_values)}return _emscripten_bind_PointCloudBuilder_AddInt32Attribute_5(self,pc,type,num_vertices,num_components,att_values)};PointCloudBuilder.prototype["AddUInt32Attribute"]=PointCloudBuilder.prototype.AddUInt32Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt32(att_values)}return _emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5(self,pc,type,num_vertices,num_components,att_values)};PointCloudBuilder.prototype["AddMetadata"]=PointCloudBuilder.prototype.AddMetadata=function(pc,metadata){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;return!!_emscripten_bind_PointCloudBuilder_AddMetadata_2(self,pc,metadata)};PointCloudBuilder.prototype["SetMetadataForAttribute"]=PointCloudBuilder.prototype.SetMetadataForAttribute=function(pc,attribute_id,metadata){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(attribute_id&&typeof attribute_id==="object")attribute_id=attribute_id.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;return!!_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3(self,pc,attribute_id,metadata)};PointCloudBuilder.prototype["SetNormalizedFlagForAttribute"]=PointCloudBuilder.prototype.SetNormalizedFlagForAttribute=function(pc,attribute_id,normalized){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(attribute_id&&typeof attribute_id==="object")attribute_id=attribute_id.ptr;if(normalized&&typeof normalized==="object")normalized=normalized.ptr;return!!_emscripten_bind_PointCloudBuilder_SetNormalizedFlagForAttribute_3(self,pc,attribute_id,normalized)};PointCloudBuilder.prototype["__destroy__"]=PointCloudBuilder.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_PointCloudBuilder___destroy___0(self)};function MeshBuilder(){this.ptr=_emscripten_bind_MeshBuilder_MeshBuilder_0();getCache(MeshBuilder)[this.ptr]=this}MeshBuilder.prototype=Object.create(WrapperObject.prototype);MeshBuilder.prototype.constructor=MeshBuilder;MeshBuilder.prototype.__class__=MeshBuilder;MeshBuilder.__cache__={};Module["MeshBuilder"]=MeshBuilder;MeshBuilder.prototype["AddFacesToMesh"]=MeshBuilder.prototype.AddFacesToMesh=function(mesh,num_faces,faces){var self=this.ptr;ensureCache.prepare();if(mesh&&typeof mesh==="object")mesh=mesh.ptr;if(num_faces&&typeof num_faces==="object")num_faces=num_faces.ptr;if(typeof faces=="object"){faces=ensureInt32(faces)}return!!_emscripten_bind_MeshBuilder_AddFacesToMesh_3(self,mesh,num_faces,faces)};MeshBuilder.prototype["AddFloatAttributeToMesh"]=MeshBuilder.prototype.AddFloatAttributeToMesh=function(mesh,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(mesh&&typeof mesh==="object")mesh=mesh.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureFloat32(att_values)}return _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5(self,mesh,type,num_vertices,num_components,att_values)};MeshBuilder.prototype["AddInt32AttributeToMesh"]=MeshBuilder.prototype.AddInt32AttributeToMesh=function(mesh,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(mesh&&typeof mesh==="object")mesh=mesh.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt32(att_values)}return _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5(self,mesh,type,num_vertices,num_components,att_values)};MeshBuilder.prototype["AddMetadataToMesh"]=MeshBuilder.prototype.AddMetadataToMesh=function(mesh,metadata){var self=this.ptr;if(mesh&&typeof mesh==="object")mesh=mesh.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;return!!_emscripten_bind_MeshBuilder_AddMetadataToMesh_2(self,mesh,metadata)};MeshBuilder.prototype["AddFloatAttribute"]=MeshBuilder.prototype.AddFloatAttribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureFloat32(att_values)}return _emscripten_bind_MeshBuilder_AddFloatAttribute_5(self,pc,type,num_vertices,num_components,att_values)};MeshBuilder.prototype["AddInt8Attribute"]=MeshBuilder.prototype.AddInt8Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt8(att_values)}return _emscripten_bind_MeshBuilder_AddInt8Attribute_5(self,pc,type,num_vertices,num_components,att_values)};MeshBuilder.prototype["AddUInt8Attribute"]=MeshBuilder.prototype.AddUInt8Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt8(att_values)}return _emscripten_bind_MeshBuilder_AddUInt8Attribute_5(self,pc,type,num_vertices,num_components,att_values)};MeshBuilder.prototype["AddInt16Attribute"]=MeshBuilder.prototype.AddInt16Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt16(att_values)}return _emscripten_bind_MeshBuilder_AddInt16Attribute_5(self,pc,type,num_vertices,num_components,att_values)};MeshBuilder.prototype["AddUInt16Attribute"]=MeshBuilder.prototype.AddUInt16Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt16(att_values)}return _emscripten_bind_MeshBuilder_AddUInt16Attribute_5(self,pc,type,num_vertices,num_components,att_values)};MeshBuilder.prototype["AddInt32Attribute"]=MeshBuilder.prototype.AddInt32Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt32(att_values)}return _emscripten_bind_MeshBuilder_AddInt32Attribute_5(self,pc,type,num_vertices,num_components,att_values)};MeshBuilder.prototype["AddUInt32Attribute"]=MeshBuilder.prototype.AddUInt32Attribute=function(pc,type,num_vertices,num_components,att_values){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;if(num_vertices&&typeof num_vertices==="object")num_vertices=num_vertices.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof att_values=="object"){att_values=ensureInt32(att_values)}return _emscripten_bind_MeshBuilder_AddUInt32Attribute_5(self,pc,type,num_vertices,num_components,att_values)};MeshBuilder.prototype["AddMetadata"]=MeshBuilder.prototype.AddMetadata=function(pc,metadata){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;return!!_emscripten_bind_MeshBuilder_AddMetadata_2(self,pc,metadata)};MeshBuilder.prototype["SetMetadataForAttribute"]=MeshBuilder.prototype.SetMetadataForAttribute=function(pc,attribute_id,metadata){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(attribute_id&&typeof attribute_id==="object")attribute_id=attribute_id.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;return!!_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3(self,pc,attribute_id,metadata)};MeshBuilder.prototype["SetNormalizedFlagForAttribute"]=MeshBuilder.prototype.SetNormalizedFlagForAttribute=function(pc,attribute_id,normalized){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(attribute_id&&typeof attribute_id==="object")attribute_id=attribute_id.ptr;if(normalized&&typeof normalized==="object")normalized=normalized.ptr;return!!_emscripten_bind_MeshBuilder_SetNormalizedFlagForAttribute_3(self,pc,attribute_id,normalized)};MeshBuilder.prototype["__destroy__"]=MeshBuilder.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_MeshBuilder___destroy___0(self)};function Encoder(){this.ptr=_emscripten_bind_Encoder_Encoder_0();getCache(Encoder)[this.ptr]=this}Encoder.prototype=Object.create(WrapperObject.prototype);Encoder.prototype.constructor=Encoder;Encoder.prototype.__class__=Encoder;Encoder.__cache__={};Module["Encoder"]=Encoder;Encoder.prototype["SetEncodingMethod"]=Encoder.prototype.SetEncodingMethod=function(method){var self=this.ptr;if(method&&typeof method==="object")method=method.ptr;_emscripten_bind_Encoder_SetEncodingMethod_1(self,method)};Encoder.prototype["SetAttributeQuantization"]=Encoder.prototype.SetAttributeQuantization=function(type,quantization_bits){var self=this.ptr;if(type&&typeof type==="object")type=type.ptr;if(quantization_bits&&typeof quantization_bits==="object")quantization_bits=quantization_bits.ptr;_emscripten_bind_Encoder_SetAttributeQuantization_2(self,type,quantization_bits)};Encoder.prototype["SetAttributeExplicitQuantization"]=Encoder.prototype.SetAttributeExplicitQuantization=function(type,quantization_bits,num_components,origin,range){var self=this.ptr;ensureCache.prepare();if(type&&typeof type==="object")type=type.ptr;if(quantization_bits&&typeof quantization_bits==="object")quantization_bits=quantization_bits.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof origin=="object"){origin=ensureFloat32(origin)}if(range&&typeof range==="object")range=range.ptr;_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5(self,type,quantization_bits,num_components,origin,range)};Encoder.prototype["SetSpeedOptions"]=Encoder.prototype.SetSpeedOptions=function(encoding_speed,decoding_speed){var self=this.ptr;if(encoding_speed&&typeof encoding_speed==="object")encoding_speed=encoding_speed.ptr;if(decoding_speed&&typeof decoding_speed==="object")decoding_speed=decoding_speed.ptr;_emscripten_bind_Encoder_SetSpeedOptions_2(self,encoding_speed,decoding_speed)};Encoder.prototype["SetTrackEncodedProperties"]=Encoder.prototype.SetTrackEncodedProperties=function(flag){var self=this.ptr;if(flag&&typeof flag==="object")flag=flag.ptr;_emscripten_bind_Encoder_SetTrackEncodedProperties_1(self,flag)};Encoder.prototype["EncodeMeshToDracoBuffer"]=Encoder.prototype.EncodeMeshToDracoBuffer=function(mesh,encoded_data){var self=this.ptr;if(mesh&&typeof mesh==="object")mesh=mesh.ptr;if(encoded_data&&typeof encoded_data==="object")encoded_data=encoded_data.ptr;return _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2(self,mesh,encoded_data)};Encoder.prototype["EncodePointCloudToDracoBuffer"]=Encoder.prototype.EncodePointCloudToDracoBuffer=function(pc,deduplicate_values,encoded_data){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(deduplicate_values&&typeof deduplicate_values==="object")deduplicate_values=deduplicate_values.ptr;if(encoded_data&&typeof encoded_data==="object")encoded_data=encoded_data.ptr;return _emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3(self,pc,deduplicate_values,encoded_data)};Encoder.prototype["GetNumberOfEncodedPoints"]=Encoder.prototype.GetNumberOfEncodedPoints=function(){var self=this.ptr;return _emscripten_bind_Encoder_GetNumberOfEncodedPoints_0(self)};Encoder.prototype["GetNumberOfEncodedFaces"]=Encoder.prototype.GetNumberOfEncodedFaces=function(){var self=this.ptr;return _emscripten_bind_Encoder_GetNumberOfEncodedFaces_0(self)};Encoder.prototype["__destroy__"]=Encoder.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Encoder___destroy___0(self)};function ExpertEncoder(pc){if(pc&&typeof pc==="object")pc=pc.ptr;this.ptr=_emscripten_bind_ExpertEncoder_ExpertEncoder_1(pc);getCache(ExpertEncoder)[this.ptr]=this}ExpertEncoder.prototype=Object.create(WrapperObject.prototype);ExpertEncoder.prototype.constructor=ExpertEncoder;ExpertEncoder.prototype.__class__=ExpertEncoder;ExpertEncoder.__cache__={};Module["ExpertEncoder"]=ExpertEncoder;ExpertEncoder.prototype["SetEncodingMethod"]=ExpertEncoder.prototype.SetEncodingMethod=function(method){var self=this.ptr;if(method&&typeof method==="object")method=method.ptr;_emscripten_bind_ExpertEncoder_SetEncodingMethod_1(self,method)};ExpertEncoder.prototype["SetAttributeQuantization"]=ExpertEncoder.prototype.SetAttributeQuantization=function(att_id,quantization_bits){var self=this.ptr;if(att_id&&typeof att_id==="object")att_id=att_id.ptr;if(quantization_bits&&typeof quantization_bits==="object")quantization_bits=quantization_bits.ptr;_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2(self,att_id,quantization_bits)};ExpertEncoder.prototype["SetAttributeExplicitQuantization"]=ExpertEncoder.prototype.SetAttributeExplicitQuantization=function(att_id,quantization_bits,num_components,origin,range){var self=this.ptr;ensureCache.prepare();if(att_id&&typeof att_id==="object")att_id=att_id.ptr;if(quantization_bits&&typeof quantization_bits==="object")quantization_bits=quantization_bits.ptr;if(num_components&&typeof num_components==="object")num_components=num_components.ptr;if(typeof origin=="object"){origin=ensureFloat32(origin)}if(range&&typeof range==="object")range=range.ptr;_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5(self,att_id,quantization_bits,num_components,origin,range)};ExpertEncoder.prototype["SetSpeedOptions"]=ExpertEncoder.prototype.SetSpeedOptions=function(encoding_speed,decoding_speed){var self=this.ptr;if(encoding_speed&&typeof encoding_speed==="object")encoding_speed=encoding_speed.ptr;if(decoding_speed&&typeof decoding_speed==="object")decoding_speed=decoding_speed.ptr;_emscripten_bind_ExpertEncoder_SetSpeedOptions_2(self,encoding_speed,decoding_speed)};ExpertEncoder.prototype["SetTrackEncodedProperties"]=ExpertEncoder.prototype.SetTrackEncodedProperties=function(flag){var self=this.ptr;if(flag&&typeof flag==="object")flag=flag.ptr;_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1(self,flag)};ExpertEncoder.prototype["EncodeToDracoBuffer"]=ExpertEncoder.prototype.EncodeToDracoBuffer=function(deduplicate_values,encoded_data){var self=this.ptr;if(deduplicate_values&&typeof deduplicate_values==="object")deduplicate_values=deduplicate_values.ptr;if(encoded_data&&typeof encoded_data==="object")encoded_data=encoded_data.ptr;return _emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2(self,deduplicate_values,encoded_data)};ExpertEncoder.prototype["GetNumberOfEncodedPoints"]=ExpertEncoder.prototype.GetNumberOfEncodedPoints=function(){var self=this.ptr;return _emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0(self)};ExpertEncoder.prototype["GetNumberOfEncodedFaces"]=ExpertEncoder.prototype.GetNumberOfEncodedFaces=function(){var self=this.ptr;return _emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0(self)};ExpertEncoder.prototype["__destroy__"]=ExpertEncoder.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_ExpertEncoder___destroy___0(self)};(function(){function setupEnums(){Module["INVALID"]=_emscripten_enum_draco_GeometryAttribute_Type_INVALID();Module["POSITION"]=_emscripten_enum_draco_GeometryAttribute_Type_POSITION();Module["NORMAL"]=_emscripten_enum_draco_GeometryAttribute_Type_NORMAL();Module["COLOR"]=_emscripten_enum_draco_GeometryAttribute_Type_COLOR();Module["TEX_COORD"]=_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD();Module["GENERIC"]=_emscripten_enum_draco_GeometryAttribute_Type_GENERIC();Module["INVALID_GEOMETRY_TYPE"]=_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE();Module["POINT_CLOUD"]=_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD();Module["TRIANGULAR_MESH"]=_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH();Module["MESH_SEQUENTIAL_ENCODING"]=_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING();Module["MESH_EDGEBREAKER_ENCODING"]=_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING()}if(runtimeInitialized)setupEnums();else addOnInit(setupEnums)})();if(typeof Module["onModuleParsed"]==="function"){Module["onModuleParsed"]()}
return DracoEncoderModule.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = DracoEncoderModule;
else if (typeof define === 'function' && define['amd'])
define([], function() { return DracoEncoderModule; });
else if (typeof exports === 'object')
exports["DracoEncoderModule"] = DracoEncoderModule;