fireball/lib/ammo.module.js
2018-12-25 17:29:22 +03:30

32 lines
1.9 MiB

// This is ammo.js, a port of Bullet Physics to JavaScript. zlib licensed.
var Ammo = function(Ammo) {
Ammo = Ammo || {};
var Module=typeof Ammo!=="undefined"?Ammo:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){stackRestore(stack)}return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function($0,$1,$2,$3,$4,$5,$6,$7){var self=Module["getCache"](Module["ConcreteContactResultCallback"])[$0];if(!self.hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return self["addSingleResult"]($1,$2,$3,$4,$5,$6,$7)})];function _emscripten_asm_const_diiiiiiii(code,a0,a1,a2,a3,a4,a5,a6,a7){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+28576;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_btConeTwistConstraint_cpp()})},{func:(function(){__GLOBAL__sub_I_btQuickprof_cpp()})});memoryInitializer="data:application/octet-stream;base64,4CYAAFAoAAAYAAAAAAAAALgmAABwKAAA4CYAAJwoAAAwAAAAAAAAALgmAADLKAAA4CYAAPMoAABIAAAAAAAAALgmAAAJKQAA4CYAACUpAABgAAAAAAAAALgmAAA8KQAAuCYAAEwpAADgJgAAYSkAAIAAAAAAAAAAuCYAAJMpAADgJgAAvikAAJgAAAAAAAAAuCYAANgpAADgJgAA6ykAACAEAAAAAAAA4CYAABcqAADAAAAAAAAAALgmAABSKgAA4CYAAHMqAADAAAAAAAAAAOAmAACnKgAAwAAAAAAAAADgJgAA1SoAAMAAAAAAAAAA4CYAAMcrAADQAwAAAAAAAOAmAADUKwAAGAEAAAAAAAC4JgAA9CsAALgmAAAHLAAA4CYAABwsAAAgAQAAAAAAAOAmAAAyLAAAIAEAAAAAAADgJgAAUSwAAGAIAAAAAAAA4CYAALAsAAB4AQAAAAAAAOAmAACSLAAA4AcAAAAAAADgJgAA0iwAABgBAAAAAAAA4CYAAPMsAAAYAQAAAAAAAOAmAAAWLQAAGAEAAAAAAADgJgAAOC0AAHgBAAAAAAAA4CYAAFotAADIAQAAAAAAALgmAAB6LQAA4CYAAIYuAADIAQAAAAAAAOAmAADJLQAAAAgAAAAAAADgJgAAmi0AAKgHAAAAAAAAuCYAAKwtAADgJgAAaS4AAAAIAAAAAAAA4CYAAPsuAABwAgAAAAAAAOAmAACsLgAAOAIAAAAAAADgJgAAxi4AAEgCAAAAAAAAuCYAAOAuAADgJgAAFi8AAMgBAAAAAAAA4CYAAEovAADQAwAAAAAAAOAmAACWLwAAkAIAAAAAAADgJgAAWC8AAHAAAAAAAAAA4CYAALAvAABIBQAAAAAAAOAmAADCLwAAsAIAAAAAAAC4JgAA4C8AAOAmAABVMAAAAAAAAAAAAAAIJwAAMTAAAAAAAAABAAAA4AIAAAIEAAC4JgAARTAAAOAmAACFMAAAyAIAAAAAAADgJgAAwTAAAOgCAAAAAAAA4CYAAAIxAADIAgAAAAAAAOAmAABOMQAAyAIAAAAAAADgJgAAfTEAAMgCAAAAAAAA4CYAALAxAADIAgAAAAAAAOAmAADEMQAAWAMAAAAAAAC4JgAA6jEAAOAmAAD/MQAAcAMAAAAAAAC4JgAAEjIAAOAmAAAmMgAAaAAAAAAAAADgJgAAcDIAAKgDAAAAAAAA4CYAAEIyAABwAAAAAAAAAOAmAACRMgAAcAMAAAAAAADgJgAAsjIAAMgDAAAAAAAAuCYAAMsyAAC4JgAA9TIAAOAmAAAJMwAA0AMAAAAAAADgJgAAGTMAANgDAAAAAAAA4CYAAGIzAAC4CQAAAAAAAOAmAAA0MwAAGAQAAAAAAAC4JgAATjMAAOAmAAB6MwAAMAQAAAAAAAC4JgAAnDMAAOAmAAC3MwAAwAAAAAAAAADgJgAA5zMAAMAAAAAAAAAA4CYAABI0AADAAAAAAAAAAOAmAABFNAAAwAAAAAAAAADgJgAAdjQAAMAAAAAAAAAA4CYAAJc0AADAAAAAAAAAAOAmAADLNAAAwAAAAAAAAADgJgAAADUAAMAAAAAAAAAA4CYAAC01AADAAAAAAAAAAOAmAABmNQAAwAAAAAAAAAC4JgAAmDUAAOAmAAC0NQAAyAEAAAAAAADgJgAAjzYAAGgKAAAAAAAA4CYAANY1AAAACAAAAAAAAOAmAAB0NgAAAAgAAAAAAADgJgAAszYAAGgKAAAAAAAA4CYAANA2AABABQAAAAAAALgmAADjNgAAuCYAACg6AADgJgAAPjkAADgCAAAAAAAA4CYAABM3AAAwAAAAAAAAAOAmAACYNwAAGAEAAAAAAADgJgAAFjgAAMgJAAAAAAAA4CYAAKs4AADICQAAAAAAAAgnAABUOQAAAAAAAAIAAAAACAAAAgAAAAgIAAACBAAA4CYAADs6AACAAAAAAAAAAOAmAAAaOwAAGAEAAAAAAADgJgAAvzsAANgJAAAAAAAA4CYAAHA8AADYCQAAAAAAAOAmAAAfPQAAOAIAAAAAAADgJgAAUT0AAEgCAAAAAAAA4CYAADc9AAAwBQAAAAAAAOAmAABrPQAAaAoAAAAAAADgJgAA1z4AAMAAAAAAAAAA4CYAAL0+AABoCgAAAAAAAOAmAACQPQAAMAUAAAAAAADgJgAAqz0AAEAFAAAAAAAA4CYAADg+AABABQAAAAAAAOAmAAAYPwAAaAoAAAAAAADgJgAA/z4AABgBAAAAAAAA4CYAAFg/AACQBgAAAAAAAOAmAAA3PwAAGAEAAAAAAADgJgAAtT8AAMgHAAAAAAAA4CYAANw/AADgBwAAAAAAAOAmAADwPwAA4AYAAAAAAADgJgAABUAAAOAGAAAAAAAA4CYAABtAAADgBwAAAAAAAOAmAADZQAAAaAcAAAAAAADgJgAAK0AAAEAHAAAAAAAAuCYAAJlAAADgJgAA8kAAAEAHAAAAAAAA4CYAAFpBAABABwAAAAAAAOAmAABWQgAAYAgAAAAAAADgJgAAy0EAAAAIAAAAAAAA4CYAAONBAAAICAAAAAAAAOAmAACPQgAAYAgAAAAAAADgJgAApEIAAOAHAAAAAAAA4CYAAL5CAACoBwAAAAAAALgmAAD4QgAA4CYAAAtDAADIBwAAAAAAAOAmAAAbQwAA0AcAAAAAAADgJgAAUEMAALgHAAAAAAAAuCYAAGRDAAC4JgAAeUMAAOAmAAC7QwAA4AcAAAAAAADgJgAA1UMAABAIAAAAAAAA4CYAAPBDAAAQCAAAAAAAAOAmAAAtRAAAuAcAAAAAAADgJgAAAkQAAAgIAAAAAAAA4CYAAElEAADIBwAAAAAAAOAmAABeRAAAqAcAAAAAAADgJgAAa0QAAMAJAAAAAAAA4CYAAHxEAAAICAAAAAAAAOAmAADXRAAACAgAAAAAAADgJgAAR0UAAGAIAAAAAAAA4CYAAIFFAADgBwAAAAAAAOAmAACdRQAAwAgAAAAAAADgJgAAukUAAMAIAAAAAAAA4CYAAM1FAADICgAAAAAAAOAmAAAQRgAAEAkAAAAAAADgJgAA3kUAACAJAAAAAAAAuCYAAPhFAADgJgAAH0YAADgJAAAAAAAA4CYAADFGAABIAAAAAAAAAOAmAAA5RwAAOAkAAAAAAADgJgAASkYAABgEAAAAAAAA4CYAALhGAAAYBAAAAAAAAOAmAACaRwAAIAkAAAAAAADgJgAAWEcAABgBAAAAAAAA4CYAAG1HAAAYAQAAAAAAAOAmAACERwAAGAEAAAAAAAC4JgAArUcAALgmAAAXSAAA4CYAAChIAAAACAAAAAAAAOAmAABESAAAAAgAAAAAAADgJgAADkkAAAgKAAAAAAAA4CYAAGNIAABABQAAAAAAALgmAAAySQAA4CYAAFNJAAAICgAAAAAAAOAmAACHSQAAyAMAAAAAAADgJgAAdEkAAEAFAAAAAAAA4CYAAJlJAADIAwAAAAAAAOAmAAC3SQAAYAoAAAAAAAC4JgAAy0kAAOAmAADySQAAyAEAAAAAAADgJgAAE0oAAMgBAAAAAAAA4CYAACZKAABoCgAAAAAAAOAmAABJSgAAYAoAAAAAAADgJgAAXEoAAGAKAAAAAAAAuCYAAHVKAAC4JgAAj0oAAOAmAACkSgAA2AoAAAAAAAC4JgAAVEsAALgmAAB+VQAA4CYAAN5VAAD4CgAAAAAAAOAmAACLVQAACAsAAAAAAAC4JgAArFUAAOAmAAC5VQAA6AoAAAAAAADgJgAA5FYAAPgKAAAAAAAA4CYAAMBWAAAgCwAAAAAAAOAmAAAGVwAA6AoAAAAAAAAAAAAACAAAAAEAAAACAAAAAQAAAAEAAAAAAAAAGAAAAAMAAAAEAAAAAQAAAAEAAAAAAAAAIAAAAAUAAAAGAAAAAgAAAAEAAAAAAAAAMAAAAAcAAAAIAAAAAgAAAAEAAAAAAAAAOAAAAAkAAAAKAAAAAQAAAAEAAAABAAAAAAAAAEgAAAALAAAADAAAAAEAAAABAAAAAQAAAAAAAABQAAAADQAAAA4AAAABAAAAAgAAAAAAAABgAAAADwAAABAAAAABAAAAAQAAAAAAAABoAAAAEQAAABIAAAABAAAAAAAAAHAAAAATAAAAFAAAAAMAAAACAAAAAAAAAIAAAAAVAAAAFgAAAAMAAAABAAAAAAAAAIgAAAAXAAAAGAAAAAEAAAACAAAAAgAAAAMAAAABAAAAAgAAABkAAAADAAAABAAAAAQAAAADAAAABQAAAAQAAAAFAAAAAAAAAKAAAAAaAAAAGwAAAAUAAAAGAAAAAgAAAAMAAAAAAAAA6AAAABwAAAAdAAAAAgAAAAAAAADYAAAAHAAAAB4AAAADAAAAAAAAAMgAAAAcAAAAHwAAAAQAAAAAAAAAsAAAABwAAAAgAAAABQAAAAAAAAD4AAAAIQAAACIAAAAGAAAABAAAAAcAAAAEAAAABwAAAAYAAAAAAAAACAEAACMAAAAkAAAABwAAAAgAAAABAAAABQAAAAYAAAAAAAAAKAEAACUAAAAmAAAAAQAAAAEAAAADAAAACAAAAAAAAAA4AQAAJQAAACcAAAACAAAAAgAAAAQAAAAJAAAAAAAAAEgBAAAoAAAAKQAAAAEAAAAIAAAAAQAAAAEAAAAJAAAACgAAAAMAAAALAAAACgAAAAUAAAACAAAADAAAAAUAAAALAAAAAgAAAAAAAACIAQAAIwAAACoAAAAHAAAADAAAAAEAAAAFAAAABgAAAAAAAABYAQAAIwAAACsAAAAHAAAADQAAAAEAAAAFAAAABgAAAAAAAABoAQAALAAAAC0AAAADAAAACAAAAAEAAAABAAAADgAAAA0AAAAEAAAADgAAAAoAAAAGAAAAAwAAAA8AAAAGAAAACwAAAAkAAAAKAAAAAQAAAAQAAAAFAAAAEAAAAAsAAAARAAAAAAAAAKgBAAAjAAAALgAAAAwAAAAPAAAAAQAAAAUAAAAGAAAAAAAAAJgBAAAjAAAALwAAAA0AAAAPAAAAAQAAAAUAAAAGAAAAAAAAALgBAAAwAAAAMQAAAAEAAAABAAAAEAAAAAAAAADQAQAAMgAAADMAAAACAAAAAgAAABEAAAAAAAAA4AEAADQAAAA1AAAABgAAAAAAAAAAAgAABwAAABIAAAAOAAAANgAAADcAAAAAAAAA8AEAADgAAAA5AAAABwAAAAgAAAABAAAAAQAAAA4AAAANAAAABQAAABIAAAAKAAAACAAAAAQAAAAPAAAABgAAAAsAAAAPAAAAEAAAAAEAAAAIAAAABQAAABMAAAARAAAABwAAABQAAAAVAAAACQAAABIAAAAWAAAACgAAAAEAAAALAAAAAAAAAAgCAAA6AAAAOwAAAAwAAAAAAAAAGAIAADwAAAA9AAAAPgAAAD8AAAATAAAAFwAAAEAAAAANAAAADgAAAA8AAAAUAAAAQQAAABUAAAABAAAAEwAAABYAAAAXAAAAGAAAABkAAAAaAAAAQgAAABsAAAAQAAAAHAAAAB0AAAAYAAAAGQAAAAgAAAAJAAAAGgAAAEMAAAAeAAAAHwAAACAAAAAhAAAACQAAAAoAAABEAAAAIgAAAAsAAAAMAAAADQAAAA4AAAAjAAAARQAAACQAAAAPAAAAAAAAACgCAABGAAAARwAAAAoAAAAAAAAAUAIAAEgAAABJAAAAAwAAAAMAAAAlAAAAAAAAAGACAABKAAAASwAAACYAAAAEAAAAGwAAAAcAAAAnAAAAAAAAAHACAABMAAAATQAAAD4AAAA/AAAAEwAAABcAAABOAAAADQAAABEAAAAPAAAAKAAAAEEAAAApAAAAAQAAABMAAAAWAAAAFwAAABgAAAAZAAAAGgAAAEIAAAAbAAAAEAAAABwAAAAdAAAAGAAAABkAAAAIAAAACQAAABwAAABDAAAAHgAAAB8AAAAgAAAAIQAAABAAAAAKAAAARAAAACIAAAALAAAAEQAAAA0AAAAOAAAAIwAAAEUAAAAkAAAADwAAAAAAAACAAgAAFQAAAE8AAAALAAAAAwAAAAAAAACgAgAAUAAAAFEAAAABAAAAAAAAALgCAABSAAAAUwAAAFQAAAABAAAAKgAAACsAAAABAAAAAQAAAAQAAAAdAAAACAAAAAAAAADIAgAAVQAAAFYAAABXAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAHgAAAAkAAAAAAAAA6AIAAFUAAABYAAAAWQAAAAEAAAAsAAAALQAAAAEAAAACAAAABQAAAB8AAAAKAAAAWgAAACAAAAAAAAAA+AIAAFUAAABbAAAAWQAAAAEAAAAsAAAALgAAAAEAAAACAAAABQAAACEAAAALAAAAWgAAACAAAAAUAAAAAAAAAAgDAABVAAAAXAAAAF0AAAABAAAALwAAADAAAAABAAAAAwAAAAYAAAAiAAAADAAAACMAAAAAAAAAGAMAAFUAAABeAAAAVwAAAAEAAAAxAAAAMgAAAAEAAAAEAAAABwAAACQAAAANAAAAJQAAAAAAAAAoAwAAVQAAAF8AAABgAAAAAQAAADMAAAA0AAAAAgAAAAUAAAAIAAAAJgAAAA4AAAAVAAAAAAAAADgDAABVAAAAYQAAAGIAAAABAAAANQAAADYAAAABAAAABgAAAAkAAAAnAAAADwAAACgAAAAAAAAASAMAAGMAAABkAAAAFgAAAAEAAAAXAAAAZQAAACkAAAASAAAAAQAAAAEAAAACAAAAAQAAAAIAAAAAAAAAYAMAAGYAAABnAAAAAgAAADcAAAASAAAAEwAAABMAAAAAAAAAeAMAABEAAABoAAAABgAAAAAAAACIAwAAaQAAAGoAAAADAAAAOAAAADkAAAAEAAAAOgAAADsAAAA8AAAABQAAACoAAAA9AAAAKwAAAD4AAAAQAAAAPwAAACwAAABAAAAAQQAAAAAAAACYAwAAFQAAAGsAAAADAAAACgAAAAAAAAC4AwAAbAAAAG0AAAABAAAAAQAAAAIAAAAAAAAAAgAAAAAAAAABAAAAAAAAANADAABuAAAAbwAAACYAAAAEAAAALQAAABEAAAAHAAAAAAAAANgDAABwAAAAcQAAACYAAAAEAAAALQAAABEAAAAHAAAAGAAAABQAAAAAAAAA6AMAAHIAAABzAAAAJgAAAAQAAAAtAAAAEQAAAAcAAAAZAAAAFQAAAAAAAAD4AwAAdAAAAHUAAAABAAAAEgAAAEIAAABDAAAAEwAAABQAAAAWAAAALgAAAAwAAAAvAAAAMAAAADEAAAANAAAARAAAAAAAAAAIBAAAdgAAAHcAAAAOAAAAAAAAACAEAAB4AAAAeQAAAAUAAAAGAAAAFQAAAAMAAAAAAAAAyAQAABwAAAB6AAAABwAAAAAAAAC4BAAAHAAAAHsAAAAIAAAAAAAAAKgEAAAcAAAAfAAAAAkAAAAAAAAAmAQAABwAAAB9AAAACgAAAAAAAACIBAAAHAAAAH4AAAALAAAAAAAAAHgEAAAcAAAAfwAAAAwAAAAAAAAAaAQAABwAAACAAAAADQAAAAAAAABYBAAAHAAAAIEAAAAOAAAAAAAAAEgEAAAcAAAAggAAAA8AAAAAAAAAOAQAABwAAACDAAAAEAAAAAAAAADYBAAAhAAAAIUAAAAaAAAARQAAAAAAAADgBAAAhgAAAIcAAAAEAAAABAAAAEYAAAAAAAAA8AQAAIgAAACJAAAABQAAAAUAAABHAAAAAAAAAAAFAAA0AAAAigAAABcAAAAAAAAAEAUAAIsAAACMAAAAGAAAAAAAAAAgBQAAjQAAAI4AAAAGAAAABgAAAEgAAAAAAAAAMAUAAI8AAACQAAAAGwAAABwAAAADAAAAAAAAAEgFAACRAAAAkgAAAD4AAAA/AAAAEwAAABcAAACTAAAADQAAABEAAAAZAAAASQAAAEEAAABKAAAAAAAAAFAFAABGAAAAlAAAAA8AAAAAAAAAkAUAADQAAACVAAAAGgAAAAEAAAAAAAAAgAUAADQAAACWAAAAGgAAAAIAAAAAAAAAcAUAACMAAACXAAAABwAAAEsAAAABAAAABQAAAAYAAAAAAAAAYAUAAAcAAACYAAAAEAAAAAsAAAAAAAAAoAUAAJkAAACaAAAAGwAAABwAAAD8////oAUAAJsAAACcAAAAHQAAAAAAAADwBQAANAAAAJ0AAAAeAAAAAQAAAAAAAADgBQAANAAAAJ4AAAAeAAAAAgAAAAAAAADQBQAAIwAAAJ8AAAAHAAAATAAAAAEAAAAFAAAABgAAAAAAAADABQAAFQAAAKAAAAARAAAADAAAAAAAAAAABgAARgAAAKEAAAASAAAAAAAAABAGAABGAAAAogAAABMAAAAAAAAAIAYAAI8AAACjAAAAGwAAABwAAAAEAAAAAAAAADAGAACkAAAApQAAAAcAAAAHAAAATQAAAAAAAABABgAApgAAAKcAAAARAAAAAAAAAFAGAACoAAAAqQAAAAgAAAAIAAAATgAAAAAAAACABgAAjwAAAKoAAAAdAAAAHgAAAAUAAAAAAAAAcAYAAI8AAACrAAAAHwAAACAAAAAGAAAAAAAAAGAGAACPAAAArAAAABsAAAAcAAAABwAAAAAAAACQBgAArQAAAK4AAAAJAAAACQAAAE8AAAAAAAAAoAYAACMAAACvAAAABwAAAFAAAAABAAAABQAAAAYAAAAAAAAAsAYAALAAAACxAAAACgAAAAoAAABRAAAAAAAAAMAGAAAjAAAAsgAAACEAAAAPAAAAAQAAAAUAAAAGAAAAAAAAANAGAACzAAAAtAAAAB8AAAAIAAAAAQAAAAEAAABSAAAAMgAAAAYAAAAzAAAACgAAABQAAAAFAAAANAAAABYAAAALAAAAUwAAALUAAAAAAAAA4AYAACwAAAC2AAAAIAAAAAgAAAABAAAAAQAAAFQAAAANAAAABwAAADUAAABVAAAACAAAAAQAAAA2AAAAFwAAAAsAAAAiAAAAIwAAAAEAAAAhAAAABQAAABAAAAALAAAAAAAAAPAGAAAsAAAAtwAAACAAAAAIAAAAAQAAAAEAAABUAAAADQAAAAcAAAA3AAAAVgAAAAgAAAAEAAAANgAAABcAAAALAAAAIgAAACMAAAABAAAAIQAAAAUAAAAQAAAACwAAAAAAAAAABwAALAAAALgAAAAgAAAACAAAAAEAAAABAAAAVAAAAA0AAAAHAAAAOAAAAFcAAAAIAAAABAAAADYAAAAXAAAACwAAACIAAAAjAAAAAQAAACEAAAAFAAAAEAAAAAsAAAAAAAAAEAcAACwAAAC5AAAAIgAAAAgAAAABAAAAAQAAAA4AAAANAAAACAAAADkAAAAKAAAAFQAAAAYAAAAPAAAABgAAAAsAAAAkAAAAJQAAAAEAAAAjAAAABQAAABAAAAALAAAAAAAAACAHAAC6AAAAuwAAACQAAAAIAAAAAQAAAAEAAABYAAAAOgAAAAkAAAA7AAAACgAAAAUAAAACAAAAPAAAABgAAAALAAAAJQAAACYAAAAnAAAAWQAAAFoAAAAAAAAAMAcAALwAAAC9AAAAKAAAAAAAAABIBwAAvAAAAL4AAAApAAAAAAAAAFgHAAC8AAAAvwAAACoAAAAAAAAAaAcAAMAAAADBAAAAJAAAAAgAAAABAAAAAQAAAFsAAAA6AAAACQAAAD0AAAAKAAAABQAAAAIAAAAMAAAABQAAAAsAAAAmAAAAJgAAACcAAAAAAAAAeAcAADQAAADCAAAAJwAAAAAAAACIBwAAwwAAAMQAAAAoAAAAAAAAAJgHAADFAAAAxgAAACkAAAAIAAAAAQAAAAEAAABcAAAAPgAAAAoAAAA/AAAACgAAAAUAAAACAAAAQAAAABkAAAALAAAAKgAAAAAAAACoBwAAOAAAAMcAAAAgAAAACAAAAAEAAAABAAAADgAAAA0AAAALAAAAAQAAAAoAAAAIAAAABAAAAA8AAAAGAAAACwAAAA8AAAArAAAAAQAAACsAAAAFAAAAEAAAAAsAAAAHAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAADwBwAAyAAAAMkAAAAsAAAACAAAAAEAAAABAAAAXQAAAA0AAAALAAAAQQAAAAoAAAAIAAAABAAAAEIAAAAaAAAACwAAACwAAAAtAAAAAgAAAC0AAAAFAAAAEAAAAAsAAAAHAAAAQwAAAEQAAAAuAAAALgAAAEUAAAAvAAAAAgAAAAAAAAAQCAAALAAAAMoAAAAwAAAACAAAAAEAAAABAAAAXgAAAA0AAAAMAAAARgAAAF8AAAAWAAAABAAAAEcAAAAbAAAACwAAAA8AAAAvAAAAAQAAADEAAAAFAAAAEAAAAAsAAAAAAAAAIAgAACwAAADLAAAAMAAAAAgAAAABAAAAAQAAAF4AAAANAAAADAAAAEgAAABfAAAAFgAAAAQAAABHAAAAGwAAAAsAAAAPAAAALwAAAAEAAAAxAAAABQAAABAAAAALAAAAAAAAADAIAAAsAAAAzAAAADAAAAAIAAAAAQAAAAEAAABeAAAADQAAAAwAAABJAAAAXwAAABYAAAAEAAAARwAAABsAAAALAAAADwAAAC8AAAABAAAAMQAAAAUAAAAQAAAACwAAAAAAAABACAAAOAAAAM0AAAAsAAAACAAAAAEAAAABAAAAYAAAAEoAAAALAAAASwAAAAoAAAAIAAAABAAAAA8AAAAGAAAACwAAADAAAAAxAAAAAQAAADIAAAAFAAAAEAAAAAsAAAAHAAAATAAAAE0AAAAzAAAAMgAAAE4AAAA0AAAAAwAAAAAAAABQCAAAwwAAAM4AAAA1AAAAAAAAAHAIAAA4AAAAzwAAADYAAAAIAAAAAQAAAAEAAABhAAAADQAAAA0AAABPAAAACgAAABcAAAAEAAAADwAAAAYAAAALAAAAMwAAADQAAAABAAAANwAAAAUAAABQAAAANQAAAAcAAABRAAAAUgAAADgAAAA2AAAAUwAAADkAAAAEAAAANwAAAAAAAACACAAA0AAAANEAAAASAAAAVAAAABwAAABiAAAAYwAAABMAAAAAAAAAoAgAAMMAAADSAAAAOgAAAAAAAACQCAAAwwAAANMAAAA7AAAAAAAAALAIAADUAAAA1QAAADwAAAAIAAAAAQAAAAEAAABkAAAAVQAAAA4AAABWAAAACgAAAAUAAAACAAAADAAAAAUAAAALAAAAPQAAAA0AAAAAAAAAwAgAACwAAADWAAAAPgAAAAgAAAABAAAAAQAAAGUAAAANAAAADwAAAFcAAABmAAAAGAAAAAQAAABYAAAAHQAAAAsAAAA4AAAAOQAAAAEAAAA/AAAABQAAABAAAAALAAAABwAAAAAAAADQCAAALAAAANcAAAA+AAAACAAAAAEAAAABAAAAZQAAAA0AAAAPAAAAWQAAAGYAAAAYAAAABAAAAFgAAAAdAAAACwAAADgAAAA6AAAAAQAAAEAAAAAFAAAAEAAAAAsAAAAIAAAAAAAAAOAIAAAsAAAA2AAAAD4AAAAIAAAAAQAAAAEAAABlAAAADQAAAA8AAABaAAAAZgAAABgAAAAEAAAAWAAAAB0AAAALAAAAOAAAADsAAAABAAAAQQAAAAUAAAAQAAAACwAAAAkAAAAAAAAA8AgAANkAAADaAAAAQgAAAAEAAAACAAAAZwAAAGgAAABbAAAAaQAAAGoAAABcAAAAPAAAAD0AAABdAAAAHgAAAAAAAAAACQAA2wAAANwAAAABAAAAPgAAAAsAAABDAAAAAgAAAEQAAABrAAAAXgAAAF8AAAA/AAAAbAAAAN0AAAAAAAAAEAkAANsAAADeAAAAAQAAAD4AAAALAAAAQwAAAAIAAABEAAAAawAAAF4AAABfAAAAPwAAAGwAAADdAAAAAAAAACgJAADfAAAA4AAAAB8AAAAUAAAAQAAAAGAAAABhAAAAYgAAAEEAAABjAAAAQgAAAG0AAABDAAAAIAAAAGQAAABuAAAAbwAAAAAAAABICQAA4QAAAOIAAAAhAAAAFQAAAEQAAABlAAAAZgAAAGcAAABFAAAAaAAAAEYAAABwAAAARwAAACIAAABpAAAAcQAAAHIAAAAAAAAAWAkAAHYAAADjAAAAFAAAAAAAAABoCQAAdgAAAOQAAAAVAAAAAAAAAHgJAADlAAAA5gAAAAIAAABIAAAADAAAAEUAAAADAAAARgAAAHMAAABqAAAAawAAAEkAAAB0AAAA5wAAAAAAAACICQAAIwAAAOgAAABKAAAAdQAAAAEAAAAFAAAABgAAAAAAAACYCQAAIwAAAOkAAAAHAAAAdgAAAAEAAAAFAAAABgAAAAAAAACoCQAAIwAAAOoAAAAHAAAAdwAAAAEAAAAFAAAABgAAAAAAAADACQAA6wAAAOwAAAASAAAAVAAAABwAAABiAAAAYwAAAAAAAADYCQAANAAAAO0AAAAeAAAAAQAAAAAAAADoCQAA7gAAAO8AAAABAAAAAAAAAPgJAACPAAAA8AAAAEsAAABMAAAACAAAAAAAAAAQCgAA7gAAAPEAAAACAAAAAAAAACAKAABsAAAA8gAAAAIAAAAAAAAAMAoAAI8AAADzAAAATQAAAE4AAAAJAAAAAAAAAEAKAABsAAAA9AAAAAMAAAAAAAAAUAoAAPUAAAD2AAAADQAAAAAAAAB4CgAA9wAAAPgAAAAOAAAACwAAAHgAAAAAAAAAiAoAAPkAAAD6AAAADwAAAAwAAAB5AAAAAAAAAJgKAAD1AAAA+wAAABAAAAAAAAAAqAoAAPUAAAD8AAAAEQAAAAAAAAC4CgAA/QAAAP4AAAAjAAAAJAAAAGwAAAAAAAAAwAoAAP8AAAAAAQAAAAAAAMgKAAABAQAAAgEAAEIAAAABAAAAAgAAAGcAAABoAAAAWwAAAHoAAAB7AAAAXAAAADwAAAA9AAAAXQAAAB4AAAD/////BQAAAAAAAAAAAAAAbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACYAAACdbwAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAA6AoAAAMBAAAEAQAABQEAAAYBAAAnAAAABAAAABIAAABHAAAAAAAAABALAAADAQAABwEAAAUBAAAGAQAAJwAAAAUAAAATAAAASAAAAAAAAABACwAAAwEAAAgBAAAFAQAABgEAACcAAAAGAAAAFAAAAEkAAAB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnQ29uY3JldGVDb250YWN0UmVzdWx0Q2FsbGJhY2snXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ2FkZFNpbmdsZVJlc3VsdCcpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgQ29uY3JldGVDb250YWN0UmVzdWx0Q2FsbGJhY2s6OmFkZFNpbmdsZVJlc3VsdC4nOyByZXR1cm4gc2VsZlsnYWRkU2luZ2xlUmVzdWx0J10oJDEsJDIsJDMsJDQsJDUsJDYsJDcpOyB9ADI5Q29uY3JldGVDb250YWN0UmVzdWx0Q2FsbGJhY2sATjE2YnRDb2xsaXNpb25Xb3JsZDIxQ29udGFjdFJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMjRDbG9zZXN0UmF5UmVzdWx0Q2FsbGJhY2tFAE4xNmJ0Q29sbGlzaW9uV29ybGQxN1JheVJlc3VsdENhbGxiYWNrRQAxOWJ0R2hvc3RQYWlyQ2FsbGJhY2sAMjVidE92ZXJsYXBwaW5nUGFpckNhbGxiYWNrADIwYnREZWZhdWx0TW90aW9uU3RhdGUAMTNidE1vdGlvblN0YXRlADE4YnRWZWhpY2xlUmF5Y2FzdGVyAE4xNmJ0Q29sbGlzaW9uV29ybGQyN0Nsb3Nlc3RDb252ZXhSZXN1bHRDYWxsYmFja0UATjE2YnRDb2xsaXNpb25Xb3JsZDIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFADIzYnREZWZhdWx0U29mdEJvZHlTb2x2ZXIAMTZidFNvZnRCb2R5U29sdmVyADQxYnRTb2Z0Qm9keVJpZ2lkQm9keUNvbGxpc2lvbkNvbmZpZ3VyYXRpb24ATjM1YnRTb2Z0Qm9keUNvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0xN1N3YXBwZWRDcmVhdGVGdW5jRQAzMGJ0Q29sbGlzaW9uQWxnb3JpdGhtQ3JlYXRlRnVuYwBOMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI5YnRTb2Z0UmlnaWRDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4yOGJ0U29mdFNvZnRDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAFNvZnRCb2R5TWF0ZXJpYWxEYXRhAFNvZnRCb2R5Tm9kZURhdGEAU29mdEJvZHlMaW5rRGF0YQBTb2Z0Qm9keUZhY2VEYXRhAFNvZnRCb2R5VGV0cmFEYXRhAFNvZnRSaWdpZEFuY2hvckRhdGEAZmxvYXQAU29mdEJvZHlQb3NlRGF0YQBTb2Z0Qm9keUNsdXN0ZXJEYXRhAGludABidFNvZnRCb2R5Sm9pbnREYXRhAGJ0U29mdEJvZHlGbG9hdERhdGEAMTBidFNvZnRCb2R5AE4xMGJ0U29mdEJvZHkxNVJheUZyb21Ub0Nhc3RlckUATjZidERidnQ4SUNvbGxpZGVFAE4xMGJ0U29mdEJvZHk1Sm9pbnRFAE4xMGJ0U29mdEJvZHk2Q0pvaW50RQBOMTBidFNvZnRCb2R5NkxKb2ludEUAU29mdEJvZHkAMjRidFNvZnRCb2R5Q29sbGlzaW9uU2hhcGUAYnRDb252ZXhJbnRlcm5hbFNoYXBlRGF0YQBTT0ZUQ0xVU1RFUgAyN2J0U29mdENsdXN0ZXJDb2xsaXNpb25TaGFwZQBOMTVidFNvZnRDb2xsaWRlcnMxMkNvbGxpZGVDTF9SU0UATjE1YnRTb2Z0Q29sbGlkZXJzMTFDbHVzdGVyQmFzZUUATjE1YnRTb2Z0Q29sbGlkZXJzMTNDb2xsaWRlU0RGX1JTRQBOMTVidFNvZnRDb2xsaWRlcnMxMkNvbGxpZGVWRl9TU0UATjE1YnRTb2Z0Q29sbGlkZXJzMTJDb2xsaWRlQ0xfU1NFADI5YnRTb2Z0UmlnaWRDb2xsaXNpb25BbGdvcml0aG0AMjBidENvbGxpc2lvbkFsZ29yaXRobQBUcmlhbmdsZQAxNWJ0VHJpYW5nbGVTaGFwZQBOMTJidENvbnZleENhc3QxMENhc3RSZXN1bHRFAFpOMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTIxY2FsY3VsYXRlVGltZU9mSW1wYWN0RVAxN2J0Q29sbGlzaW9uT2JqZWN0UzFfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTMxTG9jYWxUcmlhbmdsZVNwaGVyZUNhc3RDYWxsYmFjawAyNmJ0U29mdEJvZHlUcmlhbmdsZUNhbGxiYWNrADM1YnRTb2Z0Qm9keUNvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0AMjNidFNvZnRTaW5nbGVSYXlDYWxsYmFjawAyM2J0QnJvYWRwaGFzZVJheUNhbGxiYWNrADI0YnRCcm9hZHBoYXNlQWFiYkNhbGxiYWNrADI0YnRTb2Z0UmlnaWREeW5hbWljc1dvcmxkADI4YnRTb2Z0U29mdENvbGxpc2lvbkFsZ29yaXRobQBidFJpZ2lkQm9keUZsb2F0RGF0YQAxMWJ0UmlnaWRCb2R5ADM0YnRDbG9zZXN0Tm90TWVDb252ZXhSZXN1bHRDYWxsYmFjawBidER5bmFtaWNzV29ybGRGbG9hdERhdGEAMjNidERpc2NyZXRlRHluYW1pY3NXb3JsZAAxNWJ0RHluYW1pY3NXb3JsZAAyN0lucGxhY2VTb2x2ZXJJc2xhbmRDYWxsYmFjawBOMjVidFNpbXVsYXRpb25Jc2xhbmRNYW5hZ2VyMTRJc2xhbmRDYWxsYmFja0UAYnRHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50RGF0YQAxN2J0VHlwZWRDb25zdHJhaW50ADEzYnRUeXBlZE9iamVjdAAxN2J0Rml4ZWRDb25zdHJhaW50AGJ0R2VuZXJpYzZEb2ZDb25zdHJhaW50RGF0YQAyM2J0R2VuZXJpYzZEb2ZDb25zdHJhaW50AGJ0R2VuZXJpYzZEb2ZTcHJpbmdDb25zdHJhaW50RGF0YQAyOWJ0R2VuZXJpYzZEb2ZTcHJpbmdDb25zdHJhaW50AGJ0UG9pbnQyUG9pbnRDb25zdHJhaW50RmxvYXREYXRhADIzYnRQb2ludDJQb2ludENvbnN0cmFpbnQAYnRUeXBlZENvbnN0cmFpbnRGbG9hdERhdGEAYnRTbGlkZXJDb25zdHJhaW50RGF0YQAxOGJ0U2xpZGVyQ29uc3RyYWludABidENvbmVUd2lzdENvbnN0cmFpbnREYXRhADIxYnRDb25lVHdpc3RDb25zdHJhaW50AGJ0SGluZ2VDb25zdHJhaW50RmxvYXREYXRhADE3YnRIaW5nZUNvbnN0cmFpbnQAMzVidFNlcXVlbnRpYWxJbXB1bHNlQ29uc3RyYWludFNvbHZlcgAxOGJ0Q29uc3RyYWludFNvbHZlcgAxNmJ0UmF5Y2FzdFZlaGljbGUAMTdidEFjdGlvbkludGVyZmFjZQAyNWJ0RGVmYXVsdFZlaGljbGVSYXljYXN0ZXIANDNidEtpbmVtYXRpY0Nsb3Nlc3ROb3RNZUNvbnZleFJlc3VsdENhbGxiYWNrADMwYnRLaW5lbWF0aWNDaGFyYWN0ZXJDb250cm9sbGVyADMwYnRDaGFyYWN0ZXJDb250cm9sbGVySW50ZXJmYWNlADIyYnRTdWJzaW1wbGV4Q29udmV4Q2FzdAAxMmJ0Q29udmV4Q2FzdABidENvbGxpc2lvbk9iamVjdEZsb2F0RGF0YQAxN2J0Q29sbGlzaW9uT2JqZWN0ADEzYnRHaG9zdE9iamVjdAAyNGJ0UGFpckNhY2hpbmdHaG9zdE9iamVjdAAyM2J0Q29sbGlzaW9uUGFpckNhbGxiYWNrADE3YnRPdmVybGFwQ2FsbGJhY2sAMjFidENvbGxpc2lvbkRpc3BhdGNoZXIAMzFidERlZmF1bHRDb2xsaXNpb25Db25maWd1cmF0aW9uADI0YnRDb2xsaXNpb25Db25maWd1cmF0aW9uAE4zMWJ0Q29udmV4UGxhbmVDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4yNmJ0Qm94Qm94Q29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMzRidFNwaGVyZVRyaWFuZ2xlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMzJidFNwaGVyZVNwaGVyZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjE2YnRFbXB0eUFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFAE4zNmJ0Q29tcG91bmRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjMzYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMTdTd2FwcGVkQ3JlYXRlRnVuY0UATjMzYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQAyNWJ0U2ltdWxhdGlvbklzbGFuZE1hbmFnZXIAMzFidENvbnZleFBsYW5lQ29sbGlzaW9uQWxnb3JpdGhtAFpOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0yMWNhbGN1bGF0ZVRpbWVPZkltcGFjdEVQMTdidENvbGxpc2lvbk9iamVjdFMxX1JLMTZidERpc3BhdGNoZXJJbmZvUDE2YnRNYW5pZm9sZFJlc3VsdEUzMUxvY2FsVHJpYW5nbGVTcGhlcmVDYXN0Q2FsbGJhY2sAMjRidENvbnZleFRyaWFuZ2xlQ2FsbGJhY2sAMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0AMjZidEJveEJveENvbGxpc2lvbkFsZ29yaXRobQAxNmJ0TWFuaWZvbGRSZXN1bHQATjM2YnREaXNjcmV0ZUNvbGxpc2lvbkRldGVjdG9ySW50ZXJmYWNlNlJlc3VsdEUAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTE1TG9jYWxJbmZvQWRkZXIyAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUU5UmF5VGVzdGVyAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUUyOUJyaWRnZVRyaWFuZ2xlUmF5Y2FzdENhbGxiYWNrXzAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTI5QnJpZGdlVHJpYW5nbGVSYXljYXN0Q2FsbGJhY2sAMTlidFNpbmdsZVJheUNhbGxiYWNrADE3RGVidWdEcmF3Y2FsbGJhY2sAAU92ZXJmbG93IGluIEFBQkIsIG9iamVjdCByZW1vdmVkIGZyb20gc2ltdWxhdGlvbgBJZiB5b3UgY2FuIHJlcHJvZHVjZSB0aGlzLCBwbGVhc2UgZW1haWwgYnVnc0Bjb250aW51b3VzcGh5c2ljcy5jb20KAFBsZWFzZSBpbmNsdWRlIGFib3ZlIGluZm9ybWF0aW9uLCB5b3VyIFBsYXRmb3JtLCB2ZXJzaW9uIG9mIE9TLgoAVGhhbmtzLgoAMTZidENvbGxpc2lvbldvcmxkAFpaTjE2YnRDb2xsaXNpb25Xb3JsZDI1b2JqZWN0UXVlcnlTaW5nbGVJbnRlcm5hbEVQSzEzYnRDb252ZXhTaGFwZVJLMTFidFRyYW5zZm9ybVM1X1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMjBDb252ZXhSZXN1bHRDYWxsYmFja0VmRU4yMmJ0Q29tcG91bmRMZWFmQ2FsbGJhY2sxMlByb2Nlc3NDaGlsZEVpUzVfUEsxNmJ0Q29sbGlzaW9uU2hhcGVFMTRMb2NhbEluZm9BZGRlcgBaTjE2YnRDb2xsaXNpb25Xb3JsZDI1b2JqZWN0UXVlcnlTaW5nbGVJbnRlcm5hbEVQSzEzYnRDb252ZXhTaGFwZVJLMTFidFRyYW5zZm9ybVM1X1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMjBDb252ZXhSZXN1bHRDYWxsYmFja0VmRTIyYnRDb21wb3VuZExlYWZDYWxsYmFjawBaTjE2YnRDb2xsaXNpb25Xb3JsZDI1b2JqZWN0UXVlcnlTaW5nbGVJbnRlcm5hbEVQSzEzYnRDb252ZXhTaGFwZVJLMTFidFRyYW5zZm9ybVM1X1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMjBDb252ZXhSZXN1bHRDYWxsYmFja0VmRTMyQnJpZGdlVHJpYW5nbGVDb252ZXhjYXN0Q2FsbGJhY2tfMABaTjE2YnRDb2xsaXNpb25Xb3JsZDI1b2JqZWN0UXVlcnlTaW5nbGVJbnRlcm5hbEVQSzEzYnRDb252ZXhTaGFwZVJLMTFidFRyYW5zZm9ybVM1X1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMjBDb252ZXhSZXN1bHRDYWxsYmFja0VmRTMyQnJpZGdlVHJpYW5nbGVDb252ZXhjYXN0Q2FsbGJhY2sAMjFidFNpbmdsZVN3ZWVwQ2FsbGJhY2sAMjNidEJyaWRnZWRNYW5pZm9sZFJlc3VsdAAyM2J0U2luZ2xlQ29udGFjdENhbGxiYWNrADM0YnRTcGhlcmVUcmlhbmdsZUNvbGxpc2lvbkFsZ29yaXRobQAyNGJ0UGVydHVyYmVkQ29udGFjdFJlc3VsdABaTjIzYnRDb252ZXhDb252ZXhBbGdvcml0aG0xNnByb2Nlc3NDb2xsaXNpb25FUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclMyX1JLMTZidERpc3BhdGNoZXJJbmZvUDE2YnRNYW5pZm9sZFJlc3VsdEUyMWJ0V2l0aG91dE1hcmdpblJlc3VsdABaTjIzYnRDb252ZXhDb252ZXhBbGdvcml0aG0xNnByb2Nlc3NDb2xsaXNpb25FUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclMyX1JLMTZidERpc3BhdGNoZXJJbmZvUDE2YnRNYW5pZm9sZFJlc3VsdEUxM2J0RHVtbXlSZXN1bHQAMjNidENvbnZleENvbnZleEFsZ29yaXRobQBOMjNidENvbnZleENvbnZleEFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAMjJidENvbXBvdW5kTGVhZkNhbGxiYWNrADI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobQAzMGJ0Q29tcG91bmRDb21wb3VuZExlYWZDYWxsYmFjawAzNmJ0Q29tcG91bmRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobQBidENvbXBvdW5kU2hhcGVDaGlsZERhdGEAYnRDb21wb3VuZFNoYXBlRGF0YQBDb21wb3VuZAAxNWJ0Q29tcG91bmRTaGFwZQBidENvbmVTaGFwZURhdGEAQ29uZQAxMWJ0Q29uZVNoYXBlAENvbmVaADEyYnRDb25lU2hhcGVaAENvbmVYADEyYnRDb25lU2hhcGVYAFNQSEVSRQAxM2J0U3BoZXJlU2hhcGUAWk5LMjJidEJ2aFRyaWFuZ2xlTWVzaFNoYXBlMTlwcm9jZXNzQWxsVHJpYW5nbGVzRVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X0UyMU15Tm9kZU92ZXJsYXBDYWxsYmFjawAyMWJ0Tm9kZU92ZXJsYXBDYWxsYmFjawBidFRyaWFuZ2xlTWVzaFNoYXBlRGF0YQBCVkhUUklBTkdMRU1FU0gAMjJidEJ2aFRyaWFuZ2xlTWVzaFNoYXBlAFpOMjJidEJ2aFRyaWFuZ2xlTWVzaFNoYXBlMTRwZXJmb3JtUmF5Y2FzdEVQMThidFRyaWFuZ2xlQ2FsbGJhY2tSSzlidFZlY3RvcjNTNF9FMjFNeU5vZGVPdmVybGFwQ2FsbGJhY2sAWk4yMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUxN3BlcmZvcm1Db252ZXhjYXN0RVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X1M0X1M0X0UyMU15Tm9kZU92ZXJsYXBDYWxsYmFjawAyMVN1cHBvcnRWZXJ0ZXhDYWxsYmFjawBaTksxOWJ0VHJpYW5nbGVNZXNoU2hhcGUxOXByb2Nlc3NBbGxUcmlhbmdsZXNFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfRTE2RmlsdGVyZWRDYWxsYmFjawBUUklBTkdMRU1FU0gAMTlidFRyaWFuZ2xlTWVzaFNoYXBlAGJ0U3RhdGljUGxhbmVTaGFwZURhdGEAU1RBVElDUExBTkUAMThidFN0YXRpY1BsYW5lU2hhcGUAMjNidFBvbHloZWRyYWxDb252ZXhTaGFwZQAzNGJ0UG9seWhlZHJhbENvbnZleEFhYmJDYWNoaW5nU2hhcGUAYnRDb2xsaXNpb25TaGFwZURhdGEAMTZidENvbGxpc2lvblNoYXBlADEzYnRDb252ZXhTaGFwZQAyMWJ0Q29udmV4SW50ZXJuYWxTaGFwZQBidENvbnZleEh1bGxTaGFwZURhdGEAQ29udmV4ADE3YnRDb252ZXhIdWxsU2hhcGUAMThidFRyaWFuZ2xlQ2FsbGJhY2sAMzFidEludGVybmFsVHJpYW5nbGVJbmRleENhbGxiYWNrAGJ0Q2Fwc3VsZVNoYXBlRGF0YQBDYXBzdWxlU2hhcGUAMTRidENhcHN1bGVTaGFwZQBDYXBzdWxlWAAxNWJ0Q2Fwc3VsZVNoYXBlWABDYXBzdWxlWgAxNWJ0Q2Fwc3VsZVNoYXBlWgAyNkxvY2FsU3VwcG9ydFZlcnRleENhbGxiYWNrAENvbnZleFRyaW1lc2gAMjVidENvbnZleFRyaWFuZ2xlTWVzaFNoYXBlADE0YnRDb25jYXZlU2hhcGUAQm94ADEwYnRCb3hTaGFwZQAxNGJ0T3B0aW1pemVkQnZoAFpOMTRidE9wdGltaXplZEJ2aDVidWlsZEVQMjNidFN0cmlkaW5nTWVzaEludGVyZmFjZWJSSzlidFZlY3RvcjNTNF9FMjBOb2RlVHJpYW5nbGVDYWxsYmFjawBaTjE0YnRPcHRpbWl6ZWRCdmg1YnVpbGRFUDIzYnRTdHJpZGluZ01lc2hJbnRlcmZhY2ViUks5YnRWZWN0b3IzUzRfRTI5UXVhbnRpemVkTm9kZVRyaWFuZ2xlQ2FsbGJhY2sASEVJR0hURklFTEQAMjVidEhlaWdodGZpZWxkVGVycmFpblNoYXBlAGJ0Q3lsaW5kZXJTaGFwZURhdGEAQ3lsaW5kZXJZADE1YnRDeWxpbmRlclNoYXBlAEN5bGluZGVyWAAxNmJ0Q3lsaW5kZXJTaGFwZVgAQ3lsaW5kZXJaADE2YnRDeWxpbmRlclNoYXBlWgAxNGJ0VHJpYW5nbGVNZXNoADIwYnRBeGlzU3dlZXAzSW50ZXJuYWxJdEUAMjFidEJyb2FkcGhhc2VJbnRlcmZhY2UAMTJidEF4aXNTd2VlcDMAMTVidE51bGxQYWlyQ2FjaGUAMjJidE92ZXJsYXBwaW5nUGFpckNhY2hlAFpOMjhidEhhc2hlZE92ZXJsYXBwaW5nUGFpckNhY2hlMTljbGVhblByb3h5RnJvbVBhaXJzRVAxN2J0QnJvYWRwaGFzZVByb3h5UDEyYnREaXNwYXRjaGVyRTE3Q2xlYW5QYWlyQ2FsbGJhY2sAWk4yOGJ0SGFzaGVkT3ZlcmxhcHBpbmdQYWlyQ2FjaGUzN3JlbW92ZU92ZXJsYXBwaW5nUGFpcnNDb250YWluaW5nUHJveHlFUDE3YnRCcm9hZHBoYXNlUHJveHlQMTJidERpc3BhdGNoZXJFMThSZW1vdmVQYWlyQ2FsbGJhY2sAMjhidEhhc2hlZE92ZXJsYXBwaW5nUGFpckNhY2hlADE4YnREYnZ0VHJlZUNvbGxpZGVyADIwQnJvYWRwaGFzZUFhYmJUZXN0ZXIAMTlCcm9hZHBoYXNlUmF5VGVzdGVyADE2YnREYnZ0QnJvYWRwaGFzZQAxMmJ0RGlzcGF0Y2hlcgBidE9wdGltaXplZEJ2aE5vZGVEYXRhAGJ0UXVhbnRpemVkQnZoTm9kZURhdGEAYnRCdmhTdWJ0cmVlSW5mb0RhdGEAYnRRdWFudGl6ZWRCdmhGbG9hdERhdGEAMTRidFF1YW50aXplZEJ2aAAyNWJ0VHJpYW5nbGVSYXljYXN0Q2FsbGJhY2sAMjhidFRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrAFpOMzNidE1pbmtvd3NraVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIxMmNhbGNQZW5EZXB0aEVSMjJidFZvcm9ub2lTaW1wbGV4U29sdmVyUEsxM2J0Q29udmV4U2hhcGVTNF9SSzExYnRUcmFuc2Zvcm1TN19SOWJ0VmVjdG9yM1M5X1M5X1AxMmJ0SURlYnVnRHJhd0UyMGJ0SW50ZXJtZWRpYXRlUmVzdWx0ADMzYnRNaW5rb3dza2lQZW5ldHJhdGlvbkRlcHRoU29sdmVyADMwYnRDb252ZXhQZW5ldHJhdGlvbkRlcHRoU29sdmVyADMwYnRHamtFcGFQZW5ldHJhdGlvbkRlcHRoU29sdmVyADE2YnRQb2ludENvbGxlY3RvcgAxNWJ0R2prQ29udmV4Q2FzdAAyN2J0Q29udGludW91c0NvbnZleENvbGxpc2lvbgAxN2J0R2prUGFpckRldGVjdG9yADM2YnREaXNjcmV0ZUNvbGxpc2lvbkRldGVjdG9ySW50ZXJmYWNlADMwYnRBY3RpdmF0aW5nQ29sbGlzaW9uQWxnb3JpdGhtADE2YnRFbXB0eUFsZ29yaXRobQAzMmJ0U3BoZXJlU3BoZXJlQ29sbGlzaW9uQWxnb3JpdGhtADE2YnRCb3hCb3hEZXRlY3RvcgAyMlNwaGVyZVRyaWFuZ2xlRGV0ZWN0b3IAMjNidEhhc2hlZFNpbXBsZVBhaXJDYWNoZQAxOGJ0Q29udmV4UG9seWhlZHJvbgAyNmJ0VHJpYW5nbGVJbmRleFZlcnRleEFycmF5AGJ0SW50SW5kZXhEYXRhAGJ0U2hvcnRJbnRJbmRleFRyaXBsZXREYXRhAGJ0Q2hhckluZGV4VHJpcGxldERhdGEAYnRWZWN0b3IzRmxvYXREYXRhAGJ0VmVjdG9yM0RvdWJsZURhdGEAYnRNZXNoUGFydERhdGEAYnRTdHJpZGluZ01lc2hJbnRlcmZhY2VEYXRhADIzYnRTdHJpZGluZ01lc2hJbnRlcmZhY2UAUm9vdAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;function __ZN30btGeneric6DofSpring2Constraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E(){Module["printErr"]("missing function: _ZN30btGeneric6DofSpring2Constraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E");abort(-1)}function __ZN30btGeneric6DofSpring2Constraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(){Module["printErr"]("missing function: _ZN30btGeneric6DofSpring2Constraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E");abort(-1)}function __ZN30btGeneric6DofSpring2Constraint8setParamEifi(){Module["printErr"]("missing function: _ZN30btGeneric6DofSpring2Constraint8setParamEifi");abort(-1)}function __ZN30btGeneric6DofSpring2ConstraintC2ER11btRigidBodyS1_RK11btTransformS4_11RotateOrder(){Module["printErr"]("missing function: _ZN30btGeneric6DofSpring2ConstraintC2ER11btRigidBodyS1_RK11btTransformS4_11RotateOrder");abort(-1)}function __ZNK30btGeneric6DofSpring2Constraint8getParamEii(){Module["printErr"]("missing function: _ZNK30btGeneric6DofSpring2Constraint8getParamEii");abort(-1)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){___syscall146.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function _abort(){Module["abort"]()}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var _llvm_pow_f32=Math_pow;function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function __ZTI30btGeneric6DofSpring2Constraint(){Module["printErr"]("missing function: _ZTI30btGeneric6DofSpring2Constraint");abort(-1)}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_did(index,a1,a2){try{return Module["dynCall_did"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diidii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diidii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diii(index,a1,a2,a3){try{return Module["dynCall_diii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiidii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_diiidii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiii(index,a1,a2,a3,a4){try{return Module["dynCall_diiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_diiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{return Module["dynCall_diiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{return Module["dynCall_diiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iidid(index,a1,a2,a3,a4){try{return Module["dynCall_iidid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiid(index,a1,a2,a3){try{return Module["dynCall_iiid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{return Module["dynCall_iiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidd(index,a1,a2,a3){try{Module["dynCall_vidd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viddiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viddiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidi(index,a1,a2,a3){try{Module["dynCall_vidi"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidii(index,a1,a2,a3,a4){try{Module["dynCall_vidii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidi(index,a1,a2,a3,a4){try{Module["dynCall_viidi"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viidii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiid(index,a1,a2,a3,a4){try{Module["dynCall_viiid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiidii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiid(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddddidi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){try{Module["dynCall_viiiidddddidi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddddiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiddddiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiid(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_di":invoke_di,"invoke_did":invoke_did,"invoke_diidii":invoke_diidii,"invoke_diii":invoke_diii,"invoke_diiidii":invoke_diiidii,"invoke_diiii":invoke_diiii,"invoke_diiiii":invoke_diiiii,"invoke_diiiiiiii":invoke_diiiiiiii,"invoke_diiiiiiiii":invoke_diiiiiiiii,"invoke_diiiiiiiiii":invoke_diiiiiiiiii,"invoke_ii":invoke_ii,"invoke_iidid":invoke_iidid,"invoke_iii":invoke_iii,"invoke_iiid":invoke_iiid,"invoke_iiii":invoke_iiii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_vid":invoke_vid,"invoke_vidd":invoke_vidd,"invoke_viddiii":invoke_viddiii,"invoke_vidi":invoke_vidi,"invoke_vidii":invoke_vidii,"invoke_vii":invoke_vii,"invoke_viid":invoke_viid,"invoke_viidi":invoke_viidi,"invoke_viidii":invoke_viidii,"invoke_viii":invoke_viii,"invoke_viiid":invoke_viiid,"invoke_viiidii":invoke_viiidii,"invoke_viiii":invoke_viiii,"invoke_viiiid":invoke_viiiid,"invoke_viiiidddddidi":invoke_viiiidddddidi,"invoke_viiiiddddiid":invoke_viiiiddddiid,"invoke_viiiii":invoke_viiiii,"invoke_viiiiid":invoke_viiiiid,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"__ZN30btGeneric6DofSpring2Constraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E":__ZN30btGeneric6DofSpring2Constraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E,"__ZN30btGeneric6DofSpring2Constraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E":__ZN30btGeneric6DofSpring2Constraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E,"__ZN30btGeneric6DofSpring2Constraint8setParamEifi":__ZN30btGeneric6DofSpring2Constraint8setParamEifi,"__ZN30btGeneric6DofSpring2ConstraintC2ER11btRigidBodyS1_RK11btTransformS4_11RotateOrder":__ZN30btGeneric6DofSpring2ConstraintC2ER11btRigidBodyS1_RK11btTransformS4_11RotateOrder,"__ZNK30btGeneric6DofSpring2Constraint8getParamEii":__ZNK30btGeneric6DofSpring2Constraint8getParamEii,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"___cxa_begin_catch":___cxa_begin_catch,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___cxa_pure_virtual":___cxa_pure_virtual,"___gxx_personality_v0":___gxx_personality_v0,"___resumeException":___resumeException,"___setErrNo":___setErrNo,"___syscall140":___syscall140,"___syscall146":___syscall146,"___syscall6":___syscall6,"_abort":_abort,"_emscripten_asm_const_diiiiiiii":_emscripten_asm_const_diiiiiiii,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_gettimeofday":_gettimeofday,"_llvm_pow_f32":_llvm_pow_f32,"_llvm_trap":_llvm_trap,"_pthread_getspecific":_pthread_getspecific,"_pthread_key_create":_pthread_key_create,"_pthread_once":_pthread_once,"_pthread_setspecific":_pthread_setspecific,"flush_NO_FILESYSTEM":flush_NO_FILESYSTEM,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8,"__ZTI30btGeneric6DofSpring2Constraint":__ZTI30btGeneric6DofSpring2Constraint};// EMSCRIPTEN_START_ASM
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=env.__ZTI30btGeneric6DofSpring2Constraint|0;var p=0;var q=0;var r=0;var s=0;var t=global.NaN,u=global.Infinity;var v=0,w=0,x=0,y=0,z=0.0;var A=0;var B=global.Math.floor;var C=global.Math.abs;var D=global.Math.sqrt;var E=global.Math.pow;var F=global.Math.cos;var G=global.Math.sin;var H=global.Math.tan;var I=global.Math.acos;var J=global.Math.asin;var K=global.Math.atan;var L=global.Math.atan2;var M=global.Math.exp;var N=global.Math.log;var O=global.Math.ceil;var P=global.Math.imul;var Q=global.Math.min;var R=global.Math.max;var S=global.Math.clz32;var T=env.abort;var U=env.assert;var V=env.enlargeMemory;var W=env.getTotalMemory;var X=env.abortOnCannotGrowMemory;var Y=env.invoke_di;var Z=env.invoke_did;var _=env.invoke_diidii;var $=env.invoke_diii;var aa=env.invoke_diiidii;var ba=env.invoke_diiii;var ca=env.invoke_diiiii;var da=env.invoke_diiiiiiii;var ea=env.invoke_diiiiiiiii;var fa=env.invoke_diiiiiiiiii;var ga=env.invoke_ii;var ha=env.invoke_iidid;var ia=env.invoke_iii;var ja=env.invoke_iiid;var ka=env.invoke_iiii;var la=env.invoke_iiiii;var ma=env.invoke_iiiiii;var na=env.invoke_iiiiiii;var oa=env.invoke_iiiiiiiii;var pa=env.invoke_iiiiiiiiiii;var qa=env.invoke_v;var ra=env.invoke_vi;var sa=env.invoke_vid;var ta=env.invoke_vidd;var ua=env.invoke_viddiii;var va=env.invoke_vidi;var wa=env.invoke_vidii;var xa=env.invoke_vii;var ya=env.invoke_viid;var za=env.invoke_viidi;var Aa=env.invoke_viidii;var Ba=env.invoke_viii;var Ca=env.invoke_viiid;var Da=env.invoke_viiidii;var Ea=env.invoke_viiii;var Fa=env.invoke_viiiid;var Ga=env.invoke_viiiidddddidi;var Ha=env.invoke_viiiiddddiid;var Ia=env.invoke_viiiii;var Ja=env.invoke_viiiiid;var Ka=env.invoke_viiiiii;var La=env.invoke_viiiiiii;var Ma=env.invoke_viiiiiiiii;var Na=env.invoke_viiiiiiiiii;var Oa=env.__ZN30btGeneric6DofSpring2Constraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E;var Pa=env.__ZN30btGeneric6DofSpring2Constraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E;var Qa=env.__ZN30btGeneric6DofSpring2Constraint8setParamEifi;var Ra=env.__ZN30btGeneric6DofSpring2ConstraintC2ER11btRigidBodyS1_RK11btTransformS4_11RotateOrder;var Sa=env.__ZNK30btGeneric6DofSpring2Constraint8getParamEii;var Ta=env.__ZSt18uncaught_exceptionv;var Ua=env.___cxa_begin_catch;var Va=env.___cxa_find_matching_catch;var Wa=env.___cxa_pure_virtual;var Xa=env.___gxx_personality_v0;var Ya=env.___resumeException;var Za=env.___setErrNo;var _a=env.___syscall140;var $a=env.___syscall146;var ab=env.___syscall6;var bb=env._abort;var cb=env._emscripten_asm_const_diiiiiiii;var db=env._emscripten_memcpy_big;var eb=env._gettimeofday;var fb=env._llvm_pow_f32;var gb=env._llvm_trap;var hb=env._pthread_getspecific;var ib=env._pthread_key_create;var jb=env._pthread_once;var kb=env._pthread_setspecific;var lb=env.flush_NO_FILESYSTEM;var mb=0.0;
// EMSCRIPTEN_START_FUNCS
function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[b+16>>2]=c[a+4>>2];c[b+20>>2]=c[a+8>>2];c[b+24>>2]=c[a+12>>2];c[b+28>>2]=c[a+16>>2];c[b+32>>2]=c[a+20>>2];c[b+36>>2]=c[a+24>>2];c[b+40>>2]=c[a+28>>2];c[b+44>>2]=c[a+32>>2];c[b+48>>2]=c[a+36>>2];c[b+52>>2]=c[a+40>>2];c[b+56>>2]=c[a+44>>2];c[b+60>>2]=c[a+48>>2];c[b+64>>2]=c[a+52>>2];c[b+68>>2]=c[a+56>>2];c[b+72>>2]=c[a+60>>2];c[b+76>>2]=c[a+64>>2];c[b+80>>2]=c[a+68>>2];c[b+84>>2]=c[a+72>>2];c[b+88>>2]=c[a+76>>2];c[b+92>>2]=c[a+80>>2];c[b+96>>2]=c[a+84>>2];c[b+100>>2]=c[a+88>>2];c[b+104>>2]=c[a+92>>2];c[b+108>>2]=c[a+96>>2];c[b+112>>2]=c[a+100>>2];c[b+116>>2]=c[a+104>>2];c[b+120>>2]=c[a+108>>2];c[b+124>>2]=c[a+112>>2];c[b+128>>2]=c[a+116>>2];c[b+132>>2]=c[a+120>>2];c[b+136>>2]=c[a+124>>2];c[b+140>>2]=c[a+128>>2];c[b+144>>2]=c[a+132>>2];c[b+148>>2]=c[a+136>>2];c[b+152>>2]=c[a+140>>2];c[b+156>>2]=c[a+144>>2];c[b+160>>2]=c[a+148>>2];c[b+164>>2]=c[a+152>>2];c[b+168>>2]=c[a+156>>2];c[b+172>>2]=c[a+160>>2];c[b+176>>2]=c[a+164>>2];c[b+180>>2]=c[a+168>>2];c[b+184>>2]=c[a+172>>2];c[b+188>>2]=c[a+176>>2];c[b+232>>2]=c[a+180>>2];c[b+192>>2]=c[a+184>>2];c[b>>2]=0;c[b+4>>2]=zb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+192>>2]|0)|0;c[b+8>>2]=0;c[b+236>>2]=c[a+204>>2];c[b+240>>2]=c[a+208>>2];c[b+244>>2]=c[a+212>>2];c[b+248>>2]=c[a+220>>2];c[b+196>>2]=c[a+224>>2];c[b+200>>2]=c[a+228>>2];c[b+204>>2]=c[a+236>>2];c[b+208>>2]=c[a+244>>2];c[b+212>>2]=c[a+248>>2];c[b+216>>2]=c[a+232>>2];c[b+252>>2]=c[a+252>>2];e=zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b+12>>2]=f;if(!f){f=a+268|0;f=c[f>>2]|0;d=b+220|0;c[d>>2]=f;d=a+272|0;d=c[d>>2]|0;f=b+224|0;c[f>>2]=d;f=a+276|0;f=c[f>>2]|0;d=b+228|0;c[d>>2]=f;d=a+280|0;d=c[d>>2]|0;f=b+256|0;c[f>>2]=d;f=b+260|0;c[f>>2]=0;return 13018}Ob[c[(c[d>>2]|0)+48>>2]&127](d,e);f=a+268|0;f=c[f>>2]|0;d=b+220|0;c[d>>2]=f;d=a+272|0;d=c[d>>2]|0;f=b+224|0;c[f>>2]=d;f=a+276|0;f=c[f>>2]|0;d=b+228|0;c[d>>2]=f;d=a+280|0;d=c[d>>2]|0;f=b+256|0;c[f>>2]=d;f=b+260|0;c[f>>2]=0;return 13018}function cf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0;v=a[h+16>>0]&-16;a[h+16>>0]=v;w=+g[e>>2];x=+g[d>>2];n=+g[e+4>>2];o=+g[d+4>>2];p=+g[e+8>>2];q=+g[d+8>>2];r=+g[f>>2];s=+g[f+4>>2];t=+g[f+8>>2];l=+g[b>>2];m=+g[b+4>>2];i=+g[b+8>>2];y=(w-x)*(l-x)+(n-o)*(m-o)+(p-q)*(i-q);z=(r-x)*(l-x)+(s-o)*(m-o)+(t-q)*(i-q);do if(y<=0.0&z<=0.0){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];a[h+16>>0]=v|1;j=0.0;k=0.0;i=1.0}else{u=(w-x)*(l-w)+(n-o)*(m-n)+(p-q)*(i-p);k=(r-x)*(l-w)+(s-o)*(m-n)+(t-q)*(i-p);if(!(!(u>=0.0)|!(k<=u))){c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a[h+16>>0]=v|2;j=0.0;k=1.0;i=0.0;break}if(u<=0.0&(y>=0.0?y*k-u*z<=0.0:0)){g[h>>2]=x+(w-x)*(y/(y-u));g[h+4>>2]=o+(n-o)*(y/(y-u));g[h+8>>2]=q+(p-q)*(y/(y-u));g[h+12>>2]=0.0;a[h+16>>0]=v|3;j=0.0;k=y/(y-u);i=1.0-y/(y-u);break}j=(w-x)*(l-r)+(n-o)*(m-s)+(p-q)*(i-t);i=(r-x)*(l-r)+(s-o)*(m-s)+(t-q)*(i-t);if(!(!(i>=0.0)|!(j<=i))){c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];a[h+16>>0]=v|4;j=1.0;k=0.0;i=0.0;break}if(i<=0.0&(z>=0.0?j*z-y*i<=0.0:0)){g[h>>2]=x+(r-x)*(z/(z-i));g[h+4>>2]=o+(s-o)*(z/(z-i));g[h+8>>2]=q+(t-q)*(z/(z-i));g[h+12>>2]=0.0;a[h+16>>0]=v|5;j=z/(z-i);k=0.0;i=1.0-z/(z-i);break}if((u*i-j*k<=0.0?k-u>=0.0:0)?j-i>=0.0:0){k=(k-u)/(k-u+(j-i));g[h>>2]=w+(r-w)*k;g[h+4>>2]=n+(s-n)*k;g[h+8>>2]=p+(t-p)*k;g[h+12>>2]=0.0;a[h+16>>0]=v|6;j=k;k=1.0-k;i=0.0;break}l=1.0/(y*k-u*z+(u*i-j*k+(j*z-y*i)));m=(j*z-y*i)*l;i=(y*k-u*z)*l;g[h>>2]=(r-x)*i+((w-x)*m+x);g[h+4>>2]=(s-o)*i+((n-o)*m+o);g[h+8>>2]=(t-q)*i+((p-q)*m+q);g[h+12>>2]=0.0;a[h+16>>0]=v|7;j=i;k=m;i=1.0-m-i}while(0);g[h+20>>2]=i;g[h+24>>2]=k;g[h+28>>2]=j;g[h+32>>2]=0.0;return}function df(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0;h=c[c[b+1120>>2]>>2]|0;f=c[c[e+1120>>2]>>2]|0;c[6995]=(c[6995]|0)+1;e=sc(207)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}y=e+4|0;i=e+28|0;Yk(i|0,0,160)|0;c[e>>2]=3464;c[y>>2]=h;c[e+8>>2]=0;c[e+12>>2]=0;h=e+16|0;c[h>>2]=f;c[e+20>>2]=0;c[e+24>>2]=0;f=ui(y)|0;j=+g[f>>2];l=+g[f+16>>2];n=+g[f+32>>2];p=+g[f+4>>2];q=+g[f+20>>2];r=+g[f+36>>2];s=+g[f+8>>2];u=+g[f+24>>2];w=+g[f+40>>2];k=-+g[f+48>>2];m=-+g[f+52>>2];o=-+g[f+56>>2];t=+g[d+12>>2];v=+g[d+16>>2];x=+g[d+20>>2];g[i>>2]=j*k+l*m+n*o+(j*t+l*v+n*x);g[e+32>>2]=p*k+q*m+r*o+(p*t+q*v+r*x);g[e+36>>2]=s*k+u*m+w*o+(s*t+u*v+w*x);g[e+40>>2]=0.0;h=ui(h)|0;x=+g[h>>2];w=+g[h+16>>2];v=+g[h+32>>2];u=+g[h+4>>2];t=+g[h+20>>2];s=+g[h+36>>2];o=+g[h+8>>2];m=+g[h+24>>2];k=+g[h+40>>2];r=-+g[h+48>>2];q=-+g[h+52>>2];p=-+g[h+56>>2];n=+g[d+12>>2];l=+g[d+16>>2];j=+g[d+20>>2];g[e+44>>2]=x*r+w*q+v*p+(x*n+w*l+v*j);g[e+48>>2]=u*r+t*q+s*p+(u*n+t*l+s*j);g[e+52>>2]=o*r+m*q+k*p+(o*n+m*l+k*j);g[e+56>>2]=0.0;c[e+60>>2]=c[d+4>>2];c[e+64>>2]=c[d>>2];c[e+68>>2]=c[d+8>>2];h=e;f=c[b+912>>2]|0;if((f|0)!=(c[b+916>>2]|0)){y=f;i=b+920|0;i=c[i>>2]|0;i=i+(y<<2)|0;c[i>>2]=h;y=y+1|0;c[b+912>>2]=y;return}i=f|0?f<<1:1;if((f|0)>=(i|0)){y=f;i=b+920|0;i=c[i>>2]|0;i=i+(y<<2)|0;c[i>>2]=h;y=y+1|0;c[b+912>>2]=y;return}if(!i)e=0;else{c[6995]=(c[6995]|0)+1;e=sc((i<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+912>>2]|0}if((f|0)>0){d=0;do{c[e+(d<<2)>>2]=c[(c[b+920>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(f|0))}d=c[b+920>>2]|0;if(d){if(a[b+924>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);f=c[b+912>>2]|0}c[b+920>>2]=0}a[b+924>>0]=1;c[b+920>>2]=e;c[b+916>>2]=i;y=f;i=b+920|0;i=c[i>>2]|0;i=i+(y<<2)|0;c[i>>2]=h;y=y+1|0;c[b+912>>2]=y;return}function ef(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;var i=0;i=l;l=l+144|0;c[b>>2]=5320;c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+28>>2]=0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=-1;c[b+220>>2]=1;g[b+224>>2]=0.0;g[b+228>>2]=.5;g[b+232>>2]=0.0;g[b+236>>2]=0.0;g[b+240>>2]=0.0;g[b+244>>2]=.10000000149011612;g[b+248>>2]=1.0e4;c[b+252>>2]=1;c[b+256>>2]=0;c[b+260>>2]=-1;c[b+264>>2]=-1;g[b+268>>2]=1.0;g[b+272>>2]=0.0;g[b+276>>2]=0.0;c[b+280>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;c[b+304>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b+68>>2]=1065353216;c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+88>>2]=1065353216;c[b+92>>2]=0;c[b+92+4>>2]=0;c[b+92+8>>2]=0;c[b+92+12>>2]=0;c[b+108>>2]=1065353216;c[b+112>>2]=0;c[b+112+4>>2]=0;c[b+112+8>>2]=0;c[b+112+12>>2]=0;c[b+112+16>>2]=0;c[b>>2]=4324;a[b+560>>0]=1;c[b+556>>2]=0;c[b+548>>2]=0;c[b+552>>2]=0;g[i>>2]=d;c[i+4>>2]=e;c[i+72>>2]=f;c[i+76>>2]=c[h>>2];c[i+76+4>>2]=c[h+4>>2];c[i+76+8>>2]=c[h+8>>2];c[i+76+12>>2]=c[h+12>>2];g[i+92>>2]=0.0;g[i+96>>2]=0.0;g[i+100>>2]=.5;g[i+104>>2]=0.0;g[i+108>>2]=0.0;g[i+112>>2]=0.0;g[i+116>>2]=.800000011920929;g[i+120>>2]=1.0;a[i+124>>0]=0;g[i+128>>2]=.004999999888241291;g[i+132>>2]=.009999999776482582;g[i+136>>2]=.009999999776482582;g[i+140>>2]=.009999999776482582;c[i+8>>2]=1065353216;c[i+12>>2]=0;c[i+12+4>>2]=0;c[i+12+8>>2]=0;c[i+12+12>>2]=0;c[i+28>>2]=1065353216;c[i+32>>2]=0;c[i+32+4>>2]=0;c[i+32+8>>2]=0;c[i+32+12>>2]=0;c[i+48>>2]=1065353216;c[i+52>>2]=0;c[i+52+4>>2]=0;c[i+52+8>>2]=0;c[i+52+12>>2]=0;c[i+52+16>>2]=0;Id(b,i);l=i;return}function ff(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[b+548>>2]|0;a:do if((e|0)>0){g=c[b+556>>2]|0;f=0;while(1){if((c[g+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(e|0))break a}if((f|0)!=(e|0))return}while(0);if((e|0)==(c[b+552>>2]|0)?(h=e|0?e<<1:1,(e|0)<(h|0)):0){if(!h)g=0;else{c[6995]=(c[6995]|0)+1;e=sc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+548>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+556>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+556>>2]|0;if(f){if(a[b+560>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0);e=c[b+548>>2]|0}c[b+556>>2]=0}a[b+560>>0]=1;c[b+556>>2]=g;c[b+552>>2]=h}c[(c[b+556>>2]|0)+(e<<2)>>2]=d;c[b+548>>2]=e+1;g=c[d+28>>2]|0;h=c[d+32>>2]|0;if((g|0)==(b|0)){e=c[b+288>>2]|0;if((e|0)==(c[b+292>>2]|0)?(j=e|0?e<<1:1,(e|0)<(j|0)):0){if(!j)g=0;else{c[6995]=(c[6995]|0)+1;e=sc((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+288>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+296>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+296>>2]|0;if(f){if(a[b+300>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0);e=c[b+288>>2]|0}c[b+296>>2]=0}a[b+300>>0]=1;c[b+296>>2]=g;c[b+292>>2]=j}c[(c[b+296>>2]|0)+(e<<2)>>2]=h;e=e+1|0;c[b+288>>2]=e}else{b=c[h+288>>2]|0;if((b|0)==(c[h+292>>2]|0)?(i=b|0?b<<1:1,(b|0)<(i|0)):0){if(!i)f=0;else{c[6995]=(c[6995]|0)+1;b=sc((i<<2|3)+16|0)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}f=b;b=c[h+288>>2]|0}if((b|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[h+296>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(b|0))}e=c[h+296>>2]|0;if(e){if(a[h+300>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);b=c[h+288>>2]|0}c[h+296>>2]=0}a[h+300>>0]=1;c[h+296>>2]=f;c[h+292>>2]=i}c[(c[h+296>>2]|0)+(b<<2)>>2]=g;e=b+1|0;c[h+288>>2]=e;b=h}c[b+280>>2]=(e|0)>0&1;return}function gf(a,b,f){a=a|0;b=b|0;f=f|0;var i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+32|0;c[a+60>>2]=(c[a+60>>2]|0)+1;n=c[a+4>>2]|0;cc[c[(c[n>>2]|0)+16>>2]&3](n,t+28|0,t+24|0,t+20|0,t+16|0,t+12|0,t+8|0,t+4|0,t,b);n=(c[t+12>>2]|0)+(P(c[t+8>>2]|0,f)|0)|0;r=c[a+4>>2]|0;o=c[t>>2]|0;switch(o|0){case 3:{i=e[n+4>>1]|0;break}case 2:{i=c[n+8>>2]|0;break}default:i=d[n+2>>0]|0}s=(c[t+20>>2]|0)==0;p=c[t+16>>2]|0;q=c[t+28>>2]|0;i=q+(P(p,i)|0)|0;if(s){k=+g[i+4>>2]*+g[r+8>>2];m=+g[i>>2]*+g[r+4>>2];j=+g[i+8>>2]}else{k=+h[i+8>>3]*+g[r+8>>2];m=+h[i>>3]*+g[r+4>>2];j=+h[i+16>>3]}j=j*+g[r+12>>2];g[a+44>>2]=m;g[a+48>>2]=k;g[a+52>>2]=j;g[a+56>>2]=0.0;switch(o|0){case 3:{i=e[n+2>>1]|0;break}case 2:{i=c[n+4>>2]|0;break}default:i=d[n+1>>0]|0}i=q+(P(p,i)|0)|0;if(s){k=+g[i+4>>2]*+g[r+8>>2];m=+g[i>>2]*+g[r+4>>2];j=+g[i+8>>2]}else{k=+h[i+8>>3]*+g[r+8>>2];m=+h[i>>3]*+g[r+4>>2];j=+h[i+16>>3]}j=j*+g[r+12>>2];g[a+28>>2]=m;g[a+32>>2]=k;g[a+36>>2]=j;g[a+40>>2]=0.0;switch(o|0){case 3:{i=e[n>>1]|0;break}case 2:{i=c[n>>2]|0;break}default:i=d[n>>0]|0}i=q+(P(p,i)|0)|0;if(s){k=+g[i+4>>2]*+g[r+8>>2];j=+g[i>>2]*+g[r+4>>2];u=+g[i+8>>2];m=+g[r+12>>2];m=u*m;r=a+12|0;g[r>>2]=j;r=a+16|0;g[r>>2]=k;r=a+20|0;g[r>>2]=m;r=a+24|0;g[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;s=a+12|0;Vb[q&127](r,s,b,f);s=c[a+4>>2]|0;r=c[s>>2]|0;r=r+24|0;r=c[r>>2]|0;Ob[r&127](s,b);l=t;return}else{m=+h[i+8>>3]*+g[r+8>>2];k=+h[i>>3]*+g[r+4>>2];j=+h[i+16>>3];u=+g[r+12>>2];u=j*u;r=a+12|0;g[r>>2]=k;r=a+16|0;g[r>>2]=m;r=a+20|0;g[r>>2]=u;r=a+24|0;g[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;s=a+12|0;Vb[q&127](r,s,b,f);s=c[a+4>>2]|0;r=c[s>>2]|0;r=r+24|0;r=c[r>>2]|0;Ob[r&127](s,b);l=t;return}}function hf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(!(qD(b,c[d+8>>2]|0)|0)){if(!(qD(b,c[d>>2]|0)|0)){i=c[b+12>>2]|0;uo(b+16|0,d,e,f,g);if((i|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(c[d+36>>2]|0)!=1:0){if(!(h&1)){h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1)break a;uo(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}else h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0)break a;uo(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}else h=b+24|0;while(1){if(a[d+54>>0]|0)break a;uo(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;j=b+16+(c[b+12>>2]<<3)|0;h=0;i=b+16|0;k=0;b:while(1){if(i>>>0>=j>>>0){f=18;break}a[d+52>>0]=0;a[d+53>>0]=0;ao(i,d,e,e,1,g);if(a[d+54>>0]|0){f=18;break}do if(a[d+53>>0]|0){if(!(a[d+52>>0]|0))if(!(c[b+8>>2]&1)){h=1;f=18;break b}else{h=1;f=k;break}if((c[d+24>>2]|0)==1){f=23;break b}if(!(c[b+8>>2]&2)){f=23;break b}else{h=1;f=1}}else f=k;while(0);i=i+8|0;k=f}do if((f|0)==18){if((!k?(c[d+20>>2]=e,c[d+40>>2]=(c[d+40>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h){f=23;break}else{h=4;break}}if(h)f=23;else h=4}while(0);if((f|0)==23)h=3;c[d+44>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else qs(d,e,f);while(0);return}function jf(b,d,e){b=b|0;d=+d;e=+e;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0;s=l;l=l+80|0;f=c[b+8>>2]|0;if(!f){f=c[b+4>>2]|0;if(!f){k=0.0;o=0.0;m=0.0;d=0.0;j=0.0;n=0.0}else{r=+g[f+336>>2];j=+g[b+164>>2];t=+g[f+340>>2];p=+g[b+160>>2];n=+g[b+156>>2];q=+g[f+332>>2];k=+g[f+316>>2];o=+g[f+320>>2];m=+g[f+324>>2];d=r*j-t*p;j=t*n-j*q;n=p*q-r*n}}else{t=+g[f+392>>2];j=+g[b+164>>2];p=+g[f+396>>2];q=+g[b+160>>2];n=+g[b+156>>2];r=+g[f+388>>2];k=+g[f+372>>2];o=+g[f+376>>2];m=+g[f+380>>2];d=t*j-p*q;j=p*n-j*r;n=q*r-t*n}r=k+d;q=o+j;p=m+n;f=c[b+20>>2]|0;if(!f){f=c[b+16>>2]|0;if(!f){n=0.0;o=0.0;d=0.0;j=0.0;k=0.0;m=0.0}else{t=+g[f+336>>2];k=+g[b+180>>2];w=+g[f+340>>2];v=+g[b+176>>2];m=+g[b+172>>2];u=+g[f+332>>2];n=+g[f+316>>2];o=+g[f+320>>2];d=+g[f+324>>2];j=t*k-w*v;k=w*m-k*u;m=v*u-t*m}}else{w=+g[f+392>>2];k=+g[b+180>>2];t=+g[f+396>>2];u=+g[b+176>>2];m=+g[b+172>>2];v=+g[f+388>>2];n=+g[f+372>>2];o=+g[f+376>>2];d=+g[f+380>>2];j=w*k-t*u;k=t*m-k*v;m=u*v-w*m}c[s+36+16>>2]=0;c[s+36+16+4>>2]=0;c[s+36+16+8>>2]=0;c[s+36+16+12>>2]=0;a[s+36+32>>0]=1;u=+g[b+60>>2];r=+g[b+72>>2]+(r-(n+j))*u;t=(q-(o+k))*u+ +g[b+76>>2];u=(p-(d+m))*u+ +g[b+80>>2];v=(r*+g[b+120>>2]+t*+g[b+124>>2]+u*+g[b+128>>2])*e;w=(r*+g[b+136>>2]+t*+g[b+140>>2]+u*+g[b+144>>2])*e;g[s+36>>2]=(r*+g[b+104>>2]+t*+g[b+108>>2]+u*+g[b+112>>2])*e;g[s+36+4>>2]=v;g[s+36+8>>2]=w;g[s+36+12>>2]=0.0;f=s;h=s+36|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));w=-+g[s+4>>2];v=-+g[s+8>>2];g[s>>2]=-+g[s>>2];g[s+4>>2]=w;g[s+8>>2]=v;g[s+12>>2]=0.0;v=-+g[s+20>>2];w=-+g[s+24>>2];g[s+16>>2]=-+g[s+16>>2];g[s+20>>2]=v;g[s+24>>2]=w;g[s+28>>2]=0.0;Nh(b+4|0,s,b+156|0);Nh(b+16|0,s+36|0,b+172|0);l=s;return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0;d=c[a+780>>2]|0;if((d|0)!=4){c[a+780>>2]=d+1;x=d;w=(x|0)>0;x=w?x:0;a=a+4+(x*192|0)|0;gi(a|0,b|0,192)|0;return x|0}y=+g[b+80>>2];v=+g[a+84>>2];u=v<y?v:y;t=+g[a+276>>2];s=t<u?t:u;r=+g[a+468>>2];w=+g[a+660>>2]<(r<s?r:s);d=w?3:r<s?2:t<u?1:(v<y^1)<<31>>31;y=+g[b>>2];if(d){e=+g[a+196>>2];k=+g[b+4>>2];l=+g[a+200>>2];h=+g[b+8>>2];f=+g[a+204>>2];m=+g[a+580>>2];u=+g[a+388>>2];q=+g[a+584>>2];p=+g[a+392>>2];s=+g[a+588>>2];n=+g[a+396>>2];i=((y-e)*(q-p)-(k-l)*(m-u))*((y-e)*(q-p)-(k-l)*(m-u))+(((k-l)*(s-n)-(h-f)*(q-p))*((k-l)*(s-n)-(h-f)*(q-p))+((h-f)*(m-u)-(y-e)*(s-n))*((h-f)*(m-u)-(y-e)*(s-n)));if((d|0)==1){j=+g[a+8>>2];t=h;o=+g[a+12>>2];r=m;v=e;h=0.0;m=+g[a+4>>2];x=7}else{t=h;r=m;x=6}}else{e=+g[a+196>>2];l=+g[a+200>>2];f=+g[a+204>>2];i=0.0;k=+g[b+4>>2];t=+g[b+8>>2];r=+g[a+580>>2];u=+g[a+388>>2];q=+g[a+584>>2];p=+g[a+392>>2];s=+g[a+588>>2];n=+g[a+396>>2];x=6}if((x|0)==6){m=+g[a+4>>2];j=+g[a+8>>2];B=k-j;o=+g[a+12>>2];z=t-o;v=r-u;A=q-p;h=s-n;h=((y-m)*A-B*v)*((y-m)*A-B*v)+((B*h-z*A)*(B*h-z*A)+(z*v-(y-m)*h)*(z*v-(y-m)*h));if((d|0)==2){r=u;q=e;e=0.0;x=8}else{v=e;x=7}}if((x|0)==7){B=y-m;D=k-j;z=t-o;A=r-v;r=q-l;e=s-f;e=(B*r-D*A)*(B*r-D*A)+((D*e-z*r)*(D*e-z*r)+(z*A-B*e)*(z*A-B*e));if(w)f=0.0;else{r=u;q=v;x=8}}if((x|0)==8){D=y-m;y=k-j;A=t-o;B=r-q;z=p-l;f=n-f;f=(D*z-y*B)*(D*z-y*B)+((y*f-A*z)*(y*f-A*z)+(A*B-D*f)*(A*B-D*f))}D=+C(+i);A=+C(+h);y=+C(+e);v=+C(+f);B=D>-999999984306749440.0?D:-999999984306749440.0;z=A>B?A:B;x=v>(y>z?y:z)?3:y>z?2:A>B?1:(D>-999999984306749440.0^1)<<31>>31;w=(x|0)>0;x=w?x:0;a=a+4+(x*192|0)|0;gi(a|0,b|0,192)|0;return x|0}function lf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;q=c[b+18504>>2]|0;if(!q){c[b>>2]=5;q=0;return q|0}i=c[q+48>>2]|0;if(i|0)c[i+44>>2]=c[q+44>>2];i=c[q+44>>2]|0;if(i|0)c[i+48>>2]=c[q+48>>2];if((c[b+18504>>2]|0)==(q|0))c[b+18504>>2]=c[q+48>>2];c[b+18508>>2]=(c[b+18508>>2]|0)+-1;c[q+44>>2]=0;c[q+48>>2]=c[b+18496>>2];i=c[b+18496>>2]|0;if(i|0)c[i+44>>2]=q;c[b+18496>>2]=q;c[b+18500>>2]=(c[b+18500>>2]|0)+1;a[q+55>>0]=0;c[q+20>>2]=d;c[q+24>>2]=e;c[q+28>>2]=f;m=+g[d+16>>2];j=+g[e+16>>2]-m;n=+g[d+20>>2];k=+g[e+20>>2]-n;o=+g[d+24>>2];l=+g[e+24>>2]-o;m=+g[f+16>>2]-m;n=+g[f+20>>2]-n;o=+g[f+24>>2]-o;g[q>>2]=k*o-l*n;g[q+4>>2]=l*m-j*o;g[q+8>>2]=j*n-k*m;g[q+12>>2]=0.0;p=+D(+((k*o-l*n)*(k*o-l*n)+(l*m-j*o)*(l*m-j*o)+(j*n-k*m)*(j*n-k*m)));if(p>9.999999747378752e-05){if((!(Zk(k*o-l*n,l*m-j*o,j*n-k*m,+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],q+16|0)|0)?!(Zk(+g[q>>2],+g[q+4>>2],+g[q+8>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],q+16|0)|0):0)?!(Zk(+g[q>>2],+g[q+4>>2],+g[q+8>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],q+16|0)|0):0)g[q+16>>2]=(+g[d+16>>2]*+g[q>>2]+ +g[d+20>>2]*+g[q+4>>2]+ +g[d+24>>2]*+g[q+8>>2])/p;g[q>>2]=1.0/p*+g[q>>2];g[q+4>>2]=1.0/p*+g[q+4>>2];g[q+8>>2]=1.0/p*+g[q+8>>2];if(h)return q|0;if(!(+g[q+16>>2]>=-9.999999747378752e-06))i=3;else return q|0}else i=2;c[b>>2]=i;i=c[q+48>>2]|0;if(i|0)c[i+44>>2]=c[q+44>>2];i=c[q+44>>2]|0;if(i|0)c[i+48>>2]=c[q+48>>2];if((c[b+18496>>2]|0)==(q|0))c[b+18496>>2]=c[q+48>>2];c[b+18500>>2]=(c[b+18500>>2]|0)+-1;c[q+44>>2]=0;c[q+48>>2]=c[b+18504>>2];i=c[b+18504>>2]|0;if(i|0)c[i+44>>2]=q;c[b+18504>>2]=q;c[b+18508>>2]=(c[b+18508>>2]|0)+1;q=0;return q|0}function mf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;h=c[d+8>>2]|0;if((h|0)>0){i=c[d+16>>2]|0;f=0;e=0;do{j=c[i+(f<<2)>>2]|0;if(!(c[j+204>>2]&3)){c[j+208>>2]=e;e=e+1|0}c[j+212>>2]=-1;g[j+268>>2]=1.0;f=f+1|0}while((f|0)!=(h|0));j=e}else j=0;i=c[b+8>>2]|0;if((i|0)<(j|0)){if((c[b+12>>2]|0)<(j|0)){if(!j){e=0;h=i}else{c[6995]=(c[6995]|0)+1;e=sc((j<<3|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+8>>2]|0}if((h|0)>0){f=0;do{m=(c[b+16>>2]|0)+(f<<3)|0;k=c[m+4>>2]|0;l=e+(f<<3)|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;f=f+1|0}while((f|0)!=(h|0))}f=c[b+16>>2]|0;if(f|0){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=e;c[b+12>>2]=j;f=b+16|0}else f=b+16|0;e=i;do{m=(c[f>>2]|0)+(e<<3)|0;c[m>>2]=0;c[m+4>>2]=0;e=e+1|0}while((e|0)!=(j|0))}c[b+8>>2]=j;if((j|0)>0){f=c[b+16>>2]|0;e=0;do{c[f+(e<<3)>>2]=e;c[f+(e<<3)+4>>2]=1;e=e+1|0}while((e|0)!=(j|0))}e=c[d+68>>2]|0;e=xb[c[(c[e>>2]|0)+36>>2]&127](e)|0;l=xb[c[(c[e>>2]|0)+36>>2]&127](e)|0;if(!l)return;k=xb[c[(c[e>>2]|0)+20>>2]&127](e)|0;if((l|0)<=0)return;d=0;do{e=c[c[k+(d<<4)>>2]>>2]|0;f=c[c[k+(d<<4)+4>>2]>>2]|0;if((e|0?(f|0?(c[e+204>>2]&7|0)==0:0):0)?(c[f+204>>2]&7|0)==0:0){i=c[e+208>>2]|0;e=c[f+208>>2]|0;j=c[b+16>>2]|0;f=c[j+(i<<3)>>2]|0;if((f|0)!=(i|0)){h=j+(i<<3)|0;do{i=j+(f<<3)|0;c[h>>2]=c[i>>2];i=c[i>>2]|0;h=j+(i<<3)|0;f=c[h>>2]|0}while((i|0)!=(f|0))}f=c[j+(e<<3)>>2]|0;if((f|0)!=(e|0)){h=j+(e<<3)|0;do{e=j+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=j+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}if((i|0)!=(e|0)){c[j+(i<<3)>>2]=e;m=j+(e<<3)+4|0;c[m>>2]=(c[m>>2]|0)+(c[j+(i<<3)+4>>2]|0)}}d=d+1|0}while((d|0)!=(l|0));return}function nf(b){b=b|0;var d=0,e=0;c[b>>2]=5536;if(a[b+20>>0]|0){d=c[b+16>>2]|0;e=c[d+16>>2]|0;if(e){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);d=c[b+16>>2]|0}if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}}if(a[b+12>>0]|0){d=c[b+8>>2]|0;e=c[d+16>>2]|0;if(e){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);d=c[b+8>>2]|0}if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}}d=c[b+28>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+28>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+32>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+32>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+36>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+36>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+40>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+40>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+44>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+44>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+48>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+48>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+52>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+56>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+56>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+72>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+72>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+76>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+76>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+68>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+68>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+84>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+84>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+80>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+80>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+24>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+24>>2]|0;if(!d)return;c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);return}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;u=+g[b>>2];t=+g[b+4>>2];s=+g[b+8>>2];r=1.0/+D(+(u*u+t*t+s*s));y=+g[d>>2];x=+g[d+4>>2];w=+g[d+8>>2];v=1.0/+D(+(y*y+x*x+w*w));B=s*r*x*v-t*r*w*v;A=u*r*w*v-s*r*y*v;z=t*r*y*v-u*r*x*v;d=c[a+28>>2]|0;e=+g[d+4>>2];h=+g[d+20>>2];j=+g[d+36>>2];f=+g[d+8>>2];i=+g[d+24>>2];k=+g[d+40>>2];l=+g[d+12>>2];n=+g[d+28>>2];p=+g[d+44>>2];m=-+g[d+52>>2];o=-+g[d+56>>2];q=-+g[d+60>>2];g[a+48>>2]=z*j+(e*B+h*A);g[a+52>>2]=e*y*v+x*v*h+w*v*j;g[a+56>>2]=u*r*e+t*r*h+s*r*j;g[a+60>>2]=0.0;g[a+64>>2]=B*f+A*i+z*k;g[a+68>>2]=y*v*f+x*v*i+w*v*k;g[a+72>>2]=u*r*f+t*r*i+s*r*k;g[a+76>>2]=0.0;g[a+80>>2]=B*l+A*n+z*p;g[a+84>>2]=y*v*l+x*v*n+w*v*p;g[a+88>>2]=u*r*l+t*r*n+s*r*p;g[a+92>>2]=0.0;g[a+96>>2]=e*0.0+h*0.0+j*0.0+(e*m+h*o+j*q);g[a+100>>2]=f*0.0+i*0.0+k*0.0+(f*m+i*o+k*q);g[a+104>>2]=l*0.0+n*0.0+p*0.0+(l*m+n*o+p*q);g[a+108>>2]=0.0;d=c[a+32>>2]|0;q=+g[d+4>>2];p=+g[d+20>>2];o=+g[d+36>>2];n=+g[d+8>>2];m=+g[d+24>>2];l=+g[d+40>>2];k=+g[d+12>>2];i=+g[d+28>>2];f=+g[d+44>>2];j=-+g[d+52>>2];h=-+g[d+56>>2];e=-+g[d+60>>2];g[a+112>>2]=B*q+A*p+z*o;g[a+116>>2]=y*v*q+x*v*p+w*v*o;g[a+120>>2]=u*r*q+t*r*p+s*r*o;g[a+124>>2]=0.0;g[a+128>>2]=B*n+A*m+z*l;g[a+132>>2]=y*v*n+x*v*m+w*v*l;g[a+136>>2]=u*r*n+t*r*m+s*r*l;g[a+140>>2]=0.0;g[a+144>>2]=B*k+A*i+z*f;g[a+148>>2]=y*v*k+x*v*i+w*v*f;g[a+152>>2]=u*r*k+t*r*i+s*r*f;g[a+156>>2]=0.0;g[a+160>>2]=q*0.0+p*0.0+o*0.0+(q*j+p*h+o*e);g[a+164>>2]=n*0.0+m*0.0+l*0.0+(n*j+m*h+l*e);g[a+168>>2]=k*0.0+i*0.0+f*0.0+(k*j+i*h+f*e);g[a+172>>2]=0.0;jd(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0);return}function pf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[6158]=(c[6158]|0)+1;f=c[b+24>>2]|0;if(!f){if(!(c[e+8>>2]&c[d+4>>2])){b=0;return b|0}if(!(c[d+8>>2]&c[e+4>>2])){b=0;return b|0}}else if(!(Bb[c[(c[f>>2]|0)+8>>2]&63](f,d,e)|0)){b=0;return b|0}k=(c[d+12>>2]|0)>(c[e+12>>2]|0);l=k?e:d;g=c[l+12>>2]|0;k=k?d:e;d=c[k+12>>2]|0;i=(((d<<16|g)+~((d<<16|g)<<15)|0)>>>10^(d<<16|g)+~((d<<16|g)<<15))*9|0;i=((i>>>6^i)+~((i>>>6^i)<<11)|0)>>>16^(i>>>6^i)+~((i>>>6^i)<<11);j=c[b+12>>2]|0;f=c[(c[b+40>>2]|0)+((i&j+-1)<<2)>>2]|0;a:do if((f|0)!=-1){e=c[b+16>>2]|0;while(1){if((c[(c[e+(f<<4)>>2]|0)+12>>2]|0)==(g|0)?(c[(c[e+(f<<4)+4>>2]|0)+12>>2]|0)==(d|0):0)break;f=c[(c[b+60>>2]|0)+(f<<2)>>2]|0;if((f|0)==-1)break a}f=e+(f<<4)|0;if(f|0){b=f;return b|0}}while(0);h=c[b+8>>2]|0;if((h|0)==(j|0)){g=j|0?j<<1:1;if((j|0)<(g|0)){if(!g){f=0;d=j}else{c[6995]=(c[6995]|0)+1;f=sc((g<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}d=c[b+8>>2]|0}if((d|0)>0){e=0;do{m=c[b+16>>2]|0;c[f+(e<<4)>>2]=c[m+(e<<4)>>2];c[f+(e<<4)+4>>2]=c[m+(e<<4)+4>>2];c[f+(e<<4)+8>>2]=c[m+(e<<4)+8>>2];c[f+(e<<4)+12>>2]=c[m+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+16>>2]|0;if(e){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);d=c[b+8>>2]|0}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=g;f=g}else{d=j;f=j}}else{d=h;f=j}c[b+8>>2]=d+1;e=c[b+16>>2]|0;d=c[b+68>>2]|0;if(d){Bb[c[(c[d>>2]|0)+8>>2]&63](d,l,k)|0;f=c[b+12>>2]|0}if((j|0)<(f|0)){Kf(b);f=(c[b+12>>2]|0)+-1&i}else f=i&j+-1;m=(c[l+12>>2]|0)<(c[k+12>>2]|0);c[e+(h<<4)>>2]=m?l:k;c[e+(h<<4)+4>>2]=m?k:l;c[e+(h<<4)+8>>2]=0;c[e+(h<<4)+8+4>>2]=0;m=(c[b+40>>2]|0)+(f<<2)|0;c[(c[b+60>>2]|0)+(h<<2)>>2]=c[m>>2];c[m>>2]=h;m=e+(h<<4)|0;return m|0}function qf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=c[a+108>>2]|0;if(g|0)Sb[c[(c[g>>2]|0)+12>>2]&127](g,c[d+60>>2]|0,f);o=c[d+12>>2]|0;p=c[a+60>>2]|0;n=c[a+92>>2]|0;if(!(xb[c[(c[n>>2]|0)+56>>2]&127](n)|0)){n=c[a+92>>2]|0;Sb[c[(c[n>>2]|0)+16>>2]&127](n,p+((o&65535)<<6)|0,f)}m=e[a+56>>1]|0;l=c[a+60>>2]|0;b[l+54>>1]=(e[l+54>>1]|0)+65534;b[l+56>>1]=(e[l+56>>1]|0)+65534;b[l+58>>1]=(e[l+58>>1]|0)+65534;l=0;d=b[a+6>>1]|0;do{k=a+68+(l<<2)|0;n=c[k>>2]|0;g=e[p+((o&65535)<<6)+54+(l<<1)>>1]|0;b[n+(g<<2)>>1]=d;f=b[n+(g<<2)+6>>1]|0;if(!(f<<16>>16))f=n;else{j=(c[a+60>>2]|0)+((e[n+(g<<2)+2>>1]|0)<<6)+54+(l<<1)|0;i=n+(g<<2)|0;while(1){h=i;i=i+4|0;g=b[i>>1]|0;if((d&65535)<(g&65535))break;q=c[a+60>>2]|0;d=f&65535;d=(g&1)==0?q+(d<<6)+48+(l<<1)|0:q+(d<<6)+54+(l<<1)|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;d=e[h>>1]|e[h+2>>1]<<16;g=e[i>>1]|e[i+2>>1]<<16;b[h>>1]=g;b[h+2>>1]=g>>>16;b[i>>1]=d;b[i+2>>1]=d>>>16;f=b[h+10>>1]|0;if(!(f<<16>>16))break;else d=d&65535}d=b[a+6>>1]|0;f=c[k>>2]|0}g=e[p+((o&65535)<<6)+48+(l<<1)>>1]|0;b[n+(g<<2)>>1]=d;i=f+(g<<2)|0;h=b[i+6>>1]|0;if(h<<16>>16){k=(c[a+60>>2]|0)+((e[f+(g<<2)+2>>1]|0)<<6)+48+(l<<1)|0;j=i;f=b[i>>1]|0;while(1){g=j;j=j+4|0;d=b[j>>1]|0;if((f&65535)<(d&65535))break;i=c[a+60>>2]|0;q=h&65535;d=(d&1)==0?i+(q<<6)+48+(l<<1)|0:i+(q<<6)+54+(l<<1)|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;d=e[g>>1]|e[g+2>>1]<<16;q=e[j>>1]|e[j+2>>1]<<16;b[g>>1]=q;b[g+2>>1]=q>>>16;b[j>>1]=d;b[j+2>>1]=d>>>16;h=b[g+10>>1]|0;if(!(h<<16>>16))break;else f=d&65535}d=b[a+6>>1]|0}b[n+((m<<1)+-1<<2)+2>>1]=0;b[n+((m<<1)+-1<<2)>>1]=d;l=l+1|0}while((l|0)!=3);b[(c[a+60>>2]|0)+((o&65535)<<6)+48>>1]=b[a+64>>1]|0;b[a+64>>1]=o;b[a+56>>1]=(b[a+56>>1]|0)+-1<<16>>16;return}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0;w=l;l=l+32|0;q=c[a+12>>2]|0;r=+g[q+(((e+d|0)/2|0)*24|0)>>2];t=+g[q+(((e+d|0)/2|0)*24|0)+4>>2];u=+g[q+(((e+d|0)/2|0)*24|0)+8>>2];v=+g[q+(((e+d|0)/2|0)*24|0)+16>>2];s=c[q+(((e+d|0)/2|0)*24|0)+20>>2]|0;f=e;h=d;while(1){m=+g[b>>2];n=+g[b+4>>2];o=+g[b+8>>2];p=(r-m)*(r-m)+(t-n)*(t-n)+(u-o)*(u-o);a:while(1){i=+g[q+(h*24|0)+16>>2];do if(i!=v){if(!(i<v))break a}else{i=+g[q+(h*24|0)>>2]-m;j=+g[q+(h*24|0)+4>>2]-n;k=+g[q+(h*24|0)+8>>2]-o;if(i*i+j*j+k*k!=p)if(i*i+j*j+k*k<p)break;else break a;else if((c[q+(h*24|0)+20>>2]|0)<(s|0))break;else break a}while(0);h=h+1|0}b:while(1){i=+g[q+(f*24|0)+16>>2];do if(v!=i){if(!(v<i))break b}else{i=+g[q+(f*24|0)>>2]-m;j=+g[q+(f*24|0)+4>>2]-n;k=+g[q+(f*24|0)+8>>2]-o;if(p!=i*i+j*j+k*k)if(p<i*i+j*j+k*k)break;else break b;else if((s|0)<(c[q+(f*24|0)+20>>2]|0))break;else break b}while(0);f=f+-1|0}if((h|0)<=(f|0)){x=q+(h*24|0)|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];q=q+(f*24|0)|0;c[x>>2]=c[q>>2];c[x+4>>2]=c[q+4>>2];c[x+8>>2]=c[q+8>>2];c[x+12>>2]=c[q+12>>2];c[x+16>>2]=c[q+16>>2];c[x+20>>2]=c[q+20>>2];q=(c[a+12>>2]|0)+(f*24|0)|0;c[q>>2]=c[w>>2];c[q+4>>2]=c[w+4>>2];c[q+8>>2]=c[w+8>>2];c[q+12>>2]=c[w+12>>2];c[q+16>>2]=c[w+16>>2];c[q+20>>2]=c[w+20>>2];f=f+-1|0;h=h+1|0}if((h|0)>(f|0))break;q=c[a+12>>2]|0}if((f|0)>(d|0))rf(a,b,d,f);if((h|0)>=(e|0)){l=w;return}rf(a,b,h,e);l=w;return}function sf(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=c[a+28>>2]|0;k=c[a+32>>2]|0;e=c[b+8>>2]|0;g[e>>2]=1.0;h=c[b+24>>2]|0;g[e+(h+1<<2)>>2]=1.0;g[e+((h<<1)+2<<2)>>2]=1.0;l=+g[a+300>>2];q=+g[a+304>>2];f=+g[a+308>>2];o=+g[j+4>>2]*l+ +g[j+8>>2]*q+ +g[j+12>>2]*f;m=l*+g[j+20>>2]+q*+g[j+24>>2]+f*+g[j+28>>2];f=l*+g[j+36>>2]+q*+g[j+40>>2]+f*+g[j+44>>2];e=c[b+12>>2]|0;c[e>>2]=0;g[e+4>>2]=f;g[e+8>>2]=-m;g[e+12>>2]=0.0;g[e+(h<<2)>>2]=-f;c[e+(h<<2)+4>>2]=0;g[e+(h<<2)+8>>2]=o;g[e+(h<<2)+12>>2]=0.0;g[e+(h<<1<<2)>>2]=m;g[e+(h<<1<<2)+4>>2]=-o;c[e+(h<<1<<2)+8>>2]=0;g[e+(h<<1<<2)+12>>2]=0.0;e=c[b+16>>2]|0;g[e>>2]=-1.0;g[e+(h+1<<2)>>2]=-1.0;g[e+((h<<1)+2<<2)>>2]=-1.0;q=+g[a+316>>2];l=+g[a+320>>2];d=+g[a+324>>2];p=+g[k+4>>2]*q+ +g[k+8>>2]*l+ +g[k+12>>2]*d;n=q*+g[k+20>>2]+l*+g[k+24>>2]+d*+g[k+28>>2];d=q*+g[k+36>>2]+l*+g[k+40>>2]+d*+g[k+44>>2];h=c[b+20>>2]|0;e=c[b+24>>2]|0;c[h>>2]=0;g[h+4>>2]=-d;g[h+8>>2]=n;g[h+12>>2]=0.0;g[h+(e<<2)>>2]=d;c[h+(e<<2)+4>>2]=0;g[h+(e<<2)+8>>2]=-p;g[h+(e<<2)+12>>2]=0.0;g[h+(e<<1<<2)>>2]=-n;g[h+(e<<1<<2)+4>>2]=p;c[h+(e<<1<<2)+8>>2]=0;g[h+(e<<1<<2)+12>>2]=0.0;h=c[a+332>>2]|0;l=+g[(h&1|0?a+336|0:b+4|0)>>2]*+g[b>>2];i=c[b+28>>2]|0;g[i>>2]=l*(p+ +g[k+52>>2]-o-+g[j+52>>2]);g[i+(e<<2)>>2]=l*(n+ +g[k+56>>2]-m-+g[j+56>>2]);g[i+(e<<1<<2)>>2]=l*(d+ +g[k+60>>2]-f-+g[j+60>>2]);if(h&2|0){k=c[b+32>>2]|0;c[k>>2]=c[a+340>>2];c[k+(e<<2)>>2]=c[a+340>>2];c[k+(e<<1<<2)>>2]=c[a+340>>2]}f=+g[a+356>>2];if(f>0.0){g[c[b+36>>2]>>2]=-f;g[c[b+40>>2]>>2]=f;d=+g[a+356>>2]}else d=f;if(d>0.0){g[(c[b+36>>2]|0)+(e<<2)>>2]=-f;g[(c[b+40>>2]|0)+(e<<2)>>2]=f;d=+g[a+356>>2]}if(!(d>0.0)){j=a+352|0;j=c[j>>2]|0;k=b+48|0;c[k>>2]=j;return}g[(c[b+36>>2]|0)+(e<<1<<2)>>2]=-f;g[(c[b+40>>2]|0)+(e<<1<<2)>>2]=f;j=a+352|0;j=c[j>>2]|0;k=b+48|0;c[k>>2]=j;return}function tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;a[q+16>>0]=1;c[q+12>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;e=c[b+8>>2]|0;if((e|0)>0){o=0;i=0;h=0;g=0;f=0;while(1){m=c[b+16>>2]|0;n=m+(o<<4)|0;if((g|0)==(f|0)){j=f|0?f<<1:1;if((f|0)<(j|0)){if(j){c[6995]=(c[6995]|0)+1;e=sc((j<<4|3)+16|0)|0;if(!e){i=0;f=g}else{c[(e+4+15&-16)+-4>>2]=e;i=e+4+15&-16;f=g}}else i=0;if((f|0)>0){e=0;do{k=c[q+12>>2]|0;c[i+(e<<4)>>2]=c[k+(e<<4)>>2];c[i+(e<<4)+4>>2]=c[k+(e<<4)+4>>2];c[i+(e<<4)+8>>2]=c[k+(e<<4)+8>>2];c[i+(e<<4)+12>>2]=c[k+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[q+12>>2]|0;if(!e)g=f;else{c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);c[q+12>>2]=0}c[q+12>>2]=i;k=j;h=j;j=g;f=i;e=c[b+8>>2]|0}else{k=f;j=f;f=i}}else{k=f;j=g;f=i}c[f+(j<<4)>>2]=c[n>>2];c[f+(j<<4)+4>>2]=c[m+(o<<4)+4>>2];c[f+(j<<4)+8>>2]=c[m+(o<<4)+8>>2];c[f+(j<<4)+12>>2]=c[m+(o<<4)+12>>2];g=j+1|0;o=o+1|0;if((o|0)>=(e|0))break;else{i=f;f=k}}c[q+4>>2]=g;a[q+16>>0]=1;c[q+8>>2]=h;if((j|0)>-1){f=c[q+12>>2]|0;e=0;while(1){Cb[c[(c[b>>2]|0)+12>>2]&31](b,c[f+(e<<4)>>2]|0,c[f+(e<<4)+4>>2]|0,d)|0;if((e|0)<(j|0))e=e+1|0;else break}}}else g=0;if((c[b+52>>2]|0)>0){f=c[b+60>>2]|0;e=0;do{c[f+(e<<2)>>2]=-1;e=e+1|0}while((e|0)<(c[b+52>>2]|0))}if((g|0)<=1)if((g|0)<=0){e=c[q+12>>2]|0;if(!e){l=q;return}}else p=23;else{te(q,0,g+-1|0);p=23}if((p|0)==23){e=c[q+12>>2]|0;f=0;do{Bb[c[(c[b>>2]|0)+8>>2]&63](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0)|0;f=f+1|0}while((f|0)<(g|0))}c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);c[q+12>>2]=0;l=q;return}function uf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;B=(a[b+68>>0]|0)!=0;C=B?e:d;B=B?d:e;z=c[b+52>>2]|0;if((z|0)<=0){x=1.0;return +x}A=(c[C+192>>2]|0)+28|0;j=+g[C+4>>2];u=+g[C+8>>2];v=+g[C+12>>2];w=c[C+16>>2]|0;x=+g[C+20>>2];k=+g[C+24>>2];l=+g[C+28>>2];e=c[C+32>>2]|0;m=+g[C+36>>2];n=+g[C+40>>2];o=+g[C+44>>2];p=c[C+48>>2]|0;q=+g[C+52>>2];r=+g[C+56>>2];s=+g[C+60>>2];t=c[C+64>>2]|0;i=1.0;d=0;y=c[C+304>>2]|0;do{E=c[A>>2]|0;P=+g[E+(d*80|0)>>2];O=+g[E+(d*80|0)+16>>2];N=+g[E+(d*80|0)+32>>2];M=+g[E+(d*80|0)+4>>2];L=+g[E+(d*80|0)+20>>2];K=+g[E+(d*80|0)+36>>2];J=+g[E+(d*80|0)+8>>2];I=+g[E+(d*80|0)+24>>2];H=+g[E+(d*80|0)+40>>2];G=+g[E+(d*80|0)+48>>2];F=+g[E+(d*80|0)+52>>2];D=+g[E+(d*80|0)+56>>2];c[C+304>>2]=y+1;g[C+4>>2]=j*P+u*O+v*N;g[C+8>>2]=j*M+u*L+v*K;g[C+12>>2]=j*J+u*I+v*H;g[C+16>>2]=0.0;g[C+20>>2]=x*P+k*O+l*N;g[C+24>>2]=x*M+k*L+l*K;g[C+28>>2]=x*J+k*I+l*H;g[C+32>>2]=0.0;g[C+36>>2]=m*P+n*O+o*N;g[C+40>>2]=m*M+n*L+o*K;g[C+44>>2]=m*J+n*I+o*H;g[C+48>>2]=0.0;g[C+52>>2]=q+(j*G+u*F+v*D);g[C+56>>2]=r+(x*G+k*F+l*D);g[C+60>>2]=s+(m*G+n*F+o*D);g[C+64>>2]=0.0;E=c[(c[b+60>>2]|0)+(d<<2)>>2]|0;D=+tb[c[(c[E>>2]|0)+12>>2]&15](E,C,B,f,h);i=D<i?D:i;y=(c[C+304>>2]|0)+1|0;c[C+304>>2]=y;g[C+4>>2]=j;g[C+8>>2]=u;g[C+12>>2]=v;c[C+16>>2]=w;g[C+20>>2]=x;g[C+24>>2]=k;g[C+28>>2]=l;c[C+32>>2]=e;g[C+36>>2]=m;g[C+40>>2]=n;g[C+44>>2]=o;c[C+48>>2]=p;g[C+52>>2]=q;g[C+56>>2]=r;g[C+60>>2]=s;c[C+64>>2]=t;d=d+1|0}while((d|0)!=(z|0));return +i}function vf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=lt()|0;c[i+4>>2]=7;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.05000000074505806;c[i+44>>2]=0;c[i>>2]=4884;a[i+48>>0]=0;c[i+52>>2]=c[e>>2];c[i+52+4>>2]=c[e+4>>2];c[i+52+8>>2]=c[e+8>>2];c[i+52+12>>2]=c[e+12>>2];c[i+68>>2]=c[e+16>>2];c[i+68+4>>2]=c[e+16+4>>2];c[i+68+8>>2]=c[e+16+8>>2];c[i+68+12>>2]=c[e+16+12>>2];c[i+84>>2]=c[e+32>>2];c[i+84+4>>2]=c[e+32+4>>2];c[i+84+8>>2]=c[e+32+8>>2];c[i+84+12>>2]=c[e+32+12>>2];c[i+100>>2]=c[e+48>>2];c[i+100+4>>2]=c[e+48+4>>2];c[i+100+8>>2]=c[e+48+8>>2];c[i+100+12>>2]=c[e+48+12>>2];c[i+116>>2]=c[f>>2];c[i+116+4>>2]=c[f+4>>2];c[i+116+8>>2]=c[f+8>>2];c[i+116+12>>2]=c[f+12>>2];c[i+132>>2]=c[f+16>>2];c[i+132+4>>2]=c[f+16+4>>2];c[i+132+8>>2]=c[f+16+8>>2];c[i+132+12>>2]=c[f+16+12>>2];c[i+148>>2]=c[f+32>>2];c[i+148+4>>2]=c[f+32+4>>2];c[i+148+8>>2]=c[f+32+8>>2];c[i+148+12>>2]=c[f+32+12>>2];c[i+164>>2]=c[f+48>>2];c[i+164+4>>2]=c[f+48+4>>2];c[i+164+8>>2]=c[f+48+8>>2];c[i+164+12>>2]=c[f+48+12>>2];a[i+180>>0]=h&1;g[i+184>>2]=1.0;g[i+188>>2]=-1.0;g[i+192>>2]=0.0;g[i+196>>2]=0.0;g[i+200>>2]=1.0;g[i+204>>2]=.699999988079071;g[i+208>>2]=0.0;g[i+212>>2]=0.0;g[i+216>>2]=1.0;g[i+220>>2]=.699999988079071;g[i+224>>2]=0.0;g[i+228>>2]=0.0;g[i+264>>2]=1.0;g[i+268>>2]=.699999988079071;g[i+272>>2]=1.0;g[i+276>>2]=0.0;g[i+280>>2]=1.0;g[i+284>>2]=.699999988079071;g[i+288>>2]=1.0;g[i+292>>2]=0.0;g[i+232>>2]=1.0;g[i+236>>2]=.699999988079071;g[i+240>>2]=1.0;g[i+244>>2]=0.0;g[i+248>>2]=1.0;g[i+252>>2]=.699999988079071;g[i+256>>2]=1.0;g[i+260>>2]=0.0;a[i+1096>>0]=0;g[i+1116>>2]=0.0;g[i+1120>>2]=0.0;g[i+1124>>2]=0.0;c[i+300>>2]=0;c[i+1100>>2]=0;c[i+1100+4>>2]=0;c[i+1100+8>>2]=0;a[i+1100+12>>0]=0;a[i+49>>0]=1;Zc(i,(c[i+28>>2]|0)+4|0,(c[i+32>>2]|0)+4|0);return i|0}function wf(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;j=l;l=l+64|0;Tg(c[b+108>>2]|0,d,0);e=+g[d+204>>2]+ +g[d+212>>2];h=e*+g[d+56>>2]+ +g[d+40>>2];i=e*+g[d+60>>2]+ +g[d+44>>2];g[d+16>>2]=+g[d+52>>2]*e+ +g[d+36>>2];g[d+20>>2]=h;g[d+24>>2]=i;g[d+28>>2]=0.0;g[j+32>>2]=-1.0;k=c[b+92>>2]|0;k=Cb[c[(c[k>>2]|0)+8>>2]&31](k,d+36|0,d+16|0,j)|0;c[d+88>>2]=0;if(!k){c[d+32>>2]=c[d+204>>2];g[d+272>>2]=0.0;h=-+g[d+56>>2];i=-+g[d+60>>2];g[d>>2]=-+g[d+52>>2];g[d+4>>2]=h;g[d+8>>2]=i;g[d+12>>2]=0.0;i=-1.0;h=1.0;k=d+268|0;g[k>>2]=h;l=j;return +i}f=e*+g[j+32>>2];c[d>>2]=c[j+16>>2];c[d+4>>2]=c[j+16+4>>2];c[d+8>>2]=c[j+16+8>>2];c[d+12>>2]=c[j+16+12>>2];a[d+84>>0]=1;if((a[22488]|0)==0?Uz(22488)|0:0){c[j+40>>2]=0;c[j+40+4>>2]=0;c[j+40+8>>2]=0;c[j+40+12>>2]=0;ef(23848,0.0,0,0,j+40|0)}c[6013]=c[6013]|1;g[6063]=0.0;e=+g[6073]*0.0;h=+g[6074]*0.0;g[6068]=+g[6072]*0.0;g[6069]=e;g[6070]=h;g[6071]=0.0;c[6076]=0;c[6077]=0;c[6078]=0;c[6079]=0;h=+g[6065]*0.0;e=+g[6066]*0.0;g[6117]=+g[6064]*0.0;g[6118]=h;g[6119]=e;g[6120]=0.0;c[d+88>>2]=23848;e=f-+g[d+212>>2];g[d+32>>2]=e;h=+g[d+204>>2];i=+g[d+208>>2]*.009999999776482582;if(e<h-i){g[d+32>>2]=h-i;e=h-i}if(e>h+i)g[d+32>>2]=h+i;c[d+16>>2]=c[j>>2];c[d+16+4>>2]=c[j+4>>2];c[d+16+8>>2]=c[j+8>>2];c[d+16+12>>2]=c[j+12>>2];s=+g[d>>2];r=+g[d+4>>2];o=+g[d+8>>2];h=s*+g[d+52>>2]+r*+g[d+56>>2]+o*+g[d+60>>2];k=c[b+108>>2]|0;e=+g[d+16>>2]-+g[k+52>>2];n=+g[d+20>>2]-+g[k+56>>2];p=+g[d+24>>2]-+g[k+60>>2];i=+g[k+392>>2];q=+g[k+396>>2];m=+g[k+388>>2];g[d+272>>2]=!(h>=-.10000000149011612)?-1.0/h*(s*(i*p-n*q+ +g[k+372>>2])+r*(+g[k+376>>2]+(e*q-p*m))+o*(n*m-e*i+ +g[k+380>>2])):0.0;i=f;h=!(h>=-.10000000149011612)?-1.0/h:10.0;k=d+268|0;g[k>>2]=h;l=j;return +i}function xf(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0;o=l;l=l+64|0;e=c[d+192>>2]|0;Vb[c[(c[e>>2]|0)+8>>2]&127](e,d+4|0,o+48|0,o+32|0);h=+g[o+48>>2]+-.019999999552965164;g[o+48>>2]=h;i=+g[o+48+4>>2]+-.019999999552965164;g[o+48+4>>2]=i;j=+g[o+48+8>>2]+-.019999999552965164;g[o+48+8>>2]=j;f=+g[o+32>>2]+.019999999552965164;g[o+32>>2]=f;k=+g[o+32+4>>2]+.019999999552965164;g[o+32+4>>2]=k;m=+g[o+32+8>>2]+.019999999552965164;g[o+32+8>>2]=m;if(((a[b+44>>0]|0)!=0?(c[d+252>>2]|0)==2:0)?(c[d+204>>2]&3|0)==0:0){e=c[d+192>>2]|0;Vb[c[(c[e>>2]|0)+8>>2]&127](e,d+68|0,o+16|0,o);h=+g[o+16>>2]+-.019999999552965164;g[o+16>>2]=h;j=+g[o+16+4>>2]+-.019999999552965164;g[o+16+4>>2]=j;k=+g[o+16+8>>2]+-.019999999552965164;g[o+16+8>>2]=k;f=+g[o>>2]+.019999999552965164;g[o>>2]=f;m=+g[o+4>>2]+.019999999552965164;g[o+4>>2]=m;n=+g[o+8>>2]+.019999999552965164;g[o+8>>2]=n;i=+g[o+48>>2];if(h<i)g[o+48>>2]=h;else h=i;i=+g[o+48+4>>2];if(j<i){g[o+48+4>>2]=j;i=j}j=+g[o+48+8>>2];if(k<j){g[o+48+8>>2]=k;j=k}k=+g[o+16+12>>2];if(k<+g[o+48+12>>2])g[o+48+12>>2]=k;k=+g[o+32>>2];if(k<f)g[o+32>>2]=f;else f=k;k=+g[o+32+4>>2];if(k<m){g[o+32+4>>2]=m;k=m}m=+g[o+32+8>>2];if(m<n){g[o+32+8>>2]=n;m=n}n=+g[o+12>>2];if(+g[o+32+12>>2]<n)g[o+32+12>>2]=n}e=c[b+68>>2]|0;if((c[d+204>>2]&1|0)==0?(h=f-h,k=k-i,n=m-j,!(h*h+k*k+n*n<999999995904.0)):0){if((c[d+220>>2]&-2|0)!=4)c[d+220>>2]=5;if(!(a[14696]|0)){l=o;return}e=c[b+72>>2]|0;if(!e){l=o;return}a[14696]=0;Ob[c[(c[e>>2]|0)+44>>2]&127](e,14697);d=c[b+72>>2]|0;Ob[c[(c[d>>2]|0)+44>>2]&127](d,14746);d=c[b+72>>2]|0;Ob[c[(c[d>>2]|0)+44>>2]&127](d,14814);b=c[b+72>>2]|0;Ob[c[(c[b>>2]|0)+44>>2]&127](b,14879);l=o;return}Zb[c[(c[e>>2]|0)+16>>2]&31](e,c[d+188>>2]|0,o+48|0,o+32|0,c[b+24>>2]|0);l=o;return}function yf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;b=l;l=l+608|0;p=+g[d+116>>2]-+g[d+52>>2];o=+g[d+120>>2]-+g[d+56>>2];n=+g[d+124>>2]-+g[d+60>>2];i=+g[e+116>>2]-+g[e+52>>2];j=+g[e+120>>2]-+g[e+56>>2];k=+g[e+124>>2]-+g[e+60>>2];m=+g[d+276>>2];if(p*p+o*o+n*n<m*m?(p=+g[e+276>>2],i*i+j*j+k*k<p*p):0){p=1.0;l=b;return +p}h=c[d+192>>2]|0;f=c[e+272>>2]|0;c[b+552+8>>2]=0;c[b+552+12>>2]=-1;q=b+552+28|0;c[b+552>>2]=7020;c[b+552+4>>2]=8;c[b+552+16>>2]=1065353216;c[b+552+20>>2]=1065353216;c[b+552+24>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[b+552+32>>2]=f;c[b+552+48>>2]=f;g[b+552+52>>2]=0.0;c[b+376>>2]=3896;g[b+376+164>>2]=999999984306749440.0;c[b+376+168>>2]=0;g[b+376+172>>2]=0.0;g[b+16+308>>2]=9.999999747378752e-05;a[b+16+332>>0]=0;c[b>>2]=9484;c[b+4>>2]=b+16;c[b+8>>2]=h;c[b+12>>2]=b+552;if(Ad(b,d+4|0,d+68|0,e+4|0,e+68|0,b+376|0)|0){i=+g[b+376+164>>2];if(+g[d+268>>2]>i)g[d+268>>2]=i;if(+g[e+268>>2]>i)g[e+268>>2]=i;if(!(i<1.0))i=1.0}else i=1.0;q=c[e+192>>2]|0;h=c[d+272>>2]|0;c[b+552+8>>2]=0;c[b+552+12>>2]=-1;f=b+552+28|0;c[b+552>>2]=7020;c[b+552+4>>2]=8;c[b+552+16>>2]=1065353216;c[b+552+20>>2]=1065353216;c[b+552+24>>2]=1065353216;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[b+552+32>>2]=h;c[b+552+48>>2]=h;g[b+552+52>>2]=0.0;c[b+376>>2]=3896;g[b+376+164>>2]=999999984306749440.0;c[b+376+168>>2]=0;g[b+376+172>>2]=0.0;g[b+16+308>>2]=9.999999747378752e-05;a[b+16+332>>0]=0;c[b>>2]=9484;c[b+4>>2]=b+16;c[b+8>>2]=b+552;c[b+12>>2]=q;if(Ad(b,d+4|0,d+68|0,e+4|0,e+68|0,b+376|0)|0){j=+g[b+376+164>>2];if(+g[d+268>>2]>j)g[d+268>>2]=j;if(+g[e+268>>2]>j)g[e+268>>2]=j;if(i>j)i=j}p=i;l=b;return +p}function zf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=Us(480)|0;Vd(i,b,d,e);c[i>>2]=4080;a[i+360>>0]=1;c[i+356>>2]=0;c[i+348>>2]=0;c[i+352>>2]=0;g[i+372>>2]=1.2000000476837158;g[i+376>>2]=0.0;g[i+380>>2]=0.0;g[i+384>>2]=1.0e3;c[i+388>>2]=0;c[i+388+4>>2]=0;c[i+388+8>>2]=0;c[i+388+12>>2]=0;c[i+388+16>>2]=0;c[i+388+20>>2]=0;c[i+388+24>>2]=0;c[i+416>>2]=-1054867456;c[i+420>>2]=0;g[i+424>>2]=0.0;a[i+444>>0]=1;c[i+440>>2]=0;c[i+432>>2]=0;c[i+436>>2]=0;c[i+472>>2]=h;a[i+476>>0]=0;if(!h){c[6995]=(c[6995]|0)+1;f=sc(59)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g[f+12>>2]=1.0;c[f+8>>2]=0;c[f+4>>2]=5;c[f>>2]=3172;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+16>>0]=1;c[i+472>>2]=f;a[i+476>>0]=1}c[i+364>>2]=4302;a[i+368>>0]=1;a[i+369>>0]=0;a[i+370>>0]=0;c[i+404>>2]=d;c[i+408>>2]=b;Bi(i+428|0);h=c[i+432>>2]|0;if((h|0)>0)e=0;else{d=i+448|0;g[d>>2]=.25;d=i+452|0;c[d>>2]=0;d=i+456|0;c[d>>2]=0;d=i+464|0;c[d>>2]=1;d=i+468|0;c[d>>2]=1;g[i+372>>2]=1.2000000476837158;g[i+376>>2]=0.0;g[i+380>>2]=0.0;d=i+412|0;c[d>>2]=0;c[i+388>>2]=0;c[i+388+4>>2]=0;c[i+388+8>>2]=0;c[i+388+12>>2]=0;c[i+416>>2]=-1054867456;c[i+420>>2]=0;g[i+424>>2]=0.0;Bi(i+428|0);return i|0}do{d=(c[i+440>>2]|0)+(e<<2)|0;f=c[d>>2]|0;c[d>>2]=0;if(f|0)do{d=f;f=c[f+280>>2]|0;cJ(d)}while((f|0)!=0);e=e+1|0}while((e|0)!=(h|0));d=i+448|0;g[d>>2]=.25;d=i+452|0;c[d>>2]=0;d=i+456|0;c[d>>2]=0;d=i+464|0;c[d>>2]=1;d=i+468|0;c[d>>2]=1;g[i+372>>2]=1.2000000476837158;g[i+376>>2]=0.0;g[i+380>>2]=0.0;d=i+412|0;c[d>>2]=0;c[i+388>>2]=0;c[i+388+4>>2]=0;c[i+388+8>>2]=0;c[i+388+12>>2]=0;c[i+416>>2]=-1054867456;c[i+420>>2]=0;g[i+424>>2]=0.0;Bi(i+428|0);return i|0}function Af(a,b,d,e,f,h,i){a=a|0;b=+b;d=+d;e=+e;f=f|0;h=+h;i=i|0;var j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0;s=l;l=l+16|0;j=d*h+ +g[a+52>>2];d=e*h+ +g[a+56>>2];g[i+48>>2]=b*h+ +g[a+48>>2];g[i+52>>2]=j;g[i+56>>2]=d;g[i+60>>2]=0.0;d=+g[f>>2];j=+g[f+4>>2];k=+g[f+8>>2];if(d*d+j*j+k*k>1.1920928955078125e-07)b=+D(+(d*d+j*j+k*k));else b=0.0;e=b*h>.7853981852531433?.7853981852531433/h:b;if(e<1.0000000474974513e-03)b=h*.5-e*h*h*h*.02083333395421505*e;else b=+G(+(e*.5*h))/e;r=b*d;q=b*j;p=b*k;d=+F(+(e*h*.5));yh(a,s);e=+g[s>>2];j=+g[s+12>>2];k=+g[s+8>>2];h=+g[s+4>>2];b=(d*j-r*e-q*h-p*k)*(d*j-r*e-q*h-p*k)+((p*j+d*k+r*h-q*e)*(p*j+d*k+r*h-q*e)+((d*e+r*j+q*k-p*h)*(d*e+r*j+q*k-p*h)+(p*e+(q*j+d*h)-r*k)*(p*e+(q*j+d*h)-r*k)));if(b>1.1920928955078125e-07){b=1.0/+D(+b);m=(d*e+r*j+q*k-p*h)*b;n=(p*j+d*k+r*h-q*e)*b;o=(d*j-r*e-q*h-p*k)*b;b=(p*e+(q*j+d*h)-r*k)*b}else{m=d*e+r*j+q*k-p*h;n=p*j+d*k+r*h-q*e;o=d*j-r*e-q*h-p*k;b=p*e+(q*j+d*h)-r*k}d=o*o+(n*n+(b*b+m*m));if(d>1.1920928955078125e-07){q=m*(2.0/d);r=b*(2.0/d);e=n*(2.0/d);p=o*q;h=o*r;k=o*e;q=m*q;j=m*r;m=m*e;r=b*r;o=b*e;n=n*e;g[i>>2]=1.0-(r+n);g[i+4>>2]=j-k;g[i+8>>2]=m+h;g[i+12>>2]=0.0;g[i+16>>2]=j+k;g[i+20>>2]=1.0-(q+n);g[i+24>>2]=o-p;g[i+28>>2]=0.0;g[i+32>>2]=m-h;g[i+36>>2]=o+p;g[i+40>>2]=1.0-(q+r);g[i+44>>2]=0.0;l=s;return}else{c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];c[i+16+4>>2]=c[a+16+4>>2];c[i+16+8>>2]=c[a+16+8>>2];c[i+16+12>>2]=c[a+16+12>>2];c[i+32>>2]=c[a+32>>2];c[i+32+4>>2]=c[a+32+4>>2];c[i+32+8>>2]=c[a+32+8>>2];c[i+32+12>>2]=c[a+32+12>>2];l=s;return}}function Bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0;x=l;l=l+256|0;if(!a){l=x;return}p=+g[b>>2];q=+g[b+4>>2];r=+g[b+8>>2];s=+g[b+16>>2];t=+g[b+20>>2];o=+g[b+24>>2];c[x>>2]=a;a=64;n=1;e=x;b=0;while(1){m=n+-1|0;j=c[e+(m<<2)>>2]|0;do if(((((+g[j>>2]<=s?+g[j+16>>2]>=p:0)?+g[j+4>>2]<=t:0)?+g[j+20>>2]>=q:0)?+g[j+8>>2]<=o:0)?+g[j+24>>2]>=r:0){if(!(c[j+40>>2]|0)){Ob[c[(c[d>>2]|0)+12>>2]&127](d,j);f=m;break}i=c[j+36>>2]|0;do if((m|0)==(a|0)?(u=a|0?a<<1:1,(n|0)<=(u|0)):0){if((u|0)!=0?(c[6995]=(c[6995]|0)+1,v=sc((u<<2|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;h=v+4+15&-16}else h=0;if((n|0)>1){f=0;do{c[h+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(a|0));if(!(b<<24>>24)){a=u;k=1;break}}else if((e|0)==0|b<<24>>24==0){a=u;k=1;break}c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);a=u;k=1}else{h=e;k=b}while(0);c[h+(m<<2)>>2]=i;f=c[j+40>>2]|0;do if((n|0)==(a|0)){a=n|0?n<<1:1;if((n|0)<(a|0)){if((a|0)!=0?(c[6995]=(c[6995]|0)+1,w=sc((a<<2|3)+16|0)|0,(w|0)!=0):0){c[(w+4+15&-16)+-4>>2]=w;e=w+4+15&-16}else e=0;if((n|0)>0){b=0;do{c[e+(b<<2)>>2]=c[h+(b<<2)>>2];b=b+1|0}while((b|0)!=(n|0));if(!(k<<24>>24)){b=1;break}}else if((h|0)==0|k<<24>>24==0){b=1;break}c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);b=1}else{a=n;e=h;b=k}}else{e=h;b=k}while(0);c[e+(n<<2)>>2]=f;f=n+1|0}else f=m;while(0);if((f|0)>0)n=f;else break}if((e|0)==0|b<<24>>24==0){l=x;return}c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);l=x;return}function Cf(a,b,e){a=a|0;b=b|0;e=e|0;fi(a,b,e)|0;c[b+52>>2]=c[a+48>>2];c[b+56>>2]=c[a+52>>2];c[b+60>>2]=c[a+56>>2];c[b+64>>2]=c[a+60>>2];c[b+68>>2]=c[a+64>>2];c[b+72>>2]=c[a+68>>2];c[b+76>>2]=c[a+72>>2];c[b+80>>2]=c[a+76>>2];c[b+84>>2]=c[a+80>>2];c[b+88>>2]=c[a+84>>2];c[b+92>>2]=c[a+88>>2];c[b+96>>2]=c[a+92>>2];c[b+100>>2]=c[a+96>>2];c[b+104>>2]=c[a+100>>2];c[b+108>>2]=c[a+104>>2];c[b+112>>2]=c[a+108>>2];c[b+116>>2]=c[a+112>>2];c[b+120>>2]=c[a+116>>2];c[b+124>>2]=c[a+120>>2];c[b+128>>2]=c[a+124>>2];c[b+132>>2]=c[a+128>>2];c[b+136>>2]=c[a+132>>2];c[b+140>>2]=c[a+136>>2];c[b+144>>2]=c[a+140>>2];c[b+148>>2]=c[a+144>>2];c[b+152>>2]=c[a+148>>2];c[b+156>>2]=c[a+152>>2];c[b+160>>2]=c[a+156>>2];c[b+164>>2]=c[a+160>>2];c[b+168>>2]=c[a+164>>2];c[b+172>>2]=c[a+168>>2];c[b+176>>2]=c[a+172>>2];c[b+228>>2]=c[a+868>>2];c[b+212>>2]=c[a+872>>2];c[b+196>>2]=c[a+680>>2];c[b+180>>2]=c[a+696>>2];c[b+232>>2]=c[a+932>>2];c[b+216>>2]=c[a+936>>2];c[b+200>>2]=c[a+684>>2];c[b+184>>2]=c[a+700>>2];c[b+236>>2]=c[a+996>>2];c[b+220>>2]=c[a+1e3>>2];c[b+204>>2]=c[a+688>>2];c[b+188>>2]=c[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];c[b+276>>2]=c[a+1316>>2];c[b+324>>2]=c[a+1364>>2];c[b+252>>2]=d[a+1309>>0];c[b+300>>2]=c[a+1340>>2];c[b+280>>2]=c[a+1320>>2];c[b+328>>2]=c[a+1368>>2];c[b+256>>2]=d[a+1310>>0];c[b+304>>2]=c[a+1344>>2];c[b+284>>2]=c[a+1324>>2];c[b+332>>2]=c[a+1372>>2];c[b+260>>2]=d[a+1311>>0];c[b+308>>2]=c[a+1348>>2];c[b+288>>2]=c[a+1328>>2];c[b+336>>2]=c[a+1376>>2];c[b+264>>2]=d[a+1312>>0];c[b+312>>2]=c[a+1352>>2];c[b+292>>2]=c[a+1332>>2];c[b+340>>2]=c[a+1380>>2];c[b+268>>2]=d[a+1313>>0];c[b+316>>2]=c[a+1356>>2];c[b+296>>2]=c[a+1336>>2];c[b+344>>2]=c[a+1384>>2];c[b+272>>2]=d[a+1314>>0];c[b+320>>2]=c[a+1360>>2];return 12447}function Df(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[b+220>>2]|0;Sb[c[(c[k>>2]|0)+8>>2]&127](k,b,c[b+24>>2]|0);k=c[b+324>>2]|0;if((k|0)>0){j=c[b+332>>2]|0;i=0;do{e=c[j+(i<<2)>>2]|0;d=c[e+772>>2]|0;e=c[e+776>>2]|0;if((d|0?(e|0?(c[d+204>>2]&3|0)==0:0):0)?(c[e+204>>2]&3|0)==0:0){g=c[d+208>>2]|0;d=c[e+208>>2]|0;h=c[(c[b+220>>2]|0)+16>>2]|0;e=c[h+(g<<3)>>2]|0;if((e|0)!=(g|0)){f=h+(g<<3)|0;do{g=h+(e<<3)|0;c[f>>2]=c[g>>2];g=c[g>>2]|0;f=h+(g<<3)|0;e=c[f>>2]|0}while((g|0)!=(e|0))}e=c[h+(d<<3)>>2]|0;if((e|0)!=(d|0)){f=h+(d<<3)|0;do{d=h+(e<<3)|0;c[f>>2]=c[d>>2];d=c[d>>2]|0;f=h+(d<<3)|0;e=c[f>>2]|0}while((d|0)!=(e|0))}if((g|0)!=(d|0)){c[h+(g<<3)>>2]=d;f=h+(d<<3)+4|0;c[f>>2]=(c[f>>2]|0)+(c[h+(g<<3)+4>>2]|0)}}i=i+1|0}while((i|0)!=(k|0))}k=c[b+228>>2]|0;if((k|0)<=0){m=c[b+220>>2]|0;l=c[m>>2]|0;l=l+12|0;l=c[l>>2]|0;Ob[l&127](m,b);return}j=c[b+236>>2]|0;i=0;do{d=c[j+(i<<2)>>2]|0;if((a[d+20>>0]|0?(l=c[d+28>>2]|0,(c[l+204>>2]&3|0)==0):0)?(m=c[d+32>>2]|0,(c[m+204>>2]&3|0)==0):0){f=c[l+208>>2]|0;d=c[m+208>>2]|0;h=c[(c[b+220>>2]|0)+16>>2]|0;e=c[h+(f<<3)>>2]|0;if((e|0)!=(f|0)){g=h+(f<<3)|0;do{f=h+(e<<3)|0;c[g>>2]=c[f>>2];f=c[f>>2]|0;g=h+(f<<3)|0;e=c[g>>2]|0}while((f|0)!=(e|0))}e=c[h+(d<<3)>>2]|0;if((e|0)!=(d|0)){g=h+(d<<3)|0;do{d=h+(e<<3)|0;c[g>>2]=c[d>>2];d=c[d>>2]|0;g=h+(d<<3)|0;e=c[g>>2]|0}while((d|0)!=(e|0))}if((f|0)!=(d|0)){c[h+(f<<3)>>2]=d;g=h+(d<<3)+4|0;c[g>>2]=(c[g>>2]|0)+(c[h+(f<<3)+4>>2]|0)}}i=i+1|0}while((i|0)!=(k|0));m=c[b+220>>2]|0;l=c[m>>2]|0;l=l+12|0;l=c[l>>2]|0;Ob[l&127](m,b);return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6157]=(c[6157]|0)+1;k=(c[b+12>>2]|0)>(c[d+12>>2]|0);n=k?d:b;h=c[n+12>>2]|0;k=k?b:d;f=c[k+12>>2]|0;j=(((f<<16|h)+~((f<<16|h)<<15)|0)>>>10^(f<<16|h)+~((f<<16|h)<<15))*9|0;j=(((j>>>6^j)+~((j>>>6^j)<<11)|0)>>>16^(j>>>6^j)+~((j>>>6^j)<<11))&(c[a+12>>2]|0)+-1;b=c[(c[a+40>>2]|0)+(j<<2)>>2]|0;if((b|0)==-1){a=0;return a|0}g=c[a+16>>2]|0;d=b;while(1){if((c[(c[g+(d<<4)>>2]|0)+12>>2]|0)==(h|0)?(c[(c[g+(d<<4)+4>>2]|0)+12>>2]|0)==(f|0):0)break;b=c[(c[a+60>>2]|0)+(d<<2)>>2]|0;if((b|0)==-1){b=0;i=22;break}else d=b}if((i|0)==22)return b|0;b=g+(d<<4)|0;if(!b){a=0;return a|0}Sb[c[(c[a>>2]|0)+32>>2]&127](a,b,e);m=c[g+(d<<4)+12>>2]|0;l=b-(c[a+16>>2]|0)>>4;d=j;f=-1;b=a+40|0;while(1){b=c[(c[b>>2]|0)+(d<<2)>>2]|0;if((b|0)==(l|0))break;else{d=b;f=b;b=a+60|0}}d=c[a+60>>2]|0;if((f|0)==-1)b=(c[a+40>>2]|0)+(j<<2)|0;else b=d+(f<<2)|0;c[b>>2]=c[d+(l<<2)>>2];i=(c[a+8>>2]|0)+-1|0;b=c[a+68>>2]|0;if(b|0)Cb[c[(c[b>>2]|0)+12>>2]&31](b,n,k,e)|0;if((i|0)==(l|0)){c[a+8>>2]=(c[a+8>>2]|0)+-1;a=m;return a|0}h=c[a+16>>2]|0;g=c[(c[h+(i<<4)+4>>2]|0)+12>>2]<<16|c[(c[h+(i<<4)>>2]|0)+12>>2];g=((g+~(g<<15)|0)>>>10^g+~(g<<15))*9|0;g=(((g>>>6^g)+~((g>>>6^g)<<11)|0)>>>16^(g>>>6^g)+~((g>>>6^g)<<11))&(c[a+12>>2]|0)+-1;d=g;f=-1;b=a+40|0;while(1){b=c[(c[b>>2]|0)+(d<<2)>>2]|0;if((b|0)==(i|0))break;else{d=b;f=b;b=a+60|0}}d=c[a+60>>2]|0;if((f|0)==-1)b=(c[a+40>>2]|0)+(g<<2)|0;else b=d+(f<<2)|0;c[b>>2]=c[d+(i<<2)>>2];c[h+(l<<4)>>2]=c[h+(i<<4)>>2];c[h+(l<<4)+4>>2]=c[h+(i<<4)+4>>2];c[h+(l<<4)+8>>2]=c[h+(i<<4)+8>>2];c[h+(l<<4)+12>>2]=c[h+(i<<4)+12>>2];e=(c[a+40>>2]|0)+(g<<2)|0;c[(c[a+60>>2]|0)+(l<<2)>>2]=c[e>>2];c[e>>2]=l;c[a+8>>2]=(c[a+8>>2]|0)+-1;a=m;return a|0}function Ff(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0;f=l;l=l+784|0;c[f+720>>2]=1065353216;c[f+720+4>>2]=0;c[f+720+4+4>>2]=0;c[f+720+4+8>>2]=0;c[f+720+4+12>>2]=0;c[f+720+20>>2]=1065353216;c[f+720+24>>2]=0;c[f+720+24+4>>2]=0;c[f+720+24+8>>2]=0;c[f+720+24+12>>2]=0;c[f+720+40>>2]=1065353216;e=f+720+44|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+544>>2]=3896;c[f+544+168>>2]=0;g[f+544+172>>2]=0.0;c[f+544+164>>2]=c[b+200>>2];e=c[b+196>>2]|0;c[f+488+8>>2]=0;c[f+488+12>>2]=-1;i=f+488+28|0;c[f+488>>2]=7020;c[f+488+4>>2]=8;c[f+488+16>>2]=1065353216;c[f+488+20>>2]=1065353216;c[f+488+24>>2]=1065353216;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[f+488+32>>2]=e;c[f+488+48>>2]=e;g[f+488+52>>2]=0.0;c[f+376+8>>2]=0;c[f+376+12>>2]=-1;c[f+376+16>>2]=1065353216;c[f+376+20>>2]=1065353216;c[f+376+24>>2]=1065353216;g[f+376+28>>2]=0.0;g[f+376+48>>2]=.03999999910593033;c[f+376+56>>2]=0;c[f+376>>2]=3924;c[f+376+4>>2]=1;c[f+376+60>>2]=c[d>>2];c[f+376+60+4>>2]=c[d+4>>2];c[f+376+60+8>>2]=c[d+8>>2];c[f+376+60+12>>2]=c[d+12>>2];c[f+376+76>>2]=c[d+16>>2];c[f+376+76+4>>2]=c[d+16+4>>2];c[f+376+76+8>>2]=c[d+16+8>>2];c[f+376+76+12>>2]=c[d+16+12>>2];c[f+376+92>>2]=c[d+32>>2];c[f+376+92+4>>2]=c[d+32+4>>2];c[f+376+92+8>>2]=c[d+32+8>>2];c[f+376+92+12>>2]=c[d+32+12>>2];g[f+16+308>>2]=9.999999747378752e-05;a[f+16+332>>0]=0;c[f>>2]=5276;c[f+4>>2]=f+16;c[f+8>>2]=f+488;c[f+12>>2]=f+376;if(fd(f,b+4|0,b+68|0,f+720|0,f+720|0,f+544|0)|0?(h=+g[f+544+164>>2],+g[b+200>>2]>h):0)g[b+200>>2]=h;c[f+376>>2]=7472;e=c[f+376+56>>2]|0;if(!e){l=f;return}Ib[c[c[e>>2]>>2]&511](e);e=c[f+376+56>>2]|0;if(!e){l=f;return}c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);l=f;return}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[b+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(h=i|0?i<<1:1,(i|0)<(h|0)):0){if(!h){e=0;g=i}else{c[6995]=(c[6995]|0)+1;e=sc((h*244|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+4>>2]|0}if((g|0)>0){f=0;do{k=e+(f*244|0)|0;j=c[b+12>>2]|0;l=j+(f*244|0)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=j+(f*244|0)+16|0;l=e+(f*244|0)+16|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];l=j+(f*244|0)+32|0;k=e+(f*244|0)+32|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=e+(f*244|0)+48|0;l=j+(f*244|0)+48|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];gi(e+(f*244|0)+64|0,j+(f*244|0)+64|0,180)|0;f=f+1|0}while((f|0)!=(g|0))}f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=h;e=c[b+4>>2]|0}else e=i;c[b+4>>2]=e+1;l=c[b+12>>2]|0;c[l+(i*244|0)>>2]=c[d>>2];c[l+(i*244|0)+4>>2]=c[d+4>>2];c[l+(i*244|0)+8>>2]=c[d+8>>2];c[l+(i*244|0)+12>>2]=c[d+12>>2];c[l+(i*244|0)+16>>2]=c[d+16>>2];c[l+(i*244|0)+16+4>>2]=c[d+16+4>>2];c[l+(i*244|0)+16+8>>2]=c[d+16+8>>2];c[l+(i*244|0)+16+12>>2]=c[d+16+12>>2];c[l+(i*244|0)+32>>2]=c[d+32>>2];c[l+(i*244|0)+32+4>>2]=c[d+32+4>>2];c[l+(i*244|0)+32+8>>2]=c[d+32+8>>2];c[l+(i*244|0)+32+12>>2]=c[d+32+12>>2];c[l+(i*244|0)+48>>2]=c[d+48>>2];c[l+(i*244|0)+48+4>>2]=c[d+48+4>>2];c[l+(i*244|0)+48+8>>2]=c[d+48+8>>2];c[l+(i*244|0)+48+12>>2]=c[d+48+12>>2];gi(l+(i*244|0)+64|0,d+64|0,180)|0;return (c[b+12>>2]|0)+(i*244|0)|0}function Hf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0;fi(a,b,e)|0;c[b+52>>2]=c[a+552>>2];c[b+56>>2]=c[a+556>>2];c[b+60>>2]=c[a+560>>2];c[b+64>>2]=c[a+564>>2];c[b+68>>2]=c[a+568>>2];c[b+72>>2]=c[a+572>>2];c[b+76>>2]=c[a+576>>2];c[b+80>>2]=c[a+580>>2];c[b+84>>2]=c[a+584>>2];c[b+88>>2]=c[a+588>>2];c[b+92>>2]=c[a+592>>2];c[b+96>>2]=c[a+596>>2];c[b+100>>2]=c[a+600>>2];c[b+104>>2]=c[a+604>>2];c[b+108>>2]=c[a+608>>2];c[b+112>>2]=c[a+612>>2];c[b+116>>2]=c[a+616>>2];c[b+120>>2]=c[a+620>>2];c[b+124>>2]=c[a+624>>2];c[b+128>>2]=c[a+628>>2];c[b+132>>2]=c[a+632>>2];c[b+136>>2]=c[a+636>>2];c[b+140>>2]=c[a+640>>2];c[b+144>>2]=c[a+644>>2];c[b+148>>2]=c[a+648>>2];c[b+152>>2]=c[a+652>>2];c[b+156>>2]=c[a+656>>2];c[b+160>>2]=c[a+660>>2];c[b+164>>2]=c[a+664>>2];c[b+168>>2]=c[a+668>>2];c[b+172>>2]=c[a+672>>2];c[b+176>>2]=c[a+676>>2];c[b+184>>2]=d[a+736>>0];c[b+188>>2]=d[a+737>>0];c[b+196>>2]=c[a+684>>2];c[b+192>>2]=c[a+680>>2];c[b+180>>2]=d[a+740>>0];h=+g[a+688>>2];i=+g[a+692>>2];f=+mh(h-i,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;g[b+200>>2]=f;f=+mh(h+i,6.2831854820251465);if(f<-3.1415927410125732){i=f+6.2831854820251465;e=b+204|0;g[e>>2]=i;e=a+696|0;e=c[e>>2]|0;j=b+208|0;c[j>>2]=e;j=a+700|0;j=c[j>>2]|0;e=b+212|0;c[e>>2]=j;a=a+704|0;a=c[a>>2]|0;b=b+216|0;c[b>>2]=a;return 12693}if(!(f>3.1415927410125732)){i=f;j=b+204|0;g[j>>2]=i;j=a+696|0;j=c[j>>2]|0;e=b+208|0;c[e>>2]=j;e=a+700|0;e=c[e>>2]|0;j=b+212|0;c[j>>2]=e;a=a+704|0;a=c[a>>2]|0;j=b+216|0;c[j>>2]=a;return 12693}i=f+-6.2831854820251465;j=b+204|0;g[j>>2]=i;j=a+696|0;j=c[j>>2]|0;e=b+208|0;c[e>>2]=j;e=a+700|0;e=c[e>>2]|0;j=b+212|0;c[j>>2]=e;a=a+704|0;a=c[a>>2]|0;j=b+216|0;c[j>>2]=a;return 12693}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;k=l;l=l+64|0;n=+g[a+20>>2];u=+g[a+40>>2];p=+g[a+24>>2];s=+g[a+36>>2];t=+g[a+32>>2];m=+g[a+16>>2];j=+g[a>>2];i=+g[a+4>>2];q=+g[a+8>>2];h=1.0/((n*u-p*s)*j+i*(p*t-u*m)+(s*m-n*t)*q);z=+g[b>>2];y=+g[b+4>>2];A=+g[b+8>>2];x=+g[b+16>>2];w=+g[b+20>>2];v=+g[b+24>>2];r=+g[b+32>>2];o=+g[b+36>>2];f=+g[b+40>>2];g[k+16>>2]=A*(s*m-n*t)*h+(z*(n*u-p*s)*h+y*(p*t-u*m)*h);g[k+16+4>>2]=A*(t*i-s*j)*h+(z*(s*q-u*i)*h+y*(u*j-t*q)*h);g[k+16+8>>2]=A*(n*j-m*i)*h+(z*(p*i-n*q)*h+y*(m*q-p*j)*h);g[k+16+12>>2]=0.0;g[k+16+16>>2]=(n*u-p*s)*h*x+(p*t-u*m)*h*w+(s*m-n*t)*h*v;g[k+16+20>>2]=(s*q-u*i)*h*x+(u*j-t*q)*h*w+(t*i-s*j)*h*v;g[k+16+24>>2]=(p*i-n*q)*h*x+(m*q-p*j)*h*w+(n*j-m*i)*h*v;g[k+16+28>>2]=0.0;g[k+16+32>>2]=(n*u-p*s)*h*r+(p*t-u*m)*h*o+(s*m-n*t)*h*f;g[k+16+36>>2]=(s*q-u*i)*h*r+(u*j-t*q)*h*o+(t*i-s*j)*h*f;g[k+16+40>>2]=(p*i-n*q)*h*r+(m*q-p*j)*h*o+(n*j-m*i)*h*f;g[k+16+44>>2]=0.0;yh(k+16|0,k);f=+g[k>>2];h=+g[k+4>>2];i=+g[k+8>>2];m=+g[k+12>>2];j=1.0/+D(+(f*f+h*h+i*i+m*m));g[k>>2]=f*j;g[k+4>>2]=h*j;g[k+8>>2]=i*j;g[k+12>>2]=m*j;m=m*j<-1.0?-1.0:m*j;g[e>>2]=+I(+(m>1.0?1.0:m))*2.0;g[d>>2]=f*j;g[d+4>>2]=h*j;g[d+8>>2]=i*j;g[d+12>>2]=0.0;if(f*j*f*j+h*j*h*j+i*j*i*j<1.4210854715202004e-14){c[d>>2]=1065353216;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;l=k;return}else{A=1.0/+D(+(f*j*f*j+h*j*h*j+i*j*i*j));g[d>>2]=f*j*A;g[d+4>>2]=A*h*j;g[d+8>>2]=A*i*j;l=k;return}}function Jf(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0;v=c[a+892>>2]|0;if((v|0)<=0)return;q=c[a+900>>2]|0;a=0;do{u=c[q+(a*56|0)>>2]|0;j=c[q+(a*56|0)+4>>2]|0;y=c[j+8>>2]|0;x=c[j+12>>2]|0;w=c[j+16>>2]|0;f=q+(a*56|0)+8|0;s=+g[f>>2];h=q+(a*56|0)+12|0;r=+g[h>>2];i=q+(a*56|0)+16|0;p=+g[i>>2];b=+g[y+8>>2]*s+ +g[x+8>>2]*r+ +g[w+8>>2]*p;d=+g[y+12>>2]*s+ +g[x+12>>2]*r+ +g[w+12>>2]*p;e=+g[y+16>>2]*s+ +g[x+16>>2]*r+ +g[w+16>>2]*p;k=+g[u+8>>2];l=+g[u+12>>2];m=+g[u+16>>2];n=k-+g[u+24>>2]-(b-(s*+g[y+24>>2]+r*+g[x+24>>2]+p*+g[w+24>>2]));o=l-+g[u+28>>2]-(d-(s*+g[y+28>>2]+r*+g[x+28>>2]+p*+g[w+28>>2]));p=m-+g[u+32>>2]-(e-(s*+g[y+32>>2]+r*+g[x+32>>2]+p*+g[w+32>>2]));r=+g[q+(a*56|0)+24>>2];s=+g[q+(a*56|0)+28>>2];t=+g[q+(a*56|0)+32>>2];if(n*r+o*s+p*t<0.0){e=+g[q+(a*56|0)+40>>2]-(k*r+l*s+m*t-(b*r+d*s+e*t));b=r*e+0.0;d=s*e+0.0;e=t*e+0.0}else{b=0.0;d=0.0;e=0.0}z=+g[q+(a*56|0)+44>>2];b=b-z*(n-r*(n*r+o*s+p*t));d=d-z*(o-s*(n*r+o*s+p*t));s=e-z*(p-t*(n*r+o*s+p*t));t=+g[q+(a*56|0)+48>>2];g[u+8>>2]=k+t*b;g[u+12>>2]=l+t*d;g[u+16>>2]=t*s+m;y=q+(a*56|0)+52|0;t=+g[y>>2]*+g[f>>2];x=c[j+8>>2]|0;g[x+8>>2]=+g[x+8>>2]-b*t;g[x+12>>2]=+g[x+12>>2]-d*t;g[x+16>>2]=+g[x+16>>2]-s*t;t=+g[y>>2]*+g[h>>2];x=c[j+12>>2]|0;g[x+8>>2]=+g[x+8>>2]-b*t;g[x+12>>2]=+g[x+12>>2]-d*t;g[x+16>>2]=+g[x+16>>2]-s*t;t=+g[y>>2]*+g[i>>2];y=c[j+16>>2]|0;g[y+8>>2]=+g[y+8>>2]-b*t;g[y+12>>2]=+g[y+12>>2]-d*t;g[y+16>>2]=+g[y+16>>2]-s*t;a=a+1|0}while((a|0)!=(v|0));return}function Kf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c[b+12>>2]|0;l=c[b+32>>2]|0;if((l|0)>=(k|0))return;if((c[b+36>>2]|0)<(k|0)){if(!k){d=0;f=l}else{c[6995]=(c[6995]|0)+1;d=sc((k<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+32>>2]|0}g=c[b+40>>2]|0;if((f|0)<=0)if(!g)e=b+44|0;else j=12;else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));j=12}if((j|0)==12)if(!(a[b+44>>0]|0))e=b+44|0;else{c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0);e=b+44|0}a[e>>0]=1;c[b+40>>2]=d;c[b+36>>2]=k;i=b+40|0}else{i=b+40|0;d=c[b+40>>2]|0}Yk(d+(l<<2)|0,0,(k<<2)-(l<<2)|0)|0;c[b+32>>2]=k;h=c[b+52>>2]|0;if((h|0)<(k|0)){if((c[b+56>>2]|0)<(k|0)){if(!k){d=0;f=h}else{c[6995]=(c[6995]|0)+1;d=sc((k<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+52>>2]|0}g=c[b+60>>2]|0;if((f|0)<=0)if(!g)e=b+64|0;else j=26;else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));j=26}if((j|0)==26)if(!(a[b+64>>0]|0))e=b+64|0;else{c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0);e=b+64|0}a[e>>0]=1;c[b+60>>2]=d;c[b+56>>2]=k}else d=c[b+60>>2]|0;Yk(d+(h<<2)|0,0,(k<<2)-(h<<2)|0)|0}c[b+52>>2]=k;if((k|0)>0){Yk(c[i>>2]|0,-1,k<<2|0)|0;Yk(c[b+60>>2]|0,-1,k<<2|0)|0}if((l|0)<=0)return;g=c[b+16>>2]|0;e=c[i>>2]|0;f=c[b+60>>2]|0;d=0;do{k=c[(c[g+(d<<4)+4>>2]|0)+12>>2]<<16|c[(c[g+(d<<4)>>2]|0)+12>>2];k=((k+~(k<<15)|0)>>>10^k+~(k<<15))*9|0;k=e+(((((k>>>6^k)+~((k>>>6^k)<<11)|0)>>>16^(k>>>6^k)+~((k>>>6^k)<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(d<<2)>>2]=c[k>>2];c[k>>2]=d;d=d+1|0}while((d|0)!=(l|0));return}function Lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;f=l;l=l+256|0;c[f+32>>2]=4276;k=f+32+36|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];m=f+32+52|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[k>>2];c[f+32+116+4>>2]=c[k+4>>2];c[f+32+116+8>>2]=c[k+8>>2];c[f+32+116+12>>2]=c[k+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];j=+g[d+4>>2]-+g[b+4>>2];i=+g[d+8>>2]-+g[b+8>>2];h=1.0/+D(+(n*n+j*j+i*i));q=n*h==0.0?1000000015047466219876688.0e6:1.0/(n*h);g[f+32+4>>2]=q;p=j*h==0.0?1000000015047466219876688.0e6:1.0/(j*h);g[f+32+8>>2]=p;o=i*h==0.0?1000000015047466219876688.0e6:1.0/(i*h);g[f+32+12>>2]=o;c[f+32+20>>2]=q<0.0&1;c[f+32+24>>2]=p<0.0&1;c[f+32+28>>2]=o<0.0&1;g[f+32+32>>2]=n*h*(+g[m>>2]-+g[k>>2])+j*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+i*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);e=c[a+68>>2]|0;a=c[(c[e>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;$b[a&7](e,b,d,f+32|0,f+16|0,f);l=f;return}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Ob[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+20>>2]=c[a+76>>2];e=c[a+20>>2]|0;c[b+16>>2]=e;c[b+12>>2]=0;if(!e)return 16280;g=Bb[c[(c[d>>2]|0)+16>>2]&63](d,76,e)|0;e=c[g+8>>2]|0;c[b+12>>2]=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;if((c[b+16>>2]|0)>0){f=0;while(1){h=c[a+28>>2]|0;c[e+72>>2]=c[h+(f*80|0)+72>>2];c[e+64>>2]=zb[c[(c[d>>2]|0)+28>>2]&31](d,c[h+(f*80|0)+64>>2]|0)|0;if(!(zb[c[(c[d>>2]|0)+24>>2]&31](d,c[(c[a+28>>2]|0)+(f*80|0)+64>>2]|0)|0)){h=c[(c[d>>2]|0)+16>>2]|0;i=c[(c[a+28>>2]|0)+(f*80|0)+64>>2]|0;i=xb[c[(c[i>>2]|0)+52>>2]&127](i)|0;i=Bb[h&63](d,i,1)|0;h=c[(c[a+28>>2]|0)+(f*80|0)+64>>2]|0;h=Bb[c[(c[h>>2]|0)+56>>2]&63](h,c[i+8>>2]|0,d)|0;Zb[c[(c[d>>2]|0)+20>>2]&31](d,i,h,1346455635,c[(c[a+28>>2]|0)+(f*80|0)+64>>2]|0)}i=c[a+28>>2]|0;c[e+68>>2]=c[i+(f*80|0)+68>>2];c[e>>2]=c[i+(f*80|0)>>2];c[e+4>>2]=c[i+(f*80|0)+4>>2];c[e+8>>2]=c[i+(f*80|0)+8>>2];c[e+12>>2]=c[i+(f*80|0)+12>>2];c[e+16>>2]=c[i+(f*80|0)+16>>2];c[e+20>>2]=c[i+(f*80|0)+20>>2];c[e+24>>2]=c[i+(f*80|0)+24>>2];c[e+28>>2]=c[i+(f*80|0)+28>>2];c[e+32>>2]=c[i+(f*80|0)+32>>2];c[e+36>>2]=c[i+(f*80|0)+36>>2];c[e+40>>2]=c[i+(f*80|0)+40>>2];c[e+44>>2]=c[i+(f*80|0)+44>>2];c[e+48>>2]=c[i+(f*80|0)+48>>2];c[e+52>>2]=c[i+(f*80|0)+52>>2];c[e+56>>2]=c[i+(f*80|0)+56>>2];c[e+60>>2]=c[i+(f*80|0)+60>>2];f=f+1|0;if((f|0)>=(c[b+16>>2]|0)){e=d;break}else e=e+76|0}}else e=d;Zb[c[(c[e>>2]|0)+20>>2]&31](d,g,16255,1497453121,c[g+8>>2]|0);return 16280}function Nf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c[b+12>>2]|0;l=c[b+28>>2]|0;if((l|0)>=(k|0))return;if((c[b+32>>2]|0)<(k|0)){if(!k){d=0;f=l}else{c[6995]=(c[6995]|0)+1;d=sc((k<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+28>>2]|0}g=c[b+36>>2]|0;if((f|0)<=0)if(!g)e=b+40|0;else j=12;else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));j=12}if((j|0)==12)if(!(a[b+40>>0]|0))e=b+40|0;else{c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0);e=b+40|0}a[e>>0]=1;c[b+36>>2]=d;c[b+32>>2]=k;i=b+36|0}else{i=b+36|0;d=c[b+36>>2]|0}Yk(d+(l<<2)|0,0,(k<<2)-(l<<2)|0)|0;c[b+28>>2]=k;h=c[b+48>>2]|0;if((h|0)<(k|0)){if((c[b+52>>2]|0)<(k|0)){if(!k){d=0;f=h}else{c[6995]=(c[6995]|0)+1;d=sc((k<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+48>>2]|0}g=c[b+56>>2]|0;if((f|0)<=0)if(!g)e=b+60|0;else j=26;else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));j=26}if((j|0)==26)if(!(a[b+60>>0]|0))e=b+60|0;else{c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0);e=b+60|0}a[e>>0]=1;c[b+56>>2]=d;c[b+52>>2]=k}else d=c[b+56>>2]|0;Yk(d+(h<<2)|0,0,(k<<2)-(h<<2)|0)|0}c[b+48>>2]=k;if((k|0)>0){Yk(c[i>>2]|0,-1,k<<2|0)|0;Yk(c[b+56>>2]|0,-1,k<<2|0)|0}if((l|0)<=0)return;g=c[b+16>>2]|0;e=c[i>>2]|0;f=c[b+56>>2]|0;d=0;do{k=c[g+(d*12|0)+4>>2]<<16|c[g+(d*12|0)>>2];k=((k+~(k<<15)|0)>>>10^k+~(k<<15))*9|0;k=e+(((((k>>>6^k)+~((k>>>6^k)<<11)|0)>>>16^(k>>>6^k)+~((k>>>6^k)<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(d<<2)>>2]=c[k>>2];c[k>>2]=d;d=d+1|0}while((d|0)!=(l|0));return}function Of(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[b+8>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6995]=(c[6995]|0)+1,e=sc((d*36|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;r=e+4+15&-16}else r=0;n=c[b+4>>2]|0;if((n|0)>0){m=0;do{o=c[b+12>>2]|0;i=r+(m*36|0)+16|0;a[i>>0]=1;j=r+(m*36|0)+12|0;c[j>>2]=0;l=r+(m*36|0)+4|0;c[l>>2]=0;k=r+(m*36|0)+8|0;c[k>>2]=0;p=c[o+(m*36|0)+4>>2]|0;if((p|0)>0){c[6995]=(c[6995]|0)+1;e=sc((p<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}g=c[l>>2]|0;h=c[j>>2]|0;if((g|0)<=0){if(h|0)q=13}else{e=0;do{c[f+(e<<2)>>2]=c[h+(e<<2)>>2];e=e+1|0}while((e|0)!=(g|0));q=13}if((q|0)==13?(q=0,a[i>>0]|0):0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}a[i>>0]=1;c[j>>2]=f;c[k>>2]=p;Yk(f|0,0,p<<2|0)|0;g=c[j>>2]|0;c[l>>2]=p;f=c[o+(m*36|0)+12>>2]|0;e=0;do{c[g+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)!=(p|0))}else c[l>>2]=p;p=r+(m*36|0)+20|0;o=o+(m*36|0)+20|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];m=m+1|0}while((m|0)!=(n|0));f=c[b+4>>2]|0;if((f|0)>0){e=0;do{h=c[b+12>>2]|0;i=h+(e*36|0)+4|0;j=h+(e*36|0)+12|0;k=c[j>>2]|0;g=h+(e*36|0)+16|0;if(k|0){if(a[g>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}c[j>>2]=0}a[g>>0]=1;c[j>>2]=0;c[i>>2]=0;c[h+(e*36|0)+8>>2]=0;e=e+1|0}while((e|0)!=(f|0))}}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=r;c[b+8>>2]=d;return}function Pf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;f=l;l=l+256|0;c[f+32>>2]=6004;k=f+32+36|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];m=f+32+52|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[k>>2];c[f+32+116+4>>2]=c[k+4>>2];c[f+32+116+8>>2]=c[k+8>>2];c[f+32+116+12>>2]=c[k+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];j=+g[d+4>>2]-+g[b+4>>2];i=+g[d+8>>2]-+g[b+8>>2];h=1.0/+D(+(n*n+j*j+i*i));q=n*h==0.0?999999984306749440.0:1.0/(n*h);g[f+32+4>>2]=q;p=j*h==0.0?999999984306749440.0:1.0/(j*h);g[f+32+8>>2]=p;o=i*h==0.0?999999984306749440.0:1.0/(i*h);g[f+32+12>>2]=o;c[f+32+20>>2]=q<0.0&1;c[f+32+24>>2]=p<0.0&1;c[f+32+28>>2]=o<0.0&1;g[f+32+32>>2]=n*h*(+g[m>>2]-+g[k>>2])+j*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+i*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);e=c[a+68>>2]|0;a=c[(c[e>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;$b[a&7](e,b,d,f+32|0,f+16|0,f);l=f;return}function Qf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;h=l;l=l+128|0;if(!b){l=h;return}if(c[b+40>>2]|0){Qf(a,c[b+36>>2]|0,d+1|0,e,f);Qf(a,c[b+40>>2]|0,d+1|0,e,f)}if((d|0)<0){l=h;return}m=+g[b>>2];r=+g[b+16>>2];j=+g[b+4>>2];q=+g[b+20>>2];i=+g[b+8>>2];p=+g[b+24>>2];k=(m+r)*.5-(r-m)*.5;n=(j+q)*.5-(q-j)*.5;o=(i+p)*.5-(p-i)*.5;m=(m+r)*.5+(r-m)*.5;j=(j+q)*.5+(q-j)*.5;i=(i+p)*.5+(p-i)*.5;f=(c[b+40>>2]|0)==0?f:e;g[h>>2]=k;g[h+4>>2]=n;g[h+8>>2]=o;g[h+12>>2]=0.0;g[h+16>>2]=m;g[h+20>>2]=n;g[h+24>>2]=o;g[h+28>>2]=0.0;g[h+32>>2]=m;g[h+36>>2]=j;g[h+40>>2]=o;g[h+44>>2]=0.0;g[h+48>>2]=k;g[h+52>>2]=j;g[h+56>>2]=o;g[h+60>>2]=0.0;g[h+64>>2]=k;g[h+68>>2]=n;g[h+72>>2]=i;g[h+76>>2]=0.0;g[h+80>>2]=m;g[h+84>>2]=n;g[h+88>>2]=i;g[h+92>>2]=0.0;g[h+96>>2]=m;g[h+100>>2]=j;g[h+104>>2]=i;g[h+108>>2]=0.0;g[h+112>>2]=k;g[h+116>>2]=j;g[h+120>>2]=i;g[h+124>>2]=0.0;Vb[c[(c[a>>2]|0)+16>>2]&127](a,h,h+16|0,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h+16|0,h+32|0,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h+32|0,h+48|0,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h+48|0,h,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h+64|0,h+80|0,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h+80|0,h+96|0,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h+96|0,h+112|0,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h+112|0,h+64|0,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h,h+64|0,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h+16|0,h+80|0,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h+32|0,h+96|0,f);Vb[c[(c[a>>2]|0)+16>>2]&127](a,h+48|0,h+112|0,f);l=h;return}function Rf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b>>2]=6640;a[b+32>>0]=1;c[b+28>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+36>>2]=1566444395;c[b+40>>2]=1566444395;c[b+44>>2]=1566444395;g[b+48>>2]=0.0;c[b+52>>2]=-581039253;c[b+56>>2]=-581039253;c[b+60>>2]=-581039253;g[b+64>>2]=0.0;c[b+68>>2]=0;c[b+72>>2]=1;g[b+76>>2]=0.0;c[b+80>>2]=1065353216;c[b+84>>2]=1065353216;c[b+88>>2]=1065353216;g[b+92>>2]=0.0;c[b+4>>2]=31;if(d){c[6995]=(c[6995]|0)+1;d=sc(59)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=-1;c[d+12>>2]=0;c[d+16>>2]=0;c[b+68>>2]=d;d=c[b+24>>2]|0}else d=0;if((d|0)>=(e|0))return;if((e|0)!=0?(c[6995]=(c[6995]|0)+1,f=sc((e*80|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}else h=0;f=c[b+20>>2]|0;if((f|0)>0){d=0;do{i=h+(d*80|0)|0;j=c[b+28>>2]|0;k=j+(d*80|0)|0;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=j+(d*80|0)+16|0;k=h+(d*80|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];k=j+(d*80|0)+32|0;i=h+(d*80|0)+32|0;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=h+(d*80|0)+48|0;k=j+(d*80|0)+48|0;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=h+(d*80|0)+64|0;j=j+(d*80|0)+64|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];d=d+1|0}while((d|0)!=(f|0))}d=c[b+28>>2]|0;if(d|0){if(a[b+32>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+28>>2]=0}a[b+32>>0]=1;c[b+28>>2]=h;c[b+24>>2]=e;return}function Sf(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;r=l;l=l+96|0;m=r;n=m+96|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));if(!i)p=c[c[b+940>>2]>>2]|0;else p=i;i=c[b+832>>2]|0;if((i|0)==(c[b+836>>2]|0)?(q=i|0?i<<1:1,(i|0)<(q|0)):0){if(!q)o=0;else{c[6995]=(c[6995]|0)+1;i=sc((q*104|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=i;i=c[b+832>>2]|0}if((i|0)>0){j=0;do{m=o+(j*104|0)|0;k=(c[b+840>>2]|0)+(j*104|0)|0;n=m+104|0;do{c[m>>2]=c[k>>2];m=m+4|0;k=k+4|0}while((m|0)<(n|0));j=j+1|0}while((j|0)!=(i|0))}i=c[b+840>>2]|0;if(i|0){if(a[b+844>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[b+840>>2]=0}a[b+844>>0]=1;c[b+840>>2]=o;c[b+836>>2]=q;i=c[b+832>>2]|0}m=c[b+840>>2]|0;c[m+(i*104|0)>>2]=0;c[m+(i*104|0)+4>>2]=p;m=m+(i*104|0)+8|0;k=r;n=m+96|0;do{c[m>>2]=c[k>>2];m=m+4|0;k=k+4|0}while((m|0)<(n|0));q=c[b+832>>2]|0;c[b+832>>2]=q+1;p=c[b+840>>2]|0;k=c[b+780>>2]|0;c[p+(q*104|0)+8>>2]=k+(d*104|0);o=c[b+780>>2]|0;c[p+(q*104|0)+12>>2]=o+(e*104|0);m=c[b+780>>2]|0;c[p+(q*104|0)+16>>2]=m+(f*104|0);n=c[b+780>>2]|0;c[p+(q*104|0)+20>>2]=n+(h*104|0);z=+g[k+(d*104|0)+8>>2];w=+g[k+(d*104|0)+12>>2];A=+g[k+(d*104|0)+16>>2];t=+g[m+(f*104|0)+8>>2]-z;y=+g[m+(f*104|0)+12>>2]-w;v=+g[m+(f*104|0)+16>>2]-A;u=+g[n+(h*104|0)+8>>2]-z;x=+g[n+(h*104|0)+12>>2]-w;s=+g[n+(h*104|0)+16>>2]-A;g[p+(q*104|0)+24>>2]=(+g[o+(e*104|0)+16>>2]-A)*(t*x-y*u)+((+g[o+(e*104|0)+8>>2]-z)*(y*s-v*x)+(+g[o+(e*104|0)+12>>2]-w)*(v*u-t*s));a[b+984>>0]=1;l=r;return}function Tf(b){b=b|0;var d=0;c[b>>2]=5052;d=c[b+204>>2]|0;if(d|0){if(a[b+208>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+204>>2]=0}a[b+208>>0]=1;c[b+204>>2]=0;c[b+196>>2]=0;c[b+200>>2]=0;d=c[b+176>>2]|0;if(d|0){if(a[b+180>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Uf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0;k=l;l=l+160|0;i=c[b+12>>2]|0;if(!i){l=k;return}m=(a[b+16>>0]|0)!=0;n=m?e:d;e=m?d:e;p=c[n+4>>2]|0;d=c[e+4>>2]|0;c[h+4>>2]=i;o=+g[i+784>>2]+ +g[h+32>>2];c[k+136>>2]=9648;c[k+136+4>>2]=p;c[k+136+8>>2]=d;g[k+136+12>>2]=o;g[k+128>>2]=999999984306749440.0;i=c[n+12>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];c[k+16>>2]=c[i+16>>2];c[k+16+4>>2]=c[i+16+4>>2];c[k+16+8>>2]=c[i+16+8>>2];c[k+16+12>>2]=c[i+16+12>>2];c[k+32>>2]=c[i+32>>2];c[k+32+4>>2]=c[i+32+4>>2];c[k+32+8>>2]=c[i+32+8>>2];c[k+32+12>>2]=c[i+32+12>>2];c[k+48>>2]=c[i+48>>2];c[k+48+4>>2]=c[i+48+4>>2];c[k+48+8>>2]=c[i+48+8>>2];c[k+48+12>>2]=c[i+48+12>>2];i=c[e+12>>2]|0;c[k+64>>2]=c[i>>2];c[k+64+4>>2]=c[i+4>>2];c[k+64+8>>2]=c[i+8>>2];c[k+64+12>>2]=c[i+12>>2];c[k+80>>2]=c[i+16>>2];c[k+80+4>>2]=c[i+16+4>>2];c[k+80+8>>2]=c[i+16+8>>2];c[k+80+12>>2]=c[i+16+12>>2];c[k+96>>2]=c[i+32>>2];c[k+96+4>>2]=c[i+32+4>>2];c[k+96+8>>2]=c[i+32+8>>2];c[k+96+12>>2]=c[i+32+12>>2];c[k+112>>2]=c[i+48>>2];c[k+112+4>>2]=c[i+48+4>>2];c[k+112+8>>2]=c[i+48+8>>2];c[k+112+12>>2]=c[i+48+12>>2];Xd(k+136|0,k,h,c[f+20>>2]|0,m);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+780>>2]|0):0){d=c[j+772>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;b=c[(c[h+12>>2]|0)+8>>2]|0;if((d|0)==(e|0)){af(j,d+4|0,b+4|0);break}else{af(j,b+4|0,e+4|0);break}}while(0);l=k;return}function Vf(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0;d=c[a+812>>2]|0;if((d|0)>0){e=c[a+820>>2]|0;b=0;do{f=c[e+(b*44|0)+8>>2]|0;h=c[e+(b*44|0)+12>>2]|0;i=c[e+(b*44|0)+16>>2]|0;l=+g[f+8>>2];n=+g[f+12>>2];j=+g[f+16>>2];k=+g[h+8>>2]-l;o=+g[h+12>>2]-n;m=+g[h+16>>2]-j;l=+g[i+8>>2]-l;n=+g[i+12>>2]-n;j=+g[i+16>>2]-j;g[e+(b*44|0)+36>>2]=+D(+((k*n-o*l)*(k*n-o*l)+((o*j-m*n)*(o*j-m*n)+(m*l-k*j)*(m*l-k*j))));b=b+1|0}while((b|0)!=(d|0))}d=c[a+772>>2]|0;if((d|0)>0){c[6995]=(c[6995]|0)+1;b=sc((d<<2|3)+16|0)|0;if(!b)e=0;else{c[(b+4+15&-16)+-4>>2]=b;e=b+4+15&-16}Yk(e|0,0,d<<2|0)|0;f=c[a+772>>2]|0;if((f|0)>0){d=c[a+780>>2]|0;b=0;do{g[d+(b*104|0)+92>>2]=0.0;b=b+1|0}while((b|0)!=(f|0));i=e;h=e;b=f}else{i=e;h=e;b=f}}else{i=0;h=0;b=d}f=c[a+812>>2]|0;if((f|0)>0){d=c[a+820>>2]|0;e=c[a+780>>2]|0;b=0;do{o=+C(+(+g[d+(b*44|0)+36>>2]));p=c[d+(b*44|0)+8>>2]|0;q=i+(((p-e|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];p=c[d+(b*44|0)+12>>2]|0;q=i+(((p-e|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];p=c[d+(b*44|0)+16>>2]|0;q=i+(((p-e|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];b=b+1|0}while((b|0)!=(f|0));b=c[a+772>>2]|0}if((b|0)>0){d=0;do{e=c[i+(d<<2)>>2]|0;if((e|0)>0){q=(c[a+780>>2]|0)+(d*104|0)+92|0;g[q>>2]=+g[q>>2]/+(e|0)}else g[(c[a+780>>2]|0)+(d*104|0)+92>>2]=0.0;d=d+1|0}while((d|0)!=(b|0));if(!h)return}else if((i|0)==0|(h|0)==0)return;c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);return}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0;d=l;l=l+128|0;F=c[(c[a+8>>2]|0)+28>>2]|0;f=c[F+(b*80|0)+64>>2]|0;e=c[a+12>>2]|0;w=+g[F+(b*80|0)>>2];C=+g[e>>2];v=+g[F+(b*80|0)+16>>2];B=+g[e+4>>2];u=+g[F+(b*80|0)+32>>2];A=+g[e+8>>2];t=+g[F+(b*80|0)+4>>2];s=+g[F+(b*80|0)+20>>2];r=+g[F+(b*80|0)+36>>2];q=+g[F+(b*80|0)+8>>2];o=+g[F+(b*80|0)+24>>2];m=+g[F+(b*80|0)+40>>2];z=+g[e+16>>2];y=+g[e+20>>2];x=+g[e+24>>2];p=+g[e+32>>2];n=+g[e+36>>2];k=+g[e+40>>2];E=+g[F+(b*80|0)+48>>2];D=+g[F+(b*80|0)+52>>2];h=+g[F+(b*80|0)+56>>2];j=+g[e+48>>2]+(C*E+B*D+A*h);i=z*E+y*D+x*h+ +g[e+52>>2];h=p*E+n*D+k*h+ +g[e+56>>2];g[d+56>>2]=w*C+v*B+u*A;g[d+56+4>>2]=C*t+B*s+A*r;g[d+56+8>>2]=C*q+B*o+A*m;g[d+56+12>>2]=0.0;g[d+56+16>>2]=w*z+v*y+u*x;g[d+56+20>>2]=t*z+s*y+r*x;g[d+56+24>>2]=q*z+o*y+m*x;g[d+56+28>>2]=0.0;g[d+56+32>>2]=w*p+v*n+u*k;g[d+56+36>>2]=t*p+s*n+r*k;g[d+56+40>>2]=q*p+o*n+m*k;g[d+56+44>>2]=0.0;g[d+56+48>>2]=j;g[d+56+52>>2]=i;g[d+56+56>>2]=h;g[d+56+60>>2]=0.0;e=c[a+4>>2]|0;c[d+32>>2]=0;c[d+32+4>>2]=f;c[d+32+8>>2]=e;c[d+32+12>>2]=d+56;c[d+32+16>>2]=-1;c[d+32+20>>2]=b;e=c[a+24>>2]|0;g[d+4>>2]=1.0;c[d+8>>2]=0;c[d+12>>2]=1;c[d+16>>2]=-1;c[d+20>>2]=0;c[d>>2]=6108;c[d+24>>2]=e;c[d+28>>2]=b;c[d+4>>2]=c[e+4>>2];c[d+20>>2]=c[e+20>>2];ad(c[a+16>>2]|0,c[a+20>>2]|0,d+32|0,d);l=d;return}function Xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;i=l;l=l+80|0;h=+nb[c[(c[a>>2]|0)+48>>2]&15](a);f=0;do{q=i+64+(f<<2)|0;c[i+64>>2]=0;c[i+64+4>>2]=0;c[i+64+8>>2]=0;c[i+64+12>>2]=0;g[q>>2]=1.0;j=c[(c[a>>2]|0)+64>>2]|0;k=+g[i+64>>2];m=+g[i+64+4>>2];n=+g[i+64+8>>2];o=k*+g[b+4>>2]+m*+g[b+20>>2]+n*+g[b+36>>2];p=k*+g[b+8>>2]+m*+g[b+24>>2]+n*+g[b+40>>2];g[i+32>>2]=+g[b>>2]*k+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[i+32+4>>2]=o;g[i+32+8>>2]=p;g[i+32+12>>2]=0.0;Sb[j&127](i+48|0,a,i+32|0);p=+g[i+48>>2];o=+g[i+48+4>>2];n=+g[i+48+8>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];k=p*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[i+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[i+32+4>>2]=m;g[i+32+8>>2]=k;g[i+32+12>>2]=0.0;j=i+32+(f<<2)|0;g[e+(f<<2)>>2]=h+ +g[j>>2];g[q>>2]=-1.0;q=c[(c[a>>2]|0)+64>>2]|0;k=+g[i+64>>2];m=+g[i+64+4>>2];n=+g[i+64+8>>2];o=k*+g[b+4>>2]+m*+g[b+20>>2]+n*+g[b+36>>2];p=k*+g[b+8>>2]+m*+g[b+24>>2]+n*+g[b+40>>2];g[i>>2]=+g[b>>2]*k+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[i+4>>2]=o;g[i+8>>2]=p;g[i+12>>2]=0.0;Sb[q&127](i+16|0,a,i);p=+g[i+16>>2];o=+g[i+16+4>>2];n=+g[i+16+8>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];k=p*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[i+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[i+32+4>>2]=m;g[i+32+8>>2]=k;g[i+32+12>>2]=0.0;g[d+(f<<2)>>2]=+g[j>>2]-h;f=f+1|0}while((f|0)!=3);l=i;return}function Yf(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0;m=l;l=l+48|0;c[6995]=(c[6995]|0)+1;f=sc(83)|0;if(!f)k=0;else{c[(f+4+15&-16)+-4>>2]=f;k=f+4+15&-16}c[k>>2]=g;c[k+4>>2]=h;c[k+8>>2]=i;h=k+16|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];h=k+32|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];h=k+56|0;c[h>>2]=0;i=k+52|0;c[i>>2]=0;c[m+16>>2]=c[d>>2];c[m+16+4>>2]=c[d+4>>2];c[m+16+8>>2]=c[d+8>>2];c[m+16+12>>2]=c[d+12>>2];c[m+16+16>>2]=c[e>>2];c[m+16+16+4>>2]=c[e+4>>2];c[m+16+16+8>>2]=c[e+8>>2];c[m+16+16+12>>2]=c[e+12>>2];c[k+60>>2]=c[b+104>>2];f=(c[b+148>>2]|0)+1|0;c[b+148>>2]=f;c[k+12>>2]=f;f=c[b+8>>2]|0;if(!f){c[6995]=(c[6995]|0)+1;f=sc(63)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;g=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(g|0))}else c[b+8>>2]=0;c[f+32>>2]=0;c[f+36>>2]=k;c[f+40>>2]=0;c[f>>2]=c[m+16>>2];c[f+4>>2]=c[m+16+4>>2];c[f+8>>2]=c[m+16+8>>2];c[f+12>>2]=c[m+16+12>>2];c[f+16>>2]=c[m+16+16>>2];c[f+20>>2]=c[m+16+20>>2];c[f+24>>2]=c[m+16+24>>2];c[f+28>>2]=c[m+16+28>>2];Pe(b+4|0,c[b+4>>2]|0,f);c[b+16>>2]=(c[b+16>>2]|0)+1;c[k+48>>2]=f;j=b+84+(c[b+104>>2]<<2)|0;c[i>>2]=0;c[h>>2]=c[j>>2];f=c[j>>2]|0;if(f|0)c[f+52>>2]=k;c[j>>2]=k;if(a[b+153>>0]|0){l=m;return k|0}c[m>>2]=9248;c[m+4>>2]=b;c[m+8>>2]=k;Bf(c[b+4>>2]|0,m+16|0,m);Bf(c[b+44>>2]|0,m+16|0,m);l=m;return k|0}function Zf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;C=l;l=l+96|0;n=+g[e+4>>2];o=+g[e+20>>2];p=+g[e+36>>2];q=+g[e+8>>2];r=+g[e+24>>2];s=+g[e+40>>2];t=+g[e+12>>2];u=+g[e+28>>2];v=+g[e+44>>2];w=-+g[e+52>>2];x=-+g[e+56>>2];y=-+g[e+60>>2];k=c[b+780>>2]|0;z=+g[k+(d*104|0)+8>>2];A=+g[k+(d*104|0)+12>>2];B=+g[k+(d*104|0)+16>>2];a:do if(f){f=c[b+328>>2]|0;b:do if((f|0)>0){j=c[b+336>>2]|0;i=0;while(1){if((c[j+(i<<2)>>2]|0)==(e|0))break;i=i+1|0;if((i|0)>=(f|0))break b}if((i|0)!=(f|0)){f=k;break a}}while(0);if((f|0)==(c[b+332>>2]|0)?(m=f|0?f<<1:1,(f|0)<(m|0)):0){if(!m)j=0;else{c[6995]=(c[6995]|0)+1;f=sc((m<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[b+328>>2]|0}if((f|0)>0){i=0;do{c[j+(i<<2)>>2]=c[(c[b+336>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+336>>2]|0;if(i){if(a[b+340>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);f=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=j;c[b+332>>2]=m}c[(c[b+336>>2]|0)+(f<<2)>>2]=e;c[b+328>>2]=f+1;f=c[b+780>>2]|0}else f=k;while(0);c[C>>2]=f+(d*104|0);c[C+20>>2]=e;g[C+4>>2]=n*w+o*x+p*y+(n*z+o*A+p*B);g[C+8>>2]=q*w+r*x+s*y+(q*z+r*A+s*B);g[C+12>>2]=t*w+u*x+v*y+(t*z+u*A+v*B);g[C+16>>2]=0.0;e=f+(d*104|0)+100|0;a[e>>0]=a[e>>0]|1;g[C+24>>2]=h;Ln(b+848|0,C);l=C;return}function _f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0;I=l;l=l+32|0;j=+g[b+16>>2];f=+g[b>>2];k=+g[b+20>>2];h=+g[b+4>>2];n=+g[b+24>>2];i=+g[b+8>>2];r=+g[b+32>>2];v=+g[b+36>>2];w=+g[b+40>>2];B=(k-h)*(w-i)-(n-i)*(v-h);C=(n-i)*(r-f)-(j-f)*(w-i);E=(j-f)*(v-h)-(k-h)*(r-f);g[I+16>>2]=B;g[I+16+4>>2]=C;g[I+16+8>>2]=E;g[I+16+12>>2]=0.0;o=+g[a+4>>2];s=+g[a+8>>2];x=+g[a+12>>2];F=B*o+C*s+E*x-(f*B+h*C+i*E);p=+g[a+20>>2];t=+g[a+24>>2];y=+g[a+28>>2];if(F*(B*p+C*t+E*y-(f*B+h*C+i*E))>=0.0){l=I;return}G=c[a+36>>2]|0;if(F<=0.0&(G&1|0)!=0){l=I;return}H=F/(F-(B*p+C*t+E*y-(f*B+h*C+i*E)));if(!(H<+g[a+40>>2])){l=I;return}A=(B*B+C*C+E*E)*-9.999999747378752e-05;z=f-(p*H+o*(1.0-H));u=h-(t*H+s*(1.0-H));q=i-(y*H+x*(1.0-H));m=j-(p*H+o*(1.0-H));k=k-(t*H+s*(1.0-H));j=n-(y*H+x*(1.0-H));if(!(E*(z*k-u*m)+(B*(u*j-q*k)+C*(q*m-z*j))>=A)){l=I;return}i=r-(p*H+o*(1.0-H));h=v-(t*H+s*(1.0-H));f=w-(y*H+x*(1.0-H));if(!(E*(m*h-k*i)+(B*(k*f-j*h)+C*(j*i-m*f))>=A)){l=I;return}if(!(E*(u*i-z*h)+(B*(q*h-u*f)+C*(z*f-q*i))>=A)){l=I;return}f=1.0/+D(+(B*B+C*C+E*E));g[I+16>>2]=B*f;g[I+16+4>>2]=C*f;g[I+16+8>>2]=E*f;b=c[(c[a>>2]|0)+12>>2]|0;if(F<=0.0&(G&2|0)==0){g[I>>2]=-(B*f);g[I+4>>2]=-(C*f);g[I+8>>2]=-(E*f);g[I+12>>2]=0.0;g[a+40>>2]=+pb[b&3](a,I,H,d,e);l=I;return}else{g[a+40>>2]=+pb[b&3](a,I+16|0,H,d,e);l=I;return}}function $f(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;k=l;l=l+144|0;i=c[b+12>>2]|0;if(!i){l=k;return}n=c[d+4>>2]|0;m=c[e+4>>2]|0;c[h+4>>2]=i;g[k+12+128>>2]=999999984306749440.0;i=c[d+12>>2]|0;c[k+12>>2]=c[i>>2];c[k+12+4>>2]=c[i+4>>2];c[k+12+8>>2]=c[i+8>>2];c[k+12+12>>2]=c[i+12>>2];c[k+12+16>>2]=c[i+16>>2];c[k+12+16+4>>2]=c[i+16+4>>2];c[k+12+16+8>>2]=c[i+16+8>>2];c[k+12+16+12>>2]=c[i+16+12>>2];c[k+12+32>>2]=c[i+32>>2];c[k+12+32+4>>2]=c[i+32+4>>2];c[k+12+32+8>>2]=c[i+32+8>>2];c[k+12+32+12>>2]=c[i+32+12>>2];c[k+12+48>>2]=c[i+48>>2];c[k+12+48+4>>2]=c[i+48+4>>2];c[k+12+48+8>>2]=c[i+48+8>>2];c[k+12+48+12>>2]=c[i+48+12>>2];i=c[e+12>>2]|0;c[k+12+64>>2]=c[i>>2];c[k+12+64+4>>2]=c[i+4>>2];c[k+12+64+8>>2]=c[i+8>>2];c[k+12+64+12>>2]=c[i+12>>2];c[k+12+80>>2]=c[i+16>>2];c[k+12+80+4>>2]=c[i+16+4>>2];c[k+12+80+8>>2]=c[i+16+8>>2];c[k+12+80+12>>2]=c[i+16+12>>2];c[k+12+96>>2]=c[i+32>>2];c[k+12+96+4>>2]=c[i+32+4>>2];c[k+12+96+8>>2]=c[i+32+8>>2];c[k+12+96+12>>2]=c[i+32+12>>2];c[k+12+112>>2]=c[i+48>>2];c[k+12+112+4>>2]=c[i+48+4>>2];c[k+12+112+8>>2]=c[i+48+8>>2];c[k+12+112+12>>2]=c[i+48+12>>2];c[k>>2]=9628;c[k+4>>2]=n;c[k+8>>2]=m;pc(k,k+12|0,h,c[f+20>>2]|0,0);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+780>>2]|0):0){d=c[j+772>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;b=c[(c[h+12>>2]|0)+8>>2]|0;if((d|0)==(e|0)){af(j,d+4|0,b+4|0);break}else{af(j,b+4|0,e+4|0);break}}while(0);l=k;return}function ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=qt()|0;Ij(f,4,b);c[f>>2]=4996;c[f+552>>2]=c[d>>2];c[f+552+4>>2]=c[d+4>>2];c[f+552+8>>2]=c[d+8>>2];c[f+552+12>>2]=c[d+12>>2];c[f+568>>2]=c[d+16>>2];c[f+568+4>>2]=c[d+16+4>>2];c[f+568+8>>2]=c[d+16+8>>2];c[f+568+12>>2]=c[d+16+12>>2];c[f+584>>2]=c[d+32>>2];c[f+584+4>>2]=c[d+32+4>>2];c[f+584+8>>2]=c[d+32+8>>2];c[f+584+12>>2]=c[d+32+12>>2];c[f+600>>2]=c[d+48>>2];c[f+600+4>>2]=c[d+48+4>>2];c[f+600+8>>2]=c[d+48+8>>2];c[f+600+12>>2]=c[d+48+12>>2];c[f+616>>2]=c[d>>2];c[f+616+4>>2]=c[d+4>>2];c[f+616+8>>2]=c[d+8>>2];c[f+616+12>>2]=c[d+12>>2];c[f+632>>2]=c[d+16>>2];c[f+632+4>>2]=c[d+16+4>>2];c[f+632+8>>2]=c[d+16+8>>2];c[f+632+12>>2]=c[d+16+12>>2];c[f+648>>2]=c[d+32>>2];c[f+648+4>>2]=c[d+32+4>>2];c[f+648+8>>2]=c[d+32+8>>2];c[f+648+12>>2]=c[d+32+12>>2];c[f+664>>2]=c[d+48>>2];c[f+664+4>>2]=c[d+48+4>>2];c[f+664+8>>2]=c[d+48+8>>2];c[f+664+12>>2]=c[d+48+12>>2];g[f+688>>2]=0.0;g[f+692>>2]=-1.0;g[f+696>>2]=.8999999761581421;g[f+700>>2]=.30000001192092896;g[f+704>>2]=1.0;g[f+708>>2]=0.0;g[f+712>>2]=0.0;a[f+716>>0]=0;a[f+736>>0]=0;a[f+737>>0]=0;a[f+738>>0]=0;a[f+739>>0]=1;a[f+740>>0]=e&1;c[f+748>>2]=0;c[f+748+4>>2]=0;c[f+748+8>>2]=0;c[f+748+12>>2]=0;c[f+748+16>>2]=0;d=c[f+28>>2]|0;l=+g[f+600>>2];k=+g[f+604>>2];j=+g[f+608>>2];i=l*+g[d+20>>2]+k*+g[d+24>>2]+j*+g[d+28>>2]+ +g[d+56>>2];h=l*+g[d+36>>2]+k*+g[d+40>>2]+j*+g[d+44>>2]+ +g[d+60>>2];g[f+664>>2]=l*+g[d+4>>2]+k*+g[d+8>>2]+j*+g[d+12>>2]+ +g[d+52>>2];g[f+668>>2]=i;g[f+672>>2]=h;g[f+676>>2]=0.0;g[f+732>>2]=e?-1.0:1.0;return f|0}function bg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;q=l;l=l+48|0;if((f|0)==(d|0)|((d|0)==(e|0)|(e|0)==(f|0))){l=q;return}k=q;m=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));if(!h)o=c[c[b+940>>2]>>2]|0;else o=h;h=c[b+812>>2]|0;if((h|0)==(c[b+816>>2]|0)?(p=h|0?h<<1:1,(h|0)<(p|0)):0){if(!p)n=0;else{c[6995]=(c[6995]|0)+1;h=sc((p*44|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}n=h;h=c[b+812>>2]|0}if((h|0)>0){i=0;do{k=n+(i*44|0)|0;j=(c[b+820>>2]|0)+(i*44|0)|0;m=k+44|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(m|0));i=i+1|0}while((i|0)!=(h|0))}h=c[b+820>>2]|0;if(h|0){if(a[b+824>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+820>>2]=0}a[b+824>>0]=1;c[b+820>>2]=n;c[b+816>>2]=p;h=c[b+812>>2]|0}k=c[b+820>>2]|0;c[k+(h*44|0)>>2]=0;c[k+(h*44|0)+4>>2]=o;k=k+(h*44|0)+8|0;j=q;m=k+36|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(m|0));p=c[b+812>>2]|0;c[b+812>>2]=p+1;o=c[b+820>>2]|0;k=c[b+780>>2]|0;c[o+(p*44|0)+8>>2]=k+(d*104|0);m=c[b+780>>2]|0;c[o+(p*44|0)+12>>2]=m+(e*104|0);n=c[b+780>>2]|0;c[o+(p*44|0)+16>>2]=n+(f*104|0);t=+g[k+(d*104|0)+8>>2];v=+g[k+(d*104|0)+12>>2];r=+g[k+(d*104|0)+16>>2];s=+g[m+(e*104|0)+8>>2]-t;w=+g[m+(e*104|0)+12>>2]-v;u=+g[m+(e*104|0)+16>>2]-r;t=+g[n+(f*104|0)+8>>2]-t;v=+g[n+(f*104|0)+12>>2]-v;r=+g[n+(f*104|0)+16>>2]-r;g[o+(p*44|0)+36>>2]=+D(+((s*v-w*t)*(s*v-w*t)+((w*r-u*v)*(w*r-u*v)+(u*t-s*r)*(u*t-s*r))));a[b+984>>0]=1;l=q;return}function cg(b,d,e,f,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0;r=l;l=l+80|0;g[r+16+60>>2]=0.0;g[r+16+8>>2]=0.0;g[r+16+12>>2]=.10000000149011612;g[r+16+16>>2]=300.0;g[r+16>>2]=1.0;g[r+16+4>>2]=-1.0;g[r+16+28>>2]=0.0;g[r+16+32>>2]=.20000000298023224;g[r+16+36>>2]=0.0;g[r+16+40>>2]=0.0;g[r+16+20>>2]=1.0;g[r+16+24>>2]=.5;c[r+16+56>>2]=0;g[r+16+48>>2]=0.0;a[r+16+44>>0]=0;p=0;do{o=c[b+856+(p<<2)>>2]|0;n=a[b+788+p>>0]|0;if(!o){if(n<<24>>24){n=1;q=5}}else q=5;if((q|0)==5){q=0;g[r+16+40>>2]=0.0;c[r+16+56>>2]=o;c[r+16+52>>2]=c[b+840+(p<<2)>>2];c[r+16+48>>2]=c[b+824+(p<<2)>>2];c[r+16+20>>2]=c[b+732>>2];a[r+16+44>>0]=n;c[r+16+4>>2]=c[b+696+(p<<2)>>2];c[r+16+24>>2]=c[b+728>>2];c[r+16>>2]=c[b+680+(p<<2)>>2];g[r+16+16>>2]=0.0;c[r+16+12>>2]=c[b+808+(p<<2)>>2];c[r+16+8>>2]=c[b+792+(p<<2)>>2];c[r>>2]=c[b+1064+(p<<2)>>2];c[r+4>>2]=c[b+1080+(p<<2)>>2];c[r+8>>2]=c[b+1096+(p<<2)>>2];g[r+12>>2]=0.0;o=c[b+1304>>2]>>p*3;if(!(o&1))n=c[d+32>>2]|0;else n=b+740+(p<<2)|0;c[r+16+28>>2]=c[n>>2];if(!(o&2))n=c[d+32>>2]|0;else n=b+772+(p<<2)|0;c[r+16+36>>2]=c[n>>2];c[r+16+32>>2]=c[((o&4|0)==0?d+4|0:b+756+(p<<2)|0)>>2];if(a[b+1301>>0]|0){o=p+1|0;if(!(c[b+868+(((o|0)==3?0:o)<<6)+56>>2]|0))n=1;else n=(c[b+868+(((p+2|0)%3|0)<<6)+56>>2]|0)==0&1}else n=0;e=(Hd(b,r+16|0,f,h,i,j,k,m,d,e,r,0,n)|0)+e|0}p=p+1|0}while((p|0)!=3);l=r;return e|0}function dg(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0;e=c[b+248>>2]|0;if((e|0)<=0)return;q=0;do{p=c[(c[b+256>>2]|0)+(q<<2)>>2]|0;if(!(c[p+204>>2]&3)){m=+g[p+504>>2];f=+E(+(1.0-m),+d);i=f*+g[p+372>>2];g[p+372>>2]=i;h=f*+g[p+376>>2];g[p+376>>2]=h;f=f*+g[p+380>>2];g[p+380>>2]=f;o=+g[p+508>>2];l=+E(+(1.0-o),+d);j=l*+g[p+388>>2];g[p+388>>2]=j;k=l*+g[p+392>>2];g[p+392>>2]=k;l=l*+g[p+396>>2];g[p+396>>2]=l;do if(a[p+512>>0]|0){if(l*l+(j*j+k*k)<+g[p+524>>2]?i*i+h*h+f*f<+g[p+520>>2]:0){r=+g[p+516>>2];g[p+388>>2]=j*r;g[p+392>>2]=r*k;g[p+396>>2]=r*l;g[p+372>>2]=r*i;g[p+376>>2]=r*h;g[p+380>>2]=r*f;i=r*i;h=r*h;f=r*f;n=j*r;k=r*k;l=r*l}else n=j;j=+D(+(i*i+h*h+f*f));do if(j<m)if(j>.004999999888241291){i=i-i*(1.0/j)*.004999999888241291;g[p+372>>2]=i;h=h-h*(1.0/j)*.004999999888241291;g[p+376>>2]=h;f=f-f*(1.0/j)*.004999999888241291;g[p+380>>2]=f;break}else{c[p+372>>2]=0;c[p+372+4>>2]=0;c[p+372+8>>2]=0;c[p+372+12>>2]=0;i=0.0;h=0.0;f=0.0;break}while(0);j=+D(+(n*n+k*k+l*l));if(j<o)if(j>.004999999888241291){g[p+388>>2]=n-n*(1.0/j)*.004999999888241291;g[p+392>>2]=k-k*(1.0/j)*.004999999888241291;g[p+396>>2]=l-l*(1.0/j)*.004999999888241291;break}else{c[p+388>>2]=0;c[p+388+4>>2]=0;c[p+388+8>>2]=0;c[p+388+12>>2]=0;break}}while(0);Af(p+4|0,i,h,f,p+388|0,d,p+68|0);e=c[b+248>>2]|0}q=q+1|0}while((q|0)<(e|0));return}function eg(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=qt()|0;Ij(e,4,b);c[e>>2]=4996;c[e+552>>2]=c[d>>2];c[e+552+4>>2]=c[d+4>>2];c[e+552+8>>2]=c[d+8>>2];c[e+552+12>>2]=c[d+12>>2];c[e+568>>2]=c[d+16>>2];c[e+568+4>>2]=c[d+16+4>>2];c[e+568+8>>2]=c[d+16+8>>2];c[e+568+12>>2]=c[d+16+12>>2];c[e+584>>2]=c[d+32>>2];c[e+584+4>>2]=c[d+32+4>>2];c[e+584+8>>2]=c[d+32+8>>2];c[e+584+12>>2]=c[d+32+12>>2];c[e+600>>2]=c[d+48>>2];c[e+600+4>>2]=c[d+48+4>>2];c[e+600+8>>2]=c[d+48+8>>2];c[e+600+12>>2]=c[d+48+12>>2];c[e+616>>2]=c[d>>2];c[e+616+4>>2]=c[d+4>>2];c[e+616+8>>2]=c[d+8>>2];c[e+616+12>>2]=c[d+12>>2];c[e+632>>2]=c[d+16>>2];c[e+632+4>>2]=c[d+16+4>>2];c[e+632+8>>2]=c[d+16+8>>2];c[e+632+12>>2]=c[d+16+12>>2];c[e+648>>2]=c[d+32>>2];c[e+648+4>>2]=c[d+32+4>>2];c[e+648+8>>2]=c[d+32+8>>2];c[e+648+12>>2]=c[d+32+12>>2];c[e+664>>2]=c[d+48>>2];c[e+664+4>>2]=c[d+48+4>>2];c[e+664+8>>2]=c[d+48+8>>2];c[e+664+12>>2]=c[d+48+12>>2];g[e+688>>2]=0.0;g[e+692>>2]=-1.0;g[e+696>>2]=.8999999761581421;g[e+700>>2]=.30000001192092896;g[e+704>>2]=1.0;g[e+708>>2]=0.0;g[e+712>>2]=0.0;a[e+716>>0]=0;a[e+736>>0]=0;a[e+737>>0]=0;a[e+738>>0]=0;a[e+739>>0]=1;a[e+740>>0]=0;c[e+748>>2]=0;c[e+748+4>>2]=0;c[e+748+8>>2]=0;c[e+748+12>>2]=0;c[e+748+16>>2]=0;d=c[e+28>>2]|0;k=+g[e+600>>2];j=+g[e+604>>2];i=+g[e+608>>2];h=k*+g[d+20>>2]+j*+g[d+24>>2]+i*+g[d+28>>2]+ +g[d+56>>2];f=k*+g[d+36>>2]+j*+g[d+40>>2]+i*+g[d+44>>2]+ +g[d+60>>2];g[e+664>>2]=k*+g[d+4>>2]+j*+g[d+8>>2]+i*+g[d+12>>2]+ +g[d+52>>2];g[e+668>>2]=h;g[e+672>>2]=f;g[e+676>>2]=0.0;g[e+732>>2]=1.0;return e|0}function fg(a,b,c,d,e,f,h,i,j,k,l){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;x=+g[j+(h<<2)>>2];y=+g[j+16+(h<<2)>>2];w=+g[j+32+(h<<2)>>2];o=+g[k+(i<<2)>>2];q=+g[k+16+(i<<2)>>2];s=+g[k+32+(i<<2)>>2];t=+g[k+48>>2]-+g[j+48>>2];u=+g[k+52>>2]-+g[j+52>>2];v=+g[k+56>>2]-+g[j+56>>2];m=1.0-(x*o+y*q+w*s)*(x*o+y*q+w*s);if(!(m==0.0)){m=(x*t+y*u+w*v-(x*o+y*q+w*s)*(o*t+q*u+s*v))/m;if(!(m<-c)){if(m>c){m=c;p=4}}else{m=-c;p=4}}else{m=0.0;p=4}n=(x*o+y*q+w*s)*m-(o*t+q*u+s*v);if(n<-e){m=(x*o+y*q+w*s)*-e+(x*t+y*u+w*v);if(!(m<-c))if(m>c){n=-e;m=c}else n=-e;else{n=-e;m=-c}}else if(n>e){m=(x*o+y*q+w*s)*e+(x*t+y*u+w*v);if(!(m<-c))if(m>c){n=e;m=c}else n=e;else{n=e;m=-c}}r=o*n;q=q*n;o=s*n;e=r+(t-x*m);n=q+(u-y*m);m=o+(v-w*m);c=+D(+(m*m+(e*e+n*n)));if(c-d-f>l)return +(c-d-f);do if(m*m+(e*e+n*n)<=1.4210854715202004e-14)if(+C(+w)>.7071067690849304){m=1.0/+D(+(y*y+w*w));g[a>>2]=0.0;g[a+4>>2]=-(w*m);i=a+4|0;j=a;m=y*m;h=2;break}else{m=1.0/+D(+(x*x+y*y));g[a>>2]=-(y*m);g[a+4>>2]=x*m;i=a+4|0;j=a;m=0.0;h=2;break}else{g[a>>2]=e*-(1.0/c);g[a+4>>2]=n*-(1.0/c);g[a+8>>2]=m*-(1.0/c);i=a+4|0;j=a;m=0.0;h=3}while(0);g[a+(h<<2)>>2]=m;x=q+ +g[k+52>>2]+ +g[i>>2]*f;y=o+ +g[k+56>>2]+ +g[a+8>>2]*f;g[b>>2]=r+ +g[k+48>>2]+ +g[j>>2]*f;g[b+4>>2]=x;g[b+8>>2]=y;g[b+12>>2]=0.0;return +(c-d-f)}function gg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=c[b+28>>2]|0;j=c[b+32>>2]|0;if(!(a[b+1301>>0]|0)){h=0;e=cg(b,d,0,i+4|0,j+4|0,i+372|0,j+372|0,i+388|0,j+388|0)|0;do{f=b+868+(h<<6)|0;if(!((c[b+868+(h<<6)+56>>2]|0)==0?(a[b+868+(h<<6)+44>>0]|0)==0:0)){g=b+1208+(h<<4)|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];g=c[b+1304>>2]>>(h*3|0)+9;if(!(g&1))c[b+868+(h<<6)+28>>2]=c[c[d+32>>2]>>2];if(!(g&2))c[b+868+(h<<6)+36>>2]=c[c[d+32>>2]>>2];if(!(g&4))c[b+868+(h<<6)+32>>2]=c[d+4>>2];e=(Hd(b,f,i+4|0,j+4|0,i+372|0,j+372|0,i+388|0,j+388|0,d,e,k,1,0)|0)+e|0}h=h+1|0}while((h|0)!=3);l=k;return}h=0;e=0;do{f=b+868+(h<<6)|0;if(!((c[b+868+(h<<6)+56>>2]|0)==0?(a[b+868+(h<<6)+44>>0]|0)==0:0)){g=b+1208+(h<<4)|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];g=c[b+1304>>2]>>(h*3|0)+9;if(!(g&1))c[b+868+(h<<6)+28>>2]=c[c[d+32>>2]>>2];if(!(g&2))c[b+868+(h<<6)+36>>2]=c[c[d+32>>2]>>2];if(!(g&4))c[b+868+(h<<6)+32>>2]=c[d+4>>2];e=(Hd(b,f,i+4|0,j+4|0,i+372|0,j+372|0,i+388|0,j+388|0,d,e,k,1,0)|0)+e|0}h=h+1|0}while((h|0)!=3);cg(b,d,e,i+4|0,j+4|0,i+372|0,j+372|0,i+388|0,j+388|0)|0;l=k;return}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[6995]=(c[6995]|0)+1;e=sc(31)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[a+60>>2]|0;c[e+4>>2]=f;g=e+8|0;c[g>>2]=0;c[6995]=(c[6995]|0)+1;f=sc((f*24|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[e>>2]=f;c[g>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];h=c[e>>2]|0;g=c[e+4>>2]|0;if((g|0)>0){e=0;f=h;do{e=e+1|0;i=f;f=f+24|0;c[i>>2]=(e|0)<(g|0)?f:0}while((e|0)!=(g|0))}}else h=e;c[a+56>>2]=c[h>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[6995]=(c[6995]|0)+1;e=sc(31)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[a+60>>2]|0;c[f+4>>2]=e;g=f+8|0;c[g>>2]=0;c[6995]=(c[6995]|0)+1;e=sc((e*24|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[f>>2]=e;c[g>>2]=c[a+48>>2];c[a+48>>2]=f}else{c[a+52>>2]=c[e+8>>2];f=e}e=c[f>>2]|0;i=c[f+4>>2]|0;if((i|0)>0){f=0;g=e;do{f=f+1|0;j=g;g=g+24|0;c[j>>2]=(f|0)<(i|0)?g:0}while((f|0)!=(i|0))}}c[a+56>>2]=c[e>>2];j=e;c[j>>2]=0;c[j+4>>2]=0;c[h+8>>2]=e;c[e+8>>2]=h;j=c[a+100>>2]|0;c[h+20>>2]=j;c[e+20>>2]=j;c[h+12>>2]=d;c[e+12>>2]=b;c[h+16>>2]=0;c[e+16>>2]=0;e=c[a+116>>2]|0;c[a+116>>2]=e+1;if((e|0)<(c[a+120>>2]|0))return h|0;c[a+120>>2]=e+1;return h|0}function ig(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0;c[b+4>>2]=1065353216;c[b+8>>2]=1065353216;c[b+12>>2]=1065353216;g[b+16>>2]=0.0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+48>>2]=0;c[b>>2]=8796;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+164>>0]=d&1;a[b+165>>0]=e&1;g[b+168>>2]=0.0;c[6995]=(c[6995]|0)+1;d=sc(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+24>>2]|0;if((e|0)>0){d=0;do{h=f+(d<<5)|0;i=(c[b+32>>2]|0)+(d<<5)|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[h+16>>2]=c[i+16>>2];c[h+20>>2]=c[i+20>>2];c[h+24>>2]=c[i+24>>2];c[h+28>>2]=c[i+28>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=f;c[b+28>>2]=1;i=c[b+24>>2]|0;c[f+(i<<5)>>2]=0;c[f+(i<<5)+4>>2]=0;c[f+(i<<5)+8>>2]=12;c[f+(i<<5)+12>>2]=0;c[f+(i<<5)+16>>2]=0;c[f+(i<<5)+20>>2]=16;c[f+(i<<5)+24>>2]=2;c[f+(i<<5)+28>>2]=0;c[b+24>>2]=(c[b+24>>2]|0)+1;i=(a[b+164>>0]|0)==0;d=c[b+32>>2]|0;c[d>>2]=(c[(i?b+148|0:b+128|0)>>2]|0)/3|0;c[d+4>>2]=0;c[d+24>>2]=i?3:2;c[d+8>>2]=i?6:12;if(!(a[b+165>>0]|0)){h=12;b=(c[b+108>>2]|0)/3|0;i=d+12|0;c[i>>2]=b;i=d+16|0;c[i>>2]=0;i=d+20|0;c[i>>2]=h;return}else{h=16;b=c[b+88>>2]|0;i=d+12|0;c[i>>2]=b;i=d+16|0;c[i>>2]=0;i=d+20|0;c[i>>2]=h;return}}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;f=l;l=l+112|0;h=c[a+28>>2]|0;x=+g[d>>2];D=+g[h>>2];w=+g[d+16>>2];C=+g[h+4>>2];v=+g[d+32>>2];B=+g[h+8>>2];u=+g[d+4>>2];t=+g[d+20>>2];s=+g[d+36>>2];r=+g[d+8>>2];p=+g[d+24>>2];n=+g[d+40>>2];A=+g[h+16>>2];z=+g[h+20>>2];y=+g[h+24>>2];q=+g[h+32>>2];o=+g[h+36>>2];m=+g[h+40>>2];F=+g[d+48>>2];E=+g[d+52>>2];i=+g[d+56>>2];k=+g[h+48>>2]+(D*F+C*E+B*i);j=A*F+z*E+y*i+ +g[h+52>>2];i=q*F+o*E+m*i+ +g[h+56>>2];g[f+48>>2]=x*D+w*C+v*B;g[f+48+4>>2]=D*u+C*t+B*s;g[f+48+8>>2]=D*r+C*p+B*n;g[f+48+12>>2]=0.0;g[f+48+16>>2]=x*A+w*z+v*y;g[f+48+20>>2]=u*A+t*z+s*y;g[f+48+24>>2]=r*A+p*z+n*y;g[f+48+28>>2]=0.0;g[f+48+32>>2]=x*q+w*o+v*m;g[f+48+36>>2]=u*q+t*o+s*m;g[f+48+40>>2]=r*q+p*o+n*m;g[f+48+44>>2]=0.0;g[f+48+48>>2]=k;g[f+48+52>>2]=j;g[f+48+56>>2]=i;g[f+48+60>>2]=0.0;h=c[a+32>>2]|0;g[f+24+4>>2]=1.0;c[f+24+8>>2]=1;c[f+24+12>>2]=-1;c[f+24>>2]=6260;c[f+24+16>>2]=h;c[f+24+20>>2]=b;c[f+24+4>>2]=c[h+4>>2];h=c[a+4>>2]|0;d=c[h+8>>2]|0;c[f>>2]=h;c[f+4>>2]=e;c[f+8>>2]=d;c[f+12>>2]=f+48;c[f+16>>2]=-1;c[f+20>>2]=b;vc(c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,f,f+24|0,+g[a+20>>2]);l=f;return}function kg(){var b=0,d=0,e=0;b=Us(348)|0;c[b>>2]=5320;c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+28>>2]=0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=-1;c[b+220>>2]=1;g[b+224>>2]=0.0;g[b+228>>2]=.5;g[b+232>>2]=0.0;g[b+236>>2]=0.0;g[b+240>>2]=0.0;g[b+244>>2]=.10000000149011612;g[b+248>>2]=1.0e4;c[b+256>>2]=0;c[b+260>>2]=-1;c[b+264>>2]=-1;g[b+268>>2]=1.0;g[b+272>>2]=0.0;g[b+276>>2]=0.0;c[b+280>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;c[b+304>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b+68>>2]=1065353216;c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+88>>2]=1065353216;c[b+92>>2]=0;c[b+92+4>>2]=0;c[b+92+8>>2]=0;c[b+92+12>>2]=0;c[b+108>>2]=1065353216;c[b+112>>2]=0;c[b+112+4>>2]=0;c[b+112+8>>2]=0;c[b+112+12>>2]=0;c[b+112+16>>2]=0;a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b+252>>2]=4;c[b>>2]=5400;c[6995]=(c[6995]|0)+1;d=sc(91)|0;if(!d){e=0;Li(e);d=b+344|0;c[d>>2]=e;return b|0}c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16;Li(d);e=b+344|0;c[e>>2]=d;return b|0}function lg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+16|0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;c[b+24>>2]=1065353216;g[b+28>>2]=0.0;g[b+48>>2]=.03999999910593033;c[b+56>>2]=0;c[b+60>>2]=1065353216;c[b+64>>2]=1065353216;c[b+68>>2]=1065353216;g[b+72>>2]=0.0;c[b+76>>2]=-1082130432;c[b+80>>2]=-1082130432;c[b+84>>2]=-1082130432;g[b+88>>2]=0.0;a[b+92>>0]=0;c[b>>2]=7604;a[b+112>>0]=1;c[b+108>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b+4>>2]=4;if((e|0)<=0){c[b+100>>2]=e;uj(b);l=k;return}c[6995]=(c[6995]|0)+1;h=sc((e<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+100>>2]|0;if((i|0)>0){h=0;do{m=j+(h<<4)|0;n=(c[b+108>>2]|0)+(h<<4)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+108>>2]|0;if(h|0){if(a[b+112>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+108>>2]=0}a[b+112>>0]=1;c[b+108>>2]=j;c[b+104>>2]=e;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];if((e|0)!=1){h=1;do{n=(c[b+108>>2]|0)+(h<<4)|0;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];h=h+1|0}while((h|0)!=(e|0))}c[b+100>>2]=e;h=0;while(1){j=c[d+4>>2]|0;m=c[d+8>>2]|0;n=c[b+108>>2]|0;c[n+(h<<4)>>2]=c[d>>2];c[n+(h<<4)+4>>2]=j;c[n+(h<<4)+8>>2]=m;g[n+(h<<4)+12>>2]=0.0;h=h+1|0;if((h|0)==(e|0))break;else d=d+f|0}uj(b);l=k;return}function mg(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0;s=l;l=l+48|0;q=+g[d>>2];p=+g[d+4>>2];r=+g[d+8>>2];j=q*+g[b+4>>2]+p*+g[b+20>>2]+r*+g[b+36>>2];k=q*+g[b+8>>2]+p*+g[b+24>>2]+r*+g[b+40>>2];g[s+32>>2]=+g[b>>2]*q+ +g[b+16>>2]*p+ +g[b+32>>2]*r;g[s+32+4>>2]=j;g[s+32+8>>2]=k;g[s+32+12>>2]=0.0;Sb[c[(c[a>>2]|0)+64>>2]&127](s+16|0,a,s+32|0);k=+g[s+16>>2];j=+g[s+16+4>>2];r=+g[s+16+8>>2];p=k*+g[b>>2]+j*+g[b+4>>2]+r*+g[b+8>>2]+ +g[b+48>>2];q=k*+g[b+16>>2]+j*+g[b+20>>2]+r*+g[b+24>>2]+ +g[b+52>>2];r=k*+g[b+32>>2]+j*+g[b+36>>2]+r*+g[b+40>>2]+ +g[b+56>>2];t=c[(c[a>>2]|0)+64>>2]|0;j=-+g[s+32+4>>2];k=-+g[s+32+8>>2];g[s>>2]=-+g[s+32>>2];g[s+4>>2]=j;g[s+8>>2]=k;g[s+12>>2]=0.0;Sb[t&127](s+16|0,a,s);k=+g[s+16>>2];j=+g[s+16+4>>2];m=+g[s+16+8>>2];n=k*+g[b>>2]+j*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];o=k*+g[b+16>>2]+j*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];m=k*+g[b+32>>2]+j*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];g[e>>2]=p*+g[d>>2]+q*+g[d+4>>2]+r*+g[d+8>>2];g[f>>2]=n*+g[d>>2]+o*+g[d+4>>2]+m*+g[d+8>>2];g[i>>2]=n;g[i+4>>2]=o;g[i+8>>2]=m;g[i+12>>2]=0.0;g[h>>2]=p;g[h+4>>2]=q;g[h+8>>2]=r;g[h+12>>2]=0.0;j=+g[e>>2];k=+g[f>>2];if(!(j>k)){l=s;return}g[e>>2]=k;g[f>>2]=j;g[i>>2]=p;g[i+4>>2]=q;g[i+8>>2]=r;g[i+12>>2]=0.0;g[h>>2]=n;g[h+4>>2]=o;g[h+8>>2]=m;g[h+12>>2]=0.0;l=s;return}function ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;if((b|0)<0)b=c[a+12>>2]|0;d=c[a>>2]|0;if(!((b|0)>0&(d|0)!=0)){l=n;return}while(1){e=d+40|0;if(c[e>>2]|0){m=0;while(1){g=d+32|0;h=c[g>>2]|0;if(h>>>0>d>>>0){i=(c[h+40>>2]|0)==(d|0)&1;j=c[h+36+((i^1)<<2)>>2]|0;k=c[h+32>>2]|0;if(!k)f=a;else f=k+36+(((c[k+40>>2]|0)==(h|0)&1)<<2)|0;c[f>>2]=d;c[j+32>>2]=d;c[h+32>>2]=d;c[g>>2]=k;k=d+36|0;c[h+36>>2]=c[k>>2];c[h+40>>2]=c[e>>2];c[(c[k>>2]|0)+32>>2]=h;c[(c[e>>2]|0)+32>>2]=h;c[d+36+(i<<2)>>2]=h;c[d+36+((i^1)<<2)>>2]=j;c[n>>2]=c[h>>2];c[n+4>>2]=c[h+4>>2];c[n+8>>2]=c[h+8>>2];c[n+12>>2]=c[h+12>>2];c[n+16>>2]=c[h+16>>2];c[n+20>>2]=c[h+20>>2];c[n+24>>2]=c[h+24>>2];c[n+28>>2]=c[h+28>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[d+16>>2]=c[n+16>>2];c[d+20>>2]=c[n+20>>2];c[d+24>>2]=c[n+24>>2];c[d+28>>2]=c[n+28>>2];d=h}d=c[d+36+(((c[a+16>>2]|0)>>>m&1)<<2)>>2]|0;e=d+40|0;if(!(c[e>>2]|0))break;else m=m+1&31}}if(!(Ag(a,d)|0))e=0;else e=c[a>>2]|0;Pe(a,e,d);c[a+16>>2]=(c[a+16>>2]|0)+1;b=b+-1|0;if(!b)break;d=c[a>>2]|0}l=n;return}function og(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0;i=l;l=l+32|0;d=a[b+8>>0]|0?d:e;if(((c[(c[d+4>>2]|0)+4>>2]|0)+-21|0)>>>0>=9){l=i;return}e=c[(c[d+8>>2]|0)+192>>2]|0;y=+nb[c[(c[e>>2]|0)+48>>2]&15](e);c[b+64>>2]=f;g[b+68>>2]=y+.05999999865889549;c[b+56>>2]=h;h=c[b+16>>2]|0;Sb[c[(c[h>>2]|0)+28>>2]&127](h,i+16|0,i);y=+g[i>>2];x=+g[i+16>>2];w=+g[i+4>>2];v=+g[i+16+4>>2];u=+g[i+8>>2];t=+g[i+16+8>>2];h=c[d+12>>2]|0;B=+g[h>>2];o=+g[h+16>>2];D=+g[h+32>>2];z=+g[h+4>>2];m=+g[h+20>>2];A=+g[h+36>>2];q=+g[h+8>>2];j=+g[h+24>>2];r=+g[h+40>>2];E=-+g[h+48>>2];s=-+g[h+52>>2];k=-+g[h+56>>2];p=(y+x)*.5*B+(w+v)*.5*o+(u+t)*.5*D+(B*E+o*s+D*k);n=(y+x)*.5*z+(w+v)*.5*m+(u+t)*.5*A+(z*E+m*s+A*k);k=(y+x)*.5*q+(w+v)*.5*j+(u+t)*.5*r+(q*E+j*s+r*k);s=+g[b+68>>2];o=((y-x)*.5+s)*+C(+(B+o*0.0+D*0.0))+((w-v)*.5+s)*+C(+(B*0.0+o+D*0.0))+((u-t)*.5+s)*+C(+(D+(B*0.0+o*0.0)));m=((y-x)*.5+s)*+C(+(z+m*0.0+A*0.0))+((w-v)*.5+s)*+C(+(z*0.0+m+A*0.0))+((u-t)*.5+s)*+C(+(A+(z*0.0+m*0.0)));j=((y-x)*.5+s)*+C(+(q+j*0.0+r*0.0))+((w-v)*.5+s)*+C(+(q*0.0+j+r*0.0))+((u-t)*.5+s)*+C(+(r+(q*0.0+j*0.0)));g[b+24>>2]=p-o;g[b+28>>2]=n-m;g[b+32>>2]=k-j;g[b+36>>2]=0.0;g[b+40>>2]=p+o;g[b+44>>2]=n+m;g[b+48>>2]=k+j;g[b+52>>2]=0.0;Vb[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);l=i;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0;x=l;l=l+48|0;u=+g[e>>2];v=+g[d>>2];w=+g[e+4>>2];t=+g[d+4>>2];s=+g[e+8>>2];n=+g[d+8>>2];o=+D(+((u-v)*.5*(u-v)*.5+(w-t)*.5*(w-t)*.5+(s-n)*.5*(s-n)*.5));p=+g[a+60>>2];d=+C(+p)>.7071067690849304;q=+g[a+56>>2];if(d){m=1.0/+D(+(p*p+q*q));r=+g[a+52>>2];f=r*-(p*m);h=(p*p+q*q)*m;i=0.0;j=-(r*q*m);k=-(p*m);m=q*m}else{r=+g[a+52>>2];k=1.0/+D(+(r*r+q*q));f=(r*r+q*q)*k;h=-(p*r*k);i=-(q*k);j=p*-(q*k);k=r*k;m=0.0}y=(u+v)*.5*r+(w+t)*.5*q+(s+n)*.5*p-+g[a+68>>2];z=(u+v)*.5-r*y;i=o*i;r=o*k;v=o*m;k=o*h;m=o*j;u=o*f;g[x>>2]=k+(i+z);g[x+4>>2]=m+(r+((w+t)*.5-q*y));g[x+8>>2]=u+(v+((s+n)*.5-p*y));g[x+12>>2]=0.0;g[x+16>>2]=i+z-k;g[x+20>>2]=r+((w+t)*.5-q*y)-m;g[x+24>>2]=v+((s+n)*.5-p*y)-u;g[x+28>>2]=0.0;g[x+32>>2]=z-i-k;g[x+36>>2]=(w+t)*.5-q*y-r-m;g[x+40>>2]=(s+n)*.5-p*y-v-u;g[x+44>>2]=0.0;Vb[c[(c[b>>2]|0)+8>>2]&127](b,x,0,0);g[x>>2]=z-i-k;g[x+4>>2]=(w+t)*.5-q*y-r-m;g[x+8>>2]=(s+n)*.5-p*y-v-u;g[x+12>>2]=0.0;g[x+16>>2]=k+(z-i);g[x+20>>2]=m+((w+t)*.5-q*y-r);g[x+24>>2]=u+((s+n)*.5-p*y-v);g[x+28>>2]=0.0;g[x+32>>2]=k+(i+z);g[x+36>>2]=m+(r+((w+t)*.5-q*y));g[x+40>>2]=u+(v+((s+n)*.5-p*y));g[x+44>>2]=0.0;Vb[c[(c[b>>2]|0)+8>>2]&127](b,x,0,1);l=x;return}function qg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!(a[d+164>>0]|0)){f=c[d+148>>2]|0;if((f|0)==(c[d+152>>2]|0)?(k=f|0?f<<1:1,(f|0)<(k|0)):0){if(!k)i=0;else{c[6995]=(c[6995]|0)+1;f=sc((k<<1)+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+148>>2]|0}h=c[d+156>>2]|0;if((f|0)<=0)if(!h)f=d+160|0;else g=27;else{g=0;do{b[i+(g<<1)>>1]=b[h+(g<<1)>>1]|0;g=g+1|0}while((g|0)!=(f|0));g=27}if((g|0)==27){if(a[d+160>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=k;f=c[d+148>>2]|0}b[(c[d+156>>2]|0)+(f<<1)>>1]=e;c[d+148>>2]=f+1;k=d+156|0;k=c[k>>2]|0;e=d+32|0;e=c[e>>2]|0;e=e+4|0;c[e>>2]=k;return}else{f=c[d+128>>2]|0;if((f|0)==(c[d+132>>2]|0)?(j=f|0?f<<1:1,(f|0)<(j|0)):0){if(!j)i=0;else{c[6995]=(c[6995]|0)+1;f=sc((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+128>>2]|0}h=c[d+136>>2]|0;if((f|0)<=0)if(!h)f=d+140|0;else g=12;else{g=0;do{c[i+(g<<2)>>2]=c[h+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0));g=12}if((g|0)==12){if(a[d+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=j;f=c[d+128>>2]|0}c[(c[d+136>>2]|0)+(f<<2)>>2]=e;c[d+128>>2]=(c[d+128>>2]|0)+1;k=d+136|0;k=c[k>>2]|0;e=d+32|0;e=c[e>>2]|0;e=e+4|0;c[e>>2]=k;return}}function rg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;ce(b,d);c[b>>2]=3244;c[6995]=(c[6995]|0)+1;e=sc(27)|0;i=e+4+15&-16;c[i+-4>>2]=e;a[i+4>>0]=0;c[(e+4+15&-16)>>2]=3276;c[b+88>>2]=i;c[6995]=(c[6995]|0)+1;i=sc(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=3296;c[b+92>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=3296;c[b+96>>2]=e;a[e+4>>0]=1;c[6995]=(c[6995]|0)+1;i=sc(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=3316;c[b+100>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=3336;c[b+104>>2]=e;a[e+4>>0]=1;if(!(a[b+20>>0]|0))return;e=c[b+16>>2]|0;if(!e)return;if((c[e>>2]|0)>=156)return;f=c[e+16>>2]|0;if(f){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0);e=c[b+16>>2]|0;if(!e)i=b+16|0;else{f=b+16|0;g=11}}else{f=b+16|0;g=11}if((g|0)==11){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);i=f}c[6995]=(c[6995]|0)+1;e=sc(43)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[d+12>>2]|0;c[h>>2]=156;f=h+4|0;c[f>>2]=e;c[h+20>>2]=0;c[6995]=(c[6995]|0)+1;e=sc((e*156|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[h+16>>2]=e;c[h+12>>2]=e;f=c[f>>2]|0;c[h+8>>2]=f;if(f+-1|0){b=c[h>>2]|0;g=e;d=f+-1|0;do{j=g;g=g+b|0;c[j>>2]=g;d=d+-1|0}while((d|0)!=0);e=e+(P(b,f+-1|0)|0)|0}c[e>>2]=0;c[i>>2]=h;return}function sg(a,b,e){a=a|0;b=b|0;e=e|0;bf(a,b,e)|0;c[b+264>>2]=c[a+324>>2];c[b+268>>2]=c[a+328>>2];c[b+272>>2]=c[a+332>>2];c[b+276>>2]=c[a+336>>2];c[b+280>>2]=c[a+340>>2];c[b+284>>2]=c[a+344>>2];c[b+288>>2]=c[a+348>>2];c[b+292>>2]=c[a+352>>2];c[b+296>>2]=c[a+356>>2];c[b+300>>2]=c[a+360>>2];c[b+304>>2]=c[a+364>>2];c[b+308>>2]=c[a+368>>2];c[b+312>>2]=c[a+372>>2];c[b+316>>2]=c[a+376>>2];c[b+320>>2]=c[a+380>>2];c[b+324>>2]=c[a+384>>2];c[b+328>>2]=c[a+388>>2];c[b+332>>2]=c[a+392>>2];c[b+336>>2]=c[a+396>>2];c[b+340>>2]=c[a+400>>2];c[b+456>>2]=c[a+404>>2];c[b+344>>2]=c[a+604>>2];c[b+348>>2]=c[a+608>>2];c[b+352>>2]=c[a+612>>2];c[b+356>>2]=c[a+616>>2];c[b+360>>2]=c[a+408>>2];c[b+364>>2]=c[a+412>>2];c[b+368>>2]=c[a+416>>2];c[b+372>>2]=c[a+420>>2];c[b+376>>2]=c[a+424>>2];c[b+380>>2]=c[a+428>>2];c[b+384>>2]=c[a+432>>2];c[b+388>>2]=c[a+436>>2];c[b+392>>2]=c[a+440>>2];c[b+396>>2]=c[a+444>>2];c[b+400>>2]=c[a+448>>2];c[b+404>>2]=c[a+452>>2];c[b+408>>2]=c[a+456>>2];c[b+412>>2]=c[a+460>>2];c[b+416>>2]=c[a+464>>2];c[b+420>>2]=c[a+468>>2];c[b+424>>2]=c[a+472>>2];c[b+428>>2]=c[a+476>>2];c[b+432>>2]=c[a+480>>2];c[b+436>>2]=c[a+484>>2];c[b+440>>2]=c[a+488>>2];c[b+444>>2]=c[a+492>>2];c[b+448>>2]=c[a+496>>2];c[b+452>>2]=c[a+500>>2];c[b+460>>2]=c[a+504>>2];c[b+464>>2]=c[a+508>>2];c[b+492>>2]=d[a+512>>0];c[b+468>>2]=c[a+516>>2];c[b+472>>2]=c[a+520>>2];c[b+476>>2]=c[a+524>>2];c[b+480>>2]=c[a+528>>2];c[b+484>>2]=c[a+532>>2];c[b+488>>2]=c[a+536>>2];return 12085}function tg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0.0;c[6131]=(c[6131]|0)+1;if(!(c[b+4>>2]&2))j=.019999999552965164;else{k=c[d+192>>2]|0;i=+ob[c[(c[k>>2]|0)+20>>2]&1](k,.019999999552965164);k=c[e+192>>2]|0;j=+ob[c[(c[k>>2]|0)+20>>2]&1](k,.019999999552965164);j=i<j?i:j}m=+g[d+184>>2];i=+g[e+184>>2];i=m<i?m:i;f=c[b+72>>2]|0;h=c[f+12>>2]|0;if(!h){if(c[b+4>>2]&4|0){b=0;return b|0}c[6995]=(c[6995]|0)+1;f=sc(823)|0;if(!f)k=0;else{c[(f+4+15&-16)+-4>>2]=f;k=f+4+15&-16}}else{c[f+12>>2]=c[h>>2];c[f+8>>2]=(c[f+8>>2]|0)+-1;k=h}c[k>>2]=1025;f=k+120|0;h=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=k+312|0;h=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=k+504|0;h=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=k+696|0;h=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[k+772>>2]=d;c[k+776>>2]=e;c[k+780>>2]=0;g[k+784>>2]=j;g[k+788>>2]=i;e=k;f=c[b+12>>2]|0;c[k+800>>2]=f;if((f|0)==(c[b+16>>2]|0)?(l=f|0?f<<1:1,(f|0)<(l|0)):0){if(!l)d=0;else{c[6995]=(c[6995]|0)+1;f=sc((l<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}d=f;f=c[b+12>>2]|0}if((f|0)>0){h=0;do{c[d+(h<<2)>>2]=c[(c[b+20>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+20>>2]|0;if(h){if(a[b+24>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);f=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=d;c[b+16>>2]=l}c[(c[b+20>>2]|0)+(f<<2)>>2]=e;c[b+12>>2]=f+1;b=k;return b|0}function ug(b,d,e,f,h,i,k,l,m){b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;k=k|0;l=l|0;m=m|0;var n=0,o=0.0,p=0.0,q=0.0,r=0.0;n=at()|0;c[n+8>>2]=0;c[n+12>>2]=-1;g[n+16>>2]=0.0;c[n>>2]=8404;c[n+4>>2]=24;c[n+68>>2]=b;c[n+72>>2]=d;g[n+76>>2]=h;g[n+80>>2]=i;g[n+84>>2]=+(b+-1|0);g[n+88>>2]=+(d+-1|0);g[n+92>>2]=f;c[n+96>>2]=e;c[n+100>>2]=l;a[n+104>>0]=m&1;a[n+105>>0]=0;a[n+106>>0]=0;c[n+108>>2]=k;c[n+112>>2]=1065353216;c[n+116>>2]=1065353216;c[n+120>>2]=1065353216;g[n+124>>2]=0.0;switch(k|0){case 0:{g[n+20>>2]=h;c[n+24>>2]=0;b=n+88|0;d=n+84|0;e=n+80|0;f=0.0;i=0.0;break}case 1:{c[n+20>>2]=0;g[n+24>>2]=h;b=n+88|0;d=n+80|0;e=n+84|0;f=0.0;i=h;h=0.0;break}case 2:{c[n+20>>2]=0;c[n+24>>2]=0;b=n+80|0;d=n+88|0;e=n+84|0;f=h;i=0.0;h=0.0;break}default:{q=+g[n+36>>2];h=+g[n+20>>2];p=+g[n+40>>2];f=+g[n+24>>2];o=+g[n+44>>2];i=+g[n+28>>2];h=q+h;f=p+f;i=o+i;h=h*.5;f=f*.5;i=i*.5;m=n+52|0;g[m>>2]=h;m=n+56|0;g[m>>2]=f;m=n+60|0;g[m>>2]=i;m=n+64|0;g[m>>2]=0.0;return n|0}}g[n+28>>2]=f;g[n+32>>2]=0.0;k=c[e>>2]|0;c[n+36>>2]=k;l=c[d>>2]|0;c[n+40>>2]=l;m=c[b>>2]|0;c[n+44>>2]=m;g[n+48>>2]=0.0;r=(c[j>>2]=k,+g[j>>2]);p=(c[j>>2]=l,+g[j>>2]);o=h;h=p;p=i;i=(c[j>>2]=m,+g[j>>2]);q=f;o=r+o;p=h+p;q=i+q;o=o*.5;p=p*.5;q=q*.5;m=n+52|0;g[m>>2]=o;m=n+56|0;g[m>>2]=p;m=n+60|0;g[m>>2]=q;m=n+64|0;g[m>>2]=0.0;return n|0}function vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Ib[c[(c[b>>2]|0)+32>>2]&511](b);e=Bb[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;d=c[e+8>>2]|0;f=d;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d+88>>2]=c[a+264>>2];c[d+92>>2]=c[a+268>>2];c[d+96>>2]=c[a+272>>2];c[d+100>>2]=c[a+276>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+108>>2];c[d+20>>2]=c[a+116>>2];c[d+24>>2]=c[a+120>>2];c[d+28>>2]=c[a+124>>2];c[d+32>>2]=c[a+128>>2];c[d+36>>2]=c[a+132>>2];c[d+40>>2]=c[a+148>>2];c[d+44>>2]=c[a+152>>2];c[d+48>>2]=c[a+156>>2];c[d+52>>2]=c[a+160>>2];c[d+56>>2]=c[a+176>>2];c[d+60>>2]=c[a+180>>2];c[d+64>>2]=c[a+112>>2];c[d+68>>2]=c[a+164>>2];c[d+72>>2]=c[a+168>>2];c[d+76>>2]=c[a+172>>2];c[d+80>>2]=c[a+144>>2];c[d+84>>2]=0;Zb[c[(c[b>>2]|0)+20>>2]&31](b,e,12157,1145853764,d);d=c[a+8>>2]|0;if((d|0)<=0){dj(a,b);id(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;Ib[a&511](b);return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+252>>2]&8){g=xb[c[(c[e>>2]|0)+16>>2]&127](e)|0;g=Bb[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=Bb[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;Zb[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645651,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));dj(a,b);id(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;Ib[a&511](b);return}function wg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=c[d>>2]|0;l=zb[c[(c[l>>2]|0)+56>>2]&31](l,116)|0;ul(l,d,e,f,0);c[l>>2]=6576;a[l+104>>0]=1;c[l+100>>2]=0;c[l+92>>2]=0;c[l+96>>2]=0;c[6995]=(c[6995]|0)+1;b=sc(83)|0;if(!b)h=0;else{c[(b+4+15&-16)+-4>>2]=b;h=b+4+15&-16}c[h>>2]=9668;i=h+20|0;a[i>>0]=1;j=h+16|0;c[j>>2]=0;d=h+8|0;c[d>>2]=0;k=h+12|0;c[k>>2]=0;a[h+40>>0]=1;c[h+36>>2]=0;c[h+28>>2]=0;c[h+32>>2]=0;a[h+60>>0]=1;c[h+56>>2]=0;c[h+48>>2]=0;c[h+52>>2]=0;c[6995]=(c[6995]|0)+1;b=sc(43)|0;if(!b)g=0;else{c[(b+4+15&-16)+-4>>2]=b;g=b+4+15&-16}d=c[d>>2]|0;if((d|0)>0){b=0;do{m=g+(b*12|0)|0;n=(c[j>>2]|0)+(b*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];b=b+1|0}while((b|0)!=(d|0))}b=c[j>>2]|0;if(!b){a[i>>0]=1;c[j>>2]=g;c[k>>2]=2;Nf(h);n=l+84|0;c[n>>2]=h;n=e+4|0;n=c[n>>2]|0;n=n+72|0;n=c[n>>2]|0;m=l+108|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+72|0;m=c[m>>2]|0;n=l+112|0;c[n>>2]=m;return l|0}if(a[i>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0)}c[j>>2]=0;a[i>>0]=1;c[j>>2]=g;c[k>>2]=2;Nf(h);n=l+84|0;c[n>>2]=h;n=e+4|0;n=c[n>>2]|0;n=n+72|0;n=c[n>>2]|0;m=l+108|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+72|0;m=c[m>>2]|0;n=l+112|0;c[n>>2]=m;return l|0}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Ob[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;g=c[a+52>>2]|0;Bb[c[(c[g>>2]|0)+56>>2]&63](g,b+12|0,d)|0;c[b+52>>2]=c[a+16>>2];do if((c[a+56>>2]|0)!=0?((xb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&1|0)==0:0){e=zb[c[(c[d>>2]|0)+24>>2]&31](d,c[a+56>>2]|0)|0;if(!e){c[b+40>>2]=zb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+56>>2]|0)|0;c[b+44>>2]=0;e=c[a+56>>2]|0;e=xb[c[(c[e>>2]|0)+12>>2]&127](e)|0;e=Bb[c[(c[d>>2]|0)+16>>2]&63](d,e,1)|0;g=c[a+56>>2]|0;g=Bb[c[(c[g>>2]|0)+16>>2]&63](g,c[e+8>>2]|0,d)|0;Zb[c[(c[d>>2]|0)+20>>2]&31](d,e,g,1213612625,c[a+56>>2]|0);break}else{c[b+40>>2]=e;c[b+44>>2]=0;break}}else f=8;while(0);if((f|0)==8){c[b+40>>2]=0;c[b+44>>2]=0}if(c[a+60>>2]|0?((xb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&2|0)==0:0){e=zb[c[(c[d>>2]|0)+24>>2]&31](d,c[a+60>>2]|0)|0;if(!e){c[b+48>>2]=zb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+60>>2]|0)|0;f=c[a+60>>2]|0;f=xb[c[(c[f>>2]|0)+8>>2]&127](f)|0;f=Bb[c[(c[d>>2]|0)+16>>2]&63](d,f,1)|0;g=c[a+60>>2]|0;g=Bb[c[(c[g>>2]|0)+12>>2]&63](g,c[f+8>>2]|0,d)|0;Zb[c[(c[d>>2]|0)+20>>2]&31](d,f,g,1346456916,c[a+60>>2]|0);g=b+56|0;c[g>>2]=0;return 16561}else{c[b+48>>2]=e;g=b+56|0;c[g>>2]=0;return 16561}}c[b+48>>2]=0;g=b+56|0;c[g>>2]=0;return 16561}function yg(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0;h=l;l=l+32|0;d=c[a+8>>2]|0;if((d|0)<=0){l=h;return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if((!((e|0)==0?1:(c[e+252>>2]&2|0)==0)?(c[e+220>>2]|0)!=2:0)?!(b==0.0?1:(c[e+204>>2]&2|0)==0):0){d=c[e+540>>2]|0;if(!d)d=e+4|0;else{Ob[c[(c[d>>2]|0)+8>>2]&127](d,e+4|0);d=e+4|0}j=1.0/b*(+g[e+56>>2]-+g[e+120>>2]);k=1.0/b*(+g[e+60>>2]-+g[e+124>>2]);g[e+372>>2]=1.0/b*(+g[e+52>>2]-+g[e+116>>2]);g[e+376>>2]=j;g[e+380>>2]=k;g[e+384>>2]=0.0;If(e+68|0,d,h+8|0,h);k=+g[h>>2];j=1.0/b*k*+g[h+8+4>>2];i=1.0/b*k*+g[h+8+8>>2];g[e+388>>2]=1.0/b*+g[h+8>>2]*k;g[e+392>>2]=j;g[e+396>>2]=i;g[e+400>>2]=0.0;c[e+132>>2]=c[e+372>>2];c[e+132+4>>2]=c[e+372+4>>2];c[e+132+8>>2]=c[e+372+8>>2];c[e+132+12>>2]=c[e+372+12>>2];c[e+148>>2]=c[e+388>>2];c[e+148+4>>2]=c[e+388+4>>2];c[e+148+8>>2]=c[e+388+8>>2];c[e+148+12>>2]=c[e+388+12>>2];c[e+68>>2]=c[d>>2];c[e+68+4>>2]=c[d+4>>2];c[e+68+8>>2]=c[d+8>>2];c[e+68+12>>2]=c[d+12>>2];c[e+84>>2]=c[e+20>>2];c[e+84+4>>2]=c[e+20+4>>2];c[e+84+8>>2]=c[e+20+8>>2];c[e+84+12>>2]=c[e+20+12>>2];c[e+100>>2]=c[e+36>>2];c[e+100+4>>2]=c[e+36+4>>2];c[e+100+8>>2]=c[e+36+8>>2];c[e+100+12>>2]=c[e+36+12>>2];c[e+116>>2]=c[e+52>>2];c[e+116+4>>2]=c[e+52+4>>2];c[e+116+8>>2]=c[e+52+8>>2];c[e+116+12>>2]=c[e+52+12>>2];d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));l=h;return}function zg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=qt()|0;c[i+4>>2]=4;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.05000000074505806;c[i+44>>2]=0;c[i>>2]=4996;c[i+552>>2]=c[e>>2];c[i+552+4>>2]=c[e+4>>2];c[i+552+8>>2]=c[e+8>>2];c[i+552+12>>2]=c[e+12>>2];c[i+568>>2]=c[e+16>>2];c[i+568+4>>2]=c[e+16+4>>2];c[i+568+8>>2]=c[e+16+8>>2];c[i+568+12>>2]=c[e+16+12>>2];c[i+584>>2]=c[e+32>>2];c[i+584+4>>2]=c[e+32+4>>2];c[i+584+8>>2]=c[e+32+8>>2];c[i+584+12>>2]=c[e+32+12>>2];c[i+600>>2]=c[e+48>>2];c[i+600+4>>2]=c[e+48+4>>2];c[i+600+8>>2]=c[e+48+8>>2];c[i+600+12>>2]=c[e+48+12>>2];c[i+616>>2]=c[f>>2];c[i+616+4>>2]=c[f+4>>2];c[i+616+8>>2]=c[f+8>>2];c[i+616+12>>2]=c[f+12>>2];c[i+632>>2]=c[f+16>>2];c[i+632+4>>2]=c[f+16+4>>2];c[i+632+8>>2]=c[f+16+8>>2];c[i+632+12>>2]=c[f+16+12>>2];c[i+648>>2]=c[f+32>>2];c[i+648+4>>2]=c[f+32+4>>2];c[i+648+8>>2]=c[f+32+8>>2];c[i+648+12>>2]=c[f+32+12>>2];c[i+664>>2]=c[f+48>>2];c[i+664+4>>2]=c[f+48+4>>2];c[i+664+8>>2]=c[f+48+8>>2];c[i+664+12>>2]=c[f+48+12>>2];g[i+688>>2]=0.0;g[i+692>>2]=-1.0;g[i+696>>2]=.8999999761581421;g[i+700>>2]=.30000001192092896;g[i+704>>2]=1.0;g[i+708>>2]=0.0;g[i+712>>2]=0.0;a[i+716>>0]=0;a[i+736>>0]=0;a[i+737>>0]=0;a[i+738>>0]=0;a[i+739>>0]=1;a[i+740>>0]=h&1;c[i+748>>2]=0;c[i+748+4>>2]=0;c[i+748+8>>2]=0;c[i+748+12>>2]=0;c[i+748+16>>2]=0;g[i+732>>2]=h?-1.0:1.0;return i|0}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((c[a>>2]|0)==(b|0)){c[a>>2]=0;a=0;return a|0}e=c[b+32>>2]|0;d=c[e+32>>2]|0;b=c[e+36+(((c[e+40>>2]|0)!=(b|0)&1)<<2)>>2]|0;a:do if(!d){c[a>>2]=b;c[b+32>>2]=0;d=c[a+4>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[a+4>>2]=e}else{c[d+36+(((c[d+40>>2]|0)==(e|0)&1)<<2)>>2]=b;c[b+32>>2]=d;b=c[a+4>>2]|0;if(b|0){c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0)}c[a+4>>2]=e;while(1){n=+g[d>>2];r=d+4|0;p=+g[r>>2];w=d+8|0;o=+g[w>>2];e=d+16|0;m=+g[e>>2];t=d+20|0;k=+g[t>>2];u=d+24|0;h=+g[u>>2];v=c[d+36>>2]|0;q=c[d+40>>2]|0;b=c[(+g[v>>2]<+g[q>>2]?v:q)>>2]|0;c[d>>2]=b;s=c[(+g[v+16>>2]>+g[q+16>>2]?v+16|0:q+16|0)>>2]|0;c[e>>2]=s;e=c[(+g[v+4>>2]<+g[q+4>>2]?v:q)+4>>2]|0;c[r>>2]=e;r=c[(+g[v+20>>2]>+g[q+20>>2]?v+16|0:q+16|0)+4>>2]|0;c[t>>2]=r;t=c[(+g[v+8>>2]<+g[q+8>>2]?v:q)+8>>2]|0;c[w>>2]=t;q=c[(+g[v+24>>2]>+g[q+24>>2]?v+16|0:q+16|0)+8>>2]|0;c[u>>2]=q;b=n!=(c[j>>2]=b,+g[j>>2]);n=(c[j>>2]=t,+g[j>>2]);l=(c[j>>2]=s,+g[j>>2]);i=(c[j>>2]=r,+g[j>>2]);f=(c[j>>2]=q,+g[j>>2]);if(!(b|p!=(c[j>>2]=e,+g[j>>2])|o!=n|m!=l|k!=i|h!=f))break;d=c[d+32>>2]|0;if(!d)break a}return d|0}while(0);w=c[a>>2]|0;return w|0}function Bg(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0;h=l;l=l+16|0;d=+g[a+396>>2]*b;b=+g[a+512>>2];f=c[a+852>>2]|0;if((f|0)<=0){l=h;return}e=0;do{t=c[a+860>>2]|0;j=t+(e*96|0)+20|0;w=c[j>>2]|0;o=c[t+(e*96|0)>>2]|0;z=+g[t+(e*96|0)+4>>2];y=+g[t+(e*96|0)+8>>2];x=+g[t+(e*96|0)+12>>2];i=t+(e*96|0)+76|0;v=+g[w+392>>2];q=+g[t+(e*96|0)+84>>2];A=+g[w+396>>2];m=+g[t+(e*96|0)+80>>2];k=+g[i>>2];n=+g[w+388>>2];s=+g[o+8>>2];r=+g[o+12>>2];p=+g[o+16>>2];u=d*(z*+g[w+4>>2]+y*+g[w+8>>2]+x*+g[w+12>>2]+ +g[w+52>>2]-s)+(b*(v*q-A*m+ +g[w+372>>2])-(s-+g[o+24>>2]));q=d*(z*+g[w+20>>2]+y*+g[w+24>>2]+x*+g[w+28>>2]+ +g[w+56>>2]-r)+(b*(+g[w+376>>2]+(A*k-q*n))-(r-+g[o+28>>2]));k=d*(z*+g[w+36>>2]+y*+g[w+40>>2]+x*+g[w+44>>2]+ +g[w+60>>2]-p)+(b*(m*n-v*k+ +g[w+380>>2])-(p-+g[o+32>>2]));v=+g[t+(e*96|0)+24>>2];n=(u*+g[t+(e*96|0)+28>>2]+q*+g[t+(e*96|0)+32>>2]+ +g[t+(e*96|0)+36>>2]*k)*v;m=(u*+g[t+(e*96|0)+44>>2]+q*+g[t+(e*96|0)+48>>2]+k*+g[t+(e*96|0)+52>>2])*v;k=v*(u*+g[t+(e*96|0)+60>>2]+q*+g[t+(e*96|0)+64>>2]+k*+g[t+(e*96|0)+68>>2]);q=+g[t+(e*96|0)+92>>2];g[o+8>>2]=s+n*q;g[o+12>>2]=q*m+r;g[o+16>>2]=q*k+p;j=c[j>>2]|0;g[h>>2]=-n;g[h+4>>2]=-m;g[h+8>>2]=-k;g[h+12>>2]=0.0;ll(j,h,i);e=e+1|0}while((e|0)!=(f|0));l=h;return}function Cg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0.0;m=l;l=l+688|0;c[m+568+8>>2]=0;c[m+568+12>>2]=-1;c[m+568+16>>2]=1065353216;c[m+568+20>>2]=1065353216;c[m+568+24>>2]=1065353216;g[m+568+28>>2]=0.0;c[m+568+56>>2]=0;c[m+568>>2]=3924;c[m+568+4>>2]=1;c[m+568+60>>2]=c[d>>2];c[m+568+60+4>>2]=c[d+4>>2];c[m+568+60+8>>2]=c[d+8>>2];c[m+568+60+12>>2]=c[d+12>>2];c[m+568+76>>2]=c[d+16>>2];c[m+568+76+4>>2]=c[d+16+4>>2];c[m+568+76+8>>2]=c[d+16+8>>2];c[m+568+76+12>>2]=c[d+16+12>>2];c[m+568+92>>2]=c[d+32>>2];c[m+568+92+4>>2]=c[d+32+4>>2];c[m+568+92+8>>2]=c[d+32+8>>2];c[m+568+92+12>>2]=c[d+32+12>>2];c[m+568+48>>2]=c[b+204>>2];g[m+208+308>>2]=9.999999747378752e-05;a[m+208+332>>0]=0;c[m+200>>2]=9464;d=c[b+4>>2]|0;c[m+176>>2]=9532;c[m+176+4>>2]=m+208;c[m+176+8>>2]=m+200;c[m+176+12>>2]=d;c[m+176+16>>2]=m+568;c[m+176+20>>2]=0;c[m>>2]=3896;c[m+168>>2]=0;g[m+164>>2]=1.0;c[m+172>>2]=c[b+208>>2];if((Wd(m+176|0,b+8|0,b+72|0,b+136|0,b+136|0,m)|0?(h=+g[m+132>>2],i=+g[m+136>>2],j=+g[m+140>>2],h*h+i*i+j*j>9.999999747378752e-05):0)?(k=+g[m+164>>2],k<+g[b+200>>2]):0){n=1.0/+D(+(h*h+i*i+j*j));g[m+132>>2]=h*n;g[m+136>>2]=i*n;g[m+140>>2]=j*n;+rb[c[(c[b>>2]|0)+12>>2]&3](b,m+132|0,m+148|0,k,e,f)}c[m+568>>2]=7472;b=c[m+568+56>>2]|0;if(!b){l=m;return}Ib[c[c[b>>2]>>2]&511](b);b=c[m+568+56>>2]|0;if(!b){l=m;return}c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);l=m;return}function Dg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=qt()|0;c[h+4>>2]=4;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.05000000074505806;c[h+44>>2]=0;c[h>>2]=4996;c[h+552>>2]=c[e>>2];c[h+552+4>>2]=c[e+4>>2];c[h+552+8>>2]=c[e+8>>2];c[h+552+12>>2]=c[e+12>>2];c[h+568>>2]=c[e+16>>2];c[h+568+4>>2]=c[e+16+4>>2];c[h+568+8>>2]=c[e+16+8>>2];c[h+568+12>>2]=c[e+16+12>>2];c[h+584>>2]=c[e+32>>2];c[h+584+4>>2]=c[e+32+4>>2];c[h+584+8>>2]=c[e+32+8>>2];c[h+584+12>>2]=c[e+32+12>>2];c[h+600>>2]=c[e+48>>2];c[h+600+4>>2]=c[e+48+4>>2];c[h+600+8>>2]=c[e+48+8>>2];c[h+600+12>>2]=c[e+48+12>>2];c[h+616>>2]=c[f>>2];c[h+616+4>>2]=c[f+4>>2];c[h+616+8>>2]=c[f+8>>2];c[h+616+12>>2]=c[f+12>>2];c[h+632>>2]=c[f+16>>2];c[h+632+4>>2]=c[f+16+4>>2];c[h+632+8>>2]=c[f+16+8>>2];c[h+632+12>>2]=c[f+16+12>>2];c[h+648>>2]=c[f+32>>2];c[h+648+4>>2]=c[f+32+4>>2];c[h+648+8>>2]=c[f+32+8>>2];c[h+648+12>>2]=c[f+32+12>>2];c[h+664>>2]=c[f+48>>2];c[h+664+4>>2]=c[f+48+4>>2];c[h+664+8>>2]=c[f+48+8>>2];c[h+664+12>>2]=c[f+48+12>>2];g[h+688>>2]=0.0;g[h+692>>2]=-1.0;g[h+696>>2]=.8999999761581421;g[h+700>>2]=.30000001192092896;g[h+704>>2]=1.0;g[h+708>>2]=0.0;g[h+712>>2]=0.0;a[h+716>>0]=0;a[h+736>>0]=0;a[h+737>>0]=0;a[h+738>>0]=0;a[h+739>>0]=1;a[h+740>>0]=0;c[h+748>>2]=0;c[h+748+4>>2]=0;c[h+748+8>>2]=0;c[h+748+12>>2]=0;c[h+748+16>>2]=0;g[h+732>>2]=1.0;return h|0}function Eg(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0;d=c[a+772>>2]|0;if((d|0)>0){b=0;do{l=(c[a+780>>2]|0)+(b*104|0)+72|0;b=b+1|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}while((b|0)!=(d|0))}d=c[a+812>>2]|0;if((d|0)>0){b=0;do{o=c[a+820>>2]|0;j=c[o+(b*44|0)+12>>2]|0;h=c[o+(b*44|0)+8>>2]|0;k=+g[h+8>>2];e=+g[j+8>>2]-k;f=+g[h+12>>2];i=+g[j+12>>2]-f;m=+g[h+16>>2];n=+g[j+16>>2]-m;l=c[o+(b*44|0)+16>>2]|0;k=+g[l+8>>2]-k;f=+g[l+12>>2]-f;m=+g[l+16>>2]-m;p=1.0/+D(+((e*f-i*k)*(e*f-i*k)+((i*m-n*f)*(i*m-n*f)+(n*k-e*m)*(n*k-e*m))));g[o+(b*44|0)+20>>2]=p*(i*m-n*f);g[o+(b*44|0)+24>>2]=p*(n*k-e*m);g[o+(b*44|0)+28>>2]=(e*f-i*k)*p;c[o+(b*44|0)+32>>2]=0;g[h+72>>2]=i*m-n*f+ +g[h+72>>2];g[h+76>>2]=n*k-e*m+ +g[h+76>>2];g[h+80>>2]=e*f-i*k+ +g[h+80>>2];g[j+72>>2]=i*m-n*f+ +g[j+72>>2];g[j+76>>2]=n*k-e*m+ +g[j+76>>2];g[j+80>>2]=e*f-i*k+ +g[j+80>>2];g[l+72>>2]=i*m-n*f+ +g[l+72>>2];g[l+76>>2]=n*k-e*m+ +g[l+76>>2];g[l+80>>2]=e*f-i*k+ +g[l+80>>2];b=b+1|0}while((b|0)!=(d|0))}l=c[a+772>>2]|0;if((l|0)<=0)return;a=c[a+780>>2]|0;b=0;do{h=a+(b*104|0)+72|0;i=+g[h>>2];j=a+(b*104|0)+76|0;k=+g[j>>2];d=a+(b*104|0)+80|0;e=+g[d>>2];f=+D(+(i*i+k*k+e*e));if(f>1.1920928955078125e-07){g[h>>2]=i*(1.0/f);g[j>>2]=1.0/f*k;g[d>>2]=1.0/f*e}b=b+1|0}while((b|0)!=(l|0));return}function Fg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=ht()|0;c[h+4>>2]=5;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.05000000074505806;c[h+44>>2]=0;c[h>>2]=4940;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[e+16>>2];c[h+316+4>>2]=c[e+16+4>>2];c[h+316+8>>2]=c[e+16+8>>2];c[h+316+12>>2]=c[e+16+12>>2];c[h+332>>2]=c[e+32>>2];c[h+332+4>>2]=c[e+32+4>>2];c[h+332+8>>2]=c[e+32+8>>2];c[h+332+12>>2]=c[e+32+12>>2];c[h+348>>2]=c[e+48>>2];c[h+348+4>>2]=c[e+48+4>>2];c[h+348+8>>2]=c[e+48+8>>2];c[h+348+12>>2]=c[e+48+12>>2];c[h+364>>2]=c[f>>2];c[h+364+4>>2]=c[f+4>>2];c[h+364+8>>2]=c[f+8>>2];c[h+364+12>>2]=c[f+12>>2];c[h+380>>2]=c[f+16>>2];c[h+380+4>>2]=c[f+16+4>>2];c[h+380+8>>2]=c[f+16+8>>2];c[h+380+12>>2]=c[f+16+12>>2];c[h+396>>2]=c[f+32>>2];c[h+396+4>>2]=c[f+32+4>>2];c[h+396+8>>2]=c[f+32+8>>2];c[h+396+12>>2]=c[f+32+12>>2];c[h+412>>2]=c[f+48>>2];c[h+412+4>>2]=c[f+48+4>>2];c[h+412+8>>2]=c[f+48+8>>2];c[h+412+12>>2]=c[f+48+12>>2];a[h+552>>0]=0;c[h+524>>2]=0;g[h+572>>2]=-1.0;g[h+444>>2]=999999984306749440.0;g[h+448>>2]=999999984306749440.0;g[h+452>>2]=999999984306749440.0;g[h+428>>2]=1.0;g[h+432>>2]=.30000001192092896;g[h+436>>2]=1.0;g[h+440>>2]=.009999999776482582;g[h+456>>2]=.05000000074505806;c[h+592>>2]=0;g[h+596>>2]=0.0;g[h+600>>2]=.699999988079071;g[h+604>>2]=0.0;return h|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+g[d+128>>2];if(!(e!=0.0)){i=0.0;return +i}c[5961]=(c[5961]|0)+1;k=+g[d+96>>2];f=+g[d+16>>2];h=+g[d+20>>2];i=+g[d+24>>2];j=+g[d+108>>2];j=e-k*+g[d+116>>2]-(f*+g[a+144>>2]+h*+g[a+148>>2]+i*+g[a+152>>2]+(+g[d>>2]*+g[a+160>>2]+ +g[d+4>>2]*+g[a+164>>2]+ +g[d+8>>2]*+g[a+168>>2]))*j-j*(+g[d+48>>2]*+g[b+144>>2]+ +g[d+52>>2]*+g[b+148>>2]+ +g[d+56>>2]*+g[b+152>>2]+(+g[d+32>>2]*+g[b+160>>2]+ +g[d+36>>2]*+g[b+164>>2]+ +g[d+40>>2]*+g[b+168>>2]));l=+g[d+120>>2];e=k+j<l?l-k:j;g[d+96>>2]=k+j<l?l:k+j;if(c[a+240>>2]|0){l=e*h*+g[a+132>>2]*+g[a+116>>2];k=e*i*+g[a+136>>2]*+g[a+120>>2];g[a+144>>2]=+g[a+112>>2]*e*f*+g[a+128>>2]+ +g[a+144>>2];g[a+148>>2]=l+ +g[a+148>>2];g[a+152>>2]=k+ +g[a+152>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+160>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+160>>2];g[a+164>>2]=k+ +g[a+164>>2];g[a+168>>2]=l+ +g[a+168>>2]}if(!(c[b+240>>2]|0)){l=e;return +l}l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+144>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+144>>2];g[b+148>>2]=l+ +g[b+148>>2];g[b+152>>2]=k+ +g[b+152>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+160>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+160>>2];g[b+164>>2]=k+ +g[b+164>>2];g[b+168>>2]=l+ +g[b+168>>2];l=e;return +l}function Hg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=+f;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0;o=l;l=l+16|0;c[b>>2]=5168;a[b+216>>0]=1;c[b+212>>2]=0;c[b+204>>2]=0;c[b+208>>2]=0;c[b+8>>2]=d;c[b+256>>2]=0;c[b+260>>2]=0;c[b+264>>2]=1065353216;g[b+268>>2]=0.0;c[b+272>>2]=0;c[b+276>>2]=0;c[b+280>>2]=1065353216;g[b+284>>2]=0.0;g[b+64>>2]=.019999999552965164;c[b+68>>2]=0;c[b+68+4>>2]=0;c[b+68+8>>2]=0;c[b+68+12>>2]=0;c[b+100>>2]=0;c[b+100+4>>2]=0;c[b+100+8>>2]=0;c[b+100+12>>2]=0;a[b+250>>0]=1;g[b+56>>2]=0.0;c[b+12>>2]=e;a[b+251>>0]=1;g[b+252>>2]=0.0;g[b+20>>2]=0.0;g[b+24>>2]=0.0;g[b+52>>2]=29.399999618530273;g[b+28>>2]=55.0;g[b+32>>2]=10.0;g[b+36>>2]=10.0;a[b+248>>0]=0;a[b+249>>0]=0;a[b+288>>0]=1;g[b+148>>2]=0.0;g[b+16>>2]=.20000000298023224;a[b+289>>0]=0;a[b+290>>0]=0;g[b+240>>2]=0.0;g[b+244>>2]=0.0;k=+g[h>>2];m=+g[h+4>>2];n=+g[h+8>>2];if(!(k*k+m*m+n*n>0.0)){ve(b,h);h=b+60|0;g[h>>2]=f;h=b+44|0;g[h>>2]=.7853981852531433;b=b+48|0;g[b>>2]=.7071067690849304;l=o;return}i=1.0/+D(+(k*k+m*m+n*n));j=n*i*-29.399999618530273*n*i*-29.399999618530273+(k*i*-29.399999618530273*k*i*-29.399999618530273+m*i*-29.399999618530273*m*i*-29.399999618530273);if(j>0.0){g[o>>2]=-(k*i*-29.399999618530273);g[o+4>>2]=-(m*i*-29.399999618530273);g[o+8>>2]=-(n*i*-29.399999618530273);g[o+12>>2]=0.0;ve(b,o)}g[b+52>>2]=+D(+j);h=b+60|0;g[h>>2]=f;h=b+44|0;g[h>>2]=.7853981852531433;b=b+48|0;g[b>>2]=.7071067690849304;l=o;return}function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=+g[d+100>>2];j=+g[d+16>>2];k=+g[d+20>>2];l=+g[d+24>>2];h=+g[d+108>>2];h=+g[d+112>>2]-f*+g[d+116>>2]-(j*+g[a+64>>2]+k*+g[a+68>>2]+l*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*h-h*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));e=+g[d+120>>2];if(!(f+h<e)){e=+g[d+124>>2];if(f+h>e)i=e-f;else{i=h;e=f+h}}else i=e-f;g[d+100>>2]=e;if(c[a+240>>2]|0){h=i*k*+g[a+132>>2]*+g[a+116>>2];k=i*l*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*i*j*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=h+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=i*+g[a+100>>2]*+g[d+68>>2];l=i*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=i*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return +i;l=i*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=i*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*i*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=i*+g[b+100>>2]*+g[d+84>>2];l=i*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=i*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return +i}function Jg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6415]=(c[6415]|0)+1;k=(((e<<16|d)+~((e<<16|d)<<15)|0)>>>10^(e<<16|d)+~((e<<16|d)<<15))*9|0;k=((k>>>6^k)+~((k>>>6^k)<<11)|0)>>>16^(k>>>6^k)+~((k>>>6^k)<<11);l=c[b+12>>2]|0;f=c[(c[b+36>>2]|0)+((l+-1&k)<<2)>>2]|0;a:do if((f|0)!=-1){h=c[b+16>>2]|0;while(1){g=h+(f*12|0)|0;if((c[g>>2]|0)==(d|0)?(c[h+(f*12|0)+4>>2]|0)==(e|0):0)break;f=c[(c[b+56>>2]|0)+(f<<2)>>2]|0;if((f|0)==-1)break a}if(g|0){e=g;return e|0}}while(0);j=c[b+8>>2]|0;if((j|0)==(l|0)){h=l|0?l<<1:1;if((l|0)<(h|0)){if(!h){f=0;i=l}else{c[6995]=(c[6995]|0)+1;f=sc((h*12|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[b+8>>2]|0}if((i|0)>0){g=0;do{m=f+(g*12|0)|0;n=(c[b+16>>2]|0)+(g*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];g=g+1|0}while((g|0)!=(i|0))}g=c[b+16>>2]|0;if(g|0){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=h;f=c[b+8>>2]|0}else{f=l;h=l}}else{f=j;h=l}c[b+8>>2]=f+1;g=c[b+16>>2]|0;if((l|0)<(h|0)){Nf(b);f=(c[b+12>>2]|0)+-1&k}else f=l+-1&k;c[g+(j*12|0)>>2]=d;c[g+(j*12|0)+4>>2]=e;c[g+(j*12|0)+8>>2]=0;n=(c[b+36>>2]|0)+(f<<2)|0;c[(c[b+56>>2]|0)+(j<<2)>>2]=c[n>>2];c[n>>2]=j;n=g+(j*12|0)|0;return n|0}function Kg(b){b=b|0;var d=0;d=Us(676)|0;c[d>>2]=5320;c[d+132>>2]=0;c[d+132+4>>2]=0;c[d+132+8>>2]=0;c[d+132+12>>2]=0;c[d+132+16>>2]=0;c[d+132+20>>2]=0;c[d+132+24>>2]=0;c[d+132+28>>2]=0;c[d+164>>2]=1065353216;c[d+168>>2]=1065353216;c[d+172>>2]=1065353216;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749440.0;c[d+188>>2]=0;c[d+188+4>>2]=0;c[d+188+8>>2]=0;c[d+188+12>>2]=0;c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=-1;c[d+220>>2]=1;g[d+224>>2]=0.0;g[d+228>>2]=.5;g[d+232>>2]=0.0;g[d+236>>2]=0.0;g[d+240>>2]=0.0;g[d+244>>2]=.10000000149011612;g[d+248>>2]=1.0e4;c[d+252>>2]=1;c[d+256>>2]=0;c[d+260>>2]=-1;c[d+264>>2]=-1;g[d+268>>2]=1.0;g[d+272>>2]=0.0;g[d+276>>2]=0.0;c[d+280>>2]=0;a[d+300>>0]=1;c[d+296>>2]=0;c[d+288>>2]=0;c[d+292>>2]=0;c[d+304>>2]=0;c[d+4>>2]=1065353216;c[d+8>>2]=0;c[d+8+4>>2]=0;c[d+8+8>>2]=0;c[d+8+12>>2]=0;c[d+24>>2]=1065353216;c[d+28>>2]=0;c[d+28+4>>2]=0;c[d+28+8>>2]=0;c[d+28+12>>2]=0;c[d+44>>2]=1065353216;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;c[d+48+16>>2]=0;c[d+68>>2]=1065353216;c[d+72>>2]=0;c[d+72+4>>2]=0;c[d+72+8>>2]=0;c[d+72+12>>2]=0;c[d+88>>2]=1065353216;c[d+92>>2]=0;c[d+92+4>>2]=0;c[d+92+8>>2]=0;c[d+92+12>>2]=0;c[d+108>>2]=1065353216;c[d+112>>2]=0;c[d+112+4>>2]=0;c[d+112+8>>2]=0;c[d+112+12>>2]=0;c[d+112+16>>2]=0;c[d>>2]=4324;a[d+560>>0]=1;c[d+556>>2]=0;c[d+548>>2]=0;c[d+552>>2]=0;Id(d,b);return d|0}function Lg(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;c[6995]=(c[6995]|0)+1;b=sc((h+2|0)>>>0>268435455?18:(h+2<<4|3)+16|0)|0;if(!b)j=0;else{c[(b+4+15&-16)+-4>>2]=b;j=b+4+15&-16}k=$I((h+2|0)>>>0>1073741823?-1:h+2<<2)|0;if((h|0)>-2){b=0;do{p=+(b|0)/+(h+1|0);o=+g[e>>2];n=+g[e+4>>2];n=n+p*(+g[f+4>>2]-n);m=+g[e+8>>2];m=m+p*(+g[f+8>>2]-m);g[j+(b<<4)>>2]=o+p*(+g[f>>2]-o);g[j+(b<<4)+4>>2]=n;g[j+(b<<4)+8>>2]=m;g[j+(b<<4)+12>>2]=0.0;g[k+(b<<2)>>2]=1.0;b=b+1|0}while((b|0)<(h+2|0))}c[6995]=(c[6995]|0)+1;b=sc(1271)|0;if(!b)l=0;else{c[(b+4+15&-16)+-4>>2]=b;l=b+4+15&-16}Bc(l,d,h+2|0,j,k);if(i&1|0){g[(c[l+780>>2]|0)+88>>2]=0.0;a[l+984>>0]=1}if(i&2|0){g[(c[l+780>>2]|0)+((h+1|0)*104|0)+88>>2]=0.0;a[l+984>>0]=1}if(j|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}aJ(k);if((h+2|0)<=1)return l|0;j=l+780|0;k=l+792|0;e=l+800|0;f=l+984|0;b=1;do{r=b+-1|0;q=c[j>>2]|0;Xh(l,0);i=(c[k>>2]|0)+-1|0;d=c[e>>2]|0;c[d+(i*52|0)+24>>2]=q+(r*104|0);c[d+(i*52|0)+28>>2]=q+(b*104|0);n=+g[q+(r*104|0)+8>>2]-+g[q+(b*104|0)+8>>2];o=+g[q+(r*104|0)+12>>2]-+g[q+(b*104|0)+12>>2];p=+g[q+(r*104|0)+16>>2]-+g[q+(b*104|0)+16>>2];g[d+(i*52|0)+32>>2]=+D(+(n*n+o*o+p*p));a[f>>0]=1;b=b+1|0}while((b|0)!=(h+2|0));return l|0}function Mg(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0;if(a[b+1308>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}jd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);c[d>>2]=0;c[d+4>>2]=6;if((c[b+856>>2]|0)==0?(a[b+788>>0]|0)==0:0){e=0;f=6}else{c[d>>2]=1;c[d+4>>2]=5;e=1;f=5}if(!((c[b+860>>2]|0)==0?(a[b+789>>0]|0)==0:0)){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}if((c[b+864>>2]|0)==0?(a[b+790>>0]|0)==0:0)n=0;else{e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f;n=0}do{k=+g[b+868+(n<<6)>>2];l=+g[b+868+(n<<6)+4>>2];m=+Xj(+g[b+1192+(n<<2)>>2],k,l);g[b+868+(n<<6)+52>>2]=m;do if(!(k>l)){if(k>m){c[b+868+(n<<6)+56>>2]=1;h=b+868+(n<<6)+48|0;g[h>>2]=m-k;if(!(m-k>3.1415927410125732))if(m-k<-3.1415927410125732)i=6.2831854820251465;else{j=18;break}else i=-6.2831854820251465;g[h>>2]=m-k+i;j=18;break}h=b+868+(n<<6)+56|0;if(l<m){c[h>>2]=2;h=b+868+(n<<6)+48|0;g[h>>2]=m-l;if(!(m-l>3.1415927410125732))if(m-l<-3.1415927410125732)i=6.2831854820251465;else{j=18;break}else i=-6.2831854820251465;g[h>>2]=m-l+i;j=18}else j=17}else{h=b+868+(n<<6)+56|0;j=17}while(0);if((j|0)==17){j=0;c[h>>2]=0;if(a[b+868+(n<<6)+44>>0]|0)j=18}if((j|0)==18){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}n=n+1|0}while((n|0)!=3);return}function Ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+g[d+100>>2];f=+g[d+16>>2];h=+g[d+20>>2];i=+g[d+24>>2];j=+g[d+108>>2];j=+g[d+112>>2]-k*+g[d+116>>2]-(f*+g[a+64>>2]+h*+g[a+68>>2]+i*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*j-j*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));l=+g[d+120>>2];e=k+j<l?l-k:j;g[d+100>>2]=k+j<l?l:k+j;if(c[a+240>>2]|0){l=e*h*+g[a+132>>2]*+g[a+116>>2];k=e*i*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*e*f*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=l+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return +e;l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return +e}function Og(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+96|0;g=c[b+8>>2]|0;c[d+216>>2]=g;if((g|0)==(c[b+12>>2]|0)?(j=g|0?g<<1:1,(g|0)<(j|0)):0){if(!j)i=0;else{c[6995]=(c[6995]|0)+1;g=sc((j<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=g;g=c[b+8>>2]|0}if((g|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+16>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}h=c[b+16>>2]|0;if(h){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);g=c[b+8>>2]|0}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=i;c[b+12>>2]=j}c[(c[b+16>>2]|0)+(g<<2)>>2]=d;c[b+8>>2]=g+1;c[k+32>>2]=c[d+4>>2];c[k+32+4>>2]=c[d+4+4>>2];c[k+32+8>>2]=c[d+4+8>>2];c[k+32+12>>2]=c[d+4+12>>2];c[k+32+16>>2]=c[d+20>>2];c[k+32+16+4>>2]=c[d+20+4>>2];c[k+32+16+8>>2]=c[d+20+8>>2];c[k+32+16+12>>2]=c[d+20+12>>2];c[k+32+32>>2]=c[d+36>>2];c[k+32+32+4>>2]=c[d+36+4>>2];c[k+32+32+8>>2]=c[d+36+8>>2];c[k+32+32+12>>2]=c[d+36+12>>2];c[k+32+48>>2]=c[d+52>>2];c[k+32+48+4>>2]=c[d+52+4>>2];c[k+32+48+8>>2]=c[d+52+8>>2];c[k+32+48+12>>2]=c[d+52+12>>2];j=c[d+192>>2]|0;Vb[c[(c[j>>2]|0)+8>>2]&127](j,k+32|0,k+16|0,k);j=c[b+68>>2]|0;c[d+188>>2]=Fb[c[(c[j>>2]|0)+8>>2]&3](j,k+16|0,k,c[(c[d+192>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0)|0;l=k;return}function Pg(){var b=0;b=Us(344)|0;c[b>>2]=5320;c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+28>>2]=0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=-1;c[b+220>>2]=1;g[b+224>>2]=0.0;g[b+228>>2]=.5;g[b+232>>2]=0.0;g[b+236>>2]=0.0;g[b+240>>2]=0.0;g[b+244>>2]=.10000000149011612;g[b+248>>2]=1.0e4;c[b+256>>2]=0;c[b+260>>2]=-1;c[b+264>>2]=-1;g[b+268>>2]=1.0;g[b+272>>2]=0.0;g[b+276>>2]=0.0;c[b+280>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;c[b+304>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b+68>>2]=1065353216;c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+88>>2]=1065353216;c[b+92>>2]=0;c[b+92+4>>2]=0;c[b+92+8>>2]=0;c[b+92+12>>2]=0;c[b+108>>2]=1065353216;c[b+112>>2]=0;c[b+112+4>>2]=0;c[b+112+8>>2]=0;c[b+112+12>>2]=0;c[b+112+16>>2]=0;c[b>>2]=5356;a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b+252>>2]=4;return b|0}function Qg(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=4360;if(a[b+288>>0]|0?(d=c[b+220>>2]|0,Ib[c[c[d>>2]>>2]&511](d),d=c[b+220>>2]|0,d|0):0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+212>>2]|0;if(d|0?(Ib[c[c[d>>2]>>2]&511](d),e=c[b+212>>2]|0,e|0):0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}if(a[b+289>>0]|0?(f=c[b+216>>2]|0,Ib[c[c[f>>2]>>2]&511](f),f=c[b+216>>2]|0,f|0):0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}d=c[b+332>>2]|0;if(d|0){if(a[b+336>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+332>>2]=0}a[b+336>>0]=1;c[b+332>>2]=0;c[b+324>>2]=0;c[b+328>>2]=0;d=c[b+304>>2]|0;if(d|0){if(a[b+308>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+304>>2]=0}a[b+308>>0]=1;c[b+304>>2]=0;c[b+296>>2]=0;c[b+300>>2]=0;d=c[b+256>>2]|0;if(d|0){if(a[b+260>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+256>>2]=0}a[b+260>>0]=1;c[b+256>>2]=0;c[b+248>>2]=0;c[b+252>>2]=0;d=c[b+236>>2]|0;if(d|0){if(a[b+240>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+236>>2]=0}a[b+240>>0]=1;c[b+236>>2]=0;c[b+228>>2]=0;c[b+232>>2]=0;d=c[b+204>>2]|0;if(!d){a[b+208>>0]=1;c[b+204>>2]=0;c[b+196>>2]=0;f=b+200|0;c[f>>2]=0;Oj(b);return}if(a[b+208>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+204>>2]=0;a[b+208>>0]=1;c[b+204>>2]=0;c[b+196>>2]=0;f=b+200|0;c[f>>2]=0;Oj(b);return}function Rg(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2];s=+g[e+4>>2];v=+g[a+8>>2];w=+g[e+8>>2];p=+g[a+4>>2];m=+g[a>>2];r=+g[e>>2];u=(s*v-w*p)*+g[b>>2]+ +g[b+4>>2]*(w*m-v*r)+(p*r-s*m)*+g[b+8>>2];t=(s*v-w*p)*+g[b+16>>2]+(w*m-v*r)*+g[b+20>>2]+(p*r-s*m)*+g[b+24>>2];s=(s*v-w*p)*+g[b+32>>2]+(w*m-v*r)*+g[b+36>>2]+(p*r-s*m)*+g[b+40>>2];g[a+16>>2]=u;g[a+20>>2]=t;g[a+24>>2]=s;g[a+28>>2]=0.0;r=+g[f+4>>2];w=+g[f+8>>2];n=+g[f>>2];q=+g[d>>2]*(r*-v-w*-p)+ +g[d+4>>2]*(w*-m-n*-v)+(n*-p-r*-m)*+g[d+8>>2];o=(r*-v-w*-p)*+g[d+16>>2]+(w*-m-n*-v)*+g[d+20>>2]+(n*-p-r*-m)*+g[d+24>>2];m=(r*-v-w*-p)*+g[d+32>>2]+(w*-m-n*-v)*+g[d+36>>2]+(n*-p-r*-m)*+g[d+40>>2];g[a+32>>2]=q;g[a+36>>2]=o;g[a+40>>2]=m;g[a+44>>2]=0.0;u=+g[i>>2]*u;t=+g[i+4>>2]*t;s=+g[i+8>>2]*s;g[a+48>>2]=u;g[a+52>>2]=t;g[a+56>>2]=s;g[a+60>>2]=0.0;r=+g[k>>2]*q;p=+g[k+4>>2]*o;n=+g[k+8>>2]*m;g[a+64>>2]=r;g[a+68>>2]=p;g[a+72>>2]=n;g[a+76>>2]=0.0;g[a+80>>2]=u*+g[a+16>>2]+t*+g[a+20>>2]+s*+g[a+24>>2]+j+l+(r*q+p*o+n*m);return}function Sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6414]=(c[6414]|0)+1;h=(((d<<16|b)+~((d<<16|b)<<15)|0)>>>10^(d<<16|b)+~((d<<16|b)<<15))*9|0;m=c[a+36>>2]|0;h=m+(((c[a+12>>2]|0)+-1&(((h>>>6^h)+~((h>>>6^h)<<11)|0)>>>16^(h>>>6^h)+~((h>>>6^h)<<11)))<<2)|0;g=c[h>>2]|0;if((g|0)==-1){n=0;return n|0}n=c[a+16>>2]|0;e=g;while(1){l=n+(e*12|0)|0;if((c[l>>2]|0)==(b|0)?(c[n+(e*12|0)+4>>2]|0)==(d|0):0)break;e=c[(c[a+56>>2]|0)+(e<<2)>>2]|0;if((e|0)==-1){e=0;f=13;break}}if((f|0)==13)return e|0;if(!l){n=0;return n|0}k=c[n+(e*12|0)+8>>2]|0;j=(e*12|0)/12|0;i=c[a+56>>2]|0;if((g|0)==(j|0))e=-1;else{e=g;while(1){b=c[i+(e<<2)>>2]|0;if((b|0)==(j|0))break;else e=b}}c[((e|0)==-1?h:i+(e<<2)|0)>>2]=c[i+(j<<2)>>2];f=(c[a+8>>2]|0)+-1|0;if((f|0)==(j|0)){c[a+8>>2]=j;n=k;return n|0}g=c[n+(f*12|0)+4>>2]<<16|c[n+(f*12|0)>>2];g=((g+~(g<<15)|0)>>>10^g+~(g<<15))*9|0;g=(((g>>>6^g)+~((g>>>6^g)<<11)|0)>>>16^(g>>>6^g)+~((g>>>6^g)<<11))&(c[a+12>>2]|0)+-1;b=g;d=-1;e=m;while(1){e=c[e+(b<<2)>>2]|0;if((e|0)==(f|0))break;else{b=e;d=e;e=i}}c[((d|0)==-1?m+(g<<2)|0:i+(d<<2)|0)>>2]=c[i+(f<<2)>>2];c[l>>2]=c[n+(f*12|0)>>2];c[l+4>>2]=c[n+(f*12|0)+4>>2];c[l+8>>2]=c[n+(f*12|0)+8>>2];n=(c[a+36>>2]|0)+(g<<2)|0;c[(c[a+56>>2]|0)+(j<<2)>>2]=c[n>>2];c[n>>2]=j;c[a+8>>2]=(c[a+8>>2]|0)+-1;n=k;return n|0}function Tg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;h=l;l=l+64|0;a[d+84>>0]=0;c[h>>2]=c[b+4>>2];c[h+4>>2]=c[b+4+4>>2];c[h+8>>2]=c[b+4+8>>2];c[h+12>>2]=c[b+4+12>>2];c[h+16>>2]=c[b+20>>2];c[h+16+4>>2]=c[b+20+4>>2];c[h+16+8>>2]=c[b+20+8>>2];c[h+16+12>>2]=c[b+20+12>>2];c[h+32>>2]=c[b+36>>2];c[h+32+4>>2]=c[b+36+4>>2];c[h+32+8>>2]=c[b+36+8>>2];c[h+32+12>>2]=c[b+36+12>>2];c[h+48>>2]=c[b+52>>2];c[h+48+4>>2]=c[b+52+4>>2];c[h+48+8>>2]=c[b+52+8>>2];c[h+48+12>>2]=c[b+52+12>>2];if(e?(f=c[b+540>>2]|0,f|0):0)Ob[c[(c[f>>2]|0)+8>>2]&127](f,h);w=+g[d+156>>2];u=+g[h>>2];v=+g[d+160>>2];t=+g[h+4>>2];o=+g[d+164>>2];s=+g[h+8>>2];r=+g[h+16>>2];q=+g[h+20>>2];p=+g[h+24>>2];n=+g[h+32>>2];k=+g[h+36>>2];i=+g[h+40>>2];m=w*r+v*q+o*p+ +g[h+52>>2];j=w*n+v*k+o*i+ +g[h+56>>2];g[d+36>>2]=w*u+v*t+o*s+ +g[h+48>>2];g[d+40>>2]=m;g[d+44>>2]=j;g[d+48>>2]=0.0;j=+g[d+172>>2];m=+g[d+176>>2];o=+g[d+180>>2];g[d+52>>2]=u*j+t*m+s*o;g[d+56>>2]=j*r+m*q+o*p;g[d+60>>2]=j*n+m*k+o*i;g[d+64>>2]=0.0;o=+g[d+188>>2];m=+g[d+192>>2];j=+g[d+196>>2];g[d+68>>2]=u*o+t*m+s*j;g[d+72>>2]=o*r+m*q+j*p;g[d+76>>2]=o*n+m*k+j*i;g[d+80>>2]=0.0;l=h;return}function Ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;break a}case 11:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=0;break a}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);b=c[f>>2]|0;e=c[f+4>>2]|0;c[d>>2]=f+8;c[a>>2]=b;c[a+4>>2]=e;break a}case 13:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&65535)<<16>>16;c[a+4>>2]=(((f&65535)<<16>>16|0)<0)<<31>>31;break a}case 14:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&65535;c[a+4>>2]=0;break a}case 15:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&255)<<24>>24;c[a+4>>2]=(((f&255)<<24>>24|0)<0)<<31>>31;break a}case 16:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&255;c[a+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;w=l;l=l+2048|0;if((e|0)>0)f=0;else{l=w;return}do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));p=0;do{if((xb[c[(c[a>>2]|0)+96>>2]&127](a)|0)>0){q=b+(p<<4)|0;r=b+(p<<4)+4|0;s=b+(p<<4)+8|0;t=d+(p<<4)+12|0;u=d+(p<<4)|0;o=0;do{if(((xb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-o|0)<128){f=(xb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-o|0;if((f|0)>0)v=10;else{i=-3402823466385288598117041.0e14;f=-1}}else{f=128;v=10}if((v|0)==10){v=0;h=0;do{Sb[c[(c[a>>2]|0)+108>>2]&127](a,h,w+(h<<4)|0);h=h+1|0}while((h|0)!=(f|0));k=+g[q>>2];m=+g[r>>2];n=+g[s>>2];h=-1;j=0;i=-3402823466385288598117041.0e14;do{x=k*+g[w+(j<<4)>>2]+m*+g[w+(j<<4)+4>>2]+n*+g[w+(j<<4)+8>>2];y=x>i;h=y?j:h;i=y?x:i;j=j+1|0}while((j|0)!=(f|0));f=h}if(i>+g[t>>2]){y=w+(f<<4)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2];g[t>>2]=i}o=o+128|0}while((o|0)<(xb[c[(c[a>>2]|0)+96>>2]&127](a)|0))}p=p+1|0}while((p|0)!=(e|0));l=w;return}function Wg(b,d){b=b|0;d=d|0;var e=0;e=ht()|0;Ij(e,5,b);c[e>>2]=4940;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];c[e+316>>2]=c[d+16>>2];c[e+316+4>>2]=c[d+16+4>>2];c[e+316+8>>2]=c[d+16+8>>2];c[e+316+12>>2]=c[d+16+12>>2];c[e+332>>2]=c[d+32>>2];c[e+332+4>>2]=c[d+32+4>>2];c[e+332+8>>2]=c[d+32+8>>2];c[e+332+12>>2]=c[d+32+12>>2];c[e+348>>2]=c[d+48>>2];c[e+348+4>>2]=c[d+48+4>>2];c[e+348+8>>2]=c[d+48+8>>2];c[e+348+12>>2]=c[d+48+12>>2];a[e+527>>0]=0;c[e+364>>2]=c[e+300>>2];c[e+364+4>>2]=c[e+300+4>>2];c[e+364+8>>2]=c[e+300+8>>2];c[e+364+12>>2]=c[e+300+12>>2];c[e+380>>2]=c[e+316>>2];c[e+380+4>>2]=c[e+316+4>>2];c[e+380+8>>2]=c[e+316+8>>2];c[e+380+12>>2]=c[e+316+12>>2];c[e+396>>2]=c[e+332>>2];c[e+396+4>>2]=c[e+332+4>>2];c[e+396+8>>2]=c[e+332+8>>2];c[e+396+12>>2]=c[e+332+12>>2];a[e+524>>0]=0;a[e+525>>0]=0;a[e+526>>0]=0;a[e+552>>0]=0;c[e+412>>2]=0;c[e+412+4>>2]=0;c[e+412+8>>2]=0;c[e+412+12>>2]=0;g[e+572>>2]=-1.0;g[e+444>>2]=999999984306749440.0;g[e+448>>2]=999999984306749440.0;g[e+452>>2]=999999984306749440.0;g[e+428>>2]=1.0;g[e+432>>2]=.30000001192092896;g[e+436>>2]=1.0;g[e+440>>2]=.009999999776482582;g[e+456>>2]=.05000000074505806;c[e+592>>2]=0;g[e+596>>2]=0.0;g[e+600>>2]=.699999988079071;g[e+604>>2]=0.0;return e|0}function Xg(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0;r=l;l=l+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;p=c[a+100>>2]|0;if((p|0)>0){n=0;do{t=c[a+108>>2]|0;s=+g[t+(n<<4)>>2]*+g[a+16>>2];q=+g[t+(n<<4)+4>>2]*+g[a+20>>2];o=+g[t+(n<<4)+8>>2]*+g[a+24>>2];k=s*+g[b>>2]+q*+g[b+4>>2]+o*+g[b+8>>2]+ +g[b+48>>2];m=s*+g[b+16>>2]+q*+g[b+20>>2]+o*+g[b+24>>2]+ +g[b+52>>2];o=s*+g[b+32>>2]+q*+g[b+36>>2]+o*+g[b+40>>2]+ +g[b+56>>2];q=k*+g[d>>2]+m*+g[d+4>>2]+o*+g[d+8>>2];if(q<+g[e>>2]){g[e>>2]=q;g[h>>2]=k;g[h+4>>2]=m;g[h+8>>2]=o;g[h+12>>2]=0.0}if(q>+g[f>>2]){g[f>>2]=q;g[i>>2]=k;g[i+4>>2]=m;g[i+8>>2]=o;g[i+12>>2]=0.0}n=n+1|0}while((n|0)!=(p|0));s=+g[f>>2];m=s;n=(g[j>>2]=s,c[j>>2]|0)}else{m=-3402823466385288598117041.0e14;n=-8388609}k=+g[e>>2];if(!(k>m)){l=r;return}c[e>>2]=n;g[f>>2]=k;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];l=r;return}function Yg(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+48|0;e=(c[a+52>>2]|0)+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=d+32+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g[d+32>>2]=1.0;Sb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+36>>2]=+g[d+16>>2]+ +g[a+16>>2];g[d+32>>2]=-1.0;Sb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+20>>2]=+g[d+16>>2]-+g[a+16>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[b>>2]=1.0;Sb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+40>>2]=+g[d+16+4>>2]+ +g[a+16>>2];g[b>>2]=-1.0;Sb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+24>>2]=+g[d+16+4>>2]-+g[a+16>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[d+32+8>>2]=1.0;Sb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+44>>2]=+g[d+16+8>>2]+ +g[a+16>>2];g[d+32+8>>2]=-1.0;Sb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+28>>2]=+g[d+16+8>>2]-+g[a+16>>2];l=d;return}function Zg(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=c[b+8>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+220>>2]&-2|0)!=4)c[f+220>>2]=1;g[f+224>>2]=0.0}f=c[b+12>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+220>>2]&-2|0)!=4)c[f+220>>2]=1;g[f+224>>2]=0.0}f=c[b+20>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+220>>2]&-2|0)!=4)c[f+220>>2]=1;g[f+224>>2]=0.0}f=c[b+24>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+220>>2]&-2|0)!=4)c[f+220>>2]=1;g[f+224>>2]=0.0}f=c[b+156>>2]|0;c[b+156>>2]=f+1;a[b+152>>0]=(f|0)>=(c[b+160>>2]|0)&1;if(f|0){c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+72+16>>2]=0;c[b+72+20>>2]=0;c[b+72+24>>2]=0;c[b+72+28>>2]=0;return}j=+g[b+64>>2];i=1.0/d*+g[b+72>>2]*j;h=1.0/d*j*+g[b+76>>2];d=1.0/d*j*+g[b+80>>2];g[b+72>>2]=i;g[b+76>>2]=h;g[b+80>>2]=d;g[b+84>>2]=0.0;j=+g[b+68>>2];if(j>0.0){l=j*i*+g[b+120>>2]+j*h*+g[b+124>>2]+j*d*+g[b+128>>2];k=j*i*+g[b+136>>2]+j*h*+g[b+140>>2]+j*d*+g[b+144>>2];g[b+88>>2]=j*i*+g[b+104>>2]+j*h*+g[b+108>>2]+j*d*+g[b+112>>2];g[b+92>>2]=l;g[b+96>>2]=k;g[b+100>>2]=0.0;g[b+72>>2]=(1.0-j)*i;g[b+76>>2]=(1.0-j)*h;g[b+80>>2]=(1.0-j)*d;i=(1.0-j)*i;h=(1.0-j)*h;d=(1.0-j)*d}g[b+72>>2]=1.0/+(e|0)*i;g[b+76>>2]=1.0/+(e|0)*h;g[b+80>>2]=1.0/+(e|0)*d;return}function _g(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0;n=l;l=l+16|0;if((f|0)>-3&(f+3|0)>-1){c[6995]=(c[6995]|0)+1;a=sc((f+3<<4|3)+16|0)|0;if(!a)m=0;else{c[(a+4+15&-16)+-4>>2]=a;m=a+4+15&-16}a=0;do{j=m+(a<<4)|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];a=a+1|0}while((a|0)!=(f+3|0));i=0;j=m;while(1){if(!i)h=0.0;else{a=i;h=0.0;k=.5;while(1){h=(a&1|0)==0?h:h+k;a=a>>1;if(!a)break;else k=k*.5}}k=h*2.0+-1.0;o=(+(i<<1|0)*3.1415927410125732+3.1415927410125732)/+(f+3|0);p=+D(+(1.0-k*k));h=p*+G(+o);g[j>>2]=p*+F(+o);g[j+4>>2]=h;g[j+8>>2]=k;g[j+12>>2]=0.0;i=i+1|0;if((i|0)==(f+3|0)){j=m;i=m;break}else j=j+16|0}}else{j=0;i=0}if((f|0)>-3){a=0;do{r=j+(a<<4)|0;q=j+(a<<4)+4|0;m=j+(a<<4)+8|0;o=+g[q>>2]*+g[e+4>>2]+ +g[d+4>>2];p=+g[m>>2]*+g[e+8>>2]+ +g[d+8>>2];g[r>>2]=+g[r>>2]*+g[e>>2]+ +g[d>>2];g[q>>2]=o;g[m>>2]=p;g[j+(a<<4)+12>>2]=0.0;a=a+1|0}while((a|0)<(f+3|0))}a=ic(b,j,f+3|0,1)|0;if((j|0)==0|(i|0)==0){l=n;return a|0}c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);l=n;return a|0}function $g(a){a=a|0;var b=0,d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0;Dl(a+1028|0);if((c[a+812>>2]|0)<=0)return;f=0;do{p=c[a+820>>2]|0;q=p+(f*44|0)|0;d=c[p+(f*44|0)+8>>2]|0;e=c[p+(f*44|0)+12>>2]|0;b=c[p+(f*44|0)+16>>2]|0;m=+g[d+8>>2];n=+g[d+12>>2];o=+g[d+16>>2];i=+g[d+20>>2];u=+g[e+8>>2];j=u<m?u:m;r=+g[e+12>>2];k=r<n?r:n;s=+g[e+16>>2];l=s<o?s:o;t=+g[e+20>>2];h=t<i?t:i;m=m<u?u:m;n=n<r?r:n;o=o<s?s:o;i=i<t?t:i;t=+g[b+8>>2];j=t<j?t:j;s=+g[b+12>>2];k=s<k?s:k;r=+g[b+16>>2];l=r<l?r:l;u=+g[b+20>>2];h=u<h?u:h;i=i<u?u:i;m=(m<t?t:m)+0.0;n=(n<s?s:n)+0.0;o=(o<r?r:o)+0.0;b=c[a+1032>>2]|0;if(!b){c[6995]=(c[6995]|0)+1;b=sc(63)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}d=b;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}else c[a+1032>>2]=0;c[b+32>>2]=0;c[b+36>>2]=q;c[b+40>>2]=0;g[b>>2]=j;g[b+4>>2]=k;g[b+8>>2]=l;g[b+12>>2]=h;g[b+16>>2]=m;g[b+20>>2]=n;g[b+24>>2]=o;g[b+28>>2]=i;Pe(a+1028|0,c[a+1028>>2]|0,b);c[a+1040>>2]=(c[a+1040>>2]|0)+1;c[p+(f*44|0)+40>>2]=b;f=f+1|0}while((f|0)<(c[a+812>>2]|0));return}function ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=c[a+12>>2]|0;i=c[h+(((d+b|0)/2|0)<<4)>>2]|0;j=c[h+(((d+b|0)/2|0)<<4)+4>>2]|0;k=c[h+(((d+b|0)/2|0)<<4)+8>>2]|0;f=d;e=b;while(1){while(1){g=c[h+(e<<4)+4>>2]|0;if((g|0)>=(j|0)){if((g|0)!=(j|0))break;g=c[h+(e<<4)>>2]|0;if((g|0)>=(i|0)){if((g|0)!=(i|0))break;if((c[h+(e<<4)+8>>2]|0)>=(k|0))break}}e=e+1|0}while(1){g=c[h+(f<<4)+4>>2]|0;if((j|0)>=(g|0)){if((j|0)!=(g|0))break;g=c[h+(f<<4)>>2]|0;if((i|0)>=(g|0)){if((i|0)!=(g|0))break;if((k|0)>=(c[h+(f<<4)+8>>2]|0))break}}f=f+-1|0}if((e|0)<=(f|0)){g=h+(e<<4)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];h=h+(f<<4)|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];h=(c[a+12>>2]|0)+(f<<4)|0;c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[h+12>>2]=c[m+12>>2];f=f+-1|0;e=e+1|0}if((e|0)>(f|0))break;h=c[a+12>>2]|0}if((f|0)>(b|0))ah(a,b,f);if((e|0)>=(d|0)){l=m;return}ah(a,e,d);l=m;return}function bh(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0;r=l;l=l+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;q=c[a+8>>2]|0;if((q|0)>0){n=0;do{t=c[a+16>>2]|0;s=+g[t+(n<<4)>>2];p=+g[t+(n<<4)+4>>2];o=+g[t+(n<<4)+8>>2];k=s*+g[b>>2]+p*+g[b+4>>2]+o*+g[b+8>>2]+ +g[b+48>>2];m=s*+g[b+16>>2]+p*+g[b+20>>2]+o*+g[b+24>>2]+ +g[b+52>>2];o=s*+g[b+32>>2]+p*+g[b+36>>2]+o*+g[b+40>>2]+ +g[b+56>>2];p=k*+g[d>>2]+m*+g[d+4>>2]+o*+g[d+8>>2];if(p<+g[e>>2]){g[e>>2]=p;g[h>>2]=k;g[h+4>>2]=m;g[h+8>>2]=o;g[h+12>>2]=0.0}if(p>+g[f>>2]){g[f>>2]=p;g[i>>2]=k;g[i+4>>2]=m;g[i+8>>2]=o;g[i+12>>2]=0.0}n=n+1|0}while((n|0)!=(q|0));s=+g[f>>2];m=s;n=(g[j>>2]=s,c[j>>2]|0)}else{m=-3402823466385288598117041.0e14;n=-8388609}k=+g[e>>2];if(!(k>m)){l=r;return}c[e>>2]=n;g[f>>2]=k;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];l=r;return}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+548>>2]|0;if((f|0)<=0)return;g=c[a+556>>2]|0;d=0;while(1){if((c[g+(d<<2)>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){e=25;break}}if((e|0)==25)return;if((d|0)<(f|0))d=0;else return;while(1){if((c[g+(d<<2)>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}if((f|0)>(d|0)){d=g+(d<<2)|0;e=c[d>>2]|0;c[d>>2]=c[g+(f+-1<<2)>>2];c[(c[a+556>>2]|0)+(f+-1<<2)>>2]=e;c[a+548>>2]=f+-1}g=c[b+28>>2]|0;b=c[b+32>>2]|0;if((g|0)==(a|0)){d=c[a+288>>2]|0;a:do if((d|0)>0){f=c[a+296>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(b|0))break a;e=e+1|0;if((e|0)>=(d|0)){e=d;break}}}else e=d;while(0);if((d|0)>(e|0)){f=c[a+296>>2]|0;g=f+(e<<2)|0;b=c[g>>2]|0;c[g>>2]=c[f+(d+-1<<2)>>2];c[(c[a+296>>2]|0)+(d+-1<<2)>>2]=b;c[a+288>>2]=d+-1;d=d+-1|0}c[a+280>>2]=(d|0)>0&1;return}else{d=c[b+288>>2]|0;b:do if((d|0)>0){f=c[b+296>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(g|0))break b;e=e+1|0;if((e|0)>=(d|0)){e=d;break}}}else e=d;while(0);if((d|0)>(e|0)){f=c[b+296>>2]|0;g=f+(e<<2)|0;a=c[g>>2]|0;c[g>>2]=c[f+(d+-1<<2)>>2];c[(c[b+296>>2]|0)+(d+-1<<2)>>2]=a;c[b+288>>2]=d+-1;d=d+-1|0}c[b+280>>2]=(d|0)>0&1;return}}function dh(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0;j=c[a+28>>2]|0;i=0;e=0.0;f=0.0;h=0.0;a:while(1){switch(i|0){case 0:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 1:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 2:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 3:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 4:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 5:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 6:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 7:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+72>>2]-+g[a+88>>2];break}default:{}}if((j|0)>0){d=c[a+36>>2]|0;b=0;do{if(+g[d+(b*36|0)+32>>2]+(e*+g[d+(b*36|0)+20>>2]+f*+g[d+(b*36|0)+24>>2]+h*+g[d+(b*36|0)+28>>2])>0.0){b=0;d=16;break a}b=b+1|0}while((b|0)<(j|0))}i=i+1|0;if((i|0)>=8){b=1;d=16;break}}if((d|0)==16)return b|0;return 0}function eh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=(a[b+68>>0]|0)!=0;k=j?e:d;j=j?d:e;h=c[k+4>>2]|0;i=c[h+20>>2]|0;g=c[b+52>>2]|0;if((g|0)<(i|0)){if((c[b+56>>2]|0)<(i|0)){if(!i){d=0;f=g}else{c[6995]=(c[6995]|0)+1;d=sc((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+52>>2]|0}if((f|0)>0){e=0;do{c[d+(e<<2)>>2]=c[(c[b+60>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+60>>2]|0;if(e|0){if(a[b+64>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=i;e=b+60|0}else e=b+60|0;d=g;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(i|0))}c[b+52>>2]=i;if((i|0)<=0){l=m;return}d=0;do{if(!(c[h+68>>2]|0)){e=c[(c[h+28>>2]|0)+(d*80|0)+64>>2]|0;f=c[k+8>>2]|0;g=c[k+12>>2]|0;c[m>>2]=k;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=-1;c[m+20>>2]=d;g=c[b+4>>2]|0;g=Db[c[(c[g>>2]|0)+8>>2]&1](g,m,j,c[b+72>>2]|0,1)|0;c[(c[b+60>>2]|0)+(d<<2)>>2]=g}else c[(c[b+60>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(i|0));l=m;return}function fh(a,b,e){a=a|0;b=b|0;e=e|0;fi(a,b,e)|0;c[b+52>>2]=c[a+48>>2];c[b+56>>2]=c[a+52>>2];c[b+60>>2]=c[a+56>>2];c[b+64>>2]=c[a+60>>2];c[b+68>>2]=c[a+64>>2];c[b+72>>2]=c[a+68>>2];c[b+76>>2]=c[a+72>>2];c[b+80>>2]=c[a+76>>2];c[b+84>>2]=c[a+80>>2];c[b+88>>2]=c[a+84>>2];c[b+92>>2]=c[a+88>>2];c[b+96>>2]=c[a+92>>2];c[b+100>>2]=c[a+96>>2];c[b+104>>2]=c[a+100>>2];c[b+108>>2]=c[a+104>>2];c[b+112>>2]=c[a+108>>2];c[b+116>>2]=c[a+112>>2];c[b+120>>2]=c[a+116>>2];c[b+124>>2]=c[a+120>>2];c[b+128>>2]=c[a+124>>2];c[b+132>>2]=c[a+128>>2];c[b+136>>2]=c[a+132>>2];c[b+140>>2]=c[a+136>>2];c[b+144>>2]=c[a+140>>2];c[b+148>>2]=c[a+144>>2];c[b+152>>2]=c[a+148>>2];c[b+156>>2]=c[a+152>>2];c[b+160>>2]=c[a+156>>2];c[b+164>>2]=c[a+160>>2];c[b+168>>2]=c[a+164>>2];c[b+172>>2]=c[a+168>>2];c[b+176>>2]=c[a+172>>2];c[b+228>>2]=c[a+868>>2];c[b+212>>2]=c[a+872>>2];c[b+196>>2]=c[a+680>>2];c[b+180>>2]=c[a+696>>2];c[b+232>>2]=c[a+932>>2];c[b+216>>2]=c[a+936>>2];c[b+200>>2]=c[a+684>>2];c[b+184>>2]=c[a+700>>2];c[b+236>>2]=c[a+996>>2];c[b+220>>2]=c[a+1e3>>2];c[b+204>>2]=c[a+688>>2];c[b+188>>2]=c[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];return 12393}function gh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=c[b+32>>2]|0;if(!e)f=0;else f=c[b+40>>2]|0;i=c[b+52>>2]|0;if(!i)g=0;else g=c[b+60>>2]|0;d=c[b+72>>2]|0;if(!d)h=0;else h=c[b+80>>2]|0;j=c[b+8>>2]|0;+wb[c[(c[j>>2]|0)+12>>2]&3](j,f,e,g,i,h,d,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);d=c[b+32>>2]|0;if((d|0)<0){if((c[b+36>>2]|0)<0){e=c[b+40>>2]|0;if(e|0){if(a[b+44>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+32>>2]=0;d=c[b+52>>2]|0;if((d|0)<0){if((c[b+56>>2]|0)<0){e=c[b+60>>2]|0;if(e|0){if(a[b+64>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+56>>2]=0}do{c[(c[b+60>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+52>>2]=0;d=c[b+72>>2]|0;if((d|0)>=0){c[b+72>>2]=0;return}if((c[b+76>>2]|0)<0){e=c[b+80>>2]|0;if(e|0){if(a[b+84>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+76>>2]=0}do{c[(c[b+80>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0);c[b+72>>2]=0;return}function hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[6995]=(c[6995]|0)+1;d=sc(39)|0;if(!d)g=0;else{c[(d+4+15&-16)+-4>>2]=d;g=d+4+15&-16}h=g;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;if((c[b+932>>2]|0)>0){i=c[c[b+940>>2]>>2]|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2]}else{c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0}e=c[b+932>>2]|0;if((e|0)!=(c[b+936>>2]|0)){i=e;f=b+940|0;f=c[f>>2]|0;f=f+(i<<2)|0;c[f>>2]=h;i=i+1|0;c[b+932>>2]=i;return g|0}i=e|0?e<<1:1;if((e|0)>=(i|0)){i=e;f=b+940|0;f=c[f>>2]|0;f=f+(i<<2)|0;c[f>>2]=h;i=i+1|0;c[b+932>>2]=i;return g|0}if(!i)d=0;else{c[6995]=(c[6995]|0)+1;d=sc((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+932>>2]|0}if((e|0)>0){f=0;do{c[d+(f<<2)>>2]=c[(c[b+940>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+940>>2]|0;if(f){if(a[b+944>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0);e=c[b+932>>2]|0}c[b+940>>2]=0}a[b+944>>0]=1;c[b+940>>2]=d;c[b+936>>2]=i;i=e;f=b+940|0;f=c[f>>2]|0;f=f+(i<<2)|0;c[f>>2]=h;i=i+1|0;c[b+932>>2]=i;return g|0}function ih(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c[b+4>>2]|0;if((e|0)==(c[b+8>>2]|0)){Of(b,e|0?e<<1:1);e=c[b+4>>2]|0}o=c[b+12>>2]|0;j=o+(e*36|0)+16|0;a[j>>0]=1;k=o+(e*36|0)+12|0;c[k>>2]=0;n=o+(e*36|0)+4|0;c[n>>2]=0;l=o+(e*36|0)+8|0;c[l>>2]=0;p=c[d+4>>2]|0;if((p|0)<=0){c[n>>2]=p;p=o+(e*36|0)+20|0;d=d+20|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}c[6995]=(c[6995]|0)+1;f=sc((p<<2|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}h=c[n>>2]|0;i=c[k>>2]|0;if((h|0)<=0){if(i|0)m=10}else{f=0;do{c[g+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));m=10}if((m|0)==10?a[j>>0]|0:0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}a[j>>0]=1;c[k>>2]=g;c[l>>2]=p;Yk(g|0,0,p<<2|0)|0;h=c[k>>2]|0;c[n>>2]=p;g=c[d+12>>2]|0;f=0;do{c[h+(f<<2)>>2]=c[g+(f<<2)>>2];f=f+1|0}while((f|0)!=(p|0));p=o+(e*36|0)+20|0;d=d+20|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}function jh(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0;e=c[b+248>>2]|0;if((e|0)<=0)return;k=(a[28564]|0)==0;j=0;do{i=c[(c[b+256>>2]|0)+(j<<2)>>2]|0;a:do if(i){f=c[i+220>>2]|0;b:do switch(f|0){case 4:case 2:{if((f|0)==4)break a;break}default:{o=+g[i+372>>2];n=+g[i+376>>2];m=+g[i+380>>2];l=+g[i+532>>2];if(o*o+n*n+m*m<l*l?(l=+g[i+388>>2],m=+g[i+392>>2],n=+g[i+396>>2],o=+g[i+536>>2],l*l+m*m+n*n<o*o):0){g[i+224>>2]=+g[i+224>>2]+d;break b}g[i+224>>2]=0.0;if((f&-2|0)!=4){c[i+220>>2]=0;f=0}}}while(0);h=f&-2;do if(k){if((h|0)!=2?!(+g[i+224>>2]>2.0):0)break;if(c[i+204>>2]&3|0){if((h|0)==4)break a;c[i+220>>2]=2;break a}if((f|0)==1){if((h|0)==4)break a;c[i+220>>2]=3;break a}else{if((f|0)!=2)break a;e=(c[i+304>>2]|0)+2|0;c[i+388>>2]=0;c[i+388+4>>2]=0;c[i+388+8>>2]=0;c[i+388+12>>2]=0;c[i+304>>2]=e;c[i+372>>2]=0;c[i+372+4>>2]=0;c[i+372+8>>2]=0;c[i+372+12>>2]=0;e=c[b+248>>2]|0;break a}}while(0);if((h|0)!=4)c[i+220>>2]=1}while(0);j=j+1|0}while((j|0)<(e|0));return}function kh(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0.0;Vb[c[(c[a>>2]|0)+8>>2]&127](a,b,f,h);n=c[h>>2]|0;k=c[h+4>>2]|0;b=c[h+8>>2]|0;l=c[f>>2]|0;o=c[f+4>>2]|0;i=c[f+8>>2]|0;m=+g[d>>2];p=+g[d+4>>2];q=+g[d+8>>2];if(m>0.0)n=(g[j>>2]=(c[j>>2]=n,+g[j>>2])+m,c[j>>2]|0);else l=(g[j>>2]=(c[j>>2]=l,+g[j>>2])+m,c[j>>2]|0);if(p>0.0){d=o;k=(g[j>>2]=(c[j>>2]=k,+g[j>>2])+p,c[j>>2]|0)}else d=(g[j>>2]=(c[j>>2]=o,+g[j>>2])+p,c[j>>2]|0);if(q>0.0)b=(g[j>>2]=(c[j>>2]=b,+g[j>>2])+q,c[j>>2]|0);else i=(g[j>>2]=(c[j>>2]=i,+g[j>>2])+q,c[j>>2]|0);m=+g[e>>2];p=+g[e+4>>2];q=+g[e+8>>2];q=+D(+(m*m+p*p+q*q));q=q*+nb[c[(c[a>>2]|0)+16>>2]&15](a);c[f>>2]=l;c[f+4>>2]=d;c[f+8>>2]=i;g[f+12>>2]=0.0;c[h>>2]=n;c[h+4>>2]=k;c[h+8>>2]=b;g[h+12>>2]=0.0;g[f>>2]=+g[f>>2]-q;g[f+4>>2]=+g[f+4>>2]-q;g[f+8>>2]=+g[f+8>>2]-q;g[h>>2]=q+ +g[h>>2];g[h+4>>2]=q+ +g[h+4>>2];g[h+8>>2]=q+ +g[h+8>>2];return}function lh(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;j=c[b+772>>2]|0;if(e){if((j|0)>0){f=c[b+780>>2]|0;e=0;do{g[f+(e*104|0)+88>>2]=0.0;e=e+1|0}while((e|0)!=(j|0))}i=c[b+812>>2]|0;if((i|0)>0){f=c[b+820>>2]|0;e=0;do{m=c[f+(e*44|0)+8>>2]|0;l=c[f+(e*44|0)+12>>2]|0;k=c[f+(e*44|0)+16>>2]|0;o=+g[m+8>>2];q=+g[m+12>>2];h=+g[m+16>>2];n=+g[l+8>>2]-o;r=+g[l+12>>2]-q;p=+g[l+16>>2]-h;o=+g[k+8>>2]-o;q=+g[k+12>>2]-q;h=+g[k+16>>2]-h;h=+D(+((n*q-r*o)*(n*q-r*o)+((r*h-p*q)*(r*h-p*q)+(p*o-n*h)*(p*o-n*h))));g[m+88>>2]=h+ +g[m+88>>2];g[l+88>>2]=h+ +g[l+88>>2];g[k+88>>2]=h+ +g[k+88>>2];e=e+1|0}while((e|0)!=(i|0))}if((j|0)<=0){m=b+984|0;a[m>>0]=1;return}f=c[b+780>>2]|0;e=0;do{m=f+(e*104|0)+88|0;g[m>>2]=1.0/+g[m>>2];e=e+1|0}while((e|0)!=(j|0))}if((j|0)<=0){m=b+984|0;a[m>>0]=1;return}f=c[b+780>>2]|0;e=0;h=0.0;do{r=+g[f+(e*104|0)+88>>2];h=h+(r>0.0?1.0/r:0.0);e=e+1|0}while((e|0)!=(j|0));h=1.0/h*d;e=0;do{m=f+(e*104|0)+88|0;g[m>>2]=+g[m>>2]/h;e=e+1|0}while((e|0)!=(j|0));m=b+984|0;a[m>>0]=1;return}function mh(a,b){a=+a;b=+b;var d=0,e=0,f=0,h=0,i=0,k=0,l=0,m=0;l=(g[j>>2]=a,c[j>>2]|0);i=(g[j>>2]=b,c[j>>2]|0);a:do if((i<<1|0)!=0?!((l>>>23&255|0)==255|((QD(b)|0)&2147483647)>>>0>2139095040):0){if(l<<1>>>0<=i<<1>>>0)return +((l<<1|0)==(i<<1|0)?a*0.0:a);if(!(l>>>23&255)){if((l<<9|0)>-1){e=l<<9;d=0;do{d=d+-1|0;e=e<<1}while((e|0)>-1)}else d=0;e=l<<1-d}else{e=l&8388607|8388608;d=l>>>23&255}if(!(i>>>23&255)){if((i<<9|0)>-1){f=0;h=i<<9;do{f=f+-1|0;h=h<<1}while((h|0)>-1)}else f=0;k=f;i=i<<1-f}else{k=i>>>23&255;i=i&8388607|8388608}f=e-i|0;b:do if((d|0)>(k|0)){h=f;f=(f|0)>-1;while(1){if(f)if(!h)break;else e=h;e=e<<1;d=d+-1|0;f=e-i|0;if((d|0)>(k|0)){h=f;f=(f|0)>-1}else{h=(f|0)>-1;break b}}b=a*0.0;break a}else h=(f|0)>-1;while(0);if(h)if(!f){b=a*0.0;break}else e=f;if(e>>>0<8388608)do{e=e<<1;d=d+-1|0}while(e>>>0<8388608);if((d|0)>0)d=e+-8388608|d<<23;else d=e>>>(1-d|0);b=(c[j>>2]=d|l&-2147483648,+g[j>>2])}else m=3;while(0);if((m|0)==3)b=a*b/(a*b);return +b}function nh(b,e,f,h,i,j){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0;if((d[h+55>>0]|0|0)==(e|0)){h=0;return h|0}k=c[5288+(i<<2)>>2]|0;if(+g[h>>2]*+g[f+16>>2]+ +g[h+4>>2]*+g[f+20>>2]+ +g[h+8>>2]*+g[f+24>>2]-+g[h+16>>2]<-9.999999747378752e-06){e=lf(b,c[h+20+(k<<2)>>2]|0,c[h+20+(i<<2)>>2]|0,f,0)|0;if(!e){h=0;return h|0}a[e+52>>0]=i;c[e+32>>2]=h;a[h+52+i>>0]=0;c[h+32+(i<<2)>>2]=e;i=c[j>>2]|0;if(!i)c[j+4>>2]=e;else{a[i+53>>0]=2;c[i+36>>2]=e;a[e+54>>0]=1;c[e+40>>2]=i}c[j>>2]=e;c[j+8>>2]=(c[j+8>>2]|0)+1;h=1;return h|0}i=c[5300+(i<<2)>>2]|0;a[h+55>>0]=e;if(!(nh(b,e,f,c[h+32+(k<<2)>>2]|0,d[h+52+k>>0]|0,j)|0)){h=0;return h|0}if(!(nh(b,e,f,c[h+32+(i<<2)>>2]|0,d[h+52+i>>0]|0,j)|0)){h=0;return h|0}i=c[h+48>>2]|0;if(i|0)c[i+44>>2]=c[h+44>>2];i=c[h+44>>2]|0;if(i|0)c[i+48>>2]=c[h+48>>2];if((c[b+18496>>2]|0)==(h|0))c[b+18496>>2]=c[h+48>>2];c[b+18500>>2]=(c[b+18500>>2]|0)+-1;c[h+44>>2]=0;c[h+48>>2]=c[b+18504>>2];i=c[b+18504>>2]|0;if(i|0)c[i+44>>2]=h;c[b+18504>>2]=h;c[b+18508>>2]=(c[b+18508>>2]|0)+1;h=1;return h|0}function oh(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0.0,o=0.0;a=l;l=l+80|0;o=+g[h+52>>2]-+g[f+52>>2];n=+g[h+56>>2]-+g[f+56>>2];g[a+56>>2]=+g[h+48>>2]-+g[f+48>>2];g[a+56+4>>2]=o;g[a+56+8>>2]=n;g[a+56+12>>2]=0.0;if(Hc(d,f,e,h,a+56|0,a,1)|0){c[j>>2]=c[a+4>>2];c[j+4>>2]=c[a+4+4>>2];c[j+8>>2]=c[a+4+8>>2];c[j+12>>2]=c[a+4+12>>2];c[k>>2]=c[a+20>>2];c[k+4>>2]=c[a+20+4>>2];c[k+8>>2]=c[a+20+8>>2];c[k+12>>2]=c[a+20+12>>2];c[i>>2]=c[a+36>>2];c[i+4>>2]=c[a+36+4>>2];c[i+8>>2]=c[a+36+8>>2];c[i+12>>2]=c[a+36+12>>2];k=1;l=a;return k|0}if(!(Gd(d,f,e,h,a+56|0,a)|0)){k=0;l=a;return k|0}c[j>>2]=c[a+4>>2];c[j+4>>2]=c[a+4+4>>2];c[j+8>>2]=c[a+4+8>>2];c[j+12>>2]=c[a+4+12>>2];c[k>>2]=c[a+20>>2];c[k+4>>2]=c[a+20+4>>2];c[k+8>>2]=c[a+20+8>>2];c[k+12>>2]=c[a+20+12>>2];c[i>>2]=c[a+36>>2];c[i+4>>2]=c[a+36+4>>2];c[i+8>>2]=c[a+36+8>>2];c[i+12>>2]=c[a+36+12>>2];k=0;l=a;return k|0}function ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0;p=l;l=l+2048|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];if(e*e+h*h+f*f<9.999999747378752e-05){n=1.0;m=0.0;h=0.0}else{q=1.0/+D(+(e*e+h*h+f*f));n=e*q;m=h*q;h=f*q}if((xb[c[(c[b>>2]|0)+96>>2]&127](b)|0)<=0){l=p;return}k=0;f=-999999984306749440.0;while(1){if(((xb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-k|0)<128){d=(xb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-k|0;if((d|0)>0)o=8;else{e=-3402823466385288598117041.0e14;d=-1}}else{d=128;o=8}if((o|0)==8){o=0;i=0;do{Sb[c[(c[b>>2]|0)+108>>2]&127](b,i,p+(i<<4)|0);i=i+1|0}while((i|0)!=(d|0));i=-1;j=0;e=-3402823466385288598117041.0e14;do{q=n*+g[p+(j<<4)>>2]+m*+g[p+(j<<4)+4>>2]+h*+g[p+(j<<4)+8>>2];r=q>e;i=r?j:i;e=r?q:e;j=j+1|0}while((j|0)!=(d|0));d=i}if(e>f){r=p+(d<<4)|0;c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2]}else e=f;k=k+128|0;if((k|0)>=(xb[c[(c[b>>2]|0)+96>>2]&127](b)|0))break;else f=e}l=p;return}function qh(b){b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0,k=0;k=l;l=l+64|0;if(!(a[b+290>>0]|0)){d=c[b+248>>2]|0;if((d|0)<=0){l=k;return}h=0;do{f=c[(c[b+256>>2]|0)+(h<<2)>>2]|0;switch(c[f+220>>2]|0){case 2:case 5:break;default:if((c[f+540>>2]|0)!=0?(c[f+204>>2]&3|0)==0:0){e=+g[b+280>>2];if((a[b+316>>0]|0)!=0?(j=+g[b+284>>2],j!=0.0):0)e=e-j;else e=e*+g[f+268>>2];Af(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,k);d=c[f+540>>2]|0;Ob[c[(c[d>>2]|0)+12>>2]&127](d,k);d=c[b+248>>2]|0}}h=h+1|0}while((h|0)<(d|0));l=k;return}else{d=c[b+8>>2]|0;if((d|0)<=0){l=k;return}h=0;do{f=c[(c[b+16>>2]|0)+(h<<2)>>2]|0;if((!((f|0)==0?1:(c[f+252>>2]&2|0)==0)?(c[f+540>>2]|0)!=0:0)?(c[f+204>>2]&3|0)==0:0){e=+g[b+280>>2];if((a[b+316>>0]|0)!=0?(i=+g[b+284>>2],i!=0.0):0)e=e-i;else e=e*+g[f+268>>2];Af(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,k);d=c[f+540>>2]|0;Ob[c[(c[d>>2]|0)+12>>2]&127](d,k);d=c[b+8>>2]|0}h=h+1|0}while((h|0)<(d|0));l=k;return}}function rh(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0.0,l=0.0;e=c[d+204>>2]|0;if((e&3|0)==0?(c[d+564>>2]&1|0)==0:0){h=+g[d+404>>2];if(h!=0.0){l=1.0/h*+g[b+268>>2];k=1.0/h*+g[b+272>>2];g[d+424>>2]=1.0/h*+g[b+264>>2];g[d+428>>2]=l;g[d+432>>2]=k;g[d+436>>2]=0.0}c[d+440>>2]=c[b+264>>2];c[d+440+4>>2]=c[b+264+4>>2];c[d+440+8>>2]=c[b+264+8>>2];c[d+440+12>>2]=c[b+264+12>>2]}if(!(c[d+192>>2]|0))return;if(e&1){if((c[d+220>>2]&-2|0)!=4)c[d+220>>2]=2}else{f=c[b+248>>2]|0;if((f|0)==(c[b+252>>2]|0)?(j=f|0?f<<1:1,(f|0)<(j|0)):0){if(!j)e=0;else{c[6995]=(c[6995]|0)+1;e=sc((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+248>>2]|0}if((f|0)>0){i=0;do{c[e+(i<<2)>>2]=c[(c[b+256>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+256>>2]|0;if(i){if(a[b+260>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);f=c[b+248>>2]|0}c[b+256>>2]=0}a[b+260>>0]=1;c[b+256>>2]=e;c[b+252>>2]=j;e=c[d+204>>2]|0}c[(c[b+256>>2]|0)+(f<<2)>>2]=d;c[b+248>>2]=f+1}j=(e&3|0)==0;Vb[c[(c[b>>2]|0)+36>>2]&127](b,d,j?1:2,j?-1:-3);return}function sh(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=c[a+68+(d<<2)>>2]|0;j=b[i+((f&65535)<<2)+-4>>1]|0;if((e[i+((f&65535)<<2)>>1]|0)>=(j&65535))return;k=c[a+60>>2]|0;m=k+((e[i+((f&65535)<<2)+2>>1]|0)<<6)+54+(d<<1)|0;h=i+((f&65535)<<2)+-4|0;l=i+((f&65535)<<2)|0;while(1){i=e[l+-2>>1]|0;if(!(j&1)){f=e[l+2>>1]|0;if(((((e[k+(f<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[k+(i<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[k+(i<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[k+(f<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[k+(f<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[k+(i<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[k+(i<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[k+(f<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(p=c[a+92>>2]|0,n=k+(f<<6)|0,o=k+(i<<6)|0,Cb[c[(c[p>>2]|0)+12>>2]&31](p,n,o,g)|0,p=c[a+96>>2]|0,p|0):0)Cb[c[(c[p>>2]|0)+12>>2]&31](p,n,o,g)|0;f=k+(i<<6)+48+(d<<1)|0}else f=k+(i<<6)+54+(d<<1)|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[m>>1]=(b[m>>1]|0)+-1<<16>>16;f=e[l>>1]|e[l+2>>1]<<16;j=e[h>>1]|e[h+2>>1]<<16;b[l>>1]=j;b[l+2>>1]=j>>>16;b[h>>1]=f;b[h+2>>1]=f>>>16;f=l+-4|0;h=h+-4|0;j=b[h>>1]|0;if((e[f>>1]|0)>=(j&65535))break;l=f;k=c[a+60>>2]|0}return}function th(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0;h=c[d+204>>2]|0;if((h&3|0)==0?(c[d+564>>2]&1|0)==0:0){i=+g[d+404>>2];if(i!=0.0){n=1.0/i*+g[b+268>>2];m=1.0/i*+g[b+272>>2];g[d+424>>2]=1.0/i*+g[b+264>>2];g[d+428>>2]=n;g[d+432>>2]=m;g[d+436>>2]=0.0}c[d+440>>2]=c[b+264>>2];c[d+440+4>>2]=c[b+264+4>>2];c[d+440+8>>2]=c[b+264+8>>2];c[d+440+12>>2]=c[b+264+12>>2]}if(!(c[d+192>>2]|0))return;if(h&1){if((c[d+220>>2]&-2|0)!=4)c[d+220>>2]=2}else{h=c[b+248>>2]|0;if((h|0)==(c[b+252>>2]|0)?(l=h|0?h<<1:1,(h|0)<(l|0)):0){if(!l)k=0;else{c[6995]=(c[6995]|0)+1;h=sc((l<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[b+248>>2]|0}if((h|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+256>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[b+256>>2]|0;if(j){if(a[b+260>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);h=c[b+248>>2]|0}c[b+256>>2]=0}a[b+260>>0]=1;c[b+256>>2]=k;c[b+252>>2]=l}c[(c[b+256>>2]|0)+(h<<2)>>2]=d;c[b+248>>2]=h+1}Vb[c[(c[b>>2]|0)+36>>2]&127](b,d,e,f);return}function uh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0.0,k=0,l=0.0;l=+g[d>>2];if(+g[b>>2]<=l){j=+g[d+4>>2];if((((+g[b+4>>2]<=j?+g[b+8>>2]<=+g[d+8>>2]:0)?+g[b+16>>2]>=+g[d+16>>2]:0)?+g[b+20>>2]>=+g[d+20>>2]:0)?+g[b+24>>2]>=+g[d+24>>2]:0){d=0;return d|0}else h=d+4|0}else{h=d+4|0;j=+g[d+4>>2]}g[d>>2]=l-f;g[h>>2]=j-f;g[d+8>>2]=+g[d+8>>2]-f;g[d+16>>2]=+g[d+16>>2]+f;g[d+20>>2]=+g[d+20>>2]+f;g[d+24>>2]=+g[d+24>>2]+f;l=+g[e>>2];k=l>0.0?d+16|0:d;g[k>>2]=l+ +g[k>>2];l=+g[e+4>>2];h=l>0.0?d+20|0:h;g[h>>2]=l+ +g[h>>2];l=+g[e+8>>2];h=l>0.0?d+24|0:d+8|0;g[h>>2]=l+ +g[h>>2];h=Ag(a,b)|0;a:do if(h){k=c[a+8>>2]|0;if((k|0)<=-1){h=c[a>>2]|0;break}if(k){e=0;while(1){i=c[h+32>>2]|0;e=e+1|0;if(!i)break a;if((e|0)>=(k|0)){h=i;break}else h=i}}}else h=0;while(0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];Pe(a,h,b);d=1;return d|0}function vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0,G=0.0;o=(+g[a+36>>2]-+g[a+20>>2])*.5;l=(+g[a+40>>2]-+g[a+24>>2])*.5;i=(+g[a+44>>2]-+g[a+28>>2])*.5;n=+nb[c[(c[a>>2]|0)+48>>2]&15](a);k=+nb[c[(c[a>>2]|0)+48>>2]&15](a);i=i+ +nb[c[(c[a>>2]|0)+48>>2]&15](a);B=(+g[a+36>>2]+ +g[a+20>>2])*.5;z=(+g[a+40>>2]+ +g[a+24>>2])*.5;x=(+g[a+44>>2]+ +g[a+28>>2])*.5;G=+g[b>>2];w=+C(+G);F=+g[b+4>>2];v=+C(+F);t=+g[b+8>>2];u=+C(+t);E=+g[b+16>>2];s=+C(+E);D=+g[b+20>>2];r=+C(+D);p=+g[b+24>>2];q=+C(+p);A=+g[b+32>>2];m=+C(+A);y=+g[b+36>>2];j=+C(+y);f=+g[b+40>>2];h=+C(+f);t=B*G+z*F+x*t+ +g[b+48>>2];p=B*E+z*D+x*p+ +g[b+52>>2];f=B*A+z*y+x*f+ +g[b+56>>2];g[d>>2]=t-((o+n)*w+(l+k)*v+i*u);g[d+4>>2]=p-((o+n)*s+(l+k)*r+i*q);g[d+8>>2]=f-((o+n)*m+(l+k)*j+i*h);g[d+12>>2]=0.0;g[e>>2]=(o+n)*w+(l+k)*v+i*u+t;g[e+4>>2]=(o+n)*s+(l+k)*r+i*q+p;g[e+8>>2]=(o+n)*m+(l+k)*j+i*h+f;g[e+12>>2]=0.0;return}function wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0;I=+g[a+52>>2];z=+g[a+36>>2];H=+g[a+56>>2];x=+g[a+40>>2];F=+g[a+60>>2];v=+g[a+44>>2];G=(c[a+20>>2]|0)==0;m=+nb[c[(c[a>>2]|0)+48>>2]&15](a);k=+nb[c[(c[a>>2]|0)+48>>2]&15](a);i=+nb[c[(c[a>>2]|0)+48>>2]&15](a);m=(G?0.0:(I-z)*.5)+m;k=(G?0.0:(H-x)*.5)+k;i=(G?0.0:(F-v)*.5)+i;E=+g[b>>2];u=+C(+E);D=+g[b+4>>2];t=+C(+D);r=+g[b+8>>2];s=+C(+r);B=+g[b+16>>2];q=+C(+B);A=+g[b+20>>2];p=+C(+A);n=+g[b+24>>2];o=+C(+n);y=+g[b+32>>2];l=+C(+y);w=+g[b+36>>2];j=+C(+w);f=+g[b+40>>2];h=+C(+f);z=G?0.0:(I+z)*.5;x=G?0.0:(H+x)*.5;v=G?0.0:(F+v)*.5;r=z*E+x*D+v*r+ +g[b+48>>2];n=z*B+x*A+v*n+ +g[b+52>>2];f=z*y+x*w+v*f+ +g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function xh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;k=c[a+60>>2]|0;l=e[h+((f&65535)<<2)+2>>1]|0;i=b[h+((f&65535)<<2)+-4>>1]|0;if((e[h+((f&65535)<<2)>>1]|0)>=(i&65535))return;g=h+((f&65535)<<2)+-4|0;j=h+((f&65535)<<2)|0;h=k;while(1){f=e[j+-2>>1]|0;if(!(i&1))f=h+(f<<6)+48+(d<<1)|0;else{if(((((e[k+(l<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[h+(f<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[h+(f<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[k+(l<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[k+(l<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[h+(f<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[h+(f<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[k+(l<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(n=c[a+92>>2]|0,m=h+(f<<6)|0,Bb[c[(c[n>>2]|0)+8>>2]&63](n,k+(l<<6)|0,m)|0,n=c[a+96>>2]|0,n|0):0)Bb[c[(c[n>>2]|0)+8>>2]&63](n,k+(l<<6)|0,m)|0;f=h+(f<<6)+54+(d<<1)|0}b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[k+(l<<6)+48+(d<<1)>>1]=(b[k+(l<<6)+48+(d<<1)>>1]|0)+-1<<16>>16;f=e[j>>1]|e[j+2>>1]<<16;i=e[g>>1]|e[g+2>>1]<<16;b[j>>1]=i;b[j+2>>1]=i>>>16;b[g>>1]=f;b[g+2>>1]=f>>>16;f=j+-4|0;g=g+-4|0;i=b[g>>1]|0;if((e[f>>1]|0)>=(i&65535))break;j=f;h=c[a+60>>2]|0}return}function yh(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0,j=0,k=0;f=l;l=l+16|0;d=+g[(gJ(a)|0)>>2];e=+g[(OI(a+16|0)|0)>>2];c=+g[(NI(a+32|0)|0)>>2];if(d+e+c>0.0){e=+VI(d+e+c+1.0);g[f+12>>2]=e*.5;d=+g[(OI(a+32|0)|0)>>2];g[f>>2]=(d-+g[(NI(a+16|0)|0)>>2])*(.5/e);d=+g[(NI(a)|0)>>2];g[f+4>>2]=(d-+g[(gJ(a+32|0)|0)>>2])*(.5/e);d=+g[(gJ(a+16|0)|0)>>2];g[f+8>>2]=(d-+g[(OI(a)|0)>>2])*(.5/e);i=f+4|0;h=f+8|0;a=f+12|0;j=f;as(b,j,i,h,a);l=f;return}else{h=(d<e?e:d)<c?2:d<e&1;i=gJ(a+(h<<4)|0)|0;e=+g[i+(h<<2)>>2];k=gJ(a+((((h+1|0)>>>0)%3|0)<<4)|0)|0;e=e-+g[k+((((h+1|0)>>>0)%3|0)<<2)>>2];j=gJ(a+((((h+2|0)>>>0)%3|0)<<4)|0)|0;e=+VI(e-+g[j+((((h+2|0)>>>0)%3|0)<<2)>>2]+1.0);g[f+(h<<2)>>2]=e*.5;g[f+12>>2]=(+g[j+((((h+1|0)>>>0)%3|0)<<2)>>2]-+g[k+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+1|0)>>>0)%3|0)<<2)>>2]=(+g[k+(h<<2)>>2]+ +g[i+((((h+1|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+2|0)>>>0)%3|0)<<2)>>2]=(+g[j+(h<<2)>>2]+ +g[i+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);h=f+4|0;i=f+8|0;j=f+12|0;a=f;as(b,a,h,i,j);l=f;return}}function zh(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;j=xb[c[(c[b>>2]|0)+28>>2]&127](b)|0;i=+g[j>>2]-+g[d>>2];h=+g[j+4>>2]-+g[d+4>>2];f=+g[j+8>>2]-+g[d+8>>2];if(!(i*i+h*h+f*f>1.1920928955078125e-07))return;Yg(b,d);if((a[b+65>>0]|0)!=0?(e=c[b+56>>2]|0,Ib[c[c[e>>2]>>2]&511](e),e=c[b+56>>2]|0,(e|0)!=0):0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);e=b+56|0}else e=b+56|0;c[6995]=(c[6995]|0)+1;d=sc(191)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+52>>2]=287;a[d+60>>0]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;a[d+100>>0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140>>0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;c[d+144>>2]=0;a[d+164>>0]=1;c[d+160>>2]=0;c[d+152>>2]=0;c[d+156>>2]=0;c[d+168>>2]=0;c[d+4>>2]=-8388609;c[d+8>>2]=-8388609;c[d+12>>2]=-8388609;g[d+16>>2]=0.0;c[d+20>>2]=2139095039;c[d+24>>2]=2139095039;c[d+28>>2]=2139095039;g[d+32>>2]=0.0;c[d>>2]=8324;c[e>>2]=d;dd(d,c[b+52>>2]|0,(a[b+64>>0]|0)!=0,b+20|0,b+36|0);a[b+65>>0]=1;return}function Ah(b,d){b=b|0;d=d|0;var e=0.0,f=0.0;if(a[b+1309>>0]|0){e=(+g[b+1256>>2]-+g[b+1316>>2])*+g[b+1340>>2];g[b+792>>2]=e*(+g[d>>2]*+g[b+1364>>2]/+(c[d+44>>2]|0));e=+C(+e);g[b+808>>2]=e/+g[d>>2]}if(a[b+1310>>0]|0){e=(+g[b+1260>>2]-+g[b+1320>>2])*+g[b+1344>>2];g[b+796>>2]=e*(+g[d>>2]*+g[b+1368>>2]/+(c[d+44>>2]|0));e=+C(+e);g[b+812>>2]=e/+g[d>>2]}if(a[b+1311>>0]|0){e=(+g[b+1264>>2]-+g[b+1324>>2])*+g[b+1348>>2];g[b+800>>2]=e*(+g[d>>2]*+g[b+1372>>2]/+(c[d+44>>2]|0));e=+C(+e);g[b+816>>2]=e/+g[d>>2]}if(a[b+1312>>0]|0){f=-((+g[b+1192>>2]-+g[b+1328>>2])*+g[b+1352>>2]);e=+g[d>>2];g[b+876>>2]=e*+g[b+1376>>2]/+(c[d+44>>2]|0)*f;g[b+880>>2]=+C(+f)/e}if(a[b+1313>>0]|0){e=-((+g[b+1196>>2]-+g[b+1332>>2])*+g[b+1356>>2]);f=+g[d>>2];g[b+940>>2]=f*+g[b+1380>>2]/+(c[d+44>>2]|0)*e;g[b+944>>2]=+C(+e)/f}if(!(a[b+1314>>0]|0)){gg(b,d);return}e=-((+g[b+1200>>2]-+g[b+1336>>2])*+g[b+1360>>2]);f=+g[d>>2];g[b+1004>>2]=f*+g[b+1384>>2]/+(c[d+44>>2]|0)*e;g[b+1008>>2]=+C(+e)/f;gg(b,d);return}function Bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0;e=l;l=l+160|0;c[e+136>>2]=0;c[e+136+4>>2]=0;c[e+136+8>>2]=0;c[e+136+12>>2]=0;c[e+136+16>>2]=0;c[e+32>>2]=7356;f=e+32+4|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;c[e+32+44>>2]=0;c[e+32+44+4>>2]=0;c[e+32+44+8>>2]=0;c[e+32+44+12>>2]=0;c[e+32+60>>2]=1065353216;c[e+32+64>>2]=0;c[e+32+68>>2]=c[e+136+4>>2];c[e+32+68+4>>2]=c[e+136+4+4>>2];c[e+32+68+8>>2]=c[e+136+4+8>>2];c[e+32+68+12>>2]=c[e+136+4+12>>2];g[e+32+84>>2]=-999999984306749440.0;j=+g[d>>2];i=+g[d+4>>2];h=+g[d+8>>2];g[e+32+88>>2]=j+i*0.0+h*0.0;g[e+32+92>>2]=j*0.0+i+h*0.0;g[e+32+96>>2]=j*0.0+i*0.0+h;g[e+32+100>>2]=0.0;c[e+16>>2]=1566444395;c[e+16+4>>2]=1566444395;c[e+16+8>>2]=1566444395;g[e+16+12>>2]=0.0;d=c[(c[b>>2]|0)+64>>2]|0;g[e>>2]=-999999984306749440.0;g[e+4>>2]=-999999984306749440.0;g[e+8>>2]=-999999984306749440.0;g[e+12>>2]=0.0;Vb[d&127](b,e+32|0,e,e+16|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];l=e;return}function Ch(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;k=+k;m=+m;var n=0;n=l;l=l+128|0;c[n+80>>2]=c[a+4>>2];c[n+80+4>>2]=c[a+20>>2];c[n+80+8>>2]=c[a+36>>2];g[n+80+12>>2]=0.0;c[n+80+16>>2]=c[a+8>>2];c[n+80+20>>2]=c[a+24>>2];c[n+80+24>>2]=c[a+40>>2];g[n+80+28>>2]=0.0;c[n+80+32>>2]=c[a+12>>2];c[n+80+36>>2]=c[a+28>>2];c[n+80+40>>2]=c[a+44>>2];g[n+80+44>>2]=0.0;c[n+32>>2]=c[b+4>>2];c[n+32+4>>2]=c[b+20>>2];c[n+32+8>>2]=c[b+36>>2];g[n+32+12>>2]=0.0;c[n+32+16>>2]=c[b+8>>2];c[n+32+20>>2]=c[b+24>>2];c[n+32+24>>2]=c[b+40>>2];g[n+32+28>>2]=0.0;c[n+32+32>>2]=c[b+12>>2];c[n+32+36>>2]=c[b+28>>2];c[n+32+40>>2]=c[b+44>>2];g[n+32+44>>2]=0.0;h=h-+g[a+56>>2];i=i-+g[a+60>>2];g[n+16>>2]=f-+g[a+52>>2];g[n+16+4>>2]=h;g[n+16+8>>2]=i;g[n+16+12>>2]=0.0;i=k-+g[b+56>>2];m=m-+g[b+60>>2];g[n>>2]=j-+g[b+52>>2];g[n+4>>2]=i;g[n+8>>2]=m;g[n+12>>2]=0.0;Rg(d,n+80|0,n+32|0,n+16|0,n,e,a+456|0,+g[a+404>>2],b+456|0,+g[b+404>>2]);l=n;return}function Dh(b,d){b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0,k=0,l=0.0,m=0.0;if(a[b+48>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=4;c[d+4>>2]=2;Zc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+1088>>2]=0.0;a[b+297>>0]=0;e=+g[b+192>>2];h=+g[b+196>>2];do if(!(e<=h))k=0;else{m=+g[b+892>>2];l=+g[b+908>>2];i=+g[b+924>>2];i=+Xj(+L(+(+g[b+832>>2]*m+ +g[b+848>>2]*l+ +g[b+864>>2]*i),+(+g[b+828>>2]*m+ +g[b+844>>2]*l+ +g[b+860>>2]*i)),e,h);g[b+1084>>2]=i;if(!(i<e))if(i>h)e=h;else{k=0;break}g[b+1088>>2]=i-e;a[b+297>>0]=1;k=1}while(0);a[b+296>>0]=0;f=c[b+1032>>2]|0;c[b+1080>>2]=f;e=+g[b+184>>2];h=+g[b+188>>2];i=(c[j>>2]=f,+g[j>>2]);do if(!(e<=h))f=10;else{if(!(i>h)){if(!(i<e)){f=10;break}}else e=h;g[b+1032>>2]=i-e;a[b+296>>0]=1;f=12}while(0);if((f|0)==10?(g[b+1032>>2]=0.0,a[b+1096>>0]|0):0)f=12;if((f|0)==12){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(k<<24>>24==0?(a[b+1112>>0]|0)==0:0)return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function Eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0;v=l;l=l+16|0;if((e|0)<=0){l=v;return}u=0;do{c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;o=c[a+56>>2]|0;w=c[a+32+(o<<2)>>2]|0;c[v+(o<<2)>>2]=w;f=+g[v>>2];i=+g[v+4>>2];h=+g[v+8>>2];q=b+(u<<4)|0;p=+g[q>>2];r=b+(u<<4)+4|0;m=+g[r>>2];s=b+(u<<4)+8|0;k=+g[s>>2];n=(c[j>>2]=w,+g[j>>2]);if(f*p+i*m+h*k>-999999984306749440.0){o=c[v+12>>2]|0;g[d+(u<<4)>>2]=f;g[d+(u<<4)+4>>2]=i;g[d+(u<<4)+8>>2]=h;c[d+(u<<4)+12>>2]=o;o=c[a+56>>2]|0;t=f*p+i*m+h*k;n=+g[a+32+(o<<2)>>2];p=+g[q>>2];m=+g[r>>2];k=+g[s>>2]}else t=-999999984306749440.0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g[v+(o<<2)>>2]=-n;f=+g[v>>2];i=+g[v+4>>2];h=+g[v+8>>2];if(f*p+i*m+h*k>t){w=c[v+12>>2]|0;g[d+(u<<4)>>2]=f;g[d+(u<<4)+4>>2]=i;g[d+(u<<4)+8>>2]=h;c[d+(u<<4)+12>>2]=w}u=u+1|0}while((u|0)!=(e|0));l=v;return}function Fh(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=f|0;var h=0,i=0,j=0,k=0,m=0.0,n=0.0;j=l;l=l+48|0;m=1.0/+D(+(b*b+d*d+e*e));g[f>>2]=m*b;g[f+4>>2]=m*d;g[f+8>>2]=m*e;g[f+12>>2]=0.0;h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a>>2]|0)+(k>>1)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;Sb[h&127](j,i,f);b=-+g[f>>2];d=-+g[f+4>>2];e=-+g[f+8>>2];h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a+4>>2]|0)+(k>>1)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;m=+g[a+24>>2]*b+ +g[a+28>>2]*d+ +g[a+32>>2]*e;n=+g[a+40>>2]*b+ +g[a+44>>2]*d+ +g[a+48>>2]*e;g[j+16>>2]=+g[a+8>>2]*b+ +g[a+12>>2]*d+ +g[a+16>>2]*e;g[j+16+4>>2]=m;g[j+16+8>>2]=n;g[j+16+12>>2]=0.0;Sb[h&127](j+32|0,i,j+16|0);n=+g[j+32>>2];b=+g[j+32+4>>2];d=+g[j+32+8>>2];e=+g[j+4>>2]-(n*+g[a+72>>2]+b*+g[a+76>>2]+d*+g[a+80>>2]+ +g[a+108>>2]);m=+g[j+8>>2]-(n*+g[a+88>>2]+b*+g[a+92>>2]+d*+g[a+96>>2]+ +g[a+112>>2]);g[f+16>>2]=+g[j>>2]-(n*+g[a+56>>2]+b*+g[a+60>>2]+d*+g[a+64>>2]+ +g[a+104>>2]);g[f+20>>2]=e;g[f+24>>2]=m;g[f+28>>2]=0.0;l=j;return}function Gh(a,b,c,d,e,f,h,i,j,k,l,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;q=(j-f)*(n-h)-(k-h)*(m-f);r=(k-h)*(l-e)-(i-e)*(n-h);s=(i-e)*(m-f)-(j-f)*(l-e);if(+C(+(s*d+(q*b+r*c)))<1.1920928955078125e-07){s=-1.0;return +s}t=+g[a>>2];v=+g[a+4>>2];u=+g[a+8>>2];p=-(q*t+r*v+s*u-(s*h+(q*e+r*f)))/(s*d+(q*b+r*c));if(((p>1.1920928955078125e-06&p<o?s*((j-(v+p*c))*(e-(t+p*b))-(f-(v+p*c))*(i-(t+p*b)))+(q*((f-(v+p*c))*(k-(u+p*d))-(h-(u+p*d))*(j-(v+p*c)))+r*((h-(u+p*d))*(i-(t+p*b))-(k-(u+p*d))*(e-(t+p*b))))>-1.1920928955078125e-06:0)?s*((m-(v+p*c))*(i-(t+p*b))-(j-(v+p*c))*(l-(t+p*b)))+(q*((j-(v+p*c))*(n-(u+p*d))-(k-(u+p*d))*(m-(v+p*c)))+r*((k-(u+p*d))*(l-(t+p*b))-(n-(u+p*d))*(i-(t+p*b))))>-1.1920928955078125e-06:0)?s*((f-(v+p*c))*(l-(t+p*b))-(m-(v+p*c))*(e-(t+p*b)))+(q*((m-(v+p*c))*(h-(u+p*d))-(n-(u+p*d))*(f-(v+p*c)))+r*((n-(u+p*d))*(e-(t+p*b))-(h-(u+p*d))*(l-(t+p*b))))>-1.1920928955078125e-06:0){v=p;return +v}v=-1.0;return +v}function Hh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(a[b+165>>0]|0){if((c[b+92>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6995]=(c[6995]|0)+1,e=sc((d<<4|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;g=e+4+15&-16}else g=0;f=c[b+88>>2]|0;if((f|0)>0){e=0;do{i=g+(e<<4)|0;h=(c[b+96>>2]|0)+(e<<4)|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+96>>2]|0;if(e|0){if(a[b+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=g;c[b+92>>2]=d;return}if((c[b+112>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6995]=(c[6995]|0)+1,f=sc((d<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}else h=0;f=c[b+108>>2]|0;g=c[b+116>>2]|0;if((f|0)<=0)if(!g)e=b+120|0;else i=21;else{e=0;do{c[h+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));i=21}if((i|0)==21){if(a[b+120>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=h;c[b+112>>2]=d;return}function Ih(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(a[d+164>>0]|0)){if((c[d+152>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6995]=(c[6995]|0)+1,g=sc((e<<1)+19|0)|0,(g|0)!=0):0){c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}else i=0;g=c[d+148>>2]|0;h=c[d+156>>2]|0;if((g|0)<=0)if(!h)f=d+160|0;else j=22;else{f=0;do{b[i+(f<<1)>>1]=b[h+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(g|0));j=22}if((j|0)==22){if(a[d+160>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=e;return}else{if((c[d+132>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6995]=(c[6995]|0)+1,f=sc((e<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}else i=0;g=c[d+128>>2]|0;h=c[d+136>>2]|0;if((g|0)<=0)if(!h)f=d+140|0;else j=10;else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0));j=10}if((j|0)==10){if(a[d+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=e;return}}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;fi(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];c[b+84>>2]=c[a+332>>2];c[b+88>>2]=c[a+336>>2];c[b+92>>2]=c[a+340>>2];c[b+96>>2]=c[a+344>>2];c[b+100>>2]=c[a+348>>2];c[b+104>>2]=c[a+352>>2];c[b+108>>2]=c[a+356>>2];c[b+112>>2]=c[a+360>>2];c[b+116>>2]=c[a+364>>2];c[b+120>>2]=c[a+368>>2];c[b+124>>2]=c[a+372>>2];c[b+128>>2]=c[a+376>>2];c[b+132>>2]=c[a+380>>2];c[b+136>>2]=c[a+384>>2];c[b+140>>2]=c[a+388>>2];c[b+144>>2]=c[a+392>>2];c[b+148>>2]=c[a+396>>2];c[b+152>>2]=c[a+400>>2];c[b+156>>2]=c[a+404>>2];c[b+160>>2]=c[a+408>>2];c[b+164>>2]=c[a+412>>2];c[b+168>>2]=c[a+416>>2];c[b+172>>2]=c[a+420>>2];c[b+176>>2]=c[a+424>>2];c[b+180>>2]=c[a+444>>2];c[b+184>>2]=c[a+448>>2];c[b+188>>2]=c[a+452>>2];c[b+192>>2]=c[a+428>>2];c[b+196>>2]=c[a+432>>2];c[b+200>>2]=c[a+436>>2];c[b+204>>2]=c[a+440>>2];return 12643}function Kh(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;j=l;l=l+32|0;n=+g[a+60>>2];r=+g[a+76>>2]-n;m=+g[a+64>>2];p=+g[a+80>>2]-m;k=+g[a+68>>2];s=+g[a+84>>2]-k;o=+g[a+92>>2]-n;q=+g[a+96>>2]-m;h=+g[a+100>>2]-k;i=1.0/+D(+((r*q-p*o)*(r*q-p*o)+((p*h-s*q)*(p*h-s*q)+(s*o-r*h)*(s*o-r*h))));f=i*(p*h-s*q);h=i*(s*o-r*h);i=(r*q-p*o)*i;k=i*+g[b+8>>2]+(+g[b>>2]*f+ +g[b+4>>2]*h)-(f*n+h*m+i*k);if(!(k>=-d)|!(k<=d)){b=0;l=j;return b|0}e=0;while(1){Vb[c[(c[a>>2]|0)+104>>2]&127](a,e,j+16|0,j);n=+g[j+16>>2];s=+g[j>>2]-n;p=+g[j+16+4>>2];o=+g[j+4>>2]-p;m=+g[j+16+8>>2];r=+g[j+8>>2]-m;q=1.0/+D(+((h*s-f*o)*(h*s-f*o)+((i*o-h*r)*(i*o-h*r)+(f*r-i*s)*(f*r-i*s))));e=e+1|0;if((h*s-f*o)*q*+g[b+8>>2]+(+g[b>>2]*q*(i*o-h*r)+ +g[b+4>>2]*q*(f*r-i*s))-(m*(h*s-f*o)*q+(n*q*(i*o-h*r)+p*q*(f*r-i*s)))<-d){e=0;a=5;break}if((e|0)>=3){e=1;a=5;break}}if((a|0)==5){l=j;return e|0}return 0}function Lh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;c[6995]=(c[6995]|0)+1;h=sc(55)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}c[j>>2]=d;c[j+4>>2]=e;c[j+8>>2]=f;c[j+12>>2]=-1;c[j+16>>2]=-1;c[j+20>>2]=-1;c[j+28>>2]=-1;g[j+32>>2]=0.0;f=j;d=c[b+4>>2]|0;c[j+24>>2]=d;if((d|0)!=(c[b+8>>2]|0)){i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}i=d|0?d<<1:1;if((d|0)>=(i|0)){i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}if(!i)h=0;else{c[6995]=(c[6995]|0)+1;h=sc((i<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}d=c[b+4>>2]|0}if((d|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+12>>2]|0;if(e){if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);d=c[b+4>>2]|0}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=i;i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}function Mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0;o=+nb[c[(c[a>>2]|0)+48>>2]&15](a);u=+g[a+76>>2];t=+g[a+60>>2];r=+g[a+80>>2];q=+g[a+64>>2];n=+g[a+84>>2];m=+g[a+68>>2];F=+g[b>>2];y=+C(+F);E=+g[b+4>>2];x=+C(+E);k=+g[b+8>>2];l=+C(+k);D=+g[b+16>>2];w=+C(+D);B=+g[b+20>>2];v=+C(+B);i=+g[b+24>>2];j=+C(+i);A=+g[b+32>>2];s=+C(+A);z=+g[b+36>>2];p=+C(+z);f=+g[b+40>>2];h=+C(+f);k=(u+t)*.5*F+(r+q)*.5*E+(n+m)*.5*k+ +g[b+48>>2];i=(u+t)*.5*D+(r+q)*.5*B+(n+m)*.5*i+ +g[b+52>>2];f=(u+t)*.5*A+(r+q)*.5*z+(n+m)*.5*f+ +g[b+56>>2];l=(o+(u-t)*.5)*y+(o+(r-q)*.5)*x+(o+(n-m)*.5)*l;j=(o+(u-t)*.5)*w+(o+(r-q)*.5)*v+(o+(n-m)*.5)*j;h=(o+(u-t)*.5)*s+(o+(r-q)*.5)*p+(o+(n-m)*.5)*h;g[d>>2]=k-l;g[d+4>>2]=i-j;g[d+8>>2]=f-h;g[d+12>>2]=0.0;g[e>>2]=l+k;g[e+4>>2]=j+i;g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function Nh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(a[d+32>>0]&1){f=c[b+4>>2]|0;if(f|0)ll(f,d,e);f=c[b>>2]|0;if(f|0){n=+g[d>>2];l=+g[f+128>>2];m=+g[d+4>>2];k=+g[d+8>>2];h=+g[e+4>>2];p=+g[e+8>>2];o=+g[e>>2];j=+g[f+180>>2]*(k*h-m*p)+ +g[f+184>>2]*(n*p-k*o)+(m*o-n*h)*+g[f+188>>2];i=(k*h-m*p)*+g[f+196>>2]+(n*p-k*o)*+g[f+200>>2]+(m*o-n*h)*+g[f+204>>2];h=(k*h-m*p)*+g[f+212>>2]+(n*p-k*o)*+g[f+216>>2]+(m*o-n*h)*+g[f+220>>2];g[f+244>>2]=n*l+ +g[f+244>>2];g[f+248>>2]=l*m+ +g[f+248>>2];g[f+252>>2]=l*k+ +g[f+252>>2];g[f+316>>2]=n*l+ +g[f+316>>2];g[f+320>>2]=l*m+ +g[f+320>>2];g[f+324>>2]=l*k+ +g[f+324>>2];g[f+260>>2]=j+ +g[f+260>>2];g[f+264>>2]=i+ +g[f+264>>2];g[f+268>>2]=h+ +g[f+268>>2];g[f+332>>2]=j+ +g[f+332>>2];g[f+336>>2]=i+ +g[f+336>>2];g[f+340>>2]=h+ +g[f+340>>2];c[f+308>>2]=(c[f+308>>2]|0)+1}}if(!(a[d+32>>0]&2))return;aj(b,d+16|0,e);return}function Oh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=h;if(h|0)Ob[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+48>>2]=0;g=c[a+100>>2]|0;c[b+60>>2]=g;if(!g){c[b+52>>2]=0;c[b+56>>2]=0;d=b+64|0;c[d>>2]=0;return 17203}c[b+52>>2]=zb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+108>>2]|0)|0;c[b+56>>2]=0;h=Bb[c[(c[d>>2]|0)+16>>2]&63](d,16,g)|0;if((g|0)>0){e=c[a+108>>2]|0;a=c[h+8>>2]|0;f=0;while(1){c[a>>2]=c[e+(f<<4)>>2];c[a+4>>2]=c[e+(f<<4)+4>>2];c[a+8>>2]=c[e+(f<<4)+8>>2];c[a+12>>2]=c[e+(f<<4)+12>>2];f=f+1|0;if((f|0)==(g|0))break;else a=a+16|0}}else e=c[a+108>>2]|0;Zb[c[(c[d>>2]|0)+20>>2]&31](d,h,19202,1497453121,e);d=b+64|0;c[d>>2]=0;return 17203}function Ph(b){b=b|0;var d=0;d=c[b+112>>2]|0;if(d|0){if(a[b+116>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;if(!d){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}function Qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0;k=c[b>>2]|0;if((k|0)==(c[a+84>>2]|0)){j=1.0;return +j}if(c[k+204>>2]&4|0){j=1.0;return +j}f=+g[b+8>>2];h=+g[b+12>>2];e=+g[b+16>>2];if(d){i=f;j=h}else{i=+g[k+4>>2]*f+ +g[k+8>>2]*h+ +g[k+12>>2]*e;j=f*+g[k+20>>2]+h*+g[k+24>>2]+e*+g[k+28>>2];e=f*+g[k+36>>2]+h*+g[k+40>>2]+e*+g[k+44>>2]}if(i*+g[a+88>>2]+j*+g[a+92>>2]+e*+g[a+96>>2]<+g[a+104>>2]){j=1.0;return +j}c[a+4>>2]=c[b+40>>2];c[a+80>>2]=k;if(d){c[a+48>>2]=c[b+8>>2];c[a+48+4>>2]=c[b+8+4>>2];c[a+48+8>>2]=c[b+8+8>>2];c[a+48+12>>2]=c[b+8+12>>2]}else{e=+g[b+8>>2];f=+g[b+12>>2];h=+g[b+16>>2];i=e*+g[k+20>>2]+f*+g[k+24>>2]+h*+g[k+28>>2];j=e*+g[k+36>>2]+f*+g[k+40>>2]+h*+g[k+44>>2];g[a+48>>2]=+g[k+4>>2]*e+ +g[k+8>>2]*f+ +g[k+12>>2]*h;g[a+52>>2]=i;g[a+56>>2]=j;g[a+60>>2]=0.0}c[a+64>>2]=c[b+24>>2];c[a+64+4>>2]=c[b+24+4>>2];c[a+64+8>>2]=c[b+24+8>>2];c[a+64+12>>2]=c[b+24+12>>2];j=+g[b+40>>2];return +j}function Rh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;if((c[b+12>>2]|0)>=2){Nf(b);return}c[6995]=(c[6995]|0)+1;d=sc(43)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){d=0;do{g=f+(d*12|0)|0;h=(c[b+16>>2]|0)+(d*12|0)|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Nf(b);return}function Sh(a,b,e){a=a|0;b=b|0;e=e|0;fi(a,b,e)|0;c[b+52>>2]=c[a+52>>2];c[b+56>>2]=c[a+56>>2];c[b+60>>2]=c[a+60>>2];c[b+64>>2]=c[a+64>>2];c[b+68>>2]=c[a+68>>2];c[b+72>>2]=c[a+72>>2];c[b+76>>2]=c[a+76>>2];c[b+80>>2]=c[a+80>>2];c[b+84>>2]=c[a+84>>2];c[b+88>>2]=c[a+88>>2];c[b+92>>2]=c[a+92>>2];c[b+96>>2]=c[a+96>>2];c[b+100>>2]=c[a+100>>2];c[b+104>>2]=c[a+104>>2];c[b+108>>2]=c[a+108>>2];c[b+112>>2]=c[a+112>>2];c[b+116>>2]=c[a+116>>2];c[b+120>>2]=c[a+120>>2];c[b+124>>2]=c[a+124>>2];c[b+128>>2]=c[a+128>>2];c[b+132>>2]=c[a+132>>2];c[b+136>>2]=c[a+136>>2];c[b+140>>2]=c[a+140>>2];c[b+144>>2]=c[a+144>>2];c[b+148>>2]=c[a+148>>2];c[b+152>>2]=c[a+152>>2];c[b+156>>2]=c[a+156>>2];c[b+160>>2]=c[a+160>>2];c[b+164>>2]=c[a+164>>2];c[b+168>>2]=c[a+168>>2];c[b+172>>2]=c[a+172>>2];c[b+176>>2]=c[a+176>>2];c[b+180>>2]=c[a+188>>2];c[b+184>>2]=c[a+184>>2];c[b+188>>2]=c[a+196>>2];c[b+192>>2]=c[a+192>>2];c[b+196>>2]=d[a+180>>0];c[b+200>>2]=d[a+49>>0];return 12599}function Th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Ib[c[(c[b>>2]|0)+32>>2]&511](b);e=Bb[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;d=c[e+8>>2]|0;f=d;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d+88>>2]=c[a+264>>2];c[d+92>>2]=c[a+268>>2];c[d+96>>2]=c[a+272>>2];c[d+100>>2]=c[a+276>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+108>>2];c[d+20>>2]=c[a+116>>2];c[d+24>>2]=c[a+120>>2];c[d+28>>2]=c[a+124>>2];c[d+32>>2]=c[a+128>>2];c[d+36>>2]=c[a+132>>2];c[d+40>>2]=c[a+148>>2];c[d+44>>2]=c[a+152>>2];c[d+48>>2]=c[a+156>>2];c[d+52>>2]=c[a+160>>2];c[d+56>>2]=c[a+176>>2];c[d+60>>2]=c[a+180>>2];c[d+64>>2]=c[a+112>>2];c[d+68>>2]=c[a+164>>2];c[d+72>>2]=c[a+168>>2];c[d+76>>2]=c[a+172>>2];c[d+80>>2]=c[a+144>>2];c[d+84>>2]=0;Zb[c[(c[b>>2]|0)+20>>2]&31](b,e,12157,1145853764,d);id(a,b);dj(a,b);Ib[c[(c[b>>2]|0)+36>>2]&511](b);return}function Uh(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=+e;f=+f;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;p=+g[c>>2];o=+g[c+16>>2];n=+g[c+32>>2];m=+g[c+4>>2];l=+g[c+20>>2];k=+g[c+36>>2];j=+g[c+8>>2];i=+g[c+24>>2];h=+g[c+40>>2];g[a>>2]=b-((p*0.0+o*-f+n*e)*0.0+(m*0.0+l*-f+k*e)*f+(j*0.0+i*-f+h*e)*-e);g[a+4>>2]=0.0-((p*0.0+o*-f+n*e)*-f+(m*0.0+l*-f+k*e)*0.0+(j*0.0+i*-f+h*e)*d);g[a+8>>2]=0.0-((p*0.0+o*-f+n*e)*e+(m*0.0+l*-f+k*e)*-d+(j*0.0+i*-f+h*e)*0.0);g[a+12>>2]=0.0;g[a+16>>2]=0.0-((p*f+o*0.0+n*-d)*0.0+(m*f+l*0.0+k*-d)*f+(j*f+i*0.0+h*-d)*-e);g[a+20>>2]=b-((p*f+o*0.0+n*-d)*-f+(m*f+l*0.0+k*-d)*0.0+(j*f+i*0.0+h*-d)*d);g[a+24>>2]=0.0-((p*f+o*0.0+n*-d)*e+(m*f+l*0.0+k*-d)*-d+(j*f+i*0.0+h*-d)*0.0);g[a+28>>2]=0.0;g[a+32>>2]=0.0-((p*-e+o*d+n*0.0)*0.0+(m*-e+l*d+k*0.0)*f+(j*-e+i*d+h*0.0)*-e);g[a+36>>2]=0.0-((p*-e+o*d+n*0.0)*-f+(m*-e+l*d+k*0.0)*0.0+(j*-e+i*d+h*0.0)*d);g[a+40>>2]=b-((p*-e+o*d+n*0.0)*e+(m*-e+l*d+k*0.0)*-d+(j*-e+i*d+h*0.0)*0.0);g[a+44>>2]=0.0;return}function Vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0;f=l;l=l+96|0;g[f+4>>2]=1.0;c[f+8>>2]=0;c[f+12>>2]=1;c[f+16>>2]=-1;c[f+20>>2]=0;c[f>>2]=2952;c[f+24>>2]=c[b>>2];c[f+24+4>>2]=c[b+4>>2];c[f+24+8>>2]=c[b+8>>2];c[f+24+12>>2]=c[b+12>>2];c[f+40>>2]=c[d>>2];c[f+40+4>>2]=c[d+4>>2];c[f+40+8>>2]=c[d+8>>2];c[f+40+12>>2]=c[d+12>>2];a=c[a+4>>2]|0;Vb[c[(c[a>>2]|0)+32>>2]&127](a,b,d,f);a=c[f+8>>2]|0;if(!a){e=0;l=f;return e|0}if(!(c[a+252>>2]&2)){e=0;l=f;return e|0}if(c[a+204>>2]&4|0){e=0;l=f;return e|0}c[e>>2]=c[f+72>>2];c[e+4>>2]=c[f+72+4>>2];c[e+8>>2]=c[f+72+8>>2];c[e+12>>2]=c[f+72+12>>2];c[e+16>>2]=c[f+56>>2];c[e+16+4>>2]=c[f+56+4>>2];c[e+16+8>>2]=c[f+56+8>>2];c[e+16+12>>2]=c[f+56+12>>2];k=+g[e+16>>2];j=+g[e+20>>2];i=+g[e+24>>2];h=1.0/+D(+(k*k+j*j+i*i));g[e+16>>2]=k*h;g[e+20>>2]=j*h;g[e+24>>2]=i*h;c[e+32>>2]=c[f+4>>2];e=a;l=f;return e|0}function Wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;e=l;l=l+32|0;d=c[b+448>>2]|0;switch(c[a+448>>2]&48&d&63){case 32:{if((a|0)==(b|0)&(d&64|0)==0){l=e;return}g[e+4>>2]=1.0;c[e+8+4>>2]=0;c[e+8+4+4>>2]=0;c[e+8+4+8>>2]=0;c[e>>2]=3748;c[e+8>>2]=c[a+516>>2];d=c[a+192>>2]|0;f=+nb[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=f+ +nb[c[(c[d>>2]|0)+48>>2]&15](d);c[e+16>>2]=c[(+g[a+376>>2]<+g[b+376>>2]?a+376|0:b+376|0)>>2];c[e+24>>2]=a;c[e+28>>2]=b;Ee(c[a+1068>>2]|0,c[b+1068>>2]|0,e);l=e;return}case 16:{if((a|0)==(b|0)){l=e;return}c[e>>2]=3784;d=c[a+192>>2]|0;f=+nb[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=f+ +nb[c[(c[d>>2]|0)+48>>2]&15](d);c[e+4>>2]=a;c[e+8>>2]=b;Ee(c[a+988>>2]|0,c[b+1028>>2]|0,e);c[e+4>>2]=b;c[e+8>>2]=a;Ee(c[b+988>>2]|0,c[a+1028>>2]|0,e);l=e;return}default:{l=e;return}}}function Xh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;g=m;h=g+44|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if(!d)j=c[c[b+940>>2]>>2]|0;else j=d;d=c[b+792>>2]|0;if((d|0)==(c[b+796>>2]|0)?(k=d|0?d<<1:1,(d|0)<(k|0)):0){if(!k)i=0;else{c[6995]=(c[6995]|0)+1;d=sc((k*52|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;d=c[b+792>>2]|0}if((d|0)>0){e=0;do{g=i+(e*52|0)|0;f=(c[b+800>>2]|0)+(e*52|0)|0;h=g+52|0;do{c[g>>2]=c[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(h|0));e=e+1|0}while((e|0)!=(d|0))}d=c[b+800>>2]|0;if(d|0){if(a[b+804>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=i;c[b+796>>2]=k;d=c[b+792>>2]|0}g=c[b+800>>2]|0;c[g+(d*52|0)>>2]=0;c[g+(d*52|0)+4>>2]=j;g=g+(d*52|0)+8|0;f=m;h=g+44|0;do{c[g>>2]=c[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(h|0));c[b+792>>2]=(c[b+792>>2]|0)+1;l=m;return}function Yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0;i=l;l=l+32|0;c[i+16>>2]=c[d>>2];c[i+16+4>>2]=c[d+4>>2];c[i+16+8>>2]=c[d+8>>2];c[i+16+12>>2]=c[d+12>>2];f=+g[i+16>>2];h=+g[i+16+4>>2];e=+g[i+16+8>>2];if(f*f+h*h+e*e<1.4210854715202004e-14){c[i+16>>2]=-1082130432;c[i+16+4>>2]=-1082130432;c[i+16+8>>2]=-1082130432;g[i+16+12>>2]=0.0;f=-1.0;h=-1.0;e=-1.0}j=1.0/+D(+(f*f+h*h+e*e));g[i+16>>2]=f*j;g[i+16+4>>2]=h*j;g[i+16+8>>2]=e*j;Nd(i,b,i+16|0);switch(c[b+4>>2]|0){case 8:{e=+g[b+32>>2]*+g[b+16>>2];break}case 0:{e=+g[b+48>>2];break}case 1:{e=+g[b+48>>2];break}case 13:{e=+g[b+48>>2];break}case 11:{e=+g[b+48>>2];break}case 10:{e=+g[b+48>>2];break}case 4:case 5:{e=+g[b+48>>2];break}default:e=+nb[c[(c[b>>2]|0)+48>>2]&15](b)}h=e*+g[i+16+4>>2]+ +g[i+4>>2];j=e*+g[i+16+8>>2]+ +g[i+8>>2];g[a>>2]=e*+g[i+16>>2]+ +g[i>>2];g[a+4>>2]=h;g[a+8>>2]=j;g[a+12>>2]=0.0;l=i;return}function Zh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,k=0,m=0,n=0,o=0.0;m=l;l=l+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];i=+g[d+8>>2];if(e*e+f*f+i*i<9.999999747378752e-05){k=1065353216;h=0;e=0.0;d=0}else{o=1.0/+D(+(e*e+f*f+i*i));k=(g[j>>2]=e*o,c[j>>2]|0);n=(g[j>>2]=f*o,c[j>>2]|0);h=(g[j>>2]=i*o,c[j>>2]|0);e=+g[d+12>>2];d=n}c[m+32>>2]=8168;n=m+32+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[m+32+20>>2]=-999999984306749440.0;c[m+32+24>>2]=k;c[m+32+28>>2]=d;c[m+32+32>>2]=h;g[m+32+36>>2]=e;c[m+16>>2]=1566444395;c[m+16+4>>2]=1566444395;c[m+16+8>>2]=1566444395;g[m+16+12>>2]=0.0;b=c[b+96>>2]|0;k=c[(c[b>>2]|0)+8>>2]|0;g[m>>2]=-999999984306749440.0;g[m+4>>2]=-999999984306749440.0;g[m+8>>2]=-999999984306749440.0;g[m+12>>2]=0.0;Vb[k&127](b,m+32|0,m,m+16|0);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[a+12>>2]=c[n+12>>2];l=m;return}function _h(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0;p=l;l=l+32|0;e=c[a+12>>2]|0;if(!e){l=p;return}c[f+4>>2]=e;q=c[b+4>>2]|0;a=c[d+4>>2]|0;r=c[b+12>>2]|0;b=c[d+12>>2]|0;h=+g[r+48>>2]-+g[b+48>>2];i=+g[r+52>>2]-+g[b+52>>2];k=+g[r+56>>2]-+g[b+56>>2];m=+D(+(h*h+i*i+k*k));n=+g[q+32>>2]*+g[q+16>>2];o=+g[a+32>>2]*+g[a+16>>2];c[e+780>>2]=0;if(m>n+o+ +g[f+32>>2]){l=p;return}c[p+16>>2]=1065353216;c[p+16+4>>2]=0;c[p+16+8>>2]=0;g[p+16+12>>2]=0.0;if(m>1.1920928955078125e-07){g[p+16>>2]=h*(1.0/m);g[p+16+4>>2]=i*(1.0/m);g[p+16+8>>2]=k*(1.0/m);g[p+16+12>>2]=0.0;j=h*(1.0/m);i=i*(1.0/m);h=k*(1.0/m)}else{j=1.0;i=0.0;h=0.0}r=c[d+12>>2]|0;i=o*i+ +g[r+52>>2];k=o*h+ +g[r+56>>2];g[p>>2]=o*j+ +g[r+48>>2];g[p+4>>2]=i;g[p+8>>2]=k;g[p+12>>2]=0.0;Tb[c[(c[f>>2]|0)+16>>2]&15](f,p+16|0,p,m-(n+o));l=p;return}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0;m=c[a+4>>2]|0;a=c[a+44>>2]|0;do if(!m)if(!a){e=0;f=0.0;h=0;i=0;j=0;k=0.0;l=0;a=0}else{e=c[a>>2]|0;f=+g[a+12>>2];h=c[a+16>>2]|0;i=c[a+20>>2]|0;j=c[a+24>>2]|0;k=+g[a+28>>2];l=c[a+4>>2]|0;a=c[a+8>>2]|0}else if(!a){e=c[m>>2]|0;f=+g[m+12>>2];h=c[m+16>>2]|0;i=c[m+20>>2]|0;j=c[m+24>>2]|0;k=+g[m+28>>2];l=c[m+4>>2]|0;a=c[m+8>>2]|0;break}else{e=c[(+g[m>>2]<+g[a>>2]?m:a)>>2]|0;f=0.0;h=c[(+g[m+16>>2]>+g[a+16>>2]?m+16|0:a+16|0)>>2]|0;i=c[(+g[m+20>>2]>+g[a+20>>2]?m+16|0:a+16|0)+4>>2]|0;j=c[(+g[m+24>>2]>+g[a+24>>2]?m+16|0:a+16|0)+8>>2]|0;k=0.0;l=c[(+g[m+4>>2]<+g[a+4>>2]?m:a)+4>>2]|0;a=c[(+g[m+8>>2]<+g[a+8>>2]?m:a)+8>>2]|0;break}while(0);c[b>>2]=e;c[b+4>>2]=l;c[b+8>>2]=a;g[b+12>>2]=f;c[d>>2]=h;c[d+4>>2]=i;c[d+8>>2]=j;g[d+12>>2]=k;return}function ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0;k=+g[b+64>>2]*.5;l=c[b+72>>2]|0;f=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];j=+D(+(f*f+i*i+j*j));h=c[b+68>>2]|0;do if(!(+g[d+(l<<2)>>2]>j*+g[b+56>>2])){f=+g[d+(h<<2)>>2];e=c[b+76>>2]|0;i=+g[d+(e<<2)>>2];j=+D(+(f*f+i*i));if(j>1.1920928955078125e-07){j=+g[b+60>>2]/j;g[a+(h<<2)>>2]=f*j;g[a+(l<<2)>>2]=-k;f=i*j;break}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=-k;f=0.0;break}}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=k;f=0.0;e=c[b+76>>2]|0}while(0);g[a+(e<<2)>>2]=f;if(!(+nb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;i=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];m=i*i+j*j+k*k<1.4210854715202004e-14?-1.0:i;f=i*i+j*j+k*k<1.4210854715202004e-14?-1.0:j;k=i*i+j*j+k*k<1.4210854715202004e-14?-1.0:k;j=1.0/+D(+(k*k+(m*m+f*f)));i=+nb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*j*m;g[a+4>>2]=i*j*f+ +g[a+4>>2];g[a+8>>2]=i*j*k+ +g[a+8>>2];return}function bi(a,b,d){a=a|0;b=b|0;d=d|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];c[a+316>>2]=c[b+16>>2];c[a+316+4>>2]=c[b+16+4>>2];c[a+316+8>>2]=c[b+16+8>>2];c[a+316+12>>2]=c[b+16+12>>2];c[a+332>>2]=c[b+32>>2];c[a+332+4>>2]=c[b+32+4>>2];c[a+332+8>>2]=c[b+32+8>>2];c[a+332+12>>2]=c[b+32+12>>2];c[a+348>>2]=c[b+48>>2];c[a+348+4>>2]=c[b+48+4>>2];c[a+348+8>>2]=c[b+48+8>>2];c[a+348+12>>2]=c[b+48+12>>2];c[a+364>>2]=c[d>>2];c[a+364+4>>2]=c[d+4>>2];c[a+364+8>>2]=c[d+8>>2];c[a+364+12>>2]=c[d+12>>2];c[a+380>>2]=c[d+16>>2];c[a+380+4>>2]=c[d+16+4>>2];c[a+380+8>>2]=c[d+16+8>>2];c[a+380+12>>2]=c[d+16+12>>2];c[a+396>>2]=c[d+32>>2];c[a+396+4>>2]=c[d+32+4>>2];c[a+396+8>>2]=c[d+32+8>>2];c[a+396+12>>2]=c[d+32+12>>2];c[a+412>>2]=c[d+48>>2];c[a+412+4>>2]=c[d+48+4>>2];c[a+412+8>>2]=c[d+48+8>>2];c[a+412+12>>2]=c[d+48+12>>2];Ib[c[(c[a>>2]|0)+8>>2]&511](a);return}function ci(a){a=a|0;var b=0,d=0;Dd(a);a:do if(xb[c[(c[a>>2]|0)+20>>2]&127](a)|0?(d=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0,(xb[c[(c[d>>2]|0)+56>>2]&127](d)|0)&6144|0):0){d=xb[c[(c[a>>2]|0)+104>>2]&127](a)|0;while(1){b=d+-1|0;if((d|0)<=0)break a;d=zb[c[(c[a>>2]|0)+108>>2]&31](a,b)|0;Ob[c[(c[a>>2]|0)+172>>2]&127](a,d);d=b}}while(0);if((((xb[c[(c[a>>2]|0)+20>>2]&127](a)|0?(d=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0,(xb[c[(c[d>>2]|0)+56>>2]&127](d)|0)&16387|0):0)?xb[c[(c[a>>2]|0)+20>>2]&127](a)|0:0)?(d=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0,xb[c[(c[d>>2]|0)+56>>2]&127](d)|0):0)?(c[a+296>>2]|0)>0:0){b=0;do{d=c[(c[a+304>>2]|0)+(b<<2)>>2]|0;Ob[c[(c[d>>2]|0)+12>>2]&127](d,c[a+72>>2]|0);b=b+1|0}while((b|0)<(c[a+296>>2]|0))}if(!(xb[c[(c[a>>2]|0)+20>>2]&127](a)|0))return;a=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Ib[c[(c[a>>2]|0)+104>>2]&511](a);return}function di(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;c=l;l=l+48|0;yh(a+364|0,c+16|0);h=-+g[c+16>>2];e=-+g[c+16+4>>2];m=-+g[c+16+8>>2];k=+g[c+16+12>>2];f=+g[b>>2];n=+g[b+12>>2];j=+g[b+8>>2];i=+g[b+4>>2];yh(a+300|0,c);p=+g[c>>2];q=+g[c+12>>2];d=+g[c+8>>2];o=+g[c+4>>2];g[c+32>>2]=(k*n-f*h-i*e-j*m)*p+(k*f+n*h+j*e-i*m)*q+(f*m+(n*e+k*i)-j*h)*d-(n*m+k*j+i*h-f*e)*o;g[c+32+4>>2]=p*(n*m+k*j+i*h-f*e)+(q*(f*m+(n*e+k*i)-j*h)+(k*n-f*h-i*e-j*m)*o)-(k*f+n*h+j*e-i*m)*d;g[c+32+8>>2]=(n*m+k*j+i*h-f*e)*q+(k*n-f*h-i*e-j*m)*d+(k*f+n*h+j*e-i*m)*o-p*(f*m+(n*e+k*i)-j*h);g[c+32+12>>2]=(k*n-f*h-i*e-j*m)*q-(k*f+n*h+j*e-i*m)*p-(f*m+(n*e+k*i)-j*h)*o-(n*m+k*j+i*h-f*e)*d;Ce(a,c+32|0);l=c;return}function ei(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!e)e=c[b+188>>2]|0;j=c[d>>2]|0;f=c[b+328>>2]|0;a:do if((f|0)>0){h=c[b+336>>2]|0;g=0;while(1){if((c[h+(g<<2)>>2]|0)==(j|0))break;g=g+1|0;if((g|0)>=(f|0))break a}if((g|0)!=(f|0))return}while(0);if((f|0)==(c[b+332>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6995]=(c[6995]|0)+1;f=sc((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+328>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+336>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+336>>2]|0;if(g){if(a[b+340>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0);f=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=h;c[b+332>>2]=i}c[(c[b+336>>2]|0)+(f<<2)>>2]=j;c[b+328>>2]=f+1;b=c[b+344>>2]|0;Bb[c[(c[b>>2]|0)+8>>2]&63](b,e,d)|0;return}function fi(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;c[b>>2]=zb[c[(c[e>>2]|0)+28>>2]&31](e,c[a+28>>2]|0)|0;c[b+4>>2]=zb[c[(c[e>>2]|0)+28>>2]&31](e,c[a+32>>2]|0)|0;f=zb[c[(c[e>>2]|0)+40>>2]&31](e,a)|0;g=zb[c[(c[e>>2]|0)+28>>2]&31](e,f)|0;c[b+8>>2]=g;if(g|0)Ob[c[(c[e>>2]|0)+48>>2]&127](e,f);c[b+12>>2]=c[a+4>>2];c[b+24>>2]=d[a+21>>0];c[b+40>>2]=c[a+24>>2];c[b+44>>2]=c[a+16>>2];c[b+48>>2]=d[a+20>>0];c[b+20>>2]=c[a+12>>2];c[b+16>>2]=c[a+8>>2];c[b+28>>2]=c[a+36>>2];c[b+32>>2]=c[a+40>>2];c[b+36>>2]=0;f=c[a+28>>2]|0;if((c[f+548>>2]|0)>0){e=0;do{if((c[(c[f+556>>2]|0)+(e<<2)>>2]|0)==(a|0)){c[b+36>>2]=1;f=c[a+28>>2]|0}e=e+1|0}while((e|0)<(c[f+548>>2]|0))}f=c[a+32>>2]|0;if((c[f+548>>2]|0)>0)e=0;else return 12572;do{if((c[(c[f+556>>2]|0)+(e<<2)>>2]|0)==(a|0)){c[b+36>>2]=1;f=c[a+32>>2]|0}e=e+1|0}while((e|0)<(c[f+548>>2]|0));return 12572}function gi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return db(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(xb[c[(c[d>>2]|0)+16>>2]&127](d)|0)return;i=c[b+772>>2]|0;h=xb[c[(c[d>>2]|0)+36>>2]&127](d)|0;if(xb[c[(c[d>>2]|0)+8>>2]&127](d)|0?(e=xb[c[(c[d>>2]|0)+20>>2]&127](d)|0,g=xb[c[(c[d>>2]|0)+24>>2]&127](d)|0,(i|0)>0):0){f=c[b+780>>2]|0;a=h+(e<<2)|0;e=0;while(1){k=c[f+(e*104|0)+12>>2]|0;j=c[f+(e*104|0)+16>>2]|0;c[a>>2]=c[f+(e*104|0)+8>>2];c[a+4>>2]=k;c[a+8>>2]=j;e=e+1|0;if((e|0)==(i|0))break;else a=a+(g<<2)|0}}if(!(xb[c[(c[d>>2]|0)+12>>2]&127](d)|0))return;a=xb[c[(c[d>>2]|0)+28>>2]&127](d)|0;g=xb[c[(c[d>>2]|0)+32>>2]&127](d)|0;if((i|0)<=0)return;f=c[b+780>>2]|0;a=h+(a<<2)|0;e=0;while(1){j=c[f+(e*104|0)+76>>2]|0;k=c[f+(e*104|0)+80>>2]|0;c[a>>2]=c[f+(e*104|0)+72>>2];c[a+4>>2]=j;c[a+8>>2]=k;e=e+1|0;if((e|0)==(i|0))break;else a=a+(g<<2)|0}return}function ii(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=9696;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;f=c[b+28>>2]|0;if((f|0)>0){d=0;do{g=c[b+36>>2]|0;h=g+(d*36|0)+4|0;i=g+(d*36|0)+12|0;j=c[i>>2]|0;e=g+(d*36|0)+16|0;if(j|0){if(a[e>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[i>>2]=0}a[e>>0]=1;c[i>>2]=0;c[h>>2]=0;c[g+(d*36|0)+8>>2]=0;d=d+1|0}while((d|0)!=(f|0))}d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function ji(b){b=b|0;var d=0;c[b>>2]=8796;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b>>2]=9712;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}function ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+188>>2]|0;if(d|0){f=c[a+68>>2]|0;f=xb[c[(c[f>>2]|0)+36>>2]&127](f)|0;Sb[c[(c[f>>2]|0)+40>>2]&127](f,d,c[a+24>>2]|0);f=c[a+68>>2]|0;Sb[c[(c[f>>2]|0)+12>>2]&127](f,d,c[a+24>>2]|0);c[b+188>>2]=0}d=c[b+216>>2]|0;f=c[a+8>>2]|0;if((d|0)>-1&(d|0)<(f|0)){g=c[a+16>>2]|0;e=c[g+(d<<2)>>2]|0;c[g+(d<<2)>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=e;c[a+8>>2]=f+-1;if((d|0)>=(f+-1|0)){c[b+216>>2]=-1;return}c[(c[(c[a+16>>2]|0)+(d<<2)>>2]|0)+216>>2]=d;c[b+216>>2]=-1;return}a:do if((f|0)>0){e=c[a+16>>2]|0;d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}}else d=f;while(0);if((f|0)<=(d|0)){c[b+216>>2]=-1;return}h=c[a+16>>2]|0;e=h+(d<<2)|0;g=c[e>>2]|0;c[e>>2]=c[h+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=g;c[a+8>>2]=f+-1;c[b+216>>2]=-1;return}function li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0;p=l;l=l+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];if(e*e+h*h+f*f<9.999999747378752e-05){o=1.0;n=0.0;m=0.0}else{m=1.0/+D(+(e*e+h*h+f*f));o=e*m;n=h*m;m=f*m}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;d=c[b+56>>2]|0;b=c[b+32+(d<<2)>>2]|0;c[p+(d<<2)>>2]=b;e=+g[p>>2];h=+g[p+4>>2];f=+g[p+8>>2];i=o*e+n*h+m*f;k=(c[j>>2]=b,+g[j>>2]);if(i>-999999984306749440.0){b=c[p+12>>2]|0;g[a>>2]=e;g[a+4>>2]=h;g[a+8>>2]=f;c[a+12>>2]=b}else i=-999999984306749440.0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;g[p+(d<<2)>>2]=-k;e=+g[p>>2];h=+g[p+4>>2];f=+g[p+8>>2];if(!(o*e+n*h+m*f>i)){l=p;return}b=c[p+12>>2]|0;g[a>>2]=e;g[a+4>>2]=h;g[a+8>>2]=f;c[a+12>>2]=b;l=p;return}function mi(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;c[b+68>>2]=c[d>>2];c[b+68+4>>2]=c[d+4>>2];c[b+68+8>>2]=c[d+8>>2];c[b+68+12>>2]=c[d+12>>2];n=+g[b+68>>2];o=+g[b+72>>2];m=+g[b+76>>2];if(!(n*n+o*o+m*m>0.0)){g[b+20>>2]=0.0;return}k=+g[d>>2];l=+g[d+4>>2];e=+g[d+8>>2];f=1.0/+D(+(k*k+l*l+e*e));h=+g[b+256>>2];i=+g[b+260>>2];j=+g[b+264>>2];if(!(h*k*f+l*f*i+e*f*j!=0.0))return;p=h*k*f+l*f*i+e*f*j<-1.0?-1.0:h*k*f+l*f*i+e*f*j;p=+G(+(1.5707963705062866-+I(+(p>1.0?1.0:p))))*+D(+(n*n+o*o+m*m));g[b+68>>2]=n-h*p;g[b+72>>2]=o-i*p;g[b+76>>2]=m-j*p;g[b+20>>2]=(h*k*f+l*f*i+e*f*j<0.0?-1.0:1.0)*+D(+(j*p*j*p+(h*p*h*p+i*p*i*p)));if(!(h*k*f+l*f*i+e*f*j>0.0))return;a[b+249>>0]=1;d=(c[b+8>>2]|0)+52|0;c[b+116>>2]=c[d>>2];c[b+116+4>>2]=c[d+4>>2];c[b+116+8>>2]=c[d+8>>2];c[b+116+12>>2]=c[d+12>>2];return}function ni(b){b=b|0;var d=0;c[b>>2]=9356;d=c[b+160>>2]|0;if(d|0){if(a[b+164>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+160>>2]=0}a[b+164>>0]=1;c[b+160>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(!d){a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}if(a[b+80>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+76>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}function oi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0;p=l;l=l+16|0;if((e|0)<=0){l=p;return}o=0;do{h=+g[a+64>>2]*.5;i=c[a+72>>2]|0;k=+g[b+(o<<4)>>2];m=+g[b+(o<<4)+4>>2];n=+g[b+(o<<4)+8>>2];n=+D(+(k*k+m*m+n*n));j=c[a+68>>2]|0;do if(!(+g[b+(o<<4)+(i<<2)>>2]>n*+g[a+56>>2])){k=+g[b+(o<<4)+(j<<2)>>2];f=c[a+76>>2]|0;m=+g[b+(o<<4)+(f<<2)>>2];n=+D(+(k*k+m*m));if(n>1.1920928955078125e-07){n=+g[a+60>>2]/n;g[p+(j<<2)>>2]=k*n;g[p+(i<<2)>>2]=-h;h=m*n;break}else{g[p+(j<<2)>>2]=0.0;g[p+(i<<2)>>2]=-h;h=0.0;break}}else{g[p+(j<<2)>>2]=0.0;g[p+(i<<2)>>2]=h;h=0.0;f=c[a+76>>2]|0}while(0);g[p+(f<<2)>>2]=h;j=d+(o<<4)|0;c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];o=o+1|0}while((o|0)!=(e|0));l=p;return}function pi(b){b=b|0;var d=0;c[b>>2]=5112;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function qi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;o=(+g[a+36>>2]-+g[a+20>>2])*+g[a+112>>2]*.5;m=(+g[a+40>>2]-+g[a+24>>2])*+g[a+116>>2]*.5;k=(+g[a+44>>2]-+g[a+28>>2])*+g[a+120>>2]*.5;t=+C(+(+g[b>>2]));s=+C(+(+g[b+4>>2]));r=+C(+(+g[b+8>>2]));n=+C(+(+g[b+16>>2]));l=+C(+(+g[b+20>>2]));j=+C(+(+g[b+24>>2]));w=+C(+(+g[b+32>>2]));v=+C(+(+g[b+36>>2]));f=+C(+(+g[b+40>>2]));u=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];q=+nb[c[(c[a>>2]|0)+48>>2]&15](a);i=+nb[c[(c[a>>2]|0)+48>>2]&15](a);f=o*w+m*v+k*f+ +nb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=u-(o*t+m*s+k*r+q);g[d+4>>2]=p-(o*n+m*l+k*j+i);g[d+8>>2]=h-f;g[d+12>>2]=0.0;g[e>>2]=u+(o*t+m*s+k*r+q);g[e+4>>2]=p+(o*n+m*l+k*j+i);g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function ri(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0;f=l;l=l+16|0;y=c[a+56>>2]|0;z=c[a+32+(((y+2|0)%3|0)<<2)>>2]|0;c[f>>2]=z;c[f+4>>2]=z;c[f+8>>2]=z;g[f+12>>2]=0.0;g[f+(y<<2)>>2]=(c[j>>2]=z,+g[j>>2])+ +g[a+32+(y<<2)>>2];w=+C(+(+g[b>>2]));v=+C(+(+g[b+4>>2]));u=+C(+(+g[b+8>>2]));s=+C(+(+g[b+16>>2]));r=+C(+(+g[b+20>>2]));q=+C(+(+g[b+24>>2]));o=+C(+(+g[b+32>>2]));m=+C(+(+g[b+36>>2]));i=+C(+(+g[b+40>>2]));x=+g[b+48>>2];t=+g[b+52>>2];p=+g[b+56>>2];n=+g[f>>2];k=+g[f+4>>2];h=+g[f+8>>2];g[d>>2]=x-(w*n+v*k+u*h);g[d+4>>2]=t-(s*n+r*k+q*h);g[d+8>>2]=p-(o*n+m*k+i*h);g[d+12>>2]=0.0;g[e>>2]=x+(w*n+v*k+u*h);g[e+4>>2]=t+(s*n+r*k+q*h);g[e+8>>2]=p+(o*n+m*k+i*h);g[e+12>>2]=0.0;l=f;return}function si(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+64|0;b=c[b+36>>2]|0;e=c[(c[a+24>>2]|0)+28>>2]|0;c[d>>2]=c[e+(b*80|0)>>2];c[d+4>>2]=c[e+(b*80|0)+4>>2];c[d+8>>2]=c[e+(b*80|0)+8>>2];c[d+12>>2]=c[e+(b*80|0)+12>>2];c[d+16>>2]=c[e+(b*80|0)+16>>2];c[d+16+4>>2]=c[e+(b*80|0)+16+4>>2];c[d+16+8>>2]=c[e+(b*80|0)+16+8>>2];c[d+16+12>>2]=c[e+(b*80|0)+16+12>>2];c[d+32>>2]=c[e+(b*80|0)+32>>2];c[d+32+4>>2]=c[e+(b*80|0)+32+4>>2];c[d+32+8>>2]=c[e+(b*80|0)+32+8>>2];c[d+32+12>>2]=c[e+(b*80|0)+32+12>>2];c[d+48>>2]=c[e+(b*80|0)+48>>2];c[d+48+4>>2]=c[e+(b*80|0)+48+4>>2];c[d+48+8>>2]=c[e+(b*80|0)+48+8>>2];c[d+48+12>>2]=c[e+(b*80|0)+48+12>>2];jg(a,b,d,c[e+(b*80|0)+64>>2]|0);l=d;return}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;e=c[a+28>>2]|0;c[i+32>>2]=e;e=(c[a+20>>2]|0)-e|0;c[i+32+4>>2]=e;c[i+32+8>>2]=b;c[i+32+12>>2]=d;c[i>>2]=c[a+60>>2];c[i+4>>2]=i+32;c[i+8>>2]=2;f=SC($a(146,i|0)|0)|0;a:do if((e+d|0)!=(f|0)){b=2;g=e+d|0;e=i+32|0;while(1){if((f|0)<0)break;g=g-f|0;j=c[e+4>>2]|0;k=f>>>0>j>>>0;e=k?e+8|0:e;b=(k<<31>>31)+b|0;j=f-(k?j:0)|0;c[e>>2]=(c[e>>2]|0)+j;c[e+4>>2]=(c[e+4>>2]|0)-j;c[i+16>>2]=c[a+60>>2];c[i+16+4>>2]=e;c[i+16+8>>2]=b;f=SC($a(146,i+16|0)|0)|0;if((g|0)==(f|0)){h=3;break a}}c[a+16>>2]=0;c[a+28>>2]=0;c[a+20>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}else h=3;while(0);if((h|0)==3){k=c[a+44>>2]|0;c[a+16>>2]=k+(c[a+48>>2]|0);c[a+28>>2]=k;c[a+20>>2]=k}l=i;return d|0}function ui(b){b=b|0;var d=0;if((a[22440]|0)==0?Uz(22440)|0:0){if((a[22384]|0)==0?Uz(22384)|0:0){if((a[22392]|0)==0?Uz(22392)|0:0){c[5698]=1065353216;c[5699]=0;c[5700]=0;c[5701]=0;c[5702]=0;c[5703]=1065353216;c[5704]=0;c[5705]=0;c[5706]=0;c[5707]=0;c[5708]=1065353216;g[5709]=0.0}c[5682]=c[5698];c[5683]=c[5699];c[5684]=c[5700];c[5685]=c[5701];c[5686]=c[5702];c[5687]=c[5703];c[5688]=c[5704];c[5689]=c[5705];c[5690]=c[5706];c[5691]=c[5707];c[5692]=c[5708];c[5693]=c[5709];c[5694]=0;c[5695]=0;c[5696]=0;c[5697]=0}c[5738]=c[5682];c[5739]=c[5683];c[5740]=c[5684];c[5741]=c[5685];c[5742]=c[5686];c[5743]=c[5687];c[5744]=c[5688];c[5745]=c[5689];c[5746]=c[5690];c[5747]=c[5691];c[5748]=c[5692];c[5749]=c[5693];c[5750]=c[5694];c[5751]=c[5695];c[5752]=c[5696];c[5753]=c[5697]}d=c[b+8>>2]|0;if(!d){d=c[b>>2]|0;return ((d|0)==0?22952:d+60|0)|0}else return d+4|0;return 0}function vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=c[b>>2]|0;if((e|0)==(c[a+84>>2]|0)){f=1.0;return +f}if(c[e+204>>2]&4|0){f=1.0;return +f}if((+g[a+32>>2]-+g[a+16>>2])*+g[b+8>>2]+(+g[a+36>>2]-+g[a+20>>2])*+g[b+12>>2]+(+g[a+40>>2]-+g[a+24>>2])*+g[b+16>>2]>=-+g[a+88>>2]){f=1.0;return +f}c[a+4>>2]=c[b+40>>2];c[a+80>>2]=e;if(d){c[a+48>>2]=c[b+8>>2];c[a+48+4>>2]=c[b+8+4>>2];c[a+48+8>>2]=c[b+8+8>>2];c[a+48+12>>2]=c[b+8+12>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];i=+g[b+16>>2];h=k*+g[e+20>>2]+j*+g[e+24>>2]+i*+g[e+28>>2];f=k*+g[e+36>>2]+j*+g[e+40>>2]+i*+g[e+44>>2];g[a+48>>2]=+g[e+4>>2]*k+ +g[e+8>>2]*j+ +g[e+12>>2]*i;g[a+52>>2]=h;g[a+56>>2]=f;g[a+60>>2]=0.0}c[a+64>>2]=c[b+24>>2];c[a+64+4>>2]=c[b+24+4>>2];c[a+64+8>>2]=c[b+24+8>>2];c[a+64+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function wi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;i=l;l=l+80|0;if((e|0)>0)f=0;else{l=i;return}do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));h=i+32+4|0;f=0;do{j=b+(f<<4)|0;c[i+32>>2]=8168;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[i+32+20>>2]=-999999984306749440.0;c[i+32+24>>2]=c[j>>2];c[i+32+24+4>>2]=c[j+4>>2];c[i+32+24+8>>2]=c[j+8>>2];c[i+32+24+12>>2]=c[j+12>>2];c[i+16>>2]=1566444395;c[i+16+4>>2]=1566444395;c[i+16+8>>2]=1566444395;g[i+16+12>>2]=0.0;j=c[a+96>>2]|0;k=c[(c[j>>2]|0)+8>>2]|0;g[i>>2]=-999999984306749440.0;g[i+4>>2]=-999999984306749440.0;g[i+8>>2]=-999999984306749440.0;g[i+12>>2]=0.0;Vb[k&127](j,i+32|0,i,i+16|0);j=d+(f<<4)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];f=f+1|0}while((f|0)<(e|0));l=i;return}function xi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+100>>2]|0;if((f|0)==(c[b+104>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6995]=(c[6995]|0)+1;f=sc((i<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+100>>2]|0}if((f|0)>0){g=0;do{j=h+(g<<4)|0;k=(c[b+108>>2]|0)+(g<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];g=g+1|0}while((g|0)!=(f|0))}f=c[b+108>>2]|0;if(f|0){if(a[b+112>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+108>>2]=0}a[b+112>>0]=1;c[b+108>>2]=h;c[b+104>>2]=i;f=c[b+100>>2]|0}k=(c[b+108>>2]|0)+(f<<4)|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[b+100>>2]=(c[b+100>>2]|0)+1;if(!e)return;uj(b);return}function yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+96|0;b=c[b>>2]|0;if((b|0)==(c[a+4>>2]|0)){l=d;return 1}e=c[a+12>>2]|0;if(!(zb[c[(c[e>>2]|0)+8>>2]&31](e,c[b+188>>2]|0)|0)){l=d;return 1}e=c[a+4>>2]|0;f=c[e+192>>2]|0;c[d+64>>2]=0;c[d+64+4>>2]=f;c[d+64+8>>2]=e;c[d+64+12>>2]=e+4;c[d+64+16>>2]=-1;c[d+64+20>>2]=-1;e=c[b+192>>2]|0;c[d+40>>2]=0;c[d+40+4>>2]=e;c[d+40+8>>2]=b;c[d+40+12>>2]=b+4;c[d+40+16>>2]=-1;c[d+40+20>>2]=-1;b=c[(c[a+8>>2]|0)+24>>2]|0;b=Db[c[(c[b>>2]|0)+8>>2]&1](b,d+64|0,d+40|0,0,2)|0;if(b|0){f=c[a+12>>2]|0;c[d+4>>2]=0;c[d+8>>2]=d+64;c[d+12>>2]=d+40;g[d+32>>2]=0.0;c[d>>2]=6324;c[d+36>>2]=f;Zb[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,(c[a+8>>2]|0)+28|0,d);Ib[c[c[b>>2]>>2]&511](b);f=c[(c[a+8>>2]|0)+24>>2]|0;Ob[c[(c[f>>2]|0)+60>>2]&127](f,b)}l=d;return 1}function zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+96|0;i=c[c[a>>2]>>2]|0;h=c[c[a+4>>2]>>2]|0;if(!(Bb[c[(c[b>>2]|0)+24>>2]&63](b,i,h)|0)){l=k;return}f=c[i+192>>2]|0;c[k+64>>2]=0;c[k+64+4>>2]=f;c[k+64+8>>2]=i;c[k+64+12>>2]=i+4;c[k+64+16>>2]=-1;c[k+64+20>>2]=-1;f=c[h+192>>2]|0;c[k+40>>2]=0;c[k+40+4>>2]=f;c[k+40+8>>2]=h;c[k+40+12>>2]=h+4;c[k+40+16>>2]=-1;c[k+40+20>>2]=-1;f=c[a+8>>2]|0;if(!f){f=Db[c[(c[b>>2]|0)+8>>2]&1](b,k+64|0,k+40|0,0,1)|0;c[a+8>>2]=f;if(f|0)j=4}else j=4;if((j|0)==4){c[k>>2]=5916;c[k+4>>2]=0;c[k+8>>2]=k+64;c[k+12>>2]=k+40;g[k+32>>2]=0.0;if((c[d+8>>2]|0)!=1){e=+tb[c[(c[f>>2]|0)+12>>2]&15](f,i,h,d,k);if(+g[d+12>>2]>e)g[d+12>>2]=e}else Zb[c[(c[f>>2]|0)+8>>2]&31](f,k+64|0,k+40|0,d,k)}l=k;return}function Ai(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,h=0.0,i=0.0,j=0.0;c[a+4>>2]=35;c[a+8>>2]=0;c[a+12>>2]=-1;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;c[a+24>>2]=1065353216;g[a+28>>2]=0.0;g[a+48>>2]=.03999999910593033;c[a>>2]=8484;c[a+56>>2]=1;f=+g[b+4>>2]+-.03999999910593033;d=+g[b+8>>2]+-.03999999910593033;g[a+32>>2]=+g[b>>2]+-.03999999910593033;g[a+36>>2]=f;g[a+40>>2]=d;g[a+44>>2]=0.0;e=!(+g[b>>2]<+g[b+4>>2])&1;d=+g[b+((+g[b+(e<<2)>>2]<+g[b+8>>2]?e:2)<<2)>>2]*.10000000149011612;if(!(d<.03999999910593033)){c[a+4>>2]=13;return}j=+HG(a);h=+nb[c[(c[a>>2]|0)+48>>2]&15](a);f=+nb[c[(c[a>>2]|0)+48>>2]&15](a);j=j+ +g[a+32>>2];h=h+ +g[a+36>>2];f=f+ +g[a+40>>2];g[a+48>>2]=d;i=+nb[c[(c[a>>2]|0)+48>>2]&15](a);d=+nb[c[(c[a>>2]|0)+48>>2]&15](a);f=f-+nb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+32>>2]=j-i;g[a+36>>2]=h-d;g[a+40>>2]=f;g[a+44>>2]=0.0;c[a+4>>2]=13;return}function Bi(b){b=b|0;var d=0,e=0,f=0,h=0;c[b+32>>2]=262144;d=c[b+4>>2]|0;if((d|0)<2383){if((c[b+8>>2]|0)<2383){c[6995]=(c[6995]|0)+1;e=sc(9551)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}f=c[b+4>>2]|0;if((f|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=2383;e=b+12|0}else e=b+12|0;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=2383)}c[b+4>>2]=2383;e=0;do{h=(c[b+12>>2]|0)+(e<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(d|0)do{h=d;d=c[d+280>>2]|0;cJ(h)}while((d|0)!=0);e=e+1|0}while((e|0)!=2383);g[b+20>>2]=.25;c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=1;c[b+40>>2]=1;return}function Ci(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0;d=Nt()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;c[d+56>>2]=0;c[d>>2]=8188;c[d+4>>2]=0;f=+g[a+4>>2]+-.03999999910593033;b=+g[a+8>>2]+-.03999999910593033;g[d+32>>2]=+g[a>>2]+-.03999999910593033;g[d+36>>2]=f;g[d+40>>2]=b;g[d+44>>2]=0.0;e=!(+g[a>>2]<+g[a+4>>2])&1;b=+g[a+((+g[a+(e<<2)>>2]<+g[a+8>>2]?e:2)<<2)>>2]*.10000000149011612;if(!(b<.03999999910593033))return d|0;j=+HG(d);h=+nb[c[(c[d>>2]|0)+48>>2]&15](d);f=+nb[c[(c[d>>2]|0)+48>>2]&15](d);j=j+ +g[d+32>>2];h=h+ +g[d+36>>2];f=f+ +g[d+40>>2];g[d+48>>2]=b;i=+nb[c[(c[d>>2]|0)+48>>2]&15](d);b=+nb[c[(c[d>>2]|0)+48>>2]&15](d);f=f-+nb[c[(c[d>>2]|0)+48>>2]&15](d);g[d+32>>2]=j-i;g[d+36>>2]=h-b;g[d+40>>2]=f;g[d+44>>2]=0.0;return d|0}function Di(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,i=0.0,j=0;eb(c[6994]|0,0)|0;if(e){g[b+284>>2]=f;i=+g[b+280>>2]+d;g[b+280>>2]=i;if(!(i>=f)){d=f;j=0}else{g[b+280>>2]=i-+(~~(i/f)|0)*f;d=f;j=~~(i/f)}}else{g[b+280>>2]=a[b+316>>0]|0?0.0:d;g[b+284>>2]=0.0;j=!(+C(+d)<1.1920928955078125e-07)&1;e=j}if(xb[c[(c[b>>2]|0)+20>>2]&127](b)|0){h=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;a[28564]=(xb[c[(c[h>>2]|0)+56>>2]&127](h)|0)>>>4&1}if(j){h=(j|0)>(e|0)?e:j;Jb[c[(c[b>>2]|0)+168>>2]&31](b,d*+(h|0));Ib[c[(c[b>>2]|0)+176>>2]&511](b);if((h|0)>0){e=0;do{Jb[c[(c[b>>2]|0)+160>>2]&31](b,d);Ib[c[(c[b>>2]|0)+80>>2]&511](b);e=e+1|0}while((e|0)<(h|0));e=b}else e=b}else{Ib[c[(c[b>>2]|0)+80>>2]&511](b);e=b}Ib[c[(c[e>>2]|0)+120>>2]&511](b);c[6993]=(c[6993]|0)+1;return j|0}function Ei(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=c[d+4>>2]|0;f=c[b+24>>2]|0;if((f|0)<(i|0)){if((c[b+28>>2]|0)<(i|0)){if(!i){e=0;h=f}else{c[6995]=(c[6995]|0)+1;e=sc((i<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+24>>2]|0}if((h|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[b+32>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[b+32>>2]|0;if(g|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=i;e=b+32|0}else e=b+32|0;do{c[(c[e>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(i|0))}else e=b+32|0;c[b+24>>2]=i;f=c[e>>2]|0;if((i|0)<=0)return;e=0;do{c[f+(e<<2)>>2]=c[(c[d+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(i|0));return}function Fi(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==32&(d|0)==32)){if((b|0)==32){if((d|0)<20){a=a+92|0;break}if((d+-21|0)>>>0<9){a=a+100|0;break}}else{if((b|0)<20&(d|0)==32){a=a+96|0;break}if((b+-21|0)>>>0<9&(d|0)==32){a=a+104|0;break}if((b|0)==8&(d|0)==8){a=a+56|0;break}if((b|0)==8&(d|0)==1){a=a+72|0;break}if((b|0)==1&(d|0)==8){a=a+76|0;break}}if(!(d|b)){a=a+68|0;break}if((b|0)<20&(d|0)==28){a=a+84|0;break}if((b|0)==28&(d|0)<20){a=a+80|0;break}if((b|0)<20){if((d|0)<20){a=a+28|0;break}if((d+-21|0)>>>0<9){a=a+32|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){a=a+36|0;break}if((b|0)==31)if((d|0)==31){a=a+44|0;break}else{a=a+40|0;break}}if((d|0)==31){a=a+48|0;break}else{a=a+52|0;break}}else a=a+88|0;while(0);return c[a>>2]|0}function Gi(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=6512;e=c[b+52>>2]|0;if((e|0)>0){d=0;do{f=c[(c[b+60>>2]|0)+(d<<2)>>2]|0;if(f|0){Ib[c[c[f>>2]>>2]&511](f);f=c[b+4>>2]|0;Ob[c[(c[f>>2]|0)+60>>2]&127](f,c[(c[b+60>>2]|0)+(d<<2)>>2]|0)}d=d+1|0}while((d|0)!=(e|0))}d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+20>>2]|0;if(!d){a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+24>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+20>>2]=0;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}function Hi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0;if((e|0)>0)f=0;else return;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));r=0;do{j=+g[a+16>>2];k=+g[b+(r<<4)>>2]*j;l=+g[a+20>>2];m=+g[b+(r<<4)+4>>2]*l;n=+g[a+24>>2];o=+g[b+(r<<4)+8>>2]*n;p=c[a+100>>2]|0;if((p|0)>0){q=c[a+108>>2]|0;f=-1;i=0;h=-3402823466385288598117041.0e14;do{s=k*+g[q+(i<<4)>>2]+m*+g[q+(i<<4)+4>>2]+o*+g[q+(i<<4)+8>>2];t=s>h;f=t?i:f;h=t?s:h;i=i+1|0}while((i|0)!=(p|0));o=+g[q+(f<<4)+4>>2]*l;s=+g[q+(f<<4)+8>>2]*n;g[d+(r<<4)>>2]=+g[q+(f<<4)>>2]*j;g[d+(r<<4)+4>>2]=o;g[d+(r<<4)+8>>2]=s}else h=-999999984306749440.0;g[d+(r<<4)+12>>2]=h;r=r+1|0}while((r|0)!=(e|0));return}function Ii(a,b,c,d,e,f,h,i,j,k,l){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;x=+g[a>>2]*f+ +g[a+16>>2]*h+ +g[a+32>>2]*i;v=+g[a+4>>2]*f+ +g[a+20>>2]*h+ +g[a+36>>2]*i;t=+g[a+8>>2]*f+ +g[a+24>>2]*h+ +g[a+40>>2]*i;s=+g[b>>2]*f+ +g[b+16>>2]*h+ +g[b+32>>2]*i;q=+g[b+4>>2]*f+ +g[b+20>>2]*h+ +g[b+36>>2]*i;o=+g[b+8>>2]*f+ +g[b+24>>2]*h+ +g[b+40>>2]*i;w=+g[j+80>>2];u=+g[j+84>>2];p=+g[j+88>>2];r=+g[k+80>>2];m=+g[k+84>>2];n=+g[k+88>>2];p=x*(x<0.0?-w:w)+v*(v<0.0?-u:u)+t*(t<0.0?-p:p);n=s*(s<0.0?-r:r)+q*(q<0.0?-m:m)+o*(o<0.0?-n:n);o=+g[j+96>>2];m=+g[k+96>>2];m=(p>o?p:o)+(n>m?n:m);return !((c*f+d*h+e*i+m<m-(c*f+d*h+e*i)?c*f+d*h+e*i+m:m-(c*f+d*h+e*i))>l)|0}function Ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;while(1){m=c[a+12>>2]|0;n=c[m+(((b+d|0)/2|0)<<2)>>2]|0;f=b;e=d;while(1){l=c[n+772>>2]|0;l=c[((c[l+208>>2]|0)>-1?l:c[n+776>>2]|0)+208>>2]|0;while(1){h=m+(f<<2)|0;i=c[h>>2]|0;k=c[i+772>>2]|0;j=f+1|0;if((c[((c[k+208>>2]|0)>-1?k:c[i+776>>2]|0)+208>>2]|0)<(l|0))f=j;else break}while(1){g=c[m+(e<<2)>>2]|0;o=c[g+772>>2]|0;k=e+-1|0;if((l|0)<(c[((c[o+208>>2]|0)>-1?o:c[g+776>>2]|0)+208>>2]|0))e=k;else break}if((f|0)<=(e|0)){c[h>>2]=g;c[(c[a+12>>2]|0)+(e<<2)>>2]=i;f=j;e=k}if((f|0)>(e|0))break;m=c[a+12>>2]|0}if((e|0)>(b|0))Ji(a,b,e);if((f|0)<(d|0))b=f;else break}return}
function wd(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0;r=l;l=l+288|0;o=c[b+248>>2]|0;if((o|0)>0){h=c[b+256>>2]|0;i=r+224+48|0;m=r+64+28|0;e=0;do{n=c[h+(e<<2)>>2]|0;g[n+268>>2]=1.0;a:do switch(c[n+220>>2]|0){case 2:case 5:break;default:if(!(c[n+204>>2]&3)){Af(n+4|0,+g[n+372>>2],+g[n+376>>2],+g[n+380>>2],n+388|0,d,r+224|0);f=+g[i>>2]-+g[n+52>>2];j=+g[r+224+52>>2]-+g[n+56>>2];k=+g[r+224+56>>2]-+g[n+60>>2];do if((a[b+44>>0]|0?(s=+g[n+276>>2],s*s!=0.0?s*s<f*f+j*j+k*k:0):0)?(c[(c[n+192>>2]|0)+4>>2]|0)<20:0){c[5787]=(c[5787]|0)+1;u=c[b+68>>2]|0;u=xb[c[(c[u>>2]|0)+36>>2]&127](u)|0;t=c[b+24>>2]|0;g[r+120+4>>2]=1.0;c[r+120+16>>2]=c[n+52>>2];c[r+120+16+4>>2]=c[n+52+4>>2];c[r+120+16+8>>2]=c[n+52+8>>2];c[r+120+16+12>>2]=c[n+52+12>>2];c[r+120+32>>2]=c[i>>2];c[r+120+32+4>>2]=c[i+4>>2];c[r+120+32+8>>2]=c[i+8>>2];c[r+120+32+12>>2]=c[i+12>>2];c[r+120+80>>2]=0;c[r+120>>2]=4556;c[r+120+84>>2]=n;c[r+120+92>>2]=u;c[r+120+96>>2]=t;t=c[n+272>>2]|0;c[r+64+8>>2]=0;c[r+64+12>>2]=-1;c[r+64>>2]=7020;c[r+64+4>>2]=8;c[r+64+16>>2]=1065353216;c[r+64+20>>2]=1065353216;c[r+64+24>>2]=1065353216;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[r+64+32>>2]=t;c[r+64+48>>2]=t;g[r+64+52>>2]=0.0;c[r+120+88>>2]=c[b+56>>2];t=c[n+188>>2]|0;c[r+120+8>>2]=c[t+4>>2];c[r+120+12>>2]=c[t+8>>2];c[r+48>>2]=c[i>>2];c[r+48+4>>2]=c[i+4>>2];c[r+48+8>>2]=c[i+8>>2];c[r+48+12>>2]=c[i+12>>2];c[r>>2]=c[n+4>>2];c[r+4>>2]=c[n+4+4>>2];c[r+8>>2]=c[n+4+8>>2];c[r+12>>2]=c[n+4+12>>2];c[r+16>>2]=c[n+20>>2];c[r+16+4>>2]=c[n+20+4>>2];c[r+16+8>>2]=c[n+20+8>>2];c[r+16+12>>2]=c[n+20+12>>2];c[r+32>>2]=c[n+36>>2];c[r+32+4>>2]=c[n+36+4>>2];c[r+32+8>>2]=c[n+36+8>>2];c[r+32+12>>2]=c[n+36+12>>2];Ud(b,r+64|0,n+4|0,r,r+120|0,0.0);f=+g[r+120+4>>2];if(f<1.0){g[n+268>>2]=f;Af(n+4|0,+g[n+372>>2],+g[n+376>>2],+g[n+380>>2],n+388|0,f*d,r+224|0);g[n+268>>2]=0.0;Oe(n,r+224|0);break a}else break}while(0);Oe(n,r+224|0)}}while(0);e=e+1|0}while((e|0)<(o|0))}if(!(a[b+291>>0]|0)){l=r;return}if((c[b+324>>2]|0)<=0){l=r;return}n=0;do{o=c[(c[b+332>>2]|0)+(n<<2)>>2]|0;h=c[o+772>>2]|0;h=(c[h+252>>2]&2|0)==0?0:h;m=c[o+776>>2]|0;m=(c[m+252>>2]&2|0)==0?0:m;e=c[o+780>>2]|0;if((e|0)>0)if(!h){h=0;do{f=+g[58]*+g[m+232>>2];if(f>0.0?(p=+g[o+4+(h*192|0)+124>>2],p!=0.0):0){k=f*+g[o+4+(h*192|0)+64>>2]*p;d=f*+g[o+4+(h*192|0)+68>>2]*p;s=f*+g[o+4+(h*192|0)+72>>2]*p;f=+g[o+4+(h*192|0)+36>>2]-+g[m+56>>2];j=+g[o+4+(h*192|0)+40>>2]-+g[m+60>>2];g[r+64>>2]=+g[o+4+(h*192|0)+32>>2]-+g[m+52>>2];g[r+64+4>>2]=f;g[r+64+8>>2]=j;g[r+64+12>>2]=0.0;g[r>>2]=k;g[r+4>>2]=d;g[r+8>>2]=s;g[r+12>>2]=0.0;ll(m,r,r+64|0);e=c[o+780>>2]|0}h=h+1|0}while((h|0)<(e|0))}else{i=0;do{f=+g[h+232>>2]*+g[m+232>>2];if(f>0.0?(q=+g[o+4+(i*192|0)+124>>2],q!=0.0):0){k=f*+g[o+4+(i*192|0)+64>>2]*q;d=f*+g[o+4+(i*192|0)+68>>2]*q;s=f*+g[o+4+(i*192|0)+72>>2]*q;g[r+224>>2]=-k;g[r+224+4>>2]=-d;g[r+224+8>>2]=-s;g[r+224+12>>2]=0.0;j=+g[o+4+(i*192|0)+52>>2]-+g[h+56>>2];f=+g[o+4+(i*192|0)+56>>2]-+g[h+60>>2];g[r+120>>2]=+g[o+4+(i*192|0)+48>>2]-+g[h+52>>2];g[r+120+4>>2]=j;g[r+120+8>>2]=f;g[r+120+12>>2]=0.0;f=+g[o+4+(i*192|0)+36>>2]-+g[m+56>>2];j=+g[o+4+(i*192|0)+40>>2]-+g[m+60>>2];g[r+64>>2]=+g[o+4+(i*192|0)+32>>2]-+g[m+52>>2];g[r+64+4>>2]=f;g[r+64+8>>2]=j;g[r+64+12>>2]=0.0;ll(h,r+224|0,r+120|0);g[r>>2]=k;g[r+4>>2]=d;g[r+8>>2]=s;g[r+12>>2]=0.0;ll(m,r,r+64|0);e=c[o+780>>2]|0}i=i+1|0}while((i|0)<(e|0))}n=n+1|0}while((n|0)<(c[b+324>>2]|0));l=r;return}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0;q=l;l=l+240|0;c[a+4>>2]=(c[a+4>>2]|0)+1;p=c[b+36>>2]|0;o=c[d+36>>2]|0;f=c[a+8>>2]|0;J=c[(c[f+4>>2]|0)+28>>2]|0;d=c[J+(p*80|0)+64>>2]|0;b=(c[(c[a+12>>2]|0)+4>>2]|0)+28|0;e=c[(c[b>>2]|0)+(o*80|0)+64>>2]|0;f=c[f+12>>2]|0;n=+g[f>>2];H=+g[f+4>>2];I=+g[f+8>>2];h=+g[f+16>>2];k=+g[f+20>>2];t=+g[f+24>>2];r=+g[f+32>>2];u=+g[f+36>>2];C=+g[f+40>>2];v=+g[J+(p*80|0)>>2];w=+g[J+(p*80|0)+16>>2];x=+g[J+(p*80|0)+32>>2];y=+g[J+(p*80|0)+4>>2];z=+g[J+(p*80|0)+20>>2];A=+g[J+(p*80|0)+36>>2];i=+g[J+(p*80|0)+8>>2];B=+g[J+(p*80|0)+24>>2];D=+g[J+(p*80|0)+40>>2];s=+g[J+(p*80|0)+48>>2];j=+g[J+(p*80|0)+52>>2];G=+g[J+(p*80|0)+56>>2];E=+g[f+48>>2]+(n*s+H*j+I*G);F=+g[f+52>>2]+(h*s+k*j+t*G);G=+g[f+56>>2]+(r*s+u*j+C*G);g[q+176>>2]=n*v+H*w+I*x;g[q+176+4>>2]=n*y+H*z+I*A;g[q+176+8>>2]=n*i+H*B+I*D;g[q+176+12>>2]=0.0;g[q+176+16>>2]=h*v+k*w+t*x;g[q+176+20>>2]=h*y+k*z+t*A;g[q+176+24>>2]=h*i+k*B+t*D;g[q+176+28>>2]=0.0;g[q+176+32>>2]=r*v+u*w+C*x;g[q+176+36>>2]=r*y+u*z+C*A;g[q+176+40>>2]=r*i+u*B+C*D;g[q+176+44>>2]=0.0;g[q+176+48>>2]=E;g[q+176+52>>2]=F;g[q+176+56>>2]=G;g[q+176+60>>2]=0.0;f=c[(c[a+12>>2]|0)+12>>2]|0;G=+g[f>>2];F=+g[f+4>>2];E=+g[f+8>>2];D=+g[f+16>>2];C=+g[f+20>>2];B=+g[f+24>>2];u=+g[f+32>>2];i=+g[f+36>>2];r=+g[f+40>>2];b=c[b>>2]|0;A=+g[b+(o*80|0)>>2];z=+g[b+(o*80|0)+16>>2];y=+g[b+(o*80|0)+32>>2];x=+g[b+(o*80|0)+4>>2];w=+g[b+(o*80|0)+20>>2];v=+g[b+(o*80|0)+36>>2];t=+g[b+(o*80|0)+8>>2];k=+g[b+(o*80|0)+24>>2];h=+g[b+(o*80|0)+40>>2];I=+g[b+(o*80|0)+48>>2];H=+g[b+(o*80|0)+52>>2];n=+g[b+(o*80|0)+56>>2];j=+g[f+48>>2]+(G*I+F*H+E*n);s=+g[f+52>>2]+(D*I+C*H+B*n);n=+g[f+56>>2]+(u*I+i*H+r*n);g[q+112>>2]=G*A+F*z+E*y;g[q+112+4>>2]=G*x+F*w+E*v;g[q+112+8>>2]=G*t+F*k+E*h;g[q+112+12>>2]=0.0;g[q+112+16>>2]=D*A+C*z+B*y;g[q+112+20>>2]=D*x+C*w+B*v;g[q+112+24>>2]=D*t+C*k+B*h;g[q+112+28>>2]=0.0;g[q+112+32>>2]=u*A+i*z+r*y;g[q+112+36>>2]=u*x+i*w+r*v;g[q+112+40>>2]=u*t+i*k+r*h;g[q+112+44>>2]=0.0;g[q+112+48>>2]=j;g[q+112+52>>2]=s;g[q+112+56>>2]=n;g[q+112+60>>2]=0.0;Vb[c[(c[d>>2]|0)+8>>2]&127](d,q+176|0,q+96|0,q+80|0);Vb[c[(c[e>>2]|0)+8>>2]&127](e,q+112|0,q+64|0,q+48|0);n=+g[(c[a+24>>2]|0)+32>>2];s=+g[q+96>>2]-n;g[q+96>>2]=s;j=+g[q+96+4>>2]-n;g[q+96+4>>2]=j;h=+g[q+96+8>>2]-n;g[q+96+8>>2]=h;r=n+ +g[q+80>>2];g[q+80>>2]=r;k=n+ +g[q+80+4>>2];g[q+80+4>>2]=k;i=n+ +g[q+80+8>>2];g[q+80+8>>2]=i;if(!(s>+g[q+48>>2])?!(r<+g[q+64>>2]):0)b=1;else b=0;if(!(!(h>+g[q+48+8>>2])?!(i<+g[q+64+8>>2]):0))b=0;if(j>+g[q+48+4>>2]){l=q;return}if(k<+g[q+64+4>>2]|b^1){l=q;return}f=c[a+8>>2]|0;b=c[f+8>>2]|0;c[q+24>>2]=f;c[q+24+4>>2]=d;c[q+24+8>>2]=b;c[q+24+12>>2]=q+176;c[q+24+16>>2]=-1;c[q+24+20>>2]=p;b=c[a+12>>2]|0;f=c[b+8>>2]|0;c[q>>2]=b;c[q+4>>2]=e;c[q+8>>2]=f;c[q+12>>2]=q+112;c[q+16>>2]=-1;c[q+20>>2]=o;f=c[a+28>>2]|0;c[6416]=(c[6416]|0)+1;b=(((o<<16|p)+~((o<<16|p)<<15)|0)>>>10^(o<<16|p)+~((o<<16|p)<<15))*9|0;b=(c[f+12>>2]|0)+-1&(((b>>>6^b)+~((b>>>6^b)<<11)|0)>>>16^(b>>>6^b)+~((b>>>6^b)<<11));a:do if((b|0)<(c[f+28>>2]|0)?(m=c[(c[f+36>>2]|0)+(b<<2)>>2]|0,(m|0)!=-1):0){e=c[f+16>>2]|0;d=m;while(1){b=e+(d*12|0)|0;if((c[b>>2]|0)==(p|0)?(c[e+(d*12|0)+4>>2]|0)==(o|0):0)break a;d=c[(c[f+56>>2]|0)+(d<<2)>>2]|0;if((d|0)==-1){b=0;break}}}else b=0;while(0);do if(!(n>0.0))if(!b){b=c[a+16>>2]|0;b=Db[c[(c[b>>2]|0)+8>>2]&1](b,q+24|0,q,c[a+32>>2]|0,1)|0;J=c[a+28>>2]|0;c[(Bb[c[(c[J>>2]|0)+12>>2]&63](J,p,o)|0)+8>>2]=b;break}else{b=c[b+8>>2]|0;break}else{b=c[a+16>>2]|0;b=Db[c[(c[b>>2]|0)+8>>2]&1](b,q+24|0,q,0,2)|0}while(0);J=c[a+24>>2]|0;f=c[J+8>>2]|0;m=c[J+12>>2]|0;c[J+8>>2]=q+24;c[J+12>>2]=q;Sb[c[(c[J>>2]|0)+8>>2]&127](J,-1,p);J=c[a+24>>2]|0;Sb[c[(c[J>>2]|0)+12>>2]&127](J,-1,o);Zb[c[(c[b>>2]|0)+8>>2]&31](b,q+24|0,q,c[a+20>>2]|0,c[a+24>>2]|0);J=c[a+24>>2]|0;c[J+8>>2]=f;c[J+12>>2]=m;l=q;return}function yd(b,d,e){b=b|0;d=d|0;e=e|0;fi(b,d,e)|0;c[d+52>>2]=c[b+48>>2];c[d+56>>2]=c[b+52>>2];c[d+60>>2]=c[b+56>>2];c[d+64>>2]=c[b+60>>2];c[d+68>>2]=c[b+64>>2];c[d+72>>2]=c[b+68>>2];c[d+76>>2]=c[b+72>>2];c[d+80>>2]=c[b+76>>2];c[d+84>>2]=c[b+80>>2];c[d+88>>2]=c[b+84>>2];c[d+92>>2]=c[b+88>>2];c[d+96>>2]=c[b+92>>2];c[d+100>>2]=c[b+96>>2];c[d+104>>2]=c[b+100>>2];c[d+108>>2]=c[b+104>>2];c[d+112>>2]=c[b+108>>2];c[d+116>>2]=c[b+112>>2];c[d+120>>2]=c[b+116>>2];c[d+124>>2]=c[b+120>>2];c[d+128>>2]=c[b+124>>2];c[d+132>>2]=c[b+128>>2];c[d+136>>2]=c[b+132>>2];c[d+140>>2]=c[b+136>>2];c[d+144>>2]=c[b+140>>2];c[d+148>>2]=c[b+144>>2];c[d+152>>2]=c[b+148>>2];c[d+156>>2]=c[b+152>>2];c[d+160>>2]=c[b+156>>2];c[d+164>>2]=c[b+160>>2];c[d+168>>2]=c[b+164>>2];c[d+172>>2]=c[b+168>>2];c[d+176>>2]=c[b+172>>2];c[d+428>>2]=c[b+968>>2];c[d+412>>2]=c[b+972>>2];c[d+444>>2]=c[b+976>>2];c[d+460>>2]=c[b+980>>2];c[d+476>>2]=c[b+984>>2];c[d+492>>2]=c[b+988>>2];c[d+508>>2]=c[b+992>>2];c[d+524>>2]=c[b+1e3>>2];c[d+540>>2]=c[b+1004>>2];c[d+556>>2]=c[b+1012>>2];c[d+572>>2]=c[b+1020>>2];c[d+588>>2]=c[b+1028>>2];c[d+604>>2]=c[b+1036>>2];c[d+432>>2]=c[b+1056>>2];c[d+416>>2]=c[b+1060>>2];c[d+448>>2]=c[b+1064>>2];c[d+464>>2]=c[b+1068>>2];c[d+480>>2]=c[b+1072>>2];c[d+496>>2]=c[b+1076>>2];c[d+512>>2]=c[b+1080>>2];c[d+528>>2]=c[b+1088>>2];c[d+544>>2]=c[b+1092>>2];c[d+560>>2]=c[b+1100>>2];c[d+576>>2]=c[b+1108>>2];c[d+592>>2]=c[b+1116>>2];c[d+608>>2]=c[b+1124>>2];c[d+436>>2]=c[b+1144>>2];c[d+420>>2]=c[b+1148>>2];c[d+452>>2]=c[b+1152>>2];c[d+468>>2]=c[b+1156>>2];c[d+484>>2]=c[b+1160>>2];c[d+500>>2]=c[b+1164>>2];c[d+516>>2]=c[b+1168>>2];c[d+532>>2]=c[b+1176>>2];c[d+548>>2]=c[b+1180>>2];c[d+564>>2]=c[b+1188>>2];c[d+580>>2]=c[b+1196>>2];c[d+596>>2]=c[b+1204>>2];c[d+612>>2]=c[b+1212>>2];g[d+440>>2]=0.0;g[d+424>>2]=0.0;g[d+456>>2]=0.0;g[d+472>>2]=0.0;g[d+488>>2]=0.0;g[d+504>>2]=0.0;g[d+520>>2]=0.0;g[d+536>>2]=0.0;g[d+552>>2]=0.0;g[d+568>>2]=0.0;g[d+584>>2]=0.0;g[d+600>>2]=0.0;g[d+616>>2]=0.0;a[d+620>>0]=a[b+996>>0]|0;a[d+624>>0]=a[b+1008>>0]|0;a[d+628>>0]=a[b+1016>>0]|0;a[d+632>>0]=a[b+1024>>0]|0;a[d+636>>0]=a[b+1032>>0]|0;a[d+621>>0]=a[b+1084>>0]|0;a[d+625>>0]=a[b+1096>>0]|0;a[d+629>>0]=a[b+1104>>0]|0;a[d+633>>0]=a[b+1112>>0]|0;a[d+637>>0]=a[b+1120>>0]|0;a[d+622>>0]=a[b+1172>>0]|0;a[d+626>>0]=a[b+1184>>0]|0;a[d+630>>0]=a[b+1192>>0]|0;a[d+634>>0]=a[b+1200>>0]|0;a[d+638>>0]=a[b+1208>>0]|0;a[d+623>>0]=0;a[d+627>>0]=0;a[d+631>>0]=0;a[d+635>>0]=0;a[d+639>>0]=0;c[d+196>>2]=c[b+680>>2];c[d+200>>2]=c[b+684>>2];c[d+204>>2]=c[b+688>>2];c[d+208>>2]=c[b+692>>2];c[d+180>>2]=c[b+696>>2];c[d+184>>2]=c[b+700>>2];c[d+188>>2]=c[b+704>>2];c[d+192>>2]=c[b+708>>2];c[d+212>>2]=c[b+712>>2];c[d+216>>2]=c[b+716>>2];c[d+220>>2]=c[b+720>>2];c[d+224>>2]=c[b+724>>2];c[d+228>>2]=c[b+728>>2];c[d+232>>2]=c[b+732>>2];c[d+236>>2]=c[b+736>>2];c[d+240>>2]=c[b+740>>2];c[d+244>>2]=c[b+744>>2];c[d+248>>2]=c[b+748>>2];c[d+252>>2]=c[b+752>>2];c[d+256>>2]=c[b+756>>2];c[d+260>>2]=c[b+760>>2];c[d+264>>2]=c[b+764>>2];c[d+268>>2]=c[b+768>>2];c[d+272>>2]=c[b+772>>2];c[d+276>>2]=c[b+776>>2];c[d+280>>2]=c[b+780>>2];c[d+284>>2]=c[b+784>>2];c[d+288>>2]=c[b+788>>2];c[d+292>>2]=c[b+876>>2];c[d+296>>2]=c[b+880>>2];c[d+300>>2]=c[b+884>>2];c[d+304>>2]=c[b+888>>2];c[d+308>>2]=c[b+892>>2];c[d+312>>2]=c[b+896>>2];c[d+316>>2]=c[b+900>>2];c[d+320>>2]=c[b+904>>2];c[d+324>>2]=c[b+804>>2];c[d+328>>2]=c[b+808>>2];c[d+332>>2]=c[b+812>>2];c[d+336>>2]=c[b+816>>2];c[d+340>>2]=c[b+820>>2];c[d+344>>2]=c[b+824>>2];c[d+348>>2]=c[b+828>>2];c[d+352>>2]=c[b+832>>2];c[d+356>>2]=c[b+840>>2];c[d+360>>2]=c[b+844>>2];c[d+364>>2]=c[b+848>>2];c[d+368>>2]=c[b+852>>2];c[d+372>>2]=c[b+860>>2];c[d+376>>2]=c[b+864>>2];c[d+380>>2]=c[b+868>>2];c[d+384>>2]=c[b+872>>2];a[d+388>>0]=a[b+792>>0]|0;a[d+392>>0]=a[b+795>>0]|0;a[d+396>>0]=a[b+798>>0]|0;a[d+400>>0]=a[b+836>>0]|0;a[d+404>>0]=a[b+856>>0]|0;a[d+389>>0]=a[b+793>>0]|0;a[d+393>>0]=a[b+796>>0]|0;a[d+397>>0]=a[b+799>>0]|0;a[d+401>>0]=a[b+837>>0]|0;a[d+405>>0]=a[b+857>>0]|0;a[d+390>>0]=a[b+794>>0]|0;a[d+394>>0]=a[b+797>>0]|0;a[d+398>>0]=a[b+800>>0]|0;a[d+402>>0]=a[b+838>>0]|0;a[d+406>>0]=a[b+858>>0]|0;a[d+391>>0]=0;a[d+395>>0]=0;a[d+399>>0]=0;a[d+403>>0]=0;a[d+407>>0]=0;c[d+640>>2]=c[b+1232>>2];c[d+408>>2]=0;return 12302}function zd(b,d,e,f,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0.0;I=l;l=l+128|0;c[I+16>>2]=i;c[I+16+4>>2]=j;c[I+16+8>>2]=k;c[I>>2]=e;c[I+4>>2]=f;c[I+8>>2]=h;if(!(+g[d+52>>2]<+g[b+12>>2])){m=0;l=I;return m|0}w=+g[d+36>>2];y=+g[d+40>>2];x=+g[d+44>>2];k=c[d+48>>2]|0;z=1.0/+D(+(w*w+y*y+x*x));h=ui(I)|0;A=+g[d+4>>2]-+g[h+48>>2];B=+g[d+8>>2]-+g[h+52>>2];C=+g[d+12>>2]-+g[h+56>>2];h=ui(I+16|0)|0;E=+g[d+20>>2]-+g[h+48>>2];F=+g[d+24>>2]-+g[h+52>>2];G=+g[d+28>>2]-+g[h+56>>2];if(!f)if(!e){p=0.0;s=0.0;q=0.0;n=0.0;o=0.0;r=0.0}else{r=+g[e+336>>2];o=+g[e+340>>2];v=+g[e+332>>2];p=+g[e+316>>2];s=+g[e+320>>2];q=+g[e+324>>2];n=C*r-B*o;o=A*o-C*v;r=B*v-A*r}else{r=+g[f+392>>2];o=+g[f+396>>2];v=+g[f+388>>2];p=+g[f+372>>2];s=+g[f+376>>2];q=+g[f+380>>2];n=C*r-B*o;o=A*o-C*v;r=B*v-A*r}v=p+n;u=s+o;t=q+r;if(!j)if(!i){r=0.0;s=0.0;n=0.0;o=0.0;p=0.0;q=0.0}else{q=+g[i+336>>2];p=+g[i+340>>2];J=+g[i+332>>2];r=+g[i+316>>2];s=+g[i+320>>2];n=+g[i+324>>2];o=G*q-F*p;p=E*p-G*J;q=F*J-E*q}else{q=+g[j+392>>2];p=+g[j+396>>2];J=+g[j+388>>2];r=+g[j+372>>2];s=+g[j+376>>2];n=+g[j+380>>2];o=G*q-F*p;p=E*p-G*J;q=F*J-E*q}r=v-(r+o);u=u-(s+p);t=t-(n+q);v=x*z*t+(y*z*u+w*z*r);J=+g[d+52>>2]-+g[b+12>>2];c[m+4>>2]=c[I>>2];c[m+4+4>>2]=c[I+4>>2];c[m+4+8>>2]=c[I+8>>2];c[m+16>>2]=c[I+16>>2];c[m+16+4>>2]=c[I+16+4>>2];c[m+16+8>>2]=c[I+16+8>>2];d=ui(I)|0;s=A*+g[d+4>>2]+B*+g[d+20>>2]+C*+g[d+36>>2];q=A*+g[d+8>>2]+B*+g[d+24>>2]+C*+g[d+40>>2];g[m+28>>2]=A*+g[d>>2]+B*+g[d+16>>2]+C*+g[d+32>>2];g[m+32>>2]=s;g[m+36>>2]=q;g[m+40>>2]=0.0;d=ui(I+16|0)|0;q=E*+g[d+4>>2]+F*+g[d+20>>2]+G*+g[d+36>>2];s=E*+g[d+8>>2]+F*+g[d+24>>2]+G*+g[d+40>>2];g[m+44>>2]=E*+g[d>>2]+F*+g[d+16>>2]+G*+g[d+32>>2];g[m+48>>2]=q;g[m+52>>2]=s;g[m+56>>2]=0.0;g[m+164>>2]=A;g[m+168>>2]=B;g[m+172>>2]=C;g[m+176>>2]=0.0;g[m+180>>2]=E;g[m+184>>2]=F;g[m+188>>2]=G;g[m+192>>2]=0.0;g[m+60>>2]=1.0;g[m+64>>2]=1.0;c[m+156>>2]=0;c[m+160>>2]=0;g[m+68>>2]=1.0;g[m+72>>2]=w*z*J;g[m+76>>2]=y*z*J;g[m+80>>2]=x*z*J;g[m+84>>2]=0.0;g[m+196>>2]=w*z;g[m+200>>2]=y*z;g[m+204>>2]=x*z;c[m+208>>2]=k;a[m+152>>0]=0;J=+g[b+16>>2];g[m+212>>2]=(t-x*z*v)*(t-x*z*v)+((r-w*z*v)*(r-w*z*v)+(u-y*z*v)*(u-y*z*v))<J*v*v*J?1.0:J;k=c[I+4>>2]|0;if(!k){k=c[I>>2]|0;if(!k)o=0.0;else{k=k+128|0;H=14}}else{k=k+404|0;H=14}if((H|0)==14)o=+g[k>>2];if((a[22432]|0)==0?Uz(22432)|0:0){k=22904;h=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(h|0))}k=c[I+4>>2]|0;if(!k){e=c[I>>2]|0;e=(e|0)==0?22904:e+180|0}else e=k+324|0;k=c[I+16+4>>2]|0;if(!k){k=c[I+16>>2]|0;if(!k)n=0.0;else{k=k+128|0;H=25}}else{k=k+404|0;H=25}if((H|0)==25)n=+g[k>>2];if((a[22432]|0)==0?Uz(22432)|0:0){k=22904;h=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(h|0))}k=c[I+16+4>>2]|0;if(!k){k=c[I+16>>2]|0;k=(k|0)==0?22904:k+180|0}else k=k+324|0;Uh(I+80|0,o,e,+g[m+164>>2],+g[m+168>>2],+g[m+172>>2]);Uh(I+32|0,n,k,+g[m+180>>2],+g[m+184>>2],+g[m+188>>2]);C=+g[I+80>>2]+ +g[I+32>>2];F=+g[I+80+4>>2]+ +g[I+32+4>>2];y=+g[I+80+8>>2]+ +g[I+32+8>>2];G=+g[I+80+16>>2]+ +g[I+32+16>>2];E=+g[I+80+20>>2]+ +g[I+32+20>>2];z=+g[I+80+24>>2]+ +g[I+32+24>>2];A=+g[I+80+32>>2]+ +g[I+32+32>>2];B=+g[I+80+36>>2]+ +g[I+32+36>>2];x=+g[I+80+40>>2]+ +g[I+32+40>>2];J=1.0/(y*(G*B-E*A)+(C*(E*x-z*B)+F*(z*A-G*x)));g[m+104>>2]=(E*x-z*B)*J;g[m+108>>2]=(y*B-F*x)*J;g[m+112>>2]=(F*z-y*E)*J;g[m+116>>2]=0.0;g[m+120>>2]=(z*A-G*x)*J;g[m+124>>2]=(C*x-y*A)*J;g[m+128>>2]=(y*G-C*z)*J;g[m+132>>2]=0.0;g[m+136>>2]=(G*B-E*A)*J;g[m+140>>2]=(F*A-C*B)*J;g[m+144>>2]=(C*E-F*G)*J;g[m+148>>2]=0.0;m=1;l=I;return m|0}function Ad(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0;u=l;l=l+288|0;q=c[b+4>>2]|0;a[q+312>>0]=0;c[q>>2]=0;a[q+356>>0]=1;c[q+292>>2]=1566444395;c[q+296>>2]=1566444395;c[q+300>>2]=1566444395;g[q+304>>2]=0.0;c[q+336>>2]=0;c[q+336+4>>2]=0;c[q+336+8>>2]=0;c[q+336+12>>2]=0;a[q+336+16>>0]=0;a[q+332>>0]=a[q+332>>0]&-16;r=+g[e+48>>2]-+g[d+48>>2]-(+g[h+48>>2]-+g[f+48>>2]);s=+g[e+52>>2]-+g[d+52>>2]-(+g[h+52>>2]-+g[f+52>>2]);t=+g[e+56>>2]-+g[d+56>>2]-(+g[h+56>>2]-+g[f+56>>2]);c[u+216>>2]=9504;g[u+216+36>>2]=999999984306749440.0;a[u+216+40>>0]=0;q=c[b+8>>2]|0;p=c[b+12>>2]|0;o=c[b+4>>2]|0;c[u+136>>2]=9552;c[u+136+4>>2]=0;c[u+136+8>>2]=1065353216;c[u+136+12>>2]=0;g[u+136+16>>2]=0.0;c[u+136+20>>2]=0;c[u+136+24>>2]=o;c[u+136+28>>2]=q;c[u+136+32>>2]=p;c[u+136+36>>2]=c[q+4>>2];c[u+136+40>>2]=c[p+4>>2];g[u+136+44>>2]=+nb[c[(c[q>>2]|0)+48>>2]&15](q);g[u+136+48>>2]=+nb[c[(c[p>>2]|0)+48>>2]&15](p);a[u+136+52>>0]=0;c[u+136+60>>2]=-1;c[u+136+72>>2]=1;c[u+136+76>>2]=1;g[u+128>>2]=999999984306749440.0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];c[u+16>>2]=c[d+16>>2];c[u+16+4>>2]=c[d+16+4>>2];c[u+16+8>>2]=c[d+16+8>>2];c[u+16+12>>2]=c[d+16+12>>2];c[u+32>>2]=c[d+32>>2];c[u+32+4>>2]=c[d+32+4>>2];c[u+32+8>>2]=c[d+32+8>>2];c[u+32+12>>2]=c[d+32+12>>2];c[u+48>>2]=c[d+48>>2];c[u+48+4>>2]=c[d+48+4>>2];c[u+48+8>>2]=c[d+48+8>>2];c[u+48+12>>2]=c[d+48+12>>2];c[u+64>>2]=c[f>>2];c[u+64+4>>2]=c[f+4>>2];c[u+64+8>>2]=c[f+8>>2];c[u+64+12>>2]=c[f+12>>2];c[u+80>>2]=c[f+16>>2];c[u+80+4>>2]=c[f+16+4>>2];c[u+80+8>>2]=c[f+16+8>>2];c[u+80+12>>2]=c[f+16+12>>2];c[u+96>>2]=c[f+32>>2];c[u+96+4>>2]=c[f+32+4>>2];c[u+96+8>>2]=c[f+32+8>>2];c[u+96+12>>2]=c[f+32+12>>2];c[u+112>>2]=c[f+48>>2];c[u+112+4>>2]=c[f+48+4>>2];c[u+112+8>>2]=c[f+48+8>>2];c[u+112+12>>2]=c[f+48+12>>2];Dc(u+136|0,u,u+216|0,0,0);p=(a[u+216+40>>0]|0)==0;q=u+216+20|0;c[u+264>>2]=c[q>>2];c[u+264+4>>2]=c[q+4>>2];c[u+264+8>>2]=c[q+8>>2];c[u+264+12>>2]=c[q+12>>2];if(p){i=0;l=u;return i|0}n=+g[u+216+36>>2];k=+g[u+216+16>>2];b=c[u+216+12>>2]|0;m=c[u+216+8>>2]|0;o=c[u+216+4>>2]|0;do if(n>1.0000000474974513e-03){p=0;k=0.0;while(1){if((p|0)>31){b=0;p=13;break}w=r*(c[j>>2]=o,+g[j>>2]);w=s*(c[j>>2]=m,+g[j>>2])+w;v=k;k=k-n/(t*(c[j>>2]=b,+g[j>>2])+w);if(!(!(k<=v)&(!(k<0.0)&!(k>1.0)))){b=0;p=13;break}Jb[c[c[i>>2]>>2]&31](i,k);w=1.0-k;g[u+48>>2]=w*+g[d+48>>2]+k*+g[e+48>>2];g[u+52>>2]=w*+g[d+52>>2]+k*+g[e+52>>2];g[u+56>>2]=w*+g[d+56>>2]+k*+g[e+56>>2];g[u+112>>2]=w*+g[f+48>>2]+k*+g[h+48>>2];g[u+116>>2]=w*+g[f+52>>2]+k*+g[h+52>>2];g[u+120>>2]=w*+g[f+56>>2]+k*+g[h+56>>2];Dc(u+136|0,u,u+216|0,0,0);if(!(a[u+216+40>>0]|0)){b=0;p=13;break}n=+g[u+216+36>>2];if(n<0.0){p=8;break}c[u+264>>2]=c[q>>2];c[u+264+4>>2]=c[q+4>>2];c[u+264+8>>2]=c[q+8>>2];c[u+264+12>>2]=c[q+12>>2];b=c[u+216+12>>2]|0;m=c[u+216+8>>2]|0;o=c[u+216+4>>2]|0;if(!(n>1.0000000474974513e-03)){p=10;break}else p=p+1|0}if((p|0)==8){g[i+164>>2]=k;e=c[u+216+8>>2]|0;f=c[u+216+12>>2]|0;h=c[u+216+16>>2]|0;c[i+132>>2]=c[u+216+4>>2];c[i+136>>2]=e;c[i+140>>2]=f;c[i+144>>2]=h;c[i+148>>2]=c[q>>2];c[i+148+4>>2]=c[q+4>>2];c[i+148+8>>2]=c[q+8>>2];c[i+148+12>>2]=c[q+12>>2];i=1;l=u;return i|0}else if((p|0)==10){n=k;k=+g[u+216+16>>2];break}else if((p|0)==13){l=u;return b|0}}else n=0.0;while(0);w=r*(c[j>>2]=o,+g[j>>2]);w=s*(c[j>>2]=m,+g[j>>2])+w;if(t*(c[j>>2]=b,+g[j>>2])+w>=-+g[i+172>>2]){i=0;l=u;return i|0}g[i+164>>2]=n;c[i+132>>2]=o;c[i+136>>2]=m;c[i+140>>2]=b;g[i+144>>2]=k;c[i+148>>2]=c[u+264>>2];c[i+148+4>>2]=c[u+264+4>>2];c[i+148+8>>2]=c[u+264+8>>2];c[i+148+12>>2]=c[u+264+12>>2];i=1;l=u;return i|0}function Bd(a,d,f,h,i){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+16|0;c[d+16>>2]=c[f>>2];c[d+16+4>>2]=c[f+4>>2];c[d+16+8>>2]=c[f+8>>2];c[d+16+12>>2]=c[f+12>>2];c[d+32>>2]=c[h>>2];c[d+32+4>>2]=c[h+4>>2];c[d+32+8>>2]=c[h+8>>2];c[d+32+12>>2]=c[h+12>>2];H=c[a+60>>2]|0;I=c[d+12>>2]&65535;q=+g[a+8>>2];s=+g[a+12>>2];x=+g[a+16>>2];r=+g[a+40>>2];k=(+g[f>>2]-q)*r;u=+g[a+44>>2];m=(+g[f+4>>2]-s)*u;y=+g[a+48>>2];o=(+g[f+8>>2]-x)*y;if(!(k<=0.0)){p=b[a+6>>1]|0;p=(!(k>=+(p&65535))?~~k&65535:p)&b[a+4>>1]}else p=0;b[P+6>>1]=p;if(!(m<=0.0)){j=b[a+6>>1]|0;j=(!(m>=+(j&65535))?~~m&65535:j)&b[a+4>>1]}else j=0;b[P+6+2>>1]=j;if(!(o<=0.0)){j=b[a+6>>1]|0;j=(!(o>=+(j&65535))?~~o&65535:j)&b[a+4>>1]}else j=0;b[P+6+4>>1]=j;o=(+g[h>>2]-q)*r;m=(+g[h+4>>2]-s)*u;k=(+g[h+8>>2]-x)*y;if(!(o<=0.0)){n=b[a+6>>1]|0;n=(!(o>=+(n&65535))?~~o&65535:n)&b[a+4>>1]|1}else n=1;b[P>>1]=n;if(!(m<=0.0)){j=b[a+6>>1]|0;j=(!(m>=+(j&65535))?~~m&65535:j)&b[a+4>>1]|1}else j=1;b[P+2>>1]=j;if(!(k<=0.0)){j=b[a+6>>1]|0;j=(!(k>=+(j&65535))?~~k&65535:j)&b[a+4>>1]|1}else j=1;b[P+4>>1]=j;G=0;while(1){D=b[H+(I<<6)+48+(G<<1)>>1]|0;E=b[H+(I<<6)+54+(G<<1)>>1]|0;B=a+68+(G<<2)|0;A=c[B>>2]|0;C=(p&65535)-(e[A+((D&65535)<<2)>>1]|0)|0;F=(n&65535)-(e[A+((E&65535)<<2)>>1]|0)|0;b[A+((D&65535)<<2)>>1]=p;b[A+((E&65535)<<2)>>1]=n;if((C|0)<0)xh(a,G,D);a:do if((F|0)>0?(J=c[B>>2]|0,K=c[a+60>>2]|0,L=e[J+((E&65535)<<2)+2>>1]|0,M=b[J+((E&65535)<<2)+6>>1]|0,M<<16>>16):0){z=1<<G&3;A=K+(L<<6)+54+(G<<1)|0;v=J+((E&65535)<<2)|0;j=M;do{w=v;v=v+4|0;n=b[v>>1]|0;if((e[w>>1]|0)<(n&65535))break a;t=c[a+60>>2]|0;p=j&65535;if(!(n&1)){do if((((e[K+(L<<6)+54+(z<<1)>>1]|0)>=(e[t+(p<<6)+48+(z<<1)>>1]|0)?(e[t+(p<<6)+54+(z<<1)>>1]|0)>=(e[K+(L<<6)+48+(z<<1)>>1]|0):0)?(e[K+(L<<6)+54+((1<<z&3)<<1)>>1]|0)>=(e[t+(p<<6)+48+((1<<z&3)<<1)>>1]|0):0)?(e[t+(p<<6)+54+((1<<z&3)<<1)>>1]|0)>=(e[K+(L<<6)+48+((1<<z&3)<<1)>>1]|0):0){n=c[a+92>>2]|0;j=t+((e[w+2>>1]|0)<<6)|0;Bb[c[(c[n>>2]|0)+8>>2]&63](n,j,t+(p<<6)|0)|0;n=c[a+96>>2]|0;if(!n)break;Bb[c[(c[n>>2]|0)+8>>2]&63](n,j,t+(p<<6)|0)|0}while(0);j=t+(p<<6)+48+(G<<1)|0}else j=t+(p<<6)+54+(G<<1)|0;b[j>>1]=(b[j>>1]|0)+-1<<16>>16;b[A>>1]=(b[A>>1]|0)+1<<16>>16;j=e[w>>1]|e[w+2>>1]<<16;t=e[v>>1]|e[v+2>>1]<<16;b[w>>1]=t;b[w+2>>1]=t>>>16;b[v>>1]=j;b[v+2>>1]=j>>>16;j=b[w+10>>1]|0}while(j<<16>>16!=0)}while(0);b:do if((C|0)>0?(N=c[B>>2]|0,O=b[N+((D&65535)<<2)+6>>1]|0,O<<16>>16):0){z=(c[a+60>>2]|0)+((e[N+((D&65535)<<2)+2>>1]|0)<<6)+48+(G<<1)|0;A=1<<G&3;v=N+((D&65535)<<2)|0;j=O;do{w=v;v=v+4|0;n=b[v>>1]|0;if((e[w>>1]|0)<(n&65535))break b;t=c[a+60>>2]|0;p=j&65535;if(!(n&1))j=t+(p<<6)+48+(G<<1)|0;else{j=e[w+2>>1]|0;do if(((e[t+(j<<6)+54+(A<<1)>>1]|0)>=(e[t+(p<<6)+48+(A<<1)>>1]|0)?(e[t+(p<<6)+54+(A<<1)>>1]|0)>=(e[t+(j<<6)+48+(A<<1)>>1]|0):0)?(e[t+(j<<6)+54+((1<<A&3)<<1)>>1]|0)>=(e[t+(p<<6)+48+((1<<A&3)<<1)>>1]|0):0){if((e[t+(p<<6)+54+((1<<A&3)<<1)>>1]|0)<(e[t+(j<<6)+48+((1<<A&3)<<1)>>1]|0))break;n=c[a+92>>2]|0;Cb[c[(c[n>>2]|0)+12>>2]&31](n,t+(j<<6)|0,t+(p<<6)|0,i)|0;n=c[a+96>>2]|0;if(!n)break;Cb[c[(c[n>>2]|0)+12>>2]&31](n,t+(j<<6)|0,t+(p<<6)|0,i)|0}while(0);j=t+(p<<6)+54+(G<<1)|0}b[j>>1]=(b[j>>1]|0)+-1<<16>>16;b[z>>1]=(b[z>>1]|0)+1<<16>>16;j=e[w>>1]|e[w+2>>1]<<16;D=e[v>>1]|e[v+2>>1]<<16;b[w>>1]=D;b[w+2>>1]=D>>>16;b[v>>1]=j;b[v+2>>1]=j>>>16;j=b[w+10>>1]|0}while(j<<16>>16!=0)}while(0);if((F|0)<0)sh(a,G,E,i);j=G+1|0;if((j|0)==3)break;G=j;p=b[P+6+(j<<1)>>1]|0;n=b[P+(j<<1)>>1]|0}j=c[a+108>>2]|0;if(!j){l=P;return}Zb[c[(c[j>>2]|0)+16>>2]&31](j,c[d+60>>2]|0,f,h,i);l=P;return}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;b=c[7001]|0;d=c[a+-4>>2]|0;j=a+-8+(d&-8)|0;do if(!(d&1)){e=c[a+-8>>2]|0;if(!(d&3))return;h=a+-8+(0-e)|0;g=e+(d&-8)|0;if(h>>>0<b>>>0)return;if((h|0)==(c[7002]|0)){a=c[j+4>>2]|0;if((a&3|0)!=3){i=h;b=g;break}c[6999]=g;c[j+4>>2]=a&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[6997]=c[6997]&~(1<<(e>>>3));i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){a=c[h+16+4>>2]|0;if(!a){a=c[h+16>>2]|0;if(!a){a=0;break}else e=h+16|0}else e=h+16+4|0;while(1){b=a+20|0;d=c[b>>2]|0;if(d|0){a=d;e=b;continue}b=a+16|0;d=c[b>>2]|0;if(!d)break;else{a=d;e=b}}c[e>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;if((h|0)==(c[28292+(b<<2)>>2]|0)){c[28292+(b<<2)>>2]=a;if(!a){c[6998]=c[6998]&~(1<<b);i=h;b=g;break}}else{c[f+16+(((c[f+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=c[h+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[h+16+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=a+-8|0;b=d&-8;h=a+-8|0}while(0);if(h>>>0>=j>>>0)return;d=c[j+4>>2]|0;if(!(d&1))return;if(!(d&2)){a=c[7002]|0;if((j|0)==(c[7003]|0)){j=(c[7e3]|0)+b|0;c[7e3]=j;c[7003]=i;c[i+4>>2]=j|1;if((i|0)!=(a|0))return;c[7002]=0;c[6999]=0;return}if((j|0)==(a|0)){j=(c[6999]|0)+b|0;c[6999]=j;c[7002]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(d&-8)+b|0;do if(d>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[6997]=c[6997]&~(1<<(d>>>3));break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){a=c[j+16+4>>2]|0;if(!a){a=c[j+16>>2]|0;if(!a){b=0;break}else e=j+16|0}else e=j+16+4|0;while(1){b=a+20|0;d=c[b>>2]|0;if(d|0){a=d;e=b;continue}b=a+16|0;d=c[b>>2]|0;if(!d)break;else{a=d;e=b}}c[e>>2]=0;b=a}else{b=c[j+8>>2]|0;c[b+12>>2]=a;c[a+8>>2]=b;b=a}while(0);if(g|0){a=c[j+28>>2]|0;if((j|0)==(c[28292+(a<<2)>>2]|0)){c[28292+(a<<2)>>2]=b;if(!b){c[6998]=c[6998]&~(1<<a);break}}else{c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[j+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[j+16+4>>2]|0;if(a|0){c[b+20>>2]=a;c[a+24>>2]=b}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[7002]|0)){c[6999]=f;return}}else{c[j+4>>2]=d&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}d=f>>>3;if(f>>>0<256){a=c[6997]|0;if(!(a&1<<d)){c[6997]=a|1<<d;a=28028+(d<<1<<2)|0;b=28028+(d<<1<<2)+8|0}else{a=c[28028+(d<<1<<2)+8>>2]|0;b=28028+(d<<1<<2)+8|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=28028+(d<<1<<2);return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{j=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);a=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(j+245760|0)>>>16&2)+(j<<((j+245760|0)>>>16&2)>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=28292+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[6998]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[6998]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[7005]|0)+-1|0;c[7005]=j;if(!j)a=28444;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[7005]=-1;return}function Dd(b){b=b|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;q=l;l=l+192|0;if(!(xb[c[(c[b>>2]|0)+20>>2]&127](b)|0)){l=q;return}i=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Ib[c[(c[i>>2]|0)+100>>2]&511](i);i=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Ob[c[(c[i>>2]|0)+8>>2]&127](q+80|0,i);i=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;if(((xb[c[(c[i>>2]|0)+56>>2]&127](i)|0)&8|0?(e=c[b+24>>2]|0,e|0):0)?(j=xb[c[(c[e>>2]|0)+36>>2]&127](e)|0,(j|0)>0):0){f=0;do{h=c[b+24>>2]|0;h=zb[c[(c[h>>2]|0)+40>>2]&31](h,f)|0;i=c[h+780>>2]|0;if((i|0)>0){e=0;do{r=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Ub[c[(c[r>>2]|0)+40>>2]&0](r,h+4+(e*192|0)+32|0,h+4+(e*192|0)+64|0,+g[h+4+(e*192|0)+80>>2],c[h+4+(e*192|0)+156>>2]|0,q+80+96|0);e=e+1|0}while((e|0)!=(i|0))}f=f+1|0}while((f|0)!=(j|0))}r=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;if((xb[c[(c[r>>2]|0)+56>>2]&127](r)|0)&3|0?(c[b+8>>2]|0)>0:0){h=0;do{e=c[(c[b+16>>2]|0)+(h<<2)>>2]|0;if(!(c[e+204>>2]&32)){if(xb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(r=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(xb[c[(c[r>>2]|0)+56>>2]&127](r)|0)&1|0):0){c[q+64>>2]=1053609165;c[q+64+4>>2]=1053609165;c[q+64+8>>2]=1053609165;g[q+64+12>>2]=0.0;switch(c[e+220>>2]|0){case 1:{c[q+64>>2]=c[q+80>>2];c[q+64+4>>2]=c[q+80+4>>2];c[q+64+8>>2]=c[q+80+8>>2];c[q+64+12>>2]=c[q+80+12>>2];break}case 2:{c[q+64>>2]=c[q+80+16>>2];c[q+64+4>>2]=c[q+80+16+4>>2];c[q+64+8>>2]=c[q+80+16+8>>2];c[q+64+12>>2]=c[q+80+16+12>>2];break}case 3:{c[q+64>>2]=c[q+80+32>>2];c[q+64+4>>2]=c[q+80+32+4>>2];c[q+64+8>>2]=c[q+80+32+8>>2];c[q+64+12>>2]=c[q+80+32+12>>2];break}case 4:{c[q+64>>2]=c[q+80+48>>2];c[q+64+4>>2]=c[q+80+48+4>>2];c[q+64+8>>2]=c[q+80+48+8>>2];c[q+64+12>>2]=c[q+80+48+12>>2];break}case 5:{c[q+64>>2]=c[q+80+64>>2];c[q+64+4>>2]=c[q+80+64+4>>2];c[q+64+8>>2]=c[q+80+64+8>>2];c[q+64+12>>2]=c[q+80+64+12>>2];break}default:{c[q+64>>2]=1050253722;c[q+64+4>>2]=1050253722;c[q+64+8>>2]=1050253722;g[q+64+12>>2]=0.0}}if(c[e+204>>2]&256|0){c[q+64>>2]=c[e+308>>2];c[q+64+4>>2]=c[e+308+4>>2];c[q+64+8>>2]=c[e+308+8>>2];c[q+64+12>>2]=c[e+308+12>>2]}Vb[c[(c[b>>2]|0)+28>>2]&127](b,e+4|0,c[e+192>>2]|0,q+64|0)}f=c[b+72>>2]|0;if(f|0?(xb[c[(c[f>>2]|0)+56>>2]&127](f)|0)&2|0:0){c[q+32>>2]=c[q+80+80>>2];c[q+32+4>>2]=c[q+80+80+4>>2];c[q+32+8>>2]=c[q+80+80+8>>2];c[q+32+12>>2]=c[q+80+80+12>>2];r=c[e+192>>2]|0;Vb[c[(c[r>>2]|0)+8>>2]&127](r,e+4|0,q+64|0,q+48|0);g[q+64>>2]=+g[q+64>>2]+-.019999999552965164;g[q+64+4>>2]=+g[q+64+4>>2]+-.019999999552965164;g[q+64+8>>2]=+g[q+64+8>>2]+-.019999999552965164;g[q+48>>2]=+g[q+48>>2]+.019999999552965164;g[q+48+4>>2]=+g[q+48+4>>2]+.019999999552965164;g[q+48+8>>2]=+g[q+48+8>>2]+.019999999552965164;do if((a[b+44>>0]|0?(c[e+252>>2]|0)==2:0)?(c[e+204>>2]&3|0)==0:0){r=c[e+192>>2]|0;Vb[c[(c[r>>2]|0)+8>>2]&127](r,e+68|0,q+16|0,q);d=+g[q+16>>2]+-.019999999552965164;g[q+16>>2]=d;k=+g[q+16+4>>2]+-.019999999552965164;g[q+16+4>>2]=k;m=+g[q+16+8>>2]+-.019999999552965164;g[q+16+8>>2]=m;n=+g[q>>2]+.019999999552965164;g[q>>2]=n;o=+g[q+4>>2]+.019999999552965164;g[q+4>>2]=o;p=+g[q+8>>2]+.019999999552965164;g[q+8>>2]=p;if(d<+g[q+64>>2])g[q+64>>2]=d;if(k<+g[q+64+4>>2])g[q+64+4>>2]=k;if(m<+g[q+64+8>>2])g[q+64+8>>2]=m;d=+g[q+16+12>>2];if(d<+g[q+64+12>>2])g[q+64+12>>2]=d;if(+g[q+48>>2]<n)g[q+48>>2]=n;if(+g[q+48+4>>2]<o)g[q+48+4>>2]=o;if(+g[q+48+8>>2]<p)g[q+48+8>>2]=p;d=+g[q+12>>2];if(!(+g[q+48+12>>2]<d))break;g[q+48+12>>2]=d}while(0);r=c[b+72>>2]|0;Vb[c[(c[r>>2]|0)+60>>2]&127](r,q+64|0,q+48|0,q+32|0)}}h=h+1|0}while((h|0)<(c[b+8>>2]|0))}l=q;return}function Ed(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+32|0;g=xb[c[(c[d>>2]|0)+28>>2]&127](d)|0;c[e+20>>2]=g;c[e>>2]=0;if(!g){s=e+24|0;c[s>>2]=0;s=d+4|0;f=e+4|0;s=c[s>>2]|0;c[f>>2]=s;f=d+8|0;f=c[f>>2]|0;s=e+8|0;c[s>>2]=f;s=d+12|0;s=c[s>>2]|0;f=e+12|0;c[f>>2]=s;d=d+16|0;d=c[d>>2]|0;f=e+16|0;c[f>>2]=d;l=t;return 19256}s=Bb[c[(c[f>>2]|0)+16>>2]&63](f,32,g)|0;g=c[s+8>>2]|0;c[e>>2]=zb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;r=xb[c[(c[d>>2]|0)+28>>2]&127](d)|0;a:do if((r|0)>0){q=0;while(1){cc[c[(c[d>>2]|0)+16>>2]&3](d,t+28|0,t+4|0,t+16|0,t+8|0,t+24|0,t+20|0,t,t+12|0,q);i=c[t>>2]|0;c[g+24>>2]=i;c[g+28>>2]=c[t+4>>2];j=g+12|0;m=g+16|0;p=g+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;switch(c[t+12>>2]|0){case 2:{if(i|0){j=Bb[c[(c[f>>2]|0)+16>>2]&63](f,4,i*3|0)|0;k=c[j+8>>2]|0;c[g+8>>2]=zb[c[(c[f>>2]|0)+28>>2]&31](f,k)|0;if((c[t>>2]|0)>0){m=c[t+24>>2]|0;i=0;do{n=m+(P(c[t+20>>2]|0,i)|0)|0;o=i*3|0;c[k+(o<<2)>>2]=c[n>>2];c[k+(o+1<<2)>>2]=c[n+4>>2];c[k+(o+2<<2)>>2]=c[n+8>>2];i=i+1|0}while((i|0)<(c[t>>2]|0))}Zb[c[(c[f>>2]|0)+20>>2]&31](f,j,19137,1497453121,c[j+8>>2]|0)}break}case 3:{if(i|0){n=Bb[c[(c[f>>2]|0)+16>>2]&63](f,8,i)|0;o=c[n+8>>2]|0;c[j>>2]=zb[c[(c[f>>2]|0)+28>>2]&31](f,o)|0;j=c[t>>2]|0;if((j|0)>0){k=c[t+24>>2]|0;m=c[t+20>>2]|0;i=0;do{u=k+(P(m,i)|0)|0;b[o+(i<<3)>>1]=b[u>>1]|0;b[o+(i<<3)+2>>1]=b[u+2>>1]|0;b[o+(i<<3)+4>>1]=b[u+4>>1]|0;a[o+(i<<3)+6>>0]=0;a[o+(i<<3)+7>>0]=0;i=i+1|0}while((i|0)!=(j|0))}Zb[c[(c[f>>2]|0)+20>>2]&31](f,n,19152,1497453121,c[n+8>>2]|0)}break}case 5:{if(i|0){j=Bb[c[(c[f>>2]|0)+16>>2]&63](f,4,i)|0;k=c[j+8>>2]|0;c[m>>2]=zb[c[(c[f>>2]|0)+28>>2]&31](f,k)|0;if((c[t>>2]|0)>0){i=0;do{u=(c[t+24>>2]|0)+(P(c[t+20>>2]|0,i)|0)|0;a[k+(i<<2)>>0]=a[u>>0]|0;a[k+(i<<2)+1>>0]=a[u+1>>0]|0;a[k+(i<<2)+2>>0]=a[u+2>>0]|0;a[k+(i<<2)+3>>0]=0;i=i+1|0}while((i|0)<(c[t>>2]|0))}Zb[c[(c[f>>2]|0)+20>>2]&31](f,j,19179,1497453121,c[j+8>>2]|0)}break}default:{}}switch(c[t+16>>2]|0){case 0:{i=c[t+4>>2]|0;if(i|0){j=Bb[c[(c[f>>2]|0)+16>>2]&63](f,16,i)|0;k=c[j+8>>2]|0;c[g>>2]=zb[c[(c[f>>2]|0)+28>>2]&31](f,k)|0;m=c[t+4>>2]|0;if((m|0)>0){n=c[t+28>>2]|0;o=c[t+8>>2]|0;i=0;do{u=n+(P(o,i)|0)|0;c[k+(i<<4)>>2]=c[u>>2];c[k+(i<<4)+4>>2]=c[u+4>>2];c[k+(i<<4)+8>>2]=c[u+8>>2];i=i+1|0}while((i|0)!=(m|0))}Zb[c[(c[f>>2]|0)+20>>2]&31](f,j,19202,1497453121,c[j+8>>2]|0)}break}case 1:{i=c[t+4>>2]|0;if(i|0){n=Bb[c[(c[f>>2]|0)+16>>2]&63](f,32,i)|0;o=c[n+8>>2]|0;c[p>>2]=zb[c[(c[f>>2]|0)+28>>2]&31](f,o)|0;j=c[t+4>>2]|0;if((j|0)>0){k=c[t+28>>2]|0;m=c[t+8>>2]|0;i=0;do{u=k+(P(m,i)|0)|0;h[o+(i<<5)>>3]=+h[u>>3];h[o+(i<<5)+8>>3]=+h[u+8>>3];h[o+(i<<5)+16>>3]=+h[u+16>>3];i=i+1|0}while((i|0)!=(j|0))}Zb[c[(c[f>>2]|0)+20>>2]&31](f,n,19221,1497453121,c[n+8>>2]|0)}break}default:{}}Ob[c[(c[d>>2]|0)+24>>2]&127](d,q);q=q+1|0;if((q|0)==(r|0)){g=f;break a}else g=g+32|0}}else g=f;while(0);Zb[c[(c[g>>2]|0)+20>>2]&31](f,s,19241,1497453121,c[s+8>>2]|0);u=e+24|0;c[u>>2]=0;u=d+4|0;f=e+4|0;u=c[u>>2]|0;c[f>>2]=u;f=d+8|0;f=c[f>>2]|0;u=e+8|0;c[u>>2]=f;u=d+12|0;u=c[u>>2]|0;f=e+12|0;c[f>>2]=u;f=d+16|0;f=c[f>>2]|0;u=e+16|0;c[u>>2]=f;l=t;return 19256}function Fd(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;j=c[d+8>>2]|0;if(!j){h=0;return h|0}i=0;D=j;do{if((c[D+20>>2]|0)>(c[a+100>>2]|0)){B=c[D+12>>2]|0;w=c[B+88>>2]|0;x=w-(c[d+88>>2]|0)|0;y=c[B+92>>2]|0;z=y-(c[d+92>>2]|0)|0;B=c[B+96>>2]|0;C=B-(c[d+96>>2]|0)|0;k=ct(c[g>>2]|0,c[g+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;o=A;j=ct(c[g+8>>2]|0,c[g+8+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;o=Ow(j|0,A|0,k|0,o|0)|0;k=A;j=ct(c[g+16>>2]|0,c[g+16+4>>2]|0,C|0,((C|0)<0)<<31>>31|0)|0;j=Ow(o|0,k|0,j|0,A|0)|0;k=A;o=ct(c[f>>2]|0,c[f+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;v=A;n=ct(c[f+8>>2]|0,c[f+8+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;v=Ow(n|0,A|0,o|0,v|0)|0;o=A;n=ct(c[f+16>>2]|0,c[f+16+4>>2]|0,C|0,((C|0)<0)<<31>>31|0)|0;n=Ow(v|0,o|0,n|0,A|0)|0;o=A;if((k|0)>0|(k|0)==0&j>>>0>0){l=1;v=j}else{v=sw(0,0,j|0,k|0)|0;l=((j|0)!=0|(k|0)!=0)<<31>>31;v=(j|0)!=0|(k|0)!=0?v:0;k=(j|0)!=0|(k|0)!=0?A:0}if(!((o|0)>0|(o|0)==0&n>>>0>0)){j=sw(0,0,n|0,o|0)|0;j=(n|0)!=0|(o|0)!=0?j:0;m=(n|0)!=0|(o|0)!=0?A:0;if((j|0)!=0|(m|0)!=0|(l|0)!=0){l=(n|0)!=0|(o|0)!=0?0-l|0:l;n=j;p=8}}else{m=o;p=8}a:do if((p|0)==8){p=0;if(!i){c[h>>2]=v;c[h+4>>2]=k;c[h+8>>2]=n;c[h+8+4>>2]=m;c[h+16>>2]=l;i=D;break}j=c[h+16>>2]|0;if((l|0)==(j|0)){if(l|0){p=c[h+8>>2]|0;s=c[h+8+4>>2]|0;o=ct(p|0,0,v|0,0)|0;j=A;t=ct(s|0,0,v|0,0)|0;r=A;p=ct(p|0,0,k|0,0)|0;q=A;s=ct(s|0,0,k|0,0)|0;G=A;p=Ow(t|0,0,p|0,0)|0;t=A;G=Ow(r|0,0,s|0,G|0)|0;q=Ow(G|0,A|0,q|0,0)|0;t=Ow(q|0,A|0,t|0,0)|0;q=A;j=Ow(0,p|0,o|0,j|0)|0;o=A;p=Ow(t|0,q|0,(o>>>0<p>>>0|(o|0)==(p|0)&j>>>0<0)&1|0,0)|0;q=A;t=c[h>>2]|0;G=c[h+4>>2]|0;s=ct(t|0,0,n|0,0)|0;r=A;E=ct(G|0,0,n|0,0)|0;H=A;t=ct(t|0,0,m|0,0)|0;u=A;G=ct(G|0,0,m|0,0)|0;F=A;t=Ow(E|0,0,t|0,0)|0;E=A;F=Ow(H|0,0,G|0,F|0)|0;u=Ow(F|0,A|0,u|0,0)|0;E=Ow(u|0,A|0,E|0,0)|0;u=A;r=Ow(0,t|0,s|0,r|0)|0;s=A;t=Ow(E|0,u|0,(s>>>0<t>>>0|(s|0)==(t|0)&r>>>0<0)&1|0,0)|0;u=A;if(!(q>>>0<u>>>0|(q|0)==(u|0)&p>>>0<t>>>0))if(q>>>0>u>>>0|(q|0)==(u|0)&p>>>0>t>>>0)j=1;else j=o>>>0<s>>>0|(o|0)==(s|0)&j>>>0<r>>>0?-1:(o>>>0>s>>>0|(o|0)==(s|0)&j>>>0>r>>>0)&1;else j=-1;j=P(j,l)|0;p=17}}else{j=l-j|0;p=17}do if((p|0)==17){p=0;if((j|0)>=0)if(!j)break;else break a;else{c[h>>2]=v;c[h+4>>2]=k;c[h+8>>2]=n;c[h+8+4>>2]=m;c[h+16>>2]=l;i=D;break a}}while(0);j=(c[i+4>>2]|0)==(D|0);if((c[i>>2]|0)==(D|0))if(j){H=c[e+8>>2]|0;E=P(H,z)|0;u=c[e+4>>2]|0;E=E-(P(u,C)|0)|0;G=c[e>>2]|0;H=(P(G,C)|0)-(P(H,x)|0)|0;G=(P(u,x)|0)-(P(G,z)|0)|0;u=c[i+12>>2]|0;j=c[(c[D+8>>2]|0)+12>>2]|0;z=c[j+88>>2]|0;x=(c[u+88>>2]|0)-z|0;v=c[j+92>>2]|0;C=(c[u+92>>2]|0)-v|0;j=c[j+96>>2]|0;u=(c[u+96>>2]|0)-j|0;F=(P(B-j|0,C)|0)-(P(y-v|0,u)|0)|0;j=(P(w-z|0,u)|0)-(P(B-j|0,x)|0)|0;C=(P(y-v|0,x)|0)-(P(w-z|0,C)|0)|0;E=ct(F|0,((F|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;F=A;H=ct(j|0,((j|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;j=A;G=ct(C|0,((C|0)<0)<<31>>31|0,G|0,((G|0)<0)<<31>>31|0)|0;G=Ow(E|0,F|0,G|0,A|0)|0;j=Ow(G|0,A|0,H|0,j|0)|0;H=A;j=(H|0)>0|(H|0)==0&j>>>0>0?2:1}else j=2;else j=j&1;i=(j|0)==2^b?i:D}while(0);j=c[d+8>>2]|0}D=c[D>>2]|0}while((D|0)!=(j|0));return i|0}function Gd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0;v=l;l=l+544|0;j=h;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[v+384>>2]=a;c[v+384+4>>2]=d;o=+g[e>>2];F=+g[b>>2];n=+g[e+16>>2];i=+g[b+16>>2];m=+g[e+32>>2];G=+g[b+32>>2];w=+g[b+4>>2];H=+g[b+20>>2];x=+g[b+36>>2];t=+g[b+8>>2];r=+g[b+24>>2];p=+g[b+40>>2];E=+g[e+4>>2];C=+g[e+20>>2];B=+g[e+36>>2];A=+g[e+8>>2];z=+g[e+24>>2];y=+g[e+40>>2];g[v+384+8>>2]=o*F+n*i+m*G;g[v+384+12>>2]=o*w+n*H+m*x;g[v+384+16>>2]=o*t+n*r+m*p;g[v+384+20>>2]=0.0;g[v+384+24>>2]=F*E+i*C+G*B;g[v+384+28>>2]=w*E+H*C+x*B;g[v+384+32>>2]=t*E+r*C+p*B;g[v+384+36>>2]=0.0;g[v+384+40>>2]=F*A+i*z+G*y;g[v+384+44>>2]=w*A+H*z+x*y;g[v+384+48>>2]=t*A+r*z+p*y;g[v+384+52>>2]=0.0;p=+g[e+48>>2]-+g[b+48>>2];r=+g[e+52>>2]-+g[b+52>>2];t=+g[e+56>>2]-+g[b+56>>2];x=+g[b>>2];H=+g[e>>2];w=+g[b+16>>2];G=+g[e+16>>2];i=+g[b+32>>2];F=+g[e+32>>2];m=+g[b+4>>2];n=+g[b+20>>2];o=+g[b+36>>2];q=+g[b+8>>2];s=+g[b+24>>2];u=+g[b+40>>2];g[v+384+56>>2]=x*H+w*G+i*F;g[v+384+60>>2]=x*E+w*C+i*B;g[v+384+64>>2]=x*A+w*z+i*y;g[v+384+68>>2]=0.0;g[v+384+72>>2]=H*m+G*n+F*o;g[v+384+76>>2]=E*m+C*n+B*o;g[v+384+80>>2]=A*m+z*n+y*o;g[v+384+84>>2]=0.0;g[v+384+88>>2]=H*q+G*s+F*u;g[v+384+92>>2]=E*q+C*s+B*u;g[v+384+96>>2]=A*q+z*s+y*u;g[v+384+100>>2]=0.0;g[v+384+104>>2]=p*x+r*w+t*i;g[v+384+108>>2]=p*m+r*n+t*o;g[v+384+112>>2]=p*q+r*s+t*u;g[v+384+116>>2]=0.0;c[v+384+120>>2]=80;c[v+384+124>>2]=0;c[v+364>>2]=0;c[v+128>>2]=0;c[v+128+4>>2]=0;c[v+128+8>>2]=0;c[v+128+12>>2]=0;c[v+376>>2]=2;c[v+368>>2]=0;g[v+144>>2]=0.0;a=Jc(v,v+384|0,f)|0;if(a|0){c[h>>2]=(a|0)==1?1:2;h=0;l=v;return h|0}a=c[v+372>>2]|0;if(!(c[a+32>>2]|0)){q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;i=0.0}else{f=0;o=0.0;p=0.0;q=0.0;i=0.0;m=0.0;n=0.0;do{u=+g[a+16+(f<<2)>>2];d=c[v+384+120>>2]|0;k=c[v+384+124>>2]|0;e=(c[v+384>>2]|0)+(k>>1)|0;if(k&1)d=c[(c[e>>2]|0)+d>>2]|0;Sb[d&127](v+528|0,e,c[a+(f<<2)>>2]|0);o=o+u*+g[v+528>>2];p=p+u*+g[v+528+4>>2];q=q+u*+g[v+528+8>>2];a=c[(c[v+372>>2]|0)+(f<<2)>>2]|0;r=-+g[a>>2];s=-+g[a+4>>2];t=-+g[a+8>>2];a=c[v+384+120>>2]|0;k=c[v+384+124>>2]|0;d=(c[v+384+4>>2]|0)+(k>>1)|0;if(k&1)a=c[(c[d>>2]|0)+a>>2]|0;G=+g[v+384+24>>2]*r+ +g[v+384+28>>2]*s+ +g[v+384+32>>2]*t;F=+g[v+384+40>>2]*r+ +g[v+384+44>>2]*s+ +g[v+384+48>>2]*t;g[v+512>>2]=+g[v+384+8>>2]*r+ +g[v+384+12>>2]*s+ +g[v+384+16>>2]*t;g[v+512+4>>2]=G;g[v+512+8>>2]=F;g[v+512+12>>2]=0.0;Sb[a&127](v+528|0,d,v+512|0);F=+g[v+528>>2];G=+g[v+528+4>>2];H=+g[v+528+8>>2];i=i+u*(F*+g[v+384+56>>2]+G*+g[v+384+60>>2]+H*+g[v+384+64>>2]+ +g[v+384+104>>2]);m=m+u*(F*+g[v+384+72>>2]+G*+g[v+384+76>>2]+H*+g[v+384+80>>2]+ +g[v+384+108>>2]);n=n+u*(F*+g[v+384+88>>2]+G*+g[v+384+92>>2]+H*+g[v+384+96>>2]+ +g[v+384+112>>2]);f=f+1|0;a=c[v+372>>2]|0}while(f>>>0<(c[a+32>>2]|0)>>>0)}E=o*+g[b+16>>2]+p*+g[b+20>>2]+q*+g[b+24>>2]+ +g[b+52>>2];F=o*+g[b+32>>2]+p*+g[b+36>>2]+q*+g[b+40>>2]+ +g[b+56>>2];g[h+4>>2]=o*+g[b>>2]+p*+g[b+4>>2]+q*+g[b+8>>2]+ +g[b+48>>2];g[h+8>>2]=E;g[h+12>>2]=F;g[h+16>>2]=0.0;F=i*+g[b+16>>2]+m*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];E=i*+g[b+32>>2]+m*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[h+20>>2]=i*+g[b>>2]+m*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[h+24>>2]=F;g[h+28>>2]=E;g[h+32>>2]=0.0;E=o-i;F=p-m;H=q-n;g[h+48>>2]=0.0;G=+D(+(E*E+F*F+H*H));g[h+52>>2]=G;G=G>9.999999747378752e-05?1.0/G:1.0;g[h+36>>2]=G*E;g[h+40>>2]=G*F;g[h+44>>2]=G*H;h=1;l=v;return h|0}function Hd(b,d,e,f,h,i,j,k,l,m,n,o,p){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;B=P(c[l+24>>2]|0,m)|0;y=(a[d+44>>0]|0)!=0;A=c[d+56>>2]|0;if(!(y|(A|0)!=0)){d=0;return d|0}C=c[(o|0?l+12|0:l+8|0)>>2]|0;m=c[(o|0?l+20|0:l+16|0)>>2]|0;c[C+(B<<2)>>2]=c[n>>2];c[C+(B+1<<2)>>2]=c[n+4>>2];c[C+(B+2<<2)>>2]=c[n+8>>2];g[m+(B<<2)>>2]=-+g[n>>2];g[m+(B+1<<2)>>2]=-+g[n+4>>2];g[m+(B+2<<2)>>2]=-+g[n+8>>2];if(!o){q=+g[b+1176>>2];if(!(a[b+1301>>0]|0)){q=q-+g[e+48>>2];r=+g[b+1180>>2]-+g[e+52>>2];w=+g[b+1184>>2]-+g[e+56>>2];u=+g[n+8>>2];v=+g[n+4>>2];x=+g[n>>2];m=c[l+12>>2]|0;g[m+(B<<2)>>2]=r*u-w*v;g[m+(B+1<<2)>>2]=w*x-q*u;g[m+(B+2<<2)>>2]=q*v-r*x;x=+g[b+1176>>2]-+g[f+48>>2];r=+g[b+1180>>2]-+g[f+52>>2];v=+g[b+1184>>2]-+g[f+56>>2];q=+g[n+8>>2];u=+g[n+4>>2];w=+g[n>>2];m=c[l+20>>2]|0;g[m+(B<<2)>>2]=-(r*q-v*u);r=x*u-r*w;e=m;q=-(v*w-x*q)}else{I=q-+g[f+48>>2];H=+g[b+1180>>2]-+g[f+52>>2];F=+g[b+1184>>2]-+g[f+56>>2];r=+g[n>>2];G=+g[n+4>>2];E=+g[n+8>>2];K=+g[b+1112>>2]-+g[e+48>>2];q=+g[b+1116>>2]-+g[e+52>>2];s=+g[b+1120>>2]-+g[e+56>>2];u=+g[d+52>>2]-+g[d+48>>2];J=r*(r*K+G*q+E*s)+r*u-r*(I*r+H*G+F*E);D=G*(r*K+G*q+E*s)+G*u-G*(I*r+H*G+F*E);u=E*(r*K+G*q+E*s)+E*u-E*(I*r+H*G+F*E);w=+g[b+1272>>2];x=+g[b+1276>>2];t=E*(q-G*(r*K+G*q+E*s)+w*D)-G*(s-E*(r*K+G*q+E*s)+w*u);v=r*(s-E*(r*K+G*q+E*s)+w*u)-E*(K-r*(r*K+G*q+E*s)+w*J);s=G*(K-r*(r*K+G*q+E*s)+w*J)-r*(q-G*(r*K+G*q+E*s)+w*D);q=(H-G*(I*r+H*G+F*E)-x*D)*E-(F-E*(I*r+H*G+F*E)-x*u)*G;u=(F-E*(I*r+H*G+F*E)-x*u)*r-(I-r*(I*r+H*G+F*E)-x*J)*E;r=(I-r*(I*r+H*G+F*E)-x*J)*G-(H-G*(I*r+H*G+F*E)-x*D)*r;if(!((p|0)!=0|(a[b+1280>>0]|0)==0)){t=w*t;v=w*v;s=w*s;q=x*q;u=x*u;r=x*r}m=(c[l+12>>2]|0)+(B<<2)|0;g[m>>2]=t;g[m+4>>2]=v;g[m+8>>2]=s;m=c[l+20>>2]|0;g[m+(B<<2)>>2]=-q;e=m;q=-u}g[m+(B+1<<2)>>2]=q;g[e+(B+2<<2)>>2]=-r}if(A|0?+g[d>>2]==+g[d+4>>2]:0){m=c[l+28>>2]|0;g[m+(B<<2)>>2]=0.0;q=0.0}else z=12;do if((z|0)==12){e=c[l+28>>2]|0;g[e+(B<<2)>>2]=0.0;if(!y){if(A|0){m=e;q=0.0;break}else m=1;return m|0}c[(c[l+32>>2]|0)+(B<<2)>>2]=c[d+28>>2];if(A|0){m=e;q=+g[e+(B<<2)>>2];break}v=+g[d+8>>2];q=o|0?v:-v;r=+g[d+52>>2];s=+g[d>>2];t=+g[d+4>>2];u=+g[l>>2]*+g[d+32>>2];do if(!(s>t))if(!(s==t)){if(q/u<0.0)if(r>=s?s-q/u>r:0){q=(s-r)/(q/u);break}else{q=r<s?0.0:1.0;break}if(q/u>0.0)if(r<=t?t-q/u<r:0){q=(t-r)/(q/u);break}else{q=r>t?0.0:1.0;break}else q=0.0}else q=0.0;else q=1.0;while(0);g[e+(B<<2)>>2]=q*v+ +g[e+(B<<2)>>2];g[(c[l+36>>2]|0)+(B<<2)>>2]=-+g[d+12>>2];c[(c[l+40>>2]|0)+(B<<2)>>2]=c[d+12>>2];C=1;return C|0}while(0);K=+g[l>>2]*+g[d+32>>2];f=m+(B<<2)|0;g[f>>2]=q+ +g[d+48>>2]*(o|0?-K:K);c[(c[l+32>>2]|0)+(B<<2)>>2]=c[d+36>>2];e=c[l+36>>2]|0;m=c[l+40>>2]|0;if(+g[d>>2]==+g[d+4>>2]){g[e+(B<<2)>>2]=-3402823466385288598117041.0e14;g[m+(B<<2)>>2]=3402823466385288598117041.0e14;C=1;return C|0}g[e+(B<<2)>>2]=(A|0)==1?0.0:-3402823466385288598117041.0e14;g[m+(B<<2)>>2]=(A|0)==1?3402823466385288598117041.0e14:0.0;r=+g[d+40>>2];if(!(r>0.0)){C=1;return C|0}d=o|0?j:h;C=o|0?k:i;J=+g[n>>2];K=+g[n+4>>2];q=+g[n+8>>2];q=+g[d>>2]*J+ +g[d+4>>2]*K+ +g[d+8>>2]*q-(J*+g[C>>2]+K*+g[C+4>>2]+q*+g[C+8>>2]);if((A|0)==1){if(!(q<0.0)){C=1;return C|0}if(!(+g[f>>2]<-(r*q))){C=1;return C|0}g[f>>2]=-(r*q);C=1;return C|0}else{if(!(q>0.0)){C=1;return C|0}if(!(+g[f>>2]>-(r*q))){C=1;return C|0}g[f>>2]=-(r*q);C=1;return C|0}return 0}function Id(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;n=l;l=l+16|0;c[b+252>>2]=2;c[b+372>>2]=0;c[b+372+4>>2]=0;c[b+372+8>>2]=0;c[b+372+12>>2]=0;c[b+372+16>>2]=0;c[b+372+20>>2]=0;c[b+372+24>>2]=0;c[b+372+28>>2]=0;c[b+604>>2]=1065353216;c[b+608>>2]=1065353216;c[b+612>>2]=1065353216;g[b+616>>2]=0.0;c[b+408>>2]=1065353216;c[b+412>>2]=1065353216;c[b+416>>2]=1065353216;e=b+420|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+472>>2]=0;c[b+472+4>>2]=0;c[b+472+8>>2]=0;c[b+472+12>>2]=0;c[b+472+16>>2]=0;c[b+472+20>>2]=0;c[b+472+24>>2]=0;c[b+472+28>>2]=0;f=+g[d+92>>2];m=+g[d+96>>2];g[n+12>>2]=f;g[n+8>>2]=m;g[n+4>>2]=0.0;g[n>>2]=1.0;c[b+504>>2]=c[(f<0.0?n+4|0:f>1.0?n:n+12|0)>>2];g[n+4>>2]=0.0;g[n>>2]=1.0;c[b+508>>2]=c[(m<0.0?n+4|0:m>1.0?n:n+8|0)>>2];c[b+532>>2]=c[d+116>>2];c[b+536>>2]=c[d+120>>2];e=c[d+4>>2]|0;c[b+540>>2]=e;c[b+668>>2]=0;c[b+672>>2]=0;a[b+512>>0]=a[d+124>>0]|0;c[b+516>>2]=c[d+128>>2];c[b+520>>2]=c[d+132>>2];c[b+524>>2]=c[d+136>>2];c[b+528>>2]=c[d+140>>2];if(!e){c[b+4>>2]=c[d+8>>2];c[b+4+4>>2]=c[d+8+4>>2];c[b+4+8>>2]=c[d+8+8>>2];c[b+4+12>>2]=c[d+8+12>>2];c[b+20>>2]=c[d+24>>2];c[b+20+4>>2]=c[d+24+4>>2];c[b+20+8>>2]=c[d+24+8>>2];c[b+20+12>>2]=c[d+24+12>>2];c[b+36>>2]=c[d+40>>2];c[b+36+4>>2]=c[d+40+4>>2];c[b+36+8>>2]=c[d+40+8>>2];c[b+36+12>>2]=c[d+40+12>>2];c[b+52>>2]=c[d+56>>2];c[b+52+4>>2]=c[d+56+4>>2];c[b+52+8>>2]=c[d+56+8>>2];c[b+52+12>>2]=c[d+56+12>>2];e=b+20|0;h=b+36|0;i=b+52|0;k=b+4|0}else{Ob[c[(c[e>>2]|0)+8>>2]&127](e,b+4|0);e=b+20|0;h=b+36|0;i=b+52|0;k=b+4|0}c[b+68>>2]=c[k>>2];c[b+68+4>>2]=c[k+4>>2];c[b+68+8>>2]=c[k+8>>2];c[b+68+12>>2]=c[k+12>>2];c[b+84>>2]=c[e>>2];c[b+84+4>>2]=c[e+4>>2];c[b+84+8>>2]=c[e+8>>2];c[b+84+12>>2]=c[e+12>>2];c[b+100>>2]=c[h>>2];c[b+100+4>>2]=c[h+4>>2];c[b+100+8>>2]=c[h+8>>2];c[b+100+12>>2]=c[h+12>>2];c[b+116>>2]=c[i>>2];c[b+116+4>>2]=c[i+4>>2];c[b+116+8>>2]=c[i+8>>2];c[b+116+12>>2]=c[i+12>>2];c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+28>>2]=0;c[b+228>>2]=c[d+100>>2];c[b+236>>2]=c[d+104>>2];c[b+240>>2]=c[d+108>>2];c[b+232>>2]=c[d+112>>2];Ob[c[(c[b>>2]|0)+8>>2]&127](b,c[d+72>>2]|0);e=c[5786]|0;c[5786]=e+1;c[b+568>>2]=e;f=+g[d>>2];e=c[b+204>>2]|0;if(f==0.0){c[b+204>>2]=e|1;m=0.0}else{c[b+204>>2]=e&-2;m=1.0/f}g[b+404>>2]=m;p=f*+g[b+444>>2];o=f*+g[b+448>>2];g[b+424>>2]=f*+g[b+440>>2];g[b+428>>2]=p;g[b+432>>2]=o;g[b+436>>2]=0.0;f=+g[d+76>>2];h=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;f=+g[d+80>>2];e=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;f=+g[d+84>>2];d=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;c[b+456>>2]=h;c[b+460>>2]=e;c[b+464>>2]=d;g[b+468>>2]=0.0;r=m*+g[b+412>>2];x=m*+g[b+416>>2];g[b+620>>2]=m*+g[b+408>>2];g[b+624>>2]=r;g[b+628>>2]=x;g[b+632>>2]=0.0;x=+g[b+4>>2];r=(c[j>>2]=h,+g[j>>2]);w=+g[b+8>>2];f=(c[j>>2]=e,+g[j>>2]);v=+g[b+12>>2];o=(c[j>>2]=d,+g[j>>2]);u=+g[b+20>>2];t=+g[b+24>>2];s=+g[b+28>>2];q=+g[b+36>>2];p=+g[b+40>>2];m=+g[b+44>>2];g[b+324>>2]=x*x*r+w*w*f+v*v*o;g[b+328>>2]=x*r*u+w*f*t+v*o*s;g[b+332>>2]=x*r*q+w*f*p+v*o*m;g[b+336>>2]=0.0;g[b+340>>2]=x*r*u+w*f*t+v*o*s;g[b+344>>2]=u*r*u+t*f*t+s*o*s;g[b+348>>2]=r*u*q+f*t*p+o*s*m;g[b+352>>2]=0.0;g[b+356>>2]=x*r*q+w*f*p+v*o*m;g[b+360>>2]=u*r*q+t*f*p+s*o*m;g[b+364>>2]=q*r*q+p*f*p+m*o*m;g[b+368>>2]=0.0;c[b+564>>2]=8;c[b+572>>2]=0;c[b+572+4>>2]=0;c[b+572+8>>2]=0;c[b+572+12>>2]=0;c[b+572+16>>2]=0;c[b+572+20>>2]=0;c[b+572+24>>2]=0;c[b+572+28>>2]=0;m=+g[b+404>>2];o=m*+g[b+412>>2];p=m*+g[b+416>>2];g[b+620>>2]=+g[b+408>>2]*m;g[b+624>>2]=o;g[b+628>>2]=p;e=b+632|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));l=n;return}function Jd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0;h=l;l=l+240|0;if(!(c[b+16>>2]|0)){K=c[b+12>>2]|0;b=c[b+20>>2]|0;x=+g[d>>2];q=+g[d+4>>2];u=+g[d+8>>2];j=+g[d+16>>2];r=+g[d+20>>2];i=+g[d+24>>2];m=+g[d+32>>2];s=+g[d+36>>2];n=+g[d+40>>2];F=+g[d+48>>2];E=+g[d+52>>2];D=+g[d+56>>2];J=+g[e>>2];I=+g[e+16>>2];z=+g[e+32>>2];H=+g[e+4>>2];G=+g[e+20>>2];y=+g[e+36>>2];v=+g[e+8>>2];k=+g[e+24>>2];p=+g[e+40>>2];C=-+g[e+48>>2];B=-+g[e+52>>2];w=-+g[e+56>>2];d=c[(c[K>>2]|0)+64>>2]|0;A=-+g[b+52>>2];t=-+g[b+56>>2];o=-+g[b+60>>2];g[h+16>>2]=(x*J+j*I+m*z)*A+(x*H+j*G+m*y)*t+(x*v+j*k+m*p)*o;g[h+16+4>>2]=(q*J+r*I+s*z)*A+(q*H+r*G+s*y)*t+(q*v+r*k+s*p)*o;g[h+16+8>>2]=(u*J+i*I+n*z)*A+(u*H+i*G+n*y)*t+(u*v+i*k+n*p)*o;g[h+16+12>>2]=0.0;Sb[d&127](h+152|0,K,h+16|0);o=+g[h+152>>2];t=+g[h+152+4>>2];A=+g[h+152+8>>2];z=F*J+E*I+D*z+(J*C+I*B+z*w)+((x*J+j*I+m*z)*o+(q*J+r*I+s*z)*t+(u*J+i*I+n*z)*A);y=F*H+E*G+D*y+(H*C+G*B+y*w)+((x*H+j*G+m*y)*o+(q*H+r*G+s*y)*t+(u*H+i*G+n*y)*A);A=F*v+E*k+D*p+(v*C+k*B+p*w)+((x*v+j*k+m*p)*o+(q*v+r*k+s*p)*t+(u*v+i*k+n*p)*A);p=+g[b+52>>2];n=+g[b+56>>2];k=+g[b+60>>2];i=k*A+(p*z+n*y)-+g[b+68>>2];v=+g[e>>2];u=+g[e+4>>2];t=+g[e+8>>2];s=+g[e+16>>2];r=+g[e+20>>2];q=+g[e+24>>2];o=+g[e+32>>2];m=+g[e+36>>2];j=+g[e+40>>2];x=(z-p*i)*s+(y-n*i)*r+(A-k*i)*q+ +g[e+52>>2];w=(z-p*i)*o+(y-n*i)*m+(A-k*i)*j+ +g[e+56>>2];g[h+16>>2]=t*(A-k*i)+(v*(z-p*i)+u*(y-n*i))+ +g[e+48>>2];g[h+16+4>>2]=x;g[h+16+8>>2]=w;g[h+16+12>>2]=0.0;g[h>>2]=v*p+u*n+t*k;g[h+4>>2]=p*s+n*r+k*q;g[h+8>>2]=p*o+n*m+k*j;g[h+12>>2]=0.0;Tb[c[(c[f>>2]|0)+16>>2]&15](f,h,h+16|0,i);l=h;return}else{N=c[b+4>>2]|0;a[N+312>>0]=0;c[N>>2]=0;a[N+356>>0]=1;c[N+292>>2]=1566444395;c[N+296>>2]=1566444395;c[N+300>>2]=1566444395;g[N+304>>2]=0.0;c[N+336>>2]=0;c[N+336+4>>2]=0;c[N+336+8>>2]=0;c[N+336+12>>2]=0;a[N+336+16>>0]=0;a[N+332>>0]=a[N+332>>0]&-16;N=c[b+12>>2]|0;M=c[b+16>>2]|0;L=c[N+4>>2]|0;K=c[M+4>>2]|0;I=+nb[c[(c[N>>2]|0)+48>>2]&15](N);O=c[b+16>>2]|0;J=+nb[c[(c[O>>2]|0)+48>>2]&15](O);O=c[b+4>>2]|0;b=c[b+8>>2]|0;c[h+152>>2]=9552;c[h+152+4>>2]=0;c[h+152+8>>2]=1065353216;c[h+152+12>>2]=0;g[h+152+16>>2]=0.0;c[h+152+20>>2]=b;c[h+152+24>>2]=O;c[h+152+28>>2]=N;c[h+152+32>>2]=M;c[h+152+36>>2]=L;c[h+152+40>>2]=K;g[h+152+44>>2]=I;g[h+152+48>>2]=J;a[h+152+52>>0]=0;c[h+152+60>>2]=-1;c[h+152+72>>2]=1;c[h+152+76>>2]=1;g[h+16+128>>2]=999999984306749440.0;c[h+16>>2]=c[d>>2];c[h+16+4>>2]=c[d+4>>2];c[h+16+8>>2]=c[d+8>>2];c[h+16+12>>2]=c[d+12>>2];c[h+16+16>>2]=c[d+16>>2];c[h+16+16+4>>2]=c[d+16+4>>2];c[h+16+16+8>>2]=c[d+16+8>>2];c[h+16+16+12>>2]=c[d+16+12>>2];c[h+16+32>>2]=c[d+32>>2];c[h+16+32+4>>2]=c[d+32+4>>2];c[h+16+32+8>>2]=c[d+32+8>>2];c[h+16+32+12>>2]=c[d+32+12>>2];c[h+16+48>>2]=c[d+48>>2];c[h+16+48+4>>2]=c[d+48+4>>2];c[h+16+48+8>>2]=c[d+48+8>>2];c[h+16+48+12>>2]=c[d+48+12>>2];c[h+16+64>>2]=c[e>>2];c[h+16+64+4>>2]=c[e+4>>2];c[h+16+64+8>>2]=c[e+8>>2];c[h+16+64+12>>2]=c[e+12>>2];c[h+16+80>>2]=c[e+16>>2];c[h+16+80+4>>2]=c[e+16+4>>2];c[h+16+80+8>>2]=c[e+16+8>>2];c[h+16+80+12>>2]=c[e+16+12>>2];c[h+16+96>>2]=c[e+32>>2];c[h+16+96+4>>2]=c[e+32+4>>2];c[h+16+96+8>>2]=c[e+32+8>>2];c[h+16+96+12>>2]=c[e+32+12>>2];c[h+16+112>>2]=c[e+48>>2];c[h+16+112+4>>2]=c[e+48+4>>2];c[h+16+112+8>>2]=c[e+48+8>>2];c[h+16+112+12>>2]=c[e+48+12>>2];Dc(h+152|0,h+16|0,f,0,0);l=h;return}}function Kd(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0;w=l;l=l+96|0;f=c[b+8>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+220>>2]&-2|0)!=4)c[f+220>>2]=1;g[f+224>>2]=0.0}f=c[b+12>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+220>>2]&-2|0)!=4)c[f+220>>2]=1;g[f+224>>2]=0.0}f=c[b+20>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+220>>2]&-2|0)!=4)c[f+220>>2]=1;g[f+224>>2]=0.0}f=c[b+24>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+220>>2]&-2|0)!=4)c[f+220>>2]=1;g[f+224>>2]=0.0}m=ui(b+4|0)|0;j=+g[b+28>>2];i=+g[b+32>>2];h=+g[b+36>>2];u=j*+g[m+16>>2]+i*+g[m+20>>2]+h*+g[m+24>>2]+ +g[m+52>>2];t=j*+g[m+32>>2]+i*+g[m+36>>2]+h*+g[m+40>>2]+ +g[m+56>>2];g[b+156>>2]=j*+g[m>>2]+i*+g[m+4>>2]+h*+g[m+8>>2]+ +g[m+48>>2];g[b+160>>2]=u;g[b+164>>2]=t;g[b+168>>2]=0.0;m=ui(b+16|0)|0;t=+g[b+44>>2];u=+g[b+48>>2];h=+g[b+52>>2];i=t*+g[m>>2]+u*+g[m+4>>2]+h*+g[m+8>>2]+ +g[m+48>>2];j=t*+g[m+16>>2]+u*+g[m+20>>2]+h*+g[m+24>>2]+ +g[m+52>>2];h=t*+g[m+32>>2]+u*+g[m+36>>2]+h*+g[m+40>>2]+ +g[m+56>>2];g[b+172>>2]=i;g[b+176>>2]=j;g[b+180>>2]=h;g[b+184>>2]=0.0;i=+g[b+156>>2]-i;j=+g[b+160>>2]-j;h=+g[b+164>>2]-h;if(i*i+j*j+h*h>16.0){u=1.0/+D(+(i*i+j*j+h*h));i=i*4.0*u;j=j*4.0*u;h=h*4.0*u}u=+g[b+64>>2];g[b+72>>2]=1.0/d*i*u;g[b+76>>2]=1.0/d*j*u;g[b+80>>2]=1.0/d*h*u;g[b+84>>2]=0.0;f=ui(b+4|0)|0;g[b+156>>2]=+g[b+156>>2]-+g[f+48>>2];g[b+160>>2]=+g[b+160>>2]-+g[f+52>>2];g[b+164>>2]=+g[b+164>>2]-+g[f+56>>2];f=ui(b+16|0)|0;g[b+172>>2]=+g[b+172>>2]-+g[f+48>>2];g[b+176>>2]=+g[b+176>>2]-+g[f+52>>2];g[b+180>>2]=+g[b+180>>2]-+g[f+56>>2];f=c[b+8>>2]|0;if(!f){f=c[b+4>>2]|0;if(!f)i=0.0;else{f=f+128|0;v=27}}else{f=f+404|0;v=27}if((v|0)==27)i=+g[f>>2];if((a[22432]|0)==0?Uz(22432)|0:0){f=22904;k=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(k|0))}f=c[b+8>>2]|0;if(!f){m=c[b+4>>2]|0;m=(m|0)==0?22904:m+180|0}else m=f+324|0;f=c[b+20>>2]|0;if(!f){f=c[b+16>>2]|0;if(!f)h=0.0;else{f=f+128|0;v=38}}else{f=f+404|0;v=38}if((v|0)==38)h=+g[f>>2];if((a[22432]|0)==0?Uz(22432)|0:0){f=22904;k=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(k|0))}f=c[b+20>>2]|0;if(!f){f=c[b+16>>2]|0;f=(f|0)==0?22904:f+180|0}else f=f+324|0;Uh(w+48|0,i,m,+g[b+156>>2],+g[b+160>>2],+g[b+164>>2]);Uh(w,h,f,+g[b+172>>2],+g[b+176>>2],+g[b+180>>2]);h=+g[w+48>>2]+ +g[w>>2];i=+g[w+48+4>>2]+ +g[w+4>>2];j=+g[w+48+8>>2]+ +g[w+8>>2];d=+g[w+48+16>>2]+ +g[w+16>>2];n=+g[w+48+20>>2]+ +g[w+20>>2];o=+g[w+48+24>>2]+ +g[w+24>>2];p=+g[w+48+32>>2]+ +g[w+32>>2];q=+g[w+48+36>>2]+ +g[w+36>>2];r=+g[w+48+40>>2]+ +g[w+40>>2];s=1.0/(j*(d*q-n*p)+(h*(n*r-o*q)+i*(o*p-d*r)));g[b+104>>2]=(n*r-o*q)*s;g[b+108>>2]=(j*q-i*r)*s;g[b+112>>2]=(i*o-j*n)*s;g[b+116>>2]=0.0;g[b+120>>2]=(o*p-d*r)*s;g[b+124>>2]=(h*r-j*p)*s;g[b+128>>2]=(j*d-h*o)*s;g[b+132>>2]=0.0;g[b+136>>2]=(d*q-n*p)*s;g[b+140>>2]=(i*p-h*q)*s;g[b+144>>2]=(h*n-i*d)*s;g[b+148>>2]=0.0;t=+g[b+68>>2];u=+g[b+72>>2];if(t>0.0){y=+g[b+76>>2];x=+g[b+80>>2];g[b+88>>2]=t*u*(n*r-o*q)*s+t*y*(j*q-i*r)*s+t*x*(i*o-j*n)*s;g[b+92>>2]=t*u*(o*p-d*r)*s+t*y*(h*r-j*p)*s+t*x*(j*d-h*o)*s;g[b+96>>2]=t*u*(d*q-n*p)*s+t*y*(i*p-h*q)*s+t*x*(h*n-i*d)*s;g[b+100>>2]=0.0;g[b+72>>2]=(1.0-t)*u;g[b+76>>2]=(1.0-t)*y;g[b+80>>2]=(1.0-t)*x;r=(1.0-t)*u;s=(1.0-t)*y;u=(1.0-t)*x;t=+(e|0);t=1.0/t;r=t*r;g[b+72>>2]=r;s=t*s;g[b+76>>2]=s;u=t*u;g[b+80>>2]=u;l=w;return}else{t=u;u=+g[b+76>>2];y=+g[b+80>>2];x=+(e|0);x=1.0/x;t=x*t;g[b+72>>2]=t;u=x*u;g[b+76>>2]=u;y=x*y;g[b+80>>2]=y;l=w;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;o=c[a+192>>2]|0;n=+nb[c[(c[o>>2]|0)+48>>2]&15](o);o=c[a+772>>2]|0;if((o|0)>0){i=0;do{m=c[a+780>>2]|0;f=m+(i*104|0)+8|0;q=+g[f>>2];h=m+(i*104|0)+12|0;p=+g[h>>2];d=m+(i*104|0)+16|0;l=+g[d>>2];j=q*+g[b>>2]+p*+g[b+4>>2]+l*+g[b+8>>2]+ +g[b+48>>2];k=q*+g[b+16>>2]+p*+g[b+20>>2]+l*+g[b+24>>2]+ +g[b+52>>2];l=q*+g[b+32>>2]+p*+g[b+36>>2]+l*+g[b+40>>2]+ +g[b+56>>2];g[f>>2]=j;g[h>>2]=k;g[d>>2]=l;g[m+(i*104|0)+20>>2]=0.0;d=m+(i*104|0)+24|0;p=+g[d>>2];h=m+(i*104|0)+28|0;q=+g[h>>2];f=m+(i*104|0)+32|0;r=+g[f>>2];s=p*+g[b+16>>2]+q*+g[b+20>>2]+r*+g[b+24>>2]+ +g[b+52>>2];t=p*+g[b+32>>2]+q*+g[b+36>>2]+r*+g[b+40>>2]+ +g[b+56>>2];g[d>>2]=p*+g[b>>2]+q*+g[b+4>>2]+r*+g[b+8>>2]+ +g[b+48>>2];g[h>>2]=s;g[f>>2]=t;g[m+(i*104|0)+36>>2]=0.0;f=m+(i*104|0)+72|0;t=+g[f>>2];h=m+(i*104|0)+76|0;s=+g[h>>2];d=m+(i*104|0)+80|0;r=+g[d>>2];q=t*+g[b+16>>2]+s*+g[b+20>>2]+r*+g[b+24>>2];p=t*+g[b+32>>2]+s*+g[b+36>>2]+r*+g[b+40>>2];g[f>>2]=+g[b>>2]*t+ +g[b+4>>2]*s+ +g[b+8>>2]*r;g[h>>2]=q;g[d>>2]=p;g[m+(i*104|0)+84>>2]=0.0;m=c[m+(i*104|0)+96>>2]|0;d=Ag(a+988|0,m)|0;a:do if(d){h=c[a+996>>2]|0;if((h|0)<=-1){d=c[a+988>>2]|0;break}if(h){e=0;while(1){f=c[d+32>>2]|0;e=e+1|0;if(!f)break a;if((e|0)>=(h|0)){d=f;break}else d=f}}}else d=0;while(0);g[m>>2]=j-n;g[m+4>>2]=k-n;g[m+8>>2]=l-n;g[m+12>>2]=0.0;g[m+16>>2]=n+j;g[m+20>>2]=n+k;g[m+24>>2]=n+l;g[m+28>>2]=0.0;Pe(a+988|0,d,m);i=i+1|0}while((i|0)!=(o|0))}Eg(a);d=c[a+988>>2]|0;if(d){o=c[a+192>>2]|0;r=+nb[c[(c[o>>2]|0)+48>>2]&15](o);t=+g[d+4>>2]-r;s=+g[d+8>>2]-r;g[a+952>>2]=+g[d>>2]-r;g[a+956>>2]=t;g[a+960>>2]=s;g[a+964>>2]=0.0;s=r+ +g[d+20>>2];t=r+ +g[d+24>>2];g[a+968>>2]=r+ +g[d+16>>2];g[a+972>>2]=s;g[a+976>>2]=t;g[a+980>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+744>>2]|0;m=c[o+32>>2]|0;Zb[c[(c[m>>2]|0)+16>>2]&31](m,d,a+952|0,a+968|0,c[o+36>>2]|0)}}else{c[a+952>>2]=0;c[a+952+4>>2]=0;c[a+952+8>>2]=0;c[a+952+12>>2]=0;c[a+952+16>>2]=0;c[a+952+20>>2]=0;c[a+952+24>>2]=0;c[a+952+28>>2]=0}e=c[a+792>>2]|0;if((e|0)<=0){Vf(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=b+16|0;m=a+1164|0;c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];m=b+32|0;o=a+1180|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];o=b+48|0;b=a+1196|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];return}f=c[a+800>>2]|0;d=0;do{m=c[f+(d*52|0)+24>>2]|0;o=c[f+(d*52|0)+28>>2]|0;r=+g[m+8>>2]-+g[o+8>>2];s=+g[m+12>>2]-+g[o+12>>2];t=+g[m+16>>2]-+g[o+16>>2];t=+D(+(r*r+s*s+t*t));g[f+(d*52|0)+32>>2]=t;g[f+(d*52|0)+44>>2]=t*t;d=d+1|0}while((d|0)!=(e|0));d=0;do{g[f+(d*52|0)+40>>2]=(+g[(c[f+(d*52|0)+24>>2]|0)+88>>2]+ +g[(c[f+(d*52|0)+28>>2]|0)+88>>2])/+g[(c[f+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));Vf(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=b+16|0;m=a+1164|0;c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];m=b+32|0;o=a+1180|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];o=b+48|0;b=a+1196|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];return}function Md(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0;B=c[b+88>>2]|0;if((B|0)==(c[b+92>>2]|0)?(o=B|0?B<<1:1,(B|0)<(o|0)):0){if(!o){k=0;n=B}else{c[6995]=(c[6995]|0)+1;k=sc((o*152|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}n=c[b+88>>2]|0}if((n|0)>0){l=0;do{gi(k+(l*152|0)|0,(c[b+96>>2]|0)+(l*152|0)|0,152)|0;l=l+1|0}while((l|0)!=(n|0))}l=c[b+96>>2]|0;if(l|0){if(a[b+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[l+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=k;c[b+92>>2]=o;k=c[b+88>>2]|0}else k=B;c[b+88>>2]=k+1;A=c[b+96>>2]|0;c[A+(B*152|0)+140>>2]=h;c[A+(B*152|0)+16>>2]=0;c[A+(B*152|0)+16+4>>2]=0;c[A+(B*152|0)+16+8>>2]=0;c[A+(B*152|0)+16+12>>2]=0;g[A+(B*152|0)+48>>2]=-0.0;g[A+(B*152|0)+52>>2]=-0.0;g[A+(B*152|0)+56>>2]=-0.0;g[A+(B*152|0)+60>>2]=0.0;b=c[b+16>>2]|0;o=c[b+(e*244|0)+240>>2]|0;h=c[b+(f*244|0)+240>>2]|0;c[A+(B*152|0)+144>>2]=e;c[A+(B*152|0)+148>>2]=f;g[A+(B*152|0)+104>>2]=i;c[A+(B*152|0)+132>>2]=0;g[A+(B*152|0)+100>>2]=0.0;g[A+(B*152|0)+96>>2]=0.0;x=-+g[d>>2];y=-+g[d+4>>2];z=-+g[d+8>>2];g[A+(B*152|0)>>2]=x;g[A+(B*152|0)+4>>2]=y;g[A+(B*152|0)+8>>2]=z;g[A+(B*152|0)+12>>2]=0.0;if(o|0){k=(g[j>>2]=(+g[o+324>>2]*x+ +g[o+328>>2]*y+ +g[o+332>>2]*z)*+g[o+604>>2],c[j>>2]|0);l=(g[j>>2]=(+g[o+340>>2]*x+ +g[o+344>>2]*y+ +g[o+348>>2]*z)*+g[o+608>>2],c[j>>2]|0);n=(g[j>>2]=(+g[o+356>>2]*x+ +g[o+360>>2]*y+ +g[o+364>>2]*z)*+g[o+612>>2],c[j>>2]|0)}else{k=0;l=0;n=0}c[A+(B*152|0)+64>>2]=k;c[A+(B*152|0)+68>>2]=l;c[A+(B*152|0)+72>>2]=n;g[A+(B*152|0)+76>>2]=0.0;u=+g[d>>2];v=+g[d+4>>2];w=+g[d+8>>2];d=c[d+12>>2]|0;g[A+(B*152|0)+32>>2]=u;g[A+(B*152|0)+36>>2]=v;g[A+(B*152|0)+40>>2]=w;c[A+(B*152|0)+44>>2]=d;if(h|0){k=(g[j>>2]=(u*+g[h+324>>2]+v*+g[h+328>>2]+w*+g[h+332>>2])*+g[h+604>>2],c[j>>2]|0);l=(g[j>>2]=(u*+g[h+340>>2]+v*+g[h+344>>2]+w*+g[h+348>>2])*+g[h+608>>2],c[j>>2]|0);n=(g[j>>2]=(u*+g[h+356>>2]+v*+g[h+360>>2]+w*+g[h+364>>2])*+g[h+612>>2],c[j>>2]|0)}else{k=0;l=0;n=0}c[A+(B*152|0)+80>>2]=k;c[A+(B*152|0)+84>>2]=l;c[A+(B*152|0)+88>>2]=n;g[A+(B*152|0)+92>>2]=0.0;if(o|0){m=+g[o+324>>2]*x+ +g[o+328>>2]*y+ +g[o+332>>2]*z;p=+g[o+340>>2]*x+ +g[o+344>>2]*y+ +g[o+348>>2]*z;q=+g[o+356>>2]*x+ +g[o+360>>2]*y+ +g[o+364>>2]*z}else{m=0.0;p=0.0;q=0.0}if(h|0){r=+g[h+324>>2]*u+ +g[h+328>>2]*v+ +g[h+332>>2]*w;s=u*+g[h+340>>2]+v*+g[h+344>>2]+w*+g[h+348>>2];t=u*+g[h+356>>2]+v*+g[h+360>>2]+w*+g[h+364>>2]}else{r=0.0;s=0.0;t=0.0}s=1.0/(m*x+p*y+q*z+0.0+(r*u+s*v+t*w));g[A+(B*152|0)+108>>2]=s;if(o|0){p=+g[b+(e*244|0)+192>>2];q=+g[b+(e*244|0)+196>>2];r=+g[b+(e*244|0)+200>>2];m=(+g[b+(e*244|0)+176>>2]+ +g[b+(e*244|0)+208>>2])*0.0+(+g[b+(e*244|0)+180>>2]+ +g[b+(e*244|0)+212>>2])*0.0+(+g[b+(e*244|0)+184>>2]+ +g[b+(e*244|0)+216>>2])*0.0}else{p=0.0;q=0.0;r=0.0;m=0.0}m=m+(p*x+q*y+r*z);if(!h){t=0.0;x=0.0;z=0.0;y=-0.0;u=t*u;x=x*v;x=u+x;z=z*w;z=x+z;z=y+z;z=m+z;z=0.0-z;z=s*z;f=A+(B*152|0)+112|0;g[f>>2]=z;f=A+(B*152|0)+116|0;g[f>>2]=0.0;z=-i;f=A+(B*152|0)+120|0;g[f>>2]=z;B=A+(B*152|0)+124|0;g[B>>2]=i;return}t=+g[b+(f*244|0)+192>>2];x=+g[b+(f*244|0)+196>>2];z=+g[b+(f*244|0)+200>>2];y=(+g[b+(f*244|0)+176>>2]+ +g[b+(f*244|0)+208>>2])*-0.0+(+g[b+(f*244|0)+180>>2]+ +g[b+(f*244|0)+212>>2])*-0.0+(+g[b+(f*244|0)+184>>2]+ +g[b+(f*244|0)+216>>2])*-0.0;u=t*u;x=x*v;x=u+x;z=z*w;z=x+z;z=y+z;z=m+z;z=0.0-z;z=s*z;f=A+(B*152|0)+112|0;g[f>>2]=z;f=A+(B*152|0)+116|0;g[f>>2]=0.0;z=-i;f=A+(B*152|0)+120|0;g[f>>2]=z;B=A+(B*152|0)+124|0;g[B>>2]=i;return}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0;t=l;l=l+48|0;switch(c[b+4>>2]|0){case 8:{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;l=t;return}case 0:{n=+g[b+32>>2];r=+g[b+36>>2];r=+g[d+4>>2]>=0.0?r:-r;s=+g[b+40>>2];s=+g[d+8>>2]>=0.0?s:-s;g[a>>2]=+g[d>>2]>=0.0?n:-n;g[a+4>>2]=r;g[a+8>>2]=s;g[a+12>>2]=0.0;l=t;return}case 1:{k=+g[d>>2];m=+g[d+4>>2];n=+g[d+8>>2];r=k*+g[b+60>>2]+m*+g[b+60+4>>2]+n*+g[b+60+8>>2];s=k*+g[b+60+16>>2]+m*+g[b+60+20>>2]+n*+g[b+60+24>>2];n=k*+g[b+60+32>>2]+m*+g[b+60+36>>2]+n*+g[b+60+40>>2];g[t+32>>2]=r;g[t+32+4>>2]=s;g[t+32+8>>2]=n;g[t+32+12>>2]=0.0;o=+g[t+32+((r<s&1)<<2)>>2]<n?2:r<s&1;p=c[b+60+(o<<4)+4>>2]|0;q=c[b+60+(o<<4)+8>>2]|0;c[a>>2]=c[b+60+(o<<4)>>2];c[a+4>>2]=p;c[a+8>>2]=q;g[a+12>>2]=0.0;l=t;return}case 13:{c[t+32>>2]=c[b+32>>2];c[t+32+4>>2]=c[b+32+4>>2];c[t+32+8>>2]=c[b+32+8>>2];c[t+32+12>>2]=c[b+32+12>>2];c[t+16>>2]=c[d>>2];e=c[d+4>>2]|0;c[t+16+4>>2]=e;q=c[d+8>>2]|0;c[t+16+8>>2]=q;g[t+16+12>>2]=0.0;b=c[b+56>>2]|0;f=(c[j>>2]=q,+g[j>>2]);switch(b|0){case 2:{d=0;o=2;p=1;f=(c[j>>2]=e,+g[j>>2]);break}case 1:{d=0;o=1;p=2;break}default:{d=1;o=0;p=2}}r=+g[t+32+(d<<2)>>2];i=+g[t+32+(b<<2)>>2];n=+g[t+16+(d<<2)>>2];m=+D(+(n*n+f*f));h=+g[t+16+(o<<2)>>2];if(m!=0.0){k=r/m*f;e=t;h=h<0.0?-i:i;f=n*(r/m)}else{k=0.0;e=t;h=h<0.0?-i:i;f=r}g[t+(d<<2)>>2]=f;g[t+(o<<2)>>2]=h;g[t+(p<<2)>>2]=k;c[a>>2]=c[e>>2];c[a+4>>2]=c[t+4>>2];c[a+8>>2]=c[t+8>>2];g[a+12>>2]=0.0;l=t;return}case 10:{f=+g[d>>2];h=+g[d+4>>2];i=+g[d+8>>2];e=c[b+56>>2]|0;r=+g[b+32+(e<<2)>>2];if(f*f+h*h+i*i<1.4210854715202004e-14){s=1.0;n=0.0;m=0.0}else{m=1.0/+D(+(f*f+h*h+i*i));s=f*m;n=h*m;m=i*m}c[t+32>>2]=0;c[t+32+4>>2]=0;c[t+32+8>>2]=0;c[t+32+12>>2]=0;g[t+32+(e<<2)>>2]=r;k=+g[t+32>>2];h=+g[t+32+4>>2];f=+g[t+32+8>>2];i=s*k+n*h+m*f;if(i>-999999984306749440.0){p=(g[j>>2]=f,c[j>>2]|0);q=(g[j>>2]=h,c[j>>2]|0);o=(g[j>>2]=k,c[j>>2]|0)}else{i=-999999984306749440.0;o=0;p=0;q=0}c[t+32>>2]=0;c[t+32+4>>2]=0;c[t+32+8>>2]=0;c[t+32+12>>2]=0;g[t+32+(e<<2)>>2]=-r;k=+g[t+32>>2];r=+g[t+32+4>>2];f=+g[t+32+8>>2];e=s*k+n*r+m*f>i;b=(g[j>>2]=k,c[j>>2]|0);d=(g[j>>2]=r,c[j>>2]|0);p=e?(g[j>>2]=f,c[j>>2]|0):p;c[a>>2]=e?b:o;c[a+4>>2]=e?d:q;c[a+8>>2]=p;g[a+12>>2]=0.0;l=t;return}case 5:{p=c[b+96>>2]|0;o=c[b+100>>2]|0;r=+g[b+16>>2];s=+g[b+20>>2];n=+g[b+24>>2];k=+g[d>>2]*r;m=+g[d+4>>2]*s;h=+g[d+8>>2]*n;if((o|0)>0){e=-1;b=0;f=-3402823466385288598117041.0e14;while(1){i=k*+g[p+(b<<4)>>2]+m*+g[p+(b<<4)+4>>2]+h*+g[p+(b<<4)+8>>2];d=i>f;e=d?b:e;b=b+1|0;if((b|0)==(o|0))break;else f=d?i:f}}else e=-1;m=s*+g[p+(e<<4)+4>>2];s=n*+g[p+(e<<4)+8>>2];g[a>>2]=r*+g[p+(e<<4)>>2];g[a+4>>2]=m;g[a+8>>2]=s;g[a+12>>2]=0.0;l=t;return}case 4:{p=c[b+108>>2]|0;o=c[b+100>>2]|0;r=+g[b+16>>2];s=+g[b+20>>2];n=+g[b+24>>2];k=+g[d>>2]*r;m=+g[d+4>>2]*s;h=+g[d+8>>2]*n;if((o|0)>0){e=-1;b=0;f=-3402823466385288598117041.0e14;while(1){i=k*+g[p+(b<<4)>>2]+m*+g[p+(b<<4)+4>>2]+h*+g[p+(b<<4)+8>>2];d=i>f;e=d?b:e;b=b+1|0;if((b|0)==(o|0))break;else f=d?i:f}}else e=-1;m=s*+g[p+(e<<4)+4>>2];s=n*+g[p+(e<<4)+8>>2];g[a>>2]=r*+g[p+(e<<4)>>2];g[a+4>>2]=m;g[a+8>>2]=s;g[a+12>>2]=0.0;l=t;return}default:{Sb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);l=t;return}}}function Od(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0;x=l;l=l+64|0;if((h|0)>0){b=0;j=0;do{w=c[f+(j<<2)>>2]|0;b=(w|0)>(b|0)?w:b;j=j+1|0}while((j|0)<(h*3|0))}else b=0;t=b+1|0;k=P(t,t)|0;if(!k)j=0;else{c[6995]=(c[6995]|0)+1;j=sc(k+19|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Yk(j|0,0,k|0)|0}if((b|0)>-1){c[6995]=(c[6995]|0)+1;b=sc((t<<4|3)+16|0)|0;if(!b)m=0;else{c[(b+4+15&-16)+-4>>2]=b;m=b+4+15&-16}b=0;do{w=m+(b<<4)|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];b=b+1|0}while((b|0)!=(t|0));b=0;k=0;while(1){v=c[e+(k+1<<2)>>2]|0;w=c[e+(k+2<<2)>>2]|0;c[m+(b<<4)>>2]=c[e+(k<<2)>>2];c[m+(b<<4)+4>>2]=v;c[m+(b<<4)+8>>2]=w;g[m+(b<<4)+12>>2]=0.0;k=k+3|0;if((k|0)>=(t*3|0)){w=m;v=m;break}else b=b+1|0}}else{w=0;v=0}c[6995]=(c[6995]|0)+1;b=sc(1271)|0;if(!b)u=0;else{c[(b+4+15&-16)+-4>>2]=b;u=b+4+15&-16}Bc(u,d,t,w,0);if((h|0)>0){d=u+780|0;n=u+792|0;o=u+800|0;p=u+984|0;e=0;do{q=c[f+(e<<2)>>2]|0;r=c[f+(e+1<<2)>>2]|0;s=c[f+(e+2<<2)>>2]|0;m=P(q,t)|0;b=j+(m+s)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+((P(s,t)|0)+q)>>0]=1;B=c[d>>2]|0;Xh(u,0);k=(c[n>>2]|0)+-1|0;b=c[o>>2]|0;c[b+(k*52|0)+24>>2]=B+(s*104|0);c[b+(k*52|0)+28>>2]=B+(q*104|0);A=+g[B+(s*104|0)+8>>2]-+g[B+(q*104|0)+8>>2];z=+g[B+(s*104|0)+12>>2]-+g[B+(q*104|0)+12>>2];y=+g[B+(s*104|0)+16>>2]-+g[B+(q*104|0)+16>>2];g[b+(k*52|0)+32>>2]=+D(+(A*A+z*z+y*y));a[p>>0]=1}k=P(r,t)|0;b=j+(k+q)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(m+r)>>0]=1;b=c[d>>2]|0;Xh(u,0);B=(c[n>>2]|0)+-1|0;m=c[o>>2]|0;c[m+(B*52|0)+24>>2]=b+(q*104|0);c[m+(B*52|0)+28>>2]=b+(r*104|0);y=+g[b+(q*104|0)+8>>2]-+g[b+(r*104|0)+8>>2];z=+g[b+(q*104|0)+12>>2]-+g[b+(r*104|0)+12>>2];A=+g[b+(q*104|0)+16>>2]-+g[b+(r*104|0)+16>>2];g[m+(B*52|0)+32>>2]=+D(+(y*y+z*z+A*A));a[p>>0]=1}b=j+((P(s,t)|0)+r)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(k+s)>>0]=1;k=c[d>>2]|0;Xh(u,0);B=(c[n>>2]|0)+-1|0;m=c[o>>2]|0;c[m+(B*52|0)+24>>2]=k+(r*104|0);c[m+(B*52|0)+28>>2]=k+(s*104|0);y=+g[k+(r*104|0)+8>>2]-+g[k+(s*104|0)+8>>2];z=+g[k+(r*104|0)+12>>2]-+g[k+(s*104|0)+12>>2];A=+g[k+(r*104|0)+16>>2]-+g[k+(s*104|0)+16>>2];g[m+(B*52|0)+32>>2]=+D(+(y*y+z*z+A*A));a[p>>0]=1}bg(u,q,r,s,0);e=e+3|0}while((e|0)<(h*3|0))}if(i){m=c[u+792>>2]|0;if((m|0)>0){e=u+800|0;b=243703;k=0;do{d=c[e>>2]|0;n=d+(k*52|0)|0;b=(P(b,1664525)|0)+1013904223|0;o=x;p=n;q=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=n;p=d+(((b>>>0)%(m>>>0)|0)*52|0)|0;q=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=d+(((b>>>0)%(m>>>0)|0)*52|0)|0;p=x;q=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));k=k+1|0}while((k|0)!=(m|0))}else b=243703;d=c[u+812>>2]|0;if((d|0)>0){n=u+820|0;k=0;do{e=c[n>>2]|0;m=e+(k*44|0)|0;b=(P(b,1664525)|0)+1013904223|0;e=e+(((b>>>0)%(d>>>0)|0)*44|0)|0;o=x;p=m;q=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=m;p=e;q=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=e;p=x;q=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));k=k+1|0}while((k|0)!=(d|0))}}if(!((w|0)==0|(v|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[v+-4>>2]|0)}if(!j){l=x;return u|0}c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);l=x;return u|0}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0;H=l;l=l+96|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){G=0;l=H;return G|0}G=c[b>>2]|0;if(!(zb[c[(c[d>>2]|0)+8>>2]&31](d,c[G+188>>2]|0)|0)){G=1;l=H;return G|0}b=c[G+192>>2]|0;F=c[a+216>>2]|0;if((c[b+4>>2]|0)!=32){c[H+32>>2]=0;c[H+32+4>>2]=b;c[H+32+8>>2]=G;c[H+32+12>>2]=G+4;c[H+32+16>>2]=-1;c[H+32+20>>2]=-1;ad(a+68|0,a+132|0,H+32|0,F);G=1;l=H;return G|0}if((G|0)==0?1:(c[G+252>>2]|0)!=8){G=1;l=H;return G|0}if(c[G+812>>2]|0?(c[G+1028>>2]|0)==0:0)$g(G);B=+g[a+180>>2]-+g[a+116>>2];C=+g[a+184>>2]-+g[a+120>>2];E=+g[a+188>>2]-+g[a+124>>2];b=c[G+1028>>2]|0;if(!b){s=c[G+812>>2]|0;if((s|0)>0){r=c[G+820>>2]|0;q=0;d=0;b=-1;i=1065353216;m=0;e=1.0;f=1.0;do{K=c[r+(q*44|0)+8>>2]|0;J=c[r+(q*44|0)+12>>2]|0;I=c[r+(q*44|0)+16>>2]|0;h=+Gh(a+116|0,B,C,E,+g[K+8>>2],+g[K+12>>2],+g[K+16>>2],+g[J+8>>2],+g[J+12>>2],+g[J+16>>2],+g[I+8>>2],+g[I+12>>2],+g[I+16>>2],f);if(h>0.0){d=d+1|0;b=q;i=(g[j>>2]=h,c[j>>2]|0);m=3;e=h;f=h}q=q+1|0}while((q|0)!=(s|0))}else{d=0;b=-1;i=1065353216;m=0;e=1.0}}else{c[H+32>>2]=3396;c[H+32+4>>2]=c[a+116>>2];c[H+32+4+4>>2]=c[a+116+4>>2];c[H+32+4+8>>2]=c[a+116+8>>2];c[H+32+4+12>>2]=c[a+116+12>>2];g[H+32+36>>2]=B;g[H+32+40>>2]=C;g[H+32+44>>2]=E;g[H+32+48>>2]=0.0;c[H+32+20>>2]=c[a+180>>2];c[H+32+20+4>>2]=c[a+180+4>>2];c[H+32+20+8>>2]=c[a+180+8>>2];c[H+32+20+12>>2]=c[a+180+12>>2];c[H+32+52>>2]=1065353216;c[H+32+56>>2]=0;c[H+32+60>>2]=0;Ue(b,a+116|0,a+180|0,H+32|0);b=c[H+32+56>>2]|0;if(!b){d=0;b=-1;i=1065353216;m=0;e=1.0}else{K=c[H+32+52>>2]|0;d=1;b=(b-(c[G+820>>2]|0)|0)/44|0;i=K;m=3;e=(c[j>>2]=K,+g[j>>2])}}s=c[G+832>>2]|0;if((s|0)>0){r=c[G+840>>2]|0;q=0;f=(c[j>>2]=i,+g[j>>2]);while(1){K=c[r+(q*104|0)+8>>2]|0;v=+g[K+8>>2];y=+g[K+12>>2];A=+g[K+16>>2];K=c[r+(q*104|0)+12>>2]|0;k=+g[K+8>>2];p=+g[K+12>>2];u=+g[K+16>>2];K=c[r+(q*104|0)+16>>2]|0;w=+g[K+8>>2];x=+g[K+12>>2];z=+g[K+16>>2];h=+Gh(a+116|0,B,C,E,v,y,A,k,p,u,w,x,z,f);if(h>0.0){d=d+1|0;b=q;i=4;e=h;f=h}else i=m;K=c[r+(q*104|0)+20>>2]|0;n=+g[K+8>>2];o=+g[K+12>>2];t=+g[K+16>>2];h=+Gh(a+116|0,B,C,E,v,y,A,k,p,u,n,o,t,f);if(h>0.0){d=d+1|0;b=q;i=4;e=h;f=h}h=+Gh(a+116|0,B,C,E,k,p,u,w,x,z,n,o,t,f);if(h>0.0){d=d+1|0;b=q;i=4;f=h;e=h}h=+Gh(a+116|0,B,C,E,v,y,A,w,x,z,n,o,t,f);if(h>0.0){d=d+1|0;b=q;i=4;e=h;f=h}q=q+1|0;if((q|0)==(s|0)){p=e;break}else m=i}}else{i=m;p=e}if(!d){K=1;l=H;return K|0}if(!(p<=+g[F+4>>2])){K=1;l=H;return K|0}c[H+32>>2]=0;c[H+32+4>>2]=b;k=+g[a+180>>2]-+g[a+116>>2];n=+g[a+184>>2]-+g[a+120>>2];o=+g[a+188>>2]-+g[a+124>>2];e=1.0/+D(+(k*k+n*n+o*o));if((i|0)==3){d=c[G+820>>2]|0;e=+g[d+(b*44|0)+20>>2];h=+g[d+(b*44|0)+24>>2];f=+g[d+(b*44|0)+28>>2];if(k*e+n*h+o*f>0.0){k=-e;h=-h;f=-f;e=0.0}else{k=e;e=+g[d+(b*44|0)+32>>2]}}else{k=-(k*e);h=-(n*e);f=-(o*e);e=0.0}c[H>>2]=G;c[H+4>>2]=H+32;g[H+8>>2]=k;g[H+12>>2]=h;g[H+16>>2]=f;g[H+20>>2]=e;g[H+24>>2]=p;+qb[c[(c[F>>2]|0)+12>>2]&31](F,H,1);K=1;l=H;return K|0}function Qd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0;if(a[b+165>>0]|0){h=c[b+88>>2]|0;a:do if((h|0)>0&e){f=c[b+96>>2]|0;j=+g[d>>2];k=+g[d+4>>2];l=+g[d+8>>2];m=+g[b+168>>2];e=0;while(1){s=+g[f+(e<<4)>>2]-j;r=+g[f+(e<<4)+4>>2]-k;q=+g[f+(e<<4)+8>>2]-l;if(s*s+r*r+q*q<=m)break;e=e+1|0;if((e|0)>=(h|0))break a}return e|0}while(0);p=(c[b+32>>2]|0)+12|0;c[p>>2]=(c[p>>2]|0)+1;if((h|0)==(c[b+92>>2]|0)?(i=h|0?h<<1:1,(h|0)<(i|0)):0){if(!i)e=0;else{c[6995]=(c[6995]|0)+1;e=sc((i<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+88>>2]|0}if((h|0)>0){f=0;do{p=e+(f<<4)|0;o=(c[b+96>>2]|0)+(f<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[b+96>>2]|0;if(f|0){if(a[b+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=e;c[b+92>>2]=i;e=c[b+88>>2]|0}else e=h;p=(c[b+96>>2]|0)+(e<<4)|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+88>>2]|0;c[b+88>>2]=d+1;c[(c[b+32>>2]|0)+16>>2]=c[b+96>>2];return d|0}h=c[b+108>>2]|0;b:do if((h|0)>0&e){f=c[b+116>>2]|0;j=+g[d>>2];k=+g[d+4>>2];l=+g[d+8>>2];m=+g[b+168>>2];e=0;while(1){q=+g[f+(e<<2)>>2]-j;r=+g[f+(e+1<<2)>>2]-k;s=+g[f+(e+2<<2)>>2]-l;i=e+3|0;if(q*q+r*r+s*s<=m)break;if((i|0)<(h|0))e=i;else break b}d=(e|0)/3|0;return d|0}while(0);e=c[b+112>>2]|0;if((h|0)==(e|0)){n=h|0?h<<1:1;if((h|0)<(n|0)){if(!n)e=0;else{c[6995]=(c[6995]|0)+1;e=sc((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+108>>2]|0}i=c[b+116>>2]|0;if((h|0)<=0)if(!i)f=b+120|0;else p=34;else{f=0;do{c[e+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));p=34}if((p|0)==34){if(a[b+120>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=e;c[b+112>>2]=n;f=c[b+108>>2]|0;i=n}else{f=h;i=h}}else{f=h;i=e}h=c[b+116>>2]|0;c[h+(f<<2)>>2]=c[d>>2];e=f+1|0;c[b+108>>2]=e;if((e|0)==(i|0)){n=i|0?i<<1:1;if((i|0)<(n|0)){if(!n)e=0;else{c[6995]=(c[6995]|0)+1;e=sc((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+108>>2]|0;h=c[b+116>>2]|0}if((i|0)<=0)if(!h)f=b+120|0;else p=48;else{f=0;do{c[e+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0));p=48}if((p|0)==48){if(a[b+120>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=e;c[b+112>>2]=n;o=e;f=c[b+108>>2]|0;i=n}else{o=h;f=i;e=h}}else{o=h;f=e;e=h}c[o+(f<<2)>>2]=c[d+4>>2];f=f+1|0;c[b+108>>2]=f;if((f|0)==(i|0)){n=i|0?i<<1:1;if((i|0)<(n|0)){if(!n){e=0;h=o}else{c[6995]=(c[6995]|0)+1;e=sc((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+108>>2]|0;h=c[b+116>>2]|0}if((i|0)<=0)if(!h)f=b+120|0;else p=62;else{f=0;do{c[e+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0));p=62}if((p|0)==62){if(a[b+120>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=e;c[b+112>>2]=n;h=e;f=c[b+108>>2]|0}else{h=o;f=i}}else h=o;c[h+(f<<2)>>2]=c[d+8>>2];d=f+1|0;c[b+108>>2]=d;b=c[b+32>>2]|0;c[b+12>>2]=(c[b+12>>2]|0)+1;c[b+16>>2]=e;d=((d|0)/3|0)+-1|0;return d|0}function Rd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+400|0;f=c[d+36>>2]|0;d=c[e+36>>2]|0;e=c[b+24>>2]|0;if(((e|0)==(c[b+28>>2]|0)?c[e+1132>>2]|0:0)?(j=(P(c[d+380>>2]|0,c[e+1112>>2]|0)|0)+(c[f+380>>2]|0)|0,a[(c[e+1140>>2]|0)+j>>0]|0):0){c[5773]=(c[5773]|0)+1;l=m;return}c[m+332+4>>2]=35;c[m+332+8>>2]=0;c[m+332+12>>2]=-1;c[m+332+16>>2]=1065353216;c[m+332+20>>2]=1065353216;c[m+332+24>>2]=1065353216;g[m+332+28>>2]=0.0;c[m+332>>2]=3644;c[m+332+56>>2]=f;g[m+332+48>>2]=0.0;c[m+272+4>>2]=35;c[m+272+8>>2]=0;c[m+272+12>>2]=-1;c[m+272+16>>2]=1065353216;c[m+272+20>>2]=1065353216;c[m+272+24>>2]=1065353216;g[m+272+28>>2]=0.0;c[m+272>>2]=3644;c[m+272+56>>2]=d;g[m+272+48>>2]=0.0;if((a[22384]|0)==0?Uz(22384)|0:0){if((a[22392]|0)==0?Uz(22392)|0:0){c[5698]=1065353216;c[5699]=0;c[5700]=0;c[5701]=0;c[5702]=0;c[5703]=1065353216;c[5704]=0;c[5705]=0;c[5706]=0;c[5707]=0;c[5708]=1065353216;g[5709]=0.0}c[5682]=c[5698];c[5683]=c[5699];c[5684]=c[5700];c[5685]=c[5701];c[5686]=c[5702];c[5687]=c[5703];c[5688]=c[5704];c[5689]=c[5705];c[5690]=c[5706];c[5691]=c[5707];c[5692]=c[5708];c[5693]=c[5709];c[5694]=0;c[5695]=0;c[5696]=0;c[5697]=0}if((a[22384]|0)==0?Uz(22384)|0:0){if((a[22392]|0)==0?Uz(22392)|0:0){c[5698]=1065353216;c[5699]=0;c[5700]=0;c[5701]=0;c[5702]=0;c[5703]=1065353216;c[5704]=0;c[5705]=0;c[5706]=0;c[5707]=0;c[5708]=1065353216;g[5709]=0.0}c[5682]=c[5698];c[5683]=c[5699];c[5684]=c[5700];c[5685]=c[5701];c[5686]=c[5702];c[5687]=c[5703];c[5688]=c[5704];c[5689]=c[5705];c[5690]=c[5706];c[5691]=c[5707];c[5692]=c[5708];c[5693]=c[5709];c[5694]=0;c[5695]=0;c[5696]=0;c[5697]=0}o=+g[f+232>>2]-+g[d+232>>2];n=+g[f+236>>2]-+g[d+236>>2];g[m>>2]=+g[f+228>>2]-+g[d+228>>2];g[m+4>>2]=o;g[m+8>>2]=n;g[m+12>>2]=0.0;if(!(!(Gd(m+332|0,22728,m+272|0,22728,m,m+216|0)|0)?!(Hc(m+332|0,22728,m+272|0,22728,m,m+216|0,0)|0):0))h=19;if((h|0)==19?(c[m+4>>2]=0,c[m+4+4>>2]=0,c[m+4+8>>2]=0,c[m+4+12>>2]=0,c[m+4+16>>2]=0,c[m+4+20>>2]=0,a[m+152>>0]=0,c[m>>2]=3432,zd(b,m+216|0,f,0,0,d,0,0,m)|0):0){c[6995]=(c[6995]|0)+1;d=sc(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}e=j+4|0;d=j+152|0;Yk(e|0,0,212)|0;c[j>>2]=3432;f=m+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[m+104>>2];c[e+4>>2]=c[m+104+4>>2];c[e+8>>2]=c[m+104+8>>2];c[e+12>>2]=c[m+104+12>>2];e=j+120|0;c[e>>2]=c[m+120>>2];c[e+4>>2]=c[m+120+4>>2];c[e+8>>2]=c[m+120+8>>2];c[e+12>>2]=c[m+120+12>>2];e=j+136|0;c[e>>2]=c[m+136>>2];c[e+4>>2]=c[m+136+4>>2];c[e+8>>2]=c[m+136+8>>2];c[e+12>>2]=c[m+136+12>>2];a[d>>0]=a[m+152>>0]|0;e=j+156|0;f=m+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+912>>2]|0;if((d|0)==(c[h+916>>2]|0)?(k=d|0?d<<1:1,(d|0)<(k|0)):0){if(!k)f=0;else{c[6995]=(c[6995]|0)+1;d=sc((k<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[h+912>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[h+920>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[h+920>>2]|0;if(e){if(a[h+924>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);d=c[h+912>>2]|0}c[h+920>>2]=0}a[h+924>>0]=1;c[h+920>>2]=f;c[h+916>>2]=k}c[(c[h+920>>2]|0)+(d<<2)>>2]=i;c[h+912>>2]=d+1;i=c[b+24>>2]|0;k=c[b+28>>2]|0;n=+g[i+408>>2];o=+g[k+408>>2];b=j+64|0;g[b>>2]=+g[b>>2]*(n>o?n:o);b=j+68|0;g[b>>2]=+g[b>>2]*(+g[i+420>>2]+ +g[k+420>>2])*.5}l=m;return}function Sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0;p=l;l=l+128|0;c[b+72>>2]=(c[b+72>>2]|0)+1;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[p+16>>2]=c[d+16>>2];c[p+16+4>>2]=c[d+16+4>>2];c[p+16+8>>2]=c[d+16+8>>2];c[p+16+12>>2]=c[d+16+12>>2];c[p+32>>2]=c[d+32>>2];c[p+32+4>>2]=c[d+32+4>>2];c[p+32+8>>2]=c[d+32+8>>2];c[p+32+12>>2]=c[d+32+12>>2];c[p+48>>2]=c[d+48>>2];c[p+48+4>>2]=c[d+48+4>>2];c[p+48+8>>2]=c[d+48+8>>2];c[p+48+12>>2]=c[d+48+12>>2];n=c[e+4>>2]|0;o=+nb[c[(c[e>>2]|0)+48>>2]&15](e);Vb[c[(c[e>>2]|0)+8>>2]&127](e,d,p+112|0,p+96|0);f=+g[p+112>>2];if(+g[b+36>>2]>f)g[b+36>>2]=f;f=+g[p+96>>2];if(+g[b+52>>2]<f)g[b+52>>2]=f;f=+g[p+112+4>>2];if(+g[b+40>>2]>f)g[b+40>>2]=f;f=+g[p+96+4>>2];if(+g[b+56>>2]<f)g[b+56>>2]=f;f=+g[p+112+8>>2];if(+g[b+44>>2]>f)g[b+44>>2]=f;f=+g[p+96+8>>2];if(+g[b+60>>2]<f)g[b+60>>2]=f;k=c[b+68>>2]|0;if(!k){k=b+20|0;j=0}else{c[p+64>>2]=c[p+112>>2];c[p+64+4>>2]=c[p+112+4>>2];c[p+64+8>>2]=c[p+112+8>>2];c[p+64+12>>2]=c[p+112+12>>2];c[p+64+16>>2]=c[p+96>>2];c[p+64+16+4>>2]=c[p+96+4>>2];c[p+64+16+8>>2]=c[p+96+8>>2];c[p+64+16+12>>2]=c[p+96+12>>2];j=c[b+20>>2]|0;d=c[k+4>>2]|0;if(!d){c[6995]=(c[6995]|0)+1;d=sc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=d;i=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0))}else c[k+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=j;c[d+40>>2]=0;c[d>>2]=c[p+64>>2];c[d+4>>2]=c[p+64+4>>2];c[d+8>>2]=c[p+64+8>>2];c[d+12>>2]=c[p+64+12>>2];c[d+16>>2]=c[p+64+16>>2];c[d+20>>2]=c[p+64+20>>2];c[d+24>>2]=c[p+64+24>>2];c[d+28>>2]=c[p+64+28>>2];Pe(k,c[k>>2]|0,d);c[k+12>>2]=(c[k+12>>2]|0)+1;k=b+20|0;j=d}d=c[k>>2]|0;if((d|0)==(c[b+24>>2]|0)?(m=d|0?d<<1:1,(d|0)<(m|0)):0){if(!m)i=0;else{c[6995]=(c[6995]|0)+1;d=sc((m*80|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;d=c[k>>2]|0}if((d|0)>0){h=0;do{q=i+(h*80|0)|0;r=c[b+28>>2]|0;s=r+(h*80|0)|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=r+(h*80|0)+16|0;s=i+(h*80|0)+16|0;c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];s=r+(h*80|0)+32|0;q=i+(h*80|0)+32|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=i+(h*80|0)+48|0;s=r+(h*80|0)+48|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=i+(h*80|0)+64|0;r=r+(h*80|0)+64|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];h=h+1|0}while((h|0)!=(d|0))}d=c[b+28>>2]|0;if(d|0){if(a[b+32>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+28>>2]=0}a[b+32>>0]=1;c[b+28>>2]=i;c[b+24>>2]=m;d=c[k>>2]|0}s=c[b+28>>2]|0;r=s+(d*80|0)|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];r=s+(d*80|0)+16|0;c[r>>2]=c[p+16>>2];c[r+4>>2]=c[p+16+4>>2];c[r+8>>2]=c[p+16+8>>2];c[r+12>>2]=c[p+16+12>>2];r=s+(d*80|0)+32|0;c[r>>2]=c[p+32>>2];c[r+4>>2]=c[p+32+4>>2];c[r+8>>2]=c[p+32+8>>2];c[r+12>>2]=c[p+32+12>>2];r=s+(d*80|0)+48|0;c[r>>2]=c[p+48>>2];c[r+4>>2]=c[p+48+4>>2];c[r+8>>2]=c[p+48+8>>2];c[r+12>>2]=c[p+48+12>>2];s=s+(d*80|0)+64|0;c[s>>2]=e;c[s+4>>2]=n;g[s+8>>2]=o;c[s+12>>2]=j;c[k>>2]=(c[k>>2]|0)+1;l=p;return}function Td(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0;m=l;l=l+16|0;if(!(a[b+1308>>0]|0)){l=m;return}g[b+928>>2]=0.0;g[b+992>>2]=0.0;g[b+1056>>2]=0.0;c[b+712>>2]=0;c[b+712+4>>2]=0;c[b+712+8>>2]=0;c[b+712+12>>2]=0;jd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);Ib[c[(c[b>>2]|0)+44>>2]&511](b);e=+g[b+1284>>2];f=+g[b+1288>>2];h=+g[b+1292>>2];if(+g[b+696>>2]>=+g[b+680>>2]){d=(a[b+1300>>0]|0)==0?b+1128|0:b+1064|0;i=c[d+16>>2]|0;k=c[d+32>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=i;c[m+8>>2]=k;g[m+12>>2]=0.0;Ch(c[b+28>>2]|0,c[b+32>>2]|0,b+176|0,m,e,f,h,e,f,h)}if(+g[b+700>>2]>=+g[b+684>>2]){d=(a[b+1300>>0]|0)==0?b+1128|0:b+1064|0;i=c[d+20>>2]|0;k=c[d+36>>2]|0;c[m>>2]=c[d+4>>2];c[m+4>>2]=i;c[m+8>>2]=k;g[m+12>>2]=0.0;Ch(c[b+28>>2]|0,c[b+32>>2]|0,b+260|0,m,e,f,h,e,f,h)}if(+g[b+704>>2]>=+g[b+688>>2]){d=(a[b+1300>>0]|0)==0?b+1128|0:b+1064|0;i=c[d+24>>2]|0;k=c[d+40>>2]|0;c[m>>2]=c[d+8>>2];c[m+4>>2]=i;c[m+8>>2]=k;g[m+12>>2]=0.0;Ch(c[b+28>>2]|0,c[b+32>>2]|0,b+344|0,m,e,f,h,e,f,h)}k=0;do{f=+g[b+868+(k<<6)>>2];h=+g[b+868+(k<<6)+4>>2];j=+Xj(+g[b+1192+(k<<2)>>2],f,h);g[b+868+(k<<6)+52>>2]=j;do if(!(f>h)){if(f>j){c[b+868+(k<<6)+56>>2]=1;d=b+868+(k<<6)+48|0;g[d>>2]=j-f;if(!(j-f>3.1415927410125732))if(j-f<-3.1415927410125732)e=6.2831854820251465;else{i=16;break}else e=-6.2831854820251465;g[d>>2]=j-f+e;i=16;break}d=b+868+(k<<6)+56|0;if(h<j){c[d>>2]=2;d=b+868+(k<<6)+48|0;g[d>>2]=j-h;if(!(j-h>3.1415927410125732))if(j-h<-3.1415927410125732)e=6.2831854820251465;else{i=16;break}else e=-6.2831854820251465;g[d>>2]=j-h+e;i=16}else i=15}else{d=b+868+(k<<6)+56|0;i=15}while(0);if((i|0)==15?(i=0,c[d>>2]=0,a[b+868+(k<<6)+44>>0]|0):0)i=16;if((i|0)==16){K=b+1208+(k<<4)|0;c[m>>2]=c[K>>2];c[m+4>>2]=c[K+4>>2];c[m+8>>2]=c[K+8>>2];c[m+12>>2]=c[K+12>>2];K=b+428+(k*84|0)|0;d=c[b+28>>2]|0;J=+g[d+4>>2];I=+g[d+20>>2];H=+g[d+36>>2];F=+g[d+8>>2];E=+g[d+24>>2];D=+g[d+40>>2];B=+g[d+12>>2];A=+g[d+28>>2];z=+g[d+44>>2];i=c[b+32>>2]|0;x=+g[i+4>>2];w=+g[i+20>>2];v=+g[i+36>>2];t=+g[i+8>>2];s=+g[i+24>>2];r=+g[i+40>>2];p=+g[i+12>>2];n=+g[i+28>>2];f=+g[i+44>>2];c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;o=+g[m>>2];e=+g[m+4>>2];h=+g[m+8>>2];g[b+428+(k*84|0)+16>>2]=J*o+I*e+H*h;g[b+428+(k*84|0)+20>>2]=F*o+E*e+D*h;g[b+428+(k*84|0)+24>>2]=B*o+A*e+z*h;g[b+428+(k*84|0)+28>>2]=0.0;g[b+428+(k*84|0)+32>>2]=x*-o+w*-e+v*-h;g[b+428+(k*84|0)+36>>2]=t*-o+s*-e+r*-h;g[b+428+(k*84|0)+40>>2]=p*-o+n*-e+f*-h;g[b+428+(k*84|0)+44>>2]=0.0;G=(J*o+I*e+H*h)*+g[d+456>>2];C=(F*o+E*e+D*h)*+g[d+460>>2];y=(B*o+A*e+z*h)*+g[d+464>>2];g[b+428+(k*84|0)+48>>2]=G;g[b+428+(k*84|0)+52>>2]=C;g[b+428+(k*84|0)+56>>2]=y;g[b+428+(k*84|0)+60>>2]=0.0;u=(x*-o+w*-e+v*-h)*+g[i+456>>2];q=(t*-o+s*-e+r*-h)*+g[i+460>>2];j=(p*-o+n*-e+f*-h)*+g[i+464>>2];g[b+428+(k*84|0)+64>>2]=u;g[b+428+(k*84|0)+68>>2]=q;g[b+428+(k*84|0)+72>>2]=j;g[b+428+(k*84|0)+76>>2]=0.0;g[b+428+(k*84|0)+80>>2]=(J*o+I*e+H*h)*G+(F*o+E*e+D*h)*C+(B*o+A*e+z*h)*y+((x*-o+w*-e+v*-h)*u+(t*-o+s*-e+r*-h)*q+(p*-o+n*-e+f*-h)*j)}k=k+1|0}while((k|0)!=3);l=m;return}function Ud(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0;i=l;l=l+464|0;c[i+128>>2]=c[d>>2];c[i+128+4>>2]=c[d+4>>2];c[i+128+8>>2]=c[d+8>>2];c[i+128+12>>2]=c[d+12>>2];c[i+128+16>>2]=c[d+16>>2];c[i+128+16+4>>2]=c[d+16+4>>2];c[i+128+16+8>>2]=c[d+16+8>>2];c[i+128+16+12>>2]=c[d+16+12>>2];c[i+128+32>>2]=c[d+32>>2];c[i+128+32+4>>2]=c[d+32+4>>2];c[i+128+32+8>>2]=c[d+32+8>>2];c[i+128+32+12>>2]=c[d+32+12>>2];k=i+128+48|0;c[k>>2]=c[d+48>>2];c[k+4>>2]=c[d+48+4>>2];c[k+8>>2]=c[d+48+8>>2];c[k+12>>2]=c[d+48+12>>2];c[i+64>>2]=c[e>>2];c[i+64+4>>2]=c[e+4>>2];c[i+64+8>>2]=c[e+8>>2];c[i+64+12>>2]=c[e+12>>2];c[i+64+16>>2]=c[e+16>>2];c[i+64+16+4>>2]=c[e+16+4>>2];c[i+64+16+8>>2]=c[e+16+8>>2];c[i+64+16+12>>2]=c[e+16+12>>2];c[i+64+32>>2]=c[e+32>>2];c[i+64+32+4>>2]=c[e+32+4>>2];c[i+64+32+8>>2]=c[e+32+8>>2];c[i+64+32+12>>2]=c[e+32+12>>2];j=i+64+48|0;c[j>>2]=c[e+48>>2];c[j+4>>2]=c[e+48+4>>2];c[j+8>>2]=c[e+48+8>>2];c[j+12>>2]=c[e+48+12>>2];If(i+128|0,i+64|0,i+256|0,i+192|0);t=+g[i+192>>2];m=t*+g[i+256+4>>2];r=t*+g[i+256+8>>2];g[i+16>>2]=+g[i+256>>2]*t;g[i+16+4>>2]=m;g[i+16+8>>2]=r;g[i+16+12>>2]=0.0;c[i+256>>2]=0;c[i+256+4>>2]=0;c[i+256+8>>2]=0;c[i+256+12>>2]=0;c[i+192+48>>2]=0;c[i+192+48+4>>2]=0;c[i+192+48+8>>2]=0;c[i+192+48+12>>2]=0;yh(i+128|0,i);r=+g[i>>2];m=+g[i+4>>2];t=+g[i+8>>2];q=+g[i+12>>2];o=r*(2.0/(r*r+m*m+t*t+q*q));n=m*(2.0/(r*r+m*m+t*t+q*q));p=t*(2.0/(r*r+m*m+t*t+q*q));g[i+192>>2]=1.0-(m*n+t*p);g[i+192+4>>2]=r*n-q*p;g[i+192+8>>2]=r*p+q*n;g[i+192+12>>2]=0.0;g[i+192+16>>2]=r*n+q*p;g[i+192+20>>2]=1.0-(r*o+t*p);g[i+192+24>>2]=m*p-q*o;g[i+192+28>>2]=0.0;g[i+192+32>>2]=r*p-q*n;g[i+192+36>>2]=m*p+q*o;g[i+192+40>>2]=1.0-(r*o+m*n);g[i+192+44>>2]=0.0;kh(b,i+192|0,i+256|0,i+16|0,i+48|0,i+32|0);c[i+256>>2]=6284;c[i+256+36>>2]=c[d>>2];c[i+256+36+4>>2]=c[d+4>>2];c[i+256+36+8>>2]=c[d+8>>2];c[i+256+36+12>>2]=c[d+12>>2];c[i+256+52>>2]=c[d+16>>2];c[i+256+52+4>>2]=c[d+16+4>>2];c[i+256+52+8>>2]=c[d+16+8>>2];c[i+256+52+12>>2]=c[d+16+12>>2];c[i+256+68>>2]=c[d+32>>2];c[i+256+68+4>>2]=c[d+32+4>>2];c[i+256+68+8>>2]=c[d+32+8>>2];c[i+256+68+12>>2]=c[d+32+12>>2];s=i+256+84|0;c[s>>2]=c[d+48>>2];c[s+4>>2]=c[d+48+4>>2];c[s+8>>2]=c[d+48+8>>2];c[s+12>>2]=c[d+48+12>>2];c[i+256+100>>2]=c[e>>2];c[i+256+100+4>>2]=c[e+4>>2];c[i+256+100+8>>2]=c[e+8>>2];c[i+256+100+12>>2]=c[e+12>>2];c[i+256+116>>2]=c[e+16>>2];c[i+256+116+4>>2]=c[e+16+4>>2];c[i+256+116+8>>2]=c[e+16+8>>2];c[i+256+116+12>>2]=c[e+16+12>>2];c[i+256+132>>2]=c[e+32>>2];c[i+256+132+4>>2]=c[e+32+4>>2];c[i+256+132+8>>2]=c[e+32+8>>2];c[i+256+132+12>>2]=c[e+32+12>>2];d=i+256+148|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];c[i+256+180>>2]=a;c[i+256+184>>2]=f;g[i+256+188>>2]=h;c[i+256+192>>2]=b;n=+g[d>>2]-+g[s>>2];m=+g[i+256+152>>2]-+g[i+256+88>>2];o=+g[i+256+156>>2]-+g[i+256+92>>2];h=1.0/+D(+(n*n+m*m+o*o));r=n*h==0.0?999999984306749440.0:1.0/(n*h);g[i+256+4>>2]=r;q=m*h==0.0?999999984306749440.0:1.0/(m*h);g[i+256+8>>2]=q;p=o*h==0.0?999999984306749440.0:1.0/(o*h);g[i+256+12>>2]=p;c[i+256+20>>2]=r<0.0&1;c[i+256+24>>2]=q<0.0&1;c[i+256+28>>2]=p<0.0&1;g[i+256+32>>2]=o*o*h+(n*n*h+m*m*h);f=c[a+68>>2]|0;$b[c[(c[f>>2]|0)+24>>2]&7](f,k,j,i+256|0,i+48|0,i+32|0);l=i;return}function Vd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=d;g[b+28>>2]=0.0;c[b+32>>2]=0;c[b+36>>2]=1;g[b+40>>2]=1.0;a[b+44>>0]=1;c[b+48>>2]=0;a[b+52>>0]=0;a[b+53>>0]=1;a[b+54>>0]=1;g[b+56>>2]=.03999999910593033;a[b+60>>0]=0;g[b+64>>2]=0.0;c[b+68>>2]=e;c[b+72>>2]=0;a[b+76>>0]=1;c[b+80>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;g[b+92>>2]=.6000000238418579;g[b+96>>2]=1.0;g[b+100>>2]=.30000001192092896;g[b+104>>2]=.01666666753590107;g[b+108>>2]=0.0;g[b+116>>2]=20.0;c[b+112>>2]=10;g[b+124>>2]=.20000000298023224;g[b+128>>2]=.20000000298023224;g[b+132>>2]=0.0;g[b+136>>2]=.20000000298023224;g[b+140>>2]=0.0;g[b+120>>2]=1.0;c[b+144>>2]=1;g[b+148>>2]=-.03999999910593033;g[b+152>>2]=.10000000149011612;g[b+156>>2]=0.0;g[b+160>>2]=.8500000238418579;c[b+164>>2]=260;c[b+168>>2]=2;c[b+172>>2]=128;g[b+176>>2]=100.0;g[b+180>>2]=1000000015047466219876688.0e6;g[b+184>>2]=0.0;g[b+188>>2]=.20000000298023224;c[b>>2]=4360;a[b+208>>0]=1;c[b+204>>2]=0;c[b+196>>2]=0;c[b+200>>2]=0;c[b+212>>2]=0;c[b+216>>2]=f;a[b+240>>0]=1;c[b+236>>2]=0;c[b+228>>2]=0;c[b+232>>2]=0;a[b+260>>0]=1;c[b+256>>2]=0;c[b+248>>2]=0;c[b+252>>2]=0;c[b+264>>2]=0;c[b+268>>2]=-1054867456;a[b+290>>0]=0;a[b+291>>0]=0;c[b+272>>2]=0;c[b+272+4>>2]=0;c[b+272+8>>2]=0;c[b+272+12>>2]=0;a[b+308>>0]=1;c[b+304>>2]=0;c[b+296>>2]=0;c[b+300>>2]=0;c[b+312>>2]=0;a[b+316>>0]=1;a[b+336>>0]=1;c[b+332>>2]=0;c[b+324>>2]=0;c[b+328>>2]=0;c[b+340>>2]=0;if(!f){c[6995]=(c[6995]|0)+1;e=sc(255)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5052;a[e+20>>0]=1;c[e+16>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[e+40>>0]=1;c[e+36>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;a[e+60>>0]=1;c[e+56>>2]=0;c[e+48>>2]=0;c[e+52>>2]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;a[e+160>>0]=1;c[e+156>>2]=0;c[e+148>>2]=0;c[e+152>>2]=0;a[e+180>>0]=1;c[e+176>>2]=0;c[e+168>>2]=0;c[e+172>>2]=0;a[e+208>>0]=1;c[e+204>>2]=0;c[e+196>>2]=0;c[e+200>>2]=0;c[e+232>>2]=0;c[e+224>>2]=0;c[e+212>>2]=14;c[e+216>>2]=15;c[e+220>>2]=16;c[b+216>>2]=e;e=1}else e=0;a[b+289>>0]=e;c[6995]=(c[6995]|0)+1;e=sc(87)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5768;a[e+20>>0]=1;c[e+16>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[e+40>>0]=1;c[e+36>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;a[e+60>>0]=1;c[e+56>>2]=0;c[e+48>>2]=0;c[e+52>>2]=0;a[e+64>>0]=1;c[b+220>>2]=e;a[b+288>>0]=1;c[6995]=(c[6995]|0)+1;e=sc(107)|0;if(!e){f=0;h=c[b+216>>2]|0;c[f>>2]=4580;e=f+4|0;c[e>>2]=0;e=f+8|0;c[e>>2]=h;e=f+12|0;c[e>>2]=0;e=f+16|0;c[e>>2]=0;e=f+20|0;c[e>>2]=0;e=f+24|0;c[e>>2]=d;d=f+44|0;a[d>>0]=1;d=f+40|0;c[d>>2]=0;d=f+32|0;c[d>>2]=0;d=f+36|0;c[d>>2]=0;d=f+64|0;a[d>>0]=1;d=f+60|0;c[d>>2]=0;d=f+52|0;c[d>>2]=0;d=f+56|0;c[d>>2]=0;d=f+84|0;a[d>>0]=1;d=f+80|0;c[d>>2]=0;d=f+72|0;c[d>>2]=0;d=f+76|0;c[d>>2]=0;c[b+212>>2]=f;return}c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16;e=c[b+216>>2]|0;c[h>>2]=4580;f=h+4|0;c[f>>2]=0;f=h+8|0;c[f>>2]=e;f=h+12|0;c[f>>2]=0;f=h+16|0;c[f>>2]=0;f=h+20|0;c[f>>2]=0;f=h+24|0;c[f>>2]=d;d=h+44|0;a[d>>0]=1;d=h+40|0;c[d>>2]=0;d=h+32|0;c[d>>2]=0;d=h+36|0;c[d>>2]=0;d=h+64|0;a[d>>0]=1;d=h+60|0;c[d>>2]=0;d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+84|0;a[d>>0]=1;d=h+80|0;c[d>>2]=0;d=h+72|0;c[d>>2]=0;d=h+76|0;c[d>>2]=0;c[b+212>>2]=h;return}function Wd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,E=0;C=l;l=l+272|0;z=+g[e+48>>2]-+g[d+48>>2];A=+g[e+52>>2]-+g[d+52>>2];B=+g[e+56>>2]-+g[d+56>>2];If(d,e,C+256|0,C+208|0);v=+g[C+208>>2];t=+g[C+256>>2]*v;u=v*+g[C+256+4>>2];v=v*+g[C+256+8>>2];g[C+192>>2]=t;g[C+192+4>>2]=u;g[C+192+8>>2]=v;g[C+192+12>>2]=0.0;w=+g[h+48>>2]-+g[f+48>>2];x=+g[h+52>>2]-+g[f+52>>2];y=+g[h+56>>2]-+g[f+56>>2];If(f,h,C+256|0,C+208|0);r=+g[C+208>>2];p=+g[C+256>>2]*r;q=r*+g[C+256+4>>2];r=r*+g[C+256+8>>2];g[C+176>>2]=p;g[C+176+4>>2]=q;g[C+176+8>>2]=r;g[C+176+12>>2]=0.0;e=c[b+12>>2]|0;s=+nb[c[(c[e>>2]|0)+16>>2]&15](e);e=c[b+16>>2]|0;if(!e)m=0.0;else m=+nb[c[(c[e>>2]|0)+16>>2]&15](e);s=s*+D(+(t*t+u*u+v*v))+m*+D(+(p*p+q*q+r*r));if(s+ +D(+((w-z)*(w-z)+(x-A)*(x-A)+(y-B)*(y-B)))==0.0){i=0;l=C;return i|0}c[C+208>>2]=9504;g[C+208+36>>2]=999999984306749440.0;a[C+208+40>>0]=0;Jd(b,d,f,C+208|0);h=(a[C+208+40>>0]|0)==0;c[C+256>>2]=c[C+208+20>>2];c[C+256+4>>2]=c[C+208+20+4>>2];c[C+256+8>>2]=c[C+208+20+8>>2];c[C+256+12>>2]=c[C+208+20+12>>2];a:do if(!h?(o=c[C+208+4>>2]|0,k=c[C+208+8>>2]|0,n=c[C+208+12>>2]|0,v=(w-z)*(c[j>>2]=o,+g[j>>2]),v=v+(x-A)*(c[j>>2]=k,+g[j>>2]),!(s+(v+(y-B)*(c[j>>2]=n,+g[j>>2]))<=1.1920928955078125e-07)):0){m=+g[C+208+16>>2];p=+g[C+208+36>>2]+ +g[i+172>>2];b:do if(p>1.0000000474974513e-03){h=0;q=0.0;r=p;while(1){e=c[i+168>>2]|0;if(e|0){E=c[(c[e>>2]|0)+28>>2]|0;c[C+112>>2]=1065353216;c[C+112+4>>2]=1065353216;c[C+112+8>>2]=1065353216;g[C+112+12>>2]=0.0;Qb[E&7](e,C+256|0,.20000000298023224,C+112|0)}m=(w-z)*(c[j>>2]=o,+g[j>>2]);m=m+(x-A)*(c[j>>2]=k,+g[j>>2]);m=s+(m+(y-B)*(c[j>>2]=n,+g[j>>2]));if(m<=1.1920928955078125e-07){k=0;break a}p=q+r/m;if(!(!(p<=q)&(!(p<0.0)&!(p>1.0)))){k=0;break a}Af(d,z,A,B,C+192|0,p,C+112|0);Af(f,w,x,y,C+176|0,p,C+48|0);k=c[i+168>>2]|0;if(k|0){E=c[(c[k>>2]|0)+28>>2]|0;c[C>>2]=1065353216;c[C+4>>2]=0;c[C+8>>2]=0;g[C+12>>2]=0.0;Qb[E&7](k,C+112+48|0,.20000000298023224,C)}Jb[c[c[i>>2]>>2]&31](i,p);c[C>>2]=9504;g[C+36>>2]=999999984306749440.0;a[C+40>>0]=0;Jd(b,C+112|0,C+48|0,C);if(!(a[C+40>>0]|0)){k=15;break}m=+g[C+36>>2];q=+g[i+172>>2];c[C+256>>2]=c[C+20>>2];c[C+256+4>>2]=c[C+20+4>>2];c[C+256+8>>2]=c[C+20+8>>2];c[C+256+12>>2]=c[C+20+12>>2];e=h+1|0;if((h|0)>63){k=16;break}n=c[C+12>>2]|0;k=c[C+8>>2]|0;o=c[C+4>>2]|0;r=m+q;if(!(r>1.0000000474974513e-03)){m=+g[C+16>>2];break b}else{h=e;q=p}}if((k|0)==15)Sb[c[(c[i>>2]|0)+8>>2]&127](i,-1,h);else if((k|0)==16)Sb[c[(c[i>>2]|0)+8>>2]&127](i,-2,e);k=0;break a}else p=0.0;while(0);g[i+164>>2]=p;c[i+132>>2]=o;c[i+136>>2]=k;c[i+140>>2]=n;g[i+144>>2]=m;c[i+148>>2]=c[C+256>>2];c[i+148+4>>2]=c[C+256+4>>2];c[i+148+8>>2]=c[C+256+8>>2];c[i+148+12>>2]=c[C+256+12>>2];k=1}else k=0;while(0);E=k;l=C;return E|0}function Xd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,E=0.0,F=0,G=0;F=l;l=l+32|0;A=+g[b+48>>2]-+g[b+112>>2];h=+g[b+52>>2]-+g[b+116>>2];E=+g[b+56>>2]-+g[b+120>>2];B=A*+g[b+64>>2]+h*+g[b+80>>2]+E*+g[b+96>>2];C=A*+g[b+68>>2]+h*+g[b+84>>2]+E*+g[b+100>>2];E=A*+g[b+72>>2]+h*+g[b+88>>2]+E*+g[b+104>>2];e=c[a+8>>2]|0;z=c[a+4>>2]|0;h=+g[z+32>>2]*+g[z+16>>2];A=h+ +g[a+12>>2];p=+g[e+76>>2];q=+g[e+60>>2];r=+g[e+80>>2];s=+g[e+64>>2];t=+g[e+84>>2];u=+g[e+68>>2];v=+g[e+92>>2];w=+g[e+96>>2];x=+g[e+100>>2];j=(r-s)*(x-u)-(t-u)*(w-s);k=(t-u)*(v-q)-(p-q)*(x-u);o=(p-q)*(w-s)-(r-s)*(v-q);if(!(o*o+(j*j+k*k)>=1.4210854715202004e-14)){l=F;return}n=1.0/+D(+(o*o+(j*j+k*k)));i=(B-q)*j*n+k*n*(C-s)+o*n*(E-u);if(i<0.0){i=-i;m=-(j*n);j=-(k*n);k=-(o*n)}else{m=j*n;j=k*n;k=o*n}if(!(i<A)){l=F;return}o=(E-u)*(j*(p-q)-m*(r-s))+((B-q)*(k*(r-s)-j*(t-u))+(C-s)*(m*(t-u)-k*(p-q)));y=(E-t)*(j*(v-p)-m*(w-r))+((B-p)*(k*(w-r)-j*(x-t))+(C-r)*(m*(x-t)-k*(v-p)));x=(E-x)*(j*(q-v)-m*(s-w))+((B-v)*(k*(s-w)-j*(u-x))+(C-w)*(m*(u-x)-k*(q-v)));if(!(x>0.0&(o>0.0&y>0.0)|x<=0.0&(o<=0.0&y<=0.0))){if((xb[c[(c[e>>2]|0)+100>>2]&127](e)|0)<=0){l=F;return}e=0;z=0;o=0.0;n=0.0;i=0.0;do{G=c[a+8>>2]|0;Vb[c[(c[G>>2]|0)+104>>2]&127](G,z,F+16|0,F);s=+g[F+16>>2];x=+g[F+16+4>>2];u=+g[F+16+8>>2];t=+g[F>>2]-s;y=+g[F+4>>2]-x;v=+g[F+8>>2]-u;do if((B-s)*t+(C-x)*y+(E-u)*v>0.0)if((B-s)*t+(C-x)*y+(E-u)*v<t*t+y*y+v*v){r=((B-s)*t+(C-x)*y+(E-u)*v)/(t*t+y*y+v*v);w=r;p=B-s-t*r;q=C-x-y*r;r=E-u-v*r;break}else{w=1.0;p=B-s-t;q=C-x-y;r=E-u-v;break}else{w=0.0;p=B-s;q=C-x;r=E-u}while(0);if(p*p+q*q+r*r<A*A){e=1;o=s+t*w;n=u+v*w;i=x+y*w}z=z+1|0;G=c[a+8>>2]|0}while((z|0)<(xb[c[(c[G>>2]|0)+100>>2]&127](G)|0));if(!(e&1)){l=F;return}else{p=A*A;s=o;r=n;q=i}}else{p=A*A;s=B-i*m;r=E-i*k;q=C-i*j}n=B-s;o=C-q;i=E-r;if(!(n*n+o*o+i*i<p)){l=F;return}if(n*n+o*o+i*i>1.1920928955078125e-07){j=+D(+(n*n+o*o+i*i));h=h-j;m=n*(1.0/j);k=i*(1.0/j);j=o*(1.0/j)}i=-h;h=+g[b+64>>2];if(f){y=+g[b+68>>2];A=+g[b+72>>2];B=h*m+y*j+A*k;p=+g[b+80>>2];t=+g[b+84>>2];u=+g[b+88>>2];C=m*p+j*t+k*u;v=+g[b+96>>2];w=+g[b+100>>2];x=+g[b+104>>2];E=m*v+j*w+k*x;g[F+16>>2]=-B;g[F+16+4>>2]=-C;g[F+16+8>>2]=-E;g[F+16+12>>2]=0.0;C=s*p+q*t+r*u+ +g[b+116>>2]+C*i;E=s*v+q*w+r*x+ +g[b+120>>2]+E*i;g[F>>2]=s*h+q*y+r*A+ +g[b+112>>2]+B*i;g[F+4>>2]=C;g[F+8>>2]=E;g[F+12>>2]=0.0;Tb[c[(c[d>>2]|0)+16>>2]&15](d,F+16|0,F,i);l=F;return}else{G=c[(c[d>>2]|0)+16>>2]|0;A=+g[b+68>>2];B=+g[b+72>>2];v=+g[b+80>>2];w=+g[b+84>>2];C=+g[b+88>>2];x=+g[b+96>>2];y=+g[b+100>>2];E=+g[b+104>>2];g[F+16>>2]=h*m+A*j+B*k;g[F+16+4>>2]=m*v+j*w+k*C;g[F+16+8>>2]=m*x+j*y+k*E;g[F+16+12>>2]=0.0;C=s*v+q*w+r*C+ +g[b+116>>2];E=s*x+q*y+r*E+ +g[b+120>>2];g[F>>2]=s*h+q*A+r*B+ +g[b+112>>2];g[F+4>>2]=C;g[F+8>>2]=E;g[F+12>>2]=0.0;Tb[G&15](d,F+16|0,F,i);l=F;return}}function Yd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;i=l;l=l+16|0;if((a[22480]|0)==0?Uz(22480)|0:0){c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;ef(23152,0.0,0,0,i)}c[5839]=c[5839]|1;g[5889]=0.0;j=+g[5899]*0.0;k=+g[5900]*0.0;g[5894]=+g[5898]*0.0;g[5895]=j;g[5896]=k;g[5897]=0.0;c[5902]=0;c[5903]=0;c[5904]=0;c[5905]=0;k=+g[5891]*0.0;j=+g[5892]*0.0;g[5943]=+g[5890]*0.0;g[5944]=k;g[5945]=j;g[5946]=0.0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=23152;c[b+32>>2]=d;g[b+36>>2]=0.0;g[b+40>>2]=.05000000074505806;c[b+44>>2]=0;c[b>>2]=4704;c[b+112>>2]=c[e>>2];c[b+112+4>>2]=c[e+4>>2];c[b+112+8>>2]=c[e+8>>2];c[b+112+12>>2]=c[e+12>>2];c[b+128>>2]=c[e+16>>2];c[b+128+4>>2]=c[e+16+4>>2];c[b+128+8>>2]=c[e+16+8>>2];c[b+128+12>>2]=c[e+16+12>>2];c[b+144>>2]=c[e+32>>2];c[b+144+4>>2]=c[e+32+4>>2];c[b+144+8>>2]=c[e+32+8>>2];c[b+144+12>>2]=c[e+32+12>>2];c[b+160>>2]=c[e+48>>2];c[b+160+4>>2]=c[e+48+4>>2];c[b+160+8>>2]=c[e+48+8>>2];c[b+160+12>>2]=c[e+48+12>>2];e=b+680|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;g[b+792>>2]=0.0;g[b+808>>2]=0.0;a[b+789>>0]=0;g[b+796>>2]=0.0;g[b+812>>2]=0.0;a[b+790>>0]=0;g[b+800>>2]=0.0;g[b+816>>2]=0.0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=f&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;y=+g[b+112>>2];E=+g[d+4>>2];x=+g[b+128>>2];D=+g[d+8>>2];w=+g[b+144>>2];C=+g[d+12>>2];v=+g[b+116>>2];u=+g[b+132>>2];t=+g[b+148>>2];s=+g[b+120>>2];q=+g[b+136>>2];o=+g[b+152>>2];B=+g[d+20>>2];A=+g[d+24>>2];z=+g[d+28>>2];r=+g[d+36>>2];p=+g[d+40>>2];n=+g[d+44>>2];G=+g[b+160>>2];F=+g[b+164>>2];k=+g[b+168>>2];m=+g[d+52>>2]+(E*G+D*F+C*k);j=B*G+A*F+z*k+ +g[d+56>>2];k=r*G+p*F+n*k+ +g[d+60>>2];g[b+48>>2]=y*E+x*D+w*C;g[b+52>>2]=E*v+D*u+C*t;g[b+56>>2]=E*s+D*q+C*o;g[b+60>>2]=0.0;g[b+64>>2]=y*B+x*A+w*z;g[b+68>>2]=v*B+u*A+t*z;g[b+72>>2]=s*B+q*A+o*z;g[b+76>>2]=0.0;g[b+80>>2]=y*r+x*p+w*n;g[b+84>>2]=v*r+u*p+t*n;g[b+88>>2]=s*r+q*p+o*n;g[b+92>>2]=0.0;g[b+96>>2]=m;g[b+100>>2]=j;g[b+104>>2]=k;g[b+108>>2]=0.0;jd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);l=i;return}function Zd(b,d,e,f,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+288|0;c[w+208>>2]=c[d>>2];c[w+208+4>>2]=c[d+4>>2];c[w+208+8>>2]=c[d+8>>2];c[w+208+12>>2]=c[d+12>>2];o=w+208+16|0;c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];e=w+208+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];v=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;s=c[j+16>>2]|0;t=c[j+12>>2]|0;p=c[j+20>>2]|0;c[w+156>>2]=c[w+208>>2];c[w+156+4>>2]=c[w+208+4>>2];c[w+156+8>>2]=c[w+208+8>>2];c[w+156+12>>2]=c[w+208+12>>2];c[w+172>>2]=c[o>>2];c[w+172+4>>2]=c[o+4>>2];c[w+172+8>>2]=c[o+8>>2];c[w+172+12>>2]=c[o+12>>2];c[w+188>>2]=c[e>>2];c[w+188+4>>2]=c[e+4>>2];c[w+188+8>>2]=c[e+8>>2];c[w+188+12>>2]=c[e+12>>2];e=c[b+128>>2]|0;if((e|0)==(c[b+132>>2]|0)?(u=e|0?e<<1:1,(e|0)<(u|0)):0){if(!u)d=0;else{c[6995]=(c[6995]|0)+1;d=sc((u*284|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+128>>2]|0}if((e|0)>0){f=0;do{j=c[b+136>>2]|0;m=d+(f*284|0)|0;n=j+(f*284|0)|0;o=m+92|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));m=d+(f*284|0)+92|0;n=j+(f*284|0)+92|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=j+(f*284|0)+108|0;n=d+(f*284|0)+108|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];n=j+(f*284|0)+124|0;m=d+(f*284|0)+124|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(f*284|0)+140|0;n=j+(f*284|0)+140|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(f*284|0)+156|0;n=j+(f*284|0)+156|0;o=m+128|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f=f+1|0}while((f|0)!=(e|0))}e=c[b+136>>2]|0;if(e|0){if(a[b+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=d;c[b+132>>2]=u;e=c[b+128>>2]|0}d=c[b+136>>2]|0;m=d+(e*284|0)|0;n=w;o=m+92|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));m=d+(e*284|0)+92|0;c[m>>2]=c[w+92>>2];c[m+4>>2]=c[w+92+4>>2];c[m+8>>2]=c[w+92+8>>2];c[m+12>>2]=c[w+92+12>>2];m=d+(e*284|0)+108|0;c[m>>2]=c[w+108>>2];c[m+4>>2]=c[w+108+4>>2];c[m+8>>2]=c[w+108+8>>2];c[m+12>>2]=c[w+108+12>>2];m=d+(e*284|0)+124|0;c[m>>2]=c[w+124>>2];c[m+4>>2]=c[w+124+4>>2];c[m+8>>2]=c[w+124+8>>2];c[m+12>>2]=c[w+124+12>>2];m=d+(e*284|0)+140|0;c[m>>2]=c[w+140>>2];c[m+4>>2]=c[w+140+4>>2];c[m+8>>2]=c[w+140+8>>2];c[m+12>>2]=c[w+140+12>>2];d=d+(e*284|0)+156|0;m=d;n=w+156|0;o=m+48|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));g[d+48>>2]=h;c[d+52>>2]=t;g[d+56>>2]=i;c[d+60>>2]=v;c[d+64>>2]=q;c[d+68>>2]=r;c[d+72>>2]=s;g[d+76>>2]=0.0;g[d+80>>2]=0.0;g[d+84>>2]=0.0;g[d+88>>2]=.10000000149011612;c[d+92>>2]=p;g[d+96>>2]=0.0;g[d+100>>2]=0.0;a[d+104>>0]=k&1;m=d+105|0;n=w+256|0;o=m+23|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));k=c[b+128>>2]|0;c[b+128>>2]=k+1;k=(c[b+136>>2]|0)+(k*284|0)|0;Tg(c[b+108>>2]|0,k,0);xe(c[b+108>>2]|0,c[b+136>>2]|0,(c[b+128>>2]|0)+-1|0,0);l=w;return k|0}function _d(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((h|0)<0){o=c[b+8>>2]|0;+wb[c[(c[o>>2]|0)+12>>2]&3](o,d,e,f,g,c[b+12>>2]|0,c[b+16>>2]|0,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);return}l=c[b+16>>2]|0;a:do if((l|0)>0){j=c[b+12>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=c[k>>2]|0;n=c[o+28>>2]|0;if((c[((c[n+208>>2]|0)>-1?n:c[o+32>>2]|0)+208>>2]|0)==(h|0)){o=k;break a}i=i+1|0;if((i|0)>=(l|0)){o=0;break}}}else{i=0;o=0}while(0);if((i|0)<(l|0)){k=c[b+12>>2]|0;j=0;do{n=c[k+(i<<2)>>2]|0;m=c[n+28>>2]|0;j=((c[((c[m+208>>2]|0)>-1?m:c[n+32>>2]|0)+208>>2]|0)==(h|0)&1)+j|0;i=i+1|0}while((i|0)!=(l|0));n=j}else n=0;i=c[b+4>>2]|0;if((c[i+80>>2]|0)<2){m=c[b+8>>2]|0;+wb[c[(c[m>>2]|0)+12>>2]&3](m,d,e,f,g,o,n,i,c[b+20>>2]|0,c[b+24>>2]|0);return}if((e|0)>0){l=0;i=c[b+32>>2]|0;j=c[b+36>>2]|0;do{m=d+(l<<2)|0;if((i|0)==(j|0)){h=j|0?j<<1:1;if((j|0)<(h|0)){if(!h)i=0;else{c[6995]=(c[6995]|0)+1;i=sc((h<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+32>>2]|0}if((j|0)>0){k=0;do{c[i+(k<<2)>>2]=c[(c[b+40>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+40>>2]|0;if(k){if(a[b+44>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);j=c[b+32>>2]|0}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=i;c[b+36>>2]=h;i=j;j=h}else i=j}c[(c[b+40>>2]|0)+(i<<2)>>2]=c[m>>2];i=i+1|0;c[b+32>>2]=i;l=l+1|0}while((l|0)!=(e|0))}if((g|0)>0){l=0;i=c[b+52>>2]|0;j=c[b+56>>2]|0;do{m=f+(l<<2)|0;if((i|0)==(j|0)){h=j|0?j<<1:1;if((j|0)<(h|0)){if(!h)i=0;else{c[6995]=(c[6995]|0)+1;i=sc((h<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+52>>2]|0}if((j|0)>0){k=0;do{c[i+(k<<2)>>2]=c[(c[b+60>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+60>>2]|0;if(k){if(a[b+64>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);j=c[b+52>>2]|0}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=i;c[b+56>>2]=h;i=j;j=h}else i=j}c[(c[b+60>>2]|0)+(i<<2)>>2]=c[m>>2];i=i+1|0;c[b+52>>2]=i;l=l+1|0}while((l|0)!=(g|0))}if((n|0)>0){m=0;i=c[b+72>>2]|0;j=c[b+76>>2]|0;do{l=o+(m<<2)|0;if((i|0)==(j|0)){h=j|0?j<<1:1;if((j|0)<(h|0)){if(!h){k=0;i=j}else{c[6995]=(c[6995]|0)+1;i=sc((h<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=i;i=c[b+72>>2]|0}if((i|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+80>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[b+80>>2]|0;if(j){if(a[b+84>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);i=c[b+72>>2]|0}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=k;c[b+76>>2]=h;j=h}else i=j}c[(c[b+80>>2]|0)+(i<<2)>>2]=c[l>>2];i=i+1|0;c[b+72>>2]=i;m=m+1|0}while((m|0)!=(n|0))}else i=c[b+72>>2]|0;if(((c[b+52>>2]|0)+i|0)<=(c[(c[b+4>>2]|0)+80>>2]|0))return;gh(b);return}function $d(d,f,h,i){d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;w=l;l=l+80|0;v=c[d+52>>2]|0;c[w>>2]=7212;c[w+4>>2]=v;c[w+8>>2]=f;c[w+60>>2]=0;v=c[d+56>>2]|0;if(!(a[v+60>>0]|0)){f=c[v+56>>2]|0;if((f|0)>0){p=0;d=0;m=c[v+96>>2]|0;while(1){d=d+1|0;if(!(+g[h>>2]>+g[m+16>>2])?!(+g[i>>2]<+g[m>>2]):0)j=1;else j=0;if(!(!(+g[h+8>>2]>+g[m+24>>2])?!(+g[i+8>>2]<+g[m+8>>2]):0))j=0;if(!(+g[h+4>>2]>+g[m+20>>2])?!(+g[i+4>>2]<+g[m+4>>2]):0){k=c[m+32>>2]|0;if(j&(k|0)==-1){Sb[c[(c[w>>2]|0)+8>>2]&127](w,c[m+36>>2]|0,c[m+40>>2]|0);f=c[v+56>>2]|0;o=43}else{n=(k|0)==-1;o=42}}else{k=c[m+32>>2]|0;n=(k|0)==-1;j=0;o=42}if((o|0)==42){o=0;if(n|j)o=43;else{m=m+(k<<6)|0;j=k+p|0}}if((o|0)==43){m=m+64|0;j=p+1|0}if((j|0)<(f|0))p=j;else break}}else d=0;if((c[6160]|0)>=(d|0)){l=w;return}c[6160]=d;l=w;return}z=+g[h>>2];D=+g[h+4>>2];H=+g[h+8>>2];G=+g[v+4>>2];z=z<G?G:z;C=+g[v+8>>2];D=D<C?C:D;y=+g[v+12>>2];H=H<y?y:H;I=+g[v+20>>2];E=+g[v+24>>2];A=+g[v+28>>2];F=+g[v+36>>2];B=+g[v+40>>2];x=+g[v+44>>2];s=~~(((I<z?I:z)-G)*F)&65535&-2;b[w+70>>1]=s;t=~~(((E<D?E:D)-C)*B)&65535&-2;u=~~(((A<H?A:H)-y)*x)&65535&-2;b[w+70+2>>1]=t;b[w+70+4>>1]=u;H=+g[i>>2];D=+g[i+4>>2];z=+g[i+8>>2];H=H<G?G:H;D=D<C?C:D;z=z<y?y:z;i=~~(((I<H?I:H)-G)*F+1.0)&65535|1;b[w+64>>1]=i;q=~~(((E<D?E:D)-C)*B+1.0)&65535|1;r=~~(((A<z?A:z)-y)*x+1.0)&65535|1;b[w+64+2>>1]=q;b[w+64+4>>1]=r;switch(c[v+144>>2]|0){case 0:{o=c[v+56>>2]|0;if((o|0)>0){d=0;f=c[v+136>>2]|0;j=0;do{d=d+1|0;k=((i&65535)>=(e[f>>1]|0)?(s&65535)<=(e[f+6>>1]|0):0)&(u&65535)<=(e[f+10>>1]|0)&(r&65535)>=(e[f+4>>1]|0)&(t&65535)<=(e[f+8>>1]|0)&(q&65535)>=(e[f+2>>1]|0);m=f+12|0;n=c[m>>2]|0;if((n|0)>-1&k)Sb[c[(c[w>>2]|0)+8>>2]&127](w,n>>>21,n&2097151);if(k|(n|0)>-1){j=j+1|0;f=f+16|0}else{v=c[m>>2]|0;j=j-v|0;f=f+(0-v<<4)|0}}while((j|0)<(o|0))}else d=0;if((c[6160]|0)<(d|0))c[6160]=d;break}case 1:{if((c[v+152>>2]|0)>0){h=0;do{d=c[v+160>>2]|0;if(((i&65535)>=(e[d+(h<<5)>>1]|0)?(s&65535)<=(e[d+(h<<5)+6>>1]|0):0)&(u&65535)<=(e[d+(h<<5)+10>>1]|0)&(r&65535)>=(e[d+(h<<5)+4>>1]|0)&(t&65535)<=(e[d+(h<<5)+8>>1]|0)&(q&65535)>=(e[d+(h<<5)+2>>1]|0)){p=c[d+(h<<5)+12>>2]|0;o=c[d+(h<<5)+16>>2]|0;if((o|0)>0){d=0;f=(c[v+136>>2]|0)+(p<<4)|0;j=p;do{d=d+1|0;k=((i&65535)>=(e[f>>1]|0)?(s&65535)<=(e[f+6>>1]|0):0)&(u&65535)<=(e[f+10>>1]|0)&(r&65535)>=(e[f+4>>1]|0)&(t&65535)<=(e[f+8>>1]|0)&(q&65535)>=(e[f+2>>1]|0);m=f+12|0;n=c[m>>2]|0;if((n|0)>-1&k)Sb[c[(c[w>>2]|0)+8>>2]&127](w,n>>>21,n&2097151);if(k|(n|0)>-1){j=j+1|0;f=f+16|0}else{n=c[m>>2]|0;j=j-n|0;f=f+(0-n<<4)|0}}while((j|0)<(o+p|0))}else d=0;if((c[6160]|0)<(d|0))c[6160]=d}h=h+1|0}while((h|0)<(c[v+152>>2]|0))}break}case 2:{Ek(c[v+136>>2]|0,w,w+70|0,w+64|0);break}default:{}}l=w;return}function ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,E=0.0;x=l;l=l+192|0;w=c[a+4>>2]|0;o=+g[w+784>>2];if(o<e){l=x;return}u=c[w+772>>2]|0;i=(c[a+8>>2]|0)+8|0;v=c[i>>2]|0;E=+g[d>>2];j=+g[b>>2]*e+E;B=+g[d+4>>2];m=+g[b+4>>2]*e+B;y=+g[d+8>>2];n=+g[b+8>>2]*e+y;k=(c[a+12>>2]|0)+8|0;f=c[k>>2]|0;t=(u|0)!=(v|0)?f:u;f=(u|0)!=(v|0)?v:f;z=j-+g[t+52>>2];A=m-+g[t+56>>2];r=n-+g[t+60>>2];p=z*+g[t+4>>2]+A*+g[t+20>>2]+r*+g[t+36>>2];q=z*+g[t+8>>2]+A*+g[t+24>>2]+r*+g[t+40>>2];r=z*+g[t+12>>2]+A*+g[t+28>>2]+r*+g[t+44>>2];E=E-+g[f+52>>2];B=B-+g[f+56>>2];y=y-+g[f+60>>2];A=E*+g[f+4>>2]+B*+g[f+20>>2]+y*+g[f+36>>2];z=E*+g[f+8>>2]+B*+g[f+24>>2]+y*+g[f+40>>2];y=E*+g[f+12>>2]+B*+g[f+28>>2]+y*+g[f+44>>2];g[x>>2]=p;g[x+4>>2]=q;g[x+8>>2]=r;g[x+12>>2]=0.0;g[x+16>>2]=A;g[x+20>>2]=z;g[x+24>>2]=y;g[x+28>>2]=0.0;c[x+64>>2]=c[b>>2];c[x+64+4>>2]=c[b+4>>2];c[x+64+8>>2]=c[b+8>>2];c[x+64+12>>2]=c[b+12>>2];g[x+80>>2]=e;c[x+84>>2]=0;c[x+84+4>>2]=0;c[x+84+8>>2]=0;c[x+84+12>>2]=0;b=x+116|0;f=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));g[x+48>>2]=j;g[x+52>>2]=m;g[x+56>>2]=n;g[x+60>>2]=0.0;c[x+32>>2]=c[d>>2];c[x+32+4>>2]=c[d+4>>2];c[x+32+8>>2]=c[d+8>>2];c[x+32+12>>2]=c[d+12>>2];h=c[w+780>>2]|0;if((h|0)>0){b=-1;d=0;e=o*o;while(1){j=+g[w+4+(d*192|0)>>2]-p;m=+g[w+4+(d*192|0)+4>>2]-q;n=+g[w+4+(d*192|0)+8>>2]-r;f=j*j+m*m+n*n<e;b=f?d:b;d=d+1|0;if((d|0)==(h|0)){t=b;break}else e=f?j*j+m*m+n*n:e}}else t=-1;b=c[i>>2]|0;f=c[k>>2]|0;E=+g[b+228>>2];B=+g[f+228>>2];A=E*B<-10.0?-10.0:E*B;g[x+84>>2]=A>10.0?10.0:A;g[x+96>>2]=+g[b+232>>2]*+g[f+232>>2];A=+g[b+236>>2]*B+ +g[f+236>>2]*E;A=A<-10.0?-10.0:A;g[x+88>>2]=A>10.0?10.0:A;E=+g[b+240>>2]*B+ +g[f+240>>2]*E;E=E<-10.0?-10.0:E;g[x+92>>2]=E>10.0?10.0:E;d=c[b+204>>2]|0;if((d&128|0)==0?(c[f+204>>2]&128|0)==0:0)b=0;else{g[x+148>>2]=+g[b+244>>2]+ +g[f+244>>2];g[x+144>>2]=1.0/(1.0/+g[b+248>>2]+1.0/+g[f+248>>2]);c[x+120>>2]=8;b=8}if((d&512|0)==0?(c[f+204>>2]&512|0)==0:0)s=b;else{s=b|16;c[x+120>>2]=s}e=+g[x+72>>2];k=+C(+e)>.7071067690849304;n=+g[x+68>>2];if(k){m=1.0/+D(+(e*e+n*n));q=+g[x+64>>2];o=-(m*e);p=q*-(m*e);q=-(m*n*q);j=(e*e+n*n)*m;m=m*n;e=0.0}else{j=+g[x+64>>2];E=1.0/+D(+(j*j+n*n));o=E*j;p=(j*j+n*n)*E;q=e*-(n*E);j=-(E*j*e);m=0.0;e=-(n*E)}g[x+160>>2]=e;g[x+164>>2]=o;g[x+168>>2]=m;g[x+176>>2]=j;g[x+180>>2]=q;g[x+184>>2]=p;f=c[a+16>>2]|0;b=c[a+20>>2]|0;if((u|0)!=(v|0)){c[x+100>>2]=b;d=a+28|0;b=a+24|0}else{c[x+100>>2]=f;d=a+24|0;f=b;b=a+28|0}a=c[d>>2]|0;c[x+104>>2]=f;c[x+108>>2]=a;c[x+112>>2]=c[b>>2];if((t|0)>-1){b=w+4+(t*192|0)|0;f=w+4+(t*192|0)+156|0;d=c[f>>2]|0;h=w+4+(t*192|0)+124|0;e=+g[h>>2];i=w+4+(t*192|0)+128|0;j=+g[i>>2];k=w+4+(t*192|0)+132|0;m=+g[k>>2];if(!((s&16|0)!=0?(E=e*+g[w+4+(t*192|0)+84>>2]+0.0,!(j*j+m*m>E*E)):0)){w=w+4+(t*192|0)+116|0;a=c[w>>2]|0;gi(b|0,x|0,192)|0;c[w>>2]=a;g[h>>2]=e;g[i>>2]=j;g[k>>2]=m}c[f>>2]=d}else kf(w,x)|0;l=x;return}function be(b,d,e){b=b|0;d=+d;e=+e;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0;s=l;l=l+80|0;f=c[b+8>>2]|0;if(!f){f=c[b+4>>2]|0;if(!f){k=0.0;o=0.0;m=0.0;d=0.0;j=0.0;n=0.0}else{r=+g[f+336>>2];j=+g[b+172>>2];t=+g[f+340>>2];p=+g[b+168>>2];n=+g[b+164>>2];q=+g[f+332>>2];k=+g[f+316>>2];o=+g[f+320>>2];m=+g[f+324>>2];d=r*j-t*p;j=t*n-j*q;n=p*q-r*n}}else{t=+g[f+392>>2];j=+g[b+172>>2];p=+g[f+396>>2];q=+g[b+168>>2];n=+g[b+164>>2];r=+g[f+388>>2];k=+g[f+372>>2];o=+g[f+376>>2];m=+g[f+380>>2];d=t*j-p*q;j=p*n-j*r;n=q*r-t*n}p=k+d;r=o+j;q=m+n;f=c[b+20>>2]|0;if(!f){f=c[b+16>>2]|0;if(!f){k=0.0;n=0.0;m=0.0;d=0.0;j=0.0;o=0.0}else{t=+g[f+336>>2];j=+g[b+188>>2];w=+g[f+340>>2];v=+g[b+184>>2];o=+g[b+180>>2];u=+g[f+332>>2];k=+g[f+316>>2];n=+g[f+320>>2];m=+g[f+324>>2];d=t*j-w*v;j=w*o-j*u;o=v*u-t*o}}else{w=+g[f+392>>2];j=+g[b+188>>2];t=+g[f+396>>2];u=+g[b+184>>2];o=+g[b+180>>2];v=+g[f+388>>2];k=+g[f+372>>2];n=+g[f+376>>2];m=+g[f+380>>2];d=w*j-t*u;j=t*o-j*v;o=u*v-w*o}p=p-(k+d);n=r-(n+j);d=q-(m+o);j=+g[b+196>>2];k=+g[b+200>>2];m=+g[b+204>>2];a[s+36+32>>0]=1;c[s+36+16>>2]=0;c[s+36+16+4>>2]=0;c[s+36+16+8>>2]=0;c[s+36+16+12>>2]=0;c[s+36>>2]=c[b+72>>2];c[s+36+4>>2]=c[b+72+4>>2];c[s+36+8>>2]=c[b+72+8>>2];c[s+36+12>>2]=c[b+72+12>>2];if(j*p+n*k+d*m<0.0){u=+g[b+212>>2];v=+g[s+36>>2]+((j*p+n*k+d*m)*j+(p-(j*p+n*k+d*m)*j)*u);g[s+36>>2]=v;w=(j*p+n*k+d*m)*k+u*(n-(j*p+n*k+d*m)*k)+ +g[s+36+4>>2];g[s+36+4>>2]=w;k=(j*p+n*k+d*m)*m+u*(d-(j*p+n*k+d*m)*m)+ +g[s+36+8>>2];g[s+36+8>>2]=k;f=s+36+4|0;h=s+36+8|0;i=s+36|0;d=v;j=w}else{f=s+36+4|0;h=s+36+8|0;i=s+36|0;d=+g[s+36>>2];j=+g[s+36+4>>2];k=+g[s+36+8>>2]}m=(+g[b+104>>2]*d+ +g[b+108>>2]*j+ +g[b+112>>2]*k)*e;n=(d*+g[b+120>>2]+j*+g[b+124>>2]+k*+g[b+128>>2])*e;d=(d*+g[b+136>>2]+j*+g[b+140>>2]+k*+g[b+144>>2])*e;g[i>>2]=m;g[f>>2]=n;g[h>>2]=d;g[s+36+12>>2]=0.0;f=c[b+4>>2]|0;if((f|0)!=(c[b+16>>2]|0)){f=s;h=s+36|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));w=-+g[s+4>>2];v=-+g[s+8>>2];g[s>>2]=-+g[s>>2];g[s+4>>2]=w;g[s+8>>2]=v;g[s+12>>2]=0.0;v=-+g[s+20>>2];w=-+g[s+24>>2];g[s+16>>2]=-+g[s+16>>2];g[s+20>>2]=v;g[s+24>>2]=w;g[s+28>>2]=0.0;Nh(b+4|0,s,b+164|0);Nh(b+16|0,s+36|0,b+180|0);l=s;return}if(!(m==m&n==n&(d==d&0.0==0.0))){l=s;return}w=+D(+(m*m+n*n+d*d));if(w<+g[f+368>>2]){l=s;return}h=c[s+36+32>>2]|0;w=+g[f+372>>2];g[s+12>>2]=0.0;g[s+28>>2]=0.0;c[s+32>>2]=h;g[s>>2]=-(m*w);g[s+4>>2]=-(n*w);g[s+8>>2]=-(d*w);g[s+16>>2]=w*-0.0;g[s+20>>2]=w*-0.0;g[s+24>>2]=w*-0.0;Nh(b+4|0,s,b+164|0);d=+g[(c[b+4>>2]|0)+372>>2];f=s;h=s+36|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));g[s>>2]=d*+g[s>>2];g[s+4>>2]=d*+g[s+4>>2];g[s+8>>2]=d*+g[s+8>>2];g[s+16>>2]=d*+g[s+16>>2];g[s+20>>2]=d*+g[s+20>>2];g[s+24>>2]=d*+g[s+24>>2];Nh(b+16|0,s,b+180|0);l=s;return}function ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[b>>2]=5536;k=(c[d+20>>2]|0)==0;c[6995]=(c[6995]|0)+1;e=sc(23)|0;c[(e+4+15&-16)+-4>>2]=e;c[(e+4+15&-16)>>2]=k?9416:9464;c[b+24>>2]=e+4+15&-16;c[6995]=(c[6995]|0)+1;e=sc(39)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}k=c[b+24>>2]|0;a[e+4>>0]=0;c[e>>2]=6380;c[e+12>>2]=0;c[e+16>>2]=3;c[e+8>>2]=k;c[b+28>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5568;c[b+32>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5588;c[b+36>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5608;c[b+40>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5628;c[b+44>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5648;c[b+48>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5668;c[b+52>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5688;c[b+56>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5708;c[b+72>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5708;c[b+76>>2]=e;a[e+4>>0]=1;c[6995]=(c[6995]|0)+1;e=sc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5728;c[b+68>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5748;c[e+8>>2]=1;c[e+12>>2]=0;c[b+84>>2]=e;c[6995]=(c[6995]|0)+1;e=sc(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5748;c[e+8>>2]=1;c[e+12>>2]=0;c[b+80>>2]=e;a[e+4>>0]=1;k=c[d+16>>2]|0;k=(k|0)>80?k:80;e=c[d>>2]|0;if(!e){a[b+12>>0]=1;c[6995]=(c[6995]|0)+1;e=sc(43)|0;if(!e)j=0;else{c[(e+4+15&-16)+-4>>2]=e;j=e+4+15&-16}e=c[d+8>>2]|0;c[j>>2]=804;f=j+4|0;c[f>>2]=e;c[j+20>>2]=0;c[6995]=(c[6995]|0)+1;e=sc((e*804|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[j+16>>2]=e;c[j+12>>2]=e;f=c[f>>2]|0;c[j+8>>2]=f;if(f+-1|0){g=c[j>>2]|0;h=e;i=f+-1|0;do{l=h;h=h+g|0;c[l>>2]=h;i=i+-1|0}while((i|0)!=0);e=e+(P(g,f+-1|0)|0)|0}c[e>>2]=0;c[b+8>>2]=j}else{a[b+12>>0]=0;c[b+8>>2]=e}g=(k|0)>116?k+16&-16:128;e=c[d+4>>2]|0;if(e|0){a[b+20>>0]=0;c[b+16>>2]=e;return}a[b+20>>0]=1;c[6995]=(c[6995]|0)+1;e=sc(43)|0;if(!e)j=0;else{c[(e+4+15&-16)+-4>>2]=e;j=e+4+15&-16}e=c[d+12>>2]|0;c[j>>2]=g;f=j+4|0;c[f>>2]=e;c[j+20>>2]=0;e=P(e,g)|0;c[6995]=(c[6995]|0)+1;e=sc((e|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[j+16>>2]=e;c[j+12>>2]=e;f=c[f>>2]|0;c[j+8>>2]=f;if(f+-1|0){g=c[j>>2]|0;h=e;i=f+-1|0;do{l=h;h=h+g|0;c[l>>2]=h;i=i+-1|0}while((i|0)!=0);e=e+(P(g,f+-1|0)|0)|0}c[e>>2]=0;c[b+16>>2]=j;return}function de(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+48|0;c[s+16>>2]=c[e>>2];c[s+16+4>>2]=c[e+4>>2];c[s+16+8>>2]=c[e+8>>2];c[s+16+12>>2]=c[e+12>>2];c[s+16+16>>2]=c[f>>2];c[s+16+16+4>>2]=c[f+4>>2];c[s+16+16+8>>2]=c[f+8>>2];c[s+16+16+12>>2]=c[f+12>>2];do if((c[d+60>>2]|0)==2){h=c[d+48>>2]|0;Ag(b+44|0,h)|0;i=c[b+48>>2]|0;if(i|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[b+48>>2]=h;c[b+56>>2]=(c[b+56>>2]|0)+-1;h=c[b+8>>2]|0;if(!h){c[6995]=(c[6995]|0)+1;h=sc(63)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=h;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+8>>2]=0;c[h+32>>2]=0;c[h+36>>2]=d;c[h+40>>2]=0;c[h>>2]=c[s+16>>2];c[h+4>>2]=c[s+16+4>>2];c[h+8>>2]=c[s+16+8>>2];c[h+12>>2]=c[s+16+12>>2];c[h+16>>2]=c[s+16+16>>2];c[h+20>>2]=c[s+16+20>>2];c[h+24>>2]=c[s+16+24>>2];c[h+28>>2]=c[s+16+28>>2];Pe(b+4|0,c[b+4>>2]|0,h);c[b+16>>2]=(c[b+16>>2]|0)+1;c[d+48>>2]=h;h=1}else{c[b+128>>2]=(c[b+128>>2]|0)+1;r=c[d+48>>2]|0;if(((((+g[r>>2]<=+g[s+16+16>>2]?+g[r+16>>2]>=+g[s+16>>2]:0)?+g[r+4>>2]<=+g[s+16+20>>2]:0)?+g[r+20>>2]>=+g[s+16+4>>2]:0)?+g[r+8>>2]<=+g[s+16+24>>2]:0)?+g[r+24>>2]>=+g[s+16+8>>2]:0){k=+g[d+16>>2];t=+g[e>>2]-k;m=+g[d+20>>2];p=+g[e+4>>2]-m;n=+g[d+24>>2];q=+g[e+8>>2]-n;u=+g[b+100>>2];k=(+g[d+32>>2]-k)*.5*u;m=(+g[d+36>>2]-m)*.5*u;n=u*(+g[d+40>>2]-n)*.5;g[s>>2]=k;g[s+4>>2]=m;g[s+8>>2]=n;g[s+12>>2]=0.0;if(t<0.0)g[s>>2]=-k;if(p<0.0)g[s+4>>2]=-m;if(q<0.0)g[s+8>>2]=-n;if(uh(b+4|0,r,s+16|0,s,.05000000074505806)|0){c[b+132>>2]=(c[b+132>>2]|0)+1;h=1}else h=0;break}h=Ag(b+4|0,r)|0;a:do if(h){o=c[b+12>>2]|0;if((o|0)<=-1){h=c[b+4>>2]|0;break}if(o){i=0;while(1){j=c[h+32>>2]|0;i=i+1|0;if(!j)break a;if((i|0)>=(o|0)){h=j;break}else h=j}}}else h=0;while(0);c[r>>2]=c[s+16>>2];c[r+4>>2]=c[s+16+4>>2];c[r+8>>2]=c[s+16+8>>2];c[r+12>>2]=c[s+16+12>>2];c[r+16>>2]=c[s+16+16>>2];c[r+20>>2]=c[s+16+20>>2];c[r+24>>2]=c[s+16+24>>2];c[r+28>>2]=c[s+16+28>>2];Pe(b+4|0,h,r);c[b+132>>2]=(c[b+132>>2]|0)+1;h=1}while(0);i=c[d+52>>2]|0;c[((i|0)==0?b+84+(c[d+60>>2]<<2)|0:i+56|0)>>2]=c[d+56>>2];i=c[d+56>>2]|0;if(i|0)c[i+52>>2]=c[d+52>>2];c[d+16>>2]=c[e>>2];c[d+16+4>>2]=c[e+4>>2];c[d+16+8>>2]=c[e+8>>2];c[d+16+12>>2]=c[e+12>>2];c[d+32>>2]=c[f>>2];c[d+32+4>>2]=c[f+4>>2];c[d+32+8>>2]=c[f+8>>2];c[d+32+12>>2]=c[f+12>>2];i=c[b+104>>2]|0;c[d+60>>2]=i;c[d+52>>2]=0;c[d+56>>2]=c[b+84+(i<<2)>>2];j=c[b+84+(i<<2)>>2]|0;if(j|0)c[j+52>>2]=d;c[b+84+(i<<2)>>2]=d;if(!h){l=s;return}a[b+154>>0]=1;if(a[b+153>>0]|0){l=s;return}c[s>>2]=9248;c[s+4>>2]=b;ne(b+44|0,c[b+44>>2]|0,c[d+48>>2]|0,s);ne(b+4|0,c[b+4>>2]|0,c[d+48>>2]|0,s);l=s;return}function ee(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=c[a+772>>2]|0;if((D|0)>0){c[6995]=(c[6995]|0)+1;d=sc((D<<4|3)+16|0)|0;if(!d)h=0;else{c[(d+4+15&-16)+-4>>2]=d;h=d+4+15&-16}Yk(h|0,0,D<<4|0)|0;f=c[a+772>>2]|0;if((f|0)>0){c[6995]=(c[6995]|0)+1;d=sc((f<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Yk(d|0,0,f<<2|0)|0;B=d;C=h;A=d;z=h}else{B=0;C=h;A=0;z=h}}else{B=0;C=0;A=0;z=0}y=c[a+1112>>2]|0;if(b){if((y|0)>0){i=c[a+1120>>2]|0;d=0;do{f=c[i+(d<<2)>>2]|0;h=c[f+312>>2]|0;if(h|0){g[f+276>>2]=1.0/+(h|0)*+g[f+276>>2];g[f+280>>2]=1.0/+(h|0)*+g[f+280>>2];g[f+284>>2]=1.0/+(h|0)*+g[f+284>>2];g[f+292>>2]=+g[f+292>>2]*(1.0/+(h|0));g[f+296>>2]=1.0/+(h|0)*+g[f+296>>2];g[f+300>>2]=1.0/+(h|0)*+g[f+300>>2]}d=d+1|0}while((d|0)!=(y|0));i=11}}else i=11;if((i|0)==11?(y|0)>0:0){k=c[a+1120>>2]|0;if(b){f=0;do{h=c[k+(f<<2)>>2]|0;if((c[h+312>>2]|0)>0?(w=+g[a+512>>2],r=+g[h+276>>2]*w,s=w*+g[h+280>>2],t=w*+g[h+284>>2],u=w*+g[h+292>>2],v=w*+g[h+296>>2],w=w*+g[h+300>>2],x=c[h+24>>2]|0,(x|0)>0):0){i=c[h+32>>2]|0;b=c[a+780>>2]|0;j=c[h+12>>2]|0;d=0;do{q=c[i+(d<<2)>>2]|0;p=+g[j+(d<<2)>>2];o=+g[q+8>>2]-+g[h+228>>2];n=+g[q+12>>2]-+g[h+232>>2];m=+g[q+16>>2]-+g[h+236>>2];E=C+(((q-b|0)/104|0)<<4)|0;g[E>>2]=+g[E>>2]+p*(r+(v*m-w*n));E=C+(((q-b|0)/104|0)<<4)+4|0;g[E>>2]=+g[E>>2]+p*(s+(w*o-u*m));E=C+(((q-b|0)/104|0)<<4)+8|0;g[E>>2]=p*(t+(u*n-v*o))+ +g[E>>2];q=B+(((q-b|0)/104|0)<<2)|0;g[q>>2]=p+ +g[q>>2];d=d+1|0}while((d|0)!=(x|0))}f=f+1|0}while((f|0)!=(y|0))}else{f=0;do{h=c[k+(f<<2)>>2]|0;if((c[h+308>>2]|0)>0?(p=+g[a+512>>2],e=+g[h+244>>2]*p,l=p*+g[h+248>>2],m=p*+g[h+252>>2],n=p*+g[h+260>>2],o=p*+g[h+264>>2],p=p*+g[h+268>>2],q=c[h+24>>2]|0,(q|0)>0):0){i=c[h+32>>2]|0;b=c[a+780>>2]|0;j=c[h+12>>2]|0;d=0;do{E=c[i+(d<<2)>>2]|0;w=+g[j+(d<<2)>>2];v=+g[E+8>>2]-+g[h+228>>2];u=+g[E+12>>2]-+g[h+232>>2];t=+g[E+16>>2]-+g[h+236>>2];x=C+(((E-b|0)/104|0)<<4)|0;g[x>>2]=+g[x>>2]+w*(e+(o*t-p*u));x=C+(((E-b|0)/104|0)<<4)+4|0;g[x>>2]=+g[x>>2]+w*(l+(p*v-n*t));x=C+(((E-b|0)/104|0)<<4)+8|0;g[x>>2]=w*(m+(n*u-o*v))+ +g[x>>2];E=B+(((E-b|0)/104|0)<<2)|0;g[E>>2]=w+ +g[E>>2];d=d+1|0}while((d|0)!=(q|0))}f=f+1|0}while((f|0)!=(y|0))}}if((D|0)>0){d=0;do{e=+g[B+(d<<2)>>2];if(e>0.0){v=1.0/e*+g[C+(d<<4)+4>>2];w=1.0/e*+g[C+(d<<4)+8>>2];E=c[a+780>>2]|0;y=E+(d*104|0)+8|0;g[y>>2]=1.0/e*+g[C+(d<<4)>>2]+ +g[y>>2];y=E+(d*104|0)+12|0;g[y>>2]=v+ +g[y>>2];E=E+(d*104|0)+16|0;g[E>>2]=w+ +g[E>>2]}d=d+1|0}while((d|0)!=(D|0))}if(!((B|0)==0|(A|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[A+-4>>2]|0)}if((C|0)==0|(z|0)==0)return;c[6996]=(c[6996]|0)+1;Cd(c[z+-4>>2]|0);return}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+144|0;if((c[a+20>>2]|0)<=0){o=a+80|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=c[a>>2]|0;o=o+68|0;o=c[o>>2]|0;Ib[o&511](a);l=p;return}j=p+16+16|0;k=p+16+32|0;m=p+16+48|0;i=0;do{o=c[a+28>>2]|0;n=o+(i*80|0)|0;c[p+16>>2]=c[n>>2];c[p+16+4>>2]=c[n+4>>2];c[p+16+8>>2]=c[n+8>>2];c[p+16+12>>2]=c[n+12>>2];n=o+(i*80|0)+16|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];n=o+(i*80|0)+32|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];n=o+(i*80|0)+48|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];o=c[o+(i*80|0)+64>>2]|0;o=xb[c[(c[o>>2]|0)+28>>2]&127](o)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];q=+g[p+4>>2]*+g[b+4>>2]/+g[a+84>>2];r=+g[p+8>>2]*+g[b+8>>2]/+g[a+88>>2];g[p>>2]=+g[p>>2]*+g[b>>2]/+g[a+80>>2];g[p+4>>2]=q;g[p+8>>2]=r;g[p+12>>2]=0.0;o=c[(c[a+28>>2]|0)+(i*80|0)+64>>2]|0;Ob[c[(c[o>>2]|0)+24>>2]&127](o,p);r=+g[p+16+52>>2]*+g[b+4>>2]/+g[a+84>>2];q=+g[p+16+56>>2]*+g[b+8>>2]/+g[a+88>>2];g[p+16+48>>2]=+g[m>>2]*+g[b>>2]/+g[a+80>>2];g[p+16+52>>2]=r;g[p+16+56>>2]=q;g[p+16+60>>2]=0.0;o=c[a+28>>2]|0;n=o+(i*80|0)|0;c[n>>2]=c[p+16>>2];c[n+4>>2]=c[p+16+4>>2];c[n+8>>2]=c[p+16+8>>2];c[n+12>>2]=c[p+16+12>>2];n=o+(i*80|0)+16|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=o+(i*80|0)+32|0;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];o=o+(i*80|0)+48|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];if(c[a+68>>2]|0){n=c[(c[a+28>>2]|0)+(i*80|0)+64>>2]|0;Vb[c[(c[n>>2]|0)+8>>2]&127](n,p+16|0,p+128|0,p+112|0);c[p+80>>2]=c[p+128>>2];c[p+80+4>>2]=c[p+128+4>>2];c[p+80+8>>2]=c[p+128+8>>2];c[p+80+12>>2]=c[p+128+12>>2];c[p+80+16>>2]=c[p+112>>2];c[p+80+16+4>>2]=c[p+112+4>>2];c[p+80+16+8>>2]=c[p+112+8>>2];c[p+80+16+12>>2]=c[p+112+12>>2];n=c[a+68>>2]|0;o=c[(c[a+28>>2]|0)+(i*80|0)+76>>2]|0;d=Ag(n,o)|0;a:do if(d){h=c[n+8>>2]|0;if((h|0)<=-1){d=c[n>>2]|0;break}if(h){e=0;while(1){f=c[d+32>>2]|0;e=e+1|0;if(!f)break a;if((e|0)>=(h|0)){d=f;break}else d=f}}}else d=0;while(0);c[o>>2]=c[p+80>>2];c[o+4>>2]=c[p+80+4>>2];c[o+8>>2]=c[p+80+8>>2];c[o+12>>2]=c[p+80+12>>2];c[o+16>>2]=c[p+80+16>>2];c[o+20>>2]=c[p+80+20>>2];c[o+24>>2]=c[p+80+24>>2];c[o+28>>2]=c[p+80+28>>2];Pe(n,d,o)}i=i+1|0}while((i|0)<(c[a+20>>2]|0));o=a+80|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=c[a>>2]|0;o=o+68|0;o=c[o>>2]|0;Ib[o&511](a);l=p;return}function ge(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;q=c[b+12>>2]|0;Vb[c[(c[q>>2]|0)+8>>2]&127](q,(c[b+8>>2]|0)+4|0,s+80|0,s+64|0);q=c[d+68>>2]|0;Zb[c[(c[q>>2]|0)+16>>2]&31](q,c[(c[b+8>>2]|0)+188>>2]|0,s+80|0,s+64|0,c[d+24>>2]|0);q=c[d+24>>2]|0;Vb[c[(c[q>>2]|0)+32>>2]&127](q,c[(c[b+8>>2]|0)+344>>2]|0,d+28|0,q);q=c[b+8>>2]|0;c[b+132>>2]=c[q+52>>2];c[b+132+4>>2]=c[q+52+4>>2];c[b+132+8>>2]=c[q+52+8>>2];c[b+132+12>>2]=c[q+52+12>>2];q=c[q+344>>2]|0;if((xb[c[(c[q>>2]|0)+36>>2]&127](q)|0)>0){d=0;q=0;do{e=c[b+204>>2]|0;if((e|0)<0){if((c[b+208>>2]|0)<0){f=c[b+212>>2]|0;if(f|0){if(a[b+216>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+212>>2]=0}a[b+216>>0]=1;c[b+212>>2]=0;c[b+208>>2]=0}do{c[(c[b+212>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[b+204>>2]=0;e=c[(c[b+8>>2]|0)+344>>2]|0;e=c[(xb[c[(c[e>>2]|0)+28>>2]&127](e)|0)+12>>2]|0;f=c[c[e+(q<<4)>>2]>>2]|0;h=c[c[e+(q<<4)+4>>2]>>2]|0;if(!((f|0)!=0?(c[f+204>>2]&4|0)!=0:0))r=14;do if((r|0)==14){r=0;if(h|0?c[h+204>>2]&4|0:0)break;if(Bb[c[(c[b>>2]|0)+56>>2]&63](b,f,h)|0){e=c[e+(q<<4)+8>>2]|0;if(e|0)Ob[c[(c[e>>2]|0)+16>>2]&127](e,b+200|0);p=c[b+204>>2]|0;if((p|0)>0){n=c[b+212>>2]|0;o=c[b+8>>2]|0;m=0;do{f=c[n+(m<<2)>>2]|0;j=(c[f+772>>2]|0)==(o|0)?-1.0:1.0;h=c[f+780>>2]|0;if((h|0)>0){k=-+g[b+16>>2];e=0;do{i=+g[f+4+(e*192|0)+80>>2];if(i<k){u=i*j*+g[f+4+(e*192|0)+68>>2]*.20000000298023224;t=i*j*+g[f+4+(e*192|0)+72>>2]*.20000000298023224;g[b+132>>2]=i*j*+g[f+4+(e*192|0)+64>>2]*.20000000298023224+ +g[b+132>>2];g[b+136>>2]=u+ +g[b+136>>2];g[b+140>>2]=t+ +g[b+140>>2];d=1}e=e+1|0}while((e|0)!=(h|0))}m=m+1|0}while((m|0)!=(p|0))}}}while(0);q=q+1|0;p=c[(c[b+8>>2]|0)+344>>2]|0}while((q|0)<(xb[c[(c[p>>2]|0)+36>>2]&127](p)|0))}else d=0;r=c[b+8>>2]|0;c[s>>2]=c[r+4>>2];c[s+4>>2]=c[r+4+4>>2];c[s+8>>2]=c[r+4+8>>2];c[s+12>>2]=c[r+4+12>>2];c[s+16>>2]=c[r+20>>2];c[s+16+4>>2]=c[r+20+4>>2];c[s+16+8>>2]=c[r+20+8>>2];c[s+16+12>>2]=c[r+20+12>>2];c[s+32>>2]=c[r+36>>2];c[s+32+4>>2]=c[r+36+4>>2];c[s+32+8>>2]=c[r+36+8>>2];c[s+32+12>>2]=c[r+36+12>>2];c[s+48>>2]=c[b+132>>2];c[s+48+4>>2]=c[b+132+4>>2];c[s+48+8>>2]=c[b+132+8>>2];c[s+48+12>>2]=c[b+132+12>>2];c[r+304>>2]=(c[r+304>>2]|0)+1;c[r+4>>2]=c[s>>2];c[r+4+4>>2]=c[s+4>>2];c[r+4+8>>2]=c[s+8>>2];c[r+4+12>>2]=c[s+12>>2];c[r+20>>2]=c[s+16>>2];c[r+20+4>>2]=c[s+16+4>>2];c[r+20+8>>2]=c[s+16+8>>2];c[r+20+12>>2]=c[s+16+12>>2];c[r+36>>2]=c[s+32>>2];c[r+36+4>>2]=c[s+32+4>>2];c[r+36+8>>2]=c[s+32+8>>2];c[r+36+12>>2]=c[s+32+12>>2];c[r+52>>2]=c[s+48>>2];c[r+52+4>>2]=c[s+48+4>>2];c[r+52+8>>2]=c[s+48+8>>2];c[r+52+12>>2]=c[s+48+12>>2];l=s;return d|0}function he(d,f,h,i,j,k){d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0;c[d>>2]=8928;b[d+4>>1]=-2;b[d+6>>1]=-1;c[d+92>>2]=j;c[d+96>>2]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;if(!j){c[6995]=(c[6995]|0)+1;j=sc(91)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Li(j);c[d+92>>2]=j;a[d+100>>0]=1}if(!k){c[6995]=(c[6995]|0)+1;j=sc(43)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=j+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[j>>2]=8992;a[j+20>>0]=1;c[j+16>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[d+112>>2]=j;c[6995]=(c[6995]|0)+1;j=sc(195)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Ne(j,c[d+112>>2]|0);c[d+108>>2]=j;a[j+153>>0]=1}c[d+8>>2]=c[f>>2];c[d+8+4>>2]=c[f+4>>2];c[d+8+8>>2]=c[f+8>>2];c[d+8+12>>2]=c[f+12>>2];c[d+24>>2]=c[h>>2];c[d+24+4>>2]=c[h+4>>2];c[d+24+8>>2]=c[h+8>>2];c[d+24+12>>2]=c[h+12>>2];n=+(e[d+6>>1]|0);m=n/(+g[d+28>>2]-+g[d+12>>2]);l=n/(+g[d+32>>2]-+g[d+16>>2]);g[d+40>>2]=n/(+g[d+24>>2]-+g[d+8>>2]);g[d+44>>2]=m;g[d+48>>2]=l;g[d+52>>2]=0.0;h=(i&65535)+1&65535;c[6995]=(c[6995]|0)+1;j=sc(h<<6|19)|0;if(!j)f=0;else{c[(j+4+15&-16)+-4>>2]=j;f=j+4+15&-16}if(h|0){j=f+(h<<6)|0;k=f;do{c[k>>2]=0;k=k+64|0}while((k|0)!=(j|0))}c[d+60>>2]=f;b[d+58>>1]=(i&65535)+1;b[d+56>>1]=0;b[d+64>>1]=1;if(h>>>0>1){j=1;k=1;do{b[f+(k<<6)+48>>1]=k+1;j=j+1<<16>>16;k=j&65535}while(k>>>0<h>>>0)}b[f+(h+-1<<6)+48>>1]=0;c[6995]=(c[6995]|0)+1;j=sc((h<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+80>>2]=j;c[d+68>>2]=j;c[6995]=(c[6995]|0)+1;j=sc((h<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+84>>2]=j;c[d+72>>2]=j;c[6995]=(c[6995]|0)+1;j=sc((h<<3|3)+16|0)|0;if(!j){f=0;i=d+88|0;c[i>>2]=f;i=d+76|0;c[i>>2]=f;f=c[d+60>>2]|0;c[f>>2]=0;h=f+48|0;b[h>>1]=0;h=f+54|0;b[h>>1]=1;h=c[d+68>>2]|0;b[h>>1]=0;k=h+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=h+4|0;b[j>>1]=k;h=h+6|0;b[h>>1]=0;h=f+50|0;b[h>>1]=0;h=f+56|0;b[h>>1]=1;h=c[d+72>>2]|0;b[h>>1]=0;j=h+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=h+4|0;b[k>>1]=j;h=h+6|0;b[h>>1]=0;h=f+52|0;b[h>>1]=0;f=f+58|0;b[f>>1]=1;i=c[i>>2]|0;b[i>>1]=0;f=i+2|0;b[f>>1]=0;f=b[d+6>>1]|0;h=i+4|0;b[h>>1]=f;i=i+6|0;b[i>>1]=0;c[d>>2]=8864;return}c[(j+4+15&-16)+-4>>2]=j;f=j+4+15&-16;i=d+88|0;c[i>>2]=f;i=d+76|0;c[i>>2]=f;f=c[d+60>>2]|0;c[f>>2]=0;h=f+48|0;b[h>>1]=0;h=f+54|0;b[h>>1]=1;h=c[d+68>>2]|0;b[h>>1]=0;k=h+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=h+4|0;b[j>>1]=k;h=h+6|0;b[h>>1]=0;h=f+50|0;b[h>>1]=0;h=f+56|0;b[h>>1]=1;h=c[d+72>>2]|0;b[h>>1]=0;j=h+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=h+4|0;b[k>>1]=j;h=h+6|0;b[h>>1]=0;h=f+52|0;b[h>>1]=0;f=f+58|0;b[f>>1]=1;i=c[i>>2]|0;b[i>>1]=0;f=i+2|0;b[f>>1]=0;f=b[d+6>>1]|0;h=i+4|0;b[h>>1]=f;i=i+6|0;b[i>>1]=0;c[d>>2]=8864;return}function ie(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0.0,Y=0.0;W=l;l=l+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;S=+g[h+116>>2]-+g[h+52>>2];T=+g[h+120>>2]-+g[h+56>>2];U=+g[h+124>>2]-+g[h+60>>2];V=+g[h+276>>2];if(S*S+T*T+U*U<V*V){X=1.0;l=W;return +X}H=+g[f+4>>2];I=+g[f+20>>2];J=+g[f+36>>2];K=+g[f+8>>2];L=+g[f+24>>2];M=+g[f+40>>2];N=+g[f+12>>2];O=+g[f+28>>2];P=+g[f+44>>2];j=-+g[f+52>>2];k=-+g[f+56>>2];m=-+g[f+60>>2];Q=+g[h+4>>2];R=+g[h+20>>2];S=+g[h+36>>2];T=+g[h+8>>2];U=+g[h+24>>2];V=+g[h+40>>2];p=+g[h+12>>2];q=+g[h+28>>2];r=+g[h+44>>2];w=+g[h+52>>2];v=+g[h+56>>2];u=+g[h+60>>2];s=H*j+I*k+J*m+(H*w+I*v+J*u);t=K*j+L*k+M*m+(K*w+L*v+M*u);u=N*j+O*k+P*m+(N*w+O*v+P*u);v=+g[h+68>>2];w=+g[h+84>>2];x=+g[h+100>>2];y=+g[h+72>>2];z=+g[h+88>>2];A=+g[h+104>>2];B=+g[h+76>>2];C=+g[h+92>>2];D=+g[h+108>>2];n=+g[h+116>>2];o=+g[h+120>>2];G=+g[h+124>>2];E=H*j+I*k+J*m+(H*n+I*o+J*G);F=K*j+L*k+M*m+(K*n+L*o+M*G);G=N*j+O*k+P*m+(N*n+O*o+P*G);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){X=1.0;l=W;return +X}g[W+224>>2]=s;g[W+224+4>>2]=t;g[W+224+8>>2]=u;g[W+224+12>>2]=0.0;if(E<s){g[W+224>>2]=E;i=E}else i=s;if(F<t){g[W+224+4>>2]=F;j=F}else j=t;if(G<u){g[W+224+8>>2]=G;k=G}else k=u;g[W+208>>2]=s;g[W+208+4>>2]=t;g[W+208+8>>2]=u;g[W+208+12>>2]=0.0;if(s<E){g[W+208>>2]=E;m=E}else m=s;if(t<F){g[W+208+4>>2]=F;n=F}else n=t;if(u<G){g[W+208+8>>2]=G;o=G}else o=u;Y=+g[h+272>>2];g[W+224>>2]=i-Y;g[W+224+4>>2]=j-Y;g[W+224+8>>2]=k-Y;g[W+208>>2]=Y+m;g[W+208+4>>2]=Y+n;g[W+208+8>>2]=Y+o;c[W>>2]=3876;g[W+4>>2]=H*Q+I*R+J*S;g[W+8>>2]=H*T+I*U+J*V;g[W+12>>2]=H*p+I*q+J*r;g[W+16>>2]=0.0;g[W+20>>2]=K*Q+L*R+M*S;g[W+24>>2]=K*T+L*U+M*V;g[W+28>>2]=K*p+L*q+M*r;g[W+32>>2]=0.0;g[W+36>>2]=N*Q+O*R+P*S;g[W+40>>2]=N*T+O*U+P*V;g[W+44>>2]=N*p+O*q+P*r;g[W+48>>2]=0.0;g[W+52>>2]=s;g[W+56>>2]=t;g[W+60>>2]=u;g[W+64>>2]=0.0;g[W+68>>2]=H*v+I*w+J*x;g[W+72>>2]=H*y+I*z+J*A;g[W+76>>2]=H*B+I*C+J*D;g[W+80>>2]=0.0;g[W+84>>2]=K*v+L*w+M*x;g[W+88>>2]=K*y+L*z+M*A;g[W+92>>2]=K*B+L*C+M*D;g[W+96>>2]=0.0;g[W+100>>2]=N*v+O*w+P*x;g[W+104>>2]=N*y+O*z+P*A;g[W+108>>2]=N*B+O*C+P*D;g[W+112>>2]=0.0;g[W+116>>2]=E;g[W+120>>2]=F;g[W+124>>2]=G;g[W+128>>2]=0.0;g[W+196>>2]=Y;c[W+200>>2]=c[h+268>>2];if(f|0?(Vb[c[(c[f>>2]|0)+64>>2]&127](f,W,W+224|0,W+208|0),X=+g[W+200>>2],X<+g[h+268>>2]):0){g[h+268>>2]=X;Y=X;l=W;return +Y}Y=1.0;l=W;return +Y}function je(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0.0,Y=0.0;W=l;l=l+240|0;f=(a[b+76>>0]|0)!=0;h=f?e:d;f=f?d:e;S=+g[h+116>>2]-+g[h+52>>2];T=+g[h+120>>2]-+g[h+56>>2];U=+g[h+124>>2]-+g[h+60>>2];V=+g[h+276>>2];if(S*S+T*T+U*U<V*V){X=1.0;l=W;return +X}H=+g[f+4>>2];I=+g[f+20>>2];J=+g[f+36>>2];K=+g[f+8>>2];L=+g[f+24>>2];M=+g[f+40>>2];N=+g[f+12>>2];O=+g[f+28>>2];P=+g[f+44>>2];j=-+g[f+52>>2];k=-+g[f+56>>2];m=-+g[f+60>>2];Q=+g[h+4>>2];R=+g[h+20>>2];S=+g[h+36>>2];T=+g[h+8>>2];U=+g[h+24>>2];V=+g[h+40>>2];p=+g[h+12>>2];q=+g[h+28>>2];r=+g[h+44>>2];w=+g[h+52>>2];v=+g[h+56>>2];u=+g[h+60>>2];s=H*j+I*k+J*m+(H*w+I*v+J*u);t=K*j+L*k+M*m+(K*w+L*v+M*u);u=N*j+O*k+P*m+(N*w+O*v+P*u);v=+g[h+68>>2];w=+g[h+84>>2];x=+g[h+100>>2];y=+g[h+72>>2];z=+g[h+88>>2];A=+g[h+104>>2];B=+g[h+76>>2];C=+g[h+92>>2];D=+g[h+108>>2];n=+g[h+116>>2];o=+g[h+120>>2];G=+g[h+124>>2];E=H*j+I*k+J*m+(H*n+I*o+J*G);F=K*j+L*k+M*m+(K*n+L*o+M*G);G=N*j+O*k+P*m+(N*n+O*o+P*G);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){X=1.0;l=W;return +X}g[W+224>>2]=s;g[W+224+4>>2]=t;g[W+224+8>>2]=u;g[W+224+12>>2]=0.0;if(E<s){g[W+224>>2]=E;i=E}else i=s;if(F<t){g[W+224+4>>2]=F;j=F}else j=t;if(G<u){g[W+224+8>>2]=G;k=G}else k=u;g[W+208>>2]=s;g[W+208+4>>2]=t;g[W+208+8>>2]=u;g[W+208+12>>2]=0.0;if(s<E){g[W+208>>2]=E;m=E}else m=s;if(t<F){g[W+208+4>>2]=F;n=F}else n=t;if(u<G){g[W+208+8>>2]=G;o=G}else o=u;Y=+g[h+272>>2];g[W+224>>2]=i-Y;g[W+224+4>>2]=j-Y;g[W+224+8>>2]=k-Y;g[W+208>>2]=Y+m;g[W+208+4>>2]=Y+n;g[W+208+8>>2]=Y+o;c[W>>2]=5848;g[W+4>>2]=H*Q+I*R+J*S;g[W+8>>2]=H*T+I*U+J*V;g[W+12>>2]=H*p+I*q+J*r;g[W+16>>2]=0.0;g[W+20>>2]=K*Q+L*R+M*S;g[W+24>>2]=K*T+L*U+M*V;g[W+28>>2]=K*p+L*q+M*r;g[W+32>>2]=0.0;g[W+36>>2]=N*Q+O*R+P*S;g[W+40>>2]=N*T+O*U+P*V;g[W+44>>2]=N*p+O*q+P*r;g[W+48>>2]=0.0;g[W+52>>2]=s;g[W+56>>2]=t;g[W+60>>2]=u;g[W+64>>2]=0.0;g[W+68>>2]=H*v+I*w+J*x;g[W+72>>2]=H*y+I*z+J*A;g[W+76>>2]=H*B+I*C+J*D;g[W+80>>2]=0.0;g[W+84>>2]=K*v+L*w+M*x;g[W+88>>2]=K*y+L*z+M*A;g[W+92>>2]=K*B+L*C+M*D;g[W+96>>2]=0.0;g[W+100>>2]=N*v+O*w+P*x;g[W+104>>2]=N*y+O*z+P*A;g[W+108>>2]=N*B+O*C+P*D;g[W+112>>2]=0.0;g[W+116>>2]=E;g[W+120>>2]=F;g[W+124>>2]=G;g[W+128>>2]=0.0;g[W+196>>2]=Y;c[W+200>>2]=c[h+268>>2];if(f|0?(Vb[c[(c[f>>2]|0)+64>>2]&127](f,W,W+224|0,W+208|0),X=+g[W+200>>2],X<+g[h+268>>2]):0){g[h+268>>2]=X;Y=X;l=W;return +Y}Y=1.0;l=W;return +Y}function ke(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;p=+g[e>>2];i=(g[j>>2]=p,c[j>>2]|0);u=p<999999984306749440.0?i:1566444395;m=+g[e+4>>2];l=(g[j>>2]=m,c[j>>2]|0);v=m<999999984306749440.0?l:1566444395;y=+g[e+8>>2];o=(g[j>>2]=y,c[j>>2]|0);w=y<999999984306749440.0?o:1566444395;i=p>-999999984306749440.0?i:-581039253;l=m>-999999984306749440.0?l:-581039253;o=y>-999999984306749440.0?o:-581039253;y=+g[e+16>>2];t=y<(c[j>>2]=u,+g[j>>2]);k=(g[j>>2]=y,c[j>>2]|0);u=t?k:u;m=+g[e+20>>2];t=m<(c[j>>2]=v,+g[j>>2]);n=(g[j>>2]=m,c[j>>2]|0);v=t?n:v;p=+g[e+24>>2];t=p<(c[j>>2]=w,+g[j>>2]);q=(g[j>>2]=p,c[j>>2]|0);w=t?q:w;k=(c[j>>2]=i,+g[j>>2])<y?k:i;i=(c[j>>2]=l,+g[j>>2])<m?n:l;o=(c[j>>2]=o,+g[j>>2])<p?q:o;y=+g[e+32>>2];q=y<(c[j>>2]=u,+g[j>>2]);r=(g[j>>2]=y,c[j>>2]|0);m=+g[e+36>>2];s=m<(c[j>>2]=v,+g[j>>2]);t=(g[j>>2]=m,c[j>>2]|0);p=+g[e+40>>2];l=p<(c[j>>2]=w,+g[j>>2]);n=(g[j>>2]=p,c[j>>2]|0);k=(c[j>>2]=k,+g[j>>2])<y?r:k;i=(c[j>>2]=i,+g[j>>2])<m?t:i;o=(c[j>>2]=o,+g[j>>2])<p?n:o;G=(c[j>>2]=k,+g[j>>2]);H=(c[j>>2]=q?r:u,+g[j>>2]);C=(c[j>>2]=i,+g[j>>2]);D=(c[j>>2]=s?t:v,+g[j>>2]);m=(c[j>>2]=o,+g[j>>2]);z=(c[j>>2]=l?n:w,+g[j>>2]);o=c[d+8>>2]|0;F=+g[o+4>>2];B=+g[o+8>>2];p=+g[o+12>>2];E=+g[o+36>>2];A=+g[o+40>>2];y=+g[o+44>>2];o=~~(((G-H<2.0000000949949026e-03?H+-1.0000000474974513e-03:H)-F)*E)&65535&-2;q=~~(((C-D<2.0000000949949026e-03?D+-1.0000000474974513e-03:D)-B)*A)&65535&-2;r=~~(((m-z<2.0000000949949026e-03?z+-1.0000000474974513e-03:z)-p)*y)&65535&-2;s=~~(((G-H<2.0000000949949026e-03?G+1.0000000474974513e-03:G)-F)*E+1.0)&65535|1;t=~~(((C-D<2.0000000949949026e-03?C+1.0000000474974513e-03:C)-B)*A+1.0)&65535|1;e=~~(((m-z<2.0000000949949026e-03?m+1.0000000474974513e-03:m)-p)*y+1.0)&65535|1;n=c[d+4>>2]|0;i=c[n+4>>2]|0;if((i|0)==(c[n+8>>2]|0)?(x=i|0?i<<1:1,(i|0)<(x|0)):0){if(!x)l=0;else{c[6995]=(c[6995]|0)+1;i=sc((x<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}l=i;i=c[n+4>>2]|0}if((i|0)>0){k=0;do{d=l+(k<<4)|0;w=(c[n+12>>2]|0)+(k<<4)|0;c[d>>2]=c[w>>2];c[d+4>>2]=c[w+4>>2];c[d+8>>2]=c[w+8>>2];c[d+12>>2]=c[w+12>>2];k=k+1|0}while((k|0)!=(i|0))}i=c[n+12>>2]|0;if(i|0){if(a[n+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[n+12>>2]=0}a[n+16>>0]=1;c[n+12>>2]=l;c[n+8>>2]=x;i=c[n+4>>2]|0}x=c[n+12>>2]|0;b[x+(i<<4)>>1]=o;b[x+(i<<4)+2>>1]=q;b[x+(i<<4)+4>>1]=r;b[x+(i<<4)+6>>1]=s;b[x+(i<<4)+8>>1]=t;b[x+(i<<4)+10>>1]=e;c[x+(i<<4)+12>>2]=f<<21|h;c[n+4>>2]=(c[n+4>>2]|0)+1;return}function le(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+336|0;h=c[d+36>>2]|0;c[n+272+4>>2]=35;c[n+272+8>>2]=0;c[n+272+12>>2]=-1;c[n+272+16>>2]=1065353216;c[n+272+20>>2]=1065353216;c[n+272+24>>2]=1065353216;g[n+272+28>>2]=0.0;c[n+272>>2]=3644;c[n+272+56>>2]=h;g[n+272+48>>2]=0.0;k=c[b+28>>2]|0;d=c[k+4>>2]|0;if(c[(c[k+8>>2]|0)+204>>2]&3|0?a[h+376>>0]|0:0){l=n;return}if((a[22384]|0)==0?Uz(22384)|0:0){if((a[22392]|0)==0?Uz(22392)|0:0){c[5698]=1065353216;c[5699]=0;c[5700]=0;c[5701]=0;c[5702]=0;c[5703]=1065353216;c[5704]=0;c[5705]=0;c[5706]=0;c[5707]=0;c[5708]=1065353216;g[5709]=0.0}c[5682]=c[5698];c[5683]=c[5699];c[5684]=c[5700];c[5685]=c[5701];c[5686]=c[5702];c[5687]=c[5703];c[5688]=c[5704];c[5689]=c[5705];c[5690]=c[5706];c[5691]=c[5707];c[5692]=c[5708];c[5693]=c[5709];c[5694]=0;c[5695]=0;c[5696]=0;c[5697]=0}e=c[(c[b+28>>2]|0)+12>>2]|0;c[n>>2]=1065353216;c[n+4>>2]=0;c[n+8>>2]=0;g[n+12>>2]=0.0;if(!(!(Gd(n+272|0,22728,d,e,n,n+216|0)|0)?!(Hc(n+272|0,22728,d,e,n,n+216|0,0)|0):0))i=12;if((i|0)==12?(c[n+4>>2]=0,c[n+4+4>>2]=0,c[n+4+8>>2]=0,c[n+4+12>>2]=0,c[n+4+16>>2]=0,c[n+4+20>>2]=0,a[n+152>>0]=0,c[n>>2]=3432,k=c[(c[b+28>>2]|0)+8>>2]|0,zd(b,n+216|0,h,0,0,0,(c[k+252>>2]&2|0)==0?0:k,k,n)|0):0){c[6995]=(c[6995]|0)+1;d=sc(235)|0;if(!d)k=0;else{c[(d+4+15&-16)+-4>>2]=d;k=d+4+15&-16}e=k+4|0;d=k+152|0;Yk(e|0,0,212)|0;c[k>>2]=3432;h=n+4|0;i=e+100|0;do{c[e>>2]=c[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(i|0));e=k+104|0;c[e>>2]=c[n+104>>2];c[e+4>>2]=c[n+104+4>>2];c[e+8>>2]=c[n+104+8>>2];c[e+12>>2]=c[n+104+12>>2];e=k+120|0;c[e>>2]=c[n+120>>2];c[e+4>>2]=c[n+120+4>>2];c[e+8>>2]=c[n+120+8>>2];c[e+12>>2]=c[n+120+12>>2];e=k+136|0;c[e>>2]=c[n+136>>2];c[e+4>>2]=c[n+136+4>>2];c[e+8>>2]=c[n+136+8>>2];c[e+12>>2]=c[n+136+12>>2];a[d>>0]=a[n+152>>0]|0;e=k+156|0;h=n+156|0;i=e+60|0;do{c[e>>2]=c[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(i|0));i=c[b+24>>2]|0;j=k;d=c[i+912>>2]|0;if((d|0)==(c[i+916>>2]|0)?(m=d|0?d<<1:1,(d|0)<(m|0)):0){if(!m)h=0;else{c[6995]=(c[6995]|0)+1;d=sc((m<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=d;d=c[i+912>>2]|0}if((d|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[i+920>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[i+920>>2]|0;if(e){if(a[i+924>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);d=c[i+912>>2]|0}c[i+920>>2]=0}a[i+924>>0]=1;c[i+920>>2]=h;c[i+916>>2]=m}c[(c[i+920>>2]|0)+(d<<2)>>2]=j;c[i+912>>2]=d+1;d=c[b+24>>2]|0;e=k+64|0;f=+g[e>>2];if(!(c[(c[(c[b+28>>2]|0)+8>>2]|0)+204>>2]&3)){g[e>>2]=f*+g[d+400>>2];d=d+412|0}else{g[e>>2]=f*+g[d+404>>2];d=d+416|0}b=k+68|0;g[b>>2]=+g[d>>2]*+g[b>>2]}l=n;return}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b>>2]|0;m=c[b+4>>2]|0;i=c[b+8>>2]|0;n=c[a+4>>2]|0;p=Lh(a,d,m,i)|0;c[p+12>>2]=c[b+12>>2];c[p+16>>2]=n+1;c[p+20>>2]=n+2;h=c[(c[a+12>>2]|0)+(c[b+12>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if(!((e|0)==(m|0)&(f|0)==(i|0))){if((e|0)==(i|0)?(f|0)==(m|0):0){e=h+12+8|0;break}g=c[h+8>>2]|0;if(!((f|0)==(m|0)&(g|0)==(i|0)))if(!((f|0)==(i|0)&(g|0)==(m|0)))if((g|0)!=(m|0)|(e|0)==(i|0)^1){if((g|0)==(i|0)?(e|0)==(m|0):0){e=h+12+4|0;break}e=9772}else{e=1;o=2}else e=h+12|0;else{e=0;o=2}}else{e=2;o=2}while(0);if((o|0)==2)e=h+12+(e<<2)|0;c[e>>2]=n;k=Lh(a,d,i,l)|0;c[k+12>>2]=c[b+12+4>>2];c[k+16>>2]=n+2;c[k+20>>2]=n;h=c[(c[a+12>>2]|0)+(c[b+12+4>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if(!((e|0)==(i|0)&(f|0)==(l|0))){if((e|0)==(l|0)?(f|0)==(i|0):0){e=h+12+8|0;break}g=c[h+8>>2]|0;if(!((f|0)==(i|0)&(g|0)==(l|0)))if(!((f|0)==(l|0)&(g|0)==(i|0)))if((g|0)!=(i|0)|(e|0)==(l|0)^1){if((g|0)==(l|0)?(e|0)==(i|0):0){e=h+12+4|0;break}e=9772}else{e=1;o=12}else e=h+12|0;else{e=0;o=12}}else{e=2;o=12}while(0);if((o|0)==12)e=h+12+(e<<2)|0;c[e>>2]=n+1;j=Lh(a,d,l,m)|0;c[j+12>>2]=c[b+12+8>>2];c[j+16>>2]=n;c[j+20>>2]=n+1;e=c[a+12>>2]|0;i=c[e+(c[b+12+8>>2]<<2)>>2]|0;f=c[i>>2]|0;g=c[i+4>>2]|0;do if(!((f|0)==(l|0)&(g|0)==(m|0))){if((f|0)==(m|0)?(g|0)==(l|0):0){f=i+12+8|0;break}h=c[i+8>>2]|0;if(!((g|0)==(l|0)&(h|0)==(m|0)))if(!((g|0)==(m|0)&(h|0)==(l|0)))if((h|0)!=(l|0)|(f|0)==(m|0)^1){if((h|0)==(m|0)?(f|0)==(l|0):0){f=i+12+4|0;break}f=9772}else{f=1;o=22}else f=i+12|0;else{f=0;o=22}}else{f=2;o=22}while(0);if((o|0)==22)f=i+12+(f<<2)|0;c[f>>2]=n+2;f=c[e+(c[p+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){pe(e,p,f);c[(c[a+12>>2]|0)+(c[p+24>>2]<<2)>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[p+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[k+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){pe(e,k,f);c[(c[a+12>>2]|0)+(c[k+24>>2]<<2)>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[j+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){pe(e,j,f);c[(c[a+12>>2]|0)+(c[j+24>>2]<<2)>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}c[e+(c[b+24>>2]<<2)>>2]=0;if(!b)return;c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!((d|0)!=0&(e|0)!=0))return;if((c[b+24>>2]|0)<128?(c[b+28>>2]|0)<128:0){c[6995]=(c[6995]|0)+1;h=sc(1043)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+24>>2]|0;if((i|0)>0){h=0;do{k=(c[b+32>>2]|0)+(h<<3)|0;l=c[k+4>>2]|0;m=j+(h<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;h=h+1|0}while((h|0)!=(i|0))}h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=j;c[b+28>>2]=128}c[b+24>>2]=128;h=c[b+32>>2]|0;c[h>>2]=d;c[h+4>>2]=e;h=1;i=124;do{m=h+-1|0;j=c[b+32>>2]|0;k=c[j+(m<<3)>>2]|0;l=c[j+(m<<3)+4>>2]|0;if((m|0)>(i|0)){e=c[b+24>>2]|0;if((e|0)<(e<<1|0)?(c[b+28>>2]|0)<(e<<1|0):0){if(e){c[6995]=(c[6995]|0)+1;i=sc((e<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}d=c[b+24>>2]|0;if((d|0)>0){j=0;do{p=(c[b+32>>2]|0)+(j<<3)|0;o=c[p+4>>2]|0;n=i+(j<<3)|0;c[n>>2]=c[p>>2];c[n+4>>2]=o;j=j+1|0}while((j|0)!=(d|0))}}else i=0;j=c[b+32>>2]|0;if(j|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=i;c[b+28>>2]=e<<1;j=i}c[b+24>>2]=e<<1;i=(e<<1)+-4|0}do if((k|0)==(l|0))if(!(c[k+40>>2]|0))h=m;else{o=c[k+36>>2]|0;c[j+(m<<3)>>2]=o;c[j+(m<<3)+4>>2]=o;o=c[k+40>>2]|0;p=h+1|0;n=c[b+32>>2]|0;c[n+(h<<3)>>2]=o;c[n+(h<<3)+4>>2]=o;n=c[k+40>>2]|0;o=c[b+32>>2]|0;c[o+(p<<3)>>2]=c[k+36>>2];c[o+(p<<3)+4>>2]=n;h=h+2|0}else if(((((+g[k>>2]<=+g[l+16>>2]?+g[k+16>>2]>=+g[l>>2]:0)?+g[k+4>>2]<=+g[l+20>>2]:0)?+g[k+20>>2]>=+g[l+4>>2]:0)?+g[k+8>>2]<=+g[l+24>>2]:0)?+g[k+24>>2]>=+g[l+8>>2]:0){d=(c[l+40>>2]|0)!=0;if(!(c[k+40>>2]|0))if(d){o=c[l+36>>2]|0;c[j+(m<<3)>>2]=k;c[j+(m<<3)+4>>2]=o;o=c[l+40>>2]|0;p=c[b+32>>2]|0;c[p+(h<<3)>>2]=k;c[p+(h<<3)+4>>2]=o;h=h+1|0;break}else{Sb[c[(c[f>>2]|0)+8>>2]&127](f,k,l);h=m;break}else{e=c[k+36>>2]|0;if(d){p=c[l+36>>2]|0;c[j+(m<<3)>>2]=e;c[j+(m<<3)+4>>2]=p;p=c[l+36>>2]|0;n=h+1|0;m=c[b+32>>2]|0;c[m+(h<<3)>>2]=c[k+40>>2];c[m+(h<<3)+4>>2]=p;m=c[l+40>>2]|0;p=h+2|0;o=c[b+32>>2]|0;c[o+(n<<3)>>2]=c[k+36>>2];c[o+(n<<3)+4>>2]=m;n=c[l+40>>2]|0;o=c[b+32>>2]|0;c[o+(p<<3)>>2]=c[k+40>>2];c[o+(p<<3)+4>>2]=n;h=h+3|0;break}else{c[j+(m<<3)>>2]=e;c[j+(m<<3)+4>>2]=l;p=c[b+32>>2]|0;c[p+(h<<3)>>2]=c[k+40>>2];c[p+(h<<3)+4>>2]=l;h=h+1|0;break}}}else h=m;while(0)}while((h|0)!=0);return}function oe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;h=l;l=l+16|0;f=lt()|0;if((a[22480]|0)==0?Uz(22480)|0:0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;ef(23152,0.0,0,0,h)}c[5839]=c[5839]|1;g[5889]=0.0;x=+g[5899]*0.0;D=+g[5900]*0.0;g[5894]=+g[5898]*0.0;g[5895]=x;g[5896]=D;g[5897]=0.0;c[5902]=0;c[5903]=0;c[5904]=0;c[5905]=0;D=+g[5891]*0.0;x=+g[5892]*0.0;g[5943]=+g[5890]*0.0;g[5944]=D;g[5945]=x;g[5946]=0.0;c[f+4>>2]=7;c[f+8>>2]=-1;c[f+12>>2]=-1;g[f+16>>2]=3402823466385288598117041.0e14;a[f+20>>0]=1;a[f+21>>0]=0;c[f+24>>2]=-1;c[f+28>>2]=23152;c[f+32>>2]=b;g[f+36>>2]=0.0;g[f+40>>2]=.05000000074505806;c[f+44>>2]=0;c[f>>2]=4884;a[f+48>>0]=0;c[f+116>>2]=c[d>>2];c[f+116+4>>2]=c[d+4>>2];c[f+116+8>>2]=c[d+8>>2];c[f+116+12>>2]=c[d+12>>2];c[f+132>>2]=c[d+16>>2];c[f+132+4>>2]=c[d+16+4>>2];c[f+132+8>>2]=c[d+16+8>>2];c[f+132+12>>2]=c[d+16+12>>2];c[f+148>>2]=c[d+32>>2];c[f+148+4>>2]=c[d+32+4>>2];c[f+148+8>>2]=c[d+32+8>>2];c[f+148+12>>2]=c[d+32+12>>2];c[f+164>>2]=c[d+48>>2];c[f+164+4>>2]=c[d+48+4>>2];c[f+164+8>>2]=c[d+48+8>>2];c[f+164+12>>2]=c[d+48+12>>2];a[f+180>>0]=e&1;x=+g[f+116>>2];D=+g[b+4>>2];w=+g[f+132>>2];C=+g[b+8>>2];v=+g[f+148>>2];B=+g[b+12>>2];u=+g[f+120>>2];t=+g[f+136>>2];s=+g[f+152>>2];r=+g[f+124>>2];p=+g[f+140>>2];n=+g[f+156>>2];A=+g[b+20>>2];z=+g[b+24>>2];y=+g[b+28>>2];q=+g[b+36>>2];o=+g[b+40>>2];m=+g[b+44>>2];F=+g[f+164>>2];E=+g[f+168>>2];i=+g[f+172>>2];k=+g[b+52>>2]+(D*F+C*E+B*i);j=A*F+z*E+y*i+ +g[b+56>>2];i=q*F+o*E+m*i+ +g[b+60>>2];g[f+52>>2]=x*D+w*C+v*B;g[f+56>>2]=D*u+C*t+B*s;g[f+60>>2]=D*r+C*p+B*n;g[f+64>>2]=0.0;g[f+68>>2]=x*A+w*z+v*y;g[f+72>>2]=u*A+t*z+s*y;g[f+76>>2]=r*A+p*z+n*y;g[f+80>>2]=0.0;g[f+84>>2]=x*q+w*o+v*m;g[f+88>>2]=u*q+t*o+s*m;g[f+92>>2]=r*q+p*o+n*m;g[f+96>>2]=0.0;g[f+100>>2]=k;g[f+104>>2]=j;g[f+108>>2]=i;g[f+112>>2]=0.0;g[f+184>>2]=1.0;g[f+188>>2]=-1.0;g[f+192>>2]=0.0;g[f+196>>2]=0.0;g[f+200>>2]=1.0;g[f+204>>2]=.699999988079071;g[f+208>>2]=0.0;g[f+212>>2]=0.0;g[f+216>>2]=1.0;g[f+220>>2]=.699999988079071;g[f+224>>2]=0.0;g[f+228>>2]=0.0;g[f+264>>2]=1.0;g[f+268>>2]=.699999988079071;g[f+272>>2]=1.0;g[f+276>>2]=0.0;g[f+280>>2]=1.0;g[f+284>>2]=.699999988079071;g[f+288>>2]=1.0;g[f+292>>2]=0.0;g[f+232>>2]=1.0;g[f+236>>2]=.699999988079071;g[f+240>>2]=1.0;g[f+244>>2]=0.0;g[f+248>>2]=1.0;g[f+252>>2]=.699999988079071;g[f+256>>2]=1.0;g[f+260>>2]=0.0;a[f+1096>>0]=0;g[f+1116>>2]=0.0;g[f+1120>>2]=0.0;g[f+1124>>2]=0.0;c[f+300>>2]=0;c[f+1100>>2]=0;c[f+1100+4>>2]=0;c[f+1100+8>>2]=0;a[f+1100+12>>0]=0;a[f+49>>0]=1;Zc(f,(c[f+28>>2]|0)+4|0,(c[f+32>>2]|0)+4|0);l=h;return f|0}function pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=0;do{k=l;l=l+1|0;m=(l|0)==3;j=c[b+((m?0:l)<<2)>>2]|0;k=c[b+(((k+2|0)%3|0)<<2)>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;if(!((e|0)==(k|0)&(f|0)==(j|0)))if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if(!((f|0)==(k|0)&(g|0)==(j|0)))if(!((f|0)==(j|0)&(g|0)==(k|0)))if((g|0)!=(k|0)|(e|0)==(j|0)^1)e=(g|0)!=(j|0)|(e|0)==(k|0)^1?9772:d+12+4|0;else{e=1;n=3}else e=d+12|0;else{e=0;n=3}}else e=d+12+8|0;else{e=2;n=3}if((n|0)==3){n=0;e=d+12+(e<<2)|0}i=c[e>>2]|0;e=c[b>>2]|0;f=c[b+4>>2]|0;if(!((e|0)==(j|0)&(f|0)==(k|0)))if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if(!((f|0)==(j|0)&(g|0)==(k|0)))if(!((f|0)==(k|0)&(g|0)==(j|0)))if((g|0)!=(j|0)|(e|0)==(k|0)^1)e=(g|0)!=(k|0)|(e|0)==(j|0)^1?9772:b+12+4|0;else{e=1;n=10}else e=b+12|0;else{e=0;n=10}}else e=b+12+8|0;else{e=2;n=10}if((n|0)==10){n=0;e=b+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if(!((e|0)==(k|0)&(f|0)==(j|0))){if((e|0)==(j|0)?(f|0)==(k|0):0){e=h+12+8|0;break}g=c[h+8>>2]|0;if(!((f|0)==(k|0)&(g|0)==(j|0)))if(!((f|0)==(j|0)&(g|0)==(k|0)))if((g|0)!=(k|0)|(e|0)==(j|0)^1){if((g|0)==(j|0)?(e|0)==(k|0):0){e=h+12+4|0;break}e=9772}else{e=1;n=17}else e=h+12|0;else{e=0;n=17}}else{e=2;n=17}while(0);if((n|0)==17){n=0;e=h+12+(e<<2)|0}c[e>>2]=i;e=c[b>>2]|0;f=c[b+4>>2]|0;if(!((e|0)==(j|0)&(f|0)==(k|0)))if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if(!((f|0)==(j|0)&(g|0)==(k|0)))if(!((f|0)==(k|0)&(g|0)==(j|0)))if((g|0)!=(j|0)|(e|0)==(k|0)^1)e=(g|0)!=(k|0)|(e|0)==(j|0)^1?9772:b+12+4|0;else{e=1;n=27}else e=b+12|0;else{e=0;n=27}}else e=b+12+8|0;else{e=2;n=27}if((n|0)==27){n=0;e=b+12+(e<<2)|0}i=c[e>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;if(!((e|0)==(k|0)&(f|0)==(j|0)))if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if(!((f|0)==(k|0)&(g|0)==(j|0)))if(!((f|0)==(j|0)&(g|0)==(k|0)))if((g|0)!=(k|0)|(e|0)==(j|0)^1)e=(g|0)!=(j|0)|(e|0)==(k|0)^1?9772:d+12+4|0;else{e=1;n=34}else e=d+12|0;else{e=0;n=34}}else e=d+12+8|0;else{e=2;n=34}if((n|0)==34){n=0;e=d+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if(!((e|0)==(j|0)&(f|0)==(k|0))){if((e|0)==(k|0)?(f|0)==(j|0):0){e=h+12+8|0;break}g=c[h+8>>2]|0;if(!((f|0)==(j|0)&(g|0)==(k|0)))if(!((f|0)==(k|0)&(g|0)==(j|0)))if((g|0)!=(j|0)|(e|0)==(k|0)^1){if((g|0)==(k|0)?(e|0)==(j|0):0){e=h+12+4|0;break}e=9772}else{e=1;n=41}else e=h+12|0;else{e=0;n=41}}else{e=2;n=41}while(0);if((n|0)==41){n=0;e=h+12+(e<<2)|0}c[e>>2]=i}while(!m);return}function qe(b){b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0;u=l;l=l+176|0;if(!(a[b+527>>0]|0)){l=u;return}g[b+36>>2]=0.0;g[b+520>>2]=0.0;g[b+516>>2]=0.0;c[b+576>>2]=0;c[b+576+4>>2]=0;c[b+576+8>>2]=0;c[b+576+12>>2]=0;if(!(a[b+524>>0]|0)){d=c[b+28>>2]|0;j=+g[b+348>>2];k=+g[b+352>>2];q=+g[b+356>>2];s=j*+g[d+20>>2]+k*+g[d+24>>2]+q*+g[d+28>>2]+ +g[d+56>>2];e=c[b+32>>2]|0;m=+g[b+412>>2];n=+g[b+416>>2];r=+g[b+420>>2];t=m*+g[e+20>>2]+n*+g[e+24>>2]+r*+g[e+28>>2]+ +g[e+56>>2];o=m*+g[e+36>>2]+n*+g[e+40>>2]+r*+g[e+44>>2]+ +g[e+60>>2];p=j*+g[d+4>>2]+k*+g[d+8>>2]+q*+g[d+12>>2]+ +g[d+52>>2];q=j*+g[d+36>>2]+k*+g[d+40>>2]+q*+g[d+44>>2]+ +g[d+60>>2];r=m*+g[e+4>>2]+n*+g[e+8>>2]+r*+g[e+12>>2]+ +g[e+52>>2];if((r-p)*(r-p)+(t-s)*(t-s)+(o-q)*(o-q)>1.1920928955078125e-07){h=1.0/+D(+((r-p)*(r-p)+(t-s)*(t-s)+(o-q)*(o-q)));g[u+128>>2]=(r-p)*h;g[u+128+4>>2]=(t-s)*h;g[u+128+8>>2]=(o-q)*h;c[u+128+12>>2]=0;m=(o-q)*h;f=(t-s)*h;h=(r-p)*h}else{c[u+128>>2]=1065353216;c[u+128+4>>2]=0;c[u+128+8>>2]=0;g[u+128+12>>2]=0.0;m=0.0;f=0.0;h=1.0}if(+C(+m)>.7071067690849304){w=m*m+f*f;v=1.0/+D(+w);j=-(v*m);m=v*f;n=-(m*h);i=h*j;k=0.0;f=w*v;h=m}else{j=h*h+f*f;i=1.0/+D(+j);k=-(f*i);f=i*h;n=m*k;i=j*i;j=f;f=-(f*m);h=0.0}g[u+128+16>>2]=k;g[u+128+20>>2]=j;g[u+128+24>>2]=h;g[u+128+32>>2]=f;g[u+128+36>>2]=n;g[u+128+40>>2]=i;d=0;while(1){x=c[b+28>>2]|0;c[u+80>>2]=c[x+4>>2];c[u+80+4>>2]=c[x+20>>2];c[u+80+8>>2]=c[x+36>>2];g[u+80+12>>2]=0.0;c[u+80+16>>2]=c[x+8>>2];c[u+80+20>>2]=c[x+24>>2];c[u+80+24>>2]=c[x+40>>2];g[u+80+28>>2]=0.0;c[u+80+32>>2]=c[x+12>>2];c[u+80+36>>2]=c[x+28>>2];c[u+80+40>>2]=c[x+44>>2];g[u+80+44>>2]=0.0;c[u+32>>2]=c[e+4>>2];c[u+32+4>>2]=c[e+20>>2];c[u+32+8>>2]=c[e+36>>2];g[u+32+12>>2]=0.0;c[u+32+16>>2]=c[e+8>>2];c[u+32+20>>2]=c[e+24>>2];c[u+32+24>>2]=c[e+40>>2];g[u+32+28>>2]=0.0;c[u+32+32>>2]=c[e+12>>2];c[u+32+36>>2]=c[e+28>>2];c[u+32+40>>2]=c[e+44>>2];g[u+32+44>>2]=0.0;w=s-+g[x+56>>2];v=q-+g[x+60>>2];g[u+16>>2]=p-+g[x+52>>2];g[u+16+4>>2]=w;g[u+16+8>>2]=v;g[u+16+12>>2]=0.0;v=t-+g[e+56>>2];w=o-+g[e+60>>2];g[u>>2]=r-+g[e+52>>2];g[u+4>>2]=v;g[u+8>>2]=w;g[u+12>>2]=0.0;x=c[b+28>>2]|0;e=c[b+32>>2]|0;Rg(b+48+(d*84|0)|0,u+80|0,u+32|0,u+16|0,u,u+128+(d<<4)|0,x+456|0,+g[x+404>>2],e+456|0,+g[e+404>>2]);d=d+1|0;if((d|0)==3)break;e=c[b+32>>2]|0}d=b+32|0}else d=b+32|0;e=c[b+28>>2]|0;x=c[d>>2]|0;xc(b,e+4|0,x+4|0,e+324|0,x+324|0);l=u;return}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+80|0;c[a+72>>2]=(c[a+72>>2]|0)+1;f=c[a+68>>2]|0;if(f|0){d=c[(c[a+28>>2]|0)+(b*80|0)+76>>2]|0;Ag(f,d)|0;e=c[f+4>>2]|0;if(e|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[f+4>>2]=d;c[f+12>>2]=(c[f+12>>2]|0)+-1}f=(c[a+20>>2]|0)+-1|0;e=c[a+28>>2]|0;c[g>>2]=c[e+(b*80|0)>>2];c[g+4>>2]=c[e+(b*80|0)+4>>2];c[g+8>>2]=c[e+(b*80|0)+8>>2];c[g+12>>2]=c[e+(b*80|0)+12>>2];c[g+16>>2]=c[e+(b*80|0)+16>>2];c[g+16+4>>2]=c[e+(b*80|0)+16+4>>2];c[g+16+8>>2]=c[e+(b*80|0)+16+8>>2];c[g+16+12>>2]=c[e+(b*80|0)+16+12>>2];c[g+32>>2]=c[e+(b*80|0)+32>>2];c[g+32+4>>2]=c[e+(b*80|0)+32+4>>2];c[g+32+8>>2]=c[e+(b*80|0)+32+8>>2];c[g+32+12>>2]=c[e+(b*80|0)+32+12>>2];c[g+48>>2]=c[e+(b*80|0)+48>>2];c[g+48+4>>2]=c[e+(b*80|0)+48+4>>2];c[g+48+8>>2]=c[e+(b*80|0)+48+8>>2];c[g+48+12>>2]=c[e+(b*80|0)+48+12>>2];c[g+64>>2]=c[e+(b*80|0)+64>>2];c[g+64+4>>2]=c[e+(b*80|0)+64+4>>2];c[g+64+8>>2]=c[e+(b*80|0)+64+8>>2];c[g+64+12>>2]=c[e+(b*80|0)+64+12>>2];c[e+(b*80|0)>>2]=c[e+(f*80|0)>>2];c[e+(b*80|0)+4>>2]=c[e+(f*80|0)+4>>2];c[e+(b*80|0)+8>>2]=c[e+(f*80|0)+8>>2];c[e+(b*80|0)+12>>2]=c[e+(f*80|0)+12>>2];c[e+(b*80|0)+16>>2]=c[e+(f*80|0)+16>>2];c[e+(b*80|0)+16+4>>2]=c[e+(f*80|0)+16+4>>2];c[e+(b*80|0)+16+8>>2]=c[e+(f*80|0)+16+8>>2];c[e+(b*80|0)+16+12>>2]=c[e+(f*80|0)+16+12>>2];c[e+(b*80|0)+32>>2]=c[e+(f*80|0)+32>>2];c[e+(b*80|0)+32+4>>2]=c[e+(f*80|0)+32+4>>2];c[e+(b*80|0)+32+8>>2]=c[e+(f*80|0)+32+8>>2];c[e+(b*80|0)+32+12>>2]=c[e+(f*80|0)+32+12>>2];c[e+(b*80|0)+48>>2]=c[e+(f*80|0)+48>>2];c[e+(b*80|0)+48+4>>2]=c[e+(f*80|0)+48+4>>2];c[e+(b*80|0)+48+8>>2]=c[e+(f*80|0)+48+8>>2];c[e+(b*80|0)+48+12>>2]=c[e+(f*80|0)+48+12>>2];c[e+(b*80|0)+64>>2]=c[e+(f*80|0)+64>>2];c[e+(b*80|0)+64+4>>2]=c[e+(f*80|0)+64+4>>2];c[e+(b*80|0)+64+8>>2]=c[e+(f*80|0)+64+8>>2];c[e+(b*80|0)+64+12>>2]=c[e+(f*80|0)+64+12>>2];e=c[a+28>>2]|0;c[e+(f*80|0)>>2]=c[g>>2];c[e+(f*80|0)+4>>2]=c[g+4>>2];c[e+(f*80|0)+8>>2]=c[g+8>>2];c[e+(f*80|0)+12>>2]=c[g+12>>2];c[e+(f*80|0)+16>>2]=c[g+16>>2];c[e+(f*80|0)+16+4>>2]=c[g+16+4>>2];c[e+(f*80|0)+16+8>>2]=c[g+16+8>>2];c[e+(f*80|0)+16+12>>2]=c[g+16+12>>2];c[e+(f*80|0)+32>>2]=c[g+32>>2];c[e+(f*80|0)+32+4>>2]=c[g+32+4>>2];c[e+(f*80|0)+32+8>>2]=c[g+32+8>>2];c[e+(f*80|0)+32+12>>2]=c[g+32+12>>2];c[e+(f*80|0)+48>>2]=c[g+48>>2];c[e+(f*80|0)+48+4>>2]=c[g+48+4>>2];c[e+(f*80|0)+48+8>>2]=c[g+48+8>>2];c[e+(f*80|0)+48+12>>2]=c[g+48+12>>2];c[e+(f*80|0)+64>>2]=c[g+64>>2];c[e+(f*80|0)+64+4>>2]=c[g+64+4>>2];c[e+(f*80|0)+64+8>>2]=c[g+64+8>>2];c[e+(f*80|0)+64+12>>2]=c[g+64+12>>2];if(!(c[a+68>>2]|0)){f=c[a+20>>2]|0;f=f+-1|0;c[a+20>>2]=f;l=g;return}c[(c[(c[a+28>>2]|0)+(b*80|0)+76>>2]|0)+36>>2]=b;f=c[a+20>>2]|0;f=f+-1|0;c[a+20>>2]=f;l=g;return}function se(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[b+92>>2]|0;if(!(xb[c[(c[o>>2]|0)+56>>2]&127](o)|0))return;o=c[b+92>>2]|0;o=xb[c[(c[o>>2]|0)+28>>2]&127](o)|0;f=c[o+4>>2]|0;if((f|0)>1){te(o,0,f+-1|0);j=c[o+4>>2]|0}else j=f;m=c[b+104>>2]|0;f=j-m|0;if((m|0)<0){if((c[o+8>>2]|0)<(f|0)){if(!f){g=0;i=j}else{c[6995]=(c[6995]|0)+1;g=sc((f<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=c[o+4>>2]|0}if((i|0)>0){h=0;do{m=c[o+12>>2]|0;c[g+(h<<4)>>2]=c[m+(h<<4)>>2];c[g+(h<<4)+4>>2]=c[m+(h<<4)+4>>2];c[g+(h<<4)+8>>2]=c[m+(h<<4)+8>>2];c[g+(h<<4)+12>>2]=c[m+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[o+12>>2]|0;if(h|0){if(a[o+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=g;c[o+8>>2]=f;h=o+12|0}else h=o+12|0;g=j;do{m=(c[h>>2]|0)+(g<<4)|0;g=g+1|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0}while((g|0)!=(f|0))}c[o+4>>2]=f;c[b+104>>2]=0;if((f|0)>0){l=0;m=0;g=0;h=0;do{k=c[o+12>>2]|0;j=k+(l<<4)|0;p=m;m=c[j>>2]|0;k=k+(l<<4)+4|0;i=c[k>>2]|0;if(!((m|0)==(p|0)&(i|0)==(g|0))){p=m+48|0;if((((((e[m+54>>1]|0)>=(e[i+48>>1]|0)?(e[i+54>>1]|0)>=(e[p>>1]|0):0)?(e[m+56>>1]|0)>=(e[i+48+2>>1]|0):0)?(e[i+56>>1]|0)>=(e[p+2>>1]|0):0)?(e[m+58>>1]|0)>=(e[i+52>>1]|0):0)?(e[i+58>>1]|0)>=(e[m+52>>1]|0):0)g=i;else{f=i;n=29}}else{f=g;n=29}if((n|0)==29){n=0;h=c[b+92>>2]|0;Sb[c[(c[h>>2]|0)+32>>2]&127](h,j,d);c[j>>2]=0;c[k>>2]=0;h=(c[b+104>>2]|0)+1|0;c[b+104>>2]=h;c[6156]=(c[6156]|0)+-1;g=f;f=c[o+4>>2]|0}l=l+1|0}while((l|0)<(f|0));if((f|0)>1){te(o,0,f+-1|0);g=c[o+4>>2]|0;h=c[b+104>>2]|0}else g=f;f=g-h|0;if((h|0)<0){if((c[o+8>>2]|0)<(f|0)){if(!f){h=0;j=g}else{c[6995]=(c[6995]|0)+1;h=sc((f<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[o+4>>2]|0}if((j|0)>0){i=0;do{p=c[o+12>>2]|0;c[h+(i<<4)>>2]=c[p+(i<<4)>>2];c[h+(i<<4)+4>>2]=c[p+(i<<4)+4>>2];c[h+(i<<4)+8>>2]=c[p+(i<<4)+8>>2];c[h+(i<<4)+12>>2]=c[p+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[o+12>>2]|0;if(i|0){if(a[o+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=h;c[o+8>>2]=f}do{p=(c[o+12>>2]|0)+(g<<4)|0;g=g+1|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}while((g|0)!=(f|0))}}c[o+4>>2]=f;c[b+104>>2]=0;return}function te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;while(1){m=c[a+12>>2]|0;o=(b+d|0)/2|0;p=c[m+(o<<4)>>2]|0;n=c[m+(o<<4)+4>>2]|0;o=c[m+(o<<4)+8>>2]|0;e=d;f=b;while(1){a:do if(!p)while(1){j=c[m+(f<<4)>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[m+(f<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!n)i=-1;else i=c[n+12>>2]|0;do if((g|0)<=-1){g=(h|0)>(i|0);if(g|(j|0)==0^1)if((j|0)==0&g)break;else break a;if((k|0)!=(n|0))break a;if((c[m+(f<<4)+8>>2]|0)>>>0<=o>>>0)break a}while(0);f=f+1|0}else{l=c[p+12>>2]|0;while(1){j=c[m+(f<<4)>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[m+(f<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!n)i=-1;else i=c[n+12>>2]|0;do if((g|0)<=(l|0)){g=(h|0)>(i|0);if(g|(j|0)==(p|0)^1)if((j|0)==(p|0)&g)break;else break a;if((k|0)!=(n|0))break a;if((c[m+(f<<4)+8>>2]|0)>>>0<=o>>>0)break a}while(0);f=f+1|0}}while(0);b:do if(!p)while(1){j=c[m+(e<<4)>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;if(!n)h=-1;else h=c[n+12>>2]|0;k=c[m+(e<<4)+4>>2]|0;if(!k)i=-1;else i=c[k+12>>2]|0;do if((g|0)>=-1){g=(h|0)>(i|0);if(g|(j|0)==0^1)if((j|0)==0&g)break;else break b;if((n|0)!=(k|0))break b;if(o>>>0<=(c[m+(e<<4)+8>>2]|0)>>>0)break b}while(0);e=e+-1|0}else{l=c[p+12>>2]|0;while(1){j=c[m+(e<<4)>>2]|0;if(!j)i=-1;else i=c[j+12>>2]|0;if(!n)g=-1;else g=c[n+12>>2]|0;k=c[m+(e<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;do if((l|0)<=(i|0)){g=(g|0)>(h|0);if(g|(p|0)==(j|0)^1)if((p|0)==(j|0)&g)break;else break b;if((n|0)!=(k|0))break b;if(o>>>0<=(c[m+(e<<4)+8>>2]|0)>>>0)break b}while(0);e=e+-1|0}}while(0);if((f|0)<=(e|0)){h=m+(f<<4)|0;i=c[h>>2]|0;j=c[m+(f<<4)+4>>2]|0;k=c[m+(f<<4)+8>>2]|0;l=c[m+(f<<4)+12>>2]|0;m=m+(e<<4)|0;c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[h+12>>2]=c[m+12>>2];m=c[a+12>>2]|0;c[m+(e<<4)>>2]=i;c[m+(e<<4)+4>>2]=j;c[m+(e<<4)+8>>2]=k;c[m+(e<<4)+12>>2]=l;e=e+-1|0;f=f+1|0}if((f|0)>(e|0))break;m=c[a+12>>2]|0}if((e|0)>(b|0))te(a,b,e);if((f|0)<(d|0))b=f;else break}return}function ue(a,d,f,h,i,j,k,m,n){a=a|0;d=d|0;f=f|0;h=+h;i=+i;j=+j;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0;W=l;l=l+32|0;T=+g[f>>2];F=+g[f+4>>2];L=+g[f+8>>2];M=1.0/+D(+((h-T)*(h-T)+(i-F)*(i-F)+(j-L)*(j-L)));Q=(h-T)*M==0.0?999999984306749440.0:1.0/((h-T)*M);R=(i-F)*M==0.0?999999984306749440.0:1.0/((i-F)*M);S=(j-L)*M==0.0?999999984306749440.0:1.0/((j-L)*M);fa=(T>h?h:T)+ +g[k>>2];ea=(F>i?i:F)+ +g[k+4>>2];da=(L>j?j:L)+ +g[k+8>>2];ba=(T<h?h:T)+ +g[m>>2];Z=(F<i?i:F)+ +g[m+4>>2];r=(L<j?j:L)+ +g[m+8>>2];aa=+g[a+4>>2];fa=fa<aa?aa:fa;Y=+g[a+8>>2];ea=ea<Y?Y:ea;s=+g[a+12>>2];da=da<s?s:da;ca=+g[a+20>>2];_=+g[a+24>>2];q=+g[a+28>>2];$=+g[a+36>>2];X=+g[a+40>>2];t=+g[a+44>>2];U=~~(((ca<fa?ca:fa)-aa)*$)&65535&-2;G=~~(((_<ea?_:ea)-Y)*X)&65535&-2;H=~~(((q<da?q:da)-s)*t)&65535&-2;ba=ba<aa?aa:ba;Z=Z<Y?Y:Z;r=r<s?s:r;I=~~(((ca<ba?ca:ba)-aa)*$+1.0)&65535|1;J=~~(((_<Z?_:Z)-Y)*X+1.0)&65535|1;K=~~(((q<r?q:r)-s)*t+1.0)&65535|1;if((n|0)>0){B=0;o=0;E=c[a+136>>2]|0;while(1){o=o+1|0;p=E+6|0;u=b[E>>1]|0;v=E+10|0;w=b[E+4>>1]|0;x=E+8|0;y=b[E+2>>1]|0;z=E+12|0;A=(c[z>>2]|0)>-1;do if(((I&65535)>=(u&65535)?(U&65535)<=(e[p>>1]|0):0)&(H&65535)<=(e[v>>1]|0)&(K&65535)>=(w&65535)&(G&65535)<=(e[x>>1]|0)&(J&65535)>=(y&65535)){ba=+g[a+36>>2];da=+g[a+40>>2];fa=+g[a+44>>2];ca=+g[a+4>>2];ea=+g[a+8>>2];s=+g[a+12>>2];g[W+12>>2]=0.0;t=+(e[p>>1]|0)/ba+ca;q=+(e[x>>1]|0)/da+ea;r=+(e[v>>1]|0)/fa+s;g[W+28>>2]=0.0;g[W>>2]=+(u&65535)/ba+ca-+g[m>>2];g[W+4>>2]=+(y&65535)/da+ea-+g[m+4>>2];g[W+8>>2]=+(w&65535)/fa+s-+g[m+8>>2];g[W+16>>2]=t-+g[k>>2];g[W+20>>2]=q-+g[k+4>>2];g[W+24>>2]=r-+g[k+8>>2];r=+g[f>>2];q=Q*(+g[W+((Q<0.0&1)<<4)>>2]-r);r=Q*(+g[W+((Q<0.0^1)<<4)>>2]-r);t=+g[f+4>>2];s=R*(+g[W+((R<0.0&1)<<4)+4>>2]-t);t=R*(+g[W+((R<0.0^1)<<4)+4>>2]-t);if(!(s>r|q>t)?(N=s>q?s:q,C=t<r?t:r,P=+g[f+8>>2],O=S*(+g[W+((S<0.0&1)<<4)+8>>2]-P),P=S*(+g[W+((S<0.0^1)<<4)+8>>2]-P),!(O>C|N>P)):0){p=(P<C?P:C)>0.0?(O>N?O:N)<(j-L)*(j-L)*M+((h-T)*(h-T)*M+(i-F)*(i-F)*M):0;if(!(A&p)){V=9;break}p=c[z>>2]|0;Sb[c[(c[d>>2]|0)+8>>2]&127](d,p>>21,p&2097151);p=1;break}p=0;V=9}else{p=0;V=9}while(0);if((V|0)==9){V=0;if(A|p)p=1;else p=0-(c[z>>2]|0)|0}B=p+B|0;if((B|0)>=(n|0))break;else E=E+(p<<4)|0}}else o=0;if((c[6160]|0)>=(o|0)){l=W;return}c[6160]=o;l=W;return}function ve(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0.0;o=l;l=l+80|0;h=+g[b+12>>2];k=+g[a+264>>2];f=+g[b+8>>2];n=+g[a+260>>2];e=+g[b+4>>2];if((k==f?+g[a+268>>2]==h:0)&n==e?+g[a+256>>2]==+g[b>>2]:0){l=o;return}m=+g[a+256>>2];d=+g[b>>2];if(d*d+e*e+f*f>0.0){j=1.0/+D(+(d*d+e*e+f*f));g[a+256>>2]=d*j;g[a+260>>2]=e*j;g[a+264>>2]=f*j;i=d*j;e=e*j;f=f*j;d=h}else{c[a+256>>2]=0;c[a+260>>2]=0;c[a+264>>2]=0;i=0.0;e=0.0;f=0.0;d=0.0}g[a+268>>2]=d;b=c[a+8>>2]|0;if(!b){l=o;return}d=i*i+e*e+f*f;do if(!(d==0.0)?!(m*m+n*n+k*k==0.0):0){d=1.0/+D(+d);j=i*d;g[a+256>>2]=j;h=e*d;g[a+260>>2]=h;d=f*d;g[a+264>>2]=d;e=1.0/+D(+(m*m+n*n+k*k));if(!(d*k*e+(h*n*e+m*e*j)<-.9999998807907104)){p=+D(+((d*k*e+(h*n*e+m*e*j)+1.0)*2.0));i=(d*m*e-k*e*j)*(1.0/p);f=(h*k*e-d*n*e)*(1.0/p);d=(n*e*j-h*m*e)*(1.0/p);e=p*.5;break}if(+C(+d)>.7071067690849304){e=1.0/+D(+(d*d+h*h));i=-(d*e);f=0.0;d=h*e;e=0.0;break}else{f=1.0/+D(+(h*h+j*j));i=j*f;f=-(h*f);d=0.0;e=0.0;break}}else{i=0.0;f=0.0;d=0.0;e=0.0}while(0);c[o+16>>2]=c[b+4>>2];c[o+16+4>>2]=c[b+4+4>>2];c[o+16+8>>2]=c[b+4+8>>2];c[o+16+12>>2]=c[b+4+12>>2];s=o+16+16|0;c[s>>2]=c[b+20>>2];c[s+4>>2]=c[b+20+4>>2];c[s+8>>2]=c[b+20+8>>2];c[s+12>>2]=c[b+20+12>>2];r=o+16+32|0;c[r>>2]=c[b+36>>2];c[r+4>>2]=c[b+36+4>>2];c[r+8>>2]=c[b+36+8>>2];c[r+12>>2]=c[b+36+12>>2];q=o+16+48|0;c[q>>2]=c[b+52>>2];c[q+4>>2]=c[b+52+4>>2];c[q+8>>2]=c[b+52+8>>2];c[q+12>>2]=c[b+52+12>>2];f=-f;p=-i;j=-d;yh(o+16|0,o);d=+g[o>>2];t=+g[o+12>>2];m=+g[o+8>>2];i=+g[o+4>>2];k=e*d+t*f+m*p-i*j;n=d*j+(t*p+e*i)-m*f;h=t*j+e*m+i*f-d*p;j=e*t-d*f-i*p-m*j;m=k*(2.0/(j*j+(h*h+(k*k+n*n))));p=n*(2.0/(j*j+(h*h+(k*k+n*n))));i=h*(2.0/(j*j+(h*h+(k*k+n*n))));g[o+16>>2]=1.0-(n*p+h*i);g[o+16+4>>2]=k*p-j*i;g[o+16+8>>2]=k*i+j*p;g[o+16+12>>2]=0.0;g[o+16+16>>2]=k*p+j*i;g[o+16+20>>2]=1.0-(k*m+h*i);g[o+16+24>>2]=n*i-j*m;g[o+16+28>>2]=0.0;g[o+16+32>>2]=k*i-j*p;g[o+16+36>>2]=n*i+j*m;g[o+16+40>>2]=1.0-(k*m+n*p);g[o+16+44>>2]=0.0;a=c[a+8>>2]|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+4>>2]=c[o+16>>2];c[a+4+4>>2]=c[o+16+4>>2];c[a+4+8>>2]=c[o+16+8>>2];c[a+4+12>>2]=c[o+16+12>>2];c[a+20>>2]=c[s>>2];c[a+20+4>>2]=c[s+4>>2];c[a+20+8>>2]=c[s+8>>2];c[a+20+12>>2]=c[s+12>>2];c[a+36>>2]=c[r>>2];c[a+36+4>>2]=c[r+4>>2];c[a+36+8>>2]=c[r+8>>2];c[a+36+12>>2]=c[r+12>>2];c[a+52>>2]=c[q>>2];c[a+52+4>>2]=c[q+4>>2];c[a+52+8>>2]=c[q+8>>2];c[a+52+12>>2]=c[q+12>>2];l=o;return}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;h=l;l=l+160|0;e=c[a+4>>2]|0;f=c[e+12>>2]|0;D=+g[f>>2];C=+g[f+4>>2];B=+g[f+8>>2];A=+g[f+16>>2];z=+g[f+20>>2];y=+g[f+24>>2];r=+g[f+32>>2];p=+g[f+36>>2];n=+g[f+40>>2];e=c[(c[e+4>>2]|0)+28>>2]|0;x=+g[e+(d*80|0)>>2];w=+g[e+(d*80|0)+16>>2];v=+g[e+(d*80|0)+32>>2];u=+g[e+(d*80|0)+4>>2];t=+g[e+(d*80|0)+20>>2];s=+g[e+(d*80|0)+36>>2];q=+g[e+(d*80|0)+8>>2];o=+g[e+(d*80|0)+24>>2];m=+g[e+(d*80|0)+40>>2];F=+g[e+(d*80|0)+48>>2];E=+g[e+(d*80|0)+52>>2];i=+g[e+(d*80|0)+56>>2];k=+g[f+48>>2]+(D*F+C*E+B*i);j=+g[f+52>>2]+(A*F+z*E+y*i);i=+g[f+56>>2]+(r*F+p*E+n*i);g[h+88>>2]=D*x+C*w+B*v;g[h+88+4>>2]=D*u+C*t+B*s;g[h+88+8>>2]=D*q+C*o+B*m;g[h+88+12>>2]=0.0;g[h+88+16>>2]=A*x+z*w+y*v;g[h+88+20>>2]=A*u+z*t+y*s;g[h+88+24>>2]=A*q+z*o+y*m;g[h+88+28>>2]=0.0;g[h+88+32>>2]=r*x+p*w+n*v;g[h+88+36>>2]=r*u+p*t+n*s;g[h+88+40>>2]=r*q+p*o+n*m;g[h+88+44>>2]=0.0;g[h+88+48>>2]=k;g[h+88+52>>2]=j;g[h+88+56>>2]=i;g[h+88+60>>2]=0.0;Vb[c[(c[b>>2]|0)+8>>2]&127](b,h+88|0,h+72|0,h+56|0);i=+g[(c[a+20>>2]|0)+32>>2];g[h+72>>2]=+g[h+72>>2]-i;g[h+72+4>>2]=+g[h+72+4>>2]-i;g[h+72+8>>2]=+g[h+72+8>>2]-i;g[h+56>>2]=i+ +g[h+56>>2];g[h+56+4>>2]=i+ +g[h+56+4>>2];g[h+56+8>>2]=i+ +g[h+56+8>>2];f=c[a+8>>2]|0;e=c[f+4>>2]|0;Vb[c[(c[e>>2]|0)+8>>2]&127](e,c[f+12>>2]|0,h+40|0,h+24|0);if(!(+g[h+72>>2]>+g[h+24>>2])?!(+g[h+56>>2]<+g[h+40>>2]):0)e=1;else e=0;if(!(!(+g[h+72+8>>2]>+g[h+24+8>>2])?!(+g[h+56+8>>2]<+g[h+40+8>>2]):0))e=0;if(+g[h+72+4>>2]>+g[h+24+4>>2]){l=h;return}if(+g[h+56+4>>2]<+g[h+40+4>>2]|e^1){l=h;return}e=c[a+4>>2]|0;f=c[e+8>>2]|0;c[h>>2]=e;c[h+4>>2]=b;c[h+8>>2]=f;c[h+12>>2]=h+88;c[h+16>>2]=-1;c[h+20>>2]=d;if(!(+g[(c[a+20>>2]|0)+32>>2]>0.0)){e=c[(c[a+24>>2]|0)+(d<<2)>>2]|0;if(!e){f=c[a+12>>2]|0;f=Db[c[(c[f>>2]|0)+8>>2]&1](f,h,c[a+8>>2]|0,c[a+28>>2]|0,1)|0;c[(c[a+24>>2]|0)+(d<<2)>>2]=f;f=c[(c[a+24>>2]|0)+(d<<2)>>2]|0}else f=e}else{f=c[a+12>>2]|0;f=Db[c[(c[f>>2]|0)+8>>2]&1](f,h,c[a+8>>2]|0,0,2)|0}b=c[a+20>>2]|0;e=c[b+8>>2]|0;if((c[e+8>>2]|0)==(c[(c[a+4>>2]|0)+8>>2]|0)){c[b+8>>2]=h;Sb[c[(c[b>>2]|0)+8>>2]&127](b,-1,d)}else{e=c[b+12>>2]|0;c[b+12>>2]=h;Sb[c[(c[b>>2]|0)+12>>2]&127](b,-1,d)}Zb[c[(c[f>>2]|0)+8>>2]&31](f,h,c[a+8>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0);d=c[a+20>>2]|0;c[((c[(c[d+8>>2]|0)+8>>2]|0)==(c[(c[a+4>>2]|0)+8>>2]|0)?d+8|0:d+12|0)>>2]=e;l=h;return}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,H=0.0,I=0.0,J=0.0;Tg(a,b+(c*284|0)|0,d);m=+g[b+(c*284|0)+52>>2];h=+g[b+(c*284|0)+56>>2];q=+g[b+(c*284|0)+60>>2];J=+g[b+(c*284|0)+76>>2];x=+g[b+(c*284|0)+72>>2];z=+g[b+(c*284|0)+68>>2];w=1.0/+D(+((x*-m-z*-h)*(x*-m-z*-h)+((J*-h-x*-q)*(J*-h-x*-q)+(z*-q-J*-m)*(z*-q-J*-m))));v=(J*-h-x*-q)*w;u=w*(z*-q-J*-m);w=w*(x*-m-z*-h);e=+g[b+(c*284|0)+232>>2]*.5;k=+G(+e)/+D(+(m*m+h*h+q*q));e=+F(+e);l=2.0/(e*e+(k*-q*k*-q+(k*-m*k*-m+k*-h*k*-h)));H=1.0-(k*-h*k*-h*l+k*-q*k*-q*l);E=k*-m*k*-h*l-e*k*-q*l;I=k*-m*k*-q*l+e*k*-h*l;B=k*-m*k*-h*l+e*k*-q*l;A=1.0-(k*-m*k*-m*l+k*-q*k*-q*l);C=k*-h*k*-q*l-e*k*-m*l;j=k*-m*k*-q*l-e*k*-h*l;e=k*-h*k*-q*l+e*k*-m*l;l=1.0-(k*-m*k*-m*l+k*-h*k*-h*l);k=+g[b+(c*284|0)+236>>2]*-.5;y=+G(+k)/+D(+(J*J+(x*x+z*z)));k=+F(+k);r=2.0/(k*k+(J*y*J*y+(z*y*z*y+x*y*x*y)));n=1.0-(x*y*x*y*r+J*y*J*y*r);i=z*y*x*y*r-k*J*y*r;t=z*y*J*y*r+k*x*y*r;o=z*y*x*y*r+k*J*y*r;f=1.0-(z*y*z*y*r+J*y*J*y*r);s=x*y*J*y*r-k*z*y*r;p=z*y*J*y*r-k*x*y*r;k=x*y*J*y*r+k*z*y*r;r=1.0-(z*y*z*y*r+x*y*x*y*r);y=+g[b+(c*284|0)+68>>2];x=+g[b+(c*284|0)+72>>2];z=+g[b+(c*284|0)+76>>2];g[b+(c*284|0)+92>>2]=z*(H*t+E*s+I*r)+(y*(I*p+(E*o+H*n))+x*(I*k+(H*i+E*f)));g[b+(c*284|0)+96>>2]=w*(H*t+E*s+I*r)+(v*(I*p+(E*o+H*n))+u*(I*k+(H*i+E*f)));g[b+(c*284|0)+100>>2]=(H*t+E*s+I*r)*-q+((I*p+(E*o+H*n))*-m+(I*k+(H*i+E*f))*-h);g[b+(c*284|0)+104>>2]=0.0;g[b+(c*284|0)+108>>2]=z*(B*t+A*s+C*r)+(y*(C*p+(A*o+B*n))+x*(C*k+(B*i+A*f)));g[b+(c*284|0)+112>>2]=w*(B*t+A*s+C*r)+(v*(C*p+(A*o+B*n))+u*(C*k+(B*i+A*f)));g[b+(c*284|0)+116>>2]=(B*t+A*s+C*r)*-q+((C*p+(A*o+B*n))*-m+(C*k+(B*i+A*f))*-h);g[b+(c*284|0)+120>>2]=0.0;g[b+(c*284|0)+124>>2]=z*(j*t+e*s+l*r)+(y*(l*p+(e*o+j*n))+x*(l*k+(j*i+e*f)));g[b+(c*284|0)+128>>2]=w*(j*t+e*s+l*r)+(v*(l*p+(e*o+j*n))+u*(l*k+(j*i+e*f)));g[b+(c*284|0)+132>>2]=(j*t+e*s+l*r)*-q+((l*p+(e*o+j*n))*-m+(l*k+(j*i+e*f))*-h);g[b+(c*284|0)+136>>2]=0.0;h=+g[b+(c*284|0)+32>>2];f=h*+g[b+(c*284|0)+56>>2]+ +g[b+(c*284|0)+40>>2];e=h*+g[b+(c*284|0)+60>>2]+ +g[b+(c*284|0)+44>>2];g[b+(c*284|0)+140>>2]=+g[b+(c*284|0)+52>>2]*h+ +g[b+(c*284|0)+36>>2];g[b+(c*284|0)+144>>2]=f;g[b+(c*284|0)+148>>2]=e;g[b+(c*284|0)+152>>2]=0.0;return}function ye(b,d,e,f,h,i,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;c[b+4>>2]=4;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.05000000074505806;c[b+44>>2]=0;c[b>>2]=4996;g[b+688>>2]=0.0;g[b+692>>2]=-1.0;g[b+696>>2]=.8999999761581421;g[b+700>>2]=.30000001192092896;g[b+704>>2]=1.0;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;a[b+736>>0]=0;a[b+737>>0]=0;a[b+738>>0]=0;a[b+739>>0]=1;a[b+740>>0]=l&1;c[b+748>>2]=0;c[b+748+4>>2]=0;c[b+748+8>>2]=0;c[b+748+12>>2]=0;c[b+748+16>>2]=0;c[b+600>>2]=c[f>>2];c[b+600+4>>2]=c[f+4>>2];c[b+600+8>>2]=c[f+8>>2];c[b+600+12>>2]=c[f+12>>2];m=+g[d+4>>2];n=+g[d+20>>2];o=+g[d+36>>2];p=+g[i>>2];q=+g[i+4>>2];r=+g[i+8>>2];do if(!(m*p+n*q+o*r>=.9999998807907104))if(!(m*p+n*q+o*r<=-.9999998807907104)){e=(g[j>>2]=o*q-n*r,c[j>>2]|0);s=(g[j>>2]=m*r-o*p,c[j>>2]|0);f=(g[j>>2]=n*p-m*q,c[j>>2]|0);x=r*(m*r-o*p)-q*(n*p-m*q);y=p*(n*p-m*q)-r*(o*q-n*r);w=q*(o*q-n*r)-p*(m*r-o*p);break}else{e=c[d+8>>2]|0;f=c[d+40>>2]|0;s=c[d+24>>2]|0;x=+g[d+12>>2];y=+g[d+28>>2];w=+g[d+44>>2];break}else{e=c[d+8>>2]|0;f=c[d+40>>2]|0;s=c[d+24>>2]|0;x=-+g[d+12>>2];y=-+g[d+28>>2];w=-+g[d+44>>2]}while(0);g[b+552>>2]=x;c[b+556>>2]=e;c[b+560>>2]=c[i>>2];g[b+564>>2]=0.0;g[b+568>>2]=y;c[b+572>>2]=s;c[b+576>>2]=c[i+4>>2];g[b+580>>2]=0.0;g[b+584>>2]=w;c[b+588>>2]=f;c[b+592>>2]=c[i+8>>2];g[b+596>>2]=0.0;p=+g[i+4>>2];t=+g[k+8>>2];q=+g[i+8>>2];u=+g[k+4>>2];v=+g[k>>2];m=+g[i>>2];do if(t*q+(p*u+v*m)<-.9999998807907104)if(+C(+q)>.7071067690849304){n=1.0/+D(+(p*p+q*q));o=-(q*n);r=0.0;n=p*n;m=0.0;break}else{q=1.0/+D(+(p*p+m*m));o=m*q;r=0.0;n=0.0;m=-(p*q);break}else{z=+D(+((t*q+(p*u+v*m)+1.0)*2.0));o=(q*v-t*m)*(1.0/z);r=z*.5;n=(u*m-p*v)*(1.0/z);m=(p*t-q*u)*(1.0/z)}while(0);B=w*o+x*r-y*n;q=x*n+y*r-w*m;p=y*m+w*r-x*o;A=-(x*m)-y*o-w*n;x=-m;o=-o;w=-n;z=q*w+(A*x+r*B)-p*o;y=p*x+(A*o+r*q)-B*w;x=B*o+(A*w+r*p)-q*x;c[b+664>>2]=c[h>>2];c[b+664+4>>2]=c[h+4>>2];c[b+664+8>>2]=c[h+8>>2];c[b+664+12>>2]=c[h+12>>2];g[b+616>>2]=z;g[b+620>>2]=u*x-t*y;c[b+624>>2]=c[k>>2];g[b+628>>2]=0.0;g[b+632>>2]=y;g[b+636>>2]=t*z-v*x;c[b+640>>2]=c[k+4>>2];g[b+644>>2]=0.0;g[b+648>>2]=x;g[b+652>>2]=v*y-u*z;c[b+656>>2]=c[k+8>>2];g[b+660>>2]=0.0;g[b+732>>2]=l?-1.0:1.0;return}function ze(b,d,e,f,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;D=l;l=l+32|0;if(!b){l=D;return}n=c[k+4>>2]|0;if((n|0)<128){if((c[k+8>>2]|0)<128){c[6995]=(c[6995]|0)+1;o=sc(531)|0;if(!o)q=0;else{c[(o+4+15&-16)+-4>>2]=o;q=o+4+15&-16}p=c[k+4>>2]|0;if((p|0)>0){o=0;do{c[q+(o<<2)>>2]=c[(c[k+12>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(p|0))}o=c[k+12>>2]|0;if(o|0){if(a[k+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[o+-4>>2]|0)}c[k+12>>2]=0}a[k+16>>0]=1;c[k+12>>2]=q;c[k+8>>2]=128;o=k+12|0}else o=k+12|0;do{c[(c[o>>2]|0)+(n<<2)>>2]=0;n=n+1|0}while((n|0)!=128);y=k+8|0}else{o=k+12|0;y=k+8|0}c[k+4>>2]=128;c[c[o>>2]>>2]=b;p=1;n=126;do{w=p+-1|0;q=c[o>>2]|0;x=c[q+(w<<2)>>2]|0;u=+g[x+4>>2]-+g[j+4>>2];s=+g[x+8>>2]-+g[j+8>>2];g[D>>2]=+g[x>>2]-+g[j>>2];g[D+4>>2]=u;g[D+8>>2]=s;g[D+12>>2]=0.0;s=+g[x+20>>2]-+g[i+4>>2];u=+g[x+24>>2]-+g[i+8>>2];g[D+16>>2]=+g[x+16>>2]-+g[i>>2];g[D+20>>2]=s;g[D+24>>2]=u;g[D+28>>2]=0.0;v=c[f>>2]|0;u=+g[d>>2];s=+g[e>>2];t=(+g[D+(v<<4)>>2]-u)*s;u=s*(+g[D+(1-v<<4)>>2]-u);v=c[f+4>>2]|0;s=+g[d+4>>2];E=+g[e+4>>2];r=(+g[D+(v<<4)+4>>2]-s)*E;s=E*(+g[D+(1-v<<4)+4>>2]-s);do if((!(r>u|t>s)?(A=r>t?r:t,z=s<u?s:u,v=c[f+8>>2]|0,C=+g[d+8>>2],E=+g[e+8>>2],B=(+g[D+(v<<4)+8>>2]-C)*E,C=E*(+g[D+(1-v<<4)+8>>2]-C),!(B>z|A>C)):0)?((C<z?C:z)>0.0?(B>A?B:A)<h:0):0){if(!(c[x+40>>2]|0)){Ob[c[(c[m>>2]|0)+12>>2]&127](m,x);p=w;break}if((w|0)>(n|0)){v=c[k+4>>2]|0;if((v|0)<(v<<1|0)){if((c[y>>2]|0)<(v<<1|0)){if(v){c[6995]=(c[6995]|0)+1;n=sc((v<<3|3)+16|0)|0;if(!n)q=0;else{c[(n+4+15&-16)+-4>>2]=n;q=n+4+15&-16}b=c[k+4>>2]|0;if((b|0)>0){n=0;do{c[q+(n<<2)>>2]=c[(c[o>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(b|0))}}else q=0;n=c[o>>2]|0;if(n|0){if(a[k+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0)}c[o>>2]=0}a[k+16>>0]=1;c[o>>2]=q;c[y>>2]=v<<1;n=v}else n=v;do{c[q+(n<<2)>>2]=0;n=n+1|0;q=c[o>>2]|0}while((n|0)!=(v<<1|0))}c[k+4>>2]=v<<1;n=(v<<1)+-2|0}c[q+(w<<2)>>2]=c[x+36>>2];c[(c[o>>2]|0)+(p<<2)>>2]=c[x+40>>2];p=p+1|0}else p=w;while(0)}while((p|0)!=0);l=D;return}function Ae(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+32|0;q=+g[d>>2];h=(g[j>>2]=q,c[j>>2]|0);t=q<999999984306749440.0?h:1566444395;p=+g[d+4>>2];k=(g[j>>2]=p,c[j>>2]|0);u=p<999999984306749440.0?k:1566444395;E=+g[d+8>>2];n=(g[j>>2]=E,c[j>>2]|0);w=E<999999984306749440.0?n:1566444395;r=+g[d+12>>2];y=r<0.0?r:0.0;h=q>-999999984306749440.0?h:-581039253;k=p>-999999984306749440.0?k:-581039253;n=E>-999999984306749440.0?n:-581039253;r=r>0.0?r:0.0;E=+g[d+16>>2];B=E<(c[j>>2]=t,+g[j>>2]);i=(g[j>>2]=E,c[j>>2]|0);t=B?i:t;p=+g[d+20>>2];B=p<(c[j>>2]=u,+g[j>>2]);m=(g[j>>2]=p,c[j>>2]|0);u=B?m:u;q=+g[d+24>>2];B=q<(c[j>>2]=w,+g[j>>2]);o=(g[j>>2]=q,c[j>>2]|0);w=B?o:w;s=+g[d+28>>2];y=s<y?s:y;x=(c[j>>2]=h,+g[j>>2])<E?i:h;v=(c[j>>2]=k,+g[j>>2])<p?m:k;m=(c[j>>2]=n,+g[j>>2])<q?o:n;s=r<s?s:r;E=+g[d+32>>2];B=E<(c[j>>2]=t,+g[j>>2]);h=(g[j>>2]=E,c[j>>2]|0);B=B?h:t;q=+g[d+36>>2];A=q<(c[j>>2]=u,+g[j>>2]);i=(g[j>>2]=q,c[j>>2]|0);A=A?i:u;r=+g[d+40>>2];z=r<(c[j>>2]=w,+g[j>>2]);k=(g[j>>2]=r,c[j>>2]|0);z=z?k:w;p=+g[d+44>>2];y=p<y?p:y;w=(c[j>>2]=x,+g[j>>2])<E?h:x;v=(c[j>>2]=v,+g[j>>2])<q?i:v;u=(c[j>>2]=m,+g[j>>2])<r?k:m;p=s<p?p:s;t=c[b+4>>2]|0;h=c[t+4>>2]|0;if((h|0)==(c[t+8>>2]|0)?(C=h|0?h<<1:1,(h|0)<(C|0)):0){if(!C)o=0;else{c[6995]=(c[6995]|0)+1;h=sc(C<<6|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}o=h;h=c[t+4>>2]|0}if((h|0)>0){i=0;do{k=o+(i<<6)|0;m=(c[t+12>>2]|0)+(i<<6)|0;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));i=i+1|0}while((i|0)!=(h|0))}h=c[t+12>>2]|0;if(h|0){if(a[t+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[t+12>>2]=0}a[t+16>>0]=1;c[t+12>>2]=o;c[t+8>>2]=C;h=c[t+4>>2]|0}C=c[t+12>>2]|0;c[C+(h<<6)>>2]=B;c[C+(h<<6)+4>>2]=A;c[C+(h<<6)+8>>2]=z;g[C+(h<<6)+12>>2]=y;c[C+(h<<6)+16>>2]=w;c[C+(h<<6)+20>>2]=v;c[C+(h<<6)+24>>2]=u;g[C+(h<<6)+28>>2]=p;c[C+(h<<6)+32>>2]=-1;c[C+(h<<6)+36>>2]=e;c[C+(h<<6)+40>>2]=f;f=C+(h<<6)+44|0;c[f>>2]=c[D>>2];c[f+4>>2]=c[D+4>>2];c[f+8>>2]=c[D+8>>2];c[f+12>>2]=c[D+12>>2];c[f+16>>2]=c[D+16>>2];c[t+4>>2]=(c[t+4>>2]|0)+1;l=D;return}function Be(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;o=l;l=l+16|0;n=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];k=+g[e>>2];m=+g[e+4>>2];h=+g[e+8>>2];if(!(a[b+232>>0]|0)){z=+g[b+104>>2];w=+g[b+120>>2];C=+g[b+136>>2];y=+g[b+108>>2];u=+g[b+124>>2];B=+g[b+140>>2];x=+g[b+112>>2];s=+g[b+128>>2];A=+g[b+144>>2];F=-+g[b+152>>2];E=-+g[b+156>>2];D=-+g[b+160>>2];J=+g[b+168>>2];I=+g[b+172>>2];r=+g[b+176>>2];H=+g[b+184>>2];G=+g[b+188>>2];q=+g[b+192>>2];v=+g[b+200>>2];t=+g[b+204>>2];p=+g[b+208>>2];r=h*(C*J+B*I+A*r)+(k*(z*J+y*I+x*r)+m*(w*J+u*I+s*r))+(J*(z*F+w*E+C*D)+(y*F+u*E+B*D)*I+(x*F+s*E+A*D)*r+ +g[b+216>>2]);q=h*(C*H+B*G+A*q)+(k*(z*H+y*G+x*q)+m*(w*H+u*G+s*q))+((z*F+w*E+C*D)*H+(y*F+u*E+B*D)*G+(x*F+s*E+A*D)*q+ +g[b+220>>2]);p=(z*F+w*E+C*D)*v+(y*F+u*E+B*D)*t+(x*F+s*E+A*D)*p+ +g[b+224>>2]+(h*(C*v+B*t+A*p)+(k*(z*v+y*t+x*p)+m*(w*v+u*t+s*p)));g[o>>2]=r;g[o+4>>2]=q;g[o+8>>2]=p;n=(n*f+k-r)*+g[d>>2]+(i*f+m-q)*+g[d+4>>2]+(j*f+h-p)*+g[d+8>>2];e=o+12|0;g[e>>2]=0.0;b=b+36|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Tb[e&15](b,d,o,n);l=o;return}else{z=+g[b+40>>2];C=+g[b+56>>2];w=+g[b+72>>2];A=+g[b+44>>2];E=+g[b+60>>2];x=+g[b+76>>2];B=+g[b+48>>2];G=+g[b+64>>2];y=+g[b+80>>2];t=-+g[b+88>>2];u=-+g[b+92>>2];v=-+g[b+96>>2];p=+g[b+168>>2];q=+g[b+172>>2];H=+g[b+176>>2];r=+g[b+184>>2];s=+g[b+188>>2];I=+g[b+192>>2];D=+g[b+200>>2];F=+g[b+204>>2];J=+g[b+208>>2];H=(j*f+h)*(w*p+x*q+y*H)+((n*f+k)*(z*p+A*q+B*H)+(i*f+m)*(C*p+E*q+G*H))+(p*(z*t+C*u+w*v)+(A*t+E*u+x*v)*q+(B*t+G*u+y*v)*H+ +g[b+216>>2]);I=(j*f+h)*(w*r+x*s+y*I)+((n*f+k)*(z*r+A*s+B*I)+(i*f+m)*(C*r+E*s+G*I))+((z*t+C*u+w*v)*r+(A*t+E*u+x*v)*s+(B*t+G*u+y*v)*I+ +g[b+220>>2]);J=(z*t+C*u+w*v)*D+(A*t+E*u+x*v)*F+(B*t+G*u+y*v)*J+ +g[b+224>>2]+((j*f+h)*(w*D+x*F+y*J)+((n*f+k)*(z*D+A*F+B*J)+(i*f+m)*(C*D+E*F+G*J)));g[o>>2]=H+n*(n*(H-k)+i*(I-m)+j*(J-h));g[o+4>>2]=I+i*(n*(H-k)+i*(I-m)+j*(J-h));g[o+8>>2]=J+j*(n*(H-k)+i*(I-m)+j*(J-h));J=n*(H-k)+i*(I-m)+j*(J-h);e=o+12|0;g[e>>2]=0.0;b=b+36|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Tb[e&15](b,d,o,J);l=o;return}}function Ce(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;c[a+556>>2]=c[b>>2];c[a+556+4>>2]=c[b+4>>2];c[a+556+8>>2]=c[b+8>>2];c[a+556+12>>2]=c[b+12>>2];q=+g[a+568>>2];j=+g[5957];r=+g[a+560>>2];e=+g[5959];o=+g[a+564>>2];h=+g[5958];p=+g[a+556>>2];i=(j*o+q*h-e*p)*-o+(q*(q*j+r*e-o*h)+(-(j*p)-r*h-e*o)*-p)-(q*e+h*p-j*r)*-r;k=(q*e+h*p-j*r)*-p+(q*(j*o+q*h-e*p)+(-(j*p)-r*h-e*o)*-r)-(q*j+r*e-o*h)*-o;d=(q*j+r*e-o*h)*-r+((-(j*p)-r*h-e*o)*-o+q*(q*e+h*p-j*r))-(j*o+q*h-e*p)*-p;do if(e*d+(h*k+j*i)<-.9999998807907104)if(+C(+e)>.7071067690849304){d=1.0/+D(+(e*e+h*h));l=-(e*d);f=0.0;d=h*d;e=0.0;break}else{f=1.0/+D(+(j*j+h*h));l=j*f;f=-(h*f);d=0.0;e=0.0;break}else{v=+D(+((e*d+(h*k+j*i)+1.0)*2.0));l=(e*i-j*d)*(1.0/v);f=(h*d-e*k)*(1.0/v);d=(j*k-h*i)*(1.0/v);e=v*.5}while(0);m=1.0/+D(+(f*f+l*l+d*d+e*e));t=f*m;n=l*m;s=d*m;m=e*m;e=1.0/+D(+((m*q-p*-t-r*-n-o*-s)*(m*q-p*-t-r*-n-o*-s)+((q*-s+m*o+r*-t-p*-n)*(q*-s+m*o+r*-t-p*-n)+((p*m+q*-t+o*-n-r*-s)*(p*m+q*-t+o*-n-r*-s)+(p*-s+(q*-n+m*r)-o*-t)*(p*-s+(q*-n+m*r)-o*-t)))));h=(p*m+q*-t+o*-n-r*-s)*e;v=e*(p*-s+(q*-n+m*r)-o*-t);f=e*(q*-s+m*o+r*-t-p*-n);p=e*(m*q-p*-t-r*-n-o*-s);e=+g[a+444>>2];if(e>=.05000000074505806?(u=+g[a+448>>2],u>=.05000000074505806):0){d=m<-1.0?-1.0:m;d=+I(+(d>1.0?1.0:d))*2.0;if(d>1.1920928955078125e-07){i=1.0/+D(+(s*s+(t*t+n*n)));if(+C(+(n*i))>1.1920928955078125e-07){k=t*i;j=n*i;l=s*i;e=+D(+((s*i*s*i/(n*i*n*i)+1.0)/(1.0/(u*u)+s*i*s*i/(n*i*n*i)/(e*e))))}else{k=t*i;j=n*i;l=s*i}}else{k=0.0;j=0.0;l=0.0;e=0.0}if(+C(+d)>1.1920928955078125e-07){if(!(d>e)){e=-e;if(d<e)d=e}else d=e;m=d*.5;u=+G(+m)/+D(+(k*k+j*j+l*l));n=j*u;m=+F(+m);o=k*u;l=l*u}else{o=t;l=s}}else{o=t;l=s}k=+g[a+452>>2];if(k>=.05000000074505806){d=p<-1.0?-1.0:p;d=+I(+(d>1.0?1.0:d))*2.0;if(d>3.1415927410125732){d=-p<-1.0?-1.0:-p;d=+I(+(d>1.0?1.0:d))*2.0;e=-h;i=-v;j=-f}else{e=h;i=v;j=f}if(d>1.1920928955078125e-07){u=1.0/+D(+(e*e+i*i+j*j));e=e*u;i=i*u;j=j*u}if(+C(+d)>1.1920928955078125e-07){if(!(d>k)){if(d<-k)d=-k}else d=k;v=d*.5;d=+G(+v)/+D(+(j*j+(i*i+e*e)));h=e*d;f=j*d;e=+F(+v);d=i*d}else{e=p;d=v}}else{e=p;d=v}g[a+556>>2]=n*f+(m*h+o*e)-l*d;g[a+560>>2]=l*h+(m*d+n*e)-o*f;g[a+564>>2]=o*d+(m*f+l*e)-n*h;g[a+568>>2]=m*e-o*h-n*d-l*f;return}function De(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;r=l;l=l+32|0;e=c[b+128>>2]|0;if((e|0)>0){f=0;do{xe(c[b+108>>2]|0,c[b+136>>2]|0,f,0);f=f+1|0;e=c[b+128>>2]|0}while((f|0)<(e|0))}q=c[b+108>>2]|0;m=+g[q+372>>2];n=+g[q+376>>2];h=+g[q+380>>2];h=+D(+(m*m+n*n+h*h))*3.5999999046325684;g[b+104>>2]=h;p=c[b+120>>2]|0;if(+g[q+4+(p<<2)>>2]*+g[q+372>>2]+ +g[q+20+(p<<2)>>2]*+g[q+376>>2]+ +g[q+36+(p<<2)>>2]*+g[q+380>>2]<0.0)g[b+104>>2]=-h;if((e|0)>0){e=0;do{+wf(b,(c[b+136>>2]|0)+(e*284|0)|0);e=e+1|0;f=c[b+128>>2]|0}while((e|0)<(f|0));i=1.0/+g[(c[b+108>>2]|0)+404>>2];if((f|0)>0){f=0;do{e=c[b+136>>2]|0;if(!(a[e+(f*284|0)+84>>0]|0))h=0.0;else{h=+g[e+(f*284|0)+272>>2];h=i*(+g[e+(f*284|0)+216>>2]*(+g[e+(f*284|0)+204>>2]-+g[e+(f*284|0)+32>>2])*+g[e+(f*284|0)+268>>2]-h*+g[(h<0.0?e+(f*284|0)+220|0:e+(f*284|0)+224|0)>>2]);h=h<0.0?0.0:h}g[e+(f*284|0)+276>>2]=h;f=f+1|0;e=c[b+128>>2]|0}while((f|0)<(e|0));if((e|0)>0){e=0;do{p=c[b+136>>2]|0;k=+g[p+(e*284|0)+276>>2];n=+g[p+(e*284|0)+248>>2];k=k>n?n:k;n=k*+g[p+(e*284|0)+4>>2]*d;m=k*+g[p+(e*284|0)+8>>2]*d;g[r+16>>2]=+g[p+(e*284|0)>>2]*k*d;g[r+16+4>>2]=n;g[r+16+8>>2]=m;g[r+16+12>>2]=0.0;q=c[b+108>>2]|0;m=+g[p+(e*284|0)+20>>2]-+g[q+56>>2];n=+g[p+(e*284|0)+24>>2]-+g[q+60>>2];g[r>>2]=+g[p+(e*284|0)+16>>2]-+g[q+52>>2];g[r+4>>2]=m;g[r+8>>2]=n;g[r+12>>2]=0.0;ll(q,r+16|0,r);e=e+1|0}while((e|0)<(c[b+128>>2]|0))}}}Jb[c[(c[b>>2]|0)+20>>2]&31](b,d);o=c[b+128>>2]|0;if((o|0)<=0){l=r;return}p=c[b+136>>2]|0;q=c[b+108>>2]|0;f=0;do{h=+g[p+(f*284|0)+36>>2]-+g[q+52>>2];i=+g[p+(f*284|0)+40>>2]-+g[q+56>>2];j=+g[p+(f*284|0)+44>>2]-+g[q+60>>2];k=+g[q+392>>2];m=+g[q+396>>2];n=+g[q+388>>2];if(!(a[p+(f*284|0)+84>>0]|0)){s=p+(f*284|0)+240|0;e=s;h=+g[s>>2]}else{e=c[b+120>>2]|0;y=+g[q+4+(e<<2)>>2];w=+g[q+20+(e<<2)>>2];u=+g[q+36+(e<<2)>>2];x=+g[p+(f*284|0)>>2];v=+g[p+(f*284|0)+4>>2];t=+g[p+(f*284|0)+8>>2];h=((i*n-h*k+ +g[q+380>>2])*(u-t*(y*x+w*v+u*t))+((k*j-i*m+ +g[q+372>>2])*(y-x*(y*x+w*v+u*t))+(h*m-j*n+ +g[q+376>>2])*(w-v*(y*x+w*v+u*t))))*d/+g[p+(f*284|0)+212>>2];e=p+(f*284|0)+240|0;g[e>>2]=h}s=p+(f*284|0)+236|0;g[s>>2]=h+ +g[s>>2];g[e>>2]=h*.9900000095367432;f=f+1|0}while((f|0)!=(o|0));l=r;return}function Ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;if(!((a|0)!=0&(b|0)!=0))return;c[6995]=(c[6995]|0)+1;e=sc(1043)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}c[f>>2]=a;c[f+4>>2]=b;e=1;b=124;h=128;a=f;l=128;k=f;i=f;o=f;while(1){r=e+-1|0;p=c[a+(r<<3)>>2]|0;q=c[a+(r<<3)+4>>2]|0;if((r|0)>(b|0)){n=l<<1;do if((l|0)<(n|0)&(h|0)<(n|0)){if(l){c[6995]=(c[6995]|0)+1;b=sc((l<<4|3)+16|0)|0;if(!b)f=0;else{c[(b+4+15&-16)+-4>>2]=b;f=b+4+15&-16}if((l|0)>0){b=0;do{j=a+(b<<3)|0;k=c[j+4>>2]|0;m=f+(b<<3)|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;b=b+1|0}while((b|0)!=(l|0));h=f;a=f}else{h=f;b=f;s=12}}else{h=0;b=0;s=12}if((s|0)==12){s=0;if(!a){j=n;a=b;f=h;i=h;b=h;break}else a=b}if(!o){j=n;f=h;i=h;b=h}else{c[6996]=(c[6996]|0)+1;Cd(c[o+-4>>2]|0);j=n;f=h;i=h;b=h}}else{j=h;f=k;b=o}while(0);m=n+-4|0;h=j;l=n;k=f;j=b}else{m=b;j=o}do if((p|0)==(q|0))if(!(c[p+40>>2]|0))e=r;else{q=c[p+36>>2]|0;c[a+(r<<3)>>2]=q;c[a+(r<<3)+4>>2]=q;q=c[p+40>>2]|0;r=e+1|0;c[a+(e<<3)>>2]=q;c[a+(e<<3)+4>>2]=q;q=c[p+40>>2]|0;c[a+(r<<3)>>2]=c[p+36>>2];c[a+(r<<3)+4>>2]=q;e=e+2|0}else if(((((+g[p>>2]<=+g[q+16>>2]?+g[p+16>>2]>=+g[q>>2]:0)?+g[p+4>>2]<=+g[q+20>>2]:0)?+g[p+20>>2]>=+g[q+4>>2]:0)?+g[p+8>>2]<=+g[q+24>>2]:0)?+g[p+24>>2]>=+g[q+8>>2]:0){b=(c[q+40>>2]|0)!=0;if(!(c[p+40>>2]|0))if(b){o=c[q+36>>2]|0;c[a+(r<<3)>>2]=p;c[a+(r<<3)+4>>2]=o;r=c[q+40>>2]|0;c[a+(e<<3)>>2]=p;c[a+(e<<3)+4>>2]=r;e=e+1|0;break}else{Sb[c[(c[d>>2]|0)+8>>2]&127](d,p,q);e=r;break}else{f=c[p+36>>2]|0;if(b){n=c[q+36>>2]|0;c[a+(r<<3)>>2]=f;c[a+(r<<3)+4>>2]=n;n=c[q+36>>2]|0;o=e+1|0;c[a+(e<<3)>>2]=c[p+40>>2];c[a+(e<<3)+4>>2]=n;n=c[q+40>>2]|0;r=e+2|0;c[a+(o<<3)>>2]=c[p+36>>2];c[a+(o<<3)+4>>2]=n;q=c[q+40>>2]|0;c[a+(r<<3)>>2]=c[p+40>>2];c[a+(r<<3)+4>>2]=q;e=e+3|0;break}else{c[a+(r<<3)>>2]=f;c[a+(r<<3)+4>>2]=q;c[a+(e<<3)>>2]=c[p+40>>2];c[a+(e<<3)+4>>2]=q;e=e+1|0;break}}}else e=r;while(0);if(!e)break;else{b=m;o=j}}if((a|0)==0|(k|0)==0)return;c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);return}function Fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0.0;d=l;l=l+96|0;k=+g[b>>2];m=+g[a+28>>2];n=+g[b+4>>2];o=+g[a+32>>2];p=+g[b+8>>2];q=+g[a+36>>2];r=+g[a+44>>2];s=+g[a+48>>2];t=+g[a+52>>2];u=+g[a+60>>2];v=+g[a+64>>2];w=+g[a+68>>2];x=+g[a+76>>2];y=+g[a+80>>2];z=+g[a+84>>2];g[d+80>>2]=k*m+n*o+p*q+x;g[d+80+4>>2]=k*r+n*s+p*t+y;g[d+80+8>>2]=k*u+n*v+p*w+z;g[d+80+12>>2]=0.0;A=+g[b+16>>2];B=+g[b+20>>2];C=+g[b+24>>2];g[d+64>>2]=A*m+B*o+C*q+x;g[d+64+4>>2]=A*r+B*s+C*t+y;g[d+64+8>>2]=A*u+B*v+C*w+z;g[d+64+12>>2]=0.0;E=+g[b+32>>2];F=+g[b+36>>2];j=+g[b+40>>2];g[d+48>>2]=E*m+F*o+j*q+x;g[d+48+4>>2]=E*r+F*s+j*t+y;g[d+48+8>>2]=E*u+F*v+j*w+z;g[d+48+12>>2]=0.0;f=(k*m+n*o+p*q+x+(A*m+B*o+C*q+x)+(E*m+F*o+j*q+x))*.3333333432674408;h=(k*r+n*s+p*t+y+(A*r+B*s+C*t+y)+(E*r+F*s+j*t+y))*.3333333432674408;i=(k*u+n*v+p*w+z+(A*u+B*v+C*w+z)+(E*u+F*v+j*w+z))*.3333333432674408;g[d+32>>2]=f;g[d+32+4>>2]=h;g[d+32+8>>2]=i;g[d+32+12>>2]=0.0;b=c[a+8>>2]|0;if(!((xb[c[(c[b>>2]|0)+56>>2]&127](b)|0)&16384)){e=c[a+8>>2]|0;G=c[e>>2]|0;G=G+16|0;G=c[G>>2]|0;b=a+12|0;Vb[G&127](e,d+80|0,d+64|0,b);e=c[a+8>>2]|0;G=c[e>>2]|0;G=G+16|0;G=c[G>>2]|0;Vb[G&127](e,d+64|0,d+48|0,b);a=c[a+8>>2]|0;e=c[a>>2]|0;e=e+16|0;e=c[e>>2]|0;Vb[e&127](a,d+48|0,d+80|0,b);l=d;return}J=+g[d+80>>2];I=A*r+B*s+C*t+y-(k*r+n*s+p*t+y);H=A*u+B*v+C*w+z-(k*u+n*v+p*w+z);y=E*r+F*s+j*t+y-(k*r+n*s+p*t+y);w=E*u+F*v+j*w+z-(k*u+n*v+p*w+z);z=H*(E*m+F*o+j*q+x-J)-(A*m+B*o+C*q+x-J)*w;F=(A*m+B*o+C*q+x-J)*y-I*(E*m+F*o+j*q+x-J);E=1.0/+D(+(F*F+((I*w-H*y)*(I*w-H*y)+z*z)));c[d+16>>2]=1065353216;c[d+16+4>>2]=1065353216;c[d+16+8>>2]=0;g[d+16+12>>2]=0.0;b=c[a+8>>2]|0;e=c[(c[b>>2]|0)+16>>2]|0;g[d>>2]=E*(I*w-H*y)+f;g[d+4>>2]=E*z+h;g[d+8>>2]=E*F+i;g[d+12>>2]=0.0;Vb[e&127](b,d+32|0,d,d+16|0);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;G=a+12|0;Vb[e&127](b,d+80|0,d+64|0,G);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Vb[e&127](b,d+64|0,d+48|0,G);a=c[a+8>>2]|0;b=c[a>>2]|0;b=b+16|0;b=c[b>>2]|0;Vb[b&127](a,d+48|0,d+80|0,G);l=d;return}function Ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0.0;a=l;l=l+144|0;switch(c[b+448>>2]&15){case 1:{c[a+112>>2]=3572;h=c[d+8>>2]|0;h=(c[h+252>>2]&2|0)==0?0:h;i=c[d+12>>2]|0;j=+g[i+48>>2];e=+g[i+52>>2];f=+g[i+56>>2];f=+D(+((j-j)*(j-j)+(e-e)*(e-e)+(f-f)*(f-f)));i=c[b+192>>2]|0;e=+nb[c[(c[i>>2]|0)+48>>2]&15](i);i=c[d+4>>2]|0;Vb[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+96|0,a+64|0);c[a>>2]=c[a+96>>2];c[a+4>>2]=c[a+96+4>>2];c[a+8>>2]=c[a+96+8>>2];c[a+12>>2]=c[a+96+12>>2];c[a+16>>2]=c[a+64>>2];c[a+16+4>>2]=c[a+64+4>>2];c[a+16+8>>2]=c[a+64+8>>2];c[a+16+12>>2]=c[a+64+12>>2];c[a+32>>2]=c[a>>2];c[a+32+4>>2]=c[a+4>>2];c[a+32+8>>2]=c[a+8>>2];c[a+32+12>>2]=c[a+12>>2];c[a+32+16>>2]=c[a+16>>2];c[a+32+20>>2]=c[a+20>>2];c[a+32+24>>2]=c[a+24>>2];c[a+32+28>>2]=c[a+28>>2];g[a+32>>2]=+g[a+32>>2]-e;g[a+32+4>>2]=+g[a+32+4>>2]-e;g[a+32+8>>2]=+g[a+32+8>>2]-e;g[a+32+16>>2]=e+ +g[a+32+16>>2];g[a+32+20>>2]=e+ +g[a+32+20>>2];g[a+32+24>>2]=e+ +g[a+32+24>>2];c[a+112+4>>2]=b;c[a+112+8>>2]=d;c[a+112+12>>2]=h;g[a+112+16>>2]=f+e;g[a+112+20>>2]=e;Bf(c[b+988>>2]|0,a+32|0,a+112|0);l=a;return}case 2:{g[a+4>>2]=1.0;c[a+8+4>>2]=0;c[a+8+4+4>>2]=0;c[a+8+4+8>>2]=0;c[a>>2]=3608;c[a+24>>2]=b;c[a+28>>2]=d;c[a+8>>2]=c[b+516>>2];i=c[d+4>>2]|0;j=+nb[c[(c[i>>2]|0)+48>>2]&15](i);i=c[b+192>>2]|0;j=j+ +nb[c[(c[i>>2]|0)+48>>2]&15](i);g[a+12>>2]=j;f=+g[(c[d+8>>2]|0)+228>>2];g[a+112>>2]=f;c[a+16>>2]=c[(+g[b+376>>2]<f?b+376|0:a+112|0)>>2];i=c[d+4>>2]|0;Vb[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+112|0,a+96|0);c[a+32>>2]=c[a+112>>2];c[a+32+4>>2]=c[a+112+4>>2];c[a+32+8>>2]=c[a+112+8>>2];c[a+32+12>>2]=c[a+112+12>>2];c[a+32+16>>2]=c[a+96>>2];c[a+32+16+4>>2]=c[a+96+4>>2];c[a+32+16+8>>2]=c[a+96+8>>2];c[a+32+16+12>>2]=c[a+96+12>>2];c[a+64>>2]=c[a+32>>2];c[a+64+4>>2]=c[a+32+4>>2];c[a+64+8>>2]=c[a+32+8>>2];c[a+64+12>>2]=c[a+32+12>>2];c[a+64+16>>2]=c[a+32+16>>2];c[a+64+20>>2]=c[a+32+20>>2];c[a+64+24>>2]=c[a+32+24>>2];c[a+64+28>>2]=c[a+32+28>>2];g[a+64>>2]=+g[a+64>>2]-j;g[a+64+4>>2]=+g[a+64+4>>2]-j;g[a+64+8>>2]=+g[a+64+8>>2]-j;g[a+64+16>>2]=j+ +g[a+64+16>>2];g[a+64+20>>2]=j+ +g[a+64+20>>2];g[a+64+24>>2]=j+ +g[a+64+24>>2];Bf(c[b+1068>>2]|0,a+64|0,a);l=a;return}default:{l=a;return}}}function He(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.05000000074505806;c[b+44>>2]=0;c[b>>2]=4704;c[b+48>>2]=c[f>>2];c[b+48+4>>2]=c[f+4>>2];c[b+48+8>>2]=c[f+8>>2];c[b+48+12>>2]=c[f+12>>2];c[b+64>>2]=c[f+16>>2];c[b+64+4>>2]=c[f+16+4>>2];c[b+64+8>>2]=c[f+16+8>>2];c[b+64+12>>2]=c[f+16+12>>2];c[b+80>>2]=c[f+32>>2];c[b+80+4>>2]=c[f+32+4>>2];c[b+80+8>>2]=c[f+32+8>>2];c[b+80+12>>2]=c[f+32+12>>2];c[b+96>>2]=c[f+48>>2];c[b+96+4>>2]=c[f+48+4>>2];c[b+96+8>>2]=c[f+48+8>>2];c[b+96+12>>2]=c[f+48+12>>2];c[b+112>>2]=c[h>>2];c[b+112+4>>2]=c[h+4>>2];c[b+112+8>>2]=c[h+8>>2];c[b+112+12>>2]=c[h+12>>2];c[b+128>>2]=c[h+16>>2];c[b+128+4>>2]=c[h+16+4>>2];c[b+128+8>>2]=c[h+16+8>>2];c[b+128+12>>2]=c[h+16+12>>2];c[b+144>>2]=c[h+32>>2];c[b+144+4>>2]=c[h+32+4>>2];c[b+144+8>>2]=c[h+32+8>>2];c[b+144+12>>2]=c[h+32+12>>2];c[b+160>>2]=c[h+48>>2];c[b+160+4>>2]=c[h+48+4>>2];c[b+160+8>>2]=c[h+48+8>>2];c[b+160+12>>2]=c[h+48+12>>2];d=b+680|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;g[b+792>>2]=0.0;g[b+808>>2]=0.0;a[b+789>>0]=0;g[b+796>>2]=0.0;g[b+812>>2]=0.0;a[b+790>>0]=0;g[b+800>>2]=0.0;g[b+816>>2]=0.0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=i&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;jd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);return}function Ie(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[e+16>>2]=c[a+20>>2];c[e+20>>2]=c[a+24>>2];c[e+24>>2]=c[a+28>>2];c[e+28>>2]=c[a+32>>2];c[e>>2]=c[a+4>>2];c[e+4>>2]=c[a+8>>2];c[e+8>>2]=c[a+12>>2];c[e+12>>2]=c[a+16>>2];c[e+32>>2]=c[a+36>>2];c[e+36>>2]=c[a+40>>2];c[e+40>>2]=c[a+44>>2];c[e+44>>2]=c[a+48>>2];c[e+48>>2]=c[a+56>>2];c[e+52>>2]=d[a+60>>0];k=c[a+88>>2]|0;c[e+56>>2]=k;if(k){k=zb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+96>>2]|0)|0;c[e+64>>2]=k;if(k|0){i=c[a+88>>2]|0;j=Bb[c[(c[f>>2]|0)+16>>2]&63](f,48,i)|0;if((i|0)>0){g=c[j+8>>2]|0;h=0;while(1){k=c[a+96>>2]|0;c[g+16>>2]=c[k+(h<<6)+16>>2];c[g+20>>2]=c[k+(h<<6)+20>>2];c[g+24>>2]=c[k+(h<<6)+24>>2];c[g+28>>2]=c[k+(h<<6)+28>>2];c[g>>2]=c[k+(h<<6)>>2];c[g+4>>2]=c[k+(h<<6)+4>>2];c[g+8>>2]=c[k+(h<<6)+8>>2];c[g+12>>2]=c[k+(h<<6)+12>>2];c[g+32>>2]=c[k+(h<<6)+32>>2];c[g+36>>2]=c[k+(h<<6)+36>>2];c[g+40>>2]=c[k+(h<<6)+40>>2];c[g+44>>2]=0;h=h+1|0;if((h|0)==(i|0))break;else g=g+48|0}}Zb[c[(c[f>>2]|0)+20>>2]&31](f,j,18364,1497453121,c[a+96>>2]|0)}}else c[e+64>>2]=0;k=c[a+128>>2]|0;c[e+60>>2]=k;if(k){k=zb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+136>>2]|0)|0;c[e+68>>2]=k;if(k|0){j=c[a+128>>2]|0;k=Bb[c[(c[f>>2]|0)+16>>2]&63](f,16,j)|0;if((j|0)>0){g=c[a+136>>2]|0;h=c[k+8>>2]|0;i=0;while(1){c[h+12>>2]=c[g+(i<<4)+12>>2];b[h+6>>1]=b[g+(i<<4)+6>>1]|0;b[h+8>>1]=b[g+(i<<4)+8>>1]|0;b[h+10>>1]=b[g+(i<<4)+10>>1]|0;b[h>>1]=b[g+(i<<4)>>1]|0;b[h+2>>1]=b[g+(i<<4)+2>>1]|0;b[h+4>>1]=b[g+(i<<4)+4>>1]|0;i=i+1|0;if((i|0)==(j|0))break;else h=h+16|0}}else g=c[a+136>>2]|0;Zb[c[(c[f>>2]|0)+20>>2]&31](f,k,18387,1497453121,g)}}else c[e+68>>2]=0;c[e+76>>2]=c[a+144>>2];k=c[a+152>>2]|0;c[e+80>>2]=k;if(!k){c[e+72>>2]=0;return 18431}k=zb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+160>>2]|0)|0;c[e+72>>2]=k;if(!k)return 18431;j=c[a+152>>2]|0;k=Bb[c[(c[f>>2]|0)+16>>2]&63](f,20,j)|0;if((j|0)>0){g=c[a+160>>2]|0;h=c[k+8>>2]|0;i=0;while(1){b[h+14>>1]=b[g+(i<<5)+6>>1]|0;b[h+16>>1]=b[g+(i<<5)+8>>1]|0;b[h+18>>1]=b[g+(i<<5)+10>>1]|0;b[h+8>>1]=b[g+(i<<5)>>1]|0;b[h+10>>1]=b[g+(i<<5)+2>>1]|0;b[h+12>>1]=b[g+(i<<5)+4>>1]|0;c[h>>2]=c[g+(i<<5)+12>>2];c[h+4>>2]=c[g+(i<<5)+16>>2];i=i+1|0;if((i|0)==(j|0))break;else h=h+20|0}}else g=c[a+160>>2]|0;Zb[c[(c[f>>2]|0)+20>>2]&31](f,k,18410,1497453121,g);return 18431}function Je(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0;if(!b)b=0;else b=(c[b+252>>2]&2|0)==0?0:b;c[a+64>>2]=0;c[a+64+4>>2]=0;c[a+64+8>>2]=0;c[a+64+12>>2]=0;c[a+64+16>>2]=0;c[a+64+20>>2]=0;c[a+64+24>>2]=0;c[a+64+28>>2]=0;c[a+144>>2]=0;c[a+144+4>>2]=0;c[a+144+8>>2]=0;c[a+144+12>>2]=0;c[a+144+16>>2]=0;c[a+144+20>>2]=0;c[a+144+24>>2]=0;c[a+144+28>>2]=0;if(!b){c[a>>2]=1065353216;c[a+4>>2]=0;c[a+4+4>>2]=0;c[a+4+8>>2]=0;c[a+4+12>>2]=0;c[a+20>>2]=1065353216;c[a+24>>2]=0;c[a+24+4>>2]=0;c[a+24+8>>2]=0;c[a+24+12>>2]=0;c[a+40>>2]=1065353216;c[a+44>>2]=0;c[a+44+4>>2]=0;c[a+44+8>>2]=0;c[a+44+12>>2]=0;c[a+44+16>>2]=0;c[a+240>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+96>>2]=1065353216;c[a+100>>2]=1065353216;c[a+104>>2]=1065353216;g[a+108>>2]=0.0;c[a+112>>2]=1065353216;c[a+116>>2]=1065353216;c[a+120>>2]=1065353216;g[a+124>>2]=0.0;b=a+176|0;e=b+60|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));a=a+236|0;g[a>>2]=0.0;return}else{e=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];e=b+20|0;c[a+16>>2]=c[e>>2];c[a+16+4>>2]=c[e+4>>2];c[a+16+8>>2]=c[e+8>>2];c[a+16+12>>2]=c[e+12>>2];e=b+36|0;c[a+32>>2]=c[e>>2];c[a+32+4>>2]=c[e+4>>2];c[a+32+8>>2]=c[e+8>>2];c[a+32+12>>2]=c[e+12>>2];e=b+52|0;c[a+48>>2]=c[e>>2];c[a+48+4>>2]=c[e+4>>2];c[a+48+8>>2]=c[e+8>>2];c[a+48+12>>2]=c[e+12>>2];e=b+404|0;k=+g[e>>2];l=b+408|0;j=k*+g[b+412>>2];i=k*+g[b+416>>2];g[a+128>>2]=k*+g[l>>2];g[a+132>>2]=j;g[a+136>>2]=i;g[a+140>>2]=0.0;c[a+240>>2]=b;m=b+604|0;c[a+96>>2]=c[m>>2];c[a+96+4>>2]=c[m+4>>2];c[a+96+8>>2]=c[m+8>>2];c[a+96+12>>2]=c[m+12>>2];c[a+112>>2]=c[l>>2];c[a+112+4>>2]=c[l+4>>2];c[a+112+8>>2]=c[l+8>>2];c[a+112+12>>2]=c[l+12>>2];l=b+372|0;c[a+176>>2]=c[l>>2];c[a+176+4>>2]=c[l+4>>2];c[a+176+8>>2]=c[l+8>>2];c[a+176+12>>2]=c[l+12>>2];l=b+388|0;c[a+192>>2]=c[l>>2];c[a+192+4>>2]=c[l+4>>2];c[a+192+8>>2]=c[l+8>>2];c[a+192+12>>2]=c[l+12>>2];i=+g[e>>2];j=i*+g[b+476>>2]*d;k=i*+g[b+480>>2]*d;g[a+208>>2]=i*+g[b+472>>2]*d;g[a+212>>2]=j;g[a+216>>2]=k;g[a+220>>2]=0.0;k=+g[b+488>>2];j=+g[b+492>>2];i=+g[b+496>>2];h=(k*+g[b+328>>2]+j*+g[b+344>>2]+i*+g[b+360>>2])*d;f=(k*+g[b+332>>2]+j*+g[b+348>>2]+i*+g[b+364>>2])*d;g[a+224>>2]=(+g[b+324>>2]*k+ +g[b+340>>2]*j+ +g[b+356>>2]*i)*d;g[a+228>>2]=h;g[a+232>>2]=f;a=a+236|0;g[a>>2]=0.0;return}}function Ke(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0;M=l;l=l+64|0;c[M+48>>2]=a;c[M+48+4>>2]=b;c[M+48+8>>2]=d;L=+g[a>>2];z=+g[b>>2];A=+g[a+4>>2];B=+g[b+4>>2];C=+g[a+8>>2];E=+g[b+8>>2];g[M>>2]=L-z;g[M+4>>2]=A-B;g[M+8>>2]=C-E;g[M+12>>2]=0.0;F=+g[d>>2];G=+g[d+4>>2];H=+g[d+8>>2];g[M+16>>2]=z-F;g[M+20>>2]=B-G;g[M+24>>2]=E-H;g[M+28>>2]=0.0;g[M+32>>2]=F-L;g[M+36>>2]=G-A;g[M+40>>2]=H-C;g[M+44>>2]=0.0;I=(A-B)*(E-H)-(C-E)*(B-G);J=(C-E)*(z-F)-(E-H)*(L-z);K=(B-G)*(L-z)-(A-B)*(z-F);if(K*K+(I*I+J*J)>0.0){k=0;x=-1.0;y=0;m=0;h=0;o=A-B;p=C-E;i=L-z;u=L;v=A;w=C}else{L=-1.0;l=M;return +L}while(1){if(u*(K*o-J*p)+v*(I*p-K*i)+(J*i-I*o)*w>0.0){n=c[5288+(y<<2)>>2]|0;N=c[M+48+(n<<2)>>2]|0;r=+g[N>>2];i=r-u;s=+g[N+4>>2];p=s-v;t=+g[N+8>>2];q=t-w;do if(i*i+p*p+q*q>0.0){o=-(u*i+v*p+w*q)/(i*i+p*p+q*q);if(o>=1.0){k=2;i=r*r+s*s+t*t;m=0;h=1065353216;break}if(!(o<=0.0)){h=(g[j>>2]=o,c[j>>2]|0);u=u+i*o;i=v+p*o;w=w+q*o;k=3;i=w*w+(u*u+i*i);m=(g[j>>2]=1.0-o,c[j>>2]|0);break}else{k=1;i=u*u+v*v+w*w;m=1065353216;h=0;break}}else i=-1.0;while(0);if(x<0.0|i<x){c[f>>2]=(k&1|0?1<<y:0)+(k&2|0?1<<n:0);c[e+(y<<2)>>2]=m;c[e+(n<<2)>>2]=h;g[e+(c[5288+(n<<2)>>2]<<2)>>2]=0.0}else i=x}else i=x;n=y+1|0;if((n|0)==3)break;N=c[M+48+(n<<2)>>2]|0;x=i;y=n;o=+g[M+(n<<4)+4>>2];p=+g[M+(n<<4)+8>>2];i=+g[M+(n<<4)>>2];u=+g[N>>2];v=+g[N+4>>2];w=+g[N+8>>2]}if(!(i<0.0)){L=i;l=M;return +L}w=+D(+(K*K+(I*I+J*J)));x=(I*+g[a>>2]+J*+g[a+4>>2]+K*+g[a+8>>2])/(K*K+(I*I+J*J));c[f>>2]=7;u=+g[b>>2]-I*x;t=+g[b+4>>2]-J*x;v=+g[b+8>>2]-K*x;E=+D(+((t*(z-F)-u*(B-G))*(t*(z-F)-u*(B-G))+(((B-G)*v-t*(E-H))*((B-G)*v-t*(E-H))+(u*(E-H)-v*(z-F))*(u*(E-H)-v*(z-F)))))/w;g[e>>2]=E;z=+g[d>>2]-I*x;v=+g[d+4>>2]-J*x;B=+g[d+8>>2]-K*x;L=+D(+((v*(F-L)-z*(G-A))*(v*(F-L)-z*(G-A))+(((G-A)*B-v*(H-C))*((G-A)*B-v*(H-C))+(z*(H-C)-B*(F-L))*(z*(H-C)-B*(F-L)))))/w;g[e+4>>2]=L;g[e+8>>2]=1.0-(L+E);L=K*x*K*x+(I*x*I*x+J*x*J*x);l=M;return +L}function Le(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;d=l;l=l+144|0;g[a+36>>2]=0.0;c[d+128>>2]=0;c[d+128+4>>2]=0;c[d+128+8>>2]=0;c[d+128+12>>2]=0;b=0;do{e=d+128+(b<<2)|0;g[e>>2]=1.0;A=c[a+28>>2]|0;I=c[A+4>>2]|0;c[d+80>>2]=I;F=c[A+20>>2]|0;c[d+80+4>>2]=F;C=c[A+36>>2]|0;c[d+80+8>>2]=C;g[d+80+12>>2]=0.0;H=c[A+8>>2]|0;c[d+80+16>>2]=H;E=c[A+24>>2]|0;c[d+80+20>>2]=E;B=c[A+40>>2]|0;c[d+80+24>>2]=B;g[d+80+28>>2]=0.0;G=c[A+12>>2]|0;c[d+80+32>>2]=G;D=c[A+28>>2]|0;c[d+80+36>>2]=D;z=c[A+44>>2]|0;c[d+80+40>>2]=z;g[d+80+44>>2]=0.0;f=c[a+32>>2]|0;y=c[f+4>>2]|0;c[d+32>>2]=y;v=c[f+20>>2]|0;c[d+32+4>>2]=v;s=c[f+36>>2]|0;c[d+32+8>>2]=s;g[d+32+12>>2]=0.0;x=c[f+8>>2]|0;c[d+32+16>>2]=x;u=c[f+24>>2]|0;c[d+32+20>>2]=u;r=c[f+40>>2]|0;c[d+32+24>>2]=r;g[d+32+28>>2]=0.0;w=c[f+12>>2]|0;c[d+32+32>>2]=w;t=c[f+28>>2]|0;c[d+32+36>>2]=t;h=c[f+44>>2]|0;c[d+32+40>>2]=h;g[d+32+44>>2]=0.0;p=+g[a+300>>2];m=p*(c[j>>2]=I,+g[j>>2]);i=+g[a+304>>2];m=m+i*(c[j>>2]=H,+g[j>>2]);k=+g[a+308>>2];m=m+k*(c[j>>2]=G,+g[j>>2]);q=p*(c[j>>2]=F,+g[j>>2]);q=q+i*(c[j>>2]=E,+g[j>>2]);q=q+k*(c[j>>2]=D,+g[j>>2]);p=p*(c[j>>2]=C,+g[j>>2]);i=p+i*(c[j>>2]=B,+g[j>>2]);p=+g[A+52>>2];o=+g[A+56>>2];n=+g[A+60>>2];n=i+k*(c[j>>2]=z,+g[j>>2])+n-n;g[d+16>>2]=m+p-p;g[d+16+4>>2]=q+o-o;g[d+16+8>>2]=n;g[d+16+12>>2]=0.0;n=+g[a+316>>2];o=n*(c[j>>2]=y,+g[j>>2]);q=+g[a+320>>2];o=o+q*(c[j>>2]=x,+g[j>>2]);p=+g[a+324>>2];o=o+p*(c[j>>2]=w,+g[j>>2]);m=n*(c[j>>2]=v,+g[j>>2]);m=m+q*(c[j>>2]=u,+g[j>>2]);m=m+p*(c[j>>2]=t,+g[j>>2]);n=n*(c[j>>2]=s,+g[j>>2]);q=n+q*(c[j>>2]=r,+g[j>>2]);n=+g[f+52>>2];k=+g[f+56>>2];i=+g[f+60>>2];i=q+p*(c[j>>2]=h,+g[j>>2])+i-i;g[d>>2]=o+n-n;g[d+4>>2]=m+k-k;g[d+8>>2]=i;g[d+12>>2]=0.0;h=c[a+28>>2]|0;f=c[a+32>>2]|0;Rg(a+48+(b*84|0)|0,d+80|0,d+32|0,d+16|0,d,d+128|0,h+456|0,+g[h+404>>2],f+456|0,+g[f+404>>2]);g[e>>2]=0.0;b=b+1|0}while((b|0)!=3);l=d;return}function Me(a,b,d){a=a|0;b=b|0;d=d|0;var f=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+80|0;n=c[a+4>>2]|0;cc[c[(c[n>>2]|0)+16>>2]&3](n,r+28|0,r+24|0,r+20|0,r+16|0,r+12|0,r+8|0,r+4|0,r,b);n=(c[r+12>>2]|0)+(P(c[r+8>>2]|0,d)|0)|0;q=c[a+4>>2]|0;p=(c[r+20>>2]|0)==0;o=c[r+28>>2]|0;do if((c[r>>2]|0)==3){m=c[r+16>>2]|0;k=o+(P(m,e[n+4>>1]|0)|0)|0;if(p){i=+g[k+4>>2]*+g[q+8>>2];j=+g[k>>2]*+g[q+4>>2];f=+g[k+8>>2]}else{i=+h[k+8>>3]*+g[q+8>>2];j=+h[k>>3]*+g[q+4>>2];f=+h[k+16>>3]}f=f*+g[q+12>>2];g[r+32+32>>2]=j;g[r+32+36>>2]=i;g[r+32+40>>2]=f;g[r+32+44>>2]=0.0;k=o+(P(m,e[n+2>>1]|0)|0)|0;if(p){i=+g[k+4>>2]*+g[q+8>>2];j=+g[k>>2]*+g[q+4>>2];f=+g[k+8>>2]}else{i=+h[k+8>>3]*+g[q+8>>2];j=+h[k>>3]*+g[q+4>>2];f=+h[k+16>>3]}f=f*+g[q+12>>2];g[r+32+16>>2]=j;g[r+32+20>>2]=i;g[r+32+24>>2]=f;g[r+32+28>>2]=0.0;k=o+(P(m,e[n>>1]|0)|0)|0;if(p){i=+g[k+4>>2]*+g[q+8>>2];j=+g[k>>2]*+g[q+4>>2];f=+g[k+8>>2];break}else{i=+h[k+8>>3]*+g[q+8>>2];j=+h[k>>3]*+g[q+4>>2];f=+h[k+16>>3];break}}else{k=c[r+16>>2]|0;m=o+(P(k,c[n+8>>2]|0)|0)|0;if(p){i=+g[m+4>>2]*+g[q+8>>2];j=+g[m+8>>2]*+g[q+12>>2];g[r+32+32>>2]=+g[m>>2]*+g[q+4>>2];g[r+32+36>>2]=i;g[r+32+40>>2]=j;g[r+32+44>>2]=0.0;p=o+(P(k,c[n+4>>2]|0)|0)|0;j=+g[p+4>>2]*+g[q+8>>2];i=+g[p+8>>2]*+g[q+12>>2];g[r+32+16>>2]=+g[p>>2]*+g[q+4>>2];g[r+32+20>>2]=j;g[r+32+24>>2]=i;g[r+32+28>>2]=0.0;p=o+(P(k,c[n>>2]|0)|0)|0;i=+g[p+4>>2]*+g[q+8>>2];j=+g[p>>2]*+g[q+4>>2];f=+g[p+8>>2];break}else{i=+h[m+8>>3]*+g[q+8>>2];j=+h[m+16>>3]*+g[q+12>>2];g[r+32+32>>2]=+h[m>>3]*+g[q+4>>2];g[r+32+36>>2]=i;g[r+32+40>>2]=j;g[r+32+44>>2]=0.0;p=o+(P(k,c[n+4>>2]|0)|0)|0;j=+h[p+8>>3]*+g[q+8>>2];i=+h[p+16>>3]*+g[q+12>>2];g[r+32+16>>2]=+h[p>>3]*+g[q+4>>2];g[r+32+20>>2]=j;g[r+32+24>>2]=i;g[r+32+28>>2]=0.0;p=o+(P(k,c[n>>2]|0)|0)|0;i=+h[p+8>>3]*+g[q+8>>2];j=+h[p>>3]*+g[q+4>>2];f=+h[p+16>>3];break}}while(0);f=f*+g[q+12>>2];g[r+32>>2]=j;g[r+32+4>>2]=i;g[r+32+8>>2]=f;g[r+32+12>>2]=0.0;q=c[a+8>>2]|0;Vb[c[(c[q>>2]|0)+8>>2]&127](q,r+32|0,b,d);q=c[a+4>>2]|0;Ob[c[(c[q>>2]|0)+24>>2]&127](q,b);l=r;return}function Ne(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;c[b>>2]=9184;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b+16>>2]=0;c[b+20>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b+52>>2]=-1;c[b+56>>2]=0;c[b+60>>2]=0;a[b+172>>0]=1;c[b+168>>2]=0;c[b+160>>2]=0;c[b+164>>2]=0;a[b+153>>0]=0;a[b+154>>0]=1;a[b+152>>0]=((d|0)!=0^1)&1;g[b+100>>2]=0.0;c[b+104>>2]=0;c[b+124>>2]=0;c[b+108>>2]=1;c[b+112>>2]=0;c[b+116>>2]=10;c[b+120>>2]=1;c[b+128>>2]=0;c[b+132>>2]=0;g[b+136>>2]=0.0;if(d|0)n=0;else{c[6995]=(c[6995]|0)+1;d=sc(91)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Li(d);n=c[b+160>>2]|0}c[b+96>>2]=d;c[b+148>>2]=0;c[b+140>>2]=0;c[b+144>>2]=0;c[b+84>>2]=0;c[b+84+4>>2]=0;c[b+84+8>>2]=0;a[o+16>>0]=1;c[o+12>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if((n|0)<=1){if((n|0)!=1){if((c[b+164>>2]|0)<1){c[6995]=(c[6995]|0)+1;d=sc(39)|0;if(!d)m=0;else{c[(d+4+15&-16)+-4>>2]=d;m=d+4+15&-16}e=c[b+160>>2]|0;if((e|0)>0){d=0;do{pj(m+(d*20|0)|0,(c[b+168>>2]|0)+(d*20|0)|0);d=d+1|0}while((d|0)!=(e|0));e=c[b+160>>2]|0;if((e|0)>0){d=0;do{h=c[b+168>>2]|0;i=h+(d*20|0)+4|0;j=h+(d*20|0)+12|0;k=c[j>>2]|0;f=h+(d*20|0)+16|0;if(k|0){if(a[f>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}c[j>>2]=0}a[f>>0]=1;c[j>>2]=0;c[i>>2]=0;c[h+(d*20|0)+8>>2]=0;d=d+1|0}while((d|0)!=(e|0))}}d=c[b+168>>2]|0;if(d|0){if(a[b+172>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+168>>2]=0}a[b+172>>0]=1;c[b+168>>2]=m;c[b+164>>2]=1;d=n}else d=n;while(1){pj((c[b+168>>2]|0)+(d*20|0)|0,o);if(!d)break;else d=d+1|0}d=c[o+12>>2]|0;c[b+160>>2]=1;if(!d){l=o;return}if(a[o+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[o+12>>2]=0;l=o;return}}else{d=1;do{f=c[b+168>>2]|0;h=f+(d*20|0)+4|0;i=f+(d*20|0)+12|0;j=c[i>>2]|0;e=f+(d*20|0)+16|0;if(j|0){if(a[e>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[i>>2]=0}a[e>>0]=1;c[i>>2]=0;c[h>>2]=0;c[f+(d*20|0)+8>>2]=0;d=d+1|0}while((d|0)!=(n|0))}c[b+160>>2]=1;l=o;return}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;if(!(c[a+204>>2]&2)){c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];c[a+84>>2]=c[b+16>>2];c[a+84+4>>2]=c[b+16+4>>2];c[a+84+8>>2]=c[b+16+8>>2];c[a+84+12>>2]=c[b+16+12>>2];c[a+100>>2]=c[b+32>>2];c[a+100+4>>2]=c[b+32+4>>2];c[a+100+8>>2]=c[b+32+8>>2];c[a+100+12>>2]=c[b+32+12>>2];c[a+116>>2]=c[b+48>>2];c[a+116+4>>2]=c[b+48+4>>2];c[a+116+8>>2]=c[b+48+8>>2];c[a+116+12>>2]=c[b+48+12>>2];d=a+20|0;e=b+16|0;f=a+36|0;h=b+32|0;i=a+52|0;j=b+48|0;k=a+4|0}else{c[a+68>>2]=c[a+4>>2];c[a+68+4>>2]=c[a+4+4>>2];c[a+68+8>>2]=c[a+4+8>>2];c[a+68+12>>2]=c[a+4+12>>2];c[a+84>>2]=c[a+20>>2];c[a+84+4>>2]=c[a+20+4>>2];c[a+84+8>>2]=c[a+20+8>>2];c[a+84+12>>2]=c[a+20+12>>2];c[a+100>>2]=c[a+36>>2];c[a+100+4>>2]=c[a+36+4>>2];c[a+100+8>>2]=c[a+36+8>>2];c[a+100+12>>2]=c[a+36+12>>2];c[a+116>>2]=c[a+52>>2];c[a+116+4>>2]=c[a+52+4>>2];c[a+116+8>>2]=c[a+52+8>>2];c[a+116+12>>2]=c[a+52+12>>2];d=a+20|0;e=b+16|0;f=a+36|0;h=b+32|0;i=a+52|0;j=b+48|0;k=a+4|0}c[a+132>>2]=c[a+372>>2];c[a+132+4>>2]=c[a+372+4>>2];c[a+132+8>>2]=c[a+372+8>>2];c[a+132+12>>2]=c[a+372+12>>2];c[a+148>>2]=c[a+388>>2];c[a+148+4>>2]=c[a+388+4>>2];c[a+148+8>>2]=c[a+388+8>>2];c[a+148+12>>2]=c[a+388+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];w=+g[a+4>>2];q=+g[a+456>>2];v=+g[a+8>>2];o=+g[a+460>>2];u=+g[a+12>>2];m=+g[a+464>>2];t=+g[a+20>>2];s=+g[a+24>>2];r=+g[a+28>>2];p=+g[a+36>>2];n=+g[a+40>>2];l=+g[a+44>>2];g[a+324>>2]=w*w*q+v*v*o+u*u*m;g[a+328>>2]=w*q*t+v*o*s+u*m*r;g[a+332>>2]=w*q*p+v*o*n+u*m*l;g[a+336>>2]=0.0;g[a+340>>2]=w*q*t+v*o*s+u*m*r;g[a+344>>2]=t*q*t+s*o*s+r*m*r;g[a+348>>2]=q*t*p+o*s*n+m*r*l;g[a+352>>2]=0.0;g[a+356>>2]=w*q*p+v*o*n+u*m*l;g[a+360>>2]=t*q*p+s*o*n+r*m*l;g[a+364>>2]=p*q*p+n*o*n+l*m*l;g[a+368>>2]=0.0;return}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;if(!(c[a>>2]|0)){c[a>>2]=d;c[d+32>>2]=0;return}f=c[b+40>>2]|0;if(!f)q=b;else{e=+g[d>>2]+ +g[d+16>>2];h=+g[d+4>>2]+ +g[d+20>>2];k=+g[d+8>>2]+ +g[d+24>>2];do{t=c[b+36>>2]|0;l=+C(+(e-(+g[t>>2]+ +g[t+16>>2])))+ +C(+(h-(+g[t+4>>2]+ +g[t+20>>2])))+ +C(+(k-(+g[t+8>>2]+ +g[t+24>>2])));b=c[b+36+((!(l<+C(+(e-(+g[f>>2]+ +g[f+16>>2])))+ +C(+(h-(+g[f+4>>2]+ +g[f+20>>2])))+ +C(+(k-(+g[f+8>>2]+ +g[f+24>>2]))))&1)<<2)>>2]|0;f=c[b+40>>2]|0}while((f|0)!=0);q=b}s=q+32|0;t=c[s>>2]|0;b=c[a+4>>2]|0;if(!b){c[6995]=(c[6995]|0)+1;b=sc(63)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}f=b;i=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0))}else c[a+4>>2]=0;c[b+32>>2]=t;c[b+36>>2]=0;n=b+40|0;c[n>>2]=0;o=q+16|0;f=c[(+g[d>>2]<+g[q>>2]?d:q)>>2]|0;c[b>>2]=f;i=c[(+g[d+16>>2]>+g[q+16>>2]?d+16|0:o)>>2]|0;c[b+16>>2]=i;r=c[(+g[d+4>>2]<+g[q+4>>2]?d:q)+4>>2]|0;c[b+4>>2]=r;m=c[(+g[d+20>>2]>+g[q+20>>2]?d+16|0:o)+4>>2]|0;c[b+20>>2]=m;p=c[(+g[d+8>>2]<+g[q+8>>2]?d:q)+8>>2]|0;c[b+8>>2]=p;o=c[(+g[d+24>>2]>+g[q+24>>2]?d+16|0:o)+8>>2]|0;c[b+24>>2]=o;if(!t){c[b+36>>2]=q;c[s>>2]=b;c[n>>2]=d;c[d+32>>2]=b;c[a>>2]=b;return}c[t+36+(((c[(c[s>>2]|0)+40>>2]|0)==(q|0)&1)<<2)>>2]=b;c[b+36>>2]=q;c[s>>2]=b;c[n>>2]=d;c[d+32>>2]=b;b=p;n=r;while(1){u=(c[j>>2]=f,+g[j>>2]);l=(c[j>>2]=b,+g[j>>2]);k=(c[j>>2]=i,+g[j>>2]);h=(c[j>>2]=m,+g[j>>2]);e=(c[j>>2]=o,+g[j>>2]);if(+g[t>>2]<=u){b=t+4|0;if((((+g[b>>2]<=(c[j>>2]=n,+g[j>>2])?+g[t+8>>2]<=l:0)?+g[t+16>>2]>=k:0)?+g[t+20>>2]>=h:0)?+g[t+24>>2]>=e:0){b=22;break}}else b=t+4|0;d=c[t+36>>2]|0;o=c[t+40>>2]|0;f=c[(+g[d>>2]<+g[o>>2]?d:o)>>2]|0;c[t>>2]=f;i=c[(+g[d+16>>2]>+g[o+16>>2]?d+16|0:o+16|0)>>2]|0;c[t+16>>2]=i;n=c[(+g[d+4>>2]<+g[o+4>>2]?d:o)+4>>2]|0;c[b>>2]=n;m=c[(+g[d+20>>2]>+g[o+20>>2]?d+16|0:o+16|0)+4>>2]|0;c[t+20>>2]=m;b=c[(+g[d+8>>2]<+g[o+8>>2]?d:o)+8>>2]|0;c[t+8>>2]=b;o=c[(+g[d+24>>2]>+g[o+24>>2]?d+16|0:o+16|0)+8>>2]|0;c[t+24>>2]=o;t=c[t+32>>2]|0;if(!t){b=22;break}}if((b|0)==22)return}function Qe(){if(a[22504]|0)return;if(!(Uz(22504)|0))return;c[6161]=0;c[6162]=-2147483648;c[6163]=-1082130432;g[6164]=0.0;c[6165]=1060716128;c[6166]=-1090087446;c[6167]=-1092290076;g[6168]=0.0;c[6169]=-1098022214;c[6170]=-1084636126;c[6171]=-1092290076;g[6172]=0.0;c[6173]=-1083901670;c[6174]=-2147483648;c[6175]=-1092290177;g[6176]=0.0;c[6177]=-1098022214;c[6178]=1062847522;c[6179]=-1092290043;g[6180]=0.0;c[6181]=1060716128;c[6182]=1057396202;c[6183]=-1092290076;g[6184]=0.0;c[6185]=1049461434;c[6186]=-1084636126;c[6187]=1055193605;g[6188]=0.0;c[6189]=-1086767520;c[6190]=-1090087446;c[6191]=1055193572;g[6192]=0.0;c[6193]=-1086767520;c[6194]=1057396202;c[6195]=1055193572;g[6196]=0.0;c[6197]=1049461434;c[6198]=1062847522;c[6199]=1055193572;g[6200]=0.0;c[6201]=1063581978;c[6202]=0;c[6203]=1055193471;g[6204]=0.0;c[6205]=-2147483648;c[6206]=0;c[6207]=1065353216;g[6208]=0.0;c[6209]=1054458864;c[6210]=-1096927567;c[6211]=-1084636042;g[6212]=0.0;c[6213]=-1104782626;c[6214]=-1090519208;c[6215]=-1084636042;g[6216]=0.0;c[6217]=1049007812;c[6218]=-1085334679;c[6219]=-1090087228;g[6220]=0.0;c[6221]=1054458864;c[6222]=1050556081;c[6223]=-1084636042;g[6224]=0.0;c[6225]=1062847505;c[6226]=-2147483648;c[6227]=-1090087262;g[6228]=0.0;c[6229]=-1090087362;c[6230]=-2147483648;c[6231]=-1084636076;g[6232]=0.0;c[6233]=-1087361736;c[6234]=-1090519141;c[6235]=-1090087262;g[6236]=0.0;c[6237]=-1104782626;c[6238]=1056964440;c[6239]=-1084636042;g[6240]=0.0;c[6241]=-1087361736;c[6242]=1056964507;c[6243]=-1090087262;g[6244]=0.0;c[6245]=1049007812;c[6246]=1062148969;c[6247]=-1090087228;g[6248]=0.0;c[6249]=1064532105;c[6250]=1050556148;c[6251]=0;g[6252]=0.0;c[6253]=1064532105;c[6254]=-1096927500;c[6255]=0;g[6256]=0.0;c[6257]=1058437413;c[6258]=-1085334595;c[6259]=0;g[6260]=0.0;c[6261]=0;c[6262]=-1082130432;c[6263]=0;g[6264]=0.0;c[6265]=-1089046235;c[6266]=-1085334595;c[6267]=0;g[6268]=0.0;c[6269]=-1082951543;c[6270]=-1096927500;c[6271]=-2147483648;g[6272]=0.0;c[6273]=-1082951543;c[6274]=1050556148;c[6275]=-2147483648;g[6276]=0.0;c[6277]=-1089046235;c[6278]=1062149053;c[6279]=-2147483648;g[6280]=0.0;c[6281]=-2147483648;c[6282]=1065353216;c[6283]=-2147483648;g[6284]=0.0;c[6285]=1058437413;c[6286]=1062149053;c[6287]=-2147483648;g[6288]=0.0;c[6289]=1060121912;c[6290]=-1090519141;c[6291]=1057396386;g[6292]=0.0;c[6293]=-1098475836;c[6294]=-1085334679;c[6295]=1057396420;g[6296]=0.0;c[6297]=-1084636143;c[6298]=0;c[6299]=1057396386;g[6300]=0.0;c[6301]=-1098475836;c[6302]=1062148969;c[6303]=1057396420;g[6304]=0.0;c[6305]=1060121912;c[6306]=1056964507;c[6307]=1057396386;g[6308]=0.0;c[6309]=1057396286;c[6310]=0;c[6311]=1062847572;g[6312]=0.0;c[6313]=1042701022;c[6314]=-1090519208;c[6315]=1062847606;g[6316]=0.0;c[6317]=-1093024784;c[6318]=-1096927567;c[6319]=1062847606;g[6320]=0.0;c[6321]=-1093024784;c[6322]=1050556081;c[6323]=1062847606;g[6324]=0.0;c[6325]=1042701022;c[6326]=1056964440;c[6327]=1062847606;g[6328]=0.0;return}function Re(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0,V=0;V=l;l=l+32|0;z=+g[d>>2];B=+g[d+4>>2];A=+g[d+8>>2];v=+g[i>>2];t=+g[i+4>>2];r=+g[i+8>>2];q=+g[j>>2];s=+g[j+4>>2];u=+g[j+8>>2];K=1.0/+D(+((e-z)*(e-z)+(f-B)*(f-B)+(h-A)*(h-A)));L=(e-z)*K==0.0?999999984306749440.0:1.0/((e-z)*K);M=(f-B)*K==0.0?999999984306749440.0:1.0/((f-B)*K);N=(h-A)*K==0.0?999999984306749440.0:1.0/((h-A)*K);O=(z>e?e:z)+v;P=(B>f?f:B)+t;Q=(A>h?h:A)+r;R=(z<e?e:z)+q;S=(B<f?f:B)+s;T=(A<h?h:A)+u;o=c[a+56>>2]|0;a:do if((o|0)>0){x=c[a+96>>2]|0;k=0;w=0;while(1){k=k+1|0;c[V>>2]=c[x>>2];c[V+4>>2]=c[x+4>>2];c[V+8>>2]=c[x+8>>2];c[V+12>>2]=c[x+12>>2];p=x+16|0;c[V+16>>2]=c[p>>2];c[V+16+4>>2]=c[p+4>>2];c[V+16+8>>2]=c[p+8>>2];c[V+16+12>>2]=c[p+12>>2];g[V>>2]=+g[V>>2]-q;g[V+4>>2]=+g[V+4>>2]-s;g[V+8>>2]=+g[V+8>>2]-u;g[V+16>>2]=+g[V+16>>2]-v;g[V+20>>2]=+g[V+20>>2]-t;g[V+24>>2]=+g[V+24>>2]-r;if(!(O>+g[p>>2])?!(R<+g[x>>2]):0)m=1;else m=0;if(!(!(Q>+g[x+24>>2])?!(T<+g[x+8>>2]):0))m=0;if(((!(P>+g[x+20>>2])?!(S<+g[x+4>>2]|m^1):0)?(E=+g[d>>2],C=L*(+g[V+((L<0.0&1)<<4)>>2]-E),E=L*(+g[V+((L<0.0^1)<<4)>>2]-E),G=+g[d+4>>2],F=M*(+g[V+((M<0.0&1)<<4)+4>>2]-G),G=M*(+g[V+((M<0.0^1)<<4)+4>>2]-G),!(F>E|C>G)):0)?(H=F>C?F:C,y=G<E?G:E,J=+g[d+8>>2],I=N*(+g[V+((N<0.0&1)<<4)+8>>2]-J),J=N*(+g[V+((N<0.0^1)<<4)+8>>2]-J),!(I>y|H>J)):0){m=(J<y?J:y)>0.0?(I>H?I:H)<(h-A)*(h-A)*K+((e-z)*(e-z)*K+(f-B)*(f-B)*K):0;n=c[x+32>>2]|0;if(m&(n|0)==-1){Sb[c[(c[b>>2]|0)+8>>2]&127](b,c[x+36>>2]|0,c[x+40>>2]|0);n=1;o=c[a+56>>2]|0}else{p=(n|0)==-1;U=16}}else{n=c[x+32>>2]|0;p=(n|0)==-1;m=0;U=16}if((U|0)==16){U=0;n=p|m?1:n}m=n+w|0;if((m|0)>=(o|0))break a;x=x+(n<<6)|0;w=m;q=+g[j>>2];s=+g[j+4>>2];u=+g[j+8>>2];v=+g[i>>2];t=+g[i+4>>2];r=+g[i+8>>2]}}else k=0;while(0);if((c[6160]|0)>=(k|0)){l=V;return}c[6160]=k;l=V;return}function Se(a,b,d,e,f,h){a=a|0;b=b|0;d=+d;e=+e;f=+f;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0;a:while(1){if((b|0)>0){i=-1;j=0;do{do if(c[h+(j<<2)>>2]|0){if((i|0)!=-1?!(+g[a+(j<<4)>>2]*d+ +g[a+(j<<4)+4>>2]*e+ +g[a+(j<<4)+8>>2]*f>+g[a+(i<<4)>>2]*d+ +g[a+(i<<4)+4>>2]*e+ +g[a+(i<<4)+8>>2]*f):0)break;i=j}while(0);j=j+1|0}while((j|0)!=(b|0))}else i=-1;A=h+(i<<2)|0;if((c[A>>2]|0)==3){B=36;break}k=+D(+((e-f*0.0)*(e-f*0.0)+(f*0.0-d)*(f*0.0-d)+(d*0.0-e*0.0)*(d*0.0-e*0.0)));l=+D(+((d-e*0.0)*(d-e*0.0)+((e*0.0-f)*(e*0.0-f)+(f*0.0-d*0.0)*(f*0.0-d*0.0))));if(k>l){y=(d*0.0-e*0.0)*(1.0/k);z=(f*0.0-d)*(1.0/k);s=(e-f*0.0)*(1.0/k)}else{y=(d-e*0.0)*(1.0/l);z=(f*0.0-d*0.0)*(1.0/l);s=(e*0.0-f)*(1.0/l)}t=z*f-y*e;u=y*d-s*f;v=s*e-z*d;w=(i|0)==-1;r=0;j=-1;while(1){x=+(r|0);q=+G(+(x*.01745329238474369));o=+F(+(x*.01745329238474369));k=(s*q+t*o)*.02500000037252903+d;l=(z*q+u*o)*.02500000037252903+e;o=(y*q+v*o)*.02500000037252903+f;if((b|0)>0){m=-1;n=0;do{do if(c[h+(n<<2)>>2]|0){if((m|0)!=-1?!(k*+g[a+(n<<4)>>2]+l*+g[a+(n<<4)+4>>2]+o*+g[a+(n<<4)+8>>2]>k*+g[a+(m<<4)>>2]+l*+g[a+(m<<4)+4>>2]+o*+g[a+(m<<4)+8>>2]):0)break;m=n}while(0);n=n+1|0}while((n|0)!=(b|0))}else m=-1;if((j|0)==(i|0)&(m|0)==(i|0))break a;b:do if(!((j|0)==-1|(j|0)==(m|0))?x+-40.0<=x:0){if((b|0)>0)q=x+-40.0;else{k=x+-40.0;while(1){if((j|0)==(i|0)&w){i=-1;break a}k=k+5.0;if(!(k<=x))break b;else j=-1}}while(1){o=q*.01745329238474369;C=+G(+o);o=+F(+o);k=(s*C+t*o)*.02500000037252903+d;l=(z*C+u*o)*.02500000037252903+e;o=(y*C+v*o)*.02500000037252903+f;n=-1;p=0;do{do if(c[h+(p<<2)>>2]|0){if((n|0)!=-1?!(k*+g[a+(p<<4)>>2]+l*+g[a+(p<<4)+4>>2]+o*+g[a+(p<<4)+8>>2]>k*+g[a+(n<<4)>>2]+l*+g[a+(n<<4)+4>>2]+o*+g[a+(n<<4)+8>>2]):0)break;n=p}while(0);p=p+1|0}while((p|0)!=(b|0));if((j|0)==(i|0)&(n|0)==(i|0))break a;q=q+5.0;if(!(q<=x))break;else j=n}}while(0);r=r+45|0;if((r|0)>360)break;else j=m}c[A>>2]=0}if((B|0)==36)return i|0;c[h+(i<<2)>>2]=3;B=i;return B|0}function Te(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=c[b+472>>2]|0;Sb[c[(c[m>>2]|0)+16>>2]&127](m,b+344|0,0);m=c[b+472>>2]|0;xb[c[(c[m>>2]|0)+12>>2]&127](m)|0;Hj(b,d);m=c[b+348>>2]|0;if((m|0)>0){f=c[b+356>>2]|0;e=0;k=0;do{l=c[(c[f+(e<<2)>>2]|0)+444>>2]|0;k=(k|0)>(l|0)?k:l;e=e+1|0}while((e|0)!=(m|0));e=0;while(1){h=c[f+(e<<2)>>2]|0;if((c[h+912>>2]|0)>0){f=0;do{l=c[(c[h+920>>2]|0)+(f<<2)>>2]|0;Mb[c[(c[l>>2]|0)+8>>2]&15](l,+g[h+512>>2],k);f=f+1|0}while((f|0)<(c[h+912>>2]|0))}e=e+1|0;if((e|0)==(m|0))break;f=c[b+356>>2]|0}if((k|0)>0){h=0;do{e=0;do{i=c[(c[b+356>>2]|0)+(e<<2)>>2]|0;j=c[i+912>>2]|0;if((j|0)>0){f=0;do{l=c[(c[i+920>>2]|0)+(f<<2)>>2]|0;Kb[c[(c[l>>2]|0)+12>>2]&7](l,+g[i+512>>2],1.0);f=f+1|0}while((f|0)!=(j|0))}e=e+1|0}while((e|0)!=(m|0));h=h+1|0}while((h|0)!=(k|0));k=0}else k=0;do{l=c[(c[b+356>>2]|0)+(k<<2)>>2]|0;if((c[l+912>>2]|0)>0){e=0;do{f=c[(c[l+920>>2]|0)+(e<<2)>>2]|0;Jb[c[(c[f>>2]|0)+16>>2]&31](f,+g[l+512>>2]);f=c[l+920>>2]|0;h=c[f+(e<<2)>>2]|0;if(a[h+152>>0]|0){if(!h)j=f;else{c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);j=c[l+920>>2]|0}i=e+-1|0;f=c[l+912>>2]|0;a:do if((f|0)>0){h=c[j+(e<<2)>>2]|0;e=0;while(1){if((c[j+(e<<2)>>2]|0)==(h|0))break a;e=e+1|0;if((e|0)>=(f|0)){e=f;break}}}else e=f;while(0);if((f|0)>(e|0)){h=j+(e<<2)|0;e=c[h>>2]|0;c[h>>2]=c[j+(f+-1<<2)>>2];c[(c[l+920>>2]|0)+(f+-1<<2)>>2]=e;c[l+912>>2]=f+-1;e=i;f=f+-1|0}else e=i}else f=c[l+912>>2]|0;e=e+1|0}while((e|0)<(f|0))}k=k+1|0}while((k|0)!=(m|0))}m=c[b+472>>2]|0;Jb[c[(c[m>>2]|0)+28>>2]&31](m,+g[m+12>>2]*d);if((c[b+348>>2]|0)<=0){b=c[b+472>>2]|0;m=c[b>>2]|0;m=m+32|0;m=c[m>>2]|0;Ib[m&511](b);return}e=0;do{m=c[(c[b+356>>2]|0)+(e<<2)>>2]|0;Wh(m,m);e=e+1|0}while((e|0)<(c[b+348>>2]|0));b=c[b+472>>2]|0;m=c[b>>2]|0;m=m+32|0;m=c[m>>2]|0;Ib[m&511](b);return}function Ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0;I=l;l=l+544|0;if(!a){l=I;return}f=+g[b>>2];G=+g[d>>2]-f;k=+g[b+4>>2];B=+g[d+4>>2]-k;v=+g[d+8>>2]-+g[b+8>>2];w=1.0/+D(+(G*G+B*B+v*v));x=G*w==0.0?999999984306749440.0:1.0/(G*w);y=B*w==0.0?999999984306749440.0:1.0/(B*w);z=v*w==0.0?999999984306749440.0:1.0/(v*w);c[I+32>>2]=a;p=1;o=126;h=128;r=I+32|0;i=128;u=0;while(1){s=p+-1|0;t=c[r+(s<<2)>>2]|0;c[I>>2]=c[t>>2];c[I+4>>2]=c[t+4>>2];c[I+8>>2]=c[t+8>>2];c[I+12>>2]=c[t+12>>2];c[I+16>>2]=c[t+16>>2];c[I+16+4>>2]=c[t+16+4>>2];c[I+16+8>>2]=c[t+16+8>>2];c[I+16+12>>2]=c[t+16+12>>2];n=x*(+g[I+((x<0.0&1)<<4)>>2]-f);j=x*(+g[I+((x<0.0^1)<<4)>>2]-f);m=y*(+g[I+((y<0.0&1)<<4)+4>>2]-k);f=y*(+g[I+((y<0.0^1)<<4)+4>>2]-k);do if((!(m>j|n>f)?(C=m>n?m:n,A=f<j?f:j,F=+g[b+8>>2],E=z*(+g[I+((z<0.0&1)<<4)+8>>2]-F),F=z*(+g[I+((z<0.0^1)<<4)+8>>2]-F),!(E>A|C>F)):0)?((F<A?F:A)>0.0?(E>C?E:C)<G*w*G+B*w*B+v*w*v:0):0){if(!(c[t+40>>2]|0)){Ob[c[(c[e>>2]|0)+12>>2]&127](e,t);p=s;d=r;a=u;break}if((s|0)>(o|0)){q=i<<1;if((i|0)<(q|0)){do if((h|0)<(q|0)){if(i){c[6995]=(c[6995]|0)+1;d=sc((i<<3|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}if((i|0)>0){a=0;do{c[d+(a<<2)>>2]=c[r+(a<<2)>>2];a=a+1|0}while((a|0)!=(i|0));if(!(u<<24>>24)){h=q;a=1;break}}else H=15}else{d=0;H=15}if((H|0)==15){H=0;if(u<<24>>24==0|(r|0)==0){h=q;a=1;break}}c[6996]=(c[6996]|0)+1;Cd(c[r+-4>>2]|0);h=q;a=1}else{d=r;a=u}while(0);Yk(d+(i<<2)|0,0,i<<2|0)|0}else{d=r;a=u}o=q+-2|0;i=q}else{d=r;a=u}c[d+(s<<2)>>2]=c[t+36>>2];c[d+(p<<2)>>2]=c[t+40>>2];p=p+1|0}else{p=s;d=r;a=u}while(0);if(!p)break;r=d;u=a;f=+g[b>>2];k=+g[b+4>>2]}if(a<<24>>24==0|(d|0)==0){l=I;return}c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);l=I;return}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0;o=c[a+192>>2]|0;n=+nb[c[(c[o>>2]|0)+48>>2]&15](o);o=c[a+772>>2]|0;if((o|0)>0){i=0;do{m=c[a+780>>2]|0;d=m+(i*104|0)+8|0;j=+g[b>>2]*+g[d>>2];g[d>>2]=j;d=m+(i*104|0)+12|0;k=+g[b+4>>2]*+g[d>>2];g[d>>2]=k;d=m+(i*104|0)+16|0;l=+g[b+8>>2]*+g[d>>2];g[d>>2]=l;d=m+(i*104|0)+24|0;g[d>>2]=+g[b>>2]*+g[d>>2];d=m+(i*104|0)+28|0;g[d>>2]=+g[b+4>>2]*+g[d>>2];d=m+(i*104|0)+32|0;g[d>>2]=+g[b+8>>2]*+g[d>>2];m=c[m+(i*104|0)+96>>2]|0;d=Ag(a+988|0,m)|0;a:do if(d){h=c[a+996>>2]|0;if((h|0)<=-1){d=c[a+988>>2]|0;break}if(h){e=0;while(1){f=c[d+32>>2]|0;e=e+1|0;if(!f)break a;if((e|0)>=(h|0)){d=f;break}else d=f}}}else d=0;while(0);g[m>>2]=j-n;g[m+4>>2]=k-n;g[m+8>>2]=l-n;g[m+12>>2]=0.0;g[m+16>>2]=n+j;g[m+20>>2]=n+k;g[m+24>>2]=n+l;g[m+28>>2]=0.0;Pe(a+988|0,d,m);i=i+1|0}while((i|0)!=(o|0))}Eg(a);d=c[a+988>>2]|0;if(d){o=c[a+192>>2]|0;k=+nb[c[(c[o>>2]|0)+48>>2]&15](o);n=+g[d+4>>2]-k;l=+g[d+8>>2]-k;g[a+952>>2]=+g[d>>2]-k;g[a+956>>2]=n;g[a+960>>2]=l;g[a+964>>2]=0.0;l=k+ +g[d+20>>2];n=k+ +g[d+24>>2];g[a+968>>2]=k+ +g[d+16>>2];g[a+972>>2]=l;g[a+976>>2]=n;g[a+980>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+744>>2]|0;m=c[o+32>>2]|0;Zb[c[(c[m>>2]|0)+16>>2]&31](m,d,a+952|0,a+968|0,c[o+36>>2]|0)}}else{c[a+952>>2]=0;c[a+952+4>>2]=0;c[a+952+8>>2]=0;c[a+952+12>>2]=0;c[a+952+16>>2]=0;c[a+952+20>>2]=0;c[a+952+24>>2]=0;c[a+952+28>>2]=0}e=c[a+792>>2]|0;if((e|0)<=0){Vf(a);return}f=c[a+800>>2]|0;d=0;do{m=c[f+(d*52|0)+24>>2]|0;o=c[f+(d*52|0)+28>>2]|0;k=+g[m+8>>2]-+g[o+8>>2];l=+g[m+12>>2]-+g[o+12>>2];n=+g[m+16>>2]-+g[o+16>>2];n=+D(+(k*k+l*l+n*n));g[f+(d*52|0)+32>>2]=n;g[f+(d*52|0)+44>>2]=n*n;d=d+1|0}while((d|0)!=(e|0));d=0;do{g[f+(d*52|0)+40>>2]=(+g[(c[f+(d*52|0)+24>>2]|0)+88>>2]+ +g[(c[f+(d*52|0)+28>>2]|0)+88>>2])/+g[(c[f+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));Vf(a);return}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0;o=l;l=l+144|0;i=+g[b>>2];j=+g[b+16>>2];p=i<j?i:j;h=+g[b+32>>2];if((p<h?p:h)>+g[a+20>>2]){l=o;return}m=i>j?b:b+16|0;if(+g[(+g[m>>2]>h?m:b+32|0)>>2]<+g[a+4>>2]){l=o;return}h=+g[b+8>>2];i=+g[b+24>>2];p=h<i?h:i;j=+g[b+40>>2];if((p<j?p:j)>+g[a+28>>2]){l=o;return}m=h>i?b+8|0:b+24|0;if(+g[(+g[m>>2]>j?m:b+40|0)>>2]<+g[a+12>>2]){l=o;return}h=+g[b+4>>2];i=+g[b+20>>2];p=h<i?h:i;j=+g[b+36>>2];if((p<j?p:j)>+g[a+24>>2]){l=o;return}m=h>i?b+4|0:b+20|0;if(+g[(+g[m>>2]>j?m:b+36|0)>>2]<+g[a+8>>2]){l=o;return}m=c[a+48>>2]|0;f=c[a+36>>2]|0;if((c[(c[f+4>>2]|0)+4>>2]|0)>=20){l=o;return}c[o+24+8>>2]=0;c[o+24+12>>2]=-1;c[o+24+16>>2]=1065353216;c[o+24+20>>2]=1065353216;c[o+24+24>>2]=1065353216;g[o+24+28>>2]=0.0;c[o+24+56>>2]=0;c[o+24>>2]=3924;c[o+24+4>>2]=1;c[o+24+60>>2]=c[b>>2];c[o+24+60+4>>2]=c[b+4>>2];c[o+24+60+8>>2]=c[b+8>>2];c[o+24+60+12>>2]=c[b+12>>2];c[o+24+76>>2]=c[b+16>>2];c[o+24+76+4>>2]=c[b+16+4>>2];c[o+24+76+8>>2]=c[b+16+8>>2];c[o+24+76+12>>2]=c[b+16+12>>2];c[o+24+92>>2]=c[b+32>>2];c[o+24+92+4>>2]=c[b+32+4>>2];c[o+24+92+8>>2]=c[b+32+8>>2];c[o+24+92+12>>2]=c[b+32+12>>2];c[o+24+48>>2]=c[a+56>>2];q=c[a+40>>2]|0;k=c[q+8>>2]|0;b=c[q+12>>2]|0;c[o>>2]=q;c[o+4>>2]=o+24;c[o+8>>2]=k;c[o+12>>2]=b;c[o+16>>2]=d;c[o+20>>2]=e;b=c[(c[m>>2]|0)+8>>2]|0;if(+g[(c[a+44>>2]|0)+32>>2]>0.0)k=Db[b&1](m,f,o,0,2)|0;else k=Db[b&1](m,f,o,c[a+64>>2]|0,1)|0;f=c[a+44>>2]|0;b=c[f+8>>2]|0;if((c[b+8>>2]|0)==(c[(c[a+40>>2]|0)+8>>2]|0)){c[f+8>>2]=o;Sb[c[(c[f>>2]|0)+8>>2]&127](f,d,e)}else{b=c[f+12>>2]|0;c[f+12>>2]=o;Sb[c[(c[f>>2]|0)+12>>2]&127](f,d,e)}Zb[c[(c[k>>2]|0)+8>>2]&31](k,c[a+36>>2]|0,o,c[a+52>>2]|0,c[a+44>>2]|0);q=c[a+44>>2]|0;c[((c[(c[q+8>>2]|0)+8>>2]|0)==(c[(c[a+40>>2]|0)+8>>2]|0)?q+8|0:q+12|0)>>2]=b;Ib[c[c[k>>2]>>2]&511](k);Ob[c[(c[m>>2]|0)+60>>2]&127](m,k);c[o+24>>2]=7472;b=c[o+24+56>>2]|0;if(b|0?(Ib[c[c[b>>2]>>2]&511](b),n=c[o+24+56>>2]|0,n|0):0){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0)}l=o;return}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=l;l=l+48|0;c[b+8>>2]=0;c[b+12>>2]=-1;g[b+16>>2]=0.0;c[b>>2]=7272;c[b+52>>2]=d;c[b+4>>2]=21;if(xb[c[(c[d>>2]|0)+40>>2]&127](d)|0)Sb[c[(c[d>>2]|0)+48>>2]&127](d,b+20|0,b+36|0);else{d=h+32+4|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;g[h+32>>2]=1.0;Sb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+36>>2]=+g[h+16>>2]+ +g[b+16>>2];g[h+32>>2]=-1.0;Sb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+20>>2]=+g[h+16>>2]-+g[b+16>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[d>>2]=1.0;Sb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+40>>2]=+g[h+16+4>>2]+ +g[b+16>>2];g[d>>2]=-1.0;Sb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+24>>2]=+g[h+16+4>>2]-+g[b+16>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[h+32+8>>2]=1.0;Sb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+44>>2]=+g[h+16+8>>2]+ +g[b+16>>2];g[h+32+8>>2]=-1.0;Sb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+28>>2]=+g[h+16+8>>2]-+g[b+16>>2]}c[b>>2]=7120;c[b+56>>2]=0;c[b+60>>2]=0;a[b+64>>0]=e&1;a[b+65>>0]=0;c[b+4>>2]=21;if(!f){l=h;return}c[6995]=(c[6995]|0)+1;d=sc(191)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+52>>2]=287;a[d+60>>0]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;a[d+100>>0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140>>0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;c[d+144>>2]=0;a[d+164>>0]=1;c[d+160>>2]=0;c[d+152>>2]=0;c[d+156>>2]=0;c[d+168>>2]=0;c[d+4>>2]=-8388609;c[d+8>>2]=-8388609;c[d+12>>2]=-8388609;g[d+16>>2]=0.0;c[d+20>>2]=2139095039;c[d+24>>2]=2139095039;c[d+28>>2]=2139095039;g[d+32>>2]=0.0;c[d>>2]=8324;c[b+56>>2]=d;dd(d,c[b+52>>2]|0,(a[b+64>>0]|0)!=0,b+20|0,b+36|0);a[b+65>>0]=1;l=h;return}function Ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b)if(!e){if(f|0){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(a>>>0)/(d>>>0)>>>0;return (A=e,f)|0}else{if(!f){e=0;f=0;return (A=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;e=0;f=0;return (A=e,f)|0}do if(d){if(e|0){h=(S(e|0)|0)-(S(b|0)|0)|0;if(h>>>0<=31){n=h+1|0;i=a>>>((h+1|0)>>>0)&h-31>>31|b<<31-h;m=b>>>((h+1|0)>>>0)&h-31>>31;g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (A=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (A=e,f)|0}if(d-1&d|0){h=(S(d|0)|0)+33-(S(b|0)|0)|0;n=h;i=32-h-1>>31&b>>>((h-32|0)>>>0)|(b<<32-h|a>>>(h>>>0))&h-32>>31;m=h-32>>31&b>>>(h>>>0);g=a<<64-h&32-h>>31;h=(b<<64-h|a>>>((h-32|0)>>>0))&32-h>>31|a<<32-h&h-33>>31;break}if(f|0){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){e=b|b&0;f=a|0|0;return (A=e,f)|0}else{f=tq(d|0)|0;e=b>>>(f>>>0)|0;f=b<<32-f|a>>>(f>>>0)|0;return (A=e,f)|0}}else{if(!e){if(f|0){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(b>>>0)/(d>>>0)>>>0;return (A=e,f)|0}if(!a){if(f|0){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}d=0;f=(b>>>0)/(e>>>0)>>>0;return (A=d,f)|0}if(!(e-1&e)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}d=0;f=b>>>((tq(e|0)|0)>>>0);return (A=d,f)|0}h=(S(e|0)|0)-(S(b|0)|0)|0;if(h>>>0<=30){n=h+1|0;i=b<<31-h|a>>>((h+1|0)>>>0);m=b>>>((h+1|0)>>>0);g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (A=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (A=e,f)|0}while(0);if(!n){j=h;b=m;a=0;h=0}else{k=Ow(d|0|0,e|e&0|0,-1,-1)|0;l=A;j=h;b=m;a=n;h=0;do{p=j;j=g>>>31|j<<1;g=h|g<<1;p=i<<1|p>>>31|0;o=i>>>31|b<<1|0;sw(k|0,l|0,p|0,o|0)|0;n=A;m=n>>31|((n|0)<0?-1:0)<<1;h=m&1;i=sw(p|0,o|0,m&(d|0)|0,(((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1)&(e|e&0)|0)|0;b=A;a=a-1|0}while((a|0)!=0);a=0}if(f|0){c[f>>2]=i;c[f+4>>2]=b}o=(g|0)>>>31|j<<1|(0<<1|g>>>31)&0|a;p=(g<<1|0>>>31)&-2|h;return (A=o,p)|0}function Ze(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;j=l;l=l+64|0;k=(a[b+76>>0]|0)!=0;i=k?e:d;d=k?d:e;e=c[d+4>>2]|0;if(((c[e+4>>2]|0)+-21|0)>>>0>=9){l=j;return}if((c[(c[i+4>>2]|0)+4>>2]|0)>=20){l=j;return}m=+nb[c[(c[e>>2]|0)+48>>2]&15](e);c[h+4>>2]=c[b+72>>2];c[b+44>>2]=i;c[b+48>>2]=d;c[b+60>>2]=f;g[b+64>>2]=m;c[b+52>>2]=h;k=c[d+12>>2]|0;B=+g[k>>2];A=+g[k+16>>2];z=+g[k+32>>2];y=+g[k+4>>2];x=+g[k+20>>2];w=+g[k+36>>2];s=+g[k+8>>2];q=+g[k+24>>2];o=+g[k+40>>2];v=-+g[k+48>>2];u=-+g[k+52>>2];t=-+g[k+56>>2];k=c[i+12>>2]|0;K=+g[k>>2];J=+g[k+16>>2];I=+g[k+32>>2];H=+g[k+4>>2];G=+g[k+20>>2];F=+g[k+36>>2];E=+g[k+8>>2];D=+g[k+24>>2];C=+g[k+40>>2];r=+g[k+48>>2];p=+g[k+52>>2];n=+g[k+56>>2];g[j>>2]=B*K+A*J+z*I;g[j+4>>2]=B*H+A*G+z*F;g[j+8>>2]=B*E+A*D+z*C;g[j+12>>2]=0.0;g[j+16>>2]=y*K+x*J+w*I;g[j+20>>2]=y*H+x*G+w*F;g[j+24>>2]=y*E+x*D+w*C;g[j+28>>2]=0.0;g[j+32>>2]=s*K+q*J+o*I;g[j+36>>2]=s*H+q*G+o*F;g[j+40>>2]=s*E+q*D+o*C;g[j+44>>2]=0.0;g[j+48>>2]=B*v+A*u+z*t+(B*r+A*p+z*n);g[j+52>>2]=y*v+x*u+w*t+(y*r+x*p+w*n);g[j+56>>2]=s*v+q*u+o*t+(s*r+q*p+o*n);g[j+60>>2]=0.0;k=c[(c[b+44>>2]|0)+4>>2]|0;Vb[c[(c[k>>2]|0)+8>>2]&127](k,j,b+12|0,b+28|0);m=+g[h+32>>2]+m;g[b+28>>2]=m+ +g[b+28>>2];g[b+32>>2]=m+ +g[b+32>>2];g[b+36>>2]=m+ +g[b+36>>2];g[b+12>>2]=+g[b+12>>2]-m;g[b+16>>2]=+g[b+16>>2]-m;g[b+20>>2]=+g[b+20>>2]-m;k=c[b+72>>2]|0;f=c[d+8>>2]|0;c[k+772>>2]=c[i+8>>2];c[k+776>>2]=f;Vb[c[(c[e>>2]|0)+64>>2]&127](e,b+8|0,b+12|0,b+28|0);e=c[h+4>>2]|0;do if(c[e+780>>2]|0){f=c[e+772>>2]|0;i=c[(c[h+8>>2]|0)+8>>2]|0;d=c[(c[h+12>>2]|0)+8>>2]|0;if((f|0)==(i|0)){af(e,f+4|0,d+4|0);break}else{af(e,d+4|0,i+4|0);break}}while(0);c[b+44>>2]=0;c[b+48>>2]=0;l=j;return}function _e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;k=l;l=l+128|0;a=c[a+20>>2]|0;n=+g[a+952>>2];x=+g[a+956>>2];v=+g[a+960>>2];w=+g[a+968>>2];f=+g[a+972>>2];i=+g[a+976>>2];z=+g[b>>2];m=+g[b+4>>2];p=v*+g[b+8>>2];q=+g[b+16>>2];r=+g[b+20>>2];t=v*+g[b+24>>2];u=+g[b+32>>2];o=+g[b+36>>2];s=+g[b+40>>2];y=+g[b+48>>2];j=+g[b+52>>2];h=+g[b+56>>2];g[k>>2]=n*z+x*m+p+y;g[k+4>>2]=n*q+x*r+t+j;g[k+8>>2]=n*u+x*o+v*s+h;g[k+12>>2]=0.0;g[k+16>>2]=w*z+x*m+p+y;g[k+20>>2]=w*q+x*r+t+j;g[k+24>>2]=w*u+x*o+v*s+h;g[k+28>>2]=0.0;g[k+32>>2]=w*z+f*m+p+y;g[k+36>>2]=w*q+f*r+t+j;g[k+40>>2]=w*u+f*o+v*s+h;g[k+44>>2]=0.0;g[k+48>>2]=n*z+f*m+p+y;g[k+52>>2]=n*q+f*r+t+j;g[k+56>>2]=n*u+f*o+v*s+h;g[k+60>>2]=0.0;v=+g[b>>2];u=+g[b+4>>2];t=i*+g[b+8>>2];r=+g[b+16>>2];q=+g[b+20>>2];p=i*+g[b+24>>2];m=+g[b+32>>2];g[k+64>>2]=n*v+x*u+t+y;g[k+68>>2]=n*r+x*q+p+j;g[k+72>>2]=n*m+x*o+i*s+h;g[k+76>>2]=0.0;h=+g[b+36>>2];i=i*+g[b+40>>2];s=+g[b+48>>2];o=+g[b+52>>2];j=+g[b+56>>2];g[k+80>>2]=w*v+x*u+t+s;g[k+84>>2]=w*r+x*q+p+o;g[k+88>>2]=w*m+x*h+i+j;g[k+92>>2]=0.0;g[k+96>>2]=w*v+f*u+t+s;g[k+100>>2]=w*r+f*q+p+o;g[k+104>>2]=w*m+f*h+i+j;g[k+108>>2]=0.0;g[k+112>>2]=n*v+f*u+t+s;g[k+116>>2]=n*r+f*q+p+o;g[k+120>>2]=n*m+f*h+i+j;g[k+124>>2]=0.0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];a=1;do{f=+g[k+(a<<4)>>2];if(f<+g[d>>2])g[d>>2]=f;h=+g[k+(a<<4)+4>>2];if(h<+g[d+4>>2])g[d+4>>2]=h;i=+g[k+(a<<4)+8>>2];if(i<+g[d+8>>2])g[d+8>>2]=i;j=+g[k+(a<<4)+12>>2];if(j<+g[d+12>>2])g[d+12>>2]=j;if(+g[e>>2]<f)g[e>>2]=f;if(+g[e+4>>2]<h)g[e+4>>2]=h;if(+g[e+8>>2]<i)g[e+8>>2]=i;if(+g[e+12>>2]<j)g[e+12>>2]=j;a=a+1|0}while((a|0)!=8);l=k;return}function $e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0;n=l;l=l+192|0;m=c[(c[a+4>>2]|0)+772>>2]|0;k=c[(c[a+8>>2]|0)+8>>2]|0;y=+g[d>>2];h=+g[b>>2]*e+y;x=+g[d+4>>2];i=+g[b+4>>2]*e+x;o=+g[d+8>>2];j=+g[b+8>>2]*e+o;w=c[(c[a+12>>2]|0)+8>>2]|0;f=(m|0)!=(k|0)?w:m;w=(m|0)!=(k|0)?k:w;v=h-+g[f+52>>2];u=i-+g[f+56>>2];t=j-+g[f+60>>2];s=v*+g[f+8>>2]+u*+g[f+24>>2]+t*+g[f+40>>2];r=v*+g[f+12>>2]+u*+g[f+28>>2]+t*+g[f+44>>2];y=y-+g[w+52>>2];x=x-+g[w+56>>2];o=o-+g[w+60>>2];q=y*+g[w+4>>2]+x*+g[w+20>>2]+o*+g[w+36>>2];p=y*+g[w+8>>2]+x*+g[w+24>>2]+o*+g[w+40>>2];o=y*+g[w+12>>2]+x*+g[w+28>>2]+o*+g[w+44>>2];g[n>>2]=v*+g[f+4>>2]+u*+g[f+20>>2]+t*+g[f+36>>2];g[n+4>>2]=s;g[n+8>>2]=r;g[n+12>>2]=0.0;g[n+16>>2]=q;g[n+20>>2]=p;g[n+24>>2]=o;g[n+28>>2]=0.0;c[n+64>>2]=c[b>>2];c[n+64+4>>2]=c[b+4>>2];c[n+64+8>>2]=c[b+8>>2];c[n+64+12>>2]=c[b+12>>2];g[n+80>>2]=e;c[n+84>>2]=0;c[n+84+4>>2]=0;c[n+84+8>>2]=0;c[n+84+12>>2]=0;b=n+116|0;f=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));g[n+48>>2]=h;g[n+52>>2]=i;g[n+56>>2]=j;g[n+60>>2]=0.0;c[n+32>>2]=c[d>>2];c[n+32+4>>2]=c[d+4>>2];c[n+32+8>>2]=c[d+8>>2];c[n+32+12>>2]=c[d+12>>2];b=c[a+16>>2]|0;f=c[a+20>>2]|0;if((m|0)!=(k|0)){c[n+100>>2]=f;z=a+28|0;d=b;w=a+24|0;b=f;f=c[z>>2]|0;z=n+104|0;c[z>>2]=d;z=n+108|0;c[z>>2]=f;w=c[w>>2]|0;z=n+112|0;c[z>>2]=w;z=(m|0)!=(k|0)?a+12|0:a+8|0;z=c[z>>2]|0;m=(m|0)!=(k|0)?a+8|0:a+12|0;m=c[m>>2]|0;k=a+36|0;k=c[k>>2]|0;a=c[k>>2]|0;a=a+12|0;a=c[a>>2]|0;+ub[a&1](k,n,z,b,f,m,d,w);l=n;return}else{c[n+100>>2]=b;d=a+24|0;w=f;z=a+28|0;f=b;d=c[d>>2]|0;b=n+104|0;c[b>>2]=w;b=n+108|0;c[b>>2]=d;z=c[z>>2]|0;b=n+112|0;c[b>>2]=z;b=(m|0)!=(k|0)?a+12|0:a+8|0;b=c[b>>2]|0;m=(m|0)!=(k|0)?a+8|0:a+12|0;m=c[m>>2]|0;k=a+36|0;k=c[k>>2]|0;a=c[k>>2]|0;a=a+12|0;a=c[a>>2]|0;+ub[a&1](k,n,b,f,d,m,w,z);l=n;return}}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;e=c[a+780>>2]|0;if((e|0)<=0)return;do{j=e;e=e+-1|0;p=+g[a+4+(e*192|0)>>2];q=+g[a+4+(e*192|0)+4>>2];f=+g[a+4+(e*192|0)+8>>2];o=p*+g[b>>2]+q*+g[b+4>>2]+f*+g[b+8>>2]+ +g[b+48>>2];m=p*+g[b+16>>2]+q*+g[b+20>>2]+f*+g[b+24>>2]+ +g[b+52>>2];f=p*+g[b+32>>2]+q*+g[b+36>>2]+f*+g[b+40>>2]+ +g[b+56>>2];g[a+4+(e*192|0)+48>>2]=o;g[a+4+(e*192|0)+52>>2]=m;g[a+4+(e*192|0)+56>>2]=f;g[a+4+(e*192|0)+60>>2]=0.0;q=+g[a+4+(e*192|0)+16>>2];p=+g[a+4+(e*192|0)+20>>2];h=+g[a+4+(e*192|0)+24>>2];n=q*+g[d>>2]+p*+g[d+4>>2]+h*+g[d+8>>2]+ +g[d+48>>2];l=q*+g[d+16>>2]+p*+g[d+20>>2]+h*+g[d+24>>2]+ +g[d+52>>2];h=q*+g[d+32>>2]+p*+g[d+36>>2]+h*+g[d+40>>2]+ +g[d+56>>2];g[a+4+(e*192|0)+32>>2]=n;g[a+4+(e*192|0)+36>>2]=l;g[a+4+(e*192|0)+40>>2]=h;g[a+4+(e*192|0)+44>>2]=0.0;g[a+4+(e*192|0)+80>>2]=(o-n)*+g[a+4+(e*192|0)+64>>2]+(m-l)*+g[a+4+(e*192|0)+68>>2]+(f-h)*+g[a+4+(e*192|0)+72>>2];i=a+4+(e*192|0)+156|0;c[i>>2]=(c[i>>2]|0)+1}while((j|0)>1);e=c[a+780>>2]|0;if((e|0)<=0)return;j=e;do{i=j;j=j+-1|0;d=a+4+(j*192|0)|0;f=+g[a+4+(j*192|0)+80>>2];h=+g[a+784>>2];if(!(f<=h)){b=e+-1|0;if((b|0)==(j|0))k=12;else{gi(d|0,a+4+(b*192|0)|0,192)|0;c[a+4+(b*192|0)+156>>2]=0;c[a+4+(b*192|0)+116>>2]=0;c[a+4+(b*192|0)+116+4>>2]=0;c[a+4+(b*192|0)+116+8>>2]=0;c[a+4+(b*192|0)+116+12>>2]=0;c[a+4+(b*192|0)+116+16>>2]=0;e=c[a+780>>2]|0;k=12}}else{o=+g[a+4+(j*192|0)+32>>2]-(+g[a+4+(j*192|0)+48>>2]-+g[a+4+(j*192|0)+64>>2]*f);p=+g[a+4+(j*192|0)+36>>2]-(+g[a+4+(j*192|0)+52>>2]-f*+g[a+4+(j*192|0)+68>>2]);q=+g[a+4+(j*192|0)+40>>2]-(+g[a+4+(j*192|0)+56>>2]-f*+g[a+4+(j*192|0)+72>>2]);if(o*o+p*p+q*q>h*h){b=e+-1|0;if((b|0)==(j|0))k=12;else{gi(d|0,a+4+(b*192|0)|0,192)|0;c[a+4+(b*192|0)+156>>2]=0;c[a+4+(b*192|0)+116>>2]=0;c[a+4+(b*192|0)+116+4>>2]=0;c[a+4+(b*192|0)+116+8>>2]=0;c[a+4+(b*192|0)+116+12>>2]=0;c[a+4+(b*192|0)+116+16>>2]=0;e=c[a+780>>2]|0;k=12}}}if((k|0)==12){k=0;e=e+-1|0;c[a+780>>2]=e}}while((i|0)>1);return}
function Gc(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0;s=l;l=l+96|0;p=c[b+128>>2]|0;if(!p){l=s;return}e=c[b+8>>2]|0;if((e|0)<(p|0)){if((c[b+12>>2]|0)<(p|0)){c[6995]=(c[6995]|0)+1;h=sc((p<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+8>>2]|0;if((i|0)>0){h=0;do{n=j+(h<<4)|0;t=(c[b+16>>2]|0)+(h<<4)|0;c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+16>>2]|0;if(h|0){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=j;c[b+12>>2]=p;h=b+16|0}else h=b+16|0;do{t=(c[h>>2]|0)+(e<<4)|0;c[t>>2]=c[s+48>>2];c[t+4>>2]=c[s+48+4>>2];c[t+8>>2]=c[s+48+8>>2];c[t+12>>2]=c[s+48+12>>2];e=e+1|0}while((e|0)!=(p|0))}c[b+8>>2]=p;e=c[b+28>>2]|0;if((e|0)<(p|0)){if((c[b+32>>2]|0)<(p|0)){c[6995]=(c[6995]|0)+1;h=sc((p<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+28>>2]|0;if((i|0)>0){h=0;do{t=j+(h<<4)|0;n=(c[b+36>>2]|0)+(h<<4)|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+36>>2]|0;if(h|0){if(a[b+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=j;c[b+32>>2]=p;h=b+36|0}else h=b+36|0;do{t=(c[h>>2]|0)+(e<<4)|0;c[t>>2]=c[s+48>>2];c[t+4>>2]=c[s+48+4>>2];c[t+8>>2]=c[s+48+8>>2];c[t+12>>2]=c[s+48+12>>2];e=e+1|0}while((e|0)!=(p|0))}c[b+28>>2]=p;n=c[b+48>>2]|0;if((n|0)<(p|0)){if((c[b+52>>2]|0)<(p|0)){c[6995]=(c[6995]|0)+1;e=sc((p<<2|3)+16|0)|0;if(!e)j=0;else{c[(e+4+15&-16)+-4>>2]=e;j=e+4+15&-16}h=c[b+48>>2]|0;i=c[b+56>>2]|0;if((h|0)<=0)if(!i)e=b+60|0;else o=39;else{e=0;do{c[j+(e<<2)>>2]=c[i+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0));o=39}if((o|0)==39)if(!(a[b+60>>0]|0))e=b+60|0;else{c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);e=b+60|0}a[e>>0]=1;c[b+56>>2]=j;c[b+52>>2]=p;h=p<<2;e=j}else{h=p<<2;e=c[b+56>>2]|0}Yk(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+48>>2]=p;n=c[b+68>>2]|0;if((n|0)<(p|0)){if((c[b+72>>2]|0)<(p|0)){c[6995]=(c[6995]|0)+1;e=sc((p<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+68>>2]|0;j=c[b+76>>2]|0;if((i|0)<=0)if(!j)h=b+80|0;else o=52;else{h=0;do{c[e+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0));o=52}if((o|0)==52)if(!(a[b+80>>0]|0))h=b+80|0;else{c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);h=b+80|0}a[h>>0]=1;c[b+76>>2]=e;c[b+72>>2]=p;h=p<<2}else{h=p<<2;e=c[b+76>>2]|0}Yk(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+68>>2]=p;e=c[b+128>>2]|0;if((e|0)<=0){l=s;return}i=c[b+76>>2]|0;j=c[b+56>>2]|0;h=0;do{g[i+(h<<2)>>2]=0.0;g[j+(h<<2)>>2]=0.0;h=h+1|0}while((h|0)!=(e|0));j=0;do{h=c[b+136>>2]|0;i=c[h+(j*284|0)+88>>2]|0;if(i){n=h+(j*284|0)+92|0;c[s+48>>2]=c[n>>2];c[s+48+4>>2]=c[n+4>>2];c[s+48+8>>2]=c[n+8>>2];c[s+48+12>>2]=c[n+12>>2];n=h+(j*284|0)+108|0;c[s+48+16>>2]=c[n>>2];c[s+48+16+4>>2]=c[n+4>>2];c[s+48+16+8>>2]=c[n+8>>2];c[s+48+16+12>>2]=c[n+12>>2];n=h+(j*284|0)+124|0;c[s+48+32>>2]=c[n>>2];c[s+48+32+4>>2]=c[n+4>>2];c[s+48+32+8>>2]=c[n+8>>2];c[s+48+32+12>>2]=c[n+12>>2];n=c[b+112>>2]|0;e=c[s+48+16+(n<<2)>>2]|0;y=c[s+48+32+(n<<2)>>2]|0;o=c[b+36>>2]|0;c[o+(j<<4)>>2]=c[s+48+(n<<2)>>2];c[o+(j<<4)+4>>2]=e;c[o+(j<<4)+8>>2]=y;g[o+(j<<4)+12>>2]=0.0;o=c[b+36>>2]|0;y=o+(j<<4)|0;z=+g[y>>2];e=h+(j*284|0)|0;f=+g[e>>2];n=o+(j<<4)+4|0;x=+g[n>>2];t=h+(j*284|0)+4|0;k=+g[t>>2];o=o+(j<<4)+8|0;u=+g[o>>2];p=h+(j*284|0)+8|0;w=+g[p>>2];m=z-f*(z*f+x*k+u*w);v=x-k*(z*f+x*k+u*w);w=u-w*(z*f+x*k+u*w);u=1.0/+D(+(m*m+v*v+w*w));g[y>>2]=m*u;g[n>>2]=v*u;g[o>>2]=w*u;k=+g[t>>2];x=+g[p>>2];f=+g[e>>2];e=c[b+16>>2]|0;g[e+(j<<4)>>2]=k*w*u-x*v*u;g[e+(j<<4)+4>>2]=x*m*u-w*u*f;g[e+(j<<4)+8>>2]=v*u*f-k*m*u;g[e+(j<<4)+12>>2]=0.0;e=c[b+16>>2]|0;p=e+(j<<4)|0;u=+g[p>>2];t=e+(j<<4)+4|0;m=+g[t>>2];e=e+(j<<4)+8|0;k=+g[e>>2];f=1.0/+D(+(u*u+m*m+k*k));g[p>>2]=u*f;g[t>>2]=m*f;g[e>>2]=k*f;e=c[b+108>>2]|0;t=c[b+36>>2]|0;f=+g[t+(j<<4)>>2];k=+g[t+(j<<4)+4>>2];m=+g[t+(j<<4)+8>>2];if(f*f+k*k+m*m>1.100000023841858)f=0.0;else{C=+g[h+(j*284|0)+16>>2];H=C-+g[e+52>>2];F=+g[h+(j*284|0)+20>>2];J=F-+g[e+56>>2];K=+g[h+(j*284|0)+24>>2];M=K-+g[e+60>>2];C=C-+g[i+52>>2];F=F-+g[i+56>>2];K=K-+g[i+60>>2];G=+g[e+392>>2];N=+g[e+396>>2];I=+g[e+388>>2];B=+g[i+392>>2];L=+g[i+396>>2];E=+g[i+388>>2];A=(m*J-k*M)*+g[e+4>>2]+(f*M-m*H)*+g[e+20>>2]+(k*H-f*J)*+g[e+36>>2];u=(m*J-k*M)*+g[e+8>>2]+(f*M-m*H)*+g[e+24>>2]+(k*H-f*J)*+g[e+40>>2];v=(m*J-k*M)*+g[e+12>>2]+(f*M-m*H)*+g[e+28>>2]+(k*H-f*J)*+g[e+44>>2];w=(F*-m-K*-k)*+g[i+4>>2]+(K*-f-C*-m)*+g[i+20>>2]+(C*-k-F*-f)*+g[i+36>>2];x=(F*-m-K*-k)*+g[i+8>>2]+(K*-f-C*-m)*+g[i+24>>2]+(C*-k-F*-f)*+g[i+40>>2];z=(F*-m-K*-k)*+g[i+12>>2]+(K*-f-C*-m)*+g[i+28>>2]+(C*-k-F*-f)*+g[i+44>>2];f=(f*(M*G-J*N+ +g[e+372>>2]-(K*B-F*L+ +g[i+372>>2]))+k*(+g[e+376>>2]+(H*N-M*I)-(+g[i+376>>2]+(C*L-K*E)))+m*(J*I-H*G+ +g[e+380>>2]-(F*E-C*B+ +g[i+380>>2])))*-.20000000298023224*(1.0/(+g[i+404>>2]+(+g[e+404>>2]+(A*A*+g[e+456>>2]+u*u*+g[e+460>>2]+v*v*+g[e+464>>2]))+(w*w*+g[i+456>>2]+x*x*+g[i+460>>2]+z*z*+g[i+464>>2])))}g[(c[b+76>>2]|0)+(j<<2)>>2]=f;e=c[b+128>>2]|0}j=j+1|0}while((j|0)<(e|0));if((e|0)<=0){l=s;return}i=0;o=0;h=c[b+136>>2]|0;while(1){e=c[h+(o*284|0)+88>>2]|0;if(e){f=+g[h+(o*284|0)+252>>2];if(f!=0.0){f=f*d;p=h}else{N=+g[h+(o*284|0)+256>>2];N=N==0.0?0.0:N;p=c[b+108>>2]|0;y=c[b+16>>2]|0;H=+g[h+(o*284|0)+16>>2];F=+g[h+(o*284|0)+20>>2];A=+g[h+(o*284|0)+24>>2];x=+g[y+(o<<4)>>2];E=+g[y+(o<<4)+4>>2];f=+g[y+(o<<4)+8>>2];P=H-+g[p+52>>2];Q=F-+g[p+56>>2];k=A-+g[p+60>>2];m=+g[p+324>>2]*(Q*f-k*E)+ +g[p+340>>2]*(k*x-P*f)+(P*E-Q*x)*+g[p+356>>2];R=(Q*f-k*E)*+g[p+328>>2]+(k*x-P*f)*+g[p+344>>2]+(P*E-Q*x)*+g[p+360>>2];O=(Q*f-k*E)*+g[p+332>>2]+(k*x-P*f)*+g[p+348>>2]+(P*E-Q*x)*+g[p+364>>2];L=H-+g[e+52>>2];J=F-+g[e+56>>2];C=A-+g[e+60>>2];w=(E*L-x*J)*+g[e+356>>2]+(+g[e+324>>2]*(f*J-E*C)+ +g[e+340>>2]*(x*C-f*L));u=(f*J-E*C)*+g[e+328>>2]+(x*C-f*L)*+g[e+344>>2]+(E*L-x*J)*+g[e+360>>2];v=(f*J-E*C)*+g[e+332>>2]+(x*C-f*L)*+g[e+348>>2]+(E*L-x*J)*+g[e+364>>2];H=H-+g[p+52>>2];F=F-+g[p+56>>2];A=A-+g[p+60>>2];I=+g[p+392>>2];z=+g[p+396>>2];G=+g[p+388>>2];M=+g[e+392>>2];B=+g[e+396>>2];K=+g[e+388>>2];f=-(1.0/(+g[p+404>>2]+(f*(Q*m-P*R)+(x*(k*R-Q*O)+E*(P*O-k*m)))+(+g[e+404>>2]+(f*(J*w-L*u)+(x*(C*u-J*v)+E*(L*v-C*w)))))*((A*I-F*z+ +g[p+372>>2]-(C*M-J*B+ +g[e+372>>2]))*x+(+g[p+376>>2]+(H*z-A*G)-(+g[e+376>>2]+(L*B-C*K)))*E+(F*G-H*I+ +g[p+380>>2]-(J*K-L*M+ +g[e+380>>2]))*f));f=N<f?N:f;f=f<-N?-N:f;p=c[b+136>>2]|0}n=c[b+56>>2]|0;y=n+(o<<2)|0;g[y>>2]=0.0;e=p+(o*284|0)+280|0;g[e>>2]=1.0;m=+g[h+(o*284|0)+276>>2]*d*+g[h+(o*284|0)+228>>2];g[y>>2]=f;f=f*.5;k=+g[(c[b+76>>2]|0)+(o<<2)>>2];if(f*f+k*k>m*m){R=m/+D(+(f*f+k*k));g[e>>2]=R*+g[e>>2];e=1}else e=i}else{n=c[b+56>>2]|0;g[n+(o<<2)>>2]=0.0;g[h+(o*284|0)+280>>2]=1.0;e=i;p=h}o=o+1|0;j=c[b+128>>2]|0;if((o|0)>=(j|0))break;else{i=e;h=p}}if(e){if((j|0)<=0){l=s;return}h=c[b+76>>2]|0;e=0;do{i=h+(e<<2)|0;if(+g[i>>2]!=0.0?(q=p+(e*284|0)+280|0,r=+g[q>>2],r<1.0):0){y=n+(e<<2)|0;g[y>>2]=r*+g[y>>2];g[i>>2]=+g[q>>2]*+g[i>>2]}e=e+1|0}while((e|0)!=(j|0))}if((j|0)<=0){l=s;return}e=0;h=n;while(1){i=c[b+108>>2]|0;j=p+(e*284|0)+16|0;k=+g[j>>2]-+g[i+52>>2];n=p+(e*284|0)+20|0;m=+g[n>>2]-+g[i+56>>2];o=p+(e*284|0)+24|0;d=+g[o>>2]-+g[i+60>>2];g[s+48>>2]=k;g[s+48+4>>2]=m;g[s+48+8>>2]=d;g[s+48+12>>2]=0.0;f=+g[h+(e<<2)>>2];if(f!=0.0){y=c[b+16>>2]|0;Q=f*+g[y+(e<<4)+4>>2];R=f*+g[y+(e<<4)+8>>2];g[s+32>>2]=+g[y+(e<<4)>>2]*f;g[s+32+4>>2]=Q;g[s+32+8>>2]=R;g[s+32+12>>2]=0.0;ll(i,s+32|0,s+48|0)}f=+g[(c[b+76>>2]|0)+(e<<2)>>2];if(f!=0.0){y=c[(c[b+136>>2]|0)+(e*284|0)+88>>2]|0;Q=+g[n>>2]-+g[y+56>>2];P=+g[o>>2]-+g[y+60>>2];g[s+32>>2]=+g[j>>2]-+g[y+52>>2];g[s+32+4>>2]=Q;g[s+32+8>>2]=P;g[s+32+12>>2]=0.0;t=c[b+36>>2]|0;P=+g[t+(e<<4)>>2]*f;Q=f*+g[t+(e<<4)+4>>2];R=f*+g[t+(e<<4)+8>>2];g[s+16>>2]=P;g[s+16+4>>2]=Q;g[s+16+8>>2]=R;g[s+16+12>>2]=0.0;t=c[b+108>>2]|0;q=c[b+116>>2]|0;L=+g[t+4+(q<<2)>>2];M=+g[t+20+(q<<2)>>2];N=+g[t+36+(q<<2)>>2];O=(L*k+M*m+N*d)*(1.0-+g[p+(e*284|0)+244>>2]);g[s+48>>2]=k-L*O;g[s+48+4>>2]=m-M*O;g[s+48+8>>2]=d-N*O;ll(t,s+16|0,s+48|0);g[s>>2]=-P;g[s+4>>2]=-Q;g[s+8>>2]=-R;g[s+12>>2]=0.0;ll(y,s,s+32|0)}e=e+1|0;if((e|0)>=(c[b+128>>2]|0))break;p=c[b+136>>2]|0;h=c[b+56>>2]|0}l=s;return}function Hc(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0;v=l;l=l+19040|0;p=j;q=p+36|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));c[v+18896>>2]=b;c[v+18896+4>>2]=f;x=+g[h>>2];K=+g[e>>2];y=+g[h+16>>2];A=+g[e+16>>2];z=+g[h+32>>2];L=+g[e+32>>2];B=+g[e+4>>2];M=+g[e+20>>2];C=+g[e+36>>2];s=+g[e+8>>2];n=+g[e+24>>2];w=+g[e+40>>2];J=+g[h+4>>2];I=+g[h+20>>2];H=+g[h+36>>2];G=+g[h+8>>2];F=+g[h+24>>2];E=+g[h+40>>2];g[v+18896+8>>2]=x*K+y*A+z*L;g[v+18896+12>>2]=x*B+y*M+z*C;g[v+18896+16>>2]=x*s+y*n+z*w;g[v+18896+20>>2]=0.0;g[v+18896+24>>2]=K*J+A*I+L*H;g[v+18896+28>>2]=B*J+M*I+C*H;g[v+18896+32>>2]=s*J+n*I+w*H;g[v+18896+36>>2]=0.0;g[v+18896+40>>2]=K*G+A*F+L*E;g[v+18896+44>>2]=B*G+M*F+C*E;g[v+18896+48>>2]=s*G+n*F+w*E;g[v+18896+52>>2]=0.0;w=+g[h+48>>2]-+g[e+48>>2];n=+g[h+52>>2]-+g[e+52>>2];s=+g[h+56>>2]-+g[e+56>>2];C=+g[e>>2];M=+g[h>>2];B=+g[e+16>>2];L=+g[h+16>>2];A=+g[e+32>>2];K=+g[h+32>>2];z=+g[e+4>>2];y=+g[e+20>>2];x=+g[e+36>>2];m=+g[e+8>>2];o=+g[e+24>>2];r=+g[e+40>>2];g[v+18896+56>>2]=C*M+B*L+A*K;g[v+18896+60>>2]=C*J+B*I+A*H;g[v+18896+64>>2]=C*G+B*F+A*E;g[v+18896+68>>2]=0.0;g[v+18896+72>>2]=M*z+L*y+K*x;g[v+18896+76>>2]=J*z+I*y+H*x;g[v+18896+80>>2]=G*z+F*y+E*x;g[v+18896+84>>2]=0.0;g[v+18896+88>>2]=M*m+L*o+K*r;g[v+18896+92>>2]=J*m+I*o+H*r;g[v+18896+96>>2]=G*m+F*o+E*r;g[v+18896+100>>2]=0.0;g[v+18896+104>>2]=w*C+n*B+s*A;g[v+18896+108>>2]=w*z+n*y+s*x;g[v+18896+112>>2]=w*m+n*o+s*r;g[v+18896+116>>2]=0.0;c[v+18896+120>>2]=k?81:80;c[v+18896+124>>2]=k?0:0;c[v+18512+364>>2]=0;c[v+18512+128>>2]=0;c[v+18512+128+4>>2]=0;c[v+18512+128+8>>2]=0;c[v+18512+128+12>>2]=0;c[v+18512+376>>2]=2;c[v+18512+368>>2]=0;g[v+18512+144>>2]=0.0;r=-+g[i+4>>2];s=-+g[i+8>>2];g[v+19024>>2]=-+g[i>>2];g[v+19024+4>>2]=r;g[v+19024+8>>2]=s;g[v+19024+12>>2]=0.0;switch(Jc(v+18512|0,v+18896|0,v+19024|0)|0){case 1:{c[v+18496>>2]=0;c[v+18496+4>>2]=0;c[v+18496+8>>2]=0;c[v+18496+12>>2]=0;c[v>>2]=9;c[v+18492>>2]=0;c[v+40>>2]=0;c[v+40+4>>2]=0;c[v+40+8>>2]=0;c[v+40+12>>2]=0;c[v+40+16>>2]=0;b=0;do{f=256-b+-1|0;c[v+4156+(f*56|0)+44>>2]=0;h=c[v+18504>>2]|0;c[v+4156+(f*56|0)+48>>2]=h;if(h|0)c[h+44>>2]=v+4156+(f*56|0);c[v+18504>>2]=v+4156+(f*56|0);c[v+18508>>2]=(c[v+18508>>2]|0)+1;b=b+1|0}while((b|0)!=256);o=+g[i>>2];r=+g[i+4>>2];n=+g[i+8>>2];t=c[v+18512+372>>2]|0;do if((c[t+32>>2]|0)>>>0>1?sd(v+18512|0)|0:0){b=c[v+18496>>2]|0;if(b|0){p=c[v+18500>>2]|0;q=c[v+18508>>2]|0;do{f=b+44|0;k=b+48|0;h=c[k>>2]|0;if(h|0)c[h+44>>2]=c[f>>2];f=c[f>>2]|0;if(f|0)c[f+48>>2]=c[k>>2];if((c[v+18496>>2]|0)==(b|0))c[v+18496>>2]=c[k>>2];p=p+-1|0;c[b+44>>2]=0;c[k>>2]=c[v+18504>>2];f=c[v+18504>>2]|0;if(f|0)c[f+44>>2]=b;c[v+18504>>2]=b;q=q+1|0;b=c[v+18496>>2]|0}while((b|0)!=0);c[v+18500>>2]=p;c[v+18508>>2]=q}c[v>>2]=0;c[v+18492>>2]=0;b=c[t>>2]|0;f=c[t+12>>2]|0;M=+g[f+16>>2];E=+g[b+16>>2]-M;G=+g[f+20>>2];H=+g[b+20>>2]-G;J=+g[f+24>>2];K=+g[b+24>>2]-J;f=c[t+4>>2]|0;I=+g[f+16>>2]-M;L=+g[f+20>>2]-G;F=+g[f+24>>2]-J;h=c[t+8>>2]|0;M=+g[h+16>>2]-M;G=+g[h+20>>2]-G;J=+g[h+24>>2]-J;if(E*L*J+(H*F*M+K*I*G-E*F*G-H*I*J)-K*L*M<0.0){c[t>>2]=f;c[t+4>>2]=b;k=c[t+16>>2]|0;c[t+16>>2]=c[t+20>>2];c[t+20>>2]=k;k=f}else{k=b;b=f}k=lf(v,k,b,h,1)|0;p=lf(v,c[t+4>>2]|0,c[t>>2]|0,c[t+12>>2]|0,1)|0;q=lf(v,c[t+8>>2]|0,c[t+4>>2]|0,c[t+12>>2]|0,1)|0;i=lf(v,c[t>>2]|0,c[t+8>>2]|0,c[t+12>>2]|0,1)|0;if((c[v+18500>>2]|0)==4){f=c[v+18496>>2]|0;m=+g[f+16>>2];b=c[f+48>>2]|0;if(!b)b=f;else{n=m*m;while(1){m=+g[b+16>>2];h=m*m<n;f=h?b:f;b=c[b+48>>2]|0;if(!b)break;else n=h?m*m:n}b=f;m=+g[f+16>>2]}o=+g[b>>2];s=+g[b+4>>2];r=+g[b+8>>2];n=+g[b+12>>2];N=c[b+20>>2]|0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;a[k+52>>0]=0;c[k+32>>2]=p;a[p+52>>0]=0;c[p+32>>2]=k;a[k+53>>0]=0;c[k+36>>2]=q;a[q+52>>0]=1;c[q+32>>2]=k;a[k+54>>0]=0;c[k+40>>2]=i;a[i+52>>0]=2;c[i+32>>2]=k;a[p+53>>0]=2;c[p+36>>2]=i;a[i+54>>0]=1;c[i+40>>2]=p;a[p+54>>0]=1;c[p+40>>2]=q;a[q+53>>0]=2;c[q+36>>2]=p;a[q+54>>0]=1;c[q+40>>2]=i;a[i+53>>0]=2;c[i+36>>2]=q;c[v>>2]=0;i=b;t=0;p=N;q=f;k=h;while(1){f=c[v+18492>>2]|0;if(f>>>0>=128){u=44;break}c[v+19024>>2]=0;c[v+19024+4>>2]=0;c[v+19024+8>>2]=0;c[v+18492>>2]=f+1;t=t+1|0;a[i+55>>0]=t;h=i+4|0;N=i+8|0;Fh(v+18512|0,+g[i>>2],+g[h>>2],+g[N>>2],v+60+(f<<5)|0);if(+g[i>>2]*+g[v+60+(f<<5)+16>>2]+ +g[h>>2]*+g[v+60+(f<<5)+20>>2]+ +g[N>>2]*+g[v+60+(f<<5)+24>>2]-+g[i+16>>2]>9.999999747378752e-05)b=0;else{b=7;u=43;break}do{h=nh(v,t,v+60+(f<<5)|0,c[i+32+(b<<2)>>2]|0,d[i+52+b>>0]|0,v+19024|0)|0;b=b+1|0}while(h&b>>>0<3);if(!(h&(c[v+19024+8>>2]|0)>>>0>2)){b=4;u=43;break}h=c[v+19024>>2]|0;b=c[v+19024+4>>2]|0;a[h+53>>0]=2;c[h+36>>2]=b;a[b+54>>0]=1;c[b+40>>2]=h;b=i+44|0;h=i+48|0;f=c[h>>2]|0;if(f|0)c[f+44>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+48>>2]=c[h>>2];if((c[v+18496>>2]|0)==(i|0))c[v+18496>>2]=c[h>>2];c[v+18500>>2]=(c[v+18500>>2]|0)+-1;c[i+44>>2]=0;c[h>>2]=c[v+18504>>2];b=c[v+18504>>2]|0;if(b|0)c[b+44>>2]=i;c[v+18504>>2]=i;c[v+18508>>2]=(c[v+18508>>2]|0)+1;f=c[v+18496>>2]|0;m=+g[f+16>>2];b=c[f+48>>2]|0;if(b){n=m*m;h=f;while(1){m=+g[b+16>>2];f=m*m<n;h=f?b:h;b=c[b+48>>2]|0;if(!b)break;else n=f?m*m:n}f=h;m=+g[h+16>>2]}o=+g[f>>2];s=+g[f+4>>2];r=+g[f+8>>2];n=+g[f+12>>2];b=c[f+20>>2]|0;h=c[f+24>>2]|0;k=c[f+28>>2]|0;if(t>>>0>=255){f=k;break}else{i=f;p=b;q=h}}if((u|0)==43){c[v>>2]=b;b=p;h=q;f=k}else if((u|0)==44){c[v>>2]=6;b=p;h=q;f=k}I=o*m;G=s*m;K=r*m;g[v+40>>2]=o;g[v+44>>2]=s;g[v+48>>2]=r;g[v+52>>2]=n;g[v+56>>2]=m;c[v+36>>2]=3;c[v+4>>2]=b;c[v+8>>2]=h;c[v+12>>2]=f;N=h;L=+g[N+16>>2]-I;E=+g[N+20>>2]-G;C=+g[N+24>>2]-K;t=f;J=+g[t+16>>2]-I;F=+g[t+20>>2]-G;H=+g[t+24>>2]-K;L=+D(+((L*F-E*J)*(L*F-E*J)+((E*H-C*F)*(E*H-C*F)+(C*J-L*H)*(C*J-L*H))));g[v+20>>2]=L;J=+g[t+16>>2]-I;C=+g[t+20>>2]-G;t=b;F=+g[t+16>>2]-I;E=+g[t+20>>2]-G;M=+g[t+24>>2]-K;M=+D(+((J*E-C*F)*(J*E-C*F)+((C*M-H*E)*(C*M-H*E)+(H*F-J*M)*(H*F-J*M))));g[v+24>>2]=M;J=+g[t+16>>2]-I;F=+g[t+20>>2]-G;H=+g[t+24>>2]-K;I=+g[N+16>>2]-I;G=+g[N+20>>2]-G;K=+g[N+24>>2]-K;K=+D(+((J*G-F*I)*(J*G-F*I)+((F*K-H*G)*(F*K-H*G)+(H*I-J*K)*(H*I-J*K))));g[v+20>>2]=L/(K+(L+M));g[v+24>>2]=M/(K+(L+M));g[v+28>>2]=K/(K+(L+M));if((c[v>>2]|0)!=9)if(!(c[v+36>>2]|0)){o=0.0;n=0.0;m=0.0;break}else{k=v+36|0;u=53;break}c[j>>2]=3;N=0;l=v;return N|0}else u=47}else u=47;while(0);if((u|0)==47){c[v>>2]=8;g[v+40>>2]=o;g[v+44>>2]=r;g[v+48>>2]=n;g[v+52>>2]=0.0;m=+D(+(o*o+r*r+n*n));if(m>0.0){g[v+40>>2]=1.0/m*o;g[v+44>>2]=1.0/m*r;g[v+48>>2]=1.0/m*n}else{c[v+40>>2]=1065353216;c[v+44>>2]=0;c[v+48>>2]=0}g[v+52>>2]=0.0;g[v+56>>2]=0.0;c[v+36>>2]=1;c[v+4>>2]=c[t>>2];g[v+20>>2]=1.0;k=v+36|0;u=53}if((u|0)==53){h=0;m=0.0;n=0.0;o=0.0;do{b=c[v+18896+120>>2]|0;N=c[v+18896+124>>2]|0;f=(c[v+18896>>2]|0)+(N>>1)|0;if(N&1)b=c[(c[f>>2]|0)+b>>2]|0;Sb[b&127](v+19024|0,f,c[v+4+(h<<2)>>2]|0);M=+g[v+20+(h<<2)>>2];m=m+ +g[v+19024>>2]*M;n=n+M*+g[v+19024+4>>2];o=o+M*+g[v+19024+8>>2];h=h+1|0}while(h>>>0<(c[k>>2]|0)>>>0)}c[j>>2]=1;M=m*+g[e+16>>2]+n*+g[e+20>>2]+o*+g[e+24>>2]+ +g[e+52>>2];J=m*+g[e+32>>2]+n*+g[e+36>>2]+o*+g[e+40>>2]+ +g[e+56>>2];g[j+4>>2]=m*+g[e>>2]+n*+g[e+4>>2]+o*+g[e+8>>2]+ +g[e+48>>2];g[j+8>>2]=M;g[j+12>>2]=J;g[j+16>>2]=0.0;J=+g[v+40>>2];M=+g[v+56>>2];K=+g[v+44>>2];L=+g[v+48>>2];E=m-J*M;F=n-M*K;G=o-M*L;H=E*+g[e+16>>2]+F*+g[e+20>>2]+G*+g[e+24>>2]+ +g[e+52>>2];I=E*+g[e+32>>2]+F*+g[e+36>>2]+G*+g[e+40>>2]+ +g[e+56>>2];g[j+20>>2]=E*+g[e>>2]+F*+g[e+4>>2]+G*+g[e+8>>2]+ +g[e+48>>2];g[j+24>>2]=H;g[j+28>>2]=I;g[j+32>>2]=0.0;g[j+36>>2]=-J;g[j+40>>2]=-K;g[j+44>>2]=-L;g[j+48>>2]=0.0;g[j+52>>2]=-M;N=1;l=v;return N|0}case 2:{c[j>>2]=2;N=0;l=v;return N|0}default:{N=0;l=v;return N|0}}return 0}function Ic(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;w=l;l=l+208|0;u=(a[b+68>>0]|0)!=0;t=u?e:d;u=u?d:e;v=c[t+4>>2]|0;if((c[v+72>>2]|0)!=(c[b+80>>2]|0)){j=c[b+52>>2]|0;if((j|0)>0){i=0;do{k=c[(c[b+60>>2]|0)+(i<<2)>>2]|0;if(k|0){Ib[c[c[k>>2]>>2]&511](k);m=c[b+4>>2]|0;Ob[c[(c[m>>2]|0)+60>>2]&127](m,c[(c[b+60>>2]|0)+(i<<2)>>2]|0)}i=i+1|0}while((i|0)!=(j|0))}eh(b,d,e);c[b+80>>2]=c[v+72>>2]}d=c[b+52>>2]|0;if(!d){l=w;return}m=c[v+68>>2]|0;j=c[b+4>>2]|0;k=c[b+60>>2]|0;i=c[b+72>>2]|0;c[w+176>>2]=6540;c[w+176+4>>2]=t;c[w+176+8>>2]=u;c[w+176+12>>2]=j;c[w+176+16>>2]=f;c[w+176+20>>2]=h;c[w+176+24>>2]=k;c[w+176+28>>2]=i;i=c[b+32>>2]|0;if((i|0)<0){if((c[b+36>>2]|0)<0){d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0);d=c[b+52>>2]|0}c[b+32>>2]=0;if((d|0)>0){f=0;do{i=c[(c[b+60>>2]|0)+(f<<2)>>2]|0;if(i){Ob[c[(c[i>>2]|0)+16>>2]&127](i,b+28|0);i=c[b+32>>2]|0;if((i|0)>0){k=0;do{j=c[(c[b+40>>2]|0)+(k<<2)>>2]|0;if(c[j+780>>2]|0){c[h+4>>2]=j;i=c[j+772>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;e=c[(c[h+12>>2]|0)+8>>2]|0;if((i|0)==(d|0))af(j,i+4|0,e+4|0);else af(j,e+4|0,d+4|0);c[h+4>>2]=0;i=c[b+32>>2]|0}k=k+1|0}while((k|0)<(i|0))}if((i|0)<0){if((c[b+36>>2]|0)<0){d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[b+32>>2]=0;d=c[b+52>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(!m){if((d|0)>0){i=0;do{we(w+176|0,c[(c[v+28>>2]|0)+(i*80|0)+64>>2]|0,i);i=i+1|0}while((i|0)<(d|0))}}else{k=c[t+12>>2]|0;F=+g[k>>2];E=+g[k+16>>2];D=+g[k+32>>2];C=+g[k+4>>2];B=+g[k+20>>2];A=+g[k+36>>2];r=+g[k+8>>2];p=+g[k+24>>2];n=+g[k+40>>2];z=-+g[k+48>>2];y=-+g[k+52>>2];x=-+g[k+56>>2];k=c[u+12>>2]|0;O=+g[k>>2];N=+g[k+16>>2];M=+g[k+32>>2];L=+g[k+4>>2];K=+g[k+20>>2];J=+g[k+36>>2];I=+g[k+8>>2];H=+g[k+24>>2];G=+g[k+40>>2];q=+g[k+48>>2];o=+g[k+52>>2];s=+g[k+56>>2];g[w+32>>2]=F*O+E*N+D*M;g[w+32+4>>2]=F*L+E*K+D*J;g[w+32+8>>2]=F*I+E*H+D*G;g[w+32+12>>2]=0.0;g[w+32+16>>2]=C*O+B*N+A*M;g[w+32+20>>2]=C*L+B*K+A*J;g[w+32+24>>2]=C*I+B*H+A*G;g[w+32+28>>2]=0.0;g[w+32+32>>2]=r*O+p*N+n*M;g[w+32+36>>2]=r*L+p*K+n*J;g[w+32+40>>2]=r*I+p*H+n*G;g[w+32+44>>2]=0.0;g[w+32+48>>2]=F*z+E*y+D*x+(F*q+E*o+D*s);g[w+32+52>>2]=C*z+B*y+A*x+(C*q+B*o+A*s);g[w+32+56>>2]=r*z+p*y+n*x+(r*q+p*o+n*s);g[w+32+60>>2]=0.0;k=c[u+4>>2]|0;Vb[c[(c[k>>2]|0)+8>>2]&127](k,w+32|0,w+112|0,w+96|0);s=+g[h+32>>2];n=+g[w+112>>2]-s;g[w+112>>2]=n;o=+g[w+112+4>>2]-s;g[w+112+4>>2]=o;p=+g[w+112+8>>2]-s;g[w+112+8>>2]=p;q=s+ +g[w+96>>2];g[w+96>>2]=q;r=s+ +g[w+96+4>>2];g[w+96+4>>2]=r;s=s+ +g[w+96+8>>2];g[w+96+8>>2]=s;k=c[m>>2]|0;if(k|0){i=c[b+12>>2]|0;d=c[b+16>>2]|0;if((i|0)<0){if((d|0)<0){d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+16>>2]=0;d=0}do{c[(c[b+20>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[b+12>>2]=0;if((d|0)<64){c[6995]=(c[6995]|0)+1;i=sc(275)|0;if(!i)e=0;else{c[(i+4+15&-16)+-4>>2]=i;e=i+4+15&-16}i=c[b+12>>2]|0;if((i|0)>0){d=0;do{c[e+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(i|0))}d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);i=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=e;c[b+16>>2]=64;d=64}else i=0;if((i|0)==(d|0)){j=d<<1;if((d|0)<(j|0)){c[6995]=(c[6995]|0)+1;i=sc((d<<3|3)+16|0)|0;if(!i)e=0;else{c[(i+4+15&-16)+-4>>2]=i;e=i+4+15&-16}i=c[b+12>>2]|0;if((i|0)>0){d=0;do{c[e+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(i|0))}d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);i=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=e;c[b+16>>2]=j}else i=d}c[(c[b+20>>2]|0)+(i<<2)>>2]=k;d=i+1|0;c[b+12>>2]=d;while(1){i=d+-1|0;e=c[b+20>>2]|0;f=c[e+(i<<2)>>2]|0;c[b+12>>2]=i;do if(((((+g[f>>2]<=q?+g[f+16>>2]>=n:0)?+g[f+4>>2]<=r:0)?+g[f+20>>2]>=o:0)?+g[f+8>>2]<=s:0)?+g[f+24>>2]>=p:0){if(!(c[f+40>>2]|0)){Ob[c[(c[w+176>>2]|0)+12>>2]&127](w+176|0,f);i=c[b+12>>2]|0;break}k=c[f+36>>2]|0;j=c[b+16>>2]|0;do if((i|0)==(j|0)){j=i|0?i<<1:1;if((d|0)>(j|0)){d=i;break}if(!j)e=0;else{c[6995]=(c[6995]|0)+1;i=sc((j<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}e=i;i=c[b+12>>2]|0}if((i|0)>0){d=0;do{c[e+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(i|0))}d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);i=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=e;c[b+16>>2]=j;d=i;i=j}else{d=i;i=j}while(0);c[e+(d<<2)>>2]=k;d=d+1|0;c[b+12>>2]=d;k=c[f+40>>2]|0;do if((d|0)==(i|0)){j=i|0?i<<1:1;if((i|0)>=(j|0))break;if(!j)e=0;else{c[6995]=(c[6995]|0)+1;i=sc((j<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}e=i;i=c[b+12>>2]|0}if((i|0)>0){d=0;do{c[e+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(i|0))}d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);i=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=e;c[b+16>>2]=j}else i=d;while(0);c[(c[b+20>>2]|0)+(i<<2)>>2]=k;i=i+1|0;c[b+12>>2]=i}while(0);if((i|0)>0)d=i;else break}}}e=c[b+52>>2]|0;i=c[b+32>>2]|0;if((i|0)<0){if((c[b+36>>2]|0)<0){d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[b+32>>2]=0;if((e|0)>0){d=0;do{do if(c[(c[b+60>>2]|0)+(d<<2)>>2]|0){f=c[v+28>>2]|0;m=c[f+(d*80|0)+64>>2]|0;h=c[t+12>>2]|0;q=+g[h>>2];r=+g[h+4>>2];s=+g[h+8>>2];x=+g[h+16>>2];y=+g[h+20>>2];z=+g[h+24>>2];G=+g[h+32>>2];I=+g[h+36>>2];K=+g[h+40>>2];A=+g[f+(d*80|0)>>2];B=+g[f+(d*80|0)+16>>2];C=+g[f+(d*80|0)+32>>2];D=+g[f+(d*80|0)+4>>2];E=+g[f+(d*80|0)+20>>2];F=+g[f+(d*80|0)+36>>2];H=+g[f+(d*80|0)+8>>2];J=+g[f+(d*80|0)+24>>2];L=+g[f+(d*80|0)+40>>2];o=+g[f+(d*80|0)+48>>2];p=+g[f+(d*80|0)+52>>2];O=+g[f+(d*80|0)+56>>2];M=+g[h+48>>2]+(q*o+r*p+s*O);N=+g[h+52>>2]+(x*o+y*p+z*O);O=+g[h+56>>2]+(G*o+I*p+K*O);g[w+112>>2]=q*A+r*B+s*C;g[w+112+4>>2]=q*D+r*E+s*F;g[w+112+8>>2]=q*H+r*J+s*L;g[w+112+12>>2]=0.0;g[w+112+16>>2]=x*A+y*B+z*C;g[w+112+20>>2]=x*D+y*E+z*F;g[w+112+24>>2]=x*H+y*J+z*L;g[w+112+28>>2]=0.0;g[w+112+32>>2]=G*A+I*B+K*C;g[w+112+36>>2]=G*D+I*E+K*F;g[w+112+40>>2]=G*H+I*J+K*L;g[w+112+44>>2]=0.0;g[w+112+48>>2]=M;g[w+112+52>>2]=N;g[w+112+56>>2]=O;g[w+112+60>>2]=0.0;Vb[c[(c[m>>2]|0)+8>>2]&127](m,w+112|0,w+96|0,w+32|0);m=c[u+4>>2]|0;Vb[c[(c[m>>2]|0)+8>>2]&127](m,c[u+12>>2]|0,w+16|0,w);if(!(+g[w+96>>2]>+g[w>>2])?!(+g[w+32>>2]<+g[w+16>>2]):0)i=1;else i=0;if(!(!(+g[w+96+8>>2]>+g[w+8>>2])?!(+g[w+32+8>>2]<+g[w+16+8>>2]):0))i=0;if(!(+g[w+96+4>>2]>+g[w+4>>2])?!(+g[w+32+4>>2]<+g[w+16+4>>2]|i^1):0)break;m=c[(c[b+60>>2]|0)+(d<<2)>>2]|0;Ib[c[c[m>>2]>>2]&511](m);m=c[b+4>>2]|0;Ob[c[(c[m>>2]|0)+60>>2]&127](m,c[(c[b+60>>2]|0)+(d<<2)>>2]|0);c[(c[b+60>>2]|0)+(d<<2)>>2]=0}while(0);d=d+1|0}while((d|0)<(e|0))}l=w;return}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0.0,B=0,C=0,E=0.0,F=0.0,G=0.0;C=l;l=l+176|0;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;c[a+360>>2]=a+316;c[a+364>>2]=4;c[a+368>>2]=0;c[a+376>>2]=0;y=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=y;c[a+8>>2]=c[b+8>>2];c[a+8+4>>2]=c[b+8+4>>2];c[a+8+8>>2]=c[b+8+8>>2];c[a+8+12>>2]=c[b+8+12>>2];c[a+24>>2]=c[b+24>>2];c[a+24+4>>2]=c[b+24+4>>2];c[a+24+8>>2]=c[b+24+8>>2];c[a+24+12>>2]=c[b+24+12>>2];c[a+40>>2]=c[b+40>>2];c[a+40+4>>2]=c[b+40+4>>2];c[a+40+8>>2]=c[b+40+8>>2];c[a+40+12>>2]=c[b+40+12>>2];c[a+56>>2]=c[b+56>>2];c[a+56+4>>2]=c[b+56+4>>2];c[a+56+8>>2]=c[b+56+8>>2];c[a+56+12>>2]=c[b+56+12>>2];c[a+72>>2]=c[b+72>>2];c[a+72+4>>2]=c[b+72+4>>2];c[a+72+8>>2]=c[b+72+8>>2];c[a+72+12>>2]=c[b+72+12>>2];c[a+88>>2]=c[b+88>>2];c[a+88+4>>2]=c[b+88+4>>2];c[a+88+8>>2]=c[b+88+8>>2];c[a+88+12>>2]=c[b+88+12>>2];c[a+104>>2]=c[b+104>>2];c[a+104+4>>2]=c[b+104+4>>2];c[a+104+8>>2]=c[b+104+8>>2];c[a+104+12>>2]=c[b+104+12>>2];y=c[b+124>>2]|0;c[a+120>>2]=c[b+120>>2];c[a+124>>2]=y;g[a+144>>2]=0.0;c[a+180>>2]=0;c[a+128>>2]=c[d>>2];c[a+128+4>>2]=c[d+4>>2];c[a+128+8>>2]=c[d+8>>2];c[a+128+12>>2]=c[d+12>>2];e=+g[a+128>>2];f=+g[a+132>>2];h=+g[a+136>>2];if(e*e+f*f+h*h>0.0){g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;Fh(a,-e,-f,-h,a+316|0);b=a+148|0;d=a+164|0}else{g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;Fh(a,1.0,0.0,0.0,a+316|0);b=a+148|0;d=a+164|0}g[d>>2]=1.0;y=(c[b>>2]|0)+16|0;c[a+128>>2]=c[y>>2];c[a+128+4>>2]=c[y+4>>2];c[a+128+8>>2]=c[y+8>>2];c[a+128+12>>2]=c[y+12>>2];c[C+24+48>>2]=c[y>>2];c[C+24+48+4>>2]=c[y+4>>2];c[C+24+48+8>>2]=c[y+8>>2];c[C+24+48+12>>2]=c[y+12>>2];c[C+24+32>>2]=c[y>>2];c[C+24+32+4>>2]=c[y+4>>2];c[C+24+32+8>>2]=c[y+8>>2];c[C+24+32+12>>2]=c[y+12>>2];c[C+24+16>>2]=c[y>>2];c[C+24+16+4>>2]=c[y+4>>2];c[C+24+16+8>>2]=c[y+8>>2];c[C+24+16+12>>2]=c[y+12>>2];c[C+24>>2]=c[y>>2];c[C+24+4>>2]=c[y+4>>2];c[C+24+8>>2]=c[y+8>>2];c[C+24+12>>2]=c[y+12>>2];y=0;z=0.0;e=e*e+f*f+h*h;x=0;a:do{w=c[a+368>>2]|0;f=+g[a+128>>2];h=+g[a+132>>2];i=+g[a+136>>2];o=+D(+(f*f+h*h+i*i));if(o<9.999999747378752e-05){B=6;break}g[a+148+(w*36|0)+16+(c[a+148+(w*36|0)+32>>2]<<2)>>2]=0.0;b=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=b;c[a+148+(w*36|0)+(c[a+148+(w*36|0)+32>>2]<<2)>>2]=c[a+348+(b<<2)>>2];b=c[a+148+(w*36|0)+32>>2]|0;c[a+148+(w*36|0)+32>>2]=b+1;Fh(a,-f,-h,-i,c[a+148+(w*36|0)+(b<<2)>>2]|0);b=c[a+148+(w*36|0)+32>>2]|0;d=c[a+148+(w*36|0)+(b+-1<<2)>>2]|0;f=+g[d+16>>2];h=+g[d+20>>2];i=+g[d+24>>2];r=f-+g[C+24>>2];s=h-+g[C+24+4>>2];v=i-+g[C+24+8>>2];if(r*r+s*s+v*v<9.999999747378752e-05){B=9;break}r=f-+g[C+24+16>>2];s=h-+g[C+24+20>>2];v=i-+g[C+24+24>>2];if(r*r+s*s+v*v<9.999999747378752e-05){B=9;break}r=f-+g[C+24+32>>2];s=h-+g[C+24+36>>2];v=i-+g[C+24+40>>2];if(r*r+s*s+v*v<9.999999747378752e-05){B=9;break}r=f-+g[C+24+48>>2];s=h-+g[C+24+52>>2];v=i-+g[C+24+56>>2];if(r*r+s*s+v*v<9.999999747378752e-05){B=9;break}x=x+1&3;u=C+24+(x<<4)|0;c[u>>2]=c[d+16>>2];c[u+4>>2]=c[d+16+4>>2];c[u+8>>2]=c[d+16+8>>2];c[u+12>>2]=c[d+16+12>>2];v=(+g[a+128>>2]*f+ +g[a+132>>2]*h+ +g[a+136>>2]*i)/o;z=v>z?v:z;if(o-z-o*9.999999747378752e-05<=0.0){B=10;break}c[C>>2]=0;b:do switch(b|0){case 2:{u=c[a+148+(w*36|0)>>2]|0;t=c[a+148+(w*36|0)+4>>2]|0;e=+g[t+16>>2];f=+g[u+16>>2];h=+g[t+20>>2];i=+g[u+20>>2];o=+g[t+24>>2];p=+g[u+24>>2];if(!((e-f)*(e-f)+(h-i)*(h-i)+(o-p)*(o-p)>0.0)){B=38;break a}q=-(f*(e-f)+i*(h-i)+p*(o-p))/((e-f)*(e-f)+(h-i)*(h-i)+(o-p)*(o-p));if(q>=1.0){g[C+8>>2]=0.0;g[C+8+4>>2]=1.0;c[C>>2]=2;e=e*e+h*h+o*o;break b}if(!(q<=0.0)){g[C+8+4>>2]=q;g[C+8>>2]=1.0-q;c[C>>2]=3;e=((e-f)*q+f)*((e-f)*q+f)+((h-i)*q+i)*((h-i)*q+i)+((o-p)*q+p)*((o-p)*q+p);break b}else{g[C+8>>2]=1.0;g[C+8+4>>2]=0.0;c[C>>2]=1;e=f*f+i*i+p*p;break b}}case 3:{e=+Ke((c[a+148+(w*36|0)>>2]|0)+16|0,(c[a+148+(w*36|0)+4>>2]|0)+16|0,(c[a+148+(w*36|0)+8>>2]|0)+16|0,C+8|0,C);break}case 4:{m=c[a+148+(w*36|0)>>2]|0;n=c[a+148+(w*36|0)+4>>2]|0;t=c[a+148+(w*36|0)+8>>2]|0;u=c[a+148+(w*36|0)+12>>2]|0;c[C+152>>2]=m+16;c[C+152+4>>2]=n+16;c[C+152+8>>2]=t+16;c[C+152+12>>2]=u+16;i=+g[m+16>>2];o=+g[u+16>>2];f=+g[m+20>>2];p=+g[u+20>>2];h=+g[m+24>>2];q=+g[u+24>>2];g[C+104>>2]=i-o;g[C+104+4>>2]=f-p;g[C+104+8>>2]=h-q;g[C+104+12>>2]=0.0;e=+g[n+16>>2];F=+g[n+20>>2];s=+g[n+24>>2];g[C+104+16>>2]=e-o;g[C+104+20>>2]=F-p;g[C+104+24>>2]=s-q;g[C+104+28>>2]=0.0;r=+g[t+16>>2];G=+g[t+20>>2];E=+g[t+24>>2];g[C+104+32>>2]=r-o;g[C+104+36>>2]=G-p;g[C+104+40>>2]=E-q;g[C+104+44>>2]=0.0;v=(f-p)*(s-q)*(r-o)+(h-q)*(e-o)*(G-p)-(G-p)*(s-q)*(i-o)-(f-p)*(e-o)*(E-q)+(E-q)*(i-o)*(F-p)-(r-o)*(h-q)*(F-p);if(v!=v|0.0!=0.0|v==0.0|!(v*(h*((e-r)*(f-F)-(F-G)*(i-e))+(i*((F-G)*(h-s)-(s-E)*(f-F))+f*((s-E)*(i-e)-(e-r)*(h-s))))<=0.0))e=-1.0;else{c[C+92>>2]=0;c[C+92+4>>2]=0;c[C+92+8>>2]=0;c[C+88>>2]=0;e=-1.0;k=0;s=f-p;r=h-q;h=i-o;f=q;d=c[C>>2]|0;while(1){b=c[5288+(k<<2)>>2]|0;E=+g[C+104+(b<<4)+8>>2];F=+g[C+104+(b<<4)+4>>2];G=+g[C+104+(b<<4)>>2];if(v*((s*E-r*F)*o+p*(r*G-E*h)+(F*h-s*G)*f)>0.0?(A=+Ke(c[C+152+(k<<2)>>2]|0,c[C+152+(b<<2)>>2]|0,u+16|0,C+92|0,C+88|0),e<0.0|A<e):0){d=c[C+88>>2]|0;c[C+8+(k<<2)>>2]=c[C+92>>2];c[C+8+(b<<2)>>2]=c[C+92+4>>2];g[C+8+(c[5288+(b<<2)>>2]<<2)>>2]=0.0;c[C+8+12>>2]=c[C+92+8>>2];e=A;d=(d&2|0?1<<b:0)+(d<<1&8)+(d&1|0?1<<k:0)|0}b=k+1|0;if((b|0)==3)break;k=b;s=+g[C+104+(b<<4)+4>>2];r=+g[C+104+(b<<4)+8>>2];h=+g[C+104+(b<<4)>>2];o=+g[u+16>>2];p=+g[u+20>>2];f=+g[u+24>>2]}c[C>>2]=d;if(e<0.0){c[C>>2]=15;i=+g[t+20>>2];G=+g[n+24>>2];F=+g[u+16>>2];f=+g[t+24>>2];E=+g[n+16>>2];o=+g[u+20>>2];h=+g[t+16>>2];s=+g[u+24>>2];q=+g[n+20>>2];g[C+8>>2]=(i*G*F+f*E*o-o*G*h-i*E*s+s*h*q-F*f*q)/v;e=+g[m+20>>2];p=+g[m+24>>2];r=+g[m+16>>2];g[C+8+4>>2]=(e*f*F+p*h*o-o*f*r-e*h*s+s*r*i-F*p*i)/v;g[C+8+8>>2]=(q*p*F+G*r*o-o*p*E-q*r*s+s*E*e-F*G*e)/v;g[C+8+12>>2]=1.0-((i*G*F+f*E*o-o*G*h-i*E*s+s*h*q-F*f*q)/v+(e*f*F+p*h*o-o*f*r-e*h*s+s*r*i-F*p*i)/v+(q*p*F+G*r*o-o*p*E-q*r*s+s*E*e-F*G*e)/v);e=0.0}}break}default:{}}while(0);if(!(e>=0.0)){B=38;break}c[a+148+((1-w|0)*36|0)+32>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+368>>2]=1-w;d=c[a+148+(w*36|0)+32>>2]|0;k=c[C>>2]|0;if(d|0){b=0;do{m=a+148+(w*36|0)+(b<<2)|0;n=c[m>>2]|0;if(!(k&1<<b)){u=c[a+364>>2]|0;c[a+364>>2]=u+1;c[a+348+(u<<2)>>2]=n}else{c[a+148+((1-w|0)*36|0)+(c[a+148+((1-w|0)*36|0)+32>>2]<<2)>>2]=n;t=c[C+8+(b<<2)>>2]|0;u=c[a+148+((1-w|0)*36|0)+32>>2]|0;c[a+148+((1-w|0)*36|0)+32>>2]=u+1;c[a+148+((1-w|0)*36|0)+16+(u<<2)>>2]=t;u=c[m>>2]|0;E=(c[j>>2]=t,+g[j>>2]);F=E*+g[u+20>>2];G=E*+g[u+24>>2];g[a+128>>2]=+g[u+16>>2]*E+ +g[a+128>>2];g[a+132>>2]=F+ +g[a+132>>2];g[a+136>>2]=G+ +g[a+136>>2]}b=b+1|0}while((b|0)!=(d|0))}if((k|0)==15)c[a+376>>2]=1;y=y+1|0;if(y>>>0>=128){B=40;break}b=c[a+376>>2]|0}while(!(b|0));if((B|0)==6){c[a+376>>2]=1;B=41}else if((B|0)==9){y=c[a+368>>2]|0;x=(c[a+148+(y*36|0)+32>>2]|0)+-1|0;c[a+148+(y*36|0)+32>>2]=x;x=c[a+148+(y*36|0)+(x<<2)>>2]|0;y=c[a+364>>2]|0;c[a+364>>2]=y+1;c[a+348+(y<<2)>>2]=x;B=41}else if((B|0)==10){y=c[a+368>>2]|0;x=(c[a+148+(y*36|0)+32>>2]|0)+-1|0;c[a+148+(y*36|0)+32>>2]=x;x=c[a+148+(y*36|0)+(x<<2)>>2]|0;y=c[a+364>>2]|0;c[a+364>>2]=y+1;c[a+348+(y<<2)>>2]=x;B=41}else if((B|0)==38){b=c[a+368>>2]|0;y=(c[a+148+(b*36|0)+32>>2]|0)+-1|0;c[a+148+(b*36|0)+32>>2]=y;y=c[a+148+(b*36|0)+(y<<2)>>2]|0;b=c[a+364>>2]|0;c[a+364>>2]=b+1;c[a+348+(b<<2)>>2]=y;b=c[a+376>>2]|0}else if((B|0)==40){c[a+376>>2]=2;c[a+372>>2]=a+148+((c[a+368>>2]|0)*36|0);a=2;l=C;return a|0}if((B|0)==41)b=c[a+376>>2]|0;c[a+372>>2]=a+148+((c[a+368>>2]|0)*36|0);switch(b|0){case 0:{F=+g[a+128>>2];G=+g[a+132>>2];e=+g[a+136>>2];e=+D(+(F*F+G*G+e*e));break}case 1:{e=0.0;break}default:{a=b;l=C;return a|0}}g[a+144>>2]=e;a=b;l=C;return a|0}function Kc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0,H=0,I=0;r=l;l=l+144|0;m=c[b+48>>2]|0;j=c[b+52>>2]|0;if((j|0?(k=c[j+20>>2]|0,k|0):0)?(xb[c[(c[k>>2]|0)+56>>2]&127](k)|0)&1|0:0){c[r+48>>2]=1065353216;c[r+48+4>>2]=1065353216;c[r+48+8>>2]=0;g[r+48+12>>2]=0.0;k=c[b+8>>2]|0;p=c[(c[b+52>>2]|0)+20>>2]|0;o=c[(c[p>>2]|0)+16>>2]|0;x=+g[d>>2];E=+g[d+4>>2];A=+g[d+8>>2];v=+g[k+20>>2];s=+g[k+24>>2];w=+g[k+28>>2];t=+g[k+36>>2];z=+g[k+40>>2];B=+g[k+44>>2];u=+g[k+52>>2];C=+g[k+56>>2];y=+g[k+60>>2];g[r+24>>2]=x*+g[k+4>>2]+E*+g[k+8>>2]+A*+g[k+12>>2]+u;g[r+24+4>>2]=x*v+E*s+A*w+C;g[r+24+8>>2]=x*t+E*z+A*B+y;g[r+24+12>>2]=0.0;A=+g[d+16>>2];E=+g[d+20>>2];x=+g[d+24>>2];g[r>>2]=A*+g[k+4>>2]+E*+g[k+8>>2]+x*+g[k+12>>2]+u;g[r+4>>2]=A*v+E*s+x*w+C;g[r+8>>2]=A*t+E*z+x*B+y;g[r+12>>2]=0.0;Vb[o&127](p,r+24|0,r,r+48|0);p=c[(c[b+52>>2]|0)+20>>2]|0;o=c[(c[p>>2]|0)+16>>2]|0;y=+g[d+16>>2];B=+g[d+20>>2];x=+g[d+24>>2];z=+g[k+20>>2];E=+g[k+24>>2];t=+g[k+28>>2];A=+g[k+36>>2];C=+g[k+40>>2];w=+g[k+44>>2];s=+g[k+52>>2];v=+g[k+56>>2];u=+g[k+60>>2];g[r+24>>2]=y*+g[k+4>>2]+B*+g[k+8>>2]+x*+g[k+12>>2]+s;g[r+24+4>>2]=y*z+B*E+x*t+v;g[r+24+8>>2]=y*A+B*C+x*w+u;g[r+24+12>>2]=0.0;x=+g[d+32>>2];B=+g[d+36>>2];y=+g[d+40>>2];g[r>>2]=x*+g[k+4>>2]+B*+g[k+8>>2]+y*+g[k+12>>2]+s;g[r+4>>2]=x*z+B*E+y*t+v;g[r+8>>2]=x*A+B*C+y*w+u;g[r+12>>2]=0.0;Vb[o&127](p,r+24|0,r,r+48|0);p=c[(c[b+52>>2]|0)+20>>2]|0;o=c[(c[p>>2]|0)+16>>2]|0;u=+g[d+32>>2];w=+g[d+36>>2];y=+g[d+40>>2];C=+g[k+20>>2];B=+g[k+24>>2];A=+g[k+28>>2];x=+g[k+36>>2];v=+g[k+40>>2];t=+g[k+44>>2];E=+g[k+52>>2];z=+g[k+56>>2];s=+g[k+60>>2];g[r+24>>2]=u*+g[k+4>>2]+w*+g[k+8>>2]+y*+g[k+12>>2]+E;g[r+24+4>>2]=u*C+w*B+y*A+z;g[r+24+8>>2]=u*x+w*v+y*t+s;g[r+24+12>>2]=0.0;y=+g[d>>2];w=+g[d+4>>2];u=+g[d+8>>2];g[r>>2]=y*+g[k+4>>2]+w*+g[k+8>>2]+u*+g[k+12>>2]+E;g[r+4>>2]=y*C+w*B+u*A+z;g[r+8>>2]=y*x+w*v+u*t+s;g[r+12>>2]=0.0;Vb[o&127](p,r+24|0,r,r+48|0)}j=(((e<<21|f)+~(f<<15)|0)>>>10^(e<<21|f)+~(f<<15))*9|0;j=(c[b+108>>2]|0)+-1&(((j>>>6^j)+~((j>>>6^j)<<11)|0)>>>16^(j>>>6^j)+~((j>>>6^j)<<11));a:do if(j>>>0<(c[b+64>>2]|0)>>>0?(h=c[(c[b+72>>2]|0)+(j<<2)>>2]|0,(h|0)!=-1):0){j=c[b+132>>2]|0;while(1){if((e<<21|f|0)==(c[j+(h<<2)>>2]|0))break;h=c[(c[b+92>>2]|0)+(h<<2)>>2]|0;if((h|0)==-1)break a}j=c[b+112>>2]|0;if(j+(h<<3)|0){p=c[j+(h<<3)+4>>2]|0;q=c[b+8>>2]|0;c[p+8>>2]=c[(c[q+192>>2]|0)+8>>2];o=c[b+4>>2]|0;n=c[o+192>>2]|0;c[r+48>>2]=0;c[r+48+4>>2]=n;c[r+48+8>>2]=o;c[r+48+12>>2]=o+4;c[r+48+16>>2]=-1;c[r+48+20>>2]=-1;c[r+24>>2]=0;c[r+24+4>>2]=p;c[r+24+8>>2]=q;c[r+24+12>>2]=q+4;c[r+24+16>>2]=e;c[r+24+20>>2]=f;q=Db[c[(c[m>>2]|0)+8>>2]&1](m,r+48|0,r+24|0,0,+g[(c[b+44>>2]|0)+32>>2]>0.0?2:1)|0;Zb[c[(c[q>>2]|0)+8>>2]&31](q,r+48|0,r+24|0,c[b+52>>2]|0,c[b+44>>2]|0);Ib[c[c[q>>2]>>2]&511](q);Ob[c[(c[m>>2]|0)+60>>2]&127](m,q);l=r;return}}while(0);u=+g[d+16>>2];F=+g[d>>2];v=+g[d+20>>2];s=+g[d+4>>2];w=+g[d+24>>2];t=+g[d+8>>2];x=+g[d+32>>2];z=+g[d+36>>2];B=+g[d+40>>2];y=(v-s)*(B-t)-(w-t)*(z-s);A=(w-t)*(x-F)-(u-F)*(B-t);E=(u-F)*(z-s)-(v-s)*(x-F);C=1.0/+D(+(E*E+(y*y+A*A)));g[r+48>>2]=F+C*y*.05999999865889549;g[r+48+4>>2]=s+C*A*.05999999865889549;g[r+48+8>>2]=C*E*.05999999865889549+t;g[r+48+12>>2]=0.0;g[r+48+16>>2]=C*y*.05999999865889549+u;g[r+48+20>>2]=C*A*.05999999865889549+v;g[r+48+24>>2]=C*E*.05999999865889549+w;g[r+48+28>>2]=0.0;g[r+48+32>>2]=C*y*.05999999865889549+x;g[r+48+36>>2]=C*A*.05999999865889549+z;g[r+48+40>>2]=C*E*.05999999865889549+B;g[r+48+44>>2]=0.0;g[r+48+48>>2]=F-C*y*.05999999865889549;g[r+48+52>>2]=s-C*A*.05999999865889549;g[r+48+56>>2]=t-C*E*.05999999865889549;g[r+48+60>>2]=0.0;g[r+48+64>>2]=u-C*y*.05999999865889549;g[r+48+68>>2]=v-C*A*.05999999865889549;g[r+48+72>>2]=w-C*E*.05999999865889549;g[r+48+76>>2]=0.0;g[r+48+80>>2]=x-C*y*.05999999865889549;g[r+48+84>>2]=z-C*A*.05999999865889549;g[r+48+88>>2]=B-C*E*.05999999865889549;g[r+48+92>>2]=0.0;c[6995]=(c[6995]|0)+1;h=sc(135)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}lg(h,r+48|0,6,16);p=c[b+8>>2]|0;c[h+8>>2]=c[(c[p+192>>2]|0)+8>>2];o=c[b+4>>2]|0;d=c[o+192>>2]|0;c[r+24>>2]=0;c[r+24+4>>2]=d;c[r+24+8>>2]=o;c[r+24+12>>2]=o+4;c[r+24+16>>2]=-1;c[r+24+20>>2]=-1;c[r>>2]=0;c[r+4>>2]=h;c[r+8>>2]=p;c[r+12>>2]=p+4;c[r+16>>2]=e;c[r+20>>2]=f;p=Db[c[(c[m>>2]|0)+8>>2]&1](m,r+24|0,r,0,+g[(c[b+44>>2]|0)+32>>2]>0.0?2:1)|0;Zb[c[(c[p>>2]|0)+8>>2]&31](p,r+24|0,r,c[b+52>>2]|0,c[b+44>>2]|0);Ib[c[c[p>>2]>>2]&511](p);Ob[c[(c[m>>2]|0)+60>>2]&127](m,p);p=(((e<<21|f)+~(f<<15)|0)>>>10^(e<<21|f)+~(f<<15))*9|0;p=((p>>>6^p)+~((p>>>6^p)<<11)|0)>>>16^(p>>>6^p)+~((p>>>6^p)<<11);m=c[b+108>>2]|0;b:do if((p&m+-1)>>>0<(c[b+64>>2]|0)>>>0?(i=c[(c[b+72>>2]|0)+((p&m+-1)<<2)>>2]|0,(i|0)!=-1):0){j=c[b+132>>2]|0;while(1){if((e<<21|f|0)==(c[j+(i<<2)>>2]|0))break;i=c[(c[b+92>>2]|0)+(i<<2)>>2]|0;if((i|0)==-1){q=20;break b}}b=c[b+112>>2]|0;c[b+(i<<3)>>2]=e<<21|f;c[b+(i<<3)+4>>2]=h}else q=20;while(0);if((q|0)==20){o=c[b+104>>2]|0;if((o|0)==(m|0)){d=m|0?m<<1:1;if((m|0)<(d|0)){if(!d){i=0;k=m}else{c[6995]=(c[6995]|0)+1;i=sc((d<<3|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=c[b+104>>2]|0}if((k|0)>0){j=0;do{I=(c[b+112>>2]|0)+(j<<3)|0;H=c[I+4>>2]|0;G=i+(j<<3)|0;c[G>>2]=c[I>>2];c[G+4>>2]=H;j=j+1|0}while((j|0)!=(k|0))}j=c[b+112>>2]|0;if(j|0){if(a[b+116>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=i;c[b+108>>2]=d;i=c[b+104>>2]|0}else i=m}else i=o;I=c[b+112>>2]|0;c[I+(i<<3)>>2]=e<<21|f;c[I+(i<<3)+4>>2]=h;c[b+104>>2]=(c[b+104>>2]|0)+1;h=c[b+124>>2]|0;if((h|0)==(c[b+128>>2]|0)?(n=h|0?h<<1:1,(h|0)<(n|0)):0){if(!n)k=0;else{c[6995]=(c[6995]|0)+1;h=sc((n<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[b+124>>2]|0}j=c[b+132>>2]|0;if((h|0)<=0)if(!j)h=b+136|0;else q=43;else{i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));q=43}if((q|0)==43){if(a[b+136>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[b+132>>2]=0;h=b+136|0}a[h>>0]=1;c[b+132>>2]=k;c[b+128>>2]=n;h=c[b+124>>2]|0}c[(c[b+132>>2]|0)+(h<<2)>>2]=e<<21|f;c[b+124>>2]=(c[b+124>>2]|0)+1;n=c[b+108>>2]|0;if((m|0)<(n|0)){e=c[b+64>>2]|0;if((e|0)<(n|0)){if((c[b+68>>2]|0)<(n|0)){if(!n){h=0;j=e}else{c[6995]=(c[6995]|0)+1;h=sc((n<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+64>>2]|0}k=c[b+72>>2]|0;if((j|0)<=0)if(!k)i=b+76|0;else q=59;else{i=0;do{c[h+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0));q=59}if((q|0)==59)if(!(a[b+76>>0]|0))i=b+76|0;else{c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);i=b+76|0}a[i>>0]=1;c[b+72>>2]=h;c[b+68>>2]=n;m=b+72|0}else{m=b+72|0;h=c[b+72>>2]|0}Yk(h+(e<<2)|0,0,(n<<2)-(e<<2)|0)|0;c[b+64>>2]=n;d=c[b+84>>2]|0;if((d|0)<(n|0)){if((c[b+88>>2]|0)<(n|0)){if(!n){h=0;j=d}else{c[6995]=(c[6995]|0)+1;h=sc((n<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+84>>2]|0}k=c[b+92>>2]|0;if((j|0)<=0)if(!k)i=b+96|0;else q=73;else{i=0;do{c[h+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0));q=73}if((q|0)==73)if(!(a[b+96>>0]|0))i=b+96|0;else{c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);i=b+96|0}a[i>>0]=1;c[b+92>>2]=h;c[b+88>>2]=n}else h=c[b+92>>2]|0;Yk(h+(d<<2)|0,0,(n<<2)-(d<<2)|0)|0}c[b+84>>2]=n;if((n|0)>0){Yk(c[m>>2]|0,-1,n<<2|0)|0;Yk(c[b+92>>2]|0,-1,n<<2|0)|0}if((e|0)>0){k=c[b+132>>2]|0;i=c[m>>2]|0;j=c[b+92>>2]|0;h=0;do{I=c[k+(h<<2)>>2]|0;I=((I+~(I<<15)|0)>>>10^I+~(I<<15))*9|0;I=i+(((((I>>>6^I)+~((I>>>6^I)<<11)|0)>>>16^(I>>>6^I)+~((I>>>6^I)<<11))&(c[b+108>>2]|0)+-1)<<2)|0;c[j+(h<<2)>>2]=c[I>>2];c[I>>2]=h;h=h+1|0}while((h|0)!=(e|0))}}h=p&(c[b+108>>2]|0)+-1}else h=p&m+-1;I=(c[b+72>>2]|0)+(h<<2)|0;c[(c[b+92>>2]|0)+(o<<2)>>2]=c[I>>2];c[I>>2]=o}l=r;return}function Lc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;u=l;l=l+48|0;A=1.0/+g[b+112>>2];B=1.0/+g[b+116>>2];C=1.0/+g[b+120>>2];v=+g[b+52>>2];w=A*+g[e>>2]+v;p=+g[b+56>>2];o=B*+g[e+4>>2]+p;r=+g[b+60>>2];q=C*+g[e+8>>2]+r;v=A*+g[f>>2]+v;p=B*+g[f+4>>2]+p;r=C*+g[f+8>>2]+r;C=+g[b+20>>2];w=w<C?C:w;B=+g[b+24>>2];o=o<B?B:o;A=+g[b+28>>2];q=q<A?A:q;z=+g[b+36>>2];w=z<w?z:w;y=+g[b+40>>2];o=y<o?y:o;x=+g[b+44>>2];q=x<q?x:q;v=v<C?C:v;p=p<B?B:p;r=r<A?A:r;v=z<v?z:v;p=y<p?y:p;r=x<r?x:r;m=~~(w+(w<0.0?-.5:.5))+-1|0;i=~~(v+(v<0.0?-.5:.5))+1|0;n=~~(o+(o<0.0?-.5:.5))+-1|0;j=~~(p+(p<0.0?-.5:.5))+1|0;h=~~(q+(q<0.0?-.5:.5))+-1|0;e=~~(r+(r<0.0?-.5:.5))+1|0;k=(c[b+68>>2]|0)+-1|0;f=(c[b+72>>2]|0)+-1|0;switch(c[b+108>>2]|0){case 0:{f=(e|0)<(f|0)?e:f;e=(h|0)>0?h:0;k=(j|0)<(k|0)?j:k;n=(n|0)>0?n:0;break}case 1:{f=(e|0)<(f|0)?e:f;e=(h|0)>0?h:0;k=(i|0)<(k|0)?i:k;n=(m|0)>0?m:0;break}case 2:{f=(j|0)<(f|0)?j:f;e=(n|0)>0?n:0;k=(i|0)<(k|0)?i:k;n=(m|0)>0?m:0;break}default:{e=0;n=0}}if((e|0)>=(f|0)){l=u;return}s=(n|0)<(k|0);do if(s){j=(e&1|0)==0;m=e+1|0;r=+(e|0);h=n;while(1){do if(!(a[b+104>>0]|0)){if(a[b+105>>0]|0?(h+e&1|0)==0:0){t=16;break}if(!(j&(a[b+106>>0]|0)!=0)){o=+qb[c[(c[b>>2]|0)+68>>2]&31](b,h,e);switch(c[b+108>>2]|0){case 0:{q=+(h|0)-+g[b+84>>2]*.5;p=o-+g[b+52>>2];o=r-+g[b+88>>2]*.5;t=52;break}case 1:{q=o-+g[b+56>>2];p=+(h|0)-+g[b+84>>2]*.5;o=r-+g[b+88>>2]*.5;t=52;break}case 2:{q=r-+g[b+88>>2]*.5;p=+(h|0)-+g[b+84>>2]*.5;o=o-+g[b+60>>2];t=52;break}default:{p=+g[u>>2];q=+g[u+4>>2];o=+g[u+8>>2]}}if((t|0)==52){t=0;g[u>>2]=p;g[u+4>>2]=q;g[u+8>>2]=o;g[u+12>>2]=0.0}g[u>>2]=p*+g[b+112>>2];g[u+4>>2]=q*+g[b+116>>2];g[u+8>>2]=o*+g[b+120>>2];o=+qb[c[(c[b>>2]|0)+68>>2]&31](b,h,m);switch(c[b+108>>2]|0){case 0:{q=+(h|0)-+g[b+84>>2]*.5;p=o-+g[b+52>>2];o=+(m|0)-+g[b+88>>2]*.5;t=58;break}case 1:{q=o-+g[b+56>>2];p=+(h|0)-+g[b+84>>2]*.5;o=+(m|0)-+g[b+88>>2]*.5;t=58;break}case 2:{q=+(m|0)-+g[b+88>>2]*.5;p=+(h|0)-+g[b+84>>2]*.5;o=o-+g[b+60>>2];t=58;break}default:{p=+g[u+16>>2];q=+g[u+20>>2];o=+g[u+24>>2]}}if((t|0)==58){t=0;g[u+16>>2]=p;g[u+20>>2]=q;g[u+24>>2]=o;g[u+28>>2]=0.0}g[u+16>>2]=p*+g[b+112>>2];g[u+20>>2]=q*+g[b+116>>2];g[u+24>>2]=o*+g[b+120>>2];i=h+1|0;o=+qb[c[(c[b>>2]|0)+68>>2]&31](b,i,e);switch(c[b+108>>2]|0){case 0:{q=+(i|0)-+g[b+84>>2]*.5;p=o-+g[b+52>>2];o=r-+g[b+88>>2]*.5;t=64;break}case 1:{q=o-+g[b+56>>2];p=+(i|0)-+g[b+84>>2]*.5;o=r-+g[b+88>>2]*.5;t=64;break}case 2:{q=r-+g[b+88>>2]*.5;p=+(i|0)-+g[b+84>>2]*.5;o=o-+g[b+60>>2];t=64;break}default:{p=+g[u+32>>2];q=+g[u+36>>2];o=+g[u+40>>2]}}if((t|0)==64){t=0;g[u+32>>2]=p;g[u+36>>2]=q;g[u+40>>2]=o;g[u+44>>2]=0.0}g[u+32>>2]=p*+g[b+112>>2];g[u+36>>2]=q*+g[b+116>>2];g[u+40>>2]=o*+g[b+120>>2];Vb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);o=+qb[c[(c[b>>2]|0)+68>>2]&31](b,i,e);switch(c[b+108>>2]|0){case 0:{q=+(i|0)-+g[b+84>>2]*.5;p=o-+g[b+52>>2];o=r-+g[b+88>>2]*.5;t=70;break}case 1:{q=o-+g[b+56>>2];p=+(i|0)-+g[b+84>>2]*.5;o=r-+g[b+88>>2]*.5;t=70;break}case 2:{q=r-+g[b+88>>2]*.5;p=+(i|0)-+g[b+84>>2]*.5;o=o-+g[b+60>>2];t=70;break}default:{p=+g[u>>2];q=+g[u+4>>2];o=+g[u+8>>2]}}if((t|0)==70){t=0;g[u>>2]=p;g[u+4>>2]=q;g[u+8>>2]=o;g[u+12>>2]=0.0}g[u>>2]=p*+g[b+112>>2];g[u+4>>2]=q*+g[b+116>>2];g[u+8>>2]=o*+g[b+120>>2];o=+qb[c[(c[b>>2]|0)+68>>2]&31](b,i,m);switch(c[b+108>>2]|0){case 0:{q=+(i|0)-+g[b+84>>2]*.5;p=o-+g[b+52>>2];o=+(m|0)-+g[b+88>>2]*.5;t=76;break}case 1:{q=o-+g[b+56>>2];p=+(i|0)-+g[b+84>>2]*.5;o=+(m|0)-+g[b+88>>2]*.5;t=76;break}case 2:{q=+(m|0)-+g[b+88>>2]*.5;p=+(i|0)-+g[b+84>>2]*.5;o=o-+g[b+60>>2];t=76;break}default:{p=+g[u+32>>2];q=+g[u+36>>2];o=+g[u+40>>2]}}if((t|0)==76){t=0;g[u+32>>2]=p;g[u+36>>2]=q;g[u+40>>2]=o;g[u+44>>2]=0.0}g[u+32>>2]=p*+g[b+112>>2];g[u+36>>2]=q*+g[b+116>>2];g[u+40>>2]=o*+g[b+120>>2];Vb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);h=i}else t=16}else t=16;while(0);if((t|0)==16){t=0;o=+qb[c[(c[b>>2]|0)+68>>2]&31](b,h,e);switch(c[b+108>>2]|0){case 0:{q=+(h|0)-+g[b+84>>2]*.5;p=o-+g[b+52>>2];o=r-+g[b+88>>2]*.5;t=21;break}case 1:{q=o-+g[b+56>>2];p=+(h|0)-+g[b+84>>2]*.5;o=r-+g[b+88>>2]*.5;t=21;break}case 2:{q=r-+g[b+88>>2]*.5;p=+(h|0)-+g[b+84>>2]*.5;o=o-+g[b+60>>2];t=21;break}default:{p=+g[u>>2];q=+g[u+4>>2];o=+g[u+8>>2]}}if((t|0)==21){t=0;g[u>>2]=p;g[u+4>>2]=q;g[u+8>>2]=o;g[u+12>>2]=0.0}g[u>>2]=p*+g[b+112>>2];g[u+4>>2]=q*+g[b+116>>2];g[u+8>>2]=o*+g[b+120>>2];o=+qb[c[(c[b>>2]|0)+68>>2]&31](b,h,m);switch(c[b+108>>2]|0){case 0:{q=+(h|0)-+g[b+84>>2]*.5;p=o-+g[b+52>>2];o=+(m|0)-+g[b+88>>2]*.5;t=27;break}case 1:{q=o-+g[b+56>>2];p=+(h|0)-+g[b+84>>2]*.5;o=+(m|0)-+g[b+88>>2]*.5;t=27;break}case 2:{q=+(m|0)-+g[b+88>>2]*.5;p=+(h|0)-+g[b+84>>2]*.5;o=o-+g[b+60>>2];t=27;break}default:{p=+g[u+16>>2];q=+g[u+20>>2];o=+g[u+24>>2]}}if((t|0)==27){t=0;g[u+16>>2]=p;g[u+20>>2]=q;g[u+24>>2]=o;g[u+28>>2]=0.0}g[u+16>>2]=p*+g[b+112>>2];g[u+20>>2]=q*+g[b+116>>2];g[u+24>>2]=o*+g[b+120>>2];i=h+1|0;o=+qb[c[(c[b>>2]|0)+68>>2]&31](b,i,m);switch(c[b+108>>2]|0){case 0:{q=+(i|0)-+g[b+84>>2]*.5;p=o-+g[b+52>>2];o=+(m|0)-+g[b+88>>2]*.5;t=33;break}case 1:{q=o-+g[b+56>>2];p=+(i|0)-+g[b+84>>2]*.5;o=+(m|0)-+g[b+88>>2]*.5;t=33;break}case 2:{q=+(m|0)-+g[b+88>>2]*.5;p=+(i|0)-+g[b+84>>2]*.5;o=o-+g[b+60>>2];t=33;break}default:{p=+g[u+32>>2];q=+g[u+36>>2];o=+g[u+40>>2]}}if((t|0)==33){t=0;g[u+32>>2]=p;g[u+36>>2]=q;g[u+40>>2]=o;g[u+44>>2]=0.0}g[u+32>>2]=p*+g[b+112>>2];g[u+36>>2]=q*+g[b+116>>2];g[u+40>>2]=o*+g[b+120>>2];Vb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);o=+qb[c[(c[b>>2]|0)+68>>2]&31](b,i,m);switch(c[b+108>>2]|0){case 0:{q=+(i|0)-+g[b+84>>2]*.5;p=o-+g[b+52>>2];o=+(m|0)-+g[b+88>>2]*.5;t=39;break}case 1:{q=o-+g[b+56>>2];p=+(i|0)-+g[b+84>>2]*.5;o=+(m|0)-+g[b+88>>2]*.5;t=39;break}case 2:{q=+(m|0)-+g[b+88>>2]*.5;p=+(i|0)-+g[b+84>>2]*.5;o=o-+g[b+60>>2];t=39;break}default:{p=+g[u+16>>2];q=+g[u+20>>2];o=+g[u+24>>2]}}if((t|0)==39){t=0;g[u+16>>2]=p;g[u+20>>2]=q;g[u+24>>2]=o;g[u+28>>2]=0.0}g[u+16>>2]=p*+g[b+112>>2];g[u+20>>2]=q*+g[b+116>>2];g[u+24>>2]=o*+g[b+120>>2];o=+qb[c[(c[b>>2]|0)+68>>2]&31](b,i,e);switch(c[b+108>>2]|0){case 0:{q=+(i|0)-+g[b+84>>2]*.5;p=o-+g[b+52>>2];o=r-+g[b+88>>2]*.5;t=45;break}case 1:{q=o-+g[b+56>>2];p=+(i|0)-+g[b+84>>2]*.5;o=r-+g[b+88>>2]*.5;t=45;break}case 2:{q=r-+g[b+88>>2]*.5;p=+(i|0)-+g[b+84>>2]*.5;o=o-+g[b+60>>2];t=45;break}default:{p=+g[u+32>>2];q=+g[u+36>>2];o=+g[u+40>>2]}}if((t|0)==45){t=0;g[u+32>>2]=p;g[u+36>>2]=q;g[u+40>>2]=o;g[u+44>>2]=0.0}g[u+32>>2]=p*+g[b+112>>2];g[u+36>>2]=q*+g[b+116>>2];g[u+40>>2]=o*+g[b+120>>2];Vb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);h=i}if((h|0)==(k|0)){e=m;break}}}else e=e+1|0;while((e|0)!=(f|0));l=u;return}function Mc(b,d,e,f,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=+j;k=k|0;var m=0,n=0.0,o=0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,_=0,$=0;W=l;l=l+16|0;m=c[h+4>>2]|0;if((m|0)<0){if((c[h+8>>2]|0)<0){o=c[h+12>>2]|0;if(o|0){if(a[h+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[o+-4>>2]|0)}c[h+12>>2]=0}a[h+16>>0]=1;c[h+12>>2]=0;c[h+8>>2]=0}do{V=(c[h+12>>2]|0)+(m<<4)|0;c[V>>2]=c[W>>2];c[V+4>>2]=c[W+4>>2];c[V+8>>2]=c[W+8>>2];c[V+12>>2]=c[W+12>>2];m=m+1|0}while((m|0)!=0)}c[h+4>>2]=0;r=c[f+4>>2]|0;if((c[h+8>>2]|0)<(r|0)){if(r){c[6995]=(c[6995]|0)+1;m=sc((r<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}p=c[h+4>>2]|0;if((p|0)>0){o=0;do{V=m+(o<<4)|0;U=(c[h+12>>2]|0)+(o<<4)|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];o=o+1|0}while((o|0)!=(p|0));p=h+12|0}else p=h+12|0}else{m=0;p=h+12|0}o=c[p>>2]|0;if(o|0){if(a[h+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[o+-4>>2]|0)}c[p>>2]=0}a[h+16>>0]=1;c[p>>2]=m;c[h+8>>2]=r}p=c[d+28>>2]|0;if((p|0)<=0){l=W;return}V=c[d+36>>2]|0;E=+g[e>>2];F=+g[e+4>>2];G=+g[e+8>>2];H=+g[e+16>>2];v=+g[e+20>>2];t=+g[e+24>>2];s=+g[e+32>>2];q=+g[e+36>>2];n=+g[e+40>>2];w=+g[b>>2];x=+g[b+4>>2];y=+g[b+8>>2];U=-1;u=3402823466385288598117041.0e14;m=0;while(1){z=+g[V+(m*36|0)+20>>2];A=+g[V+(m*36|0)+24>>2];B=+g[V+(m*36|0)+28>>2];o=(z*E+A*F+B*G)*w+(z*H+A*v+B*t)*x+(z*s+A*q+B*n)*y<u;U=o?m:U;m=m+1|0;if((m|0)==(p|0))break;else u=o?(z*E+A*F+B*G)*w+(z*H+A*v+B*t)*x+(z*s+A*q+B*n)*y:u}if((U|0)<0){l=W;return}N=c[V+(U*36|0)+4>>2]|0;if((N|0)>0){O=V+(U*36|0)+12|0;P=V+(U*36|0)+20|0;Q=V+(U*36|0)+24|0;R=V+(U*36|0)+28|0;M=0;x=E;y=F;u=G;w=H;while(1){J=c[O>>2]|0;m=c[J+(M<<2)>>2]|0;I=c[d+16>>2]|0;M=M+1|0;L=(M|0)==(N|0);J=c[J+((L?0:M)<<2)>>2]|0;X=+g[I+(m<<4)>>2];Y=X-+g[I+(J<<4)>>2];z=+g[I+(m<<4)+4>>2];Z=z-+g[I+(J<<4)+4>>2];A=+g[I+(m<<4)+8>>2];F=A-+g[I+(J<<4)+8>>2];B=Y*x+Z*y+F*u;E=Y*w+Z*v+F*t;F=Y*s+Z*q+F*n;Z=+g[P>>2];Y=+g[Q>>2];K=+g[R>>2];G=x*Z+y*Y+u*K;H=w*Z+v*Y+t*K;K=s*Z+q*Y+n*K;A=(X*x+z*y+A*u+ +g[e+48>>2])*-(E*K-F*H)+(X*w+z*v+A*t+ +g[e+52>>2])*-(F*G-B*K)+(X*s+z*q+A*n+ +g[e+56>>2])*-(B*H-E*G);J=f;I=h;m=c[J+4>>2]|0;if((m|0)>=2){p=c[J+12>>2]|0;s=+g[p+(m+-1<<4)>>2];u=+g[p+(m+-1<<4)+4>>2];v=+g[p+(m+-1<<4)+8>>2];o=0;q=s*-(E*K-F*H)+u*-(F*G-B*K)+v*-(B*H-E*G)-A;while(1){x=+g[p+(o<<4)>>2];y=+g[p+(o<<4)+4>>2];z=+g[p+(o<<4)+8>>2];n=+g[p+(o<<4)+12>>2];w=x*-(E*K-F*H)+y*-(F*G-B*K)+z*-(B*H-E*G)-A;do if(q<0.0)if(w<0.0){r=c[I+4>>2]|0;if((r|0)!=(c[I+8>>2]|0)){t=x;s=y;q=z;C=87;break}D=r|0?r<<1:1;if((r|0)>=(D|0)){t=x;s=y;q=z;C=87;break}if(!D)p=0;else{c[6995]=(c[6995]|0)+1;p=sc((D<<4|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}r=c[I+4>>2]|0}if((r|0)>0){C=0;do{_=p+(C<<4)|0;$=(c[I+12>>2]|0)+(C<<4)|0;c[_>>2]=c[$>>2];c[_+4>>2]=c[$+4>>2];c[_+8>>2]=c[$+8>>2];c[_+12>>2]=c[$+12>>2];C=C+1|0}while((C|0)!=(r|0))}r=c[I+12>>2]|0;if(r|0){if(a[I+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[r+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=p;c[I+8>>2]=D;r=c[I+4>>2]|0;t=x;s=y;q=z;C=87;break}else{q=q/(q-w);t=s+(x-s)*q;s=u+(y-u)*q;q=v+(z-v)*q;r=c[I+4>>2]|0;if((r|0)!=(c[I+8>>2]|0)){n=0.0;C=87;break}D=r|0?r<<1:1;if((r|0)>=(D|0)){n=0.0;C=87;break}if(!D)p=0;else{c[6995]=(c[6995]|0)+1;p=sc((D<<4|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}r=c[I+4>>2]|0}if((r|0)>0){C=0;do{$=p+(C<<4)|0;_=(c[I+12>>2]|0)+(C<<4)|0;c[$>>2]=c[_>>2];c[$+4>>2]=c[_+4>>2];c[$+8>>2]=c[_+8>>2];c[$+12>>2]=c[_+12>>2];C=C+1|0}while((C|0)!=(r|0))}r=c[I+12>>2]|0;if(r|0){if(a[I+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[r+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=p;c[I+8>>2]=D;r=c[I+4>>2]|0;n=0.0;C=87;break}else if(w<0.0){q=q/(q-w);t=s+(x-s)*q;s=u+(y-u)*q;q=v+(z-v)*q;r=c[I+4>>2]|0;if((r|0)==(c[I+8>>2]|0)?(S=r|0?r<<1:1,(r|0)<(S|0)):0){if(!S)p=0;else{c[6995]=(c[6995]|0)+1;p=sc((S<<4|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}r=c[I+4>>2]|0}if((r|0)>0){C=0;do{$=p+(C<<4)|0;_=(c[I+12>>2]|0)+(C<<4)|0;c[$>>2]=c[_>>2];c[$+4>>2]=c[_+4>>2];c[$+8>>2]=c[_+8>>2];c[$+12>>2]=c[_+12>>2];C=C+1|0}while((C|0)!=(r|0))}r=c[I+12>>2]|0;if(r|0){if(a[I+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[r+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=p;c[I+8>>2]=S;p=c[I+4>>2]|0}else p=r;r=c[I+12>>2]|0;g[r+(p<<4)>>2]=t;g[r+(p<<4)+4>>2]=s;g[r+(p<<4)+8>>2]=q;g[r+(p<<4)+12>>2]=0.0;r=(c[I+4>>2]|0)+1|0;c[I+4>>2]=r;if((r|0)==(c[I+8>>2]|0)?(T=r|0?r<<1:1,(r|0)<(T|0)):0){if(!T)p=0;else{c[6995]=(c[6995]|0)+1;p=sc((T<<4|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}r=c[I+4>>2]|0}if((r|0)>0){C=0;do{$=p+(C<<4)|0;_=(c[I+12>>2]|0)+(C<<4)|0;c[$>>2]=c[_>>2];c[$+4>>2]=c[_+4>>2];c[$+8>>2]=c[_+8>>2];c[$+12>>2]=c[_+12>>2];C=C+1|0}while((C|0)!=(r|0))}r=c[I+12>>2]|0;if(r|0){if(a[I+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[r+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=p;c[I+8>>2]=T;r=c[I+4>>2]|0;t=x;s=y;q=z;C=87}else{t=x;s=y;q=z;C=87}}while(0);if((C|0)==87){C=0;$=c[I+12>>2]|0;g[$+(r<<4)>>2]=t;g[$+(r<<4)+4>>2]=s;g[$+(r<<4)+8>>2]=q;g[$+(r<<4)+12>>2]=n;c[I+4>>2]=(c[I+4>>2]|0)+1}o=o+1|0;if((o|0)==(m|0))break;q=w;s=x;v=z;u=y;p=c[J+12>>2]|0}m=c[J+4>>2]|0}if((m|0)<0){if((c[J+8>>2]|0)<0){o=c[J+12>>2]|0;if(o|0){if(a[J+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[o+-4>>2]|0)}c[J+12>>2]=0}a[J+16>>0]=1;c[J+12>>2]=0;c[J+8>>2]=0}do{$=(c[J+12>>2]|0)+(m<<4)|0;c[$>>2]=c[W>>2];c[$+4>>2]=c[W+4>>2];c[$+8>>2]=c[W+8>>2];c[$+12>>2]=c[W+12>>2];m=m+1|0}while((m|0)!=0)}c[J+4>>2]=0;x=+g[e>>2];y=+g[e+4>>2];u=+g[e+8>>2];w=+g[e+16>>2];v=+g[e+20>>2];t=+g[e+24>>2];s=+g[e+32>>2];q=+g[e+36>>2];n=+g[e+40>>2];if(L){p=P;o=Q;m=R;C=e+48|0;D=e+52|0;r=e+56|0;break}else{$=f;f=h;h=$}}}else{p=V+(U*36|0)+20|0;o=V+(U*36|0)+24|0;m=V+(U*36|0)+28|0;C=e+48|0;D=e+52|0;r=e+56|0;h=f;x=E;y=F;u=G;w=H}X=+g[p>>2];Y=+g[o>>2];Z=+g[m>>2];u=X*x+Y*y+Z*u;t=X*w+Y*v+Z*t;s=X*s+Y*q+Z*n;q=+g[V+(U*36|0)+32>>2]-(u*+g[C>>2]+t*+g[D>>2]+s*+g[r>>2]);m=c[h+4>>2]|0;if((m|0)<=0){l=W;return}p=0;do{o=c[h+12>>2]|0;n=q+(u*+g[o+(p<<4)>>2]+t*+g[o+(p<<4)+4>>2]+s*+g[o+(p<<4)+8>>2]);n=n<=i?i:n;if(n<=j){m=o+(p<<4)|0;c[W>>2]=c[m>>2];c[W+4>>2]=c[m+4>>2];c[W+8>>2]=c[m+8>>2];c[W+12>>2]=c[m+12>>2];Tb[c[(c[k>>2]|0)+16>>2]&15](k,b,W,n);m=c[h+4>>2]|0}p=p+1|0}while((p|0)<(m|0));l=W;return}function Nc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;j=c[b+228>>2]|0;i=c[b+196>>2]|0;if((i|0)<(j|0)){if((c[b+200>>2]|0)<(j|0)){if(!j){e=0;h=i}else{c[6995]=(c[6995]|0)+1;e=sc((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+196>>2]|0}if((h|0)>0){f=0;do{c[e+(f<<2)>>2]=c[(c[b+204>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[b+204>>2]|0;if(f|0){if(a[b+208>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+204>>2]=0}a[b+208>>0]=1;c[b+204>>2]=e;c[b+200>>2]=j;f=b+204|0}else f=b+204|0;e=i;do{c[(c[f>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(j|0))}else f=b+204|0;c[b+196>>2]=j;e=0;while(1){if((e|0)>=(xb[c[(c[b>>2]|0)+104>>2]&127](b)|0))break;c[(c[f>>2]|0)+(e<<2)>>2]=c[(c[b+236>>2]|0)+(e<<2)>>2];e=e+1|0}e=c[b+196>>2]|0;if((e|0)>1)Ni(b+192|0,0,e+-1|0);if(!(xb[c[(c[b>>2]|0)+104>>2]&127](b)|0))e=0;else e=c[f>>2]|0;h=c[b+212>>2]|0;t=c[b+196>>2]|0;u=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;c[h+4>>2]=d;c[h+12>>2]=e;c[h+16>>2]=t;c[h+20>>2]=u;e=c[h+32>>2]|0;if((e|0)<0){if((c[h+36>>2]|0)<0){f=c[h+40>>2]|0;if(f|0){if(a[h+44>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[h+40>>2]=0}a[h+44>>0]=1;c[h+40>>2]=0;c[h+36>>2]=0}do{c[(c[h+40>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+32>>2]=0;e=c[h+52>>2]|0;if((e|0)<0){if((c[h+56>>2]|0)<0){f=c[h+60>>2]|0;if(f|0){if(a[h+64>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[h+60>>2]=0}a[h+64>>0]=1;c[h+60>>2]=0;c[h+56>>2]=0}do{c[(c[h+60>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+52>>2]=0;e=c[h+72>>2]|0;if((e|0)<0){if((c[h+76>>2]|0)<0){f=c[h+80>>2]|0;if(f|0){if(a[h+84>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[h+80>>2]=0}a[h+84>>0]=1;c[h+80>>2]=0;c[h+76>>2]=0}do{c[(c[h+80>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+72>>2]=0;u=c[b+216>>2]|0;e=c[(c[u>>2]|0)+8>>2]|0;s=c[b+8>>2]|0;t=c[b+24>>2]|0;t=xb[c[(c[t>>2]|0)+36>>2]&127](t)|0;Sb[e&127](u,s,t);t=c[b+220>>2]|0;s=c[b+24>>2]|0;u=c[b+212>>2]|0;e=c[t+28>>2]|0;if((e|0)<0){if((c[t+32>>2]|0)<0){f=c[t+36>>2]|0;if(f|0){if(a[t+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[t+36>>2]=0}a[t+40>>0]=1;c[t+36>>2]=0;c[t+32>>2]=0}do{c[(c[t+36>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[t+28>>2]=0;j=c[t+8>>2]|0;if((j|0)>0){k=c[t+16>>2]|0;i=0;do{m=k+(i<<3)|0;e=c[m>>2]|0;if((e|0)==(i|0))e=i;else{f=e;h=m;do{e=k+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=k+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}c[m>>2]=e;i=i+1|0}while((i|0)!=(j|0));if((j|0)>1){vj(t+4|0,0,j+-1|0);j=c[t+8>>2]|0}if((j|0)>0){o=c[t+16>>2]|0;e=0;while(1){p=c[o+(e<<3)>>2]|0;m=e;while(1){k=m+1|0;if((k|0)>=(j|0)){n=0;break}if((c[o+(k<<3)>>2]|0)==(p|0))m=k;else{n=1;break}}a:do if((e|0)<=(m|0)){q=c[b+16>>2]|0;f=1;i=e;while(1){h=c[q+(c[o+(i<<3)+4>>2]<<2)>>2]|0;if((c[h+208>>2]|0)==(p|0)){h=c[h+220>>2]|0;f=(h|0)!=4&(f&(h|0)!=1)}if((i|0)<(m|0))i=i+1|0;else break}if(f)while(1){f=c[q+(c[o+(e<<3)+4>>2]<<2)>>2]|0;if((c[f+208>>2]|0)==(p|0)?(c[f+220>>2]&-2|0)!=4:0)c[f+220>>2]=2;if((e|0)>=(m|0))break a;e=e+1|0}else while(1){f=c[q+(c[o+(e<<3)+4>>2]<<2)>>2]|0;if((c[f+208>>2]|0)==(p|0)?(c[f+220>>2]|0)==2:0){c[f+220>>2]=3;g[f+224>>2]=0.0}if((e|0)>=(m|0))break a;e=e+1|0}}while(0);if(n)e=k;else break}}}j=xb[c[(c[s>>2]|0)+36>>2]&127](s)|0;if((j|0)>0){i=0;do{k=zb[c[(c[s>>2]|0)+40>>2]&31](s,i)|0;f=c[k+772>>2]|0;h=c[k+776>>2]|0;if((f|0)!=0?(c[f+220>>2]|0)!=2:0)e=94;else e=92;if(((e|0)==92?(e=0,h|0):0)?(c[h+220>>2]|0)!=2:0)e=94;if((e|0)==94){e=c[f+204>>2]|0;if((e&2|0?((e&4|0)==0?(c[f+220>>2]|0)!=2:0):0)?(c[h+204>>2]&3|0)==0:0){if((c[h+220>>2]&-2|0)!=4)c[h+220>>2]=1;g[h+224>>2]=0.0}q=c[h+204>>2]|0;if(q&2|0?((q&4|e&3|0)==0?(c[h+220>>2]|0)!=2:0):0){if((c[f+220>>2]&-2|0)!=4)c[f+220>>2]=1;g[f+224>>2]=0.0}if(a[t+64>>0]|0?Bb[c[(c[s>>2]|0)+28>>2]&63](s,f,h)|0:0){f=c[t+28>>2]|0;if((f|0)==(c[t+32>>2]|0)?(r=f|0?f<<1:1,(f|0)<(r|0)):0){if(!r)e=0;else{c[6995]=(c[6995]|0)+1;e=sc((r<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[t+28>>2]|0}if((f|0)>0){h=0;do{c[e+(h<<2)>>2]=c[(c[t+36>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[t+36>>2]|0;if(h){if(a[t+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);f=c[t+28>>2]|0}c[t+36>>2]=0}a[t+40>>0]=1;c[t+36>>2]=e;c[t+32>>2]=r;e=f}else e=f;c[(c[t+36>>2]|0)+(e<<2)>>2]=k;c[t+28>>2]=e+1}}i=i+1|0}while((i|0)<(j|0));e=t+64|0}else e=t+64|0;r=c[t+8>>2]|0;if(!(a[e>>0]|0)){w=xb[c[(c[s>>2]|0)+44>>2]&127](s)|0;v=xb[c[(c[s>>2]|0)+36>>2]&127](s)|0;$b[c[(c[u>>2]|0)+8>>2]&7](u,c[b+16>>2]|0,c[b+8>>2]|0,w,v,-1);v=c[b+212>>2]|0;gh(v);v=c[b+216>>2]|0;u=c[v>>2]|0;u=u+16|0;u=c[u>>2]|0;w=b+72|0;w=c[w>>2]|0;Sb[u&127](v,d,w);l=x;return}q=c[t+28>>2]|0;if((q|0)>1)Ji(t+24|0,0,q+-1|0);if((r|0)<=0){v=c[b+212>>2]|0;gh(v);v=c[b+216>>2]|0;u=c[v>>2]|0;u=u+16|0;u=c[u>>2]|0;w=b+72|0;w=c[w>>2]|0;Sb[u&127](v,d,w);l=x;return}e=0;n=1;p=0;while(1){f=c[t+16>>2]|0;o=c[f+(e<<3)>>2]|0;b:do if((e|0)<(r|0)){i=1;j=c[t+48>>2]|0;h=c[t+52>>2]|0;while(1){m=c[(c[b+16>>2]|0)+(c[f+(e<<3)+4>>2]<<2)>>2]|0;if((j|0)==(h|0)){k=h|0?h<<1:1;if((h|0)<(k|0)){if(!k)f=0;else{c[6995]=(c[6995]|0)+1;f=sc((k<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[t+48>>2]|0}if((h|0)>0){j=0;do{c[f+(j<<2)>>2]=c[(c[t+56>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[t+56>>2]|0;if(j){if(a[t+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);h=c[t+48>>2]|0}c[t+56>>2]=0}a[t+60>>0]=1;c[t+56>>2]=f;c[t+52>>2]=k;f=h;h=k}else f=h}else f=j;c[(c[t+56>>2]|0)+(f<<2)>>2]=m;j=f+1|0;c[t+48>>2]=j;s=c[m+220>>2]|0;i=i&((s|0)==2|(s|0)==5);e=e+1|0;if((e|0)>=(r|0)){k=e;f=i;break b}f=c[t+16>>2]|0;if((c[f+(e<<3)>>2]|0)!=(o|0)){k=e;f=i;break}}}else{k=e;f=1}while(0);if((p|0)<(q|0)?(v=c[t+36>>2]|0,w=v+(p<<2)|0,s=c[w>>2]|0,m=c[s+772>>2]|0,(c[((c[m+208>>2]|0)>-1?m:c[s+776>>2]|0)+208>>2]|0)==(o|0)):0){e=p;do{e=e+1|0;if((e|0)>=(q|0))break;s=c[v+(e<<2)>>2]|0;n=c[s+772>>2]|0}while((o|0)==(c[((c[n+208>>2]|0)>-1?n:c[s+776>>2]|0)+208>>2]|0));h=w;i=e-p|0;j=e}else{h=0;i=0;j=n}if(!f)$b[c[(c[u>>2]|0)+8>>2]&7](u,c[t+56>>2]|0,c[t+48>>2]|0,h,i,o);p=(i|0)==0?p:j;e=c[t+48>>2]|0;if((e|0)<0){if((c[t+52>>2]|0)<0){f=c[t+56>>2]|0;if(f|0){if(a[t+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[t+56>>2]=0}a[t+60>>0]=1;c[t+56>>2]=0;c[t+52>>2]=0}do{c[(c[t+56>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[t+48>>2]=0;if((k|0)>=(r|0))break;else{e=k;n=j}}v=c[b+212>>2]|0;gh(v);v=c[b+216>>2]|0;u=c[v>>2]|0;u=u+16|0;u=c[u>>2]|0;w=b+72|0;w=c[w>>2]|0;Sb[u&127](v,d,w);l=x;return}function Oc(b){b=b|0;var d=0.0,e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0;u=l;l=l+176|0;if(!(a[b+738>>0]|0)){l=u;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;if(!(a[b+736>>0]|0)){f=c[b+28>>2]|0;j=+g[b+600>>2];k=+g[b+604>>2];q=+g[b+608>>2];s=j*+g[f+20>>2]+k*+g[f+24>>2]+q*+g[f+28>>2]+ +g[f+56>>2];i=c[b+32>>2]|0;m=+g[b+664>>2];n=+g[b+668>>2];r=+g[b+672>>2];t=m*+g[i+20>>2]+n*+g[i+24>>2]+r*+g[i+28>>2]+ +g[i+56>>2];o=m*+g[i+36>>2]+n*+g[i+40>>2]+r*+g[i+44>>2]+ +g[i+60>>2];p=j*+g[f+4>>2]+k*+g[f+8>>2]+q*+g[f+12>>2]+ +g[f+52>>2];q=j*+g[f+36>>2]+k*+g[f+40>>2]+q*+g[f+44>>2]+ +g[f+60>>2];r=m*+g[i+4>>2]+n*+g[i+8>>2]+r*+g[i+12>>2]+ +g[i+52>>2];if((r-p)*(r-p)+(t-s)*(t-s)+(o-q)*(o-q)>1.1920928955078125e-07){e=1.0/+D(+((r-p)*(r-p)+(t-s)*(t-s)+(o-q)*(o-q)));g[u+128>>2]=(r-p)*e;g[u+128+4>>2]=(t-s)*e;g[u+128+8>>2]=(o-q)*e;c[u+128+12>>2]=0;m=(o-q)*e;d=(t-s)*e;e=(r-p)*e}else{c[u+128>>2]=1065353216;c[u+128+4>>2]=0;c[u+128+8>>2]=0;g[u+128+12>>2]=0.0;m=0.0;d=0.0;e=1.0}if(+C(+m)>.7071067690849304){w=m*m+d*d;v=1.0/+D(+w);j=-(v*m);m=v*d;n=-(m*e);h=e*j;k=0.0;d=w*v;e=m}else{j=e*e+d*d;h=1.0/+D(+j);k=-(d*h);d=h*e;n=m*k;h=j*h;j=d;d=-(d*m);e=0.0}g[u+128+16>>2]=k;g[u+128+20>>2]=j;g[u+128+24>>2]=e;g[u+128+32>>2]=d;g[u+128+36>>2]=n;g[u+128+40>>2]=h;f=0;while(1){x=c[b+28>>2]|0;c[u+80>>2]=c[x+4>>2];c[u+80+4>>2]=c[x+20>>2];c[u+80+8>>2]=c[x+36>>2];g[u+80+12>>2]=0.0;c[u+80+16>>2]=c[x+8>>2];c[u+80+20>>2]=c[x+24>>2];c[u+80+24>>2]=c[x+40>>2];g[u+80+28>>2]=0.0;c[u+80+32>>2]=c[x+12>>2];c[u+80+36>>2]=c[x+28>>2];c[u+80+40>>2]=c[x+44>>2];g[u+80+44>>2]=0.0;c[u+32>>2]=c[i+4>>2];c[u+32+4>>2]=c[i+20>>2];c[u+32+8>>2]=c[i+36>>2];g[u+32+12>>2]=0.0;c[u+32+16>>2]=c[i+8>>2];c[u+32+20>>2]=c[i+24>>2];c[u+32+24>>2]=c[i+40>>2];g[u+32+28>>2]=0.0;c[u+32+32>>2]=c[i+12>>2];c[u+32+36>>2]=c[i+28>>2];c[u+32+40>>2]=c[i+44>>2];g[u+32+44>>2]=0.0;w=s-+g[x+56>>2];v=q-+g[x+60>>2];g[u+16>>2]=p-+g[x+52>>2];g[u+16+4>>2]=w;g[u+16+8>>2]=v;g[u+16+12>>2]=0.0;v=t-+g[i+56>>2];w=o-+g[i+60>>2];g[u>>2]=r-+g[i+52>>2];g[u+4>>2]=v;g[u+8>>2]=w;g[u+12>>2]=0.0;x=c[b+28>>2]|0;i=c[b+32>>2]|0;Rg(b+48+(f*84|0)|0,u+80|0,u+32|0,u+16|0,u,u+128+(f<<4)|0,x+456|0,+g[x+404>>2],i+456|0,+g[i+404>>2]);f=f+1|0;if((f|0)==3)break;i=c[b+32>>2]|0}}n=+g[b+560>>2];o=+g[b+576>>2];p=+g[b+592>>2];if(+C(+p)>.7071067690849304){m=1.0/+D(+(p*p+o*o));d=n*-(p*m);e=(p*p+o*o)*m;h=0.0;j=o*m;k=-(n*o*m);m=-(p*m)}else{m=1.0/+D(+(n*n+o*o));d=(n*n+o*o)*m;e=-(p*n*m);h=-(o*m);j=0.0;k=p*-(o*m);m=n*m}i=c[b+28>>2]|0;K=+g[i+4>>2];J=+g[i+8>>2];s=+g[i+12>>2];R=h*K+m*J+j*s;I=+g[i+20>>2];H=+g[i+24>>2];v=+g[i+28>>2];T=h*I+m*H+j*v;G=+g[i+36>>2];q=+g[i+40>>2];E=+g[i+44>>2];W=h*G+m*q+j*E;B=e*K+k*J+d*s;M=e*I+k*H+d*v;N=e*G+k*q+d*E;f=c[b+32>>2]|0;A=+g[f+4>>2];z=+g[f+20>>2];y=+g[f+36>>2];k=+g[f+8>>2];m=+g[f+24>>2];t=+g[f+40>>2];P=+g[f+12>>2];S=+g[f+28>>2];V=+g[f+44>>2];c[b+300>>2]=0;c[b+300+4>>2]=0;c[b+300+8>>2]=0;c[b+300+12>>2]=0;g[b+316>>2]=R*K+T*I+W*G;g[b+320>>2]=R*J+T*H+W*q;g[b+324>>2]=R*s+T*v+W*E;g[b+328>>2]=0.0;g[b+332>>2]=A*-R+z*-T+y*-W;g[b+336>>2]=k*-R+m*-T+t*-W;g[b+340>>2]=P*-R+S*-T+V*-W;g[b+344>>2]=0.0;F=(R*K+T*I+W*G)*+g[i+456>>2];L=(R*J+T*H+W*q)*+g[i+460>>2];d=(R*s+T*v+W*E)*+g[i+464>>2];g[b+348>>2]=F;g[b+352>>2]=L;g[b+356>>2]=d;g[b+360>>2]=0.0;j=(A*-R+z*-T+y*-W)*+g[f+456>>2];w=(k*-R+m*-T+t*-W)*+g[f+460>>2];X=(P*-R+S*-T+V*-W)*+g[f+464>>2];g[b+364>>2]=j;g[b+368>>2]=w;g[b+372>>2]=X;g[b+376>>2]=0.0;g[b+380>>2]=(R*K+T*I+W*G)*F+(R*J+T*H+W*q)*L+(R*s+T*v+W*E)*d+((A*-R+z*-T+y*-W)*j+(k*-R+m*-T+t*-W)*w+(P*-R+S*-T+V*-W)*X);f=c[b+28>>2]|0;X=+g[f+4>>2];W=+g[f+20>>2];V=+g[f+36>>2];T=+g[f+8>>2];S=+g[f+24>>2];R=+g[f+40>>2];P=+g[f+12>>2];w=+g[f+28>>2];t=+g[f+44>>2];i=c[b+32>>2]|0;m=+g[i+4>>2];k=+g[i+20>>2];j=+g[i+36>>2];y=+g[i+8>>2];z=+g[i+24>>2];A=+g[i+40>>2];d=+g[i+12>>2];L=+g[i+28>>2];F=+g[i+44>>2];c[b+384>>2]=0;c[b+384+4>>2]=0;c[b+384+8>>2]=0;c[b+384+12>>2]=0;g[b+400>>2]=B*X+M*W+N*V;g[b+404>>2]=B*T+M*S+N*R;g[b+408>>2]=B*P+M*w+N*t;g[b+412>>2]=0.0;g[b+416>>2]=m*-B+k*-M+j*-N;g[b+420>>2]=y*-B+z*-M+A*-N;g[b+424>>2]=d*-B+L*-M+F*-N;g[b+428>>2]=0.0;U=(B*X+M*W+N*V)*+g[f+456>>2];Q=(B*T+M*S+N*R)*+g[f+460>>2];r=(B*P+M*w+N*t)*+g[f+464>>2];g[b+432>>2]=U;g[b+436>>2]=Q;g[b+440>>2]=r;g[b+444>>2]=0.0;e=(m*-B+k*-M+j*-N)*+g[i+456>>2];h=(y*-B+z*-M+A*-N)*+g[i+460>>2];O=(d*-B+L*-M+F*-N)*+g[i+464>>2];g[b+448>>2]=e;g[b+452>>2]=h;g[b+456>>2]=O;g[b+460>>2]=0.0;g[b+464>>2]=(B*X+M*W+N*V)*U+(B*T+M*S+N*R)*Q+(B*P+M*w+N*t)*r+((m*-B+k*-M+j*-N)*e+(y*-B+z*-M+A*-N)*h+(d*-B+L*-M+F*-N)*O);i=c[b+28>>2]|0;O=+g[i+4>>2];N=+g[i+20>>2];F=+g[i+36>>2];M=+g[i+8>>2];L=+g[i+24>>2];B=+g[i+40>>2];d=+g[i+12>>2];h=+g[i+28>>2];A=+g[i+44>>2];f=c[b+32>>2]|0;z=+g[f+4>>2];y=+g[f+20>>2];e=+g[f+36>>2];j=+g[f+8>>2];k=+g[f+24>>2];m=+g[f+40>>2];r=+g[f+12>>2];t=+g[f+28>>2];w=+g[f+44>>2];c[b+468>>2]=0;c[b+468+4>>2]=0;c[b+468+8>>2]=0;c[b+468+12>>2]=0;F=(K*n+J*o+s*p)*O+(I*n+H*o+v*p)*N+(G*n+q*o+E*p)*F;B=(K*n+J*o+s*p)*M+(I*n+H*o+v*p)*L+(G*n+q*o+E*p)*B;A=(K*n+J*o+s*p)*d+(I*n+H*o+v*p)*h+(G*n+q*o+E*p)*A;g[b+484>>2]=F;g[b+488>>2]=B;g[b+492>>2]=A;g[b+496>>2]=0.0;s=-(K*n+J*o+s*p);v=-(I*n+H*o+v*p);h=-(G*n+q*o+E*p);g[b+500>>2]=z*s+y*v+e*h;g[b+504>>2]=j*s+k*v+m*h;g[b+508>>2]=r*s+t*v+w*h;g[b+512>>2]=0.0;E=F*+g[i+456>>2];n=B*+g[i+460>>2];o=A*+g[i+464>>2];g[b+516>>2]=E;g[b+520>>2]=n;g[b+524>>2]=o;g[b+528>>2]=0.0;p=(z*s+y*v+e*h)*+g[f+456>>2];q=(j*s+k*v+m*h)*+g[f+460>>2];d=(r*s+t*v+w*h)*+g[f+464>>2];g[b+532>>2]=p;g[b+536>>2]=q;g[b+540>>2]=d;g[b+544>>2]=0.0;g[b+548>>2]=F*E+B*n+A*o+((z*s+y*v+e*h)*p+(j*s+k*v+m*h)*q+(r*s+t*v+w*h)*d);g[b+724>>2]=0.0;f=c[b+28>>2]|0;i=c[b+32>>2]|0;d=+bj(b,f+4|0,i+4|0);g[b+728>>2]=d;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;h=+g[b+692>>2];do if(h>=0.0){d=+mh(d-+g[b+688>>2],6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(d<-h){a[b+716>>0]=1;e=1.0;d=-(d+h)}else{if(!(d>h))break;a[b+716>>0]=1;e=-1.0;d=h-d}g[b+708>>2]=d;g[b+712>>2]=e}while(0);T=+g[b+560>>2];U=+g[b+576>>2];X=+g[b+592>>2];V=T*+g[f+4>>2]+U*+g[f+8>>2]+X*+g[f+12>>2];W=T*+g[f+20>>2]+U*+g[f+24>>2]+X*+g[f+28>>2];X=T*+g[f+36>>2]+U*+g[f+40>>2]+X*+g[f+44>>2];g[b+720>>2]=1.0/(V*(V*+g[f+324>>2]+W*+g[f+340>>2]+X*+g[f+356>>2])+W*(V*+g[f+328>>2]+W*+g[f+344>>2]+X*+g[f+360>>2])+X*(V*+g[f+332>>2]+W*+g[f+348>>2]+X*+g[f+364>>2])+(V*(V*+g[i+324>>2]+W*+g[i+340>>2]+X*+g[i+356>>2])+W*(V*+g[i+328>>2]+W*+g[i+344>>2]+X*+g[i+360>>2])+X*(V*+g[i+332>>2]+W*+g[i+348>>2]+X*+g[i+364>>2])));l=u;return}function Pc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,E=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0;M=l;l=l+64|0;if(!(c[b+12>>2]|0)){l=M;return}f=(a[b+16>>0]|0)!=0;P=f?e:d;f=f?d:e;i=c[P+4>>2]|0;j=c[f+4>>2]|0;P=c[P+12>>2]|0;aa=+g[P>>2];$=+g[P+16>>2];_=+g[P+32>>2];Z=+g[P+4>>2];Y=+g[P+20>>2];o=+g[P+36>>2];k=+g[P+8>>2];r=+g[P+24>>2];y=+g[P+40>>2];T=+g[P+48>>2];S=+g[P+52>>2];R=+g[P+56>>2];O=c[f+12>>2]|0;X=+g[O>>2];W=+g[O+16>>2];p=+g[O+32>>2];V=+g[O+4>>2];U=+g[O+20>>2];q=+g[O+36>>2];x=+g[O+8>>2];v=+g[O+24>>2];t=+g[O+40>>2];Q=-+g[O+48>>2];I=-+g[O+52>>2];J=-+g[O+56>>2];K=+g[P>>2];L=+g[P+16>>2];H=+g[P+32>>2];B=+g[P+4>>2];A=+g[P+20>>2];z=+g[P+36>>2];w=+g[P+8>>2];u=+g[P+24>>2];s=+g[P+40>>2];P=c[(c[i>>2]|0)+64>>2]|0;n=-+g[j+52>>2];m=-+g[j+56>>2];E=-+g[j+60>>2];g[M+48>>2]=(aa*X+$*W+_*p)*n+(aa*V+$*U+_*q)*m+(aa*x+$*v+_*t)*E;g[M+48+4>>2]=(Z*X+Y*W+o*p)*n+(Z*V+Y*U+o*q)*m+(Z*x+Y*v+o*t)*E;g[M+48+8>>2]=(k*X+r*W+y*p)*n+(k*V+r*U+y*q)*m+(k*x+r*v+y*t)*E;g[M+48+12>>2]=0.0;Sb[P&127](M,i,M+48|0);E=+g[M>>2];y=+g[M+4>>2];r=+g[M+8>>2];k=+g[j+52>>2];m=+g[j+56>>2];n=+g[j+60>>2];o=n*(T*x+S*v+R*t+(x*Q+v*I+t*J)+((x*K+v*L+t*H)*E+(x*B+v*A+t*z)*y+(x*w+v*u+t*s)*r))+(k*(T*X+S*W+R*p+(X*Q+W*I+p*J)+((X*K+W*L+p*H)*E+(X*B+W*A+p*z)*y+(X*w+W*u+p*s)*r))+m*(T*V+S*U+R*q+(V*Q+U*I+q*J)+((V*K+U*L+q*H)*E+(V*B+U*A+q*z)*y+(V*w+U*u+q*s)*r)))-+g[j+68>>2];p=T*X+S*W+R*p+(X*Q+W*I+p*J)+((X*K+W*L+p*H)*E+(X*B+W*A+p*z)*y+(X*w+W*u+p*s)*r)-k*o;q=T*V+S*U+R*q+(V*Q+U*I+q*J)+((V*K+U*L+q*H)*E+(V*B+U*A+q*z)*y+(V*w+U*u+q*s)*r)-m*o;r=T*x+S*v+R*t+(x*Q+v*I+t*J)+((x*K+v*L+t*H)*E+(x*B+v*A+t*z)*y+(x*w+v*u+t*s)*r)-n*o;P=c[f+12>>2]|0;s=+g[P>>2];t=+g[P+4>>2];u=+g[P+8>>2];v=+g[P+16>>2];w=+g[P+20>>2];x=+g[P+24>>2];y=+g[P+32>>2];z=+g[P+36>>2];A=+g[P+40>>2];B=+g[P+48>>2];E=+g[P+52>>2];H=+g[P+56>>2];P=c[b+12>>2]|0;O=o<+g[P+784>>2];c[h+4>>2]=P;if(O){P=c[f+12>>2]|0;$=k*+g[P+16>>2]+m*+g[P+20>>2]+n*+g[P+24>>2];aa=k*+g[P+32>>2]+m*+g[P+36>>2]+n*+g[P+40>>2];g[M+48>>2]=+g[P>>2]*k+ +g[P+4>>2]*m+ +g[P+8>>2]*n;g[M+48+4>>2]=$;g[M+48+8>>2]=aa;g[M+48+12>>2]=0.0;g[M+32>>2]=u*r+(s*p+t*q)+B;g[M+32+4>>2]=p*v+q*w+r*x+E;g[M+32+8>>2]=p*y+q*z+r*A+H;g[M+32+12>>2]=0.0;Tb[c[(c[h>>2]|0)+16>>2]&15](h,M+48|0,M+32|0,o)}if((c[i+4>>2]|0)<7?(c[(c[h+4>>2]|0)+780>>2]|0)<(c[b+24>>2]|0):0){k=+g[j+60>>2];if(+C(+k)>.7071067690849304){n=+g[j+56>>2];aa=1.0/+D(+(k*k+n*n));m=0.0;n=n*aa;k=-(k*aa)}else{aa=+g[j+52>>2];m=+g[j+56>>2];k=1.0/+D(+(aa*aa+m*m));m=-(m*k);n=0.0;k=aa*k}J=.019999999552965164/+nb[c[(c[i>>2]|0)+16>>2]&15](i);J=(J>.39269909262657166?.39269909262657166:J)*.5;I=+G(+J)/+D(+(m*m+k*k+n*n));L=m*I;K=k*I;I=n*I;J=+F(+J);f=c[b+20>>2]|0;if((f|0)>0){i=0;do{v=+g[j+52>>2];aa=+g[j+56>>2];B=+g[j+60>>2];z=+(i|0)*(6.2831854820251465/+(f|0))*.5;$=+G(+z)/+D(+(v*v+aa*aa+B*B));z=+F(+z);A=I*-(aa*$)+(L*z+J*-(v*$))-K*-(B*$);x=L*-(B*$)+(K*z+J*-(aa*$))-I*-(v*$);da=K*-(v*$)+(I*z+J*-(B*$))-L*-(aa*$);H=J*z-L*-(v*$)-K*-(aa*$)-I*-(B*$);ia=B*$*x+(v*$*H+z*A)-aa*$*da;ha=v*$*da+(z*x+aa*$*H)-B*$*A;la=aa*$*A+(B*$*H+z*da)-v*$*x;da=z*H-v*$*A-aa*$*x-B*$*da;f=(a[b+16>>0]|0)!=0;ba=f?e:d;f=f?d:e;P=c[ba+4>>2]|0;O=c[f+4>>2]|0;ba=c[ba+12>>2]|0;$=+g[ba>>2];B=+g[ba+4>>2];x=+g[ba+8>>2];aa=+g[ba+16>>2];A=+g[ba+20>>2];v=+g[ba+24>>2];H=+g[ba+32>>2];z=+g[ba+36>>2];t=+g[ba+40>>2];V=+g[ba+48>>2];W=+g[ba+52>>2];X=+g[ba+56>>2];ba=c[f+12>>2]|0;R=+g[ba>>2];S=+g[ba+16>>2];p=+g[ba+32>>2];T=+g[ba+4>>2];U=+g[ba+20>>2];q=+g[ba+36>>2];w=+g[ba+8>>2];u=+g[ba+24>>2];s=+g[ba+40>>2];Y=-+g[ba+48>>2];Z=-+g[ba+52>>2];_=-+g[ba+56>>2];ga=ia*(2.0/(ia*ia+ha*ha+la*la+da*da));n=ha*(2.0/(ia*ia+ha*ha+la*la+da*da));ca=la*(2.0/(ia*ia+ha*ha+la*la+da*da));na=x*(ia*ca-da*n)+(B*(ia*n+da*ca)+$*(1.0-(ha*n+la*ca)));ka=x*(ha*ca+da*ga)+($*(ia*n-da*ca)+B*(1.0-(ia*ga+la*ca)));k=$*(ia*ca+da*n)+B*(ha*ca-da*ga)+x*(1.0-(ia*ga+ha*n));ma=v*(ia*ca-da*n)+(A*(ia*n+da*ca)+aa*(1.0-(ha*n+la*ca)));ja=v*(ha*ca+da*ga)+(aa*(ia*n-da*ca)+A*(1.0-(ia*ga+la*ca)));y=aa*(ia*ca+da*n)+A*(ha*ca-da*ga)+v*(1.0-(ia*ga+ha*n));oa=t*(ia*ca-da*n)+(z*(ia*n+da*ca)+H*(1.0-(ha*n+la*ca)));la=t*(ha*ca+da*ga)+(H*(ia*n-da*ca)+z*(1.0-(ia*ga+la*ca)));n=H*(ia*ca+da*n)+z*(ha*ca-da*ga)+t*(1.0-(ia*ga+ha*n));ha=+g[ba>>2];ga=+g[ba+16>>2];ia=+g[ba+32>>2];da=+g[ba+4>>2];ca=+g[ba+20>>2];ea=+g[ba+36>>2];m=+g[ba+8>>2];r=+g[ba+24>>2];o=+g[ba+40>>2];ba=c[(c[P>>2]|0)+64>>2]|0;fa=-+g[O+52>>2];Q=-+g[O+56>>2];E=-+g[O+60>>2];g[M+32>>2]=(ia*oa+(ha*na+ga*ma))*fa+(ea*oa+(da*na+ca*ma))*Q+(o*oa+(m*na+r*ma))*E;g[M+32+4>>2]=(ia*la+(ha*ka+ga*ja))*fa+(ea*la+(da*ka+ca*ja))*Q+(o*la+(m*ka+r*ja))*E;g[M+32+8>>2]=(ia*n+(ha*k+ga*y))*fa+(ea*n+(da*k+ca*y))*Q+(o*n+(m*k+r*y))*E;g[M+32+12>>2]=0.0;Sb[ba&127](M+48|0,P,M+32|0);E=+g[M+48>>2];y=+g[M+48+4>>2];r=+g[M+48+8>>2];k=+g[O+52>>2];m=+g[O+56>>2];n=+g[O+60>>2];o=n*(V*w+W*u+X*s+(w*Y+u*Z+s*_)+(($*w+aa*u+H*s)*E+(B*w+A*u+z*s)*y+(x*w+v*u+t*s)*r))+(k*(V*R+W*S+X*p+(R*Y+S*Z+p*_)+(($*R+aa*S+H*p)*E+(B*R+A*S+z*p)*y+(x*R+v*S+t*p)*r))+m*(V*T+W*U+X*q+(T*Y+U*Z+q*_)+(($*T+aa*U+H*q)*E+(B*T+A*U+z*q)*y+(x*T+v*U+t*q)*r)))-+g[O+68>>2];p=V*R+W*S+X*p+(R*Y+S*Z+p*_)+(($*R+aa*S+H*p)*E+(B*R+A*S+z*p)*y+(x*R+v*S+t*p)*r)-k*o;q=V*T+W*U+X*q+(T*Y+U*Z+q*_)+(($*T+aa*U+H*q)*E+(B*T+A*U+z*q)*y+(x*T+v*U+t*q)*r)-m*o;r=V*w+W*u+X*s+(w*Y+u*Z+s*_)+(($*w+aa*u+H*s)*E+(B*w+A*u+z*s)*y+(x*w+v*u+t*s)*r)-n*o;O=c[f+12>>2]|0;s=+g[O>>2];t=+g[O+4>>2];u=+g[O+8>>2];v=+g[O+16>>2];w=+g[O+20>>2];x=+g[O+24>>2];y=+g[O+32>>2];z=+g[O+36>>2];A=+g[O+40>>2];B=+g[O+48>>2];E=+g[O+52>>2];H=+g[O+56>>2];O=c[b+12>>2]|0;P=o<+g[O+784>>2];c[h+4>>2]=O;if(P){ba=c[f+12>>2]|0;na=k*+g[ba+16>>2]+m*+g[ba+20>>2]+n*+g[ba+24>>2];oa=k*+g[ba+32>>2]+m*+g[ba+36>>2]+n*+g[ba+40>>2];g[M+32>>2]=+g[ba>>2]*k+ +g[ba+4>>2]*m+ +g[ba+8>>2]*n;g[M+32+4>>2]=na;g[M+32+8>>2]=oa;g[M+32+12>>2]=0.0;g[M+16>>2]=u*r+(s*p+t*q)+B;g[M+16+4>>2]=p*v+q*w+r*x+E;g[M+16+8>>2]=p*y+q*z+r*A+H;g[M+16+12>>2]=0.0;Tb[c[(c[h>>2]|0)+16>>2]&15](h,M+32|0,M+16|0,o)}i=i+1|0;f=c[b+20>>2]|0}while((i|0)<(f|0))}}do if((a[b+8>>0]|0?c[(c[b+12>>2]|0)+780>>2]|0:0)?(N=c[h+4>>2]|0,c[N+780>>2]|0):0){i=c[N+772>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;f=c[(c[h+12>>2]|0)+8>>2]|0;if((i|0)==(j|0)){af(N,i+4|0,f+4|0);break}else{af(N,f+4|0,j+4|0);break}}while(0);l=M;return}function Qc(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;c[d+168>>2]=c[d+152>>2];c[e>>2]=9356;c[e+52>>2]=287;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;g[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;g[e+32>>2]=0.0;f=c[d+56>>2]|0;if(h){c[e+56>>2]=KB(f|0)|0;a[e+4>>0]=a[d+4+3>>0]|0;a[e+5>>0]=a[d+4+2>>0]|0;a[e+6>>0]=a[d+4+1>>0]|0;a[e+7>>0]=a[d+4>>0]|0;a[e+8>>0]=a[d+8+3>>0]|0;a[e+9>>0]=a[d+8+2>>0]|0;a[e+10>>0]=a[d+8+1>>0]|0;a[e+11>>0]=a[d+8>>0]|0;a[e+12>>0]=a[d+12+3>>0]|0;a[e+13>>0]=a[d+12+2>>0]|0;a[e+14>>0]=a[d+12+1>>0]|0;a[e+15>>0]=a[d+12>>0]|0;a[e+16>>0]=a[d+16+3>>0]|0;a[e+17>>0]=a[d+16+2>>0]|0;a[e+18>>0]=a[d+16+1>>0]|0;a[e+19>>0]=a[d+16>>0]|0;a[e+20>>0]=a[d+20+3>>0]|0;a[e+21>>0]=a[d+20+2>>0]|0;a[e+22>>0]=a[d+20+1>>0]|0;a[e+23>>0]=a[d+20>>0]|0;a[e+24>>0]=a[d+24+3>>0]|0;a[e+25>>0]=a[d+24+2>>0]|0;a[e+26>>0]=a[d+24+1>>0]|0;a[e+27>>0]=a[d+24>>0]|0;a[e+28>>0]=a[d+28+3>>0]|0;a[e+29>>0]=a[d+28+2>>0]|0;a[e+30>>0]=a[d+28+1>>0]|0;a[e+31>>0]=a[d+28>>0]|0;a[e+32>>0]=a[d+32+3>>0]|0;a[e+33>>0]=a[d+32+2>>0]|0;a[e+34>>0]=a[d+32+1>>0]|0;a[e+35>>0]=a[d+32>>0]|0;a[e+36>>0]=a[d+36+3>>0]|0;a[e+37>>0]=a[d+36+2>>0]|0;a[e+38>>0]=a[d+36+1>>0]|0;a[e+39>>0]=a[d+36>>0]|0;a[e+40>>0]=a[d+40+3>>0]|0;a[e+41>>0]=a[d+40+2>>0]|0;a[e+42>>0]=a[d+40+1>>0]|0;a[e+43>>0]=a[d+40>>0]|0;a[e+44>>0]=a[d+44+3>>0]|0;a[e+45>>0]=a[d+44+2>>0]|0;a[e+46>>0]=a[d+44+1>>0]|0;a[e+47>>0]=a[d+44>>0]|0;a[e+48>>0]=a[d+48+3>>0]|0;a[e+49>>0]=a[d+48+2>>0]|0;a[e+50>>0]=a[d+48+1>>0]|0;a[e+51>>0]=a[d+48>>0]|0;c[e+144>>2]=KB(c[d+144>>2]|0)|0;f=KB(c[d+168>>2]|0)|0}else{c[e+56>>2]=f;c[e+4>>2]=c[d+4>>2];c[e+4+4>>2]=c[d+4+4>>2];c[e+4+8>>2]=c[d+4+8>>2];c[e+4+12>>2]=c[d+4+12>>2];c[e+20>>2]=c[d+20>>2];c[e+20+4>>2]=c[d+20+4>>2];c[e+20+8>>2]=c[d+20+8>>2];c[e+20+12>>2]=c[d+20+12>>2];c[e+36>>2]=c[d+36>>2];c[e+36+4>>2]=c[d+36+4>>2];c[e+36+8>>2]=c[d+36+8>>2];c[e+36+12>>2]=c[d+36+12>>2];c[e+144>>2]=c[d+144>>2];f=c[d+168>>2]|0}c[e+168>>2]=f;a[e+60>>0]=a[d+60>>0]|0;k=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){f=c[e+96>>2]|0;if(f|0){if(a[e+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[e+96>>2]=0}a[e+100>>0]=0;c[e+96>>2]=e+172;c[e+88>>2]=k;c[e+92>>2]=k;if(h)if((k|0)>0){i=0;j=c[d+96>>2]|0;f=e+172|0;do{l=j+(i<<6)|0;n=f+(i<<6)|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=j+(i<<6)+4|0;l=f+(i<<6)+4|0;a[l>>0]=a[n+3>>0]|0;a[l+1>>0]=a[n+2>>0]|0;a[l+2>>0]=a[n+1>>0]|0;a[l+3>>0]=a[n>>0]|0;l=j+(i<<6)+8|0;n=f+(i<<6)+8|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=j+(i<<6)+12|0;f=f+(i<<6)+12|0;a[f>>0]=a[n+3>>0]|0;a[f+1>>0]=a[n+2>>0]|0;a[f+2>>0]=a[n+1>>0]|0;a[f+3>>0]=a[n>>0]|0;f=c[d+96>>2]|0;n=f+(i<<6)+16|0;l=c[e+96>>2]|0;m=l+(i<<6)+16|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;m=f+(i<<6)+20|0;n=l+(i<<6)+20|0;a[n>>0]=a[m+3>>0]|0;a[n+1>>0]=a[m+2>>0]|0;a[n+2>>0]=a[m+1>>0]|0;a[n+3>>0]=a[m>>0]|0;n=f+(i<<6)+24|0;m=l+(i<<6)+24|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;f=f+(i<<6)+28|0;l=l+(i<<6)+28|0;a[l>>0]=a[f+3>>0]|0;a[l+1>>0]=a[f+2>>0]|0;a[l+2>>0]=a[f+1>>0]|0;a[l+3>>0]=a[f>>0]|0;j=c[d+96>>2]|0;l=KB(c[j+(i<<6)+32>>2]|0)|0;f=c[e+96>>2]|0;c[f+(i<<6)+32>>2]=l;c[f+(i<<6)+36>>2]=KB(c[j+(i<<6)+36>>2]|0)|0;c[f+(i<<6)+40>>2]=KB(c[j+(i<<6)+40>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0))}else f=e+172|0;else if((k|0)>0){i=0;j=c[d+96>>2]|0;f=e+172|0;do{m=j+(i<<6)|0;n=f+(i<<6)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];n=(c[d+96>>2]|0)+(i<<6)+16|0;f=(c[e+96>>2]|0)+(i<<6)+16|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];j=c[d+96>>2]|0;f=c[e+96>>2]|0;c[f+(i<<6)+32>>2]=c[j+(i<<6)+32>>2];c[f+(i<<6)+36>>2]=c[j+(i<<6)+36>>2];c[f+(i<<6)+40>>2]=c[j+(i<<6)+40>>2];i=i+1|0}while((i|0)!=(k|0))}else f=e+172|0;if(!f){f=k<<6;i=e+92|0;j=e+88|0;k=e+96|0;l=e+100|0}else{if(a[e+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[e+96>>2]=0;f=k<<6;i=e+92|0;j=e+88|0;k=e+96|0;l=e+100|0}}else{f=c[e+136>>2]|0;if(f|0){if(a[e+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[e+136>>2]=0}a[e+140>>0]=0;c[e+136>>2]=e+172;c[e+128>>2]=k;c[e+132>>2]=k;if(h){if((k|0)>0){i=c[d+136>>2]|0;f=0;do{b[e+172+(f<<4)>>1]=JH(b[i+(f<<4)>>1]|0)|0;b[e+172+(f<<4)+2>>1]=JH(b[i+(f<<4)+2>>1]|0)|0;b[e+172+(f<<4)+4>>1]=JH(b[i+(f<<4)+4>>1]|0)|0;b[e+172+(f<<4)+6>>1]=JH(b[i+(f<<4)+6>>1]|0)|0;b[e+172+(f<<4)+8>>1]=JH(b[i+(f<<4)+8>>1]|0)|0;b[e+172+(f<<4)+10>>1]=JH(b[i+(f<<4)+10>>1]|0)|0;c[e+172+(f<<4)+12>>2]=KB(c[i+(f<<4)+12>>2]|0)|0;f=f+1|0}while((f|0)!=(k|0))}}else if((k|0)>0){i=c[d+136>>2]|0;f=0;do{b[e+172+(f<<4)>>1]=b[i+(f<<4)>>1]|0;b[e+172+(f<<4)+2>>1]=b[i+(f<<4)+2>>1]|0;b[e+172+(f<<4)+4>>1]=b[i+(f<<4)+4>>1]|0;b[e+172+(f<<4)+6>>1]=b[i+(f<<4)+6>>1]|0;b[e+172+(f<<4)+8>>1]=b[i+(f<<4)+8>>1]|0;b[e+172+(f<<4)+10>>1]=b[i+(f<<4)+10>>1]|0;c[e+172+(f<<4)+12>>2]=c[i+(f<<4)+12>>2];f=f+1|0}while((f|0)!=(k|0))}c[e+136>>2]=0;f=k<<4;i=e+132|0;j=e+128|0;k=e+136|0;l=e+140|0}a[l>>0]=0;c[k>>2]=0;c[j>>2]=0;c[i>>2]=0;k=e+172+f|0;f=c[d+168>>2]|0;i=c[e+160>>2]|0;if(i|0){if(a[e+164>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[e+160>>2]=0}a[e+164>>0]=0;c[e+160>>2]=k;c[e+152>>2]=f;c[e+156>>2]=f;j=c[d+168>>2]|0;if(h){if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}i=c[d+160>>2]|0;f=0;do{b[k+(f<<5)>>1]=JH(b[i+(f<<5)>>1]|0)|0;b[k+(f<<5)+2>>1]=JH(b[i+(f<<5)+2>>1]|0)|0;b[k+(f<<5)+4>>1]=JH(b[i+(f<<5)+4>>1]|0)|0;b[k+(f<<5)+6>>1]=JH(b[i+(f<<5)+6>>1]|0)|0;b[k+(f<<5)+8>>1]=JH(b[i+(f<<5)+8>>1]|0)|0;b[k+(f<<5)+10>>1]=JH(b[i+(f<<5)+10>>1]|0)|0;c[k+(f<<5)+12>>2]=KB(c[i+(f<<5)+12>>2]|0)|0;c[k+(f<<5)+16>>2]=KB(c[i+(f<<5)+16>>2]|0)|0;f=f+1|0}while((f|0)!=(j|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}else{if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}i=c[d+160>>2]|0;f=0;do{b[k+(f<<5)>>1]=b[i+(f<<5)>>1]|0;b[k+(f<<5)+2>>1]=b[i+(f<<5)+2>>1]|0;b[k+(f<<5)+4>>1]=b[i+(f<<5)+4>>1]|0;b[k+(f<<5)+6>>1]=b[i+(f<<5)+6>>1]|0;b[k+(f<<5)+8>>1]=b[i+(f<<5)+8>>1]|0;b[k+(f<<5)+10>>1]=b[i+(f<<5)+10>>1]|0;c[k+(f<<5)+12>>2]=c[i+(f<<5)+12>>2];c[k+(f<<5)+16>>2]=c[i+(f<<5)+16>>2];c[k+(f<<5)+20>>2]=0;c[k+(f<<5)+24>>2]=0;c[k+(f<<5)+28>>2]=0;f=f+1|0}while((f|0)<(c[d+168>>2]|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}return 0}function Rc(b,d,e,f,h,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;C=l;l=l+4224|0;if(((c[e+4>>2]|0)+-17|0)>>>0<2)A=((c[f+4>>2]|0)+-17|0)>>>0<2;else A=0;b=0;do{Qe();v=+g[24644+(b<<4)>>2];w=+g[24644+(b<<4)+4>>2];x=+g[24644+(b<<4)+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+1248+(b<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+1248+(b<<4)+4>>2]=z;g[C+1248+(b<<4)+8>>2]=y;g[C+1248+(b<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+256+(b<<4)>>2]=v*+g[i>>2]+w*+g[i+16>>2]+x*+g[i+32>>2];g[C+256+(b<<4)+4>>2]=y;g[C+256+(b<<4)+8>>2]=z;g[C+256+(b<<4)+12>>2]=0.0;b=b+1|0}while((b|0)!=42);q=xb[c[(c[e>>2]|0)+84>>2]&127](e)|0;if((q|0)>0){b=0;p=42;while(1){Sb[c[(c[e>>2]|0)+88>>2]&127](e,b,C+176|0);y=+g[C+176>>2];z=+g[C+176+4>>2];x=+g[C+176+8>>2];w=y*+g[h+16>>2]+z*+g[h+20>>2]+x*+g[h+24>>2];v=y*+g[h+32>>2]+z*+g[h+36>>2]+x*+g[h+40>>2];g[C+176>>2]=+g[h>>2]*y+ +g[h+4>>2]*z+ +g[h+8>>2]*x;g[C+176+4>>2]=w;g[C+176+8>>2]=v;g[C+176+12>>2]=0.0;Qe();r=24644+(p<<4)|0;c[r>>2]=c[C+176>>2];c[r+4>>2]=c[C+176+4>>2];c[r+8>>2]=c[C+176+8>>2];c[r+12>>2]=c[C+176+12>>2];v=+g[C+176>>2];w=+g[C+176+4>>2];x=+g[C+176+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+1248+(p<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+1248+(p<<4)+4>>2]=z;g[C+1248+(p<<4)+8>>2]=y;g[C+1248+(p<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+256+(p<<4)>>2]=+g[i>>2]*v+ +g[i+16>>2]*w+ +g[i+32>>2]*x;g[C+256+(p<<4)+4>>2]=y;g[C+256+(p<<4)+8>>2]=z;g[C+256+(p<<4)+12>>2]=0.0;b=b+1|0;if((b|0)==(q|0))break;else p=p+1|0}p=q+42|0}else p=42;r=xb[c[(c[f>>2]|0)+84>>2]&127](f)|0;if((r|0)>0){b=0;q=p;while(1){Sb[c[(c[f>>2]|0)+88>>2]&127](f,b,C+176|0);y=+g[C+176>>2];z=+g[C+176+4>>2];x=+g[C+176+8>>2];w=y*+g[i+16>>2]+z*+g[i+20>>2]+x*+g[i+24>>2];v=y*+g[i+32>>2]+z*+g[i+36>>2]+x*+g[i+40>>2];g[C+176>>2]=+g[i>>2]*y+ +g[i+4>>2]*z+ +g[i+8>>2]*x;g[C+176+4>>2]=w;g[C+176+8>>2]=v;g[C+176+12>>2]=0.0;Qe();D=24644+(q<<4)|0;c[D>>2]=c[C+176>>2];c[D+4>>2]=c[C+176+4>>2];c[D+8>>2]=c[C+176+8>>2];c[D+12>>2]=c[C+176+12>>2];v=+g[C+176>>2];w=+g[C+176+4>>2];x=+g[C+176+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+1248+(q<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+1248+(q<<4)+4>>2]=z;g[C+1248+(q<<4)+8>>2]=y;g[C+1248+(q<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+256+(q<<4)>>2]=+g[i>>2]*v+ +g[i+16>>2]*w+ +g[i+32>>2]*x;g[C+256+(q<<4)+4>>2]=y;g[C+256+(q<<4)+8>>2]=z;g[C+256+(q<<4)+12>>2]=0.0;b=b+1|0;if((b|0)==(r|0))break;else q=q+1|0}p=r+p|0}Vb[c[(c[e>>2]|0)+76>>2]&127](e,C+1248|0,C+3232|0,p);Vb[c[(c[f>>2]|0)+76>>2]&127](f,C+256|0,C+2240|0,p);if((p|0)>0){v=999999984306749440.0;b=0;y=0.0;z=0.0;x=0.0;s=0.0;while(1){Qe();u=+g[24644+(b<<4)>>2];w=+g[24644+(b<<4)+4>>2];t=+g[24644+(b<<4)+12>>2];o=A?0.0:+g[24644+(b<<4)+8>>2];if(u*u+w*w+o*o>.01?(F=+g[C+3232+(b<<4)>>2],E=+g[C+3232+(b<<4)+4>>2],B=+g[C+3232+(b<<4)+8>>2],I=+g[C+2240+(b<<4)>>2],H=+g[C+2240+(b<<4)+4>>2],G=+g[C+2240+(b<<4)+8>>2],B=u*(I*+g[i>>2]+H*+g[i+4>>2]+G*+g[i+8>>2]+ +g[i+48>>2]-(F*+g[h>>2]+E*+g[h+4>>2]+B*+g[h+8>>2]+ +g[h+48>>2]))+w*(I*+g[i+16>>2]+H*+g[i+20>>2]+G*+g[i+24>>2]+ +g[i+52>>2]-(F*+g[h+16>>2]+E*+g[h+20>>2]+B*+g[h+24>>2]+ +g[h+52>>2]))+o*((A?0.0:I*+g[i+32>>2]+H*+g[i+36>>2]+G*+g[i+40>>2]+ +g[i+56>>2])-(A?0.0:F*+g[h+32>>2]+E*+g[h+36>>2]+B*+g[h+40>>2]+ +g[h+56>>2])),B<v):0)v=B;else{t=y;u=s;w=x;o=z}b=b+1|0;if((b|0)==(p|0)){x=o;break}else{y=t;z=o;x=w;s=u}}}else{v=999999984306749440.0;x=0.0;w=0.0;u=0.0;t=0.0}switch(c[e+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+nb[c[(c[e>>2]|0)+48>>2]&15](e)}switch(c[f+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+nb[c[(c[f>>2]|0)+48>>2]&15](f)}if(v<0.0){D=0;l=C;return D|0}switch(c[e+4>>2]|0){case 8:{o=+g[e+32>>2]*+g[e+16>>2];break}case 0:{o=+g[e+48>>2];break}case 1:{o=+g[e+48>>2];break}case 13:{o=+g[e+48>>2];break}case 11:{o=+g[e+48>>2];break}case 10:{o=+g[e+48>>2];break}case 4:case 5:{o=+g[e+48>>2];break}default:o=+nb[c[(c[e>>2]|0)+48>>2]&15](e)}b=c[f+4>>2]|0;switch(b|0){case 8:{s=+g[f+32>>2]*+g[f+16>>2];b=8;break}case 0:{s=+g[f+48>>2];b=0;break}case 1:{s=+g[f+48>>2];b=1;break}case 13:{s=+g[f+48>>2];b=13;break}case 11:{s=+g[f+48>>2];b=11;break}case 10:{s=+g[f+48>>2];b=10;break}case 4:case 5:{s=+g[f+48>>2];break}default:{s=+nb[c[(c[f>>2]|0)+48>>2]&15](f);b=c[f+4>>2]|0}}o=v+(o+s+.5);c[C+176>>2]=9552;c[C+176+4>>2]=0;c[C+176+8>>2]=1065353216;c[C+176+12>>2]=0;g[C+176+16>>2]=0.0;c[C+176+20>>2]=0;c[C+176+24>>2]=d;c[C+176+28>>2]=e;c[C+176+32>>2]=f;c[C+176+36>>2]=c[e+4>>2];c[C+176+40>>2]=b;g[C+176+44>>2]=+nb[c[(c[e>>2]|0)+48>>2]&15](e);g[C+176+48>>2]=+nb[c[(c[f>>2]|0)+48>>2]&15](f);a[C+176+52>>0]=0;c[C+176+60>>2]=-1;c[C+176+72>>2]=1;c[C+176+76>>2]=1;G=u*o+ +g[h+48>>2];H=w*o+ +g[h+52>>2];I=x*o+ +g[h+56>>2];c[C+44>>2]=c[h>>2];c[C+44+4>>2]=c[h+4>>2];c[C+44+8>>2]=c[h+8>>2];c[C+44+12>>2]=c[h+12>>2];c[C+44+16>>2]=c[h+16>>2];c[C+44+16+4>>2]=c[h+16+4>>2];c[C+44+16+8>>2]=c[h+16+8>>2];c[C+44+16+12>>2]=c[h+16+12>>2];c[C+44+32>>2]=c[h+32>>2];c[C+44+32+4>>2]=c[h+32+4>>2];c[C+44+32+8>>2]=c[h+32+8>>2];c[C+44+32+12>>2]=c[h+32+12>>2];g[C+44+48>>2]=G;g[C+44+52>>2]=H;g[C+44+56>>2]=I;g[C+44+60>>2]=0.0;c[C+44+64>>2]=c[i>>2];c[C+44+64+4>>2]=c[i+4>>2];c[C+44+64+8>>2]=c[i+8>>2];c[C+44+64+12>>2]=c[i+12>>2];c[C+44+80>>2]=c[i+16>>2];c[C+44+80+4>>2]=c[i+16+4>>2];c[C+44+80+8>>2]=c[i+16+8>>2];c[C+44+80+12>>2]=c[i+16+12>>2];c[C+44+96>>2]=c[i+32>>2];c[C+44+96+4>>2]=c[i+32+4>>2];c[C+44+96+8>>2]=c[i+32+8>>2];c[C+44+96+12>>2]=c[i+32+12>>2];c[C+44+112>>2]=c[i+48>>2];c[C+44+112+4>>2]=c[i+48+4>>2];c[C+44+112+8>>2]=c[i+48+8>>2];c[C+44+112+12>>2]=c[i+48+12>>2];g[C+44+128>>2]=999999984306749440.0;c[C>>2]=9436;a[C+40>>0]=0;g[C+176+4>>2]=-u;g[C+176+8>>2]=-w;g[C+176+12>>2]=-x;g[C+176+16>>2]=0.0;Dc(C+176|0,C+44|0,C,n,0);o=o-+g[C+36>>2];b=a[C+40>>0]|0;if(b<<24>>24){H=+g[C+24>>2]-w*o;I=+g[C+28>>2]-x*o;g[k>>2]=+g[C+20>>2]-u*o;g[k+4>>2]=H;g[k+8>>2]=I;g[k+12>>2]=0.0;c[m>>2]=c[C+20>>2];c[m+4>>2]=c[C+20+4>>2];c[m+8>>2]=c[C+20+8>>2];c[m+12>>2]=c[C+20+12>>2];g[j>>2]=u;g[j+4>>2]=w;g[j+8>>2]=x;g[j+12>>2]=t}D=b<<24>>24!=0;l=C;return D|0}function Sc(){var a=0;a=Ds(8)|0;c[6994]=a;eb(a|0,0)|0;c[6417]=19310;c[6418]=0;c[6419]=0;c[6420]=0;c[6421]=0;c[6422]=0;c[6423]=0;c[6424]=0;c[6425]=0;Pr(25668);c[6426]=19310;c[6427]=0;c[6428]=0;c[6429]=0;c[6430]=0;c[6431]=0;c[6432]=0;c[6433]=0;c[6434]=0;Pr(25704);c[6435]=19310;c[6436]=0;c[6437]=0;c[6438]=0;c[6439]=0;c[6440]=0;c[6441]=0;c[6442]=0;c[6443]=0;Pr(25740);c[6444]=19310;c[6445]=0;c[6446]=0;c[6447]=0;c[6448]=0;c[6449]=0;c[6450]=0;c[6451]=0;c[6452]=0;Pr(25776);c[6453]=19310;c[6454]=0;c[6455]=0;c[6456]=0;c[6457]=0;c[6458]=0;c[6459]=0;c[6460]=0;c[6461]=0;Pr(25812);c[6462]=19310;c[6463]=0;c[6464]=0;c[6465]=0;c[6466]=0;c[6467]=0;c[6468]=0;c[6469]=0;c[6470]=0;Pr(25848);c[6471]=19310;c[6472]=0;c[6473]=0;c[6474]=0;c[6475]=0;c[6476]=0;c[6477]=0;c[6478]=0;c[6479]=0;Pr(25884);c[6480]=19310;c[6481]=0;c[6482]=0;c[6483]=0;c[6484]=0;c[6485]=0;c[6486]=0;c[6487]=0;c[6488]=0;Pr(25920);c[6489]=19310;c[6490]=0;c[6491]=0;c[6492]=0;c[6493]=0;c[6494]=0;c[6495]=0;c[6496]=0;c[6497]=0;Pr(25956);c[6498]=19310;c[6499]=0;c[6500]=0;c[6501]=0;c[6502]=0;c[6503]=0;c[6504]=0;c[6505]=0;c[6506]=0;Pr(25992);c[6507]=19310;c[6508]=0;c[6509]=0;c[6510]=0;c[6511]=0;c[6512]=0;c[6513]=0;c[6514]=0;c[6515]=0;Pr(26028);c[6516]=19310;c[6517]=0;c[6518]=0;c[6519]=0;c[6520]=0;c[6521]=0;c[6522]=0;c[6523]=0;c[6524]=0;Pr(26064);c[6525]=19310;c[6526]=0;c[6527]=0;c[6528]=0;c[6529]=0;c[6530]=0;c[6531]=0;c[6532]=0;c[6533]=0;Pr(26100);c[6534]=19310;c[6535]=0;c[6536]=0;c[6537]=0;c[6538]=0;c[6539]=0;c[6540]=0;c[6541]=0;c[6542]=0;Pr(26136);c[6543]=19310;c[6544]=0;c[6545]=0;c[6546]=0;c[6547]=0;c[6548]=0;c[6549]=0;c[6550]=0;c[6551]=0;Pr(26172);c[6552]=19310;c[6553]=0;c[6554]=0;c[6555]=0;c[6556]=0;c[6557]=0;c[6558]=0;c[6559]=0;c[6560]=0;Pr(26208);c[6561]=19310;c[6562]=0;c[6563]=0;c[6564]=0;c[6565]=0;c[6566]=0;c[6567]=0;c[6568]=0;c[6569]=0;Pr(26244);c[6570]=19310;c[6571]=0;c[6572]=0;c[6573]=0;c[6574]=0;c[6575]=0;c[6576]=0;c[6577]=0;c[6578]=0;Pr(26280);c[6579]=19310;c[6580]=0;c[6581]=0;c[6582]=0;c[6583]=0;c[6584]=0;c[6585]=0;c[6586]=0;c[6587]=0;Pr(26316);c[6588]=19310;c[6589]=0;c[6590]=0;c[6591]=0;c[6592]=0;c[6593]=0;c[6594]=0;c[6595]=0;c[6596]=0;Pr(26352);c[6597]=19310;c[6598]=0;c[6599]=0;c[6600]=0;c[6601]=0;c[6602]=0;c[6603]=0;c[6604]=0;c[6605]=0;Pr(26388);c[6606]=19310;c[6607]=0;c[6608]=0;c[6609]=0;c[6610]=0;c[6611]=0;c[6612]=0;c[6613]=0;c[6614]=0;Pr(26424);c[6615]=19310;c[6616]=0;c[6617]=0;c[6618]=0;c[6619]=0;c[6620]=0;c[6621]=0;c[6622]=0;c[6623]=0;Pr(26460);c[6624]=19310;c[6625]=0;c[6626]=0;c[6627]=0;c[6628]=0;c[6629]=0;c[6630]=0;c[6631]=0;c[6632]=0;Pr(26496);c[6633]=19310;c[6634]=0;c[6635]=0;c[6636]=0;c[6637]=0;c[6638]=0;c[6639]=0;c[6640]=0;c[6641]=0;Pr(26532);c[6642]=19310;c[6643]=0;c[6644]=0;c[6645]=0;c[6646]=0;c[6647]=0;c[6648]=0;c[6649]=0;c[6650]=0;Pr(26568);c[6651]=19310;c[6652]=0;c[6653]=0;c[6654]=0;c[6655]=0;c[6656]=0;c[6657]=0;c[6658]=0;c[6659]=0;Pr(26604);c[6660]=19310;c[6661]=0;c[6662]=0;c[6663]=0;c[6664]=0;c[6665]=0;c[6666]=0;c[6667]=0;c[6668]=0;Pr(26640);c[6669]=19310;c[6670]=0;c[6671]=0;c[6672]=0;c[6673]=0;c[6674]=0;c[6675]=0;c[6676]=0;c[6677]=0;Pr(26676);c[6678]=19310;c[6679]=0;c[6680]=0;c[6681]=0;c[6682]=0;c[6683]=0;c[6684]=0;c[6685]=0;c[6686]=0;Pr(26712);c[6687]=19310;c[6688]=0;c[6689]=0;c[6690]=0;c[6691]=0;c[6692]=0;c[6693]=0;c[6694]=0;c[6695]=0;Pr(26748);c[6696]=19310;c[6697]=0;c[6698]=0;c[6699]=0;c[6700]=0;c[6701]=0;c[6702]=0;c[6703]=0;c[6704]=0;Pr(26784);c[6705]=19310;c[6706]=0;c[6707]=0;c[6708]=0;c[6709]=0;c[6710]=0;c[6711]=0;c[6712]=0;c[6713]=0;Pr(26820);c[6714]=19310;c[6715]=0;c[6716]=0;c[6717]=0;c[6718]=0;c[6719]=0;c[6720]=0;c[6721]=0;c[6722]=0;Pr(26856);c[6723]=19310;c[6724]=0;c[6725]=0;c[6726]=0;c[6727]=0;c[6728]=0;c[6729]=0;c[6730]=0;c[6731]=0;Pr(26892);c[6732]=19310;c[6733]=0;c[6734]=0;c[6735]=0;c[6736]=0;c[6737]=0;c[6738]=0;c[6739]=0;c[6740]=0;Pr(26928);c[6741]=19310;c[6742]=0;c[6743]=0;c[6744]=0;c[6745]=0;c[6746]=0;c[6747]=0;c[6748]=0;c[6749]=0;Pr(26964);c[6750]=19310;c[6751]=0;c[6752]=0;c[6753]=0;c[6754]=0;c[6755]=0;c[6756]=0;c[6757]=0;c[6758]=0;Pr(27e3);c[6759]=19310;c[6760]=0;c[6761]=0;c[6762]=0;c[6763]=0;c[6764]=0;c[6765]=0;c[6766]=0;c[6767]=0;Pr(27036);c[6768]=19310;c[6769]=0;c[6770]=0;c[6771]=0;c[6772]=0;c[6773]=0;c[6774]=0;c[6775]=0;c[6776]=0;Pr(27072);c[6777]=19310;c[6778]=0;c[6779]=0;c[6780]=0;c[6781]=0;c[6782]=0;c[6783]=0;c[6784]=0;c[6785]=0;Pr(27108);c[6786]=19310;c[6787]=0;c[6788]=0;c[6789]=0;c[6790]=0;c[6791]=0;c[6792]=0;c[6793]=0;c[6794]=0;Pr(27144);c[6795]=19310;c[6796]=0;c[6797]=0;c[6798]=0;c[6799]=0;c[6800]=0;c[6801]=0;c[6802]=0;c[6803]=0;Pr(27180);c[6804]=19310;c[6805]=0;c[6806]=0;c[6807]=0;c[6808]=0;c[6809]=0;c[6810]=0;c[6811]=0;c[6812]=0;Pr(27216);c[6813]=19310;c[6814]=0;c[6815]=0;c[6816]=0;c[6817]=0;c[6818]=0;c[6819]=0;c[6820]=0;c[6821]=0;Pr(27252);c[6822]=19310;c[6823]=0;c[6824]=0;c[6825]=0;c[6826]=0;c[6827]=0;c[6828]=0;c[6829]=0;c[6830]=0;Pr(27288);c[6831]=19310;c[6832]=0;c[6833]=0;c[6834]=0;c[6835]=0;c[6836]=0;c[6837]=0;c[6838]=0;c[6839]=0;Pr(27324);c[6840]=19310;c[6841]=0;c[6842]=0;c[6843]=0;c[6844]=0;c[6845]=0;c[6846]=0;c[6847]=0;c[6848]=0;Pr(27360);c[6849]=19310;c[6850]=0;c[6851]=0;c[6852]=0;c[6853]=0;c[6854]=0;c[6855]=0;c[6856]=0;c[6857]=0;Pr(27396);c[6858]=19310;c[6859]=0;c[6860]=0;c[6861]=0;c[6862]=0;c[6863]=0;c[6864]=0;c[6865]=0;c[6866]=0;Pr(27432);c[6867]=19310;c[6868]=0;c[6869]=0;c[6870]=0;c[6871]=0;c[6872]=0;c[6873]=0;c[6874]=0;c[6875]=0;Pr(27468);c[6876]=19310;c[6877]=0;c[6878]=0;c[6879]=0;c[6880]=0;c[6881]=0;c[6882]=0;c[6883]=0;c[6884]=0;Pr(27504);c[6885]=19310;c[6886]=0;c[6887]=0;c[6888]=0;c[6889]=0;c[6890]=0;c[6891]=0;c[6892]=0;c[6893]=0;Pr(27540);c[6894]=19310;c[6895]=0;c[6896]=0;c[6897]=0;c[6898]=0;c[6899]=0;c[6900]=0;c[6901]=0;c[6902]=0;Pr(27576);c[6903]=19310;c[6904]=0;c[6905]=0;c[6906]=0;c[6907]=0;c[6908]=0;c[6909]=0;c[6910]=0;c[6911]=0;Pr(27612);c[6912]=19310;c[6913]=0;c[6914]=0;c[6915]=0;c[6916]=0;c[6917]=0;c[6918]=0;c[6919]=0;c[6920]=0;Pr(27648);c[6921]=19310;c[6922]=0;c[6923]=0;c[6924]=0;c[6925]=0;c[6926]=0;c[6927]=0;c[6928]=0;c[6929]=0;Pr(27684);c[6930]=19310;c[6931]=0;c[6932]=0;c[6933]=0;c[6934]=0;c[6935]=0;c[6936]=0;c[6937]=0;c[6938]=0;Pr(27720);c[6939]=19310;c[6940]=0;c[6941]=0;c[6942]=0;c[6943]=0;c[6944]=0;c[6945]=0;c[6946]=0;c[6947]=0;Pr(27756);c[6948]=19310;c[6949]=0;c[6950]=0;c[6951]=0;c[6952]=0;c[6953]=0;c[6954]=0;c[6955]=0;c[6956]=0;Pr(27792);c[6957]=19310;c[6958]=0;c[6959]=0;c[6960]=0;c[6961]=0;c[6962]=0;c[6963]=0;c[6964]=0;c[6965]=0;Pr(27828);c[6966]=19310;c[6967]=0;c[6968]=0;c[6969]=0;c[6970]=0;c[6971]=0;c[6972]=0;c[6973]=0;c[6974]=0;Pr(27864);c[6975]=19310;c[6976]=0;c[6977]=0;c[6978]=0;c[6979]=0;c[6980]=0;c[6981]=0;c[6982]=0;c[6983]=0;Pr(27900);c[6984]=19310;c[6985]=0;c[6986]=0;c[6987]=0;c[6988]=0;c[6989]=0;c[6990]=0;c[6991]=0;c[6992]=0;Pr(27936);return}function Tc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;H=l;l=l+192|0;d=c[b+1112>>2]|0;if((d|0)<=0){l=H;return}G=0;do{F=c[(c[b+1120>>2]|0)+(G<<2)>>2]|0;E=c[F+24>>2]|0;if(E){i=H+144+4|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));g[H+144>>2]=9.999999747378752e-05;g[H+144+20>>2]=1.9999999494757503e-04;g[H+144+40>>2]=2.9999998514540493e-04;if((E|0)>0){i=c[F+32>>2]|0;j=c[F+12>>2]|0;d=0;e=0.0;f=0.0;h=0.0;do{D=c[i+(d<<2)>>2]|0;C=+g[j+(d<<2)>>2];e=e+ +g[D+8>>2]*C;f=f+C*+g[D+12>>2];h=h+C*+g[D+16>>2];d=d+1|0}while((d|0)!=(E|0))}else{h=0.0;f=0.0;e=0.0}r=+g[F+128>>2];t=e*r;s=f*r;r=h*r;g[F+228>>2]=t;g[F+232>>2]=s;g[F+236>>2]=r;g[F+240>>2]=0.0;if((E|0)>0){i=c[F+32>>2]|0;j=c[F+52>>2]|0;d=0;e=9.999999747378752e-05;f=0.0;h=0.0;k=0.0;m=1.9999999494757503e-04;n=0.0;o=0.0;p=0.0;q=2.9999998514540493e-04;do{D=c[i+(d<<2)>>2]|0;x=+g[D+8>>2]-t;y=+g[D+12>>2]-s;B=+g[D+16>>2]-r;z=+g[j+(d<<4)>>2];A=+g[j+(d<<4)+4>>2];C=+g[j+(d<<4)+8>>2];e=x*z+e;f=x*A+f;h=x*C+h;k=y*z+k;m=y*A+m;n=y*C+n;o=B*z+o;p=B*A+p;q=B*C+q;d=d+1|0}while((d|0)!=(E|0));g[H+144>>2]=e;g[H+144+4>>2]=f;g[H+144+8>>2]=h;g[H+144+16>>2]=k;g[H+144+20>>2]=m;g[H+144+24>>2]=n;g[H+144+32>>2]=o;g[H+144+36>>2]=p;g[H+144+40>>2]=q}if((a[22456]|0)==0?Uz(22456)|0:0){g[5758]=9.999999747378752e-05;c[5759]=16}bd(H+144|0,H+96|0,H+48|0);c[F+108>>2]=c[F+228>>2];c[F+108+4>>2]=c[F+228+4>>2];c[F+108+8>>2]=c[F+228+8>>2];c[F+108+12>>2]=c[F+228+12>>2];c[F+60>>2]=c[H+96>>2];c[F+60+4>>2]=c[H+96+4>>2];c[F+60+8>>2]=c[H+96+8>>2];c[F+60+12>>2]=c[H+96+12>>2];c[F+76>>2]=c[H+96+16>>2];c[F+76+4>>2]=c[H+96+16+4>>2];c[F+76+8>>2]=c[H+96+16+8>>2];c[F+76+12>>2]=c[H+96+16+12>>2];c[F+92>>2]=c[H+96+32>>2];c[F+92+4>>2]=c[H+96+32+4>>2];c[F+92+8>>2]=c[H+96+32+8>>2];c[F+92+12>>2]=c[H+96+32+12>>2];m=+g[F+132>>2];K=+g[F+60>>2];n=+g[F+148>>2];J=+g[F+64>>2];o=+g[F+164>>2];A=+g[F+68>>2];p=+g[F+136>>2];q=+g[F+152>>2];r=+g[F+168>>2];s=+g[F+140>>2];t=+g[F+156>>2];C=+g[F+172>>2];I=+g[F+76>>2];e=+g[F+80>>2];B=+g[F+84>>2];k=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];u=(m*K+n*J+o*A)*K+(K*p+J*q+A*r)*J+(K*s+J*t+A*C)*A;v=(m*K+n*J+o*A)*I+(K*p+J*q+A*r)*e+(K*s+J*t+A*C)*B;w=(m*K+n*J+o*A)*k+(K*p+J*q+A*r)*h+(K*s+J*t+A*C)*f;x=(m*I+n*e+o*B)*K+(p*I+q*e+r*B)*J+(s*I+t*e+C*B)*A;y=(m*I+n*e+o*B)*I+(p*I+q*e+r*B)*e+(s*I+t*e+C*B)*B;z=(m*I+n*e+o*B)*k+(p*I+q*e+r*B)*h+(s*I+t*e+C*B)*f;A=K*(m*k+n*h+o*f)+(p*k+q*h+r*f)*J+(s*k+t*h+C*f)*A;B=I*(m*k+n*h+o*f)+(p*k+q*h+r*f)*e+(s*k+t*h+C*f)*B;C=(m*k+n*h+o*f)*k+(p*k+q*h+r*f)*h+(s*k+t*h+C*f)*f;g[F+180>>2]=u;g[F+184>>2]=v;g[F+188>>2]=w;g[F+192>>2]=0.0;g[F+196>>2]=x;g[F+200>>2]=y;g[F+204>>2]=z;g[F+208>>2]=0.0;g[F+212>>2]=A;g[F+216>>2]=B;g[F+220>>2]=C;g[F+224>>2]=0.0;c[F+316>>2]=0;c[F+316+4>>2]=0;c[F+316+8>>2]=0;c[F+316+12>>2]=0;c[F+316+16>>2]=0;c[F+316+20>>2]=0;c[F+316+24>>2]=0;c[F+316+28>>2]=0;if((E|0)>0){i=c[F+32>>2]|0;j=c[F+12>>2]|0;r=+g[F+228>>2];s=+g[F+232>>2];t=+g[F+236>>2];d=0;q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0;do{D=c[i+(d<<2)>>2]|0;M=+g[j+(d<<2)>>2];J=+g[D+40>>2]*M;L=M*+g[D+44>>2];M=M*+g[D+48>>2];q=J+q;g[F+316>>2]=q;p=L+p;g[F+320>>2]=p;o=M+o;g[F+324>>2]=o;I=+g[D+8>>2]-r;K=+g[D+12>>2]-s;N=+g[D+16>>2]-t;n=n+(M*K-L*N);g[F+332>>2]=n;m=J*N-M*I+m;g[F+336>>2]=m;e=L*I-J*K+e;g[F+340>>2]=e;d=d+1|0}while((d|0)!=(E|0));D=F+316|0;d=F+332|0}else{D=F+316|0;d=F+332|0;q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0}M=+g[F+128>>2];N=1.0-+g[F+356>>2];g[F+316>>2]=q*M*N;g[F+320>>2]=M*p*N;g[F+324>>2]=M*o*N;g[F+328>>2]=0.0;N=1.0-+g[F+360>>2];g[d>>2]=(u*n+v*m+w*e)*N;g[F+336>>2]=(n*x+m*y+e*z)*N;g[F+340>>2]=N*(n*A+m*B+e*C);g[F+344>>2]=0.0;i=F+244|0;j=i+72|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));e=+g[F+364>>2];a:do if(e>0.0?(c[F+24>>2]|0)>0:0){d=0;while(1){j=c[(c[F+32>>2]|0)+(d<<2)>>2]|0;i=c[F+52>>2]|0;I=+g[i+(d<<4)>>2];J=+g[i+(d<<4)+4>>2];K=+g[i+(d<<4)+8>>2];L=+g[j+8>>2];M=+g[j+12>>2];N=+g[j+16>>2];M=M+e*(I*+g[F+76>>2]+J*+g[F+80>>2]+K*+g[F+84>>2]+ +g[F+112>>2]-M);N=N+e*(I*k+J*h+K*f+ +g[F+116>>2]-N);g[j+8>>2]=L+e*(I*+g[F+60>>2]+J*+g[F+64>>2]+K*+g[F+68>>2]+ +g[F+108>>2]-L);g[j+12>>2]=M;g[j+16>>2]=N;g[j+20>>2]=0.0;d=d+1|0;if((d|0)>=(c[F+24>>2]|0))break a;k=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];e=+g[F+364>>2]}}while(0);if(a[F+377>>0]|0){i=c[F+32>>2]|0;j=c[i>>2]|0;e=+g[j+8>>2];q=+g[j+12>>2];r=+g[j+16>>2];f=+g[j+20>>2];if((E|0)>1){d=1;m=e;p=e;n=f;o=r;k=f;h=q;f=q;e=r;do{j=c[i+(d<<2)>>2]|0;K=+g[j+8>>2];p=K<p?K:p;L=+g[j+12>>2];f=L<f?L:f;M=+g[j+16>>2];o=M<o?M:o;N=+g[j+20>>2];k=N<k?N:k;m=m<K?K:m;h=h<L?L:h;e=e<M?M:e;n=n<N?N:n;d=d+1|0}while((d|0)!=(E|0))}else{m=e;p=e;n=f;o=r;k=f;h=q;f=q;e=r}g[H+16>>2]=p;g[H+16+4>>2]=f;g[H+16+8>>2]=o;g[H+16+12>>2]=k;g[H+16+16>>2]=m;g[H+16+20>>2]=h;g[H+16+24>>2]=e;g[H+16+28>>2]=n;d=c[F+348>>2]|0;if(!d){d=c[b+1072>>2]|0;if(!d){c[6995]=(c[6995]|0)+1;d=sc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+1072>>2]=0;c[d+32>>2]=0;c[d+36>>2]=F;c[d+40>>2]=0;c[d>>2]=c[H+16>>2];c[d+4>>2]=c[H+16+4>>2];c[d+8>>2]=c[H+16+8>>2];c[d+12>>2]=c[H+16+12>>2];c[d+16>>2]=c[H+16+16>>2];c[d+20>>2]=c[H+16+20>>2];c[d+24>>2]=c[H+16+24>>2];c[d+28>>2]=c[H+16+28>>2];Pe(b+1068|0,c[b+1068>>2]|0,d);c[b+1080>>2]=(c[b+1080>>2]|0)+1;c[F+348>>2]=d}else{L=+g[b+512>>2];M=L*+g[F+320>>2]*3.0;N=L*+g[F+324>>2]*3.0;g[H>>2]=+g[D>>2]*L*3.0;g[H+4>>2]=M;g[H+8>>2]=N;g[H+12>>2]=0.0;uh(b+1068|0,d,H+16|0,H,+g[b+524>>2])|0}}d=c[b+1112>>2]|0}G=G+1|0}while((G|0)<(d|0));l=H;return}function Uc(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;o=l;l=l+48|0;d=c[a+24>>2]|0;if((d|0)<=0){l=o;return}n=0;a:while(1){m=c[(c[a+32>>2]|0)+(n<<2)>>2]|0;switch(c[m+220>>2]|0){case 2:case 5:break;default:{ee(m,0);e=c[m+792>>2]|0;if((e|0)>0){d=0;do{k=c[m+800>>2]|0;i=c[k+(d*52|0)+28>>2]|0;j=c[k+(d*52|0)+24>>2]|0;y=+g[i+24>>2]-+g[j+24>>2];x=+g[i+28>>2]-+g[j+28>>2];b=+g[i+32>>2]-+g[j+32>>2];g[k+(d*52|0)+8>>2]=y;g[k+(d*52|0)+12>>2]=x;g[k+(d*52|0)+16>>2]=b;g[k+(d*52|0)+20>>2]=0.0;g[k+(d*52|0)+48>>2]=1.0/(+g[k+(d*52|0)+40>>2]*(y*y+x*x+b*b));d=d+1|0}while((d|0)!=(e|0))}f=c[m+852>>2]|0;if((f|0)>0){d=0;b=+g[m+512>>2];do{k=c[m+860>>2]|0;e=k+(d*96|0)+20|0;i=c[e>>2]|0;H=+g[k+(d*96|0)+4>>2];J=+g[k+(d*96|0)+8>>2];y=+g[k+(d*96|0)+12>>2];z=+g[i+4>>2]*H+ +g[i+8>>2]*J+ +g[i+12>>2]*y;x=H*+g[i+20>>2]+J*+g[i+24>>2]+y*+g[i+28>>2];y=H*+g[i+36>>2]+J*+g[i+40>>2]+y*+g[i+44>>2];j=k+(d*96|0)|0;J=+g[(c[j>>2]|0)+88>>2];H=1.0/b;Uh(o,+g[i+404>>2],i+324|0,z,x,y);C=J+ +g[o>>2];G=+g[o+4>>2]+0.0;E=+g[o+8>>2]+0.0;D=+g[o+16>>2]+0.0;F=J+ +g[o+20>>2];B=+g[o+24>>2]+0.0;I=+g[o+32>>2]+0.0;K=+g[o+36>>2]+0.0;J=J+ +g[o+40>>2];A=1.0/(E*(D*K-F*I)+(C*(F*J-B*K)+G*(B*I-D*J)));g[k+(d*96|0)+28>>2]=(D*K-F*I)*A*0.0+(H*(F*J-B*K)*A+(B*I-D*J)*A*0.0);g[k+(d*96|0)+32>>2]=(G*I-C*K)*A*0.0+(H*(E*K-G*J)*A+(C*J-E*I)*A*0.0);g[k+(d*96|0)+36>>2]=(C*F-G*D)*A*0.0+(H*(G*B-E*F)*A+(E*D-C*B)*A*0.0);g[k+(d*96|0)+40>>2]=0.0;g[k+(d*96|0)+44>>2]=(D*K-F*I)*A*0.0+((F*J-B*K)*A*0.0+H*(B*I-D*J)*A);g[k+(d*96|0)+48>>2]=(G*I-C*K)*A*0.0+((E*K-G*J)*A*0.0+H*(C*J-E*I)*A);g[k+(d*96|0)+52>>2]=(C*F-G*D)*A*0.0+((G*B-E*F)*A*0.0+H*(E*D-C*B)*A);g[k+(d*96|0)+56>>2]=0.0;g[k+(d*96|0)+60>>2]=H*(D*K-F*I)*A+((F*J-B*K)*A*0.0+(B*I-D*J)*A*0.0);g[k+(d*96|0)+64>>2]=H*(G*I-C*K)*A+((E*K-G*J)*A*0.0+(C*J-E*I)*A*0.0);g[k+(d*96|0)+68>>2]=H*(C*F-G*D)*A+((G*B-E*F)*A*0.0+(E*D-C*B)*A*0.0);g[k+(d*96|0)+72>>2]=0.0;g[k+(d*96|0)+76>>2]=z;g[k+(d*96|0)+80>>2]=x;g[k+(d*96|0)+84>>2]=y;g[k+(d*96|0)+88>>2]=0.0;b=+g[m+512>>2];g[k+(d*96|0)+92>>2]=b*+g[(c[j>>2]|0)+88>>2];e=c[e>>2]|0;if(!(c[e+204>>2]&3)){if((c[e+220>>2]&-2|0)!=4)c[e+220>>2]=1;g[e+224>>2]=0.0}d=d+1|0}while((d|0)!=(f|0))}d=c[m+432>>2]|0;if((d|0)>0){f=0;e=c[m+456>>2]|0;do{if((e|0)>0){d=0;do{Jb[((c[(c[m+464>>2]|0)+(d<<2)>>2]|0)==0?25:0)&31](m,1.0);d=d+1|0;e=c[m+456>>2]|0}while((d|0)<(e|0));d=c[m+432>>2]|0}f=f+1|0}while((f|0)<(d|0));e=c[m+772>>2]|0;if((e|0)>0){d=0;do{k=c[m+780>>2]|0;I=+g[m+512>>2];J=I*+g[k+(d*104|0)+44>>2]+ +g[k+(d*104|0)+28>>2];K=I*+g[k+(d*104|0)+48>>2]+ +g[k+(d*104|0)+32>>2];g[k+(d*104|0)+8>>2]=+g[k+(d*104|0)+40>>2]*I+ +g[k+(d*104|0)+24>>2];g[k+(d*104|0)+12>>2]=J;g[k+(d*104|0)+16>>2]=K;g[k+(d*104|0)+20>>2]=0.0;d=d+1|0}while((d|0)!=(e|0))}}d=c[m+436>>2]|0;if((d|0)>0){h=0;e=c[m+476>>2]|0;do{b=+(h|0)/+(d|0);if((e|0)>0){f=0;do{switch(c[(c[m+484>>2]|0)+(f<<2)>>2]|0){case 1:{d=3;break}case 0:{d=4;break}case 2:{d=5;break}case 3:{d=6;break}default:{w=35;break a}}Kb[d&7](m,1.0,b);f=f+1|0;e=c[m+476>>2]|0}while((f|0)<(e|0));d=c[m+436>>2]|0}h=h+1|0}while((h|0)<(d|0));b=+g[m+516>>2]*(1.0-+g[m+356>>2]);e=c[m+772>>2]|0;if((e|0)>0){d=0;do{k=c[m+780>>2]|0;J=b*(+g[k+(d*104|0)+12>>2]-+g[k+(d*104|0)+28>>2]);K=b*(+g[k+(d*104|0)+16>>2]-+g[k+(d*104|0)+32>>2]);g[k+(d*104|0)+40>>2]=b*(+g[k+(d*104|0)+8>>2]-+g[k+(d*104|0)+24>>2]);g[k+(d*104|0)+44>>2]=J;g[k+(d*104|0)+48>>2]=K;k=k+(d*104|0)+52|0;d=d+1|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0}while((d|0)!=(e|0))}}d=c[m+440>>2]|0;if((d|0)>0){b=+g[m+352>>2]*+g[m+516>>2];e=c[m+772>>2]|0;if((e|0)>0){d=0;do{k=c[m+780>>2]|0;j=k+(d*104|0)+8|0;k=k+(d*104|0)+24|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];d=d+1|0}while((d|0)!=(e|0));d=c[m+440>>2]|0;if((d|0)>0)w=42}else w=42;if((w|0)==42){w=0;h=0;e=c[m+496>>2]|0;do{if((e|0)>0){f=0;do{switch(c[(c[m+504>>2]|0)+(f<<2)>>2]|0){case 1:{d=3;break}case 0:{d=4;break}case 2:{d=5;break}case 3:{d=6;break}default:{w=53;break a}}Kb[d&7](m,1.0,0.0);f=f+1|0;e=c[m+496>>2]|0}while((f|0)<(e|0));d=c[m+440>>2]|0}h=h+1|0}while((h|0)<(d|0))}e=c[m+772>>2]|0;if((e|0)>0){f=c[m+780>>2]|0;d=0;do{J=b*(+g[f+(d*104|0)+12>>2]-+g[f+(d*104|0)+28>>2]);K=b*(+g[f+(d*104|0)+16>>2]-+g[f+(d*104|0)+32>>2]);k=f+(d*104|0)+40|0;g[k>>2]=b*(+g[f+(d*104|0)+8>>2]-+g[f+(d*104|0)+24>>2])+ +g[k>>2];k=f+(d*104|0)+44|0;g[k>>2]=J+ +g[k>>2];k=f+(d*104|0)+48|0;g[k>>2]=K+ +g[k>>2];d=d+1|0}while((d|0)!=(e|0))}}f=c[m+1112>>2]|0;if((f|0)>0){h=c[m+1120>>2]|0;e=0;do{i=c[h+(e<<2)>>2]|0;if(+g[i+352>>2]>0.0?(p=c[i+24>>2]|0,(p|0)>0):0){j=c[i+32>>2]|0;d=0;do{k=c[j+(d<<2)>>2]|0;if(+g[k+88>>2]>0.0?(t=+g[k+24>>2]-+g[i+228>>2],v=+g[k+28>>2]-+g[i+232>>2],r=+g[k+32>>2]-+g[i+236>>2],s=+g[i+336>>2],K=+g[i+340>>2],u=+g[i+332>>2],q=+g[i+316>>2]+(s*r-v*K),r=+g[i+320>>2]+(t*K-r*u),s=v*u-t*s+ +g[i+324>>2],t=+g[k+40>>2],u=+g[k+44>>2],v=+g[k+48>>2],q*q+r*r+s*s<=t*t+u*u+v*v):0){K=+g[i+352>>2];g[k+40>>2]=t+(q-t)*K;g[k+44>>2]=(r-u)*K+u;g[k+48>>2]=(s-v)*K+v}d=d+1|0}while((d|0)!=(p|0))}e=e+1|0}while((e|0)!=(f|0))}ee(m,1);d=c[a+24>>2]|0}}n=n+1|0;if((n|0)>=(d|0)){w=3;break}}if((w|0)==3){l=o;return}}function Vc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0.0;q=l;l=l+80|0;i=c[b+28>>2]|0;d=c[f+72>>2]|0;if((d&4|0)!=0&(i|0)>0){e=c[b+36>>2]|0;h=c[b+76>>2]|0;if(!(d&16)){d=0;do{m=c[e+(d*152|0)+132>>2]|0;c[m+124>>2]=c[e+(d*152|0)+100>>2];c[m+128>>2]=c[h+((c[e+(d*152|0)+140>>2]|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(i|0))}else{d=0;do{m=c[e+(d*152|0)+132>>2]|0;c[m+124>>2]=c[e+(d*152|0)+100>>2];k=c[e+(d*152|0)+140>>2]|0;c[m+128>>2]=c[h+(k*152|0)+100>>2];c[m+132>>2]=c[h+((k+1|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(i|0))}}h=c[b+48>>2]|0;if((h|0)>0){d=0;do{i=c[b+56>>2]|0;k=c[i+(d*152|0)+132>>2]|0;m=c[k+44>>2]|0;e=i+(d*152|0)+100|0;if(m|0){p=+g[e>>2];s=c[k+28>>2]|0;o=1.0/+g[f+12>>2];n=p*+g[i+(d*152|0)+20>>2]*+g[s+412>>2]*o;r=p*+g[i+(d*152|0)+24>>2]*+g[s+416>>2]*o;g[m>>2]=+g[m>>2]+ +g[i+(d*152|0)+16>>2]*p*+g[s+408>>2]*o;g[m+4>>2]=n+ +g[m+4>>2];g[m+8>>2]=r+ +g[m+8>>2];r=+g[e>>2];s=c[k+32>>2]|0;n=1.0/+g[f+12>>2];o=r*+g[i+(d*152|0)+52>>2]*+g[s+412>>2]*n;p=r*+g[i+(d*152|0)+56>>2]*+g[s+416>>2]*n;g[m+32>>2]=+g[m+32>>2]+ +g[i+(d*152|0)+48>>2]*r*+g[s+408>>2]*n;g[m+36>>2]=o+ +g[m+36>>2];g[m+40>>2]=p+ +g[m+40>>2];s=c[k+28>>2]|0;p=+g[e>>2];o=1.0/+g[f+12>>2];n=+g[i+(d*152|0)+4>>2]*+g[s+608>>2]*p*o;r=p*+g[i+(d*152|0)+8>>2]*+g[s+612>>2]*o;g[m+16>>2]=+g[m+16>>2]+ +g[i+(d*152|0)>>2]*+g[s+604>>2]*p*o;g[m+20>>2]=n+ +g[m+20>>2];g[m+24>>2]=r+ +g[m+24>>2];s=c[k+32>>2]|0;r=+g[e>>2];n=1.0/+g[f+12>>2];o=+g[i+(d*152|0)+36>>2]*+g[s+608>>2]*r*n;p=r*+g[i+(d*152|0)+40>>2]*+g[s+612>>2]*n;g[m+48>>2]=+g[m+48>>2]+ +g[i+(d*152|0)+32>>2]*+g[s+604>>2]*r*n;g[m+52>>2]=o+ +g[m+52>>2];g[m+56>>2]=p+ +g[m+56>>2]}s=c[e>>2]|0;c[k+36>>2]=s;r=+C(+(c[j>>2]=s,+g[j>>2]));if(r>=+g[k+16>>2])a[k+20>>0]=0;d=d+1|0}while((d|0)!=(h|0))}e=c[b+8>>2]|0;if((e|0)>0){k=0;d=c[b+16>>2]|0;do{h=d+(k*244|0)|0;i=c[d+(k*244|0)+240>>2]|0;if(i){if(!(c[f+52>>2]|0)){h=d+(k*244|0)+176|0;o=+g[d+(k*244|0)+64>>2]+ +g[h>>2];g[h>>2]=o;h=d+(k*244|0)+180|0;p=+g[d+(k*244|0)+68>>2]+ +g[h>>2];g[h>>2]=p;h=d+(k*244|0)+184|0;n=+g[d+(k*244|0)+72>>2]+ +g[h>>2];g[h>>2]=n;h=d+(k*244|0)+192|0;g[h>>2]=+g[d+(k*244|0)+80>>2]+ +g[h>>2];h=d+(k*244|0)+196|0;g[h>>2]=+g[d+(k*244|0)+84>>2]+ +g[h>>2];h=d+(k*244|0)+200|0;g[h>>2]=+g[d+(k*244|0)+88>>2]+ +g[h>>2];h=d;d=i}else{n=+g[f+12>>2];o=+g[f+60>>2];e=d+(k*244|0)+176|0;g[e>>2]=+g[d+(k*244|0)+64>>2]+ +g[e>>2];e=d+(k*244|0)+180|0;g[e>>2]=+g[d+(k*244|0)+68>>2]+ +g[e>>2];e=d+(k*244|0)+184|0;g[e>>2]=+g[d+(k*244|0)+72>>2]+ +g[e>>2];e=d+(k*244|0)+192|0;g[e>>2]=+g[d+(k*244|0)+80>>2]+ +g[e>>2];e=d+(k*244|0)+196|0;g[e>>2]=+g[d+(k*244|0)+84>>2]+ +g[e>>2];e=d+(k*244|0)+200|0;g[e>>2]=+g[d+(k*244|0)+88>>2]+ +g[e>>2];p=+g[d+(k*244|0)+144>>2];e=d+(k*244|0)+148|0;if(((((!(p!=0.0)?!(+g[e>>2]!=0.0):0)?!(+g[d+(k*244|0)+152>>2]!=0.0):0)?!(+g[d+(k*244|0)+160>>2]!=0.0):0)?!(+g[d+(k*244|0)+164>>2]!=0.0):0)?!(+g[d+(k*244|0)+168>>2]!=0.0):0)e=i;else{t=+g[d+(k*244|0)+164>>2]*o;r=+g[d+(k*244|0)+168>>2]*o;g[q>>2]=+g[d+(k*244|0)+160>>2]*o;g[q+4>>2]=t;g[q+8>>2]=r;g[q+12>>2]=0.0;Af(h,p,+g[e>>2],+g[d+(k*244|0)+152>>2],q,n,q+16|0);c[h>>2]=c[q+16>>2];c[h+4>>2]=c[q+16+4>>2];c[h+8>>2]=c[q+16+8>>2];c[h+12>>2]=c[q+16+12>>2];e=d+(k*244|0)+16|0;c[e>>2]=c[q+16+16>>2];c[e+4>>2]=c[q+16+16+4>>2];c[e+8>>2]=c[q+16+16+8>>2];c[e+12>>2]=c[q+16+16+12>>2];e=d+(k*244|0)+32|0;c[e>>2]=c[q+16+32>>2];c[e+4>>2]=c[q+16+32+4>>2];c[e+8>>2]=c[q+16+32+8>>2];c[e+12>>2]=c[q+16+32+12>>2];e=d+(k*244|0)+48|0;c[e>>2]=c[q+16+48>>2];c[e+4>>2]=c[q+16+48+4>>2];c[e+8>>2]=c[q+16+48+8>>2];c[e+12>>2]=c[q+16+48+12>>2];e=c[b+16>>2]|0;d=e;e=c[e+(k*244|0)+240>>2]|0}h=d;o=+g[d+(k*244|0)+176>>2];p=+g[d+(k*244|0)+180>>2];n=+g[d+(k*244|0)+184>>2];d=e}t=o+ +g[h+(k*244|0)+208>>2];r=p+ +g[h+(k*244|0)+212>>2];p=n+ +g[h+(k*244|0)+216>>2];m=d+304|0;c[m>>2]=(c[m>>2]|0)+1;g[d+372>>2]=t;g[d+376>>2]=r;g[d+380>>2]=p;g[d+384>>2]=0.0;m=c[b+16>>2]|0;s=c[m+(k*244|0)+240>>2]|0;p=+g[m+(k*244|0)+192>>2]+ +g[m+(k*244|0)+224>>2];r=+g[m+(k*244|0)+196>>2]+ +g[m+(k*244|0)+228>>2];t=+g[m+(k*244|0)+200>>2]+ +g[m+(k*244|0)+232>>2];c[s+304>>2]=(c[s+304>>2]|0)+1;g[s+388>>2]=p;g[s+392>>2]=r;g[s+396>>2]=t;g[s+400>>2]=0.0;if(c[f+52>>2]|0){m=c[b+16>>2]|0;s=c[m+(k*244|0)+240>>2]|0;i=m+(k*244|0)|0;c[s+304>>2]=(c[s+304>>2]|0)+1;c[s+4>>2]=c[i>>2];c[s+4+4>>2]=c[i+4>>2];c[s+4+8>>2]=c[i+8>>2];c[s+4+12>>2]=c[i+12>>2];i=m+(k*244|0)+16|0;c[s+20>>2]=c[i>>2];c[s+20+4>>2]=c[i+4>>2];c[s+20+8>>2]=c[i+8>>2];c[s+20+12>>2]=c[i+12>>2];i=m+(k*244|0)+32|0;c[s+36>>2]=c[i>>2];c[s+36+4>>2]=c[i+4>>2];c[s+36+8>>2]=c[i+8>>2];c[s+36+12>>2]=c[i+12>>2];m=m+(k*244|0)+48|0;c[s+52>>2]=c[m>>2];c[s+52+4>>2]=c[m+4>>2];c[s+52+8>>2]=c[m+8>>2];c[s+52+12>>2]=c[m+12>>2]}d=c[b+16>>2]|0;c[(c[d+(k*244|0)+240>>2]|0)+212>>2]=-1;e=c[b+8>>2]|0}k=k+1|0}while((k|0)<(e|0))}if((c[b+28>>2]|0)<0?(c[b+32>>2]|0)<0:0){d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+32>>2]=0}c[b+28>>2]=0;if((c[b+48>>2]|0)<0?(c[b+52>>2]|0)<0:0){d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+52>>2]=0}c[b+48>>2]=0;if((c[b+68>>2]|0)<0?(c[b+72>>2]|0)<0:0){d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+72>>2]=0}c[b+68>>2]=0;if((c[b+88>>2]|0)<0?(c[b+92>>2]|0)<0:0){d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+92>>2]=0}c[b+88>>2]=0;if((c[b+8>>2]|0)>=0){c[b+8>>2]=0;l=q;return 0.0}if((c[b+12>>2]|0)>=0){c[b+8>>2]=0;l=q;return 0.0}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0;c[b+8>>2]=0;l=q;return 0.0}function Wc(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0;D=l;l=l+560|0;C=D+524|0;c[D>>2]=0;B=D+512+12|0;lw(e)|0;if((A|0)<0){e=-e;y=1;x=19796}else{y=(h&2049|0)!=0&1;x=(h&2048|0)==0?((h&1|0)==0?19797:19802):19799}lw(e)|0;z=A&2146435072;do if(z>>>0<2146435072|(z|0)==2146435072&0<0){p=+dI(e,D)*2.0;if(p!=0.0)c[D>>2]=(c[D>>2]|0)+-1;if((i|32|0)==97){o=(i&32|0)==0?x:x+9|0;n=y|2;do if(!(g>>>0>11|(12-g|0)==0)){e=8.0;j=12-g|0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[o>>0]|0)==45){e=-(e+(-p-e));break}else{e=p+e-e;break}}else e=p;while(0);k=c[D>>2]|0;j=(k|0)<0?0-k|0:k;j=Om(j,((j|0)<0)<<31>>31,B)|0;if((j|0)==(B|0)){a[D+512+11>>0]=48;j=D+512+11|0}a[j+-1>>0]=(k>>31&2)+43;m=j+-2|0;a[m>>0]=i+15;j=D+524|0;do{z=~~e;k=j+1|0;a[j>>0]=d[19831+z>>0]|i&32;e=(e-+(z|0))*16.0;if((k-C|0)==1?!((h&8|0)==0&((g|0)<1&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);C=j-C|0;j=(g|0)!=0&(C+-2|0)<(g|0)?g+2|0:C;un(b,32,f,B-m+n+j|0,h);fA(b,o,n);un(b,48,f,B-m+n+j|0,h^65536);fA(b,D+524|0,C);un(b,48,j-C|0,0,0);fA(b,m,B-m|0);un(b,32,f,B-m+n+j|0,h^8192);j=B-m+n+j|0;break}k=(g|0)<0?6:g;if(p!=0.0){n=(c[D>>2]|0)+-28|0;c[D>>2]=n;e=p*268435456.0}else{e=p;n=c[D>>2]|0}z=(n|0)<0?D+8|0:D+8+288|0;j=z;do{v=~~e>>>0;c[j>>2]=v;j=j+4|0;e=(e-+(v>>>0))*1.0e9}while(e!=0.0);if((n|0)>0){m=z;do{g=(n|0)<29?n:29;n=j+-4|0;if(n>>>0>=m>>>0){o=0;do{u=wu(c[n>>2]|0,0,g|0)|0;u=Ow(u|0,A|0,o|0,0)|0;v=A;t=xs(u|0,v|0,1e9,0)|0;c[n>>2]=t;o=rB(u|0,v|0,1e9,0)|0;n=n+-4|0}while(n>>>0>=m>>>0);if(o){m=m+-4|0;c[m>>2]=o}}while(1){if(j>>>0<=m>>>0)break;n=j+-4|0;if(!(c[n>>2]|0))j=n;else break}n=(c[D>>2]|0)-g|0;c[D>>2]=n}while((n|0)>0)}else m=z;if((n|0)<0)do{g=0-n|0;g=(g|0)<9?g:9;if(m>>>0<j>>>0){o=0;n=m;do{v=c[n>>2]|0;c[n>>2]=(v>>>g)+o;o=P(v&(1<<g)+-1,1e9>>>g)|0;n=n+4|0}while(n>>>0<j>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(o){c[j>>2]=o;j=j+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;n=(i|32|0)==102?z:m;j=(j-n>>2|0)>(((k+25|0)/9|0)+1|0)?n+(((k+25|0)/9|0)+1<<2)|0:j;n=(c[D>>2]|0)+g|0;c[D>>2]=n}while((n|0)<0);if(m>>>0<j>>>0){n=(z-m>>2)*9|0;g=c[m>>2]|0;if(g>>>0<10)s=n;else{o=10;do{o=o*10|0;n=n+1|0}while(g>>>0>=o>>>0);s=n}}else s=0;o=k-((i|32|0)!=102?s:0)+(((k|0)!=0&(i|32|0)==103)<<31>>31)|0;if((o|0)<(((j-z>>2)*9|0)+-9|0)){n=z+4+(((o+9216|0)/9|0)+-1024<<2)|0;if((((o+9216|0)%9|0)+1|0)<9){g=((o+9216|0)%9|0)+1|0;o=10;do{o=o*10|0;g=g+1|0}while((g|0)!=9)}else o=10;q=c[n>>2]|0;r=(q>>>0)%(o>>>0)|0;g=(n+4|0)==(j|0);if(!(g&(r|0)==0)){p=(((q>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(o|0)/2|0;e=r>>>0<v>>>0?.5:g&(r|0)==(v|0)?1.0:1.5;if(y){v=(a[x>>0]|0)==45;e=v?-e:e;p=v?-p:p}c[n>>2]=q-r;if(p+e!=p){v=q-r+o|0;c[n>>2]=v;if(v>>>0>999999999)while(1){o=n+-4|0;c[n>>2]=0;if(o>>>0<m>>>0){m=m+-4|0;c[m>>2]=0}v=(c[o>>2]|0)+1|0;c[o>>2]=v;if(v>>>0>999999999)n=o;else{n=o;break}}o=(z-m>>2)*9|0;q=c[m>>2]|0;if(q>>>0>=10){g=10;do{g=g*10|0;o=o+1|0}while(q>>>0>=g>>>0)}}else o=s}else o=s;u=n+4|0;j=j>>>0>u>>>0?u:j;u=m}else{o=s;u=m}v=j;while(1){if(v>>>0<=u>>>0){t=0;break}j=v+-4|0;if(!(c[j>>2]|0))v=j;else{t=1;break}}q=0-o|0;do if((i|32|0)==103){if((o|0)>-5?((((k|0)!=0^1)&1)+k|0)>(o|0):0){n=i+-1|0;k=(((k|0)!=0^1)&1)+k+-1-o|0}else{n=i+-2|0;k=(((k|0)!=0^1)&1)+k+-1|0}if(!(h&8)){if(t?(w=c[v+-4>>2]|0,(w|0)!=0):0)if(!((w>>>0)%10|0)){j=0;m=10;do{m=m*10|0;j=j+1|0}while(!((w>>>0)%(m>>>0)|0|0))}else j=0;else j=9;m=((v-z>>2)*9|0)+-9|0;if((n|32|0)==102){g=m-j|0;g=(g|0)>0?g:0;k=(k|0)<(g|0)?k:g;g=0;break}else{g=m+o-j|0;g=(g|0)>0?g:0;k=(k|0)<(g|0)?k:g;g=0;break}}else g=h&8}else{n=i;g=h&8}while(0);s=k|g;m=(n|32|0)==102;if(m){r=0;j=(o|0)>0?o:0}else{j=(o|0)<0?q:o;j=Om(j,((j|0)<0)<<31>>31,B)|0;if((B-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((B-j|0)<2);a[j+-1>>0]=(o>>31&2)+43;j=j+-2|0;a[j>>0]=n;r=j;j=B-j|0}j=y+1+k+((s|0)!=0&1)+j|0;un(b,32,f,j,h);fA(b,x,y);un(b,48,f,j,h^65536);if(m){o=u>>>0>z>>>0?z:u;n=o;do{m=Om(c[n>>2]|0,0,D+524+9|0)|0;if((n|0)==(o|0)){if((m|0)==(D+524+9|0)){a[D+524+8>>0]=48;m=D+524+8|0}}else if(m>>>0>(D+524|0)>>>0){Yk(D+524|0,48,m-C|0)|0;do m=m+-1|0;while(m>>>0>(D+524|0)>>>0)}fA(b,m,D+524+9-m|0);n=n+4|0}while(n>>>0<=z>>>0);if(s|0)fA(b,19847,1);if(n>>>0<v>>>0&(k|0)>0)while(1){m=Om(c[n>>2]|0,0,D+524+9|0)|0;if(m>>>0>(D+524|0)>>>0){Yk(D+524|0,48,m-C|0)|0;do m=m+-1|0;while(m>>>0>(D+524|0)>>>0)}fA(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0<v>>>0&(k|0)>9)){k=m;break}else k=m}un(b,48,k+9|0,9,0)}else{q=t?v:u+4|0;if((k|0)>-1){g=(g|0)==0;o=u;do{m=Om(c[o>>2]|0,0,D+524+9|0)|0;if((m|0)==(D+524+9|0)){a[D+524+8>>0]=48;m=D+524+8|0}do if((o|0)==(u|0)){n=m+1|0;fA(b,m,1);if(g&(k|0)<1){m=n;break}fA(b,19847,1);m=n}else{if(m>>>0<=(D+524|0)>>>0)break;Yk(D+524|0,48,m+(0-C)|0)|0;do m=m+-1|0;while(m>>>0>(D+524|0)>>>0)}while(0);z=D+524+9-m|0;fA(b,m,(k|0)>(z|0)?z:k);k=k-z|0;o=o+4|0}while(o>>>0<q>>>0&(k|0)>-1)}un(b,48,k+18|0,18,0);fA(b,r,B-r|0)}un(b,32,f,j,h^8192)}else{j=y+3|0;un(b,32,f,j,h&-65537);fA(b,x,y);fA(b,e!=e|0.0!=0.0?(i&32|0?19823:19827):i&32|0?19815:19819,3);un(b,32,f,j,h^8192)}while(0);l=D;return ((j|0)<(f|0)?f:j)|0}function Xc(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;c[x+16>>2]=e;w=x+24+40|0;k=0;j=0;p=0;a:while(1){do if((j|0)>-1)if((k|0)>(2147483647-j|0)){c[7137]=75;j=-1;break}else{j=k+j|0;break}while(0);k=a[e>>0]|0;if(!(k<<24>>24)){v=87;break}else m=e;b:while(1){switch(k<<24>>24){case 37:{k=m;v=9;break b}case 0:{k=m;break b}default:{}}u=m+1|0;c[x+16>>2]=u;k=a[u>>0]|0;m=u}c:do if((v|0)==9)while(1){v=0;if((a[m+1>>0]|0)!=37)break c;k=k+1|0;m=m+2|0;c[x+16>>2]=m;if((a[m>>0]|0)==37)v=9;else break}while(0);k=k-e|0;if(d|0)fA(d,e,k);if(k|0){e=m;continue}n=m+1|0;k=(a[n>>0]|0)+-48|0;if(k>>>0<10){u=(a[m+2>>0]|0)==36;s=u?k:-1;p=u?1:p;n=u?m+3|0:n}else s=-1;c[x+16>>2]=n;k=a[n>>0]|0;d:do if(((k<<24>>24)+-32|0)>>>0<32){m=0;q=k;o=(k<<24>>24)+-32|0;while(1){k=1<<o;if(!(k&75913)){k=q;break d}m=k|m;n=n+1|0;c[x+16>>2]=n;k=a[n>>0]|0;o=(k<<24>>24)+-32|0;if(o>>>0>=32)break;else q=k}}else m=0;while(0);if(k<<24>>24==42){o=n+1|0;k=(a[o>>0]|0)+-48|0;if(k>>>0<10?(a[n+2>>0]|0)==36:0){c[i+(k<<2)>>2]=10;k=c[g+((a[o>>0]|0)+-48<<3)>>2]|0;p=1;n=n+3|0}else{if(p|0){j=-1;break}if(d|0){p=(c[f>>2]|0)+(4-1)&~(4-1);k=c[p>>2]|0;c[f>>2]=p+4;p=0;n=o}else{k=0;p=0;n=o}}c[x+16>>2]=n;t=(k|0)<0;k=t?0-k|0:k;t=t?m|8192:m}else{k=gq(x+16|0)|0;if((k|0)<0){j=-1;break}t=m;n=c[x+16>>2]|0}do if((a[n>>0]|0)==46){m=n+1|0;if((a[m>>0]|0)!=42){c[x+16>>2]=m;m=gq(x+16|0)|0;n=c[x+16>>2]|0;break}o=n+2|0;m=(a[o>>0]|0)+-48|0;if(m>>>0<10?(a[n+3>>0]|0)==36:0){c[i+(m<<2)>>2]=10;m=c[g+((a[o>>0]|0)+-48<<3)>>2]|0;n=n+4|0;c[x+16>>2]=n;break}if(p|0){j=-1;break a}if(d|0){u=(c[f>>2]|0)+(4-1)&~(4-1);m=c[u>>2]|0;c[f>>2]=u+4}else m=0;c[x+16>>2]=o;n=o}else m=-1;while(0);r=0;while(1){if(((a[n>>0]|0)+-65|0)>>>0>57){j=-1;break a}u=n+1|0;c[x+16>>2]=u;o=a[(a[n>>0]|0)+-65+(19315+(r*58|0))>>0]|0;if(((o&255)+-1|0)>>>0<8){r=o&255;n=u}else break}if(!(o<<24>>24)){j=-1;break}q=(s|0)>-1;do if(o<<24>>24==19)if(q){j=-1;break a}else v=49;else{if(q){c[i+(s<<2)>>2]=o&255;s=g+(s<<3)|0;v=c[s+4>>2]|0;c[x>>2]=c[s>>2];c[x+4>>2]=v;v=49;break}if(!d){j=0;break a}Ug(x,o&255,f)}while(0);if((v|0)==49?(v=0,(d|0)==0):0){k=0;e=u;continue}n=a[n>>0]|0;n=(r|0)!=0&(n&15|0)==3?n&-33:n;s=t&-65537;t=(t&8192|0)==0?t:s;e:do switch(n|0){case 110:switch((r&255)<<24>>24){case 0:{c[c[x>>2]>>2]=j;k=0;e=u;continue a}case 1:{c[c[x>>2]>>2]=j;k=0;e=u;continue a}case 2:{k=c[x>>2]|0;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=0;e=u;continue a}case 3:{b[c[x>>2]>>1]=j;k=0;e=u;continue a}case 4:{a[c[x>>2]>>0]=j;k=0;e=u;continue a}case 6:{c[c[x>>2]>>2]=j;k=0;e=u;continue a}case 7:{k=c[x>>2]|0;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=0;e=u;continue a}default:{k=0;e=u;continue a}}case 112:{n=120;m=m>>>0>8?m:8;e=t|8;v=61;break}case 88:case 120:{e=t;v=61;break}case 111:{e=c[x>>2]|0;n=c[x+4>>2]|0;s=sr(e,n,w)|0;r=s;o=0;q=19779;m=(t&8|0)==0|(m|0)>(w-s|0)?m:w-s+1|0;s=t;v=67;break}case 105:case 100:{e=c[x>>2]|0;n=c[x+4>>2]|0;if((n|0)<0){e=sw(0,0,e|0,n|0)|0;n=A;c[x>>2]=e;c[x+4>>2]=n;o=1;q=19779;v=66;break e}else{o=(t&2049|0)!=0&1;q=(t&2048|0)==0?((t&1|0)==0?19779:19781):19780;v=66;break e}}case 117:{o=0;q=19779;e=c[x>>2]|0;n=c[x+4>>2]|0;v=66;break}case 99:{a[x+24+39>>0]=c[x>>2];e=x+24+39|0;o=0;q=19779;r=w;n=1;m=s;break}case 109:{n=pI(c[7137]|0)|0;v=71;break}case 115:{n=c[x>>2]|0;n=n|0?n:19789;v=71;break}case 67:{c[x+8>>2]=c[x>>2];c[x+8+4>>2]=0;c[x>>2]=x+8;r=-1;n=x+8|0;v=75;break}case 83:{e=c[x>>2]|0;if(!m){un(d,32,k,0,t);e=0;v=84}else{r=m;n=e;v=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{k=Wc(d,+h[x>>3],k,m,t,n)|0;e=u;continue a}default:{o=0;q=19779;r=w;n=m;m=t}}while(0);f:do if((v|0)==61){y=c[x>>2]|0;t=c[x+4>>2]|0;r=qq(y,t,w,n&32)|0;q=(e&8|0)==0|(y|0)==0&(t|0)==0;o=q?0:2;q=q?19779:19779+(n>>4)|0;s=e;e=y;n=t;v=67}else if((v|0)==66){r=Om(e,n,w)|0;s=t;v=67}else if((v|0)==71){v=0;y=Kj(n,m)|0;e=n;o=0;q=19779;r=(y|0)==0?n+m|0:y;n=(y|0)==0?m:y-n|0;m=s}else if((v|0)==75){v=0;q=n;e=0;m=0;while(1){o=c[q>>2]|0;if(!o)break;m=OA(x+20|0,o)|0;if((m|0)<0|m>>>0>(r-e|0)>>>0)break;e=m+e|0;if(r>>>0>e>>>0)q=q+4|0;else break}if((m|0)<0){j=-1;break a}un(d,32,k,e,t);if(!e){e=0;v=84}else{o=0;while(1){m=c[n>>2]|0;if(!m){v=84;break f}m=OA(x+20|0,m)|0;o=m+o|0;if((o|0)>(e|0)){v=84;break f}fA(d,x+20|0,m);if(o>>>0>=e>>>0){v=84;break}else n=n+4|0}}}while(0);if((v|0)==67){v=0;n=(e|0)!=0|(n|0)!=0;y=(m|0)!=0|n;n=((n^1)&1)+(w-r)|0;e=y?r:w;r=w;n=y?((m|0)>(n|0)?m:n):m;m=(m|0)>-1?s&-65537:s}else if((v|0)==84){v=0;un(d,32,k,e,t^8192);k=(k|0)>(e|0)?k:e;e=u;continue}t=r-e|0;s=(n|0)<(t|0)?t:n;y=s+o|0;k=(k|0)<(y|0)?y:k;un(d,32,k,y,m);fA(d,q,o);un(d,48,k,y,m^65536);un(d,48,s,t,0);fA(d,e,t);un(d,32,k,y,m^8192);e=u}g:do if((v|0)==87)if(!d)if(!p)j=0;else{j=1;while(1){e=c[i+(j<<2)>>2]|0;if(!e){k=0;break}Ug(g+(j<<3)|0,e,f);j=j+1|0;if((j|0)>=10){j=1;break g}}while(1){e=j+1|0;if(k|0){j=-1;break g}if((e|0)>=10){j=1;break g}j=e;k=c[i+(e<<2)>>2]|0}}while(0);l=x;return j|0}function Yc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0;u=l;l=l+672|0;c[u+448+8>>2]=0;c[u+448+12>>2]=-1;m=u+448+28|0;c[u+448>>2]=7020;c[u+448+4>>2]=8;c[u+448+16>>2]=1065353216;c[u+448+20>>2]=1065353216;c[u+448+24>>2]=1065353216;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;g[u+384>>2]=1.0;m=u+384+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;g[u+384+20>>2]=1.0;n=u+384+24|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[u+384+40>>2]=1.0;g[u+384+44>>2]=0.0;c[u+384+48>>2]=c[a>>2];c[u+384+48+4>>2]=c[a+4>>2];c[u+384+48+8>>2]=c[a+8>>2];c[u+384+48+12>>2]=c[a+12>>2];a=e;k=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(k|0));c[u+504>>2]=b;c[u+504+4>>2]=u+448;w=+g[d>>2];v=+g[d+16>>2];f=+g[d+32>>2];h=+g[d+4>>2];i=+g[d+20>>2];j=+g[d+36>>2];s=+g[d+8>>2];q=+g[d+24>>2];o=+g[d+40>>2];g[u+504+8>>2]=w+v*0.0+f*0.0;g[u+504+12>>2]=h+i*0.0+j*0.0;g[u+504+16>>2]=s+q*0.0+o*0.0;g[u+504+20>>2]=0.0;g[u+504+24>>2]=w*0.0+v+f*0.0;g[u+504+28>>2]=h*0.0+i+j*0.0;g[u+504+32>>2]=s*0.0+q+o*0.0;g[u+504+36>>2]=0.0;g[u+504+40>>2]=w*0.0+v*0.0+f;g[u+504+44>>2]=h*0.0+i*0.0+j;g[u+504+48>>2]=s*0.0+q*0.0+o;g[u+504+52>>2]=0.0;o=+g[u+384+48>>2]-+g[d+48>>2];q=+g[u+384+52>>2]-+g[d+52>>2];s=+g[u+384+56>>2]-+g[d+56>>2];G=+g[u+384>>2];F=+g[u+384+16>>2];E=+g[u+384+32>>2];C=+g[m>>2];B=+g[u+384+20>>2];A=+g[u+384+36>>2];z=+g[u+384+8>>2];y=+g[n>>2];x=+g[u+384+40>>2];p=+g[d+8>>2];r=+g[d+24>>2];t=+g[d+40>>2];g[u+504+56>>2]=w*G+v*F+f*E;g[u+504+60>>2]=w*C+v*B+f*A;g[u+504+64>>2]=w*z+v*y+f*x;g[u+504+68>>2]=0.0;g[u+504+72>>2]=G*h+F*i+E*j;g[u+504+76>>2]=C*h+B*i+A*j;g[u+504+80>>2]=z*h+y*i+x*j;g[u+504+84>>2]=0.0;g[u+504+88>>2]=G*p+F*r+E*t;g[u+504+92>>2]=C*p+B*r+A*t;g[u+504+96>>2]=z*p+y*r+x*t;g[u+504+100>>2]=0.0;g[u+504+104>>2]=o*w+q*v+s*f;g[u+504+108>>2]=o*h+q*i+s*j;g[u+504+112>>2]=o*p+q*r+s*t;g[u+504+116>>2]=0.0;c[u+504+120>>2]=80;c[u+504+124>>2]=0;c[u+364>>2]=0;c[u+128>>2]=0;c[u+128+4>>2]=0;c[u+128+8>>2]=0;c[u+128+12>>2]=0;c[u+376>>2]=2;c[u+368>>2]=0;g[u+144>>2]=0.0;c[u+648>>2]=1065353216;c[u+648+4>>2]=1065353216;c[u+648+8>>2]=1065353216;g[u+648+12>>2]=0.0;switch(Jc(u,u+504|0,u+648|0)|0){case 0:{a=c[u+372>>2]|0;if(!(c[a+32>>2]|0)){j=0.0;i=0.0;f=0.0;r=0.0;q=0.0;h=0.0}else{n=0;f=0.0;i=0.0;j=0.0;h=0.0;q=0.0;r=0.0;do{t=+g[a+16+(n<<2)>>2];k=c[u+504+120>>2]|0;H=c[u+504+124>>2]|0;m=(c[u+504>>2]|0)+(H>>1)|0;if(H&1)k=c[(c[m>>2]|0)+k>>2]|0;Sb[k&127](u+648|0,m,c[a+(n<<2)>>2]|0);f=f+t*+g[u+648>>2];i=i+t*+g[u+648+4>>2];j=j+t*+g[u+648+8>>2];a=c[(c[u+372>>2]|0)+(n<<2)>>2]|0;o=-+g[a>>2];p=-+g[a+4>>2];s=-+g[a+8>>2];a=c[u+504+120>>2]|0;H=c[u+504+124>>2]|0;k=(c[u+504+4>>2]|0)+(H>>1)|0;if(H&1)a=c[(c[k>>2]|0)+a>>2]|0;F=+g[u+504+24>>2]*o+ +g[u+504+28>>2]*p+ +g[u+504+32>>2]*s;E=+g[u+504+40>>2]*o+ +g[u+504+44>>2]*p+ +g[u+504+48>>2]*s;g[u+632>>2]=+g[u+504+8>>2]*o+ +g[u+504+12>>2]*p+ +g[u+504+16>>2]*s;g[u+632+4>>2]=F;g[u+632+8>>2]=E;g[u+632+12>>2]=0.0;Sb[a&127](u+648|0,k,u+632|0);E=+g[u+648>>2];F=+g[u+648+4>>2];G=+g[u+648+8>>2];h=h+t*(E*+g[u+504+56>>2]+F*+g[u+504+60>>2]+G*+g[u+504+64>>2]+ +g[u+504+104>>2]);q=q+t*(E*+g[u+504+72>>2]+F*+g[u+504+76>>2]+G*+g[u+504+80>>2]+ +g[u+504+108>>2]);r=r+t*(E*+g[u+504+88>>2]+F*+g[u+504+92>>2]+G*+g[u+504+96>>2]+ +g[u+504+112>>2]);n=n+1|0;a=c[u+372>>2]|0}while(n>>>0<(c[a+32>>2]|0)>>>0)}s=f*+g[d>>2]+i*+g[d+4>>2]+j*+g[d+8>>2]+ +g[d+48>>2];t=f*+g[d+16>>2]+i*+g[d+20>>2]+j*+g[d+24>>2]+ +g[d+52>>2];j=f*+g[d+32>>2]+i*+g[d+36>>2]+j*+g[d+40>>2]+ +g[d+56>>2];g[e+4>>2]=s;g[e+8>>2]=t;g[e+12>>2]=j;g[e+16>>2]=0.0;o=h*+g[d>>2]+q*+g[d+4>>2]+r*+g[d+8>>2]+ +g[d+48>>2];p=h*+g[d+16>>2]+q*+g[d+20>>2]+r*+g[d+24>>2]+ +g[d+52>>2];i=h*+g[d+32>>2]+q*+g[d+36>>2]+r*+g[d+40>>2]+ +g[d+56>>2];g[e+20>>2]=o;g[e+24>>2]=p;g[e+28>>2]=i;g[e+32>>2]=0.0;switch(c[b+4>>2]|0){case 8:{f=+g[b+32>>2]*+g[b+16>>2];break}case 0:{f=+g[b+48>>2];break}case 1:{f=+g[b+48>>2];break}case 13:{f=+g[b+48>>2];break}case 11:{f=+g[b+48>>2];break}case 10:{f=+g[b+48>>2];break}case 4:case 5:{f=+g[b+48>>2];break}default:f=+nb[c[(c[b>>2]|0)+48>>2]&15](b)}switch(c[u+448+4>>2]|0){case 8:{h=+g[u+448+32>>2]*+g[u+448+16>>2];break}case 0:{h=+g[u+448+48>>2];break}case 1:{h=+g[u+448+48>>2];break}case 13:{h=+g[u+448+48>>2];break}case 11:{h=+g[u+448+48>>2];break}case 10:{h=+g[u+448+48>>2];break}case 4:case 5:{h=+g[u+448+48>>2];break}default:h=+nb[c[(c[u+448>>2]|0)+48>>2]&15](u+448|0)}G=f+h;F=+D(+((o-s)*(o-s)+(p-t)*(p-t)+(i-j)*(i-j)));g[e+36>>2]=(o-s)*(1.0/F);g[e+40>>2]=(p-t)*(1.0/F);g[e+44>>2]=(i-j)*(1.0/F);g[e+48>>2]=0.0;g[e+4>>2]=G*(o-s)*(1.0/F)+ +g[e+4>>2];g[e+8>>2]=G*(p-t)*(1.0/F)+ +g[e+8>>2];g[e+12>>2]=G*(i-j)*(1.0/F)+ +g[e+12>>2];G=F-G;l=u;return +G}case 1:{if(!(Hc(b,d,u+448|0,u+384|0,u+128|0,e,1)|0)){G=3402823466385288598117041.0e14;l=u;return +G}f=+g[e+4>>2]-+g[e+20>>2];h=+g[e+8>>2]-+g[e+24>>2];i=+g[e+12>>2]-+g[e+28>>2];j=+D(+(f*f+h*h+i*i));if(j>=1.1920928955078125e-07){g[e+36>>2]=f*(1.0/j);g[e+40>>2]=h*(1.0/j);g[e+44>>2]=i*(1.0/j);g[e+48>>2]=0.0}G=-j;l=u;return +G}default:{G=3402823466385288598117041.0e14;l=u;return +G}}return 0.0}function Zc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)!=0:0){r=+g[b+116>>2];h=+g[e>>2];I=+g[b+132>>2];f=+g[e+4>>2];J=+g[b+148>>2];y=+g[e+8>>2];s=+g[b+120>>2];G=+g[b+136>>2];H=+g[b+152>>2];t=+g[b+124>>2];F=+g[b+140>>2];u=+g[b+156>>2];w=+g[e+16>>2];x=+g[e+20>>2];z=+g[e+24>>2];E=+g[e+32>>2];v=+g[e+36>>2];A=+g[e+40>>2];m=+g[b+164>>2];i=+g[b+168>>2];D=+g[b+172>>2];C=+g[e+48>>2]+(h*m+f*i+y*D);B=w*m+x*i+z*D+ +g[e+52>>2];D=E*m+v*i+A*D+ +g[e+56>>2];g[b+824>>2]=r*h+I*f+J*y;g[b+828>>2]=h*s+f*G+y*H;g[b+832>>2]=h*t+f*F+y*u;g[b+836>>2]=0.0;g[b+840>>2]=r*w+I*x+J*z;g[b+844>>2]=s*w+G*x+H*z;g[b+848>>2]=t*w+F*x+u*z;g[b+852>>2]=0.0;g[b+856>>2]=r*E+I*v+J*A;g[b+860>>2]=s*E+G*v+H*A;g[b+864>>2]=t*E+F*v+u*A;g[b+868>>2]=0.0;g[b+872>>2]=C;g[b+876>>2]=B;g[b+880>>2]=D;g[b+884>>2]=0.0;D=+g[b+52>>2];B=+g[d>>2];C=+g[b+68>>2];A=+g[d+4>>2];u=+g[b+84>>2];v=+g[d+8>>2];F=+g[b+56>>2];E=+g[b+72>>2];t=+g[b+88>>2];H=+g[b+60>>2];G=+g[b+76>>2];s=+g[b+92>>2];J=+g[d+16>>2];I=+g[d+20>>2];r=+g[d+24>>2];z=+g[d+32>>2];x=+g[d+36>>2];w=+g[d+40>>2];y=+g[b+100>>2];f=+g[b+104>>2];h=+g[b+108>>2];k=b+856|0;l=b+840|0;i=J*y+I*f+r*h;m=H*z+G*x+s*w;n=F*z+E*x+t*w;o=D*z+C*x+u*w;p=H*J+G*I+s*r;q=F*J+E*I+t*r;r=D*J+C*I+u*r;s=B*H+A*G+v*s;t=B*F+A*E+v*t;u=D*B+C*A+u*v;v=B*y+A*f+v*h;f=z*y+x*f;h=w*h}else{r=+g[b+52>>2];h=+g[d>>2];x=+g[b+68>>2];f=+g[d+4>>2];w=+g[b+84>>2];H=+g[d+8>>2];s=+g[b+56>>2];z=+g[b+72>>2];y=+g[b+88>>2];t=+g[b+60>>2];A=+g[b+76>>2];u=+g[b+92>>2];J=+g[d+16>>2];I=+g[d+20>>2];G=+g[d+24>>2];B=+g[d+32>>2];v=+g[d+36>>2];F=+g[d+40>>2];m=+g[b+100>>2];i=+g[b+104>>2];C=+g[b+108>>2];D=+g[d+48>>2]+(h*m+f*i+H*C);E=J*m+I*i+G*C+ +g[d+52>>2];C=B*m+v*i+F*C+ +g[d+56>>2];g[b+824>>2]=r*h+x*f+w*H;g[b+828>>2]=h*s+f*z+H*y;g[b+832>>2]=h*t+f*A+H*u;g[b+836>>2]=0.0;g[b+840>>2]=r*J+x*I+w*G;g[b+844>>2]=s*J+z*I+y*G;g[b+848>>2]=t*J+A*I+u*G;g[b+852>>2]=0.0;g[b+856>>2]=r*B+x*v+w*F;g[b+860>>2]=s*B+z*v+y*F;g[b+864>>2]=t*B+A*v+u*F;g[b+868>>2]=0.0;g[b+872>>2]=D;g[b+876>>2]=E;g[b+880>>2]=C;g[b+884>>2]=0.0;C=+g[b+116>>2];E=+g[e>>2];D=+g[b+132>>2];F=+g[e+4>>2];u=+g[b+148>>2];v=+g[e+8>>2];A=+g[b+120>>2];B=+g[b+136>>2];t=+g[b+152>>2];y=+g[b+124>>2];z=+g[b+140>>2];s=+g[b+156>>2];w=+g[e+16>>2];x=+g[e+20>>2];r=+g[e+24>>2];G=+g[e+32>>2];I=+g[e+36>>2];J=+g[e+40>>2];H=+g[b+164>>2];f=+g[b+168>>2];h=+g[b+172>>2];k=b+856|0;l=b+840|0;i=w*H+x*f+r*h;m=y*G+z*I+s*J;n=A*G+B*I+t*J;o=C*G+D*I+u*J;p=y*w+z*x+s*r;q=A*w+B*x+t*r;r=C*w+D*x+u*r;s=E*y+F*z+v*s;t=E*A+F*B+v*t;u=C*E+D*F+u*v;v=E*H+F*f+v*h;d=e;f=G*H+I*f;h=J*h}J=v+ +g[d+48>>2];i=i+ +g[d+52>>2];f=h+f+ +g[d+56>>2];g[b+888>>2]=u;g[b+892>>2]=t;g[b+896>>2]=s;g[b+900>>2]=0.0;g[b+904>>2]=r;g[b+908>>2]=q;g[b+912>>2]=p;g[b+916>>2]=0.0;g[b+920>>2]=o;g[b+924>>2]=n;g[b+928>>2]=m;g[b+932>>2]=0.0;g[b+936>>2]=J;g[b+940>>2]=i;g[b+944>>2]=f;g[b+948>>2]=0.0;c[b+968>>2]=c[b+872>>2];c[b+968+4>>2]=c[b+872+4>>2];c[b+968+8>>2]=c[b+872+8>>2];c[b+968+12>>2]=c[b+872+12>>2];c[b+984>>2]=c[b+936>>2];c[b+984+4>>2]=c[b+936+4>>2];c[b+984+8>>2]=c[b+936+8>>2];c[b+984+12>>2]=c[b+936+12>>2];d=c[b+824>>2]|0;e=c[l>>2]|0;l=c[k>>2]|0;c[b+952>>2]=d;c[b+956>>2]=e;c[b+960>>2]=l;g[b+964>>2]=0.0;f=(c[j>>2]=d,+g[j>>2]);h=(c[j>>2]=e,+g[j>>2]);i=(c[j>>2]=l,+g[j>>2]);if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)==0:0){l=b+984|0;k=b+968|0;H=+g[k>>2];G=+g[l>>2];G=H-G;e=k+4|0;H=+g[e>>2];e=l+4|0;I=+g[e>>2];I=H-I;k=k+8|0;H=+g[k>>2];l=l+8|0;J=+g[l>>2];J=H-J;l=b+1016|0;g[l>>2]=G;l=b+1020|0;g[l>>2]=I;l=b+1024|0;g[l>>2]=J;l=b+1028|0;g[l>>2]=0.0;H=f*G;D=h*I;D=H+D;H=i*J;H=D+H;D=f*H;E=h*H;F=i*H;C=+g[b+968>>2];D=C+D;l=b+972|0;C=+g[l>>2];E=C+E;l=b+976|0;C=+g[l>>2];F=C+F;l=b+1e3|0;g[l>>2]=D;l=b+1004|0;g[l>>2]=E;l=b+1008|0;g[l>>2]=F;l=b+1012|0;g[l>>2]=0.0;l=b+1032|0;g[l>>2]=H;l=b+828|0;k=b+844|0;e=b+860|0;H=+g[l>>2];F=+g[k>>2];E=+g[e>>2];H=H*G;F=F*I;F=H+F;E=E*J;E=F+E;e=b+1036|0;g[e>>2]=E;e=b+832|0;k=b+848|0;l=b+864|0;E=+g[e>>2];F=+g[k>>2];H=+g[l>>2];G=E*G;I=F*I;I=G+I;J=H*J;J=I+J;b=b+1040|0;g[b>>2]=J;return}l=b+968|0;k=b+984|0;H=+g[k>>2];G=+g[l>>2];G=H-G;e=k+4|0;H=+g[e>>2];e=l+4|0;I=+g[e>>2];I=H-I;k=k+8|0;H=+g[k>>2];l=l+8|0;J=+g[l>>2];J=H-J;l=b+1016|0;g[l>>2]=G;l=b+1020|0;g[l>>2]=I;l=b+1024|0;g[l>>2]=J;l=b+1028|0;g[l>>2]=0.0;H=f*G;D=h*I;D=H+D;H=i*J;H=D+H;D=f*H;E=h*H;F=i*H;C=+g[b+968>>2];D=C+D;l=b+972|0;C=+g[l>>2];E=C+E;l=b+976|0;C=+g[l>>2];F=C+F;l=b+1e3|0;g[l>>2]=D;l=b+1004|0;g[l>>2]=E;l=b+1008|0;g[l>>2]=F;l=b+1012|0;g[l>>2]=0.0;l=b+1032|0;g[l>>2]=H;l=b+828|0;k=b+844|0;e=b+860|0;H=+g[l>>2];F=+g[k>>2];E=+g[e>>2];H=H*G;F=F*I;F=H+F;E=E*J;E=F+E;e=b+1036|0;g[e>>2]=E;e=b+832|0;k=b+848|0;l=b+864|0;E=+g[e>>2];F=+g[k>>2];H=+g[l>>2];G=E*G;I=F*I;I=G+I;J=H*J;J=I+J;b=b+1040|0;g[b>>2]=J;return}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=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.0,z=0.0,A=0.0;if((d|0)<=1){x=0;return x|0}w=c[b+772>>2]|0;x=P(w,w)|0;x=$I(x>>>0>1073741823?-1:x<<2)|0;if((w|0)>0){h=0;do{i=P(h,w)|0;f=0;do{p=x+((P(f,w)|0)+h<<2)|0;t=(f|0)==(h|0)?0:2147483647;c[p>>2]=t;c[x+(f+i<<2)>>2]=t;f=f+1|0}while((f|0)!=(w|0));h=h+1|0}while((h|0)!=(w|0))}h=c[b+792>>2]|0;if((h|0)>0){i=c[b+800>>2]|0;j=c[b+780>>2]|0;f=0;do{p=((c[i+(f*52|0)+24>>2]|0)-j|0)/104|0;t=((c[i+(f*52|0)+28>>2]|0)-j|0)/104|0;c[x+((P(t,w)|0)+p<<2)>>2]=1;c[x+((P(p,w)|0)+t<<2)>>2]=1;f=f+1|0}while((f|0)!=(h|0))}do if((d|0)!=2)if((w|0)>0){f=0;do{k=P(f,w)|0;h=0;do{i=h;h=h+1|0;if((h|0)<(w|0)){n=P(i,w)|0;l=x+(n+f<<2)|0;j=h;do{m=(c[l>>2]|0)+(c[x+(j+k<<2)>>2]|0)|0;o=x+(j+n<<2)|0;if((c[o>>2]|0)>>>0>m>>>0){c[x+((P(j,w)|0)+i<<2)>>2]=m;c[o>>2]=m}j=j+1|0}while((j|0)!=(w|0))}}while((h|0)!=(w|0));f=f+1|0}while((f|0)!=(w|0));q=79}else f=0;else{if((w|0)<0)gb();if(!w)t=0;else{c[6995]=(c[6995]|0)+1;f=sc((w*20|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=0;do{a[f+(h*20|0)+16>>0]=1;t=f+(h*20|0)+4|0;h=h+1|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0}while((h|0)!=(w|0));t=f}if((c[b+792>>2]|0)>0){n=0;do{m=c[b+800>>2]|0;p=c[b+780>>2]|0;o=((c[m+(n*52|0)+24>>2]|0)-p|0)/104|0;p=((c[m+(n*52|0)+28>>2]|0)-p|0)/104|0;m=t+(o*20|0)+4|0;f=c[m>>2]|0;a:do if((f|0)>0){i=c[t+(o*20|0)+12>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(p|0))break;h=h+1|0;if((h|0)>=(f|0)){q=34;break a}}if((h|0)==(f|0))q=34}else q=34;while(0);if((q|0)==34){q=0;l=t+(o*20|0)+8|0;if((f|0)==(c[l>>2]|0)?(r=f|0?f<<1:1,(f|0)<(r|0)):0){if(!r)k=0;else{c[6995]=(c[6995]|0)+1;f=sc((r<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f;f=c[m>>2]|0}j=t+(o*20|0)+12|0;i=c[j>>2]|0;if((f|0)<=0)if(!i)h=t+(o*20|0)+16|0;else q=44;else{h=0;do{c[k+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0));q=44}if((q|0)==44){q=0;f=t+(o*20|0)+16|0;if(a[f>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[j>>2]=0;h=f;f=c[m>>2]|0}a[h>>0]=1;c[j>>2]=k;c[l>>2]=r}c[(c[t+(o*20|0)+12>>2]|0)+(f<<2)>>2]=p;c[m>>2]=(c[m>>2]|0)+1}m=t+(p*20|0)+4|0;f=c[m>>2]|0;b:do if((f|0)>0){i=c[t+(p*20|0)+12>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(o|0))break;h=h+1|0;if((h|0)>=(f|0)){q=54;break b}}if((h|0)==(f|0))q=54}else q=54;while(0);if((q|0)==54){q=0;l=t+(p*20|0)+8|0;if((f|0)==(c[l>>2]|0)?(s=f|0?f<<1:1,(f|0)<(s|0)):0){if(!s)k=0;else{c[6995]=(c[6995]|0)+1;f=sc((s<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f;f=c[m>>2]|0}j=t+(p*20|0)+12|0;i=c[j>>2]|0;if((f|0)<=0)if(!i)h=t+(p*20|0)+16|0;else q=64;else{h=0;do{c[k+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0));q=64}if((q|0)==64){q=0;f=t+(p*20|0)+16|0;if(a[f>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[j>>2]=0;h=f;f=c[m>>2]|0}a[h>>0]=1;c[j>>2]=k;c[l>>2]=s}c[(c[t+(p*20|0)+12>>2]|0)+(f<<2)>>2]=o;c[m>>2]=(c[m>>2]|0)+1}n=n+1|0}while((n|0)<(c[b+792>>2]|0))}if((w|0)<=0){if(!t){f=0;break}}else{o=0;do{q=t+(o*20|0)+4|0;f=c[q>>2]|0;if((f|0)>0){r=P(o,w)|0;p=c[t+(o*20|0)+12>>2]|0;n=0;do{l=c[p+(n<<2)>>2]|0;m=t+(l*20|0)+4|0;h=c[m>>2]|0;if((h|0)>0){k=x+((P(l,w)|0)+o<<2)|0;j=c[t+(l*20|0)+12>>2]|0;i=0;f=h;do{h=c[j+(i<<2)>>2]|0;if((o|0)!=(h|0)?(v=P(h,w)|0,u=(c[x+(v+l<<2)>>2]|0)+(c[k>>2]|0)|0,v=x+(v+o<<2)|0,(c[v>>2]|0)>>>0>u>>>0):0){c[x+(h+r<<2)>>2]=u;c[v>>2]=u;f=c[m>>2]|0}i=i+1|0}while((i|0)<(f|0));f=c[q>>2]|0}n=n+1|0}while((n|0)<(f|0))}o=o+1|0}while((o|0)!=(w|0));f=0;do{i=t+(f*20|0)+4|0;j=t+(f*20|0)+12|0;k=c[j>>2]|0;h=t+(f*20|0)+16|0;if(k|0){if(a[h>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}c[j>>2]=0}a[h>>0]=1;c[j>>2]=0;c[i>>2]=0;c[t+(f*20|0)+8>>2]=0;f=f+1|0}while((f|0)!=(w|0))}c[6996]=(c[6996]|0)+1;Cd(c[t+-4>>2]|0);q=79}while(0);if((q|0)==79)if((w|0)>0){f=0;k=0;do{i=k;k=k+1|0;if((k|0)<(w|0)){j=P(i,w)|0;h=k;do{if((c[x+(h+j<<2)>>2]|0)==(d|0)){t=c[b+780>>2]|0;Xh(b,e);v=(c[b+792>>2]|0)+-1|0;u=c[b+800>>2]|0;c[u+(v*52|0)+24>>2]=t+(h*104|0);c[u+(v*52|0)+28>>2]=t+(i*104|0);A=+g[t+(h*104|0)+8>>2]-+g[t+(i*104|0)+8>>2];z=+g[t+(h*104|0)+12>>2]-+g[t+(i*104|0)+12>>2];y=+g[t+(h*104|0)+16>>2]-+g[t+(i*104|0)+16>>2];g[u+(v*52|0)+32>>2]=+D(+(A*A+z*z+y*y));a[b+984>>0]=1;v=(c[b+800>>2]|0)+(v*52|0)+36|0;a[v>>0]=a[v>>0]|1;f=f+1|0}h=h+1|0}while((h|0)!=(w|0))}}while((k|0)!=(w|0))}else f=0;aJ(x);x=f;return x|0}function $c(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0,s=0;s=l;l=l+112|0;j=c[b+776>>2]|0;if((j|0)==(c[b+772>>2]|0)){a:do if(j){i=c[b+780>>2]|0;if((j|0)>0){f=0;h=i;while(1){h=c[h+(f*104|0)+96>>2]|0;if(h|0)c[h+36>>2]=f;f=f+1|0;if((f|0)==(j|0)){o=i;break a}h=c[b+780>>2]|0}}else o=i}else o=0;while(0);h=c[b+792>>2]|0;if((h|0)>0){f=0;do{p=(c[b+800>>2]|0)+(f*52|0)+24|0;c[p>>2]=((c[p>>2]|0)-o|0)/104|0;p=(c[b+800>>2]|0)+(f*52|0)+28|0;c[p>>2]=((c[p>>2]|0)-o|0)/104|0;f=f+1|0}while((f|0)!=(h|0))}h=c[b+812>>2]|0;if((h|0)>0){f=0;do{i=(c[b+820>>2]|0)+(f*44|0)+8|0;c[i>>2]=((c[i>>2]|0)-o|0)/104|0;i=(c[b+820>>2]|0)+(f*44|0)+12|0;c[i>>2]=((c[i>>2]|0)-o|0)/104|0;i=(c[b+820>>2]|0)+(f*44|0)+16|0;c[i>>2]=((c[i>>2]|0)-o|0)/104|0;i=c[(c[b+820>>2]|0)+(f*44|0)+40>>2]|0;if(i|0)c[i+36>>2]=f;f=f+1|0}while((f|0)!=(h|0))}h=c[b+852>>2]|0;if((h|0)>0){i=c[b+860>>2]|0;f=0;do{p=i+(f*96|0)|0;c[p>>2]=((c[p>>2]|0)-o|0)/104|0;f=f+1|0}while((f|0)!=(h|0))}k=c[b+752>>2]|0;if((k|0)>0){i=0;f=c[b+760>>2]|0;do{if((c[f+(i*60|0)+24>>2]|0)>0){h=0;do{f=f+(i*60|0)+28+(h<<2)|0;c[f>>2]=((c[f>>2]|0)-o|0)/104|0;h=h+1|0;f=c[b+760>>2]|0}while((h|0)<(c[f+(i*60|0)+24>>2]|0))}i=i+1|0}while((i|0)!=(k|0))}if((j|0)<(j<<1|1|0)){c[6995]=(c[6995]|0)+1;f=sc(((j<<1|1)*104|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}h=c[b+772>>2]|0;if((h|0)>0){f=0;do{o=i+(f*104|0)|0;k=(c[b+780>>2]|0)+(f*104|0)|0;p=o+104|0;do{c[o>>2]=c[k>>2];o=o+4|0;k=k+4|0}while((o|0)<(p|0));f=f+1|0}while((f|0)!=(h|0))}f=c[b+780>>2]|0;if(f|0){if(a[b+784>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=i;c[b+776>>2]=j<<1|1;j=c[b+772>>2]|0}b:do if(j){k=c[b+780>>2]|0;if((j|0)>0){f=0;h=k;while(1){i=c[h+(f*104|0)+96>>2]|0;if(i|0)c[i+36>>2]=h+(f*104|0);f=f+1|0;if((f|0)==(j|0))break b;h=c[b+780>>2]|0}}}else k=0;while(0);h=c[b+792>>2]|0;if((h|0)>0){f=0;do{p=(c[b+800>>2]|0)+(f*52|0)+24|0;c[p>>2]=k+((c[p>>2]|0)*104|0);p=(c[b+800>>2]|0)+(f*52|0)+28|0;c[p>>2]=k+((c[p>>2]|0)*104|0);f=f+1|0}while((f|0)!=(h|0))}h=c[b+812>>2]|0;if((h|0)>0){f=0;do{i=(c[b+820>>2]|0)+(f*44|0)+8|0;c[i>>2]=k+((c[i>>2]|0)*104|0);i=(c[b+820>>2]|0)+(f*44|0)+12|0;c[i>>2]=k+((c[i>>2]|0)*104|0);i=(c[b+820>>2]|0)+(f*44|0)+16|0;c[i>>2]=k+((c[i>>2]|0)*104|0);i=c[b+820>>2]|0;j=c[i+(f*44|0)+40>>2]|0;if(j|0)c[j+36>>2]=i+(f*44|0);f=f+1|0}while((f|0)!=(h|0))}i=c[b+852>>2]|0;if((i|0)>0){h=c[b+860>>2]|0;f=0;do{p=h+(f*96|0)|0;c[p>>2]=k+((c[p>>2]|0)*104|0);f=f+1|0}while((f|0)!=(i|0))}j=c[b+752>>2]|0;if((j|0)>0){i=0;f=c[b+760>>2]|0;do{if((c[f+(i*60|0)+24>>2]|0)>0){h=0;do{f=f+(i*60|0)+28+(h<<2)|0;c[f>>2]=k+((c[f>>2]|0)*104|0);h=h+1|0;f=c[b+760>>2]|0}while((h|0)<(c[f+(i*60|0)+24>>2]|0))}i=i+1|0}while((i|0)!=(j|0))}}o=c[b+192>>2]|0;q=+nb[c[(c[o>>2]|0)+48>>2]&15](o);o=s;p=o+100|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f=c[b+772>>2]|0;if((f|0)==(c[b+776>>2]|0)?(r=f|0?f<<1:1,(f|0)<(r|0)):0){if(!r)i=0;else{c[6995]=(c[6995]|0)+1;f=sc((r*104|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[b+772>>2]|0}if((f|0)>0){h=0;do{o=i+(h*104|0)|0;k=(c[b+780>>2]|0)+(h*104|0)|0;p=o+104|0;do{c[o>>2]=c[k>>2];o=o+4|0;k=k+4|0}while((o|0)<(p|0));h=h+1|0}while((h|0)!=(f|0))}f=c[b+780>>2]|0;if(f|0){if(a[b+784>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=i;c[b+776>>2]=r;f=c[b+772>>2]|0}o=c[b+780>>2]|0;c[o+(f*104|0)>>2]=0;o=o+(f*104|0)+4|0;k=s;p=o+100|0;do{c[o>>2]=c[k>>2];o=o+4|0;k=k+4|0}while((o|0)<(p|0));h=c[b+772>>2]|0;c[b+772>>2]=h+1;i=c[b+780>>2]|0;o=i+(h*104|0)|0;p=o+104|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));c[i+(h*104|0)+8>>2]=c[d>>2];c[i+(h*104|0)+8+4>>2]=c[d+4>>2];c[i+(h*104|0)+8+8>>2]=c[d+8>>2];c[i+(h*104|0)+8+12>>2]=c[d+12>>2];$p(i+(h*104|0)+24|0,d|0,16)|0;g[i+(h*104|0)+88>>2]=e>0.0?1.0/e:0.0;c[i+(h*104|0)+4>>2]=c[c[b+940>>2]>>2];e=+g[i+(h*104|0)+8>>2];m=+g[i+(h*104|0)+12>>2];n=+g[i+(h*104|0)+16>>2];f=c[b+992>>2]|0;if(f|0){c[b+992>>2]=0;d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=i+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-q;r=d+4|0;g[r>>2]=m-q;r=d+8|0;g[r>>2]=n-q;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=q+e;r=d+20|0;g[r>>2]=q+m;r=d+24|0;g[r>>2]=q+n;r=d+28|0;g[r>>2]=0.0;r=c[b+988>>2]|0;Pe(b+988|0,r,d);b=b+1e3|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=i+(h*104|0)+96|0;c[b>>2]=d;l=s;return}c[6995]=(c[6995]|0)+1;f=sc(63)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}o=f;p=o+44|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=i+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-q;r=d+4|0;g[r>>2]=m-q;r=d+8|0;g[r>>2]=n-q;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=q+e;r=d+20|0;g[r>>2]=q+m;r=d+24|0;g[r>>2]=q+n;r=d+28|0;g[r>>2]=0.0;r=c[b+988>>2]|0;Pe(b+988|0,r,d);b=b+1e3|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=i+(h*104|0)+96|0;c[b>>2]=d;l=s;return}function ad(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0;s=l;l=l+752|0;c[s+136+8>>2]=0;c[s+136+12>>2]=-1;q=s+136+28|0;c[s+136>>2]=7020;c[s+136+4>>2]=8;c[s+136+16>>2]=1065353216;c[s+136+20>>2]=1065353216;c[s+136+24>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;q=c[e+4>>2]|0;r=c[e+12>>2]|0;h=c[q+4>>2]|0;if((h|0)<20){c[s+568>>2]=3896;c[s+568+168>>2]=0;g[s+568+172>>2]=0.0;c[s+568+164>>2]=c[f+4>>2];g[s+208+308>>2]=9.999999747378752e-05;a[s+208+332>>0]=0;c[s+192>>2]=5276;c[s+192+4>>2]=s+208;c[s+192+8>>2]=s+136;c[s+192+12>>2]=q;c[s+120>>2]=9484;c[s+120+4>>2]=s+208;c[s+120+8>>2]=s+136;c[s+120+12>>2]=q;q=(c[f+20>>2]&8|0)==0?s+192|0:s+120|0;if((Eb[c[(c[q>>2]|0)+8>>2]&3](q,b,d,r,r,s+568|0)|0?(i=s+568+132|0,j=+g[i>>2],k=+g[s+568+136>>2],m=+g[s+568+140>>2],j*j+k*k+m*m>9.999999747378752e-05):0)?(n=+g[s+568+164>>2],n<+g[f+4>>2]):0){p=1.0/+D(+(j*j+k*k+m*m));g[i>>2]=j*p;g[s+568+136>>2]=k*p;g[s+568+140>>2]=m*p;c[s>>2]=c[e+8>>2];c[s+4>>2]=0;c[s+8>>2]=c[i>>2];c[s+8+4>>2]=c[i+4>>2];c[s+8+8>>2]=c[i+8>>2];c[s+8+12>>2]=c[i+12>>2];g[s+24>>2]=n;+qb[c[(c[f>>2]|0)+12>>2]&31](f,s,1)}l=s;return}if((h+-21|0)>>>0>=9){if((h|0)!=31){l=s;return}h=c[q+68>>2]|0;e=c[e+8>>2]|0;c[s+568>>2]=6072;c[s+568+4>>2]=e;c[s+568+8>>2]=q;c[s+568+12>>2]=r;c[s+568+16>>2]=b;c[s+568+20>>2]=d;c[s+568+24>>2]=f;if(!h){i=c[q+20>>2]|0;if((i|0)>0){h=0;do{Wf(s+568|0,h);h=h+1|0}while((h|0)<(i|0))}}else{j=+g[r+48>>2];B=+g[b+48>>2]-j;m=+g[r+52>>2];A=+g[b+52>>2]-m;o=+g[r+56>>2];z=+g[b+56>>2]-o;y=+g[r>>2];x=+g[r+16>>2];w=+g[r+32>>2];v=+g[r+4>>2];u=+g[r+20>>2];t=+g[r+36>>2];k=+g[r+8>>2];n=+g[r+24>>2];p=+g[r+40>>2];g[s+208>>2]=B*y+A*x+z*w;g[s+208+4>>2]=B*v+A*u+z*t;g[s+208+8>>2]=B*k+A*n+z*p;g[s+208+12>>2]=0.0;j=+g[d+48>>2]-j;m=+g[d+52>>2]-m;o=+g[d+56>>2]-o;g[s+192>>2]=j*y+m*x+o*w;g[s+192+4>>2]=j*v+m*u+o*t;g[s+192+8>>2]=j*k+m*n+o*p;g[s+192+12>>2]=0.0;Ue(c[h>>2]|0,s+208|0,s+192|0,s+568|0)}l=s;return}F=+g[r>>2];E=+g[r+16>>2];n=+g[r+32>>2];C=+g[r+4>>2];t=+g[r+20>>2];o=+g[r+36>>2];x=+g[r+8>>2];z=+g[r+24>>2];B=+g[r+40>>2];u=-+g[r+48>>2];v=-+g[r+52>>2];w=-+g[r+56>>2];A=+g[b+48>>2];y=+g[b+52>>2];m=+g[b+56>>2];j=F*u+E*v+n*w+(F*A+E*y+n*m);k=C*u+t*v+o*w+(C*A+t*y+o*m);m=x*u+z*v+B*w+(x*A+z*y+B*m);g[s+120>>2]=j;g[s+120+4>>2]=k;g[s+120+8>>2]=m;g[s+120+12>>2]=0.0;y=+g[d+48>>2];A=+g[d+52>>2];p=+g[d+56>>2];n=F*u+E*v+n*w+(F*y+E*A+n*p);o=C*u+t*v+o*w+(C*y+t*A+o*p);p=x*u+z*v+B*w+(x*y+z*A+B*p);if((c[q+4>>2]|0)==21){h=c[e+8>>2]|0;e=c[f+20>>2]|0;c[s+4>>2]=c[s+120>>2];c[s+4+4>>2]=c[s+120+4>>2];c[s+4+8>>2]=c[s+120+8>>2];c[s+4+12>>2]=c[s+120+12>>2];g[s+20>>2]=n;g[s+24>>2]=o;g[s+28>>2]=p;g[s+32>>2]=0.0;c[s+36>>2]=e;g[s+40>>2]=1.0;c[s>>2]=6024;c[s+44>>2]=f;c[s+48>>2]=h;c[s+52>>2]=q;c[s+56>>2]=c[r>>2];c[s+56+4>>2]=c[r+4>>2];c[s+56+8>>2]=c[r+8>>2];c[s+56+12>>2]=c[r+12>>2];c[s+72>>2]=c[r+16>>2];c[s+72+4>>2]=c[r+16+4>>2];c[s+72+8>>2]=c[r+16+8>>2];c[s+72+12>>2]=c[r+16+12>>2];c[s+88>>2]=c[r+32>>2];c[s+88+4>>2]=c[r+32+4>>2];c[s+88+8>>2]=c[r+32+8>>2];c[s+88+12>>2]=c[r+32+12>>2];c[s+104>>2]=c[r+48>>2];c[s+104+4>>2]=c[r+48+4>>2];c[s+104+8>>2]=c[r+48+8>>2];c[s+104+12>>2]=c[r+48+12>>2];c[s+40>>2]=c[f+4>>2];h=c[q+52>>2]|0;c[s+192>>2]=7232;c[s+192+4>>2]=h;c[s+192+8>>2]=s;h=c[q+56>>2]|0;c[s+568>>2]=0;c[s+568+4>>2]=0;c[s+568+8>>2]=0;c[s+568+12>>2]=0;c[s+208>>2]=0;c[s+208+4>>2]=0;c[s+208+8>>2]=0;c[s+208+12>>2]=0;if(!(a[h+60>>0]|0))Re(h,s+192|0,s+120|0,n,o,p,s+568|0,s+208|0);else ue(h,s+192|0,s+120|0,n,o,p,s+568|0,s+208|0,c[h+56>>2]|0)}else{e=c[e+8>>2]|0;d=c[f+20>>2]|0;g[s+568+4>>2]=j;g[s+568+8>>2]=k;g[s+568+12>>2]=m;g[s+568+16>>2]=0.0;g[s+568+20>>2]=n;g[s+568+24>>2]=o;g[s+568+28>>2]=p;g[s+568+32>>2]=0.0;c[s+568+36>>2]=d;g[s+568+40>>2]=1.0;c[s+568>>2]=6048;c[s+568+44>>2]=f;c[s+568+48>>2]=e;c[s+568+52>>2]=q;c[s+568+56>>2]=c[r>>2];c[s+568+56+4>>2]=c[r+4>>2];c[s+568+56+8>>2]=c[r+8>>2];c[s+568+56+12>>2]=c[r+12>>2];c[s+568+72>>2]=c[r+16>>2];c[s+568+72+4>>2]=c[r+16+4>>2];c[s+568+72+8>>2]=c[r+16+8>>2];c[s+568+72+12>>2]=c[r+16+12>>2];c[s+568+88>>2]=c[r+32>>2];c[s+568+88+4>>2]=c[r+32+4>>2];c[s+568+88+8>>2]=c[r+32+8>>2];c[s+568+88+12>>2]=c[r+32+12>>2];c[s+568+104>>2]=c[r+48>>2];c[s+568+104+4>>2]=c[r+48+4>>2];c[s+568+104+8>>2]=c[r+48+8>>2];c[s+568+104+12>>2]=c[r+48+12>>2];c[s+568+40>>2]=c[f+4>>2];g[s+208>>2]=j;g[s+208+4>>2]=k;g[s+208+8>>2]=m;g[s+208+12>>2]=0.0;if(n<j)g[s+208>>2]=n;if(o<k)g[s+208+4>>2]=o;if(p<m)g[s+208+8>>2]=p;g[s+192>>2]=j;g[s+192+4>>2]=k;g[s+192+8>>2]=m;g[s+192+12>>2]=0.0;if(j<n)g[s+192>>2]=n;if(k<o)g[s+192+4>>2]=o;if(m<p)g[s+192+8>>2]=p;Vb[c[(c[q>>2]|0)+64>>2]&127](q,s+568|0,s+208|0,s+192|0)}l=s;return}function bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+16+4>>2]=c[a+16+4>>2];c[b+16+8>>2]=c[a+16+8>>2];c[b+16+12>>2]=c[a+16+12>>2];c[b+32>>2]=c[a+32>>2];c[b+32+4>>2]=c[a+32+4>>2];c[b+32+8>>2]=c[a+32+8>>2];c[b+32+12>>2]=c[a+32+12>>2];q=+g[a+20>>2];m=+g[a+40>>2];r=+g[a+24>>2];n=+g[a+36>>2];o=+g[a+32>>2];s=+g[a+16>>2];t=+g[a>>2];p=+g[a+4>>2];u=+g[a+8>>2];v=1.0/((q*m-r*n)*t+p*(r*o-m*s)+(n*s-q*o)*u);g[d>>2]=(q*m-r*n)*v;g[d+4>>2]=(n*u-m*p)*v;g[d+8>>2]=(r*p-q*u)*v;g[d+12>>2]=0.0;g[d+16>>2]=(r*o-m*s)*v;g[d+20>>2]=(m*t-o*u)*v;g[d+24>>2]=(s*u-r*t)*v;g[d+28>>2]=0.0;g[d+32>>2]=(n*s-q*o)*v;g[d+36>>2]=(o*p-n*t)*v;g[d+40>>2]=(q*t-s*p)*v;g[d+44>>2]=0.0;a:do if(!(c[5759]|0)){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0}else{e=0;D=(q*t-s*p)*v;F=(q*m-r*n)*v;G=(r*o-m*s)*v;H=(n*s-q*o)*v;I=(n*u-m*p)*v;B=(m*t-o*u)*v;A=(o*p-n*t)*v;z=(r*p-q*u)*v;y=(s*u-r*t)*v;while(1){o=+C(+F);n=+C(+G);N=+C(+H);W=+C(+I);O=+C(+B);M=+C(+A);Q=+C(+z);P=+C(+y);w=+C(+D);R=o+n+N>W+O+M?o+n+N:W+O+M;O=o+W+Q>n+O+P?o+W+Q:n+O+P;n=+g[b>>2];W=+C(+n);o=+g[b+16>>2];T=+C(+o);p=+g[b+32>>2];K=+C(+p);q=+g[b+4>>2];V=+C(+q);r=+g[b+20>>2];S=+C(+r);s=+g[b+36>>2];J=+C(+s);t=+g[b+8>>2];U=+C(+t);u=+g[b+24>>2];L=+C(+u);v=+g[b+40>>2];x=+C(+v);m=W+T+K>V+S+J?W+T+K:V+S+J;m=m>U+L+x?m:U+L+x;L=W+V+U>T+S+L?W+V+U:T+S+L;w=(R>Q+P+w?R:Q+P+w)*(O>N+M+w?O:N+M+w);x=m*(L>K+J+x?L:K+J+x);if(+C(+w)<1.1920928955078125e-07){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}if(+C(+x)<1.1920928955078125e-07){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}W=+E(+(w/x),.25);O=(n*(W+-2.0)+F*(1.0/W))*.5;Q=(q*(W+-2.0)+1.0/W*G)*.5;S=(t*(W+-2.0)+1.0/W*H)*.5;P=(o*(W+-2.0)+1.0/W*I)*.5;R=(r*(W+-2.0)+1.0/W*B)*.5;T=(u*(W+-2.0)+1.0/W*A)*.5;U=(p*(W+-2.0)+1.0/W*z)*.5;V=(s*(W+-2.0)+1.0/W*y)*.5;W=(v*(W+-2.0)+1.0/W*D)*.5;g[b>>2]=n+O;g[b+4>>2]=q+Q;g[b+8>>2]=t+S;g[b+12>>2]=0.0;g[b+16>>2]=o+P;g[b+20>>2]=r+R;g[b+24>>2]=u+T;g[b+28>>2]=0.0;g[b+32>>2]=p+U;g[b+36>>2]=s+V;g[b+40>>2]=v+W;g[b+44>>2]=0.0;N=1.0/(((v+W)*(r+R)-(u+T)*(s+V))*(n+O)+(q+Q)*((u+T)*(p+U)-(v+W)*(o+P))+((s+V)*(o+P)-(r+R)*(p+U))*(t+S));F=((v+W)*(r+R)-(u+T)*(s+V))*N;I=((s+V)*(t+S)-(v+W)*(q+Q))*N;z=((u+T)*(q+Q)-(r+R)*(t+S))*N;G=((u+T)*(p+U)-(v+W)*(o+P))*N;B=((v+W)*(n+O)-(p+U)*(t+S))*N;y=((o+P)*(t+S)-(u+T)*(n+O))*N;H=((s+V)*(o+P)-(r+R)*(p+U))*N;A=((p+U)*(q+Q)-(s+V)*(n+O))*N;D=((r+R)*(n+O)-(o+P)*(q+Q))*N;g[d>>2]=F;g[d+4>>2]=I;g[d+8>>2]=z;g[d+12>>2]=0.0;g[d+16>>2]=G;g[d+20>>2]=B;g[d+24>>2]=y;g[d+28>>2]=0.0;g[d+32>>2]=H;g[d+36>>2]=A;g[d+40>>2]=D;g[d+44>>2]=0.0;U=+C(+O)+ +C(+P)+ +C(+U);V=+C(+Q)+ +C(+R)+ +C(+V);W=+C(+S)+ +C(+T)+ +C(+W);V=U>V?U:V;if((V>W?V:W)<=m*+g[5758])break;e=e+1|0;if(e>>>0>=(c[5759]|0)>>>0){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}}M=+g[b>>2];O=+g[b+16>>2];Q=+g[b+32>>2];H=+g[b+4>>2];J=+g[b+20>>2];L=+g[b+36>>2];A=+g[b+8>>2];D=+g[b+24>>2];G=+g[b+40>>2];N=+g[a>>2];P=+g[a+16>>2];R=+g[a+32>>2];I=+g[a+4>>2];K=+g[a+20>>2];T=+g[a+36>>2];B=+g[a+8>>2];F=+g[a+24>>2];W=+g[a+40>>2];V=A*I+D*K+G*T+(H*B+J*F+L*W);S=H*N+J*P+L*R+(M*I+O*K+Q*T);U=A*N+D*P+G*R+(M*B+O*F+Q*W);W=A*B+D*F+G*W+(A*B+D*F+G*W);T=H*I+J*K+L*T+(H*I+J*K+L*T);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);S=S*.5;U=U*.5;V=V*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}while(0);M=+g[k>>2];O=+g[b+16>>2];Q=+g[b+32>>2];H=+g[l>>2];J=+g[e>>2];L=+g[f>>2];A=+g[h>>2];D=+g[i>>2];G=+g[j>>2];N=+g[a>>2];P=+g[a+16>>2];R=+g[a+32>>2];I=+g[a+4>>2];K=+g[a+20>>2];T=+g[a+36>>2];B=+g[a+8>>2];F=+g[a+24>>2];W=+g[a+40>>2];V=A*I+D*K+G*T+(H*B+J*F+L*W);S=H*N+J*P+L*R+(M*I+O*K+Q*T);U=A*N+D*P+G*R+(M*B+O*F+Q*W);W=A*B+D*F+G*W+(A*B+D*F+G*W);T=H*I+J*K+L*T+(H*I+J*K+L*T);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);S=S*.5;U=U*.5;V=V*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}function cd(a,b,f,i){a=a|0;b=b|0;f=f|0;i=i|0;var j=0.0,k=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;o=l;l=l+80|0;n=xb[c[(c[a>>2]|0)+28>>2]&127](a)|0;j=+g[a+4>>2];k=+g[a+8>>2];m=+g[a+12>>2];if((n|0)<=0){l=o;return}i=0;do{cc[c[(c[a>>2]|0)+16>>2]&3](a,o+76|0,o+52|0,o+64|0,o+56|0,o+72|0,o+68|0,o+48|0,o+60|0,i);a:do switch(c[o+64>>2]|0){case 0:{switch(c[o+60>>2]|0){case 2:{if((c[o+48>>2]|0)>0)f=0;else break a;do{r=(c[o+72>>2]|0)+(P(c[o+68>>2]|0,f)|0)|0;t=c[o+76>>2]|0;s=c[o+56>>2]|0;u=t+(P(s,c[r>>2]|0)|0)|0;q=k*+g[u+4>>2];p=m*+g[u+8>>2];g[o>>2]=j*+g[u>>2];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;u=t+(P(s,c[r+4>>2]|0)|0)|0;p=k*+g[u+4>>2];q=m*+g[u+8>>2];g[o+16>>2]=j*+g[u>>2];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;r=t+(P(s,c[r+8>>2]|0)|0)|0;q=k*+g[r+4>>2];p=m*+g[r+8>>2];g[o+32>>2]=j*+g[r>>2];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;Vb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}case 3:{if((c[o+48>>2]|0)>0)f=0;else break a;do{t=(c[o+72>>2]|0)+(P(c[o+68>>2]|0,f)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(P(e[t>>1]|0,u)|0)|0;p=k*+g[r+4>>2];q=m*+g[r+8>>2];g[o>>2]=j*+g[r>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(P(e[t+2>>1]|0,u)|0)|0;q=k*+g[r+4>>2];p=m*+g[r+8>>2];g[o+16>>2]=j*+g[r>>2];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(P(e[t+4>>1]|0,u)|0)|0;p=k*+g[u+4>>2];q=m*+g[u+8>>2];g[o+32>>2]=j*+g[u>>2];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Vb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}case 5:{if((c[o+48>>2]|0)>0)f=0;else break a;do{t=(c[o+72>>2]|0)+(P(c[o+68>>2]|0,f)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(P(d[t>>0]|0,u)|0)|0;p=k*+g[r+4>>2];q=m*+g[r+8>>2];g[o>>2]=j*+g[r>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(P(d[t+1>>0]|0,u)|0)|0;q=k*+g[r+4>>2];p=m*+g[r+8>>2];g[o+16>>2]=j*+g[r>>2];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(P(d[t+2>>0]|0,u)|0)|0;p=k*+g[u+4>>2];q=m*+g[u+8>>2];g[o+32>>2]=j*+g[u>>2];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Vb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}default:break a}break}case 1:{switch(c[o+60>>2]|0){case 2:{if((c[o+48>>2]|0)>0)f=0;else break a;do{u=(c[o+72>>2]|0)+(P(c[o+68>>2]|0,f)|0)|0;s=c[o+76>>2]|0;t=c[o+56>>2]|0;r=s+(P(t,c[u>>2]|0)|0)|0;p=k*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=j*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(P(t,c[u+4>>2]|0)|0)|0;q=k*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=j*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(P(t,c[u+8>>2]|0)|0)|0;p=k*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=j*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Vb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}case 3:{if((c[o+48>>2]|0)>0)f=0;else break a;do{t=(c[o+72>>2]|0)+(P(c[o+68>>2]|0,f)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(P(e[t>>1]|0,u)|0)|0;p=k*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=j*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(P(e[t+2>>1]|0,u)|0)|0;q=k*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=j*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(P(e[t+4>>1]|0,u)|0)|0;p=k*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=j*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Vb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}case 5:{if((c[o+48>>2]|0)>0)f=0;else break a;do{t=(c[o+72>>2]|0)+(P(c[o+68>>2]|0,f)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(P(d[t>>0]|0,u)|0)|0;p=k*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=j*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(P(d[t+1>>0]|0,u)|0)|0;q=k*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=j*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(P(d[t+2>>0]|0,u)|0)|0;p=k*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=j*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Vb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}default:break a}break}default:{}}while(0);Ob[c[(c[a>>2]|0)+24>>2]&127](a,i);i=i+1|0}while((i|0)!=(n|0));l=o;return}function dd(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0;y=l;l=l+128|0;a[d+60>>0]=f&1;if(f){r=+g[h>>2]+-1.0;u=+g[h+4>>2]+-1.0;v=+g[h+8>>2]+-1.0;g[d+4>>2]=r;g[d+8>>2]=u;g[d+12>>2]=v;g[d+16>>2]=0.0;x=+g[i>>2]+1.0;m=+g[i+4>>2]+1.0;j=+g[i+8>>2]+1.0;g[d+20>>2]=x;g[d+24>>2]=m;g[d+28>>2]=j;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(x-r);g[d+40>>2]=65533.0/(m-u);g[d+44>>2]=65533.0/(j-v);g[d+48>>2]=0.0;a[d+60>>0]=1;n=r+ +(~~((r-r)*(65533.0/(x-r)))&65535&-2&65535)/(65533.0/(x-r))+-1.0;o=u+ +(~~((u-u)*(65533.0/(m-u)))&65535&-2&65535)/(65533.0/(m-u))+-1.0;t=v+ +(~~((v-v)*(65533.0/(j-v)))&65535&-2&65535)/(65533.0/(j-v))+-1.0;if(n<r)g[d+4>>2]=n;else n=r;if(o<u){g[d+8>>2]=o;w=o}else w=u;if(t<v)g[d+12>>2]=t;else t=v;o=x-n;r=m-w;u=j-t;g[d+36>>2]=65533.0/o;g[d+40>>2]=65533.0/r;g[d+44>>2]=65533.0/u;g[d+48>>2]=0.0;o=n+ +((~~(o*(65533.0/o)+1.0)&65535|1)&65535)/(65533.0/o)+1.0;r=w+ +((~~(r*(65533.0/r)+1.0)&65535|1)&65535)/(65533.0/r)+1.0;u=t+ +((~~(u*(65533.0/u)+1.0)&65535|1)&65535)/(65533.0/u)+1.0;if(x<o)g[d+20>>2]=o;else o=x;if(m<r){g[d+24>>2]=r;m=r}if(j<u){g[d+28>>2]=u;j=u}g[d+36>>2]=65533.0/(o-n);g[d+40>>2]=65533.0/(m-w);g[d+44>>2]=65533.0/(j-t);g[d+48>>2]=0.0;c[y+96>>2]=8364;c[y+96+4>>2]=d+104;c[y+96+8>>2]=d;Vb[c[(c[e>>2]|0)+8>>2]&127](e,y+96|0,d+4|0,d+20|0);f=c[d+108>>2]|0;c[y+80>>2]=0;c[y+80+4>>2]=0;c[y+80+8>>2]=0;c[y+80+12>>2]=0;k=c[d+128>>2]|0;if((k|0)<(f<<1|0)){if((c[d+132>>2]|0)<(f<<1|0)){if(!f){h=0;e=k}else{c[6995]=(c[6995]|0)+1;h=sc(f<<5|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}e=c[d+128>>2]|0}if((e|0)>0){i=0;do{s=h+(i<<4)|0;q=(c[d+136>>2]|0)+(i<<4)|0;c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];i=i+1|0}while((i|0)!=(e|0))}i=c[d+136>>2]|0;if(i|0){if(a[d+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=h;c[d+132>>2]=f<<1;i=d+136|0}else i=d+136|0;h=k;do{s=(c[i>>2]|0)+(h<<4)|0;c[s>>2]=c[y+80>>2];c[s+4>>2]=c[y+80+4>>2];c[s+8>>2]=c[y+80+8>>2];c[s+12>>2]=c[y+80+12>>2];h=h+1|0}while((h|0)!=(f<<1|0))}c[d+128>>2]=f<<1}else{c[y+96>>2]=8384;c[y+96+4>>2]=d+64;c[y+80>>2]=-581039253;c[y+80+4>>2]=-581039253;c[y+80+8>>2]=-581039253;g[y+80+12>>2]=0.0;c[y+64>>2]=1566444395;c[y+64+4>>2]=1566444395;c[y+64+8>>2]=1566444395;g[y+64+12>>2]=0.0;Vb[c[(c[e>>2]|0)+8>>2]&127](e,y+96|0,y+80|0,y+64|0);f=c[d+68>>2]|0;k=y;q=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(q|0));s=c[d+88>>2]|0;if((s|0)<(f<<1|0)){if((c[d+92>>2]|0)<(f<<1|0)){if(!f){h=0;e=s}else{c[6995]=(c[6995]|0)+1;h=sc(f<<7|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}e=c[d+88>>2]|0}if((e|0)>0){i=0;do{k=h+(i<<6)|0;p=(c[d+96>>2]|0)+(i<<6)|0;q=k+64|0;do{c[k>>2]=c[p>>2];k=k+4|0;p=p+4|0}while((k|0)<(q|0));i=i+1|0}while((i|0)!=(e|0))}i=c[d+96>>2]|0;if(i|0){if(a[d+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=h;c[d+92>>2]=f<<1;i=d+96|0}else i=d+96|0;h=s;do{k=(c[i>>2]|0)+(h<<6)|0;p=y;q=k+64|0;do{c[k>>2]=c[p>>2];k=k+4|0;p=p+4|0}while((k|0)<(q|0));h=h+1|0}while((h|0)!=(f<<1|0))}c[d+88>>2]=f<<1}c[d+56>>2]=0;Cc(d,0,f);if(a[d+60>>0]|0?(c[d+152>>2]|0)==0:0){if(!(c[d+156>>2]|0)){c[6995]=(c[6995]|0)+1;f=sc(51)|0;if(!f)e=0;else{c[(f+4+15&-16)+-4>>2]=f;e=f+4+15&-16}h=c[d+152>>2]|0;if((h|0)>0){f=0;do{s=e+(f<<5)|0;q=(c[d+160>>2]|0)+(f<<5)|0;c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];c[s+16>>2]=c[q+16>>2];c[s+20>>2]=c[q+20>>2];c[s+24>>2]=c[q+24>>2];c[s+28>>2]=c[q+28>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[d+160>>2]|0;if(f|0){if(a[d+164>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=e;c[d+156>>2]=1;h=d+160|0;i=(c[d+152>>2]|0)+1|0;f=e}else{h=d+160|0;i=1;f=c[d+160>>2]|0}c[d+152>>2]=i;c[f>>2]=c[y+96>>2];c[f+4>>2]=c[y+96+4>>2];c[f+8>>2]=c[y+96+8>>2];c[f+12>>2]=c[y+96+12>>2];c[f+16>>2]=c[y+96+16>>2];c[f+20>>2]=c[y+96+20>>2];c[f+24>>2]=c[y+96+24>>2];c[f+28>>2]=c[y+96+28>>2];s=c[h>>2]|0;q=c[d+136>>2]|0;b[s>>1]=b[q>>1]|0;b[s+2>>1]=b[q+2>>1]|0;b[s+4>>1]=b[q+4>>1]|0;b[s+6>>1]=b[q+6>>1]|0;b[s+8>>1]=b[q+8>>1]|0;b[s+10>>1]=b[q+10>>1]|0;c[s+12>>2]=0;q=c[q+12>>2]|0;c[s+16>>2]=(q|0)>-1?1:0-q|0}c[d+168>>2]=c[d+152>>2];f=c[d+116>>2]|0;if(f|0){if(a[d+120>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[d+116>>2]=0}a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;f=c[d+76>>2]|0;if(!f){a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;l=y;return}if(a[d+80>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[d+76>>2]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;l=y;return}function ed(b,d,e,f,h,i,k,l,m,n,o,p){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;m=+m;n=n|0;o=+o;p=+p;var q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0.0,S=0.0;Q=c[b+68>>2]|0;if((Q|0)==(c[b+72>>2]|0)?(u=Q|0?Q<<1:1,(Q|0)<(u|0)):0){if(!u){r=0;t=Q}else{c[6995]=(c[6995]|0)+1;r=sc((u*152|3)+16|0)|0;if(!r)r=0;else{c[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}t=c[b+68>>2]|0}if((t|0)>0){s=0;do{gi(r+(s*152|0)|0,(c[b+76>>2]|0)+(s*152|0)|0,152)|0;s=s+1|0}while((s|0)!=(t|0))}s=c[b+76>>2]|0;if(s|0){if(a[b+80>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[s+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=r;c[b+72>>2]=u;r=c[b+68>>2]|0}else r=Q;c[b+68>>2]=r+1;P=c[b+76>>2]|0;c[P+(Q*152|0)+140>>2]=h;t=c[b+16>>2]|0;r=c[t+(e*244|0)+240>>2]|0;s=c[t+(f*244|0)+240>>2]|0;c[P+(Q*152|0)+144>>2]=e;c[P+(Q*152|0)+148>>2]=f;u=c[i+84>>2]|0;c[P+(Q*152|0)+104>>2]=u;c[P+(Q*152|0)+132>>2]=0;g[P+(Q*152|0)+100>>2]=0.0;g[P+(Q*152|0)+96>>2]=0.0;O=(c[j>>2]=u,+g[j>>2]);if(r|0){c[P+(Q*152|0)+16>>2]=c[d>>2];c[P+(Q*152|0)+16+4>>2]=c[d+4>>2];c[P+(Q*152|0)+16+8>>2]=c[d+8>>2];c[P+(Q*152|0)+16+12>>2]=c[d+12>>2];N=+g[k+4>>2];J=+g[P+(Q*152|0)+24>>2];H=+g[k+8>>2];L=+g[P+(Q*152|0)+20>>2];K=+g[P+(Q*152|0)+16>>2];M=+g[k>>2];g[P+(Q*152|0)>>2]=N*J-H*L;g[P+(Q*152|0)+4>>2]=H*K-J*M;g[P+(Q*152|0)+8>>2]=L*M-N*K;g[P+(Q*152|0)+12>>2]=0.0;w=((N*J-H*L)*+g[r+324>>2]+(H*K-J*M)*+g[r+328>>2]+(L*M-N*K)*+g[r+332>>2])*+g[r+604>>2];q=((N*J-H*L)*+g[r+340>>2]+(H*K-J*M)*+g[r+344>>2]+(L*M-N*K)*+g[r+348>>2])*+g[r+608>>2];v=((N*J-H*L)*+g[r+356>>2]+(H*K-J*M)*+g[r+360>>2]+(L*M-N*K)*+g[r+364>>2])*+g[r+612>>2];g[P+(Q*152|0)+64>>2]=w;g[P+(Q*152|0)+68>>2]=q;g[P+(Q*152|0)+72>>2]=v;g[P+(Q*152|0)+76>>2]=0.0;C=K;D=L;E=J;I=N*J-H*L;J=H*K-J*M;K=L*M-N*K}else{c[P+(Q*152|0)+64>>2]=0;c[P+(Q*152|0)+64+4>>2]=0;c[P+(Q*152|0)+64+8>>2]=0;c[P+(Q*152|0)+64+12>>2]=0;c[P+(Q*152|0)>>2]=0;c[P+(Q*152|0)+4>>2]=0;c[P+(Q*152|0)+8>>2]=0;c[P+(Q*152|0)+12>>2]=0;c[P+(Q*152|0)+16>>2]=0;c[P+(Q*152|0)+20>>2]=0;c[P+(Q*152|0)+24>>2]=0;c[P+(Q*152|0)+28>>2]=0;q=0.0;v=0.0;w=0.0;C=0.0;D=0.0;E=0.0;I=0.0;J=0.0;K=0.0}if(s|0){N=-+g[d>>2];A=-+g[d+4>>2];M=-+g[d+8>>2];g[P+(Q*152|0)+48>>2]=N;g[P+(Q*152|0)+52>>2]=A;g[P+(Q*152|0)+56>>2]=M;g[P+(Q*152|0)+60>>2]=0.0;B=+g[l+4>>2];S=+g[l+8>>2];R=+g[l>>2];g[P+(Q*152|0)+32>>2]=B*M-S*A;g[P+(Q*152|0)+36>>2]=S*N-R*M;g[P+(Q*152|0)+40>>2]=R*A-B*N;g[P+(Q*152|0)+44>>2]=0.0;x=((B*M-S*A)*+g[s+324>>2]+(S*N-R*M)*+g[s+328>>2]+(R*A-B*N)*+g[s+332>>2])*+g[s+604>>2];y=((B*M-S*A)*+g[s+340>>2]+(S*N-R*M)*+g[s+344>>2]+(R*A-B*N)*+g[s+348>>2])*+g[s+608>>2];z=((B*M-S*A)*+g[s+356>>2]+(S*N-R*M)*+g[s+360>>2]+(R*A-B*N)*+g[s+364>>2])*+g[s+612>>2];g[P+(Q*152|0)+80>>2]=x;g[P+(Q*152|0)+84>>2]=y;g[P+(Q*152|0)+88>>2]=z;g[P+(Q*152|0)+92>>2]=0.0;F=N;G=A;H=M;L=B*M-S*A;M=S*N-R*M;N=R*A-B*N}else{c[P+(Q*152|0)+80>>2]=0;c[P+(Q*152|0)+80+4>>2]=0;c[P+(Q*152|0)+80+8>>2]=0;c[P+(Q*152|0)+80+12>>2]=0;c[P+(Q*152|0)+32>>2]=0;c[P+(Q*152|0)+32+4>>2]=0;c[P+(Q*152|0)+32+8>>2]=0;c[P+(Q*152|0)+32+12>>2]=0;c[P+(Q*152|0)+32+16>>2]=0;c[P+(Q*152|0)+32+20>>2]=0;c[P+(Q*152|0)+32+24>>2]=0;c[P+(Q*152|0)+32+28>>2]=0;x=0.0;y=0.0;z=0.0;F=0.0;G=0.0;H=0.0;L=0.0;M=0.0;N=0.0}if(r|0){B=+g[k+8>>2];R=+g[k+4>>2];S=+g[k>>2];v=+g[r+404>>2]+((q*B-v*R)*+g[d>>2]+(v*S-B*w)*+g[d+4>>2]+(R*w-q*S)*+g[d+8>>2])}else v=0.0;if(s|0){R=-x;q=-y;z=-z;A=+g[l+8>>2];B=+g[l+4>>2];S=+g[l>>2];q=+g[s+404>>2]+((A*q-B*z)*+g[d>>2]+(S*z-A*R)*+g[d+4>>2]+(B*R-S*q)*+g[d+8>>2])}else q=0.0;B=m/(v+q);g[P+(Q*152|0)+108>>2]=B;if(r|0){z=+g[t+(e*244|0)+192>>2];m=+g[t+(e*244|0)+196>>2];A=+g[t+(e*244|0)+200>>2];y=(+g[t+(e*244|0)+176>>2]+ +g[t+(e*244|0)+208>>2])*C+(+g[t+(e*244|0)+180>>2]+ +g[t+(e*244|0)+212>>2])*D+(+g[t+(e*244|0)+184>>2]+ +g[t+(e*244|0)+216>>2])*E}else{z=0.0;m=0.0;A=0.0;y=C*0.0+D*0.0+E*0.0}if(s|0){v=+g[t+(f*244|0)+192>>2];w=+g[t+(f*244|0)+196>>2];x=+g[t+(f*244|0)+200>>2];q=(+g[t+(f*244|0)+176>>2]+ +g[t+(f*244|0)+208>>2])*F+(+g[t+(f*244|0)+180>>2]+ +g[t+(f*244|0)+212>>2])*G+(+g[t+(f*244|0)+184>>2]+ +g[t+(f*244|0)+216>>2])*H}else{v=0.0;w=0.0;x=0.0;q=F*0.0+G*0.0+H*0.0}q=B*(o-(y+(z*I+m*J+A*K)+(q+(v*L+w*M+x*N))));if(!(c[i+120>>2]&16)){S=0.0;S=q+S;n=P+(Q*152|0)+112|0;g[n>>2]=S;n=P+(Q*152|0)+128|0;g[n>>2]=0.0;n=P+(Q*152|0)+116|0;g[n>>2]=p;S=-O;n=P+(Q*152|0)+120|0;g[n>>2]=S;n=P+(Q*152|0)+124|0;c[n>>2]=u;return}S=B*(-(+g[n+44>>2]*((+g[i+48>>2]-+g[i+32>>2])*+g[d>>2]+(+g[i+52>>2]-+g[i+36>>2])*+g[d+4>>2]+(+g[i+56>>2]-+g[i+40>>2])*+g[d+8>>2]))/+g[n+12>>2]);S=q+S;n=P+(Q*152|0)+112|0;g[n>>2]=S;n=P+(Q*152|0)+128|0;g[n>>2]=0.0;n=P+(Q*152|0)+116|0;g[n>>2]=p;S=-O;n=P+(Q*152|0)+120|0;g[n>>2]=S;n=P+(Q*152|0)+124|0;c[n>>2]=u;return}function fd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0.0;ea=l;l=l+32|0;J=c[b+4>>2]|0;a[J+312>>0]=0;c[J>>2]=0;a[J+356>>0]=1;c[J+292>>2]=1566444395;c[J+296>>2]=1566444395;c[J+300>>2]=1566444395;g[J+304>>2]=0.0;c[J+336>>2]=0;c[J+336+4>>2]=0;c[J+336+8>>2]=0;c[J+336+12>>2]=0;a[J+336+16>>0]=0;a[J+332>>0]=a[J+332>>0]&-16;p=+g[d+48>>2];r=+g[d+52>>2];u=+g[d+56>>2];o=+g[f+48>>2];q=+g[f+52>>2];t=+g[f+56>>2];L=+g[d>>2];X=+g[d+4>>2];Z=+g[d+8>>2];$=+g[d+16>>2];N=+g[d+20>>2];P=+g[d+24>>2];R=+g[d+32>>2];T=+g[d+36>>2];V=+g[d+40>>2];K=+g[f>>2];W=+g[f+4>>2];Y=+g[f+8>>2];_=+g[f+16>>2];M=+g[f+20>>2];O=+g[f+24>>2];Q=+g[f+32>>2];S=+g[f+36>>2];U=+g[f+40>>2];ba=+g[e+48>>2]-p-(+g[h+48>>2]-o);ca=+g[e+52>>2]-r-(+g[h+52>>2]-q);da=+g[e+56>>2]-u-(+g[h+56>>2]-t);J=c[b+8>>2]|0;x=c[(c[J>>2]|0)+64>>2]|0;g[ea>>2]=L*-ba+$*-ca+R*-da;g[ea+4>>2]=X*-ba+N*-ca+T*-da;g[ea+8>>2]=Z*-ba+P*-ca+V*-da;g[ea+12>>2]=0.0;Sb[x&127](ea+16|0,J,ea);H=+g[ea+16>>2];I=+g[ea+16+4>>2];G=+g[ea+16+8>>2];m=H*+g[d>>2]+I*+g[d+4>>2]+G*+g[d+8>>2]+ +g[d+48>>2];w=H*+g[d+16>>2]+I*+g[d+20>>2]+G*+g[d+24>>2]+ +g[d+52>>2];G=H*+g[d+32>>2]+I*+g[d+36>>2]+G*+g[d+40>>2]+ +g[d+56>>2];J=c[b+12>>2]|0;x=c[(c[J>>2]|0)+64>>2]|0;I=ba*+g[f+4>>2]+ca*+g[f+20>>2]+da*+g[f+36>>2];H=ba*+g[f+8>>2]+ca*+g[f+24>>2]+da*+g[f+40>>2];g[ea>>2]=ba*+g[f>>2]+ca*+g[f+16>>2]+da*+g[f+32>>2];g[ea+4>>2]=I;g[ea+8>>2]=H;g[ea+12>>2]=0.0;Sb[x&127](ea+16|0,J,ea);H=+g[ea+16>>2];I=+g[ea+16+4>>2];n=+g[ea+16+8>>2];m=m-(H*+g[f>>2]+I*+g[f+4>>2]+n*+g[f+8>>2]+ +g[f+48>>2]);w=w-(H*+g[f+16>>2]+I*+g[f+20>>2]+n*+g[f+24>>2]+ +g[f+52>>2]);n=G-(H*+g[f+32>>2]+I*+g[f+36>>2]+n*+g[f+40>>2]+ +g[f+56>>2]);a:do if(m*m+w*w+n*n>9.999999747378752e-05){k=0.0;J=32;I=m;j=0;H=n;s=0;z=o;o=0.0;n=0.0;m=0.0;while(1){if(!J)break a;J=J+-1|0;x=c[b+8>>2]|0;v=c[(c[x>>2]|0)+64>>2]|0;C=-I;fa=-w;y=-H;g[ea>>2]=L*C+$*fa+R*y;g[ea+4>>2]=X*C+N*fa+T*y;g[ea+8>>2]=Z*C+P*fa+V*y;g[ea+12>>2]=0.0;Sb[v&127](ea+16|0,x,ea);y=+g[ea+16>>2];fa=+g[ea+16+4>>2];C=+g[ea+16+8>>2];A=p+(L*y+X*fa+Z*C);B=r+($*y+N*fa+P*C);C=u+(R*y+T*fa+V*C);x=c[b+12>>2]|0;v=c[(c[x>>2]|0)+64>>2]|0;g[ea>>2]=K*I+_*w+Q*H;g[ea+4>>2]=W*I+M*w+S*H;g[ea+8>>2]=Y*I+O*w+U*H;g[ea+12>>2]=0.0;Sb[v&127](ea+16|0,x,ea);fa=+g[ea+16>>2];y=+g[ea+16+4>>2];G=+g[ea+16+8>>2];E=z+(K*fa+W*y+Y*G);F=q+(_*fa+M*y+O*G);G=t+(Q*fa+S*y+U*G);y=I*(A-E)+w*(B-F)+H*(C-G);if(k>1.0){j=0;aa=25;break}if(y>0.0){m=ba*I+ca*w+da*H;if(m>=-1.4210854715202004e-14){j=0;aa=25;break}u=k-y/m;k=u;j=s;y=(1.0-u)*+g[f+48>>2]+u*+g[h+48>>2];p=(1.0-u)*+g[d+48>>2]+u*+g[e+48>>2];q=(1.0-u)*+g[f+52>>2]+u*+g[h+52>>2];r=(1.0-u)*+g[d+52>>2]+u*+g[e+52>>2];t=(1.0-u)*+g[f+56>>2]+u*+g[h+56>>2];u=(1.0-u)*+g[d+56>>2]+u*+g[e+56>>2];m=I;n=w;o=H}else y=z;s=c[b+4>>2]|0;x=c[s>>2]|0;b:do if((x|0)>0){w=+g[s+308>>2];v=0;while(1){H=A-E-+g[s+4+(v<<4)>>2];I=B-F-+g[s+4+(v<<4)+4>>2];fa=C-G-+g[s+4+(v<<4)+8>>2];v=v+1|0;if(H*H+I*I+fa*fa<=w){v=1;break b}if((v|0)>=(x|0)){v=0;break}}}else v=0;while(0);if((+g[s+304>>2]==0.0?C-G==+g[s+300>>2]:0)?B-F==+g[s+296>>2]:0){if(!(A-E==+g[s+292>>2]|v))aa=17}else if(!v)aa=17;if((aa|0)==17){aa=0;g[s+292>>2]=A-E;g[s+296>>2]=B-F;g[s+300>>2]=C-G;g[s+304>>2]=0.0;a[s+356>>0]=1;g[s+4+(x<<4)>>2]=A-E;g[s+4+(x<<4)+4>>2]=B-F;g[s+4+(x<<4)+8>>2]=C-G;g[s+4+(x<<4)+12>>2]=0.0;x=c[s>>2]|0;g[s+84+(x<<4)>>2]=A;g[s+84+(x<<4)+4>>2]=B;g[s+84+(x<<4)+8>>2]=C;g[s+84+(x<<4)+12>>2]=0.0;x=c[s>>2]|0;g[s+164+(x<<4)>>2]=E;g[s+164+(x<<4)+4>>2]=F;g[s+164+(x<<4)+8>>2]=G;g[s+164+(x<<4)+12>>2]=0.0;c[s>>2]=(c[s>>2]|0)+1;s=c[b+4>>2]|0}x=wc(s)|0;I=+g[s+276>>2];w=+g[s+280>>2];H=+g[s+284>>2];if(!x)break a;if(!(I*I+w*w+H*H>9.999999747378752e-05))break a;else{s=c[s+288>>2]|0;z=y}}if((aa|0)==25){l=ea;return j|0}}else{k=0.0;o=0.0;n=0.0;m=0.0;j=0}while(0);g[i+164>>2]=k;k=m*m+n*n+o*o;if(!(k>=1.4210854715202004e-14)){c[i+132>>2]=0;c[i+132+4>>2]=0;c[i+132+8>>2]=0;c[i+132+12>>2]=0;k=0.0;m=0.0;n=0.0}else{fa=1.0/+D(+k);k=m*fa;m=n*fa;n=o*fa;g[i+132>>2]=k;g[i+136>>2]=m;g[i+140>>2]=n;c[i+144>>2]=j}if(ba*k+ca*m+da*n>=-+g[i+172>>2]){i=0;l=ea;return i|0}b=c[b+4>>2]|0;wc(b)|0;$p(i+148|0,b+260|0,16)|0;i=1;l=ea;return i|0}function gd(b,d,e,f,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,E=0.0,F=0,G=0,H=0;if((j|0)<2|(k|0)<2){m=0;return m|0}y=P(k,j)|0;c[6995]=(c[6995]|0)+1;b=sc(y>>>0>268435455?18:(y<<4|3)+16|0)|0;if(!b)q=0;else{c[(b+4+15&-16)+-4>>2]=b;q=b+4+15&-16}s=$I(y>>>0>1073741823?-1:y<<2)|0;if((k|0)>0?(j|0)>0:0){b=0;do{E=+(b|0)/+(k+-1|0);r=+g[e>>2];r=r+E*(+g[h>>2]-r);t=+g[e+4>>2];t=t+E*(+g[h+4>>2]-t);u=+g[e+8>>2];u=u+E*(+g[h+8>>2]-u);v=+g[f>>2];w=+g[f+4>>2];x=+g[f+8>>2];v=v+E*(+g[i>>2]-v)-r;w=w+E*(+g[i+4>>2]-w)-t;x=x+E*(+g[i+8>>2]-x)-u;p=P(b,j)|0;o=0;do{E=+(o|0)/+(j+-1|0);C=o+p|0;g[q+(C<<4)>>2]=r+v*E;g[q+(C<<4)+4>>2]=t+w*E;g[q+(C<<4)+8>>2]=u+x*E;g[q+(C<<4)+12>>2]=0.0;g[s+(C<<2)>>2]=1.0;o=o+1|0}while((o|0)!=(j|0));b=b+1|0}while((b|0)!=(k|0))}c[6995]=(c[6995]|0)+1;b=sc(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}Bc(b,d,y,q,s);if(l&1|0){g[(c[b+780>>2]|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&2|0){g[(c[b+780>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&4|0){C=P(k+-1|0,j)|0;g[(c[b+780>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&8|0){C=j+-1+(P(k+-1|0,j)|0)|0;g[(c[b+780>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&16|0){g[(c[b+780>>2]|0)+(((j+-1|0)/2|0)*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&32|0){C=P((k+-1|0)/2|0,j)|0;g[(c[b+780>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&64|0){C=j+-1+(P((k+-1|0)/2|0,j)|0)|0;g[(c[b+780>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&128|0){C=(P(k+-1|0,j)|0)+((j+-1|0)/2|0)|0;g[(c[b+780>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&256|0){C=(P((k+-1|0)/2|0,j)|0)+((j+-1|0)/2|0)|0;g[(c[b+780>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(q|0){c[6996]=(c[6996]|0)+1;Cd(c[q+-4>>2]|0)}aJ(s);if((k|0)<=0){m=b;return m|0}d=b+780|0;l=b+792|0;z=b+800|0;A=b+984|0;o=0;y=0;B=j+-1|0;C=(j<<1)+-1|0;while(1){p=y;y=y+1|0;a:do if((j|0)>0){i=P(p,j)|0;h=P(y,j)|0;t=1.0/+(k+-1|0)*+(k+-1-p|0);r=1.0/+(k+-1|0)*+(k+-2-p|0);if((y|0)<(k|0)){p=0;q=o}else{p=0;while(1){q=p;p=p+1|0;if((p|0)<(j|0)){s=p+i|0;e=c[d>>2]|0;Xh(b,0);h=(c[l>>2]|0)+-1|0;f=c[z>>2]|0;c[f+(h*52|0)+24>>2]=e+((q+i|0)*104|0);c[f+(h*52|0)+28>>2]=e+(s*104|0);w=+g[e+((q+i|0)*104|0)+8>>2]-+g[e+(s*104|0)+8>>2];x=+g[e+((q+i|0)*104|0)+12>>2]-+g[e+(s*104|0)+12>>2];E=+g[e+((q+i|0)*104|0)+16>>2]-+g[e+(s*104|0)+16>>2];g[f+(h*52|0)+32>>2]=+D(+(w*w+x*x+E*E));a[A>>0]=1}if((p|0)==(j|0))break a}}while(1){e=p+1|0;s=p+i|0;f=p+h|0;if((p|0)==(j+-1|0))break;G=c[d>>2]|0;Xh(b,0);H=(c[l>>2]|0)+-1|0;F=c[z>>2]|0;c[F+(H*52|0)+24>>2]=G+(s*104|0);c[F+(H*52|0)+28>>2]=G+((e+i|0)*104|0);E=+g[G+(s*104|0)+8>>2]-+g[G+((e+i|0)*104|0)+8>>2];x=+g[G+(s*104|0)+12>>2]-+g[G+((e+i|0)*104|0)+12>>2];w=+g[G+(s*104|0)+16>>2]-+g[G+((e+i|0)*104|0)+16>>2];g[F+(H*52|0)+32>>2]=+D(+(E*E+x*x+w*w));a[A>>0]=1;H=c[d>>2]|0;Xh(b,0);F=(c[l>>2]|0)+-1|0;G=c[z>>2]|0;c[G+(F*52|0)+24>>2]=H+(s*104|0);c[G+(F*52|0)+28>>2]=H+(f*104|0);w=+g[H+(s*104|0)+8>>2]-+g[H+(f*104|0)+8>>2];x=+g[H+(s*104|0)+12>>2]-+g[H+(f*104|0)+12>>2];E=+g[H+(s*104|0)+16>>2]-+g[H+(f*104|0)+16>>2];g[G+(F*52|0)+32>>2]=+D(+(w*w+x*x+E*E));a[A>>0]=1;bg(b,s,f,e+h|0,0);if(!n)bg(b,e+h|0,e+i|0,s,0);else{E=1.0/+(j+-1|0)*+(p|0);g[n+(q<<2)>>2]=E;g[n+(q+1<<2)>>2]=t;g[n+(q+2<<2)>>2]=E;g[n+(q+3<<2)>>2]=r;x=1.0/+(j+-1|0)*+(e|0);g[n+(q+4<<2)>>2]=x;g[n+(q+5<<2)>>2]=r;bg(b,e+h|0,e+i|0,s,0);g[n+(q+6<<2)>>2]=x;g[n+(q+7<<2)>>2]=r;g[n+(q+8<<2)>>2]=x;g[n+(q+9<<2)>>2]=t;g[n+(q+10<<2)>>2]=E;g[n+(q+11<<2)>>2]=t}if(m){F=c[d>>2]|0;Xh(b,0);H=(c[l>>2]|0)+-1|0;G=c[z>>2]|0;c[G+(H*52|0)+24>>2]=F+(s*104|0);c[G+(H*52|0)+28>>2]=F+((e+h|0)*104|0);w=+g[F+(s*104|0)+8>>2]-+g[F+((e+h|0)*104|0)+8>>2];x=+g[F+(s*104|0)+12>>2]-+g[F+((e+h|0)*104|0)+12>>2];E=+g[F+(s*104|0)+16>>2]-+g[F+((e+h|0)*104|0)+16>>2];g[G+(H*52|0)+32>>2]=+D(+(w*w+x*x+E*E));a[A>>0]=1}p=e;q=q+12|0}F=c[d>>2]|0;Xh(b,0);H=(c[l>>2]|0)+-1|0;G=c[z>>2]|0;c[G+(H*52|0)+24>>2]=F+(B*104|0);c[G+(H*52|0)+28>>2]=F+(C*104|0);w=+g[F+(B*104|0)+8>>2]-+g[F+(C*104|0)+8>>2];x=+g[F+(B*104|0)+12>>2]-+g[F+(C*104|0)+12>>2];E=+g[F+(B*104|0)+16>>2]-+g[F+(C*104|0)+16>>2];g[G+(H*52|0)+32>>2]=+D(+(w*w+x*x+E*E));a[A>>0]=1;o=(j*12|0)+-12+o|0}while(0);if((y|0)==(k|0))break;else{B=B+j|0;C=C+j|0}}return b|0}function hd(b,d,e,f,h){b=b|0;d=d|0;e=+e;f=+f;h=+h;var i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0;y=l;l=l+240|0;n=+g[b+136>>2]+f;o=+g[b+140>>2]+h;g[b+152>>2]=+g[b+132>>2]+e;g[b+156>>2]=n;g[b+160>>2]=o;g[b+164>>2]=0.0;c[y+176>>2]=1065353216;q=y+176+4|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[y+176+20>>2]=1065353216;r=y+176+24|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[y+176+40>>2]=1065353216;s=y+176+44|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[y+112>>2]=1065353216;t=y+112+4|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[y+112+20>>2]=1065353216;u=y+112+24|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[y+112+40>>2]=1065353216;v=y+112+44|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;o=1.0;p=10;while(1){if((p|0)<=0){x=29;break}p=p+-1|0;c[y+176+48>>2]=c[b+132>>2];c[y+176+48+4>>2]=c[b+132+4>>2];c[y+176+48+8>>2]=c[b+132+8>>2];c[y+176+48+12>>2]=c[b+132+12>>2];c[y+112+48>>2]=c[b+152>>2];c[y+112+48+4>>2]=c[b+152+4>>2];c[y+112+48+8>>2]=c[b+152+8>>2];c[y+112+48+12>>2]=c[b+152+12>>2];m=+g[b+132>>2]-+g[b+152>>2];n=+g[b+136>>2]-+g[b+156>>2];e=+g[b+140>>2]-+g[b+160>>2];z=+g[b+168>>2];j=+g[b+172>>2];A=+g[b+176>>2];h=+g[b+180>>2];B=z*(2.0/(z*z+j*j+A*A+h*h));f=j*(2.0/(z*z+j*j+A*A+h*h));k=A*(2.0/(z*z+j*j+A*A+h*h));g[y+176>>2]=1.0-(j*f+A*k);g[q>>2]=z*f-h*k;g[y+176+8>>2]=z*k+h*f;g[y+176+12>>2]=0.0;g[y+176+16>>2]=z*f+h*k;g[y+176+20>>2]=1.0-(z*B+A*k);g[r>>2]=j*k-h*B;g[y+176+28>>2]=0.0;g[y+176+32>>2]=z*k-h*f;g[y+176+36>>2]=j*k+h*B;g[y+176+40>>2]=1.0-(z*B+j*f);g[s>>2]=0.0;f=+g[b+184>>2];j=+g[b+188>>2];B=+g[b+192>>2];z=+g[b+196>>2];h=f*(2.0/(f*f+j*j+B*B+z*z));k=j*(2.0/(f*f+j*j+B*B+z*z));A=B*(2.0/(f*f+j*j+B*B+z*z));g[y+112>>2]=1.0-(j*k+B*A);g[t>>2]=f*k-z*A;g[y+112+8>>2]=f*A+z*k;g[y+112+12>>2]=0.0;g[y+112+16>>2]=f*k+z*A;g[y+112+20>>2]=1.0-(f*h+B*A);g[u>>2]=j*A-z*h;g[y+112+28>>2]=0.0;g[y+112+32>>2]=f*A-z*k;g[y+112+36>>2]=j*A+z*h;g[y+112+40>>2]=1.0-(f*h+j*k);g[v>>2]=0.0;i=c[b+8>>2]|0;g[y+4>>2]=1.0;c[y+80>>2]=0;c[y+16>>2]=0;c[y+16+4>>2]=0;c[y+16+8>>2]=0;c[y+16+12>>2]=0;c[y+16+16>>2]=0;c[y+16+20>>2]=0;c[y+16+24>>2]=0;c[y+16+28>>2]=0;c[y>>2]=5252;c[y+84>>2]=i;g[y+88>>2]=m;g[y+92>>2]=n;g[y+96>>2]=e;g[y+100>>2]=0.0;g[y+104>>2]=0.0;i=c[i+188>>2]|0;c[y+8>>2]=c[i+4>>2];c[y+12>>2]=c[i+8>>2];i=c[b+12>>2]|0;e=+nb[c[(c[i>>2]|0)+48>>2]&15](i);i=c[b+12>>2]|0;Jb[c[(c[i>>2]|0)+44>>2]&31](i,e+ +g[b+64>>2]);if(!((((((((((((+g[y+176>>2]==+g[y+112>>2]?+g[y+176+16>>2]==+g[y+112+16>>2]:0)?+g[y+176+32>>2]==+g[y+112+32>>2]:0)?+g[q>>2]==+g[t>>2]:0)?+g[y+176+20>>2]==+g[y+112+20>>2]:0)?+g[y+176+36>>2]==+g[y+112+36>>2]:0)?+g[y+176+8>>2]==+g[y+112+8>>2]:0)?+g[r>>2]==+g[u>>2]:0)?+g[y+176+40>>2]==+g[y+112+40>>2]:0)?+g[y+176+60>>2]==+g[y+112+60>>2]:0)?+g[y+176+56>>2]==+g[y+112+56>>2]:0)?+g[y+176+52>>2]==+g[y+112+52>>2]:0)?+g[y+176+48>>2]==+g[y+112+48>>2]:0))x=16;do if((x|0)==16){x=0;i=c[b+12>>2]|0;if(!(a[b+250>>0]|0)){Ud(d,i,y+176|0,y+112|0,y,+g[d+56>>2]);break}else{pd(c[b+8>>2]|0,i,y+176|0,y+112|0,y,+g[d+56>>2]);break}}while(0);i=c[b+12>>2]|0;Jb[c[(c[i>>2]|0)+44>>2]&31](i,e);B=+g[y+4>>2];o=o-B;if((B<1.0?(w=c[b+8>>2]|0,(c[w+204>>2]&4|0)==0):0)?Bb[c[(c[b>>2]|0)+56>>2]&63](b,w,c[y+80>>2]|0)|0:0){e=+g[b+152>>2];k=+g[b+132>>2];h=+g[b+156>>2];m=+g[b+136>>2];j=+g[b+160>>2];n=+g[b+140>>2];f=+D(+((e-k)*(e-k)+(h-m)*(h-m)+(j-n)*(j-n)));if(f>1.1920928955078125e-07){E=+g[y+48>>2];z=+g[y+52>>2];F=+g[y+56>>2];B=((e-k)*(1.0/f)*E+(h-m)*(1.0/f)*z+(j-n)*(1.0/f)*F)*2.0;C=(e-k)*(1.0/f)-E*B;A=(h-m)*(1.0/f)-z*B;h=(j-n)*(1.0/f)-F*B;j=1.0/+D(+(h*h+(C*C+A*A)));c[b+152>>2]=c[b+132>>2];c[b+152+4>>2]=c[b+132+4>>2];c[b+152+8>>2]=c[b+132+8>>2];c[b+152+12>>2]=c[b+132+12>>2];e=f*(j*C-E*(F*j*h+(E*j*C+z*j*A)))+ +g[b+152>>2];g[b+152>>2]=e;B=f*(j*A-z*(F*j*h+(E*j*C+z*j*A)))+ +g[b+156>>2];g[b+156>>2]=B;j=f*(j*h-F*(F*j*h+(E*j*C+z*j*A)))+ +g[b+160>>2];g[b+160>>2]=j;f=B}else f=h;h=e-k;f=f-m;e=j-n;if(!(h*h+f*f+e*e>1.1920928955078125e-07)){x=26;break}F=1.0/+D(+(h*h+f*f+e*e));if(+g[b+84>>2]*h*F+f*F*+g[b+88>>2]+e*F*+g[b+92>>2]<=0.0){x=26;break}}else{c[b+132>>2]=c[b+152>>2];c[b+132+4>>2]=c[b+152+4>>2];c[b+132+8>>2]=c[b+152+8>>2];c[b+132+12>>2]=c[b+152+12>>2]}if(!(o>.009999999776482582)){x=29;break}}if((x|0)==26){l=y;return}else if((x|0)==29){l=y;return}}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;a[x+16>>0]=1;c[x+12>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;a[x+36>>0]=1;c[x+32>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;a[x+56>>0]=1;c[x+52>>2]=0;c[x+44>>2]=0;c[x+48>>2]=0;a[x+76>>0]=1;c[x+72>>2]=0;c[x+64>>2]=0;c[x+68>>2]=0;e=c[b+8>>2]|0;if((e|0)<=0){kj(x);l=x;return}f=0;o=0;i=0;h=0;n=0;while(1){r=c[(c[(c[b+16>>2]|0)+(f<<2)>>2]|0)+192>>2]|0;q=((r+~(r<<15)|0)>>>10^r+~(r<<15))*9|0;q=((q>>>6^q)+~((q>>>6^q)<<11)|0)>>>16^(q>>>6^q)+~((q>>>6^q)<<11);g=q&o+-1;k=g>>>0<i>>>0;a:do if(k){i=c[h+(g<<2)>>2]|0;if((i|0)!=-1){m=c[x+72>>2]|0;while(1){if((r|0)==(c[m+(i<<3)>>2]|0)){p=9;break}j=c[n+(i<<2)>>2]|0;if((j|0)==-1)break;else i=j}if((p|0)==9?(p=0,(c[x+52>>2]|0)+(i<<2)|0):0){i=o;g=n;break}if(!k){p=16;break}}e=c[h+(g<<2)>>2]|0;if((e|0)!=-1){i=c[x+72>>2]|0;while(1){if((r|0)==(c[i+(e<<3)>>2]|0))break;e=c[n+(e<<2)>>2]|0;if((e|0)==-1){p=16;break a}}c[(c[x+52>>2]|0)+(e<<2)>>2]=r;e=o;g=n;p=74}else p=16}else p=16;while(0);if((p|0)==16){p=0;n=c[x+44>>2]|0;if((n|0)==(o|0)){e=o|0?o<<1:1;if((o|0)<(e|0)){if((e|0)!=0?(c[6995]=(c[6995]|0)+1,w=sc((e<<2|3)+16|0)|0,(w|0)!=0):0){c[(w+4+15&-16)+-4>>2]=w;i=w+4+15&-16}else i=0;if((o|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[x+52>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(o|0))}h=c[x+52>>2]|0;if(h|0){if(a[x+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[x+52>>2]=0}a[x+56>>0]=1;c[x+52>>2]=i;c[x+48>>2]=e;h=o}else{h=o;e=o}}else{h=n;e=o}c[(c[x+52>>2]|0)+(h<<2)>>2]=r;c[x+44>>2]=h+1;h=c[x+64>>2]|0;if((h|0)==(c[x+68>>2]|0)?(s=h|0?h<<1:1,(h|0)<(s|0)):0){if((s|0)!=0?(c[6995]=(c[6995]|0)+1,t=sc((s<<3|3)+16|0)|0,(t|0)!=0):0){c[(t+4+15&-16)+-4>>2]=t;i=t+4+15&-16}else i=0;if((h|0)>0){e=0;do{j=(c[x+72>>2]|0)+(e<<3)|0;k=c[j+4>>2]|0;m=i+(e<<3)|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;e=e+1|0}while((e|0)!=(h|0))}e=c[x+72>>2]|0;if(e|0){if(a[x+76>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[x+72>>2]=0}a[x+76>>0]=1;c[x+72>>2]=i;c[x+68>>2]=s;h=c[x+64>>2]|0;e=c[x+48>>2]|0}m=(c[x+72>>2]|0)+(h<<3)|0;c[m>>2]=r;c[m+4>>2]=0;c[x+64>>2]=h+1;if((o|0)<(e|0)){m=c[x+4>>2]|0;do if((m|0)<(e|0)){if((c[x+8>>2]|0)<(e|0)){if((e|0)!=0?(c[6995]=(c[6995]|0)+1,u=sc((e<<2|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;g=u+4+15&-16}else g=0;i=c[x+12>>2]|0;if((m|0)>0){h=0;do{c[g+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0));if(a[x+16>>0]|0)p=51}else if(!((i|0)==0|(a[x+16>>0]|0)==0))p=51;if((p|0)==51){p=0;c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}a[x+16>>0]=1;c[x+12>>2]=g;c[x+8>>2]=e}else g=c[x+12>>2]|0;k=e<<2;Yk(g+(m<<2)|0,0,k-(m<<2)|0)|0;c[x+4>>2]=e;j=c[x+24>>2]|0;if((j|0)<(e|0)){if((c[x+28>>2]|0)<(e|0)){if((e|0)!=0?(c[6995]=(c[6995]|0)+1,v=sc((k|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;g=v+4+15&-16}else g=0;i=c[x+32>>2]|0;if((j|0)>0){h=0;do{c[g+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0));if(a[x+36>>0]|0)p=63}else if(!((i|0)==0|(a[x+36>>0]|0)==0))p=63;if((p|0)==63){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}a[x+36>>0]=1;c[x+32>>2]=g;c[x+28>>2]=e}else g=c[x+32>>2]|0;Yk(g+(j<<2)|0,0,k-(j<<2)|0)|0}c[x+24>>2]=e;if((e|0)>0){Yk(c[x+12>>2]|0,-1,k|0)|0;Yk(c[x+32>>2]|0,-1,k|0)|0}if((m|0)<=0){e=c[x+48>>2]|0;break}h=c[x+72>>2]|0;i=c[x+12>>2]|0;j=c[x+32>>2]|0;e=c[x+48>>2]|0;g=0;do{p=c[h+(g<<3)>>2]|0;p=((p+~(p<<15)|0)>>>10^p+~(p<<15))*9|0;p=i+(((((p>>>6^p)+~((p>>>6^p)<<11)|0)>>>16^(p>>>6^p)+~((p>>>6^p)<<11))&e+-1)<<2)|0;c[j+(g<<2)>>2]=c[p>>2];c[p>>2]=g;g=g+1|0}while((g|0)!=(m|0))}while(0);g=q&e+-1}h=c[x+12>>2]|0;p=h+(g<<2)|0;g=c[x+32>>2]|0;c[g+(n<<2)>>2]=c[p>>2];c[p>>2]=n;p=74}if((p|0)==74){p=0;Ob[c[(c[r>>2]|0)+60>>2]&127](r,d);i=e;e=c[b+8>>2]|0}f=f+1|0;if((f|0)>=(e|0))break;o=i;i=c[x+4>>2]|0;n=g}if((e|0)>0)g=0;else{kj(x);l=x;return}do{f=c[(c[b+16>>2]|0)+(g<<2)>>2]|0;switch(c[f+252>>2]|0){case 64:case 1:{Ob[c[(c[f>>2]|0)+24>>2]&127](f,d);e=c[b+8>>2]|0;break}default:{}}g=g+1|0}while((g|0)<(e|0));kj(x);l=x;return}function jd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0;A=+g[b+48>>2];i=+g[d>>2];B=+g[b+64>>2];j=+g[d+4>>2];H=+g[b+80>>2];p=+g[d+8>>2];s=+g[b+52>>2];r=+g[b+68>>2];q=+g[b+84>>2];w=+g[b+56>>2];G=+g[b+72>>2];x=+g[b+88>>2];v=+g[d+16>>2];u=+g[d+20>>2];t=+g[d+24>>2];F=+g[d+32>>2];C=+g[d+36>>2];E=+g[d+40>>2];k=+g[b+96>>2];h=+g[b+100>>2];z=+g[b+104>>2];y=+g[d+48>>2]+(i*k+j*h+p*z);f=v*k+u*h+t*z+ +g[d+52>>2];z=F*k+C*h+E*z+ +g[d+56>>2];g[b+1064>>2]=A*i+B*j+H*p;g[b+1068>>2]=i*s+j*r+p*q;g[b+1072>>2]=i*w+j*G+p*x;g[b+1076>>2]=0.0;g[b+1080>>2]=A*v+B*u+H*t;g[b+1084>>2]=s*v+r*u+q*t;g[b+1088>>2]=w*v+G*u+x*t;g[b+1092>>2]=0.0;g[b+1096>>2]=A*F+B*C+H*E;g[b+1100>>2]=s*F+r*C+q*E;g[b+1104>>2]=w*F+G*C+x*E;g[b+1108>>2]=0.0;g[b+1112>>2]=y;g[b+1116>>2]=f;g[b+1120>>2]=z;g[b+1124>>2]=0.0;z=+g[b+112>>2];f=+g[e>>2];y=+g[b+128>>2];E=+g[e+4>>2];x=+g[b+144>>2];C=+g[e+8>>2];G=+g[b+116>>2];F=+g[b+132>>2];w=+g[b+148>>2];q=+g[b+120>>2];r=+g[b+136>>2];s=+g[b+152>>2];H=+g[e+16>>2];B=+g[e+20>>2];A=+g[e+24>>2];t=+g[e+32>>2];u=+g[e+36>>2];v=+g[e+40>>2];p=+g[b+160>>2];j=+g[b+164>>2];i=+g[b+168>>2];h=+g[e+48>>2]+(f*p+E*j+C*i);k=H*p+B*j+A*i+ +g[e+52>>2];i=t*p+u*j+v*i+ +g[e+56>>2];g[b+1128>>2]=z*f+y*E+x*C;g[b+1132>>2]=f*G+E*F+C*w;g[b+1136>>2]=f*q+E*r+C*s;g[b+1140>>2]=0.0;g[b+1144>>2]=z*H+y*B+x*A;g[b+1148>>2]=G*H+F*B+w*A;g[b+1152>>2]=q*H+r*B+s*A;g[b+1156>>2]=0.0;g[b+1160>>2]=z*t+y*u+x*v;g[b+1164>>2]=G*t+F*u+w*v;g[b+1168>>2]=q*t+r*u+s*v;g[b+1172>>2]=0.0;g[b+1176>>2]=h;g[b+1180>>2]=k;g[b+1184>>2]=i;g[b+1188>>2]=0.0;h=h-+g[b+1112>>2];k=k-+g[b+1116>>2];i=i-+g[b+1120>>2];w=+g[b+1084>>2];F=+g[b+1104>>2];G=+g[b+1088>>2];x=+g[b+1100>>2];y=+g[b+1096>>2];z=+g[b+1080>>2];A=+g[b+1064>>2];B=+g[b+1068>>2];H=+g[b+1072>>2];C=1.0/((w*F-G*x)*A+B*(G*y-F*z)+(x*z-w*y)*H);E=(x*z-w*y)*C;f=i*(G*B-w*H)*C+(h*(w*F-G*x)*C+k*(x*H-F*B)*C);j=i*(z*H-G*A)*C+(h*(G*y-F*z)*C+k*(F*A-y*H)*C);k=i*(w*A-z*B)*C+(h*E+k*(y*B-x*A)*C);g[b+1256>>2]=f;g[b+1260>>2]=j;g[b+1264>>2]=k;g[b+1268>>2]=0.0;g[b+840>>2]=f;h=+g[b+680>>2];i=+g[b+696>>2];do if(!(h>i)){if(h>f){c[b+856>>2]=2;f=f-h;break}if(i<f){c[b+856>>2]=1;f=f-i;break}else{c[b+856>>2]=0;f=0.0;break}}else{c[b+856>>2]=0;f=0.0}while(0);g[b+824>>2]=f;g[b+844>>2]=j;f=+g[b+684>>2];h=+g[b+700>>2];do if(!(f>h)){if(f>j){c[b+860>>2]=2;f=j-f;break}if(h<j){c[b+860>>2]=1;f=j-h;break}else{c[b+860>>2]=0;f=0.0;break}}else{c[b+860>>2]=0;f=0.0}while(0);g[b+828>>2]=f;g[b+848>>2]=k;f=+g[b+688>>2];h=+g[b+704>>2];do if(!(f>h)){if(f>k){c[b+864>>2]=2;f=k-f;break}if(h<k){c[b+864>>2]=1;f=k-h;break}else{c[b+864>>2]=0;f=0.0;break}}else{c[b+864>>2]=0;f=0.0}while(0);g[b+832>>2]=f;n=+g[b+1128>>2];o=+g[b+1144>>2];p=+g[b+1160>>2];h=+g[b+1132>>2];i=+g[b+1148>>2];j=+g[b+1164>>2];k=(w*F-G*x)*C*h+(x*H-F*B)*C*i+(G*B-w*H)*C*j;l=h*(G*y-F*z)*C+(F*A-y*H)*C*i+(z*H-G*A)*C*j;m=p*(w*A-z*B)*C+(n*E+o*(y*B-x*A)*C);f=E*+g[b+1136>>2]+(y*B-x*A)*C*+g[b+1152>>2]+(w*A-z*B)*C*(q*t+r*u+s*v);do if(m<1.0)if(m>-1.0){g[b+1192>>2]=+L(+-(h*E+(y*B-x*A)*C*i+(w*A-z*B)*C*j),+f);f=m<-1.0?-1.0:m;g[b+1196>>2]=+J(+(f>1.0?1.0:f));f=+L(+-(p*(z*H-G*A)*C+(n*(G*y-F*z)*C+o*(F*A-y*H)*C)),+(p*(G*B-w*H)*C+(n*(w*F-G*x)*C+o*(x*H-F*B)*C)));break}else{g[b+1192>>2]=-+L(+k,+l);g[b+1196>>2]=-1.5707963705062866;f=0.0;break}else{g[b+1192>>2]=+L(+k,+l);g[b+1196>>2]=1.5707963705062866;f=0.0}while(0);g[b+1200>>2]=f;g[b+1236>>2]=0.0;x=F*(n*F-p*H)-G*(o*H-n*G);y=H*(o*H-n*G)-F*(p*G-o*F);z=G*(p*G-o*F)-H*(n*F-p*H);g[b+1220>>2]=0.0;B=o*(o*H-n*G)-p*(n*F-p*H);C=p*(p*G-o*F)-n*(o*H-n*G);E=n*(n*F-p*H)-o*(p*G-o*F);g[b+1252>>2]=0.0;A=1.0/+D(+(x*x+y*y+z*z));g[b+1208>>2]=x*A;g[b+1212>>2]=y*A;g[b+1216>>2]=z*A;A=1.0/+D(+((p*G-o*F)*(p*G-o*F)+(n*F-p*H)*(n*F-p*H)+(o*H-n*G)*(o*H-n*G)));g[b+1224>>2]=(p*G-o*F)*A;g[b+1228>>2]=(n*F-p*H)*A;g[b+1232>>2]=(o*H-n*G)*A;H=1.0/+D(+(B*B+C*C+E*E));g[b+1240>>2]=B*H;g[b+1244>>2]=C*H;g[b+1248>>2]=E*H;if(!(a[b+1301>>0]|0))return;G=+g[(c[b+28>>2]|0)+404>>2];H=+g[(c[b+32>>2]|0)+404>>2];a[b+1280>>0]=(G<1.1920928955078125e-07|H<1.1920928955078125e-07)&1;H=G+H>0.0?H/(G+H):.5;g[b+1272>>2]=H;g[b+1276>>2]=1.0-H;return}function kd(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;E=l;l=l+480|0;e=c[b+332>>2]|0;if((c[b+324>>2]|0)>0){f=0;do{v=c[b+24>>2]|0;Ob[c[(c[v>>2]|0)+16>>2]&127](v,c[e+(f<<2)>>2]|0);f=f+1|0;e=c[b+332>>2]|0}while((f|0)<(c[b+324>>2]|0))}if(e|0){if(a[b+336>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+332>>2]=0}a[b+336>>0]=1;c[b+332>>2]=0;c[b+324>>2]=0;c[b+328>>2]=0;q=c[b+248>>2]|0;if((q|0)<=0){l=E;return}r=c[b+256>>2]|0;s=E+416+48|0;t=E+256+28|0;u=E+312+48|0;o=0;do{v=c[r+(o<<2)>>2]|0;g[v+268>>2]=1.0;switch(c[v+220>>2]|0){case 2:case 5:break;default:if(((((c[v+204>>2]&3|0)==0?(Af(v+4|0,+g[v+372>>2],+g[v+376>>2],+g[v+380>>2],v+388|0,d,E+416|0),y=+g[s>>2],z=y-+g[v+52>>2],A=+g[E+416+52>>2],B=A-+g[v+56>>2],C=+g[E+416+56>>2],D=C-+g[v+60>>2],a[b+44>>0]|0):0)?(n=+g[v+276>>2],n*n!=0.0?n*n<z*z+B*B+D*D:0):0)?(c[(c[v+192>>2]|0)+4>>2]|0)<20:0)?(c[5787]=(c[5787]|0)+1,i=c[b+68>>2]|0,i=xb[c[(c[i>>2]|0)+36>>2]&127](i)|0,p=c[b+24>>2]|0,g[E+312+4>>2]=1.0,c[E+312+16>>2]=c[v+52>>2],c[E+312+16+4>>2]=c[v+52+4>>2],c[E+312+16+8>>2]=c[v+52+8>>2],c[E+312+16+12>>2]=c[v+52+12>>2],c[E+312+32>>2]=c[s>>2],c[E+312+32+4>>2]=c[s+4>>2],c[E+312+32+8>>2]=c[s+8>>2],c[E+312+32+12>>2]=c[s+12>>2],c[E+312+80>>2]=0,c[E+312>>2]=4556,c[E+312+84>>2]=v,c[E+312+92>>2]=i,c[E+312+96>>2]=p,p=c[v+272>>2]|0,c[E+256+8>>2]=0,c[E+256+12>>2]=-1,c[E+256>>2]=7020,c[E+256+4>>2]=8,c[E+256+16>>2]=1065353216,c[E+256+20>>2]=1065353216,c[E+256+24>>2]=1065353216,c[t>>2]=0,c[t+4>>2]=0,c[t+8>>2]=0,c[t+12>>2]=0,c[t+16>>2]=0,c[E+256+32>>2]=p,c[E+256+48>>2]=p,g[E+256+52>>2]=0.0,c[E+312+88>>2]=c[b+56>>2],p=c[v+188>>2]|0,c[E+312+8>>2]=c[p+4>>2],c[E+312+12>>2]=c[p+8>>2],c[E+192+48>>2]=c[s>>2],c[E+192+48+4>>2]=c[s+4>>2],c[E+192+48+8>>2]=c[s+8>>2],c[E+192+48+12>>2]=c[s+12>>2],c[E+192>>2]=c[v+4>>2],c[E+192+4>>2]=c[v+4+4>>2],c[E+192+8>>2]=c[v+4+8>>2],c[E+192+12>>2]=c[v+4+12>>2],c[E+192+16>>2]=c[v+20>>2],c[E+192+16+4>>2]=c[v+20+4>>2],c[E+192+16+8>>2]=c[v+20+8>>2],c[E+192+16+12>>2]=c[v+20+12>>2],c[E+192+32>>2]=c[v+36>>2],c[E+192+32+4>>2]=c[v+36+4>>2],c[E+192+32+8>>2]=c[v+36+8>>2],c[E+192+32+12>>2]=c[v+36+12>>2],Ud(b,E+256|0,v+4|0,E+192|0,E+312|0,0.0),w=+g[E+312+4>>2],w<1.0):0){h=w*(y-+g[v+52>>2]);j=w*(A-+g[v+56>>2]);m=w*(C-+g[v+60>>2]);n=-(j*+g[E+312+52>>2])-h*+g[u>>2]-m*+g[E+312+56>>2];p=c[b+24>>2]|0;p=Bb[c[(c[p>>2]|0)+12>>2]&63](p,v,c[E+312+80>>2]|0)|0;f=c[b+324>>2]|0;if((f|0)==(c[b+328>>2]|0)?(x=f|0?f<<1:1,(f|0)<(x|0)):0){if(!x)e=0;else{c[6995]=(c[6995]|0)+1;e=sc((x<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+324>>2]|0}if((f|0)>0){i=0;do{c[e+(i<<2)>>2]=c[(c[b+332>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+332>>2]|0;if(i){if(a[b+336>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);f=c[b+324>>2]|0}c[b+332>>2]=0}a[b+336>>0]=1;c[b+332>>2]=e;c[b+328>>2]=x;e=f}else e=f;c[(c[b+332>>2]|0)+(e<<2)>>2]=p;c[b+324>>2]=e+1;k=h+ +g[v+52>>2];j=j+ +g[v+56>>2];h=m+ +g[v+60>>2];e=c[E+312+80>>2]|0;P=+g[e+4>>2];O=+g[e+20>>2];N=+g[e+36>>2];M=+g[e+8>>2];L=+g[e+24>>2];K=+g[e+40>>2];J=+g[e+12>>2];H=+g[e+28>>2];F=+g[e+44>>2];I=-+g[e+52>>2];G=-+g[e+56>>2];m=-+g[e+60>>2];c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;g[E+16>>2]=k*P+j*O+h*N+(P*I+O*G+N*m);g[E+20>>2]=k*M+j*L+h*K+(M*I+L*G+K*m);g[E+24>>2]=k*J+j*H+h*F+(J*I+H*G+F*m);g[E+28>>2]=0.0;c[E+64>>2]=c[u>>2];c[E+64+4>>2]=c[u+4>>2];c[E+64+8>>2]=c[u+8>>2];c[E+64+12>>2]=c[u+12>>2];g[E+80>>2]=n;c[E+84>>2]=0;c[E+84+4>>2]=0;c[E+84+8>>2]=0;c[E+84+12>>2]=0;e=E+116|0;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));i=kf(p,E)|0;g[p+4+(i*192|0)+96>>2]=0.0;P=+g[v+228>>2]*+g[(c[E+312+80>>2]|0)+228>>2];P=P<-10.0?-10.0:P;g[p+4+(i*192|0)+84>>2]=P>10.0?10.0:P;c[p+4+(i*192|0)+48>>2]=c[v+52>>2];c[p+4+(i*192|0)+48+4>>2]=c[v+52+4>>2];c[p+4+(i*192|0)+48+8>>2]=c[v+52+8>>2];c[p+4+(i*192|0)+48+12>>2]=c[v+52+12>>2];g[p+4+(i*192|0)+32>>2]=k;g[p+4+(i*192|0)+36>>2]=j;g[p+4+(i*192|0)+40>>2]=h;g[p+4+(i*192|0)+44>>2]=0.0}}o=o+1|0}while((o|0)<(q|0));l=E;return}function ld(a,d,f,h,i,j,k,l){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0;v=+g[a+8>>2];x=+g[a+12>>2];A=+g[a+16>>2];w=+g[a+40>>2];p=(+g[d>>2]-v)*w;y=+g[a+44>>2];s=(+g[d+4>>2]-x)*y;B=+g[a+48>>2];u=(+g[d+8>>2]-A)*B;if(!(p<=0.0)){t=b[a+6>>1]|0;t=(!(p>=+(t&65535))?~~p&65535:t)&b[a+4>>1]}else t=0;if(!(s<=0.0)){r=b[a+6>>1]|0;r=(!(s>=+(r&65535))?~~s&65535:r)&b[a+4>>1]}else r=0;if(!(u<=0.0)){q=b[a+6>>1]|0;q=(!(u>=+(q&65535))?~~u&65535:q)&b[a+4>>1]}else q=0;u=(+g[f>>2]-v)*w;s=(+g[f+4>>2]-x)*y;p=(+g[f+8>>2]-A)*B;if(!(u<=0.0)){o=b[a+6>>1]|0;o=(!(u>=+(o&65535))?~~u&65535:o)&b[a+4>>1]|1}else o=1;if(!(s<=0.0)){n=b[a+6>>1]|0;n=(!(s>=+(n&65535))?~~s&65535:n)&b[a+4>>1]|1}else n=1;if(!(p<=0.0)){m=b[a+6>>1]|0;m=(!(p>=+(m&65535))?~~p&65535:m)&b[a+4>>1]|1}else m=1;D=b[a+64>>1]|0;C=c[a+60>>2]|0;b[a+64>>1]=b[C+((D&65535)<<6)+48>>1]|0;z=(b[a+56>>1]|0)+1<<16>>16;b[a+56>>1]=z;c[C+((D&65535)<<6)+12>>2]=D&65535;c[C+((D&65535)<<6)>>2]=i;c[C+((D&65535)<<6)+4>>2]=j;c[C+((D&65535)<<6)+8>>2]=k;E=(z&65535)<<1&65534;b[C+54>>1]=(e[C+54>>1]|0)+2;F=c[a+68>>2]|0;G=e[F+(E+-1<<2)>>1]|e[F+(E+-1<<2)+2>>1]<<16;b[F+((E|1)<<2)>>1]=G;b[F+((E|1)<<2)+2>>1]=G>>>16;F=c[a+68>>2]|0;b[F+(E+-1<<2)>>1]=t;b[F+(E+-1<<2)+2>>1]=D;b[F+(E<<2)>>1]=o;b[F+(E<<2)+2>>1]=D;b[C+((D&65535)<<6)+48>>1]=E+-1;b[C+((D&65535)<<6)+54>>1]=(z&65535)<<1;o=(c[a+60>>2]|0)+56|0;b[o>>1]=(e[o>>1]|0)+2;o=c[a+72>>2]|0;t=e[o+(E+-1<<2)>>1]|e[o+(E+-1<<2)+2>>1]<<16;b[o+((E|1)<<2)>>1]=t;b[o+((E|1)<<2)+2>>1]=t>>>16;o=c[a+72>>2]|0;b[o+(E+-1<<2)>>1]=r;b[o+(E+-1<<2)+2>>1]=D;b[o+(E<<2)>>1]=n;b[o+(E<<2)+2>>1]=D;b[C+((D&65535)<<6)+50>>1]=E+-1;b[C+((D&65535)<<6)+56>>1]=(z&65535)<<1;n=(c[a+60>>2]|0)+58|0;b[n>>1]=(e[n>>1]|0)+2;n=c[a+76>>2]|0;o=e[n+(E+-1<<2)>>1]|e[n+(E+-1<<2)+2>>1]<<16;b[n+((E|1)<<2)>>1]=o;b[n+((E|1)<<2)+2>>1]=o>>>16;n=c[a+76>>2]|0;b[n+(E+-1<<2)>>1]=q;b[n+(E+-1<<2)+2>>1]=D;b[n+(E<<2)>>1]=m;b[n+(E<<2)+2>>1]=D;b[C+((D&65535)<<6)+52>>1]=E+-1;b[C+((D&65535)<<6)+58>>1]=(z&65535)<<1;n=c[a+68>>2]|0;o=e[C+((D&65535)<<6)+48>>1]|0;t=c[a+60>>2]|0;q=b[n+(o<<2)+-4>>1]|0;if((e[n+(o<<2)>>1]|0)<(q&65535)){z=t+((e[n+(o<<2)+2>>1]|0)<<6)+48|0;m=n+(o<<2)+-4|0;r=n+(o<<2)|0;o=q;n=t;while(1){G=e[r+-2>>1]|0;n=(o&1)==0?n+(G<<6)+48|0:n+(G<<6)+54|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[z>>1]=(b[z>>1]|0)+-1<<16>>16;n=e[r>>1]|e[r+2>>1]<<16;o=e[m>>1]|e[m+2>>1]<<16;b[r>>1]=o;b[r+2>>1]=o>>>16;b[m>>1]=n;b[m+2>>1]=n>>>16;n=r+-4|0;m=m+-4|0;o=b[m>>1]|0;if((e[n>>1]|0)>=(o&65535))break;r=n;n=c[a+60>>2]|0}n=c[a+68>>2]|0}m=e[C+((D&65535)<<6)+54>>1]|0;o=n+(m<<2)|0;r=b[o+-4>>1]|0;a:do if((e[o>>1]|0)<(r&65535)){G=c[a+60>>2]|0;t=G+((e[n+(m<<2)+2>>1]|0)<<6)+54|0;m=o+-4|0;q=o;n=r;o=G;while(1){G=e[q+-2>>1]|0;o=(n&1)==0?o+(G<<6)+48|0:o+(G<<6)+54|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;o=e[q>>1]|e[q+2>>1]<<16;n=e[m>>1]|e[m+2>>1]<<16;b[q>>1]=n;b[q+2>>1]=n>>>16;b[m>>1]=o;b[m+2>>1]=o>>>16;o=q+-4|0;m=m+-4|0;n=b[m>>1]|0;if((e[o>>1]|0)>=(n&65535))break a;q=o;o=c[a+60>>2]|0}}while(0);n=c[a+72>>2]|0;o=e[C+((D&65535)<<6)+50>>1]|0;t=c[a+60>>2]|0;q=b[n+(o<<2)+-4>>1]|0;if((e[n+(o<<2)>>1]|0)<(q&65535)){z=t+((e[n+(o<<2)+2>>1]|0)<<6)+50|0;m=n+(o<<2)+-4|0;r=n+(o<<2)|0;o=q;n=t;while(1){G=e[r+-2>>1]|0;n=(o&1)==0?n+(G<<6)+50|0:n+(G<<6)+56|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[z>>1]=(b[z>>1]|0)+-1<<16>>16;n=e[r>>1]|e[r+2>>1]<<16;o=e[m>>1]|e[m+2>>1]<<16;b[r>>1]=o;b[r+2>>1]=o>>>16;b[m>>1]=n;b[m+2>>1]=n>>>16;n=r+-4|0;m=m+-4|0;o=b[m>>1]|0;if((e[n>>1]|0)>=(o&65535))break;r=n;n=c[a+60>>2]|0}n=c[a+72>>2]|0}m=e[C+((D&65535)<<6)+56>>1]|0;o=n+(m<<2)|0;r=b[o+-4>>1]|0;b:do if((e[o>>1]|0)<(r&65535)){G=c[a+60>>2]|0;t=G+((e[n+(m<<2)+2>>1]|0)<<6)+56|0;m=o+-4|0;q=o;n=r;o=G;while(1){G=e[q+-2>>1]|0;o=(n&1)==0?o+(G<<6)+50|0:o+(G<<6)+56|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;o=e[q>>1]|e[q+2>>1]<<16;n=e[m>>1]|e[m+2>>1]<<16;b[q>>1]=n;b[q+2>>1]=n>>>16;b[m>>1]=o;b[m+2>>1]=o>>>16;o=q+-4|0;m=m+-4|0;n=b[m>>1]|0;if((e[o>>1]|0)>=(n&65535))break b;q=o;o=c[a+60>>2]|0}}while(0);xh(a,2,b[C+((D&65535)<<6)+52>>1]|0);sh(a,2,b[C+((D&65535)<<6)+58>>1]|0,l);n=c[a+60>>2]|0;m=c[a+108>>2]|0;if(!m){G=n+((D&65535)<<6)|0;return G|0}c[n+((D&65535)<<6)+60>>2]=Fb[c[(c[m>>2]|0)+8>>2]&3](m,d,f,h,i,j,k,l)|0;G=n+((D&65535)<<6)|0;return G|0}function md(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+32|0;ng(b+4|0,((P(c[b+112>>2]|0,c[b+16>>2]|0)|0)/100|0)+1|0);if(c[b+124>>2]|0){o=((P(c[b+108>>2]|0,c[b+56>>2]|0)|0)/100|0)+1|0;ng(b+44|0,o);o=(c[b+124>>2]|0)-o|0;c[b+124>>2]=(o|0)>0?o:0}f=((c[b+104>>2]|0)+1|0)%2|0;c[b+104>>2]=f;f=c[b+84+(f<<2)>>2]|0;if(f|0){do{h=f+56|0;k=f;f=c[h>>2]|0;i=c[k+52>>2]|0;c[((i|0)==0?b+84+(c[k+60>>2]<<2)|0:i+56|0)>>2]=f;i=c[h>>2]|0;if(i|0)c[i+52>>2]=c[k+52>>2];c[k+52>>2]=0;c[h>>2]=c[b+92>>2];h=c[b+92>>2]|0;if(h|0)c[h+52>>2]=k;c[b+92>>2]=k;h=c[k+48>>2]|0;Ag(b+4|0,h)|0;i=c[b+8>>2]|0;if(i|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[b+8>>2]=h;c[b+16>>2]=(c[b+16>>2]|0)+-1;c[q>>2]=c[k+16>>2];c[q+4>>2]=c[k+16+4>>2];c[q+8>>2]=c[k+16+8>>2];c[q+12>>2]=c[k+16+12>>2];c[q+16>>2]=c[k+32>>2];c[q+16+4>>2]=c[k+32+4>>2];c[q+16+8>>2]=c[k+32+8>>2];c[q+16+12>>2]=c[k+32+12>>2];h=c[b+48>>2]|0;if(!h){c[6995]=(c[6995]|0)+1;h=sc(63)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=h;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+48>>2]=0;c[h+32>>2]=0;c[h+36>>2]=k;c[h+40>>2]=0;c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[h+16>>2]=c[q+16>>2];c[h+20>>2]=c[q+20>>2];c[h+24>>2]=c[q+24>>2];c[h+28>>2]=c[q+28>>2];Pe(b+44|0,c[b+44>>2]|0,h);i=(c[b+56>>2]|0)+1|0;c[b+56>>2]=i;c[k+48>>2]=h;c[k+60>>2]=2}while((f|0)!=0);c[b+124>>2]=i;a[b+154>>0]=1}c[q>>2]=9248;c[q+4>>2]=b;if(a[b+153>>0]|0?(ne(b+4|0,c[b+4>>2]|0,c[b+44>>2]|0,q),a[b+153>>0]|0):0){o=c[b+4>>2]|0;ne(b+4|0,o,o,q)}if(a[b+154>>0]|0?(m=c[b+96>>2]|0,m=xb[c[(c[m>>2]|0)+28>>2]&127](m)|0,e=c[m+4>>2]|0,(e|0)>0):0){f=(P(c[b+116>>2]|0,e)|0)/100|0;o=c[b+120>>2]|0;f=(o|0)>(f|0)?o:f;f=(e|0)<(f|0)?e:f;if((f|0)>0){h=0;do{j=((c[b+144>>2]|0)+h|0)%(e|0)|0;n=c[m+12>>2]|0;i=c[n+(j<<4)>>2]|0;j=c[n+(j<<4)+4>>2]|0;n=c[i+48>>2]|0;o=c[j+48>>2]|0;if(!(((((+g[n>>2]<=+g[o+16>>2]?+g[n+16>>2]>=+g[o>>2]:0)?+g[n+4>>2]<=+g[o+20>>2]:0)?+g[n+20>>2]>=+g[o+4>>2]:0)?+g[n+8>>2]<=+g[o+24>>2]:0)?+g[n+24>>2]>=+g[o+8>>2]:0)){e=c[b+96>>2]|0;Cb[c[(c[e>>2]|0)+12>>2]&31](e,i,j,d)|0;f=f+-1|0;h=h+-1|0;e=c[m+4>>2]|0}h=h+1|0}while((h|0)<(f|0));if((e|0)>0)p=34;else e=0}else p=34;if((p|0)==34)e=((c[b+144>>2]|0)+f|0)%(e|0)|0;c[b+144>>2]=e}c[b+140>>2]=(c[b+140>>2]|0)+1;c[b+120>>2]=1;a[b+154>>0]=0;o=c[b+128>>2]|0;n=c[b+132>>2]|0;g[b+136>>2]=(o|0)==0?0.0:+(n>>>0)/+(o>>>0);c[b+132>>2]=n>>>1;c[b+128>>2]=o>>>1;o=c[b+96>>2]|0;if(!(xb[c[(c[o>>2]|0)+56>>2]&127](o)|0)){l=q;return}o=c[b+96>>2]|0;o=xb[c[(c[o>>2]|0)+28>>2]&127](o)|0;e=c[o+4>>2]|0;if((e|0)>1){te(o,0,e+-1|0);e=c[o+4>>2]|0}if((e|0)>0){m=0;k=0;n=0;f=0;while(1){i=c[o+12>>2]|0;h=i+(m<<4)|0;r=n;n=c[h>>2]|0;i=i+(m<<4)+4|0;j=c[i>>2]|0;if(!((n|0)==(r|0)&(j|0)==(f|0))){f=c[n+48>>2]|0;r=c[j+48>>2]|0;if(((((+g[f>>2]<=+g[r+16>>2]?+g[f+16>>2]>=+g[r>>2]:0)?+g[f+4>>2]<=+g[r+20>>2]:0)?+g[f+20>>2]>=+g[r+4>>2]:0)?+g[f+8>>2]<=+g[r+24>>2]:0)?+g[f+24>>2]>=+g[r+8>>2]:0){h=k;f=j}else{f=j;p=48}}else p=48;if((p|0)==48){p=0;e=c[b+96>>2]|0;Sb[c[(c[e>>2]|0)+32>>2]&127](e,h,d);c[h>>2]=0;c[i>>2]=0;h=k+1|0;e=c[o+4>>2]|0}m=m+1|0;if((m|0)>=(e|0))break;else k=h}if((e|0)>1){te(o,0,e+-1|0);e=c[o+4>>2]|0}j=e-h|0;if((h|0)<0){if((c[o+8>>2]|0)<(j|0)){if(!j){f=0;i=e}else{c[6995]=(c[6995]|0)+1;f=sc((j<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[o+4>>2]|0}if((i|0)>0){h=0;do{r=c[o+12>>2]|0;c[f+(h<<4)>>2]=c[r+(h<<4)>>2];c[f+(h<<4)+4>>2]=c[r+(h<<4)+4>>2];c[f+(h<<4)+8>>2]=c[r+(h<<4)+8>>2];c[f+(h<<4)+12>>2]=c[r+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[o+12>>2]|0;if(h|0){if(a[o+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=f;c[o+8>>2]=j}do{r=(c[o+12>>2]|0)+(e<<4)|0;e=e+1|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0}while((e|0)!=(j|0));e=j}else e=j}c[o+4>>2]=e;l=q;return}function nd(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;r=c[b+28>>2]|0;k=c[b+32>>2]|0;xc(b,r+4|0,k+4|0,r+324|0,k+324|0);j=c[d+8>>2]|0;g[j>>2]=1.0;l=c[d+24>>2]|0;g[j+(l+1<<2)>>2]=1.0;g[j+((l<<1)+2<<2)>>2]=1.0;n=+g[b+348>>2];v=+g[b+352>>2];p=+g[b+356>>2];t=+g[r+4>>2]*n+ +g[r+8>>2]*v+ +g[r+12>>2]*p;o=n*+g[r+20>>2]+v*+g[r+24>>2]+p*+g[r+28>>2];p=n*+g[r+36>>2]+v*+g[r+40>>2]+p*+g[r+44>>2];j=c[d+12>>2]|0;c[j>>2]=0;g[j+4>>2]=p;g[j+8>>2]=-o;g[j+12>>2]=0.0;g[j+(l<<2)>>2]=-p;c[j+(l<<2)+4>>2]=0;g[j+(l<<2)+8>>2]=t;g[j+(l<<2)+12>>2]=0.0;g[j+(l<<1<<2)>>2]=o;g[j+(l<<1<<2)+4>>2]=-t;c[j+(l<<1<<2)+8>>2]=0;g[j+(l<<1<<2)+12>>2]=0.0;j=c[d+16>>2]|0;g[j>>2]=-1.0;g[j+(l+1<<2)>>2]=-1.0;g[j+((l<<1)+2<<2)>>2]=-1.0;v=+g[b+412>>2];n=+g[b+416>>2];m=+g[b+420>>2];u=+g[k+4>>2]*v+ +g[k+8>>2]*n+ +g[k+12>>2]*m;f=v*+g[k+20>>2]+n*+g[k+24>>2]+m*+g[k+28>>2];m=v*+g[k+36>>2]+n*+g[k+40>>2]+m*+g[k+44>>2];l=c[d+20>>2]|0;j=c[d+24>>2]|0;c[l>>2]=0;g[l+4>>2]=-m;g[l+8>>2]=f;g[l+12>>2]=0.0;g[l+(j<<2)>>2]=m;c[l+(j<<2)+4>>2]=0;g[l+(j<<2)+8>>2]=-u;g[l+(j<<2)+12>>2]=0.0;g[l+(j<<1<<2)>>2]=-f;g[l+(j<<1<<2)+4>>2]=u;c[l+(j<<1<<2)+8>>2]=0;g[l+(j<<1<<2)+12>>2]=0.0;q=c[b+592>>2]|0;n=+g[(q&2|0?b+600|0:d+4|0)>>2]*+g[d>>2];i=c[d+28>>2]|0;s=c[d+36>>2]|0;h=c[d+40>>2]|0;g[i>>2]=n*(u+ +g[k+52>>2]-t-+g[r+52>>2]);g[s>>2]=-3402823466385288598117041.0e14;g[h>>2]=3402823466385288598117041.0e14;if(!(q&1)){g[i+(j<<2)>>2]=n*(f+ +g[k+56>>2]-o-+g[r+56>>2]);g[s+(j<<2)>>2]=-3402823466385288598117041.0e14;g[h+(j<<2)>>2]=3402823466385288598117041.0e14;g[i+(j<<1<<2)>>2]=n*(m+ +g[k+60>>2]-p-+g[r+60>>2]);g[s+(j<<1<<2)>>2]=-3402823466385288598117041.0e14;g[h+(j<<1<<2)>>2]=3402823466385288598117041.0e14}else{w=c[d+32>>2]|0;c[w>>2]=c[b+596>>2];g[i+(j<<2)>>2]=n*(f+ +g[k+56>>2]-o-+g[r+56>>2]);g[s+(j<<2)>>2]=-3402823466385288598117041.0e14;g[h+(j<<2)>>2]=3402823466385288598117041.0e14;c[w+(j<<2)>>2]=c[b+596>>2];g[i+(j<<1<<2)>>2]=n*(m+ +g[k+60>>2]-p-+g[r+60>>2]);g[s+(j<<1<<2)>>2]=-3402823466385288598117041.0e14;g[h+(j<<1<<2)>>2]=3402823466385288598117041.0e14;c[w+(j<<1<<2)>>2]=c[b+596>>2]}if(!(a[b+526>>0]|0)){l=j*3|0;j=s}else{k=c[d+12>>2]|0;v=+g[b+456>>2];if(+g[b+444>>2]<v?+g[b+448>>2]<v:0){z=+g[r+4>>2];y=+g[r+8>>2];x=+g[r+12>>2];D=+g[b+304>>2];C=+g[b+320>>2];B=+g[b+336>>2];o=+g[b+308>>2];t=+g[b+324>>2];v=+g[b+340>>2];f=+g[r+20>>2];m=+g[r+24>>2];n=+g[r+28>>2];p=+g[r+36>>2];u=+g[r+40>>2];e=+g[r+44>>2];g[k+(j*3<<2)>>2]=z*D+y*C+x*B;g[k+((j*3|0)+1<<2)>>2]=D*f+C*m+B*n;g[k+((j*3|0)+2<<2)>>2]=D*p+C*u+B*e;g[k+(j<<2<<2)>>2]=z*o+y*t+x*v;g[k+((j<<2|1)<<2)>>2]=o*f+t*m+v*n;g[k+((j<<2|2)<<2)>>2]=o*p+t*u+v*e;g[l+(j*3<<2)>>2]=-(z*D+y*C+x*B);g[l+((j*3|0)+1<<2)>>2]=-(D*f+C*m+B*n);g[l+((j*3|0)+2<<2)>>2]=-(D*p+C*u+B*e);g[l+(j<<2<<2)>>2]=-(z*o+y*t+x*v);g[l+((j<<2|1)<<2)>>2]=-(o*f+t*m+v*n);g[l+((j<<2|2)<<2)>>2]=-(o*p+t*u+v*e);A=+g[d>>2]*+g[b+436>>2];i=c[d+28>>2]|0;g[i+(j*3<<2)>>2]=A*((z*D+y*C+x*B)*+g[b+460>>2]+(D*f+C*m+B*n)*+g[b+464>>2]+(D*p+C*u+B*e)*+g[b+468>>2]);g[i+(j<<2<<2)>>2]=A*((z*o+y*t+x*v)*+g[b+460>>2]+(o*f+t*m+v*n)*+g[b+464>>2]+(o*p+t*u+v*e)*+g[b+468>>2]);k=c[d+36>>2]|0;g[k+(j*3<<2)>>2]=-3402823466385288598117041.0e14;h=c[d+40>>2]|0;g[h+(j*3<<2)>>2]=3402823466385288598117041.0e14;g[k+(j<<2<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14;l=j<<2;j=c[d+24>>2]|0}else{D=+g[b+436>>2];B=D*+g[b+460>>2]*D;C=D*D*+g[b+464>>2];D=D*D*+g[b+468>>2];g[k+(j*3<<2)>>2]=B;g[k+((j*3|0)+1<<2)>>2]=C;g[k+((j*3|0)+2<<2)>>2]=D;g[l+(j*3<<2)>>2]=-B;g[l+((j*3|0)+1<<2)>>2]=-C;g[l+((j*3|0)+2<<2)>>2]=-D;g[i+(j*3<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+504>>2];if(q&4|0)c[(c[d+32>>2]|0)+(j*3<<2)>>2]=c[b+604>>2];g[s+(j*3<<2)>>2]=0.0;if((a[b+552>>0]|0)!=0?(e=+g[b+572>>2],e>=0.0):0){l=j*3|0;k=s}else{e=3402823466385288598117041.0e14;l=j*3|0;k=s}}g[h+(l<<2)>>2]=e;l=j+l|0;j=k}if(!(a[b+525>>0]|0))return;D=+g[b+436>>2];B=D*+g[b+476>>2]*D;C=D*D*+g[b+480>>2];D=D*D*+g[b+484>>2];q=c[d+12>>2]|0;s=c[d+20>>2]|0;g[q+(l<<2)>>2]=B;r=l+1|0;g[q+(r<<2)>>2]=C;w=l+2|0;g[q+(w<<2)>>2]=D;g[s+(l<<2)>>2]=-B;g[s+(r<<2)>>2]=-C;g[s+(w<<2)>>2]=-D;g[i+(l<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+508>>2];if(c[b+592>>2]&4|0)c[(c[d+32>>2]|0)+(l<<2)>>2]=c[b+604>>2];if(+g[b+452>>2]>0.0){w=+g[b+508>>2]>0.0;e=w?0.0:-3402823466385288598117041.0e14;f=w?3402823466385288598117041.0e14:0.0}else{e=-3402823466385288598117041.0e14;f=3402823466385288598117041.0e14}g[j+(l<<2)>>2]=e;g[h+(l<<2)>>2]=f;return}function od(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0;if((j|0)<2|(k|0)<2){m=0;return m|0}r=P(k,j)|0;c[6995]=(c[6995]|0)+1;b=sc(r>>>0>268435455?18:(r<<4|3)+16|0)|0;if(!b)p=0;else{c[(b+4+15&-16)+-4>>2]=b;p=b+4+15&-16}q=$I(r>>>0>1073741823?-1:r<<2)|0;if((k|0)>0?(j|0)>0:0){b=0;do{A=+(b|0)/+(k+-1|0);u=+g[e>>2];u=u+A*(+g[h>>2]-u);v=+g[e+4>>2];v=v+A*(+g[h+4>>2]-v);w=+g[e+8>>2];w=w+A*(+g[h+8>>2]-w);x=+g[f>>2];y=+g[f+4>>2];z=+g[f+8>>2];x=x+A*(+g[i>>2]-x)-u;y=y+A*(+g[i+4>>2]-y)-v;z=z+A*(+g[i+8>>2]-z)-w;o=P(b,j)|0;n=0;do{A=+(n|0)/+(j+-1|0);t=n+o|0;g[p+(t<<4)>>2]=u+x*A;g[p+(t<<4)+4>>2]=v+y*A;g[p+(t<<4)+8>>2]=w+z*A;g[p+(t<<4)+12>>2]=0.0;g[q+(t<<2)>>2]=1.0;n=n+1|0}while((n|0)!=(j|0));b=b+1|0}while((b|0)!=(k|0))}c[6995]=(c[6995]|0)+1;b=sc(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}Bc(b,d,r,p,q);if(l&1|0){g[(c[b+780>>2]|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&2|0){g[(c[b+780>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&4|0){t=P(k+-1|0,j)|0;g[(c[b+780>>2]|0)+(t*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(l&8|0){t=j+-1+(P(k+-1|0,j)|0)|0;g[(c[b+780>>2]|0)+(t*104|0)+88>>2]=0.0;a[b+984>>0]=1}if(p|0){c[6996]=(c[6996]|0)+1;Cd(c[p+-4>>2]|0)}aJ(q);if((k|0)<=0){m=b;return m|0}r=b+780|0;d=b+792|0;l=b+800|0;s=b+984|0;i=0;do{p=i;i=i+1|0;a:do if((j|0)>0){t=P(p,j)|0;e=P(i,j)|0;if((i|0)<(k|0))n=0;else{n=0;while(1){o=n;n=n+1|0;if((n|0)<(j|0)){q=n+t|0;e=c[r>>2]|0;Xh(b,0);h=(c[d>>2]|0)+-1|0;f=c[l>>2]|0;c[f+(h*52|0)+24>>2]=e+((o+t|0)*104|0);c[f+(h*52|0)+28>>2]=e+(q*104|0);y=+g[e+((o+t|0)*104|0)+8>>2]-+g[e+(q*104|0)+8>>2];z=+g[e+((o+t|0)*104|0)+12>>2]-+g[e+(q*104|0)+12>>2];A=+g[e+((o+t|0)*104|0)+16>>2]-+g[e+(q*104|0)+16>>2];g[f+(h*52|0)+32>>2]=+D(+(y*y+z*z+A*A));a[s>>0]=1}if((n|0)==(j|0))break a}}do{q=n+t|0;o=n;n=n+1|0;do if((n|0)<(j|0)){f=n+t|0;B=c[r>>2]|0;Xh(b,0);C=(c[d>>2]|0)+-1|0;h=c[l>>2]|0;c[h+(C*52|0)+24>>2]=B+(q*104|0);c[h+(C*52|0)+28>>2]=B+(f*104|0);A=+g[B+(q*104|0)+8>>2]-+g[B+(f*104|0)+8>>2];z=+g[B+(q*104|0)+12>>2]-+g[B+(f*104|0)+12>>2];y=+g[B+(q*104|0)+16>>2]-+g[B+(f*104|0)+16>>2];g[h+(C*52|0)+32>>2]=+D(+(A*A+z*z+y*y));a[s>>0]=1;C=c[r>>2]|0;Xh(b,0);h=(c[d>>2]|0)+-1|0;B=c[l>>2]|0;c[B+(h*52|0)+24>>2]=C+(q*104|0);c[B+(h*52|0)+28>>2]=C+((o+e|0)*104|0);y=+g[C+(q*104|0)+8>>2]-+g[C+((o+e|0)*104|0)+8>>2];z=+g[C+(q*104|0)+12>>2]-+g[C+((o+e|0)*104|0)+12>>2];A=+g[C+(q*104|0)+16>>2]-+g[C+((o+e|0)*104|0)+16>>2];g[B+(h*52|0)+32>>2]=+D(+(y*y+z*z+A*A));a[s>>0]=1;if(!(o+p&1)){bg(b,o+e|0,q,f,0);bg(b,o+e|0,f,n+e|0,0);if(!m)break;h=c[r>>2]|0;Xh(b,0);C=(c[d>>2]|0)+-1|0;B=c[l>>2]|0;c[B+(C*52|0)+24>>2]=h+(f*104|0);c[B+(C*52|0)+28>>2]=h+((o+e|0)*104|0);y=+g[h+(f*104|0)+8>>2]-+g[h+((o+e|0)*104|0)+8>>2];z=+g[h+(f*104|0)+12>>2]-+g[h+((o+e|0)*104|0)+12>>2];A=+g[h+(f*104|0)+16>>2]-+g[h+((o+e|0)*104|0)+16>>2];g[B+(C*52|0)+32>>2]=+D(+(y*y+z*z+A*A));a[s>>0]=1;break}else{h=n+e|0;bg(b,q,f,h,0);bg(b,q,h,o+e|0,0);if(!m)break;f=c[r>>2]|0;Xh(b,0);C=(c[d>>2]|0)+-1|0;B=c[l>>2]|0;c[B+(C*52|0)+24>>2]=f+(q*104|0);c[B+(C*52|0)+28>>2]=f+(h*104|0);y=+g[f+(q*104|0)+8>>2]-+g[f+(h*104|0)+8>>2];z=+g[f+(q*104|0)+12>>2]-+g[f+(h*104|0)+12>>2];A=+g[f+(q*104|0)+16>>2]-+g[f+(h*104|0)+16>>2];g[B+(C*52|0)+32>>2]=+D(+(y*y+z*z+A*A));a[s>>0]=1;break}}else{h=c[r>>2]|0;Xh(b,0);C=(c[d>>2]|0)+-1|0;B=c[l>>2]|0;c[B+(C*52|0)+24>>2]=h+(q*104|0);c[B+(C*52|0)+28>>2]=h+((o+e|0)*104|0);y=+g[h+(q*104|0)+8>>2]-+g[h+((o+e|0)*104|0)+8>>2];z=+g[h+(q*104|0)+12>>2]-+g[h+((o+e|0)*104|0)+12>>2];A=+g[h+(q*104|0)+16>>2]-+g[h+((o+e|0)*104|0)+16>>2];g[B+(C*52|0)+32>>2]=+D(+(y*y+z*z+A*A));a[s>>0]=1}while(0)}while((n|0)!=(j|0))}while(0)}while((i|0)!=(k|0));return b|0}function pd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0;B=l;l=l+272|0;c[B+128>>2]=c[d>>2];c[B+128+4>>2]=c[d+4>>2];c[B+128+8>>2]=c[d+8>>2];c[B+128+12>>2]=c[d+12>>2];c[B+128+16>>2]=c[d+16>>2];c[B+128+16+4>>2]=c[d+16+4>>2];c[B+128+16+8>>2]=c[d+16+8>>2];c[B+128+16+12>>2]=c[d+16+12>>2];c[B+128+32>>2]=c[d+32>>2];c[B+128+32+4>>2]=c[d+32+4>>2];c[B+128+32+8>>2]=c[d+32+8>>2];c[B+128+32+12>>2]=c[d+32+12>>2];c[B+128+48>>2]=c[d+48>>2];c[B+128+48+4>>2]=c[d+48+4>>2];c[B+128+48+8>>2]=c[d+48+8>>2];c[B+128+48+12>>2]=c[d+48+12>>2];c[B+64>>2]=c[e>>2];c[B+64+4>>2]=c[e+4>>2];c[B+64+8>>2]=c[e+8>>2];c[B+64+12>>2]=c[e+12>>2];c[B+64+16>>2]=c[e+16>>2];c[B+64+16+4>>2]=c[e+16+4>>2];c[B+64+16+8>>2]=c[e+16+8>>2];c[B+64+16+12>>2]=c[e+16+12>>2];c[B+64+32>>2]=c[e+32>>2];c[B+64+32+4>>2]=c[e+32+4>>2];c[B+64+32+8>>2]=c[e+32+8>>2];c[B+64+32+12>>2]=c[e+32+12>>2];c[B+64+48>>2]=c[e+48>>2];c[B+64+48+4>>2]=c[e+48+4>>2];c[B+64+48+8>>2]=c[e+48+8>>2];c[B+64+48+12>>2]=c[e+48+12>>2];i=+g[B+64+52>>2]-+g[B+128+52>>2];G=+g[B+64+56>>2]-+g[B+128+56>>2];g[B+16>>2]=+g[B+64+48>>2]-+g[B+128+48>>2];g[B+16+4>>2]=i;g[B+16+8>>2]=G;g[B+16+12>>2]=0.0;If(B+128|0,B+64|0,B+208|0,B+192|0);G=+g[B+192>>2];i=G*+g[B+208+4>>2];D=G*+g[B+208+8>>2];g[B>>2]=+g[B+208>>2]*G;g[B+4>>2]=i;g[B+8>>2]=D;g[B+12>>2]=0.0;c[B+208+48>>2]=0;c[B+208+48+4>>2]=0;c[B+208+48+8>>2]=0;c[B+208+48+12>>2]=0;yh(B+128|0,B+192|0);D=+g[B+192>>2];i=+g[B+192+4>>2];G=+g[B+192+8>>2];E=+g[B+192+12>>2];C=D*(2.0/(D*D+i*i+G*G+E*E));j=i*(2.0/(D*D+i*i+G*G+E*E));F=G*(2.0/(D*D+i*i+G*G+E*E));g[B+208>>2]=1.0-(i*j+G*F);g[B+208+4>>2]=D*j-E*F;g[B+208+8>>2]=D*F+E*j;g[B+208+12>>2]=0.0;g[B+208+16>>2]=D*j+E*F;g[B+208+20>>2]=1.0-(D*C+G*F);g[B+208+24>>2]=i*F-E*C;g[B+208+28>>2]=0.0;g[B+208+32>>2]=D*F-E*j;g[B+208+36>>2]=i*F+E*C;g[B+208+40>>2]=1.0-(D*C+i*j);g[B+208+44>>2]=0.0;kh(b,B+208|0,B+16|0,B,B+48|0,B+32|0);if((c[a+328>>2]|0)<=0){l=B;return}k=0;do{m=c[(c[a+336>>2]|0)+(k<<2)>>2]|0;if(zb[c[(c[f>>2]|0)+8>>2]&31](f,c[m+188>>2]|0)|0?(z=c[m+192>>2]|0,Vb[c[(c[z>>2]|0)+8>>2]&127](z,m+4|0,B+192|0,B+16|0),n=+g[B+192>>2]+ +g[B+48>>2],o=+g[B+192+4>>2]+ +g[B+48+4>>2],p=+g[B+192+8>>2]+ +g[B+48+8>>2],g[B+192>>2]=n,g[B+192+4>>2]=o,g[B+192+8>>2]=p,g[B+192+12>>2]=0.0,q=+g[B+16>>2]+ +g[B+32>>2],r=+g[B+16+4>>2]+ +g[B+32+4>>2],s=+g[B+16+8>>2]+ +g[B+32+8>>2],g[B+16>>2]=q,g[B+16+4>>2]=r,g[B+16+8>>2]=s,g[B+16+12>>2]=0.0,t=+g[d+48>>2]-(q+n)*.5,u=+g[d+52>>2]-(r+o)*.5,v=+g[d+56>>2]-(s+p)*.5,w=+g[e+48>>2]-(q+n)*.5,x=+g[e+52>>2]-(r+o)*.5,y=+g[e+56>>2]-(s+p)*.5,z=t<-((q-n)*.5)|(t>(q-n)*.5?8:0)|(u<-((r-o)*.5)?2:0)|(u>(r-o)*.5?16:0)|(v<-((s-p)*.5)?4:0)|(v>(s-p)*.5?32:0),A=w<-((q-n)*.5)|(w>(q-n)*.5?8:0)|(x<-((r-o)*.5)?2:0)|(x>(r-o)*.5?16:0)|(y<-((s-p)*.5)?4:0)|(y>(s-p)*.5?32:0),(z&A|0)==0):0){if(t<-((q-n)*.5))if(!((-t-(q-n)*.5)/(w-t)>=0.0)){i=0.0;j=1.0}else{i=(-t-(q-n)*.5)/(w-t);j=1.0}else if(w<-((q-n)*.5)?(-t-(q-n)*.5)/(w-t)<1.0:0){i=0.0;j=(-t-(q-n)*.5)/(w-t)}else{i=0.0;j=1.0}if(u<-((r-o)*.5)){if(i<=(-u-(r-o)*.5)/(x-u))i=(-u-(r-o)*.5)/(x-u)}else if(x<-((r-o)*.5)?(-u-(r-o)*.5)/(x-u)<j:0)j=(-u-(r-o)*.5)/(x-u);if(v<-((s-p)*.5)){if(i<=(-v-(s-p)*.5)/(y-v))i=(-v-(s-p)*.5)/(y-v)}else if(y<-((s-p)*.5)?(-v-(s-p)*.5)/(y-v)<j:0)j=(-v-(s-p)*.5)/(y-v);if(t>(q-n)*.5){if(i<=((q-n)*.5-t)/(w-t))i=((q-n)*.5-t)/(w-t)}else if(w>(q-n)*.5?((q-n)*.5-t)/(w-t)<j:0)j=((q-n)*.5-t)/(w-t);if(u>(r-o)*.5){if(i<=((r-o)*.5-u)/(x-u))i=((r-o)*.5-u)/(x-u)}else if(x>(r-o)*.5?((r-o)*.5-u)/(x-u)<j:0)j=((r-o)*.5-u)/(x-u);if(!(z&32)){if((A&32|0)!=0?((s-p)*.5-v)/(y-v)<j:0)j=((s-p)*.5-v)/(y-v)}else if(i<=((s-p)*.5-v)/(y-v))i=((s-p)*.5-v)/(y-v);if(i<=j){H=c[m+192>>2]|0;c[B+208>>2]=0;c[B+208+4>>2]=H;c[B+208+8>>2]=m;c[B+208+12>>2]=m+4;c[B+208+16>>2]=-1;c[B+208+20>>2]=-1;vc(b,B+128|0,B+64|0,B+208|0,f,h)}}k=k+1|0}while((k|0)<(c[a+328>>2]|0));l=B;return}function qd(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;h=c[b+48>>2]|0;r=c[b+28>>2]|0;s=c[b+68>>2]|0;if(c[l+72>>2]&1|0){if((h|0)>0){i=c[b+136>>2]|0;f=0;q=c[b+232>>2]|0;do{m=i+(f<<2)|0;p=c[m>>2]|0;f=f+1|0;q=(P(q,1664525)|0)+1013904223|0;if(f>>>0<65537){e=q>>>16^q;if(f>>>0<257)if(f>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);e=f>>>0<5?(f>>>0<3?(e>>>2^e)>>>1:0)^(e>>>2^e):e}else e=e>>>8^e}else e=q;e=i+(((e>>>0)%(f>>>0)|0)<<2)|0;c[m>>2]=c[e>>2];c[e>>2]=p}while((f|0)!=(h|0));c[b+232>>2]=q}if((c[l+20>>2]|0)>(d|0)){if((r|0)>0){h=c[b+116>>2]|0;f=0;p=c[b+232>>2]|0;do{i=h+(f<<2)|0;m=c[i>>2]|0;f=f+1|0;p=(P(p,1664525)|0)+1013904223|0;if(f>>>0<65537){e=p>>>16^p;if(f>>>0<257)if(f>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);e=f>>>0<5?(f>>>0<3?(e>>>2^e)>>>1:0)^(e>>>2^e):e}else e=e>>>8^e}else e=p;q=h+(((e>>>0)%(f>>>0)|0)<<2)|0;c[i>>2]=c[q>>2];c[q>>2]=m}while((f|0)!=(r|0));c[b+232>>2]=p}if((s|0)>0){h=c[b+156>>2]|0;f=0;p=c[b+232>>2]|0;do{i=h+(f<<2)|0;m=c[i>>2]|0;f=f+1|0;p=(P(p,1664525)|0)+1013904223|0;if(f>>>0<65537){e=p>>>16^p;if(f>>>0<257)if(f>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);e=f>>>0<5?(f>>>0<3?(e>>>2^e)>>>1:0)^(e>>>2^e):e}else e=e>>>8^e}else e=p;r=h+(((e>>>0)%(f>>>0)|0)<<2)|0;c[i>>2]=c[r>>2];c[r>>2]=m}while((f|0)!=(s|0));c[b+232>>2]=p}}}e=c[b+48>>2]|0;if((e|0)>0){i=0;n=0.0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;o=+qb[c[b+212>>2]&31](e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);n=n+o*o;e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}else n=0.0;if((c[l+20>>2]|0)<=(d|0)){o=n;return +o}if((k|0)>0){e=0;do{f=j+(e<<2)|0;h=c[f>>2]|0;if(a[h+20>>0]|0){r=Rj(b,c[h+28>>2]|0,+g[l+12>>2])|0;d=Rj(b,c[(c[f>>2]|0)+32>>2]|0,+g[l+12>>2])|0;s=c[b+16>>2]|0;q=c[f>>2]|0;Tb[c[(c[q>>2]|0)+24>>2]&15](q,s+(r*244|0)|0,s+(d*244|0)|0,+g[l+12>>2])}e=e+1|0}while((e|0)!=(k|0))}m=c[l+72>>2]|0;p=c[b+28>>2]|0;if(!(m&512)){if((p|0)>0){e=0;do{l=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;u=c[b+36>>2]|0;t=c[b+16>>2]|0;o=+qb[c[b+216>>2]&31](t+((c[u+(l*152|0)+144>>2]|0)*244|0)|0,t+((c[u+(l*152|0)+148>>2]|0)*244|0)|0,u+(l*152|0)|0);n=n+o*o;e=e+1|0}while((e|0)!=(p|0))}i=c[b+68>>2]|0;if((i|0)>0){h=0;do{e=c[(c[b+156>>2]|0)+(h<<2)>>2]|0;f=c[b+76>>2]|0;o=+g[(c[b+36>>2]|0)+((c[f+(e*152|0)+140>>2]|0)*152|0)+100>>2];if(o>0.0){o=o*+g[f+(e*152|0)+104>>2];g[f+(e*152|0)+120>>2]=-o;g[f+(e*152|0)+124>>2]=o;l=c[b+16>>2]|0;o=+qb[c[b+212>>2]&31](l+((c[f+(e*152|0)+144>>2]|0)*244|0)|0,l+((c[f+(e*152|0)+148>>2]|0)*244|0)|0,f+(e*152|0)|0);n=n+o*o}h=h+1|0}while((h|0)!=(i|0))}}else if((p|0)>0){i=0;do{h=c[(c[b+116>>2]|0)+(i<<2)>>2]|0;e=c[b+36>>2]|0;f=c[b+16>>2]|0;o=+qb[c[b+216>>2]&31](f+((c[e+(h*152|0)+144>>2]|0)*244|0)|0,f+((c[e+(h*152|0)+148>>2]|0)*244|0)|0,e+(h*152|0)|0);n=n+o*o;o=+g[e+(h*152|0)+100>>2];h=P(i,(m>>>4&1)+1|0)|0;e=c[(c[b+156>>2]|0)+(h<<2)>>2]|0;f=c[b+76>>2]|0;if(o>0.0){v=o*+g[f+(e*152|0)+104>>2];g[f+(e*152|0)+120>>2]=-v;g[f+(e*152|0)+124>>2]=v;k=c[b+16>>2]|0;v=+qb[c[b+212>>2]&31](k+((c[f+(e*152|0)+144>>2]|0)*244|0)|0,k+((c[f+(e*152|0)+148>>2]|0)*244|0)|0,f+(e*152|0)|0);n=n+v*v}if((c[l+72>>2]&16|0)!=0?(t=c[(c[b+156>>2]|0)+(h+1<<2)>>2]|0,u=c[b+76>>2]|0,o>0.0):0){v=o*+g[u+(t*152|0)+104>>2];g[u+(t*152|0)+120>>2]=-v;g[u+(t*152|0)+124>>2]=v;k=c[b+16>>2]|0;v=+qb[c[b+212>>2]&31](k+((c[u+(t*152|0)+144>>2]|0)*244|0)|0,k+((c[u+(t*152|0)+148>>2]|0)*244|0)|0,u+(t*152|0)|0);n=n+v*v}i=i+1|0}while((i|0)!=(p|0))}h=c[b+88>>2]|0;if((h|0)<=0){v=n;return +v}f=0;do{e=c[b+96>>2]|0;o=+g[(c[b+36>>2]|0)+((c[e+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(o>0.0){v=+g[e+(f*152|0)+104>>2];v=o*v>v?v:o*v;g[e+(f*152|0)+120>>2]=-v;g[e+(f*152|0)+124>>2]=v;l=c[b+16>>2]|0;v=+qb[c[b+212>>2]&31](l+((c[e+(f*152|0)+144>>2]|0)*244|0)|0,l+((c[e+(f*152|0)+148>>2]|0)*244|0)|0,e+(f*152|0)|0);n=n+v*v}f=f+1|0}while((f|0)!=(h|0));return +n}function rd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=3356;d=c[b+192>>2]|0;if(d|0)Ib[c[(c[d>>2]|0)+4>>2]&511](d);if((c[b+1112>>2]|0)>0)do{g=c[c[b+1120>>2]>>2]|0;d=c[g+348>>2]|0;if(d|0){Ag(b+1068|0,d)|0;e=c[b+1072>>2]|0;if(e|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+1072>>2]=d;c[b+1080>>2]=(c[b+1080>>2]|0)+-1}d=c[g+52>>2]|0;if(d|0){if(a[g+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[g+52>>2]=0}a[g+56>>0]=1;c[g+52>>2]=0;c[g+44>>2]=0;c[g+48>>2]=0;d=c[g+32>>2]|0;if(d|0){if(a[g+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[g+32>>2]=0}a[g+36>>0]=1;c[g+32>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;d=c[g+12>>2]|0;if(d|0){if(a[g+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[g+12>>2]=0}a[g+16>>0]=1;c[g+12>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0);d=c[b+1112>>2]|0;a:do if((d|0)>0){f=c[b+1120>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(g|0))break a;e=e+1|0;if((e|0)>=(d|0)){e=d;break}}}else e=d;while(0);if((d|0)>(e|0)){h=c[b+1120>>2]|0;f=h+(e<<2)|0;g=c[f>>2]|0;c[f>>2]=c[h+(d+-1<<2)>>2];c[(c[b+1120>>2]|0)+(d+-1<<2)>>2]=g;c[b+1112>>2]=d+-1;d=d+-1|0}}while((d|0)>0);d=c[b+932>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+940>>2]|0)+(f<<2)>>2]|0;if(e){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);d=c[b+932>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+912>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+920>>2]|0)+(f<<2)>>2]|0;if(e){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);d=c[b+912>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+1244>>2]|0;if(d|0){if(a[b+1248>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+1244>>2]=0}a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;d=c[b+1140>>2]|0;if(d|0){if(a[b+1144>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+1140>>2]=0}a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;d=c[b+1120>>2]|0;if(d|0){if(a[b+1124>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;Bl(b+1068|0);Bl(b+1028|0);Bl(b+988|0);d=c[b+940>>2]|0;if(d|0){if(a[b+944>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+940>>2]=0}a[b+944>>0]=1;c[b+940>>2]=0;c[b+932>>2]=0;c[b+936>>2]=0;d=c[b+920>>2]|0;if(d|0){if(a[b+924>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+920>>2]=0}a[b+924>>0]=1;c[b+920>>2]=0;c[b+912>>2]=0;c[b+916>>2]=0;d=c[b+900>>2]|0;if(d|0){if(a[b+904>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+900>>2]=0}a[b+904>>0]=1;c[b+900>>2]=0;c[b+892>>2]=0;c[b+896>>2]=0;d=c[b+880>>2]|0;if(d|0){if(a[b+884>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;d=c[b+860>>2]|0;if(d|0){if(a[b+864>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+860>>2]=0}a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;d=c[b+840>>2]|0;if(d|0){if(a[b+844>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+840>>2]=0}a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;d=c[b+820>>2]|0;if(d|0){if(a[b+824>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+820>>2]=0}a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;d=c[b+800>>2]|0;if(d|0){if(a[b+804>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;d=c[b+780>>2]|0;if(d|0){if(a[b+784>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;d=c[b+760>>2]|0;if(d|0){if(a[b+764>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;d=c[b+572>>2]|0;if(d|0){if(a[b+576>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+572>>2]=0}a[b+576>>0]=1;c[b+572>>2]=0;c[b+564>>2]=0;c[b+568>>2]=0;d=c[b+552>>2]|0;if(d|0){if(a[b+556>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+552>>2]=0}a[b+556>>0]=1;c[b+552>>2]=0;c[b+544>>2]=0;c[b+548>>2]=0;Ju(b+348|0);d=c[b+336>>2]|0;if(d|0){if(a[b+340>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b>>2]=5320;d=c[b+296>>2]|0;if(!d){a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;h=b+292|0;c[h>>2]=0;return}if(a[b+300>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+296>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;h=b+292|0;c[h>>2]=0;return}function sd(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=l;l=l+16|0;i=c[a+372>>2]|0;a:do switch(c[i+32>>2]|0){case 1:{b=0;d=1;while(1){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[n+(b<<2)>>2]=1.0;o=i+32|0;g[i+16+(d<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;c[i+(c[o>>2]<<2)>>2]=c[a+348+(d<<2)>>2];d=c[o>>2]|0;c[o>>2]=d+1;e=+g[n>>2];f=+g[n+4>>2];h=+g[n+8>>2];Fh(a,e,f,h,c[i+(d<<2)>>2]|0);if(sd(a)|0)break;i=c[a+372>>2]|0;o=(c[i+32>>2]|0)+-1|0;c[i+32>>2]=o;o=c[i+(o<<2)>>2]|0;i=c[a+364>>2]|0;c[a+364>>2]=i+1;c[a+348+(i<<2)>>2]=o;i=c[a+372>>2]|0;g[i+16+(c[i+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[i+(c[i+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[i+32>>2]|0;c[i+32>>2]=o+1;Fh(a,-e,-f,-h,c[i+(o<<2)>>2]|0);if(sd(a)|0)break;o=c[a+372>>2]|0;i=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=i;i=c[o+(i<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=i;b=b+1|0;if(b>>>0>=3)break a;d=c[a+372>>2]|0;i=d;d=c[d+32>>2]|0}o=1;l=n;return o|0}case 2:{o=c[i+4>>2]|0;b=c[i>>2]|0;e=+g[o+16>>2]-+g[b+16>>2];f=+g[o+20>>2]-+g[b+20>>2];h=+g[o+24>>2]-+g[b+24>>2];b=0;while(1){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[n+(b<<2)>>2]=1.0;j=+g[n+8>>2];k=+g[n+4>>2];m=+g[n>>2];if((f*j-h*k)*(f*j-h*k)+(h*m-e*j)*(h*m-e*j)+(e*k-f*m)*(e*k-f*m)>0.0){i=c[a+372>>2]|0;g[i+16+(c[i+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[i+(c[i+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[i+32>>2]|0;c[i+32>>2]=o+1;Fh(a,f*j-h*k,h*m-e*j,e*k-f*m,c[i+(o<<2)>>2]|0);if(sd(a)|0)break;i=c[a+372>>2]|0;o=(c[i+32>>2]|0)+-1|0;c[i+32>>2]=o;o=c[i+(o<<2)>>2]|0;i=c[a+364>>2]|0;c[a+364>>2]=i+1;c[a+348+(i<<2)>>2]=o;i=c[a+372>>2]|0;g[i+16+(c[i+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[i+(c[i+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[i+32>>2]|0;c[i+32>>2]=o+1;Fh(a,-(f*j-h*k),-(h*m-e*j),-(e*k-f*m),c[i+(o<<2)>>2]|0);if(sd(a)|0)break;o=c[a+372>>2]|0;i=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=i;i=c[o+(i<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=i}b=b+1|0;if(b>>>0>=3)break a}o=1;l=n;return o|0}case 3:{o=c[i+4>>2]|0;d=c[i>>2]|0;j=+g[d+16>>2];e=+g[o+16>>2]-j;k=+g[d+20>>2];f=+g[o+20>>2]-k;m=+g[d+24>>2];h=+g[o+24>>2]-m;o=c[i+8>>2]|0;j=+g[o+16>>2]-j;k=+g[o+20>>2]-k;m=+g[o+24>>2]-m;if((f*m-h*k)*(f*m-h*k)+(h*j-e*m)*(h*j-e*m)+(e*k-f*j)*(e*k-f*j)>0.0){g[i+28>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[i+12>>2]=c[a+348+(o<<2)>>2];o=c[i+32>>2]|0;c[i+32>>2]=o+1;Fh(a,f*m-h*k,h*j-e*m,e*k-f*j,c[i+(o<<2)>>2]|0);if(sd(a)|0){o=1;l=n;return o|0}i=c[a+372>>2]|0;o=(c[i+32>>2]|0)+-1|0;c[i+32>>2]=o;o=c[i+(o<<2)>>2]|0;i=c[a+364>>2]|0;c[a+364>>2]=i+1;c[a+348+(i<<2)>>2]=o;i=c[a+372>>2]|0;g[i+16+(c[i+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[i+(c[i+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[i+32>>2]|0;c[i+32>>2]=o+1;Fh(a,-(f*m-h*k),-(h*j-e*m),-(e*k-f*j),c[i+(o<<2)>>2]|0);if(sd(a)|0){o=1;l=n;return o|0}else{o=c[a+372>>2]|0;i=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=i;i=c[o+(i<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=i;break a}}break}case 4:{o=c[i>>2]|0;a=c[i+12>>2]|0;m=+g[a+16>>2];r=+g[o+16>>2]-m;p=+g[a+20>>2];e=+g[o+20>>2]-p;h=+g[a+24>>2];j=+g[o+24>>2]-h;o=c[i+4>>2]|0;f=+g[o+16>>2]-m;k=+g[o+20>>2]-p;q=+g[o+24>>2]-h;o=c[i+8>>2]|0;m=+g[o+16>>2]-m;p=+g[o+20>>2]-p;h=+g[o+24>>2]-h;if(!((0.0!=0.0?1:r*k*h+(e*q*m+j*f*p-r*q*p-e*f*h)-j*k*m!=r*k*h+(e*q*m+j*f*p-r*q*p-e*f*h)-j*k*m)|r*k*h+(e*q*m+j*f*p-r*q*p-e*f*h)-j*k*m==0.0)){o=1;l=n;return o|0}break}default:{}}while(0);o=0;l=n;return o|0}function td(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0,Z=0;Z=c[d+36>>2]|0;X=c[e+36>>2]|0;L=+g[Z+8>>2];N=+g[Z+12>>2];M=+g[Z+16>>2];h=c[X+8>>2]|0;R=+g[h+8>>2];S=+g[h+12>>2];T=+g[h+16>>2];d=c[X+12>>2]|0;O=+g[d+8>>2];P=+g[d+12>>2];Q=+g[d+16>>2];e=c[X+16>>2]|0;U=+g[e+8>>2];V=+g[e+12>>2];W=+g[e+16>>2];t=O-L-(R-L);A=P-N-(S-N);v=Q-M-(T-M);u=A*(W-M-(T-M))-v*(V-N-(S-N));B=v*(U-L-(R-L))-t*(W-M-(T-M));w=t*(V-N-(S-N))-A*(U-L-(R-L));do if(w*w+(u*u+B*B)>1.1920928955078125e-07?(E=1.0/+D(+(w*w+(u*u+B*B))),F=(T-M)*w*E+((R-L)*u*E+(S-N)*B*E),F*F<3402823466385288598117041.0e14):0){f=R-L-u*E*F;k=S-N-B*E*F;n=T-M-w*E*F;p=O-L-u*E*F;r=P-N-B*E*F;s=Q-M-w*E*F;if((w*(r*f-k*p)+(u*(k*s-n*r)+B*(n*p-s*f))>0.0?(x=U-L-u*E*F,y=V-N-B*E*F,z=W-M-w*E*F,w*(y*p-r*x)+(u*(r*z-s*y)+B*(s*x-z*p))>0.0):0)?w*(k*x-y*f)+(u*(y*n-z*k)+B*(z*f-n*x))>0.0:0){q=F*F;p=u*E*F;n=w*E*F;m=B*E*F;break}if(t*t+A*A+v*v>1.1920928955078125e-07?(C=-((R-L)*t+(S-N)*A+(T-M)*v)/(t*t+A*A+v*v),C=C<0.0?0.0:C>1.0?1.0:C,q=(T-M+v*C)*(T-M+v*C)+((R-L+t*C)*(R-L+t*C)+(S-N+A*C)*(S-N+A*C)),q<3402823466385288598117041.0e14):0){p=R-L+t*C;n=T-M+v*C;k=S-N+A*C}else{q=3402823466385288598117041.0e14;p=0.0;n=0.0;k=0.0}f=(U-L-(O-L))*(U-L-(O-L))+(V-N-(P-N))*(V-N-(P-N))+(W-M-(Q-M))*(W-M-(Q-M));if(f>1.1920928955078125e-07?(H=-((O-L)*(U-L-(O-L))+(P-N)*(V-N-(P-N))+(Q-M)*(W-M-(Q-M)))/f,H=H<0.0?0.0:H>1.0?1.0:H,G=O-L+(U-L-(O-L))*H,I=P-N+(V-N-(P-N))*H,H=Q-M+(W-M-(Q-M))*H,H*H+(G*G+I*I)<q):0){q=H*H+(G*G+I*I);p=G;n=H;k=I}f=(R-L-(U-L))*(R-L-(U-L))+(S-N-(V-N))*(S-N-(V-N))+(T-M-(W-M))*(T-M-(W-M));if(f>1.1920928955078125e-07?(K=-((U-L)*(R-L-(U-L))+(V-N)*(S-N-(V-N))+(W-M)*(T-M-(W-M)))/f,K=K<0.0?0.0:K>1.0?1.0:K,J=U-L+(R-L-(U-L))*K,m=V-N+(S-N-(V-N))*K,K=W-M+(T-M-(W-M))*K,K*K+(J*J+m*m)<q):0){q=K*K+(J*J+m*m);p=J;n=K}else m=k}else{q=3402823466385288598117041.0e14;p=0.0;n=0.0;m=0.0}while(0);J=L-+g[Z+24>>2];K=N-+g[Z+28>>2];u=M-+g[Z+32>>2];u=+g[b+12>>2]+ +D(+(J*J+K*K+u*u))*2.0;if(!(q<u*u))return;r=L+p;f=N+m;k=M+n;t=+D(+(((R-r)*(P-f)-(S-f)*(O-r))*((R-r)*(P-f)-(S-f)*(O-r))+(((S-f)*(Q-k)-(T-k)*(P-f))*((S-f)*(Q-k)-(T-k)*(P-f))+((T-k)*(O-r)-(R-r)*(Q-k))*((T-k)*(O-r)-(R-r)*(Q-k)))));s=+D(+(((O-r)*(V-f)-(P-f)*(U-r))*((O-r)*(V-f)-(P-f)*(U-r))+(((P-f)*(W-k)-(Q-k)*(V-f))*((P-f)*(W-k)-(Q-k)*(V-f))+((Q-k)*(U-r)-(O-r)*(W-k))*((Q-k)*(U-r)-(O-r)*(W-k)))));r=+D(+(((S-f)*(U-r)-(R-r)*(V-f))*((S-f)*(U-r)-(R-r)*(V-f))+(((T-k)*(V-f)-(S-f)*(W-k))*((T-k)*(V-f)-(S-f)*(W-k))+((R-r)*(W-k)-(T-k)*(U-r))*((R-r)*(W-k)-(T-k)*(U-r)))));k=+g[Z+88>>2];V=+g[h+88>>2];W=+g[d+88>>2];f=+g[e+88>>2];f=!(V<=0.0)&!(W<=0.0)&!(f<=0.0)?V*s*(1.0/(t+s+r))+W*r*(1.0/(t+s+r))+t*(1.0/(t+s+r))*f:0.0;if(!(k+f>0.0))return;W=1.0/-+D(+q);q=p*W;p=m*W;n=n*W;o=c[b+4>>2]|0;d=c[b+8>>2]|0;l=c[(+g[o+376>>2]>+g[d+376>>2]?o+376|0:d+376|0)>>2]|0;m=k/(k+f)*+g[o+392>>2];f=f/(k+f)*+g[d+392>>2];d=c[o+892>>2]|0;if((d|0)==(c[o+896>>2]|0)?(Y=d|0?d<<1:1,(d|0)<(Y|0)):0){if(!Y)j=0;else{c[6995]=(c[6995]|0)+1;d=sc((Y*56|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;d=c[o+892>>2]|0}if((d|0)>0){e=0;do{h=j+(e*56|0)|0;b=(c[o+900>>2]|0)+(e*56|0)|0;i=h+56|0;do{c[h>>2]=c[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(i|0));e=e+1|0}while((e|0)!=(d|0))}d=c[o+900>>2]|0;if(d|0){if(a[o+904>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[o+900>>2]=0}a[o+904>>0]=1;c[o+900>>2]=j;c[o+896>>2]=Y;d=c[o+892>>2]|0}Y=c[o+900>>2]|0;c[Y+(d*56|0)>>2]=Z;c[Y+(d*56|0)+4>>2]=X;g[Y+(d*56|0)+8>>2]=s*(1.0/(t+s+r));g[Y+(d*56|0)+12>>2]=r*(1.0/(t+s+r));g[Y+(d*56|0)+16>>2]=t*(1.0/(t+s+r));g[Y+(d*56|0)+20>>2]=0.0;g[Y+(d*56|0)+24>>2]=q;g[Y+(d*56|0)+28>>2]=p;g[Y+(d*56|0)+32>>2]=n;g[Y+(d*56|0)+36>>2]=0.0;g[Y+(d*56|0)+40>>2]=u;c[Y+(d*56|0)+44>>2]=l;g[Y+(d*56|0)+48>>2]=m;g[Y+(d*56|0)+52>>2]=f;c[o+892>>2]=(c[o+892>>2]|0)+1;return}function ud(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;g[d+20>>2]=+h[e+32>>3];g[d+24>>2]=+h[e+40>>3];g[d+28>>2]=+h[e+48>>3];g[d+32>>2]=+h[e+56>>3];g[d+4>>2]=+h[e>>3];g[d+8>>2]=+h[e+8>>3];g[d+12>>2]=+h[e+16>>3];g[d+16>>2]=+h[e+24>>3];g[d+36>>2]=+h[e+64>>3];g[d+40>>2]=+h[e+72>>3];g[d+44>>2]=+h[e+80>>3];g[d+48>>2]=+h[e+88>>3];c[d+56>>2]=c[e+96>>2];a[d+60>>0]=(c[e+100>>2]|0)!=0&1;p=c[e+104>>2]|0;k=q;n=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));o=c[d+88>>2]|0;if((o|0)<(p|0)){if((c[d+92>>2]|0)<(p|0)){if(!p){f=0;j=o}else{c[6995]=(c[6995]|0)+1;f=sc(p<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+88>>2]|0}if((j|0)>0){i=0;do{k=f+(i<<6)|0;m=(c[d+96>>2]|0)+(i<<6)|0;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));i=i+1|0}while((i|0)!=(j|0))}i=c[d+96>>2]|0;if(i|0){if(a[d+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=p;i=d+96|0}else i=d+96|0;f=o;do{k=(c[i>>2]|0)+(f<<6)|0;m=q;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));f=f+1|0}while((f|0)!=(p|0))}c[d+88>>2]=p;if((p|0)>0){j=c[d+96>>2]|0;f=c[e+112>>2]|0;i=0;while(1){g[j+(i<<6)+16>>2]=+h[f+32>>3];g[j+(i<<6)+20>>2]=+h[f+40>>3];g[j+(i<<6)+24>>2]=+h[f+48>>3];g[j+(i<<6)+28>>2]=+h[f+56>>3];g[j+(i<<6)>>2]=+h[f>>3];g[j+(i<<6)+4>>2]=+h[f+8>>3];g[j+(i<<6)+8>>2]=+h[f+16>>3];g[j+(i<<6)+12>>2]=+h[f+24>>3];c[j+(i<<6)+32>>2]=c[f+64>>2];c[j+(i<<6)+36>>2]=c[f+68>>2];c[j+(i<<6)+40>>2]=c[f+72>>2];i=i+1|0;if((i|0)==(p|0))break;else f=f+80|0}}m=c[e+108>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;k=c[d+128>>2]|0;if((k|0)<(m|0)){if((c[d+132>>2]|0)<(m|0)){if(!m){f=0;j=k}else{c[6995]=(c[6995]|0)+1;f=sc((m<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+128>>2]|0}if((j|0)>0){i=0;do{p=f+(i<<4)|0;o=(c[d+136>>2]|0)+(i<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[d+136>>2]|0;if(i|0){if(a[d+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=m;i=d+136|0}else i=d+136|0;f=k;do{p=(c[i>>2]|0)+(f<<4)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+128>>2]=m;if((m|0)>0){j=c[d+136>>2]|0;f=0;i=c[e+116>>2]|0;while(1){c[j+(f<<4)+12>>2]=c[i+12>>2];b[j+(f<<4)+6>>1]=b[i+6>>1]|0;b[j+(f<<4)+8>>1]=b[i+8>>1]|0;b[j+(f<<4)+10>>1]=b[i+10>>1]|0;b[j+(f<<4)>>1]=b[i>>1]|0;b[j+(f<<4)+2>>1]=b[i+2>>1]|0;b[j+(f<<4)+4>>1]=b[i+4>>1]|0;f=f+1|0;if((f|0)==(m|0))break;else i=i+16|0}}c[d+144>>2]=c[e+120>>2];m=c[e+124>>2]|0;k=c[d+152>>2]|0;if((k|0)<(m|0)){if((c[d+156>>2]|0)<(m|0)){if(!m){f=0;j=k}else{c[6995]=(c[6995]|0)+1;f=sc(m<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+152>>2]|0}if((j|0)>0){i=0;do{p=f+(i<<5)|0;o=(c[d+160>>2]|0)+(i<<5)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[d+160>>2]|0;if(i|0){if(a[d+164>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=m;i=d+160|0}else i=d+160|0;f=k;do{p=(c[i>>2]|0)+(f<<5)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];c[p+16>>2]=c[q+16>>2];c[p+20>>2]=c[q+20>>2];c[p+24>>2]=c[q+24>>2];c[p+28>>2]=c[q+28>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+152>>2]=m;if((m|0)<=0){l=q;return}j=c[d+160>>2]|0;i=0;f=c[e+128>>2]|0;while(1){b[j+(i<<5)+6>>1]=b[f+14>>1]|0;b[j+(i<<5)+8>>1]=b[f+16>>1]|0;b[j+(i<<5)+10>>1]=b[f+18>>1]|0;b[j+(i<<5)>>1]=b[f+8>>1]|0;b[j+(i<<5)+2>>1]=b[f+10>>1]|0;b[j+(i<<5)+4>>1]=b[f+12>>1]|0;c[j+(i<<5)+12>>2]=c[f>>2];c[j+(i<<5)+16>>2]=c[f+4>>2];i=i+1|0;if((i|0)==(m|0))break;else f=f+20|0}l=q;return}function vd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;c[d+20>>2]=c[e+16>>2];c[d+24>>2]=c[e+20>>2];c[d+28>>2]=c[e+24>>2];c[d+32>>2]=c[e+28>>2];c[d+4>>2]=c[e>>2];c[d+8>>2]=c[e+4>>2];c[d+12>>2]=c[e+8>>2];c[d+16>>2]=c[e+12>>2];c[d+36>>2]=c[e+32>>2];c[d+40>>2]=c[e+36>>2];c[d+44>>2]=c[e+40>>2];c[d+48>>2]=c[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60>>0]=(c[e+52>>2]|0)!=0&1;n=c[e+56>>2]|0;i=o;k=i+64|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(k|0));m=c[d+88>>2]|0;if((m|0)<(n|0)){if((c[d+92>>2]|0)<(n|0)){if(!n){f=0;h=m}else{c[6995]=(c[6995]|0)+1;f=sc(n<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+88>>2]|0}if((h|0)>0){g=0;do{i=f+(g<<6)|0;j=(c[d+96>>2]|0)+(g<<6)|0;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));g=g+1|0}while((g|0)!=(h|0))}g=c[d+96>>2]|0;if(g|0){if(a[d+100>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=n;g=d+96|0}else g=d+96|0;f=m;do{i=(c[g>>2]|0)+(f<<6)|0;j=o;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f=f+1|0}while((f|0)!=(n|0))}c[d+88>>2]=n;if((n|0)>0){h=c[d+96>>2]|0;f=c[e+64>>2]|0;g=0;while(1){c[h+(g<<6)+16>>2]=c[f+16>>2];c[h+(g<<6)+20>>2]=c[f+20>>2];c[h+(g<<6)+24>>2]=c[f+24>>2];c[h+(g<<6)+28>>2]=c[f+28>>2];c[h+(g<<6)>>2]=c[f>>2];c[h+(g<<6)+4>>2]=c[f+4>>2];c[h+(g<<6)+8>>2]=c[f+8>>2];c[h+(g<<6)+12>>2]=c[f+12>>2];c[h+(g<<6)+32>>2]=c[f+32>>2];c[h+(g<<6)+36>>2]=c[f+36>>2];c[h+(g<<6)+40>>2]=c[f+40>>2];g=g+1|0;if((g|0)==(n|0))break;else f=f+48|0}}j=c[e+60>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;i=c[d+128>>2]|0;if((i|0)<(j|0)){if((c[d+132>>2]|0)<(j|0)){if(!j){f=0;h=i}else{c[6995]=(c[6995]|0)+1;f=sc((j<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+128>>2]|0}if((h|0)>0){g=0;do{n=f+(g<<4)|0;m=(c[d+136>>2]|0)+(g<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[d+136>>2]|0;if(g|0){if(a[d+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=j;g=d+136|0}else g=d+136|0;f=i;do{n=(c[g>>2]|0)+(f<<4)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+128>>2]=j;if((j|0)>0){h=c[d+136>>2]|0;f=0;g=c[e+68>>2]|0;while(1){c[h+(f<<4)+12>>2]=c[g+12>>2];b[h+(f<<4)+6>>1]=b[g+6>>1]|0;b[h+(f<<4)+8>>1]=b[g+8>>1]|0;b[h+(f<<4)+10>>1]=b[g+10>>1]|0;b[h+(f<<4)>>1]=b[g>>1]|0;b[h+(f<<4)+2>>1]=b[g+2>>1]|0;b[h+(f<<4)+4>>1]=b[g+4>>1]|0;f=f+1|0;if((f|0)==(j|0))break;else g=g+16|0}}c[d+144>>2]=c[e+76>>2];j=c[e+80>>2]|0;i=c[d+152>>2]|0;if((i|0)<(j|0)){if((c[d+156>>2]|0)<(j|0)){if(!j){f=0;h=i}else{c[6995]=(c[6995]|0)+1;f=sc(j<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+152>>2]|0}if((h|0)>0){g=0;do{n=f+(g<<5)|0;m=(c[d+160>>2]|0)+(g<<5)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[d+160>>2]|0;if(g|0){if(a[d+164>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=j;g=d+160|0}else g=d+160|0;f=i;do{n=(c[g>>2]|0)+(f<<5)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[n+16>>2]=c[o+16>>2];c[n+20>>2]=c[o+20>>2];c[n+24>>2]=c[o+24>>2];c[n+28>>2]=c[o+28>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+152>>2]=j;if((j|0)<=0){l=o;return}h=c[d+160>>2]|0;g=0;f=c[e+72>>2]|0;while(1){b[h+(g<<5)+6>>1]=b[f+14>>1]|0;b[h+(g<<5)+8>>1]=b[f+16>>1]|0;b[h+(g<<5)+10>>1]=b[f+18>>1]|0;b[h+(g<<5)>>1]=b[f+8>>1]|0;b[h+(g<<5)+2>>1]=b[f+10>>1]|0;b[h+(g<<5)+4>>1]=b[f+12>>1]|0;c[h+(g<<5)+12>>2]=c[f>>2];c[h+(g<<5)+16>>2]=c[f+4>>2];g=g+1|0;if((g|0)==(j|0))break;else f=f+20|0}l=o;return}
function nc(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0,X=0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0,ga=0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0;ea=l;l=l+240|0;e=c[b+24>>2]|0;if((e|0)<=0){l=ea;return}K=ea+128+76|0;L=ea+80+16|0;P=ea+80+32|0;J=0;do{I=c[(c[b+32>>2]|0)+(J<<2)>>2]|0;switch(c[I+220>>2]|0){case 2:case 5:break;default:{if(a[I+984>>0]|0){a[I+984>>0]=0;f=c[I+792>>2]|0;if((f|0)>0){h=c[I+800>>2]|0;e=0;do{x=c[h+(e*52|0)+24>>2]|0;H=c[h+(e*52|0)+28>>2]|0;E=+g[x+8>>2]-+g[H+8>>2];F=+g[x+12>>2]-+g[H+12>>2];G=+g[x+16>>2]-+g[H+16>>2];G=+D(+(E*E+F*F+G*G));g[h+(e*52|0)+32>>2]=G;g[h+(e*52|0)+44>>2]=G*G;e=e+1|0}while((e|0)!=(f|0));e=0;do{g[h+(e*52|0)+40>>2]=(+g[(c[h+(e*52|0)+24>>2]|0)+88>>2]+ +g[(c[h+(e*52|0)+28>>2]|0)+88>>2])/+g[(c[h+(e*52|0)+4>>2]|0)+4>>2];e=e+1|0}while((e|0)!=(f|0))}Vf(I);Dl(I+1028|0);if(c[I+448>>2]&16|0)$g(I)}m=+g[I+428>>2]*d;g[I+512>>2]=m;g[I+516>>2]=1.0/m;g[I+520>>2]=m*3.0;x=c[I+192>>2]|0;m=+nb[c[(c[x>>2]|0)+48>>2]&15](x);g[I+524>>2]=m;g[I+528>>2]=m*.25;x=c[I+744>>2]|0;m=+g[I+512>>2];i=+g[x+40>>2]*m;k=m*+g[x+44>>2];m=m*+g[x+48>>2];H=c[I+772>>2]|0;if((H|0)>0){f=c[I+780>>2]|0;e=0;do{if(+g[f+(e*104|0)+88>>2]>0.0){n=f+(e*104|0)+40|0;g[n>>2]=i+ +g[n>>2];n=f+(e*104|0)+44|0;g[n>>2]=k+ +g[n>>2];n=f+(e*104|0)+48|0;g[n>>2]=m+ +g[n>>2]}e=e+1|0}while((e|0)!=(H|0))}F=+g[I+368>>2];G=+g[I+372>>2];n=+g[I+364>>2]>0.0?1:+g[I+360>>2]>0.0;if(F!=0.0|G>0.0){if((H|0)>0){f=c[I+780>>2]|0;k=+g[f+8>>2];m=+g[f+12>>2];o=+g[f+16>>2];f=c[I+812>>2]|0;if((f|0)>0){h=c[I+820>>2]|0;e=0;i=0.0;do{fa=c[h+(e*44|0)+8>>2]|0;ga=c[h+(e*44|0)+12>>2]|0;B=+g[ga+8>>2]-k;w=+g[ga+12>>2]-m;z=+g[ga+16>>2]-o;ga=c[h+(e*44|0)+16>>2]|0;A=+g[ga+8>>2]-k;y=+g[ga+12>>2]-m;E=+g[ga+16>>2]-o;i=i+((+g[fa+16>>2]-o)*(B*y-w*A)+((+g[fa+8>>2]-k)*(w*E-z*y)+(+g[fa+12>>2]-m)*(z*A-B*E)));e=e+1|0}while((e|0)!=(f|0))}else i=0.0;i=i/6.0}else i=0.0;E=F*(1.0/+C(+i));B=G*(+g[I+536>>2]-i)}else{B=0.0;E=0.0}a:do if((H|0)>0){if(!n){f=c[I+780>>2]|0;e=0;while(1){if(+g[f+(e*104|0)+88>>2]>0.0){if(F!=0.0){y=E*+g[f+(e*104|0)+92>>2];z=y*+g[f+(e*104|0)+76>>2];A=y*+g[f+(e*104|0)+80>>2];ga=f+(e*104|0)+56|0;g[ga>>2]=+g[f+(e*104|0)+72>>2]*y+ +g[ga>>2];ga=f+(e*104|0)+60|0;g[ga>>2]=z+ +g[ga>>2];ga=f+(e*104|0)+64|0;g[ga>>2]=A+ +g[ga>>2]}if(G>0.0){y=B*+g[f+(e*104|0)+92>>2];z=y*+g[f+(e*104|0)+76>>2];A=y*+g[f+(e*104|0)+80>>2];ga=f+(e*104|0)+56|0;g[ga>>2]=+g[f+(e*104|0)+72>>2]*y+ +g[ga>>2];ga=f+(e*104|0)+60|0;g[ga>>2]=z+ +g[ga>>2];ga=f+(e*104|0)+64|0;g[ga>>2]=A+ +g[ga>>2]}}e=e+1|0;if((e|0)==(H|0))break a}}f=c[I+780>>2]|0;e=0;do{w=+g[f+(e*104|0)+88>>2];if(w>0.0){y=+g[I+512>>2];u=+g[I+364>>2];s=+g[I+360>>2];b:do if((u>0.0|s>0.0?(M=c[x>>2]|0,(c[I+348>>2]|0)<4):0)?(N=+g[f+(e*104|0)+40>>2],O=N-+g[I+1212>>2],Q=+g[f+(e*104|0)+44>>2],R=Q-+g[I+1216>>2],S=+g[f+(e*104|0)+48>>2],T=S-+g[I+1220>>2],U=+D(+(O*O+R*R+T*T)),O*O+R*R+T*T>1.1920928955078125e-07):0){v=O*(1.0/U);z=R*(1.0/U);A=T*(1.0/U);k=+g[f+(e*104|0)+72>>2];o=+g[f+(e*104|0)+76>>2];p=+g[f+(e*104|0)+80>>2];switch(c[I+348>>2]|0){case 2:{r=O*k+R*o+T*p<0.0?-1.0:1.0;i=A*p*r+(v*k*r+z*o*r);m=+g[f+(e*104|0)+92>>2]*.5;q=(c[j>>2]=M,+g[j>>2]);t=i*s*.5*q*(O*O+R*R+T*T)*m;if(i>0.0&i<.9847999811172485){u=u*.5*q*U*m*+D(+(1.0-i*i));q=(A*(v*p*r-A*k*r)-z*(z*k*r-v*o*r))*u;s=(v*(z*k*r-v*o*r)-A*(A*o*r-z*p*r))*u;o=(z*(A*o*r-z*p*r)-v*(v*p*r-A*k*r))*u}else{q=0.0;s=0.0;o=0.0}i=y*w*-(A*t)*y*w*-(A*t)+(w*-(v*t)*y*w*-(v*t)*y+y*w*-(z*t)*y*w*-(z*t));if(i>0.0?i>=N*N+Q*Q+S*S:0){i=+D(+(N*N+Q*Q+S*S))/+D(+i)*.800000011920929;m=i*-(v*t);k=i*-(A*t);i=i*-(z*t)}else{m=-(v*t);k=-(A*t);i=-(z*t)}n=f+(e*104|0)+56|0;fa=f+(e*104|0)+60|0;z=i+ +g[fa>>2];ga=f+(e*104|0)+64|0;A=k+ +g[ga>>2];g[n>>2]=q+(m+ +g[n>>2]);g[fa>>2]=s+z;g[ga>>2]=o+A;break b}case 1:{t=O*k+R*o+T*p<0.0?-1.0:1.0;k=k*t;o=o*t;p=p*t;break}case 3:case 0:break;default:break b}i=O*k+R*o+T*p;if(i>0.0){i=-((c[j>>2]=M,+g[j>>2])*(O*O+R*R+T*T)*i*+g[f+(e*104|0)+92>>2]*.5);m=v*s*i+(k*u*i+0.0);k=z*s*i+(o*u*i+0.0);i=A*s*i+(p*u*i+0.0);if(y*w*i*y*w*i+(y*w*m*y*w*m+y*w*k*y*w*k)>N*N+Q*Q+S*S){A=1.0/+D(+(i*i+(m*m+k*k)));ga=f+(e*104|0)+56|0;g[ga>>2]=+g[ga>>2]-1.0/(y*w)*m*A*(S*i*A+(N*m*A+Q*k*A));ga=f+(e*104|0)+60|0;g[ga>>2]=+g[ga>>2]-1.0/(y*w)*k*A*(S*i*A+(N*m*A+Q*k*A));ga=f+(e*104|0)+64|0;g[ga>>2]=+g[ga>>2]-1.0/(y*w)*i*A*(S*i*A+(N*m*A+Q*k*A));break}else{ga=f+(e*104|0)+56|0;g[ga>>2]=m+ +g[ga>>2];ga=f+(e*104|0)+60|0;g[ga>>2]=k+ +g[ga>>2];ga=f+(e*104|0)+64|0;g[ga>>2]=i+ +g[ga>>2];break}}}while(0);if(F!=0.0){y=E*+g[f+(e*104|0)+92>>2];z=y*+g[f+(e*104|0)+76>>2];A=y*+g[f+(e*104|0)+80>>2];ga=f+(e*104|0)+56|0;g[ga>>2]=+g[f+(e*104|0)+72>>2]*y+ +g[ga>>2];ga=f+(e*104|0)+60|0;g[ga>>2]=z+ +g[ga>>2];ga=f+(e*104|0)+64|0;g[ga>>2]=A+ +g[ga>>2]}if(G>0.0){y=B*+g[f+(e*104|0)+92>>2];z=y*+g[f+(e*104|0)+76>>2];A=y*+g[f+(e*104|0)+80>>2];ga=f+(e*104|0)+56|0;g[ga>>2]=+g[f+(e*104|0)+72>>2]*y+ +g[ga>>2];ga=f+(e*104|0)+60|0;g[ga>>2]=z+ +g[ga>>2];ga=f+(e*104|0)+64|0;g[ga>>2]=A+ +g[ga>>2]}}e=e+1|0}while((e|0)!=(H|0))}while(0);n=c[I+812>>2]|0;if((n|0)>0){h=0;do{u=+g[I+512>>2];t=+g[I+364>>2];s=+g[I+360>>2];c:do if((t>0.0|s>0.0?(V=c[I+348>>2]|0,(V|0)>3):0)?(W=c[I+820>>2]|0,X=c[W+(h*44|0)+8>>2]|0,fa=c[W+(h*44|0)+12>>2]|0,Y=+g[X+40>>2],Z=+g[X+44>>2],_=+g[X+48>>2],ga=c[W+(h*44|0)+16>>2]|0,$=c[x>>2]|0,aa=(Y+ +g[fa+40>>2]+ +g[ga+40>>2])*.3333333432674408-+g[I+1212>>2],ba=(Z+ +g[fa+44>>2]+ +g[ga+44>>2])*.3333333432674408-+g[I+1216>>2],ca=(_+ +g[fa+48>>2]+ +g[ga+48>>2])*.3333333432674408-+g[I+1220>>2],da=+D(+(aa*aa+ba*ba+ca*ca)),aa*aa+ba*ba+ca*ca>1.1920928955078125e-07):0){v=aa*(1.0/da);w=ba*(1.0/da);z=ca*(1.0/da);k=+g[W+(h*44|0)+20>>2];m=+g[W+(h*44|0)+24>>2];o=+g[W+(h*44|0)+28>>2];switch(V|0){case 5:{r=aa*k+ba*m+ca*o<0.0?-1.0:1.0;i=z*o*r+(v*k*r+w*m*r);p=+g[W+(h*44|0)+36>>2]*.5;q=(c[j>>2]=$,+g[j>>2]);s=i*(aa*aa+ba*ba+ca*ca)*s*.5*q*p;if(i>0.0&i<.9847999811172485){A=da*t*.5*q*p*+D(+(1.0-i*i));B=(z*(v*o*r-z*k*r)-w*(w*k*r-v*m*r))*A*.3333333432674408;E=(v*(w*k*r-v*m*r)-z*(z*m*r-w*o*r))*A*.3333333432674408;A=(w*(z*m*r-w*o*r)-v*(v*o*r-z*k*r))*A*.3333333432674408}else{B=0.0;E=0.0;A=0.0}f=0;i=z*s*-.3333333432674408;m=w*s*-.3333333432674408;y=v*s*-.3333333432674408;e=X;o=v*s*-.3333333432674408;p=w*s*-.3333333432674408;v=z*s*-.3333333432674408;while(1){k=+g[e+88>>2];if(k>0.0){q=+g[I+512>>2];t=o*k*q;u=p*k*q;k=v*k*q;q=+g[e+40>>2];r=+g[e+44>>2];s=+g[e+48>>2];if(k*k+(t*t+u*u)>0.0?k*k+(t*t+u*u)>=q*q+r*r+s*s:0){i=+D(+(q*q+r*r+s*s))/+D(+(k*k+(t*t+u*u)))*.800000011920929;k=o*i;m=p*i;i=v*i;o=k;p=m;q=i}else{q=v;k=y}ha=e+56|0;fa=e+60|0;F=m+ +g[fa>>2];ga=e+64|0;G=i+ +g[ga>>2];g[ha>>2]=B+(k+ +g[ha>>2]);g[fa>>2]=E+F;g[ga>>2]=A+G}else{k=y;q=v}e=f+1|0;if((e|0)==3)break c;f=e;y=k;e=c[W+(h*44|0)+8+(e<<2)>>2]|0;v=q}}case 4:{G=aa*k+ba*m+ca*o<0.0?-1.0:1.0;k=k*G;m=m*G;o=o*G;break}case 6:break;default:break c}i=aa*k+ba*m+ca*o;if(i>0.0){p=-((c[j>>2]=$,+g[j>>2])*(aa*aa+ba*ba+ca*ca)*i*+g[W+(h*44|0)+36>>2]);r=(v*s*p+(k*t*p+0.0))*.3333333432674408;q=(w*s*p+(m*t*p+0.0))*.3333333432674408;p=(z*s*p+(o*t*p+0.0))*.3333333432674408;e=0;f=X;k=Y;m=Z;o=_;while(1){i=u*+g[f+88>>2];if(p*i*p*i+(r*i*r*i+q*i*q*i)>k*k+m*m+o*o){F=1.0/+D(+(p*p+(r*r+q*q)));G=o*p*F+(k*r*F+m*q*F);ha=f+56|0;g[ha>>2]=+g[ha>>2]-1.0/i*r*F*G;ha=f+60|0;g[ha>>2]=+g[ha>>2]-1.0/i*q*F*G;ha=f+64|0;g[ha>>2]=+g[ha>>2]-1.0/i*p*F*G}else{ha=f+56|0;g[ha>>2]=r+ +g[ha>>2];ha=f+60|0;g[ha>>2]=q+ +g[ha>>2];ha=f+64|0;g[ha>>2]=p+ +g[ha>>2]}e=e+1|0;if((e|0)==3)break c;ha=c[W+(h*44|0)+8+(e<<2)>>2]|0;f=ha;k=+g[ha+40>>2];m=+g[ha+44>>2];o=+g[ha+48>>2]}}}while(0);h=h+1|0}while((h|0)!=(n|0))}if((H|0)>0){e=0;do{ga=c[I+780>>2]|0;fa=ga+(e*104|0)+8|0;ha=ga+(e*104|0)+24|0;c[ha>>2]=c[fa>>2];c[ha+4>>2]=c[fa+4>>2];c[ha+8>>2]=c[fa+8>>2];c[ha+12>>2]=c[fa+12>>2];ha=ga+(e*104|0)+56|0;F=+g[ga+(e*104|0)+88>>2];G=+g[I+512>>2];B=+g[ha>>2]*F*G;E=F*+g[ga+(e*104|0)+60>>2]*G;F=G*F*+g[ga+(e*104|0)+64>>2];G=+g[(c[I+744>>2]|0)+12>>2]/G;B=B>G?G:B;E=E>G?G:E;F=F>G?G:F;x=ga+(e*104|0)+40|0;B=(B<-G?-G:B)+ +g[x>>2];g[x>>2]=B;x=ga+(e*104|0)+44|0;E=(E<-G?-G:E)+ +g[x>>2];g[x>>2]=E;x=ga+(e*104|0)+48|0;F=(F<-G?-G:F)+ +g[x>>2];g[x>>2]=F;G=+g[I+512>>2];g[fa>>2]=B*G+ +g[fa>>2];fa=ga+(e*104|0)+12|0;g[fa>>2]=G*E+ +g[fa>>2];ga=ga+(e*104|0)+16|0;g[ga>>2]=F*G+ +g[ga>>2];c[ha>>2]=0;c[ha+4>>2]=0;c[ha+8>>2]=0;c[ha+12>>2]=0;e=e+1|0}while((e|0)!=(H|0))}Tc(I);e=c[I+988>>2]|0;if(e){ha=c[I+192>>2]|0;E=+nb[c[(c[ha>>2]|0)+48>>2]&15](ha);G=+g[e+4>>2]-E;F=+g[e+8>>2]-E;g[I+952>>2]=+g[e>>2]-E;g[I+956>>2]=G;g[I+960>>2]=F;g[I+964>>2]=0.0;F=E+ +g[e+20>>2];G=E+ +g[e+24>>2];g[I+968>>2]=E+ +g[e+16>>2];g[I+972>>2]=F;g[I+976>>2]=G;g[I+980>>2]=0.0;e=c[I+188>>2]|0;if(e|0){ha=c[I+744>>2]|0;ga=c[ha+32>>2]|0;Zb[c[(c[ga>>2]|0)+16>>2]&31](ga,e,I+952|0,I+968|0,c[ha+36>>2]|0)}}else{c[I+952>>2]=0;c[I+952+4>>2]=0;c[I+952+8>>2]=0;c[I+952+12>>2]=0;c[I+952+16>>2]=0;c[I+952+20>>2]=0;c[I+952+24>>2]=0;c[I+952+28>>2]=0}f=c[I+772>>2]|0;if((f|0)>0){e=0;do{ga=c[I+780>>2]|0;F=+g[I+524>>2];B=+g[ga+(e*104|0)+8>>2];G=+g[ga+(e*104|0)+12>>2];E=+g[ga+(e*104|0)+16>>2];g[ea>>2]=B-F;g[ea+4>>2]=G-F;g[ea+8>>2]=E-F;g[ea+12>>2]=0.0;g[ea+16>>2]=F+B;g[ea+20>>2]=F+G;g[ea+24>>2]=F+E;g[ea+28>>2]=0.0;ha=c[ga+(e*104|0)+96>>2]|0;E=+g[I+520>>2];F=E*+g[ga+(e*104|0)+44>>2];G=E*+g[ga+(e*104|0)+48>>2];g[ea+128>>2]=+g[ga+(e*104|0)+40>>2]*E;g[ea+128+4>>2]=F;g[ea+128+8>>2]=G;g[ea+128+12>>2]=0.0;uh(I+988|0,ha,ea,ea+128|0,+g[I+528>>2])|0;e=e+1|0}while((e|0)!=(f|0))}if(c[I+1028>>2]|0?(c[I+812>>2]|0)>0:0){e=0;do{ha=c[I+820>>2]|0;H=c[ha+(e*44|0)+8>>2]|0;fa=c[ha+(e*44|0)+12>>2]|0;ga=c[ha+(e*44|0)+16>>2]|0;B=(+g[H+40>>2]+ +g[fa+40>>2]+ +g[ga+40>>2])*.3333333432674408;E=(+g[H+44>>2]+ +g[fa+44>>2]+ +g[ga+44>>2])*.3333333432674408;F=(+g[H+48>>2]+ +g[fa+48>>2]+ +g[ga+48>>2])*.3333333432674408;w=+g[I+524>>2];t=+g[H+8>>2];v=+g[H+12>>2];z=+g[H+16>>2];G=+g[H+20>>2];A=+g[fa+8>>2];o=A<t?A:t;y=+g[fa+12>>2];p=y<v?y:v;u=+g[fa+16>>2];q=u<z?u:z;s=+g[fa+20>>2];r=s<G?s:G;t=t<A?A:t;v=v<y?y:v;z=z<u?u:z;G=G<s?s:G;s=+g[ga+8>>2];u=+g[ga+12>>2];y=+g[ga+16>>2];A=+g[ga+20>>2];g[ea>>2]=(s<o?s:o)-w;g[ea+4>>2]=(u<p?u:p)-w;g[ea+8>>2]=(y<q?y:q)-w;g[ea+12>>2]=A<r?A:r;g[ea+16>>2]=w+(t<s?s:t);g[ea+20>>2]=w+(v<u?u:v);g[ea+24>>2]=w+(z<y?y:z);g[ea+28>>2]=G<A?A:G;ha=c[ha+(e*44|0)+40>>2]|0;G=+g[I+520>>2];g[ea+128>>2]=B*G;g[ea+128+4>>2]=E*G;g[ea+128+8>>2]=F*G;g[ea+128+12>>2]=0.0;uh(I+1028|0,ha,ea,ea+128|0,+g[I+528>>2])|0;e=e+1|0}while((e|0)<(c[I+812>>2]|0))}do if(a[I+533>>0]|0){x=c[I+772>>2]|0;if((x|0)>0){f=c[I+780>>2]|0;h=c[I+572>>2]|0;e=0;i=0.0;k=0.0;m=0.0;do{G=+g[h+(e<<2)>>2];i=i+ +g[f+(e*104|0)+8>>2]*G;k=k+G*+g[f+(e*104|0)+12>>2];m=m+G*+g[f+(e*104|0)+16>>2];e=e+1|0}while((e|0)!=(x|0))}else{i=0.0;k=0.0;m=0.0}g[I+580>>2]=i;g[I+584>>2]=k;g[I+588>>2]=m;g[I+592>>2]=0.0;h=ea+128+4|0;n=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));g[ea+128>>2]=1.1920928955078125e-07;g[ea+128+20>>2]=2.384185791015625e-07;g[ea+128+40>>2]=3.5762786865234375e-07;if((x|0)>0){f=c[I+572>>2]|0;h=c[I+780>>2]|0;n=c[I+552>>2]|0;e=0;o=1.1920928955078125e-07;p=0.0;q=0.0;r=0.0;s=2.384185791015625e-07;t=0.0;u=0.0;v=0.0;w=3.5762786865234375e-07;do{F=+g[f+(e<<2)>>2];z=(+g[h+(e*104|0)+8>>2]-i)*F;A=(+g[h+(e*104|0)+12>>2]-k)*F;F=F*(+g[h+(e*104|0)+16>>2]-m);B=+g[n+(e<<4)>>2];E=+g[n+(e<<4)+4>>2];G=+g[n+(e<<4)+8>>2];o=z*B+o;p=z*E+p;q=z*G+q;r=A*B+r;s=A*E+s;t=A*G+t;u=F*B+u;v=F*E+v;w=F*G+w;e=e+1|0}while((e|0)!=(x|0));g[ea+128>>2]=o;g[ea+128+4>>2]=p;g[ea+128+8>>2]=q;g[ea+128+16>>2]=r;g[ea+128+20>>2]=s;g[ea+128+24>>2]=t;g[ea+128+32>>2]=u;g[ea+128+36>>2]=v;g[ea+128+40>>2]=w}if((a[22456]|0)==0?Uz(22456)|0:0){g[5758]=9.999999747378752e-05;c[5759]=16}bd(ea+128|0,ea+80|0,ea+32|0);c[I+596>>2]=c[ea+80>>2];c[I+596+4>>2]=c[ea+80+4>>2];c[I+596+8>>2]=c[ea+80+8>>2];c[I+596+12>>2]=c[ea+80+12>>2];c[I+612>>2]=c[L>>2];c[I+612+4>>2]=c[L+4>>2];c[I+612+8>>2]=c[L+8>>2];c[I+612+12>>2]=c[L+12>>2];c[I+628>>2]=c[P>>2];c[I+628+4>>2]=c[P+4>>2];c[I+628+8>>2]=c[P+8>>2];c[I+628+12>>2]=c[P+12>>2];la=+g[ea+80>>2];v=+g[L>>2];A=+g[P>>2];ka=+g[ea+80+4>>2];w=+g[ea+80+20>>2];E=+g[ea+80+36>>2];ja=+g[ea+80+8>>2];y=+g[ea+80+24>>2];G=+g[ea+80+40>>2];p=+g[I+692>>2];o=+g[I+696>>2];m=+g[I+700>>2];ra=+g[I+708>>2];qa=+g[I+712>>2];q=+g[I+716>>2];B=+g[I+724>>2];F=+g[I+728>>2];u=+g[I+732>>2];pa=+g[ea+128>>2];oa=+g[ea+128+16>>2];r=+g[ea+128+32>>2];i=(la*p+ka*o+ja*m)*pa+(v*p+w*o+y*m)*oa+(A*p+E*o+G*m)*r;na=+g[ea+128+4>>2];ma=+g[ea+128+20>>2];s=+g[ea+128+36>>2];k=(la*p+ka*o+ja*m)*na+(v*p+w*o+y*m)*ma+(A*p+E*o+G*m)*s;ia=+g[ea+128+8>>2];z=+g[ea+128+24>>2];t=+g[ea+128+40>>2];m=(la*p+ka*o+ja*m)*ia+(v*p+w*o+y*m)*z+(A*p+E*o+G*m)*t;o=(la*ra+ka*qa+ja*q)*pa+(v*ra+w*qa+y*q)*oa+(A*ra+E*qa+G*q)*r;p=(la*ra+ka*qa+ja*q)*na+(v*ra+w*qa+y*q)*ma+(A*ra+E*qa+G*q)*s;q=(la*ra+ka*qa+ja*q)*ia+(v*ra+w*qa+y*q)*z+(A*ra+E*qa+G*q)*t;r=pa*(la*B+ka*F+ja*u)+oa*(v*B+w*F+y*u)+(A*B+E*F+G*u)*r;s=(la*B+ka*F+ja*u)*na+(v*B+w*F+y*u)*ma+(A*B+E*F+G*u)*s;t=(la*B+ka*F+ja*u)*ia+(v*B+w*F+y*u)*z+(A*B+E*F+G*u)*t;g[I+644>>2]=i;g[I+648>>2]=k;g[I+652>>2]=m;g[I+656>>2]=0.0;g[I+660>>2]=o;g[I+664>>2]=p;g[I+668>>2]=q;g[I+672>>2]=0.0;g[I+676>>2]=r;g[I+680>>2]=s;g[I+684>>2]=t;g[I+688>>2]=0.0;u=+g[I+424>>2];if(u>1.0){ra=1.0/(m*(s*o-p*r)+(i*(p*t-q*s)+k*(q*r-t*o)))<1.0?1.0:1.0/(m*(s*o-p*r)+(i*(p*t-q*s)+k*(q*r-t*o)))>u?u:1.0/(m*(s*o-p*r)+(i*(p*t-q*s)+k*(q*r-t*o)));g[I+644>>2]=i*ra;g[I+648>>2]=k*ra;g[I+652>>2]=m*ra;g[I+656>>2]=0.0;g[I+660>>2]=o*ra;g[I+664>>2]=p*ra;g[I+668>>2]=q*ra;g[I+672>>2]=0.0;g[I+676>>2]=r*ra;g[I+680>>2]=s*ra;g[I+684>>2]=ra*t;g[I+688>>2]=0.0}if(a[I+533>>0]|0?+g[I+380>>2]>0.0:0){i=+g[I+596>>2];p=+g[I+600>>2];q=+g[I+604>>2];r=+g[I+612>>2];s=+g[I+616>>2];t=+g[I+620>>2];k=+g[I+628>>2];m=+g[I+632>>2];o=+g[I+636>>2];f=c[I+772>>2]|0;if((f|0)<=0)break;e=0;do{h=c[I+780>>2]|0;if(+g[h+(e*104|0)+88>>2]>0.0){fa=c[I+552>>2]|0;ma=+g[fa+(e<<4)>>2];na=+g[fa+(e<<4)+4>>2];oa=+g[fa+(e<<4)+8>>2];la=+g[I+380>>2];fa=h+(e*104|0)+8|0;pa=+g[fa>>2];ga=h+(e*104|0)+12|0;qa=+g[ga>>2];ha=h+(e*104|0)+16|0;ra=+g[ha>>2];qa=qa+la*(r*ma+s*na+t*oa+ +g[I+584>>2]-qa);ra=ra+la*(k*ma+m*na+o*oa+ +g[I+588>>2]-ra);g[fa>>2]=pa+la*(+g[I+580>>2]+(i*ma+p*na+q*oa)-pa);g[ga>>2]=qa;g[ha>>2]=ra;g[h+(e*104|0)+20>>2]=0.0}e=e+1|0}while((e|0)!=(f|0))}}while(0);h=ea+128|0;n=h+104|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));e=c[I+872>>2]|0;if((e|0)<0){if((c[I+876>>2]|0)<0){f=c[I+880>>2]|0;if(f|0){if(a[I+884>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[I+880>>2]=0}a[I+884>>0]=1;c[I+880>>2]=0;c[I+876>>2]=0}do{ha=c[I+880>>2]|0;ga=ha+(e*104|0)|0;c[ga>>2]=c[ea+128>>2];c[ga+4>>2]=c[ea+128+4>>2];c[ga+8>>2]=c[ea+128+8>>2];c[ga+12>>2]=c[ea+128+12>>2];c[ga+16>>2]=c[ea+128+16>>2];c[ga+20>>2]=c[ea+128+20>>2];c[ga+24>>2]=c[ea+128+24>>2];ga=ha+(e*104|0)+28|0;c[ga>>2]=c[ea+128+28>>2];c[ga+4>>2]=c[ea+128+28+4>>2];c[ga+8>>2]=c[ea+128+28+8>>2];c[ga+12>>2]=c[ea+128+28+12>>2];ga=ha+(e*104|0)+44|0;c[ga>>2]=c[ea+128+44>>2];c[ga+4>>2]=c[ea+128+44+4>>2];c[ga+8>>2]=c[ea+128+44+8>>2];c[ga+12>>2]=c[ea+128+44+12>>2];ga=ha+(e*104|0)+60|0;c[ga>>2]=c[ea+128+60>>2];c[ga+4>>2]=c[ea+128+60+4>>2];c[ga+8>>2]=c[ea+128+60+8>>2];c[ga+12>>2]=c[ea+128+60+12>>2];ha=ha+(e*104|0)+76|0;c[ha>>2]=c[K>>2];c[ha+4>>2]=c[K+4>>2];c[ha+8>>2]=c[K+8>>2];c[ha+12>>2]=c[K+12>>2];c[ha+16>>2]=c[K+16>>2];c[ha+20>>2]=c[K+20>>2];c[ha+24>>2]=c[K+24>>2];e=e+1|0}while((e|0)!=0)}c[I+872>>2]=0;h=ea+128|0;n=h+56|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));e=c[I+892>>2]|0;if((e|0)<0){if((c[I+896>>2]|0)<0){f=c[I+900>>2]|0;if(f|0){if(a[I+904>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[I+900>>2]=0}a[I+904>>0]=1;c[I+900>>2]=0;c[I+896>>2]=0}do{h=(c[I+900>>2]|0)+(e*56|0)|0;f=ea+128|0;n=h+56|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(n|0));e=e+1|0}while((e|0)!=0)}c[I+892>>2]=0;ng(I+988|0,1);ng(I+1028|0,1);ng(I+1068|0,1);e=c[b+24>>2]|0}}J=J+1|0}while((J|0)<(e|0));l=ea;return}function oc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0;Q=l;l=l+448|0;if(!(a[b+527>>0]|0)){l=Q;return}P=c[b+28>>2]|0;C=+g[b+348>>2];B=+g[b+352>>2];J=+g[b+356>>2];E=+g[P+52>>2];F=C*+g[P+4>>2]+B*+g[P+8>>2]+J*+g[P+12>>2]+E;G=+g[P+56>>2];H=C*+g[P+20>>2]+B*+g[P+24>>2]+J*+g[P+28>>2]+G;I=+g[P+60>>2];J=C*+g[P+36>>2]+B*+g[P+40>>2]+J*+g[P+44>>2]+I;P=c[b+32>>2]|0;B=+g[b+412>>2];C=+g[b+416>>2];r=+g[b+420>>2];k=+g[P+52>>2];m=B*+g[P+4>>2]+C*+g[P+8>>2]+r*+g[P+12>>2]+k;n=+g[P+56>>2];o=B*+g[P+20>>2]+C*+g[P+24>>2]+r*+g[P+28>>2]+n;q=+g[P+60>>2];r=B*+g[P+36>>2]+C*+g[P+40>>2]+r*+g[P+44>>2]+q;if(!(a[b+524>>0]|0)){A=+g[d+192>>2]+ +g[d+80>>2];B=+g[d+196>>2]+ +g[d+84>>2];z=+g[d+200>>2]+ +g[d+88>>2];C=+g[e+192>>2]+ +g[e+80>>2];y=+g[e+196>>2]+ +g[e+84>>2];w=+g[e+200>>2]+ +g[e+88>>2];s=+g[d+176>>2]+ +g[d+64>>2]+((J-I)*B-(H-G)*z)-(+g[e+176>>2]+ +g[e+64>>2]+((r-q)*y-(o-n)*w));w=+g[d+180>>2]+ +g[d+68>>2]+((F-E)*z-(J-I)*A)-(+g[e+180>>2]+ +g[e+68>>2]+((m-k)*w-(r-q)*C));y=+g[d+184>>2]+ +g[d+72>>2]+((H-G)*A-(F-E)*B)-(+g[e+184>>2]+ +g[e+72>>2]+((o-n)*C-(m-k)*y));t=(c[d+240>>2]|0)==0;p=0;do{C=1.0/+g[b+48+(p*84|0)+80>>2];u=b+48+(p*84|0)|0;B=+g[u>>2];v=b+48+(p*84|0)+4|0;A=+g[v>>2];x=b+48+(p*84|0)+8|0;z=+g[x>>2];z=C*(((F-m)*B+(H-o)*A+(J-r)*z)*-.30000001192092896/f)-C*(s*B+w*A+y*z);g[b+36>>2]=+g[b+36>>2]+z;A=+g[x>>2];B=+g[v>>2];C=+g[u>>2];h=c[b+28>>2]|0;i=+g[h+404>>2];if(!t){T=((H-G)*A-(J-I)*B)*+g[h+356>>2]+((J-I)*C-(F-E)*A)*+g[h+360>>2]+((F-E)*B-(H-G)*C)*+g[h+364>>2];R=((H-G)*A-(J-I)*B)*+g[h+340>>2]+((J-I)*C-(F-E)*A)*+g[h+344>>2]+((F-E)*B-(H-G)*C)*+g[h+348>>2];S=((H-G)*A-(J-I)*B)*+g[h+324>>2]+((J-I)*C-(F-E)*A)*+g[h+328>>2]+((F-E)*B-(H-G)*C)*+g[h+332>>2];V=z*B*i*+g[d+116>>2];U=z*A*i*+g[d+120>>2];g[d+64>>2]=z*C*i*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=V+ +g[d+68>>2];g[d+72>>2]=U+ +g[d+72>>2];R=R*z*+g[d+100>>2];i=T*z*+g[d+104>>2];g[d+80>>2]=S*z*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=R+ +g[d+84>>2];g[d+88>>2]=i+ +g[d+88>>2]}h=c[b+32>>2]|0;i=+g[h+404>>2];if(c[e+240>>2]|0){V=((o-n)*A-(r-q)*B)*+g[h+356>>2]+((r-q)*C-(m-k)*A)*+g[h+360>>2]+((m-k)*B-(o-n)*C)*+g[h+364>>2];U=((o-n)*A-(r-q)*B)*+g[h+340>>2]+((r-q)*C-(m-k)*A)*+g[h+344>>2]+((m-k)*B-(o-n)*C)*+g[h+348>>2];T=((o-n)*A-(r-q)*B)*+g[h+324>>2]+((r-q)*C-(m-k)*A)*+g[h+328>>2]+((m-k)*B-(o-n)*C)*+g[h+332>>2];R=i*+g[v>>2]*-z*+g[e+116>>2];S=i*+g[x>>2]*-z*+g[e+120>>2];g[e+64>>2]=+g[e+112>>2]*i*+g[u>>2]*-z+ +g[e+64>>2];g[e+68>>2]=R+ +g[e+68>>2];g[e+72>>2]=S+ +g[e+72>>2];U=U*+g[e+100>>2]*-z;V=V*+g[e+104>>2]*-z;g[e+80>>2]=T*+g[e+96>>2]*-z+ +g[e+80>>2];g[e+84>>2]=U+ +g[e+84>>2];g[e+88>>2]=V+ +g[e+88>>2]}p=p+1|0}while((p|0)!=3)}do if(!(a[b+552>>0]|0)){i=+g[b+440>>2];if(!(i>1.1920928955078125e-07)){K=d+80|0;p=d+196|0;L=d+84|0;t=d+200|0;M=d+88|0;u=e+192|0;N=e+80|0;v=e+196|0;O=e+84|0;x=e+200|0;P=e+88|0;h=d+192|0;break}k=+g[e+192>>2]+ +g[e+80>>2]-(+g[d+192>>2]+ +g[d+80>>2]);m=+g[e+196>>2]+ +g[e+84>>2]-(+g[d+196>>2]+ +g[d+84>>2]);n=+g[e+200>>2]+ +g[e+88>>2]-(+g[d+200>>2]+ +g[d+88>>2]);if(k*k+m*m+n*n>1.1920928955078125e-07){E=1.0/+D(+(k*k+m*m+n*n));h=c[b+28>>2]|0;q=+g[h+324>>2];r=+g[h+340>>2];s=+g[h+356>>2];w=+g[h+328>>2];y=+g[h+344>>2];z=+g[h+360>>2];A=+g[h+332>>2];B=+g[h+348>>2];C=+g[h+364>>2];h=c[b+32>>2]|0;i=i*(1.0/(k*E*(q*k*E+m*E*r+n*E*s)+m*E*(k*E*w+m*E*y+n*E*z)+n*E*(k*E*A+m*E*B+n*E*C)+(k*E*(k*E*+g[h+324>>2]+m*E*+g[h+340>>2]+n*E*+g[h+356>>2])+m*E*(k*E*+g[h+328>>2]+m*E*+g[h+344>>2]+n*E*+g[h+360>>2])+n*E*(k*E*+g[h+332>>2]+m*E*+g[h+348>>2]+n*E*+g[h+364>>2]))));E=+D(+(n*i*n*i+(k*i*k*i+m*i*m*i)));o=1.0/E*k*i;k=1.0/E*m*i;i=1.0/E*n*i;if(c[d+240>>2]|0){V=E*0.0*+g[d+116>>2];U=E*0.0*+g[d+120>>2];g[d+64>>2]=E*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=V+ +g[d+68>>2];g[d+72>>2]=U+ +g[d+72>>2];U=(o*r+k*y+i*B)*E*+g[d+100>>2];V=(o*s+k*z+i*C)*E*+g[d+104>>2];g[d+80>>2]=(o*q+k*w+i*A)*E*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=U+ +g[d+84>>2];g[d+88>>2]=V+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){V=o*+g[h+356>>2]+k*+g[h+360>>2]+i*+g[h+364>>2];U=o*+g[h+340>>2]+k*+g[h+344>>2]+i*+g[h+348>>2];T=o*+g[h+324>>2]+k*+g[h+328>>2]+i*+g[h+332>>2];R=E*-0.0*+g[e+116>>2];S=E*-0.0*+g[e+120>>2];g[e+64>>2]=E*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=R+ +g[e+68>>2];g[e+72>>2]=S+ +g[e+72>>2];U=U*+g[e+100>>2]*-E;V=V*+g[e+104>>2]*-E;g[e+80>>2]=T*+g[e+96>>2]*-E+ +g[e+80>>2];g[e+84>>2]=U+ +g[e+84>>2];g[e+88>>2]=V+ +g[e+88>>2];K=d+80|0;p=d+196|0;L=d+84|0;t=d+200|0;M=d+88|0;u=e+192|0;N=e+80|0;v=e+196|0;O=e+84|0;x=e+200|0;P=e+88|0;h=d+192|0}else{K=d+80|0;p=d+196|0;L=d+84|0;t=d+200|0;M=d+88|0;u=e+192|0;N=e+80|0;v=e+196|0;O=e+84|0;x=e+200|0;P=e+88|0;h=d+192|0}}else{K=d+80|0;p=d+196|0;L=d+84|0;t=d+200|0;M=d+88|0;u=e+192|0;N=e+80|0;v=e+196|0;O=e+84|0;x=e+200|0;P=e+88|0;h=d+192|0}}else{O=c[b+28>>2]|0;c[Q+352>>2]=c[O+4>>2];c[Q+352+4>>2]=c[O+4+4>>2];c[Q+352+8>>2]=c[O+4+8>>2];c[Q+352+12>>2]=c[O+4+12>>2];c[Q+352+16>>2]=c[O+20>>2];c[Q+352+16+4>>2]=c[O+20+4>>2];c[Q+352+16+8>>2]=c[O+20+8>>2];c[Q+352+16+12>>2]=c[O+20+12>>2];c[Q+352+32>>2]=c[O+36>>2];c[Q+352+32+4>>2]=c[O+36+4>>2];c[Q+352+32+8>>2]=c[O+36+8>>2];c[Q+352+32+12>>2]=c[O+36+12>>2];c[Q+352+48>>2]=c[O+52>>2];c[Q+352+48+4>>2]=c[O+52+4>>2];c[Q+352+48+8>>2]=c[O+52+8>>2];c[Q+352+48+12>>2]=c[O+52+12>>2];O=c[b+32>>2]|0;c[Q+288>>2]=c[O+4>>2];c[Q+288+4>>2]=c[O+4+4>>2];c[Q+288+8>>2]=c[O+4+8>>2];c[Q+288+12>>2]=c[O+4+12>>2];c[Q+288+16>>2]=c[O+20>>2];c[Q+288+16+4>>2]=c[O+20+4>>2];c[Q+288+16+8>>2]=c[O+20+8>>2];c[Q+288+16+12>>2]=c[O+20+12>>2];c[Q+288+32>>2]=c[O+36>>2];c[Q+288+32+4>>2]=c[O+36+4>>2];c[Q+288+32+8>>2]=c[O+36+8>>2];c[Q+288+32+12>>2]=c[O+36+12>>2];c[Q+288+48>>2]=c[O+52>>2];c[Q+288+48+4>>2]=c[O+52+4>>2];c[Q+288+48+8>>2]=c[O+52+8>>2];c[Q+288+48+12>>2]=c[O+52+12>>2];T=+g[d+196>>2]+ +g[d+84>>2];s=+g[d+200>>2]+ +g[d+88>>2];g[Q+272>>2]=+g[d+192>>2]+ +g[d+80>>2];g[Q+272+4>>2]=T;g[Q+272+8>>2]=s;g[Q+272+12>>2]=0.0;s=+g[e+196>>2]+ +g[e+84>>2];T=+g[e+200>>2]+ +g[e+88>>2];g[Q+256>>2]=+g[e+192>>2]+ +g[e+80>>2];g[Q+256+4>>2]=s;g[Q+256+8>>2]=T;g[Q+256+12>>2]=0.0;c[Q+192>>2]=1065353216;O=Q+192+4|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[Q+192+20>>2]=1065353216;P=Q+192+24|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q+192+40>>2]=1065353216;M=Q+192+44|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;Af(Q+352|0,0.0,0.0,0.0,Q+272|0,f,Q+192|0);c[Q+128>>2]=1065353216;M=Q+128+4|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[Q+128+20>>2]=1065353216;N=Q+128+24|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[Q+128+40>>2]=1065353216;L=Q+128+44|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;Af(Q+288|0,0.0,0.0,0.0,Q+256|0,f,Q+128|0);T=+g[b+556>>2];s=+g[b+560>>2];U=+g[b+564>>2];w=+g[b+568>>2];H=T*(2.0/(T*T+s*s+U*U+w*w));B=s*(2.0/(T*T+s*s+U*U+w*w));I=U*(2.0/(T*T+s*s+U*U+w*w));X=+g[b+364>>2];W=+g[b+368>>2];_=+g[b+372>>2];k=_*(T*I-w*B)+(W*(T*B+w*I)+X*(1.0-(s*B+U*I)));m=_*(s*I+w*H)+(X*(T*B-w*I)+W*(1.0-(T*H+U*I)));n=X*(T*I+w*B)+W*(s*I-w*H)+_*(1.0-(T*H+s*B));i=+g[b+380>>2];G=+g[b+384>>2];C=+g[b+388>>2];o=(T*I-w*B)*C+(G*(T*B+w*I)+i*(1.0-(s*B+U*I)));q=(s*I+w*H)*C+(i*(T*B-w*I)+G*(1.0-(T*H+U*I)));r=i*(T*I+w*B)+G*(s*I-w*H)+C*(1.0-(T*H+s*B));R=+g[b+396>>2];E=+g[b+400>>2];A=+g[b+404>>2];S=(1.0-(s*B+U*I))*R+(T*B+w*I)*E+(T*I-w*B)*A;U=(T*B-w*I)*R+(1.0-(T*H+U*I))*E+(s*I+w*H)*A;B=(T*I+w*B)*R+(s*I-w*H)*E+(1.0-(T*H+s*B))*A;s=+g[b+300>>2];H=+g[b+316>>2];T=+g[b+332>>2];w=+g[b+304>>2];I=+g[b+320>>2];V=+g[b+336>>2];F=+g[b+308>>2];J=+g[b+324>>2];z=+g[b+340>>2];y=-+g[b+348>>2];ba=-+g[b+352>>2];Z=-+g[b+356>>2];_=X*0.0+W*0.0+_*0.0+ +g[b+412>>2]+(n*(F*y+J*ba+z*Z)+(k*(s*y+H*ba+T*Z)+m*(w*y+I*ba+V*Z)));C=i*0.0+G*0.0+C*0.0+ +g[b+416>>2]+(r*(F*y+J*ba+z*Z)+(o*(s*y+H*ba+T*Z)+q*(w*y+I*ba+V*Z)));Z=R*0.0+E*0.0+A*0.0+ +g[b+420>>2]+(B*(F*y+J*ba+z*Z)+(S*(s*y+H*ba+T*Z)+U*(w*y+I*ba+V*Z)));ba=+g[Q+128>>2];y=+g[M>>2];A=+g[Q+128+8>>2];E=+g[Q+128+16>>2];R=+g[Q+128+20>>2];G=+g[N>>2];i=+g[Q+128+32>>2];W=+g[Q+128+36>>2];X=+g[Q+128+40>>2];Y=A*Z+(ba*_+y*C)+ +g[Q+128+48>>2];$=E*_+C*R+Z*G+ +g[Q+128+52>>2];aa=_*i+C*W+Z*X+ +g[Q+128+56>>2];g[Q+64>>2]=(k*s+m*w+n*F)*ba+(o*s+q*w+r*F)*y+(S*s+U*w+B*F)*A;g[Q+64+4>>2]=(k*H+m*I+n*J)*ba+(o*H+q*I+r*J)*y+(S*H+U*I+B*J)*A;g[Q+64+8>>2]=(k*T+m*V+n*z)*ba+(o*T+q*V+r*z)*y+(S*T+U*V+B*z)*A;g[Q+64+12>>2]=0.0;g[Q+64+16>>2]=(k*s+m*w+n*F)*E+(o*s+q*w+r*F)*R+(S*s+U*w+B*F)*G;g[Q+64+20>>2]=(k*H+m*I+n*J)*E+(o*H+q*I+r*J)*R+(S*H+U*I+B*J)*G;g[Q+64+24>>2]=(k*T+m*V+n*z)*E+(o*T+q*V+r*z)*R+(S*T+U*V+B*z)*G;g[Q+64+28>>2]=0.0;g[Q+64+32>>2]=(k*s+m*w+n*F)*i+(o*s+q*w+r*F)*W+(S*s+U*w+B*F)*X;g[Q+64+36>>2]=(k*H+m*I+n*J)*i+(o*H+q*I+r*J)*W+(S*H+U*I+B*J)*X;g[Q+64+40>>2]=(k*T+m*V+n*z)*i+(o*T+q*V+r*z)*W+(S*T+U*V+B*z)*X;g[Q+64+44>>2]=0.0;g[Q+64+48>>2]=Y;g[Q+64+52>>2]=$;g[Q+64+56>>2]=aa;g[Q+64+60>>2]=0.0;aa=(S*s+U*w+B*F)*-Z+((k*s+m*w+n*F)*-_+(o*s+q*w+r*F)*-C);$=(S*H+U*I+B*J)*-Z+((k*H+m*I+n*J)*-_+(o*H+q*I+r*J)*-C);C=(S*T+U*V+B*z)*-Z+((k*T+m*V+n*z)*-_+(o*T+q*V+r*z)*-C);_=+g[Q+192>>2];Z=+g[O>>2];Y=+g[Q+192+8>>2];X=+g[Q+192+16>>2];W=+g[Q+192+20>>2];i=+g[P>>2];G=+g[Q+192+32>>2];R=+g[Q+192+36>>2];E=+g[Q+192+40>>2];A=aa*_+$*Z+C*Y+ +g[Q+192+48>>2];y=aa*X+$*W+C*i+ +g[Q+192+52>>2];C=aa*G+$*R+C*E+ +g[Q+192+56>>2];g[Q>>2]=(k*s+m*w+n*F)*_+(k*H+m*I+n*J)*Z+(k*T+m*V+n*z)*Y;g[Q+4>>2]=(o*s+q*w+r*F)*_+(o*H+q*I+r*J)*Z+(o*T+q*V+r*z)*Y;g[Q+8>>2]=(S*s+U*w+B*F)*_+(S*H+U*I+B*J)*Z+(S*T+U*V+B*z)*Y;g[Q+12>>2]=0.0;g[Q+16>>2]=(k*s+m*w+n*F)*X+(k*H+m*I+n*J)*W+(k*T+m*V+n*z)*i;g[Q+20>>2]=(o*s+q*w+r*F)*X+(o*H+q*I+r*J)*W+(o*T+q*V+r*z)*i;g[Q+24>>2]=(S*s+U*w+B*F)*X+(S*H+U*I+B*J)*W+(S*T+U*V+B*z)*i;g[Q+28>>2]=0.0;g[Q+32>>2]=(k*s+m*w+n*F)*G+(k*H+m*I+n*J)*R+(k*T+m*V+n*z)*E;g[Q+36>>2]=(o*s+q*w+r*F)*G+(o*H+q*I+r*J)*R+(o*T+q*V+r*z)*E;g[Q+40>>2]=(S*s+U*w+B*F)*G+(S*H+U*I+B*J)*R+(S*T+U*V+B*z)*E;g[Q+44>>2]=0.0;g[Q+48>>2]=A;g[Q+52>>2]=y;g[Q+56>>2]=C;g[Q+60>>2]=0.0;If(Q+352|0,Q+64|0,Q+424|0,Q+416|0);C=+g[Q+416>>2];y=1.0/f*+g[Q+424>>2]*C;A=1.0/f*C*+g[Q+424+4>>2];C=1.0/f*C*+g[Q+424+8>>2];If(Q+288|0,Q,Q+424|0,Q+416|0);E=+g[Q+416>>2];y=y-+g[Q+272>>2];A=A-+g[Q+272+4>>2];C=C-+g[Q+272+8>>2];z=1.0/f*+g[Q+424>>2]*E-+g[Q+256>>2];B=1.0/f*E*+g[Q+424+4>>2]-+g[Q+256+4>>2];E=1.0/f*E*+g[Q+424+8>>2]-+g[Q+256+8>>2];if(y*y+A*A+C*C>1.1920928955078125e-07){s=1.0/+D(+(y*y+A*A+C*C));P=c[b+28>>2]|0;o=y*s*(+g[P+324>>2]*y*s+A*s*+g[P+340>>2]+C*s*+g[P+356>>2])+A*s*(y*s*+g[P+328>>2]+A*s*+g[P+344>>2]+C*s*+g[P+360>>2])+C*s*(y*s*+g[P+332>>2]+A*s*+g[P+348>>2]+C*s*+g[P+364>>2]);k=y*s;n=A*s;s=C*s}else{o=0.0;k=0.0;n=0.0;s=0.0}if(z*z+B*B+E*E>1.1920928955078125e-07){r=1.0/+D(+(z*z+B*B+E*E));P=c[b+32>>2]|0;q=z*r*(+g[P+324>>2]*z*r+B*r*+g[P+340>>2]+E*r*+g[P+356>>2])+B*r*(z*r*+g[P+328>>2]+B*r*+g[P+344>>2]+E*r*+g[P+360>>2])+E*r*(z*r*+g[P+332>>2]+B*r*+g[P+348>>2]+E*r*+g[P+364>>2]);i=z*r;m=B*r;r=E*r}else{q=0.0;i=0.0;m=0.0;r=0.0}w=o*k+q*i;k=o*n+q*m;i=o*s+q*r;if(w*w+k*k+i*i>1.1920928955078125e-07){n=1.0/+D(+(w*w+k*k+i*i));p=c[b+28>>2]|0;m=w*n*(+g[p+324>>2]*w*n+k*n*+g[p+340>>2]+i*n*+g[p+356>>2])+k*n*(w*n*+g[p+328>>2]+k*n*+g[p+344>>2]+i*n*+g[p+360>>2])+i*n*(w*n*+g[p+332>>2]+k*n*+g[p+348>>2]+i*n*+g[p+364>>2]);h=c[b+32>>2]|0;n=w*n*(w*n*+g[h+324>>2]+k*n*+g[h+340>>2]+i*n*+g[h+356>>2])+k*n*(w*n*+g[h+328>>2]+k*n*+g[h+344>>2]+i*n*+g[h+360>>2])+i*n*(w*n*+g[h+332>>2]+k*n*+g[h+348>>2]+i*n*+g[h+364>>2]);w=(y*m-z*n)*(1.0/((m+n)*(m+n)));i=(A*m-B*n)*(1.0/((m+n)*(m+n)));n=(C*m-E*n)*(1.0/((m+n)*(m+n)));k=+g[b+572>>2];if(!(k>=0.0))k=w;else{m=(a[b+553>>0]|0)==0?k:k/m;q=+g[b+576>>2];r=+g[b+580>>2];s=+g[b+584>>2];o=+D(+((w+q)*(w+q)+(i+r)*(i+r)+(n+s)*(n+s)));if(o>m){k=m*(w+q)*(1.0/o)-q;n=m*(n+s)*(1.0/o)-s;i=m*(i+r)*(1.0/o)-r}else k=w;g[b+576>>2]=k+q;g[b+580>>2]=i+r;g[b+584>>2]=n+s}o=+D(+(k*k+i*i+n*n));m=k*(1.0/o);k=i*(1.0/o);i=n*(1.0/o);if(c[d+240>>2]|0){ba=m*+g[p+356>>2]+k*+g[p+360>>2]+i*+g[p+364>>2];aa=m*+g[p+340>>2]+k*+g[p+344>>2]+i*+g[p+348>>2];$=m*+g[p+324>>2]+k*+g[p+328>>2]+i*+g[p+332>>2];Z=o*0.0*+g[d+116>>2];_=o*0.0*+g[d+120>>2];g[d+64>>2]=o*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Z+ +g[d+68>>2];g[d+72>>2]=_+ +g[d+72>>2];aa=aa*o*+g[d+100>>2];ba=ba*o*+g[d+104>>2];g[d+80>>2]=$*o*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=aa+ +g[d+84>>2];g[d+88>>2]=ba+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){ba=m*+g[h+356>>2]+k*+g[h+360>>2]+i*+g[h+364>>2];aa=m*+g[h+340>>2]+k*+g[h+344>>2]+i*+g[h+348>>2];$=m*+g[h+324>>2]+k*+g[h+328>>2]+i*+g[h+332>>2];Z=o*-0.0*+g[e+116>>2];_=o*-0.0*+g[e+120>>2];g[e+64>>2]=o*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-o;ba=ba*+g[e+104>>2]*-o;g[e+80>>2]=$*+g[e+96>>2]*-o+ +g[e+80>>2];g[e+84>>2]=aa+ +g[e+84>>2];g[e+88>>2]=ba+ +g[e+88>>2]}}K=d+80|0;p=d+196|0;L=d+84|0;t=d+200|0;M=d+88|0;u=e+192|0;N=e+80|0;v=e+196|0;O=e+84|0;x=e+200|0;P=e+88|0;h=d+192|0}while(0);z=+g[h>>2]+ +g[K>>2];y=+g[p>>2]+ +g[L>>2];w=+g[t>>2]+ +g[M>>2];s=+g[u>>2]+ +g[N>>2];r=+g[v>>2]+ +g[O>>2];q=+g[x>>2]+ +g[P>>2];if(a[b+526>>0]|0){k=+g[b+528>>2];i=k*+g[b+504>>2]*+g[b+432>>2]/f;m=+g[b+460>>2];n=+g[b+464>>2];o=+g[b+468>>2];if((s-z)*m+(r-y)*n+(q-w)*o>0.0)i=i+k*((s-z)*m+(r-y)*n+(q-w)*o)*+g[b+436>>2];aa=+g[b+516>>2];_=aa+i*+g[b+492>>2];g[Q+424>>2]=_;g[Q+416>>2]=0.0;h=c[(_>0.0?Q+424|0:Q+416|0)>>2]|0;c[b+516>>2]=h;aa=(c[j>>2]=h,+g[j>>2])-aa;_=+g[b+536>>2];$=+g[b+540>>2];i=+g[b+544>>2];k=aa*m-_*(aa*m*_+aa*n*$+aa*o*i);ba=aa*n-$*(aa*m*_+aa*n*$+aa*o*i);n=aa*o-i*(aa*m*_+aa*n*$+aa*o*i);i=+D(+(n*n+(k*k+ba*ba)));k=1.0/i*k;m=1.0/i*ba;n=1.0/i*n;h=c[b+28>>2]|0;if(c[d+240>>2]|0){ba=k*+g[h+356>>2]+m*+g[h+360>>2]+n*+g[h+364>>2];aa=k*+g[h+340>>2]+m*+g[h+344>>2]+n*+g[h+348>>2];$=k*+g[h+324>>2]+m*+g[h+328>>2]+n*+g[h+332>>2];Z=i*0.0*+g[d+116>>2];_=i*0.0*+g[d+120>>2];g[d+64>>2]=i*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Z+ +g[d+68>>2];g[d+72>>2]=_+ +g[d+72>>2];aa=aa*i*+g[d+100>>2];ba=ba*i*+g[d+104>>2];g[K>>2]=$*i*+g[d+96>>2]+ +g[K>>2];g[L>>2]=aa+ +g[L>>2];g[M>>2]=ba+ +g[M>>2]}h=c[b+32>>2]|0;if(c[e+240>>2]|0){ba=k*+g[h+356>>2]+m*+g[h+360>>2]+n*+g[h+364>>2];aa=k*+g[h+340>>2]+m*+g[h+344>>2]+n*+g[h+348>>2];$=k*+g[h+324>>2]+m*+g[h+328>>2]+n*+g[h+332>>2];Z=i*-0.0*+g[e+116>>2];_=i*-0.0*+g[e+120>>2];g[e+64>>2]=i*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-i;ba=ba*+g[e+104>>2]*-i;g[N>>2]=$*+g[e+96>>2]*-i+ +g[N>>2];g[O>>2]=aa+ +g[O>>2];g[P>>2]=ba+ +g[P>>2]}}if(!(a[b+525>>0]|0)){l=Q;return}o=+g[b+532>>2];n=o*+g[b+508>>2]*+g[b+432>>2]/f;m=+g[b+476>>2];k=+g[b+480>>2];i=+g[b+484>>2];if((s-z)*m+(r-y)*k+(q-w)*i>0.0)n=n+o*((s-z)*m+(r-y)*k+(q-w)*i)*+g[b+436>>2];ba=+g[b+520>>2];n=ba+n*+g[b+496>>2];g[Q+424>>2]=n;g[Q+416>>2]=0.0;h=c[(n>0.0?Q+424|0:Q+416|0)>>2]|0;c[b+520>>2]=h;n=(c[j>>2]=h,+g[j>>2])-ba;h=c[b+28>>2]|0;if(c[d+240>>2]|0){ba=m*+g[h+356>>2]+k*+g[h+360>>2]+i*+g[h+364>>2];aa=m*+g[h+340>>2]+k*+g[h+344>>2]+i*+g[h+348>>2];i=m*+g[h+324>>2]+k*+g[h+328>>2]+i*+g[h+332>>2];m=n*0.0*+g[d+116>>2];k=n*0.0*+g[d+120>>2];g[d+64>>2]=n*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=m+ +g[d+68>>2];g[d+72>>2]=k+ +g[d+72>>2];k=aa*n*+g[d+100>>2];m=ba*n*+g[d+104>>2];g[K>>2]=i*n*+g[d+96>>2]+ +g[K>>2];g[L>>2]=k+ +g[L>>2];g[M>>2]=m+ +g[M>>2];m=+g[b+476>>2];k=+g[b+480>>2];i=+g[b+484>>2]}h=c[b+32>>2]|0;if(!(c[e+240>>2]|0)){l=Q;return}ba=m*+g[h+356>>2]+k*+g[h+360>>2]+i*+g[h+364>>2];aa=m*+g[h+340>>2]+k*+g[h+344>>2]+i*+g[h+348>>2];$=m*+g[h+324>>2]+k*+g[h+328>>2]+i*+g[h+332>>2];Z=n*-0.0*+g[e+116>>2];_=n*-0.0*+g[e+120>>2];g[e+64>>2]=n*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-n;ba=ba*+g[e+104>>2]*-n;g[N>>2]=$*+g[e+96>>2]*-n+ +g[N>>2];g[O>>2]=aa+ +g[O>>2];g[P>>2]=ba+ +g[P>>2];l=Q;return}function pc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0,Z=0.0,_=0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0.0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0;Ea=l;l=l+528|0;c[Ea+56>>2]=c[b>>2];c[Ea+8>>2]=c[b+64>>2];k=Ea+56+4|0;c[k>>2]=c[b+4>>2];c[Ea+8+4>>2]=c[b+68>>2];c[Ea+56+8>>2]=c[b+8>>2];c[Ea+8+8>>2]=c[b+72>>2];c[Ea+56+16>>2]=c[b+16>>2];c[Ea+8+16>>2]=c[b+80>>2];c[Ea+56+20>>2]=c[b+20>>2];c[Ea+8+20>>2]=c[b+84>>2];c[Ea+56+24>>2]=c[b+24>>2];c[Ea+8+24>>2]=c[b+88>>2];c[Ea+56+32>>2]=c[b+32>>2];c[Ea+8+32>>2]=c[b+96>>2];c[Ea+56+36>>2]=c[b+36>>2];c[Ea+8+36>>2]=c[b+100>>2];c[Ea+56+40>>2]=c[b+40>>2];c[Ea+8+40>>2]=c[b+104>>2];Aa=c[a+4>>2]|0;ia=+g[Aa+32>>2];ja=+g[Aa+36>>2];ma=+g[Aa+40>>2];ka=+nb[c[(c[Aa>>2]|0)+48>>2]&15](Aa);la=+nb[c[(c[Aa>>2]|0)+48>>2]&15](Aa);ma=(ma+ +nb[c[(c[Aa>>2]|0)+48>>2]&15](Aa))*2.0;Aa=c[a+8>>2]|0;qa=+g[Aa+32>>2];ra=+g[Aa+36>>2];wa=+g[Aa+40>>2];ta=+nb[c[(c[Aa>>2]|0)+48>>2]&15](Aa);sa=+nb[c[(c[Aa>>2]|0)+48>>2]&15](Aa);wa=(wa+ +nb[c[(c[Aa>>2]|0)+48>>2]&15](Aa))*2.0;R=+g[b+112>>2]-+g[b+48>>2];S=+g[b+116>>2]-+g[b+52>>2];T=+g[b+120>>2]-+g[b+56>>2];da=+g[Ea+56>>2];ba=+g[Ea+56+16>>2];ca=+g[Ea+56+32>>2];aa=+g[k>>2];Z=+g[Ea+56+20>>2];$=+g[Ea+56+36>>2];fa=+g[Ea+56+8>>2];ha=+g[Ea+56+24>>2];na=+g[Ea+56+40>>2];g[Ea+412>>2]=(ia+ka)*2.0*.5;g[Ea+412+4>>2]=(ja+la)*2.0*.5;g[Ea+412+8>>2]=ma*.5;g[Ea+400>>2]=(qa+ta)*2.0*.5;g[Ea+400+4>>2]=(ra+sa)*2.0*.5;g[Ea+400+8>>2]=wa*.5;za=+g[Ea+8>>2];pa=+g[Ea+8+16>>2];va=+g[Ea+8+32>>2];ya=+g[Ea+8+4>>2];oa=+g[Ea+8+20>>2];ua=+g[Ea+8+36>>2];xa=+g[Ea+8+8>>2];Ba=+g[Ea+8+24>>2];Ca=+g[Ea+8+40>>2];B=+C(+(da*za+ba*pa+ca*va));O=+C(+(da*ya+ba*oa+ca*ua));U=+C(+(da*xa+ba*Ba+ca*Ca));N=+C(+(za*aa+pa*Z+va*$));P=+C(+(ya*aa+oa*Z+ua*$));V=+C(+(xa*aa+Ba*Z+Ca*$));W=+C(+(za*fa+pa*ha+va*na));X=+C(+(ya*fa+oa*ha+ua*na));Q=+C(+(xa*fa+Ba*ha+Ca*na));i=+C(+(R*da+S*ba+T*ca))-(wa*.5*U+((ia+ka)*2.0*.5+B*(qa+ta)*2.0*.5+O*(ra+sa)*2.0*.5));if(i>0.0){l=Ea;return}if(i>-3402823466385288598117041.0e14){a=Ea+56|0;e=1;f=R*da+S*ba+T*ca<0.0&1}else{a=0;e=0;f=0;i=-3402823466385288598117041.0e14}h=+C(+(R*aa+S*Z+T*$))-((ja+la)*2.0*.5+N*(qa+ta)*2.0*.5+P*(ra+sa)*2.0*.5+V*wa*.5);if(h>0.0){l=Ea;return}if(h>i){a=k;e=2;f=R*aa+S*Z+T*$<0.0&1;i=h}h=+C(+(R*fa+S*ha+T*na))-(ma*.5+W*(qa+ta)*2.0*.5+X*(ra+sa)*2.0*.5+Q*wa*.5);if(h>0.0){l=Ea;return}if(h>i){a=Ea+56+8|0;e=3;f=R*fa+S*ha+T*na<0.0&1;i=h}h=+C(+(R*za+S*pa+T*va))-((qa+ta)*2.0*.5+(B*(ia+ka)*2.0*.5+N*(ja+la)*2.0*.5+W*ma*.5));if(h>0.0){l=Ea;return}if(h>i){a=Ea+8|0;e=4;f=R*za+S*pa+T*va<0.0&1;i=h}h=+C(+(R*ya+S*oa+T*ua))-((ra+sa)*2.0*.5+(O*(ia+ka)*2.0*.5+P*(ja+la)*2.0*.5+X*ma*.5));if(h>0.0){l=Ea;return}if(h>i){a=Ea+8+4|0;e=5;f=R*ya+S*oa+T*ua<0.0&1;i=h}h=+C(+(R*xa+S*Ba+T*Ca))-(wa*.5+(U*(ia+ka)*2.0*.5+V*(ja+la)*2.0*.5+Q*ma*.5));if(h>0.0){l=Ea;return}if(h>i){a=Ea+8+8|0;e=6;f=R*xa+S*Ba+T*Ca<0.0&1;i=h}h=(R*fa+S*ha+T*na)*(za*aa+pa*Z+va*$)-(R*aa+S*Z+T*$)*(za*fa+pa*ha+va*na);n=+C(+h)-((W+9.999999747378752e-06)*(ja+la)*2.0*.5+(N+9.999999747378752e-06)*ma*.5+(U+9.999999747378752e-06)*(ra+sa)*2.0*.5+(O+9.999999747378752e-06)*wa*.5);if(n>1.1920928955078125e-07){l=Ea;return}s=(za*fa+pa*ha+va*na)*(za*fa+pa*ha+va*na)+0.0;x=(za*aa+pa*Z+va*$)*(za*aa+pa*Z+va*$);q=+D(+(x+s));if(q>1.1920928955078125e-07?n/q*1.0499999523162842>i:0){a=0;e=7;f=h<0.0&1;i=n/q;p=0.0/q;o=-(za*fa+pa*ha+va*na)/q;h=(za*aa+pa*Z+va*$)/q}else{p=0.0;o=0.0;h=0.0}n=(R*fa+S*ha+T*na)*(ya*aa+oa*Z+ua*$)-(R*aa+S*Z+T*$)*(ya*fa+oa*ha+ua*na);q=+C(+n)-((X+9.999999747378752e-06)*(ja+la)*2.0*.5+(P+9.999999747378752e-06)*ma*.5+(U+9.999999747378752e-06)*(qa+ta)*2.0*.5+(B+9.999999747378752e-06)*wa*.5);if(q>1.1920928955078125e-07){l=Ea;return}t=(ya*fa+oa*ha+ua*na)*(ya*fa+oa*ha+ua*na)+0.0;y=(ya*aa+oa*Z+ua*$)*(ya*aa+oa*Z+ua*$);r=+D(+(y+t));if(r>1.1920928955078125e-07?q/r*1.0499999523162842>i:0){a=0;e=8;f=n<0.0&1;i=q/r;p=0.0/r;o=-(ya*fa+oa*ha+ua*na)/r;h=(ya*aa+oa*Z+ua*$)/r}n=(R*fa+S*ha+T*na)*(xa*aa+Ba*Z+Ca*$)-(R*aa+S*Z+T*$)*(xa*fa+Ba*ha+Ca*na);q=+C(+n)-((Q+9.999999747378752e-06)*(ja+la)*2.0*.5+(V+9.999999747378752e-06)*ma*.5+(O+9.999999747378752e-06)*(qa+ta)*2.0*.5+(B+9.999999747378752e-06)*(ra+sa)*2.0*.5);if(q>1.1920928955078125e-07){l=Ea;return}v=(xa*fa+Ba*ha+Ca*na)*(xa*fa+Ba*ha+Ca*na)+0.0;z=(xa*aa+Ba*Z+Ca*$)*(xa*aa+Ba*Z+Ca*$);r=+D(+(z+v));if(r>1.1920928955078125e-07?q/r*1.0499999523162842>i:0){a=0;e=9;f=n<0.0&1;i=q/r;p=0.0/r;o=-(xa*fa+Ba*ha+Ca*na)/r;h=(xa*aa+Ba*Z+Ca*$)/r}n=(R*da+S*ba+T*ca)*(za*fa+pa*ha+va*na)-(R*fa+S*ha+T*na)*(da*za+ba*pa+ca*va);q=+C(+n)-((W+9.999999747378752e-06)*(ia+ka)*2.0*.5+(B+9.999999747378752e-06)*ma*.5+(V+9.999999747378752e-06)*(ra+sa)*2.0*.5+(P+9.999999747378752e-06)*wa*.5);if(q>1.1920928955078125e-07){l=Ea;return}w=(da*za+ba*pa+ca*va)*(da*za+ba*pa+ca*va);r=+D(+(w+s));do if(r>1.1920928955078125e-07){if(!(q/r*1.0499999523162842>i))break;a=0;e=10;f=n<0.0&1;i=q/r;p=(za*fa+pa*ha+va*na)/r;o=0.0/r;h=-(da*za+ba*pa+ca*va)/r}while(0);n=(R*da+S*ba+T*ca)*(ya*fa+oa*ha+ua*na)-(R*fa+S*ha+T*na)*(da*ya+ba*oa+ca*ua);q=+C(+n)-((X+9.999999747378752e-06)*(ia+ka)*2.0*.5+(O+9.999999747378752e-06)*ma*.5+(V+9.999999747378752e-06)*(qa+ta)*2.0*.5+(N+9.999999747378752e-06)*wa*.5);if(q>1.1920928955078125e-07){l=Ea;return}u=(da*ya+ba*oa+ca*ua)*(da*ya+ba*oa+ca*ua);r=+D(+(u+t));do if(r>1.1920928955078125e-07){if(!(q/r*1.0499999523162842>i))break;a=0;e=11;f=n<0.0&1;i=q/r;p=(ya*fa+oa*ha+ua*na)/r;o=0.0/r;h=-(da*ya+ba*oa+ca*ua)/r}while(0);n=(R*da+S*ba+T*ca)*(xa*fa+Ba*ha+Ca*na)-(R*fa+S*ha+T*na)*(da*xa+ba*Ba+ca*Ca);q=+C(+n)-((Q+9.999999747378752e-06)*(ia+ka)*2.0*.5+(U+9.999999747378752e-06)*ma*.5+(P+9.999999747378752e-06)*(qa+ta)*2.0*.5+(N+9.999999747378752e-06)*(ra+sa)*2.0*.5);if(q>1.1920928955078125e-07){l=Ea;return}s=(da*xa+ba*Ba+ca*Ca)*(da*xa+ba*Ba+ca*Ca);r=+D(+(s+v));do if(r>1.1920928955078125e-07){if(!(q/r*1.0499999523162842>i))break;a=0;e=12;f=n<0.0&1;i=q/r;p=(xa*fa+Ba*ha+Ca*na)/r;o=0.0/r;h=-(da*xa+ba*Ba+ca*Ca)/r}while(0);q=(R*aa+S*Z+T*$)*(da*za+ba*pa+ca*va)-(R*da+S*ba+T*ca)*(za*aa+pa*Z+va*$);n=+C(+q)-((N+9.999999747378752e-06)*(ia+ka)*2.0*.5+(B+9.999999747378752e-06)*(ja+la)*2.0*.5+(Q+9.999999747378752e-06)*(ra+sa)*2.0*.5+(X+9.999999747378752e-06)*wa*.5);if(n>1.1920928955078125e-07){l=Ea;return}r=+D(+(w+x+0.0));do if(r>1.1920928955078125e-07){if(!(n/r*1.0499999523162842>i))break;a=0;e=13;f=q<0.0&1;i=n/r;p=-(za*aa+pa*Z+va*$)/r;o=(da*za+ba*pa+ca*va)/r;h=0.0/r}while(0);r=(R*aa+S*Z+T*$)*(da*ya+ba*oa+ca*ua)-(R*da+S*ba+T*ca)*(ya*aa+oa*Z+ua*$);n=+C(+r)-((P+9.999999747378752e-06)*(ia+ka)*2.0*.5+(O+9.999999747378752e-06)*(ja+la)*2.0*.5+(Q+9.999999747378752e-06)*(qa+ta)*2.0*.5+(W+9.999999747378752e-06)*wa*.5);if(n>1.1920928955078125e-07){l=Ea;return}q=+D(+(u+y+0.0));do if(q>1.1920928955078125e-07){if(!(n/q*1.0499999523162842>i))break;a=0;e=14;f=r<0.0&1;i=n/q;p=-(ya*aa+oa*Z+ua*$)/q;o=(da*ya+ba*oa+ca*ua)/q;h=0.0/q}while(0);r=(R*aa+S*Z+T*$)*(da*xa+ba*Ba+ca*Ca)-(R*da+S*ba+T*ca)*(xa*aa+Ba*Z+Ca*$);n=+C(+r)-((V+9.999999747378752e-06)*(ia+ka)*2.0*.5+(U+9.999999747378752e-06)*(ja+la)*2.0*.5+(X+9.999999747378752e-06)*(qa+ta)*2.0*.5+(W+9.999999747378752e-06)*(ra+sa)*2.0*.5);if(n>1.1920928955078125e-07){l=Ea;return}q=+D(+(s+z+0.0));do if(q>1.1920928955078125e-07){if(!(n/q*1.0499999523162842>i)){Aa=55;break}e=15;f=r<0.0&1;i=n/q;p=-(xa*aa+Ba*Z+Ca*$)/q;o=(da*xa+ba*Ba+ca*Ca)/q;h=0.0/q;Aa=58}else Aa=55;while(0);do if((Aa|0)==55){if(!e){l=Ea;return}if(!a){Aa=58;break}m=c[a>>2]|0;c[Ea>>2]=m;ga=c[a+16>>2]|0;n=(c[j>>2]=m,+g[j>>2]);m=e;B=i;e=ga;i=(c[j>>2]=ga,+g[j>>2]);h=+g[a+32>>2]}while(0);if((Aa|0)==58){n=p*+g[Ea+56>>2]+o*+g[k>>2]+h*fa;g[Ea>>2]=n;Da=p*+g[Ea+56+16>>2]+o*+g[Ea+56+20>>2]+h*ha;m=e;B=i;e=(g[j>>2]=Da,c[j>>2]|0);i=Da;h=p*+g[Ea+56+32>>2]+o*+g[Ea+56+36>>2]+h*na}if(!f)Da=h;else{n=-n;g[Ea>>2]=n;Da=-h;e=(g[j>>2]=-i,c[j>>2]|0)}if((m|0)>6){z=(c[j>>2]=e,+g[j>>2]);i=+g[Ea+56>>2];t=+g[Ea+56+16>>2];v=+g[Ea+56+32>>2];u=(n*i+z*t+Da*v>0.0?1.0:-1.0)*(ia+ka)*2.0*.5;y=+g[k>>2];x=+g[Ea+56+20>>2];h=+g[Ea+56+36>>2];s=(n*y+z*x+Da*h>0.0?1.0:-1.0)*(ja+la)*2.0*.5;w=(n*fa+z*ha+Da*na>0.0?1.0:-1.0)*ma*.5;y=+g[b+48>>2]+u*i+s*y+w*fa;x=+g[b+52>>2]+u*t+s*x+w*ha;w=+g[b+56>>2]+u*v+s*h+w*na;c[Ea+456>>2]=c[b+112>>2];c[Ea+456+4>>2]=c[b+112+4>>2];c[Ea+456+8>>2]=c[b+112+8>>2];h=(n*za+z*pa+Da*va>0.0?-1.0:1.0)*(qa+ta)*2.0*.5;s=(n*ya+z*oa+Da*ua>0.0?-1.0:1.0)*(ra+sa)*2.0*.5;v=+g[Ea+456+4>>2]+h*pa+s*oa;u=+g[Ea+456+8>>2]+h*va+s*ua;t=(n*xa+z*Ba+Da*Ca>0.0?-1.0:1.0)*wa*.5;s=+g[Ea+456>>2]+h*za+s*ya+t*xa;g[Ea+456>>2]=s;g[Ea+456+4>>2]=v+t*Ba;g[Ea+456+8>>2]=u+t*Ca;Aa=m+-7|0;h=+g[Ea+56+(((Aa|0)/3|0)<<2)>>2];i=+g[Ea+56+(((Aa|0)/3|0)+4<<2)>>2];n=+g[Ea+56+(((Aa|0)/3|0)+8<<2)>>2];p=+g[Ea+8+(((Aa|0)%3|0)<<2)>>2];q=+g[Ea+8+(((Aa|0)%3|0)+4<<2)>>2];r=+g[Ea+8+(((Aa|0)%3|0)+8<<2)>>2];o=1.0-(h*p+i*q+n*r)*(h*p+i*q+n*r);if(!(o<=9.999999747378752e-05))h=(((s-y)*h+(v+t*Ba-x)*i+(u+t*Ca-w)*n)*(h*p+i*q+n*r)-((s-y)*p+(v+t*Ba-x)*q+(u+t*Ca-w)*r))*(1.0/o);else h=0.0;g[Ea+456>>2]=s+h*p;g[Ea+456+4>>2]=v+t*Ba+h*q;g[Ea+456+8>>2]=u+t*Ca+h*r;Aa=c[(c[d>>2]|0)+16>>2]|0;g[Ea+424>>2]=-+g[Ea>>2];g[Ea+424+4>>2]=-z;g[Ea+424+8>>2]=-Da;g[Ea+424+12>>2]=0.0;Tb[Aa&15](d,Ea+424|0,Ea+456|0,B);l=Ea;return}ea=(m|0)<4;ga=ea?b+48|0:b+112|0;f=ea?b+112|0:b+48|0;a=ea?Ea+56|0:Ea+8|0;_=ea?Ea+8|0:Ea+56|0;M=ea?Ea+412|0:Ea+400|0;k=ea?Ea+400|0:Ea+412|0;fa=(c[j>>2]=e,+g[j>>2]);if(ea){da=Da;ba=n;ca=fa}else{da=-Da;ba=-n;ca=-fa}U=ba*+g[_>>2]+ca*+g[_+16>>2]+da*+g[_+32>>2];g[Ea+384>>2]=U;V=ba*+g[_+4>>2]+ca*+g[_+20>>2]+da*+g[_+36>>2];g[Ea+384+4>>2]=V;W=ba*+g[_+8>>2]+ca*+g[_+24>>2]+da*+g[_+40>>2];g[Ea+384+8>>2]=W;U=+C(+U);V=+C(+V);W=+C(+W);e=V>U?(V>W?1:2):U>W?0:2;Y=(V>U?V>W:U>W)?2:1;n=+g[k+(e<<2)>>2];h=+g[f>>2]-+g[ga>>2];i=n*+g[_+(e<<2)>>2];o=+g[f+4>>2];p=+g[ga+4>>2];if(+g[Ea+384+(e<<2)>>2]<0.0){aa=+g[f+8>>2]-+g[ga+8>>2]+n*+g[_+((e|8)<<2)>>2];$=h+i;Z=o-p+n*+g[_+((e|4)<<2)>>2]}else{aa=+g[f+8>>2]-+g[ga+8>>2]-n*+g[_+((e|8)<<2)>>2];$=h-i;Z=o-p-n*+g[_+((e|4)<<2)>>2]}J=(ea?-1:-4)+m|0;switch(J|0){case 0:{e=2;f=1;break}case 1:{e=2;f=0;break}default:{e=1;f=0}}K=a+(f<<2)|0;T=+g[K>>2];R=+g[K+16>>2];S=+g[K+32>>2];X=$*T+Z*R+aa*S;K=a+(e<<2)|0;N=+g[K>>2];v=+g[K+16>>2];w=+g[K+32>>2];Q=$*N+Z*v+aa*w;K=_+((U>W&(V>U^1)&1)<<2)|0;P=+g[K>>2];z=+g[K+16>>2];B=+g[K+32>>2];O=+g[_+(Y<<2)>>2];x=+g[_+(Y<<2)+16>>2];y=+g[_+(Y<<2)+32>>2];Ba=+g[k+((U>W&(V>U^1)&1)<<2)>>2];Ca=+g[k+(Y<<2)>>2];za=(T*O+R*x+S*y)*Ca;Ca=(N*O+v*x+w*y)*Ca;g[Ea+352>>2]=X-(T*P+R*z+S*B)*Ba-za;g[Ea+352+4>>2]=Q-(N*P+v*z+w*B)*Ba-Ca;g[Ea+352+8>>2]=X-(T*P+R*z+S*B)*Ba+za;g[Ea+352+12>>2]=Q-(N*P+v*z+w*B)*Ba+Ca;g[Ea+352+16>>2]=X+(T*P+R*z+S*B)*Ba+za;g[Ea+352+20>>2]=Q+(N*P+v*z+w*B)*Ba+Ca;g[Ea+352+24>>2]=X+(T*P+R*z+S*B)*Ba-za;g[Ea+352+28>>2]=Q+(N*P+v*z+w*B)*Ba-Ca;c[Ea+344>>2]=c[M+(f<<2)>>2];c[Ea+344+4>>2]=c[M+(e<<2)>>2];H=0;I=Ea+280|0;e=Ea+352|0;f=4;a:while(1){F=Ea+344+(H<<2)|0;G=1-H|0;do if((f|0)>0){a=I;E=e;k=0;while(1){m=E+(H<<2)|0;h=+g[m>>2];i=+g[F>>2];if(i>-h){c[a>>2]=c[E>>2];c[a+4>>2]=c[E+4>>2];k=k+1|0;if(k&8|0){e=I;f=k;break a}a=a+8|0;h=+g[m>>2];i=+g[F>>2]}A=(f|0)>1;m=E;E=E+8|0;b=A?E:e;n=+g[b+(H<<2)>>2];if(i>-h^i>-n){Ca=+g[m+(G<<2)>>2];g[a+(G<<2)>>2]=Ca+(-i-h)*((+g[b+(G<<2)>>2]-Ca)/(n-h));g[a+(H<<2)>>2]=-+g[F>>2];k=k+1|0;if(!(k&8))a=a+8|0;else{e=I;f=k;break a}}if(!A)break;else f=f+-1|0}e=(I|0)==(Ea+280|0)?Ea+456|0:Ea+280|0;if((k|0)<=0){f=0;break}a=e;E=I;f=0;while(1){m=E+(H<<2)|0;h=+g[m>>2];i=+g[F>>2];if(h<i){c[a>>2]=c[E>>2];c[a+4>>2]=c[E+4>>2];f=f+1|0;if(f&8|0)break a;a=a+8|0;h=+g[m>>2];i=+g[F>>2]}A=(k|0)>1;m=E;E=E+8|0;b=A?E:I;n=+g[b+(H<<2)>>2];if(h<i^n<i){Ca=+g[m+(G<<2)>>2];g[a+(G<<2)>>2]=Ca+(i-h)*((+g[b+(G<<2)>>2]-Ca)/(n-h));c[a+(H<<2)>>2]=c[F>>2];f=f+1|0;if(!(f&8))a=a+8|0;else break a}if(!A)break;else k=k+-1|0}}else{f=0;e=(I|0)==(Ea+280|0)?Ea+456|0:Ea+280|0}while(0);H=H+1|0;if((H|0)>=2)break;else I=(e|0)==(Ea+280|0)?Ea+456|0:Ea+280|0}if((e|0)!=(Ea+280|0))gi(Ea+280|0,e|0,f<<3|0)|0;if((f|0)>=1){u=1.0/((T*P+R*z+S*B)*(N*O+v*x+w*y)-(N*P+v*z+w*B)*(T*O+R*x+S*y));t=+g[M+(J<<2)>>2];p=+g[K>>2];q=+g[_+(Y<<2)>>2];r=+g[_+((U>W&(V>U^1)&1|4)<<2)>>2];s=+g[_+((Y|4)<<2)>>2];o=+g[_+((U>W&(V>U^1)&1|8)<<2)>>2];n=+g[_+((Y|8)<<2)>>2];b=0;a=0;do{e=a<<1;i=+g[Ea+280+(e<<2)>>2];h=+g[Ea+280+((e|1)<<2)>>2];ya=(N*O+v*x+w*y)*u*(i-X)-(T*O+R*x+S*y)*u*(h-Q);Ca=(T*P+R*z+S*B)*u*(h-Q)-(N*P+v*z+w*B)*u*(i-X);e=b*3|0;za=$+ya*p+Ca*q;g[Ea+184+(e<<2)>>2]=za;Ba=Z+ya*r+Ca*s;g[Ea+184+(e+1<<2)>>2]=Ba;Ca=aa+ya*o+Ca*n;g[Ea+184+(e+2<<2)>>2]=Ca;Ca=t-(ba*za+ca*Ba+da*Ca);g[Ea+152+(b<<2)>>2]=Ca;e=b<<1;if(Ca>=0.0){g[Ea+280+(e<<2)>>2]=i;g[Ea+280+((e|1)<<2)>>2]=h;b=b+1|0}a=a+1|0}while((a|0)!=(f|0));b:do if((b|0)>=1){A=(b|0)<4?b:4;E=(A|0)>1?A:1;if((b|0)<=(E|0))if(ea){h=-Da;e=0;while(1){Aa=e*3|0;g[Ea+456>>2]=+g[Ea+184+(Aa<<2)>>2]+ +g[ga>>2];g[Ea+456+4>>2]=+g[Ea+184+(Aa+1<<2)>>2]+ +g[ga+4>>2];g[Ea+456+8>>2]=+g[Ea+184+(Aa+2<<2)>>2]+ +g[ga+8>>2];Aa=c[(c[d>>2]|0)+16>>2]|0;g[Ea+424>>2]=-+g[Ea>>2];g[Ea+424+4>>2]=-fa;g[Ea+424+8>>2]=h;g[Ea+424+12>>2]=0.0;Tb[Aa&15](d,Ea+424|0,Ea+456|0,-+g[Ea+152+(e<<2)>>2]);e=e+1|0;if((e|0)==(b|0))break b}}else{h=-Da;e=0;while(1){Aa=e*3|0;Ca=+g[Ea+152+(e<<2)>>2];Ba=+g[Ea>>2];g[Ea+456>>2]=+g[Ea+184+(Aa<<2)>>2]+ +g[ga>>2]-Ba*Ca;g[Ea+456+4>>2]=+g[Ea+184+(Aa+1<<2)>>2]+ +g[ga+4>>2]-fa*Ca;g[Ea+456+8>>2]=+g[Ea+184+(Aa+2<<2)>>2]+ +g[ga+8>>2]-Da*Ca;Aa=c[(c[d>>2]|0)+16>>2]|0;g[Ea+424>>2]=-Ba;g[Ea+424+4>>2]=-fa;g[Ea+424+8>>2]=h;g[Ea+424+12>>2]=0.0;Tb[Aa&15](d,Ea+424|0,Ea+456|0,-Ca);e=e+1|0;if((e|0)==(b|0))break b}}c:do if((b|0)>1){h=+g[Ea+152>>2];e=0;f=1;while(1){i=+g[Ea+152+(f<<2)>>2];a=i>h;e=a?f:e;f=f+1|0;if((f|0)==(b|0))break;else h=a?i:h}switch(b|0){case 1:{f=1;a=Ea+120|0;k=Ea+120|0;Aa=111;break c}case 2:{h=(+g[Ea+280+4>>2]+ +g[Ea+280+12>>2])*.5;i=(+g[Ea+280>>2]+ +g[Ea+280+8>>2])*.5;f=2;a=Ea+120|0;k=Ea+120|0;Aa=114;break c}default:{}}a=b+-1|0;r=0.0;s=0.0;h=0.0;f=0;do{_=f<<1;ya=+g[Ea+280+(_<<2)>>2];za=+g[Ea+280+(_+3<<2)>>2];Ba=+g[Ea+280+(_+2<<2)>>2];Ca=+g[Ea+280+((_|1)<<2)>>2];h=h+(ya*za-Ba*Ca);s=s+(ya+Ba)*(ya*za-Ba*Ca);r=r+(za+Ca)*(ya*za-Ba*Ca);f=f+1|0}while((f|0)!=(a|0));_=b<<1;n=+g[Ea+280+(_+-2<<2)>>2];o=+g[Ea+280+4>>2];p=+g[Ea+280>>2];q=+g[Ea+280+(_+-1<<2)>>2];i=h+(n*o-p*q);_=+C(+i)>1.1920928955078125e-07;i=_?1.0/(i*3.0):999999984306749440.0;if((b|0)>0){h=i*(r+(n*o-p*q)*(q+o));i=i*(s+(n*o-p*q)*(n+p));a=Ea+120|0;k=Ea+120|0;m=Ea+456|0;Aa=117;break}m=e;e=Ea+120|0;f=0}else{e=0;f=b;a=Ea+120|0;k=Ea+120|0;Aa=111}while(0);if((Aa|0)==111){h=+g[Ea+280+4>>2];i=+g[Ea+280>>2];Aa=114}if((Aa|0)==114){b=f;m=Ea+456|0;Aa=117}if((Aa|0)==117){f=0;do{Aa=f<<1;g[Ea+456+(f<<2)>>2]=+L(+(+g[Ea+280+((Aa|1)<<2)>>2]-h),+(+g[Ea+280+(Aa<<2)>>2]-i));f=f+1|0}while((f|0)!=(b|0));f=0;do{c[Ea+424+(f<<2)>>2]=1;f=f+1|0}while((f|0)!=(b|0));m=e;e=a;f=1}a=Ea+424+(m<<2)|0;c[a>>2]=0;c[e>>2]=m;d:do if((A|0)>1){o=+g[Ea+456+(m<<2)>>2];if(f){f=1;a=Ea+120+4|0}else{e=1;f=Ea+120+4|0;while(1){c[f>>2]=m;c[a>>2]=0;e=e+1|0;if((e|0)==(E|0))break d;else f=f+4|0}}while(1){n=6.2831854820251465/+(E|0)*+(f|0)+o;n=n>3.1415927410125732?n+-6.2831854820251465:n;c[a>>2]=m;i=1.0e9;k=0;e=m;while(1){do if(!(c[Ea+424+(k<<2)>>2]|0))h=i;else{h=+C(+(+g[Ea+456+(k<<2)>>2]-n));h=h>3.1415927410125732?6.2831854820251465-h:h;if(!(h<i)){h=i;break}c[a>>2]=k;e=k}while(0);k=k+1|0;if((k|0)==(b|0))break;else i=h}c[Ea+424+(e<<2)>>2]=0;f=f+1|0;if((f|0)==(E|0))break;else a=a+4|0}}while(0);if((E|0)>0){h=-Da;if(ea){e=0;do{Aa=c[Ea+120+(e<<2)>>2]|0;g[Ea+456>>2]=+g[Ea+184+(Aa*3<<2)>>2]+ +g[ga>>2];g[Ea+456+4>>2]=+g[Ea+184+((Aa*3|0)+1<<2)>>2]+ +g[ga+4>>2];g[Ea+456+8>>2]=+g[Ea+184+((Aa*3|0)+2<<2)>>2]+ +g[ga+8>>2];ea=c[(c[d>>2]|0)+16>>2]|0;g[Ea+424>>2]=-+g[Ea>>2];g[Ea+424+4>>2]=-fa;g[Ea+424+8>>2]=h;g[Ea+424+12>>2]=0.0;Tb[ea&15](d,Ea+424|0,Ea+456|0,-+g[Ea+152+(Aa<<2)>>2]);e=e+1|0}while((e|0)<(E|0))}else{e=0;do{ea=c[Ea+120+(e<<2)>>2]|0;xa=+g[Ea+184+(ea*3<<2)>>2]+ +g[ga>>2];g[Ea+456>>2]=xa;za=+g[Ea+184+((ea*3|0)+1<<2)>>2]+ +g[ga+4>>2];g[Ea+456+4>>2]=za;Ba=+g[Ea+184+((ea*3|0)+2<<2)>>2]+ +g[ga+8>>2];g[Ea+456+8>>2]=Ba;Aa=c[(c[d>>2]|0)+16>>2]|0;ya=+g[Ea>>2];g[Ea+424>>2]=-ya;g[Ea+424+4>>2]=-fa;g[Ea+424+8>>2]=h;g[Ea+424+12>>2]=0.0;Ca=+g[Ea+152+(ea<<2)>>2];g[Ea+104>>2]=xa-ya*Ca;g[Ea+104+4>>2]=za-Ca*fa;g[Ea+104+8>>2]=Ba-Ca*Da;g[Ea+104+12>>2]=0.0;Tb[Aa&15](d,Ea+424|0,Ea+104|0,-Ca);e=e+1|0}while((e|0)<(E|0))}}}while(0)}l=Ea;return}function qc(b,d,e,f,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0;Y=l;l=l+256|0;c[b+188>>2]=-1;m=c[k+72>>2]|0;if((m|0)!=(c[b+224>>2]|0)){c[b+212>>2]=14;c[b+216>>2]=15;c[b+220>>2]=16;c[b+224>>2]=m}c[b+184>>2]=0;if((e|0)>0){m=0;do{c[(c[d+(m<<2)>>2]|0)+212>>2]=-1;m=m+1|0}while((m|0)!=(e|0))}m=c[b+12>>2]|0;if((m|0)>(e|0)){o=b+8|0;n=m}else{if((e+1|0)!=0?(c[6995]=(c[6995]|0)+1,n=sc(((e+1|0)*244|3)+16|0)|0,(n|0)!=0):0){c[(n+4+15&-16)+-4>>2]=n;o=n+4+15&-16}else o=0;n=c[b+8>>2]|0;if((n|0)>0){m=0;do{V=o+(m*244|0)|0;W=c[b+16>>2]|0;U=W+(m*244|0)|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];V=W+(m*244|0)+16|0;U=o+(m*244|0)+16|0;c[U>>2]=c[V>>2];c[U+4>>2]=c[V+4>>2];c[U+8>>2]=c[V+8>>2];c[U+12>>2]=c[V+12>>2];U=W+(m*244|0)+32|0;V=o+(m*244|0)+32|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];V=o+(m*244|0)+48|0;U=W+(m*244|0)+48|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];gi(o+(m*244|0)+64|0,W+(m*244|0)+64|0,180)|0;m=m+1|0}while((m|0)!=(n|0))}m=c[b+16>>2]|0;if(m|0){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[m+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=o;c[b+12>>2]=e+1;o=b+8|0;n=e+1|0}Yk(Y|0,0,244)|0;m=c[o>>2]|0;if((m|0)<0){if((n|0)<0){n=c[b+16>>2]|0;if(n|0){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0}do{W=c[b+16>>2]|0;V=W+(m*244|0)|0;c[V>>2]=c[Y>>2];c[V+4>>2]=c[Y+4>>2];c[V+8>>2]=c[Y+8>>2];c[V+12>>2]=c[Y+12>>2];V=W+(m*244|0)+16|0;c[V>>2]=c[Y+16>>2];c[V+4>>2]=c[Y+16+4>>2];c[V+8>>2]=c[Y+16+8>>2];c[V+12>>2]=c[Y+16+12>>2];V=W+(m*244|0)+32|0;c[V>>2]=c[Y+32>>2];c[V+4>>2]=c[Y+32+4>>2];c[V+8>>2]=c[Y+32+8>>2];c[V+12>>2]=c[Y+32+12>>2];V=W+(m*244|0)+48|0;c[V>>2]=c[Y+48>>2];c[V+4>>2]=c[Y+48+4>>2];c[V+8>>2]=c[Y+48+8>>2];c[V+12>>2]=c[Y+48+12>>2];gi(W+(m*244|0)+64|0,Y+64|0,180)|0;m=m+1|0}while((m|0)!=0)}c[o>>2]=0;if((e|0)>0){n=0;do{p=d+(n<<2)|0;o=Rj(b,c[p>>2]|0,+g[k+12>>2])|0;p=c[p>>2]|0;if(!((p|0)==0?1:(c[p+252>>2]&2|0)==0)?+g[p+404>>2]!=0.0:0){r=c[b+16>>2]|0;m=c[p+564>>2]|0;if(m&2){q=+g[k+84>>2];M=+g[p+456>>2];O=+g[p+460>>2];s=+g[p+464>>2];G=+g[p+4>>2];M=M!=0.0?1.0/M:0.0;H=+g[p+8>>2];O=O!=0.0?1.0/O:0.0;I=+g[p+12>>2];s=s!=0.0?1.0/s:0.0;J=+g[p+20>>2];K=+g[p+24>>2];L=+g[p+28>>2];N=+g[p+36>>2];P=+g[p+40>>2];v=+g[p+44>>2];w=+g[p+388>>2];x=+g[p+392>>2];u=+g[p+396>>2];y=(M*G*G+O*H*H+s*I*I)*w+(M*G*J+O*H*K+s*I*L)*x+(M*G*N+O*H*P+s*I*v)*u;z=(M*J*G+O*K*H+s*L*I)*w+(M*J*J+O*K*K+s*L*L)*x+(M*J*N+O*K*P+s*L*v)*u;v=(M*N*G+O*P*H+s*v*I)*w+(M*N*J+O*P*K+s*v*L)*x+(M*N*N+O*P*P+s*v*v)*u;s=(x*v-u*z)*(x*v-u*z)+(u*y-w*v)*(u*y-w*v)+(w*z-x*y)*(w*z-x*y);if(s>q*q){q=1.0/+D(+s)*q;t=(x*v-u*z)*q;s=q*(u*y-w*v);q=q*(w*z-x*y)}else{t=x*v-u*z;s=u*y-w*v;q=w*z-x*y}N=+g[k+12>>2];O=(t*+g[p+328>>2]+s*+g[p+344>>2]+q*+g[p+360>>2])*N;P=N*(t*+g[p+332>>2]+s*+g[p+348>>2]+q*+g[p+364>>2]);g[r+(o*244|0)+224>>2]=+g[r+(o*244|0)+224>>2]-(t*+g[p+324>>2]+s*+g[p+340>>2]+q*+g[p+356>>2])*N;g[r+(o*244|0)+228>>2]=+g[r+(o*244|0)+228>>2]-O;g[r+(o*244|0)+232>>2]=+g[r+(o*244|0)+232>>2]-P;m=c[p+564>>2]|0}if(m&4){H=+g[k+12>>2];s=+g[p+456>>2];N=+g[p+460>>2];L=+g[p+464>>2];E=+g[p+388>>2];x=+g[p+392>>2];P=+g[p+396>>2];K=+g[p+4>>2];s=s!=0.0?1.0/s:0.0;w=+g[p+8>>2];N=N!=0.0?1.0/N:0.0;y=+g[p+12>>2];L=L!=0.0?1.0/L:0.0;q=+g[p+20>>2];J=+g[p+24>>2];B=+g[p+28>>2];M=+g[p+36>>2];I=+g[p+40>>2];t=+g[p+44>>2];z=s*K*K+N*w*w+L*y*y;G=s*K*q+N*w*J+L*y*B;u=s*K*M+N*w*I+L*y*t;A=s*q*K+N*J*w+L*B*y;F=s*q*q+N*J*J+L*B*B;v=s*q*M+N*J*I+L*B*t;y=s*M*K+N*I*w+L*t*y;B=s*M*q+N*I*J+L*t*B;t=s*M*M+N*I*I+L*t*t;L=E*z+x*G+P*u+(x*(E*y+x*B+P*t)-P*(E*A+x*F+P*v))*H-(H*0.0+(E*z+x*G+P*u));I=E*A+x*F+P*v+(P*(E*z+x*G+P*u)-E*(E*y+x*B+P*t))*H-(H*0.0+(E*A+x*F+P*v));N=E*y+x*B+P*t+(E*(E*A+x*F+P*v)-x*(E*z+x*G+P*u))*H-(H*0.0+(E*y+x*B+P*t));M=G+(E*y+x*B+P*t+(x*B+(G*0.0+F*-P)))*H;s=u+(x*t+(u*0.0+v*-P)-(E*A+x*F+P*v))*H;J=A+(y*-E+(A*0.0+P*z)-(E*y+x*B+P*t))*H;q=v+(E*z+x*G+P*u+(t*-E+(v*0.0+P*u)))*H;w=y+(y*0.0+(z*-x+E*A)+(E*A+x*F+P*v))*H;K=B+(B*0.0+(G*-x+E*F)-(E*z+x*G+P*u))*H;_=(F+(B*-E+(F*0.0+P*G))*H)*(t+(t*0.0+(u*-x+E*v))*H)-K*q;Z=K*s-M*(t+(t*0.0+(u*-x+E*v))*H);$=M*q-(F+(B*-E+(F*0.0+P*G))*H)*s;O=w*$+((z+(x*y+(z*0.0+A*-P))*H)*_+J*Z);m=+C(+O)>1.1920928955078125e-07;O=m?1.0/O:O;g[r+(o*244|0)+224>>2]=E-(N*$+(L*_+I*Z))*O-E+ +g[r+(o*244|0)+224>>2];g[r+(o*244|0)+228>>2]=x-(w*(q*L-s*I)+((z+(x*y+(z*0.0+A*-P))*H)*((t+(t*0.0+(u*-x+E*v))*H)*I-q*N)+J*(s*N-(t+(t*0.0+(u*-x+E*v))*H)*L)))*O-x+ +g[r+(o*244|0)+228>>2];g[r+(o*244|0)+232>>2]=P-(w*(M*I-(F+(B*-E+(F*0.0+P*G))*H)*L)+((z+(x*y+(z*0.0+A*-P))*H)*((F+(B*-E+(F*0.0+P*G))*H)*N-K*I)+J*(K*L-M*N)))*O-P+ +g[r+(o*244|0)+232>>2];m=c[p+564>>2]|0}if(m&8|0){O=+g[k+12>>2];z=+g[p+456>>2];A=+g[p+460>>2];w=+g[p+464>>2];J=+g[p+388>>2];K=+g[p+392>>2];$=+g[p+396>>2];yh(p+4|0,Y);_=+g[Y>>2];L=+g[Y+4>>2];M=+g[Y+8>>2];B=+g[Y+12>>2];F=M*(J*-M+K*B-$*-_)+(_*(-(J*-_)-K*-L-$*-M)+B*($*-L+J*B-K*-M))-L*(K*-_+$*B-J*-L);H=_*(K*-_+$*B-J*-L)+(L*(-(J*-_)-K*-L-$*-M)+B*(J*-M+K*B-$*-_))-M*($*-L+J*B-K*-M);B=L*($*-L+J*B-K*-M)+(M*(-(J*-_)-K*-L-$*-M)+B*(K*-_+$*B-J*-L))-_*(J*-M+K*B-$*-_);z=z!=0.0?1.0/z:0.0;I=B*0.0+(z*F+H*0.0);A=A!=0.0?1.0/A:0.0;G=B*0.0+(F*0.0+A*H);w=w!=0.0?1.0/w:0.0;E=w*B+(F*0.0+H*0.0);x=z+(H*0.0+(z*0.0+B*-0.0))*O;y=A+(F*-0.0+(A*0.0+B*0.0))*O;P=w+(w*0.0+(H*-0.0+F*0.0))*O;v=y*P-((H*-0.0+A*F+0.0-I)*O+0.0)*((B*0.0+0.0-w*F+I)*O+0.0);N=((H*-0.0+A*F+0.0-I)*O+0.0)*((w*H+(B*-0.0+0.0)-G)*O+0.0)-P*((H*0.0+(0.0-A*B)+E)*O+0.0);u=((H*0.0+(0.0-A*B)+E)*O+0.0)*((B*0.0+0.0-w*F+I)*O+0.0)-y*((w*H+(B*-0.0+0.0)-G)*O+0.0);Z=((F*0.0-z*H+0.0+G)*O+0.0)*u+(x*v+((F*-0.0+(z*B+0.0)-E)*O+0.0)*N);W=+C(+Z)>1.1920928955078125e-07;Z=W?1.0/Z:Z;N=F-((F*G-H*I)*O*u+((H*E-B*G)*O*v+(B*I-F*E)*O*N))*Z;P=H-(((F*0.0-z*H+0.0+G)*O+0.0)*(((B*0.0+0.0-w*F+I)*O+0.0)*(H*E-B*G)*O-((w*H+(B*-0.0+0.0)-G)*O+0.0)*(B*I-F*E)*O)+(x*(P*(B*I-F*E)*O-((B*0.0+0.0-w*F+I)*O+0.0)*(F*G-H*I)*O)+((F*-0.0+(z*B+0.0)-E)*O+0.0)*(((w*H+(B*-0.0+0.0)-G)*O+0.0)*(F*G-H*I)*O-P*(H*E-B*G)*O)))*Z;Z=B-(((F*0.0-z*H+0.0+G)*O+0.0)*(((H*0.0+(0.0-A*B)+E)*O+0.0)*(B*I-F*E)*O-y*(H*E-B*G)*O)+(x*(y*(F*G-H*I)*O-((H*-0.0+A*F+0.0-I)*O+0.0)*(B*I-F*E)*O)+((F*-0.0+(z*B+0.0)-E)*O+0.0)*(((H*-0.0+A*F+0.0-I)*O+0.0)*(H*E-B*G)*O-((H*0.0+(0.0-A*B)+E)*O+0.0)*(F*G-H*I)*O)))*Z;O=+g[Y+12>>2];g[r+(o*244|0)+224>>2]=(M*N+O*P-_*Z)*-M+(O*(O*N+L*Z-M*P)+(-(_*N)-L*P-M*Z)*-_)-(O*Z+_*P-L*N)*-L-J+ +g[r+(o*244|0)+224>>2];g[r+(o*244|0)+228>>2]=(O*Z+_*P-L*N)*-_+(O*(M*N+O*P-_*Z)+(-(_*N)-L*P-M*Z)*-L)-(O*N+L*Z-M*P)*-M-K+ +g[r+(o*244|0)+228>>2];g[r+(o*244|0)+232>>2]=(O*N+L*Z-M*P)*-L+((-(_*N)-L*P-M*Z)*-M+O*(O*Z+_*P-L*N))-(M*N+O*P-_*Z)*-_-$+ +g[r+(o*244|0)+232>>2]}}n=n+1|0}while((n|0)!=(e|0))}if((j|0)>0){m=0;do{W=c[i+(m<<2)>>2]|0;Ib[c[(c[W>>2]|0)+8>>2]&511](W);g[W+36>>2]=0.0;m=m+1|0}while((m|0)<(j|0))}n=c[b+168>>2]|0;if((n|0)<(j|0)?(c[b+172>>2]|0)<(j|0):0){if(!j)m=0;else{c[6995]=(c[6995]|0)+1;m=sc((j<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+168>>2]|0}if((n|0)>0){o=0;do{U=(c[b+176>>2]|0)+(o<<3)|0;V=c[U+4>>2]|0;W=m+(o<<3)|0;c[W>>2]=c[U>>2];c[W+4>>2]=V;o=o+1|0}while((o|0)!=(n|0))}n=c[b+176>>2]|0;if(n|0){if(a[b+180>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=m;c[b+172>>2]=j}c[b+168>>2]=j;if((j|0)>0){m=0;e=0;do{r=c[b+176>>2]|0;d=r+(e<<3)|0;p=i+(e<<2)|0;n=c[p>>2]|0;o=c[n+44>>2]|0;if(o){n=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(n|0));n=c[p>>2]|0}if(!(a[n+20>>0]|0)){c[d>>2]=0;c[r+(e<<3)+4>>2]=0;n=0}else{Ob[c[(c[n>>2]|0)+16>>2]&127](n,d);n=c[d>>2]|0}m=n+m|0;e=e+1|0}while((e|0)<(j|0));p=m}else p=0;n=c[b+48>>2]|0;if((n|0)<(p|0)?(c[b+52>>2]|0)<(p|0):0){if(!p)m=0;else{c[6995]=(c[6995]|0)+1;m=sc((p*152|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+48>>2]|0}if((n|0)>0){o=0;do{gi(m+(o*152|0)|0,(c[b+56>>2]|0)+(o*152|0)|0,152)|0;o=o+1|0}while((o|0)!=(n|0))}n=c[b+56>>2]|0;if(n|0){if(a[b+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=m;c[b+52>>2]=p}c[b+48>>2]=p;if((j|0)>0){V=0;W=0;m=c[b+176>>2]|0;while(1){U=m+(W<<3)|0;if(!(c[U>>2]|0))n=0;else{n=c[b+56>>2]|0;p=n+(V*152|0)|0;r=i+(W<<2)|0;d=c[r>>2]|0;e=c[d+28>>2]|0;Q=c[d+32>>2]|0;R=Rj(b,e,+g[k+12>>2])|0;S=Rj(b,Q,+g[k+12>>2])|0;T=c[b+16>>2]|0;o=c[d+24>>2]|0;o=(o|0)>0?o:c[k+20>>2]|0;if((o|0)>(c[b+184>>2]|0))c[b+184>>2]=o;if((c[U>>2]|0)>0){m=0;do{Yk(p+(m*152|0)|0,0,152)|0;g[p+(m*152|0)+120>>2]=-3402823466385288598117041.0e14;g[p+(m*152|0)+124>>2]=3402823466385288598117041.0e14;g[p+(m*152|0)+100>>2]=0.0;g[p+(m*152|0)+96>>2]=0.0;c[p+(m*152|0)+144>>2]=R;c[p+(m*152|0)+148>>2]=S;c[p+(m*152|0)+136>>2]=o;m=m+1|0}while((m|0)<(c[U>>2]|0))}c[T+(R*244|0)+64>>2]=0;c[T+(R*244|0)+64+4>>2]=0;c[T+(R*244|0)+64+8>>2]=0;c[T+(R*244|0)+64+12>>2]=0;c[T+(R*244|0)+64+16>>2]=0;c[T+(R*244|0)+64+20>>2]=0;c[T+(R*244|0)+64+24>>2]=0;c[T+(R*244|0)+64+28>>2]=0;c[T+(R*244|0)+144>>2]=0;c[T+(R*244|0)+144+4>>2]=0;c[T+(R*244|0)+144+8>>2]=0;c[T+(R*244|0)+144+12>>2]=0;c[T+(R*244|0)+144+16>>2]=0;c[T+(R*244|0)+144+20>>2]=0;c[T+(R*244|0)+144+24>>2]=0;c[T+(R*244|0)+144+28>>2]=0;c[T+(S*244|0)+64>>2]=0;c[T+(S*244|0)+64+4>>2]=0;c[T+(S*244|0)+64+8>>2]=0;c[T+(S*244|0)+64+12>>2]=0;c[T+(S*244|0)+64+16>>2]=0;c[T+(S*244|0)+64+20>>2]=0;c[T+(S*244|0)+64+24>>2]=0;c[T+(S*244|0)+64+28>>2]=0;c[T+(S*244|0)+144>>2]=0;c[T+(S*244|0)+144+4>>2]=0;c[T+(S*244|0)+144+8>>2]=0;c[T+(S*244|0)+144+12>>2]=0;c[T+(S*244|0)+144+16>>2]=0;c[T+(S*244|0)+144+20>>2]=0;c[T+(S*244|0)+144+24>>2]=0;c[T+(S*244|0)+144+28>>2]=0;g[Y>>2]=1.0/+g[k+12>>2];c[Y+4>>2]=c[k+32>>2];c[Y+8>>2]=n+(V*152|0)+16;c[Y+12>>2]=p;c[Y+16>>2]=n+(V*152|0)+48;c[Y+20>>2]=n+(V*152|0)+32;c[Y+24>>2]=38;c[Y+28>>2]=n+(V*152|0)+112;o=n+(V*152|0)+116|0;c[o>>2]=c[k+40>>2];c[Y+48>>2]=c[k+4>>2];c[Y+32>>2]=o;c[Y+36>>2]=n+(V*152|0)+120;c[Y+40>>2]=n+(V*152|0)+124;c[Y+44>>2]=c[k+20>>2];o=c[r>>2]|0;Ob[c[(c[o>>2]|0)+20>>2]&127](o,Y);if((c[U>>2]|0)>0){n=0;do{m=p+(n*152|0)+124|0;q=+g[(c[r>>2]|0)+16>>2];if(+g[m>>2]>=q)g[m>>2]=q;m=p+(n*152|0)+120|0;if(+g[m>>2]<=-q)g[m>>2]=-q;c[p+(n*152|0)+132>>2]=d;aa=p+(n*152|0)|0;ba=c[d+28>>2]|0;$=+g[aa>>2];Z=+g[aa+4>>2];_=+g[aa+8>>2];q=($*+g[ba+340>>2]+Z*+g[ba+344>>2]+_*+g[ba+348>>2])*+g[ba+608>>2];s=($*+g[ba+356>>2]+Z*+g[ba+360>>2]+_*+g[ba+364>>2])*+g[ba+612>>2];o=p+(n*152|0)+64|0;g[o>>2]=(+g[ba+324>>2]*$+ +g[ba+328>>2]*Z+ +g[ba+332>>2]*_)*+g[ba+604>>2];g[o+4>>2]=q;g[o+8>>2]=s;g[o+12>>2]=0.0;o=p+(n*152|0)+32|0;ba=c[d+32>>2]|0;s=+g[o>>2];q=+g[o+4>>2];_=+g[o+8>>2];Z=(s*+g[ba+340>>2]+q*+g[ba+344>>2]+_*+g[ba+348>>2])*+g[ba+608>>2];$=(s*+g[ba+356>>2]+q*+g[ba+360>>2]+_*+g[ba+364>>2])*+g[ba+612>>2];m=p+(n*152|0)+80|0;g[m>>2]=(+g[ba+324>>2]*s+ +g[ba+328>>2]*q+ +g[ba+332>>2]*_)*+g[ba+604>>2];g[m+4>>2]=Z;g[m+8>>2]=$;g[m+12>>2]=0.0;m=p+(n*152|0)+16|0;$=+g[e+404>>2];Z=+g[m>>2];_=+g[m+4>>2];q=+g[m+8>>2];s=+g[aa>>2];t=+g[aa+4>>2];u=+g[aa+8>>2];aa=p+(n*152|0)+48|0;B=+g[Q+404>>2];v=+g[aa>>2];w=+g[aa+4>>2];x=+g[aa+8>>2];y=+g[o>>2];z=+g[o+4>>2];A=+g[o+8>>2];B=Z*$*Z+_*$*_+q*$*q+(s*(+g[e+324>>2]*s+ +g[e+328>>2]*t+ +g[e+332>>2]*u)+t*(s*+g[e+340>>2]+t*+g[e+344>>2]+u*+g[e+348>>2])+u*(s*+g[e+356>>2]+t*+g[e+360>>2]+u*+g[e+364>>2]))+(v*B*v+w*B*w+x*B*x)+(y*(+g[Q+324>>2]*y+ +g[Q+328>>2]*z+ +g[Q+332>>2]*A)+z*(y*+g[Q+340>>2]+z*+g[Q+344>>2]+A*+g[Q+348>>2])+A*(y*+g[Q+356>>2]+z*+g[Q+360>>2]+A*+g[Q+364>>2]));o=+C(+B)>1.1920928955078125e-07;B=o?1.0/B:0.0;g[p+(n*152|0)+108>>2]=B;if(!(c[T+(R*244|0)+240>>2]|0)){E=0.0;F=0.0;G=0.0;H=0.0;I=0.0;J=0.0}else{E=+g[T+(R*244|0)+208>>2];F=+g[T+(R*244|0)+212>>2];G=+g[T+(R*244|0)+216>>2];H=+g[T+(R*244|0)+224>>2];I=+g[T+(R*244|0)+228>>2];J=+g[T+(R*244|0)+232>>2]}if(!(c[T+(S*244|0)+240>>2]|0)){K=0.0;L=0.0;M=0.0;N=0.0;O=0.0;P=0.0}else{K=+g[T+(S*244|0)+208>>2];L=+g[T+(S*244|0)+212>>2];M=+g[T+(S*244|0)+216>>2];N=+g[T+(S*244|0)+224>>2];O=+g[T+(S*244|0)+228>>2];P=+g[T+(S*244|0)+232>>2]}ba=p+(n*152|0)+112|0;g[ba>>2]=+g[ba>>2]*B+B*(0.0-+g[Y+48>>2]*((E+ +g[e+372>>2])*+g[m>>2]+(F+ +g[e+376>>2])*+g[m+4>>2]+(G+ +g[e+380>>2])*q+((H+ +g[e+388>>2])*s+(I+ +g[e+392>>2])*t+(J+ +g[e+396>>2])*u)+((K+ +g[Q+372>>2])*v+(L+ +g[Q+376>>2])*w+(M+ +g[Q+380>>2])*x+((N+ +g[Q+388>>2])*y+(O+ +g[Q+392>>2])*z+(P+ +g[Q+396>>2])*A))));g[p+(n*152|0)+100>>2]=0.0;n=n+1|0}while((n|0)<(c[U>>2]|0))}m=c[b+176>>2]|0;n=c[m+(W<<3)>>2]|0}W=W+1|0;if((W|0)>=(j|0))break;else V=n+V|0}}Vb[c[(c[b>>2]|0)+28>>2]&127](b,f,h,k);r=c[b+48>>2]|0;d=c[b+28>>2]|0;e=c[b+68>>2]|0;n=c[b+128>>2]|0;if((n|0)<(r|0)?(c[b+132>>2]|0)<(r|0):0){if(!r)m=0;else{c[6995]=(c[6995]|0)+1;m=sc((r<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+128>>2]|0}p=c[b+136>>2]|0;if((n|0)<=0)if(!p)n=b+140|0;else X=105;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));X=105}if((X|0)==105){if(a[b+140>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[p+-4>>2]|0)}c[b+136>>2]=0;n=b+140|0}a[n>>0]=1;c[b+136>>2]=m;c[b+132>>2]=r}c[b+128>>2]=r;if(!(c[k+72>>2]&16)){n=c[b+108>>2]|0;if((n|0)<(d|0)?(c[b+112>>2]|0)<(d|0):0){if(!d)m=0;else{c[6995]=(c[6995]|0)+1;m=sc((d<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+108>>2]|0}p=c[b+116>>2]|0;if((n|0)<=0)if(!p)n=b+120|0;else X=135;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));X=135}if((X|0)==135){if(a[b+120>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[p+-4>>2]|0)}c[b+116>>2]=0;n=b+120|0}a[n>>0]=1;c[b+116>>2]=m;c[b+112>>2]=d}c[b+108>>2]=d}else{n=c[b+108>>2]|0;if((n|0)<(d<<1|0)?(c[b+112>>2]|0)<(d<<1|0):0){if(!d)m=0;else{c[6995]=(c[6995]|0)+1;m=sc((d<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+108>>2]|0}p=c[b+116>>2]|0;if((n|0)<=0)if(!p)n=b+120|0;else X=120;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));X=120}if((X|0)==120){if(a[b+120>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[p+-4>>2]|0)}c[b+116>>2]=0;n=b+120|0}a[n>>0]=1;c[b+116>>2]=m;c[b+112>>2]=d<<1}c[b+108>>2]=d<<1}n=c[b+148>>2]|0;if((n|0)<(e|0)?(c[b+152>>2]|0)<(e|0):0){if(!e)m=0;else{c[6995]=(c[6995]|0)+1;m=sc((e<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+148>>2]|0}p=c[b+156>>2]|0;if((n|0)<=0)if(!p)n=b+160|0;else X=150;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));X=150}if((X|0)==150){if(a[b+160>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[p+-4>>2]|0)}c[b+156>>2]=0;n=b+160|0}a[n>>0]=1;c[b+156>>2]=m;c[b+152>>2]=e}c[b+148>>2]=e;if((r|0)>0){n=c[b+136>>2]|0;m=0;do{c[n+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(r|0))}if((d|0)>0){n=c[b+116>>2]|0;m=0;do{c[n+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(d|0))}if((e|0)<=0){l=Y;return 0.0}n=c[b+156>>2]|0;m=0;do{c[n+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(e|0));l=Y;return 0.0}function rc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;V=c[e>>2]|0;fa=c[f>>2]|0;if(V|0)g=c[V+12>>2]|0;else g=b;h=c[g+88>>2]|0;i=c[g+92>>2]|0;j=c[g+96>>2]|0;if(!fa)g=d;else g=c[fa+12>>2]|0;r=c[g+88>>2]|0;p=c[g+92>>2]|0;q=c[g+96>>2]|0;Z=c[b+88>>2]|0;da=(c[d+88>>2]|0)-Z|0;u=c[b+92>>2]|0;ea=(c[d+92>>2]|0)-u|0;l=c[b+96>>2]|0;W=(c[d+96>>2]|0)-l|0;Y=c[(V|0?V:fa)+12>>2]|0;_=(c[Y+88>>2]|0)-Z|0;U=(c[Y+92>>2]|0)-u|0;Y=(c[Y+96>>2]|0)-l|0;X=(P(U,W)|0)-(P(Y,ea)|0)|0;Y=(P(Y,da)|0)-(P(_,W)|0)|0;U=(P(_,ea)|0)-(P(U,da)|0)|0;Z=ct(X|0,((X|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;_=A;u=ct(Y|0,((Y|0)<0)<<31>>31|0,u|0,((u|0)<0)<<31>>31|0)|0;t=A;l=ct(U|0,((U|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Ow(Z|0,_|0,l|0,A|0)|0;t=Ow(l|0,A|0,u|0,t|0)|0;u=A;l=ct(U|0,((U|0)<0)<<31>>31|0,ea|0,((ea|0)<0)<<31>>31|0)|0;_=A;Z=ct(Y|0,((Y|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;Z=sw(l|0,_|0,Z|0,A|0)|0;_=A;l=ct(X|0,((X|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;aa=A;$=ct(U|0,((U|0)<0)<<31>>31|0,da|0,((da|0)<0)<<31>>31|0)|0;$=sw(l|0,aa|0,$|0,A|0)|0;aa=A;l=ct(Y|0,((Y|0)<0)<<31>>31|0,da|0,((da|0)<0)<<31>>31|0)|0;ca=A;ba=ct(X|0,((X|0)<0)<<31>>31|0,ea|0,((ea|0)<0)<<31>>31|0)|0;ba=sw(l|0,ca|0,ba|0,A|0)|0;ca=A;l=ct(Z|0,_|0,h|0,((h|0)<0)<<31>>31|0)|0;T=A;k=ct($|0,aa|0,i|0,((i|0)<0)<<31>>31|0)|0;T=Ow(k|0,A|0,l|0,T|0)|0;l=A;k=ct(ba|0,ca|0,j|0,((j|0)<0)<<31>>31|0)|0;k=Ow(T|0,l|0,k|0,A|0)|0;l=A;if((V|0)!=0?(c[V+12>>2]|0)!=0:0){g=h;b=i;d=j;n=V;o=l;m=k;while(1){n=c[(c[n+8>>2]|0)+4>>2]|0;l=n+12|0;j=c[l>>2]|0;h=c[j+88>>2]|0;S=ct(h|0,((h|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;R=A;i=c[j+92>>2]|0;T=ct(i|0,((i|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;R=Ow(T|0,A|0,S|0,R|0)|0;S=A;j=c[j+96>>2]|0;T=ct(j|0,((j|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;T=Ow(R|0,S|0,T|0,A|0)|0;S=A;if((S|0)<(u|0)|(S|0)==(u|0)&T>>>0<t>>>0){k=m;j=o;break}if((c[n+20>>2]|0)==(c[a+100>>2]|0)){k=m;j=o;break}T=ct(h|0,((h|0)<0)<<31>>31|0,Z|0,_|0)|0;S=A;k=ct(i|0,((i|0)<0)<<31>>31|0,$|0,aa|0)|0;S=Ow(k|0,A|0,T|0,S|0)|0;T=A;k=ct(j|0,((j|0)<0)<<31>>31|0,ba|0,ca|0)|0;k=Ow(S|0,T|0,k|0,A|0)|0;j=A;if(!((j|0)>(o|0)|(j|0)==(o|0)&k>>>0>m>>>0)){k=m;j=o;break}c[e>>2]=n;T=c[l>>2]|0;g=c[T+88>>2]|0;b=c[T+92>>2]|0;d=c[T+96>>2]|0;if(!T)break;else{o=j;m=k}}h=g;i=c[f>>2]|0;s=j}else{b=i;d=j;i=fa;s=l}g=ct(Z|0,_|0,r|0,((r|0)<0)<<31>>31|0)|0;T=A;j=ct($|0,aa|0,p|0,((p|0)<0)<<31>>31|0)|0;T=Ow(j|0,A|0,g|0,T|0)|0;g=A;j=ct(ba|0,ca|0,q|0,((q|0)<0)<<31>>31|0)|0;j=Ow(T|0,g|0,j|0,A|0)|0;g=A;a:do if(i)if(!(c[i+12>>2]|0))o=q;else{o=q;while(1){q=c[c[i+8>>2]>>2]|0;n=c[q+12>>2]|0;l=c[n+88>>2]|0;S=ct(l|0,((l|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;R=A;m=c[n+92>>2]|0;T=ct(m|0,((m|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;R=Ow(T|0,A|0,S|0,R|0)|0;S=A;n=c[n+96>>2]|0;T=ct(n|0,((n|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;T=Ow(R|0,S|0,T|0,A|0)|0;S=A;if((S|0)<(u|0)|(S|0)==(u|0)&T>>>0<t>>>0)break a;if((c[q+20>>2]|0)==(c[a+100>>2]|0))break a;l=ct(l|0,((l|0)<0)<<31>>31|0,Z|0,_|0)|0;T=A;m=ct(m|0,((m|0)<0)<<31>>31|0,$|0,aa|0)|0;T=Ow(m|0,A|0,l|0,T|0)|0;m=A;l=ct(n|0,((n|0)<0)<<31>>31|0,ba|0,ca|0)|0;l=Ow(T|0,m|0,l|0,A|0)|0;m=A;if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>j>>>0))break a;c[f>>2]=q;T=c[q+12>>2]|0;g=c[T+88>>2]|0;i=c[T+92>>2]|0;j=c[T+96>>2]|0;if(!T){r=g;p=i;o=j;i=q;j=l;g=m;break}else{r=g;p=i;o=j;i=q;g=m;j=l}}}else{o=q;i=0}while(0);j=sw(j|0,g|0,k|0,s|0)|0;T=A;if((T|0)>0|(T|0)==0&j>>>0>0){R=sw(0,0,U|0,((U|0)<0)<<31>>31|0)|0;S=A;N=r;k=h;O=p;m=b;Q=o;n=d;l=i;u=j;q=T;while(1){s=(P(O-m|0,ea)|0)+(P(N-k|0,da)|0)+(P(Q-n|0,W)|0)|0;g=c[e>>2]|0;if(!g){E=s;I=k;H=m;B=s;g=((s|0)<0)<<31>>31;C=q;z=u}else{K=k;t=s;M=s;L=((s|0)<0)<<31>>31;b:while(1){if(!(c[g+12>>2]|0)){s=K;k=M;g=L;break}G=c[(c[g>>2]|0)+8>>2]|0;if((c[G+20>>2]|0)<=(c[a+100>>2]|0)){s=K;k=M;g=L;break}J=c[G+12>>2]|0;H=c[J+88>>2]|0;F=H-K|0;I=c[J+92>>2]|0;E=I-m|0;J=c[J+96>>2]|0;k=J-n|0;s=ct(F|0,((F|0)<0)<<31>>31|0,Z|0,_|0)|0;D=A;l=ct(E|0,((E|0)<0)<<31>>31|0,$|0,aa|0)|0;D=Ow(l|0,A|0,s|0,D|0)|0;s=A;l=ct(k|0,((k|0)<0)<<31>>31|0,ba|0,ca|0)|0;l=Ow(D|0,s|0,l|0,A|0)|0;s=A;k=(P(E,ea)|0)+(P(F,da)|0)+(P(k,W)|0)|0;do if((l|0)==0&(s|0)==0){if((k|0)>=0){s=K;k=M;g=L;break b}}else{if((s|0)>=0){s=K;k=M;g=L;break b}if((k|0)>0){w=1;x=k;v=((k|0)<0)<<31>>31}else{x=sw(0,0,k|0,((k|0)<0)<<31>>31|0)|0;w=((k|0)!=0)<<31>>31;x=k|0?x:0;v=k|0?A:0}B=sw(0,0,l|0,s|0)|0;C=A;F=0-w|0;if((t|0)>0){k=1;D=M;E=L}else{E=(t|0)!=0;D=sw(0,0,M|0,L|0)|0;k=E<<31>>31;D=E?D:0;E=E?A:0}if((q|0)>0|(q|0)==0&u>>>0>0){l=u;s=q}else{s=(u|0)!=0|(q|0)!=0;l=sw(0,0,u|0,q|0)|0;k=s?0-k|0:k;l=s?l:0;s=s?A:0}if((k|0)==(F|0)){if(!w)break;k=ct(l|0,0,x|0,0)|0;w=A;ja=ct(s|0,0,x|0,0)|0;ia=A;y=ct(l|0,0,v|0,0)|0;z=A;ha=ct(s|0,0,v|0,0)|0;x=A;y=Ow(ja|0,0,y|0,0)|0;l=A;x=Ow(ia|0,0,ha|0,x|0)|0;z=Ow(x|0,A|0,z|0,0)|0;l=Ow(z|0,A|0,l|0,0)|0;z=A;w=Ow(0,y|0,k|0,w|0)|0;x=A;y=Ow(l|0,z|0,(x>>>0<y>>>0|(x|0)==(y|0)&w>>>0<0)&1|0,0)|0;z=A;l=ct(D|0,0,B|0,0)|0;k=A;ha=ct(E|0,0,B|0,0)|0;B=A;s=ct(D|0,0,C|0,0)|0;v=A;C=ct(E|0,0,C|0,0)|0;D=A;s=Ow(ha|0,0,s|0,0)|0;E=A;D=Ow(B|0,0,C|0,D|0)|0;v=Ow(D|0,A|0,v|0,0)|0;E=Ow(v|0,A|0,E|0,0)|0;v=A;k=Ow(0,s|0,l|0,k|0)|0;l=A;s=Ow(E|0,v|0,(l>>>0<s>>>0|(l|0)==(s|0)&k>>>0<0)&1|0,0)|0;v=A;if(z>>>0<v>>>0|(z|0)==(v|0)&y>>>0<s>>>0)k=-1;else k=z>>>0>v>>>0|(z|0)==(v|0)&y>>>0>s>>>0?1:x>>>0<l>>>0|(x|0)==(l|0)&w>>>0<k>>>0?-1:(x>>>0>l>>>0|(x|0)==(l|0)&w>>>0>k>>>0)&1;k=P(k,F)|0}else k=F-k|0;if((k|0)<=-1){s=K;k=M;g=L;break b}}while(0);ja=N-H|0;ia=O-I|0;l=Q-J|0;q=ct(ja|0,((ja|0)<0)<<31>>31|0,Z|0,_|0)|0;ha=A;k=ct(ia|0,((ia|0)<0)<<31>>31|0,$|0,aa|0)|0;ha=Ow(k|0,A|0,q|0,ha|0)|0;q=A;k=ct(l|0,((l|0)<0)<<31>>31|0,ba|0,ca|0)|0;k=Ow(ha|0,q|0,k|0,A|0)|0;q=A;g=(g|0)==(V|0)?0:G;c[e>>2]=g;l=(P(ia,ea)|0)+(P(ja,da)|0)+(P(l,W)|0)|0;if(!g){t=l;s=H;m=I;n=J;u=k;k=l;g=((l|0)<0)<<31>>31;break}else{K=H;m=I;n=J;t=l;M=l;L=((l|0)<0)<<31>>31;u=k}}E=t;I=s;H=m;l=c[f>>2]|0;B=k;C=q;z=u}if(!l){g=110;break}if(!(c[l+12>>2]|0)){g=110;break}G=c[c[l+8>>2]>>2]|0;if((c[G+20>>2]|0)<=(c[a+100>>2]|0)){g=110;break}q=c[G+12>>2]|0;t=c[q+88>>2]|0;m=t-N|0;s=c[q+92>>2]|0;l=s-O|0;q=c[q+96>>2]|0;k=q-Q|0;ja=ct(m|0,((m|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;ha=A;ia=ct(l|0,((l|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;ha=Ow(ia|0,A|0,ja|0,ha|0)|0;ja=A;ia=ct(k|0,((k|0)<0)<<31>>31|0,R|0,S|0)|0;if(!((ha|0)==(ia|0)&(ja|0)==(A|0))){g=110;break}v=ct(m|0,((m|0)<0)<<31>>31|0,Z|0,_|0)|0;F=A;u=ct(l|0,((l|0)<0)<<31>>31|0,$|0,aa|0)|0;F=Ow(u|0,A|0,v|0,F|0)|0;v=A;u=ct(k|0,((k|0)<0)<<31>>31|0,ba|0,ca|0)|0;u=Ow(F|0,v|0,u|0,A|0)|0;v=A;k=(P(l,ea)|0)+(P(m,da)|0)+(P(k,W)|0)|0;F=t-I|0;ia=s-H|0;D=q-n|0;F=ct(F|0,((F|0)<0)<<31>>31|0,Z|0,_|0)|0;ja=A;ia=ct(ia|0,((ia|0)<0)<<31>>31|0,$|0,aa|0)|0;ja=Ow(ia|0,A|0,F|0,ja|0)|0;F=A;D=ct(D|0,((D|0)<0)<<31>>31|0,ba|0,ca|0)|0;D=Ow(ja|0,F|0,D|0,A|0)|0;F=A;if(!((F|0)>0|(F|0)==0&D>>>0>0)){g=110;break}if((u|0)==0&(v|0)==0){if((k|0)>=0){g=110;break}}else{if((v|0)>=0){g=110;break}if((k|0)>0){s=1;t=k;q=((k|0)<0)<<31>>31}else{t=sw(0,0,k|0,((k|0)<0)<<31>>31|0)|0;s=((k|0)!=0)<<31>>31;t=k|0?t:0;q=k|0?A:0}w=sw(0,0,u|0,v|0)|0;x=A;y=0-s|0;if((E|0)>0){k=1;v=B}else{ja=(E|0)!=0;v=sw(0,0,B|0,g|0)|0;k=ja<<31>>31;v=ja?v:0;g=ja?A:0}if((C|0)>0|(C|0)==0&z>>>0>0){m=k;l=z;k=C}else{ja=(z|0)!=0|(C|0)!=0;l=sw(0,0,z|0,C|0)|0;m=ja?0-k|0:k;l=ja?l:0;k=ja?A:0}if((m|0)==(y|0)){if(!s){g=110;break}ja=ct(l|0,0,t|0,0)|0;s=A;ia=ct(k|0,0,t|0,0)|0;Q=A;t=ct(l|0,0,q|0,0)|0;u=A;k=ct(k|0,0,q|0,0)|0;q=A;t=Ow(ia|0,0,t|0,0)|0;ia=A;q=Ow(Q|0,0,k|0,q|0)|0;u=Ow(q|0,A|0,u|0,0)|0;ia=Ow(u|0,A|0,ia|0,0)|0;u=A;q=Ow(0,t|0,ja|0,s|0)|0;s=A;t=Ow(ia|0,u|0,(s>>>0<t>>>0|(s|0)==(t|0)&q>>>0<0)&1|0,0)|0;u=A;ia=ct(v|0,0,w|0,0)|0;k=A;ja=ct(g|0,0,w|0,0)|0;Q=A;l=ct(v|0,0,x|0,0)|0;m=A;ha=ct(g|0,0,x|0,0)|0;g=A;l=Ow(ja|0,0,l|0,0)|0;ja=A;g=Ow(Q|0,0,ha|0,g|0)|0;m=Ow(g|0,A|0,m|0,0)|0;ja=Ow(m|0,A|0,ja|0,0)|0;m=A;g=Ow(0,l|0,ia|0,k|0)|0;k=A;l=Ow(ja|0,m|0,(k>>>0<l>>>0|(k|0)==(l|0)&g>>>0<0)&1|0,0)|0;m=A;if(u>>>0<m>>>0|(u|0)==(m|0)&t>>>0<l>>>0)g=-1;else g=u>>>0>m>>>0|(u|0)==(m|0)&t>>>0>l>>>0?1:s>>>0<k>>>0|(s|0)==(k|0)&q>>>0<g>>>0?-1:(s>>>0>k>>>0|(s|0)==(k|0)&q>>>0>g>>>0)&1;g=P(g,y)|0}else g=y-m|0;if((g|0)<=0){g=110;break}}c[f>>2]=G;Q=c[G+12>>2]|0;N=c[Q+88>>2]|0;k=I;O=c[Q+92>>2]|0;m=H;Q=c[Q+96>>2]|0;l=G;u=D;q=F}if((g|0)==110)return}if((T|0)>=0)return;F=sw(0,0,U|0,((U|0)<0)<<31>>31|0)|0;G=A;E=r;g=T;c:while(1){D=g;d:while(1){C=(P(p-b|0,ea)|0)+(P(E-h|0,da)|0)+(P(o-d|0,W)|0)|0;do if((i|0?c[i+12>>2]|0:0)?(ga=c[(c[i+4>>2]|0)+8>>2]|0,(c[ga+20>>2]|0)>(c[a+100>>2]|0)):0){B=c[ga+12>>2]|0;y=c[B+88>>2]|0;ja=y-E|0;z=c[B+92>>2]|0;ia=z-p|0;B=c[B+96>>2]|0;g=B-o|0;l=ct(ja|0,((ja|0)<0)<<31>>31|0,Z|0,_|0)|0;ha=A;k=ct(ia|0,((ia|0)<0)<<31>>31|0,$|0,aa|0)|0;ha=Ow(k|0,A|0,l|0,ha|0)|0;l=A;k=ct(g|0,((g|0)<0)<<31>>31|0,ba|0,ca|0)|0;k=Ow(ha|0,l|0,k|0,A|0)|0;l=A;g=(P(ia,ea)|0)+(P(ja,da)|0)+(P(g,W)|0)|0;if((k|0)==0&(l|0)==0)if((g|0)>0)break d;else break;if((l|0)<0){if((g|0)>0){n=1;q=g;m=((g|0)<0)<<31>>31}else{q=sw(0,0,g|0,((g|0)<0)<<31>>31|0)|0;n=((g|0)!=0)<<31>>31;q=g|0?q:0;m=g|0?A:0}t=sw(0,0,k|0,l|0)|0;u=A;x=0-n|0;if((C|0)>0){g=1;v=C;w=((C|0)<0)<<31>>31}else{v=sw(0,0,C|0,((C|0)<0)<<31>>31|0)|0;g=((C|0)!=0)<<31>>31;v=C|0?v:0;w=C|0?A:0}if((D|0)>0|(D|0)==0&j>>>0>0){k=j;l=D}else{l=(j|0)!=0|(D|0)!=0;k=sw(0,0,j|0,D|0)|0;g=l?0-g|0:g;k=l?k:0;l=l?A:0}if((g|0)==(x|0)){if(!n)break d;g=ct(k|0,0,q|0,0)|0;n=A;ha=ct(l|0,0,q|0,0)|0;V=A;r=ct(k|0,0,m|0,0)|0;s=A;ja=ct(l|0,0,m|0,0)|0;q=A;r=Ow(ha|0,0,r|0,0)|0;k=A;q=Ow(V|0,0,ja|0,q|0)|0;s=Ow(q|0,A|0,s|0,0)|0;k=Ow(s|0,A|0,k|0,0)|0;s=A;n=Ow(0,r|0,g|0,n|0)|0;q=A;r=Ow(k|0,s|0,(q>>>0<r>>>0|(q|0)==(r|0)&n>>>0<0)&1|0,0)|0;s=A;k=ct(v|0,0,t|0,0)|0;g=A;ja=ct(w|0,0,t|0,0)|0;V=A;l=ct(v|0,0,u|0,0)|0;m=A;ha=ct(w|0,0,u|0,0)|0;ia=A;l=Ow(ja|0,0,l|0,0)|0;ja=A;ia=Ow(V|0,0,ha|0,ia|0)|0;m=Ow(ia|0,A|0,m|0,0)|0;ja=Ow(m|0,A|0,ja|0,0)|0;m=A;g=Ow(0,l|0,k|0,g|0)|0;k=A;l=Ow(ja|0,m|0,(k>>>0<l>>>0|(k|0)==(l|0)&g>>>0<0)&1|0,0)|0;m=A;if(s>>>0<m>>>0|(s|0)==(m|0)&r>>>0<l>>>0)g=-1;else g=s>>>0>m>>>0|(s|0)==(m|0)&r>>>0>l>>>0?1:q>>>0<k>>>0|(q|0)==(k|0)&n>>>0<g>>>0?-1:(q>>>0>k>>>0|(q|0)==(k|0)&n>>>0>g>>>0)&1;g=P(g,x)|0}else g=x-g|0;if((g|0)<1)break d}}while(0);g=c[e>>2]|0;if(!g){g=110;break c}if(!(c[g+12>>2]|0)){g=110;break c}v=c[(c[g+8>>2]|0)+4>>2]|0;if((c[v+20>>2]|0)<=(c[a+100>>2]|0)){g=110;break c}i=c[v+12>>2]|0;l=c[i+88>>2]|0;h=l-h|0;k=c[i+92>>2]|0;b=k-b|0;i=c[i+96>>2]|0;g=i-d|0;ja=ct(h|0,((h|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;ha=A;ia=ct(b|0,((b|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;ha=Ow(ia|0,A|0,ja|0,ha|0)|0;ja=A;ia=ct(g|0,((g|0)<0)<<31>>31|0,F|0,G|0)|0;if(!((ha|0)==(ia|0)&(ja|0)==(A|0))){g=110;break c}m=ct(h|0,((h|0)<0)<<31>>31|0,Z|0,_|0)|0;u=A;d=ct(b|0,((b|0)<0)<<31>>31|0,$|0,aa|0)|0;u=Ow(d|0,A|0,m|0,u|0)|0;m=A;d=ct(g|0,((g|0)<0)<<31>>31|0,ba|0,ca|0)|0;d=Ow(u|0,m|0,d|0,A|0)|0;m=A;g=(P(b,ea)|0)+(P(h,da)|0)+(P(g,W)|0)|0;u=E-l|0;ia=p-k|0;t=o-i|0;u=ct(u|0,((u|0)<0)<<31>>31|0,Z|0,_|0)|0;ja=A;ia=ct(ia|0,((ia|0)<0)<<31>>31|0,$|0,aa|0)|0;ja=Ow(ia|0,A|0,u|0,ja|0)|0;u=A;t=ct(t|0,((t|0)<0)<<31>>31|0,ba|0,ca|0)|0;t=Ow(ja|0,u|0,t|0,A|0)|0;u=A;if((u|0)>=0){g=110;break c}if((d|0)==0&(m|0)==0){if((g|0)<=0){g=110;break c}}else{if((m|0)>=0){g=110;break c}if((g|0)>0){h=((g|0)<0)<<31>>31;i=1}else{ja=sw(0,0,g|0,((g|0)<0)<<31>>31|0)|0;h=g|0?A:0;i=((g|0)!=0)<<31>>31;g=g|0?ja:0}q=sw(0,0,d|0,m|0)|0;r=A;s=0-i|0;if((C|0)>0){b=1;n=C;m=((C|0)<0)<<31>>31}else{n=sw(0,0,C|0,((C|0)<0)<<31>>31|0)|0;b=((C|0)!=0)<<31>>31;n=C|0?n:0;m=C|0?A:0}if((D|0)>0|(D|0)==0&j>>>0>0){d=b;b=D}else{ja=(j|0)!=0|(D|0)!=0;j=sw(0,0,j|0,D|0)|0;d=ja?0-b|0:b;j=ja?j:0;b=ja?A:0}if((d|0)==(s|0)){if(!i){g=110;break c}ja=ct(j|0,0,g|0,0)|0;i=A;d=ct(b|0,0,g|0,0)|0;V=A;k=ct(j|0,0,h|0,0)|0;l=A;g=ct(b|0,0,h|0,0)|0;j=A;k=Ow(d|0,0,k|0,0)|0;b=A;j=Ow(V|0,0,g|0,j|0)|0;l=Ow(j|0,A|0,l|0,0)|0;b=Ow(l|0,A|0,b|0,0)|0;l=A;i=Ow(0,k|0,ja|0,i|0)|0;j=A;k=Ow(b|0,l|0,(j>>>0<k>>>0|(j|0)==(k|0)&i>>>0<0)&1|0,0)|0;l=A;b=ct(n|0,0,q|0,0)|0;g=A;ja=ct(m|0,0,q|0,0)|0;V=A;d=ct(n|0,0,r|0,0)|0;h=A;ha=ct(m|0,0,r|0,0)|0;ia=A;d=Ow(ja|0,0,d|0,0)|0;ja=A;ia=Ow(V|0,0,ha|0,ia|0)|0;h=Ow(ia|0,A|0,h|0,0)|0;ja=Ow(h|0,A|0,ja|0,0)|0;h=A;g=Ow(0,d|0,b|0,g|0)|0;b=A;d=Ow(ja|0,h|0,(b>>>0<d>>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=A;if(l>>>0<h>>>0|(l|0)==(h|0)&k>>>0<d>>>0)g=-1;else g=l>>>0>h>>>0|(l|0)==(h|0)&k>>>0>d>>>0?1:j>>>0<b>>>0|(j|0)==(b|0)&i>>>0<g>>>0?-1:(j>>>0>b>>>0|(j|0)==(b|0)&i>>>0>g>>>0)&1;g=P(g,s)|0}else g=s-d|0;if((g|0)>=0){g=110;break c}}c[e>>2]=v;d=c[v+12>>2]|0;h=c[d+88>>2]|0;b=c[d+92>>2]|0;d=c[d+96>>2]|0;i=c[f>>2]|0;D=u;j=t}E=y-h|0;o=z-b|0;j=B-d|0;E=ct(E|0,((E|0)<0)<<31>>31|0,Z|0,_|0)|0;p=A;o=ct(o|0,((o|0)<0)<<31>>31|0,$|0,aa|0)|0;p=Ow(o|0,A|0,E|0,p|0)|0;E=A;j=ct(j|0,((j|0)<0)<<31>>31|0,ba|0,ca|0)|0;j=Ow(p|0,E|0,j|0,A|0)|0;i=(i|0)==(fa|0)?0:ga;c[f>>2]=i;E=y;p=z;o=B;g=A}if((g|0)==110)return}function sc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;m=c[6997]|0;if(m>>>(o>>>3)&3|0){a=28028+((m>>>(o>>>3)&1^1)+(o>>>3)<<1<<2)|0;b=c[a+8>>2]|0;d=c[b+8>>2]|0;if((a|0)==(d|0))c[6997]=m&~(1<<(m>>>(o>>>3)&1^1)+(o>>>3));else{c[d+12>>2]=a;c[a+8>>2]=d}v=(m>>>(o>>>3)&1^1)+(o>>>3)<<3;c[b+4>>2]=v|3;c[b+v+4>>2]=c[b+v+4>>2]|1;v=b+8|0;l=w;return v|0}n=c[6999]|0;if(o>>>0>n>>>0){if(m>>>(o>>>3)|0){a=m>>>(o>>>3)<<(o>>>3)&(2<<(o>>>3)|0-(2<<(o>>>3)));f=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);e=f>>>(f>>>5&8)>>>(f>>>(f>>>5&8)>>>2&4);e=(f>>>5&8|((a&0-a)+-1|0)>>>12&16|f>>>(f>>>5&8)>>>2&4|e>>>1&2|e>>>(e>>>1&2)>>>1&1)+(e>>>(e>>>1&2)>>>(e>>>(e>>>1&2)>>>1&1))|0;f=c[28028+(e<<1<<2)+8>>2]|0;a=c[f+8>>2]|0;if((28028+(e<<1<<2)|0)==(a|0)){c[6997]=m&~(1<<e);a=m&~(1<<e)}else{c[a+12>>2]=28028+(e<<1<<2);c[28028+(e<<1<<2)+8>>2]=a;a=m}c[f+4>>2]=o|3;c[f+o+4>>2]=(e<<3)-o|1;c[f+o+((e<<3)-o)>>2]=(e<<3)-o;if(n|0){d=c[7002]|0;if(!(a&1<<(n>>>3))){c[6997]=a|1<<(n>>>3);a=28028+(n>>>3<<1<<2)|0;b=28028+(n>>>3<<1<<2)+8|0}else{a=c[28028+(n>>>3<<1<<2)+8>>2]|0;b=28028+(n>>>3<<1<<2)+8|0}c[b>>2]=d;c[a+12>>2]=d;c[d+8>>2]=a;c[d+12>>2]=28028+(n>>>3<<1<<2)}c[6999]=(e<<3)-o;c[7002]=f+o;v=f+8|0;l=w;return v|0}k=c[6998]|0;if(k){b=((k&0-k)+-1|0)>>>(((k&0-k)+-1|0)>>>12&16);a=b>>>(b>>>5&8)>>>(b>>>(b>>>5&8)>>>2&4);a=c[28292+((b>>>5&8|((k&0-k)+-1|0)>>>12&16|b>>>(b>>>5&8)>>>2&4|a>>>1&2|a>>>(a>>>1&2)>>>1&1)+(a>>>(a>>>1&2)>>>(a>>>(a>>>1&2)>>>1&1))<<2)>>2]|0;b=(c[a+4>>2]&-8)-o|0;d=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){j=a;h=b}else{do{i=(c[d+4>>2]&-8)-o|0;j=i>>>0<b>>>0;b=j?i:b;a=j?d:a;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0}while((d|0)!=0);j=a;h=b}i=j+o|0;if(j>>>0<i>>>0){f=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){b=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;b=a}else{b=c[j+8>>2]|0;c[b+12>>2]=a;c[a+8>>2]=b;b=a}while(0);do if(f|0){a=c[j+28>>2]|0;if((j|0)==(c[28292+(a<<2)>>2]|0)){c[28292+(a<<2)>>2]=b;if(!b){c[6998]=k&~(1<<a);break}}else{c[f+16+(((c[f+16>>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}c[b+24>>2]=f;a=c[j+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[j+20>>2]|0;if(a|0){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);if(h>>>0<16){v=h+o|0;c[j+4>>2]=v|3;v=j+v+4|0;c[v>>2]=c[v>>2]|1}else{c[j+4>>2]=o|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(n|0){d=c[7002]|0;if(!(m&1<<(n>>>3))){c[6997]=m|1<<(n>>>3);a=28028+(n>>>3<<1<<2)|0;b=28028+(n>>>3<<1<<2)+8|0}else{a=c[28028+(n>>>3<<1<<2)+8>>2]|0;b=28028+(n>>>3<<1<<2)+8|0}c[b>>2]=d;c[a+12>>2]=d;c[d+8>>2]=a;c[d+12>>2]=28028+(n>>>3<<1<<2)}c[6999]=h;c[7002]=i}v=j+8|0;l=w;return v|0}}}}else if(a>>>0<=4294967231){o=a+11&-8;j=c[6998]|0;if(j){if((a+11|0)>>>8)if(o>>>0>16777215)i=31;else{i=(a+11|0)>>>8<<((((a+11|0)>>>8)+1048320|0)>>>16&8);i=14-((i+520192|0)>>>16&4|(((a+11|0)>>>8)+1048320|0)>>>16&8|((i<<((i+520192|0)>>>16&4))+245760|0)>>>16&2)+(i<<((i+520192|0)>>>16&4)<<(((i<<((i+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;i=o>>>(i+7|0)&1|i<<1}else i=0;b=c[28292+(i<<2)>>2]|0;a:do if(!b){b=0;a=0;d=0-o|0;u=57}else{a=0;d=0-o|0;h=o<<((i|0)==31?0:25-(i>>>1)|0);f=0;while(1){e=(c[b+4>>2]&-8)-o|0;if(e>>>0<d>>>0)if(!e){a=b;d=0;e=b;u=61;break a}else{a=b;d=e}e=c[b+20>>2]|0;b=c[b+16+(h>>>31<<2)>>2]|0;f=(e|0)==0|(e|0)==(b|0)?f:e;e=(b|0)==0;if(e){b=f;u=57;break}else h=h<<((e^1)&1)}}while(0);if((u|0)==57){if((b|0)==0&(a|0)==0){a=2<<i;if(!(j&(a|0-a)))break;m=(j&(a|0-a)&0-(j&(a|0-a)))+-1|0;n=m>>>(m>>>12&16)>>>(m>>>(m>>>12&16)>>>5&8);b=n>>>(n>>>2&4)>>>(n>>>(n>>>2&4)>>>1&2);a=0;b=c[28292+((m>>>(m>>>12&16)>>>5&8|m>>>12&16|n>>>2&4|n>>>(n>>>2&4)>>>1&2|b>>>1&1)+(b>>>(b>>>1&1))<<2)>>2]|0}if(!b){i=a;h=d}else{e=b;u=61}}if((u|0)==61)while(1){u=0;b=(c[e+4>>2]&-8)-o|0;n=b>>>0<d>>>0;b=n?b:d;a=n?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=a;h=b;break}else{d=b;u=61}}if((i|0)!=0?h>>>0<((c[6999]|0)-o|0)>>>0:0){g=i+o|0;if(i>>>0>=g>>>0){v=0;l=w;return v|0}f=c[i+24>>2]|0;a=c[i+12>>2]|0;do if((a|0)==(i|0)){b=i+20|0;a=c[b>>2]|0;if(!a){b=i+16|0;a=c[b>>2]|0;if(!a){a=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);do if(f){b=c[i+28>>2]|0;if((i|0)==(c[28292+(b<<2)>>2]|0)){c[28292+(b<<2)>>2]=a;if(!a){c[6998]=j&~(1<<b);e=j&~(1<<b);break}}else{c[f+16+(((c[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=a;if(!a){e=j;break}}c[a+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[i+20>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;e=j}else e=j}else e=j;while(0);do if(h>>>0>=16){c[i+4>>2]=o|3;c[g+4>>2]=h|1;c[g+h>>2]=h;d=h>>>3;if(h>>>0<256){a=c[6997]|0;if(!(a&1<<d)){c[6997]=a|1<<d;a=28028+(d<<1<<2)|0;b=28028+(d<<1<<2)+8|0}else{a=c[28028+(d<<1<<2)+8>>2]|0;b=28028+(d<<1<<2)+8|0}c[b>>2]=g;c[a+12>>2]=g;c[g+8>>2]=a;c[g+12>>2]=28028+(d<<1<<2);break}a=h>>>8;if(a)if(h>>>0>16777215)a=31;else{v=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);a=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(v+245760|0)>>>16&2)+(v<<((v+245760|0)>>>16&2)>>>15)|0;a=h>>>(a+7|0)&1|a<<1}else a=0;d=28292+(a<<2)|0;c[g+28>>2]=a;c[g+16+4>>2]=0;c[g+16>>2]=0;b=1<<a;if(!(e&b)){c[6998]=e|b;c[d>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}b=h<<((a|0)==31?0:25-(a>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){u=97;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){u=96;break}else{b=b<<1;d=a}}if((u|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((u|0)==97){u=d+8|0;v=c[u>>2]|0;c[v+12>>2]=g;c[u>>2]=g;c[g+8>>2]=v;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{v=h+o|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}while(0);v=i+8|0;l=w;return v|0}}}else o=-1;while(0);d=c[6999]|0;if(d>>>0>=o>>>0){a=d-o|0;b=c[7002]|0;if(a>>>0>15){v=b+o|0;c[7002]=v;c[6999]=a;c[v+4>>2]=a|1;c[v+a>>2]=a;c[b+4>>2]=o|3}else{c[6999]=0;c[7002]=0;c[b+4>>2]=d|3;c[b+d+4>>2]=c[b+d+4>>2]|1}v=b+8|0;l=w;return v|0}f=c[7e3]|0;if(f>>>0>o>>>0){t=f-o|0;c[7e3]=t;v=c[7003]|0;u=v+o|0;c[7003]=u;c[u+4>>2]=t|1;c[v+4>>2]=o|3;v=v+8|0;l=w;return v|0}if(!(c[7115]|0)){c[7117]=4096;c[7116]=4096;c[7118]=-1;c[7119]=-1;c[7120]=0;c[7108]=0;c[w>>2]=w&-16^1431655768;c[7115]=w&-16^1431655768;a=4096}else a=c[7117]|0;h=o+48|0;i=o+47|0;k=a+i|0;j=0-a|0;if((k&j)>>>0<=o>>>0){v=0;l=w;return v|0}a=c[7107]|0;if(a|0?(n=c[7105]|0,(n+(k&j)|0)>>>0<=n>>>0?1:(n+(k&j)|0)>>>0>a>>>0):0){v=0;l=w;return v|0}b:do if(!(c[7108]&4)){d=c[7003]|0;c:do if(d){b=28436;while(1){a=c[b>>2]|0;if(a>>>0<=d>>>0?(p=b+4|0,(a+(c[p>>2]|0)|0)>>>0>d>>>0):0)break;a=c[b+8>>2]|0;if(!a){u=118;break c}else b=a}if((k-f&j)>>>0<2147483647){a=_o(k-f&j|0)|0;if((a|0)==((c[b>>2]|0)+(c[p>>2]|0)|0))if((a|0)==(-1|0))a=k-f&j;else{h=k-f&j;g=a;u=135;break b}else{e=a;d=k-f&j;u=126}}else a=0}else u=118;while(0);do if((u|0)==118){b=_o(0)|0;if((b|0)!=(-1|0)?(r=c[7116]|0,r=((r+-1&b|0)==0?0:(r+-1+b&0-r)-b|0)+(k&j)|0,q=c[7105]|0,r>>>0>o>>>0&r>>>0<2147483647):0){p=c[7107]|0;if(p|0?(r+q|0)>>>0<=q>>>0|(r+q|0)>>>0>p>>>0:0){a=0;break}a=_o(r|0)|0;if((a|0)==(b|0)){h=r;g=b;u=135;break b}else{e=a;d=r;u=126}}else a=0}while(0);do if((u|0)==126){b=0-d|0;if(!(h>>>0>d>>>0&(d>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){a=0;break}else{h=d;g=e;u=135;break b}a=c[7117]|0;a=i-d+a&0-a;if(a>>>0>=2147483647){h=d;g=e;u=135;break b}if((_o(a|0)|0)==(-1|0)){_o(b|0)|0;a=0;break}else{h=a+d|0;g=e;u=135;break b}}while(0);c[7108]=c[7108]|4;u=133}else{a=0;u=133}while(0);if(((u|0)==133?(k&j)>>>0<2147483647:0)?(g=_o(k&j|0)|0,s=_o(0)|0,t=(s-g|0)>>>0>(o+40|0)>>>0,!((g|0)==(-1|0)|t^1|g>>>0<s>>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=t?s-g|0:a;u=135}if((u|0)==135){a=(c[7105]|0)+h|0;c[7105]=a;if(a>>>0>(c[7106]|0)>>>0)c[7106]=a;j=c[7003]|0;do if(j){a=28436;while(1){b=c[a>>2]|0;d=a+4|0;e=c[d>>2]|0;if((g|0)==(b+e|0)){u=145;break}f=c[a+8>>2]|0;if(!f)break;else a=f}if(((u|0)==145?(c[a+12>>2]&8|0)==0:0)?j>>>0<g>>>0&j>>>0>=b>>>0:0){c[d>>2]=e+h;u=(j+8&7|0)==0?0:0-(j+8)&7;v=(c[7e3]|0)+(h-u)|0;c[7003]=j+u;c[7e3]=v;c[j+u+4>>2]=v|1;c[j+u+v+4>>2]=40;c[7004]=c[7119];break}if(g>>>0<(c[7001]|0)>>>0)c[7001]=g;d=g+h|0;a=28436;while(1){if((c[a>>2]|0)==(d|0)){u=153;break}b=c[a+8>>2]|0;if(!b)break;else a=b}if((u|0)==153?(c[a+12>>2]&8|0)==0:0){c[a>>2]=g;m=a+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;a=d+((d+8&7|0)==0?0:0-(d+8)&7)|0;k=m+o|0;i=a-m-o|0;c[m+4>>2]=o|3;do if((a|0)!=(j|0)){if((a|0)==(c[7002]|0)){v=(c[6999]|0)+i|0;c[6999]=v;c[7002]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}h=c[a+4>>2]|0;if((h&3|0)==1){d:do if(h>>>0<256){b=c[a+8>>2]|0;d=c[a+12>>2]|0;if((d|0)==(b|0)){c[6997]=c[6997]&~(1<<(h>>>3));break}else{c[b+12>>2]=d;c[d+8>>2]=b;break}}else{g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){b=0;break}else f=a+16|0}else f=a+16+4|0;while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;f=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;f=d}}c[f>>2]=0}else{v=c[a+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);if(!g)break;d=c[a+28>>2]|0;do if((a|0)!=(c[28292+(d<<2)>>2]|0)){c[g+16+(((c[g+16>>2]|0)!=(a|0)&1)<<2)>>2]=b;if(!b)break d}else{c[28292+(d<<2)>>2]=b;if(b|0)break;c[6998]=c[6998]&~(1<<d);break d}while(0);c[b+24>>2]=g;d=c[a+16>>2]|0;if(d|0){c[b+16>>2]=d;c[d+24>>2]=b}d=c[a+16+4>>2]|0;if(!d)break;c[b+20>>2]=d;c[d+24>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;d=a+4|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;d=f>>>3;if(f>>>0<256){a=c[6997]|0;if(!(a&1<<d)){c[6997]=a|1<<d;a=28028+(d<<1<<2)|0;b=28028+(d<<1<<2)+8|0}else{a=c[28028+(d<<1<<2)+8>>2]|0;b=28028+(d<<1<<2)+8|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;c[k+12>>2]=28028+(d<<1<<2);break}a=f>>>8;do if(!a)a=0;else{if(f>>>0>16777215){a=31;break}v=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);a=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(v+245760|0)>>>16&2)+(v<<((v+245760|0)>>>16&2)>>>15)|0;a=f>>>(a+7|0)&1|a<<1}while(0);e=28292+(a<<2)|0;c[k+28>>2]=a;c[k+16+4>>2]=0;c[k+16>>2]=0;b=c[6998]|0;d=1<<a;if(!(b&d)){c[6998]=b|d;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}b=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){u=194;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){u=193;break}else{b=b<<1;d=a}}if((u|0)==193){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((u|0)==194){u=d+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{v=(c[7e3]|0)+i|0;c[7e3]=v;c[7003]=k;c[k+4>>2]=v|1}while(0);v=m+8|0;l=w;return v|0}a=28436;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(v=b+(c[a+4>>2]|0)|0,v>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=v+-47+((v+-47+8&7|0)==0?0:0-(v+-47+8)&7)|0;f=f>>>0<(j+16|0)>>>0?j:f;a=g+8|0;a=(a&7|0)==0?0:0-a&7;u=g+a|0;a=h+-40-a|0;c[7003]=u;c[7e3]=a;c[u+4>>2]=a|1;c[u+a+4>>2]=40;c[7004]=c[7119];c[f+4>>2]=27;c[f+8>>2]=c[7109];c[f+8+4>>2]=c[7110];c[f+8+8>>2]=c[7111];c[f+8+12>>2]=c[7112];c[7109]=g;c[7110]=h;c[7112]=0;c[7111]=f+8;a=f+24|0;do{u=a;a=a+4|0;c[a>>2]=7}while((u+8|0)>>>0<v>>>0);if((f|0)!=(j|0)){c[f+4>>2]=c[f+4>>2]&-2;c[j+4>>2]=f-j|1;c[f>>2]=f-j;if((f-j|0)>>>0<256){d=28028+((f-j|0)>>>3<<1<<2)|0;a=c[6997]|0;if(!(a&1<<((f-j|0)>>>3))){c[6997]=a|1<<((f-j|0)>>>3);a=d;b=d+8|0}else{a=c[d+8>>2]|0;b=d+8|0}c[b>>2]=j;c[a+12>>2]=j;c[j+8>>2]=a;c[j+12>>2]=d;break}if((f-j|0)>>>8)if((f-j|0)>>>0>16777215)a=31;else{a=(f-j|0)>>>8<<((((f-j|0)>>>8)+1048320|0)>>>16&8);a=14-((a+520192|0)>>>16&4|(((f-j|0)>>>8)+1048320|0)>>>16&8|((a<<((a+520192|0)>>>16&4))+245760|0)>>>16&2)+(a<<((a+520192|0)>>>16&4)<<(((a<<((a+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;a=(f-j|0)>>>(a+7|0)&1|a<<1}else a=0;e=28292+(a<<2)|0;c[j+28>>2]=a;c[j+20>>2]=0;c[j+16>>2]=0;b=c[6998]|0;d=1<<a;if(!(b&d)){c[6998]=b|d;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}b=f-j<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f-j|0)){u=216;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){u=215;break}else{b=b<<1;d=a}}if((u|0)==215){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((u|0)==216){u=d+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{v=c[7001]|0;if((v|0)==0|g>>>0<v>>>0)c[7001]=g;c[7109]=g;c[7110]=h;c[7112]=0;c[7006]=c[7115];c[7005]=-1;a=0;do{v=28028+(a<<1<<2)|0;c[v+12>>2]=v;c[v+8>>2]=v;a=a+1|0}while((a|0)!=32);v=g+8|0;v=(v&7|0)==0?0:0-v&7;u=g+v|0;v=h+-40-v|0;c[7003]=u;c[7e3]=v;c[u+4>>2]=v|1;c[u+v+4>>2]=40;c[7004]=c[7119]}while(0);a=c[7e3]|0;if(a>>>0>o>>>0){t=a-o|0;c[7e3]=t;v=c[7003]|0;u=v+o|0;c[7003]=u;c[u+4>>2]=t|1;c[v+4>>2]=o|3;v=v+8|0;l=w;return v|0}}c[7137]=12;v=0;l=w;return v|0}function tc(b,d,e){b=b|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,H=0.0,I=0.0,J=0.0,K=0.0;x=l;l=l+544|0;f=+g[b+100>>2];k=+g[b+104>>2];h=+g[b+108>>2];if(f*f+k*k+h*h>0.0){m=+E(+(1.0-+g[b+244>>2]),+e);g[b+100>>2]=f*m;g[b+104>>2]=m*k;g[b+108>>2]=m*h;f=f*m;k=m*k;h=m*h}m=f*f+k*k+h*h;if(m>0.0){q=c[b+8>>2]|0;c[x+472>>2]=c[q+4>>2];c[x+472+4>>2]=c[q+4+4>>2];c[x+472+8>>2]=c[q+4+8>>2];c[x+472+12>>2]=c[q+4+12>>2];i=x+472+16|0;c[i>>2]=c[q+20>>2];c[i+4>>2]=c[q+20+4>>2];c[i+8>>2]=c[q+20+8>>2];c[i+12>>2]=c[q+20+12>>2];j=x+472+32|0;c[j>>2]=c[q+36>>2];c[j+4>>2]=c[q+36+4>>2];c[j+8>>2]=c[q+36+8>>2];c[j+12>>2]=c[q+36+12>>2];o=x+472+48|0;c[o>>2]=c[q+52>>2];c[o+4>>2]=c[q+52+4>>2];c[o+8>>2]=c[q+52+8>>2];c[o+12>>2]=c[q+52+12>>2];K=+D(+m);I=f*(1.0/K);B=k*(1.0/K);m=h*(1.0/K);h=+G(+(K*e*.5))/+D(+(m*m+(I*I+B*B)));K=+F(+(K*e*.5));yh(x+472|0,x+408|0);H=+g[x+408>>2];J=+g[x+408+12>>2];y=+g[x+408+8>>2];z=+g[x+408+4>>2];f=K*H+I*h*J+B*h*y-m*h*z;k=m*h*H+(B*h*J+K*z)-I*h*y;A=m*h*J+K*y+I*h*z-B*h*H;y=K*J-I*h*H-B*h*z-m*h*y;h=f*(2.0/(y*y+(A*A+(f*f+k*k))));m=k*(2.0/(y*y+(A*A+(f*f+k*k))));z=A*(2.0/(y*y+(A*A+(f*f+k*k))));g[x+472>>2]=1.0-(k*m+A*z);g[x+472+4>>2]=f*m-y*z;g[x+472+8>>2]=f*z+y*m;g[x+472+12>>2]=0.0;g[x+472+16>>2]=f*m+y*z;g[x+472+20>>2]=1.0-(f*h+A*z);g[x+472+24>>2]=k*z-y*h;g[x+472+28>>2]=0.0;g[x+472+32>>2]=f*z-y*m;g[x+472+36>>2]=k*z+y*h;g[x+472+40>>2]=1.0-(f*h+k*m);g[x+472+44>>2]=0.0;q=c[b+8>>2]|0;c[q+304>>2]=(c[q+304>>2]|0)+1;c[q+4>>2]=c[x+472>>2];c[q+4+4>>2]=c[x+472+4>>2];c[q+4+8>>2]=c[x+472+8>>2];c[q+4+12>>2]=c[x+472+12>>2];c[q+20>>2]=c[i>>2];c[q+20+4>>2]=c[i+4>>2];c[q+20+8>>2]=c[i+8>>2];c[q+20+12>>2]=c[i+12>>2];c[q+36>>2]=c[j>>2];c[q+36+4>>2]=c[j+4>>2];c[q+36+8>>2]=c[j+8>>2];c[q+36+12>>2]=c[j+12>>2];c[q+52>>2]=c[o>>2];c[q+52+4>>2]=c[o+4>>2];c[q+52+8>>2]=c[o+8>>2];c[q+52+12>>2]=c[o+12>>2];q=c[b+8>>2]|0;c[b+132>>2]=c[q+52>>2];c[b+132+4>>2]=c[q+52+4>>2];c[b+132+8>>2]=c[q+52+8>>2];c[b+132+12>>2]=c[q+52+12>>2];$p(b+152|0,q+52|0,16)|0;yh(q+4|0,x+408|0);c[b+168>>2]=c[x+408>>2];c[b+168+4>>2]=c[x+408+4>>2];c[b+168+8>>2]=c[x+408+8>>2];c[b+168+12>>2]=c[x+408+12>>2];c[b+184>>2]=c[b+168>>2];c[b+184+4>>2]=c[b+168+4>>2];c[b+184+8>>2]=c[b+168+8>>2];c[b+184+12>>2]=c[b+168+12>>2]}if((a[b+251>>0]|0)==0?+g[b+252>>2]<=0.0:0){l=x;return}a[b+248>>0]=(xb[c[(c[b>>2]|0)+48>>2]&127](b)|0)&1;f=+g[b+68>>2];h=+g[b+72>>2];k=+g[b+76>>2];m=+E(+(1.0-+g[b+240>>2]),+e);if(f*f+h*h+k*k>0.0){g[b+68>>2]=f*m;g[b+72>>2]=m*h;g[b+76>>2]=m*k}f=m*+g[b+20>>2]-+g[b+52>>2]*e;g[b+20>>2]=f;if(f>0.0?(p=+g[b+32>>2],f>p):0){g[b+20>>2]=p;f=p}if(f<0.0?(K=+C(+f),r=+C(+(+g[b+28>>2])),K>r):0){g[b+20>>2]=-r;f=-r}h=f*e;g[b+24>>2]=h;q=c[b+8>>2]|0;c[x>>2]=c[q+4>>2];c[x+4>>2]=c[q+4+4>>2];c[x+8>>2]=c[q+4+8>>2];c[x+12>>2]=c[q+4+12>>2];c[x+16>>2]=c[q+20>>2];c[x+16+4>>2]=c[q+20+4>>2];c[x+16+8>>2]=c[q+20+8>>2];c[x+16+12>>2]=c[q+20+12>>2];c[x+32>>2]=c[q+36>>2];c[x+32+4>>2]=c[q+36+4>>2];c[x+32+8>>2]=c[q+36+8>>2];c[x+32+12>>2]=c[q+36+12>>2];c[x+48>>2]=c[q+52>>2];c[x+48+4>>2]=c[q+52+4>>2];c[x+48+8>>2]=c[q+52+8>>2];c[x+48+12>>2]=c[q+52+12>>2];if(f<0.0)k=+g[b+60>>2];else k=0.0;c[x+472>>2]=1065353216;o=x+472+4|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[x+472+20>>2]=1065353216;q=x+472+24|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[x+472+40>>2]=1065353216;c[x+472+44>>2]=0;c[x+408>>2]=1065353216;j=x+408+4|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[x+408+20>>2]=1065353216;i=x+408+24|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[x+408+40>>2]=1065353216;c[x+408+44>>2]=0;c[x+472+48>>2]=c[b+132>>2];c[x+472+48+4>>2]=c[b+132+4>>2];c[x+472+48+8>>2]=c[b+132+8>>2];c[x+472+48+12>>2]=c[b+132+12>>2];A=h>0.0?h:0.0;J=k*+g[b+260>>2]+ +g[b+136>>2]+A*+g[b+276>>2];B=k*+g[b+264>>2]+ +g[b+140>>2]+A*+g[b+280>>2];g[b+152>>2]=k*+g[b+256>>2]+ +g[b+132>>2]+ +g[b+272>>2]*A;g[b+156>>2]=J;g[b+160>>2]=B;g[b+164>>2]=0.0;c[b+132>>2]=c[b+152>>2];c[b+132+4>>2]=c[b+152+4>>2];c[b+132+8>>2]=c[b+152+8>>2];c[b+132+12>>2]=c[b+152+12>>2];c[x+408+48>>2]=c[b+152>>2];c[x+408+48+4>>2]=c[b+152+4>>2];c[x+408+48+8>>2]=c[b+152+8>>2];c[x+408+48+12>>2]=c[b+152+12>>2];B=+g[b+168>>2];J=+g[b+172>>2];A=+g[b+176>>2];K=+g[b+180>>2];z=B*(2.0/(B*B+J*J+A*A+K*K));H=J*(2.0/(B*B+J*J+A*A+K*K));I=A*(2.0/(B*B+J*J+A*A+K*K));g[x+472>>2]=1.0-(J*H+A*I);g[o>>2]=B*H-K*I;g[x+472+8>>2]=B*I+K*H;g[x+472+12>>2]=0.0;g[x+472+16>>2]=B*H+K*I;g[x+472+20>>2]=1.0-(B*z+A*I);g[q>>2]=J*I-K*z;g[x+472+28>>2]=0.0;g[x+472+32>>2]=B*I-K*H;g[x+472+36>>2]=J*I+K*z;g[x+472+40>>2]=1.0-(B*z+J*H);g[x+472+44>>2]=0.0;H=+g[b+184>>2];J=+g[b+188>>2];z=+g[b+192>>2];B=+g[b+196>>2];K=H*(2.0/(H*H+J*J+z*z+B*B));I=J*(2.0/(H*H+J*J+z*z+B*B));A=z*(2.0/(H*H+J*J+z*z+B*B));g[x+408>>2]=1.0-(J*I+z*A);g[j>>2]=H*I-B*A;g[x+408+8>>2]=H*A+B*I;g[x+408+12>>2]=0.0;g[x+408+16>>2]=H*I+B*A;g[x+408+20>>2]=1.0-(H*K+z*A);g[i>>2]=J*A-B*K;g[x+408+28>>2]=0.0;g[x+408+32>>2]=H*A-B*I;g[x+408+36>>2]=J*A+B*K;g[x+408+40>>2]=1.0-(H*K+J*I);g[x+408+44>>2]=0.0;i=c[b+8>>2]|0;I=-+g[b+256>>2];J=-+g[b+260>>2];K=-+g[b+264>>2];j=c[b+48>>2]|0;g[x+296+4>>2]=1.0;q=x+296+16|0;c[x+296+80>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[x+296>>2]=5252;c[x+296+84>>2]=i;g[x+296+88>>2]=I;g[x+296+92>>2]=J;g[x+296+96>>2]=K;g[x+296+100>>2]=0.0;c[x+296+104>>2]=j;j=c[i+188>>2]|0;c[x+296+8>>2]=c[j+4>>2];c[x+296+12>>2]=c[j+8>>2];j=c[b+12>>2]|0;if(!(a[b+250>>0]|0))Ud(d,j,x+472|0,x+408|0,x+296|0,+g[d+56>>2]);else pd(i,j,x+472|0,x+408|0,x+296|0,+g[d+56>>2]);if((+g[x+296+4>>2]<1.0?(n=c[b+8>>2]|0,(c[n+204>>2]&4|0)==0):0)?Bb[c[(c[b>>2]|0)+56>>2]&63](b,n,c[x+296+80>>2]|0)|0:0){do if(+g[x+296+48>>2]*+g[b+256>>2]+ +g[x+296+52>>2]*+g[b+260>>2]+ +g[x+296+56>>2]*+g[b+264>>2]>0.0){f=+g[x+296+4>>2];g[b+148>>2]=k*f;if(!(a[b+288>>0]|0)){c[b+132>>2]=c[b+152>>2];c[b+132+4>>2]=c[b+152+4>>2];c[b+132+8>>2]=c[b+152+8>>2];c[b+132+12>>2]=c[b+152+12>>2];break}else{g[b+132>>2]=(1.0-f)*+g[b+132>>2]+f*+g[b+152>>2];g[b+136>>2]=(1.0-f)*+g[b+136>>2]+f*+g[b+156>>2];g[b+140>>2]=(1.0-f)*+g[b+140>>2]+f*+g[b+160>>2];break}}while(0);o=c[b+8>>2]|0;c[o+52>>2]=c[b+132>>2];c[o+52+4>>2]=c[b+132+4>>2];c[o+52+8>>2]=c[b+132+8>>2];c[o+52+12>>2]=c[b+132+12>>2];q=c[b+8>>2]|0;c[q+304>>2]=(c[q+304>>2]|0)+1;c[q+4>>2]=c[o+4>>2];c[q+4+4>>2]=c[o+4+4>>2];c[q+4+8>>2]=c[o+4+8>>2];c[q+4+12>>2]=c[o+4+12>>2];c[q+20>>2]=c[o+20>>2];c[q+20+4>>2]=c[o+20+4>>2];c[q+20+8>>2]=c[o+20+8>>2];c[q+20+12>>2]=c[o+20+12>>2];c[q+36>>2]=c[o+36>>2];c[q+36+4>>2]=c[o+36+4>>2];c[q+36+8>>2]=c[o+36+8>>2];c[q+36+12>>2]=c[o+36+12>>2];c[q+52>>2]=c[o+52>>2];c[q+52+4>>2]=c[o+52+4>>2];c[q+52+8>>2]=c[o+52+8>>2];c[q+52+12>>2]=c[o+52+12>>2];a[b+220>>0]=0;if((((ge(b,d)|0?(a[b+220>>0]=1,ge(b,d)|0):0)?(a[b+220>>0]=1,ge(b,d)|0):0)?(a[b+220>>0]=1,ge(b,d)|0):0)?(a[b+220>>0]=1,ge(b,d)|0):0)a[b+220>>0]=1;q=(c[b+8>>2]|0)+52|0;c[b+152>>2]=c[q>>2];c[b+152+4>>2]=c[q+4>>2];c[b+152+8>>2]=c[q+8>>2];c[b+152+12>>2]=c[q+12>>2];$p(b+132|0,q|0,16)|0;if(+g[b+24>>2]>0.0){g[b+24>>2]=0.0;g[b+20>>2]=0.0;c[b+148>>2]=c[b+60>>2]}}else{g[b+148>>2]=k;c[b+132>>2]=c[b+152>>2];c[b+132+4>>2]=c[b+152+4>>2];c[b+132+8>>2]=c[b+152+8>>2];c[b+132+12>>2]=c[b+152+12>>2]}if(!(a[b+251>>0]|0)){J=+g[b+252>>2];K=J>e?e:J;g[b+252>>2]=J-e;hd(b,d,K*+g[b+68>>2],K*+g[b+72>>2],K*+g[b+76>>2])}else hd(b,d,+g[b+68>>2],+g[b+72>>2],+g[b+76>>2]);c[x+280>>2]=c[b+152>>2];c[x+280+4>>2]=c[b+152+4>>2];c[x+280+8>>2]=c[b+152+8>>2];c[x+280+12>>2]=c[b+152+12>>2];K=+g[b+20>>2];f=(K<0.0?-K:0.0)*e;if(!(K>0.0)){do if(f>0.0?(s=+g[b+28>>2],f>s):0){if((a[b+248>>0]|0)==0?a[b+249>>0]|0:0)break;f=s}while(0);p=f+ +g[b+148>>2];k=+g[b+256>>2]*p;m=p*+g[b+260>>2];p=p*+g[b+264>>2];g[b+152>>2]=+g[b+152>>2]-k;g[b+156>>2]=+g[b+156>>2]-m;g[b+160>>2]=+g[b+160>>2]-p;i=c[b+8>>2]|0;o=c[b+48>>2]|0;q=x+172+4|0;g[q>>2]=1.0;n=x+172+16|0;c[x+172+80>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;c[x+172>>2]=5252;c[x+172+84>>2]=i;c[x+172+88>>2]=c[b+256>>2];c[x+172+88+4>>2]=c[b+256+4>>2];c[x+172+88+8>>2]=c[b+256+8>>2];c[x+172+88+12>>2]=c[b+256+12>>2];c[x+172+104>>2]=o;n=c[i+188>>2]|0;c[x+172+8>>2]=c[n+4>>2];c[x+172+12>>2]=c[n+8>>2];g[x+64+4>>2]=1.0;j=x+64+16|0;c[x+64+80>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[x+64>>2]=5252;c[x+64+84>>2]=i;c[x+64+88>>2]=c[b+256>>2];c[x+64+88+4>>2]=c[b+256+4>>2];c[x+64+88+8>>2]=c[b+256+8>>2];c[x+64+88+12>>2]=c[b+256+12>>2];c[x+64+104>>2]=o;c[x+64+8>>2]=c[n+4>>2];c[x+64+12>>2]=c[n+8>>2];n=x+408+24|0;o=x+296+44|0;i=0;while(1){c[x+408+12>>2]=0;c[x+408+12+4>>2]=0;c[x+408+20>>2]=1065353216;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[x+408+40>>2]=1065353216;c[x+408+44>>2]=0;c[x+296>>2]=1065353216;c[x+296+4>>2]=0;c[x+296+4+4>>2]=0;c[x+296+4+8>>2]=0;c[x+296+4+12>>2]=0;c[x+296+20>>2]=1065353216;c[x+296+24>>2]=0;c[x+296+24+4>>2]=0;c[x+296+24+8>>2]=0;c[x+296+24+12>>2]=0;c[x+296+40>>2]=1065353216;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[x+472+48>>2]=c[b+132>>2];c[x+472+48+4>>2]=c[b+132+4>>2];c[x+472+48+8>>2]=c[b+132+8>>2];c[x+472+48+12>>2]=c[b+132+12>>2];c[x+408+48>>2]=c[b+152>>2];c[x+408+48+4>>2]=c[b+152+4>>2];c[x+408+48+8>>2]=c[b+152+8>>2];c[x+408+48+12>>2]=c[b+152+12>>2];B=+g[b+168>>2];K=+g[b+172>>2];A=+g[b+176>>2];I=+g[b+180>>2];z=B*(2.0/(B*B+K*K+A*A+I*I));H=K*(2.0/(B*B+K*K+A*A+I*I));J=A*(2.0/(B*B+K*K+A*A+I*I));g[x+472>>2]=1.0-(K*H+A*J);g[x+472+4>>2]=B*H-I*J;g[x+472+8>>2]=B*J+I*H;g[x+472+12>>2]=0.0;g[x+472+16>>2]=B*H+I*J;g[x+472+20>>2]=1.0-(B*z+A*J);g[x+472+24>>2]=K*J-I*z;g[x+472+28>>2]=0.0;g[x+472+32>>2]=B*J-I*H;g[x+472+36>>2]=K*J+I*z;g[x+472+40>>2]=1.0-(B*z+K*H);g[x+472+44>>2]=0.0;H=+g[b+184>>2];K=+g[b+188>>2];z=+g[b+192>>2];B=+g[b+196>>2];I=H*(2.0/(H*H+K*K+z*z+B*B));J=K*(2.0/(H*H+K*K+z*z+B*B));A=z*(2.0/(H*H+K*K+z*z+B*B));g[x+408>>2]=1.0-(K*J+z*A);g[x+408+4>>2]=H*J-B*A;g[x+408+8>>2]=H*A+B*J;g[x+408+12>>2]=0.0;g[x+408+16>>2]=H*J+B*A;g[x+408+20>>2]=1.0-(H*I+z*A);g[n>>2]=K*A-B*I;g[x+408+28>>2]=0.0;g[x+408+32>>2]=H*A-B*J;g[x+408+36>>2]=K*A+B*I;g[x+408+40>>2]=1.0-(H*I+K*J);g[x+408+44>>2]=0.0;J=+g[b+156>>2]-m;K=+g[b+160>>2]-p;g[x+296+48>>2]=+g[b+152>>2]-k;g[x+296+52>>2]=J;g[x+296+56>>2]=K;g[x+296+60>>2]=0.0;if(!(a[b+250>>0]|0)){Ud(d,c[b+12>>2]|0,x+472|0,x+408|0,x+172|0,+g[d+56>>2]);if(!(+g[q>>2]<1.0)?(c[(c[b+8>>2]|0)+204>>2]&4|0)==0:0)Ud(d,c[b+12>>2]|0,x+472|0,x+296|0,x+64|0,+g[d+56>>2])}else{pd(c[b+8>>2]|0,c[b+12>>2]|0,x+472|0,x+408|0,x+172|0,+g[d+56>>2]);if(!(+g[q>>2]<1.0)?(t=c[b+8>>2]|0,(c[t+204>>2]&4|0)==0):0)pd(t,c[b+12>>2]|0,x+472|0,x+296|0,x+64|0,+g[d+56>>2])}h=+g[b+20>>2];h=(h<0.0?-h:0.0)*e;if(!(a[b+290>>0]|0))if(+g[x+64+4>>2]<1.0?(v=c[b+8>>2]|0,(c[v+204>>2]&4|0)==0):0)j=Bb[c[(c[b>>2]|0)+56>>2]&63](b,v,c[x+64+80>>2]|0)|0;else j=0;else if((+g[q>>2]<1.0?1:+g[x+64+4>>2]<1.0)?(u=c[b+8>>2]|0,(c[u+204>>2]&4|0)==0):0)j=Bb[c[(c[b>>2]|0)+56>>2]&63](b,u,c[x+172+80>>2]|0)|0;else j=0;if(+g[b+20>>2]<0.0)f=+g[b+60>>2];else f=0.0;if(i|(!(h>0.0)|!(h<f)|j^1))break;if((a[b+248>>0]|0)==0?a[b+249>>0]|0:0){i=0;break}c[b+152>>2]=c[x+280>>2];c[b+152+4>>2]=c[x+280+4>>2];c[b+152+8>>2]=c[x+280+8>>2];c[b+152+12>>2]=c[x+280+12>>2];p=f+ +g[b+148>>2];k=+g[b+256>>2]*p;m=p*+g[b+260>>2];p=p*+g[b+264>>2];g[b+152>>2]=+g[b+152>>2]-k;g[b+156>>2]=+g[b+156>>2]-m;g[b+160>>2]=+g[b+160>>2]-p;i=1}j=c[b+8>>2]|0;if(+g[q>>2]<1.0?(c[j+204>>2]&4|0)==0:0)if(i|(Bb[c[(c[b>>2]|0)+56>>2]&63](b,j,c[x+172+80>>2]|0)|0))i=69;else i=73;else if(i)i=69;else i=73;if((i|0)==69){if(!(a[b+290>>0]|0)){i=b+289|0;f=+g[q>>2];h=+g[b+136>>2]}else{h=+g[b+136>>2];i=b+289|0;f=(a[b+289>>0]|0)==0?(h-+g[x+172+68>>2])*.5:+g[q>>2]}K=1.0-f;g[b+132>>2]=K*+g[b+132>>2]+f*+g[b+152>>2];g[b+136>>2]=K*h+f*+g[b+156>>2];g[b+140>>2]=K*+g[b+140>>2]+f*+g[b+160>>2];a[i>>0]=0;g[b+20>>2]=0.0;g[b+24>>2]=0.0;a[b+249>>0]=0}else if((i|0)==73){a[b+289>>0]=1;do if(a[b+290>>0]|0?(K=+g[b+20>>2],w=+g[b+28>>2],(K<0.0?-K:0.0)*e>w):0){if((a[b+248>>0]|0)==0?a[b+249>>0]|0:0)break;H=m+ +g[b+156>>2];J=p+ +g[b+160>>2];B=w+ +g[b+148>>2];I=B*+g[b+260>>2];K=B*+g[b+264>>2];g[b+152>>2]=k+ +g[b+152>>2]-+g[b+256>>2]*B;g[b+156>>2]=H-I;g[b+160>>2]=J-K}while(0);c[b+132>>2]=c[b+152>>2];c[b+132+4>>2]=c[b+152+4>>2];c[b+132+8>>2]=c[b+152+8>>2];c[b+132+12>>2]=c[b+152+12>>2]}}c[x+48>>2]=c[b+132>>2];c[x+48+4>>2]=c[b+132+4>>2];c[x+48+8>>2]=c[b+132+8>>2];c[x+48+12>>2]=c[b+132+12>>2];v=c[b+8>>2]|0;c[v+304>>2]=(c[v+304>>2]|0)+1;c[v+4>>2]=c[x>>2];c[v+4+4>>2]=c[x+4>>2];c[v+4+8>>2]=c[x+8>>2];c[v+4+12>>2]=c[x+12>>2];c[v+20>>2]=c[x+16>>2];c[v+20+4>>2]=c[x+16+4>>2];c[v+20+8>>2]=c[x+16+8>>2];c[v+20+12>>2]=c[x+16+12>>2];c[v+36>>2]=c[x+32>>2];c[v+36+4>>2]=c[x+32+4>>2];c[v+36+8>>2]=c[x+32+8>>2];c[v+36+12>>2]=c[x+32+12>>2];c[v+52>>2]=c[x+48>>2];c[v+52+4>>2]=c[x+48+4>>2];c[v+52+8>>2]=c[x+48+8>>2];c[v+52+12>>2]=c[x+48+12>>2];a[b+220>>0]=0;if((((ge(b,d)|0?(a[b+220>>0]=1,ge(b,d)|0):0)?(a[b+220>>0]=1,ge(b,d)|0):0)?(a[b+220>>0]=1,ge(b,d)|0):0)?(a[b+220>>0]=1,ge(b,d)|0):0)a[b+220>>0]=1;l=x;return}function uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0.0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+192|0;if((e|0)<1){f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;f=c[b+52>>2]|0;if(f|0){if(a[b+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;l=I;return}c[I+32>>2]=0;c[I+36>>2]=0;c[I+40>>2]=0;c[I+44>>2]=256;c[I+48>>2]=0;c[I+52>>2]=0;c[I+56>>2]=0;c[I+60>>2]=256;c[I+64>>2]=0;c[I+68>>2]=0;c[I+72>>2]=0;c[I+76>>2]=256;a[I+96>>0]=1;c[I+92>>2]=0;c[I+84>>2]=0;c[I+88>>2]=0;f=0;h=d;i=-246811958;s=1900671690;v=-246811958;w=1900671690;y=-246811958;A=1900671690;while(1){k=c[h>>2]|0;p=c[h+4>>2]|0;q=c[h+8>>2]|0;m=(c[j>>2]=k,+g[j>>2]);s=m<(c[j>>2]=s,+g[j>>2])?k:s;n=(c[j>>2]=p,+g[j>>2]);w=n<(c[j>>2]=w,+g[j>>2])?p:w;o=(c[j>>2]=q,+g[j>>2]);A=o<(c[j>>2]=A,+g[j>>2])?q:A;i=(c[j>>2]=i,+g[j>>2])<m?k:i;v=(c[j>>2]=v,+g[j>>2])<n?p:v;y=(c[j>>2]=y,+g[j>>2])<o?q:y;f=f+1|0;if((f|0)==(e|0))break;else h=h+16|0}B=(c[j>>2]=i,+g[j>>2]);z=(c[j>>2]=s,+g[j>>2]);x=(c[j>>2]=v,+g[j>>2]);u=(c[j>>2]=w,+g[j>>2]);t=(c[j>>2]=y,+g[j>>2]);r=(c[j>>2]=A,+g[j>>2]);g[I+168>>2]=B-z;s=I+168+4|0;g[s>>2]=x-u;v=I+168+8|0;g[v>>2]=t-r;g[I+168+12>>2]=0.0;h=+g[I+168+((B-z<x-u&1)<<2)>>2]<t-r?2:B-z<x-u&1;c[I+112>>2]=h;f=+g[I+168+((!(B-z<x-u)&1)<<2)>>2]<t-r?!(B-z<x-u)&1:2;if((f|0)==(h|0))f=((h+1|0)>>>0)%3|0;c[I+104>>2]=f;G=(h^3)-f|0;c[I+108>>2]=G;g[I+168>>2]=(B-z)*9.788566967472434e-05;g[s>>2]=(x-u)*9.788566967472434e-05;g[v>>2]=(t-r)*9.788566967472434e-05;if(((G+1|0)%3|0|0)==(h|0)){m=(B-z)*9.788566967472434e-05;n=(x-u)*9.788566967472434e-05;o=(t-r)*9.788566967472434e-05}else{g[I+168>>2]=-((B-z)*9.788566967472434e-05);g[s>>2]=-((x-u)*9.788566967472434e-05);g[v>>2]=-((t-r)*9.788566967472434e-05);m=-((B-z)*9.788566967472434e-05);n=-((x-u)*9.788566967472434e-05);o=-((t-r)*9.788566967472434e-05)}c[I>>2]=c[I+168>>2];c[I+4>>2]=c[I+168+4>>2];c[I+8>>2]=c[I+168+8>>2];c[I+12>>2]=c[I+168+12>>2];if(m!=0.0)g[I+168>>2]=1.0/m;if(n!=0.0)g[s>>2]=1.0/n;if(o!=0.0)g[v>>2]=1.0/o;g[I+16>>2]=(B+z)*.5;g[I+20>>2]=(x+u)*.5;g[I+24>>2]=(t+r)*.5;g[I+28>>2]=0.0;w=I+144+16|0;a[w>>0]=1;y=I+144+12|0;c[y>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;c[6995]=(c[6995]|0)+1;f=sc((e<<4|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}i=c[I+144+4>>2]|0;k=c[y>>2]|0;if((i|0)<=0){if(k|0)H=32}else{f=0;do{H=h+(f<<4)|0;G=k+(f<<4)|0;c[H>>2]=c[G>>2];c[H+4>>2]=c[G+4>>2];c[H+8>>2]=c[G+8>>2];c[H+12>>2]=c[G+12>>2];f=f+1|0}while((f|0)!=(i|0));H=32}if((H|0)==32){if(a[w>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}c[y>>2]=0}a[w>>0]=1;c[y>>2]=h;c[I+144+8>>2]=e;c[h>>2]=c[I+128>>2];c[h+4>>2]=c[I+128+4>>2];c[h+8>>2]=c[I+128+8>>2];c[h+12>>2]=c[I+128+12>>2];if((e|0)!=1){f=1;do{G=(c[y>>2]|0)+(f<<4)|0;c[G>>2]=c[I+128>>2];c[G+4>>2]=c[I+128+4>>2];c[G+8>>2]=c[I+128+8>>2];c[G+12>>2]=c[I+128+12>>2];f=f+1|0}while((f|0)!=(e|0))}c[I+144+4>>2]=e;i=I+128+(c[I+108>>2]<<2)|0;k=c[y>>2]|0;p=I+128+(c[I+112>>2]<<2)|0;q=I+128+(c[I+104>>2]<<2)|0;o=+g[I+16>>2];r=+g[I+20>>2];t=+g[I+24>>2];u=+g[I+168>>2];n=+g[s>>2];m=+g[v>>2];h=0;f=d;while(1){z=(+g[f+4>>2]-r)*n;B=(+g[f+8>>2]-t)*m;g[I+128>>2]=(+g[f>>2]-o)*u;g[I+128+4>>2]=z;g[I+128+8>>2]=B;g[I+128+12>>2]=0.0;c[k+(h<<4)>>2]=~~+g[i>>2];c[k+(h<<4)+4>>2]=~~+g[p>>2];c[k+(h<<4)+8>>2]=~~+g[q>>2];c[k+(h<<4)+12>>2]=h;h=h+1|0;if((h|0)==(e|0))break;else f=f+16|0}if((e|0)>1)ah(I+144|0,0,e+-1|0);c[I+36>>2]=c[I+32>>2];c[I+40>>2]=0;c[I+44>>2]=e;f=c[I+84>>2]|0;if((f|0)<(e|0)){if((c[I+88>>2]|0)<(e|0)){if(!e){h=0;k=f}else{c[6995]=(c[6995]|0)+1;h=sc((e<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[I+84>>2]|0}if((k|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[I+92>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(k|0))}i=c[I+92>>2]|0;if(i|0){if(a[I+96>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[I+92>>2]=0}a[I+96>>0]=1;c[I+92>>2]=h;c[I+88>>2]=e}do{c[(c[I+92>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}c[I+84>>2]=e;p=0;do{f=c[I+40>>2]|0;if(!f){f=c[I+36>>2]|0;if(!f){c[6995]=(c[6995]|0)+1;f=sc(31)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[I+44>>2]|0;c[h+4>>2]=f;i=h+8|0;c[i>>2]=0;c[6995]=(c[6995]|0)+1;f=sc((f*112|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[h>>2]=f;c[i>>2]=c[I+32>>2];c[I+32>>2]=h}else{c[I+36>>2]=c[f+8>>2];h=f}f=c[h>>2]|0;k=c[h+4>>2]|0;if((k|0)>0){h=0;i=f;do{h=h+1|0;G=i;i=i+112|0;c[G>>2]=(h|0)<(k|0)?i:0}while((h|0)!=(k|0))}}c[I+40>>2]=c[f>>2];G=f+104|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[G>>2]=-1;c[f+8>>2]=0;E=(c[y>>2]|0)+(p<<4)|0;F=f+88|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];c[G>>2]=-1;c[(c[I+92>>2]|0)+(p<<2)>>2]=f;p=p+1|0}while((p|0)<(e|0));f=c[y>>2]|0;if(f|0){if(a[w>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[y>>2]=0}a[w>>0]=1;c[y>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;c[I+52>>2]=c[I+48>>2];c[I+56>>2]=0;c[I+60>>2]=e*6;c[I+116>>2]=0;c[I+120>>2]=0;c[I+100>>2]=-3;c[I+128>>2]=0;c[I+128+4>>2]=0;c[I+128+8>>2]=0;c[I+128+12>>2]=0;mc(I,0,e,I+128|0);c[I+124>>2]=c[I+128>>2];f=c[y>>2]|0;if(f|0){if(a[w>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[y>>2]=0}f=c[b+4>>2]|0;if((f|0)<0){if((c[b+8>>2]|0)<0){h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{G=(c[b+12>>2]|0)+(f<<4)|0;c[G>>2]=c[I+168>>2];c[G+4>>2]=c[I+168+4>>2];c[G+8>>2]=c[I+168+8>>2];c[G+12>>2]=c[I+168+12>>2];f=f+1|0}while((f|0)!=0)}c[b+4>>2]=0;c[I+168>>2]=0;c[I+168+4>>2]=0;c[I+168+8>>2]=0;f=c[b+24>>2]|0;if((f|0)<0){if((c[b+28>>2]|0)<0){h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0}do{G=(c[b+32>>2]|0)+(f*12|0)|0;c[G>>2]=c[I+168>>2];c[G+4>>2]=c[I+168+4>>2];c[G+8>>2]=c[I+168+8>>2];f=f+1|0}while((f|0)!=0)}c[b+24>>2]=0;h=c[b+44>>2]|0;if((h|0)<0){f=c[b+52>>2]|0;if((c[b+48>>2]|0)<0){do if(f|0){if(!(a[b+56>>0]|0))break;c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}while(0);a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;f=0}Yk(f+(h<<2)|0,0,P(h,-4)|0)|0}c[b+44>>2]=0;h=c[I+124>>2]|0;do if((c[h+104>>2]|0)<0){c[h+104>>2]=0;c[6995]=(c[6995]|0)+1;f=sc(23)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=h;G=0;s=1;v=f;w=1;i=f;y=f;while(1){if((c[h+100>>2]|0)>-1){g[I+168+(c[I+108>>2]<<2)>>2]=+(c[h+88>>2]|0);g[I+168+(c[I+112>>2]<<2)>>2]=+(c[h+92>>2]|0);m=+(c[h+96>>2]|0)}else{F=h+24|0;E=h+32|0;B=+ln(c[F>>2]|0,c[F+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0);E=h+72|0;F=h+80|0;m=+ln(c[E>>2]|0,c[E+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0);g[I+168+(c[I+108>>2]<<2)>>2]=B/m;F=h+40|0;E=h+48|0;B=+ln(c[F>>2]|0,c[F+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)/m;g[I+168+(c[I+112>>2]<<2)>>2]=B;E=h+56|0;F=h+64|0;m=+ln(c[E>>2]|0,c[E+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0)/m}g[I+168+(c[I+104>>2]<<2)>>2]=m;m=+g[I+168>>2]*+g[I>>2]+ +g[I+16>>2];n=+g[I+168+4>>2]*+g[I+4>>2]+ +g[I+20>>2];o=+g[I+168+8>>2]*+g[I+8>>2]+ +g[I+24>>2];f=c[b+4>>2]|0;do if((f|0)==(c[b+8>>2]|0)){q=f|0?f<<1:1;if((f|0)>=(q|0))break;if(!q)p=0;else{c[6995]=(c[6995]|0)+1;f=sc((q<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}p=f;f=c[b+4>>2]|0}if((f|0)>0){k=0;do{F=p+(k<<4)|0;E=(c[b+12>>2]|0)+(k<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];k=k+1|0}while((k|0)!=(f|0))}f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=p;c[b+8>>2]=q;f=c[b+4>>2]|0}while(0);F=c[b+12>>2]|0;g[F+(f<<4)>>2]=m;g[F+(f<<4)+4>>2]=n;g[F+(f<<4)+8>>2]=o;g[F+(f<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;F=c[h+8>>2]|0;if(!F){k=s;A=v;h=w}else{D=F;E=-1;f=-1;A=s;e=v;h=w;while(1){C=D+20|0;p=c[C>>2]|0;if((p|0)<0){d=c[b+24>>2]|0;c[I+168>>2]=0;c[I+168+4>>2]=0;c[I+168+8>>2]=0;do if((d|0)==(c[b+28>>2]|0)){s=d|0?d<<1:1;if((d|0)>=(s|0)){k=d;break}if(!s){k=0;q=d}else{c[6995]=(c[6995]|0)+1;k=sc((s*12|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}q=c[b+24>>2]|0}if((q|0)>0){p=0;do{w=k+(p*12|0)|0;v=(c[b+32>>2]|0)+(p*12|0)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];p=p+1|0}while((p|0)!=(q|0))}p=c[b+32>>2]|0;if(p|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[p+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=k;c[b+28>>2]=s;k=c[b+24>>2]|0}else k=d;while(0);k=(c[b+32>>2]|0)+(k*12|0)|0;c[k>>2]=c[I+168>>2];c[k+4>>2]=c[I+168+4>>2];c[k+8>>2]=c[I+168+8>>2];k=(c[b+24>>2]|0)+1|0;c[b+24>>2]=k;c[I+168>>2]=0;c[I+168+4>>2]=0;c[I+168+8>>2]=0;do if((k|0)==(c[b+28>>2]|0)){s=k|0?k<<1:1;if((k|0)>=(s|0))break;if(!s)q=0;else{c[6995]=(c[6995]|0)+1;k=sc((s*12|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}q=k;k=c[b+24>>2]|0}if((k|0)>0){p=0;do{w=q+(p*12|0)|0;v=(c[b+32>>2]|0)+(p*12|0)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];p=p+1|0}while((p|0)!=(k|0))}k=c[b+32>>2]|0;if(k|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=q;c[b+28>>2]=s;k=c[b+24>>2]|0}while(0);w=(c[b+32>>2]|0)+(k*12|0)|0;c[w>>2]=c[I+168>>2];c[w+4>>2]=c[I+168+4>>2];c[w+8>>2]=c[I+168+8>>2];c[b+24>>2]=(c[b+24>>2]|0)+1;w=c[b+32>>2]|0;c[C>>2]=d;c[(c[D+8>>2]|0)+20>>2]=d+1;c[w+(d*12|0)+4>>2]=1;c[w+((d+1|0)*12|0)+4>>2]=-1;v=c[D+12>>2]|0;k=c[v+104>>2]|0;if((k|0)<0){c[v+104>>2]=h;do if((h|0)==(A|0)){k=A|0?A<<1:1;if((A|0)>=(k|0)){k=A;p=e;s=y;break}do if(!k)q=0;else{c[6995]=(c[6995]|0)+1;p=sc((k<<2|3)+16|0)|0;if(!p){q=0;break}c[(p+4+15&-16)+-4>>2]=p;q=p+4+15&-16}while(0);if((A|0)>0){p=0;do{c[q+(p<<2)>>2]=c[e+(p<<2)>>2];p=p+1|0}while((p|0)!=(A|0));if(!i){p=q;s=q;i=q;break}}else if((e|0)==0|(i|0)==0){p=q;s=q;i=q;break}c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);p=q;s=q;i=q}else{k=A;p=e;s=y}while(0);c[p+(h<<2)>>2]=v;v=h;h=h+1|0;q=s}else{v=k;k=A;p=e;q=y}c[w+(d*12|0)+8>>2]=v;c[w+((d+1|0)*12|0)+8>>2]=G;s=p;p=c[C>>2]|0}else{k=A;s=e;q=y}if((E|0)>-1)c[(c[b+32>>2]|0)+(p*12|0)>>2]=E-p;else f=p;D=c[D>>2]|0;if((D|0)==(F|0))break;else{E=p;A=k;e=s;y=q}}c[(c[b+32>>2]|0)+(f*12|0)>>2]=p-f;A=s;y=q}f=G+1|0;if((f|0)>=(h|0))break;G=f;s=k;v=A;w=h;h=c[A+(f<<2)>>2]|0}if((G|0)>-1){v=0;while(1){w=c[(c[A+(v<<2)>>2]|0)+8>>2]|0;if(w|0){s=w;do{q=s+20|0;f=c[q>>2]|0;if((f|0)>-1){h=c[b+44>>2]|0;do if((h|0)==(c[b+48>>2]|0)){p=h|0?h<<1:1;if((h|0)>=(p|0))break;if(!p)f=0;else{c[6995]=(c[6995]|0)+1;f=sc((p<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[b+44>>2]|0}k=c[b+52>>2]|0;if((h|0)<=0){if(k)H=180}else{i=0;do{c[f+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));H=180}if((H|0)==180){H=0;if(a[b+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}c[b+52>>2]=0;h=c[b+44>>2]|0}a[b+56>>0]=1;c[b+52>>2]=f;c[b+48>>2]=p;f=c[q>>2]|0}while(0);c[(c[b+52>>2]|0)+(h<<2)>>2]=f;c[b+44>>2]=(c[b+44>>2]|0)+1;f=s;do{c[f+20>>2]=-1;f=c[(c[f+8>>2]|0)+4>>2]|0}while((f|0)!=(s|0))}s=c[s>>2]|0}while((s|0)!=(w|0))}if((v|0)==(G|0))break;else v=v+1|0}}if((A|0)==0|(y|0)==0)break;c[6996]=(c[6996]|0)+1;Cd(c[y+-4>>2]|0)}while(0);Ri(I);l=I;return}function vc(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;F=l;l=l+960|0;E=c[f+4>>2]|0;C=c[f+12>>2]|0;j=c[E+4>>2]|0;if((j|0)<20){c[F+776>>2]=3896;c[F+776+168>>2]=0;g[F+776+172>>2]=i;c[F+776+164>>2]=c[h+4>>2];g[F+416+308>>2]=9.999999747378752e-05;a[F+416+332>>0]=0;c[F+352>>2]=9464;c[F+128>>2]=9532;c[F+128+4>>2]=F+416;c[F+128+8>>2]=F+352;c[F+128+12>>2]=b;c[F+128+16>>2]=E;c[F+128+20>>2]=0;if((Wd(F+128|0,d,e,C,C,F+776|0)|0?(u=F+776+132|0,p=+g[u>>2],q=+g[F+776+136>>2],r=+g[F+776+140>>2],p*p+q*q+r*r>9.999999747378752e-05):0)?(s=+g[F+776+164>>2],s<+g[h+4>>2]):0){i=1.0/+D(+(p*p+q*q+r*r));g[u>>2]=p*i;g[F+776+136>>2]=q*i;g[F+776+140>>2]=r*i;c[F+64>>2]=c[f+8>>2];c[F+64+4>>2]=0;c[F+64+8>>2]=c[u>>2];c[F+64+8+4>>2]=c[u+4>>2];c[F+64+8+8>>2]=c[u+8>>2];c[F+64+8+12>>2]=c[u+12>>2];c[F+64+24>>2]=c[F+776+148>>2];c[F+64+24+4>>2]=c[F+776+148+4>>2];c[F+64+24+8>>2]=c[F+776+148+8>>2];c[F+64+24+12>>2]=c[F+776+148+12>>2];g[F+64+40>>2]=s;+qb[c[(c[h>>2]|0)+12>>2]&31](h,F+64|0,1)}l=F;return}if((j+-21|0)>>>0>=9){if((j|0)!=31){l=F;return}u=c[(c[b>>2]|0)+8>>2]|0;M=+g[C>>2];N=+g[C+16>>2];O=+g[C+32>>2];w=+g[C+4>>2];v=+g[C+20>>2];s=+g[C+36>>2];r=+g[C+8>>2];p=+g[C+24>>2];n=+g[C+40>>2];B=-+g[C+48>>2];z=-+g[C+52>>2];x=-+g[C+56>>2];k=+g[d>>2];A=+g[d+16>>2];y=+g[d+32>>2];G=+g[d+4>>2];H=+g[d+20>>2];I=+g[d+36>>2];J=+g[d+8>>2];K=+g[d+24>>2];L=+g[d+40>>2];q=+g[d+48>>2];o=+g[d+52>>2];m=+g[d+56>>2];g[F+64>>2]=M*k+N*A+O*y;g[F+64+4>>2]=M*G+N*H+O*I;g[F+64+8>>2]=M*J+N*K+O*L;g[F+64+12>>2]=0.0;g[F+64+16>>2]=w*k+v*A+s*y;g[F+64+20>>2]=w*G+v*H+s*I;g[F+64+24>>2]=w*J+v*K+s*L;g[F+64+28>>2]=0.0;g[F+64+32>>2]=r*k+p*A+n*y;g[F+64+36>>2]=r*G+p*H+n*I;g[F+64+40>>2]=r*J+p*K+n*L;g[F+64+44>>2]=0.0;g[F+64+48>>2]=M*B+N*z+O*x+(M*q+N*o+O*m);g[F+64+52>>2]=w*B+v*z+s*x+(w*q+v*o+s*m);g[F+64+56>>2]=r*B+p*z+n*x+(r*q+p*o+n*m);g[F+64+60>>2]=0.0;Vb[u&127](b,F+64|0,F+776|0,F+416|0);u=c[(c[b>>2]|0)+8>>2]|0;m=+g[C>>2];n=+g[C+16>>2];o=+g[C+32>>2];p=+g[C+4>>2];q=+g[C+20>>2];r=+g[C+36>>2];x=+g[C+8>>2];z=+g[C+24>>2];B=+g[C+40>>2];s=-+g[C+48>>2];v=-+g[C+52>>2];w=-+g[C+56>>2];O=+g[e>>2];N=+g[e+16>>2];M=+g[e+32>>2];L=+g[e+4>>2];K=+g[e+20>>2];J=+g[e+36>>2];I=+g[e+8>>2];H=+g[e+24>>2];G=+g[e+40>>2];y=+g[e+48>>2];A=+g[e+52>>2];k=+g[e+56>>2];g[F+64>>2]=m*O+n*N+o*M;g[F+64+4>>2]=m*L+n*K+o*J;g[F+64+8>>2]=m*I+n*H+o*G;g[F+64+12>>2]=0.0;g[F+64+16>>2]=p*O+q*N+r*M;g[F+64+20>>2]=p*L+q*K+r*J;g[F+64+24>>2]=p*I+q*H+r*G;g[F+64+28>>2]=0.0;g[F+64+32>>2]=x*O+z*N+B*M;g[F+64+36>>2]=x*L+z*K+B*J;g[F+64+40>>2]=x*I+z*H+B*G;g[F+64+44>>2]=0.0;g[F+64+48>>2]=m*s+n*v+o*w+(m*y+n*A+o*k);g[F+64+52>>2]=p*s+q*v+r*w+(p*y+q*A+r*k);g[F+64+56>>2]=x*s+z*v+B*w+(x*y+z*A+B*k);g[F+64+60>>2]=0.0;Vb[u&127](b,F+64|0,F+352|0,F+128|0);k=+g[F+352>>2];if(k<+g[F+776>>2])g[F+776>>2]=k;k=+g[F+352+4>>2];if(k<+g[F+776+4>>2])g[F+776+4>>2]=k;k=+g[F+352+8>>2];if(k<+g[F+776+8>>2])g[F+776+8>>2]=k;k=+g[F+352+12>>2];if(k<+g[F+776+12>>2])g[F+776+12>>2]=k;k=+g[F+128>>2];if(+g[F+416>>2]<k)g[F+416>>2]=k;k=+g[F+128+4>>2];if(+g[F+416+4>>2]<k)g[F+416+4>>2]=k;k=+g[F+128+8>>2];if(+g[F+416+8>>2]<k)g[F+416+8>>2]=k;k=+g[F+128+12>>2];if(+g[F+416+12>>2]<k)g[F+416+12>>2]=k;c[F+64>>2]=6224;c[F+64+4>>2]=f;c[F+64+8>>2]=b;c[F+64+12>>2]=d;c[F+64+16>>2]=e;g[F+64+20>>2]=i;c[F+64+24>>2]=E;c[F+64+28>>2]=C;c[F+64+32>>2]=h;j=c[E+68>>2]|0;if(!j){if((c[E+20>>2]|0)>0){j=0;do{f=c[E+28>>2]|0;h=c[f+(j*80|0)+64>>2]|0;e=f+(j*80|0)|0;c[F>>2]=c[e>>2];c[F+4>>2]=c[e+4>>2];c[F+8>>2]=c[e+8>>2];c[F+12>>2]=c[e+12>>2];e=f+(j*80|0)+16|0;c[F+16>>2]=c[e>>2];c[F+16+4>>2]=c[e+4>>2];c[F+16+8>>2]=c[e+8>>2];c[F+16+12>>2]=c[e+12>>2];e=f+(j*80|0)+32|0;c[F+32>>2]=c[e>>2];c[F+32+4>>2]=c[e+4>>2];c[F+32+8>>2]=c[e+8>>2];c[F+32+12>>2]=c[e+12>>2];f=f+(j*80|0)+48|0;c[F+48>>2]=c[f>>2];c[F+48+4>>2]=c[f+4>>2];c[F+48+8>>2]=c[f+8>>2];c[F+48+12>>2]=c[f+12>>2];jg(F+64|0,j,F,h);j=j+1|0}while((j|0)<(c[E+20>>2]|0))}}else{c[F>>2]=c[F+776>>2];c[F+4>>2]=c[F+776+4>>2];c[F+8>>2]=c[F+776+8>>2];c[F+12>>2]=c[F+776+12>>2];c[F+16>>2]=c[F+416>>2];c[F+16+4>>2]=c[F+416+4>>2];c[F+16+8>>2]=c[F+416+8>>2];c[F+16+12>>2]=c[F+416+12>>2];Bf(c[j>>2]|0,F,F+64|0)}l=F;return}switch(j|0){case 21:{o=+g[C>>2];p=+g[C+16>>2];q=+g[C+32>>2];r=+g[C+4>>2];s=+g[C+20>>2];v=+g[C+36>>2];w=+g[C+8>>2];x=+g[C+24>>2];y=+g[C+40>>2];z=-+g[C+48>>2];A=-+g[C+52>>2];B=-+g[C+56>>2];n=+g[d+48>>2];m=+g[d+52>>2];k=+g[d+56>>2];g[F+416>>2]=o*z+p*A+q*B+(o*n+p*m+q*k);g[F+416+4>>2]=r*z+s*A+v*B+(r*n+s*m+v*k);g[F+416+8>>2]=w*z+x*A+y*B+(w*n+x*m+y*k);g[F+416+12>>2]=0.0;k=+g[e+48>>2];m=+g[e+52>>2];n=+g[e+56>>2];G=+g[e>>2];H=+g[e+16>>2];I=+g[e+32>>2];J=+g[e+4>>2];K=+g[e+20>>2];L=+g[e+36>>2];M=+g[e+8>>2];N=+g[e+24>>2];O=+g[e+40>>2];g[F+352>>2]=o*G+p*H+q*I;g[F+352+4>>2]=o*J+p*K+q*L;g[F+352+8>>2]=o*M+p*N+q*O;g[F+352+12>>2]=0.0;g[F+352+16>>2]=r*G+s*H+v*I;g[F+352+20>>2]=r*J+s*K+v*L;g[F+352+24>>2]=r*M+s*N+v*O;g[F+352+28>>2]=0.0;g[F+352+32>>2]=w*G+x*H+y*I;g[F+352+36>>2]=w*J+x*K+y*L;g[F+352+40>>2]=w*M+x*N+y*O;j=F+352+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;j=c[f+8>>2]|0;O=+nb[c[(c[E>>2]|0)+48>>2]&15](E);c[F+128>>2]=9392;c[F+128+4>>2]=b;c[F+128+8>>2]=c[d>>2];c[F+128+8+4>>2]=c[d+4>>2];c[F+128+8+8>>2]=c[d+8>>2];c[F+128+8+12>>2]=c[d+12>>2];c[F+128+24>>2]=c[d+16>>2];c[F+128+24+4>>2]=c[d+16+4>>2];c[F+128+24+8>>2]=c[d+16+8>>2];c[F+128+24+12>>2]=c[d+16+12>>2];c[F+128+40>>2]=c[d+32>>2];c[F+128+40+4>>2]=c[d+32+4>>2];c[F+128+40+8>>2]=c[d+32+8>>2];c[F+128+40+12>>2]=c[d+32+12>>2];c[F+128+56>>2]=c[d+48>>2];c[F+128+56+4>>2]=c[d+48+4>>2];c[F+128+56+8>>2]=c[d+48+8>>2];c[F+128+56+12>>2]=c[d+48+12>>2];c[F+128+72>>2]=c[e>>2];c[F+128+72+4>>2]=c[e+4>>2];c[F+128+72+8>>2]=c[e+8>>2];c[F+128+72+12>>2]=c[e+12>>2];c[F+128+88>>2]=c[e+16>>2];c[F+128+88+4>>2]=c[e+16+4>>2];c[F+128+88+8>>2]=c[e+16+8>>2];c[F+128+88+12>>2]=c[e+16+12>>2];c[F+128+104>>2]=c[e+32>>2];c[F+128+104+4>>2]=c[e+32+4>>2];c[F+128+104+8>>2]=c[e+32+8>>2];c[F+128+104+12>>2]=c[e+32+12>>2];c[F+128+120>>2]=c[e+48>>2];c[F+128+120+4>>2]=c[e+48+4>>2];c[F+128+120+8>>2]=c[e+48+8>>2];c[F+128+120+12>>2]=c[e+48+12>>2];c[F+128+136>>2]=c[C>>2];c[F+128+136+4>>2]=c[C+4>>2];c[F+128+136+8>>2]=c[C+8>>2];c[F+128+136+12>>2]=c[C+12>>2];c[F+128+152>>2]=c[C+16>>2];c[F+128+152+4>>2]=c[C+16+4>>2];c[F+128+152+8>>2]=c[C+16+8>>2];c[F+128+152+12>>2]=c[C+16+12>>2];c[F+128+168>>2]=c[C+32>>2];c[F+128+168+4>>2]=c[C+32+4>>2];c[F+128+168+8>>2]=c[C+32+8>>2];c[F+128+168+12>>2]=c[C+32+12>>2];c[F+128+184>>2]=c[C+48>>2];c[F+128+184+4>>2]=c[C+48+4>>2];c[F+128+184+8>>2]=c[C+48+8>>2];c[F+128+184+12>>2]=c[C+48+12>>2];g[F+128+204>>2]=O;c[F+128>>2]=6176;c[F+128+212>>2]=h;c[F+128+216>>2]=j;c[F+128+220>>2]=E;c[F+128+200>>2]=c[h+4>>2];g[F+128+208>>2]=i;Vb[c[(c[b>>2]|0)+8>>2]&127](b,F+352|0,F+64|0,F);j=c[E+52>>2]|0;c[F+776>>2]=7252;c[F+776+4>>2]=j;c[F+776+8>>2]=F+128;j=c[E+56>>2]|0;if(!(a[j+60>>0]|0))Re(j,F+776|0,F+416|0,o*z+p*A+q*B+(o*k+p*m+q*n),r*z+s*A+v*B+(r*k+s*m+v*n),w*z+x*A+y*B+(w*k+x*m+y*n),F+64|0,F);else ue(j,F+776|0,F+416|0,o*z+p*A+q*B+(o*k+p*m+q*n),r*z+s*A+v*B+(r*k+s*m+v*n),w*z+x*A+y*B+(w*k+x*m+y*n),F+64|0,F,c[j+56>>2]|0);l=F;return}case 28:{c[F+776>>2]=3896;c[F+776+168>>2]=0;g[F+776+172>>2]=i;c[F+776+164>>2]=c[h+4>>2];c[F+416>>2]=9532;c[F+416+4>>2]=0;c[F+416+8>>2]=0;c[F+416+12>>2]=b;c[F+416+16>>2]=0;c[F+416+20>>2]=E;if((Wd(F+416|0,d,e,C,C,F+776|0)|0?(t=F+776+132|0,k=+g[t>>2],m=+g[F+776+136>>2],n=+g[F+776+140>>2],k*k+m*m+n*n>9.999999747378752e-05):0)?(o=+g[F+776+164>>2],o<+g[h+4>>2]):0){O=1.0/+D(+(k*k+m*m+n*n));g[t>>2]=k*O;g[F+776+136>>2]=m*O;g[F+776+140>>2]=n*O;c[F+352>>2]=c[f+8>>2];c[F+352+4>>2]=0;c[F+352+8>>2]=c[t>>2];c[F+352+8+4>>2]=c[t+4>>2];c[F+352+8+8>>2]=c[t+8>>2];c[F+352+8+12>>2]=c[t+12>>2];c[F+352+24>>2]=c[F+776+148>>2];c[F+352+24+4>>2]=c[F+776+148+4>>2];c[F+352+24+8>>2]=c[F+776+148+8>>2];c[F+352+24+12>>2]=c[F+776+148+12>>2];g[F+352+40>>2]=o;+qb[c[(c[h>>2]|0)+12>>2]&31](h,F+352|0,1)}l=F;return}default:{o=+g[C>>2];p=+g[C+16>>2];q=+g[C+32>>2];w=+g[C+4>>2];x=+g[C+20>>2];y=+g[C+36>>2];J=+g[C+8>>2];L=+g[C+24>>2];N=+g[C+40>>2];H=-+g[C+48>>2];G=-+g[C+52>>2];B=-+g[C+56>>2];z=+g[d+48>>2];A=+g[d+52>>2];k=+g[d+56>>2];n=o*H+p*G+q*B+(o*z+p*A+q*k);m=w*H+x*G+y*B+(w*z+x*A+y*k);k=J*H+L*G+N*B+(J*z+L*A+N*k);A=+g[e+48>>2];z=+g[e+52>>2];v=+g[e+56>>2];r=o*H+p*G+q*B+(o*A+p*z+q*v);s=w*H+x*G+y*B+(w*A+x*z+y*v);v=J*H+L*G+N*B+(J*A+L*z+N*v);z=+g[e>>2];A=+g[e+16>>2];B=+g[e+32>>2];G=+g[e+4>>2];H=+g[e+20>>2];I=+g[e+36>>2];K=+g[e+8>>2];M=+g[e+24>>2];O=+g[e+40>>2];g[F+776>>2]=o*z+p*A+q*B;g[F+776+4>>2]=o*G+p*H+q*I;g[F+776+8>>2]=o*K+p*M+q*O;g[F+776+12>>2]=0.0;g[F+776+16>>2]=w*z+x*A+y*B;g[F+776+20>>2]=w*G+x*H+y*I;g[F+776+24>>2]=w*K+x*M+y*O;g[F+776+28>>2]=0.0;g[F+776+32>>2]=J*z+L*A+N*B;g[F+776+36>>2]=J*G+L*H+N*I;g[F+776+40>>2]=J*K+L*M+N*O;u=F+776+44|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;f=c[f+8>>2]|0;O=+nb[c[(c[E>>2]|0)+48>>2]&15](E);c[F+416>>2]=9392;c[F+416+4>>2]=b;c[F+416+8>>2]=c[d>>2];c[F+416+8+4>>2]=c[d+4>>2];c[F+416+8+8>>2]=c[d+8>>2];c[F+416+8+12>>2]=c[d+12>>2];c[F+416+24>>2]=c[d+16>>2];c[F+416+24+4>>2]=c[d+16+4>>2];c[F+416+24+8>>2]=c[d+16+8>>2];c[F+416+24+12>>2]=c[d+16+12>>2];c[F+416+40>>2]=c[d+32>>2];c[F+416+40+4>>2]=c[d+32+4>>2];c[F+416+40+8>>2]=c[d+32+8>>2];c[F+416+40+12>>2]=c[d+32+12>>2];c[F+416+56>>2]=c[d+48>>2];c[F+416+56+4>>2]=c[d+48+4>>2];c[F+416+56+8>>2]=c[d+48+8>>2];c[F+416+56+12>>2]=c[d+48+12>>2];c[F+416+72>>2]=c[e>>2];c[F+416+72+4>>2]=c[e+4>>2];c[F+416+72+8>>2]=c[e+8>>2];c[F+416+72+12>>2]=c[e+12>>2];c[F+416+88>>2]=c[e+16>>2];c[F+416+88+4>>2]=c[e+16+4>>2];c[F+416+88+8>>2]=c[e+16+8>>2];c[F+416+88+12>>2]=c[e+16+12>>2];c[F+416+104>>2]=c[e+32>>2];c[F+416+104+4>>2]=c[e+32+4>>2];c[F+416+104+8>>2]=c[e+32+8>>2];c[F+416+104+12>>2]=c[e+32+12>>2];c[F+416+120>>2]=c[e+48>>2];c[F+416+120+4>>2]=c[e+48+4>>2];c[F+416+120+8>>2]=c[e+48+8>>2];c[F+416+120+12>>2]=c[e+48+12>>2];c[F+416+136>>2]=c[C>>2];c[F+416+136+4>>2]=c[C+4>>2];c[F+416+136+8>>2]=c[C+8>>2];c[F+416+136+12>>2]=c[C+12>>2];c[F+416+152>>2]=c[C+16>>2];c[F+416+152+4>>2]=c[C+16+4>>2];c[F+416+152+8>>2]=c[C+16+8>>2];c[F+416+152+12>>2]=c[C+16+12>>2];c[F+416+168>>2]=c[C+32>>2];c[F+416+168+4>>2]=c[C+32+4>>2];c[F+416+168+8>>2]=c[C+32+8>>2];c[F+416+168+12>>2]=c[C+32+12>>2];c[F+416+184>>2]=c[C+48>>2];c[F+416+184+4>>2]=c[C+48+4>>2];c[F+416+184+8>>2]=c[C+48+8>>2];c[F+416+184+12>>2]=c[C+48+12>>2];g[F+416+204>>2]=O;c[F+416>>2]=6200;c[F+416+212>>2]=h;c[F+416+216>>2]=f;c[F+416+220>>2]=E;c[F+416+200>>2]=c[h+4>>2];g[F+416+208>>2]=i;Vb[c[(c[b>>2]|0)+8>>2]&127](b,F+776|0,F+352|0,F+128|0);g[F+64>>2]=n;g[F+64+4>>2]=m;g[F+64+8>>2]=k;g[F+64+12>>2]=0.0;if(r<n){g[F+64>>2]=r;o=r}else o=n;if(s<m){g[F+64+4>>2]=s;p=s}else p=m;if(v<k){g[F+64+8>>2]=v;q=v}else q=k;g[F>>2]=n;g[F+4>>2]=m;g[F+8>>2]=k;g[F+12>>2]=0.0;if(n<r){g[F>>2]=r;n=r}if(m<s){g[F+4>>2]=s;m=s}if(k<v){g[F+8>>2]=v;k=v}g[F+64>>2]=+g[F+352>>2]+o;g[F+64+4>>2]=+g[F+352+4>>2]+p;g[F+64+8>>2]=+g[F+352+8>>2]+q;g[F>>2]=+g[F+128>>2]+n;g[F+4>>2]=+g[F+128+4>>2]+m;g[F+8>>2]=+g[F+128+8>>2]+k;Vb[c[(c[E>>2]|0)+64>>2]&127](E,F+416|0,F+64|0,F);l=F;return}}}function wc(b){b=b|0;var d=0,e=0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0;J=l;l=l+64|0;if(!(a[b+356>>0]|0)){b=a[b+312>>0]|0;b=b<<24>>24!=0;l=J;return b|0}c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;p=a[b+332>>0]|0;a[b+332>>0]=p&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 0:{a[b+312>>0]=0;b=0;b=b<<24>>24!=0;l=J;return b|0}case 1:{c[b+244>>2]=c[b+84>>2];c[b+244+4>>2]=c[b+84+4>>2];c[b+244+8>>2]=c[b+84+8>>2];c[b+244+12>>2]=c[b+84+12>>2];c[b+260>>2]=c[b+164>>2];c[b+260+4>>2]=c[b+164+4>>2];c[b+260+8>>2]=c[b+164+8>>2];c[b+260+12>>2]=c[b+164+12>>2];F=+g[b+248>>2]-+g[b+264>>2];G=+g[b+252>>2]-+g[b+268>>2];g[b+276>>2]=+g[b+244>>2]-+g[b+260>>2];g[b+280>>2]=F;g[b+284>>2]=G;g[b+288>>2]=0.0;a[b+352>>0]=0;a[b+332>>0]=p&-16;g[b+336>>2]=1.0;g[b+340>>2]=0.0;g[b+344>>2]=0.0;g[b+348>>2]=0.0;a[b+312>>0]=1;b=1;b=b<<24>>24!=0;l=J;return b|0}case 2:{f=+g[b+4>>2];i=+g[b+8>>2];j=+g[b+12>>2];k=+g[b+20>>2]-f;m=+g[b+24>>2]-i;n=+g[b+28>>2]-j;if((0.0-f)*k+(0.0-i)*m+(0.0-j)*n>0.0)if((0.0-f)*k+(0.0-i)*m+(0.0-j)*n<k*k+m*m+n*n){a[b+332>>0]=p&-16|1;e=2;d=p&-16|1;i=((0.0-f)*k+(0.0-i)*m+(0.0-j)*n)/(k*k+m*m+n*n)}else{e=2;d=p&-16;i=1.0}else{e=1;d=p&-16;i=0.0}e=d|e;a[b+332>>0]=e;f=1.0-i;g[b+336>>2]=f;g[b+340>>2]=i;g[b+344>>2]=0.0;g[b+348>>2]=0.0;B=+g[b+84>>2];D=+g[b+88>>2];F=+g[b+92>>2];B=B+i*(+g[b+100>>2]-B);D=D+i*(+g[b+104>>2]-D);F=F+i*(+g[b+108>>2]-F);g[b+244>>2]=B;g[b+248>>2]=D;g[b+252>>2]=F;g[b+256>>2]=0.0;C=+g[b+164>>2];E=+g[b+168>>2];G=+g[b+172>>2];C=C+i*(+g[b+180>>2]-C);E=E+i*(+g[b+184>>2]-E);G=G+i*(+g[b+188>>2]-G);g[b+260>>2]=C;g[b+264>>2]=E;g[b+268>>2]=G;g[b+272>>2]=0.0;g[b+276>>2]=B-C;g[b+280>>2]=D-E;g[b+284>>2]=F-G;g[b+288>>2]=0.0;if(!(e&2)){c[b>>2]=1;d=0}else d=1;if(!(e&1)){I=b+164+(d<<4)|0;H=b+84+(d<<4)|0;r=b+4+(d<<4)|0;c[b>>2]=d;c[b+4>>2]=c[r>>2];c[b+4+4>>2]=c[r+4>>2];c[b+4+8>>2]=c[r+8>>2];c[b+4+12>>2]=c[r+12>>2];c[b+84>>2]=c[H>>2];c[b+84+4>>2]=c[H+4>>2];c[b+84+8>>2]=c[H+8>>2];c[b+84+12>>2]=c[H+12>>2];c[b+164>>2]=c[I>>2];c[b+164+4>>2]=c[I+4>>2];c[b+164+8>>2]=c[I+8>>2];c[b+164+12>>2]=c[I+12>>2]}I=i>=0.0&f>=0.0&1;a[b+312>>0]=I;b=I;b=b<<24>>24!=0;l=J;return b|0}case 3:{c[J+16>>2]=0;c[J+16+4>>2]=0;c[J+16+8>>2]=0;c[J+16+12>>2]=0;cf(J+16|0,b+4|0,b+20|0,b+36|0,b+316|0);G=+g[b+336>>2];f=+g[b+340>>2];i=+g[b+344>>2];B=+g[b+84>>2]*G+ +g[b+100>>2]*f+ +g[b+116>>2]*i;D=G*+g[b+88>>2]+f*+g[b+104>>2]+i*+g[b+120>>2];F=G*+g[b+92>>2]+f*+g[b+108>>2]+i*+g[b+124>>2];g[b+244>>2]=B;g[b+248>>2]=D;g[b+252>>2]=F;g[b+256>>2]=0.0;C=+g[b+164>>2]*G+ +g[b+180>>2]*f+ +g[b+196>>2]*i;E=G*+g[b+168>>2]+f*+g[b+184>>2]+i*+g[b+200>>2];G=G*+g[b+172>>2]+f*+g[b+188>>2]+i*+g[b+204>>2];g[b+260>>2]=C;g[b+264>>2]=E;g[b+268>>2]=G;g[b+272>>2]=0.0;g[b+276>>2]=B-C;g[b+280>>2]=D-E;g[b+284>>2]=F-G;g[b+288>>2]=0.0;e=c[b>>2]|0;do if((e|0)>3){d=a[b+332>>0]|0;if(!(d&8)){h=b+164+(e+-1<<4)|0;I=b+84+(e+-1<<4)|0;H=b+4+(e+-1<<4)|0;c[b>>2]=e+-1;c[b+52>>2]=c[H>>2];c[b+52+4>>2]=c[H+4>>2];c[b+52+8>>2]=c[H+8>>2];c[b+52+12>>2]=c[H+12>>2];c[b+132>>2]=c[I>>2];c[b+132+4>>2]=c[I+4>>2];c[b+132+8>>2]=c[I+8>>2];c[b+132+12>>2]=c[I+12>>2];c[b+212>>2]=c[h>>2];c[b+212+4>>2]=c[h+4>>2];c[b+212+8>>2]=c[h+8>>2];c[b+212+12>>2]=c[h+12>>2];h=e+-1|0;I=19}else{h=e;I=19}}else{if((e|0)==3){d=a[b+332>>0]|0;h=3;I=19;break}if((e|0)>1){d=a[b+332>>0]|0;e=2;I=23;break}if((e|0)==1){o=a[b+332>>0]|0;h=1;I=27}}while(0);if((I|0)==19){e=h+-1|0;if(!(d&4)){c[b>>2]=e;c[b+36>>2]=c[b+4+(e<<4)>>2];c[b+36+4>>2]=c[b+4+(e<<4)+4>>2];c[b+36+8>>2]=c[b+4+(e<<4)+8>>2];c[b+36+12>>2]=c[b+4+(e<<4)+12>>2];c[b+116>>2]=c[b+84+(e<<4)>>2];c[b+116+4>>2]=c[b+84+(e<<4)+4>>2];c[b+116+8>>2]=c[b+84+(e<<4)+8>>2];c[b+116+12>>2]=c[b+84+(e<<4)+12>>2];c[b+196>>2]=c[b+164+(e<<4)>>2];c[b+196+4>>2]=c[b+164+(e<<4)+4>>2];c[b+196+8>>2]=c[b+164+(e<<4)+8>>2];c[b+196+12>>2]=c[b+164+(e<<4)+12>>2];I=23}else{e=h;I=23}}if((I|0)==23){h=e+-1|0;if(!(d&2)){c[b>>2]=h;c[b+20>>2]=c[b+4+(h<<4)>>2];c[b+20+4>>2]=c[b+4+(h<<4)+4>>2];c[b+20+8>>2]=c[b+4+(h<<4)+8>>2];c[b+20+12>>2]=c[b+4+(h<<4)+12>>2];c[b+100>>2]=c[b+84+(h<<4)>>2];c[b+100+4>>2]=c[b+84+(h<<4)+4>>2];c[b+100+8>>2]=c[b+84+(h<<4)+8>>2];c[b+100+12>>2]=c[b+84+(h<<4)+12>>2];c[b+180>>2]=c[b+164+(h<<4)>>2];c[b+180+4>>2]=c[b+164+(h<<4)+4>>2];c[b+180+8>>2]=c[b+164+(h<<4)+8>>2];c[b+180+12>>2]=c[b+164+(h<<4)+12>>2];o=d;I=27}else{o=d;h=e;I=27}}if((I|0)==27?(q=h+-1|0,(o&1)==0):0){c[b>>2]=q;c[b+4>>2]=c[b+4+(q<<4)>>2];c[b+4+4>>2]=c[b+4+(q<<4)+4>>2];c[b+4+8>>2]=c[b+4+(q<<4)+8>>2];c[b+4+12>>2]=c[b+4+(q<<4)+12>>2];c[b+84>>2]=c[b+84+(q<<4)>>2];c[b+84+4>>2]=c[b+84+(q<<4)+4>>2];c[b+84+8>>2]=c[b+84+(q<<4)+8>>2];c[b+84+12>>2]=c[b+84+(q<<4)+12>>2];c[b+164>>2]=c[b+164+(q<<4)>>2];c[b+164+4>>2]=c[b+164+(q<<4)+4>>2];c[b+164+8>>2]=c[b+164+(q<<4)+8>>2];c[b+164+12>>2]=c[b+164+(q<<4)+12>>2]}if((f>=0.0?!(+g[b+336>>2]>=0.0):1)|!(i>=0.0))d=0;else d=+g[b+348>>2]>=0.0&1;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;l=J;return b|0}case 4:{c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;r=J+16+16|0;a[r>>0]=0;c[b+316>>2]=0;c[b+316+4>>2]=0;c[b+316+8>>2]=0;c[b+316+12>>2]=0;a[b+332>>0]=p|15;L=+g[b+20>>2];U=+g[b+4>>2];R=+g[b+24>>2];K=+g[b+8>>2];N=+g[b+28>>2];V=+g[b+12>>2];Q=+g[b+36>>2];S=+g[b+40>>2];O=+g[b+44>>2];M=+g[b+52>>2];T=+g[b+56>>2];P=+g[b+60>>2];W=((R-K)*(O-V)-(N-V)*(S-K))*(M-U)+((N-V)*(Q-U)-(L-U)*(O-V))*(T-K)+((L-U)*(S-K)-(R-K)*(Q-U))*(P-V);h=W*W<9.99999905104687e-09?-1:((0.0-U)*((R-K)*(O-V)-(N-V)*(S-K))+(0.0-K)*((N-V)*(Q-U)-(L-U)*(O-V))+((L-U)*(S-K)-(R-K)*(Q-U))*(0.0-V))*W<0.0&1;W=(N-V)*((Q-U)*(T-K)-(S-K)*(M-U))+((L-U)*((S-K)*(P-V)-(O-V)*(T-K))+(R-K)*((O-V)*(M-U)-(Q-U)*(P-V)));o=W*W<9.99999905104687e-09?-1:((0.0-V)*((Q-U)*(T-K)-(S-K)*(M-U))+((0.0-U)*((S-K)*(P-V)-(O-V)*(T-K))+(0.0-K)*((O-V)*(M-U)-(Q-U)*(P-V))))*W<0.0&1;W=(O-V)*((R-K)*(M-U)-(L-U)*(T-K))+((Q-U)*((N-V)*(T-K)-(R-K)*(P-V))+(S-K)*((L-U)*(P-V)-(N-V)*(M-U)));p=W*W<9.99999905104687e-09?-1:((0.0-V)*((R-K)*(M-U)-(L-U)*(T-K))+((0.0-U)*((N-V)*(T-K)-(R-K)*(P-V))+(0.0-K)*((L-U)*(P-V)-(N-V)*(M-U))))*W<0.0&1;K=(V-N)*((S-R)*(M-L)-(Q-L)*(T-R))+((U-L)*((O-N)*(T-R)-(S-R)*(P-N))+(K-R)*((Q-L)*(P-N)-(O-N)*(M-L)));q=K*K<9.99999905104687e-09?-1:((0.0-N)*((S-R)*(M-L)-(Q-L)*(T-R))+((0.0-L)*((O-N)*(T-R)-(S-R)*(P-N))+(0.0-R)*((Q-L)*(P-N)-(O-N)*(M-L))))*K<0.0&1;do if((o|h|p|q|0)<0){a[b+352>>0]=1;d=b+312|0;I=68}else{if(!(o|h|p|q)){if(a[b+352>>0]|0){d=b+312|0;I=68;break}a[b+312>>0]=1;c[b+276>>2]=0;c[b+276+4>>2]=0;c[b+276+8>>2]=0;c[b+276+12>>2]=0;d=1;break}if((h|0)!=0?(cf(J,b+4|0,b+20|0,b+36|0,J+16|0),f=+g[J+16>>2],i=+g[J+16+4>>2],j=+g[J+16+8>>2],k=f-+g[J>>2],m=i-+g[J+4>>2],n=j-+g[J+8>>2],k*k+m*m+n*n<3402823466385288598117041.0e14):0){X=c[J+16+12>>2]|0;g[b+316>>2]=f;g[b+320>>2]=i;g[b+324>>2]=j;c[b+328>>2]=X;X=a[r>>0]|0;a[b+332>>0]=X&1|a[b+332>>0]&-16|X&2|X&4;X=c[J+16+24>>2]|0;h=c[J+16+28>>2]|0;c[b+336>>2]=c[J+16+20>>2];c[b+340>>2]=X;c[b+344>>2]=h;g[b+348>>2]=0.0;f=k*k+m*m+n*n}else f=3402823466385288598117041.0e14;if((o|0)!=0?(cf(J,b+4|0,b+36|0,b+52|0,J+16|0),s=+g[J+16>>2],t=+g[J+16+4>>2],u=+g[J+16+8>>2],v=s-+g[J>>2],w=t-+g[J+4>>2],x=u-+g[J+8>>2],v*v+w*w+x*x<f):0){o=c[J+16+12>>2]|0;g[b+316>>2]=s;g[b+320>>2]=t;g[b+324>>2]=u;c[b+328>>2]=o;o=a[r>>0]|0;a[b+332>>0]=o<<1&8|(o&1|a[b+332>>0]&-16|o<<1&4);o=c[J+16+24>>2]|0;X=c[J+16+28>>2]|0;c[b+336>>2]=c[J+16+20>>2];g[b+340>>2]=0.0;c[b+344>>2]=o;c[b+348>>2]=X;f=v*v+w*w+x*x}if((p|0)!=0?(cf(J,b+4|0,b+52|0,b+20|0,J+16|0),y=+g[J+16>>2],z=+g[J+16+4>>2],A=+g[J+16+8>>2],B=y-+g[J>>2],C=z-+g[J+4>>2],D=A-+g[J+8>>2],B*B+C*C+D*D<f):0){p=c[J+16+12>>2]|0;g[b+316>>2]=y;g[b+320>>2]=z;g[b+324>>2]=A;c[b+328>>2]=p;p=a[r>>0]|0;a[b+332>>0]=p<<2&8|(p&1|a[b+332>>0]&-16|(p&255)>>>1&2);p=c[J+16+28>>2]|0;X=c[J+16+24>>2]|0;c[b+336>>2]=c[J+16+20>>2];c[b+340>>2]=p;g[b+344>>2]=0.0;c[b+348>>2]=X;f=B*B+C*C+D*D}if(q|0?(cf(J,b+20|0,b+52|0,b+36|0,J+16|0),E=+g[J+16>>2],F=+g[J+16+4>>2],G=+g[J+16+8>>2],U=E-+g[J>>2],V=F-+g[J+4>>2],W=G-+g[J+8>>2],U*U+V*V+W*W<f):0){q=c[J+16+12>>2]|0;g[b+316>>2]=E;g[b+320>>2]=F;g[b+324>>2]=G;c[b+328>>2]=q;q=a[r>>0]|0;a[b+332>>0]=q&4|a[b+332>>0]&-16|q<<1&2|q<<2&8;q=c[J+16+20>>2]|0;r=c[J+16+28>>2]|0;X=c[J+16+24>>2]|0;g[b+336>>2]=0.0;c[b+340>>2]=q;c[b+344>>2]=r;c[b+348>>2]=X}P=+g[b+336>>2];Q=+g[b+340>>2];W=+g[b+344>>2];f=+g[b+348>>2];R=+g[b+84>>2]*P+ +g[b+100>>2]*Q+ +g[b+116>>2]*W+ +g[b+132>>2]*f;T=P*+g[b+88>>2]+Q*+g[b+104>>2]+W*+g[b+120>>2]+f*+g[b+136>>2];V=P*+g[b+92>>2]+Q*+g[b+108>>2]+W*+g[b+124>>2]+f*+g[b+140>>2];g[b+244>>2]=R;g[b+248>>2]=T;g[b+252>>2]=V;g[b+256>>2]=0.0;S=+g[b+164>>2]*P+ +g[b+180>>2]*Q+ +g[b+196>>2]*W+ +g[b+212>>2]*f;U=P*+g[b+168>>2]+Q*+g[b+184>>2]+W*+g[b+200>>2]+f*+g[b+216>>2];W=P*+g[b+172>>2]+Q*+g[b+188>>2]+W*+g[b+204>>2]+f*+g[b+220>>2];g[b+260>>2]=S;g[b+264>>2]=U;g[b+268>>2]=W;g[b+272>>2]=0.0;g[b+276>>2]=R-S;g[b+280>>2]=T-U;g[b+284>>2]=V-W;g[b+288>>2]=0.0;h=c[b>>2]|0;do if((h|0)>3){d=a[b+332>>0]|0;if(!(d&8)){I=b+164+(h+-1<<4)|0;X=b+84+(h+-1<<4)|0;r=b+4+(h+-1<<4)|0;c[b>>2]=h+-1;c[b+52>>2]=c[r>>2];c[b+52+4>>2]=c[r+4>>2];c[b+52+8>>2]=c[r+8>>2];c[b+52+12>>2]=c[r+12>>2];c[b+132>>2]=c[X>>2];c[b+132+4>>2]=c[X+4>>2];c[b+132+8>>2]=c[X+8>>2];c[b+132+12>>2]=c[X+12>>2];c[b+212>>2]=c[I>>2];c[b+212+4>>2]=c[I+4>>2];c[b+212+8>>2]=c[I+8>>2];c[b+212+12>>2]=c[I+12>>2];h=h+-1|0;I=52}else I=52}else{if((h|0)==3){d=a[b+332>>0]|0;h=3;I=52;break}if((h|0)>1){d=a[b+332>>0]|0;e=2;I=56;break}if((h|0)==1){d=a[b+332>>0]|0;e=1;I=60}}while(0);if((I|0)==52){e=h+-1|0;if(!(d&4)){c[b>>2]=e;c[b+36>>2]=c[b+4+(e<<4)>>2];c[b+36+4>>2]=c[b+4+(e<<4)+4>>2];c[b+36+8>>2]=c[b+4+(e<<4)+8>>2];c[b+36+12>>2]=c[b+4+(e<<4)+12>>2];c[b+116>>2]=c[b+84+(e<<4)>>2];c[b+116+4>>2]=c[b+84+(e<<4)+4>>2];c[b+116+8>>2]=c[b+84+(e<<4)+8>>2];c[b+116+12>>2]=c[b+84+(e<<4)+12>>2];c[b+196>>2]=c[b+164+(e<<4)>>2];c[b+196+4>>2]=c[b+164+(e<<4)+4>>2];c[b+196+8>>2]=c[b+164+(e<<4)+8>>2];c[b+196+12>>2]=c[b+164+(e<<4)+12>>2];I=56}else{e=h;I=56}}if((I|0)==56){h=e+-1|0;if(!(d&2)){c[b>>2]=h;c[b+20>>2]=c[b+4+(h<<4)>>2];c[b+20+4>>2]=c[b+4+(h<<4)+4>>2];c[b+20+8>>2]=c[b+4+(h<<4)+8>>2];c[b+20+12>>2]=c[b+4+(h<<4)+12>>2];c[b+100>>2]=c[b+84+(h<<4)>>2];c[b+100+4>>2]=c[b+84+(h<<4)+4>>2];c[b+100+8>>2]=c[b+84+(h<<4)+8>>2];c[b+100+12>>2]=c[b+84+(h<<4)+12>>2];c[b+180>>2]=c[b+164+(h<<4)>>2];c[b+180+4>>2]=c[b+164+(h<<4)+4>>2];c[b+180+8>>2]=c[b+164+(h<<4)+8>>2];c[b+180+12>>2]=c[b+164+(h<<4)+12>>2];e=h;I=60}else I=60}if((I|0)==60?(H=e+-1|0,(d&1)==0):0){c[b>>2]=H;c[b+4>>2]=c[b+4+(H<<4)>>2];c[b+4+4>>2]=c[b+4+(H<<4)+4>>2];c[b+4+8>>2]=c[b+4+(H<<4)+8>>2];c[b+4+12>>2]=c[b+4+(H<<4)+12>>2];c[b+84>>2]=c[b+84+(H<<4)>>2];c[b+84+4>>2]=c[b+84+(H<<4)+4>>2];c[b+84+8>>2]=c[b+84+(H<<4)+8>>2];c[b+84+12>>2]=c[b+84+(H<<4)+12>>2];c[b+164>>2]=c[b+164+(H<<4)>>2];c[b+164+4>>2]=c[b+164+(H<<4)+4>>2];c[b+164+8>>2]=c[b+164+(H<<4)+8>>2];c[b+164+12>>2]=c[b+164+(H<<4)+12>>2]}if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=f>=0.0&1;else d=0;a[b+312>>0]=d}while(0);if((I|0)==68){a[d>>0]=0;d=0}X=d;X=X<<24>>24!=0;l=J;return X|0}default:{a[b+312>>0]=0;X=0;X=X<<24>>24!=0;l=J;return X|0}}return 0}function xc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,E=0.0,H=0.0,J=0.0,K=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0;la=l;l=l+80|0;g[b+504>>2]=0.0;g[b+500>>2]=0.0;a[b+525>>0]=0;a[b+526>>0]=0;if(a[b+552>>0]|0?(a[b+527>>0]|0)==0:0){sa=+g[b+556>>2];qa=+g[b+560>>2];ka=+g[b+564>>2];pa=+g[b+568>>2];$=sa*(2.0/(sa*sa+qa*qa+ka*ka+pa*pa));ra=qa*(2.0/(sa*sa+qa*qa+ka*ka+pa*pa));oa=ka*(2.0/(sa*sa+qa*qa+ka*ka+pa*pa));aa=+g[b+300>>2];S=+g[d>>2];ba=+g[b+316>>2];T=+g[d+4>>2];ca=+g[b+332>>2];U=+g[d+8>>2];ea=+g[b+304>>2];ga=+g[b+320>>2];ia=+g[b+336>>2];Y=+g[b+308>>2];Z=+g[b+324>>2];_=+g[b+340>>2];V=+g[d+16>>2];W=+g[d+20>>2];X=+g[d+24>>2];fa=+g[d+32>>2];ha=+g[d+36>>2];ja=+g[d+40>>2];q=+g[b+348>>2];p=+g[b+352>>2];o=+g[b+356>>2];u=+g[b+364>>2];na=+g[e>>2];v=+g[b+380>>2];ma=+g[e+4>>2];w=+g[b+396>>2];k=+g[e+8>>2];x=+g[b+368>>2];y=+g[b+384>>2];z=+g[b+400>>2];r=+g[b+372>>2];s=+g[b+388>>2];t=+g[b+404>>2];m=+g[e+16>>2];n=+g[e+20>>2];j=+g[e+24>>2];A=+g[e+32>>2];E=+g[e+36>>2];J=+g[e+40>>2];B=+g[b+412>>2];H=+g[b+416>>2];i=+g[b+420>>2];M=(1.0-(qa*ra+ka*oa))*(u*na+v*ma+w*k)+(sa*ra+pa*oa)*(na*x+ma*y+k*z)+(sa*oa-pa*ra)*(na*r+ma*s+k*t);N=(sa*ra-pa*oa)*(u*na+v*ma+w*k)+(1.0-(sa*$+ka*oa))*(na*x+ma*y+k*z)+(qa*oa+pa*$)*(na*r+ma*s+k*t);K=(sa*oa+pa*ra)*(u*na+v*ma+w*k)+(qa*oa-pa*$)*(na*x+ma*y+k*z)+(1.0-(sa*$+qa*ra))*(na*r+ma*s+k*t);P=(sa*oa-pa*ra)*(r*m+s*n+t*j)+((1.0-(qa*ra+ka*oa))*(u*m+v*n+w*j)+(sa*ra+pa*oa)*(x*m+y*n+z*j));R=(qa*oa+pa*$)*(r*m+s*n+t*j)+((sa*ra-pa*oa)*(u*m+v*n+w*j)+(1.0-(sa*$+ka*oa))*(x*m+y*n+z*j));O=(1.0-(sa*$+qa*ra))*(r*m+s*n+t*j)+((sa*oa+pa*ra)*(u*m+v*n+w*j)+(qa*oa-pa*$)*(x*m+y*n+z*j));da=(sa*oa-pa*ra)*(r*A+s*E+t*J)+((1.0-(qa*ra+ka*oa))*(u*A+v*E+w*J)+(sa*ra+pa*oa)*(x*A+y*E+z*J));ka=(qa*oa+pa*$)*(r*A+s*E+t*J)+((sa*ra-pa*oa)*(u*A+v*E+w*J)+(1.0-(sa*$+ka*oa))*(x*A+y*E+z*J));$=(1.0-(sa*$+qa*ra))*(r*A+s*E+t*J)+((sa*oa+pa*ra)*(u*A+v*E+w*J)+(qa*oa-pa*$)*(x*A+y*E+z*J));pa=-(+g[d+48>>2]+(S*q+T*p+U*o));oa=-(V*q+W*p+X*o+ +g[d+52>>2]);o=-(fa*q+ha*p+ja*o+ +g[d+56>>2]);p=(aa*S+ba*T+ca*U)*pa+(aa*V+ba*W+ca*X)*oa+(aa*fa+ba*ha+ca*ja)*o;q=(S*ea+T*ga+U*ia)*pa+(ea*V+ga*W+ia*X)*oa+(ea*fa+ga*ha+ia*ja)*o;o=(S*Y+T*Z+U*_)*pa+(Y*V+Z*W+_*X)*oa+(Y*fa+Z*ha+_*ja)*o;k=o*K+(p*M+q*N)+((u*na+v*ma+w*k)*0.0+(na*x+ma*y+k*z)*0.0+(na*r+ma*s+k*t)*0.0+(+g[e+48>>2]+(na*B+ma*H+k*i)));j=o*O+(p*P+q*R)+((r*m+s*n+t*j)*0.0+((u*m+v*n+w*j)*0.0+(x*m+y*n+z*j)*0.0)+(m*B+n*H+j*i+ +g[e+52>>2]));i=o*$+(p*da+q*ka)+((r*A+s*E+t*J)*0.0+((u*A+v*E+w*J)*0.0+(x*A+y*E+z*J)*0.0)+(A*B+E*H+J*i+ +g[e+56>>2]));g[la+16>>2]=(S*Y+T*Z+U*_)*K+((aa*S+ba*T+ca*U)*M+(S*ea+T*ga+U*ia)*N);g[la+16+4>>2]=(Y*V+Z*W+_*X)*K+((aa*V+ba*W+ca*X)*M+(ea*V+ga*W+ia*X)*N);g[la+16+8>>2]=(Y*fa+Z*ha+_*ja)*K+((aa*fa+ba*ha+ca*ja)*M+(ea*fa+ga*ha+ia*ja)*N);g[la+16+12>>2]=0.0;g[la+16+16>>2]=(S*Y+T*Z+U*_)*O+((aa*S+ba*T+ca*U)*P+(S*ea+T*ga+U*ia)*R);g[la+16+20>>2]=(Y*V+Z*W+_*X)*O+((aa*V+ba*W+ca*X)*P+(ea*V+ga*W+ia*X)*R);g[la+16+24>>2]=(Y*fa+Z*ha+_*ja)*O+((aa*fa+ba*ha+ca*ja)*P+(ea*fa+ga*ha+ia*ja)*R);g[la+16+28>>2]=0.0;g[la+16+32>>2]=(S*Y+T*Z+U*_)*$+((aa*S+ba*T+ca*U)*da+(S*ea+T*ga+U*ia)*ka);g[la+16+36>>2]=(Y*V+Z*W+_*X)*$+((aa*V+ba*W+ca*X)*da+(ea*V+ga*W+ia*X)*ka);g[la+16+40>>2]=(Y*fa+Z*ha+_*ja)*$+((aa*fa+ba*ha+ca*ja)*da+(ea*fa+ga*ha+ia*ja)*ka);g[la+16+44>>2]=0.0;g[la+16+48>>2]=k;g[la+16+52>>2]=j;g[la+16+56>>2]=i;g[la+16+60>>2]=0.0;yh(la+16|0,la);i=+g[la>>2];j=+g[la+4>>2];k=+g[la+8>>2];if(!(+C(+(i*i+j*j+k*k))<1.1920928955078125e-07)?(g[b+472>>2]=0.0,sa=1.0/+D(+(i*i+j*j+k*k)),g[b+460>>2]=i*sa,g[b+464>>2]=j*sa,g[b+468>>2]=k*sa,sa=+g[la+12>>2],sa=sa<-1.0?-1.0:sa,sa=+I(+(sa>1.0?1.0:sa))*2.0,g[b+504>>2]=sa,!(+C(+sa)<1.1920928955078125e-07)):0)a[b+526>>0]=1;l=la;return}yh(d,la+16|0);yh(b+300|0,la);U=+g[la+16+12>>2];V=+g[la>>2];W=+g[la+16>>2];X=+g[la+12>>2];Y=+g[la+16+4>>2];Z=+g[la+8>>2];_=+g[la+16+8>>2];$=+g[la+4>>2];yh(e,la+16|0);yh(b+364|0,la);aa=+g[la+16+12>>2];ba=+g[la>>2];ca=+g[la+16>>2];da=+g[la+12>>2];ea=+g[la+16+4>>2];fa=+g[la+8>>2];ga=+g[la+16+8>>2];ha=+g[la+4>>2];ia=-(aa*ba+ca*da+ea*fa-ga*ha);ja=-(ba*ga+(da*ea+aa*ha)-ca*fa);ka=-(aa*fa+da*ga+ca*ha-ba*ea);s=(U*X-V*W-Y*$-Z*_)*ia+(U*V+W*X+Y*Z-_*$)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*Z+X*_+W*$-V*Y)*ja-(V*_+(X*Y+U*$)-W*Z)*ka;t=(U*V+W*X+Y*Z-_*$)*ka+((V*_+(X*Y+U*$)-W*Z)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*X-V*W-Y*$-Z*_)*ja)-(U*Z+X*_+W*$-V*Y)*ia;u=(V*_+(X*Y+U*$)-W*Z)*ia+((U*Z+X*_+W*$-V*Y)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*X-V*W-Y*$-Z*_)*ka)-(U*V+W*X+Y*Z-_*$)*ja;v=(U*X-V*W-Y*$-Z*_)*(aa*da-ba*ca-ea*ha-fa*ga)-(U*V+W*X+Y*Z-_*$)*ia-(V*_+(X*Y+U*$)-W*Z)*ja-(U*Z+X*_+W*$-V*Y)*ka;k=+g[5957];i=+g[5959];m=+g[5958];n=(k*u+m*v-i*s)*-u+(v*(k*v+i*t-m*u)+(-(k*s)-m*t-i*u)*-s)-(i*v+m*s-k*t)*-t;o=(i*v+m*s-k*t)*-s+(v*(k*u+m*v-i*s)+(-(k*s)-m*t-i*u)*-t)-(k*v+i*t-m*u)*-u;j=(k*v+i*t-m*u)*-t+(v*(i*v+m*s-k*t)+(-(k*s)-m*t-i*u)*-u)-(k*u+m*v-i*s)*-s;p=1.0/+D(+(j*j+(n*n+o*o)));do if(i*p*j+(m*p*o+k*p*n)<-.9999998807907104)if(+C(+i)>.7071067690849304){j=1.0/+D(+(i*i+m*m));r=-(i*j);q=0.0;i=m*j;j=0.0;break}else{q=1.0/+D(+(k*k+m*m));r=k*q;q=-(m*q);i=0.0;j=0.0;break}else{sa=+D(+((i*p*j+(m*p*o+k*p*n)+1.0)*2.0));r=(i*p*n-k*p*j)*(1.0/sa);q=(m*p*j-i*p*o)*(1.0/sa);i=(k*p*o-m*p*n)*(1.0/sa);j=sa*.5}while(0);m=1.0/+D(+(q*q+r*r+i*i+j*j));o=q*m;r=r*m;q=i*m;m=j*m;T=1.0/+D(+((v*m-s*-o-t*-r-u*-q)*(v*m-s*-o-t*-r-u*-q)+((t*-o+(u*m+v*-q)-s*-r)*(t*-o+(u*m+v*-q)-s*-r)+((u*-r+(s*m+v*-o)-t*-q)*(u*-r+(s*m+v*-o)-t*-q)+(s*-q+(v*-r+t*m)-u*-o)*(s*-q+(v*-r+t*m)-u*-o)))));k=T*(u*-r+(s*m+v*-o)-t*-q);n=T*(s*-q+(v*-r+t*m)-u*-o);j=T*(t*-o+(u*m+v*-q)-s*-r);T=T*(v*m-s*-o-t*-r-u*-q);t=+g[b+444>>2];i=+g[b+456>>2];if(t>=i?(w=+g[b+448>>2],w>=i):0){s=m<-1.0?-1.0:m;s=+I(+(s>1.0?1.0:s))*2.0;if(s>1.1920928955078125e-07){p=1.0/+D(+(q*q+(o*o+r*r)));if(+C(+(r*p))>1.1920928955078125e-07){o=o*p;m=q*p;i=r*p;q=+D(+((q*p*q*p/(r*p*r*p)+1.0)/(1.0/(w*w)+q*p*q*p/(r*p*r*p)/(t*t))))}else{o=o*p;m=q*p;i=r*p;q=t}}else{o=0.0;m=0.0;i=0.0;q=0.0}p=+g[b+428>>2];r=q*p;if(s>r){a[b+526>>0]=1;if(s<q&p<.9999998807907104)p=(s-r)/(q-r);else p=1.0;g[b+528>>2]=p;g[b+504>>2]=s-r;if(+C(+i)>1.1920928955078125e-07){sa=+C(+(i*-m/i*(w/t)));m=m<-0.0?sa:-sa;sa=1.0/+D(+(o*o+i*i+m*m));o=o*sa;m=-(m*sa);i=i*sa}ra=-o;qa=-i;oa=-m;na=(aa*da-ba*ca-ea*ha-fa*ga)*ra+(ba*ga+(da*ea+aa*ha)-ca*fa)*oa-(aa*fa+da*ga+ca*ha-ba*ea)*qa;sa=(aa*fa+da*ga+ca*ha-ba*ea)*ra+(aa*da-ba*ca-ea*ha-fa*ga)*qa-(aa*ba+ca*da+ea*fa-ga*ha)*oa;pa=(aa*ba+ca*da+ea*fa-ga*ha)*qa+(aa*da-ba*ca-ea*ha-fa*ga)*oa-(ba*ga+(da*ea+aa*ha)-ca*fa)*ra;oa=-((aa*ba+ca*da+ea*fa-ga*ha)*ra)-(ba*ga+(da*ea+aa*ha)-ca*fa)*qa-(aa*fa+da*ga+ca*ha-ba*ea)*oa;qa=sa*ka+(oa*ia+(aa*da-ba*ca-ea*ha-fa*ga)*na)-pa*ja;ra=pa*ia+((aa*da-ba*ca-ea*ha-fa*ga)*sa+oa*ja)-na*ka;sa=na*ja+(oa*ka+(aa*da-ba*ca-ea*ha-fa*ga)*pa)-sa*ia;g[b+460>>2]=qa;g[b+464>>2]=ra;g[b+468>>2]=sa;g[b+472>>2]=0.0;c[b+536>>2]=0;c[b+536+4>>2]=0;c[b+536+8>>2]=0;c[b+536+12>>2]=0;g[b+492>>2]=1.0/(qa*(+g[f>>2]*qa+ +g[f+16>>2]*ra+ +g[f+32>>2]*sa)+ra*(qa*+g[f+4>>2]+ra*+g[f+20>>2]+sa*+g[f+36>>2])+sa*(qa*+g[f+8>>2]+ra*+g[f+24>>2]+sa*+g[f+40>>2])+(qa*(qa*+g[h>>2]+ra*+g[h+16>>2]+sa*+g[h+32>>2])+ra*(qa*+g[h+4>>2]+ra*+g[h+20>>2]+sa*+g[h+36>>2])+sa*(qa*+g[h+8>>2]+ra*+g[h+24>>2]+sa*+g[h+40>>2])))}}else Q=23;a:do if((Q|0)==23){J=+g[b+300>>2];K=+g[b+316>>2];M=+g[b+332>>2];r=+g[d>>2];s=+g[d+4>>2];t=+g[d+8>>2];u=+g[d+16>>2];v=+g[d+20>>2];w=+g[d+24>>2];N=+g[d+32>>2];O=+g[d+36>>2];x=+g[d+40>>2];y=+g[b+304>>2];z=+g[b+320>>2];A=+g[b+336>>2];B=+g[b+308>>2];E=+g[b+324>>2];H=+g[b+340>>2];o=+g[b+364>>2];q=+g[b+380>>2];P=+g[b+396>>2];R=o*+g[e>>2]+q*+g[e+4>>2]+P*+g[e+8>>2];S=o*+g[e+16>>2]+q*+g[e+20>>2]+P*+g[e+24>>2];P=o*+g[e+32>>2]+q*+g[e+36>>2]+P*+g[e+40>>2];q=(J*r+K*s+M*t)*R+(J*u+K*v+M*w)*S+(J*N+K*O+M*x)*P;o=(r*y+s*z+t*A)*R+(u*y+v*z+w*A)*S+(N*y+O*z+x*A)*P;m=(r*B+s*E+t*H)*R+(u*B+v*E+w*H)*S+(N*B+O*E+x*H)*P;p=+g[b+444>>2];i=+g[b+456>>2];do if(p<i){p=+g[b+448>>2];if(p<i){if(+C(+o)<1.1920928955078125e-07?+C(+m)<1.1920928955078125e-07:0)break a;a[b+526>>0]=1;g[b+460>>2]=-((J*N+K*O+M*x)*S-(J*u+K*v+M*w)*P);g[b+464>>2]=-((J*r+K*s+M*t)*P-(J*N+K*O+M*x)*R);g[b+468>>2]=-((J*u+K*v+M*w)*R-(J*r+K*s+M*t)*S);g[b+472>>2]=0.0;break a}if(+C(+q)<1.1920928955078125e-07?+C(+m)<1.1920928955078125e-07:0){i=q;break}a[b+526>>0]=1;if(p>=i){i=+L(+m,+q);if(i>p){m=+G(+p);o=0.0;i=+F(+p);break}if(i<-p){m=-+G(+p);o=0.0;i=+F(+p)}else{o=0.0;i=q}}else i=q}else{if(+C(+q)<1.1920928955078125e-07?+C(+o)<1.1920928955078125e-07:0){i=q;break}a[b+526>>0]=1;if(p>=i){i=+L(+o,+q);if(i>p){m=0.0;o=+G(+p);i=+F(+p);break}if(i<-p){m=0.0;o=-+G(+p);i=+F(+p)}else{m=0.0;i=q}}else i=q}while(0);q=(r*B+s*E+t*H)*m+((r*y+s*z+t*A)*o+(J*r+K*s+M*t)*i);p=(u*B+v*E+w*H)*m+((u*y+v*z+w*A)*o+(J*u+K*v+M*w)*i);i=(N*B+O*E+x*H)*m+((N*y+O*z+x*A)*o+(J*N+K*O+M*x)*i);m=1.0/+D(+(i*i+(q*q+p*p)));g[b+460>>2]=-(S*m*i-P*m*p);g[b+464>>2]=-(P*m*q-R*m*i);g[b+468>>2]=-(R*m*p-S*m*q);g[b+472>>2]=0.0;o=+D(+((S*m*i-P*m*p)*(S*m*i-P*m*p)+(P*m*q-R*m*i)*(P*m*q-R*m*i)+(R*m*p-S*m*q)*(R*m*p-S*m*q)));g[b+504>>2]=o;if(!(+C(+o)<1.1920928955078125e-07)){g[b+460>>2]=1.0/o*-(S*m*i-P*m*p);g[b+464>>2]=1.0/o*-(P*m*q-R*m*i);g[b+468>>2]=1.0/o*-(R*m*p-S*m*q)}}while(0);p=+g[b+452>>2];if(!(p>=0.0)){g[b+512>>2]=0.0;l=la;return}i=T<-1.0?-1.0:T;i=+I(+(i>1.0?1.0:i))*2.0;if(i>3.1415927410125732){i=-T<-1.0?-1.0:-T;i=+I(+(i>1.0?1.0:i))*2.0;k=-k;n=-n;j=-j}g[b+512>>2]=i;if(i>1.1920928955078125e-07){sa=1.0/+D(+(k*k+n*n+j*j));k=k*sa;j=j*sa;n=n*sa}m=+g[b+428>>2];if(i>p*m){a[b+525>>0]=1;o=i-p*m;if(i<p&m<.9999998807907104)i=o/(p-p*m);else i=1.0;g[b+532>>2]=i;g[b+508>>2]=o;ra=-k;qa=-n;oa=-j;na=(aa*da-ba*ca-ea*ha-fa*ga)*ra+(ba*ga+(da*ea+aa*ha)-ca*fa)*oa-(aa*fa+da*ga+ca*ha-ba*ea)*qa;sa=(aa*fa+da*ga+ca*ha-ba*ea)*ra+(aa*da-ba*ca-ea*ha-fa*ga)*qa-(aa*ba+ca*da+ea*fa-ga*ha)*oa;pa=(aa*ba+ca*da+ea*fa-ga*ha)*qa+(aa*da-ba*ca-ea*ha-fa*ga)*oa-(ba*ga+(da*ea+aa*ha)-ca*fa)*ra;oa=-((aa*ba+ca*da+ea*fa-ga*ha)*ra)-(ba*ga+(da*ea+aa*ha)-ca*fa)*qa-(aa*fa+da*ga+ca*ha-ba*ea)*oa;qa=sa*ka+(oa*ia+(aa*da-ba*ca-ea*ha-fa*ga)*na)-pa*ja;ra=pa*ia+((aa*da-ba*ca-ea*ha-fa*ga)*sa+oa*ja)-na*ka;sa=na*ja+(oa*ka+(aa*da-ba*ca-ea*ha-fa*ga)*pa)-sa*ia;g[b+476>>2]=qa;g[b+480>>2]=ra;g[b+484>>2]=sa;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(qa*(+g[f>>2]*qa+ +g[f+16>>2]*ra+ +g[f+32>>2]*sa)+ra*(qa*+g[f+4>>2]+ra*+g[f+20>>2]+sa*+g[f+36>>2])+sa*(qa*+g[f+8>>2]+ra*+g[f+24>>2]+sa*+g[f+40>>2])+(qa*(qa*+g[h>>2]+ra*+g[h+16>>2]+sa*+g[h+32>>2])+ra*(qa*+g[h+4>>2]+ra*+g[h+20>>2]+sa*+g[h+36>>2])+sa*(qa*+g[h+8>>2]+ra*+g[h+24>>2]+sa*+g[h+40>>2])))}if(!(a[b+526>>0]|0)){l=la;return}na=-k;sa=-n;oa=-j;ma=(U*X-V*W-Y*$-Z*_)*na+(V*_+(X*Y+U*$)-W*Z)*oa-(U*Z+X*_+W*$-V*Y)*sa;ra=(U*Z+X*_+W*$-V*Y)*na+(U*X-V*W-Y*$-Z*_)*sa-(U*V+W*X+Y*Z-_*$)*oa;qa=(U*V+W*X+Y*Z-_*$)*sa+(U*X-V*W-Y*$-Z*_)*oa-(V*_+(X*Y+U*$)-W*Z)*na;oa=-((U*V+W*X+Y*Z-_*$)*na)-(V*_+(X*Y+U*$)-W*Z)*sa-(U*Z+X*_+W*$-V*Y)*oa;sa=-(U*V+W*X+Y*Z-_*$);na=-(V*_+(X*Y+U*$)-W*Z);pa=-(U*Z+X*_+W*$-V*Y);g[b+536>>2]=ra*pa+(oa*sa+(U*X-V*W-Y*$-Z*_)*ma)-qa*na;g[b+540>>2]=qa*sa+((U*X-V*W-Y*$-Z*_)*ra+oa*na)-ma*pa;g[b+544>>2]=ma*na+(oa*pa+(U*X-V*W-Y*$-Z*_)*qa)-ra*sa;g[b+548>>2]=0.0;l=la;return}function yc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0;ga=l;l=l+4352|0;da=c[d+4>>2]|0;ea=c[e+4>>2]|0;s=c[da+68>>2]|0;t=c[ea+68>>2]|0;if(!((s|0)!=0&(t|0)!=0)){Ic(b,d,e,f,h);l=ga;return}if(!((c[da+72>>2]|0)==(c[b+108>>2]|0)?(c[ea+72>>2]|0)==(c[b+112>>2]|0):0)){i=c[b+84>>2]|0;k=c[i+8>>2]|0;if((k|0)>0){j=0;do{m=c[(c[i+16>>2]|0)+(j*12|0)+8>>2]|0;if(m|0){Ib[c[c[m>>2]>>2]&511](m);u=c[b+4>>2]|0;Ob[c[(c[u>>2]|0)+60>>2]&127](u,m)}j=j+1|0}while((j|0)!=(k|0));i=c[b+84>>2]|0}Rh(i);c[b+108>>2]=c[da+72>>2];c[b+112>>2]=c[ea+72>>2]}a[ga+3328+16>>0]=1;r=ga+3328+12|0;c[r>>2]=0;q=ga+3328+4|0;c[q>>2]=0;c[ga+3328+8>>2]=0;c[ga+112>>2]=1025;i=ga+112+120|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+312|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+504|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+696|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[ga+112+772>>2]=0;c[ga+112+776>>2]=0;c[ga+112+780>>2]=0;c[ga+112+800>>2]=0;c[ga+112+804>>2]=1025;i=ga+112+924|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+1116|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+1308|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+1500|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[ga+112+1576>>2]=0;c[ga+112+1580>>2]=0;c[ga+112+1584>>2]=0;c[ga+112+1604>>2]=0;c[ga+112+1608>>2]=1025;i=ga+112+1728|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+1920|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+2112|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+2304|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[ga+112+2380>>2]=0;c[ga+112+2384>>2]=0;c[ga+112+2388>>2]=0;c[ga+112+2408>>2]=0;c[ga+112+2412>>2]=1025;i=ga+112+2532|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+2724|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+2916|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+112+3108|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[ga+112+3184>>2]=0;c[ga+112+3188>>2]=0;c[ga+112+3192>>2]=0;c[ga+112+3212>>2]=0;a[q+12>>0]=0;c[r>>2]=ga+112;c[q>>2]=0;c[ga+3328+8>>2]=4;p=c[b+84>>2]|0;i=c[p+8>>2]|0;if((i|0)>0){o=0;do{j=c[(c[p+16>>2]|0)+(o*12|0)+8>>2]|0;if(j){Ob[c[(c[j>>2]|0)+16>>2]&127](j,ga+3328|0);i=c[q>>2]|0;if((i|0)>0){n=0;do{m=c[(c[r>>2]|0)+(n<<2)>>2]|0;if(c[m+780>>2]|0){c[h+4>>2]=m;j=c[m+772>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(k|0))af(m,j+4|0,i+4|0);else af(m,i+4|0,k+4|0);c[h+4>>2]=0;i=c[q>>2]|0}n=n+1|0}while((n|0)<(i|0))}if((i|0)<0){if((c[ga+3328+8>>2]|0)<0){j=c[r>>2]|0;if(j|0){if(a[ga+3328+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[r>>2]=0}a[ga+3328+16>>0]=1;c[r>>2]=0;c[ga+3328+8>>2]=0}do{c[(c[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[q>>2]=0;i=c[p+8>>2]|0}o=o+1|0}while((o|0)<(i|0));i=c[r>>2]|0;if(i|0)if((a[ga+3328+16>>0]|0)==0|(i|0)==0)ca=35;else{c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);ca=35}}else ca=35;if((ca|0)==35)c[r>>2]=0;u=c[b+4>>2]|0;i=c[b+84>>2]|0;j=c[b+72>>2]|0;c[ga+112>>2]=6604;c[ga+112+4>>2]=0;c[ga+112+8>>2]=d;c[ga+112+12>>2]=e;c[ga+112+16>>2]=u;c[ga+112+20>>2]=f;c[ga+112+24>>2]=h;c[ga+112+28>>2]=i;c[ga+112+32>>2]=j;j=c[d+12>>2]|0;G=+g[j>>2];H=+g[j+16>>2];I=+g[j+32>>2];J=+g[j+4>>2];K=+g[j+20>>2];L=+g[j+36>>2];M=+g[j+8>>2];N=+g[j+24>>2];O=+g[j+40>>2];P=-+g[j+48>>2];Q=-+g[j+52>>2];R=-+g[j+56>>2];j=c[e+12>>2]|0;S=+g[j>>2];T=+g[j+16>>2];U=+g[j+32>>2];V=+g[j+4>>2];W=+g[j+20>>2];X=+g[j+36>>2];Y=+g[j+8>>2];Z=+g[j+24>>2];_=+g[j+40>>2];$=+g[j+48>>2];aa=+g[j+52>>2];ba=+g[j+56>>2];j=c[s>>2]|0;i=c[t>>2]|0;F=+g[h+32>>2];if((j|0)!=0&(i|0)!=0){c[ga+3328>>2]=j;c[ga+3328+4>>2]=i;v=+C(+(G*S+H*T+I*U));w=+C(+(G*V+H*W+I*X));x=+C(+(G*Y+H*Z+I*_));y=+C(+(J*S+K*T+L*U));z=+C(+(J*V+K*W+L*X));A=+C(+(J*Y+K*Z+L*_));B=+C(+(M*S+N*T+O*U));D=+C(+(M*V+N*W+O*X));E=+C(+(M*Y+N*Z+O*_));o=1;m=124;n=128;r=ga+3328|0;k=128;t=0;while(1){u=o+-1|0;f=c[r+(u<<3)>>2]|0;s=c[r+(u<<3)+4>>2]|0;ra=+g[s+16>>2];qa=+g[s>>2];pa=+g[s+20>>2];oa=+g[s+4>>2];na=+g[s+24>>2];ha=+g[s+8>>2];ma=G*P+H*Q+I*R+(G*$+H*aa+I*ba)+((G*S+H*T+I*U)*(ra+qa)*.5+(G*V+H*W+I*X)*(pa+oa)*.5+(G*Y+H*Z+I*_)*(na+ha)*.5);ka=J*P+K*Q+L*R+(J*$+K*aa+L*ba)+((J*S+K*T+L*U)*(ra+qa)*.5+(J*V+K*W+L*X)*(pa+oa)*.5+(J*Y+K*Z+L*_)*(na+ha)*.5);ia=M*P+N*Q+O*R+(M*$+N*aa+O*ba)+((M*S+N*T+O*U)*(ra+qa)*.5+(M*V+N*W+O*X)*(pa+oa)*.5+(M*Y+N*Z+O*_)*(na+ha)*.5);la=((ra-qa)*.5+0.0)*v+((pa-oa)*.5+0.0)*w+((na-ha)*.5+0.0)*x;ja=((ra-qa)*.5+0.0)*y+((pa-oa)*.5+0.0)*z+((na-ha)*.5+0.0)*A;ha=((ra-qa)*.5+0.0)*B+((pa-oa)*.5+0.0)*D+((na-ha)*.5+0.0)*E;do if(((((+g[f>>2]<=F+(la+ma)?+g[f+16>>2]>=ma-la-F:0)?+g[f+4>>2]<=F+(ka+ja):0)?+g[f+20>>2]>=ka-ja-F:0)?+g[f+8>>2]<=F+(ia+ha):0)?+g[f+24>>2]>=ia-ha-F:0){if((u|0)>(m|0)){p=k<<1;a:do if((k|0)<(p|0)&(n|0)<(p|0)){do if(k){c[6995]=(c[6995]|0)+1;i=sc((k<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}if((k|0)>0)j=0;else{ca=51;break}do{m=r+(j<<3)|0;n=c[m+4>>2]|0;q=i+(j<<3)|0;c[q>>2]=c[m>>2];c[q+4>>2]=n;j=j+1|0}while((j|0)!=(k|0));if(!(t<<24>>24)){k=p;j=1;break a}}else{i=0;ca=51}while(0);if((ca|0)==51){ca=0;if((r|0)==0|t<<24>>24==0){k=p;j=1;break}}c[6996]=(c[6996]|0)+1;Cd(c[r+-4>>2]|0);k=p;j=1}else{k=n;i=r;j=t}while(0);q=p+-4|0;n=k}else{q=m;i=r;p=k;j=t}k=(c[s+40>>2]|0)!=0;if(!(c[f+40>>2]|0))if(k){m=c[s+36>>2]|0;c[i+(u<<3)>>2]=f;c[i+(u<<3)+4>>2]=m;m=c[s+40>>2]|0;c[i+(o<<3)>>2]=f;c[i+(o<<3)+4>>2]=m;o=o+1|0;m=q;k=p;break}else{Sb[c[(c[ga+112>>2]|0)+8>>2]&127](ga+112|0,f,s);o=u;m=q;k=p;break}else{m=c[f+36>>2]|0;if(k){k=c[s+36>>2]|0;c[i+(u<<3)>>2]=m;c[i+(u<<3)+4>>2]=k;u=c[s+36>>2]|0;k=o+1|0;c[i+(o<<3)>>2]=c[f+40>>2];c[i+(o<<3)+4>>2]=u;u=c[s+40>>2]|0;m=o+2|0;c[i+(k<<3)>>2]=c[f+36>>2];c[i+(k<<3)+4>>2]=u;k=c[s+40>>2]|0;c[i+(m<<3)>>2]=c[f+40>>2];c[i+(m<<3)+4>>2]=k;o=o+3|0;m=q;k=p;break}else{c[i+(u<<3)>>2]=m;c[i+(u<<3)+4>>2]=s;c[i+(o<<3)>>2]=c[f+40>>2];c[i+(o<<3)+4>>2]=s;o=o+1|0;m=q;k=p;break}}}else{o=u;i=r;j=t}while(0);if(!o)break;else{r=i;t=j}}if(!((i|0)==0|j<<24>>24==0)){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}}p=c[b+84>>2]|0;if((c[p+8>>2]|0)>0){o=0;do{i=c[p+16>>2]|0;j=c[i+(o*12|0)+8>>2]|0;do if(j|0){ca=c[i+(o*12|0)>>2]|0;u=c[da+28>>2]|0;t=c[u+(ca*80|0)+64>>2]|0;s=c[d+12>>2]|0;S=+g[s>>2];R=+g[s+4>>2];qa=+g[s+8>>2];la=+g[s+16>>2];ja=+g[s+20>>2];ha=+g[s+24>>2];ka=+g[s+32>>2];Y=+g[s+36>>2];W=+g[s+40>>2];ba=+g[u+(ca*80|0)>>2];aa=+g[u+(ca*80|0)+16>>2];$=+g[u+(ca*80|0)+32>>2];_=+g[u+(ca*80|0)+4>>2];Z=+g[u+(ca*80|0)+20>>2];ma=+g[u+(ca*80|0)+36>>2];ia=+g[u+(ca*80|0)+8>>2];X=+g[u+(ca*80|0)+24>>2];V=+g[u+(ca*80|0)+40>>2];pa=+g[u+(ca*80|0)+48>>2];ra=+g[u+(ca*80|0)+52>>2];oa=+g[u+(ca*80|0)+56>>2];U=+g[s+48>>2]+(S*pa+R*ra+qa*oa);T=+g[s+52>>2]+(la*pa+ja*ra+ha*oa);oa=+g[s+56>>2]+(ka*pa+Y*ra+W*oa);g[ga>>2]=S*ba+R*aa+qa*$;g[ga+4>>2]=S*_+R*Z+qa*ma;g[ga+8>>2]=S*ia+R*X+qa*V;g[ga+12>>2]=0.0;g[ga+16>>2]=la*ba+ja*aa+ha*$;g[ga+20>>2]=la*_+ja*Z+ha*ma;g[ga+24>>2]=la*ia+ja*X+ha*V;g[ga+28>>2]=0.0;g[ga+32>>2]=ka*ba+Y*aa+W*$;g[ga+36>>2]=ka*_+Y*Z+W*ma;g[ga+40>>2]=ka*ia+Y*X+W*V;g[ga+44>>2]=0.0;g[ga+48>>2]=U;g[ga+52>>2]=T;g[ga+56>>2]=oa;g[ga+60>>2]=0.0;Vb[c[(c[t>>2]|0)+8>>2]&127](t,ga,ga+3328|0,ga+96|0);oa=+g[h+32>>2];g[ga+3328>>2]=+g[ga+3328>>2]-oa;g[ga+3328+4>>2]=+g[ga+3328+4>>2]-oa;g[ga+3328+8>>2]=+g[ga+3328+8>>2]-oa;g[ga+96>>2]=oa+ +g[ga+96>>2];g[ga+96+4>>2]=oa+ +g[ga+96+4>>2];g[ga+96+8>>2]=oa+ +g[ga+96+8>>2];t=c[(c[p+16>>2]|0)+(o*12|0)+4>>2]|0;s=c[ea+28>>2]|0;ca=c[s+(t*80|0)+64>>2]|0;u=c[e+12>>2]|0;T=+g[u>>2];U=+g[u+4>>2];V=+g[u+8>>2];W=+g[u+16>>2];X=+g[u+20>>2];Y=+g[u+24>>2];ia=+g[u+32>>2];ka=+g[u+36>>2];ma=+g[u+40>>2];Z=+g[s+(t*80|0)>>2];_=+g[s+(t*80|0)+16>>2];$=+g[s+(t*80|0)+32>>2];aa=+g[s+(t*80|0)+4>>2];ba=+g[s+(t*80|0)+20>>2];ha=+g[s+(t*80|0)+36>>2];ja=+g[s+(t*80|0)+8>>2];la=+g[s+(t*80|0)+24>>2];qa=+g[s+(t*80|0)+40>>2];R=+g[s+(t*80|0)+48>>2];S=+g[s+(t*80|0)+52>>2];ra=+g[s+(t*80|0)+56>>2];pa=+g[u+48>>2]+(T*R+U*S+V*ra);na=+g[u+52>>2]+(W*R+X*S+Y*ra);ra=+g[u+56>>2]+(ia*R+ka*S+ma*ra);g[ga>>2]=T*Z+U*_+V*$;g[ga+4>>2]=T*aa+U*ba+V*ha;g[ga+8>>2]=T*ja+U*la+V*qa;g[ga+12>>2]=0.0;g[ga+16>>2]=W*Z+X*_+Y*$;g[ga+20>>2]=W*aa+X*ba+Y*ha;g[ga+24>>2]=W*ja+X*la+Y*qa;g[ga+28>>2]=0.0;g[ga+32>>2]=ia*Z+ka*_+ma*$;g[ga+36>>2]=ia*aa+ka*ba+ma*ha;g[ga+40>>2]=ia*ja+ka*la+ma*qa;g[ga+44>>2]=0.0;g[ga+48>>2]=pa;g[ga+52>>2]=na;g[ga+56>>2]=ra;g[ga+60>>2]=0.0;Vb[c[(c[ca>>2]|0)+8>>2]&127](ca,ga,ga+80|0,ga+64|0);ra=+g[ga+80>>2]-oa;g[ga+80>>2]=ra;na=+g[ga+80+4>>2]-oa;g[ga+80+4>>2]=na;pa=+g[ga+80+8>>2]-oa;g[ga+80+8>>2]=pa;qa=oa+ +g[ga+64>>2];g[ga+64>>2]=qa;ma=oa+ +g[ga+64+4>>2];g[ga+64+4>>2]=ma;oa=oa+ +g[ga+64+8>>2];g[ga+64+8>>2]=oa;if(!(+g[ga+3328+4>>2]>ma)?!(+g[ga+96+4>>2]<na|((+g[ga+3328+8>>2]>oa?1:+g[ga+96+8>>2]<pa)|(+g[ga+3328>>2]>qa?1:+g[ga+96>>2]<ra))):0)break;Ib[c[c[j>>2]>>2]&511](j);n=c[b+4>>2]|0;Ob[c[(c[n>>2]|0)+60>>2]&127](n,j);n=c[p+16>>2]|0;m=c[n+(o*12|0)>>2]|0;n=c[n+(o*12|0)+4>>2]|0;j=c[b+92>>2]|0;if((j|0)==(c[b+96>>2]|0)?(fa=j|0?j<<1:1,(j|0)<(fa|0)):0){if(!fa)i=0;else{c[6995]=(c[6995]|0)+1;i=sc((fa*12|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+92>>2]|0}if((j|0)>0){k=0;do{ca=i+(k*12|0)|0;u=(c[b+100>>2]|0)+(k*12|0)|0;c[ca>>2]=c[u>>2];c[ca+4>>2]=c[u+4>>2];c[ca+8>>2]=c[u+8>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[b+100>>2]|0;if(j|0){if(a[b+104>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[b+100>>2]=0}a[b+104>>0]=1;c[b+100>>2]=i;c[b+96>>2]=fa;i=c[b+92>>2]|0}else i=j;ca=c[b+100>>2]|0;c[ca+(i*12|0)>>2]=m;c[ca+(i*12|0)+4>>2]=n;c[ca+(i*12|0)+8>>2]=0;c[b+92>>2]=(c[b+92>>2]|0)+1}while(0);o=o+1|0}while((o|0)<(c[p+8>>2]|0));j=b+100|0;k=b+92|0}else{j=b+100|0;k=b+92|0}if((c[k>>2]|0)>0){i=0;do{h=c[b+84>>2]|0;fa=c[j>>2]|0;Bb[c[(c[h>>2]|0)+8>>2]&63](h,c[fa+(i*12|0)>>2]|0,c[fa+(i*12|0)+4>>2]|0)|0;i=i+1|0}while((i|0)<(c[k>>2]|0))}i=c[j>>2]|0;if(i|0){if(a[b+104>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[j>>2]=0}a[b+104>>0]=1;c[j>>2]=0;c[k>>2]=0;c[b+96>>2]=0;l=ga;return}function zc(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0;qa=c[b+28>>2]|0;ra=c[b+32>>2]|0;n=c[d+24>>2]|0;if(!(a[b+739>>0]|0)){z=+g[b+552>>2];U=+g[qa+4>>2];A=+g[b+568>>2];V=+g[qa+8>>2];B=+g[b+584>>2];W=+g[qa+12>>2];C=+g[b+556>>2];E=+g[b+572>>2];F=+g[b+588>>2];X=+g[b+560>>2];Y=+g[b+576>>2];Z=+g[b+592>>2];_=+g[qa+20>>2];$=+g[qa+24>>2];aa=+g[qa+28>>2];ba=+g[qa+36>>2];ca=+g[qa+40>>2];da=+g[qa+44>>2];k=+g[b+600>>2];o=+g[b+604>>2];p=+g[b+608>>2];t=+g[qa+52>>2];u=+g[qa+56>>2];v=+g[qa+60>>2];G=+g[ra+4>>2];H=+g[ra+8>>2];I=+g[ra+12>>2];J=+g[b+624>>2];K=+g[b+640>>2];L=+g[b+656>>2];M=+g[ra+20>>2];N=+g[ra+24>>2];O=+g[ra+28>>2];P=+g[ra+36>>2];Q=+g[ra+40>>2];R=+g[ra+44>>2];oa=+g[b+664>>2];pa=+g[b+668>>2];y=+g[b+672>>2];w=+g[ra+52>>2]+(G*oa+H*pa+I*y);x=M*oa+N*pa+O*y+ +g[ra+56>>2];y=P*oa+Q*pa+R*y+ +g[ra+60>>2];l=(a[b+736>>0]|0)==0;if(l){e=c[d+8>>2]|0;g[e>>2]=1.0;g[e+(n+1<<2)>>2]=1.0;g[e+((n<<1)+2<<2)>>2]=1.0;e=c[d+16>>2]|0;g[e>>2]=-1.0;g[e+(n+1<<2)>>2]=-1.0;g[e+((n<<1)+2<<2)>>2]=-1.0;e=n<<1;f=+g[qa+52>>2];h=+g[qa+56>>2];i=+g[qa+60>>2]}else{e=n<<1;f=t;h=u;i=v}j=t+(U*k+V*o+W*p)-f;f=_*k+$*o+aa*p+u-h;pa=ba*k+ca*o+da*p+v-i;m=c[d+12>>2]|0;r=m+(e<<2)|0;c[m>>2]=0;g[m+4>>2]=pa;g[m+8>>2]=-f;g[m+12>>2]=0.0;g[m+(n<<2)>>2]=-pa;c[m+(n<<2)+4>>2]=0;g[m+(n<<2)+8>>2]=j;g[m+(n<<2)+12>>2]=0.0;g[r>>2]=f;g[r+4>>2]=-j;c[r+8>>2]=0;g[r+12>>2]=0.0;j=w-+g[ra+52>>2];f=x-+g[ra+56>>2];pa=y-+g[ra+60>>2];r=c[d+20>>2]|0;S=r+(e<<2)|0;c[r>>2]=0;g[r+4>>2]=-pa;g[r+8>>2]=f;g[r+12>>2]=0.0;g[r+(n<<2)>>2]=pa;c[r+(n<<2)+4>>2]=0;g[r+(n<<2)+8>>2]=-j;g[r+(n<<2)+12>>2]=0.0;g[S>>2]=-f;g[S+4>>2]=j;c[S+8>>2]=0;g[S+12>>2]=0.0;S=c[b+748>>2]|0;j=+g[(S&8|0?b+756|0:d+4|0)>>2];f=j*+g[d>>2];e=c[d+28>>2]|0;if(l){g[e>>2]=f*(w-(t+(U*k+V*o+W*p)));g[e+(n<<2)>>2]=f*(x-(_*k+$*o+aa*p+u));g[e+(n<<1<<2)>>2]=f*(y-(ba*k+ca*o+da*p+v))}s=c[d+24>>2]|0;g[m+(s*3<<2)>>2]=z*U+A*V+B*W;g[m+((s*3|0)+1<<2)>>2]=z*_+A*$+B*aa;g[m+((s*3|0)+2<<2)>>2]=z*ba+A*ca+B*da;g[m+(s<<2<<2)>>2]=U*C+V*E+W*F;g[m+((s<<2|1)<<2)>>2]=C*_+E*$+F*aa;g[m+((s<<2|2)<<2)>>2]=C*ba+E*ca+F*da;g[r+(s*3<<2)>>2]=-(z*U+A*V+B*W);g[r+((s*3|0)+1<<2)>>2]=-(z*_+A*$+B*aa);g[r+((s*3|0)+2<<2)>>2]=-(z*ba+A*ca+B*da);g[r+(s<<2<<2)>>2]=-(U*C+V*E+W*F);g[r+((s<<2|1)<<2)>>2]=-(C*_+E*$+F*aa);g[r+((s<<2|2)<<2)>>2]=-(C*ba+E*ca+F*da);oa=(X*_+Y*$+Z*aa)*(J*P+K*Q+L*R)-(X*ba+Y*ca+Z*da)*(J*M+K*N+L*O);pa=(X*ba+Y*ca+Z*da)*(G*J+H*K+I*L)-(U*X+V*Y+W*Z)*(J*P+K*Q+L*R);na=(U*X+V*Y+W*Z)*(J*M+K*N+L*O)-(X*_+Y*$+Z*aa)*(G*J+H*K+I*L);g[e+(s*3<<2)>>2]=((z*ba+A*ca+B*da)*na+((z*U+A*V+B*W)*oa+(z*_+A*$+B*aa)*pa))*f;g[e+(s<<2<<2)>>2]=((C*ba+E*ca+F*da)*na+((U*C+V*E+W*F)*oa+(C*_+E*$+F*aa)*pa))*f;if(!(a[b+716>>0]|0))if(!(a[b+737>>0]|0))return;else{p=0.0;q=0;n=0;l=1}else{pa=+g[b+708>>2]*+g[b+732>>2];p=pa;q=pa>0.0?1:2;n=1;l=(a[b+737>>0]|0)!=0}g[m+(s*5<<2)>>2]=U*X+V*Y+W*Z;g[m+((s*5|0)+1<<2)>>2]=X*_+Y*$+Z*aa;g[m+((s*5|0)+2<<2)>>2]=X*ba+Y*ca+Z*da;g[r+(s*5<<2)>>2]=-(U*X+V*Y+W*Z);g[r+((s*5|0)+1<<2)>>2]=-(X*_+Y*$+Z*aa);g[r+((s*5|0)+2<<2)>>2]=-(X*ba+Y*ca+Z*da);h=+g[b+688>>2];i=+g[b+692>>2];f=+mh(h-i,6.2831854820251465);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)o=f+-6.2831854820251465;else o=f;else o=f+6.2831854820251465;f=+mh(h+i,6.2831854820251465);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)k=f+-6.2831854820251465;else k=f;else k=f+6.2831854820251465;m=o==k;e=e+(s*5<<2)|0;g[e>>2]=0.0;if(S&2)j=+g[b+764>>2];if(l&(n&m^1)){if(S&4|0)c[(c[d+32>>2]|0)+(s*5<<2)>>2]=c[b+752>>2];h=+g[b+728>>2];i=+g[b+680>>2];f=o>k?1.0:0.0;do if(!(o>=k)){f=i/(j*+g[d>>2]);if(f<0.0)if(h>=o&o-f>h){f=(o-h)/f;break}else{f=h<o?0.0:1.0;break}if(f>0.0)if(h<=k&k-f<h){f=(k-h)/f;break}else{f=h>k?0.0:1.0;break}else f=0.0}while(0);g[e>>2]=f*i*+g[b+732>>2]+ +g[e>>2];g[(c[d+36>>2]|0)+(s*5<<2)>>2]=-+g[b+684>>2];c[(c[d+40>>2]|0)+(s*5<<2)>>2]=c[b+684>>2]}if(!n)return;g[e>>2]=+g[e>>2]+p*j*+g[d>>2];if(S&1|0)c[(c[d+32>>2]|0)+(s*5<<2)>>2]=c[b+760>>2];e=c[d+40>>2]|0;if(m){f=3402823466385288598117041.0e14;h=-3402823466385288598117041.0e14}else{T=(q|0)==1;f=T?3402823466385288598117041.0e14:0.0;h=T?0.0:-3402823466385288598117041.0e14}g[(c[d+36>>2]|0)+(s*5<<2)>>2]=h;g[e+(s*5<<2)>>2]=f;h=+g[b+704>>2];do if(h>0.0){f=(U*X+V*Y+W*Z)*+g[qa+388>>2]+(X*_+Y*$+Z*aa)*+g[qa+392>>2]+(X*ba+Y*ca+Z*da)*+g[qa+396>>2]-((U*X+V*Y+W*Z)*+g[ra+388>>2]+(X*_+Y*$+Z*aa)*+g[ra+392>>2]+(X*ba+Y*ca+Z*da)*+g[ra+396>>2]);if((q|0)==1){if(!(f<0.0))break;e=(c[d+28>>2]|0)+(s*5<<2)|0;if(!(+g[e>>2]<-(h*f)))break;g[e>>2]=-(h*f);break}else{if(!(f>0.0))break;e=(c[d+28>>2]|0)+(s*5<<2)|0;if(!(+g[e>>2]>-(h*f)))break;g[e>>2]=-(h*f);break}}while(0);d=(c[d+28>>2]|0)+(s*5<<2)|0;g[d>>2]=+g[b+700>>2]*+g[d>>2];return}X=+g[qa+4>>2];Y=+g[qa+8>>2];Z=+g[qa+12>>2];v=+g[b+556>>2];x=+g[b+572>>2];y=+g[b+588>>2];_=+g[b+560>>2];$=+g[b+576>>2];aa=+g[b+592>>2];ba=+g[qa+20>>2];ca=+g[qa+24>>2];da=+g[qa+28>>2];ea=+g[qa+36>>2];fa=+g[qa+40>>2];ga=+g[qa+44>>2];ia=+g[b+600>>2];ha=+g[b+604>>2];o=+g[b+608>>2];h=+g[qa+52>>2]+(X*ia+Y*ha+Z*o);u=ba*ia+ca*ha+da*o+ +g[qa+56>>2];o=ea*ia+fa*ha+ga*o+ +g[qa+60>>2];ha=+g[ra+4>>2];ia=+g[ra+8>>2];ja=+g[ra+12>>2];ka=+g[b+624>>2];la=+g[b+640>>2];O=+g[b+656>>2];P=+g[ra+20>>2];Q=+g[ra+24>>2];R=+g[ra+28>>2];U=+g[ra+36>>2];V=+g[ra+40>>2];W=+g[ra+44>>2];p=+g[b+664>>2];w=+g[b+668>>2];i=+g[b+672>>2];f=+g[ra+52>>2];t=+g[ra+56>>2];k=+g[ra+60>>2];J=f+(ha*p+ia*w+ja*i)-h;K=P*p+Q*w+R*i+t-u;L=U*p+V*w+W*i+k-o;z=+g[(c[b+28>>2]|0)+404>>2];A=+g[(c[b+32>>2]|0)+404>>2];I=z+A>0.0?A/(z+A):.5;ma=(X*_+Y*$+Z*aa)*I+(ha*ka+ia*la+ja*O)*(1.0-I);na=(_*ba+$*ca+aa*da)*I+(ka*P+la*Q+O*R)*(1.0-I);oa=(_*ea+$*fa+aa*ga)*I+(ka*U+la*V+O*W)*(1.0-I);pa=1.0/+D(+(ma*ma+na*na+oa*oa));F=(f+(ha*p+ia*w+ja*i)-f)*ma*pa+(P*p+Q*w+R*i+t-t)*na*pa+(U*p+V*w+W*i+k-k)*oa*pa;f=f+(ha*p+ia*w+ja*i)-f-ma*pa*F;t=P*p+Q*w+R*i+t-t-na*pa*F;k=U*p+V*w+W*i+k-k-oa*pa*F;h=h-+g[qa+52>>2];u=u-+g[qa+56>>2];o=o-+g[qa+60>>2];i=ma*pa*(h*ma*pa+u*na*pa+o*oa*pa);w=na*pa*(h*ma*pa+u*na*pa+o*oa*pa);p=oa*pa*(h*ma*pa+u*na*pa+o*oa*pa);C=h-i+I*(i-ma*pa*F);E=u-w+I*(w-na*pa*F);B=o-p+I*(p-oa*pa*F);G=f-(1.0-I)*(i-ma*pa*F);H=t-(1.0-I)*(w-na*pa*F);F=k-(1.0-I)*(p-oa*pa*F);j=(I*f+(1.0-I)*(h-i))*(I*f+(1.0-I)*(h-i))+(I*t+(1.0-I)*(u-w))*(I*t+(1.0-I)*(u-w))+(I*k+(1.0-I)*(o-p))*(I*k+(1.0-I)*(o-p));if(j>1.1920928955078125e-07){y=1.0/+D(+j);N=(I*f+(1.0-I)*(h-i))*y;M=y*(I*k+(1.0-I)*(o-p));p=y*(I*t+(1.0-I)*(u-w))}else{N=X*v+Y*x+Z*y;M=v*ea+x*fa+y*ga;p=v*ba+x*ca+y*da}t=na*pa*M-oa*pa*p;u=oa*pa*N-M*ma*pa;v=p*ma*pa-na*pa*N;T=c[d+12>>2]|0;g[T>>2]=E*M-B*p;g[T+4>>2]=B*N-C*M;g[T+8>>2]=C*p-E*N;T=c[d+20>>2]|0;g[T>>2]=-(H*M-F*p);g[T+4>>2]=-(F*N-G*M);g[T+8>>2]=-(G*p-H*N);if(z<1.1920928955078125e-07|A<1.1920928955078125e-07?(a[b+716>>0]|0)!=0:0){f=I*(E*v-B*u);h=I*(B*t-C*v);i=I*(C*u-E*t);j=(1.0-I)*(H*v-F*u);k=(1.0-I)*(F*t-G*v);o=(1.0-I)*(G*u-H*t)}else{f=E*v-B*u;h=B*t-C*v;i=C*u-E*t;j=H*v-F*u;k=F*t-G*v;o=G*u-H*t}T=(c[d+12>>2]|0)+(n<<2)|0;g[T>>2]=f;g[T+4>>2]=h;g[T+8>>2]=i;T=c[d+20>>2]|0;g[T+(n<<2)>>2]=-j;g[T+(n+1<<2)>>2]=-k;g[T+(n+2<<2)>>2]=-o;if(z<1.1920928955078125e-07|A<1.1920928955078125e-07){o=I*(E*oa*pa-B*na*pa);k=I*(B*ma*pa-C*oa*pa);h=I*(C*na*pa-E*ma*pa);j=(1.0-I)*(H*oa*pa-F*na*pa);i=(1.0-I)*(F*ma*pa-G*oa*pa);f=(1.0-I)*(G*na*pa-H*ma*pa)}else{o=E*oa*pa-B*na*pa;k=B*ma*pa-C*oa*pa;h=C*na*pa-E*ma*pa;j=H*oa*pa-F*na*pa;i=F*ma*pa-G*oa*pa;f=G*na*pa-H*ma*pa}e=(c[d+12>>2]|0)+(n<<1<<2)|0;g[e>>2]=o;g[e+4>>2]=k;g[e+8>>2]=h;e=c[d+20>>2]|0;g[e+(n<<1<<2)>>2]=-j;g[e+((n<<1|1)<<2)>>2]=-i;g[e+((n<<1)+2<<2)>>2]=-f;k=+g[(c[b+748>>2]&8|0?b+756|0:d+4|0)>>2];f=k*+g[d>>2];if(!(a[b+736>>0]|0)){S=c[d+8>>2]|0;g[S>>2]=N;g[S+4>>2]=p;g[S+8>>2]=M;S=(c[d+8>>2]|0)+(n<<2)|0;g[S>>2]=t;g[S+4>>2]=u;g[S+8>>2]=v;S=(c[d+8>>2]|0)+(n<<1<<2)|0;g[S>>2]=ma*pa;g[S+4>>2]=na*pa;g[S+8>>2]=oa*pa;S=c[d+16>>2]|0;h=-N;g[S>>2]=h;g[S+4>>2]=-p;g[S+8>>2]=-M;g[S+(n<<2)>>2]=-t;g[S+(n+1<<2)>>2]=-u;g[S+(n+2<<2)>>2]=-v;g[S+(n<<1<<2)>>2]=-(ma*pa);g[S+((n<<1|1)<<2)>>2]=-(na*pa);g[S+((n<<1)+2<<2)>>2]=-(oa*pa);S=c[d+28>>2]|0;g[S>>2]=f*(J*N+K*p+L*M);g[S+(n<<2)>>2]=f*(J*t+K*u+L*v);g[S+(n<<1<<2)>>2]=f*(J*ma*pa+K*na*pa+L*oa*pa);f=h;h=-t;i=-u;j=-v;T=d+28|0;e=c[d+20>>2]|0}else{f=-N;h=-t;i=-u;j=-v;T=d+28|0;S=c[d+28>>2]|0}l=c[d+12>>2]|0;g[l+(n*3<<2)>>2]=N;g[l+((n*3|0)+1<<2)>>2]=p;g[l+((n*3|0)+2<<2)>>2]=M;g[l+(n<<2<<2)>>2]=t;g[l+((n<<2|1)<<2)>>2]=u;g[l+((n<<2|2)<<2)>>2]=v;g[e+(n*3<<2)>>2]=f;g[e+((n*3|0)+1<<2)>>2]=-p;g[e+((n*3|0)+2<<2)>>2]=-M;g[e+(n<<2<<2)>>2]=h;g[e+((n<<2|1)<<2)>>2]=i;g[e+((n<<2|2)<<2)>>2]=j;K=k*+g[d>>2];L=(_*ba+$*ca+aa*da)*(ka*U+la*V+O*W)-(_*ea+$*fa+aa*ga)*(ka*P+la*Q+O*R);ga=(_*ea+$*fa+aa*ga)*(ha*ka+ia*la+ja*O)-(X*_+Y*$+Z*aa)*(ka*U+la*V+O*W);la=(X*_+Y*$+Z*aa)*(ka*P+la*Q+O*R)-(_*ba+$*ca+aa*da)*(ha*ka+ia*la+ja*O);g[S+(n*3<<2)>>2]=K*(L*N+ga*p+la*M);g[S+(n<<2<<2)>>2]=K*(L*t+ga*u+la*v);if(!(a[b+716>>0]|0))if(!(a[b+737>>0]|0))return;else{p=0.0;r=0;q=0;n=1}else{la=+g[b+708>>2]*+g[b+732>>2];p=la;r=la>0.0?1:2;q=1;n=(a[b+737>>0]|0)!=0}s=(c[d+24>>2]|0)*5|0;g[l+(s<<2)>>2]=ma*pa;g[l+(s+1<<2)>>2]=na*pa;g[l+(s+2<<2)>>2]=oa*pa;g[e+(s<<2)>>2]=-(ma*pa);g[e+(s+1<<2)>>2]=-(na*pa);g[e+(s+2<<2)>>2]=-(oa*pa);h=+g[b+688>>2];i=+g[b+692>>2];f=+mh(h-i,6.2831854820251465);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)o=f+-6.2831854820251465;else o=f;else o=f+6.2831854820251465;f=+mh(h+i,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;m=o==f;e=S+(s<<2)|0;g[e>>2]=0.0;l=c[b+748>>2]|0;if(l&2)k=+g[b+764>>2];if(n&(q&m^1)){if(l&4|0)c[(c[d+32>>2]|0)+(s<<2)>>2]=c[b+752>>2];i=+g[b+728>>2];j=+g[b+680>>2];h=o>f?1.0:0.0;do if(!(o>=f)){h=j/(k*+g[d>>2]);if(h<0.0)if(i>=o&o-h>i){f=(o-i)/h;break}else{f=i<o?0.0:1.0;break}if(h>0.0)if(i<=f&f-h<i){f=(f-i)/h;break}else{f=i>f?0.0:1.0;break}else f=0.0}else f=h;while(0);g[e>>2]=f*j*+g[b+732>>2]+ +g[e>>2];g[(c[d+36>>2]|0)+(s<<2)>>2]=-+g[b+684>>2];c[(c[d+40>>2]|0)+(s<<2)>>2]=c[b+684>>2]}if(!q)return;g[e>>2]=+g[e>>2]+p*k*+g[d>>2];if(l&1|0)c[(c[d+32>>2]|0)+(s<<2)>>2]=c[b+760>>2];if(m){f=3402823466385288598117041.0e14;h=-3402823466385288598117041.0e14}else{S=(r|0)==1;f=S?3402823466385288598117041.0e14:0.0;h=S?0.0:-3402823466385288598117041.0e14}g[(c[d+36>>2]|0)+(s<<2)>>2]=h;g[(c[d+40>>2]|0)+(s<<2)>>2]=f;h=+g[b+704>>2];do if(h>0.0){f=+g[qa+388>>2]*ma*pa+ +g[qa+392>>2]*na*pa+ +g[qa+396>>2]*oa*pa-(ma*pa*+g[ra+388>>2]+na*pa*+g[ra+392>>2]+oa*pa*+g[ra+396>>2]);if((r|0)==1){if(!(f<0.0))break;e=(c[T>>2]|0)+(s<<2)|0;if(!(+g[e>>2]<-(h*f)))break;g[e>>2]=-(h*f);break}else{if(!(f>0.0))break;e=(c[T>>2]|0)+(s<<2)|0;if(!(+g[e>>2]>-(h*f)))break;g[e>>2]=-(h*f);break}}while(0);d=(c[T>>2]|0)+(s<<2)|0;g[d>>2]=+g[b+700>>2]*+g[d>>2];return}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=l;l=l+32|0;da=c[b+28>>2]|0;ea=c[b+32>>2]|0;$=+g[da+404>>2];_=+g[ea+404>>2];W=c[d+24>>2]|0;ca=a[b+180>>0]|0?1.0:-1.0;X=+g[b+936>>2]-+g[b+872>>2];Y=+g[b+940>>2]-+g[b+876>>2];Z=+g[b+944>>2]-+g[b+880>>2];aa=$+_>0.0?_/($+_):.5;A=c[b+824>>2]|0;B=c[b+840>>2]|0;E=c[b+856>>2]|0;F=c[b+888>>2]|0;G=c[b+904>>2]|0;H=c[b+920>>2]|0;S=(a[b+49>>0]|0)==0;do if(!S){f=aa*(c[j>>2]=A,+g[j>>2]);k=aa*(c[j>>2]=B,+g[j>>2]);i=aa*(c[j>>2]=E,+g[j>>2]);h=(1.0-aa)*(c[j>>2]=F,+g[j>>2]);n=(1.0-aa)*(c[j>>2]=G,+g[j>>2]);i=i+(1.0-aa)*(c[j>>2]=H,+g[j>>2]);o=1.0/+D(+((f+h)*(f+h)+(k+n)*(k+n)+i*i));e=(g[j>>2]=(f+h)*o,c[j>>2]|0);m=(g[j>>2]=(k+n)*o,c[j>>2]|0);v=(g[j>>2]=i*o,c[j>>2]|0);if(+C(+(i*o))>.7071067690849304){R=1.0/+D(+(i*o*i*o+(k+n)*o*(k+n)*o));c[ia+24>>2]=0;g[ia+20>>2]=-(i*o*R);g[ia+16>>2]=(k+n)*o*R;g[ia>>2]=(i*o*i*o+(k+n)*o*(k+n)*o)*R;g[ia+4>>2]=-((f+h)*o*(k+n)*o*R);U=ia;V=ia+4|0;f=(f+h)*o*-(i*o*R);q=2;fa=e;ga=m;ha=v;e=0;h=0.0;break}else{Q=(f+h)*o*(f+h)*o+(k+n)*o*(k+n)*o;R=1.0/+D(+Q);T=(g[j>>2]=-((k+n)*o*R),c[j>>2]|0);g[ia+24>>2]=-((k+n)*o*R);g[ia+20>>2]=(f+h)*o*R;c[ia+16>>2]=0;g[ia>>2]=-(i*o*(f+h)*o*R);g[ia+4>>2]=i*o*-((k+n)*o*R);U=ia;V=ia+4|0;f=Q*R;q=2;fa=e;ga=m;ha=v;e=T;h=-((k+n)*o*R);break}}else{T=c[b+828>>2]|0;U=c[b+844>>2]|0;V=c[b+860>>2]|0;c[ia+24>>2]=T;c[ia+20>>2]=U;c[ia+16>>2]=V;V=c[b+848>>2]|0;U=c[b+864>>2]|0;c[ia>>2]=c[b+832>>2];c[ia+4>>2]=V;c[ia+8>>2]=U;U=ia;V=ia+4|0;f=0.0;q=3;fa=A;ga=B;ha=E;e=T;h=(c[j>>2]=T,+g[j>>2])}while(0);g[ia+(q<<2)>>2]=f;T=c[d+12>>2]|0;c[T>>2]=e;m=c[ia+20>>2]|0;c[T+4>>2]=m;q=c[ia+16>>2]|0;c[T+8>>2]=q;v=c[ia>>2]|0;c[T+(W<<2)>>2]=v;x=c[V>>2]|0;c[T+(W+1<<2)>>2]=x;y=c[ia+8>>2]|0;c[T+(W+2<<2)>>2]=y;z=c[d+20>>2]|0;g[z>>2]=-h;s=(c[j>>2]=m,+g[j>>2]);g[z+4>>2]=-s;w=(c[j>>2]=q,+g[j>>2]);g[z+8>>2]=-w;t=(c[j>>2]=v,+g[j>>2]);g[z+(W<<2)>>2]=-t;p=(c[j>>2]=x,+g[j>>2]);g[z+(W+1<<2)>>2]=-p;u=(c[j>>2]=y,+g[j>>2]);g[z+(W+2<<2)>>2]=-u;e=c[b+300>>2]|0;f=+g[b+280>>2];if(!(e&128))f=f*+g[d+4>>2];K=f*+g[d>>2];Q=(c[j>>2]=B,+g[j>>2]);M=(c[j>>2]=H,+g[j>>2]);L=(c[j>>2]=E,+g[j>>2]);O=(c[j>>2]=G,+g[j>>2]);R=(c[j>>2]=F,+g[j>>2]);N=(c[j>>2]=A,+g[j>>2]);H=c[d+28>>2]|0;g[H>>2]=K*((Q*M-L*O)*h+(L*R-N*M)*s+(N*O-Q*R)*w);g[H+(W<<2)>>2]=K*((Q*M-L*O)*t+(L*R-N*M)*p+(N*O-Q*R)*u);if(e&64|0){H=c[d+32>>2]|0;c[H>>2]=c[b+292>>2];c[H+(W<<2)>>2]=c[b+292>>2]}R=+g[da+52>>2];L=+g[da+56>>2];O=+g[da+60>>2];J=+g[ea+52>>2];f=+g[ea+56>>2];i=+g[ea+60>>2];if(S){N=(i-O)*h-(J-R)*w;r=(J-R)*s-(f-L)*h;g[T+(W<<1<<2)>>2]=aa*((f-L)*w-(i-O)*s);g[T+((W<<1|1)<<2)>>2]=aa*N;g[T+((W<<1)+2<<2)>>2]=aa*r;g[z+(W<<1<<2)>>2]=(1.0-aa)*((f-L)*w-(i-O)*s);g[z+((W<<1|1)<<2)>>2]=(1.0-aa)*N;g[z+((W<<1)+2<<2)>>2]=(1.0-aa)*r;g[T+(W*3<<2)>>2]=aa*((f-L)*u-(i-O)*p);g[T+((W*3|0)+1<<2)>>2]=aa*((i-O)*t-(J-R)*u);g[T+((W*3|0)+2<<2)>>2]=aa*((J-R)*p-(f-L)*t);g[z+(W*3<<2)>>2]=(1.0-aa)*((f-L)*u-(i-O)*p);g[z+((W*3|0)+1<<2)>>2]=(1.0-aa)*((i-O)*t-(J-R)*u);g[z+((W*3|0)+2<<2)>>2]=(1.0-aa)*((J-R)*p-(f-L)*t);e=c[d+8>>2]|0;V=c[ia+24>>2]|0;c[e+(W<<1<<2)>>2]=V;c[e+((W<<1|1)<<2)>>2]=m;c[e+((W<<1)+2<<2)>>2]=q;c[e+(W*3<<2)>>2]=v;c[e+((W*3|0)+1<<2)>>2]=x;c[e+((W*3|0)+2<<2)>>2]=y;q=c[d+16>>2]|0;r=(c[j>>2]=V,+g[j>>2]);g[q+(W<<1<<2)>>2]=-r;g[q+((W<<1|1)<<2)>>2]=-s;g[q+((W<<1)+2<<2)>>2]=-w;g[q+(W*3<<2)>>2]=-t;g[q+((W*3|0)+1<<2)>>2]=-p;N=-u;m=q+((W*3|0)+2<<2)|0;Q=0.0;M=0.0;K=0.0;I=0.0;o=0.0;n=0.0;k=f-L;i=i-O;h=J-R}else{u=+g[b+936>>2]-J;w=+g[b+940>>2]-f;M=+g[b+944>>2]-i;n=(c[j>>2]=fa,+g[j>>2]);k=(c[j>>2]=ga,+g[j>>2]);o=(c[j>>2]=ha,+g[j>>2]);N=+g[b+872>>2]-R;Q=+g[b+876>>2]-L;i=+g[b+880>>2]-O;O=+g[b+1080>>2]-+g[b+1032>>2];R=n*(n*N+k*Q+o*i)+n*O-n*(n*u+k*w+o*M);I=k*(n*N+k*Q+o*i)+k*O-k*(n*u+k*w+o*M);O=o*(n*N+k*Q+o*i)+o*O-o*(n*u+k*w+o*M);K=N-n*(n*N+k*Q+o*i)+aa*R;J=Q-k*(n*N+k*Q+o*i)+aa*I;L=i-o*(n*N+k*Q+o*i)+aa*O;R=u-n*(n*u+k*w+o*M)-(1.0-aa)*R;I=w-k*(n*u+k*w+o*M)-(1.0-aa)*I;O=M-o*(n*u+k*w+o*M)-(1.0-aa)*O;h=aa*(u-n*(n*u+k*w+o*M))+(1.0-aa)*(N-n*(n*N+k*Q+o*i));f=aa*(w-k*(n*u+k*w+o*M))+(1.0-aa)*(Q-k*(n*N+k*Q+o*i));i=aa*(M-o*(n*u+k*w+o*M))+(1.0-aa)*(i-o*(n*N+k*Q+o*i));g[ia+24>>2]=h;g[ia+20>>2]=f;g[ia+16>>2]=i;if(i*i+(h*h+f*f)>1.1920928955078125e-07){Q=1.0/+D(+(i*i+(h*h+f*f)));g[ia+24>>2]=h*Q;g[ia+20>>2]=Q*f;g[ia+16>>2]=Q*i;m=(g[j>>2]=h*Q,c[j>>2]|0);q=(g[j>>2]=Q*f,c[j>>2]|0);w=Q*i;s=Q*f;r=h*Q;e=(g[j>>2]=Q*i,c[j>>2]|0)}else{m=c[b+828>>2]|0;q=c[b+844>>2]|0;e=c[b+860>>2]|0;c[ia+24>>2]=m;c[ia+20>>2]=q;c[ia+16>>2]=e;w=(c[j>>2]=e,+g[j>>2]);s=(c[j>>2]=q,+g[j>>2]);r=(c[j>>2]=m,+g[j>>2])}t=k*w-o*s;u=n*s-k*r;g[U>>2]=t;g[V>>2]=o*r-n*w;g[ia+8>>2]=u;g[ia+12>>2]=0.0;g[T+(W<<1<<2)>>2]=J*w-L*s;g[T+(W<<1<<2)+4>>2]=L*r-K*w;g[T+(W<<1<<2)+8>>2]=K*s-J*r;U=c[d+20>>2]|0;g[U+(W<<1<<2)>>2]=-(I*w-O*s);g[U+((W<<1|1)<<2)>>2]=-(O*r-R*w);g[U+((W<<1)+2<<2)>>2]=-(R*s-I*r);p=+g[V>>2];if($<1.1920928955078125e-07|_<1.1920928955078125e-07?(a[b+297>>0]|0)!=0:0){f=aa*(J*u-L*p);h=aa*(K*p-J*t);i=aa*(L*t-K*u);k=(1.0-aa)*(I*u-O*p);n=(1.0-aa)*(O*t-R*u);o=(1.0-aa)*(R*p-I*t)}else{f=J*u-L*p;h=K*p-J*t;i=L*t-K*u;k=I*u-O*p;n=O*t-R*u;o=R*p-I*t}V=(c[d+12>>2]|0)+(W*3<<2)|0;g[V>>2]=f;g[V+4>>2]=i;g[V+8>>2]=h;V=c[d+20>>2]|0;g[V+(W*3<<2)>>2]=-k;g[V+((W*3|0)+1<<2)>>2]=-n;g[V+((W*3|0)+2<<2)>>2]=-o;V=c[d+8>>2]|0;c[V+(W<<1<<2)>>2]=m;c[V+((W<<1|1)<<2)>>2]=q;c[V+((W<<1)+2<<2)>>2]=e;g[V+(W*3<<2)>>2]=t;g[V+((W*3|0)+1<<2)>>2]=p;g[V+((W*3|0)+2<<2)>>2]=u;q=c[d+16>>2]|0;g[q+(W<<1<<2)>>2]=-r;g[q+((W<<1|1)<<2)>>2]=-s;g[q+((W<<1)+2<<2)>>2]=-w;g[q+(W*3<<2)>>2]=-t;g[q+((W*3|0)+1<<2)>>2]=-p;N=-u;m=q+((W*3|0)+2<<2)|0;e=V;Q=J;M=L;o=O;n=R;k=0.0;i=0.0;h=0.0}g[m>>2]=N;A=c[b+300>>2]|0;f=+g[b+264>>2];if(!(A&32))f=f*+g[d+4>>2];R=f*+g[d>>2];B=c[d+28>>2]|0;g[B+(W<<1<<2)>>2]=R*(X*r+Y*s+Z*w);g[B+(W*3<<2)>>2]=R*(X*t+Y*p+Z*u);if(A&16|0){V=c[d+32>>2]|0;c[V+(W<<1<<2)>>2]=c[b+276>>2];c[V+(W*3<<2)>>2]=c[b+276>>2]}if(!(a[b+296>>0]|0))if(!(a[b+1096>>0]|0))e=4;else{p=0.0;y=0;x=0;v=1;ba=26}else{Z=ca*+g[b+1032>>2];p=Z;y=Z>0.0?2:1;x=1;v=(a[b+1096>>0]|0)!=0;ba=26}if((ba|0)==26){z=c[d+24>>2]<<2;c[e+(z<<2)>>2]=fa;c[e+((z|1)<<2)>>2]=ga;c[e+((z|2)<<2)>>2]=ha;r=(c[j>>2]=fa,+g[j>>2]);g[q+(z<<2)>>2]=-r;s=(c[j>>2]=ga,+g[j>>2]);g[q+((z|1)<<2)>>2]=-s;t=(c[j>>2]=ha,+g[j>>2]);g[q+((z|2)<<2)>>2]=-t;if(a[b+49>>0]|0){if(!($<1.1920928955078125e-07|_<1.1920928955078125e-07)){e=c[d+12>>2]|0;g[e+(z<<2)>>2]=t*Q-s*M;g[e+((z|1)<<2)>>2]=r*M-t*K;g[e+((z|2)<<2)>>2]=s*K-r*Q;e=c[d+20>>2]|0;g[e+(z<<2)>>2]=-(t*I-s*o);g[e+((z|1)<<2)>>2]=-(r*o-t*n);f=-(s*n-r*I);ba=30}}else{_=t*k-s*i;$=r*i-t*h;f=s*h-r*k;e=c[d+12>>2]|0;g[e+(z<<2)>>2]=aa*_;g[e+((z|1)<<2)>>2]=aa*$;g[e+((z|2)<<2)>>2]=aa*f;e=c[d+20>>2]|0;g[e+(z<<2)>>2]=(1.0-aa)*_;g[e+((z|1)<<2)>>2]=(1.0-aa)*$;f=(1.0-aa)*f;ba=30}if((ba|0)==30)g[e+((z|2)<<2)>>2]=f;e=+g[b+184>>2]==+g[b+188>>2];g[B+(z<<2)>>2]=0.0;m=(c[d+36>>2]|0)+(z<<2)|0;g[m>>2]=0.0;q=(c[d+40>>2]|0)+(z<<2)|0;g[q>>2]=0.0;o=+g[(A&512|0?b+232|0:d+4|0)>>2];if(v&(x&e^1)){if(A&1|0)c[(c[d+32>>2]|0)+(z<<2)>>2]=c[b+212>>2];n=+g[b+1100>>2];f=+g[b+1080>>2];h=+g[b+184>>2];i=+g[b+188>>2];k=o*+g[d>>2];do if(!(h>i))if(!(h==i)){if(n/k<0.0)if(f>=h?h-n/k>f:0){f=(h-f)/(n/k);break}else{f=f<h?0.0:1.0;break}if(n/k>0.0)if(f<=i?i-n/k<f:0){f=(i-f)/(n/k);break}else{f=f>i?0.0:1.0;break}else f=0.0}else f=0.0;else f=1.0;while(0);g[B+(z<<2)>>2]=+g[B+(z<<2)>>2]-ca*f*n;g[m>>2]=-+g[b+1104>>2]/+g[d>>2]+ +g[m>>2];g[q>>2]=+g[b+1104>>2]/+g[d>>2]+ +g[q>>2]}if(x){g[B+(z<<2)>>2]=+g[B+(z<<2)>>2]+p*o*+g[d>>2];if(A&256|0)c[(c[d+32>>2]|0)+(z<<2)>>2]=c[b+244>>2];if(e){f=-3402823466385288598117041.0e14;h=3402823466385288598117041.0e14}else{ba=(y|0)==1;f=ba?-3402823466385288598117041.0e14:0.0;h=ba?0.0:3402823466385288598117041.0e14}g[m>>2]=f;g[q>>2]=h;aa=1.0-+g[b+240>>2];h=+C(+aa);do if(!(aa!=aa|0.0!=0.0|aa==0.0)){f=ca*(r*+g[da+372>>2]+s*+g[da+376>>2]+t*+g[da+380>>2]-(r*+g[ea+372>>2]+s*+g[ea+376>>2]+t*+g[ea+380>>2]));if((y|0)==1){if(!(f<0.0))break;if(!(+g[B+(z<<2)>>2]<-(h*f)))break;g[B+(z<<2)>>2]=-(h*f);break}else{if(!(f>0.0))break;if(!(+g[B+(z<<2)>>2]>-(h*f)))break;g[B+(z<<2)>>2]=-(h*f);break}}while(0);g[B+(z<<2)>>2]=+g[b+232>>2]*+g[B+(z<<2)>>2];e=5}else e=5}if(!(a[b+297>>0]|0))if(!(a[b+1112>>0]|0)){l=ia;return}else{t=0.0;x=0;v=0;m=1}else{ca=+g[b+1088>>2];t=ca;x=ca>0.0?1:2;v=1;m=(a[b+1112>>0]|0)!=0}y=P(c[d+24>>2]|0,e)|0;q=c[d+12>>2]|0;c[q+(y<<2)>>2]=fa;c[q+(y+1<<2)>>2]=ga;c[q+(y+2<<2)>>2]=ha;w=(c[j>>2]=fa,+g[j>>2]);q=c[d+20>>2]|0;g[q+(y<<2)>>2]=-w;u=(c[j>>2]=ga,+g[j>>2]);g[q+(y+1<<2)>>2]=-u;s=(c[j>>2]=ha,+g[j>>2]);g[q+(y+2<<2)>>2]=-s;o=+g[b+192>>2];p=+g[b+196>>2];q=c[b+300>>2]|0;r=+g[(q&2048|0?b+248|0:d+4|0)>>2];if(m&(v&o==p^1)){if(!(q&4)){i=o;k=p}else{c[(c[d+32>>2]|0)+(y<<2)>>2]=c[b+228>>2];i=+g[b+192>>2];k=+g[b+196>>2]}f=+g[b+1084>>2];n=+g[b+1116>>2];h=r*+g[d>>2];do if(!(i>k))if(!(i==k)){if(n/h<0.0)if(f>=i?i-n/h>f:0){f=(i-f)/(n/h);break}else{f=f<i?0.0:1.0;break}if(n/h>0.0)if(f<=k?k-n/h<f:0){f=(k-f)/(n/h);break}else{f=f>k?0.0:1.0;break}else f=0.0}else f=0.0;else f=1.0;while(0);e=c[d+28>>2]|0;g[e+(y<<2)>>2]=f*n;g[(c[d+36>>2]|0)+(y<<2)>>2]=-+g[b+1120>>2]/+g[d>>2];g[(c[d+40>>2]|0)+(y<<2)>>2]=+g[b+1120>>2]/+g[d>>2]}else e=B;if(!v){l=ia;return}ha=e+(y<<2)|0;g[ha>>2]=+g[ha>>2]+t*r*+g[d>>2];if(q&1024|0)c[(c[d+32>>2]|0)+(y<<2)>>2]=c[b+260>>2];if(o==p){f=-3402823466385288598117041.0e14;h=3402823466385288598117041.0e14}else{ha=(x|0)==1;f=ha?0.0:-3402823466385288598117041.0e14;h=ha?3402823466385288598117041.0e14:0.0}g[(c[d+36>>2]|0)+(y<<2)>>2]=f;g[(c[d+40>>2]|0)+(y<<2)>>2]=h;ca=1.0-+g[b+256>>2];h=+C(+ca);do if(!(ca!=ca|0.0!=0.0|ca==0.0)){ga=c[b+28>>2]|0;ha=c[b+32>>2]|0;f=w*+g[ga+388>>2]+u*+g[ga+392>>2]+s*+g[ga+396>>2]-(w*+g[ha+388>>2]+u*+g[ha+392>>2]+s*+g[ha+396>>2]);if((x|0)==1){if(!(f<0.0))break;e=(c[d+28>>2]|0)+(y<<2)|0;if(!(+g[e>>2]<-(h*f)))break;g[e>>2]=-(h*f);break}else{if(!(f>0.0))break;e=(c[d+28>>2]|0)+(y<<2)|0;if(!(+g[e>>2]>-(h*f)))break;g[e>>2]=-(h*f);break}}while(0);d=(c[d+28>>2]|0)+(y<<2)|0;g[d>>2]=+g[b+248>>2]*+g[d>>2];l=ia;return}function Bc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,B=0;B=l;l=l+112|0;c[b>>2]=5320;c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+28>>2]=0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=-1;c[b+220>>2]=1;g[b+224>>2]=0.0;g[b+228>>2]=.5;g[b+232>>2]=0.0;g[b+236>>2]=0.0;g[b+240>>2]=0.0;g[b+244>>2]=.10000000149011612;g[b+248>>2]=1.0e4;c[b+252>>2]=1;c[b+256>>2]=0;c[b+260>>2]=-1;c[b+264>>2]=-1;g[b+268>>2]=1.0;g[b+272>>2]=0.0;g[b+276>>2]=0.0;c[b+280>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;c[b+304>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b+68>>2]=1065353216;c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+88>>2]=1065353216;c[b+92>>2]=0;c[b+92+4>>2]=0;c[b+92+8>>2]=0;c[b+92+12>>2]=0;c[b+108>>2]=1065353216;c[b+112>>2]=0;c[b+112+4>>2]=0;c[b+112+8>>2]=0;c[b+112+12>>2]=0;c[b+112+16>>2]=0;c[b>>2]=3356;a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b+344>>2]=0;a[b+468>>0]=1;c[b+464>>2]=0;c[b+456>>2]=0;c[b+460>>2]=0;a[b+488>>0]=1;c[b+484>>2]=0;c[b+476>>2]=0;c[b+480>>2]=0;a[b+508>>0]=1;c[b+504>>2]=0;c[b+496>>2]=0;c[b+500>>2]=0;a[b+556>>0]=1;c[b+552>>2]=0;c[b+544>>2]=0;c[b+548>>2]=0;a[b+576>>0]=1;c[b+572>>2]=0;c[b+564>>2]=0;c[b+568>>2]=0;c[b+744>>2]=d;a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;a[b+904>>0]=1;c[b+900>>2]=0;c[b+892>>2]=0;c[b+896>>2]=0;a[b+924>>0]=1;c[b+920>>2]=0;c[b+912>>2]=0;c[b+916>>2]=0;a[b+944>>0]=1;c[b+940>>2]=0;c[b+932>>2]=0;c[b+936>>2]=0;a[b+1024>>0]=1;c[b+1020>>2]=0;c[b+1012>>2]=0;c[b+1016>>2]=0;c[b+988>>2]=0;c[b+992>>2]=0;c[b+996>>2]=-1;c[b+1e3>>2]=0;c[b+1004>>2]=0;a[b+1064>>0]=1;c[b+1060>>2]=0;c[b+1052>>2]=0;c[b+1056>>2]=0;c[b+1028>>2]=0;c[b+1032>>2]=0;c[b+1036>>2]=-1;c[b+1040>>2]=0;c[b+1044>>2]=0;a[b+1104>>0]=1;c[b+1100>>2]=0;c[b+1092>>2]=0;c[b+1096>>2]=0;c[b+1068>>2]=0;c[b+1072>>2]=0;c[b+1076>>2]=-1;c[b+1080>>2]=0;c[b+1084>>2]=0;a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;c[b+252>>2]=8;c[b+348>>2]=0;g[b+352>>2]=1.0;c[b+356>>2]=0;c[b+356+4>>2]=0;c[b+356+8>>2]=0;c[b+356+12>>2]=0;c[b+356+16>>2]=0;g[b+376>>2]=.20000000298023224;g[b+380>>2]=0.0;g[b+384>>2]=1.0;g[b+388>>2]=.10000000149011612;g[b+392>>2]=1.0;g[b+396>>2]=.699999988079071;g[b+400>>2]=.10000000149011612;g[b+404>>2]=1.0;g[b+408>>2]=.5;g[b+412>>2]=.5;g[b+416>>2]=.5;g[b+420>>2]=.5;g[b+424>>2]=1.0;g[b+428>>2]=1.0;c[b+432>>2]=0;c[b+436>>2]=1;c[b+440>>2]=0;c[b+444>>2]=4;c[b+448>>2]=1;a[b+532>>0]=0;a[b+533>>0]=0;g[b+536>>2]=0.0;c[b+580>>2]=0;c[b+580+4>>2]=0;c[b+580+8>>2]=0;c[b+580+12>>2]=0;c[b+596>>2]=1065353216;c[b+600>>2]=0;c[b+600+4>>2]=0;c[b+600+8>>2]=0;c[b+600+12>>2]=0;c[b+616>>2]=1065353216;c[b+620>>2]=0;c[b+620+4>>2]=0;c[b+620+8>>2]=0;c[b+620+12>>2]=0;c[b+636>>2]=1065353216;g[b+640>>2]=0.0;c[b+644>>2]=1065353216;c[b+648>>2]=0;c[b+648+4>>2]=0;c[b+648+8>>2]=0;c[b+648+12>>2]=0;c[b+664>>2]=1065353216;c[b+668>>2]=0;c[b+668+4>>2]=0;c[b+668+8>>2]=0;c[b+668+12>>2]=0;c[b+684>>2]=1065353216;g[b+688>>2]=0.0;c[b+740>>2]=0;g[b+948>>2]=0.0;a[b+984>>0]=1;c[b+952>>2]=0;c[b+952+4>>2]=0;c[b+952+8>>2]=0;c[b+952+12>>2]=0;c[b+952+16>>2]=0;c[b+952+20>>2]=0;c[b+952+24>>2]=0;c[b+952+28>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;d=c[b+464>>2]|0;if(d|0){if(a[b+468>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+464>>2]=0}a[b+468>>0]=1;c[b+464>>2]=0;c[b+456>>2]=0;c[b+460>>2]=0;d=c[b+484>>2]|0;if(d|0){if(a[b+488>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+484>>2]=0}a[b+488>>0]=1;c[b+484>>2]=0;c[b+476>>2]=0;c[b+480>>2]=0;d=c[b+504>>2]|0;do if(d)if(a[b+508>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);d=c[b+476>>2]|0;i=c[b+480>>2]|0;c[b+504>>2]=0;a[b+508>>0]=1;c[b+504>>2]=0;c[b+496>>2]=0;c[b+500>>2]=0;if((d|0)==(i|0)){w=14;break}else break}else{c[b+504>>2]=0;w=13;break}else w=13;while(0);if((w|0)==13){a[b+508>>0]=1;c[b+504>>2]=0;c[b+496>>2]=0;c[b+500>>2]=0;i=0;w=14}if((w|0)==14){n=i|0?i<<1:1;if((i|0)<(n|0)){if(!n)d=0;else{c[6995]=(c[6995]|0)+1;d=sc((n<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=c[b+476>>2]|0}k=c[b+484>>2]|0;if((i|0)<=0){if(k)w=22}else{j=0;do{c[d+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0));w=22}if((w|0)==22){if(a[b+488>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);i=c[b+476>>2]|0}c[b+484>>2]=0}a[b+488>>0]=1;c[b+484>>2]=d;c[b+480>>2]=n;d=i;i=n}else d=i}k=c[b+484>>2]|0;c[k+(d<<2)>>2]=1;d=d+1|0;c[b+476>>2]=d;if((d|0)==(i|0)){n=i|0?i<<1:1;if((i|0)<(n|0)){if(!n)d=0;else{c[6995]=(c[6995]|0)+1;d=sc((n<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=c[b+476>>2]|0;k=c[b+484>>2]|0}if((i|0)<=0){if(k)w=35}else{j=0;do{c[d+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0));w=35}if((w|0)==35){if(a[b+488>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);i=c[b+476>>2]|0}c[b+484>>2]=0}a[b+488>>0]=1;c[b+484>>2]=d;c[b+480>>2]=n;o=d;j=i;i=n}else{o=k;j=i;d=k}}else{o=k;j=d;d=k}c[o+(j<<2)>>2]=2;j=j+1|0;c[b+476>>2]=j;if((j|0)==(i|0)){n=i|0?i<<1:1;if((i|0)<(n|0)){if(!n){d=0;k=o}else{c[6995]=(c[6995]|0)+1;d=sc((n<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=c[b+476>>2]|0;k=c[b+484>>2]|0}if((i|0)<=0){if(k)w=48}else{j=0;do{c[d+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0));w=48}if((w|0)==48){if(a[b+488>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);i=c[b+476>>2]|0}c[b+484>>2]=0}a[b+488>>0]=1;c[b+484>>2]=d;c[b+480>>2]=n;k=d;j=i;i=n}else{k=o;j=i}}else k=o;c[k+(j<<2)>>2]=3;j=j+1|0;c[b+476>>2]=j;if((j|0)==(i|0)){n=i|0?i<<1:1;if((i|0)<(n|0)){if(!n)d=0;else{c[6995]=(c[6995]|0)+1;d=sc((n<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=c[b+476>>2]|0;k=c[b+484>>2]|0}if((i|0)<=0){if(k)w=61}else{j=0;do{c[d+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0));w=61}if((w|0)==61){if(a[b+488>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);i=c[b+476>>2]|0}c[b+484>>2]=0}a[b+488>>0]=1;c[b+484>>2]=d;c[b+480>>2]=n}}else i=j;c[d+(i<<2)>>2]=0;c[b+476>>2]=i+1;c[6995]=(c[6995]|0)+1;d=sc(43)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=-1;c[d>>2]=3496;c[d+4>>2]=32;c[d+20>>2]=b;c[b+192>>2]=d;g[d+16>>2]=.25;c[b+1148>>2]=1065353216;c[b+1152>>2]=0;c[b+1152+4>>2]=0;c[b+1152+8>>2]=0;c[b+1152+12>>2]=0;c[b+1168>>2]=1065353216;c[b+1172>>2]=0;c[b+1172+4>>2]=0;c[b+1172+8>>2]=0;c[b+1172+12>>2]=0;c[b+1188>>2]=1065353216;x=b+1192|0;y=x+36|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));g[b+1228>>2]=1.0;z=hh(b)|0;g[z+4>>2]=1.0;g[z+8>>2]=1.0;g[z+12>>2]=1.0;c[z+16>>2]=1;x=c[b+192>>2]|0;A=+nb[c[(c[x>>2]|0)+48>>2]&15](x);x=B;y=x+100|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));n=c[b+772>>2]|0;if((n|0)<(e|0)){if((c[b+776>>2]|0)<(e|0)){if(!e){d=0;j=n}else{c[6995]=(c[6995]|0)+1;d=sc((e*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=c[b+772>>2]|0}if((j|0)>0){i=0;do{x=d+(i*104|0)|0;k=(c[b+780>>2]|0)+(i*104|0)|0;y=x+104|0;do{c[x>>2]=c[k>>2];x=x+4|0;k=k+4|0}while((x|0)<(y|0));i=i+1|0}while((i|0)!=(j|0))}i=c[b+780>>2]|0;if(i|0){if(a[b+784>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=d;c[b+776>>2]=e;d=n}else d=n;do{x=c[b+780>>2]|0;c[x+(d*104|0)>>2]=0;x=x+(d*104|0)+4|0;k=B;y=x+100|0;do{c[x>>2]=c[k>>2];x=x+4|0;k=k+4|0}while((x|0)<(y|0));d=d+1|0}while((d|0)!=(e|0))}c[b+772>>2]=e;if((e|0)>0){d=f;i=h;k=0;while(1){o=c[b+780>>2]|0;w=o+(k*104|0)|0;x=w;y=x+104|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));if(!d){n=0;m=0.0;p=0.0;q=0.0;r=0.0}else{n=d+16|0;m=+g[d+12>>2];p=+g[d>>2];q=+g[d+4>>2];r=+g[d+8>>2]}f=o+(k*104|0)+8|0;g[f>>2]=p;g[o+(k*104|0)+12>>2]=q;g[o+(k*104|0)+16>>2]=r;g[o+(k*104|0)+20>>2]=m;h=o+(k*104|0)+24|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];if(!i){j=0;m=1.0}else{j=i+4|0;m=+g[i>>2]}g[o+(k*104|0)+88>>2]=m>0.0?1.0/m:0.0;t=p-A;u=q-A;v=r-A;s=A+p;p=A+q;m=A+r;d=c[b+992>>2]|0;if(!d){c[6995]=(c[6995]|0)+1;d=sc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}x=d;y=x+44|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0))}else c[b+992>>2]=0;c[d+32>>2]=0;c[d+36>>2]=w;c[d+40>>2]=0;g[d>>2]=t;g[d+4>>2]=u;g[d+8>>2]=v;g[d+12>>2]=0.0;g[d+16>>2]=s;g[d+20>>2]=p;g[d+24>>2]=m;g[d+28>>2]=0.0;Pe(b+988|0,c[b+988>>2]|0,d);c[b+1e3>>2]=(c[b+1e3>>2]|0)+1;c[o+(k*104|0)+96>>2]=d;c[o+(k*104|0)+4>>2]=z;k=k+1|0;if((k|0)==(e|0))break;else{d=n;i=j}}}d=c[b+988>>2]|0;if(!d){c[b+952>>2]=0;c[b+952+4>>2]=0;c[b+952+8>>2]=0;c[b+952+12>>2]=0;c[b+952+16>>2]=0;c[b+952+20>>2]=0;c[b+952+24>>2]=0;c[b+952+28>>2]=0;l=B;return}e=c[b+192>>2]|0;u=+nb[c[(c[e>>2]|0)+48>>2]&15](e);A=+g[d+4>>2]-u;v=+g[d+8>>2]-u;g[b+952>>2]=+g[d>>2]-u;g[b+956>>2]=A;g[b+960>>2]=v;g[b+964>>2]=0.0;v=u+ +g[d+20>>2];A=u+ +g[d+24>>2];g[b+968>>2]=u+ +g[d+16>>2];g[b+972>>2]=v;g[b+976>>2]=A;g[b+980>>2]=0.0;d=c[b+188>>2]|0;if(!d){l=B;return}e=c[b+744>>2]|0;h=c[e+32>>2]|0;Zb[c[(c[h>>2]|0)+16>>2]&31](h,d,b+952|0,b+968|0,c[e+36>>2]|0);l=B;return}function Cc(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0;K=l;l=l+96|0;H=c[d+56>>2]|0;if((h-f|0)==1){if(!(a[d+60>>0]|0)){q=(c[d+96>>2]|0)+(H<<6)|0;r=(c[d+76>>2]|0)+(f<<6)|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}else{I=(c[d+116>>2]|0)+(f<<4)|0;J=(c[d+136>>2]|0)+(H<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2]}c[d+56>>2]=(c[d+56>>2]|0)+1;l=K;return}c[K+32>>2]=0;c[K+32+4>>2]=0;c[K+32+8>>2]=0;c[K+32+12>>2]=0;if((h|0)>(f|0)){m=(a[d+60>>0]|0)==0;if(m){j=c[d+76>>2]|0;i=f;k=0.0;n=0.0;o=0.0;do{k=k+(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5;n=n+(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5;o=o+(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5;i=i+1|0}while((i|0)!=(h|0))}else{j=c[d+116>>2]|0;p=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];i=f;k=0.0;n=0.0;o=0.0;do{k=k+(+(e[j+(i<<4)+6>>1]|0)/p+x+(+(e[j+(i<<4)>>1]|0)/p+x))*.5;n=n+(+(e[j+(i<<4)+8>>1]|0)/t+y+(+(e[j+(i<<4)+2>>1]|0)/t+y))*.5;o=o+(+(e[j+(i<<4)+10>>1]|0)/u+z+(+(e[j+(i<<4)+4>>1]|0)/u+z))*.5;i=i+1|0}while((i|0)!=(h|0))}C=1.0/+(h-f|0);E=C*k;D=C*n;C=C*o;if(m){j=c[d+76>>2]|0;i=f;o=0.0;n=0.0;k=0.0;do{x=(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5-E;y=(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5-D;z=(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5-C;o=o+x*x;n=y*y+n;k=z*z+k;i=i+1|0}while((i|0)!=(h|0))}else{j=c[d+116>>2]|0;p=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];i=f;o=0.0;n=0.0;k=0.0;do{N=(+(e[j+(i<<4)+6>>1]|0)/p+x+(+(e[j+(i<<4)>>1]|0)/p+x))*.5-E;M=(+(e[j+(i<<4)+8>>1]|0)/t+y+(+(e[j+(i<<4)+2>>1]|0)/t+y))*.5-D;L=(+(e[j+(i<<4)+10>>1]|0)/u+z+(+(e[j+(i<<4)+4>>1]|0)/u+z))*.5-C;o=o+N*N;n=M*M+n;k=L*L+k;i=i+1|0}while((i|0)!=(h|0))}g[K+32>>2]=o;g[K+32+4>>2]=n;g[K+32+8>>2]=k;i=K+32|0;p=+(h-f|0)}else{i=K+32|0;p=+(h-f|0);o=0.0;n=0.0;k=0.0}L=1.0/(p+-1.0);M=L*o;g[i>>2]=M;N=L*n;g[K+32+4>>2]=N;L=L*k;g[K+32+8>>2]=L;w=+g[K+32+((M<N&1)<<2)>>2]<L?2:M<N&1;c[K+16>>2]=0;c[K+16+4>>2]=0;c[K+16+8>>2]=0;c[K+16+12>>2]=0;if((h|0)>(f|0)){if(!(a[d+60>>0]|0)){j=c[d+76>>2]|0;i=f;o=0.0;n=0.0;k=0.0;do{o=(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5+o;n=(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5+n;k=(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5+k;i=i+1|0}while((i|0)!=(h|0))}else{j=c[d+116>>2]|0;p=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];i=f;o=0.0;n=0.0;k=0.0;do{o=(+(e[j+(i<<4)+6>>1]|0)/p+x+(+(e[j+(i<<4)>>1]|0)/p+x))*.5+o;n=(+(e[j+(i<<4)+8>>1]|0)/t+y+(+(e[j+(i<<4)+2>>1]|0)/t+y))*.5+n;k=(+(e[j+(i<<4)+10>>1]|0)/u+z+(+(e[j+(i<<4)+4>>1]|0)/u+z))*.5+k;i=i+1|0}while((i|0)!=(h|0))}g[K+16>>2]=o;g[K+16+4>>2]=n;g[K+16+8>>2]=k;i=K+16|0}else{i=K+16|0;o=0.0;n=0.0;k=0.0}g[i>>2]=1.0/+(h-f|0)*o;g[K+16+4>>2]=1.0/+(h-f|0)*n;g[K+16+8>>2]=1.0/+(h-f|0)*k;x=+g[K+16+(w<<2)>>2];if((h|0)>(f|0)){i=f;v=f;do{j=(a[d+60>>0]|0)==0;if(j){G=c[d+76>>2]|0;k=+g[G+(v<<6)>>2];n=+g[G+(v<<6)+16>>2];o=+g[G+(v<<6)+4>>2];p=+g[G+(v<<6)+20>>2];t=+g[G+(v<<6)+8>>2];u=+g[G+(v<<6)+24>>2]}else{G=c[d+116>>2]|0;o=+g[d+36>>2];t=+g[d+40>>2];N=+g[d+44>>2];n=+g[d+4>>2];p=+g[d+8>>2];u=+g[d+12>>2];k=+(e[G+(v<<4)>>1]|0)/o+n;n=+(e[G+(v<<4)+6>>1]|0)/o+n;o=+(e[G+(v<<4)+2>>1]|0)/t+p;p=+(e[G+(v<<4)+8>>1]|0)/t+p;t=+(e[G+(v<<4)+4>>1]|0)/N+u;u=+(e[G+(v<<4)+10>>1]|0)/N+u}g[K>>2]=(n+k)*.5;g[K+4>>2]=(p+o)*.5;g[K+8>>2]=(u+t)*.5;g[K+12>>2]=0.0;if(+g[K+(w<<2)>>2]>x){if(j){j=c[d+76>>2]|0;m=j+(v<<6)|0;q=K+32|0;r=m;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=m;r=j+(i<<6)|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=(c[d+76>>2]|0)+(i<<6)|0;r=K+32|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}else{F=c[d+116>>2]|0;G=F+(v<<4)|0;c[K+32>>2]=c[G>>2];c[K+32+4>>2]=c[G+4>>2];c[K+32+8>>2]=c[G+8>>2];c[K+32+12>>2]=c[G+12>>2];F=F+(i<<4)|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];G=(c[d+116>>2]|0)+(i<<4)|0;c[G>>2]=c[K+32>>2];c[G+4>>2]=c[K+32+4>>2];c[G+8>>2]=c[K+32+8>>2];c[G+12>>2]=c[K+32+12>>2]}i=i+1|0}v=v+1|0}while((v|0)!=(h|0))}else i=f;if(!((i|0)>(((h-f|0)/3|0)+f|0)?(i|0)<(h+-1-((h-f|0)/3|0)|0):0))i=(h-f>>1)+f|0;G=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(G<<6)|0;c[F>>2]=c[d+20>>2];c[F+4>>2]=c[d+20+4>>2];c[F+8>>2]=c[d+20+8>>2];c[F+12>>2]=c[d+20+12>>2]}else{F=c[d+136>>2]|0;M=(+g[d+24>>2]-+g[d+8>>2])*+g[d+40>>2];N=(+g[d+28>>2]-+g[d+12>>2])*+g[d+44>>2];b[F+(G<<4)>>1]=~~((+g[d+20>>2]-+g[d+4>>2])*+g[d+36>>2])&65535&-2;b[F+(G<<4)+2>>1]=~~M&65535&-2;b[F+(G<<4)+4>>1]=~~N&65535&-2}j=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(j<<6)+16|0;c[F>>2]=c[d+4>>2];c[F+4>>2]=c[d+4+4>>2];c[F+8>>2]=c[d+4+8>>2];c[F+12>>2]=c[d+4+12>>2]}else{F=c[d+136>>2]|0;L=+g[d+4>>2];M=+g[d+8>>2];N=+g[d+12>>2];M=(M-M)*+g[d+40>>2];N=(N-N)*+g[d+44>>2];b[F+(j<<4)+6>>1]=~~((L-L)*+g[d+36>>2]+1.0)&65535|1;b[F+(j<<4)+8>>1]=~~(M+1.0)&65535|1;b[F+(j<<4)+10>>1]=~~(N+1.0)&65535|1}F=c[d+56>>2]|0;if((h|0)>(f|0)){B=a[d+60>>0]|0;A=f;do{if(!(B<<24>>24)){j=c[d+76>>2]|0;n=+g[j+(A<<6)>>2];u=+g[j+(A<<6)+4>>2];y=+g[j+(A<<6)+8>>2];p=+g[j+(A<<6)+12>>2];k=+g[j+(A<<6)+16>>2];x=+g[j+(A<<6)+20>>2];o=+g[j+(A<<6)+24>>2];t=+g[j+(A<<6)+28>>2];j=c[d+96>>2]|0;if(n<+g[j+(F<<6)>>2])g[j+(F<<6)>>2]=n;if(u<+g[j+(F<<6)+4>>2])g[j+(F<<6)+4>>2]=u;if(y<+g[j+(F<<6)+8>>2])g[j+(F<<6)+8>>2]=y;if(p<+g[j+(F<<6)+12>>2])g[j+(F<<6)+12>>2]=p;if(+g[j+(F<<6)+16>>2]<k)g[j+(F<<6)+16>>2]=k;if(+g[j+(F<<6)+20>>2]<x)g[j+(F<<6)+20>>2]=x;if(+g[j+(F<<6)+24>>2]<o)g[j+(F<<6)+24>>2]=o;if(+g[j+(F<<6)+28>>2]<t)g[j+(F<<6)+28>>2]=t}else{v=c[d+116>>2]|0;p=+g[d+36>>2];y=+g[d+40>>2];E=+g[d+44>>2];t=+g[d+4>>2];z=+g[d+8>>2];L=+g[d+12>>2];u=+g[d+4>>2];C=+g[d+8>>2];M=+g[d+12>>2];x=+g[d+36>>2];D=+g[d+40>>2];N=+g[d+44>>2];j=~~((+(e[v+(A<<4)>>1]|0)/p+t-u)*x)&65535&-2;m=~~((+(e[v+(A<<4)+2>>1]|0)/y+z-C)*D)&65535&-2;q=~~((+(e[v+(A<<4)+4>>1]|0)/E+L-M)*N)&65535&-2;r=~~((+(e[v+(A<<4)+6>>1]|0)/p+t-u)*x+1.0)&65535|1;s=~~((+(e[v+(A<<4)+8>>1]|0)/y+z-C)*D+1.0)&65535|1;v=~~((+(e[v+(A<<4)+10>>1]|0)/E+L-M)*N+1.0)&65535|1;w=c[d+136>>2]|0;if((e[w+(F<<4)>>1]|0)>(j&65535))b[w+(F<<4)>>1]=j;if((e[w+(F<<4)+6>>1]|0)<(r&65535))b[w+(F<<4)+6>>1]=r;if((e[w+(F<<4)+2>>1]|0)>(m&65535))b[w+(F<<4)+2>>1]=m;if((e[w+(F<<4)+8>>1]|0)<(s&65535))b[w+(F<<4)+8>>1]=s;if((e[w+(F<<4)+4>>1]|0)>(q&65535))b[w+(F<<4)+4>>1]=q;if((e[w+(F<<4)+10>>1]|0)<(v&65535))b[w+(F<<4)+10>>1]=v}A=A+1|0}while((A|0)!=(h|0))}c[d+56>>2]=F+1;Cc(d,f,i);A=c[d+56>>2]|0;Cc(d,i,h);w=(c[d+56>>2]|0)-H|0;i=a[d+60>>0]|0;if(i<<24>>24!=0&(w<<4|0)>2048){s=c[d+136>>2]|0;q=c[s+(F+1<<4)+12>>2]|0;q=(q|0)>-1?1:0-q|0;v=c[s+(A<<4)+12>>2]|0;v=(v|0)>-1?1:0-v|0;if((q<<4|0)<2049){r=c[d+152>>2]|0;if((r|0)==(c[d+156>>2]|0)?(I=r|0?r<<1:1,(r|0)<(I|0)):0){if(!I){i=0;m=r}else{c[6995]=(c[6995]|0)+1;i=sc(I<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}m=c[d+152>>2]|0}if((m|0)>0){j=0;do{H=i+(j<<5)|0;h=(c[d+160>>2]|0)+(j<<5)|0;c[H>>2]=c[h>>2];c[H+4>>2]=c[h+4>>2];c[H+8>>2]=c[h+8>>2];c[H+12>>2]=c[h+12>>2];c[H+16>>2]=c[h+16>>2];c[H+20>>2]=c[h+20>>2];c[H+24>>2]=c[h+24>>2];c[H+28>>2]=c[h+28>>2];j=j+1|0}while((j|0)!=(m|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=i;c[d+156>>2]=I;i=c[d+152>>2]|0}else i=r;c[d+152>>2]=i+1;I=(c[d+160>>2]|0)+(r<<5)|0;c[I>>2]=c[K+32>>2];c[I+4>>2]=c[K+32+4>>2];c[I+8>>2]=c[K+32+8>>2];c[I+12>>2]=c[K+32+12>>2];c[I+16>>2]=c[K+32+16>>2];c[I+20>>2]=c[K+32+20>>2];c[I+24>>2]=c[K+32+24>>2];c[I+28>>2]=c[K+32+28>>2];I=c[d+160>>2]|0;b[I+(r<<5)>>1]=b[s+(F+1<<4)>>1]|0;b[I+(r<<5)+2>>1]=b[s+(F+1<<4)+2>>1]|0;b[I+(r<<5)+4>>1]=b[s+(F+1<<4)+4>>1]|0;b[I+(r<<5)+6>>1]=b[s+(F+1<<4)+6>>1]|0;b[I+(r<<5)+8>>1]=b[s+(F+1<<4)+8>>1]|0;b[I+(r<<5)+10>>1]=b[s+(F+1<<4)+10>>1]|0;c[I+(r<<5)+12>>2]=F+1;c[I+(r<<5)+16>>2]=q}if((v<<4|0)<2049){q=c[d+152>>2]|0;if((q|0)==(c[d+156>>2]|0)?(J=q|0?q<<1:1,(q|0)<(J|0)):0){if(!J){i=0;m=q}else{c[6995]=(c[6995]|0)+1;i=sc(J<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}m=c[d+152>>2]|0}if((m|0)>0){j=0;do{I=i+(j<<5)|0;H=(c[d+160>>2]|0)+(j<<5)|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[I+16>>2]=c[H+16>>2];c[I+20>>2]=c[H+20>>2];c[I+24>>2]=c[H+24>>2];c[I+28>>2]=c[H+28>>2];j=j+1|0}while((j|0)!=(m|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=i;c[d+156>>2]=J;i=c[d+152>>2]|0}else i=q;c[d+152>>2]=i+1;i=(c[d+160>>2]|0)+(q<<5)|0;c[i>>2]=c[K+32>>2];c[i+4>>2]=c[K+32+4>>2];c[i+8>>2]=c[K+32+8>>2];c[i+12>>2]=c[K+32+12>>2];c[i+16>>2]=c[K+32+16>>2];c[i+20>>2]=c[K+32+20>>2];c[i+24>>2]=c[K+32+24>>2];c[i+28>>2]=c[K+32+28>>2];i=c[d+160>>2]|0;b[i+(q<<5)>>1]=b[s+(A<<4)>>1]|0;b[i+(q<<5)+2>>1]=b[s+(A<<4)+2>>1]|0;b[i+(q<<5)+4>>1]=b[s+(A<<4)+4>>1]|0;b[i+(q<<5)+6>>1]=b[s+(A<<4)+6>>1]|0;b[i+(q<<5)+8>>1]=b[s+(A<<4)+8>>1]|0;b[i+(q<<5)+10>>1]=b[s+(A<<4)+10>>1]|0;c[i+(q<<5)+12>>2]=A;c[i+(q<<5)+16>>2]=v;i=d+152|0}else i=d+152|0;c[d+168>>2]=c[i>>2];i=a[d+60>>0]|0}if(!(i<<24>>24)){c[(c[d+96>>2]|0)+(G<<6)+32>>2]=w;l=K;return}else{c[(c[d+136>>2]|0)+(G<<4)+12>>2]=0-w;l=K;return}}function Dc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0.0,C=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0,M=0.0,N=0,O=0.0,P=0,Q=0.0,R=0,S=0.0,T=0;T=l;l=l+208|0;g[b+56>>2]=0.0;H=T+192+4|0;I=T+192+8|0;c[T+192>>2]=0;c[T+192+4>>2]=0;c[T+192+8>>2]=0;c[T+192+12>>2]=0;c[T+128>>2]=c[d>>2];c[T+128+4>>2]=c[d+4>>2];c[T+128+8>>2]=c[d+8>>2];c[T+128+12>>2]=c[d+12>>2];c[T+128+16>>2]=c[d+16>>2];c[T+128+16+4>>2]=c[d+16+4>>2];c[T+128+16+8>>2]=c[d+16+8>>2];c[T+128+16+12>>2]=c[d+16+12>>2];c[T+128+32>>2]=c[d+32>>2];c[T+128+32+4>>2]=c[d+32+4>>2];c[T+128+32+8>>2]=c[d+32+8>>2];c[T+128+32+12>>2]=c[d+32+12>>2];C=T+128+48|0;c[C>>2]=c[d+48>>2];c[C+4>>2]=c[d+48+4>>2];c[C+8>>2]=c[d+48+8>>2];c[C+12>>2]=c[d+48+12>>2];c[T+64>>2]=c[d+64>>2];c[T+64+4>>2]=c[d+64+4>>2];c[T+64+8>>2]=c[d+64+8>>2];c[T+64+12>>2]=c[d+64+12>>2];c[T+64+16>>2]=c[d+80>>2];c[T+64+16+4>>2]=c[d+80+4>>2];c[T+64+16+8>>2]=c[d+80+8>>2];c[T+64+16+12>>2]=c[d+80+12>>2];c[T+64+32>>2]=c[d+96>>2];c[T+64+32+4>>2]=c[d+96+4>>2];c[T+64+32+8>>2]=c[d+96+8>>2];c[T+64+32+12>>2]=c[d+96+12>>2];E=T+64+48|0;c[E>>2]=c[d+112>>2];c[E+4>>2]=c[d+112+4>>2];c[E+8>>2]=c[d+112+8>>2];c[E+12>>2]=c[d+112+12>>2];J=+g[C>>2];K=+g[E>>2];L=T+128+52|0;M=+g[L>>2];N=T+64+52|0;O=+g[N>>2];P=T+128+56|0;Q=+g[P>>2];R=T+64+56|0;S=+g[R>>2];g[C>>2]=J-(J+K)*.5;g[L>>2]=M-(M+O)*.5;g[P>>2]=Q-(Q+S)*.5;g[E>>2]=K-(J+K)*.5;g[N>>2]=O-(M+O)*.5;g[R>>2]=S-(Q+S)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)C=((c[(c[b+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else C=0;v=+g[b+44>>2];u=+g[b+48>>2];c[6413]=(c[6413]|0)+1;E=a[b+52>>0]|0;c[b+64>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;c[b+12>>2]=0;g[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;n=c[b+24>>2]|0;a[n+312>>0]=0;c[n>>2]=0;a[n+356>>0]=1;c[n+292>>2]=1566444395;c[n+296>>2]=1566444395;c[n+300>>2]=1566444395;g[n+304>>2]=0.0;c[n+336>>2]=0;c[n+336+4>>2]=0;c[n+336+8>>2]=0;c[n+336+12>>2]=0;a[n+336+16>>0]=0;a[n+332>>0]=a[n+332>>0]&-16;n=0;p=999999984306749440.0;do{q=+g[b+4>>2];o=+g[b+8>>2];j=+g[b+12>>2];k=+g[d+4>>2]*-q+ +g[d+20>>2]*-o+ +g[d+36>>2]*-j;m=+g[d+8>>2]*-q+ +g[d+24>>2]*-o+ +g[d+40>>2]*-j;g[T+48>>2]=+g[d>>2]*-q+ +g[d+16>>2]*-o+ +g[d+32>>2]*-j;g[T+48+4>>2]=k;g[T+48+8>>2]=m;g[T+48+12>>2]=0.0;m=q*+g[d+68>>2]+o*+g[d+84>>2]+j*+g[d+100>>2];k=q*+g[d+72>>2]+o*+g[d+88>>2]+j*+g[d+104>>2];g[T+32>>2]=+g[d+64>>2]*q+ +g[d+80>>2]*o+ +g[d+96>>2]*j;g[T+32+4>>2]=m;g[T+32+8>>2]=k;g[T+32+12>>2]=0.0;Nd(T+16|0,c[b+28>>2]|0,T+48|0);Nd(T,c[b+32>>2]|0,T+32|0);k=+g[T+16>>2];m=+g[T+16+4>>2];j=+g[T+16+8>>2];o=k*+g[T+128>>2]+m*+g[T+128+4>>2]+j*+g[T+128+8>>2]+ +g[T+128+48>>2];q=k*+g[T+128+16>>2]+m*+g[T+128+20>>2]+j*+g[T+128+24>>2]+ +g[L>>2];j=k*+g[T+128+32>>2]+m*+g[T+128+36>>2]+j*+g[T+128+40>>2]+ +g[P>>2];m=+g[T>>2];k=+g[T+4>>2];t=+g[T+8>>2];r=m*+g[T+64>>2]+k*+g[T+64+4>>2]+t*+g[T+64+8>>2]+ +g[T+64+48>>2];s=m*+g[T+64+16>>2]+k*+g[T+64+20>>2]+t*+g[T+64+24>>2]+ +g[N>>2];t=m*+g[T+64+32>>2]+k*+g[T+64+36>>2]+t*+g[T+64+40>>2]+ +g[R>>2];k=C?0.0:t;m=C?0.0:j;t=(C?0.0:j)-(C?0.0:t);j=+g[b+4>>2]*(o-r)+ +g[b+8>>2]*(q-s)+ +g[b+12>>2]*t;if(j>0.0?j*j>p*+g[d+128>>2]:0){c[b+68>>2]=10;n=1;h=0}else G=7;do if((G|0)==7){G=0;z=c[b+24>>2]|0;A=c[z>>2]|0;a:do if((A|0)>0){i=+g[z+308>>2];h=0;while(1){x=o-r-+g[z+4+(h<<4)>>2];y=q-s-+g[z+4+(h<<4)+4>>2];B=t-+g[z+4+(h<<4)+8>>2];h=h+1|0;if(x*x+y*y+B*B<=i){h=1;break a}if((h|0)>=(A|0)){h=0;break}}}else h=0;while(0);if((+g[z+304>>2]==0.0?t==+g[z+300>>2]:0)?q-s==+g[z+296>>2]:0){if(o-r==+g[z+292>>2]|h)G=16}else G=15;if((G|0)==15?(G=0,h):0)G=16;if((G|0)==16){G=0;c[b+68>>2]=1;n=1;h=0;break}i=p-j;if(i<=p*9.999999974752427e-07){c[b+68>>2]=i<=0.0?2:11;n=1;h=0;break}g[z+292>>2]=o-r;g[z+296>>2]=q-s;g[z+300>>2]=t;g[z+304>>2]=0.0;a[z+356>>0]=1;g[z+4+(A<<4)>>2]=o-r;g[z+4+(A<<4)+4>>2]=q-s;g[z+4+(A<<4)+8>>2]=t;g[z+4+(A<<4)+12>>2]=0.0;h=c[z>>2]|0;g[z+84+(h<<4)>>2]=o;g[z+84+(h<<4)+4>>2]=q;g[z+84+(h<<4)+8>>2]=m;g[z+84+(h<<4)+12>>2]=0.0;h=c[z>>2]|0;g[z+164+(h<<4)>>2]=r;g[z+164+(h<<4)+4>>2]=s;g[z+164+(h<<4)+8>>2]=k;g[z+164+(h<<4)+12>>2]=0.0;c[z>>2]=(c[z>>2]|0)+1;h=c[b+24>>2]|0;A=wc(h)|0;i=+g[h+276>>2];j=+g[h+280>>2];k=+g[h+284>>2];h=c[h+288>>2]|0;if(!A){c[b+68>>2]=3;n=1;h=0;break}if(i*i+j*j+k*k<9.999999974752427e-07){g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=k;c[b+16>>2]=h;c[b+68>>2]=6;n=1;h=0;break}if(p-(i*i+j*j+k*k)<=p*1.1920928955078125e-07){c[b+68>>2]=12;p=i*i+j*j+k*k;n=1;h=0;break}g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=k;c[b+16>>2]=h;A=c[b+64>>2]|0;c[b+64>>2]=A+1;if((A|0)<=1e3)if((c[c[b+24>>2]>>2]|0)==4){c[b+68>>2]=13;p=i*i+j*j+k*k;h=0}else{p=i*i+j*j+k*k;h=1}else{p=i*i+j*j+k*k;h=0}}while(0)}while(h);w=E<<24>>24==0?u:0.0;v=(E<<24>>24==0?v:0.0)+w;if(n){E=c[b+24>>2]|0;wc(E)|0;i=+g[E+260>>2];o=+g[E+264>>2];m=+g[E+268>>2];c[T+192>>2]=c[b+4>>2];c[T+192+4>>2]=c[b+4+4>>2];c[T+192+8>>2]=c[b+4+8>>2];c[T+192+12>>2]=c[b+4+12>>2];j=+g[b+4>>2];k=+g[b+8>>2];q=+g[b+12>>2];if(j*j+k*k+q*q<9.999999974752427e-07)c[b+68>>2]=5;if(j*j+k*k+q*q>1.4210854715202004e-14){y=1.0/+D(+(j*j+k*k+q*q));g[T+192>>2]=y*+g[T+192>>2];g[H>>2]=y*+g[H>>2];g[I>>2]=y*+g[I>>2];B=w/+D(+p);p=1.0/y-v;n=1;h=1;i=B*j+i;o=B*k+o;m=B*q+m}else{p=0.0;n=0;h=2}c[b+60>>2]=h}else{p=0.0;n=0;i=0.0;o=0.0;m=0.0}if(((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)?(c[b+68>>2]|0)!=0:0)h=v+p<1.0000000474974513e-03;else h=0;z=n^1;do if(h|z?(F=c[b+20>>2]|0,(F|0)!=0):0){c[6412]=(c[6412]|0)+1;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;if(!(Gb[c[(c[F>>2]|0)+8>>2]&3](F,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,T+128|0,T+64|0,b+4|0,T+48|0,T+32|0,f)|0)){k=+g[b+4>>2];r=+g[b+8>>2];t=+g[b+12>>2];if(!(k*k+r*r+t*t>0.0)){if(n){q=i;break}l=T;return}q=+g[T+32>>2];y=+g[T+48>>2]-q;s=+g[T+32+4>>2];B=+g[T+48+4>>2]-s;u=+g[T+32+8>>2];j=+g[T+48+8>>2]-u;j=+D(+(y*y+B*B+j*j))-v;if(j<p|z){c[T+192>>2]=c[b+4>>2];c[T+192+4>>2]=c[b+4+4>>2];c[T+192+8>>2]=c[b+4+8>>2];c[T+192+12>>2]=c[b+4+12>>2];B=+g[T+192>>2];m=+g[H>>2];o=+g[I>>2];p=1.0/+D(+(B*B+m*m+o*o));g[T+192>>2]=B*p;g[H>>2]=m*p;g[I>>2]=o*p;c[b+60>>2]=6;p=j;q=w*k+q;o=w*r+s;m=w*t+u;break}c[b+60>>2]=5;if(n){q=i;break}l=T;return}q=+g[T+32>>2];k=+g[T+48>>2];y=+g[T+32+4>>2];r=+g[T+48+4>>2];B=+g[T+32+8>>2];s=+g[T+48+8>>2];if(!((q-k)*(q-k)+(y-r)*(y-r)+(B-s)*(B-s)<=1.4210854715202004e-14)){j=(q-k)*(q-k)+(y-r)*(y-r)+(B-s)*(B-s);u=q-k;v=B-s;w=0.0;x=y-r}else{u=+g[b+4>>2];x=+g[b+8>>2];v=+g[b+12>>2];j=u*u+x*x+v*v;w=+g[b+16>>2]}if(!(j>1.4210854715202004e-14)){c[b+60>>2]=9;if(n){q=i;break}l=T;return}t=1.0/+D(+j);j=-+D(+((k-q)*(k-q)+(r-y)*(r-y)+(s-B)*(s-B)));c[b+60>>2]=3;if(p>j|z){g[T+192>>2]=u*t;g[H>>2]=x*t;g[I>>2]=v*t;g[T+192+12>>2]=w;p=j;o=y;m=B;break}c[b+60>>2]=8;if(n)q=i;else{l=T;return}}else G=54;while(0);if((G|0)==54)if(n)q=i;else{l=T;return}if(!(p<0.0)?!(p*p<+g[d+128>>2]):0){l=T;return}c[b+4>>2]=c[T+192>>2];c[b+4+4>>2]=c[T+192+4>>2];c[b+4+8>>2]=c[T+192+8>>2];c[b+4+12>>2]=c[T+192+12>>2];g[b+56>>2]=p;u=+g[T+192>>2];v=+g[H>>2];B=+g[I>>2];j=u*+g[d+4>>2]+v*+g[d+20>>2]+B*+g[d+36>>2];i=u*+g[d+8>>2]+v*+g[d+24>>2]+B*+g[d+40>>2];g[T+48>>2]=+g[d>>2]*u+ +g[d+16>>2]*v+ +g[d+32>>2]*B;g[T+48+4>>2]=j;g[T+48+8>>2]=i;g[T+48+12>>2]=0.0;i=+g[d+68>>2]*-u+ +g[d+84>>2]*-v+ +g[d+100>>2]*-B;j=+g[d+72>>2]*-u+ +g[d+88>>2]*-v+ +g[d+104>>2]*-B;g[T+32>>2]=+g[d+64>>2]*-u+ +g[d+80>>2]*-v+ +g[d+96>>2]*-B;g[T+32+4>>2]=i;g[T+32+8>>2]=j;g[T+32+12>>2]=0.0;Nd(T+16|0,c[b+28>>2]|0,T+48|0);Nd(T,c[b+32>>2]|0,T+32|0);j=+g[T+16>>2];i=+g[T+16+4>>2];B=+g[T+16+8>>2];v=+g[T>>2];u=+g[T+4>>2];t=+g[T+8>>2];y=+g[T+192>>2];x=+g[H>>2];w=+g[I>>2];t=-((j*+g[T+128+16>>2]+i*+g[T+128+20>>2]+B*+g[T+128+24>>2]+ +g[L>>2]-(v*+g[T+64+16>>2]+u*+g[T+64+20>>2]+t*+g[T+64+24>>2]+ +g[N>>2]))*x)-(j*+g[T+128>>2]+i*+g[T+128+4>>2]+B*+g[T+128+8>>2]+ +g[T+128+48>>2]-(v*+g[T+64>>2]+u*+g[T+64+4>>2]+t*+g[T+64+8>>2]+ +g[T+64+48>>2]))*y-(j*+g[T+128+32>>2]+i*+g[T+128+36>>2]+B*+g[T+128+40>>2]+ +g[P>>2]-(v*+g[T+64+32>>2]+u*+g[T+64+36>>2]+t*+g[T+64+40>>2]+ +g[R>>2]))*w;u=+g[d+4>>2]*-y+ +g[d+20>>2]*-x+ +g[d+36>>2]*-w;v=+g[d+8>>2]*-y+ +g[d+24>>2]*-x+ +g[d+40>>2]*-w;g[T+48>>2]=+g[d>>2]*-y+ +g[d+16>>2]*-x+ +g[d+32>>2]*-w;g[T+48+4>>2]=u;g[T+48+8>>2]=v;g[T+48+12>>2]=0.0;v=y*+g[d+68>>2]+x*+g[d+84>>2]+w*+g[d+100>>2];u=y*+g[d+72>>2]+x*+g[d+88>>2]+w*+g[d+104>>2];g[T+32>>2]=+g[d+64>>2]*y+ +g[d+80>>2]*x+ +g[d+96>>2]*w;g[T+32+4>>2]=v;g[T+32+8>>2]=u;g[T+32+12>>2]=0.0;Nd(T+16|0,c[b+28>>2]|0,T+48|0);Nd(T,c[b+32>>2]|0,T+32|0);u=+g[T+16>>2];v=+g[T+16+4>>2];w=+g[T+16+8>>2];x=+g[T>>2];y=+g[T+4>>2];B=+g[T+8>>2];i=+g[T+192>>2];j=+g[H>>2];k=+g[I>>2];if(t>(u*+g[T+128>>2]+v*+g[T+128+4>>2]+w*+g[T+128+8>>2]+ +g[T+128+48>>2]-(x*+g[T+64>>2]+y*+g[T+64+4>>2]+B*+g[T+64+8>>2]+ +g[T+64+48>>2]))*i+(u*+g[T+128+16>>2]+v*+g[T+128+20>>2]+w*+g[T+128+24>>2]+ +g[L>>2]-(x*+g[T+64+16>>2]+y*+g[T+64+20>>2]+B*+g[T+64+24>>2]+ +g[N>>2]))*j+(u*+g[T+128+32>>2]+v*+g[T+128+36>>2]+w*+g[T+128+40>>2]+ +g[P>>2]-(x*+g[T+64+32>>2]+y*+g[T+64+36>>2]+B*+g[T+64+40>>2]+ +g[R>>2]))*k){c[b+60>>2]=10;g[T+192>>2]=-i;g[H>>2]=-j;g[I>>2]=-k}b=c[(c[e>>2]|0)+16>>2]|0;g[T+48>>2]=(J+K)*.5+q;g[T+48+4>>2]=(M+O)*.5+o;g[T+48+8>>2]=(Q+S)*.5+m;g[T+48+12>>2]=0.0;Tb[b&15](e,T+192|0,T+48|0,p);l=T;return}function Ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0;t=l;l=l+208|0;if(xb[c[(c[a>>2]|0)+20>>2]&127](a)|0?(r=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0,(xb[c[(c[r>>2]|0)+56>>2]&127](r)|0)&32768|0):0){r=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Pb[c[(c[r>>2]|0)+64>>2]&7](r,b,.10000000149011612)}f=c[d+4>>2]|0;switch(f|0){case 31:{f=c[d+20>>2]|0;if((f|0)<=0){l=t;return}do{s=f;f=f+-1|0;r=c[d+28>>2]|0;E=+g[r+(f*80|0)>>2];B=+g[r+(f*80|0)+4>>2];y=+g[r+(f*80|0)+8>>2];D=+g[r+(f*80|0)+16>>2];A=+g[r+(f*80|0)+20>>2];w=+g[r+(f*80|0)+24>>2];C=+g[r+(f*80|0)+32>>2];z=+g[r+(f*80|0)+36>>2];u=+g[r+(f*80|0)+40>>2];M=+g[r+(f*80|0)+48>>2];L=+g[r+(f*80|0)+52>>2];k=+g[r+(f*80|0)+56>>2];r=c[r+(f*80|0)+64>>2]|0;q=c[(c[a>>2]|0)+28>>2]|0;K=+g[b>>2];J=+g[b+4>>2];I=+g[b+8>>2];H=+g[b+16>>2];G=+g[b+20>>2];F=+g[b+24>>2];x=+g[b+32>>2];v=+g[b+36>>2];h=+g[b+40>>2];i=M*K+L*J+k*I+ +g[b+48>>2];j=M*H+L*G+k*F+ +g[b+52>>2];k=M*x+L*v+k*h+ +g[b+56>>2];g[t+144>>2]=E*K+D*J+C*I;g[t+144+4>>2]=B*K+A*J+z*I;g[t+144+8>>2]=y*K+w*J+u*I;g[t+144+12>>2]=0.0;g[t+144+16>>2]=E*H+D*G+C*F;g[t+144+20>>2]=B*H+A*G+z*F;g[t+144+24>>2]=y*H+w*G+u*F;g[t+144+28>>2]=0.0;g[t+144+32>>2]=E*x+D*v+C*h;g[t+144+36>>2]=B*x+A*v+z*h;g[t+144+40>>2]=y*x+w*v+u*h;g[t+144+44>>2]=0.0;g[t+144+48>>2]=i;g[t+144+52>>2]=j;g[t+144+56>>2]=k;g[t+144+60>>2]=0.0;Vb[q&127](a,t+144|0,r,e)}while((s|0)>1);l=t;return}case 0:{c[t+144>>2]=c[d+32>>2];c[t+144+4>>2]=c[d+32+4>>2];c[t+144+8>>2]=c[d+32+8>>2];c[t+144+12>>2]=c[d+32+12>>2];K=+nb[c[(c[d>>2]|0)+48>>2]&15](d);L=+nb[c[(c[d>>2]|0)+48>>2]&15](d);M=+nb[c[(c[d>>2]|0)+48>>2]&15](d);K=K+ +g[t+144>>2];g[t+144>>2]=K;L=L+ +g[t+144+4>>2];g[t+144+4>>2]=L;M=M+ +g[t+144+8>>2];g[t+144+8>>2]=M;d=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;a=c[(c[d>>2]|0)+80>>2]|0;g[t+112>>2]=-K;g[t+112+4>>2]=-L;g[t+112+8>>2]=-M;g[t+112+12>>2]=0.0;Zb[a&31](d,t+112|0,t+144|0,b,e);l=t;return}case 8:{M=+nb[c[(c[d>>2]|0)+48>>2]&15](d);d=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Nb[c[(c[d>>2]|0)+24>>2]&0](d,M,b,e);l=t;return}case 9:{f=c[d+96>>2]|0;if((f|0)<=0){l=t;return}do{s=f;f=f+-1|0;r=c[d+104>>2]|0;y=+g[r+(f<<4)>>2];z=+g[r+(f<<4)+4>>2];L=+g[r+(f<<4)+8>>2];r=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;q=c[(c[r>>2]|0)+24>>2]|0;M=+g[(c[d+124>>2]|0)+(f<<2)>>2];B=+g[b>>2];C=+g[b+4>>2];A=+g[b+8>>2];E=+g[b+16>>2];F=+g[b+20>>2];D=+g[b+24>>2];H=+g[b+32>>2];I=+g[b+36>>2];G=+g[b+40>>2];J=y*B+z*C+L*A+ +g[b+48>>2];K=y*E+z*F+L*D+ +g[b+52>>2];L=y*H+z*I+L*G+ +g[b+56>>2];g[t+144>>2]=B+C*0.0+A*0.0;g[t+144+4>>2]=B*0.0+C+A*0.0;g[t+144+8>>2]=A+(B*0.0+C*0.0);g[t+144+12>>2]=0.0;g[t+144+16>>2]=E+F*0.0+D*0.0;g[t+144+20>>2]=E*0.0+F+D*0.0;g[t+144+24>>2]=D+(E*0.0+F*0.0);g[t+144+28>>2]=0.0;g[t+144+32>>2]=H+I*0.0+G*0.0;g[t+144+36>>2]=H*0.0+I+G*0.0;g[t+144+40>>2]=G+(H*0.0+I*0.0);g[t+144+44>>2]=0.0;g[t+144+48>>2]=J;g[t+144+52>>2]=K;g[t+144+56>>2]=L;g[t+144+60>>2]=0.0;Nb[q&0](r,M,t+144|0,e)}while((s|0)>1);l=t;return}case 10:{s=c[d+56>>2]|0;L=+g[d+32+(((s+2|0)%3|0)<<2)>>2];M=+g[d+32+(s<<2)>>2];d=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Lb[c[(c[d>>2]|0)+84>>2]&0](d,L,M,s,b,e);l=t;return}case 11:{L=+g[d+60>>2];M=+g[d+64>>2];d=c[d+72>>2]|0;a=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Lb[c[(c[a>>2]|0)+92>>2]&0](a,L,M,d,b,e);l=t;return}case 13:{s=c[d+56>>2]|0;L=+nb[c[(c[d>>2]|0)+92>>2]&15](d);c[t+128>>2]=c[d+32>>2];c[t+128+4>>2]=c[d+32+4>>2];c[t+128+8>>2]=c[d+32+8>>2];c[t+128+12>>2]=c[d+32+12>>2];J=+nb[c[(c[d>>2]|0)+48>>2]&15](d);K=+nb[c[(c[d>>2]|0)+48>>2]&15](d);M=+nb[c[(c[d>>2]|0)+48>>2]&15](d);g[t+128>>2]=J+ +g[t+128>>2];g[t+128+4>>2]=K+ +g[t+128+4>>2];g[t+128+8>>2]=M+ +g[t+128+8>>2];M=+g[t+128+(s<<2)>>2];d=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Lb[c[(c[d>>2]|0)+88>>2]&0](d,L,M,s,b,e);l=t;return}case 28:{M=+g[d+68>>2];a=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Rb[c[(c[a>>2]|0)+96>>2]&0](a,d+52|0,M,b,e);l=t;return}default:{a:do if((f|0)<7){r=c[d+56>>2]|0;if(!r){if((xb[c[(c[d>>2]|0)+100>>2]&127](d)|0)<=0)break;f=0;while(1){Vb[c[(c[d>>2]|0)+104>>2]&127](d,f,t+144|0,t+112|0);K=+g[t+144>>2];y=+g[b>>2];I=+g[t+144+4>>2];z=+g[b+4>>2];G=+g[t+144+8>>2];A=+g[b+8>>2];C=+g[b+16>>2];D=+g[b+20>>2];E=+g[b+24>>2];H=+g[b+32>>2];J=+g[b+36>>2];L=+g[b+40>>2];B=+g[b+48>>2];F=+g[b+52>>2];M=+g[b+56>>2];g[t+16>>2]=K*y+I*z+G*A+B;g[t+16+4>>2]=K*C+I*D+G*E+F;g[t+16+8>>2]=K*H+I*J+G*L+M;g[t+16+12>>2]=0.0;G=+g[t+112>>2];I=+g[t+112+4>>2];K=+g[t+112+8>>2];g[t>>2]=G*y+I*z+K*A+B;g[t+4>>2]=G*C+I*D+K*E+F;g[t+8>>2]=G*H+I*J+K*L+M;g[t+12>>2]=0.0;s=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Vb[c[(c[s>>2]|0)+16>>2]&127](s,t+16|0,t,e);f=f+1|0;if((f|0)>=(xb[c[(c[d>>2]|0)+100>>2]&127](d)|0))break a}}if((c[r+28>>2]|0)>0){q=0;do{f=c[r+36>>2]|0;p=c[f+(q*36|0)+4>>2]|0;b:do if((p|0)!=0?(s=c[f+(q*36|0)+12>>2]|0,(p|0)>0):0){f=0;n=c[s+(p+-1<<2)>>2]|0;m=s;h=0.0;i=0.0;k=0.0;while(1){o=c[m+(f<<2)>>2]|0;m=c[r+16>>2]|0;h=h+ +g[m+(o<<4)>>2];i=i+ +g[m+(o<<4)+4>>2];k=k+ +g[m+(o<<4)+8>>2];m=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;N=c[(c[m>>2]|0)+16>>2]|0;O=c[r+16>>2]|0;K=+g[O+(n<<4)>>2];y=+g[b>>2];I=+g[O+(n<<4)+4>>2];z=+g[b+4>>2];G=+g[O+(n<<4)+8>>2];A=+g[b+8>>2];C=+g[b+16>>2];D=+g[b+20>>2];E=+g[b+24>>2];H=+g[b+32>>2];J=+g[b+36>>2];L=+g[b+40>>2];B=+g[b+48>>2];F=+g[b+52>>2];M=+g[b+56>>2];g[t+144>>2]=K*y+I*z+G*A+B;g[t+144+4>>2]=K*C+I*D+G*E+F;g[t+144+8>>2]=K*H+I*J+G*L+M;g[t+144+12>>2]=0.0;G=+g[O+(o<<4)>>2];I=+g[O+(o<<4)+4>>2];K=+g[O+(o<<4)+8>>2];g[t+112>>2]=G*y+I*z+K*A+B;g[t+112+4>>2]=G*C+I*D+K*E+F;g[t+112+8>>2]=G*H+I*J+K*L+M;g[t+112+12>>2]=0.0;Vb[N&127](m,t+144|0,t+112|0,e);f=f+1|0;m=c[r+36>>2]|0;if((f|0)>=(c[m+(q*36|0)+4>>2]|0))break b;n=o;m=c[m+(q*36|0)+12>>2]|0}}else{h=0.0;i=0.0;k=0.0}while(0);j=1.0/+(p|0)*h;i=1.0/+(p|0)*i;h=1.0/+(p|0)*k;O=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;if((xb[c[(c[O>>2]|0)+56>>2]&127](O)|0)&16384|0){c[t+144>>2]=1065353216;c[t+144+4>>2]=1065353216;c[t+144+8>>2]=0;g[t+144+12>>2]=0.0;O=c[r+36>>2]|0;G=+g[O+(q*36|0)+20>>2];I=+g[O+(q*36|0)+24>>2];K=+g[O+(q*36|0)+28>>2];O=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;N=c[(c[O>>2]|0)+16>>2]|0;y=+g[b>>2];z=+g[b+4>>2];A=+g[b+8>>2];C=+g[b+16>>2];D=+g[b+20>>2];E=+g[b+24>>2];H=+g[b+32>>2];J=+g[b+36>>2];L=+g[b+40>>2];B=+g[b+48>>2];F=+g[b+52>>2];M=+g[b+56>>2];g[t+112>>2]=j*y+i*z+h*A+B;g[t+112+4>>2]=j*C+i*D+h*E+F;g[t+112+8>>2]=j*H+i*J+h*L+M;g[t+112+12>>2]=0.0;g[t+16>>2]=(j+G)*y+(i+I)*z+(h+K)*A+B;g[t+16+4>>2]=(j+G)*C+(i+I)*D+(h+K)*E+F;g[t+16+8>>2]=(j+G)*H+(i+I)*J+(h+K)*L+M;g[t+16+12>>2]=0.0;Vb[N&127](O,t+112|0,t+16|0,t+144|0)}q=q+1|0}while((q|0)<(c[r+28>>2]|0))}}while(0);f=c[d+4>>2]|0;if((f+-21|0)>>>0<9){c[t+144>>2]=1566444395;c[t+144+4>>2]=1566444395;c[t+144+8>>2]=1566444395;g[t+144+12>>2]=0.0;c[t+112>>2]=-581039253;c[t+112+4>>2]=-581039253;c[t+112+8>>2]=-581039253;g[t+112+12>>2]=0.0;f=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[t+16>>2]=6132;c[t+16+4>>2]=6156;c[t+16+8>>2]=f;c[t+16+12>>2]=c[e>>2];c[t+16+12+4>>2]=c[e+4>>2];c[t+16+12+8>>2]=c[e+8>>2];c[t+16+12+12>>2]=c[e+12>>2];c[t+16+28>>2]=c[b>>2];c[t+16+28+4>>2]=c[b+4>>2];c[t+16+28+8>>2]=c[b+8>>2];c[t+16+28+12>>2]=c[b+12>>2];c[t+16+44>>2]=c[b+16>>2];c[t+16+44+4>>2]=c[b+16+4>>2];c[t+16+44+8>>2]=c[b+16+8>>2];c[t+16+44+12>>2]=c[b+16+12>>2];c[t+16+60>>2]=c[b+32>>2];c[t+16+60+4>>2]=c[b+32+4>>2];c[t+16+60+8>>2]=c[b+32+8>>2];c[t+16+60+12>>2]=c[b+32+12>>2];c[t+16+76>>2]=c[b+48>>2];c[t+16+76+4>>2]=c[b+48+4>>2];c[t+16+76+8>>2]=c[b+48+8>>2];c[t+16+76+12>>2]=c[b+48+12>>2];Vb[c[(c[d>>2]|0)+64>>2]&127](d,t+16|0,t+112|0,t+144|0);f=c[d+4>>2]|0}if((f|0)!=3){l=t;return}c[t+144>>2]=1566444395;c[t+144+4>>2]=1566444395;c[t+144+8>>2]=1566444395;g[t+144+12>>2]=0.0;c[t+112>>2]=-581039253;c[t+112+4>>2]=-581039253;c[t+112+8>>2]=-581039253;g[t+112+12>>2]=0.0;O=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[t+16>>2]=6132;c[t+16+4>>2]=6156;c[t+16+8>>2]=O;c[t+16+12>>2]=c[e>>2];c[t+16+12+4>>2]=c[e+4>>2];c[t+16+12+8>>2]=c[e+8>>2];c[t+16+12+12>>2]=c[e+12>>2];c[t+16+28>>2]=c[b>>2];c[t+16+28+4>>2]=c[b+4>>2];c[t+16+28+8>>2]=c[b+8>>2];c[t+16+28+12>>2]=c[b+12>>2];c[t+16+44>>2]=c[b+16>>2];c[t+16+44+4>>2]=c[b+16+4>>2];c[t+16+44+8>>2]=c[b+16+8>>2];c[t+16+44+12>>2]=c[b+16+12>>2];c[t+16+60>>2]=c[b+32>>2];c[t+16+60+4>>2]=c[b+32+4>>2];c[t+16+60+8>>2]=c[b+32+8>>2];c[t+16+60+12>>2]=c[b+32+12>>2];c[t+16+76>>2]=c[b+48>>2];c[t+16+76+4>>2]=c[b+48+4>>2];c[t+16+76+8>>2]=c[b+48+8>>2];c[t+16+76+12>>2]=c[b+48+12>>2];O=c[d+96>>2]|0;Vb[c[(c[O>>2]|0)+8>>2]&127](O,t+16+4|0,t+112|0,t+144|0);l=t;return}}}function Fc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0;T=l;l=l+144|0;R=c[d+36>>2]|0;o=+g[(+g[R+88>>2]>0.0?b+16|0:b+20|0)>>2];if(a[R+100>>0]&1){l=T;return}P=c[b+8>>2]|0;t=c[P+4>>2]|0;Q=c[P+12>>2]|0;L=c[(c[b+4>>2]|0)+744>>2]|0;N=+g[R+8>>2]-+g[Q+48>>2];q=+g[R+12>>2]-+g[Q+52>>2];O=+g[R+16>>2]-+g[Q+56>>2];F=1.0/+g[L+76>>2];E=(N*+g[Q>>2]+q*+g[Q+16>>2]+O*+g[Q+32>>2])*F/3.0;I=E<0.0?~~(1.0-E):0;M=~~((E+ +(I|0)-+(~~(E+ +(I|0))|0))*3.0);u=(E+ +(I|0)-+(~~(E+ +(I|0))|0))*3.0-+(M|0);I=~~(E+ +(I|0))-I|0;E=F*(N*+g[Q+4>>2]+q*+g[Q+20>>2]+O*+g[Q+36>>2])/3.0;G=E<0.0?~~(1.0-E):0;J=~~((E+ +(G|0)-+(~~(E+ +(G|0))|0))*3.0);n=(E+ +(G|0)-+(~~(E+ +(G|0))|0))*3.0-+(J|0);G=~~(E+ +(G|0))-G|0;O=F*(N*+g[Q+8>>2]+q*+g[Q+24>>2]+O*+g[Q+40>>2])/3.0;H=O<0.0?~~(1.0-O):0;K=~~((O+ +(H|0)-+(~~(O+ +(H|0))|0))*3.0);q=(O+ +(H|0)-+(~~(O+ +(H|0))|0))*3.0-+(K|0);H=~~(O+ +(H|0))-H|0;p=(I>>>16<<11^(I&65535)+16^(I&65535)+16<<16)+(G&65535)+((I>>>16<<11^(I&65535)+16^(I&65535)+16<<16)>>>11)|0;p=(p^G>>>16<<11^p<<16)+(H&65535)+((p^G>>>16<<11^p<<16)>>>11)|0;p=(p^H>>>16<<11^p<<16)+(t&65535)+((p^H>>>16<<11^p<<16)>>>11)|0;p=((p^t>>>16<<11^p<<16)>>>11)+(p^t>>>16<<11^p<<16)|0;p=((p<<3^p)>>>5)+(p<<3^p)<<4^((p<<3^p)>>>5)+(p<<3^p);p=(((p>>>17)+p<<25^(p>>>17)+p)>>>6)+((p>>>17)+p<<25^(p>>>17)+p)|0;r=c[L+60>>2]|0;s=c[L+68>>2]|0;d=c[s+(((p>>>0)%(r>>>0)|0)<<2)>>2]|0;c[L+96>>2]=(c[L+96>>2]|0)+1;e=(c[L+92>>2]|0)+1|0;c[L+92>>2]=e;a:do if(!d)f=9;else while(1){if(((((c[d+272>>2]|0)==(p|0)?(c[d+256>>2]|0)==(I|0):0)?(c[d+260>>2]|0)==(G|0):0)?(c[d+264>>2]|0)==(H|0):0)?(c[d+276>>2]|0)==(t|0):0)break a;d=c[d+280>>2]|0;e=e+1|0;c[L+92>>2]=e;if(!d){f=9;break}}while(0);b:do if((f|0)==9){f=c[L+84>>2]|0;c[L+84>>2]=f+1;if((f|0)>=(c[L+88>>2]|0)){c[5760]=(c[5760]|0)+1;c:do if((r|0)>0){d=0;e=s;while(1){f=e+(d<<2)|0;e=c[f>>2]|0;c[f>>2]=0;if(e|0)do{f=e;e=c[e+280>>2]|0;cJ(f)}while((e|0)!=0);d=d+1|0;if((d|0)==(r|0))break c;e=c[L+68>>2]|0}}while(0);g[L+76>>2]=.25;c[L+80>>2]=0;c[L+84>>2]=0;c[L+92>>2]=1;c[L+96>>2]=1}d=Ds(284)|0;Yk(d|0,0,284)|0;c[d+280>>2]=c[s+(((p>>>0)%(r>>>0)|0)<<2)>>2];c[s+(((p>>>0)%(r>>>0)|0)<<2)>>2]=d;c[d+276>>2]=t;c[d+272>>2]=p;c[d+256>>2]=I;c[d+260>>2]=G;c[d+264>>2]=H;k=+g[L+76>>2];r=T+72+4|0;s=T+72+24|0;t=T+72+44|0;e=0;h=k;while(1){j=k*+(H|0)*3.0+ +(e|0)*h;f=0;while(1){i=k*+(G|0)*3.0+ +(f|0)*h;g[T>>2]=+(I|0)*3.0*k+h*0.0;g[T+4>>2]=i;g[T+8>>2]=j;g[T+12>>2]=0.0;p=c[d+276>>2]|0;c[T+72>>2]=1065353216;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[T+72+20>>2]=1065353216;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[T+72+40>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;if((c[p+4>>2]|0)<20)h=+Yc(T,p,T+72|0,T+16|0);else h=0.0;g[d+(f<<4)+(e<<2)>>2]=h;g[T>>2]=+(I|0)*3.0*k+ +g[L+76>>2];g[T+4>>2]=i;g[T+8>>2]=j;g[T+12>>2]=0.0;p=c[d+276>>2]|0;c[T+72>>2]=1065353216;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[T+72+20>>2]=1065353216;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[T+72+40>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;if((c[p+4>>2]|0)<20)h=+Yc(T,p,T+72|0,T+16|0);else h=0.0;g[d+64+(f<<4)+(e<<2)>>2]=h;g[T>>2]=+(I|0)*3.0*k+ +g[L+76>>2]*2.0;g[T+4>>2]=i;g[T+8>>2]=j;g[T+12>>2]=0.0;p=c[d+276>>2]|0;c[T+72>>2]=1065353216;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[T+72+20>>2]=1065353216;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[T+72+40>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;if((c[p+4>>2]|0)<20)h=+Yc(T,p,T+72|0,T+16|0);else h=0.0;g[d+128+(f<<4)+(e<<2)>>2]=h;g[T>>2]=+(I|0)*3.0*k+ +g[L+76>>2]*3.0;g[T+4>>2]=i;g[T+8>>2]=j;g[T+12>>2]=0.0;p=c[d+276>>2]|0;c[T+72>>2]=1065353216;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[T+72+20>>2]=1065353216;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[T+72+40>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;if((c[p+4>>2]|0)<20)h=+Yc(T,p,T+72|0,T+16|0);else h=0.0;g[d+192+(f<<4)+(e<<2)>>2]=h;f=f+1|0;if((f|0)==4)break;h=+g[L+76>>2]}e=e+1|0;if((e|0)==4)break b;h=+g[L+76>>2]}}while(0);c[d+268>>2]=c[L+80>>2];h=+g[d+(M<<6)+(J<<4)+(K<<2)>>2];C=+g[d+(M+1<<6)+(J<<4)+(K<<2)>>2];A=+g[d+(M+1<<6)+(J+1<<4)+(K<<2)>>2];B=+g[d+(M<<6)+(J+1<<4)+(K<<2)>>2];O=+g[d+(M<<6)+(J<<4)+(K+1<<2)>>2];N=+g[d+(M+1<<6)+(J<<4)+(K+1<<2)>>2];E=+g[d+(M+1<<6)+(J+1<<4)+(K+1<<2)>>2];F=+g[d+(M<<6)+(J+1<<4)+(K+1<<2)>>2];i=C-h+n*(A-B-(C-h))+q*(N-O+n*(E-F-(N-O))-(C-h+n*(A-B-(C-h))));j=B-h+u*(A-C-(B-h))+q*(F-O+u*(E-N-(F-O))-(B-h+u*(A-C-(B-h))));k=O-h+u*(N-C-(O-h))+n*(F-B+u*(E-A-(F-B))-(O-h+u*(N-C-(O-h))));m=1.0/+D(+(i*i+j*j+k*k));h=h+u*(C-h)+n*(B+u*(A-B)-(h+u*(C-h)));h=h+q*(O+u*(N-O)+n*(F+u*(E-F)-(O+u*(N-O)))-h)-o;if(!(h<0.0)){l=T;return}s=c[P+8>>2]|0;N=+g[Q>>2]*i*m+ +g[Q+4>>2]*j*m+ +g[Q+8>>2]*k*m;O=i*m*+g[Q+16>>2]+j*m*+g[Q+20>>2]+k*m*+g[Q+24>>2];F=i*m*+g[Q+32>>2]+j*m*+g[Q+36>>2]+k*m*+g[Q+40>>2];E=-(N*(+g[R+8>>2]-h*N)+O*(+g[R+12>>2]-h*O)+F*(+g[R+16>>2]-h*F));z=+g[R+88>>2];d=c[b+12>>2]|0;if(!d)q=0.0;else q=+g[d+404>>2];if(!(z+q>0.0)){l=T;return}if(!d)d=c[(c[b+8>>2]|0)+8>>2]|0;if((a[22464]|0)==0?Uz(22464)|0:0){e=23044;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0))}e=c[b+12>>2]|0;m=+g[R+8>>2];B=m-+g[d+52>>2];n=+g[R+12>>2];C=n-+g[d+56>>2];o=+g[R+16>>2];A=o-+g[d+60>>2];if(!e){Q=c[b+4>>2]|0;h=0.0;i=0.0;j=0.0;d=Q;k=+g[Q+512>>2]}else{j=+g[e+392>>2];i=+g[e+396>>2];y=+g[e+388>>2];d=c[b+4>>2]|0;k=+g[d+512>>2];h=(j*A-i*C+ +g[e+372>>2])*k;i=(+g[e+376>>2]+(i*B-A*y))*k;j=(C*y-j*B+ +g[e+380>>2])*k}W=m-+g[R+24>>2]-h;V=n-+g[R+28>>2]-i;U=o-+g[R+32>>2]-j;i=+g[d+376>>2]*+g[(c[(c[b+8>>2]|0)+8>>2]|0)+228>>2];y=1.0/k;Uh(T+72|0,q,(e|0)==0?23044:e+324|0,B,C,A);j=z+ +g[T+72>>2];k=+g[T+72+4>>2]+0.0;m=+g[T+72+8>>2]+0.0;n=+g[T+72+16>>2]+0.0;o=z+ +g[T+72+20>>2];q=+g[T+72+24>>2]+0.0;u=+g[T+72+32>>2]+0.0;v=+g[T+72+36>>2]+0.0;w=z+ +g[T+72+40>>2];x=1.0/(m*(n*v-o*u)+(j*(o*w-q*v)+k*(q*u-n*w)));r=c[b+4>>2]|0;h=z*+g[r+512>>2];i=(U-F*(W*N+V*O+U*F))*(U-F*(W*N+V*O+U*F))+((W-N*(W*N+V*O+U*F))*(W-N*(W*N+V*O+U*F))+(V-O*(W*N+V*O+U*F))*(V-O*(W*N+V*O+U*F)))<i*(W*N+V*O+U*F)*(W*N+V*O+U*F)*i?0.0:1.0-i;p=c[(c[(c[(c[b+8>>2]|0)+8>>2]|0)+204>>2]&3|0?r+388|0:r+384|0)>>2]|0;d=c[r+872>>2]|0;if((d|0)==(c[r+876>>2]|0)?(S=d|0?d<<1:1,(d|0)<(S|0)):0){if(!S)f=0;else{c[6995]=(c[6995]|0)+1;d=sc((S*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[r+872>>2]|0}if((d|0)>0){e=0;do{Q=f+(e*104|0)|0;P=c[r+880>>2]|0;M=P+(e*104|0)|0;c[Q>>2]=c[M>>2];c[Q+4>>2]=c[M+4>>2];c[Q+8>>2]=c[M+8>>2];c[Q+12>>2]=c[M+12>>2];c[Q+16>>2]=c[M+16>>2];c[Q+20>>2]=c[M+20>>2];c[Q+24>>2]=c[M+24>>2];Q=f+(e*104|0)+28|0;M=P+(e*104|0)+28|0;c[Q>>2]=c[M>>2];c[Q+4>>2]=c[M+4>>2];c[Q+8>>2]=c[M+8>>2];c[Q+12>>2]=c[M+12>>2];Q=P+(e*104|0)+44|0;M=f+(e*104|0)+44|0;c[M>>2]=c[Q>>2];c[M+4>>2]=c[Q+4>>2];c[M+8>>2]=c[Q+8>>2];c[M+12>>2]=c[Q+12>>2];M=P+(e*104|0)+60|0;Q=f+(e*104|0)+60|0;c[Q>>2]=c[M>>2];c[Q+4>>2]=c[M+4>>2];c[Q+8>>2]=c[M+8>>2];c[Q+12>>2]=c[M+12>>2];Q=f+(e*104|0)+76|0;P=P+(e*104|0)+76|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];c[Q+16>>2]=c[P+16>>2];c[Q+20>>2]=c[P+20>>2];c[Q+24>>2]=c[P+24>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[r+880>>2]|0;if(d|0){if(a[r+884>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[r+880>>2]=0}a[r+884>>0]=1;c[r+880>>2]=f;c[r+876>>2]=S;d=c[r+872>>2]|0}Q=c[r+880>>2]|0;c[Q+(d*104|0)>>2]=s;g[Q+(d*104|0)+4>>2]=N;g[Q+(d*104|0)+8>>2]=O;g[Q+(d*104|0)+12>>2]=F;g[Q+(d*104|0)+16>>2]=0.0;g[Q+(d*104|0)+20>>2]=E;c[Q+(d*104|0)+24>>2]=R;g[Q+(d*104|0)+28>>2]=(n*v-o*u)*x*0.0+(y*(o*w-q*v)*x+(q*u-n*w)*x*0.0);g[Q+(d*104|0)+32>>2]=(k*u-j*v)*x*0.0+(y*(m*v-k*w)*x+(j*w-m*u)*x*0.0);g[Q+(d*104|0)+36>>2]=(j*o-k*n)*x*0.0+(y*(k*q-m*o)*x+(m*n-j*q)*x*0.0);g[Q+(d*104|0)+40>>2]=0.0;g[Q+(d*104|0)+44>>2]=(n*v-o*u)*x*0.0+((o*w-q*v)*x*0.0+y*(q*u-n*w)*x);g[Q+(d*104|0)+48>>2]=(k*u-j*v)*x*0.0+((m*v-k*w)*x*0.0+y*(j*w-m*u)*x);g[Q+(d*104|0)+52>>2]=(j*o-k*n)*x*0.0+((k*q-m*o)*x*0.0+y*(m*n-j*q)*x);g[Q+(d*104|0)+56>>2]=0.0;g[Q+(d*104|0)+60>>2]=y*(n*v-o*u)*x+((o*w-q*v)*x*0.0+(q*u-n*w)*x*0.0);g[Q+(d*104|0)+64>>2]=y*(k*u-j*v)*x+((m*v-k*w)*x*0.0+(j*w-m*u)*x*0.0);g[Q+(d*104|0)+68>>2]=y*(j*o-k*n)*x+((k*q-m*o)*x*0.0+(m*n-j*q)*x*0.0);g[Q+(d*104|0)+72>>2]=0.0;S=Q+(d*104|0)+76|0;g[S>>2]=B;g[Q+(d*104|0)+80>>2]=C;g[Q+(d*104|0)+84>>2]=A;g[Q+(d*104|0)+88>>2]=0.0;g[S+16>>2]=h;g[S+20>>2]=i;c[S+24>>2]=p;c[r+872>>2]=(c[r+872>>2]|0)+1;d=c[b+12>>2]|0;if(!d){l=T;return}if(c[d+204>>2]&3|0){l=T;return}if((c[d+220>>2]&-2|0)!=4)c[d+220>>2]=1;g[d+224>>2]=0.0;l=T;return}
function Ki(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=9184;if(a[b+152>>0]|0?(d=c[b+96>>2]|0,Ib[c[c[d>>2]>>2]&511](d),d=c[b+96>>2]|0,d|0):0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}f=c[b+160>>2]|0;if((f|0)>0){d=0;do{g=c[b+168>>2]|0;h=g+(d*20|0)+4|0;i=g+(d*20|0)+12|0;j=c[i>>2]|0;e=g+(d*20|0)+16|0;if(j|0){if(a[e>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[i>>2]=0}a[e>>0]=1;c[i>>2]=0;c[h>>2]=0;c[g+(d*20|0)+8>>2]=0;d=d+1|0}while((d|0)!=(f|0))}d=c[b+168>>2]|0;if(!d){a[b+172>>0]=1;c[b+168>>2]=0;c[b+160>>2]=0;j=b+164|0;c[j>>2]=0;j=b+4|0;b=b+44|0;Bl(b);Bl(j);return}if(a[b+172>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+168>>2]=0;a[b+172>>0]=1;c[b+168>>2]=0;c[b+160>>2]=0;j=b+164|0;c[j>>2]=0;j=b+4|0;b=b+44|0;Bl(b);Bl(j);return}function Li(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=9068;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b+68>>2]=0;c[6995]=(c[6995]|0)+1;d=sc(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){d=0;do{g=c[b+16>>2]|0;c[f+(d<<4)>>2]=c[g+(d<<4)>>2];c[f+(d<<4)+4>>2]=c[g+(d<<4)+4>>2];c[f+(d<<4)+8>>2]=c[g+(d<<4)+8>>2];c[f+(d<<4)+12>>2]=c[g+(d<<4)+12>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Kf(b);return}if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Kf(b);return}function Mi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[d>>2]|0;d=c[b+328>>2]|0;a:do if((d|0)>0){f=c[b+336>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(g|0))break;e=e+1|0;if((e|0)>=(d|0))break a}if((e|0)!=(d|0))return}while(0);if((d|0)==(c[b+332>>2]|0)?(h=d|0?d<<1:1,(d|0)<(h|0)):0){if(!h)f=0;else{c[6995]=(c[6995]|0)+1;d=sc((h<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[b+328>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[b+336>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+336>>2]|0;if(e){if(a[b+340>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0);d=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=f;c[b+332>>2]=h}c[(c[b+336>>2]|0)+(d<<2)>>2]=g;c[b+328>>2]=d+1;return}function Ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;while(1){m=c[a+12>>2]|0;n=c[m+(((b+d|0)/2|0)<<2)>>2]|0;f=b;e=d;while(1){l=c[n+28>>2]|0;l=c[((c[l+208>>2]|0)>-1?l:c[n+32>>2]|0)+208>>2]|0;while(1){h=m+(f<<2)|0;i=c[h>>2]|0;k=c[i+28>>2]|0;j=f+1|0;if((c[((c[k+208>>2]|0)>-1?k:c[i+32>>2]|0)+208>>2]|0)<(l|0))f=j;else break}while(1){g=c[m+(e<<2)>>2]|0;o=c[g+28>>2]|0;k=e+-1|0;if((l|0)<(c[((c[o+208>>2]|0)>-1?o:c[g+32>>2]|0)+208>>2]|0))e=k;else break}if((f|0)<=(e|0)){c[h>>2]=g;c[(c[a+12>>2]|0)+(e<<2)>>2]=i;f=j;e=k}if((f|0)>(e|0))break;m=c[a+12>>2]|0}if((e|0)>(b|0))Ni(a,b,e);if((f|0)<(d|0))b=f;else break}return}function Oi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(qD(b,c[d+8>>2]|0)|0)){if(!(qD(b,c[d>>2]|0)|0)){h=c[b+8>>2]|0;Zb[c[(c[h>>2]|0)+24>>2]&31](h,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;a[d+52>>0]=0;a[d+53>>0]=0;f=c[b+8>>2]|0;$b[c[(c[f>>2]|0)+20>>2]&7](f,d,e,e,1,g);if(a[d+53>>0]|0)if(!(a[d+52>>0]|0)){b=3;h=11}else b=3;else{b=4;h=11}if((h|0)==11){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1}c[d+44>>2]=b;break}if((f|0)==1)c[d+32>>2]=1}else qs(d,e,f);while(0);return}function Pi(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,i=0,k=0.0,m=0.0,n=0.0;i=l;l=l+16|0;c[i>>2]=c[a+32>>2];c[i+4>>2]=c[a+32+4>>2];c[i+8>>2]=c[a+32+8>>2];c[i+12>>2]=c[a+32+12>>2];n=+nb[c[(c[a>>2]|0)+48>>2]&15](a);m=+nb[c[(c[a>>2]|0)+48>>2]&15](a);k=+nb[c[(c[a>>2]|0)+48>>2]&15](a);g[i>>2]=n+ +g[i>>2];g[i+4>>2]=m+ +g[i+4>>2];g[i+8>>2]=k+ +g[i+8>>2];f=c[a+56>>2]|0;switch(f|0){case 0:{a=0;e=1;break}case 2:{a=2;e=0;break}default:{a=1;e=0}}n=+g[i+(e<<2)>>2];m=+g[i+(a<<2)>>2];h=(g[j>>2]=b*.25*n*n+b/12.0*m*m*4.0,c[j>>2]|0);a=(g[j>>2]=b*.5*n*n,c[j>>2]|0);switch(f|0){case 0:{e=h;f=h;break}case 2:{e=a;f=h;a=h;break}default:{e=h;f=a;a=h}}c[d>>2]=a;c[d+4>>2]=f;c[d+8>>2]=e;g[d+12>>2]=0.0;l=i;return}function Qi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c[a>>2]=4060;if((c[a+104>>2]|0)<=0){a=a+60|0;gj(a);kj(a);return}k=0;do{j=c[(c[a+4>>2]|0)+744>>2]|0;h=(c[a+112>>2]|0)+(k<<3)+4|0;b=c[h>>2]|0;if((c[j+60>>2]|0)>0){g=0;do{i=(c[j+68>>2]|0)+(g<<2)|0;d=c[i>>2]|0;a:do if(d|0){e=0;do{f=e|0?e+280|0:i;e=d;while(1){d=c[e+280>>2]|0;if((c[e+276>>2]|0)!=(b|0))break;c[f>>2]=d;cJ(e);if(!d)break a;else e=d}}while((d|0)!=0)}while(0);g=g+1|0}while((g|0)<(c[j+60>>2]|0));b=c[h>>2]|0}if(b|0)Ib[c[(c[b>>2]|0)+4>>2]&511](b);k=k+1|0}while((k|0)<(c[a+104>>2]|0));a=a+60|0;gj(a);kj(a);return}function Ri(b){b=b|0;var d=0,e=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+64>>2]|0;if(d|0)do{c[b+64>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);d=c[b+64>>2]|0}while((d|0)!=0);d=c[b+48>>2]|0;if(d|0)do{c[b+48>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);d=c[b+48>>2]|0}while((d|0)!=0);d=c[b+32>>2]|0;if(!d)return;do{c[b+32>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);d=c[b+32>>2]|0}while((d|0)!=0);return}function Si(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[d>>2]|0;i=zb[c[(c[i>>2]|0)+56>>2]&31](i,28)|0;j=(a[b+4>>0]|0)==0;h=c[b+8>>2]|0;g=c[b+12>>2]|0;b=c[d>>2]|0;c[i+4>>2]=b;c[i>>2]=5792;a[i+8>>0]=0;c[i+12>>2]=0;if(j){a[i+16>>0]=0;c[i+20>>2]=h;c[i+24>>2]=g;if(!(Bb[c[(c[b>>2]|0)+24>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=Bb[c[(c[j>>2]|0)+12>>2]&63](j,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[i+8>>0]=1;return i|0}else{a[i+16>>0]=1;c[i+20>>2]=h;c[i+24>>2]=g;if(!(Bb[c[(c[b>>2]|0)+24>>2]&63](b,c[f+8>>2]|0,c[e+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=Bb[c[(c[j>>2]|0)+12>>2]&63](j,c[f+8>>2]|0,c[e+8>>2]|0)|0;a[i+8>>0]=1;return i|0}return 0}function Ti(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;if(qD(b,c[d+8>>2]|0)|0)ml(d,e,f,g);else{j=a[d+52>>0]|0;k=a[d+53>>0]|0;l=c[b+12>>2]|0;a[d+52>>0]=0;a[d+53>>0]=0;ao(b+16|0,d,e,f,g,h);a:do if((l|0)>1){i=b+24|0;do{if(a[d+54>>0]|0)break a;if(!(a[d+52>>0]|0)){if(a[d+53>>0]|0?(c[b+8>>2]&1|0)==0:0)break a}else{if((c[d+24>>2]|0)==1)break a;if(!(c[b+8>>2]&2))break a}a[d+52>>0]=0;a[d+53>>0]=0;ao(i,d,e,f,g,h);i=i+8|0}while(i>>>0<(b+16+(l<<3)|0)>>>0)}while(0);a[d+52>>0]=j;a[d+53>>0]=k}return}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(c[b>>2]|0)+1794895138|0;f=mB(c[b+8>>2]|0,n)|0;k=mB(c[b+12>>2]|0,n)|0;m=mB(c[b+16>>2]|0,n)|0;a:do if((f>>>0<d>>>2>>>0?k>>>0<(d-(f<<2)|0)>>>0&m>>>0<(d-(f<<2)|0)>>>0:0)?((m|k)&3|0)==0:0){j=0;while(1){i=f>>>1;l=j+i|0;g=mB(c[b+((l<<1)+(k>>>2)<<2)>>2]|0,n)|0;h=mB(c[b+((l<<1)+(k>>>2)+1<<2)>>2]|0,n)|0;if(!(h>>>0<d>>>0&g>>>0<(d-h|0)>>>0)){f=0;break a}if(a[b+(h+g)>>0]|0){f=0;break a}g=Vo(e,b+h|0)|0;if(!g)break;if((f|0)==1){f=0;break a}else{j=(g|0)<0?j:l;f=(g|0)<0?i:f-i|0}}g=mB(c[b+((l<<1)+(m>>>2)<<2)>>2]|0,n)|0;f=mB(c[b+((l<<1)+(m>>>2)+1<<2)>>2]|0,n)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Vi(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0,m=0;f=l;l=l+48|0;if((c[b+128>>2]|0)<=0){l=f;return}e=0;do{m=c[b+136>>2]|0;c[f+32>>2]=(a[m+(e*284|0)+84>>0]|0)==0?1065353216:0;c[f+32+4>>2]=0;c[f+32+8>>2]=1065353216;g[f+32+12>>2]=0.0;k=m+(e*284|0)+140|0;c[f+16>>2]=c[k>>2];c[f+16+4>>2]=c[k+4>>2];c[f+16+8>>2]=c[k+8>>2];c[f+16+12>>2]=c[k+12>>2];k=c[b+112>>2]|0;h=c[(c[d>>2]|0)+16>>2]|0;j=+g[m+(e*284|0)+108+(k<<2)>>2]+ +g[f+16+4>>2];i=+g[m+(e*284|0)+124+(k<<2)>>2]+ +g[f+16+8>>2];g[f>>2]=+g[m+(e*284|0)+92+(k<<2)>>2]+ +g[f+16>>2];g[f+4>>2]=j;g[f+8>>2]=i;g[f+12>>2]=0.0;Vb[h&127](d,f+16|0,f,f+32|0);Vb[c[(c[d>>2]|0)+16>>2]&127](d,f+16|0,(c[b+136>>2]|0)+(e*284|0)+16|0,f+32|0);e=e+1|0}while((e|0)<(c[b+128>>2]|0));l=f;return}function Wi(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:{if((e|0)<1){g[a+232>>2]=d;c[a+300>>2]=c[a+300>>2]|512;return}if((e|0)<3){g[a+264>>2]=d;c[a+300>>2]=c[a+300>>2]|32;return}if((e|0)==3){g[a+248>>2]=d;c[a+300>>2]=c[a+300>>2]|2048;return}if((e|0)>=6)return;g[a+280>>2]=d;c[a+300>>2]=c[a+300>>2]|128;return}case 3:{if((e|0)<1){g[a+212>>2]=d;c[a+300>>2]=c[a+300>>2]|1;return}if((e|0)!=3)return;g[a+228>>2]=d;c[a+300>>2]=c[a+300>>2]|4;return}case 4:{if((e|0)<1){g[a+244>>2]=d;c[a+300>>2]=c[a+300>>2]|256;return}if((e|0)<3){g[a+276>>2]=d;c[a+300>>2]=c[a+300>>2]|16;return}if((e|0)==3){g[a+260>>2]=d;c[a+300>>2]=c[a+300>>2]|1024;return}if((e|0)>=6)return;g[a+292>>2]=d;c[a+300>>2]=c[a+300>>2]|64;return}default:return}}function Xi(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;k=e+32+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;Vb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);i=(+g[e>>2]-+g[e+16>>2])*.5;h=(+g[e+4>>2]-+g[e+16+4>>2])*.5;j=(+g[e+8>>2]-+g[e+16+8>>2])*.5;f=+nb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b*.0833333283662796*((h+f)*2.0*(h+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+4>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+8>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(h+f)*2.0*(h+f)*2.0);g[d+12>>2]=0.0;l=e;return}function Yi(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0;l=c[b+780>>2]|0;a:do if(h?(k=c[b+792>>2]|0,(k|0)>0):0){i=c[b+800>>2]|0;h=0;while(1){j=c[i+(h*52|0)+24>>2]|0;if((j|0)==(l+(d*104|0)|0)?(c[i+(h*52|0)+28>>2]|0)==(l+(e*104|0)|0):0){h=10;break}if((j|0)==(l+(e*104|0)|0)?(c[i+(h*52|0)+28>>2]|0)==(l+(d*104|0)|0):0){h=10;break}h=h+1|0;if((h|0)>=(k|0))break a}if((h|0)==10)return}while(0);Xh(b,f);f=(c[b+792>>2]|0)+-1|0;k=c[b+800>>2]|0;c[k+(f*52|0)+24>>2]=l+(d*104|0);c[k+(f*52|0)+28>>2]=l+(e*104|0);o=+g[l+(d*104|0)+8>>2]-+g[l+(e*104|0)+8>>2];n=+g[l+(d*104|0)+12>>2]-+g[l+(e*104|0)+12>>2];m=+g[l+(d*104|0)+16>>2]-+g[l+(e*104|0)+16>>2];g[k+(f*52|0)+32>>2]=+D(+(o*o+n*n+m*m));a[b+984>>0]=1;return}function Zi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;h=+g[b+52>>2];i=+g[b+56>>2];f=+g[b+60>>2];if(!(a[b+84>>0]|0)){c[b+32>>2]=c[b+204>>2];g[b>>2]=-h;g[b+4>>2]=-i;g[b+8>>2]=-f;g[b+12>>2]=0.0;h=0.0;i=1.0;d=b+272|0;g[d>>2]=h;d=b+268|0;g[d>>2]=i;return}else{m=+g[b>>2];l=+g[b+4>>2];k=+g[b+8>>2];n=+g[b+16>>2]-+g[d+52>>2];p=+g[b+20>>2]-+g[d+56>>2];q=+g[b+24>>2]-+g[d+60>>2];j=+g[d+392>>2];r=+g[d+396>>2];o=+g[d+388>>2];j=!(m*h+l*i+k*f>=-.10000000149011612)?-1.0/(m*h+l*i+k*f)*(m*(j*q-p*r+ +g[d+372>>2])+l*(+g[d+376>>2]+(n*r-q*o))+k*(p*o-n*j+ +g[d+380>>2])):0.0;i=!(m*h+l*i+k*f>=-.10000000149011612)?-1.0/(m*h+l*i+k*f):10.0;d=b+272|0;g[d>>2]=j;d=b+268|0;g[d>>2]=i;return}}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0;e=l;l=l+96|0;j=+g[c>>2];k=+g[c+4>>2];m=+g[c+8>>2];Qq(e+80|0,j,k,m,+Iy(j,k,m,+g[b>>2],+g[b+4>>2],+g[b+8>>2]));m=+g[e+80>>2];k=+g[e+80+4>>2];j=+g[e+80+8>>2];kq(e+64|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],m,k,j);Ap(e+48|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]);i=+g[e+48>>2];h=+g[e+48+4>>2];f=+g[e+48+8>>2];n=+XI(d);Qq(e+16|0,+g[e+64>>2],+g[e+64+4>>2],+g[e+64+8>>2],n);iq(e+32|0,m,k,j,+g[e+16>>2],+g[e+16+4>>2],+g[e+16+8>>2]);Qq(e,i,h,f,+WI(d));iq(a,+g[e+32>>2],+g[e+32+4>>2],+g[e+32+8>>2],+g[e>>2],+g[e+4>>2],+g[e+8>>2]);l=e;return}function $i(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+228>>2]|0;if((f|0)==(c[b+232>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6995]=(c[6995]|0)+1;f=sc((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+228>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+236>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+236>>2]|0;if(g){if(a[b+240>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0);f=c[b+228>>2]|0}c[b+236>>2]=0}a[b+240>>0]=1;c[b+236>>2]=h;c[b+232>>2]=i}c[(c[b+236>>2]|0)+(f<<2)>>2]=d;c[b+228>>2]=f+1;if(!e)return;ff(c[d+28>>2]|0,d);ff(c[d+32>>2]|0,d);return}function aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=c[a+4>>2]|0;if(e|0)ll(e,b,d);a=c[a>>2]|0;if(!a)return;m=+g[b>>2];k=+g[a+128>>2];l=+g[b+4>>2];j=+g[b+8>>2];f=+g[d+4>>2];o=+g[d+8>>2];n=+g[d>>2];i=+g[a+180>>2]*(j*f-l*o)+ +g[a+184>>2]*(m*o-j*n)+(l*n-m*f)*+g[a+188>>2];h=(j*f-l*o)*+g[a+196>>2]+(m*o-j*n)*+g[a+200>>2]+(l*n-m*f)*+g[a+204>>2];f=(j*f-l*o)*+g[a+212>>2]+(m*o-j*n)*+g[a+216>>2]+(l*n-m*f)*+g[a+220>>2];g[a+276>>2]=m*k+ +g[a+276>>2];g[a+280>>2]=k*l+ +g[a+280>>2];g[a+284>>2]=k*j+ +g[a+284>>2];g[a+292>>2]=i+ +g[a+292>>2];g[a+296>>2]=h+ +g[a+296>>2];g[a+300>>2]=f+ +g[a+300>>2];c[a+312>>2]=(c[a+312>>2]|0)+1;return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;v=+g[a+552>>2];u=+g[a+568>>2];t=+g[a+584>>2];s=+g[b>>2];r=+g[b+4>>2];q=+g[b+8>>2];o=+g[b+16>>2];n=+g[b+20>>2];m=+g[b+24>>2];k=+g[b+32>>2];i=+g[b+36>>2];f=+g[b+40>>2];j=+g[a+556>>2];h=+g[a+572>>2];e=+g[a+588>>2];x=+g[a+620>>2];w=+g[a+636>>2];d=+g[a+652>>2];p=x*+g[c>>2]+w*+g[c+4>>2]+d*+g[c+8>>2];l=x*+g[c+16>>2]+w*+g[c+20>>2]+d*+g[c+24>>2];d=x*+g[c+32>>2]+w*+g[c+36>>2]+d*+g[c+40>>2];d=+L(+((v*s+u*r+t*q)*p+(v*o+u*n+t*m)*l+(v*k+u*i+t*f)*d),+((s*j+r*h+q*e)*p+(o*j+n*h+m*e)*l+(k*j+i*h+f*e)*d));return +(d*+g[a+732>>2])}function cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=6576;d=c[b+84>>2]|0;g=c[d+8>>2]|0;if((g|0)>0){e=0;do{f=c[(c[d+16>>2]|0)+(e*12|0)+8>>2]|0;if(f|0){Ib[c[c[f>>2]>>2]&511](f);h=c[b+4>>2]|0;Ob[c[(c[h>>2]|0)+60>>2]&127](h,f)}e=e+1|0}while((e|0)!=(g|0));d=c[b+84>>2]|0}Rh(d);d=c[b+84>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+84>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+100>>2]|0;if(!d){a[b+104>>0]=1;c[b+100>>2]=0;c[b+92>>2]=0;h=b+96|0;c[h>>2]=0;Gi(b);return}if(a[b+104>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+100>>2]=0;a[b+104>>0]=1;c[b+100>>2]=0;c[b+92>>2]=0;h=b+96|0;c[h>>2]=0;Gi(b);return}function dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+8>>2]|0;if((d|0)>0){f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+252>>2]&2){g=xb[c[(c[e>>2]|0)+16>>2]&127](e)|0;g=Bb[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=Bb[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;Zb[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645650,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0))}if((c[a+228>>2]|0)<=0)return;d=0;do{g=c[(c[a+236>>2]|0)+(d<<2)>>2]|0;e=xb[c[(c[g>>2]|0)+36>>2]&127](g)|0;e=Bb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;f=Bb[c[(c[g>>2]|0)+40>>2]&63](g,c[e+8>>2]|0,b)|0;Zb[c[(c[b>>2]|0)+20>>2]&31](b,e,f,1397641027,g);d=d+1|0}while((d|0)<(c[a+228>>2]|0));return}function ej(a){a=a|0;var b=0.0,d=0,e=0,f=0,h=0;e=l;l=l+32|0;c[a+36>>2]=1566444395;c[a+40>>2]=1566444395;c[a+44>>2]=1566444395;g[a+48>>2]=0.0;c[a+52>>2]=-581039253;c[a+56>>2]=-581039253;c[a+60>>2]=-581039253;g[a+64>>2]=0.0;if((c[a+20>>2]|0)<=0){l=e;return}d=0;do{f=c[a+28>>2]|0;h=c[f+(d*80|0)+64>>2]|0;Vb[c[(c[h>>2]|0)+8>>2]&127](h,f+(d*80|0)|0,e+16|0,e);b=+g[e+16>>2];if(+g[a+36>>2]>b)g[a+36>>2]=b;b=+g[e>>2];if(+g[a+52>>2]<b)g[a+52>>2]=b;b=+g[e+16+4>>2];if(+g[a+40>>2]>b)g[a+40>>2]=b;b=+g[e+4>>2];if(+g[a+56>>2]<b)g[a+56>>2]=b;b=+g[e+16+8>>2];if(+g[a+44>>2]>b)g[a+44>>2]=b;b=+g[e+8>>2];if(+g[a+60>>2]<b)g[a+60>>2]=b;d=d+1|0}while((d|0)<(c[a+20>>2]|0));l=e;return}function fj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+64|0;h=c[d>>2]|0;g=d+(c[h+-8>>2]|0)|0;h=c[h+-4>>2]|0;c[i>>2]=e;c[i+4>>2]=d;c[i+8>>2]=2808;d=qD(h,e)|0;e=i+12|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b[i+12+40>>1]=0;a[i+12+42>>0]=0;a:do if(d){c[i+48>>2]=1;$b[c[(c[h>>2]|0)+20>>2]&7](h,i,g,g,1,0);d=(c[i+24>>2]|0)==1?g:0}else{Zb[c[(c[h>>2]|0)+24>>2]&31](h,i,g,1,0);switch(c[i+36>>2]|0){case 0:{d=((c[i+40>>2]|0)==1?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1?c[i+20>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[i+24>>2]|0)!=1?!(((c[i+40>>2]|0)==0?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1):0){d=0;break}d=c[i+16>>2]|0}while(0);l=i;return d|0}function gj(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(d|0){if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+72>>2]|0;if(!d){a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;b=b+68|0;c[b>>2]=0;return}if(a[b+76>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+72>>2]=0;a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;b=b+68|0;c[b>>2]=0;return}function hj(){var b=0;b=Os()|0;c[b>>2]=5052;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;a[b+208>>0]=1;c[b+204>>2]=0;c[b+196>>2]=0;c[b+200>>2]=0;c[b+232>>2]=0;c[b+224>>2]=0;c[b+212>>2]=14;c[b+216>>2]=15;c[b+220>>2]=16;return b|0}function ij(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[b+348>>2]|0;if((g|0)==(c[b+352>>2]|0)?(j=g|0?g<<1:1,(g|0)<(j|0)):0){if(!j)i=0;else{c[6995]=(c[6995]|0)+1;g=sc((j<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=g;g=c[b+348>>2]|0}if((g|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+356>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}h=c[b+356>>2]|0;if(h){if(a[b+360>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);g=c[b+348>>2]|0}c[b+356>>2]=0}a[b+360>>0]=1;c[b+356>>2]=i;c[b+352>>2]=j}c[(c[b+356>>2]|0)+(g<<2)>>2]=d;c[b+348>>2]=g+1;c[d+344>>2]=c[b+472>>2];Og(b,d,e<<16>>16,f<<16>>16);return}function jj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=l;l=l+96|0;i=+nb[c[(c[a>>2]|0)+48>>2]&15](a);c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Vb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(i+(+g[e>>2]-+g[e+16>>2])*.5)*2.0;f=(i+(+g[e+4>>2]-+g[e+16+4>>2])*.5)*2.0;i=(i+(+g[e+8>>2]-+g[e+16+8>>2])*.5)*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);g[d+12>>2]=0.0;l=e;return}function kj(b){b=b|0;var d=0;d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;if(!d){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}function lj(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;e=c[a+792>>2]|0;if((e|0)<=0)return;d=c[a+800>>2]|0;a=0;do{n=c[d+(a*52|0)+24>>2]|0;f=c[d+(a*52|0)+28>>2]|0;s=+g[n+40>>2];q=+g[n+44>>2];i=+g[n+48>>2];k=d+(a*52|0)+8|0;r=+g[k>>2];m=d+(a*52|0)+12|0;p=+g[m>>2];l=d+(a*52|0)+16|0;o=+g[l>>2];j=-(+g[d+(a*52|0)+48>>2]*((s-+g[f+40>>2])*r+(q-+g[f+44>>2])*p+(i-+g[f+48>>2])*o)*b);h=+g[n+88>>2]*j;g[n+40>>2]=s+r*h;g[n+44>>2]=q+p*h;g[n+48>>2]=o*h+i;j=+g[f+88>>2]*j;i=j*+g[m>>2];h=j*+g[l>>2];g[f+40>>2]=+g[f+40>>2]-+g[k>>2]*j;g[f+44>>2]=+g[f+44>>2]-i;g[f+48>>2]=+g[f+48>>2]-h;a=a+1|0}while((a|0)!=(e|0));return}function mj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+12>>2]|0;if(!e)return;if(!(a[b+8>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6995]=(c[6995]|0)+1;e=sc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+12>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function nj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+56>>2]|0;if(!e)return;if(!(a[b+52>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6995]=(c[6995]|0)+1;e=sc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+56>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function oj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;k=+g[a+24>>2];i=+g[a+28>>2];j=+g[a+32>>2];f=k*+g[b>>2]+i*+g[b+4>>2]+j*+g[b+8>>2];h=+g[a+20>>2];if(f>h){g[a+20>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=k*+g[b+16>>2]+i*+g[b+20>>2]+j*+g[b+24>>2];if(h>f){g[a+20>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=k*+g[b+32>>2]+i*+g[b+36>>2]+j*+g[b+40>>2];if(!(f>h))return;g[a+20>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function pj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=c[d+4>>2]|0;if((h|0)<=0){c[b+4>>2]=h;return}c[6995]=(c[6995]|0)+1;e=sc((h<<2|3)+16|0)|0;if(!e)g=0;else{c[(e+4+15&-16)+-4>>2]=e;g=e+4+15&-16}f=c[b+4>>2]|0;if((f|0)>0){e=0;do{c[g+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=g;c[b+8>>2]=h;e=0;f=g;do{c[f+(e<<2)>>2]=0;e=e+1|0;f=c[b+12>>2]|0}while((e|0)!=(h|0));c[b+4>>2]=h;e=0;do{c[f+(e<<2)>>2]=c[(c[d+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0));return}function qj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;k=+g[a+88>>2];i=+g[a+92>>2];j=+g[a+96>>2];f=k*+g[b>>2]+i*+g[b+4>>2]+j*+g[b+8>>2];h=+g[a+84>>2];if(f>h){g[a+84>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=k*+g[b+16>>2]+i*+g[b+20>>2]+j*+g[b+24>>2];if(h>f){g[a+84>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=k*+g[b+32>>2]+i*+g[b+36>>2]+j*+g[b+40>>2];if(!(f>h))return;g[a+84>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function rj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;i=+nb[c[(c[a>>2]|0)+48>>2]&15](a);m=i+ +g[a+32>>2];k=i+ +g[a+36>>2];i=i+ +g[a+40>>2];u=+C(+(+g[b>>2]));t=+C(+(+g[b+4>>2]));s=+C(+(+g[b+8>>2]));q=+C(+(+g[b+16>>2]));p=+C(+(+g[b+20>>2]));o=+C(+(+g[b+24>>2]));l=+C(+(+g[b+32>>2]));j=+C(+(+g[b+36>>2]));h=+C(+(+g[b+40>>2]));r=+g[b+48>>2];n=+g[b+52>>2];f=+g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function sj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+96|0;g=c[b+192>>2]|0;c[f+64>>2]=0;c[f+64+4>>2]=g;c[f+64+8>>2]=b;c[f+64+12>>2]=b+4;c[f+64+16>>2]=-1;c[f+64+20>>2]=-1;b=c[d+192>>2]|0;c[f+40>>2]=0;c[f+40+4>>2]=b;c[f+40+8>>2]=d;c[f+40+12>>2]=d+4;c[f+40+16>>2]=-1;c[f+40+20>>2]=-1;b=c[a+24>>2]|0;b=Db[c[(c[b>>2]|0)+8>>2]&1](b,f+64|0,f+40|0,0,2)|0;if(!b){l=f;return}c[f+4>>2]=0;c[f+8>>2]=f+64;c[f+12>>2]=f+40;c[f>>2]=6324;c[f+36>>2]=e;c[f+32>>2]=c[e+12>>2];Zb[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,a+28|0,f);Ib[c[c[b>>2]>>2]&511](b);g=c[a+24>>2]|0;Ob[c[(c[g>>2]|0)+60>>2]&127](g,b);l=f;return}function tj(b){b=b|0;var d=0;c[b>>2]=8928;if(c[b+108>>2]|0){d=c[b+112>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+112>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+108>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+108>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}}d=c[b+88>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+84>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+80>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+60>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}if(!(a[b+100>>0]|0))return;d=c[b+92>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+92>>2]|0;if(!d)return;c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);return}function uj(b){b=b|0;var d=0,e=0,f=0,h=0.0;e=l;l=l+96|0;a[b+92>>0]=1;if((a[22496]|0)==0?Uz(22496)|0:0){c[6132]=1065353216;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=0;c[6137]=1065353216;c[6138]=0;c[6139]=0;c[6140]=0;c[6141]=0;c[6142]=1065353216;g[6143]=0.0;c[6144]=-1082130432;c[6145]=0;c[6146]=0;c[6147]=0;c[6148]=0;c[6149]=-1082130432;c[6150]=0;c[6151]=0;c[6152]=0;c[6153]=0;c[6154]=-1082130432;g[6155]=0.0}d=e;f=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Vb[c[(c[b>>2]|0)+76>>2]&127](b,24528,e,6);h=+g[b+48>>2];g[b+76>>2]=+g[e>>2]+h;g[b+60>>2]=+g[e+48>>2]-h;g[b+80>>2]=+g[e+20>>2]+h;g[b+64>>2]=+g[e+68>>2]-h;g[b+84>>2]=+g[e+40>>2]+h;g[b+68>>2]=+g[e+88>>2]-h;l=e;return}function vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){i=c[a+12>>2]|0;k=c[i+(((b+d|0)/2|0)<<3)>>2]|0;f=d;e=b;while(1){while(1){j=e+1|0;if((c[i+(e<<3)>>2]|0)<(k|0))e=j;else break}while(1){g=i+(f<<3)|0;h=f+-1|0;if((k|0)<(c[g>>2]|0))f=h;else break}if((e|0)<=(f|0)){l=i+(e<<3)|0;i=c[l>>2]|0;e=c[l+4>>2]|0;m=c[g+4>>2]|0;c[l>>2]=c[g>>2];c[l+4>>2]=m;f=(c[a+12>>2]|0)+(f<<3)|0;c[f>>2]=i;c[f+4>>2]=e;f=h;e=j}if((e|0)>(f|0))break;i=c[a+12>>2]|0}if((f|0)>(b|0))vj(a,b,f);if((e|0)<(d|0))b=e;else break}return}function wj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+72>>2]|0;if(!e)return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6995]=(c[6995]|0)+1;e=sc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+72>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function xj(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;f=c[a+792>>2]|0;if((f|0)<=0)return;e=c[a+800>>2]|0;a=0;do{d=+g[e+(a*52|0)+40>>2];if(d>0.0?(h=c[e+(a*52|0)+24>>2]|0,i=c[e+(a*52|0)+28>>2]|0,j=+g[h+8>>2],k=+g[i+8>>2]-j,l=+g[h+12>>2],m=+g[i+12>>2]-l,n=+g[h+16>>2],o=+g[i+16>>2]-n,p=+g[e+(a*52|0)+44>>2],p+(k*k+m*m+o*o)>1.1920928955078125e-07):0){d=(p-(k*k+m*m+o*o))/(d*(p+(k*k+m*m+o*o)))*b;q=d*+g[h+88>>2];g[h+8>>2]=j-k*q;g[h+12>>2]=l-m*q;g[h+16>>2]=n-o*q;d=d*+g[i+88>>2];g[i+8>>2]=+g[i+8>>2]+k*d;g[i+12>>2]=m*d+ +g[i+12>>2];g[i+16>>2]=o*d+ +g[i+16>>2]}a=a+1|0}while((a|0)!=(f|0));return}function yj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;n=e+32+44|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;Vb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);k=+g[e>>2];m=+g[e+16>>2];i=+g[e+4>>2];j=+g[e+16+4>>2];f=+g[e+8>>2];h=+g[e+16+8>>2];g[d>>2]=+D(+((k-m)*(k-m)+(i-j)*(i-j)+(f-h)*(f-h)))*.5;g[b>>2]=(m+k)*.5;g[b+4>>2]=(j+i)*.5;g[b+8>>2]=(h+f)*.5;g[b+12>>2]=0.0;l=e;return}function zj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=c[d+48>>2]|0;if((c[d+60>>2]|0)==2){Ag(b+44|0,h)|0;f=c[b+48>>2]|0;if(!f){f=b+48|0;g=1}else{c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0);f=b+48|0;g=1}}else{Ag(b+4|0,h)|0;f=c[b+8>>2]|0;if(!f){f=b+8|0;g=0}else{c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0);f=b+8|0;g=0}}c[f>>2]=h;f=b+4+(g*40|0)+12|0;c[f>>2]=(c[f>>2]|0)+-1;f=c[d+52>>2]|0;c[((f|0)==0?b+84+(c[d+60>>2]<<2)|0:f+56|0)>>2]=c[d+56>>2];f=c[d+56>>2]|0;if(f|0)c[f+52>>2]=c[d+52>>2];h=c[b+96>>2]|0;Sb[c[(c[h>>2]|0)+16>>2]&127](h,d,e);c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);a[b+154>>0]=1;return}function Aj(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=c[a+108>>2]|0;if(i|0){Vb[c[(c[i>>2]|0)+28>>2]&127](i,d,f,h);return}i=b[a+56>>1]|0;if(!(i<<16>>16))return;m=1;k=1;do{j=c[a+68>>2]|0;if(b[j+(k<<2)>>1]&1){l=c[a+60>>2]|0;k=e[j+(k<<2)+2>>1]|0;if(!(+g[d>>2]>+g[l+(k<<6)+32>>2])?!(+g[f>>2]<+g[l+(k<<6)+16>>2]):0)j=1;else j=0;if(!(!(+g[d+8>>2]>+g[l+(k<<6)+40>>2])?!(+g[f+8>>2]<+g[l+(k<<6)+24>>2]):0))j=0;if(!(+g[d+4>>2]>+g[l+(k<<6)+36>>2])?!(+g[f+4>>2]<+g[l+(k<<6)+20>>2]|j^1):0){zb[c[(c[h>>2]|0)+8>>2]&31](h,l+(k<<6)|0)|0;i=b[a+56>>1]|0}}m=m+1<<16>>16;k=m&65535}while(k>>>0<((i&65535)<<1|1)>>>0);return}function Bj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0;h=+g[b>>2];i=+g[b+16>>2];j=h<i?h:i;f=+g[b+32>>2];if((j<f?j:f)>+g[a+24>>2])return;k=h>i?b:b+16|0;if(+g[(+g[k>>2]>f?k:b+32|0)>>2]<+g[a+8>>2])return;f=+g[b+8>>2];h=+g[b+24>>2];j=f<h?f:h;i=+g[b+40>>2];if((j<i?j:i)>+g[a+32>>2])return;k=f>h?b+8|0:b+24|0;if(+g[(+g[k>>2]>i?k:b+40|0)>>2]<+g[a+16>>2])return;f=+g[b+4>>2];h=+g[b+20>>2];j=f<h?f:h;i=+g[b+36>>2];if((j<i?j:i)>+g[a+28>>2])return;k=f>h?b+4|0:b+20|0;if(+g[(+g[k>>2]>i?k:b+36|0)>>2]<+g[a+12>>2])return;k=c[a+4>>2]|0;Vb[c[(c[k>>2]|0)+8>>2]&127](k,b,d,e);return}function Cj(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0;if(!(a[b+738>>0]|0)){c[d>>2]=5;c[d+4>>2]=1;e=+bj(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+728>>2]=e;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;h=+g[b+692>>2];do if(!(h>=0.0))i=13;else{e=+mh(e-+g[b+688>>2],6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(e<-h){a[b+716>>0]=1;f=1.0;e=-(e+h)}else{if(!(e>h)){i=13;break}a[b+716>>0]=1;f=-1.0;e=h-e}g[b+708>>2]=e;g[b+712>>2]=f}while(0);if((i|0)==13?(a[b+737>>0]|0)==0:0)return;c[d>>2]=6;b=d+4|0}else{c[d>>2]=0;b=d+4|0}c[b>>2]=0;return}function Dj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0;f=l;l=l+16|0;c[a+4>>2]=c[b+24>>2];e=c[b>>2]|0;c[a+8>>2]=e;if(d){c[a+56>>2]=c[b+8>>2];c[a+56+4>>2]=c[b+8+4>>2];c[a+56+8>>2]=c[b+8+8>>2];c[a+56+12>>2]=c[b+8+12>>2];i=a+72|0;d=a+24|0;e=a+40|0;h=+g[b+24>>2];hq(i,d,e,h);h=+g[b+24>>2];l=f;return +h}else{d=gJ(OI(e)|0)|0;fm(f,d,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+56>>2]=c[f>>2];c[a+56+4>>2]=c[f+4>>2];c[a+56+8>>2]=c[f+8>>2];c[a+56+12>>2]=c[f+12>>2];d=a+72|0;e=a+24|0;i=a+40|0;h=+g[b+24>>2];hq(d,e,i,h);h=+g[b+24>>2];l=f;return +h}return 0.0}function Ej(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,k=0.0;h=l;l=l+16|0;g[b+32>>2]=f;c[b+8>>2]=c[d>>2];c[b+8+4>>2]=c[d+4>>2];c[b+8+8>>2]=c[d+8>>2];c[b+8+12>>2]=c[d+12>>2];i=+g[b+28>>2];k=+g[e+4>>2]-i*+g[d+4>>2];j=+g[e+8>>2]-i*+g[d+8>>2];g[h>>2]=+g[e>>2]-+g[d>>2]*i;g[h+4>>2]=k;g[h+8>>2]=j;g[h+12>>2]=0.0;f=+g[b+24>>2]+i+f;g[b+32>>2]=f;if(!(f<0.0)){b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Tb[e&15](b,d,h,f);l=h;return}a[b+36>>0]=1;b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Tb[e&15](b,d,h,f);l=h;return}function Fj(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0;if(!(c[j+52>>2]|0))return;if((c[j+20>>2]|0)<=0)return;e=0;while(1){d=c[a+28>>2]|0;if((d|0)>0){l=0.0;b=0;do{k=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;i=c[a+36>>2]|0;h=c[a+16>>2]|0;m=+qb[c[a+220>>2]&31](h+((c[i+(k*152|0)+144>>2]|0)*244|0)|0,h+((c[i+(k*152|0)+148>>2]|0)*244|0)|0,i+(k*152|0)|0);l=l+m*m;b=b+1|0}while((b|0)!=(d|0))}else l=0.0;if(l<=+g[j+92>>2]){b=8;break}k=c[j+20>>2]|0;i=e;e=e+1|0;if(!((i|0)<(k+-1|0)&(e|0)<(k|0))){b=8;break}}if((b|0)==8)return}function Gj(b,d){b=b|0;d=d|0;c[b+204>>2]=c[d+48>>2];c[b+208>>2]=c[d+52>>2];c[b+212>>2]=c[d+56>>2];c[b+216>>2]=c[d+60>>2];c[b+220>>2]=c[d+64>>2];c[b+224>>2]=c[d+68>>2];c[b+156>>2]=c[d>>2];c[b+156+4>>2]=c[d+4>>2];c[b+156+8>>2]=c[d+8>>2];c[b+156+12>>2]=c[d+12>>2];c[b+172>>2]=c[d+16>>2];c[b+172+4>>2]=c[d+16+4>>2];c[b+172+8>>2]=c[d+16+8>>2];c[b+172+12>>2]=c[d+16+12>>2];c[b+188>>2]=c[d+32>>2];c[b+188+4>>2]=c[d+32+4>>2];c[b+188+8>>2]=c[d+32+8>>2];c[b+188+12>>2]=c[d+32+12>>2];c[b+228>>2]=c[d+72>>2];g[b+232>>2]=0.0;g[b+252>>2]=0.0;g[b+236>>2]=0.0;g[b+240>>2]=0.0;g[b+256>>2]=0.0;g[b+244>>2]=.10000000149011612;a[b+260>>0]=a[d+80>>0]&1;c[b+248>>2]=c[d+76>>2];return}function Hj(a,b){a=a|0;b=+b;var d=0,e=0;d=c[a+84>>2]|0;if(d|0)Jb[d&31](a,b);Jb[c[(c[a>>2]|0)+140>>2]&31](a,b);g[a+28>>2]=b;c[a+32>>2]=0;c[a+48>>2]=xb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Jb[c[(c[a>>2]|0)+164>>2]&31](a,b);Ib[c[(c[a>>2]|0)+44>>2]&511](a);Ib[c[(c[a>>2]|0)+148>>2]&511](a);g[a+104>>2]=b;Ob[c[(c[a>>2]|0)+152>>2]&127](a,a+92|0);Jb[c[(c[a>>2]|0)+144>>2]&31](a,b);if((c[a+296>>2]|0)>0){d=0;do{e=c[(c[a+304>>2]|0)+(d<<2)>>2]|0;Pb[c[(c[e>>2]|0)+8>>2]&7](e,a,b);d=d+1|0}while((d|0)<(c[a+296>>2]|0))}Jb[c[(c[a>>2]|0)+156>>2]&31](a,b);d=c[a+80>>2]|0;if(!d)return;Jb[d&31](a,b);return}function Ij(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0;f=l;l=l+16|0;c[b+4>>2]=d;c[b>>2]=4652;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=e;if((a[22480]|0)==0?Uz(22480)|0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;ef(23152,0.0,0,0,f)}c[5839]=c[5839]|1;g[5889]=0.0;h=+g[5899]*0.0;i=+g[5900]*0.0;g[5894]=+g[5898]*0.0;g[5895]=h;g[5896]=i;g[5897]=0.0;c[5902]=0;c[5903]=0;c[5904]=0;c[5905]=0;i=+g[5891]*0.0;h=+g[5892]*0.0;g[5943]=+g[5890]*0.0;g[5944]=i;g[5945]=h;g[5946]=0.0;c[b+32>>2]=23152;g[b+36>>2]=0.0;g[b+40>>2]=.05000000074505806;c[b+44>>2]=0;l=f;return}function Jj(a){a=a|0;var b=0;c[a>>2]=3244;b=c[a+88>>2]|0;Ib[c[c[b>>2]>>2]&511](b);b=c[a+88>>2]|0;if(b|0){c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0)}b=c[a+92>>2]|0;Ib[c[c[b>>2]>>2]&511](b);b=c[a+92>>2]|0;if(b|0){c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0)}b=c[a+96>>2]|0;Ib[c[c[b>>2]>>2]&511](b);b=c[a+96>>2]|0;if(b|0){c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0)}b=c[a+100>>2]|0;Ib[c[c[b>>2]>>2]&511](b);b=c[a+100>>2]|0;if(b|0){c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0)}b=c[a+104>>2]|0;Ib[c[c[b>>2]>>2]&511](b);b=c[a+104>>2]|0;if(!b){nf(a);return}c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);nf(a);return}function Kj(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0&(b&3|0)!=0){e=d;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=e+-1|0;if((d|0)!=0&(b&3|0)!=0)e=d;else{e=d;d=(d|0)!=0;f=4;break}}}else{e=d;d=(d|0)!=0;f=4}while(0);b:do if((f|0)==4)if(d){if(a[b>>0]|0){c:do if(e>>>0>3)while(1){d=c[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){f=10;break c}}else f=10;while(0);if((f|0)==10)if(!e){e=0;break}while(1){if(!(a[b>>0]|0))break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}else e=0;while(0);return (e|0?b:0)|0}function Lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0;m=c[b+56>>2]|0;l=c[m+32>>2]|0;b=c[l>>2]|0;m=c[m+24>>2]|0;if((m|0)<=1){m=b;m=m+8|0;c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];return}j=+g[d>>2];k=+g[d+4>>2];i=+g[d+8>>2];d=0;h=1;e=j*+g[b+8>>2]+k*+g[b+12>>2]+i*+g[b+16>>2];while(1){b=c[l+(h<<2)>>2]|0;f=j*+g[b+8>>2]+k*+g[b+12>>2]+i*+g[b+16>>2];b=f>e;d=b?h:d;h=h+1|0;if((h|0)==(m|0))break;else e=b?f:e}m=c[l+(d<<2)>>2]|0;m=m+8|0;c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];return}function Mj(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;n=+g[a+4>>2];h=+g[a+456>>2];m=+g[a+8>>2];e=+g[a+460>>2];l=+g[a+12>>2];c=+g[a+464>>2];k=+g[a+20>>2];j=+g[a+24>>2];i=+g[a+28>>2];f=+g[a+36>>2];d=+g[a+40>>2];b=+g[a+44>>2];g[a+324>>2]=n*h*n+m*e*m+l*c*l;g[a+328>>2]=n*h*k+m*e*j+l*c*i;g[a+332>>2]=n*h*f+m*e*d+l*c*b;g[a+336>>2]=0.0;g[a+340>>2]=h*k*n+e*j*m+c*i*l;g[a+344>>2]=h*k*k+e*j*j+c*i*i;g[a+348>>2]=h*k*f+e*j*d+c*i*b;g[a+352>>2]=0.0;g[a+356>>2]=h*f*n+e*d*m+c*b*l;g[a+360>>2]=h*f*k+e*d*j+c*b*i;g[a+364>>2]=h*f*f+e*d*d+c*b*b;g[a+368>>2]=0.0;return}function Nj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0;h=l;l=l+16|0;if((e|0)<=0){l=h;return}f=0;do{p=+g[b+(f<<4)>>2];o=+g[b+(f<<4)+4>>2];n=+g[b+(f<<4)+8>>2];m=p*+g[a+60>>2]+o*+g[a+64>>2]+n*+g[a+68>>2];k=p*+g[a+76>>2]+o*+g[a+80>>2]+n*+g[a+84>>2];n=p*+g[a+92>>2]+o*+g[a+96>>2]+n*+g[a+100>>2];g[h>>2]=m;g[h+4>>2]=k;g[h+8>>2]=n;g[h+12>>2]=0.0;j=a+60+((+g[h+((m<k&1)<<2)>>2]<n?2:m<k&1)<<4)|0;i=d+(f<<4)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];f=f+1|0}while((f|0)!=(e|0));l=h;return}function Oj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=5944;e=c[b+8>>2]|0;d=c[b+16>>2]|0;if((e|0)>0){h=0;do{f=(c[d+(h<<2)>>2]|0)+188|0;g=c[f>>2]|0;if(g){e=c[b+68>>2]|0;e=xb[c[(c[e>>2]|0)+36>>2]&127](e)|0;Sb[c[(c[e>>2]|0)+40>>2]&127](e,g,c[b+24>>2]|0);e=c[b+68>>2]|0;Sb[c[(c[e>>2]|0)+12>>2]&127](e,g,c[b+24>>2]|0);c[f>>2]=0;e=c[b+8>>2]|0;d=c[b+16>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0;c[a+264>>2]=c[b>>2];c[a+264+4>>2]=c[b+4>>2];c[a+264+8>>2]=c[b+8>>2];c[a+264+12>>2]=c[b+12>>2];d=c[a+248>>2]|0;if((d|0)<=0)return;h=0;do{f=c[(c[a+256>>2]|0)+(h<<2)>>2]|0;switch(c[f+220>>2]|0){case 2:case 5:break;default:if(!(c[f+564>>2]&1)){e=+g[f+404>>2];if(e!=0.0){j=1.0/e*+g[b+4>>2];i=1.0/e*+g[b+8>>2];g[f+424>>2]=1.0/e*+g[b>>2];g[f+428>>2]=j;g[f+432>>2]=i;g[f+436>>2]=0.0}c[f+440>>2]=c[b>>2];c[f+440+4>>2]=c[b+4>>2];c[f+440+8>>2]=c[b+8>>2];c[f+440+12>>2]=c[b+12>>2];d=c[a+248>>2]|0}}h=h+1|0}while((h|0)<(d|0));return}function Qj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0.0,i=0.0,k=0.0;e=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=e|1;h=0.0}else{c[a+204>>2]=e&-2;h=1.0/b}g[a+404>>2]=h;k=+g[a+444>>2]*b;i=+g[a+448>>2]*b;g[a+424>>2]=+g[a+440>>2]*b;g[a+428>>2]=k;g[a+432>>2]=i;g[a+436>>2]=0.0;b=+g[d>>2];f=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+4>>2];e=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+8>>2];d=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;c[a+456>>2]=f;c[a+460>>2]=e;c[a+464>>2]=d;g[a+468>>2]=0.0;i=h*+g[a+412>>2];k=h*+g[a+416>>2];g[a+620>>2]=+g[a+408>>2]*h;g[a+624>>2]=i;g[a+628>>2]=k;g[a+632>>2]=0.0;return}function Rj(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0;f=l;l=l+256|0;e=c[b+212>>2]|0;if((e|0)>-1){a=e;l=f;return a|0}h=(c[b+252>>2]&2|0)==0;e=h?0:b;do if(!h){if(!(+g[e+404>>2]!=0.0)?(c[e+204>>2]&2|0)==0:0)break;h=c[a+8>>2]|0;Yk(f|0,0,244)|0;Je(Gf(a+4|0,f)|0,b,d);c[b+212>>2]=h;l=f;return h|0}while(0);e=c[a+188>>2]|0;if((e|0)>=0){h=e;l=f;return h|0}c[a+188>>2]=c[a+8>>2];Yk(f|0,0,244)|0;Je(Gf(a+4|0,f)|0,0,d);h=c[a+188>>2]|0;l=f;return h|0}function Sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0;k=+g[b+64>>2]*.5;l=c[b+72>>2]|0;e=+g[d>>2];f=+g[d+4>>2];i=+g[d+8>>2];i=+D(+(e*e+f*f+i*i));h=c[b+68>>2]|0;if(+g[d+(l<<2)>>2]>i*+g[b+56>>2]){g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=k;k=0.0;l=c[b+76>>2]|0;l=a+(l<<2)|0;g[l>>2]=k;return}i=+g[d+(h<<2)>>2];j=c[b+76>>2]|0;e=+g[d+(j<<2)>>2];f=+D(+(i*i+e*e));if(f>1.1920928955078125e-07){f=+g[b+60>>2]/f;g[a+(h<<2)>>2]=i*f;g[a+(l<<2)>>2]=-k;k=e*f;l=j;l=a+(l<<2)|0;g[l>>2]=k;return}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=-k;k=0.0;l=j;l=a+(l<<2)|0;g[l>>2]=k;return}}function Tj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+296>>2]|0;if((e|0)==(c[b+300>>2]|0)?(h=e|0?e<<1:1,(e|0)<(h|0)):0){if(!h)g=0;else{c[6995]=(c[6995]|0)+1;e=sc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+296>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+304>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+304>>2]|0;if(f){if(a[b+308>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0);e=c[b+296>>2]|0}c[b+304>>2]=0}a[b+308>>0]=1;c[b+304>>2]=g;c[b+300>>2]=h}c[(c[b+304>>2]|0)+(e<<2)>>2]=d;c[b+296>>2]=e+1;return}function Uj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0;n=c[b+100>>2]|0;if((n|0)<=0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;n=a+12|0;g[n>>2]=0.0;return}o=+g[b+16>>2];p=+g[d>>2]*o;k=+g[b+20>>2];l=+g[d+4>>2]*k;m=+g[b+24>>2];j=+g[d+8>>2]*m;f=c[b+108>>2]|0;d=-1;b=0;e=-3402823466385288598117041.0e14;while(1){h=p*+g[f+(b<<4)>>2]+l*+g[f+(b<<4)+4>>2]+j*+g[f+(b<<4)+8>>2];i=h>e;d=i?b:d;b=b+1|0;if((b|0)==(n|0))break;else e=i?h:e}l=+g[f+(d<<4)+4>>2]*k;p=+g[f+(d<<4)+8>>2]*m;g[a>>2]=+g[f+(d<<4)>>2]*o;g[a+4>>2]=l;g[a+8>>2]=p;n=a+12|0;g[n>>2]=0.0;return}function Vj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Vb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(+g[e>>2]-+g[e+16>>2])*.5*2.0;f=(+g[e+4>>2]-+g[e+16+4>>2])*.5*2.0;i=(+g[e+8>>2]-+g[e+16+8>>2])*.5*2.0;g[d>>2]=b/12.0*(f*f+i*i);g[d+4>>2]=b/12.0*(h*h+i*i);g[d+8>>2]=b/12.0*(h*h+f*f);l=e;return}function Wj(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=gt()|0;Ij(e,3,b);c[e>>2]=4828;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];k=+g[d>>2];j=+g[d+4>>2];i=+g[d+8>>2];h=k*+g[b+20>>2]+j*+g[b+24>>2]+i*+g[b+28>>2]+ +g[b+56>>2];f=k*+g[b+36>>2]+j*+g[b+40>>2]+i*+g[b+44>>2]+ +g[b+60>>2];g[e+316>>2]=k*+g[b+4>>2]+j*+g[b+8>>2]+i*+g[b+12>>2]+ +g[b+52>>2];g[e+320>>2]=h;g[e+324>>2]=f;g[e+328>>2]=0.0;c[e+332>>2]=0;a[e+344>>0]=0;g[e+348>>2]=.30000001192092896;g[e+352>>2]=1.0;g[e+356>>2]=0.0;return e|0}function Xj(a,b,c){a=+a;b=+b;c=+c;var d=0.0,e=0.0,f=0;if(b>=c)return +a;if(a<b){d=+mh(b-a,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+C(+d);d=+mh(c-a,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;f=e<+C(+d);a=f?a:a+6.2831854820251465;return +a}if(!(a>c))return +a;d=+mh(a-c,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+C(+d);d=+mh(a-b,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;f=+C(+d)<e;a=f?a+-6.2831854820251465:a;return +a}function Yj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[6159]=(c[6159]|0)+1;e=(c[b+12>>2]|0)>(c[d+12>>2]|0);f=c[(e?d:b)+12>>2]|0;e=c[(e?b:d)+12>>2]|0;b=(((e<<16|f)+~((e<<16|f)<<15)|0)>>>10^(e<<16|f)+~((e<<16|f)<<15))*9|0;b=(((b>>>6^b)+~((b>>>6^b)<<11)|0)>>>16^(b>>>6^b)+~((b>>>6^b)<<11))&(c[a+12>>2]|0)+-1;if((b|0)>=(c[a+32>>2]|0)){g=0;return g|0}b=c[(c[a+40>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){g=0;return g|0}d=c[a+16>>2]|0;while(1){if((c[(c[d+(b<<4)>>2]|0)+12>>2]|0)==(f|0)?(c[(c[d+(b<<4)+4>>2]|0)+12>>2]|0)==(e|0):0)break;b=c[(c[a+60>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){b=0;g=8;break}}if((g|0)==8)return b|0;g=d+(b<<4)|0;return g|0}function Zj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+16|0;Sb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];if(!(+nb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){l=e;return}i=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];k=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:i;j=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:h;f=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:f;h=1.0/+D(+(f*f+(k*k+j*j)));i=+nb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*h*k;g[a+4>>2]=i*h*j+ +g[a+4>>2];g[a+8>>2]=i*h*f+ +g[a+8>>2];l=e;return}function _j(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0;f=+g[a+692>>2];do if(f>0.0){h=+g[a+688>>2];e=+mh(b-h,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(!(!(e<-f)&e<=f))if(e>0.0){b=+mh(f+h,6.2831854820251465);if(b<-3.1415927410125732){b=b+6.2831854820251465;break}if(!(b>3.1415927410125732))break;b=b+-6.2831854820251465;break}else{b=+mh(h-f,6.2831854820251465);if(b<-3.1415927410125732){b=b+6.2831854820251465;break}if(!(b>3.1415927410125732))break;b=b+-6.2831854820251465;break}}while(0);g[a+680>>2]=(b-+bj(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0))/d;return}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:{if((c|0)<1){d=+g[a+232>>2];break a}if((c|0)<3){d=+g[a+264>>2];break a}if((c|0)==3){d=+g[a+248>>2];break a}if((c|0)<6)d=+g[a+280>>2];else d=3402823466385288598117041.0e14;break}case 3:{if((c|0)<1){d=+g[a+212>>2];break a}if((c|0)==3)d=+g[a+228>>2];else d=3402823466385288598117041.0e14;break}case 4:{if((c|0)<1){d=+g[a+244>>2];break a}if((c|0)<3){d=+g[a+276>>2];break a}if((c|0)==3){d=+g[a+260>>2];break a}if((c|0)<6)d=+g[a+292>>2];else d=3402823466385288598117041.0e14;break}default:d=3402823466385288598117041.0e14}while(0);return +d}function ak(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h==0.0)e=+g[b+36>>2];else e=+D(+(e*e+f*f+h*h));g[b+32>>2]=e;g[b+20>>2]=e;a[b+249>>0]=1;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h==0.0){i=+g[b+256>>2];f=+g[b+260>>2];e=+g[b+264>>2];d=b+268|0}else{j=1.0/+D(+(e*e+f*f+h*h));i=e*j;f=f*j;e=h*j;d=d+12|0}d=c[d>>2]|0;g[b+272>>2]=i;g[b+276>>2]=f;g[b+280>>2]=e;c[b+284>>2]=d;d=(c[b+8>>2]|0)+52|0;c[b+116>>2]=c[d>>2];c[b+116+4>>2]=c[d+4>>2];c[b+116+8>>2]=c[d+8>>2];c[b+116+12>>2]=c[d+12>>2];return}function bk(b){b=b|0;var d=0;c[b>>2]=4080;if(a[b+476>>0]|0?(d=c[b+472>>2]|0,Ib[c[c[d>>2]>>2]&511](d),d=c[b+472>>2]|0,d|0):0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}d=c[b+440>>2]|0;if(d|0){if(a[b+444>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+440>>2]=0}a[b+444>>0]=1;c[b+440>>2]=0;c[b+432>>2]=0;c[b+436>>2]=0;d=c[b+356>>2]|0;if(!d){a[b+360>>0]=1;c[b+356>>2]=0;c[b+348>>2]=0;d=b+352|0;c[d>>2]=0;Qg(b);return}if(a[b+360>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+356>>2]=0;a[b+360>>0]=1;c[b+356>>2]=0;c[b+348>>2]=0;d=b+352|0;c[d>>2]=0;Qg(b);return}function ck(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0;d=l;l=l+64|0;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;i=+g[b>>2];f=+g[b+4>>2];m=+g[b+8>>2];j=+g[b+12>>2];h=i*(2.0/(i*i+f*f+m*m+j*j));e=f*(2.0/(i*i+f*f+m*m+j*j));k=m*(2.0/(i*i+f*f+m*m+j*j));g[d>>2]=1.0-(f*e+m*k);g[d+4>>2]=i*e-j*k;g[d+8>>2]=i*k+j*e;g[d+12>>2]=0.0;g[d+16>>2]=i*e+j*k;g[d+20>>2]=1.0-(i*h+m*k);g[d+24>>2]=f*k-j*h;g[d+28>>2]=0.0;g[d+32>>2]=i*k-j*e;g[d+36>>2]=f*k+j*h;g[d+40>>2]=1.0-(i*h+f*e);g[d+44>>2]=0.0;Ld(a,d);l=d;return}function dk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,k=0.0,m=0,n=0,o=0;f=l;l=l+48|0;Sb[c[(c[a>>2]|0)+124>>2]&127](a,f+32|0,e);o=c[f+32>>2]|0;n=c[f+32+4>>2]|0;m=c[f+32+8>>2]|0;c[b>>2]=o;c[b+4>>2]=n;c[b+8>>2]=m;g[b+12>>2]=0.0;e=c[(c[a>>2]|0)+64>>2]|0;k=-(c[j>>2]=o,+g[j>>2]);i=-(c[j>>2]=n,+g[j>>2]);h=-(c[j>>2]=m,+g[j>>2]);g[f>>2]=k;g[f+4>>2]=i;g[f+8>>2]=h;g[f+12>>2]=0.0;Sb[e&127](f+16|0,a,f);c[d>>2]=c[f+16>>2];c[d+4>>2]=c[f+16+4>>2];c[d+8>>2]=c[f+16+8>>2];c[d+12>>2]=c[f+16+12>>2];l=f;return}function ek(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){a=a+72|0;break}if((b|0)==1&(d|0)==8){a=a+76|0;break}if(!(d|b)){a=a+68|0;break}if((b|0)<20&(d|0)==28){a=a+84|0;break}if((b|0)==28&(d|0)<20){a=a+80|0;break}if((b|0)<20){if((d|0)<20){a=a+28|0;break}if((d+-21|0)>>>0<9){a=a+32|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){a=a+36|0;break}if((b|0)==31)if((d|0)==31){a=a+44|0;break}else{a=a+40|0;break}}if((d|0)==31){a=a+48|0;break}else{a=a+52|0;break}}else a=a+56|0;while(0);return c[a>>2]|0}function fk(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0;h=l;l=l+48|0;c[h+32>>2]=e;c[h+32+4>>2]=f;n=+g[b>>2];m=+g[b+4>>2];i=+g[b+8>>2];k=+g[a+56>>2]*n+ +g[a+60>>2]*m+ +g[a+64>>2]*i;j=n*+g[a+72>>2]+m*+g[a+76>>2]+i*+g[a+80>>2];i=n*+g[a+88>>2]+m*+g[a+92>>2]+i*+g[a+96>>2];c[h>>2]=c[a+48>>2];c[h+4>>2]=h+32;g[h+8>>2]=k;g[h+12>>2]=j;g[h+16>>2]=i;g[h+20>>2]=0.0;g[h+24>>2]=d;f=c[a+44>>2]|0;d=+qb[c[(c[f>>2]|0)+12>>2]&31](f,h,1);l=h;return +d}function gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;c[a+4>>2]=c[b+40>>2];e=c[b>>2]|0;c[a+80>>2]=e;if(d){c[a+48>>2]=c[b+8>>2];c[a+48+4>>2]=c[b+8+4>>2];c[a+48+8>>2]=c[b+8+8>>2];c[a+48+12>>2]=c[b+8+12>>2]}else{e=gJ(OI(e)|0)|0;fm(f,e,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+48>>2]=c[f>>2];c[a+48+4>>2]=c[f+4>>2];c[a+48+8>>2]=c[f+8>>2];c[a+48+12>>2]=c[f+12>>2]}c[a+64>>2]=c[b+24>>2];c[a+64+4>>2]=c[b+24+4>>2];c[a+64+8>>2]=c[b+24+8>>2];c[a+64+12>>2]=c[b+24+12>>2];l=f;return +(+g[b+40>>2])}function hk(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(e>>>0<3)switch(b|0){case 2:{g[a+756+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<<e*3;return}case 4:{g[a+772+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<<e*3;return}case 3:{g[a+740+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<<e*3;return}default:return}if((e+-3|0)>>>0>=3)return;switch(b|0){case 2:{g[a+868+(e+-3<<6)+32>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<<e*3;return}case 4:{g[a+868+(e+-3<<6)+36>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<<e*3;return}case 3:{g[a+868+(e+-3<<6)+28>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<<e*3;return}default:return}}function ik(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=gt()|0;c[h+4>>2]=3;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.05000000074505806;c[h+44>>2]=0;c[h>>2]=4828;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[f>>2];c[h+316+4>>2]=c[f+4>>2];c[h+316+8>>2]=c[f+8>>2];c[h+316+12>>2]=c[f+12>>2];c[h+332>>2]=0;a[h+344>>0]=0;g[h+348>>2]=.30000001192092896;g[h+352>>2]=1.0;g[h+356>>2]=0.0;return h|0}function jk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+252>>2]|0;if((b|0)==0|(d|0)!=8)if((b|0)==0|(d&2|0)==0){ki(a,b);return}else{Ob[c[(c[a>>2]|0)+92>>2]&127](a,b);return}f=c[a+348>>2]|0;a:do if((f|0)>0){e=c[a+356>>2]|0;d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}}else d=f;while(0);if((f|0)>(d|0)){g=c[a+356>>2]|0;d=g+(d<<2)|0;e=c[d>>2]|0;c[d>>2]=c[g+(f+-1<<2)>>2];c[(c[a+356>>2]|0)+(f+-1<<2)>>2]=e;c[a+348>>2]=f+-1}ki(a,b);return}function kk(b){b=b|0;var d=0;c[b>>2]=4580;d=c[b+80>>2]|0;if(d|0){if(a[b+84>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+72>>2]=0;c[b+76>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(!d){a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}if(a[b+44>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+40>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}function lk(b){b=b|0;var d=0;c[b>>2]=9068;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function mk(b){b=b|0;var d=0;c[b>>2]=5768;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0;d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}function nk(b){b=b|0;var d=0;c[b>>2]=9668;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function ok(b){b=b|0;var d=0,e=0,f=0;e=Ds(10448)|0;c[e>>2]=5444;c[e+4>>2]=2;a[e+24>>0]=1;c[e+20>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+28>>2]=5916;g[e+60>>2]=0.0;c[e+10444>>2]=b;c[e+64>>2]=79;c[e+68>>2]=xb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[e+72>>2]=xb[c[(c[b>>2]|0)+8>>2]&127](b)|0;b=0;do{d=0;do{f=c[e+10444>>2]|0;c[e+76+(b*144|0)+(d<<2)>>2]=Bb[c[(c[f>>2]|0)+16>>2]&63](f,b,d)|0;f=c[e+10444>>2]|0;c[e+5260+(b*144|0)+(d<<2)>>2]=Bb[c[(c[f>>2]|0)+20>>2]&63](f,b,d)|0;d=d+1|0}while((d|0)<36);b=b+1|0}while((b|0)<36);return e|0}function pk(){var a=0,b=0,d=0,e=0;e=l;l=l+48|0;a=ts()|0;if(a|0?(d=c[a>>2]|0,d|0):0){b=c[d+48>>2]|0;a=c[d+48+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[e+24>>2]=21877;Ww(21827,e+24|0)}if((b|0)==1126902529&(a|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+36>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(ql(2784,d,e+36|0)|0){d=c[e+36>>2]|0;d=xb[c[(c[d>>2]|0)+8>>2]&127](d)|0;c[e>>2]=21877;c[e+4>>2]=a;c[e+8>>2]=d;Ww(21741,e)}else{c[e+16>>2]=21877;c[e+16+4>>2]=a;Ww(21786,e+16|0)}}Ww(21865,e+32|0)}function qk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=zb[c[(c[b>>2]|0)+56>>2]&31](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=3848;a[b+8>>0]=1;c[b+12>>2]=4060;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[f+8>>2];c[b+20>>2]=c[e+8>>2];gj(b+72|0);return b|0}function rk(b){b=b|0;var d=0;c[b>>2]=5400;d=c[b+344>>2]|0;Ib[c[c[d>>2]>>2]&511](d);d=c[b+344>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b>>2]=5356;d=c[b+336>>2]|0;if(d|0){if(a[b+340>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b>>2]=5320;d=c[b+296>>2]|0;if(!d){a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}if(a[b+300>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+296>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}function sk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=zb[c[(c[b>>2]|0)+56>>2]&31](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=3848;a[b+8>>0]=0;c[b+12>>2]=4060;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[e+8>>2];c[b+20>>2]=c[f+8>>2];gj(b+72|0);return b|0}function tk(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0;i=l;l=l+64|0;c[i+48>>2]=f;c[i+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){l=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];g[i+40>>2]=e;e=+qb[c[(c[f>>2]|0)+12>>2]&31](f,i,1);l=i;return +e}function uk(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=Ts()|0;He(i,b,d,e,f,h);c[i>>2]=4764;c[i+4>>2]=9;a[i+1309>>0]=0;g[i+1316>>2]=0.0;g[i+1340>>2]=0.0;g[i+1364>>2]=1.0;a[i+1310>>0]=0;g[i+1320>>2]=0.0;g[i+1344>>2]=0.0;g[i+1368>>2]=1.0;a[i+1311>>0]=0;g[i+1324>>2]=0.0;g[i+1348>>2]=0.0;g[i+1372>>2]=1.0;a[i+1312>>0]=0;g[i+1328>>2]=0.0;g[i+1352>>2]=0.0;g[i+1376>>2]=1.0;a[i+1313>>0]=0;g[i+1332>>2]=0.0;g[i+1356>>2]=0.0;g[i+1380>>2]=1.0;a[i+1314>>0]=0;g[i+1336>>2]=0.0;g[i+1360>>2]=0.0;g[i+1384>>2]=1.0;return i|0}function vk(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;c=l;l=l+48|0;d=2.0/+EF(b);f=+g[(gJ(b)|0)>>2];e=+g[(OI(b)|0)>>2];i=+g[(NI(b)|0)>>2];h=+g[(MI(b)|0)>>2];g[c+32>>2]=1.0-(e*e*d+i*i*d);g[c+28>>2]=f*e*d-h*i*d;g[c+24>>2]=f*i*d+h*e*d;g[c+20>>2]=f*e*d+h*i*d;g[c+16>>2]=1.0-(f*f*d+i*i*d);g[c+12>>2]=e*i*d-h*f*d;g[c+8>>2]=f*i*d-h*e*d;g[c+4>>2]=e*i*d+h*f*d;g[c>>2]=1.0-(f*f*d+e*e*d);Ip(a,c+32|0,c+28|0,c+24|0,c+20|0,c+16|0,c+12|0,c+8|0,c+4|0,c);l=c;return}function wk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[e+16>>2]|0;if(!f){if(!(bp(e)|0)){g=c[e+16>>2]|0;h=5}}else{g=f;h=5}a:do if((h|0)==5){f=c[e+20>>2]|0;if((g-f|0)>>>0<d>>>0){Bb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){h=d;while(1){if(!h){g=b;break b}g=h+-1|0;if((a[b+g>>0]|0)==10)break;else h=g}if((Bb[c[e+36>>2]&63](e,b,h)|0)>>>0<h>>>0)break a;g=b+h|0;d=d-h|0;f=c[e+20>>2]|0}else g=b;while(0);gi(f|0,g|0,d|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+d}while(0);return}function xk(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){a=a+72|0;break}if((b|0)==1&(d|0)==8){a=a+76|0;break}if((b|0)<20&(d|0)==28){a=a+84|0;break}if((b|0)==28&(d|0)<20){a=a+80|0;break}if((b|0)<20){if((d|0)<20){a=a+28|0;break}if((d+-21|0)>>>0<9){a=a+32|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){a=a+36|0;break}if((b|0)==31)if((d|0)==31){a=a+44|0;break}else{a=a+40|0;break}}if((d|0)==31){a=a+48|0;break}else{a=a+52|0;break}}else a=a+56|0;while(0);return c[a>>2]|0}function yk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+16|0;Sb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];k=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:i;j=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:h;f=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:f;h=1.0/+D(+(f*f+(k*k+j*j)));i=+nb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*h*k;g[a+4>>2]=i*h*j+ +g[a+4>>2];g[a+8>>2]=i*h*f+ +g[a+8>>2];l=e;return}function zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+48|0;e=$G(b,0)|0;g[d+32>>2]=+Dp(c,e);g[d+28>>2]=+ep(c,e);g[d+24>>2]=+dp(c,e);e=$G(b,1)|0;g[d+20>>2]=+Dp(c,e);g[d+16>>2]=+ep(c,e);g[d+12>>2]=+dp(c,e);b=$G(b,2)|0;g[d+8>>2]=+Dp(c,b);g[d+4>>2]=+ep(c,b);g[d>>2]=+dp(c,b);Sq(a,d+32|0,d+28|0,d+24|0,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d);l=d;return}function Ak(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+F(+c);h=+G(+c);c=+g[b+444>>2];if(+C(+i)>1.1920928955078125e-07){j=+g[b+448>>2];e=h*h;f=i*i;c=+D(+((h*h/(i*i)+1.0)/(1.0/(j*j)+h*h/(i*i)/(c*c))))}else{e=h*h;f=i*i}c=c*.5;j=+G(+c)/+D(+(f+0.0+e));c=+F(+c);k=c*d+i*j*0.0-h*j*-0.0;f=c*0.0-h*j*d-j*0.0*0.0;e=c*0.0+j*0.0*0.0-i*j*d;d=-(j*0.0*d)-i*j*0.0-h*j*-0.0;g[a>>2]=h*j*f+(c*k+d*-(j*0.0))-e*-(i*j);g[a+4>>2]=e*-(j*0.0)+(c*f+d*-(i*j))-h*j*k;g[a+8>>2]=k*-(i*j)+(h*j*d+c*e)-f*-(j*0.0);g[a+12>>2]=0.0;return}function Bk(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;g[b+20>>2]=0.0;g[b+24>>2]=0.0;a[b+248>>0]=0;a[b+249>>0]=0;g[b+252>>2]=0.0;c[b+68>>2]=0;c[b+68+4>>2]=0;c[b+68+8>>2]=0;c[b+68+12>>2]=0;b=c[(c[b+8>>2]|0)+344>>2]|0;if((c[(xb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)<=0)return;do{f=c[b>>2]|0;h=c[f+12>>2]|0;f=c[c[(xb[c[f+28>>2]&127](b)|0)+12>>2]>>2]|0;e=c[(c[(xb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+12>>2]|0)+4>>2]|0;Cb[h&31](b,f,e,c[d+24>>2]|0)|0}while((c[(xb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)>0);return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[6131]=(c[6131]|0)+-1;Ob[c[(c[a>>2]|0)+20>>2]&127](a,b);e=c[b+800>>2]|0;d=(c[a+12>>2]|0)+-1|0;g=c[a+20>>2]|0;f=c[g+(e<<2)>>2]|0;c[g+(e<<2)>>2]=c[g+(d<<2)>>2];c[(c[a+20>>2]|0)+(d<<2)>>2]=f;c[(c[(c[a+20>>2]|0)+(e<<2)>>2]|0)+800>>2]=e;c[a+12>>2]=d;a=c[a+72>>2]|0;if(!b)return;g=c[a+16>>2]|0;if(g>>>0<=b>>>0?(g+(P(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function Dk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[b+8>>2]|0;if((k|0)<=0)return;j=c[b+16>>2]|0;i=0;b=0;do{h=c[j+(i<<2)>>2]|0;if(!(c[h+204>>2]&3)){g=c[a+16>>2]|0;e=g+(b<<3)|0;d=c[e>>2]|0;if((d|0)==(b|0))d=b;else{f=d;do{d=g+(f<<3)|0;c[e>>2]=c[d>>2];d=c[d>>2]|0;e=g+(d<<3)|0;f=c[e>>2]|0}while((d|0)!=(f|0))}c[h+208>>2]=d;c[g+(b<<3)+4>>2]=i;c[h+212>>2]=-1;b=b+1|0}else{c[h+208>>2]=-1;c[h+212>>2]=-2}i=i+1|0}while((i|0)!=(k|0));return}function Ek(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0;while(1){g=c[a+12>>2]|0;if(!(((e[f>>1]|0)>=(e[a>>1]|0)?(e[d>>1]|0)<=(e[a+6>>1]|0):0)&(e[d+4>>1]|0)<=(e[a+10>>1]|0)&(e[f+4>>1]|0)>=(e[a+4>>1]|0)&(e[d+2>>1]|0)<=(e[a+8>>1]|0)&(e[f+2>>1]|0)>=(e[a+2>>1]|0))){h=6;break}if((g|0)>-1)break;i=a+16|0;Ek(i,b,d,f);g=c[a+28>>2]|0;a=i+(((g|0)>-1?1:0-g|0)<<4)|0}if((h|0)==6)return;Sb[c[(c[b>>2]|0)+8>>2]&127](b,g>>>21,g&2097151);return}function Fk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Ts()|0;Yd(f,b,d,e);c[f>>2]=4764;c[f+4>>2]=9;a[f+1309>>0]=0;g[f+1316>>2]=0.0;g[f+1340>>2]=0.0;g[f+1364>>2]=1.0;a[f+1310>>0]=0;g[f+1320>>2]=0.0;g[f+1344>>2]=0.0;g[f+1368>>2]=1.0;a[f+1311>>0]=0;g[f+1324>>2]=0.0;g[f+1348>>2]=0.0;g[f+1372>>2]=1.0;a[f+1312>>0]=0;g[f+1328>>2]=0.0;g[f+1352>>2]=0.0;g[f+1376>>2]=1.0;a[f+1313>>0]=0;g[f+1332>>2]=0.0;g[f+1356>>2]=0.0;g[f+1380>>2]=1.0;a[f+1314>>0]=0;g[f+1336>>2]=0.0;g[f+1360>>2]=0.0;g[f+1384>>2]=1.0;return f|0}function Gk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;h=+g[a+60>>2];k=+g[a+76>>2]-h;j=+g[a+64>>2];i=+g[a+80>>2]-j;l=+g[a+68>>2];m=+g[a+84>>2]-l;h=+g[a+92>>2]-h;j=+g[a+96>>2]-j;l=+g[a+100>>2]-l;g[d+12>>2]=0.0;f=1.0/+D(+((k*j-i*h)*(k*j-i*h)+((i*l-m*j)*(i*l-m*j)+(m*h-k*l)*(m*h-k*l))));g[d>>2]=(i*l-m*j)*f;g[d+4>>2]=(m*h-k*l)*f;g[d+8>>2]=(k*j-i*h)*f;c[e>>2]=c[a+60>>2];c[e+4>>2]=c[a+60+4>>2];c[e+8>>2]=c[a+60+8>>2];c[e+12>>2]=c[a+60+12>>2];return}function Hk(b){b=b|0;var d=0,e=0;c[b>>2]=6400;if(a[b+52>>0]|0?(d=c[b+56>>2]|0,d|0):0){e=c[b+4>>2]|0;Ob[c[(c[e>>2]|0)+16>>2]&127](e,d)}d=c[b+44>>2]|0;if(d|0){if(a[b+48>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;e=b+20|0;c[e>>2]=0;return}if(a[b+28>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;e=b+20|0;c[e>>2]=0;return}function Ik(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+224|0;e=g+80|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[g+120>>2]=c[d>>2];if((Xc(0,b,g+120|0,g,g+80|0)|0)>=0){e=c[2444]|0;if((a[9850]|0)<1)c[2444]=e&-33;if(!(c[2456]|0)){d=c[2455]|0;c[2455]=g+136;c[2451]=g+136;c[2449]=g+136;c[2456]=80;c[2448]=g+136+80;Xc(9776,b,g+120|0,g,g+80|0)|0;if(d|0){Bb[c[9812>>2]&63](9776,0,0)|0;c[2455]=d;c[2456]=0;c[2448]=0;c[2451]=0;c[2449]=0}}else Xc(9776,b,g+120|0,g,g+80|0)|0;c[2444]=c[2444]|e&32}l=g;return}function Jk(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[7131]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[7137]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[7137]=84;b=-1;break}}else b=1;while(0);return b|0}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+g[a+60>>2];k=+g[a+76>>2]-i;j=+g[a+64>>2];f=+g[a+80>>2]-j;d=+g[a+68>>2];h=+g[a+84>>2]-d;i=+g[a+92>>2]-i;j=+g[a+96>>2]-j;d=+g[a+100>>2]-d;g[c+12>>2]=0.0;e=1.0/+D(+((k*j-f*i)*(k*j-f*i)+((f*d-h*j)*(f*d-h*j)+(h*i-k*d)*(h*i-k*d))));g[c>>2]=(f*d-h*j)*e;g[c+4>>2]=(h*i-k*d)*e;g[c+8>>2]=(k*j-f*i)*e;if(!b)return;g[c>>2]=-((f*d-h*j)*e);g[c+4>>2]=-((h*i-k*d)*e);g[c+8>>2]=-((k*j-f*i)*e);return}function Lk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[a+780>>2]|0;g=c[a+812>>2]|0;if((g|0)<=0){h=0;return h|0}f=c[a+820>>2]|0;a=0;while(1){i=c[f+(a*44|0)+8>>2]|0;if(((i|0)==(h+(e*104|0)|0)|((i|0)==(h+(b*104|0)|0)|(i|0)==(h+(d*104|0)|0))?(i=c[f+(a*44|0)+12>>2]|0,(i|0)==(h+(e*104|0)|0)|((i|0)==(h+(b*104|0)|0)|(i|0)==(h+(d*104|0)|0))):0)?(i=c[f+(a*44|0)+16>>2]|0,(i|0)==(h+(e*104|0)|0)|((i|0)==(h+(b*104|0)|0)|(i|0)==(h+(d*104|0)|0))):0){a=1;f=7;break}a=a+1|0;if((a|0)>=(g|0)){a=0;f=7;break}}if((f|0)==7)return a|0;return 0}function Mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ob[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+48>>2]=0;c[b+52>>2]=c[a+56>>2];c[b+56>>2]=0;return 17763}function Nk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0,j=0;i=c[a+100>>2]|0;j=c[a+108>>2]|0;f=+g[j+(((b|0)%(i|0)|0)<<4)+4>>2]*+g[a+20>>2];h=+g[j+(((b|0)%(i|0)|0)<<4)+8>>2]*+g[a+24>>2];g[d>>2]=+g[j+(((b|0)%(i|0)|0)<<4)>>2]*+g[a+16>>2];g[d+4>>2]=f;g[d+8>>2]=h;g[d+12>>2]=0.0;d=c[a+108>>2]|0;h=+g[d+(((b+1|0)%(i|0)|0)<<4)+4>>2]*+g[a+20>>2];f=+g[d+(((b+1|0)%(i|0)|0)<<4)+8>>2]*+g[a+24>>2];g[e>>2]=+g[d+(((b+1|0)%(i|0)|0)<<4)>>2]*+g[a+16>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ob[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+48>>2]=0;c[b+52>>2]=c[a+56>>2];c[b+56>>2]=0;return 17307}function Pk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0,i=0;e=l;l=l+32|0;d=c[a+184>>2]|0;if(+g[d+4>>2]==0.0){d=0;l=e;return d|0}b=c[b>>2]|0;if(!(zb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){d=1;l=e;return d|0}h=c[a+192>>2]|0;i=c[b+192>>2]|0;d=c[a+184>>2]|0;f=+g[a+188>>2];c[e>>2]=0;c[e+4>>2]=i;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;vc(h,a+36|0,a+100|0,e,d,f);d=1;l=e;return d|0}function Qk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ob[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+48>>2]=0;c[b+52>>2]=c[a+72>>2];c[b+56>>2]=0;return 16327}function Rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+16|0;k=+g[d>>2];j=+g[d+4>>2];i=+g[d+8>>2];h=k*+g[b+60>>2]+j*+g[b+64>>2]+i*+g[b+68>>2];f=k*+g[b+76>>2]+j*+g[b+80>>2]+i*+g[b+84>>2];i=k*+g[b+92>>2]+j*+g[b+96>>2]+i*+g[b+100>>2];g[e>>2]=h;g[e+4>>2]=f;g[e+8>>2]=i;g[e+12>>2]=0.0;d=b+60+((+g[e+((h<f&1)<<2)>>2]<i?2:h<f&1)<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=e;return}function Sk(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=c[a+8>>2]|0;c[b+304>>2]=(c[b+304>>2]|0)+1;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+52>>2]=c[d>>2];c[b+52+4>>2]=c[d+4>>2];c[b+52+8>>2]=c[d+8>>2];c[b+52+12>>2]=c[d+12>>2];l=d;return}function Tk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;do switch(b|0){case 0:{b=1;f=0;break}case 1:{b=2;f=0;break}case 2:{b=3;f=1;break}case 3:{f=2;break}case 4:{f=0;break}case 5:{f=1;break}case 6:{f=2;break}case 7:{f=3;break}case 8:{b=5;f=4;break}case 9:{b=6;f=4;break}case 10:{b=7;f=5;break}case 11:{b=7;f=6;break}default:{b=0;f=0}}while(0);Sb[c[(c[a>>2]|0)+108>>2]&127](a,f,d);Sb[c[(c[a>>2]|0)+108>>2]&127](a,b,e);return}function Uk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+nb[c[(c[a>>2]|0)+48>>2]&15](a);h=+nb[c[(c[a>>2]|0)+48>>2]&15](a);d=+nb[c[(c[a>>2]|0)+48>>2]&15](a);m=(k+ +g[a+32>>2])/+g[a+16>>2];j=(h+ +g[a+36>>2])/+g[a+20>>2];f=(d+ +g[a+40>>2])/+g[a+24>>2];l=+C(+(+g[b>>2]));i=+C(+(+g[b+4>>2]));e=+C(+(+g[b+8>>2]));g[a+16>>2]=l;g[a+20>>2]=i;g[a+24>>2]=e;g[a+28>>2]=0.0;g[a+32>>2]=m*l-k;g[a+36>>2]=j*i-h;g[a+40>>2]=f*e-d;g[a+44>>2]=0.0;return}function Vk(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0;bc[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,h,i,j,k);l=c[a+184>>2]|0;m=c[j+20>>2]|0;m=(l|0)>(m|0)?l:m;if((m|0)<=0)return 0.0;l=0;do{n=+wb[c[(c[a>>2]|0)+40>>2]&3](a,l,b,d,e,f,h,i,j,k);g[a+228>>2]=n;o=l;l=l+1|0}while(((o|0)<(m+-1|0)?!(n<=+g[j+92>>2]):0)&(l|0)<(m|0));return 0.0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=3;c[d+4>>2]=3;j=c[b+28>>2]|0;i=c[b+32>>2]|0;xc(b,j+4|0,i+4|0,j+324|0,i+324|0);if((a[b+526>>0]|0?(e=c[d>>2]|0,c[d>>2]=e+1,f=c[d+4>>2]|0,c[d+4>>2]=f+-1,h=+g[b+456>>2],+g[b+444>>2]<h):0)?+g[b+448>>2]<h:0){c[d>>2]=e+2;c[d+4>>2]=f+-2}if(!(a[b+525>>0]|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function Xk(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;g[b>>2]=d;c[b+4>>2]=e;c[b+72>>2]=f;c[b+76>>2]=c[h>>2];c[b+76+4>>2]=c[h+4>>2];c[b+76+8>>2]=c[h+8>>2];c[b+76+12>>2]=c[h+12>>2];g[b+92>>2]=0.0;g[b+96>>2]=0.0;g[b+100>>2]=.5;g[b+104>>2]=0.0;g[b+108>>2]=0.0;g[b+112>>2]=0.0;g[b+116>>2]=.800000011920929;g[b+120>>2]=1.0;a[b+124>>0]=0;g[b+128>>2]=.004999999888241291;g[b+132>>2]=.009999999776482582;g[b+136>>2]=.009999999776482582;g[b+140>>2]=.009999999776482582;kr(b+8|0);return}function Yk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=d|d<<8|d<<16|d<<24;while((b|0)<=((f&-4)-64|0)){c[b>>2]=g;c[b+4>>2]=g;c[b+8>>2]=g;c[b+12>>2]=g;c[b+16>>2]=g;c[b+20>>2]=g;c[b+24>>2]=g;c[b+28>>2]=g;c[b+32>>2]=g;c[b+36>>2]=g;c[b+40>>2]=g;c[b+44>>2]=g;c[b+48>>2]=g;c[b+52>>2]=g;c[b+56>>2]=g;c[b+60>>2]=g;b=b+64|0}while((b|0)<(f&-4|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Zk(a,b,c,d,e,f,h,i,j,k){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=k|0;if(!(((h-d)*b-(i-e)*a)*f+(((i-e)*c-(j-f)*b)*d+((j-f)*a-(h-d)*c)*e)<0.0)){k=0;return k|0}do if(!((h-d)*d+(i-e)*e+(j-f)*f>0.0))if((h-d)*h+(i-e)*i+(j-f)*j<0.0){a=h*h+i*i+j*j;break}else{a=((h*h+i*i+j*j)*(d*d+e*e+f*f)-(h*d+i*e+j*f)*(h*d+i*e+j*f))/((h-d)*(h-d)+(i-e)*(i-e)+(j-f)*(j-f));a=a>0.0?a:0.0;break}else a=d*d+e*e+f*f;while(0);g[k>>2]=+D(+a);k=1;return k|0}function _k(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0;b=c[b+36>>2]|0;i=c[b+8>>2]|0;h=c[b+12>>2]|0;f=c[b+16>>2]|0;e=+g[a+52>>2];d=+Gh(a+4|0,+g[a+36>>2],+g[a+40>>2],+g[a+44>>2],+g[i+8>>2],+g[i+12>>2],+g[i+16>>2],+g[h+8>>2],+g[h+12>>2],+g[h+16>>2],+g[f+8>>2],+g[f+12>>2],+g[f+16>>2],e);if(!(d>0.0&d<e)){i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}g[a+52>>2]=d;c[a+56>>2]=b;i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}function $k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if(c>>>0>=3)if((c+-3|0)>>>0<3)switch(b|0){case 2:{d=+g[a+868+(c+-3<<6)+32>>2];break a}case 4:{d=+g[a+868+(c+-3<<6)+36>>2];break a}case 3:{d=+g[a+868+(c+-3<<6)+28>>2];break a}default:{d=0.0;break a}}else d=0.0;else switch(b|0){case 2:{d=+g[a+756+(c<<2)>>2];break a}case 4:{d=+g[a+772+(c<<2)>>2];break a}case 3:{d=+g[a+740+(c<<2)>>2];break a}default:{d=0.0;break a}}while(0);return +d}function al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;Sb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+nb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;h=+g[d>>2];f=+g[d+4>>2];e=+g[d+8>>2];j=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:h;i=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:f;e=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:e;f=1.0/+D(+(e*e+(j*j+i*i)));h=+nb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+h*f*j;g[a+4>>2]=h*f*i+ +g[a+4>>2];g[a+8>>2]=h*f*e+ +g[a+8>>2];return}function bl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(qD(b,c[d+8>>2]|0)|0)){if(qD(b,c[d>>2]|0)|0){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else qs(d,e,f);while(0);return}function cl(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0;j=l;l=l+16|0;h=+g[b>>2];i=+g[b+4>>2];e=+g[b+8>>2];if(h*h+i*i+e*e>0.0?(f=+g[a+52>>2],f>0.0):0){c=1.0/+D(+(h*h+i*i+e*e));d=e*c*-f*e*c*-f+(h*c*-f*h*c*-f+i*c*-f*i*c*-f);if(d>0.0){g[j>>2]=-(h*c*-f);g[j+4>>2]=-(i*c*-f);g[j+8>>2]=-(e*c*-f);g[j+12>>2]=0.0;ve(a,j)}g[a+52>>2]=+D(+d);l=j;return}ve(a,b);l=j;return}function dl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(qD(b,c[d+8>>2]|0)|0)){h=c[b+12>>2]|0;Co(b+16|0,d,e,f);if((h|0)>1){g=b+24|0;do{Co(g,d,e,f);if(a[d+54>>0]|0)break a;g=g+8|0}while(g>>>0<(b+16+(h<<3)|0)>>>0)}}else on(d,e,f);while(0);return}function el(a,b){a=a|0;b=b|0;var d=0;b=l;l=l+16|0;d=c[a+8>>2]|0;c[a+132>>2]=c[d+52>>2];c[a+132+4>>2]=c[d+52+4>>2];c[a+132+8>>2]=c[d+52+8>>2];c[a+132+12>>2]=c[d+52+12>>2];$p(a+152|0,d+52|0,16)|0;yh(d+4|0,b);c[a+168>>2]=c[b>>2];c[a+168+4>>2]=c[b+4>>2];c[a+168+8>>2]=c[b+8>>2];c[a+168+12>>2]=c[b+12>>2];c[a+184>>2]=c[a+168>>2];c[a+184+4>>2]=c[a+168+4>>2];c[a+184+8>>2]=c[a+168+8>>2];c[a+184+12>>2]=c[a+168+12>>2];l=b;return}function fl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+228>>2]|0;a:do if((f|0)>0){e=c[a+236>>2]|0;d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}}else d=f;while(0);if((f|0)>(d|0)){g=c[a+236>>2]|0;d=g+(d<<2)|0;e=c[d>>2]|0;c[d>>2]=c[g+(f+-1<<2)>>2];c[(c[a+236>>2]|0)+(f+-1<<2)>>2]=e;c[a+228>>2]=f+-1}ch(c[b+28>>2]|0,b);ch(c[b+32>>2]|0,b);return}function gl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ob[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+48>>2]=0;return 11372}function hl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ob[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+12>>2]=c[a+72>>2];c[b+16>>2]=c[a+76>>2];c[b+20>>2]=c[a+80>>2];c[b+24>>2]=c[a+84>>2];c[b+28>>2]=c[a+52>>2];c[b+32>>2]=c[a+56>>2];c[b+36>>2]=c[a+60>>2];c[b+40>>2]=c[a+64>>2];c[b+44>>2]=c[a+68>>2];c[b+48>>2]=0;return 17004}function il(b,d,e){b=b|0;d=d|0;e=e|0;b=Ds(144)|0;c[b>>2]=5112;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+92>>2]=e;g[b+96>>2]=0.0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;c[b+108>>2]=d;c[b+112>>2]=0;c[b+116>>2]=2;c[b+120>>2]=1;g[b+104>>2]=0.0;g[b+100>>2]=0.0;return b|0}function jl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=c[d>>2]|0;f=zb[c[(c[f>>2]|0)+56>>2]&31](f,72)|0;h=c[d+4>>2]|0;i=c[b+8>>2]|0;g=c[b+12>>2]|0;e=c[b+16>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=6400;c[f+8>>2]=i;a[f+28>>0]=1;c[f+24>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;a[f+48>>0]=1;c[f+44>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a[f+52>>0]=0;c[f+56>>2]=h;a[f+60>>0]=0;c[f+64>>2]=g;c[f+68>>2]=e;return f|0}function kl(b,d){b=b|0;d=d|0;var e=0;e=bt()|0;c[e+8>>2]=0;c[e+12>>2]=-1;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;c[e+24>>2]=1065353216;g[e+28>>2]=0.0;g[e+48>>2]=.03999999910593033;c[e+56>>2]=0;c[e+60>>2]=1065353216;c[e+64>>2]=1065353216;c[e+68>>2]=1065353216;g[e+72>>2]=0.0;c[e+76>>2]=-1082130432;c[e+80>>2]=-1082130432;c[e+84>>2]=-1082130432;g[e+88>>2]=0.0;a[e+92>>0]=0;c[e>>2]=8036;c[e+96>>2]=b;c[e+4>>2]=3;if(!d)return e|0;uj(e);return e|0}function ll(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+32|0;if(!(+g[a+404>>2]!=0.0)){l=d;return}wo(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);if(!(gJ(a+604|0)|0)){l=d;return}jq(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+408>>2],+g[a+412>>2],+g[a+416>>2]);Ap(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);xo(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);l=d;return}function ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+248>>2]|0;a:do if((f|0)>0){e=c[a+256>>2]|0;d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}}else d=f;while(0);if((f|0)<=(d|0)){ki(a,b);return}g=c[a+256>>2]|0;d=g+(d<<2)|0;e=c[d>>2]|0;c[d>>2]=c[g+(f+-1<<2)>>2];c[(c[a+256>>2]|0)+(f+-1<<2)>>2]=e;c[a+248>>2]=f+-1;ki(a,b);return}function ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+348>>2]|0;a:do if((f|0)>0){e=c[a+356>>2]|0;d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}}else d=f;while(0);if((f|0)<=(d|0)){ki(a,b);return}g=c[a+356>>2]|0;d=g+(d<<2)|0;e=c[d>>2]|0;c[d>>2]=c[g+(f+-1<<2)>>2];c[(c[a+356>>2]|0)+(f+-1<<2)>>2]=e;c[a+348>>2]=f+-1;ki(a,b);return}function pl(b,d,e){b=b|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;a[b+251>>0]=0;c[b+68>>2]=c[d>>2];c[b+68+4>>2]=c[d+4>>2];c[b+68+8>>2]=c[d+8>>2];c[b+68+12>>2]=c[d+12>>2];f=+g[b+68>>2];h=+g[b+72>>2];i=+g[b+76>>2];j=+D(+(f*f+h*h+i*i));if(j>1.1920928955078125e-07){k=f*(1.0/j);h=h*(1.0/j);f=i*(1.0/j);d=c[b+80>>2]|0}else{k=0.0;h=0.0;f=0.0;d=0}g[b+84>>2]=k;g[b+88>>2]=h;g[b+92>>2]=f;c[b+96>>2]=d;g[b+252>>2]=+g[b+252>>2]+e;return}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+64|0;if(!(qD(a,b)|0))if((b|0)!=0?(f=fj(b,2792)|0,(f|0)!=0):0){b=g+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Vb[c[(c[f>>2]|0)+28>>2]&127](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;l=g;return b|0}function rl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+36>>2];h=+g[a+32>>2];i=b+(m<<4)|0;k=+g[b+(m<<4)+4>>2];f=+g[b+(m<<4)+8>>2];l=+D(+(k*k+f*f));if(l!=0.0){j=f*(e/l);f=+g[i>>2]<0.0?-h:h;e=k*(e/l)}else{j=0.0;f=+g[i>>2]<0.0?-h:h}g[c+(m<<4)>>2]=f;g[c+(m<<4)+4>>2]=e;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;if(!e)e=c[a+188>>2]|0;i=c[a+328>>2]|0;if((i|0)<=0)return;h=c[a+336>>2]|0;f=0;while(1){g=h+(f<<2)|0;if((c[g>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(i|0)){k=9;break}}if((k|0)==9)return;if((f|0)>=(i|0))return;c[g>>2]=c[h+(i+-1<<2)>>2];c[a+328>>2]=i+-1;k=c[a+344>>2]|0;Cb[c[(c[k>>2]|0)+12>>2]&31](k,e,b,d)|0;return}function tl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+32|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){d=0;l=e;return d|0}b=c[b>>2]|0;if(!(zb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){d=1;l=e;return d|0}f=c[b+192>>2]|0;d=c[a+216>>2]|0;c[e>>2]=0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;ad(a+68|0,a+132|0,e,d);d=1;l=e;return d|0}function ul(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c[b+4>>2]=c[d>>2];c[b>>2]=6512;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;a[b+68>>0]=g&1;c[b+72>>2]=c[d+4>>2];a[b+76>>0]=0;c[b+80>>2]=c[(c[(g?f:e)+4>>2]|0)+72>>2];eh(b,e,f);return}function vl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0;j=c[a+72>>2]|0;i=c[a+68>>2]|0;h=c[a+76>>2]|0;e=+g[a+64>>2]*(+g[b+(j<<2)>>2]/+g[a+16+(j<<2)>>2]);g[a+64>>2]=e;f=+g[a+60>>2]*(+g[b+(i<<2)>>2]/+g[a+16+(i<<2)>>2]+ +g[b+(h<<2)>>2]/+g[a+16+(h<<2)>>2])*.5;g[a+60>>2]=f;g[a+56>>2]=f/+D(+(e*e+f*f));f=+C(+(+g[b>>2]));e=+C(+(+g[b+4>>2]));d=+C(+(+g[b+8>>2]));g[a+16>>2]=f;g[a+20>>2]=e;g[a+24>>2]=d;g[a+28>>2]=0.0;return}function wl(b){b=b|0;var d=0;c[b>>2]=5356;d=c[b+336>>2]|0;if(d|0){if(a[b+340>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b>>2]=5320;d=c[b+296>>2]|0;if(!d){a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}if(a[b+300>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+296>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}function xl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+32>>2];i=+g[a+40>>2];k=+g[b+(m<<4)>>2];f=+g[b+(m<<4)+4>>2];l=+D(+(k*k+f*f));h=+g[b+(m<<4)+8>>2];if(l!=0.0){j=f*(e/l);f=h<0.0?-i:i;e=k*(e/l)}else{j=0.0;f=h<0.0?-i:i}g[c+(m<<4)>>2]=e;g[c+(m<<4)+4>>2]=j;g[c+(m<<4)+8>>2]=f;m=m+1|0}while((m|0)!=(d|0));return}function yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+32>>2];i=+g[a+36>>2];k=+g[b+(m<<4)>>2];f=+g[b+(m<<4)+8>>2];l=+D(+(k*k+f*f));h=+g[b+(m<<4)+4>>2];if(l!=0.0){j=f*(e/l);f=h<0.0?-i:i;e=k*(e/l)}else{j=0.0;f=h<0.0?-i:i}g[c+(m<<4)>>2]=e;g[c+(m<<4)+4>>2]=f;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function zl(b){b=b|0;var d=0;c[b>>2]=4324;d=c[b+556>>2]|0;if(d|0){if(a[b+560>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+556>>2]=0}a[b+560>>0]=1;c[b+556>>2]=0;c[b+548>>2]=0;c[b+552>>2]=0;c[b>>2]=5320;d=c[b+296>>2]|0;if(!d){a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}if(a[b+300>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+296>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}function Al(b){b=b|0;var d=0;d=bt()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;c[d+56>>2]=0;c[d+60>>2]=1065353216;c[d+64>>2]=1065353216;c[d+68>>2]=1065353216;g[d+72>>2]=0.0;c[d+76>>2]=-1082130432;c[d+80>>2]=-1082130432;c[d+84>>2]=-1082130432;g[d+88>>2]=0.0;a[d+92>>0]=0;c[d>>2]=8036;c[d+96>>2]=b;c[d+4>>2]=3;uj(d);return d|0}function Bl(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;if(d|0)Hn(b,d);d=c[b+4>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(!d){d=b+28|0;e=b+16|0;c[e>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[d>>2]=0;return}if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+32>>2]=0;e=b+28|0;d=b+16|0;c[d>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[e>>2]=0;return}function Cl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+48|0;c[f+32>>2]=9284;c[f+32+4>>2]=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[d>>2];c[f+16+4>>2]=c[d+4>>2];c[f+16+8>>2]=c[d+8>>2];c[f+16+12>>2]=c[d+12>>2];Bf(c[a+4>>2]|0,f,f+32|0);Bf(c[a+44>>2]|0,f,f+32|0);l=f;return}function Dl(b){b=b|0;var d=0;d=c[b>>2]|0;if(d|0)Hn(b,d);d=c[b+4>>2]|0;if(d|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;d=b+28|0;c[d>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;d=b+28|0;c[d>>2]=0;b=b+16|0;c[b>>2]=0;return}function El(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0;d=1.0/+g[(c[b+108>>2]|0)+404>>2];if((c[b+128>>2]|0)<=0)return;e=0;do{f=c[b+136>>2]|0;if(!(a[f+(e*284|0)+84>>0]|0))h=0.0;else{h=+g[f+(e*284|0)+272>>2];h=d*(+g[f+(e*284|0)+216>>2]*(+g[f+(e*284|0)+204>>2]-+g[f+(e*284|0)+32>>2])*+g[f+(e*284|0)+268>>2]-h*+g[(h<0.0?f+(e*284|0)+220|0:f+(e*284|0)+224|0)>>2]);h=h<0.0?0.0:h}g[f+(e*284|0)+276>>2]=h;e=e+1|0}while((e|0)<(c[b+128>>2]|0));return}function Fl(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=l;l=l+48|0;f=+XI(b);h=+XI(c);i=+XI(d);b=+WI(b);c=+WI(c);d=+WI(d);g[e+32>>2]=h*i;g[e+28>>2]=c*b*i-f*d;g[e+24>>2]=c*f*i+b*d;g[e+20>>2]=h*d;g[e+16>>2]=c*b*d+f*i;g[e+12>>2]=c*f*d-b*i;g[e+8>>2]=-c;g[e+4>>2]=h*b;g[e>>2]=h*f;Ip(a,e+32|0,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e);l=e;return}function Gl(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[a+108>>2]|0;if(j|0){$b[c[(c[j>>2]|0)+24>>2]&7](j,d,f,g,h,i);return}d=b[a+56>>1]|0;if(!(d<<16>>16))return;h=1;i=1;do{f=c[a+68>>2]|0;if(b[f+(i<<2)>>1]&1){zb[c[(c[g>>2]|0)+8>>2]&31](g,(c[a+60>>2]|0)+((e[f+(i<<2)+2>>1]|0)<<6)|0)|0;d=b[a+56>>1]|0}h=h+1<<16>>16;i=h&65535}while(i>>>0<((d&65535)<<1|1)>>>0);return}function Hl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;f=+g[a+32>>2]/+g[a+16>>2];e=+g[a+36>>2]/+g[a+20>>2];d=+g[a+40>>2]/+g[a+24>>2];j=+C(+(+g[b>>2]));i=+C(+(+g[b+4>>2]));h=+C(+(+g[b+8>>2]));g[a+16>>2]=j;g[a+20>>2]=i;g[a+24>>2]=h;g[a+28>>2]=0.0;e=e*+g[b+4>>2];d=d*+g[b+8>>2];g[a+32>>2]=f*+g[b>>2];g[a+36>>2]=e;g[a+40>>2]=d;g[a+44>>2]=0.0;c[a+48>>2]=c[a+32+((((c[a+56>>2]|0)+2|0)%3|0)<<2)>>2];return}function Il(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=zb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5820;c[b+8>>2]=5868;c[b+56>>2]=d;c[b+60>>2]=0;c[b+44>>2]=f;c[b+48>>2]=e;f=Bb[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[b+72>>2]=f;e=c[b+56>>2]|0;Ob[c[(c[e>>2]|0)+20>>2]&127](e,f);a[b+76>>0]=1;return b|0}function Jl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;c[h>>2]=a;c[h+4>>2]=e;e=c[(c[b+4>>2]|0)+4>>2]|0;g=c[(c[d+4>>2]|0)+4>>2]|0;if((f|0)==1){f=c[a+76+(e*144|0)+(g<<2)>>2]|0;f=Cb[c[(c[f>>2]|0)+8>>2]&31](f,h,b,d)|0;l=h;return f|0}else{f=c[a+5260+(e*144|0)+(g<<2)>>2]|0;f=Cb[c[(c[f>>2]|0)+8>>2]&31](f,h,b,d)|0;l=h;return f|0}return 0}function Kl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0;e=+g[a+32>>2];i=+g[a+36>>2];h=+g[a+40>>2];switch(d|0){case 0:{a=0;d=0;f=1065353216;break}case 1:{a=0;d=0;f=-1082130432;break}case 2:{a=0;d=1065353216;f=0;e=i;break}case 3:{a=0;d=-1082130432;f=0;e=i;break}case 4:{a=1065353216;d=0;f=0;e=h;break}case 5:{a=-1082130432;d=0;f=0;e=h;break}default:return}c[b>>2]=f;c[b+4>>2]=d;c[b+8>>2]=a;g[b+12>>2]=-e;return}function Ll(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=zb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5820;c[b+8>>2]=5868;c[b+56>>2]=d;c[b+60>>2]=0;c[b+44>>2]=e;c[b+48>>2]=f;f=Bb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[b+72>>2]=f;e=c[b+56>>2]|0;Ob[c[(c[e>>2]|0)+20>>2]&127](e,f);a[b+76>>0]=0;return b|0}function Ml(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0;e=c[a+248>>2]|0;if((e|0)<=0)return;b=c[a+256>>2]|0;a=0;do{d=c[b+(a<<2)>>2]|0;switch(c[d+220>>2]|0){case 2:case 5:break;default:if(!(c[d+204>>2]&3)){h=+g[d+428>>2]*+g[d+412>>2];f=+g[d+432>>2]*+g[d+416>>2];g[d+472>>2]=+g[d+424>>2]*+g[d+408>>2]+ +g[d+472>>2];g[d+476>>2]=h+ +g[d+476>>2];g[d+480>>2]=f+ +g[d+480>>2]}}a=a+1|0}while((a|0)!=(e|0));return}function Nl(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0;c=l;l=l+16|0;m=+g[a+12>>2];i=+g[(gJ(b)|0)>>2];j=+g[a>>2];k=+g[b+12>>2];h=+g[a+4>>2];d=+g[(NI(b)|0)>>2];e=+g[a+8>>2];f=+g[(OI(b)|0)>>2];g[c+12>>2]=m*i+j*k+h*d-e*f;g[c+8>>2]=m*f+h*k+e*i-j*d;g[c+4>>2]=m*d+e*k+j*f-h*i;g[c>>2]=m*k-j*i-h*f-e*d;as(a,c+12|0,c+8|0,c+4|0,c);l=c;return a|0}function Ol(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0,k=0;e=l;l=l+16|0;j=c[a+56>>2]|0;k=c[a+32+(((j+2|0)%3|0)<<2)>>2]|0;c[e>>2]=k;c[e+4>>2]=k;c[e+8>>2]=k;g[e+12>>2]=0.0;g[e+(j<<2)>>2]=+g[a+32+(j<<2)>>2]+ +g[e+(j<<2)>>2];h=+g[e>>2]*2.0;f=+g[e+4>>2]*2.0;i=+g[e+8>>2]*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);l=e;return}function Pl(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;h=+nb[c[(c[a>>2]|0)+48>>2]&15](a);e=+nb[c[(c[a>>2]|0)+48>>2]&15](a);i=+nb[c[(c[a>>2]|0)+48>>2]&15](a);h=h+ +g[a+32>>2];e=e+ +g[a+36>>2];i=i+ +g[a+40>>2];g[a+48>>2]=b;f=+nb[c[(c[a>>2]|0)+48>>2]&15](a);d=+nb[c[(c[a>>2]|0)+48>>2]&15](a);b=i-+nb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+32>>2]=h-f;g[a+36>>2]=e-d;g[a+40>>2]=b;g[a+44>>2]=0.0;return}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+8>>2]|0)<=0)return;e=0;a:while(1){while(1){f=c[a+16>>2]|0;g=f+(e<<4)|0;if(!(zb[c[(c[b>>2]|0)+8>>2]&31](b,g)|0))break;Cb[c[(c[a>>2]|0)+12>>2]&31](a,c[g>>2]|0,c[f+(e<<4)+4>>2]|0,d)|0;c[6156]=(c[6156]|0)+-1;if((e|0)>=(c[a+8>>2]|0)){e=7;break a}}e=e+1|0;if((e|0)>=(c[a+8>>2]|0)){e=7;break}}if((e|0)==7)return}function Rl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=zb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5888;a[b+8>>0]=0;c[b+12>>2]=0;if(!(Bb[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0))return b|0;d=c[b+4>>2]|0;c[b+12>>2]=Bb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function Sl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=(a[b+8>>0]|0)!=0;h=c[(f?e:d)+8>>2]|0;f=f?d:e;g=c[f+8>>2]|0;d=c[h+328>>2]|0;a:do if((d|0)>0){e=c[h+336>>2]|0;b=0;while(1){if((c[e+(b<<2)>>2]|0)==(g|0))break;b=b+1|0;if((b|0)>=(d|0))break a}if((b|0)!=(d|0))return}while(0);e=c[h+344>>2]|0;Sb[c[(c[e>>2]|0)+36>>2]&127](e,h,f);return}function Tl(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;a[b+251>>0]=1;c[b+68>>2]=c[d>>2];c[b+68+4>>2]=c[d+4>>2];c[b+68+8>>2]=c[d+8>>2];c[b+68+12>>2]=c[d+12>>2];e=+g[b+68>>2];f=+g[b+72>>2];h=+g[b+76>>2];i=+D(+(e*e+f*f+h*h));if(i>1.1920928955078125e-07){j=e*(1.0/i);f=f*(1.0/i);e=h*(1.0/i);d=c[b+80>>2]|0}else{j=0.0;f=0.0;e=0.0;d=0}g[b+84>>2]=j;g[b+88>>2]=f;g[b+92>>2]=e;c[b+96>>2]=d;return}function Ul(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+nb[c[(c[a>>2]|0)+48>>2]&15](a);h=+nb[c[(c[a>>2]|0)+48>>2]&15](a);f=+nb[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[b+52>>2]-h;j=+g[b+56>>2]-f;g[d>>2]=+g[b+48>>2]-i;g[d+4>>2]=k;g[d+8>>2]=j;g[d+12>>2]=0.0;h=h+ +g[b+52>>2];f=f+ +g[b+56>>2];g[e>>2]=i+ +g[b+48>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function Vl(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,i=0.0;d=nt()|0;c[d+4>>2]=35;c[d+8>>2]=0;c[d+12>>2]=-1;g[d+16>>2]=0.0;c[d>>2]=7396;i=+g[a>>2];h=+g[a+4>>2];f=+g[a+8>>2];a=c[a+12>>2]|0;e=1.0/+D(+(i*i+h*h+f*f));g[d+52>>2]=i*e;g[d+56>>2]=h*e;g[d+60>>2]=f*e;c[d+64>>2]=a;g[d+68>>2]=b;c[d+72>>2]=1065353216;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;g[d+84>>2]=0.0;c[d+4>>2]=28;return d|0}function Wl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+780>>2]|0;h=c[a+792>>2]|0;if((h|0)<=0){h=0;return h|0}e=c[a+800>>2]|0;a=0;while(1){f=c[e+(a*52|0)+24>>2]|0;if((f|0)==(g+(b*104|0)|0)?(c[e+(a*52|0)+28>>2]|0)==(g+(d*104|0)|0):0){a=1;e=8;break}if((f|0)==(g+(d*104|0)|0)?(c[e+(a*52|0)+28>>2]|0)==(g+(b*104|0)|0):0){a=1;e=8;break}a=a+1|0;if((a|0)>=(h|0)){a=0;e=8;break}}if((e|0)==8)return a|0;return 0}function Xl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Rs()|0;Ra(f|0,a|0,b|0,d|0,e|0,0);c[f>>2]=4600;g[f+968>>2]=0.0;g[f+1056>>2]=0.0;g[f+1144>>2]=0.0;g[f+972>>2]=0.0;g[f+1060>>2]=0.0;g[f+1148>>2]=0.0;c[f+680>>2]=0;c[f+680+4>>2]=0;c[f+680+8>>2]=0;c[f+680+12>>2]=0;c[f+680+16>>2]=0;c[f+680+20>>2]=0;c[f+680+24>>2]=0;c[f+680+28>>2]=0;return f|0}function Yl(a){a=a|0;var b=0,d=0,e=0.0,f=0.0;if((c[a+128>>2]|0)<=0)return;b=0;do{d=c[a+136>>2]|0;c[d+(b*284|0)+32>>2]=c[d+(b*284|0)+204>>2];g[d+(b*284|0)+272>>2]=0.0;f=-+g[d+(b*284|0)+56>>2];e=-+g[d+(b*284|0)+60>>2];g[d+(b*284|0)>>2]=-+g[d+(b*284|0)+52>>2];g[d+(b*284|0)+4>>2]=f;g[d+(b*284|0)+8>>2]=e;g[d+(b*284|0)+12>>2]=0.0;g[d+(b*284|0)+268>>2]=1.0;b=b+1|0}while((b|0)<(c[a+128>>2]|0));return}function Zl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=c[d>>2]|0;g=zb[c[(c[g>>2]|0)+56>>2]&31](g,20)|0;h=c[d+4>>2]|0;i=a[b+4>>0]|0;b=c[d>>2]|0;c[g+4>>2]=b;c[g>>2]=6352;a[g+8>>0]=0;c[g+12>>2]=h;a[g+16>>0]=i;if(h|0)return g|0;c[g+12>>2]=Bb[c[(c[b>>2]|0)+12>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;return g|0}function _l(b){b=b|0;var d=0;c[b>>2]=5356;d=c[b+336>>2]|0;if(d|0){if(a[b+340>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b>>2]=5320;d=c[b+296>>2]|0;if(d|0){if(a[b+300>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+296>>2]=0}a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function $l(b){b=b|0;var d=0;c[b>>2]=4324;d=c[b+556>>2]|0;if(d|0){if(a[b+560>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+556>>2]=0}a[b+560>>0]=1;c[b+556>>2]=0;c[b+548>>2]=0;c[b+552>>2]=0;c[b>>2]=5320;d=c[b+296>>2]|0;if(d|0){if(a[b+300>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+296>>2]=0}a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function am(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+48|0;c[f>>2]=7376;c[f+4>>2]=b;c[f+8>>2]=c[d>>2];c[f+8+4>>2]=c[d+4>>2];c[f+8+8>>2]=c[d+8>>2];c[f+8+12>>2]=c[d+12>>2];c[f+24>>2]=c[e>>2];c[f+24+4>>2]=c[e+4>>2];c[f+24+8>>2]=c[e+8>>2];c[f+24+12>>2]=c[e+12>>2];b=c[a+52>>2]|0;Vb[c[(c[b>>2]|0)+8>>2]&127](b,f,d,e);l=f;return}function bm(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[a+32>>2];f=+g[a+36>>2];j=+g[a+40>>2];h=+nb[c[(c[a>>2]|0)+48>>2]&15](a);e=+nb[c[(c[a>>2]|0)+48>>2]&15](a);j=(j+ +nb[c[(c[a>>2]|0)+48>>2]&15](a))*2.0;g[d>>2]=b/12.0*((f+e)*2.0*(f+e)*2.0+j*j);g[d+4>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+j*j);g[d+8>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+(f+e)*2.0*(f+e)*2.0);g[d+12>>2]=0.0;return}function cm(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;d=l;l=l+16|0;c[d>>2]=9320;c[d+4>>2]=e;i=c[a+168>>2]|0;ze(c[a+4>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,i,d);ze(c[a+44>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,i,d);l=d;return}function dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+32|0;uq(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);jq(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+408>>2],+g[a+412>>2],+g[a+416>>2]);Ap(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);yq(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);l=d;return}function em(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+64|0;c[d>>2]=1065353216;c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d+20>>2]=1065353216;c[d+24>>2]=0;c[d+24+4>>2]=0;c[d+24+8>>2]=0;c[d+24+12>>2]=0;c[d+40>>2]=1065353216;c[d+44>>2]=0;c[d+48>>2]=c[b>>2];c[d+48+4>>2]=c[b+4>>2];c[d+48+8>>2]=c[b+8>>2];c[d+48+12>>2]=c[b+12>>2];Ld(a,d);l=d;return}function fm(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0;f=l;l=l+16|0;h=$G(b,0)|0;g[f+8>>2]=+Iy(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);h=$G(b,1)|0;g[f+4>>2]=+Iy(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);b=$G(b,2)|0;g[f>>2]=+Iy(+g[b>>2],+g[b+4>>2],+g[b+8>>2],c,d,e);$s(a,f+8|0,f+4|0,f);l=f;return}function gm(){var a=0,b=0,d=0;a=it()|0;c[a>>2]=1025;b=a+120|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));b=a+312|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));b=a+504|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));b=a+696|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a+772>>2]=0;c[a+776>>2]=0;c[a+780>>2]=0;c[a+800>>2]=0;return a|0}function hm(a,b,d){a=a|0;b=b|0;d=d|0;a:do switch(c[b+220>>2]|0){case 2:case 5:{switch(c[d+220>>2]|0){case 2:case 5:{a=0;break}default:break a}return a|0}default:{}}while(0);if(!((c[b+280>>2]|0)!=0?!(zb[c[(c[b>>2]|0)+12>>2]&31](b,d)|0):0)){if(!(c[d+280>>2]|0)){d=1;return d|0}if(zb[c[(c[d>>2]|0)+12>>2]&31](d,b)|0){d=1;return d|0}}d=0;return d|0}function im(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+296>>2]|0;a:do if((f|0)>0){e=c[a+304>>2]|0;d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}}else d=f;while(0);if((f|0)<=(d|0))return;g=c[a+304>>2]|0;b=g+(d<<2)|0;e=c[b>>2]|0;c[b>>2]=c[g+(f+-1<<2)>>2];c[(c[a+304>>2]|0)+(f+-1<<2)>>2]=e;c[a+296>>2]=f+-1;return}function jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[a+32>>2];h=+g[a+36>>2];e=+g[a+40>>2];i=+nb[c[(c[a>>2]|0)+48>>2]&15](a);f=+nb[c[(c[a>>2]|0)+48>>2]&15](a);e=e+ +nb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=+(b&1^1|0)*(j+i)-+(b&1|0)*(j+i);g[d+4>>2]=+(b>>>1&1^1|0)*(h+f)-+(b>>>1&1|0)*(h+f);g[d+8>>2]=+(b>>>2&1^1|0)*e-+(b>>>2&1|0)*e;g[d+12>>2]=0.0;return}function km(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0,i=0,j=0;f=l;l=l+16|0;j=$G(b,0)|0;i=$G(b,1)|0;h=$G(b,2)|0;an(f,c,d,e,+g[j>>2],+g[j+4>>2],+g[j+8>>2],+g[i>>2],+g[i+4>>2],+g[i+8>>2],+g[h>>2],+g[h+4>>2],+g[h+8>>2]);iq(a,+g[f>>2],+g[f+4>>2],+g[f+8>>2],+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);l=f;return}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=l;l=l+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+20>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+16>>2]|0;f=+qb[c[(c[g>>2]|0)+12>>2]&31](g,b,d);c[a+4>>2]=c[(c[a+16>>2]|0)+4>>2];l=e;return +f}function mm(b,d){b=b|0;d=d|0;if((c[b+16>>2]|0)!=(0-(c[b+56>>2]|0)|0))return;Dl(b+4|0);Dl(b+44|0);a[b+153>>0]=0;a[b+154>>0]=1;c[b+104>>2]=0;c[b+124>>2]=0;c[b+108>>2]=1;c[b+112>>2]=0;c[b+116>>2]=10;c[b+120>>2]=1;c[b+84>>2]=0;c[b+84+4>>2]=0;c[b+84+8>>2]=0;c[b+128>>2]=0;c[b+128+4>>2]=0;c[b+128+8>>2]=0;c[b+128+12>>2]=0;c[b+128+16>>2]=0;c[b+128+20>>2]=0;return}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[b+32>>2];j=+g[b+36>>2];e=+g[b+40>>2];h=+nb[c[(c[b>>2]|0)+48>>2]&15](b);f=+nb[c[(c[b>>2]|0)+48>>2]&15](b);e=e+ +nb[c[(c[b>>2]|0)+48>>2]&15](b);f=+g[d+4>>2]>=0.0?j+f:-(j+f);e=+g[d+8>>2]>=0.0?e:-e;g[a>>2]=+g[d>>2]>=0.0?i+h:-(i+h);g[a+4>>2]=f;g[a+8>>2]=e;g[a+12>>2]=0.0;return}function om(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0;if((d|0)<=0)return;e=0;do{i=+g[a+32>>2];h=+g[a+36>>2];h=+g[b+(e<<4)+4>>2]>=0.0?h:-h;f=+g[a+40>>2];f=+g[b+(e<<4)+8>>2]>=0.0?f:-f;g[c+(e<<4)>>2]=+g[b+(e<<4)>>2]>=0.0?i:-i;g[c+(e<<4)+4>>2]=h;g[c+(e<<4)+8>>2]=f;g[c+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));return}function pm(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;a=c[a+32>>2]|0;c[d>>2]=c[a+(k<<5)+12>>2];c[b>>2]=c[a+(k<<5)+16>>2];c[e>>2]=c[a+(k<<5)+28>>2];c[f>>2]=c[a+(k<<5)+20>>2];c[i>>2]=c[a+(k<<5)>>2];c[g>>2]=c[a+(k<<5)+4>>2];c[h>>2]=c[a+(k<<5)+8>>2];c[j>>2]=c[a+(k<<5)+24>>2];return}function qm(b){b=b|0;var d=0,e=0;c[b>>2]=6640;d=c[b+68>>2]|0;if(d|0?(Bl(d),e=c[b+68>>2]|0,e|0):0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}d=c[b+28>>2]|0;if(!d){a[b+32>>0]=1;c[b+28>>2]=0;c[b+20>>2]=0;b=b+24|0;c[b>>2]=0;return}if(a[b+32>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+28>>2]=0;a[b+32>>0]=1;c[b+28>>2]=0;c[b+20>>2]=0;b=b+24|0;c[b>>2]=0;return}function rm(b){b=b|0;var d=0,e=0;c[b>>2]=7604;d=c[b+108>>2]|0;if(d|0){if(a[b+112>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+108>>2]=0}a[b+112>>0]=1;c[b+108>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b>>2]=7472;d=c[b+56>>2]|0;if(d|0?(Ib[c[c[d>>2]>>2]&511](d),e=c[b+56>>2]|0,e|0):0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function sm(a,b){a=a|0;b=+b;var d=0;d=l;l=l+16|0;c[a+8>>2]=0;c[a+12>>2]=-1;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;c[a+24>>2]=1065353216;g[a+28>>2]=0.0;g[a+48>>2]=.03999999910593033;c[a>>2]=7020;c[a+4>>2]=8;g[d+8>>2]=1.0;g[d+4>>2]=1.0;g[d>>2]=1.0;$s(a+16|0,d+8|0,d+4|0,d);Fs(a+32|0);MG(a+32|0,b);g[a+48>>2]=b;g[a+52>>2]=0.0;l=d;return}function tm(a,b){a=+a;b=+b;var d=0;d=Jt()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;g[d+60>>2]=a;g[d+64>>2]=b;c[d+4>>2]=11;g[d+56>>2]=a/+D(+(a*a+b*b));c[d>>2]=6820;c[d+68>>2]=0;c[d+72>>2]=2;c[d+76>>2]=1;g[d+32>>2]=a;g[d+40>>2]=b;g[d+36>>2]=a;return d|0}function um(a,b){a=+a;b=+b;var d=0;d=Jt()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;g[d+60>>2]=a;g[d+64>>2]=b;c[d+4>>2]=11;g[d+56>>2]=a/+D(+(a*a+b*b));c[d>>2]=6920;c[d+68>>2]=1;c[d+72>>2]=0;c[d+76>>2]=2;g[d+36>>2]=a;g[d+32>>2]=b;g[d+40>>2]=a;return d|0}function vm(a,b){a=+a;b=+b;var d=0;d=Jt()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;c[d>>2]=6720;g[d+60>>2]=a;g[d+64>>2]=b;c[d+4>>2]=11;c[d+68>>2]=0;c[d+72>>2]=1;c[d+76>>2]=2;g[d+32>>2]=a;g[d+36>>2]=b;g[d+40>>2]=a;g[d+56>>2]=a/+D(+(a*a+b*b));return d|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;switch(b|0){case 0:{a=0;b=0;e=1065353216;break}case 1:{a=0;b=0;e=-1082130432;break}case 2:{a=0;b=1065353216;e=0;break}case 3:{a=0;b=-1082130432;e=0;break}case 4:{a=1065353216;b=0;e=0;break}case 5:{a=-1082130432;b=0;e=0;break}default:return}c[d>>2]=e;c[d+4>>2]=b;c[d+8>>2]=a;g[d+12>>2]=0.0;return}function xm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;a[b+40>>0]=1;return}function ym(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0;switch(c[a+100>>2]|0){case 0:{h=+g[(c[a+96>>2]|0)+((P(c[a+68>>2]|0,f)|0)+e<<2)>>2];return +h}case 5:{h=+(d[(c[a+96>>2]|0)+((P(c[a+68>>2]|0,f)|0)+e)>>0]|0)*+g[a+92>>2];return +h}case 3:{h=+(b[(c[a+96>>2]|0)+((P(c[a+68>>2]|0,f)|0)+e<<1)>>1]|0)*+g[a+92>>2];return +h}default:{h=0.0;return +h}}return 0.0}function zm(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];Vm(a+28|0,b+28|0);c[a+76>>2]=c[b+76>>2];c[a+76+4>>2]=c[b+76+4>>2];c[a+76+8>>2]=c[b+76+8>>2];c[a+76+12>>2]=c[b+76+12>>2];c[a+76+16>>2]=c[b+76+16>>2];return}function Am(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(e|0){case 5:case -1:break;default:return}switch(b|0){case 2:{g[a+764>>2]=d;c[a+748>>2]=c[a+748>>2]|2;return}case 4:{g[a+760>>2]=d;c[a+748>>2]=c[a+748>>2]|1;return}case 3:{g[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;return}case 1:{g[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|8;return}default:return}}function Bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=gJ(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))ko(a,b);while(1){if((e|0)>=(b|0))break;f=gJ((c[a+12>>2]|0)+(e*52|0)|0)|0;g=d;h=f+52|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}c[a+4>>2]=b;return}function Cm(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=l;l=l+32|0;c=+g[b+12>>2];if(1.0-c*c<1.1920928955078125e-06){g[d+20>>2]=1.0;g[d+16>>2]=0.0;g[d+12>>2]=0.0;$s(a,d+20|0,d+16|0,d+12|0);l=d;return}else{c=1.0/+VI(1.0-c*c);g[d+8>>2]=+g[b>>2]*c;g[d+4>>2]=+g[b+4>>2]*c;g[d>>2]=+g[b+8>>2]*c;$s(a,d+8|0,d+4|0,d);l=d;return}}function Dm(b){b=b|0;var d=0;c[b>>2]=7604;d=c[b+108>>2]|0;if(d|0){if(a[b+112>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+108>>2]=0}a[b+112>>0]=1;c[b+108>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b>>2]=7472;d=c[b+56>>2]|0;if(!d)return;Ib[c[c[d>>2]>>2]&511](d);d=c[b+56>>2]|0;if(!d)return;c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);return}function Em(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=Mu(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+Em(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function Fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=gJ(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))jo(a,b);while(1){if((e|0)>=(b|0))break;f=(c[a+12>>2]|0)+(e*104|0)|0;g=d;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}c[a+4>>2]=b;return}function Gm(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[19849+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=19937;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=19937;else{f=19937;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return mH(f,c[e+20>>2]|0)|0}function Hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=gJ(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))lo(a,b);while(1){if((e|0)>=(b|0))break;f=(c[a+12>>2]|0)+(e*44|0)|0;g=d;h=f+44|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}c[a+4>>2]=b;return}function Im(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[a+408>>2]=c[b>>2];c[a+408+4>>2]=c[b+4>>2];c[a+408+8>>2]=c[b+8>>2];c[a+408+12>>2]=c[b+12>>2];Qq(d,+g[a+408>>2],+g[a+412>>2],+g[a+416>>2],+g[a+404>>2]);c[a+620>>2]=c[d>>2];c[a+620+4>>2]=c[d+4>>2];c[a+620+8>>2]=c[d+8>>2];c[a+620+12>>2]=c[d+12>>2];l=d;return}function Jm(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0;f=l;l=l+16|0;d=+g[b>>2];e=+g[b+4>>2];c=+g[b+8>>2];if(d*d+e*e+c*c>0.0){g[f>>2]=-d;g[f+4>>2]=-e;g[f+8>>2]=-c;g[f+12>>2]=0.0;ve(a,f);d=+g[b>>2];e=+g[b+4>>2];c=+g[b+8>>2]}g[a+52>>2]=+D(+(d*d+e*e+c*c));l=f;return}function Km(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[a+328>>2]|0;if((g|0)<=0)return;b=c[b>>2]|0;f=c[a+336>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(g|0))return;c[e>>2]=c[f+(g+-1<<2)>>2];c[a+328>>2]=g+-1;return}function Lm(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=l;l=l+16|0;f=+XI(b*.5);b=+WI(b*.5);h=+XI(c*.5);c=+WI(c*.5);i=+XI(d*.5);d=+WI(d*.5);g[e+12>>2]=d*h*f-i*c*b;g[e+8>>2]=i*c*f+d*h*b;g[e+4>>2]=i*h*b-d*c*f;g[e>>2]=i*h*f+d*c*b;as(a,e+12|0,e+8|0,e+4|0,e);l=e;return}function Mm(a){a=a|0;var b=0;b=l;l=l+32|0;g[a>>2]=1.2000000476837158;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=1.0e3;g[b+20>>2]=0.0;g[b+16>>2]=0.0;g[b+12>>2]=0.0;$s(a+16|0,b+20|0,b+16|0,b+12|0);c[a+32>>2]=0;c[a+36>>2]=0;g[b+8>>2]=0.0;g[b+4>>2]=-10.0;g[b>>2]=0.0;$s(a+40|0,b+8|0,b+4|0,b);zC(a+56|0);l=b;return}function Nm(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;+vb[c[(c[a>>2]|0)+44>>2]&3](a,b,d,e,f,g,h,i,j);+vb[c[(c[a>>2]|0)+48>>2]&3](a,b,d,e,f,g,h,i,j);+sb[c[(c[a>>2]|0)+36>>2]&1](a,b,d,i);return 0.0}function Om(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=xs(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=rB(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=A}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function Pm(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=l;l=l+16|0;f=+XI(b*.5);b=+WI(b*.5);h=+XI(c*.5);c=+WI(c*.5);i=+XI(d*.5);d=+WI(d*.5);g[e+12>>2]=i*c*f+d*h*b;g[e+8>>2]=i*h*b-d*c*f;g[e+4>>2]=d*h*f-i*c*b;g[e>>2]=i*h*f+d*c*b;as(a,e+12|0,e+8|0,e+4|0,e);l=e;return}function Qm(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=c[e>>2];c[a+8+4>>2]=c[e+4>>2];c[a+8+8>>2]=c[e+8>>2];c[a+8+12>>2]=c[e+12>>2];c[a+24>>2]=c[f>>2];c[a+24+4>>2]=c[f+4>>2];c[a+24+8>>2]=c[f+8>>2];c[a+24+12>>2]=c[f+12>>2];g[a+40>>2]=h;return}function Rm(){var b=0;b=l;l=l+48|0;if(a[22392]|0){l=b;return}if(!(Uz(22392)|0)){l=b;return}g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;Sq(22792,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);l=b;return}function Sm(){var b=0,e=0,f=0;f=l;l=l+16|0;a[f>>0]=10;b=c[2448]|0;if(!b)if(!(bp(9776)|0)){b=c[2448]|0;e=4}else b=-1;else e=4;do if((e|0)==4){e=c[2449]|0;if(!(e>>>0>=b>>>0|(a[9851]|0)==10)){c[2449]=e+1;a[e>>0]=10;b=10;break}if((Bb[c[9812>>2]&63](9776,f,1)|0)==1)b=d[f>>0]|0;else b=-1}while(0);l=f;return b|0}function Tm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=l;l=l+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+28>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+24>>2]|0;f=+qb[c[(c[g>>2]|0)+12>>2]&31](g,b,d);c[a+4>>2]=c[(c[a+24>>2]|0)+4>>2];l=e;return +f}function Um(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0;d=l;l=l+16|0;e=+MA(+g[b>>2],+g[b+4>>2],+g[b+8>>2]);e=+WI(c*.5)/e;g[d+12>>2]=+g[(gJ(b)|0)>>2]*e;g[d+8>>2]=+g[(OI(b)|0)>>2]*e;g[d+4>>2]=+g[(NI(b)|0)>>2]*e;g[d>>2]=+XI(c*.5);as(a,d+12|0,d+8|0,d+4|0,d);l=d;return}function Vm(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+16+4>>2]=c[b+16+4>>2];c[a+16+8>>2]=c[b+16+8>>2];c[a+16+12>>2]=c[b+16+12>>2];c[a+32>>2]=c[b+32>>2];c[a+32+4>>2]=c[b+32+4>>2];c[a+32+8>>2]=c[b+32+8>>2];c[a+32+12>>2]=c[b+32+12>>2];return}function Wm(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+8>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[b+16>>2]|0)+(f<<2)>>2]|0;if(!(a[b+76>>0]|0))switch(c[e+220>>2]|0){case 2:case 5:break;default:g=6}else g=6;if((g|0)==6){g=0;xf(b,e);d=c[b+8>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function Xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:case 1:{if(c>>>0<3){d=+g[a+600>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+432>>2];else d=0.0;break}case 4:case 3:{if(c>>>0<3){d=+g[a+596>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+604>>2];else d=0.0;break}default:d=0.0}while(0);return +d}function Ym(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=zb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=9600;a[b+8>>0]=0;c[b+12>>2]=0;c[b+12>>2]=Bb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function Zm(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(!d)return;e=xb[c[(c[d>>2]|0)+8>>2]&127](d)|0;e=Bb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+60>>2]|0;d=Bb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,b)|0;Zb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346456916,c[a+60>>2]|0);return}function _m(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(c|0){case 5:case -1:switch(b|0){case 2:{d=+g[a+764>>2];break a}case 4:{d=+g[a+760>>2];break a}case 3:{d=+g[a+752>>2];break a}case 1:{d=+g[a+756>>2];break a}default:{d=0.0;break a}}default:d=0.0}while(0);return +d}function $m(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+56>>2]|0;if(!d)return;e=xb[c[(c[d>>2]|0)+12>>2]&127](d)|0;e=Bb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+56>>2]|0;d=Bb[c[(c[d>>2]|0)+16>>2]&63](d,c[e+8>>2]|0,b)|0;Zb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1213612625,c[a+56>>2]|0);return}function an(a,b,c,d,e,f,h,i,j,k,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;m=+m;n=+n;o=+o;var p=0;p=l;l=l+16|0;g[p+8>>2]=+Iy(b,c,d,e,f,h);g[p+4>>2]=+Iy(b,c,d,i,j,k);g[p>>2]=+Iy(b,c,d,m,n,o);$s(a,p+8|0,p+4|0,p);l=p;return}function bn(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0;e=+g[a+32>>2];f=+g[a+36>>2];h=+g[a+40>>2];d=+g[b>>2];if(!(d<=e+c)){b=0;return b|0}if(!(d>=-e-c)){b=0;return b|0}d=+g[b+4>>2];if(!(d<=f+c)){b=0;return b|0}if(!(d>=-f-c)){b=0;return b|0}d=+g[b+8>>2];if(!(d<=h+c)){b=0;return b|0}b=d>=-h-c;return b|0}function cn(b,d){b=b|0;d=d|0;c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+24>>2]=c[d+24>>2];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+56>>2]=c[d+56>>2];c[b+48>>2]=c[d+48>>2];a[b+44>>0]=a[d+44>>0]&1;return}function dn(a,b,d){a=a|0;b=b|0;d=d|0;rw(a);c[a>>2]=3124;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];c[a+32>>2]=c[d>>2];c[a+32+4>>2]=c[d+4>>2];c[a+32+8>>2]=c[d+8>>2];c[a+32+12>>2]=c[d+12>>2];c[a+80>>2]=0;return}function en(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;if(!(+g[b+36>>2]>f))return;a[b+40>>0]=1;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;return}function fn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;d=+g[b+32>>2];i=+g[b+40>>2];k=+g[c>>2];e=+g[c+4>>2];j=+D(+(k*k+e*e));f=+g[c+8>>2];if(j!=0.0){h=e*(d/j);e=f<0.0?-i:i;d=k*(d/j)}else{h=0.0;e=f<0.0?-i:i}g[a>>2]=d;g[a+8>>2]=e;g[a+4>>2]=h;return}function gn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;d=+g[b+32>>2];i=+g[b+36>>2];k=+g[c>>2];e=+g[c+8>>2];j=+D(+(k*k+e*e));f=+g[c+4>>2];if(j!=0.0){h=e*(d/j);e=f<0.0?-i:i;d=k*(d/j)}else{h=0.0;e=f<0.0?-i:i}g[a>>2]=d;g[a+4>>2]=e;g[a+8>>2]=h;return}function hn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+36>>2];f=+g[b+32>>2];j=+g[c+4>>2];e=+g[c+8>>2];i=+D(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c>>2]<0.0?-f:f}g[a+4>>2]=d;g[a>>2]=e;g[a+8>>2]=h;return}function jn(a,b){a=a|0;b=+b;var c=0,d=0.0;c=l;l=l+16|0;if(!(+g[a+68>>2]>0.0)){l=c;return}d=-+g[a+92>>2];b=-+g[a+96>>2];g[c>>2]=-+g[a+88>>2];g[c+4>>2]=d;g[c+8>>2]=b;g[c+12>>2]=0.0;aj(a+4|0,c,a+156|0);aj(a+16|0,a+88|0,a+172|0);l=c;return}function kn(a,b){a=a|0;b=+b;var c=0,d=0.0;c=l;l=l+16|0;if(!(+g[a+68>>2]>0.0)){l=c;return}d=-+g[a+92>>2];b=-+g[a+96>>2];g[c>>2]=-+g[a+88>>2];g[c+4>>2]=d;g[c+8>>2]=b;g[c+12>>2]=0.0;aj(a+4|0,c,a+164|0);aj(a+16|0,a+88|0,a+180|0);l=c;return}function ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0;if((d|0)>-1|(d|0)==-1&c>>>0>4294967295){e=(+(c>>>0)+4294967296.0*+(d>>>0))*18446744073709551616.0+(+(a>>>0)+4294967296.0*+(b>>>0));return +e}else{g=sw(0,0,a|0,b|0)|0;f=A;d=Ow((a|0)==0&(b|0)==0&1|0,0,~c|0,~d|0)|0;e=-+ln(g,f,d,A);return +e}return 0.0}function mn(a){a=a|0;var b=0.0,d=0.0,e=0.0;d=+g[(c[a+28>>2]|0)+404>>2];e=+g[(c[a+32>>2]|0)+404>>2];e=e==0.0?1.0:d/(d+e);d=+g[a+1116>>2]*e+(1.0-e)*+g[a+1180>>2];b=e*+g[a+1120>>2]+(1.0-e)*+g[a+1184>>2];g[a+1284>>2]=+g[a+1112>>2]*e+ +g[a+1176>>2]*(1.0-e);g[a+1288>>2]=d;g[a+1292>>2]=b;g[a+1296>>2]=0.0;return}function nn(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;d=+g[a+404>>2];if(d!=0.0){f=1.0/d*+g[b+4>>2];e=1.0/d*+g[b+8>>2];g[a+424>>2]=1.0/d*+g[b>>2];g[a+428>>2]=f;g[a+432>>2]=e;g[a+436>>2]=0.0}c[a+440>>2]=c[b>>2];c[a+440+4>>2]=c[b+4>>2];c[a+440+8>>2]=c[b+8>>2];c[a+440+12>>2]=c[b+12>>2];return}function on(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+16>>2]|0;do if(f){if((f|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}if((c[b+24>>2]|0)==2)c[b+24>>2]=e}else{c[b+16>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+84>>2]|0;a=c[f+8>>2]|0;if((a|0)<=0)return;e=0;do{d=c[(c[f+16>>2]|0)+(e*12|0)+8>>2]|0;if(d){Ob[c[(c[d>>2]|0)+16>>2]&127](d,b);a=c[f+8>>2]|0}e=e+1|0}while((e|0)<(a|0));return}function qn(a,b,d){a=a|0;b=b|0;d=d|0;Ut(a);c[a>>2]=2952;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];c[a+40>>2]=c[d>>2];c[a+40+4>>2]=c[d+4>>2];c[a+40+8>>2]=c[d+8>>2];c[a+40+12>>2]=c[d+12>>2];return}function rn(){var b=0,d=0,e=0;do if((c[2463]|0)>=0?(kJ()|0)!=0:0){if((a[9851]|0)!=10?(b=c[2449]|0,b>>>0<(c[2448]|0)>>>0):0){c[2449]=b+1;a[b>>0]=10;break}Sm()|0}else e=3;while(0);do if((e|0)==3){if((a[9851]|0)!=10?(d=c[2449]|0,d>>>0<(c[2448]|0)>>>0):0){c[2449]=d+1;a[d>>0]=10;break}Sm()|0}while(0);return}function sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;a=vy(c[b>>2]|0)|0;f=vy(f)|0;if(a|0)Vb[c[(c[a>>2]|0)+32>>2]&127](a,d,e,b);if(!f)return 0;Vb[c[(c[f>>2]|0)+32>>2]&127](f,b,e,d);return 0}function tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+48|0;f=c[b+192>>2]|0;Vb[c[(c[f>>2]|0)+8>>2]&127](f,b+4|0,e+32|0,e+16|0);c[e>>2]=6304;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;d=c[a+68>>2]|0;Vb[c[(c[d>>2]|0)+28>>2]&127](d,e+32|0,e+16|0,e);l=e;return}function un(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=l;l=l+256|0;if((c|0)>(d|0)&(e&73728|0)==0){Yk(f|0,b|0,((c-d|0)>>>0<256?c-d|0:256)|0)|0;if((c-d|0)>>>0>255){b=c-d|0;do{fA(a,f,256);b=b+-256|0}while(b>>>0>255);b=c-d&255}else b=c-d|0;fA(a,f,b)}l=f;return}function vn(a,b,d){a=a|0;b=b|0;d=d|0;fi(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];return 12513}function wn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;e=c[a+84>>2]|0;if((d|0)==(e|0)){e=0;return e|0}if(!(c[a+12>>2]&c[b+4>>2])){e=0;return e|0}if(!(c[b+8>>2]&c[a+8>>2])){e=0;return e|0}b=c[a+96>>2]|0;e=Bb[c[(c[b>>2]|0)+28>>2]&63](b,e,d)|0;return e|0}function xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+112|0;d=gJ(c[b+4>>2]|0)|0;e=f;g=e+104|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));PG(f);Fm(a,d,f);Jo(b,d,c[a+12>>2]|0);l=f;return}function yn(a){a=a|0;c[5650]=c[a>>2];c[5651]=c[a+4>>2];c[5652]=c[a+8>>2];c[5653]=c[a+12>>2];c[5654]=c[a+16>>2];c[5655]=c[a+20>>2];c[5656]=c[a+24>>2];Vm(22628,a+28|0);c[5669]=c[a+76>>2];c[5670]=c[a+76+4>>2];c[5671]=c[a+76+8>>2];c[5672]=c[a+76+12>>2];c[5673]=c[a+76+16>>2];return}function zn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+64|0;d=gJ(c[b+4>>2]|0)|0;e=f;g=e+52|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));PG(f);Bm(a,d,f);Eo(b,d,c[a+12>>2]|0);l=f;return}function An(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+48|0;d=gJ(c[b+4>>2]|0)|0;e=f;g=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));PG(f);Hm(a,d,f);Oo(b,d,c[a+12>>2]|0);l=f;return}function Bn(a){a=a|0;var b=0,d=0,e=0;Ib[c[(c[a>>2]|0)+8>>2]&511](a);Ib[c[(c[a>>2]|0)+12>>2]&511](a);b=c[a+24>>2]|0;if(!b)return;e=c[(c[b>>2]|0)+32>>2]|0;d=c[a+68>>2]|0;d=xb[c[(c[d>>2]|0)+36>>2]&127](d)|0;Vb[e&127](b,d,a+28|0,c[a+24>>2]|0);return}function Cn(a,b){a=+a;b=+b;var d=0;d=Nt()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;c[d+4>>2]=10;c[d>>2]=7936;g[d+48>>2]=a;c[d+56>>2]=2;g[d+32>>2]=a;g[d+36>>2]=a;g[d+40>>2]=b*.5;g[d+44>>2]=0.0;return d|0}function Dn(a,b){a=+a;b=+b;var d=0;d=Nt()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;c[d+4>>2]=10;c[d>>2]=7836;g[d+48>>2]=a;c[d+56>>2]=0;g[d+32>>2]=b*.5;g[d+36>>2]=a;g[d+40>>2]=a;g[d+44>>2]=0.0;return d|0}function En(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;e=l;l=l+32|0;d=Ss()|0;g[e+8>>2]=1.0;g[e+4>>2]=0.0;g[e>>2]=0.0;$s(e+16|0,e+8|0,e+4|0,e);Hg(d,a,b,c,e+16|0);l=e;return d|0}function Fn(a,b){a=+a;b=+b;var d=0;d=Nt()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;c[d>>2]=7736;g[d+48>>2]=a;c[d+4>>2]=10;c[d+56>>2]=1;g[d+32>>2]=a;g[d+36>>2]=b*.5;g[d+40>>2]=a;g[d+44>>2]=0.0;return d|0}function Gn(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=gJ(b)|0;i=gJ(b+16|0)|0;h=gJ(b+32|0)|0;g=OI(b)|0;f=OI(b+16|0)|0;e=OI(b+32|0)|0;d=NI(b)|0;c=NI(b+16|0)|0;Sq(a,j,i,h,g,f,e,d,c,NI(b+32|0)|0);return}function Hn(a,b){a=a|0;b=b|0;var d=0;if(c[b+40>>2]|0){Hn(a,c[b+36>>2]|0);Hn(a,c[b+40>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;d=c[a+4>>2]|0;if(!d){c[a+4>>2]=b;return}c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);c[a+4>>2]=b;return}function In(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;qg(a,Qd(a,b,f)|0);qg(a,Qd(a,d,f)|0);qg(a,Qd(a,e,f)|0);return}function Jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(qD(a,c[b+8>>2]|0)|0)ml(b,d,e,f);else{a=c[a+8>>2]|0;$b[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function Kn(a){a=a|0;var b=0;b=l;l=l+48|0;g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;Ip(a,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);l=b;return}function Ln(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=gJ(d)|0;if((e|0)==(gJ(c[a+8>>2]|0)|0)){eo(a,$B(e)|0);d=c[a+4>>2]|0}zm((c[a+12>>2]|0)+(d*96|0)|0,b);c[a+4>>2]=(c[a+4>>2]|0)+1;return}function Mn(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+72>>2]=(c[a+72>>2]|0)+1;d=c[a+20>>2]|0;if((d|0)>0)do{e=d;d=d+-1|0;if((c[(c[a+28>>2]|0)+(d*80|0)+64>>2]|0)==(b|0))re(a,d)}while((e|0)>1);Ib[c[(c[a>>2]|0)+68>>2]&511](a);return}function Nn(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:case 1:if(e>>>0<3){g[a+600>>2]=d;c[a+592>>2]=c[a+592>>2]|2;return}else{g[a+432>>2]=d;return}case 4:case 3:{g[(e>>>0<3?a+596|0:a+604|0)>>2]=d;c[a+592>>2]=c[a+592>>2]|(e>>>0<3?1:4);return}default:return}}function On(a,b){a=a|0;b=b|0;var d=0;a=c[a+68>>2]|0;if(!b)return;d=c[a+16>>2]|0;if(d>>>0<=b>>>0?(d+(P(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function Pn(a){a=a|0;var b=0,d=0;if((c[a+248>>2]|0)<=0)return;b=0;do{d=(c[(c[a+256>>2]|0)+(b<<2)>>2]|0)+472|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;b=b+1|0}while((b|0)<(c[a+248>>2]|0));return}function Qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=gJ(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))eo(a,b);while(1){if((e|0)>=(b|0))break;zm((c[a+12>>2]|0)+(e*96|0)|0,d);e=e+1|0}c[a+4>>2]=b;return}function Rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+96|0;d=gJ(c[b+4>>2]|0)|0;e=f;g=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));Qn(a,d,f);Zq(b,d,c[a+12>>2]|0);l=f;return}function Sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+52>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+60>>2]|0)+(f<<2)>>2]|0;if(e){Ob[c[(c[e>>2]|0)+16>>2]&127](e,b);d=c[a+52>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function Tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=gJ(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))$n(a,b);while(1){if((e|0)>=(b|0))break;c[(c[a+12>>2]|0)+(e<<2)>>2]=c[d>>2];e=e+1|0}c[a+4>>2]=b;return}function Un(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+32>>2]|0;c[f>>2]=(c[f>>2]|0)+1;qg(a,Qd(a,b,0)|0);qg(a,Qd(a,d,0)|0);qg(a,Qd(a,e,0)|0);return}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];c[a+68>>2]=c[d>>2];c[a+68+4>>2]=c[d+4>>2];c[a+68+8>>2]=c[d+8>>2];c[a+68+12>>2]=c[d+12>>2];c[a+48>>2]=1;return}function Wn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d>>2]|0;a=vy(c[b>>2]|0)|0;e=vy(e)|0;if(a|0)Sb[c[(c[a>>2]|0)+28>>2]&127](a,d,b);if(!e)return 0;Sb[c[(c[e>>2]|0)+28>>2]&127](e,b,d);return 0}function Xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a;e=b;f=d+104|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Sv(a+104|0,b+104|0);Tv(a+124|0,b+124|0);Tv(a+144|0,b+144|0);return}function Yn(a,d){a=a|0;d=d|0;var e=0,f=0;if(b[a+56>>1]|0)return;b[a+64>>1]=1;d=b[a+58>>1]|0;f=c[a+60>>2]|0;if((d&65535)>1){e=1;do{d=e;e=e+1|0;b[f+(d<<6)+48>>1]=e;d=b[a+58>>1]|0}while(e>>>0<(d&65535)>>>0)}b[f+((d&65535)+-1<<6)+48>>1]=0;return}function Zn(a,b,c){a=+a;b=b|0;c=c|0;var d=0,e=0;e=l;l=l+32|0;d=Ds(144)|0;g[e+8>>2]=0.0;g[e+4>>2]=0.0;g[e>>2]=0.0;$s(e+16|0,e+8|0,e+4|0,e);Xk(d,a,b,c,e+16|0);l=e;return d|0}function _n(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=c[b+16>>2];c[d+4>>2]=c[b+16+4>>2];c[d+8>>2]=c[b+16+8>>2];c[d+12>>2]=c[b+16+12>>2];c[e>>2]=c[b+32>>2];c[e+4>>2]=c[b+32+4>>2];c[e+8>>2]=c[b+32+8>>2];c[e+12>>2]=c[b+32+12>>2];return}function $n(b,d){b=b|0;d=d|0;var e=0;if((gJ(c[b+8>>2]|0)|0)>=(d|0))return;e=It(d)|0;tr(b,gJ(c[b+4>>2]|0)|0,e);et(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function ao(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;if(!(i&1))h=i>>8;else h=c[(c[e>>2]|0)+(i>>8)>>2]|0;a=c[a>>2]|0;$b[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,i&2|0?f:2,g);return}function bo(a,b){a=a|0;b=b|0;var d=0;a=c[a+68>>2]|0;d=c[a+12>>2]|0;if(d|0){c[a+12>>2]=c[d>>2];c[a+8>>2]=(c[a+8>>2]|0)+-1;b=d;return b|0}c[6995]=(c[6995]|0)+1;a=sc(b+19|0)|0;if(!a){b=0;return b|0}c[(a+4+15&-16)+-4>>2]=a;b=a+4+15&-16;return b|0}function co(b){b=b|0;g[b+60>>2]=0.0;g[b+8>>2]=0.0;g[b+12>>2]=.10000000149011612;g[b+16>>2]=300.0;g[b>>2]=1.0;g[b+4>>2]=-1.0;g[b+28>>2]=0.0;g[b+32>>2]=.20000000298023224;g[b+36>>2]=0.0;g[b+40>>2]=0.0;g[b+20>>2]=1.0;g[b+24>>2]=.5;c[b+56>>2]=0;g[b+48>>2]=0.0;a[b+44>>0]=0;return}function eo(b,d){b=b|0;d=d|0;var e=0;if((gJ(c[b+8>>2]|0)|0)>=(d|0))return;e=$t(d)|0;Zq(b,gJ(c[b+4>>2]|0)|0,e);et(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function fo(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g[a+692>>2]=(c-b)*.5;b=+mh((c-b)*.5+b,6.2831854820251465);if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+688>>2]=b;g[a+696>>2]=d;g[a+700>>2]=e;g[a+704>>2]=f;return}function go(a,b,d){a=a|0;b=+b;d=+d;var e=0;e=l;l=l+16|0;g[e+12>>2]=b;g[e+8>>2]=d;g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+504>>2]=c[(b<0.0?e+4|0:b>1.0?e:e+12|0)>>2];g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+508>>2]=c[(d<0.0?e+4|0:d>1.0?e:e+8|0)>>2];l=e;return}function ho(){var b=0;b=l;l=l+32|0;if(a[22384]|0){l=b;return}if(!(Uz(22384)|0)){l=b;return}Rm();g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;$s(b+16|0,b+8|0,b+4|0,b);Xq(22728,22792,b+16|0);l=b;return}function io(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+16>>2]|0;e=xb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=Bb[d&63](b,e,1)|0;d=Bb[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;Zb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1497645650,a);return}function jo(b,d){b=b|0;d=d|0;var e=0;if((gJ(c[b+8>>2]|0)|0)>=(d|0))return;e=du(d)|0;Jo(b,gJ(c[b+4>>2]|0)|0,e);et(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function ko(b,d){b=b|0;d=d|0;var e=0;if((gJ(c[b+8>>2]|0)|0)>=(d|0))return;e=eu(d)|0;Eo(b,gJ(c[b+4>>2]|0)|0,e);et(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function lo(b,d){b=b|0;d=d|0;var e=0;if((gJ(c[b+8>>2]|0)|0)>=(d|0))return;e=fu(d)|0;Oo(b,gJ(c[b+4>>2]|0)|0,e);et(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function mo(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+52>>2];c[b+4>>2]=c[a+52+4>>2];c[b+8>>2]=c[a+52+8>>2];c[b+12>>2]=c[a+52+12>>2];c[d>>2]=c[a+68>>2];c[d+4>>2]=c[a+68+4>>2];c[d+8>>2]=c[a+68+8>>2];c[d+12>>2]=c[a+68+12>>2];return}function no(a){a=a|0;var b=0,d=0,e=0;b=c[a+24>>2]|0;if((b|0)<=0)return;e=0;do{d=c[(c[a+32>>2]|0)+(e<<2)>>2]|0;switch(c[d+220>>2]|0){case 2:case 5:break;default:{Eg(d);b=c[a+24>>2]|0}}e=e+1|0}while((e|0)<(b|0));return}function oo(a,b){a=a|0;b=b|0;var d=0,e=0;e=xb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=Bb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=Bb[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;Zb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1245859651,a);return}function po(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(qD(a,c[b+8>>2]|0)|0)on(b,d,e);else{a=c[a+8>>2]|0;Vb[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e)}return}function qo(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=l;l=l+16|0;g[d+12>>2]=+g[(gJ(b)|0)>>2]*c;g[d+8>>2]=+g[(OI(b)|0)>>2]*c;g[d+4>>2]=+g[(NI(b)|0)>>2]*c;g[d>>2]=+g[b+12>>2]*c;dw(a,d+12|0,d+8|0,d+4|0,d);l=d;return}function ro(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+8>>2];c[b+4>>2]=c[a+8+4>>2];c[b+8>>2]=c[a+8+8>>2];c[b+12>>2]=c[a+8+12>>2];c[d>>2]=c[a+24>>2];c[d+4>>2]=c[a+24+4>>2];c[d+8>>2]=c[a+24+8>>2];c[d+12>>2]=c[a+24+12>>2];return}function so(a,b){a=a|0;b=b|0;var d=0,e=0;e=xb[c[(c[a>>2]|0)+52>>2]&127](a)|0;e=Bb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=Bb[c[(c[a>>2]|0)+56>>2]&63](a,c[e+8>>2]|0,b)|0;Zb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346455635,a);return}function to(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+80|0;Gn(c+32|0,b);Br(c,+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);fm(c+16|0,c+32|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2]);Xq(a,c+32|0,c+16|0);l=c;return}function uo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;if(!(h&1))g=h>>8;else g=c[(c[d>>2]|0)+(h>>8)>>2]|0;a=c[a>>2]|0;Zb[c[(c[a>>2]|0)+24>>2]&31](a,b,d+g|0,h&2|0?e:2,f);return}function vo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ob[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;return 17123}function wo(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;jq(e,b,c,d,+g[a+408>>2],+g[a+412>>2],+g[a+416>>2]);Qq(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+404>>2]);us(a+372|0,e+16|0)|0;l=e;return}function xo(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;fm(e,a+324|0,b,c,d);jq(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+604>>2],+g[a+608>>2],+g[a+612>>2]);us(a+388|0,e+16|0)|0;l=e;return}function yo(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c[b+4>>2];c[a+164+8>>2]=c[b+8>>2];c[a+164+12>>2]=c[b+12>>2];b=gJ(b)|0;if((!(+g[b>>2]!=1.0)?!(+g[b+4>>2]!=1.0):0)?!(+g[b+8>>2]!=1.0):0)d=0;c[a+180>>2]=d;return}function zo(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+952>>2];c[b+4>>2]=c[a+952+4>>2];c[b+8>>2]=c[a+952+8>>2];c[b+12>>2]=c[a+952+12>>2];c[d>>2]=c[a+968>>2];c[d+4>>2]=c[a+968+4>>2];c[d+8>>2]=c[a+968+8>>2];c[d+12>>2]=c[a+968+12>>2];return}function Ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if((c|0)==-1)switch(b|0){case 2:case 1:{d=+g[a+336>>2];break a}case 4:case 3:{d=+g[a+340>>2];break a}default:{d=3402823466385288598117041.0e14;break a}}else d=3402823466385288598117041.0e14;while(0);return +d}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b+32>>2];e=+g[b+36>>2];e=+g[c+4>>2]>=0.0?e:-e;d=+g[b+40>>2];d=+g[c+8>>2]>=0.0?d:-d;g[a>>2]=+g[c>>2]>=0.0?f:-f;g[a+4>>2]=e;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function Co(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(!(g&1))f=g>>8;else f=c[(c[d>>2]|0)+(g>>8)>>2]|0;a=c[a>>2]|0;Vb[c[(c[a>>2]|0)+28>>2]&127](a,b,d+f|0,g&2|0?e:2);return}function Do(b){b=b|0;var d=0;c[b>>2]=5168;d=c[b+212>>2]|0;if(d|0){if(a[b+216>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+212>>2]=0}a[b+216>>0]=1;c[b+212>>2]=0;c[b+204>>2]=0;c[b+208>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function Eo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){if((e|0)>=(b|0))break;f=gJ(d+(e*52|0)|0)|0;g=(c[a+12>>2]|0)+(e*52|0)|0;h=f+52|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}return}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+288>>2]|0;a:do if((e|0)>0){d=c[a+296>>2]|0;a=0;while(1){if((c[d+(a<<2)>>2]|0)==(b|0))break a;a=a+1|0;if((a|0)>=(e|0)){a=e;break}}}else a=e;while(0);return (a|0)>=(e|0)|0}function Go(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22368]|0))Uz(22368)|0;Bp(d,c[b+108>>2]|0,c[b+120>>2]|0);c[5674]=c[d>>2];c[5675]=c[d+4>>2];c[5676]=c[d+8>>2];c[5677]=c[d+12>>2];l=d;return 22696}function Ho(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=zb[c[(c[a>>2]|0)+56>>2]&31](a,84)|0;ul(a,b,d,e,1);return a|0}function Io(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;if((c[b>>2]|0)!=(d|0)?(c[b+4>>2]|0)!=(d|0):0)return 0;d=c[a+8>>2]|0;Sb[c[(c[d>>2]|0)+32>>2]&127](d,b,c[a+12>>2]|0);return 0}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){if((e|0)>=(b|0))break;f=d+(e*104|0)|0;g=(c[a+12>>2]|0)+(e*104|0)|0;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}return}function Ko(b){b=b|0;var d=0;c[b>>2]=9712;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function Lo(a){a=a|0;var b=0.0,d=0.0;if(c[a+204>>2]&3|0)return;d=+g[a+428>>2]*+g[a+412>>2];b=+g[a+432>>2]*+g[a+416>>2];g[a+472>>2]=+g[a+424>>2]*+g[a+408>>2]+ +g[a+472>>2];g[a+476>>2]=d+ +g[a+476>>2];g[a+480>>2]=b+ +g[a+480>>2];return}function Mo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=zb[c[(c[a>>2]|0)+56>>2]&31](a,84)|0;ul(a,b,d,e,0);return a|0}function No(b){b=b|0;var d=0;c[b>>2]=5320;d=c[b+296>>2]|0;if(d|0){if(a[b+300>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+296>>2]=0}a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function Oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){if((e|0)>=(b|0))break;f=d+(e*44|0)|0;g=(c[a+12>>2]|0)+(e*44|0)|0;h=f+44|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}return}function Po(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+16|0;g[c+12>>2]=-+g[(gJ(b)|0)>>2];g[c+8>>2]=-+g[(OI(b)|0)>>2];g[c+4>>2]=-+g[(NI(b)|0)>>2];g[c>>2]=-+g[b+12>>2];dw(a,c+12|0,c+8|0,c+4|0,c);l=c;return}function Qo(a){a=a|0;var b=0;c[a>>2]=5820;c[a+8>>2]=5868;b=c[a+56>>2]|0;Ob[c[(c[b>>2]|0)+20>>2]&127](b,c[a+72>>2]|0);b=c[a+56>>2]|0;Ob[c[(c[b>>2]|0)+16>>2]&127](b,c[a+72>>2]|0);c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Ro(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0;e=l;l=l+16|0;d=+EF(a);d=+VI(d*+EF(b));c=+Gp(a,b);if(c<0.0){Po(e,b);c=+Gp(a,e)}d=+$A(c/d)*2.0;l=e;return +d}function So(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0;h=c[a+108>>2]|0;f=+g[h+(b<<4)+4>>2]*+g[a+20>>2];e=+g[h+(b<<4)+8>>2]*+g[a+24>>2];g[d>>2]=+g[h+(b<<4)>>2]*+g[a+16>>2];g[d+4>>2]=f;g[d+8>>2]=e;g[d+12>>2]=0.0;return}function To(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+32|0;c[e>>2]=c[a+60>>2];c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=e+20;c[e+16>>2]=d;if((SC(_a(140,e|0)|0)|0)<0){c[e+20>>2]=-1;a=-1}else a=c[e+20>>2]|0;l=e;return a|0}function Uo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;f=c[d>>2]|0;f=zb[c[(c[f>>2]|0)+56>>2]&31](f,12)|0;e=a[b+4>>0]|0;c[f+4>>2]=c[d>>2];c[f>>2]=3820;a[f+8>>0]=e;return f|0}function Vo(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Wo(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(gJ(b)|0)>>2];g[a>>2]=+g[a>>2]+c;c=+g[(OI(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]+c;c=+g[(NI(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]+c;g[a+12>>2]=+g[a+12>>2]+ +g[b+12>>2];return a|0}function Xo(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(gJ(b)|0)>>2];g[a>>2]=+g[a>>2]-c;c=+g[(OI(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]-c;c=+g[(NI(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]-c;g[a+12>>2]=+g[a+12>>2]-+g[b+12>>2];return a|0}function Yo(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22352]|0))Uz(22352)|0;Ob[c[(c[b>>2]|0)+76>>2]&127](d,b);c[5646]=c[d>>2];c[5647]=c[d+4>>2];c[5648]=c[d+8>>2];c[5649]=c[d+12>>2];l=d;return 22584}function Zo(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22416]|0))Uz(22416)|0;Ob[c[(c[b>>2]|0)+76>>2]&127](d,b);c[5718]=c[d>>2];c[5719]=c[d+4>>2];c[5720]=c[d+8>>2];c[5721]=c[d+12>>2];l=d;return 22872}function _o(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){X()|0;Za(12);return -1}c[i>>2]=a;if((a|0)>(W()|0)?(V()|0)==0:0){c[i>>2]=b;Za(12);return -1}return b|0}function $o(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=gJ(c[b+4>>2]|0)|0;c[d>>2]=0;Tn(a,e,d);tr(b,e,c[a+12>>2]|0);l=d;return}function ap(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+g[b+20>>2];d=e*+g[b+260>>2]+ +g[b+72>>2];c=e*+g[b+264>>2]+ +g[b+76>>2];g[a>>2]=+g[b+256>>2]*e+ +g[b+68>>2];g[a+4>>2]=d;g[a+8>>2]=c;g[a+12>>2]=0.0;return}function bp(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function cp(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if((e|0)!=-1)return;switch(b|0){case 2:case 1:{g[a+336>>2]=d;c[a+332>>2]=c[a+332>>2]|1;return}case 4:case 3:{g[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;return}default:return}}function dp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(NI(a)|0)>>2];c=c*+g[(gJ(b)|0)>>2];d=+g[(NI(a+16|0)|0)>>2];d=c+d*+g[(OI(b)|0)>>2];c=+g[(NI(a+32|0)|0)>>2];return +(d+c*+g[(NI(b)|0)>>2])}function ep(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(OI(a)|0)>>2];c=c*+g[(gJ(b)|0)>>2];d=+g[(OI(a+16|0)|0)>>2];d=c+d*+g[(OI(b)|0)>>2];c=+g[(OI(a+32|0)|0)>>2];return +(d+c*+g[(NI(b)|0)>>2])}function fp(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=l;l=l+16|0;if(!(a[22376]|0))Uz(22376)|0;_i(f,b,d,e);c[5678]=c[f>>2];c[5679]=c[f+4>>2];c[5680]=c[f+8>>2];c[5681]=c[f+12>>2];l=f;return 22712}function gp(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=l;l=l+16|0;if(!(a[22424]|0))Uz(22424)|0;_i(f,b,d,e);c[5722]=c[f>>2];c[5723]=c[f+4>>2];c[5724]=c[f+8>>2];c[5725]=c[f+12>>2];l=f;return 22888}function hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))return;e=c[(c[a+4>>2]|0)+96>>2]|0;Bb[c[(c[e>>2]|0)+8>>2]&63](e,c[b+36>>2]|0,c[d+36>>2]|0)|0;d=(c[a+4>>2]|0)+120|0;c[d>>2]=(c[d>>2]|0)+1;return}function ip(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0;b=l;l=l+32|0;Sb[c[(c[a>>2]|0)+12>>2]&127](a,b+8|0,b);f=+g[b+8>>2];e=+g[b+8+4>>2];d=+g[b+8+8>>2];d=+D(+(f*f+e*e+d*d));l=b;return +(d+ +g[b>>2])}function jp(a){a=a|0;var b=0;c[a>>2]=5868;b=c[a+48>>2]|0;Ob[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Ob[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f>>2]=5516;c[f+4>>2]=d;c[f+8>>2]=a;Sb[c[(c[b>>2]|0)+48>>2]&127](b,f,e);l=f;return}function lp(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+8>>2]|0;if(!((d|0)!=0&(a|0)!=0))return;Ib[c[c[a>>2]>>2]&511](a);Ob[c[(c[d>>2]|0)+60>>2]&127](d,c[b+8>>2]|0);c[b+8>>2]=0;return}function mp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=9144;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;Sb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);l=e;return}function np(b){b=b|0;var d=0;c[b>>2]=7120;if(a[b+65>>0]|0?(d=c[b+56>>2]|0,Ib[c[c[d>>2]>>2]&511](d),d=c[b+56>>2]|0,d|0):0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function op(a,b){a=a|0;b=b|0;a=c[a+16>>2]|0;return zb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function pp(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=l;l=l+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=Pt()|0;Su(e,f+12|0,f+8|0,f+4|0,f);l=f;return e|0}function qp(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=l;l=l+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=Ds(16)|0;dw(e,f+12|0,f+8|0,f+4|0,f);l=f;return e|0}function rp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(qD(a,c[b+8>>2]|0)|0)ml(b,d,e,f);return}function sp(a,b){a=a|0;b=+b;var d=0,e=0;if((c[a+296>>2]|0)<=0)return;d=0;do{e=c[(c[a+304>>2]|0)+(d<<2)>>2]|0;Pb[c[(c[e>>2]|0)+8>>2]&7](e,a,b);d=d+1|0}while((d|0)<(c[a+296>>2]|0));return}function tp(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;e=c[a+772>>2]|0;if((e|0)<=0){b=0.0;return +b}d=c[a+780>>2]|0;a=0;b=0.0;do{f=+g[d+(a*104|0)+88>>2];b=b+(f>0.0?1.0/f:0.0);a=a+1|0}while((a|0)!=(e|0));return +b}function up(b){b=b|0;var d=0;c[b>>2]=5168;d=c[b+212>>2]|0;if(d|0){if(a[b+216>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+212>>2]=0}a[b+216>>0]=1;c[b+212>>2]=0;c[b+204>>2]=0;c[b+208>>2]=0;return}function vp(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22344]|0))Uz(22344)|0;BA(d,b);c[5642]=c[d>>2];c[5643]=c[d+4>>2];c[5644]=c[d+8>>2];c[5645]=c[d+12>>2];l=d;return 22568}function wp(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22336]|0))Uz(22336)|0;kz(d,b);c[5638]=c[d>>2];c[5639]=c[d+4>>2];c[5640]=c[d+8>>2];c[5641]=c[d+12>>2];l=d;return 22552}function xp(b){b=b|0;var c=0.0,d=0.0,e=0.0;if(!(a[22400]|0))Uz(22400)|0;e=-+g[b+52>>2];d=+g[b+260>>2]*e;c=+g[b+264>>2]*e;g[5710]=+g[b+256>>2]*e;g[5711]=d;g[5712]=c;g[5713]=0.0;return 22840}function yp(a,b,d){a=a|0;b=+b;d=d|0;b=b*.4000000059604645*+nb[c[(c[a>>2]|0)+48>>2]&15](a);b=b*+nb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=b;g[d+12>>2]=0.0;return}function zp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;e=zb[c[(c[e>>2]|0)+56>>2]&31](e,16)|0;c[e+4>>2]=c[b>>2];c[e>>2]=4296;return e|0}function Ap(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=c*h-d*f;g[i+4>>2]=d*e-b*h;g[i>>2]=b*f-c*e;$s(a,i+8|0,i+4|0,i);l=i;return}function Bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=gJ(b+4|0)|0;e=(gJ($G(b,0)|0)|0)+(c<<2)|0;d=(gJ($G(b,1)|0)|0)+(c<<2)|0;$s(a,e,d,(gJ($G(b,2)|0)|0)+(c<<2)|0);return}function Cp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=-581039253;c[d+4>>2]=-581039253;c[d+8>>2]=-581039253;g[d+12>>2]=0.0;c[e>>2]=1566444395;c[e+4>>2]=1566444395;c[e+8>>2]=1566444395;g[e+12>>2]=0.0;return}function Dp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(gJ(a)|0)>>2];c=c*+g[(gJ(b)|0)>>2];d=+g[(gJ(a+16|0)|0)>>2];d=c+d*+g[(OI(b)|0)>>2];c=+g[(gJ(a+32|0)|0)>>2];return +(d+c*+g[(NI(b)|0)>>2])}function Ep(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22320]|0))Uz(22320)|0;lq(d,b);c[5630]=c[d>>2];c[5631]=c[d+4>>2];c[5632]=c[d+8>>2];c[5633]=c[d+12>>2];l=d;return 22520}function Fp(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22328]|0))Uz(22328)|0;Cm(d,b);c[5634]=c[d>>2];c[5635]=c[d+4>>2];c[5636]=c[d+8>>2];c[5637]=c[d+12>>2];l=d;return 22536}function Gp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[a>>2];c=c*+g[(gJ(b)|0)>>2];d=+g[a+4>>2];d=c+d*+g[(OI(b)|0)>>2];c=+g[a+8>>2];c=d+c*+g[(NI(b)|0)>>2];return +(c+ +g[a+12>>2]*+g[b+12>>2])}function Hp(b){b=b|0;var d=0;c[b>>2]=9712;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Ip(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;$s(a,b,c,d);$s(a+16|0,e,f,g);$s(a+32|0,h,i,j);return}function Jp(b){b=b|0;var d=0;c[b>>2]=5320;d=c[b+296>>2]|0;if(d|0){if(a[b+300>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+296>>2]=0}a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;return}function Kp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+64|0;zk(d+16|0,b,c);km(d,b,+g[c+48>>2],+g[c+52>>2],+g[c+56>>2]);Xq(a,d+16|0,d);l=d;return}function Lp(b){b=b|0;var d=0;c[b>>2]=3172;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Mp(a){a=a|0;var b=0,d=0;c[a>>2]=7472;b=c[a+56>>2]|0;if(b|0?(Ib[c[c[b>>2]>>2]&511](b),d=c[a+56>>2]|0,d|0):0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Np(a){a=a|0;var b=0;c[a>>2]=5820;c[a+8>>2]=5868;b=c[a+56>>2]|0;Ob[c[(c[b>>2]|0)+20>>2]&127](b,c[a+72>>2]|0);b=c[a+56>>2]|0;Ob[c[(c[b>>2]|0)+16>>2]&127](b,c[a+72>>2]|0);return}function Op(a,b){a=a|0;b=b|0;var d=0;d=(c[a+96>>2]|0)+4|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];uj(a);return}function Pp(b,d){b=b|0;d=d|0;var e=0;if(a[b+289>>0]|0?(e=c[b+216>>2]|0,e|0):0){c[6996]=(c[6996]|0)+1;Cd(c[e+-4>>2]|0)}a[b+289>>0]=0;c[b+216>>2]=d;c[(c[b+212>>2]|0)+8>>2]=d;return}function Qp(b){b=b|0;var d=0;c[b>>2]=5444;d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;return}function Rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;e=zb[c[(c[e>>2]|0)+56>>2]&31](e,8)|0;c[e+4>>2]=c[b>>2];c[e>>2]=9572;return e|0}function Sp(b){b=b|0;var d=0;c[b>>2]=8992;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function Tp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=l;l=l+16|0;g[f+12>>2]=b;g[f+8>>2]=c;g[f+4>>2]=d;g[f>>2]=e;as(a,f+12|0,f+8|0,f+4|0,f);l=f;return}function Up(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=c[b+8>>2]|0;e=c[f+344>>2]|0;Sb[c[(c[e>>2]|0)+40>>2]&127](e,f,c[d+8>>2]|0);return}function Vp(b){b=b|0;var d=0,e=0;c[b>>2]=6352;if(!(a[b+8>>0]|0)){cJ(b);return}d=c[b+12>>2]|0;if(!d){cJ(b);return}e=c[b+4>>2]|0;Ob[c[(c[e>>2]|0)+16>>2]&127](e,d);cJ(b);return}function Wp(b){b=b|0;var d=0,e=0;c[b>>2]=9600;if(!(a[b+8>>0]|0)){cJ(b);return}d=c[b+12>>2]|0;if(!d){cJ(b);return}e=c[b+4>>2]|0;Ob[c[(c[e>>2]|0)+16>>2]&127](e,d);cJ(b);return}function Xp(b){b=b|0;var d=0,e=0;c[b>>2]=5792;if(!(a[b+8>>0]|0)){cJ(b);return}d=c[b+12>>2]|0;if(!d){cJ(b);return}e=c[b+4>>2]|0;Ob[c[(c[e>>2]|0)+16>>2]&127](e,d);cJ(b);return}function Yp(b){b=b|0;var d=0;c[b>>2]=7120;if(!(a[b+65>>0]|0))return;d=c[b+56>>2]|0;Ib[c[c[d>>2]>>2]&511](d);b=c[b+56>>2]|0;if(!b)return;c[6996]=(c[6996]|0)+1;Cd(c[b+-4>>2]|0);return}function Zp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=9164;c[e+4>>2]=b;Sb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);l=e;return}function _p(b){b=b|0;var d=0,e=0;c[b>>2]=5888;if(!(a[b+8>>0]|0)){cJ(b);return}d=c[b+12>>2]|0;if(!d){cJ(b);return}e=c[b+4>>2]|0;Ob[c[(c[e>>2]|0)+16>>2]&127](e,d);cJ(b);return}function $p(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else gi(b,c,d)|0;return b|0}function aq(){var a=0,b=0;b=l;l=l+32|0;a=Ds(108)|0;Xt(b);rg(a,b);l=b;return a|0}function bq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=P(b&65535,a&65535)|0;e=(c>>>16)+(P(b&65535,a>>>16)|0)|0;d=P(b>>>16,a&65535)|0;return (A=(e>>>16)+(P(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0,e+d<<16|c&65535|0)|0}function cq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+C(+(+g[b>>2]));d=+C(+(+g[b+4>>2]));c=+C(+(+g[b+8>>2]));g[a+16>>2]=e;g[a+20>>2]=d;g[a+24>>2]=c;g[a+28>>2]=0.0;return}function dq(a,b){a=a|0;b=b|0;Wf(a,c[b+36>>2]|0);return}function eq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(qD(a,c[b+8>>2]|0)|0)on(b,d,e);return}function fq(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;m=m|0;Xb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function gq(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;f=(a[e>>0]|0)+-48|0;if(f>>>0<10){d=0;do{d=f+(d*10|0)|0;e=e+1|0;c[b>>2]=e;f=(a[e>>0]|0)+-48|0}while(f>>>0<10)}else d=0;return d|0}function hq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;g[a>>2]=(1.0-d)*+g[b>>2]+ +g[c>>2]*d;g[a+4>>2]=(1.0-d)*+g[b+4>>2]+ +g[c+4>>2]*d;g[a+8>>2]=(1.0-d)*+g[b+8>>2]+ +g[c+8>>2]*d;return}function iq(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b+e;g[i+4>>2]=c+f;g[i>>2]=d+h;$s(a,i+8|0,i+4|0,i);l=i;return}function jq(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b*e;g[i+4>>2]=c*f;g[i>>2]=d*h;$s(a,i+8|0,i+4|0,i);l=i;return}function kq(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b-e;g[i+4>>2]=c-f;g[i>>2]=d-h;$s(a,i+8|0,i+4|0,i);l=i;return}function lq(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+16|0;g[c+8>>2]=-+g[b>>2];g[c+4>>2]=-+g[b+4>>2];g[c>>2]=-+g[b+8>>2];dw(a,c+8|0,c+4|0,c,b+12|0);l=c;return}function mq(a){a=a|0;var b=0;c[a>>2]=7472;b=c[a+56>>2]|0;if(!b)return;Ib[c[c[b>>2]>>2]&511](b);a=c[a+56>>2]|0;if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function nq(a,b,d){a=a|0;b=b|0;d=d|0;b=c[b+188>>2]|0;a=c[d+188>>2]|0;if(!(c[a+8>>2]&c[b+4>>2])){d=0;return d|0}d=(c[b+8>>2]&c[a+4>>2]|0)!=0;return d|0}function oq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +(+cb(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0))}function pq(a,b){a=a|0;b=b|0;if((b|0)==0?1:(c[b+252>>2]&2|0)==0){ki(a,b);return}else{Ob[c[(c[a>>2]|0)+92>>2]&127](a,b);return}}function qq(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[19831+(b&15)>>0]|0|f;b=Mu(b|0,c|0,4)|0;c=A}while(!((b|0)==0&(c|0)==0));return e|0}function rq(a){a=a|0;var b=0;c[a>>2]=5868;b=c[a+48>>2]|0;Ob[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Ob[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);return}function sq(){var b=0;b=Ds(40)|0;g[b+12>>2]=1.0;c[b+8>>2]=0;c[b+4>>2]=5;c[b>>2]=3172;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+16>>0]=1;return b|0}function tq(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function uq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;jq(e,b,c,d,+g[a+408>>2],+g[a+412>>2],+g[a+416>>2]);us(a+472|0,e)|0;l=e;return}function vq(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0;e=l;l=l+16|0;g[e+8>>2]=a;g[e+4>>2]=b;g[e>>2]=c;d=Pt()|0;$s(d,e+8|0,e+4|0,e);l=e;return d|0}function wq(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];uj(a);return}function xq(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return Gb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function yq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;jq(e,b,c,d,+g[a+604>>2],+g[a+608>>2],+g[a+612>>2]);us(a+488|0,e)|0;l=e;return}function zq(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return +wb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Aq(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=Ss()|0;Hg(e,a,b,c,d);return e|0}function Bq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=qt()|0;ye(h,a,b,c,d,e,f,g);return h|0}function Cq(){var a=0,b=0;a=ts()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?((c[b+48>>2]&-256|0)==1126902528?(c[b+48+4>>2]|0)==1129074247:0):0)qy(c[b+12>>2]|0);qy(nF()|0)}function Dq(a,b,d){a=a|0;b=b|0;d=d|0;mA(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function Eq(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+388>>2]=c[b>>2];c[a+388+4>>2]=c[b+4>>2];c[a+388+8>>2]=c[b+8>>2];c[a+388+12>>2]=c[b+12>>2];return}function Fq(){var a=0,b=0;b=l;l=l+32|0;a=Ds(88)|0;Xt(b);ce(a,b);l=b;return a|0}function Gq(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+60+(b<<4)>>2];c[d+4>>2]=c[a+60+(b<<4)+4>>2];c[d+8>>2]=c[a+60+(b<<4)+8>>2];c[d+12>>2]=c[a+60+(b<<4)+12>>2];return}function Hq(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+372>>2]=c[b>>2];c[a+372+4>>2]=c[b+4>>2];c[a+372+8>>2]=c[b+8>>2];c[a+372+12>>2]=c[b+12>>2];return}function Iq(b,d){b=b|0;d=d|0;if(!(a[22408]|0))Uz(22408)|0;d=$G(b,d)|0;c[5714]=c[d>>2];c[5715]=c[d+4>>2];c[5716]=c[d+8>>2];c[5717]=c[d+12>>2];return 22856}function Jq(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+604>>2]=c[b>>2];c[a+604+4>>2]=c[b+4>>2];c[a+604+8>>2]=c[b+8>>2];c[a+604+12>>2]=c[b+12>>2];return}function Kq(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;Yb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function Lq(a){a=a|0;var b=0.0,d=0.0;d=+g[a+36>>2];+nb[c[(c[a>>2]|0)+48>>2]&15](a);b=+nb[c[(c[a>>2]|0)+48>>2]&15](a);+nb[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function Mq(a){a=a|0;var b=0.0,d=0.0;d=+g[a+32>>2];b=+nb[c[(c[a>>2]|0)+48>>2]&15](a);+nb[c[(c[a>>2]|0)+48>>2]&15](a);+nb[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function Nq(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;cc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Oq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=c[d>>2];a=Bb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];l=e;return a&1|0}function Pq(a,b,d){a=a|0;b=b|0;d=d|0;c[a+156+(b<<4)>>2]=c[d>>2];c[a+156+(b<<4)+4>>2]=c[d+4>>2];c[a+156+(b<<4)+8>>2]=c[d+8>>2];c[a+156+(b<<4)+12>>2]=c[d+12>>2];return}function Qq(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=l;l=l+16|0;g[f+8>>2]=b*e;g[f+4>>2]=c*e;g[f>>2]=d*e;$s(a,f+8|0,f+4|0,f);l=f;return}function Rq(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];g[a+12>>2]=+g[a+12>>2]*+g[b>>2];return a|0}function Sq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Ip(a,b,c,d,e,f,g,h,i,j);return}function Tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Us(344)|0;Vd(d,a,b,c);return d|0}function Uq(a,b,d){a=a|0;b=b|0;d=d|0;c[a+28+(b<<4)>>2]=c[d>>2];c[a+28+(b<<4)+4>>2]=c[d+4>>2];c[a+28+(b<<4)+8>>2]=c[d+8>>2];c[a+28+(b<<4)+12>>2]=c[d+12>>2];return}function Vq(b){b=b|0;var d=0;c[b>>2]=3172;d=c[b+32>>2]|0;if(!d){cJ(b);return}if(!(a[b+36>>0]|0)){cJ(b);return}c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);cJ(b);return}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;b=c[b+204>>2]|0;if(b&4|0)return 0;a=c[d+204>>2]|0;if(!(a&4))return (b&3|0)==0|(a&3|0)==0|0;else return 0;return 0}function Xq(a,b,d){a=a|0;b=b|0;d=d|0;Vm(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function Yq(b){b=b|0;var d=0;c[b>>2]=6352;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Ob[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;zm(d+(e*96|0)|0,(c[a+12>>2]|0)+(e*96|0)|0);e=e+1|0}return}function _q(b){b=b|0;var d=0;c[b>>2]=5444;d=c[b+20>>2]|0;if(!d){cJ(b);return}if(!(a[b+24>>0]|0)){cJ(b);return}c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);cJ(b);return}function $q(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+128|0;to(c,a+68|0);Kp(c+64|0,a+4|0,c);ur(b,c+64|0);l=c;return}function ar(b){b=b|0;var d=0;c[b>>2]=9600;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Ob[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function br(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;g=qt()|0;ye(g,a,b,c,d,e,f,0);return g|0}function cr(b){b=b|0;var d=0;c[b>>2]=5792;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Ob[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function dr(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;return ((c[b>>2]|0)==(a|0)?1:(c[b+4>>2]|0)==(a|0))|0}function er(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=dt()|0;He(f,a,b,c,d,e);return f|0}function fr(a,b){a=a|0;b=b|0;a=c[a+24>>2]|0;return zb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function gr(b){b=b|0;var d=0;c[b>>2]=8992;d=c[b+16>>2]|0;if(!d){cJ(b);return}if(!(a[b+20>>0]|0)){cJ(b);return}c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);cJ(b);return}function hr(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;g[e+8>>2]=b;g[e+4>>2]=c;g[e>>2]=d;$s(a,e+8|0,e+4|0,e);l=e;return}function ir(b){b=b|0;var d=0;c[b>>2]=5888;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Ob[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function jr(a,b,d){a=a|0;b=b|0;d=d|0;TH(a);c[a>>2]=3056;ur(a+4|0,b);ur(a+68|0,d);ur(a+132|0,b);c[a+196>>2]=0;return}function kr(a){a=a|0;var b=0;b=l;l=l+16|0;Kn(a);g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;$s(a+48|0,b+8|0,b+4|0,b);l=b;return}function lr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0;f=Ds(44)|0;Qm(f,a,b,c,d,e);return f|0}function mr(a,b,c){a=a|0;b=b|0;c=+c;switch(b|0){case 3:{a=a+452|0;break}case 4:{a=a+448|0;break}case 5:{a=a+444|0;break}default:return}g[a>>2]=c;return}function nr(a,b){a=a|0;b=b|0;b=c[b+36>>2]|0;we(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+28>>2]|0)+(b*80|0)+64>>2]|0,b);return}function or(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +vb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function pr(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)+4>>2]=+ot(+g[(gJ(b)|0)+(c<<2)>>2]);c=c+1|0}return}function qr(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;var e=0;e=Ds(144)|0;Xk(e,a,b,c,d);return e|0}function rr(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +(+ub[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,i))}function sr(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=Mu(b|0,c|0,3)|0;c=A}while(!((b|0)==0&(c|0)==0));return d|0}function tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=c[(c[a+12>>2]|0)+(e<<2)>>2];e=e+1|0}return}function ur(a,b){a=a|0;b=b|0;Vm(a,b);c[a+48>>2]=c[b+48>>2];c[a+48+4>>2]=c[b+48+4>>2];c[a+48+8>>2]=c[b+48+8>>2];c[a+48+12>>2]=c[b+48+12>>2];return}function vr(a,b){a=a|0;b=b|0;$s(a,b,b+16|0,b+32|0);$s(a+16|0,b+4|0,b+20|0,b+36|0);$s(a+32|0,b+8|0,b+24|0,b+40|0);return}function wr(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)>>2]=+ot(+g[(gJ(b)|0)+(c<<2)>>2]);c=c+1|0}return}function xr(a){a=a|0;c[6995]=(c[6995]|0)+1;a=sc((a<<2|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function yr(a,b){a=a|0;b=b|0;Ib[c[(c[b>>2]|0)+32>>2]&511](b);id(a,b);Ib[c[(c[b>>2]|0)+36>>2]&511](b);return}function zr(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;bc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Ar(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Sb[c[(c[a>>2]|0)+108>>2]&127](a,b,d);Sb[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);return}function Br(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;g[e+8>>2]=-b;g[e+4>>2]=-c;g[e>>2]=-d;$s(a,e+8|0,e+4|0,e);l=e;return}function Cr(a,b){a=a|0;b=b|0;c[a+100>>2]=c[b>>2];c[a+100+4>>2]=c[b+4>>2];c[a+100+8>>2]=c[b+8>>2];c[a+100+12>>2]=c[b+12>>2];return}function Dr(a){a=a|0;c[6995]=(c[6995]|0)+1;a=sc((a*104|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Er(a){a=a|0;c[6995]=(c[6995]|0)+1;a=sc((a*52|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Fr(a){a=a|0;c[6995]=(c[6995]|0)+1;a=sc((a*44|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Gr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=rt()|0;he(f,a,b,c&65535,d,e);return f|0}function Hr(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b>>2];c[a+696+4>>2]=c[b+4>>2];c[a+696+8>>2]=c[b+8>>2];c[a+696+12>>2]=c[b+12>>2];return}function Ir(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b>>2];c[a+680+4>>2]=c[b+4>>2];c[a+680+8>>2]=c[b+8>>2];c[a+680+12>>2]=c[b+12>>2];return}function Jr(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b>>2];c[a+156+4>>2]=c[b+4>>2];c[a+156+8>>2]=c[b+8>>2];c[a+156+12>>2]=c[b+12>>2];return}function Kr(b,c,d){b=b|0;c=c|0;d=d|0;a[b+1309+c>>0]=d&1;if((c|0)<3){a[b+788+c>>0]=d&1;return}else{a[b+868+(c+-3<<6)+44>>0]=d&1;return}}function Lr(a,b){a=a|0;b=b|0;c[a+112>>2]=c[b>>2];c[a+112+4>>2]=c[b+4>>2];c[a+112+8>>2]=c[b+8>>2];c[a+112+12>>2]=c[b+12>>2];return}function Mr(a,b){a=a|0;b=b|0;c[a+56>>2]=c[b>>2];c[a+56+4>>2]=c[b+4>>2];c[a+56+8>>2]=c[b+8>>2];c[a+56+12>>2]=c[b+12>>2];return}function Nr(b){b=b|0;if(a[22448]|0)return 23016;if(!(Uz(22448)|0))return 23016;c[5754]=1065353216;c[5755]=1065353216;c[5756]=1065353216;g[5757]=0.0;return 23016}function Or(a){a=a|0;c[6995]=(c[6995]|0)+1;a=sc(a*96|19)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Pr(a){a=a|0;var b=0;do{c[a+4>>2]=0;g[a+8>>2]=0.0;b=c[a+24>>2]|0;if(b|0)Pr(b);a=c[a+28>>2]|0}while((a|0)!=0);return}function Qr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Ud(a,b,c,d,e,f);return}function Rr(a,b){a=a|0;b=b|0;c[a+172>>2]=c[b>>2];c[a+172+4>>2]=c[b+4>>2];c[a+172+8>>2]=c[b+8>>2];c[a+172+12>>2]=c[b+12>>2];return}function Sr(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b>>2];c[a+32+4>>2]=c[b+4>>2];c[a+32+8>>2]=c[b+8>>2];c[a+32+12>>2]=c[b+12>>2];return}function Tr(a){a=a|0;g[a>>2]=5.880000114440918;g[a+4>>2]=.8299999833106995;g[a+8>>2]=.8799999952316284;g[a+12>>2]=500.0;g[a+16>>2]=10.5;g[a+20>>2]=6.0e3;return}function Ur(a,b){a=a|0;b=b|0;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];return}function Vr(a,b){a=a|0;b=b|0;c[a+316>>2]=c[b>>2];c[a+316+4>>2]=c[b+4>>2];c[a+316+8>>2]=c[b+8>>2];c[a+316+12>>2]=c[b+12>>2];return}function Wr(a,b){a=a|0;b=b|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];return}function Xr(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b>>2];c[a+64+4>>2]=c[b+4>>2];c[a+64+8>>2]=c[b+8>>2];c[a+64+12>>2]=c[b+12>>2];return}function Yr(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Zr(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];return}function _r(a,b){a=a|0;b=b|0;c[a+188>>2]=c[b>>2];c[a+188+4>>2]=c[b+4>>2];c[a+188+8>>2]=c[b+8>>2];c[a+188+12>>2]=c[b+12>>2];return}function $r(a,b){a=a|0;b=b|0;c[a+40>>2]=c[b>>2];c[a+40+4>>2]=c[b+4>>2];c[a+40+8>>2]=c[b+8>>2];c[a+40+12>>2]=c[b+12>>2];return}function as(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];c[a+12>>2]=c[f>>2];return}function bs(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +ub[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function cs(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];return}function ds(a,b){a=a|0;b=b|0;if(!(c[b+4>>2]&c[a+8>>2])){b=0;return b|0}b=(c[a+4>>2]&c[b+8>>2]|0)!=0;return b|0}function es(a,b){a=a|0;b=b|0;if(!(c[b+4>>2]&c[a+12>>2])){b=0;return b|0}b=(c[a+8>>2]&c[b+8>>2]|0)!=0;return b|0}function fs(a,b,d){a=a|0;b=b|0;d=+d;Ob[c[(c[a>>2]|0)+32>>2]&127](a,b);Pb[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function gs(a,b){a=a|0;b=b|0;if(!(c[b+4>>2]&c[a+16>>2])){b=0;return b|0}b=(c[a+12>>2]&c[b+8>>2]|0)!=0;return b|0}function hs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=rt()|0;he(e,a,b,c&65535,d,0);return e|0}function is(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];return}function js(a,b){a=a|0;b=b|0;c[a+36>>2]=c[b>>2];c[a+36+4>>2]=c[b+4>>2];c[a+36+8>>2]=c[b+8>>2];c[a+36+12>>2]=c[b+12>>2];return}function ks(a,b){a=a|0;b=b|0;c[a>>2]=c[b+264>>2];c[a+4>>2]=c[b+264+4>>2];c[a+8>>2]=c[b+264+8>>2];c[a+12>>2]=c[b+264+12>>2];return}function ls(b,d){b=b|0;d=d|0;if(!(a[22360]|0))Uz(22360)|0;yn(aC(c[b+12>>2]|0,d)|0);return 22600}function ms(){var a=0;a=Ds(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;Dz(a);return a|0}function ns(a,b){a=a|0;b=+b;dg(a,b);a=c[a+472>>2]|0;Jb[c[(c[a>>2]|0)+24>>2]&31](a,b);return}function os(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=dt()|0;Yd(d,a,b,c);return d|0}function ps(){var a=0;a=jt()|0;ho();ho();jr(a,22728,22728);return a|0}function qs(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a+4>>2]|0)==(b|0)?(c[a+28>>2]|0)!=1:0)c[a+28>>2]=d;return}function rs(){var a=0,b=0;b=ct(c[5628]|0,c[5629]|0,1284865837,1481765933)|0;b=Ow(b|0,A|0,1,0)|0;a=A;c[5628]=b;c[5629]=a;a=Mu(b|0,a|0,33)|0;return a|0}function ss(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b>>2];c[a+48+4>>2]=c[b+4>>2];c[a+48+8>>2]=c[b+8>>2];c[a+48+12>>2]=c[b+12>>2];return}function ts(){var a=0,b=0;a=l;l=l+16|0;if(!(jb(28552,3)|0)){b=hb(c[7139]|0)|0;l=a;return b|0}else Ww(22016,a);return 0}function us(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]+ +g[b>>2];g[a+4>>2]=+g[a+4>>2]+ +g[b+4>>2];g[a+8>>2]=+g[a+8>>2]+ +g[b+8>>2];return a|0}function vs(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]-+g[b>>2];g[a+4>>2]=+g[a+4>>2]-+g[b+4>>2];g[a+8>>2]=+g[a+8>>2]-+g[b+8>>2];return a|0}function ws(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+64|0;Kp(c,b,a+68|0);ur(a+4|0,c);l=c;return}function xs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;Ye(a,b,d,e,f|0)|0;l=f;return (A=c[f+4>>2]|0,c[f>>2]|0)|0}function ys(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];return}function zs(a,b){a=a|0;b=b|0;c[a+88>>2]=c[b>>2];c[a+88+4>>2]=c[b+4>>2];c[a+88+8>>2]=c[b+8>>2];c[a+88+12>>2]=c[b+12>>2];return}function As(a){a=a|0;var b=0;b=Ds(108)|0;rg(b,a);return b|0}function Bs(a,b){a=a|0;b=b|0;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];return}function Cs(a,b){a=a|0;b=b|0;c[a+76>>2]=c[b>>2];c[a+76+4>>2]=c[b+4>>2];c[a+76+8>>2]=c[b+8>>2];c[a+76+12>>2]=c[b+12>>2];return}function Ds(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=sc(b)|0;if(a|0)break;a=iF()|0;if(!a){a=0;break}Hb[a&3]()}return a|0}function Es(a,b){a=a|0;b=b|0;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];return}function Fs(a){a=a|0;var b=0;b=l;l=l+16|0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;$s(a,b+8|0,b+4|0,b);l=b;return}function Gs(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function Hs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Us(1252)|0;Bc(e,a,b,c,d);return e|0}function Is(a,b){a=a|0;b=b|0;c[a+72>>2]=c[b>>2];c[a+72+4>>2]=c[b+4>>2];c[a+72+8>>2]=c[b+8>>2];c[a+72+12>>2]=c[b+12>>2];return}function Js(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];return a|0}function Ks(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=rt()|0;he(d,a,b,c&65535,0,0);return d|0}function Ls(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g[a+(c[b+56>>2]<<2)>>2]=1.0;return}function Ms(a){a=a|0;var b=0;b=l;l=l+16|0;Cd(a);if(!(kb(c[7139]|0,0)|0)){l=b;return}else Ww(22115,b)}function Ns(a,b){a=a|0;b=b|0;c[a+8>>2]=c[b>>2];c[a+8+4>>2]=c[b+4>>2];c[a+8+8>>2]=c[b+8>>2];c[a+8+12>>2]=c[b+12>>2];return}function Os(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(255)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Jt()|0;Xe(d,a,b,c);return d|0}function Qs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ic(b,c,d,e)|0}function Rs(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(1479)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ss(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(311)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ts(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(1407)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Us(a){a=a|0;c[6995]=(c[6995]|0)+1;a=sc(a+19|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Vs(a){a=a|0;if(!(+C(+(+g[a+20>>2]))<1.1920928955078125e-07)){a=0;return a|0}a=+C(+(+g[a+24>>2]))<1.1920928955078125e-07;return a|0}function Ws(a){a=a|0;var b=0;b=jt()|0;ho();jr(b,a,22728);return b|0}function Xs(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(191)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ys(a,b){a=a|0;b=b|0;if(!b?c[a+204>>2]&3|0:0)return;if((c[a+220>>2]&-2|0)!=4)c[a+220>>2]=1;g[a+224>>2]=0.0;return}function Zs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Vb[c[(c[a+-4>>2]|0)+8>>2]&127](a+-4|0,b,d,e);return}function _s(a,b){a=a|0;b=b|0;var c=0.0;c=+EF(a);c=+VI(c*+EF(b));return +(+$A(+Gp(a,b)/c))}function $s(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];g[a+12>>2]=0.0;return}function at(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(147)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function bt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(119)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ct(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=bq(a,c)|0;f=A;return (A=(P(b,c)|0)+(P(d,a)|0)+f|f&0,e|0|0)|0}function dt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(1331)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function et(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(!d)return;if(a[b+16>>0]&1)Ey(d);c[b+12>>2]=0;return}function ft(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ac[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function gt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(379)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ht(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(627)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function it(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(823)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function jt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(219)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Vb[c[(c[a>>2]|0)+88>>2]&127](a,b,d<<16>>16,e<<16>>16);return}function lt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(1147)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function mt(a,b){a=a|0;b=b|0;var c=0;c=Ds(84)|0;dn(c,a,b);return c|0}function nt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(107)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ot(a){a=+a;a=+$H(a);if(a<-3.1415927410125732){a=a+6.2831854820251465;return +a}if(!(a>3.1415927410125732))return +a;a=a+-6.2831854820251465;return +a}function pt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Vb[c[(c[a>>2]|0)+36>>2]&127](a,b,d<<16>>16,e<<16>>16);return}function qt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(787)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function rt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(135)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function st(a,b){a=a|0;b=b|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];return}function tt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((d|0)<=0)return;Yk(c|0,0,d<<4|0)|0;return}function ut(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(115)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function vt(a,b){a=a|0;b=b|0;c[a+540>>2]=b;if(!b)return;Ob[c[(c[b>>2]|0)+8>>2]&127](b,a+4|0);return}function wt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;sj(a,b,c,d);return}function xt(a,b){a=a|0;b=b|0;var c=0;c=Jt()|0;Xe(c,a,b,1);return c|0}function yt(a,b){a=a|0;b=b|0;var c=0;c=rt()|0;he(c,a,b,16384,0,0);return c|0}function zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+192>>2]|0;Vb[c[(c[e>>2]|0)+8>>2]&127](e,a+4|0,b,d);return}function At(a){a=a|0;var b=0;b=Ds(88)|0;ce(b,a);return b|0}function Bt(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=1065353216;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function Ct(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;Sb[c[d+64>>2]&127](b,d,c[a+4>>2]|0);return 0}function Dt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(75)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Et(a,b){a=a|0;b=b|0;var d=0;d=a+92|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Ft(a,b){a=a|0;b=b|0;Pa(a|0,b|0)}function Gt(a,b){a=a|0;b=b|0;Oa(a|0,b|0)}function Ht(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Og(a,b,c,d);return}function It(a){a=a|0;if(!a){a=0;return a|0}a=xr(a)|0;return a|0}function Jt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(99)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Kt(a,b){a=a|0;b=b|0;return +(+Iy(+g[a>>2],+g[a+4>>2],+g[a+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]))}function Lt(a,b){a=a|0;b=b|0;var c=0;c=Ds(88)|0;qn(c,a,b);return c|0}function Mt(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function Nt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(79)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ot(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=gJ(c[a+60>>2]|0)|0;a=SC(ab(6,b|0)|0)|0;l=b;return a|0}function Pt(){var a=0;c[6995]=(c[6995]|0)+1;a=sc(35)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Qt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Eb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Rt(a){a=a|0;var b=0;b=l;l=l+16|0;Ob[c[(c[a>>2]|0)+44>>2]&127](a,b);l=b;return}function St(a){a=a|0;Tf(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Tt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Vb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function Ut(a){a=a|0;c[a>>2]=2976;g[a+4>>2]=1.0;c[a+8>>2]=0;c[a+12>>2]=1;c[a+16>>2]=-1;c[a+20>>2]=0;return}function Vt(a){a=a|0;var b=0;b=Nt()|0;Ai(b,a);c[b>>2]=8692;c[b+56>>2]=2;return b|0}function Wt(a){a=a|0;var b=0;b=Nt()|0;Ai(b,a);c[b>>2]=8588;c[b+56>>2]=0;return b|0}function Xt(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=4096;c[a+12>>2]=4096;c[a+16>>2]=0;c[a+20>>2]=1;return}function Yt(a,b,d){a=a|0;b=b|0;d=d|0;xe(c[a+108>>2]|0,c[a+136>>2]|0,b,d);return}function Zt(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=b;a=Rq(a,c)|0;l=c;return a|0}function _t(a,b){a=a|0;b=b|0;var c=0;c=jt()|0;jr(c,a,b);return c|0}function $t(a){a=a|0;if(!a){a=0;return a|0}a=Or(a)|0;return a|0}function au(a,b,d){a=a|0;b=b|0;d=d|0;Sb[c[(c[b>>2]|0)+64>>2]&127](a,b,d);return}function bu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Vb[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);return}function du(a){a=a|0;if(!a){a=0;return a|0}a=Dr(a)|0;return a|0}function eu(a){a=a|0;if(!a){a=0;return a|0}a=Er(a)|0;return a|0}function fu(a){a=a|0;if(!a){a=0;return a|0}a=Fr(a)|0;return a|0}function gu(){var a=0;a=l;l=l+16|0;if(!(ib(28556,265)|0)){l=a;return}else Ww(22065,a)}function hu(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;return +rb[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function iu(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=b;a=Js(a,c)|0;l=c;return a|0}function ju(a){a=a|0;if(c[a+204>>2]&3|0)return;if((c[a+220>>2]&-2|0)!=4)c[a+220>>2]=1;g[a+224>>2]=0.0;return}function ku(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;zb[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;return}function lu(a,b){a=a|0;b=b|0;vr(a,b);$s(a+48|0,b+48|0,b+52|0,b+56|0);return}function mu(a,b,d){a=a|0;b=b|0;d=d|0;Tg(c[a+108>>2]|0,b,d);return}function nu(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+192>>2]=b;c[a+200>>2]=b;return}function ou(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;$b[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function pu(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;T(36)}function qu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Vb[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function ru(a,b,d){a=a|0;b=b|0;d=d|0;Vb[c[(c[a>>2]|0)+36>>2]&127](a,b,d<<16>>16,-3);return}function su(a,b,d){a=a|0;b=b|0;d=d|0;Sb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);return}function tu(b,d){b=b|0;d=d|0;b=(a[b+344>>0]|0)==0?3:0;c[d>>2]=b;c[d+4>>2]=b;return}function uu(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=1.0/b;a=Rq(a,c)|0;l=c;return a|0}function vu(a,b,d){a=a|0;b=+b;d=d|0;return yb[c[(c[a>>2]|0)+52>>2]&1](a,b,d,.01666666753590107)|0}function wu(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){A=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}A=a<<c-32;return 0}function xu(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function yu(a){a=a|0;lk(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function zu(a){a=a|0;var b=0;b=c[a+68>>2]|0;Ob[c[(c[b>>2]|0)+32>>2]&127](b,c[a+24>>2]|0);return}function Au(a,b){a=a|0;b=b|0;wo(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Bu(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return yb[c[(c[a>>2]|0)+52>>2]&1](a,b,d,e)|0}function Cu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function Du(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function Eu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=1065353216;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function Fu(a,b){a=a|0;b=b|0;Sb[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function Gu(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;_b[a&0](b|0,c|0,d|0,e|0,f|0,+g)}function Hu(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;Ub[a&0](b|0,c|0,d|0,+e,f|0,g|0)}function Iu(a,b){a=a|0;b=b|0;xo(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Ju(a){a=a|0;qC(a+144|0);qC(a+124|0);qC(a+104|0);return}function Ku(b,d,e){b=b|0;d=d|0;e=+e;g[(c[b+780>>2]|0)+(d*104|0)+88>>2]=e>0.0?1.0/e:0.0;a[b+984>>0]=1;return}function Lu(a,b,d){a=a|0;b=b|0;d=+d;Pb[c[(c[a>>2]|0)+20>>2]&7](a,b,d);return}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){A=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}A=0;return b>>>c-32|0}function Nu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Vb[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);return}function Ou(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+112>>2]=b;c[a+116>>2]=d;c[a+120>>2]=e;return}function Pu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a>>2]|0)+8>>2]&31](a,b,d,e)|0;return}function Qu(a,b){a=a|0;b=b|0;uq(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Ru(a,b,d){a=a|0;b=b|0;d=d|0;Vb[c[(c[a>>2]|0)+36>>2]&127](a,b,d<<16>>16,-1);return}function Su(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;$s(a,b,d,e);c[a+12>>2]=c[f>>2];return}function Tu(b,c,d,e){b=b|0;c=c|0;d=+d;e=+e;a[b+737>>0]=c&1;g[b+680>>2]=d;g[b+684>>2]=e;return}function Uu(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;fo(a,b,c,d,e,f);return}function Vu(a){a=a|0;bk(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Wu(a){a=a|0;rk(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Xu(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;Lb[a&0](b|0,+c,+d,e|0,f|0,g|0)}function Yu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Zu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function _u(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;T(19);return 0}function $u(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Vb[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);return}function av(a){a=a|0;Qg(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function bv(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;T(9);return 0.0}function cv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Yi(a,b,c,d,e);return}function dv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;bg(a,b,c,d,e);return}function ev(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Qa(a|0,b|0,+c,d|0)}function fv(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;Qb[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e);return}function gv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Db[a&1](b|0,c|0,d|0,e|0,f|0)|0}function hv(a,b){a=a|0;b=b|0;Ce(a,b);return}function iv(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;T(37)}function jv(a,b){a=a|0;b=b|0;Tg(c[a+108>>2]|0,b,1);return}function kv(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;ur(a+4|0,b);return}function lv(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 +tb[a&15](b|0,c|0,d|0,e|0,f|0)}function mv(a,b){a=a|0;b=b|0;var c=0;c=Xs()|0;ig(c,a,b);return c|0}function nv(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ui(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function ov(a,b){a=a|0;b=b|0;yq(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function pv(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=1.0/b;Js(a,c)|0;l=c;return}function qv(a,b){a=a|0;b=+b;return yb[c[(c[a>>2]|0)+52>>2]&1](a,b,1,.01666666753590107)|0}function rv(a){a=a|0;var b=0;b=Ds(8)|0;hw(b,a);return b|0}function sv(a,b,d){a=a|0;b=b|0;d=d|0;Sb[c[(c[a>>2]|0)+56>>2]&127](a,b,d);return}function tv(a,b,d){a=a|0;b=b|0;d=+d;Pb[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function uv(b){b=b|0;if((c[b+56>>2]|0)==0?(a[b+44>>0]&1)==0:0){b=0;return b|0}b=1;return b|0}function vv(a){a=a|0;ii(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function wv(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;T(43)}function xv(a){a=a|0;tj(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function yv(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;fo(a,b,c,d,e,1.0);return}function zv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +pb[a&3](b|0,c|0,+d,e|0,f|0)}function Av(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Tu(a,b,c,d);return}function Bv(a,b,c){a=a|0;b=b|0;c=c|0;return +Sa(a|0,b|0,c|0)}function Cv(a){a=a|0;c[a>>2]=8404;if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Dv(a,b){a=a|0;b=b|0;return c[(bC(c[a+28>>2]|0,b)|0)+64>>2]|0}function Ev(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Zb[a&31](b|0,c|0,d|0,e|0,f|0)}function Fv(a){a=a|0;if(!(c[a+12>>2]|0)){a=0;return a|0}a=c[a+20>>2]|0;return a|0}function Gv(a){a=a|0;et(a);Dw(a);return}function Hv(a){a=a|0;qm(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Iv(a,b){a=a|0;b=b|0;var c=0;c=Ds(64)|0;Dq(c,a,b);return c|0}function Jv(){var a=0;a=Ds(24)|0;Xt(a);return a|0}function Kv(a,b,d){a=a|0;b=b|0;d=+d;Jb[c[(c[a>>2]|0)+16>>2]&31](a,d);return}function Lv(a,b,c){a=a|0;b=b|0;c=c|0;yo(a,b,c);return}function Mv(a,b){a=a|0;b=b|0;Vb[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);return}function Nv(a,b,d){a=a|0;b=+b;d=d|0;Mb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);return}function Ov(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function Pv(a){a=a|0;ji(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Qv(a){a=a|0;ni(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Rv(a,b,d){a=a|0;b=b|0;d=d|0;return +(+qb[c[(c[a>>2]|0)+32>>2]&31](a,b,d))}function Sv(a,b){a=a|0;b=b|0;$o(a,b);return}function Tv(a,b){a=a|0;b=b|0;$o(a,b);return}function Uv(a,b){a=a|0;b=b|0;$o(a,b);return}function Vv(a,b){a=a|0;b=b|0;return c[(aE(c[a+336>>2]|0,b)|0)>>2]|0}function Wv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Wb[a&1](b|0,c|0,d|0,e|0,+f)}function Xv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Rb[a&0](b|0,c|0,+d,e|0,f|0)}function Yv(a){a=a|0;c[a>>2]=4652;if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Zv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;T(8);return 0.0}function _v(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+16>>2]&127](a,b);return}function $v(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+52>>2]&127](a,b);return}function aw(a,b,d){a=a|0;b=b|0;d=+d;Pb[c[(c[a>>2]|0)+8>>2]&7](a,b,d);return}function bw(a,b){a=a|0;b=b|0;wA(a,b);return}function cw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qc(a,b,c,d)|0;return 1}function dw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;as(a,b,c,d,e);return}function ew(a){a=a|0;var b=0;b=Xs()|0;ig(b,a,1);return b|0}function fw(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+136>>2]|0)+(d*284|0)+232>>2]=b;return}function gw(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+136>>2]|0)+(d*284|0)+252>>2]=b;return}function hw(a,b){a=a|0;b=b|0;CH(a);c[a>>2]=5148;c[a+4>>2]=b;return}function iw(a,b){a=a|0;b=b|0;pr(a,b);return}function jw(a,b){a=a|0;b=b|0;wr(a,b);return}function kw(a,b){a=a|0;b=b|0;Vb[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}function lw(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;A=c[j+4>>2]|0;return b|0}function mw(a,b,c){a=a|0;b=b|0;c=c|0;Wh(b,c);return}function nw(a,b){a=a|0;b=b|0;Rn(a,b);return}function ow(a){a=a|0;c[a>>2]=2928;c[a+4>>2]=1;c[a+8>>2]=-1;g[a+12>>2]=0.0;return}function pw(a){a=a|0;rd(a);if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function qw(a){a=a|0;var b=0;b=((c[a+56>>2]|0)+2|0)%3|0;return +(+g[(gJ(a+32|0)|0)+(b<<2)>>2])}function rw(a){a=a|0;c[a>>2]=3148;g[a+4>>2]=1.0;c[a+8>>2]=1;c[a+12>>2]=-1;return}function sw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (A=d,a-c>>>0|0)|0}function tw(a,b){a=a|0;b=b|0;return c[(aE(c[a+12>>2]|0,b)|0)>>2]|0}function uw(a,b){a=a|0;b=b|0;if((c[a+220>>2]&-2|0)==4)return;c[a+220>>2]=b;return}function vw(a,b){a=a|0;b=b|0;Hr(a,b);return}function ww(a,b){a=a|0;b=b|0;Ir(a,b);return}function xw(a,b){a=a|0;b=b|0;Sb[c[(c[a>>2]|0)+56>>2]&127](a,b,0);return}function yw(a,b){a=a|0;b=+b;ry(a,b);return}function zw(a,b){a=a|0;b=b|0;return BB(a,b)|0}function Aw(a,b){a=a|0;b=b|0;return zb[c[(c[a>>2]|0)+40>>2]&31](a,b)|0}function Bw(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+60>>2]&127](a,b);return}function Cw(a,b,d){a=a|0;b=b|0;d=+d;Ob[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function Dw(b){b=b|0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Ew(a){a=a|0;var b=0;b=Ds(64)|0;cn(b,a);return b|0}function Fw(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+92>>2]&127](a,b);return}function Gw(a,b){a=a|0;b=b|0;xn(a,b);return}function Hw(a,b){a=a|0;b=b|0;zn(a,b);return}function Iw(a,b){a=a|0;b=b|0;An(a,b);return}function Jw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Cb[a&31](b|0,c|0,d|0,e|0)|0}function Kw(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+32>>2]&127](a,b);return}function Lw(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+128>>2]&127](a,b);return}function Mw(a){a=a|0;var b=0;b=Nt()|0;Ai(b,a);return b|0}function Nw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;T(42)}function Ow(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (A=b+d+(a+c>>>0>>>0<a>>>0|0)>>>0,a+c>>>0|0)|0}function Pw(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+40>>2]&127](a,b);return}function Qw(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+136>>2]|0)+(d*284|0)+256>>2]=b;return}function Rw(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+84>>2]&127](a,b);return}function Sw(a){a=a|0;var b=0;b=ut()|0;Rf(b,a,0);return b|0}function Tw(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Lm(a,b,c,d);return}function Uw(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+28>>2]&127](a,b);return}function Vw(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+124>>2]&127](a,b);return}function Ww(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;Ik(a,d);rn();bb()}function Xw(a,b){a=a|0;b=+b;c[a+304>>2]=(c[a+304>>2]|0)+1;g[a+236>>2]=b;return}function Yw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +sb[a&1](b|0,c|0,d|0,e|0)}function Zw(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+72>>2]&127](a,b);return}function _w(){var a=0;a=rt()|0;lg(a,0,0,16);return a|0}function $w(a){a=a|0;var b=0;b=Ds(284)|0;Gj(b,a);return b|0}function ax(a,b){a=a|0;b=+b;g[a+44>>2]=b;g[a+48>>2]=+F(+b);return}function bx(a,b){a=a|0;b=+b;return +(+nb[c[(c[a>>2]|0)+16>>2]&15](a)*b)}function cx(a){a=a|0;pv(a,+MA(+g[a>>2],+g[a+4>>2],+g[a+8>>2]));return}function dx(a,b){a=a|0;b=b|0;Uv(a+928|0,b);return}function ex(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function fx(a,b){a=a|0;b=+b;c[a+304>>2]=(c[a+304>>2]|0)+1;g[a+232>>2]=b;return}function gx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;T(18);return 0}function hx(a,b){a=a|0;b=b|0;Oe(a,b);return}function ix(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;T(7);return 0.0}function jx(a,b,c){a=a|0;b=b|0;c=c|0;xi(a,b,c);return}function kx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Vb[a&127](b|0,c|0,d|0,e|0)}function lx(a,b,c){a=a|0;b=b|0;c=c|0;ll(a,b,c);return}function mx(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Pm(a,b,c,d);return}function nx(a,b){a=a|0;b=b|0;xf(a,b);return}function ox(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function px(a){a=a|0;if(!a)return;Ib[c[(c[a>>2]|0)+4>>2]&511](a);return}function qx(a,b){a=a|0;b=+b;c[a+304>>2]=(c[a+304>>2]|0)+1;g[a+228>>2]=b;return}function rx(){var a=0;a=Xs()|0;ig(a,1,1);return a|0}function sx(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+8>>2]&127](a,b);return}function tx(a){a=a|0;return jF(c[a+204>>2]|0)|0}function ux(a,b,c){a=a|0;b=+b;c=+c;my(a,b,c);return}function vx(a,b){a=a|0;b=+b;Jb[c[(c[a>>2]|0)+20>>2]&31](a,b);return}function wx(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Fl(a,b,c,d);return}function xx(a,b){a=a|0;b=b|0;nw(a+848|0,b);return}function yx(a){a=a|0;return MF(+g[a>>2],+g[a+4>>2])|0}function zx(a,b){a=a|0;b=+b;Jb[c[(c[a>>2]|0)+16>>2]&31](a,b);return}function Ax(a,b){a=a|0;b=b|0;return +(+g[(c[a+136>>2]|0)+(b*284|0)+232>>2])}function Bx(){var a=0;a=Ds(176)|0;Ne(a,0);return a|0}function Cx(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+24>>2]&127](a,b);return}function Dx(a,b){a=a|0;b=b|0;c[a+68>>2]=b;return}function Ex(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function Fx(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function Gx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Hx(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return yb[a&1](b|0,+c,d|0,+e)|0}function Ix(a,b,c){a=a|0;b=b|0;c=+c;Um(a,b,c);return}function Jx(a,b){a=a|0;b=b|0;Ob[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function Kx(a){a=a|0;var b=0;b=((gJ(c[a+252>>2]|0)|0)&2|0)==0;return (b?0:a)|0}function Lx(a,b){a=a|0;b=b|0;return nC(c[a+12>>2]|0,b)|0}function Mx(a,b){a=a|0;b=b|0;return wC(c[a+12>>2]|0,b)|0}function Nx(a,b){a=a|0;b=b|0;return xC(c[a+12>>2]|0,b)|0}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;dm(a,b,c);return}function Px(a,b,c){a=a|0;b=b|0;c=+c;g[a+1340+(b<<2)>>2]=c;return}function Qx(a,b,c){a=a|0;b=b|0;c=c|0;return jc(a,b,c)|0}function Rx(a,b,c){a=a|0;b=b|0;c=+c;mr(a,b,c);return}function Sx(a){a=a|0;c[a>>2]=3848;Qi(a+12|0);cJ(a);return}function Tx(a,b){a=a|0;b=b|0;Ln(a,b);return}function Ux(a,b){a=a|0;b=b|0;Gw(a+768|0,b);return}function Vx(a,b){a=a|0;b=b|0;Hw(a+788|0,b);return}function Wx(a,b){a=a|0;b=b|0;Iw(a+808|0,b);return}function Xx(a){a=a|0;if(!a)return;yF(a);cJ(a);return}function Yx(a,b){a=a|0;b=+b;g[a+32>>2]=b;g[a+36>>2]=b;return}function Zx(a,b,c){a=a|0;b=b|0;c=+c;g[a+1364+(b<<2)>>2]=c;return}function _x(a,b){a=a|0;b=b|0;re(a,b);return}function $x(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Tb[a&15](b|0,c|0,d|0,+e)}function ay(a){a=a|0;if(!a)return;qC(a);cJ(a);return}function by(a){a=+a;var b=0;b=Dt()|0;sm(b,a);return b|0}function cy(a,b){a=a|0;b=b|0;kv(a,b);return}function dy(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function ey(a,b){a=a|0;b=+b;uz(a,b);return}function fy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Qb[a&7](b|0,c|0,+d,e|0)}function gy(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Nb[a&0](b|0,+c,d|0,e|0)}function hy(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function iy(a,b){a=a|0;b=b|0;Vr(a,b);return}function jy(a,b){a=a|0;b=b|0;Wr(a,b);return}function ky(a){a=a|0;var b=0;b=gJ(a+32|0)|0;return +(+g[b+(c[a+56>>2]<<2)>>2])}function ly(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function my(a,b,c){a=a|0;b=+b;c=+c;g[a+532>>2]=b;g[a+536>>2]=c;return}function ny(){var a=0;a=ut()|0;Rf(a,1,0);return a|0}function oy(a,b){a=a|0;b=b|0;return IC(a,b)|0}function py(a,b){a=a|0;b=b|0;g[a+56>>2]=+(b|0);return}function qy(a){a=a|0;var b=0;b=l;l=l+16|0;Hb[a&3]();Ww(22168,b)}function ry(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=1;return}function sy(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function ty(a){a=a|0;return +(+rI(+g[a+16>>2]))}function uy(a){a=a|0;return xb[c[(c[a>>2]|0)+40>>2]&127](a)|0}function vy(a){a=a|0;var b=0;b=(gJ(c[a+252>>2]|0)|0)==4;return (b?a:0)|0}function wy(a){a=a|0;return +(+MA(+g[a>>2],+g[a+4>>2],+g[a+8>>2]))}function xy(a,b){a=a|0;b=+b;dC(a,b);return}function yy(){var a=0;a=Ds(64)|0;co(a);return a|0}function zy(a,b){a=a|0;b=b|0;_B(a,b);return}function Ay(a,b){a=a|0;b=+b;Jb[c[(c[a>>2]|0)+44>>2]&31](a,b);return}function By(a,b){a=a|0;b=b|0;Eq(a,b);return}function Cy(a,b){a=a|0;b=+b;g[a+140>>2]=b;return}function Dy(a){a=a|0;return nG(+g[a+4>>2])|0}function Ey(a){a=a|0;if(!a)return;c[6996]=(c[6996]|0)+1;Cd(c[a+-4>>2]|0);return}function Fy(a,b){a=a|0;b=b|0;iD(a,b);return}function Gy(a,b){a=a|0;b=b|0;return (c[a+136>>2]|0)+(b*284|0)+92|0}function Hy(a,b){a=a|0;b=b|0;return Vv(a,b)|0}function Iy(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function Jy(a){a=a|0;var b=0;b=(gJ(c[a+252>>2]|0)|0)==8;return (b?a:0)|0}function Ky(){var a=0;a=Ds(24)|0;Tr(a);return a|0}function Ly(a,b){a=a|0;b=b|0;Hq(a,b);return}function My(a,b){a=a|0;b=+b;UC(a,b);return}function Ny(a){a=a|0;g[a>>2]=.30000001192092896;g[a+4>>2]=1.0;g[a+8>>2]=0.0;return}function Oy(a,b){a=a|0;b=+b;yC(a,b);return}function Py(a,b){a=a|0;b=b|0;jD(a,b);return}function Qy(a,b){a=a|0;b=b|0;ur(a+4|0,b);return}function Ry(a){a=a|0;return QF(c[a+204>>2]|0)|0}function Sy(a,b){a=a|0;b=+b;WC(a,b);return}function Ty(a,b){a=a|0;b=+b;cA(a,b);return}function Uy(a,b){a=a|0;b=+b;XC(a,b);return}function Vy(a,b){a=a|0;b=+b;dA(a,b);return}function Wy(a,b){a=a|0;b=b|0;vt(a,b);return}function Xy(a,b){a=a|0;b=b|0;Jq(a,b);return}function Yy(a){a=a|0;return +(+rI(+g[a+104>>2]))}function Zy(a){a=a|0;return +(+RD(+g[a+12>>2]))}function _y(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function $y(a){a=a|0;return HF(c[a+8>>2]|0)|0}function az(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&63](b|0,c|0,d|0)|0}function bz(a,b){a=a|0;b=b|0;return +(+Ro(a,b))}function cz(a,b){a=a|0;b=b|0;xi(a,b,1);return}function dz(a,b){a=a|0;b=b|0;DC(a,b);return}function ez(a,b){a=a|0;b=b|0;c[a+8>>2]=b<<16>>16;return}function fz(a){a=a|0;if(!a)a=0;else a=(fj(a,2864)|0)!=0;return a&1|0}function gz(a){a=a|0;Jj(a);cJ(a);return}function hz(a,b){a=a|0;b=+b;bF(a,b);return}function iz(a,b){a=a|0;b=b|0;Im(a,b);return}function jz(a,b){a=a|0;b=+b;g[a+120>>2]=b;return}function kz(a,b){a=a|0;b=b|0;kB(a,b,+uE(b));return}function lz(a){a=a|0;c[a>>2]=3848;Qi(a+12|0);return}function mz(a,b){a=a|0;b=b|0;TC(a,b);return}function nz(a,b){a=a|0;b=b|0;lu(a,b);return}function oz(){var a=0;a=Ds(100)|0;Mm(a);return a|0}function pz(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}function qz(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function rz(a,b){a=a|0;b=b|0;JC(a,b);return}function sz(a,b){a=a|0;b=b|0;c[a+12>>2]=b<<16>>16;return}function tz(a,b){a=a|0;b=b|0;return c[(c[a+236>>2]|0)+(b<<2)>>2]|0}function uz(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=0;return}function vz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +qb[a&31](b|0,c|0,d|0)}function wz(a,b){a=a|0;b=b|0;KC(a,b);return}function xz(a,b){a=a|0;b=b|0;return jc(a,b,8192)|0}function yz(b,c){b=b|0;c=c|0;a[b+124>>0]=c&1;return}function zz(){var a=0;a=Ds(12)|0;Ny(a);return a|0}function Az(a,b){a=a|0;b=b|0;c[a+16>>2]=b<<16>>16;return}function Bz(a){a=a|0;if(!a)return;Ju(a);cJ(a);return}function Cz(a){a=a|0;return xb[c[(c[a>>2]|0)+48>>2]&127](a)|0}function Dz(a){a=a|0;ow(a);c[a>>2]=2904;return}function Ez(a){a=a|0;return pG(a)|0}function Fz(a,b){a=a|0;b=+b;Xw(a,b);return}function Gz(a,b){a=a|0;b=b|0;return +(+wf(a,b))}function Hz(a){a=a|0;return +(+rI(+g[a+124>>2]))}function Iz(){var a=0;a=Ds(4)|0;cC(a);return a|0}function Jz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function Kz(a){a=a|0;return kG(c[a+204>>2]|0)|0}function Lz(a,b){a=a|0;b=+b;SD(a,b);return}function Mz(a,b){a=a|0;b=b|0;yh(a,b);return}function Nz(a,b){a=a|0;b=+b;BD(a,b);return}function Oz(a){a=a|0;return xb[c[(c[a>>2]|0)+28>>2]&127](a)|0}function Pz(a,b){a=a|0;b=b|0;return Dv(a,b)|0}function Qz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Ab[a&7](b|0,c|0,+d)|0}function Rz(a){a=a|0;return uv(a)|0}function Sz(a){a=a|0;return +(+g[a+136>>2])}function Tz(a){a=a|0;return qA(c[a+68>>2]|0)|0}function Uz(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function Vz(b,c){b=b|0;c=c|0;a[b+80>>0]=c&1;return}function Wz(a,b){a=a|0;b=b|0;YC(a,b);return}function Xz(a){a=a|0;return +(+g[a+132>>2])}function Yz(a,b){a=a|0;b=b|0;return (c[a+136>>2]|0)+(b*284|0)|0}function Zz(a,b){a=a|0;b=b|0;bD(a,b);return}function _z(a){a=a|0;c[a+4>>2]=(c[a+4>>2]|0)+-1;return}function $z(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;T(41)}function aA(a){a=a|0;return AD(a)|0}function bA(a){a=a|0;Dw(a);return}function cA(a,b){a=a|0;b=+b;g[a+196>>2]=+ot(b);return}function dA(a,b){a=a|0;b=+b;g[a+192>>2]=+ot(b);return}function eA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sb[a&127](b|0,c|0,d|0)}function fA(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))wk(b,d,a);return}function gA(a,b){a=a|0;b=b|0;ur(a+92|0,b);return}function hA(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function iA(a){a=a|0;cj(a);cJ(a);return}function jA(a,b){a=a|0;b=+b;g[a+268>>2]=b;return}function kA(a){a=a|0;return +(+rI(+g[a+80>>2]))}function lA(a,b){a=a|0;b=b|0;c[b+780>>2]=0;return}function mA(a,b){a=a|0;b=b|0;vk(a,b);return}function nA(){c[5957]=1065353216;c[5958]=0;c[5959]=0;g[5960]=0.0;return}function oA(a,b){a=a|0;b=+b;fx(a,b);return}function pA(a){a=a|0;return +(+nb[c[(c[a>>2]|0)+48>>2]&15](a))}function qA(a){a=a|0;return xb[c[(c[a>>2]|0)+36>>2]&127](a)|0}function rA(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function sA(a,b){a=a|0;b=b|0;Ld(a,b);return}function tA(a,b){a=a|0;b=b|0;CD(a,b);return}function uA(a){a=a|0;return +(+g[a+140>>2])}function vA(b){b=b|0;return (a[b+32>>0]&1)!=0|0}function wA(b,c){b=b|0;c=c|0;a[b+250>>0]=c&1;return}function xA(a,b){a=a|0;b=b|0;ss(a,b);return}function yA(a,b){a=a|0;b=b|0;Xn(a+348|0,b);return}function zA(a,b){a=a|0;b=b|0;return Kx(b)|0}function AA(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function BA(a,b){a=a|0;b=b|0;yh(b,a);return}function CA(b,c){b=b|0;c=c|0;a[b+44>>0]=c&1;return}function DA(a){a=a|0;return cH(a)|0}function EA(a){a=a|0;return dH(a)|0}function FA(a){a=a|0;return iH(a)|0}function GA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;T(17);return 0}function HA(a){a=a|0;_z(a);return}function IA(a,b){a=a|0;b=b|0;mA(a,b);return}function JA(a,b){a=a|0;b=b|0;return Jy(b)|0}function KA(a,b){a=a|0;b=b|0;c[a+52>>2]=b&1;return}function LA(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24+(b<<2)>>2]=d;return}function MA(a,b,c){a=+a;b=+b;c=+c;return +(+VI(+_A(a,b,c)))}function NA(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Mb[a&15](b|0,+c,d|0)}function OA(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Jk(a,b)|0;return a|0}function PA(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function QA(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function RA(b){b=b|0;return (a[b+124>>0]&1)!=0|0}function SA(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function TA(a){a=a|0;return ~~+g[a+56>>2]|0}function UA(a,b,d){a=a|0;b=b|0;d=d|0;c[a+8+(b<<2)>>2]=d;return}function VA(b,c){b=b|0;c=c|0;a[b+288>>0]=c&1;return}function WA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Pb[a&7](b|0,c|0,+d)}function XA(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function YA(a,b){a=a|0;b=+b;qx(a,b);return}function ZA(a){a=a|0;return GC(c[a+220>>2]|0)|0}function _A(a,b,c){a=+a;b=+b;c=+c;return +(+Iy(a,b,c,a,b,c))}function $A(a){a=+a;if(!(a<-1.0)){if(a>1.0)a=1.0}else a=-1.0;return +(+I(+a))}function aB(a){a=a|0;return +(+g[a+120>>2])}function bB(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function cB(a){a=a|0;return tE(a)|0}function dB(a,b){a=a|0;b=b|0;Vm(a+104|0,b);return}function eB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;T(4);return 0.0}function fB(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function gB(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function hB(a){a=a|0;return +(+g[a+116>>2])}function iB(a){a=a|0;return +(+g[a+128>>2])}function jB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function kB(a,b,c){a=a|0;b=b|0;c=+c;qo(a,b,1.0/c);return}function lB(a){a=a|0;nf(a);cJ(a);return}function mB(a,b){a=a|0;b=b|0;var c=0;c=KB(a|0)|0;return ((b|0)==0?a:c)|0}function nB(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function oB(b){b=b|0;return (a[b+80>>0]&1)!=0|0}function pB(a,b){a=a|0;b=b|0;c[a+36>>2]=b;return}function qB(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function rB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ye(a,b,c,d,0)|0}function sB(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function tB(b,c){b=b|0;c=c|0;a[b+260>>0]=c&1;return}function uB(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function vB(a,b,c){a=a|0;b=+b;c=c|0;return}function wB(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function xB(a){a=a|0;uu(a,+uE(a))|0;return}function yB(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Kb[a&7](b|0,+c,+d)}function zB(a){a=a|0;return +(+GH(+g[a+12>>2]))}function AB(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function BB(a,b){a=a|0;b=b|0;return a+868+(b<<6)|0}function CB(a){a=a|0;return zH(a)|0}function DB(a,b){a=a|0;b=b|0;return +(+_s(a,b))}function EB(a){a=a|0;return c[a+8>>2]&65535|0}function FB(a,b){a=a|0;b=b|0;c[a+220>>2]=b;return}function GB(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function HB(b,c){b=b|0;c=c|0;a[b+84>>0]=c&1;return}function IB(a){a=a|0;Gi(a);cJ(a);return}function JB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;T(40)}function KB(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function LB(a){a=a|0;return HH(a)|0}function MB(a){a=a|0;return VE(a)|0}function NB(a){a=a|0;return (c[a+108>>2]|0)+4|0}function OB(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function PB(a){a=a|0;return c[a+12>>2]&65535|0}function QB(a){a=a|0;if(!a)return;Ey(a);return}function RB(a,b){a=a|0;b=b|0;Vm(a+28|0,b);return}function SB(a,b,c){a=a|0;b=b|0;c=c|0;return zb[a&31](b|0,c|0)|0}function TB(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function UB(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function VB(a){a=a|0;return +(+g[a+104>>2])}function WB(a,b){a=a|0;b=b|0;return Nl(a,b)|0}function XB(a){a=a|0;return MH(a)|0}function YB(a){a=a|0;return c[a+16>>2]&65535|0}function ZB(a){a=a|0;kk(a);cJ(a);return}function _B(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function $B(a){a=a|0;return ((a|0)==0?1:a<<1)|0}function aC(a,b){a=a|0;b=b|0;return a+(b*96|0)|0}function bC(a,b){a=a|0;b=b|0;return a+(b*80|0)|0}function cC(a){a=a|0;NG(a);c[a>>2]=3e3;return}function dC(a,b){a=a|0;b=+b;g[a+272>>2]=b;return}function eC(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function fC(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function gC(a){a=a|0;return +(+g[a+268>>2])}function hC(b){b=b|0;return (a[b+44>>0]&1)!=0|0}function iC(a){a=a|0;return gJ(c[a+84>>2]|0)|0}function jC(a,b){a=a|0;b=b|0;return Xo(a,b)|0}function kC(a,b){a=a|0;b=b|0;return Wo(a,b)|0}function lC(a,b){a=a|0;b=b|0;return +(+Gp(a,b))}function mC(a){a=a|0;return +(+ky(a))}function nC(a,b){a=a|0;b=b|0;return a+(b*104|0)|0}function oC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;T(39)}function pC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;T(33)}function qC(a){a=a|0;Gv(a);return}function rC(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function sC(a){a=a|0;return +(+g[a+96>>2])}function tC(a){a=a|0;return YH(a)|0}function uC(a){a=a|0;return (c[a+52>>2]|0)!=0|0}function vC(a){a=a|0;Qi(a);cJ(a);return}function wC(a,b){a=a|0;b=b|0;return a+(b*52|0)|0}function xC(a,b){a=a|0;b=b|0;return a+(b*44|0)|0}function yC(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function zC(a){a=a|0;bA(a);return}function AC(a){a=a|0;return gJ(c[a+88>>2]|0)|0}function BC(a){a=a|0;return gJ(c[a+780>>2]|0)|0}function CC(b){b=b|0;return (a[b+24>>0]&1)!=0|0}function DC(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function EC(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function FC(a){a=a|0;return +(+g[a+112>>2])}function GC(a){a=a|0;a=gJ(a)|0;return (a|0)!=5&(a|0)!=2|0}function HC(a){a=a|0;mk(a);cJ(a);return}function IC(a,b){a=a|0;b=b|0;return a+4+(b*192|0)|0}function JC(b,c){b=b|0;c=c|0;a[b+736>>0]=c&1;return}function KC(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function LC(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;T(24)}function MC(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function NC(a,b){a=a|0;b=+b;g[a+280>>2]=b;return}function OC(a,b){a=a|0;b=+b;g[a+236>>2]=b;return}function PC(a){a=a|0;return +(+g[a+272>>2])}function QC(a,b){a=a|0;b=+b;return uu(a,b)|0}function RC(b){b=b|0;return (a[b+16>>0]&1)!=0|0}function SC(a){a=a|0;if(a>>>0>4294963200){c[7137]=0-a;a=-1}return a|0}function TC(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function UC(a,b){a=a|0;b=+b;g[a+684>>2]=b;return}function VC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;T(16);return 0}function WC(a,b){a=a|0;b=+b;g[a+188>>2]=b;return}function XC(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function YC(a,b){a=a|0;b=b|0;c[a+256>>2]=b;return}function ZC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;T(6);return 0.0}function _C(a){a=a|0;return +(+g[a+220>>2])}function $C(a){a=a|0;return +(+g[a+100>>2])}function aD(a){a=a|0;return gJ(c[a+120>>2]|0)|0}function bD(b,c){b=b|0;c=c|0;a[b+737>>0]=c&1;return}function cD(a,b){a=a|0;b=+b;g[a+256>>2]=b;return}function dD(a){a=a|0;return +(+g[a+224>>2])}function eD(a,b){a=a|0;b=b|0;return vs(a,b)|0}function fD(a,b){a=a|0;b=b|0;return us(a,b)|0}function gD(a){a=a|0;return hh(a)|0}function hD(b,c){b=b|0;c=c|0;a[b+152>>0]=c&1;return}function iD(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function jD(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function kD(a,b){a=a|0;b=b|0;c[a+92>>2]=b;return}function lD(a,b){a=a|0;b=b|0;c[a+100>>2]=b;return}function mD(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function nD(a){a=a|0;return (c[a+48>>2]|0)==1|0}function oD(a){a=a|0;nk(a);cJ(a);return}function pD(a){a=a|0;Hk(a);cJ(a);return}function qD(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function rD(a,b){a=a|0;b=b|0;if(!p){p=a;q=b}}function sD(b){b=b|0;return (a[b+260>>0]&1)!=0|0}function tD(a){a=a|0;return gJ(c[a+108>>2]|0)|0}function uD(a){a=a|0;return gJ(c[a+112>>2]|0)|0}function vD(a){a=a|0;return gJ(c[a+776>>2]|0)|0}function wD(a){a=a|0;return gJ(c[a+772>>2]|0)|0}function xD(b){b=b|0;return (a[b+25>>0]&1)!=0|0}function yD(a,b){a=a|0;b=b|0;return c[a+24+(b<<2)>>2]|0}function zD(a){a=a|0;return (c[a+96>>2]|0)+4|0}function AD(a){a=a|0;return gJ(c[a+328>>2]|0)|0}function BD(a,b){a=a|0;b=+b;g[a+440>>2]=b;return}function CD(a,b){a=a|0;b=b|0;c[a+264>>2]=b;return}function DD(a,b,c){a=a|0;b=b|0;c=c|0;Ob[a&127](b|0,c|0)}function ED(a,b,c){a=a|0;b=b|0;c=+c;return +ob[a&1](b|0,+c)}function FD(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;T(2);return 0.0}function GD(a){a=a|0;return +(+g[a+276>>2])}function HD(a){a=a|0;return +(+g[a+208>>2])}function ID(a){a=a|0;return gJ(c[a+192>>2]|0)|0}function JD(a){a=a|0;return gJ(c[a+204>>2]|0)|0}function KD(a){a=a|0;return gJ(c[a+24>>2]|0)|0}function LD(a){a=a|0;return gJ(c[a+68>>2]|0)|0}function MD(a){a=a|0;return +(+qw(a))}function ND(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function OD(a,b){a=a|0;b=b|0;return c[a+8+(b<<2)>>2]|0}function PD(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function QD(a){a=+a;return (g[j>>2]=a,c[j>>2]|0)|0}function RD(a){a=+a;return +(+$A(!(a>=0.0)?-a:a)*2.0)}function SD(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function TD(a){a=a|0;if(!a)return;cJ(a);return}function UD(a){a=a|0;return +(+g[a+216>>2])}function VD(a){a=a|0;return gJ(c[a+540>>2]|0)|0}function WD(a){a=a|0;return gJ(c[a+116>>2]|0)|0}function XD(a,b){a=a|0;b=+b;RF(a,b);return}function YD(b){b=b|0;return (a[b+26>>0]&1)!=0|0}function ZD(b){b=b|0;return (a[b+84>>0]&1)!=0|0}function _D(a,b){a=a|0;b=+b;g[a+80>>2]=b;return}function $D(a){a=a|0;return +(+g[a+32>>2]*+g[a+16>>2])}function aE(a,b){a=a|0;b=b|0;return a+(b<<2)|0}function bE(a){a=a|0;return +(+g[a+248>>2])}function cE(a){a=a|0;return gJ(c[a+256>>2]|0)|0}function dE(a){a=a|0;return _H(a)|0}function eE(a,b){a=a|0;b=+b;g[a+52>>2]=b;return}function fE(a,b){a=a|0;b=+b;g[a+56>>2]=b;return}function gE(a,b){a=a|0;b=b|0;c[a+20>>2]=b;return}function hE(a,b,c){a=a|0;b=b|0;c=+c;return 0}function iE(a){a=a|0;return +(+g[a+204>>2])}function jE(a){a=a|0;kr(a);return}function kE(a,b){a=a|0;b=+b;lG(a,b);return}function lE(a,b){a=a|0;b=+b;mG(a,b);return}function mE(a,b){a=a|0;b=+b;MG(a,b);return}function nE(a){a=a|0;return gJ(c[a+264>>2]|0)|0}function oE(a){a=a|0;return c[a+36>>2]|0}function pE(a){a=a|0;return c[a+32>>2]|0}function qE(a){a=a|0;return gJ(c[a+56>>2]|0)|0}function rE(a,b){a=a|0;b=+b;g[a+68>>2]=b;return}function sE(a){a=a|0;return (c[a+52>>2]|0)+4|0}function tE(a){a=a|0;return gJ(c[a+20>>2]|0)|0}function uE(a){a=a|0;return +(+VI(+EF(a)))}function vE(a,b){a=a|0;b=b|0;return a+156+(b<<4)|0}function wE(a,b,c){a=a|0;b=b|0;c=+c;Jb[a&31](b|0,+c)}function xE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;T(38)}function yE(a){a=a|0;return +(+g[(NI(a)|0)>>2])}function zE(a){a=a|0;return +(+g[(OI(a)|0)>>2])}function AE(a){a=a|0;return +(+g[(MI(a)|0)>>2])}function BE(a){a=a|0;return gI(a)|0}function CE(a){a=a|0;xB(a);return}function DE(a){a=a|0;return c[a+8>>2]|0}function EE(a,b){a=a|0;b=+b;g[a+64>>2]=b;return}function FE(a,b){a=a|0;b=+b;g[a+60>>2]=b;return}function GE(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function HE(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function IE(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function JE(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function KE(a){a=a|0;return c[a+216>>2]|0}function LE(a){a=a|0;return +(+g[a+244>>2])}function ME(a){a=a|0;return +(+g[a+240>>2])}function NE(a){a=a|0;return +(+EF(a))}function OE(a,b){a=a|0;b=b|0;return a+28+(b<<4)|0}function PE(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function QE(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function RE(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function SE(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function TE(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function UE(a){a=a|0;return c[a+228>>2]|0}function VE(a){a=a|0;return gJ(c[a+128>>2]|0)|0}function WE(a){a=a|0;c[a+232>>2]=0;return}function XE(a,b,c){a=a|0;b=b|0;c=c|0;return}function YE(a,b){a=a|0;b=+b;g[a+76>>2]=b;return}function ZE(a){a=a|0;return +(+g[a+212>>2])}function _E(a){a=a|0;return +(+g[a+228>>2])}function $E(a){a=a|0;return a+56|0}function aF(a){a=a|0;return c[a+24>>2]|0}function bF(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function cF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;T(35)}function dF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;T(30)}function eF(a){a=a|0;return +(+g[a+252>>2])}function fF(a){a=a|0;return OI(a)|0}function gF(a){a=a|0;return +(+uE(a))}function hF(a){a=a|0;return c[a+4>>2]|0}function iF(){var a=0;a=c[7140]|0;c[7140]=a+0;return a|0}function jF(a){a=a|0;return (a&3|0)!=0|0}function kF(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function lF(a){a=a|0;return a+156|0}function mF(b){b=b|0;return (a[b+152>>0]&1)!=0|0}function nF(){var a=0;a=c[2475]|0;c[2475]=a+0;return a|0}function oF(a){a=a|0;return 644}function pF(a){a=a|0;pi(a);cJ(a);return}function qF(a){a=a|0;Ki(a);cJ(a);return}function rF(a){a=a|0;Oj(a);cJ(a);return}function sF(a){a=a|0;return +(+g[a+232>>2])}function tF(a){a=a|0;return +(+g[a+280>>2])}function uF(a){a=a|0;return +(+g[a+236>>2])}function vF(a){a=a|0;return a+100|0}function wF(a){a=a|0;return 348}function xF(a){a=a|0;return c[a+12>>2]|0}function yF(a){a=a|0;BF(a+56|0);return}function zF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;T(15);return 0}function AF(a){a=a|0;cx(a);return}function BF(a){a=a|0;qC(a);return}function CF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;T(5);return 0.0}function DF(a){a=a|0;return gJ(c[a+4>>2]|0)|0}function EF(a){a=a|0;return +(+Gp(a,a))}function FF(a){a=a|0;return +(+g[a+256>>2])}function GF(a){a=a|0;return +(+g[a>>2])}function HF(a){a=a|0;return (a|0)!=0|0}function IF(a,b){a=a|0;b=b|0;return xb[a&127](b|0)|0}function JF(a){a=a|0;return a+24|0}function KF(a){a=a|0;Ua(a|0)|0;Cq()}function LF(a){a=a|0;return c[a+1304>>2]|0}function MF(a,b){a=+a;b=+b;return !(a>b)|0}function NF(a){a=a|0;return a+64|0}function OF(a){a=a|0;return +(+g[a+72>>2])}function PF(a){a=a|0;return c[a+332>>2]|0}function QF(a){a=a|0;return (a&2|0)!=0|0}function RF(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function SF(a){a=a|0;return a+172|0}function TF(a){a=a|0;return c[a+84>>2]|0}function UF(a){a=a|0;return c[a+88>>2]|0}function VF(a){a=a|0;return c[a+92>>2]|0}function WF(a){a=a|0;return c[a+96>>2]|0}function XF(a){a=a|0;return 252}function YF(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;T(11);return 0}function ZF(a){a=a|0;return +(+g[(gJ(a)|0)>>2])}function _F(a){a=a|0;return a+52|0}function $F(a){a=a|0;return +(+g[a+80>>2])}function aG(a){a=a|0;return 28}function bG(a){a=a|0;return c[a+100>>2]|0}function cG(a){a=a|0;return c[a+72>>2]|0}function dG(a,b){a=a|0;b=b|0;return +nb[a&15](b|0)}function eG(a){a=a|0;return a+40|0}function fG(a){a=a|0;return c[a+16>>2]|0}function gG(a){a=a|0;return +(+g[a+52>>2])}function hG(a){a=a|0;return +(+g[a+56>>2])}function iG(a){a=a|0;return a+112|0}function jG(a){a=a|0;return 212}function kG(a){a=a|0;return (a&1|0)!=0|0}function lG(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function mG(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function nG(a){a=+a;return a<1.0|0}function oG(a,b){a=a|0;b=b|0;return 1}function pG(a){a=a|0;return a+344|0}function qG(a){a=a|0;NH(a);return}function rG(a){a=a|0;return +(+g[a+68>>2])}function sG(a){a=a|0;return c[a+300>>2]|0}function tG(a,b){a=a|0;b=b|0;l=a;m=b}function uG(a){a=a|0;return a+188|0}function vG(a){a=a|0;return c[a+20>>2]|0}function wG(a){a=a|0;return 204}function xG(a){a=a|0;return c[a+748>>2]|0}function yG(a,b){a=a|0;b=b|0;return}function zG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;T(34)}function AG(a){a=a|0;return a+68|0}function BG(a){a=a|0;return a+36|0}function CG(a){a=a|0;return +(+g[a+64>>2])}function DG(a){a=a|0;return +(+g[a+60>>2])}function EG(a){a=a|0;return +(+g[a+44>>2])}function FG(a){a=a|0;return +(+g[a+40>>2])}function GG(a){a=a|0;return +(+g[a+36>>2])}function HG(a){a=a|0;return +(+g[a+48>>2])}function IG(a){a=a|0;return +(+g[a+92>>2])}function JG(a){a=a|0;return 220}function KG(a){a=a|0;return 264}function LG(a){a=a|0;return +(+g[a+76>>2])}function MG(a,b){a=a|0;b=+b;g[a>>2]=b;return}function NG(a){a=a|0;c[a>>2]=3028;return}function OG(a){a=a|0;c[a>>2]=8404;return}function PG(a){a=a|0;qG(a);return}function QG(a){a=a|0;return +(+g[a+24>>2])}function RG(a){a=a|0;return +(+g[a+4>>2])}function SG(a){a=a|0;return +(+g[a+20>>2])}function TG(a){a=a|0;return +(+g[a+32>>2])}function UG(a){a=a|0;return +(+g[a+16>>2])}function VG(a){a=a|0;return +(+g[a+12>>2])}function WG(a){a=a|0;return +(+g[a+28>>2])}function XG(a){a=a|0;return a+16|0}function YG(a){a=a|0;return 52}function ZG(a){a=a|0;return 68}function _G(a){a=a|0;return 84}function $G(a,b){a=a|0;b=b|0;return a+(b<<4)|0}function aH(a){a=a|0;return a+928|0}function bH(a){a=a|0;return +(+g[a+8>>2])}function cH(a){a=a|0;return a+316|0}function dH(a){a=a|0;return a+300|0}function eH(a,b){a=a|0;b=b|0;Ib[a&511](b|0)}function fH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;T(32)}function gH(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;T(29)}function hH(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;T(26)}function iH(a){a=a|0;return a+32|0}function jH(a){a=a|0;return 24}function kH(a){a=a|0;return a+848|0}function lH(a){a=a|0;return c[a>>2]|0}function mH(a,b){a=a|0;b=b|0;return nv(a,b)|0}function nH(a){a=a|0;Ey(a);return}function oH(a){a=a|0;cJ(a+-4|0);return}function pH(a){a=a|0;ni(a);return}function qH(a){a=a|0;return gJ(a)|0}function rH(a){a=a|0;return a+768|0}function sH(a){a=a|0;return a+788|0}function tH(a){a=a|0;return a+808|0}function uH(a){a=a|0;return a+104|0}function vH(a){a=a|0;return 496}function wH(a,b,c){a=a|0;b=b|0;c=c|0;T(14);return 0}function xH(a){a=a|0;return 32}function yH(a){a=a|0;return a+80|0}function zH(a){a=a|0;return a+388|0}function AH(a){a=a|0;return 60}function BH(a){a=a|0;return 436}function CH(a){a=a|0;c[a>>2]=3104;return}function DH(a,b,c){a=a|0;b=b|0;c=c|0;T(3);return 0.0}function EH(a){a=a|0;return a+348|0}function FH(){return Ds(1)|0}function GH(a){a=+a;return +(+$A(a)*2.0)}function HH(a){a=a|0;return a+372|0}function IH(a){a=a|0;c[a>>2]=4652;return}function JH(a){a=a|0;return (a&255)<<8|a>>8&255|0}function KH(a,b,c){a=a|0;b=b|0;c=+c;T(13);return 0}function LH(a){a=a|0;return 11398}function MH(a){a=a|0;return a+92|0}function NH(a){a=a|0;c[a>>2]=0;return}function OH(a){a=a|0;return a+88|0}function PH(a){a=a|0;return 4}function QH(a){a=a|0;return a+20|0}function RH(a){a=a|0;return 17723}function SH(a){a=a|0;return 17439}function TH(a){a=a|0;c[a>>2]=3080;return}function UH(){return Pt()|0}function VH(a){a=a|0;return 11336}function WH(a,b){a=a|0;b=+b;return}function XH(a){a=a|0;return a+76|0}function YH(a){a=a|0;return a+28|0}function ZH(a){a=a|0;return 16585}function _H(a){a=a|0;return a+440|0}function $H(a){a=+a;return +(+mh(a,6.2831854820251465))}function aI(a){a=a|0;return a+72|0}function bI(a,b,c){a=a|0;b=b|0;c=c|0;T(31)}function cI(a){a=a|0;return 16969}function dI(a,b){a=+a;b=b|0;return +(+Em(a,b))}function eI(){return Ds(64)|0}function fI(a){a=a|0;return 17027}function gI(a){a=a|0;return a+48|0}function hI(){c[176]=o}function iI(a){a=a|0;return 17225}function jI(a){a=a|0;return 1}function kI(a,b,c){a=a|0;b=b|0;c=+c;T(28)}function lI(a,b,c){a=a|0;b=+b;c=c|0;T(25)}function mI(a){a=a|0;return 17840}function nI(a){a=a|0;return 17811}function oI(a){a=a|0;return 3}function pI(a){a=a|0;return Gm(a,28524)|0}function qI(a){a=a|0;return 11665}function rI(a){a=+a;return +a}function sI(a){a=a|0;return 17783}function tI(a){a=a|0;return 16300}function uI(a){a=a|0;return 17383}function vI(a){a=a|0;return 17356}function wI(a){a=a|0;return 17326}function xI(a){a=a|0;return 8}function yI(a,b,c){a=a|0;b=+b;c=+c;T(23)}function zI(a){a=a|0;return 16404}function AI(a,b){a=a|0;b=b|0;T(12);return 0}function BI(a){a=a|0;return 16362}function CI(a){a=a|0;return 16383}function DI(a){a=a|0;return 6}function EI(a){a=a|0;return 12}function FI(){return 4}function GI(a){a=a|0;return 16343}function HI(a){a=a|0;return 0}function II(a){a=a|0;return 2}function JI(a){a=a|0;return 17498}function KI(a,b){a=a|0;b=+b;T(1);return 0.0}function LI(){c[5628]=1805;c[5629]=0;return}function MI(a){a=a|0;return a+12|0}function NI(a){a=a|0;return a+8|0}function OI(a){a=a|0;return a+4|0}function PI(a){a=a|0;Hb[a&3]()}function QI(){return 2}function RI(){return 1}function SI(){return 5}function TI(){return 3}function UI(){Wa()}function VI(a){a=+a;return +(+D(+a))}function WI(a){a=+a;return +(+G(+a))}function XI(a){a=+a;return +(+F(+a))}function YI(a,b){a=a|0;b=b|0;T(27)}function ZI(a){a=a|0;return}function _I(a,b){a=a|0;b=+b;T(22)}function $I(a){a=a|0;return Ds(a)|0}function aJ(a){a=a|0;cJ(a);return}function bJ(a){a=a|0;l=a}function cJ(a){a=a|0;Cd(a);return}function dJ(a){a=a|0;A=a}function eJ(a){a=a|0;T(10);return 0}function fJ(a){a=a|0;T(0);return 0.0}function gJ(a){a=a|0;return a|0}function hJ(){return A|0}function iJ(){return l|0}function jJ(a){a=a|0;T(21)}function kJ(){return 0}function lJ(){T(20)}
function dc(d,f){d=d|0;f=f|0;var h=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0.0,ja=0.0,ka=0,la=0;ha=l;l=l+192|0;i=c[d+56>>2]|0;if(i|0?(Ib[c[c[i>>2]>>2]&511](i),h=c[d+56>>2]|0,h|0):0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[6995]=(c[6995]|0)+1;h=sc(151)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=9696;a[h+20>>0]=1;c[h+16>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;a[h+40>>0]=1;c[h+36>>2]=0;c[h+28>>2]=0;c[h+32>>2]=0;a[h+60>>0]=1;c[h+56>>2]=0;c[h+48>>2]=0;c[h+52>>2]=0;c[d+56>>2]=h;n=0;o=0;ga=0;K=0;h=0;while(1){if((n|0)>=(xb[c[(c[d>>2]|0)+96>>2]&127](d)|0))break;do if((K|0)==(o|0)){i=o|0?o<<1:1;if((o|0)<(i|0)){if((i|0)!=0?(c[6995]=(c[6995]|0)+1,p=sc((i<<4|3)+16|0)|0,(p|0)!=0):0){c[(p+4+15&-16)+-4>>2]=p;k=p+4+15&-16}else k=0;if((o|0)<=0){if(!ga){m=k;h=k;k=o;break}}else{h=0;do{fa=k+(h<<4)|0;ea=ga+(h<<4)|0;c[fa>>2]=c[ea>>2];c[fa+4>>2]=c[ea+4>>2];c[fa+8>>2]=c[ea+8>>2];c[fa+12>>2]=c[ea+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[6996]=(c[6996]|0)+1;Cd(c[ga+-4>>2]|0);m=k;h=k;k=o}else{i=o;m=ga;k=o}}else{i=o;m=ga;k=K}while(0);o=m+(K<<4)|0;c[o>>2]=c[ha+136>>2];c[o+4>>2]=c[ha+136+4>>2];c[o+8>>2]=c[ha+136+8>>2];c[o+12>>2]=c[ha+136+12>>2];Sb[c[(c[d>>2]|0)+108>>2]&127](d,n,o);n=n+1|0;o=i;ga=m;K=k+1|0}a[ha+76+16>>0]=1;fa=ha+76+12|0;c[fa>>2]=0;c[ha+76+4>>2]=0;c[ha+76+8>>2]=0;a[ha+76+36>>0]=1;ea=ha+76+32|0;c[ea>>2]=0;c[ha+76+24>>2]=0;c[ha+76+28>>2]=0;a[ha+76+56>>0]=1;da=ha+76+52|0;c[da>>2]=0;c[ha+76+44>>2]=0;c[ha+76+48>>2]=0;if(f){if((K|0)>0){J=0;i=0;k=0;m=0;while(1){h=J;J=J+1|0;if((J|0)<(K|0)){G=ga+(h<<4)|0;I=ga+(h<<4)+4|0;A=ga+(h<<4)+8|0;z=J;h=m;do{m=z;z=z+1|0;if((z|0)<(K|0)){x=ga+(m<<4)|0;y=ga+(m<<4)+4|0;w=ga+(m<<4)+8|0;f=z;do{F=+g[G>>2];v=+g[x>>2]-F;H=+g[I>>2];B=+g[y>>2]-H;L=+g[A>>2];E=+g[w>>2]-L;F=+g[ga+(f<<4)>>2]-F;H=+g[ga+(f<<4)+4>>2]-H;L=+g[ga+(f<<4)+8>>2]-L;q=1.0;p=0;while(1){t=(B*L-E*H)*q;u=(E*F-v*L)*q;r=(v*H-B*F)*q;a:do if(r*r+(t*t+u*u)>9.999999747378752e-05){s=1.0/+D(+(r*r+(t*t+u*u)));if((h|0)>0){m=0;do{if(t*s*+g[k+(m<<4)>>2]+u*s*+g[k+(m<<4)+4>>2]+r*s*+g[k+(m<<4)+8>>2]>.9990000128746033)break a;m=m+1|0}while((m|0)<(h|0))}q=t*s*+g[G>>2]+u*s*+g[I>>2]+r*s*+g[A>>2];m=0;do{if(t*s*+g[ga+(m<<4)>>2]+u*s*+g[ga+(m<<4)+4>>2]+r*s*+g[ga+(m<<4)+8>>2]-q+-.009999999776482582>0.0)break a;m=m+1|0}while((m|0)<(K|0));do if((h|0)==(i|0)){o=i|0?i<<1:1;if((i|0)<(o|0)){do if(!o)n=0;else{c[6995]=(c[6995]|0)+1;m=sc((o<<4|3)+16|0)|0;if(!m){n=0;break}c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}while(0);if((i|0)<=0){if(!k){m=o;k=n;break}}else{m=0;do{aa=n+(m<<4)|0;$=k+(m<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];m=m+1|0}while((m|0)!=(i|0))}c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);m=o;k=n}else m=i}else{m=i;i=h}while(0);g[k+(i<<4)>>2]=t*s;g[k+(i<<4)+4>>2]=u*s;g[k+(i<<4)+8>>2]=r*s;g[k+(i<<4)+12>>2]=-q;i=m;h=h+1|0}while(0);p=p+1|0;if((p|0)==2)break;else q=-1.0}f=f+1|0}while((f|0)!=(K|0))}}while((z|0)!=(K|0))}else h=m;if((J|0)==(K|0)){f=h;break}else m=h}if((f|0)>0){h=0;o=0;p=0;while(1){aa=k+(p<<4)|0;c[ha+136>>2]=c[aa>>2];c[ha+136+4>>2]=c[aa+4>>2];c[ha+136+8>>2]=c[aa+8>>2];q=+g[k+(p<<4)+12>>2];q=q-+nb[c[(c[d>>2]|0)+48>>2]&15](d);do if((p|0)==(h|0)){n=h|0?h<<1:1;if((h|0)<(n|0)){if((n|0)!=0?(c[6995]=(c[6995]|0)+1,M=sc((n<<4|3)+16|0)|0,(M|0)!=0):0){c[(M+4+15&-16)+-4>>2]=M;m=M+4+15&-16}else m=0;if((h|0)<=0){if(!o)break}else{i=0;do{aa=m+(i<<4)|0;$=o+(i<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];i=i+1|0}while((i|0)!=(h|0))}c[6996]=(c[6996]|0)+1;Cd(c[o+-4>>2]|0)}else{n=h;m=o}}else{n=h;m=o;h=p}while(0);aa=m+(h<<4)|0;c[aa>>2]=c[ha+136>>2];c[aa+4>>2]=c[ha+136+4>>2];c[aa+8>>2]=c[ha+136+8>>2];g[m+(h<<4)+12>>2]=q;p=p+1|0;if((p|0)<(f|0)){h=n;o=m}else break}if((p|0)>0){G=0;o=0;n=0;i=0;h=0;do{z=G;G=G+1|0;if((G|0)<(p|0)){A=G;do{y=A;A=A+1|0;if((A|0)<(p|0)){x=A;do{t=+g[m+(y<<4)+4>>2];q=+g[m+(x<<4)+8>>2];r=+g[m+(y<<4)+8>>2];u=+g[m+(x<<4)+4>>2];v=+g[m+(x<<4)>>2];B=+g[m+(y<<4)>>2];s=+g[m+(z<<4)+8>>2];E=+g[m+(z<<4)+4>>2];F=+g[m+(z<<4)>>2];b:do if((((u*B-t*v)*(u*B-t*v)+((t*q-r*u)*(t*q-r*u)+(r*v-q*B)*(r*v-q*B))>9.999999747378752e-05?(v*E-u*F)*(v*E-u*F)+((u*s-q*E)*(u*s-q*E)+(q*F-v*s)*(q*F-v*s))>9.999999747378752e-05:0)?(t*F-B*E)*(t*F-B*E)+((r*E-t*s)*(r*E-t*s)+(B*s-r*F)*(B*s-r*F))>9.999999747378752e-05:0)?(O=s*(u*B-t*v)+(E*(r*v-q*B)+(t*q-r*u)*F),+C(+O)>9.999999974752427e-07):0){ia=+g[m+(z<<4)+12>>2];L=+g[m+(y<<4)+12>>2];ja=+g[m+(x<<4)+12>>2];H=-1.0/O*((r*E-t*s)*ja+((t*q-r*u)*ia+(u*s-q*E)*L));r=-1.0/O*((B*s-r*F)*ja+((r*v-q*B)*ia+(q*F-v*s)*L));q=-1.0/O*((t*F-B*E)*ja+((u*B-t*v)*ia+(v*E-u*F)*L));f=0;do{if(+g[m+(f<<4)+12>>2]+(H*+g[m+(f<<4)>>2]+r*+g[m+(f<<4)+4>>2]+q*+g[m+(f<<4)+8>>2])+-.009999999776482582>0.0)break b;f=f+1|0}while((f|0)<(p|0));do if((i|0)==(o|0)){w=o|0?o<<1:1;if((o|0)>=(w|0)){w=o;break}do if(!w)f=0;else{c[6995]=(c[6995]|0)+1;h=sc((w<<4|3)+16|0)|0;if(!h){f=0;break}c[(h+4+15&-16)+-4>>2]=h;f=h+4+15&-16}while(0);if((o|0)<=0){if(!n){n=f;h=f;break}}else{h=0;do{aa=f+(h<<4)|0;$=n+(h<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0);n=f;h=f}else{w=o;o=i}while(0);g[n+(o<<4)>>2]=H;g[n+(o<<4)+4>>2]=r;g[n+(o<<4)+8>>2]=q;g[n+(o<<4)+12>>2]=0.0;o=w;i=i+1|0}while(0);x=x+1|0}while((x|0)!=(p|0))}}while((A|0)!=(p|0))}}while((G|0)!=(p|0))}else{n=0;i=0;h=0}}else{n=0;m=0;i=0;h=0}}else{n=0;m=0;k=0;i=0;h=0}uc(ha+76|0,h,i);if(n|0){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0)}if(m|0){c[6996]=(c[6996]|0)+1;Cd(c[m+-4>>2]|0)}if(k|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}}else uc(ha+76|0,h,K);I=c[ha+76+44>>2]|0;if((I|0)>0){c[6995]=(c[6995]|0)+1;h=sc((I<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{aa=i+(h<<4)|0;c[aa>>2]=c[ha+136>>2];c[aa+4>>2]=c[ha+136+4>>2];c[aa+8>>2]=c[ha+136+8>>2];c[aa+12>>2]=c[ha+136+12>>2];h=h+1|0}while((h|0)!=(I|0));aa=i;_=i}else{aa=0;_=0}a[ha+56+16>>0]=1;$=ha+56+12|0;c[$>>2]=0;Z=ha+56+4|0;c[Z>>2]=0;c[ha+56+8>>2]=0;k=ha+136|0;n=k+19|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(n|0));if((I|0)<0)gb();if(I|0){Of(ha+56|0,I);i=c[$>>2]|0;h=0;do{a[i+(h*36|0)+16>>0]=1;k=i+(h*36|0)+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;k=i+(h*36|0)+20|0;m=ha+136+3|0;n=k+16|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));h=h+1|0}while((h|0)!=(I|0))}c[Z>>2]=I;o=c[ha+76+4>>2]|0;n=c[d+56>>2]|0;m=c[n+8>>2]|0;if((m|0)<(o|0)){if((c[n+12>>2]|0)<(o|0)){if(!o){h=0;k=m}else{c[6995]=(c[6995]|0)+1;h=sc((o<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[n+8>>2]|0}if((k|0)>0){i=0;do{Y=h+(i<<4)|0;X=(c[n+16>>2]|0)+(i<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];i=i+1|0}while((i|0)!=(k|0))}i=c[n+16>>2]|0;if(i|0){if(a[n+20>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[n+16>>2]=0}a[n+20>>0]=1;c[n+16>>2]=h;c[n+12>>2]=o;i=n+16|0}else i=n+16|0;h=m;do{Y=(c[i>>2]|0)+(h<<4)|0;c[Y>>2]=c[ha+136>>2];c[Y+4>>2]=c[ha+136+4>>2];c[Y+8>>2]=c[ha+136+8>>2];c[Y+12>>2]=c[ha+136+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[n+8>>2]=o;if((o|0)>0){h=0;do{X=(c[fa>>2]|0)+(h<<4)|0;Y=(c[(c[d+56>>2]|0)+16>>2]|0)+(h<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];h=h+1|0}while((h|0)!=(o|0))}if((I|0)>0){G=0;do{z=(c[ea>>2]|0)+((c[(c[da>>2]|0)+(G<<2)>>2]|0)*12|0)|0;y=z;h=0;do{A=y+4|0;x=c[y+((c[A>>2]|0)*12|0)+8>>2]|0;f=c[$>>2]|0;w=f+(G*36|0)+4|0;i=c[w>>2]|0;p=f+(G*36|0)+8|0;if((i|0)==(c[p>>2]|0)?(N=i|0?i<<1:1,(i|0)<(N|0)):0){if(!N)o=0;else{c[6995]=(c[6995]|0)+1;i=sc((N<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=i;i=c[w>>2]|0}n=f+(G*36|0)+12|0;m=c[n>>2]|0;if((i|0)<=0)if(!m)k=f+(G*36|0)+16|0;else ba=132;else{k=0;do{c[o+(k<<2)>>2]=c[m+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0));ba=132}if((ba|0)==132){ba=0;i=f+(G*36|0)+16|0;if(a[i>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[m+-4>>2]|0)}c[n>>2]=0;k=i;i=c[w>>2]|0}a[k>>0]=1;c[n>>2]=o;c[p>>2]=N}c[(c[f+(G*36|0)+12>>2]|0)+(i<<2)>>2]=x;c[w>>2]=(c[w>>2]|0)+1;X=c[y+8>>2]|0;Y=c[fa>>2]|0;s=+g[Y+(X<<4)>>2]-+g[Y+(x<<4)>>2];t=+g[Y+(X<<4)+4>>2]-+g[Y+(x<<4)+4>>2];q=+g[Y+(X<<4)+8>>2]-+g[Y+(x<<4)+8>>2];r=1.0/+D(+(s*s+t*t+q*q));if((h|0)<2){g[ha+136+(h<<4)>>2]=s*r;g[ha+136+(h<<4)+4>>2]=t*r;g[ha+136+(h<<4)+8>>2]=q*r;g[ha+136+(h<<4)+12>>2]=0.0;h=h+1|0}Y=y+((c[A>>2]|0)*12|0)|0;y=Y+((c[Y>>2]|0)*12|0)|0}while((y|0)!=(z|0));if((h|0)==2){H=+g[ha+136+4>>2];L=+g[ha+136+24>>2];O=+g[ha+136+8>>2];ia=+g[ha+136+20>>2];F=+g[ha+136+16>>2];E=+g[ha+136>>2];X=aa+(G<<4)+4|0;Y=aa+(G<<4)+8|0;g[aa+(G<<4)+12>>2]=0.0;ja=1.0/+D(+((H*L-O*ia)*(H*L-O*ia)+(O*F-L*E)*(O*F-L*E)+(ia*E-H*F)*(ia*E-H*F)));g[aa+(G<<4)>>2]=(H*L-O*ia)*ja;g[X>>2]=(O*F-L*E)*ja;g[Y>>2]=(ia*E-H*F)*ja;n=c[$>>2]|0;g[n+(G*36|0)+20>>2]=(H*L-O*ia)*ja;c[n+(G*36|0)+24>>2]=c[X>>2];c[n+(G*36|0)+28>>2]=c[Y>>2];g[n+(G*36|0)+32>>2]=1000000015047466219876688.0e6}else{n=aa+(G<<4)|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=c[$>>2]|0}k=c[n+(G*36|0)+4>>2]|0;if((k|0)>0){m=c[(c[d+56>>2]|0)+16>>2]|0;r=+g[aa+(G<<4)>>2];s=+g[aa+(G<<4)+4>>2];t=+g[aa+(G<<4)+8>>2];i=c[n+(G*36|0)+12>>2]|0;h=0;q=1000000015047466219876688.0e6;do{Y=c[i+(h<<2)>>2]|0;ja=+g[m+(Y<<4)>>2]*r+ +g[m+(Y<<4)+4>>2]*s+ +g[m+(Y<<4)+8>>2]*t;q=q>ja?ja:q;h=h+1|0}while((h|0)!=(k|0))}else q=1000000015047466219876688.0e6;g[n+(G*36|0)+32>>2]=-q;G=G+1|0}while((G|0)!=(I|0))}if((c[Z>>2]|0)>0){i=0;m=0;k=0;n=0;o=0;while(1){do if((o|0)==(i|0)){i=o|0?o<<1:1;if((o|0)<(i|0)){if((i|0)!=0?(c[6995]=(c[6995]|0)+1,P=sc((i<<2|3)+16|0)|0,(P|0)!=0):0){c[(P+4+15&-16)+-4>>2]=P;k=P+4+15&-16}else k=0;if((o|0)>0){h=0;do{c[k+(h<<2)>>2]=c[m+(h<<2)>>2];h=h+1|0}while((h|0)!=(o|0));if(!n){m=k;Y=k;h=k;break}}else if((m|0)==0|(n|0)==0){m=k;Y=k;h=k;break}c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0);m=k;Y=k;h=k}else{i=o;Y=k;h=n}}else{Y=k;h=n}while(0);c[m+(o<<2)>>2]=o;o=o+1|0;if((o|0)>=(c[Z>>2]|0))break;else{k=Y;n=h}}M=ha+36+12|0;N=ha+36+4|0;P=ha+136+12|0;k=o;do{w=k+-1|0;i=c[m+(w<<2)>>2]|0;c[6995]=(c[6995]|0)+1;h=sc(23)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=i;X=c[$>>2]|0;r=+g[X+(i*36|0)+20>>2];s=+g[X+(i*36|0)+24>>2];q=+g[X+(i*36|0)+28>>2];c:do if((k|0)>1){o=w;i=h;f=h;n=1;p=h;h=1;y=w;while(1){z=h;while(1){h=c[$>>2]|0;x=o;do{X=x;x=x+-1|0;if((X|0)<=0){K=i;J=p;I=z;k=y;break c}w=c[m+(x<<2)>>2]|0}while(!(r*+g[h+(w*36|0)+20>>2]+s*+g[h+(w*36|0)+24>>2]+q*+g[h+(w*36|0)+28>>2]>.9990000128746033));do if((z|0)==(n|0)){k=z|0?z<<1:1;if((z|0)<(k|0)){do if(!k)o=0;else{c[6995]=(c[6995]|0)+1;h=sc((k<<2|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((z|0)>0){h=0;do{c[o+(h<<2)>>2]=c[p+(h<<2)>>2];h=h+1|0}while((h|0)!=(z|0));if(!f){n=k;p=o;i=o;f=o;break}}else if((p|0)==0|(f|0)==0){n=k;p=o;i=o;f=o;break}c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0);n=k;p=o;i=o;f=o}else n=z}while(0);c[p+(z<<2)>>2]=w;z=z+1|0;h=0;while(1){if((c[m+(h<<2)>>2]|0)==(w|0))break;h=h+1|0;if((h|0)>=(y|0)){h=y;break}}if((y|0)>(h|0))break;else o=x}V=m+(h<<2)|0;W=c[V>>2]|0;k=y+-1|0;X=m+(k<<2)|0;c[V>>2]=c[X>>2];c[X>>2]=W;if((y|0)>1){o=x;h=z;y=k}else{o=x;h=z;ba=162;break}}}else{o=w;i=h;f=h;n=1;p=h;h=1;k=w;ba=162}while(0);d:do if((ba|0)==162){ba=0;y=h;while(1){h=c[$>>2]|0;w=o;do{X=w;w=w+-1|0;if((X|0)<=0){K=i;J=p;I=y;break d}x=c[m+(w<<2)>>2]|0}while(!(r*+g[h+(x*36|0)+20>>2]+s*+g[h+(x*36|0)+24>>2]+q*+g[h+(x*36|0)+28>>2]>.9990000128746033));do if((y|0)==(n|0)){n=y|0?y<<1:1;if((y|0)<(n|0)){do if(!n)o=0;else{c[6995]=(c[6995]|0)+1;h=sc((n<<2|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((y|0)>0){h=0;do{c[o+(h<<2)>>2]=c[p+(h<<2)>>2];h=h+1|0}while((h|0)!=(y|0));if(!f){p=o;i=o;h=o;break}}else if((p|0)==0|(f|0)==0){p=o;i=o;h=o;break}c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0);p=o;i=o;h=o}else{n=y;h=f}}else h=f;while(0);c[p+(y<<2)>>2]=x;o=w;f=h;y=y+1|0}}while(0);if((I|0)>1){a[ha+36+16>>0]=1;c[M>>2]=0;c[N>>2]=0;c[ha+36+8>>2]=0;z=0;q=0.0;r=0.0;s=0.0;n=0;do{i=c[J+(z<<2)>>2]|0;q=+g[h+(i*36|0)+20>>2]+q;r=+g[h+(i*36|0)+24>>2]+r;s=+g[h+(i*36|0)+28>>2]+s;y=h+(i*36|0)+4|0;if((c[y>>2]|0)>0){x=h+(i*36|0)+12|0;w=0;h=n;while(1){f=c[(c[x>>2]|0)+(w<<2)>>2]|0;X=(c[(c[d+56>>2]|0)+16>>2]|0)+(f<<4)|0;c[ha+136>>2]=c[X>>2];c[ha+136+4>>2]=c[X+4>>2];c[ha+136+8>>2]=c[X+8>>2];c[ha+136+12>>2]=c[X+12>>2];e:do if((h|0)>0){n=c[M>>2]|0;i=0;while(1){if((c[n+(i*24|0)+20>>2]|0)==(f|0))break e;i=i+1|0;if((i|0)>=(h|0)){ba=261;break}}}else ba=261;while(0);if((ba|0)==261){ba=0;c[ha>>2]=c[ha+136>>2];c[ha+4>>2]=c[ha+136+4>>2];c[ha+8>>2]=c[ha+136+8>>2];c[ha+12>>2]=c[ha+136+12>>2];do if((h|0)==(c[ha+36+8>>2]|0)){p=h|0?h<<1:1;if((h|0)>=(p|0))break;if(!p)o=0;else{c[6995]=(c[6995]|0)+1;h=sc((p*24|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}o=h;h=c[N>>2]|0}n=c[M>>2]|0;if((h|0)<=0){if(n)ba=270}else{i=0;do{ba=o+(i*24|0)|0;X=n+(i*24|0)|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];c[ba+8>>2]=c[X+8>>2];c[ba+12>>2]=c[X+12>>2];c[ba+16>>2]=c[X+16>>2];c[ba+20>>2]=c[X+20>>2];i=i+1|0}while((i|0)!=(h|0));ba=270}if((ba|0)==270){ba=0;if(a[ha+36+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0);h=c[N>>2]|0}c[M>>2]=0}a[ha+36+16>>0]=1;c[M>>2]=o;c[ha+36+8>>2]=p}while(0);X=c[M>>2]|0;W=X+(h*24|0)|0;c[W>>2]=c[ha>>2];c[W+4>>2]=c[ha+4>>2];c[W+8>>2]=c[ha+8>>2];c[W+12>>2]=c[ha+12>>2];c[W+16>>2]=c[ha+16>>2];c[X+(h*24|0)+20>>2]=f;h=(c[N>>2]|0)+1|0;c[N>>2]=h}w=w+1|0;if((w|0)>=(c[y>>2]|0)){n=h;break}}}z=z+1|0;h=c[$>>2]|0}while((z|0)!=(I|0));a[ha+16>>0]=1;c[ha+12>>2]=0;c[ha+4>>2]=0;c[ha+8>>2]=0;X=c[J>>2]|0;c[ha+20>>2]=c[h+(X*36|0)+20>>2];c[ha+24>>2]=c[h+(X*36|0)+24>>2];c[ha+28>>2]=c[h+(X*36|0)+28>>2];c[ha+32>>2]=c[h+(X*36|0)+32>>2];H=1.0/+D(+(q*q+r*r+s*s));O=q*H;L=r*H;H=s*H;if(+C(+H)>.7071067690849304){F=1.0/+D(+(H*H+L*L));t=O*-(H*F);u=(H*H+L*L)*F;v=0.0;B=L*F;E=-(O*L*F);F=-(H*F)}else{F=1.0/+D(+(O*O+L*L));t=(O*O+L*L)*F;u=-(H*O*F);v=-(L*F);B=0.0;E=H*-(L*F);F=O*F}if((n|0)<2)if((n|0)==1){n=0;o=0;f=0;i=1;while(1){w=c[M>>2]|0;do if((n|0)==(o|0)){p=o|0?o<<1:1;if((o|0)>=(p|0)){p=o;h=f;break}do if(!p)h=0;else{c[6995]=(c[6995]|0)+1;h=sc((p*24|3)+16|0)|0;if(!h){h=0;o=n;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16;o=n}while(0);if((o|0)<=0){if(f|0)ba=212}else{i=0;do{ba=h+(i*24|0)|0;X=f+(i*24|0)|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];c[ba+8>>2]=c[X+8>>2];c[ba+12>>2]=c[X+12>>2];c[ba+16>>2]=c[X+16>>2];c[ba+20>>2]=c[X+20>>2];i=i+1|0}while((i|0)!=(o|0));ba=212}if((ba|0)==212){ba=0;c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}o=n;i=c[N>>2]|0}else{p=o;h=f;o=n}while(0);X=h+(o*24|0)|0;c[X>>2]=c[w>>2];c[X+4>>2]=c[w+4>>2];c[X+8>>2]=c[w+8>>2];c[X+12>>2]=c[w+12>>2];c[X+16>>2]=c[w+16>>2];c[X+20>>2]=c[w+20>>2];n=n+1|0;if((n|0)<(i|0)){o=p;f=h}else{ba=276;break}}}else{h=0;ba=315}else{o=c[M>>2]|0;i=0;h=n;do{if(v*+g[o+(i*24|0)>>2]+F*+g[o+(i*24|0)+4>>2]+B*+g[o+(i*24|0)+8>>2]<v*+g[o>>2]+F*+g[o+4>>2]+B*+g[o+8>>2]){c[ha+136>>2]=c[o>>2];c[ha+136+4>>2]=c[o+4>>2];c[ha+136+8>>2]=c[o+8>>2];c[ha+136+12>>2]=c[o+12>>2];c[ha+136+16>>2]=c[o+16>>2];c[ha+136+20>>2]=c[o+20>>2];h=o+(i*24|0)|0;c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];c[o+8>>2]=c[h+8>>2];c[o+12>>2]=c[h+12>>2];c[o+16>>2]=c[h+16>>2];c[o+20>>2]=c[h+20>>2];h=o+(i*24|0)|0;c[h>>2]=c[ha+136>>2];c[h+4>>2]=c[ha+136+4>>2];c[h+8>>2]=c[ha+136+8>>2];c[h+12>>2]=c[ha+136+12>>2];c[h+16>>2]=c[ha+136+16>>2];c[h+20>>2]=c[ha+136+20>>2];h=n}i=i+1|0}while((i|0)<(h|0));g[o+16>>2]=-1000000015047466219876688.0e6;if((h|0)>1){s=+g[o+4>>2];i=1;do{ia=+g[o+(i*24|0)>>2]-+g[o>>2];ja=+g[o+(i*24|0)+4>>2]-s;r=+g[o+(i*24|0)+8>>2]-+g[o+8>>2];q=u*ia+E*ja+t*r;r=v*ia+F*ja+B*r;if(q*q+r*r<1.1920928955078125e-07)q=0.0;else{ja=+C(+q);ja=(!(r>=0.0)?2.356194496154785:.7853981852531433)-(!(r>=0.0)?r+ja:r-ja)/(!(r>=0.0)?ja-r:r+ja)*.7853981852531433;q=q<0.0?-ja:ja}g[o+(i*24|0)+16>>2]=q;i=i+1|0}while((i|0)!=(h|0))}c[ha+136>>2]=c[o>>2];c[ha+136+4>>2]=c[o+4>>2];c[ha+136+8>>2]=c[o+8>>2];c[ha+136+12>>2]=c[o+12>>2];rf(ha+36|0,ha+136|0,1,h+-1|0);i=c[M>>2]|0;c[6995]=(c[6995]|0)+1;h=sc(43)|0;if(!h)n=0;else{c[(h+4+15&-16)+-4>>2]=h;n=h+4+15&-16}o=c[M>>2]|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[n+16>>2]=c[i+16>>2];c[n+20>>2]=c[i+20>>2];c[6995]=(c[6995]|0)+1;h=sc(67)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];c[h+12>>2]=c[n+12>>2];c[h+16>>2]=c[n+16>>2];c[h+20>>2]=c[n+20>>2];if(n|0){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0)}ba=h+24|0;c[ba>>2]=c[o+24>>2];c[ba+4>>2]=c[o+24+4>>2];c[ba+8>>2]=c[o+24+8>>2];c[ba+12>>2]=c[o+24+12>>2];c[ba+16>>2]=c[o+24+16>>2];c[ba+20>>2]=c[o+24+20>>2];if((c[N>>2]|0)==2){i=2;n=2}else{i=2;n=2;f=2;o=2;do{f:do if((o|0)>1){w=c[M>>2]|0;x=w+(i*24|0)|0;q=+g[x>>2];r=+g[w+(i*24|0)+4>>2];s=+g[w+(i*24|0)+8>>2];while(1){ba=o+-2|0;p=o+-1|0;F=+g[h+(ba*24|0)>>2];ia=F-+g[h+(p*24|0)>>2];B=+g[h+(ba*24|0)+4>>2];v=B-+g[h+(p*24|0)+4>>2];ja=+g[h+(ba*24|0)+8>>2];E=ja-+g[h+(p*24|0)+8>>2];if((ia*(B-r)-v*(F-q))*H+(O*(v*(ja-s)-E*(B-r))+L*(E*(F-q)-ia*(ja-s)))>0.0)break;if((p|0)>1){n=p;o=p}else{n=p;o=w;ba=240;break f}}do if((o|0)==(f|0)){w=f<<1;if((f|0)>=(w|0)){w=f;o=f;break}c[6995]=(c[6995]|0)+1;o=sc((f*48|3)+16|0)|0;if(!o)p=0;else{c[(o+4+15&-16)+-4>>2]=o;p=o+4+15&-16}if((n|0)>0){o=0;do{ba=p+(o*24|0)|0;X=h+(o*24|0)|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];c[ba+8>>2]=c[X+8>>2];c[ba+12>>2]=c[X+12>>2];c[ba+16>>2]=c[X+16>>2];c[ba+20>>2]=c[X+20>>2];o=o+1|0}while((o|0)!=(n|0))}c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);h=p;o=n}else w=f;while(0);o=h+(o*24|0)|0;c[o>>2]=c[x>>2];c[o+4>>2]=c[x+4>>2];c[o+8>>2]=c[x+8>>2];c[o+12>>2]=c[x+12>>2];c[o+16>>2]=c[x+16>>2];c[o+20>>2]=c[x+20>>2];o=n+1|0;n=o;f=w;ba=238}else ba=238;while(0);do if((ba|0)==238){ba=0;if((o|0)!=1)break;o=c[M>>2]|0;ba=240}while(0);if((ba|0)==240){w=o+(i*24|0)|0;do if((f|0)==1){c[6995]=(c[6995]|0)+1;o=sc(67)|0;if(!o)p=0;else{c[(o+4+15&-16)+-4>>2]=o;p=o+4+15&-16}if((n|0)<=0){if(!h){f=2;h=p;o=n;break}}else{o=0;do{ba=p+(o*24|0)|0;X=h+(o*24|0)|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];c[ba+8>>2]=c[X+8>>2];c[ba+12>>2]=c[X+12>>2];c[ba+16>>2]=c[X+16>>2];c[ba+20>>2]=c[X+20>>2];o=o+1|0}while((o|0)!=(n|0))}c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);f=2;h=p;o=n}else o=1;while(0);o=h+(o*24|0)|0;c[o>>2]=c[w>>2];c[o+4>>2]=c[w+4>>2];c[o+8>>2]=c[w+8>>2];c[o+12>>2]=c[w+12>>2];c[o+16>>2]=c[w+16>>2];c[o+20>>2]=c[w+20>>2];o=n+1|0;n=o}i=i+1|0}while((i|0)!=(c[N>>2]|0))}ba=276}g:do if((ba|0)==276){ba=0;if((n|0)>0){G=0;o=c[ha+4>>2]|0;i=c[ha+8>>2]|0;w=a[ha+16>>0]|0;while(1){A=h+(G*24|0)+20|0;do if((o|0)==(i|0)){y=i|0?i<<1:1;if((i|0)>=(y|0)){z=w;o=i;y=i;break}do if(!y)f=0;else{c[6995]=(c[6995]|0)+1;o=sc((y<<2|3)+16|0)|0;if(!o){f=0;break}c[(o+4+15&-16)+-4>>2]=o;f=o+4+15&-16}while(0);p=c[ha+12>>2]|0;if((i|0)<=0){if(p)ba=305}else{o=0;do{c[f+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(i|0));ba=305}if((ba|0)==305){ba=0;if(w<<24>>24){c[6996]=(c[6996]|0)+1;Cd(c[p+-4>>2]|0)}c[ha+12>>2]=0;i=c[ha+4>>2]|0}c[ha+12>>2]=f;c[ha+8>>2]=y;z=1;o=i}else{z=w;y=i}while(0);c[(c[ha+12>>2]|0)+(o<<2)>>2]=c[A>>2];o=o+1|0;c[ha+4>>2]=o;i=c[N>>2]|0;h:do if((i|0)>0){x=c[M>>2]|0;f=c[A>>2]|0;p=0;while(1){w=x+(p*24|0)+20|0;p=p+1|0;if((c[w>>2]|0)==(f|0))break;if((p|0)>=(i|0))break h}c[w>>2]=-1}while(0);G=G+1|0;if((G|0)>=(n|0))break;else{i=y;w=z}}a[ha+16>>0]=z}if((i|0)<=0){ba=315;break}x=c[M>>2]|0;y=c[Z>>2]|0;z=c[$>>2]|0;A=(I|0)>0;if((y|0)>0)w=0;else{ba=315;break}while(1){G=c[x+(w*24|0)+20>>2]|0;i:do if((G|0)!=-1){if(A)f=0;else{o=0;while(1){p=c[z+(o*36|0)+4>>2]|0;if((p|0)>0){f=c[z+(o*36|0)+12>>2]|0;n=0;do{if((c[f+(n<<2)>>2]|0)==(G|0)){i=1;break g}n=n+1|0}while((n|0)<(p|0))}o=o+1|0;if((o|0)>=(y|0))break i}}do{n=0;while(1){if((c[J+(n<<2)>>2]|0)==(f|0))break;n=n+1|0;if((n|0)>=(I|0)){ba=291;break}}do if((ba|0)==291){ba=0;o=c[z+(f*36|0)+4>>2]|0;if((o|0)<=0)break;p=c[z+(f*36|0)+12>>2]|0;n=0;do{if((c[p+(n<<2)>>2]|0)==(G|0)){i=1;break g}n=n+1|0}while((n|0)<(o|0))}while(0);f=f+1|0}while((f|0)<(y|0))}while(0);w=w+1|0;if((w|0)>=(i|0)){ba=315;break}}}while(0);if((ba|0)==315){ba=0;ih((c[d+56>>2]|0)+24|0,ha);i=0}if(h|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}h=c[ha+12>>2]|0;if(h|0){if(a[ha+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[ha+12>>2]=0}h=c[M>>2]|0;if(h|0){if(a[ha+36+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[M>>2]=0}if(i&(I|0)>0){p=0;ba=327}}else if((I|0)==1){p=0;ba=327}if((ba|0)==327)while(1){ba=0;f=c[J+(p<<2)>>2]|0;w=c[$>>2]|0;a[ha+136+16>>0]=1;c[P>>2]=0;c[ha+136+4>>2]=0;c[ha+136+8>>2]=0;o=c[w+(f*36|0)+4>>2]|0;if((o|0)>0){c[6995]=(c[6995]|0)+1;i=sc((o<<2|3)+16|0)|0;do if(!i){h=0;n=0}else{c[(i+4+15&-16)+-4>>2]=i;h=c[P>>2]|0;if((h|0)==0|(a[ha+136+16>>0]|0)==0){h=i+4+15&-16;n=i+4+15&-16;break}c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);h=i+4+15&-16;n=i+4+15&-16}while(0);a[ha+136+16>>0]=1;c[P>>2]=h;c[ha+136+8>>2]=o;Yk(h|0,0,o<<2|0)|0;c[ha+136+4>>2]=o;i=c[w+(f*36|0)+12>>2]|0;h=0;do{c[n+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(o|0));h=c[P>>2]|0}else{c[ha+136+4>>2]=o;h=0}c[ha+136+20>>2]=c[w+(f*36|0)+20>>2];c[ha+136+20+4>>2]=c[w+(f*36|0)+20+4>>2];c[ha+136+20+8>>2]=c[w+(f*36|0)+20+8>>2];c[ha+136+20+12>>2]=c[w+(f*36|0)+20+12>>2];ih((c[d+56>>2]|0)+24|0,ha+136|0);if(h|0){if(a[ha+136+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[P>>2]=0}p=p+1|0;if((p|0)>=(I|0))break;else ba=327}if(!((J|0)==0|(K|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[K+-4>>2]|0)}}while((k|0)!=0)}else{Y=0;m=0}X=c[d+56>>2]|0;c[X+64>>2]=0;c[X+64+4>>2]=0;c[X+64+8>>2]=0;c[X+64+12>>2]=0;h=c[X+28>>2]|0;if((h|0)>0){W=0;i=0;k=0;I=0;K=0;f=0;n=0;J=0;w=0;o=0;G=0;z=0;x=0;y=0;p=0;while(1){A=c[X+36>>2]|0;V=c[A+(W*36|0)+4>>2]|0;if((V|0)>0){U=W&65535;T=W|-65536;N=0;S=J;P=w;h=A;M=p;while(1){R=N+1|0;d=c[h+(W*36|0)+12>>2]|0;w=c[d+(N<<2)>>2]&65535;N=c[d+(((R|0)==(V|0)?0:R)<<2)>>2]&65535;d=N<<16>>16>w<<16>>16?w:N;Q=N<<16>>16>w<<16>>16?N:w;p=N<<16>>16>w<<16>>16?w:N;w=N<<16>>16>w<<16>>16?N:w;N=P+-1|0;j:do if((((p&65535)<<16)+(w<<16>>16)&N)>>>0<I>>>0?(ca=c[k+((((p&65535)<<16)+(w<<16>>16)&N)<<2)>>2]|0,(ca|0)!=-1):0){h=ca;while(1){if(w<<16>>16==(b[i+(h<<2)>>1]|0)?p<<16>>16==(b[i+(h<<2)+2>>1]|0):0)break;h=c[n+(h<<2)>>2]|0;if((h|0)==-1){J=0;break j}}J=o+(h<<2)|0}else J=0;while(0);h=c[X+16>>2]|0;u=+g[h+(p<<16>>16<<4)>>2]-+g[h+(w<<16>>16<<4)>>2];v=+g[h+(p<<16>>16<<4)+4>>2]-+g[h+(w<<16>>16<<4)+4>>2];s=+g[h+(p<<16>>16<<4)+8>>2]-+g[h+(w<<16>>16<<4)+8>>2];t=1.0/+D(+(u*u+v*v+s*s));h=c[X+48>>2]|0;k:do if((h|0)>0){w=c[X+56>>2]|0;p=0;while(1){q=+g[w+(p<<4)>>2];r=+g[w+(p<<4)+8>>2];do if(!(+C(+(q-u*t))>1.0e-06)){if(+C(+(+g[w+(p<<4)+4>>2]-v*t))>1.0e-06)break;if(!(+C(+(r-s*t))>1.0e-06))break k}while(0);do if(!(+C(+(u*t+q))>1.0e-06)){if(+C(+(v*t+ +g[w+(p<<4)+4>>2]))>1.0e-06)break;if(!(+C(+(s*t+r))>1.0e-06))break k}while(0);p=p+1|0;if((p|0)>=(h|0)){ba=367;break}}}else ba=367;while(0);if((ba|0)==367){ba=0;do if((h|0)==(c[X+52>>2]|0)){A=h|0?h<<1:1;if((h|0)>=(A|0))break;if(!A)w=0;else{c[6995]=(c[6995]|0)+1;h=sc((A<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}w=h;h=c[X+48>>2]|0}if((h|0)>0){p=0;do{ka=w+(p<<4)|0;la=(c[X+56>>2]|0)+(p<<4)|0;c[ka>>2]=c[la>>2];c[ka+4>>2]=c[la+4>>2];c[ka+8>>2]=c[la+8>>2];c[ka+12>>2]=c[la+12>>2];p=p+1|0}while((p|0)!=(h|0))}h=c[X+56>>2]|0;if(h|0){if(a[X+60>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[X+56>>2]=0}a[X+60>>0]=1;c[X+56>>2]=w;c[X+52>>2]=A;h=c[X+48>>2]|0}while(0);la=c[X+56>>2]|0;g[la+(h<<4)>>2]=u*t;g[la+(h<<4)+4>>2]=v*t;g[la+(h<<4)+8>>2]=s*t;g[la+(h<<4)+12>>2]=0.0;c[X+48>>2]=(c[X+48>>2]|0)+1}l:do if(!J){J=((d&65535)<<16)+(Q<<16>>16)&N;m:do if(J>>>0<I>>>0){h=c[k+(J<<2)>>2]|0;if((h|0)==-1)break;while(1){if(Q<<16>>16==(b[i+(h<<2)>>1]|0)?d<<16>>16==(b[i+(h<<2)+2>>1]|0):0)break;h=c[n+(h<<2)>>2]|0;if((h|0)==-1)break m}A=o+(h<<2)|0;b[A>>1]=T;b[A+2>>1]=T>>>16;A=K;J=S;w=P;h=z;p=M;break l}while(0);do if((S|0)==(P|0)){w=S|0?S<<1:1;if((S|0)>=(w|0)){w=S;break}do if(!w)p=0;else{c[6995]=(c[6995]|0)+1;h=sc((w<<2|3)+16|0)|0;if(!h){p=0;break}c[(h+4+15&-16)+-4>>2]=h;p=h+4+15&-16}while(0);if((S|0)<=0){if(!o){o=p;break}}else{h=0;do{la=p+(h<<2)|0;ka=o+(h<<2)|0;ka=e[ka>>1]|e[ka+2>>1]<<16;b[la>>1]=ka;b[la+2>>1]=ka>>>16;h=h+1|0}while((h|0)!=(S|0))}c[6996]=(c[6996]|0)+1;Cd(c[o+-4>>2]|0);o=p}else w=P;while(0);N=o+(S<<2)|0;b[N>>1]=T;b[N+2>>1]=T>>>16;N=S+1|0;do if((G|0)==(x|0)){x=G|0?G<<1:1;if((G|0)>=(x|0)){x=G;break}do if(!x)h=0;else{c[6995]=(c[6995]|0)+1;h=sc((x<<2|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);if((G|0)<=0){if(!i){i=h;break}}else{p=0;do{la=h+(p<<2)|0;ka=i+(p<<2)|0;ka=e[ka>>1]|e[ka+2>>1]<<16;b[la>>1]=ka;b[la+2>>1]=ka>>>16;p=p+1|0}while((p|0)!=(G|0))}c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);i=h}while(0);la=i+(G<<2)|0;b[la>>1]=(d&65535)<<16|Q&65535;b[la+2>>1]=((d&65535)<<16|Q&65535)>>>16;G=G+1|0;if((P|0)<(w|0)){do if((I|0)<(w|0)){do if((z|0)<(w|0)){do if(!w)p=0;else{c[6995]=(c[6995]|0)+1;h=sc((w<<2|3)+16|0)|0;if(!h){p=0;break}c[(h+4+15&-16)+-4>>2]=h;p=h+4+15&-16}while(0);if((I|0)<=0){if(!k){k=p;J=w;M=p;break}}else{h=0;do{c[p+(h<<2)>>2]=c[k+(h<<2)>>2];h=h+1|0}while((h|0)!=(I|0))}c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0);k=p;J=w;M=p}else J=z;while(0);z=w<<2;Yk(k+(I<<2)|0,0,z-(I<<2)|0)|0;if((K|0)<(w|0)){do if((f|0)<(w|0)){do if(!w)p=0;else{c[6995]=(c[6995]|0)+1;h=sc((z|3)+16|0)|0;if(!h){p=0;break}c[(h+4+15&-16)+-4>>2]=h;p=h+4+15&-16}while(0);if((K|0)<=0){if(!n){f=w;n=p;h=p;break}}else{h=0;do{c[p+(h<<2)>>2]=c[n+(h<<2)>>2];h=h+1|0}while((h|0)!=(K|0))}c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0);f=w;n=p;h=p}else h=y;while(0);Yk(n+(K<<2)|0,0,z-(K<<2)|0)|0;y=h}if((w|0)>0){Yk(M|0,-1,z|0)|0;Yk(y|0,-1,z|0)|0}if((I|0)<=0){I=w;A=w;h=J;p=M;break}p=w+-1|0;h=0;do{la=k+(((e[i+(h<<2)+2>>1]<<16)+(b[i+(h<<2)>>1]|0)&p)<<2)|0;c[n+(h<<2)>>2]=c[la>>2];c[la>>2]=h;h=h+1|0}while((h|0)!=(I|0));I=w;A=w;h=J;p=M}else{A=K;h=z;p=M}while(0);J=((d&65535)<<16)+(Q<<16>>16)&w+-1}else{A=K;h=z;p=M}J=k+(J<<2)|0;c[n+(S<<2)>>2]=c[J>>2];c[J>>2]=S;J=N}else{b[J+2>>1]=U;A=K;J=S;w=P;h=z;p=M}while(0);if((R|0)>=(V|0))break;N=R;K=A;S=J;P=w;z=h;h=c[X+36>>2]|0;M=p}z=h;h=c[X+28>>2]|0}else A=K;W=W+1|0;if((W|0)>=(h|0))break;else K=A}if((h|0)>0){z=c[X+36>>2]|0;A=c[X+16>>2]|0;y=0;q=0.0;do{f=c[z+(y*36|0)+4>>2]|0;w=c[z+(y*36|0)+12>>2]|0;x=c[w>>2]|0;if((f+-2|0)>=1){p=1;r=+g[X+64>>2];s=+g[X+68>>2];t=+g[X+72>>2];do{ka=c[w+(p<<2)>>2]|0;p=p+1|0;la=c[w+(((p|0)%(f|0)|0)<<2)>>2]|0;u=+g[A+(x<<4)>>2];v=+g[A+(ka<<4)>>2];E=+g[A+(x<<4)+4>>2];F=+g[A+(ka<<4)+4>>2];L=+g[A+(x<<4)+8>>2];O=+g[A+(ka<<4)+8>>2];B=+g[A+(la<<4)>>2];H=+g[A+(la<<4)+4>>2];ia=+g[A+(la<<4)+8>>2];ja=+D(+(((u-v)*(E-H)-(E-F)*(u-B))*((u-v)*(E-H)-(E-F)*(u-B))+(((E-F)*(L-ia)-(L-O)*(E-H))*((E-F)*(L-ia)-(L-O)*(E-H))+((L-O)*(u-B)-(u-v)*(L-ia))*((L-O)*(u-B)-(u-v)*(L-ia)))))*.5;r=r+(u+v+B)*.3333333432674408*ja;g[X+64>>2]=r;s=(E+F+H)*.3333333432674408*ja+s;g[X+68>>2]=s;t=ja*(L+O+ia)*.3333333432674408+t;g[X+72>>2]=t;q=q+ja}while((p|0)!=(f+-1|0))}y=y+1|0}while((y|0)!=(h|0));p=X+64|0;w=i;f=k;i=1}else ba=346}else{i=0;k=0;n=0;o=0;ba=346}if((ba|0)==346){q=0.0;p=X+64|0;w=i;f=k;i=0}t=1.0/q;u=t*+g[p>>2];g[p>>2]=u;s=t*+g[X+68>>2];g[X+68>>2]=s;t=t*+g[X+72>>2];g[X+72>>2]=t;g[X+96>>2]=3402823466385288598117041.0e14;if(i){k=c[X+36>>2]|0;i=0;r=3402823466385288598117041.0e14;while(1){q=+C(+(+g[k+(i*36|0)+32>>2]+(+g[k+(i*36|0)+20>>2]*u+ +g[k+(i*36|0)+24>>2]*s+ +g[k+(i*36|0)+28>>2]*t)));if(q<r)g[X+96>>2]=q;else q=r;i=i+1|0;if((i|0)>=(h|0)){B=q;break}else r=q}}else B=3402823466385288598117041.0e14;i=c[X+8>>2]|0;if((i|0)>0){k=c[X+16>>2]|0;h=0;u=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;do{ja=+g[k+(h<<4)>>2];q=ja<q?ja:q;t=ja>t?ja:t;ja=+g[k+(h<<4)+4>>2];r=ja<r?ja:r;v=ja>v?ja:v;ja=+g[k+(h<<4)+8>>2];s=ja<s?ja:s;u=ja>u?ja:u;h=h+1|0}while((h|0)!=(i|0))}else{u=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14}g[X+100>>2]=q+t;g[X+104>>2]=r+v;g[X+108>>2]=s+u;g[X+112>>2]=0.0;ja=t-q;q=v-r;r=u-s;g[X+116>>2]=ja;g[X+120>>2]=q;g[X+124>>2]=r;g[X+128>>2]=0.0;s=B/1.7320507764816284;p=+g[X+116+((ja<q&1)<<2)>>2]<r?2:ja<q&1;q=(+g[X+116+(p<<2)>>2]*.5-s)*.0009765625;g[X+88>>2]=s;g[X+84>>2]=s;g[X+80>>2]=s;r=+g[X+116+(p<<2)>>2]*.5;g[X+80+(p<<2)>>2]=r;h=0;while(1){if(dh(X)|0){ba=452;break}r=r-q;g[X+80+(p<<2)>>2]=r;h=h+1|0;if((h|0)>=1024){ba=451;break}}n:do if((ba|0)==451){g[X+88>>2]=s;g[X+84>>2]=s;g[X+80>>2]=s}else if((ba|0)==452){q=(+g[X+96>>2]-s)*.0009765625;h=0;k=c[X+80+((1<<(1<<p&3)&3)<<2)>>2]|0;while(1){i=c[X+80+((1<<p&3)<<2)>>2]|0;g[X+80+((1<<p&3)<<2)>>2]=q+(c[j>>2]=i,+g[j>>2]);r=q+ +g[X+80+((1<<(1<<p&3)&3)<<2)>>2];g[X+80+((1<<(1<<p&3)&3)<<2)>>2]=r;h=h+1|0;if(!(dh(X)|0))break;if((h|0)>=1024)break n;else k=(g[j>>2]=r,c[j>>2]|0)}c[X+80+((1<<p&3)<<2)>>2]=i;c[X+80+((1<<(1<<p&3)&3)<<2)>>2]=k}while(0);if(w|0){c[6996]=(c[6996]|0)+1;Cd(c[w+-4>>2]|0)}if(o|0){c[6996]=(c[6996]|0)+1;Cd(c[o+-4>>2]|0)}if(n|0){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0)}if(f|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}if(!((m|0)==0|(Y|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[Y+-4>>2]|0)}o=c[Z>>2]|0;p=c[$>>2]|0;if((o|0)<=0){if(p|0)ba=473}else{h=0;do{k=p+(h*36|0)+4|0;m=p+(h*36|0)+12|0;n=c[m>>2]|0;i=p+(h*36|0)+16|0;if(n|0){if(a[i>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0)}c[m>>2]=0}a[i>>0]=1;c[m>>2]=0;c[k>>2]=0;c[p+(h*36|0)+8>>2]=0;h=h+1|0}while((h|0)!=(o|0));ba=473}if((ba|0)==473){if(a[ha+56+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[p+-4>>2]|0)}c[$>>2]=0}if(!((aa|0)==0|(_|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[_+-4>>2]|0)}h=c[da>>2]|0;if(h|0){if(a[ha+76+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[da>>2]=0}a[ha+76+56>>0]=1;c[da>>2]=0;c[ha+76+44>>2]=0;c[ha+76+48>>2]=0;h=c[ea>>2]|0;if(h|0){if(a[ha+76+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[ea>>2]=0}a[ha+76+36>>0]=1;c[ea>>2]=0;c[ha+76+24>>2]=0;c[ha+76+28>>2]=0;h=c[fa>>2]|0;if(h|0){if(a[ha+76+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[fa>>2]=0}if(!ga){l=ha;return 1}c[6996]=(c[6996]|0)+1;Cd(c[ga+-4>>2]|0);l=ha;return 1}function ec(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,E=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0,T=0.0,U=0.0,V=0.0,W=0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0,ja=0,ka=0.0,la=0.0,ma=0.0,na=0,oa=0.0,pa=0,qa=0,ra=0,sa=0,ta=0;ta=l;l=l+1072|0;j=c[b+56>>2]|0;if(!j){j=c[b+4>>2]|0;j=Bb[c[(c[j>>2]|0)+12>>2]&63](j,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+56>>2]=j;a[b+52>>0]=1}c[h+4>>2]=j;ra=c[d+4>>2]|0;pa=c[e+4>>2]|0;a:do switch(c[ra+4>>2]|0){case 10:switch(c[pa+4>>2]|0){case 10:{oa=+g[j+784>>2];sa=c[ra+56>>2]|0;b=c[pa+56>>2]|0;i=+fg(ta+640|0,ta+624|0,+g[ra+32+(sa<<2)>>2],+g[ra+32+(((sa+2|0)%3|0)<<2)>>2],+g[pa+32+(b<<2)>>2],+g[pa+32+(((b+2|0)%3|0)<<2)>>2],sa,b,c[d+12>>2]|0,c[e+12>>2]|0,oa);if(i<oa)Tb[c[(c[h>>2]|0)+16>>2]&15](h,ta+640|0,ta+624|0,i);k=c[h+4>>2]|0;if(!(c[k+780>>2]|0)){l=ta;return}m=c[k+772>>2]|0;n=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((m|0)==(n|0)){af(k,m+4|0,j+4|0);l=ta;return}else{af(k,j+4|0,n+4|0);l=ta;return}}case 8:{oa=+g[j+784>>2];b=c[ra+56>>2]|0;i=+fg(ta+640|0,ta+624|0,+g[ra+32+(b<<2)>>2],+g[ra+32+(((b+2|0)%3|0)<<2)>>2],0.0,+g[pa+32>>2]*+g[pa+16>>2],b,1,c[d+12>>2]|0,c[e+12>>2]|0,oa);if(i<oa)Tb[c[(c[h>>2]|0)+16>>2]&15](h,ta+640|0,ta+624|0,i);k=c[h+4>>2]|0;if(!(c[k+780>>2]|0)){l=ta;return}m=c[k+772>>2]|0;n=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((m|0)==(n|0)){af(k,m+4|0,j+4|0);l=ta;return}else{af(k,j+4|0,n+4|0);l=ta;return}}default:{m=pa+4|0;break a}}case 8:{if((c[pa+4>>2]|0)==10){oa=+g[j+784>>2];b=c[pa+56>>2]|0;i=+fg(ta+640|0,ta+624|0,0.0,+g[ra+32>>2]*+g[ra+16>>2],+g[pa+32+(b<<2)>>2],+g[pa+32+(((b+2|0)%3|0)<<2)>>2],1,b,c[d+12>>2]|0,c[e+12>>2]|0,oa);if(i<oa)Tb[c[(c[h>>2]|0)+16>>2]&15](h,ta+640|0,ta+624|0,i);k=c[h+4>>2]|0;if(!(c[k+780>>2]|0)){l=ta;return}m=c[k+772>>2]|0;n=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((m|0)==(n|0)){af(k,m+4|0,j+4|0);l=ta;return}else{af(k,j+4|0,n+4|0);l=ta;return}}else m=pa+4|0;break}default:m=pa+4|0}while(0);g[ta+488+128>>2]=999999984306749440.0;g[ta+128+308>>2]=9.999999747378752e-05;a[ta+128+332>>0]=0;j=c[b+8>>2]|0;c[ta+48>>2]=9552;c[ta+48+4>>2]=0;c[ta+48+8>>2]=1065353216;c[ta+48+12>>2]=0;g[ta+48+16>>2]=0.0;c[ta+48+20>>2]=j;c[ta+48+24>>2]=ta+128;c[ta+48+28>>2]=ra;c[ta+48+32>>2]=pa;c[ta+48+36>>2]=c[ra+4>>2];c[ta+48+40>>2]=c[m>>2];g[ta+48+44>>2]=+nb[c[(c[ra>>2]|0)+48>>2]&15](ra);g[ta+48+48>>2]=+nb[c[(c[pa>>2]|0)+48>>2]&15](pa);a[ta+48+52>>0]=0;c[ta+48+60>>2]=-1;c[ta+48+72>>2]=1;c[ta+48+76>>2]=1;c[ta+48+28>>2]=ra;c[ta+48+32>>2]=pa;ma=+nb[c[(c[ra>>2]|0)+48>>2]&15](ra);oa=+nb[c[(c[pa>>2]|0)+48>>2]&15](pa);oa=ma+oa+ +g[(c[b+56>>2]|0)+784>>2]+ +g[h+32>>2];g[ta+488+128>>2]=oa*oa;j=c[d+12>>2]|0;c[ta+488>>2]=c[j>>2];c[ta+488+4>>2]=c[j+4>>2];c[ta+488+8>>2]=c[j+8>>2];c[ta+488+12>>2]=c[j+12>>2];n=ta+488+16|0;c[n>>2]=c[j+16>>2];c[n+4>>2]=c[j+16+4>>2];c[n+8>>2]=c[j+16+8>>2];c[n+12>>2]=c[j+16+12>>2];s=ta+488+32|0;c[s>>2]=c[j+32>>2];c[s+4>>2]=c[j+32+4>>2];c[s+8>>2]=c[j+32+8>>2];c[s+12>>2]=c[j+32+12>>2];t=ta+488+48|0;c[t>>2]=c[j+48>>2];c[t+4>>2]=c[j+48+4>>2];c[t+8>>2]=c[j+48+8>>2];c[t+12>>2]=c[j+48+12>>2];j=c[e+12>>2]|0;u=ta+488+64|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];L=ta+488+80|0;c[L>>2]=c[j+16>>2];c[L+4>>2]=c[j+16+4>>2];c[L+8>>2]=c[j+16+8>>2];c[L+12>>2]=c[j+16+12>>2];M=ta+488+96|0;c[M>>2]=c[j+32>>2];c[M+4>>2]=c[j+32+4>>2];c[M+8>>2]=c[j+32+8>>2];c[M+12>>2]=c[j+32+12>>2];N=ta+488+112|0;c[N>>2]=c[j+48>>2];c[N+4>>2]=c[j+48+4>>2];c[N+8>>2]=c[j+48+8>>2];c[N+12>>2]=c[j+48+12>>2];j=c[ra+4>>2]|0;if((j|0)<7?(k=c[m>>2]|0,(k|0)<7):0){c[ta+40>>2]=6428;if(!j){j=k;o=0.0}else{o=+nb[c[(c[ra>>2]|0)+48>>2]&15](ra);j=c[m>>2]|0}if(!j)i=0.0;else i=+nb[c[(c[pa>>2]|0)+48>>2]&15](pa);c[ta>>2]=6456;c[ta+4>>2]=h;g[ta+24>>2]=o;g[ta+28>>2]=i;a[ta+36>>0]=0;ia=c[ra+56>>2]|0;b:do if(ia|0){ja=c[pa+56>>2]|0;do if(!ja){if((c[m>>2]|0)!=1)break b;t=ta+1e3+16|0;a[t>>0]=1;u=ta+1e3+12|0;c[u>>2]=0;s=ta+1e3+4|0;c[s>>2]=0;n=ta+1e3+8|0;c[n>>2]=0;j=c[e+12>>2]|0;ma=+g[pa+60>>2];oa=+g[pa+60+4>>2];p=+g[pa+60+8>>2];i=ma*+g[j>>2]+oa*+g[j+4>>2]+p*+g[j+8>>2]+ +g[j+48>>2];o=ma*+g[j+16>>2]+oa*+g[j+20>>2]+p*+g[j+24>>2]+ +g[j+52>>2];p=ma*+g[j+32>>2]+oa*+g[j+36>>2]+p*+g[j+40>>2]+ +g[j+56>>2];c[6995]=(c[6995]|0)+1;j=sc(35)|0;if(!j)k=0;else{c[(j+4+15&-16)+-4>>2]=j;k=j+4+15&-16}j=c[u>>2]|0;if(!j)j=0;else{c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);j=c[s>>2]|0;c[u>>2]=0}a[t>>0]=1;c[u>>2]=k;c[n>>2]=1;g[k+(j<<4)>>2]=i;g[k+(j<<4)+4>>2]=o;g[k+(j<<4)+8>>2]=p;g[k+(j<<4)+12>>2]=0.0;j=(c[s>>2]|0)+1|0;c[s>>2]=j;sa=c[e+12>>2]|0;ma=+g[pa+60+16>>2];oa=+g[pa+60+20>>2];p=+g[pa+60+24>>2];i=ma*+g[sa>>2]+oa*+g[sa+4>>2]+p*+g[sa+8>>2]+ +g[sa+48>>2];o=ma*+g[sa+16>>2]+oa*+g[sa+20>>2]+p*+g[sa+24>>2]+ +g[sa+52>>2];p=ma*+g[sa+32>>2]+oa*+g[sa+36>>2]+p*+g[sa+40>>2]+ +g[sa+56>>2];if((j|0)==(c[n>>2]|0)?(O=j|0?j<<1:1,(j|0)<(O|0)):0){if(!O)m=0;else{c[6995]=(c[6995]|0)+1;j=sc((O<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}m=j;j=c[s>>2]|0}if((j|0)>0){k=0;do{sa=m+(k<<4)|0;qa=(c[u>>2]|0)+(k<<4)|0;c[sa>>2]=c[qa>>2];c[sa+4>>2]=c[qa+4>>2];c[sa+8>>2]=c[qa+8>>2];c[sa+12>>2]=c[qa+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[u>>2]|0;if(j|0){if(a[t>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[u>>2]=0}a[t>>0]=1;c[u>>2]=m;c[n>>2]=O;j=c[s>>2]|0}sa=c[u>>2]|0;g[sa+(j<<4)>>2]=i;g[sa+(j<<4)+4>>2]=o;g[sa+(j<<4)+8>>2]=p;g[sa+(j<<4)+12>>2]=0.0;j=(c[s>>2]|0)+1|0;c[s>>2]=j;e=c[e+12>>2]|0;ma=+g[pa+60+32>>2];oa=+g[pa+60+36>>2];p=+g[pa+60+40>>2];i=ma*+g[e>>2]+oa*+g[e+4>>2]+p*+g[e+8>>2]+ +g[e+48>>2];o=ma*+g[e+16>>2]+oa*+g[e+20>>2]+p*+g[e+24>>2]+ +g[e+52>>2];p=ma*+g[e+32>>2]+oa*+g[e+36>>2]+p*+g[e+40>>2]+ +g[e+56>>2];if((j|0)==(c[n>>2]|0)?(S=j|0?j<<1:1,(j|0)<(S|0)):0){if(!S)m=0;else{c[6995]=(c[6995]|0)+1;j=sc((S<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}m=j;j=c[s>>2]|0}if((j|0)>0){k=0;do{e=m+(k<<4)|0;sa=(c[u>>2]|0)+(k<<4)|0;c[e>>2]=c[sa>>2];c[e+4>>2]=c[sa+4>>2];c[e+8>>2]=c[sa+8>>2];c[e+12>>2]=c[sa+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[u>>2]|0;if(j|0){if(a[t>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[u>>2]=0}a[t>>0]=1;c[u>>2]=m;c[n>>2]=S;j=c[s>>2]|0}e=c[u>>2]|0;g[e+(j<<4)>>2]=i;g[e+(j<<4)+4>>2]=o;g[e+(j<<4)+8>>2]=p;g[e+(j<<4)+12>>2]=0.0;c[s>>2]=(c[s>>2]|0)+1;q=+g[(c[b+56>>2]|0)+784>>2];Dc(ta+48|0,ta+488|0,ta+40|0,c[f+20>>2]|0,0);i=+g[ta+48+4>>2];o=+g[ta+48+8>>2];p=+g[ta+48+12>>2];if(i*i+o*o+p*p>1.1920928955078125e-07){oa=1.0/(i*i+o*o+p*p);g[ta+760>>2]=i*oa;g[ta+760+4>>2]=o*oa;g[ta+760+8>>2]=p*oa;g[ta+760+12>>2]=0.0;oa=+g[ta+48+56>>2];i=+nb[c[(c[ra>>2]|0)+48>>2]&15](ra);i=oa-i-+nb[c[(c[pa>>2]|0)+48>>2]&15](pa);j=c[b+36>>2]|0;if((j|0)<0){if((c[b+40>>2]|0)<0){k=c[b+44>>2]|0;if(k|0){if(a[b+48>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+40>>2]=0}do{e=(c[b+44>>2]|0)+(j<<4)|0;c[e>>2]=c[ta+744>>2];c[e+4>>2]=c[ta+744+4>>2];c[e+8>>2]=c[ta+744+8>>2];c[e+12>>2]=c[ta+744+12>>2];j=j+1|0}while((j|0)!=0)}c[b+36>>2]=0;Mc(ta+760|0,c[ra+56>>2]|0,c[d+12>>2]|0,ta+1e3|0,b+32|0,i-q,q,h)}do if(a[b+52>>0]|0?(W=c[h+4>>2]|0,c[W+780>>2]|0):0){k=c[W+772>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(m|0)){af(W,k+4|0,j+4|0);break}else{af(W,j+4|0,m+4|0);break}}while(0);j=c[u>>2]|0;if(j|0){if(a[t>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[u>>2]=0}}else{oa=+g[(c[b+56>>2]|0)+784>>2];c:do if(!(a[f+24>>0]|0)){Dc(ta+48|0,ta+488|0,ta,c[f+20>>2]|0,0);i=+g[ta+32>>2];if(i<0.0&(a[ta+36>>0]|0)!=0){o=+g[ta+8>>2];p=+g[ta+12>>2];q=+g[ta+16>>2];m=c[ta+20>>2]|0;na=107}}else{u=c[d+12>>2]|0;L=c[e+12>>2]|0;c[6411]=(c[6411]|0)+1;da=+g[ia+64>>2];ea=+g[ia+68>>2];r=+g[u+4>>2];fa=+g[ia+72>>2];v=+g[u+8>>2];x=+g[u+16>>2];z=+g[u+20>>2];B=+g[u+24>>2];E=+g[u+32>>2];A=+g[u+36>>2];y=+g[u+40>>2];ga=+g[ja+64>>2];ha=+g[ja+68>>2];ma=+g[ja+72>>2];ka=da*+g[u>>2]+ea*r+fa*v+ +g[u+48>>2]-(ga*+g[L>>2]+ha*+g[L+4>>2]+ma*+g[L+8>>2]+ +g[L+48>>2]);la=da*x+ea*z+fa*B+ +g[u+52>>2]-(ga*+g[L+16>>2]+ha*+g[L+20>>2]+ma*+g[L+24>>2]+ +g[L+52>>2]);ma=da*E+ea*A+fa*y+ +g[u+56>>2]-(ga*+g[L+32>>2]+ha*+g[L+36>>2]+ma*+g[L+40>>2]+ +g[L+56>>2]);m=c[ia+28>>2]|0;d:do if((m|0)>0){i=3402823466385288598117041.0e14;j=0;w=0.0;o=0.0;p=0.0;q=0.0;H=x;while(1){f=c[ia+36>>2]|0;fa=+g[f+(j*36|0)+20>>2];ga=+g[f+(j*36|0)+24>>2];ha=+g[f+(j*36|0)+28>>2];x=fa*+g[u>>2]+ga*r+ha*v;v=fa*H+ga*z+ha*B;r=fa*E+ga*A+ha*y;g[ta+656>>2]=x;g[ta+656+4>>2]=v;g[ta+656+8>>2]=r;g[ta+656+12>>2]=0.0;if(ka*x+la*v+ma*r<0.0){g[ta+656>>2]=-x;g[ta+656+4>>2]=-v;g[ta+656+8>>2]=-r;B=-x;v=-v;r=-r}else B=x;c[6409]=(c[6409]|0)+1;if(Ii(u,L,ka,la,ma,B,v,r,ia,ja,i)|0){c[6410]=(c[6410]|0)+1;bh(ia,u,ta+656|0,ta+1e3|0,ta+760|0,ta+720|0,ta+704|0);bh(ja,L,ta+656|0,ta+744|0,ta+736|0,ta+688|0,ta+672|0);x=+g[ta+760>>2];y=+g[ta+744>>2];do if(x<y)k=0;else{z=+g[ta+736>>2];A=+g[ta+1e3>>2];if(z<A){k=0;break}k=1;w=x-y<z-A?x-y:z-A}while(0);if(!k)break;if(w<i){i=w;o=B;p=v;q=r}}j=j+1|0;if((j|0)>=(m|0))break d;r=+g[u+4>>2];v=+g[u+8>>2];H=+g[u+16>>2];z=+g[u+20>>2];B=+g[u+24>>2];E=+g[u+32>>2];A=+g[u+36>>2];y=+g[u+40>>2]}break c}else{i=3402823466385288598117041.0e14;o=0.0;p=0.0;q=0.0}while(0);m=c[ja+28>>2]|0;e:do if((m|0)>0){k=0;x=0.0;while(1){f=c[ja+36>>2]|0;ga=+g[f+(k*36|0)+20>>2];ha=+g[f+(k*36|0)+24>>2];w=+g[f+(k*36|0)+28>>2];r=ga*+g[L>>2]+ha*+g[L+4>>2]+w*+g[L+8>>2];v=ga*+g[L+16>>2]+ha*+g[L+20>>2]+w*+g[L+24>>2];w=ga*+g[L+32>>2]+ha*+g[L+36>>2]+w*+g[L+40>>2];g[ta+656>>2]=r;g[ta+656+4>>2]=v;g[ta+656+8>>2]=w;g[ta+656+12>>2]=0.0;if(ka*r+la*v+ma*w<0.0){g[ta+656>>2]=-r;g[ta+656+4>>2]=-v;g[ta+656+8>>2]=-w;r=-r;v=-v;w=-w}c[6409]=(c[6409]|0)+1;if(Ii(u,L,ka,la,ma,r,v,w,ia,ja,i)|0){c[6410]=(c[6410]|0)+1;bh(ia,u,ta+656|0,ta+1e3|0,ta+760|0,ta+720|0,ta+704|0);bh(ja,L,ta+656|0,ta+744|0,ta+736|0,ta+688|0,ta+672|0);y=+g[ta+760>>2];z=+g[ta+744>>2];do if(y<z)j=0;else{A=+g[ta+736>>2];B=+g[ta+1e3>>2];if(A<B){j=0;break}j=1;x=y-z<A-B?y-z:A-B}while(0);if(!j)break;if(x<i){i=x;o=r;p=v;q=w}}k=k+1|0;if((k|0)>=(m|0))break e}break c}while(0);j=c[ia+48>>2]|0;f:do if((j|0)>0){t=0;k=-1;n=-1;w=0.0;z=0.0;K=0.0;y=0.0;J=0.0;H=0.0;I=0.0;x=0.0;A=0.0;B=0.0;v=0.0;r=0.0;E=0.0;V=0.0;U=0.0;T=0.0;R=0.0;Q=0.0;P=0.0;m=c[ja+48>>2]|0;g:while(1){f=c[ia+56>>2]|0;da=+g[f+(t<<4)>>2];ea=+g[f+(t<<4)+4>>2];ha=+g[f+(t<<4)+8>>2];fa=da*+g[u>>2]+ea*+g[u+4>>2]+ha*+g[u+8>>2];ga=da*+g[u+16>>2]+ea*+g[u+20>>2]+ha*+g[u+24>>2];ha=da*+g[u+32>>2]+ea*+g[u+36>>2]+ha*+g[u+40>>2];if((m|0)>0){s=0;ba=w;ea=o;da=p;ca=q;aa=x;$=A;_=B;Z=E;while(1){f=c[ja+56>>2]|0;A=+g[f+(s<<4)>>2];B=+g[f+(s<<4)+4>>2];Y=+g[f+(s<<4)+8>>2];E=A*+g[L>>2]+B*+g[L+4>>2]+Y*+g[L+8>>2];X=A*+g[L+16>>2]+B*+g[L+20>>2]+Y*+g[L+24>>2];Y=A*+g[L+32>>2]+B*+g[L+36>>2]+Y*+g[L+40>>2];g[ta+656>>2]=ga*Y-ha*X;g[ta+656+4>>2]=ha*E-fa*Y;g[ta+656+8>>2]=fa*X-ga*E;g[ta+656+12>>2]=0.0;do if(!(+C(+(ga*Y-ha*X))>1.0e-06)){if(+C(+(ha*E-fa*Y))>1.0e-06){na=71;break}if(!(+C(+(fa*X-ga*E))>1.0e-06)){w=ba;o=ea;p=da;q=ca;E=Z;B=_;A=$;x=aa}else na=71}else na=71;while(0);do if((na|0)==71){na=0;q=1.0/+D(+((ga*Y-ha*X)*(ga*Y-ha*X)+(ha*E-fa*Y)*(ha*E-fa*Y)+(fa*X-ga*E)*(fa*X-ga*E)));o=(ga*Y-ha*X)*q;g[ta+656>>2]=o;p=(ha*E-fa*Y)*q;g[ta+656+4>>2]=p;q=(fa*X-ga*E)*q;g[ta+656+8>>2]=q;if(o*ka+p*la+ma*q<0.0){g[ta+656>>2]=-o;g[ta+656+4>>2]=-p;g[ta+656+8>>2]=-q;o=-o;p=-p;q=-q}c[6409]=(c[6409]|0)+1;if(!(Ii(u,L,ka,la,ma,o,p,q,ia,ja,i)|0)){w=ba;o=ea;p=da;q=ca;E=Z;B=_;A=$;x=aa;break}c[6410]=(c[6410]|0)+1;bh(ia,u,ta+656|0,ta+1e3|0,ta+760|0,ta+720|0,ta+704|0);bh(ja,L,ta+656|0,ta+744|0,ta+736|0,ta+688|0,ta+672|0);w=+g[ta+760>>2];x=+g[ta+744>>2];do if(!(w<x)){A=+g[ta+736>>2];B=+g[ta+1e3>>2];if(A<B){j=0;w=ba;B=_;A=$;x=aa;break}if(w-x<A-B){j=1;w=w-x;T=+g[ta+688>>2];U=+g[ta+688+4>>2];V=+g[ta+688+8>>2];B=+g[ta+704>>2];A=+g[ta+704+4>>2];x=+g[ta+704+8>>2];break}else{j=1;w=A-B;T=+g[ta+672>>2];U=+g[ta+672+4>>2];V=+g[ta+672+8>>2];B=+g[ta+720>>2];A=+g[ta+720+4>>2];x=+g[ta+720+8>>2];break}}else{j=0;w=ba;B=_;A=$;x=aa}while(0);if(!j)break g;if(!(w<i)){o=ea;p=da;q=ca;E=Z;break}i=w;k=s;n=t;z=E;K=fa;y=X;J=ga;H=Y;I=ha;P=T;Q=U;R=V;E=B;r=A;v=x}while(0);s=s+1|0;m=c[ja+48>>2]|0;if((s|0)>=(m|0))break;else{ba=w;ea=o;da=p;ca=q;aa=x;$=A;_=B;Z=E}}j=c[ia+48>>2]|0}t=t+1|0;if((t|0)>=(j|0)){j=n;i=E;break f}}break c}else{k=-1;j=-1;v=0.0;r=0.0;i=0.0;R=0.0;Q=0.0;P=0.0;z=0.0;K=0.0;y=0.0;J=0.0;H=0.0;I=0.0}while(0);if((k|j|0)>-1){A=P-i;B=Q-r;E=R-v;w=z*K+y*J+H*I;x=A*K+B*J+E*I;r=A*z+B*y+E*H;if(!(1.0-w*w==0.0))if(!((x-r*w)/(1.0-w*w)<-1000000015047466219876688.0e6))if((x-r*w)/(1.0-w*w)>1000000015047466219876688.0e6){i=1000000015047466219876688.0e6;na=90}else v=(x-r*w)/(1.0-w*w);else{i=-1000000015047466219876688.0e6;na=90}else{i=0.0;na=90}if((na|0)==90)v=i;i=w*v-r;do if(i<-1000000015047466219876688.0e6){if(x-w*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){i=-1000000015047466219876688.0e6;r=-1000000015047466219876688.0e6;break}if(!(x-w*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){i=-1000000015047466219876688.0e6;r=x-w*1000000015047466219876688.0e6;break}i=-1000000015047466219876688.0e6;r=1000000015047466219876688.0e6}else{if(!(i>1000000015047466219876688.0e6)){r=v;break}if(x+w*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){i=1000000015047466219876688.0e6;r=-1000000015047466219876688.0e6;break}if(!(x+w*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){i=1000000015047466219876688.0e6;r=x+w*1000000015047466219876688.0e6;break}i=1000000015047466219876688.0e6;r=1000000015047466219876688.0e6}while(0);z=z*i;y=y*i;x=H*i;w=z+(A-K*r);v=y+(B-J*r);i=x+(E-I*r);g[ta+1e3>>2]=w;g[ta+1e3+4>>2]=v;g[ta+1e3+8>>2]=i;g[ta+1e3+12>>2]=0.0;if(w*w+v*v+i*i>1.1920928955078125e-07){r=+D(+(w*w+v*v+i*i));g[ta+1e3>>2]=w*(1.0/r);g[ta+1e3+4>>2]=1.0/r*v;g[ta+1e3+8>>2]=1.0/r*i;if(w*(1.0/r)*ka+1.0/r*v*la+1.0/r*i*ma<0.0){g[ta+1e3>>2]=-(w*(1.0/r));g[ta+1e3+4>>2]=-(1.0/r*v);g[ta+1e3+8>>2]=-(1.0/r*i)}g[ta+760>>2]=P+z;g[ta+760+4>>2]=Q+y;g[ta+760+8>>2]=R+x;g[ta+760+12>>2]=0.0;Tb[c[(c[h>>2]|0)+16>>2]&15](h,ta+1e3|0,ta+760|0,-r)}}if(ka*o+la*p+ma*q<0.0){i=-1000000015047466219876688.0e6;o=-o;p=-p;q=-q;m=0;na=107}else{i=-1000000015047466219876688.0e6;m=0;na=107}}while(0);if((na|0)==107){j=c[b+16>>2]|0;if((j|0)<0){if((c[b+20>>2]|0)<0){k=c[b+24>>2]|0;if(k|0){if(a[b+28>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=0;c[b+20>>2]=0}do{na=(c[b+24>>2]|0)+(j<<4)|0;c[na>>2]=c[ta+1e3>>2];c[na+4>>2]=c[ta+1e3+4>>2];c[na+8>>2]=c[ta+1e3+8>>2];c[na+12>>2]=c[ta+1e3+12>>2];j=j+1|0}while((j|0)!=0)}c[b+16>>2]=0;O=c[ra+56>>2]|0;N=c[pa+56>>2]|0;M=c[d+12>>2]|0;L=c[e+12>>2]|0;K=i-oa;H=1.0/+D(+(o*o+p*p+q*q));J=o*H;I=p*H;H=q*H;g[ta+1e3>>2]=J;g[ta+1e3+4>>2]=I;g[ta+1e3+8>>2]=H;c[ta+1e3+12>>2]=m;k=c[N+28>>2]|0;if((k|0)>0){m=c[N+36>>2]|0;o=+g[L>>2];p=+g[L+4>>2];q=+g[L+8>>2];r=+g[L+16>>2];v=+g[L+20>>2];w=+g[L+24>>2];x=+g[L+32>>2];y=+g[L+36>>2];z=+g[L+40>>2];i=-3402823466385288598117041.0e14;j=0;t=-1;while(1){A=+g[m+(j*36|0)+20>>2];B=+g[m+(j*36|0)+24>>2];E=+g[m+(j*36|0)+28>>2];n=(A*o+B*p+E*q)*J+(A*r+B*v+E*w)*I+(A*x+B*y+E*z)*H>i;t=n?j:t;j=j+1|0;if((j|0)==(k|0))break;else i=n?(A*o+B*p+E*q)*J+(A*r+B*v+E*w)*I+(A*x+B*y+E*z)*H:i}}else t=-1;j=c[N+36>>2]|0;c[b+16>>2]=0;u=c[j+(t*36|0)+4>>2]|0;if((u|0)>0){s=j+(t*36|0)+12|0;n=0;k=0;do{d=c[(c[s>>2]|0)+(n<<2)>>2]|0;e=c[N+16>>2]|0;la=+g[e+(d<<4)>>2];ma=+g[e+(d<<4)+4>>2];p=+g[e+(d<<4)+8>>2];i=la*+g[L>>2]+ma*+g[L+4>>2]+p*+g[L+8>>2]+ +g[L+48>>2];o=la*+g[L+16>>2]+ma*+g[L+20>>2]+p*+g[L+24>>2]+ +g[L+52>>2];p=la*+g[L+32>>2]+ma*+g[L+36>>2]+p*+g[L+40>>2]+ +g[L+56>>2];if((k|0)==(c[b+20>>2]|0)?(qa=k|0?k<<1:1,(k|0)<(qa|0)):0){if(!qa)j=0;else{c[6995]=(c[6995]|0)+1;j=sc((qa<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=c[b+16>>2]|0}if((k|0)>0){m=0;do{d=j+(m<<4)|0;e=(c[b+24>>2]|0)+(m<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];m=m+1|0}while((m|0)!=(k|0))}k=c[b+24>>2]|0;if(k|0){if(a[b+28>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=j;c[b+20>>2]=qa;j=c[b+16>>2]|0}else j=k;k=c[b+24>>2]|0;g[k+(j<<4)>>2]=i;g[k+(j<<4)+4>>2]=o;g[k+(j<<4)+8>>2]=p;g[k+(j<<4)+12>>2]=0.0;k=(c[b+16>>2]|0)+1|0;c[b+16>>2]=k;n=n+1|0}while((n|0)!=(u|0))}if((t|0)>-1)Mc(ta+1e3|0,O,M,b+12|0,b+32|0,K,oa,h)}if(a[b+52>>0]|0?(sa=c[h+4>>2]|0,c[sa+780>>2]|0):0){k=c[sa+772>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(m|0)){af(sa,k+4|0,j+4|0);break}else{af(sa,j+4|0,m+4|0);break}}}while(0);l=ta;return}while(0)}Dc(ta+48|0,ta+488|0,h,c[f+20>>2]|0,0);if((c[b+64>>2]|0?(c[(c[h+4>>2]|0)+780>>2]|0)<(c[b+68>>2]|0):0)?(K=+g[ta+48+4>>2],P=+g[ta+48+8>>2],Q=+g[ta+48+12>>2],K*K+P*P+Q*Q>1.1920928955078125e-07):0){J=1.0/(K*K+P*P+Q*Q);if(+C(+(Q*J))>.7071067690849304){I=1.0/+D(+(Q*J*Q*J+P*J*P*J));E=0.0;H=P*J*I;I=-(Q*J*I)}else{I=1.0/+D(+(K*J*K*J+P*J*P*J));E=-(P*J*I);H=0.0;I=K*J*I}B=+nb[c[(c[ra>>2]|0)+16>>2]&15](ra);z=+nb[c[(c[pa>>2]|0)+16>>2]&15](pa);i=.019999999552965164/(B<z?B:z);if(B<z){c[ta+1e3>>2]=c[ta+488>>2];c[ta+1e3+4>>2]=c[ta+488+4>>2];c[ta+1e3+8>>2]=c[ta+488+8>>2];c[ta+1e3+12>>2]=c[ta+488+12>>2];c[ta+1e3+16>>2]=c[n>>2];c[ta+1e3+16+4>>2]=c[n+4>>2];c[ta+1e3+16+8>>2]=c[n+8>>2];c[ta+1e3+16+12>>2]=c[n+12>>2];c[ta+1e3+32>>2]=c[s>>2];c[ta+1e3+32+4>>2]=c[s+4>>2];c[ta+1e3+32+8>>2]=c[s+8>>2];c[ta+1e3+32+12>>2]=c[s+12>>2];c[ta+1e3+48>>2]=c[t>>2];c[ta+1e3+48+4>>2]=c[t+4>>2];c[ta+1e3+48+8>>2]=c[t+8>>2];c[ta+1e3+48+12>>2]=c[t+12>>2]}else{c[ta+1e3>>2]=c[u>>2];c[ta+1e3+4>>2]=c[u+4>>2];c[ta+1e3+8>>2]=c[u+8>>2];c[ta+1e3+12>>2]=c[u+12>>2];c[ta+1e3+16>>2]=c[L>>2];c[ta+1e3+16+4>>2]=c[L+4>>2];c[ta+1e3+16+8>>2]=c[L+8>>2];c[ta+1e3+16+12>>2]=c[L+12>>2];c[ta+1e3+32>>2]=c[M>>2];c[ta+1e3+32+4>>2]=c[M+4>>2];c[ta+1e3+32+8>>2]=c[M+8>>2];c[ta+1e3+32+12>>2]=c[M+12>>2];c[ta+1e3+48>>2]=c[N>>2];c[ta+1e3+48+4>>2]=c[N+4>>2];c[ta+1e3+48+8>>2]=c[N+8>>2];c[ta+1e3+48+12>>2]=c[N+12>>2]}j=c[b+64>>2]|0;if((j|0)>0){A=E*E+I*I+H*H;y=(i>.39269909262657166?.39269909262657166:i)*.5;k=0;do{if(A>1.1920928955078125e-07){w=+G(+y)/+D(+A);r=E*w;v=I*w;w=H*w;x=+F(+y);q=+(k|0)*(6.2831854820251465/+(j|0))*.5;p=+G(+q)/+D(+(Q*J*Q*J+(K*J*K*J+P*J*P*J)));i=K*J*p;o=P*J*p;p=Q*J*p;q=+F(+q);if(B<z){ha=p*(r*-p+(v*q+x*-o)-w*-i)+(i*(x*q-r*-i-v*-o-w*-p)+q*(w*-o+(r*q+x*-i)-v*-p))-o*(v*-i+(w*q+x*-p)-r*-o);la=i*(v*-i+(w*q+x*-p)-r*-o)+(q*(r*-p+(v*q+x*-o)-w*-i)+o*(x*q-r*-i-v*-o-w*-p))-p*(w*-o+(r*q+x*-i)-v*-p);Y=o*(w*-o+(r*q+x*-i)-v*-p)+(p*(x*q-r*-i-v*-o-w*-p)+q*(v*-i+(w*q+x*-p)-r*-o))-i*(r*-p+(v*q+x*-o)-w*-i);fa=q*(x*q-r*-i-v*-o-w*-p)-i*(w*-o+(r*q+x*-i)-v*-p)-o*(r*-p+(v*q+x*-o)-w*-i)-p*(v*-i+(w*q+x*-p)-r*-o);ka=ha*(2.0/(fa*fa+(Y*Y+(ha*ha+la*la))));ma=la*(2.0/(fa*fa+(Y*Y+(ha*ha+la*la))));ea=Y*(2.0/(fa*fa+(Y*Y+(ha*ha+la*la))));sa=c[d+12>>2]|0;Z=+g[sa>>2];_=+g[sa+16>>2];$=+g[sa+32>>2];aa=+g[sa+4>>2];ba=+g[sa+20>>2];ca=+g[sa+36>>2];da=+g[sa+8>>2];ga=+g[sa+24>>2];oa=+g[sa+40>>2];g[ta+488>>2]=(1.0-(la*ma+Y*ea))*Z+(ha*ma-fa*ea)*_+(ha*ea+fa*ma)*$;g[ta+488+4>>2]=(1.0-(la*ma+Y*ea))*aa+(ha*ma-fa*ea)*ba+(ha*ea+fa*ma)*ca;g[ta+488+8>>2]=(1.0-(la*ma+Y*ea))*da+(ha*ma-fa*ea)*ga+(ha*ea+fa*ma)*oa;g[ta+488+12>>2]=0.0;g[ta+488+16>>2]=(ha*ma+fa*ea)*Z+(1.0-(ha*ka+Y*ea))*_+(la*ea-fa*ka)*$;g[ta+488+20>>2]=(ha*ma+fa*ea)*aa+(1.0-(ha*ka+Y*ea))*ba+(la*ea-fa*ka)*ca;g[ta+488+24>>2]=(ha*ma+fa*ea)*da+(1.0-(ha*ka+Y*ea))*ga+(la*ea-fa*ka)*oa;g[ta+488+28>>2]=0.0;g[ta+488+32>>2]=(ha*ea-fa*ma)*Z+(la*ea+fa*ka)*_+(1.0-(ha*ka+la*ma))*$;g[ta+488+36>>2]=(ha*ea-fa*ma)*aa+(la*ea+fa*ka)*ba+(1.0-(ha*ka+la*ma))*ca;g[ta+488+40>>2]=(ha*ea-fa*ma)*da+(la*ea+fa*ka)*ga+(1.0-(ha*ka+la*ma))*oa;g[ta+488+44>>2]=0.0;sa=c[e+12>>2]|0;c[u>>2]=c[sa>>2];c[u+4>>2]=c[sa+4>>2];c[u+8>>2]=c[sa+8>>2];c[u+12>>2]=c[sa+12>>2];c[L>>2]=c[sa+16>>2];c[L+4>>2]=c[sa+16+4>>2];c[L+8>>2]=c[sa+16+8>>2];c[L+12>>2]=c[sa+16+12>>2];c[M>>2]=c[sa+32>>2];c[M+4>>2]=c[sa+32+4>>2];c[M+8>>2]=c[sa+32+8>>2];c[M+12>>2]=c[sa+32+12>>2];c[N>>2]=c[sa+48>>2];c[N+4>>2]=c[sa+48+4>>2];c[N+8>>2]=c[sa+48+8>>2];c[N+12>>2]=c[sa+48+12>>2]}else{sa=c[d+12>>2]|0;c[ta+488>>2]=c[sa>>2];c[ta+488+4>>2]=c[sa+4>>2];c[ta+488+8>>2]=c[sa+8>>2];c[ta+488+12>>2]=c[sa+12>>2];c[n>>2]=c[sa+16>>2];c[n+4>>2]=c[sa+16+4>>2];c[n+8>>2]=c[sa+16+8>>2];c[n+12>>2]=c[sa+16+12>>2];c[s>>2]=c[sa+32>>2];c[s+4>>2]=c[sa+32+4>>2];c[s+8>>2]=c[sa+32+8>>2];c[s+12>>2]=c[sa+32+12>>2];c[t>>2]=c[sa+48>>2];c[t+4>>2]=c[sa+48+4>>2];c[t+8>>2]=c[sa+48+8>>2];c[t+12>>2]=c[sa+48+12>>2];ha=p*(r*-p+(v*q+x*-o)-w*-i)+(i*(x*q-r*-i-v*-o-w*-p)+q*(w*-o+(r*q+x*-i)-v*-p))-o*(v*-i+(w*q+x*-p)-r*-o);la=i*(v*-i+(w*q+x*-p)-r*-o)+(q*(r*-p+(v*q+x*-o)-w*-i)+o*(x*q-r*-i-v*-o-w*-p))-p*(w*-o+(r*q+x*-i)-v*-p);Y=o*(w*-o+(r*q+x*-i)-v*-p)+(p*(x*q-r*-i-v*-o-w*-p)+q*(v*-i+(w*q+x*-p)-r*-o))-i*(r*-p+(v*q+x*-o)-w*-i);fa=q*(x*q-r*-i-v*-o-w*-p)-i*(w*-o+(r*q+x*-i)-v*-p)-o*(r*-p+(v*q+x*-o)-w*-i)-p*(v*-i+(w*q+x*-p)-r*-o);ka=ha*(2.0/(fa*fa+(Y*Y+(ha*ha+la*la))));ma=la*(2.0/(fa*fa+(Y*Y+(ha*ha+la*la))));ea=Y*(2.0/(fa*fa+(Y*Y+(ha*ha+la*la))));sa=c[e+12>>2]|0;Z=+g[sa>>2];_=+g[sa+16>>2];$=+g[sa+32>>2];aa=+g[sa+4>>2];ba=+g[sa+20>>2];ca=+g[sa+36>>2];da=+g[sa+8>>2];ga=+g[sa+24>>2];oa=+g[sa+40>>2];g[ta+488+64>>2]=(1.0-(la*ma+Y*ea))*Z+(ha*ma-fa*ea)*_+(ha*ea+fa*ma)*$;g[ta+488+68>>2]=(1.0-(la*ma+Y*ea))*aa+(ha*ma-fa*ea)*ba+(ha*ea+fa*ma)*ca;g[ta+488+72>>2]=(1.0-(la*ma+Y*ea))*da+(ha*ma-fa*ea)*ga+(ha*ea+fa*ma)*oa;g[ta+488+76>>2]=0.0;g[ta+488+80>>2]=(ha*ma+fa*ea)*Z+(1.0-(ha*ka+Y*ea))*_+(la*ea-fa*ka)*$;g[ta+488+84>>2]=(ha*ma+fa*ea)*aa+(1.0-(ha*ka+Y*ea))*ba+(la*ea-fa*ka)*ca;g[ta+488+88>>2]=(ha*ma+fa*ea)*da+(1.0-(ha*ka+Y*ea))*ga+(la*ea-fa*ka)*oa;g[ta+488+92>>2]=0.0;g[ta+488+96>>2]=(ha*ea-fa*ma)*Z+(la*ea+fa*ka)*_+(1.0-(ha*ka+la*ma))*$;g[ta+488+100>>2]=(ha*ea-fa*ma)*aa+(la*ea+fa*ka)*ba+(1.0-(ha*ka+la*ma))*ca;g[ta+488+104>>2]=(ha*ea-fa*ma)*da+(la*ea+fa*ka)*ga+(1.0-(ha*ka+la*ma))*oa;g[ta+488+108>>2]=0.0}j=c[f+20>>2]|0;g[ta+760+32>>2]=0.0;c[ta+760>>2]=6484;c[ta+760+36>>2]=h;c[ta+760+40>>2]=c[ta+488>>2];c[ta+760+40+4>>2]=c[ta+488+4>>2];c[ta+760+40+8>>2]=c[ta+488+8>>2];c[ta+760+40+12>>2]=c[ta+488+12>>2];c[ta+760+56>>2]=c[n>>2];c[ta+760+56+4>>2]=c[n+4>>2];c[ta+760+56+8>>2]=c[n+8>>2];c[ta+760+56+12>>2]=c[n+12>>2];c[ta+760+72>>2]=c[s>>2];c[ta+760+72+4>>2]=c[s+4>>2];c[ta+760+72+8>>2]=c[s+8>>2];c[ta+760+72+12>>2]=c[s+12>>2];c[ta+760+88>>2]=c[t>>2];c[ta+760+88+4>>2]=c[t+4>>2];c[ta+760+88+8>>2]=c[t+8>>2];c[ta+760+88+12>>2]=c[t+12>>2];c[ta+760+104>>2]=c[u>>2];c[ta+760+104+4>>2]=c[u+4>>2];c[ta+760+104+8>>2]=c[u+8>>2];c[ta+760+104+12>>2]=c[u+12>>2];c[ta+760+120>>2]=c[L>>2];c[ta+760+120+4>>2]=c[L+4>>2];c[ta+760+120+8>>2]=c[L+8>>2];c[ta+760+120+12>>2]=c[L+12>>2];c[ta+760+136>>2]=c[M>>2];c[ta+760+136+4>>2]=c[M+4>>2];c[ta+760+136+8>>2]=c[M+8>>2];c[ta+760+136+12>>2]=c[M+12>>2];c[ta+760+152>>2]=c[N>>2];c[ta+760+152+4>>2]=c[N+4>>2];c[ta+760+152+8>>2]=c[N+8>>2];c[ta+760+152+12>>2]=c[N+12>>2];c[ta+760+168>>2]=c[ta+1e3>>2];c[ta+760+168+4>>2]=c[ta+1e3+4>>2];c[ta+760+168+8>>2]=c[ta+1e3+8>>2];c[ta+760+168+12>>2]=c[ta+1e3+12>>2];c[ta+760+184>>2]=c[ta+1e3+16>>2];c[ta+760+184+4>>2]=c[ta+1e3+16+4>>2];c[ta+760+184+8>>2]=c[ta+1e3+16+8>>2];c[ta+760+184+12>>2]=c[ta+1e3+16+12>>2];c[ta+760+200>>2]=c[ta+1e3+32>>2];c[ta+760+200+4>>2]=c[ta+1e3+32+4>>2];c[ta+760+200+8>>2]=c[ta+1e3+32+8>>2];c[ta+760+200+12>>2]=c[ta+1e3+32+12>>2];c[ta+760+216>>2]=c[ta+1e3+48>>2];c[ta+760+216+4>>2]=c[ta+1e3+48+4>>2];c[ta+760+216+8>>2]=c[ta+1e3+48+8>>2];c[ta+760+216+12>>2]=c[ta+1e3+48+12>>2];a[ta+760+232>>0]=B<z&1;c[ta+760+236>>2]=j;Dc(ta+48|0,ta+488|0,ta+760|0,j,0);j=c[b+64>>2]|0}k=k+1|0}while((k|0)<(j|0))}}if(!(a[b+52>>0]|0)){l=ta;return}k=c[h+4>>2]|0;if(!(c[k+780>>2]|0)){l=ta;return}m=c[k+772>>2]|0;n=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((m|0)==(n|0)){af(k,m+4|0,j+4|0);l=ta;return}else{af(k,j+4|0,n+4|0);l=ta;return}}function fc(b){b=b|0;var d=0,e=0,f=0,h=0,i=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.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.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0;W=l;l=l+176|0;ci(b);if(!(xb[c[(c[b>>2]|0)+20>>2]&127](b)|0)){l=W;return}if((c[b+348>>2]|0)<=0){l=W;return}Q=W+96+32|0;R=W+96+52|0;N=0;do{S=c[(c[b+356>>2]|0)+(N<<2)>>2]|0;if(xb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(M=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(xb[c[(c[M>>2]|0)+56>>2]&127](M)|0)&1|0):0){e=c[b+72>>2]|0;if(!(a[S+533>>0]|0))M=e;else{c[W+80>>2]=c[S+580>>2];c[W+80+4>>2]=c[S+580+4>>2];c[W+80+8>>2]=c[S+580+8>>2];c[W+80+12>>2]=c[S+580+12>>2];i=+g[S+644>>2];k=+g[S+596>>2];m=+g[S+660>>2];s=+g[S+600>>2];t=+g[S+676>>2];u=+g[S+604>>2];v=+g[S+648>>2];w=+g[S+664>>2];x=+g[S+680>>2];y=+g[S+652>>2];z=+g[S+668>>2];A=+g[S+684>>2];B=+g[S+612>>2];C=+g[S+616>>2];E=+g[S+620>>2];F=+g[S+628>>2];G=+g[S+632>>2];H=+g[S+636>>2];ga=i*k+m*s+t*u+(k*v+s*w+u*x)*0.0+(k*y+s*z+u*A)*0.0;ea=(y*B+z*C+A*E)*0.0+(i*B+m*C+t*E+(v*B+w*C+x*E)*0.0);da=(y*F+z*G+A*H)*0.0+(i*F+m*G+t*H+(v*F+w*G+x*H)*0.0);fa=1.0/+D(+(ga*ga+ea*ea+da*da));ca=(i*k+m*s+t*u)*0.0+(k*v+s*w+u*x)+(k*y+s*z+u*A)*0.0;aa=(y*B+z*C+A*E)*0.0+(v*B+w*C+x*E+(i*B+m*C+t*E)*0.0);$=(y*F+z*G+A*H)*0.0+(v*F+w*G+x*H+(i*F+m*G+t*H)*0.0);ba=1.0/+D(+(ca*ca+aa*aa+$*$));_=(i*k+m*s+t*u)*0.0+(k*v+s*w+u*x)*0.0+(k*y+s*z+u*A);Y=y*B+z*C+A*E+((i*B+m*C+t*E)*0.0+(v*B+w*C+x*E)*0.0);X=y*F+z*G+A*H+((i*F+m*G+t*H)*0.0+(v*F+w*G+x*H)*0.0);Z=1.0/+D(+(_*_+Y*Y+X*X));M=c[(c[e>>2]|0)+16>>2]|0;ea=ea*fa*10.0+ +g[W+80+4>>2];da=fa*da*10.0+ +g[W+80+8>>2];g[W+160>>2]=ga*fa*10.0+ +g[W+80>>2];g[W+160+4>>2]=ea;g[W+160+8>>2]=da;g[W+160+12>>2]=0.0;c[W+96>>2]=1065353216;c[W+96+4>>2]=0;c[W+96+8>>2]=0;g[W+96+12>>2]=0.0;Vb[M&127](e,W+80|0,W+160|0,W+96|0);M=c[(c[e>>2]|0)+16>>2]|0;aa=aa*ba*10.0+ +g[W+80+4>>2];$=ba*$*10.0+ +g[W+80+8>>2];g[W+160>>2]=ca*ba*10.0+ +g[W+80>>2];g[W+160+4>>2]=aa;g[W+160+8>>2]=$;g[W+160+12>>2]=0.0;c[W+96>>2]=0;c[W+96+4>>2]=1065353216;c[W+96+8>>2]=0;g[W+96+12>>2]=0.0;Vb[M&127](e,W+80|0,W+160|0,W+96|0);M=c[(c[e>>2]|0)+16>>2]|0;Y=Y*Z*10.0+ +g[W+80+4>>2];X=Z*X*10.0+ +g[W+80+8>>2];g[W+160>>2]=_*Z*10.0+ +g[W+80>>2];g[W+160+4>>2]=Y;g[W+160+8>>2]=X;g[W+160+12>>2]=0.0;c[W+96>>2]=0;c[W+96+4>>2]=0;c[W+96+8>>2]=1065353216;g[W+96+12>>2]=0.0;Vb[M&127](e,W+80|0,W+160|0,W+96|0);if((c[S+544>>2]|0)>0){d=0;do{M=c[S+552>>2]|0;ca=+g[M+(d<<4)>>2];da=+g[M+(d<<4)+4>>2];ga=+g[M+(d<<4)+8>>2];ea=+g[W+80>>2]+((i*k+m*s+t*u)*ca+(k*v+s*w+u*x)*da+(k*y+s*z+u*A)*ga);fa=+g[W+80+4>>2]+((i*B+m*C+t*E)*ca+(v*B+w*C+x*E)*da+(y*B+z*C+A*E)*ga);ga=(i*F+m*G+t*H)*ca+(v*F+w*G+x*H)*da+(y*F+z*G+A*H)*ga+ +g[W+80+8>>2];c[W+64>>2]=1065353216;c[W+64+4>>2]=0;c[W+64+8>>2]=1065353216;g[W+64+12>>2]=0.0;M=c[(c[e>>2]|0)+16>>2]|0;g[W+160>>2]=ea+-.10000000149011612;g[W+160+4>>2]=fa;g[W+160+8>>2]=ga;g[W+160+12>>2]=0.0;g[W+96>>2]=ea+.10000000149011612;g[W+96+4>>2]=fa+0.0;g[W+96+8>>2]=ga+0.0;g[W+96+12>>2]=0.0;Vb[M&127](e,W+160|0,W+96|0,W+64|0);M=c[(c[e>>2]|0)+16>>2]|0;g[W+160>>2]=ea;g[W+160+4>>2]=fa+-.10000000149011612;g[W+160+8>>2]=ga;g[W+160+12>>2]=0.0;g[W+96>>2]=ea+0.0;g[W+96+4>>2]=fa+.10000000149011612;g[W+96+8>>2]=ga+0.0;g[W+96+12>>2]=0.0;Vb[M&127](e,W+160|0,W+96|0,W+64|0);M=c[(c[e>>2]|0)+16>>2]|0;g[W+160>>2]=ea;g[W+160+4>>2]=fa;g[W+160+8>>2]=ga+-.10000000149011612;g[W+160+12>>2]=0.0;g[W+96>>2]=ea+0.0;g[W+96+4>>2]=fa+0.0;g[W+96+8>>2]=ga+.10000000149011612;g[W+96+12>>2]=0.0;Vb[M&127](e,W+160|0,W+96|0,W+64|0);d=d+1|0}while((d|0)<(c[S+544>>2]|0))}M=c[b+72>>2]|0}L=c[b+364>>2]|0;c[W+80>>2]=0;c[W+80+4>>2]=0;c[W+80+8>>2]=0;c[W+80+12>>2]=0;c[W+64>>2]=1065353216;c[W+64+4>>2]=1065353216;c[W+64+8>>2]=1065353216;g[W+64+12>>2]=0.0;c[W+48>>2]=1065353216;c[W+48+4>>2]=0;c[W+48+8>>2]=0;g[W+48+12>>2]=0.0;if(!(L&256)){if(L&1|0?(T=c[S+772>>2]|0,(T|0)>0):0){f=0;d=T;do{e=c[S+780>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){d=c[(c[M>>2]|0)+16>>2]|0;K=e+(f*104|0)+8|0;I=e+(f*104|0)+12|0;q=c[I>>2]|0;J=e+(f*104|0)+16|0;r=c[J>>2]|0;g[W+160>>2]=+g[K>>2]+-.10000000149011612;c[W+160+4>>2]=q;c[W+160+8>>2]=r;g[W+160+12>>2]=0.0;fa=+g[I>>2]+0.0;ga=+g[J>>2]+0.0;g[W+96>>2]=+g[K>>2]+.10000000149011612;g[W+96+4>>2]=fa;g[W+96+8>>2]=ga;g[W+96+12>>2]=0.0;c[W+32>>2]=1065353216;c[W+32+4>>2]=0;c[W+32+8>>2]=0;g[W+32+12>>2]=0.0;Vb[d&127](M,W+160|0,W+96|0,W+32|0);d=c[(c[M>>2]|0)+16>>2]|0;ga=+g[I>>2]+-.10000000149011612;r=c[J>>2]|0;c[W+160>>2]=c[K>>2];g[W+160+4>>2]=ga;c[W+160+8>>2]=r;g[W+160+12>>2]=0.0;ga=+g[I>>2]+.10000000149011612;fa=+g[J>>2]+0.0;g[W+96>>2]=+g[K>>2]+0.0;g[W+96+4>>2]=ga;g[W+96+8>>2]=fa;g[W+96+12>>2]=0.0;c[W+32>>2]=0;c[W+32+4>>2]=1065353216;c[W+32+8>>2]=0;g[W+32+12>>2]=0.0;Vb[d&127](M,W+160|0,W+96|0,W+32|0);d=c[(c[M>>2]|0)+16>>2]|0;r=c[I>>2]|0;fa=+g[J>>2]+-.10000000149011612;c[W+160>>2]=c[K>>2];c[W+160+4>>2]=r;g[W+160+8>>2]=fa;g[W+160+12>>2]=0.0;fa=+g[I>>2]+0.0;ga=+g[J>>2]+.10000000149011612;g[W+96>>2]=+g[K>>2]+0.0;g[W+96+4>>2]=fa;g[W+96+8>>2]=ga;g[W+96+12>>2]=0.0;c[W+32>>2]=0;c[W+32+4>>2]=0;c[W+32+8>>2]=1065353216;g[W+32+12>>2]=0.0;Vb[d&127](M,W+160|0,W+96|0,W+32|0);d=c[S+772>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(L&2|0?(U=c[S+792>>2]|0,(U|0)>0):0){f=0;d=U;do{e=c[S+800>>2]|0;if(c[(c[e+(f*52|0)+4>>2]|0)+16>>2]&1){Vb[c[(c[M>>2]|0)+16>>2]&127](M,(c[e+(f*52|0)+24>>2]|0)+8|0,(c[e+(f*52|0)+28>>2]|0)+8|0,W+80|0);d=c[S+792>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(L&16|0?(V=c[S+772>>2]|0,(V|0)>0):0){f=0;d=V;do{e=c[S+780>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){ea=+g[e+(f*104|0)+72>>2]*.5;ga=+g[e+(f*104|0)+76>>2]*.5;fa=+g[e+(f*104|0)+80>>2]*.5;K=c[(c[M>>2]|0)+16>>2]|0;d=e+(f*104|0)+8|0;I=e+(f*104|0)+12|0;ca=ga+ +g[I>>2];J=e+(f*104|0)+16|0;da=fa+ +g[J>>2];g[W+160>>2]=ea+ +g[d>>2];g[W+160+4>>2]=ca;g[W+160+8>>2]=da;g[W+160+12>>2]=0.0;Vb[K&127](M,d,W+160|0,W+64|0);K=c[(c[M>>2]|0)+16>>2]|0;ga=+g[I>>2]-ga;fa=+g[J>>2]-fa;g[W+160>>2]=+g[d>>2]-ea;g[W+160+4>>2]=ga;g[W+160+8>>2]=fa;g[W+160+12>>2]=0.0;fa=+g[W+64+4>>2]*.5;ga=+g[W+64+8>>2]*.5;g[W+96>>2]=+g[W+64>>2]*.5;g[W+96+4>>2]=fa;g[W+96+8>>2]=ga;g[W+96+12>>2]=0.0;Vb[K&127](M,d,W+160|0,W+96|0);d=c[S+772>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(L&32|0){if((a[22472]|0)==0?Uz(22472)|0:0){c[5774]=1065353216;c[5775]=0;c[5776]=0;c[5777]=0;c[5778]=0;c[5779]=1065353216;c[5780]=0;c[5781]=0;c[5782]=0;c[5783]=0;c[5784]=1065353216;g[5785]=0.0}if((c[S+872>>2]|0)>0){d=0;do{K=c[S+880>>2]|0;I=c[K+(d*104|0)+24>>2]|0;B=+g[I+8>>2];J=K+(d*104|0)+4|0;C=+g[J>>2];G=+g[I+12>>2];r=K+(d*104|0)+8|0;H=+g[r>>2];fa=+g[I+16>>2];I=K+(d*104|0)+12|0;da=+g[I>>2];ba=+g[K+(d*104|0)+20>>2]+(B*C+G*H+fa*da);g[W+160>>2]=B-C*ba;g[W+160+4>>2]=G-H*ba;g[W+160+8>>2]=fa-da*ba;g[W+160+12>>2]=0.0;X=+g[J>>2];Z=+g[r>>2];E=+g[I>>2];K=+g[K+(d*104|0)+4+((!(X<Z)&1)<<2)>>2]<E?!(X<Z)&1:2;F=+g[23096+(K<<4)+8>>2];Y=+g[23096+(K<<4)+4>>2];_=+g[23096+(K<<4)>>2];$=1.0/+D(+((X*Y-Z*_)*(X*Y-Z*_)+((Z*F-E*Y)*(Z*F-E*Y)+(E*_-X*F)*(E*_-X*F))));aa=E*(E*_-X*F)*$-Z*(X*Y-Z*_)*$;ca=X*(X*Y-Z*_)*$-E*(Z*F-E*Y)*$;ga=Z*(Z*F-E*Y)*$-X*(E*_-X*F)*$;ea=1.0/+D(+(ga*ga+(aa*aa+ca*ca)));K=c[(c[M>>2]|0)+16>>2]|0;g[W+96>>2]=B-C*ba-(Z*F-E*Y)*$*.5;g[W+96+4>>2]=G-H*ba-(E*_-X*F)*$*.5;g[W+96+8>>2]=fa-da*ba-(X*Y-Z*_)*$*.5;g[W+96+12>>2]=0.0;g[W+32>>2]=(Z*F-E*Y)*$*.5+(B-C*ba);g[W+32+4>>2]=(E*_-X*F)*$*.5+(G-H*ba);g[W+32+8>>2]=(X*Y-Z*_)*$*.5+(fa-da*ba);g[W+32+12>>2]=0.0;Vb[K&127](M,W+96|0,W+32|0,W+48|0);K=c[(c[M>>2]|0)+16>>2]|0;ba=+g[W+160>>2];da=+g[W+160+4>>2];fa=+g[W+160+8>>2];g[W+96>>2]=ba-ea*aa*.5;g[W+96+4>>2]=da-ea*ca*.5;g[W+96+8>>2]=fa-ea*ga*.5;g[W+96+12>>2]=0.0;g[W+32>>2]=ea*aa*.5+ba;g[W+32+4>>2]=ea*ca*.5+da;g[W+32+8>>2]=ea*ga*.5+fa;g[W+32+12>>2]=0.0;Vb[K&127](M,W+96|0,W+32|0,W+48|0);K=c[(c[M>>2]|0)+16>>2]|0;fa=+g[r>>2]*.5*3.0+ +g[W+160+4>>2];ga=+g[I>>2]*.5*3.0+ +g[W+160+8>>2];g[W+96>>2]=+g[J>>2]*.5*3.0+ +g[W+160>>2];g[W+96+4>>2]=fa;g[W+96+8>>2]=ga;g[W+96+12>>2]=0.0;c[W+32>>2]=1065353216;c[W+32+4>>2]=1065353216;c[W+32+8>>2]=0;g[W+32+12>>2]=0.0;Vb[K&127](M,W+160|0,W+96|0,W+32|0);d=d+1|0}while((d|0)<(c[S+872>>2]|0))}}if(L&4|0?(c[W+160>>2]=0,c[W+160+4>>2]=1060320051,c[W+160+8>>2]=0,g[W+160+12>>2]=0.0,O=c[S+812>>2]|0,(O|0)>0):0){f=0;d=O;do{e=c[S+820>>2]|0;if(c[(c[e+(f*44|0)+4>>2]|0)+16>>2]&1){d=c[e+(f*44|0)+8>>2]|0;_=+g[d+8>>2];ba=+g[d+12>>2];ea=+g[d+16>>2];d=c[e+(f*44|0)+12>>2]|0;$=+g[d+8>>2];ca=+g[d+12>>2];fa=+g[d+16>>2];d=c[e+(f*44|0)+16>>2]|0;aa=+g[d+8>>2];da=+g[d+12>>2];ga=+g[d+16>>2];d=c[(c[M>>2]|0)+36>>2]|0;g[W+96>>2]=(_+$+aa)*.3333333432674408+(_-(_+$+aa)*.3333333432674408)*.800000011920929;g[W+96+4>>2]=(ba+ca+da)*.3333333432674408+(ba-(ba+ca+da)*.3333333432674408)*.800000011920929;g[W+96+8>>2]=(ea+fa+ga)*.3333333432674408+(ea-(ea+fa+ga)*.3333333432674408)*.800000011920929;g[W+96+12>>2]=0.0;g[W+32>>2]=(_+$+aa)*.3333333432674408+($-(_+$+aa)*.3333333432674408)*.800000011920929;g[W+32+4>>2]=(ba+ca+da)*.3333333432674408+(ca-(ba+ca+da)*.3333333432674408)*.800000011920929;g[W+32+8>>2]=(ea+fa+ga)*.3333333432674408+(fa-(ea+fa+ga)*.3333333432674408)*.800000011920929;g[W+32+12>>2]=0.0;g[W+16>>2]=(_+$+aa)*.3333333432674408+(aa-(_+$+aa)*.3333333432674408)*.800000011920929;g[W+16+4>>2]=(ba+ca+da)*.3333333432674408+(da-(ba+ca+da)*.3333333432674408)*.800000011920929;g[W+16+8>>2]=(ea+fa+ga)*.3333333432674408+(ga-(ea+fa+ga)*.3333333432674408)*.800000011920929;g[W+16+12>>2]=0.0;_b[d&0](M,W+96|0,W+32|0,W+16|0,W+160|0,1.0);d=c[S+812>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(L&8|0?(c[W+160>>2]=1050253722,c[W+160+4>>2]=1050253722,c[W+160+8>>2]=1060320051,g[W+160+12>>2]=0.0,P=c[S+832>>2]|0,(P|0)>0):0){f=0;d=P;do{e=c[S+840>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){d=c[e+(f*104|0)+8>>2]|0;y=+g[d+8>>2];B=+g[d+12>>2];F=+g[d+16>>2];d=c[e+(f*104|0)+12>>2]|0;z=+g[d+8>>2];C=+g[d+12>>2];G=+g[d+16>>2];d=c[e+(f*104|0)+16>>2]|0;A=+g[d+8>>2];E=+g[d+12>>2];H=+g[d+16>>2];d=c[e+(f*104|0)+20>>2]|0;ea=+g[d+8>>2];fa=+g[d+12>>2];ga=+g[d+16>>2];d=c[(c[M>>2]|0)+36>>2]|0;ba=(y+z+A+ea)*.25+(y-(y+z+A+ea)*.25)*.800000011920929;ca=(B+C+E+fa)*.25+(B-(B+C+E+fa)*.25)*.800000011920929;da=(F+G+H+ga)*.25+(F-(F+G+H+ga)*.25)*.800000011920929;g[W+96>>2]=ba;g[W+96+4>>2]=ca;g[W+96+8>>2]=da;g[W+96+12>>2]=0.0;X=(y+z+A+ea)*.25+(z-(y+z+A+ea)*.25)*.800000011920929;Y=(B+C+E+fa)*.25+(C-(B+C+E+fa)*.25)*.800000011920929;Z=(F+G+H+ga)*.25+(G-(F+G+H+ga)*.25)*.800000011920929;g[W+32>>2]=X;g[W+32+4>>2]=Y;g[W+32+8>>2]=Z;g[W+32+12>>2]=0.0;_=(y+z+A+ea)*.25+(A-(y+z+A+ea)*.25)*.800000011920929;$=(B+C+E+fa)*.25+(E-(B+C+E+fa)*.25)*.800000011920929;aa=(F+G+H+ga)*.25+(H-(F+G+H+ga)*.25)*.800000011920929;g[W+16>>2]=_;g[W+16+4>>2]=$;g[W+16+8>>2]=aa;g[W+16+12>>2]=0.0;_b[d&0](M,W+96|0,W+32|0,W+16|0,W+160|0,1.0);d=c[(c[M>>2]|0)+36>>2]|0;g[W+96>>2]=ba;g[W+96+4>>2]=ca;g[W+96+8>>2]=da;g[W+96+12>>2]=0.0;g[W+32>>2]=X;g[W+32+4>>2]=Y;g[W+32+8>>2]=Z;g[W+32+12>>2]=0.0;ea=(y+z+A+ea)*.25+(ea-(y+z+A+ea)*.25)*.800000011920929;fa=(B+C+E+fa)*.25+(fa-(B+C+E+fa)*.25)*.800000011920929;ga=(F+G+H+ga)*.25+(ga-(F+G+H+ga)*.25)*.800000011920929;g[W+16>>2]=ea;g[W+16+4>>2]=fa;g[W+16+8>>2]=ga;g[W+16+12>>2]=0.0;_b[d&0](M,W+96|0,W+32|0,W+16|0,W+160|0,1.0);d=c[(c[M>>2]|0)+36>>2]|0;g[W+96>>2]=X;g[W+96+4>>2]=Y;g[W+96+8>>2]=Z;g[W+96+12>>2]=0.0;g[W+32>>2]=_;g[W+32+4>>2]=$;g[W+32+8>>2]=aa;g[W+32+12>>2]=0.0;g[W+16>>2]=ea;g[W+16+4>>2]=fa;g[W+16+8>>2]=ga;g[W+16+12>>2]=0.0;_b[d&0](M,W+96|0,W+32|0,W+16|0,W+160|0,1.0);d=c[(c[M>>2]|0)+36>>2]|0;g[W+96>>2]=_;g[W+96+4>>2]=$;g[W+96+8>>2]=aa;g[W+96+12>>2]=0.0;g[W+32>>2]=ba;g[W+32+4>>2]=ca;g[W+32+8>>2]=da;g[W+32+12>>2]=0.0;g[W+16>>2]=ea;g[W+16+4>>2]=fa;g[W+16+8>>2]=ga;g[W+16+12>>2]=0.0;_b[d&0](M,W+96|0,W+32|0,W+16|0,W+160|0,1.0);d=c[S+832>>2]|0}f=f+1|0}while((f|0)<(d|0))}}else{LI();d=c[S+1112>>2]|0;if((d|0)>0){K=0;do{if(a[(c[(c[S+1120>>2]|0)+(K<<2)>>2]|0)+377>>0]|0){da=+(rs()|0)*4.656612873077393e-10;ea=+(rs()|0)*4.656612873077393e-10;fa=+(rs()|0)*4.656612873077393e-10;ga=1.0/+D(+(fa*fa+(da*da+ea*ea)));g[W+160>>2]=da*ga*.75;g[W+160+4>>2]=ea*ga*.75;g[W+160+8>>2]=fa*ga*.75;g[W+160+12>>2]=0.0;f=c[(c[(c[S+1120>>2]|0)+(K<<2)>>2]|0)+24>>2]|0;if((f|0)>0){c[6995]=(c[6995]|0)+1;d=sc((f<<4|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=0;do{J=e+(d<<4)|0;c[J>>2]=c[W+96>>2];c[J+4>>2]=c[W+96+4>>2];c[J+8>>2]=c[W+96+8>>2];c[J+12>>2]=c[W+96+12>>2];d=d+1|0}while((d|0)!=(f|0));d=0;do{I=(c[(c[(c[(c[S+1120>>2]|0)+(K<<2)>>2]|0)+32>>2]|0)+(d<<2)>>2]|0)+8|0;J=e+(d<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];d=d+1|0}while((d|0)!=(f|0));J=e;I=e}else{J=0;I=0}a[W+96+16>>0]=1;c[W+96+12>>2]=0;c[W+96+4>>2]=0;c[W+96+8>>2]=0;a[W+96+36>>0]=1;c[Q>>2]=0;c[W+96+24>>2]=0;c[W+96+28>>2]=0;a[W+96+56>>0]=1;c[R>>2]=0;c[W+96+44>>2]=0;c[W+96+48>>2]=0;uc(W+96|0,I,f);q=c[W+96+44>>2]|0;if((q|0)>0){o=c[Q>>2]|0;n=0;do{r=c[(c[R>>2]|0)+(n<<2)>>2]|0;e=c[o+(r*12|0)+4>>2]|0;d=o+(r*12|0)+(e*12|0)+((c[o+(r*12|0)+(e*12|0)>>2]|0)*12|0)|0;if((d|0)!=(o+(r*12|0)|0)){p=c[W+96+12>>2]|0;e=c[o+(r*12|0)+(e*12|0)+8>>2]|0;f=c[o+(r*12|0)+8>>2]|0;while(1){h=c[d+8>>2]|0;_b[c[(c[M>>2]|0)+36>>2]&0](M,p+(e<<4)|0,p+(f<<4)|0,p+(h<<4)|0,W+160|0,1.0);e=d+((c[d+4>>2]|0)*12|0)|0;d=e+((c[e>>2]|0)*12|0)|0;if((d|0)==(o+(r*12|0)|0))break;else{e=f;f=h}}}n=n+1|0}while((n|0)<(q|0))}d=c[R>>2]|0;if(d|0){if(a[W+96+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[R>>2]=0}a[W+96+56>>0]=1;c[R>>2]=0;c[W+96+44>>2]=0;c[W+96+48>>2]=0;d=c[Q>>2]|0;if(d|0){if(a[W+96+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[Q>>2]=0}a[W+96+36>>0]=1;c[Q>>2]=0;c[W+96+24>>2]=0;c[W+96+28>>2]=0;d=c[W+96+12>>2]|0;if(d|0){if(a[W+96+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[W+96+12>>2]=0}if(!((J|0)==0|(I|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[I+-4>>2]|0)}d=c[S+1112>>2]|0}K=K+1|0}while((K|0)<(d|0))}}if(L&64|0){if((c[S+852>>2]|0)>0){d=0;do{K=c[S+860>>2]|0;q=c[K+(d*96|0)+20>>2]|0;ca=+g[K+(d*96|0)+4>>2];da=+g[K+(d*96|0)+8>>2];ea=+g[K+(d*96|0)+12>>2];fa=ca*+g[q+20>>2]+da*+g[q+24>>2]+ea*+g[q+28>>2]+ +g[q+56>>2];ga=ca*+g[q+36>>2]+da*+g[q+40>>2]+ea*+g[q+44>>2]+ +g[q+60>>2];g[W+32>>2]=ca*+g[q+4>>2]+da*+g[q+8>>2]+ea*+g[q+12>>2]+ +g[q+52>>2];g[W+32+4>>2]=fa;g[W+32+8>>2]=ga;g[W+32+12>>2]=0.0;K=K+(d*96|0)|0;q=c[K>>2]|0;c[W+16>>2]=1065353216;c[W+16+4>>2]=0;c[W+16+8>>2]=0;g[W+16+12>>2]=0.0;J=c[(c[M>>2]|0)+16>>2]|0;ga=+g[q+8>>2];I=c[q+12>>2]|0;r=c[q+16>>2]|0;g[W+160>>2]=ga+-.25;c[W+160+4>>2]=I;c[W+160+8>>2]=r;g[W+160+12>>2]=0.0;fa=(c[j>>2]=I,+g[j>>2])+0.0;ea=(c[j>>2]=r,+g[j>>2])+0.0;g[W+96>>2]=ga+.25;g[W+96+4>>2]=fa;g[W+96+8>>2]=ea;g[W+96+12>>2]=0.0;Vb[J&127](M,W+160|0,W+96|0,W+16|0);J=c[(c[M>>2]|0)+16>>2]|0;r=c[q+8>>2]|0;ea=+g[q+12>>2];I=c[q+16>>2]|0;c[W+160>>2]=r;g[W+160+4>>2]=ea+-.25;c[W+160+8>>2]=I;g[W+160+12>>2]=0.0;fa=(c[j>>2]=r,+g[j>>2])+0.0;ga=(c[j>>2]=I,+g[j>>2])+0.0;g[W+96>>2]=fa;g[W+96+4>>2]=ea+.25;g[W+96+8>>2]=ga;g[W+96+12>>2]=0.0;Vb[J&127](M,W+160|0,W+96|0,W+16|0);J=c[(c[M>>2]|0)+16>>2]|0;I=c[q+8>>2]|0;r=c[q+12>>2]|0;ga=+g[q+16>>2];c[W+160>>2]=I;c[W+160+4>>2]=r;g[W+160+8>>2]=ga+-.25;g[W+160+12>>2]=0.0;ea=(c[j>>2]=I,+g[j>>2])+0.0;fa=(c[j>>2]=r,+g[j>>2])+0.0;g[W+96>>2]=ea;g[W+96+4>>2]=fa;g[W+96+8>>2]=ga+.25;g[W+96+12>>2]=0.0;Vb[J&127](M,W+160|0,W+96|0,W+16|0);c[W+16>>2]=0;c[W+16+4>>2]=1065353216;c[W+16+8>>2]=0;g[W+16+12>>2]=0.0;J=c[(c[M>>2]|0)+16>>2]|0;ga=+g[W+32>>2];r=c[W+32+4>>2]|0;I=c[W+32+8>>2]|0;g[W+160>>2]=ga+-.25;c[W+160+4>>2]=r;c[W+160+8>>2]=I;g[W+160+12>>2]=0.0;fa=(c[j>>2]=r,+g[j>>2])+0.0;ea=(c[j>>2]=I,+g[j>>2])+0.0;g[W+96>>2]=ga+.25;g[W+96+4>>2]=fa;g[W+96+8>>2]=ea;g[W+96+12>>2]=0.0;Vb[J&127](M,W+160|0,W+96|0,W+16|0);J=c[(c[M>>2]|0)+16>>2]|0;I=c[W+32>>2]|0;ea=+g[W+32+4>>2];r=c[W+32+8>>2]|0;c[W+160>>2]=I;g[W+160+4>>2]=ea+-.25;c[W+160+8>>2]=r;g[W+160+12>>2]=0.0;fa=(c[j>>2]=I,+g[j>>2])+0.0;ga=(c[j>>2]=r,+g[j>>2])+0.0;g[W+96>>2]=fa;g[W+96+4>>2]=ea+.25;g[W+96+8>>2]=ga;g[W+96+12>>2]=0.0;Vb[J&127](M,W+160|0,W+96|0,W+16|0);J=c[(c[M>>2]|0)+16>>2]|0;r=c[W+32>>2]|0;I=c[W+32+4>>2]|0;ga=+g[W+32+8>>2];c[W+160>>2]=r;c[W+160+4>>2]=I;g[W+160+8>>2]=ga+-.25;g[W+160+12>>2]=0.0;ea=(c[j>>2]=r,+g[j>>2])+0.0;fa=(c[j>>2]=I,+g[j>>2])+0.0;g[W+96>>2]=ea;g[W+96+4>>2]=fa;g[W+96+8>>2]=ga+.25;g[W+96+12>>2]=0.0;Vb[J&127](M,W+160|0,W+96|0,W+16|0);J=c[(c[M>>2]|0)+16>>2]|0;K=(c[K>>2]|0)+8|0;c[W+160>>2]=1065353216;c[W+160+4>>2]=1065353216;c[W+160+8>>2]=1065353216;g[W+160+12>>2]=0.0;Vb[J&127](M,K,W+32|0,W+160|0);d=d+1|0}while((d|0)<(c[S+852>>2]|0))}d=c[S+772>>2]|0;if((d|0)>0){f=0;do{e=c[S+780>>2]|0;if((c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1|0)!=0?+g[e+(f*104|0)+88>>2]<=0.0:0){J=e+(f*104|0)+8|0;c[W+32>>2]=1065353216;c[W+32+4>>2]=0;c[W+32+8>>2]=0;g[W+32+12>>2]=0.0;d=c[(c[M>>2]|0)+16>>2]|0;ga=+g[J>>2];K=e+(f*104|0)+12|0;r=c[K>>2]|0;I=e+(f*104|0)+16|0;q=c[I>>2]|0;g[W+160>>2]=ga+-.25;c[W+160+4>>2]=r;c[W+160+8>>2]=q;g[W+160+12>>2]=0.0;fa=(c[j>>2]=r,+g[j>>2])+0.0;ea=(c[j>>2]=q,+g[j>>2])+0.0;g[W+96>>2]=ga+.25;g[W+96+4>>2]=fa;g[W+96+8>>2]=ea;g[W+96+12>>2]=0.0;Vb[d&127](M,W+160|0,W+96|0,W+32|0);d=c[(c[M>>2]|0)+16>>2]|0;q=c[J>>2]|0;ea=+g[K>>2];r=c[I>>2]|0;c[W+160>>2]=q;g[W+160+4>>2]=ea+-.25;c[W+160+8>>2]=r;g[W+160+12>>2]=0.0;fa=(c[j>>2]=q,+g[j>>2])+0.0;ga=(c[j>>2]=r,+g[j>>2])+0.0;g[W+96>>2]=fa;g[W+96+4>>2]=ea+.25;g[W+96+8>>2]=ga;g[W+96+12>>2]=0.0;Vb[d&127](M,W+160|0,W+96|0,W+32|0);d=c[(c[M>>2]|0)+16>>2]|0;J=c[J>>2]|0;K=c[K>>2]|0;ga=+g[I>>2];c[W+160>>2]=J;c[W+160+4>>2]=K;g[W+160+8>>2]=ga+-.25;g[W+160+12>>2]=0.0;ea=(c[j>>2]=J,+g[j>>2])+0.0;fa=(c[j>>2]=K,+g[j>>2])+0.0;g[W+96>>2]=ea;g[W+96+4>>2]=fa;g[W+96+8>>2]=ga+.25;g[W+96+12>>2]=0.0;Vb[d&127](M,W+160|0,W+96|0,W+32|0);d=c[S+772>>2]|0}f=f+1|0}while((f|0)<(d|0))}}if(L&128|0?(c[S+752>>2]|0)>0:0){e=0;do{f=c[S+760>>2]|0;h=f+(e*60|0)+8|0;c[W+160>>2]=c[h>>2];c[W+160+4>>2]=c[h+4>>2];c[W+160+8>>2]=c[h+8>>2];c[W+160+12>>2]=c[h+12>>2];h=c[f+(e*60|0)+24>>2]|0;if((h|0)>0){d=0;i=+g[W+160>>2];k=+g[W+160+4>>2];m=+g[W+160+8>>2];do{K=c[f+(e*60|0)+28+(d<<2)>>2]|0;ga=+g[f+(e*60|0)+44+(d<<2)>>2];i=+g[K+8>>2]*ga+i;k=ga*+g[K+12>>2]+k;m=ga*+g[K+16>>2]+m;g[W+160+8>>2]=m;d=d+1|0}while((d|0)!=(h|0));g[W+160>>2]=i;g[W+160+4>>2]=k}Sb[c[(c[M>>2]|0)+48>>2]&127](M,W+160|0,c[f+(e*60|0)+4>>2]|0);e=e+1|0}while((e|0)<(c[S+752>>2]|0))}if(L&512|0){K=c[S+988>>2]|0;c[W+160>>2]=1065353216;c[W+160+4>>2]=0;c[W+160+8>>2]=1065353216;g[W+160+12>>2]=0.0;c[W+96>>2]=1065353216;c[W+96+4>>2]=1065353216;c[W+96+8>>2]=1065353216;g[W+96+12>>2]=0.0;Qf(M,K,0,W+160|0,W+96|0)}if(L&1024|0){K=c[S+1028>>2]|0;c[W+160>>2]=0;c[W+160+4>>2]=1065353216;c[W+160+8>>2]=0;g[W+160+12>>2]=0.0;c[W+96>>2]=1065353216;c[W+96+4>>2]=0;c[W+96+8>>2]=0;g[W+96+12>>2]=0.0;Qf(M,K,0,W+160|0,W+96|0)}if(L&2048|0){K=c[S+1068>>2]|0;c[W+160>>2]=0;c[W+160+4>>2]=1065353216;c[W+160+8>>2]=1065353216;g[W+160+12>>2]=0.0;c[W+96>>2]=1065353216;c[W+96+4>>2]=0;c[W+96+8>>2]=0;g[W+96+12>>2]=0.0;Qf(M,K,0,W+160|0,W+96|0)}a:do if(L&4096|0?(c[S+912>>2]|0)>0:0){d=0;while(1){e=c[(c[S+920>>2]|0)+(d<<2)>>2]|0;switch(xb[c[(c[e>>2]|0)+20>>2]&127](e)|0){case 0:{L=ui(e+4|0)|0;ga=+g[e+28>>2];fa=+g[e+32>>2];ea=+g[e+36>>2];da=ga*+g[L+16>>2]+fa*+g[L+20>>2]+ea*+g[L+24>>2]+ +g[L+52>>2];ca=ga*+g[L+32>>2]+fa*+g[L+36>>2]+ea*+g[L+40>>2]+ +g[L+56>>2];g[W+32>>2]=ga*+g[L>>2]+fa*+g[L+4>>2]+ea*+g[L+8>>2]+ +g[L+48>>2];g[W+32+4>>2]=da;g[W+32+8>>2]=ca;g[W+32+12>>2]=0.0;L=ui(e+16|0)|0;ca=+g[e+44>>2];da=+g[e+48>>2];ea=+g[e+52>>2];fa=ca*+g[L+16>>2]+da*+g[L+20>>2]+ea*+g[L+24>>2]+ +g[L+52>>2];ga=ca*+g[L+32>>2]+da*+g[L+36>>2]+ea*+g[L+40>>2]+ +g[L+56>>2];g[W+16>>2]=ca*+g[L>>2]+da*+g[L+4>>2]+ea*+g[L+8>>2]+ +g[L+48>>2];g[W+16+4>>2]=fa;g[W+16+8>>2]=ga;g[W+16+12>>2]=0.0;L=c[(c[M>>2]|0)+16>>2]|0;K=(ui(e+4|0)|0)+48|0;c[W+160>>2]=1065353216;c[W+160+4>>2]=1065353216;c[W+160+8>>2]=0;g[W+160+12>>2]=0.0;Vb[L&127](M,K,W+32|0,W+160|0);K=c[(c[M>>2]|0)+16>>2]|0;L=(ui(e+16|0)|0)+48|0;c[W+160>>2]=0;c[W+160+4>>2]=1065353216;c[W+160+8>>2]=1065353216;g[W+160+12>>2]=0.0;Vb[K&127](M,L,W+16|0,W+160|0);c[W>>2]=1065353216;c[W+4>>2]=1065353216;c[W+8>>2]=0;g[W+12>>2]=0.0;L=c[(c[M>>2]|0)+16>>2]|0;ga=+g[W+32>>2];K=c[W+32+4>>2]|0;J=c[W+32+8>>2]|0;g[W+160>>2]=ga+-.25;c[W+160+4>>2]=K;c[W+160+8>>2]=J;g[W+160+12>>2]=0.0;fa=(c[j>>2]=K,+g[j>>2])+0.0;ea=(c[j>>2]=J,+g[j>>2])+0.0;g[W+96>>2]=ga+.25;g[W+96+4>>2]=fa;g[W+96+8>>2]=ea;g[W+96+12>>2]=0.0;Vb[L&127](M,W+160|0,W+96|0,W);L=c[(c[M>>2]|0)+16>>2]|0;J=c[W+32>>2]|0;ea=+g[W+32+4>>2];K=c[W+32+8>>2]|0;c[W+160>>2]=J;g[W+160+4>>2]=ea+-.25;c[W+160+8>>2]=K;g[W+160+12>>2]=0.0;fa=(c[j>>2]=J,+g[j>>2])+0.0;ga=(c[j>>2]=K,+g[j>>2])+0.0;g[W+96>>2]=fa;g[W+96+4>>2]=ea+.25;g[W+96+8>>2]=ga;g[W+96+12>>2]=0.0;Vb[L&127](M,W+160|0,W+96|0,W);L=c[(c[M>>2]|0)+16>>2]|0;K=c[W+32>>2]|0;J=c[W+32+4>>2]|0;ga=+g[W+32+8>>2];c[W+160>>2]=K;c[W+160+4>>2]=J;g[W+160+8>>2]=ga+-.25;g[W+160+12>>2]=0.0;ea=(c[j>>2]=K,+g[j>>2])+0.0;fa=(c[j>>2]=J,+g[j>>2])+0.0;g[W+96>>2]=ea;g[W+96+4>>2]=fa;g[W+96+8>>2]=ga+.25;g[W+96+12>>2]=0.0;Vb[L&127](M,W+160|0,W+96|0,W);c[W>>2]=0;c[W+4>>2]=1065353216;c[W+8>>2]=1065353216;g[W+12>>2]=0.0;L=c[(c[M>>2]|0)+16>>2]|0;ga=+g[W+16>>2];J=c[W+16+4>>2]|0;K=c[W+16+8>>2]|0;g[W+160>>2]=ga+-.25;c[W+160+4>>2]=J;c[W+160+8>>2]=K;g[W+160+12>>2]=0.0;fa=(c[j>>2]=J,+g[j>>2])+0.0;ea=(c[j>>2]=K,+g[j>>2])+0.0;g[W+96>>2]=ga+.25;g[W+96+4>>2]=fa;g[W+96+8>>2]=ea;g[W+96+12>>2]=0.0;Vb[L&127](M,W+160|0,W+96|0,W);L=c[(c[M>>2]|0)+16>>2]|0;K=c[W+16>>2]|0;ea=+g[W+16+4>>2];J=c[W+16+8>>2]|0;c[W+160>>2]=K;g[W+160+4>>2]=ea+-.25;c[W+160+8>>2]=J;g[W+160+12>>2]=0.0;fa=(c[j>>2]=K,+g[j>>2])+0.0;ga=(c[j>>2]=J,+g[j>>2])+0.0;g[W+96>>2]=fa;g[W+96+4>>2]=ea+.25;g[W+96+8>>2]=ga;g[W+96+12>>2]=0.0;Vb[L&127](M,W+160|0,W+96|0,W);L=c[(c[M>>2]|0)+16>>2]|0;J=c[W+16>>2]|0;K=c[W+16+4>>2]|0;ga=+g[W+16+8>>2];c[W+160>>2]=J;c[W+160+4>>2]=K;g[W+160+8>>2]=ga+-.25;g[W+160+12>>2]=0.0;ea=(c[j>>2]=J,+g[j>>2])+0.0;fa=(c[j>>2]=K,+g[j>>2])+0.0;g[W+96>>2]=ea;g[W+96+4>>2]=fa;g[W+96+8>>2]=ga+.25;g[W+96+12>>2]=0.0;Vb[L&127](M,W+160|0,W+96|0,W);break}case 1:{L=(ui(e+4|0)|0)+48|0;c[W+160>>2]=c[L>>2];c[W+160+4>>2]=c[L+4>>2];c[W+160+8>>2]=c[L+8>>2];c[W+160+12>>2]=c[L+12>>2];L=(ui(e+16|0)|0)+48|0;c[W+96>>2]=c[L>>2];c[W+96+4>>2]=c[L+4>>2];c[W+96+8>>2]=c[L+8>>2];c[W+96+12>>2]=c[L+12>>2];L=ui(e+4|0)|0;aa=+g[e+28>>2];$=+g[e+32>>2];da=+g[e+36>>2];ba=+g[L>>2]*aa+ +g[L+4>>2]*$+ +g[L+8>>2]*da;ca=aa*+g[L+16>>2]+$*+g[L+20>>2]+da*+g[L+24>>2];da=aa*+g[L+32>>2]+$*+g[L+36>>2]+da*+g[L+40>>2];L=ui(e+16|0)|0;$=+g[e+44>>2];aa=+g[e+48>>2];ga=+g[e+52>>2];ea=+g[L>>2]*$+ +g[L+4>>2]*aa+ +g[L+8>>2]*ga;fa=$*+g[L+16>>2]+aa*+g[L+20>>2]+ga*+g[L+24>>2];ga=$*+g[L+32>>2]+aa*+g[L+36>>2]+ga*+g[L+40>>2];L=c[(c[M>>2]|0)+16>>2]|0;aa=ca*10.0+ +g[W+160+4>>2];$=da*10.0+ +g[W+160+8>>2];g[W+32>>2]=ba*10.0+ +g[W+160>>2];g[W+32+4>>2]=aa;g[W+32+8>>2]=$;g[W+32+12>>2]=0.0;c[W+16>>2]=1065353216;c[W+16+4>>2]=1065353216;c[W+16+8>>2]=0;g[W+16+12>>2]=0.0;Vb[L&127](M,W+160|0,W+32|0,W+16|0);L=c[(c[M>>2]|0)+16>>2]|0;$=fa*10.0+ +g[W+160+4>>2];aa=ga*10.0+ +g[W+160+8>>2];g[W+32>>2]=ea*10.0+ +g[W+160>>2];g[W+32+4>>2]=$;g[W+32+8>>2]=aa;g[W+32+12>>2]=0.0;c[W+16>>2]=1065353216;c[W+16+4>>2]=1065353216;c[W+16+8>>2]=0;g[W+16+12>>2]=0.0;Vb[L&127](M,W+160|0,W+32|0,W+16|0);L=c[(c[M>>2]|0)+16>>2]|0;ca=ca*10.0+ +g[W+96+4>>2];da=da*10.0+ +g[W+96+8>>2];g[W+32>>2]=ba*10.0+ +g[W+96>>2];g[W+32+4>>2]=ca;g[W+32+8>>2]=da;g[W+32+12>>2]=0.0;c[W+16>>2]=0;c[W+16+4>>2]=1065353216;c[W+16+8>>2]=1065353216;g[W+16+12>>2]=0.0;Vb[L&127](M,W+96|0,W+32|0,W+16|0);L=c[(c[M>>2]|0)+16>>2]|0;fa=fa*10.0+ +g[W+96+4>>2];ga=ga*10.0+ +g[W+96+8>>2];g[W+32>>2]=ea*10.0+ +g[W+96>>2];g[W+32+4>>2]=fa;g[W+32+8>>2]=ga;g[W+32+12>>2]=0.0;c[W+16>>2]=0;c[W+16+4>>2]=1065353216;c[W+16+8>>2]=1065353216;g[W+16+12>>2]=0.0;Vb[L&127](M,W+96|0,W+32|0,W+16|0);break}default:{}}d=d+1|0;if((d|0)>=(c[S+912>>2]|0))break a}}while(0)}d=c[b+72>>2]|0;if(d|0?(xb[c[(c[d>>2]|0)+56>>2]&127](d)|0)&2|0:0){if(a[b+368>>0]|0){L=c[b+72>>2]|0;M=c[S+988>>2]|0;c[W+160>>2]=1065353216;c[W+160+4>>2]=0;c[W+160+8>>2]=1065353216;g[W+160+12>>2]=0.0;c[W+96>>2]=1065353216;c[W+96+4>>2]=1065353216;c[W+96+8>>2]=1065353216;g[W+96+12>>2]=0.0;Qf(L,M,0,W+160|0,W+96|0)}if(a[b+369>>0]|0){L=c[b+72>>2]|0;M=c[S+1028>>2]|0;c[W+160>>2]=0;c[W+160+4>>2]=1065353216;c[W+160+8>>2]=0;g[W+160+12>>2]=0.0;c[W+96>>2]=1065353216;c[W+96+4>>2]=0;c[W+96+8>>2]=0;g[W+96+12>>2]=0.0;Qf(L,M,0,W+160|0,W+96|0)}if(a[b+370>>0]|0){M=c[b+72>>2]|0;S=c[S+1068>>2]|0;c[W+160>>2]=0;c[W+160+4>>2]=1065353216;c[W+160+8>>2]=1065353216;g[W+160+12>>2]=0.0;c[W+96>>2]=1065353216;c[W+96+4>>2]=0;c[W+96+8>>2]=0;g[W+96+12>>2]=0.0;Qf(M,S,0,W+160|0,W+96|0)}}N=N+1|0}while((N|0)<(c[b+348>>2]|0));l=W;return}function gc(b,d,e){b=b|0;d=+d;e=+e;var f=0,h=0.0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0.0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0.0,ua=0,va=0,wa=0.0,xa=0,ya=0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0,$a=0.0,ab=0.0,bb=0.0,cb=0.0,db=0.0,eb=0.0,fb=0.0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0;ua=l;l=l+208|0;ta=+g[b+512>>2];ha=c[b+192>>2]|0;ga=+nb[c[(c[ha>>2]|0)+48>>2]&15](ha);a[ua+48+16>>0]=1;ha=ua+48+12|0;c[ha>>2]=0;c[ua+48+4>>2]=0;c[ua+48+8>>2]=0;a[ua+48+36>>0]=1;ia=ua+48+32|0;c[ia>>2]=0;c[ua+48+24>>2]=0;c[ua+48+28>>2]=0;a[ua+48+56>>0]=1;c[ua+48+52>>2]=0;c[ua+48+44>>2]=0;c[ua+48+48>>2]=0;ja=ua+48+76|0;a[ja>>0]=1;ka=ua+48+72|0;c[ka>>2]=0;la=ua+48+64|0;c[la>>2]=0;ma=ua+48+68|0;c[ma>>2]=0;na=ua+48+96|0;a[na>>0]=1;oa=ua+48+92|0;c[oa>>2]=0;pa=ua+48+84|0;c[pa>>2]=0;qa=ua+48+88|0;c[qa>>2]=0;a[ua+48+116>>0]=1;ra=ua+48+112|0;c[ra>>2]=0;c[ua+48+104>>2]=0;c[ua+48+108>>2]=0;sa=c[b+872>>2]|0;if((sa|0)<=0){Ph(ua+48|0);l=ua;return}fa=0;f=0;do{ea=c[b+880>>2]|0;da=ea+(fa*104|0)|0;ca=c[da>>2]|0;if(!(c[ca+204>>2]&4)){switch(c[ca+252>>2]|0){case 2:{Q=+g[ca+392>>2];n=+g[ea+(fa*104|0)+84>>2];H=+g[ca+396>>2];N=+g[ea+(fa*104|0)+80>>2];e=+g[ea+(fa*104|0)+76>>2];O=+g[ca+388>>2];j=0;k=ca;h=ta*(Q*n-H*N+ +g[ca+372>>2]);n=ta*(+g[ca+376>>2]+(H*e-n*O));e=ta*(N*O-Q*e+ +g[ca+380>>2]);break}case 64:{ba=c[(c[ca+324>>2]|0)+468>>2]|0;m=c[ua+48+4>>2]|0;if((ba+6|0)>(m|0)){if((c[ua+48+8>>2]|0)<(ba+6|0)){if(!(ba+6|0)){f=0;j=m}else{c[6995]=(c[6995]|0)+1;f=sc((ba+6<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[ua+48+4>>2]|0}k=c[ha>>2]|0;if((j|0)>0){i=0;do{c[f+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0));if(a[ua+48+16>>0]|0)ya=18}else if(!((k|0)==0|(a[ua+48+16>>0]|0)==0))ya=18;if((ya|0)==18){ya=0;c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}a[ua+48+16>>0]=1;c[ha>>2]=f;c[ua+48+8>>2]=ba+6}else f=c[ha>>2]|0;Yk(f+(m<<2)|0,0,ba+6-m<<2|0)|0}c[ua+48+4>>2]=ba+6;m=c[ua+48+24>>2]|0;if((ba+6|0)>(m|0)){if((c[ua+48+28>>2]|0)<(ba+6|0)){if(!(ba+6|0)){f=0;j=m}else{c[6995]=(c[6995]|0)+1;f=sc((ba+6<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[ua+48+24>>2]|0}k=c[ia>>2]|0;if((j|0)>0){i=0;do{c[f+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0));if(a[ua+48+36>>0]|0)ya=32}else if(!((k|0)==0|(a[ua+48+36>>0]|0)==0))ya=32;if((ya|0)==32){ya=0;c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}a[ua+48+36>>0]=1;c[ia>>2]=f;c[ua+48+28>>2]=ba+6}else f=c[ia>>2]|0;Yk(f+(m<<2)|0,0,ba+6-m<<2|0)|0}c[ua+48+24>>2]=ba+6;$=c[ha>>2]|0;I=c[ca+324>>2]|0;J=c[ca+328>>2]|0;u=c[ea+(fa*104|0)+24>>2]|0;aa=ea+(fa*104|0)+4|0;K=c[I+132>>2]|0;v=c[I+468>>2]|0;f=c[pa>>2]|0;if((f|0)<((K*3|0)+3|0)){if((c[qa>>2]|0)<((K*3|0)+3|0)){if(!((K*3|0)+3|0)){i=0;k=f}else{c[6995]=(c[6995]|0)+1;i=sc(((K*3|0)+3<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=c[pa>>2]|0}if((k|0)>0){j=0;do{_=i+(j<<4)|0;Z=(c[oa>>2]|0)+(j<<4)|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];c[_+8>>2]=c[Z+8>>2];c[_+12>>2]=c[Z+12>>2];j=j+1|0}while((j|0)!=(k|0))}j=c[oa>>2]|0;if(j|0){if(a[na>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[oa>>2]=0}a[na>>0]=1;c[oa>>2]=i;c[qa>>2]=(K*3|0)+3}do{_=(c[oa>>2]|0)+(f<<4)|0;c[_>>2]=c[ua>>2];c[_+4>>2]=c[ua+4>>2];c[_+8>>2]=c[ua+8>>2];c[_+12>>2]=c[ua+12>>2];f=f+1|0}while((f|0)!=((K*3|0)+3|0))}c[pa>>2]=(K*3|0)+3;f=c[ua+48+104>>2]|0;if((f|0)<=(K+1|0)&(f|0)<=(K|0)){if((c[ua+48+108>>2]|0)<=(K|0)){if(!(K+1|0)){i=0;k=f}else{c[6995]=(c[6995]|0)+1;i=sc(((K+1|0)*48|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=c[ua+48+104>>2]|0}if((k|0)>0){j=0;do{Y=i+(j*48|0)|0;Z=c[ra>>2]|0;_=Z+(j*48|0)|0;c[Y>>2]=c[_>>2];c[Y+4>>2]=c[_+4>>2];c[Y+8>>2]=c[_+8>>2];c[Y+12>>2]=c[_+12>>2];Y=Z+(j*48|0)+16|0;_=i+(j*48|0)+16|0;c[_>>2]=c[Y>>2];c[_+4>>2]=c[Y+4>>2];c[_+8>>2]=c[Y+8>>2];c[_+12>>2]=c[Y+12>>2];Z=Z+(j*48|0)+32|0;_=i+(j*48|0)+32|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];c[_+8>>2]=c[Z+8>>2];c[_+12>>2]=c[Z+12>>2];j=j+1|0}while((j|0)!=(k|0))}j=c[ra>>2]|0;if(j|0){if(a[ua+48+116>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[ra>>2]=0}a[ua+48+116>>0]=1;c[ra>>2]=i;c[ua+48+108>>2]=K+1}do{_=c[ra>>2]|0;Z=_+(f*48|0)|0;c[Z>>2]=c[ua>>2];c[Z+4>>2]=c[ua+4>>2];c[Z+8>>2]=c[ua+8>>2];c[Z+12>>2]=c[ua+12>>2];Z=_+(f*48|0)+16|0;c[Z>>2]=c[ua+16>>2];c[Z+4>>2]=c[ua+16+4>>2];c[Z+8>>2]=c[ua+16+8>>2];c[Z+12>>2]=c[ua+16+12>>2];_=_+(f*48|0)+32|0;c[_>>2]=c[ua+32>>2];c[_+4>>2]=c[ua+32+4>>2];c[_+8>>2]=c[ua+32+8>>2];c[_+12>>2]=c[ua+32+12>>2];f=f+1|0}while((f|0)!=(K+1|0))}c[ua+48+104>>2]=K+1;z=c[oa>>2]|0;A=z+(K+1<<4)+(K+1<<4)|0;m=c[la>>2]|0;if((v|0)>(m|0)){if((c[ma>>2]|0)<(v|0)){if(!v){f=0;j=m}else{c[6995]=(c[6995]|0)+1;f=sc((v<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[la>>2]|0}k=c[ka>>2]|0;if((j|0)>0){i=0;do{c[f+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0));if(a[ja>>0]|0)ya=74}else if(!((k|0)==0|(a[ja>>0]|0)==0))ya=74;if((ya|0)==74){ya=0;c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}a[ja>>0]=1;c[ka>>2]=f;c[ma>>2]=v}else f=c[ka>>2]|0;Yk(f+(m<<2)|0,0,v-m<<2|0)|0}c[la>>2]=v;y=(v|0)>0?c[ka>>2]|0:0;x=c[ra>>2]|0;O=+g[u+8>>2]-+g[I+12>>2];Q=+g[u+12>>2]-+g[I+16>>2];N=+g[u+16>>2]-+g[I+20>>2];E=+g[I+28>>2];G=+g[I+32>>2];t=+g[I+36>>2];C=+g[I+40>>2];H=E*(2.0/(E*E+G*G+t*t+C*C));F=G*(2.0/(E*E+G*G+t*t+C*C));B=t*(2.0/(E*E+G*G+t*t+C*C));g[x>>2]=1.0-(G*F+t*B);g[x+4>>2]=E*F-C*B;g[x+8>>2]=E*B+C*F;g[x+12>>2]=0.0;g[x+16>>2]=E*F+C*B;g[x+20>>2]=1.0-(E*H+t*B);g[x+24>>2]=G*B-C*H;g[x+28>>2]=0.0;g[x+32>>2]=E*B-C*F;g[x+36>>2]=G*B+C*H;g[x+40>>2]=1.0-(E*H+G*F);g[x+44>>2]=0.0;_=ea+(fa*104|0)+12|0;F=+g[_>>2];Z=ea+(fa*104|0)+8|0;G=+g[Z>>2];H=+g[aa>>2];g[$>>2]=Q*F-N*G+0.0;g[$+4>>2]=N*H-O*F+0.0;g[$+8>>2]=O*G-Q*H+0.0;c[$+12>>2]=c[aa>>2];c[$+16>>2]=c[Z>>2];c[$+20>>2]=c[_>>2];H=O*+g[x+16>>2]+Q*+g[x+20>>2]+N*+g[x+24>>2];G=O*+g[x+32>>2]+Q*+g[x+36>>2]+N*+g[x+40>>2];g[z>>2]=O*+g[x>>2]+Q*+g[x+4>>2]+N*+g[x+8>>2];g[z+4>>2]=H;g[z+8>>2]=G;g[z+12>>2]=0.0;G=+g[aa>>2];H=+g[Z>>2];N=+g[_>>2];Q=G*+g[x+16>>2]+H*+g[x+20>>2]+N*+g[x+24>>2];O=G*+g[x+32>>2]+H*+g[x+36>>2]+N*+g[x+40>>2];g[z+(K+1<<4)>>2]=+g[x>>2]*G+ +g[x+4>>2]*H+ +g[x+8>>2]*N;g[z+(K+1<<4)+4>>2]=Q;g[z+(K+1<<4)+8>>2]=O;g[z+(K+1<<4)+12>>2]=0.0;O=+g[x+16>>2]*0.0+ +g[x+20>>2]*0.0+ +g[x+24>>2]*0.0;Q=+g[x+32>>2]*0.0+ +g[x+36>>2]*0.0+ +g[x+40>>2]*0.0;g[A>>2]=+g[x>>2]*0.0+ +g[x+4>>2]*0.0+ +g[x+8>>2]*0.0;g[A+4>>2]=O;g[A+8>>2]=Q;g[A+12>>2]=0.0;if((v|0)>0)Yk($+24|0,0,(((v+5|0)>6?v+5|0:6)<<2)+-20|0)|0;if((J|0)>-1&(K|0)>0){w=0;f=c[I+140>>2]|0;while(1){q=+g[f+(w*608|0)+336>>2];o=+g[f+(w*608|0)+340>>2];F=+g[f+(w*608|0)+344>>2];N=+g[f+(w*608|0)+348>>2];p=q*(2.0/(q*q+o*o+F*F+N*N));Q=o*(2.0/(q*q+o*o+F*F+N*N));r=F*(2.0/(q*q+o*o+F*F+N*N));B=1.0-(o*Q+F*r);C=q*Q-N*r;e=q*r+N*Q;E=q*Q+N*r;F=1.0-(q*p+F*r);h=o*r-N*p;G=q*r-N*Q;N=o*r+N*p;Q=1.0-(q*p+o*Q);i=(c[f+(w*608|0)+20>>2]|0)+1|0;o=+g[x+(i*48|0)>>2];p=+g[x+(i*48|0)+16>>2];q=+g[x+(i*48|0)+32>>2];r=+g[x+(i*48|0)+4>>2];s=+g[x+(i*48|0)+20>>2];t=+g[x+(i*48|0)+36>>2];n=+g[x+(i*48|0)+8>>2];O=+g[x+(i*48|0)+24>>2];H=+g[x+(i*48|0)+40>>2];f=w;w=w+1|0;g[x+(w*48|0)>>2]=q*e+(p*C+o*B);g[x+(w*48|0)+4>>2]=e*t+(s*C+r*B);g[x+(w*48|0)+8>>2]=B*n+C*O+e*H;g[x+(w*48|0)+12>>2]=0.0;g[x+(w*48|0)+16>>2]=q*h+(o*E+p*F);g[x+(w*48|0)+20>>2]=t*h+(r*E+s*F);g[x+(w*48|0)+24>>2]=E*n+F*O+h*H;g[x+(w*48|0)+28>>2]=0.0;g[x+(w*48|0)+32>>2]=o*G+p*N+q*Q;g[x+(w*48|0)+36>>2]=r*G+s*N+t*Q;g[x+(w*48|0)+40>>2]=G*n+N*O+Q*H;g[x+(w*48|0)+44>>2]=0.0;u=z+(K+1<<4)+(i<<4)|0;H=+g[u>>2];O=+g[u+4>>2];n=+g[u+8>>2];u=z+(K+1<<4)+(w<<4)|0;g[u>>2]=B*H+C*O+e*n;g[u+4>>2]=E*H+F*O+h*n;g[u+8>>2]=G*H+N*O+Q*n;g[u+12>>2]=0.0;n=+g[A+(i<<4)>>2];O=+g[A+(i<<4)+4>>2];H=+g[A+(i<<4)+8>>2];v=A+(w<<4)|0;g[v>>2]=B*n+C*O+e*H;g[v+4>>2]=E*n+F*O+h*H;g[v+8>>2]=G*n+N*O+Q*H;g[v+12>>2]=0.0;H=+g[z+(i<<4)>>2];O=+g[z+(i<<4)+4>>2];n=+g[z+(i<<4)+8>>2];i=c[I+140>>2]|0;e=B*H+C*O+e*n-+g[i+(f*608|0)+352>>2];h=E*H+F*O+h*n-+g[i+(f*608|0)+356>>2];n=G*H+N*O+Q*n-+g[i+(f*608|0)+360>>2];i=z+(w<<4)|0;g[i>>2]=e;j=z+(w<<4)+4|0;g[j>>2]=h;k=z+(w<<4)+8|0;g[k>>2]=n;g[z+(w<<4)+12>>2]=0.0;m=c[I+140>>2]|0;switch(c[m+(f*608|0)+500>>2]|0){case 0:{Q=+g[m+(f*608|0)+140>>2];N=+g[m+(f*608|0)+144>>2];O=+g[m+(f*608|0)+136>>2];Q=(Q*n-N*h+ +g[m+(f*608|0)+152>>2])*+g[u>>2]+(N*e-n*O+ +g[m+(f*608|0)+156>>2])*+g[u+4>>2]+(h*O-Q*e+ +g[m+(f*608|0)+160>>2])*+g[u+8>>2];Y=y+(c[m+(f*608|0)+328>>2]<<2)|0;g[Y>>2]=Q;g[Y>>2]=Q+(+g[v>>2]*+g[m+(f*608|0)+136>>2]+ +g[v+4>>2]*+g[m+(f*608|0)+140>>2]+ +g[v+8>>2]*+g[m+(f*608|0)+144>>2]);break}case 1:{g[y+(c[m+(f*608|0)+328>>2]<<2)>>2]=+g[u>>2]*+g[m+(f*608|0)+152>>2]+ +g[u+4>>2]*+g[m+(f*608|0)+156>>2]+ +g[u+8>>2]*+g[m+(f*608|0)+160>>2];break}case 2:{G=+g[m+(f*608|0)+140>>2];N=+g[m+(f*608|0)+144>>2];Q=+g[m+(f*608|0)+136>>2];Y=c[m+(f*608|0)+328>>2]|0;g[y+(Y<<2)>>2]=(G*n-N*h+ +g[m+(f*608|0)+152>>2])*+g[u>>2]+(N*e-n*Q+ +g[m+(f*608|0)+156>>2])*+g[u+4>>2]+(h*Q-G*e+ +g[m+(f*608|0)+160>>2])*+g[u+8>>2];G=+g[m+(f*608|0)+172>>2];Q=+g[k>>2];N=+g[m+(f*608|0)+176>>2];H=+g[j>>2];O=+g[i>>2];F=+g[m+(f*608|0)+168>>2];g[y+(Y+1<<2)>>2]=(G*Q-N*H+ +g[m+(f*608|0)+184>>2])*+g[u>>2]+(N*O-Q*F+ +g[m+(f*608|0)+188>>2])*+g[u+4>>2]+(H*F-G*O+ +g[m+(f*608|0)+192>>2])*+g[u+8>>2];O=+g[m+(f*608|0)+204>>2];G=+g[k>>2];F=+g[m+(f*608|0)+208>>2];H=+g[j>>2];Q=+g[i>>2];N=+g[m+(f*608|0)+200>>2];g[y+(Y+2<<2)>>2]=(O*G-F*H+ +g[m+(f*608|0)+216>>2])*+g[u>>2]+(F*Q-G*N+ +g[m+(f*608|0)+220>>2])*+g[u+4>>2]+(H*N-O*Q+ +g[m+(f*608|0)+224>>2])*+g[u+8>>2];m=c[I+140>>2]|0;Y=c[m+(f*608|0)+328>>2]|0;g[y+(Y<<2)>>2]=+g[y+(Y<<2)>>2]+(+g[v>>2]*+g[m+(f*608|0)+136>>2]+ +g[v+4>>2]*+g[m+(f*608|0)+140>>2]+ +g[v+8>>2]*+g[m+(f*608|0)+144>>2]);g[y+(Y+1<<2)>>2]=+g[y+(Y+1<<2)>>2]+(+g[v>>2]*+g[m+(f*608|0)+168>>2]+ +g[v+4>>2]*+g[m+(f*608|0)+172>>2]+ +g[v+8>>2]*+g[m+(f*608|0)+176>>2]);g[y+(Y+2<<2)>>2]=+g[y+(Y+2<<2)>>2]+(+g[v>>2]*+g[m+(f*608|0)+200>>2]+ +g[v+4>>2]*+g[m+(f*608|0)+204>>2]+ +g[v+8>>2]*+g[m+(f*608|0)+208>>2]);break}case 3:{Q=+g[m+(f*608|0)+140>>2];N=+g[m+(f*608|0)+144>>2];O=+g[m+(f*608|0)+136>>2];Y=c[m+(f*608|0)+328>>2]|0;g[y+(Y<<2)>>2]=(Q*n-N*h)*+g[u>>2]+ +g[u+4>>2]*(N*e-n*O)+(h*O-Q*e)*+g[u+8>>2];g[y+(Y+1<<2)>>2]=+g[u>>2]*+g[m+(f*608|0)+184>>2]+ +g[u+4>>2]*+g[m+(f*608|0)+188>>2]+ +g[u+8>>2]*+g[m+(f*608|0)+192>>2];g[y+(Y+2<<2)>>2]=+g[u>>2]*+g[m+(f*608|0)+216>>2]+ +g[u+4>>2]*+g[m+(f*608|0)+220>>2]+ +g[u+8>>2]*+g[m+(f*608|0)+224>>2];break}default:{}}if((w|0)==(K|0))break;else f=m}if((J|0)!=-1){f=J;do{k=c[m+(f*608|0)+492>>2]|0;if((k|0)>0){j=c[m+(f*608|0)+328>>2]|0;i=0;do{c[$+(i+6+j<<2)>>2]=c[y+(j+i<<2)>>2];i=i+1|0}while((i|0)!=(k|0))}f=c[m+(f*608|0)+20>>2]|0}while((f|0)!=-1)}}f=c[ia>>2]|0;X=c[ca+324>>2]|0;I=c[ha>>2]|0;Y=c[X+132>>2]|0;u=c[X+468>>2]|0;v=c[la>>2]|0;if((u|0)>(v|0)){if((c[ma>>2]|0)<(u|0)){if(!u){i=0;k=v}else{c[6995]=(c[6995]|0)+1;i=sc((u<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=c[la>>2]|0}m=c[ka>>2]|0;if((k|0)>0){j=0;do{c[i+(j<<2)>>2]=c[m+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0));if(a[ja>>0]|0)ya=103}else if(!((m|0)==0|(a[ja>>0]|0)==0))ya=103;if((ya|0)==103){ya=0;c[6996]=(c[6996]|0)+1;Cd(c[m+-4>>2]|0)}a[ja>>0]=1;c[ka>>2]=i;c[ma>>2]=u}else i=c[ka>>2]|0;Yk(i+(v<<2)|0,0,u-v<<2|0)|0}c[la>>2]=u;i=c[pa>>2]|0;if((i|0)<((Y<<2)+4|0)){if((c[qa>>2]|0)<((Y<<2)+4|0)){if(!((Y<<2)+4|0)){j=0;m=i}else{c[6995]=(c[6995]|0)+1;j=sc((Y<<2)+4<<4|19)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}m=c[pa>>2]|0}if((m|0)>0){k=0;do{W=j+(k<<4)|0;V=(c[oa>>2]|0)+(k<<4)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];k=k+1|0}while((k|0)!=(m|0))}k=c[oa>>2]|0;if(k|0){if(a[na>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}c[oa>>2]=0}a[na>>0]=1;c[oa>>2]=j;c[qa>>2]=(Y<<2)+4}do{W=(c[oa>>2]|0)+(i<<4)|0;c[W>>2]=c[ua>>2];c[W+4>>2]=c[ua+4>>2];c[W+8>>2]=c[ua+8>>2];c[W+12>>2]=c[ua+12>>2];i=i+1|0}while((i|0)!=((Y<<2)+4|0))}c[pa>>2]=(Y<<2)+4;i=c[X+468>>2]|0;T=(i|0)==0?0:c[ka>>2]|0;U=c[oa>>2]|0;V=U+((Y<<1)+2<<4)|0;W=c[X+220>>2]|0;if((i|0)>0){R=(c[X+180>>2]|0)+(i+6<<2)|0;S=c[X+200>>2]|0}else{R=0;S=0}if(!(a[X+421>>0]|0)){r=+g[W>>2];s=+g[W+4>>2];t=+g[W+8>>2];B=+g[W+16>>2];C=+g[W+20>>2];E=+g[W+24>>2];F=+g[W+32>>2];H=+g[W+36>>2];O=+g[W+40>>2];G=-+g[I>>2];N=-+g[I+4>>2];Q=-+g[I+8>>2];o=-+g[I+12>>2];p=-+g[I+16>>2];q=-+g[I+20>>2];g[U>>2]=r*o+s*p+t*q;g[U+4>>2]=B*o+C*p+E*q;g[U+8>>2]=F*o+H*p+O*q;g[U+12>>2]=0.0;g[U+16>>2]=r*G+s*N+t*Q;g[U+20>>2]=B*G+C*N+E*Q;g[U+24>>2]=F*G+H*N+O*Q;g[U+28>>2]=0.0}else{c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0;c[U+16>>2]=0;c[U+20>>2]=0;c[U+24>>2]=0;c[U+28>>2]=0}if((Y|0)>0){Yk(U+32|0,0,Y<<5|0)|0;z=c[X+140>>2]|0;x=Y;do{y=x;x=x+-1|0;A=c[z+(x*608|0)+20>>2]|0;r=+g[W+(y*48|0)>>2];s=+g[W+(y*48|0)+4>>2];t=+g[W+(y*48|0)+8>>2];B=+g[W+(y*48|0)+16>>2];C=+g[W+(y*48|0)+20>>2];E=+g[W+(y*48|0)+24>>2];F=+g[W+(y*48|0)+32>>2];G=+g[W+(y*48|0)+36>>2];H=+g[W+(y*48|0)+40>>2];N=+g[z+(x*608|0)+352>>2];O=+g[z+(x*608|0)+356>>2];Q=+g[z+(x*608|0)+360>>2];v=c[z+(x*608|0)+492>>2]|0;w=c[z+(x*608|0)+328>>2]|0;if((v|0)>0){i=0;do{g[T+(w+i<<2)>>2]=+g[I+(i+6+w<<2)>>2]-(+g[z+(x*608|0)+136+(i<<5)+16>>2]*+g[U+(y<<5)>>2]+ +g[z+(x*608|0)+136+(i<<5)+20>>2]*+g[U+(y<<5)+4>>2]+ +g[z+(x*608|0)+136+(i<<5)+24>>2]*+g[U+(y<<5)+8>>2]+(+g[z+(x*608|0)+136+(i<<5)>>2]*+g[U+(y<<5)+16>>2]+ +g[z+(x*608|0)+136+(i<<5)+4>>2]*+g[U+(y<<5)+20>>2]+ +g[z+(x*608|0)+136+(i<<5)+8>>2]*+g[U+(y<<5)+24>>2]));i=i+1|0}while((i|0)!=(v|0));k=R+((P(w,w)|0)<<2)|0;j=0;do{m=ua+(j<<2)|0;g[m>>2]=0.0;u=P(v,j)|0;i=0;e=0.0;do{e=e+ +g[k+(u+i<<2)>>2]*+g[T+(w+i<<2)>>2];i=i+1|0}while((i|0)!=(v|0));g[m>>2]=e;j=j+1|0}while((j|0)!=(v|0));i=0;q=+g[U+(y<<5)>>2];p=+g[U+(y<<5)+4>>2];o=+g[U+(y<<5)+8>>2];n=+g[U+(y<<5)+16>>2];h=+g[U+(y<<5)+20>>2];e=+g[U+(y<<5)+24>>2];do{M=w+i|0;za=+g[ua+(i<<2)>>2];q=za*+g[S+(M<<5)>>2]+q;p=za*+g[S+(M<<5)+4>>2]+p;o=za*+g[S+(M<<5)+8>>2]+o;n=+g[S+(M<<5)+16>>2]*za+n;h=za*+g[S+(M<<5)+20>>2]+h;e=za*+g[S+(M<<5)+24>>2]+e;i=i+1|0}while((i|0)!=(v|0))}else{q=+g[U+(y<<5)>>2];p=+g[U+(y<<5)+4>>2];o=+g[U+(y<<5)+8>>2];n=+g[U+(y<<5)+16>>2];h=+g[U+(y<<5)+20>>2];e=+g[U+(y<<5)+24>>2]}n=O*o-Q*p+n;Q=h+(Q*q-N*o);za=N*p-O*q+e;g[U+(A+1<<5)>>2]=r*q+B*p+F*o+ +g[U+(A+1<<5)>>2];g[U+(A+1<<5)+4>>2]=s*q+C*p+G*o+ +g[U+(A+1<<5)+4>>2];g[U+(A+1<<5)+8>>2]=t*q+E*p+H*o+ +g[U+(A+1<<5)+8>>2];g[U+(A+1<<5)+16>>2]=r*n+B*Q+F*za+ +g[U+(A+1<<5)+16>>2];g[U+(A+1<<5)+20>>2]=s*n+C*Q+G*za+ +g[U+(A+1<<5)+20>>2];g[U+(A+1<<5)+24>>2]=t*n+E*Q+H*za+ +g[U+(A+1<<5)+24>>2]}while((y|0)>1)}if(!(a[X+421>>0]|0)){do if(!(c[X+132>>2]|0)){p=1.0/+g[X+44>>2];e=+g[U+16>>2]/+g[X+48>>2];h=+g[U+24>>2]/+g[X+56>>2];n=+g[U>>2]*p;o=p*+g[U+4>>2];p=p*+g[U+8>>2];q=+g[U+20>>2]/+g[X+52>>2]}else{if(!(a[X+420>>0]|0)){e=0.0;h=0.0;n=0.0;o=0.0;p=0.0;q=0.0;break}Va=+g[X+296>>2];cb=+g[X+316>>2];db=+g[X+300>>2];Ja=+g[X+312>>2];La=+g[X+308>>2];Ua=+g[X+292>>2];Ia=+g[X+276>>2];Ka=+g[X+280>>2];o=+g[X+284>>2];p=1.0/((Va*cb-db*Ja)*Ia+Ka*(db*La-cb*Ua)+(Ja*Ua-Va*La)*o);N=-((Va*cb-db*Ja)*p);Q=-((db*La-cb*Ua)*p);G=-((Ja*Ua-Va*La)*p);Pa=+g[X+372>>2];q=+g[X+376>>2];Na=+g[X+380>>2];Ga=Na*-((La*Ka-Ja*Ia)*p)+(Pa*-((Ja*o-cb*Ka)*p)+q*-((cb*Ia-La*o)*p));r=Na*-((Va*Ia-Ua*Ka)*p)+(Pa*-((db*Ka-Va*o)*p)+q*-((Ua*o-db*Ia)*p));hb=+g[X+388>>2];gb=+g[X+392>>2];ib=+g[X+396>>2];s=hb*-((Ja*o-cb*Ka)*p)+gb*-((cb*Ia-La*o)*p)+ib*-((La*Ka-Ja*Ia)*p);Fa=hb*-((db*Ka-Va*o)*p)+gb*-((Ua*o-db*Ia)*p)+ib*-((Va*Ia-Ua*Ka)*p);bb=+g[X+404>>2];C=+g[X+408>>2];ab=+g[X+412>>2];t=bb*-((Ja*o-cb*Ka)*p)+C*-((cb*Ia-La*o)*p)+ab*-((La*Ka-Ja*Ia)*p);Aa=bb*-((db*Ka-Va*o)*p)+C*-((Ua*o-db*Ia)*p)+ab*-((Va*Ia-Ua*Ka)*p);Sa=+g[X+228>>2];Oa=+g[X+244>>2];Xa=+g[X+260>>2];Ra=+g[X+232>>2];Ma=+g[X+248>>2];Wa=+g[X+264>>2];Ta=+g[X+236>>2];Qa=+g[X+252>>2];Ya=+g[X+268>>2];Ba=(Na*G+(Pa*N+q*Q))*Sa+Ga*Oa+r*Xa+ +g[X+324>>2];jb=(Na*G+(Pa*N+q*Q))*Ra+Ga*Ma+r*Wa+ +g[X+328>>2];r=(Na*G+(Pa*N+q*Q))*Ta+Ga*Qa+r*Ya+ +g[X+332>>2];Ga=(hb*N+gb*Q+ib*G)*Sa+s*Oa+Fa*Xa+ +g[X+340>>2];lb=(hb*N+gb*Q+ib*G)*Ra+s*Ma+Fa*Wa+ +g[X+344>>2];Fa=(hb*N+gb*Q+ib*G)*Ta+s*Qa+Fa*Ya+ +g[X+348>>2];s=Sa*(bb*N+C*Q+ab*G)+Oa*t+Aa*Xa+ +g[X+356>>2];h=(bb*N+C*Q+ab*G)*Ra+t*Ma+Aa*Wa+ +g[X+360>>2];Aa=(bb*N+C*Q+ab*G)*Ta+t*Qa+Aa*Ya+ +g[X+364>>2];t=1.0/(r*(Ga*h-lb*s)+(Ba*(lb*Aa-Fa*h)+jb*(Fa*s-Ga*Aa)));e=(lb*Aa-Fa*h)*t;Da=(Fa*s-Ga*Aa)*t;kb=(Ga*h-lb*s)*t;eb=bb*(jb*Fa-r*lb)*t+(Pa*e+hb*(r*h-jb*Aa)*t);n=C*(jb*Fa-r*lb)*t+(q*e+gb*(r*h-jb*Aa)*t);fb=ab*(jb*Fa-r*lb)*t+(Na*e+ib*(r*h-jb*Aa)*t);H=bb*(r*Ga-Ba*Fa)*t+(Pa*Da+hb*(Ba*Aa-r*s)*t);O=C*(r*Ga-Ba*Fa)*t+(q*Da+gb*(Ba*Aa-r*s)*t);F=ab*(r*Ga-Ba*Fa)*t+(Na*Da+ib*(Ba*Aa-r*s)*t);hb=bb*(Ba*lb-jb*Ga)*t+(Pa*kb+hb*(jb*s-Ba*h)*t);gb=C*(Ba*lb-jb*Ga)*t+(q*kb+gb*(jb*s-Ba*h)*t);ib=ab*(Ba*lb-jb*Ga)*t+(Na*kb+ib*(jb*s-Ba*h)*t);Na=fb*-((La*Ka-Ja*Ia)*p)+(eb*-((Ja*o-cb*Ka)*p)+n*-((cb*Ia-La*o)*p));ab=fb*-((Va*Ia-Ua*Ka)*p)+(eb*-((db*Ka-Va*o)*p)+n*-((Ua*o-db*Ia)*p));q=F*-((La*Ka-Ja*Ia)*p)+(H*-((Ja*o-cb*Ka)*p)+O*-((cb*Ia-La*o)*p));C=F*-((Va*Ia-Ua*Ka)*p)+(H*-((db*Ka-Va*o)*p)+O*-((Ua*o-db*Ia)*p));Pa=ib*-((La*Ka-Ja*Ia)*p)+(hb*-((Ja*o-cb*Ka)*p)+gb*-((cb*Ia-La*o)*p));bb=ib*-((Va*Ia-Ua*Ka)*p)+(hb*-((db*Ka-Va*o)*p)+gb*-((Ua*o-db*Ia)*p));_a=Qa*(ib*G+(hb*N+gb*Q))+(Oa*(fb*G+(eb*N+n*Q))+Ma*(F*G+(H*N+O*Q)));$a=Ya*(ib*G+(hb*N+gb*Q))+(Xa*(fb*G+(eb*N+n*Q))+Wa*(F*G+(H*N+O*Q)));Za=Ta*(ib*G+(hb*N+gb*Q))+(Sa*(fb*G+(eb*N+n*Q))+Ra*(F*G+(H*N+O*Q)))+-1.0;E=+g[U>>2];za=+g[U+4>>2];B=+g[U+8>>2];Ea=+g[U+16>>2];Ca=+g[U+20>>2];Ha=+g[U+24>>2];e=Ha*(jb*Fa-r*lb)*t+(Ea*e+Ca*(r*h-jb*Aa)*t)+(B*ab+(E*(fb*G+(eb*N+n*Q))+za*Na));h=Ha*(Ba*lb-jb*Ga)*t+(Ea*kb+Ca*(jb*s-Ba*h)*t)+(B*bb+(E*(ib*G+(hb*N+gb*Q))+za*Pa));n=Ha*(ib*G+(hb*N+gb*Q))+(Ea*(fb*G+(eb*N+n*Q))+Ca*(F*G+(H*N+O*Q)))+(B*((Ta*bb+(Sa*ab+Ra*C))*N+(Qa*bb+(Oa*ab+Ma*C))*-((Ja*o-cb*Ka)*p)+(Ya*bb+(Xa*ab+Wa*C)+-1.0)*-((db*Ka-Va*o)*p))+(E*($a*-((db*Ka-Va*o)*p)+(_a*-((Ja*o-cb*Ka)*p)+Za*N))+za*((Ya*Pa+(Xa*Na+Wa*q))*-((db*Ka-Va*o)*p)+((Ta*Pa+(Sa*Na+Ra*q))*N+(Qa*Pa+(Oa*Na+Ma*q)+-1.0)*-((Ja*o-cb*Ka)*p)))));o=Ha*Pa+(Ea*Na+Ca*q)+(B*((Ta*bb+(Sa*ab+Ra*C))*Q+(Qa*bb+(Oa*ab+Ma*C))*-((cb*Ia-La*o)*p)+(Ya*bb+(Xa*ab+Wa*C)+-1.0)*-((Ua*o-db*Ia)*p))+(E*($a*-((Ua*o-db*Ia)*p)+(_a*-((cb*Ia-La*o)*p)+Za*Q))+za*((Ya*Pa+(Xa*Na+Wa*q))*-((Ua*o-db*Ia)*p)+((Ta*Pa+(Sa*Na+Ra*q))*Q+(Qa*Pa+(Oa*Na+Ma*q)+-1.0)*-((cb*Ia-La*o)*p)))));p=Ha*bb+(Ea*ab+Ca*C)+(B*((Ta*bb+(Sa*ab+Ra*C))*G+(Qa*bb+(Oa*ab+Ma*C))*-((La*Ka-Ja*Ia)*p)+(Ya*bb+(Xa*ab+Wa*C)+-1.0)*-((Va*Ia-Ua*Ka)*p))+(E*($a*-((Va*Ia-Ua*Ka)*p)+(_a*-((La*Ka-Ja*Ia)*p)+Za*G))+za*((Ya*Pa+(Xa*Na+Wa*q))*-((Va*Ia-Ua*Ka)*p)+((Ta*Pa+(Sa*Na+Ra*q))*G+(Qa*Pa+(Oa*Na+Ma*q)+-1.0)*-((La*Ka-Ja*Ia)*p)))));q=Ha*(r*Ga-Ba*Fa)*t+(Ea*Da+Ca*(Ba*Aa-r*s)*t)+(B*C+(E*(F*G+(H*N+O*Q))+za*q))}while(0);e=-e;g[V>>2]=e;g[U+((Y<<1)+2<<4)+4>>2]=-q;g[U+((Y<<1)+2<<4)+8>>2]=-h;g[U+((Y<<1)+2<<4)+12>>2]=0.0;g[V+16>>2]=-n;g[V+20>>2]=-o;g[V+24>>2]=-p;g[V+28>>2]=0.0}else{c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;c[V+20>>2]=0;c[V+24>>2]=0;c[V+28>>2]=0;e=0.0}if((Y|0)>0){v=0;K=c[X+140>>2]|0;do{w=v;v=v+1|0;e=+g[W+(v*48|0)>>2];h=+g[W+(v*48|0)+4>>2];n=+g[W+(v*48|0)+8>>2];o=+g[W+(v*48|0)+16>>2];p=+g[W+(v*48|0)+20>>2];q=+g[W+(v*48|0)+24>>2];r=+g[W+(v*48|0)+32>>2];s=+g[W+(v*48|0)+36>>2];t=+g[W+(v*48|0)+40>>2];lb=+g[K+(w*608|0)+352>>2];H=+g[K+(w*608|0)+356>>2];G=+g[K+(w*608|0)+360>>2];x=(c[K+(w*608|0)+20>>2]|0)+1|0;B=+g[V+(x<<5)>>2];C=+g[V+(x<<5)+4>>2];E=+g[V+(x<<5)+8>>2];y=V+(v<<5)|0;g[y>>2]=e*B+h*C+n*E;A=V+(v<<5)+4|0;g[A>>2]=o*B+p*C+q*E;J=V+(v<<5)+8|0;g[J>>2]=r*B+s*C+t*E;g[V+(v<<5)+12>>2]=0.0;ib=+g[V+(x<<5)+16>>2];jb=+g[V+(x<<5)+20>>2];kb=+g[V+(x<<5)+24>>2];F=e*ib+h*jb+n*kb-(H*(r*B+s*C+t*E)-G*(o*B+p*C+q*E));G=o*ib+p*jb+q*kb-(G*(e*B+h*C+n*E)-lb*(r*B+s*C+t*E));H=r*ib+s*jb+t*kb-(lb*(o*B+p*C+q*E)-H*(e*B+h*C+n*E));x=V+(v<<5)+16|0;g[x>>2]=F;z=V+(v<<5)+20|0;g[z>>2]=G;I=V+(v<<5)+24|0;g[I>>2]=H;g[V+(v<<5)+28>>2]=0.0;K=c[X+140>>2]|0;L=c[K+(w*608|0)+492>>2]|0;M=c[K+(w*608|0)+328>>2]|0;if((L|0)>0){i=0;do{u=M+i|0;g[ua+176+(i<<2)>>2]=+g[T+(u<<2)>>2]-(F*+g[S+(u<<5)>>2]+G*+g[S+(u<<5)+4>>2]+H*+g[S+(u<<5)+8>>2]+((e*B+h*C+n*E)*+g[S+(u<<5)+16>>2]+(o*B+p*C+q*E)*+g[S+(u<<5)+20>>2]+(r*B+s*C+t*E)*+g[S+(u<<5)+24>>2]));i=i+1|0}while((i|0)!=(L|0));k=R+((P(M,M)|0)<<2)|0;i=0;do{m=P(i,L)|0;u=f+24+(M<<2)+(i<<2)|0;g[u>>2]=0.0;j=0;e=0.0;do{e=e+ +g[k+(j+m<<2)>>2]*+g[ua+176+(j<<2)>>2];g[u>>2]=e;j=j+1|0}while((j|0)!=(L|0));i=i+1|0}while((i|0)!=(L|0));i=0;e=+g[y>>2];h=+g[A>>2];n=+g[J>>2];o=+g[x>>2];p=+g[z>>2];q=+g[I>>2];do{gb=+g[f+24+(M+i<<2)>>2];hb=gb*+g[K+(w*608|0)+136+(i<<5)+4>>2];ib=gb*+g[K+(w*608|0)+136+(i<<5)+8>>2];jb=gb*+g[K+(w*608|0)+136+(i<<5)+16>>2];kb=gb*+g[K+(w*608|0)+136+(i<<5)+20>>2];lb=gb*+g[K+(w*608|0)+136+(i<<5)+24>>2];e=+g[K+(w*608|0)+136+(i<<5)>>2]*gb+e;g[y>>2]=e;h=hb+h;g[A>>2]=h;n=ib+n;g[J>>2]=n;o=jb+o;g[x>>2]=o;p=kb+p;g[z>>2]=p;q=lb+q;g[I>>2]=q;i=i+1|0}while((i|0)!=(L|0))}}while((v|0)!=(Y|0));e=+g[V>>2]}kb=+g[U+((Y<<1)+2<<4)+4>>2];jb=+g[U+((Y<<1)+2<<4)+8>>2];ib=+g[W+4>>2]*e+ +g[W+20>>2]*kb+ +g[W+36>>2]*jb;hb=+g[W+8>>2]*e+ +g[W+24>>2]*kb+ +g[W+40>>2]*jb;g[f>>2]=+g[W>>2]*e+ +g[W+16>>2]*kb+ +g[W+32>>2]*jb;g[f+4>>2]=ib;g[f+8>>2]=hb;hb=+g[V+16>>2];ib=+g[V+20>>2];jb=+g[V+24>>2];kb=+g[W+4>>2]*hb+ +g[W+20>>2]*ib+ +g[W+36>>2]*jb;lb=+g[W+8>>2]*hb+ +g[W+24>>2]*ib+ +g[W+40>>2]*jb;g[f+12>>2]=+g[W>>2]*hb+ +g[W+16>>2]*ib+ +g[W+32>>2]*jb;g[f+16>>2]=kb;g[f+20>>2]=lb;if((ba|0)>-6){j=c[(c[ca+324>>2]|0)+180>>2]|0;i=0;e=0.0;do{e=e+ +g[j+(i<<2)>>2]*+g[$+(i<<2)>>2];i=i+1|0}while((i|0)<(ba+6|0))}else e=0.0;j=ca;k=0;h=ta*e*+g[aa>>2];n=ta*e*+g[Z>>2];e=ta*e*+g[_>>2];break}default:{j=0;k=0;h=0.0;n=0.0;e=0.0}}i=c[ea+(fa*104|0)+24>>2]|0;r=+g[i+8>>2];s=+g[i+12>>2];t=+g[i+16>>2];q=r-+g[i+24>>2]-h;p=s-+g[i+28>>2]-n;e=t-+g[i+32>>2]-e;h=+g[ea+(fa*104|0)+4>>2];n=+g[ea+(fa*104|0)+8>>2];o=+g[ea+(fa*104|0)+12>>2];if(q*h+p*n+e*o<=1.1920928955078125e-07){jb=r*h+s*n+t*o+ +g[ea+(fa*104|0)+20>>2];ib=+g[ea+(fa*104|0)+96>>2];jb=(jb<ga?jb:ga)*+g[ea+(fa*104|0)+100>>2];kb=(q-(q-h*(q*h+p*n+e*o))*ib+h*jb)*d;lb=(p-(p-n*(q*h+p*n+e*o))*ib+jb*n)*d;n=(e-(e-o*(q*h+p*n+e*o))*ib+jb*o)*d;e=+g[ea+(fa*104|0)+28>>2]*kb+ +g[ea+(fa*104|0)+32>>2]*lb+ +g[ea+(fa*104|0)+36>>2]*n;h=kb*+g[ea+(fa*104|0)+44>>2]+lb*+g[ea+(fa*104|0)+48>>2]+n*+g[ea+(fa*104|0)+52>>2];n=kb*+g[ea+(fa*104|0)+60>>2]+lb*+g[ea+(fa*104|0)+64>>2]+n*+g[ea+(fa*104|0)+68>>2];g[ua>>2]=e;g[ua+4>>2]=h;g[ua+8>>2]=n;g[ua+12>>2]=0.0;lb=+g[ea+(fa*104|0)+92>>2];g[i+8>>2]=r-e*lb;g[i+12>>2]=s-lb*h;g[i+16>>2]=t-lb*n;i=c[(c[da>>2]|0)+252>>2]|0;if((i|0)==2){if(k|0)ll(k,ua,ea+(fa*104|0)+76|0)}else if((j|0)!=0&(i|0)==64?(va=c[j+324>>2]|0,wa=+D(+(e*e+h*h+n*n))*-.5,xa=c[va+468>>2]|0,(xa|0)>-6):0){j=c[va+180>>2]|0;i=0;while(1){k=j+(i<<2)|0;h=wa*+g[f+(i<<2)>>2]+ +g[k>>2];g[k>>2]=h;e=+g[va+460>>2];if(!(h<-e)){if(e<h)ya=170}else{e=-e;ya=170}if((ya|0)==170){ya=0;g[k>>2]=e}if((i|0)<(xa+5|0))i=i+1|0;else break}}}}fa=fa+1|0}while((fa|0)!=(sa|0));Ph(ua+48|0);l=ua;return}function hc(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0;O=l;l=l+176|0;B=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;B=((xb[c[(c[B>>2]|0)+56>>2]&127](B)|0)&2048|0)!=0;M=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;M=((xb[c[(c[M>>2]|0)+56>>2]&127](M)|0)&4096|0)!=0;N=+g[d+40>>2];if(N<=0.0){l=O;return}switch(c[d+4>>2]|0){case 3:{c[O+112>>2]=1065353216;c[O+112+4>>2]=0;c[O+112+4+4>>2]=0;c[O+112+4+8>>2]=0;c[O+112+4+12>>2]=0;c[O+112+20>>2]=1065353216;c[O+112+24>>2]=0;c[O+112+24+4>>2]=0;c[O+112+24+8>>2]=0;c[O+112+24+12>>2]=0;c[O+112+40>>2]=1065353216;M=O+112+44|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;D=+g[d+300>>2];C=+g[d+304>>2];A=+g[d+308>>2];M=c[d+28>>2]|0;z=D*+g[M+20>>2]+C*+g[M+24>>2]+A*+g[M+28>>2]+ +g[M+56>>2];y=D*+g[M+36>>2]+C*+g[M+40>>2]+A*+g[M+44>>2]+ +g[M+60>>2];g[O+112+48>>2]=D*+g[M+4>>2]+C*+g[M+8>>2]+A*+g[M+12>>2]+ +g[M+52>>2];g[O+112+52>>2]=z;g[O+112+56>>2]=y;g[O+112+60>>2]=0.0;M=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[M>>2]|0)+64>>2]&7](M,O+112|0,N);y=+g[d+316>>2];z=+g[d+320>>2];A=+g[d+324>>2];d=c[d+32>>2]|0;C=y*+g[d+20>>2]+z*+g[d+24>>2]+A*+g[d+28>>2]+ +g[d+56>>2];D=y*+g[d+36>>2]+z*+g[d+40>>2]+A*+g[d+44>>2]+ +g[d+60>>2];g[O+112+48>>2]=y*+g[d+4>>2]+z*+g[d+8>>2]+A*+g[d+12>>2]+ +g[d+52>>2];g[O+112+52>>2]=C;g[O+112+56>>2]=D;g[O+112+60>>2]=0.0;if(B){b=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[b>>2]|0)+64>>2]&7](b,O+112|0,N)}l=O;return}case 4:{L=c[d+28>>2]|0;e=+g[d+552>>2];U=+g[L+4>>2];f=+g[d+552+16>>2];T=+g[L+8>>2];m=+g[d+552+32>>2];S=+g[L+12>>2];n=+g[d+552+4>>2];s=+g[d+552+20>>2];t=+g[d+552+36>>2];u=+g[d+552+8>>2];w=+g[d+552+24>>2];y=+g[d+552+40>>2];R=+g[L+20>>2];Q=+g[L+24>>2];P=+g[L+28>>2];v=+g[L+36>>2];x=+g[L+40>>2];z=+g[L+44>>2];W=+g[d+552+48>>2];V=+g[d+552+52>>2];D=+g[d+552+56>>2];A=+g[L+52>>2]+(U*W+T*V+S*D);C=R*W+Q*V+P*D+ +g[L+56>>2];D=v*W+x*V+z*D+ +g[L+60>>2];g[O+112>>2]=e*U+f*T+m*S;g[O+112+4>>2]=U*n+T*s+S*t;g[O+112+8>>2]=U*u+T*w+S*y;g[O+112+12>>2]=0.0;g[O+112+16>>2]=e*R+f*Q+m*P;g[O+112+20>>2]=n*R+s*Q+t*P;g[O+112+24>>2]=u*R+w*Q+y*P;g[O+112+28>>2]=0.0;g[O+112+32>>2]=e*v+f*x+m*z;g[O+112+36>>2]=n*v+s*x+t*z;g[O+112+40>>2]=u*v+w*x+y*z;g[O+112+44>>2]=0.0;g[O+112+48>>2]=A;g[O+112+52>>2]=C;g[O+112+56>>2]=D;g[O+112+60>>2]=0.0;if(B){L=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N);L=c[d+32>>2]|0;w=+g[d+616>>2];m=+g[L+4>>2];x=+g[d+616+16>>2];n=+g[L+8>>2];y=+g[d+616+32>>2];s=+g[L+12>>2];z=+g[d+616+4>>2];A=+g[d+616+20>>2];C=+g[d+616+36>>2];D=+g[d+616+8>>2];Q=+g[d+616+24>>2];S=+g[d+616+40>>2];t=+g[L+20>>2];u=+g[L+24>>2];v=+g[L+28>>2];P=+g[L+36>>2];R=+g[L+40>>2];T=+g[L+44>>2];e=+g[d+616+48>>2];f=+g[d+616+52>>2];W=+g[d+616+56>>2];U=+g[L+52>>2]+(m*e+n*f+s*W);V=t*e+u*f+v*W+ +g[L+56>>2];W=P*e+R*f+T*W+ +g[L+60>>2];g[O+112>>2]=w*m+x*n+y*s;g[O+112+4>>2]=m*z+n*A+s*C;g[O+112+8>>2]=m*D+n*Q+s*S;g[O+112+12>>2]=0.0;g[O+112+16>>2]=w*t+x*u+y*v;g[O+112+20>>2]=z*t+A*u+C*v;g[O+112+24>>2]=D*t+Q*u+S*v;g[O+112+28>>2]=0.0;g[O+112+32>>2]=w*P+x*R+y*T;g[O+112+36>>2]=z*P+A*R+C*T;g[O+112+40>>2]=D*P+Q*R+S*T;g[O+112+44>>2]=0.0;g[O+112+48>>2]=U;g[O+112+52>>2]=V;g[O+112+56>>2]=W;g[O+112+60>>2]=0.0;L=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N)}else{L=c[d+32>>2]|0;w=+g[d+616>>2];m=+g[L+4>>2];x=+g[d+616+16>>2];n=+g[L+8>>2];y=+g[d+616+32>>2];s=+g[L+12>>2];z=+g[d+616+4>>2];A=+g[d+616+20>>2];C=+g[d+616+36>>2];D=+g[d+616+8>>2];Q=+g[d+616+24>>2];S=+g[d+616+40>>2];t=+g[L+20>>2];u=+g[L+24>>2];v=+g[L+28>>2];P=+g[L+36>>2];R=+g[L+40>>2];T=+g[L+44>>2];e=+g[d+616+48>>2];f=+g[d+616+52>>2];W=+g[d+616+56>>2];U=+g[L+52>>2]+(m*e+n*f+s*W);V=t*e+u*f+v*W+ +g[L+56>>2];W=P*e+R*f+T*W+ +g[L+60>>2];g[O+112>>2]=w*m+x*n+y*s;g[O+112+4>>2]=m*z+n*A+s*C;g[O+112+8>>2]=m*D+n*Q+s*S;g[O+112+12>>2]=0.0;g[O+112+16>>2]=w*t+x*u+y*v;g[O+112+20>>2]=z*t+A*u+C*v;g[O+112+24>>2]=D*t+Q*u+S*v;g[O+112+28>>2]=0.0;g[O+112+32>>2]=w*P+x*R+y*T;g[O+112+36>>2]=z*P+A*R+C*T;g[O+112+40>>2]=D*P+Q*R+S*T;g[O+112+44>>2]=0.0;g[O+112+48>>2]=U;g[O+112+52>>2]=V;g[O+112+56>>2]=W;g[O+112+60>>2]=0.0}m=+g[d+688>>2];n=+g[d+688+4>>2];e=+mh(m-n,6.2831854820251465);if(!(e<-3.1415927410125732))if(e>3.1415927410125732)f=e+-6.2831854820251465;else f=e;else f=e+6.2831854820251465;e=+mh(m+n,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(!(f==e)?M:0){c[O+96>>2]=c[O+112+8>>2];c[O+96+4>>2]=c[O+112+24>>2];c[O+96+8>>2]=c[O+112+40>>2];g[O+96+12>>2]=0.0;c[O+80>>2]=c[O+112>>2];c[O+80+4>>2]=c[O+112+16>>2];c[O+80+8>>2]=c[O+112+32>>2];g[O+80+12>>2]=0.0;b=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=c[(c[b>>2]|0)+68>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Yb[d&0](b,O+112+48|0,O+96|0,O+80|0,N,N,n>0.0?f:0.0,n>0.0?e:6.2831854820251465,O+64|0,n>0.0,10.0)}l=O;return}case 5:{H=c[d+28>>2]|0;w=+g[d+300>>2];m=+g[H+4>>2];x=+g[d+300+16>>2];n=+g[H+8>>2];y=+g[d+300+32>>2];s=+g[H+12>>2];z=+g[d+300+4>>2];A=+g[d+300+20>>2];C=+g[d+300+36>>2];D=+g[d+300+8>>2];Q=+g[d+300+24>>2];S=+g[d+300+40>>2];t=+g[H+20>>2];u=+g[H+24>>2];v=+g[H+28>>2];P=+g[H+36>>2];R=+g[H+40>>2];T=+g[H+44>>2];e=+g[d+300+48>>2];f=+g[d+300+52>>2];W=+g[d+300+56>>2];U=+g[H+52>>2]+(m*e+n*f+s*W);V=t*e+u*f+v*W+ +g[H+56>>2];W=P*e+R*f+T*W+ +g[H+60>>2];g[O+112>>2]=w*m+x*n+y*s;H=O+112+4|0;g[H>>2]=m*z+n*A+s*C;J=O+112+8|0;g[J>>2]=m*D+n*Q+s*S;g[O+112+12>>2]=0.0;K=O+112+16|0;g[K>>2]=w*t+x*u+y*v;L=O+112+20|0;g[L>>2]=z*t+A*u+C*v;o=O+112+24|0;g[o>>2]=D*t+Q*u+S*v;g[O+112+28>>2]=0.0;p=O+112+32|0;g[p>>2]=w*P+x*R+y*T;q=O+112+36|0;g[q>>2]=z*P+A*R+C*T;r=O+112+40|0;g[r>>2]=D*P+Q*R+S*T;g[O+112+44>>2]=0.0;k=O+112+48|0;g[k>>2]=U;E=O+112+52|0;g[E>>2]=V;I=O+112+56|0;g[I>>2]=W;g[O+112+60>>2]=0.0;if(B){B=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[B>>2]|0)+64>>2]&7](B,O+112|0,N);B=c[d+32>>2]|0;w=+g[d+364>>2];m=+g[B+4>>2];x=+g[d+364+16>>2];n=+g[B+8>>2];y=+g[d+364+32>>2];s=+g[B+12>>2];z=+g[d+364+4>>2];A=+g[d+364+20>>2];C=+g[d+364+36>>2];D=+g[d+364+8>>2];Q=+g[d+364+24>>2];S=+g[d+364+40>>2];t=+g[B+20>>2];u=+g[B+24>>2];v=+g[B+28>>2];P=+g[B+36>>2];R=+g[B+40>>2];T=+g[B+44>>2];e=+g[d+364+48>>2];f=+g[d+364+52>>2];W=+g[d+364+56>>2];U=+g[B+52>>2]+(m*e+n*f+s*W);V=t*e+u*f+v*W+ +g[B+56>>2];W=P*e+R*f+T*W+ +g[B+60>>2];g[O+112>>2]=w*m+x*n+y*s;g[H>>2]=m*z+n*A+s*C;g[J>>2]=m*D+n*Q+s*S;g[O+112+12>>2]=0.0;g[K>>2]=w*t+x*u+y*v;g[L>>2]=z*t+A*u+C*v;g[o>>2]=D*t+Q*u+S*v;g[O+112+28>>2]=0.0;g[p>>2]=w*P+x*R+y*T;g[q>>2]=z*P+A*R+C*T;g[r>>2]=D*P+Q*R+S*T;g[O+112+44>>2]=0.0;g[k>>2]=U;g[E>>2]=V;g[I>>2]=W;g[O+112+60>>2]=0.0;B=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[B>>2]|0)+64>>2]&7](B,O+112|0,N)}else{B=c[d+32>>2]|0;w=+g[d+364>>2];m=+g[B+4>>2];x=+g[d+364+16>>2];n=+g[B+8>>2];y=+g[d+364+32>>2];s=+g[B+12>>2];z=+g[d+364+4>>2];A=+g[d+364+20>>2];C=+g[d+364+36>>2];D=+g[d+364+8>>2];Q=+g[d+364+24>>2];S=+g[d+364+40>>2];t=+g[B+20>>2];u=+g[B+24>>2];v=+g[B+28>>2];P=+g[B+36>>2];R=+g[B+40>>2];T=+g[B+44>>2];e=+g[d+364+48>>2];f=+g[d+364+52>>2];W=+g[d+364+56>>2];U=+g[B+52>>2]+(m*e+n*f+s*W);V=t*e+u*f+v*W+ +g[B+56>>2];W=P*e+R*f+T*W+ +g[B+60>>2];g[O+112>>2]=w*m+x*n+y*s;g[H>>2]=m*z+n*A+s*C;g[J>>2]=m*D+n*Q+s*S;g[O+112+12>>2]=0.0;g[K>>2]=w*t+x*u+y*v;g[L>>2]=z*t+A*u+C*v;g[o>>2]=D*t+Q*u+S*v;g[O+112+28>>2]=0.0;g[p>>2]=w*P+x*R+y*T;g[q>>2]=z*P+A*R+C*T;g[r>>2]=D*P+Q*R+S*T;g[O+112+44>>2]=0.0;g[k>>2]=U;g[E>>2]=V;g[I>>2]=W;g[O+112+60>>2]=0.0}if(M){Ak(O+96|0,d,6.0868353843688965,N);S=+g[O+96>>2];T=+g[O+96+4>>2];U=+g[O+96+8>>2];V=S*+g[K>>2]+T*+g[L>>2]+U*+g[o>>2]+ +g[E>>2];W=S*+g[p>>2]+T*+g[q>>2]+U*+g[r>>2]+ +g[I>>2];g[O+96>>2]=S*+g[O+112>>2]+T*+g[H>>2]+U*+g[J>>2]+ +g[k>>2];g[O+96+4>>2]=V;g[O+96+8>>2]=W;g[O+96+12>>2]=0.0;i=O+112+48|0;h=0;do{Ak(O+80|0,d,+(h|0)*6.283185005187988*.03125,N);S=+g[O+80>>2];T=+g[O+80+4>>2];U=+g[O+80+8>>2];V=S*+g[K>>2]+T*+g[L>>2]+U*+g[o>>2]+ +g[E>>2];W=S*+g[p>>2]+T*+g[q>>2]+U*+g[r>>2]+ +g[I>>2];g[O+80>>2]=S*+g[O+112>>2]+T*+g[H>>2]+U*+g[J>>2]+ +g[k>>2];g[O+80+4>>2]=V;g[O+80+8>>2]=W;g[O+80+12>>2]=0.0;M=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;B=c[(c[M>>2]|0)+16>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Vb[B&127](M,O+96|0,O+80|0,O+64|0);if(!(h&3)){M=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;B=c[(c[M>>2]|0)+16>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Vb[B&127](M,i,O+80|0,O+64|0)}c[O+96>>2]=c[O+80>>2];c[O+96+4>>2]=c[O+80+4>>2];c[O+96+8>>2]=c[O+80+8>>2];c[O+96+12>>2]=c[O+80+12>>2];h=h+1|0}while((h|0)!=32);C=+g[d+452>>2];D=+g[d+512>>2];h=c[d+32>>2]|0;if(+g[h+404>>2]>0.0){P=+g[d+364>>2];R=+g[h+4>>2];Q=+g[d+364+16>>2];S=+g[h+8>>2];z=+g[d+364+32>>2];A=+g[h+12>>2];Y=+g[d+364+4>>2];X=+g[d+364+20>>2];y=+g[d+364+36>>2];_=+g[d+364+8>>2];Z=+g[d+364+24>>2];x=+g[d+364+40>>2];aa=+g[h+20>>2];$=+g[h+24>>2];w=+g[h+28>>2];T=+g[h+36>>2];V=+g[h+40>>2];W=+g[h+44>>2];U=+g[d+364+48>>2];e=+g[d+364+52>>2];f=+g[d+364+56>>2];m=aa*U+$*e+w*f;n=_*T+Z*V+x*W;s=Y*T+X*V+y*W;t=P*T+Q*V+z*W;u=_*aa+Z*$+x*w;v=Y*aa+X*$+y*w;w=P*aa+Q*$+z*w;x=R*_+S*Z+A*x;y=R*Y+S*X+A*y;z=P*R+Q*S+z*A;A=R*U+S*e+A*f;h=h+4|0;e=T*U+V*e;f=W*f}else{h=c[d+28>>2]|0;V=+g[d+300>>2];X=+g[h+4>>2];W=+g[d+300+16>>2];Y=+g[h+8>>2];z=+g[d+300+32>>2];A=+g[h+12>>2];T=+g[d+300+4>>2];U=+g[d+300+20>>2];y=+g[d+300+36>>2];R=+g[d+300+8>>2];S=+g[d+300+24>>2];x=+g[d+300+40>>2];P=+g[h+20>>2];Q=+g[h+24>>2];w=+g[h+28>>2];Z=+g[h+36>>2];$=+g[h+40>>2];aa=+g[h+44>>2];_=+g[d+300+48>>2];e=+g[d+300+52>>2];f=+g[d+300+56>>2];m=P*_+Q*e+w*f;n=R*Z+S*$+x*aa;s=T*Z+U*$+y*aa;t=V*Z+W*$+z*aa;u=R*P+S*Q+x*w;v=T*P+U*Q+y*w;w=V*P+W*Q+z*w;x=X*R+Y*S+A*x;y=X*T+Y*U+A*y;z=V*X+W*Y+z*A;A=X*_+Y*e+A*f;h=h+4|0;e=Z*_+$*e;f=aa*f}_=A+ +g[h+48>>2];$=m+ +g[h+52>>2];aa=f+e+ +g[h+56>>2];g[O+112>>2]=z;g[H>>2]=y;g[J>>2]=x;g[O+112+12>>2]=0.0;g[K>>2]=w;g[L>>2]=v;g[o>>2]=u;g[O+112+28>>2]=0.0;g[p>>2]=t;g[q>>2]=s;g[r>>2]=n;g[O+112+44>>2]=0.0;g[k>>2]=_;g[E>>2]=$;g[I>>2]=aa;g[O+112+60>>2]=0.0;c[O+80>>2]=c[i>>2];c[O+80+4>>2]=c[i+4>>2];c[O+80+8>>2]=c[i+8>>2];c[O+80+12>>2]=c[i+12>>2];g[O+64>>2]=z;g[O+64+4>>2]=w;g[O+64+8>>2]=t;g[O+64+12>>2]=0.0;g[O+48>>2]=y;g[O+48+4>>2]=v;g[O+48+8>>2]=s;g[O+48+12>>2]=0.0;b=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=c[(c[b>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Yb[d&0](b,O+80|0,O+64|0,O+48|0,N,N,-D-C,C-D,O+32|0,1,10.0)}l=O;return}case 6:case 9:{c[O+112>>2]=c[d+1064>>2];c[O+112+4>>2]=c[d+1064+4>>2];c[O+112+8>>2]=c[d+1064+8>>2];c[O+112+12>>2]=c[d+1064+12>>2];i=d+1064+16|0;k=O+112+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];o=d+1064+32|0;p=O+112+32|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];q=O+112+48|0;r=d+1064+48|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];if(B){L=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N);c[O+112>>2]=c[d+1128>>2];c[O+112+4>>2]=c[d+1128+4>>2];c[O+112+8>>2]=c[d+1128+8>>2];c[O+112+12>>2]=c[d+1128+12>>2];c[k>>2]=c[d+1128+16>>2];c[k+4>>2]=c[d+1128+16+4>>2];c[k+8>>2]=c[d+1128+16+8>>2];c[k+12>>2]=c[d+1128+16+12>>2];c[p>>2]=c[d+1128+32>>2];c[p+4>>2]=c[d+1128+32+4>>2];c[p+8>>2]=c[d+1128+32+8>>2];c[p+12>>2]=c[d+1128+32+12>>2];c[q>>2]=c[d+1128+48>>2];c[q+4>>2]=c[d+1128+48+4>>2];c[q+8>>2]=c[d+1128+48+8>>2];c[q+12>>2]=c[d+1128+48+12>>2];L=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N)}else{c[O+112>>2]=c[d+1128>>2];c[O+112+4>>2]=c[d+1128+4>>2];c[O+112+8>>2]=c[d+1128+8>>2];c[O+112+12>>2]=c[d+1128+12>>2];c[k>>2]=c[d+1128+16>>2];c[k+4>>2]=c[d+1128+16+4>>2];c[k+8>>2]=c[d+1128+16+8>>2];c[k+12>>2]=c[d+1128+16+12>>2];c[p>>2]=c[d+1128+32>>2];c[p+4>>2]=c[d+1128+32+4>>2];c[p+8>>2]=c[d+1128+32+8>>2];c[p+12>>2]=c[d+1128+32+12>>2];c[q>>2]=c[d+1128+48>>2];c[q+4>>2]=c[d+1128+48+4>>2];c[q+8>>2]=c[d+1128+48+8>>2];c[q+12>>2]=c[d+1128+48+12>>2]}if(M){c[O+112>>2]=c[d+1064>>2];c[O+112+4>>2]=c[d+1064+4>>2];c[O+112+8>>2]=c[d+1064+8>>2];c[O+112+12>>2]=c[d+1064+12>>2];c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];h=d+1128+48|0;c[O+96>>2]=c[O+112+8>>2];c[O+96+4>>2]=c[O+112+24>>2];c[O+96+8>>2]=c[O+112+40>>2];g[O+96+12>>2]=0.0;c[O+80>>2]=c[O+112>>2];c[O+80+4>>2]=c[O+112+16>>2];c[O+80+8>>2]=c[O+112+32>>2];g[O+80+12>>2]=0.0;Y=+g[d+932>>2];e=+g[d+932+4>>2];$=+g[d+996>>2];_=+g[d+996+4>>2];K=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[K>>2]|0)+72>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Xb[L&0](K,h,O+96|0,O+80|0,N*.8999999761581421,Y,e,$,_,O+64|0,10.0,1);K=c[O+112+4>>2]|0;L=c[O+112+20>>2]|0;M=c[O+112+36>>2]|0;c[O+80>>2]=K;c[O+80+4>>2]=L;c[O+80+8>>2]=M;g[O+80+12>>2]=0.0;_=+g[d+1196>>2];$=+g[d+1200>>2];e=+F(+_);_=+G(+_);Y=+F(+$);$=+G(+$);Z=(c[j>>2]=K,+g[j>>2]);aa=(c[j>>2]=L,+g[j>>2]);f=(c[j>>2]=M,+g[j>>2]);g[O+64>>2]=e*Y*Z+e*$*aa-_*f;g[O+64+4>>2]=Y*aa-$*Z;g[O+64+8>>2]=_*Y*Z+_*$*aa+e*f;c[O+112>>2]=c[d+1128>>2];c[O+112+4>>2]=c[d+1128+4>>2];c[O+112+8>>2]=c[d+1128+8>>2];c[O+112+12>>2]=c[d+1128+12>>2];c[k>>2]=c[d+1128+16>>2];c[k+4>>2]=c[d+1128+16+4>>2];c[k+8>>2]=c[d+1128+16+8>>2];c[k+12>>2]=c[d+1128+16+12>>2];c[p>>2]=c[d+1128+32>>2];c[p+4>>2]=c[d+1128+32+4>>2];c[p+8>>2]=c[d+1128+32+8>>2];c[p+12>>2]=c[d+1128+32+12>>2];c[q>>2]=c[h>>2];c[q+4>>2]=c[h+4>>2];c[q+8>>2]=c[h+8>>2];c[q+12>>2]=c[h+12>>2];f=-+g[O+112+16>>2];e=-+g[O+112+32>>2];g[O+48>>2]=-+g[O+112>>2];g[O+48+4>>2]=f;g[O+48+8>>2]=e;g[O+48+12>>2]=0.0;e=+g[d+868>>2];f=+g[d+868+4>>2];if(!(e>f)){if(e<f){M=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[M>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Yb[L&0](M,h,O+48|0,O+64|0,N,N,e,f,O+32|0,1,10.0)}}else{M=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[M>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Yb[L&0](M,h,O+48|0,O+64|0,N,N,-3.1415927410125732,3.1415927410125732,O+32|0,0,10.0)}c[O+112>>2]=c[d+1064>>2];c[O+112+4>>2]=c[d+1064+4>>2];c[O+112+8>>2]=c[d+1064+8>>2];c[O+112+12>>2]=c[d+1064+12>>2];c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[O+32>>2]=c[d+680>>2];c[O+32+4>>2]=c[d+680+4>>2];c[O+32+8>>2]=c[d+680+8>>2];c[O+32+12>>2]=c[d+680+12>>2];c[O+16>>2]=c[d+680+16>>2];c[O+16+4>>2]=c[d+680+16+4>>2];c[O+16+8>>2]=c[d+680+16+8>>2];c[O+16+12>>2]=c[d+680+16+12>>2];b=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=c[(c[b>>2]|0)+80>>2]|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;Zb[d&31](b,O+32|0,O+16|0,O+112|0,O)}l=O;return}case 12:{c[O+112>>2]=c[d+1236>>2];c[O+112+4>>2]=c[d+1236+4>>2];c[O+112+8>>2]=c[d+1236+8>>2];c[O+112+12>>2]=c[d+1236+12>>2];i=d+1236+16|0;k=O+112+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];o=d+1236+32|0;p=O+112+32|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];q=O+112+48|0;r=d+1236+48|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];if(B){L=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N);c[O+112>>2]=c[d+1300>>2];c[O+112+4>>2]=c[d+1300+4>>2];c[O+112+8>>2]=c[d+1300+8>>2];c[O+112+12>>2]=c[d+1300+12>>2];c[k>>2]=c[d+1300+16>>2];c[k+4>>2]=c[d+1300+16+4>>2];c[k+8>>2]=c[d+1300+16+8>>2];c[k+12>>2]=c[d+1300+16+12>>2];c[p>>2]=c[d+1300+32>>2];c[p+4>>2]=c[d+1300+32+4>>2];c[p+8>>2]=c[d+1300+32+8>>2];c[p+12>>2]=c[d+1300+32+12>>2];c[q>>2]=c[d+1300+48>>2];c[q+4>>2]=c[d+1300+48+4>>2];c[q+8>>2]=c[d+1300+48+8>>2];c[q+12>>2]=c[d+1300+48+12>>2];L=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N)}else{c[O+112>>2]=c[d+1300>>2];c[O+112+4>>2]=c[d+1300+4>>2];c[O+112+8>>2]=c[d+1300+8>>2];c[O+112+12>>2]=c[d+1300+12>>2];c[k>>2]=c[d+1300+16>>2];c[k+4>>2]=c[d+1300+16+4>>2];c[k+8>>2]=c[d+1300+16+8>>2];c[k+12>>2]=c[d+1300+16+12>>2];c[p>>2]=c[d+1300+32>>2];c[p+4>>2]=c[d+1300+32+4>>2];c[p+8>>2]=c[d+1300+32+8>>2];c[p+12>>2]=c[d+1300+32+12>>2];c[q>>2]=c[d+1300+48>>2];c[q+4>>2]=c[d+1300+48+4>>2];c[q+8>>2]=c[d+1300+48+8>>2];c[q+12>>2]=c[d+1300+48+12>>2]}if(M){c[O+112>>2]=c[d+1236>>2];c[O+112+4>>2]=c[d+1236+4>>2];c[O+112+8>>2]=c[d+1236+8>>2];c[O+112+12>>2]=c[d+1236+12>>2];c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];h=d+1300+48|0;c[O+96>>2]=c[O+112+8>>2];c[O+96+4>>2]=c[O+112+24>>2];c[O+96+8>>2]=c[O+112+40>>2];g[O+96+12>>2]=0.0;c[O+80>>2]=c[O+112>>2];c[O+80+4>>2]=c[O+112+16>>2];c[O+80+8>>2]=c[O+112+32>>2];g[O+80+12>>2]=0.0;Y=+g[d+1056>>2];e=+g[d+1060>>2];$=+g[d+1144>>2];_=+g[d+1144+4>>2];K=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[K>>2]|0)+72>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Xb[L&0](K,h,O+96|0,O+80|0,N*.8999999761581421,Y,e,$,_,O+64|0,10.0,1);K=c[O+112+4>>2]|0;L=c[O+112+20>>2]|0;M=c[O+112+36>>2]|0;c[O+80>>2]=K;c[O+80+4>>2]=L;c[O+80+8>>2]=M;g[O+80+12>>2]=0.0;_=+g[d+1368>>2];$=+g[d+1372>>2];e=+F(+_);_=+G(+_);Y=+F(+$);$=+G(+$);Z=(c[j>>2]=K,+g[j>>2]);aa=(c[j>>2]=L,+g[j>>2]);f=(c[j>>2]=M,+g[j>>2]);g[O+64>>2]=e*Y*Z+e*$*aa-_*f;g[O+64+4>>2]=Y*aa-$*Z;g[O+64+8>>2]=_*Y*Z+_*$*aa+e*f;c[O+112>>2]=c[d+1300>>2];c[O+112+4>>2]=c[d+1300+4>>2];c[O+112+8>>2]=c[d+1300+8>>2];c[O+112+12>>2]=c[d+1300+12>>2];c[k>>2]=c[d+1300+16>>2];c[k+4>>2]=c[d+1300+16+4>>2];c[k+8>>2]=c[d+1300+16+8>>2];c[k+12>>2]=c[d+1300+16+12>>2];c[p>>2]=c[d+1300+32>>2];c[p+4>>2]=c[d+1300+32+4>>2];c[p+8>>2]=c[d+1300+32+8>>2];c[p+12>>2]=c[d+1300+32+12>>2];c[q>>2]=c[h>>2];c[q+4>>2]=c[h+4>>2];c[q+8>>2]=c[h+8>>2];c[q+12>>2]=c[h+12>>2];f=-+g[O+112+16>>2];e=-+g[O+112+32>>2];g[O+48>>2]=-+g[O+112>>2];g[O+48+4>>2]=f;g[O+48+8>>2]=e;g[O+48+12>>2]=0.0;e=+g[d+968>>2];f=+g[d+968+4>>2];if(!(e>f)){if(e<f){M=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[M>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Yb[L&0](M,h,O+48|0,O+64|0,N,N,e,f,O+32|0,1,10.0)}}else{M=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[M>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Yb[L&0](M,h,O+48|0,O+64|0,N,N,-3.1415927410125732,3.1415927410125732,O+32|0,0,10.0)}c[O+112>>2]=c[d+1236>>2];c[O+112+4>>2]=c[d+1236+4>>2];c[O+112+8>>2]=c[d+1236+8>>2];c[O+112+12>>2]=c[d+1236+12>>2];c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[O+32>>2]=c[d+680>>2];c[O+32+4>>2]=c[d+680+4>>2];c[O+32+8>>2]=c[d+680+8>>2];c[O+32+12>>2]=c[d+680+12>>2];c[O+16>>2]=c[d+680+16>>2];c[O+16+4>>2]=c[d+680+16+4>>2];c[O+16+8>>2]=c[d+680+16+8>>2];c[O+16+12>>2]=c[d+680+16+12>>2];b=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=c[(c[b>>2]|0)+80>>2]|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;Zb[d&31](b,O+32|0,O+16|0,O+112|0,O)}l=O;return}case 7:{c[O+112>>2]=c[d+824>>2];c[O+112+4>>2]=c[d+824+4>>2];c[O+112+8>>2]=c[d+824+8>>2];c[O+112+12>>2]=c[d+824+12>>2];h=O+112+16|0;c[h>>2]=c[d+824+16>>2];c[h+4>>2]=c[d+824+16+4>>2];c[h+8>>2]=c[d+824+16+8>>2];c[h+12>>2]=c[d+824+16+12>>2];i=O+112+32|0;c[i>>2]=c[d+824+32>>2];c[i+4>>2]=c[d+824+32+4>>2];c[i+8>>2]=c[d+824+32+8>>2];c[i+12>>2]=c[d+824+32+12>>2];k=O+112+48|0;c[k>>2]=c[d+824+48>>2];c[k+4>>2]=c[d+824+48+4>>2];c[k+8>>2]=c[d+824+48+8>>2];c[k+12>>2]=c[d+824+48+12>>2];if(B){L=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N);c[O+112>>2]=c[d+888>>2];c[O+112+4>>2]=c[d+888+4>>2];c[O+112+8>>2]=c[d+888+8>>2];c[O+112+12>>2]=c[d+888+12>>2];c[h>>2]=c[d+888+16>>2];c[h+4>>2]=c[d+888+16+4>>2];c[h+8>>2]=c[d+888+16+8>>2];c[h+12>>2]=c[d+888+16+12>>2];c[i>>2]=c[d+888+32>>2];c[i+4>>2]=c[d+888+32+4>>2];c[i+8>>2]=c[d+888+32+8>>2];c[i+12>>2]=c[d+888+32+12>>2];c[k>>2]=c[d+888+48>>2];c[k+4>>2]=c[d+888+48+4>>2];c[k+8>>2]=c[d+888+48+8>>2];c[k+12>>2]=c[d+888+48+12>>2];L=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Pb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N)}else{c[O+112>>2]=c[d+888>>2];c[O+112+4>>2]=c[d+888+4>>2];c[O+112+8>>2]=c[d+888+8>>2];c[O+112+12>>2]=c[d+888+12>>2];c[h>>2]=c[d+888+16>>2];c[h+4>>2]=c[d+888+16+4>>2];c[h+8>>2]=c[d+888+16+8>>2];c[h+12>>2]=c[d+888+16+12>>2];c[i>>2]=c[d+888+32>>2];c[i+4>>2]=c[d+888+32+4>>2];c[i+8>>2]=c[d+888+32+8>>2];c[i+12>>2]=c[d+888+32+12>>2];c[k>>2]=c[d+888+48>>2];c[k+4>>2]=c[d+888+48+4>>2];c[k+8>>2]=c[d+888+48+8>>2];c[k+12>>2]=c[d+888+48+12>>2]}if(M){E=a[d+180>>0]|0?d+824|0:d+888|0;H=c[E>>2]|0;K=c[E+4>>2]|0;I=c[E+16>>2]|0;L=c[E+20>>2]|0;J=c[E+32>>2]|0;M=c[E+36>>2]|0;Q=+g[E+48>>2];U=+g[E+52>>2];Y=+g[E+56>>2];$=+g[d+184>>2];T=(c[j>>2]=H,+g[j>>2]);S=(c[j>>2]=K,+g[j>>2])*0.0;R=+g[E+8>>2]*0.0;X=(c[j>>2]=I,+g[j>>2]);W=(c[j>>2]=L,+g[j>>2])*0.0;V=+g[E+24>>2]*0.0;aa=(c[j>>2]=J,+g[j>>2]);_=(c[j>>2]=M,+g[j>>2])*0.0;Z=+g[E+40>>2]*0.0;g[O+96>>2]=Q+(R+(S+T*$));g[O+96+4>>2]=U+(V+(W+X*$));g[O+96+8>>2]=Y+(Z+(_+aa*$));g[O+96+12>>2]=0.0;$=+g[d+188>>2];g[O+80>>2]=Q+(R+(S+T*$));g[O+80+4>>2]=U+(V+(W+X*$));g[O+80+8>>2]=Y+(Z+(_+aa*$));g[O+80+12>>2]=0.0;E=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;B=c[(c[E>>2]|0)+16>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Vb[B&127](E,O+96|0,O+80|0,O+64|0);c[O+64>>2]=H;c[O+64+4>>2]=I;c[O+64+8>>2]=J;g[O+64+12>>2]=0.0;c[O+48>>2]=K;c[O+48+4>>2]=L;c[O+48+8>>2]=M;g[O+48+12>>2]=0.0;$=+g[d+192>>2];aa=+g[d+196>>2];b=xb[c[(c[b>>2]|0)+20>>2]&127](b)|0;M=c[(c[b>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Yb[M&0](b,d+888+48|0,O+64|0,O+48|0,N,N,$,aa,O+32|0,1,10.0)}l=O;return}default:{l=O;return}}}function ic(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,E=0.0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,Q=0,R=0,S=0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=l;l=l+112|0;c[Z+40>>2]=0;a[Z+16>>0]=1;c[Z+12>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;a[Z+36>>0]=1;c[Z+32>>2]=0;c[Z+24>>2]=0;c[Z+28>>2]=0;i=e>>>0>8?e:8;if((i|0)>0){c[6995]=(c[6995]|0)+1;h=sc((i<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=0;do{Y=j+(h<<4)|0;c[Y>>2]=c[Z+48>>2];c[Y+4>>2]=c[Z+48+4>>2];c[Y+8>>2]=c[Z+48+8>>2];c[Y+12>>2]=c[Z+48+12>>2];h=h+1|0}while((h|0)!=(i|0));Y=j;X=j}else{Y=0;X=0}do if(!e){w=0;h=0;q=0;u=0;v=0}else{i=c[Z+24>>2]|0;if((i|0)<0){h=c[Z+32>>2]|0;if((c[Z+28>>2]|0)<0){if(!((h|0)==0|(a[Z+36>>0]|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}a[Z+36>>0]=1;c[Z+32>>2]=0;c[Z+28>>2]=0;h=0}Yk(h+(i<<2)|0,0,P(i,-4)|0)|0}c[Z+24>>2]=0;h=d;i=0;x=3402823466385288598117041.0e14;p=-3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;r=-3402823466385288598117041.0e14;z=3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;while(1){T=+g[h>>2];x=T<x?T:x;p=T>p?T:p;T=+g[h+4>>2];y=T<y?T:y;r=T>r?T:r;T=+g[h+8>>2];z=T<z?T:z;t=T>t?T:t;i=i+1|0;if((i|0)==(e|0))break;else h=h+16|0}s=p-x;T=r-y;p=t-z;K=x+s*.5;J=y+T*.5;E=z+p*.5;do if(e>>>0<3|(s<9.999999974752427e-07|T<9.999999974752427e-07|p<9.999999974752427e-07)){t=s>9.999999974752427e-07&s<3402823466385288598117041.0e14?s:3402823466385288598117041.0e14;t=T>9.999999974752427e-07&T<t?T:t;t=p>9.999999974752427e-07&p<t?p:t;if(!(t==3402823466385288598117041.0e14)){r=s<9.999999974752427e-07?t*.05000000074505806:s;s=T<9.999999974752427e-07?t*.05000000074505806:T;if(p<9.999999974752427e-07)p=t*.05000000074505806}else{p=.009999999776482582;r=.009999999776482582;s=.009999999776482582}B=E+p;H=J+s;I=K+r;z=E-p;y=J-s;t=K-r;s=1.0;r=1.0;p=1.0;W=51}else{h=0;o=0;n=d;i=0;do{y=1.0/s*+g[n>>2];z=1.0/T*+g[n+4>>2];A=1.0/p*+g[n+8>>2];n=n+16|0;a:do if(h){j=0;while(1){d=Y+(j<<4)|0;r=+g[d>>2];k=Y+(j<<4)+4|0;t=+g[k>>2];m=Y+(j<<4)+8|0;x=+g[m>>2];if(+C(+(r-y))<1.0000000474974513e-03&+C(+(t-z))<1.0000000474974513e-03&+C(+(x-A))<1.0000000474974513e-03)break;j=j+1|0;if(j>>>0>=h>>>0){m=j;break a}}if((y-1.0/s*K)*(y-1.0/s*K)+(z-1.0/T*J)*(z-1.0/T*J)+(A-1.0/p*E)*(A-1.0/p*E)>(r-1.0/s*K)*(r-1.0/s*K)+(t-1.0/T*J)*(t-1.0/T*J)+(x-1.0/p*E)*(x-1.0/p*E)){g[d>>2]=y;g[k>>2]=z;g[m>>2]=A;m=j}else m=j}else m=0;while(0);if((m|0)==(h|0)){g[Y+(h<<4)>>2]=y;g[Y+(h<<4)+4>>2]=z;g[Y+(h<<4)+8>>2]=A;h=h+1|0}if((i|0)==(c[Z+28>>2]|0)?(q=i|0?i<<1:1,(i|0)<(q|0)):0){if((q|0)!=0?(c[6995]=(c[6995]|0)+1,u=sc((q<<2|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;k=u+4+15&-16}else k=0;d=c[Z+32>>2]|0;if((i|0)<=0){if(d)W=37}else{j=0;do{c[k+(j<<2)>>2]=c[d+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0));W=37}if((W|0)==37){W=0;if(a[Z+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[Z+32>>2]=0;i=c[Z+24>>2]|0}a[Z+36>>0]=1;c[Z+32>>2]=k;c[Z+28>>2]=q}c[(c[Z+32>>2]|0)+(i<<2)>>2]=m;i=(c[Z+24>>2]|0)+1|0;c[Z+24>>2]=i;o=o+1|0}while((o|0)!=(e|0));if(!h){i=1;x=-3402823466385288598117041.0e14;E=3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;A=3402823466385288598117041.0e14;r=-3402823466385288598117041.0e14;y=3402823466385288598117041.0e14}else{i=0;B=3402823466385288598117041.0e14;E=3402823466385288598117041.0e14;H=-3402823466385288598117041.0e14;x=-3402823466385288598117041.0e14;J=3402823466385288598117041.0e14;A=3402823466385288598117041.0e14;K=-3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;M=3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;N=-3402823466385288598117041.0e14;r=-3402823466385288598117041.0e14;while(1){z=+g[Y+(i<<4)>>2];j=z<B;E=j?z:E;d=z>H;x=d?z:x;I=+g[Y+(i<<4)+4>>2];k=I<J;A=k?I:A;m=I>K;t=m?I:t;L=+g[Y+(i<<4)+8>>2];n=L<M;y=n?L:y;o=L>N;r=o?L:r;i=i+1|0;if((i|0)==(h|0))break;else{B=j?z:B;H=d?z:H;J=k?I:J;K=m?I:K;M=n?L:M;N=o?L:N}}i=h>>>0<3}x=x-E;z=t-A;B=r-y;if(!(i|(x<9.999999974752427e-07|z<9.999999974752427e-07|B<9.999999974752427e-07))){if(h|0){r=T;U=h;W=52;break}break}E=E+x*.5;A=A+z*.5;y=y+B*.5;t=x>=9.999999974752427e-07&x<3402823466385288598117041.0e14?x:3402823466385288598117041.0e14;t=z>=9.999999974752427e-07&z<t?z:t;t=B>=9.999999974752427e-07&B<t?B:t;if(!(t==3402823466385288598117041.0e14)){x=x<9.999999974752427e-07?t*.05000000074505806:x;r=z<9.999999974752427e-07?t*.05000000074505806:z;if(B<9.999999974752427e-07)t=t*.05000000074505806;else t=B}else{t=.009999999776482582;r=.009999999776482582;x=.009999999776482582}B=y+t;H=A+r;I=E+x;z=y-t;y=A-r;t=E-x;r=T;W=51}while(0);if((W|0)==51){g[Y>>2]=t;g[Y+4>>2]=y;g[Y+8>>2]=z;g[Y+16>>2]=I;g[Y+20>>2]=y;g[Y+24>>2]=z;g[Y+32>>2]=I;g[Y+36>>2]=H;g[Y+40>>2]=z;g[Y+48>>2]=t;g[Y+52>>2]=H;g[Y+56>>2]=z;g[Y+64>>2]=t;g[Y+68>>2]=y;g[Y+72>>2]=B;g[Y+80>>2]=I;g[Y+84>>2]=y;g[Y+88>>2]=B;g[Y+96>>2]=I;g[Y+100>>2]=H;g[Y+104>>2]=B;g[Y+112>>2]=t;g[Y+116>>2]=H;g[Y+120>>2]=B;U=8;W=52}if((W|0)==52){h=0;do{V=Y+(h<<4)|0;g[V>>2]=s*+g[V>>2];V=Y+(h<<4)+4|0;g[V>>2]=r*+g[V>>2];V=Y+(h<<4)+8|0;g[V>>2]=p*+g[V>>2];h=h+1|0}while(h>>>0<U>>>0);if((U|0)>=4){p=+g[Y>>2];s=+g[Y+4>>2];r=+g[Y+8>>2];V=U<<2;c[6995]=(c[6995]|0)+1;h=sc((V|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}c[Z+48>>2]=0;c[6995]=(c[6995]|0)+1;i=sc((V|3)+16|0)|0;if(i){c[(i+4+15&-16)+-4>>2]=i;h=c[Z+48>>2]|0;if(!h)h=i+4+15&-16;else{c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);h=i+4+15&-16}}else h=0;c[Z+48>>2]=h;z=p;x=p;y=r;n=U;q=j;u=0;t=s;p=s;h=U;o=j;d=j;while(1){if((u|0)==(h|0)?(v=u|0?u<<1:1,(u|0)<(v|0)):0){if((v|0)!=0?(c[6995]=(c[6995]|0)+1,w=sc((v<<2|3)+16|0)|0,(w|0)!=0):0){c[(w+4+15&-16)+-4>>2]=w;i=w+4+15&-16}else i=0;j=c[Z+48>>2]|0;if((u|0)<=0){if(j|0)W=68}else{h=0;do{c[i+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(u|0));W=68}if((W|0)==68){W=0;c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);c[Z+48>>2]=0}c[Z+48>>2]=i;m=v}else m=h;c[(c[Z+48>>2]|0)+(u<<2)>>2]=1;k=u;u=u+1|0;do if((k|0)==(n|0)){i=k|0?k<<1:1;if((k|0)<(i|0)){if((i|0)!=0?(c[6995]=(c[6995]|0)+1,F=sc((i<<2|3)+16|0)|0,(F|0)!=0):0){c[(F+4+15&-16)+-4>>2]=F;j=F+4+15&-16}else j=0;if((k|0)>0){h=0;do{c[j+(h<<2)>>2]=c[q+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0));if(!d){q=j;d=j;o=j;break}}else if((q|0)==0|(d|0)==0){q=j;d=j;o=j;break}c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);q=j;d=j;o=j}else i=k}else i=n;while(0);c[q+(k<<2)>>2]=0;M=+g[Y+(k<<4)>>2];x=M<x?M:x;N=+g[Y+(k<<4)+4>>2];p=N<p?N:p;T=+g[Y+(k<<4)+8>>2];r=T<r?T:r;z=z<M?M:z;t=t<N?N:t;y=y<T?T:y;if((u|0)>=(U|0))break;else{n=i;h=m}}z=z-x;x=t-p;I=y-r;I=+D(+(z*z+x*x+I*I))*1.0000000474974513e-03;O=Se(Y,U,.009999999776482582,.019999999552965164,1.0,c[Z+48>>2]|0)|0;m=c[Z+48>>2]|0;Q=Se(Y,U,-.009999999776482582,-.019999999552965164,-1.0,m)|0;n=Y+(O<<4)|0;u=Y+(Q<<4)|0;x=+g[n>>2]-+g[u>>2];v=Y+(O<<4)+4|0;w=Y+(Q<<4)+4|0;y=+g[v>>2]-+g[w>>2];F=Y+(O<<4)+8|0;G=Y+(Q<<4)+8|0;z=+g[F>>2]-+g[G>>2];b:do if((O|0)!=(Q|0)?!(z==0.0&y==0.0&x==0.0):0){p=+D(+((z*.019999999552965164-y*0.0)*(z*.019999999552965164-y*0.0)+(x*0.0-z)*(x*0.0-z)+(y-x*.019999999552965164)*(y-x*.019999999552965164)));r=+D(+((z-y*0.0)*(z-y*0.0)+(z*.019999999552965164+x*0.0)*(z*.019999999552965164+x*0.0)+(y*-.019999999552965164-x)*(y*-.019999999552965164-x)));if(p>r){s=(y-x*.019999999552965164)*(1.0/p);t=(z*.019999999552965164-y*0.0)*(1.0/p);p=(x*0.0-z)*(1.0/p)}else{s=(y*-.019999999552965164-x)*(1.0/r);t=(z-y*0.0)*(1.0/r);p=(z*.019999999552965164+x*0.0)*(1.0/r)}h=Se(Y,U,t,p,s,m)|0;if((h|0)==(O|0)|(h|0)==(Q|0))i=Se(Y,U,-t,-p,-s,m)|0;else i=h;if(!((i|0)==(O|0)|(i|0)==(Q|0))){j=Y+(i<<4)|0;p=+g[j>>2]-+g[n>>2];d=Y+(i<<4)+4|0;r=+g[d>>2]-+g[v>>2];k=Y+(i<<4)+8|0;s=+g[k>>2]-+g[F>>2];t=1.0/+D(+((y*p-r*x)*(y*p-r*x)+((r*z-s*y)*(r*z-s*y)+(s*x-z*p)*(s*x-z*p))));h=Se(Y,U,(r*z-s*y)*t,(s*x-z*p)*t,(y*p-r*x)*t,m)|0;if((h|0)==(i|0)|((h|0)==(O|0)|(h|0)==(Q|0)))h=Se(Y,U,-((r*z-s*y)*t),-((s*x-z*p)*t),-((y*p-r*x)*t),m)|0;if(!((h|0)==(i|0)|((h|0)==(O|0)|(h|0)==(Q|0)))?(E=+g[n>>2],K=+g[v>>2],B=+g[F>>2],N=+g[u>>2]-E,H=+g[w>>2]-K,L=+g[G>>2]-B,M=+g[j>>2]-E,J=+g[d>>2]-K,T=+g[k>>2]-B,R=(+g[Y+(h<<4)+8>>2]-B)*(N*J-H*M)+((+g[Y+(h<<4)>>2]-E)*(H*T-L*J)+(+g[Y+(h<<4)+4>>2]-K)*(L*M-N*T))<0.0,S=R?i:h,R=R?h:i,(O|0)!=-1):0){B=(+g[Y+(O<<4)>>2]+ +g[Y+(Q<<4)>>2]+ +g[Y+(R<<4)>>2]+ +g[Y+(S<<4)>>2])*.25;E=(+g[Y+(O<<4)+4>>2]+ +g[Y+(Q<<4)+4>>2]+ +g[Y+(R<<4)+4>>2]+ +g[Y+(S<<4)+4>>2])*.25;H=(+g[Y+(O<<4)+8>>2]+ +g[Y+(Q<<4)+8>>2]+ +g[Y+(R<<4)+8>>2]+ +g[Y+(S<<4)+8>>2])*.25;h=Lh(Z,R,S,Q)|0;c[h+12>>2]=2;c[h+16>>2]=3;c[h+20>>2]=1;h=Lh(Z,S,R,O)|0;c[h+12>>2]=3;c[h+16>>2]=2;c[h+20>>2]=0;h=Lh(Z,O,Q,S)|0;c[h+12>>2]=0;c[h+16>>2]=1;c[h+20>>2]=3;h=Lh(Z,Q,O,R)|0;c[h+12>>2]=1;c[h+16>>2]=0;c[h+20>>2]=2;c[q+(S<<2)>>2]=1;c[q+(R<<2)>>2]=1;c[q+(Q<<2)>>2]=1;c[q+(O<<2)>>2]=1;h=c[Z+4>>2]|0;if((h|0)>0){j=c[Z+12>>2]|0;i=0;do{h=c[j+(i<<2)>>2]|0;R=c[h>>2]|0;Q=c[h+4>>2]|0;S=c[h+8>>2]|0;x=+g[Y+(Q<<4)>>2];s=x-+g[Y+(R<<4)>>2];y=+g[Y+(Q<<4)+4>>2];t=y-+g[Y+(R<<4)+4>>2];r=+g[Y+(Q<<4)+8>>2];p=r-+g[Y+(R<<4)+8>>2];x=+g[Y+(S<<4)>>2]-x;y=+g[Y+(S<<4)+4>>2]-y;r=+g[Y+(S<<4)+8>>2]-r;z=+D(+((s*y-t*x)*(s*y-t*x)+((t*r-p*y)*(t*r-p*y)+(p*x-s*r)*(p*x-s*r))));if(z==0.0){A=1.0;r=0.0;p=0.0}else{A=1.0/z*(t*r-p*y);r=1.0/z*(p*x-s*r);p=1.0/z*(s*y-t*x)}R=Se(Y,U,A,r,p,c[Z+48>>2]|0)|0;c[h+28>>2]=R;S=c[h>>2]|0;g[h+32>>2]=(+g[Y+(R<<4)>>2]-+g[Y+(S<<4)>>2])*A+(+g[Y+(R<<4)+4>>2]-+g[Y+(S<<4)+4>>2])*r+(+g[Y+(R<<4)+8>>2]-+g[Y+(S<<4)+8>>2])*p;i=i+1|0;h=c[Z+4>>2]|0}while((i|0)<(h|0))}if((e+-4|0)>0){u=e+-4|0;while(1){m=c[Z+12>>2]|0;d=0;i=0;do{j=c[m+(d<<2)>>2]|0;do if(i){if(!j)break;if(+g[i+32>>2]<+g[j+32>>2])W=104}else W=104;while(0);if((W|0)==104){W=0;i=j}d=d+1|0}while((d|0)<(h|0));if((i|0)==0?1:!(+g[i+32>>2]>I)){h=1;break b}n=c[i+28>>2]|0;c[q+(n<<2)>>2]=1;h=c[Z+4>>2]|0;c:do if(h|0){j=Y+(n<<4)|0;d=Y+(n<<4)+4|0;k=Y+(n<<4)+8|0;i=m;while(1){h=h+-1|0;i=c[i+(h<<2)>>2]|0;do if(i|0){S=c[i>>2]|0;R=c[i+4>>2]|0;e=c[i+8>>2]|0;M=+g[Y+(R<<4)>>2];N=+g[Y+(S<<4)>>2];x=+g[Y+(R<<4)+4>>2];z=+g[Y+(S<<4)+4>>2];J=+g[Y+(R<<4)+8>>2];K=+g[Y+(S<<4)+8>>2];L=+g[Y+(e<<4)>>2]-M;y=+g[Y+(e<<4)+4>>2]-x;T=+g[Y+(e<<4)+8>>2]-J;A=+D(+(((M-N)*y-(x-z)*L)*((M-N)*y-(x-z)*L)+(((x-z)*T-(J-K)*y)*((x-z)*T-(J-K)*y)+((J-K)*L-(M-N)*T)*((J-K)*L-(M-N)*T))));if(!((A==0.0?0.0:1.0/A*((M-N)*y-(x-z)*L))*(+g[k>>2]-K)+((+g[j>>2]-N)*(A==0.0?1.0:1.0/A*((x-z)*T-(J-K)*y))+(+g[d>>2]-z)*(A==0.0?0.0:1.0/A*((J-K)*L-(M-N)*T)))>I*.009999999776482582))break;me(Z,i,n)}while(0);if(!h)break;i=c[Z+12>>2]|0}h=c[Z+4>>2]|0;if(!h)break;else i=h;d:do{i=i+-1|0;d=c[Z+12>>2]|0;k=c[d+(i<<2)>>2]|0;do if(k){m=c[k>>2]|0;do if((m|0)!=(n|0)){j=c[k+4>>2]|0;if((j|0)==(n|0)){j=n;break}if((c[k+8>>2]|0)!=(n|0))break d}else j=c[k+4>>2]|0;while(0);e=c[k+8>>2]|0;M=+g[Y+(j<<4)>>2];N=+g[Y+(m<<4)>>2];x=+g[Y+(j<<4)+4>>2];z=+g[Y+(m<<4)+4>>2];J=+g[Y+(j<<4)+8>>2];K=+g[Y+(m<<4)+8>>2];L=+g[Y+(e<<4)>>2]-M;y=+g[Y+(e<<4)+4>>2]-x;T=+g[Y+(e<<4)+8>>2]-J;A=+D(+(((M-N)*y-(x-z)*L)*((M-N)*y-(x-z)*L)+(((x-z)*T-(J-K)*y)*((x-z)*T-(J-K)*y)+((J-K)*L-(M-N)*T)*((J-K)*L-(M-N)*T))));if(!(A<I*I*.10000000149011612?1:(H-K)*(A==0.0?0.0:1.0/A*((M-N)*y-(x-z)*L))+((B-N)*(A==0.0?1.0:1.0/A*((x-z)*T-(J-K)*y))+(E-z)*(A==0.0?0.0:1.0/A*((J-K)*L-(M-N)*T)))>I*.009999999776482582))break;me(Z,c[d+(c[k+12>>2]<<2)>>2]|0,n);h=c[Z+4>>2]|0;i=h}while(0)}while((i|0)!=0);if(!h)break;d=c[Z+12>>2]|0;do{h=h+-1|0;j=c[d+(h<<2)>>2]|0;do if(j|0){if((c[j+28>>2]|0)>-1)break c;S=c[j>>2]|0;R=c[j+4>>2]|0;e=c[j+8>>2]|0;x=+g[Y+(R<<4)>>2];s=x-+g[Y+(S<<4)>>2];y=+g[Y+(R<<4)+4>>2];t=y-+g[Y+(S<<4)+4>>2];r=+g[Y+(R<<4)+8>>2];p=r-+g[Y+(S<<4)+8>>2];x=+g[Y+(e<<4)>>2]-x;y=+g[Y+(e<<4)+4>>2]-y;r=+g[Y+(e<<4)+8>>2]-r;z=+D(+((s*y-t*x)*(s*y-t*x)+((t*r-p*y)*(t*r-p*y)+(p*x-s*r)*(p*x-s*r))));if(z==0.0){A=1.0;r=0.0;p=0.0}else{A=1.0/z*(t*r-p*y);r=1.0/z*(p*x-s*r);p=1.0/z*(s*y-t*x)}i=Se(Y,U,A,r,p,c[Z+48>>2]|0)|0;c[j+28>>2]=i;if(!(c[q+(i<<2)>>2]|0)){e=c[j>>2]|0;g[j+32>>2]=(+g[Y+(i<<4)>>2]-+g[Y+(e<<4)>>2])*A+(+g[Y+(i<<4)+4>>2]-+g[Y+(e<<4)+4>>2])*r+(+g[Y+(i<<4)+8>>2]-+g[Y+(e<<4)+8>>2])*p;break}else{c[j+28>>2]=-1;break}}while(0)}while((h|0)!=0)}while(0);if((u|0)<=1){h=1;break b}u=u+-1|0;h=c[Z+4>>2]|0}}else h=1}else h=0}else h=0}else h=0;while(0);i=c[Z+48>>2]|0;if(i|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);c[Z+48>>2]=0}if(!((q|0)==0|(o|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[o+-4>>2]|0)}if(h){h=c[Z+4>>2]|0;if((h|0)>0){v=0;m=0;j=0;k=0;i=0;d=c[Z+12>>2]|0;n=0;do{o=c[d+(v<<2)>>2]|0;if(o){do if((k|0)==(m|0)){d=m|0?m<<1:1;if((m|0)>=(d|0)){d=m;break}do if(!d)i=0;else{c[6995]=(c[6995]|0)+1;h=sc((d<<2|3)+16|0)|0;if(!h){i=0;break}c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}while(0);if((m|0)>0){h=0;do{c[i+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0));if(!n){j=i;n=i;break}}else if((j|0)==0|(n|0)==0){j=i;n=i;break}c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0);j=i;n=i}else d=m;while(0);c[j+(k<<2)>>2]=c[o>>2];o=k+1|0;q=(c[(c[Z+12>>2]|0)+(v<<2)>>2]|0)+4|0;do if((o|0)==(d|0)){m=d|0?d<<1:1;if((d|0)>=(m|0)){u=n;break}do if(!m)i=0;else{c[6995]=(c[6995]|0)+1;h=sc((m<<2|3)+16|0)|0;if(!h){i=0;break}c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}while(0);if((d|0)>0){h=0;do{c[i+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(d|0));if(!n){d=m;j=i;u=i;break}}else if((j|0)==0|(n|0)==0){d=m;j=i;u=i;break}c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0);d=m;j=i;u=i}else u=n;while(0);c[j+(o<<2)>>2]=c[q>>2];o=k+2|0;q=(c[(c[Z+12>>2]|0)+(v<<2)>>2]|0)+8|0;do if((o|0)==(d|0)){m=d|0?d<<1:1;if((d|0)>=(m|0)){m=d;n=u;break}do if(!m)n=0;else{c[6995]=(c[6995]|0)+1;h=sc((m<<2|3)+16|0)|0;if(!h){n=0;break}c[(h+4+15&-16)+-4>>2]=h;n=h+4+15&-16}while(0);if((d|0)>0){h=0;do{c[n+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(d|0));if(!u){j=n;i=n;break}}else if((j|0)==0|(u|0)==0){j=n;i=n;break}c[6996]=(c[6996]|0)+1;Cd(c[u+-4>>2]|0);j=n;i=n}else{m=d;n=u}while(0);c[j+(o<<2)>>2]=c[q>>2];d=c[Z+12>>2]|0;h=c[d+(v<<2)>>2]|0;c[d+(c[h+24>>2]<<2)>>2]=0;if(h|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}k=k+3|0;h=c[Z+4>>2]|0}v=v+1|0}while((v|0)<(h|0));c[Z+44>>2]=(k|0)/3|0;if((k|0)>0){c[6995]=(c[6995]|0)+1;h=sc((k<<2|3)+16|0)|0;if(!h)d=0;else{c[(h+4+15&-16)+-4>>2]=h;d=h+4+15&-16}Yk(d|0,0,k<<2|0)|0;h=0;do{c[d+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0));n=i;m=j;h=d;S=d}else{n=i;m=j;h=0;S=0}}else{c[Z+44>>2]=0;n=0;m=0;h=0;k=0;S=0}i=c[Z+4>>2]|0;if((i|0)<0){if((c[Z+8>>2]|0)<0){j=c[Z+12>>2]|0;if(j|0){if(a[Z+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[Z+12>>2]=0}a[Z+16>>0]=1;c[Z+12>>2]=0;c[Z+8>>2]=0}do{c[(c[Z+12>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[Z+4>>2]=0;if(!((m|0)==0|(n|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[n+-4>>2]|0)}R=c[Z+44>>2]|0;m=(U|0)>0;if(m){c[6995]=(c[6995]|0)+1;i=sc((U<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=0;do{e=j+(i<<4)|0;c[e>>2]=c[Z+48>>2];c[e+4>>2]=c[Z+48+4>>2];c[e+8>>2]=c[Z+48+8>>2];c[e+12>>2]=c[Z+48+12>>2];i=i+1|0}while((i|0)!=(U|0));Q=j;O=j}else{Q=0;O=0}j=c[Z+24>>2]|0;do if((j|0)>0){c[6995]=(c[6995]|0)+1;i=sc((j<<2|3)+16|0)|0;if(!i)d=0;else{c[(i+4+15&-16)+-4>>2]=i;d=i+4+15&-16}Yk(d|0,0,j<<2|0)|0;if((c[Z+24>>2]|0)<=0){G=d;F=d;break}j=c[Z+32>>2]|0;i=0;do{c[d+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)<(c[Z+24>>2]|0));G=d;F=d}else{G=0;F=0}while(0);if(m){c[6995]=(c[6995]|0)+1;i=sc((V|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}Yk(i|0,0,V|0)|0;u=i;v=i}else{u=0;v=0}Yk(v|0,0,V|0)|0;if((R|0)<=0)if(!u)w=0;else{i=0;W=221}else{q=c[Z+32>>2]|0;o=0;i=0;do{j=h+(o<<2)|0;m=c[j>>2]|0;n=u+(m<<2)|0;d=c[n>>2]|0;if(!d){c[j>>2]=i;c[Q+(i<<4)>>2]=c[X+(m<<4)>>2];c[Q+(i<<4)+4>>2]=c[X+(m<<4)+4>>2];c[Q+(i<<4)+8>>2]=c[X+(m<<4)+8>>2];d=c[Z+24>>2]|0;if((d|0)>0){j=0;do{if((c[G+(j<<2)>>2]|0)==(m|0))c[q+(j<<2)>>2]=i;j=j+1|0}while((j|0)!=(d|0))}i=i+1|0;c[n>>2]=i}else c[j>>2]=d+-1;o=o+1|0}while((o|0)!=(R*3|0));W=221}do if((W|0)==221){if(!v){w=i;break}c[6996]=(c[6996]|0)+1;Cd(c[v+-4>>2]|0);w=i}while(0);if(!((G|0)==0|(F|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[F+-4>>2]|0)}if((w|0)>0){c[6995]=(c[6995]|0)+1;i=sc((w<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=0;do{W=j+(i<<4)|0;c[W>>2]=c[Z+48>>2];c[W+4>>2]=c[Z+48+4>>2];c[W+8>>2]=c[Z+48+8>>2];c[W+12>>2]=c[Z+48+12>>2];i=i+1|0}while((i|0)!=(w|0));m=j;d=j}else{m=0;d=0}if((R|0)>0){c[6995]=(c[6995]|0)+1;i=sc((R*12|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[Z+40>>2]|0;if(j|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[Z+40>>2]=i;Yk(i|0,0,R*12|0)|0}gi(d|0,O|0,w<<4|0)|0;gi(c[Z+40>>2]|0,S|0,R*12|0)|0;do if(k){if(!h){h=0;break}c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);h=0}while(0);if((Q|0)==0|(O|0)==0){q=m;u=R;v=R*3|0;break}c[6996]=(c[6996]|0)+1;Cd(c[O+-4>>2]|0);q=m;u=R;v=R*3|0;break}}}w=0;h=0;q=0;u=0;v=0}while(0);if(!((Y|0)==0|(X|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[X+-4>>2]|0)}if(h|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[6995]=(c[6995]|0)+1;h=sc(1271)|0;if(!h)F=0;else{c[(h+4+15&-16)+-4>>2]=h;F=h+4+15&-16}Bc(F,b,w,q,0);if((u|0)>0){i=F+780|0;j=F+792|0;d=F+800|0;k=F+984|0;h=0;do{o=h*3|0;b=c[Z+40>>2]|0;m=c[b+(o<<2)>>2]|0;n=c[b+(o+1<<2)>>2]|0;o=c[b+(o+2<<2)>>2]|0;if((m|0)<(n|0)){X=c[i>>2]|0;Xh(F,0);b=(c[j>>2]|0)+-1|0;Y=c[d>>2]|0;c[Y+(b*52|0)+24>>2]=X+(m*104|0);c[Y+(b*52|0)+28>>2]=X+(n*104|0);M=+g[X+(m*104|0)+8>>2]-+g[X+(n*104|0)+8>>2];N=+g[X+(m*104|0)+12>>2]-+g[X+(n*104|0)+12>>2];T=+g[X+(m*104|0)+16>>2]-+g[X+(n*104|0)+16>>2];g[Y+(b*52|0)+32>>2]=+D(+(M*M+N*N+T*T));a[k>>0]=1}if((n|0)<(o|0)){X=c[i>>2]|0;Xh(F,0);b=(c[j>>2]|0)+-1|0;Y=c[d>>2]|0;c[Y+(b*52|0)+24>>2]=X+(n*104|0);c[Y+(b*52|0)+28>>2]=X+(o*104|0);M=+g[X+(n*104|0)+8>>2]-+g[X+(o*104|0)+8>>2];N=+g[X+(n*104|0)+12>>2]-+g[X+(o*104|0)+12>>2];T=+g[X+(n*104|0)+16>>2]-+g[X+(o*104|0)+16>>2];g[Y+(b*52|0)+32>>2]=+D(+(M*M+N*N+T*T));a[k>>0]=1}if((o|0)<(m|0)){X=c[i>>2]|0;Xh(F,0);b=(c[j>>2]|0)+-1|0;Y=c[d>>2]|0;c[Y+(b*52|0)+24>>2]=X+(o*104|0);c[Y+(b*52|0)+28>>2]=X+(m*104|0);M=+g[X+(o*104|0)+8>>2]-+g[X+(m*104|0)+8>>2];N=+g[X+(o*104|0)+12>>2]-+g[X+(m*104|0)+12>>2];T=+g[X+(o*104|0)+16>>2]-+g[X+(m*104|0)+16>>2];g[Y+(b*52|0)+32>>2]=+D(+(M*M+N*N+T*T));a[k>>0]=1}bg(F,m,n,o,0);h=h+1|0}while((h|0)!=(u|0))}if(w)if(!q)u=0;else{c[6996]=(c[6996]|0)+1;Cd(c[q+-4>>2]|0);u=0}else u=q;if(v|0){h=c[Z+40>>2]|0;if(h|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);c[Z+40>>2]=0}c[Z+40>>2]=0}if(f){j=c[F+792>>2]|0;if((j|0)>0){d=F+800|0;h=243703;i=0;do{k=c[d>>2]|0;m=k+(i*52|0)|0;h=(P(h,1664525)|0)+1013904223|0;n=Z+48|0;o=m;q=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));n=m;o=k+(((h>>>0)%(j>>>0)|0)*52|0)|0;q=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));n=k+(((h>>>0)%(j>>>0)|0)*52|0)|0;o=Z+48|0;q=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));i=i+1|0}while((i|0)!=(j|0))}else h=243703;k=c[F+812>>2]|0;if((k|0)>0){m=F+820|0;i=0;do{d=c[m>>2]|0;j=d+(i*44|0)|0;h=(P(h,1664525)|0)+1013904223|0;d=d+(((h>>>0)%(k>>>0)|0)*44|0)|0;n=Z+48|0;o=j;q=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));n=j;o=d;q=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));n=d;o=Z+48|0;q=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));i=i+1|0}while((i|0)!=(k|0))}}h=c[Z+32>>2]|0;if(h|0){if(a[Z+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[Z+32>>2]=0}a[Z+36>>0]=1;c[Z+32>>2]=0;c[Z+24>>2]=0;c[Z+28>>2]=0;h=c[Z+12>>2]|0;if(h|0){if(a[Z+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[Z+12>>2]=0}h=c[Z+40>>2]|0;if(h|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);c[Z+40>>2]=0}c[Z+40>>2]=0;if(!u){l=Z;return F|0}c[6996]=(c[6996]|0)+1;Cd(c[u+-4>>2]|0);l=Z;return F|0}function jc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0;K=l;l=l+16|0;f=c[b+1112>>2]|0;if((f|0)>0)while(1){j=c[c[b+1120>>2]>>2]|0;f=c[j+348>>2]|0;if(f|0){Ag(b+1068|0,f)|0;h=c[b+1072>>2]|0;if(h|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+1072>>2]=f;c[b+1080>>2]=(c[b+1080>>2]|0)+-1}f=c[j+52>>2]|0;if(f|0){if(a[j+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[j+52>>2]=0}a[j+56>>0]=1;c[j+52>>2]=0;c[j+44>>2]=0;c[j+48>>2]=0;f=c[j+32>>2]|0;if(f|0){if(a[j+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;f=c[j+12>>2]|0;if(f|0){if(a[j+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[j+12>>2]=0}a[j+16>>0]=1;c[j+12>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);f=c[b+1112>>2]|0;a:do if((f|0)>0){i=c[b+1120>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(j|0))break a;h=h+1|0;if((h|0)>=(f|0)){h=f;break}}}else h=f;while(0);if((f|0)>(h|0)){E=c[b+1120>>2]|0;F=E+(h<<2)|0;G=c[F>>2]|0;c[F>>2]=c[E+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=G;c[b+1112>>2]=f+-1;f=f+-1|0}if((f|0)<=0){h=f;break}}else h=f;f=c[b+772>>2]|0;f=(f|0)>(d|0)?d:f;if((h|0)<(f|0)){if((c[b+1116>>2]|0)<(f|0)){if(f){c[6995]=(c[6995]|0)+1;i=sc((f<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}d=c[b+1112>>2]|0;if((d|0)>0){j=0;do{c[i+(j<<2)>>2]=c[(c[b+1120>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));j=i;i=b+1120|0}else{j=i;i=b+1120|0}}else{j=0;i=b+1120|0}d=c[i>>2]|0;if(d|0){if(a[b+1124>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0)}c[i>>2]=0}a[b+1124>>0]=1;c[i>>2]=j;c[b+1116>>2]=f}else i=b+1120|0;do{c[(c[i>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=(f|0))}c[b+1112>>2]=f;if((f|0)>0){h=0;do{c[6995]=(c[6995]|0)+1;f=sc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;j=f+348|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;j=c[b+1120>>2]|0;a[(c[j+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0;f=c[b+1112>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=c[b+772>>2]|0;if((h|0)>0){i=0;k=0.0;m=0.0;n=0.0;d=f;while(1){p=c[b+780>>2]|0;v=k+ +g[p+(i*104|0)+8>>2];m=m+ +g[p+(i*104|0)+12>>2];w=n+ +g[p+(i*104|0)+16>>2];o=c[j+(((i*29873|0)%(d|0)|0)<<2)>>2]|0;p=p+(i*104|0)|0;j=c[o+24>>2]|0;if((j|0)==(c[o+28>>2]|0)?(q=j|0?j<<1:1,(j|0)<(q|0)):0){if(!q)h=0;else{c[6995]=(c[6995]|0)+1;h=sc((q<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[o+24>>2]|0}if((j|0)>0){d=0;do{c[h+(d<<2)>>2]=c[(c[o+32>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(j|0))}d=c[o+32>>2]|0;if(d){if(a[o+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);j=c[o+24>>2]|0}c[o+32>>2]=0}a[o+36>>0]=1;c[o+32>>2]=h;c[o+28>>2]=q;h=c[b+772>>2]|0}c[(c[o+32>>2]|0)+(j<<2)>>2]=p;c[o+24>>2]=j+1;i=i+1|0;if((i|0)>=(h|0))break;k=v;n=w;d=c[b+1112>>2]|0;j=c[b+1120>>2]|0}k=1.0/+(h|0);if((f|0)>=0)if(!f){i=0;n=v*k;m=m*k;k=w*k;J=70}else{n=v*k;m=m*k;k=w*k;J=68}else{E=b+780|0;G=0;F=0}}else{n=1.0/+(h|0)*0.0;m=1.0/+(h|0)*0.0;k=1.0/+(h|0)*0.0;J=68}if((J|0)==68){c[6995]=(c[6995]|0)+1;h=sc((f<<4|3)+16|0)|0;if(!h){i=0;J=70}else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16;J=70}}if((J|0)==70){h=0;do{g[i+(h<<4)>>2]=n;g[i+(h<<4)+4>>2]=m;g[i+(h<<4)+8>>2]=k;g[i+(h<<4)+12>>2]=0.0;h=h+1|0}while((h|0)!=(f|0));E=b+780|0;G=i;F=i}t=G+4|0;u=G+8|0;s=0;do{z=+(s|0)*.0625;z=2.0-(z>1.0?1.0:z);d=0;o=0;while(1){h=c[(c[b+1120>>2]|0)+(o<<2)>>2]|0;j=c[h+24>>2]|0;if((j|0)>0){i=c[h+32>>2]|0;h=0;k=0.0;m=0.0;n=0.0;do{r=c[i+(h<<2)>>2]|0;k=k+ +g[r+8>>2];m=m+ +g[r+12>>2];n=n+ +g[r+16>>2];h=h+1|0}while((h|0)!=(j|0))}else{n=0.0;m=0.0;k=0.0}if(!j)r=d;else{q=G+(o<<4)|0;w=+g[q>>2];r=G+(o<<4)+4|0;x=+g[r>>2];h=G+(o<<4)+8|0;y=+g[h>>2];v=w+z*(k*(1.0/+(j|0))-w);m=x+z*(m*(1.0/+(j|0))-x);k=y+z*(n*(1.0/+(j|0))-y);g[q>>2]=v;g[r>>2]=m;g[h>>2]=k;g[G+(o<<4)+12>>2]=0.0;j=c[(c[b+1120>>2]|0)+(o<<2)>>2]|0;h=c[j+24>>2]|0;if((h|0)<0){if((c[j+28>>2]|0)<0){i=c[j+32>>2]|0;if(i|0){if(a[j+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=0;c[j+28>>2]=0}do{c[(c[j+32>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[j+24>>2]=0;r=d|(v-w)*(v-w)+(m-x)*(m-x)+(k-y)*(k-y)>1.1920928955078125e-07}o=o+1|0;if((o|0)>=(f|0))break;else d=r}s=s+1|0;h=c[b+772>>2]|0;b:do if((h|0)>0){if((f|0)>1)q=0;else{p=0;while(1){d=c[c[b+1120>>2]>>2]|0;o=(c[E>>2]|0)+(p*104|0)|0;i=c[d+24>>2]|0;if((i|0)==(c[d+28>>2]|0)?(D=i|0?i<<1:1,(i|0)<(D|0)):0){if(!D)h=0;else{c[6995]=(c[6995]|0)+1;h=sc((D<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[d+24>>2]|0}if((i|0)>0){j=0;do{c[h+(j<<2)>>2]=c[(c[d+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[d+32>>2]|0;if(j){if(a[d+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);i=c[d+24>>2]|0}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=h;c[d+28>>2]=D;h=c[b+772>>2]|0}c[(c[d+32>>2]|0)+(i<<2)>>2]=o;c[d+24>>2]=i+1;p=p+1|0;if((p|0)>=(h|0))break b}}do{o=c[E>>2]|0;m=+g[o+(q*104|0)+8>>2];n=+g[o+(q*104|0)+12>>2];v=+g[o+(q*104|0)+16>>2];i=1;k=+C(+(+g[G>>2]-m))+ +C(+(+g[t>>2]-n))+ +C(+(+g[u>>2]-v));j=0;while(1){w=+C(+(+g[G+(i<<4)>>2]-m))+ +C(+(+g[G+(i<<4)+4>>2]-n))+ +C(+(+g[G+(i<<4)+8>>2]-v));d=w<k;j=d?i:j;i=i+1|0;if((i|0)==(f|0))break;else k=d?w:k}p=c[(c[b+1120>>2]|0)+(j<<2)>>2]|0;d=o+(q*104|0)|0;i=c[p+24>>2]|0;if((i|0)==(c[p+28>>2]|0)?(B=i|0?i<<1:1,(i|0)<(B|0)):0){if(!B)h=0;else{c[6995]=(c[6995]|0)+1;h=sc((B<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[p+24>>2]|0}if((i|0)>0){j=0;do{c[h+(j<<2)>>2]=c[(c[p+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[p+32>>2]|0;if(j){if(a[p+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);i=c[p+24>>2]|0}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=h;c[p+28>>2]=B;h=c[b+772>>2]|0}c[(c[p+32>>2]|0)+(i<<2)>>2]=d;c[p+24>>2]=i+1;q=q+1|0}while((q|0)<(h|0))}while(0)}while((s|0)<(e|0)&r);if((h|0)>0){h=h<<2;c[6995]=(c[6995]|0)+1;f=sc((h|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}Yk(f|0,-1,h|0)|0;e=f;u=f}else{e=0;u=0}f=c[b+1112>>2]|0;if((f|0)>0){o=c[b+1120>>2]|0;d=0;do{j=c[o+(d<<2)>>2]|0;if((c[j+24>>2]|0)>0){i=c[E>>2]|0;h=c[j+32>>2]|0;f=0;do{c[e+((((c[h+(f<<2)>>2]|0)-i|0)/104|0)<<2)>>2]=d;f=f+1|0}while((f|0)<(c[j+24>>2]|0));f=c[b+1112>>2]|0}d=d+1|0}while((d|0)<(f|0))}if((c[b+812>>2]|0)>0){r=0;do{D=c[b+820>>2]|0;q=c[E>>2]|0;f=((c[D+(r*44|0)+8>>2]|0)-q|0)/104|0;c[K>>2]=f;c[K+4>>2]=((c[D+(r*44|0)+12>>2]|0)-q|0)/104|0;c[K+8>>2]=((c[D+(r*44|0)+16>>2]|0)-q|0)/104|0;q=0;while(1){o=c[e+(f<<2)>>2]|0;d=1;do{f=c[K+(((d+q|0)%3|0)<<2)>>2]|0;c:do if((c[e+(f<<2)>>2]|0)!=(o|0)){p=c[(c[b+1120>>2]|0)+(o<<2)>>2]|0;j=(c[E>>2]|0)+(f*104|0)|0;h=c[p+24>>2]|0;d:do if((h|0)>0){i=c[p+32>>2]|0;f=0;while(1){if((c[i+(f<<2)>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(h|0))break d}if((f|0)!=(h|0))break c}while(0);if((h|0)==(c[p+28>>2]|0)?(H=h|0?h<<1:1,(h|0)<(H|0)):0){if(!H)f=0;else{c[6995]=(c[6995]|0)+1;f=sc((H<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[p+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[p+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[p+32>>2]|0;if(i){if(a[p+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);h=c[p+24>>2]|0}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=f;c[p+28>>2]=H;f=h}else f=h;c[(c[p+32>>2]|0)+(f<<2)>>2]=j;c[p+24>>2]=f+1}while(0);d=d+1|0}while((d|0)!=3);f=q+1|0;if((f|0)>=3)break;q=f;f=c[K+(f<<2)>>2]|0}r=r+1|0}while((r|0)<(c[b+812>>2]|0));f=c[b+1112>>2]|0}if((f|0)>1){c[6995]=(c[6995]|0)+1;f=sc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;p=f+36|0;a[p>>0]=1;q=f+32|0;c[q>>2]=0;r=f+24|0;c[r>>2]=0;s=f+28|0;c[s>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;t=f+348|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;t=f;a[f+377>>0]=0;j=c[b+772>>2]|0;if((j|0)>0){c[6995]=(c[6995]|0)+1;f=sc((j<<2|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}h=c[r>>2]|0;if((h|0)>0){f=0;do{c[i+(f<<2)>>2]=c[(c[q>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[q>>2]|0;if(f|0){if(a[p>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[q>>2]=0}a[p>>0]=1;c[q>>2]=i;c[s>>2]=j;f=c[b+772>>2]|0;if((f|0)>0){o=0;i=c[r>>2]|0;h=j;while(1){d=(c[E>>2]|0)+(o*104|0)|0;do if((i|0)==(h|0)){j=h|0?h<<1:1;if((h|0)>=(j|0)){j=h;break}if(!j)f=0;else{c[6995]=(c[6995]|0)+1;f=sc((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[r>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[q>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[q>>2]|0;if(i){if(a[p>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);h=c[r>>2]|0}c[q>>2]=0}a[p>>0]=1;c[q>>2]=f;c[s>>2]=j;f=c[b+772>>2]|0}else{j=h;h=i}while(0);c[(c[q>>2]|0)+(h<<2)>>2]=d;i=h+1|0;c[r>>2]=i;o=o+1|0;if((o|0)>=(f|0))break;else h=j}}}f=c[b+1112>>2]|0;if((f|0)==(c[b+1116>>2]|0)?(I=f|0?f<<1:1,(f|0)<(I|0)):0){if(!I)i=0;else{c[6995]=(c[6995]|0)+1;f=sc((I<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[b+1112>>2]|0}if((f|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+1120>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+1120>>2]|0;if(h){if(a[b+1124>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0);f=c[b+1112>>2]|0}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=i;c[b+1116>>2]=I}c[(c[b+1120>>2]|0)+(f<<2)>>2]=t;I=f+1|0;c[b+1112>>2]=I;E=c[b+1120>>2]|0;f=E+(f<<2)|0;H=c[E>>2]|0;c[E>>2]=c[f>>2];c[f>>2]=H;f=I}if((f|0)>0){h=0;do{d=c[(c[b+1120>>2]|0)+(h<<2)>>2]|0;do if(!(c[d+24>>2]|0)){j=h+-1|0;f=c[d+348>>2]|0;if(f|0){Ag(b+1068|0,f)|0;h=c[b+1072>>2]|0;if(h|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+1072>>2]=f;c[b+1080>>2]=(c[b+1080>>2]|0)+-1}f=c[d+52>>2]|0;if(f|0){if(a[d+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[d+52>>2]=0}a[d+56>>0]=1;c[d+52>>2]=0;c[d+44>>2]=0;c[d+48>>2]=0;f=c[d+32>>2]|0;if(f|0){if(a[d+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;f=c[d+12>>2]|0;if(f|0){if(a[d+16>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[f+-4>>2]|0)}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[6996]=(c[6996]|0)+1;Cd(c[d+-4>>2]|0);f=c[b+1112>>2]|0;e:do if((f|0)>0){i=c[b+1120>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(d|0))break e;h=h+1|0;if((h|0)>=(f|0)){h=f;break}}}else h=f;while(0);if((f|0)<=(h|0)){h=j;break}H=c[b+1120>>2]|0;I=H+(h<<2)|0;h=c[I>>2]|0;c[I>>2]=c[H+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=h;c[b+1112>>2]=f+-1;h=j;f=f+-1|0}while(0);h=h+1|0}while((h|0)<(f|0))}if(!((e|0)==0|(u|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[u+-4>>2]|0)}if(!((G|0)==0|(F|0)==0)){c[6996]=(c[6996]|0)+1;Cd(c[F+-4>>2]|0)}}else J=234}else J=234;f:do if((J|0)==234){d=c[b+832>>2]|0;if(d|0){if((f|0)<(d|0)){if((c[b+1116>>2]|0)<(d|0)){c[6995]=(c[6995]|0)+1;h=sc((d<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+1112>>2]|0;if((i|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[b+1120>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+1120>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=j;c[b+1116>>2]=d;h=b+1120|0}else h=b+1120|0;do{c[(c[h>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(d|0))}c[b+1112>>2]=d;if((d|0)>0){h=0;do{c[6995]=(c[6995]|0)+1;f=sc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;I=f+348|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+832>>2]|0)<=0)break;d=0;while(1){j=0;do{o=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[b+840>>2]|0)+(d*104|0)+8+(j<<2)|0;h=c[o+24>>2]|0;if((h|0)==(c[o+28>>2]|0)?(r=h|0?h<<1:1,(h|0)<(r|0)):0){if(!r)f=0;else{c[6995]=(c[6995]|0)+1;f=sc((r<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[o+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[o+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[o+32>>2]|0;if(i){if(a[o+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);h=c[o+24>>2]|0}c[o+32>>2]=0}a[o+36>>0]=1;c[o+32>>2]=f;c[o+28>>2]=r;f=h}else f=h;c[(c[o+32>>2]|0)+(f<<2)>>2]=c[p>>2];c[o+24>>2]=f+1;j=j+1|0}while((j|0)!=4);d=d+1|0;if((d|0)>=(c[b+832>>2]|0))break f}}d=c[b+812>>2]|0;if((f|0)<(d|0)){if((c[b+1116>>2]|0)<(d|0)){if(d){c[6995]=(c[6995]|0)+1;h=sc((d<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+1112>>2]|0;if((j|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0));j=b+1120|0}else j=b+1120|0}else{h=0;j=b+1120|0}i=c[j>>2]|0;if(i|0){if(a[b+1124>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[j>>2]=0}a[b+1124>>0]=1;c[j>>2]=h;c[b+1116>>2]=d}do{c[(c[b+1120>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(d|0))}c[b+1112>>2]=d;if((d|0)>0){h=0;do{c[6995]=(c[6995]|0)+1;f=sc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;I=f+348|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+812>>2]|0)>0){d=0;do{j=0;do{o=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[b+820>>2]|0)+(d*44|0)+8+(j<<2)|0;h=c[o+24>>2]|0;if((h|0)==(c[o+28>>2]|0)?(s=h|0?h<<1:1,(h|0)<(s|0)):0){if(!s)f=0;else{c[6995]=(c[6995]|0)+1;f=sc((s<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[o+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[o+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[o+32>>2]|0;if(i){if(a[o+36>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0);h=c[o+24>>2]|0}c[o+32>>2]=0}a[o+36>>0]=1;c[o+32>>2]=f;c[o+28>>2]=s;f=h}else f=h;c[(c[o+32>>2]|0)+(f<<2)>>2]=c[p>>2];c[o+24>>2]=f+1;j=j+1|0}while((j|0)!=3);d=d+1|0}while((d|0)<(c[b+812>>2]|0))}}while(0);f=c[b+1112>>2]|0;if(!f){b=0;l=K;return b|0}if((f|0)>0){p=0;do{q=c[(c[b+1120>>2]|0)+(p<<2)>>2]|0;g[q+128>>2]=0.0;o=c[q+24>>2]|0;d=c[q+4>>2]|0;if((o|0)>(d|0)){if((c[q+8>>2]|0)<(o|0)){if(!o){f=0;i=d}else{c[6995]=(c[6995]|0)+1;f=sc((o<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[q+4>>2]|0}j=c[q+12>>2]|0;if((i|0)<=0)if(!j)h=q+16|0;else J=324;else{h=0;do{c[f+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0));J=324}if((J|0)==324){J=0;if(!(a[q+16>>0]|0))h=q+16|0;else{c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);h=q+16|0}}a[h>>0]=1;c[q+12>>2]=f;c[q+8>>2]=o}else f=c[q+12>>2]|0;Yk(f+(d<<2)|0,0,o-d<<2|0)|0;d=c[q+24>>2]|0}else d=o;c[q+4>>2]=o;j=(d|0)>0;if(j){h=c[q+32>>2]|0;i=c[q+12>>2]|0;f=0;do{k=+g[(c[h+(f<<2)>>2]|0)+88>>2];if(k==0.0){a[q+376>>0]=1;k=999999984306749440.0}else k=1.0/k;g[i+(f<<2)>>2]=k;m=k+ +g[q+128>>2];g[q+128>>2]=m;f=f+1|0}while((f|0)!=(d|0));g[q+128>>2]=1.0/m;f=0;k=0.0;n=0.0;v=0.0;do{I=c[h+(f<<2)>>2]|0;A=+g[i+(f<<2)>>2];k=k+ +g[I+8>>2]*A;n=n+A*+g[I+12>>2];v=v+A*+g[I+16>>2];f=f+1|0}while((f|0)!=(d|0));m=1.0/m}else{m=1.0/+g[q+128>>2];g[q+128>>2]=m;v=0.0;n=0.0;k=0.0}A=k*m;z=n*m;y=v*m;g[q+228>>2]=A;g[q+232>>2]=z;g[q+236>>2]=y;g[q+240>>2]=0.0;f=q+316|0;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=q+132|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));if(j){h=c[q+32>>2]|0;i=c[q+12>>2]|0;f=0;k=0.0;x=0.0;w=0.0;m=0.0;n=0.0;v=0.0;do{I=c[h+(f<<2)>>2]|0;O=+g[I+8>>2]-A;M=+g[I+12>>2]-z;N=+g[I+16>>2]-y;L=+g[i+(f<<2)>>2];k=k+L*(M*M+N*N);g[q+132>>2]=k;x=L*(O*O+N*N)+x;g[q+152>>2]=x;w=(O*O+M*M)*L+w;g[q+172>>2]=w;m=m-M*O*L;g[q+136>>2]=m;n=n-N*O*L;g[q+140>>2]=n;v=v-N*M*L;g[q+156>>2]=v;f=f+1|0}while((f|0)!=(d|0));f=q+136|0;h=q+140|0;i=q+156|0;j=q+152|0}else{f=q+136|0;h=q+140|0;i=q+156|0;j=q+152|0;x=0.0;w=0.0;v=0.0;n=0.0;m=0.0;k=0.0}L=x*w-v*v;M=v*n-w*m;N=v*m-x*n;O=1.0/(L*k+m*M+N*n);g[q+132>>2]=L*O;g[f>>2]=(v*n-w*m)*O;g[h>>2]=(v*m-x*n)*O;g[q+144>>2]=0.0;g[q+148>>2]=M*O;g[j>>2]=(w*k-n*n)*O;g[i>>2]=(m*n-v*k)*O;g[q+160>>2]=0.0;g[q+164>>2]=N*O;g[q+168>>2]=(n*m-v*k)*O;g[q+172>>2]=(x*k-m*m)*O;g[q+176>>2]=0.0;c[q+60>>2]=1065353216;c[q+64>>2]=0;c[q+64+4>>2]=0;c[q+64+8>>2]=0;c[q+64+12>>2]=0;c[q+80>>2]=1065353216;c[q+84>>2]=0;c[q+84+4>>2]=0;c[q+84+8>>2]=0;c[q+84+12>>2]=0;c[q+100>>2]=1065353216;c[q+104>>2]=0;c[q+108>>2]=c[q+228>>2];c[q+108+4>>2]=c[q+228+4>>2];c[q+108+8>>2]=c[q+228+8>>2];c[q+108+12>>2]=c[q+228+12>>2];d=c[q+24>>2]|0;j=c[q+44>>2]|0;if((j|0)<(d|0)){if((c[q+48>>2]|0)<(d|0)){if(!d){f=0;i=j}else{c[6995]=(c[6995]|0)+1;f=sc((d<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[q+44>>2]|0}if((i|0)>0){h=0;do{I=f+(h<<4)|0;H=(c[q+52>>2]|0)+(h<<4)|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[q+52>>2]|0;if(h|0){if(a[q+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[h+-4>>2]|0)}c[q+52>>2]=0}a[q+56>>0]=1;c[q+52>>2]=f;c[q+48>>2]=d;h=q+52|0}else h=q+52|0;f=j;do{I=(c[h>>2]|0)+(f<<4)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];f=f+1|0}while((f|0)!=(d|0))}c[q+44>>2]=d;if((d|0)>0){f=0;do{H=c[(c[q+32>>2]|0)+(f<<2)>>2]|0;N=+g[H+12>>2]-+g[q+232>>2];O=+g[H+16>>2]-+g[q+236>>2];I=c[q+52>>2]|0;g[I+(f<<4)>>2]=+g[H+8>>2]-+g[q+228>>2];g[I+(f<<4)+4>>2]=N;g[I+(f<<4)+8>>2]=O;g[I+(f<<4)+12>>2]=0.0;f=f+1|0}while((f|0)<(c[q+44>>2]|0))}p=p+1|0}while((p|0)<(c[b+1112>>2]|0))}Tc(b);f=c[b+1112>>2]|0;o=P(f,f)|0;d=c[b+1132>>2]|0;if((o|0)>(d|0)){if((c[b+1136>>2]|0)<(o|0)){if(!o){f=0;i=d}else{c[6995]=(c[6995]|0)+1;f=sc(o+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[b+1132>>2]|0}j=c[b+1140>>2]|0;if((i|0)<=0)if(!j)h=b+1144|0;else J=372;else{h=0;do{a[f+h>>0]=a[j+h>>0]|0;h=h+1|0}while((h|0)!=(i|0));J=372}if((J|0)==372)if(!(a[b+1144>>0]|0))h=b+1144|0;else{c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0);h=b+1144|0}a[h>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=o}else f=c[b+1140>>2]|0;Yk(f+d|0,0,o-d|0)|0;f=c[b+1112>>2]|0}c[b+1132>>2]=o;if((f|0)<=0){b=f;l=K;return b|0}e=c[b+1120>>2]|0;s=c[b+1140>>2]|0;r=0;do{t=c[e+(r<<2)>>2]|0;c[t+380>>2]=r;u=c[t+24>>2]|0;q=0;do{j=c[e+(q<<2)>>2]|0;g:do if((u|0)>0){d=c[j+24>>2]|0;h=0;while(1){if((d|0)>0){p=c[(c[t+32>>2]|0)+(h<<2)>>2]|0;o=c[j+32>>2]|0;i=0;do{if((p|0)==(c[o+(i<<2)>>2]|0)){h=1;break g}i=i+1|0}while((i|0)<(d|0))}h=h+1|0;if((h|0)>=(u|0)){h=0;break}}}else h=0;while(0);a[s+((P(f,q)|0)+r)>>0]=h;q=q+1|0}while((q|0)!=(f|0));r=r+1|0}while((r|0)!=(f|0));l=K;return f|0}function kc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=l;l=l+64|0;if((e|0)<=0){l=ja;return}$=ja+16+4|0;aa=ja+16+8|0;Y=0;do{ba=c[d+(Y<<2)>>2]|0;ca=c[ba+772>>2]|0;da=c[ba+776>>2]|0;ea=Rj(b,ca,+g[f+12>>2])|0;fa=Rj(b,da,+g[f+12>>2])|0;ga=c[b+16>>2]|0;O=+g[ga+(ea*244|0)+128>>2];P=+g[ga+(ea*244|0)+132>>2];U=+g[ga+(ea*244|0)+136>>2];if(!(O*O+P*P+U*U<1.4210854715202004e-14?(O=+g[ga+(fa*244|0)+128>>2],P=+g[ga+(fa*244|0)+132>>2],U=+g[ga+(fa*244|0)+136>>2],O*O+P*P+U*U<1.4210854715202004e-14):0))ia=5;if((ia|0)==5?(ia=0,ha=c[ba+780>>2]|0,(ha|0)>0):0){Z=0;h=ha;do{W=ba+4+(Z*192|0)|0;o=ba+4+(Z*192|0)+80|0;if(+g[o>>2]<=+g[ba+788>>2]){X=c[b+28>>2]|0;if((X|0)==(c[b+32>>2]|0)?(_=X|0?X<<1:1,(X|0)<(_|0)):0){if(!_){h=0;m=X}else{c[6995]=(c[6995]|0)+1;h=sc((_*152|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}m=c[b+28>>2]|0}if((m|0)>0){i=0;do{gi(h+(i*152|0)|0,(c[b+36>>2]|0)+(i*152|0)|0,152)|0;i=i+1|0}while((i|0)!=(m|0))}i=c[b+36>>2]|0;if(i|0){if(a[b+40>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[i+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=h;c[b+32>>2]=_;h=c[b+28>>2]|0}else h=X;c[b+28>>2]=h+1;V=c[b+36>>2]|0;c[V+(X*152|0)+144>>2]=ea;c[V+(X*152|0)+148>>2]=fa;c[V+(X*152|0)+132>>2]=W;y=+g[ba+4+(Z*192|0)+48>>2]-+g[ca+52>>2];z=+g[ba+4+(Z*192|0)+52>>2]-+g[ca+56>>2];x=+g[ba+4+(Z*192|0)+56>>2]-+g[ca+60>>2];g[ja+48>>2]=y;g[ja+48+4>>2]=z;g[ja+48+8>>2]=x;g[ja+48+12>>2]=0.0;F=+g[ba+4+(Z*192|0)+32>>2]-+g[da+52>>2];G=+g[ba+4+(Z*192|0)+36>>2]-+g[da+56>>2];B=+g[ba+4+(Z*192|0)+40>>2]-+g[da+60>>2];g[ja+32>>2]=F;g[ja+32+4>>2]=G;g[ja+32+8>>2]=B;g[ja+32+12>>2]=0.0;if(!(c[ga+(ea*244|0)+240>>2]|0)){j=0.0;n=0.0;s=0.0}else{U=+g[ga+(ea*244|0)+192>>2]+ +g[ga+(ea*244|0)+224>>2];s=+g[ga+(ea*244|0)+196>>2]+ +g[ga+(ea*244|0)+228>>2];n=+g[ga+(ea*244|0)+200>>2]+ +g[ga+(ea*244|0)+232>>2];j=+g[ga+(ea*244|0)+176>>2]+ +g[ga+(ea*244|0)+208>>2]+(s*x-n*z);n=+g[ga+(ea*244|0)+180>>2]+ +g[ga+(ea*244|0)+212>>2]+(n*y-U*x);s=+g[ga+(ea*244|0)+184>>2]+ +g[ga+(ea*244|0)+216>>2]+(U*z-s*y)}if(!(c[ga+(fa*244|0)+240>>2]|0)){k=0.0;r=0.0;t=0.0}else{U=+g[ga+(fa*244|0)+192>>2]+ +g[ga+(fa*244|0)+224>>2];t=+g[ga+(fa*244|0)+196>>2]+ +g[ga+(fa*244|0)+228>>2];r=+g[ga+(fa*244|0)+200>>2]+ +g[ga+(fa*244|0)+232>>2];k=+g[ga+(fa*244|0)+176>>2]+ +g[ga+(fa*244|0)+208>>2]+(t*B-r*G);r=+g[ga+(fa*244|0)+180>>2]+ +g[ga+(fa*244|0)+212>>2]+(r*F-U*B);t=+g[ga+(fa*244|0)+184>>2]+ +g[ga+(fa*244|0)+216>>2]+(U*G-t*F)}P=j-k;O=n-r;K=s-t;Q=ba+4+(Z*192|0)+64|0;L=+g[Q>>2];R=ba+4+(Z*192|0)+68|0;M=+g[R>>2];S=ba+4+(Z*192|0)+72|0;N=+g[S>>2];p=c[b+16>>2]|0;i=c[p+(ea*244|0)+240>>2]|0;m=c[p+(fa*244|0)+240>>2]|0;U=+g[f+28>>2];J=+g[f+12>>2];j=+g[f+40>>2];k=+g[f+36>>2];T=ba+4+(Z*192|0)+120|0;h=c[T>>2]|0;if(!(h&6))if(!(h&8))I=k;else{I=J*+g[ba+4+(Z*192|0)+144>>2];j=I+ +g[ba+4+(Z*192|0)+148>>2];j=j<1.1920928955078125e-07?1.1920928955078125e-07:j;I=I/j;j=1.0/j}else{j=(h&2|0)==0?j:+g[ba+4+(Z*192|0)+144>>2];if(!(h&4))I=k;else I=+g[ba+4+(Z*192|0)+148>>2]}H=1.0/J*j;if(i|0){j=((z*N-x*M)*+g[i+324>>2]+(x*L-N*y)*+g[i+328>>2]+(M*y-z*L)*+g[i+332>>2])*+g[i+604>>2];k=((z*N-x*M)*+g[i+340>>2]+(x*L-N*y)*+g[i+344>>2]+(M*y-z*L)*+g[i+348>>2])*+g[i+608>>2];n=((z*N-x*M)*+g[i+356>>2]+(x*L-N*y)*+g[i+360>>2]+(M*y-z*L)*+g[i+364>>2])*+g[i+612>>2]}else{j=0.0;k=0.0;n=0.0}g[V+(X*152|0)+64>>2]=j;g[V+(X*152|0)+68>>2]=k;g[V+(X*152|0)+72>>2]=n;g[V+(X*152|0)+76>>2]=0.0;u=+g[S>>2];v=+g[R>>2];w=+g[Q>>2];if(m|0){r=(+g[m+324>>2]*-(G*u-B*v)+ +g[m+328>>2]*-(B*w-u*F)+ +g[m+332>>2]*-(v*F-G*w))*+g[m+604>>2];s=(+g[m+340>>2]*-(G*u-B*v)+ +g[m+344>>2]*-(B*w-u*F)+ +g[m+348>>2]*-(v*F-G*w))*+g[m+608>>2];t=(+g[m+356>>2]*-(G*u-B*v)+ +g[m+360>>2]*-(B*w-u*F)+ +g[m+364>>2]*-(v*F-G*w))*+g[m+612>>2]}else{r=0.0;s=0.0;t=0.0}g[V+(X*152|0)+80>>2]=r;g[V+(X*152|0)+84>>2]=s;g[V+(X*152|0)+88>>2]=t;g[V+(X*152|0)+92>>2]=0.0;if(i|0)k=+g[i+404>>2]+((k*x-n*z)*+g[Q>>2]+(n*y-x*j)*+g[R>>2]+(z*j-k*y)*+g[S>>2]);else k=0.0;if(m|0){E=-r;j=-s;t=-t;j=+g[m+404>>2]+((B*j-G*t)*+g[Q>>2]+(F*t-B*E)*+g[R>>2]+(G*E-F*j)*+g[S>>2])}else j=0.0;g[V+(X*152|0)+108>>2]=U/(H+(k+j));if(i|0){c[V+(X*152|0)+16>>2]=c[Q>>2];c[V+(X*152|0)+16+4>>2]=c[Q+4>>2];c[V+(X*152|0)+16+8>>2]=c[Q+8>>2];c[V+(X*152|0)+16+12>>2]=c[Q+12>>2];g[V+(X*152|0)>>2]=z*N-x*M;g[V+(X*152|0)+4>>2]=x*L-N*y;g[V+(X*152|0)+8>>2]=M*y-z*L;g[V+(X*152|0)+12>>2]=0.0}else{c[V+(X*152|0)>>2]=0;c[V+(X*152|0)+4>>2]=0;c[V+(X*152|0)+8>>2]=0;c[V+(X*152|0)+12>>2]=0;c[V+(X*152|0)+16>>2]=0;c[V+(X*152|0)+20>>2]=0;c[V+(X*152|0)+24>>2]=0;c[V+(X*152|0)+28>>2]=0}if(m|0){t=-+g[R>>2];E=-+g[S>>2];g[V+(X*152|0)+48>>2]=-+g[Q>>2];g[V+(X*152|0)+52>>2]=t;g[V+(X*152|0)+56>>2]=E;g[V+(X*152|0)+60>>2]=0.0;g[V+(X*152|0)+32>>2]=-(G*u-B*v);g[V+(X*152|0)+36>>2]=-(B*w-u*F);g[V+(X*152|0)+40>>2]=-(v*F-G*w);g[V+(X*152|0)+44>>2]=0.0}else{c[V+(X*152|0)+32>>2]=0;c[V+(X*152|0)+32+4>>2]=0;c[V+(X*152|0)+32+8>>2]=0;c[V+(X*152|0)+32+12>>2]=0;c[V+(X*152|0)+32+16>>2]=0;c[V+(X*152|0)+32+20>>2]=0;c[V+(X*152|0)+32+24>>2]=0;c[V+(X*152|0)+32+28>>2]=0}E=+g[o>>2]+ +g[f+64>>2];if(i|0){r=+g[i+392>>2];s=+g[i+396>>2];w=+g[i+388>>2];t=r*x-s*z+ +g[i+372>>2];s=+g[i+376>>2]+(s*y-x*w);r=z*w-r*y+ +g[i+380>>2]}else{t=0.0;s=0.0;r=0.0}if(m|0){j=+g[m+392>>2];k=+g[m+396>>2];z=+g[m+388>>2];n=j*B-k*G+ +g[m+372>>2];k=+g[m+376>>2]+(k*F-B*z);j=G*z-j*F+ +g[m+380>>2]}else{n=0.0;k=0.0;j=0.0}B=(t-n)*+g[Q>>2]+(s-k)*+g[R>>2]+(r-j)*+g[S>>2];c[V+(X*152|0)+104>>2]=c[ba+4+(Z*192|0)+84>>2];h=+C(+B)<+g[f+96>>2];B=h?0.0:-(B*+g[ba+4+(Z*192|0)+96>>2]);B=B<=0.0?0.0:B;h=c[f+72>>2]|0;do if(!(h&4))g[V+(X*152|0)+100>>2]=0.0;else{j=+g[ba+4+(Z*192|0)+124>>2]*+g[f+68>>2];g[V+(X*152|0)+100>>2]=j;do if(i|0){if(!(c[p+(ea*244|0)+240>>2]|0))break;G=j*+g[V+(X*152|0)+20>>2]*+g[p+(ea*244|0)+132>>2]*+g[i+412>>2]*+g[p+(ea*244|0)+116>>2];F=j*+g[V+(X*152|0)+24>>2]*+g[p+(ea*244|0)+136>>2]*+g[i+416>>2]*+g[p+(ea*244|0)+120>>2];g[p+(ea*244|0)+64>>2]=+g[p+(ea*244|0)+112>>2]*j*+g[V+(X*152|0)+16>>2]*+g[p+(ea*244|0)+128>>2]*+g[i+408>>2]+ +g[p+(ea*244|0)+64>>2];g[p+(ea*244|0)+68>>2]=G+ +g[p+(ea*244|0)+68>>2];g[p+(ea*244|0)+72>>2]=F+ +g[p+(ea*244|0)+72>>2];F=j*+g[p+(ea*244|0)+100>>2]*+g[V+(X*152|0)+68>>2];G=j*+g[p+(ea*244|0)+104>>2]*+g[V+(X*152|0)+72>>2];g[p+(ea*244|0)+80>>2]=j*+g[p+(ea*244|0)+96>>2]*+g[V+(X*152|0)+64>>2]+ +g[p+(ea*244|0)+80>>2];g[p+(ea*244|0)+84>>2]=F+ +g[p+(ea*244|0)+84>>2];g[p+(ea*244|0)+88>>2]=G+ +g[p+(ea*244|0)+88>>2]}while(0);if(!m)break;j=+g[V+(X*152|0)+100>>2];if(!(c[p+(fa*244|0)+240>>2]|0))break;G=+g[V+(X*152|0)+88>>2];F=+g[V+(X*152|0)+84>>2];z=+g[V+(X*152|0)+80>>2];x=j*+g[V+(X*152|0)+52>>2]*+g[p+(fa*244|0)+132>>2]*+g[m+412>>2]*+g[p+(fa*244|0)+116>>2];y=j*+g[V+(X*152|0)+56>>2]*+g[p+(fa*244|0)+136>>2]*+g[m+416>>2]*+g[p+(fa*244|0)+120>>2];g[p+(fa*244|0)+64>>2]=+g[p+(fa*244|0)+112>>2]*j*+g[V+(X*152|0)+48>>2]*+g[p+(fa*244|0)+128>>2]*+g[m+408>>2]+ +g[p+(fa*244|0)+64>>2];g[p+(fa*244|0)+68>>2]=x+ +g[p+(fa*244|0)+68>>2];g[p+(fa*244|0)+72>>2]=y+ +g[p+(fa*244|0)+72>>2];F=F*+g[p+(fa*244|0)+100>>2]*-j;G=G*+g[p+(fa*244|0)+104>>2]*-j;g[p+(fa*244|0)+80>>2]=+g[p+(fa*244|0)+80>>2]-z*+g[p+(fa*244|0)+96>>2]*-j;g[p+(fa*244|0)+84>>2]=+g[p+(fa*244|0)+84>>2]-F;g[p+(fa*244|0)+88>>2]=+g[p+(fa*244|0)+88>>2]-G}while(0);g[V+(X*152|0)+96>>2]=0.0;if(!(c[p+(ea*244|0)+240>>2]|0)){j=0.0;k=0.0;n=0.0;r=0.0;s=0.0;t=0.0}else{j=+g[p+(ea*244|0)+208>>2];k=+g[p+(ea*244|0)+212>>2];n=+g[p+(ea*244|0)+216>>2];r=+g[p+(ea*244|0)+224>>2];s=+g[p+(ea*244|0)+228>>2];t=+g[p+(ea*244|0)+232>>2]}if(!(c[p+(fa*244|0)+240>>2]|0)){u=0.0;v=0.0;w=0.0;x=0.0;y=0.0;z=0.0}else{u=+g[p+(fa*244|0)+208>>2];v=+g[p+(fa*244|0)+212>>2];w=+g[p+(fa*244|0)+216>>2];x=+g[p+(fa*244|0)+224>>2];y=+g[p+(fa*244|0)+228>>2];z=+g[p+(fa*244|0)+232>>2]}j=B-((j+ +g[p+(ea*244|0)+176>>2])*+g[V+(X*152|0)+16>>2]+(k+ +g[p+(ea*244|0)+180>>2])*+g[V+(X*152|0)+20>>2]+(n+ +g[p+(ea*244|0)+184>>2])*+g[V+(X*152|0)+24>>2]+((r+ +g[p+(ea*244|0)+192>>2])*+g[V+(X*152|0)>>2]+(s+ +g[p+(ea*244|0)+196>>2])*+g[V+(X*152|0)+4>>2]+(t+ +g[p+(ea*244|0)+200>>2])*+g[V+(X*152|0)+8>>2])+((u+ +g[p+(fa*244|0)+176>>2])*+g[V+(X*152|0)+48>>2]+(v+ +g[p+(fa*244|0)+180>>2])*+g[V+(X*152|0)+52>>2]+(w+ +g[p+(fa*244|0)+184>>2])*+g[V+(X*152|0)+56>>2]+((x+ +g[p+(fa*244|0)+192>>2])*+g[V+(X*152|0)+32>>2]+(y+ +g[p+(fa*244|0)+196>>2])*+g[V+(X*152|0)+36>>2]+(z+ +g[p+(fa*244|0)+200>>2])*+g[V+(X*152|0)+40>>2])));if(E>0.0){k=j-1.0/J*E;j=0.0}else{k=j;j=-(1.0/J*I*E)}J=+g[V+(X*152|0)+108>>2];I=j*J;G=k*J;m=(c[f+52>>2]|0)==0?1:E>+g[f+56>>2];g[V+(X*152|0)+112>>2]=m?I+G:G;g[V+(X*152|0)+128>>2]=m?0.0:I;g[V+(X*152|0)+116>>2]=H*J;g[V+(X*152|0)+120>>2]=0.0;g[V+(X*152|0)+124>>2]=1.0e10;c[V+(X*152|0)+140>>2]=c[b+68>>2];m=ba+4+(Z*192|0)+88|0;if(+g[m>>2]>0.0){Md(b,Q,ea,fa,X,+g[ba+4+(Z*192|0)+92>>2]);j=+g[S>>2];if(+C(+j)>.7071067690849304){I=+g[R>>2];H=1.0/+D(+(j*j+I*I));g[ja+16>>2]=0.0;g[$>>2]=-(H*j);g[aa>>2]=H*I;g[ja>>2]=(j*j+I*I)*H;J=+g[Q>>2];g[ja+4>>2]=-(H*I*J);u=J*-(H*j);k=0.0;n=-(H*j);r=H*I;s=(j*j+I*I)*H;j=-(H*I*J)}else{s=+g[Q>>2];I=+g[R>>2];J=1.0/+D(+(s*s+I*I));g[ja+16>>2]=-(I*J);g[$>>2]=J*s;g[aa>>2]=0.0;g[ja>>2]=-(J*s*j);g[ja+4>>2]=j*-(I*J);u=(s*s+I*I)*J;k=-(I*J);n=J*s;r=0.0;s=-(J*s*j);j=j*-(I*J)}t=1.0/+D(+(k*k+n*n+r*r));v=k*t;g[ja+16>>2]=v;w=n*t;g[$>>2]=w;t=r*t;g[aa>>2]=t;J=1.0/+D(+(s*s+j*j+u*u));n=s*J;g[ja>>2]=n;k=j*J;g[ja+4>>2]=k;j=u*J;g[ja+8>>2]=j;h=(c[ca+180>>2]&2|0)==0;if(h){r=v;s=w}else{y=+g[ca+4>>2];B=+g[ca+20>>2];F=+g[ca+36>>2];z=+g[ca+8>>2];E=+g[ca+24>>2];H=+g[ca+40>>2];r=+g[ca+12>>2];s=+g[ca+28>>2];J=+g[ca+44>>2];G=(y*v+B*w+F*t)*+g[ca+164>>2];I=(v*z+w*E+t*H)*+g[ca+168>>2];t=(v*r+w*s+t*J)*+g[ca+172>>2];g[ja+16>>2]=y*G+z*I+r*t;g[$>>2]=B*G+E*I+s*t;g[aa>>2]=F*G+H*I+J*t;g[ja+16+12>>2]=0.0;r=y*G+z*I+r*t;s=B*G+E*I+s*t;t=F*G+H*I+J*t}i=(c[da+180>>2]&2|0)==0;if(!i){w=+g[da+4>>2];z=+g[da+20>>2];F=+g[da+36>>2];x=+g[da+8>>2];B=+g[da+24>>2];H=+g[da+40>>2];y=+g[da+12>>2];E=+g[da+28>>2];J=+g[da+44>>2];G=(w*r+z*s+F*t)*+g[da+164>>2];I=(r*x+s*B+t*H)*+g[da+168>>2];t=(r*y+s*E+t*J)*+g[da+172>>2];g[ja+16>>2]=w*G+x*I+y*t;g[$>>2]=z*G+B*I+E*t;g[aa>>2]=F*G+H*I+J*t;g[ja+16+12>>2]=0.0;r=w*G+x*I+y*t;s=z*G+B*I+E*t;t=F*G+H*I+J*t}if(!((ca|0)==0|h)){w=+g[ca+4>>2];z=+g[ca+20>>2];F=+g[ca+36>>2];x=+g[ca+8>>2];B=+g[ca+24>>2];H=+g[ca+40>>2];y=+g[ca+12>>2];E=+g[ca+28>>2];J=+g[ca+44>>2];G=(w*n+z*k+F*j)*+g[ca+164>>2];I=(n*x+k*B+j*H)*+g[ca+168>>2];j=(n*y+k*E+j*J)*+g[ca+172>>2];g[ja>>2]=w*G+x*I+y*j;g[ja+4>>2]=z*G+B*I+E*j;g[ja+8>>2]=F*G+H*I+J*j;g[ja+12>>2]=0.0;n=w*G+x*I+y*j;k=z*G+B*I+E*j;j=F*G+H*I+J*j}if(!((da|0)==0|i)){w=+g[da+4>>2];z=+g[da+20>>2];F=+g[da+36>>2];x=+g[da+8>>2];B=+g[da+24>>2];H=+g[da+40>>2];y=+g[da+12>>2];E=+g[da+28>>2];J=+g[da+44>>2];G=(w*n+z*k+F*j)*+g[da+164>>2];I=(n*x+k*B+j*H)*+g[da+168>>2];j=(n*y+k*E+j*J)*+g[da+172>>2];g[ja>>2]=w*G+x*I+y*j;g[ja+4>>2]=z*G+B*I+E*j;g[ja+8>>2]=F*G+H*I+J*j;g[ja+12>>2]=0.0;n=w*G+x*I+y*j;k=z*G+B*I+E*j;j=F*G+H*I+J*j}if(+D(+(r*r+s*s+t*t))>.001)Md(b,ja+16|0,ea,fa,X,+g[m>>2]);if(+D(+(n*n+k*k+j*j))>.001)Md(b,ja,ea,fa,X,+g[m>>2]);h=c[f+72>>2]|0}do if(!(h&32))ia=82;else{if(!(c[T>>2]&1)){ia=82;break}h=ba+4+(Z*192|0)+152|0;ed(b,ba+4+(Z*192|0)+160|0,ea,fa,X,W,ja+48|0,ja+32|0,U,f,+g[ba+4+(Z*192|0)+136>>2],+g[h>>2]);if(!(c[f+72>>2]&16))break;ed(b,ba+4+(Z*192|0)+176|0,ea,fa,X,W,ja+48|0,ja+32|0,U,f,+g[ba+4+(Z*192|0)+140>>2],+g[h>>2])}while(0);do if((ia|0)==82){ia=0;j=+g[Q>>2];v=+g[R>>2];u=+g[S>>2];k=P-(P*L+O*M+K*N)*j;s=O-(P*L+O*M+K*N)*v;r=K-(P*L+O*M+K*N)*u;A=ba+4+(Z*192|0)+160|0;g[ba+4+(Z*192|0)+160>>2]=k;h=ba+4+(Z*192|0)+164|0;g[h>>2]=s;p=ba+4+(Z*192|0)+168|0;g[p>>2]=r;q=ba+4+(Z*192|0)+172|0;g[q>>2]=0.0;if((c[f+72>>2]&64|0)==0?k*k+s*s+r*r>1.1920928955078125e-07:0){j=1.0/+D(+(k*k+s*s+r*r));g[A>>2]=k*j;g[h>>2]=j*s;g[p>>2]=j*r;do if(!ca){n=k*j;k=j*s;j=j*r}else{if(!(c[ca+180>>2]&1)){n=k*j;k=j*s;j=j*r;break}G=+g[ca+4>>2];I=+g[ca+20>>2];L=+g[ca+36>>2];H=+g[ca+8>>2];J=+g[ca+24>>2];N=+g[ca+40>>2];n=+g[ca+12>>2];K=+g[ca+28>>2];P=+g[ca+44>>2];M=(G*k*j+I*j*s+j*r*L)*+g[ca+164>>2];O=(k*j*H+j*s*J+j*r*N)*+g[ca+168>>2];j=(k*j*n+j*s*K+j*r*P)*+g[ca+172>>2];g[A>>2]=G*M+H*O+n*j;g[h>>2]=I*M+J*O+K*j;g[p>>2]=L*M+N*O+P*j;g[q>>2]=0.0;n=G*M+H*O+n*j;k=I*M+J*O+K*j;j=L*M+N*O+P*j}while(0);do if(da|0){if(!(c[da+180>>2]&1))break;E=+g[da+4>>2];H=+g[da+20>>2];K=+g[da+36>>2];F=+g[da+8>>2];I=+g[da+24>>2];M=+g[da+40>>2];G=+g[da+12>>2];J=+g[da+28>>2];O=+g[da+44>>2];L=(E*n+H*k+K*j)*+g[da+164>>2];N=(n*F+k*I+j*M)*+g[da+168>>2];P=(n*G+k*J+j*O)*+g[da+172>>2];g[A>>2]=E*L+F*N+G*P;g[h>>2]=H*L+I*N+J*P;g[p>>2]=K*L+M*N+O*P;g[q>>2]=0.0}while(0);ed(b,A,ea,fa,X,W,ja+48|0,ja+32|0,U,f,0.0,0.0);if(!(c[f+72>>2]&16))break;O=+g[h>>2];n=+g[S>>2];L=+g[p>>2];M=+g[R>>2];P=+g[Q>>2];N=+g[A>>2];o=ba+4+(Z*192|0)+176|0;g[ba+4+(Z*192|0)+176>>2]=O*n-L*M;h=ba+4+(Z*192|0)+180|0;i=ba+4+(Z*192|0)+184|0;m=ba+4+(Z*192|0)+188|0;g[m>>2]=0.0;k=1.0/+D(+((O*n-L*M)*(O*n-L*M)+(L*P-n*N)*(L*P-n*N)+(M*N-O*P)*(M*N-O*P)));j=(O*n-L*M)*k;g[o>>2]=j;n=(L*P-n*N)*k;g[h>>2]=n;k=(M*N-O*P)*k;g[i>>2]=k;do if(ca){if(!(c[ca+180>>2]&1))break;F=+g[ca+4>>2];I=+g[ca+20>>2];L=+g[ca+36>>2];G=+g[ca+8>>2];J=+g[ca+24>>2];N=+g[ca+40>>2];H=+g[ca+12>>2];K=+g[ca+28>>2];P=+g[ca+44>>2];M=(F*j+I*n+k*L)*+g[ca+164>>2];O=(j*G+n*J+k*N)*+g[ca+168>>2];k=(j*H+n*K+k*P)*+g[ca+172>>2];g[o>>2]=F*M+G*O+H*k;g[h>>2]=I*M+J*O+K*k;g[i>>2]=L*M+N*O+P*k;g[m>>2]=0.0;j=F*M+G*O+H*k;n=I*M+J*O+K*k;k=L*M+N*O+P*k}while(0);do if(da|0){if(!(c[da+180>>2]&1))break;E=+g[da+4>>2];H=+g[da+20>>2];K=+g[da+36>>2];F=+g[da+8>>2];I=+g[da+24>>2];M=+g[da+40>>2];G=+g[da+12>>2];J=+g[da+28>>2];O=+g[da+44>>2];L=(E*j+H*n+K*k)*+g[da+164>>2];N=(j*F+n*I+k*M)*+g[da+168>>2];P=(j*G+n*J+k*O)*+g[da+172>>2];g[o>>2]=E*L+F*N+G*P;g[h>>2]=H*L+I*N+J*P;g[i>>2]=K*L+M*N+O*P;g[m>>2]=0.0}while(0);ed(b,o,ea,fa,X,W,ja+48|0,ja+32|0,U,f,0.0,0.0);break}o=ba+4+(Z*192|0)+176|0;if(+C(+u)>.7071067690849304){P=1.0/+D(+(u*u+v*v));g[A>>2]=0.0;g[h>>2]=-(P*u);g[p>>2]=P*v;s=-(P*v*j);t=j*-(P*u);r=(u*u+v*v)*P;n=0.0;k=-(P*u);j=P*v}else{k=1.0/+D(+(j*j+v*v));g[A>>2]=-(v*k);g[h>>2]=k*j;g[p>>2]=0.0;s=u*-(v*k);t=(j*j+v*v)*k;r=-(k*j*u);n=-(v*k);k=k*j;j=0.0}g[o>>2]=r;m=ba+4+(Z*192|0)+180|0;g[m>>2]=s;i=ba+4+(Z*192|0)+184|0;g[i>>2]=t;do if(ca){if(!(c[ca+180>>2]&1))break;F=+g[ca+4>>2];I=+g[ca+20>>2];L=+g[ca+36>>2];G=+g[ca+8>>2];J=+g[ca+24>>2];N=+g[ca+40>>2];H=+g[ca+12>>2];K=+g[ca+28>>2];P=+g[ca+44>>2];M=(F*n+I*k+L*j)*+g[ca+164>>2];O=(n*G+k*J+j*N)*+g[ca+168>>2];j=(n*H+k*K+j*P)*+g[ca+172>>2];g[A>>2]=F*M+G*O+H*j;g[h>>2]=I*M+J*O+K*j;g[p>>2]=L*M+N*O+P*j;g[q>>2]=0.0;n=F*M+G*O+H*j;k=I*M+J*O+K*j;j=L*M+N*O+P*j}while(0);do if(da|0){if(!(c[da+180>>2]&1))break;E=+g[da+4>>2];H=+g[da+20>>2];K=+g[da+36>>2];F=+g[da+8>>2];I=+g[da+24>>2];M=+g[da+40>>2];G=+g[da+12>>2];J=+g[da+28>>2];O=+g[da+44>>2];L=(E*n+H*k+K*j)*+g[da+164>>2];N=(n*F+k*I+j*M)*+g[da+168>>2];P=(n*G+k*J+j*O)*+g[da+172>>2];g[A>>2]=E*L+F*N+G*P;g[h>>2]=H*L+I*N+J*P;g[p>>2]=K*L+M*N+O*P;g[q>>2]=0.0}while(0);ed(b,A,ea,fa,X,W,ja+48|0,ja+32|0,U,f,0.0,0.0);h=c[f+72>>2]|0;if(h&16){do if(ca|0){if(!(c[ca+180>>2]&1))break;E=+g[ca+4>>2];z=+g[o>>2];H=+g[ca+20>>2];B=+g[m>>2];K=+g[ca+36>>2];P=+g[i>>2];F=+g[ca+8>>2];I=+g[ca+24>>2];M=+g[ca+40>>2];G=+g[ca+12>>2];J=+g[ca+28>>2];O=+g[ca+44>>2];L=(E*z+H*B+K*P)*+g[ca+164>>2];N=(z*F+B*I+P*M)*+g[ca+168>>2];P=(z*G+B*J+P*O)*+g[ca+172>>2];g[o>>2]=E*L+F*N+G*P;g[m>>2]=H*L+I*N+J*P;g[i>>2]=K*L+M*N+O*P;g[ba+4+(Z*192|0)+188>>2]=0.0}while(0);do if(da|0){if(!(c[da+180>>2]&1))break;E=+g[da+4>>2];z=+g[o>>2];H=+g[da+20>>2];B=+g[m>>2];K=+g[da+36>>2];P=+g[i>>2];F=+g[da+8>>2];I=+g[da+24>>2];M=+g[da+40>>2];G=+g[da+12>>2];J=+g[da+28>>2];O=+g[da+44>>2];L=(E*z+H*B+K*P)*+g[da+164>>2];N=(z*F+B*I+P*M)*+g[da+168>>2];P=(z*G+B*J+P*O)*+g[da+172>>2];g[o>>2]=E*L+F*N+G*P;g[m>>2]=H*L+I*N+J*P;g[i>>2]=K*L+M*N+O*P;g[ba+4+(Z*192|0)+188>>2]=0.0}while(0);ed(b,o,ea,fa,X,W,ja+48|0,ja+32|0,U,f,0.0,0.0);h=c[f+72>>2]|0}if((h&80|0)!=80)break;c[T>>2]=c[T>>2]|1}while(0);q=c[b+16>>2]|0;i=c[q+(ea*244|0)+240>>2]|0;m=c[q+(fa*244|0)+240>>2]|0;o=c[V+(X*152|0)+140>>2]|0;p=c[b+76>>2]|0;h=c[f+72>>2]|0;do if(!(h&4))g[p+(o*152|0)+100>>2]=0.0;else{j=+g[ba+4+(Z*192|0)+128>>2]*+g[f+68>>2];g[p+(o*152|0)+100>>2]=j;if(i|0){O=+g[i+404>>2];U=j*O*+g[p+(o*152|0)+20>>2]*+g[i+412>>2]*+g[q+(ea*244|0)+116>>2];P=j*O*+g[p+(o*152|0)+24>>2]*+g[i+416>>2]*+g[q+(ea*244|0)+120>>2];g[q+(ea*244|0)+64>>2]=+g[q+(ea*244|0)+112>>2]*j*O*+g[p+(o*152|0)+16>>2]*+g[i+408>>2]+ +g[q+(ea*244|0)+64>>2];g[q+(ea*244|0)+68>>2]=U+ +g[q+(ea*244|0)+68>>2];g[q+(ea*244|0)+72>>2]=P+ +g[q+(ea*244|0)+72>>2];P=j*+g[q+(ea*244|0)+100>>2]*+g[p+(o*152|0)+68>>2];U=j*+g[q+(ea*244|0)+104>>2]*+g[p+(o*152|0)+72>>2];g[q+(ea*244|0)+80>>2]=j*+g[q+(ea*244|0)+96>>2]*+g[p+(o*152|0)+64>>2]+ +g[q+(ea*244|0)+80>>2];g[q+(ea*244|0)+84>>2]=P+ +g[q+(ea*244|0)+84>>2];g[q+(ea*244|0)+88>>2]=U+ +g[q+(ea*244|0)+88>>2]}if(!m)break;j=+g[m+404>>2];k=+g[p+(o*152|0)+100>>2];if(!(c[q+(fa*244|0)+240>>2]|0))break;U=+g[p+(o*152|0)+88>>2];P=+g[p+(o*152|0)+84>>2];O=+g[p+(o*152|0)+80>>2];M=k*j*+g[p+(o*152|0)+52>>2]*+g[m+412>>2]*+g[q+(fa*244|0)+116>>2];N=k*j*+g[p+(o*152|0)+56>>2]*+g[m+416>>2]*+g[q+(fa*244|0)+120>>2];g[q+(fa*244|0)+64>>2]=+g[q+(fa*244|0)+112>>2]*k*j*+g[p+(o*152|0)+48>>2]*+g[m+408>>2]+ +g[q+(fa*244|0)+64>>2];g[q+(fa*244|0)+68>>2]=M+ +g[q+(fa*244|0)+68>>2];g[q+(fa*244|0)+72>>2]=N+ +g[q+(fa*244|0)+72>>2];P=P*+g[q+(fa*244|0)+100>>2]*-k;U=U*+g[q+(fa*244|0)+104>>2]*-k;g[q+(fa*244|0)+80>>2]=+g[q+(fa*244|0)+80>>2]-O*+g[q+(fa*244|0)+96>>2]*-k;g[q+(fa*244|0)+84>>2]=+g[q+(fa*244|0)+84>>2]-P;g[q+(fa*244|0)+88>>2]=+g[q+(fa*244|0)+88>>2]-U}while(0);do if(h&16|0){if(!(h&4)){g[p+((o+1|0)*152|0)+100>>2]=0.0;break}k=+g[ba+4+(Z*192|0)+132>>2]*+g[f+68>>2];g[p+((o+1|0)*152|0)+100>>2]=k;do if(i|0){j=+g[i+404>>2];if(!(c[q+(ea*244|0)+240>>2]|0))break;U=k*j*+g[p+((o+1|0)*152|0)+20>>2]*+g[q+(ea*244|0)+116>>2];P=k*j*+g[p+((o+1|0)*152|0)+24>>2]*+g[q+(ea*244|0)+120>>2];g[q+(ea*244|0)+64>>2]=+g[q+(ea*244|0)+112>>2]*k*j*+g[p+((o+1|0)*152|0)+16>>2]+ +g[q+(ea*244|0)+64>>2];g[q+(ea*244|0)+68>>2]=U+ +g[q+(ea*244|0)+68>>2];g[q+(ea*244|0)+72>>2]=P+ +g[q+(ea*244|0)+72>>2];P=k*+g[q+(ea*244|0)+100>>2]*+g[p+((o+1|0)*152|0)+68>>2];U=k*+g[q+(ea*244|0)+104>>2]*+g[p+((o+1|0)*152|0)+72>>2];g[q+(ea*244|0)+80>>2]=k*+g[q+(ea*244|0)+96>>2]*+g[p+((o+1|0)*152|0)+64>>2]+ +g[q+(ea*244|0)+80>>2];g[q+(ea*244|0)+84>>2]=P+ +g[q+(ea*244|0)+84>>2];g[q+(ea*244|0)+88>>2]=U+ +g[q+(ea*244|0)+88>>2]}while(0);if(!m)break;j=+g[m+404>>2];k=+g[p+((o+1|0)*152|0)+100>>2];if(!(c[q+(fa*244|0)+240>>2]|0))break;U=+g[p+((o+1|0)*152|0)+88>>2];P=+g[p+((o+1|0)*152|0)+84>>2];O=+g[p+((o+1|0)*152|0)+80>>2];M=k*j*+g[p+((o+1|0)*152|0)+52>>2]*+g[q+(fa*244|0)+116>>2];N=k*j*+g[p+((o+1|0)*152|0)+56>>2]*+g[q+(fa*244|0)+120>>2];g[q+(fa*244|0)+64>>2]=+g[q+(fa*244|0)+112>>2]*k*j*+g[p+((o+1|0)*152|0)+48>>2]+ +g[q+(fa*244|0)+64>>2];g[q+(fa*244|0)+68>>2]=M+ +g[q+(fa*244|0)+68>>2];g[q+(fa*244|0)+72>>2]=N+ +g[q+(fa*244|0)+72>>2];P=P*+g[q+(fa*244|0)+100>>2]*-k;U=U*+g[q+(fa*244|0)+104>>2]*-k;g[q+(fa*244|0)+80>>2]=+g[q+(fa*244|0)+80>>2]-O*+g[q+(fa*244|0)+96>>2]*-k;g[q+(fa*244|0)+84>>2]=+g[q+(fa*244|0)+84>>2]-P;g[q+(fa*244|0)+88>>2]=+g[q+(fa*244|0)+88>>2]-U}while(0);h=c[ba+780>>2]|0}Z=Z+1|0}while((Z|0)<(h|0))}Y=Y+1|0}while((Y|0)!=(e|0));l=ja;return}function lc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;bf(b,e,f)|0;a[A+16>>0]=1;c[A+12>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;a[A+36>>0]=1;c[A+32>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0;a[A+56>>0]=1;c[A+52>>2]=0;c[A+44>>2]=0;c[A+48>>2]=0;a[A+76>>0]=1;c[A+72>>2]=0;c[A+64>>2]=0;c[A+68>>2]=0;y=c[b+932>>2]|0;c[e+300>>2]=y;if(y){y=zb[c[(c[f>>2]|0)+28>>2]&31](f,b+928|0)|0;c[e+268>>2]=y;if(y|0){i=c[e+300>>2]|0;m=Bb[c[(c[f>>2]|0)+16>>2]&63](f,4,i)|0;if((i|0)>0){g=c[m+8>>2]|0;h=0;while(1){j=c[(c[b+940>>2]|0)+(h<<2)>>2]|0;if(!j)k=0;else k=zb[c[(c[f>>2]|0)+28>>2]&31](f,j)|0;c[g>>2]=k;if(!(zb[c[(c[f>>2]|0)+24>>2]&31](f,j)|0)){y=Bb[c[(c[f>>2]|0)+16>>2]&63](f,16,1)|0;t=c[y+8>>2]|0;c[t+12>>2]=c[j+16>>2];c[t+4>>2]=c[j+8>>2];c[t>>2]=c[j+4>>2];c[t+8>>2]=c[j+12>>2];Zb[c[(c[f>>2]|0)+20>>2]&31](f,y,11010,1414349395,j)}h=h+1|0;if((h|0)>=(i|0)){g=f;break}else g=g+4|0}}else g=f;Zb[c[(c[g>>2]|0)+20>>2]&31](f,m,11010,1497453121,b+928|0)}}else c[e+268>>2]=0;y=c[b+772>>2]|0;c[e+304>>2]=y;if(y){y=zb[c[(c[f>>2]|0)+28>>2]&31](f,b+768|0)|0;c[e+272>>2]=y;if(y|0){s=c[e+304>>2]|0;t=Bb[c[(c[f>>2]|0)+16>>2]&63](f,100,s)|0;if((s|0)>0){q=0;r=c[t+8>>2]|0;while(1){h=c[b+780>>2]|0;c[r+52>>2]=c[h+(q*104|0)+56>>2];c[r+56>>2]=c[h+(q*104|0)+60>>2];c[r+60>>2]=c[h+(q*104|0)+64>>2];c[r+64>>2]=c[h+(q*104|0)+68>>2];c[r+88>>2]=c[h+(q*104|0)+92>>2];c[r+92>>2]=(a[h+(q*104|0)+100>>0]<<7&255)<<24>>24>>7<<24>>24;c[r+84>>2]=c[h+(q*104|0)+88>>2];g=c[h+(q*104|0)+4>>2]|0;if(!g){i=0;g=h}else{i=zb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;g=c[b+780>>2]|0}c[r>>2]=i;c[r+68>>2]=c[g+(q*104|0)+72>>2];c[r+72>>2]=c[g+(q*104|0)+76>>2];c[r+76>>2]=c[g+(q*104|0)+80>>2];c[r+80>>2]=c[g+(q*104|0)+84>>2];c[r+4>>2]=c[g+(q*104|0)+8>>2];c[r+8>>2]=c[g+(q*104|0)+12>>2];c[r+12>>2]=c[g+(q*104|0)+16>>2];c[r+16>>2]=c[g+(q*104|0)+20>>2];c[r+20>>2]=c[g+(q*104|0)+24>>2];c[r+24>>2]=c[g+(q*104|0)+28>>2];c[r+28>>2]=c[g+(q*104|0)+32>>2];c[r+32>>2]=c[g+(q*104|0)+36>>2];c[r+36>>2]=c[g+(q*104|0)+40>>2];c[r+40>>2]=c[g+(q*104|0)+44>>2];c[r+44>>2]=c[g+(q*104|0)+48>>2];c[r+48>>2]=c[g+(q*104|0)+52>>2];m=(c[b+780>>2]|0)+(q*104|0)|0;p=((m+~(m<<15)|0)>>>10^m+~(m<<15))*9|0;p=((p>>>6^p)+~((p>>>6^p)<<11)|0)>>>16^(p>>>6^p)+~((p>>>6^p)<<11);n=c[A+48>>2]|0;a:do if((p&n+-1)>>>0<(c[A+4>>2]|0)>>>0?(u=c[(c[A+12>>2]|0)+((p&n+-1)<<2)>>2]|0,(u|0)!=-1):0){h=c[A+72>>2]|0;i=c[A+32>>2]|0;g=u;while(1){if((m|0)==(c[h+(g<<3)>>2]|0))break;g=c[i+(g<<2)>>2]|0;if((g|0)==-1){z=27;break a}}h=q;i=c[A+52>>2]|0}else z=27;while(0);if((z|0)==27){z=0;h=c[A+44>>2]|0;if((h|0)==(n|0)){g=n|0?n<<1:1;if((n|0)<(g|0)){if((g|0)!=0?(c[6995]=(c[6995]|0)+1,v=sc((g<<2|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;k=v+4+15&-16}else k=0;j=c[A+52>>2]|0;if((n|0)<=0)if(!j)i=n;else z=35;else{i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(n|0));z=35}if((z|0)==35){z=0;if(a[A+56>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[j+-4>>2]|0)}c[A+52>>2]=0;i=c[A+44>>2]|0}a[A+56>>0]=1;c[A+52>>2]=k;c[A+48>>2]=g}else{g=n;i=n}}else{g=n;i=h}c[(c[A+52>>2]|0)+(i<<2)>>2]=q;c[A+44>>2]=i+1;i=c[A+64>>2]|0;if((i|0)==(c[A+68>>2]|0)?(w=i|0?i<<1:1,(i|0)<(w|0)):0){if((w|0)!=0?(c[6995]=(c[6995]|0)+1,x=sc((w<<3|3)+16|0)|0,(x|0)!=0):0){c[(x+4+15&-16)+-4>>2]=x;j=x+4+15&-16}else j=0;if((i|0)>0){g=0;do{k=(c[A+72>>2]|0)+(g<<3)|0;o=c[k+4>>2]|0;y=j+(g<<3)|0;c[y>>2]=c[k>>2];c[y+4>>2]=o;g=g+1|0}while((g|0)!=(i|0))}g=c[A+72>>2]|0;if(g|0){if(a[A+76>>0]|0){c[6996]=(c[6996]|0)+1;Cd(c[g+-4>>2]|0)}c[A+72>>2]=0}a[A+76>>0]=1;c[A+72>>2]=j;c[A+68>>2]=w;i=c[A+64>>2]|0;g=c[A+48>>2]|0}c[(c[A+72>>2]|0)+(i<<3)>>2]=m;c[A+64>>2]=i+1;if((n|0)<(g|0)){o=c[A+4>>2]|0;do if((o|0)<(g|0)){if((c[A+8>>2]|0)<(g|0)){do if(!g)i=0;else{c[6995]=(c[6995]|0)+1;i=sc((g<<2|3)+16|0)|0;if(!i){i=0;break}c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}while(0);k=c[A+12>>2]|0;if((o|0)>0){j=0;do{c[i+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(o|0));if(a[A+16>>0]|0)z=62}else if(!((k|0)==0|(a[A+16>>0]|0)==0))z=62;if((z|0)==62){z=0;c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}a[A+16>>0]=1;c[A+12>>2]=i;c[A+8>>2]=g}else i=c[A+12>>2]|0;n=g<<2;Yk(i+(o<<2)|0,0,n-(o<<2)|0)|0;c[A+4>>2]=g;m=c[A+24>>2]|0;if((m|0)<(g|0)){if((c[A+28>>2]|0)<(g|0)){do if(!g)i=0;else{c[6995]=(c[6995]|0)+1;i=sc((n|3)+16|0)|0;if(!i){i=0;break}c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}while(0);k=c[A+32>>2]|0;if((m|0)>0){j=0;do{c[i+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(m|0));if(a[A+36>>0]|0)z=74}else if(!((k|0)==0|(a[A+36>>0]|0)==0))z=74;if((z|0)==74){z=0;c[6996]=(c[6996]|0)+1;Cd(c[k+-4>>2]|0)}a[A+36>>0]=1;c[A+32>>2]=i;c[A+28>>2]=g}else i=c[A+32>>2]|0;Yk(i+(m<<2)|0,0,n-(m<<2)|0)|0}c[A+24>>2]=g;if((g|0)>0){Yk(c[A+12>>2]|0,-1,n|0)|0;Yk(c[A+32>>2]|0,-1,n|0)|0}if((o|0)<=0){g=c[A+48>>2]|0;break}j=c[A+72>>2]|0;k=c[A+12>>2]|0;m=c[A+32>>2]|0;g=c[A+48>>2]|0;i=0;do{y=c[j+(i<<3)>>2]|0;y=((y+~(y<<15)|0)>>>10^y+~(y<<15))*9|0;y=k+(((((y>>>6^y)+~((y>>>6^y)<<11)|0)>>>16^(y>>>6^y)+~((y>>>6^y)<<11))&g+-1)<<2)|0;c[m+(i<<2)>>2]=c[y>>2];c[y>>2]=i;i=i+1|0}while((i|0)!=(o|0))}while(0);g=p&g+-1}else g=p&n+-1;i=c[A+12>>2]|0;c[(c[A+32>>2]|0)+(h<<2)>>2]=c[i+(g<<2)>>2]}c[i+(g<<2)>>2]=h;q=q+1|0;if((q|0)>=(s|0))break;else r=r+100|0}}Zb[c[(c[f>>2]|0)+20>>2]&31](f,t,11031,1145979475,b+768|0)}}else c[e+272>>2]=0;y=c[b+792>>2]|0;c[e+308>>2]=y;if(y){y=zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+800>>2]|0)|0;c[e+276>>2]=y;if(y|0){m=c[e+308>>2]|0;n=Bb[c[(c[f>>2]|0)+16>>2]&63](f,20,m)|0;if((m|0)>0){i=c[b+800>>2]|0;j=c[n+8>>2]|0;k=0;g=i;while(1){c[j+16>>2]=(a[i+(k*52|0)+36>>0]<<7&255)<<24>>24>>7<<24>>24;h=c[i+(k*52|0)+4>>2]|0;if(!h)h=0;else{h=zb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;i=c[b+800>>2]|0;g=i}c[j>>2]=h;h=c[i+(k*52|0)+24>>2]|0;if(!h)h=-1;else h=(h-(c[b+780>>2]|0)|0)/104|0;c[j+4>>2]=h;h=c[i+(k*52|0)+28>>2]|0;if(!h)h=-1;else h=(h-(c[b+780>>2]|0)|0)/104|0;c[j+8>>2]=h;c[j+12>>2]=c[i+(k*52|0)+32>>2];k=k+1|0;if((k|0)>=(m|0))break;else j=j+20|0}}else g=c[b+800>>2]|0;Zb[c[(c[f>>2]|0)+20>>2]&31](f,n,11048,1497453121,g)}}else c[e+276>>2]=0;y=c[b+812>>2]|0;c[e+312>>2]=y;if(y){y=zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+820>>2]|0)|0;c[e+280>>2]=y;if(y|0){m=c[e+312>>2]|0;n=Bb[c[(c[f>>2]|0)+16>>2]&63](f,36,m)|0;if((m|0)>0){i=c[b+820>>2]|0;j=c[n+8>>2]|0;k=0;g=i;while(1){h=c[i+(k*44|0)+4>>2]|0;if(!h)h=0;else{h=zb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;i=c[b+820>>2]|0;g=i}c[j+16>>2]=h;c[j>>2]=c[i+(k*44|0)+20>>2];c[j+4>>2]=c[i+(k*44|0)+24>>2];c[j+8>>2]=c[i+(k*44|0)+28>>2];c[j+12>>2]=c[i+(k*44|0)+32>>2];h=c[i+(k*44|0)+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+780>>2]|0)|0)/104|0;c[j+20>>2]=h;h=c[i+(k*44|0)+12>>2]|0;if(!h)h=-1;else h=(h-(c[b+780>>2]|0)|0)/104|0;c[j+24>>2]=h;h=c[i+(k*44|0)+16>>2]|0;if(!h)h=-1;else h=(h-(c[b+780>>2]|0)|0)/104|0;c[j+28>>2]=h;c[j+32>>2]=c[i+(k*44|0)+36>>2];k=k+1|0;if((k|0)>=(m|0))break;else j=j+36|0}}else g=c[b+820>>2]|0;Zb[c[(c[f>>2]|0)+20>>2]&31](f,n,11065,1497453121,g)}}else c[e+280>>2]=0;y=c[b+832>>2]|0;c[e+316>>2]=y;if(y){y=zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+840>>2]|0)|0;c[e+284>>2]=y;if(y|0){m=c[e+316>>2]|0;n=Bb[c[(c[f>>2]|0)+16>>2]&63](f,100,m)|0;if((m|0)>0){i=c[b+840>>2]|0;j=c[n+8>>2]|0;k=0;g=i;while(1){c[j>>2]=c[i+(k*104|0)+32>>2];c[j+4>>2]=c[i+(k*104|0)+36>>2];c[j+8>>2]=c[i+(k*104|0)+40>>2];c[j+12>>2]=c[i+(k*104|0)+44>>2];h=c[i+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+780>>2]|0)|0)/104|0;c[j+68>>2]=h;c[j+16>>2]=c[i+(k*104|0)+48>>2];c[j+20>>2]=c[i+(k*104|0)+52>>2];c[j+24>>2]=c[i+(k*104|0)+56>>2];c[j+28>>2]=c[i+(k*104|0)+60>>2];h=c[i+116>>2]|0;if(!h)h=-1;else h=(h-(c[b+780>>2]|0)|0)/104|0;c[j+72>>2]=h;c[j+32>>2]=c[i+(k*104|0)+64>>2];c[j+36>>2]=c[i+(k*104|0)+68>>2];c[j+40>>2]=c[i+(k*104|0)+72>>2];c[j+44>>2]=c[i+(k*104|0)+76>>2];h=c[i+224>>2]|0;if(!h)h=-1;else h=(h-(c[b+780>>2]|0)|0)/104|0;c[j+76>>2]=h;c[j+48>>2]=c[i+(k*104|0)+80>>2];c[j+52>>2]=c[i+(k*104|0)+84>>2];c[j+56>>2]=c[i+(k*104|0)+88>>2];c[j+60>>2]=c[i+(k*104|0)+92>>2];h=c[i+332>>2]|0;if(!h)h=-1;else h=(h-(c[b+780>>2]|0)|0)/104|0;c[j+80>>2]=h;c[j+88>>2]=c[i+(k*104|0)+96>>2];c[j+92>>2]=c[i+(k*104|0)+100>>2];h=c[i+(k*104|0)+4>>2]|0;if(!h)h=0;else{h=zb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;i=c[b+840>>2]|0;g=i}c[j+64>>2]=h;c[j+84>>2]=c[i+(k*104|0)+24>>2];k=k+1|0;if((k|0)>=(m|0))break;else j=j+100|0}}else g=c[b+840>>2]|0;Zb[c[(c[f>>2]|0)+20>>2]&31](f,n,11082,1497453121,g)}}else c[e+284>>2]=0;y=c[b+852>>2]|0;c[e+320>>2]=y;if(y){y=zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+860>>2]|0)|0;c[e+288>>2]=y;if(!y)y=f;else{k=c[e+320>>2]|0;m=Bb[c[(c[f>>2]|0)+16>>2]&63](f,92,k)|0;if((k|0)>0){i=c[m+8>>2]|0;j=0;while(1){h=c[b+860>>2]|0;c[i>>2]=c[h+(j*96|0)+28>>2];c[i+4>>2]=c[h+(j*96|0)+32>>2];c[i+8>>2]=c[h+(j*96|0)+36>>2];c[i+12>>2]=c[h+(j*96|0)+40>>2];c[i+16>>2]=c[h+(j*96|0)+44>>2];c[i+20>>2]=c[h+(j*96|0)+48>>2];c[i+24>>2]=c[h+(j*96|0)+52>>2];c[i+28>>2]=c[h+(j*96|0)+56>>2];c[i+32>>2]=c[h+(j*96|0)+60>>2];c[i+36>>2]=c[h+(j*96|0)+64>>2];c[i+40>>2]=c[h+(j*96|0)+68>>2];c[i+44>>2]=c[h+(j*96|0)+72>>2];c[i+48>>2]=c[h+(j*96|0)+76>>2];c[i+52>>2]=c[h+(j*96|0)+80>>2];c[i+56>>2]=c[h+(j*96|0)+84>>2];c[i+60>>2]=c[h+(j*96|0)+88>>2];c[i+88>>2]=c[h+(j*96|0)+92>>2];h=c[b+860>>2]|0;c[i+64>>2]=c[h+(j*96|0)+4>>2];c[i+68>>2]=c[h+(j*96|0)+8>>2];c[i+72>>2]=c[h+(j*96|0)+12>>2];c[i+76>>2]=c[h+(j*96|0)+16>>2];g=c[h+(j*96|0)>>2]|0;if(!g)g=-1;else g=(g-(c[b+780>>2]|0)|0)/104|0;c[i+84>>2]=g;g=c[h+(j*96|0)+20>>2]|0;if(!g)g=0;else g=zb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;c[i+80>>2]=g;j=j+1|0;if((j|0)>=(k|0))break;else i=i+92|0}}Zb[c[(c[f>>2]|0)+20>>2]&31](f,m,11100,1497453121,c[b+860>>2]|0);y=f}}else{c[e+288>>2]=0;y=f}c[e+360>>2]=c[b+376>>2];c[e+336>>2]=c[b+352>>2];c[e+352>>2]=c[b+368>>2];c[e+332>>2]=c[b+348>>2];c[e+348>>2]=c[b+364>>2];c[e+344>>2]=c[b+360>>2];c[e+420>>2]=c[b+436>>2];c[e+424>>2]=c[b+440>>2];c[e+428>>2]=c[b+444>>2];c[e+416>>2]=c[b+432>>2];n=c[b+424>>2]|0;c[e+340>>2]=c[b+356>>2];c[e+364>>2]=c[b+380>>2];c[e+432>>2]=c[b+448>>2];c[e+356>>2]=c[b+372>>2];c[e+368>>2]=c[b+384>>2];c[e+372>>2]=c[b+388>>2];c[e+376>>2]=c[b+392>>2];c[e+380>>2]=c[b+396>>2];c[e+412>>2]=c[b+428>>2];c[e+408>>2]=n;c[e+384>>2]=c[b+400>>2];c[e+388>>2]=c[b+404>>2];c[e+392>>2]=c[b+408>>2];c[e+396>>2]=c[b+412>>2];c[e+400>>2]=c[b+416>>2];c[e+404>>2]=c[b+420>>2];c[e+264>>2]=zb[c[(c[y>>2]|0)+28>>2]&31](f,b+532|0)|0;n=Bb[c[(c[f>>2]|0)+16>>2]&63](f,192,1)|0;m=c[n+8>>2]|0;c[m+96>>2]=c[b+692>>2];c[m+100>>2]=c[b+696>>2];c[m+104>>2]=c[b+700>>2];c[m+108>>2]=c[b+704>>2];c[m+112>>2]=c[b+708>>2];c[m+116>>2]=c[b+712>>2];c[m+120>>2]=c[b+716>>2];c[m+124>>2]=c[b+720>>2];c[m+128>>2]=c[b+724>>2];c[m+132>>2]=c[b+728>>2];c[m+136>>2]=c[b+732>>2];c[m+140>>2]=c[b+736>>2];c[m+180>>2]=d[b+533>>0];c[m+176>>2]=d[b+532>>0];c[m+144>>2]=c[b+580>>2];c[m+148>>2]=c[b+584>>2];c[m+152>>2]=c[b+588>>2];c[m+156>>2]=c[b+592>>2];x=c[b+544>>2]|0;c[m+168>>2]=x;if(x){x=zb[c[(c[y>>2]|0)+28>>2]&31](f,c[b+552>>2]|0)|0;j=c[m+168>>2]|0;c[m+160>>2]=x;if(j|0){k=Bb[c[(c[f>>2]|0)+16>>2]&63](f,16,j)|0;if((j|0)>0){g=c[b+552>>2]|0;h=c[k+8>>2]|0;i=0;while(1){c[h>>2]=c[g+(i<<4)>>2];c[h+4>>2]=c[g+(i<<4)+4>>2];c[h+8>>2]=c[g+(i<<4)+8>>2];c[h+12>>2]=c[g+(i<<4)+12>>2];i=i+1|0;if((i|0)==(j|0))break;else h=h+16|0}}else g=c[b+552>>2]|0;Zb[c[(c[f>>2]|0)+20>>2]&31](f,k,19202,1497453121,g)}}else c[m+160>>2]=0;c[m+184>>2]=c[b+536>>2];c[m>>2]=c[b+596>>2];c[m+4>>2]=c[b+600>>2];c[m+8>>2]=c[b+604>>2];c[m+12>>2]=c[b+608>>2];c[m+16>>2]=c[b+612>>2];c[m+20>>2]=c[b+616>>2];c[m+24>>2]=c[b+620>>2];c[m+28>>2]=c[b+624>>2];c[m+32>>2]=c[b+628>>2];c[m+36>>2]=c[b+632>>2];c[m+40>>2]=c[b+636>>2];c[m+44>>2]=c[b+640>>2];c[m+48>>2]=c[b+644>>2];c[m+52>>2]=c[b+648>>2];c[m+56>>2]=c[b+652>>2];c[m+60>>2]=c[b+656>>2];c[m+64>>2]=c[b+660>>2];c[m+68>>2]=c[b+664>>2];c[m+72>>2]=c[b+668>>2];c[m+76>>2]=c[b+672>>2];c[m+80>>2]=c[b+676>>2];c[m+84>>2]=c[b+680>>2];c[m+88>>2]=c[b+684>>2];c[m+92>>2]=c[b+688>>2];x=c[b+564>>2]|0;c[m+172>>2]=x;if(x){x=zb[c[(c[y>>2]|0)+28>>2]&31](f,c[b+572>>2]|0)|0;j=c[m+172>>2]|0;c[m+164>>2]=x;if(!j)z=147;else{k=Bb[c[(c[f>>2]|0)+16>>2]&63](f,4,j)|0;if((j|0)>0){g=c[b+572>>2]|0;h=0;i=c[k+8>>2]|0;while(1){c[i>>2]=c[g+(h<<2)>>2];h=h+1|0;if((h|0)==(j|0))break;else i=i+4|0}}else g=c[b+572>>2]|0;Zb[c[(c[f>>2]|0)+20>>2]&31](f,k,11120,1497453121,g);x=f}}else{c[m+164>>2]=0;z=147}if((z|0)==147)x=f;Zb[c[(c[x>>2]|0)+20>>2]&31](f,n,11126,1497453121,b+532|0);z=c[b+1112>>2]|0;c[e+324>>2]=z;if(z){z=zb[c[(c[y>>2]|0)+28>>2]&31](f,c[c[b+1120>>2]>>2]|0)|0;v=c[e+324>>2]|0;c[e+292>>2]=z;if(v|0){w=Bb[c[(c[f>>2]|0)+16>>2]&63](f,348,v)|0;if((v|0)>0){t=0;u=c[w+8>>2]|0;while(1){h=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;z=u+320|0;c[z>>2]=c[h+360>>2];c[u+256>>2]=c[h+332>>2];c[u+260>>2]=c[h+336>>2];c[u+264>>2]=c[h+340>>2];c[u+268>>2]=c[h+344>>2];c[u+344>>2]=c[h+380>>2];c[u+340>>2]=d[h+377>>0];c[u+160>>2]=c[h+228>>2];c[u+164>>2]=c[h+232>>2];c[u+168>>2]=c[h+236>>2];c[u+172>>2]=c[h+240>>2];c[u+336>>2]=d[h+376>>0];c[u+208>>2]=c[h+276>>2];c[u+212>>2]=c[h+280>>2];c[u+216>>2]=c[h+284>>2];c[u+220>>2]=c[h+288>>2];c[u+224>>2]=c[h+292>>2];c[u+228>>2]=c[h+296>>2];c[u+232>>2]=c[h+300>>2];c[u+236>>2]=c[h+304>>2];h=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;c[u>>2]=c[h+60>>2];c[u+4>>2]=c[h+64>>2];c[u+8>>2]=c[h+68>>2];c[u+12>>2]=c[h+72>>2];c[u+16>>2]=c[h+76>>2];c[u+20>>2]=c[h+80>>2];c[u+24>>2]=c[h+84>>2];c[u+28>>2]=c[h+88>>2];c[u+32>>2]=c[h+92>>2];c[u+36>>2]=c[h+96>>2];c[u+40>>2]=c[h+100>>2];c[u+44>>2]=c[h+104>>2];c[u+48>>2]=c[h+108>>2];c[u+52>>2]=c[h+112>>2];c[u+56>>2]=c[h+116>>2];c[u+60>>2]=c[h+120>>2];c[u+296>>2]=c[h+124>>2];h=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;c[u+300>>2]=c[h+128>>2];c[u+112>>2]=c[h+180>>2];c[u+116>>2]=c[h+184>>2];c[u+120>>2]=c[h+188>>2];c[u+124>>2]=c[h+192>>2];c[u+128>>2]=c[h+196>>2];c[u+132>>2]=c[h+200>>2];c[u+136>>2]=c[h+204>>2];c[u+140>>2]=c[h+208>>2];c[u+144>>2]=c[h+212>>2];c[u+148>>2]=c[h+216>>2];c[u+152>>2]=c[h+220>>2];c[u+156>>2]=c[h+224>>2];g=u+316|0;c[g>>2]=c[h+356>>2];c[u+64>>2]=c[h+132>>2];c[u+68>>2]=c[h+136>>2];c[u+72>>2]=c[h+140>>2];c[u+76>>2]=c[h+144>>2];c[u+80>>2]=c[h+148>>2];c[u+84>>2]=c[h+152>>2];c[u+88>>2]=c[h+156>>2];c[u+92>>2]=c[h+160>>2];c[u+96>>2]=c[h+164>>2];c[u+100>>2]=c[h+168>>2];c[u+104>>2]=c[h+172>>2];c[u+108>>2]=c[h+176>>2];h=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;c[u+240>>2]=c[h+316>>2];c[u+244>>2]=c[h+320>>2];c[u+248>>2]=c[h+324>>2];c[u+252>>2]=c[h+328>>2];c[u+324>>2]=c[h+364>>2];c[u+328>>2]=c[h+368>>2];c[u+312>>2]=c[h+352>>2];c[g>>2]=c[h+356>>2];c[z>>2]=c[h+360>>2];c[u+332>>2]=c[h+372>>2];z=c[h+44>>2]|0;g=u+284|0;c[g>>2]=z;n=u+292|0;c[n>>2]=c[h+4>>2];o=u+288|0;c[o>>2]=c[h+24>>2];c[u+304>>2]=c[h+308>>2];c[u+176>>2]=c[h+244>>2];c[u+180>>2]=c[h+248>>2];c[u+184>>2]=c[h+252>>2];c[u+188>>2]=c[h+256>>2];c[u+192>>2]=c[h+260>>2];c[u+196>>2]=c[h+264>>2];c[u+200>>2]=c[h+268>>2];c[u+204>>2]=c[h+272>>2];h=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;c[u+308>>2]=c[h+312>>2];if(z){z=zb[c[(c[y>>2]|0)+28>>2]&31](f,c[h+52>>2]|0)|0;c[u+272>>2]=z;if(z|0){j=c[g>>2]|0;m=Bb[c[(c[f>>2]|0)+16>>2]&63](f,16,j)|0;if((j|0)>0){g=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;k=c[g+52>>2]|0;h=0;i=c[m+8>>2]|0;while(1){c[i>>2]=c[k+(h<<4)>>2];c[i+4>>2]=c[k+(h<<4)+4>>2];c[i+8>>2]=c[k+(h<<4)+8>>2];c[i+12>>2]=c[k+(h<<4)+12>>2];h=h+1|0;if((h|0)==(j|0))break;else i=i+16|0}}else g=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;Zb[c[(c[x>>2]|0)+20>>2]&31](f,m,19202,1497453121,c[g+52>>2]|0)}}else c[u+272>>2]=0;if(c[n>>2]|0){z=zb[c[(c[y>>2]|0)+28>>2]&31](f,c[(c[(c[b+1120>>2]|0)+(t<<2)>>2]|0)+12>>2]|0)|0;c[u+280>>2]=z;if(z|0){j=c[n>>2]|0;m=Bb[c[(c[f>>2]|0)+16>>2]&63](f,4,j)|0;if((j|0)>0){g=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;k=c[g+12>>2]|0;h=0;i=c[m+8>>2]|0;while(1){c[i>>2]=c[k+(h<<2)>>2];h=h+1|0;if((h|0)==(j|0))break;else i=i+4|0}}else g=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;Zb[c[(c[x>>2]|0)+20>>2]&31](f,m,11120,1497453121,c[g+12>>2]|0)}}else c[u+280>>2]=0;if(c[o>>2]|0){z=zb[c[(c[y>>2]|0)+28>>2]&31](f,(c[(c[b+1120>>2]|0)+(t<<2)>>2]|0)+20|0)|0;c[u+276>>2]=z;if(z|0){m=c[n>>2]|0;s=Bb[c[(c[f>>2]|0)+16>>2]&63](f,4,m)|0;if((m|0)>0){g=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;n=c[g+32>>2]|0;o=c[A+12>>2]|0;p=c[A+72>>2]|0;q=c[A+52>>2]|0;r=c[A+32>>2]|0;j=0;k=c[s+8>>2]|0;while(1){i=c[n+(j<<2)>>2]|0;h=((i+~(i<<15)|0)>>>10^i+~(i<<15))*9|0;h=c[o+(((((h>>>6^h)+~((h>>>6^h)<<11)|0)>>>16^(h>>>6^h)+~((h>>>6^h)<<11))&(c[A+48>>2]|0)+-1)<<2)>>2]|0;if((i|0)!=(c[p+(h<<3)>>2]|0))do h=c[r+(h<<2)>>2]|0;while((i|0)!=(c[p+(h<<3)>>2]|0));c[k>>2]=c[q+(h<<2)>>2];j=j+1|0;if((j|0)==(m|0))break;else k=k+4|0}}else g=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;Zb[c[(c[x>>2]|0)+20>>2]&31](f,s,11163,1497453121,g+20|0)}}else c[u+276>>2]=0;t=t+1|0;if((t|0)>=(v|0))break;else u=u+348|0}}Zb[c[(c[x>>2]|0)+20>>2]&31](f,w,11143,1497453121,c[c[b+1120>>2]>>2]|0)}}else c[e+292>>2]=0;z=c[b+912>>2]|0;c[e+328>>2]=z;if(!z){c[e+296>>2]=0;kj(A);l=A;return 11187}z=zb[c[(c[y>>2]|0)+28>>2]&31](f,c[b+920>>2]|0)|0;c[e+296>>2]=z;if(!z){kj(A);l=A;return 11187}k=c[b+912>>2]|0;m=Bb[c[(c[f>>2]|0)+16>>2]&63](f,104,k)|0;if((k|0)>0){i=0;j=c[m+8>>2]|0;while(1){g=c[(c[b+920>>2]|0)+(i<<2)>>2]|0;c[j+96>>2]=xb[c[(c[g>>2]|0)+20>>2]&127](g)|0;g=(c[b+920>>2]|0)+(i<<2)|0;h=c[g>>2]|0;c[j+8>>2]=c[h+28>>2];c[j+12>>2]=c[h+32>>2];c[j+16>>2]=c[h+36>>2];c[j+20>>2]=c[h+40>>2];c[j+24>>2]=c[h+44>>2];c[j+28>>2]=c[h+48>>2];c[j+32>>2]=c[h+52>>2];c[j+36>>2]=c[h+56>>2];c[j+40>>2]=c[h+60>>2];c[j+44>>2]=c[h+64>>2];c[j+48>>2]=c[h+68>>2];c[j+52>>2]=d[h+152>>0];h=j+56|0;c[j>>2]=0;n=j+4|0;c[n>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;g=c[g>>2]|0;h=c[g+4>>2]|0;if(h){c[j+88>>2]=1;c[j>>2]=zb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+920>>2]|0)+(i<<2)>>2]|0}if(c[g+12>>2]|0){c[j+88>>2]=3;c[j>>2]=zb[c[(c[y>>2]|0)+28>>2]&31](f,c[(c[(c[b+920>>2]|0)+(i<<2)>>2]|0)+12>>2]|0)|0}g=c[(c[b+920>>2]|0)+(i<<2)>>2]|0;h=c[g+8>>2]|0;if(h){c[j+88>>2]=2;c[j>>2]=zb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+920>>2]|0)+(i<<2)>>2]|0}h=c[g+16>>2]|0;if(h){c[j+92>>2]=1;c[n>>2]=zb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+920>>2]|0)+(i<<2)>>2]|0}h=c[g+24>>2]|0;if(h){c[j+92>>2]=3;c[n>>2]=zb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+920>>2]|0)+(i<<2)>>2]|0}g=c[g+20>>2]|0;if(g|0){c[j+92>>2]=2;c[n>>2]=zb[c[(c[y>>2]|0)+28>>2]&31](f,g)|0}i=i+1|0;if((i|0)>=(k|0))break;else j=j+104|0}}Zb[c[(c[x>>2]|0)+20>>2]&31](f,m,11167,1497453121,c[b+920>>2]|0);kj(A);l=A;return 11187}function mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;K=l;l=l+144|0;switch(d-b|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;l=K;return}case 2:{m=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;b=c[m+88>>2]|0;d=c[m+200>>2]|0;g=c[m+92>>2]|0;f=c[m+204>>2]|0;if((b|0)==(d|0)&(g|0)==(f|0))if((c[m+96>>2]|0)==(c[m+208>>2]|0)){c[m+8>>2]=0;c[m>>2]=m;c[m+4>>2]=m;c[e>>2]=m;c[e+4>>2]=m;c[e+8>>2]=m;c[e+12>>2]=m;l=K;return}else f=g;f=g-f|0;if(!(f|b-d)){h=(c[m+96>>2]|0)>(c[m+208>>2]|0);f=h?m+112|0:m;c[f>>2]=f;c[f+4>>2]=f;g=f;h=h?m:m+112|0;i=f;j=f;k=f}else{c[m>>2]=m+112;c[m+4>>2]=m+112;c[m+112>>2]=m;c[m+116>>2]=m;j=(b-d|0)<0|(b-d|0)==0&(f|0)<0;g=m;h=m+112|0;i=j?m+112|0:m;j=j?m:m+112|0;k=(f|0)<0|(b-d|0)<0&(f|0)==0?m:m+112|0;f=(f|0)<0|(b-d|0)<0&(f|0)==0?m+112|0:m}c[e>>2]=j;c[e+4>>2]=i;c[e+8>>2]=k;c[e+12>>2]=f;a=hg(a,g,h)|0;c[a>>2]=a;c[a+4>>2]=a;c[g+8>>2]=a;a=c[a+8>>2]|0;c[a>>2]=a;c[a+4>>2]=a;c[h+8>>2]=a;l=K;return}case 1:{a=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;c[a+8>>2]=0;c[a>>2]=a;c[a+4>>2]=a;c[e>>2]=a;c[e+4>>2]=a;c[e+8>>2]=a;c[e+12>>2]=a;l=K;return}default:{n=((d-b|0)/2|0)+b|0;m=c[a+92>>2]|0;k=c[m+(n+-1<<2)>>2]|0;i=c[k+88>>2]|0;j=c[k+92>>2]|0;k=c[k+96>>2]|0;a:do if((n|0)<(d|0)){f=n;do{g=c[m+(f<<2)>>2]|0;if((c[g+88>>2]|0)!=(i|0))break a;if((c[g+92>>2]|0)!=(j|0))break a;if((c[g+96>>2]|0)!=(k|0))break a;f=f+1|0}while((f|0)<(d|0))}else f=n;while(0);mc(a,b,n,e);c[K+96>>2]=0;c[K+96+4>>2]=0;c[K+96+8>>2]=0;c[K+96+12>>2]=0;mc(a,f,d,K+96|0);k=c[K+96+4>>2]|0;b:do if(k|0){B=c[e+4>>2]|0;if(!B){c[e>>2]=c[K+96>>2];c[e+4>>2]=c[K+96+4>>2];c[e+8>>2]=c[K+96+8>>2];c[e+12>>2]=c[K+96+12>>2];break}c[a+100>>2]=(c[a+100>>2]|0)+-1;i=c[e+12>>2]|0;j=c[K+96+8>>2]|0;g=c[i+88>>2]|0;do if((g|0)==(c[j+88>>2]|0)?(h=c[i+92>>2]|0,(h|0)==(c[j+92>>2]|0)):0){f=c[j+4>>2]|0;if((f|0)==(j|0)){f=c[j+8>>2]|0;if(!f)f=g;else{h=c[f+12>>2]|0;j=h;f=c[h+88>>2]|0;h=c[h+92>>2]|0}b=j;n=f+1|0;g=i;o=c[j+96>>2]|0;break}i=c[j>>2]|0;c[f>>2]=i;c[i+4>>2]=f;if((j|0)==(c[K+96>>2]|0)){g=c[i+88>>2]|0;h=c[f+88>>2]|0;do if((g|0)<(h|0))g=i;else{if((g|0)==(h|0)?(c[i+92>>2]|0)<(c[f+92>>2]|0):0){g=i;break}g=f}while(0);c[K+96>>2]=g}if((j|0)==(k|0)){g=c[i+88>>2]|0;h=c[f+88>>2]|0;do if((g|0)>(h|0))f=i;else if((g|0)==(h|0)?(c[i+92>>2]|0)>(c[f+92>>2]|0):0){f=i;break}while(0);c[K+96+4>>2]=f;H=36}else{f=k;H=36}}else{f=k;H=36}while(0);if((H|0)==36){y=c[e>>2]|0;z=c[K+96>>2]|0;d=B;h=0;j=0;w=1;x=0;o=f;while(1){m=c[o+88>>2]|0;n=c[d+88>>2]|0;i=P(m-n|0,w)|0;c:do if((i|0)<=0){if((i|0)<0){v=(x|0)!=0;k=d;g=o;b=c[d+92>>2]|0;u=c[o+92>>2]|0;while(1){r=c[(v?g+4|0:g)>>2]|0;s=(r|0)==(g|0);t=g+88|0;while(1){d=k+88|0;p=u-b|0;if(!s?(C=c[r+88>>2]|0,D=P(C-m|0,w)|0,E=c[r+92>>2]|0,F=E-u|0,(F|0)>-1):0){if(!D)break;if((D|0)<0?(P(F,i)|0)<=(P(D,p)|0):0)break}q=c[(v?k+4|0:k)>>2]|0;if((q|0)==(k|0))break c;G=c[q+88>>2]|0;n=P(G-(c[d>>2]|0)|0,w)|0;o=c[q+92>>2]|0;d=o-b|0;m=c[t>>2]|0;b=i;i=P(m-G|0,w)|0;if(!((d|0)>0&(i|0)<0))break c;if(!n){k=q;b=o;continue}if((n|0)>=0)break c;if((P(d,b)|0)>=(P(n,p)|0))break c;else{k=q;b=o}}g=r;i=P(C-(c[d>>2]|0)|0,w)|0;u=E;m=C}}g=c[d+92>>2]|0;b=(x|0)!=0;d:do if(b){k=d;while(1){i=c[k>>2]|0;if((i|0)==(d|0)){m=k;break d}if((c[i+88>>2]|0)!=(n|0)){m=k;break d}G=g;g=c[i+92>>2]|0;if((g|0)>(G|0)){m=k;break}else k=i}}else{k=d;while(1){i=c[k+4>>2]|0;if((i|0)==(d|0)){m=k;break d}if((c[i+88>>2]|0)!=(n|0)){m=k;break d}G=g;g=c[i+92>>2]|0;if((g|0)>(G|0)){m=k;break}else k=i}}while(0);i=c[o+92>>2]|0;if(b){g=o;while(1){k=c[g+4>>2]|0;if((k|0)==(o|0)){k=m;break c}if((c[k+88>>2]|0)!=(n|0)){k=m;break c}G=i;i=c[k+92>>2]|0;if((i|0)<(G|0)){k=m;break}else g=k}}else{g=o;while(1){k=c[g>>2]|0;if((k|0)==(o|0)){k=m;break c}if((c[k+88>>2]|0)!=(n|0)){k=m;break c}G=i;i=c[k+92>>2]|0;if((i|0)<(G|0)){k=m;break}else g=k}}}else{u=(x|0)!=0;k=d;g=o;t=n;s=c[o+92>>2]|0;while(1){r=g+88|0;b=c[k+92>>2]|0;d=s-b|0;m=c[(u?k:k+4|0)>>2]|0;e:do if((m|0)!=(k|0))if(u){p=i;q=m;o=t;n=b;while(1){m=o;o=c[q+88>>2]|0;m=P(o-m|0,w)|0;b=n;n=c[q+92>>2]|0;b=n-b|0;if((b|0)>=1)break e;if(m|0){if((m|0)>=0)break e;if((P(b,p)|0)>(P(m,d)|0))break e}k=P((c[r>>2]|0)-o|0,w)|0;d=s-n|0;m=c[q>>2]|0;if((m|0)==(q|0)){p=k;k=q;break}else{G=q;p=k;q=m;k=G}}}else{p=i;q=m;o=t;n=b;while(1){m=o;o=c[q+88>>2]|0;m=P(o-m|0,w)|0;b=n;n=c[q+92>>2]|0;b=n-b|0;if((b|0)>=1)break e;if(m|0){if((m|0)>=0)break e;if((P(b,p)|0)>(P(m,d)|0))break e}k=P((c[r>>2]|0)-o|0,w)|0;d=s-n|0;m=c[q+4>>2]|0;if((m|0)==(q|0)){p=k;k=q;break}else{G=q;p=k;q=m;k=G}}}else p=i;while(0);n=c[(u?g:g+4|0)>>2]|0;if((n|0)==(g|0))break c;i=c[n+88>>2]|0;m=P(i-(c[r>>2]|0)|0,w)|0;b=s;s=c[n+92>>2]|0;b=s-b|0;t=c[k+88>>2]|0;i=P(i-t|0,w)|0;if(!((b|0)<0&(i|0)>0))break c;if(!m){g=n;continue}if((m|0)>=0)break c;if((P(b,p)|0)>=(P(m,d)|0))break;else g=n}}while(0);i=(x|0)==0;j=i?g:j;h=i?k:h;o=i?z:g;d=i?y:k;x=x+1|0;if((x|0)==2)break;else w=i?-1:w}c[d+4>>2]=o;c[o>>2]=d;c[h>>2]=j;c[j+4>>2]=h;if((c[z+88>>2]|0)<(c[y+88>>2]|0))c[e>>2]=z;if((c[f+88>>2]|0)>=(c[B+88>>2]|0))c[e+4>>2]=f;c[e+12>>2]=c[K+96+12>>2];g=h;F=j;s=c[j+88>>2]|0;n=c[h+88>>2]|0;t=c[j+92>>2]|0;u=c[h+92>>2]|0;v=c[j+96>>2]|0;o=c[h+96>>2]|0;w=((t-u|0)<0)<<31>>31;x=0-(s-n)|0;y=sw(0,0,x|0,((x|0)<0)<<31>>31|0)|0;y=ct(v-o|0,((v-o|0)<0)<<31>>31|0,y|0,A|0)|0;z=A;B=ct(v-o|0,((v-o|0)<0)<<31>>31|0,t-u|0,w|0)|0;C=A;p=ct(s-n|0,((s-n|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;E=A;D=ct(t-u|0,w|0,t-u|0,w|0)|0;D=sw(p|0,E|0,D|0,A|0)|0;E=A;p=c[h+8>>2]|0;c[K+120>>2]=0;if(!p)p=0;else{q=sw(0,0,t-u|0,w|0)|0;r=A;d=p;f=0;do{m=c[d+12>>2]|0;i=c[m+88>>2]|0;k=c[m+92>>2]|0;m=c[m+96>>2]|0;b=ct(k-u|0,((k-u|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;G=A;e=ct(i-n|0,((i-n|0)<0)<<31>>31|0,q|0,r|0)|0;f:do if((b|0)==(e|0)&(G|0)==(A|0)?(e=ct(i-n|0,((i-n|0)<0)<<31>>31|0,y|0,z|0)|0,b=A,G=ct(k-u|0,((k-u|0)<0)<<31>>31|0,B|0,C|0)|0,b=Ow(G|0,A|0,e|0,b|0)|0,e=A,G=ct(m-o|0,((m-o|0)<0)<<31>>31|0,D|0,E|0)|0,G=Ow(b|0,e|0,G|0,A|0)|0,e=A,(e|0)>0|(e|0)==0&G>>>0>0):0){do if(f|0){b=(c[f+4>>2]|0)==(d|0);if((c[f>>2]|0)!=(d|0))if(b)break;else break f;if(!b)break f;e=c[f+12>>2]|0;L=c[(c[d+8>>2]|0)+12>>2]|0;G=c[L+88>>2]|0;b=c[L+92>>2]|0;L=c[L+96>>2]|0;M=(c[e+96>>2]|0)-L|0;b=(P(m-L|0,(c[e+92>>2]|0)-b|0)|0)-(P(M,k-b|0)|0)|0;G=(P(M,i-G|0)|0)-(P(m-L|0,(c[e+88>>2]|0)-G|0)|0)|0;b=ct(b|0,((b|0)<0)<<31>>31|0,t-u|0,w|0)|0;e=A;G=ct(G|0,((G|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;G=Ow(b|0,e|0,G|0,A|0)|0;e=A;if((e|0)>0|(e|0)==0&G>>>0>0)break f}while(0);f=d}while(0);d=c[d>>2]|0}while((d|0)!=(p|0));c[K+120>>2]=f;p=f}d=c[j+8>>2]|0;c[K+72>>2]=0;if(!d)f=0;else{n=sw(0,0,t-u|0,w|0)|0;o=A;b=d;f=0;do{m=c[b+12>>2]|0;i=c[m+88>>2]|0;k=c[m+92>>2]|0;m=c[m+96>>2]|0;G=ct(k-t|0,((k-t|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;M=A;L=ct(i-s|0,((i-s|0)<0)<<31>>31|0,n|0,o|0)|0;do if((G|0)==(L|0)&(M|0)==(A|0)?(L=ct(i-s|0,((i-s|0)<0)<<31>>31|0,y|0,z|0)|0,G=A,M=ct(k-t|0,((k-t|0)<0)<<31>>31|0,B|0,C|0)|0,G=Ow(M|0,A|0,L|0,G|0)|0,L=A,M=ct(m-v|0,((m-v|0)<0)<<31>>31|0,D|0,E|0)|0,M=Ow(G|0,L|0,M|0,A|0)|0,L=A,(L|0)>0|(L|0)==0&M>>>0>0):0){if(f|0){if((c[f>>2]|0)!=(b|0))break;if((c[f+4>>2]|0)==(b|0)?(L=c[f+12>>2]|0,e=c[(c[b+8>>2]|0)+12>>2]|0,M=c[e+88>>2]|0,G=c[e+92>>2]|0,e=c[e+96>>2]|0,r=(c[L+96>>2]|0)-e|0,G=(P(m-e|0,(c[L+92>>2]|0)-G|0)|0)-(P(r,k-G|0)|0)|0,M=(P(r,i-M|0)|0)-(P(m-e|0,(c[L+88>>2]|0)-M|0)|0)|0,G=ct(G|0,((G|0)<0)<<31>>31|0,t-u|0,w|0)|0,L=A,M=ct(M|0,((M|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0,M=Ow(G|0,L|0,M|0,A|0)|0,L=A,!((L|0)>0|(L|0)==0&M>>>0>0)):0)break}f=b}while(0);b=c[b>>2]|0}while((b|0)!=(d|0));c[K+72>>2]=f}if((p|0)!=0|(f|0)!=0){rc(a,h,j,K+120|0,K+72|0);f=c[K+120>>2]|0;if(f){h=c[f+12>>2]|0;g=h}f=c[K+72>>2]|0;if(!f){f=F;i=h}else{j=c[f+12>>2]|0;f=j;i=h}}else{f=F;i=h}b=f;n=c[j+88>>2]|0;o=(c[j+96>>2]|0)+1|0;h=c[j+92>>2]|0}f=0;e=0;k=0;z=0;G=1;D=0;m=0;d=0;B=0;F=b;C=o;x=j;w=i;while(1){y=c[w+88>>2]|0;u=(c[x+88>>2]|0)-y|0;M=c[w+92>>2]|0;E=(c[x+92>>2]|0)-M|0;t=c[w+96>>2]|0;r=(c[x+96>>2]|0)-t|0;c[K+120>>2]=u;c[K+120+4>>2]=E;c[K+120+8>>2]=r;c[K+120+12>>2]=-1;y=n-y|0;M=h-M|0;t=C-t|0;s=(P(r,M)|0)-(P(E,t)|0)|0;t=(P(u,t)|0)-(P(r,y)|0)|0;M=(P(E,y)|0)-(P(u,M)|0)|0;c[K+72>>2]=s;c[K+72+4>>2]=((s|0)<0)<<31>>31;c[K+72+8>>2]=t;c[K+72+8+4>>2]=((t|0)<0)<<31>>31;c[K+72+16>>2]=M;c[K+72+16+4>>2]=((M|0)<0)<<31>>31;y=ct(E|0,((E|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;L=A;v=ct(r|0,((r|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;v=sw(y|0,L|0,v|0,A|0)|0;L=A;r=ct(s|0,((s|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;y=A;M=ct(u|0,((u|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;M=sw(r|0,y|0,M|0,A|0)|0;y=A;t=ct(u|0,((u|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;u=A;E=ct(s|0,((s|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;E=sw(t|0,u|0,E|0,A|0)|0;c[K+48>>2]=v;c[K+48+4>>2]=L;c[K+48+8>>2]=M;c[K+48+8+4>>2]=y;c[K+48+16>>2]=E;c[K+48+16+4>>2]=A;c[K+24>>2]=0;c[K+24+4>>2]=0;c[K+24+8>>2]=0;c[K+24+12>>2]=0;c[K+24+16>>2]=0;E=Fd(a,0,w,K+120|0,K+72|0,K+48|0,K+24|0)|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;y=Fd(a,1,x,K+120|0,K+72|0,K+48|0,K)|0;do if((E|0)!=0|(y|0)!=0){b=E|0?-1:1;do if((E|0)!=0&(y|0)!=0){v=c[K+24+16>>2]|0;b=c[K+16>>2]|0;if((v|0)!=(b|0)){u=v-b|0;break}if(!v)u=0;else{M=c[K+24>>2]|0;t=c[K+24+4>>2]|0;p=c[K+8>>2]|0;N=c[K+8+4>>2]|0;o=ct(p|0,0,M|0,0)|0;b=A;M=ct(N|0,0,M|0,0)|0;L=A;p=ct(p|0,0,t|0,0)|0;q=A;t=ct(N|0,0,t|0,0)|0;N=A;p=Ow(M|0,0,p|0,0)|0;M=A;N=Ow(L|0,0,t|0,N|0)|0;q=Ow(N|0,A|0,q|0,0)|0;M=Ow(q|0,A|0,M|0,0)|0;q=A;b=Ow(0,p|0,o|0,b|0)|0;o=A;p=Ow(M|0,q|0,(o>>>0<p>>>0|(o|0)==(p|0)&b>>>0<0)&1|0,0)|0;q=A;M=c[K+24+8>>2]|0;N=c[K+24+8+4>>2]|0;t=c[K>>2]|0;L=c[K+4>>2]|0;s=ct(t|0,0,M|0,0)|0;r=A;M=ct(L|0,0,M|0,0)|0;O=A;t=ct(t|0,0,N|0,0)|0;u=A;N=ct(L|0,0,N|0,0)|0;L=A;t=Ow(M|0,0,t|0,0)|0;M=A;L=Ow(O|0,0,N|0,L|0)|0;u=Ow(L|0,A|0,u|0,0)|0;M=Ow(u|0,A|0,M|0,0)|0;u=A;r=Ow(0,t|0,s|0,r|0)|0;s=A;t=Ow(M|0,u|0,(s>>>0<t>>>0|(s|0)==(t|0)&r>>>0<0)&1|0,0)|0;u=A;if(q>>>0<u>>>0|(q|0)==(u|0)&p>>>0<t>>>0)b=-1;else b=q>>>0>u>>>0|(q|0)==(u|0)&p>>>0>t>>>0?1:o>>>0<s>>>0|(o|0)==(s|0)&b>>>0<r>>>0?-1:(o>>>0>s>>>0|(o|0)==(s|0)&b>>>0>r>>>0)&1;u=P(b,v)|0}}else u=b;while(0);do if(!G)if((u|0)>-1)if((c[K+16>>2]|0)<0&((c[K+8>>2]|0)==0?(c[K+8+4>>2]|0)==0:0)){o=z;s=B;break}else{H=133;break}else if((c[K+24+16>>2]|0)<0&((c[K+24+8>>2]|0)==0?(c[K+24+8+4>>2]|0)==0:0)){o=z;s=B;break}else{H=133;break}else H=133;while(0);if((H|0)==133){H=0;o=hg(a,w,x)|0;if(!z)k=o;else c[z+4>>2]=o;c[o>>2]=z;b=c[o+8>>2]|0;if(!B)d=b;else c[B>>2]=b;c[b+4>>2]=B;s=b}c[K+116>>2]=E;c[K+112>>2]=y;if(!u){rc(a,g,F,K+116|0,K+112|0);b=c[K+112>>2]|0}else b=y;if((u|0)>-1&(b|0)!=0){q=(D|0)!=0;if(q?(I=c[D>>2]|0,(I|0)!=(y|0)):0){n=I;do{p=n;n=c[n>>2]|0;r=c[p+8>>2]|0;if((n|0)==(p|0))h=0;else{c[n+4>>2]=c[p+4>>2];c[c[p+4>>2]>>2]=n;h=n}c[(c[r+12>>2]|0)+8>>2]=h;h=c[r>>2]|0;if((h|0)==(r|0))h=0;else{c[h+4>>2]=c[r+4>>2];c[c[r+4>>2]>>2]=h}c[(c[p+12>>2]|0)+8>>2]=h;c[p+4>>2]=0;c[p+4+4>>2]=0;c[p+4+8>>2]=0;c[p+4+12>>2]=0;c[p>>2]=c[a+56>>2];c[a+56>>2]=p;c[r+4>>2]=0;c[r+4+4>>2]=0;c[r+4+8>>2]=0;c[r+4+12>>2]=0;c[r>>2]=c[a+56>>2];c[a+56>>2]=r;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((n|0)!=(y|0))}if(!s){m=q?m:y;h=d}else{if(q)h=D;else{m=d;h=c[y+4>>2]|0}c[h>>2]=d;c[d+4>>2]=h;c[s>>2]=y;c[y+4>>2]=s;h=0;b=c[K+112>>2]|0}O=F;t=c[b+8>>2]|0;s=0;B=h;z=c[b+12>>2]|0;n=c[O+88>>2]|0;d=c[O+96>>2]|0;h=c[O+92>>2]|0}else{t=D;B=d;z=F;d=C}b=c[K+116>>2]|0;if((u|0)<1&(b|0)!=0){p=(f|0)!=0;if(p?(J=c[f+4>>2]|0,(J|0)!=(E|0)):0){d=J;do{q=d+4|0;n=d;d=c[q>>2]|0;h=c[n>>2]|0;r=c[n+8>>2]|0;if((h|0)==(n|0))h=0;else{c[h+4>>2]=d;c[c[q>>2]>>2]=h}c[(c[r+12>>2]|0)+8>>2]=h;h=c[r>>2]|0;if((h|0)==(r|0))h=0;else{c[h+4>>2]=c[r+4>>2];c[c[r+4>>2]>>2]=h}c[(c[n+12>>2]|0)+8>>2]=h;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[r+4>>2]=0;c[r+4+4>>2]=0;c[r+4+8>>2]=0;c[r+4+12>>2]=0;c[r>>2]=c[a+56>>2];c[a+56>>2]=r;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((d|0)!=(E|0))}if(!o)h=p?e:E;else{if(p)h=e;else{h=k;f=c[E>>2]|0}c[k>>2]=f;c[f+4>>2]=k;c[E>>2]=o;c[o+4>>2]=E;k=0;b=c[K+116>>2]|0}O=g;f=c[b+8>>2]|0;r=h;w=0;y=c[O+88>>2]|0;g=c[b+12>>2]|0;x=c[O+96>>2]|0;h=c[O+92>>2]|0}else{r=e;w=o;y=n;x=d}if((g|0)==(i|0)&(z|0)==(j|0)){if(f){q=f+4|0;b=c[q>>2]|0;if((b|0)!=(r|0))do{o=b+4|0;n=b;b=c[o>>2]|0;d=c[n>>2]|0;p=c[n+8>>2]|0;if((d|0)==(n|0))d=0;else{c[d+4>>2]=b;c[c[o>>2]>>2]=d}c[(c[p+12>>2]|0)+8>>2]=d;d=c[p>>2]|0;if((d|0)==(p|0))d=0;else{c[d+4>>2]=c[p+4>>2];c[c[p+4>>2]>>2]=d}c[(c[n+12>>2]|0)+8>>2]=d;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[p+4>>2]=0;c[p+4+4>>2]=0;c[p+4+8>>2]=0;c[p+4+12>>2]=0;c[p>>2]=c[a+56>>2];c[a+56>>2]=p;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((b|0)!=(r|0));if(w|0){c[k>>2]=f;c[q>>2]=k;c[r>>2]=w;c[w+4>>2]=r}}else{c[k>>2]=w;c[w+4>>2]=k;c[g+8>>2]=w}if(!t){c[s>>2]=B;c[B+4>>2]=s;c[j+8>>2]=s;v=0;u=G;t=0;q=w;d=B;p=z;n=y;o=g;b=x;break}b=c[t>>2]|0;if((b|0)!=(m|0))do{n=b;b=c[b>>2]|0;o=c[n+8>>2]|0;if((b|0)==(n|0))d=0;else{c[b+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=b;d=b}c[(c[o+12>>2]|0)+8>>2]=d;d=c[o>>2]|0;if((d|0)==(o|0))d=0;else{c[d+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=d}c[(c[n+12>>2]|0)+8>>2]=d;c[n+4>>2]=0;c[n+4+4>>2]=0;c[n+4+8>>2]=0;c[n+4+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[o+4>>2]=0;c[o+4+4>>2]=0;c[o+4+8>>2]=0;c[o+4+12>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((b|0)!=(m|0));if(!s){v=0;u=G;q=w;s=0;d=B;p=z;n=y;o=g;b=x}else{c[t>>2]=B;c[B+4>>2]=t;c[s>>2]=m;c[m+4>>2]=s;v=0;u=G;q=w;d=B;p=z;n=y;o=g;b=x}}else{v=1;u=0;q=w;d=B;p=z;n=y;o=g;b=x}}else{v=hg(a,w,x)|0;c[v>>2]=v;c[v+4>>2]=v;c[w+8>>2]=v;v=c[v+8>>2]|0;c[v>>2]=v;c[v+4>>2]=v;c[x+8>>2]=v;v=0;u=G;t=D;r=e;q=z;s=B;p=F;o=g;b=C}while(0);if(!v)break b;e=r;z=q;G=u;D=t;B=s;F=p;g=o;C=b;x=p;w=o}}while(0);l=K;return}}}
// EMSCRIPTEN_END_FUNCS
var nb=[fJ,ip,UG,HG,HG,LG,$D,Mq,Lq,Mq,fJ,fJ,fJ,fJ,fJ,fJ];var ob=[KI,bx];var pb=[FD,fk,fk,FD];var qb=[DH,Dj,gk,vi,Bv,$k,Ao,$j,Xm,_m,Qh,Tm,lm,ym,Ig,Ng,Gg,DH,DH,DH,DH,DH,DH,DH,DH,DH,DH,DH,DH,DH,DH,DH];var rb=[eB,tk,tk,eB];var sb=[CF,Vc];var tb=[ZC,Yu,ie,Yu,Yu,je,Yu,Yu,yf,uf,bu,Yu,Yu,ZC,ZC,ZC];var ub=[ix,oq];var vb=[Zv,qc,Vk,Zv];var wb=[bv,Nm,qd,bv];var xb=[eJ,HI,jI,hF,DE,DE,fG,BH,II,HI,Nr,VH,EI,XG,LH,YG,HI,xH,qI,II,oI,oI,jI,cG,KE,UE,PH,vH,II,oF,YG,XF,LF,wF,_G,PF,wG,sG,jG,JG,xG,jI,Cz,Vs,vF,KG,xF,Fv,cG,cG,yH,tI,jH,GI,AH,BI,CI,zI,sE,ZH,AH,cI,aI,fI,YG,iI,ZG,bG,bG,HI,wI,AH,vI,uI,zD,SH,HI,HI,HI,JI,DI,xI,EI,DI,_G,iG,RH,sI,AH,nI,mI,aF,nD,aG,VF,VF,fG,fG,OI,HI,jI,fG,fG,OI,DE,HI,WF,WF,fG,Ot,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ,eJ];var yb=[YF,Di];var zb=[AI,ds,gs,es,Fo,oG,oG,dc,tz,tz,Pd,wn,sy,bo,Ct,tl,fr,op,Pk,yi,Io,dr,AI,AI,AI,AI,AI,AI,AI,AI,AI,AI];var Ab=[KH,Kh,hE,hE,bn,KH,KH,KH];var Bb=[wH,Wn,Fi,xk,lc,vo,gl,sg,yd,fi,fh,Cf,vn,Sh,Jh,Hf,nq,bf,tg,hm,Wq,ek,Mf,Qk,xg,hl,Oh,Ok,Ie,Mk,Ed,EC,EC,pf,Yj,Sg,Jg,ti,To,ql,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH,wH];var Cb=[zF,sn,zp,Uo,sk,qk,Vh,Ll,Il,Mo,wg,Ho,Rp,Ym,Zl,Rl,Si,jl,Qc,cw,Gx,Ef,zF,zF,zF,zF,zF,zF,zF,zF,zF,zF];var Db=[VC,Jl];var Eb=[GA,fd,Ad,Wd];var Fb=[gx,ld,Yf,gx];var Gb=[_u,Rc,oh,_u];var Hb=[lJ,UI,pk,gu];var Ib=[jJ,ZI,aJ,ZI,aJ,ZI,aJ,ZI,aJ,ZI,aJ,ZI,aJ,ZI,nH,ZI,aJ,ZI,aJ,ZI,aJ,ZI,aJ,Lp,Vq,no,Jj,gz,ZI,aJ,aJ,aJ,aJ,rd,pw,ZI,aJ,ZI,aJ,aJ,ZI,Ey,aJ,aJ,ZI,Ey,aJ,aJ,ZI,aJ,lz,Sx,ZI,aJ,ZI,aJ,mq,Mp,Qi,vC,bk,Vu,Wm,zu,fc,Bn,qh,Pn,Df,Ml,ZI,aJ,ZI,aJ,zl,$l,Qg,av,ci,aJ,kk,ZB,IH,Yv,ZI,IH,Yv,ZI,Yv,Td,mn,Yv,Yv,Le,Yv,Yv,qe,Yv,Oc,Tf,St,WE,pi,pF,aJ,up,Do,aJ,ZI,aJ,Jp,No,wl,_l,rk,Wu,Qp,_q,ZI,aJ,nf,lB,aJ,aJ,aJ,aJ,aJ,aJ,aJ,aJ,aJ,aJ,mk,HC,cr,Xp,Np,Qo,aJ,rq,jp,ir,_p,ZI,aJ,Oj,rF,Dd,aJ,aJ,aJ,aJ,aJ,ZI,aJ,ZI,oH,aJ,aJ,aJ,aJ,aJ,aJ,aJ,Yq,Vp,ZI,aJ,Hk,pD,aJ,aJ,aJ,Gi,IB,aJ,cj,iA,aJ,qm,Hv,ej,Ey,Ey,Ey,Ey,Yp,np,ZI,aJ,aJ,aJ,ZI,Ey,aJ,ZI,aJ,ZI,Ey,Mp,Dm,rm,Ey,Ey,Ey,Mp,aJ,Mp,pH,Qv,aJ,aJ,OG,Cv,Ey,Ey,Ey,ji,Pv,tj,xv,ZI,xv,Sp,gr,lk,yu,aJ,aJ,Ki,qF,ZI,aJ,aJ,aJ,ni,Qv,aJ,ZI,aJ,aJ,aJ,aJ,aJ,aJ,ZI,aJ,ZI,aJ,ar,Wp,aJ,aJ,nk,oD,ii,vv,Hp,Ko,ZI,aJ,ZI,ZI,aJ,aJ,Ms,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ,jJ];var Jb=[_I,nc,Uc,kn,jn,bF,kF,WH,kF,ns,wd,jh,Te,kd,yg,sp,dg,Hj,De,Gc,YE,kF,WH,Pl,Pl,lj,_I,_I,_I,_I,_I,_I];var Kb=[yI,be,jf,Bg,xj,gc,Jf,yI];var Lb=[LC];var Mb=[lI,Zg,Kd,vB,vB,xu,Vj,Xi,yp,xu,xu,jj,Ol,bm,xu,Pi];var Nb=[hH];var Ob=[YI,$q,ws,yG,OB,AB,yG,oo,_k,yG,Bt,so,Fc,le,cq,yG,yG,yG,yG,wB,jk,vg,fl,Tj,im,Pj,ks,rh,nl,Pp,Jx,ox,Jx,ox,Nc,hc,yG,mj,nu,io,pq,Th,Gt,Ft,Mg,gg,Ah,tu,sf,Dh,Ac,Wk,nd,Cj,zc,Vi,yG,Tl,Bk,Sk,el,ak,VA,Cr,mi,ap,Ck,lA,On,Dk,mj,wj,mj,ki,yr,dq,si,mj,nj,Sn,nr,pn,fe,Mn,vl,Eu,Cu,Du,zh,$m,Zm,Yg,Is,wq,Hl,Ls,Op,Uk,vd,ud,Lr,Uk,Ls,yG,yG,Hh,Ih,se,Yn,yG,yG,yG,ly,Dx,tf,md,mm,Fu,ku,ku,yG,mj,yG,yG,YI,YI,YI,YI];var Pb=[kI,Cw,Kv,fs,pl,tc,kI,kI];var Qb=[gH,ev,hk,cp,Wi,Nn,Am,gH];var Rb=[dF];var Sb=[bI,XE,Ei,Ge,mw,hi,zo,XE,yj,Lj,au,XE,Rd,td,XE,al,Rk,Kk,Gq,$i,of,bi,XE,XE,Mi,ei,mf,Fx,Ex,XE,XE,XE,XE,xd,ai,Sj,yk,Mt,Bh,su,gf,Me,Me,ph,al,Uj,So,li,al,Zh,XE,nm,Bo,wm,jm,Kl,Zj,gn,hn,fn,Vn,mo,qf,ro,XE,XE,XE,XE,Zp,lp,mp,Ql,zj,$h,hp,XE,XE,XE,XE,zi,Nd,Yh,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI];var Tb=[fH,Jz,oc,ae,$e,Jz,Ej,Be,xm,en,fH,fH,fH,fH,fH,fH];var Ub=[pC];var Vb=[zG,_e,jB,jB,jB,Xf,Ff,cu,Nj,Ar,Nu,Gk,Kc,Ec,Lf,Ht,th,Pf,kc,Ou,Km,sl,kp,Ff,We,Og,_f,Fe,Tt,Zs,Cg,wh,cu,oi,Ul,tt,vh,$d,am,qj,Bj,Cp,pg,Vg,Mh,Hi,Nk,jB,ri,Eh,wi,jB,jB,oj,rj,om,Tk,dk,ke,Ae,qi,Lc,rj,yl,rl,xl,cd,_n,Aj,_n,Cl,eq,po,dl,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG,zG];var Wb=[cF,Ov];var Xb=[pu];var Yb=[iv];var Zb=[xE,Sl,og,Up,Pc,Ze,$f,Uf,ec,Ic,yc,Bd,de,Dc,Zu,_h,pc,Xd,bl,Oi,hf,xE,xE,xE,xE,xE,xE,xE,xE,xE,xE,xE];var _b=[oC];var $b=[JB,_d,Gl,cm,rp,Jn,Ti,JB];var ac=[$z,mg,Xg,$z];var bc=[Nw,Fj];var cc=[wv,pm,pm,wv];return{__GLOBAL__sub_I_btConeTwistConstraint_cpp:nA,__GLOBAL__sub_I_btQuickprof_cpp:Sc,___cxa_can_catch:Oq,___cxa_is_pointer_type:fz,___muldi3:ct,___udivdi3:rB,___uremdi3:xs,_bitshift64Lshr:Mu,_bitshift64Shl:wu,_emscripten_bind_Anchor___destroy___0:TD,_emscripten_bind_Anchor_get_m_body_0:vG,_emscripten_bind_Anchor_get_m_c0_0:YH,_emscripten_bind_Anchor_get_m_c1_0:XH,_emscripten_bind_Anchor_get_m_c2_0:IG,_emscripten_bind_Anchor_get_m_influence_0:QG,_emscripten_bind_Anchor_get_m_local_0:OI,_emscripten_bind_Anchor_get_m_node_0:lH,_emscripten_bind_Anchor_set_m_body_1:gE,_emscripten_bind_Anchor_set_m_c0_1:RB,_emscripten_bind_Anchor_set_m_c1_1:Cs,_emscripten_bind_Anchor_set_m_c2_1:JE,_emscripten_bind_Anchor_set_m_influence_1:PE,_emscripten_bind_Anchor_set_m_local_1:Es,_emscripten_bind_Anchor_set_m_node_1:TE,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:mt,_emscripten_bind_ClosestConvexResultCallback___destroy___0:px,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:RG,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:EB,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:PB,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:XG,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:iH,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:gI,_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:NF,_emscripten_bind_ClosestConvexResultCallback_hasHit_0:Dy,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:mG,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:ez,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:sz,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:cs,_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:Sr,_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:ss,_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:Xr,_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:Lt,_emscripten_bind_ClosestRayResultCallback___destroy___0:px,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:PB,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:YB,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:DE,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:$E,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:aI,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:JF,_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:eG,_emscripten_bind_ClosestRayResultCallback_hasHit_0:$y,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:sz,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:Az,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:AB,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:Mr,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:Is,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:Ur,_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:$r,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:ms,_emscripten_bind_ConcreteContactResultCallback___destroy___0:px,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:rr,_emscripten_bind_Config___destroy___0:Bz,_emscripten_bind_Config_get_citerations_0:WF,_emscripten_bind_Config_get_collisions_0:bG,_emscripten_bind_Config_get_diterations_0:VF,_emscripten_bind_Config_get_kAHR_0:HG,_emscripten_bind_Config_get_kCHR_0:GG,_emscripten_bind_Config_get_kDF_0:WG,_emscripten_bind_Config_get_kDG_0:VG,_emscripten_bind_Config_get_kDP_0:bH,_emscripten_bind_Config_get_kKHR_0:FG,_emscripten_bind_Config_get_kLF_0:UG,_emscripten_bind_Config_get_kMT_0:TG,_emscripten_bind_Config_get_kPR_0:SG,_emscripten_bind_Config_get_kSHR_0:EG,_emscripten_bind_Config_get_kSKHR_CL_0:hG,_emscripten_bind_Config_get_kSK_SPLT_CL_0:rG,_emscripten_bind_Config_get_kSRHR_CL_0:gG,_emscripten_bind_Config_get_kSR_SPLT_CL_0:CG,_emscripten_bind_Config_get_kSSHR_CL_0:DG,_emscripten_bind_Config_get_kSS_SPLT_CL_0:OF,_emscripten_bind_Config_get_kVCF_0:RG,_emscripten_bind_Config_get_kVC_0:QG,_emscripten_bind_Config_get_maxvolume_0:LG,_emscripten_bind_Config_get_piterations_0:UF,_emscripten_bind_Config_get_timescale_0:$F,_emscripten_bind_Config_get_viterations_0:TF,_emscripten_bind_Config_set_citerations_1:mD,_emscripten_bind_Config_set_collisions_1:lD,_emscripten_bind_Config_set_diterations_1:kD,_emscripten_bind_Config_set_kAHR_1:kF,_emscripten_bind_Config_set_kCHR_1:IE,_emscripten_bind_Config_set_kDF_1:SE,_emscripten_bind_Config_set_kDG_1:RF,_emscripten_bind_Config_set_kDP_1:lG,_emscripten_bind_Config_set_kKHR_1:HE,_emscripten_bind_Config_set_kLF_1:bF,_emscripten_bind_Config_set_kMT_1:RE,_emscripten_bind_Config_set_kPR_1:QE,_emscripten_bind_Config_set_kSHR_1:GE,_emscripten_bind_Config_set_kSKHR_CL_1:fE,_emscripten_bind_Config_set_kSK_SPLT_CL_1:rE,_emscripten_bind_Config_set_kSRHR_CL_1:eE,_emscripten_bind_Config_set_kSR_SPLT_CL_1:EE,_emscripten_bind_Config_set_kSSHR_CL_1:FE,_emscripten_bind_Config_set_kSS_SPLT_CL_1:PD,_emscripten_bind_Config_set_kVCF_1:mG,_emscripten_bind_Config_set_kVC_1:PE,_emscripten_bind_Config_set_maxvolume_1:YE,_emscripten_bind_Config_set_piterations_1:jD,_emscripten_bind_Config_set_timescale_1:_D,_emscripten_bind_Config_set_viterations_1:iD,_emscripten_bind_ContactResultCallback___destroy___0:px,_emscripten_bind_ContactResultCallback_addSingleResult_7:rr,_emscripten_bind_ConvexResultCallback___destroy___0:px,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:RG,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:EB,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:PB,_emscripten_bind_ConvexResultCallback_hasHit_0:Dy,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:mG,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:ez,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:sz,_emscripten_bind_Face___destroy___0:TD,_emscripten_bind_Face_get_m_n_1:OD,_emscripten_bind_Face_get_m_normal_0:QH,_emscripten_bind_Face_set_m_n_2:UA,_emscripten_bind_Face_set_m_normal_1:Bs,_emscripten_bind_Joint___destroy___0:px,_emscripten_bind_Joint_get_m_cfm_0:DG,_emscripten_bind_Joint_get_m_delete_0:mF,_emscripten_bind_Joint_get_m_drift_0:aI,_emscripten_bind_Joint_get_m_erp_0:CG,_emscripten_bind_Joint_get_m_massmatrix_0:uH,_emscripten_bind_Joint_get_m_refs_1:OE,_emscripten_bind_Joint_get_m_sdrift_0:OH,_emscripten_bind_Joint_get_m_split_0:rG,_emscripten_bind_Joint_set_m_cfm_1:FE,_emscripten_bind_Joint_set_m_delete_1:hD,_emscripten_bind_Joint_set_m_drift_1:Is,_emscripten_bind_Joint_set_m_erp_1:EE,_emscripten_bind_Joint_set_m_massmatrix_1:dB,_emscripten_bind_Joint_set_m_refs_2:Uq,_emscripten_bind_Joint_set_m_sdrift_1:zs,_emscripten_bind_Joint_set_m_split_1:rE,_emscripten_bind_LJoint___destroy___0:px,_emscripten_bind_LJoint_get_m_rpos_1:vE,_emscripten_bind_LJoint_set_m_rpos_2:Pq,_emscripten_bind_Link___destroy___0:QB,_emscripten_bind_Link_get_m_n_1:yD,_emscripten_bind_Link_set_m_n_2:LA,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:lr,_emscripten_bind_LocalConvexResult___destroy___0:TD,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:lH,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:FG,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:NI,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:JF,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:hF,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:TE,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:HE,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:Ns,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:Ur,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:OB,_emscripten_bind_LocalShapeInfo___destroy___0:TD,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:lH,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:hF,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:TE,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:OB,_emscripten_bind_Material___destroy___0:TD,_emscripten_bind_Material_get_m_flags_0:fG,_emscripten_bind_Material_get_m_kAST_0:bH,_emscripten_bind_Material_get_m_kLST_0:RG,_emscripten_bind_Material_get_m_kVST_0:VG,_emscripten_bind_Material_set_m_flags_1:ND,_emscripten_bind_Material_set_m_kAST_1:lG,_emscripten_bind_Material_set_m_kLST_1:mG,_emscripten_bind_Material_set_m_kVST_1:RF,_emscripten_bind_Node___destroy___0:TD,_emscripten_bind_Node_get_m_n_0:aI,_emscripten_bind_Node_get_m_x_0:NI,_emscripten_bind_Node_set_m_n_1:Is,_emscripten_bind_Node_set_m_x_1:Ns,_emscripten_bind_RayResultCallback___destroy___0:px,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:PB,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:YB,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:DE,_emscripten_bind_RayResultCallback_hasHit_0:$y,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:sz,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:Az,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:AB,_emscripten_bind_RaycastInfo___destroy___0:TD,_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:gJ,_emscripten_bind_RaycastInfo_get_m_contactPointWS_0:XG,_emscripten_bind_RaycastInfo_get_m_groundObject_0:UF,_emscripten_bind_RaycastInfo_get_m_hardPointWS_0:BG,_emscripten_bind_RaycastInfo_get_m_isInContact_0:ZD,_emscripten_bind_RaycastInfo_get_m_suspensionLength_0:TG,_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:AG,_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:_F,_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:Gs,_emscripten_bind_RaycastInfo_set_m_contactPointWS_1:cs,_emscripten_bind_RaycastInfo_set_m_groundObject_1:jD,_emscripten_bind_RaycastInfo_set_m_hardPointWS_1:js,_emscripten_bind_RaycastInfo_set_m_isInContact_1:HB,_emscripten_bind_RaycastInfo_set_m_suspensionLength_1:RE,_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:is,_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:Zr,_emscripten_bind_Specs___destroy___0:TD,_emscripten_bind_Specs_get_position_0:MI,_emscripten_bind_Specs_set_position_1:ys,_emscripten_bind_VoidPtr___destroy___0:TD,_emscripten_bind_btActionInterface___destroy___0:px,_emscripten_bind_btActionInterface_updateAction_2:aw,_emscripten_bind_btAxisSweep3___destroy___0:px,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:yt,_emscripten_bind_btAxisSweep3_btAxisSweep3_3:Ks,_emscripten_bind_btAxisSweep3_btAxisSweep3_4:hs,_emscripten_bind_btAxisSweep3_btAxisSweep3_5:Gr,_emscripten_bind_btBoxShape___destroy___0:px,_emscripten_bind_btBoxShape_btBoxShape_1:Ci,_emscripten_bind_btBoxShape_calculateLocalInertia_2:Nv,_emscripten_bind_btBoxShape_getLocalScaling_0:Oz,_emscripten_bind_btBoxShape_getMargin_0:pA,_emscripten_bind_btBoxShape_setLocalScaling_1:Cx,_emscripten_bind_btBoxShape_setMargin_1:Ay,_emscripten_bind_btBroadphaseInterface___destroy___0:px,_emscripten_bind_btBvhTriangleMeshShape___destroy___0:px,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:xt,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:Ps,_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:Nv,_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0:Oz,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:Cx,_emscripten_bind_btCapsuleShapeX___destroy___0:px,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:Dn,_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:Nv,_emscripten_bind_btCapsuleShapeX_getHalfHeight_0:mC,_emscripten_bind_btCapsuleShapeX_getLocalScaling_0:Oz,_emscripten_bind_btCapsuleShapeX_getMargin_0:pA,_emscripten_bind_btCapsuleShapeX_getRadius_0:MD,_emscripten_bind_btCapsuleShapeX_getUpAxis_0:qE,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:Cx,_emscripten_bind_btCapsuleShapeX_setMargin_1:Ay,_emscripten_bind_btCapsuleShapeZ___destroy___0:px,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:Cn,_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:Nv,_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0:mC,_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0:Oz,_emscripten_bind_btCapsuleShapeZ_getMargin_0:pA,_emscripten_bind_btCapsuleShapeZ_getRadius_0:MD,_emscripten_bind_btCapsuleShapeZ_getUpAxis_0:qE,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:Cx,_emscripten_bind_btCapsuleShapeZ_setMargin_1:Ay,_emscripten_bind_btCapsuleShape___destroy___0:px,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:Fn,_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:Nv,_emscripten_bind_btCapsuleShape_getHalfHeight_0:mC,_emscripten_bind_btCapsuleShape_getLocalScaling_0:Oz,_emscripten_bind_btCapsuleShape_getMargin_0:pA,_emscripten_bind_btCapsuleShape_getRadius_0:MD,_emscripten_bind_btCapsuleShape_getUpAxis_0:qE,_emscripten_bind_btCapsuleShape_setLocalScaling_1:Cx,_emscripten_bind_btCapsuleShape_setMargin_1:Ay,_emscripten_bind_btCollisionConfiguration___destroy___0:px,_emscripten_bind_btCollisionDispatcher___destroy___0:px,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:ok,_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:Aw,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:qA,_emscripten_bind_btCollisionObject___destroy___0:px,_emscripten_bind_btCollisionObject_activate_0:ju,_emscripten_bind_btCollisionObject_activate_1:Ys,_emscripten_bind_btCollisionObject_forceActivationState_1:FB,_emscripten_bind_btCollisionObject_getCollisionFlags_0:JD,_emscripten_bind_btCollisionObject_getCollisionShape_0:ID,_emscripten_bind_btCollisionObject_getUserIndex_0:nE,_emscripten_bind_btCollisionObject_getUserPointer_0:cE,_emscripten_bind_btCollisionObject_getWorldTransform_0:fF,_emscripten_bind_btCollisionObject_isActive_0:ZA,_emscripten_bind_btCollisionObject_isKinematicObject_0:Ry,_emscripten_bind_btCollisionObject_isStaticObject_0:Kz,_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0:tx,_emscripten_bind_btCollisionObject_setActivationState_1:uw,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:Lv,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:Oy,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:xy,_emscripten_bind_btCollisionObject_setCollisionFlags_1:wz,_emscripten_bind_btCollisionObject_setCollisionShape_1:sx,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:Uy,_emscripten_bind_btCollisionObject_setFriction_1:YA,_emscripten_bind_btCollisionObject_setRestitution_1:oA,_emscripten_bind_btCollisionObject_setRollingFriction_1:Fz,_emscripten_bind_btCollisionObject_setUserIndex_1:tA,_emscripten_bind_btCollisionObject_setUserPointer_1:Wz,_emscripten_bind_btCollisionObject_setWorldTransform_1:cy,_emscripten_bind_btCollisionShape___destroy___0:px,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:Nv,_emscripten_bind_btCollisionShape_getLocalScaling_0:Oz,_emscripten_bind_btCollisionShape_getMargin_0:pA,_emscripten_bind_btCollisionShape_setLocalScaling_1:Cx,_emscripten_bind_btCollisionShape_setMargin_1:Ay,_emscripten_bind_btCollisionWorld___destroy___0:px,_emscripten_bind_btCollisionWorld_addCollisionObject_1:kw,_emscripten_bind_btCollisionWorld_addCollisionObject_2:Ru,_emscripten_bind_btCollisionWorld_addCollisionObject_3:pt,_emscripten_bind_btCollisionWorld_contactPairTest_3:wt,_emscripten_bind_btCollisionWorld_contactTest_2:tn,_emscripten_bind_btCollisionWorld_convexSweepTest_5:Qr,_emscripten_bind_btCollisionWorld_getBroadphase_0:LD,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:tC,_emscripten_bind_btCollisionWorld_getDispatcher_0:KD,_emscripten_bind_btCollisionWorld_getPairCache_0:Tz,_emscripten_bind_btCollisionWorld_rayTest_3:$u,_emscripten_bind_btCollisionWorld_removeCollisionObject_1:Pw,_emscripten_bind_btCollisionWorld_updateSingleAabb_1:nx,_emscripten_bind_btCompoundShape___destroy___0:px,_emscripten_bind_btCompoundShape_addChildShape_2:Sd,_emscripten_bind_btCompoundShape_btCompoundShape_0:ny,_emscripten_bind_btCompoundShape_btCompoundShape_1:Sw,_emscripten_bind_btCompoundShape_calculateLocalInertia_2:Nv,_emscripten_bind_btCompoundShape_getChildShape_1:Pz,_emscripten_bind_btCompoundShape_getLocalScaling_0:Oz,_emscripten_bind_btCompoundShape_getMargin_0:pA,_emscripten_bind_btCompoundShape_getNumChildShapes_0:cB,_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:_x,_emscripten_bind_btCompoundShape_setLocalScaling_1:Cx,_emscripten_bind_btCompoundShape_setMargin_1:Ay,_emscripten_bind_btConcaveShape___destroy___0:px,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:Nv,_emscripten_bind_btConcaveShape_getLocalScaling_0:Oz,_emscripten_bind_btConcaveShape_setLocalScaling_1:Cx,_emscripten_bind_btConeShapeX___destroy___0:px,_emscripten_bind_btConeShapeX_btConeShapeX_2:um,_emscripten_bind_btConeShapeX_calculateLocalInertia_2:Nv,_emscripten_bind_btConeShapeX_getLocalScaling_0:Oz,_emscripten_bind_btConeShapeX_setLocalScaling_1:Cx,_emscripten_bind_btConeShapeZ___destroy___0:px,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:tm,_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:Nv,_emscripten_bind_btConeShapeZ_getLocalScaling_0:Oz,_emscripten_bind_btConeShapeZ_setLocalScaling_1:Cx,_emscripten_bind_btConeShape___destroy___0:px,_emscripten_bind_btConeShape_btConeShape_2:vm,_emscripten_bind_btConeShape_calculateLocalInertia_2:Nv,_emscripten_bind_btConeShape_getLocalScaling_0:Oz,_emscripten_bind_btConeShape_setLocalScaling_1:Cx,_emscripten_bind_btConeTwistConstraint___destroy___0:px,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:Wg,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:Fg,_emscripten_bind_btConeTwistConstraint_enableFeedback_1:mz,_emscripten_bind_btConeTwistConstraint_enableMotor_1:dz,_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:ty,_emscripten_bind_btConeTwistConstraint_getParam_2:Rv,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:zy,_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:hz,_emscripten_bind_btConeTwistConstraint_setDamping_1:Nz,_emscripten_bind_btConeTwistConstraint_setLimit_2:Rx,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:yw,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:ey,_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:hv,_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:di,_emscripten_bind_btConeTwistConstraint_setParam_3:fv,_emscripten_bind_btConstraintSetting___destroy___0:TD,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:zz,_emscripten_bind_btConstraintSetting_get_m_damping_0:RG,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:bH,_emscripten_bind_btConstraintSetting_get_m_tau_0:GF,_emscripten_bind_btConstraintSetting_set_m_damping_1:mG,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:lG,_emscripten_bind_btConstraintSetting_set_m_tau_1:MG,_emscripten_bind_btConstraintSolver___destroy___0:px,_emscripten_bind_btContactSolverInfo___destroy___0:TD,_emscripten_bind_btContactSolverInfo_get_m_numIterations_0:vG,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:TA,_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:uC,_emscripten_bind_btContactSolverInfo_set_m_numIterations_1:gE,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:py,_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:KA,_emscripten_bind_btConvexHullShape___destroy___0:px,_emscripten_bind_btConvexHullShape_addPoint_1:cz,_emscripten_bind_btConvexHullShape_addPoint_2:jx,_emscripten_bind_btConvexHullShape_btConvexHullShape_0:_w,_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:Nv,_emscripten_bind_btConvexHullShape_getLocalScaling_0:Oz,_emscripten_bind_btConvexHullShape_getMargin_0:pA,_emscripten_bind_btConvexHullShape_setLocalScaling_1:Cx,_emscripten_bind_btConvexHullShape_setMargin_1:Ay,_emscripten_bind_btConvexShape___destroy___0:px,_emscripten_bind_btConvexShape_calculateLocalInertia_2:Nv,_emscripten_bind_btConvexShape_getLocalScaling_0:Oz,_emscripten_bind_btConvexShape_getMargin_0:pA,_emscripten_bind_btConvexShape_setLocalScaling_1:Cx,_emscripten_bind_btConvexShape_setMargin_1:Ay,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:px,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:Al,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:kl,_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:Nv,_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0:Oz,_emscripten_bind_btConvexTriangleMeshShape_getMargin_0:pA,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:Cx,_emscripten_bind_btConvexTriangleMeshShape_setMargin_1:Ay,_emscripten_bind_btCylinderShapeX___destroy___0:px,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:Wt,_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:Nv,_emscripten_bind_btCylinderShapeX_getLocalScaling_0:Oz,_emscripten_bind_btCylinderShapeX_getMargin_0:pA,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:Cx,_emscripten_bind_btCylinderShapeX_setMargin_1:Ay,_emscripten_bind_btCylinderShapeZ___destroy___0:px,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:Vt,_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:Nv,_emscripten_bind_btCylinderShapeZ_getLocalScaling_0:Oz,_emscripten_bind_btCylinderShapeZ_getMargin_0:pA,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:Cx,_emscripten_bind_btCylinderShapeZ_setMargin_1:Ay,_emscripten_bind_btCylinderShape___destroy___0:px,_emscripten_bind_btCylinderShape_btCylinderShape_1:Mw,_emscripten_bind_btCylinderShape_calculateLocalInertia_2:Nv,_emscripten_bind_btCylinderShape_getLocalScaling_0:Oz,_emscripten_bind_btCylinderShape_getMargin_0:pA,_emscripten_bind_btCylinderShape_setLocalScaling_1:Cx,_emscripten_bind_btCylinderShape_setMargin_1:Ay,_emscripten_bind_btDbvtBroadphase___destroy___0:px,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:Bx,_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:px,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:Fq,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:At,_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:TD,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:Jv,_emscripten_bind_btDefaultMotionState___destroy___0:px,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:ps,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:Ws,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:_t,_emscripten_bind_btDefaultMotionState_getWorldTransform_1:sx,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:OI,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:ex,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:Qy,_emscripten_bind_btDefaultSoftBodySolver___destroy___0:px,_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0:sq,_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:px,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:rv,_emscripten_bind_btDefaultVehicleRaycaster_castRay_3:Pu,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:px,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:Jx,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:Mv,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:ru,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:pt,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:xw,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:sv,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:Rw,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:kt,_emscripten_bind_btDiscreteDynamicsWorld_addVehicle_1:Vw,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:Tq,_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:wt,_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:tn,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:Qr,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:LD,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:tC,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:KD,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:Zo,_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:Tz,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:XB,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:$u,_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:ox,_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1:Pw,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:Bw,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:Fw,_emscripten_bind_btDiscreteDynamicsWorld_removeVehicle_1:Lw,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:Zw,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:qv,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:vu,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:Bu,_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1:nx,_emscripten_bind_btDispatcherInfo___destroy___0:TD,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:WG,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:GG,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:DE,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:xD,_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:CC,_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:hF,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:VG,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:GF,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:RC,_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:vA,_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:YD,_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:SE,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:IE,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:AB,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:uB,_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:SA,_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:OB,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:RF,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:MG,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:bB,_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:_y,_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:GB,_emscripten_bind_btDispatcher___destroy___0:px,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:Aw,_emscripten_bind_btDispatcher_getNumManifolds_0:qA,_emscripten_bind_btDynamicsWorld___destroy___0:px,_emscripten_bind_btDynamicsWorld_addAction_1:Jx,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:kw,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:Ru,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:pt,_emscripten_bind_btDynamicsWorld_contactPairTest_3:wt,_emscripten_bind_btDynamicsWorld_contactTest_2:tn,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:Qr,_emscripten_bind_btDynamicsWorld_getBroadphase_0:LD,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:tC,_emscripten_bind_btDynamicsWorld_getDispatcher_0:KD,_emscripten_bind_btDynamicsWorld_getPairCache_0:Tz,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:XB,_emscripten_bind_btDynamicsWorld_rayTest_3:$u,_emscripten_bind_btDynamicsWorld_removeAction_1:ox,_emscripten_bind_btDynamicsWorld_removeCollisionObject_1:Pw,_emscripten_bind_btDynamicsWorld_updateSingleAabb_1:nx,_emscripten_bind_btFixedConstraint___destroy___0:px,_emscripten_bind_btFixedConstraint_btFixedConstraint_4:Xl,_emscripten_bind_btFixedConstraint_enableFeedback_1:mz,_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0:ty,_emscripten_bind_btFixedConstraint_getParam_2:Rv,_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1:hz,_emscripten_bind_btFixedConstraint_setParam_3:fv,_emscripten_bind_btGeneric6DofConstraint___destroy___0:px,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:os,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:er,_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:mz,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:ty,_emscripten_bind_btGeneric6DofConstraint_getParam_2:Rv,_emscripten_bind_btGeneric6DofConstraint_getRotationalLimitMotor_1:zw,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:jw,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:iw,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:hz,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:ww,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:vw,_emscripten_bind_btGeneric6DofConstraint_setParam_3:fv,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:px,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:Fk,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:uk,_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:mz,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:Kr,_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:ty,_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2:Rv,_emscripten_bind_btGeneric6DofSpringConstraint_getRotationalLimitMotor_1:zw,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:jw,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:iw,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:hz,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:Zx,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:ww,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:vw,_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3:fv,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:Px,_emscripten_bind_btGhostObject___destroy___0:px,_emscripten_bind_btGhostObject_activate_0:ju,_emscripten_bind_btGhostObject_activate_1:Ys,_emscripten_bind_btGhostObject_btGhostObject_0:Pg,_emscripten_bind_btGhostObject_forceActivationState_1:FB,_emscripten_bind_btGhostObject_getCollisionFlags_0:JD,_emscripten_bind_btGhostObject_getCollisionShape_0:ID,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:aA,_emscripten_bind_btGhostObject_getOverlappingObject_1:Hy,_emscripten_bind_btGhostObject_getUserIndex_0:nE,_emscripten_bind_btGhostObject_getUserPointer_0:cE,_emscripten_bind_btGhostObject_getWorldTransform_0:fF,_emscripten_bind_btGhostObject_isActive_0:ZA,_emscripten_bind_btGhostObject_isKinematicObject_0:Ry,_emscripten_bind_btGhostObject_isStaticObject_0:Kz,_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0:tx,_emscripten_bind_btGhostObject_setActivationState_1:uw,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:Lv,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:Oy,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:xy,_emscripten_bind_btGhostObject_setCollisionFlags_1:wz,_emscripten_bind_btGhostObject_setCollisionShape_1:sx,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:Uy,_emscripten_bind_btGhostObject_setFriction_1:YA,_emscripten_bind_btGhostObject_setRestitution_1:oA,_emscripten_bind_btGhostObject_setRollingFriction_1:Fz,_emscripten_bind_btGhostObject_setUserIndex_1:tA,_emscripten_bind_btGhostObject_setUserPointer_1:Wz,_emscripten_bind_btGhostObject_setWorldTransform_1:cy,_emscripten_bind_btGhostPairCallback___destroy___0:px,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:Iz,_emscripten_bind_btHeightfieldTerrainShape___destroy___0:px,_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:ug,_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:Nv,_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0:Oz,_emscripten_bind_btHeightfieldTerrainShape_getMargin_0:pA,_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:Cx,_emscripten_bind_btHeightfieldTerrainShape_setMargin_1:Ay,_emscripten_bind_btHingeConstraint___destroy___0:px,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:eg,_emscripten_bind_btHingeConstraint_btHingeConstraint_3:ag,_emscripten_bind_btHingeConstraint_btHingeConstraint_4:Dg,_emscripten_bind_btHingeConstraint_btHingeConstraint_5:zg,_emscripten_bind_btHingeConstraint_btHingeConstraint_6:br,_emscripten_bind_btHingeConstraint_btHingeConstraint_7:Bq,_emscripten_bind_btHingeConstraint_enableAngularMotor_3:Av,_emscripten_bind_btHingeConstraint_enableFeedback_1:mz,_emscripten_bind_btHingeConstraint_enableMotor_1:Zz,_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:ty,_emscripten_bind_btHingeConstraint_getParam_2:Rv,_emscripten_bind_btHingeConstraint_setAngularOnly_1:rz,_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:hz,_emscripten_bind_btHingeConstraint_setLimit_4:yv,_emscripten_bind_btHingeConstraint_setLimit_5:Uu,_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:My,_emscripten_bind_btHingeConstraint_setMotorTarget_2:_j,_emscripten_bind_btHingeConstraint_setParam_3:fv,_emscripten_bind_btKinematicCharacterController___destroy___0:px,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:En,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:Aq,_emscripten_bind_btKinematicCharacterController_canJump_0:uy,_emscripten_bind_btKinematicCharacterController_getGhostObject_0:DE,_emscripten_bind_btKinematicCharacterController_getGravity_0:xp,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:EG,_emscripten_bind_btKinematicCharacterController_jump_0:Rt,_emscripten_bind_btKinematicCharacterController_onGround_0:Cz,_emscripten_bind_btKinematicCharacterController_playerStep_2:tv,_emscripten_bind_btKinematicCharacterController_preStep_1:Kw,_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:SE,_emscripten_bind_btKinematicCharacterController_setGravity_1:Jm,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:Yx,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:HE,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:ax,_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1:$v,_emscripten_bind_btKinematicCharacterController_setUp_1:cl,_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:bw,_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:Lu,_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:_v,_emscripten_bind_btKinematicCharacterController_updateAction_2:aw,_emscripten_bind_btKinematicCharacterController_warp_1:Uw,_emscripten_bind_btManifoldPoint___destroy___0:TD,_emscripten_bind_btManifoldPoint_getAppliedImpulse_0:Hz,_emscripten_bind_btManifoldPoint_getDistance_0:kA,_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:BE,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:FA,_emscripten_bind_btManifoldPoint_get_m_localPointA_0:gJ,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:XG,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:NF,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:gI,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:iH,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:Gs,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:cs,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:Xr,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:ss,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:Sr,_emscripten_bind_btMatrix3x3___destroy___0:TD,_emscripten_bind_btMatrix3x3_getRotation_1:Mz,_emscripten_bind_btMatrix3x3_getRow_1:Iq,_emscripten_bind_btMatrix3x3_setEulerZYX_3:wx,_emscripten_bind_btMotionState___destroy___0:px,_emscripten_bind_btMotionState_getWorldTransform_1:sx,_emscripten_bind_btMotionState_setWorldTransform_1:ex,_emscripten_bind_btOverlappingPairCache___destroy___0:px,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:Bw,_emscripten_bind_btOverlappingPairCallback___destroy___0:px,_emscripten_bind_btPairCachingGhostObject___destroy___0:px,_emscripten_bind_btPairCachingGhostObject_activate_0:ju,_emscripten_bind_btPairCachingGhostObject_activate_1:Ys,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:kg,_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:FB,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:JD,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:ID,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:aA,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:Hy,_emscripten_bind_btPairCachingGhostObject_getUserIndex_0:nE,_emscripten_bind_btPairCachingGhostObject_getUserPointer_0:cE,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:fF,_emscripten_bind_btPairCachingGhostObject_isActive_0:ZA,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:Ry,_emscripten_bind_btPairCachingGhostObject_isStaticObject_0:Kz,_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0:tx,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:uw,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:Lv,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:Oy,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:xy,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:wz,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:sx,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:Uy,_emscripten_bind_btPairCachingGhostObject_setFriction_1:YA,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:oA,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:Fz,_emscripten_bind_btPairCachingGhostObject_setUserIndex_1:tA,_emscripten_bind_btPairCachingGhostObject_setUserPointer_1:Wz,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:cy,_emscripten_bind_btPersistentManifold___destroy___0:QB,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:gm,_emscripten_bind_btPersistentManifold_getBody0_0:wD,_emscripten_bind_btPersistentManifold_getBody1_0:vD,_emscripten_bind_btPersistentManifold_getContactPoint_1:oy,_emscripten_bind_btPersistentManifold_getNumContacts_0:BC,_emscripten_bind_btPoint2PointConstraint___destroy___0:px,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:Wj,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:ik,_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:mz,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:ty,_emscripten_bind_btPoint2PointConstraint_getParam_2:Rv,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:EA,_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:DA,_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:EH,_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:hz,_emscripten_bind_btPoint2PointConstraint_setParam_3:fv,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:jy,_emscripten_bind_btPoint2PointConstraint_setPivotB_1:iy,_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:st,_emscripten_bind_btQuadWord___destroy___0:TD,_emscripten_bind_btQuadWord_setW_1:XD,_emscripten_bind_btQuadWord_setX_1:mE,_emscripten_bind_btQuadWord_setY_1:lE,_emscripten_bind_btQuadWord_setZ_1:kE,_emscripten_bind_btQuadWord_w_0:AE,_emscripten_bind_btQuadWord_x_0:ZF,_emscripten_bind_btQuadWord_y_0:zE,_emscripten_bind_btQuadWord_z_0:yE,_emscripten_bind_btQuaternion___destroy___0:TD,_emscripten_bind_btQuaternion_angleShortestPath_1:bz,_emscripten_bind_btQuaternion_angle_1:DB,_emscripten_bind_btQuaternion_btQuaternion_4:qp,_emscripten_bind_btQuaternion_dot_1:lC,_emscripten_bind_btQuaternion_getAngleShortestPath_0:Zy,_emscripten_bind_btQuaternion_getAngle_0:zB,_emscripten_bind_btQuaternion_getAxis_0:Fp,_emscripten_bind_btQuaternion_inverse_0:Ep,_emscripten_bind_btQuaternion_length2_0:NE,_emscripten_bind_btQuaternion_length_0:gF,_emscripten_bind_btQuaternion_normalize_0:CE,_emscripten_bind_btQuaternion_normalized_0:wp,_emscripten_bind_btQuaternion_op_add_1:kC,_emscripten_bind_btQuaternion_op_div_1:QC,_emscripten_bind_btQuaternion_op_mul_1:Zt,_emscripten_bind_btQuaternion_op_mulq_1:WB,_emscripten_bind_btQuaternion_op_sub_1:jC,_emscripten_bind_btQuaternion_setEulerZYX_3:Tw,_emscripten_bind_btQuaternion_setEuler_3:mx,_emscripten_bind_btQuaternion_setRotation_2:Ix,_emscripten_bind_btQuaternion_setValue_4:Tp,_emscripten_bind_btQuaternion_setW_1:XD,_emscripten_bind_btQuaternion_setX_1:mE,_emscripten_bind_btQuaternion_setY_1:lE,_emscripten_bind_btQuaternion_setZ_1:kE,_emscripten_bind_btQuaternion_w_0:AE,_emscripten_bind_btQuaternion_x_0:ZF,_emscripten_bind_btQuaternion_y_0:zE,_emscripten_bind_btQuaternion_z_0:yE,_emscripten_bind_btRaycastVehicle___destroy___0:px,_emscripten_bind_btRaycastVehicle_addWheel_7:Zd,_emscripten_bind_btRaycastVehicle_applyEngineForce_2:gw,_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:il,_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0:NB,_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:Yy,_emscripten_bind_btRaycastVehicle_getForwardAxis_0:aD,_emscripten_bind_btRaycastVehicle_getForwardVector_0:Go,_emscripten_bind_btRaycastVehicle_getNumWheels_0:MB,_emscripten_bind_btRaycastVehicle_getRightAxis_0:uD,_emscripten_bind_btRaycastVehicle_getRigidBody_0:tD,_emscripten_bind_btRaycastVehicle_getSteeringValue_1:Ax,_emscripten_bind_btRaycastVehicle_getUpAxis_0:WD,_emscripten_bind_btRaycastVehicle_getUserConstraintId_0:AC,_emscripten_bind_btRaycastVehicle_getUserConstraintType_0:iC,_emscripten_bind_btRaycastVehicle_getWheelInfo_1:Yz,_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:Gy,_emscripten_bind_btRaycastVehicle_rayCast_1:Gz,_emscripten_bind_btRaycastVehicle_resetSuspension_0:Yl,_emscripten_bind_btRaycastVehicle_setBrake_2:Qw,_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:qu,_emscripten_bind_btRaycastVehicle_setPitchControl_1:Lz,_emscripten_bind_btRaycastVehicle_setSteeringValue_2:fw,_emscripten_bind_btRaycastVehicle_setUserConstraintId_1:Py,_emscripten_bind_btRaycastVehicle_setUserConstraintType_1:Fy,_emscripten_bind_btRaycastVehicle_updateAction_2:aw,_emscripten_bind_btRaycastVehicle_updateFriction_1:vx,_emscripten_bind_btRaycastVehicle_updateSuspension_1:El,_emscripten_bind_btRaycastVehicle_updateVehicle_1:zx,_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:Yt,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1:jv,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2:mu,_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:TD,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:Zn,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:qr,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:uA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:Sz,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:iB,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:RA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:Xz,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:sC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:aB,_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:$C,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:IG,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:hB,_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:FC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:VB,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:Cy,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:dy,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:qz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:yz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:hy,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:SD,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:jz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:QA,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:JE,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:pz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:AA,_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:hA,_emscripten_bind_btRigidBody___destroy___0:px,_emscripten_bind_btRigidBody_activate_0:ju,_emscripten_bind_btRigidBody_activate_1:Ys,_emscripten_bind_btRigidBody_applyCentralForce_1:Qu,_emscripten_bind_btRigidBody_applyCentralImpulse_1:Au,_emscripten_bind_btRigidBody_applyForce_2:Ox,_emscripten_bind_btRigidBody_applyGravity_0:Lo,_emscripten_bind_btRigidBody_applyImpulse_2:lx,_emscripten_bind_btRigidBody_applyTorqueImpulse_1:Iu,_emscripten_bind_btRigidBody_applyTorque_1:ov,_emscripten_bind_btRigidBody_btRigidBody_1:Kg,_emscripten_bind_btRigidBody_forceActivationState_1:FB,_emscripten_bind_btRigidBody_getAabb_2:zt,_emscripten_bind_btRigidBody_getAngularVelocity_0:CB,_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:fF,_emscripten_bind_btRigidBody_getCollisionFlags_0:JD,_emscripten_bind_btRigidBody_getCollisionShape_0:ID,_emscripten_bind_btRigidBody_getGravity_0:dE,_emscripten_bind_btRigidBody_getLinearVelocity_0:LB,_emscripten_bind_btRigidBody_getMotionState_0:VD,_emscripten_bind_btRigidBody_getUserIndex_0:nE,_emscripten_bind_btRigidBody_getUserPointer_0:cE,_emscripten_bind_btRigidBody_getWorldTransform_0:fF,_emscripten_bind_btRigidBody_isActive_0:ZA,_emscripten_bind_btRigidBody_isKinematicObject_0:Ry,_emscripten_bind_btRigidBody_isStaticObject_0:Kz,_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0:tx,_emscripten_bind_btRigidBody_setActivationState_1:uw,_emscripten_bind_btRigidBody_setAngularFactor_1:Xy,_emscripten_bind_btRigidBody_setAngularVelocity_1:By,_emscripten_bind_btRigidBody_setAnisotropicFriction_2:Lv,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:Oy,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:xy,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:hx,_emscripten_bind_btRigidBody_setCollisionFlags_1:wz,_emscripten_bind_btRigidBody_setCollisionShape_1:sx,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:Uy,_emscripten_bind_btRigidBody_setDamping_2:go,_emscripten_bind_btRigidBody_setFriction_1:YA,_emscripten_bind_btRigidBody_setGravity_1:nn,_emscripten_bind_btRigidBody_setLinearFactor_1:iz,_emscripten_bind_btRigidBody_setLinearVelocity_1:Ly,_emscripten_bind_btRigidBody_setMassProps_2:Qj,_emscripten_bind_btRigidBody_setMotionState_1:Wy,_emscripten_bind_btRigidBody_setRestitution_1:oA,_emscripten_bind_btRigidBody_setRollingFriction_1:Fz,_emscripten_bind_btRigidBody_setSleepingThresholds_2:ux,_emscripten_bind_btRigidBody_setUserIndex_1:tA,_emscripten_bind_btRigidBody_setUserPointer_1:Wz,_emscripten_bind_btRigidBody_setWorldTransform_1:cy,_emscripten_bind_btRigidBody_upcast_1:zA,_emscripten_bind_btRigidBody_updateInertiaTensor_0:Mj,_emscripten_bind_btRotationalLimitMotor___destroy___0:TD,_emscripten_bind_btRotationalLimitMotor_btRotationalLimitMotor_0:yy,_emscripten_bind_btRotationalLimitMotor_btRotationalLimitMotor_1:Ew,_emscripten_bind_btRotationalLimitMotor_get_m_enableMotor_0:hC,_emscripten_bind_btRotationalLimitMotor_get_m_hiLimit_0:RG,_emscripten_bind_btRotationalLimitMotor_get_m_loLimit_0:GF,_emscripten_bind_btRotationalLimitMotor_get_m_maxMotorForce_0:VG,_emscripten_bind_btRotationalLimitMotor_get_m_targetVelocity_0:bH,_emscripten_bind_btRotationalLimitMotor_isLimited_0:yx,_emscripten_bind_btRotationalLimitMotor_needApplyTorques_0:Rz,_emscripten_bind_btRotationalLimitMotor_set_m_enableMotor_1:CA,_emscripten_bind_btRotationalLimitMotor_set_m_hiLimit_1:mG,_emscripten_bind_btRotationalLimitMotor_set_m_loLimit_1:MG,_emscripten_bind_btRotationalLimitMotor_set_m_maxMotorForce_1:RF,_emscripten_bind_btRotationalLimitMotor_set_m_targetVelocity_1:lG,_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:px,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:hj,_emscripten_bind_btSliderConstraint___destroy___0:px,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:oe,_emscripten_bind_btSliderConstraint_btSliderConstraint_5:vf,_emscripten_bind_btSliderConstraint_enableFeedback_1:mz,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:ty,_emscripten_bind_btSliderConstraint_getParam_2:Rv,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:hz,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:Vy,_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:Uy,_emscripten_bind_btSliderConstraint_setParam_3:fv,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:Ty,_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:Sy,_emscripten_bind_btSoftBodyArray___destroy___0:ay,_emscripten_bind_btSoftBodyArray_at_1:tw,_emscripten_bind_btSoftBodyArray_size_0:DF,_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4:_g,_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4:Qs,_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5:Od,_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10:gd,_emscripten_bind_btSoftBodyHelpers_CreatePatch_9:od,_emscripten_bind_btSoftBodyHelpers_CreateRope_5:Lg,_emscripten_bind_btSoftBodyHelpers___destroy___0:TD,_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0:FH,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0:px,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0:aq,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1:As,_emscripten_bind_btSoftBodySolver___destroy___0:px,_emscripten_bind_btSoftBodyWorldInfo___destroy___0:Xx,_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0:oz,_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0:GF,_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0:pE,_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0:oE,_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0:eG,_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0:VG,_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0:RG,_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0:XG,_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0:bH,_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1:MG,_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1:qB,_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1:pB,_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1:$r,_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1:RF,_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1:mG,_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1:cs,_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1:lG,_emscripten_bind_btSoftBody___destroy___0:px,_emscripten_bind_btSoftBody_activate_0:ju,_emscripten_bind_btSoftBody_activate_1:Ys,_emscripten_bind_btSoftBody_appendAnchor_4:Zf,_emscripten_bind_btSoftBody_appendFace_4:dv,_emscripten_bind_btSoftBody_appendLinearJoint_2:df,_emscripten_bind_btSoftBody_appendLink_4:cv,_emscripten_bind_btSoftBody_appendMaterial_0:gD,_emscripten_bind_btSoftBody_appendNode_2:$c,_emscripten_bind_btSoftBody_appendTetra_5:Sf,_emscripten_bind_btSoftBody_btSoftBody_4:Hs,_emscripten_bind_btSoftBody_checkFace_3:Lk,_emscripten_bind_btSoftBody_checkLink_2:Wl,_emscripten_bind_btSoftBody_forceActivationState_1:FB,_emscripten_bind_btSoftBody_generateBendingConstraints_2:_c,_emscripten_bind_btSoftBody_generateClusters_1:xz,_emscripten_bind_btSoftBody_generateClusters_2:Qx,_emscripten_bind_btSoftBody_getCollisionFlags_0:JD,_emscripten_bind_btSoftBody_getCollisionShape_0:ID,_emscripten_bind_btSoftBody_getTotalMass_0:tp,_emscripten_bind_btSoftBody_getUserIndex_0:nE,_emscripten_bind_btSoftBody_getUserPointer_0:cE,_emscripten_bind_btSoftBody_getWorldTransform_0:fF,_emscripten_bind_btSoftBody_get_m_anchors_0:kH,_emscripten_bind_btSoftBody_get_m_cfg_0:EH,_emscripten_bind_btSoftBody_get_m_faces_0:tH,_emscripten_bind_btSoftBody_get_m_links_0:sH,_emscripten_bind_btSoftBody_get_m_materials_0:aH,_emscripten_bind_btSoftBody_get_m_nodes_0:rH,_emscripten_bind_btSoftBody_isActive_0:ZA,_emscripten_bind_btSoftBody_isKinematicObject_0:Ry,_emscripten_bind_btSoftBody_isStaticObject_0:Kz,_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0:tx,_emscripten_bind_btSoftBody_rotate_1:ck,_emscripten_bind_btSoftBody_scale_1:Ve,_emscripten_bind_btSoftBody_setActivationState_1:uw,_emscripten_bind_btSoftBody_setAnisotropicFriction_2:Lv,_emscripten_bind_btSoftBody_setCcdMotionThreshold_1:Oy,_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1:xy,_emscripten_bind_btSoftBody_setCollisionFlags_1:wz,_emscripten_bind_btSoftBody_setCollisionShape_1:sx,_emscripten_bind_btSoftBody_setContactProcessingThreshold_1:Uy,_emscripten_bind_btSoftBody_setFriction_1:YA,_emscripten_bind_btSoftBody_setMass_2:Ku,_emscripten_bind_btSoftBody_setRestitution_1:oA,_emscripten_bind_btSoftBody_setRollingFriction_1:Fz,_emscripten_bind_btSoftBody_setTotalMass_2:lh,_emscripten_bind_btSoftBody_setUserIndex_1:tA,_emscripten_bind_btSoftBody_setUserPointer_1:Wz,_emscripten_bind_btSoftBody_setWorldTransform_1:cy,_emscripten_bind_btSoftBody_set_m_anchors_1:xx,_emscripten_bind_btSoftBody_set_m_cfg_1:yA,_emscripten_bind_btSoftBody_set_m_faces_1:Wx,_emscripten_bind_btSoftBody_set_m_links_1:Vx,_emscripten_bind_btSoftBody_set_m_materials_1:dx,_emscripten_bind_btSoftBody_set_m_nodes_1:Ux,_emscripten_bind_btSoftBody_transform_1:sA,_emscripten_bind_btSoftBody_translate_1:em,_emscripten_bind_btSoftBody_upcast_1:JA,_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0:px,_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1:Jx,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1:Mv,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2:ru,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3:pt,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1:xw,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2:sv,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1:Rw,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3:kt,_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3:ij,_emscripten_bind_btSoftRigidDynamicsWorld_addVehicle_1:Vw,_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5:zf,_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3:wt,_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2:tn,_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5:Qr,_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0:LD,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0:tC,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0:KD,_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0:Yo,_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0:Tz,_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0:Ez,_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0:XB,_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0:LB,_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3:$u,_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1:ox,_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1:Pw,_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1:Bw,_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1:Fw,_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1:ol,_emscripten_bind_btSoftRigidDynamicsWorld_removeVehicle_1:Lw,_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1:Zw,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1:qv,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2:vu,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3:Bu,_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1:nx,_emscripten_bind_btSphereShape___destroy___0:px,_emscripten_bind_btSphereShape_btSphereShape_1:by,_emscripten_bind_btSphereShape_calculateLocalInertia_2:Nv,_emscripten_bind_btSphereShape_getLocalScaling_0:Oz,_emscripten_bind_btSphereShape_getMargin_0:pA,_emscripten_bind_btSphereShape_setLocalScaling_1:Cx,_emscripten_bind_btSphereShape_setMargin_1:Ay,_emscripten_bind_btStaticPlaneShape___destroy___0:px,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:Vl,_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:Nv,_emscripten_bind_btStaticPlaneShape_getLocalScaling_0:Oz,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:Cx,_emscripten_bind_btStridingMeshInterface___destroy___0:px,_emscripten_bind_btTransform___destroy___0:TD,_emscripten_bind_btTransform_btTransform_0:eI,_emscripten_bind_btTransform_btTransform_2:Iv,_emscripten_bind_btTransform_getBasis_0:qH,_emscripten_bind_btTransform_getOrigin_0:BE,_emscripten_bind_btTransform_getRotation_0:vp,_emscripten_bind_btTransform_setFromOpenGLMatrix_1:nz,_emscripten_bind_btTransform_setIdentity_0:jE,_emscripten_bind_btTransform_setOrigin_1:xA,_emscripten_bind_btTransform_setRotation_1:IA,_emscripten_bind_btTriangleMeshShape___destroy___0:px,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:Nv,_emscripten_bind_btTriangleMeshShape_getLocalScaling_0:Oz,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:Cx,_emscripten_bind_btTriangleMesh___destroy___0:px,_emscripten_bind_btTriangleMesh_addTriangle_3:Un,_emscripten_bind_btTriangleMesh_addTriangle_4:In,_emscripten_bind_btTriangleMesh_btTriangleMesh_0:rx,_emscripten_bind_btTriangleMesh_btTriangleMesh_1:ew,_emscripten_bind_btTriangleMesh_btTriangleMesh_2:mv,_emscripten_bind_btTypedConstraint___destroy___0:px,_emscripten_bind_btTypedConstraint_enableFeedback_1:mz,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:ty,_emscripten_bind_btTypedConstraint_getParam_2:Rv,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:hz,_emscripten_bind_btTypedConstraint_setParam_3:fv,_emscripten_bind_btVector3___destroy___0:QB,_emscripten_bind_btVector3_btVector3_0:UH,_emscripten_bind_btVector3_btVector3_3:vq,_emscripten_bind_btVector3_dot_1:Kt,_emscripten_bind_btVector3_length_0:wy,_emscripten_bind_btVector3_normalize_0:AF,_emscripten_bind_btVector3_op_add_1:fD,_emscripten_bind_btVector3_op_mul_1:iu,_emscripten_bind_btVector3_op_sub_1:eD,_emscripten_bind_btVector3_rotate_2:gp,_emscripten_bind_btVector3_setValue_3:hr,_emscripten_bind_btVector3_setX_1:mE,_emscripten_bind_btVector3_setY_1:lE,_emscripten_bind_btVector3_setZ_1:kE,_emscripten_bind_btVector3_x_0:ZF,_emscripten_bind_btVector3_y_0:zE,_emscripten_bind_btVector3_z_0:yE,_emscripten_bind_btVector4___destroy___0:QB,_emscripten_bind_btVector4_btVector4_0:UH,_emscripten_bind_btVector4_btVector4_4:pp,_emscripten_bind_btVector4_dot_1:Kt,_emscripten_bind_btVector4_length_0:wy,_emscripten_bind_btVector4_normalize_0:AF,_emscripten_bind_btVector4_op_add_1:fD,_emscripten_bind_btVector4_op_mul_1:iu,_emscripten_bind_btVector4_op_sub_1:eD,_emscripten_bind_btVector4_rotate_2:fp,_emscripten_bind_btVector4_setValue_4:Tp,_emscripten_bind_btVector4_setX_1:mE,_emscripten_bind_btVector4_setY_1:lE,_emscripten_bind_btVector4_setZ_1:kE,_emscripten_bind_btVector4_w_0:AE,_emscripten_bind_btVector4_x_0:ZF,_emscripten_bind_btVector4_y_0:zE,_emscripten_bind_btVector4_z_0:yE,_emscripten_bind_btVehicleRaycasterResult___destroy___0:TD,_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0:TG,_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0:XG,_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0:gJ,_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1:RE,_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1:cs,_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1:Gs,_emscripten_bind_btVehicleRaycaster___destroy___0:px,_emscripten_bind_btVehicleRaycaster_castRay_3:Pu,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:Ky,_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:UG,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:SG,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:VG,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:RG,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:bH,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:GF,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:bF,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:QE,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:RF,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:mG,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:lG,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:MG,_emscripten_bind_btWheelInfoConstructionInfo___destroy___0:TD,_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0:oB,_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0:gJ,_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0:OF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0:LG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0:gG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0:HG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0:DG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0:iH,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0:XG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0:hG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0:CG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0:rG,_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1:Vz,_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1:Gs,_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1:PD,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1:YE,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1:eE,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1:kF,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1:FE,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1:Sr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1:cs,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1:fE,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1:EE,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1:rE,_emscripten_bind_btWheelInfo___destroy___0:TD,_emscripten_bind_btWheelInfo_btWheelInfo_1:$w,_emscripten_bind_btWheelInfo_getSuspensionRestLength_0:iE,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:sD,_emscripten_bind_btWheelInfo_get_m_brake_0:FF,_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:lF,_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0:gC,_emscripten_bind_btWheelInfo_get_m_deltaRotation_0:ME,_emscripten_bind_btWheelInfo_get_m_engineForce_0:eF,_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:_E,_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:bE,_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:HD,_emscripten_bind_btWheelInfo_get_m_raycastInfo_0:gJ,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:LE,_emscripten_bind_btWheelInfo_get_m_rotation_0:uF,_emscripten_bind_btWheelInfo_get_m_skidInfo_0:tF,_emscripten_bind_btWheelInfo_get_m_steering_0:sF,_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0:PC,_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:iE,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:UD,_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0:uG,_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0:SF,_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:_C,_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:dD,_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:ZE,_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:GD,_emscripten_bind_btWheelInfo_get_m_worldTransform_0:MH,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:tB,_emscripten_bind_btWheelInfo_set_m_brake_1:cD,_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:Jr,_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1:jA,_emscripten_bind_btWheelInfo_set_m_deltaRotation_1:UB,_emscripten_bind_btWheelInfo_set_m_engineForce_1:rC,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:fC,_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:sB,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:gB,_emscripten_bind_btWheelInfo_set_m_raycastInfo_1:Et,_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:TB,_emscripten_bind_btWheelInfo_set_m_rotation_1:OC,_emscripten_bind_btWheelInfo_set_m_skidInfo_1:NC,_emscripten_bind_btWheelInfo_set_m_steering_1:MC,_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1:dC,_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:fB,_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:nB,_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1:_r,_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1:Rr,_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:PA,_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:XA,_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:eC,_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:yC,_emscripten_bind_btWheelInfo_set_m_worldTransform_1:gA,_emscripten_bind_btWheelInfo_updateWheel_2:Zi,_emscripten_bind_tAnchorArray___destroy___0:ay,_emscripten_bind_tAnchorArray_at_1:ls,_emscripten_bind_tAnchorArray_clear_0:qC,_emscripten_bind_tAnchorArray_pop_back_0:HA,_emscripten_bind_tAnchorArray_push_back_1:Tx,_emscripten_bind_tAnchorArray_size_0:DF,_emscripten_bind_tFaceArray___destroy___0:ay,_emscripten_bind_tFaceArray_at_1:Nx,_emscripten_bind_tFaceArray_size_0:DF,_emscripten_bind_tLinkArray___destroy___0:ay,_emscripten_bind_tLinkArray_at_1:Mx,_emscripten_bind_tLinkArray_size_0:DF,_emscripten_bind_tMaterialArray___destroy___0:ay,_emscripten_bind_tMaterialArray_at_1:tw,_emscripten_bind_tMaterialArray_size_0:DF,_emscripten_bind_tNodeArray___destroy___0:ay,_emscripten_bind_tNodeArray_at_1:Lx,_emscripten_bind_tNodeArray_size_0:DF,_emscripten_enum_PHY_ScalarType_PHY_DOUBLE:RI,_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:FI,_emscripten_enum_PHY_ScalarType_PHY_FLOAT:kJ,_emscripten_enum_PHY_ScalarType_PHY_INTEGER:QI,_emscripten_enum_PHY_ScalarType_PHY_SHORT:TI,_emscripten_enum_PHY_ScalarType_PHY_UCHAR:SI,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM:TI,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP:RI,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM:FI,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP:QI,_free:Cd,_i64Add:Ow,_i64Subtract:sw,_llvm_bswap_i16:JH,_llvm_bswap_i32:KB,_malloc:sc,_memcpy:gi,_memmove:$p,_memset:Yk,_sbrk:_o,dynCall_di:dG,dynCall_did:ED,dynCall_diidii:zv,dynCall_diii:vz,dynCall_diiidii:hu,dynCall_diiii:Yw,dynCall_diiiii:lv,dynCall_diiiiiiii:bs,dynCall_diiiiiiiii:or,dynCall_diiiiiiiiii:zq,dynCall_ii:IF,dynCall_iidid:Hx,dynCall_iii:SB,dynCall_iiid:Qz,dynCall_iiii:az,dynCall_iiiii:Jw,dynCall_iiiiii:gv,dynCall_iiiiiii:Qt,dynCall_iiiiiiiii:Yr,dynCall_iiiiiiiiiii:xq,dynCall_v:PI,dynCall_vi:eH,dynCall_vid:wE,dynCall_vidd:yB,dynCall_viddiii:Xu,dynCall_vidi:NA,dynCall_vidii:gy,dynCall_vii:DD,dynCall_viid:WA,dynCall_viidi:fy,dynCall_viidii:Xv,dynCall_viii:eA,dynCall_viiid:$x,dynCall_viiidii:Hu,dynCall_viiii:kx,dynCall_viiiid:Wv,dynCall_viiiidddddidi:fq,dynCall_viiiiddddiid:Kq,dynCall_viiiii:Ev,dynCall_viiiiid:Gu,dynCall_viiiiii:ou,dynCall_viiiiiii:ft,dynCall_viiiiiiiii:zr,dynCall_viiiiiiiiii:Nq,establishStackSpace:tG,getTempRet0:hJ,runPostSets:hI,setTempRet0:dJ,setThrew:rD,stackAlloc:rA,stackRestore:bJ,stackSave:iJ}})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var __GLOBAL__sub_I_btConeTwistConstraint_cpp=Module["__GLOBAL__sub_I_btConeTwistConstraint_cpp"]=asm["__GLOBAL__sub_I_btConeTwistConstraint_cpp"];var __GLOBAL__sub_I_btQuickprof_cpp=Module["__GLOBAL__sub_I_btQuickprof_cpp"]=asm["__GLOBAL__sub_I_btQuickprof_cpp"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Anchor___destroy___0=Module["_emscripten_bind_Anchor___destroy___0"]=asm["_emscripten_bind_Anchor___destroy___0"];var _emscripten_bind_Anchor_get_m_body_0=Module["_emscripten_bind_Anchor_get_m_body_0"]=asm["_emscripten_bind_Anchor_get_m_body_0"];var _emscripten_bind_Anchor_get_m_c0_0=Module["_emscripten_bind_Anchor_get_m_c0_0"]=asm["_emscripten_bind_Anchor_get_m_c0_0"];var _emscripten_bind_Anchor_get_m_c1_0=Module["_emscripten_bind_Anchor_get_m_c1_0"]=asm["_emscripten_bind_Anchor_get_m_c1_0"];var _emscripten_bind_Anchor_get_m_c2_0=Module["_emscripten_bind_Anchor_get_m_c2_0"]=asm["_emscripten_bind_Anchor_get_m_c2_0"];var _emscripten_bind_Anchor_get_m_influence_0=Module["_emscripten_bind_Anchor_get_m_influence_0"]=asm["_emscripten_bind_Anchor_get_m_influence_0"];var _emscripten_bind_Anchor_get_m_local_0=Module["_emscripten_bind_Anchor_get_m_local_0"]=asm["_emscripten_bind_Anchor_get_m_local_0"];var _emscripten_bind_Anchor_get_m_node_0=Module["_emscripten_bind_Anchor_get_m_node_0"]=asm["_emscripten_bind_Anchor_get_m_node_0"];var _emscripten_bind_Anchor_set_m_body_1=Module["_emscripten_bind_Anchor_set_m_body_1"]=asm["_emscripten_bind_Anchor_set_m_body_1"];var _emscripten_bind_Anchor_set_m_c0_1=Module["_emscripten_bind_Anchor_set_m_c0_1"]=asm["_emscripten_bind_Anchor_set_m_c0_1"];var _emscripten_bind_Anchor_set_m_c1_1=Module["_emscripten_bind_Anchor_set_m_c1_1"]=asm["_emscripten_bind_Anchor_set_m_c1_1"];var _emscripten_bind_Anchor_set_m_c2_1=Module["_emscripten_bind_Anchor_set_m_c2_1"]=asm["_emscripten_bind_Anchor_set_m_c2_1"];var _emscripten_bind_Anchor_set_m_influence_1=Module["_emscripten_bind_Anchor_set_m_influence_1"]=asm["_emscripten_bind_Anchor_set_m_influence_1"];var _emscripten_bind_Anchor_set_m_local_1=Module["_emscripten_bind_Anchor_set_m_local_1"]=asm["_emscripten_bind_Anchor_set_m_local_1"];var _emscripten_bind_Anchor_set_m_node_1=Module["_emscripten_bind_Anchor_set_m_node_1"]=asm["_emscripten_bind_Anchor_set_m_node_1"];var _emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=Module["_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2"]=asm["_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2"];var _emscripten_bind_ClosestConvexResultCallback___destroy___0=Module["_emscripten_bind_ClosestConvexResultCallback___destroy___0"]=asm["_emscripten_bind_ClosestConvexResultCallback___destroy___0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0"];var _emscripten_bind_ClosestConvexResultCallback_hasHit_0=Module["_emscripten_bind_ClosestConvexResultCallback_hasHit_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_hasHit_0"];var _emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1"];var _emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=Module["_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2"]=asm["_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2"];var _emscripten_bind_ClosestRayResultCallback___destroy___0=Module["_emscripten_bind_ClosestRayResultCallback___destroy___0"]=asm["_emscripten_bind_ClosestRayResultCallback___destroy___0"];var _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0"];var _emscripten_bind_ClosestRayResultCallback_hasHit_0=Module["_emscripten_bind_ClosestRayResultCallback_hasHit_0"]=asm["_emscripten_bind_ClosestRayResultCallback_hasHit_0"];var _emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1"];var _emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=Module["_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0"]=asm["_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0"];var _emscripten_bind_ConcreteContactResultCallback___destroy___0=Module["_emscripten_bind_ConcreteContactResultCallback___destroy___0"]=asm["_emscripten_bind_ConcreteContactResultCallback___destroy___0"];var _emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=Module["_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7"]=asm["_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7"];var _emscripten_bind_Config___destroy___0=Module["_emscripten_bind_Config___destroy___0"]=asm["_emscripten_bind_Config___destroy___0"];var _emscripten_bind_Config_get_citerations_0=Module["_emscripten_bind_Config_get_citerations_0"]=asm["_emscripten_bind_Config_get_citerations_0"];var _emscripten_bind_Config_get_collisions_0=Module["_emscripten_bind_Config_get_collisions_0"]=asm["_emscripten_bind_Config_get_collisions_0"];var _emscripten_bind_Config_get_diterations_0=Module["_emscripten_bind_Config_get_diterations_0"]=asm["_emscripten_bind_Config_get_diterations_0"];var _emscripten_bind_Config_get_kAHR_0=Module["_emscripten_bind_Config_get_kAHR_0"]=asm["_emscripten_bind_Config_get_kAHR_0"];var _emscripten_bind_Config_get_kCHR_0=Module["_emscripten_bind_Config_get_kCHR_0"]=asm["_emscripten_bind_Config_get_kCHR_0"];var _emscripten_bind_Config_get_kDF_0=Module["_emscripten_bind_Config_get_kDF_0"]=asm["_emscripten_bind_Config_get_kDF_0"];var _emscripten_bind_Config_get_kDG_0=Module["_emscripten_bind_Config_get_kDG_0"]=asm["_emscripten_bind_Config_get_kDG_0"];var _emscripten_bind_Config_get_kDP_0=Module["_emscripten_bind_Config_get_kDP_0"]=asm["_emscripten_bind_Config_get_kDP_0"];var _emscripten_bind_Config_get_kKHR_0=Module["_emscripten_bind_Config_get_kKHR_0"]=asm["_emscripten_bind_Config_get_kKHR_0"];var _emscripten_bind_Config_get_kLF_0=Module["_emscripten_bind_Config_get_kLF_0"]=asm["_emscripten_bind_Config_get_kLF_0"];var _emscripten_bind_Config_get_kMT_0=Module["_emscripten_bind_Config_get_kMT_0"]=asm["_emscripten_bind_Config_get_kMT_0"];var _emscripten_bind_Config_get_kPR_0=Module["_emscripten_bind_Config_get_kPR_0"]=asm["_emscripten_bind_Config_get_kPR_0"];var _emscripten_bind_Config_get_kSHR_0=Module["_emscripten_bind_Config_get_kSHR_0"]=asm["_emscripten_bind_Config_get_kSHR_0"];var _emscripten_bind_Config_get_kSKHR_CL_0=Module["_emscripten_bind_Config_get_kSKHR_CL_0"]=asm["_emscripten_bind_Config_get_kSKHR_CL_0"];var _emscripten_bind_Config_get_kSK_SPLT_CL_0=Module["_emscripten_bind_Config_get_kSK_SPLT_CL_0"]=asm["_emscripten_bind_Config_get_kSK_SPLT_CL_0"];var _emscripten_bind_Config_get_kSRHR_CL_0=Module["_emscripten_bind_Config_get_kSRHR_CL_0"]=asm["_emscripten_bind_Config_get_kSRHR_CL_0"];var _emscripten_bind_Config_get_kSR_SPLT_CL_0=Module["_emscripten_bind_Config_get_kSR_SPLT_CL_0"]=asm["_emscripten_bind_Config_get_kSR_SPLT_CL_0"];var _emscripten_bind_Config_get_kSSHR_CL_0=Module["_emscripten_bind_Config_get_kSSHR_CL_0"]=asm["_emscripten_bind_Config_get_kSSHR_CL_0"];var _emscripten_bind_Config_get_kSS_SPLT_CL_0=Module["_emscripten_bind_Config_get_kSS_SPLT_CL_0"]=asm["_emscripten_bind_Config_get_kSS_SPLT_CL_0"];var _emscripten_bind_Config_get_kVCF_0=Module["_emscripten_bind_Config_get_kVCF_0"]=asm["_emscripten_bind_Config_get_kVCF_0"];var _emscripten_bind_Config_get_kVC_0=Module["_emscripten_bind_Config_get_kVC_0"]=asm["_emscripten_bind_Config_get_kVC_0"];var _emscripten_bind_Config_get_maxvolume_0=Module["_emscripten_bind_Config_get_maxvolume_0"]=asm["_emscripten_bind_Config_get_maxvolume_0"];var _emscripten_bind_Config_get_piterations_0=Module["_emscripten_bind_Config_get_piterations_0"]=asm["_emscripten_bind_Config_get_piterations_0"];var _emscripten_bind_Config_get_timescale_0=Module["_emscripten_bind_Config_get_timescale_0"]=asm["_emscripten_bind_Config_get_timescale_0"];var _emscripten_bind_Config_get_viterations_0=Module["_emscripten_bind_Config_get_viterations_0"]=asm["_emscripten_bind_Config_get_viterations_0"];var _emscripten_bind_Config_set_citerations_1=Module["_emscripten_bind_Config_set_citerations_1"]=asm["_emscripten_bind_Config_set_citerations_1"];var _emscripten_bind_Config_set_collisions_1=Module["_emscripten_bind_Config_set_collisions_1"]=asm["_emscripten_bind_Config_set_collisions_1"];var _emscripten_bind_Config_set_diterations_1=Module["_emscripten_bind_Config_set_diterations_1"]=asm["_emscripten_bind_Config_set_diterations_1"];var _emscripten_bind_Config_set_kAHR_1=Module["_emscripten_bind_Config_set_kAHR_1"]=asm["_emscripten_bind_Config_set_kAHR_1"];var _emscripten_bind_Config_set_kCHR_1=Module["_emscripten_bind_Config_set_kCHR_1"]=asm["_emscripten_bind_Config_set_kCHR_1"];var _emscripten_bind_Config_set_kDF_1=Module["_emscripten_bind_Config_set_kDF_1"]=asm["_emscripten_bind_Config_set_kDF_1"];var _emscripten_bind_Config_set_kDG_1=Module["_emscripten_bind_Config_set_kDG_1"]=asm["_emscripten_bind_Config_set_kDG_1"];var _emscripten_bind_Config_set_kDP_1=Module["_emscripten_bind_Config_set_kDP_1"]=asm["_emscripten_bind_Config_set_kDP_1"];var _emscripten_bind_Config_set_kKHR_1=Module["_emscripten_bind_Config_set_kKHR_1"]=asm["_emscripten_bind_Config_set_kKHR_1"];var _emscripten_bind_Config_set_kLF_1=Module["_emscripten_bind_Config_set_kLF_1"]=asm["_emscripten_bind_Config_set_kLF_1"];var _emscripten_bind_Config_set_kMT_1=Module["_emscripten_bind_Config_set_kMT_1"]=asm["_emscripten_bind_Config_set_kMT_1"];var _emscripten_bind_Config_set_kPR_1=Module["_emscripten_bind_Config_set_kPR_1"]=asm["_emscripten_bind_Config_set_kPR_1"];var _emscripten_bind_Config_set_kSHR_1=Module["_emscripten_bind_Config_set_kSHR_1"]=asm["_emscripten_bind_Config_set_kSHR_1"];var _emscripten_bind_Config_set_kSKHR_CL_1=Module["_emscripten_bind_Config_set_kSKHR_CL_1"]=asm["_emscripten_bind_Config_set_kSKHR_CL_1"];var _emscripten_bind_Config_set_kSK_SPLT_CL_1=Module["_emscripten_bind_Config_set_kSK_SPLT_CL_1"]=asm["_emscripten_bind_Config_set_kSK_SPLT_CL_1"];var _emscripten_bind_Config_set_kSRHR_CL_1=Module["_emscripten_bind_Config_set_kSRHR_CL_1"]=asm["_emscripten_bind_Config_set_kSRHR_CL_1"];var _emscripten_bind_Config_set_kSR_SPLT_CL_1=Module["_emscripten_bind_Config_set_kSR_SPLT_CL_1"]=asm["_emscripten_bind_Config_set_kSR_SPLT_CL_1"];var _emscripten_bind_Config_set_kSSHR_CL_1=Module["_emscripten_bind_Config_set_kSSHR_CL_1"]=asm["_emscripten_bind_Config_set_kSSHR_CL_1"];var _emscripten_bind_Config_set_kSS_SPLT_CL_1=Module["_emscripten_bind_Config_set_kSS_SPLT_CL_1"]=asm["_emscripten_bind_Config_set_kSS_SPLT_CL_1"];var _emscripten_bind_Config_set_kVCF_1=Module["_emscripten_bind_Config_set_kVCF_1"]=asm["_emscripten_bind_Config_set_kVCF_1"];var _emscripten_bind_Config_set_kVC_1=Module["_emscripten_bind_Config_set_kVC_1"]=asm["_emscripten_bind_Config_set_kVC_1"];var _emscripten_bind_Config_set_maxvolume_1=Module["_emscripten_bind_Config_set_maxvolume_1"]=asm["_emscripten_bind_Config_set_maxvolume_1"];var _emscripten_bind_Config_set_piterations_1=Module["_emscripten_bind_Config_set_piterations_1"]=asm["_emscripten_bind_Config_set_piterations_1"];var _emscripten_bind_Config_set_timescale_1=Module["_emscripten_bind_Config_set_timescale_1"]=asm["_emscripten_bind_Config_set_timescale_1"];var _emscripten_bind_Config_set_viterations_1=Module["_emscripten_bind_Config_set_viterations_1"]=asm["_emscripten_bind_Config_set_viterations_1"];var _emscripten_bind_ContactResultCallback___destroy___0=Module["_emscripten_bind_ContactResultCallback___destroy___0"]=asm["_emscripten_bind_ContactResultCallback___destroy___0"];var _emscripten_bind_ContactResultCallback_addSingleResult_7=Module["_emscripten_bind_ContactResultCallback_addSingleResult_7"]=asm["_emscripten_bind_ContactResultCallback_addSingleResult_7"];var _emscripten_bind_ConvexResultCallback___destroy___0=Module["_emscripten_bind_ConvexResultCallback___destroy___0"]=asm["_emscripten_bind_ConvexResultCallback___destroy___0"];var _emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=Module["_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0"]=asm["_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0"];var _emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_ConvexResultCallback_hasHit_0=Module["_emscripten_bind_ConvexResultCallback_hasHit_0"]=asm["_emscripten_bind_ConvexResultCallback_hasHit_0"];var _emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=Module["_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1"]=asm["_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1"];var _emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_Face___destroy___0=Module["_emscripten_bind_Face___destroy___0"]=asm["_emscripten_bind_Face___destroy___0"];var _emscripten_bind_Face_get_m_n_1=Module["_emscripten_bind_Face_get_m_n_1"]=asm["_emscripten_bind_Face_get_m_n_1"];var _emscripten_bind_Face_get_m_normal_0=Module["_emscripten_bind_Face_get_m_normal_0"]=asm["_emscripten_bind_Face_get_m_normal_0"];var _emscripten_bind_Face_set_m_n_2=Module["_emscripten_bind_Face_set_m_n_2"]=asm["_emscripten_bind_Face_set_m_n_2"];var _emscripten_bind_Face_set_m_normal_1=Module["_emscripten_bind_Face_set_m_normal_1"]=asm["_emscripten_bind_Face_set_m_normal_1"];var _emscripten_bind_Joint___destroy___0=Module["_emscripten_bind_Joint___destroy___0"]=asm["_emscripten_bind_Joint___destroy___0"];var _emscripten_bind_Joint_get_m_cfm_0=Module["_emscripten_bind_Joint_get_m_cfm_0"]=asm["_emscripten_bind_Joint_get_m_cfm_0"];var _emscripten_bind_Joint_get_m_delete_0=Module["_emscripten_bind_Joint_get_m_delete_0"]=asm["_emscripten_bind_Joint_get_m_delete_0"];var _emscripten_bind_Joint_get_m_drift_0=Module["_emscripten_bind_Joint_get_m_drift_0"]=asm["_emscripten_bind_Joint_get_m_drift_0"];var _emscripten_bind_Joint_get_m_erp_0=Module["_emscripten_bind_Joint_get_m_erp_0"]=asm["_emscripten_bind_Joint_get_m_erp_0"];var _emscripten_bind_Joint_get_m_massmatrix_0=Module["_emscripten_bind_Joint_get_m_massmatrix_0"]=asm["_emscripten_bind_Joint_get_m_massmatrix_0"];var _emscripten_bind_Joint_get_m_refs_1=Module["_emscripten_bind_Joint_get_m_refs_1"]=asm["_emscripten_bind_Joint_get_m_refs_1"];var _emscripten_bind_Joint_get_m_sdrift_0=Module["_emscripten_bind_Joint_get_m_sdrift_0"]=asm["_emscripten_bind_Joint_get_m_sdrift_0"];var _emscripten_bind_Joint_get_m_split_0=Module["_emscripten_bind_Joint_get_m_split_0"]=asm["_emscripten_bind_Joint_get_m_split_0"];var _emscripten_bind_Joint_set_m_cfm_1=Module["_emscripten_bind_Joint_set_m_cfm_1"]=asm["_emscripten_bind_Joint_set_m_cfm_1"];var _emscripten_bind_Joint_set_m_delete_1=Module["_emscripten_bind_Joint_set_m_delete_1"]=asm["_emscripten_bind_Joint_set_m_delete_1"];var _emscripten_bind_Joint_set_m_drift_1=Module["_emscripten_bind_Joint_set_m_drift_1"]=asm["_emscripten_bind_Joint_set_m_drift_1"];var _emscripten_bind_Joint_set_m_erp_1=Module["_emscripten_bind_Joint_set_m_erp_1"]=asm["_emscripten_bind_Joint_set_m_erp_1"];var _emscripten_bind_Joint_set_m_massmatrix_1=Module["_emscripten_bind_Joint_set_m_massmatrix_1"]=asm["_emscripten_bind_Joint_set_m_massmatrix_1"];var _emscripten_bind_Joint_set_m_refs_2=Module["_emscripten_bind_Joint_set_m_refs_2"]=asm["_emscripten_bind_Joint_set_m_refs_2"];var _emscripten_bind_Joint_set_m_sdrift_1=Module["_emscripten_bind_Joint_set_m_sdrift_1"]=asm["_emscripten_bind_Joint_set_m_sdrift_1"];var _emscripten_bind_Joint_set_m_split_1=Module["_emscripten_bind_Joint_set_m_split_1"]=asm["_emscripten_bind_Joint_set_m_split_1"];var _emscripten_bind_LJoint___destroy___0=Module["_emscripten_bind_LJoint___destroy___0"]=asm["_emscripten_bind_LJoint___destroy___0"];var _emscripten_bind_LJoint_get_m_rpos_1=Module["_emscripten_bind_LJoint_get_m_rpos_1"]=asm["_emscripten_bind_LJoint_get_m_rpos_1"];var _emscripten_bind_LJoint_set_m_rpos_2=Module["_emscripten_bind_LJoint_set_m_rpos_2"]=asm["_emscripten_bind_LJoint_set_m_rpos_2"];var _emscripten_bind_Link___destroy___0=Module["_emscripten_bind_Link___destroy___0"]=asm["_emscripten_bind_Link___destroy___0"];var _emscripten_bind_Link_get_m_n_1=Module["_emscripten_bind_Link_get_m_n_1"]=asm["_emscripten_bind_Link_get_m_n_1"];var _emscripten_bind_Link_set_m_n_2=Module["_emscripten_bind_Link_set_m_n_2"]=asm["_emscripten_bind_Link_set_m_n_2"];var _emscripten_bind_LocalConvexResult_LocalConvexResult_5=Module["_emscripten_bind_LocalConvexResult_LocalConvexResult_5"]=asm["_emscripten_bind_LocalConvexResult_LocalConvexResult_5"];var _emscripten_bind_LocalConvexResult___destroy___0=Module["_emscripten_bind_LocalConvexResult___destroy___0"]=asm["_emscripten_bind_LocalConvexResult___destroy___0"];var _emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0"];var _emscripten_bind_LocalConvexResult_get_m_hitFraction_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitFraction_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitFraction_0"];var _emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0"];var _emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0"];var _emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=Module["_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0"];var _emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1"];var _emscripten_bind_LocalConvexResult_set_m_hitFraction_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitFraction_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitFraction_1"];var _emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1"];var _emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1"];var _emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=Module["_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1"];var _emscripten_bind_LocalShapeInfo___destroy___0=Module["_emscripten_bind_LocalShapeInfo___destroy___0"]=asm["_emscripten_bind_LocalShapeInfo___destroy___0"];var _emscripten_bind_LocalShapeInfo_get_m_shapePart_0=Module["_emscripten_bind_LocalShapeInfo_get_m_shapePart_0"]=asm["_emscripten_bind_LocalShapeInfo_get_m_shapePart_0"];var _emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=Module["_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0"]=asm["_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0"];var _emscripten_bind_LocalShapeInfo_set_m_shapePart_1=Module["_emscripten_bind_LocalShapeInfo_set_m_shapePart_1"]=asm["_emscripten_bind_LocalShapeInfo_set_m_shapePart_1"];var _emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=Module["_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1"]=asm["_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1"];var _emscripten_bind_Material___destroy___0=Module["_emscripten_bind_Material___destroy___0"]=asm["_emscripten_bind_Material___destroy___0"];var _emscripten_bind_Material_get_m_flags_0=Module["_emscripten_bind_Material_get_m_flags_0"]=asm["_emscripten_bind_Material_get_m_flags_0"];var _emscripten_bind_Material_get_m_kAST_0=Module["_emscripten_bind_Material_get_m_kAST_0"]=asm["_emscripten_bind_Material_get_m_kAST_0"];var _emscripten_bind_Material_get_m_kLST_0=Module["_emscripten_bind_Material_get_m_kLST_0"]=asm["_emscripten_bind_Material_get_m_kLST_0"];var _emscripten_bind_Material_get_m_kVST_0=Module["_emscripten_bind_Material_get_m_kVST_0"]=asm["_emscripten_bind_Material_get_m_kVST_0"];var _emscripten_bind_Material_set_m_flags_1=Module["_emscripten_bind_Material_set_m_flags_1"]=asm["_emscripten_bind_Material_set_m_flags_1"];var _emscripten_bind_Material_set_m_kAST_1=Module["_emscripten_bind_Material_set_m_kAST_1"]=asm["_emscripten_bind_Material_set_m_kAST_1"];var _emscripten_bind_Material_set_m_kLST_1=Module["_emscripten_bind_Material_set_m_kLST_1"]=asm["_emscripten_bind_Material_set_m_kLST_1"];var _emscripten_bind_Material_set_m_kVST_1=Module["_emscripten_bind_Material_set_m_kVST_1"]=asm["_emscripten_bind_Material_set_m_kVST_1"];var _emscripten_bind_Node___destroy___0=Module["_emscripten_bind_Node___destroy___0"]=asm["_emscripten_bind_Node___destroy___0"];var _emscripten_bind_Node_get_m_n_0=Module["_emscripten_bind_Node_get_m_n_0"]=asm["_emscripten_bind_Node_get_m_n_0"];var _emscripten_bind_Node_get_m_x_0=Module["_emscripten_bind_Node_get_m_x_0"]=asm["_emscripten_bind_Node_get_m_x_0"];var _emscripten_bind_Node_set_m_n_1=Module["_emscripten_bind_Node_set_m_n_1"]=asm["_emscripten_bind_Node_set_m_n_1"];var _emscripten_bind_Node_set_m_x_1=Module["_emscripten_bind_Node_set_m_x_1"]=asm["_emscripten_bind_Node_set_m_x_1"];var _emscripten_bind_RayResultCallback___destroy___0=Module["_emscripten_bind_RayResultCallback___destroy___0"]=asm["_emscripten_bind_RayResultCallback___destroy___0"];var _emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_RayResultCallback_get_m_collisionObject_0=Module["_emscripten_bind_RayResultCallback_get_m_collisionObject_0"]=asm["_emscripten_bind_RayResultCallback_get_m_collisionObject_0"];var _emscripten_bind_RayResultCallback_hasHit_0=Module["_emscripten_bind_RayResultCallback_hasHit_0"]=asm["_emscripten_bind_RayResultCallback_hasHit_0"];var _emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_RayResultCallback_set_m_collisionObject_1=Module["_emscripten_bind_RayResultCallback_set_m_collisionObject_1"]=asm["_emscripten_bind_RayResultCallback_set_m_collisionObject_1"];var _emscripten_bind_RaycastInfo___destroy___0=Module["_emscripten_bind_RaycastInfo___destroy___0"]=asm["_emscripten_bind_RaycastInfo___destroy___0"];var _emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=Module["_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0"];var _emscripten_bind_RaycastInfo_get_m_contactPointWS_0=Module["_emscripten_bind_RaycastInfo_get_m_contactPointWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_contactPointWS_0"];var _emscripten_bind_RaycastInfo_get_m_groundObject_0=Module["_emscripten_bind_RaycastInfo_get_m_groundObject_0"]=asm["_emscripten_bind_RaycastInfo_get_m_groundObject_0"];var _emscripten_bind_RaycastInfo_get_m_hardPointWS_0=Module["_emscripten_bind_RaycastInfo_get_m_hardPointWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_hardPointWS_0"];var _emscripten_bind_RaycastInfo_get_m_isInContact_0=Module["_emscripten_bind_RaycastInfo_get_m_isInContact_0"]=asm["_emscripten_bind_RaycastInfo_get_m_isInContact_0"];var _emscripten_bind_RaycastInfo_get_m_suspensionLength_0=Module["_emscripten_bind_RaycastInfo_get_m_suspensionLength_0"]=asm["_emscripten_bind_RaycastInfo_get_m_suspensionLength_0"];var _emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=Module["_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0"];var _emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=Module["_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0"];var _emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=Module["_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1"];var _emscripten_bind_RaycastInfo_set_m_contactPointWS_1=Module["_emscripten_bind_RaycastInfo_set_m_contactPointWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_contactPointWS_1"];var _emscripten_bind_RaycastInfo_set_m_groundObject_1=Module["_emscripten_bind_RaycastInfo_set_m_groundObject_1"]=asm["_emscripten_bind_RaycastInfo_set_m_groundObject_1"];var _emscripten_bind_RaycastInfo_set_m_hardPointWS_1=Module["_emscripten_bind_RaycastInfo_set_m_hardPointWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_hardPointWS_1"];var _emscripten_bind_RaycastInfo_set_m_isInContact_1=Module["_emscripten_bind_RaycastInfo_set_m_isInContact_1"]=asm["_emscripten_bind_RaycastInfo_set_m_isInContact_1"];var _emscripten_bind_RaycastInfo_set_m_suspensionLength_1=Module["_emscripten_bind_RaycastInfo_set_m_suspensionLength_1"]=asm["_emscripten_bind_RaycastInfo_set_m_suspensionLength_1"];var _emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=Module["_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1"];var _emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=Module["_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1"];var _emscripten_bind_Specs___destroy___0=Module["_emscripten_bind_Specs___destroy___0"]=asm["_emscripten_bind_Specs___destroy___0"];var _emscripten_bind_Specs_get_position_0=Module["_emscripten_bind_Specs_get_position_0"]=asm["_emscripten_bind_Specs_get_position_0"];var _emscripten_bind_Specs_set_position_1=Module["_emscripten_bind_Specs_set_position_1"]=asm["_emscripten_bind_Specs_set_position_1"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_bind_btActionInterface___destroy___0=Module["_emscripten_bind_btActionInterface___destroy___0"]=asm["_emscripten_bind_btActionInterface___destroy___0"];var _emscripten_bind_btActionInterface_updateAction_2=Module["_emscripten_bind_btActionInterface_updateAction_2"]=asm["_emscripten_bind_btActionInterface_updateAction_2"];var _emscripten_bind_btAxisSweep3___destroy___0=Module["_emscripten_bind_btAxisSweep3___destroy___0"]=asm["_emscripten_bind_btAxisSweep3___destroy___0"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_2=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_2"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_2"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_3=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_3"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_3"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_4=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_4"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_4"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_5=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_5"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_5"];var _emscripten_bind_btBoxShape___destroy___0=Module["_emscripten_bind_btBoxShape___destroy___0"]=asm["_emscripten_bind_btBoxShape___destroy___0"];var _emscripten_bind_btBoxShape_btBoxShape_1=Module["_emscripten_bind_btBoxShape_btBoxShape_1"]=asm["_emscripten_bind_btBoxShape_btBoxShape_1"];var _emscripten_bind_btBoxShape_calculateLocalInertia_2=Module["_emscripten_bind_btBoxShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btBoxShape_calculateLocalInertia_2"];var _emscripten_bind_btBoxShape_getLocalScaling_0=Module["_emscripten_bind_btBoxShape_getLocalScaling_0"]=asm["_emscripten_bind_btBoxShape_getLocalScaling_0"];var _emscripten_bind_btBoxShape_getMargin_0=Module["_emscripten_bind_btBoxShape_getMargin_0"]=asm["_emscripten_bind_btBoxShape_getMargin_0"];var _emscripten_bind_btBoxShape_setLocalScaling_1=Module["_emscripten_bind_btBoxShape_setLocalScaling_1"]=asm["_emscripten_bind_btBoxShape_setLocalScaling_1"];var _emscripten_bind_btBoxShape_setMargin_1=Module["_emscripten_bind_btBoxShape_setMargin_1"]=asm["_emscripten_bind_btBoxShape_setMargin_1"];var _emscripten_bind_btBroadphaseInterface___destroy___0=Module["_emscripten_bind_btBroadphaseInterface___destroy___0"]=asm["_emscripten_bind_btBroadphaseInterface___destroy___0"];var _emscripten_bind_btBvhTriangleMeshShape___destroy___0=Module["_emscripten_bind_btBvhTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btBvhTriangleMeshShape___destroy___0"];var _emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=Module["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2"]=asm["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2"];var _emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=Module["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3"]=asm["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3"];var _emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2"];var _emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=Module["_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0"]=asm["_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0"];var _emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1"];var _emscripten_bind_btCapsuleShapeX___destroy___0=Module["_emscripten_bind_btCapsuleShapeX___destroy___0"]=asm["_emscripten_bind_btCapsuleShapeX___destroy___0"];var _emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=Module["_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2"]=asm["_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2"];var _emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2"];var _emscripten_bind_btCapsuleShapeX_getHalfHeight_0=Module["_emscripten_bind_btCapsuleShapeX_getHalfHeight_0"]=asm["_emscripten_bind_btCapsuleShapeX_getHalfHeight_0"];var _emscripten_bind_btCapsuleShapeX_getLocalScaling_0=Module["_emscripten_bind_btCapsuleShapeX_getLocalScaling_0"]=asm["_emscripten_bind_btCapsuleShapeX_getLocalScaling_0"];var _emscripten_bind_btCapsuleShapeX_getMargin_0=Module["_emscripten_bind_btCapsuleShapeX_getMargin_0"]=asm["_emscripten_bind_btCapsuleShapeX_getMargin_0"];var _emscripten_bind_btCapsuleShapeX_getRadius_0=Module["_emscripten_bind_btCapsuleShapeX_getRadius_0"]=asm["_emscripten_bind_btCapsuleShapeX_getRadius_0"];var _emscripten_bind_btCapsuleShapeX_getUpAxis_0=Module["_emscripten_bind_btCapsuleShapeX_getUpAxis_0"]=asm["_emscripten_bind_btCapsuleShapeX_getUpAxis_0"];var _emscripten_bind_btCapsuleShapeX_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShapeX_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShapeX_setLocalScaling_1"];var _emscripten_bind_btCapsuleShapeX_setMargin_1=Module["_emscripten_bind_btCapsuleShapeX_setMargin_1"]=asm["_emscripten_bind_btCapsuleShapeX_setMargin_1"];var _emscripten_bind_btCapsuleShapeZ___destroy___0=Module["_emscripten_bind_btCapsuleShapeZ___destroy___0"]=asm["_emscripten_bind_btCapsuleShapeZ___destroy___0"];var _emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=Module["_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2"]=asm["_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2"];var _emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2"];var _emscripten_bind_btCapsuleShapeZ_getHalfHeight_0=Module["_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0"];var _emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=Module["_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0"];var _emscripten_bind_btCapsuleShapeZ_getMargin_0=Module["_emscripten_bind_btCapsuleShapeZ_getMargin_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getMargin_0"];var _emscripten_bind_btCapsuleShapeZ_getRadius_0=Module["_emscripten_bind_btCapsuleShapeZ_getRadius_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getRadius_0"];var _emscripten_bind_btCapsuleShapeZ_getUpAxis_0=Module["_emscripten_bind_btCapsuleShapeZ_getUpAxis_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getUpAxis_0"];var _emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1"];var _emscripten_bind_btCapsuleShapeZ_setMargin_1=Module["_emscripten_bind_btCapsuleShapeZ_setMargin_1"]=asm["_emscripten_bind_btCapsuleShapeZ_setMargin_1"];var _emscripten_bind_btCapsuleShape___destroy___0=Module["_emscripten_bind_btCapsuleShape___destroy___0"]=asm["_emscripten_bind_btCapsuleShape___destroy___0"];var _emscripten_bind_btCapsuleShape_btCapsuleShape_2=Module["_emscripten_bind_btCapsuleShape_btCapsuleShape_2"]=asm["_emscripten_bind_btCapsuleShape_btCapsuleShape_2"];var _emscripten_bind_btCapsuleShape_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShape_calculateLocalInertia_2"];var _emscripten_bind_btCapsuleShape_getHalfHeight_0=Module["_emscripten_bind_btCapsuleShape_getHalfHeight_0"]=asm["_emscripten_bind_btCapsuleShape_getHalfHeight_0"];var _emscripten_bind_btCapsuleShape_getLocalScaling_0=Module["_emscripten_bind_btCapsuleShape_getLocalScaling_0"]=asm["_emscripten_bind_btCapsuleShape_getLocalScaling_0"];var _emscripten_bind_btCapsuleShape_getMargin_0=Module["_emscripten_bind_btCapsuleShape_getMargin_0"]=asm["_emscripten_bind_btCapsuleShape_getMargin_0"];var _emscripten_bind_btCapsuleShape_getRadius_0=Module["_emscripten_bind_btCapsuleShape_getRadius_0"]=asm["_emscripten_bind_btCapsuleShape_getRadius_0"];var _emscripten_bind_btCapsuleShape_getUpAxis_0=Module["_emscripten_bind_btCapsuleShape_getUpAxis_0"]=asm["_emscripten_bind_btCapsuleShape_getUpAxis_0"];var _emscripten_bind_btCapsuleShape_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShape_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShape_setLocalScaling_1"];var _emscripten_bind_btCapsuleShape_setMargin_1=Module["_emscripten_bind_btCapsuleShape_setMargin_1"]=asm["_emscripten_bind_btCapsuleShape_setMargin_1"];var _emscripten_bind_btCollisionConfiguration___destroy___0=Module["_emscripten_bind_btCollisionConfiguration___destroy___0"]=asm["_emscripten_bind_btCollisionConfiguration___destroy___0"];var _emscripten_bind_btCollisionDispatcher___destroy___0=Module["_emscripten_bind_btCollisionDispatcher___destroy___0"]=asm["_emscripten_bind_btCollisionDispatcher___destroy___0"];var _emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=Module["_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1"]=asm["_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1"];var _emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=Module["_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1"]=asm["_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1"];var _emscripten_bind_btCollisionDispatcher_getNumManifolds_0=Module["_emscripten_bind_btCollisionDispatcher_getNumManifolds_0"]=asm["_emscripten_bind_btCollisionDispatcher_getNumManifolds_0"];var _emscripten_bind_btCollisionObject___destroy___0=Module["_emscripten_bind_btCollisionObject___destroy___0"]=asm["_emscripten_bind_btCollisionObject___destroy___0"];var _emscripten_bind_btCollisionObject_activate_0=Module["_emscripten_bind_btCollisionObject_activate_0"]=asm["_emscripten_bind_btCollisionObject_activate_0"];var _emscripten_bind_btCollisionObject_activate_1=Module["_emscripten_bind_btCollisionObject_activate_1"]=asm["_emscripten_bind_btCollisionObject_activate_1"];var _emscripten_bind_btCollisionObject_forceActivationState_1=Module["_emscripten_bind_btCollisionObject_forceActivationState_1"]=asm["_emscripten_bind_btCollisionObject_forceActivationState_1"];var _emscripten_bind_btCollisionObject_getCollisionFlags_0=Module["_emscripten_bind_btCollisionObject_getCollisionFlags_0"]=asm["_emscripten_bind_btCollisionObject_getCollisionFlags_0"];var _emscripten_bind_btCollisionObject_getCollisionShape_0=Module["_emscripten_bind_btCollisionObject_getCollisionShape_0"]=asm["_emscripten_bind_btCollisionObject_getCollisionShape_0"];var _emscripten_bind_btCollisionObject_getUserIndex_0=Module["_emscripten_bind_btCollisionObject_getUserIndex_0"]=asm["_emscripten_bind_btCollisionObject_getUserIndex_0"];var _emscripten_bind_btCollisionObject_getUserPointer_0=Module["_emscripten_bind_btCollisionObject_getUserPointer_0"]=asm["_emscripten_bind_btCollisionObject_getUserPointer_0"];var _emscripten_bind_btCollisionObject_getWorldTransform_0=Module["_emscripten_bind_btCollisionObject_getWorldTransform_0"]=asm["_emscripten_bind_btCollisionObject_getWorldTransform_0"];var _emscripten_bind_btCollisionObject_isActive_0=Module["_emscripten_bind_btCollisionObject_isActive_0"]=asm["_emscripten_bind_btCollisionObject_isActive_0"];var _emscripten_bind_btCollisionObject_isKinematicObject_0=Module["_emscripten_bind_btCollisionObject_isKinematicObject_0"]=asm["_emscripten_bind_btCollisionObject_isKinematicObject_0"];var _emscripten_bind_btCollisionObject_isStaticObject_0=Module["_emscripten_bind_btCollisionObject_isStaticObject_0"]=asm["_emscripten_bind_btCollisionObject_isStaticObject_0"];var _emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0=Module["_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0"]=asm["_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0"];var _emscripten_bind_btCollisionObject_setActivationState_1=Module["_emscripten_bind_btCollisionObject_setActivationState_1"]=asm["_emscripten_bind_btCollisionObject_setActivationState_1"];var _emscripten_bind_btCollisionObject_setAnisotropicFriction_2=Module["_emscripten_bind_btCollisionObject_setAnisotropicFriction_2"]=asm["_emscripten_bind_btCollisionObject_setAnisotropicFriction_2"];var _emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=Module["_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1"];var _emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1"];var _emscripten_bind_btCollisionObject_setCollisionFlags_1=Module["_emscripten_bind_btCollisionObject_setCollisionFlags_1"]=asm["_emscripten_bind_btCollisionObject_setCollisionFlags_1"];var _emscripten_bind_btCollisionObject_setCollisionShape_1=Module["_emscripten_bind_btCollisionObject_setCollisionShape_1"]=asm["_emscripten_bind_btCollisionObject_setCollisionShape_1"];var _emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1"];var _emscripten_bind_btCollisionObject_setFriction_1=Module["_emscripten_bind_btCollisionObject_setFriction_1"]=asm["_emscripten_bind_btCollisionObject_setFriction_1"];var _emscripten_bind_btCollisionObject_setRestitution_1=Module["_emscripten_bind_btCollisionObject_setRestitution_1"]=asm["_emscripten_bind_btCollisionObject_setRestitution_1"];var _emscripten_bind_btCollisionObject_setRollingFriction_1=Module["_emscripten_bind_btCollisionObject_setRollingFriction_1"]=asm["_emscripten_bind_btCollisionObject_setRollingFriction_1"];var _emscripten_bind_btCollisionObject_setUserIndex_1=Module["_emscripten_bind_btCollisionObject_setUserIndex_1"]=asm["_emscripten_bind_btCollisionObject_setUserIndex_1"];var _emscripten_bind_btCollisionObject_setUserPointer_1=Module["_emscripten_bind_btCollisionObject_setUserPointer_1"]=asm["_emscripten_bind_btCollisionObject_setUserPointer_1"];var _emscripten_bind_btCollisionObject_setWorldTransform_1=Module["_emscripten_bind_btCollisionObject_setWorldTransform_1"]=asm["_emscripten_bind_btCollisionObject_setWorldTransform_1"];var _emscripten_bind_btCollisionShape___destroy___0=Module["_emscripten_bind_btCollisionShape___destroy___0"]=asm["_emscripten_bind_btCollisionShape___destroy___0"];var _emscripten_bind_btCollisionShape_calculateLocalInertia_2=Module["_emscripten_bind_btCollisionShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCollisionShape_calculateLocalInertia_2"];var _emscripten_bind_btCollisionShape_getLocalScaling_0=Module["_emscripten_bind_btCollisionShape_getLocalScaling_0"]=asm["_emscripten_bind_btCollisionShape_getLocalScaling_0"];var _emscripten_bind_btCollisionShape_getMargin_0=Module["_emscripten_bind_btCollisionShape_getMargin_0"]=asm["_emscripten_bind_btCollisionShape_getMargin_0"];var _emscripten_bind_btCollisionShape_setLocalScaling_1=Module["_emscripten_bind_btCollisionShape_setLocalScaling_1"]=asm["_emscripten_bind_btCollisionShape_setLocalScaling_1"];var _emscripten_bind_btCollisionShape_setMargin_1=Module["_emscripten_bind_btCollisionShape_setMargin_1"]=asm["_emscripten_bind_btCollisionShape_setMargin_1"];var _emscripten_bind_btCollisionWorld___destroy___0=Module["_emscripten_bind_btCollisionWorld___destroy___0"]=asm["_emscripten_bind_btCollisionWorld___destroy___0"];var _emscripten_bind_btCollisionWorld_addCollisionObject_1=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_1"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_1"];var _emscripten_bind_btCollisionWorld_addCollisionObject_2=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_2"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_2"];var _emscripten_bind_btCollisionWorld_addCollisionObject_3=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_3"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_3"];var _emscripten_bind_btCollisionWorld_contactPairTest_3=Module["_emscripten_bind_btCollisionWorld_contactPairTest_3"]=asm["_emscripten_bind_btCollisionWorld_contactPairTest_3"];var _emscripten_bind_btCollisionWorld_contactTest_2=Module["_emscripten_bind_btCollisionWorld_contactTest_2"]=asm["_emscripten_bind_btCollisionWorld_contactTest_2"];var _emscripten_bind_btCollisionWorld_convexSweepTest_5=Module["_emscripten_bind_btCollisionWorld_convexSweepTest_5"]=asm["_emscripten_bind_btCollisionWorld_convexSweepTest_5"];var _emscripten_bind_btCollisionWorld_getBroadphase_0=Module["_emscripten_bind_btCollisionWorld_getBroadphase_0"]=asm["_emscripten_bind_btCollisionWorld_getBroadphase_0"];var _emscripten_bind_btCollisionWorld_getDispatchInfo_0=Module["_emscripten_bind_btCollisionWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btCollisionWorld_getDispatchInfo_0"];var _emscripten_bind_btCollisionWorld_getDispatcher_0=Module["_emscripten_bind_btCollisionWorld_getDispatcher_0"]=asm["_emscripten_bind_btCollisionWorld_getDispatcher_0"];var _emscripten_bind_btCollisionWorld_getPairCache_0=Module["_emscripten_bind_btCollisionWorld_getPairCache_0"]=asm["_emscripten_bind_btCollisionWorld_getPairCache_0"];var _emscripten_bind_btCollisionWorld_rayTest_3=Module["_emscripten_bind_btCollisionWorld_rayTest_3"]=asm["_emscripten_bind_btCollisionWorld_rayTest_3"];var _emscripten_bind_btCollisionWorld_removeCollisionObject_1=Module["_emscripten_bind_btCollisionWorld_removeCollisionObject_1"]=asm["_emscripten_bind_btCollisionWorld_removeCollisionObject_1"];var _emscripten_bind_btCollisionWorld_updateSingleAabb_1=Module["_emscripten_bind_btCollisionWorld_updateSingleAabb_1"]=asm["_emscripten_bind_btCollisionWorld_updateSingleAabb_1"];var _emscripten_bind_btCompoundShape___destroy___0=Module["_emscripten_bind_btCompoundShape___destroy___0"]=asm["_emscripten_bind_btCompoundShape___destroy___0"];var _emscripten_bind_btCompoundShape_addChildShape_2=Module["_emscripten_bind_btCompoundShape_addChildShape_2"]=asm["_emscripten_bind_btCompoundShape_addChildShape_2"];var _emscripten_bind_btCompoundShape_btCompoundShape_0=Module["_emscripten_bind_btCompoundShape_btCompoundShape_0"]=asm["_emscripten_bind_btCompoundShape_btCompoundShape_0"];var _emscripten_bind_btCompoundShape_btCompoundShape_1=Module["_emscripten_bind_btCompoundShape_btCompoundShape_1"]=asm["_emscripten_bind_btCompoundShape_btCompoundShape_1"];var _emscripten_bind_btCompoundShape_calculateLocalInertia_2=Module["_emscripten_bind_btCompoundShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCompoundShape_calculateLocalInertia_2"];var _emscripten_bind_btCompoundShape_getChildShape_1=Module["_emscripten_bind_btCompoundShape_getChildShape_1"]=asm["_emscripten_bind_btCompoundShape_getChildShape_1"];var _emscripten_bind_btCompoundShape_getLocalScaling_0=Module["_emscripten_bind_btCompoundShape_getLocalScaling_0"]=asm["_emscripten_bind_btCompoundShape_getLocalScaling_0"];var _emscripten_bind_btCompoundShape_getMargin_0=Module["_emscripten_bind_btCompoundShape_getMargin_0"]=asm["_emscripten_bind_btCompoundShape_getMargin_0"];var _emscripten_bind_btCompoundShape_getNumChildShapes_0=Module["_emscripten_bind_btCompoundShape_getNumChildShapes_0"]=asm["_emscripten_bind_btCompoundShape_getNumChildShapes_0"];var _emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=Module["_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1"]=asm["_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1"];var _emscripten_bind_btCompoundShape_setLocalScaling_1=Module["_emscripten_bind_btCompoundShape_setLocalScaling_1"]=asm["_emscripten_bind_btCompoundShape_setLocalScaling_1"];var _emscripten_bind_btCompoundShape_setMargin_1=Module["_emscripten_bind_btCompoundShape_setMargin_1"]=asm["_emscripten_bind_btCompoundShape_setMargin_1"];var _emscripten_bind_btConcaveShape___destroy___0=Module["_emscripten_bind_btConcaveShape___destroy___0"]=asm["_emscripten_bind_btConcaveShape___destroy___0"];var _emscripten_bind_btConcaveShape_calculateLocalInertia_2=Module["_emscripten_bind_btConcaveShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConcaveShape_calculateLocalInertia_2"];var _emscripten_bind_btConcaveShape_getLocalScaling_0=Module["_emscripten_bind_btConcaveShape_getLocalScaling_0"]=asm["_emscripten_bind_btConcaveShape_getLocalScaling_0"];var _emscripten_bind_btConcaveShape_setLocalScaling_1=Module["_emscripten_bind_btConcaveShape_setLocalScaling_1"]=asm["_emscripten_bind_btConcaveShape_setLocalScaling_1"];var _emscripten_bind_btConeShapeX___destroy___0=Module["_emscripten_bind_btConeShapeX___destroy___0"]=asm["_emscripten_bind_btConeShapeX___destroy___0"];var _emscripten_bind_btConeShapeX_btConeShapeX_2=Module["_emscripten_bind_btConeShapeX_btConeShapeX_2"]=asm["_emscripten_bind_btConeShapeX_btConeShapeX_2"];var _emscripten_bind_btConeShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btConeShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShapeX_calculateLocalInertia_2"];var _emscripten_bind_btConeShapeX_getLocalScaling_0=Module["_emscripten_bind_btConeShapeX_getLocalScaling_0"]=asm["_emscripten_bind_btConeShapeX_getLocalScaling_0"];var _emscripten_bind_btConeShapeX_setLocalScaling_1=Module["_emscripten_bind_btConeShapeX_setLocalScaling_1"]=asm["_emscripten_bind_btConeShapeX_setLocalScaling_1"];var _emscripten_bind_btConeShapeZ___destroy___0=Module["_emscripten_bind_btConeShapeZ___destroy___0"]=asm["_emscripten_bind_btConeShapeZ___destroy___0"];var _emscripten_bind_btConeShapeZ_btConeShapeZ_2=Module["_emscripten_bind_btConeShapeZ_btConeShapeZ_2"]=asm["_emscripten_bind_btConeShapeZ_btConeShapeZ_2"];var _emscripten_bind_btConeShapeZ_calculateLocalInertia_2=Module["_emscripten_bind_btConeShapeZ_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShapeZ_calculateLocalInertia_2"];var _emscripten_bind_btConeShapeZ_getLocalScaling_0=Module["_emscripten_bind_btConeShapeZ_getLocalScaling_0"]=asm["_emscripten_bind_btConeShapeZ_getLocalScaling_0"];var _emscripten_bind_btConeShapeZ_setLocalScaling_1=Module["_emscripten_bind_btConeShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btConeShapeZ_setLocalScaling_1"];var _emscripten_bind_btConeShape___destroy___0=Module["_emscripten_bind_btConeShape___destroy___0"]=asm["_emscripten_bind_btConeShape___destroy___0"];var _emscripten_bind_btConeShape_btConeShape_2=Module["_emscripten_bind_btConeShape_btConeShape_2"]=asm["_emscripten_bind_btConeShape_btConeShape_2"];var _emscripten_bind_btConeShape_calculateLocalInertia_2=Module["_emscripten_bind_btConeShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShape_calculateLocalInertia_2"];var _emscripten_bind_btConeShape_getLocalScaling_0=Module["_emscripten_bind_btConeShape_getLocalScaling_0"]=asm["_emscripten_bind_btConeShape_getLocalScaling_0"];var _emscripten_bind_btConeShape_setLocalScaling_1=Module["_emscripten_bind_btConeShape_setLocalScaling_1"]=asm["_emscripten_bind_btConeShape_setLocalScaling_1"];var _emscripten_bind_btConeTwistConstraint___destroy___0=Module["_emscripten_bind_btConeTwistConstraint___destroy___0"]=asm["_emscripten_bind_btConeTwistConstraint___destroy___0"];var _emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=Module["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2"]=asm["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2"];var _emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=Module["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4"]=asm["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4"];var _emscripten_bind_btConeTwistConstraint_enableFeedback_1=Module["_emscripten_bind_btConeTwistConstraint_enableFeedback_1"]=asm["_emscripten_bind_btConeTwistConstraint_enableFeedback_1"];var _emscripten_bind_btConeTwistConstraint_enableMotor_1=Module["_emscripten_bind_btConeTwistConstraint_enableMotor_1"]=asm["_emscripten_bind_btConeTwistConstraint_enableMotor_1"];var _emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btConeTwistConstraint_getParam_2=Module["_emscripten_bind_btConeTwistConstraint_getParam_2"]=asm["_emscripten_bind_btConeTwistConstraint_getParam_2"];var _emscripten_bind_btConeTwistConstraint_setAngularOnly_1=Module["_emscripten_bind_btConeTwistConstraint_setAngularOnly_1"]=asm["_emscripten_bind_btConeTwistConstraint_setAngularOnly_1"];var _emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btConeTwistConstraint_setDamping_1=Module["_emscripten_bind_btConeTwistConstraint_setDamping_1"]=asm["_emscripten_bind_btConeTwistConstraint_setDamping_1"];var _emscripten_bind_btConeTwistConstraint_setLimit_2=Module["_emscripten_bind_btConeTwistConstraint_setLimit_2"]=asm["_emscripten_bind_btConeTwistConstraint_setLimit_2"];var _emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=Module["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1"];var _emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=Module["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1"];var _emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=Module["_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1"];var _emscripten_bind_btConeTwistConstraint_setMotorTarget_1=Module["_emscripten_bind_btConeTwistConstraint_setMotorTarget_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMotorTarget_1"];var _emscripten_bind_btConeTwistConstraint_setParam_3=Module["_emscripten_bind_btConeTwistConstraint_setParam_3"]=asm["_emscripten_bind_btConeTwistConstraint_setParam_3"];var _emscripten_bind_btConstraintSetting___destroy___0=Module["_emscripten_bind_btConstraintSetting___destroy___0"]=asm["_emscripten_bind_btConstraintSetting___destroy___0"];var _emscripten_bind_btConstraintSetting_btConstraintSetting_0=Module["_emscripten_bind_btConstraintSetting_btConstraintSetting_0"]=asm["_emscripten_bind_btConstraintSetting_btConstraintSetting_0"];var _emscripten_bind_btConstraintSetting_get_m_damping_0=Module["_emscripten_bind_btConstraintSetting_get_m_damping_0"]=asm["_emscripten_bind_btConstraintSetting_get_m_damping_0"];var _emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=Module["_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0"]=asm["_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0"];var _emscripten_bind_btConstraintSetting_get_m_tau_0=Module["_emscripten_bind_btConstraintSetting_get_m_tau_0"]=asm["_emscripten_bind_btConstraintSetting_get_m_tau_0"];var _emscripten_bind_btConstraintSetting_set_m_damping_1=Module["_emscripten_bind_btConstraintSetting_set_m_damping_1"]=asm["_emscripten_bind_btConstraintSetting_set_m_damping_1"];var _emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=Module["_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1"]=asm["_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1"];var _emscripten_bind_btConstraintSetting_set_m_tau_1=Module["_emscripten_bind_btConstraintSetting_set_m_tau_1"]=asm["_emscripten_bind_btConstraintSetting_set_m_tau_1"];var _emscripten_bind_btConstraintSolver___destroy___0=Module["_emscripten_bind_btConstraintSolver___destroy___0"]=asm["_emscripten_bind_btConstraintSolver___destroy___0"];var _emscripten_bind_btContactSolverInfo___destroy___0=Module["_emscripten_bind_btContactSolverInfo___destroy___0"]=asm["_emscripten_bind_btContactSolverInfo___destroy___0"];var _emscripten_bind_btContactSolverInfo_get_m_numIterations_0=Module["_emscripten_bind_btContactSolverInfo_get_m_numIterations_0"]=asm["_emscripten_bind_btContactSolverInfo_get_m_numIterations_0"];var _emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=Module["_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0"]=asm["_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0"];var _emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=Module["_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0"]=asm["_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0"];var _emscripten_bind_btContactSolverInfo_set_m_numIterations_1=Module["_emscripten_bind_btContactSolverInfo_set_m_numIterations_1"]=asm["_emscripten_bind_btContactSolverInfo_set_m_numIterations_1"];var _emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=Module["_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1"]=asm["_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1"];var _emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=Module["_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1"]=asm["_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1"];var _emscripten_bind_btConvexHullShape___destroy___0=Module["_emscripten_bind_btConvexHullShape___destroy___0"]=asm["_emscripten_bind_btConvexHullShape___destroy___0"];var _emscripten_bind_btConvexHullShape_addPoint_1=Module["_emscripten_bind_btConvexHullShape_addPoint_1"]=asm["_emscripten_bind_btConvexHullShape_addPoint_1"];var _emscripten_bind_btConvexHullShape_addPoint_2=Module["_emscripten_bind_btConvexHullShape_addPoint_2"]=asm["_emscripten_bind_btConvexHullShape_addPoint_2"];var _emscripten_bind_btConvexHullShape_btConvexHullShape_0=Module["_emscripten_bind_btConvexHullShape_btConvexHullShape_0"]=asm["_emscripten_bind_btConvexHullShape_btConvexHullShape_0"];var _emscripten_bind_btConvexHullShape_calculateLocalInertia_2=Module["_emscripten_bind_btConvexHullShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConvexHullShape_calculateLocalInertia_2"];var _emscripten_bind_btConvexHullShape_getLocalScaling_0=Module["_emscripten_bind_btConvexHullShape_getLocalScaling_0"]=asm["_emscripten_bind_btConvexHullShape_getLocalScaling_0"];var _emscripten_bind_btConvexHullShape_getMargin_0=Module["_emscripten_bind_btConvexHullShape_getMargin_0"]=asm["_emscripten_bind_btConvexHullShape_getMargin_0"];var _emscripten_bind_btConvexHullShape_setLocalScaling_1=Module["_emscripten_bind_btConvexHullShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexHullShape_setLocalScaling_1"];var _emscripten_bind_btConvexHullShape_setMargin_1=Module["_emscripten_bind_btConvexHullShape_setMargin_1"]=asm["_emscripten_bind_btConvexHullShape_setMargin_1"];var _emscripten_bind_btConvexShape___destroy___0=Module["_emscripten_bind_btConvexShape___destroy___0"]=asm["_emscripten_bind_btConvexShape___destroy___0"];var _emscripten_bind_btConvexShape_calculateLocalInertia_2=Module["_emscripten_bind_btConvexShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConvexShape_calculateLocalInertia_2"];var _emscripten_bind_btConvexShape_getLocalScaling_0=Module["_emscripten_bind_btConvexShape_getLocalScaling_0"]=asm["_emscripten_bind_btConvexShape_getLocalScaling_0"];var _emscripten_bind_btConvexShape_getMargin_0=Module["_emscripten_bind_btConvexShape_getMargin_0"]=asm["_emscripten_bind_btConvexShape_getMargin_0"];var _emscripten_bind_btConvexShape_setLocalScaling_1=Module["_emscripten_bind_btConvexShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexShape_setLocalScaling_1"];var _emscripten_bind_btConvexShape_setMargin_1=Module["_emscripten_bind_btConvexShape_setMargin_1"]=asm["_emscripten_bind_btConvexShape_setMargin_1"];var _emscripten_bind_btConvexTriangleMeshShape___destroy___0=Module["_emscripten_bind_btConvexTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btConvexTriangleMeshShape___destroy___0"];var _emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=Module["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1"]=asm["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1"];var _emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=Module["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2"]=asm["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2"];var _emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2"];var _emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0=Module["_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0"]=asm["_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0"];var _emscripten_bind_btConvexTriangleMeshShape_getMargin_0=Module["_emscripten_bind_btConvexTriangleMeshShape_getMargin_0"]=asm["_emscripten_bind_btConvexTriangleMeshShape_getMargin_0"];var _emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1"];var _emscripten_bind_btConvexTriangleMeshShape_setMargin_1=Module["_emscripten_bind_btConvexTriangleMeshShape_setMargin_1"]=asm["_emscripten_bind_btConvexTriangleMeshShape_setMargin_1"];var _emscripten_bind_btCylinderShapeX___destroy___0=Module["_emscripten_bind_btCylinderShapeX___destroy___0"]=asm["_emscripten_bind_btCylinderShapeX___destroy___0"];var _emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=Module["_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1"]=asm["_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1"];var _emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2"];var _emscripten_bind_btCylinderShapeX_getLocalScaling_0=Module["_emscripten_bind_btCylinderShapeX_getLocalScaling_0"]=asm["_emscripten_bind_btCylinderShapeX_getLocalScaling_0"];var _emscripten_bind_btCylinderShapeX_getMargin_0=Module["_emscripten_bind_btCylinderShapeX_getMargin_0"]=asm["_emscripten_bind_btCylinderShapeX_getMargin_0"];var _emscripten_bind_btCylinderShapeX_setLocalScaling_1=Module["_emscripten_bind_btCylinderShapeX_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShapeX_setLocalScaling_1"];var _emscripten_bind_btCylinderShapeX_setMargin_1=Module["_emscripten_bind_btCylinderShapeX_setMargin_1"]=asm["_emscripten_bind_btCylinderShapeX_setMargin_1"];var _emscripten_bind_btCylinderShapeZ___destroy___0=Module["_emscripten_bind_btCylinderShapeZ___destroy___0"]=asm["_emscripten_bind_btCylinderShapeZ___destroy___0"];var _emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=Module["_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1"]=asm["_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1"];var _emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2"];var _emscripten_bind_btCylinderShapeZ_getLocalScaling_0=Module["_emscripten_bind_btCylinderShapeZ_getLocalScaling_0"]=asm["_emscripten_bind_btCylinderShapeZ_getLocalScaling_0"];var _emscripten_bind_btCylinderShapeZ_getMargin_0=Module["_emscripten_bind_btCylinderShapeZ_getMargin_0"]=asm["_emscripten_bind_btCylinderShapeZ_getMargin_0"];var _emscripten_bind_btCylinderShapeZ_setLocalScaling_1=Module["_emscripten_bind_btCylinderShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShapeZ_setLocalScaling_1"];var _emscripten_bind_btCylinderShapeZ_setMargin_1=Module["_emscripten_bind_btCylinderShapeZ_setMargin_1"]=asm["_emscripten_bind_btCylinderShapeZ_setMargin_1"];var _emscripten_bind_btCylinderShape___destroy___0=Module["_emscripten_bind_btCylinderShape___destroy___0"]=asm["_emscripten_bind_btCylinderShape___destroy___0"];var _emscripten_bind_btCylinderShape_btCylinderShape_1=Module["_emscripten_bind_btCylinderShape_btCylinderShape_1"]=asm["_emscripten_bind_btCylinderShape_btCylinderShape_1"];var _emscripten_bind_btCylinderShape_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShape_calculateLocalInertia_2"];var _emscripten_bind_btCylinderShape_getLocalScaling_0=Module["_emscripten_bind_btCylinderShape_getLocalScaling_0"]=asm["_emscripten_bind_btCylinderShape_getLocalScaling_0"];var _emscripten_bind_btCylinderShape_getMargin_0=Module["_emscripten_bind_btCylinderShape_getMargin_0"]=asm["_emscripten_bind_btCylinderShape_getMargin_0"];var _emscripten_bind_btCylinderShape_setLocalScaling_1=Module["_emscripten_bind_btCylinderShape_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShape_setLocalScaling_1"];var _emscripten_bind_btCylinderShape_setMargin_1=Module["_emscripten_bind_btCylinderShape_setMargin_1"]=asm["_emscripten_bind_btCylinderShape_setMargin_1"];var _emscripten_bind_btDbvtBroadphase___destroy___0=Module["_emscripten_bind_btDbvtBroadphase___destroy___0"]=asm["_emscripten_bind_btDbvtBroadphase___destroy___0"];var _emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=Module["_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0"]=asm["_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0"];var _emscripten_bind_btDefaultCollisionConfiguration___destroy___0=Module["_emscripten_bind_btDefaultCollisionConfiguration___destroy___0"]=asm["_emscripten_bind_btDefaultCollisionConfiguration___destroy___0"];var _emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=Module["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0"]=asm["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0"];var _emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=Module["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1"]=asm["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1"];var _emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=Module["_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0"]=asm["_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0"];var _emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=Module["_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0"]=asm["_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0"];var _emscripten_bind_btDefaultMotionState___destroy___0=Module["_emscripten_bind_btDefaultMotionState___destroy___0"]=asm["_emscripten_bind_btDefaultMotionState___destroy___0"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2"];var _emscripten_bind_btDefaultMotionState_getWorldTransform_1=Module["_emscripten_bind_btDefaultMotionState_getWorldTransform_1"]=asm["_emscripten_bind_btDefaultMotionState_getWorldTransform_1"];var _emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=Module["_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0"]=asm["_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0"];var _emscripten_bind_btDefaultMotionState_setWorldTransform_1=Module["_emscripten_bind_btDefaultMotionState_setWorldTransform_1"]=asm["_emscripten_bind_btDefaultMotionState_setWorldTransform_1"];var _emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=Module["_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1"]=asm["_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1"];var _emscripten_bind_btDefaultSoftBodySolver___destroy___0=Module["_emscripten_bind_btDefaultSoftBodySolver___destroy___0"]=asm["_emscripten_bind_btDefaultSoftBodySolver___destroy___0"];var _emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=Module["_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0"]=asm["_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0"];var _emscripten_bind_btDefaultVehicleRaycaster___destroy___0=Module["_emscripten_bind_btDefaultVehicleRaycaster___destroy___0"]=asm["_emscripten_bind_btDefaultVehicleRaycaster___destroy___0"];var _emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=Module["_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1"]=asm["_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1"];var _emscripten_bind_btDefaultVehicleRaycaster_castRay_3=Module["_emscripten_bind_btDefaultVehicleRaycaster_castRay_3"]=asm["_emscripten_bind_btDefaultVehicleRaycaster_castRay_3"];var _emscripten_bind_btDiscreteDynamicsWorld___destroy___0=Module["_emscripten_bind_btDiscreteDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld___destroy___0"];var _emscripten_bind_btDiscreteDynamicsWorld_addAction_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addAction_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2"];var _emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3"];var _emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2"];var _emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3"];var _emscripten_bind_btDiscreteDynamicsWorld_addVehicle_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addVehicle_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addVehicle_1"];var _emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=Module["_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4"];var _emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3"];var _emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2"];var _emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0"];var _emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3"];var _emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1"];var _emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1"];var _emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1"];var _emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1"];var _emscripten_bind_btDiscreteDynamicsWorld_removeVehicle_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeVehicle_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeVehicle_1"];var _emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1"];var _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1"];var _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2"];var _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3"];var _emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1"];var _emscripten_bind_btDispatcherInfo___destroy___0=Module["_emscripten_bind_btDispatcherInfo___destroy___0"]=asm["_emscripten_bind_btDispatcherInfo___destroy___0"];var _emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=Module["_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0"];var _emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=Module["_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0"];var _emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=Module["_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0"];var _emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=Module["_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0"];var _emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=Module["_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0"];var _emscripten_bind_btDispatcherInfo_get_m_stepCount_0=Module["_emscripten_bind_btDispatcherInfo_get_m_stepCount_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_stepCount_0"];var _emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=Module["_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0"];var _emscripten_bind_btDispatcherInfo_get_m_timeStep_0=Module["_emscripten_bind_btDispatcherInfo_get_m_timeStep_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_timeStep_0"];var _emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=Module["_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0"];var _emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=Module["_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0"];var _emscripten_bind_btDispatcherInfo_get_m_useEpa_0=Module["_emscripten_bind_btDispatcherInfo_get_m_useEpa_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_useEpa_0"];var _emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=Module["_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1"];var _emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=Module["_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1"];var _emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=Module["_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1"];var _emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=Module["_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1"];var _emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=Module["_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1"];var _emscripten_bind_btDispatcherInfo_set_m_stepCount_1=Module["_emscripten_bind_btDispatcherInfo_set_m_stepCount_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_stepCount_1"];var _emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=Module["_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1"];var _emscripten_bind_btDispatcherInfo_set_m_timeStep_1=Module["_emscripten_bind_btDispatcherInfo_set_m_timeStep_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_timeStep_1"];var _emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1"];var _emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1"];var _emscripten_bind_btDispatcherInfo_set_m_useEpa_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useEpa_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useEpa_1"];var _emscripten_bind_btDispatcher___destroy___0=Module["_emscripten_bind_btDispatcher___destroy___0"]=asm["_emscripten_bind_btDispatcher___destroy___0"];var _emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=Module["_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1"]=asm["_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1"];var _emscripten_bind_btDispatcher_getNumManifolds_0=Module["_emscripten_bind_btDispatcher_getNumManifolds_0"]=asm["_emscripten_bind_btDispatcher_getNumManifolds_0"];var _emscripten_bind_btDynamicsWorld___destroy___0=Module["_emscripten_bind_btDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btDynamicsWorld___destroy___0"];var _emscripten_bind_btDynamicsWorld_addAction_1=Module["_emscripten_bind_btDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btDynamicsWorld_addAction_1"];var _emscripten_bind_btDynamicsWorld_addCollisionObject_1=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_1"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_1"];var _emscripten_bind_btDynamicsWorld_addCollisionObject_2=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_2"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_2"];var _emscripten_bind_btDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_3"];var _emscripten_bind_btDynamicsWorld_contactPairTest_3=Module["_emscripten_bind_btDynamicsWorld_contactPairTest_3"]=asm["_emscripten_bind_btDynamicsWorld_contactPairTest_3"];var _emscripten_bind_btDynamicsWorld_contactTest_2=Module["_emscripten_bind_btDynamicsWorld_contactTest_2"]=asm["_emscripten_bind_btDynamicsWorld_contactTest_2"];var _emscripten_bind_btDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btDynamicsWorld_getBroadphase_0=Module["_emscripten_bind_btDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btDynamicsWorld_getBroadphase_0"];var _emscripten_bind_btDynamicsWorld_getDispatchInfo_0=Module["_emscripten_bind_btDynamicsWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btDynamicsWorld_getDispatchInfo_0"];var _emscripten_bind_btDynamicsWorld_getDispatcher_0=Module["_emscripten_bind_btDynamicsWorld_getDispatcher_0"]=asm["_emscripten_bind_btDynamicsWorld_getDispatcher_0"];var _emscripten_bind_btDynamicsWorld_getPairCache_0=Module["_emscripten_bind_btDynamicsWorld_getPairCache_0"]=asm["_emscripten_bind_btDynamicsWorld_getPairCache_0"];var _emscripten_bind_btDynamicsWorld_getSolverInfo_0=Module["_emscripten_bind_btDynamicsWorld_getSolverInfo_0"]=asm["_emscripten_bind_btDynamicsWorld_getSolverInfo_0"];var _emscripten_bind_btDynamicsWorld_rayTest_3=Module["_emscripten_bind_btDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btDynamicsWorld_rayTest_3"];var _emscripten_bind_btDynamicsWorld_removeAction_1=Module["_emscripten_bind_btDynamicsWorld_removeAction_1"]=asm["_emscripten_bind_btDynamicsWorld_removeAction_1"];var _emscripten_bind_btDynamicsWorld_removeCollisionObject_1=Module["_emscripten_bind_btDynamicsWorld_removeCollisionObject_1"]=asm["_emscripten_bind_btDynamicsWorld_removeCollisionObject_1"];var _emscripten_bind_btDynamicsWorld_updateSingleAabb_1=Module["_emscripten_bind_btDynamicsWorld_updateSingleAabb_1"]=asm["_emscripten_bind_btDynamicsWorld_updateSingleAabb_1"];var _emscripten_bind_btFixedConstraint___destroy___0=Module["_emscripten_bind_btFixedConstraint___destroy___0"]=asm["_emscripten_bind_btFixedConstraint___destroy___0"];var _emscripten_bind_btFixedConstraint_btFixedConstraint_4=Module["_emscripten_bind_btFixedConstraint_btFixedConstraint_4"]=asm["_emscripten_bind_btFixedConstraint_btFixedConstraint_4"];var _emscripten_bind_btFixedConstraint_enableFeedback_1=Module["_emscripten_bind_btFixedConstraint_enableFeedback_1"]=asm["_emscripten_bind_btFixedConstraint_enableFeedback_1"];var _emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btFixedConstraint_getParam_2=Module["_emscripten_bind_btFixedConstraint_getParam_2"]=asm["_emscripten_bind_btFixedConstraint_getParam_2"];var _emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btFixedConstraint_setParam_3=Module["_emscripten_bind_btFixedConstraint_setParam_3"]=asm["_emscripten_bind_btFixedConstraint_setParam_3"];var _emscripten_bind_btGeneric6DofConstraint___destroy___0=Module["_emscripten_bind_btGeneric6DofConstraint___destroy___0"]=asm["_emscripten_bind_btGeneric6DofConstraint___destroy___0"];var _emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=Module["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3"]=asm["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3"];var _emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=Module["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5"]=asm["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5"];var _emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=Module["_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1"];var _emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btGeneric6DofConstraint_getParam_2=Module["_emscripten_bind_btGeneric6DofConstraint_getParam_2"]=asm["_emscripten_bind_btGeneric6DofConstraint_getParam_2"];var _emscripten_bind_btGeneric6DofConstraint_getRotationalLimitMotor_1=Module["_emscripten_bind_btGeneric6DofConstraint_getRotationalLimitMotor_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_getRotationalLimitMotor_1"];var _emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1"];var _emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1"];var _emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1"];var _emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1"];var _emscripten_bind_btGeneric6DofConstraint_setParam_3=Module["_emscripten_bind_btGeneric6DofConstraint_setParam_3"]=asm["_emscripten_bind_btGeneric6DofConstraint_setParam_3"];var _emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=Module["_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0"];var _emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=Module["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3"];var _emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=Module["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5"];var _emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2"];var _emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btGeneric6DofSpringConstraint_getParam_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2"];var _emscripten_bind_btGeneric6DofSpringConstraint_getRotationalLimitMotor_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_getRotationalLimitMotor_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_getRotationalLimitMotor_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2"];var _emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3"];var _emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2"];var _emscripten_bind_btGhostObject___destroy___0=Module["_emscripten_bind_btGhostObject___destroy___0"]=asm["_emscripten_bind_btGhostObject___destroy___0"];var _emscripten_bind_btGhostObject_activate_0=Module["_emscripten_bind_btGhostObject_activate_0"]=asm["_emscripten_bind_btGhostObject_activate_0"];var _emscripten_bind_btGhostObject_activate_1=Module["_emscripten_bind_btGhostObject_activate_1"]=asm["_emscripten_bind_btGhostObject_activate_1"];var _emscripten_bind_btGhostObject_btGhostObject_0=Module["_emscripten_bind_btGhostObject_btGhostObject_0"]=asm["_emscripten_bind_btGhostObject_btGhostObject_0"];var _emscripten_bind_btGhostObject_forceActivationState_1=Module["_emscripten_bind_btGhostObject_forceActivationState_1"]=asm["_emscripten_bind_btGhostObject_forceActivationState_1"];var _emscripten_bind_btGhostObject_getCollisionFlags_0=Module["_emscripten_bind_btGhostObject_getCollisionFlags_0"]=asm["_emscripten_bind_btGhostObject_getCollisionFlags_0"];var _emscripten_bind_btGhostObject_getCollisionShape_0=Module["_emscripten_bind_btGhostObject_getCollisionShape_0"]=asm["_emscripten_bind_btGhostObject_getCollisionShape_0"];var _emscripten_bind_btGhostObject_getNumOverlappingObjects_0=Module["_emscripten_bind_btGhostObject_getNumOverlappingObjects_0"]=asm["_emscripten_bind_btGhostObject_getNumOverlappingObjects_0"];var _emscripten_bind_btGhostObject_getOverlappingObject_1=Module["_emscripten_bind_btGhostObject_getOverlappingObject_1"]=asm["_emscripten_bind_btGhostObject_getOverlappingObject_1"];var _emscripten_bind_btGhostObject_getUserIndex_0=Module["_emscripten_bind_btGhostObject_getUserIndex_0"]=asm["_emscripten_bind_btGhostObject_getUserIndex_0"];var _emscripten_bind_btGhostObject_getUserPointer_0=Module["_emscripten_bind_btGhostObject_getUserPointer_0"]=asm["_emscripten_bind_btGhostObject_getUserPointer_0"];var _emscripten_bind_btGhostObject_getWorldTransform_0=Module["_emscripten_bind_btGhostObject_getWorldTransform_0"]=asm["_emscripten_bind_btGhostObject_getWorldTransform_0"];var _emscripten_bind_btGhostObject_isActive_0=Module["_emscripten_bind_btGhostObject_isActive_0"]=asm["_emscripten_bind_btGhostObject_isActive_0"];var _emscripten_bind_btGhostObject_isKinematicObject_0=Module["_emscripten_bind_btGhostObject_isKinematicObject_0"]=asm["_emscripten_bind_btGhostObject_isKinematicObject_0"];var _emscripten_bind_btGhostObject_isStaticObject_0=Module["_emscripten_bind_btGhostObject_isStaticObject_0"]=asm["_emscripten_bind_btGhostObject_isStaticObject_0"];var _emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=Module["_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0"]=asm["_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0"];var _emscripten_bind_btGhostObject_setActivationState_1=Module["_emscripten_bind_btGhostObject_setActivationState_1"]=asm["_emscripten_bind_btGhostObject_setActivationState_1"];var _emscripten_bind_btGhostObject_setAnisotropicFriction_2=Module["_emscripten_bind_btGhostObject_setAnisotropicFriction_2"]=asm["_emscripten_bind_btGhostObject_setAnisotropicFriction_2"];var _emscripten_bind_btGhostObject_setCcdMotionThreshold_1=Module["_emscripten_bind_btGhostObject_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btGhostObject_setCcdMotionThreshold_1"];var _emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1"];var _emscripten_bind_btGhostObject_setCollisionFlags_1=Module["_emscripten_bind_btGhostObject_setCollisionFlags_1"]=asm["_emscripten_bind_btGhostObject_setCollisionFlags_1"];var _emscripten_bind_btGhostObject_setCollisionShape_1=Module["_emscripten_bind_btGhostObject_setCollisionShape_1"]=asm["_emscripten_bind_btGhostObject_setCollisionShape_1"];var _emscripten_bind_btGhostObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btGhostObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btGhostObject_setContactProcessingThreshold_1"];var _emscripten_bind_btGhostObject_setFriction_1=Module["_emscripten_bind_btGhostObject_setFriction_1"]=asm["_emscripten_bind_btGhostObject_setFriction_1"];var _emscripten_bind_btGhostObject_setRestitution_1=Module["_emscripten_bind_btGhostObject_setRestitution_1"]=asm["_emscripten_bind_btGhostObject_setRestitution_1"];var _emscripten_bind_btGhostObject_setRollingFriction_1=Module["_emscripten_bind_btGhostObject_setRollingFriction_1"]=asm["_emscripten_bind_btGhostObject_setRollingFriction_1"];var _emscripten_bind_btGhostObject_setUserIndex_1=Module["_emscripten_bind_btGhostObject_setUserIndex_1"]=asm["_emscripten_bind_btGhostObject_setUserIndex_1"];var _emscripten_bind_btGhostObject_setUserPointer_1=Module["_emscripten_bind_btGhostObject_setUserPointer_1"]=asm["_emscripten_bind_btGhostObject_setUserPointer_1"];var _emscripten_bind_btGhostObject_setWorldTransform_1=Module["_emscripten_bind_btGhostObject_setWorldTransform_1"]=asm["_emscripten_bind_btGhostObject_setWorldTransform_1"];var _emscripten_bind_btGhostPairCallback___destroy___0=Module["_emscripten_bind_btGhostPairCallback___destroy___0"]=asm["_emscripten_bind_btGhostPairCallback___destroy___0"];var _emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=Module["_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0"]=asm["_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0"];var _emscripten_bind_btHeightfieldTerrainShape___destroy___0=Module["_emscripten_bind_btHeightfieldTerrainShape___destroy___0"]=asm["_emscripten_bind_btHeightfieldTerrainShape___destroy___0"];var _emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=Module["_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9"]=asm["_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9"];var _emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=Module["_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2"];var _emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=Module["_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0"]=asm["_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0"];var _emscripten_bind_btHeightfieldTerrainShape_getMargin_0=Module["_emscripten_bind_btHeightfieldTerrainShape_getMargin_0"]=asm["_emscripten_bind_btHeightfieldTerrainShape_getMargin_0"];var _emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=Module["_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1"]=asm["_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1"];var _emscripten_bind_btHeightfieldTerrainShape_setMargin_1=Module["_emscripten_bind_btHeightfieldTerrainShape_setMargin_1"]=asm["_emscripten_bind_btHeightfieldTerrainShape_setMargin_1"];var _emscripten_bind_btHingeConstraint___destroy___0=Module["_emscripten_bind_btHingeConstraint___destroy___0"]=asm["_emscripten_bind_btHingeConstraint___destroy___0"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_2=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_2"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_2"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_3=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_3"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_3"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_4=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_4"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_4"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_5=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_5"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_5"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_6=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_6"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_6"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_7=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_7"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_7"];var _emscripten_bind_btHingeConstraint_enableAngularMotor_3=Module["_emscripten_bind_btHingeConstraint_enableAngularMotor_3"]=asm["_emscripten_bind_btHingeConstraint_enableAngularMotor_3"];var _emscripten_bind_btHingeConstraint_enableFeedback_1=Module["_emscripten_bind_btHingeConstraint_enableFeedback_1"]=asm["_emscripten_bind_btHingeConstraint_enableFeedback_1"];var _emscripten_bind_btHingeConstraint_enableMotor_1=Module["_emscripten_bind_btHingeConstraint_enableMotor_1"]=asm["_emscripten_bind_btHingeConstraint_enableMotor_1"];var _emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btHingeConstraint_getParam_2=Module["_emscripten_bind_btHingeConstraint_getParam_2"]=asm["_emscripten_bind_btHingeConstraint_getParam_2"];var _emscripten_bind_btHingeConstraint_setAngularOnly_1=Module["_emscripten_bind_btHingeConstraint_setAngularOnly_1"]=asm["_emscripten_bind_btHingeConstraint_setAngularOnly_1"];var _emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btHingeConstraint_setLimit_4=Module["_emscripten_bind_btHingeConstraint_setLimit_4"]=asm["_emscripten_bind_btHingeConstraint_setLimit_4"];var _emscripten_bind_btHingeConstraint_setLimit_5=Module["_emscripten_bind_btHingeConstraint_setLimit_5"]=asm["_emscripten_bind_btHingeConstraint_setLimit_5"];var _emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=Module["_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1"]=asm["_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1"];var _emscripten_bind_btHingeConstraint_setMotorTarget_2=Module["_emscripten_bind_btHingeConstraint_setMotorTarget_2"]=asm["_emscripten_bind_btHingeConstraint_setMotorTarget_2"];var _emscripten_bind_btHingeConstraint_setParam_3=Module["_emscripten_bind_btHingeConstraint_setParam_3"]=asm["_emscripten_bind_btHingeConstraint_setParam_3"];var _emscripten_bind_btKinematicCharacterController___destroy___0=Module["_emscripten_bind_btKinematicCharacterController___destroy___0"]=asm["_emscripten_bind_btKinematicCharacterController___destroy___0"];var _emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=Module["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3"]=asm["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3"];var _emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=Module["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4"]=asm["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4"];var _emscripten_bind_btKinematicCharacterController_canJump_0=Module["_emscripten_bind_btKinematicCharacterController_canJump_0"]=asm["_emscripten_bind_btKinematicCharacterController_canJump_0"];var _emscripten_bind_btKinematicCharacterController_getGhostObject_0=Module["_emscripten_bind_btKinematicCharacterController_getGhostObject_0"]=asm["_emscripten_bind_btKinematicCharacterController_getGhostObject_0"];var _emscripten_bind_btKinematicCharacterController_getGravity_0=Module["_emscripten_bind_btKinematicCharacterController_getGravity_0"]=asm["_emscripten_bind_btKinematicCharacterController_getGravity_0"];var _emscripten_bind_btKinematicCharacterController_getMaxSlope_0=Module["_emscripten_bind_btKinematicCharacterController_getMaxSlope_0"]=asm["_emscripten_bind_btKinematicCharacterController_getMaxSlope_0"];var _emscripten_bind_btKinematicCharacterController_jump_0=Module["_emscripten_bind_btKinematicCharacterController_jump_0"]=asm["_emscripten_bind_btKinematicCharacterController_jump_0"];var _emscripten_bind_btKinematicCharacterController_onGround_0=Module["_emscripten_bind_btKinematicCharacterController_onGround_0"]=asm["_emscripten_bind_btKinematicCharacterController_onGround_0"];var _emscripten_bind_btKinematicCharacterController_playerStep_2=Module["_emscripten_bind_btKinematicCharacterController_playerStep_2"]=asm["_emscripten_bind_btKinematicCharacterController_playerStep_2"];var _emscripten_bind_btKinematicCharacterController_preStep_1=Module["_emscripten_bind_btKinematicCharacterController_preStep_1"]=asm["_emscripten_bind_btKinematicCharacterController_preStep_1"];var _emscripten_bind_btKinematicCharacterController_setFallSpeed_1=Module["_emscripten_bind_btKinematicCharacterController_setFallSpeed_1"]=asm["_emscripten_bind_btKinematicCharacterController_setFallSpeed_1"];var _emscripten_bind_btKinematicCharacterController_setGravity_1=Module["_emscripten_bind_btKinematicCharacterController_setGravity_1"]=asm["_emscripten_bind_btKinematicCharacterController_setGravity_1"];var _emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=Module["_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1"]=asm["_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1"];var _emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=Module["_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1"]=asm["_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1"];var _emscripten_bind_btKinematicCharacterController_setMaxSlope_1=Module["_emscripten_bind_btKinematicCharacterController_setMaxSlope_1"]=asm["_emscripten_bind_btKinematicCharacterController_setMaxSlope_1"];var _emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=Module["_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1"]=asm["_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1"];var _emscripten_bind_btKinematicCharacterController_setUp_1=Module["_emscripten_bind_btKinematicCharacterController_setUp_1"]=asm["_emscripten_bind_btKinematicCharacterController_setUp_1"];var _emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=Module["_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1"]=asm["_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1"];var _emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=Module["_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2"]=asm["_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2"];var _emscripten_bind_btKinematicCharacterController_setWalkDirection_1=Module["_emscripten_bind_btKinematicCharacterController_setWalkDirection_1"]=asm["_emscripten_bind_btKinematicCharacterController_setWalkDirection_1"];var _emscripten_bind_btKinematicCharacterController_updateAction_2=Module["_emscripten_bind_btKinematicCharacterController_updateAction_2"]=asm["_emscripten_bind_btKinematicCharacterController_updateAction_2"];var _emscripten_bind_btKinematicCharacterController_warp_1=Module["_emscripten_bind_btKinematicCharacterController_warp_1"]=asm["_emscripten_bind_btKinematicCharacterController_warp_1"];var _emscripten_bind_btManifoldPoint___destroy___0=Module["_emscripten_bind_btManifoldPoint___destroy___0"]=asm["_emscripten_bind_btManifoldPoint___destroy___0"];var _emscripten_bind_btManifoldPoint_getAppliedImpulse_0=Module["_emscripten_bind_btManifoldPoint_getAppliedImpulse_0"]=asm["_emscripten_bind_btManifoldPoint_getAppliedImpulse_0"];var _emscripten_bind_btManifoldPoint_getDistance_0=Module["_emscripten_bind_btManifoldPoint_getDistance_0"]=asm["_emscripten_bind_btManifoldPoint_getDistance_0"];var _emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=Module["_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0"]=asm["_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0"];var _emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=Module["_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0"]=asm["_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0"];var _emscripten_bind_btManifoldPoint_get_m_localPointA_0=Module["_emscripten_bind_btManifoldPoint_get_m_localPointA_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_localPointA_0"];var _emscripten_bind_btManifoldPoint_get_m_localPointB_0=Module["_emscripten_bind_btManifoldPoint_get_m_localPointB_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_localPointB_0"];var _emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=Module["_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0"];var _emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=Module["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0"];var _emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=Module["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0"];var _emscripten_bind_btManifoldPoint_set_m_localPointA_1=Module["_emscripten_bind_btManifoldPoint_set_m_localPointA_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_localPointA_1"];var _emscripten_bind_btManifoldPoint_set_m_localPointB_1=Module["_emscripten_bind_btManifoldPoint_set_m_localPointB_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_localPointB_1"];var _emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=Module["_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1"];var _emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=Module["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1"];var _emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=Module["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1"];var _emscripten_bind_btMatrix3x3___destroy___0=Module["_emscripten_bind_btMatrix3x3___destroy___0"]=asm["_emscripten_bind_btMatrix3x3___destroy___0"];var _emscripten_bind_btMatrix3x3_getRotation_1=Module["_emscripten_bind_btMatrix3x3_getRotation_1"]=asm["_emscripten_bind_btMatrix3x3_getRotation_1"];var _emscripten_bind_btMatrix3x3_getRow_1=Module["_emscripten_bind_btMatrix3x3_getRow_1"]=asm["_emscripten_bind_btMatrix3x3_getRow_1"];var _emscripten_bind_btMatrix3x3_setEulerZYX_3=Module["_emscripten_bind_btMatrix3x3_setEulerZYX_3"]=asm["_emscripten_bind_btMatrix3x3_setEulerZYX_3"];var _emscripten_bind_btMotionState___destroy___0=Module["_emscripten_bind_btMotionState___destroy___0"]=asm["_emscripten_bind_btMotionState___destroy___0"];var _emscripten_bind_btMotionState_getWorldTransform_1=Module["_emscripten_bind_btMotionState_getWorldTransform_1"]=asm["_emscripten_bind_btMotionState_getWorldTransform_1"];var _emscripten_bind_btMotionState_setWorldTransform_1=Module["_emscripten_bind_btMotionState_setWorldTransform_1"]=asm["_emscripten_bind_btMotionState_setWorldTransform_1"];var _emscripten_bind_btOverlappingPairCache___destroy___0=Module["_emscripten_bind_btOverlappingPairCache___destroy___0"]=asm["_emscripten_bind_btOverlappingPairCache___destroy___0"];var _emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=Module["_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1"]=asm["_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1"];var _emscripten_bind_btOverlappingPairCallback___destroy___0=Module["_emscripten_bind_btOverlappingPairCallback___destroy___0"]=asm["_emscripten_bind_btOverlappingPairCallback___destroy___0"];var _emscripten_bind_btPairCachingGhostObject___destroy___0=Module["_emscripten_bind_btPairCachingGhostObject___destroy___0"]=asm["_emscripten_bind_btPairCachingGhostObject___destroy___0"];var _emscripten_bind_btPairCachingGhostObject_activate_0=Module["_emscripten_bind_btPairCachingGhostObject_activate_0"]=asm["_emscripten_bind_btPairCachingGhostObject_activate_0"];var _emscripten_bind_btPairCachingGhostObject_activate_1=Module["_emscripten_bind_btPairCachingGhostObject_activate_1"]=asm["_emscripten_bind_btPairCachingGhostObject_activate_1"];var _emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=Module["_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0"]=asm["_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0"];var _emscripten_bind_btPairCachingGhostObject_forceActivationState_1=Module["_emscripten_bind_btPairCachingGhostObject_forceActivationState_1"]=asm["_emscripten_bind_btPairCachingGhostObject_forceActivationState_1"];var _emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=Module["_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0"];var _emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=Module["_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0"];var _emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=Module["_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0"];var _emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=Module["_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1"]=asm["_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1"];var _emscripten_bind_btPairCachingGhostObject_getUserIndex_0=Module["_emscripten_bind_btPairCachingGhostObject_getUserIndex_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getUserIndex_0"];var _emscripten_bind_btPairCachingGhostObject_getUserPointer_0=Module["_emscripten_bind_btPairCachingGhostObject_getUserPointer_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getUserPointer_0"];var _emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=Module["_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0"];var _emscripten_bind_btPairCachingGhostObject_isActive_0=Module["_emscripten_bind_btPairCachingGhostObject_isActive_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isActive_0"];var _emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=Module["_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0"];var _emscripten_bind_btPairCachingGhostObject_isStaticObject_0=Module["_emscripten_bind_btPairCachingGhostObject_isStaticObject_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isStaticObject_0"];var _emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=Module["_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0"];var _emscripten_bind_btPairCachingGhostObject_setActivationState_1=Module["_emscripten_bind_btPairCachingGhostObject_setActivationState_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setActivationState_1"];var _emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=Module["_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2"]=asm["_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2"];var _emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=Module["_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1"];var _emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1"];var _emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=Module["_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1"];var _emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=Module["_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1"];var _emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1"];var _emscripten_bind_btPairCachingGhostObject_setFriction_1=Module["_emscripten_bind_btPairCachingGhostObject_setFriction_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setFriction_1"];var _emscripten_bind_btPairCachingGhostObject_setRestitution_1=Module["_emscripten_bind_btPairCachingGhostObject_setRestitution_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setRestitution_1"];var _emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=Module["_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1"];var _emscripten_bind_btPairCachingGhostObject_setUserIndex_1=Module["_emscripten_bind_btPairCachingGhostObject_setUserIndex_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setUserIndex_1"];var _emscripten_bind_btPairCachingGhostObject_setUserPointer_1=Module["_emscripten_bind_btPairCachingGhostObject_setUserPointer_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setUserPointer_1"];var _emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=Module["_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1"];var _emscripten_bind_btPersistentManifold___destroy___0=Module["_emscripten_bind_btPersistentManifold___destroy___0"]=asm["_emscripten_bind_btPersistentManifold___destroy___0"];var _emscripten_bind_btPersistentManifold_btPersistentManifold_0=Module["_emscripten_bind_btPersistentManifold_btPersistentManifold_0"]=asm["_emscripten_bind_btPersistentManifold_btPersistentManifold_0"];var _emscripten_bind_btPersistentManifold_getBody0_0=Module["_emscripten_bind_btPersistentManifold_getBody0_0"]=asm["_emscripten_bind_btPersistentManifold_getBody0_0"];var _emscripten_bind_btPersistentManifold_getBody1_0=Module["_emscripten_bind_btPersistentManifold_getBody1_0"]=asm["_emscripten_bind_btPersistentManifold_getBody1_0"];var _emscripten_bind_btPersistentManifold_getContactPoint_1=Module["_emscripten_bind_btPersistentManifold_getContactPoint_1"]=asm["_emscripten_bind_btPersistentManifold_getContactPoint_1"];var _emscripten_bind_btPersistentManifold_getNumContacts_0=Module["_emscripten_bind_btPersistentManifold_getNumContacts_0"]=asm["_emscripten_bind_btPersistentManifold_getNumContacts_0"];var _emscripten_bind_btPoint2PointConstraint___destroy___0=Module["_emscripten_bind_btPoint2PointConstraint___destroy___0"]=asm["_emscripten_bind_btPoint2PointConstraint___destroy___0"];var _emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=Module["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2"]=asm["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2"];var _emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=Module["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4"]=asm["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4"];var _emscripten_bind_btPoint2PointConstraint_enableFeedback_1=Module["_emscripten_bind_btPoint2PointConstraint_enableFeedback_1"]=asm["_emscripten_bind_btPoint2PointConstraint_enableFeedback_1"];var _emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btPoint2PointConstraint_getParam_2=Module["_emscripten_bind_btPoint2PointConstraint_getParam_2"]=asm["_emscripten_bind_btPoint2PointConstraint_getParam_2"];var _emscripten_bind_btPoint2PointConstraint_getPivotInA_0=Module["_emscripten_bind_btPoint2PointConstraint_getPivotInA_0"]=asm["_emscripten_bind_btPoint2PointConstraint_getPivotInA_0"];var _emscripten_bind_btPoint2PointConstraint_getPivotInB_0=Module["_emscripten_bind_btPoint2PointConstraint_getPivotInB_0"]=asm["_emscripten_bind_btPoint2PointConstraint_getPivotInB_0"];var _emscripten_bind_btPoint2PointConstraint_get_m_setting_0=Module["_emscripten_bind_btPoint2PointConstraint_get_m_setting_0"]=asm["_emscripten_bind_btPoint2PointConstraint_get_m_setting_0"];var _emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btPoint2PointConstraint_setParam_3=Module["_emscripten_bind_btPoint2PointConstraint_setParam_3"]=asm["_emscripten_bind_btPoint2PointConstraint_setParam_3"];var _emscripten_bind_btPoint2PointConstraint_setPivotA_1=Module["_emscripten_bind_btPoint2PointConstraint_setPivotA_1"]=asm["_emscripten_bind_btPoint2PointConstraint_setPivotA_1"];var _emscripten_bind_btPoint2PointConstraint_setPivotB_1=Module["_emscripten_bind_btPoint2PointConstraint_setPivotB_1"]=asm["_emscripten_bind_btPoint2PointConstraint_setPivotB_1"];var _emscripten_bind_btPoint2PointConstraint_set_m_setting_1=Module["_emscripten_bind_btPoint2PointConstraint_set_m_setting_1"]=asm["_emscripten_bind_btPoint2PointConstraint_set_m_setting_1"];var _emscripten_bind_btQuadWord___destroy___0=Module["_emscripten_bind_btQuadWord___destroy___0"]=asm["_emscripten_bind_btQuadWord___destroy___0"];var _emscripten_bind_btQuadWord_setW_1=Module["_emscripten_bind_btQuadWord_setW_1"]=asm["_emscripten_bind_btQuadWord_setW_1"];var _emscripten_bind_btQuadWord_setX_1=Module["_emscripten_bind_btQuadWord_setX_1"]=asm["_emscripten_bind_btQuadWord_setX_1"];var _emscripten_bind_btQuadWord_setY_1=Module["_emscripten_bind_btQuadWord_setY_1"]=asm["_emscripten_bind_btQuadWord_setY_1"];var _emscripten_bind_btQuadWord_setZ_1=Module["_emscripten_bind_btQuadWord_setZ_1"]=asm["_emscripten_bind_btQuadWord_setZ_1"];var _emscripten_bind_btQuadWord_w_0=Module["_emscripten_bind_btQuadWord_w_0"]=asm["_emscripten_bind_btQuadWord_w_0"];var _emscripten_bind_btQuadWord_x_0=Module["_emscripten_bind_btQuadWord_x_0"]=asm["_emscripten_bind_btQuadWord_x_0"];var _emscripten_bind_btQuadWord_y_0=Module["_emscripten_bind_btQuadWord_y_0"]=asm["_emscripten_bind_btQuadWord_y_0"];var _emscripten_bind_btQuadWord_z_0=Module["_emscripten_bind_btQuadWord_z_0"]=asm["_emscripten_bind_btQuadWord_z_0"];var _emscripten_bind_btQuaternion___destroy___0=Module["_emscripten_bind_btQuaternion___destroy___0"]=asm["_emscripten_bind_btQuaternion___destroy___0"];var _emscripten_bind_btQuaternion_angleShortestPath_1=Module["_emscripten_bind_btQuaternion_angleShortestPath_1"]=asm["_emscripten_bind_btQuaternion_angleShortestPath_1"];var _emscripten_bind_btQuaternion_angle_1=Module["_emscripten_bind_btQuaternion_angle_1"]=asm["_emscripten_bind_btQuaternion_angle_1"];var _emscripten_bind_btQuaternion_btQuaternion_4=Module["_emscripten_bind_btQuaternion_btQuaternion_4"]=asm["_emscripten_bind_btQuaternion_btQuaternion_4"];var _emscripten_bind_btQuaternion_dot_1=Module["_emscripten_bind_btQuaternion_dot_1"]=asm["_emscripten_bind_btQuaternion_dot_1"];var _emscripten_bind_btQuaternion_getAngleShortestPath_0=Module["_emscripten_bind_btQuaternion_getAngleShortestPath_0"]=asm["_emscripten_bind_btQuaternion_getAngleShortestPath_0"];var _emscripten_bind_btQuaternion_getAngle_0=Module["_emscripten_bind_btQuaternion_getAngle_0"]=asm["_emscripten_bind_btQuaternion_getAngle_0"];var _emscripten_bind_btQuaternion_getAxis_0=Module["_emscripten_bind_btQuaternion_getAxis_0"]=asm["_emscripten_bind_btQuaternion_getAxis_0"];var _emscripten_bind_btQuaternion_inverse_0=Module["_emscripten_bind_btQuaternion_inverse_0"]=asm["_emscripten_bind_btQuaternion_inverse_0"];var _emscripten_bind_btQuaternion_length2_0=Module["_emscripten_bind_btQuaternion_length2_0"]=asm["_emscripten_bind_btQuaternion_length2_0"];var _emscripten_bind_btQuaternion_length_0=Module["_emscripten_bind_btQuaternion_length_0"]=asm["_emscripten_bind_btQuaternion_length_0"];var _emscripten_bind_btQuaternion_normalize_0=Module["_emscripten_bind_btQuaternion_normalize_0"]=asm["_emscripten_bind_btQuaternion_normalize_0"];var _emscripten_bind_btQuaternion_normalized_0=Module["_emscripten_bind_btQuaternion_normalized_0"]=asm["_emscripten_bind_btQuaternion_normalized_0"];var _emscripten_bind_btQuaternion_op_add_1=Module["_emscripten_bind_btQuaternion_op_add_1"]=asm["_emscripten_bind_btQuaternion_op_add_1"];var _emscripten_bind_btQuaternion_op_div_1=Module["_emscripten_bind_btQuaternion_op_div_1"]=asm["_emscripten_bind_btQuaternion_op_div_1"];var _emscripten_bind_btQuaternion_op_mul_1=Module["_emscripten_bind_btQuaternion_op_mul_1"]=asm["_emscripten_bind_btQuaternion_op_mul_1"];var _emscripten_bind_btQuaternion_op_mulq_1=Module["_emscripten_bind_btQuaternion_op_mulq_1"]=asm["_emscripten_bind_btQuaternion_op_mulq_1"];var _emscripten_bind_btQuaternion_op_sub_1=Module["_emscripten_bind_btQuaternion_op_sub_1"]=asm["_emscripten_bind_btQuaternion_op_sub_1"];var _emscripten_bind_btQuaternion_setEulerZYX_3=Module["_emscripten_bind_btQuaternion_setEulerZYX_3"]=asm["_emscripten_bind_btQuaternion_setEulerZYX_3"];var _emscripten_bind_btQuaternion_setEuler_3=Module["_emscripten_bind_btQuaternion_setEuler_3"]=asm["_emscripten_bind_btQuaternion_setEuler_3"];var _emscripten_bind_btQuaternion_setRotation_2=Module["_emscripten_bind_btQuaternion_setRotation_2"]=asm["_emscripten_bind_btQuaternion_setRotation_2"];var _emscripten_bind_btQuaternion_setValue_4=Module["_emscripten_bind_btQuaternion_setValue_4"]=asm["_emscripten_bind_btQuaternion_setValue_4"];var _emscripten_bind_btQuaternion_setW_1=Module["_emscripten_bind_btQuaternion_setW_1"]=asm["_emscripten_bind_btQuaternion_setW_1"];var _emscripten_bind_btQuaternion_setX_1=Module["_emscripten_bind_btQuaternion_setX_1"]=asm["_emscripten_bind_btQuaternion_setX_1"];var _emscripten_bind_btQuaternion_setY_1=Module["_emscripten_bind_btQuaternion_setY_1"]=asm["_emscripten_bind_btQuaternion_setY_1"];var _emscripten_bind_btQuaternion_setZ_1=Module["_emscripten_bind_btQuaternion_setZ_1"]=asm["_emscripten_bind_btQuaternion_setZ_1"];var _emscripten_bind_btQuaternion_w_0=Module["_emscripten_bind_btQuaternion_w_0"]=asm["_emscripten_bind_btQuaternion_w_0"];var _emscripten_bind_btQuaternion_x_0=Module["_emscripten_bind_btQuaternion_x_0"]=asm["_emscripten_bind_btQuaternion_x_0"];var _emscripten_bind_btQuaternion_y_0=Module["_emscripten_bind_btQuaternion_y_0"]=asm["_emscripten_bind_btQuaternion_y_0"];var _emscripten_bind_btQuaternion_z_0=Module["_emscripten_bind_btQuaternion_z_0"]=asm["_emscripten_bind_btQuaternion_z_0"];var _emscripten_bind_btRaycastVehicle___destroy___0=Module["_emscripten_bind_btRaycastVehicle___destroy___0"]=asm["_emscripten_bind_btRaycastVehicle___destroy___0"];var _emscripten_bind_btRaycastVehicle_addWheel_7=Module["_emscripten_bind_btRaycastVehicle_addWheel_7"]=asm["_emscripten_bind_btRaycastVehicle_addWheel_7"];var _emscripten_bind_btRaycastVehicle_applyEngineForce_2=Module["_emscripten_bind_btRaycastVehicle_applyEngineForce_2"]=asm["_emscripten_bind_btRaycastVehicle_applyEngineForce_2"];var _emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=Module["_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3"]=asm["_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3"];var _emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=Module["_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0"]=asm["_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0"];var _emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=Module["_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0"]=asm["_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0"];var _emscripten_bind_btRaycastVehicle_getForwardAxis_0=Module["_emscripten_bind_btRaycastVehicle_getForwardAxis_0"]=asm["_emscripten_bind_btRaycastVehicle_getForwardAxis_0"];var _emscripten_bind_btRaycastVehicle_getForwardVector_0=Module["_emscripten_bind_btRaycastVehicle_getForwardVector_0"]=asm["_emscripten_bind_btRaycastVehicle_getForwardVector_0"];var _emscripten_bind_btRaycastVehicle_getNumWheels_0=Module["_emscripten_bind_btRaycastVehicle_getNumWheels_0"]=asm["_emscripten_bind_btRaycastVehicle_getNumWheels_0"];var _emscripten_bind_btRaycastVehicle_getRightAxis_0=Module["_emscripten_bind_btRaycastVehicle_getRightAxis_0"]=asm["_emscripten_bind_btRaycastVehicle_getRightAxis_0"];var _emscripten_bind_btRaycastVehicle_getRigidBody_0=Module["_emscripten_bind_btRaycastVehicle_getRigidBody_0"]=asm["_emscripten_bind_btRaycastVehicle_getRigidBody_0"];var _emscripten_bind_btRaycastVehicle_getSteeringValue_1=Module["_emscripten_bind_btRaycastVehicle_getSteeringValue_1"]=asm["_emscripten_bind_btRaycastVehicle_getSteeringValue_1"];var _emscripten_bind_btRaycastVehicle_getUpAxis_0=Module["_emscripten_bind_btRaycastVehicle_getUpAxis_0"]=asm["_emscripten_bind_btRaycastVehicle_getUpAxis_0"];var _emscripten_bind_btRaycastVehicle_getUserConstraintId_0=Module["_emscripten_bind_btRaycastVehicle_getUserConstraintId_0"]=asm["_emscripten_bind_btRaycastVehicle_getUserConstraintId_0"];var _emscripten_bind_btRaycastVehicle_getUserConstraintType_0=Module["_emscripten_bind_btRaycastVehicle_getUserConstraintType_0"]=asm["_emscripten_bind_btRaycastVehicle_getUserConstraintType_0"];var _emscripten_bind_btRaycastVehicle_getWheelInfo_1=Module["_emscripten_bind_btRaycastVehicle_getWheelInfo_1"]=asm["_emscripten_bind_btRaycastVehicle_getWheelInfo_1"];var _emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=Module["_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1"]=asm["_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1"];var _emscripten_bind_btRaycastVehicle_rayCast_1=Module["_emscripten_bind_btRaycastVehicle_rayCast_1"]=asm["_emscripten_bind_btRaycastVehicle_rayCast_1"];var _emscripten_bind_btRaycastVehicle_resetSuspension_0=Module["_emscripten_bind_btRaycastVehicle_resetSuspension_0"]=asm["_emscripten_bind_btRaycastVehicle_resetSuspension_0"];var _emscripten_bind_btRaycastVehicle_setBrake_2=Module["_emscripten_bind_btRaycastVehicle_setBrake_2"]=asm["_emscripten_bind_btRaycastVehicle_setBrake_2"];var _emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=Module["_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3"]=asm["_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3"];var _emscripten_bind_btRaycastVehicle_setPitchControl_1=Module["_emscripten_bind_btRaycastVehicle_setPitchControl_1"]=asm["_emscripten_bind_btRaycastVehicle_setPitchControl_1"];var _emscripten_bind_btRaycastVehicle_setSteeringValue_2=Module["_emscripten_bind_btRaycastVehicle_setSteeringValue_2"]=asm["_emscripten_bind_btRaycastVehicle_setSteeringValue_2"];var _emscripten_bind_btRaycastVehicle_setUserConstraintId_1=Module["_emscripten_bind_btRaycastVehicle_setUserConstraintId_1"]=asm["_emscripten_bind_btRaycastVehicle_setUserConstraintId_1"];var _emscripten_bind_btRaycastVehicle_setUserConstraintType_1=Module["_emscripten_bind_btRaycastVehicle_setUserConstraintType_1"]=asm["_emscripten_bind_btRaycastVehicle_setUserConstraintType_1"];var _emscripten_bind_btRaycastVehicle_updateAction_2=Module["_emscripten_bind_btRaycastVehicle_updateAction_2"]=asm["_emscripten_bind_btRaycastVehicle_updateAction_2"];var _emscripten_bind_btRaycastVehicle_updateFriction_1=Module["_emscripten_bind_btRaycastVehicle_updateFriction_1"]=asm["_emscripten_bind_btRaycastVehicle_updateFriction_1"];var _emscripten_bind_btRaycastVehicle_updateSuspension_1=Module["_emscripten_bind_btRaycastVehicle_updateSuspension_1"]=asm["_emscripten_bind_btRaycastVehicle_updateSuspension_1"];var _emscripten_bind_btRaycastVehicle_updateVehicle_1=Module["_emscripten_bind_btRaycastVehicle_updateVehicle_1"]=asm["_emscripten_bind_btRaycastVehicle_updateVehicle_1"];var _emscripten_bind_btRaycastVehicle_updateWheelTransform_2=Module["_emscripten_bind_btRaycastVehicle_updateWheelTransform_2"]=asm["_emscripten_bind_btRaycastVehicle_updateWheelTransform_2"];var _emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=Module["_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1"]=asm["_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1"];var _emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=Module["_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2"]=asm["_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2"];var _emscripten_bind_btRigidBodyConstructionInfo___destroy___0=Module["_emscripten_bind_btRigidBodyConstructionInfo___destroy___0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo___destroy___0"];var _emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=Module["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3"];var _emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=Module["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1"];var _emscripten_bind_btRigidBody___destroy___0=Module["_emscripten_bind_btRigidBody___destroy___0"]=asm["_emscripten_bind_btRigidBody___destroy___0"];var _emscripten_bind_btRigidBody_activate_0=Module["_emscripten_bind_btRigidBody_activate_0"]=asm["_emscripten_bind_btRigidBody_activate_0"];var _emscripten_bind_btRigidBody_activate_1=Module["_emscripten_bind_btRigidBody_activate_1"]=asm["_emscripten_bind_btRigidBody_activate_1"];var _emscripten_bind_btRigidBody_applyCentralForce_1=Module["_emscripten_bind_btRigidBody_applyCentralForce_1"]=asm["_emscripten_bind_btRigidBody_applyCentralForce_1"];var _emscripten_bind_btRigidBody_applyCentralImpulse_1=Module["_emscripten_bind_btRigidBody_applyCentralImpulse_1"]=asm["_emscripten_bind_btRigidBody_applyCentralImpulse_1"];var _emscripten_bind_btRigidBody_applyForce_2=Module["_emscripten_bind_btRigidBody_applyForce_2"]=asm["_emscripten_bind_btRigidBody_applyForce_2"];var _emscripten_bind_btRigidBody_applyGravity_0=Module["_emscripten_bind_btRigidBody_applyGravity_0"]=asm["_emscripten_bind_btRigidBody_applyGravity_0"];var _emscripten_bind_btRigidBody_applyImpulse_2=Module["_emscripten_bind_btRigidBody_applyImpulse_2"]=asm["_emscripten_bind_btRigidBody_applyImpulse_2"];var _emscripten_bind_btRigidBody_applyTorqueImpulse_1=Module["_emscripten_bind_btRigidBody_applyTorqueImpulse_1"]=asm["_emscripten_bind_btRigidBody_applyTorqueImpulse_1"];var _emscripten_bind_btRigidBody_applyTorque_1=Module["_emscripten_bind_btRigidBody_applyTorque_1"]=asm["_emscripten_bind_btRigidBody_applyTorque_1"];var _emscripten_bind_btRigidBody_btRigidBody_1=Module["_emscripten_bind_btRigidBody_btRigidBody_1"]=asm["_emscripten_bind_btRigidBody_btRigidBody_1"];var _emscripten_bind_btRigidBody_forceActivationState_1=Module["_emscripten_bind_btRigidBody_forceActivationState_1"]=asm["_emscripten_bind_btRigidBody_forceActivationState_1"];var _emscripten_bind_btRigidBody_getAabb_2=Module["_emscripten_bind_btRigidBody_getAabb_2"]=asm["_emscripten_bind_btRigidBody_getAabb_2"];var _emscripten_bind_btRigidBody_getAngularVelocity_0=Module["_emscripten_bind_btRigidBody_getAngularVelocity_0"]=asm["_emscripten_bind_btRigidBody_getAngularVelocity_0"];var _emscripten_bind_btRigidBody_getCenterOfMassTransform_0=Module["_emscripten_bind_btRigidBody_getCenterOfMassTransform_0"]=asm["_emscripten_bind_btRigidBody_getCenterOfMassTransform_0"];var _emscripten_bind_btRigidBody_getCollisionFlags_0=Module["_emscripten_bind_btRigidBody_getCollisionFlags_0"]=asm["_emscripten_bind_btRigidBody_getCollisionFlags_0"];var _emscripten_bind_btRigidBody_getCollisionShape_0=Module["_emscripten_bind_btRigidBody_getCollisionShape_0"]=asm["_emscripten_bind_btRigidBody_getCollisionShape_0"];var _emscripten_bind_btRigidBody_getGravity_0=Module["_emscripten_bind_btRigidBody_getGravity_0"]=asm["_emscripten_bind_btRigidBody_getGravity_0"];var _emscripten_bind_btRigidBody_getLinearVelocity_0=Module["_emscripten_bind_btRigidBody_getLinearVelocity_0"]=asm["_emscripten_bind_btRigidBody_getLinearVelocity_0"];var _emscripten_bind_btRigidBody_getMotionState_0=Module["_emscripten_bind_btRigidBody_getMotionState_0"]=asm["_emscripten_bind_btRigidBody_getMotionState_0"];var _emscripten_bind_btRigidBody_getUserIndex_0=Module["_emscripten_bind_btRigidBody_getUserIndex_0"]=asm["_emscripten_bind_btRigidBody_getUserIndex_0"];var _emscripten_bind_btRigidBody_getUserPointer_0=Module["_emscripten_bind_btRigidBody_getUserPointer_0"]=asm["_emscripten_bind_btRigidBody_getUserPointer_0"];var _emscripten_bind_btRigidBody_getWorldTransform_0=Module["_emscripten_bind_btRigidBody_getWorldTransform_0"]=asm["_emscripten_bind_btRigidBody_getWorldTransform_0"];var _emscripten_bind_btRigidBody_isActive_0=Module["_emscripten_bind_btRigidBody_isActive_0"]=asm["_emscripten_bind_btRigidBody_isActive_0"];var _emscripten_bind_btRigidBody_isKinematicObject_0=Module["_emscripten_bind_btRigidBody_isKinematicObject_0"]=asm["_emscripten_bind_btRigidBody_isKinematicObject_0"];var _emscripten_bind_btRigidBody_isStaticObject_0=Module["_emscripten_bind_btRigidBody_isStaticObject_0"]=asm["_emscripten_bind_btRigidBody_isStaticObject_0"];var _emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=Module["_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0"]=asm["_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0"];var _emscripten_bind_btRigidBody_setActivationState_1=Module["_emscripten_bind_btRigidBody_setActivationState_1"]=asm["_emscripten_bind_btRigidBody_setActivationState_1"];var _emscripten_bind_btRigidBody_setAngularFactor_1=Module["_emscripten_bind_btRigidBody_setAngularFactor_1"]=asm["_emscripten_bind_btRigidBody_setAngularFactor_1"];var _emscripten_bind_btRigidBody_setAngularVelocity_1=Module["_emscripten_bind_btRigidBody_setAngularVelocity_1"]=asm["_emscripten_bind_btRigidBody_setAngularVelocity_1"];var _emscripten_bind_btRigidBody_setAnisotropicFriction_2=Module["_emscripten_bind_btRigidBody_setAnisotropicFriction_2"]=asm["_emscripten_bind_btRigidBody_setAnisotropicFriction_2"];var _emscripten_bind_btRigidBody_setCcdMotionThreshold_1=Module["_emscripten_bind_btRigidBody_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btRigidBody_setCcdMotionThreshold_1"];var _emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1"];var _emscripten_bind_btRigidBody_setCenterOfMassTransform_1=Module["_emscripten_bind_btRigidBody_setCenterOfMassTransform_1"]=asm["_emscripten_bind_btRigidBody_setCenterOfMassTransform_1"];var _emscripten_bind_btRigidBody_setCollisionFlags_1=Module["_emscripten_bind_btRigidBody_setCollisionFlags_1"]=asm["_emscripten_bind_btRigidBody_setCollisionFlags_1"];var _emscripten_bind_btRigidBody_setCollisionShape_1=Module["_emscripten_bind_btRigidBody_setCollisionShape_1"]=asm["_emscripten_bind_btRigidBody_setCollisionShape_1"];var _emscripten_bind_btRigidBody_setContactProcessingThreshold_1=Module["_emscripten_bind_btRigidBody_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btRigidBody_setContactProcessingThreshold_1"];var _emscripten_bind_btRigidBody_setDamping_2=Module["_emscripten_bind_btRigidBody_setDamping_2"]=asm["_emscripten_bind_btRigidBody_setDamping_2"];var _emscripten_bind_btRigidBody_setFriction_1=Module["_emscripten_bind_btRigidBody_setFriction_1"]=asm["_emscripten_bind_btRigidBody_setFriction_1"];var _emscripten_bind_btRigidBody_setGravity_1=Module["_emscripten_bind_btRigidBody_setGravity_1"]=asm["_emscripten_bind_btRigidBody_setGravity_1"];var _emscripten_bind_btRigidBody_setLinearFactor_1=Module["_emscripten_bind_btRigidBody_setLinearFactor_1"]=asm["_emscripten_bind_btRigidBody_setLinearFactor_1"];var _emscripten_bind_btRigidBody_setLinearVelocity_1=Module["_emscripten_bind_btRigidBody_setLinearVelocity_1"]=asm["_emscripten_bind_btRigidBody_setLinearVelocity_1"];var _emscripten_bind_btRigidBody_setMassProps_2=Module["_emscripten_bind_btRigidBody_setMassProps_2"]=asm["_emscripten_bind_btRigidBody_setMassProps_2"];var _emscripten_bind_btRigidBody_setMotionState_1=Module["_emscripten_bind_btRigidBody_setMotionState_1"]=asm["_emscripten_bind_btRigidBody_setMotionState_1"];var _emscripten_bind_btRigidBody_setRestitution_1=Module["_emscripten_bind_btRigidBody_setRestitution_1"]=asm["_emscripten_bind_btRigidBody_setRestitution_1"];var _emscripten_bind_btRigidBody_setRollingFriction_1=Module["_emscripten_bind_btRigidBody_setRollingFriction_1"]=asm["_emscripten_bind_btRigidBody_setRollingFriction_1"];var _emscripten_bind_btRigidBody_setSleepingThresholds_2=Module["_emscripten_bind_btRigidBody_setSleepingThresholds_2"]=asm["_emscripten_bind_btRigidBody_setSleepingThresholds_2"];var _emscripten_bind_btRigidBody_setUserIndex_1=Module["_emscripten_bind_btRigidBody_setUserIndex_1"]=asm["_emscripten_bind_btRigidBody_setUserIndex_1"];var _emscripten_bind_btRigidBody_setUserPointer_1=Module["_emscripten_bind_btRigidBody_setUserPointer_1"]=asm["_emscripten_bind_btRigidBody_setUserPointer_1"];var _emscripten_bind_btRigidBody_setWorldTransform_1=Module["_emscripten_bind_btRigidBody_setWorldTransform_1"]=asm["_emscripten_bind_btRigidBody_setWorldTransform_1"];var _emscripten_bind_btRigidBody_upcast_1=Module["_emscripten_bind_btRigidBody_upcast_1"]=asm["_emscripten_bind_btRigidBody_upcast_1"];var _emscripten_bind_btRigidBody_updateInertiaTensor_0=Module["_emscripten_bind_btRigidBody_updateInertiaTensor_0"]=asm["_emscripten_bind_btRigidBody_updateInertiaTensor_0"];var _emscripten_bind_btRotationalLimitMotor___destroy___0=Module["_emscripten_bind_btRotationalLimitMotor___destroy___0"]=asm["_emscripten_bind_btRotationalLimitMotor___destroy___0"];var _emscripten_bind_btRotationalLimitMotor_btRotationalLimitMotor_0=Module["_emscripten_bind_btRotationalLimitMotor_btRotationalLimitMotor_0"]=asm["_emscripten_bind_btRotationalLimitMotor_btRotationalLimitMotor_0"];var _emscripten_bind_btRotationalLimitMotor_btRotationalLimitMotor_1=Module["_emscripten_bind_btRotationalLimitMotor_btRotationalLimitMotor_1"]=asm["_emscripten_bind_btRotationalLimitMotor_btRotationalLimitMotor_1"];var _emscripten_bind_btRotationalLimitMotor_get_m_enableMotor_0=Module["_emscripten_bind_btRotationalLimitMotor_get_m_enableMotor_0"]=asm["_emscripten_bind_btRotationalLimitMotor_get_m_enableMotor_0"];var _emscripten_bind_btRotationalLimitMotor_get_m_hiLimit_0=Module["_emscripten_bind_btRotationalLimitMotor_get_m_hiLimit_0"]=asm["_emscripten_bind_btRotationalLimitMotor_get_m_hiLimit_0"];var _emscripten_bind_btRotationalLimitMotor_get_m_loLimit_0=Module["_emscripten_bind_btRotationalLimitMotor_get_m_loLimit_0"]=asm["_emscripten_bind_btRotationalLimitMotor_get_m_loLimit_0"];var _emscripten_bind_btRotationalLimitMotor_get_m_maxMotorForce_0=Module["_emscripten_bind_btRotationalLimitMotor_get_m_maxMotorForce_0"]=asm["_emscripten_bind_btRotationalLimitMotor_get_m_maxMotorForce_0"];var _emscripten_bind_btRotationalLimitMotor_get_m_targetVelocity_0=Module["_emscripten_bind_btRotationalLimitMotor_get_m_targetVelocity_0"]=asm["_emscripten_bind_btRotationalLimitMotor_get_m_targetVelocity_0"];var _emscripten_bind_btRotationalLimitMotor_isLimited_0=Module["_emscripten_bind_btRotationalLimitMotor_isLimited_0"]=asm["_emscripten_bind_btRotationalLimitMotor_isLimited_0"];var _emscripten_bind_btRotationalLimitMotor_needApplyTorques_0=Module["_emscripten_bind_btRotationalLimitMotor_needApplyTorques_0"]=asm["_emscripten_bind_btRotationalLimitMotor_needApplyTorques_0"];var _emscripten_bind_btRotationalLimitMotor_set_m_enableMotor_1=Module["_emscripten_bind_btRotationalLimitMotor_set_m_enableMotor_1"]=asm["_emscripten_bind_btRotationalLimitMotor_set_m_enableMotor_1"];var _emscripten_bind_btRotationalLimitMotor_set_m_hiLimit_1=Module["_emscripten_bind_btRotationalLimitMotor_set_m_hiLimit_1"]=asm["_emscripten_bind_btRotationalLimitMotor_set_m_hiLimit_1"];var _emscripten_bind_btRotationalLimitMotor_set_m_loLimit_1=Module["_emscripten_bind_btRotationalLimitMotor_set_m_loLimit_1"]=asm["_emscripten_bind_btRotationalLimitMotor_set_m_loLimit_1"];var _emscripten_bind_btRotationalLimitMotor_set_m_maxMotorForce_1=Module["_emscripten_bind_btRotationalLimitMotor_set_m_maxMotorForce_1"]=asm["_emscripten_bind_btRotationalLimitMotor_set_m_maxMotorForce_1"];var _emscripten_bind_btRotationalLimitMotor_set_m_targetVelocity_1=Module["_emscripten_bind_btRotationalLimitMotor_set_m_targetVelocity_1"]=asm["_emscripten_bind_btRotationalLimitMotor_set_m_targetVelocity_1"];var _emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=Module["_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0"]=asm["_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0"];var _emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=Module["_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0"]=asm["_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0"];var _emscripten_bind_btSliderConstraint___destroy___0=Module["_emscripten_bind_btSliderConstraint___destroy___0"]=asm["_emscripten_bind_btSliderConstraint___destroy___0"];var _emscripten_bind_btSliderConstraint_btSliderConstraint_3=Module["_emscripten_bind_btSliderConstraint_btSliderConstraint_3"]=asm["_emscripten_bind_btSliderConstraint_btSliderConstraint_3"];var _emscripten_bind_btSliderConstraint_btSliderConstraint_5=Module["_emscripten_bind_btSliderConstraint_btSliderConstraint_5"]=asm["_emscripten_bind_btSliderConstraint_btSliderConstraint_5"];var _emscripten_bind_btSliderConstraint_enableFeedback_1=Module["_emscripten_bind_btSliderConstraint_enableFeedback_1"]=asm["_emscripten_bind_btSliderConstraint_enableFeedback_1"];var _emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btSliderConstraint_getParam_2=Module["_emscripten_bind_btSliderConstraint_getParam_2"]=asm["_emscripten_bind_btSliderConstraint_getParam_2"];var _emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btSliderConstraint_setLowerAngLimit_1=Module["_emscripten_bind_btSliderConstraint_setLowerAngLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setLowerAngLimit_1"];var _emscripten_bind_btSliderConstraint_setLowerLinLimit_1=Module["_emscripten_bind_btSliderConstraint_setLowerLinLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setLowerLinLimit_1"];var _emscripten_bind_btSliderConstraint_setParam_3=Module["_emscripten_bind_btSliderConstraint_setParam_3"]=asm["_emscripten_bind_btSliderConstraint_setParam_3"];var _emscripten_bind_btSliderConstraint_setUpperAngLimit_1=Module["_emscripten_bind_btSliderConstraint_setUpperAngLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setUpperAngLimit_1"];var _emscripten_bind_btSliderConstraint_setUpperLinLimit_1=Module["_emscripten_bind_btSliderConstraint_setUpperLinLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setUpperLinLimit_1"];var _emscripten_bind_btSoftBodyArray___destroy___0=Module["_emscripten_bind_btSoftBodyArray___destroy___0"]=asm["_emscripten_bind_btSoftBodyArray___destroy___0"];var _emscripten_bind_btSoftBodyArray_at_1=Module["_emscripten_bind_btSoftBodyArray_at_1"]=asm["_emscripten_bind_btSoftBodyArray_at_1"];var _emscripten_bind_btSoftBodyArray_size_0=Module["_emscripten_bind_btSoftBodyArray_size_0"]=asm["_emscripten_bind_btSoftBodyArray_size_0"];var _emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=Module["_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4"];var _emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=Module["_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4"];var _emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=Module["_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5"];var _emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=Module["_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10"]=asm["_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10"];var _emscripten_bind_btSoftBodyHelpers_CreatePatch_9=Module["_emscripten_bind_btSoftBodyHelpers_CreatePatch_9"]=asm["_emscripten_bind_btSoftBodyHelpers_CreatePatch_9"];var _emscripten_bind_btSoftBodyHelpers_CreateRope_5=Module["_emscripten_bind_btSoftBodyHelpers_CreateRope_5"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateRope_5"];var _emscripten_bind_btSoftBodyHelpers___destroy___0=Module["_emscripten_bind_btSoftBodyHelpers___destroy___0"]=asm["_emscripten_bind_btSoftBodyHelpers___destroy___0"];var _emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=Module["_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0"]=asm["_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0"];var _emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=Module["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0"]=asm["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0"];var _emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=Module["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0"]=asm["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0"];var _emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=Module["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1"]=asm["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1"];var _emscripten_bind_btSoftBodySolver___destroy___0=Module["_emscripten_bind_btSoftBodySolver___destroy___0"]=asm["_emscripten_bind_btSoftBodySolver___destroy___0"];var _emscripten_bind_btSoftBodyWorldInfo___destroy___0=Module["_emscripten_bind_btSoftBodyWorldInfo___destroy___0"]=asm["_emscripten_bind_btSoftBodyWorldInfo___destroy___0"];var _emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=Module["_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0"];var _emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1"];var _emscripten_bind_btSoftBody___destroy___0=Module["_emscripten_bind_btSoftBody___destroy___0"]=asm["_emscripten_bind_btSoftBody___destroy___0"];var _emscripten_bind_btSoftBody_activate_0=Module["_emscripten_bind_btSoftBody_activate_0"]=asm["_emscripten_bind_btSoftBody_activate_0"];var _emscripten_bind_btSoftBody_activate_1=Module["_emscripten_bind_btSoftBody_activate_1"]=asm["_emscripten_bind_btSoftBody_activate_1"];var _emscripten_bind_btSoftBody_appendAnchor_4=Module["_emscripten_bind_btSoftBody_appendAnchor_4"]=asm["_emscripten_bind_btSoftBody_appendAnchor_4"];var _emscripten_bind_btSoftBody_appendFace_4=Module["_emscripten_bind_btSoftBody_appendFace_4"]=asm["_emscripten_bind_btSoftBody_appendFace_4"];var _emscripten_bind_btSoftBody_appendLinearJoint_2=Module["_emscripten_bind_btSoftBody_appendLinearJoint_2"]=asm["_emscripten_bind_btSoftBody_appendLinearJoint_2"];var _emscripten_bind_btSoftBody_appendLink_4=Module["_emscripten_bind_btSoftBody_appendLink_4"]=asm["_emscripten_bind_btSoftBody_appendLink_4"];var _emscripten_bind_btSoftBody_appendMaterial_0=Module["_emscripten_bind_btSoftBody_appendMaterial_0"]=asm["_emscripten_bind_btSoftBody_appendMaterial_0"];var _emscripten_bind_btSoftBody_appendNode_2=Module["_emscripten_bind_btSoftBody_appendNode_2"]=asm["_emscripten_bind_btSoftBody_appendNode_2"];var _emscripten_bind_btSoftBody_appendTetra_5=Module["_emscripten_bind_btSoftBody_appendTetra_5"]=asm["_emscripten_bind_btSoftBody_appendTetra_5"];var _emscripten_bind_btSoftBody_btSoftBody_4=Module["_emscripten_bind_btSoftBody_btSoftBody_4"]=asm["_emscripten_bind_btSoftBody_btSoftBody_4"];var _emscripten_bind_btSoftBody_checkFace_3=Module["_emscripten_bind_btSoftBody_checkFace_3"]=asm["_emscripten_bind_btSoftBody_checkFace_3"];var _emscripten_bind_btSoftBody_checkLink_2=Module["_emscripten_bind_btSoftBody_checkLink_2"]=asm["_emscripten_bind_btSoftBody_checkLink_2"];var _emscripten_bind_btSoftBody_forceActivationState_1=Module["_emscripten_bind_btSoftBody_forceActivationState_1"]=asm["_emscripten_bind_btSoftBody_forceActivationState_1"];var _emscripten_bind_btSoftBody_generateBendingConstraints_2=Module["_emscripten_bind_btSoftBody_generateBendingConstraints_2"]=asm["_emscripten_bind_btSoftBody_generateBendingConstraints_2"];var _emscripten_bind_btSoftBody_generateClusters_1=Module["_emscripten_bind_btSoftBody_generateClusters_1"]=asm["_emscripten_bind_btSoftBody_generateClusters_1"];var _emscripten_bind_btSoftBody_generateClusters_2=Module["_emscripten_bind_btSoftBody_generateClusters_2"]=asm["_emscripten_bind_btSoftBody_generateClusters_2"];var _emscripten_bind_btSoftBody_getCollisionFlags_0=Module["_emscripten_bind_btSoftBody_getCollisionFlags_0"]=asm["_emscripten_bind_btSoftBody_getCollisionFlags_0"];var _emscripten_bind_btSoftBody_getCollisionShape_0=Module["_emscripten_bind_btSoftBody_getCollisionShape_0"]=asm["_emscripten_bind_btSoftBody_getCollisionShape_0"];var _emscripten_bind_btSoftBody_getTotalMass_0=Module["_emscripten_bind_btSoftBody_getTotalMass_0"]=asm["_emscripten_bind_btSoftBody_getTotalMass_0"];var _emscripten_bind_btSoftBody_getUserIndex_0=Module["_emscripten_bind_btSoftBody_getUserIndex_0"]=asm["_emscripten_bind_btSoftBody_getUserIndex_0"];var _emscripten_bind_btSoftBody_getUserPointer_0=Module["_emscripten_bind_btSoftBody_getUserPointer_0"]=asm["_emscripten_bind_btSoftBody_getUserPointer_0"];var _emscripten_bind_btSoftBody_getWorldTransform_0=Module["_emscripten_bind_btSoftBody_getWorldTransform_0"]=asm["_emscripten_bind_btSoftBody_getWorldTransform_0"];var _emscripten_bind_btSoftBody_get_m_anchors_0=Module["_emscripten_bind_btSoftBody_get_m_anchors_0"]=asm["_emscripten_bind_btSoftBody_get_m_anchors_0"];var _emscripten_bind_btSoftBody_get_m_cfg_0=Module["_emscripten_bind_btSoftBody_get_m_cfg_0"]=asm["_emscripten_bind_btSoftBody_get_m_cfg_0"];var _emscripten_bind_btSoftBody_get_m_faces_0=Module["_emscripten_bind_btSoftBody_get_m_faces_0"]=asm["_emscripten_bind_btSoftBody_get_m_faces_0"];var _emscripten_bind_btSoftBody_get_m_links_0=Module["_emscripten_bind_btSoftBody_get_m_links_0"]=asm["_emscripten_bind_btSoftBody_get_m_links_0"];var _emscripten_bind_btSoftBody_get_m_materials_0=Module["_emscripten_bind_btSoftBody_get_m_materials_0"]=asm["_emscripten_bind_btSoftBody_get_m_materials_0"];var _emscripten_bind_btSoftBody_get_m_nodes_0=Module["_emscripten_bind_btSoftBody_get_m_nodes_0"]=asm["_emscripten_bind_btSoftBody_get_m_nodes_0"];var _emscripten_bind_btSoftBody_isActive_0=Module["_emscripten_bind_btSoftBody_isActive_0"]=asm["_emscripten_bind_btSoftBody_isActive_0"];var _emscripten_bind_btSoftBody_isKinematicObject_0=Module["_emscripten_bind_btSoftBody_isKinematicObject_0"]=asm["_emscripten_bind_btSoftBody_isKinematicObject_0"];var _emscripten_bind_btSoftBody_isStaticObject_0=Module["_emscripten_bind_btSoftBody_isStaticObject_0"]=asm["_emscripten_bind_btSoftBody_isStaticObject_0"];var _emscripten_bind_btSoftBody_isStaticOrKinematicObject_0=Module["_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0"]=asm["_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0"];var _emscripten_bind_btSoftBody_rotate_1=Module["_emscripten_bind_btSoftBody_rotate_1"]=asm["_emscripten_bind_btSoftBody_rotate_1"];var _emscripten_bind_btSoftBody_scale_1=Module["_emscripten_bind_btSoftBody_scale_1"]=asm["_emscripten_bind_btSoftBody_scale_1"];var _emscripten_bind_btSoftBody_setActivationState_1=Module["_emscripten_bind_btSoftBody_setActivationState_1"]=asm["_emscripten_bind_btSoftBody_setActivationState_1"];var _emscripten_bind_btSoftBody_setAnisotropicFriction_2=Module["_emscripten_bind_btSoftBody_setAnisotropicFriction_2"]=asm["_emscripten_bind_btSoftBody_setAnisotropicFriction_2"];var _emscripten_bind_btSoftBody_setCcdMotionThreshold_1=Module["_emscripten_bind_btSoftBody_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btSoftBody_setCcdMotionThreshold_1"];var _emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1"];var _emscripten_bind_btSoftBody_setCollisionFlags_1=Module["_emscripten_bind_btSoftBody_setCollisionFlags_1"]=asm["_emscripten_bind_btSoftBody_setCollisionFlags_1"];var _emscripten_bind_btSoftBody_setCollisionShape_1=Module["_emscripten_bind_btSoftBody_setCollisionShape_1"]=asm["_emscripten_bind_btSoftBody_setCollisionShape_1"];var _emscripten_bind_btSoftBody_setContactProcessingThreshold_1=Module["_emscripten_bind_btSoftBody_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btSoftBody_setContactProcessingThreshold_1"];var _emscripten_bind_btSoftBody_setFriction_1=Module["_emscripten_bind_btSoftBody_setFriction_1"]=asm["_emscripten_bind_btSoftBody_setFriction_1"];var _emscripten_bind_btSoftBody_setMass_2=Module["_emscripten_bind_btSoftBody_setMass_2"]=asm["_emscripten_bind_btSoftBody_setMass_2"];var _emscripten_bind_btSoftBody_setRestitution_1=Module["_emscripten_bind_btSoftBody_setRestitution_1"]=asm["_emscripten_bind_btSoftBody_setRestitution_1"];var _emscripten_bind_btSoftBody_setRollingFriction_1=Module["_emscripten_bind_btSoftBody_setRollingFriction_1"]=asm["_emscripten_bind_btSoftBody_setRollingFriction_1"];var _emscripten_bind_btSoftBody_setTotalMass_2=Module["_emscripten_bind_btSoftBody_setTotalMass_2"]=asm["_emscripten_bind_btSoftBody_setTotalMass_2"];var _emscripten_bind_btSoftBody_setUserIndex_1=Module["_emscripten_bind_btSoftBody_setUserIndex_1"]=asm["_emscripten_bind_btSoftBody_setUserIndex_1"];var _emscripten_bind_btSoftBody_setUserPointer_1=Module["_emscripten_bind_btSoftBody_setUserPointer_1"]=asm["_emscripten_bind_btSoftBody_setUserPointer_1"];var _emscripten_bind_btSoftBody_setWorldTransform_1=Module["_emscripten_bind_btSoftBody_setWorldTransform_1"]=asm["_emscripten_bind_btSoftBody_setWorldTransform_1"];var _emscripten_bind_btSoftBody_set_m_anchors_1=Module["_emscripten_bind_btSoftBody_set_m_anchors_1"]=asm["_emscripten_bind_btSoftBody_set_m_anchors_1"];var _emscripten_bind_btSoftBody_set_m_cfg_1=Module["_emscripten_bind_btSoftBody_set_m_cfg_1"]=asm["_emscripten_bind_btSoftBody_set_m_cfg_1"];var _emscripten_bind_btSoftBody_set_m_faces_1=Module["_emscripten_bind_btSoftBody_set_m_faces_1"]=asm["_emscripten_bind_btSoftBody_set_m_faces_1"];var _emscripten_bind_btSoftBody_set_m_links_1=Module["_emscripten_bind_btSoftBody_set_m_links_1"]=asm["_emscripten_bind_btSoftBody_set_m_links_1"];var _emscripten_bind_btSoftBody_set_m_materials_1=Module["_emscripten_bind_btSoftBody_set_m_materials_1"]=asm["_emscripten_bind_btSoftBody_set_m_materials_1"];var _emscripten_bind_btSoftBody_set_m_nodes_1=Module["_emscripten_bind_btSoftBody_set_m_nodes_1"]=asm["_emscripten_bind_btSoftBody_set_m_nodes_1"];var _emscripten_bind_btSoftBody_transform_1=Module["_emscripten_bind_btSoftBody_transform_1"]=asm["_emscripten_bind_btSoftBody_transform_1"];var _emscripten_bind_btSoftBody_translate_1=Module["_emscripten_bind_btSoftBody_translate_1"]=asm["_emscripten_bind_btSoftBody_translate_1"];var _emscripten_bind_btSoftBody_upcast_1=Module["_emscripten_bind_btSoftBody_upcast_1"]=asm["_emscripten_bind_btSoftBody_upcast_1"];var _emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=Module["_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0"];var _emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_addVehicle_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addVehicle_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addVehicle_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=Module["_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5"];var _emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeVehicle_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeVehicle_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeVehicle_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1"];var _emscripten_bind_btSphereShape___destroy___0=Module["_emscripten_bind_btSphereShape___destroy___0"]=asm["_emscripten_bind_btSphereShape___destroy___0"];var _emscripten_bind_btSphereShape_btSphereShape_1=Module["_emscripten_bind_btSphereShape_btSphereShape_1"]=asm["_emscripten_bind_btSphereShape_btSphereShape_1"];var _emscripten_bind_btSphereShape_calculateLocalInertia_2=Module["_emscripten_bind_btSphereShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btSphereShape_calculateLocalInertia_2"];var _emscripten_bind_btSphereShape_getLocalScaling_0=Module["_emscripten_bind_btSphereShape_getLocalScaling_0"]=asm["_emscripten_bind_btSphereShape_getLocalScaling_0"];var _emscripten_bind_btSphereShape_getMargin_0=Module["_emscripten_bind_btSphereShape_getMargin_0"]=asm["_emscripten_bind_btSphereShape_getMargin_0"];var _emscripten_bind_btSphereShape_setLocalScaling_1=Module["_emscripten_bind_btSphereShape_setLocalScaling_1"]=asm["_emscripten_bind_btSphereShape_setLocalScaling_1"];var _emscripten_bind_btSphereShape_setMargin_1=Module["_emscripten_bind_btSphereShape_setMargin_1"]=asm["_emscripten_bind_btSphereShape_setMargin_1"];var _emscripten_bind_btStaticPlaneShape___destroy___0=Module["_emscripten_bind_btStaticPlaneShape___destroy___0"]=asm["_emscripten_bind_btStaticPlaneShape___destroy___0"];var _emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=Module["_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2"]=asm["_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2"];var _emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=Module["_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2"];var _emscripten_bind_btStaticPlaneShape_getLocalScaling_0=Module["_emscripten_bind_btStaticPlaneShape_getLocalScaling_0"]=asm["_emscripten_bind_btStaticPlaneShape_getLocalScaling_0"];var _emscripten_bind_btStaticPlaneShape_setLocalScaling_1=Module["_emscripten_bind_btStaticPlaneShape_setLocalScaling_1"]=asm["_emscripten_bind_btStaticPlaneShape_setLocalScaling_1"];var _emscripten_bind_btStridingMeshInterface___destroy___0=Module["_emscripten_bind_btStridingMeshInterface___destroy___0"]=asm["_emscripten_bind_btStridingMeshInterface___destroy___0"];var _emscripten_bind_btTransform___destroy___0=Module["_emscripten_bind_btTransform___destroy___0"]=asm["_emscripten_bind_btTransform___destroy___0"];var _emscripten_bind_btTransform_btTransform_0=Module["_emscripten_bind_btTransform_btTransform_0"]=asm["_emscripten_bind_btTransform_btTransform_0"];var _emscripten_bind_btTransform_btTransform_2=Module["_emscripten_bind_btTransform_btTransform_2"]=asm["_emscripten_bind_btTransform_btTransform_2"];var _emscripten_bind_btTransform_getBasis_0=Module["_emscripten_bind_btTransform_getBasis_0"]=asm["_emscripten_bind_btTransform_getBasis_0"];var _emscripten_bind_btTransform_getOrigin_0=Module["_emscripten_bind_btTransform_getOrigin_0"]=asm["_emscripten_bind_btTransform_getOrigin_0"];var _emscripten_bind_btTransform_getRotation_0=Module["_emscripten_bind_btTransform_getRotation_0"]=asm["_emscripten_bind_btTransform_getRotation_0"];var _emscripten_bind_btTransform_setFromOpenGLMatrix_1=Module["_emscripten_bind_btTransform_setFromOpenGLMatrix_1"]=asm["_emscripten_bind_btTransform_setFromOpenGLMatrix_1"];var _emscripten_bind_btTransform_setIdentity_0=Module["_emscripten_bind_btTransform_setIdentity_0"]=asm["_emscripten_bind_btTransform_setIdentity_0"];var _emscripten_bind_btTransform_setOrigin_1=Module["_emscripten_bind_btTransform_setOrigin_1"]=asm["_emscripten_bind_btTransform_setOrigin_1"];var _emscripten_bind_btTransform_setRotation_1=Module["_emscripten_bind_btTransform_setRotation_1"]=asm["_emscripten_bind_btTransform_setRotation_1"];var _emscripten_bind_btTriangleMeshShape___destroy___0=Module["_emscripten_bind_btTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btTriangleMeshShape___destroy___0"];var _emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2"];var _emscripten_bind_btTriangleMeshShape_getLocalScaling_0=Module["_emscripten_bind_btTriangleMeshShape_getLocalScaling_0"]=asm["_emscripten_bind_btTriangleMeshShape_getLocalScaling_0"];var _emscripten_bind_btTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btTriangleMeshShape_setLocalScaling_1"];var _emscripten_bind_btTriangleMesh___destroy___0=Module["_emscripten_bind_btTriangleMesh___destroy___0"]=asm["_emscripten_bind_btTriangleMesh___destroy___0"];var _emscripten_bind_btTriangleMesh_addTriangle_3=Module["_emscripten_bind_btTriangleMesh_addTriangle_3"]=asm["_emscripten_bind_btTriangleMesh_addTriangle_3"];var _emscripten_bind_btTriangleMesh_addTriangle_4=Module["_emscripten_bind_btTriangleMesh_addTriangle_4"]=asm["_emscripten_bind_btTriangleMesh_addTriangle_4"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_0=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_0"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_0"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_1=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_1"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_1"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_2=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_2"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_2"];var _emscripten_bind_btTypedConstraint___destroy___0=Module["_emscripten_bind_btTypedConstraint___destroy___0"]=asm["_emscripten_bind_btTypedConstraint___destroy___0"];var _emscripten_bind_btTypedConstraint_enableFeedback_1=Module["_emscripten_bind_btTypedConstraint_enableFeedback_1"]=asm["_emscripten_bind_btTypedConstraint_enableFeedback_1"];var _emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btTypedConstraint_getParam_2=Module["_emscripten_bind_btTypedConstraint_getParam_2"]=asm["_emscripten_bind_btTypedConstraint_getParam_2"];var _emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btTypedConstraint_setParam_3=Module["_emscripten_bind_btTypedConstraint_setParam_3"]=asm["_emscripten_bind_btTypedConstraint_setParam_3"];var _emscripten_bind_btVector3___destroy___0=Module["_emscripten_bind_btVector3___destroy___0"]=asm["_emscripten_bind_btVector3___destroy___0"];var _emscripten_bind_btVector3_btVector3_0=Module["_emscripten_bind_btVector3_btVector3_0"]=asm["_emscripten_bind_btVector3_btVector3_0"];var _emscripten_bind_btVector3_btVector3_3=Module["_emscripten_bind_btVector3_btVector3_3"]=asm["_emscripten_bind_btVector3_btVector3_3"];var _emscripten_bind_btVector3_dot_1=Module["_emscripten_bind_btVector3_dot_1"]=asm["_emscripten_bind_btVector3_dot_1"];var _emscripten_bind_btVector3_length_0=Module["_emscripten_bind_btVector3_length_0"]=asm["_emscripten_bind_btVector3_length_0"];var _emscripten_bind_btVector3_normalize_0=Module["_emscripten_bind_btVector3_normalize_0"]=asm["_emscripten_bind_btVector3_normalize_0"];var _emscripten_bind_btVector3_op_add_1=Module["_emscripten_bind_btVector3_op_add_1"]=asm["_emscripten_bind_btVector3_op_add_1"];var _emscripten_bind_btVector3_op_mul_1=Module["_emscripten_bind_btVector3_op_mul_1"]=asm["_emscripten_bind_btVector3_op_mul_1"];var _emscripten_bind_btVector3_op_sub_1=Module["_emscripten_bind_btVector3_op_sub_1"]=asm["_emscripten_bind_btVector3_op_sub_1"];var _emscripten_bind_btVector3_rotate_2=Module["_emscripten_bind_btVector3_rotate_2"]=asm["_emscripten_bind_btVector3_rotate_2"];var _emscripten_bind_btVector3_setValue_3=Module["_emscripten_bind_btVector3_setValue_3"]=asm["_emscripten_bind_btVector3_setValue_3"];var _emscripten_bind_btVector3_setX_1=Module["_emscripten_bind_btVector3_setX_1"]=asm["_emscripten_bind_btVector3_setX_1"];var _emscripten_bind_btVector3_setY_1=Module["_emscripten_bind_btVector3_setY_1"]=asm["_emscripten_bind_btVector3_setY_1"];var _emscripten_bind_btVector3_setZ_1=Module["_emscripten_bind_btVector3_setZ_1"]=asm["_emscripten_bind_btVector3_setZ_1"];var _emscripten_bind_btVector3_x_0=Module["_emscripten_bind_btVector3_x_0"]=asm["_emscripten_bind_btVector3_x_0"];var _emscripten_bind_btVector3_y_0=Module["_emscripten_bind_btVector3_y_0"]=asm["_emscripten_bind_btVector3_y_0"];var _emscripten_bind_btVector3_z_0=Module["_emscripten_bind_btVector3_z_0"]=asm["_emscripten_bind_btVector3_z_0"];var _emscripten_bind_btVector4___destroy___0=Module["_emscripten_bind_btVector4___destroy___0"]=asm["_emscripten_bind_btVector4___destroy___0"];var _emscripten_bind_btVector4_btVector4_0=Module["_emscripten_bind_btVector4_btVector4_0"]=asm["_emscripten_bind_btVector4_btVector4_0"];var _emscripten_bind_btVector4_btVector4_4=Module["_emscripten_bind_btVector4_btVector4_4"]=asm["_emscripten_bind_btVector4_btVector4_4"];var _emscripten_bind_btVector4_dot_1=Module["_emscripten_bind_btVector4_dot_1"]=asm["_emscripten_bind_btVector4_dot_1"];var _emscripten_bind_btVector4_length_0=Module["_emscripten_bind_btVector4_length_0"]=asm["_emscripten_bind_btVector4_length_0"];var _emscripten_bind_btVector4_normalize_0=Module["_emscripten_bind_btVector4_normalize_0"]=asm["_emscripten_bind_btVector4_normalize_0"];var _emscripten_bind_btVector4_op_add_1=Module["_emscripten_bind_btVector4_op_add_1"]=asm["_emscripten_bind_btVector4_op_add_1"];var _emscripten_bind_btVector4_op_mul_1=Module["_emscripten_bind_btVector4_op_mul_1"]=asm["_emscripten_bind_btVector4_op_mul_1"];var _emscripten_bind_btVector4_op_sub_1=Module["_emscripten_bind_btVector4_op_sub_1"]=asm["_emscripten_bind_btVector4_op_sub_1"];var _emscripten_bind_btVector4_rotate_2=Module["_emscripten_bind_btVector4_rotate_2"]=asm["_emscripten_bind_btVector4_rotate_2"];var _emscripten_bind_btVector4_setValue_4=Module["_emscripten_bind_btVector4_setValue_4"]=asm["_emscripten_bind_btVector4_setValue_4"];var _emscripten_bind_btVector4_setX_1=Module["_emscripten_bind_btVector4_setX_1"]=asm["_emscripten_bind_btVector4_setX_1"];var _emscripten_bind_btVector4_setY_1=Module["_emscripten_bind_btVector4_setY_1"]=asm["_emscripten_bind_btVector4_setY_1"];var _emscripten_bind_btVector4_setZ_1=Module["_emscripten_bind_btVector4_setZ_1"]=asm["_emscripten_bind_btVector4_setZ_1"];var _emscripten_bind_btVector4_w_0=Module["_emscripten_bind_btVector4_w_0"]=asm["_emscripten_bind_btVector4_w_0"];var _emscripten_bind_btVector4_x_0=Module["_emscripten_bind_btVector4_x_0"]=asm["_emscripten_bind_btVector4_x_0"];var _emscripten_bind_btVector4_y_0=Module["_emscripten_bind_btVector4_y_0"]=asm["_emscripten_bind_btVector4_y_0"];var _emscripten_bind_btVector4_z_0=Module["_emscripten_bind_btVector4_z_0"]=asm["_emscripten_bind_btVector4_z_0"];var _emscripten_bind_btVehicleRaycasterResult___destroy___0=Module["_emscripten_bind_btVehicleRaycasterResult___destroy___0"]=asm["_emscripten_bind_btVehicleRaycasterResult___destroy___0"];var _emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=Module["_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0"]=asm["_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0"];var _emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=Module["_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0"]=asm["_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0"];var _emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=Module["_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0"]=asm["_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0"];var _emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=Module["_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1"]=asm["_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1"];var _emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=Module["_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1"]=asm["_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1"];var _emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=Module["_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1"]=asm["_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1"];var _emscripten_bind_btVehicleRaycaster___destroy___0=Module["_emscripten_bind_btVehicleRaycaster___destroy___0"]=asm["_emscripten_bind_btVehicleRaycaster___destroy___0"];var _emscripten_bind_btVehicleRaycaster_castRay_3=Module["_emscripten_bind_btVehicleRaycaster_castRay_3"]=asm["_emscripten_bind_btVehicleRaycaster_castRay_3"];var _emscripten_bind_btVehicleTuning_btVehicleTuning_0=Module["_emscripten_bind_btVehicleTuning_btVehicleTuning_0"]=asm["_emscripten_bind_btVehicleTuning_btVehicleTuning_0"];var _emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=Module["_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0"];var _emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=Module["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0"];var _emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=Module["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0"];var _emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0"];var _emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0"];var _emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0"];var _emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=Module["_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1"];var _emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=Module["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1"];var _emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=Module["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1"];var _emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1"];var _emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1"];var _emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1"];var _emscripten_bind_btWheelInfoConstructionInfo___destroy___0=Module["_emscripten_bind_btWheelInfoConstructionInfo___destroy___0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo___destroy___0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1"];var _emscripten_bind_btWheelInfo___destroy___0=Module["_emscripten_bind_btWheelInfo___destroy___0"]=asm["_emscripten_bind_btWheelInfo___destroy___0"];var _emscripten_bind_btWheelInfo_btWheelInfo_1=Module["_emscripten_bind_btWheelInfo_btWheelInfo_1"]=asm["_emscripten_bind_btWheelInfo_btWheelInfo_1"];var _emscripten_bind_btWheelInfo_getSuspensionRestLength_0=Module["_emscripten_bind_btWheelInfo_getSuspensionRestLength_0"]=asm["_emscripten_bind_btWheelInfo_getSuspensionRestLength_0"];var _emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=Module["_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0"]=asm["_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0"];var _emscripten_bind_btWheelInfo_get_m_brake_0=Module["_emscripten_bind_btWheelInfo_get_m_brake_0"]=asm["_emscripten_bind_btWheelInfo_get_m_brake_0"];var _emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=Module["_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0"]=asm["_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0"];var _emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=Module["_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0"]=asm["_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0"];var _emscripten_bind_btWheelInfo_get_m_deltaRotation_0=Module["_emscripten_bind_btWheelInfo_get_m_deltaRotation_0"]=asm["_emscripten_bind_btWheelInfo_get_m_deltaRotation_0"];var _emscripten_bind_btWheelInfo_get_m_engineForce_0=Module["_emscripten_bind_btWheelInfo_get_m_engineForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_engineForce_0"];var _emscripten_bind_btWheelInfo_get_m_frictionSlip_0=Module["_emscripten_bind_btWheelInfo_get_m_frictionSlip_0"]=asm["_emscripten_bind_btWheelInfo_get_m_frictionSlip_0"];var _emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=Module["_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0"];var _emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=Module["_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0"]=asm["_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0"];var _emscripten_bind_btWheelInfo_get_m_raycastInfo_0=Module["_emscripten_bind_btWheelInfo_get_m_raycastInfo_0"]=asm["_emscripten_bind_btWheelInfo_get_m_raycastInfo_0"];var _emscripten_bind_btWheelInfo_get_m_rollInfluence_0=Module["_emscripten_bind_btWheelInfo_get_m_rollInfluence_0"]=asm["_emscripten_bind_btWheelInfo_get_m_rollInfluence_0"];var _emscripten_bind_btWheelInfo_get_m_rotation_0=Module["_emscripten_bind_btWheelInfo_get_m_rotation_0"]=asm["_emscripten_bind_btWheelInfo_get_m_rotation_0"];var _emscripten_bind_btWheelInfo_get_m_skidInfo_0=Module["_emscripten_bind_btWheelInfo_get_m_skidInfo_0"]=asm["_emscripten_bind_btWheelInfo_get_m_skidInfo_0"];var _emscripten_bind_btWheelInfo_get_m_steering_0=Module["_emscripten_bind_btWheelInfo_get_m_steering_0"]=asm["_emscripten_bind_btWheelInfo_get_m_steering_0"];var _emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=Module["_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0"]=asm["_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0"];var _emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=Module["_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0"]=asm["_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0"];var _emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=Module["_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0"]=asm["_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0"];var _emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0"];var _emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0"];var _emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0"];var _emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0"];var _emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0"];var _emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0"];var _emscripten_bind_btWheelInfo_get_m_worldTransform_0=Module["_emscripten_bind_btWheelInfo_get_m_worldTransform_0"]=asm["_emscripten_bind_btWheelInfo_get_m_worldTransform_0"];var _emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=Module["_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1"]=asm["_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1"];var _emscripten_bind_btWheelInfo_set_m_brake_1=Module["_emscripten_bind_btWheelInfo_set_m_brake_1"]=asm["_emscripten_bind_btWheelInfo_set_m_brake_1"];var _emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=Module["_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1"]=asm["_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1"];var _emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=Module["_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1"]=asm["_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1"];var _emscripten_bind_btWheelInfo_set_m_deltaRotation_1=Module["_emscripten_bind_btWheelInfo_set_m_deltaRotation_1"]=asm["_emscripten_bind_btWheelInfo_set_m_deltaRotation_1"];var _emscripten_bind_btWheelInfo_set_m_engineForce_1=Module["_emscripten_bind_btWheelInfo_set_m_engineForce_1"]=asm["_emscripten_bind_btWheelInfo_set_m_engineForce_1"];var _emscripten_bind_btWheelInfo_set_m_frictionSlip_1=Module["_emscripten_bind_btWheelInfo_set_m_frictionSlip_1"]=asm["_emscripten_bind_btWheelInfo_set_m_frictionSlip_1"];var _emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=Module["_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1"]=asm["_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1"];var _emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=Module["_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1"]=asm["_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1"];var _emscripten_bind_btWheelInfo_set_m_raycastInfo_1=Module["_emscripten_bind_btWheelInfo_set_m_raycastInfo_1"]=asm["_emscripten_bind_btWheelInfo_set_m_raycastInfo_1"];var _emscripten_bind_btWheelInfo_set_m_rollInfluence_1=Module["_emscripten_bind_btWheelInfo_set_m_rollInfluence_1"]=asm["_emscripten_bind_btWheelInfo_set_m_rollInfluence_1"];var _emscripten_bind_btWheelInfo_set_m_rotation_1=Module["_emscripten_bind_btWheelInfo_set_m_rotation_1"]=asm["_emscripten_bind_btWheelInfo_set_m_rotation_1"];var _emscripten_bind_btWheelInfo_set_m_skidInfo_1=Module["_emscripten_bind_btWheelInfo_set_m_skidInfo_1"]=asm["_emscripten_bind_btWheelInfo_set_m_skidInfo_1"];var _emscripten_bind_btWheelInfo_set_m_steering_1=Module["_emscripten_bind_btWheelInfo_set_m_steering_1"]=asm["_emscripten_bind_btWheelInfo_set_m_steering_1"];var _emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=Module["_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1"]=asm["_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1"];var _emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=Module["_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1"]=asm["_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1"];var _emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=Module["_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1"]=asm["_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1"];var _emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1"];var _emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1"];var _emscripten_bind_btWheelInfo_set_m_worldTransform_1=Module["_emscripten_bind_btWheelInfo_set_m_worldTransform_1"]=asm["_emscripten_bind_btWheelInfo_set_m_worldTransform_1"];var _emscripten_bind_btWheelInfo_updateWheel_2=Module["_emscripten_bind_btWheelInfo_updateWheel_2"]=asm["_emscripten_bind_btWheelInfo_updateWheel_2"];var _emscripten_bind_tAnchorArray___destroy___0=Module["_emscripten_bind_tAnchorArray___destroy___0"]=asm["_emscripten_bind_tAnchorArray___destroy___0"];var _emscripten_bind_tAnchorArray_at_1=Module["_emscripten_bind_tAnchorArray_at_1"]=asm["_emscripten_bind_tAnchorArray_at_1"];var _emscripten_bind_tAnchorArray_clear_0=Module["_emscripten_bind_tAnchorArray_clear_0"]=asm["_emscripten_bind_tAnchorArray_clear_0"];var _emscripten_bind_tAnchorArray_pop_back_0=Module["_emscripten_bind_tAnchorArray_pop_back_0"]=asm["_emscripten_bind_tAnchorArray_pop_back_0"];var _emscripten_bind_tAnchorArray_push_back_1=Module["_emscripten_bind_tAnchorArray_push_back_1"]=asm["_emscripten_bind_tAnchorArray_push_back_1"];var _emscripten_bind_tAnchorArray_size_0=Module["_emscripten_bind_tAnchorArray_size_0"]=asm["_emscripten_bind_tAnchorArray_size_0"];var _emscripten_bind_tFaceArray___destroy___0=Module["_emscripten_bind_tFaceArray___destroy___0"]=asm["_emscripten_bind_tFaceArray___destroy___0"];var _emscripten_bind_tFaceArray_at_1=Module["_emscripten_bind_tFaceArray_at_1"]=asm["_emscripten_bind_tFaceArray_at_1"];var _emscripten_bind_tFaceArray_size_0=Module["_emscripten_bind_tFaceArray_size_0"]=asm["_emscripten_bind_tFaceArray_size_0"];var _emscripten_bind_tLinkArray___destroy___0=Module["_emscripten_bind_tLinkArray___destroy___0"]=asm["_emscripten_bind_tLinkArray___destroy___0"];var _emscripten_bind_tLinkArray_at_1=Module["_emscripten_bind_tLinkArray_at_1"]=asm["_emscripten_bind_tLinkArray_at_1"];var _emscripten_bind_tLinkArray_size_0=Module["_emscripten_bind_tLinkArray_size_0"]=asm["_emscripten_bind_tLinkArray_size_0"];var _emscripten_bind_tMaterialArray___destroy___0=Module["_emscripten_bind_tMaterialArray___destroy___0"]=asm["_emscripten_bind_tMaterialArray___destroy___0"];var _emscripten_bind_tMaterialArray_at_1=Module["_emscripten_bind_tMaterialArray_at_1"]=asm["_emscripten_bind_tMaterialArray_at_1"];var _emscripten_bind_tMaterialArray_size_0=Module["_emscripten_bind_tMaterialArray_size_0"]=asm["_emscripten_bind_tMaterialArray_size_0"];var _emscripten_bind_tNodeArray___destroy___0=Module["_emscripten_bind_tNodeArray___destroy___0"]=asm["_emscripten_bind_tNodeArray___destroy___0"];var _emscripten_bind_tNodeArray_at_1=Module["_emscripten_bind_tNodeArray_at_1"]=asm["_emscripten_bind_tNodeArray_at_1"];var _emscripten_bind_tNodeArray_size_0=Module["_emscripten_bind_tNodeArray_size_0"]=asm["_emscripten_bind_tNodeArray_size_0"];var _emscripten_enum_PHY_ScalarType_PHY_DOUBLE=Module["_emscripten_enum_PHY_ScalarType_PHY_DOUBLE"]=asm["_emscripten_enum_PHY_ScalarType_PHY_DOUBLE"];var _emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=Module["_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88"]=asm["_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88"];var _emscripten_enum_PHY_ScalarType_PHY_FLOAT=Module["_emscripten_enum_PHY_ScalarType_PHY_FLOAT"]=asm["_emscripten_enum_PHY_ScalarType_PHY_FLOAT"];var _emscripten_enum_PHY_ScalarType_PHY_INTEGER=Module["_emscripten_enum_PHY_ScalarType_PHY_INTEGER"]=asm["_emscripten_enum_PHY_ScalarType_PHY_INTEGER"];var _emscripten_enum_PHY_ScalarType_PHY_SHORT=Module["_emscripten_enum_PHY_ScalarType_PHY_SHORT"]=asm["_emscripten_enum_PHY_ScalarType_PHY_SHORT"];var _emscripten_enum_PHY_ScalarType_PHY_UCHAR=Module["_emscripten_enum_PHY_ScalarType_PHY_UCHAR"]=asm["_emscripten_enum_PHY_ScalarType_PHY_UCHAR"];var _emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM=Module["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM"]=asm["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM"];var _emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=Module["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP"]=asm["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP"];var _emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=Module["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM"]=asm["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM"];var _emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP=Module["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP"]=asm["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_did=Module["dynCall_did"]=asm["dynCall_did"];var dynCall_diidii=Module["dynCall_diidii"]=asm["dynCall_diidii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_diiidii=Module["dynCall_diiidii"]=asm["dynCall_diiidii"];var dynCall_diiii=Module["dynCall_diiii"]=asm["dynCall_diiii"];var dynCall_diiiii=Module["dynCall_diiiii"]=asm["dynCall_diiiii"];var dynCall_diiiiiiii=Module["dynCall_diiiiiiii"]=asm["dynCall_diiiiiiii"];var dynCall_diiiiiiiii=Module["dynCall_diiiiiiiii"]=asm["dynCall_diiiiiiiii"];var dynCall_diiiiiiiiii=Module["dynCall_diiiiiiiiii"]=asm["dynCall_diiiiiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidid=Module["dynCall_iidid"]=asm["dynCall_iidid"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiid=Module["dynCall_iiid"]=asm["dynCall_iiid"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vidd=Module["dynCall_vidd"]=asm["dynCall_vidd"];var dynCall_viddiii=Module["dynCall_viddiii"]=asm["dynCall_viddiii"];var dynCall_vidi=Module["dynCall_vidi"]=asm["dynCall_vidi"];var dynCall_vidii=Module["dynCall_vidii"]=asm["dynCall_vidii"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viidi=Module["dynCall_viidi"]=asm["dynCall_viidi"];var dynCall_viidii=Module["dynCall_viidii"]=asm["dynCall_viidii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiid=Module["dynCall_viiid"]=asm["dynCall_viiid"];var dynCall_viiidii=Module["dynCall_viiidii"]=asm["dynCall_viiidii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiid=Module["dynCall_viiiid"]=asm["dynCall_viiiid"];var dynCall_viiiidddddidi=Module["dynCall_viiiidddddidi"]=asm["dynCall_viiiidddddidi"];var dynCall_viiiiddddiid=Module["dynCall_viiiiddddiid"]=asm["dynCall_viiiiddddiid"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiid=Module["dynCall_viiiiid"]=asm["dynCall_viiiiid"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();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){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i<array.length;i++){view[offsetShifted+i]=array[i]}})};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 btCollisionWorld(){throw"cannot construct a btCollisionWorld, no constructor in IDL"}btCollisionWorld.prototype=Object.create(WrapperObject.prototype);btCollisionWorld.prototype.constructor=btCollisionWorld;btCollisionWorld.prototype.__class__=btCollisionWorld;btCollisionWorld.__cache__={};Module["btCollisionWorld"]=btCollisionWorld;btCollisionWorld.prototype["getDispatcher"]=btCollisionWorld.prototype.getDispatcher=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getDispatcher_0(self),btDispatcher)});btCollisionWorld.prototype["rayTest"]=btCollisionWorld.prototype.rayTest=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btCollisionWorld_rayTest_3(self,arg0,arg1,arg2)});btCollisionWorld.prototype["getPairCache"]=btCollisionWorld.prototype.getPairCache=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getPairCache_0(self),btOverlappingPairCache)});btCollisionWorld.prototype["getDispatchInfo"]=btCollisionWorld.prototype.getDispatchInfo=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getDispatchInfo_0(self),btDispatcherInfo)});btCollisionWorld.prototype["addCollisionObject"]=btCollisionWorld.prototype.addCollisionObject=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg1===undefined){_emscripten_bind_btCollisionWorld_addCollisionObject_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btCollisionWorld_addCollisionObject_2(self,arg0,arg1);return}_emscripten_bind_btCollisionWorld_addCollisionObject_3(self,arg0,arg1,arg2)});btCollisionWorld.prototype["removeCollisionObject"]=btCollisionWorld.prototype.removeCollisionObject=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionWorld_removeCollisionObject_1(self,arg0)});btCollisionWorld.prototype["getBroadphase"]=btCollisionWorld.prototype.getBroadphase=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getBroadphase_0(self),btBroadphaseInterface)});btCollisionWorld.prototype["convexSweepTest"]=btCollisionWorld.prototype.convexSweepTest=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;_emscripten_bind_btCollisionWorld_convexSweepTest_5(self,arg0,arg1,arg2,arg3,arg4)});btCollisionWorld.prototype["contactPairTest"]=btCollisionWorld.prototype.contactPairTest=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btCollisionWorld_contactPairTest_3(self,arg0,arg1,arg2)});btCollisionWorld.prototype["contactTest"]=btCollisionWorld.prototype.contactTest=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCollisionWorld_contactTest_2(self,arg0,arg1)});btCollisionWorld.prototype["updateSingleAabb"]=btCollisionWorld.prototype.updateSingleAabb=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionWorld_updateSingleAabb_1(self,arg0)});btCollisionWorld.prototype["__destroy__"]=btCollisionWorld.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCollisionWorld___destroy___0(self)});function btCollisionShape(){throw"cannot construct a btCollisionShape, no constructor in IDL"}btCollisionShape.prototype=Object.create(WrapperObject.prototype);btCollisionShape.prototype.constructor=btCollisionShape;btCollisionShape.prototype.__class__=btCollisionShape;btCollisionShape.__cache__={};Module["btCollisionShape"]=btCollisionShape;btCollisionShape.prototype["setLocalScaling"]=btCollisionShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionShape_setLocalScaling_1(self,arg0)});btCollisionShape.prototype["getLocalScaling"]=btCollisionShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionShape_getLocalScaling_0(self),btVector3)});btCollisionShape.prototype["calculateLocalInertia"]=btCollisionShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCollisionShape_calculateLocalInertia_2(self,arg0,arg1)});btCollisionShape.prototype["setMargin"]=btCollisionShape.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionShape_setMargin_1(self,arg0)});btCollisionShape.prototype["getMargin"]=btCollisionShape.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btCollisionShape_getMargin_0(self)});btCollisionShape.prototype["__destroy__"]=btCollisionShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCollisionShape___destroy___0(self)});function btCollisionObject(){throw"cannot construct a btCollisionObject, no constructor in IDL"}btCollisionObject.prototype=Object.create(WrapperObject.prototype);btCollisionObject.prototype.constructor=btCollisionObject;btCollisionObject.prototype.__class__=btCollisionObject;btCollisionObject.__cache__={};Module["btCollisionObject"]=btCollisionObject;btCollisionObject.prototype["setAnisotropicFriction"]=btCollisionObject.prototype.setAnisotropicFriction=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCollisionObject_setAnisotropicFriction_2(self,arg0,arg1)});btCollisionObject.prototype["getCollisionShape"]=btCollisionObject.prototype.getCollisionShape=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionObject_getCollisionShape_0(self),btCollisionShape)});btCollisionObject.prototype["setContactProcessingThreshold"]=btCollisionObject.prototype.setContactProcessingThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1(self,arg0)});btCollisionObject.prototype["setActivationState"]=btCollisionObject.prototype.setActivationState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setActivationState_1(self,arg0)});btCollisionObject.prototype["forceActivationState"]=btCollisionObject.prototype.forceActivationState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_forceActivationState_1(self,arg0)});btCollisionObject.prototype["activate"]=btCollisionObject.prototype.activate=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg0===undefined){_emscripten_bind_btCollisionObject_activate_0(self);return}_emscripten_bind_btCollisionObject_activate_1(self,arg0)});btCollisionObject.prototype["isActive"]=btCollisionObject.prototype.isActive=(function(){var self=this.ptr;return!!_emscripten_bind_btCollisionObject_isActive_0(self)});btCollisionObject.prototype["isKinematicObject"]=btCollisionObject.prototype.isKinematicObject=(function(){var self=this.ptr;return!!_emscripten_bind_btCollisionObject_isKinematicObject_0(self)});btCollisionObject.prototype["isStaticObject"]=btCollisionObject.prototype.isStaticObject=(function(){var self=this.ptr;return!!_emscripten_bind_btCollisionObject_isStaticObject_0(self)});btCollisionObject.prototype["isStaticOrKinematicObject"]=btCollisionObject.prototype.isStaticOrKinematicObject=(function(){var self=this.ptr;return!!_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0(self)});btCollisionObject.prototype["setRestitution"]=btCollisionObject.prototype.setRestitution=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setRestitution_1(self,arg0)});btCollisionObject.prototype["setFriction"]=btCollisionObject.prototype.setFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setFriction_1(self,arg0)});btCollisionObject.prototype["setRollingFriction"]=btCollisionObject.prototype.setRollingFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setRollingFriction_1(self,arg0)});btCollisionObject.prototype["getWorldTransform"]=btCollisionObject.prototype.getWorldTransform=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionObject_getWorldTransform_0(self),btTransform)});btCollisionObject.prototype["getCollisionFlags"]=btCollisionObject.prototype.getCollisionFlags=(function(){var self=this.ptr;return _emscripten_bind_btCollisionObject_getCollisionFlags_0(self)});btCollisionObject.prototype["setCollisionFlags"]=btCollisionObject.prototype.setCollisionFlags=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setCollisionFlags_1(self,arg0)});btCollisionObject.prototype["setWorldTransform"]=btCollisionObject.prototype.setWorldTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setWorldTransform_1(self,arg0)});btCollisionObject.prototype["setCollisionShape"]=btCollisionObject.prototype.setCollisionShape=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setCollisionShape_1(self,arg0)});btCollisionObject.prototype["setCcdMotionThreshold"]=btCollisionObject.prototype.setCcdMotionThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1(self,arg0)});btCollisionObject.prototype["setCcdSweptSphereRadius"]=btCollisionObject.prototype.setCcdSweptSphereRadius=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1(self,arg0)});btCollisionObject.prototype["getUserIndex"]=btCollisionObject.prototype.getUserIndex=(function(){var self=this.ptr;return _emscripten_bind_btCollisionObject_getUserIndex_0(self)});btCollisionObject.prototype["setUserIndex"]=btCollisionObject.prototype.setUserIndex=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setUserIndex_1(self,arg0)});btCollisionObject.prototype["getUserPointer"]=btCollisionObject.prototype.getUserPointer=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionObject_getUserPointer_0(self),VoidPtr)});btCollisionObject.prototype["setUserPointer"]=btCollisionObject.prototype.setUserPointer=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCollisionObject_setUserPointer_1(self,arg0)});btCollisionObject.prototype["__destroy__"]=btCollisionObject.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCollisionObject___destroy___0(self)});function btDynamicsWorld(){throw"cannot construct a btDynamicsWorld, no constructor in IDL"}btDynamicsWorld.prototype=Object.create(btCollisionWorld.prototype);btDynamicsWorld.prototype.constructor=btDynamicsWorld;btDynamicsWorld.prototype.__class__=btDynamicsWorld;btDynamicsWorld.__cache__={};Module["btDynamicsWorld"]=btDynamicsWorld;btDynamicsWorld.prototype["addAction"]=btDynamicsWorld.prototype.addAction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDynamicsWorld_addAction_1(self,arg0)});btDynamicsWorld.prototype["removeAction"]=btDynamicsWorld.prototype.removeAction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDynamicsWorld_removeAction_1(self,arg0)});btDynamicsWorld.prototype["getSolverInfo"]=btDynamicsWorld.prototype.getSolverInfo=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getSolverInfo_0(self),btContactSolverInfo)});btDynamicsWorld.prototype["getDispatcher"]=btDynamicsWorld.prototype.getDispatcher=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getDispatcher_0(self),btDispatcher)});btDynamicsWorld.prototype["rayTest"]=btDynamicsWorld.prototype.rayTest=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btDynamicsWorld_rayTest_3(self,arg0,arg1,arg2)});btDynamicsWorld.prototype["getPairCache"]=btDynamicsWorld.prototype.getPairCache=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getPairCache_0(self),btOverlappingPairCache)});btDynamicsWorld.prototype["getDispatchInfo"]=btDynamicsWorld.prototype.getDispatchInfo=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getDispatchInfo_0(self),btDispatcherInfo)});btDynamicsWorld.prototype["addCollisionObject"]=btDynamicsWorld.prototype.addCollisionObject=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg1===undefined){_emscripten_bind_btDynamicsWorld_addCollisionObject_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btDynamicsWorld_addCollisionObject_2(self,arg0,arg1);return}_emscripten_bind_btDynamicsWorld_addCollisionObject_3(self,arg0,arg1,arg2)});btDynamicsWorld.prototype["removeCollisionObject"]=btDynamicsWorld.prototype.removeCollisionObject=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDynamicsWorld_removeCollisionObject_1(self,arg0)});btDynamicsWorld.prototype["getBroadphase"]=btDynamicsWorld.prototype.getBroadphase=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getBroadphase_0(self),btBroadphaseInterface)});btDynamicsWorld.prototype["convexSweepTest"]=btDynamicsWorld.prototype.convexSweepTest=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;_emscripten_bind_btDynamicsWorld_convexSweepTest_5(self,arg0,arg1,arg2,arg3,arg4)});btDynamicsWorld.prototype["contactPairTest"]=btDynamicsWorld.prototype.contactPairTest=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btDynamicsWorld_contactPairTest_3(self,arg0,arg1,arg2)});btDynamicsWorld.prototype["contactTest"]=btDynamicsWorld.prototype.contactTest=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btDynamicsWorld_contactTest_2(self,arg0,arg1)});btDynamicsWorld.prototype["updateSingleAabb"]=btDynamicsWorld.prototype.updateSingleAabb=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDynamicsWorld_updateSingleAabb_1(self,arg0)});btDynamicsWorld.prototype["__destroy__"]=btDynamicsWorld.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btDynamicsWorld___destroy___0(self)});function btTypedConstraint(){throw"cannot construct a btTypedConstraint, no constructor in IDL"}btTypedConstraint.prototype=Object.create(WrapperObject.prototype);btTypedConstraint.prototype.constructor=btTypedConstraint;btTypedConstraint.prototype.__class__=btTypedConstraint;btTypedConstraint.__cache__={};Module["btTypedConstraint"]=btTypedConstraint;btTypedConstraint.prototype["enableFeedback"]=btTypedConstraint.prototype.enableFeedback=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btTypedConstraint_enableFeedback_1(self,arg0)});btTypedConstraint.prototype["getBreakingImpulseThreshold"]=btTypedConstraint.prototype.getBreakingImpulseThreshold=(function(){var self=this.ptr;return _emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0(self)});btTypedConstraint.prototype["setBreakingImpulseThreshold"]=btTypedConstraint.prototype.setBreakingImpulseThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1(self,arg0)});btTypedConstraint.prototype["getParam"]=btTypedConstraint.prototype.getParam=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_btTypedConstraint_getParam_2(self,arg0,arg1)});btTypedConstraint.prototype["setParam"]=btTypedConstraint.prototype.setParam=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btTypedConstraint_setParam_3(self,arg0,arg1,arg2)});btTypedConstraint.prototype["__destroy__"]=btTypedConstraint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btTypedConstraint___destroy___0(self)});function btConcaveShape(){throw"cannot construct a btConcaveShape, no constructor in IDL"}btConcaveShape.prototype=Object.create(btCollisionShape.prototype);btConcaveShape.prototype.constructor=btConcaveShape;btConcaveShape.prototype.__class__=btConcaveShape;btConcaveShape.__cache__={};Module["btConcaveShape"]=btConcaveShape;btConcaveShape.prototype["setLocalScaling"]=btConcaveShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConcaveShape_setLocalScaling_1(self,arg0)});btConcaveShape.prototype["getLocalScaling"]=btConcaveShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btConcaveShape_getLocalScaling_0(self),btVector3)});btConcaveShape.prototype["calculateLocalInertia"]=btConcaveShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btConcaveShape_calculateLocalInertia_2(self,arg0,arg1)});btConcaveShape.prototype["__destroy__"]=btConcaveShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btConcaveShape___destroy___0(self)});function btCapsuleShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;this.ptr=_emscripten_bind_btCapsuleShape_btCapsuleShape_2(arg0,arg1);getCache(btCapsuleShape)[this.ptr]=this}btCapsuleShape.prototype=Object.create(btCollisionShape.prototype);btCapsuleShape.prototype.constructor=btCapsuleShape;btCapsuleShape.prototype.__class__=btCapsuleShape;btCapsuleShape.__cache__={};Module["btCapsuleShape"]=btCapsuleShape;btCapsuleShape.prototype["setMargin"]=btCapsuleShape.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCapsuleShape_setMargin_1(self,arg0)});btCapsuleShape.prototype["getMargin"]=btCapsuleShape.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShape_getMargin_0(self)});btCapsuleShape.prototype["getUpAxis"]=btCapsuleShape.prototype.getUpAxis=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShape_getUpAxis_0(self)});btCapsuleShape.prototype["getRadius"]=btCapsuleShape.prototype.getRadius=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShape_getRadius_0(self)});btCapsuleShape.prototype["getHalfHeight"]=btCapsuleShape.prototype.getHalfHeight=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShape_getHalfHeight_0(self)});btCapsuleShape.prototype["setLocalScaling"]=btCapsuleShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCapsuleShape_setLocalScaling_1(self,arg0)});btCapsuleShape.prototype["getLocalScaling"]=btCapsuleShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCapsuleShape_getLocalScaling_0(self),btVector3)});btCapsuleShape.prototype["calculateLocalInertia"]=btCapsuleShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCapsuleShape_calculateLocalInertia_2(self,arg0,arg1)});btCapsuleShape.prototype["__destroy__"]=btCapsuleShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCapsuleShape___destroy___0(self)});function btDefaultCollisionConfiguration(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg0===undefined){this.ptr=_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0();getCache(btDefaultCollisionConfiguration)[this.ptr]=this;return}this.ptr=_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1(arg0);getCache(btDefaultCollisionConfiguration)[this.ptr]=this}btDefaultCollisionConfiguration.prototype=Object.create(WrapperObject.prototype);btDefaultCollisionConfiguration.prototype.constructor=btDefaultCollisionConfiguration;btDefaultCollisionConfiguration.prototype.__class__=btDefaultCollisionConfiguration;btDefaultCollisionConfiguration.__cache__={};Module["btDefaultCollisionConfiguration"]=btDefaultCollisionConfiguration;btDefaultCollisionConfiguration.prototype["__destroy__"]=btDefaultCollisionConfiguration.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btDefaultCollisionConfiguration___destroy___0(self)});function ConvexResultCallback(){throw"cannot construct a ConvexResultCallback, no constructor in IDL"}ConvexResultCallback.prototype=Object.create(WrapperObject.prototype);ConvexResultCallback.prototype.constructor=ConvexResultCallback;ConvexResultCallback.prototype.__class__=ConvexResultCallback;ConvexResultCallback.__cache__={};Module["ConvexResultCallback"]=ConvexResultCallback;ConvexResultCallback.prototype["hasHit"]=ConvexResultCallback.prototype.hasHit=(function(){var self=this.ptr;return!!_emscripten_bind_ConvexResultCallback_hasHit_0(self)});ConvexResultCallback.prototype["get_m_collisionFilterGroup"]=ConvexResultCallback.prototype.get_m_collisionFilterGroup=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0(self)});ConvexResultCallback.prototype["set_m_collisionFilterGroup"]=ConvexResultCallback.prototype.set_m_collisionFilterGroup=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1(self,arg0)});ConvexResultCallback.prototype["get_m_collisionFilterMask"]=ConvexResultCallback.prototype.get_m_collisionFilterMask=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0(self)});ConvexResultCallback.prototype["set_m_collisionFilterMask"]=ConvexResultCallback.prototype.set_m_collisionFilterMask=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1(self,arg0)});ConvexResultCallback.prototype["get_m_closestHitFraction"]=ConvexResultCallback.prototype.get_m_closestHitFraction=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0(self)});ConvexResultCallback.prototype["set_m_closestHitFraction"]=ConvexResultCallback.prototype.set_m_closestHitFraction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1(self,arg0)});ConvexResultCallback.prototype["__destroy__"]=ConvexResultCallback.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_ConvexResultCallback___destroy___0(self)});function btTriangleMeshShape(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL"}btTriangleMeshShape.prototype=Object.create(btConcaveShape.prototype);btTriangleMeshShape.prototype.constructor=btTriangleMeshShape;btTriangleMeshShape.prototype.__class__=btTriangleMeshShape;btTriangleMeshShape.__cache__={};Module["btTriangleMeshShape"]=btTriangleMeshShape;btTriangleMeshShape.prototype["setLocalScaling"]=btTriangleMeshShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btTriangleMeshShape_setLocalScaling_1(self,arg0)});btTriangleMeshShape.prototype["getLocalScaling"]=btTriangleMeshShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btTriangleMeshShape_getLocalScaling_0(self),btVector3)});btTriangleMeshShape.prototype["calculateLocalInertia"]=btTriangleMeshShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2(self,arg0,arg1)});btTriangleMeshShape.prototype["__destroy__"]=btTriangleMeshShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btTriangleMeshShape___destroy___0(self)});function RayResultCallback(){throw"cannot construct a RayResultCallback, no constructor in IDL"}RayResultCallback.prototype=Object.create(WrapperObject.prototype);RayResultCallback.prototype.constructor=RayResultCallback;RayResultCallback.prototype.__class__=RayResultCallback;RayResultCallback.__cache__={};Module["RayResultCallback"]=RayResultCallback;RayResultCallback.prototype["hasHit"]=RayResultCallback.prototype.hasHit=(function(){var self=this.ptr;return!!_emscripten_bind_RayResultCallback_hasHit_0(self)});RayResultCallback.prototype["get_m_collisionFilterGroup"]=RayResultCallback.prototype.get_m_collisionFilterGroup=(function(){var self=this.ptr;return _emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0(self)});RayResultCallback.prototype["set_m_collisionFilterGroup"]=RayResultCallback.prototype.set_m_collisionFilterGroup=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1(self,arg0)});RayResultCallback.prototype["get_m_collisionFilterMask"]=RayResultCallback.prototype.get_m_collisionFilterMask=(function(){var self=this.ptr;return _emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0(self)});RayResultCallback.prototype["set_m_collisionFilterMask"]=RayResultCallback.prototype.set_m_collisionFilterMask=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1(self,arg0)});RayResultCallback.prototype["get_m_collisionObject"]=RayResultCallback.prototype.get_m_collisionObject=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_RayResultCallback_get_m_collisionObject_0(self),btCollisionObject)});RayResultCallback.prototype["set_m_collisionObject"]=RayResultCallback.prototype.set_m_collisionObject=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RayResultCallback_set_m_collisionObject_1(self,arg0)});RayResultCallback.prototype["__destroy__"]=RayResultCallback.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_RayResultCallback___destroy___0(self)});function btConeShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;this.ptr=_emscripten_bind_btConeShape_btConeShape_2(arg0,arg1);getCache(btConeShape)[this.ptr]=this}btConeShape.prototype=Object.create(btCollisionShape.prototype);btConeShape.prototype.constructor=btConeShape;btConeShape.prototype.__class__=btConeShape;btConeShape.__cache__={};Module["btConeShape"]=btConeShape;btConeShape.prototype["setLocalScaling"]=btConeShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeShape_setLocalScaling_1(self,arg0)});btConeShape.prototype["getLocalScaling"]=btConeShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btConeShape_getLocalScaling_0(self),btVector3)});btConeShape.prototype["calculateLocalInertia"]=btConeShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btConeShape_calculateLocalInertia_2(self,arg0,arg1)});btConeShape.prototype["__destroy__"]=btConeShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btConeShape___destroy___0(self)});function btActionInterface(){throw"cannot construct a btActionInterface, no constructor in IDL"}btActionInterface.prototype=Object.create(WrapperObject.prototype);btActionInterface.prototype.constructor=btActionInterface;btActionInterface.prototype.__class__=btActionInterface;btActionInterface.__cache__={};Module["btActionInterface"]=btActionInterface;btActionInterface.prototype["updateAction"]=btActionInterface.prototype.updateAction=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btActionInterface_updateAction_2(self,arg0,arg1)});btActionInterface.prototype["__destroy__"]=btActionInterface.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btActionInterface___destroy___0(self)});function btVector3(arg0,arg1,arg2){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg0===undefined){this.ptr=_emscripten_bind_btVector3_btVector3_0();getCache(btVector3)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btVector3_btVector3_1(arg0);getCache(btVector3)[this.ptr]=this;return}if(arg2===undefined){this.ptr=_emscripten_bind_btVector3_btVector3_2(arg0,arg1);getCache(btVector3)[this.ptr]=this;return}this.ptr=_emscripten_bind_btVector3_btVector3_3(arg0,arg1,arg2);getCache(btVector3)[this.ptr]=this}btVector3.prototype=Object.create(WrapperObject.prototype);btVector3.prototype.constructor=btVector3;btVector3.prototype.__class__=btVector3;btVector3.__cache__={};Module["btVector3"]=btVector3;btVector3.prototype["length"]=btVector3.prototype.length=(function(){var self=this.ptr;return _emscripten_bind_btVector3_length_0(self)});btVector3.prototype["x"]=btVector3.prototype.x=(function(){var self=this.ptr;return _emscripten_bind_btVector3_x_0(self)});btVector3.prototype["y"]=btVector3.prototype.y=(function(){var self=this.ptr;return _emscripten_bind_btVector3_y_0(self)});btVector3.prototype["z"]=btVector3.prototype.z=(function(){var self=this.ptr;return _emscripten_bind_btVector3_z_0(self)});btVector3.prototype["setX"]=btVector3.prototype.setX=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVector3_setX_1(self,arg0)});btVector3.prototype["setY"]=btVector3.prototype.setY=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVector3_setY_1(self,arg0)});btVector3.prototype["setZ"]=btVector3.prototype.setZ=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVector3_setZ_1(self,arg0)});btVector3.prototype["setValue"]=btVector3.prototype.setValue=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btVector3_setValue_3(self,arg0,arg1,arg2)});btVector3.prototype["normalize"]=btVector3.prototype.normalize=(function(){var self=this.ptr;_emscripten_bind_btVector3_normalize_0(self)});btVector3.prototype["rotate"]=btVector3.prototype.rotate=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_btVector3_rotate_2(self,arg0,arg1),btVector3)});btVector3.prototype["dot"]=btVector3.prototype.dot=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_btVector3_dot_1(self,arg0)});btVector3.prototype["op_mul"]=btVector3.prototype.op_mul=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btVector3_op_mul_1(self,arg0),btVector3)});btVector3.prototype["op_add"]=btVector3.prototype.op_add=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btVector3_op_add_1(self,arg0),btVector3)});btVector3.prototype["op_sub"]=btVector3.prototype.op_sub=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btVector3_op_sub_1(self,arg0),btVector3)});btVector3.prototype["__destroy__"]=btVector3.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btVector3___destroy___0(self)});function btVehicleRaycaster(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL"}btVehicleRaycaster.prototype=Object.create(WrapperObject.prototype);btVehicleRaycaster.prototype.constructor=btVehicleRaycaster;btVehicleRaycaster.prototype.__class__=btVehicleRaycaster;btVehicleRaycaster.__cache__={};Module["btVehicleRaycaster"]=btVehicleRaycaster;btVehicleRaycaster.prototype["castRay"]=btVehicleRaycaster.prototype.castRay=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btVehicleRaycaster_castRay_3(self,arg0,arg1,arg2)});btVehicleRaycaster.prototype["__destroy__"]=btVehicleRaycaster.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btVehicleRaycaster___destroy___0(self)});function btQuadWord(){throw"cannot construct a btQuadWord, no constructor in IDL"}btQuadWord.prototype=Object.create(WrapperObject.prototype);btQuadWord.prototype.constructor=btQuadWord;btQuadWord.prototype.__class__=btQuadWord;btQuadWord.__cache__={};Module["btQuadWord"]=btQuadWord;btQuadWord.prototype["x"]=btQuadWord.prototype.x=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_x_0(self)});btQuadWord.prototype["y"]=btQuadWord.prototype.y=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_y_0(self)});btQuadWord.prototype["z"]=btQuadWord.prototype.z=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_z_0(self)});btQuadWord.prototype["w"]=btQuadWord.prototype.w=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_w_0(self)});btQuadWord.prototype["setX"]=btQuadWord.prototype.setX=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btQuadWord_setX_1(self,arg0)});btQuadWord.prototype["setY"]=btQuadWord.prototype.setY=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btQuadWord_setY_1(self,arg0)});btQuadWord.prototype["setZ"]=btQuadWord.prototype.setZ=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btQuadWord_setZ_1(self,arg0)});btQuadWord.prototype["setW"]=btQuadWord.prototype.setW=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btQuadWord_setW_1(self,arg0)});btQuadWord.prototype["__destroy__"]=btQuadWord.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btQuadWord___destroy___0(self)});function btCylinderShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;this.ptr=_emscripten_bind_btCylinderShape_btCylinderShape_1(arg0);getCache(btCylinderShape)[this.ptr]=this}btCylinderShape.prototype=Object.create(btCollisionShape.prototype);btCylinderShape.prototype.constructor=btCylinderShape;btCylinderShape.prototype.__class__=btCylinderShape;btCylinderShape.__cache__={};Module["btCylinderShape"]=btCylinderShape;btCylinderShape.prototype["setMargin"]=btCylinderShape.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCylinderShape_setMargin_1(self,arg0)});btCylinderShape.prototype["getMargin"]=btCylinderShape.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btCylinderShape_getMargin_0(self)});btCylinderShape.prototype["setLocalScaling"]=btCylinderShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCylinderShape_setLocalScaling_1(self,arg0)});btCylinderShape.prototype["getLocalScaling"]=btCylinderShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCylinderShape_getLocalScaling_0(self),btVector3)});btCylinderShape.prototype["calculateLocalInertia"]=btCylinderShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCylinderShape_calculateLocalInertia_2(self,arg0,arg1)});btCylinderShape.prototype["__destroy__"]=btCylinderShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCylinderShape___destroy___0(self)});function btDiscreteDynamicsWorld(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;this.ptr=_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4(arg0,arg1,arg2,arg3);getCache(btDiscreteDynamicsWorld)[this.ptr]=this}btDiscreteDynamicsWorld.prototype=Object.create(btDynamicsWorld.prototype);btDiscreteDynamicsWorld.prototype.constructor=btDiscreteDynamicsWorld;btDiscreteDynamicsWorld.prototype.__class__=btDiscreteDynamicsWorld;btDiscreteDynamicsWorld.__cache__={};Module["btDiscreteDynamicsWorld"]=btDiscreteDynamicsWorld;btDiscreteDynamicsWorld.prototype["setGravity"]=btDiscreteDynamicsWorld.prototype.setGravity=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1(self,arg0)});btDiscreteDynamicsWorld.prototype["getGravity"]=btDiscreteDynamicsWorld.prototype.getGravity=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0(self),btVector3)});btDiscreteDynamicsWorld.prototype["addRigidBody"]=btDiscreteDynamicsWorld.prototype.addRigidBody=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg1===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(self,arg0,arg1);return}_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["removeRigidBody"]=btDiscreteDynamicsWorld.prototype.removeRigidBody=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1(self,arg0)});btDiscreteDynamicsWorld.prototype["addVehicle"]=btDiscreteDynamicsWorld.prototype.addVehicle=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDiscreteDynamicsWorld_addVehicle_1(self,arg0)});btDiscreteDynamicsWorld.prototype["removeVehicle"]=btDiscreteDynamicsWorld.prototype.removeVehicle=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDiscreteDynamicsWorld_removeVehicle_1(self,arg0)});btDiscreteDynamicsWorld.prototype["addConstraint"]=btDiscreteDynamicsWorld.prototype.addConstraint=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg1===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1(self,arg0);return}_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2(self,arg0,arg1)});btDiscreteDynamicsWorld.prototype["removeConstraint"]=btDiscreteDynamicsWorld.prototype.removeConstraint=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1(self,arg0)});btDiscreteDynamicsWorld.prototype["stepSimulation"]=btDiscreteDynamicsWorld.prototype.stepSimulation=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg1===undefined){return _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1(self,arg0)}if(arg2===undefined){return _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2(self,arg0,arg1)}return _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["getDispatcher"]=btDiscreteDynamicsWorld.prototype.getDispatcher=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0(self),btDispatcher)});btDiscreteDynamicsWorld.prototype["rayTest"]=btDiscreteDynamicsWorld.prototype.rayTest=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["getPairCache"]=btDiscreteDynamicsWorld.prototype.getPairCache=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0(self),btOverlappingPairCache)});btDiscreteDynamicsWorld.prototype["getDispatchInfo"]=btDiscreteDynamicsWorld.prototype.getDispatchInfo=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0(self),btDispatcherInfo)});btDiscreteDynamicsWorld.prototype["addCollisionObject"]=btDiscreteDynamicsWorld.prototype.addCollisionObject=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg1===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2(self,arg0,arg1);return}_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["removeCollisionObject"]=btDiscreteDynamicsWorld.prototype.removeCollisionObject=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1(self,arg0)});btDiscreteDynamicsWorld.prototype["getBroadphase"]=btDiscreteDynamicsWorld.prototype.getBroadphase=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0(self),btBroadphaseInterface)});btDiscreteDynamicsWorld.prototype["convexSweepTest"]=btDiscreteDynamicsWorld.prototype.convexSweepTest=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5(self,arg0,arg1,arg2,arg3,arg4)});btDiscreteDynamicsWorld.prototype["contactPairTest"]=btDiscreteDynamicsWorld.prototype.contactPairTest=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["contactTest"]=btDiscreteDynamicsWorld.prototype.contactTest=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2(self,arg0,arg1)});btDiscreteDynamicsWorld.prototype["updateSingleAabb"]=btDiscreteDynamicsWorld.prototype.updateSingleAabb=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1(self,arg0)});btDiscreteDynamicsWorld.prototype["addAction"]=btDiscreteDynamicsWorld.prototype.addAction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDiscreteDynamicsWorld_addAction_1(self,arg0)});btDiscreteDynamicsWorld.prototype["removeAction"]=btDiscreteDynamicsWorld.prototype.removeAction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1(self,arg0)});btDiscreteDynamicsWorld.prototype["getSolverInfo"]=btDiscreteDynamicsWorld.prototype.getSolverInfo=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0(self),btContactSolverInfo)});btDiscreteDynamicsWorld.prototype["__destroy__"]=btDiscreteDynamicsWorld.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btDiscreteDynamicsWorld___destroy___0(self)});function btConvexShape(){throw"cannot construct a btConvexShape, no constructor in IDL"}btConvexShape.prototype=Object.create(btCollisionShape.prototype);btConvexShape.prototype.constructor=btConvexShape;btConvexShape.prototype.__class__=btConvexShape;btConvexShape.__cache__={};Module["btConvexShape"]=btConvexShape;btConvexShape.prototype["setLocalScaling"]=btConvexShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConvexShape_setLocalScaling_1(self,arg0)});btConvexShape.prototype["getLocalScaling"]=btConvexShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btConvexShape_getLocalScaling_0(self),btVector3)});btConvexShape.prototype["calculateLocalInertia"]=btConvexShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btConvexShape_calculateLocalInertia_2(self,arg0,arg1)});btConvexShape.prototype["setMargin"]=btConvexShape.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConvexShape_setMargin_1(self,arg0)});btConvexShape.prototype["getMargin"]=btConvexShape.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btConvexShape_getMargin_0(self)});btConvexShape.prototype["__destroy__"]=btConvexShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btConvexShape___destroy___0(self)});function btDispatcher(){throw"cannot construct a btDispatcher, no constructor in IDL"}btDispatcher.prototype=Object.create(WrapperObject.prototype);btDispatcher.prototype.constructor=btDispatcher;btDispatcher.prototype.__class__=btDispatcher;btDispatcher.__cache__={};Module["btDispatcher"]=btDispatcher;btDispatcher.prototype["getNumManifolds"]=btDispatcher.prototype.getNumManifolds=(function(){var self=this.ptr;return _emscripten_bind_btDispatcher_getNumManifolds_0(self)});btDispatcher.prototype["getManifoldByIndexInternal"]=btDispatcher.prototype.getManifoldByIndexInternal=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1(self,arg0),btPersistentManifold)});btDispatcher.prototype["__destroy__"]=btDispatcher.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btDispatcher___destroy___0(self)});function btGeneric6DofConstraint(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg3===undefined){this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3(arg0,arg1,arg2);getCache(btGeneric6DofConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(arg0,arg1,arg2,arg3);getCache(btGeneric6DofConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btGeneric6DofConstraint)[this.ptr]=this}btGeneric6DofConstraint.prototype=Object.create(btTypedConstraint.prototype);btGeneric6DofConstraint.prototype.constructor=btGeneric6DofConstraint;btGeneric6DofConstraint.prototype.__class__=btGeneric6DofConstraint;btGeneric6DofConstraint.__cache__={};Module["btGeneric6DofConstraint"]=btGeneric6DofConstraint;btGeneric6DofConstraint.prototype["setLinearLowerLimit"]=btGeneric6DofConstraint.prototype.setLinearLowerLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1(self,arg0)});btGeneric6DofConstraint.prototype["setLinearUpperLimit"]=btGeneric6DofConstraint.prototype.setLinearUpperLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1(self,arg0)});btGeneric6DofConstraint.prototype["setAngularLowerLimit"]=btGeneric6DofConstraint.prototype.setAngularLowerLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1(self,arg0)});btGeneric6DofConstraint.prototype["setAngularUpperLimit"]=btGeneric6DofConstraint.prototype.setAngularUpperLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1(self,arg0)});btGeneric6DofConstraint.prototype["getRotationalLimitMotor"]=btGeneric6DofConstraint.prototype.getRotationalLimitMotor=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btGeneric6DofConstraint_getRotationalLimitMotor_1(self,arg0),btRotationalLimitMotor)});btGeneric6DofConstraint.prototype["enableFeedback"]=btGeneric6DofConstraint.prototype.enableFeedback=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1(self,arg0)});btGeneric6DofConstraint.prototype["getBreakingImpulseThreshold"]=btGeneric6DofConstraint.prototype.getBreakingImpulseThreshold=(function(){var self=this.ptr;return _emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0(self)});btGeneric6DofConstraint.prototype["setBreakingImpulseThreshold"]=btGeneric6DofConstraint.prototype.setBreakingImpulseThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1(self,arg0)});btGeneric6DofConstraint.prototype["getParam"]=btGeneric6DofConstraint.prototype.getParam=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_btGeneric6DofConstraint_getParam_2(self,arg0,arg1)});btGeneric6DofConstraint.prototype["setParam"]=btGeneric6DofConstraint.prototype.setParam=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btGeneric6DofConstraint_setParam_3(self,arg0,arg1,arg2)});btGeneric6DofConstraint.prototype["__destroy__"]=btGeneric6DofConstraint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btGeneric6DofConstraint___destroy___0(self)});function btStridingMeshInterface(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL"}btStridingMeshInterface.prototype=Object.create(WrapperObject.prototype);btStridingMeshInterface.prototype.constructor=btStridingMeshInterface;btStridingMeshInterface.prototype.__class__=btStridingMeshInterface;btStridingMeshInterface.__cache__={};Module["btStridingMeshInterface"]=btStridingMeshInterface;btStridingMeshInterface.prototype["__destroy__"]=btStridingMeshInterface.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btStridingMeshInterface___destroy___0(self)});function btMotionState(){throw"cannot construct a btMotionState, no constructor in IDL"}btMotionState.prototype=Object.create(WrapperObject.prototype);btMotionState.prototype.constructor=btMotionState;btMotionState.prototype.__class__=btMotionState;btMotionState.__cache__={};Module["btMotionState"]=btMotionState;btMotionState.prototype["getWorldTransform"]=btMotionState.prototype.getWorldTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btMotionState_getWorldTransform_1(self,arg0)});btMotionState.prototype["setWorldTransform"]=btMotionState.prototype.setWorldTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btMotionState_setWorldTransform_1(self,arg0)});btMotionState.prototype["__destroy__"]=btMotionState.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btMotionState___destroy___0(self)});function ContactResultCallback(){throw"cannot construct a ContactResultCallback, no constructor in IDL"}ContactResultCallback.prototype=Object.create(WrapperObject.prototype);ContactResultCallback.prototype.constructor=ContactResultCallback;ContactResultCallback.prototype.__class__=ContactResultCallback;ContactResultCallback.__cache__={};Module["ContactResultCallback"]=ContactResultCallback;ContactResultCallback.prototype["addSingleResult"]=ContactResultCallback.prototype.addSingleResult=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg5&&typeof arg5==="object")arg5=arg5.ptr;if(arg6&&typeof arg6==="object")arg6=arg6.ptr;return _emscripten_bind_ContactResultCallback_addSingleResult_7(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6)});ContactResultCallback.prototype["__destroy__"]=ContactResultCallback.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_ContactResultCallback___destroy___0(self)});function btSoftBodySolver(){throw"cannot construct a btSoftBodySolver, no constructor in IDL"}btSoftBodySolver.prototype=Object.create(WrapperObject.prototype);btSoftBodySolver.prototype.constructor=btSoftBodySolver;btSoftBodySolver.prototype.__class__=btSoftBodySolver;btSoftBodySolver.__cache__={};Module["btSoftBodySolver"]=btSoftBodySolver;btSoftBodySolver.prototype["__destroy__"]=btSoftBodySolver.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btSoftBodySolver___destroy___0(self)});function btGhostObject(){this.ptr=_emscripten_bind_btGhostObject_btGhostObject_0();getCache(btGhostObject)[this.ptr]=this}btGhostObject.prototype=Object.create(btCollisionObject.prototype);btGhostObject.prototype.constructor=btGhostObject;btGhostObject.prototype.__class__=btGhostObject;btGhostObject.__cache__={};Module["btGhostObject"]=btGhostObject;btGhostObject.prototype["getNumOverlappingObjects"]=btGhostObject.prototype.getNumOverlappingObjects=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_getNumOverlappingObjects_0(self)});btGhostObject.prototype["getOverlappingObject"]=btGhostObject.prototype.getOverlappingObject=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btGhostObject_getOverlappingObject_1(self,arg0),btCollisionObject)});btGhostObject.prototype["setAnisotropicFriction"]=btGhostObject.prototype.setAnisotropicFriction=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btGhostObject_setAnisotropicFriction_2(self,arg0,arg1)});btGhostObject.prototype["getCollisionShape"]=btGhostObject.prototype.getCollisionShape=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btGhostObject_getCollisionShape_0(self),btCollisionShape)});btGhostObject.prototype["setContactProcessingThreshold"]=btGhostObject.prototype.setContactProcessingThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setContactProcessingThreshold_1(self,arg0)});btGhostObject.prototype["setActivationState"]=btGhostObject.prototype.setActivationState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setActivationState_1(self,arg0)});btGhostObject.prototype["forceActivationState"]=btGhostObject.prototype.forceActivationState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_forceActivationState_1(self,arg0)});btGhostObject.prototype["activate"]=btGhostObject.prototype.activate=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg0===undefined){_emscripten_bind_btGhostObject_activate_0(self);return}_emscripten_bind_btGhostObject_activate_1(self,arg0)});btGhostObject.prototype["isActive"]=btGhostObject.prototype.isActive=(function(){var self=this.ptr;return!!_emscripten_bind_btGhostObject_isActive_0(self)});btGhostObject.prototype["isKinematicObject"]=btGhostObject.prototype.isKinematicObject=(function(){var self=this.ptr;return!!_emscripten_bind_btGhostObject_isKinematicObject_0(self)});btGhostObject.prototype["isStaticObject"]=btGhostObject.prototype.isStaticObject=(function(){var self=this.ptr;return!!_emscripten_bind_btGhostObject_isStaticObject_0(self)});btGhostObject.prototype["isStaticOrKinematicObject"]=btGhostObject.prototype.isStaticOrKinematicObject=(function(){var self=this.ptr;return!!_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0(self)});btGhostObject.prototype["setRestitution"]=btGhostObject.prototype.setRestitution=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setRestitution_1(self,arg0)});btGhostObject.prototype["setFriction"]=btGhostObject.prototype.setFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setFriction_1(self,arg0)});btGhostObject.prototype["setRollingFriction"]=btGhostObject.prototype.setRollingFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setRollingFriction_1(self,arg0)});btGhostObject.prototype["getWorldTransform"]=btGhostObject.prototype.getWorldTransform=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btGhostObject_getWorldTransform_0(self),btTransform)});btGhostObject.prototype["getCollisionFlags"]=btGhostObject.prototype.getCollisionFlags=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_getCollisionFlags_0(self)});btGhostObject.prototype["setCollisionFlags"]=btGhostObject.prototype.setCollisionFlags=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setCollisionFlags_1(self,arg0)});btGhostObject.prototype["setWorldTransform"]=btGhostObject.prototype.setWorldTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setWorldTransform_1(self,arg0)});btGhostObject.prototype["setCollisionShape"]=btGhostObject.prototype.setCollisionShape=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setCollisionShape_1(self,arg0)});btGhostObject.prototype["setCcdMotionThreshold"]=btGhostObject.prototype.setCcdMotionThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setCcdMotionThreshold_1(self,arg0)});btGhostObject.prototype["setCcdSweptSphereRadius"]=btGhostObject.prototype.setCcdSweptSphereRadius=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1(self,arg0)});btGhostObject.prototype["getUserIndex"]=btGhostObject.prototype.getUserIndex=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_getUserIndex_0(self)});btGhostObject.prototype["setUserIndex"]=btGhostObject.prototype.setUserIndex=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setUserIndex_1(self,arg0)});btGhostObject.prototype["getUserPointer"]=btGhostObject.prototype.getUserPointer=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btGhostObject_getUserPointer_0(self),VoidPtr)});btGhostObject.prototype["setUserPointer"]=btGhostObject.prototype.setUserPointer=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGhostObject_setUserPointer_1(self,arg0)});btGhostObject.prototype["__destroy__"]=btGhostObject.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btGhostObject___destroy___0(self)});function btMatrix3x3(){throw"cannot construct a btMatrix3x3, no constructor in IDL"}btMatrix3x3.prototype=Object.create(WrapperObject.prototype);btMatrix3x3.prototype.constructor=btMatrix3x3;btMatrix3x3.prototype.__class__=btMatrix3x3;btMatrix3x3.__cache__={};Module["btMatrix3x3"]=btMatrix3x3;btMatrix3x3.prototype["setEulerZYX"]=btMatrix3x3.prototype.setEulerZYX=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btMatrix3x3_setEulerZYX_3(self,arg0,arg1,arg2)});btMatrix3x3.prototype["getRotation"]=btMatrix3x3.prototype.getRotation=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btMatrix3x3_getRotation_1(self,arg0)});btMatrix3x3.prototype["getRow"]=btMatrix3x3.prototype.getRow=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btMatrix3x3_getRow_1(self,arg0),btVector3)});btMatrix3x3.prototype["__destroy__"]=btMatrix3x3.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btMatrix3x3___destroy___0(self)});function btDispatcherInfo(){throw"cannot construct a btDispatcherInfo, no constructor in IDL"}btDispatcherInfo.prototype=Object.create(WrapperObject.prototype);btDispatcherInfo.prototype.constructor=btDispatcherInfo;btDispatcherInfo.prototype.__class__=btDispatcherInfo;btDispatcherInfo.__cache__={};Module["btDispatcherInfo"]=btDispatcherInfo;btDispatcherInfo.prototype["get_m_timeStep"]=btDispatcherInfo.prototype.get_m_timeStep=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_timeStep_0(self)});btDispatcherInfo.prototype["set_m_timeStep"]=btDispatcherInfo.prototype.set_m_timeStep=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_timeStep_1(self,arg0)});btDispatcherInfo.prototype["get_m_stepCount"]=btDispatcherInfo.prototype.get_m_stepCount=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_stepCount_0(self)});btDispatcherInfo.prototype["set_m_stepCount"]=btDispatcherInfo.prototype.set_m_stepCount=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_stepCount_1(self,arg0)});btDispatcherInfo.prototype["get_m_dispatchFunc"]=btDispatcherInfo.prototype.get_m_dispatchFunc=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0(self)});btDispatcherInfo.prototype["set_m_dispatchFunc"]=btDispatcherInfo.prototype.set_m_dispatchFunc=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1(self,arg0)});btDispatcherInfo.prototype["get_m_timeOfImpact"]=btDispatcherInfo.prototype.get_m_timeOfImpact=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0(self)});btDispatcherInfo.prototype["set_m_timeOfImpact"]=btDispatcherInfo.prototype.set_m_timeOfImpact=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1(self,arg0)});btDispatcherInfo.prototype["get_m_useContinuous"]=btDispatcherInfo.prototype.get_m_useContinuous=(function(){var self=this.ptr;return!!_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0(self)});btDispatcherInfo.prototype["set_m_useContinuous"]=btDispatcherInfo.prototype.set_m_useContinuous=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1(self,arg0)});btDispatcherInfo.prototype["get_m_enableSatConvex"]=btDispatcherInfo.prototype.get_m_enableSatConvex=(function(){var self=this.ptr;return!!_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0(self)});btDispatcherInfo.prototype["set_m_enableSatConvex"]=btDispatcherInfo.prototype.set_m_enableSatConvex=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1(self,arg0)});btDispatcherInfo.prototype["get_m_enableSPU"]=btDispatcherInfo.prototype.get_m_enableSPU=(function(){var self=this.ptr;return!!_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0(self)});btDispatcherInfo.prototype["set_m_enableSPU"]=btDispatcherInfo.prototype.set_m_enableSPU=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1(self,arg0)});btDispatcherInfo.prototype["get_m_useEpa"]=btDispatcherInfo.prototype.get_m_useEpa=(function(){var self=this.ptr;return!!_emscripten_bind_btDispatcherInfo_get_m_useEpa_0(self)});btDispatcherInfo.prototype["set_m_useEpa"]=btDispatcherInfo.prototype.set_m_useEpa=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_useEpa_1(self,arg0)});btDispatcherInfo.prototype["get_m_allowedCcdPenetration"]=btDispatcherInfo.prototype.get_m_allowedCcdPenetration=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0(self)});btDispatcherInfo.prototype["set_m_allowedCcdPenetration"]=btDispatcherInfo.prototype.set_m_allowedCcdPenetration=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1(self,arg0)});btDispatcherInfo.prototype["get_m_useConvexConservativeDistanceUtil"]=btDispatcherInfo.prototype.get_m_useConvexConservativeDistanceUtil=(function(){var self=this.ptr;return!!_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0(self)});btDispatcherInfo.prototype["set_m_useConvexConservativeDistanceUtil"]=btDispatcherInfo.prototype.set_m_useConvexConservativeDistanceUtil=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1(self,arg0)});btDispatcherInfo.prototype["get_m_convexConservativeDistanceThreshold"]=btDispatcherInfo.prototype.get_m_convexConservativeDistanceThreshold=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0(self)});btDispatcherInfo.prototype["set_m_convexConservativeDistanceThreshold"]=btDispatcherInfo.prototype.set_m_convexConservativeDistanceThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1(self,arg0)});btDispatcherInfo.prototype["__destroy__"]=btDispatcherInfo.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btDispatcherInfo___destroy___0(self)});function Material(){throw"cannot construct a Material, no constructor in IDL"}Material.prototype=Object.create(WrapperObject.prototype);Material.prototype.constructor=Material;Material.prototype.__class__=Material;Material.__cache__={};Module["Material"]=Material;Material.prototype["get_m_kLST"]=Material.prototype.get_m_kLST=(function(){var self=this.ptr;return _emscripten_bind_Material_get_m_kLST_0(self)});Material.prototype["set_m_kLST"]=Material.prototype.set_m_kLST=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Material_set_m_kLST_1(self,arg0)});Material.prototype["get_m_kAST"]=Material.prototype.get_m_kAST=(function(){var self=this.ptr;return _emscripten_bind_Material_get_m_kAST_0(self)});Material.prototype["set_m_kAST"]=Material.prototype.set_m_kAST=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Material_set_m_kAST_1(self,arg0)});Material.prototype["get_m_kVST"]=Material.prototype.get_m_kVST=(function(){var self=this.ptr;return _emscripten_bind_Material_get_m_kVST_0(self)});Material.prototype["set_m_kVST"]=Material.prototype.set_m_kVST=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Material_set_m_kVST_1(self,arg0)});Material.prototype["get_m_flags"]=Material.prototype.get_m_flags=(function(){var self=this.ptr;return _emscripten_bind_Material_get_m_flags_0(self)});Material.prototype["set_m_flags"]=Material.prototype.set_m_flags=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Material_set_m_flags_1(self,arg0)});Material.prototype["__destroy__"]=Material.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Material___destroy___0(self)});function LJoint(){throw"cannot construct a LJoint, no constructor in IDL"}LJoint.prototype=Object.create(WrapperObject.prototype);LJoint.prototype.constructor=LJoint;LJoint.prototype.__class__=LJoint;LJoint.__cache__={};Module["LJoint"]=LJoint;LJoint.prototype["get_m_rpos"]=LJoint.prototype.get_m_rpos=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_LJoint_get_m_rpos_1(self,arg0),btVector3)});LJoint.prototype["set_m_rpos"]=LJoint.prototype.set_m_rpos=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_LJoint_set_m_rpos_2(self,arg0,arg1)});LJoint.prototype["__destroy__"]=LJoint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_LJoint___destroy___0(self)});function btWheelInfoConstructionInfo(){throw"cannot construct a btWheelInfoConstructionInfo, no constructor in IDL"}btWheelInfoConstructionInfo.prototype=Object.create(WrapperObject.prototype);btWheelInfoConstructionInfo.prototype.constructor=btWheelInfoConstructionInfo;btWheelInfoConstructionInfo.prototype.__class__=btWheelInfoConstructionInfo;btWheelInfoConstructionInfo.__cache__={};Module["btWheelInfoConstructionInfo"]=btWheelInfoConstructionInfo;btWheelInfoConstructionInfo.prototype["get_m_chassisConnectionCS"]=btWheelInfoConstructionInfo.prototype.get_m_chassisConnectionCS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0(self),btVector3)});btWheelInfoConstructionInfo.prototype["set_m_chassisConnectionCS"]=btWheelInfoConstructionInfo.prototype.set_m_chassisConnectionCS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_wheelDirectionCS"]=btWheelInfoConstructionInfo.prototype.get_m_wheelDirectionCS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0(self),btVector3)});btWheelInfoConstructionInfo.prototype["set_m_wheelDirectionCS"]=btWheelInfoConstructionInfo.prototype.set_m_wheelDirectionCS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_wheelAxleCS"]=btWheelInfoConstructionInfo.prototype.get_m_wheelAxleCS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0(self),btVector3)});btWheelInfoConstructionInfo.prototype["set_m_wheelAxleCS"]=btWheelInfoConstructionInfo.prototype.set_m_wheelAxleCS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_suspensionRestLength"]=btWheelInfoConstructionInfo.prototype.get_m_suspensionRestLength=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0(self)});btWheelInfoConstructionInfo.prototype["set_m_suspensionRestLength"]=btWheelInfoConstructionInfo.prototype.set_m_suspensionRestLength=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_maxSuspensionTravelCm"]=btWheelInfoConstructionInfo.prototype.get_m_maxSuspensionTravelCm=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0(self)});btWheelInfoConstructionInfo.prototype["set_m_maxSuspensionTravelCm"]=btWheelInfoConstructionInfo.prototype.set_m_maxSuspensionTravelCm=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_wheelRadius"]=btWheelInfoConstructionInfo.prototype.get_m_wheelRadius=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0(self)});btWheelInfoConstructionInfo.prototype["set_m_wheelRadius"]=btWheelInfoConstructionInfo.prototype.set_m_wheelRadius=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_suspensionStiffness"]=btWheelInfoConstructionInfo.prototype.get_m_suspensionStiffness=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0(self)});btWheelInfoConstructionInfo.prototype["set_m_suspensionStiffness"]=btWheelInfoConstructionInfo.prototype.set_m_suspensionStiffness=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_wheelsDampingCompression"]=btWheelInfoConstructionInfo.prototype.get_m_wheelsDampingCompression=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0(self)});btWheelInfoConstructionInfo.prototype["set_m_wheelsDampingCompression"]=btWheelInfoConstructionInfo.prototype.set_m_wheelsDampingCompression=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_wheelsDampingRelaxation"]=btWheelInfoConstructionInfo.prototype.get_m_wheelsDampingRelaxation=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0(self)});btWheelInfoConstructionInfo.prototype["set_m_wheelsDampingRelaxation"]=btWheelInfoConstructionInfo.prototype.set_m_wheelsDampingRelaxation=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_frictionSlip"]=btWheelInfoConstructionInfo.prototype.get_m_frictionSlip=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0(self)});btWheelInfoConstructionInfo.prototype["set_m_frictionSlip"]=btWheelInfoConstructionInfo.prototype.set_m_frictionSlip=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_maxSuspensionForce"]=btWheelInfoConstructionInfo.prototype.get_m_maxSuspensionForce=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0(self)});btWheelInfoConstructionInfo.prototype["set_m_maxSuspensionForce"]=btWheelInfoConstructionInfo.prototype.set_m_maxSuspensionForce=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1(self,arg0)});btWheelInfoConstructionInfo.prototype["get_m_bIsFrontWheel"]=btWheelInfoConstructionInfo.prototype.get_m_bIsFrontWheel=(function(){var self=this.ptr;return!!_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0(self)});btWheelInfoConstructionInfo.prototype["set_m_bIsFrontWheel"]=btWheelInfoConstructionInfo.prototype.set_m_bIsFrontWheel=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1(self,arg0)});btWheelInfoConstructionInfo.prototype["__destroy__"]=btWheelInfoConstructionInfo.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btWheelInfoConstructionInfo___destroy___0(self)});function btConvexTriangleMeshShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg1===undefined){this.ptr=_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1(arg0);getCache(btConvexTriangleMeshShape)[this.ptr]=this;return}this.ptr=_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2(arg0,arg1);getCache(btConvexTriangleMeshShape)[this.ptr]=this}btConvexTriangleMeshShape.prototype=Object.create(btConvexShape.prototype);btConvexTriangleMeshShape.prototype.constructor=btConvexTriangleMeshShape;btConvexTriangleMeshShape.prototype.__class__=btConvexTriangleMeshShape;btConvexTriangleMeshShape.__cache__={};Module["btConvexTriangleMeshShape"]=btConvexTriangleMeshShape;btConvexTriangleMeshShape.prototype["setLocalScaling"]=btConvexTriangleMeshShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1(self,arg0)});btConvexTriangleMeshShape.prototype["getLocalScaling"]=btConvexTriangleMeshShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0(self),btVector3)});btConvexTriangleMeshShape.prototype["calculateLocalInertia"]=btConvexTriangleMeshShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2(self,arg0,arg1)});btConvexTriangleMeshShape.prototype["setMargin"]=btConvexTriangleMeshShape.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConvexTriangleMeshShape_setMargin_1(self,arg0)});btConvexTriangleMeshShape.prototype["getMargin"]=btConvexTriangleMeshShape.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btConvexTriangleMeshShape_getMargin_0(self)});btConvexTriangleMeshShape.prototype["__destroy__"]=btConvexTriangleMeshShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btConvexTriangleMeshShape___destroy___0(self)});function btBroadphaseInterface(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL"}btBroadphaseInterface.prototype=Object.create(WrapperObject.prototype);btBroadphaseInterface.prototype.constructor=btBroadphaseInterface;btBroadphaseInterface.prototype.__class__=btBroadphaseInterface;btBroadphaseInterface.__cache__={};Module["btBroadphaseInterface"]=btBroadphaseInterface;btBroadphaseInterface.prototype["__destroy__"]=btBroadphaseInterface.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btBroadphaseInterface___destroy___0(self)});function btRigidBodyConstructionInfo(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg3===undefined){this.ptr=_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3(arg0,arg1,arg2);getCache(btRigidBodyConstructionInfo)[this.ptr]=this;return}this.ptr=_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4(arg0,arg1,arg2,arg3);getCache(btRigidBodyConstructionInfo)[this.ptr]=this}btRigidBodyConstructionInfo.prototype=Object.create(WrapperObject.prototype);btRigidBodyConstructionInfo.prototype.constructor=btRigidBodyConstructionInfo;btRigidBodyConstructionInfo.prototype.__class__=btRigidBodyConstructionInfo;btRigidBodyConstructionInfo.__cache__={};Module["btRigidBodyConstructionInfo"]=btRigidBodyConstructionInfo;btRigidBodyConstructionInfo.prototype["get_m_linearDamping"]=btRigidBodyConstructionInfo.prototype.get_m_linearDamping=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0(self)});btRigidBodyConstructionInfo.prototype["set_m_linearDamping"]=btRigidBodyConstructionInfo.prototype.set_m_linearDamping=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_angularDamping"]=btRigidBodyConstructionInfo.prototype.get_m_angularDamping=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0(self)});btRigidBodyConstructionInfo.prototype["set_m_angularDamping"]=btRigidBodyConstructionInfo.prototype.set_m_angularDamping=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_friction"]=btRigidBodyConstructionInfo.prototype.get_m_friction=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0(self)});btRigidBodyConstructionInfo.prototype["set_m_friction"]=btRigidBodyConstructionInfo.prototype.set_m_friction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_rollingFriction"]=btRigidBodyConstructionInfo.prototype.get_m_rollingFriction=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0(self)});btRigidBodyConstructionInfo.prototype["set_m_rollingFriction"]=btRigidBodyConstructionInfo.prototype.set_m_rollingFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_restitution"]=btRigidBodyConstructionInfo.prototype.get_m_restitution=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0(self)});btRigidBodyConstructionInfo.prototype["set_m_restitution"]=btRigidBodyConstructionInfo.prototype.set_m_restitution=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_linearSleepingThreshold"]=btRigidBodyConstructionInfo.prototype.get_m_linearSleepingThreshold=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0(self)});btRigidBodyConstructionInfo.prototype["set_m_linearSleepingThreshold"]=btRigidBodyConstructionInfo.prototype.set_m_linearSleepingThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_angularSleepingThreshold"]=btRigidBodyConstructionInfo.prototype.get_m_angularSleepingThreshold=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0(self)});btRigidBodyConstructionInfo.prototype["set_m_angularSleepingThreshold"]=btRigidBodyConstructionInfo.prototype.set_m_angularSleepingThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalDamping"]=btRigidBodyConstructionInfo.prototype.get_m_additionalDamping=(function(){var self=this.ptr;return!!_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalDamping"]=btRigidBodyConstructionInfo.prototype.set_m_additionalDamping=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalDampingFactor"]=btRigidBodyConstructionInfo.prototype.get_m_additionalDampingFactor=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalDampingFactor"]=btRigidBodyConstructionInfo.prototype.set_m_additionalDampingFactor=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalLinearDampingThresholdSqr"]=btRigidBodyConstructionInfo.prototype.get_m_additionalLinearDampingThresholdSqr=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalLinearDampingThresholdSqr"]=btRigidBodyConstructionInfo.prototype.set_m_additionalLinearDampingThresholdSqr=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalAngularDampingThresholdSqr"]=btRigidBodyConstructionInfo.prototype.get_m_additionalAngularDampingThresholdSqr=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalAngularDampingThresholdSqr"]=btRigidBodyConstructionInfo.prototype.set_m_additionalAngularDampingThresholdSqr=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalAngularDampingFactor"]=btRigidBodyConstructionInfo.prototype.get_m_additionalAngularDampingFactor=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalAngularDampingFactor"]=btRigidBodyConstructionInfo.prototype.set_m_additionalAngularDampingFactor=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1(self,arg0)});btRigidBodyConstructionInfo.prototype["__destroy__"]=btRigidBodyConstructionInfo.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btRigidBodyConstructionInfo___destroy___0(self)});function btCollisionConfiguration(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL"}btCollisionConfiguration.prototype=Object.create(WrapperObject.prototype);btCollisionConfiguration.prototype.constructor=btCollisionConfiguration;btCollisionConfiguration.prototype.__class__=btCollisionConfiguration;btCollisionConfiguration.__cache__={};Module["btCollisionConfiguration"]=btCollisionConfiguration;btCollisionConfiguration.prototype["__destroy__"]=btCollisionConfiguration.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCollisionConfiguration___destroy___0(self)});function btPersistentManifold(){this.ptr=_emscripten_bind_btPersistentManifold_btPersistentManifold_0();getCache(btPersistentManifold)[this.ptr]=this}btPersistentManifold.prototype=Object.create(WrapperObject.prototype);btPersistentManifold.prototype.constructor=btPersistentManifold;btPersistentManifold.prototype.__class__=btPersistentManifold;btPersistentManifold.__cache__={};Module["btPersistentManifold"]=btPersistentManifold;btPersistentManifold.prototype["getBody0"]=btPersistentManifold.prototype.getBody0=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPersistentManifold_getBody0_0(self),btCollisionObject)});btPersistentManifold.prototype["getBody1"]=btPersistentManifold.prototype.getBody1=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPersistentManifold_getBody1_0(self),btCollisionObject)});btPersistentManifold.prototype["getNumContacts"]=btPersistentManifold.prototype.getNumContacts=(function(){var self=this.ptr;return _emscripten_bind_btPersistentManifold_getNumContacts_0(self)});btPersistentManifold.prototype["getContactPoint"]=btPersistentManifold.prototype.getContactPoint=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btPersistentManifold_getContactPoint_1(self,arg0),btManifoldPoint)});btPersistentManifold.prototype["__destroy__"]=btPersistentManifold.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btPersistentManifold___destroy___0(self)});function Joint(){throw"cannot construct a Joint, no constructor in IDL"}Joint.prototype=Object.create(WrapperObject.prototype);Joint.prototype.constructor=Joint;Joint.prototype.__class__=Joint;Joint.__cache__={};Module["Joint"]=Joint;Joint.prototype["get_m_refs"]=Joint.prototype.get_m_refs=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_Joint_get_m_refs_1(self,arg0),btVector3)});Joint.prototype["set_m_refs"]=Joint.prototype.set_m_refs=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_Joint_set_m_refs_2(self,arg0,arg1)});Joint.prototype["get_m_cfm"]=Joint.prototype.get_m_cfm=(function(){var self=this.ptr;return _emscripten_bind_Joint_get_m_cfm_0(self)});Joint.prototype["set_m_cfm"]=Joint.prototype.set_m_cfm=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Joint_set_m_cfm_1(self,arg0)});Joint.prototype["get_m_erp"]=Joint.prototype.get_m_erp=(function(){var self=this.ptr;return _emscripten_bind_Joint_get_m_erp_0(self)});Joint.prototype["set_m_erp"]=Joint.prototype.set_m_erp=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Joint_set_m_erp_1(self,arg0)});Joint.prototype["get_m_split"]=Joint.prototype.get_m_split=(function(){var self=this.ptr;return _emscripten_bind_Joint_get_m_split_0(self)});Joint.prototype["set_m_split"]=Joint.prototype.set_m_split=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Joint_set_m_split_1(self,arg0)});Joint.prototype["get_m_drift"]=Joint.prototype.get_m_drift=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Joint_get_m_drift_0(self),btVector3)});Joint.prototype["set_m_drift"]=Joint.prototype.set_m_drift=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Joint_set_m_drift_1(self,arg0)});Joint.prototype["get_m_sdrift"]=Joint.prototype.get_m_sdrift=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Joint_get_m_sdrift_0(self),btVector3)});Joint.prototype["set_m_sdrift"]=Joint.prototype.set_m_sdrift=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Joint_set_m_sdrift_1(self,arg0)});Joint.prototype["get_m_massmatrix"]=Joint.prototype.get_m_massmatrix=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Joint_get_m_massmatrix_0(self),btMatrix3x3)});Joint.prototype["set_m_massmatrix"]=Joint.prototype.set_m_massmatrix=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Joint_set_m_massmatrix_1(self,arg0)});Joint.prototype["get_m_delete"]=Joint.prototype.get_m_delete=(function(){var self=this.ptr;return!!_emscripten_bind_Joint_get_m_delete_0(self)});Joint.prototype["set_m_delete"]=Joint.prototype.set_m_delete=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Joint_set_m_delete_1(self,arg0)});Joint.prototype["__destroy__"]=Joint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Joint___destroy___0(self)});function btCompoundShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg0===undefined){this.ptr=_emscripten_bind_btCompoundShape_btCompoundShape_0();getCache(btCompoundShape)[this.ptr]=this;return}this.ptr=_emscripten_bind_btCompoundShape_btCompoundShape_1(arg0);getCache(btCompoundShape)[this.ptr]=this}btCompoundShape.prototype=Object.create(btCollisionShape.prototype);btCompoundShape.prototype.constructor=btCompoundShape;btCompoundShape.prototype.__class__=btCompoundShape;btCompoundShape.__cache__={};Module["btCompoundShape"]=btCompoundShape;btCompoundShape.prototype["addChildShape"]=btCompoundShape.prototype.addChildShape=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCompoundShape_addChildShape_2(self,arg0,arg1)});btCompoundShape.prototype["removeChildShapeByIndex"]=btCompoundShape.prototype.removeChildShapeByIndex=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1(self,arg0)});btCompoundShape.prototype["getNumChildShapes"]=btCompoundShape.prototype.getNumChildShapes=(function(){var self=this.ptr;return _emscripten_bind_btCompoundShape_getNumChildShapes_0(self)});btCompoundShape.prototype["getChildShape"]=btCompoundShape.prototype.getChildShape=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btCompoundShape_getChildShape_1(self,arg0),btCollisionShape)});btCompoundShape.prototype["setMargin"]=btCompoundShape.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCompoundShape_setMargin_1(self,arg0)});btCompoundShape.prototype["getMargin"]=btCompoundShape.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btCompoundShape_getMargin_0(self)});btCompoundShape.prototype["setLocalScaling"]=btCompoundShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCompoundShape_setLocalScaling_1(self,arg0)});btCompoundShape.prototype["getLocalScaling"]=btCompoundShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCompoundShape_getLocalScaling_0(self),btVector3)});btCompoundShape.prototype["calculateLocalInertia"]=btCompoundShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCompoundShape_calculateLocalInertia_2(self,arg0,arg1)});btCompoundShape.prototype["__destroy__"]=btCompoundShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCompoundShape___destroy___0(self)});function ClosestConvexResultCallback(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;this.ptr=_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2(arg0,arg1);getCache(ClosestConvexResultCallback)[this.ptr]=this}ClosestConvexResultCallback.prototype=Object.create(ConvexResultCallback.prototype);ClosestConvexResultCallback.prototype.constructor=ClosestConvexResultCallback;ClosestConvexResultCallback.prototype.__class__=ClosestConvexResultCallback;ClosestConvexResultCallback.__cache__={};Module["ClosestConvexResultCallback"]=ClosestConvexResultCallback;ClosestConvexResultCallback.prototype["hasHit"]=ClosestConvexResultCallback.prototype.hasHit=(function(){var self=this.ptr;return!!_emscripten_bind_ClosestConvexResultCallback_hasHit_0(self)});ClosestConvexResultCallback.prototype["get_m_convexFromWorld"]=ClosestConvexResultCallback.prototype.get_m_convexFromWorld=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_convexFromWorld"]=ClosestConvexResultCallback.prototype.set_m_convexFromWorld=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_convexToWorld"]=ClosestConvexResultCallback.prototype.get_m_convexToWorld=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_convexToWorld"]=ClosestConvexResultCallback.prototype.set_m_convexToWorld=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_hitNormalWorld"]=ClosestConvexResultCallback.prototype.get_m_hitNormalWorld=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_hitNormalWorld"]=ClosestConvexResultCallback.prototype.set_m_hitNormalWorld=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_hitPointWorld"]=ClosestConvexResultCallback.prototype.get_m_hitPointWorld=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_hitPointWorld"]=ClosestConvexResultCallback.prototype.set_m_hitPointWorld=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_collisionFilterGroup"]=ClosestConvexResultCallback.prototype.get_m_collisionFilterGroup=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0(self)});ClosestConvexResultCallback.prototype["set_m_collisionFilterGroup"]=ClosestConvexResultCallback.prototype.set_m_collisionFilterGroup=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_collisionFilterMask"]=ClosestConvexResultCallback.prototype.get_m_collisionFilterMask=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0(self)});ClosestConvexResultCallback.prototype["set_m_collisionFilterMask"]=ClosestConvexResultCallback.prototype.set_m_collisionFilterMask=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_closestHitFraction"]=ClosestConvexResultCallback.prototype.get_m_closestHitFraction=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0(self)});ClosestConvexResultCallback.prototype["set_m_closestHitFraction"]=ClosestConvexResultCallback.prototype.set_m_closestHitFraction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1(self,arg0)});ClosestConvexResultCallback.prototype["__destroy__"]=ClosestConvexResultCallback.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_ClosestConvexResultCallback___destroy___0(self)});function Link(){throw"cannot construct a Link, no constructor in IDL"}Link.prototype=Object.create(WrapperObject.prototype);Link.prototype.constructor=Link;Link.prototype.__class__=Link;Link.__cache__={};Module["Link"]=Link;Link.prototype["get_m_n"]=Link.prototype.get_m_n=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_Link_get_m_n_1(self,arg0),Node)});Link.prototype["set_m_n"]=Link.prototype.set_m_n=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_Link_set_m_n_2(self,arg0,arg1)});Link.prototype["__destroy__"]=Link.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Link___destroy___0(self)});function tMaterialArray(){throw"cannot construct a tMaterialArray, no constructor in IDL"}tMaterialArray.prototype=Object.create(WrapperObject.prototype);tMaterialArray.prototype.constructor=tMaterialArray;tMaterialArray.prototype.__class__=tMaterialArray;tMaterialArray.__cache__={};Module["tMaterialArray"]=tMaterialArray;tMaterialArray.prototype["size"]=tMaterialArray.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_tMaterialArray_size_0(self)});tMaterialArray.prototype["at"]=tMaterialArray.prototype.at=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_tMaterialArray_at_1(self,arg0),Material)});tMaterialArray.prototype["__destroy__"]=tMaterialArray.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_tMaterialArray___destroy___0(self)});function btDefaultVehicleRaycaster(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;this.ptr=_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1(arg0);getCache(btDefaultVehicleRaycaster)[this.ptr]=this}btDefaultVehicleRaycaster.prototype=Object.create(btVehicleRaycaster.prototype);btDefaultVehicleRaycaster.prototype.constructor=btDefaultVehicleRaycaster;btDefaultVehicleRaycaster.prototype.__class__=btDefaultVehicleRaycaster;btDefaultVehicleRaycaster.__cache__={};Module["btDefaultVehicleRaycaster"]=btDefaultVehicleRaycaster;btDefaultVehicleRaycaster.prototype["castRay"]=btDefaultVehicleRaycaster.prototype.castRay=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btDefaultVehicleRaycaster_castRay_3(self,arg0,arg1,arg2)});btDefaultVehicleRaycaster.prototype["__destroy__"]=btDefaultVehicleRaycaster.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btDefaultVehicleRaycaster___destroy___0(self)});function btConstraintSetting(){this.ptr=_emscripten_bind_btConstraintSetting_btConstraintSetting_0();getCache(btConstraintSetting)[this.ptr]=this}btConstraintSetting.prototype=Object.create(WrapperObject.prototype);btConstraintSetting.prototype.constructor=btConstraintSetting;btConstraintSetting.prototype.__class__=btConstraintSetting;btConstraintSetting.__cache__={};Module["btConstraintSetting"]=btConstraintSetting;btConstraintSetting.prototype["get_m_tau"]=btConstraintSetting.prototype.get_m_tau=(function(){var self=this.ptr;return _emscripten_bind_btConstraintSetting_get_m_tau_0(self)});btConstraintSetting.prototype["set_m_tau"]=btConstraintSetting.prototype.set_m_tau=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConstraintSetting_set_m_tau_1(self,arg0)});btConstraintSetting.prototype["get_m_damping"]=btConstraintSetting.prototype.get_m_damping=(function(){var self=this.ptr;return _emscripten_bind_btConstraintSetting_get_m_damping_0(self)});btConstraintSetting.prototype["set_m_damping"]=btConstraintSetting.prototype.set_m_damping=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConstraintSetting_set_m_damping_1(self,arg0)});btConstraintSetting.prototype["get_m_impulseClamp"]=btConstraintSetting.prototype.get_m_impulseClamp=(function(){var self=this.ptr;return _emscripten_bind_btConstraintSetting_get_m_impulseClamp_0(self)});btConstraintSetting.prototype["set_m_impulseClamp"]=btConstraintSetting.prototype.set_m_impulseClamp=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1(self,arg0)});btConstraintSetting.prototype["__destroy__"]=btConstraintSetting.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btConstraintSetting___destroy___0(self)});function LocalShapeInfo(){throw"cannot construct a LocalShapeInfo, no constructor in IDL"}LocalShapeInfo.prototype=Object.create(WrapperObject.prototype);LocalShapeInfo.prototype.constructor=LocalShapeInfo;LocalShapeInfo.prototype.__class__=LocalShapeInfo;LocalShapeInfo.__cache__={};Module["LocalShapeInfo"]=LocalShapeInfo;LocalShapeInfo.prototype["get_m_shapePart"]=LocalShapeInfo.prototype.get_m_shapePart=(function(){var self=this.ptr;return _emscripten_bind_LocalShapeInfo_get_m_shapePart_0(self)});LocalShapeInfo.prototype["set_m_shapePart"]=LocalShapeInfo.prototype.set_m_shapePart=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_LocalShapeInfo_set_m_shapePart_1(self,arg0)});LocalShapeInfo.prototype["get_m_triangleIndex"]=LocalShapeInfo.prototype.get_m_triangleIndex=(function(){var self=this.ptr;return _emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0(self)});LocalShapeInfo.prototype["set_m_triangleIndex"]=LocalShapeInfo.prototype.set_m_triangleIndex=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1(self,arg0)});LocalShapeInfo.prototype["__destroy__"]=LocalShapeInfo.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_LocalShapeInfo___destroy___0(self)});function btRigidBody(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;this.ptr=_emscripten_bind_btRigidBody_btRigidBody_1(arg0);getCache(btRigidBody)[this.ptr]=this}btRigidBody.prototype=Object.create(btCollisionObject.prototype);btRigidBody.prototype.constructor=btRigidBody;btRigidBody.prototype.__class__=btRigidBody;btRigidBody.__cache__={};Module["btRigidBody"]=btRigidBody;btRigidBody.prototype["getCenterOfMassTransform"]=btRigidBody.prototype.getCenterOfMassTransform=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getCenterOfMassTransform_0(self),btTransform)});btRigidBody.prototype["setCenterOfMassTransform"]=btRigidBody.prototype.setCenterOfMassTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setCenterOfMassTransform_1(self,arg0)});btRigidBody.prototype["setSleepingThresholds"]=btRigidBody.prototype.setSleepingThresholds=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRigidBody_setSleepingThresholds_2(self,arg0,arg1)});btRigidBody.prototype["setDamping"]=btRigidBody.prototype.setDamping=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRigidBody_setDamping_2(self,arg0,arg1)});btRigidBody.prototype["setMassProps"]=btRigidBody.prototype.setMassProps=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRigidBody_setMassProps_2(self,arg0,arg1)});btRigidBody.prototype["setLinearFactor"]=btRigidBody.prototype.setLinearFactor=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setLinearFactor_1(self,arg0)});btRigidBody.prototype["applyTorque"]=btRigidBody.prototype.applyTorque=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_applyTorque_1(self,arg0)});btRigidBody.prototype["applyForce"]=btRigidBody.prototype.applyForce=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRigidBody_applyForce_2(self,arg0,arg1)});btRigidBody.prototype["applyCentralForce"]=btRigidBody.prototype.applyCentralForce=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_applyCentralForce_1(self,arg0)});btRigidBody.prototype["applyTorqueImpulse"]=btRigidBody.prototype.applyTorqueImpulse=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_applyTorqueImpulse_1(self,arg0)});btRigidBody.prototype["applyImpulse"]=btRigidBody.prototype.applyImpulse=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRigidBody_applyImpulse_2(self,arg0,arg1)});btRigidBody.prototype["applyCentralImpulse"]=btRigidBody.prototype.applyCentralImpulse=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_applyCentralImpulse_1(self,arg0)});btRigidBody.prototype["updateInertiaTensor"]=btRigidBody.prototype.updateInertiaTensor=(function(){var self=this.ptr;_emscripten_bind_btRigidBody_updateInertiaTensor_0(self)});btRigidBody.prototype["getLinearVelocity"]=btRigidBody.prototype.getLinearVelocity=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getLinearVelocity_0(self),btVector3)});btRigidBody.prototype["getAngularVelocity"]=btRigidBody.prototype.getAngularVelocity=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getAngularVelocity_0(self),btVector3)});btRigidBody.prototype["setLinearVelocity"]=btRigidBody.prototype.setLinearVelocity=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setLinearVelocity_1(self,arg0)});btRigidBody.prototype["setAngularVelocity"]=btRigidBody.prototype.setAngularVelocity=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setAngularVelocity_1(self,arg0)});btRigidBody.prototype["getMotionState"]=btRigidBody.prototype.getMotionState=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getMotionState_0(self),btMotionState)});btRigidBody.prototype["setMotionState"]=btRigidBody.prototype.setMotionState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setMotionState_1(self,arg0)});btRigidBody.prototype["setAngularFactor"]=btRigidBody.prototype.setAngularFactor=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setAngularFactor_1(self,arg0)});btRigidBody.prototype["upcast"]=btRigidBody.prototype.upcast=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btRigidBody_upcast_1(self,arg0),btRigidBody)});btRigidBody.prototype["getAabb"]=btRigidBody.prototype.getAabb=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRigidBody_getAabb_2(self,arg0,arg1)});btRigidBody.prototype["applyGravity"]=btRigidBody.prototype.applyGravity=(function(){var self=this.ptr;_emscripten_bind_btRigidBody_applyGravity_0(self)});btRigidBody.prototype["getGravity"]=btRigidBody.prototype.getGravity=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getGravity_0(self),btVector3)});btRigidBody.prototype["setGravity"]=btRigidBody.prototype.setGravity=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setGravity_1(self,arg0)});btRigidBody.prototype["setAnisotropicFriction"]=btRigidBody.prototype.setAnisotropicFriction=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRigidBody_setAnisotropicFriction_2(self,arg0,arg1)});btRigidBody.prototype["getCollisionShape"]=btRigidBody.prototype.getCollisionShape=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getCollisionShape_0(self),btCollisionShape)});btRigidBody.prototype["setContactProcessingThreshold"]=btRigidBody.prototype.setContactProcessingThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setContactProcessingThreshold_1(self,arg0)});btRigidBody.prototype["setActivationState"]=btRigidBody.prototype.setActivationState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setActivationState_1(self,arg0)});btRigidBody.prototype["forceActivationState"]=btRigidBody.prototype.forceActivationState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_forceActivationState_1(self,arg0)});btRigidBody.prototype["activate"]=btRigidBody.prototype.activate=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg0===undefined){_emscripten_bind_btRigidBody_activate_0(self);return}_emscripten_bind_btRigidBody_activate_1(self,arg0)});btRigidBody.prototype["isActive"]=btRigidBody.prototype.isActive=(function(){var self=this.ptr;return!!_emscripten_bind_btRigidBody_isActive_0(self)});btRigidBody.prototype["isKinematicObject"]=btRigidBody.prototype.isKinematicObject=(function(){var self=this.ptr;return!!_emscripten_bind_btRigidBody_isKinematicObject_0(self)});btRigidBody.prototype["isStaticObject"]=btRigidBody.prototype.isStaticObject=(function(){var self=this.ptr;return!!_emscripten_bind_btRigidBody_isStaticObject_0(self)});btRigidBody.prototype["isStaticOrKinematicObject"]=btRigidBody.prototype.isStaticOrKinematicObject=(function(){var self=this.ptr;return!!_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0(self)});btRigidBody.prototype["setRestitution"]=btRigidBody.prototype.setRestitution=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setRestitution_1(self,arg0)});btRigidBody.prototype["setFriction"]=btRigidBody.prototype.setFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setFriction_1(self,arg0)});btRigidBody.prototype["setRollingFriction"]=btRigidBody.prototype.setRollingFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setRollingFriction_1(self,arg0)});btRigidBody.prototype["getWorldTransform"]=btRigidBody.prototype.getWorldTransform=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getWorldTransform_0(self),btTransform)});btRigidBody.prototype["getCollisionFlags"]=btRigidBody.prototype.getCollisionFlags=(function(){var self=this.ptr;return _emscripten_bind_btRigidBody_getCollisionFlags_0(self)});btRigidBody.prototype["setCollisionFlags"]=btRigidBody.prototype.setCollisionFlags=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setCollisionFlags_1(self,arg0)});btRigidBody.prototype["setWorldTransform"]=btRigidBody.prototype.setWorldTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setWorldTransform_1(self,arg0)});btRigidBody.prototype["setCollisionShape"]=btRigidBody.prototype.setCollisionShape=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setCollisionShape_1(self,arg0)});btRigidBody.prototype["setCcdMotionThreshold"]=btRigidBody.prototype.setCcdMotionThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setCcdMotionThreshold_1(self,arg0)});btRigidBody.prototype["setCcdSweptSphereRadius"]=btRigidBody.prototype.setCcdSweptSphereRadius=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1(self,arg0)});btRigidBody.prototype["getUserIndex"]=btRigidBody.prototype.getUserIndex=(function(){var self=this.ptr;return _emscripten_bind_btRigidBody_getUserIndex_0(self)});btRigidBody.prototype["setUserIndex"]=btRigidBody.prototype.setUserIndex=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setUserIndex_1(self,arg0)});btRigidBody.prototype["getUserPointer"]=btRigidBody.prototype.getUserPointer=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getUserPointer_0(self),VoidPtr)});btRigidBody.prototype["setUserPointer"]=btRigidBody.prototype.setUserPointer=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRigidBody_setUserPointer_1(self,arg0)});btRigidBody.prototype["__destroy__"]=btRigidBody.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btRigidBody___destroy___0(self)});function Specs(){throw"cannot construct a Specs, no constructor in IDL"}Specs.prototype=Object.create(WrapperObject.prototype);Specs.prototype.constructor=Specs;Specs.prototype.__class__=Specs;Specs.__cache__={};Module["Specs"]=Specs;Specs.prototype["get_position"]=Specs.prototype.get_position=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Specs_get_position_0(self),btVector3)});Specs.prototype["set_position"]=Specs.prototype.set_position=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Specs_set_position_1(self,arg0)});Specs.prototype["__destroy__"]=Specs.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Specs___destroy___0(self)});function btDbvtBroadphase(){this.ptr=_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0();getCache(btDbvtBroadphase)[this.ptr]=this}btDbvtBroadphase.prototype=Object.create(WrapperObject.prototype);btDbvtBroadphase.prototype.constructor=btDbvtBroadphase;btDbvtBroadphase.prototype.__class__=btDbvtBroadphase;btDbvtBroadphase.__cache__={};Module["btDbvtBroadphase"]=btDbvtBroadphase;btDbvtBroadphase.prototype["__destroy__"]=btDbvtBroadphase.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btDbvtBroadphase___destroy___0(self)});function btDefaultSoftBodySolver(){this.ptr=_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0();getCache(btDefaultSoftBodySolver)[this.ptr]=this}btDefaultSoftBodySolver.prototype=Object.create(btSoftBodySolver.prototype);btDefaultSoftBodySolver.prototype.constructor=btDefaultSoftBodySolver;btDefaultSoftBodySolver.prototype.__class__=btDefaultSoftBodySolver;btDefaultSoftBodySolver.__cache__={};Module["btDefaultSoftBodySolver"]=btDefaultSoftBodySolver;btDefaultSoftBodySolver.prototype["__destroy__"]=btDefaultSoftBodySolver.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btDefaultSoftBodySolver___destroy___0(self)});function btKinematicCharacterController(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg3===undefined){this.ptr=_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3(arg0,arg1,arg2);getCache(btKinematicCharacterController)[this.ptr]=this;return}this.ptr=_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4(arg0,arg1,arg2,arg3);getCache(btKinematicCharacterController)[this.ptr]=this}btKinematicCharacterController.prototype=Object.create(btActionInterface.prototype);btKinematicCharacterController.prototype.constructor=btKinematicCharacterController;btKinematicCharacterController.prototype.__class__=btKinematicCharacterController;btKinematicCharacterController.__cache__={};Module["btKinematicCharacterController"]=btKinematicCharacterController;btKinematicCharacterController.prototype["setUp"]=btKinematicCharacterController.prototype.setUp=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_setUp_1(self,arg0)});btKinematicCharacterController.prototype["setWalkDirection"]=btKinematicCharacterController.prototype.setWalkDirection=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_setWalkDirection_1(self,arg0)});btKinematicCharacterController.prototype["setVelocityForTimeInterval"]=btKinematicCharacterController.prototype.setVelocityForTimeInterval=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2(self,arg0,arg1)});btKinematicCharacterController.prototype["warp"]=btKinematicCharacterController.prototype.warp=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_warp_1(self,arg0)});btKinematicCharacterController.prototype["preStep"]=btKinematicCharacterController.prototype.preStep=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_preStep_1(self,arg0)});btKinematicCharacterController.prototype["playerStep"]=btKinematicCharacterController.prototype.playerStep=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btKinematicCharacterController_playerStep_2(self,arg0,arg1)});btKinematicCharacterController.prototype["setFallSpeed"]=btKinematicCharacterController.prototype.setFallSpeed=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_setFallSpeed_1(self,arg0)});btKinematicCharacterController.prototype["setJumpSpeed"]=btKinematicCharacterController.prototype.setJumpSpeed=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1(self,arg0)});btKinematicCharacterController.prototype["setMaxJumpHeight"]=btKinematicCharacterController.prototype.setMaxJumpHeight=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1(self,arg0)});btKinematicCharacterController.prototype["canJump"]=btKinematicCharacterController.prototype.canJump=(function(){var self=this.ptr;return!!_emscripten_bind_btKinematicCharacterController_canJump_0(self)});btKinematicCharacterController.prototype["jump"]=btKinematicCharacterController.prototype.jump=(function(){var self=this.ptr;_emscripten_bind_btKinematicCharacterController_jump_0(self)});btKinematicCharacterController.prototype["setGravity"]=btKinematicCharacterController.prototype.setGravity=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_setGravity_1(self,arg0)});btKinematicCharacterController.prototype["getGravity"]=btKinematicCharacterController.prototype.getGravity=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btKinematicCharacterController_getGravity_0(self),btVector3)});btKinematicCharacterController.prototype["setMaxSlope"]=btKinematicCharacterController.prototype.setMaxSlope=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_setMaxSlope_1(self,arg0)});btKinematicCharacterController.prototype["getMaxSlope"]=btKinematicCharacterController.prototype.getMaxSlope=(function(){var self=this.ptr;return _emscripten_bind_btKinematicCharacterController_getMaxSlope_0(self)});btKinematicCharacterController.prototype["getGhostObject"]=btKinematicCharacterController.prototype.getGhostObject=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btKinematicCharacterController_getGhostObject_0(self),btPairCachingGhostObject)});btKinematicCharacterController.prototype["setUseGhostSweepTest"]=btKinematicCharacterController.prototype.setUseGhostSweepTest=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1(self,arg0)});btKinematicCharacterController.prototype["onGround"]=btKinematicCharacterController.prototype.onGround=(function(){var self=this.ptr;return!!_emscripten_bind_btKinematicCharacterController_onGround_0(self)});btKinematicCharacterController.prototype["setUpInterpolate"]=btKinematicCharacterController.prototype.setUpInterpolate=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1(self,arg0)});btKinematicCharacterController.prototype["updateAction"]=btKinematicCharacterController.prototype.updateAction=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btKinematicCharacterController_updateAction_2(self,arg0,arg1)});btKinematicCharacterController.prototype["__destroy__"]=btKinematicCharacterController.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btKinematicCharacterController___destroy___0(self)});function btAxisSweep3(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg2===undefined){this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_2(arg0,arg1);getCache(btAxisSweep3)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_3(arg0,arg1,arg2);getCache(btAxisSweep3)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_4(arg0,arg1,arg2,arg3);getCache(btAxisSweep3)[this.ptr]=this;return}this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_5(arg0,arg1,arg2,arg3,arg4);getCache(btAxisSweep3)[this.ptr]=this}btAxisSweep3.prototype=Object.create(WrapperObject.prototype);btAxisSweep3.prototype.constructor=btAxisSweep3;btAxisSweep3.prototype.__class__=btAxisSweep3;btAxisSweep3.__cache__={};Module["btAxisSweep3"]=btAxisSweep3;btAxisSweep3.prototype["__destroy__"]=btAxisSweep3.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btAxisSweep3___destroy___0(self)});function btSoftBodyWorldInfo(){this.ptr=_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0();getCache(btSoftBodyWorldInfo)[this.ptr]=this}btSoftBodyWorldInfo.prototype=Object.create(WrapperObject.prototype);btSoftBodyWorldInfo.prototype.constructor=btSoftBodyWorldInfo;btSoftBodyWorldInfo.prototype.__class__=btSoftBodyWorldInfo;btSoftBodyWorldInfo.__cache__={};Module["btSoftBodyWorldInfo"]=btSoftBodyWorldInfo;btSoftBodyWorldInfo.prototype["get_air_density"]=btSoftBodyWorldInfo.prototype.get_air_density=(function(){var self=this.ptr;return _emscripten_bind_btSoftBodyWorldInfo_get_air_density_0(self)});btSoftBodyWorldInfo.prototype["set_air_density"]=btSoftBodyWorldInfo.prototype.set_air_density=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1(self,arg0)});btSoftBodyWorldInfo.prototype["get_water_density"]=btSoftBodyWorldInfo.prototype.get_water_density=(function(){var self=this.ptr;return _emscripten_bind_btSoftBodyWorldInfo_get_water_density_0(self)});btSoftBodyWorldInfo.prototype["set_water_density"]=btSoftBodyWorldInfo.prototype.set_water_density=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1(self,arg0)});btSoftBodyWorldInfo.prototype["get_water_offset"]=btSoftBodyWorldInfo.prototype.get_water_offset=(function(){var self=this.ptr;return _emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0(self)});btSoftBodyWorldInfo.prototype["set_water_offset"]=btSoftBodyWorldInfo.prototype.set_water_offset=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1(self,arg0)});btSoftBodyWorldInfo.prototype["get_m_maxDisplacement"]=btSoftBodyWorldInfo.prototype.get_m_maxDisplacement=(function(){var self=this.ptr;return _emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0(self)});btSoftBodyWorldInfo.prototype["set_m_maxDisplacement"]=btSoftBodyWorldInfo.prototype.set_m_maxDisplacement=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1(self,arg0)});btSoftBodyWorldInfo.prototype["get_water_normal"]=btSoftBodyWorldInfo.prototype.get_water_normal=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0(self),btVector3)});btSoftBodyWorldInfo.prototype["set_water_normal"]=btSoftBodyWorldInfo.prototype.set_water_normal=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1(self,arg0)});btSoftBodyWorldInfo.prototype["get_m_broadphase"]=btSoftBodyWorldInfo.prototype.get_m_broadphase=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0(self),btBroadphaseInterface)});btSoftBodyWorldInfo.prototype["set_m_broadphase"]=btSoftBodyWorldInfo.prototype.set_m_broadphase=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1(self,arg0)});btSoftBodyWorldInfo.prototype["get_m_dispatcher"]=btSoftBodyWorldInfo.prototype.get_m_dispatcher=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0(self),btDispatcher)});btSoftBodyWorldInfo.prototype["set_m_dispatcher"]=btSoftBodyWorldInfo.prototype.set_m_dispatcher=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1(self,arg0)});btSoftBodyWorldInfo.prototype["get_m_gravity"]=btSoftBodyWorldInfo.prototype.get_m_gravity=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0(self),btVector3)});btSoftBodyWorldInfo.prototype["set_m_gravity"]=btSoftBodyWorldInfo.prototype.set_m_gravity=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1(self,arg0)});btSoftBodyWorldInfo.prototype["__destroy__"]=btSoftBodyWorldInfo.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btSoftBodyWorldInfo___destroy___0(self)});function btConeTwistConstraint(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg2===undefined){this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2(arg0,arg1);getCache(btConeTwistConstraint)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(arg0,arg1,arg2);getCache(btConeTwistConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4(arg0,arg1,arg2,arg3);getCache(btConeTwistConstraint)[this.ptr]=this}btConeTwistConstraint.prototype=Object.create(btTypedConstraint.prototype);btConeTwistConstraint.prototype.constructor=btConeTwistConstraint;btConeTwistConstraint.prototype.__class__=btConeTwistConstraint;btConeTwistConstraint.__cache__={};Module["btConeTwistConstraint"]=btConeTwistConstraint;btConeTwistConstraint.prototype["setLimit"]=btConeTwistConstraint.prototype.setLimit=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btConeTwistConstraint_setLimit_2(self,arg0,arg1)});btConeTwistConstraint.prototype["setAngularOnly"]=btConeTwistConstraint.prototype.setAngularOnly=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeTwistConstraint_setAngularOnly_1(self,arg0)});btConeTwistConstraint.prototype["setDamping"]=btConeTwistConstraint.prototype.setDamping=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeTwistConstraint_setDamping_1(self,arg0)});btConeTwistConstraint.prototype["enableMotor"]=btConeTwistConstraint.prototype.enableMotor=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeTwistConstraint_enableMotor_1(self,arg0)});btConeTwistConstraint.prototype["setMaxMotorImpulse"]=btConeTwistConstraint.prototype.setMaxMotorImpulse=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1(self,arg0)});btConeTwistConstraint.prototype["setMaxMotorImpulseNormalized"]=btConeTwistConstraint.prototype.setMaxMotorImpulseNormalized=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1(self,arg0)});btConeTwistConstraint.prototype["setMotorTarget"]=btConeTwistConstraint.prototype.setMotorTarget=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeTwistConstraint_setMotorTarget_1(self,arg0)});btConeTwistConstraint.prototype["setMotorTargetInConstraintSpace"]=btConeTwistConstraint.prototype.setMotorTargetInConstraintSpace=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1(self,arg0)});btConeTwistConstraint.prototype["enableFeedback"]=btConeTwistConstraint.prototype.enableFeedback=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeTwistConstraint_enableFeedback_1(self,arg0)});btConeTwistConstraint.prototype["getBreakingImpulseThreshold"]=btConeTwistConstraint.prototype.getBreakingImpulseThreshold=(function(){var self=this.ptr;return _emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0(self)});btConeTwistConstraint.prototype["setBreakingImpulseThreshold"]=btConeTwistConstraint.prototype.setBreakingImpulseThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1(self,arg0)});btConeTwistConstraint.prototype["getParam"]=btConeTwistConstraint.prototype.getParam=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_btConeTwistConstraint_getParam_2(self,arg0,arg1)});btConeTwistConstraint.prototype["setParam"]=btConeTwistConstraint.prototype.setParam=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btConeTwistConstraint_setParam_3(self,arg0,arg1,arg2)});btConeTwistConstraint.prototype["__destroy__"]=btConeTwistConstraint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btConeTwistConstraint___destroy___0(self)});function btHingeConstraint(arg0,arg1,arg2,arg3,arg4,arg5,arg6){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg5&&typeof arg5==="object")arg5=arg5.ptr;if(arg6&&typeof arg6==="object")arg6=arg6.ptr;if(arg2===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_2(arg0,arg1);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_3(arg0,arg1,arg2);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_4(arg0,arg1,arg2,arg3);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg5===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg6===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_6(arg0,arg1,arg2,arg3,arg4,arg5);getCache(btHingeConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_7(arg0,arg1,arg2,arg3,arg4,arg5,arg6);getCache(btHingeConstraint)[this.ptr]=this}btHingeConstraint.prototype=Object.create(btTypedConstraint.prototype);btHingeConstraint.prototype.constructor=btHingeConstraint;btHingeConstraint.prototype.__class__=btHingeConstraint;btHingeConstraint.__cache__={};Module["btHingeConstraint"]=btHingeConstraint;btHingeConstraint.prototype["setLimit"]=btHingeConstraint.prototype.setLimit=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg4===undefined){_emscripten_bind_btHingeConstraint_setLimit_4(self,arg0,arg1,arg2,arg3);return}_emscripten_bind_btHingeConstraint_setLimit_5(self,arg0,arg1,arg2,arg3,arg4)});btHingeConstraint.prototype["enableAngularMotor"]=btHingeConstraint.prototype.enableAngularMotor=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btHingeConstraint_enableAngularMotor_3(self,arg0,arg1,arg2)});btHingeConstraint.prototype["setAngularOnly"]=btHingeConstraint.prototype.setAngularOnly=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btHingeConstraint_setAngularOnly_1(self,arg0)});btHingeConstraint.prototype["enableMotor"]=btHingeConstraint.prototype.enableMotor=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btHingeConstraint_enableMotor_1(self,arg0)});btHingeConstraint.prototype["setMaxMotorImpulse"]=btHingeConstraint.prototype.setMaxMotorImpulse=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1(self,arg0)});btHingeConstraint.prototype["setMotorTarget"]=btHingeConstraint.prototype.setMotorTarget=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btHingeConstraint_setMotorTarget_2(self,arg0,arg1)});btHingeConstraint.prototype["enableFeedback"]=btHingeConstraint.prototype.enableFeedback=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btHingeConstraint_enableFeedback_1(self,arg0)});btHingeConstraint.prototype["getBreakingImpulseThreshold"]=btHingeConstraint.prototype.getBreakingImpulseThreshold=(function(){var self=this.ptr;return _emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0(self)});btHingeConstraint.prototype["setBreakingImpulseThreshold"]=btHingeConstraint.prototype.setBreakingImpulseThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1(self,arg0)});btHingeConstraint.prototype["getParam"]=btHingeConstraint.prototype.getParam=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_btHingeConstraint_getParam_2(self,arg0,arg1)});btHingeConstraint.prototype["setParam"]=btHingeConstraint.prototype.setParam=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btHingeConstraint_setParam_3(self,arg0,arg1,arg2)});btHingeConstraint.prototype["__destroy__"]=btHingeConstraint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btHingeConstraint___destroy___0(self)});function btRotationalLimitMotor(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg0===undefined){this.ptr=_emscripten_bind_btRotationalLimitMotor_btRotationalLimitMotor_0();getCache(btRotationalLimitMotor)[this.ptr]=this;return}this.ptr=_emscripten_bind_btRotationalLimitMotor_btRotationalLimitMotor_1(arg0);getCache(btRotationalLimitMotor)[this.ptr]=this}btRotationalLimitMotor.prototype=Object.create(WrapperObject.prototype);btRotationalLimitMotor.prototype.constructor=btRotationalLimitMotor;btRotationalLimitMotor.prototype.__class__=btRotationalLimitMotor;btRotationalLimitMotor.__cache__={};Module["btRotationalLimitMotor"]=btRotationalLimitMotor;btRotationalLimitMotor.prototype["isLimited"]=btRotationalLimitMotor.prototype.isLimited=(function(){var self=this.ptr;return!!_emscripten_bind_btRotationalLimitMotor_isLimited_0(self)});btRotationalLimitMotor.prototype["needApplyTorques"]=btRotationalLimitMotor.prototype.needApplyTorques=(function(){var self=this.ptr;return!!_emscripten_bind_btRotationalLimitMotor_needApplyTorques_0(self)});btRotationalLimitMotor.prototype["get_m_loLimit"]=btRotationalLimitMotor.prototype.get_m_loLimit=(function(){var self=this.ptr;return _emscripten_bind_btRotationalLimitMotor_get_m_loLimit_0(self)});btRotationalLimitMotor.prototype["set_m_loLimit"]=btRotationalLimitMotor.prototype.set_m_loLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRotationalLimitMotor_set_m_loLimit_1(self,arg0)});btRotationalLimitMotor.prototype["get_m_hiLimit"]=btRotationalLimitMotor.prototype.get_m_hiLimit=(function(){var self=this.ptr;return _emscripten_bind_btRotationalLimitMotor_get_m_hiLimit_0(self)});btRotationalLimitMotor.prototype["set_m_hiLimit"]=btRotationalLimitMotor.prototype.set_m_hiLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRotationalLimitMotor_set_m_hiLimit_1(self,arg0)});btRotationalLimitMotor.prototype["get_m_targetVelocity"]=btRotationalLimitMotor.prototype.get_m_targetVelocity=(function(){var self=this.ptr;return _emscripten_bind_btRotationalLimitMotor_get_m_targetVelocity_0(self)});btRotationalLimitMotor.prototype["set_m_targetVelocity"]=btRotationalLimitMotor.prototype.set_m_targetVelocity=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRotationalLimitMotor_set_m_targetVelocity_1(self,arg0)});btRotationalLimitMotor.prototype["get_m_maxMotorForce"]=btRotationalLimitMotor.prototype.get_m_maxMotorForce=(function(){var self=this.ptr;return _emscripten_bind_btRotationalLimitMotor_get_m_maxMotorForce_0(self)});btRotationalLimitMotor.prototype["set_m_maxMotorForce"]=btRotationalLimitMotor.prototype.set_m_maxMotorForce=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRotationalLimitMotor_set_m_maxMotorForce_1(self,arg0)});btRotationalLimitMotor.prototype["get_m_enableMotor"]=btRotationalLimitMotor.prototype.get_m_enableMotor=(function(){var self=this.ptr;return!!_emscripten_bind_btRotationalLimitMotor_get_m_enableMotor_0(self)});btRotationalLimitMotor.prototype["set_m_enableMotor"]=btRotationalLimitMotor.prototype.set_m_enableMotor=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRotationalLimitMotor_set_m_enableMotor_1(self,arg0)});btRotationalLimitMotor.prototype["__destroy__"]=btRotationalLimitMotor.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btRotationalLimitMotor___destroy___0(self)});function btConeShapeZ(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;this.ptr=_emscripten_bind_btConeShapeZ_btConeShapeZ_2(arg0,arg1);getCache(btConeShapeZ)[this.ptr]=this}btConeShapeZ.prototype=Object.create(btConeShape.prototype);btConeShapeZ.prototype.constructor=btConeShapeZ;btConeShapeZ.prototype.__class__=btConeShapeZ;btConeShapeZ.__cache__={};Module["btConeShapeZ"]=btConeShapeZ;btConeShapeZ.prototype["setLocalScaling"]=btConeShapeZ.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeShapeZ_setLocalScaling_1(self,arg0)});btConeShapeZ.prototype["getLocalScaling"]=btConeShapeZ.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btConeShapeZ_getLocalScaling_0(self),btVector3)});btConeShapeZ.prototype["calculateLocalInertia"]=btConeShapeZ.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btConeShapeZ_calculateLocalInertia_2(self,arg0,arg1)});btConeShapeZ.prototype["__destroy__"]=btConeShapeZ.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btConeShapeZ___destroy___0(self)});function btConeShapeX(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;this.ptr=_emscripten_bind_btConeShapeX_btConeShapeX_2(arg0,arg1);getCache(btConeShapeX)[this.ptr]=this}btConeShapeX.prototype=Object.create(btConeShape.prototype);btConeShapeX.prototype.constructor=btConeShapeX;btConeShapeX.prototype.__class__=btConeShapeX;btConeShapeX.__cache__={};Module["btConeShapeX"]=btConeShapeX;btConeShapeX.prototype["setLocalScaling"]=btConeShapeX.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConeShapeX_setLocalScaling_1(self,arg0)});btConeShapeX.prototype["getLocalScaling"]=btConeShapeX.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btConeShapeX_getLocalScaling_0(self),btVector3)});btConeShapeX.prototype["calculateLocalInertia"]=btConeShapeX.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btConeShapeX_calculateLocalInertia_2(self,arg0,arg1)});btConeShapeX.prototype["__destroy__"]=btConeShapeX.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btConeShapeX___destroy___0(self)});function btTriangleMesh(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg0===undefined){this.ptr=_emscripten_bind_btTriangleMesh_btTriangleMesh_0();getCache(btTriangleMesh)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btTriangleMesh_btTriangleMesh_1(arg0);getCache(btTriangleMesh)[this.ptr]=this;return}this.ptr=_emscripten_bind_btTriangleMesh_btTriangleMesh_2(arg0,arg1);getCache(btTriangleMesh)[this.ptr]=this}btTriangleMesh.prototype=Object.create(btStridingMeshInterface.prototype);btTriangleMesh.prototype.constructor=btTriangleMesh;btTriangleMesh.prototype.__class__=btTriangleMesh;btTriangleMesh.__cache__={};Module["btTriangleMesh"]=btTriangleMesh;btTriangleMesh.prototype["addTriangle"]=btTriangleMesh.prototype.addTriangle=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg3===undefined){_emscripten_bind_btTriangleMesh_addTriangle_3(self,arg0,arg1,arg2);return}_emscripten_bind_btTriangleMesh_addTriangle_4(self,arg0,arg1,arg2,arg3)});btTriangleMesh.prototype["__destroy__"]=btTriangleMesh.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btTriangleMesh___destroy___0(self)});function btConvexHullShape(){this.ptr=_emscripten_bind_btConvexHullShape_btConvexHullShape_0();getCache(btConvexHullShape)[this.ptr]=this}btConvexHullShape.prototype=Object.create(btCollisionShape.prototype);btConvexHullShape.prototype.constructor=btConvexHullShape;btConvexHullShape.prototype.__class__=btConvexHullShape;btConvexHullShape.__cache__={};Module["btConvexHullShape"]=btConvexHullShape;btConvexHullShape.prototype["addPoint"]=btConvexHullShape.prototype.addPoint=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg1===undefined){_emscripten_bind_btConvexHullShape_addPoint_1(self,arg0);return}_emscripten_bind_btConvexHullShape_addPoint_2(self,arg0,arg1)});btConvexHullShape.prototype["setMargin"]=btConvexHullShape.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConvexHullShape_setMargin_1(self,arg0)});btConvexHullShape.prototype["getMargin"]=btConvexHullShape.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btConvexHullShape_getMargin_0(self)});btConvexHullShape.prototype["setLocalScaling"]=btConvexHullShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btConvexHullShape_setLocalScaling_1(self,arg0)});btConvexHullShape.prototype["getLocalScaling"]=btConvexHullShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btConvexHullShape_getLocalScaling_0(self),btVector3)});btConvexHullShape.prototype["calculateLocalInertia"]=btConvexHullShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btConvexHullShape_calculateLocalInertia_2(self,arg0,arg1)});btConvexHullShape.prototype["__destroy__"]=btConvexHullShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btConvexHullShape___destroy___0(self)});function btVehicleTuning(){this.ptr=_emscripten_bind_btVehicleTuning_btVehicleTuning_0();getCache(btVehicleTuning)[this.ptr]=this}btVehicleTuning.prototype=Object.create(WrapperObject.prototype);btVehicleTuning.prototype.constructor=btVehicleTuning;btVehicleTuning.prototype.__class__=btVehicleTuning;btVehicleTuning.__cache__={};Module["btVehicleTuning"]=btVehicleTuning;btVehicleTuning.prototype["get_m_suspensionStiffness"]=btVehicleTuning.prototype.get_m_suspensionStiffness=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0(self)});btVehicleTuning.prototype["set_m_suspensionStiffness"]=btVehicleTuning.prototype.set_m_suspensionStiffness=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1(self,arg0)});btVehicleTuning.prototype["get_m_suspensionCompression"]=btVehicleTuning.prototype.get_m_suspensionCompression=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0(self)});btVehicleTuning.prototype["set_m_suspensionCompression"]=btVehicleTuning.prototype.set_m_suspensionCompression=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1(self,arg0)});btVehicleTuning.prototype["get_m_suspensionDamping"]=btVehicleTuning.prototype.get_m_suspensionDamping=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0(self)});btVehicleTuning.prototype["set_m_suspensionDamping"]=btVehicleTuning.prototype.set_m_suspensionDamping=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1(self,arg0)});btVehicleTuning.prototype["get_m_maxSuspensionTravelCm"]=btVehicleTuning.prototype.get_m_maxSuspensionTravelCm=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0(self)});btVehicleTuning.prototype["set_m_maxSuspensionTravelCm"]=btVehicleTuning.prototype.set_m_maxSuspensionTravelCm=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1(self,arg0)});btVehicleTuning.prototype["get_m_frictionSlip"]=btVehicleTuning.prototype.get_m_frictionSlip=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_frictionSlip_0(self)});btVehicleTuning.prototype["set_m_frictionSlip"]=btVehicleTuning.prototype.set_m_frictionSlip=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1(self,arg0)});btVehicleTuning.prototype["get_m_maxSuspensionForce"]=btVehicleTuning.prototype.get_m_maxSuspensionForce=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0(self)});btVehicleTuning.prototype["set_m_maxSuspensionForce"]=btVehicleTuning.prototype.set_m_maxSuspensionForce=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1(self,arg0)});function btCollisionObjectWrapper(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL"}btCollisionObjectWrapper.prototype=Object.create(WrapperObject.prototype);btCollisionObjectWrapper.prototype.constructor=btCollisionObjectWrapper;btCollisionObjectWrapper.prototype.__class__=btCollisionObjectWrapper;btCollisionObjectWrapper.__cache__={};Module["btCollisionObjectWrapper"]=btCollisionObjectWrapper;function btDefaultMotionState(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg0===undefined){this.ptr=_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0();getCache(btDefaultMotionState)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1(arg0);getCache(btDefaultMotionState)[this.ptr]=this;return}this.ptr=_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2(arg0,arg1);getCache(btDefaultMotionState)[this.ptr]=this}btDefaultMotionState.prototype=Object.create(btMotionState.prototype);btDefaultMotionState.prototype.constructor=btDefaultMotionState;btDefaultMotionState.prototype.__class__=btDefaultMotionState;btDefaultMotionState.__cache__={};Module["btDefaultMotionState"]=btDefaultMotionState;btDefaultMotionState.prototype["getWorldTransform"]=btDefaultMotionState.prototype.getWorldTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDefaultMotionState_getWorldTransform_1(self,arg0)});btDefaultMotionState.prototype["setWorldTransform"]=btDefaultMotionState.prototype.setWorldTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDefaultMotionState_setWorldTransform_1(self,arg0)});btDefaultMotionState.prototype["get_m_graphicsWorldTrans"]=btDefaultMotionState.prototype.get_m_graphicsWorldTrans=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0(self),btTransform)});btDefaultMotionState.prototype["set_m_graphicsWorldTrans"]=btDefaultMotionState.prototype.set_m_graphicsWorldTrans=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1(self,arg0)});btDefaultMotionState.prototype["__destroy__"]=btDefaultMotionState.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btDefaultMotionState___destroy___0(self)});function btWheelInfo(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;this.ptr=_emscripten_bind_btWheelInfo_btWheelInfo_1(arg0);getCache(btWheelInfo)[this.ptr]=this}btWheelInfo.prototype=Object.create(WrapperObject.prototype);btWheelInfo.prototype.constructor=btWheelInfo;btWheelInfo.prototype.__class__=btWheelInfo;btWheelInfo.__cache__={};Module["btWheelInfo"]=btWheelInfo;btWheelInfo.prototype["getSuspensionRestLength"]=btWheelInfo.prototype.getSuspensionRestLength=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_getSuspensionRestLength_0(self)});btWheelInfo.prototype["updateWheel"]=btWheelInfo.prototype.updateWheel=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btWheelInfo_updateWheel_2(self,arg0,arg1)});btWheelInfo.prototype["get_m_suspensionStiffness"]=btWheelInfo.prototype.get_m_suspensionStiffness=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0(self)});btWheelInfo.prototype["set_m_suspensionStiffness"]=btWheelInfo.prototype.set_m_suspensionStiffness=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1(self,arg0)});btWheelInfo.prototype["get_m_frictionSlip"]=btWheelInfo.prototype.get_m_frictionSlip=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_frictionSlip_0(self)});btWheelInfo.prototype["set_m_frictionSlip"]=btWheelInfo.prototype.set_m_frictionSlip=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_frictionSlip_1(self,arg0)});btWheelInfo.prototype["get_m_engineForce"]=btWheelInfo.prototype.get_m_engineForce=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_engineForce_0(self)});btWheelInfo.prototype["set_m_engineForce"]=btWheelInfo.prototype.set_m_engineForce=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_engineForce_1(self,arg0)});btWheelInfo.prototype["get_m_rollInfluence"]=btWheelInfo.prototype.get_m_rollInfluence=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_rollInfluence_0(self)});btWheelInfo.prototype["set_m_rollInfluence"]=btWheelInfo.prototype.set_m_rollInfluence=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_rollInfluence_1(self,arg0)});btWheelInfo.prototype["get_m_suspensionRestLength1"]=btWheelInfo.prototype.get_m_suspensionRestLength1=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0(self)});btWheelInfo.prototype["set_m_suspensionRestLength1"]=btWheelInfo.prototype.set_m_suspensionRestLength1=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsRadius"]=btWheelInfo.prototype.get_m_wheelsRadius=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsRadius_0(self)});btWheelInfo.prototype["set_m_wheelsRadius"]=btWheelInfo.prototype.set_m_wheelsRadius=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsDampingCompression"]=btWheelInfo.prototype.get_m_wheelsDampingCompression=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0(self)});btWheelInfo.prototype["set_m_wheelsDampingCompression"]=btWheelInfo.prototype.set_m_wheelsDampingCompression=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsDampingRelaxation"]=btWheelInfo.prototype.get_m_wheelsDampingRelaxation=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0(self)});btWheelInfo.prototype["set_m_wheelsDampingRelaxation"]=btWheelInfo.prototype.set_m_wheelsDampingRelaxation=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1(self,arg0)});btWheelInfo.prototype["get_m_steering"]=btWheelInfo.prototype.get_m_steering=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_steering_0(self)});btWheelInfo.prototype["set_m_steering"]=btWheelInfo.prototype.set_m_steering=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_steering_1(self,arg0)});btWheelInfo.prototype["get_m_maxSuspensionForce"]=btWheelInfo.prototype.get_m_maxSuspensionForce=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0(self)});btWheelInfo.prototype["set_m_maxSuspensionForce"]=btWheelInfo.prototype.set_m_maxSuspensionForce=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1(self,arg0)});btWheelInfo.prototype["get_m_maxSuspensionTravelCm"]=btWheelInfo.prototype.get_m_maxSuspensionTravelCm=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0(self)});btWheelInfo.prototype["set_m_maxSuspensionTravelCm"]=btWheelInfo.prototype.set_m_maxSuspensionTravelCm=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsSuspensionForce"]=btWheelInfo.prototype.get_m_wheelsSuspensionForce=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0(self)});btWheelInfo.prototype["set_m_wheelsSuspensionForce"]=btWheelInfo.prototype.set_m_wheelsSuspensionForce=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1(self,arg0)});btWheelInfo.prototype["get_m_bIsFrontWheel"]=btWheelInfo.prototype.get_m_bIsFrontWheel=(function(){var self=this.ptr;return!!_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0(self)});btWheelInfo.prototype["set_m_bIsFrontWheel"]=btWheelInfo.prototype.set_m_bIsFrontWheel=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1(self,arg0)});btWheelInfo.prototype["get_m_raycastInfo"]=btWheelInfo.prototype.get_m_raycastInfo=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btWheelInfo_get_m_raycastInfo_0(self),RaycastInfo)});btWheelInfo.prototype["set_m_raycastInfo"]=btWheelInfo.prototype.set_m_raycastInfo=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_raycastInfo_1(self,arg0)});btWheelInfo.prototype["get_m_chassisConnectionPointCS"]=btWheelInfo.prototype.get_m_chassisConnectionPointCS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0(self),btVector3)});btWheelInfo.prototype["set_m_chassisConnectionPointCS"]=btWheelInfo.prototype.set_m_chassisConnectionPointCS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1(self,arg0)});btWheelInfo.prototype["get_m_worldTransform"]=btWheelInfo.prototype.get_m_worldTransform=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btWheelInfo_get_m_worldTransform_0(self),btTransform)});btWheelInfo.prototype["set_m_worldTransform"]=btWheelInfo.prototype.set_m_worldTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_worldTransform_1(self,arg0)});btWheelInfo.prototype["get_m_wheelDirectionCS"]=btWheelInfo.prototype.get_m_wheelDirectionCS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0(self),btVector3)});btWheelInfo.prototype["set_m_wheelDirectionCS"]=btWheelInfo.prototype.set_m_wheelDirectionCS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1(self,arg0)});btWheelInfo.prototype["get_m_wheelAxleCS"]=btWheelInfo.prototype.get_m_wheelAxleCS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0(self),btVector3)});btWheelInfo.prototype["set_m_wheelAxleCS"]=btWheelInfo.prototype.set_m_wheelAxleCS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1(self,arg0)});btWheelInfo.prototype["get_m_rotation"]=btWheelInfo.prototype.get_m_rotation=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_rotation_0(self)});btWheelInfo.prototype["set_m_rotation"]=btWheelInfo.prototype.set_m_rotation=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_rotation_1(self,arg0)});btWheelInfo.prototype["get_m_deltaRotation"]=btWheelInfo.prototype.get_m_deltaRotation=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_deltaRotation_0(self)});btWheelInfo.prototype["set_m_deltaRotation"]=btWheelInfo.prototype.set_m_deltaRotation=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_deltaRotation_1(self,arg0)});btWheelInfo.prototype["get_m_brake"]=btWheelInfo.prototype.get_m_brake=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_brake_0(self)});btWheelInfo.prototype["set_m_brake"]=btWheelInfo.prototype.set_m_brake=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_brake_1(self,arg0)});btWheelInfo.prototype["get_m_clippedInvContactDotSuspension"]=btWheelInfo.prototype.get_m_clippedInvContactDotSuspension=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0(self)});btWheelInfo.prototype["set_m_clippedInvContactDotSuspension"]=btWheelInfo.prototype.set_m_clippedInvContactDotSuspension=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1(self,arg0)});btWheelInfo.prototype["get_m_suspensionRelativeVelocity"]=btWheelInfo.prototype.get_m_suspensionRelativeVelocity=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0(self)});btWheelInfo.prototype["set_m_suspensionRelativeVelocity"]=btWheelInfo.prototype.set_m_suspensionRelativeVelocity=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1(self,arg0)});btWheelInfo.prototype["get_m_skidInfo"]=btWheelInfo.prototype.get_m_skidInfo=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_skidInfo_0(self)});btWheelInfo.prototype["set_m_skidInfo"]=btWheelInfo.prototype.set_m_skidInfo=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btWheelInfo_set_m_skidInfo_1(self,arg0)});btWheelInfo.prototype["__destroy__"]=btWheelInfo.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btWheelInfo___destroy___0(self)});function btVector4(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg0===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_0();getCache(btVector4)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_1(arg0);getCache(btVector4)[this.ptr]=this;return}if(arg2===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_2(arg0,arg1);getCache(btVector4)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_3(arg0,arg1,arg2);getCache(btVector4)[this.ptr]=this;return}this.ptr=_emscripten_bind_btVector4_btVector4_4(arg0,arg1,arg2,arg3);getCache(btVector4)[this.ptr]=this}btVector4.prototype=Object.create(btVector3.prototype);btVector4.prototype.constructor=btVector4;btVector4.prototype.__class__=btVector4;btVector4.__cache__={};Module["btVector4"]=btVector4;btVector4.prototype["w"]=btVector4.prototype.w=(function(){var self=this.ptr;return _emscripten_bind_btVector4_w_0(self)});btVector4.prototype["setValue"]=btVector4.prototype.setValue=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;_emscripten_bind_btVector4_setValue_4(self,arg0,arg1,arg2,arg3)});btVector4.prototype["length"]=btVector4.prototype.length=(function(){var self=this.ptr;return _emscripten_bind_btVector4_length_0(self)});btVector4.prototype["x"]=btVector4.prototype.x=(function(){var self=this.ptr;return _emscripten_bind_btVector4_x_0(self)});btVector4.prototype["y"]=btVector4.prototype.y=(function(){var self=this.ptr;return _emscripten_bind_btVector4_y_0(self)});btVector4.prototype["z"]=btVector4.prototype.z=(function(){var self=this.ptr;return _emscripten_bind_btVector4_z_0(self)});btVector4.prototype["setX"]=btVector4.prototype.setX=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVector4_setX_1(self,arg0)});btVector4.prototype["setY"]=btVector4.prototype.setY=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVector4_setY_1(self,arg0)});btVector4.prototype["setZ"]=btVector4.prototype.setZ=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVector4_setZ_1(self,arg0)});btVector4.prototype["normalize"]=btVector4.prototype.normalize=(function(){var self=this.ptr;_emscripten_bind_btVector4_normalize_0(self)});btVector4.prototype["rotate"]=btVector4.prototype.rotate=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_btVector4_rotate_2(self,arg0,arg1),btVector3)});btVector4.prototype["dot"]=btVector4.prototype.dot=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_btVector4_dot_1(self,arg0)});btVector4.prototype["op_mul"]=btVector4.prototype.op_mul=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btVector4_op_mul_1(self,arg0),btVector3)});btVector4.prototype["op_add"]=btVector4.prototype.op_add=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btVector4_op_add_1(self,arg0),btVector3)});btVector4.prototype["op_sub"]=btVector4.prototype.op_sub=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btVector4_op_sub_1(self,arg0),btVector3)});btVector4.prototype["__destroy__"]=btVector4.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btVector4___destroy___0(self)});function btDefaultCollisionConstructionInfo(){this.ptr=_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0();getCache(btDefaultCollisionConstructionInfo)[this.ptr]=this}btDefaultCollisionConstructionInfo.prototype=Object.create(WrapperObject.prototype);btDefaultCollisionConstructionInfo.prototype.constructor=btDefaultCollisionConstructionInfo;btDefaultCollisionConstructionInfo.prototype.__class__=btDefaultCollisionConstructionInfo;btDefaultCollisionConstructionInfo.__cache__={};Module["btDefaultCollisionConstructionInfo"]=btDefaultCollisionConstructionInfo;btDefaultCollisionConstructionInfo.prototype["__destroy__"]=btDefaultCollisionConstructionInfo.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0(self)});function Anchor(){throw"cannot construct a Anchor, no constructor in IDL"}Anchor.prototype=Object.create(WrapperObject.prototype);Anchor.prototype.constructor=Anchor;Anchor.prototype.__class__=Anchor;Anchor.__cache__={};Module["Anchor"]=Anchor;Anchor.prototype["get_m_node"]=Anchor.prototype.get_m_node=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Anchor_get_m_node_0(self),Node)});Anchor.prototype["set_m_node"]=Anchor.prototype.set_m_node=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Anchor_set_m_node_1(self,arg0)});Anchor.prototype["get_m_local"]=Anchor.prototype.get_m_local=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Anchor_get_m_local_0(self),btVector3)});Anchor.prototype["set_m_local"]=Anchor.prototype.set_m_local=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Anchor_set_m_local_1(self,arg0)});Anchor.prototype["get_m_body"]=Anchor.prototype.get_m_body=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Anchor_get_m_body_0(self),btRigidBody)});Anchor.prototype["set_m_body"]=Anchor.prototype.set_m_body=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Anchor_set_m_body_1(self,arg0)});Anchor.prototype["get_m_influence"]=Anchor.prototype.get_m_influence=(function(){var self=this.ptr;return _emscripten_bind_Anchor_get_m_influence_0(self)});Anchor.prototype["set_m_influence"]=Anchor.prototype.set_m_influence=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Anchor_set_m_influence_1(self,arg0)});Anchor.prototype["get_m_c0"]=Anchor.prototype.get_m_c0=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Anchor_get_m_c0_0(self),btMatrix3x3)});Anchor.prototype["set_m_c0"]=Anchor.prototype.set_m_c0=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Anchor_set_m_c0_1(self,arg0)});Anchor.prototype["get_m_c1"]=Anchor.prototype.get_m_c1=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Anchor_get_m_c1_0(self),btVector3)});Anchor.prototype["set_m_c1"]=Anchor.prototype.set_m_c1=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Anchor_set_m_c1_1(self,arg0)});Anchor.prototype["get_m_c2"]=Anchor.prototype.get_m_c2=(function(){var self=this.ptr;return _emscripten_bind_Anchor_get_m_c2_0(self)});Anchor.prototype["set_m_c2"]=Anchor.prototype.set_m_c2=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Anchor_set_m_c2_1(self,arg0)});Anchor.prototype["__destroy__"]=Anchor.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Anchor___destroy___0(self)});function btVehicleRaycasterResult(){throw"cannot construct a btVehicleRaycasterResult, no constructor in IDL"}btVehicleRaycasterResult.prototype=Object.create(WrapperObject.prototype);btVehicleRaycasterResult.prototype.constructor=btVehicleRaycasterResult;btVehicleRaycasterResult.prototype.__class__=btVehicleRaycasterResult;btVehicleRaycasterResult.__cache__={};Module["btVehicleRaycasterResult"]=btVehicleRaycasterResult;btVehicleRaycasterResult.prototype["get_m_hitPointInWorld"]=btVehicleRaycasterResult.prototype.get_m_hitPointInWorld=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0(self),btVector3)});btVehicleRaycasterResult.prototype["set_m_hitPointInWorld"]=btVehicleRaycasterResult.prototype.set_m_hitPointInWorld=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1(self,arg0)});btVehicleRaycasterResult.prototype["get_m_hitNormalInWorld"]=btVehicleRaycasterResult.prototype.get_m_hitNormalInWorld=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0(self),btVector3)});btVehicleRaycasterResult.prototype["set_m_hitNormalInWorld"]=btVehicleRaycasterResult.prototype.set_m_hitNormalInWorld=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1(self,arg0)});btVehicleRaycasterResult.prototype["get_m_distFraction"]=btVehicleRaycasterResult.prototype.get_m_distFraction=(function(){var self=this.ptr;return _emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0(self)});btVehicleRaycasterResult.prototype["set_m_distFraction"]=btVehicleRaycasterResult.prototype.set_m_distFraction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1(self,arg0)});btVehicleRaycasterResult.prototype["__destroy__"]=btVehicleRaycasterResult.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btVehicleRaycasterResult___destroy___0(self)});function btConstraintSolver(){throw"cannot construct a btConstraintSolver, no constructor in IDL"}btConstraintSolver.prototype=Object.create(WrapperObject.prototype);btConstraintSolver.prototype.constructor=btConstraintSolver;btConstraintSolver.prototype.__class__=btConstraintSolver;btConstraintSolver.__cache__={};Module["btConstraintSolver"]=btConstraintSolver;btConstraintSolver.prototype["__destroy__"]=btConstraintSolver.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btConstraintSolver___destroy___0(self)});function btRaycastVehicle(arg0,arg1,arg2){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;this.ptr=_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3(arg0,arg1,arg2);getCache(btRaycastVehicle)[this.ptr]=this}btRaycastVehicle.prototype=Object.create(btActionInterface.prototype);btRaycastVehicle.prototype.constructor=btRaycastVehicle;btRaycastVehicle.prototype.__class__=btRaycastVehicle;btRaycastVehicle.__cache__={};Module["btRaycastVehicle"]=btRaycastVehicle;btRaycastVehicle.prototype["applyEngineForce"]=btRaycastVehicle.prototype.applyEngineForce=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRaycastVehicle_applyEngineForce_2(self,arg0,arg1)});btRaycastVehicle.prototype["setSteeringValue"]=btRaycastVehicle.prototype.setSteeringValue=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRaycastVehicle_setSteeringValue_2(self,arg0,arg1)});btRaycastVehicle.prototype["getWheelTransformWS"]=btRaycastVehicle.prototype.getWheelTransformWS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1(self,arg0),btTransform)});btRaycastVehicle.prototype["updateWheelTransform"]=btRaycastVehicle.prototype.updateWheelTransform=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRaycastVehicle_updateWheelTransform_2(self,arg0,arg1)});btRaycastVehicle.prototype["addWheel"]=btRaycastVehicle.prototype.addWheel=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg5&&typeof arg5==="object")arg5=arg5.ptr;if(arg6&&typeof arg6==="object")arg6=arg6.ptr;return wrapPointer(_emscripten_bind_btRaycastVehicle_addWheel_7(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6),btWheelInfo)});btRaycastVehicle.prototype["getNumWheels"]=btRaycastVehicle.prototype.getNumWheels=(function(){var self=this.ptr;return _emscripten_bind_btRaycastVehicle_getNumWheels_0(self)});btRaycastVehicle.prototype["getRigidBody"]=btRaycastVehicle.prototype.getRigidBody=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRaycastVehicle_getRigidBody_0(self),btRigidBody)});btRaycastVehicle.prototype["getWheelInfo"]=btRaycastVehicle.prototype.getWheelInfo=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btRaycastVehicle_getWheelInfo_1(self,arg0),btWheelInfo)});btRaycastVehicle.prototype["setBrake"]=btRaycastVehicle.prototype.setBrake=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRaycastVehicle_setBrake_2(self,arg0,arg1)});btRaycastVehicle.prototype["setCoordinateSystem"]=btRaycastVehicle.prototype.setCoordinateSystem=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3(self,arg0,arg1,arg2)});btRaycastVehicle.prototype["getCurrentSpeedKmHour"]=btRaycastVehicle.prototype.getCurrentSpeedKmHour=(function(){var self=this.ptr;return _emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0(self)});btRaycastVehicle.prototype["getChassisWorldTransform"]=btRaycastVehicle.prototype.getChassisWorldTransform=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0(self),btTransform)});btRaycastVehicle.prototype["rayCast"]=btRaycastVehicle.prototype.rayCast=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_btRaycastVehicle_rayCast_1(self,arg0)});btRaycastVehicle.prototype["updateVehicle"]=btRaycastVehicle.prototype.updateVehicle=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRaycastVehicle_updateVehicle_1(self,arg0)});btRaycastVehicle.prototype["resetSuspension"]=btRaycastVehicle.prototype.resetSuspension=(function(){var self=this.ptr;_emscripten_bind_btRaycastVehicle_resetSuspension_0(self)});btRaycastVehicle.prototype["getSteeringValue"]=btRaycastVehicle.prototype.getSteeringValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_btRaycastVehicle_getSteeringValue_1(self,arg0)});btRaycastVehicle.prototype["updateWheelTransformsWS"]=btRaycastVehicle.prototype.updateWheelTransformsWS=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg1===undefined){_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1(self,arg0);return}_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2(self,arg0,arg1)});btRaycastVehicle.prototype["setPitchControl"]=btRaycastVehicle.prototype.setPitchControl=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRaycastVehicle_setPitchControl_1(self,arg0)});btRaycastVehicle.prototype["updateSuspension"]=btRaycastVehicle.prototype.updateSuspension=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRaycastVehicle_updateSuspension_1(self,arg0)});btRaycastVehicle.prototype["updateFriction"]=btRaycastVehicle.prototype.updateFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRaycastVehicle_updateFriction_1(self,arg0)});btRaycastVehicle.prototype["getRightAxis"]=btRaycastVehicle.prototype.getRightAxis=(function(){var self=this.ptr;return _emscripten_bind_btRaycastVehicle_getRightAxis_0(self)});btRaycastVehicle.prototype["getUpAxis"]=btRaycastVehicle.prototype.getUpAxis=(function(){var self=this.ptr;return _emscripten_bind_btRaycastVehicle_getUpAxis_0(self)});btRaycastVehicle.prototype["getForwardAxis"]=btRaycastVehicle.prototype.getForwardAxis=(function(){var self=this.ptr;return _emscripten_bind_btRaycastVehicle_getForwardAxis_0(self)});btRaycastVehicle.prototype["getForwardVector"]=btRaycastVehicle.prototype.getForwardVector=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRaycastVehicle_getForwardVector_0(self),btVector3)});btRaycastVehicle.prototype["getUserConstraintType"]=btRaycastVehicle.prototype.getUserConstraintType=(function(){var self=this.ptr;return _emscripten_bind_btRaycastVehicle_getUserConstraintType_0(self)});btRaycastVehicle.prototype["setUserConstraintType"]=btRaycastVehicle.prototype.setUserConstraintType=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRaycastVehicle_setUserConstraintType_1(self,arg0)});btRaycastVehicle.prototype["setUserConstraintId"]=btRaycastVehicle.prototype.setUserConstraintId=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btRaycastVehicle_setUserConstraintId_1(self,arg0)});btRaycastVehicle.prototype["getUserConstraintId"]=btRaycastVehicle.prototype.getUserConstraintId=(function(){var self=this.ptr;return _emscripten_bind_btRaycastVehicle_getUserConstraintId_0(self)});btRaycastVehicle.prototype["updateAction"]=btRaycastVehicle.prototype.updateAction=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btRaycastVehicle_updateAction_2(self,arg0,arg1)});btRaycastVehicle.prototype["__destroy__"]=btRaycastVehicle.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btRaycastVehicle___destroy___0(self)});function btCylinderShapeX(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;this.ptr=_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1(arg0);getCache(btCylinderShapeX)[this.ptr]=this}btCylinderShapeX.prototype=Object.create(btCylinderShape.prototype);btCylinderShapeX.prototype.constructor=btCylinderShapeX;btCylinderShapeX.prototype.__class__=btCylinderShapeX;btCylinderShapeX.__cache__={};Module["btCylinderShapeX"]=btCylinderShapeX;btCylinderShapeX.prototype["setMargin"]=btCylinderShapeX.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCylinderShapeX_setMargin_1(self,arg0)});btCylinderShapeX.prototype["getMargin"]=btCylinderShapeX.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btCylinderShapeX_getMargin_0(self)});btCylinderShapeX.prototype["setLocalScaling"]=btCylinderShapeX.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCylinderShapeX_setLocalScaling_1(self,arg0)});btCylinderShapeX.prototype["getLocalScaling"]=btCylinderShapeX.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCylinderShapeX_getLocalScaling_0(self),btVector3)});btCylinderShapeX.prototype["calculateLocalInertia"]=btCylinderShapeX.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2(self,arg0,arg1)});btCylinderShapeX.prototype["__destroy__"]=btCylinderShapeX.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCylinderShapeX___destroy___0(self)});function btCylinderShapeZ(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;this.ptr=_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1(arg0);getCache(btCylinderShapeZ)[this.ptr]=this}btCylinderShapeZ.prototype=Object.create(btCylinderShape.prototype);btCylinderShapeZ.prototype.constructor=btCylinderShapeZ;btCylinderShapeZ.prototype.__class__=btCylinderShapeZ;btCylinderShapeZ.__cache__={};Module["btCylinderShapeZ"]=btCylinderShapeZ;btCylinderShapeZ.prototype["setMargin"]=btCylinderShapeZ.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCylinderShapeZ_setMargin_1(self,arg0)});btCylinderShapeZ.prototype["getMargin"]=btCylinderShapeZ.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btCylinderShapeZ_getMargin_0(self)});btCylinderShapeZ.prototype["setLocalScaling"]=btCylinderShapeZ.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCylinderShapeZ_setLocalScaling_1(self,arg0)});btCylinderShapeZ.prototype["getLocalScaling"]=btCylinderShapeZ.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCylinderShapeZ_getLocalScaling_0(self),btVector3)});btCylinderShapeZ.prototype["calculateLocalInertia"]=btCylinderShapeZ.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2(self,arg0,arg1)});btCylinderShapeZ.prototype["__destroy__"]=btCylinderShapeZ.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCylinderShapeZ___destroy___0(self)});function btSequentialImpulseConstraintSolver(){this.ptr=_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0();getCache(btSequentialImpulseConstraintSolver)[this.ptr]=this}btSequentialImpulseConstraintSolver.prototype=Object.create(WrapperObject.prototype);btSequentialImpulseConstraintSolver.prototype.constructor=btSequentialImpulseConstraintSolver;btSequentialImpulseConstraintSolver.prototype.__class__=btSequentialImpulseConstraintSolver;btSequentialImpulseConstraintSolver.__cache__={};Module["btSequentialImpulseConstraintSolver"]=btSequentialImpulseConstraintSolver;btSequentialImpulseConstraintSolver.prototype["__destroy__"]=btSequentialImpulseConstraintSolver.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0(self)});function tAnchorArray(){throw"cannot construct a tAnchorArray, no constructor in IDL"}tAnchorArray.prototype=Object.create(WrapperObject.prototype);tAnchorArray.prototype.constructor=tAnchorArray;tAnchorArray.prototype.__class__=tAnchorArray;tAnchorArray.__cache__={};Module["tAnchorArray"]=tAnchorArray;tAnchorArray.prototype["size"]=tAnchorArray.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_tAnchorArray_size_0(self)});tAnchorArray.prototype["at"]=tAnchorArray.prototype.at=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_tAnchorArray_at_1(self,arg0),Anchor)});tAnchorArray.prototype["clear"]=tAnchorArray.prototype.clear=(function(){var self=this.ptr;_emscripten_bind_tAnchorArray_clear_0(self)});tAnchorArray.prototype["push_back"]=tAnchorArray.prototype.push_back=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_tAnchorArray_push_back_1(self,arg0)});tAnchorArray.prototype["pop_back"]=tAnchorArray.prototype.pop_back=(function(){var self=this.ptr;_emscripten_bind_tAnchorArray_pop_back_0(self)});tAnchorArray.prototype["__destroy__"]=tAnchorArray.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_tAnchorArray___destroy___0(self)});function RaycastInfo(){throw"cannot construct a RaycastInfo, no constructor in IDL"}RaycastInfo.prototype=Object.create(WrapperObject.prototype);RaycastInfo.prototype.constructor=RaycastInfo;RaycastInfo.prototype.__class__=RaycastInfo;RaycastInfo.__cache__={};Module["RaycastInfo"]=RaycastInfo;RaycastInfo.prototype["get_m_contactNormalWS"]=RaycastInfo.prototype.get_m_contactNormalWS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0(self),btVector3)});RaycastInfo.prototype["set_m_contactNormalWS"]=RaycastInfo.prototype.set_m_contactNormalWS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1(self,arg0)});RaycastInfo.prototype["get_m_contactPointWS"]=RaycastInfo.prototype.get_m_contactPointWS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_RaycastInfo_get_m_contactPointWS_0(self),btVector3)});RaycastInfo.prototype["set_m_contactPointWS"]=RaycastInfo.prototype.set_m_contactPointWS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RaycastInfo_set_m_contactPointWS_1(self,arg0)});RaycastInfo.prototype["get_m_suspensionLength"]=RaycastInfo.prototype.get_m_suspensionLength=(function(){var self=this.ptr;return _emscripten_bind_RaycastInfo_get_m_suspensionLength_0(self)});RaycastInfo.prototype["set_m_suspensionLength"]=RaycastInfo.prototype.set_m_suspensionLength=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RaycastInfo_set_m_suspensionLength_1(self,arg0)});RaycastInfo.prototype["get_m_hardPointWS"]=RaycastInfo.prototype.get_m_hardPointWS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_RaycastInfo_get_m_hardPointWS_0(self),btVector3)});RaycastInfo.prototype["set_m_hardPointWS"]=RaycastInfo.prototype.set_m_hardPointWS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RaycastInfo_set_m_hardPointWS_1(self,arg0)});RaycastInfo.prototype["get_m_wheelDirectionWS"]=RaycastInfo.prototype.get_m_wheelDirectionWS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0(self),btVector3)});RaycastInfo.prototype["set_m_wheelDirectionWS"]=RaycastInfo.prototype.set_m_wheelDirectionWS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1(self,arg0)});RaycastInfo.prototype["get_m_wheelAxleWS"]=RaycastInfo.prototype.get_m_wheelAxleWS=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0(self),btVector3)});RaycastInfo.prototype["set_m_wheelAxleWS"]=RaycastInfo.prototype.set_m_wheelAxleWS=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1(self,arg0)});RaycastInfo.prototype["get_m_isInContact"]=RaycastInfo.prototype.get_m_isInContact=(function(){var self=this.ptr;return!!_emscripten_bind_RaycastInfo_get_m_isInContact_0(self)});RaycastInfo.prototype["set_m_isInContact"]=RaycastInfo.prototype.set_m_isInContact=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RaycastInfo_set_m_isInContact_1(self,arg0)});RaycastInfo.prototype["get_m_groundObject"]=RaycastInfo.prototype.get_m_groundObject=(function(){var self=this.ptr;return _emscripten_bind_RaycastInfo_get_m_groundObject_0(self)});RaycastInfo.prototype["set_m_groundObject"]=RaycastInfo.prototype.set_m_groundObject=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_RaycastInfo_set_m_groundObject_1(self,arg0)});RaycastInfo.prototype["__destroy__"]=RaycastInfo.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_RaycastInfo___destroy___0(self)});function tNodeArray(){throw"cannot construct a tNodeArray, no constructor in IDL"}tNodeArray.prototype=Object.create(WrapperObject.prototype);tNodeArray.prototype.constructor=tNodeArray;tNodeArray.prototype.__class__=tNodeArray;tNodeArray.__cache__={};Module["tNodeArray"]=tNodeArray;tNodeArray.prototype["size"]=tNodeArray.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_tNodeArray_size_0(self)});tNodeArray.prototype["at"]=tNodeArray.prototype.at=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_tNodeArray_at_1(self,arg0),Node)});tNodeArray.prototype["__destroy__"]=tNodeArray.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_tNodeArray___destroy___0(self)});function btSoftBody(arg0,arg1,arg2,arg3){ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(typeof arg3=="object"){arg3=ensureFloat32(arg3)}this.ptr=_emscripten_bind_btSoftBody_btSoftBody_4(arg0,arg1,arg2,arg3);getCache(btSoftBody)[this.ptr]=this}btSoftBody.prototype=Object.create(btCollisionObject.prototype);btSoftBody.prototype.constructor=btSoftBody;btSoftBody.prototype.__class__=btSoftBody;btSoftBody.__cache__={};Module["btSoftBody"]=btSoftBody;btSoftBody.prototype["checkLink"]=btSoftBody.prototype.checkLink=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return!!_emscripten_bind_btSoftBody_checkLink_2(self,arg0,arg1)});btSoftBody.prototype["checkFace"]=btSoftBody.prototype.checkFace=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_btSoftBody_checkFace_3(self,arg0,arg1,arg2)});btSoftBody.prototype["appendMaterial"]=btSoftBody.prototype.appendMaterial=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBody_appendMaterial_0(self),Material)});btSoftBody.prototype["appendNode"]=btSoftBody.prototype.appendNode=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btSoftBody_appendNode_2(self,arg0,arg1)});btSoftBody.prototype["appendLink"]=btSoftBody.prototype.appendLink=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;_emscripten_bind_btSoftBody_appendLink_4(self,arg0,arg1,arg2,arg3)});btSoftBody.prototype["appendFace"]=btSoftBody.prototype.appendFace=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;_emscripten_bind_btSoftBody_appendFace_4(self,arg0,arg1,arg2,arg3)});btSoftBody.prototype["appendTetra"]=btSoftBody.prototype.appendTetra=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;_emscripten_bind_btSoftBody_appendTetra_5(self,arg0,arg1,arg2,arg3,arg4)});btSoftBody.prototype["appendAnchor"]=btSoftBody.prototype.appendAnchor=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;_emscripten_bind_btSoftBody_appendAnchor_4(self,arg0,arg1,arg2,arg3)});btSoftBody.prototype["getTotalMass"]=btSoftBody.prototype.getTotalMass=(function(){var self=this.ptr;return _emscripten_bind_btSoftBody_getTotalMass_0(self)});btSoftBody.prototype["appendLinearJoint"]=btSoftBody.prototype.appendLinearJoint=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btSoftBody_appendLinearJoint_2(self,arg0,arg1)});btSoftBody.prototype["setTotalMass"]=btSoftBody.prototype.setTotalMass=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btSoftBody_setTotalMass_2(self,arg0,arg1)});btSoftBody.prototype["setMass"]=btSoftBody.prototype.setMass=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btSoftBody_setMass_2(self,arg0,arg1)});btSoftBody.prototype["transform"]=btSoftBody.prototype.transform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_transform_1(self,arg0)});btSoftBody.prototype["translate"]=btSoftBody.prototype.translate=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_translate_1(self,arg0)});btSoftBody.prototype["rotate"]=btSoftBody.prototype.rotate=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_rotate_1(self,arg0)});btSoftBody.prototype["scale"]=btSoftBody.prototype.scale=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_scale_1(self,arg0)});btSoftBody.prototype["generateClusters"]=btSoftBody.prototype.generateClusters=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg1===undefined){return _emscripten_bind_btSoftBody_generateClusters_1(self,arg0)}return _emscripten_bind_btSoftBody_generateClusters_2(self,arg0,arg1)});btSoftBody.prototype["generateBendingConstraints"]=btSoftBody.prototype.generateBendingConstraints=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_btSoftBody_generateBendingConstraints_2(self,arg0,arg1)});btSoftBody.prototype["upcast"]=btSoftBody.prototype.upcast=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btSoftBody_upcast_1(self,arg0),btSoftBody)});btSoftBody.prototype["setAnisotropicFriction"]=btSoftBody.prototype.setAnisotropicFriction=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btSoftBody_setAnisotropicFriction_2(self,arg0,arg1)});btSoftBody.prototype["getCollisionShape"]=btSoftBody.prototype.getCollisionShape=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBody_getCollisionShape_0(self),btCollisionShape)});btSoftBody.prototype["setContactProcessingThreshold"]=btSoftBody.prototype.setContactProcessingThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setContactProcessingThreshold_1(self,arg0)});btSoftBody.prototype["setActivationState"]=btSoftBody.prototype.setActivationState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setActivationState_1(self,arg0)});btSoftBody.prototype["forceActivationState"]=btSoftBody.prototype.forceActivationState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_forceActivationState_1(self,arg0)});btSoftBody.prototype["activate"]=btSoftBody.prototype.activate=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg0===undefined){_emscripten_bind_btSoftBody_activate_0(self);return}_emscripten_bind_btSoftBody_activate_1(self,arg0)});btSoftBody.prototype["isActive"]=btSoftBody.prototype.isActive=(function(){var self=this.ptr;return!!_emscripten_bind_btSoftBody_isActive_0(self)});btSoftBody.prototype["isKinematicObject"]=btSoftBody.prototype.isKinematicObject=(function(){var self=this.ptr;return!!_emscripten_bind_btSoftBody_isKinematicObject_0(self)});btSoftBody.prototype["isStaticObject"]=btSoftBody.prototype.isStaticObject=(function(){var self=this.ptr;return!!_emscripten_bind_btSoftBody_isStaticObject_0(self)});btSoftBody.prototype["isStaticOrKinematicObject"]=btSoftBody.prototype.isStaticOrKinematicObject=(function(){var self=this.ptr;return!!_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0(self)});btSoftBody.prototype["setRestitution"]=btSoftBody.prototype.setRestitution=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setRestitution_1(self,arg0)});btSoftBody.prototype["setFriction"]=btSoftBody.prototype.setFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setFriction_1(self,arg0)});btSoftBody.prototype["setRollingFriction"]=btSoftBody.prototype.setRollingFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setRollingFriction_1(self,arg0)});btSoftBody.prototype["getWorldTransform"]=btSoftBody.prototype.getWorldTransform=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBody_getWorldTransform_0(self),btTransform)});btSoftBody.prototype["getCollisionFlags"]=btSoftBody.prototype.getCollisionFlags=(function(){var self=this.ptr;return _emscripten_bind_btSoftBody_getCollisionFlags_0(self)});btSoftBody.prototype["setCollisionFlags"]=btSoftBody.prototype.setCollisionFlags=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setCollisionFlags_1(self,arg0)});btSoftBody.prototype["setWorldTransform"]=btSoftBody.prototype.setWorldTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setWorldTransform_1(self,arg0)});btSoftBody.prototype["setCollisionShape"]=btSoftBody.prototype.setCollisionShape=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setCollisionShape_1(self,arg0)});btSoftBody.prototype["setCcdMotionThreshold"]=btSoftBody.prototype.setCcdMotionThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setCcdMotionThreshold_1(self,arg0)});btSoftBody.prototype["setCcdSweptSphereRadius"]=btSoftBody.prototype.setCcdSweptSphereRadius=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1(self,arg0)});btSoftBody.prototype["getUserIndex"]=btSoftBody.prototype.getUserIndex=(function(){var self=this.ptr;return _emscripten_bind_btSoftBody_getUserIndex_0(self)});btSoftBody.prototype["setUserIndex"]=btSoftBody.prototype.setUserIndex=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setUserIndex_1(self,arg0)});btSoftBody.prototype["getUserPointer"]=btSoftBody.prototype.getUserPointer=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBody_getUserPointer_0(self),VoidPtr)});btSoftBody.prototype["setUserPointer"]=btSoftBody.prototype.setUserPointer=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_setUserPointer_1(self,arg0)});btSoftBody.prototype["get_m_cfg"]=btSoftBody.prototype.get_m_cfg=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBody_get_m_cfg_0(self),Config)});btSoftBody.prototype["set_m_cfg"]=btSoftBody.prototype.set_m_cfg=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_set_m_cfg_1(self,arg0)});btSoftBody.prototype["get_m_nodes"]=btSoftBody.prototype.get_m_nodes=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBody_get_m_nodes_0(self),tNodeArray)});btSoftBody.prototype["set_m_nodes"]=btSoftBody.prototype.set_m_nodes=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_set_m_nodes_1(self,arg0)});btSoftBody.prototype["get_m_links"]=btSoftBody.prototype.get_m_links=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBody_get_m_links_0(self),tLinkArray)});btSoftBody.prototype["set_m_links"]=btSoftBody.prototype.set_m_links=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_set_m_links_1(self,arg0)});btSoftBody.prototype["get_m_faces"]=btSoftBody.prototype.get_m_faces=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBody_get_m_faces_0(self),tFaceArray)});btSoftBody.prototype["set_m_faces"]=btSoftBody.prototype.set_m_faces=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_set_m_faces_1(self,arg0)});btSoftBody.prototype["get_m_materials"]=btSoftBody.prototype.get_m_materials=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBody_get_m_materials_0(self),tMaterialArray)});btSoftBody.prototype["set_m_materials"]=btSoftBody.prototype.set_m_materials=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_set_m_materials_1(self,arg0)});btSoftBody.prototype["get_m_anchors"]=btSoftBody.prototype.get_m_anchors=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftBody_get_m_anchors_0(self),tAnchorArray)});btSoftBody.prototype["set_m_anchors"]=btSoftBody.prototype.set_m_anchors=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftBody_set_m_anchors_1(self,arg0)});btSoftBody.prototype["__destroy__"]=btSoftBody.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btSoftBody___destroy___0(self)});function btHeightfieldTerrainShape(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg5&&typeof arg5==="object")arg5=arg5.ptr;if(arg6&&typeof arg6==="object")arg6=arg6.ptr;if(arg7&&typeof arg7==="object")arg7=arg7.ptr;if(arg8&&typeof arg8==="object")arg8=arg8.ptr;this.ptr=_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);getCache(btHeightfieldTerrainShape)[this.ptr]=this}btHeightfieldTerrainShape.prototype=Object.create(btConcaveShape.prototype);btHeightfieldTerrainShape.prototype.constructor=btHeightfieldTerrainShape;btHeightfieldTerrainShape.prototype.__class__=btHeightfieldTerrainShape;btHeightfieldTerrainShape.__cache__={};Module["btHeightfieldTerrainShape"]=btHeightfieldTerrainShape;btHeightfieldTerrainShape.prototype["setMargin"]=btHeightfieldTerrainShape.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btHeightfieldTerrainShape_setMargin_1(self,arg0)});btHeightfieldTerrainShape.prototype["getMargin"]=btHeightfieldTerrainShape.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btHeightfieldTerrainShape_getMargin_0(self)});btHeightfieldTerrainShape.prototype["setLocalScaling"]=btHeightfieldTerrainShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1(self,arg0)});btHeightfieldTerrainShape.prototype["getLocalScaling"]=btHeightfieldTerrainShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0(self),btVector3)});btHeightfieldTerrainShape.prototype["calculateLocalInertia"]=btHeightfieldTerrainShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2(self,arg0,arg1)});btHeightfieldTerrainShape.prototype["__destroy__"]=btHeightfieldTerrainShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btHeightfieldTerrainShape___destroy___0(self)});function Config(){throw"cannot construct a Config, no constructor in IDL"}Config.prototype=Object.create(WrapperObject.prototype);Config.prototype.constructor=Config;Config.prototype.__class__=Config;Config.__cache__={};Module["Config"]=Config;Config.prototype["get_kVCF"]=Config.prototype.get_kVCF=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kVCF_0(self)});Config.prototype["set_kVCF"]=Config.prototype.set_kVCF=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kVCF_1(self,arg0)});Config.prototype["get_kDP"]=Config.prototype.get_kDP=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kDP_0(self)});Config.prototype["set_kDP"]=Config.prototype.set_kDP=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kDP_1(self,arg0)});Config.prototype["get_kDG"]=Config.prototype.get_kDG=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kDG_0(self)});Config.prototype["set_kDG"]=Config.prototype.set_kDG=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kDG_1(self,arg0)});Config.prototype["get_kLF"]=Config.prototype.get_kLF=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kLF_0(self)});Config.prototype["set_kLF"]=Config.prototype.set_kLF=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kLF_1(self,arg0)});Config.prototype["get_kPR"]=Config.prototype.get_kPR=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kPR_0(self)});Config.prototype["set_kPR"]=Config.prototype.set_kPR=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kPR_1(self,arg0)});Config.prototype["get_kVC"]=Config.prototype.get_kVC=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kVC_0(self)});Config.prototype["set_kVC"]=Config.prototype.set_kVC=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kVC_1(self,arg0)});Config.prototype["get_kDF"]=Config.prototype.get_kDF=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kDF_0(self)});Config.prototype["set_kDF"]=Config.prototype.set_kDF=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kDF_1(self,arg0)});Config.prototype["get_kMT"]=Config.prototype.get_kMT=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kMT_0(self)});Config.prototype["set_kMT"]=Config.prototype.set_kMT=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kMT_1(self,arg0)});Config.prototype["get_kCHR"]=Config.prototype.get_kCHR=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kCHR_0(self)});Config.prototype["set_kCHR"]=Config.prototype.set_kCHR=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kCHR_1(self,arg0)});Config.prototype["get_kKHR"]=Config.prototype.get_kKHR=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kKHR_0(self)});Config.prototype["set_kKHR"]=Config.prototype.set_kKHR=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kKHR_1(self,arg0)});Config.prototype["get_kSHR"]=Config.prototype.get_kSHR=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kSHR_0(self)});Config.prototype["set_kSHR"]=Config.prototype.set_kSHR=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kSHR_1(self,arg0)});Config.prototype["get_kAHR"]=Config.prototype.get_kAHR=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kAHR_0(self)});Config.prototype["set_kAHR"]=Config.prototype.set_kAHR=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kAHR_1(self,arg0)});Config.prototype["get_kSRHR_CL"]=Config.prototype.get_kSRHR_CL=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kSRHR_CL_0(self)});Config.prototype["set_kSRHR_CL"]=Config.prototype.set_kSRHR_CL=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kSRHR_CL_1(self,arg0)});Config.prototype["get_kSKHR_CL"]=Config.prototype.get_kSKHR_CL=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kSKHR_CL_0(self)});Config.prototype["set_kSKHR_CL"]=Config.prototype.set_kSKHR_CL=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kSKHR_CL_1(self,arg0)});Config.prototype["get_kSSHR_CL"]=Config.prototype.get_kSSHR_CL=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kSSHR_CL_0(self)});Config.prototype["set_kSSHR_CL"]=Config.prototype.set_kSSHR_CL=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kSSHR_CL_1(self,arg0)});Config.prototype["get_kSR_SPLT_CL"]=Config.prototype.get_kSR_SPLT_CL=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kSR_SPLT_CL_0(self)});Config.prototype["set_kSR_SPLT_CL"]=Config.prototype.set_kSR_SPLT_CL=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kSR_SPLT_CL_1(self,arg0)});Config.prototype["get_kSK_SPLT_CL"]=Config.prototype.get_kSK_SPLT_CL=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kSK_SPLT_CL_0(self)});Config.prototype["set_kSK_SPLT_CL"]=Config.prototype.set_kSK_SPLT_CL=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kSK_SPLT_CL_1(self,arg0)});Config.prototype["get_kSS_SPLT_CL"]=Config.prototype.get_kSS_SPLT_CL=(function(){var self=this.ptr;return _emscripten_bind_Config_get_kSS_SPLT_CL_0(self)});Config.prototype["set_kSS_SPLT_CL"]=Config.prototype.set_kSS_SPLT_CL=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_kSS_SPLT_CL_1(self,arg0)});Config.prototype["get_maxvolume"]=Config.prototype.get_maxvolume=(function(){var self=this.ptr;return _emscripten_bind_Config_get_maxvolume_0(self)});Config.prototype["set_maxvolume"]=Config.prototype.set_maxvolume=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_maxvolume_1(self,arg0)});Config.prototype["get_timescale"]=Config.prototype.get_timescale=(function(){var self=this.ptr;return _emscripten_bind_Config_get_timescale_0(self)});Config.prototype["set_timescale"]=Config.prototype.set_timescale=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_timescale_1(self,arg0)});Config.prototype["get_viterations"]=Config.prototype.get_viterations=(function(){var self=this.ptr;return _emscripten_bind_Config_get_viterations_0(self)});Config.prototype["set_viterations"]=Config.prototype.set_viterations=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_viterations_1(self,arg0)});Config.prototype["get_piterations"]=Config.prototype.get_piterations=(function(){var self=this.ptr;return _emscripten_bind_Config_get_piterations_0(self)});Config.prototype["set_piterations"]=Config.prototype.set_piterations=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_piterations_1(self,arg0)});Config.prototype["get_diterations"]=Config.prototype.get_diterations=(function(){var self=this.ptr;return _emscripten_bind_Config_get_diterations_0(self)});Config.prototype["set_diterations"]=Config.prototype.set_diterations=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_diterations_1(self,arg0)});Config.prototype["get_citerations"]=Config.prototype.get_citerations=(function(){var self=this.ptr;return _emscripten_bind_Config_get_citerations_0(self)});Config.prototype["set_citerations"]=Config.prototype.set_citerations=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_citerations_1(self,arg0)});Config.prototype["get_collisions"]=Config.prototype.get_collisions=(function(){var self=this.ptr;return _emscripten_bind_Config_get_collisions_0(self)});Config.prototype["set_collisions"]=Config.prototype.set_collisions=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Config_set_collisions_1(self,arg0)});Config.prototype["__destroy__"]=Config.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Config___destroy___0(self)});function Node(){throw"cannot construct a Node, no constructor in IDL"}Node.prototype=Object.create(WrapperObject.prototype);Node.prototype.constructor=Node;Node.prototype.__class__=Node;Node.__cache__={};Module["Node"]=Node;Node.prototype["get_m_x"]=Node.prototype.get_m_x=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Node_get_m_x_0(self),btVector3)});Node.prototype["set_m_x"]=Node.prototype.set_m_x=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Node_set_m_x_1(self,arg0)});Node.prototype["get_m_n"]=Node.prototype.get_m_n=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Node_get_m_n_0(self),btVector3)});Node.prototype["set_m_n"]=Node.prototype.set_m_n=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Node_set_m_n_1(self,arg0)});Node.prototype["__destroy__"]=Node.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Node___destroy___0(self)});function btGhostPairCallback(){this.ptr=_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0();getCache(btGhostPairCallback)[this.ptr]=this}btGhostPairCallback.prototype=Object.create(WrapperObject.prototype);btGhostPairCallback.prototype.constructor=btGhostPairCallback;btGhostPairCallback.prototype.__class__=btGhostPairCallback;btGhostPairCallback.__cache__={};Module["btGhostPairCallback"]=btGhostPairCallback;btGhostPairCallback.prototype["__destroy__"]=btGhostPairCallback.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btGhostPairCallback___destroy___0(self)});function btOverlappingPairCallback(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL"}btOverlappingPairCallback.prototype=Object.create(WrapperObject.prototype);btOverlappingPairCallback.prototype.constructor=btOverlappingPairCallback;btOverlappingPairCallback.prototype.__class__=btOverlappingPairCallback;btOverlappingPairCallback.__cache__={};Module["btOverlappingPairCallback"]=btOverlappingPairCallback;btOverlappingPairCallback.prototype["__destroy__"]=btOverlappingPairCallback.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btOverlappingPairCallback___destroy___0(self)});function btCollisionDispatcher(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;this.ptr=_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1(arg0);getCache(btCollisionDispatcher)[this.ptr]=this}btCollisionDispatcher.prototype=Object.create(btDispatcher.prototype);btCollisionDispatcher.prototype.constructor=btCollisionDispatcher;btCollisionDispatcher.prototype.__class__=btCollisionDispatcher;btCollisionDispatcher.__cache__={};Module["btCollisionDispatcher"]=btCollisionDispatcher;btCollisionDispatcher.prototype["getNumManifolds"]=btCollisionDispatcher.prototype.getNumManifolds=(function(){var self=this.ptr;return _emscripten_bind_btCollisionDispatcher_getNumManifolds_0(self)});btCollisionDispatcher.prototype["getManifoldByIndexInternal"]=btCollisionDispatcher.prototype.getManifoldByIndexInternal=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1(self,arg0),btPersistentManifold)});btCollisionDispatcher.prototype["__destroy__"]=btCollisionDispatcher.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCollisionDispatcher___destroy___0(self)});function btSoftBodyArray(){throw"cannot construct a btSoftBodyArray, no constructor in IDL"}btSoftBodyArray.prototype=Object.create(WrapperObject.prototype);btSoftBodyArray.prototype.constructor=btSoftBodyArray;btSoftBodyArray.prototype.__class__=btSoftBodyArray;btSoftBodyArray.__cache__={};Module["btSoftBodyArray"]=btSoftBodyArray;btSoftBodyArray.prototype["size"]=btSoftBodyArray.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_btSoftBodyArray_size_0(self)});btSoftBodyArray.prototype["at"]=btSoftBodyArray.prototype.at=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btSoftBodyArray_at_1(self,arg0),btSoftBody)});btSoftBodyArray.prototype["__destroy__"]=btSoftBodyArray.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btSoftBodyArray___destroy___0(self)});function Face(){throw"cannot construct a Face, no constructor in IDL"}Face.prototype=Object.create(WrapperObject.prototype);Face.prototype.constructor=Face;Face.prototype.__class__=Face;Face.__cache__={};Module["Face"]=Face;Face.prototype["get_m_n"]=Face.prototype.get_m_n=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_Face_get_m_n_1(self,arg0),Node)});Face.prototype["set_m_n"]=Face.prototype.set_m_n=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_Face_set_m_n_2(self,arg0,arg1)});Face.prototype["get_m_normal"]=Face.prototype.get_m_normal=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_Face_get_m_normal_0(self),btVector3)});Face.prototype["set_m_normal"]=Face.prototype.set_m_normal=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Face_set_m_normal_1(self,arg0)});Face.prototype["__destroy__"]=Face.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Face___destroy___0(self)});function btStaticPlaneShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;this.ptr=_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2(arg0,arg1);getCache(btStaticPlaneShape)[this.ptr]=this}btStaticPlaneShape.prototype=Object.create(btConcaveShape.prototype);btStaticPlaneShape.prototype.constructor=btStaticPlaneShape;btStaticPlaneShape.prototype.__class__=btStaticPlaneShape;btStaticPlaneShape.__cache__={};Module["btStaticPlaneShape"]=btStaticPlaneShape;btStaticPlaneShape.prototype["setLocalScaling"]=btStaticPlaneShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btStaticPlaneShape_setLocalScaling_1(self,arg0)});btStaticPlaneShape.prototype["getLocalScaling"]=btStaticPlaneShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btStaticPlaneShape_getLocalScaling_0(self),btVector3)});btStaticPlaneShape.prototype["calculateLocalInertia"]=btStaticPlaneShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2(self,arg0,arg1)});btStaticPlaneShape.prototype["__destroy__"]=btStaticPlaneShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btStaticPlaneShape___destroy___0(self)});function btOverlappingPairCache(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL"}btOverlappingPairCache.prototype=Object.create(WrapperObject.prototype);btOverlappingPairCache.prototype.constructor=btOverlappingPairCache;btOverlappingPairCache.prototype.__class__=btOverlappingPairCache;btOverlappingPairCache.__cache__={};Module["btOverlappingPairCache"]=btOverlappingPairCache;btOverlappingPairCache.prototype["setInternalGhostPairCallback"]=btOverlappingPairCache.prototype.setInternalGhostPairCallback=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1(self,arg0)});btOverlappingPairCache.prototype["__destroy__"]=btOverlappingPairCache.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btOverlappingPairCache___destroy___0(self)});function btSoftRigidDynamicsWorld(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;this.ptr=_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5(arg0,arg1,arg2,arg3,arg4);getCache(btSoftRigidDynamicsWorld)[this.ptr]=this}btSoftRigidDynamicsWorld.prototype=Object.create(btDiscreteDynamicsWorld.prototype);btSoftRigidDynamicsWorld.prototype.constructor=btSoftRigidDynamicsWorld;btSoftRigidDynamicsWorld.prototype.__class__=btSoftRigidDynamicsWorld;btSoftRigidDynamicsWorld.__cache__={};Module["btSoftRigidDynamicsWorld"]=btSoftRigidDynamicsWorld;btSoftRigidDynamicsWorld.prototype["addSoftBody"]=btSoftRigidDynamicsWorld.prototype.addSoftBody=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3(self,arg0,arg1,arg2)});btSoftRigidDynamicsWorld.prototype["removeSoftBody"]=btSoftRigidDynamicsWorld.prototype.removeSoftBody=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1(self,arg0)});btSoftRigidDynamicsWorld.prototype["removeCollisionObject"]=btSoftRigidDynamicsWorld.prototype.removeCollisionObject=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1(self,arg0)});btSoftRigidDynamicsWorld.prototype["getWorldInfo"]=btSoftRigidDynamicsWorld.prototype.getWorldInfo=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0(self),btSoftBodyWorldInfo)});btSoftRigidDynamicsWorld.prototype["getSoftBodyArray"]=btSoftRigidDynamicsWorld.prototype.getSoftBodyArray=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0(self),btSoftBodyArray)});btSoftRigidDynamicsWorld.prototype["getDispatcher"]=btSoftRigidDynamicsWorld.prototype.getDispatcher=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0(self),btDispatcher)});btSoftRigidDynamicsWorld.prototype["rayTest"]=btSoftRigidDynamicsWorld.prototype.rayTest=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3(self,arg0,arg1,arg2)});btSoftRigidDynamicsWorld.prototype["getPairCache"]=btSoftRigidDynamicsWorld.prototype.getPairCache=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0(self),btOverlappingPairCache)});btSoftRigidDynamicsWorld.prototype["getDispatchInfo"]=btSoftRigidDynamicsWorld.prototype.getDispatchInfo=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0(self),btDispatcherInfo)});btSoftRigidDynamicsWorld.prototype["addCollisionObject"]=btSoftRigidDynamicsWorld.prototype.addCollisionObject=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg1===undefined){_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2(self,arg0,arg1);return}_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3(self,arg0,arg1,arg2)});btSoftRigidDynamicsWorld.prototype["getBroadphase"]=btSoftRigidDynamicsWorld.prototype.getBroadphase=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0(self),btBroadphaseInterface)});btSoftRigidDynamicsWorld.prototype["convexSweepTest"]=btSoftRigidDynamicsWorld.prototype.convexSweepTest=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5(self,arg0,arg1,arg2,arg3,arg4)});btSoftRigidDynamicsWorld.prototype["contactPairTest"]=btSoftRigidDynamicsWorld.prototype.contactPairTest=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3(self,arg0,arg1,arg2)});btSoftRigidDynamicsWorld.prototype["contactTest"]=btSoftRigidDynamicsWorld.prototype.contactTest=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2(self,arg0,arg1)});btSoftRigidDynamicsWorld.prototype["updateSingleAabb"]=btSoftRigidDynamicsWorld.prototype.updateSingleAabb=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1(self,arg0)});btSoftRigidDynamicsWorld.prototype["setGravity"]=btSoftRigidDynamicsWorld.prototype.setGravity=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1(self,arg0)});btSoftRigidDynamicsWorld.prototype["getGravity"]=btSoftRigidDynamicsWorld.prototype.getGravity=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0(self),btVector3)});btSoftRigidDynamicsWorld.prototype["addRigidBody"]=btSoftRigidDynamicsWorld.prototype.addRigidBody=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg1===undefined){_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_2(self,arg0,arg1);return}_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3(self,arg0,arg1,arg2)});btSoftRigidDynamicsWorld.prototype["removeRigidBody"]=btSoftRigidDynamicsWorld.prototype.removeRigidBody=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1(self,arg0)});btSoftRigidDynamicsWorld.prototype["addVehicle"]=btSoftRigidDynamicsWorld.prototype.addVehicle=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_addVehicle_1(self,arg0)});btSoftRigidDynamicsWorld.prototype["removeVehicle"]=btSoftRigidDynamicsWorld.prototype.removeVehicle=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_removeVehicle_1(self,arg0)});btSoftRigidDynamicsWorld.prototype["addConstraint"]=btSoftRigidDynamicsWorld.prototype.addConstraint=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg1===undefined){_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1(self,arg0);return}_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2(self,arg0,arg1)});btSoftRigidDynamicsWorld.prototype["removeConstraint"]=btSoftRigidDynamicsWorld.prototype.removeConstraint=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1(self,arg0)});btSoftRigidDynamicsWorld.prototype["stepSimulation"]=btSoftRigidDynamicsWorld.prototype.stepSimulation=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg1===undefined){return _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1(self,arg0)}if(arg2===undefined){return _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2(self,arg0,arg1)}return _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3(self,arg0,arg1,arg2)});btSoftRigidDynamicsWorld.prototype["addAction"]=btSoftRigidDynamicsWorld.prototype.addAction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1(self,arg0)});btSoftRigidDynamicsWorld.prototype["removeAction"]=btSoftRigidDynamicsWorld.prototype.removeAction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1(self,arg0)});btSoftRigidDynamicsWorld.prototype["getSolverInfo"]=btSoftRigidDynamicsWorld.prototype.getSolverInfo=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0(self),btContactSolverInfo)});btSoftRigidDynamicsWorld.prototype["__destroy__"]=btSoftRigidDynamicsWorld.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0(self)});function btFixedConstraint(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;this.ptr=_emscripten_bind_btFixedConstraint_btFixedConstraint_4(arg0,arg1,arg2,arg3);getCache(btFixedConstraint)[this.ptr]=this}btFixedConstraint.prototype=Object.create(btTypedConstraint.prototype);btFixedConstraint.prototype.constructor=btFixedConstraint;btFixedConstraint.prototype.__class__=btFixedConstraint;btFixedConstraint.__cache__={};Module["btFixedConstraint"]=btFixedConstraint;btFixedConstraint.prototype["enableFeedback"]=btFixedConstraint.prototype.enableFeedback=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btFixedConstraint_enableFeedback_1(self,arg0)});btFixedConstraint.prototype["getBreakingImpulseThreshold"]=btFixedConstraint.prototype.getBreakingImpulseThreshold=(function(){var self=this.ptr;return _emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0(self)});btFixedConstraint.prototype["setBreakingImpulseThreshold"]=btFixedConstraint.prototype.setBreakingImpulseThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1(self,arg0)});btFixedConstraint.prototype["getParam"]=btFixedConstraint.prototype.getParam=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_btFixedConstraint_getParam_2(self,arg0,arg1)});btFixedConstraint.prototype["setParam"]=btFixedConstraint.prototype.setParam=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btFixedConstraint_setParam_3(self,arg0,arg1,arg2)});btFixedConstraint.prototype["__destroy__"]=btFixedConstraint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btFixedConstraint___destroy___0(self)});function btTransform(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg0===undefined){this.ptr=_emscripten_bind_btTransform_btTransform_0();getCache(btTransform)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btTransform_btTransform_1(arg0);getCache(btTransform)[this.ptr]=this;return}this.ptr=_emscripten_bind_btTransform_btTransform_2(arg0,arg1);getCache(btTransform)[this.ptr]=this}btTransform.prototype=Object.create(WrapperObject.prototype);btTransform.prototype.constructor=btTransform;btTransform.prototype.__class__=btTransform;btTransform.__cache__={};Module["btTransform"]=btTransform;btTransform.prototype["setIdentity"]=btTransform.prototype.setIdentity=(function(){var self=this.ptr;_emscripten_bind_btTransform_setIdentity_0(self)});btTransform.prototype["setOrigin"]=btTransform.prototype.setOrigin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btTransform_setOrigin_1(self,arg0)});btTransform.prototype["setRotation"]=btTransform.prototype.setRotation=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btTransform_setRotation_1(self,arg0)});btTransform.prototype["getOrigin"]=btTransform.prototype.getOrigin=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btTransform_getOrigin_0(self),btVector3)});btTransform.prototype["getRotation"]=btTransform.prototype.getRotation=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btTransform_getRotation_0(self),btQuaternion)});btTransform.prototype["getBasis"]=btTransform.prototype.getBasis=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btTransform_getBasis_0(self),btMatrix3x3)});btTransform.prototype["setFromOpenGLMatrix"]=btTransform.prototype.setFromOpenGLMatrix=(function(arg0){var self=this.ptr;ensureCache.prepare();if(typeof arg0=="object"){arg0=ensureFloat32(arg0)}_emscripten_bind_btTransform_setFromOpenGLMatrix_1(self,arg0)});btTransform.prototype["__destroy__"]=btTransform.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btTransform___destroy___0(self)});function ClosestRayResultCallback(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;this.ptr=_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2(arg0,arg1);getCache(ClosestRayResultCallback)[this.ptr]=this}ClosestRayResultCallback.prototype=Object.create(RayResultCallback.prototype);ClosestRayResultCallback.prototype.constructor=ClosestRayResultCallback;ClosestRayResultCallback.prototype.__class__=ClosestRayResultCallback;ClosestRayResultCallback.__cache__={};Module["ClosestRayResultCallback"]=ClosestRayResultCallback;ClosestRayResultCallback.prototype["hasHit"]=ClosestRayResultCallback.prototype.hasHit=(function(){var self=this.ptr;return!!_emscripten_bind_ClosestRayResultCallback_hasHit_0(self)});ClosestRayResultCallback.prototype["get_m_rayFromWorld"]=ClosestRayResultCallback.prototype.get_m_rayFromWorld=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_rayFromWorld"]=ClosestRayResultCallback.prototype.set_m_rayFromWorld=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_rayToWorld"]=ClosestRayResultCallback.prototype.get_m_rayToWorld=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_rayToWorld"]=ClosestRayResultCallback.prototype.set_m_rayToWorld=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_hitNormalWorld"]=ClosestRayResultCallback.prototype.get_m_hitNormalWorld=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_hitNormalWorld"]=ClosestRayResultCallback.prototype.set_m_hitNormalWorld=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_hitPointWorld"]=ClosestRayResultCallback.prototype.get_m_hitPointWorld=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_hitPointWorld"]=ClosestRayResultCallback.prototype.set_m_hitPointWorld=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_collisionFilterGroup"]=ClosestRayResultCallback.prototype.get_m_collisionFilterGroup=(function(){var self=this.ptr;return _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0(self)});ClosestRayResultCallback.prototype["set_m_collisionFilterGroup"]=ClosestRayResultCallback.prototype.set_m_collisionFilterGroup=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_collisionFilterMask"]=ClosestRayResultCallback.prototype.get_m_collisionFilterMask=(function(){var self=this.ptr;return _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0(self)});ClosestRayResultCallback.prototype["set_m_collisionFilterMask"]=ClosestRayResultCallback.prototype.set_m_collisionFilterMask=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_collisionObject"]=ClosestRayResultCallback.prototype.get_m_collisionObject=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0(self),btCollisionObject)});ClosestRayResultCallback.prototype["set_m_collisionObject"]=ClosestRayResultCallback.prototype.set_m_collisionObject=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1(self,arg0)});ClosestRayResultCallback.prototype["__destroy__"]=ClosestRayResultCallback.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_ClosestRayResultCallback___destroy___0(self)});function btSoftBodyRigidBodyCollisionConfiguration(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg0===undefined){this.ptr=_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0();getCache(btSoftBodyRigidBodyCollisionConfiguration)[this.ptr]=this;return}this.ptr=_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1(arg0);getCache(btSoftBodyRigidBodyCollisionConfiguration)[this.ptr]=this}btSoftBodyRigidBodyCollisionConfiguration.prototype=Object.create(btDefaultCollisionConfiguration.prototype);btSoftBodyRigidBodyCollisionConfiguration.prototype.constructor=btSoftBodyRigidBodyCollisionConfiguration;btSoftBodyRigidBodyCollisionConfiguration.prototype.__class__=btSoftBodyRigidBodyCollisionConfiguration;btSoftBodyRigidBodyCollisionConfiguration.__cache__={};Module["btSoftBodyRigidBodyCollisionConfiguration"]=btSoftBodyRigidBodyCollisionConfiguration;btSoftBodyRigidBodyCollisionConfiguration.prototype["__destroy__"]=btSoftBodyRigidBodyCollisionConfiguration.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0(self)});function ConcreteContactResultCallback(){this.ptr=_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0();getCache(ConcreteContactResultCallback)[this.ptr]=this}ConcreteContactResultCallback.prototype=Object.create(ContactResultCallback.prototype);ConcreteContactResultCallback.prototype.constructor=ConcreteContactResultCallback;ConcreteContactResultCallback.prototype.__class__=ConcreteContactResultCallback;ConcreteContactResultCallback.__cache__={};Module["ConcreteContactResultCallback"]=ConcreteContactResultCallback;ConcreteContactResultCallback.prototype["addSingleResult"]=ConcreteContactResultCallback.prototype.addSingleResult=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg5&&typeof arg5==="object")arg5=arg5.ptr;if(arg6&&typeof arg6==="object")arg6=arg6.ptr;return _emscripten_bind_ConcreteContactResultCallback_addSingleResult_7(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6)});ConcreteContactResultCallback.prototype["__destroy__"]=ConcreteContactResultCallback.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_ConcreteContactResultCallback___destroy___0(self)});function btBvhTriangleMeshShape(arg0,arg1,arg2){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg2===undefined){this.ptr=_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2(arg0,arg1);getCache(btBvhTriangleMeshShape)[this.ptr]=this;return}this.ptr=_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3(arg0,arg1,arg2);getCache(btBvhTriangleMeshShape)[this.ptr]=this}btBvhTriangleMeshShape.prototype=Object.create(btTriangleMeshShape.prototype);btBvhTriangleMeshShape.prototype.constructor=btBvhTriangleMeshShape;btBvhTriangleMeshShape.prototype.__class__=btBvhTriangleMeshShape;btBvhTriangleMeshShape.__cache__={};Module["btBvhTriangleMeshShape"]=btBvhTriangleMeshShape;btBvhTriangleMeshShape.prototype["setLocalScaling"]=btBvhTriangleMeshShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1(self,arg0)});btBvhTriangleMeshShape.prototype["getLocalScaling"]=btBvhTriangleMeshShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0(self),btVector3)});btBvhTriangleMeshShape.prototype["calculateLocalInertia"]=btBvhTriangleMeshShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2(self,arg0,arg1)});btBvhTriangleMeshShape.prototype["__destroy__"]=btBvhTriangleMeshShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btBvhTriangleMeshShape___destroy___0(self)});function btSliderConstraint(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg3===undefined){this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_3(arg0,arg1,arg2);getCache(btSliderConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_4(arg0,arg1,arg2,arg3);getCache(btSliderConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btSliderConstraint)[this.ptr]=this}btSliderConstraint.prototype=Object.create(btTypedConstraint.prototype);btSliderConstraint.prototype.constructor=btSliderConstraint;btSliderConstraint.prototype.__class__=btSliderConstraint;btSliderConstraint.__cache__={};Module["btSliderConstraint"]=btSliderConstraint;btSliderConstraint.prototype["setLowerLinLimit"]=btSliderConstraint.prototype.setLowerLinLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSliderConstraint_setLowerLinLimit_1(self,arg0)});btSliderConstraint.prototype["setUpperLinLimit"]=btSliderConstraint.prototype.setUpperLinLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSliderConstraint_setUpperLinLimit_1(self,arg0)});btSliderConstraint.prototype["setLowerAngLimit"]=btSliderConstraint.prototype.setLowerAngLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSliderConstraint_setLowerAngLimit_1(self,arg0)});btSliderConstraint.prototype["setUpperAngLimit"]=btSliderConstraint.prototype.setUpperAngLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSliderConstraint_setUpperAngLimit_1(self,arg0)});btSliderConstraint.prototype["enableFeedback"]=btSliderConstraint.prototype.enableFeedback=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSliderConstraint_enableFeedback_1(self,arg0)});btSliderConstraint.prototype["getBreakingImpulseThreshold"]=btSliderConstraint.prototype.getBreakingImpulseThreshold=(function(){var self=this.ptr;return _emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0(self)});btSliderConstraint.prototype["setBreakingImpulseThreshold"]=btSliderConstraint.prototype.setBreakingImpulseThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1(self,arg0)});btSliderConstraint.prototype["getParam"]=btSliderConstraint.prototype.getParam=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_btSliderConstraint_getParam_2(self,arg0,arg1)});btSliderConstraint.prototype["setParam"]=btSliderConstraint.prototype.setParam=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btSliderConstraint_setParam_3(self,arg0,arg1,arg2)});btSliderConstraint.prototype["__destroy__"]=btSliderConstraint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btSliderConstraint___destroy___0(self)});function btPairCachingGhostObject(){this.ptr=_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0();getCache(btPairCachingGhostObject)[this.ptr]=this}btPairCachingGhostObject.prototype=Object.create(btGhostObject.prototype);btPairCachingGhostObject.prototype.constructor=btPairCachingGhostObject;btPairCachingGhostObject.prototype.__class__=btPairCachingGhostObject;btPairCachingGhostObject.__cache__={};Module["btPairCachingGhostObject"]=btPairCachingGhostObject;btPairCachingGhostObject.prototype["setAnisotropicFriction"]=btPairCachingGhostObject.prototype.setAnisotropicFriction=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2(self,arg0,arg1)});btPairCachingGhostObject.prototype["getCollisionShape"]=btPairCachingGhostObject.prototype.getCollisionShape=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0(self),btCollisionShape)});btPairCachingGhostObject.prototype["setContactProcessingThreshold"]=btPairCachingGhostObject.prototype.setContactProcessingThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1(self,arg0)});btPairCachingGhostObject.prototype["setActivationState"]=btPairCachingGhostObject.prototype.setActivationState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setActivationState_1(self,arg0)});btPairCachingGhostObject.prototype["forceActivationState"]=btPairCachingGhostObject.prototype.forceActivationState=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_forceActivationState_1(self,arg0)});btPairCachingGhostObject.prototype["activate"]=btPairCachingGhostObject.prototype.activate=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg0===undefined){_emscripten_bind_btPairCachingGhostObject_activate_0(self);return}_emscripten_bind_btPairCachingGhostObject_activate_1(self,arg0)});btPairCachingGhostObject.prototype["isActive"]=btPairCachingGhostObject.prototype.isActive=(function(){var self=this.ptr;return!!_emscripten_bind_btPairCachingGhostObject_isActive_0(self)});btPairCachingGhostObject.prototype["isKinematicObject"]=btPairCachingGhostObject.prototype.isKinematicObject=(function(){var self=this.ptr;return!!_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0(self)});btPairCachingGhostObject.prototype["isStaticObject"]=btPairCachingGhostObject.prototype.isStaticObject=(function(){var self=this.ptr;return!!_emscripten_bind_btPairCachingGhostObject_isStaticObject_0(self)});btPairCachingGhostObject.prototype["isStaticOrKinematicObject"]=btPairCachingGhostObject.prototype.isStaticOrKinematicObject=(function(){var self=this.ptr;return!!_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0(self)});btPairCachingGhostObject.prototype["setRestitution"]=btPairCachingGhostObject.prototype.setRestitution=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setRestitution_1(self,arg0)});btPairCachingGhostObject.prototype["setFriction"]=btPairCachingGhostObject.prototype.setFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setFriction_1(self,arg0)});btPairCachingGhostObject.prototype["setRollingFriction"]=btPairCachingGhostObject.prototype.setRollingFriction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1(self,arg0)});btPairCachingGhostObject.prototype["getWorldTransform"]=btPairCachingGhostObject.prototype.getWorldTransform=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0(self),btTransform)});btPairCachingGhostObject.prototype["getCollisionFlags"]=btPairCachingGhostObject.prototype.getCollisionFlags=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0(self)});btPairCachingGhostObject.prototype["setCollisionFlags"]=btPairCachingGhostObject.prototype.setCollisionFlags=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1(self,arg0)});btPairCachingGhostObject.prototype["setWorldTransform"]=btPairCachingGhostObject.prototype.setWorldTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1(self,arg0)});btPairCachingGhostObject.prototype["setCollisionShape"]=btPairCachingGhostObject.prototype.setCollisionShape=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1(self,arg0)});btPairCachingGhostObject.prototype["setCcdMotionThreshold"]=btPairCachingGhostObject.prototype.setCcdMotionThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1(self,arg0)});btPairCachingGhostObject.prototype["setCcdSweptSphereRadius"]=btPairCachingGhostObject.prototype.setCcdSweptSphereRadius=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1(self,arg0)});btPairCachingGhostObject.prototype["getUserIndex"]=btPairCachingGhostObject.prototype.getUserIndex=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_getUserIndex_0(self)});btPairCachingGhostObject.prototype["setUserIndex"]=btPairCachingGhostObject.prototype.setUserIndex=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setUserIndex_1(self,arg0)});btPairCachingGhostObject.prototype["getUserPointer"]=btPairCachingGhostObject.prototype.getUserPointer=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPairCachingGhostObject_getUserPointer_0(self),VoidPtr)});btPairCachingGhostObject.prototype["setUserPointer"]=btPairCachingGhostObject.prototype.setUserPointer=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPairCachingGhostObject_setUserPointer_1(self,arg0)});btPairCachingGhostObject.prototype["getNumOverlappingObjects"]=btPairCachingGhostObject.prototype.getNumOverlappingObjects=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0(self)});btPairCachingGhostObject.prototype["getOverlappingObject"]=btPairCachingGhostObject.prototype.getOverlappingObject=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1(self,arg0),btCollisionObject)});btPairCachingGhostObject.prototype["__destroy__"]=btPairCachingGhostObject.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btPairCachingGhostObject___destroy___0(self)});function btManifoldPoint(){throw"cannot construct a btManifoldPoint, no constructor in IDL"}btManifoldPoint.prototype=Object.create(WrapperObject.prototype);btManifoldPoint.prototype.constructor=btManifoldPoint;btManifoldPoint.prototype.__class__=btManifoldPoint;btManifoldPoint.__cache__={};Module["btManifoldPoint"]=btManifoldPoint;btManifoldPoint.prototype["getPositionWorldOnA"]=btManifoldPoint.prototype.getPositionWorldOnA=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0(self),btVector3)});btManifoldPoint.prototype["getPositionWorldOnB"]=btManifoldPoint.prototype.getPositionWorldOnB=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0(self),btVector3)});btManifoldPoint.prototype["getAppliedImpulse"]=btManifoldPoint.prototype.getAppliedImpulse=(function(){var self=this.ptr;return _emscripten_bind_btManifoldPoint_getAppliedImpulse_0(self)});btManifoldPoint.prototype["getDistance"]=btManifoldPoint.prototype.getDistance=(function(){var self=this.ptr;return _emscripten_bind_btManifoldPoint_getDistance_0(self)});btManifoldPoint.prototype["get_m_localPointA"]=btManifoldPoint.prototype.get_m_localPointA=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_localPointA_0(self),btVector3)});btManifoldPoint.prototype["set_m_localPointA"]=btManifoldPoint.prototype.set_m_localPointA=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btManifoldPoint_set_m_localPointA_1(self,arg0)});btManifoldPoint.prototype["get_m_localPointB"]=btManifoldPoint.prototype.get_m_localPointB=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_localPointB_0(self),btVector3)});btManifoldPoint.prototype["set_m_localPointB"]=btManifoldPoint.prototype.set_m_localPointB=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btManifoldPoint_set_m_localPointB_1(self,arg0)});btManifoldPoint.prototype["get_m_positionWorldOnB"]=btManifoldPoint.prototype.get_m_positionWorldOnB=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0(self),btVector3)});btManifoldPoint.prototype["set_m_positionWorldOnB"]=btManifoldPoint.prototype.set_m_positionWorldOnB=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1(self,arg0)});btManifoldPoint.prototype["get_m_positionWorldOnA"]=btManifoldPoint.prototype.get_m_positionWorldOnA=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0(self),btVector3)});btManifoldPoint.prototype["set_m_positionWorldOnA"]=btManifoldPoint.prototype.set_m_positionWorldOnA=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1(self,arg0)});btManifoldPoint.prototype["get_m_normalWorldOnB"]=btManifoldPoint.prototype.get_m_normalWorldOnB=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0(self),btVector3)});btManifoldPoint.prototype["set_m_normalWorldOnB"]=btManifoldPoint.prototype.set_m_normalWorldOnB=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1(self,arg0)});btManifoldPoint.prototype["__destroy__"]=btManifoldPoint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btManifoldPoint___destroy___0(self)});function btPoint2PointConstraint(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg2===undefined){this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2(arg0,arg1);getCache(btPoint2PointConstraint)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(arg0,arg1,arg2);getCache(btPoint2PointConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4(arg0,arg1,arg2,arg3);getCache(btPoint2PointConstraint)[this.ptr]=this}btPoint2PointConstraint.prototype=Object.create(btTypedConstraint.prototype);btPoint2PointConstraint.prototype.constructor=btPoint2PointConstraint;btPoint2PointConstraint.prototype.__class__=btPoint2PointConstraint;btPoint2PointConstraint.__cache__={};Module["btPoint2PointConstraint"]=btPoint2PointConstraint;btPoint2PointConstraint.prototype["setPivotA"]=btPoint2PointConstraint.prototype.setPivotA=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPoint2PointConstraint_setPivotA_1(self,arg0)});btPoint2PointConstraint.prototype["setPivotB"]=btPoint2PointConstraint.prototype.setPivotB=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPoint2PointConstraint_setPivotB_1(self,arg0)});btPoint2PointConstraint.prototype["getPivotInA"]=btPoint2PointConstraint.prototype.getPivotInA=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPoint2PointConstraint_getPivotInA_0(self),btVector3)});btPoint2PointConstraint.prototype["getPivotInB"]=btPoint2PointConstraint.prototype.getPivotInB=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPoint2PointConstraint_getPivotInB_0(self),btVector3)});btPoint2PointConstraint.prototype["enableFeedback"]=btPoint2PointConstraint.prototype.enableFeedback=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPoint2PointConstraint_enableFeedback_1(self,arg0)});btPoint2PointConstraint.prototype["getBreakingImpulseThreshold"]=btPoint2PointConstraint.prototype.getBreakingImpulseThreshold=(function(){var self=this.ptr;return _emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0(self)});btPoint2PointConstraint.prototype["setBreakingImpulseThreshold"]=btPoint2PointConstraint.prototype.setBreakingImpulseThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1(self,arg0)});btPoint2PointConstraint.prototype["getParam"]=btPoint2PointConstraint.prototype.getParam=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_btPoint2PointConstraint_getParam_2(self,arg0,arg1)});btPoint2PointConstraint.prototype["setParam"]=btPoint2PointConstraint.prototype.setParam=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btPoint2PointConstraint_setParam_3(self,arg0,arg1,arg2)});btPoint2PointConstraint.prototype["get_m_setting"]=btPoint2PointConstraint.prototype.get_m_setting=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPoint2PointConstraint_get_m_setting_0(self),btConstraintSetting)});btPoint2PointConstraint.prototype["set_m_setting"]=btPoint2PointConstraint.prototype.set_m_setting=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btPoint2PointConstraint_set_m_setting_1(self,arg0)});btPoint2PointConstraint.prototype["__destroy__"]=btPoint2PointConstraint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btPoint2PointConstraint___destroy___0(self)});function btSoftBodyHelpers(){this.ptr=_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0();getCache(btSoftBodyHelpers)[this.ptr]=this}btSoftBodyHelpers.prototype=Object.create(WrapperObject.prototype);btSoftBodyHelpers.prototype.constructor=btSoftBodyHelpers;btSoftBodyHelpers.prototype.__class__=btSoftBodyHelpers;btSoftBodyHelpers.__cache__={};Module["btSoftBodyHelpers"]=btSoftBodyHelpers;btSoftBodyHelpers.prototype["CreateRope"]=btSoftBodyHelpers.prototype.CreateRope=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;return wrapPointer(_emscripten_bind_btSoftBodyHelpers_CreateRope_5(self,arg0,arg1,arg2,arg3,arg4),btSoftBody)});btSoftBodyHelpers.prototype["CreatePatch"]=btSoftBodyHelpers.prototype.CreatePatch=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg5&&typeof arg5==="object")arg5=arg5.ptr;if(arg6&&typeof arg6==="object")arg6=arg6.ptr;if(arg7&&typeof arg7==="object")arg7=arg7.ptr;if(arg8&&typeof arg8==="object")arg8=arg8.ptr;return wrapPointer(_emscripten_bind_btSoftBodyHelpers_CreatePatch_9(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8),btSoftBody)});btSoftBodyHelpers.prototype["CreatePatchUV"]=btSoftBodyHelpers.prototype.CreatePatchUV=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg5&&typeof arg5==="object")arg5=arg5.ptr;if(arg6&&typeof arg6==="object")arg6=arg6.ptr;if(arg7&&typeof arg7==="object")arg7=arg7.ptr;if(arg8&&typeof arg8==="object")arg8=arg8.ptr;if(typeof arg9=="object"){arg9=ensureFloat32(arg9)}return wrapPointer(_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9),btSoftBody)});btSoftBodyHelpers.prototype["CreateEllipsoid"]=btSoftBodyHelpers.prototype.CreateEllipsoid=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;return wrapPointer(_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4(self,arg0,arg1,arg2,arg3),btSoftBody)});btSoftBodyHelpers.prototype["CreateFromTriMesh"]=btSoftBodyHelpers.prototype.CreateFromTriMesh=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(typeof arg1=="object"){arg1=ensureFloat32(arg1)}if(typeof arg2=="object"){arg2=ensureInt32(arg2)}if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;return wrapPointer(_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5(self,arg0,arg1,arg2,arg3,arg4),btSoftBody)});btSoftBodyHelpers.prototype["CreateFromConvexHull"]=btSoftBodyHelpers.prototype.CreateFromConvexHull=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;return wrapPointer(_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4(self,arg0,arg1,arg2,arg3),btSoftBody)});btSoftBodyHelpers.prototype["__destroy__"]=btSoftBodyHelpers.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btSoftBodyHelpers___destroy___0(self)});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 btBoxShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;this.ptr=_emscripten_bind_btBoxShape_btBoxShape_1(arg0);getCache(btBoxShape)[this.ptr]=this}btBoxShape.prototype=Object.create(btCollisionShape.prototype);btBoxShape.prototype.constructor=btBoxShape;btBoxShape.prototype.__class__=btBoxShape;btBoxShape.__cache__={};Module["btBoxShape"]=btBoxShape;btBoxShape.prototype["setMargin"]=btBoxShape.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btBoxShape_setMargin_1(self,arg0)});btBoxShape.prototype["getMargin"]=btBoxShape.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btBoxShape_getMargin_0(self)});btBoxShape.prototype["setLocalScaling"]=btBoxShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btBoxShape_setLocalScaling_1(self,arg0)});btBoxShape.prototype["getLocalScaling"]=btBoxShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btBoxShape_getLocalScaling_0(self),btVector3)});btBoxShape.prototype["calculateLocalInertia"]=btBoxShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btBoxShape_calculateLocalInertia_2(self,arg0,arg1)});btBoxShape.prototype["__destroy__"]=btBoxShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btBoxShape___destroy___0(self)});function btCapsuleShapeX(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;this.ptr=_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2(arg0,arg1);getCache(btCapsuleShapeX)[this.ptr]=this}btCapsuleShapeX.prototype=Object.create(btCapsuleShape.prototype);btCapsuleShapeX.prototype.constructor=btCapsuleShapeX;btCapsuleShapeX.prototype.__class__=btCapsuleShapeX;btCapsuleShapeX.__cache__={};Module["btCapsuleShapeX"]=btCapsuleShapeX;btCapsuleShapeX.prototype["setMargin"]=btCapsuleShapeX.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCapsuleShapeX_setMargin_1(self,arg0)});btCapsuleShapeX.prototype["getMargin"]=btCapsuleShapeX.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShapeX_getMargin_0(self)});btCapsuleShapeX.prototype["getUpAxis"]=btCapsuleShapeX.prototype.getUpAxis=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShapeX_getUpAxis_0(self)});btCapsuleShapeX.prototype["getRadius"]=btCapsuleShapeX.prototype.getRadius=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShapeX_getRadius_0(self)});btCapsuleShapeX.prototype["getHalfHeight"]=btCapsuleShapeX.prototype.getHalfHeight=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShapeX_getHalfHeight_0(self)});btCapsuleShapeX.prototype["setLocalScaling"]=btCapsuleShapeX.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCapsuleShapeX_setLocalScaling_1(self,arg0)});btCapsuleShapeX.prototype["getLocalScaling"]=btCapsuleShapeX.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCapsuleShapeX_getLocalScaling_0(self),btVector3)});btCapsuleShapeX.prototype["calculateLocalInertia"]=btCapsuleShapeX.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2(self,arg0,arg1)});btCapsuleShapeX.prototype["__destroy__"]=btCapsuleShapeX.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCapsuleShapeX___destroy___0(self)});function btQuaternion(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;this.ptr=_emscripten_bind_btQuaternion_btQuaternion_4(arg0,arg1,arg2,arg3);getCache(btQuaternion)[this.ptr]=this}btQuaternion.prototype=Object.create(btQuadWord.prototype);btQuaternion.prototype.constructor=btQuaternion;btQuaternion.prototype.__class__=btQuaternion;btQuaternion.__cache__={};Module["btQuaternion"]=btQuaternion;btQuaternion.prototype["setValue"]=btQuaternion.prototype.setValue=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;_emscripten_bind_btQuaternion_setValue_4(self,arg0,arg1,arg2,arg3)});btQuaternion.prototype["setEulerZYX"]=btQuaternion.prototype.setEulerZYX=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btQuaternion_setEulerZYX_3(self,arg0,arg1,arg2)});btQuaternion.prototype["setEuler"]=btQuaternion.prototype.setEuler=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btQuaternion_setEuler_3(self,arg0,arg1,arg2)});btQuaternion.prototype["setRotation"]=btQuaternion.prototype.setRotation=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btQuaternion_setRotation_2(self,arg0,arg1)});btQuaternion.prototype["normalize"]=btQuaternion.prototype.normalize=(function(){var self=this.ptr;_emscripten_bind_btQuaternion_normalize_0(self)});btQuaternion.prototype["length2"]=btQuaternion.prototype.length2=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_length2_0(self)});btQuaternion.prototype["length"]=btQuaternion.prototype.length=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_length_0(self)});btQuaternion.prototype["dot"]=btQuaternion.prototype.dot=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_btQuaternion_dot_1(self,arg0)});btQuaternion.prototype["normalized"]=btQuaternion.prototype.normalized=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btQuaternion_normalized_0(self),btQuaternion)});btQuaternion.prototype["getAxis"]=btQuaternion.prototype.getAxis=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btQuaternion_getAxis_0(self),btVector3)});btQuaternion.prototype["inverse"]=btQuaternion.prototype.inverse=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btQuaternion_inverse_0(self),btQuaternion)});btQuaternion.prototype["getAngle"]=btQuaternion.prototype.getAngle=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_getAngle_0(self)});btQuaternion.prototype["getAngleShortestPath"]=btQuaternion.prototype.getAngleShortestPath=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_getAngleShortestPath_0(self)});btQuaternion.prototype["angle"]=btQuaternion.prototype.angle=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_btQuaternion_angle_1(self,arg0)});btQuaternion.prototype["angleShortestPath"]=btQuaternion.prototype.angleShortestPath=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_btQuaternion_angleShortestPath_1(self,arg0)});btQuaternion.prototype["op_add"]=btQuaternion.prototype.op_add=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btQuaternion_op_add_1(self,arg0),btQuaternion)});btQuaternion.prototype["op_sub"]=btQuaternion.prototype.op_sub=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btQuaternion_op_sub_1(self,arg0),btQuaternion)});btQuaternion.prototype["op_mul"]=btQuaternion.prototype.op_mul=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btQuaternion_op_mul_1(self,arg0),btQuaternion)});btQuaternion.prototype["op_mulq"]=btQuaternion.prototype.op_mulq=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btQuaternion_op_mulq_1(self,arg0),btQuaternion)});btQuaternion.prototype["op_div"]=btQuaternion.prototype.op_div=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btQuaternion_op_div_1(self,arg0),btQuaternion)});btQuaternion.prototype["x"]=btQuaternion.prototype.x=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_x_0(self)});btQuaternion.prototype["y"]=btQuaternion.prototype.y=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_y_0(self)});btQuaternion.prototype["z"]=btQuaternion.prototype.z=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_z_0(self)});btQuaternion.prototype["w"]=btQuaternion.prototype.w=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_w_0(self)});btQuaternion.prototype["setX"]=btQuaternion.prototype.setX=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btQuaternion_setX_1(self,arg0)});btQuaternion.prototype["setY"]=btQuaternion.prototype.setY=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btQuaternion_setY_1(self,arg0)});btQuaternion.prototype["setZ"]=btQuaternion.prototype.setZ=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btQuaternion_setZ_1(self,arg0)});btQuaternion.prototype["setW"]=btQuaternion.prototype.setW=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btQuaternion_setW_1(self,arg0)});btQuaternion.prototype["__destroy__"]=btQuaternion.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btQuaternion___destroy___0(self)});function btCapsuleShapeZ(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;this.ptr=_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2(arg0,arg1);getCache(btCapsuleShapeZ)[this.ptr]=this}btCapsuleShapeZ.prototype=Object.create(btCapsuleShape.prototype);btCapsuleShapeZ.prototype.constructor=btCapsuleShapeZ;btCapsuleShapeZ.prototype.__class__=btCapsuleShapeZ;btCapsuleShapeZ.__cache__={};Module["btCapsuleShapeZ"]=btCapsuleShapeZ;btCapsuleShapeZ.prototype["setMargin"]=btCapsuleShapeZ.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCapsuleShapeZ_setMargin_1(self,arg0)});btCapsuleShapeZ.prototype["getMargin"]=btCapsuleShapeZ.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShapeZ_getMargin_0(self)});btCapsuleShapeZ.prototype["getUpAxis"]=btCapsuleShapeZ.prototype.getUpAxis=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShapeZ_getUpAxis_0(self)});btCapsuleShapeZ.prototype["getRadius"]=btCapsuleShapeZ.prototype.getRadius=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShapeZ_getRadius_0(self)});btCapsuleShapeZ.prototype["getHalfHeight"]=btCapsuleShapeZ.prototype.getHalfHeight=(function(){var self=this.ptr;return _emscripten_bind_btCapsuleShapeZ_getHalfHeight_0(self)});btCapsuleShapeZ.prototype["setLocalScaling"]=btCapsuleShapeZ.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1(self,arg0)});btCapsuleShapeZ.prototype["getLocalScaling"]=btCapsuleShapeZ.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0(self),btVector3)});btCapsuleShapeZ.prototype["calculateLocalInertia"]=btCapsuleShapeZ.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2(self,arg0,arg1)});btCapsuleShapeZ.prototype["__destroy__"]=btCapsuleShapeZ.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btCapsuleShapeZ___destroy___0(self)});function btContactSolverInfo(){throw"cannot construct a btContactSolverInfo, no constructor in IDL"}btContactSolverInfo.prototype=Object.create(WrapperObject.prototype);btContactSolverInfo.prototype.constructor=btContactSolverInfo;btContactSolverInfo.prototype.__class__=btContactSolverInfo;btContactSolverInfo.__cache__={};Module["btContactSolverInfo"]=btContactSolverInfo;btContactSolverInfo.prototype["get_m_splitImpulse"]=btContactSolverInfo.prototype.get_m_splitImpulse=(function(){var self=this.ptr;return!!_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0(self)});btContactSolverInfo.prototype["set_m_splitImpulse"]=btContactSolverInfo.prototype.set_m_splitImpulse=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1(self,arg0)});btContactSolverInfo.prototype["get_m_splitImpulsePenetrationThreshold"]=btContactSolverInfo.prototype.get_m_splitImpulsePenetrationThreshold=(function(){var self=this.ptr;return _emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0(self)});btContactSolverInfo.prototype["set_m_splitImpulsePenetrationThreshold"]=btContactSolverInfo.prototype.set_m_splitImpulsePenetrationThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1(self,arg0)});btContactSolverInfo.prototype["get_m_numIterations"]=btContactSolverInfo.prototype.get_m_numIterations=(function(){var self=this.ptr;return _emscripten_bind_btContactSolverInfo_get_m_numIterations_0(self)});btContactSolverInfo.prototype["set_m_numIterations"]=btContactSolverInfo.prototype.set_m_numIterations=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btContactSolverInfo_set_m_numIterations_1(self,arg0)});btContactSolverInfo.prototype["__destroy__"]=btContactSolverInfo.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btContactSolverInfo___destroy___0(self)});function btGeneric6DofSpringConstraint(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;if(arg3===undefined){this.ptr=_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3(arg0,arg1,arg2);getCache(btGeneric6DofSpringConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4(arg0,arg1,arg2,arg3);getCache(btGeneric6DofSpringConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btGeneric6DofSpringConstraint)[this.ptr]=this}btGeneric6DofSpringConstraint.prototype=Object.create(btGeneric6DofConstraint.prototype);btGeneric6DofSpringConstraint.prototype.constructor=btGeneric6DofSpringConstraint;btGeneric6DofSpringConstraint.prototype.__class__=btGeneric6DofSpringConstraint;btGeneric6DofSpringConstraint.__cache__={};Module["btGeneric6DofSpringConstraint"]=btGeneric6DofSpringConstraint;btGeneric6DofSpringConstraint.prototype["enableSpring"]=btGeneric6DofSpringConstraint.prototype.enableSpring=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2(self,arg0,arg1)});btGeneric6DofSpringConstraint.prototype["setStiffness"]=btGeneric6DofSpringConstraint.prototype.setStiffness=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2(self,arg0,arg1)});btGeneric6DofSpringConstraint.prototype["setDamping"]=btGeneric6DofSpringConstraint.prototype.setDamping=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2(self,arg0,arg1)});btGeneric6DofSpringConstraint.prototype["setLinearLowerLimit"]=btGeneric6DofSpringConstraint.prototype.setLinearLowerLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["setLinearUpperLimit"]=btGeneric6DofSpringConstraint.prototype.setLinearUpperLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["setAngularLowerLimit"]=btGeneric6DofSpringConstraint.prototype.setAngularLowerLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["setAngularUpperLimit"]=btGeneric6DofSpringConstraint.prototype.setAngularUpperLimit=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["getRotationalLimitMotor"]=btGeneric6DofSpringConstraint.prototype.getRotationalLimitMotor=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint_getRotationalLimitMotor_1(self,arg0),btRotationalLimitMotor)});btGeneric6DofSpringConstraint.prototype["enableFeedback"]=btGeneric6DofSpringConstraint.prototype.enableFeedback=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["getBreakingImpulseThreshold"]=btGeneric6DofSpringConstraint.prototype.getBreakingImpulseThreshold=(function(){var self=this.ptr;return _emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0(self)});btGeneric6DofSpringConstraint.prototype["setBreakingImpulseThreshold"]=btGeneric6DofSpringConstraint.prototype.setBreakingImpulseThreshold=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["getParam"]=btGeneric6DofSpringConstraint.prototype.getParam=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_btGeneric6DofSpringConstraint_getParam_2(self,arg0,arg1)});btGeneric6DofSpringConstraint.prototype["setParam"]=btGeneric6DofSpringConstraint.prototype.setParam=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3(self,arg0,arg1,arg2)});btGeneric6DofSpringConstraint.prototype["__destroy__"]=btGeneric6DofSpringConstraint.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0(self)});function btSphereShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;this.ptr=_emscripten_bind_btSphereShape_btSphereShape_1(arg0);getCache(btSphereShape)[this.ptr]=this}btSphereShape.prototype=Object.create(btCollisionShape.prototype);btSphereShape.prototype.constructor=btSphereShape;btSphereShape.prototype.__class__=btSphereShape;btSphereShape.__cache__={};Module["btSphereShape"]=btSphereShape;btSphereShape.prototype["setMargin"]=btSphereShape.prototype.setMargin=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSphereShape_setMargin_1(self,arg0)});btSphereShape.prototype["getMargin"]=btSphereShape.prototype.getMargin=(function(){var self=this.ptr;return _emscripten_bind_btSphereShape_getMargin_0(self)});btSphereShape.prototype["setLocalScaling"]=btSphereShape.prototype.setLocalScaling=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_btSphereShape_setLocalScaling_1(self,arg0)});btSphereShape.prototype["getLocalScaling"]=btSphereShape.prototype.getLocalScaling=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btSphereShape_getLocalScaling_0(self),btVector3)});btSphereShape.prototype["calculateLocalInertia"]=btSphereShape.prototype.calculateLocalInertia=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_btSphereShape_calculateLocalInertia_2(self,arg0,arg1)});btSphereShape.prototype["__destroy__"]=btSphereShape.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_btSphereShape___destroy___0(self)});function tFaceArray(){throw"cannot construct a tFaceArray, no constructor in IDL"}tFaceArray.prototype=Object.create(WrapperObject.prototype);tFaceArray.prototype.constructor=tFaceArray;tFaceArray.prototype.__class__=tFaceArray;tFaceArray.__cache__={};Module["tFaceArray"]=tFaceArray;tFaceArray.prototype["size"]=tFaceArray.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_tFaceArray_size_0(self)});tFaceArray.prototype["at"]=tFaceArray.prototype.at=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_tFaceArray_at_1(self,arg0),Face)});tFaceArray.prototype["__destroy__"]=tFaceArray.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_tFaceArray___destroy___0(self)});function tLinkArray(){throw"cannot construct a tLinkArray, no constructor in IDL"}tLinkArray.prototype=Object.create(WrapperObject.prototype);tLinkArray.prototype.constructor=tLinkArray;tLinkArray.prototype.__class__=tLinkArray;tLinkArray.__cache__={};Module["tLinkArray"]=tLinkArray;tLinkArray.prototype["size"]=tLinkArray.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_tLinkArray_size_0(self)});tLinkArray.prototype["at"]=tLinkArray.prototype.at=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_tLinkArray_at_1(self,arg0),Link)});tLinkArray.prototype["__destroy__"]=tLinkArray.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_tLinkArray___destroy___0(self)});function LocalConvexResult(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(arg4&&typeof arg4==="object")arg4=arg4.ptr;this.ptr=_emscripten_bind_LocalConvexResult_LocalConvexResult_5(arg0,arg1,arg2,arg3,arg4);getCache(LocalConvexResult)[this.ptr]=this}LocalConvexResult.prototype=Object.create(WrapperObject.prototype);LocalConvexResult.prototype.constructor=LocalConvexResult;LocalConvexResult.prototype.__class__=LocalConvexResult;LocalConvexResult.__cache__={};Module["LocalConvexResult"]=LocalConvexResult;LocalConvexResult.prototype["get_m_hitCollisionObject"]=LocalConvexResult.prototype.get_m_hitCollisionObject=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0(self),btCollisionObject)});LocalConvexResult.prototype["set_m_hitCollisionObject"]=LocalConvexResult.prototype.set_m_hitCollisionObject=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1(self,arg0)});LocalConvexResult.prototype["get_m_localShapeInfo"]=LocalConvexResult.prototype.get_m_localShapeInfo=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0(self),LocalShapeInfo)});LocalConvexResult.prototype["set_m_localShapeInfo"]=LocalConvexResult.prototype.set_m_localShapeInfo=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1(self,arg0)});LocalConvexResult.prototype["get_m_hitNormalLocal"]=LocalConvexResult.prototype.get_m_hitNormalLocal=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0(self),btVector3)});LocalConvexResult.prototype["set_m_hitNormalLocal"]=LocalConvexResult.prototype.set_m_hitNormalLocal=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1(self,arg0)});LocalConvexResult.prototype["get_m_hitPointLocal"]=LocalConvexResult.prototype.get_m_hitPointLocal=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0(self),btVector3)});LocalConvexResult.prototype["set_m_hitPointLocal"]=LocalConvexResult.prototype.set_m_hitPointLocal=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1(self,arg0)});LocalConvexResult.prototype["get_m_hitFraction"]=LocalConvexResult.prototype.get_m_hitFraction=(function(){var self=this.ptr;return _emscripten_bind_LocalConvexResult_get_m_hitFraction_0(self)});LocalConvexResult.prototype["set_m_hitFraction"]=LocalConvexResult.prototype.set_m_hitFraction=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_LocalConvexResult_set_m_hitFraction_1(self,arg0)});LocalConvexResult.prototype["__destroy__"]=LocalConvexResult.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_LocalConvexResult___destroy___0(self)});((function(){function setupEnums(){Module["BT_CONSTRAINT_ERP"]=_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP();Module["BT_CONSTRAINT_STOP_ERP"]=_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP();Module["BT_CONSTRAINT_CFM"]=_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM();Module["BT_CONSTRAINT_STOP_CFM"]=_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM();Module["PHY_FLOAT"]=_emscripten_enum_PHY_ScalarType_PHY_FLOAT();Module["PHY_DOUBLE"]=_emscripten_enum_PHY_ScalarType_PHY_DOUBLE();Module["PHY_INTEGER"]=_emscripten_enum_PHY_ScalarType_PHY_INTEGER();Module["PHY_SHORT"]=_emscripten_enum_PHY_ScalarType_PHY_SHORT();Module["PHY_FIXEDPOINT88"]=_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88();Module["PHY_UCHAR"]=_emscripten_enum_PHY_ScalarType_PHY_UCHAR()}if(Module["calledRun"])setupEnums();else addOnPreMain(setupEnums)}))();this["Ammo"]=Module
return Ammo;
};
export default Ammo;