1 |
- var Physics3D=window.Physics3D=function(e){var i;Physics3D={};i||(i=function(){try{return Physics3D||{}}catch(e){return{}}}());var n,_={};for(n in i)i.hasOwnProperty(n)&&(_[n]=i[n]);var o,s,c=!1,l=!1,f=!1,d=!1;if(i.ENVIRONMENT)if("WEB"===i.ENVIRONMENT)c=!0;else if("WORKER"===i.ENVIRONMENT)l=!0;else if("NODE"===i.ENVIRONMENT)f=!0;else{if("SHELL"!==i.ENVIRONMENT)throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");d=!0}else c="object"==typeof window,l="function"==typeof importScripts,f="object"==typeof process&&"function"==typeof require&&!c&&!l,d=!c&&!f&&!l;f?(i.print||(i.print=console.log),i.printErr||(i.printErr=console.warn),i.read=function(e,t){o||(o=require("fs")),s||(s=require("path")),e=s.normalize(e);var i=o.readFileSync(e);return t?i:i.toString()},i.readBinary=function(e){return(e=i.read(e,!0)).buffer||(e=new Uint8Array(e)),assert(e.buffer),e},i.load=function(e){ia(read(e))},i.thisProgram||(i.thisProgram=1<process.argv.length?process.argv[1].replace(/\\/g,"/"):"unknown-program"),i.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=i),process.on("uncaughtException",function(e){if(!(e instanceof ja))throw e}),i.inspect=function(){return"[Emscripten Module object]"}):d&&(i.print||(i.print=print),"undefined"!=typeof printErr&&(i.printErr=printErr),i.read="undefined"!=typeof read?read:function(){throw"no read() available"},i.readBinary=function(e){return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(assert("object"==typeof(e=read(e,"binary"))),e)},"undefined"!=typeof scriptArgs?i.arguments=scriptArgs:void 0!==arguments&&(i.arguments=arguments),"function"==typeof quit&&(i.quit=function(e){quit(e)}));if("function"==typeof m&&m.toString().indexOf("[native code]")>0)var m=void 0;else{if(!c&&!l)throw"Unknown runtime environment. Where are we?";i.read=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},l&&(i.readBinary=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),t.response}),i.readAsync=function(e,t,i){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?t(n.response):i()},n.onerror=i,n.send(null)},void 0!==arguments&&(i.arguments=arguments),"undefined"!=typeof console?(i.print||(i.print=function(e){console.log(e)}),i.printErr||(i.printErr=function(e){console.warn(e)})):i.print||(i.print=function(){}),l&&(i.load=importScripts),void 0===i.setWindowTitle&&(i.setWindowTitle=function(e){document.title=e})}function ia(e){e()}for(n in!i.load&&i.read&&(i.load=function(e){ia(i.read(e))}),i.print||(i.print=function(){}),i.printErr||(i.printErr=i.print),i.arguments||(i.arguments=[]),i.thisProgram||(i.thisProgram="./this.program"),i.quit||(i.quit=function(e,t){throw t}),i.print=i.print,i.i=i.printErr,i.preRun=[],i.postRun=[],_)_.hasOwnProperty(n)&&(i[n]=_[n]);_=void 0;var h={e:function(e){return tempRet0=e},J:function(){return tempRet0},N:function(){return re},M:function(e){re=e},t:function(e){switch(e){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:return"*"===e[e.length-1]?h.j:"i"===e[0]?(assert(0==(e=parseInt(e.substr(1)))%8),e/8):0}},H:function(e){return Math.max(h.t(e),h.j)},O:16,$:function(e,t){return"double"===t||"i64"===t?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},T:function(e,t,i){return i||"i64"!=e&&"double"!=e?e?Math.min(t||(e?h.H(e):0),h.j):Math.min(t,8):8},l:function(e,t,n){return n&&n.length?i["dynCall_"+e].apply(null,[t].concat(n)):i["dynCall_"+e].call(null,t)},h:[],A:function(e){for(var t=0;t<h.h.length;t++)if(!h.h[t])return h.h[t]=e,2*(1+t);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},L:function(e){h.h[(e-2)/2]=null},f:function(e){h.f.n||(h.f.n={}),h.f.n[e]||(h.f.n[e]=1,i.i(e))},m:{},V:function(e,t){assert(t),h.m[t]||(h.m[t]={});var i=h.m[t];return i[e]||(i[e]=1===t.length?function(){return h.l(t,e)}:2===t.length?function(i){return h.l(t,e,[i])}:function(){return h.l(t,e,Array.prototype.slice.call(arguments))}),i[e]},U:function(){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},u:function(e){var t=re;return re=(re=re+e|0)+15&-16,t},v:function(e){var t=ne;return ne=(ne=ne+e|0)+15&-16,t},G:function(e){var t=A[se>>2];return e=-16&(t+e+15|0),A[se>>2]=e,(e=e>=le)&&(oa(),e=!0),e?(A[se>>2]=t,0):t},p:function(e,t){return Math.ceil(e/(t||16))*(t||16)},Z:function(e,t,i){return i?+(e>>>0)+4294967296*+(t>>>0):+(e>>>0)+4294967296*+(0|t)},g:8,j:4,P:0};h.addFunction=h.A,h.removeFunction=h.L;var y=0;function assert(e,t){e||qa("Assertion failed: "+t)}function wa(e,t,i,n){var r,_;"number"==typeof e?(r=!0,_=e):(r=!1,_=e.length);var o,s,c,a="string"==typeof t?t:null;if(o=4==i?n:["function"==typeof br?br:h.v,h.u,h.v,h.G][void 0===i?2:i](Math.max(_,a?1:t.length)),r){for(n=o,assert(0==(3&o)),e=o+(-4&_);n<e;n+=4)A[n>>2]=0;for(e=o+_;n<e;)C[n++>>0]=0;return o}if("i8"===a)return e.subarray||e.slice?k.set(e,o):k.set(new Uint8Array(e),o),o;for(n=0;n<_;){var l=e[n];if("function"==typeof l&&(l=h.W(l)),0===(i=a||t[n]))n++;else{var f;switch("i64"==i&&(i="i32"),r=o+n,"*"===(f=(f=i)||"i8").charAt(f.length-1)&&(f="i32"),f){case"i1":case"i8":C[r>>0]=l;break;case"i16":j[r>>1]=l;break;case"i32":A[r>>2]=l;break;case"i64":tempI64=[l>>>0,(tempDouble=l,1<=+he(tempDouble)?0<tempDouble?(0|ve(+ge(tempDouble/4294967296),4294967295))>>>0:~~+ye((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],A[r>>2]=tempI64[0],A[r+4>>2]=tempI64[1];break;case"float":ee[r>>2]=l;break;case"double":te[r>>3]=l;break;default:qa("invalid type for setValue: "+f)}c!==i&&(s=h.t(i),c=i),n+=s}}return o}var g,C,k,j,R,A,$,ee,te,ie,ne,re,_e,oe,se,ce="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function Fa(e,t,i,n){if(0<n){n=i+n-1;for(var r=0;r<e.length;++r){var _=e.charCodeAt(r);if(55296<=_&&57343>=_&&(_=65536+((1023&_)<<10)|1023&e.charCodeAt(++r)),127>=_){if(i>=n)break;t[i++]=_}else{if(2047>=_){if(i+1>=n)break;t[i++]=192|_>>6}else{if(65535>=_){if(i+2>=n)break;t[i++]=224|_>>12}else{if(2097151>=_){if(i+3>=n)break;t[i++]=240|_>>18}else{if(67108863>=_){if(i+4>=n)break;t[i++]=248|_>>24}else{if(i+5>=n)break;t[i++]=252|_>>30,t[i++]=128|_>>24&63}t[i++]=128|_>>18&63}t[i++]=128|_>>12&63}t[i++]=128|_>>6&63}t[i++]=128|63&_}}t[i]=0}}function Ga(e){for(var t=0,i=0;i<e.length;++i){var n=e.charCodeAt(i);55296<=n&&57343>=n&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++i)),127>=n?++t:t=2047>=n?t+2:65535>=n?t+3:2097151>=n?t+4:67108863>=n?t+5:t+6}return t}function Ha(e){return e.replace(/__Z[\w\d_]+/g,function(e){var t;e:{var n=i.___cxa_demangle||i.__cxa_demangle;if(n)try{var r=e.substr(1),_=Ga(r)+1,o=br(_);Fa(r,k,o,_);var s=br(4),c=n(o,0,0,s);if(0===function(e){var t;switch("*"===(t="i32").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return C[e>>0];case"i16":return j[e>>1];case"i32":case"i64":return A[e>>2];case"float":return ee[e>>2];case"double":return te[e>>3];default:qa("invalid type for setValue: "+t)}return null}(s)&&c){t=function(e){var t;if(0===t||!e)return"";for(var n,r=0,_=0;r|=n=k[e+_>>0],(0!=n||t)&&(_++,!t||_!=t););if(t||(t=_),n="",128>r){for(;0<t;)r=String.fromCharCode.apply(String,k.subarray(e,e+Math.min(t,1024))),n=n?n+r:r,e+=1024,t-=1024;return n}return i.UTF8ToString(e)}(c);break e}}catch(e){}finally{o&&Ym(o),s&&Ym(s),c&&Ym(c)}else h.f("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");t=e}return e===t?e:e+" ["+t+"]"})}function oa(){qa("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+le+", (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 ")}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le"),ne=re=se=0;var ae=i.TOTAL_STACK||5242880,le=i.TOTAL_MEMORY||e;if(le<ae&&i.i("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+le+"! (TOTAL_STACK="+ae+")"),g=i.buffer?i.buffer:new ArrayBuffer(le),i.HEAP8=C=new Int8Array(g),i.HEAP16=j=new Int16Array(g),i.HEAP32=A=new Int32Array(g),i.HEAPU8=k=new Uint8Array(g),i.HEAPU16=R=new Uint16Array(g),i.HEAPU32=$=new Uint32Array(g),i.HEAPF32=ee=new Float32Array(g),i.HEAPF64=te=new Float64Array(g),A[0]=1668509029,j[1]=25459,115!==k[2]||99!==k[3])throw"Runtime error: expected the system to be little-endian!";function Ra(e){for(;0<e.length;){var t=e.shift();if("function"==typeof t)t();else{var n=t.s;"number"==typeof n?void 0===t.k?i.dynCall_v(n):i.dynCall_vi(n,t.k):n(void 0===t.k?null:t.k)}}}i.HEAP=void 0,i.buffer=g,i.HEAP8=C,i.HEAP16=j,i.HEAP32=A,i.HEAPU8=k,i.HEAPU16=R,i.HEAPU32=$,i.HEAPF32=ee,i.HEAPF64=te;var fe=[],be=[],pe=[],ue=[],de=[],me=!1;function Ya(){var e=i.preRun.shift();fe.unshift(e)}function Za(e){var t=Array(Ga(e)+1);return Fa(e,t,0,t.length),t}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,t){var i=65535&e,n=65535&t;return i*n+((e>>>16)*n+i*(t>>>16)<<16)|0}),Math.X=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var t=0;32>t;t++)if(e&1<<31-t)return t;return 32}),Math.R=Math.clz32,Math.trunc||(Math.trunc=function(e){return 0>e?Math.ceil(e):Math.floor(e)}),Math.trunc=Math.trunc;var he=Math.abs,ye=Math.ceil,ge=Math.floor,Ce=Math.pow,ve=Math.min;i.preloadedImages={},i.preloadedAudios={};var we=[function(e,t,n,r,_,o,s,c){if(!(e=i.getCache(i.ConcreteContactResultCallback)[e]).hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return e.addSingleResult(t,n,r,_,o,s,c)},function(e,t){var n=i.getCache(i.LayaMotionState)[e];if(!n.hasOwnProperty("getWorldTransform"))throw"a JSImplementation must implement all functions, you forgot LayaMotionState::getWorldTransform.";n.getWorldTransform(t)},function(e,t){var n=i.getCache(i.LayaMotionState)[e];if(!n.hasOwnProperty("setWorldTransform"))throw"a JSImplementation must implement all functions, you forgot LayaMotionState::setWorldTransform.";n.setWorldTransform(t)}];ie=h.g,ne=ie+28080,be.push({s:function(){Gd()}},{s:function(){tl()}}),wa([140,38,0,0,252,39,0,0,24,0,0,0,0,0,0,0,100,38,0,0,28,40,0,0,140,38,0,0,72,40,0,0,48,0,0,0,0,0,0,0,100,38,0,0,118,40,0,0,140,38,0,0,161,40,0,0,72,0,0,0,0,0,0,0,100,38,0,0,208,40,0,0,140,38,0,0,248,40,0,0,96,0,0,0,0,0,0,0,100,38,0,0,14,41,0,0,140,38,0,0,42,41,0,0,120,0,0,0,0,0,0,0,100,38,0,0,65,41,0,0,140,38,0,0,81,41,0,0,24,6,0,0,0,0,0,0,100,38,0,0,107,41,0,0,140,38,0,0,128,41,0,0,72,0,0,0,0,0,0,0,140,38,0,0,175,41,0,0,48,0,0,0,0,0,0,0,140,38,0,0,211,43,0,0,120,0,0,0,0,0,0,0,140,38,0,0,19,44,0,0,232,0,0,0,0,0,0,0,140,38,0,0,229,43,0,0,168,0,0,0,0,0,0,0,140,38,0,0,52,44,0,0,248,0,0,0,0,0,0,0,100,38,0,0,85,44,0,0,140,38,0,0,167,44,0,0,16,1,0,0,0,0,0,0,180,38,0,0,131,44,0,0,0,0,0,0,1,0,0,0,40,1,0,0,2,4,0,0,100,38,0,0,151,44,0,0,140,38,0,0,226,44,0,0,96,1,0,0,0,0,0,0,140,38,0,0,18,45,0,0,16,1,0,0,0,0,0,0,140,38,0,0,78,45,0,0,64,1,0,0,0,0,0,0,140,38,0,0,110,45,0,0,16,1,0,0,0,0,0,0,140,38,0,0,170,45,0,0,16,1,0,0,0,0,0,0,140,38,0,0,223,45,0,0,16,1,0,0,0,0,0,0,140,38,0,0,249,45,0,0,160,1,0,0,0,0,0,0,100,38,0,0,31,46,0,0,140,38,0,0,75,46,0,0,16,1,0,0,0,0,0,0,140,38,0,0,185,46,0,0,216,1,0,0,0,0,0,0,140,38,0,0,123,46,0,0,168,0,0,0,0,0,0,0,140,38,0,0,211,46,0,0,32,3,0,0,0,0,0,0,140,38,0,0,229,46,0,0,248,1,0,0,0,0,0,0,100,38,0,0,3,47,0,0,140,38,0,0,70,47,0,0,24,3,0,0,0,0,0,0,140,38,0,0,84,47,0,0,248,0,0,0,0,0,0,0,140,38,0,0,103,47,0,0,144,0,0,0,0,0,0,0,140,38,0,0,181,47,0,0,64,2,0,0,0,0,0,0,140,38,0,0,131,47,0,0,80,2,0,0,0,0,0,0,100,38,0,0,157,47,0,0,140,38,0,0,196,47,0,0,104,2,0,0,0,0,0,0,140,38,0,0,214,47,0,0,96,0,0,0,0,0,0,0,140,38,0,0,68,48,0,0,80,2,0,0,0,0,0,0,140,38,0,0,239,47,0,0,152,2,0,0,0,0,0,0,100,38,0,0,4,48,0,0,140,38,0,0,23,48,0,0,152,2,0,0,0,0,0,0,140,38,0,0,46,48,0,0,152,2,0,0,0,0,0,0,140,38,0,0,90,49,0,0,104,2,0,0,0,0,0,0,140,38,0,0,87,48,0,0,224,2,0,0,0,0,0,0,100,38,0,0,197,48,0,0,140,38,0,0,217,48,0,0,224,2,0,0,0,0,0,0,140,38,0,0,147,49,0,0,24,9,0,0,0,0,0,0,140,38,0,0,121,49,0,0,224,2,0,0,0,0,0,0,100,38,0,0,198,49,0,0,100,38,0,0,65,53,0,0,140,38,0,0,34,52,0,0,128,3,0,0,0,0,0,0,140,38,0,0,218,49,0,0,72,0,0,0,0,0,0,0,140,38,0,0,95,50,0,0,152,2,0,0,0,0,0,0,140,38,0,0,221,50,0,0,232,8,0,0,0,0,0,0,140,38,0,0,114,51,0,0,232,8,0,0,0,0,0,0,100,38,0,0,5,52,0,0,140,38,0,0,56,52,0,0,144,3,0,0,0,0,0,0,100,38,0,0,82,52,0,0,180,38,0,0,109,52,0,0,0,0,0,0,2,0,0,0,88,7,0,0,2,0,0,0,96,7,0,0,2,4,0,0,140,38,0,0,84,53,0,0,48,0,0,0,0,0,0,0,140,38,0,0,51,54,0,0,152,2,0,0,0,0,0,0,140,38,0,0,216,54,0,0,248,8,0,0,0,0,0,0,140,38,0,0,137,55,0,0,248,8,0,0,0,0,0,0,140,38,0,0,56,56,0,0,128,3,0,0,0,0,0,0,140,38,0,0,106,56,0,0,144,3,0,0,0,0,0,0,140,38,0,0,80,56,0,0,32,5,0,0,0,0,0,0,140,38,0,0,132,56,0,0,56,4,0,0,0,0,0,0,100,38,0,0,166,56,0,0,140,38,0,0,193,56,0,0,80,4,0,0,0,0,0,0,100,38,0,0,241,56,0,0,140,38,0,0,18,57,0,0,80,4,0,0,0,0,0,0,140,38,0,0,61,57,0,0,80,4,0,0,0,0,0,0,140,38,0,0,112,57,0,0,80,4,0,0,0,0,0,0,140,38,0,0,161,57,0,0,80,4,0,0,0,0,0,0,140,38,0,0,194,57,0,0,80,4,0,0,0,0,0,0,140,38,0,0,246,57,0,0,80,4,0,0,0,0,0,0,140,38,0,0,43,58,0,0,80,4,0,0,0,0,0,0,140,38,0,0,88,58,0,0,80,4,0,0,0,0,0,0,140,38,0,0,145,58,0,0,80,4,0,0,0,0,0,0,140,38,0,0,195,58,0,0,248,4,0,0,0,0,0,0,100,38,0,0,214,58,0,0,140,38,0,0,237,58,0,0,24,3,0,0,0,0,0,0,140,38,0,0,253,58,0,0,0,5,0,0,0,0,0,0,140,38,0,0,24,59,0,0,48,5,0,0,0,0,0,0,100,38,0,0,43,59,0,0,100,38,0,0,91,59,0,0,140,38,0,0,119,59,0,0,40,9,0,0,0,0,0,0,140,38,0,0,154,59,0,0,40,9,0,0,0,0,0,0,140,38,0,0,191,59,0,0,112,5,0,0,0,0,0,0,100,38,0,0,216,59,0,0,140,38,0,0,29,60,0,0,24,7,0,0,0,0,0,0,140,38,0,0,216,60,0,0,120,7,0,0,0,0,0,0,140,38,0,0,42,60,0,0,168,5,0,0,0,0,0,0,100,38,0,0,152,60,0,0,140,38,0,0,241,60,0,0,168,5,0,0,0,0,0,0,140,38,0,0,89,61,0,0,168,5,0,0,0,0,0,0,140,38,0,0,234,61,0,0,104,6,0,0,0,0,0,0,140,38,0,0,4,62,0,0,208,5,0,0,0,0,0,0,140,38,0,0,31,62,0,0,208,5,0,0,0,0,0,0,100,38,0,0,70,62,0,0,140,38,0,0,143,62,0,0,0,6,0,0,0,0,0,0,140,38,0,0,161,62,0,0,0,6,0,0,0,0,0,0,140,38,0,0,199,62,0,0,104,6,0,0,0,0,0,0,140,38,0,0,219,62,0,0,40,6,0,0,0,0,0,0,140,38,0,0,240,62,0,0,40,6,0,0,0,0,0,0,140,38,0,0,28,63,0,0,40,7,0,0,0,0,0,0,140,38,0,0,48,63,0,0,120,6,0,0,0,0,0,0,140,38,0,0,72,63,0,0,0,6,0,0,0,0,0,0,140,38,0,0,131,63,0,0,40,7,0,0,0,0,0,0,140,38,0,0,88,63,0,0,96,7,0,0,0,0,0,0,140,38,0,0,189,63,0,0,104,6,0,0,0,0,0,0,140,38,0,0,217,63,0,0,168,6,0,0,0,0,0,0,140,38,0,0,246,63,0,0,168,6,0,0,0,0,0,0,140,38,0,0,21,64,0,0,24,6,0,0,0,0,0,0,140,38,0,0,49,64,0,0,32,9,0,0,0,0,0,0,140,38,0,0,66,64,0,0,96,7,0,0,0,0,0,0,140,38,0,0,157,64,0,0,96,7,0,0,0,0,0,0,140,38,0,0,1,65,0,0,104,6,0,0,0,0,0,0,140,38,0,0,27,65,0,0,24,7,0,0,0,0,0,0,140,38,0,0,71,65,0,0,104,6,0,0,0,0,0,0,140,38,0,0,122,65,0,0,24,6,0,0,0,0,0,0,100,38,0,0,143,65,0,0,100,38,0,0,164,65,0,0,140,38,0,0,198,65,0,0,80,10,0,0,0,0,0,0,140,38,0,0,98,66,0,0,24,6,0,0,0,0,0,0,140,38,0,0,215,65,0,0,88,7,0,0,0,0,0,0,140,38,0,0,239,65,0,0,96,7,0,0,0,0,0,0,140,38,0,0,114,67,0,0,40,9,0,0,0,0,0,0,140,38,0,0,120,66,0,0,200,7,0,0,0,0,0,0,100,38,0,0,164,66,0,0,140,38,0,0,208,66,0,0,200,7,0,0,0,0,0,0,140,38,0,0,16,67,0,0,64,10,0,0,0,0,0,0,140,38,0,0,48,67,0,0,0,8,0,0,0,0,0,0,140,38,0,0,68,67,0,0,24,7,0,0,0,0,0,0,140,38,0,0,86,67,0,0,88,7,0,0,0,0,0,0,140,38,0,0,144,67,0,0,80,4,0,0,0,0,0,0,140,38,0,0,209,67,0,0,128,0,0,0,0,0,0,0,140,38,0,0,13,68,0,0,128,0,0,0,0,0,0,0,140,38,0,0,34,68,0,0,96,8,0,0,0,0,0,0,100,38,0,0,86,68,0,0,140,38,0,0,130,68,0,0,136,8,0,0,0,0,0,0,140,38,0,0,111,68,0,0,48,5,0,0,0,0,0,0,100,38,0,0,160,68,0,0,140,38,0,0,175,68,0,0,136,8,0,0,0,0,0,0,140,38,0,0,193,68,0,0,176,8,0,0,0,0,0,0,100,38,0,0,226,68,0,0,140,38,0,0,3,69,0,0,112,5,0,0,0,0,0,0,140,38,0,0,194,69,0,0,176,8,0,0,0,0,0,0,140,38,0,0,23,69,0,0,48,5,0,0,0,0,0,0,140,38,0,0,230,69,0,0,88,7,0,0,0,0,0,0,140,38,0,0,2,70,0,0,88,7,0,0,0,0,0,0,140,38,0,0,33,70,0,0,136,8,0,0,0,0,0,0,100,38,0,0,58,70,0,0,100,38,0,0,164,70,0,0,140,38,0,0,181,70,0,0,248,4,0,0,0,0,0,0,140,38,0,0,214,70,0,0,40,9,0,0,0,0,0,0,140,38,0,0,243,70,0,0,112,5,0,0,0,0,0,0,140,38,0,0,31,71,0,0,40,9,0,0,0,0,0,0,140,38,0,0,6,71,0,0,152,2,0,0,0,0,0,0,140,38,0,0,95,71,0,0,88,9,0,0,0,0,0,0,140,38,0,0,62,71,0,0,152,2,0,0,0,0,0,0,140,38,0,0,63,72,0,0,40,9,0,0,0,0,0,0,140,38,0,0,134,71,0,0,88,7,0,0,0,0,0,0,140,38,0,0,36,72,0,0,88,7,0,0,0,0,0,0,140,38,0,0,170,73,0,0,80,4,0,0,0,0,0,0,140,38,0,0,144,73,0,0,40,9,0,0,0,0,0,0,140,38,0,0,99,72,0,0,32,5,0,0,0,0,0,0,140,38,0,0,126,72,0,0,48,5,0,0,0,0,0,0,140,38,0,0,11,73,0,0,48,5,0,0,0,0,0,0,140,38,0,0,210,73,0,0,248,4,0,0,0,0,0,0,100,38,0,0,244,73,0,0,100,38,0,0,14,74,0,0,100,38,0,0,182,74,0,0,140,38,0,0,208,74,0,0,40,7,0,0,0,0,0,0,140,38,0,0,227,74,0,0,56,10,0,0,0,0,0,0,100,38,0,0,16,85,0,0,140,38,0,0,112,85,0,0,120,10,0,0,0,0,0,0,140,38,0,0,29,85,0,0,136,10,0,0,0,0,0,0,100,38,0,0,62,85,0,0,140,38,0,0,75,85,0,0,104,10,0,0,0,0,0,0,140,38,0,0,118,86,0,0,120,10,0,0,0,0,0,0,140,38,0,0,82,86,0,0,160,10,0,0,0,0,0,0,140,38,0,0,152,86,0,0,104,10,0,0,0,0,0,0,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,48,0,0,0,7,0,0,0,8,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,56,0,0,0,9,0,0,0,10,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,72,0,0,0,11,0,0,0,12,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,80,0,0,0,13,0,0,0,14,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,96,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,104,0,0,0,17,0,0,0,18,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,120,0,0,0,19,0,0,0,20,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,21,0,0,0,22,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,23,0,0,0,24,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,144,0,0,0,27,0,0,0,28,0,0,0,1,0,0,0,0,0,0,0,152,0,0,0,29,0,0,0,30,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,168,0,0,0,31,0,0,0,32,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,34,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,200,0,0,0,35,0,0,0,36,0,0,0,1,0,0,0,10,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,3,0,0,0,4,0,0,0,15,0,0,0,5,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,216,0,0,0,7,0,0,0,37,0,0,0,2,0,0,0,5,0,0,0,0,0,0,0,0,1,0,0,38,0,0,0,39,0,0,0,40,0,0,0,1,0,0,0,20,0,0,0,21,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,16,1,0,0,38,0,0,0,41,0,0,0,42,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,8,0,0,0,5,0,0,0,0,0,0,0,48,1,0,0,43,0,0,0,44,0,0,0,45,0,0,0,1,0,0,0,22,0,0,0,23,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,0,0,0,0,64,1,0,0,38,0,0,0,46,0,0,0,47,0,0,0,1,0,0,0,24,0,0,0,25,0,0,0,2,0,0,0,3,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,48,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,38,0,0,0,49,0,0,0,47,0,0,0,1,0,0,0,24,0,0,0,26,0,0,0,2,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,8,0,0,0,48,0,0,0,11,0,0,0,4,0,0,0,0,0,0,0,96,1,0,0,38,0,0,0,50,0,0,0,45,0,0,0,1,0,0,0,22,0,0,0,23,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,112,1,0,0,38,0,0,0,51,0,0,0,52,0,0,0,1,0,0,0,27,0,0,0,28,0,0,0,2,0,0,0,4,0,0,0,9,0,0,0,13,0,0,0,9,0,0,0,14,0,0,0,0,0,0,0,128,1,0,0,38,0,0,0,53,0,0,0,54,0,0,0,1,0,0,0,29,0,0,0,30,0,0,0,2,0,0,0,5,0,0,0,10,0,0,0,15,0,0,0,10,0,0,0,16,0,0,0,0,0,0,0,144,1,0,0,55,0,0,0,56,0,0,0,5,0,0,0,1,0,0,0,6,0,0,0,57,0,0,0,17,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,168,1,0,0,38,0,0,0,58,0,0,0,42,0,0,0,1,0,0,0,31,0,0,0,32,0,0,0,2,0,0,0,6,0,0,0,11,0,0,0,18,0,0,0,11,0,0,0,19,0,0,0,0,0,0,0,184,1,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,33,0,0,0,20,0,0,0,63,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,34,0,0,0,64,0,0,0,35,0,0,0,1,0,0,0,7,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,65,0,0,0,41,0,0,0,9,0,0,0,42,0,0,0,43,0,0,0,21,0,0,0,22,0,0,0,4,0,0,0,5,0,0,0,23,0,0,0,66,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,2,0,0,0,3,0,0,0,67,0,0,0,48,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,49,0,0,0,68,0,0,0,50,0,0,0,8,0,0,0,0,0,0,0,200,1,0,0,7,0,0,0,69,0,0,0,6,0,0,0,12,0,0,0,0,0,0,0,232,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,72,0,0,0,73,0,0,0,51,0,0,0,7,0,0,0,24,0,0,0,12,0,0,0,52,0,0,0,0,0,0,0,16,2,0,0,74,0,0,0,75,0,0,0,4,0,0,0,53,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,32,2,0,0,27,0,0,0,76,0,0,0,2,0,0,0,0,0,0,0,48,2,0,0,77,0,0,0,78,0,0,0,1,0,0,0,8,0,0,0,2,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,54,0,0,0,25,0,0,0,26,0,0,0,9,0,0,0,55,0,0,0,79,0,0,0,0,0,0,0,64,2,0,0,77,0,0,0,80,0,0,0,1,0,0,0,8,0,0,0,2,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,54,0,0,0,25,0,0,0,26,0,0,0,9,0,0,0,55,0,0,0,79,0,0,0,0,0,0,0,88,2,0,0,81,0,0,0,82,0,0,0,13,0,0,0,3,0,0,0,10,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,11,0,0,0,30,0,0,0,12,0,0,0,56,0,0,0,13,0,0,0,14,0,0,0,31,0,0,0,57,0,0,0,58,0,0,0,0,0,0,0,120,2,0,0,83,0,0,0,84,0,0,0,2,0,0,0,14,0,0,0,3,0,0,0,13,0,0,0,3,0,0,0,14,0,0,0,59,0,0,0,32,0,0,0,33,0,0,0,15,0,0,0,60,0,0,0,85,0,0,0,0,0,0,0,136,2,0,0,86,0,0,0,87,0,0,0,16,0,0,0,61,0,0,0,5,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,160,2,0,0,86,0,0,0,88,0,0,0,17,0,0,0,62,0,0,0,5,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,176,2,0,0,86,0,0,0,89,0,0,0,17,0,0,0,63,0,0,0,5,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,192,2,0,0,90,0,0,0,91,0,0,0,15,0,0,0,4,0,0,0,18,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,19,0,0,0,37,0,0,0,20,0,0,0,64,0,0,0,21,0,0,0,16,0,0,0,38,0,0,0,65,0,0,0,66,0,0,0,0,0,0,0,208,2,0,0,92,0,0,0,93,0,0,0,10,0,0,0,0,0,0,0,232,2,0,0,92,0,0,0,94,0,0,0,11,0,0,0,0,0,0,0,248,2,0,0,95,0,0,0,96,0,0,0,1,0,0,0,17,0,0,0,67,0,0,0,68,0,0,0,18,0,0,0,19,0,0,0,15,0,0,0,39,0,0,0,12,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,13,0,0,0,69,0,0,0,0,0,0,0,8,3,0,0,92,0,0,0,97,0,0,0,14,0,0,0,0,0,0,0,24,3,0,0,98,0,0,0,99,0,0,0,51,0,0,0,7,0,0,0,43,0,0,0,20,0,0,0,70,0,0,0,0,0,0,0,32,3,0,0,100,0,0,0,101,0,0,0,61,0,0,0,62,0,0,0,33,0,0,0,20,0,0,0,102,0,0,0,6,0,0,0,7,0,0,0,16,0,0,0,71,0,0,0,64,0,0,0,72,0,0,0,0,0,0,0,40,3,0,0,103,0,0,0,104,0,0,0,15,0,0,0,0,0,0,0,120,3,0,0,11,0,0,0,73,0,0,0,22,0,0,0,105,0,0,0,106,0,0,0,0,0,0,0,104,3,0,0,107,0,0,0,108,0,0,0,17,0,0,0,1,0,0,0,0,0,0,0,88,3,0,0,107,0,0,0,109,0,0,0,17,0,0,0,2,0,0,0,0,0,0,0,72,3,0,0,86,0,0,0,110,0,0,0,17,0,0,0,74,0,0,0,5,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,56,3,0,0,11,0,0,0,111,0,0,0,16,0,0,0,13,0,0,0,0,0,0,0,152,3,0,0,112,0,0,0,113,0,0,0,18,0,0,0,19,0,0,0,252,255,255,255,152,3,0,0,114,0,0,0,115,0,0,0,20,0,0,0,0,0,0,0,232,3,0,0,107,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,0,0,0,0,216,3,0,0,107,0,0,0,117,0,0,0,21,0,0,0,2,0,0,0,0,0,0,0,200,3,0,0,86,0,0,0,118,0,0,0,17,0,0,0,75,0,0,0,5,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,184,3,0,0,7,0,0,0,119,0,0,0,17,0,0,0,14,0,0,0,0,0,0,0,248,3,0,0,103,0,0,0,120,0,0,0,18,0,0,0,0,0,0,0,8,4,0,0,103,0,0,0,121,0,0,0,19,0,0,0,0,0,0,0,24,4,0,0,122,0,0,0,123,0,0,0,23,0,0,0,24,0,0,0,3,0,0,0,0,0,0,0,40,4,0,0,124,0,0,0,125,0,0,0,44,0,0,0,45,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,216,4,0,0,126,0,0,0,127,0,0,0,5,0,0,0,0,0,0,0,200,4,0,0,126,0,0,0,128,0,0,0,6,0,0,0,0,0,0,0,184,4,0,0,126,0,0,0,129,0,0,0,7,0,0,0,0,0,0,0,168,4,0,0,126,0,0,0,130,0,0,0,8,0,0,0,0,0,0,0,152,4,0,0,126,0,0,0,131,0,0,0,9,0,0,0,0,0,0,0,136,4,0,0,126,0,0,0,132,0,0,0,10,0,0,0,0,0,0,0,120,4,0,0,126,0,0,0,133,0,0,0,11,0,0,0,0,0,0,0,104,4,0,0,126,0,0,0,134,0,0,0,12,0,0,0,0,0,0,0,88,4,0,0,126,0,0,0,135,0,0,0,13,0,0,0,0,0,0,0,64,4,0,0,126,0,0,0,136,0,0,0,14,0,0,0,0,0,0,0,232,4,0,0,137,0,0,0,138,0,0,0,4,0,0,0,1,0,0,0,76,0,0,0,0,0,0,0,0,5,0,0,139,0,0,0,140,0,0,0,51,0,0,0,7,0,0,0,43,0,0,0,20,0,0,0,70,0,0,0,25,0,0,0,22,0,0,0,0,0,0,0,16,5,0,0,141,0,0,0,142,0,0,0,51,0,0,0,7,0,0,0,43,0,0,0,20,0,0,0,70,0,0,0,26,0,0,0,23,0,0,0,0,0,0,0,32,5,0,0,122,0,0,0,143,0,0,0,23,0,0,0,24,0,0,0,4,0,0,0,0,0,0,0,56,5,0,0,144,0,0,0,145,0,0,0,27,0,0,0,77,0,0,0,0,0,0,0,64,5,0,0,146,0,0,0,147,0,0,0,5,0,0,0,2,0,0,0,78,0,0,0,0,0,0,0,80,5,0,0,148,0,0,0,149,0,0,0,6,0,0,0,3,0,0,0,79,0,0,0,0,0,0,0,96,5,0,0,150,0,0,0,151,0,0,0,7,0,0,0,0,0,0,0,120,5,0,0,152,0,0,0,153,0,0,0,24,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,80,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,6,0,0,0,12,0,0,0,3,0,0,0,48,0,0,0,23,0,0,0,7,0,0,0,28,0,0,0,29,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,49,0,0,0,30,0,0,0,20,0,0,0,50,0,0,0,51,0,0,0,27,0,0,0,31,0,0,0,52,0,0,0,28,0,0,0,1,0,0,0,32,0,0,0,0,0,0,0,136,5,0,0,154,0,0,0,155,0,0,0,29,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,81,0,0,0,53,0,0,0,2,0,0,0,54,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,55,0,0,0,24,0,0,0,7,0,0,0,30,0,0,0,33,0,0,0,34,0,0,0,82,0,0,0,83,0,0,0,0,0,0,0,152,5,0,0,156,0,0,0,157,0,0,0,35,0,0,0,0,0,0,0,176,5,0,0,156,0,0,0,158,0,0,0,36,0,0,0,0,0,0,0,192,5,0,0,156,0,0,0,159,0,0,0,37,0,0,0,0,0,0,0,208,5,0,0,160,0,0,0,161,0,0,0,31,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,84,0,0,0,46,0,0,0,3,0,0,0,56,0,0,0,85,0,0,0,14,0,0,0,3,0,0,0,57,0,0,0,25,0,0,0,7,0,0,0,38,0,0,0,39,0,0,0,1,0,0,0,32,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,0,0,0,0,224,5,0,0,160,0,0,0,162,0,0,0,31,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,84,0,0,0,46,0,0,0,3,0,0,0,59,0,0,0,85,0,0,0,14,0,0,0,3,0,0,0,57,0,0,0,25,0,0,0,7,0,0,0,38,0,0,0,39,0,0,0,1,0,0,0,32,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,0,0,0,0,240,5,0,0,160,0,0,0,163,0,0,0,31,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,84,0,0,0,46,0,0,0,3,0,0,0,60,0,0,0,85,0,0,0,14,0,0,0,3,0,0,0,57,0,0,0,25,0,0,0,7,0,0,0,38,0,0,0,39,0,0,0,1,0,0,0,32,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,0,0,0,0,8,6,0,0,164,0,0,0,165,0,0,0,33,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,86,0,0,0,61,0,0,0,4,0,0,0,62,0,0,0,6,0,0,0,15,0,0,0,4,0,0,0,63,0,0,0,26,0,0,0,7,0,0,0,87,0,0,0,166,0,0,0,0,0,0,0,40,6,0,0,160,0,0,0,167,0,0,0,34,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,88,0,0,0,46,0,0,0,5,0,0,0,64,0,0,0,89,0,0,0,16,0,0,0,3,0,0,0,65,0,0,0,27,0,0,0,7,0,0,0,41,0,0,0,42,0,0,0,1,0,0,0,35,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,0,0,0,0,56,6,0,0,160,0,0,0,168,0,0,0,34,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,88,0,0,0,46,0,0,0,5,0,0,0,66,0,0,0,90,0,0,0,16,0,0,0,3,0,0,0,65,0,0,0,27,0,0,0,7,0,0,0,41,0,0,0,42,0,0,0,1,0,0,0,35,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,0,0,0,0,72,6,0,0,160,0,0,0,169,0,0,0,34,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,88,0,0,0,46,0,0,0,5,0,0,0,67,0,0,0,91,0,0,0,16,0,0,0,3,0,0,0,65,0,0,0,27,0,0,0,7,0,0,0,41,0,0,0,42,0,0,0,1,0,0,0,35,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,0,0,0,0,88,6,0,0,170,0,0,0,171,0,0,0,36,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,92,0,0,0,46,0,0,0,6,0,0,0,68,0,0,0,6,0,0,0,16,0,0,0,3,0,0,0,69,0,0,0,28,0,0,0,7,0,0,0,43,0,0,0,44,0,0,0,2,0,0,0,37,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,20,0,0,0,70,0,0,0,71,0,0,0,38,0,0,0,45,0,0,0,72,0,0,0,39,0,0,0,2,0,0,0,0,0,0,0,136,6,0,0,152,0,0,0,172,0,0,0,36,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,93,0,0,0,73,0,0,0,6,0,0,0,74,0,0,0,6,0,0,0,16,0,0,0,3,0,0,0,48,0,0,0,23,0,0,0,7,0,0,0,46,0,0,0,47,0,0,0,1,0,0,0,40,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,20,0,0,0,75,0,0,0,76,0,0,0,41,0,0,0,48,0,0,0,77,0,0,0,42,0,0,0,3,0,0,0,0,0,0,0,152,6,0,0,173,0,0,0,174,0,0,0,43,0,0,0,0,0,0,0,168,6,0,0,160,0,0,0,175,0,0,0,44,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,94,0,0,0,46,0,0,0,7,0,0,0,78,0,0,0,95,0,0,0,17,0,0,0,3,0,0,0,79,0,0,0,29,0,0,0,7,0,0,0,49,0,0,0,50,0,0,0,1,0,0,0,45,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,5,0,0,0,0,0,0,0,184,6,0,0,160,0,0,0,176,0,0,0,44,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,94,0,0,0,46,0,0,0,7,0,0,0,80,0,0,0,95,0,0,0,17,0,0,0,3,0,0,0,79,0,0,0,29,0,0,0,7,0,0,0,49,0,0,0,51,0,0,0,1,0,0,0,46,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,6,0,0,0,0,0,0,0,200,6,0,0,160,0,0,0,177,0,0,0,44,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,94,0,0,0,46,0,0,0,7,0,0,0,81,0,0,0,95,0,0,0,17,0,0,0,3,0,0,0,79,0,0,0,29,0,0,0,7,0,0,0,49,0,0,0,52,0,0,0,1,0,0,0,47,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,7,0,0,0,0,0,0,0,216,6,0,0,178,0,0,0,179,0,0,0,48,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,96,0,0,0,82,0,0,0,8,0,0,0,83,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,49,0,0,0,15,0,0,0,0,0,0,0,232,6,0,0,180,0,0,0,181,0,0,0,15,0,0,0,84,0,0,0,30,0,0,0,97,0,0,0,98,0,0,0,16,0,0,0,0,0,0,0,8,7,0,0,173,0,0,0,182,0,0,0,50,0,0,0,0,0,0,0,248,6,0,0,173,0,0,0,183,0,0,0,51,0,0,0,0,0,0,0,24,7,0,0,152,0,0,0,184,0,0,0,34,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,99,0,0,0,46,0,0,0,6,0,0,0,1,0,0,0,6,0,0,0,16,0,0,0,3,0,0,0,48,0,0,0,23,0,0,0,7,0,0,0,38,0,0,0,53,0,0,0,1,0,0,0,52,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,20,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,56,7,0,0,160,0,0,0,185,0,0,0,53,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,99,0,0,0,46,0,0,0,9,0,0,0,85,0,0,0,6,0,0,0,18,0,0,0,8,0,0,0,48,0,0,0,23,0,0,0,7,0,0,0,54,0,0,0,55,0,0,0,1,0,0,0,54,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,0,0,0,0,72,7,0,0,186,0,0,0,187,0,0,0,55,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,100,0,0,0,86,0,0,0,10,0,0,0,87,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,88,0,0,0,31,0,0,0,7,0,0,0,56,0,0,0,0,0,0,0,104,7,0,0,188,0,0,0,189,0,0,0,57,0,0,0,1,0,0,0,2,0,0,0,101,0,0,0,102,0,0,0,89,0,0,0,103,0,0,0,104,0,0,0,90,0,0,0,56,0,0,0,57,0,0,0,91,0,0,0,32,0,0,0,0,0,0,0,120,7,0,0,190,0,0,0,191,0,0,0,29,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,105,0,0,0,53,0,0,0,2,0,0,0,92,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,58,0,0,0,33,0,0,0,34,0,0,0,0,0,0,0,136,7,0,0,107,0,0,0,192,0,0,0,59,0,0,0,0,0,0,0,152,7,0,0,173,0,0,0,193,0,0,0,60,0,0,0,0,0,0,0,168,7,0,0,194,0,0,0,195,0,0,0,8,0,0,0,4,0,0,0,106,0,0,0,0,0,0,0,240,7,0,0,152,0,0,0,196,0,0,0,61,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,99,0,0,0,46,0,0,0,11,0,0,0,93,0,0,0,6,0,0,0,16,0,0,0,3,0,0,0,48,0,0,0,23,0,0,0,7,0,0,0,38,0,0,0,58,0,0,0,1,0,0,0,62,0,0,0,26,0,0,0,94,0,0,0,59,0,0,0,20,0,0,0,95,0,0,0,96,0,0,0,63,0,0,0,60,0,0,0,97,0,0,0,64,0,0,0,4,0,0,0,65,0,0,0,0,0,0,0,224,7,0,0,152,0,0,0,197,0,0,0,66,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,107,0,0,0,46,0,0,0,6,0,0,0,98,0,0,0,6,0,0,0,16,0,0,0,3,0,0,0,48,0,0,0,23,0,0,0,7,0,0,0,38,0,0,0,53,0,0,0,1,0,0,0,52,0,0,0,26,0,0,0,58,0,0,0,40,0,0,0,20,0,0,0,99,0,0,0,100,0,0,0,67,0,0,0,61,0,0,0,101,0,0,0,68,0,0,0,5,0,0,0,21,0,0,0,0,0,0,0,200,7,0,0,22,0,0,0,198,0,0,0,199,0,0,0,0,0,0,0,208,7,0,0,23,0,0,0,198,0,0,0,200,0,0,0,0,0,0,0,184,7,0,0,24,0,0,0,198,0,0,0,201,0,0,0,0,0,0,0,16,8,0,0,107,0,0,0,202,0,0,0,69,0,0,0,0,0,0,0,32,8,0,0,126,0,0,0,203,0,0,0,17,0,0,0,0,0,0,0,48,8,0,0,204,0,0,0,205,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,108,0,0,0,102,0,0,0,12,0,0,0,103,0,0,0,6,0,0,0,19,0,0,0,9,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,70,0,0,0,23,0,0,0,24,0,0,0,3,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,62,0,0,0,63,0,0,0,206,0,0,0,207,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,64,0,0,0,65,0,0,0,3,0,0,0,71,0,0,0,0,0,0,0,64,8,0,0,208,0,0,0,209,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,109,0,0,0,1,0,0,0,13,0,0,0,110,0,0,0,6,0,0,0,20,0,0,0,2,0,0,0,111,0,0,0,33,0,0,0,7,0,0,0,72,0,0,0,210,0,0,0,211,0,0,0,3,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,66,0,0,0,67,0,0,0,212,0,0,0,213,0,0,0,9,0,0,0,27,0,0,0,28,0,0,0,68,0,0,0,69,0,0,0,73,0,0,0,74,0,0,0,0,0,0,0,80,8,0,0,214,0,0,0,215,0,0,0,118,0,0,0,119,0,0,0,70,0,0,0,71,0,0,0,0,0,0,0,104,8,0,0,216,0,0,0,217,0,0,0,1,0,0,0,0,0,0,0,120,8,0,0,122,0,0,0,218,0,0,0,72,0,0,0,73,0,0,0,5,0,0,0,0,0,0,0,144,8,0,0,216,0,0,0,219,0,0,0,2,0,0,0,0,0,0,0,160,8,0,0,220,0,0,0,221,0,0,0,1,0,0,0,0,0,0,0,184,8,0,0,150,0,0,0,222,0,0,0,10,0,0,0,0,0,0,0,200,8,0,0,220,0,0,0,223,0,0,0,2,0,0,0,0,0,0,0,216,8,0,0,122,0,0,0,224,0,0,0,74,0,0,0,75,0,0,0,6,0,0,0,0,0,0,0,248,8,0,0,107,0,0,0,225,0,0,0,21,0,0,0,1,0,0,0,0,0,0,0,0,8,0,0,152,0,0,0,226,0,0,0,75,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,99,0,0,0,46,0,0,0,11,0,0,0,93,0,0,0,6,0,0,0,16,0,0,0,3,0,0,0,48,0,0,0,23,0,0,0,7,0,0,0,38,0,0,0,58,0,0,0,1,0,0,0,62,0,0,0,26,0,0,0,94,0,0,0,59,0,0,0,20,0,0,0,95,0,0,0,96,0,0,0,63,0,0,0,60,0,0,0,97,0,0,0,64,0,0,0,4,0,0,0,65,0,0,0,0,0,0,0,8,9,0,0,216,0,0,0,227,0,0,0,3,0,0,0,0,0,0,0,32,9,0,0,228,0,0,0,229,0,0,0,15,0,0,0,84,0,0,0,30,0,0,0,97,0,0,0,98,0,0,0,0,0,0,0,56,9,0,0,230,0,0,0,231,0,0,0,11,0,0,0,5,0,0,0,110,0,0,0,0,0,0,0,72,9,0,0,150,0,0,0,232,0,0,0,12,0,0,0,0,0,0,0,88,9,0,0,233,0,0,0,234,0,0,0,13,0,0,0,6,0,0,0,111,0,0,0,0,0,0,0,104,9,0,0,86,0,0,0,235,0,0,0,17,0,0,0,112,0,0,0,5,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,120,9,0,0,236,0,0,0,237,0,0,0,14,0,0,0,7,0,0,0,113,0,0,0,0,0,0,0,136,9,0,0,86,0,0,0,238,0,0,0,76,0,0,0,114,0,0,0,5,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,152,9,0,0,239,0,0,0,240,0,0,0,15,0,0,0,8,0,0,0,115,0,0,0,0,0,0,0,168,9,0,0,107,0,0,0,241,0,0,0,76,0,0,0,0,0,0,0,184,9,0,0,242,0,0,0,243,0,0,0,77,0,0,0,0,0,0,0,200,9,0,0,244,0,0,0,245,0,0,0,18,0,0,0,0,0,0,0,216,9,0,0,246,0,0,0,247,0,0,0,16,0,0,0,9,0,0,0,116,0,0,0,0,0,0,0,8,10,0,0,122,0,0,0,248,0,0,0,77,0,0,0,78,0,0,0,7,0,0,0,0,0,0,0,248,9,0,0,122,0,0,0,249,0,0,0,79,0,0,0,80,0,0,0,8,0,0,0,0,0,0,0,232,9,0,0,122,0,0,0,250,0,0,0,23,0,0,0,24,0,0,0,9,0,0,0,0,0,0,0,24,10,0,0,251,0,0,0,252,0,0,0,17,0,0,0,10,0,0,0,117,0,0,0,0,0,0,0,40,10,0,0,253,0,0,0,254,0,0,0,34,0,0,0,35,0,0,0,120,0,0,0,0,0,0,0,48,10,0,0,255,0,0,0,0,1,0,0,0,0,0,0,80,10,0,0,1,1,0,0,2,1,0,0,57,0,0,0,1,0,0,0,2,0,0,0,101,0,0,0,102,0,0,0,89,0,0,0,118,0,0,0,119,0,0,0,90,0,0,0,56,0,0,0,57,0,0,0,91,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,37,0,0,0,173,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,104,10,0,0,3,1,0,0,4,1,0,0,5,1,0,0,6,1,0,0,38,0,0,0,4,0,0,0,18,0,0,0,78,0,0,0,0,0,0,0,144,10,0,0,3,1,0,0,7,1,0,0,5,1,0,0,6,1,0,0,38,0,0,0,5,0,0,0,19,0,0,0,79,0,0,0,0,0,0,0,192,10,0,0,3,1,0,0,8,1,0,0,5,1,0,0,6,1,0,0,38,0,0,0,6,0,0,0,20,0,0,0,80,0,0,0,123,32,118,97,114,32,115,101,108,102,32,61,32,77,111,100,117,108,101,91,39,103,101,116,67,97,99,104,101,39,93,40,77,111,100,117,108,101,91,39,67,111,110,99,114,101,116,101,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,39,93,41,91,36,48,93,59,32,105,102,32,40,33,115,101,108,102,46,104,97,115,79,119,110,80,114,111,112,101,114,116,121,40,39,97,100,100,83,105,110,103,108,101,82,101,115,117,108,116,39,41,41,32,116,104,114,111,119,32,39,97,32,74,83,73,109,112,108,101,109,101,110,116,97,116,105,111,110,32,109,117,115,116,32,105,109,112,108,101,109,101,110,116,32,97,108,108,32,102,117,110,99,116,105,111,110,115,44,32,121,111,117,32,102,111,114,103,111,116,32,67,111,110,99,114,101,116,101,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,58,58,97,100,100,83,105,110,103,108,101,82,101,115,117,108,116,46,39,59,32,114,101,116,117,114,110,32,115,101,108,102,91,39,97,100,100,83,105,110,103,108,101,82,101,115,117,108,116,39,93,40,36,49,44,36,50,44,36,51,44,36,52,44,36,53,44,36,54,44,36,55,41,59,32,125,0,50,57,67,111,110,99,114,101,116,101,67,111],"i8",4,h.g),wa([110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,51,65,108,108,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,52,67,108,111,115,101,115,116,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,49,57,98,116,71,104,111,115,116,80,97,105,114,67,97,108,108,98,97,99,107,0,50,53,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,108,108,98,97,99,107,0,50,48,98,116,68,101,102,97,117,108,116,77,111,116,105,111,110,83,116,97,116,101,0,49,51,98,116,77,111,116,105,111,110,83,116,97,116,101,0,50,51,98,116,71,73,109,112,97,99,116,83,104,97,112,101,73,110,116,101,114,102,97,99,101,0,49,56,98,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,52,65,108,108,72,105,116,115,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,55,67,108,111,115,101,115,116,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,123,32,118,97,114,32,115,101,108,102,32,61,32,77,111,100,117,108,101,91,39,103,101,116,67,97,99,104,101,39,93,40,77,111,100,117,108,101,91,39,76,97,121,97,77,111,116,105,111,110,83,116,97,116,101,39,93,41,91,36,48,93,59,32,105,102,32,40,33,115,101,108,102,46,104,97,115,79,119,110,80,114,111,112,101,114,116,121,40,39,115,101,116,87,111,114,108,100,84,114,97,110,115,102,111,114,109,39,41,41,32,116,104,114,111,119,32,39,97,32,74,83,73,109,112,108,101,109,101,110,116,97,116,105,111,110,32,109,117,115,116,32,105,109,112,108,101,109,101,110,116,32,97,108,108,32,102,117,110,99,116,105,111,110,115,44,32,121,111,117,32,102,111,114,103,111,116,32,76,97,121,97,77,111,116,105,111,110,83,116,97,116,101,58,58,115,101,116,87,111,114,108,100,84,114,97,110,115,102,111,114,109,46,39,59,32,115,101,108,102,91,39,115,101,116,87,111,114,108,100,84,114,97,110,115,102,111,114,109,39,93,40,36,49,41,59,32,125,0,123,32,118,97,114,32,115,101,108,102,32,61,32,77,111,100,117,108,101,91,39,103,101,116,67,97,99,104,101,39,93,40,77,111,100,117,108,101,91,39,76,97,121,97,77,111,116,105,111,110,83,116,97,116,101,39,93,41,91,36,48,93,59,32,105,102,32,40,33,115,101,108,102,46,104,97,115,79,119,110,80,114,111,112,101,114,116,121,40,39,103,101,116,87,111,114,108,100,84,114,97,110,115,102,111,114,109,39,41,41,32,116,104,114,111,119,32,39,97,32,74,83,73,109,112,108,101,109,101,110,116,97,116,105,111,110,32,109,117,115,116,32,105,109,112,108,101,109,101,110,116,32,97,108,108,32,102,117,110,99,116,105,111,110,115,44,32,121,111,117,32,102,111,114,103,111,116,32,76,97,121,97,77,111,116,105,111,110,83,116,97,116,101,58,58,103,101,116,87,111,114,108,100,84,114,97,110,115,102,111,114,109,46,39,59,32,115,101,108,102,91,39,103,101,116,87,111,114,108,100,84,114,97,110,115,102,111,114,109,39,93,40,36,49,41,59,32,125,0,49,53,76,97,121,97,77,111,116,105,111,110,83,116,97,116,101,0,52,51,98,116,75,105,110,101,109,97,116,105,99,67,108,111,115,101,115,116,78,111,116,77,101,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0,51,48,98,116,75,105,110,101,109,97,116,105,99,67,104,97,114,97,99,116,101,114,67,111,110,116,114,111,108,108,101,114,0,51,48,98,116,67,104,97,114,97,99,116,101,114,67,111,110,116,114,111,108,108,101,114,73,110,116,101,114,102,97,99,101,0,49,55,98,116,65,99,116,105,111,110,73,110,116,101,114,102,97,99,101,0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,49,55,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,0,49,51,98,116,84,121,112,101,100,79,98,106,101,99,116,0,50,49,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,0,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,50,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,49,55,98,116,70,105,120,101,100,67,111,110,115,116,114,97,105,110,116,0,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,50,51,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,0,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,50,57,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,67,111,110,115,116,114,97,105,110,116,0,51,48,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,50,67,111,110,115,116,114,97,105,110,116,0,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,49,55,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,50,51,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,0,51,53,98,116,83,101,113,117,101,110,116,105,97,108,73,109,112,117,108,115,101,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0,49,56,98,116,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,49,56,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,51,52,98,116,67,108,111,115,101,115,116,78,111,116,77,101,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0,98,116,68,121,110,97,109,105,99,115,87,111,114,108,100,70,108,111,97,116,68,97,116,97,0,50,51,98,116,68,105,115,99,114,101,116,101,68,121,110,97,109,105,99,115,87,111,114,108,100,0,49,53,98,116,68,121,110,97,109,105,99,115,87,111,114,108,100,0,50,55,73,110,112,108,97,99,101,83,111,108,118,101,114,73,115,108,97,110,100,67,97,108,108,98,97,99,107,0,78,50,53,98,116,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,77,97,110,97,103,101,114,49,52,73,115,108,97,110,100,67,97,108,108,98,97,99,107,69,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,0,49,49,98,116,82,105,103,105,100,66,111,100,121,0,49,54,98,116,82,97,121,99,97,115,116,86,101,104,105,99,108,101,0,50,53,98,116,68,101,102,97,117,108,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0,50,48,98,116,65,120,105,115,83,119,101,101,112,51,73,110,116,101,114,110,97,108,73,116,69,0,50,49,98,116,66,114,111,97,100,112,104,97,115,101,73,110,116,101,114,102,97,99,101,0,49,50,98,116,65,120,105,115,83,119,101,101,112,51,0,49,53,98,116,78,117,108,108,80,97,105,114,67,97,99,104,101,0,50,50,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0,49,56,98,116,68,98,118,116,84,114,101,101,67,111,108,108,105,100,101,114,0,78,54,98,116,68,98,118,116,56,73,67,111,108,108,105,100,101,69,0,50,48,66,114,111,97,100,112,104,97,115,101,65,97,98,98,84,101,115,116,101,114,0,49,57,66,114,111,97,100,112,104,97,115,101,82,97,121,84,101,115,116,101,114,0,49,54,98,116,68,98,118,116,66,114,111,97,100,112,104,97,115,101,0,90,78,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,49,57,99,108,101,97,110,80,114,111,120,121,70,114,111,109,80,97,105,114,115,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,55,67,108,101,97,110,80,97,105,114,67,97,108,108,98,97,99,107,0,49,55,98,116,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,90,78,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,51,55,114,101,109,111,118,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,67,111,110,116,97,105,110,105,110,103,80,114,111,120,121,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,56,82,101,109,111,118,101,80,97,105,114,67,97,108,108,98,97,99,107,0,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0,50,51,98,116,67,111,108,108,105,115,105,111,110,80,97,105,114,67,97,108,108,98,97,99,107,0,50,49,98,116,67,111,108,108,105,115,105,111,110,68,105,115,112,97,116,99,104,101,114,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97,0,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,114,97,121,84,101,115,116,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,49,53,76,111,99,97,108,73,110,102,111,65,100,100,101,114,50,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,114,97,121,84,101,115,116,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,57,82,97,121,84,101,115,116,101,114,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,114,97,121,84,101,115,116,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,50,57,66,114,105,100,103,101,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,95,48,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,114,97,121,84,101,115,116,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,50,57,66,114,105,100,103,101,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,0,78,49,50,98,116,67,111,110,118,101,120,67,97,115,116,49,48,67,97,115,116,82,101,115,117,108,116,69,0,49,57,98,116,83,105,110,103,108,101,82,97,121,67,97,108,108,98,97,99,107,0,50,51,98,116,66,114,111,97,100,112,104,97,115,101,82,97,121,67,97,108,108,98,97,99,107,0,50,52,98,116,66,114,111,97,100,112,104,97,115,101,65,97,98,98,67,97,108,108,98,97,99,107,0,49,55,68,101,98,117,103,68,114,97,119,99,97,108,108,98,97,99,107,0,1,79,118,101,114,102,108,111,119,32,105,110,32,65,65,66,66,44,32,111,98,106,101,99,116,32,114,101,109,111,118,101,100,32,102,114,111,109,32,115,105,109,117,108,97,116,105,111,110,0,73,102,32,121,111,117,32,99,97,110,32,114,101,112,114,111,100,117,99,101,32,116,104,105,115,44,32,112,108,101,97,115,101,32,101,109,97,105,108,32,98,117,103,115,64,99,111,110,116,105,110,117,111,117,115,112,104,121,115,105,99,115,46,99,111,109,10,0,80,108,101,97,115,101,32,105,110,99,108,117,100,101,32,97,98,111,118,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,121,111,117,114,32,80,108,97,116,102,111,114,109,44,32,118,101,114,115,105,111,110,32,111,102,32,79,83,46,10,0,84,104,97,110,107,115,46,10,0,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,0,90,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,53,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,78,50,50,98,116,67,111,109,112,111,117,110,100,76,101,97,102,67,97,108,108,98,97,99,107,49,50,80,114,111,99,101,115,115,67,104,105,108,100,69,105,83,53,95,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,69,49,52,76,111,99,97,108,73,110,102,111,65,100,100,101,114,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,53,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,50,50,98,116,67,111,109,112,111,117,110,100,76,101,97,102,67,97,108,108,98,97,99,107,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,53,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,51,50,66,114,105,100,103,101,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,95,48,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,53,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,73,110,116,101,114,110,97,108,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,51,50,66,114,105,100,103,101,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,0,50,49,98,116,83,105,110,103,108,101,83,119,101,101,112,67,97,108,108,98,97,99,107,0,50,51,98,116,66,114,105,100,103,101,100,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0,50,51,98,116,83,105,110,103,108,101,67,111,110,116,97,99,116,67,97,108,108,98,97,99,107,0,51,49,98,116,68,101,102,97,117,108,116,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0,50,52,98,116,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0,78,51,49,98,116,67,111,110,118,101,120,80,108,97,110,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,51,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,67,114,101,97,116,101,70,117,110,99,0,78,50,54,98,116,66,111,120,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,51,52,98,116,83,112,104,101,114,101,84,114,105,97,110,103,108,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,51,50,98,116,83,112,104,101,114,101,83,112,104,101,114,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0,78,51,54,98,116,67,111,109,112,111,117,110,100,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,0,50,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,49,51,98,116,71,104,111,115,116,79,98,106,101,99,116,0,50,52,98,116,80,97,105,114,67,97,99,104,105,110,103,71,104,111,115,116,79,98,106,101,99,116,0,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0,78,51,54,98,116,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,111,114,73,110,116,101,114,102,97,99,101,54,82,101,115,117,108,116,69,0,50,53,98,116,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,77,97,110,97,103,101,114,0,51,50,98,116,83,112,104,101,114,101,83,112,104,101,114,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,51,52,98,116,83,112,104,101,114,101,84,114,105,97,110,103,108,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,50,50,83,112,104,101,114,101,84,114,105,97,110,103,108,101,68,101,116,101,99,116,111,114,0,51,54,98,116,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,111,114,73,110,116,101,114,102,97,99,101,0,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,66,111,120,0,49,48,98,116,66,111,120,83,104,97,112,101,0,90,78,75,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,57,112,114,111,99,101,115,115,65,108,108,84,114,105,97,110,103,108,101,115,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,50,49,98,116,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,66,86,72,84,82,73,65,78,71,76,69,77,69,83,72,0,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,90,78,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,52,112,101,114,102,111,114,109,82,97,121,99,97,115,116,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,90,78,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,55,112,101,114,102,111,114,109,67,111,110,118,101,120,99,97,115,116,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,83,52,95,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0,67,97,112,115,117,108,101,83,104,97,112,101,0,49,52,98,116,67,97,112,115,117,108,101,83,104,97,112,101,0,67,97,112,115,117,108,101,88,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,88,0,67,97,112,115,117,108,101,90,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,90,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0,67,111,109,112,111,117,110,100,0,49,53,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,0,49,52,98,116,67,111,110,99,97,118,101,83,104,97,112,101,0,98,116,67,111,110,101,83,104,97,112,101,68,97,116,97,0,67,111,110,101,0,49,49,98,116,67,111,110,101,83,104,97,112,101,0,67,111,110,101,90,0,49,50,98,116,67,111,110,101,83,104,97,112,101,90,0,67,111,110,101,88,0,49,50,98,116,67,111,110,101,83,104,97,112,101,88,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0,67,111,110,118,101,120,0,49,55,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,0,50,49,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,0,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,0,50,54,76,111,99,97,108,83,117,112,112,111,114,116,86,101,114,116,101,120,67,97,108,108,98,97,99,107,0,67,111,110,118,101,120,84,114,105,109,101,115,104,0,50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0,67,121,108,105,110,100,101,114,89,0,49,53,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,0,67,121,108,105,110,100,101,114,88,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,88,0,67,121,108,105,110,100,101,114,90,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,90,0,72,69,73,71,72,84,70,73,69,76,68,0,50,53,98,116,72,101,105,103,104,116,102,105,101,108,100,84,101,114,114,97,105,110,83,104,97,112,101,0,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,0,90,78,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,53,98,117,105,108,100,69,80,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,98,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,48,78,111,100,101,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,90,78,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,53,98,117,105,108,100,69,80,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,98,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,57,81,117,97,110,116,105,122,101,100,78,111,100,101,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,50,51,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,118,101,120,83,104,97,112,101,0,51,52,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,118,101,120,65,97,98,98,67,97,99,104,105,110,103,83,104,97,112,101,0,83,80,72,69,82,69,0,49,51,98,116,83,112,104,101,114,101,83,104,97,112,101,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0,83,84,65,84,73,67,80,76,65,78,69,0,49,56,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,0,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,51,49,98,116,73,110,116,101,114,110,97,108,84,114,105,97,110,103,108,101,73,110,100,101,120,67,97,108,108,98,97,99,107,0,49,52,98,116,84,114,105,97,110,103,108,101,77,101,115,104,0,50,49,83,117,112,112,111,114,116,86,101,114,116,101,120,67,97,108,108,98,97,99,107,0,90,78,75,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,57,112,114,111,99,101,115,115,65,108,108,84,114,105,97,110,103,108,101,115,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,49,54,70,105,108,116,101,114,101,100,67,97,108,108,98,97,99,107,0,84,82,73,65,78,71,76,69,77,69,83,72,0,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,78,49,56,71,73,77,95,83,104,97,112,101,82,101,116,114,105,101,118,101,114,49,57,84,101,116,114,97,83,104,97,112,101,82,101,116,114,105,101,118,101,114,69,0,78,49,56,71,73,77,95,83,104,97,112,101,82,101,116,114,105,101,118,101,114,49,57,67,104,105,108,100,83,104,97,112,101,82,101,116,114,105,101,118,101,114,69,0,78,49,56,71,73,77,95,83,104,97,112,101,82,101,116,114,105,101,118,101,114,50,50,84,114,105,97,110,103,108,101,83,104,97,112,101,82,101,116,114,105,101,118,101,114,69,0,98,116,66,85,95,83,105,109,112,108,101,120,49,116,111,52,0,50,48,98,116,84,101,116,114,97,104,101,100,114,111,110,83,104,97,112,101,69,120,0,84,114,105,97,110,103,108,101,0,49,55,98,116,84,114,105,97,110,103,108,101,83,104,97,112,101,69,120,0,49,53,98,116,84,114,105,97,110,103,108,101,83,104,97,112,101,0,50,53,98,116,71,73,109,112,97,99,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,50,55,98,116,71,73,109,112,97,99,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,78,50,55,98,116,71,73,109,112,97,99,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,80,97,114,116,0,50,50,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,80,97,114,116,0,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,68,97,116,97,0,71,73,109,112,97,99,116,77,101,115,104,0,49,56,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,0,78,50,50,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,80,97,114,116,50,51,84,114,105,109,101,115,104,80,114,105,109,105,116,105,118,101,77,97,110,97,103,101,114,69,0,50,50,98,116,80,114,105,109,105,116,105,118,101,77,97,110,97,103,101,114,66,97,115,101,0,49,54,98,116,80,111,105,110,116,67,111,108,108,101,99,116,111,114,0,50,55,98,116,67,111,110,116,105,110,117,111,117,115,67,111,110,118,101,120,67,111,108,108,105,115,105,111,110,0,49,50,98,116,67,111,110,118,101,120,67,97,115,116,0,49,53,98,116,71,106,107,67,111,110,118,101,120,67,97,115,116,0,51,48,98,116,71,106,107,69,112,97,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,51,48,98,116,67,111,110,118,101,120,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,49,55,98,116,71,106,107,80,97,105,114,68,101,116,101,99,116,111,114,0,90,78,51,51,98,116,77,105,110,107,111,119,115,107,105,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,49,50,99,97,108,99,80,101,110,68,101,112,116,104,69,82,50,50,98,116,86,111,114,111,110,111,105,83,105,109,112,108,101,120,83,111,108,118,101,114,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,83,52,95,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,55,95,82,57,98,116,86,101,99,116,111,114,51,83,57,95,83,57,95,80,49,50,98,116,73,68,101,98,117,103,68,114,97,119,69,50,48,98,116,73,110,116,101,114,109,101,100,105,97,116,101,82,101,115,117,108,116,0,51,51,98,116,77,105,110,107,111,119,115,107,105,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,50,53,98,116,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,0,50,56,98,116,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,0,50,50,98,116,83,117,98,115,105,109,112,108,101,120,67,111,110,118,101,120,67,97,115,116,0,49,50,98,116,68,105,115,112,97,116,99,104,101,114,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97,0,49,52,98,116,81,117,97,110,116,105,122,101,100,66,118,104,0,51,48,98,116,65,99,116,105,118,97,116,105,110,103,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,50,54,98,116,66,111,120,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,49,54,98,116,66,111,120,66,111,120,68,101,116,101,99,116,111,114,0,50,50,98,116,67,111,109,112,111,117,110,100,76,101,97,102,67,97,108,108,98,97,99,107,0,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,51,48,98,116,67,111,109,112,111,117,110,100,67,111,109,112,111,117,110,100,76,101,97,102,67,97,108,108,98,97,99,107,0,51,54,98,116,67,111,109,112,111,117,110,100,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,90,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,50,49,99,97,108,99,117,108,97,116,101,84,105,109,101,79,102,73,109,112,97,99,116,69,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,83,49,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,51,49,76,111,99,97,108,84,114,105,97,110,103,108,101,83,112,104,101,114,101,67,97,115,116,67,97,108,108,98,97,99,107,0,50,52,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,50,52,98,116,80,101,114,116,117,114,98,101,100,67,111,110,116,97,99,116,82,101,115,117,108,116,0,90,78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,54,112,114,111,99,101,115,115,67,111,108,108,105,115,105,111,110,69,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,83,50,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,50,49,98,116,87,105,116,104,111,117,116,77,97,114,103,105,110,82,101,115,117,108,116,0,90,78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,54,112,114,111,99,101,115,115,67,111,108,108,105,115,105,111,110,69,80,75,50,52,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,87,114,97,112,112,101,114,83,50,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,49,51,98,116,68,117,109,109,121,82,101,115,117,108,116,0,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,0,78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,51,49,98,116,67,111,110,118,101,120,80,108,97,110,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,50,51,98,116,72,97,115,104,101,100,83,105,109,112,108,101,80,97,105,114,67,97,99,104,101,0,49,56,98,116,67,111,110,118,101,120,80,111,108,121,104,101,100,114,111,110,0,98,116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,98,116,67,104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,68,97,116,97,0,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,0,49,54,98,116,66,85,95,83,105,109,112,108,101,120,49,116,111,52,0,50,54,98,116,84,114,105,97,110,103,108,101,73,110,100,101,120,86,101,114,116,101,120,65,114,114,97,121,0,82,111,111,116,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109],"i8",4,h.g+10240),wa([101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,83,116,57,101,120,99,101,112,116,105,111,110,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0],"i8",4,h.g+20480);var ke=ne;ne+=16,i._i64Subtract=Dc,i._i64Add=wd;var Se=wa([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",2);function nb(){return!!nb.d}i._llvm_cttz_i32=Lh,i.___udivmoddi4=Jh,i.___udivdi3=ha,i._memset=Xy,i._bitshift64Lshr=lm,i._bitshift64Shl=xa;var je=0,Re=[],xe={};i._llvm_bswap_i16=gl,i._memcpy=Tm;var Ie=0;function vb(){return A[(Ie+=4)-4>>2]}var Me={},De={};i.___muldsi3=uu,i.___muldi3=Na,i._sbrk=Im,i._memmove=Sl;var Te=1;function Gb(e,t){Ie=t;try{var n=vb(),r=vb(),_=vb(),o=0;Gb.buffer||(Gb.d=[null,[],[]],Gb.q=function(e,t){var n=Gb.d[e];if(assert(n),0===t||10===t){var r,_=1===e?i.print:i.printErr;e:{for(var o=r=0;n[o];)++o;if(16<o-r&&n.subarray&&ce)r=ce.decode(n.subarray(r,o));else{var s,c,a,l,f;for(o="";;){if(!(s=n[r++])){r=o;break e}128&s?(c=63&n[r++],192==(224&s)?o+=String.fromCharCode((31&s)<<6|c):(a=63&n[r++],224==(240&s)?s=(15&s)<<12|c<<6|a:(l=63&n[r++],240==(248&s)?s=(7&s)<<18|c<<12|a<<6|l:(f=63&n[r++],248==(252&s)?s=(3&s)<<24|c<<18|a<<12|l<<6|f:s=(1&s)<<30|c<<24|a<<18|l<<12|f<<6|63&n[r++])),65536>s?o+=String.fromCharCode(s):(s-=65536,o+=String.fromCharCode(55296|s>>10,56320|1023&s)))):o+=String.fromCharCode(s)}}}_(r),n.length=0}else n.push(t)});for(var s=0;s<_;s++){for(var c=A[r+8*s>>2],a=A[r+(8*s+4)>>2],l=0;l<a;l++)Gb.q(n,k[c+l]);o+=a}return o}catch(e){return"undefined"!=typeof FS&&e instanceof FS.o||qa(e),-e.r}}i.___uremdi3=Yr,i._llvm_bswap_i32=cy,ue.push(function(){var e=i._fflush;if(e&&e(0),e=Gb.q){var t=Gb.d;t[1].length&&e(1,10),t[2].length&&e(2,10)}}),se=wa(1,"i32",2),_e=(re=h.p(ne))+ae,oe=h.p(_e),A[se>>2]=oe,i.C={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},i.D={abort:qa,assert:assert,enlargeMemory:function(){oa()},getTotalMemory:function(){return le},abortOnCannotGrowMemory:oa,invoke_viiiii:function(e,t,n,r,_,o){try{i.dynCall_viiiii(e,t,n,r,_,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_vid:function(e,t,n){try{i.dynCall_vid(e,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_vi:function(e,t){try{i.dynCall_vi(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viiidii:function(e,t,n,r,_,o,s){try{i.dynCall_viiidii(e,t,n,r,_,o,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_vii:function(e,t,n){try{i.dynCall_vii(e,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_iiiiiiiiiii:function(e,t,n,r,_,o,s,c,a,l,f){try{return i.dynCall_iiiiiiiiiii(e,t,n,r,_,o,s,c,a,l,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_ii:function(e,t){try{return i.dynCall_ii(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viidi:function(e,t,n,r,_){try{i.dynCall_viidi(e,t,n,r,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viddiii:function(e,t,n,r,_,o,s){try{i.dynCall_viddiii(e,t,n,r,_,o,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_vidii:function(e,t,n,r,_){try{i.dynCall_vidii(e,t,n,r,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_iiiiii:function(e,t,n,r,_,o){try{return i.dynCall_iiiiii(e,t,n,r,_,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_vidi:function(e,t,n,r){try{i.dynCall_vidi(e,t,n,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_diiiiiiii:function(e,t,n,r,_,o,s,c,a){try{return i.dynCall_diiiiiiii(e,t,n,r,_,o,s,c,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viiiiddddiid:function(e,t,n,r,_,o,s,c,a,l,f,b){try{i.dynCall_viiiiddddiid(e,t,n,r,_,o,s,c,a,l,f,b)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_diiiii:function(e,t,n,r,_,o){try{return i.dynCall_diiiii(e,t,n,r,_,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_iiii:function(e,t,n,r){try{return i.dynCall_iiii(e,t,n,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viiiiii:function(e,t,n,r,_,o,s){try{i.dynCall_viiiiii(e,t,n,r,_,o,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_iiid:function(e,t,n,r){try{return i.dynCall_iiid(e,t,n,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_di:function(e,t){try{return i.dynCall_di(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_iiiiiii:function(e,t,n,r,_,o,s){try{return i.dynCall_iiiiiii(e,t,n,r,_,o,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_diiidii:function(e,t,n,r,_,o,s){try{return i.dynCall_diiidii(e,t,n,r,_,o,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viidii:function(e,t,n,r,_,o){try{i.dynCall_viidii(e,t,n,r,_,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viid:function(e,t,n,r){try{i.dynCall_viid(e,t,n,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viiiiiii:function(e,t,n,r,_,o,s,c){try{i.dynCall_viiiiiii(e,t,n,r,_,o,s,c)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viiiiiiiii:function(e,t,n,r,_,o,s,c,a,l){try{i.dynCall_viiiiiiiii(e,t,n,r,_,o,s,c,a,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viiiiiiiiii:function(e,t,n,r,_,o,s,c,a,l,f){try{i.dynCall_viiiiiiiiii(e,t,n,r,_,o,s,c,a,l,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_iii:function(e,t,n){try{return i.dynCall_iii(e,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_diii:function(e,t,n,r){try{return i.dynCall_diii(e,t,n,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_diiiiiiiiii:function(e,t,n,r,_,o,s,c,a,l,f){try{return i.dynCall_diiiiiiiiii(e,t,n,r,_,o,s,c,a,l,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viiiid:function(e,t,n,r,_,o){try{i.dynCall_viiiid(e,t,n,r,_,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_diiiiiiiii:function(e,t,n,r,_,o,s,c,a,l){try{return i.dynCall_diiiiiiiii(e,t,n,r,_,o,s,c,a,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_did:function(e,t,n){try{return i.dynCall_did(e,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viiiidddddidi:function(e,t,n,r,_,o,s,c,a,l,f,b,p){try{i.dynCall_viiiidddddidi(e,t,n,r,_,o,s,c,a,l,f,b,p)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_diidii:function(e,t,n,r,_,o){try{return i.dynCall_diidii(e,t,n,r,_,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_diiii:function(e,t,n,r,_){try{return i.dynCall_diiii(e,t,n,r,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_iiiii:function(e,t,n,r,_){try{return i.dynCall_iiiii(e,t,n,r,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viiid:function(e,t,n,r,_){try{i.dynCall_viiid(e,t,n,r,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viii:function(e,t,n,r){try{i.dynCall_viii(e,t,n,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_v:function(e){try{i.dynCall_v(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_iiiiiiiii:function(e,t,n,r,_,o,s,c,a){try{return i.dynCall_iiiiiiiii(e,t,n,r,_,o,s,c,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_iidid:function(e,t,n,r,_){try{return i.dynCall_iidid(e,t,n,r,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},invoke_viiii:function(e,t,n,r,_){try{i.dynCall_viiii(e,t,n,r,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;i.setThrew(1,0)}},_pthread_getspecific:function(e){return De[e]||0},___cxa_begin_catch:function(e){var t=xe[e];t&&!t.F&&(t.F=!0,nb.d--),t&&(t.ba=!1),Re.push(e);e:{if(e&&!xe[e])for(var i in xe)if(xe[i].B===e){t=i;break e}t=e}return t&&xe[t].aa++,e},_pthread_setspecific:function(e,t){return e in De?(De[e]=t,0):22},___syscall146:Gb,_pthread_key_create:function(e){return 0==e?22:(A[e>>2]=Te,De[Te]=0,Te++,0)},_abort:function(){i.abort()},___setErrNo:function(e){return i.___errno_location&&(A[i.___errno_location()>>2]=e),e},___syscall6:function(e,t){Ie=t;try{var i=Me.I();return FS.close(i),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.o||qa(e),-e.r}},_llvm_trap:function(){qa("trap!")},_llvm_pow_f32:Ce,_gettimeofday:function(e){var t=Date.now();return A[e>>2]=t/1e3|0,A[e+4>>2]=t%1e3*1e3|0,0},_pthread_once:function rb(e,t){rb.d||(rb.d={}),e in rb.d||(i.dynCall_v(t),rb.d[e]=1)},_emscripten_memcpy_big:function(e,t,i){return k.set(k.subarray(t,t+i),e),e},___gxx_personality_v0:function(){},___syscall140:function(e,t){Ie=t;try{var i=Me.I(),n=vb(),r=vb(),_=vb(),o=vb();return assert(0===n),FS.Y(i,r,o),A[_>>2]=i.position,i.K&&0===r&&0===o&&(i.K=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.o||qa(e),-e.r}},___resumeException:function(e){throw je||(je=e),e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."},_emscripten_asm_const_diiiiiiii:function(e,t,i,n,r,_,o,s,c){return we[e](t,i,n,r,_,o,s,c)},___cxa_find_matching_catch:function Db(){if(!(r=je))return 0|(h.e(0),0);var e=xe[r],t=e.type;if(!t)return 0|(h.e(0),r);var n=Array.prototype.slice.call(arguments);i.___cxa_is_pointer_type(t),Db.buffer||(Db.buffer=br(4)),A[Db.buffer>>2]=r;for(var r=Db.buffer,_=0;_<n.length;_++)if(n[_]&&i.___cxa_can_catch(n[_],t,r))return r=A[r>>2],e.B=r,0|(h.e(n[_]),r);return r=A[r>>2],0|(h.e(t),r)},___cxa_pure_virtual:function(){throw y=!0,"Pure virtual function called!"},_emscripten_asm_const_iii:function(e,t,i){return we[e](t,i)},__ZSt18uncaught_exceptionv:nb,DYNAMICTOP_PTR:se,tempDoublePtr:ke,ABORT:y,STACKTOP:re,STACK_MAX:_e,cttz_i8:Se};var Oe=function(e,t,i){"use asm";var n=new e.Int8Array(i);var r=new e.Int16Array(i);var _=new e.Int32Array(i);var o=new e.Uint8Array(i);var s=new e.Uint16Array(i);var c=new e.Uint32Array(i);var a=new e.Float32Array(i);var l=new e.Float64Array(i);var f=t.DYNAMICTOP_PTR|0;var b=t.tempDoublePtr|0;var p=t.ABORT|0;var u=t.STACKTOP|0;var d=t.STACK_MAX|0;var m=t.cttz_i8|0;var h=0;var y=0;var g=0;var C=0;var v=e.NaN,w=e.Infinity;var k=0,S=0,j=0,R=0,x=0.0,I=0,M=0,D=0,T=0.0;var O=0;var H=e.Math.floor;var G=e.Math.abs;var W=e.Math.sqrt;var F=e.Math.pow;var A=e.Math.cos;var P=e.Math.sin;var B=e.Math.tan;var L=e.Math.acos;var V=e.Math.asin;var E=e.Math.atan;var q=e.Math.atan2;var Q=e.Math.exp;var z=e.Math.log;var N=e.Math.ceil;var U=e.Math.imul;var K=e.Math.min;var Z=e.Math.max;var X=e.Math.clz32;var J=t.abort;var Y=t.assert;var $=t.enlargeMemory;var e_=t.getTotalMemory;var t_=t.abortOnCannotGrowMemory;var i_=t.invoke_viiiii;var n_=t.invoke_vid;var r_=t.invoke_vi;var __=t.invoke_viiidii;var o_=t.invoke_vii;var s_=t.invoke_iiiiiiiiiii;var c_=t.invoke_ii;var a_=t.invoke_viidi;var l_=t.invoke_viddiii;var f_=t.invoke_vidii;var b_=t.invoke_iiiiii;var p_=t.invoke_vidi;var u_=t.invoke_diiiiiiii;var d_=t.invoke_viiiiddddiid;var m_=t.invoke_diiiii;var h_=t.invoke_iiii;var y_=t.invoke_viiiiii;var g_=t.invoke_iiid;var C_=t.invoke_di;var v_=t.invoke_iiiiiii;var w_=t.invoke_diiidii;var k_=t.invoke_viidii;var S_=t.invoke_viid;var j_=t.invoke_viiiiiii;var R_=t.invoke_viiiiiiiii;var x_=t.invoke_viiiiiiiiii;var I_=t.invoke_iii;var M_=t.invoke_diii;var D_=t.invoke_diiiiiiiiii;var T_=t.invoke_viiiid;var O_=t.invoke_diiiiiiiii;var H_=t.invoke_did;var G_=t.invoke_viiiidddddidi;var W_=t.invoke_diidii;var F_=t.invoke_diiii;var A_=t.invoke_iiiii;var P_=t.invoke_viiid;var B_=t.invoke_viii;var L_=t.invoke_v;var V_=t.invoke_iiiiiiiii;var E_=t.invoke_iidid;var q_=t.invoke_viiii;var Q_=t._pthread_getspecific;var z_=t.___cxa_begin_catch;var N_=t._pthread_setspecific;var U_=t.___syscall146;var K_=t._pthread_key_create;var Z_=t._abort;var X_=t.___setErrNo;var J_=t.___syscall6;var Y_=t._llvm_trap;var $_=t._llvm_pow_f32;var ea=t._gettimeofday;var ta=t._pthread_once;var ia=t._emscripten_memcpy_big;var na=t.___gxx_personality_v0;var ra=t.___syscall140;var _a=t.___resumeException;var oa=t._emscripten_asm_const_diiiiiiii;var sa=t.___cxa_find_matching_catch;var ca=t.___cxa_pure_virtual;var aa=t._emscripten_asm_const_iii;var la=t.__ZSt18uncaught_exceptionv;var fa=0.0;function Wd(e,t,i,n,o,c,l,f,b){e=e|0;t=t|0;i=i|0;n=+n;o=+o;c=+c;l=l|0;f=f|0;b=b|0;var p=0,d=0,m=0.0,h=0.0,y=0.0,g=0.0,C=0,v=0,w=0,k=0,S=0,j=0,R=0,x=0,I=0.0,M=0,D=0.0,T=0,O=0,H=0,G=0,F=0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0,U=0,K=0,Z=0.0,X=0.0,J=0.0,Y=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,re=0.0,_e=0.0;K=u;u=u+32|0;z=+a[i>>2];D=+a[i+4>>2];A=+a[i+8>>2];P=1.0/+W(+((n-z)*(n-z)+(o-D)*(o-D)+(c-A)*(c-A)));E=(n-z)*P==0.0?999999984306749440.0:1.0/((n-z)*P);q=(o-D)*P==0.0?999999984306749440.0:1.0/((o-D)*P);Q=(c-A)*P==0.0?999999984306749440.0:1.0/((c-A)*P);_e=(z>n?n:z)+ +a[l>>2];re=(D>o?o:D)+ +a[l+4>>2];ne=(A>c?c:A)+ +a[l+8>>2];te=(z<n?n:z)+ +a[f>>2];J=(D<o?o:D)+ +a[f+4>>2];h=(A<c?c:A)+ +a[f+8>>2];ee=+a[e+4>>2];_e=_e<ee?ee:_e;X=+a[e+8>>2];re=re<X?X:re;y=+a[e+12>>2];ne=ne<y?y:ne;ie=+a[e+20>>2];Y=+a[e+24>>2];m=+a[e+28>>2];$=+a[e+36>>2];Z=+a[e+40>>2];g=+a[e+44>>2];N=~~(((ie<_e?ie:_e)-ee)*$)&65535&-2;T=~~(((Y<re?Y:re)-X)*Z)&65535&-2;O=~~(((m<ne?m:ne)-y)*g)&65535&-2;te=te<ee?ee:te;J=J<X?X:J;h=h<y?y:h;H=~~(((ie<te?ie:te)-ee)*$+1.0)&65535|1;G=~~(((Y<J?Y:J)-X)*Z+1.0)&65535|1;F=~~(((m<h?m:h)-y)*g+1.0)&65535|1;if((b|0)>0){x=0;p=0;M=_[e+136>>2]|0;while(1){p=p+1|0;d=M+6|0;C=r[M>>1]|0;v=M+10|0;w=r[M+4>>1]|0;k=M+8|0;S=r[M+2>>1]|0;j=M+12|0;R=(_[j>>2]|0)>-1;do{if(((H&65535)>=(C&65535)?(N&65535)<=(s[d>>1]|0):0)&(O&65535)<=(s[v>>1]|0)&(F&65535)>=(w&65535)&(T&65535)<=(s[k>>1]|0)&(G&65535)>=(S&65535)){te=+a[e+36>>2];ne=+a[e+40>>2];_e=+a[e+44>>2];ie=+a[e+4>>2];re=+a[e+8>>2];y=+a[e+12>>2];a[K+12>>2]=0.0;g=+(s[d>>1]|0)/te+ie;m=+(s[k>>1]|0)/ne+re;h=+(s[v>>1]|0)/_e+y;a[K+28>>2]=0.0;a[K>>2]=+(C&65535)/te+ie-+a[f>>2];a[K+4>>2]=+(S&65535)/ne+re-+a[f+4>>2];a[K+8>>2]=+(w&65535)/_e+y-+a[f+8>>2];a[K+16>>2]=g-+a[l>>2];a[K+20>>2]=m-+a[l+4>>2];a[K+24>>2]=h-+a[l+8>>2];h=+a[i>>2];m=E*(+a[K+((E<0.0&1)<<4)>>2]-h);h=E*(+a[K+((E<0.0^1)<<4)>>2]-h);g=+a[i+4>>2];y=q*(+a[K+((q<0.0&1)<<4)+4>>2]-g);g=q*(+a[K+((q<0.0^1)<<4)+4>>2]-g);if(!(y>h|m>g)?(B=y>m?y:m,I=g<h?g:h,V=+a[i+8>>2],L=Q*(+a[K+((Q<0.0&1)<<4)+8>>2]-V),V=Q*(+a[K+((Q<0.0^1)<<4)+8>>2]-V),!(L>I|B>V)):0){d=(V<I?V:I)>0.0?(L>B?L:B)<(c-A)*(c-A)*P+((n-z)*(n-z)*P+(o-D)*(o-D)*P):0;if(!(R&d)){U=9;break}d=_[j>>2]|0;Za[_[(_[t>>2]|0)+8>>2]&127](t,d>>21,d&2097151);d=1;break}d=0;U=9}else{d=0;U=9}}while(0);if((U|0)==9){U=0;if(R|d)d=1;else d=0-(_[j>>2]|0)|0}x=d+x|0;if((x|0)>=(b|0))break;else M=M+(d<<4)|0}}else p=0;if((_[6286]|0)>=(p|0)){u=K;return}_[6286]=p;u=K;return}function Xd(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0,d=0.0,m=0,h=0,y=0,g=0.0;p=u;u=u+80|0;o=+a[t+12>>2];l=+a[e+264>>2];r=+a[t+8>>2];b=+a[e+260>>2];n=+a[t+4>>2];if((l==r?+a[e+268>>2]==o:0)&b==n?+a[e+256>>2]==+a[t>>2]:0){u=p;return}f=+a[e+256>>2];i=+a[t>>2];if(i*i+n*n+r*r>0.0){c=1.0/+W(+(i*i+n*n+r*r));a[e+256>>2]=i*c;a[e+260>>2]=n*c;a[e+264>>2]=r*c;s=i*c;n=n*c;r=r*c;i=o}else{_[e+256>>2]=0;_[e+260>>2]=0;_[e+264>>2]=0;s=0.0;n=0.0;r=0.0;i=0.0}a[e+268>>2]=i;t=_[e+8>>2]|0;if(!t){u=p;return}i=s*s+n*n+r*r;do{if(!(i==0.0)?!(f*f+b*b+l*l==0.0):0){i=1.0/+W(+i);c=s*i;a[e+256>>2]=c;o=n*i;a[e+260>>2]=o;i=r*i;a[e+264>>2]=i;n=1.0/+W(+(f*f+b*b+l*l));if(!(i*l*n+(o*b*n+f*n*c)<-.9999998807907104)){d=+W(+((i*l*n+(o*b*n+f*n*c)+1.0)*2.0));s=(i*f*n-l*n*c)*(1.0/d);r=(o*l*n-i*b*n)*(1.0/d);i=(b*n*c-o*f*n)*(1.0/d);n=d*.5;break}if(+G(+i)>.7071067690849304){n=1.0/+W(+(i*i+o*o));s=-(i*n);r=0.0;i=o*n;n=0.0;break}else{r=1.0/+W(+(o*o+c*c));s=c*r;r=-(o*r);i=0.0;n=0.0;break}}else{s=0.0;r=0.0;i=0.0;n=0.0}}while(0);_[p+16>>2]=_[t+4>>2];_[p+16+4>>2]=_[t+4+4>>2];_[p+16+8>>2]=_[t+4+8>>2];_[p+16+12>>2]=_[t+4+12>>2];y=p+16+16|0;_[y>>2]=_[t+20>>2];_[y+4>>2]=_[t+20+4>>2];_[y+8>>2]=_[t+20+8>>2];_[y+12>>2]=_[t+20+12>>2];h=p+16+32|0;_[h>>2]=_[t+36>>2];_[h+4>>2]=_[t+36+4>>2];_[h+8>>2]=_[t+36+8>>2];_[h+12>>2]=_[t+36+12>>2];m=p+16+48|0;_[m>>2]=_[t+52>>2];_[m+4>>2]=_[t+52+4>>2];_[m+8>>2]=_[t+52+8>>2];_[m+12>>2]=_[t+52+12>>2];r=-r;d=-s;c=-i;Lg(p+16|0,p);i=+a[p>>2];g=+a[p+12>>2];f=+a[p+8>>2];s=+a[p+4>>2];l=n*i+g*r+f*d-s*c;b=i*c+(g*d+n*s)-f*r;o=g*c+n*f+s*r-i*d;c=n*g-i*r-s*d-f*c;f=l*(2.0/(c*c+(o*o+(l*l+b*b))));d=b*(2.0/(c*c+(o*o+(l*l+b*b))));s=o*(2.0/(c*c+(o*o+(l*l+b*b))));a[p+16>>2]=1.0-(b*d+o*s);a[p+16+4>>2]=l*d-c*s;a[p+16+8>>2]=l*s+c*d;a[p+16+12>>2]=0.0;a[p+16+16>>2]=l*d+c*s;a[p+16+20>>2]=1.0-(l*f+o*s);a[p+16+24>>2]=b*s-c*f;a[p+16+28>>2]=0.0;a[p+16+32>>2]=l*s-c*d;a[p+16+36>>2]=b*s+c*f;a[p+16+40>>2]=1.0-(l*f+b*d);a[p+16+44>>2]=0.0;e=_[e+8>>2]|0;_[e+304>>2]=(_[e+304>>2]|0)+1;_[e+4>>2]=_[p+16>>2];_[e+4+4>>2]=_[p+16+4>>2];_[e+4+8>>2]=_[p+16+8>>2];_[e+4+12>>2]=_[p+16+12>>2];_[e+20>>2]=_[y>>2];_[e+20+4>>2]=_[y+4>>2];_[e+20+8>>2]=_[y+8>>2];_[e+20+12>>2]=_[y+12>>2];_[e+36>>2]=_[h>>2];_[e+36+4>>2]=_[h+4>>2];_[e+36+8>>2]=_[h+8>>2];_[e+36+12>>2]=_[h+12>>2];_[e+52>>2]=_[m>>2];_[e+52+4>>2]=_[m+4>>2];_[e+52+8>>2]=_[m+8>>2];_[e+52+12>>2]=_[m+12>>2];u=p;return}function Yd(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0;o=u;u=u+160|0;n=_[e+4>>2]|0;r=_[n+12>>2]|0;M=+a[r>>2];I=+a[r+4>>2];x=+a[r+8>>2];R=+a[r+16>>2];j=+a[r+20>>2];S=+a[r+24>>2];h=+a[r+32>>2];d=+a[r+36>>2];b=+a[r+40>>2];n=_[(_[n+4>>2]|0)+28>>2]|0;k=+a[n+(i*80|0)>>2];w=+a[n+(i*80|0)+16>>2];v=+a[n+(i*80|0)+32>>2];C=+a[n+(i*80|0)+4>>2];g=+a[n+(i*80|0)+20>>2];y=+a[n+(i*80|0)+36>>2];m=+a[n+(i*80|0)+8>>2];p=+a[n+(i*80|0)+24>>2];f=+a[n+(i*80|0)+40>>2];T=+a[n+(i*80|0)+48>>2];D=+a[n+(i*80|0)+52>>2];s=+a[n+(i*80|0)+56>>2];l=+a[r+48>>2]+(M*T+I*D+x*s);c=+a[r+52>>2]+(R*T+j*D+S*s);s=+a[r+56>>2]+(h*T+d*D+b*s);a[o+88>>2]=M*k+I*w+x*v;a[o+88+4>>2]=M*C+I*g+x*y;a[o+88+8>>2]=M*m+I*p+x*f;a[o+88+12>>2]=0.0;a[o+88+16>>2]=R*k+j*w+S*v;a[o+88+20>>2]=R*C+j*g+S*y;a[o+88+24>>2]=R*m+j*p+S*f;a[o+88+28>>2]=0.0;a[o+88+32>>2]=h*k+d*w+b*v;a[o+88+36>>2]=h*C+d*g+b*y;a[o+88+40>>2]=h*m+d*p+b*f;a[o+88+44>>2]=0.0;a[o+88+48>>2]=l;a[o+88+52>>2]=c;a[o+88+56>>2]=s;a[o+88+60>>2]=0.0;$a[_[(_[t>>2]|0)+8>>2]&127](t,o+88|0,o+72|0,o+56|0);s=+a[(_[e+20>>2]|0)+32>>2];a[o+72>>2]=+a[o+72>>2]-s;a[o+72+4>>2]=+a[o+72+4>>2]-s;a[o+72+8>>2]=+a[o+72+8>>2]-s;a[o+56>>2]=s+ +a[o+56>>2];a[o+56+4>>2]=s+ +a[o+56+4>>2];a[o+56+8>>2]=s+ +a[o+56+8>>2];r=_[e+8>>2]|0;n=_[r+4>>2]|0;$a[_[(_[n>>2]|0)+8>>2]&127](n,_[r+12>>2]|0,o+40|0,o+24|0);if(!(+a[o+72>>2]>+a[o+24>>2])?!(+a[o+56>>2]<+a[o+40>>2]):0)n=1;else n=0;if(!(!(+a[o+72+8>>2]>+a[o+24+8>>2])?!(+a[o+56+8>>2]<+a[o+40+8>>2]):0))n=0;if(+a[o+72+4>>2]>+a[o+24+4>>2]){u=o;return}if(+a[o+56+4>>2]<+a[o+40+4>>2]|n^1){u=o;return}n=_[e+4>>2]|0;r=_[n+8>>2]|0;_[o>>2]=n;_[o+4>>2]=t;_[o+8>>2]=r;_[o+12>>2]=o+88;_[o+16>>2]=-1;_[o+20>>2]=i;if(!(+a[(_[e+20>>2]|0)+32>>2]>0.0)){n=_[(_[e+24>>2]|0)+(i<<2)>>2]|0;if(!n){r=_[e+12>>2]|0;r=wa[_[(_[r>>2]|0)+8>>2]&1](r,o,_[e+8>>2]|0,_[e+28>>2]|0,1)|0;_[(_[e+24>>2]|0)+(i<<2)>>2]=r;r=_[(_[e+24>>2]|0)+(i<<2)>>2]|0}else r=n}else{r=_[e+12>>2]|0;r=wa[_[(_[r>>2]|0)+8>>2]&1](r,o,_[e+8>>2]|0,0,2)|0}t=_[e+20>>2]|0;n=_[t+8>>2]|0;if((_[n+8>>2]|0)==(_[(_[e+4>>2]|0)+8>>2]|0)){_[t+8>>2]=o;Za[_[(_[t>>2]|0)+8>>2]&127](t,-1,i)}else{n=_[t+12>>2]|0;_[t+12>>2]=o;Za[_[(_[t>>2]|0)+12>>2]&127](t,-1,i)}ba[_[(_[r>>2]|0)+8>>2]&31](r,o,_[e+8>>2]|0,_[e+16>>2]|0,_[e+20>>2]|0);i=_[e+20>>2]|0;_[((_[(_[i+8>>2]|0)+8>>2]|0)==(_[(_[e+4>>2]|0)+8>>2]|0)?i+8|0:i+12|0)>>2]=n;u=o;return}function Zd(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0;fg(e,t+(i*284|0)|0,n);b=+a[t+(i*284|0)+52>>2];o=+a[t+(i*284|0)+56>>2];m=+a[t+(i*284|0)+60>>2];O=+a[t+(i*284|0)+76>>2];k=+a[t+(i*284|0)+72>>2];j=+a[t+(i*284|0)+68>>2];w=1.0/+W(+((k*-b-j*-o)*(k*-b-j*-o)+((O*-o-k*-m)*(O*-o-k*-m)+(j*-m-O*-b)*(j*-m-O*-b))));v=(O*-o-k*-m)*w;C=w*(j*-m-O*-b);w=w*(k*-b-j*-o);r=+a[t+(i*284|0)+232>>2]*.5;l=+P(+r)/+W(+(b*b+o*o+m*m));r=+A(+r);f=2.0/(r*r+(l*-m*l*-m+(l*-b*l*-b+l*-o*l*-o)));D=1.0-(l*-o*l*-o*f+l*-m*l*-m*f);M=l*-b*l*-o*f-r*l*-m*f;T=l*-b*l*-m*f+r*l*-o*f;x=l*-b*l*-o*f+r*l*-m*f;R=1.0-(l*-b*l*-b*f+l*-m*l*-m*f);I=l*-o*l*-m*f-r*l*-b*f;c=l*-b*l*-m*f-r*l*-o*f;r=l*-o*l*-m*f+r*l*-b*f;f=1.0-(l*-b*l*-b*f+l*-o*l*-o*f);l=+a[t+(i*284|0)+236>>2]*-.5;S=+P(+l)/+W(+(O*O+(k*k+j*j)));l=+A(+l);h=2.0/(l*l+(O*S*O*S+(j*S*j*S+k*S*k*S)));p=1.0-(k*S*k*S*h+O*S*O*S*h);s=j*S*k*S*h-l*O*S*h;g=j*S*O*S*h+l*k*S*h;u=j*S*k*S*h+l*O*S*h;_=1.0-(j*S*j*S*h+O*S*O*S*h);y=k*S*O*S*h-l*j*S*h;d=j*S*O*S*h-l*k*S*h;l=k*S*O*S*h+l*j*S*h;h=1.0-(j*S*j*S*h+k*S*k*S*h);S=+a[t+(i*284|0)+68>>2];k=+a[t+(i*284|0)+72>>2];j=+a[t+(i*284|0)+76>>2];a[t+(i*284|0)+92>>2]=j*(D*g+M*y+T*h)+(S*(T*d+(M*u+D*p))+k*(T*l+(D*s+M*_)));a[t+(i*284|0)+96>>2]=w*(D*g+M*y+T*h)+(v*(T*d+(M*u+D*p))+C*(T*l+(D*s+M*_)));a[t+(i*284|0)+100>>2]=(D*g+M*y+T*h)*-m+((T*d+(M*u+D*p))*-b+(T*l+(D*s+M*_))*-o);a[t+(i*284|0)+104>>2]=0.0;a[t+(i*284|0)+108>>2]=j*(x*g+R*y+I*h)+(S*(I*d+(R*u+x*p))+k*(I*l+(x*s+R*_)));a[t+(i*284|0)+112>>2]=w*(x*g+R*y+I*h)+(v*(I*d+(R*u+x*p))+C*(I*l+(x*s+R*_)));a[t+(i*284|0)+116>>2]=(x*g+R*y+I*h)*-m+((I*d+(R*u+x*p))*-b+(I*l+(x*s+R*_))*-o);a[t+(i*284|0)+120>>2]=0.0;a[t+(i*284|0)+124>>2]=j*(c*g+r*y+f*h)+(S*(f*d+(r*u+c*p))+k*(f*l+(c*s+r*_)));a[t+(i*284|0)+128>>2]=w*(c*g+r*y+f*h)+(v*(f*d+(r*u+c*p))+C*(f*l+(c*s+r*_)));a[t+(i*284|0)+132>>2]=(c*g+r*y+f*h)*-m+((f*d+(r*u+c*p))*-b+(f*l+(c*s+r*_))*-o);a[t+(i*284|0)+136>>2]=0.0;o=+a[t+(i*284|0)+32>>2];_=o*+a[t+(i*284|0)+56>>2]+ +a[t+(i*284|0)+40>>2];r=o*+a[t+(i*284|0)+60>>2]+ +a[t+(i*284|0)+44>>2];a[t+(i*284|0)+140>>2]=+a[t+(i*284|0)+52>>2]*o+ +a[t+(i*284|0)+36>>2];a[t+(i*284|0)+144>>2]=_;a[t+(i*284|0)+148>>2]=r;a[t+(i*284|0)+152>>2]=0.0;return}function _d(e,t,i,r,o,s,c,l){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;var f=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0;_[e+4>>2]=4;_[e+8>>2]=-1;_[e+12>>2]=-1;a[e+16>>2]=3402823466385288598117041.0e14;n[e+20>>0]=1;n[e+21>>0]=0;_[e+24>>2]=-1;_[e+28>>2]=t;_[e+32>>2]=i;a[e+36>>2]=0.0;a[e+40>>2]=.05000000074505806;_[e+44>>2]=0;_[e>>2]=3728;a[e+688>>2]=0.0;a[e+692>>2]=-1.0;a[e+696>>2]=.8999999761581421;a[e+700>>2]=.30000001192092896;a[e+704>>2]=1.0;a[e+708>>2]=0.0;a[e+712>>2]=0.0;n[e+716>>0]=0;n[e+736>>0]=0;n[e+737>>0]=0;n[e+738>>0]=0;n[e+739>>0]=1;n[e+740>>0]=l&1;_[e+748>>2]=0;_[e+748+4>>2]=0;_[e+748+8>>2]=0;_[e+748+12>>2]=0;_[e+748+16>>2]=0;_[e+600>>2]=_[r>>2];_[e+600+4>>2]=_[r+4>>2];_[e+600+8>>2]=_[r+8>>2];_[e+600+12>>2]=_[r+12>>2];f=+a[t+4>>2];p=+a[t+20>>2];u=+a[t+36>>2];d=+a[s>>2];m=+a[s+4>>2];h=+a[s+8>>2];do{if(!(f*d+p*m+u*h>=.9999998807907104))if(!(f*d+p*m+u*h<=-.9999998807907104)){i=(a[b>>2]=u*m-p*h,_[b>>2]|0);y=(a[b>>2]=f*h-u*d,_[b>>2]|0);r=(a[b>>2]=p*d-f*m,_[b>>2]|0);k=h*(f*h-u*d)-m*(p*d-f*m);S=d*(p*d-f*m)-h*(u*m-p*h);w=m*(u*m-p*h)-d*(f*h-u*d);break}else{i=_[t+8>>2]|0;r=_[t+40>>2]|0;y=_[t+24>>2]|0;k=+a[t+12>>2];S=+a[t+28>>2];w=+a[t+44>>2];break}else{i=_[t+8>>2]|0;r=_[t+40>>2]|0;y=_[t+24>>2]|0;k=-+a[t+12>>2];S=-+a[t+28>>2];w=-+a[t+44>>2]}}while(0);a[e+552>>2]=k;_[e+556>>2]=i;_[e+560>>2]=_[s>>2];a[e+564>>2]=0.0;a[e+568>>2]=S;_[e+572>>2]=y;_[e+576>>2]=_[s+4>>2];a[e+580>>2]=0.0;a[e+584>>2]=w;_[e+588>>2]=r;_[e+592>>2]=_[s+8>>2];a[e+596>>2]=0.0;d=+a[s+4>>2];g=+a[c+8>>2];m=+a[s+8>>2];C=+a[c+4>>2];v=+a[c>>2];f=+a[s>>2];do{if(g*m+(d*C+v*f)<-.9999998807907104)if(+G(+m)>.7071067690849304){p=1.0/+W(+(d*d+m*m));u=-(m*p);h=0.0;p=d*p;f=0.0;break}else{m=1.0/+W(+(d*d+f*f));u=f*m;h=0.0;p=0.0;f=-(d*m);break}else{j=+W(+((g*m+(d*C+v*f)+1.0)*2.0));u=(m*v-g*f)*(1.0/j);h=j*.5;p=(C*f-d*v)*(1.0/j);f=(d*g-m*C)*(1.0/j)}}while(0);x=w*u+k*h-S*p;m=k*p+S*h-w*f;d=S*f+w*h-k*u;R=-(k*f)-S*u-w*p;k=-f;u=-u;w=-p;j=m*w+(R*k+h*x)-d*u;S=d*k+(R*u+h*m)-x*w;k=x*u+(R*w+h*d)-m*k;_[e+664>>2]=_[o>>2];_[e+664+4>>2]=_[o+4>>2];_[e+664+8>>2]=_[o+8>>2];_[e+664+12>>2]=_[o+12>>2];a[e+616>>2]=j;a[e+620>>2]=C*k-g*S;_[e+624>>2]=_[c>>2];a[e+628>>2]=0.0;a[e+632>>2]=S;a[e+636>>2]=g*j-v*k;_[e+640>>2]=_[c+4>>2];a[e+644>>2]=0.0;a[e+648>>2]=k;a[e+652>>2]=v*S-C*j;_[e+656>>2]=_[c+8>>2];a[e+660>>2]=0.0;a[e+732>>2]=l?-1.0:1.0;return}function $d(e,t,i,r,o,s,c,l,f){e=e|0;t=t|0;i=i|0;r=r|0;o=+o;s=s|0;c=c|0;l=l|0;f=f|0;var b=0,p=0,d=0,m=0,h=0.0,y=0.0,g=0.0,C=0.0,v=0,w=0,k=0,S=0,j=0.0,R=0.0,x=0.0,I=0.0,M=0,D=0.0;M=u;u=u+32|0;if(!e){u=M;return}b=_[l+4>>2]|0;if((b|0)<128){if((_[l+8>>2]|0)<128){_[6293]=(_[6293]|0)+1;p=cc(531)|0;if(!p)m=0;else{_[(p+4+15&-16)+-4>>2]=p;m=p+4+15&-16}d=_[l+4>>2]|0;if((d|0)>0){p=0;do{_[m+(p<<2)>>2]=_[(_[l+12>>2]|0)+(p<<2)>>2];p=p+1|0}while((p|0)!=(d|0))}p=_[l+12>>2]|0;if(p|0){if(n[l+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[p+-4>>2]|0)}_[l+12>>2]=0}n[l+16>>0]=1;_[l+12>>2]=m;_[l+8>>2]=128;p=l+12|0}else p=l+12|0;do{_[(_[p>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=128);S=l+8|0}else{p=l+12|0;S=l+8|0}_[l+4>>2]=128;_[_[p>>2]>>2]=e;d=1;b=126;do{w=d+-1|0;m=_[p>>2]|0;k=_[m+(w<<2)>>2]|0;C=+a[k+4>>2]-+a[c+4>>2];y=+a[k+8>>2]-+a[c+8>>2];a[M>>2]=+a[k>>2]-+a[c>>2];a[M+4>>2]=C;a[M+8>>2]=y;a[M+12>>2]=0.0;y=+a[k+20>>2]-+a[s+4>>2];C=+a[k+24>>2]-+a[s+8>>2];a[M+16>>2]=+a[k+16>>2]-+a[s>>2];a[M+20>>2]=y;a[M+24>>2]=C;a[M+28>>2]=0.0;v=_[r>>2]|0;C=+a[t>>2];y=+a[i>>2];g=(+a[M+(v<<4)>>2]-C)*y;C=y*(+a[M+(1-v<<4)>>2]-C);v=_[r+4>>2]|0;y=+a[t+4>>2];D=+a[i+4>>2];h=(+a[M+(v<<4)+4>>2]-y)*D;y=D*(+a[M+(1-v<<4)+4>>2]-y);do{if((!(h>C|g>y)?(R=h>g?h:g,j=y<C?y:C,v=_[r+8>>2]|0,I=+a[t+8>>2],D=+a[i+8>>2],x=(+a[M+(v<<4)+8>>2]-I)*D,I=D*(+a[M+(1-v<<4)+8>>2]-I),!(x>j|R>I)):0)?(I<j?I:j)>0.0?(x>R?x:R)<o:0:0){if(!(_[k+40>>2]|0)){ma[_[(_[f>>2]|0)+12>>2]&127](f,k);d=w;break}if((w|0)>(b|0)){v=_[l+4>>2]|0;if((v|0)<(v<<1|0)){if((_[S>>2]|0)<(v<<1|0)){if(v){_[6293]=(_[6293]|0)+1;b=cc((v<<3|3)+16|0)|0;if(!b)m=0;else{_[(b+4+15&-16)+-4>>2]=b;m=b+4+15&-16}e=_[l+4>>2]|0;if((e|0)>0){b=0;do{_[m+(b<<2)>>2]=_[(_[p>>2]|0)+(b<<2)>>2];b=b+1|0}while((b|0)!=(e|0))}}else m=0;b=_[p>>2]|0;if(b|0){if(n[l+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[b+-4>>2]|0)}_[p>>2]=0}n[l+16>>0]=1;_[p>>2]=m;_[S>>2]=v<<1;b=v}else b=v;do{_[m+(b<<2)>>2]=0;b=b+1|0;m=_[p>>2]|0}while((b|0)!=(v<<1|0))}_[l+4>>2]=v<<1;b=(v<<1)+-2|0}_[m+(w<<2)>>2]=_[k+36>>2];_[(_[p>>2]|0)+(d<<2)>>2]=_[k+40>>2];d=d+1|0}else d=w}while(0)}while((d|0)!=0);u=M;return}function ae(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0,l=0,f=0,p=0,d=0.0,m=0.0,h=0.0,y=0.0,g=0,C=0,v=0,w=0,k=0,S=0.0,j=0,R=0,x=0,I=0,M=0,D=0.0;M=u;u=u+32|0;m=+a[t>>2];o=(a[b>>2]=m,_[b>>2]|0);g=m<999999984306749440.0?o:1566444395;d=+a[t+4>>2];c=(a[b>>2]=d,_[b>>2]|0);C=d<999999984306749440.0?c:1566444395;D=+a[t+8>>2];f=(a[b>>2]=D,_[b>>2]|0);w=D<999999984306749440.0?f:1566444395;h=+a[t+12>>2];S=h<0.0?h:0.0;o=m>-999999984306749440.0?o:-581039253;c=d>-999999984306749440.0?c:-581039253;f=D>-999999984306749440.0?f:-581039253;h=h>0.0?h:0.0;D=+a[t+16>>2];x=D<(_[b>>2]=g,+a[b>>2]);s=(a[b>>2]=D,_[b>>2]|0);g=x?s:g;d=+a[t+20>>2];x=d<(_[b>>2]=C,+a[b>>2]);l=(a[b>>2]=d,_[b>>2]|0);C=x?l:C;m=+a[t+24>>2];x=m<(_[b>>2]=w,+a[b>>2]);p=(a[b>>2]=m,_[b>>2]|0);w=x?p:w;y=+a[t+28>>2];S=y<S?y:S;k=(_[b>>2]=o,+a[b>>2])<D?s:o;v=(_[b>>2]=c,+a[b>>2])<d?l:c;l=(_[b>>2]=f,+a[b>>2])<m?p:f;y=h<y?y:h;D=+a[t+32>>2];x=D<(_[b>>2]=g,+a[b>>2]);o=(a[b>>2]=D,_[b>>2]|0);x=x?o:g;m=+a[t+36>>2];R=m<(_[b>>2]=C,+a[b>>2]);s=(a[b>>2]=m,_[b>>2]|0);R=R?s:C;h=+a[t+40>>2];j=h<(_[b>>2]=w,+a[b>>2]);c=(a[b>>2]=h,_[b>>2]|0);j=j?c:w;d=+a[t+44>>2];S=d<S?d:S;w=(_[b>>2]=k,+a[b>>2])<D?o:k;v=(_[b>>2]=v,+a[b>>2])<m?s:v;C=(_[b>>2]=l,+a[b>>2])<h?c:l;d=y<d?d:y;g=_[e+4>>2]|0;o=_[g+4>>2]|0;if((o|0)==(_[g+8>>2]|0)?(I=o|0?o<<1:1,(o|0)<(I|0)):0){if(!I)p=0;else{_[6293]=(_[6293]|0)+1;o=cc(I<<6|19)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}p=o;o=_[g+4>>2]|0}if((o|0)>0){s=0;do{c=p+(s<<6)|0;l=(_[g+12>>2]|0)+(s<<6)|0;f=c+64|0;do{_[c>>2]=_[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(f|0));s=s+1|0}while((s|0)!=(o|0))}o=_[g+12>>2]|0;if(o|0){if(n[g+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[g+12>>2]=0}n[g+16>>0]=1;_[g+12>>2]=p;_[g+8>>2]=I;o=_[g+4>>2]|0}I=_[g+12>>2]|0;_[I+(o<<6)>>2]=x;_[I+(o<<6)+4>>2]=R;_[I+(o<<6)+8>>2]=j;a[I+(o<<6)+12>>2]=S;_[I+(o<<6)+16>>2]=w;_[I+(o<<6)+20>>2]=v;_[I+(o<<6)+24>>2]=C;a[I+(o<<6)+28>>2]=d;_[I+(o<<6)+32>>2]=-1;_[I+(o<<6)+36>>2]=i;_[I+(o<<6)+40>>2]=r;r=I+(o<<6)+44|0;_[r>>2]=_[M>>2];_[r+4>>2]=_[M+4>>2];_[r+8>>2]=_[M+8>>2];_[r+12>>2]=_[M+12>>2];_[r+16>>2]=_[M+16>>2];_[g+4>>2]=(_[g+4>>2]|0)+1;u=M;return}function be(e,t,i,r){e=e|0;t=t|0;i=i|0;r=+r;var o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0;p=u;u=u+16|0;b=+a[t>>2];s=+a[t+4>>2];c=+a[t+8>>2];l=+a[i>>2];f=+a[i+4>>2];o=+a[i+8>>2];if(!(n[e+232>>0]|0)){j=+a[e+104>>2];w=+a[e+120>>2];I=+a[e+136>>2];S=+a[e+108>>2];C=+a[e+124>>2];x=+a[e+140>>2];k=+a[e+112>>2];y=+a[e+128>>2];R=+a[e+144>>2];T=-+a[e+152>>2];D=-+a[e+156>>2];M=-+a[e+160>>2];W=+a[e+168>>2];G=+a[e+172>>2];h=+a[e+176>>2];H=+a[e+184>>2];O=+a[e+188>>2];m=+a[e+192>>2];v=+a[e+200>>2];g=+a[e+204>>2];d=+a[e+208>>2];h=o*(I*W+x*G+R*h)+(l*(j*W+S*G+k*h)+f*(w*W+C*G+y*h))+(W*(j*T+w*D+I*M)+(S*T+C*D+x*M)*G+(k*T+y*D+R*M)*h+ +a[e+216>>2]);m=o*(I*H+x*O+R*m)+(l*(j*H+S*O+k*m)+f*(w*H+C*O+y*m))+((j*T+w*D+I*M)*H+(S*T+C*D+x*M)*O+(k*T+y*D+R*M)*m+ +a[e+220>>2]);d=(j*T+w*D+I*M)*v+(S*T+C*D+x*M)*g+(k*T+y*D+R*M)*d+ +a[e+224>>2]+(o*(I*v+x*g+R*d)+(l*(j*v+S*g+k*d)+f*(w*v+C*g+y*d)));a[p>>2]=h;a[p+4>>2]=m;b=(b*r+l-h)*+a[t>>2]+(s*r+f-m)*+a[t+4>>2]+(c*r+o-d)*+a[t+8>>2];r=d;i=p+8|0;a[i>>2]=r;i=p+12|0;a[i>>2]=0.0;e=e+36|0;e=_[e>>2]|0;i=_[e>>2]|0;i=i+16|0;i=_[i>>2]|0;Ka[i&15](e,t,p,b);u=p;return}else{j=+a[e+40>>2];I=+a[e+56>>2];w=+a[e+72>>2];R=+a[e+44>>2];D=+a[e+60>>2];k=+a[e+76>>2];x=+a[e+48>>2];W=+a[e+64>>2];S=+a[e+80>>2];g=-+a[e+88>>2];C=-+a[e+92>>2];v=-+a[e+96>>2];d=+a[e+168>>2];m=+a[e+172>>2];O=+a[e+176>>2];h=+a[e+184>>2];y=+a[e+188>>2];H=+a[e+192>>2];M=+a[e+200>>2];T=+a[e+204>>2];G=+a[e+208>>2];O=(c*r+o)*(w*d+k*m+S*O)+((b*r+l)*(j*d+R*m+x*O)+(s*r+f)*(I*d+D*m+W*O))+(d*(j*g+I*C+w*v)+(R*g+D*C+k*v)*m+(x*g+W*C+S*v)*O+ +a[e+216>>2]);H=(c*r+o)*(w*h+k*y+S*H)+((b*r+l)*(j*h+R*y+x*H)+(s*r+f)*(I*h+D*y+W*H))+((j*g+I*C+w*v)*h+(R*g+D*C+k*v)*y+(x*g+W*C+S*v)*H+ +a[e+220>>2]);G=(j*g+I*C+w*v)*M+(R*g+D*C+k*v)*T+(x*g+W*C+S*v)*G+ +a[e+224>>2]+((c*r+o)*(w*M+k*T+S*G)+((b*r+l)*(j*M+R*T+x*G)+(s*r+f)*(I*M+D*T+W*G)));a[p>>2]=O+b*(b*(O-l)+s*(H-f)+c*(G-o));a[p+4>>2]=H+s*(b*(O-l)+s*(H-f)+c*(G-o));W=b*(O-l)+s*(H-f)+c*(G-o);G=G+c*(b*(O-l)+s*(H-f)+c*(G-o));i=p+8|0;a[i>>2]=G;i=p+12|0;a[i>>2]=0.0;e=e+36|0;e=_[e>>2]|0;i=_[e>>2]|0;i=i+16|0;i=_[i>>2]|0;Ka[i&15](e,t,p,W);u=p;return}}function ce(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0;_[e+556>>2]=_[t>>2];_[e+556+4>>2]=_[t+4>>2];_[e+556+8>>2]=_[t+8>>2];_[e+556+12>>2]=_[t+12>>2];m=+a[e+568>>2];c=+a[5660];h=+a[e+560>>2];n=+a[5662];u=+a[e+564>>2];o=+a[5661];d=+a[e+556>>2];s=(c*u+m*o-n*d)*-u+(m*(m*c+h*n-u*o)+(-(c*d)-h*o-n*u)*-d)-(m*n+o*d-c*h)*-h;l=(m*n+o*d-c*h)*-d+(m*(c*u+m*o-n*d)+(-(c*d)-h*o-n*u)*-h)-(m*c+h*n-u*o)*-u;i=(m*c+h*n-u*o)*-h+((-(c*d)-h*o-n*u)*-u+m*(m*n+o*d-c*h))-(c*u+m*o-n*d)*-d;do{if(n*i+(o*l+c*s)<-.9999998807907104)if(+G(+n)>.7071067690849304){i=1.0/+W(+(n*n+o*o));f=-(n*i);r=0.0;i=o*i;n=0.0;break}else{r=1.0/+W(+(c*c+o*o));f=c*r;r=-(o*r);i=0.0;n=0.0;break}else{v=+W(+((n*i+(o*l+c*s)+1.0)*2.0));f=(n*s-c*i)*(1.0/v);r=(o*i-n*l)*(1.0/v);i=(c*l-o*s)*(1.0/v);n=v*.5}}while(0);b=1.0/+W(+(r*r+f*f+i*i+n*n));g=r*b;p=f*b;y=i*b;b=n*b;n=1.0/+W(+((b*m-d*-g-h*-p-u*-y)*(b*m-d*-g-h*-p-u*-y)+((m*-y+b*u+h*-g-d*-p)*(m*-y+b*u+h*-g-d*-p)+((d*b+m*-g+u*-p-h*-y)*(d*b+m*-g+u*-p-h*-y)+(d*-y+(m*-p+b*h)-u*-g)*(d*-y+(m*-p+b*h)-u*-g)))));o=(d*b+m*-g+u*-p-h*-y)*n;v=n*(d*-y+(m*-p+b*h)-u*-g);r=n*(m*-y+b*u+h*-g-d*-p);d=n*(b*m-d*-g-h*-p-u*-y);n=+a[e+444>>2];if(n>=.05000000074505806?(C=+a[e+448>>2],C>=.05000000074505806):0){i=b<-1.0?-1.0:b;i=+L(+(i>1.0?1.0:i))*2.0;if(i>1.1920928955078125e-07){s=1.0/+W(+(y*y+(g*g+p*p)));if(+G(+(p*s))>1.1920928955078125e-07){l=g*s;c=p*s;f=y*s;n=+W(+((y*s*y*s/(p*s*p*s)+1.0)/(1.0/(C*C)+y*s*y*s/(p*s*p*s)/(n*n))))}else{l=g*s;c=p*s;f=y*s}}else{l=0.0;c=0.0;f=0.0;n=0.0}if(+G(+i)>1.1920928955078125e-07){if(!(i>n)){n=-n;if(i<n)i=n}else i=n;b=i*.5;C=+P(+b)/+W(+(l*l+c*c+f*f));p=c*C;b=+A(+b);u=l*C;f=f*C}else{u=g;f=y}}else{u=g;f=y}l=+a[e+452>>2];if(l>=.05000000074505806){i=d<-1.0?-1.0:d;i=+L(+(i>1.0?1.0:i))*2.0;if(i>3.1415927410125732){i=-d<-1.0?-1.0:-d;i=+L(+(i>1.0?1.0:i))*2.0;n=-o;s=-v;c=-r}else{n=o;s=v;c=r}if(i>1.1920928955078125e-07){C=1.0/+W(+(n*n+s*s+c*c));n=n*C;s=s*C;c=c*C}if(+G(+i)>1.1920928955078125e-07){if(!(i>l)){if(i<-l)i=-l}else i=l;v=i*.5;i=+P(+v)/+W(+(c*c+(s*s+n*n)));o=n*i;r=c*i;n=+A(+v);i=s*i}else{n=d;i=v}}else{n=d;i=v}a[e+556>>2]=p*r+(b*o+u*n)-f*i;a[e+560>>2]=f*o+(b*i+p*n)-u*r;a[e+564>>2]=u*i+(b*r+f*n)-p*o;a[e+568>>2]=b*n-u*o-p*i-f*r;return}function de(e,t){e=e|0;t=+t;var i=0,r=0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0,d=0,m=0,h=0,y=0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0;h=u;u=u+32|0;i=_[e+128>>2]|0;if((i|0)>0){r=0;do{Zd(_[e+108>>2]|0,_[e+136>>2]|0,r,0);r=r+1|0;i=_[e+128>>2]|0}while((r|0)<(i|0))}m=_[e+108>>2]|0;f=+a[m+372>>2];b=+a[m+376>>2];o=+a[m+380>>2];o=+W(+(f*f+b*b+o*o))*3.5999999046325684;a[e+104>>2]=o;d=_[e+120>>2]|0;if(+a[m+4+(d<<2)>>2]*+a[m+372>>2]+ +a[m+20+(d<<2)>>2]*+a[m+376>>2]+ +a[m+36+(d<<2)>>2]*+a[m+380>>2]<0.0)a[e+104>>2]=-o;if((i|0)>0){i=0;do{+Re(e,(_[e+136>>2]|0)+(i*284|0)|0);i=i+1|0;r=_[e+128>>2]|0}while((i|0)<(r|0));s=1.0/+a[(_[e+108>>2]|0)+404>>2];if((r|0)>0){r=0;do{i=_[e+136>>2]|0;if(!(n[i+(r*284|0)+84>>0]|0))o=0.0;else{o=+a[i+(r*284|0)+272>>2];o=s*(+a[i+(r*284|0)+216>>2]*(+a[i+(r*284|0)+204>>2]-+a[i+(r*284|0)+32>>2])*+a[i+(r*284|0)+268>>2]-o*+a[(o<0.0?i+(r*284|0)+220|0:i+(r*284|0)+224|0)>>2]);o=o<0.0?0.0:o}a[i+(r*284|0)+276>>2]=o;r=r+1|0;i=_[e+128>>2]|0}while((r|0)<(i|0));if((i|0)>0){i=0;do{d=_[e+136>>2]|0;l=+a[d+(i*284|0)+276>>2];b=+a[d+(i*284|0)+248>>2];l=l>b?b:l;b=l*+a[d+(i*284|0)+4>>2]*t;f=l*+a[d+(i*284|0)+8>>2]*t;a[h+16>>2]=+a[d+(i*284|0)>>2]*l*t;a[h+16+4>>2]=b;a[h+16+8>>2]=f;a[h+16+12>>2]=0.0;m=_[e+108>>2]|0;f=+a[d+(i*284|0)+20>>2]-+a[m+56>>2];b=+a[d+(i*284|0)+24>>2]-+a[m+60>>2];a[h>>2]=+a[d+(i*284|0)+16>>2]-+a[m+52>>2];a[h+4>>2]=f;a[h+8>>2]=b;a[h+12>>2]=0.0;jk(m,h+16|0,h);i=i+1|0}while((i|0)<(_[e+128>>2]|0))}}}pa[_[(_[e>>2]|0)+20>>2]&31](e,t);p=_[e+128>>2]|0;if((p|0)<=0){u=h;return}d=_[e+136>>2]|0;m=_[e+108>>2]|0;r=0;do{o=+a[d+(r*284|0)+36>>2]-+a[m+52>>2];s=+a[d+(r*284|0)+40>>2]-+a[m+56>>2];c=+a[d+(r*284|0)+44>>2]-+a[m+60>>2];l=+a[m+392>>2];f=+a[m+396>>2];b=+a[m+388>>2];if(!(n[d+(r*284|0)+84>>0]|0)){y=d+(r*284|0)+240|0;i=y;o=+a[y>>2]}else{i=_[e+120>>2]|0;S=+a[m+4+(i<<2)>>2];w=+a[m+20+(i<<2)>>2];C=+a[m+36+(i<<2)>>2];k=+a[d+(r*284|0)>>2];v=+a[d+(r*284|0)+4>>2];g=+a[d+(r*284|0)+8>>2];o=((s*b-o*l+ +a[m+380>>2])*(C-g*(S*k+w*v+C*g))+((l*c-s*f+ +a[m+372>>2])*(S-k*(S*k+w*v+C*g))+(o*f-c*b+ +a[m+376>>2])*(w-v*(S*k+w*v+C*g))))*t/+a[d+(r*284|0)+212>>2];i=d+(r*284|0)+240|0;a[i>>2]=o}y=d+(r*284|0)+236|0;a[y>>2]=o+ +a[y>>2];a[i>>2]=o*.9900000095367432;r=r+1|0}while((r|0)!=(p|0));u=h;return}function ee(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0,O=0.0,H=0.0,G=0.0;i=u;u=u+96|0;l=+a[t>>2];f=+a[e+28>>2];b=+a[t+4>>2];p=+a[e+32>>2];d=+a[t+8>>2];m=+a[e+36>>2];h=+a[e+44>>2];y=+a[e+48>>2];g=+a[e+52>>2];C=+a[e+60>>2];v=+a[e+64>>2];w=+a[e+68>>2];k=+a[e+76>>2];S=+a[e+80>>2];j=+a[e+84>>2];a[i+80>>2]=l*f+b*p+d*m+k;a[i+80+4>>2]=l*h+b*y+d*g+S;a[i+80+8>>2]=l*C+b*v+d*w+j;a[i+80+12>>2]=0.0;R=+a[t+16>>2];x=+a[t+20>>2];I=+a[t+24>>2];a[i+64>>2]=R*f+x*p+I*m+k;a[i+64+4>>2]=R*h+x*y+I*g+S;a[i+64+8>>2]=R*C+x*v+I*w+j;a[i+64+12>>2]=0.0;M=+a[t+32>>2];D=+a[t+36>>2];c=+a[t+40>>2];a[i+48>>2]=M*f+D*p+c*m+k;a[i+48+4>>2]=M*h+D*y+c*g+S;a[i+48+8>>2]=M*C+D*v+c*w+j;a[i+48+12>>2]=0.0;r=(l*f+b*p+d*m+k+(R*f+x*p+I*m+k)+(M*f+D*p+c*m+k))*.3333333432674408;o=(l*h+b*y+d*g+S+(R*h+x*y+I*g+S)+(M*h+D*y+c*g+S))*.3333333432674408;s=(l*C+b*v+d*w+j+(R*C+x*v+I*w+j)+(M*C+D*v+c*w+j))*.3333333432674408;a[i+32>>2]=r;a[i+32+4>>2]=o;a[i+32+8>>2]=s;a[i+32+12>>2]=0.0;t=_[e+8>>2]|0;if(!((ya[_[(_[t>>2]|0)+56>>2]&127](t)|0)&16384)){n=_[e+8>>2]|0;T=_[n>>2]|0;T=T+16|0;T=_[T>>2]|0;t=e+12|0;$a[T&127](n,i+80|0,i+64|0,t);n=_[e+8>>2]|0;T=_[n>>2]|0;T=T+16|0;T=_[T>>2]|0;$a[T&127](n,i+64|0,i+48|0,t);e=_[e+8>>2]|0;n=_[e>>2]|0;n=n+16|0;n=_[n>>2]|0;$a[n&127](e,i+48|0,i+80|0,t);u=i;return}G=+a[i+80>>2];H=R*h+x*y+I*g+S-(l*h+b*y+d*g+S);O=R*C+x*v+I*w+j-(l*C+b*v+d*w+j);S=M*h+D*y+c*g+S-(l*h+b*y+d*g+S);w=M*C+D*v+c*w+j-(l*C+b*v+d*w+j);j=O*(M*f+D*p+c*m+k-G)-(R*f+x*p+I*m+k-G)*w;D=(R*f+x*p+I*m+k-G)*S-H*(M*f+D*p+c*m+k-G);M=1.0/+W(+(D*D+((H*w-O*S)*(H*w-O*S)+j*j)));_[i+16>>2]=1065353216;_[i+16+4>>2]=1065353216;_[i+16+8>>2]=0;a[i+16+12>>2]=0.0;t=_[e+8>>2]|0;n=_[(_[t>>2]|0)+16>>2]|0;a[i>>2]=M*(H*w-O*S)+r;a[i+4>>2]=M*j+o;a[i+8>>2]=M*D+s;a[i+12>>2]=0.0;$a[n&127](t,i+32|0,i,i+16|0);t=_[e+8>>2]|0;n=_[t>>2]|0;n=n+16|0;n=_[n>>2]|0;T=e+12|0;$a[n&127](t,i+80|0,i+64|0,T);t=_[e+8>>2]|0;n=_[t>>2]|0;n=n+16|0;n=_[n>>2]|0;$a[n&127](t,i+64|0,i+48|0,T);e=_[e+8>>2]|0;t=_[e>>2]|0;t=t+16|0;t=_[t>>2]|0;$a[t&127](e,i+48|0,i+80|0,T);u=i;return}function fe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;switch(_[e+96>>2]|0){case 2:{_[i>>2]=_[e+100>>2];_[i+4>>2]=_[e+100+4>>2];_[i+8>>2]=_[e+100+8>>2];_[i+12>>2]=_[e+100+12>>2];_[n>>2]=_[e+116>>2];_[n+4>>2]=_[e+116+4>>2];_[n+8>>2]=_[e+116+8>>2];_[n+12>>2]=_[e+116+12>>2];return}case 3:switch(t|0){case 0:{_[i>>2]=_[e+100>>2];_[i+4>>2]=_[e+100+4>>2];_[i+8>>2]=_[e+100+8>>2];_[i+12>>2]=_[e+100+12>>2];_[n>>2]=_[e+116>>2];_[n+4>>2]=_[e+116+4>>2];_[n+8>>2]=_[e+116+8>>2];_[n+12>>2]=_[e+116+12>>2];return}case 1:{_[i>>2]=_[e+116>>2];_[i+4>>2]=_[e+116+4>>2];_[i+8>>2]=_[e+116+8>>2];_[i+12>>2]=_[e+116+12>>2];_[n>>2]=_[e+132>>2];_[n+4>>2]=_[e+132+4>>2];_[n+8>>2]=_[e+132+8>>2];_[n+12>>2]=_[e+132+12>>2];return}case 2:{_[i>>2]=_[e+132>>2];_[i+4>>2]=_[e+132+4>>2];_[i+8>>2]=_[e+132+8>>2];_[i+12>>2]=_[e+132+12>>2];_[n>>2]=_[e+100>>2];_[n+4>>2]=_[e+100+4>>2];_[n+8>>2]=_[e+100+8>>2];_[n+12>>2]=_[e+100+12>>2];return}default:return}case 4:switch(t|0){case 0:{_[i>>2]=_[e+100>>2];_[i+4>>2]=_[e+100+4>>2];_[i+8>>2]=_[e+100+8>>2];_[i+12>>2]=_[e+100+12>>2];_[n>>2]=_[e+116>>2];_[n+4>>2]=_[e+116+4>>2];_[n+8>>2]=_[e+116+8>>2];_[n+12>>2]=_[e+116+12>>2];return}case 1:{_[i>>2]=_[e+116>>2];_[i+4>>2]=_[e+116+4>>2];_[i+8>>2]=_[e+116+8>>2];_[i+12>>2]=_[e+116+12>>2];_[n>>2]=_[e+132>>2];_[n+4>>2]=_[e+132+4>>2];_[n+8>>2]=_[e+132+8>>2];_[n+12>>2]=_[e+132+12>>2];return}case 2:{_[i>>2]=_[e+132>>2];_[i+4>>2]=_[e+132+4>>2];_[i+8>>2]=_[e+132+8>>2];_[i+12>>2]=_[e+132+12>>2];_[n>>2]=_[e+100>>2];_[n+4>>2]=_[e+100+4>>2];_[n+8>>2]=_[e+100+8>>2];_[n+12>>2]=_[e+100+12>>2];return}case 3:{_[i>>2]=_[e+100>>2];_[i+4>>2]=_[e+100+4>>2];_[i+8>>2]=_[e+100+8>>2];_[i+12>>2]=_[e+100+12>>2];_[n>>2]=_[e+148>>2];_[n+4>>2]=_[e+148+4>>2];_[n+8>>2]=_[e+148+8>>2];_[n+12>>2]=_[e+148+12>>2];return}case 4:{_[i>>2]=_[e+116>>2];_[i+4>>2]=_[e+116+4>>2];_[i+8>>2]=_[e+116+8>>2];_[i+12>>2]=_[e+116+12>>2];_[n>>2]=_[e+148>>2];_[n+4>>2]=_[e+148+4>>2];_[n+8>>2]=_[e+148+8>>2];_[n+12>>2]=_[e+148+12>>2];return}case 5:{_[i>>2]=_[e+132>>2];_[i+4>>2]=_[e+132+4>>2];_[i+8>>2]=_[e+132+8>>2];_[i+12>>2]=_[e+132+12>>2];_[n>>2]=_[e+148>>2];_[n+4>>2]=_[e+148+4>>2];_[n+8>>2]=_[e+148+8>>2];_[n+12>>2]=_[e+148+12>>2];return}default:return}default:return}}function ge(e,t,i,r,o,s){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;_[e+4>>2]=6;_[e+8>>2]=-1;_[e+12>>2]=-1;a[e+16>>2]=3402823466385288598117041.0e14;n[e+20>>0]=1;n[e+21>>0]=0;_[e+24>>2]=-1;_[e+28>>2]=t;_[e+32>>2]=i;a[e+36>>2]=0.0;a[e+40>>2]=.05000000074505806;_[e+44>>2]=0;_[e>>2]=3540;_[e+48>>2]=_[r>>2];_[e+48+4>>2]=_[r+4>>2];_[e+48+8>>2]=_[r+8>>2];_[e+48+12>>2]=_[r+12>>2];_[e+64>>2]=_[r+16>>2];_[e+64+4>>2]=_[r+16+4>>2];_[e+64+8>>2]=_[r+16+8>>2];_[e+64+12>>2]=_[r+16+12>>2];_[e+80>>2]=_[r+32>>2];_[e+80+4>>2]=_[r+32+4>>2];_[e+80+8>>2]=_[r+32+8>>2];_[e+80+12>>2]=_[r+32+12>>2];_[e+96>>2]=_[r+48>>2];_[e+96+4>>2]=_[r+48+4>>2];_[e+96+8>>2]=_[r+48+8>>2];_[e+96+12>>2]=_[r+48+12>>2];_[e+112>>2]=_[o>>2];_[e+112+4>>2]=_[o+4>>2];_[e+112+8>>2]=_[o+8>>2];_[e+112+12>>2]=_[o+12>>2];_[e+128>>2]=_[o+16>>2];_[e+128+4>>2]=_[o+16+4>>2];_[e+128+8>>2]=_[o+16+8>>2];_[e+128+12>>2]=_[o+16+12>>2];_[e+144>>2]=_[o+32>>2];_[e+144+4>>2]=_[o+32+4>>2];_[e+144+8>>2]=_[o+32+8>>2];_[e+144+12>>2]=_[o+32+12>>2];_[e+160>>2]=_[o+48>>2];_[e+160+4>>2]=_[o+48+4>>2];_[e+160+8>>2]=_[o+48+8>>2];_[e+160+12>>2]=_[o+48+12>>2];t=e+680|0;i=t+48|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(i|0));_[e+740>>2]=0;_[e+740+4>>2]=0;_[e+740+8>>2]=0;_[e+740+12>>2]=0;_[e+756>>2]=1045220557;_[e+760>>2]=1045220557;_[e+764>>2]=1045220557;_[e+768>>2]=0;_[e+768+4>>2]=0;_[e+768+8>>2]=0;_[e+768+12>>2]=0;_[e+768+16>>2]=0;a[e+728>>2]=.699999988079071;a[e+732>>2]=1.0;a[e+736>>2]=.5;n[e+788>>0]=0;a[e+792>>2]=0.0;a[e+808>>2]=0.0;n[e+789>>0]=0;a[e+796>>2]=0.0;a[e+812>>2]=0.0;n[e+790>>0]=0;a[e+800>>2]=0.0;a[e+816>>2]=0.0;a[e+928>>2]=0.0;a[e+876>>2]=0.0;a[e+880>>2]=.10000000149011612;a[e+884>>2]=300.0;a[e+868>>2]=1.0;a[e+872>>2]=-1.0;a[e+896>>2]=0.0;a[e+900>>2]=.20000000298023224;a[e+904>>2]=0.0;a[e+908>>2]=0.0;a[e+888>>2]=1.0;a[e+892>>2]=.5;_[e+924>>2]=0;a[e+916>>2]=0.0;n[e+912>>0]=0;a[e+992>>2]=0.0;a[e+940>>2]=0.0;a[e+944>>2]=.10000000149011612;a[e+948>>2]=300.0;a[e+932>>2]=1.0;a[e+936>>2]=-1.0;a[e+960>>2]=0.0;a[e+964>>2]=.20000000298023224;a[e+968>>2]=0.0;a[e+972>>2]=0.0;a[e+952>>2]=1.0;a[e+956>>2]=.5;_[e+988>>2]=0;a[e+980>>2]=0.0;n[e+976>>0]=0;a[e+1056>>2]=0.0;a[e+1004>>2]=0.0;a[e+1008>>2]=.10000000149011612;a[e+1012>>2]=300.0;a[e+996>>2]=1.0;a[e+1e3>>2]=-1.0;a[e+1024>>2]=0.0;a[e+1028>>2]=.20000000298023224;a[e+1032>>2]=0.0;a[e+1036>>2]=0.0;a[e+1016>>2]=1.0;a[e+1020>>2]=.5;_[e+1052>>2]=0;a[e+1044>>2]=0.0;n[e+1040>>0]=0;n[e+1300>>0]=s&1;n[e+1301>>0]=1;_[e+1304>>2]=0;n[e+1308>>0]=0;Xc(e,(_[e+28>>2]|0)+4|0,(_[e+32>>2]|0)+4|0);return}function he(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,s=0,c=0,a=0,l=0;_[t+16>>2]=_[e+20>>2];_[t+20>>2]=_[e+24>>2];_[t+24>>2]=_[e+28>>2];_[t+28>>2]=_[e+32>>2];_[t>>2]=_[e+4>>2];_[t+4>>2]=_[e+8>>2];_[t+8>>2]=_[e+12>>2];_[t+12>>2]=_[e+16>>2];_[t+32>>2]=_[e+36>>2];_[t+36>>2]=_[e+40>>2];_[t+40>>2]=_[e+44>>2];_[t+44>>2]=_[e+48>>2];_[t+48>>2]=_[e+56>>2];_[t+52>>2]=o[e+60>>0];l=_[e+88>>2]|0;_[t+56>>2]=l;if(l){l=Pa[_[(_[i>>2]|0)+28>>2]&31](i,_[e+96>>2]|0)|0;_[t+64>>2]=l;if(l|0){c=_[e+88>>2]|0;a=xa[_[(_[i>>2]|0)+16>>2]&63](i,48,c)|0;if((c|0)>0){n=_[a+8>>2]|0;s=0;while(1){l=_[e+96>>2]|0;_[n+16>>2]=_[l+(s<<6)+16>>2];_[n+20>>2]=_[l+(s<<6)+20>>2];_[n+24>>2]=_[l+(s<<6)+24>>2];_[n+28>>2]=_[l+(s<<6)+28>>2];_[n>>2]=_[l+(s<<6)>>2];_[n+4>>2]=_[l+(s<<6)+4>>2];_[n+8>>2]=_[l+(s<<6)+8>>2];_[n+12>>2]=_[l+(s<<6)+12>>2];_[n+32>>2]=_[l+(s<<6)+32>>2];_[n+36>>2]=_[l+(s<<6)+36>>2];_[n+40>>2]=_[l+(s<<6)+40>>2];_[n+44>>2]=0;s=s+1|0;if((s|0)==(c|0))break;else n=n+48|0}}ba[_[(_[i>>2]|0)+20>>2]&31](i,a,17993,1497453121,_[e+96>>2]|0)}}else _[t+64>>2]=0;l=_[e+128>>2]|0;_[t+60>>2]=l;if(l){l=Pa[_[(_[i>>2]|0)+28>>2]&31](i,_[e+136>>2]|0)|0;_[t+68>>2]=l;if(l|0){a=_[e+128>>2]|0;l=xa[_[(_[i>>2]|0)+16>>2]&63](i,16,a)|0;if((a|0)>0){n=_[e+136>>2]|0;s=_[l+8>>2]|0;c=0;while(1){_[s+12>>2]=_[n+(c<<4)+12>>2];r[s+6>>1]=r[n+(c<<4)+6>>1]|0;r[s+8>>1]=r[n+(c<<4)+8>>1]|0;r[s+10>>1]=r[n+(c<<4)+10>>1]|0;r[s>>1]=r[n+(c<<4)>>1]|0;r[s+2>>1]=r[n+(c<<4)+2>>1]|0;r[s+4>>1]=r[n+(c<<4)+4>>1]|0;c=c+1|0;if((c|0)==(a|0))break;else s=s+16|0}}else n=_[e+136>>2]|0;ba[_[(_[i>>2]|0)+20>>2]&31](i,l,18016,1497453121,n)}}else _[t+68>>2]=0;_[t+76>>2]=_[e+144>>2];l=_[e+152>>2]|0;_[t+80>>2]=l;if(!l){_[t+72>>2]=0;return 18060}l=Pa[_[(_[i>>2]|0)+28>>2]&31](i,_[e+160>>2]|0)|0;_[t+72>>2]=l;if(!l)return 18060;a=_[e+152>>2]|0;l=xa[_[(_[i>>2]|0)+16>>2]&63](i,20,a)|0;if((a|0)>0){n=_[e+160>>2]|0;s=_[l+8>>2]|0;c=0;while(1){r[s+14>>1]=r[n+(c<<5)+6>>1]|0;r[s+16>>1]=r[n+(c<<5)+8>>1]|0;r[s+18>>1]=r[n+(c<<5)+10>>1]|0;r[s+8>>1]=r[n+(c<<5)>>1]|0;r[s+10>>1]=r[n+(c<<5)+2>>1]|0;r[s+12>>1]=r[n+(c<<5)+4>>1]|0;_[s>>2]=_[n+(c<<5)+12>>2];_[s+4>>2]=_[n+(c<<5)+16>>2];c=c+1|0;if((c|0)==(a|0))break;else s=s+20|0}}else n=_[e+160>>2]|0;ba[_[(_[i>>2]|0)+20>>2]&31](i,l,18039,1497453121,n);return 18060}function ie(e,t,i){e=e|0;t=t|0;i=+i;var n=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0,b=0;if(!t)t=0;else t=(_[t+252>>2]&2|0)==0?0:t;_[e+64>>2]=0;_[e+64+4>>2]=0;_[e+64+8>>2]=0;_[e+64+12>>2]=0;_[e+64+16>>2]=0;_[e+64+20>>2]=0;_[e+64+24>>2]=0;_[e+64+28>>2]=0;_[e+144>>2]=0;_[e+144+4>>2]=0;_[e+144+8>>2]=0;_[e+144+12>>2]=0;_[e+144+16>>2]=0;_[e+144+20>>2]=0;_[e+144+24>>2]=0;_[e+144+28>>2]=0;if(!t){_[e>>2]=1065353216;_[e+4>>2]=0;_[e+4+4>>2]=0;_[e+4+8>>2]=0;_[e+4+12>>2]=0;_[e+20>>2]=1065353216;_[e+24>>2]=0;_[e+24+4>>2]=0;_[e+24+8>>2]=0;_[e+24+12>>2]=0;_[e+40>>2]=1065353216;_[e+44>>2]=0;_[e+44+4>>2]=0;_[e+44+8>>2]=0;_[e+44+12>>2]=0;_[e+44+16>>2]=0;_[e+240>>2]=0;_[e+128>>2]=0;_[e+128+4>>2]=0;_[e+128+8>>2]=0;_[e+128+12>>2]=0;_[e+96>>2]=1065353216;_[e+100>>2]=1065353216;_[e+104>>2]=1065353216;a[e+108>>2]=0.0;_[e+112>>2]=1065353216;_[e+116>>2]=1065353216;_[e+120>>2]=1065353216;a[e+124>>2]=0.0;t=e+176|0;n=t+60|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(n|0));e=e+236|0;a[e>>2]=0.0;return}else{n=t+4|0;_[e>>2]=_[n>>2];_[e+4>>2]=_[n+4>>2];_[e+8>>2]=_[n+8>>2];_[e+12>>2]=_[n+12>>2];n=t+20|0;_[e+16>>2]=_[n>>2];_[e+16+4>>2]=_[n+4>>2];_[e+16+8>>2]=_[n+8>>2];_[e+16+12>>2]=_[n+12>>2];n=t+36|0;_[e+32>>2]=_[n>>2];_[e+32+4>>2]=_[n+4>>2];_[e+32+8>>2]=_[n+8>>2];_[e+32+12>>2]=_[n+12>>2];n=t+52|0;_[e+48>>2]=_[n>>2];_[e+48+4>>2]=_[n+4>>2];_[e+48+8>>2]=_[n+8>>2];_[e+48+12>>2]=_[n+12>>2];n=t+404|0;l=+a[n>>2];f=t+408|0;c=l*+a[t+412>>2];s=l*+a[t+416>>2];a[e+128>>2]=l*+a[f>>2];a[e+132>>2]=c;a[e+136>>2]=s;a[e+140>>2]=0.0;_[e+240>>2]=t;b=t+604|0;_[e+96>>2]=_[b>>2];_[e+96+4>>2]=_[b+4>>2];_[e+96+8>>2]=_[b+8>>2];_[e+96+12>>2]=_[b+12>>2];_[e+112>>2]=_[f>>2];_[e+112+4>>2]=_[f+4>>2];_[e+112+8>>2]=_[f+8>>2];_[e+112+12>>2]=_[f+12>>2];f=t+372|0;_[e+176>>2]=_[f>>2];_[e+176+4>>2]=_[f+4>>2];_[e+176+8>>2]=_[f+8>>2];_[e+176+12>>2]=_[f+12>>2];f=t+388|0;_[e+192>>2]=_[f>>2];_[e+192+4>>2]=_[f+4>>2];_[e+192+8>>2]=_[f+8>>2];_[e+192+12>>2]=_[f+12>>2];s=+a[n>>2];c=s*+a[t+476>>2]*i;l=s*+a[t+480>>2]*i;a[e+208>>2]=s*+a[t+472>>2]*i;a[e+212>>2]=c;a[e+216>>2]=l;a[e+220>>2]=0.0;l=+a[t+488>>2];c=+a[t+492>>2];s=+a[t+496>>2];o=(l*+a[t+328>>2]+c*+a[t+344>>2]+s*+a[t+360>>2])*i;r=(l*+a[t+332>>2]+c*+a[t+348>>2]+s*+a[t+364>>2])*i;a[e+224>>2]=(+a[t+324>>2]*l+ +a[t+340>>2]*c+ +a[t+356>>2]*s)*i;a[e+228>>2]=o;a[e+232>>2]=r;e=e+236|0;a[e>>2]=0.0;return}}function je(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,s=0.0,c=0,l=0,f=0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,F=0.0,A=0.0,P=0,B=0;P=u;u=u+64|0;_[P+48>>2]=e;_[P+48+4>>2]=t;_[P+48+8>>2]=i;A=+a[e>>2];j=+a[t>>2];R=+a[e+4>>2];x=+a[t+4>>2];I=+a[e+8>>2];M=+a[t+8>>2];a[P>>2]=A-j;a[P+4>>2]=R-x;a[P+8>>2]=I-M;a[P+12>>2]=0.0;D=+a[i>>2];T=+a[i+4>>2];O=+a[i+8>>2];a[P+16>>2]=j-D;a[P+20>>2]=x-T;a[P+24>>2]=M-O;a[P+28>>2]=0.0;a[P+32>>2]=D-A;a[P+36>>2]=T-R;a[P+40>>2]=O-I;a[P+44>>2]=0.0;H=(R-x)*(M-O)-(I-M)*(x-T);G=(I-M)*(j-D)-(M-O)*(A-j);F=(x-T)*(A-j)-(R-x)*(j-D);if(F*F+(H*H+G*G)>0.0){c=0;k=-1.0;S=0;l=0;o=0;p=R-x;d=I-M;s=A-j;C=A;v=R;w=I}else{A=-1.0;u=P;return+A}while(1){if(C*(F*p-G*d)+v*(H*d-F*s)+(G*s-H*p)*w>0.0){f=_[9668+(S<<2)>>2]|0;B=_[P+48+(f<<2)>>2]|0;h=+a[B>>2];s=h-C;y=+a[B+4>>2];d=y-v;g=+a[B+8>>2];m=g-w;do{if(s*s+d*d+m*m>0.0){p=-(C*s+v*d+w*m)/(s*s+d*d+m*m);if(p>=1.0){c=2;s=h*h+y*y+g*g;l=0;o=1065353216;break}if(!(p<=0.0)){o=(a[b>>2]=p,_[b>>2]|0);C=C+s*p;s=v+d*p;w=w+m*p;c=3;s=w*w+(C*C+s*s);l=(a[b>>2]=1.0-p,_[b>>2]|0);break}else{c=1;s=C*C+v*v+w*w;l=1065353216;o=0;break}}else s=-1.0}while(0);if(k<0.0|s<k){_[r>>2]=(c&1|0?1<<S:0)+(c&2|0?1<<f:0);_[n+(S<<2)>>2]=l;_[n+(f<<2)>>2]=o;a[n+(_[9668+(f<<2)>>2]<<2)>>2]=0.0}else s=k}else s=k;f=S+1|0;if((f|0)==3)break;B=_[P+48+(f<<2)>>2]|0;k=s;S=f;p=+a[P+(f<<4)+4>>2];d=+a[P+(f<<4)+8>>2];s=+a[P+(f<<4)>>2];C=+a[B>>2];v=+a[B+4>>2];w=+a[B+8>>2]}if(!(s<0.0)){A=s;u=P;return+A}w=+W(+(F*F+(H*H+G*G)));k=(H*+a[e>>2]+G*+a[e+4>>2]+F*+a[e+8>>2])/(F*F+(H*H+G*G));_[r>>2]=7;C=+a[t>>2]-H*k;g=+a[t+4>>2]-G*k;v=+a[t+8>>2]-F*k;M=+W(+((g*(j-D)-C*(x-T))*(g*(j-D)-C*(x-T))+(((x-T)*v-g*(M-O))*((x-T)*v-g*(M-O))+(C*(M-O)-v*(j-D))*(C*(M-O)-v*(j-D)))))/w;a[n>>2]=M;j=+a[i>>2]-H*k;v=+a[i+4>>2]-G*k;x=+a[i+8>>2]-F*k;A=+W(+((v*(D-A)-j*(T-R))*(v*(D-A)-j*(T-R))+(((T-R)*x-v*(O-I))*((T-R)*x-v*(O-I))+(j*(O-I)-x*(D-A))*(j*(O-I)-x*(D-A)))))/w;a[n+4>>2]=A;a[n+8>>2]=1.0-(A+M);A=F*k*F*k+(H*k*H*k+G*k*G*k);u=P;return+A}function ke(e){e=e|0;var t=0,i=0,n=0,r=0,o=0,s=0.0,c=0.0,l=0.0,f=0.0,p=0.0,d=0.0,m=0.0,h=0,y=0,g=0,C=0,v=0,w=0,k=0,S=0,j=0,R=0,x=0,I=0,M=0,D=0,T=0,O=0,H=0,G=0;i=u;u=u+144|0;a[e+36>>2]=0.0;_[i+128>>2]=0;_[i+128+4>>2]=0;_[i+128+8>>2]=0;_[i+128+12>>2]=0;t=0;do{n=i+128+(t<<2)|0;a[n>>2]=1.0;R=_[e+28>>2]|0;G=_[R+4>>2]|0;_[i+80>>2]=G;T=_[R+20>>2]|0;_[i+80+4>>2]=T;I=_[R+36>>2]|0;_[i+80+8>>2]=I;a[i+80+12>>2]=0.0;H=_[R+8>>2]|0;_[i+80+16>>2]=H;D=_[R+24>>2]|0;_[i+80+20>>2]=D;x=_[R+40>>2]|0;_[i+80+24>>2]=x;a[i+80+28>>2]=0.0;O=_[R+12>>2]|0;_[i+80+32>>2]=O;M=_[R+28>>2]|0;_[i+80+36>>2]=M;j=_[R+44>>2]|0;_[i+80+40>>2]=j;a[i+80+44>>2]=0.0;r=_[e+32>>2]|0;S=_[r+4>>2]|0;_[i+32>>2]=S;v=_[r+20>>2]|0;_[i+32+4>>2]=v;y=_[r+36>>2]|0;_[i+32+8>>2]=y;a[i+32+12>>2]=0.0;k=_[r+8>>2]|0;_[i+32+16>>2]=k;C=_[r+24>>2]|0;_[i+32+20>>2]=C;h=_[r+40>>2]|0;_[i+32+24>>2]=h;a[i+32+28>>2]=0.0;w=_[r+12>>2]|0;_[i+32+32>>2]=w;g=_[r+28>>2]|0;_[i+32+36>>2]=g;o=_[r+44>>2]|0;_[i+32+40>>2]=o;a[i+32+44>>2]=0.0;d=+a[e+300>>2];l=d*(_[b>>2]=G,+a[b>>2]);s=+a[e+304>>2];l=l+s*(_[b>>2]=H,+a[b>>2]);c=+a[e+308>>2];l=l+c*(_[b>>2]=O,+a[b>>2]);m=d*(_[b>>2]=T,+a[b>>2]);m=m+s*(_[b>>2]=D,+a[b>>2]);m=m+c*(_[b>>2]=M,+a[b>>2]);d=d*(_[b>>2]=I,+a[b>>2]);s=d+s*(_[b>>2]=x,+a[b>>2]);d=+a[R+52>>2];p=+a[R+56>>2];f=+a[R+60>>2];f=s+c*(_[b>>2]=j,+a[b>>2])+f-f;a[i+16>>2]=l+d-d;a[i+16+4>>2]=m+p-p;a[i+16+8>>2]=f;a[i+16+12>>2]=0.0;f=+a[e+316>>2];p=f*(_[b>>2]=S,+a[b>>2]);m=+a[e+320>>2];p=p+m*(_[b>>2]=k,+a[b>>2]);d=+a[e+324>>2];p=p+d*(_[b>>2]=w,+a[b>>2]);l=f*(_[b>>2]=v,+a[b>>2]);l=l+m*(_[b>>2]=C,+a[b>>2]);l=l+d*(_[b>>2]=g,+a[b>>2]);f=f*(_[b>>2]=y,+a[b>>2]);m=f+m*(_[b>>2]=h,+a[b>>2]);f=+a[r+52>>2];c=+a[r+56>>2];s=+a[r+60>>2];s=m+d*(_[b>>2]=o,+a[b>>2])+s-s;a[i>>2]=p+f-f;a[i+4>>2]=l+c-c;a[i+8>>2]=s;a[i+12>>2]=0.0;o=_[e+28>>2]|0;r=_[e+32>>2]|0;dg(e+48+(t*84|0)|0,i+80|0,i+32|0,i+16|0,i,i+128|0,o+456|0,+a[o+404>>2],r+456|0,+a[r+404>>2]);a[n>>2]=0.0;t=t+1|0}while((t|0)!=3);u=i;return}function le(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,c=0,f=0,b=0,p=0,d=0,m=0,h=0;h=u;u=u+80|0;b=_[e+4>>2]|0;Aa[_[(_[b>>2]|0)+16>>2]&3](b,h+28|0,h+24|0,h+20|0,h+16|0,h+12|0,h+8|0,h+4|0,h,t);b=(_[h+12>>2]|0)+(U(_[h+8>>2]|0,i)|0)|0;m=_[e+4>>2]|0;d=(_[h+20>>2]|0)==0;p=_[h+28>>2]|0;do{if((_[h>>2]|0)==3){f=_[h+16>>2]|0;c=p+(U(f,s[b+4>>1]|0)|0)|0;if(d){r=+a[c+4>>2]*+a[m+8>>2];o=+a[c>>2]*+a[m+4>>2];n=+a[c+8>>2]}else{r=+l[c+8>>3]*+a[m+8>>2];o=+l[c>>3]*+a[m+4>>2];n=+l[c+16>>3]}n=n*+a[m+12>>2];a[h+32+32>>2]=o;a[h+32+36>>2]=r;a[h+32+40>>2]=n;a[h+32+44>>2]=0.0;c=p+(U(f,s[b+2>>1]|0)|0)|0;if(d){r=+a[c+4>>2]*+a[m+8>>2];o=+a[c>>2]*+a[m+4>>2];n=+a[c+8>>2]}else{r=+l[c+8>>3]*+a[m+8>>2];o=+l[c>>3]*+a[m+4>>2];n=+l[c+16>>3]}n=n*+a[m+12>>2];a[h+32+16>>2]=o;a[h+32+20>>2]=r;a[h+32+24>>2]=n;a[h+32+28>>2]=0.0;c=p+(U(f,s[b>>1]|0)|0)|0;if(d){r=+a[c+4>>2]*+a[m+8>>2];o=+a[c>>2]*+a[m+4>>2];n=+a[c+8>>2];break}else{r=+l[c+8>>3]*+a[m+8>>2];o=+l[c>>3]*+a[m+4>>2];n=+l[c+16>>3];break}}else{c=_[h+16>>2]|0;f=p+(U(c,_[b+8>>2]|0)|0)|0;if(d){r=+a[f+4>>2]*+a[m+8>>2];o=+a[f+8>>2]*+a[m+12>>2];a[h+32+32>>2]=+a[f>>2]*+a[m+4>>2];a[h+32+36>>2]=r;a[h+32+40>>2]=o;a[h+32+44>>2]=0.0;d=p+(U(c,_[b+4>>2]|0)|0)|0;o=+a[d+4>>2]*+a[m+8>>2];r=+a[d+8>>2]*+a[m+12>>2];a[h+32+16>>2]=+a[d>>2]*+a[m+4>>2];a[h+32+20>>2]=o;a[h+32+24>>2]=r;a[h+32+28>>2]=0.0;d=p+(U(c,_[b>>2]|0)|0)|0;r=+a[d+4>>2]*+a[m+8>>2];o=+a[d>>2]*+a[m+4>>2];n=+a[d+8>>2];break}else{r=+l[f+8>>3]*+a[m+8>>2];o=+l[f+16>>3]*+a[m+12>>2];a[h+32+32>>2]=+l[f>>3]*+a[m+4>>2];a[h+32+36>>2]=r;a[h+32+40>>2]=o;a[h+32+44>>2]=0.0;d=p+(U(c,_[b+4>>2]|0)|0)|0;o=+l[d+8>>3]*+a[m+8>>2];r=+l[d+16>>3]*+a[m+12>>2];a[h+32+16>>2]=+l[d>>3]*+a[m+4>>2];a[h+32+20>>2]=o;a[h+32+24>>2]=r;a[h+32+28>>2]=0.0;d=p+(U(c,_[b>>2]|0)|0)|0;r=+l[d+8>>3]*+a[m+8>>2];o=+l[d>>3]*+a[m+4>>2];n=+l[d+16>>3];break}}}while(0);n=n*+a[m+12>>2];a[h+32>>2]=o;a[h+32+4>>2]=r;a[h+32+8>>2]=n;a[h+32+12>>2]=0.0;m=_[e+8>>2]|0;$a[_[(_[m>>2]|0)+8>>2]&127](m,h+32|0,t,i);m=_[e+4>>2]|0;ma[_[(_[m>>2]|0)+24>>2]&127](m,t);u=h;return}function me(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,l=0,f=0,b=0,p=0;p=u;u=u+32|0;_[e>>2]=4492;n[e+40>>0]=1;_[e+36>>2]=0;_[e+28>>2]=0;_[e+32>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;_[e+12>>2]=-1;_[e+16>>2]=0;_[e+20>>2]=0;n[e+80>>0]=1;_[e+76>>2]=0;_[e+68>>2]=0;_[e+72>>2]=0;_[e+44>>2]=0;_[e+48>>2]=0;_[e+52>>2]=-1;_[e+56>>2]=0;_[e+60>>2]=0;n[e+172>>0]=1;_[e+168>>2]=0;_[e+160>>2]=0;_[e+164>>2]=0;n[e+153>>0]=0;n[e+154>>0]=1;n[e+152>>0]=((t|0)!=0^1)&1;a[e+100>>2]=0.0;_[e+104>>2]=0;_[e+124>>2]=0;_[e+108>>2]=1;_[e+112>>2]=0;_[e+116>>2]=10;_[e+120>>2]=1;_[e+128>>2]=0;_[e+132>>2]=0;a[e+136>>2]=0.0;if(t|0)b=0;else{_[6293]=(_[6293]|0)+1;t=cc(91)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}Qh(t);b=_[e+160>>2]|0}_[e+96>>2]=t;_[e+148>>2]=0;_[e+140>>2]=0;_[e+144>>2]=0;_[e+84>>2]=0;_[e+84+4>>2]=0;_[e+84+8>>2]=0;n[p+16>>0]=1;_[p+12>>2]=0;_[p+4>>2]=0;_[p+8>>2]=0;if((b|0)<=1){if((b|0)!=1){if((_[e+164>>2]|0)<1){_[6293]=(_[6293]|0)+1;t=cc(39)|0;if(!t)f=0;else{_[(t+4+15&-16)+-4>>2]=t;f=t+4+15&-16}i=_[e+160>>2]|0;if((i|0)>0){t=0;do{qi(f+(t*20|0)|0,(_[e+168>>2]|0)+(t*20|0)|0);t=t+1|0}while((t|0)!=(i|0));i=_[e+160>>2]|0;if((i|0)>0){t=0;do{o=_[e+168>>2]|0;s=o+(t*20|0)+4|0;c=o+(t*20|0)+12|0;l=_[c>>2]|0;r=o+(t*20|0)+16|0;if(l|0){if(n[r>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[l+-4>>2]|0)}_[c>>2]=0}n[r>>0]=1;_[c>>2]=0;_[s>>2]=0;_[o+(t*20|0)+8>>2]=0;t=t+1|0}while((t|0)!=(i|0))}}t=_[e+168>>2]|0;if(t|0){if(n[e+172>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+168>>2]=0}n[e+172>>0]=1;_[e+168>>2]=f;_[e+164>>2]=1;t=b}else t=b;while(1){qi((_[e+168>>2]|0)+(t*20|0)|0,p);if(!t)break;else t=t+1|0}t=_[p+12>>2]|0;_[e+160>>2]=1;if(!t){u=p;return}if(n[p+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[p+12>>2]=0;u=p;return}}else{t=1;do{r=_[e+168>>2]|0;o=r+(t*20|0)+4|0;s=r+(t*20|0)+12|0;c=_[s>>2]|0;i=r+(t*20|0)+16|0;if(c|0){if(n[i>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[s>>2]=0}n[i>>0]=1;_[s>>2]=0;_[o>>2]=0;_[r+(t*20|0)+8>>2]=0;t=t+1|0}while((t|0)!=(b|0))}_[e+160>>2]=1;u=p;return}function ne(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,c=0,l=0.0,f=0,b=0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0,v=0.0,w=0.0,k=0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0,D=0.0,T=0.0,O=0,H=0,F=0.0,A=0.0,P=0.0;H=u;u=u+80|0;ua[_[(_[e>>2]|0)+112>>2]&511](e);l=+a[i>>2];S=+a[n>>2]-l;D=+a[n+4>>2]-+a[i+4>>2];v=+a[n+8>>2]-+a[i+8>>2];w=1.0/+W(+(S*S+D*D+v*v));k=_[e+72>>2]|0;if((k|0)>0){o=0;f=0;n=0;r=0;while(1){C=_[e+88>>2]|0;P=+a[e+128>>2];A=+a[e+132>>2];F=+a[e+136>>2];h=+a[e+96>>2];y=+a[e+100>>2];g=+a[e+104>>2];p=h+ +(s[C+(o<<4)+6>>1]|0)/P;d=y+ +(s[C+(o<<4)+8>>1]|0)/A;m=g+ +(s[C+(o<<4)+10>>1]|0)/F;h=(+(s[C+(o<<4)>>1]|0)/P+h+p)*.5;y=(+(s[C+(o<<4)+2>>1]|0)/A+y+d)*.5;g=(+(s[C+(o<<4)+4>>1]|0)/F+g+m)*.5;l=l-h;if((((!(+G(+l)>p-h)|!(l*S*w>=0.0)?(T=+a[i+4>>2]-y,!(+G(+T)>d-y)|!(T*D*w>=0.0)):0)?(j=+a[i+8>>2]-g,!(+G(+j)>m-g)|!(j*v*w>=0.0)):0)?(R=+G(+(v*w)),x=+G(+(D*w)),!(+G(+(j*D*w-T*v*w))>(d-y)*R+(m-g)*x)):0)?(I=+G(+(S*w)),!(+G(+(l*v*w-j*S*w))>(p-h)*R+(m-g)*I)):0){c=!(+G(+(T*S*w-l*D*w))>(p-h)*x+(d-y)*I);C=_[C+(o<<4)+12>>2]|0;if(c&(C|0)>-1){do{if((r|0)==(f|0)){f=r|0?r<<1:1;if((r|0)<(f|0)){if((f|0)!=0?(_[6293]=(_[6293]|0)+1,M=cc((f<<2|3)+16|0)|0,(M|0)!=0):0){_[(M+4+15&-16)+-4>>2]=M;b=M+4+15&-16}else b=0;if((r|0)<=0){if(!n){n=b;break}}else{c=0;do{_[b+(c<<2)>>2]=_[n+(c<<2)>>2];c=c+1|0}while((c|0)!=(r|0))}_[6294]=(_[6294]|0)+1;Mc(_[n+-4>>2]|0);n=b}else f=r}}while(0);_[n+(r<<2)>>2]=C;c=1;r=r+1|0}else{b=c;c=(C|0)>-1;O=20}}else{b=0;c=(_[C+(o<<4)+12>>2]|0)>-1;O=20}if((O|0)==20){O=0;if(b|c)c=1;else c=0-(_[(_[e+88>>2]|0)+(o<<4)+12>>2]|0)|0}o=c+o|0;if((o|0)>=(k|0))break;l=+a[i>>2]}if(!r)O=25;else{c=_[e+176>>2]|0;a[H+64>>2]=.009999999776482582;while(1){o=r+-1|0;if(!r)break;r=_[n+(o<<2)>>2]|0;i=ya[_[(_[e>>2]|0)+84>>2]&127](e)|0;Za[_[(_[i>>2]|0)+20>>2]&127](i,r,H);$a[_[(_[t>>2]|0)+8>>2]&127](t,H,c,_[n+(o<<2)>>2]|0);r=o}ua[_[(_[e>>2]|0)+116>>2]&511](e)}}else{n=0;O=25}if((O|0)==25)ua[_[(_[e>>2]|0)+116>>2]&511](e);if(!n){u=H;return}_[6294]=(_[6294]|0)+1;Mc(_[n+-4>>2]|0);u=H;return}function oe(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0,s=0,c=0,l=0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0;if(!(_[e+204>>2]&2)){_[e+68>>2]=_[t>>2];_[e+68+4>>2]=_[t+4>>2];_[e+68+8>>2]=_[t+8>>2];_[e+68+12>>2]=_[t+12>>2];_[e+84>>2]=_[t+16>>2];_[e+84+4>>2]=_[t+16+4>>2];_[e+84+8>>2]=_[t+16+8>>2];_[e+84+12>>2]=_[t+16+12>>2];_[e+100>>2]=_[t+32>>2];_[e+100+4>>2]=_[t+32+4>>2];_[e+100+8>>2]=_[t+32+8>>2];_[e+100+12>>2]=_[t+32+12>>2];_[e+116>>2]=_[t+48>>2];_[e+116+4>>2]=_[t+48+4>>2];_[e+116+8>>2]=_[t+48+8>>2];_[e+116+12>>2]=_[t+48+12>>2];i=e+20|0;n=t+16|0;r=e+36|0;o=t+32|0;s=e+52|0;c=t+48|0;l=e+4|0}else{_[e+68>>2]=_[e+4>>2];_[e+68+4>>2]=_[e+4+4>>2];_[e+68+8>>2]=_[e+4+8>>2];_[e+68+12>>2]=_[e+4+12>>2];_[e+84>>2]=_[e+20>>2];_[e+84+4>>2]=_[e+20+4>>2];_[e+84+8>>2]=_[e+20+8>>2];_[e+84+12>>2]=_[e+20+12>>2];_[e+100>>2]=_[e+36>>2];_[e+100+4>>2]=_[e+36+4>>2];_[e+100+8>>2]=_[e+36+8>>2];_[e+100+12>>2]=_[e+36+12>>2];_[e+116>>2]=_[e+52>>2];_[e+116+4>>2]=_[e+52+4>>2];_[e+116+8>>2]=_[e+52+8>>2];_[e+116+12>>2]=_[e+52+12>>2];i=e+20|0;n=t+16|0;r=e+36|0;o=t+32|0;s=e+52|0;c=t+48|0;l=e+4|0}_[e+132>>2]=_[e+372>>2];_[e+132+4>>2]=_[e+372+4>>2];_[e+132+8>>2]=_[e+372+8>>2];_[e+132+12>>2]=_[e+372+12>>2];_[e+148>>2]=_[e+388>>2];_[e+148+4>>2]=_[e+388+4>>2];_[e+148+8>>2]=_[e+388+8>>2];_[e+148+12>>2]=_[e+388+12>>2];_[l>>2]=_[t>>2];_[l+4>>2]=_[t+4>>2];_[l+8>>2]=_[t+8>>2];_[l+12>>2]=_[t+12>>2];_[i>>2]=_[n>>2];_[i+4>>2]=_[n+4>>2];_[i+8>>2]=_[n+8>>2];_[i+12>>2]=_[n+12>>2];_[r>>2]=_[o>>2];_[r+4>>2]=_[o+4>>2];_[r+8>>2]=_[o+8>>2];_[r+12>>2]=_[o+12>>2];_[s>>2]=_[c>>2];_[s+4>>2]=_[c+4>>2];_[s+8>>2]=_[c+8>>2];_[s+12>>2]=_[c+12>>2];w=+a[e+4>>2];m=+a[e+456>>2];v=+a[e+8>>2];u=+a[e+460>>2];C=+a[e+12>>2];b=+a[e+464>>2];g=+a[e+20>>2];y=+a[e+24>>2];h=+a[e+28>>2];d=+a[e+36>>2];p=+a[e+40>>2];f=+a[e+44>>2];a[e+324>>2]=w*w*m+v*v*u+C*C*b;a[e+328>>2]=w*m*g+v*u*y+C*b*h;a[e+332>>2]=w*m*d+v*u*p+C*b*f;a[e+336>>2]=0.0;a[e+340>>2]=w*m*g+v*u*y+C*b*h;a[e+344>>2]=g*m*g+y*u*y+h*b*h;a[e+348>>2]=m*g*d+u*y*p+b*h*f;a[e+352>>2]=0.0;a[e+356>>2]=w*m*d+v*u*p+C*b*f;a[e+360>>2]=g*m*d+y*u*p+h*b*f;a[e+364>>2]=d*m*d+p*u*p+f*b*f;a[e+368>>2]=0.0;return}function pe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0,o=0.0,s=0,c=0.0,l=0.0,f=0,p=0,u=0,d=0,m=0,h=0,y=0,g=0,C=0.0;if(!(_[e>>2]|0)){_[e>>2]=i;_[i+32>>2]=0;return}r=_[t+40>>2]|0;if(!r)m=t;else{n=+a[i>>2]+ +a[i+16>>2];o=+a[i+4>>2]+ +a[i+20>>2];c=+a[i+8>>2]+ +a[i+24>>2];do{g=_[t+36>>2]|0;l=+G(+(n-(+a[g>>2]+ +a[g+16>>2])))+ +G(+(o-(+a[g+4>>2]+ +a[g+20>>2])))+ +G(+(c-(+a[g+8>>2]+ +a[g+24>>2])));t=_[t+36+((!(l<+G(+(n-(+a[r>>2]+ +a[r+16>>2])))+ +G(+(o-(+a[r+4>>2]+ +a[r+20>>2])))+ +G(+(c-(+a[r+8>>2]+ +a[r+24>>2]))))&1)<<2)>>2]|0;r=_[t+40>>2]|0}while((r|0)!=0);m=t}y=m+32|0;g=_[y>>2]|0;t=_[e+4>>2]|0;if(!t){_[6293]=(_[6293]|0)+1;t=cc(63)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}r=t;s=r+44|0;do{_[r>>2]=0;r=r+4|0}while((r|0)<(s|0))}else _[e+4>>2]=0;_[t+32>>2]=g;_[t+36>>2]=0;p=t+40|0;_[p>>2]=0;u=m+16|0;r=_[(+a[i>>2]<+a[m>>2]?i:m)>>2]|0;_[t>>2]=r;s=_[(+a[i+16>>2]>+a[m+16>>2]?i+16|0:u)>>2]|0;_[t+16>>2]=s;h=_[(+a[i+4>>2]<+a[m+4>>2]?i:m)+4>>2]|0;_[t+4>>2]=h;f=_[(+a[i+20>>2]>+a[m+20>>2]?i+16|0:u)+4>>2]|0;_[t+20>>2]=f;d=_[(+a[i+8>>2]<+a[m+8>>2]?i:m)+8>>2]|0;_[t+8>>2]=d;u=_[(+a[i+24>>2]>+a[m+24>>2]?i+16|0:u)+8>>2]|0;_[t+24>>2]=u;if(!g){_[t+36>>2]=m;_[y>>2]=t;_[p>>2]=i;_[i+32>>2]=t;_[e>>2]=t;return}_[g+36+(((_[(_[y>>2]|0)+40>>2]|0)==(m|0)&1)<<2)>>2]=t;_[t+36>>2]=m;_[y>>2]=t;_[p>>2]=i;_[i+32>>2]=t;t=d;p=h;while(1){C=(_[b>>2]=r,+a[b>>2]);l=(_[b>>2]=t,+a[b>>2]);c=(_[b>>2]=s,+a[b>>2]);o=(_[b>>2]=f,+a[b>>2]);n=(_[b>>2]=u,+a[b>>2]);if(+a[g>>2]<=C){t=g+4|0;if((((+a[t>>2]<=(_[b>>2]=p,+a[b>>2])?+a[g+8>>2]<=l:0)?+a[g+16>>2]>=c:0)?+a[g+20>>2]>=o:0)?+a[g+24>>2]>=n:0){t=22;break}}else t=g+4|0;i=_[g+36>>2]|0;u=_[g+40>>2]|0;r=_[(+a[i>>2]<+a[u>>2]?i:u)>>2]|0;_[g>>2]=r;s=_[(+a[i+16>>2]>+a[u+16>>2]?i+16|0:u+16|0)>>2]|0;_[g+16>>2]=s;p=_[(+a[i+4>>2]<+a[u+4>>2]?i:u)+4>>2]|0;_[t>>2]=p;f=_[(+a[i+20>>2]>+a[u+20>>2]?i+16|0:u+16|0)+4>>2]|0;_[g+20>>2]=f;t=_[(+a[i+8>>2]<+a[u+8>>2]?i:u)+8>>2]|0;_[g+8>>2]=t;u=_[(+a[i+24>>2]>+a[u+24>>2]?i+16|0:u+16|0)+8>>2]|0;_[g+24>>2]=u;g=_[g+32>>2]|0;if(!g){t=22;break}}if((t|0)==22)return}function qe(){if(n[22344]|0)return;if(!(Dy(22344)|0))return;_[6038]=0;_[6039]=-2147483648;_[6040]=-1082130432;a[6041]=0.0;_[6042]=1060716128;_[6043]=-1090087446;_[6044]=-1092290076;a[6045]=0.0;_[6046]=-1098022214;_[6047]=-1084636126;_[6048]=-1092290076;a[6049]=0.0;_[6050]=-1083901670;_[6051]=-2147483648;_[6052]=-1092290177;a[6053]=0.0;_[6054]=-1098022214;_[6055]=1062847522;_[6056]=-1092290043;a[6057]=0.0;_[6058]=1060716128;_[6059]=1057396202;_[6060]=-1092290076;a[6061]=0.0;_[6062]=1049461434;_[6063]=-1084636126;_[6064]=1055193605;a[6065]=0.0;_[6066]=-1086767520;_[6067]=-1090087446;_[6068]=1055193572;a[6069]=0.0;_[6070]=-1086767520;_[6071]=1057396202;_[6072]=1055193572;a[6073]=0.0;_[6074]=1049461434;_[6075]=1062847522;_[6076]=1055193572;a[6077]=0.0;_[6078]=1063581978;_[6079]=0;_[6080]=1055193471;a[6081]=0.0;_[6082]=-2147483648;_[6083]=0;_[6084]=1065353216;a[6085]=0.0;_[6086]=1054458864;_[6087]=-1096927567;_[6088]=-1084636042;a[6089]=0.0;_[6090]=-1104782626;_[6091]=-1090519208;_[6092]=-1084636042;a[6093]=0.0;_[6094]=1049007812;_[6095]=-1085334679;_[6096]=-1090087228;a[6097]=0.0;_[6098]=1054458864;_[6099]=1050556081;_[6100]=-1084636042;a[6101]=0.0;_[6102]=1062847505;_[6103]=-2147483648;_[6104]=-1090087262;a[6105]=0.0;_[6106]=-1090087362;_[6107]=-2147483648;_[6108]=-1084636076;a[6109]=0.0;_[6110]=-1087361736;_[6111]=-1090519141;_[6112]=-1090087262;a[6113]=0.0;_[6114]=-1104782626;_[6115]=1056964440;_[6116]=-1084636042;a[6117]=0.0;_[6118]=-1087361736;_[6119]=1056964507;_[6120]=-1090087262;a[6121]=0.0;_[6122]=1049007812;_[6123]=1062148969;_[6124]=-1090087228;a[6125]=0.0;_[6126]=1064532105;_[6127]=1050556148;_[6128]=0;a[6129]=0.0;_[6130]=1064532105;_[6131]=-1096927500;_[6132]=0;a[6133]=0.0;_[6134]=1058437413;_[6135]=-1085334595;_[6136]=0;a[6137]=0.0;_[6138]=0;_[6139]=-1082130432;_[6140]=0;a[6141]=0.0;_[6142]=-1089046235;_[6143]=-1085334595;_[6144]=0;a[6145]=0.0;_[6146]=-1082951543;_[6147]=-1096927500;_[6148]=-2147483648;a[6149]=0.0;_[6150]=-1082951543;_[6151]=1050556148;_[6152]=-2147483648;a[6153]=0.0;_[6154]=-1089046235;_[6155]=1062149053;_[6156]=-2147483648;a[6157]=0.0;_[6158]=-2147483648;_[6159]=1065353216;_[6160]=-2147483648;a[6161]=0.0;_[6162]=1058437413;_[6163]=1062149053;_[6164]=-2147483648;a[6165]=0.0;_[6166]=1060121912;_[6167]=-1090519141;_[6168]=1057396386;a[6169]=0.0;_[6170]=-1098475836;_[6171]=-1085334679;_[6172]=1057396420;a[6173]=0.0;_[6174]=-1084636143;_[6175]=0;_[6176]=1057396386;a[6177]=0.0;_[6178]=-1098475836;_[6179]=1062148969;_[6180]=1057396420;a[6181]=0.0;_[6182]=1060121912;_[6183]=1056964507;_[6184]=1057396386;a[6185]=0.0;_[6186]=1057396286;_[6187]=0;_[6188]=1062847572;a[6189]=0.0;_[6190]=1042701022;_[6191]=-1090519208;_[6192]=1062847606;a[6193]=0.0;_[6194]=-1093024784;_[6195]=-1096927567;_[6196]=1062847606;a[6197]=0.0;_[6198]=-1093024784;_[6199]=1050556081;_[6200]=1062847606;a[6201]=0.0;_[6202]=1042701022;_[6203]=1056964440;_[6204]=1062847606;a[6205]=0.0;return}function re(e,t,i,n,r,o,s,c){e=e|0;t=t|0;i=i|0;n=+n;r=+r;o=+o;s=s|0;c=c|0;var l=0,f=0,b=0,p=0,d=0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0,k=0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0,U=0;U=u;u=u+32|0;j=+a[i>>2];x=+a[i+4>>2];R=+a[i+8>>2];v=+a[s>>2];g=+a[s+4>>2];h=+a[s+8>>2];m=+a[c>>2];y=+a[c+4>>2];C=+a[c+8>>2];F=1.0/+W(+((n-j)*(n-j)+(r-x)*(r-x)+(o-R)*(o-R)));A=(n-j)*F==0.0?999999984306749440.0:1.0/((n-j)*F);P=(r-x)*F==0.0?999999984306749440.0:1.0/((r-x)*F);B=(o-R)*F==0.0?999999984306749440.0:1.0/((o-R)*F);L=(j>n?n:j)+v;V=(x>r?r:x)+g;E=(R>o?o:R)+h;q=(j<n?n:j)+m;Q=(x<r?r:x)+y;z=(R<o?o:R)+C;p=_[e+56>>2]|0;e:do{if((p|0)>0){k=_[e+96>>2]|0;l=0;w=0;while(1){l=l+1|0;_[U>>2]=_[k>>2];_[U+4>>2]=_[k+4>>2];_[U+8>>2]=_[k+8>>2];_[U+12>>2]=_[k+12>>2];d=k+16|0;_[U+16>>2]=_[d>>2];_[U+16+4>>2]=_[d+4>>2];_[U+16+8>>2]=_[d+8>>2];_[U+16+12>>2]=_[d+12>>2];a[U>>2]=+a[U>>2]-m;a[U+4>>2]=+a[U+4>>2]-y;a[U+8>>2]=+a[U+8>>2]-C;a[U+16>>2]=+a[U+16>>2]-v;a[U+20>>2]=+a[U+20>>2]-g;a[U+24>>2]=+a[U+24>>2]-h;if(!(L>+a[d>>2])?!(q<+a[k>>2]):0)f=1;else f=0;if(!(!(E>+a[k+24>>2])?!(z<+a[k+8>>2]):0))f=0;if(((!(V>+a[k+20>>2])?!(Q<+a[k+4>>2]|f^1):0)?(M=+a[i>>2],I=A*(+a[U+((A<0.0&1)<<4)>>2]-M),M=A*(+a[U+((A<0.0^1)<<4)>>2]-M),T=+a[i+4>>2],D=P*(+a[U+((P<0.0&1)<<4)+4>>2]-T),T=P*(+a[U+((P<0.0^1)<<4)+4>>2]-T),!(D>M|I>T)):0)?(O=D>I?D:I,S=T<M?T:M,G=+a[i+8>>2],H=B*(+a[U+((B<0.0&1)<<4)+8>>2]-G),G=B*(+a[U+((B<0.0^1)<<4)+8>>2]-G),!(H>S|O>G)):0){f=(G<S?G:S)>0.0?(H>O?H:O)<(o-R)*(o-R)*F+((n-j)*(n-j)*F+(r-x)*(r-x)*F):0;b=_[k+32>>2]|0;if(f&(b|0)==-1){Za[_[(_[t>>2]|0)+8>>2]&127](t,_[k+36>>2]|0,_[k+40>>2]|0);b=1;p=_[e+56>>2]|0}else{d=(b|0)==-1;N=16}}else{b=_[k+32>>2]|0;d=(b|0)==-1;f=0;N=16}if((N|0)==16){N=0;b=d|f?1:b}f=b+w|0;if((f|0)>=(p|0))break e;k=k+(b<<6)|0;w=f;m=+a[c>>2];y=+a[c+4>>2];C=+a[c+8>>2];v=+a[s>>2];g=+a[s+4>>2];h=+a[s+8>>2]}}else l=0}while(0);if((_[6286]|0)>=(l|0)){u=U;return}_[6286]=l;u=U;return}function se(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0.0,s=0.0,c=0.0,l=0,f=0,b=0,p=0,d=0.0,m=0;p=u;u=u+144|0;s=+a[t>>2];c=+a[t+16>>2];d=s<c?s:c;o=+a[t+32>>2];if((d<o?d:o)>+a[e+20>>2]){u=p;return}f=s>c?t:t+16|0;if(+a[(+a[f>>2]>o?f:t+32|0)>>2]<+a[e+4>>2]){u=p;return}o=+a[t+8>>2];s=+a[t+24>>2];d=o<s?o:s;c=+a[t+40>>2];if((d<c?d:c)>+a[e+28>>2]){u=p;return}f=o>s?t+8|0:t+24|0;if(+a[(+a[f>>2]>c?f:t+40|0)>>2]<+a[e+12>>2]){u=p;return}o=+a[t+4>>2];s=+a[t+20>>2];d=o<s?o:s;c=+a[t+36>>2];if((d<c?d:c)>+a[e+24>>2]){u=p;return}f=o>s?t+4|0:t+20|0;if(+a[(+a[f>>2]>c?f:t+36|0)>>2]<+a[e+8>>2]){u=p;return}f=_[e+48>>2]|0;r=_[e+36>>2]|0;if((_[(_[r+4>>2]|0)+4>>2]|0)>=20){u=p;return}_[p+24+8>>2]=0;_[p+24+12>>2]=-1;_[p+24+16>>2]=1065353216;_[p+24+20>>2]=1065353216;_[p+24+24>>2]=1065353216;a[p+24+28>>2]=0.0;_[p+24+56>>2]=0;_[p+24>>2]=8968;_[p+24+4>>2]=1;_[p+24+60>>2]=_[t>>2];_[p+24+60+4>>2]=_[t+4>>2];_[p+24+60+8>>2]=_[t+8>>2];_[p+24+60+12>>2]=_[t+12>>2];_[p+24+76>>2]=_[t+16>>2];_[p+24+76+4>>2]=_[t+16+4>>2];_[p+24+76+8>>2]=_[t+16+8>>2];_[p+24+76+12>>2]=_[t+16+12>>2];_[p+24+92>>2]=_[t+32>>2];_[p+24+92+4>>2]=_[t+32+4>>2];_[p+24+92+8>>2]=_[t+32+8>>2];_[p+24+92+12>>2]=_[t+32+12>>2];_[p+24+48>>2]=_[e+56>>2];m=_[e+40>>2]|0;l=_[m+8>>2]|0;t=_[m+12>>2]|0;_[p>>2]=m;_[p+4>>2]=p+24;_[p+8>>2]=l;_[p+12>>2]=t;_[p+16>>2]=i;_[p+20>>2]=n;t=_[(_[f>>2]|0)+8>>2]|0;if(+a[(_[e+44>>2]|0)+32>>2]>0.0)l=wa[t&1](f,r,p,0,2)|0;else l=wa[t&1](f,r,p,_[e+64>>2]|0,1)|0;r=_[e+44>>2]|0;t=_[r+8>>2]|0;if((_[t+8>>2]|0)==(_[(_[e+40>>2]|0)+8>>2]|0)){_[r+8>>2]=p;Za[_[(_[r>>2]|0)+8>>2]&127](r,i,n)}else{t=_[r+12>>2]|0;_[r+12>>2]=p;Za[_[(_[r>>2]|0)+12>>2]&127](r,i,n)}ba[_[(_[l>>2]|0)+8>>2]&31](l,_[e+36>>2]|0,p,_[e+52>>2]|0,_[e+44>>2]|0);m=_[e+44>>2]|0;_[((_[(_[m+8>>2]|0)+8>>2]|0)==(_[(_[e+40>>2]|0)+8>>2]|0)?m+8|0:m+12|0)>>2]=t;ua[_[_[l>>2]>>2]&511](l);ma[_[(_[f>>2]|0)+60>>2]&127](f,l);_[p+24>>2]=7544;t=_[p+24+56>>2]|0;if(t|0?(ua[_[_[t>>2]>>2]&511](t),b=_[p+24+56>>2]|0,b|0):0){_[6294]=(_[6294]|0)+1;Mc(_[b+-4>>2]|0)}u=p;return}function te(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0;o=u;u=u+48|0;_[e+8>>2]=0;_[e+12>>2]=-1;a[e+16>>2]=0.0;_[e>>2]=7920;_[e+52>>2]=t;_[e+4>>2]=21;if(ya[_[(_[t>>2]|0)+40>>2]&127](t)|0)Za[_[(_[t>>2]|0)+48>>2]&127](t,e+20|0,e+36|0);else{t=o+32+4|0;_[t>>2]=0;_[t+4>>2]=0;_[t+8>>2]=0;a[o+32>>2]=1.0;Za[_[(_[e>>2]|0)+68>>2]&127](o+16|0,e,o+32|0);a[e+36>>2]=+a[o+16>>2]+ +a[e+16>>2];a[o+32>>2]=-1.0;Za[_[(_[e>>2]|0)+68>>2]&127](o,e,o+32|0);_[o+16>>2]=_[o>>2];_[o+16+4>>2]=_[o+4>>2];_[o+16+8>>2]=_[o+8>>2];_[o+16+12>>2]=_[o+12>>2];a[e+20>>2]=+a[o+16>>2]-+a[e+16>>2];_[o+32>>2]=0;_[o+32+4>>2]=0;_[o+32+8>>2]=0;_[o+32+12>>2]=0;a[t>>2]=1.0;Za[_[(_[e>>2]|0)+68>>2]&127](o+16|0,e,o+32|0);a[e+40>>2]=+a[o+16+4>>2]+ +a[e+16>>2];a[t>>2]=-1.0;Za[_[(_[e>>2]|0)+68>>2]&127](o,e,o+32|0);_[o+16>>2]=_[o>>2];_[o+16+4>>2]=_[o+4>>2];_[o+16+8>>2]=_[o+8>>2];_[o+16+12>>2]=_[o+12>>2];a[e+24>>2]=+a[o+16+4>>2]-+a[e+16>>2];_[o+32>>2]=0;_[o+32+4>>2]=0;_[o+32+8>>2]=0;_[o+32+12>>2]=0;a[o+32+8>>2]=1.0;Za[_[(_[e>>2]|0)+68>>2]&127](o+16|0,e,o+32|0);a[e+44>>2]=+a[o+16+8>>2]+ +a[e+16>>2];a[o+32+8>>2]=-1.0;Za[_[(_[e>>2]|0)+68>>2]&127](o,e,o+32|0);_[o+16>>2]=_[o>>2];_[o+16+4>>2]=_[o+4>>2];_[o+16+8>>2]=_[o+8>>2];_[o+16+12>>2]=_[o+12>>2];a[e+28>>2]=+a[o+16+8>>2]-+a[e+16>>2]}_[e>>2]=5956;_[e+56>>2]=0;_[e+60>>2]=0;n[e+64>>0]=i&1;n[e+65>>0]=0;_[e+4>>2]=21;if(!r){u=o;return}_[6293]=(_[6293]|0)+1;t=cc(191)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}_[t+52>>2]=287;n[t+60>>0]=0;n[t+80>>0]=1;_[t+76>>2]=0;_[t+68>>2]=0;_[t+72>>2]=0;n[t+100>>0]=1;_[t+96>>2]=0;_[t+88>>2]=0;_[t+92>>2]=0;n[t+120>>0]=1;_[t+116>>2]=0;_[t+108>>2]=0;_[t+112>>2]=0;n[t+140>>0]=1;_[t+136>>2]=0;_[t+128>>2]=0;_[t+132>>2]=0;_[t+144>>2]=0;n[t+164>>0]=1;_[t+160>>2]=0;_[t+152>>2]=0;_[t+156>>2]=0;_[t+168>>2]=0;_[t+4>>2]=-8388609;_[t+8>>2]=-8388609;_[t+12>>2]=-8388609;a[t+16>>2]=0.0;_[t+20>>2]=2139095039;_[t+24>>2]=2139095039;_[t+28>>2]=2139095039;a[t+32>>2]=0.0;_[t>>2]=7464;_[e+56>>2]=t;Pc(t,_[e+52>>2]|0,(n[e+64>>0]|0)!=0,e+20|0,e+36|0);n[e+65>>0]=1;u=o;return}function ue(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0,d=0;if(!t)if(!n){if(r|0){_[r>>2]=(e>>>0)%(i>>>0);_[r+4>>2]=0}n=0;r=(e>>>0)/(i>>>0)>>>0;return(O=n,r)|0}else{if(!r){n=0;r=0;return(O=n,r)|0}_[r>>2]=e|0;_[r+4>>2]=t&0;n=0;r=0;return(O=n,r)|0}do{if(i){if(n|0){s=(X(n|0)|0)-(X(t|0)|0)|0;if(s>>>0<=31){p=s+1|0;c=e>>>((s+1|0)>>>0)&s-31>>31|t<<31-s;b=t>>>((s+1|0)>>>0)&s-31>>31;o=0;s=e<<31-s;break}if(!r){n=0;r=0;return(O=n,r)|0}_[r>>2]=e|0;_[r+4>>2]=t|t&0;n=0;r=0;return(O=n,r)|0}if(i-1&i|0){s=(X(i|0)|0)+33-(X(t|0)|0)|0;p=s;c=32-s-1>>31&t>>>((s-32|0)>>>0)|(t<<32-s|e>>>(s>>>0))&s-32>>31;b=s-32>>31&t>>>(s>>>0);o=e<<64-s&32-s>>31;s=(t<<64-s|e>>>((s-32|0)>>>0))&32-s>>31|e<<32-s&s-33>>31;break}if(r|0){_[r>>2]=i-1&e;_[r+4>>2]=0}if((i|0)==1){n=t|t&0;r=e|0|0;return(O=n,r)|0}else{r=op(i|0)|0;n=t>>>(r>>>0)|0;r=t<<32-r|e>>>(r>>>0)|0;return(O=n,r)|0}}else{if(!n){if(r|0){_[r>>2]=(t>>>0)%(i>>>0);_[r+4>>2]=0}n=0;r=(t>>>0)/(i>>>0)>>>0;return(O=n,r)|0}if(!e){if(r|0){_[r>>2]=0;_[r+4>>2]=(t>>>0)%(n>>>0)}i=0;r=(t>>>0)/(n>>>0)>>>0;return(O=i,r)|0}if(!(n-1&n)){if(r|0){_[r>>2]=e|0;_[r+4>>2]=n-1&t|t&0}i=0;r=t>>>((op(n|0)|0)>>>0);return(O=i,r)|0}s=(X(n|0)|0)-(X(t|0)|0)|0;if(s>>>0<=30){p=s+1|0;c=t<<31-s|e>>>((s+1|0)>>>0);b=t>>>((s+1|0)>>>0);o=0;s=e<<31-s;break}if(!r){n=0;r=0;return(O=n,r)|0}_[r>>2]=e|0;_[r+4>>2]=t|t&0;n=0;r=0;return(O=n,r)|0}}while(0);if(!p){a=s;t=b;e=0;s=0}else{l=mv(i|0|0,n|n&0|0,-1,-1)|0;f=O;a=s;t=b;e=p;s=0;do{d=a;a=o>>>31|a<<1;o=s|o<<1;d=c<<1|d>>>31|0;u=c>>>31|t<<1|0;Lt(l|0,f|0,d|0,u|0)|0;p=O;b=p>>31|((p|0)<0?-1:0)<<1;s=b&1;c=Lt(d|0,u|0,b&(i|0)|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&(n|n&0)|0)|0;t=O;e=e-1|0}while((e|0)!=0);e=0}if(r|0){_[r>>2]=c;_[r+4>>2]=t}u=(o|0)>>>31|a<<1|(0<<1|o>>>31)&0|e;d=(o<<1|0>>>31)&-2|s;return(O=u,d)|0}function ve(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0,c=0,l=0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0.0;c=u;u=u+64|0;l=(n[e+76>>0]|0)!=0;s=l?i:t;t=l?t:i;i=_[t+4>>2]|0;if(((_[i+4>>2]|0)+-21|0)>>>0>=9){u=c;return}if((_[(_[s+4>>2]|0)+4>>2]|0)>=20){u=c;return}f=+Da[_[(_[i>>2]|0)+48>>2]&15](i);_[o+4>>2]=_[e+72>>2];_[e+44>>2]=s;_[e+48>>2]=t;_[e+60>>2]=r;a[e+64>>2]=f;_[e+52>>2]=o;l=_[t+12>>2]|0;x=+a[l>>2];R=+a[l+16>>2];j=+a[l+32>>2];S=+a[l+4>>2];k=+a[l+20>>2];w=+a[l+36>>2];y=+a[l+8>>2];m=+a[l+24>>2];p=+a[l+40>>2];v=-+a[l+48>>2];C=-+a[l+52>>2];g=-+a[l+56>>2];l=_[s+12>>2]|0;F=+a[l>>2];W=+a[l+16>>2];G=+a[l+32>>2];H=+a[l+4>>2];O=+a[l+20>>2];T=+a[l+36>>2];D=+a[l+8>>2];M=+a[l+24>>2];I=+a[l+40>>2];h=+a[l+48>>2];d=+a[l+52>>2];b=+a[l+56>>2];a[c>>2]=x*F+R*W+j*G;a[c+4>>2]=x*H+R*O+j*T;a[c+8>>2]=x*D+R*M+j*I;a[c+12>>2]=0.0;a[c+16>>2]=S*F+k*W+w*G;a[c+20>>2]=S*H+k*O+w*T;a[c+24>>2]=S*D+k*M+w*I;a[c+28>>2]=0.0;a[c+32>>2]=y*F+m*W+p*G;a[c+36>>2]=y*H+m*O+p*T;a[c+40>>2]=y*D+m*M+p*I;a[c+44>>2]=0.0;a[c+48>>2]=x*v+R*C+j*g+(x*h+R*d+j*b);a[c+52>>2]=S*v+k*C+w*g+(S*h+k*d+w*b);a[c+56>>2]=y*v+m*C+p*g+(y*h+m*d+p*b);a[c+60>>2]=0.0;l=_[(_[e+44>>2]|0)+4>>2]|0;$a[_[(_[l>>2]|0)+8>>2]&127](l,c,e+12|0,e+28|0);f=+a[o+32>>2]+f;a[e+28>>2]=f+ +a[e+28>>2];a[e+32>>2]=f+ +a[e+32>>2];a[e+36>>2]=f+ +a[e+36>>2];a[e+12>>2]=+a[e+12>>2]-f;a[e+16>>2]=+a[e+16>>2]-f;a[e+20>>2]=+a[e+20>>2]-f;l=_[e+72>>2]|0;r=_[t+8>>2]|0;_[l+772>>2]=_[s+8>>2];_[l+776>>2]=r;$a[_[(_[i>>2]|0)+64>>2]&127](i,e+8|0,e+12|0,e+28|0);i=_[o+4>>2]|0;do{if(_[i+780>>2]|0){r=_[i+772>>2]|0;s=_[(_[o+8>>2]|0)+8>>2]|0;t=_[(_[o+12>>2]|0)+8>>2]|0;if((r|0)==(s|0)){xe(i,r+4|0,t+4|0);break}else{xe(i,t+4|0,s+4|0);break}}}while(0);_[e+44>>2]=0;_[e+48>>2]=0;u=c;return}function we(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;var r=0,o=0.0,s=0.0,c=0.0,l=0,f=0,b=0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0,k=0.0,S=0.0,j=0;b=u;u=u+192|0;f=_[(_[e+4>>2]|0)+772>>2]|0;l=_[(_[e+8>>2]|0)+8>>2]|0;S=+a[i>>2];o=+a[t>>2]*n+S;k=+a[i+4>>2];s=+a[t+4>>2]*n+k;p=+a[i+8>>2];c=+a[t+8>>2]*n+p;w=_[(_[e+12>>2]|0)+8>>2]|0;r=(f|0)!=(l|0)?w:f;w=(f|0)!=(l|0)?l:w;v=o-+a[r+52>>2];C=s-+a[r+56>>2];g=c-+a[r+60>>2];y=v*+a[r+8>>2]+C*+a[r+24>>2]+g*+a[r+40>>2];h=v*+a[r+12>>2]+C*+a[r+28>>2]+g*+a[r+44>>2];S=S-+a[w+52>>2];k=k-+a[w+56>>2];p=p-+a[w+60>>2];m=S*+a[w+4>>2]+k*+a[w+20>>2]+p*+a[w+36>>2];d=S*+a[w+8>>2]+k*+a[w+24>>2]+p*+a[w+40>>2];p=S*+a[w+12>>2]+k*+a[w+28>>2]+p*+a[w+44>>2];a[b>>2]=v*+a[r+4>>2]+C*+a[r+20>>2]+g*+a[r+36>>2];a[b+4>>2]=y;a[b+8>>2]=h;a[b+12>>2]=0.0;a[b+16>>2]=m;a[b+20>>2]=d;a[b+24>>2]=p;a[b+28>>2]=0.0;_[b+64>>2]=_[t>>2];_[b+64+4>>2]=_[t+4>>2];_[b+64+8>>2]=_[t+8>>2];_[b+64+12>>2]=_[t+12>>2];a[b+80>>2]=n;_[b+84>>2]=0;_[b+84+4>>2]=0;_[b+84+8>>2]=0;_[b+84+12>>2]=0;t=b+116|0;r=t+44|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(r|0));a[b+48>>2]=o;a[b+52>>2]=s;a[b+56>>2]=c;a[b+60>>2]=0.0;_[b+32>>2]=_[i>>2];_[b+32+4>>2]=_[i+4>>2];_[b+32+8>>2]=_[i+8>>2];_[b+32+12>>2]=_[i+12>>2];t=_[e+16>>2]|0;r=_[e+20>>2]|0;if((f|0)!=(l|0)){_[b+100>>2]=r;j=e+28|0;i=t;w=e+24|0;t=r;r=_[j>>2]|0;j=b+104|0;_[j>>2]=i;j=b+108|0;_[j>>2]=r;w=_[w>>2]|0;j=b+112|0;_[j>>2]=w;j=(f|0)!=(l|0)?e+12|0:e+8|0;j=_[j>>2]|0;f=(f|0)!=(l|0)?e+8|0:e+12|0;f=_[f>>2]|0;l=e+36|0;l=_[l>>2]|0;e=_[l>>2]|0;e=e+12|0;e=_[e>>2]|0;+Sa[e&1](l,b,j,t,r,f,i,w);u=b;return}else{_[b+100>>2]=t;i=e+24|0;w=r;j=e+28|0;r=t;i=_[i>>2]|0;t=b+104|0;_[t>>2]=w;t=b+108|0;_[t>>2]=i;j=_[j>>2]|0;t=b+112|0;_[t>>2]=j;t=(f|0)!=(l|0)?e+12|0:e+8|0;t=_[t>>2]|0;f=(f|0)!=(l|0)?e+8|0:e+12|0;f=_[f>>2]|0;l=e+36|0;l=_[l>>2]|0;e=_[l>>2]|0;e=e+12|0;e=_[e>>2]|0;+Sa[e&1](l,b,t,r,i,f,w,j);u=b;return}}function xe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0.0,s=0,c=0,l=0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0;n=_[e+780>>2]|0;if((n|0)<=0)return;do{c=n;n=n+-1|0;d=+a[e+4+(n*192|0)>>2];m=+a[e+4+(n*192|0)+4>>2];r=+a[e+4+(n*192|0)+8>>2];u=d*+a[t>>2]+m*+a[t+4>>2]+r*+a[t+8>>2]+ +a[t+48>>2];b=d*+a[t+16>>2]+m*+a[t+20>>2]+r*+a[t+24>>2]+ +a[t+52>>2];r=d*+a[t+32>>2]+m*+a[t+36>>2]+r*+a[t+40>>2]+ +a[t+56>>2];a[e+4+(n*192|0)+48>>2]=u;a[e+4+(n*192|0)+52>>2]=b;a[e+4+(n*192|0)+56>>2]=r;a[e+4+(n*192|0)+60>>2]=0.0;m=+a[e+4+(n*192|0)+16>>2];d=+a[e+4+(n*192|0)+20>>2];o=+a[e+4+(n*192|0)+24>>2];p=m*+a[i>>2]+d*+a[i+4>>2]+o*+a[i+8>>2]+ +a[i+48>>2];f=m*+a[i+16>>2]+d*+a[i+20>>2]+o*+a[i+24>>2]+ +a[i+52>>2];o=m*+a[i+32>>2]+d*+a[i+36>>2]+o*+a[i+40>>2]+ +a[i+56>>2];a[e+4+(n*192|0)+32>>2]=p;a[e+4+(n*192|0)+36>>2]=f;a[e+4+(n*192|0)+40>>2]=o;a[e+4+(n*192|0)+44>>2]=0.0;a[e+4+(n*192|0)+80>>2]=(u-p)*+a[e+4+(n*192|0)+64>>2]+(b-f)*+a[e+4+(n*192|0)+68>>2]+(r-o)*+a[e+4+(n*192|0)+72>>2];s=e+4+(n*192|0)+156|0;_[s>>2]=(_[s>>2]|0)+1}while((c|0)>1);n=_[e+780>>2]|0;if((n|0)<=0)return;c=n;do{s=c;c=c+-1|0;i=e+4+(c*192|0)|0;r=+a[e+4+(c*192|0)+80>>2];o=+a[e+784>>2];if(!(r<=o)){t=n+-1|0;if((t|0)==(c|0))l=12;else{oh(i|0,e+4+(t*192|0)|0,192)|0;_[e+4+(t*192|0)+156>>2]=0;_[e+4+(t*192|0)+116>>2]=0;_[e+4+(t*192|0)+116+4>>2]=0;_[e+4+(t*192|0)+116+8>>2]=0;_[e+4+(t*192|0)+116+12>>2]=0;_[e+4+(t*192|0)+116+16>>2]=0;n=_[e+780>>2]|0;l=12}}else{u=+a[e+4+(c*192|0)+32>>2]-(+a[e+4+(c*192|0)+48>>2]-+a[e+4+(c*192|0)+64>>2]*r);d=+a[e+4+(c*192|0)+36>>2]-(+a[e+4+(c*192|0)+52>>2]-r*+a[e+4+(c*192|0)+68>>2]);m=+a[e+4+(c*192|0)+40>>2]-(+a[e+4+(c*192|0)+56>>2]-r*+a[e+4+(c*192|0)+72>>2]);if(u*u+d*d+m*m>o*o){t=n+-1|0;if((t|0)==(c|0))l=12;else{oh(i|0,e+4+(t*192|0)|0,192)|0;_[e+4+(t*192|0)+156>>2]=0;_[e+4+(t*192|0)+116>>2]=0;_[e+4+(t*192|0)+116+4>>2]=0;_[e+4+(t*192|0)+116+8>>2]=0;_[e+4+(t*192|0)+116+12>>2]=0;_[e+4+(t*192|0)+116+16>>2]=0;n=_[e+780>>2]|0;l=12}}}if((l|0)==12){l=0;n=n+-1|0;_[e+780>>2]=n}}while((s|0)>1);return}function ye(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;_[t+16>>2]=_[e+4>>2];_[t+20>>2]=_[e+8>>2];_[t+24>>2]=_[e+12>>2];_[t+28>>2]=_[e+16>>2];_[t+32>>2]=_[e+20>>2];_[t+36>>2]=_[e+24>>2];_[t+40>>2]=_[e+28>>2];_[t+44>>2]=_[e+32>>2];_[t+48>>2]=_[e+36>>2];_[t+52>>2]=_[e+40>>2];_[t+56>>2]=_[e+44>>2];_[t+60>>2]=_[e+48>>2];_[t+64>>2]=_[e+52>>2];_[t+68>>2]=_[e+56>>2];_[t+72>>2]=_[e+60>>2];_[t+76>>2]=_[e+64>>2];_[t+80>>2]=_[e+68>>2];_[t+84>>2]=_[e+72>>2];_[t+88>>2]=_[e+76>>2];_[t+92>>2]=_[e+80>>2];_[t+96>>2]=_[e+84>>2];_[t+100>>2]=_[e+88>>2];_[t+104>>2]=_[e+92>>2];_[t+108>>2]=_[e+96>>2];_[t+112>>2]=_[e+100>>2];_[t+116>>2]=_[e+104>>2];_[t+120>>2]=_[e+108>>2];_[t+124>>2]=_[e+112>>2];_[t+128>>2]=_[e+116>>2];_[t+132>>2]=_[e+120>>2];_[t+136>>2]=_[e+124>>2];_[t+140>>2]=_[e+128>>2];_[t+144>>2]=_[e+132>>2];_[t+148>>2]=_[e+136>>2];_[t+152>>2]=_[e+140>>2];_[t+156>>2]=_[e+144>>2];_[t+160>>2]=_[e+148>>2];_[t+164>>2]=_[e+152>>2];_[t+168>>2]=_[e+156>>2];_[t+172>>2]=_[e+160>>2];_[t+176>>2]=_[e+164>>2];_[t+180>>2]=_[e+168>>2];_[t+184>>2]=_[e+172>>2];_[t+188>>2]=_[e+176>>2];_[t+232>>2]=_[e+180>>2];_[t+192>>2]=_[e+184>>2];_[t>>2]=0;_[t+4>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,_[e+192>>2]|0)|0;_[t+8>>2]=0;_[t+236>>2]=_[e+204>>2];_[t+240>>2]=_[e+208>>2];_[t+244>>2]=_[e+212>>2];_[t+248>>2]=_[e+220>>2];_[t+196>>2]=_[e+224>>2];_[t+200>>2]=_[e+228>>2];_[t+204>>2]=_[e+236>>2];_[t+208>>2]=_[e+244>>2];_[t+212>>2]=_[e+248>>2];_[t+216>>2]=_[e+232>>2];_[t+252>>2]=_[e+252>>2];n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;r=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t+12>>2]=r;if(!r){r=e+268|0;r=_[r>>2]|0;i=t+220|0;_[i>>2]=r;i=e+272|0;i=_[i>>2]|0;r=t+224|0;_[r>>2]=i;r=e+276|0;r=_[r>>2]|0;i=t+228|0;_[i>>2]=r;i=e+280|0;i=_[i>>2]|0;r=t+256|0;_[r>>2]=i;r=t+260|0;_[r>>2]=0;return 12715}ma[_[(_[i>>2]|0)+48>>2]&127](i,n);r=e+268|0;r=_[r>>2]|0;i=t+220|0;_[i>>2]=r;i=e+272|0;i=_[i>>2]|0;r=t+224|0;_[r>>2]=i;r=e+276|0;r=_[r>>2]|0;i=t+228|0;_[i>>2]=r;i=e+280|0;i=_[i>>2]|0;r=t+256|0;_[r>>2]=i;r=t+260|0;_[r>>2]=0;return 12715}function ze(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0,w=0.0,k=0.0,S=0.0,j=0.0;v=n[o+16>>0]&-16;n[o+16>>0]=v;w=+a[i>>2];k=+a[t>>2];p=+a[i+4>>2];u=+a[t+4>>2];d=+a[i+8>>2];m=+a[t+8>>2];h=+a[r>>2];y=+a[r+4>>2];g=+a[r+8>>2];f=+a[e>>2];b=+a[e+4>>2];s=+a[e+8>>2];S=(w-k)*(f-k)+(p-u)*(b-u)+(d-m)*(s-m);j=(h-k)*(f-k)+(y-u)*(b-u)+(g-m)*(s-m);do{if(S<=0.0&j<=0.0){_[o>>2]=_[t>>2];_[o+4>>2]=_[t+4>>2];_[o+8>>2]=_[t+8>>2];_[o+12>>2]=_[t+12>>2];n[o+16>>0]=v|1;c=0.0;l=0.0;s=1.0}else{C=(w-k)*(f-w)+(p-u)*(b-p)+(d-m)*(s-d);l=(h-k)*(f-w)+(y-u)*(b-p)+(g-m)*(s-d);if(!(!(C>=0.0)|!(l<=C))){_[o>>2]=_[i>>2];_[o+4>>2]=_[i+4>>2];_[o+8>>2]=_[i+8>>2];_[o+12>>2]=_[i+12>>2];n[o+16>>0]=v|2;c=0.0;l=1.0;s=0.0;break}if(C<=0.0&(S>=0.0?S*l-C*j<=0.0:0)){a[o>>2]=k+(w-k)*(S/(S-C));a[o+4>>2]=u+(p-u)*(S/(S-C));a[o+8>>2]=m+(d-m)*(S/(S-C));a[o+12>>2]=0.0;n[o+16>>0]=v|3;c=0.0;l=S/(S-C);s=1.0-S/(S-C);break}c=(w-k)*(f-h)+(p-u)*(b-y)+(d-m)*(s-g);s=(h-k)*(f-h)+(y-u)*(b-y)+(g-m)*(s-g);if(!(!(s>=0.0)|!(c<=s))){_[o>>2]=_[r>>2];_[o+4>>2]=_[r+4>>2];_[o+8>>2]=_[r+8>>2];_[o+12>>2]=_[r+12>>2];n[o+16>>0]=v|4;c=1.0;l=0.0;s=0.0;break}if(s<=0.0&(j>=0.0?c*j-S*s<=0.0:0)){a[o>>2]=k+(h-k)*(j/(j-s));a[o+4>>2]=u+(y-u)*(j/(j-s));a[o+8>>2]=m+(g-m)*(j/(j-s));a[o+12>>2]=0.0;n[o+16>>0]=v|5;c=j/(j-s);l=0.0;s=1.0-j/(j-s);break}if((C*s-c*l<=0.0?l-C>=0.0:0)?c-s>=0.0:0){l=(l-C)/(l-C+(c-s));a[o>>2]=w+(h-w)*l;a[o+4>>2]=p+(y-p)*l;a[o+8>>2]=d+(g-d)*l;a[o+12>>2]=0.0;n[o+16>>0]=v|6;c=l;l=1.0-l;s=0.0;break}f=1.0/(S*l-C*j+(C*s-c*l+(c*j-S*s)));b=(c*j-S*s)*f;s=(S*l-C*j)*f;a[o>>2]=(h-k)*s+((w-k)*b+k);a[o+4>>2]=(y-u)*s+((p-u)*b+u);a[o+8>>2]=(g-m)*s+((d-m)*b+m);a[o+12>>2]=0.0;n[o+16>>0]=v|7;c=s;l=b;s=1.0-b-s}}while(0);a[o+20>>2]=s;a[o+24>>2]=l;a[o+28>>2]=c;a[o+32>>2]=0.0;return}function Ae(e,t,i,r,o){e=e|0;t=+t;i=i|0;r=r|0;o=o|0;var s=0;s=u;u=u+144|0;_[e>>2]=4872;_[e+132>>2]=0;_[e+132+4>>2]=0;_[e+132+8>>2]=0;_[e+132+12>>2]=0;_[e+132+16>>2]=0;_[e+132+20>>2]=0;_[e+132+24>>2]=0;_[e+132+28>>2]=0;_[e+164>>2]=1065353216;_[e+168>>2]=1065353216;_[e+172>>2]=1065353216;a[e+176>>2]=0.0;_[e+180>>2]=0;a[e+184>>2]=999999984306749440.0;_[e+188>>2]=0;_[e+188+4>>2]=0;_[e+188+8>>2]=0;_[e+188+12>>2]=0;_[e+204>>2]=1;_[e+208>>2]=-1;_[e+212>>2]=-1;_[e+216>>2]=-1;_[e+220>>2]=1;a[e+224>>2]=0.0;a[e+228>>2]=.5;a[e+232>>2]=0.0;a[e+236>>2]=0.0;a[e+240>>2]=0.0;a[e+244>>2]=.10000000149011612;a[e+248>>2]=1.0e4;_[e+252>>2]=1;_[e+256>>2]=0;_[e+260>>2]=-1;_[e+264>>2]=-1;a[e+268>>2]=1.0;a[e+272>>2]=0.0;a[e+276>>2]=0.0;_[e+280>>2]=0;n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;_[e+292>>2]=0;_[e+304>>2]=0;_[e+4>>2]=1065353216;_[e+8>>2]=0;_[e+8+4>>2]=0;_[e+8+8>>2]=0;_[e+8+12>>2]=0;_[e+24>>2]=1065353216;_[e+28>>2]=0;_[e+28+4>>2]=0;_[e+28+8>>2]=0;_[e+28+12>>2]=0;_[e+44>>2]=1065353216;_[e+48>>2]=0;_[e+48+4>>2]=0;_[e+48+8>>2]=0;_[e+48+12>>2]=0;_[e+48+16>>2]=0;_[e+68>>2]=1065353216;_[e+72>>2]=0;_[e+72+4>>2]=0;_[e+72+8>>2]=0;_[e+72+12>>2]=0;_[e+88>>2]=1065353216;_[e+92>>2]=0;_[e+92+4>>2]=0;_[e+92+8>>2]=0;_[e+92+12>>2]=0;_[e+108>>2]=1065353216;_[e+112>>2]=0;_[e+112+4>>2]=0;_[e+112+8>>2]=0;_[e+112+12>>2]=0;_[e+112+16>>2]=0;_[e>>2]=4196;n[e+560>>0]=1;_[e+556>>2]=0;_[e+548>>2]=0;_[e+552>>2]=0;a[s>>2]=t;_[s+4>>2]=i;_[s+72>>2]=r;_[s+76>>2]=_[o>>2];_[s+76+4>>2]=_[o+4>>2];_[s+76+8>>2]=_[o+8>>2];_[s+76+12>>2]=_[o+12>>2];a[s+92>>2]=0.0;a[s+96>>2]=0.0;a[s+100>>2]=.5;a[s+104>>2]=0.0;a[s+108>>2]=0.0;a[s+112>>2]=0.0;a[s+116>>2]=.800000011920929;a[s+120>>2]=1.0;n[s+124>>0]=0;a[s+128>>2]=.004999999888241291;a[s+132>>2]=.009999999776482582;a[s+136>>2]=.009999999776482582;a[s+140>>2]=.009999999776482582;_[s+8>>2]=1065353216;_[s+12>>2]=0;_[s+12+4>>2]=0;_[s+12+8>>2]=0;_[s+12+12>>2]=0;_[s+28>>2]=1065353216;_[s+32>>2]=0;_[s+32+4>>2]=0;_[s+32+8>>2]=0;_[s+32+12>>2]=0;_[s+48>>2]=1065353216;_[s+52>>2]=0;_[s+52+4>>2]=0;_[s+52+8>>2]=0;_[s+52+12>>2]=0;_[s+52+16>>2]=0;pd(e,s);u=s;return}function Be(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,a=0;i=_[e+548>>2]|0;e:do{if((i|0)>0){o=_[e+556>>2]|0;r=0;while(1){if((_[o+(r<<2)>>2]|0)==(t|0))break;r=r+1|0;if((r|0)>=(i|0))break e}if((r|0)!=(i|0))return}}while(0);if((i|0)==(_[e+552>>2]|0)?(s=i|0?i<<1:1,(i|0)<(s|0)):0){if(!s)o=0;else{_[6293]=(_[6293]|0)+1;i=cc((s<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=i;i=_[e+548>>2]|0}if((i|0)>0){r=0;do{_[o+(r<<2)>>2]=_[(_[e+556>>2]|0)+(r<<2)>>2];r=r+1|0}while((r|0)!=(i|0))}r=_[e+556>>2]|0;if(r){if(n[e+560>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0);i=_[e+548>>2]|0}_[e+556>>2]=0}n[e+560>>0]=1;_[e+556>>2]=o;_[e+552>>2]=s}_[(_[e+556>>2]|0)+(i<<2)>>2]=t;_[e+548>>2]=i+1;o=_[t+28>>2]|0;s=_[t+32>>2]|0;if((o|0)==(e|0)){i=_[e+288>>2]|0;if((i|0)==(_[e+292>>2]|0)?(a=i|0?i<<1:1,(i|0)<(a|0)):0){if(!a)o=0;else{_[6293]=(_[6293]|0)+1;i=cc((a<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=i;i=_[e+288>>2]|0}if((i|0)>0){r=0;do{_[o+(r<<2)>>2]=_[(_[e+296>>2]|0)+(r<<2)>>2];r=r+1|0}while((r|0)!=(i|0))}r=_[e+296>>2]|0;if(r){if(n[e+300>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0);i=_[e+288>>2]|0}_[e+296>>2]=0}n[e+300>>0]=1;_[e+296>>2]=o;_[e+292>>2]=a}_[(_[e+296>>2]|0)+(i<<2)>>2]=s;i=i+1|0;_[e+288>>2]=i}else{e=_[s+288>>2]|0;if((e|0)==(_[s+292>>2]|0)?(c=e|0?e<<1:1,(e|0)<(c|0)):0){if(!c)r=0;else{_[6293]=(_[6293]|0)+1;e=cc((c<<2|3)+16|0)|0;if(!e)e=0;else{_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}r=e;e=_[s+288>>2]|0}if((e|0)>0){i=0;do{_[r+(i<<2)>>2]=_[(_[s+296>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(e|0))}i=_[s+296>>2]|0;if(i){if(n[s+300>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);e=_[s+288>>2]|0}_[s+296>>2]=0}n[s+300>>0]=1;_[s+296>>2]=r;_[s+292>>2]=c}_[(_[s+296>>2]|0)+(e<<2)>>2]=o;i=e+1|0;_[s+288>>2]=i;e=s}_[e+280>>2]=(i|0)>0&1;return}function Ce(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,c=0.0,f=0.0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0.0;g=u;u=u+32|0;_[e+60>>2]=(_[e+60>>2]|0)+1;b=_[e+4>>2]|0;Aa[_[(_[b>>2]|0)+16>>2]&3](b,g+28|0,g+24|0,g+20|0,g+16|0,g+12|0,g+8|0,g+4|0,g,t);b=(_[g+12>>2]|0)+(U(_[g+8>>2]|0,i)|0)|0;h=_[e+4>>2]|0;p=_[g>>2]|0;switch(p|0){case 3:{n=s[b+4>>1]|0;break}case 2:{n=_[b+8>>2]|0;break}default:n=o[b+2>>0]|0}y=(_[g+20>>2]|0)==0;d=_[g+16>>2]|0;m=_[g+28>>2]|0;n=m+(U(d,n)|0)|0;if(y){c=+a[n+4>>2]*+a[h+8>>2];f=+a[n>>2]*+a[h+4>>2];r=+a[n+8>>2]}else{c=+l[n+8>>3]*+a[h+8>>2];f=+l[n>>3]*+a[h+4>>2];r=+l[n+16>>3]}r=r*+a[h+12>>2];a[e+44>>2]=f;a[e+48>>2]=c;a[e+52>>2]=r;a[e+56>>2]=0.0;switch(p|0){case 3:{n=s[b+2>>1]|0;break}case 2:{n=_[b+4>>2]|0;break}default:n=o[b+1>>0]|0}n=m+(U(d,n)|0)|0;if(y){c=+a[n+4>>2]*+a[h+8>>2];f=+a[n>>2]*+a[h+4>>2];r=+a[n+8>>2]}else{c=+l[n+8>>3]*+a[h+8>>2];f=+l[n>>3]*+a[h+4>>2];r=+l[n+16>>3]}r=r*+a[h+12>>2];a[e+28>>2]=f;a[e+32>>2]=c;a[e+36>>2]=r;a[e+40>>2]=0.0;switch(p|0){case 3:{n=s[b>>1]|0;break}case 2:{n=_[b>>2]|0;break}default:n=o[b>>0]|0}n=m+(U(d,n)|0)|0;if(y){c=+a[n+4>>2]*+a[h+8>>2];r=+a[n>>2]*+a[h+4>>2];C=+a[n+8>>2];f=+a[h+12>>2];f=C*f;h=e+12|0;a[h>>2]=r;h=e+16|0;a[h>>2]=c;h=e+20|0;a[h>>2]=f;h=e+24|0;a[h>>2]=0.0;h=e+8|0;h=_[h>>2]|0;m=_[h>>2]|0;m=m+8|0;m=_[m>>2]|0;y=e+12|0;$a[m&127](h,y,t,i);y=_[e+4>>2]|0;h=_[y>>2]|0;h=h+24|0;h=_[h>>2]|0;ma[h&127](y,t);u=g;return}else{f=+l[n+8>>3]*+a[h+8>>2];c=+l[n>>3]*+a[h+4>>2];r=+l[n+16>>3];C=+a[h+12>>2];C=r*C;h=e+12|0;a[h>>2]=c;h=e+16|0;a[h>>2]=f;h=e+20|0;a[h>>2]=C;h=e+24|0;a[h>>2]=0.0;h=e+8|0;h=_[h>>2]|0;m=_[h>>2]|0;m=m+8|0;m=_[m>>2]|0;y=e+12|0;$a[m&127](h,y,t,i);y=_[e+4>>2]|0;h=_[y>>2]|0;h=h+24|0;h=_[h>>2]|0;ma[h&127](y,t);u=g;return}}function De(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0,c=0,a=0,l=0;e:do{if(!(rC(e,_[t+8>>2]|0)|0)){if(!(rC(e,_[t>>2]|0)|0)){c=_[e+12>>2]|0;bn(e+16|0,t,i,r,o);if((c|0)<=1)break;s=_[e+8>>2]|0;if((s&2|0)==0?(_[t+36>>2]|0)!=1:0){if(!(s&1)){s=e+24|0;while(1){if(n[t+54>>0]|0)break e;if((_[t+36>>2]|0)==1)break e;bn(s,t,i,r,o);s=s+8|0;if(s>>>0>=(e+16+(c<<3)|0)>>>0)break e}}else s=e+24|0;while(1){if(n[t+54>>0]|0)break e;if((_[t+36>>2]|0)==1?(_[t+24>>2]|0)==1:0)break e;bn(s,t,i,r,o);s=s+8|0;if(s>>>0>=(e+16+(c<<3)|0)>>>0)break e}}else s=e+24|0;while(1){if(n[t+54>>0]|0)break e;bn(s,t,i,r,o);s=s+8|0;if(s>>>0>=(e+16+(c<<3)|0)>>>0)break e}}if((_[t+16>>2]|0)!=(i|0)?(_[t+20>>2]|0)!=(i|0):0){_[t+32>>2]=r;if((_[t+44>>2]|0)==4)break;a=e+16+(_[e+12>>2]<<3)|0;s=0;c=e+16|0;l=0;t:while(1){if(c>>>0>=a>>>0){r=18;break}n[t+52>>0]=0;n[t+53>>0]=0;Pm(c,t,i,i,1,o);if(n[t+54>>0]|0){r=18;break}do{if(n[t+53>>0]|0){if(!(n[t+52>>0]|0))if(!(_[e+8>>2]&1)){s=1;r=18;break t}else{s=1;r=l;break}if((_[t+24>>2]|0)==1){r=23;break t}if(!(_[e+8>>2]&2)){r=23;break t}else{s=1;r=1}}else r=l}while(0);c=c+8|0;l=r}do{if((r|0)==18){if((!l?(_[t+20>>2]=i,_[t+40>>2]=(_[t+40>>2]|0)+1,(_[t+36>>2]|0)==1):0)?(_[t+24>>2]|0)==2:0){n[t+54>>0]=1;if(s){r=23;break}else{s=4;break}}if(s)r=23;else s=4}}while(0);if((r|0)==23)s=3;_[t+44>>2]=s;break}if((r|0)==1)_[t+32>>2]=1}else nr(t,i,r)}while(0);return}function Ee(e,t){e=e|0;t=t|0;var i=0,n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0,k=0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0;i=_[e+780>>2]|0;if((i|0)!=4){_[e+780>>2]=i+1;k=i;w=(k|0)>0;k=w?k:0;e=e+4+(k*192|0)|0;oh(e|0,t|0,192)|0;return k|0}S=+a[t+80>>2];v=+a[e+84>>2];C=v<S?v:S;g=+a[e+276>>2];y=g<C?g:C;h=+a[e+468>>2];w=+a[e+660>>2]<(h<y?h:y);i=w?3:h<y?2:g<C?1:(v<S^1)<<31>>31;S=+a[t>>2];if(i){n=+a[e+196>>2];r=+a[t+4>>2];o=+a[e+200>>2];l=+a[t+8>>2];b=+a[e+204>>2];f=+a[e+580>>2];g=+a[e+388>>2];h=+a[e+584>>2];u=+a[e+392>>2];y=+a[e+588>>2];c=+a[e+396>>2];s=((S-n)*(h-u)-(r-o)*(f-g))*((S-n)*(h-u)-(r-o)*(f-g))+(((r-o)*(y-c)-(l-b)*(h-u))*((r-o)*(y-c)-(l-b)*(h-u))+((l-b)*(f-g)-(S-n)*(y-c))*((l-b)*(f-g)-(S-n)*(y-c)));if((i|0)==1){p=+a[e+12>>2];C=l;v=n;m=f;d=o;o=0.0;l=+a[e+4>>2];f=+a[e+8>>2];k=7}else{d=o;C=l;m=f;k=6}}else{n=+a[e+196>>2];d=+a[e+200>>2];b=+a[e+204>>2];s=0.0;r=+a[t+4>>2];C=+a[t+8>>2];g=+a[e+388>>2];m=+a[e+580>>2];u=+a[e+392>>2];h=+a[e+584>>2];c=+a[e+396>>2];y=+a[e+588>>2];k=6}if((k|0)==6){l=+a[e+4>>2];f=+a[e+8>>2];x=r-f;p=+a[e+12>>2];j=C-p;v=m-g;R=h-u;o=y-c;o=((S-l)*R-x*v)*((S-l)*R-x*v)+((x*o-j*R)*(x*o-j*R)+(j*v-(S-l)*o)*(j*v-(S-l)*o));if((i|0)==2){h=n;m=g;n=0.0;k=8}else{v=n;k=7}}if((k|0)==7){x=S-l;I=r-f;j=C-p;R=m-v;h=h-d;n=y-b;n=(x*h-I*R)*(x*h-I*R)+((I*n-j*h)*(I*n-j*h)+(j*R-x*n)*(j*R-x*n));if(w)r=0.0;else{h=v;m=g;k=8}}if((k|0)==8){I=S-l;S=r-f;R=C-p;x=m-h;j=u-d;r=c-b;r=(I*j-S*x)*(I*j-S*x)+((S*r-R*j)*(S*r-R*j)+(R*x-I*r)*(R*x-I*r))}I=+G(+s);R=+G(+o);S=+G(+n);v=+G(+r);x=I>-999999984306749440.0?I:-999999984306749440.0;j=R>x?R:x;k=v>(S>j?S:j)?3:S>j?2:R>x?1:(I>-999999984306749440.0^1)<<31>>31;w=(k|0)>0;k=w?k:0;e=e+4+(k*192|0)|0;oh(e|0,t|0,192)|0;return k|0}function Fe(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0;m=_[e+18504>>2]|0;if(!m){_[e>>2]=5;m=0;return m|0}s=_[m+48>>2]|0;if(s|0)_[s+44>>2]=_[m+44>>2];s=_[m+44>>2]|0;if(s|0)_[s+48>>2]=_[m+48>>2];if((_[e+18504>>2]|0)==(m|0))_[e+18504>>2]=_[m+48>>2];_[e+18508>>2]=(_[e+18508>>2]|0)+-1;_[m+44>>2]=0;_[m+48>>2]=_[e+18496>>2];s=_[e+18496>>2]|0;if(s|0)_[s+44>>2]=m;_[e+18496>>2]=m;_[e+18500>>2]=(_[e+18500>>2]|0)+1;n[m+55>>0]=0;_[m+20>>2]=t;_[m+24>>2]=i;_[m+28>>2]=r;b=+a[t+16>>2];c=+a[i+16>>2]-b;p=+a[t+20>>2];l=+a[i+20>>2]-p;u=+a[t+24>>2];f=+a[i+24>>2]-u;b=+a[r+16>>2]-b;p=+a[r+20>>2]-p;u=+a[r+24>>2]-u;a[m>>2]=l*u-f*p;a[m+4>>2]=f*b-c*u;a[m+8>>2]=c*p-l*b;a[m+12>>2]=0.0;d=+W(+((l*u-f*p)*(l*u-f*p)+(f*b-c*u)*(f*b-c*u)+(c*p-l*b)*(c*p-l*b)));if(d>9.999999747378752e-05){if((!(Xj(l*u-f*p,f*b-c*u,c*p-l*b,+a[t+16>>2],+a[t+20>>2],+a[t+24>>2],+a[i+16>>2],+a[i+20>>2],+a[i+24>>2],m+16|0)|0)?!(Xj(+a[m>>2],+a[m+4>>2],+a[m+8>>2],+a[i+16>>2],+a[i+20>>2],+a[i+24>>2],+a[r+16>>2],+a[r+20>>2],+a[r+24>>2],m+16|0)|0):0)?!(Xj(+a[m>>2],+a[m+4>>2],+a[m+8>>2],+a[r+16>>2],+a[r+20>>2],+a[r+24>>2],+a[t+16>>2],+a[t+20>>2],+a[t+24>>2],m+16|0)|0):0)a[m+16>>2]=(+a[t+16>>2]*+a[m>>2]+ +a[t+20>>2]*+a[m+4>>2]+ +a[t+24>>2]*+a[m+8>>2])/d;a[m>>2]=1.0/d*+a[m>>2];a[m+4>>2]=1.0/d*+a[m+4>>2];a[m+8>>2]=1.0/d*+a[m+8>>2];if(o)return m|0;if(!(+a[m+16>>2]>=-9.999999747378752e-06))s=3;else return m|0}else s=2;_[e>>2]=s;s=_[m+48>>2]|0;if(s|0)_[s+44>>2]=_[m+44>>2];s=_[m+44>>2]|0;if(s|0)_[s+48>>2]=_[m+48>>2];if((_[e+18496>>2]|0)==(m|0))_[e+18496>>2]=_[m+48>>2];_[e+18500>>2]=(_[e+18500>>2]|0)+-1;_[m+44>>2]=0;_[m+48>>2]=_[e+18504>>2];s=_[e+18504>>2]|0;if(s|0)_[s+44>>2]=m;_[e+18504>>2]=m;_[e+18508>>2]=(_[e+18508>>2]|0)+1;m=0;return m|0}function Ge(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0,l=0,f=0,b=0;o=_[t+8>>2]|0;if((o|0)>0){s=_[t+16>>2]|0;r=0;i=0;do{c=_[s+(r<<2)>>2]|0;if(!(_[c+204>>2]&3)){_[c+208>>2]=i;i=i+1|0}_[c+212>>2]=-1;a[c+268>>2]=1.0;r=r+1|0}while((r|0)!=(o|0));c=i}else c=0;s=_[e+8>>2]|0;if((s|0)<(c|0)){if((_[e+12>>2]|0)<(c|0)){if(!c){i=0;o=s}else{_[6293]=(_[6293]|0)+1;i=cc((c<<3|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=_[e+8>>2]|0}if((o|0)>0){r=0;do{b=(_[e+16>>2]|0)+(r<<3)|0;l=_[b+4>>2]|0;f=i+(r<<3)|0;_[f>>2]=_[b>>2];_[f+4>>2]=l;r=r+1|0}while((r|0)!=(o|0))}r=_[e+16>>2]|0;if(r|0){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=i;_[e+12>>2]=c;r=e+16|0}else r=e+16|0;i=s;do{b=(_[r>>2]|0)+(i<<3)|0;_[b>>2]=0;_[b+4>>2]=0;i=i+1|0}while((i|0)!=(c|0))}_[e+8>>2]=c;if((c|0)>0){r=_[e+16>>2]|0;i=0;do{_[r+(i<<3)>>2]=i;_[r+(i<<3)+4>>2]=1;i=i+1|0}while((i|0)!=(c|0))}i=_[t+68>>2]|0;i=ya[_[(_[i>>2]|0)+36>>2]&127](i)|0;f=ya[_[(_[i>>2]|0)+36>>2]&127](i)|0;if(!f)return;l=ya[_[(_[i>>2]|0)+20>>2]&127](i)|0;if((f|0)<=0)return;t=0;do{i=_[_[l+(t<<4)>>2]>>2]|0;r=_[_[l+(t<<4)+4>>2]>>2]|0;if((i|0?r|0?(_[i+204>>2]&7|0)==0:0:0)?(_[r+204>>2]&7|0)==0:0){s=_[i+208>>2]|0;i=_[r+208>>2]|0;c=_[e+16>>2]|0;r=_[c+(s<<3)>>2]|0;if((r|0)!=(s|0)){o=c+(s<<3)|0;do{s=c+(r<<3)|0;_[o>>2]=_[s>>2];s=_[s>>2]|0;o=c+(s<<3)|0;r=_[o>>2]|0}while((s|0)!=(r|0))}r=_[c+(i<<3)>>2]|0;if((r|0)!=(i|0)){o=c+(i<<3)|0;do{i=c+(r<<3)|0;_[o>>2]=_[i>>2];i=_[i>>2]|0;o=c+(i<<3)|0;r=_[o>>2]|0}while((i|0)!=(r|0))}if((s|0)!=(i|0)){_[c+(s<<3)>>2]=i;b=c+(i<<3)+4|0;_[b>>2]=(_[b>>2]|0)+(_[c+(s<<3)+4>>2]|0)}}t=t+1|0}while((t|0)!=(f|0));return}function He(e){e=e|0;var t=0,i=0;_[e>>2]=5344;if(n[e+20>>0]|0){t=_[e+16>>2]|0;i=_[t+16>>2]|0;if(i){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);t=_[e+16>>2]|0}if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}}if(n[e+12>>0]|0){t=_[e+8>>2]|0;i=_[t+16>>2]|0;if(i){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);t=_[e+8>>2]|0}if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}}t=_[e+28>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+28>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+32>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+32>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+36>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+36>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+40>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+40>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+44>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+44>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+48>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+48>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+52>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+52>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+56>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+56>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+72>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+72>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+76>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+76>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+68>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+68>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+84>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+84>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+80>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+80>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+24>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+24>>2]|0;if(!t)return;_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);return}function Ie(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0;C=+a[t>>2];g=+a[t+4>>2];y=+a[t+8>>2];h=1.0/+W(+(C*C+g*g+y*y));S=+a[i>>2];k=+a[i+4>>2];w=+a[i+8>>2];v=1.0/+W(+(S*S+k*k+w*w));x=y*h*k*v-g*h*w*v;R=C*h*w*v-y*h*S*v;j=g*h*S*v-C*h*k*v;i=_[e+28>>2]|0;n=+a[i+4>>2];o=+a[i+20>>2];c=+a[i+36>>2];r=+a[i+8>>2];s=+a[i+24>>2];l=+a[i+40>>2];f=+a[i+12>>2];p=+a[i+28>>2];d=+a[i+44>>2];b=-+a[i+52>>2];u=-+a[i+56>>2];m=-+a[i+60>>2];a[e+48>>2]=j*c+(n*x+o*R);a[e+52>>2]=n*S*v+k*v*o+w*v*c;a[e+56>>2]=C*h*n+g*h*o+y*h*c;a[e+60>>2]=0.0;a[e+64>>2]=x*r+R*s+j*l;a[e+68>>2]=S*v*r+k*v*s+w*v*l;a[e+72>>2]=C*h*r+g*h*s+y*h*l;a[e+76>>2]=0.0;a[e+80>>2]=x*f+R*p+j*d;a[e+84>>2]=S*v*f+k*v*p+w*v*d;a[e+88>>2]=C*h*f+g*h*p+y*h*d;a[e+92>>2]=0.0;a[e+96>>2]=n*0.0+o*0.0+c*0.0+(n*b+o*u+c*m);a[e+100>>2]=r*0.0+s*0.0+l*0.0+(r*b+s*u+l*m);a[e+104>>2]=f*0.0+p*0.0+d*0.0+(f*b+p*u+d*m);a[e+108>>2]=0.0;i=_[e+32>>2]|0;m=+a[i+4>>2];d=+a[i+20>>2];u=+a[i+36>>2];p=+a[i+8>>2];b=+a[i+24>>2];f=+a[i+40>>2];l=+a[i+12>>2];s=+a[i+28>>2];r=+a[i+44>>2];c=-+a[i+52>>2];o=-+a[i+56>>2];n=-+a[i+60>>2];a[e+112>>2]=x*m+R*d+j*u;a[e+116>>2]=S*v*m+k*v*d+w*v*u;a[e+120>>2]=C*h*m+g*h*d+y*h*u;a[e+124>>2]=0.0;a[e+128>>2]=x*p+R*b+j*f;a[e+132>>2]=S*v*p+k*v*b+w*v*f;a[e+136>>2]=C*h*p+g*h*b+y*h*f;a[e+140>>2]=0.0;a[e+144>>2]=x*l+R*s+j*r;a[e+148>>2]=S*v*l+k*v*s+w*v*r;a[e+152>>2]=C*h*l+g*h*s+y*h*r;a[e+156>>2]=0.0;a[e+160>>2]=m*0.0+d*0.0+u*0.0+(m*c+d*o+u*n);a[e+164>>2]=p*0.0+b*0.0+f*0.0+(p*c+b*o+f*n);a[e+168>>2]=l*0.0+s*0.0+r*0.0+(l*c+s*o+r*n);a[e+172>>2]=0.0;Xc(e,(_[e+28>>2]|0)+4|0,(_[e+32>>2]|0)+4|0);return}function Je(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0;_[6007]=(_[6007]|0)+1;r=_[e+24>>2]|0;if(!r){if(!(_[i+8>>2]&_[t+4>>2])){e=0;return e|0}if(!(_[t+8>>2]&_[i+4>>2])){e=0;return e|0}}else if(!(xa[_[(_[r>>2]|0)+8>>2]&63](r,t,i)|0)){e=0;return e|0}l=(_[t+12>>2]|0)>(_[i+12>>2]|0);f=l?i:t;o=_[f+12>>2]|0;l=l?t:i;t=_[l+12>>2]|0;c=(((t<<16|o)+~((t<<16|o)<<15)|0)>>>10^(t<<16|o)+~((t<<16|o)<<15))*9|0;c=((c>>>6^c)+~((c>>>6^c)<<11)|0)>>>16^(c>>>6^c)+~((c>>>6^c)<<11);a=_[e+12>>2]|0;r=_[(_[e+40>>2]|0)+((c&a+-1)<<2)>>2]|0;e:do{if((r|0)!=-1){i=_[e+16>>2]|0;while(1){if((_[(_[i+(r<<4)>>2]|0)+12>>2]|0)==(o|0)?(_[(_[i+(r<<4)+4>>2]|0)+12>>2]|0)==(t|0):0)break;r=_[(_[e+60>>2]|0)+(r<<2)>>2]|0;if((r|0)==-1)break e}r=i+(r<<4)|0;if(r|0){e=r;return e|0}}}while(0);s=_[e+8>>2]|0;if((s|0)==(a|0)){o=a|0?a<<1:1;if((a|0)<(o|0)){if(!o){r=0;t=a}else{_[6293]=(_[6293]|0)+1;r=cc((o<<4|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}t=_[e+8>>2]|0}if((t|0)>0){i=0;do{b=_[e+16>>2]|0;_[r+(i<<4)>>2]=_[b+(i<<4)>>2];_[r+(i<<4)+4>>2]=_[b+(i<<4)+4>>2];_[r+(i<<4)+8>>2]=_[b+(i<<4)+8>>2];_[r+(i<<4)+12>>2]=_[b+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(t|0))}i=_[e+16>>2]|0;if(i){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);t=_[e+8>>2]|0}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=r;_[e+12>>2]=o;r=o}else{t=a;r=a}}else{t=s;r=a}_[e+8>>2]=t+1;i=_[e+16>>2]|0;t=_[e+68>>2]|0;if(t){xa[_[(_[t>>2]|0)+8>>2]&63](t,f,l)|0;r=_[e+12>>2]|0}if((a|0)<(r|0)){cf(e);r=(_[e+12>>2]|0)+-1&c}else r=c&a+-1;b=(_[f+12>>2]|0)<(_[l+12>>2]|0);_[i+(s<<4)>>2]=b?f:l;_[i+(s<<4)+4>>2]=b?l:f;_[i+(s<<4)+8>>2]=0;_[i+(s<<4)+8+4>>2]=0;b=(_[e+40>>2]|0)+(r<<2)|0;_[(_[e+60>>2]|0)+(s<<2)>>2]=_[b>>2];_[b>>2]=s;b=i+(s<<4)|0;return b|0}function Ke(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0,d=0,m=0;n=_[e+108>>2]|0;if(n|0)Za[_[(_[n>>2]|0)+12>>2]&127](n,_[t+60>>2]|0,i);u=_[t+12>>2]|0;d=_[e+60>>2]|0;p=_[e+92>>2]|0;if(!(ya[_[(_[p>>2]|0)+56>>2]&127](p)|0)){p=_[e+92>>2]|0;Za[_[(_[p>>2]|0)+16>>2]&127](p,d+((u&65535)<<6)|0,i)}b=s[e+56>>1]|0;f=_[e+60>>2]|0;r[f+54>>1]=(s[f+54>>1]|0)+65534;r[f+56>>1]=(s[f+56>>1]|0)+65534;r[f+58>>1]=(s[f+58>>1]|0)+65534;f=0;t=r[e+6>>1]|0;do{l=e+68+(f<<2)|0;p=_[l>>2]|0;n=s[d+((u&65535)<<6)+54+(f<<1)>>1]|0;r[p+(n<<2)>>1]=t;i=r[p+(n<<2)+6>>1]|0;if(!(i<<16>>16))i=p;else{a=(_[e+60>>2]|0)+((s[p+(n<<2)+2>>1]|0)<<6)+54+(f<<1)|0;c=p+(n<<2)|0;while(1){o=c;c=c+4|0;n=r[c>>1]|0;if((t&65535)<(n&65535))break;m=_[e+60>>2]|0;t=i&65535;t=(n&1)==0?m+(t<<6)+48+(f<<1)|0:m+(t<<6)+54+(f<<1)|0;r[t>>1]=(r[t>>1]|0)+-1<<16>>16;r[a>>1]=(r[a>>1]|0)+1<<16>>16;t=s[o>>1]|s[o+2>>1]<<16;n=s[c>>1]|s[c+2>>1]<<16;r[o>>1]=n;r[o+2>>1]=n>>>16;r[c>>1]=t;r[c+2>>1]=t>>>16;i=r[o+10>>1]|0;if(!(i<<16>>16))break;else t=t&65535}t=r[e+6>>1]|0;i=_[l>>2]|0}n=s[d+((u&65535)<<6)+48+(f<<1)>>1]|0;r[p+(n<<2)>>1]=t;c=i+(n<<2)|0;o=r[c+6>>1]|0;if(o<<16>>16){l=(_[e+60>>2]|0)+((s[i+(n<<2)+2>>1]|0)<<6)+48+(f<<1)|0;a=c;i=r[c>>1]|0;while(1){n=a;a=a+4|0;t=r[a>>1]|0;if((i&65535)<(t&65535))break;c=_[e+60>>2]|0;m=o&65535;t=(t&1)==0?c+(m<<6)+48+(f<<1)|0:c+(m<<6)+54+(f<<1)|0;r[t>>1]=(r[t>>1]|0)+-1<<16>>16;r[l>>1]=(r[l>>1]|0)+1<<16>>16;t=s[n>>1]|s[n+2>>1]<<16;m=s[a>>1]|s[a+2>>1]<<16;r[n>>1]=m;r[n+2>>1]=m>>>16;r[a>>1]=t;r[a+2>>1]=t>>>16;o=r[n+10>>1]|0;if(!(o<<16>>16))break;else i=t&65535}t=r[e+6>>1]|0}r[p+((b<<1)+-1<<2)+2>>1]=0;r[p+((b<<1)+-1<<2)>>1]=t;f=f+1|0}while((f|0)!=3);r[(_[e+60>>2]|0)+((u&65535)<<6)+48>>1]=r[e+64>>1]|0;r[e+64>>1]=u;r[e+56>>1]=(r[e+56>>1]|0)+-1<<16>>16;return}function Le(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0,h=0.0,y=0,g=0.0,C=0.0,v=0.0,w=0,k=0;w=u;u=u+32|0;m=_[e+12>>2]|0;h=+a[m+(((n+i|0)/2|0)*24|0)>>2];g=+a[m+(((n+i|0)/2|0)*24|0)+4>>2];C=+a[m+(((n+i|0)/2|0)*24|0)+8>>2];v=+a[m+(((n+i|0)/2|0)*24|0)+16>>2];y=_[m+(((n+i|0)/2|0)*24|0)+20>>2]|0;r=n;o=i;while(1){f=+a[t>>2];b=+a[t+4>>2];p=+a[t+8>>2];d=(h-f)*(h-f)+(g-b)*(g-b)+(C-p)*(C-p);e:while(1){s=+a[m+(o*24|0)+16>>2];do{if(s!=v){if(!(s<v))break e}else{s=+a[m+(o*24|0)>>2]-f;c=+a[m+(o*24|0)+4>>2]-b;l=+a[m+(o*24|0)+8>>2]-p;if(s*s+c*c+l*l!=d)if(s*s+c*c+l*l<d)break;else break e;else if((_[m+(o*24|0)+20>>2]|0)<(y|0))break;else break e}}while(0);o=o+1|0}e:while(1){s=+a[m+(r*24|0)+16>>2];do{if(v!=s){if(!(v<s))break e}else{s=+a[m+(r*24|0)>>2]-f;c=+a[m+(r*24|0)+4>>2]-b;l=+a[m+(r*24|0)+8>>2]-p;if(d!=s*s+c*c+l*l)if(d<s*s+c*c+l*l)break;else break e;else if((y|0)<(_[m+(r*24|0)+20>>2]|0))break;else break e}}while(0);r=r+-1|0}if((o|0)<=(r|0)){k=m+(o*24|0)|0;_[w>>2]=_[k>>2];_[w+4>>2]=_[k+4>>2];_[w+8>>2]=_[k+8>>2];_[w+12>>2]=_[k+12>>2];_[w+16>>2]=_[k+16>>2];_[w+20>>2]=_[k+20>>2];m=m+(r*24|0)|0;_[k>>2]=_[m>>2];_[k+4>>2]=_[m+4>>2];_[k+8>>2]=_[m+8>>2];_[k+12>>2]=_[m+12>>2];_[k+16>>2]=_[m+16>>2];_[k+20>>2]=_[m+20>>2];m=(_[e+12>>2]|0)+(r*24|0)|0;_[m>>2]=_[w>>2];_[m+4>>2]=_[w+4>>2];_[m+8>>2]=_[w+8>>2];_[m+12>>2]=_[w+12>>2];_[m+16>>2]=_[w+16>>2];_[m+20>>2]=_[w+20>>2];r=r+-1|0;o=o+1|0}if((o|0)>(r|0))break;m=_[e+12>>2]|0}if((r|0)>(i|0))Le(e,t,i,r);if((o|0)>=(n|0)){u=w;return}Le(e,t,o,n);u=w;return}function Me(e,t){e=e|0;t=t|0;var i=0.0,n=0,r=0.0,o=0,s=0,c=0,l=0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0;c=_[e+28>>2]|0;l=_[e+32>>2]|0;n=_[t+8>>2]|0;a[n>>2]=1.0;o=_[t+24>>2]|0;a[n+(o+1<<2)>>2]=1.0;a[n+((o<<1)+2<<2)>>2]=1.0;f=+a[e+300>>2];m=+a[e+304>>2];r=+a[e+308>>2];u=+a[c+4>>2]*f+ +a[c+8>>2]*m+ +a[c+12>>2]*r;b=f*+a[c+20>>2]+m*+a[c+24>>2]+r*+a[c+28>>2];r=f*+a[c+36>>2]+m*+a[c+40>>2]+r*+a[c+44>>2];n=_[t+12>>2]|0;_[n>>2]=0;a[n+4>>2]=r;a[n+8>>2]=-b;a[n+12>>2]=0.0;a[n+(o<<2)>>2]=-r;_[n+(o<<2)+4>>2]=0;a[n+(o<<2)+8>>2]=u;a[n+(o<<2)+12>>2]=0.0;a[n+(o<<1<<2)>>2]=b;a[n+(o<<1<<2)+4>>2]=-u;_[n+(o<<1<<2)+8>>2]=0;a[n+(o<<1<<2)+12>>2]=0.0;n=_[t+16>>2]|0;a[n>>2]=-1.0;a[n+(o+1<<2)>>2]=-1.0;a[n+((o<<1)+2<<2)>>2]=-1.0;m=+a[e+316>>2];f=+a[e+320>>2];i=+a[e+324>>2];d=+a[l+4>>2]*m+ +a[l+8>>2]*f+ +a[l+12>>2]*i;p=m*+a[l+20>>2]+f*+a[l+24>>2]+i*+a[l+28>>2];i=m*+a[l+36>>2]+f*+a[l+40>>2]+i*+a[l+44>>2];o=_[t+20>>2]|0;n=_[t+24>>2]|0;_[o>>2]=0;a[o+4>>2]=-i;a[o+8>>2]=p;a[o+12>>2]=0.0;a[o+(n<<2)>>2]=i;_[o+(n<<2)+4>>2]=0;a[o+(n<<2)+8>>2]=-d;a[o+(n<<2)+12>>2]=0.0;a[o+(n<<1<<2)>>2]=-p;a[o+(n<<1<<2)+4>>2]=d;_[o+(n<<1<<2)+8>>2]=0;a[o+(n<<1<<2)+12>>2]=0.0;o=_[e+332>>2]|0;f=+a[(o&1|0?e+336|0:t+4|0)>>2]*+a[t>>2];s=_[t+28>>2]|0;a[s>>2]=f*(d+ +a[l+52>>2]-u-+a[c+52>>2]);a[s+(n<<2)>>2]=f*(p+ +a[l+56>>2]-b-+a[c+56>>2]);a[s+(n<<1<<2)>>2]=f*(i+ +a[l+60>>2]-r-+a[c+60>>2]);if(o&2|0){l=_[t+32>>2]|0;_[l>>2]=_[e+340>>2];_[l+(n<<2)>>2]=_[e+340>>2];_[l+(n<<1<<2)>>2]=_[e+340>>2]}r=+a[e+356>>2];if(r>0.0){a[_[t+36>>2]>>2]=-r;a[_[t+40>>2]>>2]=r;i=+a[e+356>>2]}else i=r;if(i>0.0){a[(_[t+36>>2]|0)+(n<<2)>>2]=-r;a[(_[t+40>>2]|0)+(n<<2)>>2]=r;i=+a[e+356>>2]}if(!(i>0.0)){c=e+352|0;c=_[c>>2]|0;l=t+48|0;_[l>>2]=c;return}a[(_[t+36>>2]|0)+(n<<1<<2)>>2]=-r;a[(_[t+40>>2]|0)+(n<<1<<2)>>2]=r;c=e+352|0;c=_[c>>2]|0;l=t+48|0;_[l>>2]=c;return}function Ne(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,d=0,m=0;m=u;u=u+32|0;n[m+16>>0]=1;_[m+12>>2]=0;_[m+4>>2]=0;_[m+8>>2]=0;i=_[e+8>>2]|0;if((i|0)>0){p=0;c=0;s=0;o=0;r=0;while(1){f=_[e+16>>2]|0;b=f+(p<<4)|0;if((o|0)==(r|0)){a=r|0?r<<1:1;if((r|0)<(a|0)){if(a){_[6293]=(_[6293]|0)+1;i=cc((a<<4|3)+16|0)|0;if(!i){c=0;r=o}else{_[(i+4+15&-16)+-4>>2]=i;c=i+4+15&-16;r=o}}else c=0;if((r|0)>0){i=0;do{l=_[m+12>>2]|0;_[c+(i<<4)>>2]=_[l+(i<<4)>>2];_[c+(i<<4)+4>>2]=_[l+(i<<4)+4>>2];_[c+(i<<4)+8>>2]=_[l+(i<<4)+8>>2];_[c+(i<<4)+12>>2]=_[l+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(r|0))}i=_[m+12>>2]|0;if(!i)o=r;else{_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);_[m+12>>2]=0}_[m+12>>2]=c;l=a;s=a;a=o;r=c;i=_[e+8>>2]|0}else{l=r;a=r;r=c}}else{l=r;a=o;r=c}_[r+(a<<4)>>2]=_[b>>2];_[r+(a<<4)+4>>2]=_[f+(p<<4)+4>>2];_[r+(a<<4)+8>>2]=_[f+(p<<4)+8>>2];_[r+(a<<4)+12>>2]=_[f+(p<<4)+12>>2];o=a+1|0;p=p+1|0;if((p|0)>=(i|0))break;else{c=r;r=l}}_[m+4>>2]=o;n[m+16>>0]=1;_[m+8>>2]=s;if((a|0)>-1){r=_[m+12>>2]|0;i=0;while(1){Ua[_[(_[e>>2]|0)+12>>2]&31](e,_[r+(i<<4)>>2]|0,_[r+(i<<4)+4>>2]|0,t)|0;if((i|0)<(a|0))i=i+1|0;else break}}}else o=0;if((_[e+52>>2]|0)>0){r=_[e+60>>2]|0;i=0;do{_[r+(i<<2)>>2]=-1;i=i+1|0}while((i|0)<(_[e+52>>2]|0))}if((o|0)<=1)if((o|0)<=0){i=_[m+12>>2]|0;if(!i){u=m;return}}else d=23;else{Vd(m,0,o+-1|0);d=23}if((d|0)==23){i=_[m+12>>2]|0;r=0;do{xa[_[(_[e>>2]|0)+8>>2]&63](e,_[i+(r<<4)>>2]|0,_[i+(r<<4)+4>>2]|0)|0;r=r+1|0}while((r|0)<(o|0))}_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);_[m+12>>2]=0;u=m;return}function Oe(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,c=0,l=0,f=0,b=0,p=0,u=0,d=0,m=0,h=0,y=0,g=0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0;d=_[e>>2]|0;v=+a[t>>2];j=+a[t+4>>2];M=+a[t+8>>2];I=+a[e+24>>2];v=v<I?I:v;S=+a[e+28>>2];j=j<S?S:j;C=+a[e+32>>2];M=M<C?C:M;D=+a[e+40>>2];R=+a[e+44>>2];w=+a[e+48>>2];T=+a[e+56>>2];x=+a[e+60>>2];k=+a[e+64>>2];m=~~(((D<v?D:v)-I)*T+.5)&65535;h=~~(((R<j?R:j)-S)*x+.5)&65535;y=~~(((w<M?w:M)-C)*k+.5)&65535;M=+a[t+16>>2];j=+a[t+20>>2];v=+a[t+24>>2];M=M<I?I:M;j=j<S?S:j;v=v<C?C:v;b=~~(T*((D<M?D:M)-I)+.5)&65535;p=~~(x*((R<j?R:j)-S)+.5)&65535;u=~~(k*((w<v?w:v)-C)+.5)&65535;if((d|0)<=0)return;f=0;do{t=_[e+16>>2]|0;if(((((s[t+(f<<4)>>1]|0)<=(b&65535)?(s[t+(f<<4)+6>>1]|0)>=(m&65535):0)?(s[t+(f<<4)+2>>1]|0)<=(p&65535):0)?(s[t+(f<<4)+8>>1]|0)>=(h&65535):0)?(s[t+(f<<4)+4>>1]|0)<=(u&65535):0){r=(s[t+(f<<4)+10>>1]|0)>=(y&65535);l=_[t+(f<<4)+12>>2]|0;if(r&(l|0)>-1){r=_[i+4>>2]|0;if((r|0)==(_[i+8>>2]|0)?(g=r|0?r<<1:1,(r|0)<(g|0)):0){if(!g)t=0;else{_[6293]=(_[6293]|0)+1;t=cc((g<<2|3)+16|0)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}r=_[i+4>>2]|0}c=_[i+12>>2]|0;if((r|0)<=0){if(c)o=19}else{o=0;do{_[t+(o<<2)>>2]=_[c+(o<<2)>>2];o=o+1|0}while((o|0)!=(r|0));o=19}if((o|0)==19){o=0;if(n[i+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[i+12>>2]=0;r=_[i+4>>2]|0}n[i+16>>0]=1;_[i+12>>2]=t;_[i+8>>2]=g;t=r}else t=r;_[(_[i+12>>2]|0)+(t<<2)>>2]=l;_[i+4>>2]=(_[i+4>>2]|0)+1;t=1}else{t=(l|0)>-1;o=24}}else{r=0;t=(_[t+(f<<4)+12>>2]|0)>-1;o=24}if((o|0)==24){o=0;if(r|t)t=1;else t=0-(_[(_[e+16>>2]|0)+(f<<4)+12>>2]|0)|0}f=t+f|0}while((f|0)<(d|0));return}function Pe(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0,m=0.0,h=0.0,y=0.0,g=0,C=0.0,v=0.0,w=0,k=0.0,S=0,j=0,R=0,x=0,I=0,M=0.0,D=0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0;x=(n[e+68>>0]|0)!=0;I=x?i:t;x=x?t:i;j=_[e+52>>2]|0;if((j|0)<=0){k=1.0;return+k}R=(_[I+192>>2]|0)+28|0;c=+a[I+4>>2];C=+a[I+8>>2];v=+a[I+12>>2];w=_[I+16>>2]|0;k=+a[I+20>>2];l=+a[I+24>>2];f=+a[I+28>>2];i=_[I+32>>2]|0;b=+a[I+36>>2];p=+a[I+40>>2];u=+a[I+44>>2];d=_[I+48>>2]|0;m=+a[I+52>>2];h=+a[I+56>>2];y=+a[I+60>>2];g=_[I+64>>2]|0;s=1.0;t=0;S=_[I+304>>2]|0;do{D=_[R>>2]|0;V=+a[D+(t*80|0)>>2];L=+a[D+(t*80|0)+16>>2];B=+a[D+(t*80|0)+32>>2];P=+a[D+(t*80|0)+4>>2];A=+a[D+(t*80|0)+20>>2];F=+a[D+(t*80|0)+36>>2];W=+a[D+(t*80|0)+8>>2];G=+a[D+(t*80|0)+24>>2];H=+a[D+(t*80|0)+40>>2];O=+a[D+(t*80|0)+48>>2];T=+a[D+(t*80|0)+52>>2];M=+a[D+(t*80|0)+56>>2];_[I+304>>2]=S+1;a[I+4>>2]=c*V+C*L+v*B;a[I+8>>2]=c*P+C*A+v*F;a[I+12>>2]=c*W+C*G+v*H;a[I+16>>2]=0.0;a[I+20>>2]=k*V+l*L+f*B;a[I+24>>2]=k*P+l*A+f*F;a[I+28>>2]=k*W+l*G+f*H;a[I+32>>2]=0.0;a[I+36>>2]=b*V+p*L+u*B;a[I+40>>2]=b*P+p*A+u*F;a[I+44>>2]=b*W+p*G+u*H;a[I+48>>2]=0.0;a[I+52>>2]=m+(c*O+C*T+v*M);a[I+56>>2]=h+(k*O+l*T+f*M);a[I+60>>2]=y+(b*O+p*T+u*M);a[I+64>>2]=0.0;D=_[(_[e+60>>2]|0)+(t<<2)>>2]|0;M=+Ra[_[(_[D>>2]|0)+12>>2]&15](D,I,x,r,o);s=M<s?M:s;S=(_[I+304>>2]|0)+1|0;_[I+304>>2]=S;a[I+4>>2]=c;a[I+8>>2]=C;a[I+12>>2]=v;_[I+16>>2]=w;a[I+20>>2]=k;a[I+24>>2]=l;a[I+28>>2]=f;_[I+32>>2]=i;a[I+36>>2]=b;a[I+40>>2]=p;a[I+44>>2]=u;_[I+48>>2]=d;a[I+52>>2]=m;a[I+56>>2]=h;a[I+60>>2]=y;_[I+64>>2]=g;t=t+1|0}while((t|0)!=(j|0));return+s}function Qe(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0;s=_r()|0;_[s+4>>2]=7;_[s+8>>2]=-1;_[s+12>>2]=-1;a[s+16>>2]=3402823466385288598117041.0e14;n[s+20>>0]=1;n[s+21>>0]=0;_[s+24>>2]=-1;_[s+28>>2]=e;_[s+32>>2]=t;a[s+36>>2]=0.0;a[s+40>>2]=.05000000074505806;_[s+44>>2]=0;_[s>>2]=3900;n[s+48>>0]=0;_[s+52>>2]=_[i>>2];_[s+52+4>>2]=_[i+4>>2];_[s+52+8>>2]=_[i+8>>2];_[s+52+12>>2]=_[i+12>>2];_[s+68>>2]=_[i+16>>2];_[s+68+4>>2]=_[i+16+4>>2];_[s+68+8>>2]=_[i+16+8>>2];_[s+68+12>>2]=_[i+16+12>>2];_[s+84>>2]=_[i+32>>2];_[s+84+4>>2]=_[i+32+4>>2];_[s+84+8>>2]=_[i+32+8>>2];_[s+84+12>>2]=_[i+32+12>>2];_[s+100>>2]=_[i+48>>2];_[s+100+4>>2]=_[i+48+4>>2];_[s+100+8>>2]=_[i+48+8>>2];_[s+100+12>>2]=_[i+48+12>>2];_[s+116>>2]=_[r>>2];_[s+116+4>>2]=_[r+4>>2];_[s+116+8>>2]=_[r+8>>2];_[s+116+12>>2]=_[r+12>>2];_[s+132>>2]=_[r+16>>2];_[s+132+4>>2]=_[r+16+4>>2];_[s+132+8>>2]=_[r+16+8>>2];_[s+132+12>>2]=_[r+16+12>>2];_[s+148>>2]=_[r+32>>2];_[s+148+4>>2]=_[r+32+4>>2];_[s+148+8>>2]=_[r+32+8>>2];_[s+148+12>>2]=_[r+32+12>>2];_[s+164>>2]=_[r+48>>2];_[s+164+4>>2]=_[r+48+4>>2];_[s+164+8>>2]=_[r+48+8>>2];_[s+164+12>>2]=_[r+48+12>>2];n[s+180>>0]=o&1;a[s+184>>2]=1.0;a[s+188>>2]=-1.0;a[s+192>>2]=0.0;a[s+196>>2]=0.0;a[s+200>>2]=1.0;a[s+204>>2]=.699999988079071;a[s+208>>2]=0.0;a[s+212>>2]=0.0;a[s+216>>2]=1.0;a[s+220>>2]=.699999988079071;a[s+224>>2]=0.0;a[s+228>>2]=0.0;a[s+264>>2]=1.0;a[s+268>>2]=.699999988079071;a[s+272>>2]=1.0;a[s+276>>2]=0.0;a[s+280>>2]=1.0;a[s+284>>2]=.699999988079071;a[s+288>>2]=1.0;a[s+292>>2]=0.0;a[s+232>>2]=1.0;a[s+236>>2]=.699999988079071;a[s+240>>2]=1.0;a[s+244>>2]=0.0;a[s+248>>2]=1.0;a[s+252>>2]=.699999988079071;a[s+256>>2]=1.0;a[s+260>>2]=0.0;n[s+1096>>0]=0;a[s+1116>>2]=0.0;a[s+1120>>2]=0.0;a[s+1124>>2]=0.0;_[s+300>>2]=0;_[s+1100>>2]=0;_[s+1100+4>>2]=0;_[s+1100+8>>2]=0;n[s+1100+12>>0]=0;n[s+49>>0]=1;Nc(s,(_[s+28>>2]|0)+4|0,(_[s+32>>2]|0)+4|0);return s|0}function Re(e,t){e=e|0;t=t|0;var i=0.0,r=0.0,o=0.0,s=0.0,c=0,l=0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0;c=u;u=u+64|0;fg(_[e+108>>2]|0,t,0);i=+a[t+204>>2]+ +a[t+212>>2];o=i*+a[t+56>>2]+ +a[t+40>>2];s=i*+a[t+60>>2]+ +a[t+44>>2];a[t+16>>2]=+a[t+52>>2]*i+ +a[t+36>>2];a[t+20>>2]=o;a[t+24>>2]=s;a[t+28>>2]=0.0;a[c+32>>2]=-1.0;l=_[e+92>>2]|0;l=Ua[_[(_[l>>2]|0)+8>>2]&31](l,t+36|0,t+16|0,c)|0;_[t+88>>2]=0;if(!l){_[t+32>>2]=_[t+204>>2];a[t+272>>2]=0.0;o=-+a[t+56>>2];s=-+a[t+60>>2];a[t>>2]=-+a[t+52>>2];a[t+4>>2]=o;a[t+8>>2]=s;a[t+12>>2]=0.0;s=-1.0;o=1.0;l=t+268|0;a[l>>2]=o;u=c;return+s}r=i*+a[c+32>>2];_[t>>2]=_[c+16>>2];_[t+4>>2]=_[c+16+4>>2];_[t+8>>2]=_[c+16+8>>2];_[t+12>>2]=_[c+16+12>>2];n[t+84>>0]=1;if((n[22320]|0)==0?Dy(22320)|0:0){_[c+40>>2]=0;_[c+40+4>>2]=0;_[c+40+8>>2]=0;_[c+40+12>>2]=0;Ae(23344,0.0,0,0,c+40|0)}_[5887]=_[5887]|1;a[5937]=0.0;i=+a[5947]*0.0;o=+a[5948]*0.0;a[5942]=+a[5946]*0.0;a[5943]=i;a[5944]=o;a[5945]=0.0;_[5950]=0;_[5951]=0;_[5952]=0;_[5953]=0;o=+a[5939]*0.0;i=+a[5940]*0.0;a[5991]=+a[5938]*0.0;a[5992]=o;a[5993]=i;a[5994]=0.0;_[t+88>>2]=23344;i=r-+a[t+212>>2];a[t+32>>2]=i;o=+a[t+204>>2];s=+a[t+208>>2]*.009999999776482582;if(i<o-s){a[t+32>>2]=o-s;i=o-s}if(i>o+s)a[t+32>>2]=o+s;_[t+16>>2]=_[c>>2];_[t+16+4>>2]=_[c+4>>2];_[t+16+8>>2]=_[c+8>>2];_[t+16+12>>2]=_[c+12>>2];y=+a[t>>2];h=+a[t+4>>2];p=+a[t+8>>2];o=y*+a[t+52>>2]+h*+a[t+56>>2]+p*+a[t+60>>2];l=_[e+108>>2]|0;i=+a[t+16>>2]-+a[l+52>>2];b=+a[t+20>>2]-+a[l+56>>2];d=+a[t+24>>2]-+a[l+60>>2];s=+a[l+392>>2];m=+a[l+396>>2];f=+a[l+388>>2];a[t+272>>2]=!(o>=-.10000000149011612)?-1.0/o*(y*(s*d-b*m+ +a[l+372>>2])+h*(+a[l+376>>2]+(i*m-d*f))+p*(b*f-i*s+ +a[l+380>>2])):0.0;s=r;o=!(o>=-.10000000149011612)?-1.0/o:10.0;l=t+268|0;a[l>>2]=o;u=c;return+s}function Se(e,t){e=e|0;t=t|0;var i=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0;p=u;u=u+64|0;i=_[t+192>>2]|0;$a[_[(_[i>>2]|0)+8>>2]&127](i,t+4|0,p+48|0,p+32|0);r=+a[p+48>>2]+-.019999999552965164;a[p+48>>2]=r;s=+a[p+48+4>>2]+-.019999999552965164;a[p+48+4>>2]=s;c=+a[p+48+8>>2]+-.019999999552965164;a[p+48+8>>2]=c;o=+a[p+32>>2]+.019999999552965164;a[p+32>>2]=o;l=+a[p+32+4>>2]+.019999999552965164;a[p+32+4>>2]=l;f=+a[p+32+8>>2]+.019999999552965164;a[p+32+8>>2]=f;if(((n[e+44>>0]|0)!=0?(_[t+252>>2]|0)==2:0)?(_[t+204>>2]&3|0)==0:0){i=_[t+192>>2]|0;$a[_[(_[i>>2]|0)+8>>2]&127](i,t+68|0,p+16|0,p);r=+a[p+16>>2]+-.019999999552965164;a[p+16>>2]=r;c=+a[p+16+4>>2]+-.019999999552965164;a[p+16+4>>2]=c;l=+a[p+16+8>>2]+-.019999999552965164;a[p+16+8>>2]=l;o=+a[p>>2]+.019999999552965164;a[p>>2]=o;f=+a[p+4>>2]+.019999999552965164;a[p+4>>2]=f;b=+a[p+8>>2]+.019999999552965164;a[p+8>>2]=b;s=+a[p+48>>2];if(r<s)a[p+48>>2]=r;else r=s;s=+a[p+48+4>>2];if(c<s){a[p+48+4>>2]=c;s=c}c=+a[p+48+8>>2];if(l<c){a[p+48+8>>2]=l;c=l}l=+a[p+16+12>>2];if(l<+a[p+48+12>>2])a[p+48+12>>2]=l;l=+a[p+32>>2];if(l<o)a[p+32>>2]=o;else o=l;l=+a[p+32+4>>2];if(l<f){a[p+32+4>>2]=f;l=f}f=+a[p+32+8>>2];if(f<b){a[p+32+8>>2]=b;f=b}b=+a[p+12>>2];if(+a[p+32+12>>2]<b)a[p+32+12>>2]=b}i=_[e+68>>2]|0;if((_[t+204>>2]&1|0)==0?(o=o-r,l=l-s,b=f-c,!(o*o+l*l+b*b<999999995904.0)):0){if((_[t+220>>2]&-2|0)!=4)_[t+220>>2]=5;if(!(n[13441]|0)){u=p;return}i=_[e+72>>2]|0;if(!i){u=p;return}n[13441]=0;ma[_[(_[i>>2]|0)+44>>2]&127](i,13442);t=_[e+72>>2]|0;ma[_[(_[t>>2]|0)+44>>2]&127](t,13491);t=_[e+72>>2]|0;ma[_[(_[t>>2]|0)+44>>2]&127](t,13559);e=_[e+72>>2]|0;ma[_[(_[e>>2]|0)+44>>2]&127](e,13624);u=p;return}ba[_[(_[i>>2]|0)+16>>2]&31](i,_[t+188>>2]|0,p+48|0,p+32|0,_[e+24>>2]|0);u=p;return}function Te(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0;e=u;u=u+608|0;d=+a[t+116>>2]-+a[t+52>>2];p=+a[t+120>>2]-+a[t+56>>2];b=+a[t+124>>2]-+a[t+60>>2];s=+a[i+116>>2]-+a[i+52>>2];c=+a[i+120>>2]-+a[i+56>>2];l=+a[i+124>>2]-+a[i+60>>2];f=+a[t+276>>2];if(d*d+p*p+b*b<f*f?(d=+a[i+276>>2],s*s+c*c+l*l<d*d):0){d=1.0;u=e;return+d}o=_[t+192>>2]|0;r=_[i+272>>2]|0;_[e+552+8>>2]=0;_[e+552+12>>2]=-1;m=e+552+28|0;_[e+552>>2]=7676;_[e+552+4>>2]=8;_[e+552+16>>2]=1065353216;_[e+552+20>>2]=1065353216;_[e+552+24>>2]=1065353216;_[m>>2]=0;_[m+4>>2]=0;_[m+8>>2]=0;_[m+12>>2]=0;_[m+16>>2]=0;_[e+552+32>>2]=r;_[e+552+48>>2]=r;a[e+552+52>>2]=0.0;_[e+376>>2]=4988;a[e+376+164>>2]=999999984306749440.0;_[e+376+168>>2]=0;a[e+376+172>>2]=0.0;a[e+16+308>>2]=9.999999747378752e-05;n[e+16+332>>0]=0;_[e>>2]=8836;_[e+4>>2]=e+16;_[e+8>>2]=o;_[e+12>>2]=e+552;if(jd(e,t+4|0,t+68|0,i+4|0,i+68|0,e+376|0)|0){s=+a[e+376+164>>2];if(+a[t+268>>2]>s)a[t+268>>2]=s;if(+a[i+268>>2]>s)a[i+268>>2]=s;if(!(s<1.0))s=1.0}else s=1.0;m=_[i+192>>2]|0;o=_[t+272>>2]|0;_[e+552+8>>2]=0;_[e+552+12>>2]=-1;r=e+552+28|0;_[e+552>>2]=7676;_[e+552+4>>2]=8;_[e+552+16>>2]=1065353216;_[e+552+20>>2]=1065353216;_[e+552+24>>2]=1065353216;_[r>>2]=0;_[r+4>>2]=0;_[r+8>>2]=0;_[r+12>>2]=0;_[r+16>>2]=0;_[e+552+32>>2]=o;_[e+552+48>>2]=o;a[e+552+52>>2]=0.0;_[e+376>>2]=4988;a[e+376+164>>2]=999999984306749440.0;_[e+376+168>>2]=0;a[e+376+172>>2]=0.0;a[e+16+308>>2]=9.999999747378752e-05;n[e+16+332>>0]=0;_[e>>2]=8836;_[e+4>>2]=e+16;_[e+8>>2]=e+552;_[e+12>>2]=m;if(jd(e,t+4|0,t+68|0,i+4|0,i+68|0,e+376|0)|0){c=+a[e+376+164>>2];if(+a[t+268>>2]>c)a[t+268>>2]=c;if(+a[i+268>>2]>c)a[i+268>>2]=c;if(s>c)s=c}d=s;u=e;return+d}function Ue(e,t,i,n,r,o,s){e=e|0;t=+t;i=+i;n=+n;r=r|0;o=+o;s=s|0;var c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0;y=u;u=u+16|0;c=i*o+ +a[e+52>>2];i=n*o+ +a[e+56>>2];a[s+48>>2]=t*o+ +a[e+48>>2];a[s+52>>2]=c;a[s+56>>2]=i;a[s+60>>2]=0.0;i=+a[r>>2];c=+a[r+4>>2];l=+a[r+8>>2];if(i*i+c*c+l*l>1.1920928955078125e-07)t=+W(+(i*i+c*c+l*l));else t=0.0;n=t*o>.7853981852531433?.7853981852531433/o:t;if(n<1.0000000474974513e-03)t=o*.5-n*o*o*o*.02083333395421505*n;else t=+P(+(n*.5*o))/n;h=t*i;m=t*c;d=t*l;i=+A(+(n*o*.5));Lg(e,y);n=+a[y>>2];c=+a[y+12>>2];l=+a[y+8>>2];o=+a[y+4>>2];t=(i*c-h*n-m*o-d*l)*(i*c-h*n-m*o-d*l)+((d*c+i*l+h*o-m*n)*(d*c+i*l+h*o-m*n)+((i*n+h*c+m*l-d*o)*(i*n+h*c+m*l-d*o)+(d*n+(m*c+i*o)-h*l)*(d*n+(m*c+i*o)-h*l)));if(t>1.1920928955078125e-07){t=1.0/+W(+t);f=(i*n+h*c+m*l-d*o)*t;b=(d*c+i*l+h*o-m*n)*t;p=(i*c-h*n-m*o-d*l)*t;t=(d*n+(m*c+i*o)-h*l)*t}else{f=i*n+h*c+m*l-d*o;b=d*c+i*l+h*o-m*n;p=i*c-h*n-m*o-d*l;t=d*n+(m*c+i*o)-h*l}i=p*p+(b*b+(t*t+f*f));if(i>1.1920928955078125e-07){m=f*(2.0/i);h=t*(2.0/i);n=b*(2.0/i);d=p*m;o=p*h;l=p*n;m=f*m;c=f*h;f=f*n;h=t*h;p=t*n;b=b*n;a[s>>2]=1.0-(h+b);a[s+4>>2]=c-l;a[s+8>>2]=f+o;a[s+12>>2]=0.0;a[s+16>>2]=c+l;a[s+20>>2]=1.0-(m+b);a[s+24>>2]=p-d;a[s+28>>2]=0.0;a[s+32>>2]=f-o;a[s+36>>2]=p+d;a[s+40>>2]=1.0-(m+h);a[s+44>>2]=0.0;u=y;return}else{_[s>>2]=_[e>>2];_[s+4>>2]=_[e+4>>2];_[s+8>>2]=_[e+8>>2];_[s+12>>2]=_[e+12>>2];_[s+16>>2]=_[e+16>>2];_[s+16+4>>2]=_[e+16+4>>2];_[s+16+8>>2]=_[e+16+8>>2];_[s+16+12>>2]=_[e+16+12>>2];_[s+32>>2]=_[e+32>>2];_[s+32+4>>2]=_[e+32+4>>2];_[s+32+8>>2]=_[e+32+8>>2];_[s+32+12>>2]=_[e+32+12>>2];u=y;return}}function Ve(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0.0,c=0.0,l=0.0;uc(e,(_[e+28>>2]|0)+4|0,(_[e+32>>2]|0)+4|0);_[t>>2]=0;_[t+4>>2]=0;switch(_[e+956>>2]|0){case 4:{i=2;o=3;break}case 0:{i=0;break}default:{i=1;o=3}}if((o|0)==3)_[t>>2]=i;if(n[e+792>>0]|0){i=i+1|0;_[t>>2]=i}if(n[e+798>>0]|0){i=i+1|0;_[t>>2]=i}switch(_[e+960>>2]|0){case 4:{r=2;o=19;break}case 0:break;default:{r=1;o=19}}if((o|0)==19){i=i+r|0;_[t>>2]=i}if(n[e+793>>0]|0){i=i+1|0;_[t>>2]=i}if(n[e+799>>0]|0){i=i+1|0;_[t>>2]=i}switch(_[e+964>>2]|0){case 4:{r=2;o=26;break}case 0:break;default:{r=1;o=26}}if((o|0)==26){i=i+r|0;_[t>>2]=i}if(n[e+794>>0]|0){i=i+1|0;_[t>>2]=i}if(n[e+800>>0]|0){i=i+1|0;_[t>>2]=i}s=+a[e+968>>2];c=+a[e+972>>2];l=+Xi(+a[e+1364>>2],s,c);a[e+1048>>2]=l;if(s>c){_[e+1052>>2]=0;a[e+1040>>2]=0.0}else{a[e+1040>>2]=l-s;if(s==c){r=3;o=1}else{a[e+1044>>2]=l-c;r=4;o=2}_[e+1052>>2]=r;i=i+o|0;_[t>>2]=i}if(n[e+996>>0]|0){i=i+1|0;_[t>>2]=i}if(n[e+1016>>0]|0){i=i+1|0;_[t>>2]=i}s=+a[e+1056>>2];c=+a[e+1060>>2];l=+Xi(+a[e+1368>>2],s,c);a[e+1136>>2]=l;if(s>c){_[e+1140>>2]=0;a[e+1128>>2]=0.0}else{a[e+1128>>2]=l-s;if(s==c){r=3;o=1}else{a[e+1132>>2]=l-c;r=4;o=2}_[e+1140>>2]=r;i=i+o|0;_[t>>2]=i}if(n[e+1084>>0]|0){i=i+1|0;_[t>>2]=i}if(n[e+1104>>0]|0){i=i+1|0;_[t>>2]=i}s=+a[e+1144>>2];c=+a[e+1148>>2];l=+Xi(+a[e+1372>>2],s,c);a[e+1224>>2]=l;if(s>c){_[e+1228>>2]=0;a[e+1216>>2]=0.0}else{a[e+1216>>2]=l-s;if(s==c){r=3;o=1}else{a[e+1220>>2]=l-c;r=4;o=2}_[e+1228>>2]=r;i=i+o|0;_[t>>2]=i}if(n[e+1172>>0]|0){i=i+1|0;_[t>>2]=i}if(!(n[e+1192>>0]|0))return;_[t>>2]=i+1;return}function We(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0,l=0,f=0,b=0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0,v=0,w=0,k=0;k=u;u=u+256|0;if(!e){u=k;return}d=+a[t>>2];m=+a[t+4>>2];h=+a[t+8>>2];y=+a[t+16>>2];g=+a[t+20>>2];p=+a[t+24>>2];_[k>>2]=e;e=64;b=1;n=k;t=0;while(1){f=b+-1|0;c=_[n+(f<<2)>>2]|0;do{if(((((+a[c>>2]<=y?+a[c+16>>2]>=d:0)?+a[c+4>>2]<=g:0)?+a[c+20>>2]>=m:0)?+a[c+8>>2]<=p:0)?+a[c+24>>2]>=h:0){if(!(_[c+40>>2]|0)){ma[_[(_[i>>2]|0)+12>>2]&127](i,c);r=f;break}s=_[c+36>>2]|0;do{if((f|0)==(e|0)?(C=e|0?e<<1:1,(b|0)<=(C|0)):0){if((C|0)!=0?(_[6293]=(_[6293]|0)+1,v=cc((C<<2|3)+16|0)|0,(v|0)!=0):0){_[(v+4+15&-16)+-4>>2]=v;o=v+4+15&-16}else o=0;if((b|0)>1){r=0;do{_[o+(r<<2)>>2]=_[n+(r<<2)>>2];r=r+1|0}while((r|0)!=(e|0));if(!(t<<24>>24)){e=C;l=1;break}}else if((n|0)==0|t<<24>>24==0){e=C;l=1;break}_[6294]=(_[6294]|0)+1;Mc(_[n+-4>>2]|0);e=C;l=1}else{o=n;l=t}}while(0);_[o+(f<<2)>>2]=s;r=_[c+40>>2]|0;do{if((b|0)==(e|0)){e=b|0?b<<1:1;if((b|0)<(e|0)){if((e|0)!=0?(_[6293]=(_[6293]|0)+1,w=cc((e<<2|3)+16|0)|0,(w|0)!=0):0){_[(w+4+15&-16)+-4>>2]=w;n=w+4+15&-16}else n=0;if((b|0)>0){t=0;do{_[n+(t<<2)>>2]=_[o+(t<<2)>>2];t=t+1|0}while((t|0)!=(b|0));if(!(l<<24>>24)){t=1;break}}else if((o|0)==0|l<<24>>24==0){t=1;break}_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);t=1}else{e=b;n=o;t=l}}else{n=o;t=l}}while(0);_[n+(b<<2)>>2]=r;r=b+1|0}else r=f}while(0);if((r|0)>0)b=r;else break}if((n|0)==0|t<<24>>24==0){u=k;return}_[6294]=(_[6294]|0)+1;Mc(_[n+-4>>2]|0);u=k;return}function Xe(e,t,i){e=e|0;t=t|0;i=i|0;nh(e,t,i)|0;_[t+52>>2]=_[e+48>>2];_[t+56>>2]=_[e+52>>2];_[t+60>>2]=_[e+56>>2];_[t+64>>2]=_[e+60>>2];_[t+68>>2]=_[e+64>>2];_[t+72>>2]=_[e+68>>2];_[t+76>>2]=_[e+72>>2];_[t+80>>2]=_[e+76>>2];_[t+84>>2]=_[e+80>>2];_[t+88>>2]=_[e+84>>2];_[t+92>>2]=_[e+88>>2];_[t+96>>2]=_[e+92>>2];_[t+100>>2]=_[e+96>>2];_[t+104>>2]=_[e+100>>2];_[t+108>>2]=_[e+104>>2];_[t+112>>2]=_[e+108>>2];_[t+116>>2]=_[e+112>>2];_[t+120>>2]=_[e+116>>2];_[t+124>>2]=_[e+120>>2];_[t+128>>2]=_[e+124>>2];_[t+132>>2]=_[e+128>>2];_[t+136>>2]=_[e+132>>2];_[t+140>>2]=_[e+136>>2];_[t+144>>2]=_[e+140>>2];_[t+148>>2]=_[e+144>>2];_[t+152>>2]=_[e+148>>2];_[t+156>>2]=_[e+152>>2];_[t+160>>2]=_[e+156>>2];_[t+164>>2]=_[e+160>>2];_[t+168>>2]=_[e+164>>2];_[t+172>>2]=_[e+168>>2];_[t+176>>2]=_[e+172>>2];_[t+228>>2]=_[e+868>>2];_[t+212>>2]=_[e+872>>2];_[t+196>>2]=_[e+680>>2];_[t+180>>2]=_[e+696>>2];_[t+232>>2]=_[e+932>>2];_[t+216>>2]=_[e+936>>2];_[t+200>>2]=_[e+684>>2];_[t+184>>2]=_[e+700>>2];_[t+236>>2]=_[e+996>>2];_[t+220>>2]=_[e+1e3>>2];_[t+204>>2]=_[e+688>>2];_[t+188>>2]=_[e+704>>2];_[t+244>>2]=o[e+1300>>0];_[t+248>>2]=o[e+1301>>0];_[t+276>>2]=_[e+1316>>2];_[t+324>>2]=_[e+1364>>2];_[t+252>>2]=o[e+1309>>0];_[t+300>>2]=_[e+1340>>2];_[t+280>>2]=_[e+1320>>2];_[t+328>>2]=_[e+1368>>2];_[t+256>>2]=o[e+1310>>0];_[t+304>>2]=_[e+1344>>2];_[t+284>>2]=_[e+1324>>2];_[t+332>>2]=_[e+1372>>2];_[t+260>>2]=o[e+1311>>0];_[t+308>>2]=_[e+1348>>2];_[t+288>>2]=_[e+1328>>2];_[t+336>>2]=_[e+1376>>2];_[t+264>>2]=o[e+1312>>0];_[t+312>>2]=_[e+1352>>2];_[t+292>>2]=_[e+1332>>2];_[t+340>>2]=_[e+1380>>2];_[t+268>>2]=o[e+1313>>0];_[t+316>>2]=_[e+1356>>2];_[t+296>>2]=_[e+1336>>2];_[t+344>>2]=_[e+1384>>2];_[t+272>>2]=o[e+1314>>0];_[t+320>>2]=_[e+1360>>2];return 11564}function Ye(e){e=e|0;var t=0,i=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0;l=_[e+220>>2]|0;Za[_[(_[l>>2]|0)+8>>2]&127](l,e,_[e+24>>2]|0);l=_[e+324>>2]|0;if((l|0)>0){a=_[e+332>>2]|0;c=0;do{i=_[a+(c<<2)>>2]|0;t=_[i+772>>2]|0;i=_[i+776>>2]|0;if((t|0?i|0?(_[t+204>>2]&3|0)==0:0:0)?(_[i+204>>2]&3|0)==0:0){o=_[t+208>>2]|0;t=_[i+208>>2]|0;s=_[(_[e+220>>2]|0)+16>>2]|0;i=_[s+(o<<3)>>2]|0;if((i|0)!=(o|0)){r=s+(o<<3)|0;do{o=s+(i<<3)|0;_[r>>2]=_[o>>2];o=_[o>>2]|0;r=s+(o<<3)|0;i=_[r>>2]|0}while((o|0)!=(i|0))}i=_[s+(t<<3)>>2]|0;if((i|0)!=(t|0)){r=s+(t<<3)|0;do{t=s+(i<<3)|0;_[r>>2]=_[t>>2];t=_[t>>2]|0;r=s+(t<<3)|0;i=_[r>>2]|0}while((t|0)!=(i|0))}if((o|0)!=(t|0)){_[s+(o<<3)>>2]=t;r=s+(t<<3)+4|0;_[r>>2]=(_[r>>2]|0)+(_[s+(o<<3)+4>>2]|0)}}c=c+1|0}while((c|0)!=(l|0))}l=_[e+228>>2]|0;if((l|0)<=0){b=_[e+220>>2]|0;f=_[b>>2]|0;f=f+12|0;f=_[f>>2]|0;ma[f&127](b,e);return}a=_[e+236>>2]|0;c=0;do{t=_[a+(c<<2)>>2]|0;if((n[t+20>>0]|0?(f=_[t+28>>2]|0,(_[f+204>>2]&3|0)==0):0)?(b=_[t+32>>2]|0,(_[b+204>>2]&3|0)==0):0){r=_[f+208>>2]|0;t=_[b+208>>2]|0;s=_[(_[e+220>>2]|0)+16>>2]|0;i=_[s+(r<<3)>>2]|0;if((i|0)!=(r|0)){o=s+(r<<3)|0;do{r=s+(i<<3)|0;_[o>>2]=_[r>>2];r=_[r>>2]|0;o=s+(r<<3)|0;i=_[o>>2]|0}while((r|0)!=(i|0))}i=_[s+(t<<3)>>2]|0;if((i|0)!=(t|0)){o=s+(t<<3)|0;do{t=s+(i<<3)|0;_[o>>2]=_[t>>2];t=_[t>>2]|0;o=s+(t<<3)|0;i=_[o>>2]|0}while((t|0)!=(i|0))}if((r|0)!=(t|0)){_[s+(r<<3)>>2]=t;o=s+(t<<3)+4|0;_[o>>2]=(_[o>>2]|0)+(_[s+(r<<3)+4>>2]|0)}}c=c+1|0}while((c|0)!=(l|0));b=_[e+220>>2]|0;f=_[b>>2]|0;f=f+12|0;f=_[f>>2]|0;ma[f&127](b,e);return}function Ze(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0;_[6006]=(_[6006]|0)+1;l=(_[t+12>>2]|0)>(_[i+12>>2]|0);p=l?i:t;s=_[p+12>>2]|0;l=l?t:i;r=_[l+12>>2]|0;a=(((r<<16|s)+~((r<<16|s)<<15)|0)>>>10^(r<<16|s)+~((r<<16|s)<<15))*9|0;a=(((a>>>6^a)+~((a>>>6^a)<<11)|0)>>>16^(a>>>6^a)+~((a>>>6^a)<<11))&(_[e+12>>2]|0)+-1;t=_[(_[e+40>>2]|0)+(a<<2)>>2]|0;if((t|0)==-1){e=0;return e|0}o=_[e+16>>2]|0;i=t;while(1){if((_[(_[o+(i<<4)>>2]|0)+12>>2]|0)==(s|0)?(_[(_[o+(i<<4)+4>>2]|0)+12>>2]|0)==(r|0):0)break;t=_[(_[e+60>>2]|0)+(i<<2)>>2]|0;if((t|0)==-1){t=0;c=22;break}else i=t}if((c|0)==22)return t|0;t=o+(i<<4)|0;if(!t){e=0;return e|0}Za[_[(_[e>>2]|0)+32>>2]&127](e,t,n);b=_[o+(i<<4)+12>>2]|0;f=t-(_[e+16>>2]|0)>>4;i=a;r=-1;t=e+40|0;while(1){t=_[(_[t>>2]|0)+(i<<2)>>2]|0;if((t|0)==(f|0))break;else{i=t;r=t;t=e+60|0}}i=_[e+60>>2]|0;if((r|0)==-1)t=(_[e+40>>2]|0)+(a<<2)|0;else t=i+(r<<2)|0;_[t>>2]=_[i+(f<<2)>>2];c=(_[e+8>>2]|0)+-1|0;t=_[e+68>>2]|0;if(t|0)Ua[_[(_[t>>2]|0)+12>>2]&31](t,p,l,n)|0;if((c|0)==(f|0)){_[e+8>>2]=(_[e+8>>2]|0)+-1;e=b;return e|0}s=_[e+16>>2]|0;o=_[(_[s+(c<<4)+4>>2]|0)+12>>2]<<16|_[(_[s+(c<<4)>>2]|0)+12>>2];o=((o+~(o<<15)|0)>>>10^o+~(o<<15))*9|0;o=(((o>>>6^o)+~((o>>>6^o)<<11)|0)>>>16^(o>>>6^o)+~((o>>>6^o)<<11))&(_[e+12>>2]|0)+-1;i=o;r=-1;t=e+40|0;while(1){t=_[(_[t>>2]|0)+(i<<2)>>2]|0;if((t|0)==(c|0))break;else{i=t;r=t;t=e+60|0}}i=_[e+60>>2]|0;if((r|0)==-1)t=(_[e+40>>2]|0)+(o<<2)|0;else t=i+(r<<2)|0;_[t>>2]=_[i+(c<<2)>>2];_[s+(f<<4)>>2]=_[s+(c<<4)>>2];_[s+(f<<4)+4>>2]=_[s+(c<<4)+4>>2];_[s+(f<<4)+8>>2]=_[s+(c<<4)+8>>2];_[s+(f<<4)+12>>2]=_[s+(c<<4)+12>>2];n=(_[e+40>>2]|0)+(o<<2)|0;_[(_[e+60>>2]|0)+(f<<2)>>2]=_[n>>2];_[n>>2]=f;_[e+8>>2]=(_[e+8>>2]|0)+-1;e=b;return e|0}function _e(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0.0,s=0;r=u;u=u+784|0;_[r+720>>2]=1065353216;_[r+720+4>>2]=0;_[r+720+4+4>>2]=0;_[r+720+4+8>>2]=0;_[r+720+4+12>>2]=0;_[r+720+20>>2]=1065353216;_[r+720+24>>2]=0;_[r+720+24+4>>2]=0;_[r+720+24+8>>2]=0;_[r+720+24+12>>2]=0;_[r+720+40>>2]=1065353216;i=r+720+44|0;_[i>>2]=0;_[i+4>>2]=0;_[i+8>>2]=0;_[i+12>>2]=0;_[i+16>>2]=0;_[r+544>>2]=4988;_[r+544+168>>2]=0;a[r+544+172>>2]=0.0;_[r+544+164>>2]=_[e+200>>2];i=_[e+196>>2]|0;_[r+488+8>>2]=0;_[r+488+12>>2]=-1;s=r+488+28|0;_[r+488>>2]=7676;_[r+488+4>>2]=8;_[r+488+16>>2]=1065353216;_[r+488+20>>2]=1065353216;_[r+488+24>>2]=1065353216;_[s>>2]=0;_[s+4>>2]=0;_[s+8>>2]=0;_[s+12>>2]=0;_[s+16>>2]=0;_[r+488+32>>2]=i;_[r+488+48>>2]=i;a[r+488+52>>2]=0.0;_[r+376+8>>2]=0;_[r+376+12>>2]=-1;_[r+376+16>>2]=1065353216;_[r+376+20>>2]=1065353216;_[r+376+24>>2]=1065353216;a[r+376+28>>2]=0.0;a[r+376+48>>2]=.03999999910593033;_[r+376+56>>2]=0;_[r+376>>2]=8968;_[r+376+4>>2]=1;_[r+376+60>>2]=_[t>>2];_[r+376+60+4>>2]=_[t+4>>2];_[r+376+60+8>>2]=_[t+8>>2];_[r+376+60+12>>2]=_[t+12>>2];_[r+376+76>>2]=_[t+16>>2];_[r+376+76+4>>2]=_[t+16+4>>2];_[r+376+76+8>>2]=_[t+16+8>>2];_[r+376+76+12>>2]=_[t+16+12>>2];_[r+376+92>>2]=_[t+32>>2];_[r+376+92+4>>2]=_[t+32+4>>2];_[r+376+92+8>>2]=_[t+32+8>>2];_[r+376+92+12>>2]=_[t+32+12>>2];a[r+16+308>>2]=9.999999747378752e-05;n[r+16+332>>0]=0;_[r>>2]=9104;_[r+4>>2]=r+16;_[r+8>>2]=r+488;_[r+12>>2]=r+376;if(Sc(r,e+4|0,e+68|0,r+720|0,r+720|0,r+544|0)|0?(o=+a[r+544+164>>2],+a[e+200>>2]>o):0)a[e+200>>2]=o;_[r+376>>2]=7544;i=_[r+376+56>>2]|0;if(!i){u=r;return}ua[_[_[i>>2]>>2]&511](i);i=_[r+376+56>>2]|0;if(!i){u=r;return}_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);u=r;return}function $e(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0;c=_[e+4>>2]|0;if((c|0)==(_[e+8>>2]|0)?(s=c|0?c<<1:1,(c|0)<(s|0)):0){if(!s){i=0;o=c}else{_[6293]=(_[6293]|0)+1;i=cc((s*244|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=_[e+4>>2]|0}if((o|0)>0){r=0;do{l=i+(r*244|0)|0;a=_[e+12>>2]|0;f=a+(r*244|0)|0;_[l>>2]=_[f>>2];_[l+4>>2]=_[f+4>>2];_[l+8>>2]=_[f+8>>2];_[l+12>>2]=_[f+12>>2];l=a+(r*244|0)+16|0;f=i+(r*244|0)+16|0;_[f>>2]=_[l>>2];_[f+4>>2]=_[l+4>>2];_[f+8>>2]=_[l+8>>2];_[f+12>>2]=_[l+12>>2];f=a+(r*244|0)+32|0;l=i+(r*244|0)+32|0;_[l>>2]=_[f>>2];_[l+4>>2]=_[f+4>>2];_[l+8>>2]=_[f+8>>2];_[l+12>>2]=_[f+12>>2];l=i+(r*244|0)+48|0;f=a+(r*244|0)+48|0;_[l>>2]=_[f>>2];_[l+4>>2]=_[f+4>>2];_[l+8>>2]=_[f+8>>2];_[l+12>>2]=_[f+12>>2];oh(i+(r*244|0)+64|0,a+(r*244|0)+64|0,180)|0;r=r+1|0}while((r|0)!=(o|0))}r=_[e+12>>2]|0;if(r|0){if(n[e+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[e+12>>2]=0}n[e+16>>0]=1;_[e+12>>2]=i;_[e+8>>2]=s;i=_[e+4>>2]|0}else i=c;_[e+4>>2]=i+1;f=_[e+12>>2]|0;_[f+(c*244|0)>>2]=_[t>>2];_[f+(c*244|0)+4>>2]=_[t+4>>2];_[f+(c*244|0)+8>>2]=_[t+8>>2];_[f+(c*244|0)+12>>2]=_[t+12>>2];_[f+(c*244|0)+16>>2]=_[t+16>>2];_[f+(c*244|0)+16+4>>2]=_[t+16+4>>2];_[f+(c*244|0)+16+8>>2]=_[t+16+8>>2];_[f+(c*244|0)+16+12>>2]=_[t+16+12>>2];_[f+(c*244|0)+32>>2]=_[t+32>>2];_[f+(c*244|0)+32+4>>2]=_[t+32+4>>2];_[f+(c*244|0)+32+8>>2]=_[t+32+8>>2];_[f+(c*244|0)+32+12>>2]=_[t+32+12>>2];_[f+(c*244|0)+48>>2]=_[t+48>>2];_[f+(c*244|0)+48+4>>2]=_[t+48+4>>2];_[f+(c*244|0)+48+8>>2]=_[t+48+8>>2];_[f+(c*244|0)+48+12>>2]=_[t+48+12>>2];oh(f+(c*244|0)+64|0,t+64|0,180)|0;return(_[e+12>>2]|0)+(c*244|0)|0}function af(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,s=0.0,c=0;nh(e,t,i)|0;_[t+52>>2]=_[e+552>>2];_[t+56>>2]=_[e+556>>2];_[t+60>>2]=_[e+560>>2];_[t+64>>2]=_[e+564>>2];_[t+68>>2]=_[e+568>>2];_[t+72>>2]=_[e+572>>2];_[t+76>>2]=_[e+576>>2];_[t+80>>2]=_[e+580>>2];_[t+84>>2]=_[e+584>>2];_[t+88>>2]=_[e+588>>2];_[t+92>>2]=_[e+592>>2];_[t+96>>2]=_[e+596>>2];_[t+100>>2]=_[e+600>>2];_[t+104>>2]=_[e+604>>2];_[t+108>>2]=_[e+608>>2];_[t+112>>2]=_[e+612>>2];_[t+116>>2]=_[e+616>>2];_[t+120>>2]=_[e+620>>2];_[t+124>>2]=_[e+624>>2];_[t+128>>2]=_[e+628>>2];_[t+132>>2]=_[e+632>>2];_[t+136>>2]=_[e+636>>2];_[t+140>>2]=_[e+640>>2];_[t+144>>2]=_[e+644>>2];_[t+148>>2]=_[e+648>>2];_[t+152>>2]=_[e+652>>2];_[t+156>>2]=_[e+656>>2];_[t+160>>2]=_[e+660>>2];_[t+164>>2]=_[e+664>>2];_[t+168>>2]=_[e+668>>2];_[t+172>>2]=_[e+672>>2];_[t+176>>2]=_[e+676>>2];_[t+184>>2]=o[e+736>>0];_[t+188>>2]=o[e+737>>0];_[t+196>>2]=_[e+684>>2];_[t+192>>2]=_[e+680>>2];_[t+180>>2]=o[e+740>>0];r=+a[e+688>>2];s=+a[e+692>>2];n=+Bg(r-s,6.2831854820251465);if(!(n<-3.1415927410125732)){if(n>3.1415927410125732)n=n+-6.2831854820251465}else n=n+6.2831854820251465;a[t+200>>2]=n;n=+Bg(r+s,6.2831854820251465);if(n<-3.1415927410125732){s=n+6.2831854820251465;i=t+204|0;a[i>>2]=s;i=e+696|0;i=_[i>>2]|0;c=t+208|0;_[c>>2]=i;c=e+700|0;c=_[c>>2]|0;i=t+212|0;_[i>>2]=c;e=e+704|0;e=_[e>>2]|0;t=t+216|0;_[t>>2]=e;return 11663}if(!(n>3.1415927410125732)){s=n;c=t+204|0;a[c>>2]=s;c=e+696|0;c=_[c>>2]|0;i=t+208|0;_[i>>2]=c;i=e+700|0;i=_[i>>2]|0;c=t+212|0;_[c>>2]=i;e=e+704|0;e=_[e>>2]|0;c=t+216|0;_[c>>2]=e;return 11663}s=n+-6.2831854820251465;c=t+204|0;a[c>>2]=s;c=e+696|0;c=_[c>>2]|0;i=t+208|0;_[i>>2]=c;i=e+700|0;i=_[i>>2]|0;c=t+212|0;_[c>>2]=i;e=e+704|0;e=_[e>>2]|0;c=t+216|0;_[c>>2]=e;return 11663}function bf(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0;l=u;u=u+64|0;b=+a[e+20>>2];C=+a[e+40>>2];d=+a[e+24>>2];y=+a[e+36>>2];g=+a[e+32>>2];f=+a[e+16>>2];c=+a[e>>2];s=+a[e+4>>2];m=+a[e+8>>2];o=1.0/((b*C-d*y)*c+s*(d*g-C*f)+(y*f-b*g)*m);j=+a[t>>2];S=+a[t+4>>2];R=+a[t+8>>2];k=+a[t+16>>2];w=+a[t+20>>2];v=+a[t+24>>2];h=+a[t+32>>2];p=+a[t+36>>2];r=+a[t+40>>2];a[l+16>>2]=R*(y*f-b*g)*o+(j*(b*C-d*y)*o+S*(d*g-C*f)*o);a[l+16+4>>2]=R*(g*s-y*c)*o+(j*(y*m-C*s)*o+S*(C*c-g*m)*o);a[l+16+8>>2]=R*(b*c-f*s)*o+(j*(d*s-b*m)*o+S*(f*m-d*c)*o);a[l+16+12>>2]=0.0;a[l+16+16>>2]=(b*C-d*y)*o*k+(d*g-C*f)*o*w+(y*f-b*g)*o*v;a[l+16+20>>2]=(y*m-C*s)*o*k+(C*c-g*m)*o*w+(g*s-y*c)*o*v;a[l+16+24>>2]=(d*s-b*m)*o*k+(f*m-d*c)*o*w+(b*c-f*s)*o*v;a[l+16+28>>2]=0.0;a[l+16+32>>2]=(b*C-d*y)*o*h+(d*g-C*f)*o*p+(y*f-b*g)*o*r;a[l+16+36>>2]=(y*m-C*s)*o*h+(C*c-g*m)*o*p+(g*s-y*c)*o*r;a[l+16+40>>2]=(d*s-b*m)*o*h+(f*m-d*c)*o*p+(b*c-f*s)*o*r;a[l+16+44>>2]=0.0;Lg(l+16|0,l);r=+a[l>>2];o=+a[l+4>>2];s=+a[l+8>>2];f=+a[l+12>>2];c=1.0/+W(+(r*r+o*o+s*s+f*f));a[l>>2]=r*c;a[l+4>>2]=o*c;a[l+8>>2]=s*c;a[l+12>>2]=f*c;f=f*c<-1.0?-1.0:f*c;a[n>>2]=+L(+(f>1.0?1.0:f))*2.0;a[i>>2]=r*c;a[i+4>>2]=o*c;a[i+8>>2]=s*c;a[i+12>>2]=0.0;if(r*c*r*c+o*c*o*c+s*c*s*c<1.4210854715202004e-14){_[i>>2]=1065353216;_[i+4>>2]=0;_[i+8>>2]=0;a[i+12>>2]=0.0;u=l;return}else{R=1.0/+W(+(r*c*r*c+o*c*o*c+s*c*s*c));a[i>>2]=r*c*R;a[i+4>>2]=R*o*c;a[i+8>>2]=R*s*c;u=l;return}}function cf(e){e=e|0;var t=0,i=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0;l=_[e+12>>2]|0;f=_[e+32>>2]|0;if((f|0)>=(l|0))return;if((_[e+36>>2]|0)<(l|0)){if(!l){t=0;r=f}else{_[6293]=(_[6293]|0)+1;t=cc((l<<2|3)+16|0)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}r=_[e+32>>2]|0}o=_[e+40>>2]|0;if((r|0)<=0)if(!o)i=e+44|0;else a=12;else{i=0;do{_[t+(i<<2)>>2]=_[o+(i<<2)>>2];i=i+1|0}while((i|0)!=(r|0));a=12}if((a|0)==12)if(!(n[e+44>>0]|0))i=e+44|0;else{_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);i=e+44|0}n[i>>0]=1;_[e+40>>2]=t;_[e+36>>2]=l;c=e+40|0}else{c=e+40|0;t=_[e+40>>2]|0}Wj(t+(f<<2)|0,0,(l<<2)-(f<<2)|0)|0;_[e+32>>2]=l;s=_[e+52>>2]|0;if((s|0)<(l|0)){if((_[e+56>>2]|0)<(l|0)){if(!l){t=0;r=s}else{_[6293]=(_[6293]|0)+1;t=cc((l<<2|3)+16|0)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}r=_[e+52>>2]|0}o=_[e+60>>2]|0;if((r|0)<=0)if(!o)i=e+64|0;else a=26;else{i=0;do{_[t+(i<<2)>>2]=_[o+(i<<2)>>2];i=i+1|0}while((i|0)!=(r|0));a=26}if((a|0)==26)if(!(n[e+64>>0]|0))i=e+64|0;else{_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);i=e+64|0}n[i>>0]=1;_[e+60>>2]=t;_[e+56>>2]=l}else t=_[e+60>>2]|0;Wj(t+(s<<2)|0,0,(l<<2)-(s<<2)|0)|0}_[e+52>>2]=l;if((l|0)>0){Wj(_[c>>2]|0,-1,l<<2|0)|0;Wj(_[e+60>>2]|0,-1,l<<2|0)|0}if((f|0)<=0)return;o=_[e+16>>2]|0;i=_[c>>2]|0;r=_[e+60>>2]|0;t=0;do{l=_[(_[o+(t<<4)+4>>2]|0)+12>>2]<<16|_[(_[o+(t<<4)>>2]|0)+12>>2];l=((l+~(l<<15)|0)>>>10^l+~(l<<15))*9|0;l=i+(((((l>>>6^l)+~((l>>>6^l)<<11)|0)>>>16^(l>>>6^l)+~((l>>>6^l)<<11))&(_[e+12>>2]|0)+-1)<<2)|0;_[r+(t<<2)>>2]=_[l>>2];_[l>>2]=t;t=t+1|0}while((t|0)!=(f|0));return}function df(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;o=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t>>2]=o;if(o|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+4>>2]=_[e+4>>2];_[t+8>>2]=0;_[t+20>>2]=_[e+76>>2];n=_[e+20>>2]|0;_[t+16>>2]=n;_[t+12>>2]=0;if(!n)return 15986;o=xa[_[(_[i>>2]|0)+16>>2]&63](i,76,n)|0;n=_[o+8>>2]|0;_[t+12>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;if((_[t+16>>2]|0)>0){r=0;while(1){s=_[e+28>>2]|0;_[n+72>>2]=_[s+(r*80|0)+72>>2];_[n+64>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,_[s+(r*80|0)+64>>2]|0)|0;if(!(Pa[_[(_[i>>2]|0)+24>>2]&31](i,_[(_[e+28>>2]|0)+(r*80|0)+64>>2]|0)|0)){s=_[(_[i>>2]|0)+16>>2]|0;c=_[(_[e+28>>2]|0)+(r*80|0)+64>>2]|0;c=ya[_[(_[c>>2]|0)+52>>2]&127](c)|0;c=xa[s&63](i,c,1)|0;s=_[(_[e+28>>2]|0)+(r*80|0)+64>>2]|0;s=xa[_[(_[s>>2]|0)+56>>2]&63](s,_[c+8>>2]|0,i)|0;ba[_[(_[i>>2]|0)+20>>2]&31](i,c,s,1346455635,_[(_[e+28>>2]|0)+(r*80|0)+64>>2]|0)}c=_[e+28>>2]|0;_[n+68>>2]=_[c+(r*80|0)+68>>2];_[n>>2]=_[c+(r*80|0)>>2];_[n+4>>2]=_[c+(r*80|0)+4>>2];_[n+8>>2]=_[c+(r*80|0)+8>>2];_[n+12>>2]=_[c+(r*80|0)+12>>2];_[n+16>>2]=_[c+(r*80|0)+16>>2];_[n+20>>2]=_[c+(r*80|0)+20>>2];_[n+24>>2]=_[c+(r*80|0)+24>>2];_[n+28>>2]=_[c+(r*80|0)+28>>2];_[n+32>>2]=_[c+(r*80|0)+32>>2];_[n+36>>2]=_[c+(r*80|0)+36>>2];_[n+40>>2]=_[c+(r*80|0)+40>>2];_[n+44>>2]=_[c+(r*80|0)+44>>2];_[n+48>>2]=_[c+(r*80|0)+48>>2];_[n+52>>2]=_[c+(r*80|0)+52>>2];_[n+56>>2]=_[c+(r*80|0)+56>>2];_[n+60>>2]=_[c+(r*80|0)+60>>2];r=r+1|0;if((r|0)>=(_[t+16>>2]|0)){n=i;break}else n=n+76|0}}else n=i;ba[_[(_[n>>2]|0)+20>>2]&31](i,o,15961,1497453121,_[o+8>>2]|0);return 15986}function ef(e){e=e|0;var t=0,i=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0;l=_[e+12>>2]|0;f=_[e+28>>2]|0;if((f|0)>=(l|0))return;if((_[e+32>>2]|0)<(l|0)){if(!l){t=0;r=f}else{_[6293]=(_[6293]|0)+1;t=cc((l<<2|3)+16|0)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}r=_[e+28>>2]|0}o=_[e+36>>2]|0;if((r|0)<=0)if(!o)i=e+40|0;else a=12;else{i=0;do{_[t+(i<<2)>>2]=_[o+(i<<2)>>2];i=i+1|0}while((i|0)!=(r|0));a=12}if((a|0)==12)if(!(n[e+40>>0]|0))i=e+40|0;else{_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);i=e+40|0}n[i>>0]=1;_[e+36>>2]=t;_[e+32>>2]=l;c=e+36|0}else{c=e+36|0;t=_[e+36>>2]|0}Wj(t+(f<<2)|0,0,(l<<2)-(f<<2)|0)|0;_[e+28>>2]=l;s=_[e+48>>2]|0;if((s|0)<(l|0)){if((_[e+52>>2]|0)<(l|0)){if(!l){t=0;r=s}else{_[6293]=(_[6293]|0)+1;t=cc((l<<2|3)+16|0)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}r=_[e+48>>2]|0}o=_[e+56>>2]|0;if((r|0)<=0)if(!o)i=e+60|0;else a=26;else{i=0;do{_[t+(i<<2)>>2]=_[o+(i<<2)>>2];i=i+1|0}while((i|0)!=(r|0));a=26}if((a|0)==26)if(!(n[e+60>>0]|0))i=e+60|0;else{_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);i=e+60|0}n[i>>0]=1;_[e+56>>2]=t;_[e+52>>2]=l}else t=_[e+56>>2]|0;Wj(t+(s<<2)|0,0,(l<<2)-(s<<2)|0)|0}_[e+48>>2]=l;if((l|0)>0){Wj(_[c>>2]|0,-1,l<<2|0)|0;Wj(_[e+56>>2]|0,-1,l<<2|0)|0}if((f|0)<=0)return;o=_[e+16>>2]|0;i=_[c>>2]|0;r=_[e+56>>2]|0;t=0;do{l=_[o+(t*12|0)+4>>2]<<16|_[o+(t*12|0)>>2];l=((l+~(l<<15)|0)>>>10^l+~(l<<15))*9|0;l=i+(((((l>>>6^l)+~((l>>>6^l)<<11)|0)>>>16^(l>>>6^l)+~((l>>>6^l)<<11))&(_[e+12>>2]|0)+-1)<<2)|0;_[r+(t<<2)>>2]=_[l>>2];_[l>>2]=t;t=t+1|0}while((t|0)!=(f|0));return}function ff(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0,d=0,m=0,h=0;if((_[e+8>>2]|0)>=(t|0))return;if((t|0)!=0?(_[6293]=(_[6293]|0)+1,i=cc((t*36|3)+16|0)|0,(i|0)!=0):0){_[(i+4+15&-16)+-4>>2]=i;h=i+4+15&-16}else h=0;p=_[e+4>>2]|0;if((p|0)>0){b=0;do{u=_[e+12>>2]|0;c=h+(b*36|0)+16|0;n[c>>0]=1;a=h+(b*36|0)+12|0;_[a>>2]=0;f=h+(b*36|0)+4|0;_[f>>2]=0;l=h+(b*36|0)+8|0;_[l>>2]=0;d=_[u+(b*36|0)+4>>2]|0;if((d|0)>0){_[6293]=(_[6293]|0)+1;i=cc((d<<2|3)+16|0)|0;if(!i)r=0;else{_[(i+4+15&-16)+-4>>2]=i;r=i+4+15&-16}o=_[f>>2]|0;s=_[a>>2]|0;if((o|0)<=0){if(s|0)m=13}else{i=0;do{_[r+(i<<2)>>2]=_[s+(i<<2)>>2];i=i+1|0}while((i|0)!=(o|0));m=13}if((m|0)==13?(m=0,n[c>>0]|0):0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}n[c>>0]=1;_[a>>2]=r;_[l>>2]=d;Wj(r|0,0,d<<2|0)|0;o=_[a>>2]|0;_[f>>2]=d;r=_[u+(b*36|0)+12>>2]|0;i=0;do{_[o+(i<<2)>>2]=_[r+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0))}else _[f>>2]=d;d=h+(b*36|0)+20|0;u=u+(b*36|0)+20|0;_[d>>2]=_[u>>2];_[d+4>>2]=_[u+4>>2];_[d+8>>2]=_[u+8>>2];_[d+12>>2]=_[u+12>>2];b=b+1|0}while((b|0)!=(p|0));r=_[e+4>>2]|0;if((r|0)>0){i=0;do{s=_[e+12>>2]|0;c=s+(i*36|0)+4|0;a=s+(i*36|0)+12|0;l=_[a>>2]|0;o=s+(i*36|0)+16|0;if(l|0){if(n[o>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[l+-4>>2]|0)}_[a>>2]=0}n[o>>0]=1;_[a>>2]=0;_[c>>2]=0;_[s+(i*36|0)+8>>2]=0;i=i+1|0}while((i|0)!=(r|0))}}i=_[e+12>>2]|0;if(i|0){if(n[e+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+12>>2]=0}n[e+16>>0]=1;_[e+12>>2]=h;_[e+8>>2]=t;return}function gf(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0.0,s=0.0,c=0.0,l=0,f=0,b=0.0,p=0.0,d=0.0,m=0.0;r=u;u=u+256|0;_[r+32>>2]=4968;l=r+32+36|0;_[l>>2]=_[t>>2];_[l+4>>2]=_[t+4>>2];_[l+8>>2]=_[t+8>>2];_[l+12>>2]=_[t+12>>2];f=r+32+52|0;_[f>>2]=_[i>>2];_[f+4>>2]=_[i+4>>2];_[f+8>>2]=_[i+8>>2];_[f+12>>2]=_[i+12>>2];_[r+32+212>>2]=e;_[r+32+216>>2]=n;_[r+32+68>>2]=1065353216;_[r+32+72>>2]=0;_[r+32+72+4>>2]=0;_[r+32+72+8>>2]=0;_[r+32+72+12>>2]=0;_[r+32+88>>2]=1065353216;_[r+32+92>>2]=0;_[r+32+92+4>>2]=0;_[r+32+92+8>>2]=0;_[r+32+92+12>>2]=0;_[r+32+108>>2]=1065353216;_[r+32+112>>2]=0;_[r+32+116>>2]=_[l>>2];_[r+32+116+4>>2]=_[l+4>>2];_[r+32+116+8>>2]=_[l+8>>2];_[r+32+116+12>>2]=_[l+12>>2];_[r+32+132>>2]=1065353216;_[r+32+136>>2]=0;_[r+32+136+4>>2]=0;_[r+32+136+8>>2]=0;_[r+32+136+12>>2]=0;_[r+32+152>>2]=1065353216;_[r+32+156>>2]=0;_[r+32+156+4>>2]=0;_[r+32+156+8>>2]=0;_[r+32+156+12>>2]=0;_[r+32+172>>2]=1065353216;_[r+32+176>>2]=0;_[r+32+180>>2]=_[i>>2];_[r+32+180+4>>2]=_[i+4>>2];_[r+32+180+8>>2]=_[i+8>>2];_[r+32+180+12>>2]=_[i+12>>2];b=+a[i>>2]-+a[t>>2];c=+a[i+4>>2]-+a[t+4>>2];s=+a[i+8>>2]-+a[t+8>>2];o=1.0/+W(+(b*b+c*c+s*s));m=b*o==0.0?999999984306749440.0:1.0/(b*o);a[r+32+4>>2]=m;d=c*o==0.0?999999984306749440.0:1.0/(c*o);a[r+32+8>>2]=d;p=s*o==0.0?999999984306749440.0:1.0/(s*o);a[r+32+12>>2]=p;_[r+32+20>>2]=m<0.0&1;_[r+32+24>>2]=d<0.0&1;_[r+32+28>>2]=p<0.0&1;a[r+32+32>>2]=b*o*(+a[f>>2]-+a[l>>2])+c*o*(+a[r+32+56>>2]-+a[r+32+40>>2])+s*o*(+a[r+32+60>>2]-+a[r+32+44>>2]);n=_[e+68>>2]|0;e=_[(_[n>>2]|0)+24>>2]|0;_[r+16>>2]=0;_[r+16+4>>2]=0;_[r+16+8>>2]=0;_[r+16+12>>2]=0;_[r>>2]=0;_[r+4>>2]=0;_[r+8>>2]=0;_[r+12>>2]=0;Ia[e&7](n,t,i,r+32|0,r+16|0,r);u=r;return}function hf(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0,l=0;_[e+8>>2]=0;_[e+12>>2]=-1;_[e>>2]=6408;n[e+32>>0]=1;_[e+28>>2]=0;_[e+20>>2]=0;_[e+24>>2]=0;_[e+36>>2]=1566444395;_[e+40>>2]=1566444395;_[e+44>>2]=1566444395;a[e+48>>2]=0.0;_[e+52>>2]=-581039253;_[e+56>>2]=-581039253;_[e+60>>2]=-581039253;a[e+64>>2]=0.0;_[e+68>>2]=0;_[e+72>>2]=1;a[e+76>>2]=0.0;_[e+80>>2]=1065353216;_[e+84>>2]=1065353216;_[e+88>>2]=1065353216;a[e+92>>2]=0.0;_[e+4>>2]=31;if(t){_[6293]=(_[6293]|0)+1;t=cc(59)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}n[t+36>>0]=1;_[t+32>>2]=0;_[t+24>>2]=0;_[t+28>>2]=0;_[t>>2]=0;_[t+4>>2]=0;_[t+8>>2]=-1;_[t+12>>2]=0;_[t+16>>2]=0;_[e+68>>2]=t;t=_[e+24>>2]|0}else t=0;if((t|0)>=(i|0))return;if((i|0)!=0?(_[6293]=(_[6293]|0)+1,r=cc((i*80|3)+16|0)|0,(r|0)!=0):0){_[(r+4+15&-16)+-4>>2]=r;o=r+4+15&-16}else o=0;r=_[e+20>>2]|0;if((r|0)>0){t=0;do{s=o+(t*80|0)|0;c=_[e+28>>2]|0;l=c+(t*80|0)|0;_[s>>2]=_[l>>2];_[s+4>>2]=_[l+4>>2];_[s+8>>2]=_[l+8>>2];_[s+12>>2]=_[l+12>>2];s=c+(t*80|0)+16|0;l=o+(t*80|0)+16|0;_[l>>2]=_[s>>2];_[l+4>>2]=_[s+4>>2];_[l+8>>2]=_[s+8>>2];_[l+12>>2]=_[s+12>>2];l=c+(t*80|0)+32|0;s=o+(t*80|0)+32|0;_[s>>2]=_[l>>2];_[s+4>>2]=_[l+4>>2];_[s+8>>2]=_[l+8>>2];_[s+12>>2]=_[l+12>>2];s=o+(t*80|0)+48|0;l=c+(t*80|0)+48|0;_[s>>2]=_[l>>2];_[s+4>>2]=_[l+4>>2];_[s+8>>2]=_[l+8>>2];_[s+12>>2]=_[l+12>>2];s=o+(t*80|0)+64|0;c=c+(t*80|0)+64|0;_[s>>2]=_[c>>2];_[s+4>>2]=_[c+4>>2];_[s+8>>2]=_[c+8>>2];_[s+12>>2]=_[c+12>>2];t=t+1|0}while((t|0)!=(r|0))}t=_[e+28>>2]|0;if(t|0){if(n[e+32>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+28>>2]=0}n[e+32>>0]=1;_[e+28>>2]=o;_[e+24>>2]=i;return}function jf(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0;ua[_[(_[t>>2]|0)+32>>2]&511](t);n=xa[_[(_[t>>2]|0)+16>>2]&63](t,104,1)|0;i=_[n+8>>2]|0;r=i;o=r+104|0;do{_[r>>2]=0;r=r+4|0}while((r|0)<(o|0));_[i+88>>2]=_[e+264>>2];_[i+92>>2]=_[e+268>>2];_[i+96>>2]=_[e+272>>2];_[i+100>>2]=_[e+276>>2];_[i>>2]=_[e+92>>2];_[i+4>>2]=_[e+96>>2];_[i+8>>2]=_[e+100>>2];_[i+12>>2]=_[e+104>>2];_[i+16>>2]=_[e+108>>2];_[i+20>>2]=_[e+116>>2];_[i+24>>2]=_[e+120>>2];_[i+28>>2]=_[e+124>>2];_[i+32>>2]=_[e+128>>2];_[i+36>>2]=_[e+132>>2];_[i+40>>2]=_[e+148>>2];_[i+44>>2]=_[e+152>>2];_[i+48>>2]=_[e+156>>2];_[i+52>>2]=_[e+160>>2];_[i+56>>2]=_[e+176>>2];_[i+60>>2]=_[e+180>>2];_[i+64>>2]=_[e+112>>2];_[i+68>>2]=_[e+164>>2];_[i+72>>2]=_[e+168>>2];_[i+76>>2]=_[e+172>>2];_[i+80>>2]=_[e+144>>2];_[i+84>>2]=0;ba[_[(_[t>>2]|0)+20>>2]&31](t,n,11936,1145853764,i);Uc(e,t);i=_[e+8>>2]|0;if((i|0)>0){r=0;do{n=_[(_[e+16>>2]|0)+(r<<2)>>2]|0;if(_[n+252>>2]&2){o=ya[_[(_[n>>2]|0)+16>>2]&127](n)|0;o=xa[_[(_[t>>2]|0)+16>>2]&63](t,o,1)|0;i=xa[_[(_[n>>2]|0)+20>>2]&63](n,_[o+8>>2]|0,t)|0;ba[_[(_[t>>2]|0)+20>>2]&31](t,o,i,1497645650,n);i=_[e+8>>2]|0}r=r+1|0}while((r|0)<(i|0))}if((_[e+228>>2]|0)<=0){e=_[t>>2]|0;e=e+36|0;e=_[e>>2]|0;ua[e&511](t);return}i=0;do{o=_[(_[e+236>>2]|0)+(i<<2)>>2]|0;n=ya[_[(_[o>>2]|0)+36>>2]&127](o)|0;n=xa[_[(_[t>>2]|0)+16>>2]&63](t,n,1)|0;r=xa[_[(_[o>>2]|0)+40>>2]&63](o,_[n+8>>2]|0,t)|0;ba[_[(_[t>>2]|0)+20>>2]&31](t,n,r,1397641027,o);i=i+1|0}while((i|0)<(_[e+228>>2]|0));e=_[t>>2]|0;e=e+36|0;e=_[e>>2]|0;ua[e&511](t);return}function kf(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0,S=0.0,j=0.0,R=0.0,x=0,I=0,M=0,D=0.0,T=0.0,O=0.0;r=u;u=u+48|0;g=+a[e+60>>2];y=+a[t>>2];h=+a[e+64>>2];m=+a[t+4>>2];d=+a[e+68>>2];p=+a[t+8>>2];R=+a[t+16>>2];j=+a[t+20>>2];S=+a[t+24>>2];w=+a[t+32>>2];v=+a[t+36>>2];C=+a[t+40>>2];b=+a[t+48>>2];o=+a[t+52>>2];_=+a[t+56>>2];a[r+32>>2]=g*y+h*m+d*p+b;a[r+32+4>>2]=g*R+h*j+d*S+o;a[r+32+8>>2]=g*w+h*v+d*C+_;a[r+32+12>>2]=0.0;O=+a[e+76>>2];T=+a[e+80>>2];D=+a[e+84>>2];a[r+16>>2]=O*y+T*m+D*p+b;a[r+16+4>>2]=O*R+T*j+D*S+o;a[r+16+8>>2]=O*w+T*v+D*C+_;a[r+16+12>>2]=0.0;s=+a[e+92>>2];c=+a[e+96>>2];l=+a[e+100>>2];a[r>>2]=s*y+c*m+l*p+b;a[r+4>>2]=s*R+c*j+l*S+o;a[r+8>>2]=s*w+c*v+l*C+_;a[r+12>>2]=0.0;f=+a[e+48>>2];t=O*y+T*m+D*p+b>s*y+c*m+l*p+b?r:r+16|0;M=O*R+T*j+D*S+o>s*R+c*j+l*S+o?r:r+16|0;I=O*w+T*v+D*C+_>s*w+c*v+l*C+_?r:r+16|0;x=O*y+T*m+D*p+b<s*y+c*m+l*p+b?r:r+16|0;k=O*R+T*j+D*S+o<s*R+c*j+l*S+o?r:r+16|0;e=O*w+T*v+D*C+_<s*w+c*v+l*C+_?r:r+16|0;l=+a[(g*R+h*j+d*S+o>+a[M+4>>2]?M:r+32|0)+4>>2]-f;c=+a[(g*w+h*v+d*C+_>+a[I+8>>2]?I:r+32|0)+8>>2]-f;s=f+ +a[(g*y+h*m+d*p+b<+a[x>>2]?x:r+32|0)>>2];o=f+ +a[(g*R+h*j+d*S+o<+a[k+4>>2]?k:r+32|0)+4>>2];_=f+ +a[(g*w+h*v+d*C+_<+a[e+8>>2]?e:r+32|0)+8>>2];a[i>>2]=+a[(g*y+h*m+d*p+b>+a[t>>2]?t:r+32|0)>>2]-f;a[i+4>>2]=l;a[i+8>>2]=c;a[n>>2]=s;a[n+4>>2]=o;a[n+8>>2]=_;u=r;return}function lf(e){e=e|0;var t=0;_[e>>2]=3840;t=_[e+204>>2]|0;if(t|0){if(n[e+208>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+204>>2]=0}n[e+208>>0]=1;_[e+204>>2]=0;_[e+196>>2]=0;_[e+200>>2]=0;t=_[e+176>>2]|0;if(t|0){if(n[e+180>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+176>>2]=0}n[e+180>>0]=1;_[e+176>>2]=0;_[e+168>>2]=0;_[e+172>>2]=0;t=_[e+156>>2]|0;if(t|0){if(n[e+160>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+156>>2]=0}n[e+160>>0]=1;_[e+156>>2]=0;_[e+148>>2]=0;_[e+152>>2]=0;t=_[e+136>>2]|0;if(t|0){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+136>>2]=0}n[e+140>>0]=1;_[e+136>>2]=0;_[e+128>>2]=0;_[e+132>>2]=0;t=_[e+116>>2]|0;if(t|0){if(n[e+120>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+116>>2]=0}n[e+120>>0]=1;_[e+116>>2]=0;_[e+108>>2]=0;_[e+112>>2]=0;t=_[e+96>>2]|0;if(t|0){if(n[e+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+96>>2]=0}n[e+100>>0]=1;_[e+96>>2]=0;_[e+88>>2]=0;_[e+92>>2]=0;t=_[e+76>>2]|0;if(t|0){if(n[e+80>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+76>>2]=0}n[e+80>>0]=1;_[e+76>>2]=0;_[e+68>>2]=0;_[e+72>>2]=0;t=_[e+56>>2]|0;if(t|0){if(n[e+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+56>>2]=0}n[e+60>>0]=1;_[e+56>>2]=0;_[e+48>>2]=0;_[e+52>>2]=0;t=_[e+36>>2]|0;if(t|0){if(n[e+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+36>>2]=0}n[e+40>>0]=1;_[e+36>>2]=0;_[e+28>>2]=0;_[e+32>>2]=0;t=_[e+16>>2]|0;if(!t){n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}function mf(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0,c=0,l=0,f=0,b=0,p=0.0,d=0;l=u;u=u+160|0;s=_[e+12>>2]|0;if(!s){u=l;return}f=(n[e+16>>0]|0)!=0;b=f?i:t;i=f?t:i;d=_[b+4>>2]|0;t=_[i+4>>2]|0;_[o+4>>2]=s;p=+a[s+784>>2]+ +a[o+32>>2];_[l+136>>2]=5800;_[l+136+4>>2]=d;_[l+136+8>>2]=t;a[l+136+12>>2]=p;a[l+128>>2]=999999984306749440.0;s=_[b+12>>2]|0;_[l>>2]=_[s>>2];_[l+4>>2]=_[s+4>>2];_[l+8>>2]=_[s+8>>2];_[l+12>>2]=_[s+12>>2];_[l+16>>2]=_[s+16>>2];_[l+16+4>>2]=_[s+16+4>>2];_[l+16+8>>2]=_[s+16+8>>2];_[l+16+12>>2]=_[s+16+12>>2];_[l+32>>2]=_[s+32>>2];_[l+32+4>>2]=_[s+32+4>>2];_[l+32+8>>2]=_[s+32+8>>2];_[l+32+12>>2]=_[s+32+12>>2];_[l+48>>2]=_[s+48>>2];_[l+48+4>>2]=_[s+48+4>>2];_[l+48+8>>2]=_[s+48+8>>2];_[l+48+12>>2]=_[s+48+12>>2];s=_[i+12>>2]|0;_[l+64>>2]=_[s>>2];_[l+64+4>>2]=_[s+4>>2];_[l+64+8>>2]=_[s+8>>2];_[l+64+12>>2]=_[s+12>>2];_[l+80>>2]=_[s+16>>2];_[l+80+4>>2]=_[s+16+4>>2];_[l+80+8>>2]=_[s+16+8>>2];_[l+80+12>>2]=_[s+16+12>>2];_[l+96>>2]=_[s+32>>2];_[l+96+4>>2]=_[s+32+4>>2];_[l+96+8>>2]=_[s+32+8>>2];_[l+96+12>>2]=_[s+32+12>>2];_[l+112>>2]=_[s+48>>2];_[l+112+4>>2]=_[s+48+4>>2];_[l+112+8>>2]=_[s+48+8>>2];_[l+112+12>>2]=_[s+48+12>>2];Cd(l+136|0,l,o,_[r+20>>2]|0,f);do{if(n[e+8>>0]|0?(c=_[o+4>>2]|0,_[c+780>>2]|0):0){t=_[c+772>>2]|0;i=_[(_[o+8>>2]|0)+8>>2]|0;e=_[(_[o+12>>2]|0)+8>>2]|0;if((t|0)==(i|0)){xe(c,t+4|0,e+4|0);break}else{xe(c,e+4|0,i+4|0);break}}}while(0);u=l;return}function nf(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0;i=u;u=u+128|0;T=_[(_[e+8>>2]|0)+28>>2]|0;r=_[T+(t*80|0)+64>>2]|0;n=_[e+12>>2]|0;w=+a[T+(t*80|0)>>2];I=+a[n>>2];v=+a[T+(t*80|0)+16>>2];x=+a[n+4>>2];C=+a[T+(t*80|0)+32>>2];R=+a[n+8>>2];g=+a[T+(t*80|0)+4>>2];y=+a[T+(t*80|0)+20>>2];h=+a[T+(t*80|0)+36>>2];m=+a[T+(t*80|0)+8>>2];p=+a[T+(t*80|0)+24>>2];f=+a[T+(t*80|0)+40>>2];j=+a[n+16>>2];S=+a[n+20>>2];k=+a[n+24>>2];d=+a[n+32>>2];b=+a[n+36>>2];l=+a[n+40>>2];D=+a[T+(t*80|0)+48>>2];M=+a[T+(t*80|0)+52>>2];o=+a[T+(t*80|0)+56>>2];c=+a[n+48>>2]+(I*D+x*M+R*o);s=j*D+S*M+k*o+ +a[n+52>>2];o=d*D+b*M+l*o+ +a[n+56>>2];a[i+56>>2]=w*I+v*x+C*R;a[i+56+4>>2]=I*g+x*y+R*h;a[i+56+8>>2]=I*m+x*p+R*f;a[i+56+12>>2]=0.0;a[i+56+16>>2]=w*j+v*S+C*k;a[i+56+20>>2]=g*j+y*S+h*k;a[i+56+24>>2]=m*j+p*S+f*k;a[i+56+28>>2]=0.0;a[i+56+32>>2]=w*d+v*b+C*l;a[i+56+36>>2]=g*d+y*b+h*l;a[i+56+40>>2]=m*d+p*b+f*l;a[i+56+44>>2]=0.0;a[i+56+48>>2]=c;a[i+56+52>>2]=s;a[i+56+56>>2]=o;a[i+56+60>>2]=0.0;n=_[e+4>>2]|0;_[i+32>>2]=0;_[i+32+4>>2]=r;_[i+32+8>>2]=n;_[i+32+12>>2]=i+56;_[i+32+16>>2]=-1;_[i+32+20>>2]=t;n=_[e+24>>2]|0;a[i+4>>2]=1.0;_[i+8>>2]=0;_[i+12>>2]=1;_[i+16>>2]=-1;_[i+20>>2]=0;_[i>>2]=5100;_[i+24>>2]=n;_[i+28>>2]=t;_[i+4>>2]=_[n+4>>2];_[i+20>>2]=_[n+20>>2];Dc(_[e+16>>2]|0,_[e+20>>2]|0,i+32|0,i);u=i;return}function of(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0.0,s=0,c=0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0;s=u;u=u+80|0;o=+Da[_[(_[e>>2]|0)+48>>2]&15](e);r=0;do{m=s+64+(r<<2)|0;_[s+64>>2]=0;_[s+64+4>>2]=0;_[s+64+8>>2]=0;_[s+64+12>>2]=0;a[m>>2]=1.0;c=_[(_[e>>2]|0)+64>>2]|0;l=+a[s+64>>2];f=+a[s+64+4>>2];b=+a[s+64+8>>2];p=l*+a[t+4>>2]+f*+a[t+20>>2]+b*+a[t+36>>2];d=l*+a[t+8>>2]+f*+a[t+24>>2]+b*+a[t+40>>2];a[s+32>>2]=+a[t>>2]*l+ +a[t+16>>2]*f+ +a[t+32>>2]*b;a[s+32+4>>2]=p;a[s+32+8>>2]=d;a[s+32+12>>2]=0.0;Za[c&127](s+48|0,e,s+32|0);d=+a[s+48>>2];p=+a[s+48+4>>2];b=+a[s+48+8>>2];f=d*+a[t+16>>2]+p*+a[t+20>>2]+b*+a[t+24>>2]+ +a[t+52>>2];l=d*+a[t+32>>2]+p*+a[t+36>>2]+b*+a[t+40>>2]+ +a[t+56>>2];a[s+32>>2]=d*+a[t>>2]+p*+a[t+4>>2]+b*+a[t+8>>2]+ +a[t+48>>2];a[s+32+4>>2]=f;a[s+32+8>>2]=l;a[s+32+12>>2]=0.0;c=s+32+(r<<2)|0;a[n+(r<<2)>>2]=o+ +a[c>>2];a[m>>2]=-1.0;m=_[(_[e>>2]|0)+64>>2]|0;l=+a[s+64>>2];f=+a[s+64+4>>2];b=+a[s+64+8>>2];p=l*+a[t+4>>2]+f*+a[t+20>>2]+b*+a[t+36>>2];d=l*+a[t+8>>2]+f*+a[t+24>>2]+b*+a[t+40>>2];a[s>>2]=+a[t>>2]*l+ +a[t+16>>2]*f+ +a[t+32>>2]*b;a[s+4>>2]=p;a[s+8>>2]=d;a[s+12>>2]=0.0;Za[m&127](s+16|0,e,s);d=+a[s+16>>2];p=+a[s+16+4>>2];b=+a[s+16+8>>2];f=d*+a[t+16>>2]+p*+a[t+20>>2]+b*+a[t+24>>2]+ +a[t+52>>2];l=d*+a[t+32>>2]+p*+a[t+36>>2]+b*+a[t+40>>2]+ +a[t+56>>2];a[s+32>>2]=d*+a[t>>2]+p*+a[t+4>>2]+b*+a[t+8>>2]+ +a[t+48>>2];a[s+32+4>>2]=f;a[s+32+8>>2]=l;a[s+32+12>>2]=0.0;a[i+(r<<2)>>2]=+a[c>>2]-o;r=r+1|0}while((r|0)!=3);u=s;return}function pf(e,t,i,r,o,s,c,a){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;c=c|0;a=a|0;var l=0,f=0;f=u;u=u+48|0;_[6293]=(_[6293]|0)+1;r=cc(83)|0;if(!r)l=0;else{_[(r+4+15&-16)+-4>>2]=r;l=r+4+15&-16}_[l>>2]=o;_[l+4>>2]=s;_[l+8>>2]=c;s=l+16|0;_[s>>2]=_[t>>2];_[s+4>>2]=_[t+4>>2];_[s+8>>2]=_[t+8>>2];_[s+12>>2]=_[t+12>>2];s=l+32|0;_[s>>2]=_[i>>2];_[s+4>>2]=_[i+4>>2];_[s+8>>2]=_[i+8>>2];_[s+12>>2]=_[i+12>>2];s=l+56|0;_[s>>2]=0;c=l+52|0;_[c>>2]=0;_[f+16>>2]=_[t>>2];_[f+16+4>>2]=_[t+4>>2];_[f+16+8>>2]=_[t+8>>2];_[f+16+12>>2]=_[t+12>>2];_[f+16+16>>2]=_[i>>2];_[f+16+16+4>>2]=_[i+4>>2];_[f+16+16+8>>2]=_[i+8>>2];_[f+16+16+12>>2]=_[i+12>>2];_[l+60>>2]=_[e+104>>2];r=(_[e+148>>2]|0)+1|0;_[e+148>>2]=r;_[l+12>>2]=r;r=_[e+8>>2]|0;if(!r){_[6293]=(_[6293]|0)+1;r=cc(63)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}a=r;o=a+44|0;do{_[a>>2]=0;a=a+4|0}while((a|0)<(o|0))}else _[e+8>>2]=0;_[r+32>>2]=0;_[r+36>>2]=l;_[r+40>>2]=0;_[r>>2]=_[f+16>>2];_[r+4>>2]=_[f+16+4>>2];_[r+8>>2]=_[f+16+8>>2];_[r+12>>2]=_[f+16+12>>2];_[r+16>>2]=_[f+16+16>>2];_[r+20>>2]=_[f+16+20>>2];_[r+24>>2]=_[f+16+24>>2];_[r+28>>2]=_[f+16+28>>2];pe(e+4|0,_[e+4>>2]|0,r);_[e+16>>2]=(_[e+16>>2]|0)+1;_[l+48>>2]=r;a=e+84+(_[e+104>>2]<<2)|0;_[c>>2]=0;_[s>>2]=_[a>>2];r=_[a>>2]|0;if(r|0)_[r+52>>2]=l;_[a>>2]=l;if(n[e+153>>0]|0){u=f;return l|0}_[f>>2]=4556;_[f+4>>2]=e;_[f+8>>2]=l;We(_[e+4>>2]|0,f+16|0,f);We(_[e+44>>2]|0,f+16|0,f);u=f;return l|0}function qf(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0,O=0.0,H=0;H=u;u=u+32|0;c=+a[t+16>>2];r=+a[t>>2];l=+a[t+20>>2];o=+a[t+4>>2];b=+a[t+24>>2];s=+a[t+8>>2];h=+a[t+32>>2];v=+a[t+36>>2];w=+a[t+40>>2];x=(l-o)*(w-s)-(b-s)*(v-o);I=(b-s)*(h-r)-(c-r)*(w-s);M=(c-r)*(v-o)-(l-o)*(h-r);a[H+16>>2]=x;a[H+16+4>>2]=I;a[H+16+8>>2]=M;a[H+16+12>>2]=0.0;p=+a[e+4>>2];y=+a[e+8>>2];k=+a[e+12>>2];D=x*p+I*y+M*k-(r*x+o*I+s*M);d=+a[e+20>>2];g=+a[e+24>>2];S=+a[e+28>>2];if(D*(x*d+I*g+M*S-(r*x+o*I+s*M))>=0.0){u=H;return}T=_[e+36>>2]|0;if(D<=0.0&(T&1|0)!=0){u=H;return}O=D/(D-(x*d+I*g+M*S-(r*x+o*I+s*M)));if(!(O<+a[e+40>>2])){u=H;return}R=(x*x+I*I+M*M)*-9.999999747378752e-05;j=r-(d*O+p*(1.0-O));C=o-(g*O+y*(1.0-O));m=s-(S*O+k*(1.0-O));f=c-(d*O+p*(1.0-O));l=l-(g*O+y*(1.0-O));c=b-(S*O+k*(1.0-O));if(!(M*(j*l-C*f)+(x*(C*c-m*l)+I*(m*f-j*c))>=R)){u=H;return}s=h-(d*O+p*(1.0-O));o=v-(g*O+y*(1.0-O));r=w-(S*O+k*(1.0-O));if(!(M*(f*o-l*s)+(x*(l*r-c*o)+I*(c*s-f*r))>=R)){u=H;return}if(!(M*(C*s-j*o)+(x*(m*o-C*r)+I*(j*r-m*s))>=R)){u=H;return}r=1.0/+W(+(x*x+I*I+M*M));a[H+16>>2]=x*r;a[H+16+4>>2]=I*r;a[H+16+8>>2]=M*r;t=_[(_[e>>2]|0)+12>>2]|0;if(D<=0.0&(T&2|0)==0){a[H>>2]=-(x*r);a[H+4>>2]=-(I*r);a[H+8>>2]=-(M*r);a[H+12>>2]=0.0;a[e+40>>2]=+za[t&3](e,H,O,i,n);u=H;return}else{a[e+40>>2]=+za[t&3](e,H+16|0,O,i,n);u=H;return}}function rf(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0,c=0,l=0,f=0,b=0;l=u;u=u+144|0;s=_[e+12>>2]|0;if(!s){u=l;return}b=_[t+4>>2]|0;f=_[i+4>>2]|0;_[o+4>>2]=s;a[l+12+128>>2]=999999984306749440.0;s=_[t+12>>2]|0;_[l+12>>2]=_[s>>2];_[l+12+4>>2]=_[s+4>>2];_[l+12+8>>2]=_[s+8>>2];_[l+12+12>>2]=_[s+12>>2];_[l+12+16>>2]=_[s+16>>2];_[l+12+16+4>>2]=_[s+16+4>>2];_[l+12+16+8>>2]=_[s+16+8>>2];_[l+12+16+12>>2]=_[s+16+12>>2];_[l+12+32>>2]=_[s+32>>2];_[l+12+32+4>>2]=_[s+32+4>>2];_[l+12+32+8>>2]=_[s+32+8>>2];_[l+12+32+12>>2]=_[s+32+12>>2];_[l+12+48>>2]=_[s+48>>2];_[l+12+48+4>>2]=_[s+48+4>>2];_[l+12+48+8>>2]=_[s+48+8>>2];_[l+12+48+12>>2]=_[s+48+12>>2];s=_[i+12>>2]|0;_[l+12+64>>2]=_[s>>2];_[l+12+64+4>>2]=_[s+4>>2];_[l+12+64+8>>2]=_[s+8>>2];_[l+12+64+12>>2]=_[s+12>>2];_[l+12+80>>2]=_[s+16>>2];_[l+12+80+4>>2]=_[s+16+4>>2];_[l+12+80+8>>2]=_[s+16+8>>2];_[l+12+80+12>>2]=_[s+16+12>>2];_[l+12+96>>2]=_[s+32>>2];_[l+12+96+4>>2]=_[s+32+4>>2];_[l+12+96+8>>2]=_[s+32+8>>2];_[l+12+96+12>>2]=_[s+32+12>>2];_[l+12+112>>2]=_[s+48>>2];_[l+12+112+4>>2]=_[s+48+4>>2];_[l+12+112+8>>2]=_[s+48+8>>2];_[l+12+112+12>>2]=_[s+48+12>>2];_[l>>2]=9188;_[l+4>>2]=b;_[l+8>>2]=f;ec(l,l+12|0,o,_[r+20>>2]|0,0);do{if(n[e+8>>0]|0?(c=_[o+4>>2]|0,_[c+780>>2]|0):0){t=_[c+772>>2]|0;i=_[(_[o+8>>2]|0)+8>>2]|0;e=_[(_[o+12>>2]|0)+8>>2]|0;if((t|0)==(i|0)){xe(c,t+4|0,e+4|0);break}else{xe(c,e+4|0,i+4|0);break}}}while(0);u=l;return}function sf(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0;r=ds()|0;Ji(r,4,e);_[r>>2]=3728;_[r+552>>2]=_[t>>2];_[r+552+4>>2]=_[t+4>>2];_[r+552+8>>2]=_[t+8>>2];_[r+552+12>>2]=_[t+12>>2];_[r+568>>2]=_[t+16>>2];_[r+568+4>>2]=_[t+16+4>>2];_[r+568+8>>2]=_[t+16+8>>2];_[r+568+12>>2]=_[t+16+12>>2];_[r+584>>2]=_[t+32>>2];_[r+584+4>>2]=_[t+32+4>>2];_[r+584+8>>2]=_[t+32+8>>2];_[r+584+12>>2]=_[t+32+12>>2];_[r+600>>2]=_[t+48>>2];_[r+600+4>>2]=_[t+48+4>>2];_[r+600+8>>2]=_[t+48+8>>2];_[r+600+12>>2]=_[t+48+12>>2];_[r+616>>2]=_[t>>2];_[r+616+4>>2]=_[t+4>>2];_[r+616+8>>2]=_[t+8>>2];_[r+616+12>>2]=_[t+12>>2];_[r+632>>2]=_[t+16>>2];_[r+632+4>>2]=_[t+16+4>>2];_[r+632+8>>2]=_[t+16+8>>2];_[r+632+12>>2]=_[t+16+12>>2];_[r+648>>2]=_[t+32>>2];_[r+648+4>>2]=_[t+32+4>>2];_[r+648+8>>2]=_[t+32+8>>2];_[r+648+12>>2]=_[t+32+12>>2];_[r+664>>2]=_[t+48>>2];_[r+664+4>>2]=_[t+48+4>>2];_[r+664+8>>2]=_[t+48+8>>2];_[r+664+12>>2]=_[t+48+12>>2];a[r+688>>2]=0.0;a[r+692>>2]=-1.0;a[r+696>>2]=.8999999761581421;a[r+700>>2]=.30000001192092896;a[r+704>>2]=1.0;a[r+708>>2]=0.0;a[r+712>>2]=0.0;n[r+716>>0]=0;n[r+736>>0]=0;n[r+737>>0]=0;n[r+738>>0]=0;n[r+739>>0]=1;n[r+740>>0]=i&1;_[r+748>>2]=0;_[r+748+4>>2]=0;_[r+748+8>>2]=0;_[r+748+12>>2]=0;_[r+748+16>>2]=0;t=_[r+28>>2]|0;f=+a[r+600>>2];l=+a[r+604>>2];c=+a[r+608>>2];s=f*+a[t+20>>2]+l*+a[t+24>>2]+c*+a[t+28>>2]+ +a[t+56>>2];o=f*+a[t+36>>2]+l*+a[t+40>>2]+c*+a[t+44>>2]+ +a[t+60>>2];a[r+664>>2]=f*+a[t+4>>2]+l*+a[t+8>>2]+c*+a[t+12>>2]+ +a[t+52>>2];a[r+668>>2]=s;a[r+672>>2]=o;a[r+676>>2]=0.0;a[r+732>>2]=i?-1.0:1.0;return r|0}function tf(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0;c=u;u=u+64|0;s=_[e+28>>2]|0;_[s+(t*80|0)>>2]=_[i>>2];_[s+(t*80|0)+4>>2]=_[i+4>>2];_[s+(t*80|0)+8>>2]=_[i+8>>2];_[s+(t*80|0)+12>>2]=_[i+12>>2];_[s+(t*80|0)+16>>2]=_[i+16>>2];_[s+(t*80|0)+16+4>>2]=_[i+16+4>>2];_[s+(t*80|0)+16+8>>2]=_[i+16+8>>2];_[s+(t*80|0)+16+12>>2]=_[i+16+12>>2];_[s+(t*80|0)+32>>2]=_[i+32>>2];_[s+(t*80|0)+32+4>>2]=_[i+32+4>>2];_[s+(t*80|0)+32+8>>2]=_[i+32+8>>2];_[s+(t*80|0)+32+12>>2]=_[i+32+12>>2];_[s+(t*80|0)+48>>2]=_[i+48>>2];_[s+(t*80|0)+48+4>>2]=_[i+48+4>>2];_[s+(t*80|0)+48+8>>2]=_[i+48+8>>2];_[s+(t*80|0)+48+12>>2]=_[i+48+12>>2];if(!(_[e+68>>2]|0)){s=_[e>>2]|0;s=s+68|0;s=_[s>>2]|0;ua[s&511](e);u=c;return}s=_[(_[e+28>>2]|0)+(t*80|0)+64>>2]|0;$a[_[(_[s>>2]|0)+8>>2]&127](s,i,c+48|0,c+32|0);_[c>>2]=_[c+48>>2];_[c+4>>2]=_[c+48+4>>2];_[c+8>>2]=_[c+48+8>>2];_[c+12>>2]=_[c+48+12>>2];_[c+16>>2]=_[c+32>>2];_[c+16+4>>2]=_[c+32+4>>2];_[c+16+8>>2]=_[c+32+8>>2];_[c+16+12>>2]=_[c+32+12>>2];s=_[e+68>>2]|0;o=_[(_[e+28>>2]|0)+(t*80|0)+76>>2]|0;i=Qf(s,o)|0;e:do{if(i){r=_[s+8>>2]|0;if((r|0)<=-1){i=_[s>>2]|0;break}if(r){t=0;while(1){n=_[i+32>>2]|0;t=t+1|0;if(!n)break e;if((t|0)>=(r|0)){i=n;break}else i=n}}}else i=0}while(0);_[o>>2]=_[c>>2];_[o+4>>2]=_[c+4>>2];_[o+8>>2]=_[c+8>>2];_[o+12>>2]=_[c+12>>2];_[o+16>>2]=_[c+16>>2];_[o+20>>2]=_[c+20>>2];_[o+24>>2]=_[c+24>>2];_[o+28>>2]=_[c+28>>2];pe(s,i,o);s=_[e>>2]|0;s=s+68|0;s=_[s>>2]|0;ua[s&511](e);u=c;return}function uf(e,t,i,r,o,s,c,l,f){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;f=f|0;var b=0,p=0,d=0,m=0,h=0;h=u;u=u+80|0;a[h+16+60>>2]=0.0;a[h+16+8>>2]=0.0;a[h+16+12>>2]=.10000000149011612;a[h+16+16>>2]=300.0;a[h+16>>2]=1.0;a[h+16+4>>2]=-1.0;a[h+16+28>>2]=0.0;a[h+16+32>>2]=.20000000298023224;a[h+16+36>>2]=0.0;a[h+16+40>>2]=0.0;a[h+16+20>>2]=1.0;a[h+16+24>>2]=.5;_[h+16+56>>2]=0;a[h+16+48>>2]=0.0;n[h+16+44>>0]=0;d=0;do{p=_[e+856+(d<<2)>>2]|0;b=n[e+788+d>>0]|0;if(!p){if(b<<24>>24){b=1;m=5}}else m=5;if((m|0)==5){m=0;a[h+16+40>>2]=0.0;_[h+16+56>>2]=p;_[h+16+52>>2]=_[e+840+(d<<2)>>2];_[h+16+48>>2]=_[e+824+(d<<2)>>2];_[h+16+20>>2]=_[e+732>>2];n[h+16+44>>0]=b;_[h+16+4>>2]=_[e+696+(d<<2)>>2];_[h+16+24>>2]=_[e+728>>2];_[h+16>>2]=_[e+680+(d<<2)>>2];a[h+16+16>>2]=0.0;_[h+16+12>>2]=_[e+808+(d<<2)>>2];_[h+16+8>>2]=_[e+792+(d<<2)>>2];_[h>>2]=_[e+1064+(d<<2)>>2];_[h+4>>2]=_[e+1080+(d<<2)>>2];_[h+8>>2]=_[e+1096+(d<<2)>>2];a[h+12>>2]=0.0;p=_[e+1304>>2]>>d*3;if(!(p&1))b=_[t+32>>2]|0;else b=e+740+(d<<2)|0;_[h+16+28>>2]=_[b>>2];if(!(p&2))b=_[t+32>>2]|0;else b=e+772+(d<<2)|0;_[h+16+36>>2]=_[b>>2];_[h+16+32>>2]=_[((p&4|0)==0?t+4|0:e+756+(d<<2)|0)>>2];if(n[e+1301>>0]|0){p=d+1|0;if(!(_[e+868+(((p|0)==3?0:p)<<6)+56>>2]|0))b=1;else b=(_[e+868+(((d+2|0)%3|0)<<6)+56>>2]|0)==0&1}else b=0;i=(od(e,h+16|0,r,o,s,c,l,f,t,i,h,0,b)|0)+i|0}d=d+1|0}while((d|0)!=3);u=h;return i|0}function vf(e,t){e=e|0;t=+t;var i=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0,m=0,h=0.0;i=_[e+248>>2]|0;if((i|0)<=0)return;m=0;do{d=_[(_[e+256>>2]|0)+(m<<2)>>2]|0;if(!(_[d+204>>2]&3)){b=+a[d+504>>2];r=+F(+(1.0-b),+t);s=r*+a[d+372>>2];a[d+372>>2]=s;o=r*+a[d+376>>2];a[d+376>>2]=o;r=r*+a[d+380>>2];a[d+380>>2]=r;u=+a[d+508>>2];f=+F(+(1.0-u),+t);c=f*+a[d+388>>2];a[d+388>>2]=c;l=f*+a[d+392>>2];a[d+392>>2]=l;f=f*+a[d+396>>2];a[d+396>>2]=f;do{if(n[d+512>>0]|0){if(f*f+(c*c+l*l)<+a[d+524>>2]?s*s+o*o+r*r<+a[d+520>>2]:0){h=+a[d+516>>2];a[d+388>>2]=c*h;a[d+392>>2]=h*l;a[d+396>>2]=h*f;a[d+372>>2]=h*s;a[d+376>>2]=h*o;a[d+380>>2]=h*r;s=h*s;o=h*o;r=h*r;p=c*h;l=h*l;f=h*f}else p=c;c=+W(+(s*s+o*o+r*r));do{if(c<b)if(c>.004999999888241291){s=s-s*(1.0/c)*.004999999888241291;a[d+372>>2]=s;o=o-o*(1.0/c)*.004999999888241291;a[d+376>>2]=o;r=r-r*(1.0/c)*.004999999888241291;a[d+380>>2]=r;break}else{_[d+372>>2]=0;_[d+372+4>>2]=0;_[d+372+8>>2]=0;_[d+372+12>>2]=0;s=0.0;o=0.0;r=0.0;break}}while(0);c=+W(+(p*p+l*l+f*f));if(c<u)if(c>.004999999888241291){a[d+388>>2]=p-p*(1.0/c)*.004999999888241291;a[d+392>>2]=l-l*(1.0/c)*.004999999888241291;a[d+396>>2]=f-f*(1.0/c)*.004999999888241291;break}else{_[d+388>>2]=0;_[d+388+4>>2]=0;_[d+388+8>>2]=0;_[d+388+12>>2]=0;break}}}while(0);Ue(d+4|0,s,o,r,d+388|0,t,d+68|0);i=_[e+248>>2]|0}m=m+1|0}while((m|0)<(i|0));return}function wf(e,t){e=e|0;t=t|0;var i=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0;i=ds()|0;Ji(i,4,e);_[i>>2]=3728;_[i+552>>2]=_[t>>2];_[i+552+4>>2]=_[t+4>>2];_[i+552+8>>2]=_[t+8>>2];_[i+552+12>>2]=_[t+12>>2];_[i+568>>2]=_[t+16>>2];_[i+568+4>>2]=_[t+16+4>>2];_[i+568+8>>2]=_[t+16+8>>2];_[i+568+12>>2]=_[t+16+12>>2];_[i+584>>2]=_[t+32>>2];_[i+584+4>>2]=_[t+32+4>>2];_[i+584+8>>2]=_[t+32+8>>2];_[i+584+12>>2]=_[t+32+12>>2];_[i+600>>2]=_[t+48>>2];_[i+600+4>>2]=_[t+48+4>>2];_[i+600+8>>2]=_[t+48+8>>2];_[i+600+12>>2]=_[t+48+12>>2];_[i+616>>2]=_[t>>2];_[i+616+4>>2]=_[t+4>>2];_[i+616+8>>2]=_[t+8>>2];_[i+616+12>>2]=_[t+12>>2];_[i+632>>2]=_[t+16>>2];_[i+632+4>>2]=_[t+16+4>>2];_[i+632+8>>2]=_[t+16+8>>2];_[i+632+12>>2]=_[t+16+12>>2];_[i+648>>2]=_[t+32>>2];_[i+648+4>>2]=_[t+32+4>>2];_[i+648+8>>2]=_[t+32+8>>2];_[i+648+12>>2]=_[t+32+12>>2];_[i+664>>2]=_[t+48>>2];_[i+664+4>>2]=_[t+48+4>>2];_[i+664+8>>2]=_[t+48+8>>2];_[i+664+12>>2]=_[t+48+12>>2];a[i+688>>2]=0.0;a[i+692>>2]=-1.0;a[i+696>>2]=.8999999761581421;a[i+700>>2]=.30000001192092896;a[i+704>>2]=1.0;a[i+708>>2]=0.0;a[i+712>>2]=0.0;n[i+716>>0]=0;n[i+736>>0]=0;n[i+737>>0]=0;n[i+738>>0]=0;n[i+739>>0]=1;n[i+740>>0]=0;_[i+748>>2]=0;_[i+748+4>>2]=0;_[i+748+8>>2]=0;_[i+748+12>>2]=0;_[i+748+16>>2]=0;t=_[i+28>>2]|0;l=+a[i+600>>2];c=+a[i+604>>2];s=+a[i+608>>2];o=l*+a[t+20>>2]+c*+a[t+24>>2]+s*+a[t+28>>2]+ +a[t+56>>2];r=l*+a[t+36>>2]+c*+a[t+40>>2]+s*+a[t+44>>2]+ +a[t+60>>2];a[i+664>>2]=l*+a[t+4>>2]+c*+a[t+8>>2]+s*+a[t+12>>2]+ +a[t+52>>2];a[i+668>>2]=o;a[i+672>>2]=r;a[i+676>>2]=0.0;a[i+732>>2]=1.0;return i|0}function xf(e,t,i,n,r,_,o,s,c,l,f){e=e|0;t=t|0;i=+i;n=+n;r=+r;_=+_;o=o|0;s=s|0;c=c|0;l=l|0;f=+f;var b=0.0,p=0.0,u=0.0,d=0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0;k=+a[c+(o<<2)>>2];S=+a[c+16+(o<<2)>>2];w=+a[c+32+(o<<2)>>2];u=+a[l+(s<<2)>>2];m=+a[l+16+(s<<2)>>2];y=+a[l+32+(s<<2)>>2];g=+a[l+48>>2]-+a[c+48>>2];C=+a[l+52>>2]-+a[c+52>>2];v=+a[l+56>>2]-+a[c+56>>2];b=1.0-(k*u+S*m+w*y)*(k*u+S*m+w*y);if(!(b==0.0)){b=(k*g+S*C+w*v-(k*u+S*m+w*y)*(u*g+m*C+y*v))/b;if(!(b<-i)){if(b>i){b=i;d=4}}else{b=-i;d=4}}else{b=0.0;d=4}p=(k*u+S*m+w*y)*b-(u*g+m*C+y*v);if(p<-r){b=(k*u+S*m+w*y)*-r+(k*g+S*C+w*v);if(!(b<-i))if(b>i){p=-r;b=i}else p=-r;else{p=-r;b=-i}}else if(p>r){b=(k*u+S*m+w*y)*r+(k*g+S*C+w*v);if(!(b<-i))if(b>i){p=r;b=i}else p=r;else{p=r;b=-i}}h=u*p;m=m*p;u=y*p;r=h+(g-k*b);p=m+(C-S*b);b=u+(v-w*b);i=+W(+(b*b+(r*r+p*p)));if(i-n-_>f)return+(i-n-_);do{if(b*b+(r*r+p*p)<=1.4210854715202004e-14)if(+G(+w)>.7071067690849304){b=1.0/+W(+(S*S+w*w));a[e>>2]=0.0;a[e+4>>2]=-(w*b);s=e+4|0;c=e;b=S*b;o=2;break}else{b=1.0/+W(+(k*k+S*S));a[e>>2]=-(S*b);a[e+4>>2]=k*b;s=e+4|0;c=e;b=0.0;o=2;break}else{a[e>>2]=r*-(1.0/i);a[e+4>>2]=p*-(1.0/i);a[e+8>>2]=b*-(1.0/i);s=e+4|0;c=e;b=0.0;o=3}}while(0);a[e+(o<<2)>>2]=b;k=m+ +a[l+52>>2]+ +a[s>>2]*_;S=u+ +a[l+56>>2]+ +a[e+8>>2]*_;a[t>>2]=h+ +a[l+48>>2]+ +a[c>>2]*_;a[t+4>>2]=k;a[t+8>>2]=S;a[t+12>>2]=0.0;return+(i-n-_)}function yf(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,s=0,c=0,a=0;a=u;u=u+64|0;c=_[e+28>>2]|0;_[c+(t*80|0)>>2]=_[i>>2];_[c+(t*80|0)+4>>2]=_[i+4>>2];_[c+(t*80|0)+8>>2]=_[i+8>>2];_[c+(t*80|0)+12>>2]=_[i+12>>2];_[c+(t*80|0)+16>>2]=_[i+16>>2];_[c+(t*80|0)+16+4>>2]=_[i+16+4>>2];_[c+(t*80|0)+16+8>>2]=_[i+16+8>>2];_[c+(t*80|0)+16+12>>2]=_[i+16+12>>2];_[c+(t*80|0)+32>>2]=_[i+32>>2];_[c+(t*80|0)+32+4>>2]=_[i+32+4>>2];_[c+(t*80|0)+32+8>>2]=_[i+32+8>>2];_[c+(t*80|0)+32+12>>2]=_[i+32+12>>2];_[c+(t*80|0)+48>>2]=_[i+48>>2];_[c+(t*80|0)+48+4>>2]=_[i+48+4>>2];_[c+(t*80|0)+48+8>>2]=_[i+48+8>>2];_[c+(t*80|0)+48+12>>2]=_[i+48+12>>2];if(_[e+68>>2]|0){c=_[(_[e+28>>2]|0)+(t*80|0)+64>>2]|0;$a[_[(_[c>>2]|0)+8>>2]&127](c,i,a+48|0,a+32|0);_[a>>2]=_[a+48>>2];_[a+4>>2]=_[a+48+4>>2];_[a+8>>2]=_[a+48+8>>2];_[a+12>>2]=_[a+48+12>>2];_[a+16>>2]=_[a+32>>2];_[a+16+4>>2]=_[a+32+4>>2];_[a+16+8>>2]=_[a+32+8>>2];_[a+16+12>>2]=_[a+32+12>>2];c=_[e+68>>2]|0;s=_[(_[e+28>>2]|0)+(t*80|0)+76>>2]|0;i=Qf(c,s)|0;e:do{if(i){o=_[c+8>>2]|0;if((o|0)<=-1){i=_[c>>2]|0;break}if(o){t=0;while(1){r=_[i+32>>2]|0;t=t+1|0;if(!r)break e;if((t|0)>=(o|0)){i=r;break}else i=r}}}else i=0}while(0);_[s>>2]=_[a>>2];_[s+4>>2]=_[a+4>>2];_[s+8>>2]=_[a+8>>2];_[s+12>>2]=_[a+12>>2];_[s+16>>2]=_[a+16>>2];_[s+20>>2]=_[a+20>>2];_[s+24>>2]=_[a+24>>2];_[s+28>>2]=_[a+28>>2];pe(c,i,s)}if(!n){u=a;return}ua[_[(_[e>>2]|0)+68>>2]&511](e);u=a;return}function zf(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,a=0,l=0;l=u;u=u+16|0;c=_[e+28>>2]|0;a=_[e+32>>2]|0;if(!(n[e+1301>>0]|0)){s=0;i=uf(e,t,0,c+4|0,a+4|0,c+372|0,a+372|0,c+388|0,a+388|0)|0;do{r=e+868+(s<<6)|0;if(!((_[e+868+(s<<6)+56>>2]|0)==0?(n[e+868+(s<<6)+44>>0]|0)==0:0)){o=e+1208+(s<<4)|0;_[l>>2]=_[o>>2];_[l+4>>2]=_[o+4>>2];_[l+8>>2]=_[o+8>>2];_[l+12>>2]=_[o+12>>2];o=_[e+1304>>2]>>(s*3|0)+9;if(!(o&1))_[e+868+(s<<6)+28>>2]=_[_[t+32>>2]>>2];if(!(o&2))_[e+868+(s<<6)+36>>2]=_[_[t+32>>2]>>2];if(!(o&4))_[e+868+(s<<6)+32>>2]=_[t+4>>2];i=(od(e,r,c+4|0,a+4|0,c+372|0,a+372|0,c+388|0,a+388|0,t,i,l,1,0)|0)+i|0}s=s+1|0}while((s|0)!=3);u=l;return}s=0;i=0;do{r=e+868+(s<<6)|0;if(!((_[e+868+(s<<6)+56>>2]|0)==0?(n[e+868+(s<<6)+44>>0]|0)==0:0)){o=e+1208+(s<<4)|0;_[l>>2]=_[o>>2];_[l+4>>2]=_[o+4>>2];_[l+8>>2]=_[o+8>>2];_[l+12>>2]=_[o+12>>2];o=_[e+1304>>2]>>(s*3|0)+9;if(!(o&1))_[e+868+(s<<6)+28>>2]=_[_[t+32>>2]>>2];if(!(o&2))_[e+868+(s<<6)+36>>2]=_[_[t+32>>2]>>2];if(!(o&4))_[e+868+(s<<6)+32>>2]=_[t+4>>2];i=(od(e,r,c+4|0,a+4|0,c+372|0,a+372|0,c+388|0,a+388|0,t,i,l,1,0)|0)+i|0}s=s+1|0}while((s|0)!=3);uf(e,t,i,c+4|0,a+4|0,c+372|0,a+372|0,c+388|0,a+388|0)|0;u=l;return}function Af(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0,a=0;n=_[e+56>>2]|0;if(!n){n=_[e+52>>2]|0;if(!n){_[6293]=(_[6293]|0)+1;n=cc(31)|0;if(!n)n=0;else{_[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}r=_[e+60>>2]|0;_[n+4>>2]=r;o=n+8|0;_[o>>2]=0;_[6293]=(_[6293]|0)+1;r=cc((r*24|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}_[n>>2]=r;_[o>>2]=_[e+48>>2];_[e+48>>2]=n}else _[e+52>>2]=_[n+8>>2];s=_[n>>2]|0;o=_[n+4>>2]|0;if((o|0)>0){n=0;r=s;do{n=n+1|0;c=r;r=r+24|0;_[c>>2]=(n|0)<(o|0)?r:0}while((n|0)!=(o|0))}}else s=n;_[e+56>>2]=_[s>>2];_[s>>2]=0;_[s+4>>2]=0;_[s+8>>2]=0;_[s+12>>2]=0;_[s+16>>2]=0;_[s+20>>2]=0;n=_[e+56>>2]|0;if(!n){n=_[e+52>>2]|0;if(!n){_[6293]=(_[6293]|0)+1;n=cc(31)|0;if(!n)r=0;else{_[(n+4+15&-16)+-4>>2]=n;r=n+4+15&-16}n=_[e+60>>2]|0;_[r+4>>2]=n;o=r+8|0;_[o>>2]=0;_[6293]=(_[6293]|0)+1;n=cc((n*24|3)+16|0)|0;if(!n)n=0;else{_[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}_[r>>2]=n;_[o>>2]=_[e+48>>2];_[e+48>>2]=r}else{_[e+52>>2]=_[n+8>>2];r=n}n=_[r>>2]|0;c=_[r+4>>2]|0;if((c|0)>0){r=0;o=n;do{r=r+1|0;a=o;o=o+24|0;_[a>>2]=(r|0)<(c|0)?o:0}while((r|0)!=(c|0))}}_[e+56>>2]=_[n>>2];a=n;_[a>>2]=0;_[a+4>>2]=0;_[s+8>>2]=n;_[n+8>>2]=s;a=_[e+100>>2]|0;_[s+20>>2]=a;_[n+20>>2]=a;_[s+12>>2]=i;_[n+12>>2]=t;_[s+16>>2]=0;_[n+16>>2]=0;n=_[e+116>>2]|0;_[e+116>>2]=n+1;if((n|0)<(_[e+120>>2]|0))return s|0;_[e+120>>2]=n+1;return s|0}function Bf(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0;_[e+4>>2]=1065353216;_[e+8>>2]=1065353216;_[e+12>>2]=1065353216;a[e+16>>2]=0.0;n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;_[e+28>>2]=0;_[e+48>>2]=0;_[e>>2]=7852;n[e+100>>0]=1;_[e+96>>2]=0;_[e+88>>2]=0;_[e+92>>2]=0;n[e+120>>0]=1;_[e+116>>2]=0;_[e+108>>2]=0;_[e+112>>2]=0;n[e+140>>0]=1;_[e+136>>2]=0;_[e+128>>2]=0;_[e+132>>2]=0;n[e+160>>0]=1;_[e+156>>2]=0;_[e+148>>2]=0;_[e+152>>2]=0;n[e+164>>0]=t&1;n[e+165>>0]=i&1;a[e+168>>2]=0.0;_[6293]=(_[6293]|0)+1;t=cc(51)|0;if(!t)r=0;else{_[(t+4+15&-16)+-4>>2]=t;r=t+4+15&-16}i=_[e+24>>2]|0;if((i|0)>0){t=0;do{o=r+(t<<5)|0;s=(_[e+32>>2]|0)+(t<<5)|0;_[o>>2]=_[s>>2];_[o+4>>2]=_[s+4>>2];_[o+8>>2]=_[s+8>>2];_[o+12>>2]=_[s+12>>2];_[o+16>>2]=_[s+16>>2];_[o+20>>2]=_[s+20>>2];_[o+24>>2]=_[s+24>>2];_[o+28>>2]=_[s+28>>2];t=t+1|0}while((t|0)!=(i|0))}t=_[e+32>>2]|0;if(t|0){if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+32>>2]=0}n[e+36>>0]=1;_[e+32>>2]=r;_[e+28>>2]=1;s=_[e+24>>2]|0;_[r+(s<<5)>>2]=0;_[r+(s<<5)+4>>2]=0;_[r+(s<<5)+8>>2]=12;_[r+(s<<5)+12>>2]=0;_[r+(s<<5)+16>>2]=0;_[r+(s<<5)+20>>2]=16;_[r+(s<<5)+24>>2]=2;_[r+(s<<5)+28>>2]=0;_[e+24>>2]=(_[e+24>>2]|0)+1;s=(n[e+164>>0]|0)==0;t=_[e+32>>2]|0;_[t>>2]=(_[(s?e+148|0:e+128|0)>>2]|0)/3|0;_[t+4>>2]=0;_[t+24>>2]=s?3:2;_[t+8>>2]=s?6:12;if(!(n[e+165>>0]|0)){o=12;e=(_[e+108>>2]|0)/3|0;s=t+12|0;_[s>>2]=e;s=t+16|0;_[s>>2]=0;s=t+20|0;_[s>>2]=o;return}else{o=16;e=_[e+88>>2]|0;s=t+12|0;_[s>>2]=e;s=t+16|0;_[s>>2]=0;s=t+20|0;_[s>>2]=o;return}}function Cf(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0;r=u;u=u+112|0;o=_[e+28>>2]|0;k=+a[i>>2];M=+a[o>>2];w=+a[i+16>>2];I=+a[o+4>>2];v=+a[i+32>>2];x=+a[o+8>>2];C=+a[i+4>>2];g=+a[i+20>>2];y=+a[i+36>>2];h=+a[i+8>>2];d=+a[i+24>>2];b=+a[i+40>>2];R=+a[o+16>>2];j=+a[o+20>>2];S=+a[o+24>>2];m=+a[o+32>>2];p=+a[o+36>>2];f=+a[o+40>>2];T=+a[i+48>>2];D=+a[i+52>>2];s=+a[i+56>>2];l=+a[o+48>>2]+(M*T+I*D+x*s);c=R*T+j*D+S*s+ +a[o+52>>2];s=m*T+p*D+f*s+ +a[o+56>>2];a[r+48>>2]=k*M+w*I+v*x;a[r+48+4>>2]=M*C+I*g+x*y;a[r+48+8>>2]=M*h+I*d+x*b;a[r+48+12>>2]=0.0;a[r+48+16>>2]=k*R+w*j+v*S;a[r+48+20>>2]=C*R+g*j+y*S;a[r+48+24>>2]=h*R+d*j+b*S;a[r+48+28>>2]=0.0;a[r+48+32>>2]=k*m+w*p+v*f;a[r+48+36>>2]=C*m+g*p+y*f;a[r+48+40>>2]=h*m+d*p+b*f;a[r+48+44>>2]=0.0;a[r+48+48>>2]=l;a[r+48+52>>2]=c;a[r+48+56>>2]=s;a[r+48+60>>2]=0.0;o=_[e+32>>2]|0;a[r+24+4>>2]=1.0;_[r+24+8>>2]=1;_[r+24+12>>2]=-1;_[r+24>>2]=5252;_[r+24+16>>2]=o;_[r+24+20>>2]=t;_[r+24+4>>2]=_[o+4>>2];o=_[e+4>>2]|0;i=_[o+8>>2]|0;_[r>>2]=o;_[r+4>>2]=n;_[r+8>>2]=i;_[r+12>>2]=r+48;_[r+16>>2]=-1;_[r+20>>2]=t;jc(_[e+8>>2]|0,_[e+12>>2]|0,_[e+16>>2]|0,r,r+24|0,+a[e+20>>2]);u=r;return}function Df(){var e=0,t=0,i=0;e=Pr(348)|0;_[e>>2]=4872;_[e+132>>2]=0;_[e+132+4>>2]=0;_[e+132+8>>2]=0;_[e+132+12>>2]=0;_[e+132+16>>2]=0;_[e+132+20>>2]=0;_[e+132+24>>2]=0;_[e+132+28>>2]=0;_[e+164>>2]=1065353216;_[e+168>>2]=1065353216;_[e+172>>2]=1065353216;a[e+176>>2]=0.0;_[e+180>>2]=0;a[e+184>>2]=999999984306749440.0;_[e+188>>2]=0;_[e+188+4>>2]=0;_[e+188+8>>2]=0;_[e+188+12>>2]=0;_[e+204>>2]=1;_[e+208>>2]=-1;_[e+212>>2]=-1;_[e+216>>2]=-1;_[e+220>>2]=1;a[e+224>>2]=0.0;a[e+228>>2]=.5;a[e+232>>2]=0.0;a[e+236>>2]=0.0;a[e+240>>2]=0.0;a[e+244>>2]=.10000000149011612;a[e+248>>2]=1.0e4;_[e+256>>2]=0;_[e+260>>2]=-1;_[e+264>>2]=-1;a[e+268>>2]=1.0;a[e+272>>2]=0.0;a[e+276>>2]=0.0;_[e+280>>2]=0;n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;_[e+292>>2]=0;_[e+304>>2]=0;_[e+4>>2]=1065353216;_[e+8>>2]=0;_[e+8+4>>2]=0;_[e+8+8>>2]=0;_[e+8+12>>2]=0;_[e+24>>2]=1065353216;_[e+28>>2]=0;_[e+28+4>>2]=0;_[e+28+8>>2]=0;_[e+28+12>>2]=0;_[e+44>>2]=1065353216;_[e+48>>2]=0;_[e+48+4>>2]=0;_[e+48+8>>2]=0;_[e+48+12>>2]=0;_[e+48+16>>2]=0;_[e+68>>2]=1065353216;_[e+72>>2]=0;_[e+72+4>>2]=0;_[e+72+8>>2]=0;_[e+72+12>>2]=0;_[e+88>>2]=1065353216;_[e+92>>2]=0;_[e+92+4>>2]=0;_[e+92+8>>2]=0;_[e+92+12>>2]=0;_[e+108>>2]=1065353216;_[e+112>>2]=0;_[e+112+4>>2]=0;_[e+112+8>>2]=0;_[e+112+12>>2]=0;_[e+112+16>>2]=0;n[e+340>>0]=1;_[e+336>>2]=0;_[e+328>>2]=0;_[e+332>>2]=0;_[e+252>>2]=4;_[e>>2]=5648;_[6293]=(_[6293]|0)+1;t=cc(91)|0;if(!t){i=0;Qh(i);t=e+344|0;_[t>>2]=i;return e|0}_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16;Qh(t);i=e+344|0;_[i>>2]=t;return e|0}function Ef(e,t,i,n,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;var c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0,g=0;y=u;u=u+48|0;m=+a[i>>2];d=+a[i+4>>2];h=+a[i+8>>2];c=m*+a[t+4>>2]+d*+a[t+20>>2]+h*+a[t+36>>2];l=m*+a[t+8>>2]+d*+a[t+24>>2]+h*+a[t+40>>2];a[y+32>>2]=+a[t>>2]*m+ +a[t+16>>2]*d+ +a[t+32>>2]*h;a[y+32+4>>2]=c;a[y+32+8>>2]=l;a[y+32+12>>2]=0.0;Za[_[(_[e>>2]|0)+64>>2]&127](y+16|0,e,y+32|0);l=+a[y+16>>2];c=+a[y+16+4>>2];h=+a[y+16+8>>2];d=l*+a[t>>2]+c*+a[t+4>>2]+h*+a[t+8>>2]+ +a[t+48>>2];m=l*+a[t+16>>2]+c*+a[t+20>>2]+h*+a[t+24>>2]+ +a[t+52>>2];h=l*+a[t+32>>2]+c*+a[t+36>>2]+h*+a[t+40>>2]+ +a[t+56>>2];g=_[(_[e>>2]|0)+64>>2]|0;c=-+a[y+32+4>>2];l=-+a[y+32+8>>2];a[y>>2]=-+a[y+32>>2];a[y+4>>2]=c;a[y+8>>2]=l;a[y+12>>2]=0.0;Za[g&127](y+16|0,e,y);l=+a[y+16>>2];c=+a[y+16+4>>2];f=+a[y+16+8>>2];b=l*+a[t>>2]+c*+a[t+4>>2]+f*+a[t+8>>2]+ +a[t+48>>2];p=l*+a[t+16>>2]+c*+a[t+20>>2]+f*+a[t+24>>2]+ +a[t+52>>2];f=l*+a[t+32>>2]+c*+a[t+36>>2]+f*+a[t+40>>2]+ +a[t+56>>2];a[n>>2]=d*+a[i>>2]+m*+a[i+4>>2]+h*+a[i+8>>2];a[r>>2]=b*+a[i>>2]+p*+a[i+4>>2]+f*+a[i+8>>2];a[s>>2]=b;a[s+4>>2]=p;a[s+8>>2]=f;a[s+12>>2]=0.0;a[o>>2]=d;a[o+4>>2]=m;a[o+8>>2]=h;a[o+12>>2]=0.0;c=+a[n>>2];l=+a[r>>2];if(!(c>l)){u=y;return}a[n>>2]=l;a[r>>2]=c;a[s>>2]=d;a[s+4>>2]=m;a[s+8>>2]=h;a[s+12>>2]=0.0;a[o>>2]=b;a[o+4>>2]=p;a[o+8>>2]=f;a[o+12>>2]=0.0;u=y;return}function Ff(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0;b=u;u=u+32|0;if((t|0)<0)t=_[e+12>>2]|0;i=_[e>>2]|0;if(!((t|0)>0&(i|0)!=0)){u=b;return}while(1){n=i+40|0;if(_[n>>2]|0){f=0;while(1){o=i+32|0;s=_[o>>2]|0;if(s>>>0>i>>>0){c=(_[s+40>>2]|0)==(i|0)&1;a=_[s+36+((c^1)<<2)>>2]|0;l=_[s+32>>2]|0;if(!l)r=e;else r=l+36+(((_[l+40>>2]|0)==(s|0)&1)<<2)|0;_[r>>2]=i;_[a+32>>2]=i;_[s+32>>2]=i;_[o>>2]=l;l=i+36|0;_[s+36>>2]=_[l>>2];_[s+40>>2]=_[n>>2];_[(_[l>>2]|0)+32>>2]=s;_[(_[n>>2]|0)+32>>2]=s;_[i+36+(c<<2)>>2]=s;_[i+36+((c^1)<<2)>>2]=a;_[b>>2]=_[s>>2];_[b+4>>2]=_[s+4>>2];_[b+8>>2]=_[s+8>>2];_[b+12>>2]=_[s+12>>2];_[b+16>>2]=_[s+16>>2];_[b+20>>2]=_[s+20>>2];_[b+24>>2]=_[s+24>>2];_[b+28>>2]=_[s+28>>2];_[s>>2]=_[i>>2];_[s+4>>2]=_[i+4>>2];_[s+8>>2]=_[i+8>>2];_[s+12>>2]=_[i+12>>2];_[s+16>>2]=_[i+16>>2];_[s+20>>2]=_[i+20>>2];_[s+24>>2]=_[i+24>>2];_[s+28>>2]=_[i+28>>2];_[i>>2]=_[b>>2];_[i+4>>2]=_[b+4>>2];_[i+8>>2]=_[b+8>>2];_[i+12>>2]=_[b+12>>2];_[i+16>>2]=_[b+16>>2];_[i+20>>2]=_[b+20>>2];_[i+24>>2]=_[b+24>>2];_[i+28>>2]=_[b+28>>2];i=s}i=_[i+36+(((_[e+16>>2]|0)>>>f&1)<<2)>>2]|0;n=i+40|0;if(!(_[n>>2]|0))break;else f=f+1&31}}if(!(Qf(e,i)|0))n=0;else n=_[e>>2]|0;pe(e,n,i);_[e+16>>2]=(_[e+16>>2]|0)+1;t=t+-1|0;if(!t)break;i=_[e>>2]|0}u=b;return}function Gf(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0,S=0.0,j=0.0;k=u;u=u+48|0;C=+a[n>>2];v=+a[i>>2];w=+a[n+4>>2];g=+a[i+4>>2];y=+a[n+8>>2];b=+a[i+8>>2];p=+W(+((C-v)*.5*(C-v)*.5+(w-g)*.5*(w-g)*.5+(y-b)*.5*(y-b)*.5));d=+a[e+60>>2];i=+G(+d)>.7071067690849304;m=+a[e+56>>2];if(i){f=1.0/+W(+(d*d+m*m));h=+a[e+52>>2];r=h*-(d*f);o=(d*d+m*m)*f;s=0.0;c=-(h*m*f);l=-(d*f);f=m*f}else{h=+a[e+52>>2];l=1.0/+W(+(h*h+m*m));r=(h*h+m*m)*l;o=-(d*h*l);s=-(m*l);c=d*-(m*l);l=h*l;f=0.0}S=(C+v)*.5*h+(w+g)*.5*m+(y+b)*.5*d-+a[e+68>>2];j=(C+v)*.5-h*S;s=p*s;h=p*l;v=p*f;l=p*o;f=p*c;C=p*r;a[k>>2]=l+(s+j);a[k+4>>2]=f+(h+((w+g)*.5-m*S));a[k+8>>2]=C+(v+((y+b)*.5-d*S));a[k+12>>2]=0.0;a[k+16>>2]=s+j-l;a[k+20>>2]=h+((w+g)*.5-m*S)-f;a[k+24>>2]=v+((y+b)*.5-d*S)-C;a[k+28>>2]=0.0;a[k+32>>2]=j-s-l;a[k+36>>2]=(w+g)*.5-m*S-h-f;a[k+40>>2]=(y+b)*.5-d*S-v-C;a[k+44>>2]=0.0;$a[_[(_[t>>2]|0)+8>>2]&127](t,k,0,0);a[k>>2]=j-s-l;a[k+4>>2]=(w+g)*.5-m*S-h-f;a[k+8>>2]=(y+b)*.5-d*S-v-C;a[k+12>>2]=0.0;a[k+16>>2]=l+(j-s);a[k+20>>2]=f+((w+g)*.5-m*S-h);a[k+24>>2]=C+((y+b)*.5-d*S-v);a[k+28>>2]=0.0;a[k+32>>2]=l+(s+j);a[k+36>>2]=f+(h+((w+g)*.5-m*S));a[k+40>>2]=C+(v+((y+b)*.5-d*S));a[k+44>>2]=0.0;$a[_[(_[t>>2]|0)+8>>2]&127](t,k,0,1);u=k;return}function Hf(e,t){e=e|0;t=t|0;var i=0,o=0,s=0,c=0,a=0,l=0;if(!(n[e+164>>0]|0)){i=_[e+148>>2]|0;if((i|0)==(_[e+152>>2]|0)?(l=i|0?i<<1:1,(i|0)<(l|0)):0){if(!l)c=0;else{_[6293]=(_[6293]|0)+1;i=cc((l<<1)+19|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c=i;i=_[e+148>>2]|0}s=_[e+156>>2]|0;if((i|0)<=0)if(!s)i=e+160|0;else o=27;else{o=0;do{r[c+(o<<1)>>1]=r[s+(o<<1)>>1]|0;o=o+1|0}while((o|0)!=(i|0));o=27}if((o|0)==27){if(n[e+160>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[e+156>>2]=0;i=e+160|0}n[i>>0]=1;_[e+156>>2]=c;_[e+152>>2]=l;i=_[e+148>>2]|0}r[(_[e+156>>2]|0)+(i<<1)>>1]=t;_[e+148>>2]=i+1;l=e+156|0;l=_[l>>2]|0;t=e+32|0;t=_[t>>2]|0;t=t+4|0;_[t>>2]=l;return}else{i=_[e+128>>2]|0;if((i|0)==(_[e+132>>2]|0)?(a=i|0?i<<1:1,(i|0)<(a|0)):0){if(!a)c=0;else{_[6293]=(_[6293]|0)+1;i=cc((a<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c=i;i=_[e+128>>2]|0}s=_[e+136>>2]|0;if((i|0)<=0)if(!s)i=e+140|0;else o=12;else{o=0;do{_[c+(o<<2)>>2]=_[s+(o<<2)>>2];o=o+1|0}while((o|0)!=(i|0));o=12}if((o|0)==12){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[e+136>>2]=0;i=e+140|0}n[i>>0]=1;_[e+136>>2]=c;_[e+132>>2]=a;i=_[e+128>>2]|0}_[(_[e+136>>2]|0)+(i<<2)>>2]=t;_[e+128>>2]=(_[e+128>>2]|0)+1;l=e+136|0;l=_[l>>2]|0;t=e+32|0;t=_[t>>2]|0;t=t+4|0;_[t>>2]=l;return}}function If(e,t,i){e=e|0;t=t|0;i=i|0;ye(e,t,i)|0;_[t+264>>2]=_[e+324>>2];_[t+268>>2]=_[e+328>>2];_[t+272>>2]=_[e+332>>2];_[t+276>>2]=_[e+336>>2];_[t+280>>2]=_[e+340>>2];_[t+284>>2]=_[e+344>>2];_[t+288>>2]=_[e+348>>2];_[t+292>>2]=_[e+352>>2];_[t+296>>2]=_[e+356>>2];_[t+300>>2]=_[e+360>>2];_[t+304>>2]=_[e+364>>2];_[t+308>>2]=_[e+368>>2];_[t+312>>2]=_[e+372>>2];_[t+316>>2]=_[e+376>>2];_[t+320>>2]=_[e+380>>2];_[t+324>>2]=_[e+384>>2];_[t+328>>2]=_[e+388>>2];_[t+332>>2]=_[e+392>>2];_[t+336>>2]=_[e+396>>2];_[t+340>>2]=_[e+400>>2];_[t+456>>2]=_[e+404>>2];_[t+344>>2]=_[e+604>>2];_[t+348>>2]=_[e+608>>2];_[t+352>>2]=_[e+612>>2];_[t+356>>2]=_[e+616>>2];_[t+360>>2]=_[e+408>>2];_[t+364>>2]=_[e+412>>2];_[t+368>>2]=_[e+416>>2];_[t+372>>2]=_[e+420>>2];_[t+376>>2]=_[e+424>>2];_[t+380>>2]=_[e+428>>2];_[t+384>>2]=_[e+432>>2];_[t+388>>2]=_[e+436>>2];_[t+392>>2]=_[e+440>>2];_[t+396>>2]=_[e+444>>2];_[t+400>>2]=_[e+448>>2];_[t+404>>2]=_[e+452>>2];_[t+408>>2]=_[e+456>>2];_[t+412>>2]=_[e+460>>2];_[t+416>>2]=_[e+464>>2];_[t+420>>2]=_[e+468>>2];_[t+424>>2]=_[e+472>>2];_[t+428>>2]=_[e+476>>2];_[t+432>>2]=_[e+480>>2];_[t+436>>2]=_[e+484>>2];_[t+440>>2]=_[e+488>>2];_[t+444>>2]=_[e+492>>2];_[t+448>>2]=_[e+496>>2];_[t+452>>2]=_[e+500>>2];_[t+460>>2]=_[e+504>>2];_[t+464>>2]=_[e+508>>2];_[t+492>>2]=o[e+512>>0];_[t+468>>2]=_[e+516>>2];_[t+472>>2]=_[e+520>>2];_[t+476>>2]=_[e+524>>2];_[t+480>>2]=_[e+528>>2];_[t+484>>2]=_[e+532>>2];_[t+488>>2]=_[e+536>>2];return 12081}function Jf(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0.0,c=0.0,l=0,f=0,b=0.0;_[6009]=(_[6009]|0)+1;if(!(_[e+4>>2]&2))c=.019999999552965164;else{l=_[t+192>>2]|0;s=+qa[_[(_[l>>2]|0)+20>>2]&1](l,.019999999552965164);l=_[i+192>>2]|0;c=+qa[_[(_[l>>2]|0)+20>>2]&1](l,.019999999552965164);c=s<c?s:c}b=+a[t+184>>2];s=+a[i+184>>2];s=b<s?b:s;r=_[e+72>>2]|0;o=_[r+12>>2]|0;if(!o){if(_[e+4>>2]&4|0){e=0;return e|0}_[6293]=(_[6293]|0)+1;r=cc(823)|0;if(!r)l=0;else{_[(r+4+15&-16)+-4>>2]=r;l=r+4+15&-16}}else{_[r+12>>2]=_[o>>2];_[r+8>>2]=(_[r+8>>2]|0)+-1;l=o}_[l>>2]=1025;r=l+120|0;o=r+44|0;do{_[r>>2]=0;r=r+4|0}while((r|0)<(o|0));r=l+312|0;o=r+44|0;do{_[r>>2]=0;r=r+4|0}while((r|0)<(o|0));r=l+504|0;o=r+44|0;do{_[r>>2]=0;r=r+4|0}while((r|0)<(o|0));r=l+696|0;o=r+44|0;do{_[r>>2]=0;r=r+4|0}while((r|0)<(o|0));_[l+772>>2]=t;_[l+776>>2]=i;_[l+780>>2]=0;a[l+784>>2]=c;a[l+788>>2]=s;i=l;r=_[e+12>>2]|0;_[l+800>>2]=r;if((r|0)==(_[e+16>>2]|0)?(f=r|0?r<<1:1,(r|0)<(f|0)):0){if(!f)t=0;else{_[6293]=(_[6293]|0)+1;r=cc((f<<2|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}t=r;r=_[e+12>>2]|0}if((r|0)>0){o=0;do{_[t+(o<<2)>>2]=_[(_[e+20>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(r|0))}o=_[e+20>>2]|0;if(o){if(n[e+24>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);r=_[e+12>>2]|0}_[e+20>>2]=0}n[e+24>>0]=1;_[e+20>>2]=t;_[e+16>>2]=f}_[(_[e+20>>2]|0)+(r<<2)>>2]=i;_[e+12>>2]=r+1;e=l;return e|0}function Kf(e,t,i,r,o,s,c,l,f){e=e|0;t=t|0;i=i|0;r=+r;o=+o;s=+s;c=c|0;l=l|0;f=f|0;var p=0,u=0.0,d=0.0,m=0.0,h=0.0;p=Nr()|0;_[p+8>>2]=0;_[p+12>>2]=-1;a[p+16>>2]=0.0;_[p>>2]=7384;_[p+4>>2]=24;_[p+68>>2]=e;_[p+72>>2]=t;a[p+76>>2]=o;a[p+80>>2]=s;a[p+84>>2]=+(e+-1|0);a[p+88>>2]=+(t+-1|0);a[p+92>>2]=r;_[p+96>>2]=i;_[p+100>>2]=l;n[p+104>>0]=f&1;n[p+105>>0]=0;n[p+106>>0]=0;_[p+108>>2]=c;_[p+112>>2]=1065353216;_[p+116>>2]=1065353216;_[p+120>>2]=1065353216;a[p+124>>2]=0.0;switch(c|0){case 0:{a[p+20>>2]=o;_[p+24>>2]=0;e=p+88|0;t=p+84|0;i=p+80|0;r=0.0;s=0.0;break}case 1:{_[p+20>>2]=0;a[p+24>>2]=o;e=p+88|0;t=p+80|0;i=p+84|0;r=0.0;s=o;o=0.0;break}case 2:{_[p+20>>2]=0;_[p+24>>2]=0;e=p+80|0;t=p+88|0;i=p+84|0;r=o;s=0.0;o=0.0;break}default:{o=+a[p+20>>2];m=+a[p+36>>2];r=+a[p+24>>2];d=+a[p+40>>2];s=+a[p+28>>2];u=+a[p+44>>2];o=m+o;r=d+r;s=u+s;o=o*.5;r=r*.5;s=s*.5;f=p+52|0;a[f>>2]=o;f=p+56|0;a[f>>2]=r;f=p+60|0;a[f>>2]=s;f=p+64|0;a[f>>2]=0.0;return p|0}}a[p+28>>2]=r;a[p+32>>2]=0.0;c=_[i>>2]|0;_[p+36>>2]=c;l=_[t>>2]|0;_[p+40>>2]=l;f=_[e>>2]|0;_[p+44>>2]=f;a[p+48>>2]=0.0;h=(_[b>>2]=c,+a[b>>2]);m=(_[b>>2]=l,+a[b>>2]);u=o;d=s;o=m;m=r;s=(_[b>>2]=f,+a[b>>2]);u=h+u;d=o+d;m=s+m;u=u*.5;d=d*.5;m=m*.5;f=p+52|0;a[f>>2]=u;f=p+56|0;a[f>>2]=d;f=p+60|0;a[f>>2]=m;f=p+64|0;a[f>>2]=0.0;return p|0}function Lf(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0;f=_[t>>2]|0;f=Pa[_[(_[f>>2]|0)+56>>2]&31](f,116)|0;tk(f,t,i,r,0);_[f>>2]=9272;n[f+104>>0]=1;_[f+100>>2]=0;_[f+92>>2]=0;_[f+96>>2]=0;_[6293]=(_[6293]|0)+1;e=cc(83)|0;if(!e)s=0;else{_[(e+4+15&-16)+-4>>2]=e;s=e+4+15&-16}_[s>>2]=9564;c=s+20|0;n[c>>0]=1;a=s+16|0;_[a>>2]=0;t=s+8|0;_[t>>2]=0;l=s+12|0;_[l>>2]=0;n[s+40>>0]=1;_[s+36>>2]=0;_[s+28>>2]=0;_[s+32>>2]=0;n[s+60>>0]=1;_[s+56>>2]=0;_[s+48>>2]=0;_[s+52>>2]=0;_[6293]=(_[6293]|0)+1;e=cc(43)|0;if(!e)o=0;else{_[(e+4+15&-16)+-4>>2]=e;o=e+4+15&-16}t=_[t>>2]|0;if((t|0)>0){e=0;do{b=o+(e*12|0)|0;p=(_[a>>2]|0)+(e*12|0)|0;_[b>>2]=_[p>>2];_[b+4>>2]=_[p+4>>2];_[b+8>>2]=_[p+8>>2];e=e+1|0}while((e|0)!=(t|0))}e=_[a>>2]|0;if(!e){n[c>>0]=1;_[a>>2]=o;_[l>>2]=2;ef(s);p=f+84|0;_[p>>2]=s;p=i+4|0;p=_[p>>2]|0;p=p+72|0;p=_[p>>2]|0;b=f+108|0;_[b>>2]=p;b=r+4|0;b=_[b>>2]|0;b=b+72|0;b=_[b>>2]|0;p=f+112|0;_[p>>2]=b;return f|0}if(n[c>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0)}_[a>>2]=0;n[c>>0]=1;_[a>>2]=o;_[l>>2]=2;ef(s);p=f+84|0;_[p>>2]=s;p=i+4|0;p=_[p>>2]|0;p=p+72|0;p=_[p>>2]|0;b=f+108|0;_[b>>2]=p;b=r+4|0;b=_[b>>2]|0;b=b+72|0;b=_[b>>2]|0;p=f+112|0;_[p>>2]=b;return f|0}function Mf(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;o=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t>>2]=o;if(o|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+4>>2]=_[e+4>>2];_[t+8>>2]=0;o=_[e+52>>2]|0;xa[_[(_[o>>2]|0)+56>>2]&63](o,t+12|0,i)|0;_[t+52>>2]=_[e+16>>2];do{if((_[e+56>>2]|0)!=0?((ya[_[(_[i>>2]|0)+52>>2]&127](i)|0)&1|0)==0:0){n=Pa[_[(_[i>>2]|0)+24>>2]&31](i,_[e+56>>2]|0)|0;if(!n){_[t+40>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,_[e+56>>2]|0)|0;_[t+44>>2]=0;n=_[e+56>>2]|0;n=ya[_[(_[n>>2]|0)+12>>2]&127](n)|0;n=xa[_[(_[i>>2]|0)+16>>2]&63](i,n,1)|0;o=_[e+56>>2]|0;o=xa[_[(_[o>>2]|0)+16>>2]&63](o,_[n+8>>2]|0,i)|0;ba[_[(_[i>>2]|0)+20>>2]&31](i,n,o,1213612625,_[e+56>>2]|0);break}else{_[t+40>>2]=n;_[t+44>>2]=0;break}}else r=8}while(0);if((r|0)==8){_[t+40>>2]=0;_[t+44>>2]=0}if(_[e+60>>2]|0?((ya[_[(_[i>>2]|0)+52>>2]&127](i)|0)&2|0)==0:0){n=Pa[_[(_[i>>2]|0)+24>>2]&31](i,_[e+60>>2]|0)|0;if(!n){_[t+48>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,_[e+60>>2]|0)|0;r=_[e+60>>2]|0;r=ya[_[(_[r>>2]|0)+8>>2]&127](r)|0;r=xa[_[(_[i>>2]|0)+16>>2]&63](i,r,1)|0;o=_[e+60>>2]|0;o=xa[_[(_[o>>2]|0)+12>>2]&63](o,_[r+8>>2]|0,i)|0;ba[_[(_[i>>2]|0)+20>>2]&31](i,r,o,1346456916,_[e+60>>2]|0);o=t+56|0;_[o>>2]=0;return 15536}else{_[t+48>>2]=n;o=t+56|0;_[o>>2]=0;return 15536}}_[t+48>>2]=0;o=t+56|0;_[o>>2]=0;return 15536}function Nf(e,t){e=e|0;t=+t;var i=0,n=0,r=0,o=0,s=0.0,c=0.0,l=0.0;o=u;u=u+32|0;i=_[e+8>>2]|0;if((i|0)<=0){u=o;return}r=0;do{n=_[(_[e+16>>2]|0)+(r<<2)>>2]|0;if((!((n|0)==0?1:(_[n+252>>2]&2|0)==0)?(_[n+220>>2]|0)!=2:0)?!(t==0.0?1:(_[n+204>>2]&2|0)==0):0){i=_[n+540>>2]|0;if(!i)i=n+4|0;else{ma[_[(_[i>>2]|0)+8>>2]&127](i,n+4|0);i=n+4|0}c=1.0/t*(+a[n+56>>2]-+a[n+120>>2]);l=1.0/t*(+a[n+60>>2]-+a[n+124>>2]);a[n+372>>2]=1.0/t*(+a[n+52>>2]-+a[n+116>>2]);a[n+376>>2]=c;a[n+380>>2]=l;a[n+384>>2]=0.0;bf(n+68|0,i,o+8|0,o);l=+a[o>>2];c=1.0/t*l*+a[o+8+4>>2];s=1.0/t*l*+a[o+8+8>>2];a[n+388>>2]=1.0/t*+a[o+8>>2]*l;a[n+392>>2]=c;a[n+396>>2]=s;a[n+400>>2]=0.0;_[n+132>>2]=_[n+372>>2];_[n+132+4>>2]=_[n+372+4>>2];_[n+132+8>>2]=_[n+372+8>>2];_[n+132+12>>2]=_[n+372+12>>2];_[n+148>>2]=_[n+388>>2];_[n+148+4>>2]=_[n+388+4>>2];_[n+148+8>>2]=_[n+388+8>>2];_[n+148+12>>2]=_[n+388+12>>2];_[n+68>>2]=_[i>>2];_[n+68+4>>2]=_[i+4>>2];_[n+68+8>>2]=_[i+8>>2];_[n+68+12>>2]=_[i+12>>2];_[n+84>>2]=_[n+20>>2];_[n+84+4>>2]=_[n+20+4>>2];_[n+84+8>>2]=_[n+20+8>>2];_[n+84+12>>2]=_[n+20+12>>2];_[n+100>>2]=_[n+36>>2];_[n+100+4>>2]=_[n+36+4>>2];_[n+100+8>>2]=_[n+36+8>>2];_[n+100+12>>2]=_[n+36+12>>2];_[n+116>>2]=_[n+52>>2];_[n+116+4>>2]=_[n+52+4>>2];_[n+116+8>>2]=_[n+52+8>>2];_[n+116+12>>2]=_[n+52+12>>2];i=_[e+8>>2]|0}r=r+1|0}while((r|0)<(i|0));u=o;return}function Of(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0;s=ds()|0;_[s+4>>2]=4;_[s+8>>2]=-1;_[s+12>>2]=-1;a[s+16>>2]=3402823466385288598117041.0e14;n[s+20>>0]=1;n[s+21>>0]=0;_[s+24>>2]=-1;_[s+28>>2]=e;_[s+32>>2]=t;a[s+36>>2]=0.0;a[s+40>>2]=.05000000074505806;_[s+44>>2]=0;_[s>>2]=3728;_[s+552>>2]=_[i>>2];_[s+552+4>>2]=_[i+4>>2];_[s+552+8>>2]=_[i+8>>2];_[s+552+12>>2]=_[i+12>>2];_[s+568>>2]=_[i+16>>2];_[s+568+4>>2]=_[i+16+4>>2];_[s+568+8>>2]=_[i+16+8>>2];_[s+568+12>>2]=_[i+16+12>>2];_[s+584>>2]=_[i+32>>2];_[s+584+4>>2]=_[i+32+4>>2];_[s+584+8>>2]=_[i+32+8>>2];_[s+584+12>>2]=_[i+32+12>>2];_[s+600>>2]=_[i+48>>2];_[s+600+4>>2]=_[i+48+4>>2];_[s+600+8>>2]=_[i+48+8>>2];_[s+600+12>>2]=_[i+48+12>>2];_[s+616>>2]=_[r>>2];_[s+616+4>>2]=_[r+4>>2];_[s+616+8>>2]=_[r+8>>2];_[s+616+12>>2]=_[r+12>>2];_[s+632>>2]=_[r+16>>2];_[s+632+4>>2]=_[r+16+4>>2];_[s+632+8>>2]=_[r+16+8>>2];_[s+632+12>>2]=_[r+16+12>>2];_[s+648>>2]=_[r+32>>2];_[s+648+4>>2]=_[r+32+4>>2];_[s+648+8>>2]=_[r+32+8>>2];_[s+648+12>>2]=_[r+32+12>>2];_[s+664>>2]=_[r+48>>2];_[s+664+4>>2]=_[r+48+4>>2];_[s+664+8>>2]=_[r+48+8>>2];_[s+664+12>>2]=_[r+48+12>>2];a[s+688>>2]=0.0;a[s+692>>2]=-1.0;a[s+696>>2]=.8999999761581421;a[s+700>>2]=.30000001192092896;a[s+704>>2]=1.0;a[s+708>>2]=0.0;a[s+712>>2]=0.0;n[s+716>>0]=0;n[s+736>>0]=0;n[s+737>>0]=0;n[s+738>>0]=0;n[s+739>>0]=1;n[s+740>>0]=o&1;_[s+748>>2]=0;_[s+748+4>>2]=0;_[s+748+8>>2]=0;_[s+748+12>>2]=0;_[s+748+16>>2]=0;a[s+732>>2]=o?-1.0:1.0;return s|0}function Pf(e,t,i,r){e=e|0;t=t|0;i=+i;r=r|0;var o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0,p=0;p=u;u=u+16|0;b=Er()|0;_[b>>2]=3272;n[b+216>>0]=1;_[b+212>>2]=0;_[b+204>>2]=0;_[b+208>>2]=0;_[b+8>>2]=e;_[b+256>>2]=0;_[b+260>>2]=0;_[b+264>>2]=1065353216;a[b+268>>2]=0.0;_[b+272>>2]=0;_[b+276>>2]=0;_[b+280>>2]=1065353216;a[b+284>>2]=0.0;a[b+64>>2]=.019999999552965164;_[b+68>>2]=0;_[b+68+4>>2]=0;_[b+68+8>>2]=0;_[b+68+12>>2]=0;_[b+100>>2]=0;_[b+100+4>>2]=0;_[b+100+8>>2]=0;_[b+100+12>>2]=0;n[b+250>>0]=1;a[b+56>>2]=0.0;_[b+12>>2]=t;n[b+251>>0]=1;a[b+252>>2]=0.0;a[b+20>>2]=0.0;a[b+24>>2]=0.0;a[b+52>>2]=29.399999618530273;a[b+28>>2]=55.0;a[b+32>>2]=10.0;a[b+36>>2]=10.0;n[b+248>>0]=0;n[b+249>>0]=0;n[b+288>>0]=1;a[b+148>>2]=0.0;a[b+16>>2]=.20000000298023224;n[b+289>>0]=0;n[b+290>>0]=0;a[b+240>>2]=0.0;a[b+244>>2]=0.0;c=+a[r>>2];l=+a[r+4>>2];f=+a[r+8>>2];if(!(c*c+l*l+f*f>0.0)){Xd(b,r);r=b+60|0;a[r>>2]=i;r=b+44|0;a[r>>2]=.7853981852531433;r=b+48|0;a[r>>2]=.7071067690849304;u=p;return b|0}o=1.0/+W(+(c*c+l*l+f*f));s=f*o*-29.399999618530273*f*o*-29.399999618530273+(c*o*-29.399999618530273*c*o*-29.399999618530273+l*o*-29.399999618530273*l*o*-29.399999618530273);if(s>0.0){a[p>>2]=-(c*o*-29.399999618530273);a[p+4>>2]=-(l*o*-29.399999618530273);a[p+8>>2]=-(f*o*-29.399999618530273);a[p+12>>2]=0.0;Xd(b,p)}a[b+52>>2]=+W(+s);r=b+60|0;a[r>>2]=i;r=b+44|0;a[r>>2]=.7853981852531433;r=b+48|0;a[r>>2]=.7071067690849304;u=p;return b|0}function Qf(e,t){e=e|0;t=t|0;var i=0,n=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,p=0.0,u=0.0,d=0.0,m=0,h=0,y=0,g=0,C=0,v=0,w=0;if((_[e>>2]|0)==(t|0)){_[e>>2]=0;e=0;return e|0}n=_[t+32>>2]|0;i=_[n+32>>2]|0;t=_[n+36+(((_[n+40>>2]|0)!=(t|0)&1)<<2)>>2]|0;e:do{if(!i){_[e>>2]=t;_[t+32>>2]=0;i=_[e+4>>2]|0;if(i|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+4>>2]=n}else{_[i+36+(((_[i+40>>2]|0)==(n|0)&1)<<2)>>2]=t;_[t+32>>2]=i;t=_[e+4>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+4>>2]=n;while(1){p=+a[i>>2];h=i+4|0;d=+a[h>>2];w=i+8|0;u=+a[w>>2];n=i+16|0;f=+a[n>>2];g=i+20|0;c=+a[g>>2];C=i+24|0;o=+a[C>>2];v=_[i+36>>2]|0;m=_[i+40>>2]|0;t=_[(+a[v>>2]<+a[m>>2]?v:m)>>2]|0;_[i>>2]=t;y=_[(+a[v+16>>2]>+a[m+16>>2]?v+16|0:m+16|0)>>2]|0;_[n>>2]=y;n=_[(+a[v+4>>2]<+a[m+4>>2]?v:m)+4>>2]|0;_[h>>2]=n;h=_[(+a[v+20>>2]>+a[m+20>>2]?v+16|0:m+16|0)+4>>2]|0;_[g>>2]=h;g=_[(+a[v+8>>2]<+a[m+8>>2]?v:m)+8>>2]|0;_[w>>2]=g;m=_[(+a[v+24>>2]>+a[m+24>>2]?v+16|0:m+16|0)+8>>2]|0;_[C>>2]=m;t=p!=(_[b>>2]=t,+a[b>>2]);p=(_[b>>2]=g,+a[b>>2]);l=(_[b>>2]=y,+a[b>>2]);s=(_[b>>2]=h,+a[b>>2]);r=(_[b>>2]=m,+a[b>>2]);if(!(t|d!=(_[b>>2]=n,+a[b>>2])|u!=p|f!=l|c!=s|o!=r))break;i=_[i+32>>2]|0;if(!i)break e}return i|0}}while(0);w=_[e>>2]|0;return w|0}function Rf(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0.0,s=0.0,c=0.0,l=0.0,f=0,b=0.0;f=u;u=u+688|0;_[f+568+8>>2]=0;_[f+568+12>>2]=-1;_[f+568+16>>2]=1065353216;_[f+568+20>>2]=1065353216;_[f+568+24>>2]=1065353216;a[f+568+28>>2]=0.0;_[f+568+56>>2]=0;_[f+568>>2]=8968;_[f+568+4>>2]=1;_[f+568+60>>2]=_[t>>2];_[f+568+60+4>>2]=_[t+4>>2];_[f+568+60+8>>2]=_[t+8>>2];_[f+568+60+12>>2]=_[t+12>>2];_[f+568+76>>2]=_[t+16>>2];_[f+568+76+4>>2]=_[t+16+4>>2];_[f+568+76+8>>2]=_[t+16+8>>2];_[f+568+76+12>>2]=_[t+16+12>>2];_[f+568+92>>2]=_[t+32>>2];_[f+568+92+4>>2]=_[t+32+4>>2];_[f+568+92+8>>2]=_[t+32+8>>2];_[f+568+92+12>>2]=_[t+32+12>>2];_[f+568+48>>2]=_[e+204>>2];a[f+208+308>>2]=9.999999747378752e-05;n[f+208+332>>0]=0;_[f+200>>2]=8856;t=_[e+4>>2]|0;_[f+176>>2]=8788;_[f+176+4>>2]=f+208;_[f+176+8>>2]=f+200;_[f+176+12>>2]=t;_[f+176+16>>2]=f+568;_[f+176+20>>2]=0;_[f>>2]=4988;_[f+168>>2]=0;a[f+164>>2]=1.0;_[f+172>>2]=_[e+208>>2];if((Bd(f+176|0,e+8|0,e+72|0,e+136|0,e+136|0,f)|0?(o=+a[f+132>>2],s=+a[f+136>>2],c=+a[f+140>>2],o*o+s*s+c*c>9.999999747378752e-05):0)?(l=+a[f+164>>2],l<+a[e+200>>2]):0){b=1.0/+W(+(o*o+s*s+c*c));a[f+132>>2]=o*b;a[f+136>>2]=s*b;a[f+140>>2]=c*b;+Oa[_[(_[e>>2]|0)+12>>2]&3](e,f+132|0,f+148|0,l,i,r)}_[f+568>>2]=7544;e=_[f+568+56>>2]|0;if(!e){u=f;return}ua[_[_[e>>2]>>2]&511](e);e=_[f+568+56>>2]|0;if(!e){u=f;return}_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);u=f;return}function Sf(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0;o=ds()|0;_[o+4>>2]=4;_[o+8>>2]=-1;_[o+12>>2]=-1;a[o+16>>2]=3402823466385288598117041.0e14;n[o+20>>0]=1;n[o+21>>0]=0;_[o+24>>2]=-1;_[o+28>>2]=e;_[o+32>>2]=t;a[o+36>>2]=0.0;a[o+40>>2]=.05000000074505806;_[o+44>>2]=0;_[o>>2]=3728;_[o+552>>2]=_[i>>2];_[o+552+4>>2]=_[i+4>>2];_[o+552+8>>2]=_[i+8>>2];_[o+552+12>>2]=_[i+12>>2];_[o+568>>2]=_[i+16>>2];_[o+568+4>>2]=_[i+16+4>>2];_[o+568+8>>2]=_[i+16+8>>2];_[o+568+12>>2]=_[i+16+12>>2];_[o+584>>2]=_[i+32>>2];_[o+584+4>>2]=_[i+32+4>>2];_[o+584+8>>2]=_[i+32+8>>2];_[o+584+12>>2]=_[i+32+12>>2];_[o+600>>2]=_[i+48>>2];_[o+600+4>>2]=_[i+48+4>>2];_[o+600+8>>2]=_[i+48+8>>2];_[o+600+12>>2]=_[i+48+12>>2];_[o+616>>2]=_[r>>2];_[o+616+4>>2]=_[r+4>>2];_[o+616+8>>2]=_[r+8>>2];_[o+616+12>>2]=_[r+12>>2];_[o+632>>2]=_[r+16>>2];_[o+632+4>>2]=_[r+16+4>>2];_[o+632+8>>2]=_[r+16+8>>2];_[o+632+12>>2]=_[r+16+12>>2];_[o+648>>2]=_[r+32>>2];_[o+648+4>>2]=_[r+32+4>>2];_[o+648+8>>2]=_[r+32+8>>2];_[o+648+12>>2]=_[r+32+12>>2];_[o+664>>2]=_[r+48>>2];_[o+664+4>>2]=_[r+48+4>>2];_[o+664+8>>2]=_[r+48+8>>2];_[o+664+12>>2]=_[r+48+12>>2];a[o+688>>2]=0.0;a[o+692>>2]=-1.0;a[o+696>>2]=.8999999761581421;a[o+700>>2]=.30000001192092896;a[o+704>>2]=1.0;a[o+708>>2]=0.0;a[o+712>>2]=0.0;n[o+716>>0]=0;n[o+736>>0]=0;n[o+737>>0]=0;n[o+738>>0]=0;n[o+739>>0]=1;n[o+740>>0]=0;_[o+748>>2]=0;_[o+748+4>>2]=0;_[o+748+8>>2]=0;_[o+748+12>>2]=0;_[o+748+16>>2]=0;a[o+732>>2]=1.0;return o|0}function Tf(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0;o=Wr()|0;_[o+4>>2]=5;_[o+8>>2]=-1;_[o+12>>2]=-1;a[o+16>>2]=3402823466385288598117041.0e14;n[o+20>>0]=1;n[o+21>>0]=0;_[o+24>>2]=-1;_[o+28>>2]=e;_[o+32>>2]=t;a[o+36>>2]=0.0;a[o+40>>2]=.05000000074505806;_[o+44>>2]=0;_[o>>2]=3380;_[o+300>>2]=_[i>>2];_[o+300+4>>2]=_[i+4>>2];_[o+300+8>>2]=_[i+8>>2];_[o+300+12>>2]=_[i+12>>2];_[o+316>>2]=_[i+16>>2];_[o+316+4>>2]=_[i+16+4>>2];_[o+316+8>>2]=_[i+16+8>>2];_[o+316+12>>2]=_[i+16+12>>2];_[o+332>>2]=_[i+32>>2];_[o+332+4>>2]=_[i+32+4>>2];_[o+332+8>>2]=_[i+32+8>>2];_[o+332+12>>2]=_[i+32+12>>2];_[o+348>>2]=_[i+48>>2];_[o+348+4>>2]=_[i+48+4>>2];_[o+348+8>>2]=_[i+48+8>>2];_[o+348+12>>2]=_[i+48+12>>2];_[o+364>>2]=_[r>>2];_[o+364+4>>2]=_[r+4>>2];_[o+364+8>>2]=_[r+8>>2];_[o+364+12>>2]=_[r+12>>2];_[o+380>>2]=_[r+16>>2];_[o+380+4>>2]=_[r+16+4>>2];_[o+380+8>>2]=_[r+16+8>>2];_[o+380+12>>2]=_[r+16+12>>2];_[o+396>>2]=_[r+32>>2];_[o+396+4>>2]=_[r+32+4>>2];_[o+396+8>>2]=_[r+32+8>>2];_[o+396+12>>2]=_[r+32+12>>2];_[o+412>>2]=_[r+48>>2];_[o+412+4>>2]=_[r+48+4>>2];_[o+412+8>>2]=_[r+48+8>>2];_[o+412+12>>2]=_[r+48+12>>2];n[o+552>>0]=0;_[o+524>>2]=0;a[o+572>>2]=-1.0;a[o+444>>2]=999999984306749440.0;a[o+448>>2]=999999984306749440.0;a[o+452>>2]=999999984306749440.0;a[o+428>>2]=1.0;a[o+432>>2]=.30000001192092896;a[o+436>>2]=1.0;a[o+440>>2]=.009999999776482582;a[o+456>>2]=.05000000074505806;_[o+592>>2]=0;a[o+596>>2]=0.0;a[o+600>>2]=.699999988079071;a[o+604>>2]=0.0;return o|0}function Uf(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0;n=+a[i+128>>2];if(!(n!=0.0)){s=0.0;return+s}_[5664]=(_[5664]|0)+1;l=+a[i+96>>2];r=+a[i+16>>2];o=+a[i+20>>2];s=+a[i+24>>2];c=+a[i+108>>2];c=n-l*+a[i+116>>2]-(r*+a[e+144>>2]+o*+a[e+148>>2]+s*+a[e+152>>2]+(+a[i>>2]*+a[e+160>>2]+ +a[i+4>>2]*+a[e+164>>2]+ +a[i+8>>2]*+a[e+168>>2]))*c-c*(+a[i+48>>2]*+a[t+144>>2]+ +a[i+52>>2]*+a[t+148>>2]+ +a[i+56>>2]*+a[t+152>>2]+(+a[i+32>>2]*+a[t+160>>2]+ +a[i+36>>2]*+a[t+164>>2]+ +a[i+40>>2]*+a[t+168>>2]));f=+a[i+120>>2];n=l+c<f?f-l:c;a[i+96>>2]=l+c<f?f:l+c;if(_[e+240>>2]|0){f=n*o*+a[e+132>>2]*+a[e+116>>2];l=n*s*+a[e+136>>2]*+a[e+120>>2];a[e+144>>2]=+a[e+112>>2]*n*r*+a[e+128>>2]+ +a[e+144>>2];a[e+148>>2]=f+ +a[e+148>>2];a[e+152>>2]=l+ +a[e+152>>2];l=n*+a[e+100>>2]*+a[i+68>>2];f=n*+a[e+104>>2]*+a[i+72>>2];a[e+160>>2]=n*+a[e+96>>2]*+a[i+64>>2]+ +a[e+160>>2];a[e+164>>2]=l+ +a[e+164>>2];a[e+168>>2]=f+ +a[e+168>>2]}if(!(_[t+240>>2]|0)){f=n;return+f}f=n*+a[i+52>>2]*+a[t+132>>2]*+a[t+116>>2];l=n*+a[i+56>>2]*+a[t+136>>2]*+a[t+120>>2];a[t+144>>2]=+a[t+112>>2]*n*+a[i+48>>2]*+a[t+128>>2]+ +a[t+144>>2];a[t+148>>2]=f+ +a[t+148>>2];a[t+152>>2]=l+ +a[t+152>>2];l=n*+a[t+100>>2]*+a[i+84>>2];f=n*+a[t+104>>2]*+a[i+88>>2];a[t+160>>2]=n*+a[t+96>>2]*+a[i+80>>2]+ +a[t+160>>2];a[t+164>>2]=l+ +a[t+164>>2];a[t+168>>2]=f+ +a[t+168>>2];f=n;return+f}function Vf(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0;r=+a[i+100>>2];c=+a[i+16>>2];l=+a[i+20>>2];f=+a[i+24>>2];o=+a[i+108>>2];o=+a[i+112>>2]-r*+a[i+116>>2]-(c*+a[e+64>>2]+l*+a[e+68>>2]+f*+a[e+72>>2]+(+a[i>>2]*+a[e+80>>2]+ +a[i+4>>2]*+a[e+84>>2]+ +a[i+8>>2]*+a[e+88>>2]))*o-o*(+a[i+48>>2]*+a[t+64>>2]+ +a[i+52>>2]*+a[t+68>>2]+ +a[i+56>>2]*+a[t+72>>2]+(+a[i+32>>2]*+a[t+80>>2]+ +a[i+36>>2]*+a[t+84>>2]+ +a[i+40>>2]*+a[t+88>>2]));n=+a[i+120>>2];if(!(r+o<n)){n=+a[i+124>>2];if(r+o>n)s=n-r;else{s=o;n=r+o}}else s=n-r;a[i+100>>2]=n;if(_[e+240>>2]|0){o=s*l*+a[e+132>>2]*+a[e+116>>2];l=s*f*+a[e+136>>2]*+a[e+120>>2];a[e+64>>2]=+a[e+112>>2]*s*c*+a[e+128>>2]+ +a[e+64>>2];a[e+68>>2]=o+ +a[e+68>>2];a[e+72>>2]=l+ +a[e+72>>2];l=s*+a[e+100>>2]*+a[i+68>>2];f=s*+a[e+104>>2]*+a[i+72>>2];a[e+80>>2]=s*+a[e+96>>2]*+a[i+64>>2]+ +a[e+80>>2];a[e+84>>2]=l+ +a[e+84>>2];a[e+88>>2]=f+ +a[e+88>>2]}if(!(_[t+240>>2]|0))return+s;f=s*+a[i+52>>2]*+a[t+132>>2]*+a[t+116>>2];l=s*+a[i+56>>2]*+a[t+136>>2]*+a[t+120>>2];a[t+64>>2]=+a[t+112>>2]*s*+a[i+48>>2]*+a[t+128>>2]+ +a[t+64>>2];a[t+68>>2]=f+ +a[t+68>>2];a[t+72>>2]=l+ +a[t+72>>2];l=s*+a[t+100>>2]*+a[i+84>>2];f=s*+a[t+104>>2]*+a[i+88>>2];a[t+80>>2]=s*+a[t+96>>2]*+a[i+80>>2]+ +a[t+80>>2];a[t+84>>2]=l+ +a[t+84>>2];a[t+88>>2]=f+ +a[t+88>>2];return+s}function Wf(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0,l=0,f=0;c=u;u=u+144|0;_[c+24+8>>2]=0;_[c+24+12>>2]=-1;_[c+24+16>>2]=1065353216;_[c+24+20>>2]=1065353216;_[c+24+24>>2]=1065353216;a[c+24+28>>2]=0.0;_[c+24+56>>2]=0;_[c+24+4>>2]=1;_[c+24+60>>2]=_[t>>2];_[c+24+60+4>>2]=_[t+4>>2];_[c+24+60+8>>2]=_[t+8>>2];_[c+24+60+12>>2]=_[t+12>>2];_[c+24+76>>2]=_[t+16>>2];_[c+24+76+4>>2]=_[t+16+4>>2];_[c+24+76+8>>2]=_[t+16+8>>2];_[c+24+76+12>>2]=_[t+16+12>>2];_[c+24+92>>2]=_[t+32>>2];_[c+24+92+4>>2]=_[t+32+4>>2];_[c+24+92+8>>2]=_[t+32+8>>2];_[c+24+92+12>>2]=_[t+32+12>>2];_[c+24>>2]=8072;_[c+24+48>>2]=_[e+24>>2];s=n[e+20>>0]|0;o=_[e+4>>2]|0;if(!(s<<24>>24)){_[o+36>>2]=i;t=o+32|0}else{_[o+28>>2]=i;t=o+24|0}_[t>>2]=r;f=_[e+12>>2]|0;l=_[f+8>>2]|0;t=_[f+12>>2]|0;_[c>>2]=f;_[c+4>>2]=c+24;_[c+8>>2]=l;_[c+12>>2]=t;_[c+16>>2]=i;_[c+20>>2]=r;i=_[o+16>>2]|0;t=_[i+8>>2]|0;if((_[t+8>>2]|0)==(l|0)){o=t;t=i+8|0}else{o=_[i+12>>2]|0;t=i+12|0}_[t>>2]=c;mc(_[e+4>>2]|0,_[e+8>>2]|0,c,_[e+16>>2]|0,c+24|0,s<<24>>24!=0);t=_[(_[e+4>>2]|0)+16>>2]|0;_[((_[(_[t+8>>2]|0)+8>>2]|0)==(_[c+8>>2]|0)?t+8|0:t+12|0)>>2]=o;_[c+24>>2]=7544;t=_[c+24+56>>2]|0;if(!t){u=c;return}ua[_[_[t>>2]>>2]&511](t);t=_[c+24+56>>2]|0;if(!t){u=c;return}_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);u=c;return}function Xf(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0;_[6288]=(_[6288]|0)+1;l=(((i<<16|t)+~((i<<16|t)<<15)|0)>>>10^(i<<16|t)+~((i<<16|t)<<15))*9|0;l=((l>>>6^l)+~((l>>>6^l)<<11)|0)>>>16^(l>>>6^l)+~((l>>>6^l)<<11);f=_[e+12>>2]|0;r=_[(_[e+36>>2]|0)+((f+-1&l)<<2)>>2]|0;e:do{if((r|0)!=-1){s=_[e+16>>2]|0;while(1){o=s+(r*12|0)|0;if((_[o>>2]|0)==(t|0)?(_[s+(r*12|0)+4>>2]|0)==(i|0):0)break;r=_[(_[e+56>>2]|0)+(r<<2)>>2]|0;if((r|0)==-1)break e}if(o|0){i=o;return i|0}}}while(0);a=_[e+8>>2]|0;if((a|0)==(f|0)){s=f|0?f<<1:1;if((f|0)<(s|0)){if(!s){r=0;c=f}else{_[6293]=(_[6293]|0)+1;r=cc((s*12|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}c=_[e+8>>2]|0}if((c|0)>0){o=0;do{b=r+(o*12|0)|0;p=(_[e+16>>2]|0)+(o*12|0)|0;_[b>>2]=_[p>>2];_[b+4>>2]=_[p+4>>2];_[b+8>>2]=_[p+8>>2];o=o+1|0}while((o|0)!=(c|0))}o=_[e+16>>2]|0;if(o|0){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=r;_[e+12>>2]=s;r=_[e+8>>2]|0}else{r=f;s=f}}else{r=a;s=f}_[e+8>>2]=r+1;o=_[e+16>>2]|0;if((f|0)<(s|0)){ef(e);r=(_[e+12>>2]|0)+-1&l}else r=f+-1&l;_[o+(a*12|0)>>2]=t;_[o+(a*12|0)+4>>2]=i;_[o+(a*12|0)+8>>2]=0;p=(_[e+36>>2]|0)+(r<<2)|0;_[(_[e+56>>2]|0)+(a<<2)>>2]=_[p>>2];_[p>>2]=a;p=o+(a*12|0)|0;return p|0}function Yf(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0,p=0,u=0,d=0.0;d=+a[t>>2]*+a[e>>2]+ +a[t+4>>2]*+a[e+4>>2]+ +a[t+8>>2]*+a[e+8>>2]-+a[e+12>>2];if(d>1.1920928955078125e-07)r=0;else{_[n>>2]=_[t>>2];_[n+4>>2]=_[t+4>>2];_[n+8>>2]=_[t+8>>2];_[n+12>>2]=_[t+12>>2];r=1}if((i|0)>1){u=1;s=d;while(1){p=t+(u<<4)|0;c=+a[p>>2];l=+a[t+(u<<4)+4>>2];f=+a[t+(u<<4)+8>>2];o=c*+a[e>>2]+l*+a[e+4>>2]+f*+a[e+8>>2]-+a[e+12>>2];b=u+-1|0;if(s>1.1920928955078125e-07^o>1.1920928955078125e-07){s=-s/(o-s);l=l*s+(1.0-s)*+a[t+(b<<4)+4>>2];f=f*s+(1.0-s)*+a[t+(b<<4)+8>>2];a[n+(r<<4)>>2]=c*s+(1.0-s)*+a[t+(b<<4)>>2];a[n+(r<<4)+4>>2]=l;a[n+(r<<4)+8>>2]=f;a[n+(r<<4)+12>>2]=0.0;r=r+1|0}if(!(o>1.1920928955078125e-07)){b=n+(r<<4)|0;_[b>>2]=_[p>>2];_[b+4>>2]=_[p+4>>2];_[b+8>>2]=_[p+8>>2];_[b+12>>2]=_[p+12>>2];r=r+1|0}u=u+1|0;if((u|0)==(i|0))break;else s=o}}else o=d;if(d>1.1920928955078125e-07^o>1.1920928955078125e-07){c=-o/(d-o);l=(1.0-c)*+a[t+(i+-1<<4)+4>>2]+c*+a[t+4>>2];f=(1.0-c)*+a[t+(i+-1<<4)+8>>2]+c*+a[t+8>>2];a[n+(r<<4)>>2]=(1.0-c)*+a[t+(i+-1<<4)>>2]+c*+a[t>>2];a[n+(r<<4)+4>>2]=l;a[n+(r<<4)+8>>2]=f;a[n+(r<<4)+12>>2]=0.0;r=r+1|0}if(d>1.1920928955078125e-07){n=r;return n|0}n=n+(r<<4)|0;_[n>>2]=_[t>>2];_[n+4>>2]=_[t+4>>2];_[n+8>>2]=_[t+8>>2];_[n+12>>2]=_[t+12>>2];n=r+1|0;return n|0}function Zf(e){e=e|0;var t=0;t=Pr(676)|0;_[t>>2]=4872;_[t+132>>2]=0;_[t+132+4>>2]=0;_[t+132+8>>2]=0;_[t+132+12>>2]=0;_[t+132+16>>2]=0;_[t+132+20>>2]=0;_[t+132+24>>2]=0;_[t+132+28>>2]=0;_[t+164>>2]=1065353216;_[t+168>>2]=1065353216;_[t+172>>2]=1065353216;a[t+176>>2]=0.0;_[t+180>>2]=0;a[t+184>>2]=999999984306749440.0;_[t+188>>2]=0;_[t+188+4>>2]=0;_[t+188+8>>2]=0;_[t+188+12>>2]=0;_[t+204>>2]=1;_[t+208>>2]=-1;_[t+212>>2]=-1;_[t+216>>2]=-1;_[t+220>>2]=1;a[t+224>>2]=0.0;a[t+228>>2]=.5;a[t+232>>2]=0.0;a[t+236>>2]=0.0;a[t+240>>2]=0.0;a[t+244>>2]=.10000000149011612;a[t+248>>2]=1.0e4;_[t+252>>2]=1;_[t+256>>2]=0;_[t+260>>2]=-1;_[t+264>>2]=-1;a[t+268>>2]=1.0;a[t+272>>2]=0.0;a[t+276>>2]=0.0;_[t+280>>2]=0;n[t+300>>0]=1;_[t+296>>2]=0;_[t+288>>2]=0;_[t+292>>2]=0;_[t+304>>2]=0;_[t+4>>2]=1065353216;_[t+8>>2]=0;_[t+8+4>>2]=0;_[t+8+8>>2]=0;_[t+8+12>>2]=0;_[t+24>>2]=1065353216;_[t+28>>2]=0;_[t+28+4>>2]=0;_[t+28+8>>2]=0;_[t+28+12>>2]=0;_[t+44>>2]=1065353216;_[t+48>>2]=0;_[t+48+4>>2]=0;_[t+48+8>>2]=0;_[t+48+12>>2]=0;_[t+48+16>>2]=0;_[t+68>>2]=1065353216;_[t+72>>2]=0;_[t+72+4>>2]=0;_[t+72+8>>2]=0;_[t+72+12>>2]=0;_[t+88>>2]=1065353216;_[t+92>>2]=0;_[t+92+4>>2]=0;_[t+92+8>>2]=0;_[t+92+12>>2]=0;_[t+108>>2]=1065353216;_[t+112>>2]=0;_[t+112+4>>2]=0;_[t+112+8>>2]=0;_[t+112+12>>2]=0;_[t+112+16>>2]=0;_[t>>2]=4196;n[t+560>>0]=1;_[t+556>>2]=0;_[t+548>>2]=0;_[t+552>>2]=0;pd(t,e);return t|0}function _f(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0.0,c=0,l=0.0,f=0.0,b=0.0,p=0;if(n[e+1308>>0]|0){_[t>>2]=0;_[t+4>>2]=0;return}Xc(e,(_[e+28>>2]|0)+4|0,(_[e+32>>2]|0)+4|0);_[t>>2]=0;_[t+4>>2]=6;if((_[e+856>>2]|0)==0?(n[e+788>>0]|0)==0:0){i=0;r=6}else{_[t>>2]=1;_[t+4>>2]=5;i=1;r=5}if(!((_[e+860>>2]|0)==0?(n[e+789>>0]|0)==0:0)){i=i+1|0;_[t>>2]=i;r=r+-1|0;_[t+4>>2]=r}if((_[e+864>>2]|0)==0?(n[e+790>>0]|0)==0:0)p=0;else{i=i+1|0;_[t>>2]=i;r=r+-1|0;_[t+4>>2]=r;p=0}do{l=+a[e+868+(p<<6)>>2];f=+a[e+868+(p<<6)+4>>2];b=+Xi(+a[e+1192+(p<<2)>>2],l,f);a[e+868+(p<<6)+52>>2]=b;do{if(!(l>f)){if(l>b){_[e+868+(p<<6)+56>>2]=1;o=e+868+(p<<6)+48|0;a[o>>2]=b-l;if(!(b-l>3.1415927410125732))if(b-l<-3.1415927410125732)s=6.2831854820251465;else{c=18;break}else s=-6.2831854820251465;a[o>>2]=b-l+s;c=18;break}o=e+868+(p<<6)+56|0;if(f<b){_[o>>2]=2;o=e+868+(p<<6)+48|0;a[o>>2]=b-f;if(!(b-f>3.1415927410125732))if(b-f<-3.1415927410125732)s=6.2831854820251465;else{c=18;break}else s=-6.2831854820251465;a[o>>2]=b-f+s;c=18}else c=17}else{o=e+868+(p<<6)+56|0;c=17}}while(0);if((c|0)==17){c=0;_[o>>2]=0;if(n[e+868+(p<<6)+44>>0]|0)c=18}if((c|0)==18){i=i+1|0;_[t>>2]=i;r=r+-1|0;_[t+4>>2]=r}p=p+1|0}while((p|0)!=3);return}function $f(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0;l=+a[i+100>>2];r=+a[i+16>>2];o=+a[i+20>>2];s=+a[i+24>>2];c=+a[i+108>>2];c=+a[i+112>>2]-l*+a[i+116>>2]-(r*+a[e+64>>2]+o*+a[e+68>>2]+s*+a[e+72>>2]+(+a[i>>2]*+a[e+80>>2]+ +a[i+4>>2]*+a[e+84>>2]+ +a[i+8>>2]*+a[e+88>>2]))*c-c*(+a[i+48>>2]*+a[t+64>>2]+ +a[i+52>>2]*+a[t+68>>2]+ +a[i+56>>2]*+a[t+72>>2]+(+a[i+32>>2]*+a[t+80>>2]+ +a[i+36>>2]*+a[t+84>>2]+ +a[i+40>>2]*+a[t+88>>2]));f=+a[i+120>>2];n=l+c<f?f-l:c;a[i+100>>2]=l+c<f?f:l+c;if(_[e+240>>2]|0){f=n*o*+a[e+132>>2]*+a[e+116>>2];l=n*s*+a[e+136>>2]*+a[e+120>>2];a[e+64>>2]=+a[e+112>>2]*n*r*+a[e+128>>2]+ +a[e+64>>2];a[e+68>>2]=f+ +a[e+68>>2];a[e+72>>2]=l+ +a[e+72>>2];l=n*+a[e+100>>2]*+a[i+68>>2];f=n*+a[e+104>>2]*+a[i+72>>2];a[e+80>>2]=n*+a[e+96>>2]*+a[i+64>>2]+ +a[e+80>>2];a[e+84>>2]=l+ +a[e+84>>2];a[e+88>>2]=f+ +a[e+88>>2]}if(!(_[t+240>>2]|0))return+n;f=n*+a[i+52>>2]*+a[t+132>>2]*+a[t+116>>2];l=n*+a[i+56>>2]*+a[t+136>>2]*+a[t+120>>2];a[t+64>>2]=+a[t+112>>2]*n*+a[i+48>>2]*+a[t+128>>2]+ +a[t+64>>2];a[t+68>>2]=f+ +a[t+68>>2];a[t+72>>2]=l+ +a[t+72>>2];l=n*+a[t+100>>2]*+a[i+84>>2];f=n*+a[t+104>>2]*+a[i+88>>2];a[t+80>>2]=n*+a[t+96>>2]*+a[i+80>>2]+ +a[t+80>>2];a[t+84>>2]=l+ +a[t+84>>2];a[t+88>>2]=f+ +a[t+88>>2];return+n}function ag(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0,a=0,l=0;l=u;u=u+96|0;o=_[e+8>>2]|0;_[t+216>>2]=o;if((o|0)==(_[e+12>>2]|0)?(a=o|0?o<<1:1,(o|0)<(a|0)):0){if(!a)c=0;else{_[6293]=(_[6293]|0)+1;o=cc((a<<2|3)+16|0)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}c=o;o=_[e+8>>2]|0}if((o|0)>0){s=0;do{_[c+(s<<2)>>2]=_[(_[e+16>>2]|0)+(s<<2)>>2];s=s+1|0}while((s|0)!=(o|0))}s=_[e+16>>2]|0;if(s){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0);o=_[e+8>>2]|0}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=c;_[e+12>>2]=a}_[(_[e+16>>2]|0)+(o<<2)>>2]=t;_[e+8>>2]=o+1;_[l+32>>2]=_[t+4>>2];_[l+32+4>>2]=_[t+4+4>>2];_[l+32+8>>2]=_[t+4+8>>2];_[l+32+12>>2]=_[t+4+12>>2];_[l+32+16>>2]=_[t+20>>2];_[l+32+16+4>>2]=_[t+20+4>>2];_[l+32+16+8>>2]=_[t+20+8>>2];_[l+32+16+12>>2]=_[t+20+12>>2];_[l+32+32>>2]=_[t+36>>2];_[l+32+32+4>>2]=_[t+36+4>>2];_[l+32+32+8>>2]=_[t+36+8>>2];_[l+32+32+12>>2]=_[t+36+12>>2];_[l+32+48>>2]=_[t+52>>2];_[l+32+48+4>>2]=_[t+52+4>>2];_[l+32+48+8>>2]=_[t+52+8>>2];_[l+32+48+12>>2]=_[t+52+12>>2];a=_[t+192>>2]|0;$a[_[(_[a>>2]|0)+8>>2]&127](a,l+32|0,l+16|0,l);a=_[e+68>>2]|0;_[t+188>>2]=Ja[_[(_[a>>2]|0)+8>>2]&3](a,l+16|0,l,_[(_[t+192>>2]|0)+4>>2]|0,t,i,r,_[e+24>>2]|0)|0;u=l;return}function bg(){var e=0;e=Pr(344)|0;_[e>>2]=4872;_[e+132>>2]=0;_[e+132+4>>2]=0;_[e+132+8>>2]=0;_[e+132+12>>2]=0;_[e+132+16>>2]=0;_[e+132+20>>2]=0;_[e+132+24>>2]=0;_[e+132+28>>2]=0;_[e+164>>2]=1065353216;_[e+168>>2]=1065353216;_[e+172>>2]=1065353216;a[e+176>>2]=0.0;_[e+180>>2]=0;a[e+184>>2]=999999984306749440.0;_[e+188>>2]=0;_[e+188+4>>2]=0;_[e+188+8>>2]=0;_[e+188+12>>2]=0;_[e+204>>2]=1;_[e+208>>2]=-1;_[e+212>>2]=-1;_[e+216>>2]=-1;_[e+220>>2]=1;a[e+224>>2]=0.0;a[e+228>>2]=.5;a[e+232>>2]=0.0;a[e+236>>2]=0.0;a[e+240>>2]=0.0;a[e+244>>2]=.10000000149011612;a[e+248>>2]=1.0e4;_[e+256>>2]=0;_[e+260>>2]=-1;_[e+264>>2]=-1;a[e+268>>2]=1.0;a[e+272>>2]=0.0;a[e+276>>2]=0.0;_[e+280>>2]=0;n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;_[e+292>>2]=0;_[e+304>>2]=0;_[e+4>>2]=1065353216;_[e+8>>2]=0;_[e+8+4>>2]=0;_[e+8+8>>2]=0;_[e+8+12>>2]=0;_[e+24>>2]=1065353216;_[e+28>>2]=0;_[e+28+4>>2]=0;_[e+28+8>>2]=0;_[e+28+12>>2]=0;_[e+44>>2]=1065353216;_[e+48>>2]=0;_[e+48+4>>2]=0;_[e+48+8>>2]=0;_[e+48+12>>2]=0;_[e+48+16>>2]=0;_[e+68>>2]=1065353216;_[e+72>>2]=0;_[e+72+4>>2]=0;_[e+72+8>>2]=0;_[e+72+12>>2]=0;_[e+88>>2]=1065353216;_[e+92>>2]=0;_[e+92+4>>2]=0;_[e+92+8>>2]=0;_[e+92+12>>2]=0;_[e+108>>2]=1065353216;_[e+112>>2]=0;_[e+112+4>>2]=0;_[e+112+8>>2]=0;_[e+112+12>>2]=0;_[e+112+16>>2]=0;_[e>>2]=5604;n[e+340>>0]=1;_[e+336>>2]=0;_[e+328>>2]=0;_[e+332>>2]=0;_[e+252>>2]=4;return e|0}function cg(e){e=e|0;var t=0,i=0,r=0;_[e>>2]=3956;if(n[e+288>>0]|0?(t=_[e+220>>2]|0,ua[_[_[t>>2]>>2]&511](t),t=_[e+220>>2]|0,t|0):0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+212>>2]|0;if(t|0?(ua[_[_[t>>2]>>2]&511](t),i=_[e+212>>2]|0,i|0):0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}if(n[e+289>>0]|0?(r=_[e+216>>2]|0,ua[_[_[r>>2]>>2]&511](r),r=_[e+216>>2]|0,r|0):0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}t=_[e+332>>2]|0;if(t|0){if(n[e+336>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+332>>2]=0}n[e+336>>0]=1;_[e+332>>2]=0;_[e+324>>2]=0;_[e+328>>2]=0;t=_[e+304>>2]|0;if(t|0){if(n[e+308>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+304>>2]=0}n[e+308>>0]=1;_[e+304>>2]=0;_[e+296>>2]=0;_[e+300>>2]=0;t=_[e+256>>2]|0;if(t|0){if(n[e+260>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+256>>2]=0}n[e+260>>0]=1;_[e+256>>2]=0;_[e+248>>2]=0;_[e+252>>2]=0;t=_[e+236>>2]|0;if(t|0){if(n[e+240>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+236>>2]=0}n[e+240>>0]=1;_[e+236>>2]=0;_[e+228>>2]=0;_[e+232>>2]=0;t=_[e+204>>2]|0;if(!t){n[e+208>>0]=1;_[e+204>>2]=0;_[e+196>>2]=0;r=e+200|0;_[r>>2]=0;Ni(e);return}if(n[e+208>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+204>>2]=0;n[e+208>>0]=1;_[e+204>>2]=0;_[e+196>>2]=0;r=e+200|0;_[r>>2]=0;Ni(e);return}function dg(e,t,i,n,r,o,s,c,l,f){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;c=+c;l=l|0;f=+f;var b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0;_[e>>2]=_[o>>2];_[e+4>>2]=_[o+4>>2];_[e+8>>2]=_[o+8>>2];_[e+12>>2]=_[o+12>>2];y=+a[n+4>>2];v=+a[e+8>>2];w=+a[n+8>>2];d=+a[e+4>>2];b=+a[e>>2];h=+a[n>>2];C=(y*v-w*d)*+a[t>>2]+ +a[t+4>>2]*(w*b-v*h)+(d*h-y*b)*+a[t+8>>2];g=(y*v-w*d)*+a[t+16>>2]+(w*b-v*h)*+a[t+20>>2]+(d*h-y*b)*+a[t+24>>2];y=(y*v-w*d)*+a[t+32>>2]+(w*b-v*h)*+a[t+36>>2]+(d*h-y*b)*+a[t+40>>2];a[e+16>>2]=C;a[e+20>>2]=g;a[e+24>>2]=y;a[e+28>>2]=0.0;h=+a[r+4>>2];w=+a[r+8>>2];p=+a[r>>2];m=+a[i>>2]*(h*-v-w*-d)+ +a[i+4>>2]*(w*-b-p*-v)+(p*-d-h*-b)*+a[i+8>>2];u=(h*-v-w*-d)*+a[i+16>>2]+(w*-b-p*-v)*+a[i+20>>2]+(p*-d-h*-b)*+a[i+24>>2];b=(h*-v-w*-d)*+a[i+32>>2]+(w*-b-p*-v)*+a[i+36>>2]+(p*-d-h*-b)*+a[i+40>>2];a[e+32>>2]=m;a[e+36>>2]=u;a[e+40>>2]=b;a[e+44>>2]=0.0;C=+a[s>>2]*C;g=+a[s+4>>2]*g;y=+a[s+8>>2]*y;a[e+48>>2]=C;a[e+52>>2]=g;a[e+56>>2]=y;a[e+60>>2]=0.0;h=+a[l>>2]*m;d=+a[l+4>>2]*u;p=+a[l+8>>2]*b;a[e+64>>2]=h;a[e+68>>2]=d;a[e+72>>2]=p;a[e+76>>2]=0.0;a[e+80>>2]=C*+a[e+16>>2]+g*+a[e+20>>2]+y*+a[e+24>>2]+c+f+(h*m+d*u+p*b);return}function eg(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0;_[6287]=(_[6287]|0)+1;s=(((i<<16|t)+~((i<<16|t)<<15)|0)>>>10^(i<<16|t)+~((i<<16|t)<<15))*9|0;b=_[e+36>>2]|0;s=b+(((_[e+12>>2]|0)+-1&(((s>>>6^s)+~((s>>>6^s)<<11)|0)>>>16^(s>>>6^s)+~((s>>>6^s)<<11)))<<2)|0;o=_[s>>2]|0;if((o|0)==-1){p=0;return p|0}p=_[e+16>>2]|0;n=o;while(1){f=p+(n*12|0)|0;if((_[f>>2]|0)==(t|0)?(_[p+(n*12|0)+4>>2]|0)==(i|0):0)break;n=_[(_[e+56>>2]|0)+(n<<2)>>2]|0;if((n|0)==-1){n=0;r=13;break}}if((r|0)==13)return n|0;if(!f){p=0;return p|0}l=_[p+(n*12|0)+8>>2]|0;a=(n*12|0)/12|0;c=_[e+56>>2]|0;if((o|0)==(a|0))n=-1;else{n=o;while(1){t=_[c+(n<<2)>>2]|0;if((t|0)==(a|0))break;else n=t}}_[((n|0)==-1?s:c+(n<<2)|0)>>2]=_[c+(a<<2)>>2];r=(_[e+8>>2]|0)+-1|0;if((r|0)==(a|0)){_[e+8>>2]=a;p=l;return p|0}o=_[p+(r*12|0)+4>>2]<<16|_[p+(r*12|0)>>2];o=((o+~(o<<15)|0)>>>10^o+~(o<<15))*9|0;o=(((o>>>6^o)+~((o>>>6^o)<<11)|0)>>>16^(o>>>6^o)+~((o>>>6^o)<<11))&(_[e+12>>2]|0)+-1;t=o;i=-1;n=b;while(1){n=_[n+(t<<2)>>2]|0;if((n|0)==(r|0))break;else{t=n;i=n;n=c}}_[((i|0)==-1?b+(o<<2)|0:c+(i<<2)|0)>>2]=_[c+(r<<2)>>2];_[f>>2]=_[p+(r*12|0)>>2];_[f+4>>2]=_[p+(r*12|0)+4>>2];_[f+8>>2]=_[p+(r*12|0)+8>>2];p=(_[e+36>>2]|0)+(o<<2)|0;_[(_[e+56>>2]|0)+(a<<2)>>2]=_[p>>2];_[p>>2]=a;_[e+8>>2]=(_[e+8>>2]|0)+-1;p=l;return p|0}function fg(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0;o=u;u=u+64|0;n[t+84>>0]=0;_[o>>2]=_[e+4>>2];_[o+4>>2]=_[e+4+4>>2];_[o+8>>2]=_[e+4+8>>2];_[o+12>>2]=_[e+4+12>>2];_[o+16>>2]=_[e+20>>2];_[o+16+4>>2]=_[e+20+4>>2];_[o+16+8>>2]=_[e+20+8>>2];_[o+16+12>>2]=_[e+20+12>>2];_[o+32>>2]=_[e+36>>2];_[o+32+4>>2]=_[e+36+4>>2];_[o+32+8>>2]=_[e+36+8>>2];_[o+32+12>>2]=_[e+36+12>>2];_[o+48>>2]=_[e+52>>2];_[o+48+4>>2]=_[e+52+4>>2];_[o+48+8>>2]=_[e+52+8>>2];_[o+48+12>>2]=_[e+52+12>>2];if(i?(r=_[e+540>>2]|0,r|0):0)ma[_[(_[r>>2]|0)+8>>2]&127](r,o);w=+a[t+156>>2];C=+a[o>>2];v=+a[t+160>>2];g=+a[o+4>>2];p=+a[t+164>>2];y=+a[o+8>>2];h=+a[o+16>>2];m=+a[o+20>>2];d=+a[o+24>>2];b=+a[o+32>>2];l=+a[o+36>>2];s=+a[o+40>>2];f=w*h+v*m+p*d+ +a[o+52>>2];c=w*b+v*l+p*s+ +a[o+56>>2];a[t+36>>2]=w*C+v*g+p*y+ +a[o+48>>2];a[t+40>>2]=f;a[t+44>>2]=c;a[t+48>>2]=0.0;c=+a[t+172>>2];f=+a[t+176>>2];p=+a[t+180>>2];a[t+52>>2]=C*c+g*f+y*p;a[t+56>>2]=c*h+f*m+p*d;a[t+60>>2]=c*b+f*l+p*s;a[t+64>>2]=0.0;p=+a[t+188>>2];f=+a[t+192>>2];c=+a[t+196>>2];a[t+68>>2]=C*p+g*f+y*c;a[t+72>>2]=p*h+f*m+c*d;a[t+76>>2]=p*b+f*l+c*s;a[t+80>>2]=0.0;u=o;return}function gg(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0.0;e:do{if(t>>>0<=20)do{switch(t|0){case 9:{n=(_[i>>2]|0)+(4-1)&~(4-1);t=_[n>>2]|0;_[i>>2]=n+4;_[e>>2]=t;break e}case 10:{t=(_[i>>2]|0)+(4-1)&~(4-1);n=_[t>>2]|0;_[i>>2]=t+4;_[e>>2]=n;_[e+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{t=(_[i>>2]|0)+(4-1)&~(4-1);n=_[t>>2]|0;_[i>>2]=t+4;_[e>>2]=n;_[e+4>>2]=0;break e}case 12:{r=(_[i>>2]|0)+(8-1)&~(8-1);t=_[r>>2]|0;n=_[r+4>>2]|0;_[i>>2]=r+8;_[e>>2]=t;_[e+4>>2]=n;break e}case 13:{n=(_[i>>2]|0)+(4-1)&~(4-1);r=_[n>>2]|0;_[i>>2]=n+4;_[e>>2]=(r&65535)<<16>>16;_[e+4>>2]=(((r&65535)<<16>>16|0)<0)<<31>>31;break e}case 14:{n=(_[i>>2]|0)+(4-1)&~(4-1);r=_[n>>2]|0;_[i>>2]=n+4;_[e>>2]=r&65535;_[e+4>>2]=0;break e}case 15:{n=(_[i>>2]|0)+(4-1)&~(4-1);r=_[n>>2]|0;_[i>>2]=n+4;_[e>>2]=(r&255)<<24>>24;_[e+4>>2]=(((r&255)<<24>>24|0)<0)<<31>>31;break e}case 16:{n=(_[i>>2]|0)+(4-1)&~(4-1);r=_[n>>2]|0;_[i>>2]=n+4;_[e>>2]=r&255;_[e+4>>2]=0;break e}case 17:{r=(_[i>>2]|0)+(8-1)&~(8-1);o=+l[r>>3];_[i>>2]=r+8;l[e>>3]=o;break e}case 18:{r=(_[i>>2]|0)+(8-1)&~(8-1);o=+l[r>>3];_[i>>2]=r+8;l[e>>3]=o;break e}default:break e}}while(0)}while(0);return}function hg(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,s=0.0,c=0,l=0.0,f=0.0,b=0.0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0.0,S=0;w=u;u=u+2048|0;if((n|0)>0)r=0;else{u=w;return}do{a[i+(r<<4)+12>>2]=-999999984306749440.0;r=r+1|0}while((r|0)!=(n|0));d=0;do{if((ya[_[(_[e>>2]|0)+96>>2]&127](e)|0)>0){m=t+(d<<4)|0;h=t+(d<<4)+4|0;y=t+(d<<4)+8|0;g=i+(d<<4)+12|0;C=i+(d<<4)|0;p=0;do{if(((ya[_[(_[e>>2]|0)+96>>2]&127](e)|0)-p|0)<128){r=(ya[_[(_[e>>2]|0)+96>>2]&127](e)|0)-p|0;if((r|0)>0)v=10;else{s=-3402823466385288598117041.0e14;r=-1}}else{r=128;v=10}if((v|0)==10){v=0;o=0;do{Za[_[(_[e>>2]|0)+108>>2]&127](e,o,w+(o<<4)|0);o=o+1|0}while((o|0)!=(r|0));l=+a[m>>2];f=+a[h>>2];b=+a[y>>2];o=-1;c=0;s=-3402823466385288598117041.0e14;do{k=l*+a[w+(c<<4)>>2]+f*+a[w+(c<<4)+4>>2]+b*+a[w+(c<<4)+8>>2];S=k>s;o=S?c:o;s=S?k:s;c=c+1|0}while((c|0)!=(r|0));r=o}if(s>+a[g>>2]){S=w+(r<<4)|0;_[C>>2]=_[S>>2];_[C+4>>2]=_[S+4>>2];_[C+8>>2]=_[S+8>>2];_[C+12>>2]=_[S+12>>2];a[g>>2]=s}p=p+128|0}while((p|0)<(ya[_[(_[e>>2]|0)+96>>2]&127](e)|0))}d=d+1|0}while((d|0)!=(n|0));u=w;return}function ig(e){e=e|0;if((n[22336]|0)==0?Dy(22336)|0:0){n[24140]=0;_[6034]=8424}_[e+3676>>2]=24136;_[e+3680>>2]=24136;_[e+3684>>2]=24136;_[e+3688>>2]=24136;_[e+3692>>2]=24136;_[e+3696>>2]=24136;_[e+3700>>2]=24136;_[e+3704>>2]=24136;_[e+3708>>2]=24136;_[e+3712>>2]=24136;_[e+3716>>2]=24136;_[e+3720>>2]=24136;_[e+3724>>2]=24136;_[e+3728>>2]=24136;_[e+3732>>2]=24136;_[e+3736>>2]=24136;_[e+3740>>2]=24136;_[e+3744>>2]=24136;_[e+3748>>2]=24136;_[e+3752>>2]=24136;_[e+3756>>2]=24136;_[e+3760>>2]=24136;_[e+3764>>2]=24136;_[e+3768>>2]=24136;_[e+3772>>2]=24136;_[e+3776>>2]=24136;_[e+3780>>2]=24136;_[e+3784>>2]=24136;_[e+3788>>2]=24136;_[e+3792>>2]=24136;_[e+3796>>2]=24136;_[e+3800>>2]=24136;_[e+3804>>2]=24136;_[e+3808>>2]=24136;_[e+3812>>2]=24136;_[e+3816>>2]=24136;_[e+176>>2]=24136;_[e+320>>2]=24136;_[e+464>>2]=24136;_[e+608>>2]=24136;_[e+752>>2]=24136;_[e+896>>2]=24136;_[e+1040>>2]=24136;_[e+1184>>2]=24136;_[e+1328>>2]=24136;_[e+1472>>2]=24136;_[e+1616>>2]=24136;_[e+1760>>2]=24136;_[e+1904>>2]=24136;_[e+2048>>2]=24136;_[e+2192>>2]=24136;_[e+2336>>2]=24136;_[e+2480>>2]=24136;_[e+2624>>2]=24136;_[e+2768>>2]=24136;_[e+2912>>2]=24136;_[e+3056>>2]=24136;_[e+3200>>2]=24136;_[e+3344>>2]=24136;_[e+3488>>2]=24136;_[e+3632>>2]=24136;_[e+3776>>2]=24136;_[e+3920>>2]=24136;_[e+4064>>2]=24136;_[e+4208>>2]=24136;_[e+4352>>2]=24136;_[e+4496>>2]=24136;_[e+4640>>2]=24136;_[e+4784>>2]=24136;_[e+4928>>2]=24136;_[e+5072>>2]=24136;_[e+5216>>2]=24136;return}function jg(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0,c=0,f=0,b=0;t=(_[e+200>>2]|0)+(U(_[e+204>>2]|0,t)|0)|0;if((_[e+212>>2]|0)==3){n=s[t>>1]|0;b=s[t+2>>1]|0;f=s[t+4>>1]|0}else{n=_[t>>2]|0;b=_[t+4>>2]|0;f=_[t+8>>2]|0}o=_[e+184>>2]|0;c=_[e+196>>2]|0;t=o+(U(c,n)|0)|0;r=+a[e+160>>2];if((_[e+192>>2]|0)==1){a[i+60>>2]=r*+l[t>>3];a[i+64>>2]=+l[t+8>>3]*+a[e+164>>2];a[i+68>>2]=+l[t+16>>3]*+a[e+168>>2];b=o+(U(c,b)|0)|0;a[i+76>>2]=+a[e+160>>2]*+l[b>>3];a[i+80>>2]=+l[b+8>>3]*+a[e+164>>2];a[i+84>>2]=+l[b+16>>3]*+a[e+168>>2];b=o+(U(c,f)|0)|0;a[i+92>>2]=+a[e+160>>2]*+l[b>>3];a[i+96>>2]=+l[b+8>>3]*+a[e+164>>2];r=+l[b+16>>3]*+a[e+168>>2];b=i+100|0;a[b>>2]=r;b=_[i>>2]|0;b=b+44|0;b=_[b>>2]|0;e=e+152|0;r=+a[e>>2];pa[b&31](i,r);return}else{a[i+60>>2]=r*+a[t>>2];a[i+64>>2]=+a[t+4>>2]*+a[e+164>>2];a[i+68>>2]=+a[t+8>>2]*+a[e+168>>2];b=o+(U(c,b)|0)|0;a[i+76>>2]=+a[e+160>>2]*+a[b>>2];a[i+80>>2]=+a[b+4>>2]*+a[e+164>>2];a[i+84>>2]=+a[b+8>>2]*+a[e+168>>2];b=o+(U(c,f)|0)|0;a[i+92>>2]=+a[e+160>>2]*+a[b>>2];a[i+96>>2]=+a[b+4>>2]*+a[e+164>>2];r=+a[b+8>>2]*+a[e+168>>2];b=i+100|0;a[b>>2]=r;b=_[i>>2]|0;b=b+44|0;b=_[b>>2]|0;e=e+152|0;r=+a[e>>2];pa[b&31](i,r);return}}function kg(e,t){e=e|0;t=t|0;var i=0;i=Wr()|0;Ji(i,5,e);_[i>>2]=3380;_[i+300>>2]=_[t>>2];_[i+300+4>>2]=_[t+4>>2];_[i+300+8>>2]=_[t+8>>2];_[i+300+12>>2]=_[t+12>>2];_[i+316>>2]=_[t+16>>2];_[i+316+4>>2]=_[t+16+4>>2];_[i+316+8>>2]=_[t+16+8>>2];_[i+316+12>>2]=_[t+16+12>>2];_[i+332>>2]=_[t+32>>2];_[i+332+4>>2]=_[t+32+4>>2];_[i+332+8>>2]=_[t+32+8>>2];_[i+332+12>>2]=_[t+32+12>>2];_[i+348>>2]=_[t+48>>2];_[i+348+4>>2]=_[t+48+4>>2];_[i+348+8>>2]=_[t+48+8>>2];_[i+348+12>>2]=_[t+48+12>>2];n[i+527>>0]=0;_[i+364>>2]=_[i+300>>2];_[i+364+4>>2]=_[i+300+4>>2];_[i+364+8>>2]=_[i+300+8>>2];_[i+364+12>>2]=_[i+300+12>>2];_[i+380>>2]=_[i+316>>2];_[i+380+4>>2]=_[i+316+4>>2];_[i+380+8>>2]=_[i+316+8>>2];_[i+380+12>>2]=_[i+316+12>>2];_[i+396>>2]=_[i+332>>2];_[i+396+4>>2]=_[i+332+4>>2];_[i+396+8>>2]=_[i+332+8>>2];_[i+396+12>>2]=_[i+332+12>>2];n[i+524>>0]=0;n[i+525>>0]=0;n[i+526>>0]=0;n[i+552>>0]=0;_[i+412>>2]=0;_[i+412+4>>2]=0;_[i+412+8>>2]=0;_[i+412+12>>2]=0;a[i+572>>2]=-1.0;a[i+444>>2]=999999984306749440.0;a[i+448>>2]=999999984306749440.0;a[i+452>>2]=999999984306749440.0;a[i+428>>2]=1.0;a[i+432>>2]=.30000001192092896;a[i+436>>2]=1.0;a[i+440>>2]=.009999999776482582;a[i+456>>2]=.05000000074505806;_[i+592>>2]=0;a[i+596>>2]=0.0;a[i+600>>2]=.699999988079071;a[i+604>>2]=0.0;return i|0}function lg(e,t,i,n,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;var c=0.0,l=0.0,f=0,p=0.0,d=0,m=0.0,h=0,y=0.0,g=0;h=u;u=u+16|0;a[n>>2]=3402823466385288598117041.0e14;a[r>>2]=-3402823466385288598117041.0e14;d=_[e+100>>2]|0;if((d|0)>0){f=0;do{g=_[e+108>>2]|0;y=+a[g+(f<<4)>>2]*+a[e+16>>2];m=+a[g+(f<<4)+4>>2]*+a[e+20>>2];p=+a[g+(f<<4)+8>>2]*+a[e+24>>2];c=y*+a[t>>2]+m*+a[t+4>>2]+p*+a[t+8>>2]+ +a[t+48>>2];l=y*+a[t+16>>2]+m*+a[t+20>>2]+p*+a[t+24>>2]+ +a[t+52>>2];p=y*+a[t+32>>2]+m*+a[t+36>>2]+p*+a[t+40>>2]+ +a[t+56>>2];m=c*+a[i>>2]+l*+a[i+4>>2]+p*+a[i+8>>2];if(m<+a[n>>2]){a[n>>2]=m;a[o>>2]=c;a[o+4>>2]=l;a[o+8>>2]=p;a[o+12>>2]=0.0}if(m>+a[r>>2]){a[r>>2]=m;a[s>>2]=c;a[s+4>>2]=l;a[s+8>>2]=p;a[s+12>>2]=0.0}f=f+1|0}while((f|0)!=(d|0));y=+a[r>>2];l=y;f=(a[b>>2]=y,_[b>>2]|0)}else{l=-3402823466385288598117041.0e14;f=-8388609}c=+a[n>>2];if(!(c>l)){u=h;return}_[n>>2]=f;a[r>>2]=c;_[h>>2]=_[o>>2];_[h+4>>2]=_[o+4>>2];_[h+8>>2]=_[o+8>>2];_[h+12>>2]=_[o+12>>2];_[o>>2]=_[s>>2];_[o+4>>2]=_[s+4>>2];_[o+8>>2]=_[s+8>>2];_[o+12>>2]=_[s+12>>2];_[s>>2]=_[h>>2];_[s+4>>2]=_[h+4>>2];_[s+8>>2]=_[h+8>>2];_[s+12>>2]=_[h+12>>2];u=h;return}function mg(e,t){e=e|0;t=t|0;var i=0,n=0;i=u;u=u+48|0;n=(_[e+52>>2]|0)+4|0;_[n>>2]=_[t>>2];_[n+4>>2]=_[t+4>>2];_[n+8>>2]=_[t+8>>2];_[n+12>>2]=_[t+12>>2];t=i+32+4|0;_[t>>2]=0;_[t+4>>2]=0;_[t+8>>2]=0;a[i+32>>2]=1.0;Za[_[(_[e>>2]|0)+68>>2]&127](i+16|0,e,i+32|0);a[e+36>>2]=+a[i+16>>2]+ +a[e+16>>2];a[i+32>>2]=-1.0;Za[_[(_[e>>2]|0)+68>>2]&127](i,e,i+32|0);_[i+16>>2]=_[i>>2];_[i+16+4>>2]=_[i+4>>2];_[i+16+8>>2]=_[i+8>>2];_[i+16+12>>2]=_[i+12>>2];a[e+20>>2]=+a[i+16>>2]-+a[e+16>>2];_[i+32>>2]=0;_[i+32+4>>2]=0;_[i+32+8>>2]=0;_[i+32+12>>2]=0;a[t>>2]=1.0;Za[_[(_[e>>2]|0)+68>>2]&127](i+16|0,e,i+32|0);a[e+40>>2]=+a[i+16+4>>2]+ +a[e+16>>2];a[t>>2]=-1.0;Za[_[(_[e>>2]|0)+68>>2]&127](i,e,i+32|0);_[i+16>>2]=_[i>>2];_[i+16+4>>2]=_[i+4>>2];_[i+16+8>>2]=_[i+8>>2];_[i+16+12>>2]=_[i+12>>2];a[e+24>>2]=+a[i+16+4>>2]-+a[e+16>>2];_[i+32>>2]=0;_[i+32+4>>2]=0;_[i+32+8>>2]=0;_[i+32+12>>2]=0;a[i+32+8>>2]=1.0;Za[_[(_[e>>2]|0)+68>>2]&127](i+16|0,e,i+32|0);a[e+44>>2]=+a[i+16+8>>2]+ +a[e+16>>2];a[i+32+8>>2]=-1.0;Za[_[(_[e>>2]|0)+68>>2]&127](i,e,i+32|0);_[i+16>>2]=_[i>>2];_[i+16+4>>2]=_[i+4>>2];_[i+16+8>>2]=_[i+8>>2];_[i+16+12>>2]=_[i+12>>2];a[e+28>>2]=+a[i+16+8>>2]-+a[e+16>>2];u=i;return}function ng(){var e=0;e=Pr(324)|0;_[e>>2]=4872;_[e+132>>2]=0;_[e+132+4>>2]=0;_[e+132+8>>2]=0;_[e+132+12>>2]=0;_[e+132+16>>2]=0;_[e+132+20>>2]=0;_[e+132+24>>2]=0;_[e+132+28>>2]=0;_[e+164>>2]=1065353216;_[e+168>>2]=1065353216;_[e+172>>2]=1065353216;a[e+176>>2]=0.0;_[e+180>>2]=0;a[e+184>>2]=999999984306749440.0;_[e+188>>2]=0;_[e+188+4>>2]=0;_[e+188+8>>2]=0;_[e+188+12>>2]=0;_[e+204>>2]=1;_[e+208>>2]=-1;_[e+212>>2]=-1;_[e+216>>2]=-1;_[e+220>>2]=1;a[e+224>>2]=0.0;a[e+228>>2]=.5;a[e+232>>2]=0.0;a[e+236>>2]=0.0;a[e+240>>2]=0.0;a[e+244>>2]=.10000000149011612;a[e+248>>2]=1.0e4;_[e+252>>2]=1;_[e+256>>2]=0;_[e+260>>2]=-1;_[e+264>>2]=-1;a[e+268>>2]=1.0;a[e+272>>2]=0.0;a[e+276>>2]=0.0;_[e+280>>2]=0;n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;_[e+292>>2]=0;_[e+304>>2]=0;_[e+4>>2]=1065353216;_[e+8>>2]=0;_[e+8+4>>2]=0;_[e+8+8>>2]=0;_[e+8+12>>2]=0;_[e+24>>2]=1065353216;_[e+28>>2]=0;_[e+28+4>>2]=0;_[e+28+8>>2]=0;_[e+28+12>>2]=0;_[e+44>>2]=1065353216;_[e+48>>2]=0;_[e+48+4>>2]=0;_[e+48+8>>2]=0;_[e+48+12>>2]=0;_[e+48+16>>2]=0;_[e+68>>2]=1065353216;_[e+72>>2]=0;_[e+72+4>>2]=0;_[e+72+8>>2]=0;_[e+72+12>>2]=0;_[e+88>>2]=1065353216;_[e+92>>2]=0;_[e+92+4>>2]=0;_[e+92+8>>2]=0;_[e+92+12>>2]=0;_[e+108>>2]=1065353216;_[e+112>>2]=0;_[e+112+4>>2]=0;_[e+112+8>>2]=0;_[e+112+12>>2]=0;_[e+112+16>>2]=0;return e|0}function og(e){e=e|0;var t=0,i=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,p=0,u=0,d=0,m=0,h=0,y=0,g=0;a[e+20>>2]=3402823466385288598117041.0e14;a[e+24>>2]=3402823466385288598117041.0e14;a[e+28>>2]=3402823466385288598117041.0e14;a[e+36>>2]=-3402823466385288598117041.0e14;a[e+40>>2]=-3402823466385288598117041.0e14;a[e+44>>2]=-3402823466385288598117041.0e14;t=_[e+156>>2]|0;if(!t)return;p=_[e+164>>2]|0;r=-3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;s=-3402823466385288598117041.0e14;l=3402823466385288598117041.0e14;f=3402823466385288598117041.0e14;c=3402823466385288598117041.0e14;while(1){t=t+-1|0;i=_[p+(t<<2)>>2]|0;if(n[i+52>>0]|0){ua[_[(_[i>>2]|0)+68>>2]&511](i);n[i+52>>0]=0;p=_[e+164>>2]|0;i=_[p+(t<<2)>>2]|0;c=+a[e+20>>2];f=+a[e+24>>2];l=+a[e+28>>2];s=+a[e+36>>2];o=+a[e+40>>2];r=+a[e+44>>2]}m=i+20|0;y=_[(c>+a[m>>2]?m:e+20|0)>>2]|0;_[e+20>>2]=y;h=_[(f>+a[i+24>>2]?m:e+20|0)+4>>2]|0;_[e+24>>2]=h;m=_[(l>+a[i+28>>2]?m:e+20|0)+8>>2]|0;_[e+28>>2]=m;g=i+36|0;d=_[(s<+a[g>>2]?g:e+36|0)>>2]|0;_[e+36>>2]=d;u=_[(o<+a[i+40>>2]?g:e+36|0)+4>>2]|0;_[e+40>>2]=u;i=_[(r<+a[i+44>>2]?g:e+36|0)+8>>2]|0;_[e+44>>2]=i;c=(_[b>>2]=y,+a[b>>2]);f=(_[b>>2]=h,+a[b>>2]);l=(_[b>>2]=m,+a[b>>2]);s=(_[b>>2]=d,+a[b>>2]);o=(_[b>>2]=u,+a[b>>2]);if(!t)break;else r=(_[b>>2]=i,+a[b>>2])}return}function pg(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0;f=u;u=u+16|0;s=_[e+12>>2]|0;c=_[s+(((i+t|0)/2|0)<<4)>>2]|0;a=_[s+(((i+t|0)/2|0)<<4)+4>>2]|0;l=_[s+(((i+t|0)/2|0)<<4)+8>>2]|0;r=i;n=t;while(1){while(1){o=_[s+(n<<4)+4>>2]|0;if((o|0)>=(a|0)){if((o|0)!=(a|0))break;o=_[s+(n<<4)>>2]|0;if((o|0)>=(c|0)){if((o|0)!=(c|0))break;if((_[s+(n<<4)+8>>2]|0)>=(l|0))break}}n=n+1|0}while(1){o=_[s+(r<<4)+4>>2]|0;if((a|0)>=(o|0)){if((a|0)!=(o|0))break;o=_[s+(r<<4)>>2]|0;if((c|0)>=(o|0)){if((c|0)!=(o|0))break;if((l|0)>=(_[s+(r<<4)+8>>2]|0))break}}r=r+-1|0}if((n|0)<=(r|0)){o=s+(n<<4)|0;_[f>>2]=_[o>>2];_[f+4>>2]=_[o+4>>2];_[f+8>>2]=_[o+8>>2];_[f+12>>2]=_[o+12>>2];s=s+(r<<4)|0;_[o>>2]=_[s>>2];_[o+4>>2]=_[s+4>>2];_[o+8>>2]=_[s+8>>2];_[o+12>>2]=_[s+12>>2];s=(_[e+12>>2]|0)+(r<<4)|0;_[s>>2]=_[f>>2];_[s+4>>2]=_[f+4>>2];_[s+8>>2]=_[f+8>>2];_[s+12>>2]=_[f+12>>2];r=r+-1|0;n=n+1|0}if((n|0)>(r|0))break;s=_[e+12>>2]|0}if((r|0)>(t|0))pg(e,t,r);if((n|0)>=(i|0)){u=f;return}pg(e,n,i);u=f;return}function qg(e,t,i,n,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;var c=0.0,l=0.0,f=0,p=0.0,d=0.0,m=0,h=0,y=0.0,g=0;h=u;u=u+16|0;a[n>>2]=3402823466385288598117041.0e14;a[r>>2]=-3402823466385288598117041.0e14;m=_[e+8>>2]|0;if((m|0)>0){f=0;do{g=_[e+16>>2]|0;y=+a[g+(f<<4)>>2];d=+a[g+(f<<4)+4>>2];p=+a[g+(f<<4)+8>>2];c=y*+a[t>>2]+d*+a[t+4>>2]+p*+a[t+8>>2]+ +a[t+48>>2];l=y*+a[t+16>>2]+d*+a[t+20>>2]+p*+a[t+24>>2]+ +a[t+52>>2];p=y*+a[t+32>>2]+d*+a[t+36>>2]+p*+a[t+40>>2]+ +a[t+56>>2];d=c*+a[i>>2]+l*+a[i+4>>2]+p*+a[i+8>>2];if(d<+a[n>>2]){a[n>>2]=d;a[o>>2]=c;a[o+4>>2]=l;a[o+8>>2]=p;a[o+12>>2]=0.0}if(d>+a[r>>2]){a[r>>2]=d;a[s>>2]=c;a[s+4>>2]=l;a[s+8>>2]=p;a[s+12>>2]=0.0}f=f+1|0}while((f|0)!=(m|0));y=+a[r>>2];l=y;f=(a[b>>2]=y,_[b>>2]|0)}else{l=-3402823466385288598117041.0e14;f=-8388609}c=+a[n>>2];if(!(c>l)){u=h;return}_[n>>2]=f;a[r>>2]=c;_[h>>2]=_[o>>2];_[h+4>>2]=_[o+4>>2];_[h+8>>2]=_[o+8>>2];_[h+12>>2]=_[o+12>>2];_[o>>2]=_[s>>2];_[o+4>>2]=_[s+4>>2];_[o+8>>2]=_[s+8>>2];_[o+12>>2]=_[s+12>>2];_[s>>2]=_[h>>2];_[s+4>>2]=_[h+4>>2];_[s+8>>2]=_[h+8>>2];_[s+12>>2]=_[h+12>>2];u=h;return}function rg(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0;r=_[e+548>>2]|0;if((r|0)<=0)return;o=_[e+556>>2]|0;i=0;while(1){if((_[o+(i<<2)>>2]|0)==(t|0))break;i=i+1|0;if((i|0)>=(r|0)){n=25;break}}if((n|0)==25)return;if((i|0)<(r|0))i=0;else return;while(1){if((_[o+(i<<2)>>2]|0)==(t|0))break;i=i+1|0;if((i|0)>=(r|0)){i=r;break}}if((r|0)>(i|0)){i=o+(i<<2)|0;n=_[i>>2]|0;_[i>>2]=_[o+(r+-1<<2)>>2];_[(_[e+556>>2]|0)+(r+-1<<2)>>2]=n;_[e+548>>2]=r+-1}o=_[t+28>>2]|0;t=_[t+32>>2]|0;if((o|0)==(e|0)){i=_[e+288>>2]|0;e:do{if((i|0)>0){r=_[e+296>>2]|0;n=0;while(1){if((_[r+(n<<2)>>2]|0)==(t|0))break e;n=n+1|0;if((n|0)>=(i|0)){n=i;break}}}else n=i}while(0);if((i|0)>(n|0)){r=_[e+296>>2]|0;o=r+(n<<2)|0;t=_[o>>2]|0;_[o>>2]=_[r+(i+-1<<2)>>2];_[(_[e+296>>2]|0)+(i+-1<<2)>>2]=t;_[e+288>>2]=i+-1;i=i+-1|0}_[e+280>>2]=(i|0)>0&1;return}else{i=_[t+288>>2]|0;e:do{if((i|0)>0){r=_[t+296>>2]|0;n=0;while(1){if((_[r+(n<<2)>>2]|0)==(o|0))break e;n=n+1|0;if((n|0)>=(i|0)){n=i;break}}}else n=i}while(0);if((i|0)>(n|0)){r=_[t+296>>2]|0;o=r+(n<<2)|0;e=_[o>>2]|0;_[o>>2]=_[r+(i+-1<<2)>>2];_[(_[t+296>>2]|0)+(i+-1<<2)>>2]=e;_[t+288>>2]=i+-1;i=i+-1|0}_[t+280>>2]=(i|0)>0&1;return}}function sg(e){e=e|0;var t=0,i=0,n=0.0,r=0.0,o=0.0,s=0,c=0;c=_[e+28>>2]|0;s=0;n=0.0;r=0.0;o=0.0;e:while(1){switch(s|0){case 0:{n=+a[e+80>>2]+ +a[e+64>>2];r=+a[e+84>>2]+ +a[e+68>>2];o=+a[e+88>>2]+ +a[e+72>>2];break}case 1:{n=+a[e+80>>2]+ +a[e+64>>2];r=+a[e+84>>2]+ +a[e+68>>2];o=+a[e+72>>2]-+a[e+88>>2];break}case 2:{n=+a[e+80>>2]+ +a[e+64>>2];r=+a[e+68>>2]-+a[e+84>>2];o=+a[e+88>>2]+ +a[e+72>>2];break}case 3:{n=+a[e+80>>2]+ +a[e+64>>2];r=+a[e+68>>2]-+a[e+84>>2];o=+a[e+72>>2]-+a[e+88>>2];break}case 4:{n=+a[e+64>>2]-+a[e+80>>2];r=+a[e+84>>2]+ +a[e+68>>2];o=+a[e+88>>2]+ +a[e+72>>2];break}case 5:{n=+a[e+64>>2]-+a[e+80>>2];r=+a[e+84>>2]+ +a[e+68>>2];o=+a[e+72>>2]-+a[e+88>>2];break}case 6:{n=+a[e+64>>2]-+a[e+80>>2];r=+a[e+68>>2]-+a[e+84>>2];o=+a[e+88>>2]+ +a[e+72>>2];break}case 7:{n=+a[e+64>>2]-+a[e+80>>2];r=+a[e+68>>2]-+a[e+84>>2];o=+a[e+72>>2]-+a[e+88>>2];break}default:{}}if((c|0)>0){i=_[e+36>>2]|0;t=0;do{if(+a[i+(t*36|0)+32>>2]+(n*+a[i+(t*36|0)+20>>2]+r*+a[i+(t*36|0)+24>>2]+o*+a[i+(t*36|0)+28>>2])>0.0){t=0;i=16;break e}t=t+1|0}while((t|0)<(c|0))}s=s+1|0;if((s|0)>=8){t=1;i=16;break}}if((i|0)==16)return t|0;return 0}function tg(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0,a=0,l=0,f=0;f=u;u=u+32|0;a=(n[e+68>>0]|0)!=0;l=a?i:t;a=a?t:i;s=_[l+4>>2]|0;c=_[s+20>>2]|0;o=_[e+52>>2]|0;if((o|0)<(c|0)){if((_[e+56>>2]|0)<(c|0)){if(!c){t=0;r=o}else{_[6293]=(_[6293]|0)+1;t=cc((c<<2|3)+16|0)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}r=_[e+52>>2]|0}if((r|0)>0){i=0;do{_[t+(i<<2)>>2]=_[(_[e+60>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(r|0))}i=_[e+60>>2]|0;if(i|0){if(n[e+64>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+60>>2]=0}n[e+64>>0]=1;_[e+60>>2]=t;_[e+56>>2]=c;i=e+60|0}else i=e+60|0;t=o;do{_[(_[i>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(c|0))}_[e+52>>2]=c;if((c|0)<=0){u=f;return}t=0;do{if(!(_[s+68>>2]|0)){i=_[(_[s+28>>2]|0)+(t*80|0)+64>>2]|0;r=_[l+8>>2]|0;o=_[l+12>>2]|0;_[f>>2]=l;_[f+4>>2]=i;_[f+8>>2]=r;_[f+12>>2]=o;_[f+16>>2]=-1;_[f+20>>2]=t;o=_[e+4>>2]|0;o=wa[_[(_[o>>2]|0)+8>>2]&1](o,f,a,_[e+72>>2]|0,1)|0;_[(_[e+60>>2]|0)+(t<<2)>>2]=o}else _[(_[e+60>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(c|0));u=f;return}function ug(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0,c=0,f=0,b=0;t=(_[e+52>>2]|0)+(U(_[e+56>>2]|0,t)|0)|0;if((_[e+64>>2]|0)==3){n=s[t>>1]|0;b=s[t+2>>1]|0;f=s[t+4>>1]|0}else{n=_[t>>2]|0;b=_[t+4>>2]|0;f=_[t+8>>2]|0}o=_[e+36>>2]|0;c=_[e+48>>2]|0;t=o+(U(c,n)|0)|0;r=+a[e+12>>2];if((_[e+44>>2]|0)==1){a[i>>2]=r*+l[t>>3];a[i+4>>2]=+l[t+8>>3]*+a[e+16>>2];a[i+8>>2]=+l[t+16>>3]*+a[e+20>>2];b=o+(U(c,b)|0)|0;a[i+16>>2]=+a[e+12>>2]*+l[b>>3];a[i+20>>2]=+l[b+8>>3]*+a[e+16>>2];a[i+24>>2]=+l[b+16>>3]*+a[e+20>>2];b=o+(U(c,f)|0)|0;a[i+32>>2]=+a[e+12>>2]*+l[b>>3];a[i+36>>2]=+l[b+8>>3]*+a[e+16>>2];r=+l[b+16>>3]*+a[e+20>>2];b=i+40|0;a[b>>2]=r;e=e+4|0;e=_[e>>2]|0;i=i+64|0;_[i>>2]=e;return}else{a[i>>2]=r*+a[t>>2];a[i+4>>2]=+a[t+4>>2]*+a[e+16>>2];a[i+8>>2]=+a[t+8>>2]*+a[e+20>>2];b=o+(U(c,b)|0)|0;a[i+16>>2]=+a[e+12>>2]*+a[b>>2];a[i+20>>2]=+a[b+4>>2]*+a[e+16>>2];a[i+24>>2]=+a[b+8>>2]*+a[e+20>>2];b=o+(U(c,f)|0)|0;a[i+32>>2]=+a[e+12>>2]*+a[b>>2];a[i+36>>2]=+a[b+4>>2]*+a[e+16>>2];r=+a[b+8>>2]*+a[e+20>>2];b=i+40|0;a[b>>2]=r;e=e+4|0;e=_[e>>2]|0;i=i+64|0;_[i>>2]=e;return}}function vg(e,t,i){e=e|0;t=t|0;i=i|0;nh(e,t,i)|0;_[t+52>>2]=_[e+48>>2];_[t+56>>2]=_[e+52>>2];_[t+60>>2]=_[e+56>>2];_[t+64>>2]=_[e+60>>2];_[t+68>>2]=_[e+64>>2];_[t+72>>2]=_[e+68>>2];_[t+76>>2]=_[e+72>>2];_[t+80>>2]=_[e+76>>2];_[t+84>>2]=_[e+80>>2];_[t+88>>2]=_[e+84>>2];_[t+92>>2]=_[e+88>>2];_[t+96>>2]=_[e+92>>2];_[t+100>>2]=_[e+96>>2];_[t+104>>2]=_[e+100>>2];_[t+108>>2]=_[e+104>>2];_[t+112>>2]=_[e+108>>2];_[t+116>>2]=_[e+112>>2];_[t+120>>2]=_[e+116>>2];_[t+124>>2]=_[e+120>>2];_[t+128>>2]=_[e+124>>2];_[t+132>>2]=_[e+128>>2];_[t+136>>2]=_[e+132>>2];_[t+140>>2]=_[e+136>>2];_[t+144>>2]=_[e+140>>2];_[t+148>>2]=_[e+144>>2];_[t+152>>2]=_[e+148>>2];_[t+156>>2]=_[e+152>>2];_[t+160>>2]=_[e+156>>2];_[t+164>>2]=_[e+160>>2];_[t+168>>2]=_[e+164>>2];_[t+172>>2]=_[e+168>>2];_[t+176>>2]=_[e+172>>2];_[t+228>>2]=_[e+868>>2];_[t+212>>2]=_[e+872>>2];_[t+196>>2]=_[e+680>>2];_[t+180>>2]=_[e+696>>2];_[t+232>>2]=_[e+932>>2];_[t+216>>2]=_[e+936>>2];_[t+200>>2]=_[e+684>>2];_[t+184>>2]=_[e+700>>2];_[t+236>>2]=_[e+996>>2];_[t+220>>2]=_[e+1e3>>2];_[t+204>>2]=_[e+688>>2];_[t+188>>2]=_[e+704>>2];_[t+244>>2]=o[e+1300>>0];_[t+248>>2]=o[e+1301>>0];return 11510}function wg(e){e=e|0;var t=0,i=0,r=0,o=0,s=0,c=0,a=0;i=_[e+32>>2]|0;if(!i)r=0;else r=_[e+40>>2]|0;c=_[e+52>>2]|0;if(!c)o=0;else o=_[e+60>>2]|0;t=_[e+72>>2]|0;if(!t)s=0;else s=_[e+80>>2]|0;a=_[e+8>>2]|0;+La[_[(_[a>>2]|0)+12>>2]&3](a,r,i,o,c,s,t,_[e+4>>2]|0,_[e+20>>2]|0,_[e+24>>2]|0);t=_[e+32>>2]|0;if((t|0)<0){if((_[e+36>>2]|0)<0){i=_[e+40>>2]|0;if(i|0){if(n[e+44>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+40>>2]=0}n[e+44>>0]=1;_[e+40>>2]=0;_[e+36>>2]=0}do{_[(_[e+40>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=0)}_[e+32>>2]=0;t=_[e+52>>2]|0;if((t|0)<0){if((_[e+56>>2]|0)<0){i=_[e+60>>2]|0;if(i|0){if(n[e+64>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+60>>2]=0}n[e+64>>0]=1;_[e+60>>2]=0;_[e+56>>2]=0}do{_[(_[e+60>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=0)}_[e+52>>2]=0;t=_[e+72>>2]|0;if((t|0)>=0){_[e+72>>2]=0;return}if((_[e+76>>2]|0)<0){i=_[e+80>>2]|0;if(i|0){if(n[e+84>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+80>>2]=0}n[e+84>>0]=1;_[e+80>>2]=0;_[e+76>>2]=0}do{_[(_[e+80>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=0);_[e+72>>2]=0;return}function xg(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0,d=0;i=_[e+4>>2]|0;if((i|0)==(_[e+8>>2]|0)){ff(e,i|0?i<<1:1);i=_[e+4>>2]|0}u=_[e+12>>2]|0;a=u+(i*36|0)+16|0;n[a>>0]=1;l=u+(i*36|0)+12|0;_[l>>2]=0;p=u+(i*36|0)+4|0;_[p>>2]=0;f=u+(i*36|0)+8|0;_[f>>2]=0;d=_[t+4>>2]|0;if((d|0)<=0){_[p>>2]=d;d=u+(i*36|0)+20|0;t=t+20|0;_[d>>2]=_[t>>2];_[d+4>>2]=_[t+4>>2];_[d+8>>2]=_[t+8>>2];_[d+12>>2]=_[t+12>>2];t=_[e+4>>2]|0;t=t+1|0;_[e+4>>2]=t;return}_[6293]=(_[6293]|0)+1;r=cc((d<<2|3)+16|0)|0;if(!r)o=0;else{_[(r+4+15&-16)+-4>>2]=r;o=r+4+15&-16}s=_[p>>2]|0;c=_[l>>2]|0;if((s|0)<=0){if(c|0)b=10}else{r=0;do{_[o+(r<<2)>>2]=_[c+(r<<2)>>2];r=r+1|0}while((r|0)!=(s|0));b=10}if((b|0)==10?n[a>>0]|0:0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}n[a>>0]=1;_[l>>2]=o;_[f>>2]=d;Wj(o|0,0,d<<2|0)|0;s=_[l>>2]|0;_[p>>2]=d;o=_[t+12>>2]|0;r=0;do{_[s+(r<<2)>>2]=_[o+(r<<2)>>2];r=r+1|0}while((r|0)!=(d|0));d=u+(i*36|0)+20|0;t=t+20|0;_[d>>2]=_[t>>2];_[d+4>>2]=_[t+4>>2];_[d+8>>2]=_[t+8>>2];_[d+12>>2]=_[t+12>>2];t=_[e+4>>2]|0;t=t+1|0;_[e+4>>2]=t;return}function yg(e,t){e=e|0;t=+t;var i=0,r=0,o=0,s=0,c=0,l=0,f=0.0,b=0.0,p=0.0,u=0.0;i=_[e+248>>2]|0;if((i|0)<=0)return;l=(n[28068]|0)==0;c=0;do{s=_[(_[e+256>>2]|0)+(c<<2)>>2]|0;e:do{if(s){r=_[s+220>>2]|0;t:do{switch(r|0){case 4:case 2:{if((r|0)==4)break e;break}default:{u=+a[s+372>>2];p=+a[s+376>>2];b=+a[s+380>>2];f=+a[s+532>>2];if(u*u+p*p+b*b<f*f?(f=+a[s+388>>2],b=+a[s+392>>2],p=+a[s+396>>2],u=+a[s+536>>2],f*f+b*b+p*p<u*u):0){a[s+224>>2]=+a[s+224>>2]+t;break t}a[s+224>>2]=0.0;if((r&-2|0)!=4){_[s+220>>2]=0;r=0}}}}while(0);o=r&-2;do{if(l){if((o|0)!=2?!(+a[s+224>>2]>2.0):0)break;if(_[s+204>>2]&3|0){if((o|0)==4)break e;_[s+220>>2]=2;break e}if((r|0)==1){if((o|0)==4)break e;_[s+220>>2]=3;break e}else{if((r|0)!=2)break e;i=(_[s+304>>2]|0)+2|0;_[s+388>>2]=0;_[s+388+4>>2]=0;_[s+388+8>>2]=0;_[s+388+12>>2]=0;_[s+304>>2]=i;_[s+372>>2]=0;_[s+372+4>>2]=0;_[s+372+8>>2]=0;_[s+372+12>>2]=0;i=_[e+248>>2]|0;break e}}}while(0);if((o|0)!=4)_[s+220>>2]=1}}while(0);c=c+1|0}while((c|0)<(i|0));return}function zg(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;var s=0,c=0,l=0,f=0.0,p=0,u=0,d=0.0,m=0.0;$a[_[(_[e>>2]|0)+8>>2]&127](e,t,r,o);p=_[o>>2]|0;c=_[o+4>>2]|0;t=_[o+8>>2]|0;l=_[r>>2]|0;u=_[r+4>>2]|0;s=_[r+8>>2]|0;f=+a[i>>2];d=+a[i+4>>2];m=+a[i+8>>2];if(f>0.0)p=(a[b>>2]=(_[b>>2]=p,+a[b>>2])+f,_[b>>2]|0);else l=(a[b>>2]=(_[b>>2]=l,+a[b>>2])+f,_[b>>2]|0);if(d>0.0){i=u;c=(a[b>>2]=(_[b>>2]=c,+a[b>>2])+d,_[b>>2]|0)}else i=(a[b>>2]=(_[b>>2]=u,+a[b>>2])+d,_[b>>2]|0);if(m>0.0)t=(a[b>>2]=(_[b>>2]=t,+a[b>>2])+m,_[b>>2]|0);else s=(a[b>>2]=(_[b>>2]=s,+a[b>>2])+m,_[b>>2]|0);f=+a[n>>2];d=+a[n+4>>2];m=+a[n+8>>2];m=+W(+(f*f+d*d+m*m));m=m*+Da[_[(_[e>>2]|0)+16>>2]&15](e);_[r>>2]=l;_[r+4>>2]=i;_[r+8>>2]=s;a[r+12>>2]=0.0;_[o>>2]=p;_[o+4>>2]=c;_[o+8>>2]=t;a[o+12>>2]=0.0;a[r>>2]=+a[r>>2]-m;a[r+4>>2]=+a[r+4>>2]-m;a[r+8>>2]=+a[r+8>>2]-m;a[o>>2]=m+ +a[o>>2];a[o+4>>2]=m+ +a[o+4>>2];a[o+8>>2]=m+ +a[o+8>>2];return}function Ag(e,t){e=e|0;t=t|0;var i=0,n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0;i=u;u=u+144|0;_o(i+112|0,+a[e+16>>2],+a[e+20>>2],+a[e+24>>2],+a[e>>2],+a[e+4>>2],+a[e+8>>2]);Lp(i+128|0,+a[i+112>>2],+a[i+112+4>>2],+a[i+112+8>>2],.5);s=+a[i+128>>2];c=+a[i+128+4>>2];l=+a[i+128+8>>2];ap(i+96|0,+a[e+16>>2],+a[e+20>>2],+a[e+24>>2],s,c,l);kl(i+128|0,t,s,c,l);t=rH(t)|0;f=zF(t,0)|0;pp(i+64|0,+a[f>>2],+a[f+4>>2],+a[f+8>>2]);f=zF(t,1)|0;pp(i+48|0,+a[f>>2],+a[f+4>>2],+a[f+8>>2]);t=zF(t,2)|0;pp(i+32|0,+a[t>>2],+a[t+4>>2],+a[t+8>>2]);_l(i+80|0,+a[i+96>>2],+a[i+96+4>>2],+a[i+96+8>>2],+a[i+64>>2],+a[i+64+4>>2],+a[i+64+8>>2],+a[i+48>>2],+a[i+48+4>>2],+a[i+48+8>>2],+a[i+32>>2],+a[i+32+4>>2],+a[i+32+8>>2]);l=+a[i+128>>2];c=+a[i+128+4>>2];s=+a[i+128+8>>2];o=+a[i+80>>2];r=+a[i+80+4>>2];n=+a[i+80+8>>2];ap(i+16|0,l,c,s,o,r,n);_[e>>2]=_[i+16>>2];_[e+4>>2]=_[i+16+4>>2];_[e+8>>2]=_[i+16+8>>2];_[e+12>>2]=_[i+16+12>>2];_o(i,l,c,s,o,r,n);_[e+16>>2]=_[i>>2];_[e+16+4>>2]=_[i+4>>2];_[e+16+8>>2]=_[i+8>>2];_[e+16+12>>2]=_[i+12>>2];u=i;return}function Bg(e,t){e=+e;t=+t;var i=0,n=0,r=0,o=0,s=0,c=0,l=0,f=0;l=(a[b>>2]=e,_[b>>2]|0);s=(a[b>>2]=t,_[b>>2]|0);e:do{if((s<<1|0)!=0?!((l>>>23&255|0)==255|((FC(t)|0)&2147483647)>>>0>2139095040):0){if(l<<1>>>0<=s<<1>>>0)return+((l<<1|0)==(s<<1|0)?e*0.0:e);if(!(l>>>23&255)){if((l<<9|0)>-1){n=l<<9;i=0;do{i=i+-1|0;n=n<<1}while((n|0)>-1)}else i=0;n=l<<1-i}else{n=l&8388607|8388608;i=l>>>23&255}if(!(s>>>23&255)){if((s<<9|0)>-1){r=0;o=s<<9;do{r=r+-1|0;o=o<<1}while((o|0)>-1)}else r=0;c=r;s=s<<1-r}else{c=s>>>23&255;s=s&8388607|8388608}r=n-s|0;t:do{if((i|0)>(c|0)){o=r;r=(r|0)>-1;while(1){if(r)if(!o)break;else n=o;n=n<<1;i=i+-1|0;r=n-s|0;if((i|0)>(c|0)){o=r;r=(r|0)>-1}else{o=(r|0)>-1;break t}}t=e*0.0;break e}else o=(r|0)>-1}while(0);if(o)if(!r){t=e*0.0;break}else n=r;if(n>>>0<8388608)do{n=n<<1;i=i+-1|0}while(n>>>0<8388608);if((i|0)>0)i=n+-8388608|i<<23;else i=n>>>(1-i|0);t=(_[b>>2]=i|l&-2147483648,+a[b>>2])}else f=3}while(0);if((f|0)==3)t=e*t/(e*t);return+t}function Cg(e,t,i,r,s,c){e=e|0;t=t|0;i=i|0;r=r|0;s=s|0;c=c|0;var l=0;if((o[r+55>>0]|0|0)==(t|0)){r=0;return r|0}l=_[9668+(s<<2)>>2]|0;if(+a[r>>2]*+a[i+16>>2]+ +a[r+4>>2]*+a[i+20>>2]+ +a[r+8>>2]*+a[i+24>>2]-+a[r+16>>2]<-9.999999747378752e-06){t=Fe(e,_[r+20+(l<<2)>>2]|0,_[r+20+(s<<2)>>2]|0,i,0)|0;if(!t){r=0;return r|0}n[t+52>>0]=s;_[t+32>>2]=r;n[r+52+s>>0]=0;_[r+32+(s<<2)>>2]=t;s=_[c>>2]|0;if(!s)_[c+4>>2]=t;else{n[s+53>>0]=2;_[s+36>>2]=t;n[t+54>>0]=1;_[t+40>>2]=s}_[c>>2]=t;_[c+8>>2]=(_[c+8>>2]|0)+1;r=1;return r|0}s=_[9680+(s<<2)>>2]|0;n[r+55>>0]=t;if(!(Cg(e,t,i,_[r+32+(l<<2)>>2]|0,o[r+52+l>>0]|0,c)|0)){r=0;return r|0}if(!(Cg(e,t,i,_[r+32+(s<<2)>>2]|0,o[r+52+s>>0]|0,c)|0)){r=0;return r|0}s=_[r+48>>2]|0;if(s|0)_[s+44>>2]=_[r+44>>2];s=_[r+44>>2]|0;if(s|0)_[s+48>>2]=_[r+48>>2];if((_[e+18496>>2]|0)==(r|0))_[e+18496>>2]=_[r+48>>2];_[e+18500>>2]=(_[e+18500>>2]|0)+-1;_[r+44>>2]=0;_[r+48>>2]=_[e+18504>>2];s=_[e+18504>>2]|0;if(s|0)_[s+44>>2]=r;_[e+18504>>2]=r;_[e+18508>>2]=(_[e+18508>>2]|0)+1;r=1;return r|0}function Dg(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0,c=0,l=0,f=0.0,b=0.0,p=0,d=0,m=0.0,h=0;d=u;u=u+2048|0;_[e>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;n=+a[i>>2];o=+a[i+4>>2];r=+a[i+8>>2];if(n*n+o*o+r*r<9.999999747378752e-05){b=1.0;f=0.0;o=0.0}else{m=1.0/+W(+(n*n+o*o+r*r));b=n*m;f=o*m;o=r*m}if((ya[_[(_[t>>2]|0)+96>>2]&127](t)|0)<=0){u=d;return}l=0;r=-999999984306749440.0;while(1){if(((ya[_[(_[t>>2]|0)+96>>2]&127](t)|0)-l|0)<128){i=(ya[_[(_[t>>2]|0)+96>>2]&127](t)|0)-l|0;if((i|0)>0)p=8;else{n=-3402823466385288598117041.0e14;i=-1}}else{i=128;p=8}if((p|0)==8){p=0;s=0;do{Za[_[(_[t>>2]|0)+108>>2]&127](t,s,d+(s<<4)|0);s=s+1|0}while((s|0)!=(i|0));s=-1;c=0;n=-3402823466385288598117041.0e14;do{m=b*+a[d+(c<<4)>>2]+f*+a[d+(c<<4)+4>>2]+o*+a[d+(c<<4)+8>>2];h=m>n;s=h?c:s;n=h?m:n;c=c+1|0}while((c|0)!=(i|0));i=s}if(n>r){h=d+(i<<4)|0;_[e>>2]=_[h>>2];_[e+4>>2]=_[h+4>>2];_[e+8>>2]=_[h+8>>2];_[e+12>>2]=_[h+12>>2]}else n=r;l=l+128|0;if((l|0)>=(ya[_[(_[t>>2]|0)+96>>2]&127](t)|0))break;else r=n}u=d;return}function Eg(e){e=e|0;var t=0,i=0.0,r=0,o=0,s=0.0,c=0.0,l=0;l=u;u=u+64|0;if(!(n[e+290>>0]|0)){t=_[e+248>>2]|0;if((t|0)<=0){u=l;return}o=0;do{r=_[(_[e+256>>2]|0)+(o<<2)>>2]|0;switch(_[r+220>>2]|0){case 2:case 5:break;default:if((_[r+540>>2]|0)!=0?(_[r+204>>2]&3|0)==0:0){i=+a[e+280>>2];if((n[e+316>>0]|0)!=0?(c=+a[e+284>>2],c!=0.0):0)i=i-c;else i=i*+a[r+268>>2];Ue(r+68|0,+a[r+132>>2],+a[r+136>>2],+a[r+140>>2],r+148|0,i,l);t=_[r+540>>2]|0;ma[_[(_[t>>2]|0)+12>>2]&127](t,l);t=_[e+248>>2]|0}}o=o+1|0}while((o|0)<(t|0));u=l;return}else{t=_[e+8>>2]|0;if((t|0)<=0){u=l;return}o=0;do{r=_[(_[e+16>>2]|0)+(o<<2)>>2]|0;if((!((r|0)==0?1:(_[r+252>>2]&2|0)==0)?(_[r+540>>2]|0)!=0:0)?(_[r+204>>2]&3|0)==0:0){i=+a[e+280>>2];if((n[e+316>>0]|0)!=0?(s=+a[e+284>>2],s!=0.0):0)i=i-s;else i=i*+a[r+268>>2];Ue(r+68|0,+a[r+132>>2],+a[r+136>>2],+a[r+140>>2],r+148|0,i,l);t=_[r+540>>2]|0;ma[_[(_[t>>2]|0)+12>>2]&127](t,l);t=_[e+8>>2]|0}o=o+1|0}while((o|0)<(t|0));u=l;return}}function Fg(e,t){e=e|0;t=t|0;var i=0,r=0,o=0.0,s=0,c=0,l=0.0,f=0.0;i=_[t+204>>2]|0;if((i&3|0)==0?(_[t+564>>2]&1|0)==0:0){o=+a[t+404>>2];if(o!=0.0){f=1.0/o*+a[e+268>>2];l=1.0/o*+a[e+272>>2];a[t+424>>2]=1.0/o*+a[e+264>>2];a[t+428>>2]=f;a[t+432>>2]=l;a[t+436>>2]=0.0}_[t+440>>2]=_[e+264>>2];_[t+440+4>>2]=_[e+264+4>>2];_[t+440+8>>2]=_[e+264+8>>2];_[t+440+12>>2]=_[e+264+12>>2]}if(!(_[t+192>>2]|0))return;if(i&1){if((_[t+220>>2]&-2|0)!=4)_[t+220>>2]=2}else{r=_[e+248>>2]|0;if((r|0)==(_[e+252>>2]|0)?(c=r|0?r<<1:1,(r|0)<(c|0)):0){if(!c)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((c<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}r=_[e+248>>2]|0}if((r|0)>0){s=0;do{_[i+(s<<2)>>2]=_[(_[e+256>>2]|0)+(s<<2)>>2];s=s+1|0}while((s|0)!=(r|0))}s=_[e+256>>2]|0;if(s){if(n[e+260>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0);r=_[e+248>>2]|0}_[e+256>>2]=0}n[e+260>>0]=1;_[e+256>>2]=i;_[e+252>>2]=c;i=_[t+204>>2]|0}_[(_[e+256>>2]|0)+(r<<2)>>2]=t;_[e+248>>2]=r+1}c=(i&3|0)==0;$a[_[(_[e>>2]|0)+36>>2]&127](e,t,c?1:2,c?-1:-3);return}function Gg(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0,d=0;c=_[e+68+(t<<2)>>2]|0;a=r[c+((i&65535)<<2)+-4>>1]|0;if((s[c+((i&65535)<<2)>>1]|0)>=(a&65535))return;l=_[e+60>>2]|0;b=l+((s[c+((i&65535)<<2)+2>>1]|0)<<6)+54+(t<<1)|0;o=c+((i&65535)<<2)+-4|0;f=c+((i&65535)<<2)|0;while(1){c=s[f+-2>>1]|0;if(!(a&1)){i=s[f+2>>1]|0;if(((((s[l+(i<<6)+54+((1<<t&3)<<1)>>1]|0)>=(s[l+(c<<6)+48+((1<<t&3)<<1)>>1]|0)?(s[l+(c<<6)+54+((1<<t&3)<<1)>>1]|0)>=(s[l+(i<<6)+48+((1<<t&3)<<1)>>1]|0):0)?(s[l+(i<<6)+54+((1<<(1<<t&3)&3)<<1)>>1]|0)>=(s[l+(c<<6)+48+((1<<(1<<t&3)&3)<<1)>>1]|0):0)?(s[l+(c<<6)+54+((1<<(1<<t&3)&3)<<1)>>1]|0)>=(s[l+(i<<6)+48+((1<<(1<<t&3)&3)<<1)>>1]|0):0)?(d=_[e+92>>2]|0,p=l+(i<<6)|0,u=l+(c<<6)|0,Ua[_[(_[d>>2]|0)+12>>2]&31](d,p,u,n)|0,d=_[e+96>>2]|0,d|0):0)Ua[_[(_[d>>2]|0)+12>>2]&31](d,p,u,n)|0;i=l+(c<<6)+48+(t<<1)|0}else i=l+(c<<6)+54+(t<<1)|0;r[i>>1]=(r[i>>1]|0)+1<<16>>16;r[b>>1]=(r[b>>1]|0)+-1<<16>>16;i=s[f>>1]|s[f+2>>1]<<16;a=s[o>>1]|s[o+2>>1]<<16;r[f>>1]=a;r[f+2>>1]=a>>>16;r[o>>1]=i;r[o+2>>1]=i>>>16;i=f+-4|0;o=o+-4|0;a=r[o>>1]|0;if((s[i>>1]|0)>=(a&65535))break;f=i;l=_[e+60>>2]|0}return}function Hg(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0.0,c=0,l=0,f=0,b=0.0,p=0.0;o=_[t+204>>2]|0;if((o&3|0)==0?(_[t+564>>2]&1|0)==0:0){s=+a[t+404>>2];if(s!=0.0){p=1.0/s*+a[e+268>>2];b=1.0/s*+a[e+272>>2];a[t+424>>2]=1.0/s*+a[e+264>>2];a[t+428>>2]=p;a[t+432>>2]=b;a[t+436>>2]=0.0}_[t+440>>2]=_[e+264>>2];_[t+440+4>>2]=_[e+264+4>>2];_[t+440+8>>2]=_[e+264+8>>2];_[t+440+12>>2]=_[e+264+12>>2]}if(!(_[t+192>>2]|0))return;if(o&1){if((_[t+220>>2]&-2|0)!=4)_[t+220>>2]=2}else{o=_[e+248>>2]|0;if((o|0)==(_[e+252>>2]|0)?(f=o|0?o<<1:1,(o|0)<(f|0)):0){if(!f)l=0;else{_[6293]=(_[6293]|0)+1;o=cc((f<<2|3)+16|0)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}l=o;o=_[e+248>>2]|0}if((o|0)>0){c=0;do{_[l+(c<<2)>>2]=_[(_[e+256>>2]|0)+(c<<2)>>2];c=c+1|0}while((c|0)!=(o|0))}c=_[e+256>>2]|0;if(c){if(n[e+260>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0);o=_[e+248>>2]|0}_[e+256>>2]=0}n[e+260>>0]=1;_[e+256>>2]=l;_[e+252>>2]=f}_[(_[e+256>>2]|0)+(o<<2)>>2]=t;_[e+248>>2]=o+1}$a[_[(_[e>>2]|0)+36>>2]&127](e,t,i,r);return}function Ig(e,t,i,r,o,s,c,l){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;var f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0,S=0,j=0.0;S=_[(c|0?r+12|0:r+8|0)>>2]|0;k=_[(c|0?r+20|0:r+16|0)>>2]|0;_[S+(o<<2)>>2]=_[s>>2];_[S+(o+1<<2)>>2]=_[s+4>>2];_[S+(o+2<<2)>>2]=_[s+8>>2];a[k+(o<<2)>>2]=-+a[s>>2];a[k+(o+1<<2)>>2]=-+a[s+4>>2];a[k+(o+2<<2)>>2]=-+a[s+8>>2];if(c|0)return;v=+a[e+1348>>2]-+a[i+48>>2];w=+a[e+1352>>2]-+a[i+52>>2];g=+a[e+1356>>2]-+a[i+56>>2];b=+a[e+1284>>2]-+a[t+48>>2];p=+a[e+1288>>2]-+a[t+52>>2];f=+a[e+1292>>2]-+a[t+56>>2];h=+a[s+8>>2];C=+a[s+4>>2];y=+a[s>>2];if((l|0)!=0|(n[e+1452>>0]|0)==0){m=p*h-f*C;d=f*y-b*h;p=b*C-p*y;u=w*h-g*C;b=g*y-v*h;f=v*C-w*y}else{u=+a[e+1444>>2];j=+a[e+1448>>2];m=u*(p*h-f*C);d=u*(f*y-b*h);p=u*(b*C-p*y);u=j*(w*h-g*C);b=j*(g*y-v*h);f=j*(v*C-w*y)}S=(_[r+12>>2]|0)+(o<<2)|0;a[S>>2]=m;a[S+4>>2]=d;a[S+8>>2]=p;S=_[r+20>>2]|0;a[S+(o<<2)>>2]=-u;a[S+(o+1<<2)>>2]=-b;a[S+(o+2<<2)>>2]=-f;return}function Jg(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0;u=(+a[e+36>>2]-+a[e+20>>2])*.5;f=(+a[e+40>>2]-+a[e+24>>2])*.5;s=(+a[e+44>>2]-+a[e+28>>2])*.5;p=+Da[_[(_[e>>2]|0)+48>>2]&15](e);l=+Da[_[(_[e>>2]|0)+48>>2]&15](e);s=s+ +Da[_[(_[e>>2]|0)+48>>2]&15](e);x=(+a[e+36>>2]+ +a[e+20>>2])*.5;j=(+a[e+40>>2]+ +a[e+24>>2])*.5;k=(+a[e+44>>2]+ +a[e+28>>2])*.5;T=+a[t>>2];w=+G(+T);D=+a[t+4>>2];v=+G(+D);g=+a[t+8>>2];C=+G(+g);M=+a[t+16>>2];y=+G(+M);I=+a[t+20>>2];h=+G(+I);d=+a[t+24>>2];m=+G(+d);R=+a[t+32>>2];b=+G(+R);S=+a[t+36>>2];c=+G(+S);r=+a[t+40>>2];o=+G(+r);g=x*T+j*D+k*g+ +a[t+48>>2];d=x*M+j*I+k*d+ +a[t+52>>2];r=x*R+j*S+k*r+ +a[t+56>>2];a[i>>2]=g-((u+p)*w+(f+l)*v+s*C);a[i+4>>2]=d-((u+p)*y+(f+l)*h+s*m);a[i+8>>2]=r-((u+p)*b+(f+l)*c+s*o);a[i+12>>2]=0.0;a[n>>2]=(u+p)*w+(f+l)*v+s*C+g;a[n+4>>2]=(u+p)*y+(f+l)*h+s*m+d;a[n+8>>2]=(u+p)*b+(f+l)*c+s*o+r;a[n+12>>2]=0.0;return}function Kg(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0,O=0.0,H=0.0;H=+a[e+52>>2];j=+a[e+36>>2];O=+a[e+56>>2];k=+a[e+40>>2];D=+a[e+60>>2];v=+a[e+44>>2];T=(_[e+20>>2]|0)==0;b=+Da[_[(_[e>>2]|0)+48>>2]&15](e);l=+Da[_[(_[e>>2]|0)+48>>2]&15](e);s=+Da[_[(_[e>>2]|0)+48>>2]&15](e);b=(T?0.0:(H-j)*.5)+b;l=(T?0.0:(O-k)*.5)+l;s=(T?0.0:(D-v)*.5)+s;M=+a[t>>2];C=+G(+M);I=+a[t+4>>2];g=+G(+I);h=+a[t+8>>2];y=+G(+h);x=+a[t+16>>2];m=+G(+x);R=+a[t+20>>2];d=+G(+R);p=+a[t+24>>2];u=+G(+p);S=+a[t+32>>2];f=+G(+S);w=+a[t+36>>2];c=+G(+w);r=+a[t+40>>2];o=+G(+r);j=T?0.0:(H+j)*.5;k=T?0.0:(O+k)*.5;v=T?0.0:(D+v)*.5;h=j*M+k*I+v*h+ +a[t+48>>2];p=j*x+k*R+v*p+ +a[t+52>>2];r=j*S+k*w+v*r+ +a[t+56>>2];a[i>>2]=h-(b*C+l*g+s*y);a[i+4>>2]=p-(b*m+l*d+s*u);a[i+8>>2]=r-(b*f+l*c+s*o);a[i+12>>2]=0.0;a[n>>2]=b*C+l*g+s*y+h;a[n+4>>2]=b*m+l*d+s*u+p;a[n+8>>2]=b*f+l*c+s*o+r;a[n+12>>2]=0.0;return}function Lg(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0,_=0,o=0,s=0,c=0,l=0;_=u;u=u+16|0;n=+a[(rH(e)|0)>>2];r=+a[(_G(e+16|0)|0)>>2];i=+a[(ZG(e+32|0)|0)>>2];if(n+r+i>0.0){r=+fH(n+r+i+1.0);a[_+12>>2]=r*.5;n=+a[(_G(e+32|0)|0)>>2];a[_>>2]=(n-+a[(ZG(e+16|0)|0)>>2])*(.5/r);n=+a[(ZG(e)|0)>>2];a[_+4>>2]=(n-+a[(rH(e+32|0)|0)>>2])*(.5/r);n=+a[(rH(e+16|0)|0)>>2];a[_+8>>2]=(n-+a[(_G(e)|0)>>2])*(.5/r);s=_+4|0;o=_+8|0;e=_+12|0;c=_;_q(t,c,s,o,e);u=_;return}else{o=(n<r?r:n)<i?2:n<r&1;s=rH(e+(o<<4)|0)|0;r=+a[s+(o<<2)>>2];l=rH(e+((((o+1|0)>>>0)%3|0)<<4)|0)|0;r=r-+a[l+((((o+1|0)>>>0)%3|0)<<2)>>2];c=rH(e+((((o+2|0)>>>0)%3|0)<<4)|0)|0;r=+fH(r-+a[c+((((o+2|0)>>>0)%3|0)<<2)>>2]+1.0);a[_+(o<<2)>>2]=r*.5;a[_+12>>2]=(+a[c+((((o+1|0)>>>0)%3|0)<<2)>>2]-+a[l+((((o+2|0)>>>0)%3|0)<<2)>>2])*(.5/r);a[_+((((o+1|0)>>>0)%3|0)<<2)>>2]=(+a[l+(o<<2)>>2]+ +a[s+((((o+1|0)>>>0)%3|0)<<2)>>2])*(.5/r);a[_+((((o+2|0)>>>0)%3|0)<<2)>>2]=(+a[c+(o<<2)>>2]+ +a[s+((((o+2|0)>>>0)%3|0)<<2)>>2])*(.5/r);o=_+4|0;s=_+8|0;c=_+12|0;e=_;_q(t,e,o,s,c);u=_;return}}function Mg(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0,c=0,a=0,l=0,f=0,b=0,p=0;o=_[e+68+(t<<2)>>2]|0;l=_[e+60>>2]|0;f=s[o+((i&65535)<<2)+2>>1]|0;c=r[o+((i&65535)<<2)+-4>>1]|0;if((s[o+((i&65535)<<2)>>1]|0)>=(c&65535))return;n=o+((i&65535)<<2)+-4|0;a=o+((i&65535)<<2)|0;o=l;while(1){i=s[a+-2>>1]|0;if(!(c&1))i=o+(i<<6)+48+(t<<1)|0;else{if(((((s[l+(f<<6)+54+((1<<t&3)<<1)>>1]|0)>=(s[o+(i<<6)+48+((1<<t&3)<<1)>>1]|0)?(s[o+(i<<6)+54+((1<<t&3)<<1)>>1]|0)>=(s[l+(f<<6)+48+((1<<t&3)<<1)>>1]|0):0)?(s[l+(f<<6)+54+((1<<(1<<t&3)&3)<<1)>>1]|0)>=(s[o+(i<<6)+48+((1<<(1<<t&3)&3)<<1)>>1]|0):0)?(s[o+(i<<6)+54+((1<<(1<<t&3)&3)<<1)>>1]|0)>=(s[l+(f<<6)+48+((1<<(1<<t&3)&3)<<1)>>1]|0):0)?(p=_[e+92>>2]|0,b=o+(i<<6)|0,xa[_[(_[p>>2]|0)+8>>2]&63](p,l+(f<<6)|0,b)|0,p=_[e+96>>2]|0,p|0):0)xa[_[(_[p>>2]|0)+8>>2]&63](p,l+(f<<6)|0,b)|0;i=o+(i<<6)+54+(t<<1)|0}r[i>>1]=(r[i>>1]|0)+1<<16>>16;r[l+(f<<6)+48+(t<<1)>>1]=(r[l+(f<<6)+48+(t<<1)>>1]|0)+-1<<16>>16;i=s[a>>1]|s[a+2>>1]<<16;c=s[n>>1]|s[n+2>>1]<<16;r[a>>1]=c;r[a+2>>1]=c>>>16;r[n>>1]=i;r[n+2>>1]=i>>>16;i=a+-4|0;n=n+-4|0;c=r[n>>1]|0;if((s[i>>1]|0)>=(c&65535))break;a=i;o=_[e+60>>2]|0}return}function Ng(e,t,i){e=e|0;t=+t;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0,f=0,b=0,p=0.0,u=0.0,d=0.0,m=0;ua[_[(_[e>>2]|0)+112>>2]&511](e);_[i>>2]=0;_[i+4>>2]=0;_[i+8>>2]=0;_[i+12>>2]=0;b=_[e+188>>2]|0;if(!b){b=_[e>>2]|0;b=b+116|0;b=_[b>>2]|0;ua[b&511](e);return}c=_[e+184>>2]|0;f=_[e+196>>2]|0;if((_[e+192>>2]|0)==1){n=b+-1|0;r=0.0;o=0.0;s=0.0;while(1){m=c+(U(f,n)|0)|0;u=+a[e+160>>2]*+l[m>>3];p=+l[m+8>>3]*+a[e+164>>2];d=+l[m+16>>3]*+a[e+168>>2];r=r+t/+(b|0)*(p*p+d*d);a[i>>2]=r;o=t/+(b|0)*(u*u+d*d)+o;a[i+4>>2]=o;s=t/+(b|0)*(u*u+p*p)+s;a[i+8>>2]=s;if(!n)break;else n=n+-1|0}m=_[e>>2]|0;m=m+116|0;m=_[m>>2]|0;ua[m&511](e);return}else{n=b+-1|0;r=0.0;o=0.0;s=0.0;while(1){m=c+(U(f,n)|0)|0;u=+a[e+160>>2]*+a[m>>2];d=+a[m+4>>2]*+a[e+164>>2];p=+a[m+8>>2]*+a[e+168>>2];r=r+t/+(b|0)*(d*d+p*p);a[i>>2]=r;o=t/+(b|0)*(u*u+p*p)+o;a[i+4>>2]=o;s=t/+(b|0)*(u*u+d*d)+s;a[i+8>>2]=s;if(!n)break;else n=n+-1|0}m=_[e>>2]|0;m=m+116|0;m=_[m>>2]|0;ua[m&511](e);return}}function Og(e,t){e=e|0;t=t|0;var i=0,r=0.0,o=0.0,s=0.0,c=0;c=ya[_[(_[e>>2]|0)+28>>2]&127](e)|0;s=+a[c>>2]-+a[t>>2];o=+a[c+4>>2]-+a[t+4>>2];r=+a[c+8>>2]-+a[t+8>>2];if(!(s*s+o*o+r*r>1.1920928955078125e-07))return;mg(e,t);if((n[e+65>>0]|0)!=0?(i=_[e+56>>2]|0,ua[_[_[i>>2]>>2]&511](i),i=_[e+56>>2]|0,(i|0)!=0):0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);i=e+56|0}else i=e+56|0;_[6293]=(_[6293]|0)+1;t=cc(191)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}_[t+52>>2]=287;n[t+60>>0]=0;n[t+80>>0]=1;_[t+76>>2]=0;_[t+68>>2]=0;_[t+72>>2]=0;n[t+100>>0]=1;_[t+96>>2]=0;_[t+88>>2]=0;_[t+92>>2]=0;n[t+120>>0]=1;_[t+116>>2]=0;_[t+108>>2]=0;_[t+112>>2]=0;n[t+140>>0]=1;_[t+136>>2]=0;_[t+128>>2]=0;_[t+132>>2]=0;_[t+144>>2]=0;n[t+164>>0]=1;_[t+160>>2]=0;_[t+152>>2]=0;_[t+156>>2]=0;_[t+168>>2]=0;_[t+4>>2]=-8388609;_[t+8>>2]=-8388609;_[t+12>>2]=-8388609;a[t+16>>2]=0.0;_[t+20>>2]=2139095039;_[t+24>>2]=2139095039;_[t+28>>2]=2139095039;a[t+32>>2]=0.0;_[t>>2]=7464;_[i>>2]=t;Pc(t,_[e+52>>2]|0,(n[e+64>>0]|0)!=0,e+20|0,e+36|0);n[e+65>>0]=1;return}function Pg(e,t){e=e|0;t=t|0;var i=0.0,r=0.0;if(n[e+1309>>0]|0){i=(+a[e+1256>>2]-+a[e+1316>>2])*+a[e+1340>>2];a[e+792>>2]=i*(+a[t>>2]*+a[e+1364>>2]/+(_[t+44>>2]|0));i=+G(+i);a[e+808>>2]=i/+a[t>>2]}if(n[e+1310>>0]|0){i=(+a[e+1260>>2]-+a[e+1320>>2])*+a[e+1344>>2];a[e+796>>2]=i*(+a[t>>2]*+a[e+1368>>2]/+(_[t+44>>2]|0));i=+G(+i);a[e+812>>2]=i/+a[t>>2]}if(n[e+1311>>0]|0){i=(+a[e+1264>>2]-+a[e+1324>>2])*+a[e+1348>>2];a[e+800>>2]=i*(+a[t>>2]*+a[e+1372>>2]/+(_[t+44>>2]|0));i=+G(+i);a[e+816>>2]=i/+a[t>>2]}if(n[e+1312>>0]|0){r=-((+a[e+1192>>2]-+a[e+1328>>2])*+a[e+1352>>2]);i=+a[t>>2];a[e+876>>2]=i*+a[e+1376>>2]/+(_[t+44>>2]|0)*r;a[e+880>>2]=+G(+r)/i}if(n[e+1313>>0]|0){i=-((+a[e+1196>>2]-+a[e+1332>>2])*+a[e+1356>>2]);r=+a[t>>2];a[e+940>>2]=r*+a[e+1380>>2]/+(_[t+44>>2]|0)*i;a[e+944>>2]=+G(+i)/r}if(!(n[e+1314>>0]|0)){zf(e,t);return}i=-((+a[e+1200>>2]-+a[e+1336>>2])*+a[e+1360>>2]);r=+a[t>>2];a[e+1004>>2]=r*+a[e+1384>>2]/+(_[t+44>>2]|0)*i;a[e+1008>>2]=+G(+i)/r;zf(e,t);return}function Qg(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0.0,s=0.0,c=0.0;n=u;u=u+160|0;_[n+136>>2]=0;_[n+136+4>>2]=0;_[n+136+8>>2]=0;_[n+136+12>>2]=0;_[n+136+16>>2]=0;_[n+32>>2]=8004;r=n+32+4|0;_[r>>2]=0;_[r+4>>2]=0;_[r+8>>2]=0;_[r+12>>2]=0;_[n+32+20>>2]=1065353216;_[n+32+24>>2]=0;_[n+32+24+4>>2]=0;_[n+32+24+8>>2]=0;_[n+32+24+12>>2]=0;_[n+32+40>>2]=1065353216;_[n+32+44>>2]=0;_[n+32+44+4>>2]=0;_[n+32+44+8>>2]=0;_[n+32+44+12>>2]=0;_[n+32+60>>2]=1065353216;_[n+32+64>>2]=0;_[n+32+68>>2]=_[n+136+4>>2];_[n+32+68+4>>2]=_[n+136+4+4>>2];_[n+32+68+8>>2]=_[n+136+4+8>>2];_[n+32+68+12>>2]=_[n+136+4+12>>2];a[n+32+84>>2]=-999999984306749440.0;c=+a[i>>2];s=+a[i+4>>2];o=+a[i+8>>2];a[n+32+88>>2]=c+s*0.0+o*0.0;a[n+32+92>>2]=c*0.0+s+o*0.0;a[n+32+96>>2]=c*0.0+s*0.0+o;a[n+32+100>>2]=0.0;_[n+16>>2]=1566444395;_[n+16+4>>2]=1566444395;_[n+16+8>>2]=1566444395;a[n+16+12>>2]=0.0;i=_[(_[t>>2]|0)+64>>2]|0;a[n>>2]=-999999984306749440.0;a[n+4>>2]=-999999984306749440.0;a[n+8>>2]=-999999984306749440.0;a[n+12>>2]=0.0;$a[i&127](t,n+32|0,n,n+16|0);_[e>>2]=_[r>>2];_[e+4>>2]=_[r+4>>2];_[e+8>>2]=_[r+8>>2];_[e+12>>2]=_[r+12>>2];u=n;return}function Kc(e,t,i,r,s,c){e=e|0;t=+t;i=i|0;r=r|0;s=s|0;c=c|0;var a=0,l=0,f=0,b=0,p=0,d=0.0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0,S=0,j=0,R=0,x=0,I=0;I=u;u=u+560|0;x=I+524|0;_[I>>2]=0;R=I+512+12|0;Vu(t)|0;if((O|0)<0){t=-t;S=1;k=19686}else{S=(s&2049|0)!=0&1;k=(s&2048|0)==0?(s&1|0)==0?19687:19692:19689}Vu(t)|0;j=O&2146435072;do{if(j>>>0<2146435072|(j|0)==2146435072&0<0){d=+rG(t,I)*2.0;if(d!=0.0)_[I>>2]=(_[I>>2]|0)+-1;if((c|32|0)==97){p=(c&32|0)==0?k:k+9|0;b=S|2;do{if(!(r>>>0>11|(12-r|0)==0)){t=8.0;a=12-r|0;do{a=a+-1|0;t=t*16.0}while((a|0)!=0);if((n[p>>0]|0)==45){t=-(t+(-d-t));break}else{t=d+t-t;break}}else t=d}while(0);l=_[I>>2]|0;a=(l|0)<0?0-l|0:l;a=Ll(a,((a|0)<0)<<31>>31,R)|0;if((a|0)==(R|0)){n[I+512+11>>0]=48;a=I+512+11|0}n[a+-1>>0]=(l>>31&2)+43;f=a+-2|0;n[f>>0]=c+15;a=I+524|0;do{j=~~t;l=a+1|0;n[a>>0]=o[19721+j>>0]|c&32;t=(t-+(j|0))*16.0;if((l-x|0)==1?!((s&8|0)==0&((r|0)<1&t==0.0)):0){n[l>>0]=46;a=a+2|0}else a=l}while(t!=0.0);x=a-x|0;a=(r|0)!=0&(x+-2|0)<(r|0)?r+2|0:x;sm(e,32,i,R-f+b+a|0,s);ez(e,p,b);sm(e,48,i,R-f+b+a|0,s^65536);ez(e,I+524|0,x);sm(e,48,a-x|0,0,0);ez(e,f,R-f|0);sm(e,32,i,R-f+b+a|0,s^8192);a=R-f+b+a|0;break}l=(r|0)<0?6:r;if(d!=0.0){b=(_[I>>2]|0)+-28|0;_[I>>2]=b;t=d*268435456.0}else{t=d;b=_[I>>2]|0}j=(b|0)<0?I+8|0:I+8+288|0;a=j;do{v=~~t>>>0;_[a>>2]=v;a=a+4|0;t=(t-+(v>>>0))*1.0e9}while(t!=0.0);if((b|0)>0){f=j;do{r=(b|0)<29?b:29;b=a+-4|0;if(b>>>0>=f>>>0){p=0;do{C=gt(_[b>>2]|0,0,r|0)|0;C=mv(C|0,O|0,p|0,0)|0;v=O;g=tr(C|0,v|0,1e9,0)|0;_[b>>2]=g;p=cA(C|0,v|0,1e9,0)|0;b=b+-4|0}while(b>>>0>=f>>>0);if(p){f=f+-4|0;_[f>>2]=p}}while(1){if(a>>>0<=f>>>0)break;b=a+-4|0;if(!(_[b>>2]|0))a=b;else break}b=(_[I>>2]|0)-r|0;_[I>>2]=b}while((b|0)>0)}else f=j;if((b|0)<0)do{r=0-b|0;r=(r|0)<9?r:9;if(f>>>0<a>>>0){p=0;b=f;do{v=_[b>>2]|0;_[b>>2]=(v>>>r)+p;p=U(v&(1<<r)+-1,1e9>>>r)|0;b=b+4|0}while(b>>>0<a>>>0);f=(_[f>>2]|0)==0?f+4|0:f;if(p){_[a>>2]=p;a=a+4|0}}else f=(_[f>>2]|0)==0?f+4|0:f;b=(c|32|0)==102?j:f;a=(a-b>>2|0)>(((l+25|0)/9|0)+1|0)?b+(((l+25|0)/9|0)+1<<2)|0:a;b=(_[I>>2]|0)+r|0;_[I>>2]=b}while((b|0)<0);if(f>>>0<a>>>0){b=(j-f>>2)*9|0;r=_[f>>2]|0;if(r>>>0<10)y=b;else{p=10;do{p=p*10|0;b=b+1|0}while(r>>>0>=p>>>0);y=b}}else y=0;p=l-((c|32|0)!=102?y:0)+(((l|0)!=0&(c|32|0)==103)<<31>>31)|0;if((p|0)<(((a-j>>2)*9|0)+-9|0)){b=j+4+(((p+9216|0)/9|0)+-1024<<2)|0;if((((p+9216|0)%9|0)+1|0)<9){r=((p+9216|0)%9|0)+1|0;p=10;do{p=p*10|0;r=r+1|0}while((r|0)!=9)}else p=10;m=_[b>>2]|0;h=(m>>>0)%(p>>>0)|0;r=(b+4|0)==(a|0);if(!(r&(h|0)==0)){d=(((m>>>0)/(p>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(p|0)/2|0;t=h>>>0<v>>>0?.5:r&(h|0)==(v|0)?1.0:1.5;if(S){v=(n[k>>0]|0)==45;t=v?-t:t;d=v?-d:d}_[b>>2]=m-h;if(d+t!=d){v=m-h+p|0;_[b>>2]=v;if(v>>>0>999999999)while(1){p=b+-4|0;_[b>>2]=0;if(p>>>0<f>>>0){f=f+-4|0;_[f>>2]=0}v=(_[p>>2]|0)+1|0;_[p>>2]=v;if(v>>>0>999999999)b=p;else{b=p;break}}p=(j-f>>2)*9|0;m=_[f>>2]|0;if(m>>>0>=10){r=10;do{r=r*10|0;p=p+1|0}while(m>>>0>=r>>>0)}}else p=y}else p=y;C=b+4|0;a=a>>>0>C>>>0?C:a;C=f}else{p=y;C=f}v=a;while(1){if(v>>>0<=C>>>0){g=0;break}a=v+-4|0;if(!(_[a>>2]|0))v=a;else{g=1;break}}m=0-p|0;do{if((c|32|0)==103){if((p|0)>-5?((((l|0)!=0^1)&1)+l|0)>(p|0):0){b=c+-1|0;l=(((l|0)!=0^1)&1)+l+-1-p|0}else{b=c+-2|0;l=(((l|0)!=0^1)&1)+l+-1|0}if(!(s&8)){if(g?(w=_[v+-4>>2]|0,(w|0)!=0):0)if(!((w>>>0)%10|0)){a=0;f=10;do{f=f*10|0;a=a+1|0}while(!((w>>>0)%(f>>>0)|0|0))}else a=0;else a=9;f=((v-j>>2)*9|0)+-9|0;if((b|32|0)==102){r=f-a|0;r=(r|0)>0?r:0;l=(l|0)<(r|0)?l:r;r=0;break}else{r=f+p-a|0;r=(r|0)>0?r:0;l=(l|0)<(r|0)?l:r;r=0;break}}else r=s&8}else{b=c;r=s&8}}while(0);y=l|r;f=(b|32|0)==102;if(f){h=0;a=(p|0)>0?p:0}else{a=(p|0)<0?m:p;a=Ll(a,((a|0)<0)<<31>>31,R)|0;if((R-a|0)<2)do{a=a+-1|0;n[a>>0]=48}while((R-a|0)<2);n[a+-1>>0]=(p>>31&2)+43;a=a+-2|0;n[a>>0]=b;h=a;a=R-a|0}a=S+1+l+((y|0)!=0&1)+a|0;sm(e,32,i,a,s);ez(e,k,S);sm(e,48,i,a,s^65536);if(f){p=C>>>0>j>>>0?j:C;b=p;do{f=Ll(_[b>>2]|0,0,I+524+9|0)|0;if((b|0)==(p|0)){if((f|0)==(I+524+9|0)){n[I+524+8>>0]=48;f=I+524+8|0}}else if(f>>>0>(I+524|0)>>>0){Wj(I+524|0,48,f-x|0)|0;do{f=f+-1|0}while(f>>>0>(I+524|0)>>>0)}ez(e,f,I+524+9-f|0);b=b+4|0}while(b>>>0<=j>>>0);if(y|0)ez(e,19737,1);if(b>>>0<v>>>0&(l|0)>0)while(1){f=Ll(_[b>>2]|0,0,I+524+9|0)|0;if(f>>>0>(I+524|0)>>>0){Wj(I+524|0,48,f-x|0)|0;do{f=f+-1|0}while(f>>>0>(I+524|0)>>>0)}ez(e,f,(l|0)<9?l:9);b=b+4|0;f=l+-9|0;if(!(b>>>0<v>>>0&(l|0)>9)){l=f;break}else l=f}sm(e,48,l+9|0,9,0)}else{m=g?v:C+4|0;if((l|0)>-1){r=(r|0)==0;p=C;do{f=Ll(_[p>>2]|0,0,I+524+9|0)|0;if((f|0)==(I+524+9|0)){n[I+524+8>>0]=48;f=I+524+8|0}do{if((p|0)==(C|0)){b=f+1|0;ez(e,f,1);if(r&(l|0)<1){f=b;break}ez(e,19737,1);f=b}else{if(f>>>0<=(I+524|0)>>>0)break;Wj(I+524|0,48,f+(0-x)|0)|0;do{f=f+-1|0}while(f>>>0>(I+524|0)>>>0)}}while(0);j=I+524+9-f|0;ez(e,f,(l|0)>(j|0)?j:l);l=l-j|0;p=p+4|0}while(p>>>0<m>>>0&(l|0)>-1)}sm(e,48,l+18|0,18,0);ez(e,h,R-h|0)}sm(e,32,i,a,s^8192)}else{a=S+3|0;sm(e,32,i,a,s&-65537);ez(e,k,S);ez(e,t!=t|0.0!=0.0?c&32|0?19713:19717:c&32|0?19705:19709,3);sm(e,32,i,a,s^8192)}}while(0);u=I;return((a|0)<(i|0)?i:a)|0}function Lc(e,t,i,o,s){e=e|0;t=t|0;i=i|0;o=o|0;s=s|0;var c=0,a=0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0,S=0;k=u;u=u+64|0;_[k+16>>2]=t;w=k+24+40|0;a=0;c=0;d=0;e:while(1){do{if((c|0)>-1)if((a|0)>(2147483647-c|0)){_[7016]=75;c=-1;break}else{c=a+c|0;break}}while(0);a=n[t>>0]|0;if(!(a<<24>>24)){v=87;break}else f=t;t:while(1){switch(a<<24>>24){case 37:{a=f;v=9;break t}case 0:{a=f;break t}default:{}}C=f+1|0;_[k+16>>2]=C;a=n[C>>0]|0;f=C}t:do{if((v|0)==9)while(1){v=0;if((n[f+1>>0]|0)!=37)break t;a=a+1|0;f=f+2|0;_[k+16>>2]=f;if((n[f>>0]|0)==37)v=9;else break}}while(0);a=a-t|0;if(e|0)ez(e,t,a);if(a|0){t=f;continue}b=f+1|0;a=(n[b>>0]|0)+-48|0;if(a>>>0<10){C=(n[f+2>>0]|0)==36;y=C?a:-1;d=C?1:d;b=C?f+3|0:b}else y=-1;_[k+16>>2]=b;a=n[b>>0]|0;t:do{if(((a<<24>>24)+-32|0)>>>0<32){f=0;m=a;p=(a<<24>>24)+-32|0;while(1){a=1<<p;if(!(a&75913)){a=m;break t}f=a|f;b=b+1|0;_[k+16>>2]=b;a=n[b>>0]|0;p=(a<<24>>24)+-32|0;if(p>>>0>=32)break;else m=a}}else f=0}while(0);if(a<<24>>24==42){p=b+1|0;a=(n[p>>0]|0)+-48|0;if(a>>>0<10?(n[b+2>>0]|0)==36:0){_[s+(a<<2)>>2]=10;a=_[o+((n[p>>0]|0)+-48<<3)>>2]|0;d=1;b=b+3|0}else{if(d|0){c=-1;break}if(e|0){d=(_[i>>2]|0)+(4-1)&~(4-1);a=_[d>>2]|0;_[i>>2]=d+4;d=0;b=p}else{a=0;d=0;b=p}}_[k+16>>2]=b;g=(a|0)<0;a=g?0-a|0:a;g=g?f|8192:f}else{a=dp(k+16|0)|0;if((a|0)<0){c=-1;break}g=f;b=_[k+16>>2]|0}do{if((n[b>>0]|0)==46){f=b+1|0;if((n[f>>0]|0)!=42){_[k+16>>2]=f;f=dp(k+16|0)|0;b=_[k+16>>2]|0;break}p=b+2|0;f=(n[p>>0]|0)+-48|0;if(f>>>0<10?(n[b+3>>0]|0)==36:0){_[s+(f<<2)>>2]=10;f=_[o+((n[p>>0]|0)+-48<<3)>>2]|0;b=b+4|0;_[k+16>>2]=b;break}if(d|0){c=-1;break e}if(e|0){C=(_[i>>2]|0)+(4-1)&~(4-1);f=_[C>>2]|0;_[i>>2]=C+4}else f=0;_[k+16>>2]=p;b=p}else f=-1}while(0);h=0;while(1){if(((n[b>>0]|0)+-65|0)>>>0>57){c=-1;break e}C=b+1|0;_[k+16>>2]=C;p=n[(n[b>>0]|0)+-65+(19205+(h*58|0))>>0]|0;if(((p&255)+-1|0)>>>0<8){h=p&255;b=C}else break}if(!(p<<24>>24)){c=-1;break}m=(y|0)>-1;do{if(p<<24>>24==19)if(m){c=-1;break e}else v=49;else{if(m){_[s+(y<<2)>>2]=p&255;y=o+(y<<3)|0;v=_[y+4>>2]|0;_[k>>2]=_[y>>2];_[k+4>>2]=v;v=49;break}if(!e){c=0;break e}gg(k,p&255,i)}}while(0);if((v|0)==49?(v=0,(e|0)==0):0){a=0;t=C;continue}b=n[b>>0]|0;b=(h|0)!=0&(b&15|0)==3?b&-33:b;y=g&-65537;g=(g&8192|0)==0?g:y;t:do{switch(b|0){case 110:switch((h&255)<<24>>24){case 0:{_[_[k>>2]>>2]=c;a=0;t=C;continue e}case 1:{_[_[k>>2]>>2]=c;a=0;t=C;continue e}case 2:{a=_[k>>2]|0;_[a>>2]=c;_[a+4>>2]=((c|0)<0)<<31>>31;a=0;t=C;continue e}case 3:{r[_[k>>2]>>1]=c;a=0;t=C;continue e}case 4:{n[_[k>>2]>>0]=c;a=0;t=C;continue e}case 6:{_[_[k>>2]>>2]=c;a=0;t=C;continue e}case 7:{a=_[k>>2]|0;_[a>>2]=c;_[a+4>>2]=((c|0)<0)<<31>>31;a=0;t=C;continue e}default:{a=0;t=C;continue e}}case 112:{b=120;f=f>>>0>8?f:8;t=g|8;v=61;break}case 88:case 120:{t=g;v=61;break}case 111:{t=_[k>>2]|0;b=_[k+4>>2]|0;y=lq(t,b,w)|0;h=y;p=0;m=19669;f=(g&8|0)==0|(f|0)>(w-y|0)?f:w-y+1|0;y=g;v=67;break}case 105:case 100:{t=_[k>>2]|0;b=_[k+4>>2]|0;if((b|0)<0){t=Lt(0,0,t|0,b|0)|0;b=O;_[k>>2]=t;_[k+4>>2]=b;p=1;m=19669;v=66;break t}else{p=(g&2049|0)!=0&1;m=(g&2048|0)==0?(g&1|0)==0?19669:19671:19670;v=66;break t}}case 117:{p=0;m=19669;t=_[k>>2]|0;b=_[k+4>>2]|0;v=66;break}case 99:{n[k+24+39>>0]=_[k>>2];t=k+24+39|0;p=0;m=19669;h=w;b=1;f=y;break}case 109:{b=EG(_[7016]|0)|0;v=71;break}case 115:{b=_[k>>2]|0;b=b|0?b:19679;v=71;break}case 67:{_[k+8>>2]=_[k>>2];_[k+8+4>>2]=0;_[k>>2]=k+8;h=-1;b=k+8|0;v=75;break}case 83:{t=_[k>>2]|0;if(!f){sm(e,32,a,0,g);t=0;v=84}else{h=f;b=t;v=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{a=Kc(e,+l[k>>3],a,f,g,b)|0;t=C;continue e}default:{p=0;m=19669;h=w;b=f;f=g}}}while(0);t:do{if((v|0)==61){S=_[k>>2]|0;g=_[k+4>>2]|0;h=mp(S,g,w,b&32)|0;m=(t&8|0)==0|(S|0)==0&(g|0)==0;p=m?0:2;m=m?19669:19669+(b>>4)|0;y=t;t=S;b=g;v=67}else if((v|0)==66){h=Ll(t,b,w)|0;y=g;v=67}else if((v|0)==71){v=0;S=Ki(b,f)|0;t=b;p=0;m=19669;h=(S|0)==0?b+f|0:S;b=(S|0)==0?f:S-b|0;f=y}else if((v|0)==75){v=0;m=b;t=0;f=0;while(1){p=_[m>>2]|0;if(!p)break;f=uz(k+20|0,p)|0;if((f|0)<0|f>>>0>(h-t|0)>>>0)break;t=f+t|0;if(h>>>0>t>>>0)m=m+4|0;else break}if((f|0)<0){c=-1;break e}sm(e,32,a,t,g);if(!t){t=0;v=84}else{p=0;while(1){f=_[b>>2]|0;if(!f){v=84;break t}f=uz(k+20|0,f)|0;p=f+p|0;if((p|0)>(t|0)){v=84;break t}ez(e,k+20|0,f);if(p>>>0>=t>>>0){v=84;break}else b=b+4|0}}}}while(0);if((v|0)==67){v=0;b=(t|0)!=0|(b|0)!=0;S=(f|0)!=0|b;b=((b^1)&1)+(w-h)|0;t=S?h:w;h=w;b=S?(f|0)>(b|0)?f:b:f;f=(f|0)>-1?y&-65537:y}else if((v|0)==84){v=0;sm(e,32,a,t,g^8192);a=(a|0)>(t|0)?a:t;t=C;continue}g=h-t|0;y=(b|0)<(g|0)?g:b;S=y+p|0;a=(a|0)<(S|0)?S:a;sm(e,32,a,S,f);ez(e,m,p);sm(e,48,a,S,f^65536);sm(e,48,y,g,0);ez(e,t,g);sm(e,32,a,S,f^8192);t=C}e:do{if((v|0)==87)if(!e)if(!d)c=0;else{c=1;while(1){t=_[s+(c<<2)>>2]|0;if(!t){a=0;break}gg(o+(c<<3)|0,t,i);c=c+1|0;if((c|0)>=10){c=1;break e}}while(1){t=c+1|0;if(a|0){c=-1;break e}if((t|0)>=10){c=1;break e}c=t;a=_[s+(t<<2)>>2]|0}}}while(0);u=k;return c|0}function Mc(e){e=e|0;var t=0,i=0,n=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0,d=0,m=0,h=0;if(!e)return;s=_[6893]|0;if((e+-8|0)>>>0<s>>>0)Z_();t=_[e+-4>>2]|0;if((t&3|0)==1)Z_();u=e+-8+(t&-8)|0;e:do{if(!(t&1)){n=_[e+-8>>2]|0;if(!(t&3))return;l=e+-8+(0-n)|0;a=n+(t&-8)|0;if(l>>>0<s>>>0)Z_();if((l|0)==(_[6894]|0)){e=_[u+4>>2]|0;if((e&3|0)!=3){h=l;r=a;b=l;break}_[6891]=a;_[u+4>>2]=e&-2;_[l+4>>2]=a|1;_[l+a>>2]=a;return}if(n>>>0<256){e=_[l+8>>2]|0;t=_[l+12>>2]|0;if((e|0)!=(27596+(n>>>3<<1<<2)|0)){if(e>>>0<s>>>0)Z_();if((_[e+12>>2]|0)!=(l|0))Z_()}if((t|0)==(e|0)){_[6889]=_[6889]&~(1<<(n>>>3));h=l;r=a;b=l;break}if((t|0)!=(27596+(n>>>3<<1<<2)|0)){if(t>>>0<s>>>0)Z_();if((_[t+8>>2]|0)!=(l|0))Z_();else i=t+8|0}else i=t+8|0;_[e+12>>2]=t;_[i>>2]=e;h=l;r=a;b=l;break}o=_[l+24>>2]|0;e=_[l+12>>2]|0;do{if((e|0)==(l|0)){e=_[l+16+4>>2]|0;if(!e){e=_[l+16>>2]|0;if(!e){c=0;break}else n=l+16|0}else n=l+16+4|0;while(1){t=e+20|0;i=_[t>>2]|0;if(i|0){e=i;n=t;continue}t=e+16|0;i=_[t>>2]|0;if(!i)break;else{e=i;n=t}}if(n>>>0<s>>>0)Z_();else{_[n>>2]=0;c=e;break}}else{t=_[l+8>>2]|0;if(t>>>0<s>>>0)Z_();if((_[t+12>>2]|0)!=(l|0))Z_();if((_[e+8>>2]|0)==(l|0)){_[t+12>>2]=e;_[e+8>>2]=t;c=e;break}else Z_()}}while(0);if(o){e=_[l+28>>2]|0;do{if((l|0)==(_[27860+(e<<2)>>2]|0)){_[27860+(e<<2)>>2]=c;if(!c){_[6890]=_[6890]&~(1<<e);h=l;r=a;b=l;break e}}else if(o>>>0>=(_[6893]|0)>>>0){_[o+16+(((_[o+16>>2]|0)!=(l|0)&1)<<2)>>2]=c;if(!c){h=l;r=a;b=l;break e}else break}else Z_()}while(0);t=_[6893]|0;if(c>>>0<t>>>0)Z_();_[c+24>>2]=o;e=_[l+16>>2]|0;do{if(e|0)if(e>>>0<t>>>0)Z_();else{_[c+16>>2]=e;_[e+24>>2]=c;break}}while(0);e=_[l+16+4>>2]|0;if(e)if(e>>>0<(_[6893]|0)>>>0)Z_();else{_[c+20>>2]=e;_[e+24>>2]=c;h=l;r=a;b=l;break}else{h=l;r=a;b=l}}else{h=l;r=a;b=l}}else{h=e+-8|0;r=t&-8;b=e+-8|0}}while(0);if(b>>>0>=u>>>0)Z_();i=_[u+4>>2]|0;if(!(i&1))Z_();if(!(i&2)){e=_[6894]|0;if((u|0)==(_[6895]|0)){m=(_[6892]|0)+r|0;_[6892]=m;_[6895]=h;_[h+4>>2]=m|1;if((h|0)!=(e|0))return;_[6894]=0;_[6891]=0;return}if((u|0)==(e|0)){m=(_[6891]|0)+r|0;_[6891]=m;_[6894]=b;_[h+4>>2]=m|1;_[b+m>>2]=m;return}r=(i&-8)+r|0;e:do{if(i>>>0>=256){o=_[u+24>>2]|0;e=_[u+12>>2]|0;do{if((e|0)==(u|0)){e=_[u+16+4>>2]|0;if(!e){e=_[u+16>>2]|0;if(!e){p=0;break}else n=u+16|0}else n=u+16+4|0;while(1){t=e+20|0;i=_[t>>2]|0;if(i|0){e=i;n=t;continue}t=e+16|0;i=_[t>>2]|0;if(!i)break;else{e=i;n=t}}if(n>>>0<(_[6893]|0)>>>0)Z_();else{_[n>>2]=0;p=e;break}}else{t=_[u+8>>2]|0;if(t>>>0<(_[6893]|0)>>>0)Z_();if((_[t+12>>2]|0)!=(u|0))Z_();if((_[e+8>>2]|0)==(u|0)){_[t+12>>2]=e;_[e+8>>2]=t;p=e;break}else Z_()}}while(0);if(o|0){e=_[u+28>>2]|0;do{if((u|0)==(_[27860+(e<<2)>>2]|0)){_[27860+(e<<2)>>2]=p;if(!p){_[6890]=_[6890]&~(1<<e);break e}}else if(o>>>0>=(_[6893]|0)>>>0){_[o+16+(((_[o+16>>2]|0)!=(u|0)&1)<<2)>>2]=p;if(!p)break e;else break}else Z_()}while(0);t=_[6893]|0;if(p>>>0<t>>>0)Z_();_[p+24>>2]=o;e=_[u+16>>2]|0;do{if(e|0)if(e>>>0<t>>>0)Z_();else{_[p+16>>2]=e;_[e+24>>2]=p;break}}while(0);e=_[u+16+4>>2]|0;if(e|0)if(e>>>0<(_[6893]|0)>>>0)Z_();else{_[p+20>>2]=e;_[e+24>>2]=p;break}}}else{e=_[u+8>>2]|0;t=_[u+12>>2]|0;if((e|0)!=(27596+(i>>>3<<1<<2)|0)){if(e>>>0<(_[6893]|0)>>>0)Z_();if((_[e+12>>2]|0)!=(u|0))Z_()}if((t|0)==(e|0)){_[6889]=_[6889]&~(1<<(i>>>3));break}if((t|0)!=(27596+(i>>>3<<1<<2)|0)){if(t>>>0<(_[6893]|0)>>>0)Z_();if((_[t+8>>2]|0)!=(u|0))Z_();else f=t+8|0}else f=t+8|0;_[e+12>>2]=t;_[f>>2]=e}}while(0);_[h+4>>2]=r|1;_[b+r>>2]=r;if((h|0)==(_[6894]|0)){_[6891]=r;return}}else{_[u+4>>2]=i&-2;_[h+4>>2]=r|1;_[b+r>>2]=r}t=r>>>3;if(r>>>0<256){e=_[6889]|0;if(e&1<<t){e=_[27596+(t<<1<<2)+8>>2]|0;if(e>>>0<(_[6893]|0)>>>0)Z_();else{d=e;m=27596+(t<<1<<2)+8|0}}else{_[6889]=e|1<<t;d=27596+(t<<1<<2)|0;m=27596+(t<<1<<2)+8|0}_[m>>2]=h;_[d+12>>2]=h;_[h+8>>2]=d;_[h+12>>2]=27596+(t<<1<<2);return}e=r>>>8;if(e)if(r>>>0>16777215)e=31;else{m=e<<((e+1048320|0)>>>16&8)<<(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4);e=14-(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4|(e+1048320|0)>>>16&8|(m+245760|0)>>>16&2)+(m<<((m+245760|0)>>>16&2)>>>15)|0;e=r>>>(e+7|0)&1|e<<1}else e=0;n=27860+(e<<2)|0;_[h+28>>2]=e;_[h+20>>2]=0;_[h+16>>2]=0;t=_[6890]|0;i=1<<e;do{if(t&i){t=r<<((e|0)==31?0:25-(e>>>1)|0);n=_[n>>2]|0;while(1){if((_[n+4>>2]&-8|0)==(r|0)){e=124;break}i=n+16+(t>>>31<<2)|0;e=_[i>>2]|0;if(!e){e=121;break}else{t=t<<1;n=e}}if((e|0)==121)if(i>>>0<(_[6893]|0)>>>0)Z_();else{_[i>>2]=h;_[h+24>>2]=n;_[h+12>>2]=h;_[h+8>>2]=h;break}else if((e|0)==124){e=n+8|0;t=_[e>>2]|0;m=_[6893]|0;if(t>>>0>=m>>>0&n>>>0>=m>>>0){_[t+12>>2]=h;_[e>>2]=h;_[h+8>>2]=t;_[h+12>>2]=n;_[h+24>>2]=0;break}else Z_()}}else{_[6890]=t|i;_[n>>2]=h;_[h+24>>2]=n;_[h+12>>2]=h;_[h+8>>2]=h}}while(0);h=(_[6897]|0)+-1|0;_[6897]=h;if(!h)e=28012;else return;while(1){e=_[e>>2]|0;if(!e)break;else e=e+8|0}_[6897]=-1;return}function Nc(e,t,i){e=e|0;t=t|0;i=i|0;var r=0.0,o=0.0,s=0.0,c=0,l=0,f=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0;if((n[e+180>>0]|0)==0?(n[e+48>>0]|0)!=0:0){h=+a[e+116>>2];o=+a[i>>2];G=+a[e+132>>2];r=+a[i+4>>2];W=+a[e+148>>2];S=+a[i+8>>2];y=+a[e+120>>2];O=+a[e+136>>2];H=+a[e+152>>2];g=+a[e+124>>2];T=+a[e+140>>2];C=+a[e+156>>2];w=+a[i+16>>2];k=+a[i+20>>2];j=+a[i+24>>2];D=+a[i+32>>2];v=+a[i+36>>2];R=+a[i+40>>2];f=+a[e+164>>2];s=+a[e+168>>2];M=+a[e+172>>2];I=+a[i+48>>2]+(o*f+r*s+S*M);x=w*f+k*s+j*M+ +a[i+52>>2];M=D*f+v*s+R*M+ +a[i+56>>2];a[e+824>>2]=h*o+G*r+W*S;a[e+828>>2]=o*y+r*O+S*H;a[e+832>>2]=o*g+r*T+S*C;a[e+836>>2]=0.0;a[e+840>>2]=h*w+G*k+W*j;a[e+844>>2]=y*w+O*k+H*j;a[e+848>>2]=g*w+T*k+C*j;a[e+852>>2]=0.0;a[e+856>>2]=h*D+G*v+W*R;a[e+860>>2]=y*D+O*v+H*R;a[e+864>>2]=g*D+T*v+C*R;a[e+868>>2]=0.0;a[e+872>>2]=I;a[e+876>>2]=x;a[e+880>>2]=M;a[e+884>>2]=0.0;M=+a[e+52>>2];x=+a[t>>2];I=+a[e+68>>2];R=+a[t+4>>2];C=+a[e+84>>2];v=+a[t+8>>2];T=+a[e+56>>2];D=+a[e+72>>2];g=+a[e+88>>2];H=+a[e+60>>2];O=+a[e+76>>2];y=+a[e+92>>2];W=+a[t+16>>2];G=+a[t+20>>2];h=+a[t+24>>2];j=+a[t+32>>2];k=+a[t+36>>2];w=+a[t+40>>2];S=+a[e+100>>2];r=+a[e+104>>2];o=+a[e+108>>2];c=e+856|0;l=e+840|0;s=W*S+G*r+h*o;f=H*j+O*k+y*w;p=T*j+D*k+g*w;u=M*j+I*k+C*w;d=H*W+O*G+y*h;m=T*W+D*G+g*h;h=M*W+I*G+C*h;y=x*H+R*O+v*y;g=x*T+R*D+v*g;C=M*x+I*R+C*v;v=x*S+R*r+v*o;r=j*S+k*r;o=w*o}else{h=+a[e+52>>2];o=+a[t>>2];k=+a[e+68>>2];r=+a[t+4>>2];w=+a[e+84>>2];H=+a[t+8>>2];y=+a[e+56>>2];j=+a[e+72>>2];S=+a[e+88>>2];g=+a[e+60>>2];R=+a[e+76>>2];C=+a[e+92>>2];W=+a[t+16>>2];G=+a[t+20>>2];O=+a[t+24>>2];x=+a[t+32>>2];v=+a[t+36>>2];T=+a[t+40>>2];f=+a[e+100>>2];s=+a[e+104>>2];I=+a[e+108>>2];M=+a[t+48>>2]+(o*f+r*s+H*I);D=W*f+G*s+O*I+ +a[t+52>>2];I=x*f+v*s+T*I+ +a[t+56>>2];a[e+824>>2]=h*o+k*r+w*H;a[e+828>>2]=o*y+r*j+H*S;a[e+832>>2]=o*g+r*R+H*C;a[e+836>>2]=0.0;a[e+840>>2]=h*W+k*G+w*O;a[e+844>>2]=y*W+j*G+S*O;a[e+848>>2]=g*W+R*G+C*O;a[e+852>>2]=0.0;a[e+856>>2]=h*x+k*v+w*T;a[e+860>>2]=y*x+j*v+S*T;a[e+864>>2]=g*x+R*v+C*T;a[e+868>>2]=0.0;a[e+872>>2]=M;a[e+876>>2]=D;a[e+880>>2]=I;a[e+884>>2]=0.0;I=+a[e+116>>2];D=+a[i>>2];M=+a[e+132>>2];T=+a[i+4>>2];C=+a[e+148>>2];v=+a[i+8>>2];R=+a[e+120>>2];x=+a[e+136>>2];g=+a[e+152>>2];S=+a[e+124>>2];j=+a[e+140>>2];y=+a[e+156>>2];w=+a[i+16>>2];k=+a[i+20>>2];h=+a[i+24>>2];O=+a[i+32>>2];G=+a[i+36>>2];W=+a[i+40>>2];H=+a[e+164>>2];r=+a[e+168>>2];o=+a[e+172>>2];c=e+856|0;l=e+840|0;s=w*H+k*r+h*o;f=S*O+j*G+y*W;p=R*O+x*G+g*W;u=I*O+M*G+C*W;d=S*w+j*k+y*h;m=R*w+x*k+g*h;h=I*w+M*k+C*h;y=D*S+T*j+v*y;g=D*R+T*x+v*g;C=I*D+M*T+C*v;v=D*H+T*r+v*o;t=i;r=O*H+G*r;o=W*o}W=v+ +a[t+48>>2];s=s+ +a[t+52>>2];r=o+r+ +a[t+56>>2];a[e+888>>2]=C;a[e+892>>2]=g;a[e+896>>2]=y;a[e+900>>2]=0.0;a[e+904>>2]=h;a[e+908>>2]=m;a[e+912>>2]=d;a[e+916>>2]=0.0;a[e+920>>2]=u;a[e+924>>2]=p;a[e+928>>2]=f;a[e+932>>2]=0.0;a[e+936>>2]=W;a[e+940>>2]=s;a[e+944>>2]=r;a[e+948>>2]=0.0;_[e+968>>2]=_[e+872>>2];_[e+968+4>>2]=_[e+872+4>>2];_[e+968+8>>2]=_[e+872+8>>2];_[e+968+12>>2]=_[e+872+12>>2];_[e+984>>2]=_[e+936>>2];_[e+984+4>>2]=_[e+936+4>>2];_[e+984+8>>2]=_[e+936+8>>2];_[e+984+12>>2]=_[e+936+12>>2];t=_[e+824>>2]|0;i=_[l>>2]|0;l=_[c>>2]|0;_[e+952>>2]=t;_[e+956>>2]=i;_[e+960>>2]=l;a[e+964>>2]=0.0;r=(_[b>>2]=t,+a[b>>2]);o=(_[b>>2]=i,+a[b>>2]);s=(_[b>>2]=l,+a[b>>2]);if((n[e+180>>0]|0)==0?(n[e+48>>0]|0)==0:0){l=e+984|0;c=e+968|0;H=+a[c>>2];O=+a[l>>2];O=H-O;i=c+4|0;H=+a[i>>2];i=l+4|0;G=+a[i>>2];G=H-G;c=c+8|0;H=+a[c>>2];l=l+8|0;W=+a[l>>2];W=H-W;l=e+1016|0;a[l>>2]=O;l=e+1020|0;a[l>>2]=G;l=e+1024|0;a[l>>2]=W;l=e+1028|0;a[l>>2]=0.0;H=r*O;M=o*G;M=H+M;H=s*W;H=M+H;M=r*H;D=o*H;T=s*H;I=+a[e+968>>2];M=I+M;l=e+972|0;I=+a[l>>2];D=I+D;l=e+976|0;I=+a[l>>2];T=I+T;l=e+1e3|0;a[l>>2]=M;l=e+1004|0;a[l>>2]=D;l=e+1008|0;a[l>>2]=T;l=e+1012|0;a[l>>2]=0.0;l=e+1032|0;a[l>>2]=H;l=e+828|0;c=e+844|0;i=e+860|0;H=+a[l>>2];T=+a[c>>2];D=+a[i>>2];H=H*O;T=T*G;T=H+T;D=D*W;D=T+D;i=e+1036|0;a[i>>2]=D;i=e+832|0;c=e+848|0;l=e+864|0;D=+a[i>>2];T=+a[c>>2];H=+a[l>>2];O=D*O;G=T*G;G=O+G;W=H*W;W=G+W;e=e+1040|0;a[e>>2]=W;return}l=e+968|0;c=e+984|0;H=+a[c>>2];O=+a[l>>2];O=H-O;i=c+4|0;H=+a[i>>2];i=l+4|0;G=+a[i>>2];G=H-G;c=c+8|0;H=+a[c>>2];l=l+8|0;W=+a[l>>2];W=H-W;l=e+1016|0;a[l>>2]=O;l=e+1020|0;a[l>>2]=G;l=e+1024|0;a[l>>2]=W;l=e+1028|0;a[l>>2]=0.0;H=r*O;M=o*G;M=H+M;H=s*W;H=M+H;M=r*H;D=o*H;T=s*H;I=+a[e+968>>2];M=I+M;l=e+972|0;I=+a[l>>2];D=I+D;l=e+976|0;I=+a[l>>2];T=I+T;l=e+1e3|0;a[l>>2]=M;l=e+1004|0;a[l>>2]=D;l=e+1008|0;a[l>>2]=T;l=e+1012|0;a[l>>2]=0.0;l=e+1032|0;a[l>>2]=H;l=e+828|0;c=e+844|0;i=e+860|0;H=+a[l>>2];T=+a[c>>2];D=+a[i>>2];H=H*O;T=T*G;T=H+T;D=D*W;D=T+D;i=e+1036|0;a[i>>2]=D;i=e+832|0;c=e+848|0;l=e+864|0;D=+a[i>>2];T=+a[c>>2];H=+a[l>>2];O=D*O;G=T*G;G=O+G;W=H*W;W=G+W;e=e+1040|0;a[e>>2]=W;return}function Oc(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,c=0.0,f=0.0,b=0,p=0,d=0.0,m=0.0,h=0,y=0,g=0,C=0;p=u;u=u+80|0;b=ya[_[(_[e>>2]|0)+28>>2]&127](e)|0;r=+a[e+4>>2];c=+a[e+8>>2];f=+a[e+12>>2];if((b|0)<=0){u=p;return}n=0;do{Aa[_[(_[e>>2]|0)+16>>2]&3](e,p+76|0,p+52|0,p+64|0,p+56|0,p+72|0,p+68|0,p+48|0,p+60|0,n);e:do{switch(_[p+64>>2]|0){case 0:{switch(_[p+60>>2]|0){case 2:{if((_[p+48>>2]|0)>0)i=0;else break e;do{h=(_[p+72>>2]|0)+(U(_[p+68>>2]|0,i)|0)|0;g=_[p+76>>2]|0;y=_[p+56>>2]|0;C=g+(U(y,_[h>>2]|0)|0)|0;m=c*+a[C+4>>2];d=f*+a[C+8>>2];a[p>>2]=r*+a[C>>2];a[p+4>>2]=m;a[p+8>>2]=d;a[p+12>>2]=0.0;C=g+(U(y,_[h+4>>2]|0)|0)|0;d=c*+a[C+4>>2];m=f*+a[C+8>>2];a[p+16>>2]=r*+a[C>>2];a[p+20>>2]=d;a[p+24>>2]=m;a[p+28>>2]=0.0;h=g+(U(y,_[h+8>>2]|0)|0)|0;m=c*+a[h+4>>2];d=f*+a[h+8>>2];a[p+32>>2]=r*+a[h>>2];a[p+36>>2]=m;a[p+40>>2]=d;a[p+44>>2]=0.0;$a[_[(_[t>>2]|0)+8>>2]&127](t,p,n,i);i=i+1|0}while((i|0)<(_[p+48>>2]|0));break}case 3:{if((_[p+48>>2]|0)>0)i=0;else break e;do{g=(_[p+72>>2]|0)+(U(_[p+68>>2]|0,i)|0)|0;y=_[p+76>>2]|0;C=_[p+56>>2]|0;h=y+(U(s[g>>1]|0,C)|0)|0;d=c*+a[h+4>>2];m=f*+a[h+8>>2];a[p>>2]=r*+a[h>>2];a[p+4>>2]=d;a[p+8>>2]=m;a[p+12>>2]=0.0;h=y+(U(s[g+2>>1]|0,C)|0)|0;m=c*+a[h+4>>2];d=f*+a[h+8>>2];a[p+16>>2]=r*+a[h>>2];a[p+20>>2]=m;a[p+24>>2]=d;a[p+28>>2]=0.0;C=y+(U(s[g+4>>1]|0,C)|0)|0;d=c*+a[C+4>>2];m=f*+a[C+8>>2];a[p+32>>2]=r*+a[C>>2];a[p+36>>2]=d;a[p+40>>2]=m;a[p+44>>2]=0.0;$a[_[(_[t>>2]|0)+8>>2]&127](t,p,n,i);i=i+1|0}while((i|0)<(_[p+48>>2]|0));break}case 5:{if((_[p+48>>2]|0)>0)i=0;else break e;do{g=(_[p+72>>2]|0)+(U(_[p+68>>2]|0,i)|0)|0;y=_[p+76>>2]|0;C=_[p+56>>2]|0;h=y+(U(o[g>>0]|0,C)|0)|0;d=c*+a[h+4>>2];m=f*+a[h+8>>2];a[p>>2]=r*+a[h>>2];a[p+4>>2]=d;a[p+8>>2]=m;a[p+12>>2]=0.0;h=y+(U(o[g+1>>0]|0,C)|0)|0;m=c*+a[h+4>>2];d=f*+a[h+8>>2];a[p+16>>2]=r*+a[h>>2];a[p+20>>2]=m;a[p+24>>2]=d;a[p+28>>2]=0.0;C=y+(U(o[g+2>>0]|0,C)|0)|0;d=c*+a[C+4>>2];m=f*+a[C+8>>2];a[p+32>>2]=r*+a[C>>2];a[p+36>>2]=d;a[p+40>>2]=m;a[p+44>>2]=0.0;$a[_[(_[t>>2]|0)+8>>2]&127](t,p,n,i);i=i+1|0}while((i|0)<(_[p+48>>2]|0));break}default:break e}break}case 1:{switch(_[p+60>>2]|0){case 2:{if((_[p+48>>2]|0)>0)i=0;else break e;do{C=(_[p+72>>2]|0)+(U(_[p+68>>2]|0,i)|0)|0;y=_[p+76>>2]|0;g=_[p+56>>2]|0;h=y+(U(g,_[C>>2]|0)|0)|0;d=c*+l[h+8>>3];m=f*+l[h+16>>3];a[p>>2]=r*+l[h>>3];a[p+4>>2]=d;a[p+8>>2]=m;a[p+12>>2]=0.0;h=y+(U(g,_[C+4>>2]|0)|0)|0;m=c*+l[h+8>>3];d=f*+l[h+16>>3];a[p+16>>2]=r*+l[h>>3];a[p+20>>2]=m;a[p+24>>2]=d;a[p+28>>2]=0.0;C=y+(U(g,_[C+8>>2]|0)|0)|0;d=c*+l[C+8>>3];m=f*+l[C+16>>3];a[p+32>>2]=r*+l[C>>3];a[p+36>>2]=d;a[p+40>>2]=m;a[p+44>>2]=0.0;$a[_[(_[t>>2]|0)+8>>2]&127](t,p,n,i);i=i+1|0}while((i|0)<(_[p+48>>2]|0));break}case 3:{if((_[p+48>>2]|0)>0)i=0;else break e;do{g=(_[p+72>>2]|0)+(U(_[p+68>>2]|0,i)|0)|0;y=_[p+76>>2]|0;C=_[p+56>>2]|0;h=y+(U(s[g>>1]|0,C)|0)|0;d=c*+l[h+8>>3];m=f*+l[h+16>>3];a[p>>2]=r*+l[h>>3];a[p+4>>2]=d;a[p+8>>2]=m;a[p+12>>2]=0.0;h=y+(U(s[g+2>>1]|0,C)|0)|0;m=c*+l[h+8>>3];d=f*+l[h+16>>3];a[p+16>>2]=r*+l[h>>3];a[p+20>>2]=m;a[p+24>>2]=d;a[p+28>>2]=0.0;C=y+(U(s[g+4>>1]|0,C)|0)|0;d=c*+l[C+8>>3];m=f*+l[C+16>>3];a[p+32>>2]=r*+l[C>>3];a[p+36>>2]=d;a[p+40>>2]=m;a[p+44>>2]=0.0;$a[_[(_[t>>2]|0)+8>>2]&127](t,p,n,i);i=i+1|0}while((i|0)<(_[p+48>>2]|0));break}case 5:{if((_[p+48>>2]|0)>0)i=0;else break e;do{g=(_[p+72>>2]|0)+(U(_[p+68>>2]|0,i)|0)|0;y=_[p+76>>2]|0;C=_[p+56>>2]|0;h=y+(U(o[g>>0]|0,C)|0)|0;d=c*+l[h+8>>3];m=f*+l[h+16>>3];a[p>>2]=r*+l[h>>3];a[p+4>>2]=d;a[p+8>>2]=m;a[p+12>>2]=0.0;h=y+(U(o[g+1>>0]|0,C)|0)|0;m=c*+l[h+8>>3];d=f*+l[h+16>>3];a[p+16>>2]=r*+l[h>>3];a[p+20>>2]=m;a[p+24>>2]=d;a[p+28>>2]=0.0;C=y+(U(o[g+2>>0]|0,C)|0)|0;d=c*+l[C+8>>3];m=f*+l[C+16>>3];a[p+32>>2]=r*+l[C>>3];a[p+36>>2]=d;a[p+40>>2]=m;a[p+44>>2]=0.0;$a[_[(_[t>>2]|0)+8>>2]&127](t,p,n,i);i=i+1|0}while((i|0)<(_[p+48>>2]|0));break}default:break e}break}default:{}}}while(0);ma[_[(_[e>>2]|0)+24>>2]&127](e,n);n=n+1|0}while((n|0)!=(b|0));u=p;return}function Pc(e,t,i,o,s){e=e|0;t=t|0;i=i|0;o=o|0;s=s|0;var c=0.0,l=0,f=0.0,b=0.0,p=0.0,d=0,m=0,h=0.0,y=0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0;S=u;u=u+128|0;n[e+60>>0]=i&1;if(i){h=+a[o>>2]+-1.0;C=+a[o+4>>2]+-1.0;v=+a[o+8>>2]+-1.0;a[e+4>>2]=h;a[e+8>>2]=C;a[e+12>>2]=v;a[e+16>>2]=0.0;k=+a[s>>2]+1.0;f=+a[s+4>>2]+1.0;c=+a[s+8>>2]+1.0;a[e+20>>2]=k;a[e+24>>2]=f;a[e+28>>2]=c;a[e+32>>2]=0.0;a[e+36>>2]=65533.0/(k-h);a[e+40>>2]=65533.0/(f-C);a[e+44>>2]=65533.0/(c-v);a[e+48>>2]=0.0;n[e+60>>0]=1;b=h+ +(~~((h-h)*(65533.0/(k-h)))&65535&-2&65535)/(65533.0/(k-h))+-1.0;p=C+ +(~~((C-C)*(65533.0/(f-C)))&65535&-2&65535)/(65533.0/(f-C))+-1.0;g=v+ +(~~((v-v)*(65533.0/(c-v)))&65535&-2&65535)/(65533.0/(c-v))+-1.0;if(b<h)a[e+4>>2]=b;else b=h;if(p<C){a[e+8>>2]=p;w=p}else w=C;if(g<v)a[e+12>>2]=g;else g=v;p=k-b;h=f-w;C=c-g;a[e+36>>2]=65533.0/p;a[e+40>>2]=65533.0/h;a[e+44>>2]=65533.0/C;a[e+48>>2]=0.0;p=b+ +((~~(p*(65533.0/p)+1.0)&65535|1)&65535)/(65533.0/p)+1.0;h=w+ +((~~(h*(65533.0/h)+1.0)&65535|1)&65535)/(65533.0/h)+1.0;C=g+ +((~~(C*(65533.0/C)+1.0)&65535|1)&65535)/(65533.0/C)+1.0;if(k<p)a[e+20>>2]=p;else p=k;if(f<h){a[e+24>>2]=h;f=h}if(c<C){a[e+28>>2]=C;c=C}a[e+36>>2]=65533.0/(p-b);a[e+40>>2]=65533.0/(f-w);a[e+44>>2]=65533.0/(c-g);a[e+48>>2]=0.0;_[S+96>>2]=7504;_[S+96+4>>2]=e+104;_[S+96+8>>2]=e;$a[_[(_[t>>2]|0)+8>>2]&127](t,S+96|0,e+4|0,e+20|0);i=_[e+108>>2]|0;_[S+80>>2]=0;_[S+80+4>>2]=0;_[S+80+8>>2]=0;_[S+80+12>>2]=0;l=_[e+128>>2]|0;if((l|0)<(i<<1|0)){if((_[e+132>>2]|0)<(i<<1|0)){if(!i){o=0;t=l}else{_[6293]=(_[6293]|0)+1;o=cc(i<<5|19)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}t=_[e+128>>2]|0}if((t|0)>0){s=0;do{y=o+(s<<4)|0;m=(_[e+136>>2]|0)+(s<<4)|0;_[y>>2]=_[m>>2];_[y+4>>2]=_[m+4>>2];_[y+8>>2]=_[m+8>>2];_[y+12>>2]=_[m+12>>2];s=s+1|0}while((s|0)!=(t|0))}s=_[e+136>>2]|0;if(s|0){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[e+136>>2]=0}n[e+140>>0]=1;_[e+136>>2]=o;_[e+132>>2]=i<<1;s=e+136|0}else s=e+136|0;o=l;do{y=(_[s>>2]|0)+(o<<4)|0;_[y>>2]=_[S+80>>2];_[y+4>>2]=_[S+80+4>>2];_[y+8>>2]=_[S+80+8>>2];_[y+12>>2]=_[S+80+12>>2];o=o+1|0}while((o|0)!=(i<<1|0))}_[e+128>>2]=i<<1}else{_[S+96>>2]=7524;_[S+96+4>>2]=e+64;_[S+80>>2]=-581039253;_[S+80+4>>2]=-581039253;_[S+80+8>>2]=-581039253;a[S+80+12>>2]=0.0;_[S+64>>2]=1566444395;_[S+64+4>>2]=1566444395;_[S+64+8>>2]=1566444395;a[S+64+12>>2]=0.0;$a[_[(_[t>>2]|0)+8>>2]&127](t,S+96|0,S+80|0,S+64|0);i=_[e+68>>2]|0;l=S;m=l+64|0;do{_[l>>2]=0;l=l+4|0}while((l|0)<(m|0));y=_[e+88>>2]|0;if((y|0)<(i<<1|0)){if((_[e+92>>2]|0)<(i<<1|0)){if(!i){o=0;t=y}else{_[6293]=(_[6293]|0)+1;o=cc(i<<7|19)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}t=_[e+88>>2]|0}if((t|0)>0){s=0;do{l=o+(s<<6)|0;d=(_[e+96>>2]|0)+(s<<6)|0;m=l+64|0;do{_[l>>2]=_[d>>2];l=l+4|0;d=d+4|0}while((l|0)<(m|0));s=s+1|0}while((s|0)!=(t|0))}s=_[e+96>>2]|0;if(s|0){if(n[e+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[e+96>>2]=0}n[e+100>>0]=1;_[e+96>>2]=o;_[e+92>>2]=i<<1;s=e+96|0}else s=e+96|0;o=y;do{l=(_[s>>2]|0)+(o<<6)|0;d=S;m=l+64|0;do{_[l>>2]=_[d>>2];l=l+4|0;d=d+4|0}while((l|0)<(m|0));o=o+1|0}while((o|0)!=(i<<1|0))}_[e+88>>2]=i<<1}_[e+56>>2]=0;sc(e,0,i);if(n[e+60>>0]|0?(_[e+152>>2]|0)==0:0){if(!(_[e+156>>2]|0)){_[6293]=(_[6293]|0)+1;i=cc(51)|0;if(!i)t=0;else{_[(i+4+15&-16)+-4>>2]=i;t=i+4+15&-16}o=_[e+152>>2]|0;if((o|0)>0){i=0;do{y=t+(i<<5)|0;m=(_[e+160>>2]|0)+(i<<5)|0;_[y>>2]=_[m>>2];_[y+4>>2]=_[m+4>>2];_[y+8>>2]=_[m+8>>2];_[y+12>>2]=_[m+12>>2];_[y+16>>2]=_[m+16>>2];_[y+20>>2]=_[m+20>>2];_[y+24>>2]=_[m+24>>2];_[y+28>>2]=_[m+28>>2];i=i+1|0}while((i|0)!=(o|0))}i=_[e+160>>2]|0;if(i|0){if(n[e+164>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+160>>2]=0}n[e+164>>0]=1;_[e+160>>2]=t;_[e+156>>2]=1;o=e+160|0;s=(_[e+152>>2]|0)+1|0;i=t}else{o=e+160|0;s=1;i=_[e+160>>2]|0}_[e+152>>2]=s;_[i>>2]=_[S+96>>2];_[i+4>>2]=_[S+96+4>>2];_[i+8>>2]=_[S+96+8>>2];_[i+12>>2]=_[S+96+12>>2];_[i+16>>2]=_[S+96+16>>2];_[i+20>>2]=_[S+96+20>>2];_[i+24>>2]=_[S+96+24>>2];_[i+28>>2]=_[S+96+28>>2];y=_[o>>2]|0;m=_[e+136>>2]|0;r[y>>1]=r[m>>1]|0;r[y+2>>1]=r[m+2>>1]|0;r[y+4>>1]=r[m+4>>1]|0;r[y+6>>1]=r[m+6>>1]|0;r[y+8>>1]=r[m+8>>1]|0;r[y+10>>1]=r[m+10>>1]|0;_[y+12>>2]=0;m=_[m+12>>2]|0;_[y+16>>2]=(m|0)>-1?1:0-m|0}_[e+168>>2]=_[e+152>>2];i=_[e+116>>2]|0;if(i|0){if(n[e+120>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+116>>2]=0}n[e+120>>0]=1;_[e+116>>2]=0;_[e+108>>2]=0;_[e+112>>2]=0;i=_[e+76>>2]|0;if(!i){n[e+80>>0]=1;_[e+76>>2]=0;_[e+68>>2]=0;e=e+72|0;_[e>>2]=0;u=S;return}if(n[e+80>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+76>>2]=0;n[e+80>>0]=1;_[e+76>>2]=0;_[e+68>>2]=0;e=e+72|0;_[e>>2]=0;u=S;return}function Qc(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,s=0.0,c=0.0,l=0,f=0.0,p=0.0,d=0,m=0.0,h=0,y=0,g=0,C=0.0,v=0,w=0,k=0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0,T=0,O=0.0,H=0.0,G=0.0;k=u;u=u+64|0;w=_[e>>2]|0;_[e>>2]=w+1;if((n-i|0)==1){t=_[t+12>>2]|0;n=_[e+16>>2]|0;m=+a[t+(i*36|0)>>2];s=+a[t+(i*36|0)+4>>2];x=+a[t+(i*36|0)+8>>2];R=+a[e+24>>2];m=m<R?R:m;c=+a[e+28>>2];s=s<c?c:s;C=+a[e+32>>2];x=x<C?C:x;I=+a[e+40>>2];S=+a[e+44>>2];p=+a[e+48>>2];M=+a[e+56>>2];j=+a[e+60>>2];f=+a[e+64>>2];r[n+(w<<4)>>1]=~~(((I<m?I:m)-R)*M+.5);r[n+(w<<4)+2>>1]=~~(((S<s?S:s)-c)*j+.5);r[n+(w<<4)+4>>1]=~~(((p<x?p:x)-C)*f+.5);x=+a[t+(i*36|0)+16>>2];s=+a[t+(i*36|0)+20>>2];m=+a[t+(i*36|0)+24>>2];x=x<R?R:x;s=s<c?c:s;m=m<C?C:m;r[n+(w<<4)+6>>1]=~~(M*((I<x?I:x)-R)+.5);r[n+(w<<4)+8>>1]=~~(j*((S<s?S:s)-c)+.5);r[n+(w<<4)+10>>1]=~~(f*((p<m?p:m)-C)+.5);_[n+(w<<4)+12>>2]=_[t+(i*36|0)+32>>2];u=k;return}_[k>>2]=0;_[k+4>>2]=0;_[k+8>>2]=0;_[k+12>>2]=0;if((n|0)>(i|0)){l=_[t+12>>2]|0;o=i;s=0.0;c=0.0;f=0.0;do{s=s+(+a[l+(o*36|0)+16>>2]+ +a[l+(o*36|0)>>2])*.5;c=c+(+a[l+(o*36|0)+20>>2]+ +a[l+(o*36|0)+4>>2])*.5;f=f+(+a[l+(o*36|0)+24>>2]+ +a[l+(o*36|0)+8>>2])*.5;o=o+1|0}while((o|0)!=(n|0));p=1.0/+(n-i|0);C=p*s;m=p*c;p=p*f;o=i;f=0.0;c=0.0;s=0.0;do{x=(+a[l+(o*36|0)+16>>2]+ +a[l+(o*36|0)>>2])*.5-C;I=(+a[l+(o*36|0)+20>>2]+ +a[l+(o*36|0)+4>>2])*.5-m;M=(+a[l+(o*36|0)+24>>2]+ +a[l+(o*36|0)+8>>2])*.5-p;f=x*x+f;c=I*I+c;s=M*M+s;o=o+1|0}while((o|0)!=(n|0));a[k>>2]=f;a[k+4>>2]=c;a[k+8>>2]=s;o=k;p=+(n-i|0)}else{o=k;p=+(n-i|0);f=0.0;c=0.0;s=0.0}x=1.0/(p+-1.0);I=x*f;a[o>>2]=I;M=x*c;a[k+4>>2]=M;x=x*s;a[k+8>>2]=x;v=+a[k+((I<M&1)<<2)>>2]<x?2:I<M&1;_[k+48>>2]=0;_[k+48+4>>2]=0;_[k+48+8>>2]=0;_[k+48+12>>2]=0;if((n|0)>(i|0)){l=_[t+12>>2]|0;o=i;f=0.0;c=0.0;s=0.0;do{f=(+a[l+(o*36|0)+16>>2]+ +a[l+(o*36|0)>>2])*.5+f;c=(+a[l+(o*36|0)+20>>2]+ +a[l+(o*36|0)+4>>2])*.5+c;s=(+a[l+(o*36|0)+24>>2]+ +a[l+(o*36|0)+8>>2])*.5+s;o=o+1|0}while((o|0)!=(n|0));a[k+48>>2]=f;a[k+48+4>>2]=c;a[k+48+8>>2]=s;o=k+48|0}else{o=k+48|0;f=0.0;c=0.0;s=0.0}a[o>>2]=1.0/+(n-i|0)*f;a[k+48+4>>2]=1.0/+(n-i|0)*c;a[k+48+8>>2]=1.0/+(n-i|0)*s;s=+a[k+48+(v<<2)>>2];if((n|0)>(i|0)){o=i;g=i;do{l=_[t+12>>2]|0;I=(+a[l+(g*36|0)+20>>2]+ +a[l+(g*36|0)+4>>2])*.5;M=(+a[l+(g*36|0)+24>>2]+ +a[l+(g*36|0)+8>>2])*.5;a[k+32>>2]=(+a[l+(g*36|0)+16>>2]+ +a[l+(g*36|0)>>2])*.5;a[k+32+4>>2]=I;a[k+32+8>>2]=M;a[k+32+12>>2]=0.0;if(+a[k+32+(v<<2)>>2]>s){y=l+(g*36|0)|0;_[k>>2]=_[y>>2];_[k+4>>2]=_[y+4>>2];_[k+8>>2]=_[y+8>>2];_[k+12>>2]=_[y+12>>2];h=l+(g*36|0)+16|0;_[k+16>>2]=_[h>>2];_[k+16+4>>2]=_[h+4>>2];_[k+16+8>>2]=_[h+8>>2];_[k+16+12>>2]=_[h+12>>2];h=_[l+(g*36|0)+32>>2]|0;l=l+(o*36|0)|0;d=y+36|0;do{_[y>>2]=_[l>>2];y=y+4|0;l=l+4|0}while((y|0)<(d|0));y=_[t+12>>2]|0;d=y+(o*36|0)|0;_[d>>2]=_[k>>2];_[d+4>>2]=_[k+4>>2];_[d+8>>2]=_[k+8>>2];_[d+12>>2]=_[k+12>>2];_[d+16>>2]=_[k+16>>2];_[d+20>>2]=_[k+20>>2];_[d+24>>2]=_[k+24>>2];_[d+28>>2]=_[k+28>>2];_[y+(o*36|0)+32>>2]=h;o=o+1|0}g=g+1|0}while((g|0)!=(n|0))}else o=i;if(!((o|0)>(((n-i|0)/3|0)+i|0)?(o|0)<(n+-1-((n-i|0)/3|0)|0):0))o=(n-i>>1)+i|0;a[k>>2]=3402823466385288598117041.0e14;a[k+4>>2]=3402823466385288598117041.0e14;a[k+8>>2]=3402823466385288598117041.0e14;a[k+16>>2]=-3402823466385288598117041.0e14;a[k+20>>2]=-3402823466385288598117041.0e14;a[k+24>>2]=-3402823466385288598117041.0e14;if((n|0)>(i|0)){d=_[t+12>>2]|0;l=i;m=3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;f=3402823466385288598117041.0e14;C=-3402823466385288598117041.0e14;c=-3402823466385288598117041.0e14;p=-3402823466385288598117041.0e14;do{h=d+(l*36|0)|0;T=_[(m>+a[h>>2]?h:k)>>2]|0;_[k>>2]=T;D=_[(s>+a[d+(l*36|0)+4>>2]?h:k)+4>>2]|0;_[k+4>>2]=D;h=_[(f>+a[d+(l*36|0)+8>>2]?h:k)+8>>2]|0;_[k+8>>2]=h;v=d+(l*36|0)+16|0;y=_[(C<+a[v>>2]?v:k+16|0)>>2]|0;_[k+16>>2]=y;g=_[(c<+a[d+(l*36|0)+20>>2]?v:k+16|0)+4>>2]|0;_[k+20>>2]=g;v=_[(p<+a[d+(l*36|0)+24>>2]?v:k+16|0)+8>>2]|0;_[k+24>>2]=v;l=l+1|0;m=(_[b>>2]=T,+a[b>>2]);s=(_[b>>2]=D,+a[b>>2]);f=(_[b>>2]=h,+a[b>>2]);C=(_[b>>2]=y,+a[b>>2]);c=(_[b>>2]=g,+a[b>>2]);p=(_[b>>2]=v,+a[b>>2])}while((l|0)!=(n|0))}else{C=-3402823466385288598117041.0e14;m=3402823466385288598117041.0e14;p=-3402823466385288598117041.0e14;f=3402823466385288598117041.0e14;c=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14}T=_[e+16>>2]|0;O=+a[e+24>>2];G=m<O?O:m;j=+a[e+28>>2];I=s<j?j:s;M=+a[e+32>>2];S=f<M?M:f;s=+a[e+40>>2];m=+a[e+44>>2];x=+a[e+48>>2];H=+a[e+56>>2];f=+a[e+60>>2];R=+a[e+64>>2];r[T+(w<<4)>>1]=~~(((s<G?s:G)-O)*H+.5);r[T+(w<<4)+2>>1]=~~(((m<I?m:I)-j)*f+.5);r[T+(w<<4)+4>>1]=~~(((x<S?x:S)-M)*R+.5);C=C<O?O:C;S=c<j?j:c;I=p<M?M:p;r[T+(w<<4)+6>>1]=~~(H*((s<C?s:C)-O)+.5);r[T+(w<<4)+8>>1]=~~(f*((m<S?m:S)-j)+.5);r[T+(w<<4)+10>>1]=~~(R*((x<I?x:I)-M)+.5);Qc(e,t,i,o);Qc(e,t,o,n);_[(_[e+16>>2]|0)+(w<<4)+12>>2]=w-(_[e>>2]|0);u=k;return}function Rc(e,t,i,r,o,s,c,l,f,p,u,d){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;f=+f;p=p|0;u=+u;d=+d;var m=0.0,h=0,y=0,g=0,C=0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0,E=0,q=0.0,Q=0.0;E=_[e+68>>2]|0;if((E|0)==(_[e+72>>2]|0)?(C=E|0?E<<1:1,(E|0)<(C|0)):0){if(!C){h=0;g=E}else{_[6293]=(_[6293]|0)+1;h=cc((C*152|3)+16|0)|0;if(!h)h=0;else{_[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}g=_[e+68>>2]|0}if((g|0)>0){y=0;do{oh(h+(y*152|0)|0,(_[e+76>>2]|0)+(y*152|0)|0,152)|0;y=y+1|0}while((y|0)!=(g|0))}y=_[e+76>>2]|0;if(y|0){if(n[e+80>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[y+-4>>2]|0)}_[e+76>>2]=0}n[e+80>>0]=1;_[e+76>>2]=h;_[e+72>>2]=C;h=_[e+68>>2]|0}else h=E;_[e+68>>2]=h+1;V=_[e+76>>2]|0;_[V+(E*152|0)+140>>2]=o;g=_[e+16>>2]|0;h=_[g+(i*244|0)+240>>2]|0;y=_[g+(r*244|0)+240>>2]|0;_[V+(E*152|0)+144>>2]=i;_[V+(E*152|0)+148>>2]=r;C=_[s+84>>2]|0;_[V+(E*152|0)+104>>2]=C;_[V+(E*152|0)+132>>2]=0;a[V+(E*152|0)+100>>2]=0.0;a[V+(E*152|0)+96>>2]=0.0;L=(_[b>>2]=C,+a[b>>2]);if(h|0){_[V+(E*152|0)+16>>2]=_[t>>2];_[V+(E*152|0)+16+4>>2]=_[t+4>>2];_[V+(E*152|0)+16+8>>2]=_[t+8>>2];_[V+(E*152|0)+16+12>>2]=_[t+12>>2];B=+a[c+4>>2];W=+a[V+(E*152|0)+24>>2];H=+a[c+8>>2];A=+a[V+(E*152|0)+20>>2];F=+a[V+(E*152|0)+16>>2];P=+a[c>>2];a[V+(E*152|0)>>2]=B*W-H*A;a[V+(E*152|0)+4>>2]=H*F-W*P;a[V+(E*152|0)+8>>2]=A*P-B*F;a[V+(E*152|0)+12>>2]=0.0;w=((B*W-H*A)*+a[h+324>>2]+(H*F-W*P)*+a[h+328>>2]+(A*P-B*F)*+a[h+332>>2])*+a[h+604>>2];m=((B*W-H*A)*+a[h+340>>2]+(H*F-W*P)*+a[h+344>>2]+(A*P-B*F)*+a[h+348>>2])*+a[h+608>>2];v=((B*W-H*A)*+a[h+356>>2]+(H*F-W*P)*+a[h+360>>2]+(A*P-B*F)*+a[h+364>>2])*+a[h+612>>2];a[V+(E*152|0)+64>>2]=w;a[V+(E*152|0)+68>>2]=m;a[V+(E*152|0)+72>>2]=v;a[V+(E*152|0)+76>>2]=0.0;I=F;M=A;D=W;G=B*W-H*A;W=H*F-W*P;F=A*P-B*F}else{_[V+(E*152|0)+64>>2]=0;_[V+(E*152|0)+64+4>>2]=0;_[V+(E*152|0)+64+8>>2]=0;_[V+(E*152|0)+64+12>>2]=0;_[V+(E*152|0)>>2]=0;_[V+(E*152|0)+4>>2]=0;_[V+(E*152|0)+8>>2]=0;_[V+(E*152|0)+12>>2]=0;_[V+(E*152|0)+16>>2]=0;_[V+(E*152|0)+20>>2]=0;_[V+(E*152|0)+24>>2]=0;_[V+(E*152|0)+28>>2]=0;m=0.0;v=0.0;w=0.0;I=0.0;M=0.0;D=0.0;G=0.0;W=0.0;F=0.0}if(y|0){B=-+a[t>>2];R=-+a[t+4>>2];P=-+a[t+8>>2];a[V+(E*152|0)+48>>2]=B;a[V+(E*152|0)+52>>2]=R;a[V+(E*152|0)+56>>2]=P;a[V+(E*152|0)+60>>2]=0.0;x=+a[l+4>>2];Q=+a[l+8>>2];q=+a[l>>2];a[V+(E*152|0)+32>>2]=x*P-Q*R;a[V+(E*152|0)+36>>2]=Q*B-q*P;a[V+(E*152|0)+40>>2]=q*R-x*B;a[V+(E*152|0)+44>>2]=0.0;k=((x*P-Q*R)*+a[y+324>>2]+(Q*B-q*P)*+a[y+328>>2]+(q*R-x*B)*+a[y+332>>2])*+a[y+604>>2];S=((x*P-Q*R)*+a[y+340>>2]+(Q*B-q*P)*+a[y+344>>2]+(q*R-x*B)*+a[y+348>>2])*+a[y+608>>2];j=((x*P-Q*R)*+a[y+356>>2]+(Q*B-q*P)*+a[y+360>>2]+(q*R-x*B)*+a[y+364>>2])*+a[y+612>>2];a[V+(E*152|0)+80>>2]=k;a[V+(E*152|0)+84>>2]=S;a[V+(E*152|0)+88>>2]=j;a[V+(E*152|0)+92>>2]=0.0;T=B;O=R;H=P;A=x*P-Q*R;P=Q*B-q*P;B=q*R-x*B}else{_[V+(E*152|0)+80>>2]=0;_[V+(E*152|0)+80+4>>2]=0;_[V+(E*152|0)+80+8>>2]=0;_[V+(E*152|0)+80+12>>2]=0;_[V+(E*152|0)+32>>2]=0;_[V+(E*152|0)+32+4>>2]=0;_[V+(E*152|0)+32+8>>2]=0;_[V+(E*152|0)+32+12>>2]=0;_[V+(E*152|0)+32+16>>2]=0;_[V+(E*152|0)+32+20>>2]=0;_[V+(E*152|0)+32+24>>2]=0;_[V+(E*152|0)+32+28>>2]=0;k=0.0;S=0.0;j=0.0;T=0.0;O=0.0;H=0.0;A=0.0;P=0.0;B=0.0}if(h|0){x=+a[c+8>>2];q=+a[c+4>>2];Q=+a[c>>2];v=+a[h+404>>2]+((m*x-v*q)*+a[t>>2]+(v*Q-x*w)*+a[t+4>>2]+(q*w-m*Q)*+a[t+8>>2])}else v=0.0;if(y|0){q=-k;m=-S;j=-j;R=+a[l+8>>2];x=+a[l+4>>2];Q=+a[l>>2];m=+a[y+404>>2]+((R*m-x*j)*+a[t>>2]+(Q*j-R*q)*+a[t+4>>2]+(x*q-Q*m)*+a[t+8>>2])}else m=0.0;x=f/(v+m);a[V+(E*152|0)+108>>2]=x;if(h|0){j=+a[g+(i*244|0)+192>>2];f=+a[g+(i*244|0)+196>>2];R=+a[g+(i*244|0)+200>>2];S=(+a[g+(i*244|0)+176>>2]+ +a[g+(i*244|0)+208>>2])*I+(+a[g+(i*244|0)+180>>2]+ +a[g+(i*244|0)+212>>2])*M+(+a[g+(i*244|0)+184>>2]+ +a[g+(i*244|0)+216>>2])*D}else{j=0.0;f=0.0;R=0.0;S=I*0.0+M*0.0+D*0.0}if(y|0){v=+a[g+(r*244|0)+192>>2];w=+a[g+(r*244|0)+196>>2];k=+a[g+(r*244|0)+200>>2];m=(+a[g+(r*244|0)+176>>2]+ +a[g+(r*244|0)+208>>2])*T+(+a[g+(r*244|0)+180>>2]+ +a[g+(r*244|0)+212>>2])*O+(+a[g+(r*244|0)+184>>2]+ +a[g+(r*244|0)+216>>2])*H}else{v=0.0;w=0.0;k=0.0;m=T*0.0+O*0.0+H*0.0}m=x*(u-(S+(j*G+f*W+R*F)+(m+(v*A+w*P+k*B))));if(!(_[s+120>>2]&16)){Q=0.0;Q=m+Q;p=V+(E*152|0)+112|0;a[p>>2]=Q;p=V+(E*152|0)+128|0;a[p>>2]=0.0;p=V+(E*152|0)+116|0;a[p>>2]=d;Q=-L;p=V+(E*152|0)+120|0;a[p>>2]=Q;p=V+(E*152|0)+124|0;_[p>>2]=C;return}Q=x*(-(+a[p+44>>2]*((+a[s+48>>2]-+a[s+32>>2])*+a[t>>2]+(+a[s+52>>2]-+a[s+36>>2])*+a[t+4>>2]+(+a[s+56>>2]-+a[s+40>>2])*+a[t+8>>2]))/+a[p+12>>2]);Q=m+Q;p=V+(E*152|0)+112|0;a[p>>2]=Q;p=V+(E*152|0)+128|0;a[p>>2]=0.0;p=V+(E*152|0)+116|0;a[p>>2]=d;Q=-L;p=V+(E*152|0)+120|0;a[p>>2]=Q;p=V+(E*152|0)+124|0;_[p>>2]=C;return}function Sc(e,t,i,r,o,s){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;var c=0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0,g=0.0,C=0.0,v=0,w=0.0,k=0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0.0,X=0.0,J=0.0,Y=0.0,$=0.0,ee=0,te=0.0,ie=0.0,ne=0.0,re=0,_e=0.0;re=u;u=u+32|0;G=_[e+4>>2]|0;n[G+312>>0]=0;_[G>>2]=0;n[G+356>>0]=1;_[G+292>>2]=1566444395;_[G+296>>2]=1566444395;_[G+300>>2]=1566444395;a[G+304>>2]=0.0;_[G+336>>2]=0;_[G+336+4>>2]=0;_[G+336+8>>2]=0;_[G+336+12>>2]=0;n[G+336+16>>0]=0;n[G+332>>0]=n[G+332>>0]&-16;d=+a[t+48>>2];h=+a[t+52>>2];C=+a[t+56>>2];p=+a[r+48>>2];m=+a[r+52>>2];g=+a[r+56>>2];A=+a[t>>2];Z=+a[t+4>>2];J=+a[t+8>>2];$=+a[t+16>>2];B=+a[t+20>>2];V=+a[t+24>>2];q=+a[t+32>>2];z=+a[t+36>>2];U=+a[t+40>>2];F=+a[r>>2];K=+a[r+4>>2];X=+a[r+8>>2];Y=+a[r+16>>2];P=+a[r+20>>2];L=+a[r+24>>2];E=+a[r+32>>2];Q=+a[r+36>>2];N=+a[r+40>>2];te=+a[i+48>>2]-d-(+a[o+48>>2]-p);ie=+a[i+52>>2]-h-(+a[o+52>>2]-m);ne=+a[i+56>>2]-C-(+a[o+56>>2]-g);G=_[e+8>>2]|0;k=_[(_[G>>2]|0)+64>>2]|0;a[re>>2]=A*-te+$*-ie+q*-ne;a[re+4>>2]=Z*-te+B*-ie+z*-ne;a[re+8>>2]=J*-te+V*-ie+U*-ne;a[re+12>>2]=0.0;Za[k&127](re+16|0,G,re);O=+a[re+16>>2];H=+a[re+16+4>>2];T=+a[re+16+8>>2];f=O*+a[t>>2]+H*+a[t+4>>2]+T*+a[t+8>>2]+ +a[t+48>>2];w=O*+a[t+16>>2]+H*+a[t+20>>2]+T*+a[t+24>>2]+ +a[t+52>>2];T=O*+a[t+32>>2]+H*+a[t+36>>2]+T*+a[t+40>>2]+ +a[t+56>>2];G=_[e+12>>2]|0;k=_[(_[G>>2]|0)+64>>2]|0;H=te*+a[r+4>>2]+ie*+a[r+20>>2]+ne*+a[r+36>>2];O=te*+a[r+8>>2]+ie*+a[r+24>>2]+ne*+a[r+40>>2];a[re>>2]=te*+a[r>>2]+ie*+a[r+16>>2]+ne*+a[r+32>>2];a[re+4>>2]=H;a[re+8>>2]=O;a[re+12>>2]=0.0;Za[k&127](re+16|0,G,re);O=+a[re+16>>2];H=+a[re+16+4>>2];b=+a[re+16+8>>2];f=f-(O*+a[r>>2]+H*+a[r+4>>2]+b*+a[r+8>>2]+ +a[r+48>>2]);w=w-(O*+a[r+16>>2]+H*+a[r+20>>2]+b*+a[r+24>>2]+ +a[r+52>>2]);b=T-(O*+a[r+32>>2]+H*+a[r+36>>2]+b*+a[r+40>>2]+ +a[r+56>>2]);e:do{if(f*f+w*w+b*b>9.999999747378752e-05){l=0.0;G=32;H=f;c=0;O=b;y=0;j=p;p=0.0;b=0.0;f=0.0;while(1){if(!G)break e;G=G+-1|0;k=_[e+8>>2]|0;v=_[(_[k>>2]|0)+64>>2]|0;I=-H;_e=-w;S=-O;a[re>>2]=A*I+$*_e+q*S;a[re+4>>2]=Z*I+B*_e+z*S;a[re+8>>2]=J*I+V*_e+U*S;a[re+12>>2]=0.0;Za[v&127](re+16|0,k,re);S=+a[re+16>>2];_e=+a[re+16+4>>2];I=+a[re+16+8>>2];R=d+(A*S+Z*_e+J*I);x=h+($*S+B*_e+V*I);I=C+(q*S+z*_e+U*I);k=_[e+12>>2]|0;v=_[(_[k>>2]|0)+64>>2]|0;a[re>>2]=F*H+Y*w+E*O;a[re+4>>2]=K*H+P*w+Q*O;a[re+8>>2]=X*H+L*w+N*O;a[re+12>>2]=0.0;Za[v&127](re+16|0,k,re);_e=+a[re+16>>2];S=+a[re+16+4>>2];T=+a[re+16+8>>2];M=j+(F*_e+K*S+X*T);D=m+(Y*_e+P*S+L*T);T=g+(E*_e+Q*S+N*T);S=H*(R-M)+w*(x-D)+O*(I-T);if(l>1.0){c=0;ee=25;break}if(S>0.0){f=te*H+ie*w+ne*O;if(f>=-1.4210854715202004e-14){c=0;ee=25;break}C=l-S/f;l=C;c=y;S=(1.0-C)*+a[r+48>>2]+C*+a[o+48>>2];d=(1.0-C)*+a[t+48>>2]+C*+a[i+48>>2];m=(1.0-C)*+a[r+52>>2]+C*+a[o+52>>2];h=(1.0-C)*+a[t+52>>2]+C*+a[i+52>>2];g=(1.0-C)*+a[r+56>>2]+C*+a[o+56>>2];C=(1.0-C)*+a[t+56>>2]+C*+a[i+56>>2];f=H;b=w;p=O}else S=j;y=_[e+4>>2]|0;k=_[y>>2]|0;t:do{if((k|0)>0){w=+a[y+308>>2];v=0;while(1){O=R-M-+a[y+4+(v<<4)>>2];H=x-D-+a[y+4+(v<<4)+4>>2];_e=I-T-+a[y+4+(v<<4)+8>>2];v=v+1|0;if(O*O+H*H+_e*_e<=w){v=1;break t}if((v|0)>=(k|0)){v=0;break}}}else v=0}while(0);if((+a[y+304>>2]==0.0?I-T==+a[y+300>>2]:0)?x-D==+a[y+296>>2]:0){if(!(R-M==+a[y+292>>2]|v))ee=17}else if(!v)ee=17;if((ee|0)==17){ee=0;a[y+292>>2]=R-M;a[y+296>>2]=x-D;a[y+300>>2]=I-T;a[y+304>>2]=0.0;n[y+356>>0]=1;a[y+4+(k<<4)>>2]=R-M;a[y+4+(k<<4)+4>>2]=x-D;a[y+4+(k<<4)+8>>2]=I-T;a[y+4+(k<<4)+12>>2]=0.0;k=_[y>>2]|0;a[y+84+(k<<4)>>2]=R;a[y+84+(k<<4)+4>>2]=x;a[y+84+(k<<4)+8>>2]=I;a[y+84+(k<<4)+12>>2]=0.0;k=_[y>>2]|0;a[y+164+(k<<4)>>2]=M;a[y+164+(k<<4)+4>>2]=D;a[y+164+(k<<4)+8>>2]=T;a[y+164+(k<<4)+12>>2]=0.0;_[y>>2]=(_[y>>2]|0)+1;y=_[e+4>>2]|0}k=lc(y)|0;H=+a[y+276>>2];w=+a[y+280>>2];O=+a[y+284>>2];if(!k)break e;if(!(H*H+w*w+O*O>9.999999747378752e-05))break e;else{y=_[y+288>>2]|0;j=S}}if((ee|0)==25){u=re;return c|0}}else{l=0.0;p=0.0;b=0.0;f=0.0;c=0}}while(0);a[s+164>>2]=l;l=f*f+b*b+p*p;if(!(l>=1.4210854715202004e-14)){_[s+132>>2]=0;_[s+132+4>>2]=0;_[s+132+8>>2]=0;_[s+132+12>>2]=0;l=0.0;f=0.0;b=0.0}else{_e=1.0/+W(+l);l=f*_e;f=b*_e;b=p*_e;a[s+132>>2]=l;a[s+136>>2]=f;a[s+140>>2]=b;_[s+144>>2]=c}if(te*l+ie*f+ne*b>=-+a[s+172>>2]){s=0;u=re;return s|0}e=_[e+4>>2]|0;lc(e)|0;To(s+148|0,e+260|0,16)|0;s=1;u=re;return s|0}function Tc(e){e=e|0;var t=0,i=0,r=0,o=0,s=0,c=0,l=0.0,f=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0,w=0,k=0,S=0,j=0,R=0;k=u;u=u+96|0;ua[_[(_[e>>2]|0)+112>>2]&511](e);if(eD(e+72|0)|0){Ad(e+72|0);w=_[e>>2]|0;w=w+116|0;w=_[w>>2]|0;ua[w&511](e);qx(k+32|0,e+72|0);w=e+20|0;_[w>>2]=_[k+32>>2];_[w+4>>2]=_[k+32+4>>2];_[w+8>>2]=_[k+32+8>>2];_[w+12>>2]=_[k+32+12>>2];_[w+16>>2]=_[k+32+16>>2];_[w+20>>2]=_[k+32+20>>2];_[w+24>>2]=_[k+32+24>>2];_[w+28>>2]=_[k+32+28>>2];u=k;return}n[k+64+16>>0]=1;w=k+64+12|0;_[w>>2]=0;v=k+64+4|0;_[v>>2]=0;_[k+64+8>>2]=0;t=_[e+144>>2]|0;t=ya[_[(_[t>>2]|0)+12>>2]&127](t)|0;_[k>>2]=0;_[k+4>>2]=0;_[k+8>>2]=0;_[k+12>>2]=0;_[k+16>>2]=0;_[k+20>>2]=0;_[k+24>>2]=0;_[k+28>>2]=0;if((t|0)>0){_[6293]=(_[6293]|0)+1;i=cc((t*36|3)+16|0)|0;if(!i)r=0;else{_[(i+4+15&-16)+-4>>2]=i;r=i+4+15&-16}s=_[v>>2]|0;o=_[w>>2]|0;if((s|0)<=0){if(o|0)c=9}else{i=0;do{c=r+(i*36|0)|0;S=o+(i*36|0)|0;_[c>>2]=_[S>>2];_[c+4>>2]=_[S+4>>2];_[c+8>>2]=_[S+8>>2];_[c+12>>2]=_[S+12>>2];c=r+(i*36|0)+16|0;S=o+(i*36|0)+16|0;_[c>>2]=_[S>>2];_[c+4>>2]=_[S+4>>2];_[c+8>>2]=_[S+8>>2];_[c+12>>2]=_[S+12>>2];_[r+(i*36|0)+32>>2]=_[o+(i*36|0)+32>>2];i=i+1|0}while((i|0)!=(s|0));c=9}if((c|0)==9){if(n[k+64+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[w>>2]=0}n[k+64+16>>0]=1;_[w>>2]=r;_[k+64+8>>2]=t;_[r>>2]=_[k>>2];_[r+4>>2]=_[k+4>>2];_[r+8>>2]=_[k+8>>2];_[r+12>>2]=_[k+12>>2];S=r+16|0;_[S>>2]=_[k+16>>2];_[S+4>>2]=_[k+16+4>>2];_[S+8>>2]=_[k+16+8>>2];_[S+12>>2]=_[k+16+12>>2];_[r+32>>2]=0;if((t|0)!=1){i=1;do{S=_[w>>2]|0;c=S+(i*36|0)|0;_[c>>2]=_[k>>2];_[c+4>>2]=_[k+4>>2];_[c+8>>2]=_[k+8>>2];_[c+12>>2]=_[k+12>>2];c=S+(i*36|0)+16|0;_[c>>2]=_[k+16>>2];_[c+4>>2]=_[k+16+4>>2];_[c+8>>2]=_[k+16+8>>2];_[c+12>>2]=_[k+16+12>>2];_[S+(i*36|0)+32>>2]=0;i=i+1|0}while((i|0)!=(t|0))}_[v>>2]=t;i=0;r=_[w>>2]|0;do{t=_[e+144>>2]|0;Za[_[(_[t>>2]|0)+16>>2]&127](t,i,r+(i*36|0)|0);r=_[w>>2]|0;_[r+(i*36|0)+32>>2]=i;i=i+1|0;t=_[v>>2]|0}while((i|0)<(t|0))}else _[v>>2]=t;a[k>>2]=3402823466385288598117041.0e14;a[k+4>>2]=3402823466385288598117041.0e14;a[k+8>>2]=3402823466385288598117041.0e14;a[k+16>>2]=-3402823466385288598117041.0e14;a[k+20>>2]=-3402823466385288598117041.0e14;a[k+24>>2]=-3402823466385288598117041.0e14;if((t|0)>0){r=_[w>>2]|0;i=0;C=-3402823466385288598117041.0e14;l=3402823466385288598117041.0e14;f=3402823466385288598117041.0e14;p=3402823466385288598117041.0e14;y=-3402823466385288598117041.0e14;g=-3402823466385288598117041.0e14;do{o=r+(i*36|0)|0;R=_[(l>+a[o>>2]?o:k)>>2]|0;_[k>>2]=R;j=_[(f>+a[r+(i*36|0)+4>>2]?o:k)+4>>2]|0;_[k+4>>2]=j;o=_[(p>+a[r+(i*36|0)+8>>2]?o:k)+8>>2]|0;_[k+8>>2]=o;S=r+(i*36|0)+16|0;s=_[(y<+a[S>>2]?S:k+16|0)>>2]|0;_[k+16>>2]=s;c=_[(g<+a[r+(i*36|0)+20>>2]?S:k+16|0)+4>>2]|0;_[k+20>>2]=c;S=_[(C<+a[r+(i*36|0)+24>>2]?S:k+16|0)+8>>2]|0;_[k+24>>2]=S;i=i+1|0;l=(_[b>>2]=R,+a[b>>2]);f=(_[b>>2]=j,+a[b>>2]);p=(_[b>>2]=o,+a[b>>2]);y=(_[b>>2]=s,+a[b>>2]);g=(_[b>>2]=c,+a[b>>2]);C=(_[b>>2]=S,+a[b>>2])}while((i|0)!=(t|0));h=l+-1.0;m=f+-1.0;d=p+-1.0;p=y+1.0;f=g+1.0;l=C+1.0}else{h=3402823466385288598117041.0e14;m=3402823466385288598117041.0e14;d=3402823466385288598117041.0e14;p=-3402823466385288598117041.0e14;f=-3402823466385288598117041.0e14;l=-3402823466385288598117041.0e14}a[e+96>>2]=h;a[e+100>>2]=m;a[e+104>>2]=d;a[e+108>>2]=0.0;a[e+112>>2]=p;a[e+116>>2]=f;a[e+120>>2]=l;a[e+124>>2]=0.0;a[e+128>>2]=65535.0/(p-h);a[e+132>>2]=65535.0/(f-m);a[e+136>>2]=65535.0/(l-d);a[e+140>>2]=0.0;_[e+72>>2]=0;s=t<<1;o=_[e+80>>2]|0;if((o|0)<(s|0)){if((_[e+84>>2]|0)<(s|0)){if(!t){t=0;r=o}else{_[6293]=(_[6293]|0)+1;t=cc(t<<5|19)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}r=_[e+80>>2]|0}if((r|0)>0){i=0;do{R=t+(i<<4)|0;j=(_[e+88>>2]|0)+(i<<4)|0;_[R>>2]=_[j>>2];_[R+4>>2]=_[j+4>>2];_[R+8>>2]=_[j+8>>2];_[R+12>>2]=_[j+12>>2];i=i+1|0}while((i|0)!=(r|0))}i=_[e+88>>2]|0;if(i|0){if(n[e+92>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+88>>2]=0}n[e+92>>0]=1;_[e+88>>2]=t;_[e+84>>2]=s;i=e+88|0}else i=e+88|0;t=o;do{R=_[i>>2]|0;j=R+(t<<4)|0;_[j>>2]=_[k>>2];_[j+4>>2]=_[k+4>>2];_[j+8>>2]=_[k+8>>2];_[R+(t<<4)+12>>2]=0;t=t+1|0}while((t|0)!=(s|0));t=_[v>>2]|0}_[e+80>>2]=s;Qc(e+72|0,k+64|0,0,t);t=_[w>>2]|0;if(t|0){if(n[k+64+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[w>>2]=0}R=_[e>>2]|0;R=R+116|0;R=_[R>>2]|0;ua[R&511](e);qx(k+32|0,e+72|0);R=e+20|0;_[R>>2]=_[k+32>>2];_[R+4>>2]=_[k+32+4>>2];_[R+8>>2]=_[k+32+8>>2];_[R+12>>2]=_[k+32+12>>2];_[R+16>>2]=_[k+32+16>>2];_[R+20>>2]=_[k+32+20>>2];_[R+24>>2]=_[k+32+24>>2];_[R+28>>2]=_[k+32+28>>2];u=k;return}function Uc(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0;k=u;u=u+80|0;n[k+16>>0]=1;_[k+12>>2]=0;_[k+4>>2]=0;_[k+8>>2]=0;n[k+36>>0]=1;_[k+32>>2]=0;_[k+24>>2]=0;_[k+28>>2]=0;n[k+56>>0]=1;_[k+52>>2]=0;_[k+44>>2]=0;_[k+48>>2]=0;n[k+76>>0]=1;_[k+72>>2]=0;_[k+64>>2]=0;_[k+68>>2]=0;i=_[e+8>>2]|0;if((i|0)<=0){li(k);u=k;return}r=0;p=0;c=0;s=0;b=0;while(1){h=_[(_[(_[e+16>>2]|0)+(r<<2)>>2]|0)+192>>2]|0;m=((h+~(h<<15)|0)>>>10^h+~(h<<15))*9|0;m=((m>>>6^m)+~((m>>>6^m)<<11)|0)>>>16^(m>>>6^m)+~((m>>>6^m)<<11);o=m&p+-1;l=o>>>0<c>>>0;e:do{if(l){c=_[s+(o<<2)>>2]|0;if((c|0)!=-1){f=_[k+72>>2]|0;while(1){if((h|0)==(_[f+(c<<3)>>2]|0)){d=9;break}a=_[b+(c<<2)>>2]|0;if((a|0)==-1)break;else c=a}if((d|0)==9?(d=0,(_[k+52>>2]|0)+(c<<2)|0):0){c=p;o=b;break}if(!l){d=16;break}}i=_[s+(o<<2)>>2]|0;if((i|0)!=-1){c=_[k+72>>2]|0;while(1){if((h|0)==(_[c+(i<<3)>>2]|0))break;i=_[b+(i<<2)>>2]|0;if((i|0)==-1){d=16;break e}}_[(_[k+52>>2]|0)+(i<<2)>>2]=h;i=p;o=b;d=74}else d=16}else d=16}while(0);if((d|0)==16){d=0;b=_[k+44>>2]|0;if((b|0)==(p|0)){i=p|0?p<<1:1;if((p|0)<(i|0)){if((i|0)!=0?(_[6293]=(_[6293]|0)+1,w=cc((i<<2|3)+16|0)|0,(w|0)!=0):0){_[(w+4+15&-16)+-4>>2]=w;c=w+4+15&-16}else c=0;if((p|0)>0){s=0;do{_[c+(s<<2)>>2]=_[(_[k+52>>2]|0)+(s<<2)>>2];s=s+1|0}while((s|0)!=(p|0))}s=_[k+52>>2]|0;if(s|0){if(n[k+56>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[k+52>>2]=0}n[k+56>>0]=1;_[k+52>>2]=c;_[k+48>>2]=i;s=p}else{s=p;i=p}}else{s=b;i=p}_[(_[k+52>>2]|0)+(s<<2)>>2]=h;_[k+44>>2]=s+1;s=_[k+64>>2]|0;if((s|0)==(_[k+68>>2]|0)?(y=s|0?s<<1:1,(s|0)<(y|0)):0){if((y|0)!=0?(_[6293]=(_[6293]|0)+1,g=cc((y<<3|3)+16|0)|0,(g|0)!=0):0){_[(g+4+15&-16)+-4>>2]=g;c=g+4+15&-16}else c=0;if((s|0)>0){i=0;do{a=(_[k+72>>2]|0)+(i<<3)|0;l=_[a+4>>2]|0;f=c+(i<<3)|0;_[f>>2]=_[a>>2];_[f+4>>2]=l;i=i+1|0}while((i|0)!=(s|0))}i=_[k+72>>2]|0;if(i|0){if(n[k+76>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[k+72>>2]=0}n[k+76>>0]=1;_[k+72>>2]=c;_[k+68>>2]=y;s=_[k+64>>2]|0;i=_[k+48>>2]|0}f=(_[k+72>>2]|0)+(s<<3)|0;_[f>>2]=h;_[f+4>>2]=0;_[k+64>>2]=s+1;if((p|0)<(i|0)){f=_[k+4>>2]|0;do{if((f|0)<(i|0)){if((_[k+8>>2]|0)<(i|0)){if((i|0)!=0?(_[6293]=(_[6293]|0)+1,C=cc((i<<2|3)+16|0)|0,(C|0)!=0):0){_[(C+4+15&-16)+-4>>2]=C;o=C+4+15&-16}else o=0;c=_[k+12>>2]|0;if((f|0)>0){s=0;do{_[o+(s<<2)>>2]=_[c+(s<<2)>>2];s=s+1|0}while((s|0)!=(f|0));if(n[k+16>>0]|0)d=51}else if(!((c|0)==0|(n[k+16>>0]|0)==0))d=51;if((d|0)==51){d=0;_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}n[k+16>>0]=1;_[k+12>>2]=o;_[k+8>>2]=i}else o=_[k+12>>2]|0;l=i<<2;Wj(o+(f<<2)|0,0,l-(f<<2)|0)|0;_[k+4>>2]=i;a=_[k+24>>2]|0;if((a|0)<(i|0)){if((_[k+28>>2]|0)<(i|0)){if((i|0)!=0?(_[6293]=(_[6293]|0)+1,v=cc((l|3)+16|0)|0,(v|0)!=0):0){_[(v+4+15&-16)+-4>>2]=v;o=v+4+15&-16}else o=0;c=_[k+32>>2]|0;if((a|0)>0){s=0;do{_[o+(s<<2)>>2]=_[c+(s<<2)>>2];s=s+1|0}while((s|0)!=(a|0));if(n[k+36>>0]|0)d=63}else if(!((c|0)==0|(n[k+36>>0]|0)==0))d=63;if((d|0)==63){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}n[k+36>>0]=1;_[k+32>>2]=o;_[k+28>>2]=i}else o=_[k+32>>2]|0;Wj(o+(a<<2)|0,0,l-(a<<2)|0)|0}_[k+24>>2]=i;if((i|0)>0){Wj(_[k+12>>2]|0,-1,l|0)|0;Wj(_[k+32>>2]|0,-1,l|0)|0}if((f|0)<=0){i=_[k+48>>2]|0;break}s=_[k+72>>2]|0;c=_[k+12>>2]|0;a=_[k+32>>2]|0;i=_[k+48>>2]|0;o=0;do{d=_[s+(o<<3)>>2]|0;d=((d+~(d<<15)|0)>>>10^d+~(d<<15))*9|0;d=c+(((((d>>>6^d)+~((d>>>6^d)<<11)|0)>>>16^(d>>>6^d)+~((d>>>6^d)<<11))&i+-1)<<2)|0;_[a+(o<<2)>>2]=_[d>>2];_[d>>2]=o;o=o+1|0}while((o|0)!=(f|0))}}while(0);o=m&i+-1}s=_[k+12>>2]|0;d=s+(o<<2)|0;o=_[k+32>>2]|0;_[o+(b<<2)>>2]=_[d>>2];_[d>>2]=b;d=74}if((d|0)==74){d=0;ma[_[(_[h>>2]|0)+60>>2]&127](h,t);c=i;i=_[e+8>>2]|0}r=r+1|0;if((r|0)>=(i|0))break;p=c;c=_[k+4>>2]|0;b=o}if((i|0)>0)o=0;else{li(k);u=k;return}do{r=_[(_[e+16>>2]|0)+(o<<2)>>2]|0;switch(_[r+252>>2]|0){case 64:case 1:{ma[_[(_[r>>2]|0)+24>>2]&127](r,t);i=_[e+8>>2]|0;break}default:{}}o=o+1|0}while((o|0)<(i|0));li(k);u=k;return}function Vc(e,t,i,r,o){e=e|0;t=t|0;i=+i;r=+r;o=+o;var s=0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0,S=0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0;S=u;u=u+240|0;b=+a[e+136>>2]+r;p=+a[e+140>>2]+o;a[e+152>>2]=+a[e+132>>2]+i;a[e+156>>2]=b;a[e+160>>2]=p;a[e+164>>2]=0.0;_[S+176>>2]=1065353216;m=S+176+4|0;_[m>>2]=0;_[m+4>>2]=0;_[m+8>>2]=0;_[m+12>>2]=0;_[S+176+20>>2]=1065353216;h=S+176+24|0;_[h>>2]=0;_[h+4>>2]=0;_[h+8>>2]=0;_[h+12>>2]=0;_[S+176+40>>2]=1065353216;y=S+176+44|0;_[y>>2]=0;_[y+4>>2]=0;_[y+8>>2]=0;_[y+12>>2]=0;_[y+16>>2]=0;_[S+112>>2]=1065353216;g=S+112+4|0;_[g>>2]=0;_[g+4>>2]=0;_[g+8>>2]=0;_[g+12>>2]=0;_[S+112+20>>2]=1065353216;C=S+112+24|0;_[C>>2]=0;_[C+4>>2]=0;_[C+8>>2]=0;_[C+12>>2]=0;_[S+112+40>>2]=1065353216;v=S+112+44|0;_[v>>2]=0;_[v+4>>2]=0;_[v+8>>2]=0;_[v+12>>2]=0;_[v+16>>2]=0;p=1.0;d=10;while(1){if((d|0)<=0){k=29;break}d=d+-1|0;_[S+176+48>>2]=_[e+132>>2];_[S+176+48+4>>2]=_[e+132+4>>2];_[S+176+48+8>>2]=_[e+132+8>>2];_[S+176+48+12>>2]=_[e+132+12>>2];_[S+112+48>>2]=_[e+152>>2];_[S+112+48+4>>2]=_[e+152+4>>2];_[S+112+48+8>>2]=_[e+152+8>>2];_[S+112+48+12>>2]=_[e+152+12>>2];f=+a[e+132>>2]-+a[e+152>>2];b=+a[e+136>>2]-+a[e+156>>2];i=+a[e+140>>2]-+a[e+160>>2];j=+a[e+168>>2];c=+a[e+172>>2];R=+a[e+176>>2];o=+a[e+180>>2];x=j*(2.0/(j*j+c*c+R*R+o*o));r=c*(2.0/(j*j+c*c+R*R+o*o));l=R*(2.0/(j*j+c*c+R*R+o*o));a[S+176>>2]=1.0-(c*r+R*l);a[m>>2]=j*r-o*l;a[S+176+8>>2]=j*l+o*r;a[S+176+12>>2]=0.0;a[S+176+16>>2]=j*r+o*l;a[S+176+20>>2]=1.0-(j*x+R*l);a[h>>2]=c*l-o*x;a[S+176+28>>2]=0.0;a[S+176+32>>2]=j*l-o*r;a[S+176+36>>2]=c*l+o*x;a[S+176+40>>2]=1.0-(j*x+c*r);a[y>>2]=0.0;r=+a[e+184>>2];c=+a[e+188>>2];x=+a[e+192>>2];j=+a[e+196>>2];o=r*(2.0/(r*r+c*c+x*x+j*j));l=c*(2.0/(r*r+c*c+x*x+j*j));R=x*(2.0/(r*r+c*c+x*x+j*j));a[S+112>>2]=1.0-(c*l+x*R);a[g>>2]=r*l-j*R;a[S+112+8>>2]=r*R+j*l;a[S+112+12>>2]=0.0;a[S+112+16>>2]=r*l+j*R;a[S+112+20>>2]=1.0-(r*o+x*R);a[C>>2]=c*R-j*o;a[S+112+28>>2]=0.0;a[S+112+32>>2]=r*R-j*l;a[S+112+36>>2]=c*R+j*o;a[S+112+40>>2]=1.0-(r*o+c*l);a[v>>2]=0.0;s=_[e+8>>2]|0;a[S+4>>2]=1.0;_[S+80>>2]=0;_[S+16>>2]=0;_[S+16+4>>2]=0;_[S+16+8>>2]=0;_[S+16+12>>2]=0;_[S+16+16>>2]=0;_[S+16+20>>2]=0;_[S+16+24>>2]=0;_[S+16+28>>2]=0;_[S>>2]=3356;_[S+84>>2]=s;a[S+88>>2]=f;a[S+92>>2]=b;a[S+96>>2]=i;a[S+100>>2]=0.0;a[S+104>>2]=0.0;s=_[s+188>>2]|0;_[S+8>>2]=_[s+4>>2];_[S+12>>2]=_[s+8>>2];s=_[e+12>>2]|0;i=+Da[_[(_[s>>2]|0)+48>>2]&15](s);s=_[e+12>>2]|0;pa[_[(_[s>>2]|0)+44>>2]&31](s,i+ +a[e+64>>2]);if(!((((((((((((+a[S+176>>2]==+a[S+112>>2]?+a[S+176+16>>2]==+a[S+112+16>>2]:0)?+a[S+176+32>>2]==+a[S+112+32>>2]:0)?+a[m>>2]==+a[g>>2]:0)?+a[S+176+20>>2]==+a[S+112+20>>2]:0)?+a[S+176+36>>2]==+a[S+112+36>>2]:0)?+a[S+176+8>>2]==+a[S+112+8>>2]:0)?+a[h>>2]==+a[C>>2]:0)?+a[S+176+40>>2]==+a[S+112+40>>2]:0)?+a[S+176+60>>2]==+a[S+112+60>>2]:0)?+a[S+176+56>>2]==+a[S+112+56>>2]:0)?+a[S+176+52>>2]==+a[S+112+52>>2]:0)?+a[S+176+48>>2]==+a[S+112+48>>2]:0))k=16;do{if((k|0)==16){k=0;s=_[e+12>>2]|0;if(!(n[e+250>>0]|0)){zd(t,s,S+176|0,S+112|0,S,+a[t+56>>2]);break}else{bd(_[e+8>>2]|0,s,S+176|0,S+112|0,S,+a[t+56>>2]);break}}}while(0);s=_[e+12>>2]|0;pa[_[(_[s>>2]|0)+44>>2]&31](s,i);x=+a[S+4>>2];p=p-x;if((x<1.0?(w=_[e+8>>2]|0,(_[w+204>>2]&4|0)==0):0)?xa[_[(_[e>>2]|0)+56>>2]&63](e,w,_[S+80>>2]|0)|0:0){i=+a[e+152>>2];l=+a[e+132>>2];o=+a[e+156>>2];f=+a[e+136>>2];c=+a[e+160>>2];b=+a[e+140>>2];r=+W(+((i-l)*(i-l)+(o-f)*(o-f)+(c-b)*(c-b)));if(r>1.1920928955078125e-07){M=+a[S+48>>2];j=+a[S+52>>2];D=+a[S+56>>2];x=((i-l)*(1.0/r)*M+(o-f)*(1.0/r)*j+(c-b)*(1.0/r)*D)*2.0;I=(i-l)*(1.0/r)-M*x;R=(o-f)*(1.0/r)-j*x;o=(c-b)*(1.0/r)-D*x;c=1.0/+W(+(o*o+(I*I+R*R)));_[e+152>>2]=_[e+132>>2];_[e+152+4>>2]=_[e+132+4>>2];_[e+152+8>>2]=_[e+132+8>>2];_[e+152+12>>2]=_[e+132+12>>2];i=r*(c*I-M*(D*c*o+(M*c*I+j*c*R)))+ +a[e+152>>2];a[e+152>>2]=i;x=r*(c*R-j*(D*c*o+(M*c*I+j*c*R)))+ +a[e+156>>2];a[e+156>>2]=x;c=r*(c*o-D*(D*c*o+(M*c*I+j*c*R)))+ +a[e+160>>2];a[e+160>>2]=c;r=x}else r=o;o=i-l;r=r-f;i=c-b;if(!(o*o+r*r+i*i>1.1920928955078125e-07)){k=26;break}D=1.0/+W(+(o*o+r*r+i*i));if(+a[e+84>>2]*o*D+r*D*+a[e+88>>2]+i*D*+a[e+92>>2]<=0.0){k=26;break}}else{_[e+132>>2]=_[e+152>>2];_[e+132+4>>2]=_[e+152+4>>2];_[e+132+8>>2]=_[e+152+8>>2];_[e+132+12>>2]=_[e+152+12>>2]}if(!(p>.009999999776482582)){k=29;break}}if((k|0)==26){u=S;return}else if((k|0)==29){u=S;return}}function Wc(e,t,i,r,o,c,l){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;c=c|0;l=l|0;var f=0,b=0,p=0,d=0,m=0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,W=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0,K=0.0,Z=0.0,X=0.0,J=0,Y=0;Y=u;u=u+32|0;m=_[e+16>>2]|0;X=+a[e+56>>2];Z=+a[e+60>>2];K=+a[e+64>>2];j=+a[e+24>>2];R=+a[e+28>>2];x=+a[e+32>>2];Q=j+ +(s[m+(o<<4)+6>>1]|0)/X;z=R+ +(s[m+(o<<4)+8>>1]|0)/Z;N=x+ +(s[m+(o<<4)+10>>1]|0)/K;d=_[t+16>>2]|0;C=+a[t+56>>2];v=+a[t+60>>2];S=+a[t+64>>2];D=+a[t+24>>2];h=+(s[d+(c<<4)>>1]|0)/C+D;M=+a[t+28>>2];y=+(s[d+(c<<4)+2>>1]|0)/v+M;I=+a[t+32>>2];g=+(s[d+(c<<4)+4>>1]|0)/S+I;C=D+ +(s[d+(c<<4)+6>>1]|0)/C;v=M+ +(s[d+(c<<4)+8>>1]|0)/v;S=I+ +(s[d+(c<<4)+10>>1]|0)/S;j=(Q+(+(s[m+(o<<4)>>1]|0)/X+j))*.5;R=(z+(+(s[m+(o<<4)+2>>1]|0)/Z+R))*.5;x=(N+(+(s[m+(o<<4)+4>>1]|0)/K+x))*.5;a[Y+16>>2]=Q-j;a[Y+16+4>>2]=z-R;a[Y+16+8>>2]=N-x;a[Y+16+12>>2]=0.0;K=C-(C+h)*.5;Z=v-(v+y)*.5;X=S-(S+g)*.5;I=+a[r+16>>2];M=+a[r+20>>2];D=+a[r+24>>2];T=+a[r>>2]+((C+h)*.5*I+(v+y)*.5*M+(S+g)*.5*D)-j;a[Y>>2]=T;O=+a[r+64>>2];w=+a[r+68>>2];k=+a[r+72>>2];if(+G(+T)>Q-j+(O*K+w*Z+k*X)){u=Y;return}H=+a[r+32>>2];W=+a[r+36>>2];F=+a[r+40>>2];A=+a[r+4>>2]+((C+h)*.5*H+(v+y)*.5*W+(S+g)*.5*F)-R;a[Y+4>>2]=A;P=+a[r+80>>2];B=+a[r+84>>2];L=+a[r+88>>2];if(+G(+A)>z-R+(P*K+B*Z+L*X)){u=Y;return}q=+a[r+48>>2];V=+a[r+52>>2];E=+a[r+56>>2];h=+a[r+8>>2]+((C+h)*.5*q+(v+y)*.5*V+(S+g)*.5*E)-x;a[Y+8>>2]=h;C=+a[r+96>>2];y=+a[r+100>>2];g=+a[r+104>>2];if(+G(+h)>N-x+(C*K+y*Z+g*X)){u=Y;return}if(+G(+(T*I+A*H+h*q))>K+((Q-j)*O+(z-R)*P+(N-x)*C)){u=Y;return}if(+G(+(T*M+A*W+h*V))>Z+((Q-j)*w+(z-R)*B+(N-x)*y)){u=Y;return}f=+G(+(T*D+A*F+h*E))>X+((Q-j)*k+(z-R)*L+(N-x)*g);do{if(f|l^1){if(f){u=Y;return}}else{m=0;while(1){f=m+1|0;d=(f|0)==3?0:f;l=(m+2|0)%3|0;b=(m|0)==0&1;p=(m|0)==2?1:2;y=+a[Y+(l<<2)>>2];g=+a[Y+(d<<2)>>2];C=+a[Y+16+(b<<2)>>2];v=+a[Y+16+(p<<2)>>2];if(+G(+(y*+a[r+16+(d<<4)>>2]-g*+a[r+16+(l<<4)>>2]))>C*+a[r+64+(p<<4)>>2]+v*+a[r+64+(b<<4)>>2]+Z*k+X*w){U=42;break}h=+a[r+64+(m<<4)>>2];if(+G(+(y*+a[r+16+(d<<4)+4>>2]-g*+a[r+16+(l<<4)+4>>2]))>C*+a[r+64+(p<<4)+4>>2]+v*+a[r+64+(b<<4)+4>>2]+K*k+X*h){U=41;break}if(+G(+(y*+a[r+16+(d<<4)+8>>2]-g*+a[r+16+(l<<4)+8>>2]))>C*+a[r+64+(p<<4)+8>>2]+v*+a[r+64+(b<<4)+8>>2]+K*w+Z*h){U=40;break}if((f|0)>=3){U=13;break}m=f;k=+a[r+64+(f<<4)+8>>2];w=+a[r+64+(f<<4)+4>>2]}if((U|0)==13)break;else if((U|0)==40){u=Y;return}else if((U|0)==41){u=Y;return}else if((U|0)==42){u=Y;return}}}while(0);d=_[(_[e+16>>2]|0)+(o<<4)+12>>2]|0;m=_[(_[t+16>>2]|0)+(c<<4)+12>>2]|0;if((d|0)<=-1)if((m|0)>-1){Wc(e,t,i,r,o+1|0,c,0);J=_[(_[e+16>>2]|0)+(o+1<<4)+12>>2]|0;Wc(e,t,i,r,(J|0)>-1?o+2|0:o+1-J|0,c,0);u=Y;return}else{Wc(e,t,i,r,o+1|0,c+1|0,0);U=_[(_[t+16>>2]|0)+(c+1<<4)+12>>2]|0;Wc(e,t,i,r,o+1|0,(U|0)>-1?c+2|0:c+1-U|0,0);U=_[(_[e+16>>2]|0)+(o+1<<4)+12>>2]|0;Wc(e,t,i,r,(U|0)>-1?o+2|0:o+1-U|0,c+1|0,0);U=_[(_[e+16>>2]|0)+(o+1<<4)+12>>2]|0;J=_[(_[t+16>>2]|0)+(c+1<<4)+12>>2]|0;Wc(e,t,i,r,(U|0)>-1?o+2|0:o+1-U|0,(J|0)>-1?c+2|0:c+1-J|0,0);u=Y;return}if((m|0)<=-1){Wc(e,t,i,r,o,c+1|0,0);J=_[(_[t+16>>2]|0)+(c+1<<4)+12>>2]|0;Wc(e,t,i,r,o,(J|0)>-1?c+2|0:c+1-J|0,0);u=Y;return}f=_[i+4>>2]|0;if((f|0)==(_[i+8>>2]|0)?(J=f|0?f<<1:1,(f|0)<(J|0)):0){if(!J)p=0;else{_[6293]=(_[6293]|0)+1;f=cc((J<<3|3)+16|0)|0;if(!f)f=0;else{_[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}p=f;f=_[i+4>>2]|0}b=_[i+12>>2]|0;if((f|0)<=0)if(!b)f=i+16|0;else U=26;else{l=0;do{_[p+(l<<3)>>2]=_[b+(l<<3)>>2];_[p+(l<<3)+4>>2]=_[b+(l<<3)+4>>2];l=l+1|0}while((l|0)!=(f|0));U=26}if((U|0)==26){if(n[i+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[b+-4>>2]|0)}_[i+12>>2]=0;f=i+16|0}n[f>>0]=1;_[i+12>>2]=p;_[i+8>>2]=J;f=_[i+4>>2]|0}J=_[i+12>>2]|0;_[J+(f<<3)>>2]=d;_[J+(f<<3)+4>>2]=m;_[i+4>>2]=f+1;u=Y;return}function Xc(e,t,i){e=e|0;t=t|0;i=i|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0;R=+a[e+48>>2];s=+a[t>>2];x=+a[e+64>>2];c=+a[t+4>>2];O=+a[e+80>>2];d=+a[t+8>>2];y=+a[e+52>>2];h=+a[e+68>>2];m=+a[e+84>>2];w=+a[e+56>>2];T=+a[e+72>>2];k=+a[e+88>>2];v=+a[t+16>>2];C=+a[t+20>>2];g=+a[t+24>>2];D=+a[t+32>>2];I=+a[t+36>>2];M=+a[t+40>>2];l=+a[e+96>>2];o=+a[e+100>>2];j=+a[e+104>>2];S=+a[t+48>>2]+(s*l+c*o+d*j);r=v*l+C*o+g*j+ +a[t+52>>2];j=D*l+I*o+M*j+ +a[t+56>>2];a[e+1064>>2]=R*s+x*c+O*d;a[e+1068>>2]=s*y+c*h+d*m;a[e+1072>>2]=s*w+c*T+d*k;a[e+1076>>2]=0.0;a[e+1080>>2]=R*v+x*C+O*g;a[e+1084>>2]=y*v+h*C+m*g;a[e+1088>>2]=w*v+T*C+k*g;a[e+1092>>2]=0.0;a[e+1096>>2]=R*D+x*I+O*M;a[e+1100>>2]=y*D+h*I+m*M;a[e+1104>>2]=w*D+T*I+k*M;a[e+1108>>2]=0.0;a[e+1112>>2]=S;a[e+1116>>2]=r;a[e+1120>>2]=j;a[e+1124>>2]=0.0;j=+a[e+112>>2];r=+a[i>>2];S=+a[e+128>>2];M=+a[i+4>>2];k=+a[e+144>>2];I=+a[i+8>>2];T=+a[e+116>>2];D=+a[e+132>>2];w=+a[e+148>>2];m=+a[e+120>>2];h=+a[e+136>>2];y=+a[e+152>>2];O=+a[i+16>>2];x=+a[i+20>>2];R=+a[i+24>>2];g=+a[i+32>>2];C=+a[i+36>>2];v=+a[i+40>>2];d=+a[e+160>>2];c=+a[e+164>>2];s=+a[e+168>>2];o=+a[i+48>>2]+(r*d+M*c+I*s);l=O*d+x*c+R*s+ +a[i+52>>2];s=g*d+C*c+v*s+ +a[i+56>>2];a[e+1128>>2]=j*r+S*M+k*I;a[e+1132>>2]=r*T+M*D+I*w;a[e+1136>>2]=r*m+M*h+I*y;a[e+1140>>2]=0.0;a[e+1144>>2]=j*O+S*x+k*R;a[e+1148>>2]=T*O+D*x+w*R;a[e+1152>>2]=m*O+h*x+y*R;a[e+1156>>2]=0.0;a[e+1160>>2]=j*g+S*C+k*v;a[e+1164>>2]=T*g+D*C+w*v;a[e+1168>>2]=m*g+h*C+y*v;a[e+1172>>2]=0.0;a[e+1176>>2]=o;a[e+1180>>2]=l;a[e+1184>>2]=s;a[e+1188>>2]=0.0;o=o-+a[e+1112>>2];l=l-+a[e+1116>>2];s=s-+a[e+1120>>2];w=+a[e+1084>>2];D=+a[e+1104>>2];T=+a[e+1088>>2];k=+a[e+1100>>2];S=+a[e+1096>>2];j=+a[e+1080>>2];R=+a[e+1064>>2];x=+a[e+1068>>2];O=+a[e+1072>>2];I=1.0/((w*D-T*k)*R+x*(T*S-D*j)+(k*j-w*S)*O);M=(k*j-w*S)*I;r=s*(T*x-w*O)*I+(o*(w*D-T*k)*I+l*(k*O-D*x)*I);c=s*(j*O-T*R)*I+(o*(T*S-D*j)*I+l*(D*R-S*O)*I);l=s*(w*R-j*x)*I+(o*M+l*(S*x-k*R)*I);a[e+1256>>2]=r;a[e+1260>>2]=c;a[e+1264>>2]=l;a[e+1268>>2]=0.0;a[e+840>>2]=r;o=+a[e+680>>2];s=+a[e+696>>2];do{if(!(o>s)){if(o>r){_[e+856>>2]=2;r=r-o;break}if(s<r){_[e+856>>2]=1;r=r-s;break}else{_[e+856>>2]=0;r=0.0;break}}else{_[e+856>>2]=0;r=0.0}}while(0);a[e+824>>2]=r;a[e+844>>2]=c;r=+a[e+684>>2];o=+a[e+700>>2];do{if(!(r>o)){if(r>c){_[e+860>>2]=2;r=c-r;break}if(o<c){_[e+860>>2]=1;r=c-o;break}else{_[e+860>>2]=0;r=0.0;break}}else{_[e+860>>2]=0;r=0.0}}while(0);a[e+828>>2]=r;a[e+848>>2]=l;r=+a[e+688>>2];o=+a[e+704>>2];do{if(!(r>o)){if(r>l){_[e+864>>2]=2;r=l-r;break}if(o<l){_[e+864>>2]=1;r=l-o;break}else{_[e+864>>2]=0;r=0.0;break}}else{_[e+864>>2]=0;r=0.0}}while(0);a[e+832>>2]=r;p=+a[e+1128>>2];u=+a[e+1144>>2];d=+a[e+1160>>2];o=+a[e+1132>>2];s=+a[e+1148>>2];c=+a[e+1164>>2];l=(w*D-T*k)*I*o+(k*O-D*x)*I*s+(T*x-w*O)*I*c;f=o*(T*S-D*j)*I+(D*R-S*O)*I*s+(j*O-T*R)*I*c;b=d*(w*R-j*x)*I+(p*M+u*(S*x-k*R)*I);r=M*+a[e+1136>>2]+(S*x-k*R)*I*+a[e+1152>>2]+(w*R-j*x)*I*(m*g+h*C+y*v);do{if(b<1.0)if(b>-1.0){a[e+1192>>2]=+q(+-(o*M+(S*x-k*R)*I*s+(w*R-j*x)*I*c),+r);r=b<-1.0?-1.0:b;a[e+1196>>2]=+V(+(r>1.0?1.0:r));r=+q(+-(d*(j*O-T*R)*I+(p*(T*S-D*j)*I+u*(D*R-S*O)*I)),+(d*(T*x-w*O)*I+(p*(w*D-T*k)*I+u*(k*O-D*x)*I)));break}else{a[e+1192>>2]=-+q(+l,+f);a[e+1196>>2]=-1.5707963705062866;r=0.0;break}else{a[e+1192>>2]=+q(+l,+f);a[e+1196>>2]=1.5707963705062866;r=0.0}}while(0);a[e+1200>>2]=r;a[e+1236>>2]=0.0;k=D*(p*D-d*O)-T*(u*O-p*T);S=O*(u*O-p*T)-D*(d*T-u*D);j=T*(d*T-u*D)-O*(p*D-d*O);a[e+1220>>2]=0.0;x=u*(u*O-p*T)-d*(p*D-d*O);I=d*(d*T-u*D)-p*(u*O-p*T);M=p*(p*D-d*O)-u*(d*T-u*D);a[e+1252>>2]=0.0;R=1.0/+W(+(k*k+S*S+j*j));a[e+1208>>2]=k*R;a[e+1212>>2]=S*R;a[e+1216>>2]=j*R;R=1.0/+W(+((d*T-u*D)*(d*T-u*D)+(p*D-d*O)*(p*D-d*O)+(u*O-p*T)*(u*O-p*T)));a[e+1224>>2]=(d*T-u*D)*R;a[e+1228>>2]=(p*D-d*O)*R;a[e+1232>>2]=(u*O-p*T)*R;O=1.0/+W(+(x*x+I*I+M*M));a[e+1240>>2]=x*O;a[e+1244>>2]=I*O;a[e+1248>>2]=M*O;if(!(n[e+1301>>0]|0))return;T=+a[(_[e+28>>2]|0)+404>>2];O=+a[(_[e+32>>2]|0)+404>>2];n[e+1280>>0]=(T<1.1920928955078125e-07|O<1.1920928955078125e-07)&1;O=T+O>0.0?O/(T+O):.5;a[e+1272>>2]=O;a[e+1276>>2]=1.0-O;return}function Yc(e,t,i,r,o,s,c,l,f,b,p,u,d){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;f=f|0;b=b|0;p=p|0;u=u|0;d=d|0;var m=0.0,h=0.0,y=0.0,g=0,C=0,v=0.0,w=0.0,k=0,S=0.0,j=0,R=0.0,x=0.0,I=0.0;g=U(_[f+24>>2]|0,b)|0;switch(_[t+84>>2]|0){case 4:{j=u|0?c:o;b=u|0?l:s;m=+a[p>>2];y=+a[p+4>>2];S=+a[p+8>>2];S=+a[j>>2]*m+ +a[j+4>>2]*y+ +a[j+8>>2]*S-(m*+a[b>>2]+y*+a[b+4>>2]+S*+a[b+8>>2]);Ig(e,i,r,f,g,p,u,d);y=u|0?-1.0:1.0;m=y*+a[f>>2]*+a[t+12>>2]*+a[t+72>>2];b=(_[f+28>>2]|0)+(g<<2)|0;a[b>>2]=m;h=m-S*+a[t+12>>2];if(u|0){if(h>0.0?(v=-(S*+a[t+8>>2]),m<v):0)a[b>>2]=v}else if(h<0.0?(w=-(S*+a[t+8>>2]),m>w):0)a[b>>2]=w;a[(_[f+36>>2]|0)+(g<<2)>>2]=u|0?0.0:-3402823466385288598117041.0e14;a[(_[f+40>>2]|0)+(g<<2)>>2]=u|0?3402823466385288598117041.0e14:0.0;_[(_[f+32>>2]|0)+(g<<2)>>2]=_[t+16>>2];C=(_[f+24>>2]|0)+g|0;Ig(e,i,r,f,C,p,u,d);m=y*+a[f>>2]*+a[t+12>>2]*+a[t+76>>2];b=(_[f+28>>2]|0)+(C<<2)|0;a[b>>2]=m;h=m-S*+a[t+12>>2];if(u|0){if(h<0.0?(R=-(S*+a[t+8>>2]),m>R):0)a[b>>2]=R}else if(h>0.0?(x=-(S*+a[t+8>>2]),m<x):0)a[b>>2]=x;a[(_[f+36>>2]|0)+(C<<2)>>2]=u|0?-3402823466385288598117041.0e14:0.0;a[(_[f+40>>2]|0)+(C<<2)>>2]=u|0?0.0:3402823466385288598117041.0e14;b=2;k=t+16|0;g=f+32|0;j=18;break}case 3:{Ig(e,i,r,f,g,p,u,d);a[(_[f+28>>2]|0)+(g<<2)>>2]=(u|0?-1.0:1.0)*+a[f>>2]*+a[t+12>>2]*+a[t+72>>2];a[(_[f+36>>2]|0)+(g<<2)>>2]=-3402823466385288598117041.0e14;a[(_[f+40>>2]|0)+(g<<2)>>2]=3402823466385288598117041.0e14;b=1;k=t+16|0;C=g;g=f+32|0;j=18;break}default:b=0}if((j|0)==18){_[(_[g>>2]|0)+(C<<2)>>2]=_[k>>2];g=(_[f+24>>2]|0)+C|0}do{if(!(n[t+28>>0]|0))C=b;else{if(!(n[t+40>>0]|0)){Ig(e,i,r,f,g,p,u,d);S=+a[t+32>>2];m=u|0?S:-S;h=+a[t+80>>2];y=+a[t>>2];v=+a[t+4>>2];w=+a[f>>2]*+a[t+20>>2];do{if(!(y>v))if(!(y==v)){if(m/w<0.0)if(h>=y?y-m/w>h:0){m=(y-h)/(m/w);break}else{m=h<y?0.0:1.0;break}if(m/w>0.0)if(h<=v?v-m/w<h:0){m=(v-h)/(m/w);break}else{m=h>v?0.0:1.0;break}else m=0.0}else m=0.0;else m=1.0}while(0);a[(_[f+28>>2]|0)+(g<<2)>>2]=m*S;a[(_[f+36>>2]|0)+(g<<2)>>2]=-+a[t+36>>2];_[(_[f+40>>2]|0)+(g<<2)>>2]=_[t+36>>2];_[(_[f+32>>2]|0)+(g<<2)>>2]=_[t+24>>2];g=(_[f+24>>2]|0)+g|0;b=b+1|0;if(!(n[t+28>>0]|0)){C=b;break}if(!(n[t+40>>0]|0)){C=b;break}else j=t+80|0}else j=t+80|0;h=+a[t+44>>2];m=+a[j>>2]-h;if(u|0){h=m>3.1415927410125732?h+6.2831854820251465:h;m=m>3.1415927410125732?m+-6.2831854820251465:m;if(m<-3.1415927410125732){m=m+6.2831854820251465;h=h+-6.2831854820251465}}Ig(e,i,r,f,g,p,u,d);k=m<0.0;S=+a[t+32>>2];S=k?-S:S;do{if(m!=0.0){y=+a[t>>2];w=+a[t+4>>2];C=m>0.0;if(y>w){v=C?h:-3402823466385288598117041.0e14;y=k?h:3402823466385288598117041.0e14}else{v=C&h>y?h:y;y=k&h<w?h:w}m=+a[j>>2];h=+a[f>>2]*+a[t+20>>2];if(!(v>y))if(!(v==y)){if(-S/h<0.0)if(m>=v?v- -S/h>m:0){m=(v-m)/(-S/h);break}else{m=m<v?0.0:1.0;break}if(-S/h>0.0)if(m<=y?y- -S/h<m:0){m=(y-m)/(-S/h);break}else{m=m>y?0.0:1.0;break}else m=0.0}else m=0.0;else m=1.0}else m=0.0}while(0);a[(_[f+28>>2]|0)+(g<<2)>>2]=(u|0?-1.0:1.0)*S*m;a[(_[f+36>>2]|0)+(g<<2)>>2]=-+a[t+36>>2];_[(_[f+40>>2]|0)+(g<<2)>>2]=_[t+36>>2];_[(_[f+32>>2]|0)+(g<<2)>>2]=_[t+24>>2];C=b+1|0;g=(_[f+24>>2]|0)+g|0}}while(0);if(!(n[t+48>>0]|0)){f=C;return f|0}S=+a[t+80>>2]-+a[t+68>>2];Ig(e,i,r,f,g,p,u,d);v=1.0/+a[f>>2];w=+a[t+60>>2];m=+a[t+52>>2];c=u|0?c:o;l=u|0?l:s;x=+a[p>>2];h=+a[p+4>>2];y=+a[p+8>>2];y=+a[c>>2]*x+ +a[c+4>>2]*h+ +a[c+8>>2]*y-(x*+a[l>>2]+h*+a[l+4>>2]+y*+a[l+8>>2]);h=1.0/+a[(_[e+28>>2]|0)+404>>2];x=1.0/+a[(_[e+32>>2]|0)+404>>2];h=h>x?x:h;x=+W(+(m/h));if((n[t+56>>0]|0)!=0&v*x>.25)m=1.0/v/v*.0625*h;I=u|0?-1.0:1.0;R=v*I*y*(w*v>h&(n[t+64>>0]|0)!=0?h/v:w);x=v*S*m-R;a[(_[f+28>>2]|0)+(g<<2)>>2]=y+I*x;m=x<-R?x:-R;y=x<-R?-R:x;b=_[f+40>>2]|0;if(u|0){h=-m;m=-y>0.0?0.0:-y}else{h=y;m=m>0.0?0.0:m}a[(_[f+36>>2]|0)+(g<<2)>>2]=m;a[b+(g<<2)>>2]=h<0.0?0.0:h;a[(_[f+32>>2]|0)+(g<<2)>>2]=0.0;f=C+1|0;return f|0}function Zc(e,t){e=e|0;t=+t;var i=0,r=0,o=0.0,s=0,c=0.0,l=0.0,f=0.0,b=0.0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0.0,k=0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0;D=u;u=u+480|0;i=_[e+332>>2]|0;if((_[e+324>>2]|0)>0){r=0;do{v=_[e+24>>2]|0;ma[_[(_[v>>2]|0)+16>>2]&127](v,_[i+(r<<2)>>2]|0);r=r+1|0;i=_[e+332>>2]|0}while((r|0)<(_[e+324>>2]|0))}if(i|0){if(n[e+336>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+332>>2]=0}n[e+336>>0]=1;_[e+332>>2]=0;_[e+324>>2]=0;_[e+328>>2]=0;m=_[e+248>>2]|0;if((m|0)<=0){u=D;return}h=_[e+256>>2]|0;y=D+416+48|0;g=D+256+28|0;C=D+312+48|0;p=0;do{v=_[h+(p<<2)>>2]|0;a[v+268>>2]=1.0;switch(_[v+220>>2]|0){case 2:case 5:break;default:if(((((_[v+204>>2]&3|0)==0?(Ue(v+4|0,+a[v+372>>2],+a[v+376>>2],+a[v+380>>2],v+388|0,t,D+416|0),S=+a[y>>2],j=S-+a[v+52>>2],R=+a[D+416+52>>2],x=R-+a[v+56>>2],I=+a[D+416+56>>2],M=I-+a[v+60>>2],n[e+44>>0]|0):0)?(b=+a[v+276>>2],b*b!=0.0?b*b<j*j+x*x+M*M:0):0)?(_[(_[v+192>>2]|0)+4>>2]|0)<20:0)?(_[5834]=(_[5834]|0)+1,s=_[e+68>>2]|0,s=ya[_[(_[s>>2]|0)+36>>2]&127](s)|0,d=_[e+24>>2]|0,a[D+312+4>>2]=1.0,_[D+312+16>>2]=_[v+52>>2],_[D+312+16+4>>2]=_[v+52+4>>2],_[D+312+16+8>>2]=_[v+52+8>>2],_[D+312+16+12>>2]=_[v+52+12>>2],_[D+312+32>>2]=_[y>>2],_[D+312+32+4>>2]=_[y+4>>2],_[D+312+32+8>>2]=_[y+8>>2],_[D+312+32+12>>2]=_[y+12>>2],_[D+312+80>>2]=0,_[D+312>>2]=4152,_[D+312+84>>2]=v,_[D+312+92>>2]=s,_[D+312+96>>2]=d,d=_[v+272>>2]|0,_[D+256+8>>2]=0,_[D+256+12>>2]=-1,_[D+256>>2]=7676,_[D+256+4>>2]=8,_[D+256+16>>2]=1065353216,_[D+256+20>>2]=1065353216,_[D+256+24>>2]=1065353216,_[g>>2]=0,_[g+4>>2]=0,_[g+8>>2]=0,_[g+12>>2]=0,_[g+16>>2]=0,_[D+256+32>>2]=d,_[D+256+48>>2]=d,a[D+256+52>>2]=0.0,_[D+312+88>>2]=_[e+56>>2],d=_[v+188>>2]|0,_[D+312+8>>2]=_[d+4>>2],_[D+312+12>>2]=_[d+8>>2],_[D+192+48>>2]=_[y>>2],_[D+192+48+4>>2]=_[y+4>>2],_[D+192+48+8>>2]=_[y+8>>2],_[D+192+48+12>>2]=_[y+12>>2],_[D+192>>2]=_[v+4>>2],_[D+192+4>>2]=_[v+4+4>>2],_[D+192+8>>2]=_[v+4+8>>2],_[D+192+12>>2]=_[v+4+12>>2],_[D+192+16>>2]=_[v+20>>2],_[D+192+16+4>>2]=_[v+20+4>>2],_[D+192+16+8>>2]=_[v+20+8>>2],_[D+192+16+12>>2]=_[v+20+12>>2],_[D+192+32>>2]=_[v+36>>2],_[D+192+32+4>>2]=_[v+36+4>>2],_[D+192+32+8>>2]=_[v+36+8>>2],_[D+192+32+12>>2]=_[v+36+12>>2],zd(e,D+256|0,v+4|0,D+192|0,D+312|0,0.0),w=+a[D+312+4>>2],w<1.0):0){o=w*(S-+a[v+52>>2]);c=w*(R-+a[v+56>>2]);f=w*(I-+a[v+60>>2]);b=-(c*+a[D+312+52>>2])-o*+a[C>>2]-f*+a[D+312+56>>2];d=_[e+24>>2]|0;d=xa[_[(_[d>>2]|0)+12>>2]&63](d,v,_[D+312+80>>2]|0)|0;r=_[e+324>>2]|0;if((r|0)==(_[e+328>>2]|0)?(k=r|0?r<<1:1,(r|0)<(k|0)):0){if(!k)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((k<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}r=_[e+324>>2]|0}if((r|0)>0){s=0;do{_[i+(s<<2)>>2]=_[(_[e+332>>2]|0)+(s<<2)>>2];s=s+1|0}while((s|0)!=(r|0))}s=_[e+332>>2]|0;if(s){if(n[e+336>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0);r=_[e+324>>2]|0}_[e+332>>2]=0}n[e+336>>0]=1;_[e+332>>2]=i;_[e+328>>2]=k;i=r}else i=r;_[(_[e+332>>2]|0)+(i<<2)>>2]=d;_[e+324>>2]=i+1;l=o+ +a[v+52>>2];c=c+ +a[v+56>>2];o=f+ +a[v+60>>2];i=_[D+312+80>>2]|0;V=+a[i+4>>2];L=+a[i+20>>2];B=+a[i+36>>2];P=+a[i+8>>2];A=+a[i+24>>2];F=+a[i+40>>2];W=+a[i+12>>2];H=+a[i+28>>2];T=+a[i+44>>2];G=-+a[i+52>>2];O=-+a[i+56>>2];f=-+a[i+60>>2];_[D>>2]=0;_[D+4>>2]=0;_[D+8>>2]=0;_[D+12>>2]=0;a[D+16>>2]=l*V+c*L+o*B+(V*G+L*O+B*f);a[D+20>>2]=l*P+c*A+o*F+(P*G+A*O+F*f);a[D+24>>2]=l*W+c*H+o*T+(W*G+H*O+T*f);a[D+28>>2]=0.0;_[D+64>>2]=_[C>>2];_[D+64+4>>2]=_[C+4>>2];_[D+64+8>>2]=_[C+8>>2];_[D+64+12>>2]=_[C+12>>2];a[D+80>>2]=b;_[D+84>>2]=0;_[D+84+4>>2]=0;_[D+84+8>>2]=0;_[D+84+12>>2]=0;i=D+116|0;r=i+44|0;do{_[i>>2]=0;i=i+4|0}while((i|0)<(r|0));s=Ee(d,D)|0;a[d+4+(s*192|0)+96>>2]=0.0;V=+a[v+228>>2]*+a[(_[D+312+80>>2]|0)+228>>2];V=V<-10.0?-10.0:V;a[d+4+(s*192|0)+84>>2]=V>10.0?10.0:V;_[d+4+(s*192|0)+48>>2]=_[v+52>>2];_[d+4+(s*192|0)+48+4>>2]=_[v+52+4>>2];_[d+4+(s*192|0)+48+8>>2]=_[v+52+8>>2];_[d+4+(s*192|0)+48+12>>2]=_[v+52+12>>2];a[d+4+(s*192|0)+32>>2]=l;a[d+4+(s*192|0)+36>>2]=c;a[d+4+(s*192|0)+40>>2]=o;a[d+4+(s*192|0)+44>>2]=0.0}}p=p+1|0}while((p|0)<(m|0));u=D;return}function _c(e,t,i,n,o,c,l,f){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;c=c|0;l=l|0;f=f|0;var b=0,p=0,u=0,d=0.0,m=0,h=0,y=0.0,g=0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0,R=0.0,x=0.0,I=0,M=0,D=0,T=0,O=0;v=+a[e+8>>2];k=+a[e+12>>2];R=+a[e+16>>2];w=+a[e+40>>2];d=(+a[t>>2]-v)*w;S=+a[e+44>>2];y=(+a[t+4>>2]-k)*S;x=+a[e+48>>2];C=(+a[t+8>>2]-R)*x;if(!(d<=0.0)){g=r[e+6>>1]|0;g=(!(d>=+(g&65535))?~~d&65535:g)&r[e+4>>1]}else g=0;if(!(y<=0.0)){h=r[e+6>>1]|0;h=(!(y>=+(h&65535))?~~y&65535:h)&r[e+4>>1]}else h=0;if(!(C<=0.0)){m=r[e+6>>1]|0;m=(!(C>=+(m&65535))?~~C&65535:m)&r[e+4>>1]}else m=0;C=(+a[i>>2]-v)*w;y=(+a[i+4>>2]-k)*S;d=(+a[i+8>>2]-R)*x;if(!(C<=0.0)){u=r[e+6>>1]|0;u=(!(C>=+(u&65535))?~~C&65535:u)&r[e+4>>1]|1}else u=1;if(!(y<=0.0)){p=r[e+6>>1]|0;p=(!(y>=+(p&65535))?~~y&65535:p)&r[e+4>>1]|1}else p=1;if(!(d<=0.0)){b=r[e+6>>1]|0;b=(!(d>=+(b&65535))?~~d&65535:b)&r[e+4>>1]|1}else b=1;M=r[e+64>>1]|0;I=_[e+60>>2]|0;r[e+64>>1]=r[I+((M&65535)<<6)+48>>1]|0;j=(r[e+56>>1]|0)+1<<16>>16;r[e+56>>1]=j;_[I+((M&65535)<<6)+12>>2]=M&65535;_[I+((M&65535)<<6)>>2]=o;_[I+((M&65535)<<6)+4>>2]=c;_[I+((M&65535)<<6)+8>>2]=l;D=(j&65535)<<1&65534;r[I+54>>1]=(s[I+54>>1]|0)+2;T=_[e+68>>2]|0;O=s[T+(D+-1<<2)>>1]|s[T+(D+-1<<2)+2>>1]<<16;r[T+((D|1)<<2)>>1]=O;r[T+((D|1)<<2)+2>>1]=O>>>16;T=_[e+68>>2]|0;r[T+(D+-1<<2)>>1]=g;r[T+(D+-1<<2)+2>>1]=M;r[T+(D<<2)>>1]=u;r[T+(D<<2)+2>>1]=M;r[I+((M&65535)<<6)+48>>1]=D+-1;r[I+((M&65535)<<6)+54>>1]=(j&65535)<<1;u=(_[e+60>>2]|0)+56|0;r[u>>1]=(s[u>>1]|0)+2;u=_[e+72>>2]|0;g=s[u+(D+-1<<2)>>1]|s[u+(D+-1<<2)+2>>1]<<16;r[u+((D|1)<<2)>>1]=g;r[u+((D|1)<<2)+2>>1]=g>>>16;u=_[e+72>>2]|0;r[u+(D+-1<<2)>>1]=h;r[u+(D+-1<<2)+2>>1]=M;r[u+(D<<2)>>1]=p;r[u+(D<<2)+2>>1]=M;r[I+((M&65535)<<6)+50>>1]=D+-1;r[I+((M&65535)<<6)+56>>1]=(j&65535)<<1;p=(_[e+60>>2]|0)+58|0;r[p>>1]=(s[p>>1]|0)+2;p=_[e+76>>2]|0;u=s[p+(D+-1<<2)>>1]|s[p+(D+-1<<2)+2>>1]<<16;r[p+((D|1)<<2)>>1]=u;r[p+((D|1)<<2)+2>>1]=u>>>16;p=_[e+76>>2]|0;r[p+(D+-1<<2)>>1]=m;r[p+(D+-1<<2)+2>>1]=M;r[p+(D<<2)>>1]=b;r[p+(D<<2)+2>>1]=M;r[I+((M&65535)<<6)+52>>1]=D+-1;r[I+((M&65535)<<6)+58>>1]=(j&65535)<<1;p=_[e+68>>2]|0;u=s[I+((M&65535)<<6)+48>>1]|0;g=_[e+60>>2]|0;m=r[p+(u<<2)+-4>>1]|0;if((s[p+(u<<2)>>1]|0)<(m&65535)){j=g+((s[p+(u<<2)+2>>1]|0)<<6)+48|0;b=p+(u<<2)+-4|0;h=p+(u<<2)|0;u=m;p=g;while(1){O=s[h+-2>>1]|0;p=(u&1)==0?p+(O<<6)+48|0:p+(O<<6)+54|0;r[p>>1]=(r[p>>1]|0)+1<<16>>16;r[j>>1]=(r[j>>1]|0)+-1<<16>>16;p=s[h>>1]|s[h+2>>1]<<16;u=s[b>>1]|s[b+2>>1]<<16;r[h>>1]=u;r[h+2>>1]=u>>>16;r[b>>1]=p;r[b+2>>1]=p>>>16;p=h+-4|0;b=b+-4|0;u=r[b>>1]|0;if((s[p>>1]|0)>=(u&65535))break;h=p;p=_[e+60>>2]|0}p=_[e+68>>2]|0}b=s[I+((M&65535)<<6)+54>>1]|0;u=p+(b<<2)|0;h=r[u+-4>>1]|0;e:do{if((s[u>>1]|0)<(h&65535)){O=_[e+60>>2]|0;g=O+((s[p+(b<<2)+2>>1]|0)<<6)+54|0;b=u+-4|0;m=u;p=h;u=O;while(1){O=s[m+-2>>1]|0;u=(p&1)==0?u+(O<<6)+48|0:u+(O<<6)+54|0;r[u>>1]=(r[u>>1]|0)+1<<16>>16;r[g>>1]=(r[g>>1]|0)+-1<<16>>16;u=s[m>>1]|s[m+2>>1]<<16;p=s[b>>1]|s[b+2>>1]<<16;r[m>>1]=p;r[m+2>>1]=p>>>16;r[b>>1]=u;r[b+2>>1]=u>>>16;u=m+-4|0;b=b+-4|0;p=r[b>>1]|0;if((s[u>>1]|0)>=(p&65535))break e;m=u;u=_[e+60>>2]|0}}}while(0);p=_[e+72>>2]|0;u=s[I+((M&65535)<<6)+50>>1]|0;g=_[e+60>>2]|0;m=r[p+(u<<2)+-4>>1]|0;if((s[p+(u<<2)>>1]|0)<(m&65535)){j=g+((s[p+(u<<2)+2>>1]|0)<<6)+50|0;b=p+(u<<2)+-4|0;h=p+(u<<2)|0;u=m;p=g;while(1){O=s[h+-2>>1]|0;p=(u&1)==0?p+(O<<6)+50|0:p+(O<<6)+56|0;r[p>>1]=(r[p>>1]|0)+1<<16>>16;r[j>>1]=(r[j>>1]|0)+-1<<16>>16;p=s[h>>1]|s[h+2>>1]<<16;u=s[b>>1]|s[b+2>>1]<<16;r[h>>1]=u;r[h+2>>1]=u>>>16;r[b>>1]=p;r[b+2>>1]=p>>>16;p=h+-4|0;b=b+-4|0;u=r[b>>1]|0;if((s[p>>1]|0)>=(u&65535))break;h=p;p=_[e+60>>2]|0}p=_[e+72>>2]|0}b=s[I+((M&65535)<<6)+56>>1]|0;u=p+(b<<2)|0;h=r[u+-4>>1]|0;e:do{if((s[u>>1]|0)<(h&65535)){O=_[e+60>>2]|0;g=O+((s[p+(b<<2)+2>>1]|0)<<6)+56|0;b=u+-4|0;m=u;p=h;u=O;while(1){O=s[m+-2>>1]|0;u=(p&1)==0?u+(O<<6)+50|0:u+(O<<6)+56|0;r[u>>1]=(r[u>>1]|0)+1<<16>>16;r[g>>1]=(r[g>>1]|0)+-1<<16>>16;u=s[m>>1]|s[m+2>>1]<<16;p=s[b>>1]|s[b+2>>1]<<16;r[m>>1]=p;r[m+2>>1]=p>>>16;r[b>>1]=u;r[b+2>>1]=u>>>16;u=m+-4|0;b=b+-4|0;p=r[b>>1]|0;if((s[u>>1]|0)>=(p&65535))break e;m=u;u=_[e+60>>2]|0}}}while(0);Mg(e,2,r[I+((M&65535)<<6)+52>>1]|0);Gg(e,2,r[I+((M&65535)<<6)+58>>1]|0,f);p=_[e+60>>2]|0;b=_[e+108>>2]|0;if(!b){O=p+((M&65535)<<6)|0;return O|0}_[p+((M&65535)<<6)+60>>2]=Ja[_[(_[b>>2]|0)+8>>2]&3](b,t,i,n,o,c,l,f)|0;O=p+((M&65535)<<6)|0;return O|0}function $c(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,l=0,f=0,b=0,p=0,d=0,m=0,h=0;m=u;u=u+32|0;Ff(e+4|0,((U(_[e+112>>2]|0,_[e+16>>2]|0)|0)/100|0)+1|0);if(_[e+124>>2]|0){p=((U(_[e+108>>2]|0,_[e+56>>2]|0)|0)/100|0)+1|0;Ff(e+44|0,p);p=(_[e+124>>2]|0)-p|0;_[e+124>>2]=(p|0)>0?p:0}r=((_[e+104>>2]|0)+1|0)%2|0;_[e+104>>2]=r;r=_[e+84+(r<<2)>>2]|0;if(r|0){do{o=r+56|0;l=r;r=_[o>>2]|0;s=_[l+52>>2]|0;_[((s|0)==0?e+84+(_[l+60>>2]<<2)|0:s+56|0)>>2]=r;s=_[o>>2]|0;if(s|0)_[s+52>>2]=_[l+52>>2];_[l+52>>2]=0;_[o>>2]=_[e+92>>2];o=_[e+92>>2]|0;if(o|0)_[o+52>>2]=l;_[e+92>>2]=l;o=_[l+48>>2]|0;Qf(e+4|0,o)|0;s=_[e+8>>2]|0;if(s|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[e+8>>2]=o;_[e+16>>2]=(_[e+16>>2]|0)+-1;_[m>>2]=_[l+16>>2];_[m+4>>2]=_[l+16+4>>2];_[m+8>>2]=_[l+16+8>>2];_[m+12>>2]=_[l+16+12>>2];_[m+16>>2]=_[l+32>>2];_[m+16+4>>2]=_[l+32+4>>2];_[m+16+8>>2]=_[l+32+8>>2];_[m+16+12>>2]=_[l+32+12>>2];o=_[e+48>>2]|0;if(!o){_[6293]=(_[6293]|0)+1;o=cc(63)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}s=o;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0))}else _[e+48>>2]=0;_[o+32>>2]=0;_[o+36>>2]=l;_[o+40>>2]=0;_[o>>2]=_[m>>2];_[o+4>>2]=_[m+4>>2];_[o+8>>2]=_[m+8>>2];_[o+12>>2]=_[m+12>>2];_[o+16>>2]=_[m+16>>2];_[o+20>>2]=_[m+20>>2];_[o+24>>2]=_[m+24>>2];_[o+28>>2]=_[m+28>>2];pe(e+44|0,_[e+44>>2]|0,o);s=(_[e+56>>2]|0)+1|0;_[e+56>>2]=s;_[l+48>>2]=o;_[l+60>>2]=2}while((r|0)!=0);_[e+124>>2]=s;n[e+154>>0]=1}_[m>>2]=4556;_[m+4>>2]=e;if(n[e+153>>0]|0?(Qd(e+4|0,_[e+4>>2]|0,_[e+44>>2]|0,m),n[e+153>>0]|0):0){p=_[e+4>>2]|0;Qd(e+4|0,p,p,m)}if(n[e+154>>0]|0?(f=_[e+96>>2]|0,f=ya[_[(_[f>>2]|0)+28>>2]&127](f)|0,i=_[f+4>>2]|0,(i|0)>0):0){r=(U(_[e+116>>2]|0,i)|0)/100|0;p=_[e+120>>2]|0;r=(p|0)>(r|0)?p:r;r=(i|0)<(r|0)?i:r;if((r|0)>0){o=0;do{c=((_[e+144>>2]|0)+o|0)%(i|0)|0;b=_[f+12>>2]|0;s=_[b+(c<<4)>>2]|0;c=_[b+(c<<4)+4>>2]|0;b=_[s+48>>2]|0;p=_[c+48>>2]|0;if(!(((((+a[b>>2]<=+a[p+16>>2]?+a[b+16>>2]>=+a[p>>2]:0)?+a[b+4>>2]<=+a[p+20>>2]:0)?+a[b+20>>2]>=+a[p+4>>2]:0)?+a[b+8>>2]<=+a[p+24>>2]:0)?+a[b+24>>2]>=+a[p+8>>2]:0)){i=_[e+96>>2]|0;Ua[_[(_[i>>2]|0)+12>>2]&31](i,s,c,t)|0;r=r+-1|0;o=o+-1|0;i=_[f+4>>2]|0}o=o+1|0}while((o|0)<(r|0));if((i|0)>0)d=34;else i=0}else d=34;if((d|0)==34)i=((_[e+144>>2]|0)+r|0)%(i|0)|0;_[e+144>>2]=i}_[e+140>>2]=(_[e+140>>2]|0)+1;_[e+120>>2]=1;n[e+154>>0]=0;p=_[e+128>>2]|0;b=_[e+132>>2]|0;a[e+136>>2]=(p|0)==0?0.0:+(b>>>0)/+(p>>>0);_[e+132>>2]=b>>>1;_[e+128>>2]=p>>>1;p=_[e+96>>2]|0;if(!(ya[_[(_[p>>2]|0)+56>>2]&127](p)|0)){u=m;return}p=_[e+96>>2]|0;p=ya[_[(_[p>>2]|0)+28>>2]&127](p)|0;i=_[p+4>>2]|0;if((i|0)>1){Vd(p,0,i+-1|0);i=_[p+4>>2]|0}if((i|0)>0){f=0;l=0;b=0;r=0;while(1){s=_[p+12>>2]|0;o=s+(f<<4)|0;h=b;b=_[o>>2]|0;s=s+(f<<4)+4|0;c=_[s>>2]|0;if(!((b|0)==(h|0)&(c|0)==(r|0))){r=_[b+48>>2]|0;h=_[c+48>>2]|0;if(((((+a[r>>2]<=+a[h+16>>2]?+a[r+16>>2]>=+a[h>>2]:0)?+a[r+4>>2]<=+a[h+20>>2]:0)?+a[r+20>>2]>=+a[h+4>>2]:0)?+a[r+8>>2]<=+a[h+24>>2]:0)?+a[r+24>>2]>=+a[h+8>>2]:0){o=l;r=c}else{r=c;d=48}}else d=48;if((d|0)==48){d=0;i=_[e+96>>2]|0;Za[_[(_[i>>2]|0)+32>>2]&127](i,o,t);_[o>>2]=0;_[s>>2]=0;o=l+1|0;i=_[p+4>>2]|0}f=f+1|0;if((f|0)>=(i|0))break;else l=o}if((i|0)>1){Vd(p,0,i+-1|0);i=_[p+4>>2]|0}c=i-o|0;if((o|0)<0){if((_[p+8>>2]|0)<(c|0)){if(!c){r=0;s=i}else{_[6293]=(_[6293]|0)+1;r=cc((c<<4|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}s=_[p+4>>2]|0}if((s|0)>0){o=0;do{h=_[p+12>>2]|0;_[r+(o<<4)>>2]=_[h+(o<<4)>>2];_[r+(o<<4)+4>>2]=_[h+(o<<4)+4>>2];_[r+(o<<4)+8>>2]=_[h+(o<<4)+8>>2];_[r+(o<<4)+12>>2]=_[h+(o<<4)+12>>2];o=o+1|0}while((o|0)!=(s|0))}o=_[p+12>>2]|0;if(o|0){if(n[p+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[p+12>>2]=0}n[p+16>>0]=1;_[p+12>>2]=r;_[p+8>>2]=c}do{h=(_[p+12>>2]|0)+(i<<4)|0;i=i+1|0;_[h>>2]=0;_[h+4>>2]=0;_[h+8>>2]=0;_[h+12>>2]=0}while((i|0)!=(c|0));i=c}else i=c}_[p+4>>2]=i;u=m;return}function ad(e,t){e=e|0;t=t|0;var i=0.0,r=0.0,o=0,s=0,c=0,l=0,f=0,b=0.0,p=0.0,u=0.0,d=0.0,m=0,h=0,y=0,g=0.0,C=0.0,v=0.0,w=0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0;h=_[e+28>>2]|0;l=_[e+32>>2]|0;nc(e,h+4|0,l+4|0,h+324|0,l+324|0);c=_[t+8>>2]|0;a[c>>2]=1.0;f=_[t+24>>2]|0;a[c+(f+1<<2)>>2]=1.0;a[c+((f<<1)+2<<2)>>2]=1.0;p=+a[e+348>>2];v=+a[e+352>>2];d=+a[e+356>>2];g=+a[h+4>>2]*p+ +a[h+8>>2]*v+ +a[h+12>>2]*d;u=p*+a[h+20>>2]+v*+a[h+24>>2]+d*+a[h+28>>2];d=p*+a[h+36>>2]+v*+a[h+40>>2]+d*+a[h+44>>2];c=_[t+12>>2]|0;_[c>>2]=0;a[c+4>>2]=d;a[c+8>>2]=-u;a[c+12>>2]=0.0;a[c+(f<<2)>>2]=-d;_[c+(f<<2)+4>>2]=0;a[c+(f<<2)+8>>2]=g;a[c+(f<<2)+12>>2]=0.0;a[c+(f<<1<<2)>>2]=u;a[c+(f<<1<<2)+4>>2]=-g;_[c+(f<<1<<2)+8>>2]=0;a[c+(f<<1<<2)+12>>2]=0.0;c=_[t+16>>2]|0;a[c>>2]=-1.0;a[c+(f+1<<2)>>2]=-1.0;a[c+((f<<1)+2<<2)>>2]=-1.0;v=+a[e+412>>2];p=+a[e+416>>2];b=+a[e+420>>2];C=+a[l+4>>2]*v+ +a[l+8>>2]*p+ +a[l+12>>2]*b;r=v*+a[l+20>>2]+p*+a[l+24>>2]+b*+a[l+28>>2];b=v*+a[l+36>>2]+p*+a[l+40>>2]+b*+a[l+44>>2];f=_[t+20>>2]|0;c=_[t+24>>2]|0;_[f>>2]=0;a[f+4>>2]=-b;a[f+8>>2]=r;a[f+12>>2]=0.0;a[f+(c<<2)>>2]=b;_[f+(c<<2)+4>>2]=0;a[f+(c<<2)+8>>2]=-C;a[f+(c<<2)+12>>2]=0.0;a[f+(c<<1<<2)>>2]=-r;a[f+(c<<1<<2)+4>>2]=C;_[f+(c<<1<<2)+8>>2]=0;a[f+(c<<1<<2)+12>>2]=0.0;m=_[e+592>>2]|0;p=+a[(m&2|0?e+600|0:t+4|0)>>2]*+a[t>>2];s=_[t+28>>2]|0;y=_[t+36>>2]|0;o=_[t+40>>2]|0;a[s>>2]=p*(C+ +a[l+52>>2]-g-+a[h+52>>2]);a[y>>2]=-3402823466385288598117041.0e14;a[o>>2]=3402823466385288598117041.0e14;if(!(m&1)){a[s+(c<<2)>>2]=p*(r+ +a[l+56>>2]-u-+a[h+56>>2]);a[y+(c<<2)>>2]=-3402823466385288598117041.0e14;a[o+(c<<2)>>2]=3402823466385288598117041.0e14;a[s+(c<<1<<2)>>2]=p*(b+ +a[l+60>>2]-d-+a[h+60>>2]);a[y+(c<<1<<2)>>2]=-3402823466385288598117041.0e14;a[o+(c<<1<<2)>>2]=3402823466385288598117041.0e14}else{w=_[t+32>>2]|0;_[w>>2]=_[e+596>>2];a[s+(c<<2)>>2]=p*(r+ +a[l+56>>2]-u-+a[h+56>>2]);a[y+(c<<2)>>2]=-3402823466385288598117041.0e14;a[o+(c<<2)>>2]=3402823466385288598117041.0e14;_[w+(c<<2)>>2]=_[e+596>>2];a[s+(c<<1<<2)>>2]=p*(b+ +a[l+60>>2]-d-+a[h+60>>2]);a[y+(c<<1<<2)>>2]=-3402823466385288598117041.0e14;a[o+(c<<1<<2)>>2]=3402823466385288598117041.0e14;_[w+(c<<1<<2)>>2]=_[e+596>>2]}if(!(n[e+526>>0]|0)){f=c*3|0;c=y}else{l=_[t+12>>2]|0;v=+a[e+456>>2];if(+a[e+444>>2]<v?+a[e+448>>2]<v:0){j=+a[h+4>>2];S=+a[h+8>>2];k=+a[h+12>>2];M=+a[e+304>>2];I=+a[e+320>>2];x=+a[e+336>>2];u=+a[e+308>>2];g=+a[e+324>>2];v=+a[e+340>>2];r=+a[h+20>>2];b=+a[h+24>>2];p=+a[h+28>>2];d=+a[h+36>>2];C=+a[h+40>>2];i=+a[h+44>>2];a[l+(c*3<<2)>>2]=j*M+S*I+k*x;a[l+((c*3|0)+1<<2)>>2]=M*r+I*b+x*p;a[l+((c*3|0)+2<<2)>>2]=M*d+I*C+x*i;a[l+(c<<2<<2)>>2]=j*u+S*g+k*v;a[l+((c<<2|1)<<2)>>2]=u*r+g*b+v*p;a[l+((c<<2|2)<<2)>>2]=u*d+g*C+v*i;a[f+(c*3<<2)>>2]=-(j*M+S*I+k*x);a[f+((c*3|0)+1<<2)>>2]=-(M*r+I*b+x*p);a[f+((c*3|0)+2<<2)>>2]=-(M*d+I*C+x*i);a[f+(c<<2<<2)>>2]=-(j*u+S*g+k*v);a[f+((c<<2|1)<<2)>>2]=-(u*r+g*b+v*p);a[f+((c<<2|2)<<2)>>2]=-(u*d+g*C+v*i);R=+a[t>>2]*+a[e+436>>2];s=_[t+28>>2]|0;a[s+(c*3<<2)>>2]=R*((j*M+S*I+k*x)*+a[e+460>>2]+(M*r+I*b+x*p)*+a[e+464>>2]+(M*d+I*C+x*i)*+a[e+468>>2]);a[s+(c<<2<<2)>>2]=R*((j*u+S*g+k*v)*+a[e+460>>2]+(u*r+g*b+v*p)*+a[e+464>>2]+(u*d+g*C+v*i)*+a[e+468>>2]);l=_[t+36>>2]|0;a[l+(c*3<<2)>>2]=-3402823466385288598117041.0e14;o=_[t+40>>2]|0;a[o+(c*3<<2)>>2]=3402823466385288598117041.0e14;a[l+(c<<2<<2)>>2]=-3402823466385288598117041.0e14;i=3402823466385288598117041.0e14;f=c<<2;c=_[t+24>>2]|0}else{M=+a[e+436>>2];x=M*+a[e+460>>2]*M;I=M*M*+a[e+464>>2];M=M*M*+a[e+468>>2];a[l+(c*3<<2)>>2]=x;a[l+((c*3|0)+1<<2)>>2]=I;a[l+((c*3|0)+2<<2)>>2]=M;a[f+(c*3<<2)>>2]=-x;a[f+((c*3|0)+1<<2)>>2]=-I;a[f+((c*3|0)+2<<2)>>2]=-M;a[s+(c*3<<2)>>2]=+a[t>>2]*+a[e+432>>2]*+a[e+504>>2];if(m&4|0)_[(_[t+32>>2]|0)+(c*3<<2)>>2]=_[e+604>>2];a[y+(c*3<<2)>>2]=0.0;if((n[e+552>>0]|0)!=0?(i=+a[e+572>>2],i>=0.0):0){f=c*3|0;l=y}else{i=3402823466385288598117041.0e14;f=c*3|0;l=y}}a[o+(f<<2)>>2]=i;f=c+f|0;c=l}if(!(n[e+525>>0]|0))return;M=+a[e+436>>2];x=M*+a[e+476>>2]*M;I=M*M*+a[e+480>>2];M=M*M*+a[e+484>>2];m=_[t+12>>2]|0;y=_[t+20>>2]|0;a[m+(f<<2)>>2]=x;h=f+1|0;a[m+(h<<2)>>2]=I;w=f+2|0;a[m+(w<<2)>>2]=M;a[y+(f<<2)>>2]=-x;a[y+(h<<2)>>2]=-I;a[y+(w<<2)>>2]=-M;a[s+(f<<2)>>2]=+a[t>>2]*+a[e+432>>2]*+a[e+508>>2];if(_[e+592>>2]&4|0)_[(_[t+32>>2]|0)+(f<<2)>>2]=_[e+604>>2];if(+a[e+452>>2]>0.0){w=+a[e+508>>2]>0.0;i=w?0.0:-3402823466385288598117041.0e14;r=w?3402823466385288598117041.0e14:0.0}else{i=-3402823466385288598117041.0e14;r=3402823466385288598117041.0e14}a[c+(f<<2)>>2]=i;a[o+(f<<2)>>2]=r;return}function bd(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=+o;var s=0.0,c=0.0,l=0,f=0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0,R=0,x=0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0;x=u;u=u+272|0;_[x+128>>2]=_[i>>2];_[x+128+4>>2]=_[i+4>>2];_[x+128+8>>2]=_[i+8>>2];_[x+128+12>>2]=_[i+12>>2];_[x+128+16>>2]=_[i+16>>2];_[x+128+16+4>>2]=_[i+16+4>>2];_[x+128+16+8>>2]=_[i+16+8>>2];_[x+128+16+12>>2]=_[i+16+12>>2];_[x+128+32>>2]=_[i+32>>2];_[x+128+32+4>>2]=_[i+32+4>>2];_[x+128+32+8>>2]=_[i+32+8>>2];_[x+128+32+12>>2]=_[i+32+12>>2];_[x+128+48>>2]=_[i+48>>2];_[x+128+48+4>>2]=_[i+48+4>>2];_[x+128+48+8>>2]=_[i+48+8>>2];_[x+128+48+12>>2]=_[i+48+12>>2];_[x+64>>2]=_[n>>2];_[x+64+4>>2]=_[n+4>>2];_[x+64+8>>2]=_[n+8>>2];_[x+64+12>>2]=_[n+12>>2];_[x+64+16>>2]=_[n+16>>2];_[x+64+16+4>>2]=_[n+16+4>>2];_[x+64+16+8>>2]=_[n+16+8>>2];_[x+64+16+12>>2]=_[n+16+12>>2];_[x+64+32>>2]=_[n+32>>2];_[x+64+32+4>>2]=_[n+32+4>>2];_[x+64+32+8>>2]=_[n+32+8>>2];_[x+64+32+12>>2]=_[n+32+12>>2];_[x+64+48>>2]=_[n+48>>2];_[x+64+48+4>>2]=_[n+48+4>>2];_[x+64+48+8>>2]=_[n+48+8>>2];_[x+64+48+12>>2]=_[n+48+12>>2];s=+a[x+64+52>>2]-+a[x+128+52>>2];O=+a[x+64+56>>2]-+a[x+128+56>>2];a[x+16>>2]=+a[x+64+48>>2]-+a[x+128+48>>2];a[x+16+4>>2]=s;a[x+16+8>>2]=O;a[x+16+12>>2]=0.0;bf(x+128|0,x+64|0,x+208|0,x+192|0);O=+a[x+192>>2];s=O*+a[x+208+4>>2];M=O*+a[x+208+8>>2];a[x>>2]=+a[x+208>>2]*O;a[x+4>>2]=s;a[x+8>>2]=M;a[x+12>>2]=0.0;_[x+208+48>>2]=0;_[x+208+48+4>>2]=0;_[x+208+48+8>>2]=0;_[x+208+48+12>>2]=0;Lg(x+128|0,x+192|0);M=+a[x+192>>2];s=+a[x+192+4>>2];O=+a[x+192+8>>2];D=+a[x+192+12>>2];I=M*(2.0/(M*M+s*s+O*O+D*D));c=s*(2.0/(M*M+s*s+O*O+D*D));T=O*(2.0/(M*M+s*s+O*O+D*D));a[x+208>>2]=1.0-(s*c+O*T);a[x+208+4>>2]=M*c-D*T;a[x+208+8>>2]=M*T+D*c;a[x+208+12>>2]=0.0;a[x+208+16>>2]=M*c+D*T;a[x+208+20>>2]=1.0-(M*I+O*T);a[x+208+24>>2]=s*T-D*I;a[x+208+28>>2]=0.0;a[x+208+32>>2]=M*T-D*c;a[x+208+36>>2]=s*T+D*I;a[x+208+40>>2]=1.0-(M*I+s*c);a[x+208+44>>2]=0.0;zg(t,x+208|0,x+16|0,x,x+48|0,x+32|0);if((_[e+328>>2]|0)<=0){u=x;return}l=0;do{f=_[(_[e+336>>2]|0)+(l<<2)>>2]|0;if(Pa[_[(_[r>>2]|0)+8>>2]&31](r,_[f+188>>2]|0)|0?(j=_[f+192>>2]|0,$a[_[(_[j>>2]|0)+8>>2]&127](j,f+4|0,x+192|0,x+16|0),b=+a[x+192>>2]+ +a[x+48>>2],p=+a[x+192+4>>2]+ +a[x+48+4>>2],d=+a[x+192+8>>2]+ +a[x+48+8>>2],a[x+192>>2]=b,a[x+192+4>>2]=p,a[x+192+8>>2]=d,a[x+192+12>>2]=0.0,m=+a[x+16>>2]+ +a[x+32>>2],h=+a[x+16+4>>2]+ +a[x+32+4>>2],y=+a[x+16+8>>2]+ +a[x+32+8>>2],a[x+16>>2]=m,a[x+16+4>>2]=h,a[x+16+8>>2]=y,a[x+16+12>>2]=0.0,g=+a[i+48>>2]-(m+b)*.5,C=+a[i+52>>2]-(h+p)*.5,v=+a[i+56>>2]-(y+d)*.5,w=+a[n+48>>2]-(m+b)*.5,k=+a[n+52>>2]-(h+p)*.5,S=+a[n+56>>2]-(y+d)*.5,j=g<-((m-b)*.5)|(g>(m-b)*.5?8:0)|(C<-((h-p)*.5)?2:0)|(C>(h-p)*.5?16:0)|(v<-((y-d)*.5)?4:0)|(v>(y-d)*.5?32:0),R=w<-((m-b)*.5)|(w>(m-b)*.5?8:0)|(k<-((h-p)*.5)?2:0)|(k>(h-p)*.5?16:0)|(S<-((y-d)*.5)?4:0)|(S>(y-d)*.5?32:0),(j&R|0)==0):0){if(g<-((m-b)*.5))if(!((-g-(m-b)*.5)/(w-g)>=0.0)){s=0.0;c=1.0}else{s=(-g-(m-b)*.5)/(w-g);c=1.0}else if(w<-((m-b)*.5)?(-g-(m-b)*.5)/(w-g)<1.0:0){s=0.0;c=(-g-(m-b)*.5)/(w-g)}else{s=0.0;c=1.0}if(C<-((h-p)*.5)){if(s<=(-C-(h-p)*.5)/(k-C))s=(-C-(h-p)*.5)/(k-C)}else if(k<-((h-p)*.5)?(-C-(h-p)*.5)/(k-C)<c:0)c=(-C-(h-p)*.5)/(k-C);if(v<-((y-d)*.5)){if(s<=(-v-(y-d)*.5)/(S-v))s=(-v-(y-d)*.5)/(S-v)}else if(S<-((y-d)*.5)?(-v-(y-d)*.5)/(S-v)<c:0)c=(-v-(y-d)*.5)/(S-v);if(g>(m-b)*.5){if(s<=((m-b)*.5-g)/(w-g))s=((m-b)*.5-g)/(w-g)}else if(w>(m-b)*.5?((m-b)*.5-g)/(w-g)<c:0)c=((m-b)*.5-g)/(w-g);if(C>(h-p)*.5){if(s<=((h-p)*.5-C)/(k-C))s=((h-p)*.5-C)/(k-C)}else if(k>(h-p)*.5?((h-p)*.5-C)/(k-C)<c:0)c=((h-p)*.5-C)/(k-C);if(!(j&32)){if((R&32|0)!=0?((y-d)*.5-v)/(S-v)<c:0)c=((y-d)*.5-v)/(S-v)}else if(s<=((y-d)*.5-v)/(S-v))s=((y-d)*.5-v)/(S-v);if(s<=c){H=_[f+192>>2]|0;_[x+208>>2]=0;_[x+208+4>>2]=H;_[x+208+8>>2]=f;_[x+208+12>>2]=f+4;_[x+208+16>>2]=-1;_[x+208+20>>2]=-1;jc(t,x+128|0,x+64|0,x+208|0,r,o)}}l=l+1|0}while((l|0)<(_[e+328>>2]|0));u=x;return}function cd(e,t,i,r,o,s,c,l,f,b){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;f=f|0;b=b|0;var p=0.0,u=0.0,d=0,m=0,h=0,y=0,g=0,C=0,v=0.0;o=_[e+48>>2]|0;h=_[e+28>>2]|0;y=_[e+68>>2]|0;if(_[f+72>>2]&1|0){if((o|0)>0){s=_[e+136>>2]|0;r=0;m=_[e+232>>2]|0;do{b=s+(r<<2)|0;d=_[b>>2]|0;r=r+1|0;m=(U(m,1664525)|0)+1013904223|0;if(r>>>0<65537){i=m>>>16^m;if(r>>>0<257)if(r>>>0<17){i=(i>>>8^i)>>>4^(i>>>8^i);i=r>>>0<5?(r>>>0<3?(i>>>2^i)>>>1:0)^(i>>>2^i):i}else i=i>>>8^i}else i=m;i=s+(((i>>>0)%(r>>>0)|0)<<2)|0;_[b>>2]=_[i>>2];_[i>>2]=d}while((r|0)!=(o|0));_[e+232>>2]=m}if((_[f+20>>2]|0)>(t|0)){if((h|0)>0){o=_[e+116>>2]|0;r=0;d=_[e+232>>2]|0;do{s=o+(r<<2)|0;b=_[s>>2]|0;r=r+1|0;d=(U(d,1664525)|0)+1013904223|0;if(r>>>0<65537){i=d>>>16^d;if(r>>>0<257)if(r>>>0<17){i=(i>>>8^i)>>>4^(i>>>8^i);i=r>>>0<5?(r>>>0<3?(i>>>2^i)>>>1:0)^(i>>>2^i):i}else i=i>>>8^i}else i=d;m=o+(((i>>>0)%(r>>>0)|0)<<2)|0;_[s>>2]=_[m>>2];_[m>>2]=b}while((r|0)!=(h|0));_[e+232>>2]=d}if((y|0)>0){o=_[e+156>>2]|0;r=0;d=_[e+232>>2]|0;do{s=o+(r<<2)|0;b=_[s>>2]|0;r=r+1|0;d=(U(d,1664525)|0)+1013904223|0;if(r>>>0<65537){i=d>>>16^d;if(r>>>0<257)if(r>>>0<17){i=(i>>>8^i)>>>4^(i>>>8^i);i=r>>>0<5?(r>>>0<3?(i>>>2^i)>>>1:0)^(i>>>2^i):i}else i=i>>>8^i}else i=d;h=o+(((i>>>0)%(r>>>0)|0)<<2)|0;_[s>>2]=_[h>>2];_[h>>2]=b}while((r|0)!=(y|0));_[e+232>>2]=d}}}i=_[e+48>>2]|0;if((i|0)>0){s=0;p=0.0;do{r=_[(_[e+136>>2]|0)+(s<<2)>>2]|0;o=_[e+56>>2]|0;if((_[o+(r*152|0)+136>>2]|0)>(t|0)){i=_[e+16>>2]|0;u=+Ba[_[e+212>>2]&31](i+((_[o+(r*152|0)+144>>2]|0)*244|0)|0,i+((_[o+(r*152|0)+148>>2]|0)*244|0)|0,o+(r*152|0)|0);p=p+u*u;i=_[e+48>>2]|0}s=s+1|0}while((s|0)<(i|0))}else p=0.0;if((_[f+20>>2]|0)<=(t|0)){u=p;return+u}if((l|0)>0){i=0;do{r=c+(i<<2)|0;o=_[r>>2]|0;if(n[o+20>>0]|0){h=Ri(e,_[o+28>>2]|0,+a[f+12>>2])|0;t=Ri(e,_[(_[r>>2]|0)+32>>2]|0,+a[f+12>>2])|0;y=_[e+16>>2]|0;m=_[r>>2]|0;Ka[_[(_[m>>2]|0)+24>>2]&15](m,y+(h*244|0)|0,y+(t*244|0)|0,+a[f+12>>2])}i=i+1|0}while((i|0)!=(l|0))}b=_[f+72>>2]|0;d=_[e+28>>2]|0;if(!(b&512)){if((d|0)>0){i=0;do{f=_[(_[e+116>>2]|0)+(i<<2)>>2]|0;C=_[e+36>>2]|0;g=_[e+16>>2]|0;u=+Ba[_[e+216>>2]&31](g+((_[C+(f*152|0)+144>>2]|0)*244|0)|0,g+((_[C+(f*152|0)+148>>2]|0)*244|0)|0,C+(f*152|0)|0);p=p+u*u;i=i+1|0}while((i|0)!=(d|0))}s=_[e+68>>2]|0;if((s|0)>0){o=0;do{i=_[(_[e+156>>2]|0)+(o<<2)>>2]|0;r=_[e+76>>2]|0;u=+a[(_[e+36>>2]|0)+((_[r+(i*152|0)+140>>2]|0)*152|0)+100>>2];if(u>0.0){u=u*+a[r+(i*152|0)+104>>2];a[r+(i*152|0)+120>>2]=-u;a[r+(i*152|0)+124>>2]=u;f=_[e+16>>2]|0;u=+Ba[_[e+212>>2]&31](f+((_[r+(i*152|0)+144>>2]|0)*244|0)|0,f+((_[r+(i*152|0)+148>>2]|0)*244|0)|0,r+(i*152|0)|0);p=p+u*u}o=o+1|0}while((o|0)!=(s|0))}}else if((d|0)>0){s=0;do{o=_[(_[e+116>>2]|0)+(s<<2)>>2]|0;i=_[e+36>>2]|0;r=_[e+16>>2]|0;u=+Ba[_[e+216>>2]&31](r+((_[i+(o*152|0)+144>>2]|0)*244|0)|0,r+((_[i+(o*152|0)+148>>2]|0)*244|0)|0,i+(o*152|0)|0);p=p+u*u;u=+a[i+(o*152|0)+100>>2];o=U(s,(b>>>4&1)+1|0)|0;i=_[(_[e+156>>2]|0)+(o<<2)>>2]|0;r=_[e+76>>2]|0;if(u>0.0){v=u*+a[r+(i*152|0)+104>>2];a[r+(i*152|0)+120>>2]=-v;a[r+(i*152|0)+124>>2]=v;l=_[e+16>>2]|0;v=+Ba[_[e+212>>2]&31](l+((_[r+(i*152|0)+144>>2]|0)*244|0)|0,l+((_[r+(i*152|0)+148>>2]|0)*244|0)|0,r+(i*152|0)|0);p=p+v*v}if((_[f+72>>2]&16|0)!=0?(g=_[(_[e+156>>2]|0)+(o+1<<2)>>2]|0,C=_[e+76>>2]|0,u>0.0):0){v=u*+a[C+(g*152|0)+104>>2];a[C+(g*152|0)+120>>2]=-v;a[C+(g*152|0)+124>>2]=v;l=_[e+16>>2]|0;v=+Ba[_[e+212>>2]&31](l+((_[C+(g*152|0)+144>>2]|0)*244|0)|0,l+((_[C+(g*152|0)+148>>2]|0)*244|0)|0,C+(g*152|0)|0);p=p+v*v}s=s+1|0}while((s|0)!=(d|0))}o=_[e+88>>2]|0;if((o|0)<=0){v=p;return+v}r=0;do{i=_[e+96>>2]|0;u=+a[(_[e+36>>2]|0)+((_[i+(r*152|0)+140>>2]|0)*152|0)+100>>2];if(u>0.0){v=+a[i+(r*152|0)+104>>2];v=u*v>v?v:u*v;a[i+(r*152|0)+120>>2]=-v;a[i+(r*152|0)+124>>2]=v;f=_[e+16>>2]|0;v=+Ba[_[e+212>>2]&31](f+((_[i+(r*152|0)+144>>2]|0)*244|0)|0,f+((_[i+(r*152|0)+148>>2]|0)*244|0)|0,i+(r*152|0)|0);p=p+v*v}r=r+1|0}while((r|0)!=(o|0));return+p}function dd(e){e=e|0;var t=0,i=0,n=0.0,r=0.0,o=0.0,s=0,c=0.0,l=0.0,f=0.0,b=0,p=0,d=0.0,m=0.0,h=0.0;b=u;u=u+16|0;s=_[e+372>>2]|0;e:do{switch(_[s+32>>2]|0){case 1:{t=0;i=1;while(1){_[b>>2]=0;_[b+4>>2]=0;_[b+8>>2]=0;_[b+12>>2]=0;a[b+(t<<2)>>2]=1.0;p=s+32|0;a[s+16+(i<<2)>>2]=0.0;i=(_[e+364>>2]|0)+-1|0;_[e+364>>2]=i;_[s+(_[p>>2]<<2)>>2]=_[e+348+(i<<2)>>2];i=_[p>>2]|0;_[p>>2]=i+1;n=+a[b>>2];r=+a[b+4>>2];o=+a[b+8>>2];Ug(e,n,r,o,_[s+(i<<2)>>2]|0);if(dd(e)|0)break;s=_[e+372>>2]|0;p=(_[s+32>>2]|0)+-1|0;_[s+32>>2]=p;p=_[s+(p<<2)>>2]|0;s=_[e+364>>2]|0;_[e+364>>2]=s+1;_[e+348+(s<<2)>>2]=p;s=_[e+372>>2]|0;a[s+16+(_[s+32>>2]<<2)>>2]=0.0;p=(_[e+364>>2]|0)+-1|0;_[e+364>>2]=p;_[s+(_[s+32>>2]<<2)>>2]=_[e+348+(p<<2)>>2];p=_[s+32>>2]|0;_[s+32>>2]=p+1;Ug(e,-n,-r,-o,_[s+(p<<2)>>2]|0);if(dd(e)|0)break;p=_[e+372>>2]|0;s=(_[p+32>>2]|0)+-1|0;_[p+32>>2]=s;s=_[p+(s<<2)>>2]|0;p=_[e+364>>2]|0;_[e+364>>2]=p+1;_[e+348+(p<<2)>>2]=s;t=t+1|0;if(t>>>0>=3)break e;i=_[e+372>>2]|0;s=i;i=_[i+32>>2]|0}p=1;u=b;return p|0}case 2:{p=_[s+4>>2]|0;t=_[s>>2]|0;n=+a[p+16>>2]-+a[t+16>>2];r=+a[p+20>>2]-+a[t+20>>2];o=+a[p+24>>2]-+a[t+24>>2];t=0;while(1){_[b>>2]=0;_[b+4>>2]=0;_[b+8>>2]=0;_[b+12>>2]=0;a[b+(t<<2)>>2]=1.0;c=+a[b+8>>2];l=+a[b+4>>2];f=+a[b>>2];if((r*c-o*l)*(r*c-o*l)+(o*f-n*c)*(o*f-n*c)+(n*l-r*f)*(n*l-r*f)>0.0){s=_[e+372>>2]|0;a[s+16+(_[s+32>>2]<<2)>>2]=0.0;p=(_[e+364>>2]|0)+-1|0;_[e+364>>2]=p;_[s+(_[s+32>>2]<<2)>>2]=_[e+348+(p<<2)>>2];p=_[s+32>>2]|0;_[s+32>>2]=p+1;Ug(e,r*c-o*l,o*f-n*c,n*l-r*f,_[s+(p<<2)>>2]|0);if(dd(e)|0)break;s=_[e+372>>2]|0;p=(_[s+32>>2]|0)+-1|0;_[s+32>>2]=p;p=_[s+(p<<2)>>2]|0;s=_[e+364>>2]|0;_[e+364>>2]=s+1;_[e+348+(s<<2)>>2]=p;s=_[e+372>>2]|0;a[s+16+(_[s+32>>2]<<2)>>2]=0.0;p=(_[e+364>>2]|0)+-1|0;_[e+364>>2]=p;_[s+(_[s+32>>2]<<2)>>2]=_[e+348+(p<<2)>>2];p=_[s+32>>2]|0;_[s+32>>2]=p+1;Ug(e,-(r*c-o*l),-(o*f-n*c),-(n*l-r*f),_[s+(p<<2)>>2]|0);if(dd(e)|0)break;p=_[e+372>>2]|0;s=(_[p+32>>2]|0)+-1|0;_[p+32>>2]=s;s=_[p+(s<<2)>>2]|0;p=_[e+364>>2]|0;_[e+364>>2]=p+1;_[e+348+(p<<2)>>2]=s}t=t+1|0;if(t>>>0>=3)break e}p=1;u=b;return p|0}case 3:{p=_[s+4>>2]|0;i=_[s>>2]|0;c=+a[i+16>>2];n=+a[p+16>>2]-c;l=+a[i+20>>2];r=+a[p+20>>2]-l;f=+a[i+24>>2];o=+a[p+24>>2]-f;p=_[s+8>>2]|0;c=+a[p+16>>2]-c;l=+a[p+20>>2]-l;f=+a[p+24>>2]-f;if((r*f-o*l)*(r*f-o*l)+(o*c-n*f)*(o*c-n*f)+(n*l-r*c)*(n*l-r*c)>0.0){a[s+28>>2]=0.0;p=(_[e+364>>2]|0)+-1|0;_[e+364>>2]=p;_[s+12>>2]=_[e+348+(p<<2)>>2];p=_[s+32>>2]|0;_[s+32>>2]=p+1;Ug(e,r*f-o*l,o*c-n*f,n*l-r*c,_[s+(p<<2)>>2]|0);if(dd(e)|0){p=1;u=b;return p|0}s=_[e+372>>2]|0;p=(_[s+32>>2]|0)+-1|0;_[s+32>>2]=p;p=_[s+(p<<2)>>2]|0;s=_[e+364>>2]|0;_[e+364>>2]=s+1;_[e+348+(s<<2)>>2]=p;s=_[e+372>>2]|0;a[s+16+(_[s+32>>2]<<2)>>2]=0.0;p=(_[e+364>>2]|0)+-1|0;_[e+364>>2]=p;_[s+(_[s+32>>2]<<2)>>2]=_[e+348+(p<<2)>>2];p=_[s+32>>2]|0;_[s+32>>2]=p+1;Ug(e,-(r*f-o*l),-(o*c-n*f),-(n*l-r*c),_[s+(p<<2)>>2]|0);if(dd(e)|0){p=1;u=b;return p|0}else{p=_[e+372>>2]|0;s=(_[p+32>>2]|0)+-1|0;_[p+32>>2]=s;s=_[p+(s<<2)>>2]|0;p=_[e+364>>2]|0;_[e+364>>2]=p+1;_[e+348+(p<<2)>>2]=s;break e}}break}case 4:{p=_[s>>2]|0;e=_[s+12>>2]|0;f=+a[e+16>>2];h=+a[p+16>>2]-f;d=+a[e+20>>2];n=+a[p+20>>2]-d;o=+a[e+24>>2];c=+a[p+24>>2]-o;p=_[s+4>>2]|0;r=+a[p+16>>2]-f;l=+a[p+20>>2]-d;m=+a[p+24>>2]-o;p=_[s+8>>2]|0;f=+a[p+16>>2]-f;d=+a[p+20>>2]-d;o=+a[p+24>>2]-o;if(!((0.0!=0.0?1:h*l*o+(n*m*f+c*r*d-h*m*d-n*r*o)-c*l*f!=h*l*o+(n*m*f+c*r*d-h*m*d-n*r*o)-c*l*f)|h*l*o+(n*m*f+c*r*d-h*m*d-n*r*o)-c*l*f==0.0)){p=1;u=b;return p|0}break}default:{}}}while(0);p=0;u=b;return p|0}function ed(e,t){e=e|0;t=t|0;var i=0,o=0,s=0,c=0,f=0,b=0,p=0,d=0,m=0;m=u;u=u+64|0;a[e+20>>2]=+l[t+32>>3];a[e+24>>2]=+l[t+40>>3];a[e+28>>2]=+l[t+48>>3];a[e+32>>2]=+l[t+56>>3];a[e+4>>2]=+l[t>>3];a[e+8>>2]=+l[t+8>>3];a[e+12>>2]=+l[t+16>>3];a[e+16>>2]=+l[t+24>>3];a[e+36>>2]=+l[t+64>>3];a[e+40>>2]=+l[t+72>>3];a[e+44>>2]=+l[t+80>>3];a[e+48>>2]=+l[t+88>>3];_[e+56>>2]=_[t+96>>2];n[e+60>>0]=(_[t+100>>2]|0)!=0&1;d=_[t+104>>2]|0;c=m;b=c+64|0;do{_[c>>2]=0;c=c+4|0}while((c|0)<(b|0));p=_[e+88>>2]|0;if((p|0)<(d|0)){if((_[e+92>>2]|0)<(d|0)){if(!d){i=0;s=p}else{_[6293]=(_[6293]|0)+1;i=cc(d<<6|19)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}s=_[e+88>>2]|0}if((s|0)>0){o=0;do{c=i+(o<<6)|0;f=(_[e+96>>2]|0)+(o<<6)|0;b=c+64|0;do{_[c>>2]=_[f>>2];c=c+4|0;f=f+4|0}while((c|0)<(b|0));o=o+1|0}while((o|0)!=(s|0))}o=_[e+96>>2]|0;if(o|0){if(n[e+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+96>>2]=0}n[e+100>>0]=1;_[e+96>>2]=i;_[e+92>>2]=d;o=e+96|0}else o=e+96|0;i=p;do{c=(_[o>>2]|0)+(i<<6)|0;f=m;b=c+64|0;do{_[c>>2]=_[f>>2];c=c+4|0;f=f+4|0}while((c|0)<(b|0));i=i+1|0}while((i|0)!=(d|0))}_[e+88>>2]=d;if((d|0)>0){s=_[e+96>>2]|0;i=_[t+112>>2]|0;o=0;while(1){a[s+(o<<6)+16>>2]=+l[i+32>>3];a[s+(o<<6)+20>>2]=+l[i+40>>3];a[s+(o<<6)+24>>2]=+l[i+48>>3];a[s+(o<<6)+28>>2]=+l[i+56>>3];a[s+(o<<6)>>2]=+l[i>>3];a[s+(o<<6)+4>>2]=+l[i+8>>3];a[s+(o<<6)+8>>2]=+l[i+16>>3];a[s+(o<<6)+12>>2]=+l[i+24>>3];_[s+(o<<6)+32>>2]=_[i+64>>2];_[s+(o<<6)+36>>2]=_[i+68>>2];_[s+(o<<6)+40>>2]=_[i+72>>2];o=o+1|0;if((o|0)==(d|0))break;else i=i+80|0}}f=_[t+108>>2]|0;_[m>>2]=0;_[m+4>>2]=0;_[m+8>>2]=0;_[m+12>>2]=0;c=_[e+128>>2]|0;if((c|0)<(f|0)){if((_[e+132>>2]|0)<(f|0)){if(!f){i=0;s=c}else{_[6293]=(_[6293]|0)+1;i=cc((f<<4|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}s=_[e+128>>2]|0}if((s|0)>0){o=0;do{d=i+(o<<4)|0;p=(_[e+136>>2]|0)+(o<<4)|0;_[d>>2]=_[p>>2];_[d+4>>2]=_[p+4>>2];_[d+8>>2]=_[p+8>>2];_[d+12>>2]=_[p+12>>2];o=o+1|0}while((o|0)!=(s|0))}o=_[e+136>>2]|0;if(o|0){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+136>>2]=0}n[e+140>>0]=1;_[e+136>>2]=i;_[e+132>>2]=f;o=e+136|0}else o=e+136|0;i=c;do{d=(_[o>>2]|0)+(i<<4)|0;_[d>>2]=_[m>>2];_[d+4>>2]=_[m+4>>2];_[d+8>>2]=_[m+8>>2];_[d+12>>2]=_[m+12>>2];i=i+1|0}while((i|0)!=(f|0))}_[e+128>>2]=f;if((f|0)>0){s=_[e+136>>2]|0;i=0;o=_[t+116>>2]|0;while(1){_[s+(i<<4)+12>>2]=_[o+12>>2];r[s+(i<<4)+6>>1]=r[o+6>>1]|0;r[s+(i<<4)+8>>1]=r[o+8>>1]|0;r[s+(i<<4)+10>>1]=r[o+10>>1]|0;r[s+(i<<4)>>1]=r[o>>1]|0;r[s+(i<<4)+2>>1]=r[o+2>>1]|0;r[s+(i<<4)+4>>1]=r[o+4>>1]|0;i=i+1|0;if((i|0)==(f|0))break;else o=o+16|0}}_[e+144>>2]=_[t+120>>2];f=_[t+124>>2]|0;c=_[e+152>>2]|0;if((c|0)<(f|0)){if((_[e+156>>2]|0)<(f|0)){if(!f){i=0;s=c}else{_[6293]=(_[6293]|0)+1;i=cc(f<<5|19)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}s=_[e+152>>2]|0}if((s|0)>0){o=0;do{d=i+(o<<5)|0;p=(_[e+160>>2]|0)+(o<<5)|0;_[d>>2]=_[p>>2];_[d+4>>2]=_[p+4>>2];_[d+8>>2]=_[p+8>>2];_[d+12>>2]=_[p+12>>2];_[d+16>>2]=_[p+16>>2];_[d+20>>2]=_[p+20>>2];_[d+24>>2]=_[p+24>>2];_[d+28>>2]=_[p+28>>2];o=o+1|0}while((o|0)!=(s|0))}o=_[e+160>>2]|0;if(o|0){if(n[e+164>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+160>>2]=0}n[e+164>>0]=1;_[e+160>>2]=i;_[e+156>>2]=f;o=e+160|0}else o=e+160|0;i=c;do{d=(_[o>>2]|0)+(i<<5)|0;_[d>>2]=_[m>>2];_[d+4>>2]=_[m+4>>2];_[d+8>>2]=_[m+8>>2];_[d+12>>2]=_[m+12>>2];_[d+16>>2]=_[m+16>>2];_[d+20>>2]=_[m+20>>2];_[d+24>>2]=_[m+24>>2];_[d+28>>2]=_[m+28>>2];i=i+1|0}while((i|0)!=(f|0))}_[e+152>>2]=f;if((f|0)<=0){u=m;return}s=_[e+160>>2]|0;o=0;i=_[t+128>>2]|0;while(1){r[s+(o<<5)+6>>1]=r[i+14>>1]|0;r[s+(o<<5)+8>>1]=r[i+16>>1]|0;r[s+(o<<5)+10>>1]=r[i+18>>1]|0;r[s+(o<<5)>>1]=r[i+8>>1]|0;r[s+(o<<5)+2>>1]=r[i+10>>1]|0;r[s+(o<<5)+4>>1]=r[i+12>>1]|0;_[s+(o<<5)+12>>2]=_[i>>2];_[s+(o<<5)+16>>2]=_[i+4>>2];o=o+1|0;if((o|0)==(f|0))break;else i=i+20|0}u=m;return}function fd(e,t){e=e|0;t=t|0;var i=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0;p=u;u=u+64|0;_[e+20>>2]=_[t+16>>2];_[e+24>>2]=_[t+20>>2];_[e+28>>2]=_[t+24>>2];_[e+32>>2]=_[t+28>>2];_[e+4>>2]=_[t>>2];_[e+8>>2]=_[t+4>>2];_[e+12>>2]=_[t+8>>2];_[e+16>>2]=_[t+12>>2];_[e+36>>2]=_[t+32>>2];_[e+40>>2]=_[t+36>>2];_[e+44>>2]=_[t+40>>2];_[e+48>>2]=_[t+44>>2];_[e+56>>2]=_[t+48>>2];n[e+60>>0]=(_[t+52>>2]|0)!=0&1;b=_[t+56>>2]|0;c=p;l=c+64|0;do{_[c>>2]=0;c=c+4|0}while((c|0)<(l|0));f=_[e+88>>2]|0;if((f|0)<(b|0)){if((_[e+92>>2]|0)<(b|0)){if(!b){i=0;s=f}else{_[6293]=(_[6293]|0)+1;i=cc(b<<6|19)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}s=_[e+88>>2]|0}if((s|0)>0){o=0;do{c=i+(o<<6)|0;a=(_[e+96>>2]|0)+(o<<6)|0;l=c+64|0;do{_[c>>2]=_[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(l|0));o=o+1|0}while((o|0)!=(s|0))}o=_[e+96>>2]|0;if(o|0){if(n[e+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+96>>2]=0}n[e+100>>0]=1;_[e+96>>2]=i;_[e+92>>2]=b;o=e+96|0}else o=e+96|0;i=f;do{c=(_[o>>2]|0)+(i<<6)|0;a=p;l=c+64|0;do{_[c>>2]=_[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(l|0));i=i+1|0}while((i|0)!=(b|0))}_[e+88>>2]=b;if((b|0)>0){s=_[e+96>>2]|0;i=_[t+64>>2]|0;o=0;while(1){_[s+(o<<6)+16>>2]=_[i+16>>2];_[s+(o<<6)+20>>2]=_[i+20>>2];_[s+(o<<6)+24>>2]=_[i+24>>2];_[s+(o<<6)+28>>2]=_[i+28>>2];_[s+(o<<6)>>2]=_[i>>2];_[s+(o<<6)+4>>2]=_[i+4>>2];_[s+(o<<6)+8>>2]=_[i+8>>2];_[s+(o<<6)+12>>2]=_[i+12>>2];_[s+(o<<6)+32>>2]=_[i+32>>2];_[s+(o<<6)+36>>2]=_[i+36>>2];_[s+(o<<6)+40>>2]=_[i+40>>2];o=o+1|0;if((o|0)==(b|0))break;else i=i+48|0}}a=_[t+60>>2]|0;_[p>>2]=0;_[p+4>>2]=0;_[p+8>>2]=0;_[p+12>>2]=0;c=_[e+128>>2]|0;if((c|0)<(a|0)){if((_[e+132>>2]|0)<(a|0)){if(!a){i=0;s=c}else{_[6293]=(_[6293]|0)+1;i=cc((a<<4|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}s=_[e+128>>2]|0}if((s|0)>0){o=0;do{b=i+(o<<4)|0;f=(_[e+136>>2]|0)+(o<<4)|0;_[b>>2]=_[f>>2];_[b+4>>2]=_[f+4>>2];_[b+8>>2]=_[f+8>>2];_[b+12>>2]=_[f+12>>2];o=o+1|0}while((o|0)!=(s|0))}o=_[e+136>>2]|0;if(o|0){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+136>>2]=0}n[e+140>>0]=1;_[e+136>>2]=i;_[e+132>>2]=a;o=e+136|0}else o=e+136|0;i=c;do{b=(_[o>>2]|0)+(i<<4)|0;_[b>>2]=_[p>>2];_[b+4>>2]=_[p+4>>2];_[b+8>>2]=_[p+8>>2];_[b+12>>2]=_[p+12>>2];i=i+1|0}while((i|0)!=(a|0))}_[e+128>>2]=a;if((a|0)>0){s=_[e+136>>2]|0;i=0;o=_[t+68>>2]|0;while(1){_[s+(i<<4)+12>>2]=_[o+12>>2];r[s+(i<<4)+6>>1]=r[o+6>>1]|0;r[s+(i<<4)+8>>1]=r[o+8>>1]|0;r[s+(i<<4)+10>>1]=r[o+10>>1]|0;r[s+(i<<4)>>1]=r[o>>1]|0;r[s+(i<<4)+2>>1]=r[o+2>>1]|0;r[s+(i<<4)+4>>1]=r[o+4>>1]|0;i=i+1|0;if((i|0)==(a|0))break;else o=o+16|0}}_[e+144>>2]=_[t+76>>2];a=_[t+80>>2]|0;c=_[e+152>>2]|0;if((c|0)<(a|0)){if((_[e+156>>2]|0)<(a|0)){if(!a){i=0;s=c}else{_[6293]=(_[6293]|0)+1;i=cc(a<<5|19)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}s=_[e+152>>2]|0}if((s|0)>0){o=0;do{b=i+(o<<5)|0;f=(_[e+160>>2]|0)+(o<<5)|0;_[b>>2]=_[f>>2];_[b+4>>2]=_[f+4>>2];_[b+8>>2]=_[f+8>>2];_[b+12>>2]=_[f+12>>2];_[b+16>>2]=_[f+16>>2];_[b+20>>2]=_[f+20>>2];_[b+24>>2]=_[f+24>>2];_[b+28>>2]=_[f+28>>2];o=o+1|0}while((o|0)!=(s|0))}o=_[e+160>>2]|0;if(o|0){if(n[e+164>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+160>>2]=0}n[e+164>>0]=1;_[e+160>>2]=i;_[e+156>>2]=a;o=e+160|0}else o=e+160|0;i=c;do{b=(_[o>>2]|0)+(i<<5)|0;_[b>>2]=_[p>>2];_[b+4>>2]=_[p+4>>2];_[b+8>>2]=_[p+8>>2];_[b+12>>2]=_[p+12>>2];_[b+16>>2]=_[p+16>>2];_[b+20>>2]=_[p+20>>2];_[b+24>>2]=_[p+24>>2];_[b+28>>2]=_[p+28>>2];i=i+1|0}while((i|0)!=(a|0))}_[e+152>>2]=a;if((a|0)<=0){u=p;return}s=_[e+160>>2]|0;o=0;i=_[t+72>>2]|0;while(1){r[s+(o<<5)+6>>1]=r[i+14>>1]|0;r[s+(o<<5)+8>>1]=r[i+16>>1]|0;r[s+(o<<5)+10>>1]=r[i+18>>1]|0;r[s+(o<<5)>>1]=r[i+8>>1]|0;r[s+(o<<5)+2>>1]=r[i+10>>1]|0;r[s+(o<<5)+4>>1]=r[i+12>>1]|0;_[s+(o<<5)+12>>2]=_[i>>2];_[s+(o<<5)+16>>2]=_[i+4>>2];o=o+1|0;if((o|0)==(a|0))break;else i=i+20|0}u=p;return}function gd(e,t){e=e|0;t=+t;var i=0,r=0.0,o=0,s=0,c=0.0,l=0.0,f=0,b=0,p=0,d=0.0,m=0.0,h=0,y=0.0,g=0,C=0;h=u;u=u+288|0;p=_[e+248>>2]|0;if((p|0)>0){o=_[e+256>>2]|0;s=h+224+48|0;f=h+64+28|0;i=0;do{b=_[o+(i<<2)>>2]|0;a[b+268>>2]=1.0;e:do{switch(_[b+220>>2]|0){case 2:case 5:break;default:if(!(_[b+204>>2]&3)){Ue(b+4|0,+a[b+372>>2],+a[b+376>>2],+a[b+380>>2],b+388|0,t,h+224|0);r=+a[s>>2]-+a[b+52>>2];c=+a[h+224+52>>2]-+a[b+56>>2];l=+a[h+224+56>>2]-+a[b+60>>2];do{if((n[e+44>>0]|0?(y=+a[b+276>>2],y*y!=0.0?y*y<r*r+c*c+l*l:0):0)?(_[(_[b+192>>2]|0)+4>>2]|0)<20:0){_[5834]=(_[5834]|0)+1;C=_[e+68>>2]|0;C=ya[_[(_[C>>2]|0)+36>>2]&127](C)|0;g=_[e+24>>2]|0;a[h+120+4>>2]=1.0;_[h+120+16>>2]=_[b+52>>2];_[h+120+16+4>>2]=_[b+52+4>>2];_[h+120+16+8>>2]=_[b+52+8>>2];_[h+120+16+12>>2]=_[b+52+12>>2];_[h+120+32>>2]=_[s>>2];_[h+120+32+4>>2]=_[s+4>>2];_[h+120+32+8>>2]=_[s+8>>2];_[h+120+32+12>>2]=_[s+12>>2];_[h+120+80>>2]=0;_[h+120>>2]=4152;_[h+120+84>>2]=b;_[h+120+92>>2]=C;_[h+120+96>>2]=g;g=_[b+272>>2]|0;_[h+64+8>>2]=0;_[h+64+12>>2]=-1;_[h+64>>2]=7676;_[h+64+4>>2]=8;_[h+64+16>>2]=1065353216;_[h+64+20>>2]=1065353216;_[h+64+24>>2]=1065353216;_[f>>2]=0;_[f+4>>2]=0;_[f+8>>2]=0;_[f+12>>2]=0;_[f+16>>2]=0;_[h+64+32>>2]=g;_[h+64+48>>2]=g;a[h+64+52>>2]=0.0;_[h+120+88>>2]=_[e+56>>2];g=_[b+188>>2]|0;_[h+120+8>>2]=_[g+4>>2];_[h+120+12>>2]=_[g+8>>2];_[h+48>>2]=_[s>>2];_[h+48+4>>2]=_[s+4>>2];_[h+48+8>>2]=_[s+8>>2];_[h+48+12>>2]=_[s+12>>2];_[h>>2]=_[b+4>>2];_[h+4>>2]=_[b+4+4>>2];_[h+8>>2]=_[b+4+8>>2];_[h+12>>2]=_[b+4+12>>2];_[h+16>>2]=_[b+20>>2];_[h+16+4>>2]=_[b+20+4>>2];_[h+16+8>>2]=_[b+20+8>>2];_[h+16+12>>2]=_[b+20+12>>2];_[h+32>>2]=_[b+36>>2];_[h+32+4>>2]=_[b+36+4>>2];_[h+32+8>>2]=_[b+36+8>>2];_[h+32+12>>2]=_[b+36+12>>2];zd(e,h+64|0,b+4|0,h,h+120|0,0.0);r=+a[h+120+4>>2];if(r<1.0){a[b+268>>2]=r;Ue(b+4|0,+a[b+372>>2],+a[b+376>>2],+a[b+380>>2],b+388|0,r*t,h+224|0);a[b+268>>2]=0.0;oe(b,h+224|0);break e}else break}}while(0);oe(b,h+224|0)}}}while(0);i=i+1|0}while((i|0)<(p|0))}if(!(n[e+291>>0]|0)){u=h;return}if((_[e+324>>2]|0)<=0){u=h;return}b=0;do{p=_[(_[e+332>>2]|0)+(b<<2)>>2]|0;o=_[p+772>>2]|0;o=(_[o+252>>2]&2|0)==0?0:o;f=_[p+776>>2]|0;f=(_[f+252>>2]&2|0)==0?0:f;i=_[p+780>>2]|0;if((i|0)>0)if(!o){o=0;do{r=+a[58]*+a[f+232>>2];if(r>0.0?(d=+a[p+4+(o*192|0)+124>>2],d!=0.0):0){l=r*+a[p+4+(o*192|0)+64>>2]*d;t=r*+a[p+4+(o*192|0)+68>>2]*d;y=r*+a[p+4+(o*192|0)+72>>2]*d;r=+a[p+4+(o*192|0)+36>>2]-+a[f+56>>2];c=+a[p+4+(o*192|0)+40>>2]-+a[f+60>>2];a[h+64>>2]=+a[p+4+(o*192|0)+32>>2]-+a[f+52>>2];a[h+64+4>>2]=r;a[h+64+8>>2]=c;a[h+64+12>>2]=0.0;a[h>>2]=l;a[h+4>>2]=t;a[h+8>>2]=y;a[h+12>>2]=0.0;jk(f,h,h+64|0);i=_[p+780>>2]|0}o=o+1|0}while((o|0)<(i|0))}else{s=0;do{r=+a[o+232>>2]*+a[f+232>>2];if(r>0.0?(m=+a[p+4+(s*192|0)+124>>2],m!=0.0):0){l=r*+a[p+4+(s*192|0)+64>>2]*m;t=r*+a[p+4+(s*192|0)+68>>2]*m;y=r*+a[p+4+(s*192|0)+72>>2]*m;a[h+224>>2]=-l;a[h+224+4>>2]=-t;a[h+224+8>>2]=-y;a[h+224+12>>2]=0.0;c=+a[p+4+(s*192|0)+52>>2]-+a[o+56>>2];r=+a[p+4+(s*192|0)+56>>2]-+a[o+60>>2];a[h+120>>2]=+a[p+4+(s*192|0)+48>>2]-+a[o+52>>2];a[h+120+4>>2]=c;a[h+120+8>>2]=r;a[h+120+12>>2]=0.0;r=+a[p+4+(s*192|0)+36>>2]-+a[f+56>>2];c=+a[p+4+(s*192|0)+40>>2]-+a[f+60>>2];a[h+64>>2]=+a[p+4+(s*192|0)+32>>2]-+a[f+52>>2];a[h+64+4>>2]=r;a[h+64+8>>2]=c;a[h+64+12>>2]=0.0;jk(o,h+224|0,h+120|0);a[h>>2]=l;a[h+4>>2]=t;a[h+8>>2]=y;a[h+12>>2]=0.0;jk(f,h,h+64|0);i=_[p+780>>2]|0}s=s+1|0}while((s|0)<(i|0))}b=b+1|0}while((b|0)<(_[e+324>>2]|0));u=h;return}function hd(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0.0,s=0.0,c=0.0,l=0.0,f=0,b=0.0,p=0,d=0,m=0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0;m=u;u=u+240|0;_[e+4>>2]=(_[e+4>>2]|0)+1;d=_[t+36>>2]|0;p=_[i+36>>2]|0;r=_[e+8>>2]|0;W=_[(_[r+4>>2]|0)+28>>2]|0;i=_[W+(d*80|0)+64>>2]|0;t=(_[(_[e+12>>2]|0)+4>>2]|0)+28|0;n=_[(_[t>>2]|0)+(p*80|0)+64>>2]|0;r=_[r+12>>2]|0;b=+a[r>>2];H=+a[r+4>>2];G=+a[r+8>>2];o=+a[r+16>>2];l=+a[r+20>>2];g=+a[r+24>>2];h=+a[r+32>>2];C=+a[r+36>>2];I=+a[r+40>>2];v=+a[W+(d*80|0)>>2];w=+a[W+(d*80|0)+16>>2];k=+a[W+(d*80|0)+32>>2];S=+a[W+(d*80|0)+4>>2];j=+a[W+(d*80|0)+20>>2];R=+a[W+(d*80|0)+36>>2];s=+a[W+(d*80|0)+8>>2];x=+a[W+(d*80|0)+24>>2];M=+a[W+(d*80|0)+40>>2];y=+a[W+(d*80|0)+48>>2];c=+a[W+(d*80|0)+52>>2];O=+a[W+(d*80|0)+56>>2];D=+a[r+48>>2]+(b*y+H*c+G*O);T=+a[r+52>>2]+(o*y+l*c+g*O);O=+a[r+56>>2]+(h*y+C*c+I*O);a[m+176>>2]=b*v+H*w+G*k;a[m+176+4>>2]=b*S+H*j+G*R;a[m+176+8>>2]=b*s+H*x+G*M;a[m+176+12>>2]=0.0;a[m+176+16>>2]=o*v+l*w+g*k;a[m+176+20>>2]=o*S+l*j+g*R;a[m+176+24>>2]=o*s+l*x+g*M;a[m+176+28>>2]=0.0;a[m+176+32>>2]=h*v+C*w+I*k;a[m+176+36>>2]=h*S+C*j+I*R;a[m+176+40>>2]=h*s+C*x+I*M;a[m+176+44>>2]=0.0;a[m+176+48>>2]=D;a[m+176+52>>2]=T;a[m+176+56>>2]=O;a[m+176+60>>2]=0.0;r=_[(_[e+12>>2]|0)+12>>2]|0;O=+a[r>>2];T=+a[r+4>>2];D=+a[r+8>>2];M=+a[r+16>>2];I=+a[r+20>>2];x=+a[r+24>>2];C=+a[r+32>>2];s=+a[r+36>>2];h=+a[r+40>>2];t=_[t>>2]|0;R=+a[t+(p*80|0)>>2];j=+a[t+(p*80|0)+16>>2];S=+a[t+(p*80|0)+32>>2];k=+a[t+(p*80|0)+4>>2];w=+a[t+(p*80|0)+20>>2];v=+a[t+(p*80|0)+36>>2];g=+a[t+(p*80|0)+8>>2];l=+a[t+(p*80|0)+24>>2];o=+a[t+(p*80|0)+40>>2];G=+a[t+(p*80|0)+48>>2];H=+a[t+(p*80|0)+52>>2];b=+a[t+(p*80|0)+56>>2];c=+a[r+48>>2]+(O*G+T*H+D*b);y=+a[r+52>>2]+(M*G+I*H+x*b);b=+a[r+56>>2]+(C*G+s*H+h*b);a[m+112>>2]=O*R+T*j+D*S;a[m+112+4>>2]=O*k+T*w+D*v;a[m+112+8>>2]=O*g+T*l+D*o;a[m+112+12>>2]=0.0;a[m+112+16>>2]=M*R+I*j+x*S;a[m+112+20>>2]=M*k+I*w+x*v;a[m+112+24>>2]=M*g+I*l+x*o;a[m+112+28>>2]=0.0;a[m+112+32>>2]=C*R+s*j+h*S;a[m+112+36>>2]=C*k+s*w+h*v;a[m+112+40>>2]=C*g+s*l+h*o;a[m+112+44>>2]=0.0;a[m+112+48>>2]=c;a[m+112+52>>2]=y;a[m+112+56>>2]=b;a[m+112+60>>2]=0.0;$a[_[(_[i>>2]|0)+8>>2]&127](i,m+176|0,m+96|0,m+80|0);$a[_[(_[n>>2]|0)+8>>2]&127](n,m+112|0,m+64|0,m+48|0);b=+a[(_[e+24>>2]|0)+32>>2];y=+a[m+96>>2]-b;a[m+96>>2]=y;c=+a[m+96+4>>2]-b;a[m+96+4>>2]=c;o=+a[m+96+8>>2]-b;a[m+96+8>>2]=o;h=b+ +a[m+80>>2];a[m+80>>2]=h;l=b+ +a[m+80+4>>2];a[m+80+4>>2]=l;s=b+ +a[m+80+8>>2];a[m+80+8>>2]=s;if(!(y>+a[m+48>>2])?!(h<+a[m+64>>2]):0)t=1;else t=0;if(!(!(o>+a[m+48+8>>2])?!(s<+a[m+64+8>>2]):0))t=0;if(c>+a[m+48+4>>2]){u=m;return}if(l<+a[m+64+4>>2]|t^1){u=m;return}r=_[e+8>>2]|0;t=_[r+8>>2]|0;_[m+24>>2]=r;_[m+24+4>>2]=i;_[m+24+8>>2]=t;_[m+24+12>>2]=m+176;_[m+24+16>>2]=-1;_[m+24+20>>2]=d;t=_[e+12>>2]|0;r=_[t+8>>2]|0;_[m>>2]=t;_[m+4>>2]=n;_[m+8>>2]=r;_[m+12>>2]=m+112;_[m+16>>2]=-1;_[m+20>>2]=p;r=_[e+28>>2]|0;_[6289]=(_[6289]|0)+1;t=(((p<<16|d)+~((p<<16|d)<<15)|0)>>>10^(p<<16|d)+~((p<<16|d)<<15))*9|0;t=(_[r+12>>2]|0)+-1&(((t>>>6^t)+~((t>>>6^t)<<11)|0)>>>16^(t>>>6^t)+~((t>>>6^t)<<11));e:do{if((t|0)<(_[r+28>>2]|0)?(f=_[(_[r+36>>2]|0)+(t<<2)>>2]|0,(f|0)!=-1):0){n=_[r+16>>2]|0;i=f;while(1){t=n+(i*12|0)|0;if((_[t>>2]|0)==(d|0)?(_[n+(i*12|0)+4>>2]|0)==(p|0):0)break e;i=_[(_[r+56>>2]|0)+(i<<2)>>2]|0;if((i|0)==-1){t=0;break}}}else t=0}while(0);do{if(!(b>0.0))if(!t){t=_[e+16>>2]|0;t=wa[_[(_[t>>2]|0)+8>>2]&1](t,m+24|0,m,_[e+32>>2]|0,1)|0;W=_[e+28>>2]|0;_[(xa[_[(_[W>>2]|0)+12>>2]&63](W,d,p)|0)+8>>2]=t;break}else{t=_[t+8>>2]|0;break}else{t=_[e+16>>2]|0;t=wa[_[(_[t>>2]|0)+8>>2]&1](t,m+24|0,m,0,2)|0}}while(0);W=_[e+24>>2]|0;r=_[W+8>>2]|0;f=_[W+12>>2]|0;_[W+8>>2]=m+24;_[W+12>>2]=m;Za[_[(_[W>>2]|0)+8>>2]&127](W,-1,d);W=_[e+24>>2]|0;Za[_[(_[W>>2]|0)+12>>2]&127](W,-1,p);ba[_[(_[t>>2]|0)+8>>2]&31](t,m+24|0,m,_[e+20>>2]|0,_[e+24>>2]|0);W=_[e+24>>2]|0;_[W+8>>2]=r;_[W+12>>2]=f;u=m;return}function id(e,t,i){e=e|0;t=t|0;i=i|0;nh(e,t,i)|0;_[t+52>>2]=_[e+48>>2];_[t+56>>2]=_[e+52>>2];_[t+60>>2]=_[e+56>>2];_[t+64>>2]=_[e+60>>2];_[t+68>>2]=_[e+64>>2];_[t+72>>2]=_[e+68>>2];_[t+76>>2]=_[e+72>>2];_[t+80>>2]=_[e+76>>2];_[t+84>>2]=_[e+80>>2];_[t+88>>2]=_[e+84>>2];_[t+92>>2]=_[e+88>>2];_[t+96>>2]=_[e+92>>2];_[t+100>>2]=_[e+96>>2];_[t+104>>2]=_[e+100>>2];_[t+108>>2]=_[e+104>>2];_[t+112>>2]=_[e+108>>2];_[t+116>>2]=_[e+112>>2];_[t+120>>2]=_[e+116>>2];_[t+124>>2]=_[e+120>>2];_[t+128>>2]=_[e+124>>2];_[t+132>>2]=_[e+128>>2];_[t+136>>2]=_[e+132>>2];_[t+140>>2]=_[e+136>>2];_[t+144>>2]=_[e+140>>2];_[t+148>>2]=_[e+144>>2];_[t+152>>2]=_[e+148>>2];_[t+156>>2]=_[e+152>>2];_[t+160>>2]=_[e+156>>2];_[t+164>>2]=_[e+160>>2];_[t+168>>2]=_[e+164>>2];_[t+172>>2]=_[e+168>>2];_[t+176>>2]=_[e+172>>2];_[t+428>>2]=_[e+968>>2];_[t+412>>2]=_[e+972>>2];_[t+444>>2]=_[e+976>>2];_[t+460>>2]=_[e+980>>2];_[t+476>>2]=_[e+984>>2];_[t+492>>2]=_[e+988>>2];_[t+508>>2]=_[e+992>>2];_[t+524>>2]=_[e+1e3>>2];_[t+540>>2]=_[e+1004>>2];_[t+556>>2]=_[e+1012>>2];_[t+572>>2]=_[e+1020>>2];_[t+588>>2]=_[e+1028>>2];_[t+604>>2]=_[e+1036>>2];_[t+432>>2]=_[e+1056>>2];_[t+416>>2]=_[e+1060>>2];_[t+448>>2]=_[e+1064>>2];_[t+464>>2]=_[e+1068>>2];_[t+480>>2]=_[e+1072>>2];_[t+496>>2]=_[e+1076>>2];_[t+512>>2]=_[e+1080>>2];_[t+528>>2]=_[e+1088>>2];_[t+544>>2]=_[e+1092>>2];_[t+560>>2]=_[e+1100>>2];_[t+576>>2]=_[e+1108>>2];_[t+592>>2]=_[e+1116>>2];_[t+608>>2]=_[e+1124>>2];_[t+436>>2]=_[e+1144>>2];_[t+420>>2]=_[e+1148>>2];_[t+452>>2]=_[e+1152>>2];_[t+468>>2]=_[e+1156>>2];_[t+484>>2]=_[e+1160>>2];_[t+500>>2]=_[e+1164>>2];_[t+516>>2]=_[e+1168>>2];_[t+532>>2]=_[e+1176>>2];_[t+548>>2]=_[e+1180>>2];_[t+564>>2]=_[e+1188>>2];_[t+580>>2]=_[e+1196>>2];_[t+596>>2]=_[e+1204>>2];_[t+612>>2]=_[e+1212>>2];a[t+440>>2]=0.0;a[t+424>>2]=0.0;a[t+456>>2]=0.0;a[t+472>>2]=0.0;a[t+488>>2]=0.0;a[t+504>>2]=0.0;a[t+520>>2]=0.0;a[t+536>>2]=0.0;a[t+552>>2]=0.0;a[t+568>>2]=0.0;a[t+584>>2]=0.0;a[t+600>>2]=0.0;a[t+616>>2]=0.0;n[t+620>>0]=n[e+996>>0]|0;n[t+624>>0]=n[e+1008>>0]|0;n[t+628>>0]=n[e+1016>>0]|0;n[t+632>>0]=n[e+1024>>0]|0;n[t+636>>0]=n[e+1032>>0]|0;n[t+621>>0]=n[e+1084>>0]|0;n[t+625>>0]=n[e+1096>>0]|0;n[t+629>>0]=n[e+1104>>0]|0;n[t+633>>0]=n[e+1112>>0]|0;n[t+637>>0]=n[e+1120>>0]|0;n[t+622>>0]=n[e+1172>>0]|0;n[t+626>>0]=n[e+1184>>0]|0;n[t+630>>0]=n[e+1192>>0]|0;n[t+634>>0]=n[e+1200>>0]|0;n[t+638>>0]=n[e+1208>>0]|0;n[t+623>>0]=0;n[t+627>>0]=0;n[t+631>>0]=0;n[t+635>>0]=0;n[t+639>>0]=0;_[t+196>>2]=_[e+680>>2];_[t+200>>2]=_[e+684>>2];_[t+204>>2]=_[e+688>>2];_[t+208>>2]=_[e+692>>2];_[t+180>>2]=_[e+696>>2];_[t+184>>2]=_[e+700>>2];_[t+188>>2]=_[e+704>>2];_[t+192>>2]=_[e+708>>2];_[t+212>>2]=_[e+712>>2];_[t+216>>2]=_[e+716>>2];_[t+220>>2]=_[e+720>>2];_[t+224>>2]=_[e+724>>2];_[t+228>>2]=_[e+728>>2];_[t+232>>2]=_[e+732>>2];_[t+236>>2]=_[e+736>>2];_[t+240>>2]=_[e+740>>2];_[t+244>>2]=_[e+744>>2];_[t+248>>2]=_[e+748>>2];_[t+252>>2]=_[e+752>>2];_[t+256>>2]=_[e+756>>2];_[t+260>>2]=_[e+760>>2];_[t+264>>2]=_[e+764>>2];_[t+268>>2]=_[e+768>>2];_[t+272>>2]=_[e+772>>2];_[t+276>>2]=_[e+776>>2];_[t+280>>2]=_[e+780>>2];_[t+284>>2]=_[e+784>>2];_[t+288>>2]=_[e+788>>2];_[t+292>>2]=_[e+876>>2];_[t+296>>2]=_[e+880>>2];_[t+300>>2]=_[e+884>>2];_[t+304>>2]=_[e+888>>2];_[t+308>>2]=_[e+892>>2];_[t+312>>2]=_[e+896>>2];_[t+316>>2]=_[e+900>>2];_[t+320>>2]=_[e+904>>2];_[t+324>>2]=_[e+804>>2];_[t+328>>2]=_[e+808>>2];_[t+332>>2]=_[e+812>>2];_[t+336>>2]=_[e+816>>2];_[t+340>>2]=_[e+820>>2];_[t+344>>2]=_[e+824>>2];_[t+348>>2]=_[e+828>>2];_[t+352>>2]=_[e+832>>2];_[t+356>>2]=_[e+840>>2];_[t+360>>2]=_[e+844>>2];_[t+364>>2]=_[e+848>>2];_[t+368>>2]=_[e+852>>2];_[t+372>>2]=_[e+860>>2];_[t+376>>2]=_[e+864>>2];_[t+380>>2]=_[e+868>>2];_[t+384>>2]=_[e+872>>2];n[t+388>>0]=n[e+792>>0]|0;n[t+392>>0]=n[e+795>>0]|0;n[t+396>>0]=n[e+798>>0]|0;n[t+400>>0]=n[e+836>>0]|0;n[t+404>>0]=n[e+856>>0]|0;n[t+389>>0]=n[e+793>>0]|0;n[t+393>>0]=n[e+796>>0]|0;n[t+397>>0]=n[e+799>>0]|0;n[t+401>>0]=n[e+837>>0]|0;n[t+405>>0]=n[e+857>>0]|0;n[t+390>>0]=n[e+794>>0]|0;n[t+394>>0]=n[e+797>>0]|0;n[t+398>>0]=n[e+800>>0]|0;n[t+402>>0]=n[e+838>>0]|0;n[t+406>>0]=n[e+858>>0]|0;n[t+391>>0]=0;n[t+395>>0]=0;n[t+399>>0]=0;n[t+403>>0]=0;n[t+407>>0]=0;_[t+640>>2]=_[e+1232>>2];_[t+408>>2]=0;return 11455}function jd(e,t,i,r,o,s){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;var c=0.0,l=0,f=0.0,p=0,d=0,m=0,h=0.0,y=0.0,g=0.0,C=0,v=0.0,w=0.0;C=u;u=u+288|0;m=_[e+4>>2]|0;n[m+312>>0]=0;_[m>>2]=0;n[m+356>>0]=1;_[m+292>>2]=1566444395;_[m+296>>2]=1566444395;_[m+300>>2]=1566444395;a[m+304>>2]=0.0;_[m+336>>2]=0;_[m+336+4>>2]=0;_[m+336+8>>2]=0;_[m+336+12>>2]=0;n[m+336+16>>0]=0;n[m+332>>0]=n[m+332>>0]&-16;h=+a[i+48>>2]-+a[t+48>>2]-(+a[o+48>>2]-+a[r+48>>2]);y=+a[i+52>>2]-+a[t+52>>2]-(+a[o+52>>2]-+a[r+52>>2]);g=+a[i+56>>2]-+a[t+56>>2]-(+a[o+56>>2]-+a[r+56>>2]);_[C+216>>2]=8808;a[C+216+36>>2]=999999984306749440.0;n[C+216+40>>0]=0;m=_[e+8>>2]|0;d=_[e+12>>2]|0;p=_[e+4>>2]|0;_[C+136>>2]=8876;_[C+136+4>>2]=0;_[C+136+8>>2]=1065353216;_[C+136+12>>2]=0;a[C+136+16>>2]=0.0;_[C+136+20>>2]=0;_[C+136+24>>2]=p;_[C+136+28>>2]=m;_[C+136+32>>2]=d;_[C+136+36>>2]=_[m+4>>2];_[C+136+40>>2]=_[d+4>>2];a[C+136+44>>2]=+Da[_[(_[m>>2]|0)+48>>2]&15](m);a[C+136+48>>2]=+Da[_[(_[d>>2]|0)+48>>2]&15](d);n[C+136+52>>0]=0;_[C+136+60>>2]=-1;_[C+136+72>>2]=1;_[C+136+76>>2]=1;a[C+128>>2]=999999984306749440.0;_[C>>2]=_[t>>2];_[C+4>>2]=_[t+4>>2];_[C+8>>2]=_[t+8>>2];_[C+12>>2]=_[t+12>>2];_[C+16>>2]=_[t+16>>2];_[C+16+4>>2]=_[t+16+4>>2];_[C+16+8>>2]=_[t+16+8>>2];_[C+16+12>>2]=_[t+16+12>>2];_[C+32>>2]=_[t+32>>2];_[C+32+4>>2]=_[t+32+4>>2];_[C+32+8>>2]=_[t+32+8>>2];_[C+32+12>>2]=_[t+32+12>>2];_[C+48>>2]=_[t+48>>2];_[C+48+4>>2]=_[t+48+4>>2];_[C+48+8>>2]=_[t+48+8>>2];_[C+48+12>>2]=_[t+48+12>>2];_[C+64>>2]=_[r>>2];_[C+64+4>>2]=_[r+4>>2];_[C+64+8>>2]=_[r+8>>2];_[C+64+12>>2]=_[r+12>>2];_[C+80>>2]=_[r+16>>2];_[C+80+4>>2]=_[r+16+4>>2];_[C+80+8>>2]=_[r+16+8>>2];_[C+80+12>>2]=_[r+16+12>>2];_[C+96>>2]=_[r+32>>2];_[C+96+4>>2]=_[r+32+4>>2];_[C+96+8>>2]=_[r+32+8>>2];_[C+96+12>>2]=_[r+32+12>>2];_[C+112>>2]=_[r+48>>2];_[C+112+4>>2]=_[r+48+4>>2];_[C+112+8>>2]=_[r+48+8>>2];_[C+112+12>>2]=_[r+48+12>>2];tc(C+136|0,C,C+216|0,0,0);d=(n[C+216+40>>0]|0)==0;m=C+216+20|0;_[C+264>>2]=_[m>>2];_[C+264+4>>2]=_[m+4>>2];_[C+264+8>>2]=_[m+8>>2];_[C+264+12>>2]=_[m+12>>2];if(d){s=0;u=C;return s|0}f=+a[C+216+36>>2];c=+a[C+216+16>>2];e=_[C+216+12>>2]|0;l=_[C+216+8>>2]|0;p=_[C+216+4>>2]|0;do{if(f>1.0000000474974513e-03){d=0;c=0.0;while(1){if((d|0)>31){e=0;d=13;break}w=h*(_[b>>2]=p,+a[b>>2]);w=y*(_[b>>2]=l,+a[b>>2])+w;v=c;c=c-f/(g*(_[b>>2]=e,+a[b>>2])+w);if(!(!(c<=v)&(!(c<0.0)&!(c>1.0)))){e=0;d=13;break}pa[_[_[s>>2]>>2]&31](s,c);w=1.0-c;a[C+48>>2]=w*+a[t+48>>2]+c*+a[i+48>>2];a[C+52>>2]=w*+a[t+52>>2]+c*+a[i+52>>2];a[C+56>>2]=w*+a[t+56>>2]+c*+a[i+56>>2];a[C+112>>2]=w*+a[r+48>>2]+c*+a[o+48>>2];a[C+116>>2]=w*+a[r+52>>2]+c*+a[o+52>>2];a[C+120>>2]=w*+a[r+56>>2]+c*+a[o+56>>2];tc(C+136|0,C,C+216|0,0,0);if(!(n[C+216+40>>0]|0)){e=0;d=13;break}f=+a[C+216+36>>2];if(f<0.0){d=8;break}_[C+264>>2]=_[m>>2];_[C+264+4>>2]=_[m+4>>2];_[C+264+8>>2]=_[m+8>>2];_[C+264+12>>2]=_[m+12>>2];e=_[C+216+12>>2]|0;l=_[C+216+8>>2]|0;p=_[C+216+4>>2]|0;if(!(f>1.0000000474974513e-03)){d=10;break}else d=d+1|0}if((d|0)==8){a[s+164>>2]=c;i=_[C+216+8>>2]|0;r=_[C+216+12>>2]|0;o=_[C+216+16>>2]|0;_[s+132>>2]=_[C+216+4>>2];_[s+136>>2]=i;_[s+140>>2]=r;_[s+144>>2]=o;_[s+148>>2]=_[m>>2];_[s+148+4>>2]=_[m+4>>2];_[s+148+8>>2]=_[m+8>>2];_[s+148+12>>2]=_[m+12>>2];s=1;u=C;return s|0}else if((d|0)==10){f=c;c=+a[C+216+16>>2];break}else if((d|0)==13){u=C;return e|0}}else f=0.0}while(0);w=h*(_[b>>2]=p,+a[b>>2]);w=y*(_[b>>2]=l,+a[b>>2])+w;if(g*(_[b>>2]=e,+a[b>>2])+w>=-+a[s+172>>2]){s=0;u=C;return s|0}a[s+164>>2]=f;_[s+132>>2]=p;_[s+136>>2]=l;_[s+140>>2]=e;a[s+144>>2]=c;_[s+148>>2]=_[C+264>>2];_[s+148+4>>2]=_[C+264+4>>2];_[s+148+8>>2]=_[C+264+8>>2];_[s+148+12>>2]=_[C+264+12>>2];s=1;u=C;return s|0}function kd(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var c=0,l=0.0,f=0.0,b=0,p=0.0,d=0,m=0.0,h=0.0,y=0.0,g=0,C=0.0,v=0,w=0,k=0.0,S=0.0,j=0,R=0,x=0,I=0,M=0,D=0,T=0,O=0,H=0,G=0,W=0,F=0,A=0,P=0,B=0,L=0,V=0;V=u;u=u+16|0;_[t+16>>2]=_[i>>2];_[t+16+4>>2]=_[i+4>>2];_[t+16+8>>2]=_[i+8>>2];_[t+16+12>>2]=_[i+12>>2];_[t+32>>2]=_[n>>2];_[t+32+4>>2]=_[n+4>>2];_[t+32+8>>2]=_[n+8>>2];_[t+32+12>>2]=_[n+12>>2];H=_[e+60>>2]|0;G=_[t+12>>2]&65535;m=+a[e+8>>2];y=+a[e+12>>2];k=+a[e+16>>2];h=+a[e+40>>2];l=(+a[i>>2]-m)*h;C=+a[e+44>>2];f=(+a[i+4>>2]-y)*C;S=+a[e+48>>2];p=(+a[i+8>>2]-k)*S;if(!(l<=0.0)){d=r[e+6>>1]|0;d=(!(l>=+(d&65535))?~~l&65535:d)&r[e+4>>1]}else d=0;r[V+6>>1]=d;if(!(f<=0.0)){c=r[e+6>>1]|0;c=(!(f>=+(c&65535))?~~f&65535:c)&r[e+4>>1]}else c=0;r[V+6+2>>1]=c;if(!(p<=0.0)){c=r[e+6>>1]|0;c=(!(p>=+(c&65535))?~~p&65535:c)&r[e+4>>1]}else c=0;r[V+6+4>>1]=c;p=(+a[n>>2]-m)*h;f=(+a[n+4>>2]-y)*C;l=(+a[n+8>>2]-k)*S;if(!(p<=0.0)){b=r[e+6>>1]|0;b=(!(p>=+(b&65535))?~~p&65535:b)&r[e+4>>1]|1}else b=1;r[V>>1]=b;if(!(f<=0.0)){c=r[e+6>>1]|0;c=(!(f>=+(c&65535))?~~f&65535:c)&r[e+4>>1]|1}else c=1;r[V+2>>1]=c;if(!(l<=0.0)){c=r[e+6>>1]|0;c=(!(l>=+(c&65535))?~~l&65535:c)&r[e+4>>1]|1}else c=1;r[V+4>>1]=c;O=0;while(1){M=r[H+(G<<6)+48+(O<<1)>>1]|0;D=r[H+(G<<6)+54+(O<<1)>>1]|0;x=e+68+(O<<2)|0;R=_[x>>2]|0;I=(d&65535)-(s[R+((M&65535)<<2)>>1]|0)|0;T=(b&65535)-(s[R+((D&65535)<<2)>>1]|0)|0;r[R+((M&65535)<<2)>>1]=d;r[R+((D&65535)<<2)>>1]=b;if((I|0)<0)Mg(e,O,M);e:do{if((T|0)>0?(W=_[x>>2]|0,F=_[e+60>>2]|0,A=s[W+((D&65535)<<2)+2>>1]|0,P=r[W+((D&65535)<<2)+6>>1]|0,P<<16>>16):0){j=1<<O&3;R=F+(A<<6)+54+(O<<1)|0;v=W+((D&65535)<<2)|0;c=P;do{w=v;v=v+4|0;b=r[v>>1]|0;if((s[w>>1]|0)<(b&65535))break e;g=_[e+60>>2]|0;d=c&65535;if(!(b&1)){do{if((((s[F+(A<<6)+54+(j<<1)>>1]|0)>=(s[g+(d<<6)+48+(j<<1)>>1]|0)?(s[g+(d<<6)+54+(j<<1)>>1]|0)>=(s[F+(A<<6)+48+(j<<1)>>1]|0):0)?(s[F+(A<<6)+54+((1<<j&3)<<1)>>1]|0)>=(s[g+(d<<6)+48+((1<<j&3)<<1)>>1]|0):0)?(s[g+(d<<6)+54+((1<<j&3)<<1)>>1]|0)>=(s[F+(A<<6)+48+((1<<j&3)<<1)>>1]|0):0){b=_[e+92>>2]|0;c=g+((s[w+2>>1]|0)<<6)|0;xa[_[(_[b>>2]|0)+8>>2]&63](b,c,g+(d<<6)|0)|0;b=_[e+96>>2]|0;if(!b)break;xa[_[(_[b>>2]|0)+8>>2]&63](b,c,g+(d<<6)|0)|0}}while(0);c=g+(d<<6)+48+(O<<1)|0}else c=g+(d<<6)+54+(O<<1)|0;r[c>>1]=(r[c>>1]|0)+-1<<16>>16;r[R>>1]=(r[R>>1]|0)+1<<16>>16;c=s[w>>1]|s[w+2>>1]<<16;g=s[v>>1]|s[v+2>>1]<<16;r[w>>1]=g;r[w+2>>1]=g>>>16;r[v>>1]=c;r[v+2>>1]=c>>>16;c=r[w+10>>1]|0}while(c<<16>>16!=0)}}while(0);e:do{if((I|0)>0?(B=_[x>>2]|0,L=r[B+((M&65535)<<2)+6>>1]|0,L<<16>>16):0){j=(_[e+60>>2]|0)+((s[B+((M&65535)<<2)+2>>1]|0)<<6)+48+(O<<1)|0;R=1<<O&3;v=B+((M&65535)<<2)|0;c=L;do{w=v;v=v+4|0;b=r[v>>1]|0;if((s[w>>1]|0)<(b&65535))break e;g=_[e+60>>2]|0;d=c&65535;if(!(b&1))c=g+(d<<6)+48+(O<<1)|0;else{c=s[w+2>>1]|0;do{if(((s[g+(c<<6)+54+(R<<1)>>1]|0)>=(s[g+(d<<6)+48+(R<<1)>>1]|0)?(s[g+(d<<6)+54+(R<<1)>>1]|0)>=(s[g+(c<<6)+48+(R<<1)>>1]|0):0)?(s[g+(c<<6)+54+((1<<R&3)<<1)>>1]|0)>=(s[g+(d<<6)+48+((1<<R&3)<<1)>>1]|0):0){if((s[g+(d<<6)+54+((1<<R&3)<<1)>>1]|0)<(s[g+(c<<6)+48+((1<<R&3)<<1)>>1]|0))break;b=_[e+92>>2]|0;Ua[_[(_[b>>2]|0)+12>>2]&31](b,g+(c<<6)|0,g+(d<<6)|0,o)|0;b=_[e+96>>2]|0;if(!b)break;Ua[_[(_[b>>2]|0)+12>>2]&31](b,g+(c<<6)|0,g+(d<<6)|0,o)|0}}while(0);c=g+(d<<6)+54+(O<<1)|0}r[c>>1]=(r[c>>1]|0)+-1<<16>>16;r[j>>1]=(r[j>>1]|0)+1<<16>>16;c=s[w>>1]|s[w+2>>1]<<16;M=s[v>>1]|s[v+2>>1]<<16;r[w>>1]=M;r[w+2>>1]=M>>>16;r[v>>1]=c;r[v+2>>1]=c>>>16;c=r[w+10>>1]|0}while(c<<16>>16!=0)}}while(0);if((T|0)<0)Gg(e,O,D,o);c=O+1|0;if((c|0)==3)break;O=c;d=r[V+6+(c<<1)>>1]|0;b=r[V+(c<<1)>>1]|0}c=_[e+108>>2]|0;if(!c){u=V;return}ba[_[(_[c>>2]|0)+16>>2]&31](c,_[t+60>>2]|0,i,n,o);u=V;return}function ld(e){e=e|0;var t=0.0,i=0,r=0,o=0,s=0,c=0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0,h=0;m=u;u=u+192|0;if(!(ya[_[(_[e>>2]|0)+20>>2]&127](e)|0)){u=m;return}s=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;ua[_[(_[s>>2]|0)+100>>2]&511](s);s=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;ma[_[(_[s>>2]|0)+8>>2]&127](m+80|0,s);s=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;if(((ya[_[(_[s>>2]|0)+56>>2]&127](s)|0)&8|0?(i=_[e+24>>2]|0,i|0):0)?(c=ya[_[(_[i>>2]|0)+36>>2]&127](i)|0,(c|0)>0):0){r=0;do{o=_[e+24>>2]|0;o=Pa[_[(_[o>>2]|0)+40>>2]&31](o,r)|0;s=_[o+780>>2]|0;if((s|0)>0){i=0;do{h=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;da[_[(_[h>>2]|0)+40>>2]&0](h,o+4+(i*192|0)+32|0,o+4+(i*192|0)+64|0,+a[o+4+(i*192|0)+80>>2],_[o+4+(i*192|0)+156>>2]|0,m+80+96|0);i=i+1|0}while((i|0)!=(s|0))}r=r+1|0}while((r|0)!=(c|0))}h=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;if((ya[_[(_[h>>2]|0)+56>>2]&127](h)|0)&3|0?(_[e+8>>2]|0)>0:0){o=0;do{i=_[(_[e+16>>2]|0)+(o<<2)>>2]|0;if(!(_[i+204>>2]&32)){if(ya[_[(_[e>>2]|0)+20>>2]&127](e)|0?(h=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0,(ya[_[(_[h>>2]|0)+56>>2]&127](h)|0)&1|0):0){_[m+64>>2]=1053609165;_[m+64+4>>2]=1053609165;_[m+64+8>>2]=1053609165;a[m+64+12>>2]=0.0;switch(_[i+220>>2]|0){case 1:{_[m+64>>2]=_[m+80>>2];_[m+64+4>>2]=_[m+80+4>>2];_[m+64+8>>2]=_[m+80+8>>2];_[m+64+12>>2]=_[m+80+12>>2];break}case 2:{_[m+64>>2]=_[m+80+16>>2];_[m+64+4>>2]=_[m+80+16+4>>2];_[m+64+8>>2]=_[m+80+16+8>>2];_[m+64+12>>2]=_[m+80+16+12>>2];break}case 3:{_[m+64>>2]=_[m+80+32>>2];_[m+64+4>>2]=_[m+80+32+4>>2];_[m+64+8>>2]=_[m+80+32+8>>2];_[m+64+12>>2]=_[m+80+32+12>>2];break}case 4:{_[m+64>>2]=_[m+80+48>>2];_[m+64+4>>2]=_[m+80+48+4>>2];_[m+64+8>>2]=_[m+80+48+8>>2];_[m+64+12>>2]=_[m+80+48+12>>2];break}case 5:{_[m+64>>2]=_[m+80+64>>2];_[m+64+4>>2]=_[m+80+64+4>>2];_[m+64+8>>2]=_[m+80+64+8>>2];_[m+64+12>>2]=_[m+80+64+12>>2];break}default:{_[m+64>>2]=1050253722;_[m+64+4>>2]=1050253722;_[m+64+8>>2]=1050253722;a[m+64+12>>2]=0.0}}if(_[i+204>>2]&256|0){_[m+64>>2]=_[i+308>>2];_[m+64+4>>2]=_[i+308+4>>2];_[m+64+8>>2]=_[i+308+8>>2];_[m+64+12>>2]=_[i+308+12>>2]}$a[_[(_[e>>2]|0)+28>>2]&127](e,i+4|0,_[i+192>>2]|0,m+64|0)}r=_[e+72>>2]|0;if(r|0?(ya[_[(_[r>>2]|0)+56>>2]&127](r)|0)&2|0:0){_[m+32>>2]=_[m+80+80>>2];_[m+32+4>>2]=_[m+80+80+4>>2];_[m+32+8>>2]=_[m+80+80+8>>2];_[m+32+12>>2]=_[m+80+80+12>>2];h=_[i+192>>2]|0;$a[_[(_[h>>2]|0)+8>>2]&127](h,i+4|0,m+64|0,m+48|0);a[m+64>>2]=+a[m+64>>2]+-.019999999552965164;a[m+64+4>>2]=+a[m+64+4>>2]+-.019999999552965164;a[m+64+8>>2]=+a[m+64+8>>2]+-.019999999552965164;a[m+48>>2]=+a[m+48>>2]+.019999999552965164;a[m+48+4>>2]=+a[m+48+4>>2]+.019999999552965164;a[m+48+8>>2]=+a[m+48+8>>2]+.019999999552965164;do{if((n[e+44>>0]|0?(_[i+252>>2]|0)==2:0)?(_[i+204>>2]&3|0)==0:0){h=_[i+192>>2]|0;$a[_[(_[h>>2]|0)+8>>2]&127](h,i+68|0,m+16|0,m);t=+a[m+16>>2]+-.019999999552965164;a[m+16>>2]=t;l=+a[m+16+4>>2]+-.019999999552965164;a[m+16+4>>2]=l;f=+a[m+16+8>>2]+-.019999999552965164;a[m+16+8>>2]=f;b=+a[m>>2]+.019999999552965164;a[m>>2]=b;p=+a[m+4>>2]+.019999999552965164;a[m+4>>2]=p;d=+a[m+8>>2]+.019999999552965164;a[m+8>>2]=d;if(t<+a[m+64>>2])a[m+64>>2]=t;if(l<+a[m+64+4>>2])a[m+64+4>>2]=l;if(f<+a[m+64+8>>2])a[m+64+8>>2]=f;t=+a[m+16+12>>2];if(t<+a[m+64+12>>2])a[m+64+12>>2]=t;if(+a[m+48>>2]<b)a[m+48>>2]=b;if(+a[m+48+4>>2]<p)a[m+48+4>>2]=p;if(+a[m+48+8>>2]<d)a[m+48+8>>2]=d;t=+a[m+12>>2];if(!(+a[m+48+12>>2]<t))break;a[m+48+12>>2]=t}}while(0);h=_[e+72>>2]|0;$a[_[(_[h>>2]|0)+60>>2]&127](h,m+64|0,m+48|0,m+32|0)}}o=o+1|0}while((o|0)<(_[e+8>>2]|0))}u=m;return}function md(e,t,i){e=e|0;t=t|0;i=i|0;var o=0,s=0,c=0,a=0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0;g=u;u=u+32|0;o=ya[_[(_[e>>2]|0)+28>>2]&127](e)|0;_[t+20>>2]=o;_[t>>2]=0;if(!o){y=t+24|0;_[y>>2]=0;y=e+4|0;i=t+4|0;y=_[y>>2]|0;_[i>>2]=y;i=e+8|0;i=_[i>>2]|0;y=t+8|0;_[y>>2]=i;y=e+12|0;y=_[y>>2]|0;i=t+12|0;_[i>>2]=y;e=e+16|0;e=_[e>>2]|0;i=t+16|0;_[i>>2]=e;u=g;return 19098}y=xa[_[(_[i>>2]|0)+16>>2]&63](i,32,o)|0;o=_[y+8>>2]|0;_[t>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,o)|0;h=ya[_[(_[e>>2]|0)+28>>2]&127](e)|0;e:do{if((h|0)>0){m=0;while(1){Aa[_[(_[e>>2]|0)+16>>2]&3](e,g+28|0,g+4|0,g+16|0,g+8|0,g+24|0,g+20|0,g,g+12|0,m);s=_[g>>2]|0;_[o+24>>2]=s;_[o+28>>2]=_[g+4>>2];c=o+12|0;f=o+16|0;d=o+4|0;_[o>>2]=0;_[o+4>>2]=0;_[o+8>>2]=0;_[o+12>>2]=0;_[o+16>>2]=0;_[o+20>>2]=0;switch(_[g+12>>2]|0){case 2:{if(s|0){c=xa[_[(_[i>>2]|0)+16>>2]&63](i,4,s*3|0)|0;a=_[c+8>>2]|0;_[o+8>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,a)|0;if((_[g>>2]|0)>0){f=_[g+24>>2]|0;s=0;do{b=f+(U(_[g+20>>2]|0,s)|0)|0;p=s*3|0;_[a+(p<<2)>>2]=_[b>>2];_[a+(p+1<<2)>>2]=_[b+4>>2];_[a+(p+2<<2)>>2]=_[b+8>>2];s=s+1|0}while((s|0)<(_[g>>2]|0))}ba[_[(_[i>>2]|0)+20>>2]&31](i,c,18979,1497453121,_[c+8>>2]|0)}break}case 3:{if(s|0){b=xa[_[(_[i>>2]|0)+16>>2]&63](i,8,s)|0;p=_[b+8>>2]|0;_[c>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,p)|0;c=_[g>>2]|0;if((c|0)>0){a=_[g+24>>2]|0;f=_[g+20>>2]|0;s=0;do{C=a+(U(f,s)|0)|0;r[p+(s<<3)>>1]=r[C>>1]|0;r[p+(s<<3)+2>>1]=r[C+2>>1]|0;r[p+(s<<3)+4>>1]=r[C+4>>1]|0;n[p+(s<<3)+6>>0]=0;n[p+(s<<3)+7>>0]=0;s=s+1|0}while((s|0)!=(c|0))}ba[_[(_[i>>2]|0)+20>>2]&31](i,b,18994,1497453121,_[b+8>>2]|0)}break}case 5:{if(s|0){c=xa[_[(_[i>>2]|0)+16>>2]&63](i,4,s)|0;a=_[c+8>>2]|0;_[f>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,a)|0;if((_[g>>2]|0)>0){s=0;do{C=(_[g+24>>2]|0)+(U(_[g+20>>2]|0,s)|0)|0;n[a+(s<<2)>>0]=n[C>>0]|0;n[a+(s<<2)+1>>0]=n[C+1>>0]|0;n[a+(s<<2)+2>>0]=n[C+2>>0]|0;n[a+(s<<2)+3>>0]=0;s=s+1|0}while((s|0)<(_[g>>2]|0))}ba[_[(_[i>>2]|0)+20>>2]&31](i,c,19021,1497453121,_[c+8>>2]|0)}break}default:{}}switch(_[g+16>>2]|0){case 0:{s=_[g+4>>2]|0;if(s|0){c=xa[_[(_[i>>2]|0)+16>>2]&63](i,16,s)|0;a=_[c+8>>2]|0;_[o>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,a)|0;f=_[g+4>>2]|0;if((f|0)>0){b=_[g+28>>2]|0;p=_[g+8>>2]|0;s=0;do{C=b+(U(p,s)|0)|0;_[a+(s<<4)>>2]=_[C>>2];_[a+(s<<4)+4>>2]=_[C+4>>2];_[a+(s<<4)+8>>2]=_[C+8>>2];s=s+1|0}while((s|0)!=(f|0))}ba[_[(_[i>>2]|0)+20>>2]&31](i,c,19044,1497453121,_[c+8>>2]|0)}break}case 1:{s=_[g+4>>2]|0;if(s|0){b=xa[_[(_[i>>2]|0)+16>>2]&63](i,32,s)|0;p=_[b+8>>2]|0;_[d>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,p)|0;c=_[g+4>>2]|0;if((c|0)>0){a=_[g+28>>2]|0;f=_[g+8>>2]|0;s=0;do{C=a+(U(f,s)|0)|0;l[p+(s<<5)>>3]=+l[C>>3];l[p+(s<<5)+8>>3]=+l[C+8>>3];l[p+(s<<5)+16>>3]=+l[C+16>>3];s=s+1|0}while((s|0)!=(c|0))}ba[_[(_[i>>2]|0)+20>>2]&31](i,b,19063,1497453121,_[b+8>>2]|0)}break}default:{}}ma[_[(_[e>>2]|0)+24>>2]&127](e,m);m=m+1|0;if((m|0)==(h|0)){o=i;break e}else o=o+32|0}}else o=i}while(0);ba[_[(_[o>>2]|0)+20>>2]&31](i,y,19083,1497453121,_[y+8>>2]|0);C=t+24|0;_[C>>2]=0;C=e+4|0;i=t+4|0;C=_[C>>2]|0;_[i>>2]=C;i=e+8|0;i=_[i>>2]|0;C=t+8|0;_[C>>2]=i;C=e+12|0;C=_[C>>2]|0;i=t+12|0;_[i>>2]=C;i=e+16|0;i=_[i>>2]|0;C=t+16|0;_[C>>2]=i;u=g;return 19098}function nd(e,t,i,n,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;var c=0,a=0,l=0,f=0,b=0,p=0,u=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0,S=0,j=0,R=0,x=0,I=0,M=0,D=0,T=0,H=0;a=_[i+8>>2]|0;if(!a){s=0;return s|0}c=0;I=a;do{if((_[I+20>>2]|0)>(_[e+100>>2]|0)){R=_[I+12>>2]|0;w=_[R+88>>2]|0;k=w-(_[i+88>>2]|0)|0;S=_[R+92>>2]|0;j=S-(_[i+92>>2]|0)|0;R=_[R+96>>2]|0;x=R-(_[i+96>>2]|0)|0;l=Qr(_[o>>2]|0,_[o+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;u=O;a=Qr(_[o+8>>2]|0,_[o+8+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;u=mv(a|0,O|0,l|0,u|0)|0;l=O;a=Qr(_[o+16>>2]|0,_[o+16+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;a=mv(u|0,l|0,a|0,O|0)|0;l=O;u=Qr(_[r>>2]|0,_[r+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;v=O;p=Qr(_[r+8>>2]|0,_[r+8+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;v=mv(p|0,O|0,u|0,v|0)|0;u=O;p=Qr(_[r+16>>2]|0,_[r+16+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;p=mv(v|0,u|0,p|0,O|0)|0;u=O;if((l|0)>0|(l|0)==0&a>>>0>0){f=1;v=a}else{v=Lt(0,0,a|0,l|0)|0;f=((a|0)!=0|(l|0)!=0)<<31>>31;v=(a|0)!=0|(l|0)!=0?v:0;l=(a|0)!=0|(l|0)!=0?O:0}if(!((u|0)>0|(u|0)==0&p>>>0>0)){a=Lt(0,0,p|0,u|0)|0;a=(p|0)!=0|(u|0)!=0?a:0;b=(p|0)!=0|(u|0)!=0?O:0;if((a|0)!=0|(b|0)!=0|(f|0)!=0){f=(p|0)!=0|(u|0)!=0?0-f|0:f;p=a;d=8}}else{b=u;d=8}e:do{if((d|0)==8){d=0;if(!c){_[s>>2]=v;_[s+4>>2]=l;_[s+8>>2]=p;_[s+8+4>>2]=b;_[s+16>>2]=f;c=I;break}a=_[s+16>>2]|0;if((f|0)==(a|0)){if(f|0){d=_[s+8>>2]|0;y=_[s+8+4>>2]|0;u=Qr(d|0,0,v|0,0)|0;a=O;g=Qr(y|0,0,v|0,0)|0;h=O;d=Qr(d|0,0,l|0,0)|0;m=O;y=Qr(y|0,0,l|0,0)|0;T=O;d=mv(g|0,0,d|0,0)|0;g=O;T=mv(h|0,0,y|0,T|0)|0;m=mv(T|0,O|0,m|0,0)|0;g=mv(m|0,O|0,g|0,0)|0;m=O;a=mv(0,d|0,u|0,a|0)|0;u=O;d=mv(g|0,m|0,(u>>>0<d>>>0|(u|0)==(d|0)&a>>>0<0)&1|0,0)|0;m=O;g=_[s>>2]|0;T=_[s+4>>2]|0;y=Qr(g|0,0,p|0,0)|0;h=O;M=Qr(T|0,0,p|0,0)|0;H=O;g=Qr(g|0,0,b|0,0)|0;C=O;T=Qr(T|0,0,b|0,0)|0;D=O;g=mv(M|0,0,g|0,0)|0;M=O;D=mv(H|0,0,T|0,D|0)|0;C=mv(D|0,O|0,C|0,0)|0;M=mv(C|0,O|0,M|0,0)|0;C=O;h=mv(0,g|0,y|0,h|0)|0;y=O;g=mv(M|0,C|0,(y>>>0<g>>>0|(y|0)==(g|0)&h>>>0<0)&1|0,0)|0;C=O;if(!(m>>>0<C>>>0|(m|0)==(C|0)&d>>>0<g>>>0))if(m>>>0>C>>>0|(m|0)==(C|0)&d>>>0>g>>>0)a=1;else a=u>>>0<y>>>0|(u|0)==(y|0)&a>>>0<h>>>0?-1:(u>>>0>y>>>0|(u|0)==(y|0)&a>>>0>h>>>0)&1;else a=-1;a=U(a,f)|0;d=17}}else{a=f-a|0;d=17}do{if((d|0)==17){d=0;if((a|0)>=0)if(!a)break;else break e;else{_[s>>2]=v;_[s+4>>2]=l;_[s+8>>2]=p;_[s+8+4>>2]=b;_[s+16>>2]=f;c=I;break e}}}while(0);a=(_[c+4>>2]|0)==(I|0);if((_[c>>2]|0)==(I|0))if(a){H=_[n+8>>2]|0;M=U(H,j)|0;C=_[n+4>>2]|0;M=M-(U(C,x)|0)|0;T=_[n>>2]|0;H=(U(T,x)|0)-(U(H,k)|0)|0;T=(U(C,k)|0)-(U(T,j)|0)|0;C=_[c+12>>2]|0;a=_[(_[I+8>>2]|0)+12>>2]|0;j=_[a+88>>2]|0;k=(_[C+88>>2]|0)-j|0;v=_[a+92>>2]|0;x=(_[C+92>>2]|0)-v|0;a=_[a+96>>2]|0;C=(_[C+96>>2]|0)-a|0;D=(U(R-a|0,x)|0)-(U(S-v|0,C)|0)|0;a=(U(w-j|0,C)|0)-(U(R-a|0,k)|0)|0;x=(U(S-v|0,k)|0)-(U(w-j|0,x)|0)|0;M=Qr(D|0,((D|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;D=O;H=Qr(a|0,((a|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;a=O;T=Qr(x|0,((x|0)<0)<<31>>31|0,T|0,((T|0)<0)<<31>>31|0)|0;T=mv(M|0,D|0,T|0,O|0)|0;a=mv(T|0,O|0,H|0,a|0)|0;H=O;a=(H|0)>0|(H|0)==0&a>>>0>0?2:1}else a=2;else a=a&1;c=(a|0)==2^t?c:I}}while(0);a=_[i+8>>2]|0}I=_[I>>2]|0}while((I|0)!=(a|0));return c|0}function od(e,t,i,r,o,s,c,l,f,b,p,u,d){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;f=f|0;b=b|0;p=p|0;u=u|0;d=d|0;var m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0,j=0,R=0,x=0,I=0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0.0;x=U(_[f+24>>2]|0,b)|0;S=(n[t+44>>0]|0)!=0;R=_[t+56>>2]|0;if(!(S|(R|0)!=0)){t=0;return t|0}I=_[(u|0?f+12|0:f+8|0)>>2]|0;b=_[(u|0?f+20|0:f+16|0)>>2]|0;_[I+(x<<2)>>2]=_[p>>2];_[I+(x+1<<2)>>2]=_[p+4>>2];_[I+(x+2<<2)>>2]=_[p+8>>2];a[b+(x<<2)>>2]=-+a[p>>2];a[b+(x+1<<2)>>2]=-+a[p+4>>2];a[b+(x+2<<2)>>2]=-+a[p+8>>2];if(!u){m=+a[e+1176>>2];if(!(n[e+1301>>0]|0)){m=m-+a[i+48>>2];h=+a[e+1180>>2]-+a[i+52>>2];w=+a[e+1184>>2]-+a[i+56>>2];C=+a[p+8>>2];v=+a[p+4>>2];k=+a[p>>2];b=_[f+12>>2]|0;a[b+(x<<2)>>2]=h*C-w*v;a[b+(x+1<<2)>>2]=w*k-m*C;a[b+(x+2<<2)>>2]=m*v-h*k;k=+a[e+1176>>2]-+a[r+48>>2];h=+a[e+1180>>2]-+a[r+52>>2];v=+a[e+1184>>2]-+a[r+56>>2];m=+a[p+8>>2];C=+a[p+4>>2];w=+a[p>>2];b=_[f+20>>2]|0;a[b+(x<<2)>>2]=-(h*m-v*C);h=k*C-h*w;i=b;m=-(v*w-k*m)}else{G=m-+a[r+48>>2];H=+a[e+1180>>2]-+a[r+52>>2];T=+a[e+1184>>2]-+a[r+56>>2];h=+a[p>>2];O=+a[p+4>>2];D=+a[p+8>>2];F=+a[e+1112>>2]-+a[i+48>>2];m=+a[e+1116>>2]-+a[i+52>>2];y=+a[e+1120>>2]-+a[i+56>>2];C=+a[t+52>>2]-+a[t+48>>2];W=h*(h*F+O*m+D*y)+h*C-h*(G*h+H*O+T*D);M=O*(h*F+O*m+D*y)+O*C-O*(G*h+H*O+T*D);C=D*(h*F+O*m+D*y)+D*C-D*(G*h+H*O+T*D);w=+a[e+1272>>2];k=+a[e+1276>>2];g=D*(m-O*(h*F+O*m+D*y)+w*M)-O*(y-D*(h*F+O*m+D*y)+w*C);v=h*(y-D*(h*F+O*m+D*y)+w*C)-D*(F-h*(h*F+O*m+D*y)+w*W);y=O*(F-h*(h*F+O*m+D*y)+w*W)-h*(m-O*(h*F+O*m+D*y)+w*M);m=(H-O*(G*h+H*O+T*D)-k*M)*D-(T-D*(G*h+H*O+T*D)-k*C)*O;C=(T-D*(G*h+H*O+T*D)-k*C)*h-(G-h*(G*h+H*O+T*D)-k*W)*D;h=(G-h*(G*h+H*O+T*D)-k*W)*O-(H-O*(G*h+H*O+T*D)-k*M)*h;if(!((d|0)!=0|(n[e+1280>>0]|0)==0)){g=w*g;v=w*v;y=w*y;m=k*m;C=k*C;h=k*h}b=(_[f+12>>2]|0)+(x<<2)|0;a[b>>2]=g;a[b+4>>2]=v;a[b+8>>2]=y;b=_[f+20>>2]|0;a[b+(x<<2)>>2]=-m;i=b;m=-C}a[b+(x+1<<2)>>2]=m;a[i+(x+2<<2)>>2]=-h}if(R|0?+a[t>>2]==+a[t+4>>2]:0){b=_[f+28>>2]|0;a[b+(x<<2)>>2]=0.0;m=0.0}else j=12;do{if((j|0)==12){i=_[f+28>>2]|0;a[i+(x<<2)>>2]=0.0;if(!S){if(R|0){b=i;m=0.0;break}else b=1;return b|0}_[(_[f+32>>2]|0)+(x<<2)>>2]=_[t+28>>2];if(R|0){b=i;m=+a[i+(x<<2)>>2];break}v=+a[t+8>>2];m=u|0?v:-v;h=+a[t+52>>2];y=+a[t>>2];g=+a[t+4>>2];C=+a[f>>2]*+a[t+32>>2];do{if(!(y>g))if(!(y==g)){if(m/C<0.0)if(h>=y?y-m/C>h:0){m=(y-h)/(m/C);break}else{m=h<y?0.0:1.0;break}if(m/C>0.0)if(h<=g?g-m/C<h:0){m=(g-h)/(m/C);break}else{m=h>g?0.0:1.0;break}else m=0.0}else m=0.0;else m=1.0}while(0);a[i+(x<<2)>>2]=m*v+ +a[i+(x<<2)>>2];a[(_[f+36>>2]|0)+(x<<2)>>2]=-+a[t+12>>2];_[(_[f+40>>2]|0)+(x<<2)>>2]=_[t+12>>2];I=1;return I|0}}while(0);F=+a[f>>2]*+a[t+32>>2];r=b+(x<<2)|0;a[r>>2]=m+ +a[t+48>>2]*(u|0?-F:F);_[(_[f+32>>2]|0)+(x<<2)>>2]=_[t+36>>2];i=_[f+36>>2]|0;b=_[f+40>>2]|0;if(+a[t>>2]==+a[t+4>>2]){a[i+(x<<2)>>2]=-3402823466385288598117041.0e14;a[b+(x<<2)>>2]=3402823466385288598117041.0e14;I=1;return I|0}a[i+(x<<2)>>2]=(R|0)==1?0.0:-3402823466385288598117041.0e14;a[b+(x<<2)>>2]=(R|0)==1?3402823466385288598117041.0e14:0.0;h=+a[t+40>>2];if(!(h>0.0)){I=1;return I|0}t=u|0?c:o;I=u|0?l:s;W=+a[p>>2];F=+a[p+4>>2];m=+a[p+8>>2];m=+a[t>>2]*W+ +a[t+4>>2]*F+ +a[t+8>>2]*m-(W*+a[I>>2]+F*+a[I+4>>2]+m*+a[I+8>>2]);if((R|0)==1){if(!(m<0.0)){I=1;return I|0}if(!(+a[r>>2]<-(h*m))){I=1;return I|0}a[r>>2]=-(h*m);I=1;return I|0}else{if(!(m>0.0)){I=1;return I|0}if(!(+a[r>>2]>-(h*m))){I=1;return I|0}a[r>>2]=-(h*m);I=1;return I|0}return 0}function pd(e,t){e=e|0;t=t|0;var i=0,r=0.0,o=0,s=0,c=0,l=0.0,f=0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0;f=u;u=u+16|0;_[e+252>>2]=2;_[e+372>>2]=0;_[e+372+4>>2]=0;_[e+372+8>>2]=0;_[e+372+12>>2]=0;_[e+372+16>>2]=0;_[e+372+20>>2]=0;_[e+372+24>>2]=0;_[e+372+28>>2]=0;_[e+604>>2]=1065353216;_[e+608>>2]=1065353216;_[e+612>>2]=1065353216;a[e+616>>2]=0.0;_[e+408>>2]=1065353216;_[e+412>>2]=1065353216;_[e+416>>2]=1065353216;i=e+420|0;o=i+36|0;do{_[i>>2]=0;i=i+4|0}while((i|0)<(o|0));_[e+472>>2]=0;_[e+472+4>>2]=0;_[e+472+8>>2]=0;_[e+472+12>>2]=0;_[e+472+16>>2]=0;_[e+472+20>>2]=0;_[e+472+24>>2]=0;_[e+472+28>>2]=0;r=+a[t+92>>2];l=+a[t+96>>2];a[f+12>>2]=r;a[f+8>>2]=l;a[f+4>>2]=0.0;a[f>>2]=1.0;_[e+504>>2]=_[(r<0.0?f+4|0:r>1.0?f:f+12|0)>>2];a[f+4>>2]=0.0;a[f>>2]=1.0;_[e+508>>2]=_[(l<0.0?f+4|0:l>1.0?f:f+8|0)>>2];_[e+532>>2]=_[t+116>>2];_[e+536>>2]=_[t+120>>2];i=_[t+4>>2]|0;_[e+540>>2]=i;_[e+668>>2]=0;_[e+672>>2]=0;n[e+512>>0]=n[t+124>>0]|0;_[e+516>>2]=_[t+128>>2];_[e+520>>2]=_[t+132>>2];_[e+524>>2]=_[t+136>>2];_[e+528>>2]=_[t+140>>2];if(!i){_[e+4>>2]=_[t+8>>2];_[e+4+4>>2]=_[t+8+4>>2];_[e+4+8>>2]=_[t+8+8>>2];_[e+4+12>>2]=_[t+8+12>>2];_[e+20>>2]=_[t+24>>2];_[e+20+4>>2]=_[t+24+4>>2];_[e+20+8>>2]=_[t+24+8>>2];_[e+20+12>>2]=_[t+24+12>>2];_[e+36>>2]=_[t+40>>2];_[e+36+4>>2]=_[t+40+4>>2];_[e+36+8>>2]=_[t+40+8>>2];_[e+36+12>>2]=_[t+40+12>>2];_[e+52>>2]=_[t+56>>2];_[e+52+4>>2]=_[t+56+4>>2];_[e+52+8>>2]=_[t+56+8>>2];_[e+52+12>>2]=_[t+56+12>>2];i=e+20|0;o=e+36|0;s=e+52|0;c=e+4|0}else{ma[_[(_[i>>2]|0)+8>>2]&127](i,e+4|0);i=e+20|0;o=e+36|0;s=e+52|0;c=e+4|0}_[e+68>>2]=_[c>>2];_[e+68+4>>2]=_[c+4>>2];_[e+68+8>>2]=_[c+8>>2];_[e+68+12>>2]=_[c+12>>2];_[e+84>>2]=_[i>>2];_[e+84+4>>2]=_[i+4>>2];_[e+84+8>>2]=_[i+8>>2];_[e+84+12>>2]=_[i+12>>2];_[e+100>>2]=_[o>>2];_[e+100+4>>2]=_[o+4>>2];_[e+100+8>>2]=_[o+8>>2];_[e+100+12>>2]=_[o+12>>2];_[e+116>>2]=_[s>>2];_[e+116+4>>2]=_[s+4>>2];_[e+116+8>>2]=_[s+8>>2];_[e+116+12>>2]=_[s+12>>2];_[e+132>>2]=0;_[e+132+4>>2]=0;_[e+132+8>>2]=0;_[e+132+12>>2]=0;_[e+132+16>>2]=0;_[e+132+20>>2]=0;_[e+132+24>>2]=0;_[e+132+28>>2]=0;_[e+228>>2]=_[t+100>>2];_[e+236>>2]=_[t+104>>2];_[e+240>>2]=_[t+108>>2];_[e+232>>2]=_[t+112>>2];ma[_[(_[e>>2]|0)+8>>2]&127](e,_[t+72>>2]|0);i=_[5835]|0;_[5835]=i+1;_[e+568>>2]=i;r=+a[t>>2];i=_[e+204>>2]|0;if(r==0.0){_[e+204>>2]=i|1;l=0.0}else{_[e+204>>2]=i&-2;l=1.0/r}a[e+404>>2]=l;d=r*+a[e+444>>2];p=r*+a[e+448>>2];a[e+424>>2]=r*+a[e+440>>2];a[e+428>>2]=d;a[e+432>>2]=p;a[e+436>>2]=0.0;r=+a[t+76>>2];o=r!=0.0?(a[b>>2]=1.0/r,_[b>>2]|0):0;r=+a[t+80>>2];i=r!=0.0?(a[b>>2]=1.0/r,_[b>>2]|0):0;r=+a[t+84>>2];t=r!=0.0?(a[b>>2]=1.0/r,_[b>>2]|0):0;_[e+456>>2]=o;_[e+460>>2]=i;_[e+464>>2]=t;a[e+468>>2]=0.0;h=l*+a[e+412>>2];k=l*+a[e+416>>2];a[e+620>>2]=l*+a[e+408>>2];a[e+624>>2]=h;a[e+628>>2]=k;a[e+632>>2]=0.0;k=+a[e+4>>2];h=(_[b>>2]=o,+a[b>>2]);w=+a[e+8>>2];r=(_[b>>2]=i,+a[b>>2]);v=+a[e+12>>2];p=(_[b>>2]=t,+a[b>>2]);C=+a[e+20>>2];g=+a[e+24>>2];y=+a[e+28>>2];m=+a[e+36>>2];d=+a[e+40>>2];l=+a[e+44>>2];a[e+324>>2]=k*k*h+w*w*r+v*v*p;a[e+328>>2]=k*h*C+w*r*g+v*p*y;a[e+332>>2]=k*h*m+w*r*d+v*p*l;a[e+336>>2]=0.0;a[e+340>>2]=k*h*C+w*r*g+v*p*y;a[e+344>>2]=C*h*C+g*r*g+y*p*y;a[e+348>>2]=h*C*m+r*g*d+p*y*l;a[e+352>>2]=0.0;a[e+356>>2]=k*h*m+w*r*d+v*p*l;a[e+360>>2]=C*h*m+g*r*d+y*p*l;a[e+364>>2]=m*h*m+d*r*d+l*p*l;a[e+368>>2]=0.0;_[e+564>>2]=8;_[e+572>>2]=0;_[e+572+4>>2]=0;_[e+572+8>>2]=0;_[e+572+12>>2]=0;_[e+572+16>>2]=0;_[e+572+20>>2]=0;_[e+572+24>>2]=0;_[e+572+28>>2]=0;l=+a[e+404>>2];p=l*+a[e+412>>2];d=l*+a[e+416>>2];a[e+620>>2]=+a[e+408>>2]*l;a[e+624>>2]=p;a[e+628>>2]=d;i=e+632|0;o=i+36|0;do{_[i>>2]=0;i=i+4|0}while((i|0)<(o|0));u=f;return}function qd(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0,A=0,P=0,B=0,L=0;o=u;u=u+240|0;if(!(_[e+16>>2]|0)){F=_[e+12>>2]|0;e=_[e+20>>2]|0;k=+a[t>>2];m=+a[t+4>>2];C=+a[t+8>>2];c=+a[t+16>>2];h=+a[t+20>>2];s=+a[t+24>>2];f=+a[t+32>>2];y=+a[t+36>>2];b=+a[t+40>>2];T=+a[t+48>>2];D=+a[t+52>>2];M=+a[t+56>>2];W=+a[i>>2];G=+a[i+16>>2];j=+a[i+32>>2];H=+a[i+4>>2];O=+a[i+20>>2];S=+a[i+36>>2];v=+a[i+8>>2];l=+a[i+24>>2];d=+a[i+40>>2];I=-+a[i+48>>2];x=-+a[i+52>>2];w=-+a[i+56>>2];t=_[(_[F>>2]|0)+64>>2]|0;R=-+a[e+52>>2];g=-+a[e+56>>2];p=-+a[e+60>>2];a[o+16>>2]=(k*W+c*G+f*j)*R+(k*H+c*O+f*S)*g+(k*v+c*l+f*d)*p;a[o+16+4>>2]=(m*W+h*G+y*j)*R+(m*H+h*O+y*S)*g+(m*v+h*l+y*d)*p;a[o+16+8>>2]=(C*W+s*G+b*j)*R+(C*H+s*O+b*S)*g+(C*v+s*l+b*d)*p;a[o+16+12>>2]=0.0;Za[t&127](o+152|0,F,o+16|0);p=+a[o+152>>2];g=+a[o+152+4>>2];R=+a[o+152+8>>2];j=T*W+D*G+M*j+(W*I+G*x+j*w)+((k*W+c*G+f*j)*p+(m*W+h*G+y*j)*g+(C*W+s*G+b*j)*R);S=T*H+D*O+M*S+(H*I+O*x+S*w)+((k*H+c*O+f*S)*p+(m*H+h*O+y*S)*g+(C*H+s*O+b*S)*R);R=T*v+D*l+M*d+(v*I+l*x+d*w)+((k*v+c*l+f*d)*p+(m*v+h*l+y*d)*g+(C*v+s*l+b*d)*R);d=+a[e+52>>2];b=+a[e+56>>2];l=+a[e+60>>2];s=l*R+(d*j+b*S)-+a[e+68>>2];v=+a[i>>2];C=+a[i+4>>2];g=+a[i+8>>2];y=+a[i+16>>2];h=+a[i+20>>2];m=+a[i+24>>2];p=+a[i+32>>2];f=+a[i+36>>2];c=+a[i+40>>2];k=(j-d*s)*y+(S-b*s)*h+(R-l*s)*m+ +a[i+52>>2];w=(j-d*s)*p+(S-b*s)*f+(R-l*s)*c+ +a[i+56>>2];a[o+16>>2]=g*(R-l*s)+(v*(j-d*s)+C*(S-b*s))+ +a[i+48>>2];a[o+16+4>>2]=k;a[o+16+8>>2]=w;a[o+16+12>>2]=0.0;a[o>>2]=v*d+C*b+g*l;a[o+4>>2]=d*y+b*h+l*m;a[o+8>>2]=d*p+b*f+l*c;a[o+12>>2]=0.0;Ka[_[(_[r>>2]|0)+16>>2]&15](r,o,o+16|0,s);u=o;return}else{B=_[e+4>>2]|0;n[B+312>>0]=0;_[B>>2]=0;n[B+356>>0]=1;_[B+292>>2]=1566444395;_[B+296>>2]=1566444395;_[B+300>>2]=1566444395;a[B+304>>2]=0.0;_[B+336>>2]=0;_[B+336+4>>2]=0;_[B+336+8>>2]=0;_[B+336+12>>2]=0;n[B+336+16>>0]=0;n[B+332>>0]=n[B+332>>0]&-16;B=_[e+12>>2]|0;P=_[e+16>>2]|0;A=_[B+4>>2]|0;F=_[P+4>>2]|0;G=+Da[_[(_[B>>2]|0)+48>>2]&15](B);L=_[e+16>>2]|0;W=+Da[_[(_[L>>2]|0)+48>>2]&15](L);L=_[e+4>>2]|0;e=_[e+8>>2]|0;_[o+152>>2]=8876;_[o+152+4>>2]=0;_[o+152+8>>2]=1065353216;_[o+152+12>>2]=0;a[o+152+16>>2]=0.0;_[o+152+20>>2]=e;_[o+152+24>>2]=L;_[o+152+28>>2]=B;_[o+152+32>>2]=P;_[o+152+36>>2]=A;_[o+152+40>>2]=F;a[o+152+44>>2]=G;a[o+152+48>>2]=W;n[o+152+52>>0]=0;_[o+152+60>>2]=-1;_[o+152+72>>2]=1;_[o+152+76>>2]=1;a[o+16+128>>2]=999999984306749440.0;_[o+16>>2]=_[t>>2];_[o+16+4>>2]=_[t+4>>2];_[o+16+8>>2]=_[t+8>>2];_[o+16+12>>2]=_[t+12>>2];_[o+16+16>>2]=_[t+16>>2];_[o+16+16+4>>2]=_[t+16+4>>2];_[o+16+16+8>>2]=_[t+16+8>>2];_[o+16+16+12>>2]=_[t+16+12>>2];_[o+16+32>>2]=_[t+32>>2];_[o+16+32+4>>2]=_[t+32+4>>2];_[o+16+32+8>>2]=_[t+32+8>>2];_[o+16+32+12>>2]=_[t+32+12>>2];_[o+16+48>>2]=_[t+48>>2];_[o+16+48+4>>2]=_[t+48+4>>2];_[o+16+48+8>>2]=_[t+48+8>>2];_[o+16+48+12>>2]=_[t+48+12>>2];_[o+16+64>>2]=_[i>>2];_[o+16+64+4>>2]=_[i+4>>2];_[o+16+64+8>>2]=_[i+8>>2];_[o+16+64+12>>2]=_[i+12>>2];_[o+16+80>>2]=_[i+16>>2];_[o+16+80+4>>2]=_[i+16+4>>2];_[o+16+80+8>>2]=_[i+16+8>>2];_[o+16+80+12>>2]=_[i+16+12>>2];_[o+16+96>>2]=_[i+32>>2];_[o+16+96+4>>2]=_[i+32+4>>2];_[o+16+96+8>>2]=_[i+32+8>>2];_[o+16+96+12>>2]=_[i+32+12>>2];_[o+16+112>>2]=_[i+48>>2];_[o+16+112+4>>2]=_[i+48+4>>2];_[o+16+112+8>>2]=_[i+48+8>>2];_[o+16+112+12>>2]=_[i+48+12>>2];tc(o+152|0,o+16|0,r,0,0);u=o;return}}function rd(e,t,i,r,o,s){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=+s;var c=0,l=0,f=0.0,p=0,u=0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0,x=0;x=_[e+88>>2]|0;if((x|0)==(_[e+92>>2]|0)?(u=x|0?x<<1:1,(x|0)<(u|0)):0){if(!u){c=0;p=x}else{_[6293]=(_[6293]|0)+1;c=cc((u*152|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}p=_[e+88>>2]|0}if((p|0)>0){l=0;do{oh(c+(l*152|0)|0,(_[e+96>>2]|0)+(l*152|0)|0,152)|0;l=l+1|0}while((l|0)!=(p|0))}l=_[e+96>>2]|0;if(l|0){if(n[e+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[l+-4>>2]|0)}_[e+96>>2]=0}n[e+100>>0]=1;_[e+96>>2]=c;_[e+92>>2]=u;c=_[e+88>>2]|0}else c=x;_[e+88>>2]=c+1;R=_[e+96>>2]|0;_[R+(x*152|0)+140>>2]=o;_[R+(x*152|0)+16>>2]=0;_[R+(x*152|0)+16+4>>2]=0;_[R+(x*152|0)+16+8>>2]=0;_[R+(x*152|0)+16+12>>2]=0;a[R+(x*152|0)+48>>2]=-0.0;a[R+(x*152|0)+52>>2]=-0.0;a[R+(x*152|0)+56>>2]=-0.0;a[R+(x*152|0)+60>>2]=0.0;e=_[e+16>>2]|0;u=_[e+(i*244|0)+240>>2]|0;o=_[e+(r*244|0)+240>>2]|0;_[R+(x*152|0)+144>>2]=i;_[R+(x*152|0)+148>>2]=r;a[R+(x*152|0)+104>>2]=s;_[R+(x*152|0)+132>>2]=0;a[R+(x*152|0)+100>>2]=0.0;a[R+(x*152|0)+96>>2]=0.0;k=-+a[t>>2];S=-+a[t+4>>2];j=-+a[t+8>>2];a[R+(x*152|0)>>2]=k;a[R+(x*152|0)+4>>2]=S;a[R+(x*152|0)+8>>2]=j;a[R+(x*152|0)+12>>2]=0.0;if(u|0){c=(a[b>>2]=(+a[u+324>>2]*k+ +a[u+328>>2]*S+ +a[u+332>>2]*j)*+a[u+604>>2],_[b>>2]|0);l=(a[b>>2]=(+a[u+340>>2]*k+ +a[u+344>>2]*S+ +a[u+348>>2]*j)*+a[u+608>>2],_[b>>2]|0);p=(a[b>>2]=(+a[u+356>>2]*k+ +a[u+360>>2]*S+ +a[u+364>>2]*j)*+a[u+612>>2],_[b>>2]|0)}else{c=0;l=0;p=0}_[R+(x*152|0)+64>>2]=c;_[R+(x*152|0)+68>>2]=l;_[R+(x*152|0)+72>>2]=p;a[R+(x*152|0)+76>>2]=0.0;C=+a[t>>2];v=+a[t+4>>2];w=+a[t+8>>2];t=_[t+12>>2]|0;a[R+(x*152|0)+32>>2]=C;a[R+(x*152|0)+36>>2]=v;a[R+(x*152|0)+40>>2]=w;_[R+(x*152|0)+44>>2]=t;if(o|0){c=(a[b>>2]=(C*+a[o+324>>2]+v*+a[o+328>>2]+w*+a[o+332>>2])*+a[o+604>>2],_[b>>2]|0);l=(a[b>>2]=(C*+a[o+340>>2]+v*+a[o+344>>2]+w*+a[o+348>>2])*+a[o+608>>2],_[b>>2]|0);p=(a[b>>2]=(C*+a[o+356>>2]+v*+a[o+360>>2]+w*+a[o+364>>2])*+a[o+612>>2],_[b>>2]|0)}else{c=0;l=0;p=0}_[R+(x*152|0)+80>>2]=c;_[R+(x*152|0)+84>>2]=l;_[R+(x*152|0)+88>>2]=p;a[R+(x*152|0)+92>>2]=0.0;if(u|0){f=+a[u+324>>2]*k+ +a[u+328>>2]*S+ +a[u+332>>2]*j;d=+a[u+340>>2]*k+ +a[u+344>>2]*S+ +a[u+348>>2]*j;m=+a[u+356>>2]*k+ +a[u+360>>2]*S+ +a[u+364>>2]*j}else{f=0.0;d=0.0;m=0.0}if(o|0){h=+a[o+324>>2]*C+ +a[o+328>>2]*v+ +a[o+332>>2]*w;y=C*+a[o+340>>2]+v*+a[o+344>>2]+w*+a[o+348>>2];g=C*+a[o+356>>2]+v*+a[o+360>>2]+w*+a[o+364>>2]}else{h=0.0;y=0.0;g=0.0}y=1.0/(f*k+d*S+m*j+0.0+(h*C+y*v+g*w));a[R+(x*152|0)+108>>2]=y;if(u|0){d=+a[e+(i*244|0)+192>>2];m=+a[e+(i*244|0)+196>>2];h=+a[e+(i*244|0)+200>>2];f=(+a[e+(i*244|0)+176>>2]+ +a[e+(i*244|0)+208>>2])*0.0+(+a[e+(i*244|0)+180>>2]+ +a[e+(i*244|0)+212>>2])*0.0+(+a[e+(i*244|0)+184>>2]+ +a[e+(i*244|0)+216>>2])*0.0}else{d=0.0;m=0.0;h=0.0;f=0.0}f=f+(d*k+m*S+h*j);if(!o){g=0.0;k=0.0;j=0.0;S=-0.0;C=g*C;k=k*v;k=C+k;j=j*w;j=k+j;j=S+j;j=f+j;j=0.0-j;j=y*j;r=R+(x*152|0)+112|0;a[r>>2]=j;r=R+(x*152|0)+116|0;a[r>>2]=0.0;j=-s;r=R+(x*152|0)+120|0;a[r>>2]=j;x=R+(x*152|0)+124|0;a[x>>2]=s;return}g=+a[e+(r*244|0)+192>>2];k=+a[e+(r*244|0)+196>>2];j=+a[e+(r*244|0)+200>>2];S=(+a[e+(r*244|0)+176>>2]+ +a[e+(r*244|0)+208>>2])*-0.0+(+a[e+(r*244|0)+180>>2]+ +a[e+(r*244|0)+212>>2])*-0.0+(+a[e+(r*244|0)+184>>2]+ +a[e+(r*244|0)+216>>2])*-0.0;C=g*C;k=k*v;k=C+k;j=j*w;j=k+j;j=S+j;j=f+j;j=0.0-j;j=y*j;r=R+(x*152|0)+112|0;a[r>>2]=j;r=R+(x*152|0)+116|0;a[r>>2]=0.0;j=-s;r=R+(x*152|0)+120|0;a[r>>2]=j;x=R+(x*152|0)+124|0;a[x>>2]=s;return}function sd(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0,c=0,l=0.0,f=0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0,I=0,M=0,D=0,T=0.0,O=0.0,H=0.0;D=u;u=u+48|0;l=+a[i>>2];a[D+32>>2]=l;w=+a[i+4>>2];a[D+28>>2]=w;k=+a[i+8>>2];a[D+24>>2]=k;I=_[i+12>>2]|0;S=+a[r>>2];a[D+20>>2]=S;j=+a[r+4>>2];a[D+16>>2]=j;R=+a[r+8>>2];a[D+12>>2]=R;M=_[r+12>>2]|0;do{if((_[t+60>>2]|0)==2){o=_[t+48>>2]|0;Qf(e+44|0,o)|0;s=_[e+48>>2]|0;if(s|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[e+48>>2]=o;_[e+56>>2]=(_[e+56>>2]|0)+-1;o=_[e+8>>2]|0;if(!o){_[6293]=(_[6293]|0)+1;o=cc(63)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16;l=+a[D+32>>2]}s=o;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0))}else _[e+8>>2]=0;_[o+32>>2]=0;_[o+36>>2]=t;_[o+40>>2]=0;a[o>>2]=l;_[o+4>>2]=_[D+28>>2];_[o+8>>2]=_[D+24>>2];_[o+12>>2]=I;_[o+16>>2]=_[D+20>>2];_[o+20>>2]=_[D+16>>2];_[o+24>>2]=_[D+12>>2];_[o+28>>2]=M;pe(e+4|0,_[e+4>>2]|0,o);_[e+16>>2]=(_[e+16>>2]|0)+1;_[t+48>>2]=o;c=1}else{_[e+128>>2]=(_[e+128>>2]|0)+1;x=_[t+48>>2]|0;m=+a[x>>2];if(((((m<=S?(h=+a[x+16>>2],h>=l):0)?(y=+a[x+4>>2],y<=j):0)?(g=+a[x+20>>2],g>=w):0)?(C=+a[x+8>>2],C<=R):0)?(v=+a[x+24>>2],v>=k):0){H=+a[t+16>>2];O=+a[t+20>>2];T=+a[t+24>>2];d=+a[e+100>>2];b=(+a[t+32>>2]-H)*.5*d;p=(+a[t+36>>2]-O)*.5*d;d=d*(+a[t+40>>2]-T)*.5;b=l-H<0.0?-b:b;p=w-O<0.0?-p:p;d=k-T<0.0?-d:d;if(!(!(m<=l)|!(y<=w)|!(C<=k)|!(h>=S)|!(g>=j)|!(v>=R))){c=0;break}a[D+32>>2]=l+-.05000000074505806;a[D+28>>2]=w+-.05000000074505806;a[D+24>>2]=k+-.05000000074505806;a[D+20>>2]=S+.05000000074505806;a[D+16>>2]=j+.05000000074505806;a[D+12>>2]=R+.05000000074505806;o=b>0.0?D+20|0:D+32|0;a[o>>2]=b+ +a[o>>2];o=p>0.0?D+16|0:D+28|0;a[o>>2]=p+ +a[o>>2];o=d>0.0?D+12|0:D+24|0;a[o>>2]=d+ +a[o>>2];o=Qf(e+4|0,x)|0;e:do{if(o){f=_[e+12>>2]|0;if((f|0)<=-1){o=_[e+4>>2]|0;break}if(f){s=0;while(1){c=_[o+32>>2]|0;s=s+1|0;if(!c)break e;if((s|0)>=(f|0)){o=c;break}else o=c}}}else o=0}while(0);_[x>>2]=_[D+32>>2];_[x+4>>2]=_[D+28>>2];_[x+8>>2]=_[D+24>>2];_[x+12>>2]=I;_[x+16>>2]=_[D+20>>2];_[x+20>>2]=_[D+16>>2];_[x+24>>2]=_[D+12>>2];_[x+28>>2]=M;pe(e+4|0,o,x);_[e+132>>2]=(_[e+132>>2]|0)+1;c=1;break}o=Qf(e+4|0,x)|0;e:do{if(o){f=_[e+12>>2]|0;if((f|0)<=-1){o=_[e+4>>2]|0;break}if(f){s=0;while(1){c=_[o+32>>2]|0;s=s+1|0;if(!c)break e;if((s|0)>=(f|0)){o=c;break}else o=c}}}else o=0}while(0);a[x>>2]=l;a[x+4>>2]=w;a[x+8>>2]=k;_[x+12>>2]=I;a[x+16>>2]=S;a[x+20>>2]=j;a[x+24>>2]=R;_[x+28>>2]=M;pe(e+4|0,o,x);_[e+132>>2]=(_[e+132>>2]|0)+1;c=1}}while(0);o=_[t+52>>2]|0;_[((o|0)==0?e+84+(_[t+60>>2]<<2)|0:o+56|0)>>2]=_[t+56>>2];o=_[t+56>>2]|0;if(o|0)_[o+52>>2]=_[t+52>>2];_[t+16>>2]=_[i>>2];_[t+16+4>>2]=_[i+4>>2];_[t+16+8>>2]=_[i+8>>2];_[t+16+12>>2]=_[i+12>>2];_[t+32>>2]=_[r>>2];_[t+32+4>>2]=_[r+4>>2];_[t+32+8>>2]=_[r+8>>2];_[t+32+12>>2]=_[r+12>>2];o=_[e+104>>2]|0;_[t+60>>2]=o;_[t+52>>2]=0;_[t+56>>2]=_[e+84+(o<<2)>>2];s=_[e+84+(o<<2)>>2]|0;if(s|0)_[s+52>>2]=t;_[e+84+(o<<2)>>2]=t;if(!c){u=D;return}n[e+154>>0]=1;if(n[e+153>>0]|0){u=D;return}_[D>>2]=4556;_[D+4>>2]=e;Qd(e+44|0,_[e+44>>2]|0,_[t+48>>2]|0,D);Qd(e+4|0,_[e+4>>2]|0,_[t+48>>2]|0,D);u=D;return}function td(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,p=0,d=0,m=0,h=0.0,y=0.0,g=0;g=u;u=u+48|0;switch(_[t+4>>2]|0){case 8:{_[e>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;u=g;return}case 0:{f=+a[t+32>>2];h=+a[t+36>>2];h=+a[i+4>>2]>=0.0?h:-h;y=+a[t+40>>2];y=+a[i+8>>2]>=0.0?y:-y;a[e>>2]=+a[i>>2]>=0.0?f:-f;a[e+4>>2]=h;a[e+8>>2]=y;a[e+12>>2]=0.0;u=g;return}case 1:{c=+a[i>>2];l=+a[i+4>>2];f=+a[i+8>>2];h=c*+a[t+60>>2]+l*+a[t+60+4>>2]+f*+a[t+60+8>>2];y=c*+a[t+60+16>>2]+l*+a[t+60+20>>2]+f*+a[t+60+24>>2];f=c*+a[t+60+32>>2]+l*+a[t+60+36>>2]+f*+a[t+60+40>>2];a[g+32>>2]=h;a[g+32+4>>2]=y;a[g+32+8>>2]=f;a[g+32+12>>2]=0.0;p=+a[g+32+((h<y&1)<<2)>>2]<f?2:h<y&1;d=_[t+60+(p<<4)+4>>2]|0;m=_[t+60+(p<<4)+8>>2]|0;_[e>>2]=_[t+60+(p<<4)>>2];_[e+4>>2]=d;_[e+8>>2]=m;a[e+12>>2]=0.0;u=g;return}case 13:{_[g+32>>2]=_[t+32>>2];_[g+32+4>>2]=_[t+32+4>>2];_[g+32+8>>2]=_[t+32+8>>2];_[g+32+12>>2]=_[t+32+12>>2];_[g+16>>2]=_[i>>2];n=_[i+4>>2]|0;_[g+16+4>>2]=n;m=_[i+8>>2]|0;_[g+16+8>>2]=m;a[g+16+12>>2]=0.0;t=_[t+56>>2]|0;r=(_[b>>2]=m,+a[b>>2]);switch(t|0){case 2:{i=0;p=2;d=1;r=(_[b>>2]=n,+a[b>>2]);break}case 1:{i=0;p=1;d=2;break}default:{i=1;p=0;d=2}}h=+a[g+32+(i<<2)>>2];s=+a[g+32+(t<<2)>>2];f=+a[g+16+(i<<2)>>2];l=+W(+(f*f+r*r));o=+a[g+16+(p<<2)>>2];if(l!=0.0){c=h/l*r;n=g;o=o<0.0?-s:s;r=f*(h/l)}else{c=0.0;n=g;o=o<0.0?-s:s;r=h}a[g+(i<<2)>>2]=r;a[g+(p<<2)>>2]=o;a[g+(d<<2)>>2]=c;_[e>>2]=_[n>>2];_[e+4>>2]=_[g+4>>2];_[e+8>>2]=_[g+8>>2];a[e+12>>2]=0.0;u=g;return}case 10:{r=+a[i>>2];o=+a[i+4>>2];s=+a[i+8>>2];n=_[t+56>>2]|0;h=+a[t+32+(n<<2)>>2];if(r*r+o*o+s*s<1.4210854715202004e-14){y=1.0;f=0.0;l=0.0}else{l=1.0/+W(+(r*r+o*o+s*s));y=r*l;f=o*l;l=s*l}_[g+32>>2]=0;_[g+32+4>>2]=0;_[g+32+8>>2]=0;_[g+32+12>>2]=0;a[g+32+(n<<2)>>2]=h;c=+a[g+32>>2];o=+a[g+32+4>>2];r=+a[g+32+8>>2];s=y*c+f*o+l*r;if(s>-999999984306749440.0){d=(a[b>>2]=r,_[b>>2]|0);m=(a[b>>2]=o,_[b>>2]|0);p=(a[b>>2]=c,_[b>>2]|0)}else{s=-999999984306749440.0;p=0;d=0;m=0}_[g+32>>2]=0;_[g+32+4>>2]=0;_[g+32+8>>2]=0;_[g+32+12>>2]=0;a[g+32+(n<<2)>>2]=-h;c=+a[g+32>>2];h=+a[g+32+4>>2];r=+a[g+32+8>>2];n=y*c+f*h+l*r>s;t=(a[b>>2]=c,_[b>>2]|0);i=(a[b>>2]=h,_[b>>2]|0);d=n?(a[b>>2]=r,_[b>>2]|0):d;_[e>>2]=n?t:p;_[e+4>>2]=n?i:m;_[e+8>>2]=d;a[e+12>>2]=0.0;u=g;return}case 5:{d=_[t+96>>2]|0;p=_[t+100>>2]|0;h=+a[t+16>>2];y=+a[t+20>>2];f=+a[t+24>>2];c=+a[i>>2]*h;l=+a[i+4>>2]*y;o=+a[i+8>>2]*f;if((p|0)>0){n=-1;t=0;r=-3402823466385288598117041.0e14;while(1){s=c*+a[d+(t<<4)>>2]+l*+a[d+(t<<4)+4>>2]+o*+a[d+(t<<4)+8>>2];i=s>r;n=i?t:n;t=t+1|0;if((t|0)==(p|0))break;else r=i?s:r}}else n=-1;l=y*+a[d+(n<<4)+4>>2];y=f*+a[d+(n<<4)+8>>2];a[e>>2]=h*+a[d+(n<<4)>>2];a[e+4>>2]=l;a[e+8>>2]=y;a[e+12>>2]=0.0;u=g;return}case 4:{d=_[t+108>>2]|0;p=_[t+100>>2]|0;h=+a[t+16>>2];y=+a[t+20>>2];f=+a[t+24>>2];c=+a[i>>2]*h;l=+a[i+4>>2]*y;o=+a[i+8>>2]*f;if((p|0)>0){n=-1;t=0;r=-3402823466385288598117041.0e14;while(1){s=c*+a[d+(t<<4)>>2]+l*+a[d+(t<<4)+4>>2]+o*+a[d+(t<<4)+8>>2];i=s>r;n=i?t:n;t=t+1|0;if((t|0)==(p|0))break;else r=i?s:r}}else n=-1;l=y*+a[d+(n<<4)+4>>2];y=f*+a[d+(n<<4)+8>>2];a[e>>2]=h*+a[d+(n<<4)>>2];a[e+4>>2]=l;a[e+8>>2]=y;a[e+12>>2]=0.0;u=g;return}default:{Za[_[(_[t>>2]|0)+68>>2]&127](e,t,i);u=g;return}}}function ud(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0.0,l=0.0,f=0.0,b=0.0,p=0,u=0,d=0,m=0.0,h=0.0,y=0.0;if(n[e+165>>0]|0){o=_[e+88>>2]|0;e:do{if((o|0)>0&i){r=_[e+96>>2]|0;c=+a[t>>2];l=+a[t+4>>2];f=+a[t+8>>2];b=+a[e+168>>2];i=0;while(1){y=+a[r+(i<<4)>>2]-c;h=+a[r+(i<<4)+4>>2]-l;m=+a[r+(i<<4)+8>>2]-f;if(y*y+h*h+m*m<=b)break;i=i+1|0;if((i|0)>=(o|0))break e}return i|0}}while(0);d=(_[e+32>>2]|0)+12|0;_[d>>2]=(_[d>>2]|0)+1;if((o|0)==(_[e+92>>2]|0)?(s=o|0?o<<1:1,(o|0)<(s|0)):0){if(!s)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((s<<4|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=_[e+88>>2]|0}if((o|0)>0){r=0;do{d=i+(r<<4)|0;u=(_[e+96>>2]|0)+(r<<4)|0;_[d>>2]=_[u>>2];_[d+4>>2]=_[u+4>>2];_[d+8>>2]=_[u+8>>2];_[d+12>>2]=_[u+12>>2];r=r+1|0}while((r|0)!=(o|0))}r=_[e+96>>2]|0;if(r|0){if(n[e+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[e+96>>2]=0}n[e+100>>0]=1;_[e+96>>2]=i;_[e+92>>2]=s;i=_[e+88>>2]|0}else i=o;d=(_[e+96>>2]|0)+(i<<4)|0;_[d>>2]=_[t>>2];_[d+4>>2]=_[t+4>>2];_[d+8>>2]=_[t+8>>2];_[d+12>>2]=_[t+12>>2];t=_[e+88>>2]|0;_[e+88>>2]=t+1;_[(_[e+32>>2]|0)+16>>2]=_[e+96>>2];return t|0}o=_[e+108>>2]|0;e:do{if((o|0)>0&i){r=_[e+116>>2]|0;c=+a[t>>2];l=+a[t+4>>2];f=+a[t+8>>2];b=+a[e+168>>2];i=0;while(1){m=+a[r+(i<<2)>>2]-c;h=+a[r+(i+1<<2)>>2]-l;y=+a[r+(i+2<<2)>>2]-f;s=i+3|0;if(m*m+h*h+y*y<=b)break;if((s|0)<(o|0))i=s;else break e}t=(i|0)/3|0;return t|0}}while(0);i=_[e+112>>2]|0;if((o|0)==(i|0)){p=o|0?o<<1:1;if((o|0)<(p|0)){if(!p)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((p<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=_[e+108>>2]|0}s=_[e+116>>2]|0;if((o|0)<=0)if(!s)r=e+120|0;else d=34;else{r=0;do{_[i+(r<<2)>>2]=_[s+(r<<2)>>2];r=r+1|0}while((r|0)!=(o|0));d=34}if((d|0)==34){if(n[e+120>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[e+116>>2]=0;r=e+120|0}n[r>>0]=1;_[e+116>>2]=i;_[e+112>>2]=p;r=_[e+108>>2]|0;s=p}else{r=o;s=o}}else{r=o;s=i}o=_[e+116>>2]|0;_[o+(r<<2)>>2]=_[t>>2];i=r+1|0;_[e+108>>2]=i;if((i|0)==(s|0)){p=s|0?s<<1:1;if((s|0)<(p|0)){if(!p)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((p<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}s=_[e+108>>2]|0;o=_[e+116>>2]|0}if((s|0)<=0)if(!o)r=e+120|0;else d=48;else{r=0;do{_[i+(r<<2)>>2]=_[o+(r<<2)>>2];r=r+1|0}while((r|0)!=(s|0));d=48}if((d|0)==48){if(n[e+120>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+116>>2]=0;r=e+120|0}n[r>>0]=1;_[e+116>>2]=i;_[e+112>>2]=p;u=i;r=_[e+108>>2]|0;s=p}else{u=o;r=s;i=o}}else{u=o;r=i;i=o}_[u+(r<<2)>>2]=_[t+4>>2];r=r+1|0;_[e+108>>2]=r;if((r|0)==(s|0)){p=s|0?s<<1:1;if((s|0)<(p|0)){if(!p){i=0;o=u}else{_[6293]=(_[6293]|0)+1;i=cc((p<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}s=_[e+108>>2]|0;o=_[e+116>>2]|0}if((s|0)<=0)if(!o)r=e+120|0;else d=62;else{r=0;do{_[i+(r<<2)>>2]=_[o+(r<<2)>>2];r=r+1|0}while((r|0)!=(s|0));d=62}if((d|0)==62){if(n[e+120>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+116>>2]=0;r=e+120|0}n[r>>0]=1;_[e+116>>2]=i;_[e+112>>2]=p;o=i;r=_[e+108>>2]|0}else{o=u;r=s}}else o=u;_[o+(r<<2)>>2]=_[t+8>>2];t=r+1|0;_[e+108>>2]=t;e=_[e+32>>2]|0;_[e+12>>2]=(_[e+12>>2]|0)+1;_[e+16>>2]=i;t=((t|0)/3|0)+-1|0;return t|0}function vd(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,l=0,f=0,b=0,p=0,d=0.0;p=u;u=u+112|0;l=_[e+28>>2]|0;f=_[e+32>>2]|0;_[p+16>>2]=_[927];_[p+16+4>>2]=_[928];_[p+16+8>>2]=_[929];switch(_[e+1232>>2]|0){case 0:{i=2;r=1;o=0;b=7;break}case 1:{i=1;r=2;o=0;b=7;break}case 2:{i=2;r=0;o=1;b=7;break}case 3:{i=0;r=2;o=1;b=7;break}case 4:{i=1;r=0;o=2;b=7;break}case 5:{i=0;r=1;o=2;b=7;break}default:o=0}if((b|0)==7){_[p+16>>2]=o;_[p+16+4>>2]=r;_[p+16+8>>2]=i}c=0;r=0;while(1){i=e+968+(o*88|0)|0;if(!(((_[e+968+(o*88|0)+84>>2]|0)==0?(n[e+968+(o*88|0)+28>>0]|0)==0:0)?(n[e+968+(o*88|0)+48>>0]|0)==0:0)){s=e+1380+(o<<4)|0;_[p>>2]=_[s>>2];_[p+4>>2]=_[s+4>>2];_[p+8>>2]=_[s+8>>2];_[p+12>>2]=_[s+12>>2];s=_[e+1456>>2]>>(o<<2)+12;if(!(s&1))_[e+968+(o*88|0)+16>>2]=_[_[t+32>>2]>>2];if(!(s&2))_[e+968+(o*88|0)+12>>2]=_[t+4>>2];if(!(s&4))_[e+968+(o*88|0)+24>>2]=_[_[t+32>>2]>>2];if(!(s&8))_[e+968+(o*88|0)+20>>2]=_[t+4>>2];r=(Yc(e,i,l+4|0,f+4|0,l+372|0,f+372|0,l+388|0,f+388|0,t,r,p,1,0)|0)+r|0}i=c+1|0;if((i|0)==3)break;c=i;o=_[p+16+(i<<2)>>2]|0}a[p+16>>2]=1.0;a[p+16+4>>2]=-1.0;a[p+16+8>>2]=0.0;a[p+16+12>>2]=.20000000298023224;a[p+16+16>>2]=0.0;a[p+16+20>>2]=.8999999761581421;a[p+16+24>>2]=0.0;n[p+16+28>>0]=0;a[p+16+32>>2]=0.0;a[p+16+36>>2]=.10000000149011612;n[p+16+40>>0]=0;a[p+16+44>>2]=0.0;n[p+16+48>>0]=0;a[p+16+52>>2]=0.0;n[p+16+56>>0]=0;a[p+16+60>>2]=0.0;n[p+16+64>>0]=0;c=p+16+68|0;_[c>>2]=0;_[c+4>>2]=0;_[c+8>>2]=0;_[c+12>>2]=0;_[c+16>>2]=0;i=0;do{s=_[e+956+(i<<2)>>2]|0;o=n[e+792+i>>0]|0;if(!s)if(!(o<<24>>24))if(!(n[e+798+i>>0]|0))i=i+1|0;else{o=0;b=28}else{o=1;b=28}else b=28;if((b|0)==28){b=0;_[p+16+8>>2]=_[e+712+(i<<2)>>2];_[p+16+84>>2]=s;_[p+16+80>>2]=_[e+940+(i<<2)>>2];_[p+16+72>>2]=_[e+908+(i<<2)>>2];_[p+16+76>>2]=_[e+924+(i<<2)>>2];n[p+16+28>>0]=o;n[p+16+40>>0]=n[e+795+i>>0]|0;_[p+16+44>>2]=_[e+804+(i<<2)>>2];n[p+16+48>>0]=n[e+798+i>>0]|0;_[p+16+52>>2]=_[e+820+(i<<2)>>2];n[p+16+56>>0]=n[e+836+i>>0]|0;_[p+16+60>>2]=_[e+840+(i<<2)>>2];n[p+16+64>>0]=n[e+856+i>>0]|0;_[c>>2]=_[e+860+(i<<2)>>2];_[p+16+4>>2]=_[e+696+(i<<2)>>2];_[p+16>>2]=_[e+680+(i<<2)>>2];_[p+16+36>>2]=_[e+892+(i<<2)>>2];_[p+16+32>>2]=_[e+876+(i<<2)>>2];_[p>>2]=_[e+1236+(i<<2)>>2];_[p+4>>2]=_[e+1252+(i<<2)>>2];_[p+8>>2]=_[e+1268+(i<<2)>>2];a[p+12>>2]=0.0;s=_[e+1456>>2]>>(i<<2);if(!(s&1))o=_[t+32>>2]|0;else o=e+744+(i<<2)|0;_[p+16+16>>2]=_[o>>2];_[p+16+12>>2]=_[((s&2|0)==0?t+4|0:e+728+(i<<2)|0)>>2];if(!(s&4))o=_[t+32>>2]|0;else o=e+776+(i<<2)|0;_[p+16+24>>2]=_[o>>2];_[p+16+20>>2]=_[((s&8|0)==0?t+4|0:e+760+(i<<2)|0)>>2];s=i+1|0;o=(s|0)==3?0:s;i=(i+2|0)%3|0;switch(_[e+968+(o*88|0)+84>>2]|0){case 2:case 1:{o=1;break}case 3:{d=+a[e+968+(o*88|0)+72>>2];o=d<-.001|d>.001;break}case 4:{if(+a[e+968+(o*88|0)+72>>2]<-.001)o=1;else o=+a[e+968+(o*88|0)+76>>2]>.001;break}default:o=0}switch(_[e+968+(i*88|0)+84>>2]|0){case 2:case 1:{b=43;break}case 3:{d=+a[e+968+(i*88|0)+72>>2];if(d<-.001|d>.001)b=43;else i=1;break}case 4:{if(!(+a[e+968+(i*88|0)+72>>2]<-.001)?!(+a[e+968+(i*88|0)+76>>2]>.001):0)i=1;else b=43;break}default:i=1}if((b|0)==43){b=0;i=0}r=(Yc(e,p+16|0,l+4|0,f+4|0,l+372|0,f+372|0,l+388|0,f+388|0,t,r,p,0,o?i:1)|0)+r|0;i=s}}while((i|0)!=3);u=p;return}function wd(e,t,i){e=e|0;t=t|0;i=i|0;var r=0.0,o=0,s=0,c=0,l=0,f=0,b=0,p=0.0,d=0,m=0,h=0,y=0;d=u;u=u+128|0;_[e+72>>2]=(_[e+72>>2]|0)+1;_[d>>2]=_[t>>2];_[d+4>>2]=_[t+4>>2];_[d+8>>2]=_[t+8>>2];_[d+12>>2]=_[t+12>>2];_[d+16>>2]=_[t+16>>2];_[d+16+4>>2]=_[t+16+4>>2];_[d+16+8>>2]=_[t+16+8>>2];_[d+16+12>>2]=_[t+16+12>>2];_[d+32>>2]=_[t+32>>2];_[d+32+4>>2]=_[t+32+4>>2];_[d+32+8>>2]=_[t+32+8>>2];_[d+32+12>>2]=_[t+32+12>>2];_[d+48>>2]=_[t+48>>2];_[d+48+4>>2]=_[t+48+4>>2];_[d+48+8>>2]=_[t+48+8>>2];_[d+48+12>>2]=_[t+48+12>>2];b=_[i+4>>2]|0;p=+Da[_[(_[i>>2]|0)+48>>2]&15](i);$a[_[(_[i>>2]|0)+8>>2]&127](i,t,d+112|0,d+96|0);r=+a[d+112>>2];if(+a[e+36>>2]>r)a[e+36>>2]=r;r=+a[d+96>>2];if(+a[e+52>>2]<r)a[e+52>>2]=r;r=+a[d+112+4>>2];if(+a[e+40>>2]>r)a[e+40>>2]=r;r=+a[d+96+4>>2];if(+a[e+56>>2]<r)a[e+56>>2]=r;r=+a[d+112+8>>2];if(+a[e+44>>2]>r)a[e+44>>2]=r;r=+a[d+96+8>>2];if(+a[e+60>>2]<r)a[e+60>>2]=r;l=_[e+68>>2]|0;if(!l){l=e+20|0;c=0}else{_[d+64>>2]=_[d+112>>2];_[d+64+4>>2]=_[d+112+4>>2];_[d+64+8>>2]=_[d+112+8>>2];_[d+64+12>>2]=_[d+112+12>>2];_[d+64+16>>2]=_[d+96>>2];_[d+64+16+4>>2]=_[d+96+4>>2];_[d+64+16+8>>2]=_[d+96+8>>2];_[d+64+16+12>>2]=_[d+96+12>>2];c=_[e+20>>2]|0;t=_[l+4>>2]|0;if(!t){_[6293]=(_[6293]|0)+1;t=cc(63)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}o=t;s=o+44|0;do{_[o>>2]=0;o=o+4|0}while((o|0)<(s|0))}else _[l+4>>2]=0;_[t+32>>2]=0;_[t+36>>2]=c;_[t+40>>2]=0;_[t>>2]=_[d+64>>2];_[t+4>>2]=_[d+64+4>>2];_[t+8>>2]=_[d+64+8>>2];_[t+12>>2]=_[d+64+12>>2];_[t+16>>2]=_[d+64+16>>2];_[t+20>>2]=_[d+64+20>>2];_[t+24>>2]=_[d+64+24>>2];_[t+28>>2]=_[d+64+28>>2];pe(l,_[l>>2]|0,t);_[l+12>>2]=(_[l+12>>2]|0)+1;l=e+20|0;c=t}t=_[l>>2]|0;if((t|0)==(_[e+24>>2]|0)?(f=t|0?t<<1:1,(t|0)<(f|0)):0){if(!f)s=0;else{_[6293]=(_[6293]|0)+1;t=cc((f*80|3)+16|0)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}s=t;t=_[l>>2]|0}if((t|0)>0){o=0;do{m=s+(o*80|0)|0;h=_[e+28>>2]|0;y=h+(o*80|0)|0;_[m>>2]=_[y>>2];_[m+4>>2]=_[y+4>>2];_[m+8>>2]=_[y+8>>2];_[m+12>>2]=_[y+12>>2];m=h+(o*80|0)+16|0;y=s+(o*80|0)+16|0;_[y>>2]=_[m>>2];_[y+4>>2]=_[m+4>>2];_[y+8>>2]=_[m+8>>2];_[y+12>>2]=_[m+12>>2];y=h+(o*80|0)+32|0;m=s+(o*80|0)+32|0;_[m>>2]=_[y>>2];_[m+4>>2]=_[y+4>>2];_[m+8>>2]=_[y+8>>2];_[m+12>>2]=_[y+12>>2];m=s+(o*80|0)+48|0;y=h+(o*80|0)+48|0;_[m>>2]=_[y>>2];_[m+4>>2]=_[y+4>>2];_[m+8>>2]=_[y+8>>2];_[m+12>>2]=_[y+12>>2];m=s+(o*80|0)+64|0;h=h+(o*80|0)+64|0;_[m>>2]=_[h>>2];_[m+4>>2]=_[h+4>>2];_[m+8>>2]=_[h+8>>2];_[m+12>>2]=_[h+12>>2];o=o+1|0}while((o|0)!=(t|0))}t=_[e+28>>2]|0;if(t|0){if(n[e+32>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+28>>2]=0}n[e+32>>0]=1;_[e+28>>2]=s;_[e+24>>2]=f;t=_[l>>2]|0}y=_[e+28>>2]|0;h=y+(t*80|0)|0;_[h>>2]=_[d>>2];_[h+4>>2]=_[d+4>>2];_[h+8>>2]=_[d+8>>2];_[h+12>>2]=_[d+12>>2];h=y+(t*80|0)+16|0;_[h>>2]=_[d+16>>2];_[h+4>>2]=_[d+16+4>>2];_[h+8>>2]=_[d+16+8>>2];_[h+12>>2]=_[d+16+12>>2];h=y+(t*80|0)+32|0;_[h>>2]=_[d+32>>2];_[h+4>>2]=_[d+32+4>>2];_[h+8>>2]=_[d+32+8>>2];_[h+12>>2]=_[d+32+12>>2];h=y+(t*80|0)+48|0;_[h>>2]=_[d+48>>2];_[h+4>>2]=_[d+48+4>>2];_[h+8>>2]=_[d+48+8>>2];_[h+12>>2]=_[d+48+12>>2];y=y+(t*80|0)+64|0;_[y>>2]=i;_[y+4>>2]=b;a[y+8>>2]=p;_[y+12>>2]=c;_[l>>2]=(_[l>>2]|0)+1;u=d;return}function xd(e){e=e|0;var t=0,i=0.0,r=0.0,o=0.0,s=0,c=0.0,l=0,f=0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0;f=u;u=u+16|0;if(!(n[e+1308>>0]|0)){u=f;return}a[e+928>>2]=0.0;a[e+992>>2]=0.0;a[e+1056>>2]=0.0;_[e+712>>2]=0;_[e+712+4>>2]=0;_[e+712+8>>2]=0;_[e+712+12>>2]=0;Xc(e,(_[e+28>>2]|0)+4|0,(_[e+32>>2]|0)+4|0);ua[_[(_[e>>2]|0)+44>>2]&511](e);i=+a[e+1284>>2];r=+a[e+1288>>2];o=+a[e+1292>>2];if(+a[e+696>>2]>=+a[e+680>>2]){t=(n[e+1300>>0]|0)==0?e+1128|0:e+1064|0;s=_[t+16>>2]|0;l=_[t+32>>2]|0;_[f>>2]=_[t>>2];_[f+4>>2]=s;_[f+8>>2]=l;a[f+12>>2]=0.0;Rg(_[e+28>>2]|0,_[e+32>>2]|0,e+176|0,f,i,r,o,i,r,o)}if(+a[e+700>>2]>=+a[e+684>>2]){t=(n[e+1300>>0]|0)==0?e+1128|0:e+1064|0;s=_[t+20>>2]|0;l=_[t+36>>2]|0;_[f>>2]=_[t+4>>2];_[f+4>>2]=s;_[f+8>>2]=l;a[f+12>>2]=0.0;Rg(_[e+28>>2]|0,_[e+32>>2]|0,e+260|0,f,i,r,o,i,r,o)}if(+a[e+704>>2]>=+a[e+688>>2]){t=(n[e+1300>>0]|0)==0?e+1128|0:e+1064|0;s=_[t+24>>2]|0;l=_[t+40>>2]|0;_[f>>2]=_[t+8>>2];_[f+4>>2]=s;_[f+8>>2]=l;a[f+12>>2]=0.0;Rg(_[e+28>>2]|0,_[e+32>>2]|0,e+344|0,f,i,r,o,i,r,o)}l=0;do{r=+a[e+868+(l<<6)>>2];o=+a[e+868+(l<<6)+4>>2];c=+Xi(+a[e+1192+(l<<2)>>2],r,o);a[e+868+(l<<6)+52>>2]=c;do{if(!(r>o)){if(r>c){_[e+868+(l<<6)+56>>2]=1;t=e+868+(l<<6)+48|0;a[t>>2]=c-r;if(!(c-r>3.1415927410125732))if(c-r<-3.1415927410125732)i=6.2831854820251465;else{s=16;break}else i=-6.2831854820251465;a[t>>2]=c-r+i;s=16;break}t=e+868+(l<<6)+56|0;if(o<c){_[t>>2]=2;t=e+868+(l<<6)+48|0;a[t>>2]=c-o;if(!(c-o>3.1415927410125732))if(c-o<-3.1415927410125732)i=6.2831854820251465;else{s=16;break}else i=-6.2831854820251465;a[t>>2]=c-o+i;s=16}else s=15}else{t=e+868+(l<<6)+56|0;s=15}}while(0);if((s|0)==15?(s=0,_[t>>2]=0,n[e+868+(l<<6)+44>>0]|0):0)s=16;if((s|0)==16){F=e+1208+(l<<4)|0;_[f>>2]=_[F>>2];_[f+4>>2]=_[F+4>>2];_[f+8>>2]=_[F+8>>2];_[f+12>>2]=_[F+12>>2];F=e+428+(l*84|0)|0;t=_[e+28>>2]|0;W=+a[t+4>>2];G=+a[t+20>>2];H=+a[t+36>>2];T=+a[t+8>>2];D=+a[t+24>>2];M=+a[t+40>>2];x=+a[t+12>>2];R=+a[t+28>>2];j=+a[t+44>>2];s=_[e+32>>2]|0;k=+a[s+4>>2];w=+a[s+20>>2];v=+a[s+36>>2];g=+a[s+8>>2];y=+a[s+24>>2];h=+a[s+40>>2];d=+a[s+12>>2];b=+a[s+28>>2];r=+a[s+44>>2];_[F>>2]=0;_[F+4>>2]=0;_[F+8>>2]=0;_[F+12>>2]=0;p=+a[f>>2];i=+a[f+4>>2];o=+a[f+8>>2];a[e+428+(l*84|0)+16>>2]=W*p+G*i+H*o;a[e+428+(l*84|0)+20>>2]=T*p+D*i+M*o;a[e+428+(l*84|0)+24>>2]=x*p+R*i+j*o;a[e+428+(l*84|0)+28>>2]=0.0;a[e+428+(l*84|0)+32>>2]=k*-p+w*-i+v*-o;a[e+428+(l*84|0)+36>>2]=g*-p+y*-i+h*-o;a[e+428+(l*84|0)+40>>2]=d*-p+b*-i+r*-o;a[e+428+(l*84|0)+44>>2]=0.0;O=(W*p+G*i+H*o)*+a[t+456>>2];I=(T*p+D*i+M*o)*+a[t+460>>2];S=(x*p+R*i+j*o)*+a[t+464>>2];a[e+428+(l*84|0)+48>>2]=O;a[e+428+(l*84|0)+52>>2]=I;a[e+428+(l*84|0)+56>>2]=S;a[e+428+(l*84|0)+60>>2]=0.0;C=(k*-p+w*-i+v*-o)*+a[s+456>>2];m=(g*-p+y*-i+h*-o)*+a[s+460>>2];c=(d*-p+b*-i+r*-o)*+a[s+464>>2];a[e+428+(l*84|0)+64>>2]=C;a[e+428+(l*84|0)+68>>2]=m;a[e+428+(l*84|0)+72>>2]=c;a[e+428+(l*84|0)+76>>2]=0.0;a[e+428+(l*84|0)+80>>2]=(W*p+G*i+H*o)*O+(T*p+D*i+M*o)*I+(x*p+R*i+j*o)*S+((k*-p+w*-i+v*-o)*C+(g*-p+y*-i+h*-o)*m+(d*-p+b*-i+r*-o)*c)}l=l+1|0}while((l|0)!=3);u=f;return}function yd(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0;o=Vr()|0;_[o>>2]=4908;n[o+20>>0]=1;_[o+16>>2]=0;_[o+8>>2]=0;_[o+12>>2]=0;_[o+24>>2]=e;a[o+28>>2]=0.0;_[o+32>>2]=0;_[o+36>>2]=1;a[o+40>>2]=1.0;n[o+44>>0]=1;_[o+48>>2]=0;n[o+52>>0]=0;n[o+53>>0]=1;n[o+54>>0]=1;a[o+56>>2]=.03999999910593033;n[o+60>>0]=0;a[o+64>>2]=0.0;_[o+68>>2]=t;_[o+72>>2]=0;n[o+76>>0]=1;_[o+80>>2]=0;_[o+84>>2]=0;_[o+88>>2]=0;a[o+92>>2]=.6000000238418579;a[o+96>>2]=1.0;a[o+100>>2]=.30000001192092896;a[o+104>>2]=.01666666753590107;a[o+108>>2]=0.0;a[o+116>>2]=20.0;_[o+112>>2]=10;a[o+124>>2]=.20000000298023224;a[o+128>>2]=.20000000298023224;a[o+132>>2]=0.0;a[o+136>>2]=.20000000298023224;a[o+140>>2]=0.0;a[o+120>>2]=1.0;_[o+144>>2]=1;a[o+148>>2]=-.03999999910593033;a[o+152>>2]=.10000000149011612;a[o+156>>2]=0.0;a[o+160>>2]=.8500000238418579;_[o+164>>2]=260;_[o+168>>2]=2;_[o+172>>2]=128;a[o+176>>2]=100.0;a[o+180>>2]=1000000015047466219876688.0e6;a[o+184>>2]=0.0;a[o+188>>2]=.20000000298023224;_[o>>2]=3956;n[o+208>>0]=1;_[o+204>>2]=0;_[o+196>>2]=0;_[o+200>>2]=0;_[o+212>>2]=0;_[o+216>>2]=i;n[o+240>>0]=1;_[o+236>>2]=0;_[o+228>>2]=0;_[o+232>>2]=0;n[o+260>>0]=1;_[o+256>>2]=0;_[o+248>>2]=0;_[o+252>>2]=0;_[o+264>>2]=0;_[o+268>>2]=-1054867456;n[o+290>>0]=0;n[o+291>>0]=0;_[o+272>>2]=0;_[o+272+4>>2]=0;_[o+272+8>>2]=0;_[o+272+12>>2]=0;n[o+308>>0]=1;_[o+304>>2]=0;_[o+296>>2]=0;_[o+300>>2]=0;_[o+312>>2]=0;n[o+316>>0]=1;n[o+336>>0]=1;_[o+332>>2]=0;_[o+324>>2]=0;_[o+328>>2]=0;_[o+340>>2]=0;if(!i){_[6293]=(_[6293]|0)+1;r=cc(255)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}_[r>>2]=3840;n[r+20>>0]=1;_[r+16>>2]=0;_[r+8>>2]=0;_[r+12>>2]=0;n[r+40>>0]=1;_[r+36>>2]=0;_[r+28>>2]=0;_[r+32>>2]=0;n[r+60>>0]=1;_[r+56>>2]=0;_[r+48>>2]=0;_[r+52>>2]=0;n[r+80>>0]=1;_[r+76>>2]=0;_[r+68>>2]=0;_[r+72>>2]=0;n[r+100>>0]=1;_[r+96>>2]=0;_[r+88>>2]=0;_[r+92>>2]=0;n[r+120>>0]=1;_[r+116>>2]=0;_[r+108>>2]=0;_[r+112>>2]=0;n[r+140>>0]=1;_[r+136>>2]=0;_[r+128>>2]=0;_[r+132>>2]=0;n[r+160>>0]=1;_[r+156>>2]=0;_[r+148>>2]=0;_[r+152>>2]=0;n[r+180>>0]=1;_[r+176>>2]=0;_[r+168>>2]=0;_[r+172>>2]=0;n[r+208>>0]=1;_[r+204>>2]=0;_[r+196>>2]=0;_[r+200>>2]=0;_[r+232>>2]=0;_[r+224>>2]=0;_[r+212>>2]=16;_[r+216>>2]=17;_[r+220>>2]=18;_[o+216>>2]=r;r=1}else r=0;n[o+289>>0]=r;_[6293]=(_[6293]|0)+1;r=cc(87)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}_[r>>2]=5720;n[r+20>>0]=1;_[r+16>>2]=0;_[r+8>>2]=0;_[r+12>>2]=0;n[r+40>>0]=1;_[r+36>>2]=0;_[r+28>>2]=0;_[r+32>>2]=0;n[r+60>>0]=1;_[r+56>>2]=0;_[r+48>>2]=0;_[r+52>>2]=0;n[r+64>>0]=1;_[o+220>>2]=r;n[o+288>>0]=1;_[6293]=(_[6293]|0)+1;r=cc(107)|0;if(!r){i=0;r=_[o+216>>2]|0;_[i>>2]=4176;t=i+4|0;_[t>>2]=0;t=i+8|0;_[t>>2]=r;t=i+12|0;_[t>>2]=0;t=i+16|0;_[t>>2]=0;t=i+20|0;_[t>>2]=0;t=i+24|0;_[t>>2]=e;e=i+44|0;n[e>>0]=1;e=i+40|0;_[e>>2]=0;e=i+32|0;_[e>>2]=0;e=i+36|0;_[e>>2]=0;e=i+64|0;n[e>>0]=1;e=i+60|0;_[e>>2]=0;e=i+52|0;_[e>>2]=0;e=i+56|0;_[e>>2]=0;e=i+84|0;n[e>>0]=1;e=i+80|0;_[e>>2]=0;e=i+72|0;_[e>>2]=0;e=i+76|0;_[e>>2]=0;_[o+212>>2]=i;return o|0}_[(r+4+15&-16)+-4>>2]=r;i=r+4+15&-16;r=_[o+216>>2]|0;_[i>>2]=4176;t=i+4|0;_[t>>2]=0;t=i+8|0;_[t>>2]=r;t=i+12|0;_[t>>2]=0;t=i+16|0;_[t>>2]=0;t=i+20|0;_[t>>2]=0;t=i+24|0;_[t>>2]=e;e=i+44|0;n[e>>0]=1;e=i+40|0;_[e>>2]=0;e=i+32|0;_[e>>2]=0;e=i+36|0;_[e>>2]=0;e=i+64|0;n[e>>0]=1;e=i+60|0;_[e>>2]=0;e=i+52|0;_[e>>2]=0;e=i+56|0;_[e>>2]=0;e=i+84|0;n[e>>0]=1;e=i+80|0;_[e>>2]=0;e=i+72|0;_[e>>2]=0;e=i+76|0;_[e>>2]=0;_[o+212>>2]=i;return o|0}function zd(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=+o;var s=0,c=0,l=0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0,g=0.0;s=u;u=u+464|0;_[s+128>>2]=_[i>>2];_[s+128+4>>2]=_[i+4>>2];_[s+128+8>>2]=_[i+8>>2];_[s+128+12>>2]=_[i+12>>2];_[s+128+16>>2]=_[i+16>>2];_[s+128+16+4>>2]=_[i+16+4>>2];_[s+128+16+8>>2]=_[i+16+8>>2];_[s+128+16+12>>2]=_[i+16+12>>2];_[s+128+32>>2]=_[i+32>>2];_[s+128+32+4>>2]=_[i+32+4>>2];_[s+128+32+8>>2]=_[i+32+8>>2];_[s+128+32+12>>2]=_[i+32+12>>2];l=s+128+48|0;_[l>>2]=_[i+48>>2];_[l+4>>2]=_[i+48+4>>2];_[l+8>>2]=_[i+48+8>>2];_[l+12>>2]=_[i+48+12>>2];_[s+64>>2]=_[n>>2];_[s+64+4>>2]=_[n+4>>2];_[s+64+8>>2]=_[n+8>>2];_[s+64+12>>2]=_[n+12>>2];_[s+64+16>>2]=_[n+16>>2];_[s+64+16+4>>2]=_[n+16+4>>2];_[s+64+16+8>>2]=_[n+16+8>>2];_[s+64+16+12>>2]=_[n+16+12>>2];_[s+64+32>>2]=_[n+32>>2];_[s+64+32+4>>2]=_[n+32+4>>2];_[s+64+32+8>>2]=_[n+32+8>>2];_[s+64+32+12>>2]=_[n+32+12>>2];c=s+64+48|0;_[c>>2]=_[n+48>>2];_[c+4>>2]=_[n+48+4>>2];_[c+8>>2]=_[n+48+8>>2];_[c+12>>2]=_[n+48+12>>2];bf(s+128|0,s+64|0,s+256|0,s+192|0);g=+a[s+192>>2];f=g*+a[s+256+4>>2];h=g*+a[s+256+8>>2];a[s+16>>2]=+a[s+256>>2]*g;a[s+16+4>>2]=f;a[s+16+8>>2]=h;a[s+16+12>>2]=0.0;_[s+256>>2]=0;_[s+256+4>>2]=0;_[s+256+8>>2]=0;_[s+256+12>>2]=0;_[s+192+48>>2]=0;_[s+192+48+4>>2]=0;_[s+192+48+8>>2]=0;_[s+192+48+12>>2]=0;Lg(s+128|0,s);h=+a[s>>2];f=+a[s+4>>2];g=+a[s+8>>2];m=+a[s+12>>2];p=h*(2.0/(h*h+f*f+g*g+m*m));b=f*(2.0/(h*h+f*f+g*g+m*m));d=g*(2.0/(h*h+f*f+g*g+m*m));a[s+192>>2]=1.0-(f*b+g*d);a[s+192+4>>2]=h*b-m*d;a[s+192+8>>2]=h*d+m*b;a[s+192+12>>2]=0.0;a[s+192+16>>2]=h*b+m*d;a[s+192+20>>2]=1.0-(h*p+g*d);a[s+192+24>>2]=f*d-m*p;a[s+192+28>>2]=0.0;a[s+192+32>>2]=h*d-m*b;a[s+192+36>>2]=f*d+m*p;a[s+192+40>>2]=1.0-(h*p+f*b);a[s+192+44>>2]=0.0;zg(t,s+192|0,s+256|0,s+16|0,s+48|0,s+32|0);_[s+256>>2]=5276;_[s+256+36>>2]=_[i>>2];_[s+256+36+4>>2]=_[i+4>>2];_[s+256+36+8>>2]=_[i+8>>2];_[s+256+36+12>>2]=_[i+12>>2];_[s+256+52>>2]=_[i+16>>2];_[s+256+52+4>>2]=_[i+16+4>>2];_[s+256+52+8>>2]=_[i+16+8>>2];_[s+256+52+12>>2]=_[i+16+12>>2];_[s+256+68>>2]=_[i+32>>2];_[s+256+68+4>>2]=_[i+32+4>>2];_[s+256+68+8>>2]=_[i+32+8>>2];_[s+256+68+12>>2]=_[i+32+12>>2];y=s+256+84|0;_[y>>2]=_[i+48>>2];_[y+4>>2]=_[i+48+4>>2];_[y+8>>2]=_[i+48+8>>2];_[y+12>>2]=_[i+48+12>>2];_[s+256+100>>2]=_[n>>2];_[s+256+100+4>>2]=_[n+4>>2];_[s+256+100+8>>2]=_[n+8>>2];_[s+256+100+12>>2]=_[n+12>>2];_[s+256+116>>2]=_[n+16>>2];_[s+256+116+4>>2]=_[n+16+4>>2];_[s+256+116+8>>2]=_[n+16+8>>2];_[s+256+116+12>>2]=_[n+16+12>>2];_[s+256+132>>2]=_[n+32>>2];_[s+256+132+4>>2]=_[n+32+4>>2];_[s+256+132+8>>2]=_[n+32+8>>2];_[s+256+132+12>>2]=_[n+32+12>>2];i=s+256+148|0;_[i>>2]=_[n+48>>2];_[i+4>>2]=_[n+48+4>>2];_[i+8>>2]=_[n+48+8>>2];_[i+12>>2]=_[n+48+12>>2];_[s+256+180>>2]=e;_[s+256+184>>2]=r;a[s+256+188>>2]=o;_[s+256+192>>2]=t;b=+a[i>>2]-+a[y>>2];f=+a[s+256+152>>2]-+a[s+256+88>>2];p=+a[s+256+156>>2]-+a[s+256+92>>2];o=1.0/+W(+(b*b+f*f+p*p));h=b*o==0.0?999999984306749440.0:1.0/(b*o);a[s+256+4>>2]=h;m=f*o==0.0?999999984306749440.0:1.0/(f*o);a[s+256+8>>2]=m;d=p*o==0.0?999999984306749440.0:1.0/(p*o);a[s+256+12>>2]=d;_[s+256+20>>2]=h<0.0&1;_[s+256+24>>2]=m<0.0&1;_[s+256+28>>2]=d<0.0&1;a[s+256+32>>2]=p*p*o+(b*b*o+f*f*o);r=_[e+68>>2]|0;Ia[_[(_[r>>2]|0)+24>>2]&7](r,l,c,s+256|0,s+48|0,s+32|0);u=s;return}function Ad(e){e=e|0;var t=0,i=0,n=0,o=0.0,c=0.0,l=0,f=0.0,p=0,d=0,m=0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0,S=0,j=0.0,R=0.0,x=0.0,I=0,M=0,D=0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0.0;S=u;u=u+64|0;t=_[e>>2]|0;if(!t){u=S;return}k=S+32+16|0;i=_[e+16>>2]|0;do{l=t;t=t+-1|0;n=_[i+(t<<4)+12>>2]|0;if((n|0)>-1){i=_[e+72>>2]|0;Za[_[(_[i>>2]|0)+16>>2]&127](i,n,S+32|0);i=_[e+16>>2]|0;v=+a[S+32>>2];h=+a[S+32+4>>2];j=+a[S+32+8>>2];o=+a[e+24>>2];v=v<o?o:v;y=+a[e+28>>2];h=h<y?y:h;w=+a[e+32>>2];j=j<w?w:j;R=+a[e+40>>2];f=+a[e+44>>2];C=+a[e+48>>2];x=+a[e+56>>2];c=+a[e+60>>2];g=+a[e+64>>2];r[i+(t<<4)>>1]=~~(((R<v?R:v)-o)*x+.5);r[i+(t<<4)+2>>1]=~~(((f<h?f:h)-y)*c+.5);r[i+(t<<4)+4>>1]=~~(((C<j?C:j)-w)*g+.5);j=+a[S+32+16>>2];h=+a[S+32+20>>2];v=+a[S+32+24>>2];j=j<o?o:j;h=h<y?y:h;v=v<w?w:v;r[i+(t<<4)+6>>1]=~~(x*((R<j?R:j)-o)+.5);r[i+(t<<4)+8>>1]=~~(c*((f<h?f:h)-y)+.5);r[i+(t<<4)+10>>1]=~~(g*((C<v?C:v)-w)+.5)}else{a[S+32>>2]=3402823466385288598117041.0e14;a[S+32+4>>2]=3402823466385288598117041.0e14;a[S+32+8>>2]=3402823466385288598117041.0e14;a[k>>2]=-3402823466385288598117041.0e14;a[S+32+20>>2]=-3402823466385288598117041.0e14;a[S+32+24>>2]=-3402823466385288598117041.0e14;y=+a[e+56>>2];g=+a[e+60>>2];C=+a[e+64>>2];v=+a[e+24>>2];j=+(s[i+(l<<4)>>1]|0)/y+v;w=+a[e+28>>2];R=+(s[i+(l<<4)+2>>1]|0)/g+w;h=+a[e+32>>2];x=+(s[i+(l<<4)+4>>1]|0)/C+h;a[S>>2]=j;a[S+4>>2]=R;a[S+8>>2]=x;a[S+12>>2]=0.0;c=+(s[i+(l<<4)+6>>1]|0)/y+v;o=+(s[i+(l<<4)+8>>1]|0)/g+w;f=+(s[i+(l<<4)+10>>1]|0)/C+h;a[S+16>>2]=c;a[S+20>>2]=o;a[S+24>>2]=f;a[S+28>>2]=0.0;D=_[(j<3402823466385288598117041.0e14?S:S+32|0)>>2]|0;_[S+32>>2]=D;M=_[(R<3402823466385288598117041.0e14?S:S+32|0)+4>>2]|0;_[S+32+4>>2]=M;I=_[(x<3402823466385288598117041.0e14?S:S+32|0)+8>>2]|0;_[S+32+8>>2]=I;p=_[(c>-3402823466385288598117041.0e14?S+16|0:k)>>2]|0;_[k>>2]=p;d=_[(o>-3402823466385288598117041.0e14?S+16|0:k)+4>>2]|0;_[S+32+20>>2]=d;m=_[(f>-3402823466385288598117041.0e14?S+16|0:k)+8>>2]|0;_[S+32+24>>2]=m;n=_[i+(l<<4)+12>>2]|0;n=((n|0)>-1?1:0-n|0)+l|0;f=(_[b>>2]=D,+a[b>>2]);o=(_[b>>2]=M,+a[b>>2]);c=(_[b>>2]=I,+a[b>>2]);if(n){R=(_[b>>2]=m,+a[b>>2]);T=(_[b>>2]=d,+a[b>>2]);H=(_[b>>2]=p,+a[b>>2]);F=+(s[i+(n<<4)>>1]|0)/y+v;W=+(s[i+(n<<4)+2>>1]|0)/g+w;G=+(s[i+(n<<4)+4>>1]|0)/C+h;a[S>>2]=F;a[S+4>>2]=W;a[S+8>>2]=G;a[S+12>>2]=0.0;O=+(s[i+(n<<4)+6>>1]|0)/y+v;j=+(s[i+(n<<4)+8>>1]|0)/g+w;x=+(s[i+(n<<4)+10>>1]|0)/C+h;a[S+16>>2]=O;a[S+20>>2]=j;a[S+24>>2]=x;a[S+28>>2]=0.0;I=_[(f>F?S:S+32|0)>>2]|0;_[S+32>>2]=I;M=_[(o>W?S:S+32|0)+4>>2]|0;_[S+32+4>>2]=M;D=_[(c>G?S:S+32|0)+8>>2]|0;_[S+32+8>>2]=D;_[k>>2]=_[(H<O?S+16|0:k)>>2];_[S+32+20>>2]=_[(T<j?S+16|0:k)+4>>2];_[S+32+24>>2]=_[(R<x?S+16|0:k)+8>>2];f=(_[b>>2]=I,+a[b>>2]);o=(_[b>>2]=M,+a[b>>2]);c=(_[b>>2]=D,+a[b>>2])}F=f<v?v:f;G=o<w?w:o;O=c<h?h:c;T=+a[e+40>>2];H=+a[e+44>>2];W=+a[e+48>>2];r[i+(t<<4)>>1]=~~(((T<F?T:F)-v)*y+.5);r[i+(t<<4)+2>>1]=~~(((H<G?H:G)-w)*g+.5);r[i+(t<<4)+4>>1]=~~(((W<O?W:O)-h)*C+.5);O=+a[k>>2];G=+a[S+32+20>>2];F=+a[S+32+24>>2];O=O<v?v:O;G=G<w?w:G;F=F<h?h:F;r[i+(t<<4)+6>>1]=~~(y*((T<O?T:O)-v)+.5);r[i+(t<<4)+8>>1]=~~(g*((H<G?H:G)-w)+.5);r[i+(t<<4)+10>>1]=~~(C*((W<F?W:F)-h)+.5)}}while((t|0)!=0);u=S;return}function Bd(e,t,i,r,o,s){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;var c=0,l=0.0,f=0,p=0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0,M=0;I=u;u=u+272|0;j=+a[i+48>>2]-+a[t+48>>2];R=+a[i+52>>2]-+a[t+52>>2];x=+a[i+56>>2]-+a[t+56>>2];bf(t,i,I+256|0,I+208|0);v=+a[I+208>>2];g=+a[I+256>>2]*v;C=v*+a[I+256+4>>2];v=v*+a[I+256+8>>2];a[I+192>>2]=g;a[I+192+4>>2]=C;a[I+192+8>>2]=v;a[I+192+12>>2]=0.0;w=+a[o+48>>2]-+a[r+48>>2];k=+a[o+52>>2]-+a[r+52>>2];S=+a[o+56>>2]-+a[r+56>>2];bf(r,o,I+256|0,I+208|0);h=+a[I+208>>2];d=+a[I+256>>2]*h;m=h*+a[I+256+4>>2];h=h*+a[I+256+8>>2];a[I+176>>2]=d;a[I+176+4>>2]=m;a[I+176+8>>2]=h;a[I+176+12>>2]=0.0;i=_[e+12>>2]|0;y=+Da[_[(_[i>>2]|0)+16>>2]&15](i);i=_[e+16>>2]|0;if(!i)l=0.0;else l=+Da[_[(_[i>>2]|0)+16>>2]&15](i);y=y*+W(+(g*g+C*C+v*v))+l*+W(+(d*d+m*m+h*h));if(y+ +W(+((w-j)*(w-j)+(k-R)*(k-R)+(S-x)*(S-x)))==0.0){s=0;u=I;return s|0}_[I+208>>2]=8808;a[I+208+36>>2]=999999984306749440.0;n[I+208+40>>0]=0;qd(e,t,r,I+208|0);o=(n[I+208+40>>0]|0)==0;_[I+256>>2]=_[I+208+20>>2];_[I+256+4>>2]=_[I+208+20+4>>2];_[I+256+8>>2]=_[I+208+20+8>>2];_[I+256+12>>2]=_[I+208+20+12>>2];e:do{if(!o?(p=_[I+208+4>>2]|0,c=_[I+208+8>>2]|0,f=_[I+208+12>>2]|0,v=(w-j)*(_[b>>2]=p,+a[b>>2]),v=v+(k-R)*(_[b>>2]=c,+a[b>>2]),!(y+(v+(S-x)*(_[b>>2]=f,+a[b>>2]))<=1.1920928955078125e-07)):0){l=+a[I+208+16>>2];d=+a[I+208+36>>2]+ +a[s+172>>2];t:do{if(d>1.0000000474974513e-03){o=0;m=0.0;h=d;while(1){i=_[s+168>>2]|0;if(i|0){M=_[(_[i>>2]|0)+28>>2]|0;_[I+112>>2]=1065353216;_[I+112+4>>2]=1065353216;_[I+112+8>>2]=1065353216;a[I+112+12>>2]=0.0;ga[M&7](i,I+256|0,.20000000298023224,I+112|0)}l=(w-j)*(_[b>>2]=p,+a[b>>2]);l=l+(k-R)*(_[b>>2]=c,+a[b>>2]);l=y+(l+(S-x)*(_[b>>2]=f,+a[b>>2]));if(l<=1.1920928955078125e-07){c=0;break e}d=m+h/l;if(!(!(d<=m)&(!(d<0.0)&!(d>1.0)))){c=0;break e}Ue(t,j,R,x,I+192|0,d,I+112|0);Ue(r,w,k,S,I+176|0,d,I+48|0);c=_[s+168>>2]|0;if(c|0){M=_[(_[c>>2]|0)+28>>2]|0;_[I>>2]=1065353216;_[I+4>>2]=0;_[I+8>>2]=0;a[I+12>>2]=0.0;ga[M&7](c,I+112+48|0,.20000000298023224,I)}pa[_[_[s>>2]>>2]&31](s,d);_[I>>2]=8808;a[I+36>>2]=999999984306749440.0;n[I+40>>0]=0;qd(e,I+112|0,I+48|0,I);if(!(n[I+40>>0]|0)){c=15;break}l=+a[I+36>>2];m=+a[s+172>>2];_[I+256>>2]=_[I+20>>2];_[I+256+4>>2]=_[I+20+4>>2];_[I+256+8>>2]=_[I+20+8>>2];_[I+256+12>>2]=_[I+20+12>>2];i=o+1|0;if((o|0)>63){c=16;break}f=_[I+12>>2]|0;c=_[I+8>>2]|0;p=_[I+4>>2]|0;h=l+m;if(!(h>1.0000000474974513e-03)){l=+a[I+16>>2];break t}else{o=i;m=d}}if((c|0)==15)Za[_[(_[s>>2]|0)+8>>2]&127](s,-1,o);else if((c|0)==16)Za[_[(_[s>>2]|0)+8>>2]&127](s,-2,i);c=0;break e}else d=0.0}while(0);a[s+164>>2]=d;_[s+132>>2]=p;_[s+136>>2]=c;_[s+140>>2]=f;a[s+144>>2]=l;_[s+148>>2]=_[I+256>>2];_[s+148+4>>2]=_[I+256+4>>2];_[s+148+8>>2]=_[I+256+8>>2];_[s+148+12>>2]=_[I+256+12>>2];c=1}else c=0}while(0);M=c;u=I;return M|0}function Cd(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0,R=0.0,x=0.0,I=0.0,M=0.0,D=0,T=0;D=u;u=u+32|0;R=+a[t+48>>2]-+a[t+112>>2];o=+a[t+52>>2]-+a[t+116>>2];M=+a[t+56>>2]-+a[t+120>>2];x=R*+a[t+64>>2]+o*+a[t+80>>2]+M*+a[t+96>>2];I=R*+a[t+68>>2]+o*+a[t+84>>2]+M*+a[t+100>>2];M=R*+a[t+72>>2]+o*+a[t+88>>2]+M*+a[t+104>>2];n=_[e+8>>2]|0;j=_[e+4>>2]|0;o=+a[j+32>>2]*+a[j+16>>2];R=o+ +a[e+12>>2];d=+a[n+76>>2];m=+a[n+60>>2];h=+a[n+80>>2];y=+a[n+64>>2];g=+a[n+84>>2];C=+a[n+68>>2];v=+a[n+92>>2];w=+a[n+96>>2];k=+a[n+100>>2];c=(h-y)*(k-C)-(g-C)*(w-y);l=(g-C)*(v-m)-(d-m)*(k-C);p=(d-m)*(w-y)-(h-y)*(v-m);if(!(p*p+(c*c+l*l)>=1.4210854715202004e-14)){u=D;return}b=1.0/+W(+(p*p+(c*c+l*l)));s=(x-m)*c*b+l*b*(I-y)+p*b*(M-C);if(s<0.0){s=-s;f=-(c*b);l=-(l*b);c=-(p*b)}else{f=c*b;l=l*b;c=p*b}if(!(s<R)){u=D;return}p=(M-C)*(l*(d-m)-f*(h-y))+((x-m)*(c*(h-y)-l*(g-C))+(I-y)*(f*(g-C)-c*(d-m)));S=(M-g)*(l*(v-d)-f*(w-h))+((x-d)*(c*(w-h)-l*(k-g))+(I-h)*(f*(k-g)-c*(v-d)));k=(M-k)*(l*(m-v)-f*(y-w))+((x-v)*(c*(y-w)-l*(C-k))+(I-w)*(f*(C-k)-c*(m-v)));if(!(k>0.0&(p>0.0&S>0.0)|k<=0.0&(p<=0.0&S<=0.0))){if((ya[_[(_[n>>2]|0)+100>>2]&127](n)|0)<=0){u=D;return}n=0;j=0;p=0.0;b=0.0;s=0.0;do{T=_[e+8>>2]|0;$a[_[(_[T>>2]|0)+104>>2]&127](T,j,D+16|0,D);y=+a[D+16>>2];k=+a[D+16+4>>2];C=+a[D+16+8>>2];g=+a[D>>2]-y;S=+a[D+4>>2]-k;v=+a[D+8>>2]-C;do{if((x-y)*g+(I-k)*S+(M-C)*v>0.0)if((x-y)*g+(I-k)*S+(M-C)*v<g*g+S*S+v*v){h=((x-y)*g+(I-k)*S+(M-C)*v)/(g*g+S*S+v*v);w=h;d=x-y-g*h;m=I-k-S*h;h=M-C-v*h;break}else{w=1.0;d=x-y-g;m=I-k-S;h=M-C-v;break}else{w=0.0;d=x-y;m=I-k;h=M-C}}while(0);if(d*d+m*m+h*h<R*R){n=1;p=y+g*w;b=C+v*w;s=k+S*w}j=j+1|0;T=_[e+8>>2]|0}while((j|0)<(ya[_[(_[T>>2]|0)+100>>2]&127](T)|0));if(!(n&1)){u=D;return}else{d=R*R;y=p;h=b;m=s}}else{d=R*R;y=x-s*f;h=M-s*c;m=I-s*l}s=x-y;b=I-m;p=M-h;if(!(s*s+b*b+p*p<d)){u=D;return}if(s*s+b*b+p*p>1.1920928955078125e-07){c=+W(+(s*s+b*b+p*p));o=o-c;f=s*(1.0/c);l=b*(1.0/c);c=p*(1.0/c)}s=-o;o=+a[t+64>>2];if(r){S=+a[t+68>>2];R=+a[t+72>>2];x=o*f+S*l+R*c;d=+a[t+80>>2];g=+a[t+84>>2];C=+a[t+88>>2];I=f*d+l*g+c*C;v=+a[t+96>>2];w=+a[t+100>>2];k=+a[t+104>>2];M=f*v+l*w+c*k;a[D+16>>2]=-x;a[D+16+4>>2]=-I;a[D+16+8>>2]=-M;a[D+16+12>>2]=0.0;I=y*d+m*g+h*C+ +a[t+116>>2]+I*s;M=y*v+m*w+h*k+ +a[t+120>>2]+M*s;a[D>>2]=y*o+m*S+h*R+ +a[t+112>>2]+x*s;a[D+4>>2]=I;a[D+8>>2]=M;a[D+12>>2]=0.0;Ka[_[(_[i>>2]|0)+16>>2]&15](i,D+16|0,D,s);u=D;return}else{T=_[(_[i>>2]|0)+16>>2]|0;R=+a[t+68>>2];x=+a[t+72>>2];v=+a[t+80>>2];w=+a[t+84>>2];I=+a[t+88>>2];k=+a[t+96>>2];S=+a[t+100>>2];M=+a[t+104>>2];a[D+16>>2]=o*f+R*l+x*c;a[D+16+4>>2]=f*v+l*w+c*I;a[D+16+8>>2]=f*k+l*S+c*M;a[D+16+12>>2]=0.0;I=y*v+m*w+h*I+ +a[t+116>>2];M=y*k+m*S+h*M+ +a[t+120>>2];a[D>>2]=y*o+m*R+h*x+ +a[t+112>>2];a[D+4>>2]=I;a[D+8>>2]=M;a[D+12>>2]=0.0;Ka[T&15](i,D+16|0,D,s);u=D;return}}function Dd(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0;o=Dr()|0;_[o+4>>2]=12;_[o+8>>2]=-1;_[o+12>>2]=-1;a[o+16>>2]=3402823466385288598117041.0e14;n[o+20>>0]=1;n[o+21>>0]=0;_[o+24>>2]=-1;_[o+28>>2]=e;_[o+32>>2]=t;a[o+36>>2]=0.0;a[o+40>>2]=.05000000074505806;_[o+44>>2]=0;_[o>>2]=3664;_[o+48>>2]=_[i>>2];_[o+48+4>>2]=_[i+4>>2];_[o+48+8>>2]=_[i+8>>2];_[o+48+12>>2]=_[i+12>>2];_[o+64>>2]=_[i+16>>2];_[o+64+4>>2]=_[i+16+4>>2];_[o+64+8>>2]=_[i+16+8>>2];_[o+64+12>>2]=_[i+16+12>>2];_[o+80>>2]=_[i+32>>2];_[o+80+4>>2]=_[i+32+4>>2];_[o+80+8>>2]=_[i+32+8>>2];_[o+80+12>>2]=_[i+32+12>>2];_[o+96>>2]=_[i+48>>2];_[o+96+4>>2]=_[i+48+4>>2];_[o+96+8>>2]=_[i+48+8>>2];_[o+96+12>>2]=_[i+48+12>>2];_[o+112>>2]=_[r>>2];_[o+112+4>>2]=_[r+4>>2];_[o+112+8>>2]=_[r+8>>2];_[o+112+12>>2]=_[r+12>>2];_[o+128>>2]=_[r+16>>2];_[o+128+4>>2]=_[r+16+4>>2];_[o+128+8>>2]=_[r+16+8>>2];_[o+128+12>>2]=_[r+16+12>>2];_[o+144>>2]=_[r+32>>2];_[o+144+4>>2]=_[r+32+4>>2];_[o+144+8>>2]=_[r+32+8>>2];_[o+144+12>>2]=_[r+32+12>>2];_[o+160>>2]=_[r+48>>2];_[o+160+4>>2]=_[r+48+4>>2];_[o+160+8>>2]=_[r+48+8>>2];_[o+160+12>>2]=_[r+48+12>>2];e=o+680|0;t=e+48|0;do{_[e>>2]=0;e=e+4|0}while((e|0)<(t|0));_[o+728>>2]=1045220557;_[o+732>>2]=1045220557;_[o+736>>2]=1045220557;_[o+740>>2]=0;_[o+740+4>>2]=0;_[o+740+8>>2]=0;_[o+740+12>>2]=0;_[o+740+16>>2]=0;_[o+760>>2]=1063675494;_[o+764>>2]=1063675494;_[o+768>>2]=1063675494;a[o+804>>2]=0.0;a[o+820>>2]=0.0;n[o+836>>0]=0;a[o+840>>2]=0.0;n[o+856>>0]=0;a[o+860>>2]=0.0;a[o+876>>2]=0.0;a[o+892>>2]=0.0;a[o+808>>2]=0.0;a[o+824>>2]=0.0;n[o+837>>0]=0;a[o+844>>2]=0.0;n[o+857>>0]=0;a[o+864>>2]=0.0;a[o+880>>2]=0.0;a[o+896>>2]=0.0;a[o+812>>2]=0.0;a[o+828>>2]=0.0;n[o+838>>0]=0;a[o+848>>2]=0.0;n[o+858>>0]=0;a[o+868>>2]=0.0;a[o+884>>2]=0.0;a[o+900>>2]=0.0;_[o+772>>2]=0;_[o+772+4>>2]=0;_[o+772+8>>2]=0;_[o+772+12>>2]=0;_[o+772+16>>2]=0;_[o+772+20>>2]=0;_[o+772+24>>2]=0;n[o+772+28>>0]=0;e=o+908|0;t=e+60|0;do{_[e>>2]=0;e=e+4|0}while((e|0)<(t|0));a[o+968>>2]=1.0;a[o+972>>2]=-1.0;a[o+976>>2]=0.0;a[o+980>>2]=.20000000298023224;a[o+984>>2]=0.0;a[o+988>>2]=.8999999761581421;a[o+992>>2]=0.0;n[o+996>>0]=0;a[o+1e3>>2]=0.0;a[o+1004>>2]=.10000000149011612;n[o+1008>>0]=0;a[o+1012>>2]=0.0;n[o+1016>>0]=0;a[o+1020>>2]=0.0;n[o+1024>>0]=0;a[o+1028>>2]=0.0;n[o+1032>>0]=0;_[o+1036>>2]=0;_[o+1036+4>>2]=0;_[o+1036+8>>2]=0;_[o+1036+12>>2]=0;_[o+1036+16>>2]=0;a[o+1056>>2]=1.0;a[o+1060>>2]=-1.0;a[o+1064>>2]=0.0;a[o+1068>>2]=.20000000298023224;a[o+1072>>2]=0.0;a[o+1076>>2]=.8999999761581421;a[o+1080>>2]=0.0;n[o+1084>>0]=0;a[o+1088>>2]=0.0;a[o+1092>>2]=.10000000149011612;n[o+1096>>0]=0;a[o+1100>>2]=0.0;n[o+1104>>0]=0;a[o+1108>>2]=0.0;n[o+1112>>0]=0;a[o+1116>>2]=0.0;n[o+1120>>0]=0;_[o+1124>>2]=0;_[o+1124+4>>2]=0;_[o+1124+8>>2]=0;_[o+1124+12>>2]=0;_[o+1124+16>>2]=0;a[o+1144>>2]=1.0;a[o+1148>>2]=-1.0;a[o+1152>>2]=0.0;a[o+1156>>2]=.20000000298023224;a[o+1160>>2]=0.0;a[o+1164>>2]=.8999999761581421;a[o+1168>>2]=0.0;n[o+1172>>0]=0;a[o+1176>>2]=0.0;a[o+1180>>2]=.10000000149011612;n[o+1184>>0]=0;a[o+1188>>2]=0.0;n[o+1192>>0]=0;a[o+1196>>2]=0.0;n[o+1200>>0]=0;a[o+1204>>2]=0.0;n[o+1208>>0]=0;_[o+1456>>2]=0;_[o+1212>>2]=0;_[o+1212+4>>2]=0;_[o+1212+8>>2]=0;_[o+1212+12>>2]=0;_[o+1212+16>>2]=0;_[o+1212+20>>2]=0;uc(o,(_[o+28>>2]|0)+4|0,(_[o+32>>2]|0)+4|0);_[o>>2]=3488;a[o+968>>2]=0.0;a[o+1056>>2]=0.0;a[o+1144>>2]=0.0;a[o+972>>2]=0.0;a[o+1060>>2]=0.0;a[o+1148>>2]=0.0;_[o+680>>2]=0;_[o+680+4>>2]=0;_[o+680+8>>2]=0;_[o+680+12>>2]=0;_[o+680+16>>2]=0;_[o+680+20>>2]=0;_[o+680+24>>2]=0;_[o+680+28>>2]=0;return o|0}function Ed(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0;s=u;u=u+16|0;if((n[22312]|0)==0?Dy(22312)|0:0){_[s>>2]=0;_[s+4>>2]=0;_[s+8>>2]=0;_[s+12>>2]=0;Ae(22660,0.0,0,0,s)}_[5716]=_[5716]|1;a[5766]=0.0;c=+a[5776]*0.0;l=+a[5777]*0.0;a[5771]=+a[5775]*0.0;a[5772]=c;a[5773]=l;a[5774]=0.0;_[5779]=0;_[5780]=0;_[5781]=0;_[5782]=0;l=+a[5768]*0.0;c=+a[5769]*0.0;a[5820]=+a[5767]*0.0;a[5821]=l;a[5822]=c;a[5823]=0.0;_[e+4>>2]=6;_[e+8>>2]=-1;_[e+12>>2]=-1;a[e+16>>2]=3402823466385288598117041.0e14;n[e+20>>0]=1;n[e+21>>0]=0;_[e+24>>2]=-1;_[e+28>>2]=22660;_[e+32>>2]=t;a[e+36>>2]=0.0;a[e+40>>2]=.05000000074505806;_[e+44>>2]=0;_[e>>2]=3540;_[e+112>>2]=_[i>>2];_[e+112+4>>2]=_[i+4>>2];_[e+112+8>>2]=_[i+8>>2];_[e+112+12>>2]=_[i+12>>2];_[e+128>>2]=_[i+16>>2];_[e+128+4>>2]=_[i+16+4>>2];_[e+128+8>>2]=_[i+16+8>>2];_[e+128+12>>2]=_[i+16+12>>2];_[e+144>>2]=_[i+32>>2];_[e+144+4>>2]=_[i+32+4>>2];_[e+144+8>>2]=_[i+32+8>>2];_[e+144+12>>2]=_[i+32+12>>2];_[e+160>>2]=_[i+48>>2];_[e+160+4>>2]=_[i+48+4>>2];_[e+160+8>>2]=_[i+48+8>>2];_[e+160+12>>2]=_[i+48+12>>2];i=e+680|0;o=i+48|0;do{_[i>>2]=0;i=i+4|0}while((i|0)<(o|0));_[e+740>>2]=0;_[e+740+4>>2]=0;_[e+740+8>>2]=0;_[e+740+12>>2]=0;_[e+756>>2]=1045220557;_[e+760>>2]=1045220557;_[e+764>>2]=1045220557;_[e+768>>2]=0;_[e+768+4>>2]=0;_[e+768+8>>2]=0;_[e+768+12>>2]=0;_[e+768+16>>2]=0;a[e+728>>2]=.699999988079071;a[e+732>>2]=1.0;a[e+736>>2]=.5;n[e+788>>0]=0;a[e+792>>2]=0.0;a[e+808>>2]=0.0;n[e+789>>0]=0;a[e+796>>2]=0.0;a[e+812>>2]=0.0;n[e+790>>0]=0;a[e+800>>2]=0.0;a[e+816>>2]=0.0;a[e+928>>2]=0.0;a[e+876>>2]=0.0;a[e+880>>2]=.10000000149011612;a[e+884>>2]=300.0;a[e+868>>2]=1.0;a[e+872>>2]=-1.0;a[e+896>>2]=0.0;a[e+900>>2]=.20000000298023224;a[e+904>>2]=0.0;a[e+908>>2]=0.0;a[e+888>>2]=1.0;a[e+892>>2]=.5;_[e+924>>2]=0;a[e+916>>2]=0.0;n[e+912>>0]=0;a[e+992>>2]=0.0;a[e+940>>2]=0.0;a[e+944>>2]=.10000000149011612;a[e+948>>2]=300.0;a[e+932>>2]=1.0;a[e+936>>2]=-1.0;a[e+960>>2]=0.0;a[e+964>>2]=.20000000298023224;a[e+968>>2]=0.0;a[e+972>>2]=0.0;a[e+952>>2]=1.0;a[e+956>>2]=.5;_[e+988>>2]=0;a[e+980>>2]=0.0;n[e+976>>0]=0;a[e+1056>>2]=0.0;a[e+1004>>2]=0.0;a[e+1008>>2]=.10000000149011612;a[e+1012>>2]=300.0;a[e+996>>2]=1.0;a[e+1e3>>2]=-1.0;a[e+1024>>2]=0.0;a[e+1028>>2]=.20000000298023224;a[e+1032>>2]=0.0;a[e+1036>>2]=0.0;a[e+1016>>2]=1.0;a[e+1020>>2]=.5;_[e+1052>>2]=0;a[e+1044>>2]=0.0;n[e+1040>>0]=0;n[e+1300>>0]=r&1;n[e+1301>>0]=1;_[e+1304>>2]=0;n[e+1308>>0]=0;S=+a[e+112>>2];D=+a[t+4>>2];k=+a[e+128>>2];M=+a[t+8>>2];w=+a[e+144>>2];I=+a[t+12>>2];v=+a[e+116>>2];C=+a[e+132>>2];g=+a[e+148>>2];y=+a[e+120>>2];m=+a[e+136>>2];p=+a[e+152>>2];x=+a[t+20>>2];R=+a[t+24>>2];j=+a[t+28>>2];h=+a[t+36>>2];d=+a[t+40>>2];b=+a[t+44>>2];O=+a[e+160>>2];T=+a[e+164>>2];l=+a[e+168>>2];f=+a[t+52>>2]+(D*O+M*T+I*l);c=x*O+R*T+j*l+ +a[t+56>>2];l=h*O+d*T+b*l+ +a[t+60>>2];a[e+48>>2]=S*D+k*M+w*I;a[e+52>>2]=D*v+M*C+I*g;a[e+56>>2]=D*y+M*m+I*p;a[e+60>>2]=0.0;a[e+64>>2]=S*x+k*R+w*j;a[e+68>>2]=v*x+C*R+g*j;a[e+72>>2]=y*x+m*R+p*j;a[e+76>>2]=0.0;a[e+80>>2]=S*h+k*d+w*b;a[e+84>>2]=v*h+C*d+g*b;a[e+88>>2]=y*h+m*d+p*b;a[e+92>>2]=0.0;a[e+96>>2]=f;a[e+100>>2]=c;a[e+104>>2]=l;a[e+108>>2]=0.0;Xc(e,(_[e+28>>2]|0)+4|0,(_[e+32>>2]|0)+4|0);u=s;return}function Fd(e,t,i,r,o,s,c,l){e=e|0;t=t|0;i=i|0;r=r|0;o=+o;s=+s;c=c|0;l=l|0;var f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0;w=u;u=u+288|0;_[w+208>>2]=_[t>>2];_[w+208+4>>2]=_[t+4>>2];_[w+208+8>>2]=_[t+8>>2];_[w+208+12>>2]=_[t+12>>2];p=w+208+16|0;_[p>>2]=_[i>>2];_[p+4>>2]=_[i+4>>2];_[p+8>>2]=_[i+8>>2];_[p+12>>2]=_[i+12>>2];i=w+208+32|0;_[i>>2]=_[r>>2];_[i+4>>2]=_[r+4>>2];_[i+8>>2]=_[r+8>>2];_[i+12>>2]=_[r+12>>2];v=_[c>>2]|0;m=_[c+4>>2]|0;h=_[c+8>>2]|0;y=_[c+16>>2]|0;g=_[c+12>>2]|0;d=_[c+20>>2]|0;_[w+156>>2]=_[w+208>>2];_[w+156+4>>2]=_[w+208+4>>2];_[w+156+8>>2]=_[w+208+8>>2];_[w+156+12>>2]=_[w+208+12>>2];_[w+172>>2]=_[p>>2];_[w+172+4>>2]=_[p+4>>2];_[w+172+8>>2]=_[p+8>>2];_[w+172+12>>2]=_[p+12>>2];_[w+188>>2]=_[i>>2];_[w+188+4>>2]=_[i+4>>2];_[w+188+8>>2]=_[i+8>>2];_[w+188+12>>2]=_[i+12>>2];i=_[e+128>>2]|0;if((i|0)==(_[e+132>>2]|0)?(C=i|0?i<<1:1,(i|0)<(C|0)):0){if(!C)t=0;else{_[6293]=(_[6293]|0)+1;t=cc((C*284|3)+16|0)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}i=_[e+128>>2]|0}if((i|0)>0){r=0;do{c=_[e+136>>2]|0;f=t+(r*284|0)|0;b=c+(r*284|0)|0;p=f+92|0;do{_[f>>2]=_[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(p|0));f=t+(r*284|0)+92|0;b=c+(r*284|0)+92|0;_[f>>2]=_[b>>2];_[f+4>>2]=_[b+4>>2];_[f+8>>2]=_[b+8>>2];_[f+12>>2]=_[b+12>>2];f=c+(r*284|0)+108|0;b=t+(r*284|0)+108|0;_[b>>2]=_[f>>2];_[b+4>>2]=_[f+4>>2];_[b+8>>2]=_[f+8>>2];_[b+12>>2]=_[f+12>>2];b=c+(r*284|0)+124|0;f=t+(r*284|0)+124|0;_[f>>2]=_[b>>2];_[f+4>>2]=_[b+4>>2];_[f+8>>2]=_[b+8>>2];_[f+12>>2]=_[b+12>>2];f=t+(r*284|0)+140|0;b=c+(r*284|0)+140|0;_[f>>2]=_[b>>2];_[f+4>>2]=_[b+4>>2];_[f+8>>2]=_[b+8>>2];_[f+12>>2]=_[b+12>>2];f=t+(r*284|0)+156|0;b=c+(r*284|0)+156|0;p=f+128|0;do{_[f>>2]=_[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(p|0));r=r+1|0}while((r|0)!=(i|0))}i=_[e+136>>2]|0;if(i|0){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+136>>2]=0}n[e+140>>0]=1;_[e+136>>2]=t;_[e+132>>2]=C;i=_[e+128>>2]|0}t=_[e+136>>2]|0;f=t+(i*284|0)|0;b=w;p=f+92|0;do{_[f>>2]=_[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(p|0));f=t+(i*284|0)+92|0;_[f>>2]=_[w+92>>2];_[f+4>>2]=_[w+92+4>>2];_[f+8>>2]=_[w+92+8>>2];_[f+12>>2]=_[w+92+12>>2];f=t+(i*284|0)+108|0;_[f>>2]=_[w+108>>2];_[f+4>>2]=_[w+108+4>>2];_[f+8>>2]=_[w+108+8>>2];_[f+12>>2]=_[w+108+12>>2];f=t+(i*284|0)+124|0;_[f>>2]=_[w+124>>2];_[f+4>>2]=_[w+124+4>>2];_[f+8>>2]=_[w+124+8>>2];_[f+12>>2]=_[w+124+12>>2];f=t+(i*284|0)+140|0;_[f>>2]=_[w+140>>2];_[f+4>>2]=_[w+140+4>>2];_[f+8>>2]=_[w+140+8>>2];_[f+12>>2]=_[w+140+12>>2];t=t+(i*284|0)+156|0;f=t;b=w+156|0;p=f+48|0;do{_[f>>2]=_[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(p|0));a[t+48>>2]=o;_[t+52>>2]=g;a[t+56>>2]=s;_[t+60>>2]=v;_[t+64>>2]=m;_[t+68>>2]=h;_[t+72>>2]=y;a[t+76>>2]=0.0;a[t+80>>2]=0.0;a[t+84>>2]=0.0;a[t+88>>2]=.10000000149011612;_[t+92>>2]=d;a[t+96>>2]=0.0;a[t+100>>2]=0.0;n[t+104>>0]=l&1;f=t+105|0;b=w+256|0;p=f+23|0;do{n[f>>0]=n[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(p|0));l=_[e+128>>2]|0;_[e+128>>2]=l+1;l=(_[e+136>>2]|0)+(l*284|0)|0;fg(_[e+108>>2]|0,l,0);Zd(_[e+108>>2]|0,_[e+136>>2]|0,(_[e+128>>2]|0)+-1|0,0);u=w;return l|0}function Gd(e,t,i,r,o,s){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;var c=0,a=0,l=0,f=0,b=0,p=0,u=0;if((s|0)<0){u=_[e+8>>2]|0;+La[_[(_[u>>2]|0)+12>>2]&3](u,t,i,r,o,_[e+12>>2]|0,_[e+16>>2]|0,_[e+4>>2]|0,_[e+20>>2]|0,_[e+24>>2]|0);return}f=_[e+16>>2]|0;e:do{if((f|0)>0){a=_[e+12>>2]|0;c=0;while(1){l=a+(c<<2)|0;u=_[l>>2]|0;p=_[u+28>>2]|0;if((_[((_[p+208>>2]|0)>-1?p:_[u+32>>2]|0)+208>>2]|0)==(s|0)){u=l;break e}c=c+1|0;if((c|0)>=(f|0)){u=0;break}}}else{c=0;u=0}}while(0);if((c|0)<(f|0)){l=_[e+12>>2]|0;a=0;do{p=_[l+(c<<2)>>2]|0;b=_[p+28>>2]|0;a=((_[((_[b+208>>2]|0)>-1?b:_[p+32>>2]|0)+208>>2]|0)==(s|0)&1)+a|0;c=c+1|0}while((c|0)!=(f|0));p=a}else p=0;c=_[e+4>>2]|0;if((_[c+80>>2]|0)<2){b=_[e+8>>2]|0;+La[_[(_[b>>2]|0)+12>>2]&3](b,t,i,r,o,u,p,c,_[e+20>>2]|0,_[e+24>>2]|0);return}if((i|0)>0){f=0;c=_[e+32>>2]|0;a=_[e+36>>2]|0;do{b=t+(f<<2)|0;if((c|0)==(a|0)){s=a|0?a<<1:1;if((a|0)<(s|0)){if(!s)c=0;else{_[6293]=(_[6293]|0)+1;c=cc((s<<2|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}a=_[e+32>>2]|0}if((a|0)>0){l=0;do{_[c+(l<<2)>>2]=_[(_[e+40>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(a|0))}l=_[e+40>>2]|0;if(l){if(n[e+44>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[l+-4>>2]|0);a=_[e+32>>2]|0}_[e+40>>2]=0}n[e+44>>0]=1;_[e+40>>2]=c;_[e+36>>2]=s;c=a;a=s}else c=a}_[(_[e+40>>2]|0)+(c<<2)>>2]=_[b>>2];c=c+1|0;_[e+32>>2]=c;f=f+1|0}while((f|0)!=(i|0))}if((o|0)>0){f=0;c=_[e+52>>2]|0;a=_[e+56>>2]|0;do{b=r+(f<<2)|0;if((c|0)==(a|0)){s=a|0?a<<1:1;if((a|0)<(s|0)){if(!s)c=0;else{_[6293]=(_[6293]|0)+1;c=cc((s<<2|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}a=_[e+52>>2]|0}if((a|0)>0){l=0;do{_[c+(l<<2)>>2]=_[(_[e+60>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(a|0))}l=_[e+60>>2]|0;if(l){if(n[e+64>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[l+-4>>2]|0);a=_[e+52>>2]|0}_[e+60>>2]=0}n[e+64>>0]=1;_[e+60>>2]=c;_[e+56>>2]=s;c=a;a=s}else c=a}_[(_[e+60>>2]|0)+(c<<2)>>2]=_[b>>2];c=c+1|0;_[e+52>>2]=c;f=f+1|0}while((f|0)!=(o|0))}if((p|0)>0){b=0;c=_[e+72>>2]|0;a=_[e+76>>2]|0;do{f=u+(b<<2)|0;if((c|0)==(a|0)){s=a|0?a<<1:1;if((a|0)<(s|0)){if(!s){l=0;c=a}else{_[6293]=(_[6293]|0)+1;c=cc((s<<2|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}l=c;c=_[e+72>>2]|0}if((c|0)>0){a=0;do{_[l+(a<<2)>>2]=_[(_[e+80>>2]|0)+(a<<2)>>2];a=a+1|0}while((a|0)!=(c|0))}a=_[e+80>>2]|0;if(a){if(n[e+84>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[a+-4>>2]|0);c=_[e+72>>2]|0}_[e+80>>2]=0}n[e+84>>0]=1;_[e+80>>2]=l;_[e+76>>2]=s;a=s}else c=a}_[(_[e+80>>2]|0)+(c<<2)>>2]=_[f>>2];c=c+1|0;_[e+72>>2]=c;b=b+1|0}while((b|0)!=(p|0))}else c=_[e+72>>2]|0;if(((_[e+52>>2]|0)+c|0)<=(_[(_[e+4>>2]|0)+80>>2]|0))return;wg(e);return}function Hd(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;var r=0,o=0.0,s=0.0,c=0.0,l=0,f=0,b=0,p=0,d=0.0,m=0.0,h=0.0,y=0,g=0,C=0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0;C=u;u=u+192|0;f=_[e+4>>2]|0;if(+a[f+784>>2]<n){u=C;return}b=_[f+772>>2]|0;p=_[(_[e+8>>2]|0)+8>>2]|0;j=+a[i>>2];o=+a[t>>2]*n+j;S=+a[i+4>>2];s=+a[t+4>>2]*n+S;v=+a[i+8>>2];c=+a[t+8>>2]*n+v;r=_[(_[e+12>>2]|0)+8>>2]|0;g=(b|0)!=(p|0)?r:b;r=(b|0)!=(p|0)?p:r;w=o-+a[g+52>>2];k=s-+a[g+56>>2];h=c-+a[g+60>>2];d=w*+a[g+4>>2]+k*+a[g+20>>2]+h*+a[g+36>>2];m=w*+a[g+8>>2]+k*+a[g+24>>2]+h*+a[g+40>>2];h=w*+a[g+12>>2]+k*+a[g+28>>2]+h*+a[g+44>>2];j=j-+a[r+52>>2];S=S-+a[r+56>>2];v=v-+a[r+60>>2];k=j*+a[r+4>>2]+S*+a[r+20>>2]+v*+a[r+36>>2];w=j*+a[r+8>>2]+S*+a[r+24>>2]+v*+a[r+40>>2];v=j*+a[r+12>>2]+S*+a[r+28>>2]+v*+a[r+44>>2];a[C>>2]=d;a[C+4>>2]=m;a[C+8>>2]=h;a[C+12>>2]=0.0;a[C+16>>2]=k;a[C+20>>2]=w;a[C+24>>2]=v;a[C+28>>2]=0.0;_[C+64>>2]=_[t>>2];_[C+64+4>>2]=_[t+4>>2];_[C+64+8>>2]=_[t+8>>2];_[C+64+12>>2]=_[t+12>>2];a[C+80>>2]=n;_[C+84>>2]=0;_[C+84+4>>2]=0;_[C+84+8>>2]=0;_[C+84+12>>2]=0;t=C+116|0;r=t+44|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(r|0));a[C+48>>2]=o;a[C+52>>2]=s;a[C+56>>2]=c;a[C+60>>2]=0.0;_[C+32>>2]=_[i>>2];_[C+32+4>>2]=_[i+4>>2];_[C+32+8>>2]=_[i+8>>2];_[C+32+12>>2]=_[i+12>>2];n=+a[f+784>>2];l=_[f+780>>2]|0;if((l|0)>0){t=-1;i=0;n=n*n;while(1){o=+a[f+4+(i*192|0)>>2]-d;s=+a[f+4+(i*192|0)+4>>2]-m;c=+a[f+4+(i*192|0)+8>>2]-h;r=o*o+s*s+c*c<n;t=r?i:t;i=i+1|0;if((i|0)==(l|0)){g=t;break}else n=r?o*o+s*s+c*c:n}}else g=-1;t=_[(_[e+8>>2]|0)+8>>2]|0;r=_[(_[e+12>>2]|0)+8>>2]|0;j=+a[t+228>>2];S=+a[r+228>>2];k=j*S<-10.0?-10.0:j*S;a[C+84>>2]=k>10.0?10.0:k;a[C+96>>2]=+a[t+232>>2]*+a[r+232>>2];k=+a[t+236>>2]*S+ +a[r+236>>2]*j;k=k<-10.0?-10.0:k;a[C+88>>2]=k>10.0?10.0:k;j=+a[t+240>>2]*S+ +a[r+240>>2]*j;j=j<-10.0?-10.0:j;a[C+92>>2]=j>10.0?10.0:j;i=_[t+204>>2]|0;if((i&128|0)==0?(_[r+204>>2]&128|0)==0:0)t=0;else{a[C+148>>2]=+a[t+244>>2]+ +a[r+244>>2];a[C+144>>2]=1.0/(1.0/+a[t+248>>2]+1.0/+a[r+248>>2]);_[C+120>>2]=8;t=8}if((i&512|0)==0?(_[r+204>>2]&512|0)==0:0)y=t;else{y=t|16;_[C+120>>2]=y}n=+a[C+72>>2];f=+G(+n)>.7071067690849304;c=+a[C+68>>2];if(f){s=1.0/+W(+(n*n+c*c));h=+a[C+64>>2];d=-(s*n);m=h*-(s*n);h=-(s*c*h);o=(n*n+c*c)*s;s=s*c;n=0.0}else{o=+a[C+64>>2];j=1.0/+W(+(o*o+c*c));d=j*o;m=(o*o+c*c)*j;h=n*-(c*j);o=-(j*o*n);s=0.0;n=-(c*j)}a[C+160>>2]=n;a[C+164>>2]=d;a[C+168>>2]=s;a[C+176>>2]=o;a[C+180>>2]=h;a[C+184>>2]=m;t=_[e+16>>2]|0;r=_[e+20>>2]|0;if((b|0)!=(p|0)){_[C+100>>2]=r;i=e+28|0;r=e+24|0}else{_[C+100>>2]=t;i=e+24|0;t=r;r=e+28|0}p=_[i>>2]|0;_[C+104>>2]=t;_[C+108>>2]=p;_[C+112>>2]=_[r>>2];t=_[e+4>>2]|0;if((g|0)>-1){r=t+4+(g*192|0)|0;i=t+4+(g*192|0)+156|0;l=_[i>>2]|0;f=t+4+(g*192|0)+124|0;n=+a[f>>2];b=t+4+(g*192|0)+128|0;o=+a[b>>2];p=t+4+(g*192|0)+132|0;s=+a[p>>2];if(!((y&16|0)!=0?(j=n*+a[t+4+(g*192|0)+84>>2]+0.0,!(o*o+s*s>j*j)):0)){e=t+4+(g*192|0)+116|0;g=_[e>>2]|0;oh(r|0,C|0,192)|0;_[e>>2]=g;a[f>>2]=n;a[b>>2]=o;a[p>>2]=s}_[i>>2]=l}else Ee(t,C)|0;u=C;return}function Id(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var c=0,l=0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0;w=u;u=u+80|0;v=_[e+52>>2]|0;_[w>>2]=6048;_[w+4>>2]=v;_[w+8>>2]=t;_[w+60>>2]=0;v=_[e+56>>2]|0;if(!(n[v+60>>0]|0)){t=_[v+56>>2]|0;if((t|0)>0){d=0;e=0;f=_[v+96>>2]|0;while(1){e=e+1|0;if(!(+a[i>>2]>+a[f+16>>2])?!(+a[o>>2]<+a[f>>2]):0)c=1;else c=0;if(!(!(+a[i+8>>2]>+a[f+24>>2])?!(+a[o+8>>2]<+a[f+8>>2]):0))c=0;if(!(+a[i+4>>2]>+a[f+20>>2])?!(+a[o+4>>2]<+a[f+4>>2]):0){l=_[f+32>>2]|0;if(c&(l|0)==-1){Za[_[(_[w>>2]|0)+8>>2]&127](w,_[f+36>>2]|0,_[f+40>>2]|0);t=_[v+56>>2]|0;p=43}else{b=(l|0)==-1;p=42}}else{l=_[f+32>>2]|0;b=(l|0)==-1;c=0;p=42}if((p|0)==42){p=0;if(b|c)p=43;else{f=f+(l<<6)|0;c=l+d|0}}if((p|0)==43){f=f+64|0;c=d+1|0}if((c|0)<(t|0))d=c;else break}}else e=0;if((_[6286]|0)>=(e|0)){u=w;return}_[6286]=e;u=w;return}j=+a[i>>2];M=+a[i+4>>2];H=+a[i+8>>2];O=+a[v+4>>2];j=j<O?O:j;I=+a[v+8>>2];M=M<I?I:M;S=+a[v+12>>2];H=H<S?S:H;G=+a[v+20>>2];D=+a[v+24>>2];R=+a[v+28>>2];T=+a[v+36>>2];x=+a[v+40>>2];k=+a[v+44>>2];y=~~(((G<j?G:j)-O)*T)&65535&-2;r[w+70>>1]=y;g=~~(((D<M?D:M)-I)*x)&65535&-2;C=~~(((R<H?R:H)-S)*k)&65535&-2;r[w+70+2>>1]=g;r[w+70+4>>1]=C;H=+a[o>>2];M=+a[o+4>>2];j=+a[o+8>>2];H=H<O?O:H;M=M<I?I:M;j=j<S?S:j;o=~~(((G<H?G:H)-O)*T+1.0)&65535|1;r[w+64>>1]=o;m=~~(((D<M?D:M)-I)*x+1.0)&65535|1;h=~~(((R<j?R:j)-S)*k+1.0)&65535|1;r[w+64+2>>1]=m;r[w+64+4>>1]=h;switch(_[v+144>>2]|0){case 0:{p=_[v+56>>2]|0;if((p|0)>0){e=0;t=_[v+136>>2]|0;c=0;do{e=e+1|0;l=((o&65535)>=(s[t>>1]|0)?(y&65535)<=(s[t+6>>1]|0):0)&(C&65535)<=(s[t+10>>1]|0)&(h&65535)>=(s[t+4>>1]|0)&(g&65535)<=(s[t+8>>1]|0)&(m&65535)>=(s[t+2>>1]|0);f=t+12|0;b=_[f>>2]|0;if((b|0)>-1&l)Za[_[(_[w>>2]|0)+8>>2]&127](w,b>>>21,b&2097151);if(l|(b|0)>-1){c=c+1|0;t=t+16|0}else{v=_[f>>2]|0;c=c-v|0;t=t+(0-v<<4)|0}}while((c|0)<(p|0))}else e=0;if((_[6286]|0)<(e|0))_[6286]=e;break}case 1:{if((_[v+152>>2]|0)>0){i=0;do{e=_[v+160>>2]|0;if(((o&65535)>=(s[e+(i<<5)>>1]|0)?(y&65535)<=(s[e+(i<<5)+6>>1]|0):0)&(C&65535)<=(s[e+(i<<5)+10>>1]|0)&(h&65535)>=(s[e+(i<<5)+4>>1]|0)&(g&65535)<=(s[e+(i<<5)+8>>1]|0)&(m&65535)>=(s[e+(i<<5)+2>>1]|0)){d=_[e+(i<<5)+12>>2]|0;p=_[e+(i<<5)+16>>2]|0;if((p|0)>0){e=0;t=(_[v+136>>2]|0)+(d<<4)|0;c=d;do{e=e+1|0;l=((o&65535)>=(s[t>>1]|0)?(y&65535)<=(s[t+6>>1]|0):0)&(C&65535)<=(s[t+10>>1]|0)&(h&65535)>=(s[t+4>>1]|0)&(g&65535)<=(s[t+8>>1]|0)&(m&65535)>=(s[t+2>>1]|0);f=t+12|0;b=_[f>>2]|0;if((b|0)>-1&l)Za[_[(_[w>>2]|0)+8>>2]&127](w,b>>>21,b&2097151);if(l|(b|0)>-1){c=c+1|0;t=t+16|0}else{b=_[f>>2]|0;c=c-b|0;t=t+(0-b<<4)|0}}while((c|0)<(p+d|0))}else e=0;if((_[6286]|0)<(e|0))_[6286]=e}i=i+1|0}while((i|0)<(_[v+152>>2]|0))}break}case 2:{Cj(_[v+136>>2]|0,w,w+70|0,w+64|0);break}default:{}}u=w;return}function Jd(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0;_[e>>2]=5344;l=(_[t+20>>2]|0)==0;_[6293]=(_[6293]|0)+1;i=cc(23)|0;_[(i+4+15&-16)+-4>>2]=i;_[(i+4+15&-16)>>2]=l?8896:8856;_[e+24>>2]=i+4+15&-16;_[6293]=(_[6293]|0)+1;i=cc(39)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}l=_[e+24>>2]|0;n[i+4>>0]=0;_[i>>2]=9404;_[i+12>>2]=0;_[i+16>>2]=3;_[i+8>>2]=l;_[e+28>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(27)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n[i+4>>0]=0;_[i>>2]=5376;_[e+32>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(27)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n[i+4>>0]=0;_[i>>2]=5396;_[e+36>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(27)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n[i+4>>0]=0;_[i>>2]=5416;_[e+40>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(27)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n[i+4>>0]=0;_[i>>2]=5436;_[e+44>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(27)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n[i+4>>0]=0;_[i>>2]=5456;_[e+48>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(27)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n[i+4>>0]=0;_[i>>2]=5476;_[e+52>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(27)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n[i+4>>0]=0;_[i>>2]=5496;_[e+56>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(27)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n[i+4>>0]=0;_[i>>2]=5516;_[e+72>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(27)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}_[i>>2]=5516;_[e+76>>2]=i;n[i+4>>0]=1;_[6293]=(_[6293]|0)+1;i=cc(27)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n[i+4>>0]=0;_[i>>2]=5536;_[e+68>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(35)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n[i+4>>0]=0;_[i>>2]=5556;_[i+8>>2]=1;_[i+12>>2]=0;_[e+84>>2]=i;_[6293]=(_[6293]|0)+1;i=cc(35)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}_[i>>2]=5556;_[i+8>>2]=1;_[i+12>>2]=0;_[e+80>>2]=i;n[i+4>>0]=1;l=_[t+16>>2]|0;l=(l|0)>80?l:80;i=_[t>>2]|0;if(!i){n[e+12>>0]=1;_[6293]=(_[6293]|0)+1;i=cc(43)|0;if(!i)a=0;else{_[(i+4+15&-16)+-4>>2]=i;a=i+4+15&-16}i=_[t+8>>2]|0;_[a>>2]=804;r=a+4|0;_[r>>2]=i;_[a+20>>2]=0;_[6293]=(_[6293]|0)+1;i=cc((i*804|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}_[a+16>>2]=i;_[a+12>>2]=i;r=_[r>>2]|0;_[a+8>>2]=r;if(r+-1|0){o=_[a>>2]|0;s=i;c=r+-1|0;do{f=s;s=s+o|0;_[f>>2]=s;c=c+-1|0}while((c|0)!=0);i=i+(U(o,r+-1|0)|0)|0}_[i>>2]=0;_[e+8>>2]=a}else{n[e+12>>0]=0;_[e+8>>2]=i}o=(l|0)>116?l+16&-16:128;i=_[t+4>>2]|0;if(i|0){n[e+20>>0]=0;_[e+16>>2]=i;return}n[e+20>>0]=1;_[6293]=(_[6293]|0)+1;i=cc(43)|0;if(!i)a=0;else{_[(i+4+15&-16)+-4>>2]=i;a=i+4+15&-16}i=_[t+12>>2]|0;_[a>>2]=o;r=a+4|0;_[r>>2]=i;_[a+20>>2]=0;i=U(i,o)|0;_[6293]=(_[6293]|0)+1;i=cc((i|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}_[a+16>>2]=i;_[a+12>>2]=i;r=_[r>>2]|0;_[a+8>>2]=r;if(r+-1|0){o=_[a>>2]|0;s=i;c=r+-1|0;do{f=s;s=s+o|0;_[f>>2]=s;c=c+-1|0}while((c|0)!=0);i=i+(U(o,r+-1|0)|0)|0}_[i>>2]=0;_[e+16>>2]=a;return}function Kd(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0,M=0;M=u;u=u+528|0;x=+a[e+16>>2];y=x-+a[e>>2];w=+a[e+20>>2];c=w-+a[e+4>>2];k=+a[e+24>>2];s=k-+a[e+8>>2];S=+a[e+56>>2];j=+a[e+52>>2];R=+a[e+48>>2];g=1.0/+W(+((y*j-c*R)*(y*j-c*R)+((c*S-s*j)*(c*S-s*j)+(s*R-y*S)*(s*R-y*S))));o=(c*S-s*j)*g;s=g*(s*R-y*S);c=g*(y*j-c*R);a[M+256>>2]=o;a[M+256+4>>2]=s;a[M+256+8>>2]=c;a[M+256+12>>2]=k*c+(x*o+w*s);y=+a[t>>2];g=+a[t+4>>2];C=+a[t+8>>2];v=y*o+g*s+C*c-(k*c+(x*o+w*s));if(v>1.1920928955078125e-07)n=0;else{_[M+272>>2]=_[t>>2];_[M+272+4>>2]=_[t+4>>2];_[M+272+8>>2]=_[t+8>>2];_[M+272+12>>2]=_[t+12>>2];n=1}l=+a[t+16>>2];f=+a[t+20>>2];b=+a[t+24>>2];p=l*o+f*s+b*c-(k*c+(x*o+w*s));if(v>1.1920928955078125e-07^p>1.1920928955078125e-07){a[M+272+(n<<4)>>2]=l*(-v/(p-v))+(1.0- -v/(p-v))*y;a[M+272+(n<<4)+4>>2]=f*(-v/(p-v))+(1.0- -v/(p-v))*g;a[M+272+(n<<4)+8>>2]=b*(-v/(p-v))+(1.0- -v/(p-v))*C;a[M+272+(n<<4)+12>>2]=0.0;n=n+1|0}if(!(p>1.1920928955078125e-07)){r=M+272+(n<<4)|0;_[r>>2]=_[t+16>>2];_[r+4>>2]=_[t+16+4>>2];_[r+8>>2]=_[t+16+8>>2];_[r+12>>2]=_[t+16+12>>2];n=n+1|0}m=+a[t+32>>2];h=+a[t+36>>2];d=+a[t+40>>2];o=m*o+h*s+d*c-(k*c+(x*o+w*s));if(p>1.1920928955078125e-07^o>1.1920928955078125e-07){a[M+272+(n<<4)>>2]=m*(-p/(o-p))+(1.0- -p/(o-p))*l;a[M+272+(n<<4)+4>>2]=h*(-p/(o-p))+(1.0- -p/(o-p))*f;a[M+272+(n<<4)+8>>2]=d*(-p/(o-p))+(1.0- -p/(o-p))*b;a[M+272+(n<<4)+12>>2]=0.0;n=n+1|0}r=n+1|0;if(o>1.1920928955078125e-07){if(!(v>1.1920928955078125e-07))I=12}else{I=M+272+(n<<4)|0;_[I>>2]=_[t+32>>2];_[I+4>>2]=_[t+32+4>>2];_[I+8>>2]=_[t+32+8>>2];_[I+12>>2]=_[t+32+12>>2];if(v>1.1920928955078125e-07){n=r;I=12}else{n=r;I=13}}if((I|0)==12){a[M+272+(n<<4)>>2]=(1.0- -o/(v-o))*m+-o/(v-o)*y;a[M+272+(n<<4)+4>>2]=(1.0- -o/(v-o))*h+-o/(v-o)*g;a[M+272+(n<<4)+8>>2]=(1.0- -o/(v-o))*d+-o/(v-o)*C;a[M+272+(n<<4)+12>>2]=0.0;n=n+1|0;if(!(v>1.1920928955078125e-07))I=13}if((I|0)==13){I=M+272+(n<<4)|0;_[I>>2]=_[t>>2];_[I+4>>2]=_[t+4>>2];_[I+8>>2]=_[t+8>>2];_[I+12>>2]=_[t+12>>2];n=n+1|0}if(!n){i=0;u=M;return i|0}v=+a[e+32>>2];y=+a[e+36>>2];C=+a[e+40>>2];g=1.0/+W(+(((v-x)*j-(y-w)*R)*((v-x)*j-(y-w)*R)+(((y-w)*S-(C-k)*j)*((y-w)*S-(C-k)*j)+((C-k)*R-(v-x)*S)*((C-k)*R-(v-x)*S))));a[M+256>>2]=((y-w)*S-(C-k)*j)*g;a[M+256+4>>2]=g*((C-k)*R-(v-x)*S);a[M+256+8>>2]=g*((v-x)*j-(y-w)*R);a[M+256+12>>2]=C*g*((v-x)*j-(y-w)*R)+(v*((y-w)*S-(C-k)*j)*g+y*g*((C-k)*R-(v-x)*S));n=Yf(M+256|0,M+272|0,n,M)|0;if(!n)n=0;else{g=+a[e>>2];R=g-+a[e+32>>2];w=+a[e+4>>2];C=w-+a[e+36>>2];y=+a[e+8>>2];S=y-+a[e+40>>2];x=+a[e+56>>2];v=+a[e+52>>2];j=+a[e+48>>2];k=1.0/+W(+((R*v-C*j)*(R*v-C*j)+((C*x-S*v)*(C*x-S*v)+(S*j-R*x)*(S*j-R*x))));a[M+256>>2]=(C*x-S*v)*k;a[M+256+4>>2]=k*(S*j-R*x);a[M+256+8>>2]=k*(R*v-C*j);a[M+256+12>>2]=y*k*(R*v-C*j)+(g*(C*x-S*v)*k+w*k*(S*j-R*x));n=Yf(M+256|0,M,n,i)|0}i=n;u=M;return i|0}function Ld(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0,s=0,c=0,l=0,f=0,b=0,p=0,d=0,m=0.0,h=0.0;d=u;u=u+144|0;if((_[e+20>>2]|0)<=0){p=e+80|0;_[p>>2]=_[t>>2];_[p+4>>2]=_[t+4>>2];_[p+8>>2]=_[t+8>>2];_[p+12>>2]=_[t+12>>2];p=_[e>>2]|0;p=p+68|0;p=_[p>>2]|0;ua[p&511](e);u=d;return}c=d+16+16|0;l=d+16+32|0;f=d+16+48|0;s=0;do{p=_[e+28>>2]|0;b=p+(s*80|0)|0;_[d+16>>2]=_[b>>2];_[d+16+4>>2]=_[b+4>>2];_[d+16+8>>2]=_[b+8>>2];_[d+16+12>>2]=_[b+12>>2];b=p+(s*80|0)+16|0;_[c>>2]=_[b>>2];_[c+4>>2]=_[b+4>>2];_[c+8>>2]=_[b+8>>2];_[c+12>>2]=_[b+12>>2];b=p+(s*80|0)+32|0;_[l>>2]=_[b>>2];_[l+4>>2]=_[b+4>>2];_[l+8>>2]=_[b+8>>2];_[l+12>>2]=_[b+12>>2];b=p+(s*80|0)+48|0;_[f>>2]=_[b>>2];_[f+4>>2]=_[b+4>>2];_[f+8>>2]=_[b+8>>2];_[f+12>>2]=_[b+12>>2];p=_[p+(s*80|0)+64>>2]|0;p=ya[_[(_[p>>2]|0)+28>>2]&127](p)|0;_[d>>2]=_[p>>2];_[d+4>>2]=_[p+4>>2];_[d+8>>2]=_[p+8>>2];m=+a[d+4>>2]*+a[t+4>>2]/+a[e+84>>2];h=+a[d+8>>2]*+a[t+8>>2]/+a[e+88>>2];a[d>>2]=+a[d>>2]*+a[t>>2]/+a[e+80>>2];a[d+4>>2]=m;a[d+8>>2]=h;a[d+12>>2]=0.0;p=_[(_[e+28>>2]|0)+(s*80|0)+64>>2]|0;ma[_[(_[p>>2]|0)+24>>2]&127](p,d);h=+a[d+16+52>>2]*+a[t+4>>2]/+a[e+84>>2];m=+a[d+16+56>>2]*+a[t+8>>2]/+a[e+88>>2];a[d+16+48>>2]=+a[f>>2]*+a[t>>2]/+a[e+80>>2];a[d+16+52>>2]=h;a[d+16+56>>2]=m;a[d+16+60>>2]=0.0;p=_[e+28>>2]|0;b=p+(s*80|0)|0;_[b>>2]=_[d+16>>2];_[b+4>>2]=_[d+16+4>>2];_[b+8>>2]=_[d+16+8>>2];_[b+12>>2]=_[d+16+12>>2];b=p+(s*80|0)+16|0;_[b>>2]=_[c>>2];_[b+4>>2]=_[c+4>>2];_[b+8>>2]=_[c+8>>2];_[b+12>>2]=_[c+12>>2];b=p+(s*80|0)+32|0;_[b>>2]=_[l>>2];_[b+4>>2]=_[l+4>>2];_[b+8>>2]=_[l+8>>2];_[b+12>>2]=_[l+12>>2];p=p+(s*80|0)+48|0;_[p>>2]=_[f>>2];_[p+4>>2]=_[f+4>>2];_[p+8>>2]=_[f+8>>2];_[p+12>>2]=_[f+12>>2];if(_[e+68>>2]|0){b=_[(_[e+28>>2]|0)+(s*80|0)+64>>2]|0;$a[_[(_[b>>2]|0)+8>>2]&127](b,d+16|0,d+128|0,d+112|0);_[d+80>>2]=_[d+128>>2];_[d+80+4>>2]=_[d+128+4>>2];_[d+80+8>>2]=_[d+128+8>>2];_[d+80+12>>2]=_[d+128+12>>2];_[d+80+16>>2]=_[d+112>>2];_[d+80+16+4>>2]=_[d+112+4>>2];_[d+80+16+8>>2]=_[d+112+8>>2];_[d+80+16+12>>2]=_[d+112+12>>2];b=_[e+68>>2]|0;p=_[(_[e+28>>2]|0)+(s*80|0)+76>>2]|0;i=Qf(b,p)|0;e:do{if(i){o=_[b+8>>2]|0;if((o|0)<=-1){i=_[b>>2]|0;break}if(o){n=0;while(1){r=_[i+32>>2]|0;n=n+1|0;if(!r)break e;if((n|0)>=(o|0)){i=r;break}else i=r}}}else i=0}while(0);_[p>>2]=_[d+80>>2];_[p+4>>2]=_[d+80+4>>2];_[p+8>>2]=_[d+80+8>>2];_[p+12>>2]=_[d+80+12>>2];_[p+16>>2]=_[d+80+16>>2];_[p+20>>2]=_[d+80+20>>2];_[p+24>>2]=_[d+80+24>>2];_[p+28>>2]=_[d+80+28>>2];pe(b,i,p)}s=s+1|0}while((s|0)<(_[e+20>>2]|0));p=e+80|0;_[p>>2]=_[t>>2];_[p+4>>2]=_[t+4>>2];_[p+8>>2]=_[t+8>>2];_[p+12>>2]=_[t+12>>2];p=_[e>>2]|0;p=p+68|0;p=_[p>>2]|0;ua[p&511](e);u=d;return}function Md(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0.0,c=0.0,l=0.0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0.0,C=0.0;y=u;u=u+96|0;m=_[e+12>>2]|0;$a[_[(_[m>>2]|0)+8>>2]&127](m,(_[e+8>>2]|0)+4|0,y+80|0,y+64|0);m=_[t+68>>2]|0;ba[_[(_[m>>2]|0)+16>>2]&31](m,_[(_[e+8>>2]|0)+188>>2]|0,y+80|0,y+64|0,_[t+24>>2]|0);m=_[t+24>>2]|0;$a[_[(_[m>>2]|0)+32>>2]&127](m,_[(_[e+8>>2]|0)+344>>2]|0,t+28|0,m);m=_[e+8>>2]|0;_[e+132>>2]=_[m+52>>2];_[e+132+4>>2]=_[m+52+4>>2];_[e+132+8>>2]=_[m+52+8>>2];_[e+132+12>>2]=_[m+52+12>>2];m=_[m+344>>2]|0;if((ya[_[(_[m>>2]|0)+36>>2]&127](m)|0)>0){t=0;m=0;do{i=_[e+204>>2]|0;if((i|0)<0){if((_[e+208>>2]|0)<0){r=_[e+212>>2]|0;if(r|0){if(n[e+216>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[e+212>>2]=0}n[e+216>>0]=1;_[e+212>>2]=0;_[e+208>>2]=0}do{_[(_[e+212>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}_[e+204>>2]=0;i=_[(_[e+8>>2]|0)+344>>2]|0;i=_[(ya[_[(_[i>>2]|0)+28>>2]&127](i)|0)+12>>2]|0;r=_[_[i+(m<<4)>>2]>>2]|0;o=_[_[i+(m<<4)+4>>2]>>2]|0;if(!((r|0)!=0?(_[r+204>>2]&4|0)!=0:0))h=14;do{if((h|0)==14){h=0;if(o|0?_[o+204>>2]&4|0:0)break;if(xa[_[(_[e>>2]|0)+56>>2]&63](e,r,o)|0){i=_[i+(m<<4)+8>>2]|0;if(i|0)ma[_[(_[i>>2]|0)+16>>2]&127](i,e+200|0);d=_[e+204>>2]|0;if((d|0)>0){b=_[e+212>>2]|0;p=_[e+8>>2]|0;f=0;do{r=_[b+(f<<2)>>2]|0;c=(_[r+772>>2]|0)==(p|0)?-1.0:1.0;o=_[r+780>>2]|0;if((o|0)>0){l=-+a[e+16>>2];i=0;do{s=+a[r+4+(i*192|0)+80>>2];if(s<l){C=s*c*+a[r+4+(i*192|0)+68>>2]*.20000000298023224;g=s*c*+a[r+4+(i*192|0)+72>>2]*.20000000298023224;a[e+132>>2]=s*c*+a[r+4+(i*192|0)+64>>2]*.20000000298023224+ +a[e+132>>2];a[e+136>>2]=C+ +a[e+136>>2];a[e+140>>2]=g+ +a[e+140>>2];t=1}i=i+1|0}while((i|0)!=(o|0))}f=f+1|0}while((f|0)!=(d|0))}}}}while(0);m=m+1|0;d=_[(_[e+8>>2]|0)+344>>2]|0}while((m|0)<(ya[_[(_[d>>2]|0)+36>>2]&127](d)|0))}else t=0;h=_[e+8>>2]|0;_[y>>2]=_[h+4>>2];_[y+4>>2]=_[h+4+4>>2];_[y+8>>2]=_[h+4+8>>2];_[y+12>>2]=_[h+4+12>>2];_[y+16>>2]=_[h+20>>2];_[y+16+4>>2]=_[h+20+4>>2];_[y+16+8>>2]=_[h+20+8>>2];_[y+16+12>>2]=_[h+20+12>>2];_[y+32>>2]=_[h+36>>2];_[y+32+4>>2]=_[h+36+4>>2];_[y+32+8>>2]=_[h+36+8>>2];_[y+32+12>>2]=_[h+36+12>>2];_[y+48>>2]=_[e+132>>2];_[y+48+4>>2]=_[e+132+4>>2];_[y+48+8>>2]=_[e+132+8>>2];_[y+48+12>>2]=_[e+132+12>>2];_[h+304>>2]=(_[h+304>>2]|0)+1;_[h+4>>2]=_[y>>2];_[h+4+4>>2]=_[y+4>>2];_[h+4+8>>2]=_[y+8>>2];_[h+4+12>>2]=_[y+12>>2];_[h+20>>2]=_[y+16>>2];_[h+20+4>>2]=_[y+16+4>>2];_[h+20+8>>2]=_[y+16+8>>2];_[h+20+12>>2]=_[y+16+12>>2];_[h+36>>2]=_[y+32>>2];_[h+36+4>>2]=_[y+32+4>>2];_[h+36+8>>2]=_[y+32+8>>2];_[h+36+12>>2]=_[y+32+12>>2];_[h+52>>2]=_[y+48>>2];_[h+52+4>>2]=_[y+48+4>>2];_[h+52+8>>2]=_[y+48+8>>2];_[h+52+12>>2]=_[y+48+12>>2];u=y;return t|0}function Nd(e,t,i,o,c,l){e=e|0;t=t|0;i=i|0;o=o|0;c=c|0;l=l|0;var f=0.0,b=0.0,p=0.0;_[e>>2]=4352;r[e+4>>1]=-2;r[e+6>>1]=-1;_[e+92>>2]=c;_[e+96>>2]=0;n[e+100>>0]=0;_[e+104>>2]=0;_[e+108>>2]=0;if(!c){_[6293]=(_[6293]|0)+1;c=cc(91)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}Qh(c);_[e+92>>2]=c;n[e+100>>0]=1}if(!l){_[6293]=(_[6293]|0)+1;c=cc(43)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}l=c+4|0;_[l>>2]=0;_[l+4>>2]=0;_[l+8>>2]=0;_[l+12>>2]=0;_[l+16>>2]=0;_[c>>2]=4416;n[c+20>>0]=1;_[c+16>>2]=0;_[c+8>>2]=0;_[c+12>>2]=0;_[e+112>>2]=c;_[6293]=(_[6293]|0)+1;c=cc(195)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}me(c,_[e+112>>2]|0);_[e+108>>2]=c;n[c+153>>0]=1}_[e+8>>2]=_[t>>2];_[e+8+4>>2]=_[t+4>>2];_[e+8+8>>2]=_[t+8>>2];_[e+8+12>>2]=_[t+12>>2];_[e+24>>2]=_[i>>2];_[e+24+4>>2]=_[i+4>>2];_[e+24+8>>2]=_[i+8>>2];_[e+24+12>>2]=_[i+12>>2];p=+(s[e+6>>1]|0);b=p/(+a[e+28>>2]-+a[e+12>>2]);f=p/(+a[e+32>>2]-+a[e+16>>2]);a[e+40>>2]=p/(+a[e+24>>2]-+a[e+8>>2]);a[e+44>>2]=b;a[e+48>>2]=f;a[e+52>>2]=0.0;i=(o&65535)+1&65535;_[6293]=(_[6293]|0)+1;c=cc(i<<6|19)|0;if(!c)t=0;else{_[(c+4+15&-16)+-4>>2]=c;t=c+4+15&-16}if(i|0){c=t+(i<<6)|0;l=t;do{_[l>>2]=0;l=l+64|0}while((l|0)!=(c|0))}_[e+60>>2]=t;r[e+58>>1]=(o&65535)+1;r[e+56>>1]=0;r[e+64>>1]=1;if(i>>>0>1){c=1;l=1;do{r[t+(l<<6)+48>>1]=l+1;c=c+1<<16>>16;l=c&65535}while(l>>>0<i>>>0)}r[t+(i+-1<<6)+48>>1]=0;_[6293]=(_[6293]|0)+1;c=cc((i<<3|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}_[e+80>>2]=c;_[e+68>>2]=c;_[6293]=(_[6293]|0)+1;c=cc((i<<3|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}_[e+84>>2]=c;_[e+72>>2]=c;_[6293]=(_[6293]|0)+1;c=cc((i<<3|3)+16|0)|0;if(!c){t=0;o=e+88|0;_[o>>2]=t;o=e+76|0;_[o>>2]=t;t=_[e+60>>2]|0;_[t>>2]=0;i=t+48|0;r[i>>1]=0;i=t+54|0;r[i>>1]=1;i=_[e+68>>2]|0;r[i>>1]=0;l=i+2|0;r[l>>1]=0;l=r[e+6>>1]|0;c=i+4|0;r[c>>1]=l;i=i+6|0;r[i>>1]=0;i=t+50|0;r[i>>1]=0;i=t+56|0;r[i>>1]=1;i=_[e+72>>2]|0;r[i>>1]=0;c=i+2|0;r[c>>1]=0;c=r[e+6>>1]|0;l=i+4|0;r[l>>1]=c;i=i+6|0;r[i>>1]=0;i=t+52|0;r[i>>1]=0;t=t+58|0;r[t>>1]=1;o=_[o>>2]|0;r[o>>1]=0;t=o+2|0;r[t>>1]=0;t=r[e+6>>1]|0;i=o+4|0;r[i>>1]=t;o=o+6|0;r[o>>1]=0;_[e>>2]=4288;return}_[(c+4+15&-16)+-4>>2]=c;t=c+4+15&-16;o=e+88|0;_[o>>2]=t;o=e+76|0;_[o>>2]=t;t=_[e+60>>2]|0;_[t>>2]=0;i=t+48|0;r[i>>1]=0;i=t+54|0;r[i>>1]=1;i=_[e+68>>2]|0;r[i>>1]=0;l=i+2|0;r[l>>1]=0;l=r[e+6>>1]|0;c=i+4|0;r[c>>1]=l;i=i+6|0;r[i>>1]=0;i=t+50|0;r[i>>1]=0;i=t+56|0;r[i>>1]=1;i=_[e+72>>2]|0;r[i>>1]=0;c=i+2|0;r[c>>1]=0;c=r[e+6>>1]|0;l=i+4|0;r[l>>1]=c;i=i+6|0;r[i>>1]=0;i=t+52|0;r[i>>1]=0;t=t+58|0;r[t>>1]=1;o=_[o>>2]|0;r[o>>1]=0;t=o+2|0;r[t>>1]=0;t=r[e+6>>1]|0;i=o+4|0;r[i>>1]=t;o=o+6|0;r[o>>1]=0;_[e>>2]=4288;return}function Od(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0,Z=0.0,X=0.0;K=u;u=u+240|0;r=(n[e+76>>0]|0)!=0;o=r?i:t;r=r?t:i;Q=+a[o+116>>2]-+a[o+52>>2];z=+a[o+120>>2]-+a[o+56>>2];N=+a[o+124>>2]-+a[o+60>>2];U=+a[o+276>>2];if(Q*Q+z*z+N*N<U*U){Z=1.0;u=K;return+Z}H=+a[r+4>>2];G=+a[r+20>>2];W=+a[r+36>>2];F=+a[r+8>>2];A=+a[r+24>>2];P=+a[r+40>>2];B=+a[r+12>>2];L=+a[r+28>>2];V=+a[r+44>>2];c=-+a[r+52>>2];l=-+a[r+56>>2];f=-+a[r+60>>2];E=+a[o+4>>2];q=+a[o+20>>2];Q=+a[o+36>>2];z=+a[o+8>>2];N=+a[o+24>>2];U=+a[o+40>>2];d=+a[o+12>>2];m=+a[o+28>>2];h=+a[o+44>>2];w=+a[o+52>>2];v=+a[o+56>>2];C=+a[o+60>>2];y=H*c+G*l+W*f+(H*w+G*v+W*C);g=F*c+A*l+P*f+(F*w+A*v+P*C);C=B*c+L*l+V*f+(B*w+L*v+V*C);v=+a[o+68>>2];w=+a[o+84>>2];k=+a[o+100>>2];S=+a[o+72>>2];j=+a[o+88>>2];R=+a[o+104>>2];x=+a[o+76>>2];I=+a[o+92>>2];M=+a[o+108>>2];b=+a[o+116>>2];p=+a[o+120>>2];O=+a[o+124>>2];D=H*c+G*l+W*f+(H*b+G*p+W*O);T=F*c+A*l+P*f+(F*b+A*p+P*O);O=B*c+L*l+V*f+(B*b+L*p+V*O);r=_[r+192>>2]|0;if(((_[r+4>>2]|0)+-21|0)>>>0>=9){Z=1.0;u=K;return+Z}a[K+224>>2]=y;a[K+224+4>>2]=g;a[K+224+8>>2]=C;a[K+224+12>>2]=0.0;if(D<y){a[K+224>>2]=D;s=D}else s=y;if(T<g){a[K+224+4>>2]=T;c=T}else c=g;if(O<C){a[K+224+8>>2]=O;l=O}else l=C;a[K+208>>2]=y;a[K+208+4>>2]=g;a[K+208+8>>2]=C;a[K+208+12>>2]=0.0;if(y<D){a[K+208>>2]=D;f=D}else f=y;if(g<T){a[K+208+4>>2]=T;b=T}else b=g;if(C<O){a[K+208+8>>2]=O;p=O}else p=C;X=+a[o+272>>2];a[K+224>>2]=s-X;a[K+224+4>>2]=c-X;a[K+224+8>>2]=l-X;a[K+208>>2]=X+f;a[K+208+4>>2]=X+b;a[K+208+8>>2]=X+p;_[K>>2]=9364;a[K+4>>2]=H*E+G*q+W*Q;a[K+8>>2]=H*z+G*N+W*U;a[K+12>>2]=H*d+G*m+W*h;a[K+16>>2]=0.0;a[K+20>>2]=F*E+A*q+P*Q;a[K+24>>2]=F*z+A*N+P*U;a[K+28>>2]=F*d+A*m+P*h;a[K+32>>2]=0.0;a[K+36>>2]=B*E+L*q+V*Q;a[K+40>>2]=B*z+L*N+V*U;a[K+44>>2]=B*d+L*m+V*h;a[K+48>>2]=0.0;a[K+52>>2]=y;a[K+56>>2]=g;a[K+60>>2]=C;a[K+64>>2]=0.0;a[K+68>>2]=H*v+G*w+W*k;a[K+72>>2]=H*S+G*j+W*R;a[K+76>>2]=H*x+G*I+W*M;a[K+80>>2]=0.0;a[K+84>>2]=F*v+A*w+P*k;a[K+88>>2]=F*S+A*j+P*R;a[K+92>>2]=F*x+A*I+P*M;a[K+96>>2]=0.0;a[K+100>>2]=B*v+L*w+V*k;a[K+104>>2]=B*S+L*j+V*R;a[K+108>>2]=B*x+L*I+V*M;a[K+112>>2]=0.0;a[K+116>>2]=D;a[K+120>>2]=T;a[K+124>>2]=O;a[K+128>>2]=0.0;a[K+196>>2]=X;_[K+200>>2]=_[o+268>>2];if(r|0?($a[_[(_[r>>2]|0)+64>>2]&127](r,K,K+224|0,K+208|0),Z=+a[K+200>>2],Z<+a[o+268>>2]):0){a[o+268>>2]=Z;X=Z;u=K;return+X}X=1.0;u=K;return+X}function Pd(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var s=0,c=0,l=0,f=0.0,p=0,u=0,d=0.0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0;d=+a[t>>2];s=(a[b>>2]=d,_[b>>2]|0);C=d<999999984306749440.0?s:1566444395;f=+a[t+4>>2];l=(a[b>>2]=f,_[b>>2]|0);v=f<999999984306749440.0?l:1566444395;S=+a[t+8>>2];u=(a[b>>2]=S,_[b>>2]|0);w=S<999999984306749440.0?u:1566444395;s=d>-999999984306749440.0?s:-581039253;l=f>-999999984306749440.0?l:-581039253;u=S>-999999984306749440.0?u:-581039253;S=+a[t+16>>2];g=S<(_[b>>2]=C,+a[b>>2]);c=(a[b>>2]=S,_[b>>2]|0);C=g?c:C;f=+a[t+20>>2];g=f<(_[b>>2]=v,+a[b>>2]);p=(a[b>>2]=f,_[b>>2]|0);v=g?p:v;d=+a[t+24>>2];g=d<(_[b>>2]=w,+a[b>>2]);m=(a[b>>2]=d,_[b>>2]|0);w=g?m:w;c=(_[b>>2]=s,+a[b>>2])<S?c:s;s=(_[b>>2]=l,+a[b>>2])<f?p:l;u=(_[b>>2]=u,+a[b>>2])<d?m:u;S=+a[t+32>>2];m=S<(_[b>>2]=C,+a[b>>2]);h=(a[b>>2]=S,_[b>>2]|0);f=+a[t+36>>2];y=f<(_[b>>2]=v,+a[b>>2]);g=(a[b>>2]=f,_[b>>2]|0);d=+a[t+40>>2];l=d<(_[b>>2]=w,+a[b>>2]);p=(a[b>>2]=d,_[b>>2]|0);c=(_[b>>2]=c,+a[b>>2])<S?h:c;s=(_[b>>2]=s,+a[b>>2])<f?g:s;u=(_[b>>2]=u,+a[b>>2])<d?p:u;O=(_[b>>2]=c,+a[b>>2]);H=(_[b>>2]=m?h:C,+a[b>>2]);I=(_[b>>2]=s,+a[b>>2]);M=(_[b>>2]=y?g:v,+a[b>>2]);f=(_[b>>2]=u,+a[b>>2]);j=(_[b>>2]=l?p:w,+a[b>>2]);u=_[e+8>>2]|0;T=+a[u+4>>2];x=+a[u+8>>2];d=+a[u+12>>2];D=+a[u+36>>2];R=+a[u+40>>2];S=+a[u+44>>2];u=~~(((O-H<2.0000000949949026e-03?H+-1.0000000474974513e-03:H)-T)*D)&65535&-2;m=~~(((I-M<2.0000000949949026e-03?M+-1.0000000474974513e-03:M)-x)*R)&65535&-2;h=~~(((f-j<2.0000000949949026e-03?j+-1.0000000474974513e-03:j)-d)*S)&65535&-2;y=~~(((O-H<2.0000000949949026e-03?O+1.0000000474974513e-03:O)-T)*D+1.0)&65535|1;g=~~(((I-M<2.0000000949949026e-03?I+1.0000000474974513e-03:I)-x)*R+1.0)&65535|1;t=~~(((f-j<2.0000000949949026e-03?f+1.0000000474974513e-03:f)-d)*S+1.0)&65535|1;p=_[e+4>>2]|0;s=_[p+4>>2]|0;if((s|0)==(_[p+8>>2]|0)?(k=s|0?s<<1:1,(s|0)<(k|0)):0){if(!k)l=0;else{_[6293]=(_[6293]|0)+1;s=cc((k<<4|3)+16|0)|0;if(!s)s=0;else{_[(s+4+15&-16)+-4>>2]=s;s=s+4+15&-16}l=s;s=_[p+4>>2]|0}if((s|0)>0){c=0;do{e=l+(c<<4)|0;w=(_[p+12>>2]|0)+(c<<4)|0;_[e>>2]=_[w>>2];_[e+4>>2]=_[w+4>>2];_[e+8>>2]=_[w+8>>2];_[e+12>>2]=_[w+12>>2];c=c+1|0}while((c|0)!=(s|0))}s=_[p+12>>2]|0;if(s|0){if(n[p+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[p+12>>2]=0}n[p+16>>0]=1;_[p+12>>2]=l;_[p+8>>2]=k;s=_[p+4>>2]|0}k=_[p+12>>2]|0;r[k+(s<<4)>>1]=u;r[k+(s<<4)+2>>1]=m;r[k+(s<<4)+4>>1]=h;r[k+(s<<4)+6>>1]=y;r[k+(s<<4)+8>>1]=g;r[k+(s<<4)+10>>1]=t;_[k+(s<<4)+12>>2]=i<<21|o;_[p+4>>2]=(_[p+4>>2]|0)+1;return}function Qd(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0,l=0,f=0,b=0,p=0,u=0,d=0;if(!((t|0)!=0&(i|0)!=0))return;if((_[e+24>>2]|0)<128?(_[e+28>>2]|0)<128:0){_[6293]=(_[6293]|0)+1;o=cc(1043)|0;if(!o)c=0;else{_[(o+4+15&-16)+-4>>2]=o;c=o+4+15&-16}s=_[e+24>>2]|0;if((s|0)>0){o=0;do{l=(_[e+32>>2]|0)+(o<<3)|0;f=_[l+4>>2]|0;b=c+(o<<3)|0;_[b>>2]=_[l>>2];_[b+4>>2]=f;o=o+1|0}while((o|0)!=(s|0))}o=_[e+32>>2]|0;if(o|0){if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+32>>2]=0}n[e+36>>0]=1;_[e+32>>2]=c;_[e+28>>2]=128}_[e+24>>2]=128;o=_[e+32>>2]|0;_[o>>2]=t;_[o+4>>2]=i;o=1;s=124;do{b=o+-1|0;c=_[e+32>>2]|0;l=_[c+(b<<3)>>2]|0;f=_[c+(b<<3)+4>>2]|0;if((b|0)>(s|0)){i=_[e+24>>2]|0;if((i|0)<(i<<1|0)?(_[e+28>>2]|0)<(i<<1|0):0){if(i){_[6293]=(_[6293]|0)+1;s=cc((i<<4|3)+16|0)|0;if(!s)s=0;else{_[(s+4+15&-16)+-4>>2]=s;s=s+4+15&-16}t=_[e+24>>2]|0;if((t|0)>0){c=0;do{d=(_[e+32>>2]|0)+(c<<3)|0;u=_[d+4>>2]|0;p=s+(c<<3)|0;_[p>>2]=_[d>>2];_[p+4>>2]=u;c=c+1|0}while((c|0)!=(t|0))}}else s=0;c=_[e+32>>2]|0;if(c|0){if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[e+32>>2]=0}n[e+36>>0]=1;_[e+32>>2]=s;_[e+28>>2]=i<<1;c=s}_[e+24>>2]=i<<1;s=(i<<1)+-4|0}do{if((l|0)==(f|0))if(!(_[l+40>>2]|0))o=b;else{u=_[l+36>>2]|0;_[c+(b<<3)>>2]=u;_[c+(b<<3)+4>>2]=u;u=_[l+40>>2]|0;d=o+1|0;p=_[e+32>>2]|0;_[p+(o<<3)>>2]=u;_[p+(o<<3)+4>>2]=u;p=_[l+40>>2]|0;u=_[e+32>>2]|0;_[u+(d<<3)>>2]=_[l+36>>2];_[u+(d<<3)+4>>2]=p;o=o+2|0}else if(((((+a[l>>2]<=+a[f+16>>2]?+a[l+16>>2]>=+a[f>>2]:0)?+a[l+4>>2]<=+a[f+20>>2]:0)?+a[l+20>>2]>=+a[f+4>>2]:0)?+a[l+8>>2]<=+a[f+24>>2]:0)?+a[l+24>>2]>=+a[f+8>>2]:0){t=(_[f+40>>2]|0)!=0;if(!(_[l+40>>2]|0))if(t){u=_[f+36>>2]|0;_[c+(b<<3)>>2]=l;_[c+(b<<3)+4>>2]=u;u=_[f+40>>2]|0;d=_[e+32>>2]|0;_[d+(o<<3)>>2]=l;_[d+(o<<3)+4>>2]=u;o=o+1|0;break}else{Za[_[(_[r>>2]|0)+8>>2]&127](r,l,f);o=b;break}else{i=_[l+36>>2]|0;if(t){d=_[f+36>>2]|0;_[c+(b<<3)>>2]=i;_[c+(b<<3)+4>>2]=d;d=_[f+36>>2]|0;p=o+1|0;b=_[e+32>>2]|0;_[b+(o<<3)>>2]=_[l+40>>2];_[b+(o<<3)+4>>2]=d;b=_[f+40>>2]|0;d=o+2|0;u=_[e+32>>2]|0;_[u+(p<<3)>>2]=_[l+36>>2];_[u+(p<<3)+4>>2]=b;p=_[f+40>>2]|0;u=_[e+32>>2]|0;_[u+(d<<3)>>2]=_[l+40>>2];_[u+(d<<3)+4>>2]=p;o=o+3|0;break}else{_[c+(b<<3)>>2]=i;_[c+(b<<3)+4>>2]=f;d=_[e+32>>2]|0;_[d+(o<<3)>>2]=_[l+40>>2];_[d+(o<<3)+4>>2]=f;o=o+1|0;break}}}else o=b}while(0)}while((o|0)!=0);return}function Rd(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0;o=u;u=u+16|0;r=_r()|0;if((n[22312]|0)==0?Dy(22312)|0:0){_[o>>2]=0;_[o+4>>2]=0;_[o+8>>2]=0;_[o+12>>2]=0;Ae(22660,0.0,0,0,o)}_[5716]=_[5716]|1;a[5766]=0.0;k=+a[5776]*0.0;M=+a[5777]*0.0;a[5771]=+a[5775]*0.0;a[5772]=k;a[5773]=M;a[5774]=0.0;_[5779]=0;_[5780]=0;_[5781]=0;_[5782]=0;M=+a[5768]*0.0;k=+a[5769]*0.0;a[5820]=+a[5767]*0.0;a[5821]=M;a[5822]=k;a[5823]=0.0;_[r+4>>2]=7;_[r+8>>2]=-1;_[r+12>>2]=-1;a[r+16>>2]=3402823466385288598117041.0e14;n[r+20>>0]=1;n[r+21>>0]=0;_[r+24>>2]=-1;_[r+28>>2]=22660;_[r+32>>2]=e;a[r+36>>2]=0.0;a[r+40>>2]=.05000000074505806;_[r+44>>2]=0;_[r>>2]=3900;n[r+48>>0]=0;_[r+116>>2]=_[t>>2];_[r+116+4>>2]=_[t+4>>2];_[r+116+8>>2]=_[t+8>>2];_[r+116+12>>2]=_[t+12>>2];_[r+132>>2]=_[t+16>>2];_[r+132+4>>2]=_[t+16+4>>2];_[r+132+8>>2]=_[t+16+8>>2];_[r+132+12>>2]=_[t+16+12>>2];_[r+148>>2]=_[t+32>>2];_[r+148+4>>2]=_[t+32+4>>2];_[r+148+8>>2]=_[t+32+8>>2];_[r+148+12>>2]=_[t+32+12>>2];_[r+164>>2]=_[t+48>>2];_[r+164+4>>2]=_[t+48+4>>2];_[r+164+8>>2]=_[t+48+8>>2];_[r+164+12>>2]=_[t+48+12>>2];n[r+180>>0]=i&1;k=+a[r+116>>2];M=+a[e+4>>2];w=+a[r+132>>2];I=+a[e+8>>2];v=+a[r+148>>2];x=+a[e+12>>2];C=+a[r+120>>2];g=+a[r+136>>2];y=+a[r+152>>2];h=+a[r+124>>2];d=+a[r+140>>2];b=+a[r+156>>2];R=+a[e+20>>2];j=+a[e+24>>2];S=+a[e+28>>2];m=+a[e+36>>2];p=+a[e+40>>2];f=+a[e+44>>2];T=+a[r+164>>2];D=+a[r+168>>2];s=+a[r+172>>2];l=+a[e+52>>2]+(M*T+I*D+x*s);c=R*T+j*D+S*s+ +a[e+56>>2];s=m*T+p*D+f*s+ +a[e+60>>2];a[r+52>>2]=k*M+w*I+v*x;a[r+56>>2]=M*C+I*g+x*y;a[r+60>>2]=M*h+I*d+x*b;a[r+64>>2]=0.0;a[r+68>>2]=k*R+w*j+v*S;a[r+72>>2]=C*R+g*j+y*S;a[r+76>>2]=h*R+d*j+b*S;a[r+80>>2]=0.0;a[r+84>>2]=k*m+w*p+v*f;a[r+88>>2]=C*m+g*p+y*f;a[r+92>>2]=h*m+d*p+b*f;a[r+96>>2]=0.0;a[r+100>>2]=l;a[r+104>>2]=c;a[r+108>>2]=s;a[r+112>>2]=0.0;a[r+184>>2]=1.0;a[r+188>>2]=-1.0;a[r+192>>2]=0.0;a[r+196>>2]=0.0;a[r+200>>2]=1.0;a[r+204>>2]=.699999988079071;a[r+208>>2]=0.0;a[r+212>>2]=0.0;a[r+216>>2]=1.0;a[r+220>>2]=.699999988079071;a[r+224>>2]=0.0;a[r+228>>2]=0.0;a[r+264>>2]=1.0;a[r+268>>2]=.699999988079071;a[r+272>>2]=1.0;a[r+276>>2]=0.0;a[r+280>>2]=1.0;a[r+284>>2]=.699999988079071;a[r+288>>2]=1.0;a[r+292>>2]=0.0;a[r+232>>2]=1.0;a[r+236>>2]=.699999988079071;a[r+240>>2]=1.0;a[r+244>>2]=0.0;a[r+248>>2]=1.0;a[r+252>>2]=.699999988079071;a[r+256>>2]=1.0;a[r+260>>2]=0.0;n[r+1096>>0]=0;a[r+1116>>2]=0.0;a[r+1120>>2]=0.0;a[r+1124>>2]=0.0;_[r+300>>2]=0;_[r+1100>>2]=0;_[r+1100+4>>2]=0;_[r+1100+8>>2]=0;n[r+1100+12>>0]=0;n[r+49>>0]=1;Nc(r,(_[r+28>>2]|0)+4|0,(_[r+32>>2]|0)+4|0);u=o;return r|0}function Sd(e){e=e|0;var t=0,i=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0,v=0.0,w=0.0,k=0;C=u;u=u+176|0;if(!(n[e+527>>0]|0)){u=C;return}a[e+36>>2]=0.0;a[e+520>>2]=0.0;a[e+516>>2]=0.0;_[e+576>>2]=0;_[e+576+4>>2]=0;_[e+576+8>>2]=0;_[e+576+12>>2]=0;if(!(n[e+524>>0]|0)){t=_[e+28>>2]|0;c=+a[e+348>>2];l=+a[e+352>>2];m=+a[e+356>>2];y=c*+a[t+20>>2]+l*+a[t+24>>2]+m*+a[t+28>>2]+ +a[t+56>>2];i=_[e+32>>2]|0;f=+a[e+412>>2];b=+a[e+416>>2];h=+a[e+420>>2];g=f*+a[i+20>>2]+b*+a[i+24>>2]+h*+a[i+28>>2]+ +a[i+56>>2];p=f*+a[i+36>>2]+b*+a[i+40>>2]+h*+a[i+44>>2]+ +a[i+60>>2];d=c*+a[t+4>>2]+l*+a[t+8>>2]+m*+a[t+12>>2]+ +a[t+52>>2];m=c*+a[t+36>>2]+l*+a[t+40>>2]+m*+a[t+44>>2]+ +a[t+60>>2];h=f*+a[i+4>>2]+b*+a[i+8>>2]+h*+a[i+12>>2]+ +a[i+52>>2];if((h-d)*(h-d)+(g-y)*(g-y)+(p-m)*(p-m)>1.1920928955078125e-07){o=1.0/+W(+((h-d)*(h-d)+(g-y)*(g-y)+(p-m)*(p-m)));a[C+128>>2]=(h-d)*o;a[C+128+4>>2]=(g-y)*o;a[C+128+8>>2]=(p-m)*o;_[C+128+12>>2]=0;f=(p-m)*o;r=(g-y)*o;o=(h-d)*o}else{_[C+128>>2]=1065353216;_[C+128+4>>2]=0;_[C+128+8>>2]=0;a[C+128+12>>2]=0.0;f=0.0;r=0.0;o=1.0}if(+G(+f)>.7071067690849304){w=f*f+r*r;v=1.0/+W(+w);c=-(v*f);f=v*r;b=-(f*o);s=o*c;l=0.0;r=w*v;o=f}else{c=o*o+r*r;s=1.0/+W(+c);l=-(r*s);r=s*o;b=f*l;s=c*s;c=r;r=-(r*f);o=0.0}a[C+128+16>>2]=l;a[C+128+20>>2]=c;a[C+128+24>>2]=o;a[C+128+32>>2]=r;a[C+128+36>>2]=b;a[C+128+40>>2]=s;t=0;while(1){k=_[e+28>>2]|0;_[C+80>>2]=_[k+4>>2];_[C+80+4>>2]=_[k+20>>2];_[C+80+8>>2]=_[k+36>>2];a[C+80+12>>2]=0.0;_[C+80+16>>2]=_[k+8>>2];_[C+80+20>>2]=_[k+24>>2];_[C+80+24>>2]=_[k+40>>2];a[C+80+28>>2]=0.0;_[C+80+32>>2]=_[k+12>>2];_[C+80+36>>2]=_[k+28>>2];_[C+80+40>>2]=_[k+44>>2];a[C+80+44>>2]=0.0;_[C+32>>2]=_[i+4>>2];_[C+32+4>>2]=_[i+20>>2];_[C+32+8>>2]=_[i+36>>2];a[C+32+12>>2]=0.0;_[C+32+16>>2]=_[i+8>>2];_[C+32+20>>2]=_[i+24>>2];_[C+32+24>>2]=_[i+40>>2];a[C+32+28>>2]=0.0;_[C+32+32>>2]=_[i+12>>2];_[C+32+36>>2]=_[i+28>>2];_[C+32+40>>2]=_[i+44>>2];a[C+32+44>>2]=0.0;w=y-+a[k+56>>2];v=m-+a[k+60>>2];a[C+16>>2]=d-+a[k+52>>2];a[C+16+4>>2]=w;a[C+16+8>>2]=v;a[C+16+12>>2]=0.0;v=g-+a[i+56>>2];w=p-+a[i+60>>2];a[C>>2]=h-+a[i+52>>2];a[C+4>>2]=v;a[C+8>>2]=w;a[C+12>>2]=0.0;k=_[e+28>>2]|0;i=_[e+32>>2]|0;dg(e+48+(t*84|0)|0,C+80|0,C+32|0,C+16|0,C,C+128+(t<<4)|0,k+456|0,+a[k+404>>2],i+456|0,+a[i+404>>2]);t=t+1|0;if((t|0)==3)break;i=_[e+32>>2]|0}t=e+32|0}else t=e+32|0;i=_[e+28>>2]|0;k=_[t>>2]|0;nc(e,i+4|0,k+4|0,i+324|0,k+324|0);u=C;return}function Td(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0;o=u;u=u+80|0;_[e+72>>2]=(_[e+72>>2]|0)+1;r=_[e+68>>2]|0;if(r|0){i=_[(_[e+28>>2]|0)+(t*80|0)+76>>2]|0;Qf(r,i)|0;n=_[r+4>>2]|0;if(n|0){_[6294]=(_[6294]|0)+1;Mc(_[n+-4>>2]|0)}_[r+4>>2]=i;_[r+12>>2]=(_[r+12>>2]|0)+-1}r=(_[e+20>>2]|0)+-1|0;n=_[e+28>>2]|0;_[o>>2]=_[n+(t*80|0)>>2];_[o+4>>2]=_[n+(t*80|0)+4>>2];_[o+8>>2]=_[n+(t*80|0)+8>>2];_[o+12>>2]=_[n+(t*80|0)+12>>2];_[o+16>>2]=_[n+(t*80|0)+16>>2];_[o+16+4>>2]=_[n+(t*80|0)+16+4>>2];_[o+16+8>>2]=_[n+(t*80|0)+16+8>>2];_[o+16+12>>2]=_[n+(t*80|0)+16+12>>2];_[o+32>>2]=_[n+(t*80|0)+32>>2];_[o+32+4>>2]=_[n+(t*80|0)+32+4>>2];_[o+32+8>>2]=_[n+(t*80|0)+32+8>>2];_[o+32+12>>2]=_[n+(t*80|0)+32+12>>2];_[o+48>>2]=_[n+(t*80|0)+48>>2];_[o+48+4>>2]=_[n+(t*80|0)+48+4>>2];_[o+48+8>>2]=_[n+(t*80|0)+48+8>>2];_[o+48+12>>2]=_[n+(t*80|0)+48+12>>2];_[o+64>>2]=_[n+(t*80|0)+64>>2];_[o+64+4>>2]=_[n+(t*80|0)+64+4>>2];_[o+64+8>>2]=_[n+(t*80|0)+64+8>>2];_[o+64+12>>2]=_[n+(t*80|0)+64+12>>2];_[n+(t*80|0)>>2]=_[n+(r*80|0)>>2];_[n+(t*80|0)+4>>2]=_[n+(r*80|0)+4>>2];_[n+(t*80|0)+8>>2]=_[n+(r*80|0)+8>>2];_[n+(t*80|0)+12>>2]=_[n+(r*80|0)+12>>2];_[n+(t*80|0)+16>>2]=_[n+(r*80|0)+16>>2];_[n+(t*80|0)+16+4>>2]=_[n+(r*80|0)+16+4>>2];_[n+(t*80|0)+16+8>>2]=_[n+(r*80|0)+16+8>>2];_[n+(t*80|0)+16+12>>2]=_[n+(r*80|0)+16+12>>2];_[n+(t*80|0)+32>>2]=_[n+(r*80|0)+32>>2];_[n+(t*80|0)+32+4>>2]=_[n+(r*80|0)+32+4>>2];_[n+(t*80|0)+32+8>>2]=_[n+(r*80|0)+32+8>>2];_[n+(t*80|0)+32+12>>2]=_[n+(r*80|0)+32+12>>2];_[n+(t*80|0)+48>>2]=_[n+(r*80|0)+48>>2];_[n+(t*80|0)+48+4>>2]=_[n+(r*80|0)+48+4>>2];_[n+(t*80|0)+48+8>>2]=_[n+(r*80|0)+48+8>>2];_[n+(t*80|0)+48+12>>2]=_[n+(r*80|0)+48+12>>2];_[n+(t*80|0)+64>>2]=_[n+(r*80|0)+64>>2];_[n+(t*80|0)+64+4>>2]=_[n+(r*80|0)+64+4>>2];_[n+(t*80|0)+64+8>>2]=_[n+(r*80|0)+64+8>>2];_[n+(t*80|0)+64+12>>2]=_[n+(r*80|0)+64+12>>2];n=_[e+28>>2]|0;_[n+(r*80|0)>>2]=_[o>>2];_[n+(r*80|0)+4>>2]=_[o+4>>2];_[n+(r*80|0)+8>>2]=_[o+8>>2];_[n+(r*80|0)+12>>2]=_[o+12>>2];_[n+(r*80|0)+16>>2]=_[o+16>>2];_[n+(r*80|0)+16+4>>2]=_[o+16+4>>2];_[n+(r*80|0)+16+8>>2]=_[o+16+8>>2];_[n+(r*80|0)+16+12>>2]=_[o+16+12>>2];_[n+(r*80|0)+32>>2]=_[o+32>>2];_[n+(r*80|0)+32+4>>2]=_[o+32+4>>2];_[n+(r*80|0)+32+8>>2]=_[o+32+8>>2];_[n+(r*80|0)+32+12>>2]=_[o+32+12>>2];_[n+(r*80|0)+48>>2]=_[o+48>>2];_[n+(r*80|0)+48+4>>2]=_[o+48+4>>2];_[n+(r*80|0)+48+8>>2]=_[o+48+8>>2];_[n+(r*80|0)+48+12>>2]=_[o+48+12>>2];_[n+(r*80|0)+64>>2]=_[o+64>>2];_[n+(r*80|0)+64+4>>2]=_[o+64+4>>2];_[n+(r*80|0)+64+8>>2]=_[o+64+8>>2];_[n+(r*80|0)+64+12>>2]=_[o+64+12>>2];if(!(_[e+68>>2]|0)){r=_[e+20>>2]|0;r=r+-1|0;_[e+20>>2]=r;u=o;return}_[(_[(_[e+28>>2]|0)+(t*80|0)+76>>2]|0)+36>>2]=t;r=_[e+20>>2]|0;r=r+-1|0;_[e+20>>2]=r;u=o;return}function Ud(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0,d=0;u=_[e+92>>2]|0;if(!(ya[_[(_[u>>2]|0)+56>>2]&127](u)|0))return;u=_[e+92>>2]|0;u=ya[_[(_[u>>2]|0)+28>>2]&127](u)|0;i=_[u+4>>2]|0;if((i|0)>1){Vd(u,0,i+-1|0);a=_[u+4>>2]|0}else a=i;b=_[e+104>>2]|0;i=a-b|0;if((b|0)<0){if((_[u+8>>2]|0)<(i|0)){if(!i){r=0;c=a}else{_[6293]=(_[6293]|0)+1;r=cc((i<<4|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}c=_[u+4>>2]|0}if((c|0)>0){o=0;do{b=_[u+12>>2]|0;_[r+(o<<4)>>2]=_[b+(o<<4)>>2];_[r+(o<<4)+4>>2]=_[b+(o<<4)+4>>2];_[r+(o<<4)+8>>2]=_[b+(o<<4)+8>>2];_[r+(o<<4)+12>>2]=_[b+(o<<4)+12>>2];o=o+1|0}while((o|0)!=(c|0))}o=_[u+12>>2]|0;if(o|0){if(n[u+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[u+12>>2]=0}n[u+16>>0]=1;_[u+12>>2]=r;_[u+8>>2]=i;o=u+12|0}else o=u+12|0;r=a;do{b=(_[o>>2]|0)+(r<<4)|0;r=r+1|0;_[b>>2]=0;_[b+4>>2]=0;_[b+8>>2]=0;_[b+12>>2]=0}while((r|0)!=(i|0))}_[u+4>>2]=i;_[e+104>>2]=0;if((i|0)>0){f=0;b=0;r=0;o=0;do{l=_[u+12>>2]|0;a=l+(f<<4)|0;d=b;b=_[a>>2]|0;l=l+(f<<4)+4|0;c=_[l>>2]|0;if(!((b|0)==(d|0)&(c|0)==(r|0))){d=b+48|0;if((((((s[b+54>>1]|0)>=(s[c+48>>1]|0)?(s[c+54>>1]|0)>=(s[d>>1]|0):0)?(s[b+56>>1]|0)>=(s[c+48+2>>1]|0):0)?(s[c+56>>1]|0)>=(s[d+2>>1]|0):0)?(s[b+58>>1]|0)>=(s[c+52>>1]|0):0)?(s[c+58>>1]|0)>=(s[b+52>>1]|0):0)r=c;else{i=c;p=29}}else{i=r;p=29}if((p|0)==29){p=0;o=_[e+92>>2]|0;Za[_[(_[o>>2]|0)+32>>2]&127](o,a,t);_[a>>2]=0;_[l>>2]=0;o=(_[e+104>>2]|0)+1|0;_[e+104>>2]=o;_[6005]=(_[6005]|0)+-1;r=i;i=_[u+4>>2]|0}f=f+1|0}while((f|0)<(i|0));if((i|0)>1){Vd(u,0,i+-1|0);o=_[e+104>>2]|0;r=_[u+4>>2]|0}else r=i;i=r-o|0;if((o|0)<0){if((_[u+8>>2]|0)<(i|0)){if(!i){o=0;a=r}else{_[6293]=(_[6293]|0)+1;o=cc((i<<4|3)+16|0)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}a=_[u+4>>2]|0}if((a|0)>0){c=0;do{d=_[u+12>>2]|0;_[o+(c<<4)>>2]=_[d+(c<<4)>>2];_[o+(c<<4)+4>>2]=_[d+(c<<4)+4>>2];_[o+(c<<4)+8>>2]=_[d+(c<<4)+8>>2];_[o+(c<<4)+12>>2]=_[d+(c<<4)+12>>2];c=c+1|0}while((c|0)!=(a|0))}c=_[u+12>>2]|0;if(c|0){if(n[u+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[u+12>>2]=0}n[u+16>>0]=1;_[u+12>>2]=o;_[u+8>>2]=i}do{d=(_[u+12>>2]|0)+(r<<4)|0;r=r+1|0;_[d>>2]=0;_[d+4>>2]=0;_[d+8>>2]=0;_[d+12>>2]=0}while((r|0)!=(i|0))}}_[u+4>>2]=i;_[e+104>>2]=0;return}function Vd(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0,d=0;while(1){b=_[e+12>>2]|0;u=(t+i|0)/2|0;d=_[b+(u<<4)>>2]|0;p=_[b+(u<<4)+4>>2]|0;u=_[b+(u<<4)+8>>2]|0;n=i;r=t;while(1){e:do{if(!d)while(1){a=_[b+(r<<4)>>2]|0;if(!a)o=-1;else o=_[a+12>>2]|0;l=_[b+(r<<4)+4>>2]|0;if(!l)s=-1;else s=_[l+12>>2]|0;if(!p)c=-1;else c=_[p+12>>2]|0;do{if((o|0)<=-1){o=(s|0)>(c|0);if(o|(a|0)==0^1)if((a|0)==0&o)break;else break e;if((l|0)!=(p|0))break e;if((_[b+(r<<4)+8>>2]|0)>>>0<=u>>>0)break e}}while(0);r=r+1|0}else{f=_[d+12>>2]|0;while(1){a=_[b+(r<<4)>>2]|0;if(!a)o=-1;else o=_[a+12>>2]|0;l=_[b+(r<<4)+4>>2]|0;if(!l)s=-1;else s=_[l+12>>2]|0;if(!p)c=-1;else c=_[p+12>>2]|0;do{if((o|0)<=(f|0)){o=(s|0)>(c|0);if(o|(a|0)==(d|0)^1)if((a|0)==(d|0)&o)break;else break e;if((l|0)!=(p|0))break e;if((_[b+(r<<4)+8>>2]|0)>>>0<=u>>>0)break e}}while(0);r=r+1|0}}}while(0);e:do{if(!d)while(1){a=_[b+(n<<4)>>2]|0;if(!a)o=-1;else o=_[a+12>>2]|0;if(!p)s=-1;else s=_[p+12>>2]|0;l=_[b+(n<<4)+4>>2]|0;if(!l)c=-1;else c=_[l+12>>2]|0;do{if((o|0)>=-1){o=(s|0)>(c|0);if(o|(a|0)==0^1)if((a|0)==0&o)break;else break e;if((p|0)!=(l|0))break e;if(u>>>0<=(_[b+(n<<4)+8>>2]|0)>>>0)break e}}while(0);n=n+-1|0}else{f=_[d+12>>2]|0;while(1){a=_[b+(n<<4)>>2]|0;if(!a)c=-1;else c=_[a+12>>2]|0;if(!p)o=-1;else o=_[p+12>>2]|0;l=_[b+(n<<4)+4>>2]|0;if(!l)s=-1;else s=_[l+12>>2]|0;do{if((f|0)<=(c|0)){o=(o|0)>(s|0);if(o|(d|0)==(a|0)^1)if((d|0)==(a|0)&o)break;else break e;if((p|0)!=(l|0))break e;if(u>>>0<=(_[b+(n<<4)+8>>2]|0)>>>0)break e}}while(0);n=n+-1|0}}}while(0);if((r|0)<=(n|0)){s=b+(r<<4)|0;c=_[s>>2]|0;a=_[b+(r<<4)+4>>2]|0;l=_[b+(r<<4)+8>>2]|0;f=_[b+(r<<4)+12>>2]|0;b=b+(n<<4)|0;_[s>>2]=_[b>>2];_[s+4>>2]=_[b+4>>2];_[s+8>>2]=_[b+8>>2];_[s+12>>2]=_[b+12>>2];b=_[e+12>>2]|0;_[b+(n<<4)>>2]=c;_[b+(n<<4)+4>>2]=a;_[b+(n<<4)+8>>2]=l;_[b+(n<<4)+12>>2]=f;n=n+-1|0;r=r+1|0}if((r|0)>(n|0))break;b=_[e+12>>2]|0}if((n|0)>(t|0))Vd(e,t,n);if((r|0)<(i|0))t=r;else break}return}function Rg(e,t,i,n,r,o,s,c,l,f){e=e|0;t=t|0;i=i|0;n=n|0;r=+r;o=+o;s=+s;c=+c;l=+l;f=+f;var b=0;b=u;u=u+128|0;_[b+80>>2]=_[e+4>>2];_[b+80+4>>2]=_[e+20>>2];_[b+80+8>>2]=_[e+36>>2];a[b+80+12>>2]=0.0;_[b+80+16>>2]=_[e+8>>2];_[b+80+20>>2]=_[e+24>>2];_[b+80+24>>2]=_[e+40>>2];a[b+80+28>>2]=0.0;_[b+80+32>>2]=_[e+12>>2];_[b+80+36>>2]=_[e+28>>2];_[b+80+40>>2]=_[e+44>>2];a[b+80+44>>2]=0.0;_[b+32>>2]=_[t+4>>2];_[b+32+4>>2]=_[t+20>>2];_[b+32+8>>2]=_[t+36>>2];a[b+32+12>>2]=0.0;_[b+32+16>>2]=_[t+8>>2];_[b+32+20>>2]=_[t+24>>2];_[b+32+24>>2]=_[t+40>>2];a[b+32+28>>2]=0.0;_[b+32+32>>2]=_[t+12>>2];_[b+32+36>>2]=_[t+28>>2];_[b+32+40>>2]=_[t+44>>2];a[b+32+44>>2]=0.0;o=o-+a[e+56>>2];s=s-+a[e+60>>2];a[b+16>>2]=r-+a[e+52>>2];a[b+16+4>>2]=o;a[b+16+8>>2]=s;a[b+16+12>>2]=0.0;s=l-+a[t+56>>2];f=f-+a[t+60>>2];a[b>>2]=c-+a[t+52>>2];a[b+4>>2]=s;a[b+8>>2]=f;a[b+12>>2]=0.0;dg(i,b+80|0,b+32|0,b+16|0,b,n,e+456|0,+a[e+404>>2],t+456|0,+a[t+404>>2]);u=b;return}function Sg(e,t){e=e|0;t=t|0;var i=0.0,r=0,o=0.0,s=0.0,c=0,l=0.0,f=0.0;if(n[e+48>>0]|0){_[t>>2]=0;_[t+4>>2]=0;return}_[t>>2]=4;_[t+4>>2]=2;Nc(e,(_[e+28>>2]|0)+4|0,(_[e+32>>2]|0)+4|0);a[e+1088>>2]=0.0;n[e+297>>0]=0;i=+a[e+192>>2];o=+a[e+196>>2];do{if(!(i<=o))c=0;else{f=+a[e+892>>2];l=+a[e+908>>2];s=+a[e+924>>2];s=+Xi(+q(+(+a[e+832>>2]*f+ +a[e+848>>2]*l+ +a[e+864>>2]*s),+(+a[e+828>>2]*f+ +a[e+844>>2]*l+ +a[e+860>>2]*s)),i,o);a[e+1084>>2]=s;if(!(s<i))if(s>o)i=o;else{c=0;break}a[e+1088>>2]=s-i;n[e+297>>0]=1;c=1}}while(0);n[e+296>>0]=0;r=_[e+1032>>2]|0;_[e+1080>>2]=r;i=+a[e+184>>2];o=+a[e+188>>2];s=(_[b>>2]=r,+a[b>>2]);do{if(!(i<=o))r=10;else{if(!(s>o)){if(!(s<i)){r=10;break}}else i=o;a[e+1032>>2]=s-i;n[e+296>>0]=1;r=12}}while(0);if((r|0)==10?(a[e+1032>>2]=0.0,n[e+1096>>0]|0):0)r=12;if((r|0)==12){_[t>>2]=(_[t>>2]|0)+1;_[t+4>>2]=(_[t+4>>2]|0)+-1}if(c<<24>>24==0?(n[e+1112>>0]|0)==0:0)return;_[t>>2]=(_[t>>2]|0)+1;_[t+4>>2]=(_[t+4>>2]|0)+-1;return}function Tg(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,p=0,d=0.0,m=0,h=0,y=0,g=0.0,C=0,v=0,w=0;v=u;u=u+16|0;if((n|0)<=0){u=v;return}C=0;do{_[v>>2]=0;_[v+4>>2]=0;_[v+8>>2]=0;_[v+12>>2]=0;p=_[e+56>>2]|0;w=_[e+32+(p<<2)>>2]|0;_[v+(p<<2)>>2]=w;r=+a[v>>2];s=+a[v+4>>2];o=+a[v+8>>2];m=t+(C<<4)|0;d=+a[m>>2];h=t+(C<<4)+4|0;l=+a[h>>2];y=t+(C<<4)+8|0;c=+a[y>>2];f=(_[b>>2]=w,+a[b>>2]);if(r*d+s*l+o*c>-999999984306749440.0){p=_[v+12>>2]|0;a[i+(C<<4)>>2]=r;a[i+(C<<4)+4>>2]=s;a[i+(C<<4)+8>>2]=o;_[i+(C<<4)+12>>2]=p;p=_[e+56>>2]|0;g=r*d+s*l+o*c;f=+a[e+32+(p<<2)>>2];d=+a[m>>2];l=+a[h>>2];c=+a[y>>2]}else g=-999999984306749440.0;_[v>>2]=0;_[v+4>>2]=0;_[v+8>>2]=0;_[v+12>>2]=0;a[v+(p<<2)>>2]=-f;r=+a[v>>2];s=+a[v+4>>2];o=+a[v+8>>2];if(r*d+s*l+o*c>g){w=_[v+12>>2]|0;a[i+(C<<4)>>2]=r;a[i+(C<<4)+4>>2]=s;a[i+(C<<4)+8>>2]=o;_[i+(C<<4)+12>>2]=w}C=C+1|0}while((C|0)!=(n|0));u=v;return}function Ug(e,t,i,n,r){e=e|0;t=+t;i=+i;n=+n;r=r|0;var o=0,s=0,c=0,l=0,f=0.0,b=0.0;c=u;u=u+48|0;f=1.0/+W(+(t*t+i*i+n*n));a[r>>2]=f*t;a[r+4>>2]=f*i;a[r+8>>2]=f*n;a[r+12>>2]=0.0;o=_[e+120>>2]|0;l=_[e+124>>2]|0;s=(_[e>>2]|0)+(l>>1)|0;if(l&1)o=_[(_[s>>2]|0)+o>>2]|0;Za[o&127](c,s,r);t=-+a[r>>2];i=-+a[r+4>>2];n=-+a[r+8>>2];o=_[e+120>>2]|0;l=_[e+124>>2]|0;s=(_[e+4>>2]|0)+(l>>1)|0;if(l&1)o=_[(_[s>>2]|0)+o>>2]|0;f=+a[e+24>>2]*t+ +a[e+28>>2]*i+ +a[e+32>>2]*n;b=+a[e+40>>2]*t+ +a[e+44>>2]*i+ +a[e+48>>2]*n;a[c+16>>2]=+a[e+8>>2]*t+ +a[e+12>>2]*i+ +a[e+16>>2]*n;a[c+16+4>>2]=f;a[c+16+8>>2]=b;a[c+16+12>>2]=0.0;Za[o&127](c+32|0,s,c+16|0);b=+a[c+32>>2];t=+a[c+32+4>>2];i=+a[c+32+8>>2];n=+a[c+4>>2]-(b*+a[e+72>>2]+t*+a[e+76>>2]+i*+a[e+80>>2]+ +a[e+108>>2]);f=+a[c+8>>2]-(b*+a[e+88>>2]+t*+a[e+92>>2]+i*+a[e+96>>2]+ +a[e+112>>2]);a[r+16>>2]=+a[c>>2]-(b*+a[e+56>>2]+t*+a[e+60>>2]+i*+a[e+64>>2]+ +a[e+104>>2]);a[r+20>>2]=n;a[r+24>>2]=f;a[r+28>>2]=0.0;u=c;return}function Vg(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0;if(n[e+165>>0]|0){if((_[e+92>>2]|0)>=(t|0))return;if((t|0)!=0?(_[6293]=(_[6293]|0)+1,i=cc((t<<4|3)+16|0)|0,(i|0)!=0):0){_[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}else o=0;r=_[e+88>>2]|0;if((r|0)>0){i=0;do{c=o+(i<<4)|0;s=(_[e+96>>2]|0)+(i<<4)|0;_[c>>2]=_[s>>2];_[c+4>>2]=_[s+4>>2];_[c+8>>2]=_[s+8>>2];_[c+12>>2]=_[s+12>>2];i=i+1|0}while((i|0)!=(r|0))}i=_[e+96>>2]|0;if(i|0){if(n[e+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+96>>2]=0}n[e+100>>0]=1;_[e+96>>2]=o;_[e+92>>2]=t;return}if((_[e+112>>2]|0)>=(t|0))return;if((t|0)!=0?(_[6293]=(_[6293]|0)+1,r=cc((t<<2|3)+16|0)|0,(r|0)!=0):0){_[(r+4+15&-16)+-4>>2]=r;s=r+4+15&-16}else s=0;r=_[e+108>>2]|0;o=_[e+116>>2]|0;if((r|0)<=0)if(!o)i=e+120|0;else c=21;else{i=0;do{_[s+(i<<2)>>2]=_[o+(i<<2)>>2];i=i+1|0}while((i|0)!=(r|0));c=21}if((c|0)==21){if(n[e+120>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+116>>2]=0;i=e+120|0}n[i>>0]=1;_[e+116>>2]=s;_[e+112>>2]=t;return}function Wg(e,t){e=e|0;t=t|0;var i=0,o=0,s=0,c=0,a=0;if(!(n[e+164>>0]|0)){if((_[e+152>>2]|0)>=(t|0))return;if((t|0)!=0?(_[6293]=(_[6293]|0)+1,o=cc((t<<1)+19|0)|0,(o|0)!=0):0){_[(o+4+15&-16)+-4>>2]=o;c=o+4+15&-16}else c=0;o=_[e+148>>2]|0;s=_[e+156>>2]|0;if((o|0)<=0)if(!s)i=e+160|0;else a=22;else{i=0;do{r[c+(i<<1)>>1]=r[s+(i<<1)>>1]|0;i=i+1|0}while((i|0)!=(o|0));a=22}if((a|0)==22){if(n[e+160>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[e+156>>2]=0;i=e+160|0}n[i>>0]=1;_[e+156>>2]=c;_[e+152>>2]=t;return}else{if((_[e+132>>2]|0)>=(t|0))return;if((t|0)!=0?(_[6293]=(_[6293]|0)+1,i=cc((t<<2|3)+16|0)|0,(i|0)!=0):0){_[(i+4+15&-16)+-4>>2]=i;c=i+4+15&-16}else c=0;o=_[e+128>>2]|0;s=_[e+136>>2]|0;if((o|0)<=0)if(!s)i=e+140|0;else a=10;else{i=0;do{_[c+(i<<2)>>2]=_[s+(i<<2)>>2];i=i+1|0}while((i|0)!=(o|0));a=10}if((a|0)==10){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[e+136>>2]=0;i=e+140|0}n[i>>0]=1;_[e+136>>2]=c;_[e+132>>2]=t;return}}function Xg(e,t,i){e=e|0;t=t|0;i=i|0;nh(e,t,i)|0;_[t+52>>2]=_[e+300>>2];_[t+56>>2]=_[e+304>>2];_[t+60>>2]=_[e+308>>2];_[t+64>>2]=_[e+312>>2];_[t+68>>2]=_[e+316>>2];_[t+72>>2]=_[e+320>>2];_[t+76>>2]=_[e+324>>2];_[t+80>>2]=_[e+328>>2];_[t+84>>2]=_[e+332>>2];_[t+88>>2]=_[e+336>>2];_[t+92>>2]=_[e+340>>2];_[t+96>>2]=_[e+344>>2];_[t+100>>2]=_[e+348>>2];_[t+104>>2]=_[e+352>>2];_[t+108>>2]=_[e+356>>2];_[t+112>>2]=_[e+360>>2];_[t+116>>2]=_[e+364>>2];_[t+120>>2]=_[e+368>>2];_[t+124>>2]=_[e+372>>2];_[t+128>>2]=_[e+376>>2];_[t+132>>2]=_[e+380>>2];_[t+136>>2]=_[e+384>>2];_[t+140>>2]=_[e+388>>2];_[t+144>>2]=_[e+392>>2];_[t+148>>2]=_[e+396>>2];_[t+152>>2]=_[e+400>>2];_[t+156>>2]=_[e+404>>2];_[t+160>>2]=_[e+408>>2];_[t+164>>2]=_[e+412>>2];_[t+168>>2]=_[e+416>>2];_[t+172>>2]=_[e+420>>2];_[t+176>>2]=_[e+424>>2];_[t+180>>2]=_[e+444>>2];_[t+184>>2]=_[e+448>>2];_[t+188>>2]=_[e+452>>2];_[t+192>>2]=_[e+428>>2];_[t+196>>2]=_[e+432>>2];_[t+200>>2]=_[e+436>>2];_[t+204>>2]=_[e+440>>2];return 11369}function Yg(e,t,i){e=e|0;t=t|0;i=+i;var n=0,r=0.0,o=0.0,s=0.0,c=0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0;c=u;u=u+32|0;b=+a[e+60>>2];h=+a[e+76>>2]-b;f=+a[e+64>>2];d=+a[e+80>>2]-f;l=+a[e+68>>2];y=+a[e+84>>2]-l;p=+a[e+92>>2]-b;m=+a[e+96>>2]-f;o=+a[e+100>>2]-l;s=1.0/+W(+((h*m-d*p)*(h*m-d*p)+((d*o-y*m)*(d*o-y*m)+(y*p-h*o)*(y*p-h*o))));r=s*(d*o-y*m);o=s*(y*p-h*o);s=(h*m-d*p)*s;l=s*+a[t+8>>2]+(+a[t>>2]*r+ +a[t+4>>2]*o)-(r*b+o*f+s*l);if(!(l>=-i)|!(l<=i)){t=0;u=c;return t|0}n=0;while(1){$a[_[(_[e>>2]|0)+104>>2]&127](e,n,c+16|0,c);b=+a[c+16>>2];y=+a[c>>2]-b;d=+a[c+16+4>>2];p=+a[c+4>>2]-d;f=+a[c+16+8>>2];h=+a[c+8>>2]-f;m=1.0/+W(+((o*y-r*p)*(o*y-r*p)+((s*p-o*h)*(s*p-o*h)+(r*h-s*y)*(r*h-s*y))));n=n+1|0;if((o*y-r*p)*m*+a[t+8>>2]+(+a[t>>2]*m*(s*p-o*h)+ +a[t+4>>2]*m*(r*h-s*y))-(f*(o*y-r*p)*m+(b*m*(s*p-o*h)+d*m*(r*h-s*y)))<-i){n=0;e=5;break}if((n|0)>=3){n=1;e=5;break}}if((e|0)==5){u=c;return n|0}return 0}function Zg(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0;u=+Da[_[(_[e>>2]|0)+48>>2]&15](e);C=+a[e+76>>2];g=+a[e+60>>2];h=+a[e+80>>2];m=+a[e+64>>2];p=+a[e+84>>2];b=+a[e+68>>2];D=+a[t>>2];S=+G(+D);M=+a[t+4>>2];k=+G(+M);l=+a[t+8>>2];f=+G(+l);I=+a[t+16>>2];w=+G(+I);x=+a[t+20>>2];v=+G(+x);s=+a[t+24>>2];c=+G(+s);R=+a[t+32>>2];y=+G(+R);j=+a[t+36>>2];d=+G(+j);r=+a[t+40>>2];o=+G(+r);l=(C+g)*.5*D+(h+m)*.5*M+(p+b)*.5*l+ +a[t+48>>2];s=(C+g)*.5*I+(h+m)*.5*x+(p+b)*.5*s+ +a[t+52>>2];r=(C+g)*.5*R+(h+m)*.5*j+(p+b)*.5*r+ +a[t+56>>2];f=(u+(C-g)*.5)*S+(u+(h-m)*.5)*k+(u+(p-b)*.5)*f;c=(u+(C-g)*.5)*w+(u+(h-m)*.5)*v+(u+(p-b)*.5)*c;o=(u+(C-g)*.5)*y+(u+(h-m)*.5)*d+(u+(p-b)*.5)*o;a[i>>2]=l-f;a[i+4>>2]=s-c;a[i+8>>2]=r-o;a[i+12>>2]=0.0;a[n>>2]=f+l;a[n+4>>2]=c+s;a[n+8>>2]=o+r;a[n+12>>2]=0.0;return}function _g(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;s=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t>>2]=s;if(s|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+4>>2]=_[e+4>>2];_[t+8>>2]=0;_[t+28>>2]=_[e+32>>2];_[t+32>>2]=_[e+36>>2];_[t+36>>2]=_[e+40>>2];_[t+40>>2]=_[e+44>>2];_[t+12>>2]=_[e+16>>2];_[t+16>>2]=_[e+20>>2];_[t+20>>2]=_[e+24>>2];_[t+24>>2]=_[e+28>>2];_[t+44>>2]=_[e+48>>2];_[t+48>>2]=0;o=_[e+100>>2]|0;_[t+60>>2]=o;if(!o){_[t+52>>2]=0;_[t+56>>2]=0;i=t+64|0;_[i>>2]=0;return 16127}_[t+52>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,_[e+108>>2]|0)|0;_[t+56>>2]=0;s=xa[_[(_[i>>2]|0)+16>>2]&63](i,16,o)|0;if((o|0)>0){n=_[e+108>>2]|0;e=_[s+8>>2]|0;r=0;while(1){_[e>>2]=_[n+(r<<4)>>2];_[e+4>>2]=_[n+(r<<4)+4>>2];_[e+8>>2]=_[n+(r<<4)+8>>2];_[e+12>>2]=_[n+(r<<4)+12>>2];r=r+1|0;if((r|0)==(o|0))break;else e=e+16|0}}else n=_[e+108>>2]|0;ba[_[(_[i>>2]|0)+20>>2]&31](i,s,19044,1497453121,n);i=t+64|0;_[i>>2]=0;return 16127}function $g(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0;l=_[t>>2]|0;if((l|0)==(_[e+84>>2]|0)){c=1.0;return+c}if(_[l+204>>2]&4|0){c=1.0;return+c}r=+a[t+8>>2];o=+a[t+12>>2];n=+a[t+16>>2];if(i){s=r;c=o}else{s=+a[l+4>>2]*r+ +a[l+8>>2]*o+ +a[l+12>>2]*n;c=r*+a[l+20>>2]+o*+a[l+24>>2]+n*+a[l+28>>2];n=r*+a[l+36>>2]+o*+a[l+40>>2]+n*+a[l+44>>2]}if(s*+a[e+88>>2]+c*+a[e+92>>2]+n*+a[e+96>>2]<+a[e+104>>2]){c=1.0;return+c}_[e+4>>2]=_[t+40>>2];_[e+80>>2]=l;if(i){_[e+48>>2]=_[t+8>>2];_[e+48+4>>2]=_[t+8+4>>2];_[e+48+8>>2]=_[t+8+8>>2];_[e+48+12>>2]=_[t+8+12>>2]}else{n=+a[t+8>>2];r=+a[t+12>>2];o=+a[t+16>>2];s=n*+a[l+20>>2]+r*+a[l+24>>2]+o*+a[l+28>>2];c=n*+a[l+36>>2]+r*+a[l+40>>2]+o*+a[l+44>>2];a[e+48>>2]=+a[l+4>>2]*n+ +a[l+8>>2]*r+ +a[l+12>>2]*o;a[e+52>>2]=s;a[e+56>>2]=c;a[e+60>>2]=0.0}_[e+64>>2]=_[t+24>>2];_[e+64+4>>2]=_[t+24+4>>2];_[e+64+8>>2]=_[t+24+8>>2];_[e+64+12>>2]=_[t+24+12>>2];c=+a[t+40>>2];return+c}function ah(e){e=e|0;var t=0,i=0,r=0,o=0,s=0;t=_[e+16>>2]|0;if(t|0){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;t=_[e+36>>2]|0;if(t|0){if(n[e+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+36>>2]=0}n[e+40>>0]=1;_[e+36>>2]=0;_[e+28>>2]=0;_[e+32>>2]=0;t=_[e+56>>2]|0;if(t|0){if(n[e+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+56>>2]=0}n[e+60>>0]=1;_[e+56>>2]=0;_[e+48>>2]=0;_[e+52>>2]=0;if((_[e+12>>2]|0)>=2){ef(e);return}_[6293]=(_[6293]|0)+1;t=cc(43)|0;if(!t)r=0;else{_[(t+4+15&-16)+-4>>2]=t;r=t+4+15&-16}i=_[e+8>>2]|0;if((i|0)>0){t=0;do{o=r+(t*12|0)|0;s=(_[e+16>>2]|0)+(t*12|0)|0;_[o>>2]=_[s>>2];_[o+4>>2]=_[s+4>>2];_[o+8>>2]=_[s+8>>2];t=t+1|0}while((t|0)!=(i|0))}t=_[e+16>>2]|0;if(t|0){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=r;_[e+12>>2]=2;ef(e);return}function bh(e,t,i){e=e|0;t=t|0;i=i|0;nh(e,t,i)|0;_[t+52>>2]=_[e+52>>2];_[t+56>>2]=_[e+56>>2];_[t+60>>2]=_[e+60>>2];_[t+64>>2]=_[e+64>>2];_[t+68>>2]=_[e+68>>2];_[t+72>>2]=_[e+72>>2];_[t+76>>2]=_[e+76>>2];_[t+80>>2]=_[e+80>>2];_[t+84>>2]=_[e+84>>2];_[t+88>>2]=_[e+88>>2];_[t+92>>2]=_[e+92>>2];_[t+96>>2]=_[e+96>>2];_[t+100>>2]=_[e+100>>2];_[t+104>>2]=_[e+104>>2];_[t+108>>2]=_[e+108>>2];_[t+112>>2]=_[e+112>>2];_[t+116>>2]=_[e+116>>2];_[t+120>>2]=_[e+120>>2];_[t+124>>2]=_[e+124>>2];_[t+128>>2]=_[e+128>>2];_[t+132>>2]=_[e+132>>2];_[t+136>>2]=_[e+136>>2];_[t+140>>2]=_[e+140>>2];_[t+144>>2]=_[e+144>>2];_[t+148>>2]=_[e+148>>2];_[t+152>>2]=_[e+152>>2];_[t+156>>2]=_[e+156>>2];_[t+160>>2]=_[e+160>>2];_[t+164>>2]=_[e+164>>2];_[t+168>>2]=_[e+168>>2];_[t+172>>2]=_[e+172>>2];_[t+176>>2]=_[e+176>>2];_[t+180>>2]=_[e+188>>2];_[t+184>>2]=_[e+184>>2];_[t+188>>2]=_[e+196>>2];_[t+192>>2]=_[e+192>>2];_[t+196>>2]=o[e+180>>0];_[t+200>>2]=o[e+49>>0];return 11828}function ch(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0,l=0;c=u;u=u+128|0;ua[_[(_[e>>2]|0)+112>>2]&511](e);_[c+96>>2]=_[i>>2];_[c+96+4>>2]=_[i+4>>2];_[c+96+8>>2]=_[i+8>>2];_[c+96+12>>2]=_[i+12>>2];_[c+96+16>>2]=_[r>>2];_[c+96+16+4>>2]=_[r+4>>2];_[c+96+16+8>>2]=_[r+8>>2];_[c+96+16+12>>2]=_[r+12>>2];n[c+72+16>>0]=1;_[c+72+12>>2]=0;_[c+72+4>>2]=0;_[c+72+8>>2]=0;Oe(e+72|0,c+96|0,c+72|0);r=_[c+72+4>>2]|0;if(!r){ua[_[(_[e>>2]|0)+116>>2]&511](e);i=_[c+72+12>>2]|0}else{s=_[e+176>>2]|0;a[c+64>>2]=.009999999776482582;i=_[c+72+12>>2]|0;while(1){o=r+-1|0;if(!r)break;r=_[i+(o<<2)>>2]|0;l=ya[_[(_[e>>2]|0)+84>>2]&127](e)|0;Za[_[(_[l>>2]|0)+20>>2]&127](l,r,c);$a[_[(_[t>>2]|0)+8>>2]&127](t,c,s,_[i+(o<<2)>>2]|0);r=o}ua[_[(_[e>>2]|0)+116>>2]&511](e)}if(!i){u=c;return}if(n[c+72+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[c+72+12>>2]=0;u=c;return}function dh(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0.0,s=0.0,c=0.0,l=0.0;r=u;u=u+96|0;a[r+4>>2]=1.0;_[r+8>>2]=0;_[r+12>>2]=1;_[r+16>>2]=-1;_[r+20>>2]=0;_[r>>2]=2872;_[r+24>>2]=_[t>>2];_[r+24+4>>2]=_[t+4>>2];_[r+24+8>>2]=_[t+8>>2];_[r+24+12>>2]=_[t+12>>2];_[r+40>>2]=_[i>>2];_[r+40+4>>2]=_[i+4>>2];_[r+40+8>>2]=_[i+8>>2];_[r+40+12>>2]=_[i+12>>2];e=_[e+4>>2]|0;$a[_[(_[e>>2]|0)+32>>2]&127](e,t,i,r);e=_[r+8>>2]|0;if(!e){n=0;u=r;return n|0}if(!(_[e+252>>2]&2)){n=0;u=r;return n|0}if(_[e+204>>2]&4|0){n=0;u=r;return n|0}_[n>>2]=_[r+72>>2];_[n+4>>2]=_[r+72+4>>2];_[n+8>>2]=_[r+72+8>>2];_[n+12>>2]=_[r+72+12>>2];_[n+16>>2]=_[r+56>>2];_[n+16+4>>2]=_[r+56+4>>2];_[n+16+8>>2]=_[r+56+8>>2];_[n+16+12>>2]=_[r+56+12>>2];l=+a[n+16>>2];c=+a[n+20>>2];s=+a[n+24>>2];o=1.0/+W(+(l*l+c*c+s*s));a[n+16>>2]=l*o;a[n+20>>2]=c*o;a[n+24>>2]=s*o;_[n+32>>2]=_[r+4>>2];n=e;u=r;return n|0}function eh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0,c=0.0;s=u;u=u+32|0;_[s+16>>2]=_[i>>2];_[s+16+4>>2]=_[i+4>>2];_[s+16+8>>2]=_[i+8>>2];_[s+16+12>>2]=_[i+12>>2];r=+a[s+16>>2];o=+a[s+16+4>>2];n=+a[s+16+8>>2];if(r*r+o*o+n*n<1.4210854715202004e-14){_[s+16>>2]=-1082130432;_[s+16+4>>2]=-1082130432;_[s+16+8>>2]=-1082130432;a[s+16+12>>2]=0.0;r=-1.0;o=-1.0;n=-1.0}c=1.0/+W(+(r*r+o*o+n*n));a[s+16>>2]=r*c;a[s+16+4>>2]=o*c;a[s+16+8>>2]=n*c;td(s,t,s+16|0);switch(_[t+4>>2]|0){case 8:{n=+a[t+32>>2]*+a[t+16>>2];break}case 0:{n=+a[t+48>>2];break}case 1:{n=+a[t+48>>2];break}case 13:{n=+a[t+48>>2];break}case 11:{n=+a[t+48>>2];break}case 10:{n=+a[t+48>>2];break}case 4:case 5:{n=+a[t+48>>2];break}default:n=+Da[_[(_[t>>2]|0)+48>>2]&15](t)}o=n*+a[s+16+4>>2]+ +a[s+4>>2];c=n*+a[s+16+8>>2]+ +a[s+8>>2];a[e>>2]=n*+a[s+16>>2]+ +a[s>>2];a[e+4>>2]=o;a[e+8>>2]=c;a[e+12>>2]=0.0;u=s;return}function fh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0,s=0.0,c=0,l=0,f=0,p=0.0;l=u;u=u+80|0;_[e>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;n=+a[i>>2];r=+a[i+4>>2];s=+a[i+8>>2];if(n*n+r*r+s*s<9.999999747378752e-05){c=1065353216;o=0;n=0.0;i=0}else{p=1.0/+W(+(n*n+r*r+s*s));c=(a[b>>2]=n*p,_[b>>2]|0);f=(a[b>>2]=r*p,_[b>>2]|0);o=(a[b>>2]=s*p,_[b>>2]|0);n=+a[i+12>>2];i=f}_[l+32>>2]=7052;f=l+32+4|0;_[f>>2]=0;_[f+4>>2]=0;_[f+8>>2]=0;_[f+12>>2]=0;a[l+32+20>>2]=-999999984306749440.0;_[l+32+24>>2]=c;_[l+32+28>>2]=i;_[l+32+32>>2]=o;a[l+32+36>>2]=n;_[l+16>>2]=1566444395;_[l+16+4>>2]=1566444395;_[l+16+8>>2]=1566444395;a[l+16+12>>2]=0.0;t=_[t+96>>2]|0;c=_[(_[t>>2]|0)+8>>2]|0;a[l>>2]=-999999984306749440.0;a[l+4>>2]=-999999984306749440.0;a[l+8>>2]=-999999984306749440.0;a[l+12>>2]=0.0;$a[c&127](t,l+32|0,l,l+16|0);_[e>>2]=_[f>>2];_[e+4>>2]=_[f+4>>2];_[e+8>>2]=_[f+8>>2];_[e+12>>2]=_[f+12>>2];u=l;return}function gh(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0,m=0,h=0;d=u;u=u+32|0;n=_[e+12>>2]|0;if(!n){u=d;return}_[r+4>>2]=n;m=_[t+4>>2]|0;e=_[i+4>>2]|0;h=_[t+12>>2]|0;t=_[i+12>>2]|0;o=+a[h+48>>2]-+a[t+48>>2];s=+a[h+52>>2]-+a[t+52>>2];l=+a[h+56>>2]-+a[t+56>>2];f=+W(+(o*o+s*s+l*l));b=+a[m+32>>2]*+a[m+16>>2];p=+a[e+32>>2]*+a[e+16>>2];_[n+780>>2]=0;if(f>b+p+ +a[r+32>>2]){u=d;return}_[d+16>>2]=1065353216;_[d+16+4>>2]=0;_[d+16+8>>2]=0;a[d+16+12>>2]=0.0;if(f>1.1920928955078125e-07){a[d+16>>2]=o*(1.0/f);a[d+16+4>>2]=s*(1.0/f);a[d+16+8>>2]=l*(1.0/f);a[d+16+12>>2]=0.0;c=o*(1.0/f);s=s*(1.0/f);o=l*(1.0/f)}else{c=1.0;s=0.0;o=0.0}h=_[i+12>>2]|0;s=p*s+ +a[h+52>>2];l=p*o+ +a[h+56>>2];a[d>>2]=p*c+ +a[h+48>>2];a[d+4>>2]=s;a[d+8>>2]=l;a[d+12>>2]=0.0;Ka[_[(_[r>>2]|0)+16>>2]&15](r,d+16|0,d,f-(b+p));u=d;return}function hh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0,s=0,c=0,l=0.0,f=0,b=0;b=_[e+4>>2]|0;e=_[e+44>>2]|0;do{if(!b)if(!e){n=0;r=0.0;o=0;s=0;c=0;l=0.0;f=0;e=0}else{n=_[e>>2]|0;r=+a[e+12>>2];o=_[e+16>>2]|0;s=_[e+20>>2]|0;c=_[e+24>>2]|0;l=+a[e+28>>2];f=_[e+4>>2]|0;e=_[e+8>>2]|0}else if(!e){n=_[b>>2]|0;r=+a[b+12>>2];o=_[b+16>>2]|0;s=_[b+20>>2]|0;c=_[b+24>>2]|0;l=+a[b+28>>2];f=_[b+4>>2]|0;e=_[b+8>>2]|0;break}else{n=_[(+a[b>>2]<+a[e>>2]?b:e)>>2]|0;r=0.0;o=_[(+a[b+16>>2]>+a[e+16>>2]?b+16|0:e+16|0)>>2]|0;s=_[(+a[b+20>>2]>+a[e+20>>2]?b+16|0:e+16|0)+4>>2]|0;c=_[(+a[b+24>>2]>+a[e+24>>2]?b+16|0:e+16|0)+8>>2]|0;l=0.0;f=_[(+a[b+4>>2]<+a[e+4>>2]?b:e)+4>>2]|0;e=_[(+a[b+8>>2]<+a[e+8>>2]?b:e)+8>>2]|0;break}}while(0);_[t>>2]=n;_[t+4>>2]=f;_[t+8>>2]=e;a[t+12>>2]=r;_[i>>2]=o;_[i+4>>2]=s;_[i+8>>2]=c;a[i+12>>2]=l;return}function ih(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0,s=0.0,c=0.0,l=0.0,f=0,b=0.0;l=+a[t+64>>2]*.5;f=_[t+72>>2]|0;r=+a[i>>2];s=+a[i+4>>2];c=+a[i+8>>2];c=+W(+(r*r+s*s+c*c));o=_[t+68>>2]|0;do{if(!(+a[i+(f<<2)>>2]>c*+a[t+56>>2])){r=+a[i+(o<<2)>>2];n=_[t+76>>2]|0;s=+a[i+(n<<2)>>2];c=+W(+(r*r+s*s));if(c>1.1920928955078125e-07){c=+a[t+60>>2]/c;a[e+(o<<2)>>2]=r*c;a[e+(f<<2)>>2]=-l;r=s*c;break}else{a[e+(o<<2)>>2]=0.0;a[e+(f<<2)>>2]=-l;r=0.0;break}}else{a[e+(o<<2)>>2]=0.0;a[e+(f<<2)>>2]=l;r=0.0;n=_[t+76>>2]|0}}while(0);a[e+(n<<2)>>2]=r;if(!(+Da[_[(_[t>>2]|0)+48>>2]&15](t)!=0.0))return;s=+a[i>>2];c=+a[i+4>>2];l=+a[i+8>>2];b=s*s+c*c+l*l<1.4210854715202004e-14?-1.0:s;r=s*s+c*c+l*l<1.4210854715202004e-14?-1.0:c;l=s*s+c*c+l*l<1.4210854715202004e-14?-1.0:l;c=1.0/+W(+(l*l+(b*b+r*r)));s=+Da[_[(_[t>>2]|0)+48>>2]&15](t);a[e>>2]=+a[e>>2]+s*c*b;a[e+4>>2]=s*c*r+ +a[e+4>>2];a[e+8>>2]=s*c*l+ +a[e+8>>2];return}function jh(e,t,i){e=e|0;t=t|0;i=i|0;_[e+300>>2]=_[t>>2];_[e+300+4>>2]=_[t+4>>2];_[e+300+8>>2]=_[t+8>>2];_[e+300+12>>2]=_[t+12>>2];_[e+316>>2]=_[t+16>>2];_[e+316+4>>2]=_[t+16+4>>2];_[e+316+8>>2]=_[t+16+8>>2];_[e+316+12>>2]=_[t+16+12>>2];_[e+332>>2]=_[t+32>>2];_[e+332+4>>2]=_[t+32+4>>2];_[e+332+8>>2]=_[t+32+8>>2];_[e+332+12>>2]=_[t+32+12>>2];_[e+348>>2]=_[t+48>>2];_[e+348+4>>2]=_[t+48+4>>2];_[e+348+8>>2]=_[t+48+8>>2];_[e+348+12>>2]=_[t+48+12>>2];_[e+364>>2]=_[i>>2];_[e+364+4>>2]=_[i+4>>2];_[e+364+8>>2]=_[i+8>>2];_[e+364+12>>2]=_[i+12>>2];_[e+380>>2]=_[i+16>>2];_[e+380+4>>2]=_[i+16+4>>2];_[e+380+8>>2]=_[i+16+8>>2];_[e+380+12>>2]=_[i+16+12>>2];_[e+396>>2]=_[i+32>>2];_[e+396+4>>2]=_[i+32+4>>2];_[e+396+8>>2]=_[i+32+8>>2];_[e+396+12>>2]=_[i+32+12>>2];_[e+412>>2]=_[i+48>>2];_[e+412+4>>2]=_[i+48+4>>2];_[e+412+8>>2]=_[i+48+8>>2];_[e+412+12>>2]=_[i+48+12>>2];ua[_[(_[e>>2]|0)+8>>2]&511](e);return}function kh(e){e=e|0;var t=0,i=0;ld(e);e:do{if(ya[_[(_[e>>2]|0)+20>>2]&127](e)|0?(i=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0,(ya[_[(_[i>>2]|0)+56>>2]&127](i)|0)&6144|0):0){i=ya[_[(_[e>>2]|0)+104>>2]&127](e)|0;while(1){t=i+-1|0;if((i|0)<=0)break e;i=Pa[_[(_[e>>2]|0)+108>>2]&31](e,t)|0;ma[_[(_[e>>2]|0)+172>>2]&127](e,i);i=t}}}while(0);if((((ya[_[(_[e>>2]|0)+20>>2]&127](e)|0?(i=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0,(ya[_[(_[i>>2]|0)+56>>2]&127](i)|0)&16387|0):0)?ya[_[(_[e>>2]|0)+20>>2]&127](e)|0:0)?(i=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0,ya[_[(_[i>>2]|0)+56>>2]&127](i)|0):0)?(_[e+296>>2]|0)>0:0){t=0;do{i=_[(_[e+304>>2]|0)+(t<<2)>>2]|0;ma[_[(_[i>>2]|0)+12>>2]&127](i,_[e+72>>2]|0);t=t+1|0}while((t|0)<(_[e+296>>2]|0))}if(!(ya[_[(_[e>>2]|0)+20>>2]&127](e)|0))return;e=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;ua[_[(_[e>>2]|0)+104>>2]&511](e);return}function lh(e,t){e=e|0;t=t|0;var i=0,n=0.0,r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0;i=u;u=u+48|0;Lg(e+364|0,i+16|0);o=-+a[i+16>>2];r=-+a[i+16+4>>2];f=-+a[i+16+8>>2];l=+a[i+16+12>>2];_=+a[t>>2];b=+a[t+12>>2];c=+a[t+8>>2];s=+a[t+4>>2];Lg(e+300|0,i);d=+a[i>>2];m=+a[i+12>>2];n=+a[i+8>>2];p=+a[i+4>>2];a[i+32>>2]=(l*b-_*o-s*r-c*f)*d+(l*_+b*o+c*r-s*f)*m+(_*f+(b*r+l*s)-c*o)*n-(b*f+l*c+s*o-_*r)*p;a[i+32+4>>2]=d*(b*f+l*c+s*o-_*r)+(m*(_*f+(b*r+l*s)-c*o)+(l*b-_*o-s*r-c*f)*p)-(l*_+b*o+c*r-s*f)*n;a[i+32+8>>2]=(b*f+l*c+s*o-_*r)*m+(l*b-_*o-s*r-c*f)*n+(l*_+b*o+c*r-s*f)*p-d*(_*f+(b*r+l*s)-c*o);a[i+32+12>>2]=(l*b-_*o-s*r-c*f)*m-(l*_+b*o+c*r-s*f)*d-(_*f+(b*r+l*s)-c*o)*p-(b*f+l*c+s*o-_*r)*n;ce(e,i+32|0);u=i;return}function mh(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0,a=0;if(!i)i=_[e+188>>2]|0;a=_[t>>2]|0;r=_[e+328>>2]|0;e:do{if((r|0)>0){s=_[e+336>>2]|0;o=0;while(1){if((_[s+(o<<2)>>2]|0)==(a|0))break;o=o+1|0;if((o|0)>=(r|0))break e}if((o|0)!=(r|0))return}}while(0);if((r|0)==(_[e+332>>2]|0)?(c=r|0?r<<1:1,(r|0)<(c|0)):0){if(!c)s=0;else{_[6293]=(_[6293]|0)+1;r=cc((c<<2|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}s=r;r=_[e+328>>2]|0}if((r|0)>0){o=0;do{_[s+(o<<2)>>2]=_[(_[e+336>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(r|0))}o=_[e+336>>2]|0;if(o){if(n[e+340>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);r=_[e+328>>2]|0}_[e+336>>2]=0}n[e+340>>0]=1;_[e+336>>2]=s;_[e+332>>2]=c}_[(_[e+336>>2]|0)+(r<<2)>>2]=a;_[e+328>>2]=r+1;e=_[e+344>>2]|0;xa[_[(_[e>>2]|0)+8>>2]&63](e,i,t)|0;return}function nh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;_[t>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,_[e+28>>2]|0)|0;_[t+4>>2]=Pa[_[(_[i>>2]|0)+28>>2]&31](i,_[e+32>>2]|0)|0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;r=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t+8>>2]=r;if(r|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+12>>2]=_[e+4>>2];_[t+24>>2]=o[e+21>>0];_[t+40>>2]=_[e+24>>2];_[t+44>>2]=_[e+16>>2];_[t+48>>2]=o[e+20>>0];_[t+20>>2]=_[e+12>>2];_[t+16>>2]=_[e+8>>2];_[t+28>>2]=_[e+36>>2];_[t+32>>2]=_[e+40>>2];_[t+36>>2]=0;n=_[e+28>>2]|0;if((_[n+548>>2]|0)>0){i=0;do{if((_[(_[n+556>>2]|0)+(i<<2)>>2]|0)==(e|0)){_[t+36>>2]=1;n=_[e+28>>2]|0}i=i+1|0}while((i|0)<(_[n+548>>2]|0))}n=_[e+32>>2]|0;if((_[n+548>>2]|0)>0)i=0;else return 11872;do{if((_[(_[n+556>>2]|0)+(i<<2)>>2]|0)==(e|0)){_[t+36>>2]=1;n=_[e+32>>2]|0}i=i+1|0}while((i|0)<(_[n+548>>2]|0));return 11872}function oh(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0;if((i|0)>=8192)return ia(e|0,t|0,i|0)|0;s=e|0;o=e+i|0;if((e&3)==(t&3)){while(e&3){if(!i)return s|0;n[e>>0]=n[t>>0]|0;e=e+1|0;t=t+1|0;i=i-1|0}i=o&-4|0;r=i-64|0;while((e|0)<=(r|0)){_[e>>2]=_[t>>2];_[e+4>>2]=_[t+4>>2];_[e+8>>2]=_[t+8>>2];_[e+12>>2]=_[t+12>>2];_[e+16>>2]=_[t+16>>2];_[e+20>>2]=_[t+20>>2];_[e+24>>2]=_[t+24>>2];_[e+28>>2]=_[t+28>>2];_[e+32>>2]=_[t+32>>2];_[e+36>>2]=_[t+36>>2];_[e+40>>2]=_[t+40>>2];_[e+44>>2]=_[t+44>>2];_[e+48>>2]=_[t+48>>2];_[e+52>>2]=_[t+52>>2];_[e+56>>2]=_[t+56>>2];_[e+60>>2]=_[t+60>>2];e=e+64|0;t=t+64|0}while((e|0)<(i|0)){_[e>>2]=_[t>>2];e=e+4|0;t=t+4|0}}else{i=o-4|0;while((e|0)<(i|0)){n[e>>0]=n[t>>0]|0;n[e+1>>0]=n[t+1>>0]|0;n[e+2>>0]=n[t+2>>0]|0;n[e+3>>0]=n[t+3>>0]|0;e=e+4|0;t=t+4|0}}while((e|0)<(o|0)){n[e>>0]=n[t>>0]|0;e=e+1|0;t=t+1|0}return s|0}function ph(e,t){e=e|0;t=t|0;var i=0,r=0;_[e+12>>2]=0;_[e+16>>2]=-1;_[e+20>>2]=1065353216;_[e+24>>2]=1065353216;_[e+28>>2]=1065353216;a[e+32>>2]=0.0;a[e+52>>2]=.03999999910593033;_[e+60>>2]=0;_[e+8>>2]=1;i=e+64|0;r=i+48|0;do{_[i>>2]=0;i=i+4|0}while((i|0)<(r|0));_[e+4>>2]=8072;_[e+120>>2]=0;_[e+124>>2]=-1;_[e+128>>2]=1065353216;_[e+132>>2]=1065353216;_[e+136>>2]=1065353216;a[e+140>>2]=0.0;a[e+160>>2]=.03999999910593033;_[e+168>>2]=0;_[e+172>>2]=1065353216;_[e+176>>2]=1065353216;_[e+180>>2]=1065353216;a[e+184>>2]=0.0;_[e+188>>2]=-1082130432;_[e+192>>2]=-1082130432;_[e+196>>2]=-1082130432;a[e+200>>2]=0.0;n[e+204>>0]=0;_[e+116>>2]=2;_[e+112>>2]=8208;_[e+208>>2]=4;_[e+276>>2]=8344;_[e+284>>2]=8364;_[e+292>>2]=8384;_[e>>2]=t;if(ya[_[(_[t>>2]|0)+96>>2]&127](t)|0){r=e+284|0;i=e+300|0;_[i>>2]=r;r=r+4|0;_[r>>2]=e;return}else{r=_[e>>2]|0;r=ya[_[(_[r>>2]|0)+100>>2]&127](r)|0;r=r?e+292|0:e+276|0;i=e+300|0;_[i>>2]=r;r=r+4|0;_[r>>2]=e;return}}function qh(e){e=e|0;var t=0,i=0,r=0,o=0,s=0,c=0,a=0;_[e>>2]=9592;t=_[e+56>>2]|0;if(t|0){if(n[e+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+56>>2]=0}n[e+60>>0]=1;_[e+56>>2]=0;_[e+48>>2]=0;_[e+52>>2]=0;r=_[e+28>>2]|0;if((r|0)>0){t=0;do{o=_[e+36>>2]|0;s=o+(t*36|0)+4|0;c=o+(t*36|0)+12|0;a=_[c>>2]|0;i=o+(t*36|0)+16|0;if(a|0){if(n[i>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[a+-4>>2]|0)}_[c>>2]=0}n[i>>0]=1;_[c>>2]=0;_[s>>2]=0;_[o+(t*36|0)+8>>2]=0;t=t+1|0}while((t|0)!=(r|0))}t=_[e+36>>2]|0;if(t|0){if(n[e+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+36>>2]=0}n[e+40>>0]=1;_[e+36>>2]=0;_[e+28>>2]=0;_[e+32>>2]=0;t=_[e+16>>2]|0;if(!t){n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}function rh(e){e=e|0;var t=0;_[e>>2]=7852;t=_[e+156>>2]|0;if(t|0){if(n[e+160>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+156>>2]=0}n[e+160>>0]=1;_[e+156>>2]=0;_[e+148>>2]=0;_[e+152>>2]=0;t=_[e+136>>2]|0;if(t|0){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+136>>2]=0}n[e+140>>0]=1;_[e+136>>2]=0;_[e+128>>2]=0;_[e+132>>2]=0;t=_[e+116>>2]|0;if(t|0){if(n[e+120>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+116>>2]=0}n[e+120>>0]=1;_[e+116>>2]=0;_[e+108>>2]=0;_[e+112>>2]=0;t=_[e+96>>2]|0;if(t|0){if(n[e+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+96>>2]=0}n[e+100>>0]=1;_[e+96>>2]=0;_[e+88>>2]=0;_[e+92>>2]=0;_[e>>2]=9608;t=_[e+32>>2]|0;if(!t){n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;e=e+28|0;_[e>>2]=0;return}if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+32>>2]=0;n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;e=e+28|0;_[e>>2]=0;return}function sh(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0,s=0;i=_[t+188>>2]|0;if(i|0){r=_[e+68>>2]|0;r=ya[_[(_[r>>2]|0)+36>>2]&127](r)|0;Za[_[(_[r>>2]|0)+40>>2]&127](r,i,_[e+24>>2]|0);r=_[e+68>>2]|0;Za[_[(_[r>>2]|0)+12>>2]&127](r,i,_[e+24>>2]|0);_[t+188>>2]=0}i=_[t+216>>2]|0;r=_[e+8>>2]|0;if((i|0)>-1&(i|0)<(r|0)){o=_[e+16>>2]|0;n=_[o+(i<<2)>>2]|0;_[o+(i<<2)>>2]=_[o+(r+-1<<2)>>2];_[(_[e+16>>2]|0)+(r+-1<<2)>>2]=n;_[e+8>>2]=r+-1;if((i|0)>=(r+-1|0)){_[t+216>>2]=-1;return}_[(_[(_[e+16>>2]|0)+(i<<2)>>2]|0)+216>>2]=i;_[t+216>>2]=-1;return}e:do{if((r|0)>0){n=_[e+16>>2]|0;i=0;while(1){if((_[n+(i<<2)>>2]|0)==(t|0))break e;i=i+1|0;if((i|0)>=(r|0)){i=r;break}}}else i=r}while(0);if((r|0)<=(i|0)){_[t+216>>2]=-1;return}s=_[e+16>>2]|0;n=s+(i<<2)|0;o=_[n>>2]|0;_[n>>2]=_[s+(r+-1<<2)>>2];_[(_[e+16>>2]|0)+(r+-1<<2)>>2]=o;_[e+8>>2]=r+-1;_[t+216>>2]=-1;return}function th(e,t){e=e|0;t=t|0;var i=0,r=0,o=0;r=u;u=u+16|0;i=0;while(1){if((i|0)>=(ya[_[(_[t>>2]|0)+28>>2]&127](t)|0))break;o=Pr(216)|0;_[o+8>>2]=0;_[o+12>>2]=-1;a[o+16>>2]=0.0;n[o+92>>0]=1;_[o+88>>2]=0;_[o+80>>2]=0;_[o+84>>2]=0;_[o+72>>2]=0;_[o+4>>2]=25;a[o+20>>2]=3402823466385288598117041.0e14;a[o+24>>2]=3402823466385288598117041.0e14;a[o+28>>2]=3402823466385288598117041.0e14;a[o+36>>2]=-3402823466385288598117041.0e14;a[o+40>>2]=-3402823466385288598117041.0e14;a[o+44>>2]=-3402823466385288598117041.0e14;n[o+52>>0]=1;_[o+56>>2]=1065353216;_[o+60>>2]=1065353216;_[o+64>>2]=1065353216;a[o+68>>2]=0.0;_[o>>2]=8444;_[o+148>>2]=8756;a[o+152>>2]=.009999999776482582;_[o+160>>2]=1065353216;_[o+164>>2]=1065353216;_[o+168>>2]=1065353216;a[o+172>>2]=0.0;_[o+180>>2]=0;_[o+184>>2]=0;_[o+188>>2]=0;_[o+196>>2]=0;_[o+196+4>>2]=0;_[o+196+8>>2]=0;_[o+196+12>>2]=0;_[o+156>>2]=t;_[o+176>>2]=i;_[o+144>>2]=o+148;_[r>>2]=o;ln(e+152|0,r);i=i+1|0}u=r;return}function uh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,p=0.0,d=0;d=u;u=u+16|0;_[e>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;n=+a[i>>2];o=+a[i+4>>2];r=+a[i+8>>2];if(n*n+o*o+r*r<9.999999747378752e-05){p=1.0;f=0.0;l=0.0}else{l=1.0/+W(+(n*n+o*o+r*r));p=n*l;f=o*l;l=r*l}_[d>>2]=0;_[d+4>>2]=0;_[d+8>>2]=0;_[d+12>>2]=0;i=_[t+56>>2]|0;t=_[t+32+(i<<2)>>2]|0;_[d+(i<<2)>>2]=t;n=+a[d>>2];o=+a[d+4>>2];r=+a[d+8>>2];s=p*n+f*o+l*r;c=(_[b>>2]=t,+a[b>>2]);if(s>-999999984306749440.0){t=_[d+12>>2]|0;a[e>>2]=n;a[e+4>>2]=o;a[e+8>>2]=r;_[e+12>>2]=t}else s=-999999984306749440.0;_[d>>2]=0;_[d+4>>2]=0;_[d+8>>2]=0;_[d+12>>2]=0;a[d+(i<<2)>>2]=-c;n=+a[d>>2];o=+a[d+4>>2];r=+a[d+8>>2];if(!(p*n+f*o+l*r>s)){u=d;return}t=_[d+12>>2]|0;a[e>>2]=n;a[e+4>>2]=o;a[e+8>>2]=r;_[e+12>>2]=t;u=d;return}function vh(e,t){e=e|0;t=t|0;var i=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0;_[e+68>>2]=_[t>>2];_[e+68+4>>2]=_[t+4>>2];_[e+68+8>>2]=_[t+8>>2];_[e+68+12>>2]=_[t+12>>2];p=+a[e+68>>2];u=+a[e+72>>2];b=+a[e+76>>2];if(!(p*p+u*u+b*b>0.0)){a[e+20>>2]=0.0;return}l=+a[t>>2];f=+a[t+4>>2];i=+a[t+8>>2];r=1.0/+W(+(l*l+f*f+i*i));o=+a[e+256>>2];s=+a[e+260>>2];c=+a[e+264>>2];if(!(o*l*r+f*r*s+i*r*c!=0.0))return;d=o*l*r+f*r*s+i*r*c<-1.0?-1.0:o*l*r+f*r*s+i*r*c;d=+P(+(1.5707963705062866-+L(+(d>1.0?1.0:d))))*+W(+(p*p+u*u+b*b));a[e+68>>2]=p-o*d;a[e+72>>2]=u-s*d;a[e+76>>2]=b-c*d;a[e+20>>2]=(o*l*r+f*r*s+i*r*c<0.0?-1.0:1.0)*+W(+(c*d*c*d+(o*d*o*d+s*d*s*d)));if(!(o*l*r+f*r*s+i*r*c>0.0))return;n[e+249>>0]=1;t=(_[e+8>>2]|0)+52|0;_[e+116>>2]=_[t>>2];_[e+116+4>>2]=_[t+4>>2];_[e+116+8>>2]=_[t+8>>2];_[e+116+12>>2]=_[t+12>>2];return}function wh(e){e=e|0;var t=0;_[e>>2]=9124;t=_[e+160>>2]|0;if(t|0){if(n[e+164>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+160>>2]=0}n[e+164>>0]=1;_[e+160>>2]=0;_[e+152>>2]=0;_[e+156>>2]=0;t=_[e+136>>2]|0;if(t|0){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+136>>2]=0}n[e+140>>0]=1;_[e+136>>2]=0;_[e+128>>2]=0;_[e+132>>2]=0;t=_[e+116>>2]|0;if(t|0){if(n[e+120>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+116>>2]=0}n[e+120>>0]=1;_[e+116>>2]=0;_[e+108>>2]=0;_[e+112>>2]=0;t=_[e+96>>2]|0;if(t|0){if(n[e+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+96>>2]=0}n[e+100>>0]=1;_[e+96>>2]=0;_[e+88>>2]=0;_[e+92>>2]=0;t=_[e+76>>2]|0;if(!t){n[e+80>>0]=1;_[e+76>>2]=0;_[e+68>>2]=0;e=e+72|0;_[e>>2]=0;return}if(n[e+80>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+76>>2]=0;n[e+80>>0]=1;_[e+76>>2]=0;_[e+68>>2]=0;e=e+72|0;_[e>>2]=0;return}function xh(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0.0,s=0,c=0,l=0.0,f=0.0,b=0.0,p=0,d=0;d=u;u=u+16|0;if((n|0)<=0){u=d;return}p=0;do{o=+a[e+64>>2]*.5;s=_[e+72>>2]|0;l=+a[t+(p<<4)>>2];f=+a[t+(p<<4)+4>>2];b=+a[t+(p<<4)+8>>2];b=+W(+(l*l+f*f+b*b));c=_[e+68>>2]|0;do{if(!(+a[t+(p<<4)+(s<<2)>>2]>b*+a[e+56>>2])){l=+a[t+(p<<4)+(c<<2)>>2];r=_[e+76>>2]|0;f=+a[t+(p<<4)+(r<<2)>>2];b=+W(+(l*l+f*f));if(b>1.1920928955078125e-07){b=+a[e+60>>2]/b;a[d+(c<<2)>>2]=l*b;a[d+(s<<2)>>2]=-o;o=f*b;break}else{a[d+(c<<2)>>2]=0.0;a[d+(s<<2)>>2]=-o;o=0.0;break}}else{a[d+(c<<2)>>2]=0.0;a[d+(s<<2)>>2]=o;o=0.0;r=_[e+76>>2]|0}}while(0);a[d+(r<<2)>>2]=o;c=i+(p<<4)|0;_[c>>2]=_[d>>2];_[c+4>>2]=_[d+4>>2];_[c+8>>2]=_[d+8>>2];_[c+12>>2]=_[d+12>>2];p=p+1|0}while((p|0)!=(n|0));u=d;return}function yh(e){e=e|0;var t=0;_[e>>2]=4232;t=_[e+136>>2]|0;if(t|0){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+136>>2]=0}n[e+140>>0]=1;_[e+136>>2]=0;_[e+128>>2]=0;_[e+132>>2]=0;t=_[e+76>>2]|0;if(t|0){if(n[e+80>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+76>>2]=0}n[e+80>>0]=1;_[e+76>>2]=0;_[e+68>>2]=0;_[e+72>>2]=0;t=_[e+56>>2]|0;if(t|0){if(n[e+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+56>>2]=0}n[e+60>>0]=1;_[e+56>>2]=0;_[e+48>>2]=0;_[e+52>>2]=0;t=_[e+36>>2]|0;if(t|0){if(n[e+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+36>>2]=0}n[e+40>>0]=1;_[e+36>>2]=0;_[e+28>>2]=0;_[e+32>>2]=0;t=_[e+16>>2]|0;if(!t){n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}function zh(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0;u=(+a[e+36>>2]-+a[e+20>>2])*+a[e+112>>2]*.5;b=(+a[e+40>>2]-+a[e+24>>2])*+a[e+116>>2]*.5;l=(+a[e+44>>2]-+a[e+28>>2])*+a[e+120>>2]*.5;g=+G(+ +a[t>>2]);y=+G(+ +a[t+4>>2]);h=+G(+ +a[t+8>>2]);p=+G(+ +a[t+16>>2]);f=+G(+ +a[t+20>>2]);c=+G(+ +a[t+24>>2]);w=+G(+ +a[t+32>>2]);v=+G(+ +a[t+36>>2]);r=+G(+ +a[t+40>>2]);C=+a[t+48>>2];d=+a[t+52>>2];o=+a[t+56>>2];m=+Da[_[(_[e>>2]|0)+48>>2]&15](e);s=+Da[_[(_[e>>2]|0)+48>>2]&15](e);r=u*w+b*v+l*r+ +Da[_[(_[e>>2]|0)+48>>2]&15](e);a[i>>2]=C-(u*g+b*y+l*h+m);a[i+4>>2]=d-(u*p+b*f+l*c+s);a[i+8>>2]=o-r;a[i+12>>2]=0.0;a[n>>2]=C+(u*g+b*y+l*h+m);a[n+4>>2]=d+(u*p+b*f+l*c+s);a[n+8>>2]=o+r;a[n+12>>2]=0.0;return}function Ah(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0,j=0;r=u;u=u+16|0;S=_[e+56>>2]|0;j=_[e+32+(((S+2|0)%3|0)<<2)>>2]|0;_[r>>2]=j;_[r+4>>2]=j;_[r+8>>2]=j;a[r+12>>2]=0.0;a[r+(S<<2)>>2]=(_[b>>2]=j,+a[b>>2])+ +a[e+32+(S<<2)>>2];w=+G(+ +a[t>>2]);v=+G(+ +a[t+4>>2]);C=+G(+ +a[t+8>>2]);y=+G(+ +a[t+16>>2]);h=+G(+ +a[t+20>>2]);m=+G(+ +a[t+24>>2]);p=+G(+ +a[t+32>>2]);l=+G(+ +a[t+36>>2]);s=+G(+ +a[t+40>>2]);k=+a[t+48>>2];g=+a[t+52>>2];d=+a[t+56>>2];f=+a[r>>2];c=+a[r+4>>2];o=+a[r+8>>2];a[i>>2]=k-(w*f+v*c+C*o);a[i+4>>2]=g-(y*f+h*c+m*o);a[i+8>>2]=d-(p*f+l*c+s*o);a[i+12>>2]=0.0;a[n>>2]=k+(w*f+v*c+C*o);a[n+4>>2]=g+(y*f+h*c+m*o);a[n+8>>2]=d+(p*f+l*c+s*o);a[n+12>>2]=0.0;u=r;return}function Bh(e,t){e=e|0;t=t|0;var i=0,n=0;i=u;u=u+64|0;t=_[t+36>>2]|0;n=_[(_[e+24>>2]|0)+28>>2]|0;_[i>>2]=_[n+(t*80|0)>>2];_[i+4>>2]=_[n+(t*80|0)+4>>2];_[i+8>>2]=_[n+(t*80|0)+8>>2];_[i+12>>2]=_[n+(t*80|0)+12>>2];_[i+16>>2]=_[n+(t*80|0)+16>>2];_[i+16+4>>2]=_[n+(t*80|0)+16+4>>2];_[i+16+8>>2]=_[n+(t*80|0)+16+8>>2];_[i+16+12>>2]=_[n+(t*80|0)+16+12>>2];_[i+32>>2]=_[n+(t*80|0)+32>>2];_[i+32+4>>2]=_[n+(t*80|0)+32+4>>2];_[i+32+8>>2]=_[n+(t*80|0)+32+8>>2];_[i+32+12>>2]=_[n+(t*80|0)+32+12>>2];_[i+48>>2]=_[n+(t*80|0)+48>>2];_[i+48+4>>2]=_[n+(t*80|0)+48+4>>2];_[i+48+8>>2]=_[n+(t*80|0)+48+8>>2];_[i+48+12>>2]=_[n+(t*80|0)+48+12>>2];Cf(e,t,i,_[n+(t*80|0)+64>>2]|0);u=i;return}function Ch(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0,a=0,l=0;c=u;u=u+48|0;n=_[e+28>>2]|0;_[c+32>>2]=n;n=(_[e+20>>2]|0)-n|0;_[c+32+4>>2]=n;_[c+32+8>>2]=t;_[c+32+12>>2]=i;_[c>>2]=_[e+60>>2];_[c+4>>2]=c+32;_[c+8>>2]=2;r=OB(U_(146,c|0)|0)|0;e:do{if((n+i|0)!=(r|0)){t=2;o=n+i|0;n=c+32|0;while(1){if((r|0)<0)break;o=o-r|0;a=_[n+4>>2]|0;l=r>>>0>a>>>0;n=l?n+8|0:n;t=(l<<31>>31)+t|0;a=r-(l?a:0)|0;_[n>>2]=(_[n>>2]|0)+a;_[n+4>>2]=(_[n+4>>2]|0)-a;_[c+16>>2]=_[e+60>>2];_[c+16+4>>2]=n;_[c+16+8>>2]=t;r=OB(U_(146,c+16|0)|0)|0;if((o|0)==(r|0)){s=3;break e}}_[e+16>>2]=0;_[e+28>>2]=0;_[e+20>>2]=0;_[e>>2]=_[e>>2]|32;if((t|0)==2)i=0;else i=i-(_[n+4>>2]|0)|0}else s=3}while(0);if((s|0)==3){l=_[e+44>>2]|0;_[e+16>>2]=l+(_[e+48>>2]|0);_[e+28>>2]=l;_[e+20>>2]=l}u=c;return i|0}function Dh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0;n=_[t>>2]|0;if((n|0)==(_[e+84>>2]|0)){r=1.0;return+r}if(_[n+204>>2]&4|0){r=1.0;return+r}if((+a[e+32>>2]-+a[e+16>>2])*+a[t+8>>2]+(+a[e+36>>2]-+a[e+20>>2])*+a[t+12>>2]+(+a[e+40>>2]-+a[e+24>>2])*+a[t+16>>2]>=-+a[e+88>>2]){r=1.0;return+r}_[e+4>>2]=_[t+40>>2];_[e+80>>2]=n;if(i){_[e+48>>2]=_[t+8>>2];_[e+48+4>>2]=_[t+8+4>>2];_[e+48+8>>2]=_[t+8+8>>2];_[e+48+12>>2]=_[t+8+12>>2]}else{l=+a[t+8>>2];c=+a[t+12>>2];s=+a[t+16>>2];o=l*+a[n+20>>2]+c*+a[n+24>>2]+s*+a[n+28>>2];r=l*+a[n+36>>2]+c*+a[n+40>>2]+s*+a[n+44>>2];a[e+48>>2]=+a[n+4>>2]*l+ +a[n+8>>2]*c+ +a[n+12>>2]*s;a[e+52>>2]=o;a[e+56>>2]=r;a[e+60>>2]=0.0}_[e+64>>2]=_[t+24>>2];_[e+64+4>>2]=_[t+24+4>>2];_[e+64+8>>2]=_[t+24+8>>2];_[e+64+12>>2]=_[t+24+12>>2];l=+a[t+40>>2];return+l}function Eh(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,s=0,c=0,l=0;s=u;u=u+80|0;if((n|0)>0)r=0;else{u=s;return}do{a[i+(r<<4)+12>>2]=-999999984306749440.0;r=r+1|0}while((r|0)!=(n|0));o=s+32+4|0;r=0;do{c=t+(r<<4)|0;_[s+32>>2]=7052;_[o>>2]=0;_[o+4>>2]=0;_[o+8>>2]=0;_[o+12>>2]=0;a[s+32+20>>2]=-999999984306749440.0;_[s+32+24>>2]=_[c>>2];_[s+32+24+4>>2]=_[c+4>>2];_[s+32+24+8>>2]=_[c+8>>2];_[s+32+24+12>>2]=_[c+12>>2];_[s+16>>2]=1566444395;_[s+16+4>>2]=1566444395;_[s+16+8>>2]=1566444395;a[s+16+12>>2]=0.0;c=_[e+96>>2]|0;l=_[(_[c>>2]|0)+8>>2]|0;a[s>>2]=-999999984306749440.0;a[s+4>>2]=-999999984306749440.0;a[s+8>>2]=-999999984306749440.0;a[s+12>>2]=0.0;$a[l&127](c,s+32|0,s,s+16|0);c=i+(r<<4)|0;_[c>>2]=_[o>>2];_[c+4>>2]=_[o+4>>2];_[c+8>>2]=_[o+8>>2];_[c+12>>2]=_[o+12>>2];r=r+1|0}while((r|0)<(n|0));u=s;return}function Fh(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0,a=0,l=0;r=_[e+100>>2]|0;if((r|0)==(_[e+104>>2]|0)?(c=r|0?r<<1:1,(r|0)<(c|0)):0){if(!c)s=0;else{_[6293]=(_[6293]|0)+1;r=cc((c<<4|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}s=r;r=_[e+100>>2]|0}if((r|0)>0){o=0;do{a=s+(o<<4)|0;l=(_[e+108>>2]|0)+(o<<4)|0;_[a>>2]=_[l>>2];_[a+4>>2]=_[l+4>>2];_[a+8>>2]=_[l+8>>2];_[a+12>>2]=_[l+12>>2];o=o+1|0}while((o|0)!=(r|0))}r=_[e+108>>2]|0;if(r|0){if(n[e+112>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[e+108>>2]=0}n[e+112>>0]=1;_[e+108>>2]=s;_[e+104>>2]=c;r=_[e+100>>2]|0}l=(_[e+108>>2]|0)+(r<<4)|0;_[l>>2]=_[t>>2];_[l+4>>2]=_[t+4>>2];_[l+8>>2]=_[t+8>>2];_[l+12>>2]=_[t+12>>2];_[e+100>>2]=(_[e+100>>2]|0)+1;if(!i)return;vi(e);return}function Gh(e,t){e=e|0;t=t|0;var i=0,n=0,r=0;i=u;u=u+96|0;t=_[t>>2]|0;if((t|0)==(_[e+4>>2]|0)){u=i;return 1}n=_[e+12>>2]|0;if(!(Pa[_[(_[n>>2]|0)+8>>2]&31](n,_[t+188>>2]|0)|0)){u=i;return 1}n=_[e+4>>2]|0;r=_[n+192>>2]|0;_[i+64>>2]=0;_[i+64+4>>2]=r;_[i+64+8>>2]=n;_[i+64+12>>2]=n+4;_[i+64+16>>2]=-1;_[i+64+20>>2]=-1;n=_[t+192>>2]|0;_[i+40>>2]=0;_[i+40+4>>2]=n;_[i+40+8>>2]=t;_[i+40+12>>2]=t+4;_[i+40+16>>2]=-1;_[i+40+20>>2]=-1;t=_[(_[e+8>>2]|0)+24>>2]|0;t=wa[_[(_[t>>2]|0)+8>>2]&1](t,i+64|0,i+40|0,0,2)|0;if(t|0){r=_[e+12>>2]|0;_[i+4>>2]=0;_[i+8>>2]=i+64;_[i+12>>2]=i+40;a[i+32>>2]=0.0;_[i>>2]=5316;_[i+36>>2]=r;ba[_[(_[t>>2]|0)+8>>2]&31](t,i+64|0,i+40|0,(_[e+8>>2]|0)+28|0,i);ua[_[_[t>>2]>>2]&511](t);r=_[(_[e+8>>2]|0)+24>>2]|0;ma[_[(_[r>>2]|0)+60>>2]&127](r,t)}u=i;return 1}function Hh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0,o=0,s=0,c=0,l=0;l=u;u=u+96|0;s=_[_[e>>2]>>2]|0;o=_[_[e+4>>2]>>2]|0;if(!(xa[_[(_[t>>2]|0)+24>>2]&63](t,s,o)|0)){u=l;return}r=_[s+192>>2]|0;_[l+64>>2]=0;_[l+64+4>>2]=r;_[l+64+8>>2]=s;_[l+64+12>>2]=s+4;_[l+64+16>>2]=-1;_[l+64+20>>2]=-1;r=_[o+192>>2]|0;_[l+40>>2]=0;_[l+40+4>>2]=r;_[l+40+8>>2]=o;_[l+40+12>>2]=o+4;_[l+40+16>>2]=-1;_[l+40+20>>2]=-1;r=_[e+8>>2]|0;if(!r){r=wa[_[(_[t>>2]|0)+8>>2]&1](t,l+64|0,l+40|0,0,1)|0;_[e+8>>2]=r;if(r|0)c=4}else c=4;if((c|0)==4){_[l>>2]=5692;_[l+4>>2]=0;_[l+8>>2]=l+64;_[l+12>>2]=l+40;a[l+32>>2]=0.0;if((_[i+8>>2]|0)!=1){n=+Ra[_[(_[r>>2]|0)+12>>2]&15](r,s,o,i,l);if(+a[i+12>>2]>n)a[i+12>>2]=n}else ba[_[(_[r>>2]|0)+8>>2]&31](r,l+64|0,l+40|0,i,l)}u=l;return}function Ih(e,t){e=e|0;t=t|0;var i=0.0,n=0,r=0.0,o=0.0,s=0.0,c=0.0;_[e+4>>2]=35;_[e+8>>2]=0;_[e+12>>2]=-1;_[e+16>>2]=1065353216;_[e+20>>2]=1065353216;_[e+24>>2]=1065353216;a[e+28>>2]=0.0;a[e+48>>2]=.03999999910593033;_[e>>2]=7072;_[e+56>>2]=1;r=+a[t+4>>2]+-.03999999910593033;i=+a[t+8>>2]+-.03999999910593033;a[e+32>>2]=+a[t>>2]+-.03999999910593033;a[e+36>>2]=r;a[e+40>>2]=i;a[e+44>>2]=0.0;n=!(+a[t>>2]<+a[t+4>>2])&1;i=+a[t+((+a[t+(n<<2)>>2]<+a[t+8>>2]?n:2)<<2)>>2]*.10000000149011612;if(!(i<.03999999910593033)){_[e+4>>2]=13;return}c=+NE(e);o=+Da[_[(_[e>>2]|0)+48>>2]&15](e);r=+Da[_[(_[e>>2]|0)+48>>2]&15](e);c=c+ +a[e+32>>2];o=o+ +a[e+36>>2];r=r+ +a[e+40>>2];a[e+48>>2]=i;s=+Da[_[(_[e>>2]|0)+48>>2]&15](e);i=+Da[_[(_[e>>2]|0)+48>>2]&15](e);r=r-+Da[_[(_[e>>2]|0)+48>>2]&15](e);a[e+32>>2]=c-s;a[e+36>>2]=o-i;a[e+40>>2]=r;a[e+44>>2]=0.0;_[e+4>>2]=13;return}function Jh(e){e=e|0;var t=0.0,i=0,n=0,r=0.0,o=0.0,s=0.0,c=0.0;i=Bs()|0;_[i+8>>2]=0;_[i+12>>2]=-1;_[i+16>>2]=1065353216;_[i+20>>2]=1065353216;_[i+24>>2]=1065353216;a[i+28>>2]=0.0;a[i+48>>2]=.03999999910593033;_[i+56>>2]=0;_[i>>2]=5820;_[i+4>>2]=0;r=+a[e+4>>2]+-.03999999910593033;t=+a[e+8>>2]+-.03999999910593033;a[i+32>>2]=+a[e>>2]+-.03999999910593033;a[i+36>>2]=r;a[i+40>>2]=t;a[i+44>>2]=0.0;n=!(+a[e>>2]<+a[e+4>>2])&1;t=+a[e+((+a[e+(n<<2)>>2]<+a[e+8>>2]?n:2)<<2)>>2]*.10000000149011612;if(!(t<.03999999910593033))return i|0;c=+NE(i);o=+Da[_[(_[i>>2]|0)+48>>2]&15](i);r=+Da[_[(_[i>>2]|0)+48>>2]&15](i);c=c+ +a[i+32>>2];o=o+ +a[i+36>>2];r=r+ +a[i+40>>2];a[i+48>>2]=t;s=+Da[_[(_[i>>2]|0)+48>>2]&15](i);t=+Da[_[(_[i>>2]|0)+48>>2]&15](i);r=r-+Da[_[(_[i>>2]|0)+48>>2]&15](i);a[i+32>>2]=c-s;a[i+36>>2]=o-t;a[i+40>>2]=r;a[i+44>>2]=0.0;return i|0}function Kh(e,t,i,r){e=e|0;t=+t;i=i|0;r=+r;var o=0,s=0.0,c=0;ea(_[6872]|0,0)|0;if(i){a[e+284>>2]=r;s=+a[e+280>>2]+t;a[e+280>>2]=s;if(!(s>=r)){t=r;c=0}else{a[e+280>>2]=s-+(~~(s/r)|0)*r;t=r;c=~~(s/r)}}else{a[e+280>>2]=n[e+316>>0]|0?0.0:t;a[e+284>>2]=0.0;c=!(+G(+t)<1.1920928955078125e-07)&1;i=c}if(ya[_[(_[e>>2]|0)+20>>2]&127](e)|0){o=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;n[28068]=(ya[_[(_[o>>2]|0)+56>>2]&127](o)|0)>>>4&1}if(c){o=(c|0)>(i|0)?i:c;pa[_[(_[e>>2]|0)+168>>2]&31](e,t*+(o|0));ua[_[(_[e>>2]|0)+176>>2]&511](e);if((o|0)>0){i=0;do{pa[_[(_[e>>2]|0)+160>>2]&31](e,t);ua[_[(_[e>>2]|0)+80>>2]&511](e);i=i+1|0}while((i|0)<(o|0));i=e}else i=e}else{ua[_[(_[e>>2]|0)+80>>2]&511](e);i=e}ua[_[(_[i>>2]|0)+120>>2]&511](e);_[6871]=(_[6871]|0)+1;return c|0}function Lh(e){e=e|0;var t=0,i=0,r=0;_[e>>2]=9208;i=_[e+52>>2]|0;if((i|0)>0){t=0;do{r=_[(_[e+60>>2]|0)+(t<<2)>>2]|0;if(r|0){ua[_[_[r>>2]>>2]&511](r);r=_[e+4>>2]|0;ma[_[(_[r>>2]|0)+60>>2]&127](r,_[(_[e+60>>2]|0)+(t<<2)>>2]|0)}t=t+1|0}while((t|0)!=(i|0))}t=_[e+60>>2]|0;if(t|0){if(n[e+64>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+60>>2]=0}n[e+64>>0]=1;_[e+60>>2]=0;_[e+52>>2]=0;_[e+56>>2]=0;t=_[e+40>>2]|0;if(t|0){if(n[e+44>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+40>>2]=0}n[e+44>>0]=1;_[e+40>>2]=0;_[e+32>>2]=0;_[e+36>>2]=0;t=_[e+20>>2]|0;if(!t){n[e+24>>0]=1;_[e+20>>2]=0;_[e+12>>2]=0;e=e+16|0;_[e>>2]=0;return}if(n[e+24>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+20>>2]=0;n[e+24>>0]=1;_[e+20>>2]=0;_[e+12>>2]=0;e=e+16|0;_[e>>2]=0;return}function Mh(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0.0,s=0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0,m=0,h=0,y=0.0,g=0;if((n|0)>0)r=0;else return;do{a[i+(r<<4)+12>>2]=-999999984306749440.0;r=r+1|0}while((r|0)!=(n|0));h=0;do{c=+a[e+16>>2];l=+a[t+(h<<4)>>2]*c;f=+a[e+20>>2];b=+a[t+(h<<4)+4>>2]*f;p=+a[e+24>>2];u=+a[t+(h<<4)+8>>2]*p;d=_[e+100>>2]|0;if((d|0)>0){m=_[e+108>>2]|0;r=-1;s=0;o=-3402823466385288598117041.0e14;do{y=l*+a[m+(s<<4)>>2]+b*+a[m+(s<<4)+4>>2]+u*+a[m+(s<<4)+8>>2];g=y>o;r=g?s:r;o=g?y:o;s=s+1|0}while((s|0)!=(d|0));u=+a[m+(r<<4)+4>>2]*f;y=+a[m+(r<<4)+8>>2]*p;a[i+(h<<4)>>2]=+a[m+(r<<4)>>2]*c;a[i+(h<<4)+4>>2]=u;a[i+(h<<4)+8>>2]=y}else o=-999999984306749440.0;a[i+(h<<4)+12>>2]=o;h=h+1|0}while((h|0)!=(n|0));return}function Nh(e,t,i,n,r,_,o,s,c,l,f){e=e|0;t=t|0;i=+i;n=+n;r=+r;_=+_;o=+o;s=+s;c=c|0;l=l|0;f=+f;var b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0;k=+a[e>>2]*_+ +a[e+16>>2]*o+ +a[e+32>>2]*s;v=+a[e+4>>2]*_+ +a[e+20>>2]*o+ +a[e+36>>2]*s;g=+a[e+8>>2]*_+ +a[e+24>>2]*o+ +a[e+40>>2]*s;y=+a[t>>2]*_+ +a[t+16>>2]*o+ +a[t+32>>2]*s;m=+a[t+4>>2]*_+ +a[t+20>>2]*o+ +a[t+36>>2]*s;u=+a[t+8>>2]*_+ +a[t+24>>2]*o+ +a[t+40>>2]*s;w=+a[c+80>>2];C=+a[c+84>>2];d=+a[c+88>>2];h=+a[l+80>>2];b=+a[l+84>>2];p=+a[l+88>>2];d=k*(k<0.0?-w:w)+v*(v<0.0?-C:C)+g*(g<0.0?-d:d);p=y*(y<0.0?-h:h)+m*(m<0.0?-b:b)+u*(u<0.0?-p:p);u=+a[c+96>>2];b=+a[l+96>>2];b=(d>u?d:u)+(p>b?p:b);return!((i*_+n*o+r*s+b<b-(i*_+n*o+r*s)?i*_+n*o+r*s+b:b-(i*_+n*o+r*s))>f)|0}function Oh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0;while(1){b=_[e+12>>2]|0;p=_[b+(((t+i|0)/2|0)<<2)>>2]|0;r=t;n=i;while(1){f=_[p+772>>2]|0;f=_[((_[f+208>>2]|0)>-1?f:_[p+776>>2]|0)+208>>2]|0;while(1){s=b+(r<<2)|0;c=_[s>>2]|0;l=_[c+772>>2]|0;a=r+1|0;if((_[((_[l+208>>2]|0)>-1?l:_[c+776>>2]|0)+208>>2]|0)<(f|0))r=a;else break}while(1){o=_[b+(n<<2)>>2]|0;u=_[o+772>>2]|0;l=n+-1|0;if((f|0)<(_[((_[u+208>>2]|0)>-1?u:_[o+776>>2]|0)+208>>2]|0))n=l;else break}if((r|0)<=(n|0)){_[s>>2]=o;_[(_[e+12>>2]|0)+(n<<2)>>2]=c;r=a;n=l}if((r|0)>(n|0))break;b=_[e+12>>2]|0}if((n|0)>(t|0))Oh(e,t,n);if((r|0)<(i|0))t=r;else break}return}function Ph(e){e=e|0;var t=0,i=0,r=0,o=0,s=0,c=0,a=0;_[e>>2]=4492;if(n[e+152>>0]|0?(t=_[e+96>>2]|0,ua[_[_[t>>2]>>2]&511](t),t=_[e+96>>2]|0,t|0):0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}r=_[e+160>>2]|0;if((r|0)>0){t=0;do{o=_[e+168>>2]|0;s=o+(t*20|0)+4|0;c=o+(t*20|0)+12|0;a=_[c>>2]|0;i=o+(t*20|0)+16|0;if(a|0){if(n[i>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[a+-4>>2]|0)}_[c>>2]=0}n[i>>0]=1;_[c>>2]=0;_[s>>2]=0;_[o+(t*20|0)+8>>2]=0;t=t+1|0}while((t|0)!=(r|0))}t=_[e+168>>2]|0;if(!t){n[e+172>>0]=1;_[e+168>>2]=0;_[e+160>>2]=0;a=e+164|0;_[a>>2]=0;a=e+4|0;e=e+44|0;Ak(e);Ak(a);return}if(n[e+172>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+168>>2]=0;n[e+172>>0]=1;_[e+168>>2]=0;_[e+160>>2]=0;a=e+164|0;_[a>>2]=0;a=e+4|0;e=e+44|0;Ak(e);Ak(a);return}function Qh(e){e=e|0;var t=0,i=0,r=0,o=0;_[e>>2]=4664;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;_[e+24>>2]=0;n[e+44>>0]=1;_[e+40>>2]=0;_[e+32>>2]=0;_[e+36>>2]=0;n[e+64>>0]=1;_[e+60>>2]=0;_[e+52>>2]=0;_[e+56>>2]=0;_[e+68>>2]=0;_[6293]=(_[6293]|0)+1;t=cc(51)|0;if(!t)r=0;else{_[(t+4+15&-16)+-4>>2]=t;r=t+4+15&-16}i=_[e+8>>2]|0;if((i|0)>0){t=0;do{o=_[e+16>>2]|0;_[r+(t<<4)>>2]=_[o+(t<<4)>>2];_[r+(t<<4)+4>>2]=_[o+(t<<4)+4>>2];_[r+(t<<4)+8>>2]=_[o+(t<<4)+8>>2];_[r+(t<<4)+12>>2]=_[o+(t<<4)+12>>2];t=t+1|0}while((t|0)!=(i|0))}t=_[e+16>>2]|0;if(!t){n[e+20>>0]=1;_[e+16>>2]=r;_[e+12>>2]=2;cf(e);return}if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0;n[e+20>>0]=1;_[e+16>>2]=r;_[e+12>>2]=2;cf(e);return}function Rh(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0;o=_[t>>2]|0;t=_[e+328>>2]|0;e:do{if((t|0)>0){r=_[e+336>>2]|0;i=0;while(1){if((_[r+(i<<2)>>2]|0)==(o|0))break;i=i+1|0;if((i|0)>=(t|0))break e}if((i|0)!=(t|0))return}}while(0);if((t|0)==(_[e+332>>2]|0)?(s=t|0?t<<1:1,(t|0)<(s|0)):0){if(!s)r=0;else{_[6293]=(_[6293]|0)+1;t=cc((s<<2|3)+16|0)|0;if(!t)t=0;else{_[(t+4+15&-16)+-4>>2]=t;t=t+4+15&-16}r=t;t=_[e+328>>2]|0}if((t|0)>0){i=0;do{_[r+(i<<2)>>2]=_[(_[e+336>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(t|0))}i=_[e+336>>2]|0;if(i){if(n[e+340>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);t=_[e+328>>2]|0}_[e+336>>2]=0}n[e+340>>0]=1;_[e+336>>2]=r;_[e+332>>2]=s}_[(_[e+336>>2]|0)+(t<<2)>>2]=o;_[e+328>>2]=t+1;return}function Sh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0;while(1){b=_[e+12>>2]|0;p=_[b+(((t+i|0)/2|0)<<2)>>2]|0;r=t;n=i;while(1){f=_[p+28>>2]|0;f=_[((_[f+208>>2]|0)>-1?f:_[p+32>>2]|0)+208>>2]|0;while(1){s=b+(r<<2)|0;c=_[s>>2]|0;l=_[c+28>>2]|0;a=r+1|0;if((_[((_[l+208>>2]|0)>-1?l:_[c+32>>2]|0)+208>>2]|0)<(f|0))r=a;else break}while(1){o=_[b+(n<<2)>>2]|0;u=_[o+28>>2]|0;l=n+-1|0;if((f|0)<(_[((_[u+208>>2]|0)>-1?u:_[o+32>>2]|0)+208>>2]|0))n=l;else break}if((r|0)<=(n|0)){_[s>>2]=o;_[(_[e+12>>2]|0)+(n<<2)>>2]=c;r=a;n=l}if((r|0)>(n|0))break;b=_[e+12>>2]|0}if((n|0)>(t|0))Sh(e,t,n);if((r|0)<(i|0))t=r;else break}return}function Th(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,s=0;o=_[e+12>>2]|0;if(o|0){s=_[e+4>>2]|0;ma[_[(_[s>>2]|0)+16>>2]&127](s,o);_[e+12>>2]=0}o=_[e+8>>2]|0;if(o|0){ua[_[_[o>>2]>>2]&511](o);s=_[e+4>>2]|0;ma[_[(_[s>>2]|0)+60>>2]&127](s,_[e+8>>2]|0);_[e+8>>2]=0}_[e+24>>2]=-1;_[e+24+4>>2]=-1;_[e+24+8>>2]=-1;_[e+24+12>>2]=-1;_[e+16>>2]=r;_[e+20>>2]=n;n=_[t+4>>2]|0;if((_[n+4>>2]|0)!=25){o=_[i+4>>2]|0;if((_[o+4>>2]|0)!=25)return;mc(e,i,t,o,n,1);return}o=_[i+4>>2]|0;if((_[o+4>>2]|0)==25){rc(e,t,i,n,o);return}else{mc(e,t,i,n,o,0);return}}function Uh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0;n=u;u=u+80|0;a[n+64>>2]=.009999999776482582;Za[_[(_[e>>2]|0)+20>>2]&127](e,t,n);o=+a[n+64>>2];b=+a[n>>2];y=+a[n+16>>2];c=+a[n+32>>2];t=y>c?n+32|0:n+16|0;s=+a[n+4>>2];h=+a[n+20>>2];m=+a[n+36>>2];e=h>m?n+32|0:n+16|0;f=+a[(s>+a[e+4>>2]?e:n)+4>>2];r=+a[n+8>>2];d=+a[n+24>>2];p=+a[n+40>>2];e=d>p?n+32|0:n+16|0;l=+a[(r>+a[e+8>>2]?e:n)+8>>2];e=y<c?n+32|0:n+16|0;c=+a[(b<+a[e>>2]?e:n)>>2];e=h<m?n+32|0:n+16|0;s=+a[(s<+a[e+4>>2]?e:n)+4>>2];e=d<p?n+32|0:n+16|0;r=+a[(r<+a[e+8>>2]?e:n)+8>>2];a[i>>2]=+a[(b>+a[t>>2]?t:n)>>2]-o;a[i+4>>2]=f-o;a[i+8>>2]=l-o;a[i+16>>2]=o+c;a[i+20>>2]=o+s;a[i+24>>2]=o+r;u=n;return}function Vh(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0;do{if(!(rC(e,_[t+8>>2]|0)|0)){if(!(rC(e,_[t>>2]|0)|0)){s=_[e+8>>2]|0;ba[_[(_[s>>2]|0)+24>>2]&31](s,t,i,r,o);break}if((_[t+16>>2]|0)!=(i|0)?(_[t+20>>2]|0)!=(i|0):0){_[t+32>>2]=r;if((_[t+44>>2]|0)==4)break;n[t+52>>0]=0;n[t+53>>0]=0;r=_[e+8>>2]|0;Ia[_[(_[r>>2]|0)+20>>2]&7](r,t,i,i,1,o);if(n[t+53>>0]|0)if(!(n[t+52>>0]|0)){e=3;s=11}else e=3;else{e=4;s=11}if((s|0)==11){_[t+20>>2]=i;_[t+40>>2]=(_[t+40>>2]|0)+1;if((_[t+36>>2]|0)==1?(_[t+24>>2]|0)==2:0)n[t+54>>0]=1}_[t+44>>2]=e;break}if((r|0)==1)_[t+32>>2]=1}else nr(t,i,r)}while(0);return}function Wh(e,t,i){e=e|0;t=+t;i=i|0;var n=0,r=0,o=0,s=0,c=0.0,l=0.0,f=0.0;s=u;u=u+16|0;_[s>>2]=_[e+32>>2];_[s+4>>2]=_[e+32+4>>2];_[s+8>>2]=_[e+32+8>>2];_[s+12>>2]=_[e+32+12>>2];f=+Da[_[(_[e>>2]|0)+48>>2]&15](e);l=+Da[_[(_[e>>2]|0)+48>>2]&15](e);c=+Da[_[(_[e>>2]|0)+48>>2]&15](e);a[s>>2]=f+ +a[s>>2];a[s+4>>2]=l+ +a[s+4>>2];a[s+8>>2]=c+ +a[s+8>>2];r=_[e+56>>2]|0;switch(r|0){case 0:{e=0;n=1;break}case 2:{e=2;n=0;break}default:{e=1;n=0}}f=+a[s+(n<<2)>>2];l=+a[s+(e<<2)>>2];o=(a[b>>2]=t*.25*f*f+t/12.0*l*l*4.0,_[b>>2]|0);e=(a[b>>2]=t*.5*f*f,_[b>>2]|0);switch(r|0){case 0:{n=o;r=o;break}case 2:{n=e;r=o;e=o;break}default:{n=o;r=e;e=o}}_[i>>2]=e;_[i+4>>2]=r;_[i+8>>2]=n;a[i+12>>2]=0.0;u=s;return}function Xh(e){e=e|0;var t=0,i=0;t=_[e+92>>2]|0;if(t|0){if(n[e+96>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+92>>2]=0}n[e+96>>0]=1;_[e+92>>2]=0;_[e+84>>2]=0;_[e+88>>2]=0;t=_[e+64>>2]|0;if(t|0)do{_[e+64>>2]=_[t+8>>2];i=_[t>>2]|0;if(i|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);t=_[e+64>>2]|0}while((t|0)!=0);t=_[e+48>>2]|0;if(t|0)do{_[e+48>>2]=_[t+8>>2];i=_[t>>2]|0;if(i|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);t=_[e+48>>2]|0}while((t|0)!=0);t=_[e+32>>2]|0;if(!t)return;do{_[e+32>>2]=_[t+8>>2];i=_[t>>2]|0;if(i|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);t=_[e+32>>2]|0}while((t|0)!=0);return}function Yh(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0,a=0;c=_[t>>2]|0;c=Pa[_[(_[c>>2]|0)+56>>2]&31](c,28)|0;a=(n[e+4>>0]|0)==0;s=_[e+8>>2]|0;o=_[e+12>>2]|0;e=_[t>>2]|0;_[c+4>>2]=e;_[c>>2]=9536;n[c+8>>0]=0;_[c+12>>2]=0;if(a){n[c+16>>0]=0;_[c+20>>2]=s;_[c+24>>2]=o;if(!(xa[_[(_[e>>2]|0)+24>>2]&63](e,_[i+8>>2]|0,_[r+8>>2]|0)|0))return c|0;a=_[c+4>>2]|0;_[c+12>>2]=xa[_[(_[a>>2]|0)+12>>2]&63](a,_[i+8>>2]|0,_[r+8>>2]|0)|0;n[c+8>>0]=1;return c|0}else{n[c+16>>0]=1;_[c+20>>2]=s;_[c+24>>2]=o;if(!(xa[_[(_[e>>2]|0)+24>>2]&63](e,_[r+8>>2]|0,_[i+8>>2]|0)|0))return c|0;a=_[c+4>>2]|0;_[c+12>>2]=xa[_[(_[a>>2]|0)+12>>2]&63](a,_[r+8>>2]|0,_[i+8>>2]|0)|0;n[c+8>>0]=1;return c|0}return 0}function Zh(e,t,i,r,o,s){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;var c=0,a=0,l=0,f=0;if(rC(e,_[t+8>>2]|0)|0)lk(t,i,r,o);else{a=n[t+52>>0]|0;l=n[t+53>>0]|0;f=_[e+12>>2]|0;n[t+52>>0]=0;n[t+53>>0]=0;Pm(e+16|0,t,i,r,o,s);e:do{if((f|0)>1){c=e+24|0;do{if(n[t+54>>0]|0)break e;if(!(n[t+52>>0]|0)){if(n[t+53>>0]|0?(_[e+8>>2]&1|0)==0:0)break e}else{if((_[t+24>>2]|0)==1)break e;if(!(_[e+8>>2]&2))break e}n[t+52>>0]=0;n[t+53>>0]=0;Pm(c,t,i,r,o,s);c=c+8|0}while(c>>>0<(e+16+(f<<3)|0)>>>0)}}while(0);n[t+52>>0]=a;n[t+53>>0]=l}return}function _h(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0;p=(_[e>>2]|0)+1794895138|0;r=Xz(_[e+8>>2]|0,p)|0;l=Xz(_[e+12>>2]|0,p)|0;b=Xz(_[e+16>>2]|0,p)|0;e:do{if((r>>>0<t>>>2>>>0?l>>>0<(t-(r<<2)|0)>>>0&b>>>0<(t-(r<<2)|0)>>>0:0)?((b|l)&3|0)==0:0){a=0;while(1){c=r>>>1;f=a+c|0;o=Xz(_[e+((f<<1)+(l>>>2)<<2)>>2]|0,p)|0;s=Xz(_[e+((f<<1)+(l>>>2)+1<<2)>>2]|0,p)|0;if(!(s>>>0<t>>>0&o>>>0<(t-s|0)>>>0)){r=0;break e}if(n[e+(s+o)>>0]|0){r=0;break e}o=Jn(i,e+s|0)|0;if(!o)break;if((r|0)==1){r=0;break e}else{a=(o|0)<0?a:f;r=(o|0)<0?c:r-c|0}}o=Xz(_[e+((f<<1)+(b>>>2)<<2)>>2]|0,p)|0;r=Xz(_[e+((f<<1)+(b>>>2)+1<<2)>>2]|0,p)|0;if(r>>>0<t>>>0&o>>>0<(t-r|0)>>>0)r=(n[e+(r+o)>>0]|0)==0?e+r|0:0;else r=0}else r=0}while(0);return r|0}function $h(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0.0,c=0.0,l=0,f=0;r=u;u=u+48|0;if((_[e+128>>2]|0)<=0){u=r;return}i=0;do{f=_[e+136>>2]|0;_[r+32>>2]=(n[f+(i*284|0)+84>>0]|0)==0?1065353216:0;_[r+32+4>>2]=0;_[r+32+8>>2]=1065353216;a[r+32+12>>2]=0.0;l=f+(i*284|0)+140|0;_[r+16>>2]=_[l>>2];_[r+16+4>>2]=_[l+4>>2];_[r+16+8>>2]=_[l+8>>2];_[r+16+12>>2]=_[l+12>>2];l=_[e+112>>2]|0;o=_[(_[t>>2]|0)+16>>2]|0;c=+a[f+(i*284|0)+108+(l<<2)>>2]+ +a[r+16+4>>2];s=+a[f+(i*284|0)+124+(l<<2)>>2]+ +a[r+16+8>>2];a[r>>2]=+a[f+(i*284|0)+92+(l<<2)>>2]+ +a[r+16>>2];a[r+4>>2]=c;a[r+8>>2]=s;a[r+12>>2]=0.0;$a[o&127](t,r+16|0,r,r+32|0);$a[_[(_[t>>2]|0)+16>>2]&127](t,r+16|0,(_[e+136>>2]|0)+(i*284|0)+16|0,r+32|0);i=i+1|0}while((i|0)<(_[e+128>>2]|0));u=r;return}function ai(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;switch(t|0){case 2:{if((n|0)<1){a[e+232>>2]=i;_[e+300>>2]=_[e+300>>2]|512;return}if((n|0)<3){a[e+264>>2]=i;_[e+300>>2]=_[e+300>>2]|32;return}if((n|0)==3){a[e+248>>2]=i;_[e+300>>2]=_[e+300>>2]|2048;return}if((n|0)>=6)return;a[e+280>>2]=i;_[e+300>>2]=_[e+300>>2]|128;return}case 3:{if((n|0)<1){a[e+212>>2]=i;_[e+300>>2]=_[e+300>>2]|1;return}if((n|0)!=3)return;a[e+228>>2]=i;_[e+300>>2]=_[e+300>>2]|4;return}case 4:{if((n|0)<1){a[e+244>>2]=i;_[e+300>>2]=_[e+300>>2]|256;return}if((n|0)<3){a[e+276>>2]=i;_[e+300>>2]=_[e+300>>2]|16;return}if((n|0)==3){a[e+260>>2]=i;_[e+300>>2]=_[e+300>>2]|1024;return}if((n|0)>=6)return;a[e+292>>2]=i;_[e+300>>2]=_[e+300>>2]|64;return}default:return}}function bi(e,t,i){e=e|0;t=+t;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0;n=u;u=u+96|0;_[n+32>>2]=1065353216;_[n+32+4>>2]=0;_[n+32+4+4>>2]=0;_[n+32+4+8>>2]=0;_[n+32+4+12>>2]=0;_[n+32+20>>2]=1065353216;_[n+32+24>>2]=0;_[n+32+24+4>>2]=0;_[n+32+24+8>>2]=0;_[n+32+24+12>>2]=0;_[n+32+40>>2]=1065353216;l=n+32+44|0;_[l>>2]=0;_[l+4>>2]=0;_[l+8>>2]=0;_[l+12>>2]=0;_[l+16>>2]=0;$a[_[(_[e>>2]|0)+8>>2]&127](e,n+32|0,n+16|0,n);s=(+a[n>>2]-+a[n+16>>2])*.5;o=(+a[n+4>>2]-+a[n+16+4>>2])*.5;c=(+a[n+8>>2]-+a[n+16+8>>2])*.5;r=+Da[_[(_[e>>2]|0)+48>>2]&15](e);a[i>>2]=t*.0833333283662796*((o+r)*2.0*(o+r)*2.0+(c+r)*2.0*(c+r)*2.0);a[i+4>>2]=t*.0833333283662796*((s+r)*2.0*(s+r)*2.0+(c+r)*2.0*(c+r)*2.0);a[i+8>>2]=t*.0833333283662796*((s+r)*2.0*(s+r)*2.0+(o+r)*2.0*(o+r)*2.0);a[i+12>>2]=0.0;u=n;return}function ci(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;if(n>>>0<3)switch(t|0){case 2:{a[e+728+(n<<2)>>2]=i;_[e+1456>>2]=_[e+1456>>2]|2<<(n<<2);return}case 4:{a[e+744+(n<<2)>>2]=i;_[e+1456>>2]=_[e+1456>>2]|1<<(n<<2);return}case 1:{a[e+760+(n<<2)>>2]=i;_[e+1456>>2]=_[e+1456>>2]|8<<(n<<2);return}case 3:{a[e+776+(n<<2)>>2]=i;_[e+1456>>2]=_[e+1456>>2]|4<<(n<<2);return}default:return}if((n+-3|0)>>>0>=3)return;switch(t|0){case 2:{a[e+968+((n+-3|0)*88|0)+12>>2]=i;_[e+1456>>2]=_[e+1456>>2]|2<<(n<<2);return}case 4:{a[e+968+((n+-3|0)*88|0)+16>>2]=i;_[e+1456>>2]=_[e+1456>>2]|1<<(n<<2);return}case 1:{a[e+968+((n+-3|0)*88|0)+20>>2]=i;_[e+1456>>2]=_[e+1456>>2]|8<<(n<<2);return}case 3:{a[e+968+((n+-3|0)*88|0)+24>>2]=i;_[e+1456>>2]=_[e+1456>>2]|4<<(n<<2);return}default:return}}function di(e,t,i){e=e|0;t=t|0;i=i|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0;o=+a[e+52>>2];s=+a[e+56>>2];r=+a[e+60>>2];if(!(n[e+84>>0]|0)){_[e+32>>2]=_[e+204>>2];a[e>>2]=-o;a[e+4>>2]=-s;a[e+8>>2]=-r;a[e+12>>2]=0.0;o=0.0;s=1.0;t=e+272|0;a[t>>2]=o;t=e+268|0;a[t>>2]=s;return}else{b=+a[e>>2];f=+a[e+4>>2];l=+a[e+8>>2];p=+a[e+16>>2]-+a[t+52>>2];d=+a[e+20>>2]-+a[t+56>>2];m=+a[e+24>>2]-+a[t+60>>2];c=+a[t+392>>2];h=+a[t+396>>2];u=+a[t+388>>2];c=!(b*o+f*s+l*r>=-.10000000149011612)?-1.0/(b*o+f*s+l*r)*(b*(c*m-d*h+ +a[t+372>>2])+f*(+a[t+376>>2]+(p*h-m*u))+l*(d*u-p*c+ +a[t+380>>2])):0.0;s=!(b*o+f*s+l*r>=-.10000000149011612)?-1.0/(b*o+f*s+l*r):10.0;t=e+272|0;a[t>>2]=c;t=e+268|0;a[t>>2]=s;return}}function ei(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;var r=0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0;r=u;u=u+96|0;c=+a[i>>2];l=+a[i+4>>2];f=+a[i+8>>2];Lp(r+80|0,c,l,f,+fx(c,l,f,+a[t>>2],+a[t+4>>2],+a[t+8>>2]));f=+a[r+80>>2];l=+a[r+80+4>>2];c=+a[r+80+8>>2];ap(r+64|0,+a[t>>2],+a[t+4>>2],+a[t+8>>2],f,l,c);to(r+48|0,+a[i>>2],+a[i+4>>2],+a[i+8>>2],+a[t>>2],+a[t+4>>2],+a[t+8>>2]);s=+a[r+48>>2];o=+a[r+48+4>>2];_=+a[r+48+8>>2];b=+iH(n);Lp(r+16|0,+a[r+64>>2],+a[r+64+4>>2],+a[r+64+8>>2],b);_o(r+32|0,f,l,c,+a[r+16>>2],+a[r+16+4>>2],+a[r+16+8>>2]);Lp(r,s,o,_,+hH(n));_o(e,+a[r+32>>2],+a[r+32+4>>2],+a[r+32+8>>2],+a[r>>2],+a[r+4>>2],+a[r+8>>2]);u=r;return}function fi(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0;r=_[e+228>>2]|0;if((r|0)==(_[e+232>>2]|0)?(c=r|0?r<<1:1,(r|0)<(c|0)):0){if(!c)s=0;else{_[6293]=(_[6293]|0)+1;r=cc((c<<2|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}s=r;r=_[e+228>>2]|0}if((r|0)>0){o=0;do{_[s+(o<<2)>>2]=_[(_[e+236>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(r|0))}o=_[e+236>>2]|0;if(o){if(n[e+240>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);r=_[e+228>>2]|0}_[e+236>>2]=0}n[e+240>>0]=1;_[e+236>>2]=s;_[e+232>>2]=c}_[(_[e+236>>2]|0)+(r<<2)>>2]=t;_[e+228>>2]=r+1;if(!i)return;Be(_[t+28>>2]|0,t);Be(_[t+32>>2]|0,t);return}function gi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0;v=+a[e+552>>2];C=+a[e+568>>2];g=+a[e+584>>2];y=+a[t>>2];h=+a[t+4>>2];m=+a[t+8>>2];u=+a[t+16>>2];p=+a[t+20>>2];b=+a[t+24>>2];l=+a[t+32>>2];s=+a[t+36>>2];_=+a[t+40>>2];c=+a[e+556>>2];o=+a[e+572>>2];r=+a[e+588>>2];k=+a[e+620>>2];w=+a[e+636>>2];n=+a[e+652>>2];d=k*+a[i>>2]+w*+a[i+4>>2]+n*+a[i+8>>2];f=k*+a[i+16>>2]+w*+a[i+20>>2]+n*+a[i+24>>2];n=k*+a[i+32>>2]+w*+a[i+36>>2]+n*+a[i+40>>2];n=+q(+((v*y+C*h+g*m)*d+(v*u+C*p+g*b)*f+(v*l+C*s+g*_)*n),+((y*c+h*o+m*r)*d+(u*c+p*o+b*r)*f+(l*c+s*o+_*r)*n));return+(n*+a[e+732>>2])}function hi(e){e=e|0;var t=0,i=0,r=0,o=0,s=0;_[e>>2]=9272;t=_[e+84>>2]|0;o=_[t+8>>2]|0;if((o|0)>0){i=0;do{r=_[(_[t+16>>2]|0)+(i*12|0)+8>>2]|0;if(r|0){ua[_[_[r>>2]>>2]&511](r);s=_[e+4>>2]|0;ma[_[(_[s>>2]|0)+60>>2]&127](s,r)}i=i+1|0}while((i|0)!=(o|0));t=_[e+84>>2]|0}ah(t);t=_[e+84>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+84>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+100>>2]|0;if(!t){n[e+104>>0]=1;_[e+100>>2]=0;_[e+92>>2]=0;s=e+96|0;_[s>>2]=0;Lh(e);return}if(n[e+104>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+100>>2]=0;n[e+104>>0]=1;_[e+100>>2]=0;_[e+92>>2]=0;s=e+96|0;_[s>>2]=0;Lh(e);return}function ii(e){e=e|0;var t=0.0,i=0,n=0,r=0,o=0;n=u;u=u+32|0;_[e+36>>2]=1566444395;_[e+40>>2]=1566444395;_[e+44>>2]=1566444395;a[e+48>>2]=0.0;_[e+52>>2]=-581039253;_[e+56>>2]=-581039253;_[e+60>>2]=-581039253;a[e+64>>2]=0.0;if((_[e+20>>2]|0)<=0){u=n;return}i=0;do{r=_[e+28>>2]|0;o=_[r+(i*80|0)+64>>2]|0;$a[_[(_[o>>2]|0)+8>>2]&127](o,r+(i*80|0)|0,n+16|0,n);t=+a[n+16>>2];if(+a[e+36>>2]>t)a[e+36>>2]=t;t=+a[n>>2];if(+a[e+52>>2]<t)a[e+52>>2]=t;t=+a[n+16+4>>2];if(+a[e+40>>2]>t)a[e+40>>2]=t;t=+a[n+4>>2];if(+a[e+56>>2]<t)a[e+56>>2]=t;t=+a[n+16+8>>2];if(+a[e+44>>2]>t)a[e+44>>2]=t;t=+a[n+8>>2];if(+a[e+60>>2]<t)a[e+60>>2]=t;i=i+1|0}while((i|0)<(_[e+20>>2]|0));u=n;return}function ji(e,t){e=e|0;t=t|0;var i=0,o=0,s=0,c=0;c=u;u=u+64|0;s=_[e>>2]|0;o=e+(_[s+-8>>2]|0)|0;s=_[s+-4>>2]|0;_[c>>2]=t;_[c+4>>2]=e;_[c+8>>2]=2680;e=rC(s,t)|0;t=c+12|0;i=t+40|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(i|0));r[c+12+40>>1]=0;n[c+12+42>>0]=0;e:do{if(e){_[c+48>>2]=1;Ia[_[(_[s>>2]|0)+20>>2]&7](s,c,o,o,1,0);e=(_[c+24>>2]|0)==1?o:0}else{ba[_[(_[s>>2]|0)+24>>2]&31](s,c,o,1,0);switch(_[c+36>>2]|0){case 0:{e=((_[c+40>>2]|0)==1?(_[c+28>>2]|0)==1:0)&(_[c+32>>2]|0)==1?_[c+20>>2]|0:0;break e}case 1:break;default:{e=0;break e}}if((_[c+24>>2]|0)!=1?!(((_[c+40>>2]|0)==0?(_[c+28>>2]|0)==1:0)&(_[c+32>>2]|0)==1):0){e=0;break}e=_[c+16>>2]|0}}while(0);u=c;return e|0}function ki(){var e=0;e=Br()|0;_[e>>2]=3840;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;n[e+40>>0]=1;_[e+36>>2]=0;_[e+28>>2]=0;_[e+32>>2]=0;n[e+60>>0]=1;_[e+56>>2]=0;_[e+48>>2]=0;_[e+52>>2]=0;n[e+80>>0]=1;_[e+76>>2]=0;_[e+68>>2]=0;_[e+72>>2]=0;n[e+100>>0]=1;_[e+96>>2]=0;_[e+88>>2]=0;_[e+92>>2]=0;n[e+120>>0]=1;_[e+116>>2]=0;_[e+108>>2]=0;_[e+112>>2]=0;n[e+140>>0]=1;_[e+136>>2]=0;_[e+128>>2]=0;_[e+132>>2]=0;n[e+160>>0]=1;_[e+156>>2]=0;_[e+148>>2]=0;_[e+152>>2]=0;n[e+180>>0]=1;_[e+176>>2]=0;_[e+168>>2]=0;_[e+172>>2]=0;n[e+208>>0]=1;_[e+204>>2]=0;_[e+196>>2]=0;_[e+200>>2]=0;_[e+232>>2]=0;_[e+224>>2]=0;_[e+212>>2]=16;_[e+216>>2]=17;_[e+220>>2]=18;return e|0}function li(e){e=e|0;var t=0;t=_[e+72>>2]|0;if(t|0){if(n[e+76>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+72>>2]=0}n[e+76>>0]=1;_[e+72>>2]=0;_[e+64>>2]=0;_[e+68>>2]=0;t=_[e+52>>2]|0;if(t|0){if(n[e+56>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+52>>2]=0}n[e+56>>0]=1;_[e+52>>2]=0;_[e+44>>2]=0;_[e+48>>2]=0;t=_[e+32>>2]|0;if(t|0){if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+32>>2]=0}n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;_[e+28>>2]=0;t=_[e+12>>2]|0;if(!t){n[e+16>>0]=1;_[e+12>>2]=0;_[e+4>>2]=0;e=e+8|0;_[e>>2]=0;return}if(n[e+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+12>>2]=0;n[e+16>>0]=1;_[e+12>>2]=0;_[e+4>>2]=0;e=e+8|0;_[e>>2]=0;return}function mi(e,t,i){e=e|0;t=+t;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0;n=u;u=u+96|0;s=+Da[_[(_[e>>2]|0)+48>>2]&15](e);_[n+32>>2]=1065353216;_[n+32+4>>2]=0;_[n+32+4+4>>2]=0;_[n+32+4+8>>2]=0;_[n+32+4+12>>2]=0;_[n+32+20>>2]=1065353216;_[n+32+24>>2]=0;_[n+32+24+4>>2]=0;_[n+32+24+8>>2]=0;_[n+32+24+12>>2]=0;_[n+32+40>>2]=1065353216;c=n+32+44|0;_[c>>2]=0;_[c+4>>2]=0;_[c+8>>2]=0;_[c+12>>2]=0;_[c+16>>2]=0;$a[_[(_[e>>2]|0)+8>>2]&127](e,n+32|0,n+16|0,n);o=(s+(+a[n>>2]-+a[n+16>>2])*.5)*2.0;r=(s+(+a[n+4>>2]-+a[n+16+4>>2])*.5)*2.0;s=(s+(+a[n+8>>2]-+a[n+16+8>>2])*.5)*2.0;a[i>>2]=t*.0833333283662796*(r*r+s*s);a[i+4>>2]=t*.0833333283662796*(o*o+s*s);a[i+8>>2]=t*.0833333283662796*(o*o+r*r);a[i+12>>2]=0.0;u=n;return}function ni(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0;i=_[e+12>>2]|0;if(!i)return;if(!(n[e+8>>0]|0))return;r=_[t+4>>2]|0;if((r|0)==(_[t+8>>2]|0)?(s=r|0?r<<1:1,(r|0)<(s|0)):0){if(!s)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((s<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}r=_[t+4>>2]|0}if((r|0)>0){o=0;do{_[i+(o<<2)>>2]=_[(_[t+12>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(r|0))}o=_[t+12>>2]|0;if(o){if(n[t+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);r=_[t+4>>2]|0}_[t+12>>2]=0}n[t+16>>0]=1;_[t+12>>2]=i;_[t+8>>2]=s;i=_[e+12>>2]|0}_[(_[t+12>>2]|0)+(r<<2)>>2]=i;_[t+4>>2]=r+1;return}function oi(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0;i=_[e+56>>2]|0;if(!i)return;if(!(n[e+52>>0]|0))return;r=_[t+4>>2]|0;if((r|0)==(_[t+8>>2]|0)?(s=r|0?r<<1:1,(r|0)<(s|0)):0){if(!s)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((s<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}r=_[t+4>>2]|0}if((r|0)>0){o=0;do{_[i+(o<<2)>>2]=_[(_[t+12>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(r|0))}o=_[t+12>>2]|0;if(o){if(n[t+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);r=_[t+4>>2]|0}_[t+12>>2]=0}n[t+16>>0]=1;_[t+12>>2]=i;_[t+8>>2]=s;i=_[e+56>>2]|0}_[(_[t+12>>2]|0)+(r<<2)>>2]=i;_[t+4>>2]=r+1;return}function pi(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0;l=+a[e+24>>2];s=+a[e+28>>2];c=+a[e+32>>2];r=l*+a[t>>2]+s*+a[t+4>>2]+c*+a[t+8>>2];o=+a[e+20>>2];if(r>o){a[e+20>>2]=r;_[e+4>>2]=_[t>>2];_[e+4+4>>2]=_[t+4>>2];_[e+4+8>>2]=_[t+8>>2];_[e+4+12>>2]=_[t+12>>2]}else r=o;o=l*+a[t+16>>2]+s*+a[t+20>>2]+c*+a[t+24>>2];if(o>r){a[e+20>>2]=o;_[e+4>>2]=_[t+16>>2];_[e+4+4>>2]=_[t+16+4>>2];_[e+4+8>>2]=_[t+16+8>>2];_[e+4+12>>2]=_[t+16+12>>2]}else o=r;r=l*+a[t+32>>2]+s*+a[t+36>>2]+c*+a[t+40>>2];if(!(r>o))return;a[e+20>>2]=r;_[e+4>>2]=_[t+32>>2];_[e+4+4>>2]=_[t+32+4>>2];_[e+4+8>>2]=_[t+32+8>>2];_[e+4+12>>2]=_[t+32+12>>2];return}function qi(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0;n[e+16>>0]=1;_[e+12>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;s=_[t+4>>2]|0;if((s|0)<=0){_[e+4>>2]=s;return}_[6293]=(_[6293]|0)+1;i=cc((s<<2|3)+16|0)|0;if(!i)o=0;else{_[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}r=_[e+4>>2]|0;if((r|0)>0){i=0;do{_[o+(i<<2)>>2]=_[(_[e+12>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(r|0))}i=_[e+12>>2]|0;if(i|0){if(n[e+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[e+12>>2]=0}n[e+16>>0]=1;_[e+12>>2]=o;_[e+8>>2]=s;i=0;r=o;do{_[r+(i<<2)>>2]=0;i=i+1|0;r=_[e+12>>2]|0}while((i|0)!=(s|0));_[e+4>>2]=s;i=0;do{_[r+(i<<2)>>2]=_[(_[t+12>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(s|0));return}function ri(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0;l=+a[e+88>>2];s=+a[e+92>>2];c=+a[e+96>>2];r=l*+a[t>>2]+s*+a[t+4>>2]+c*+a[t+8>>2];o=+a[e+84>>2];if(r>o){a[e+84>>2]=r;_[e+4>>2]=_[t>>2];_[e+4+4>>2]=_[t+4>>2];_[e+4+8>>2]=_[t+8>>2];_[e+4+12>>2]=_[t+12>>2]}else r=o;o=l*+a[t+16>>2]+s*+a[t+20>>2]+c*+a[t+24>>2];if(o>r){a[e+84>>2]=o;_[e+4>>2]=_[t+16>>2];_[e+4+4>>2]=_[t+16+4>>2];_[e+4+8>>2]=_[t+16+8>>2];_[e+4+12>>2]=_[t+16+12>>2]}else o=r;r=l*+a[t+32>>2]+s*+a[t+36>>2]+c*+a[t+40>>2];if(!(r>o))return;a[e+84>>2]=r;_[e+4>>2]=_[t+32>>2];_[e+4+4>>2]=_[t+32+4>>2];_[e+4+8>>2]=_[t+32+8>>2];_[e+4+12>>2]=_[t+32+12>>2];return}function si(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0;s=+Da[_[(_[e>>2]|0)+48>>2]&15](e);b=s+ +a[e+32>>2];l=s+ +a[e+36>>2];s=s+ +a[e+40>>2];C=+G(+ +a[t>>2]);g=+G(+ +a[t+4>>2]);y=+G(+ +a[t+8>>2]);m=+G(+ +a[t+16>>2]);d=+G(+ +a[t+20>>2]);u=+G(+ +a[t+24>>2]);f=+G(+ +a[t+32>>2]);c=+G(+ +a[t+36>>2]);o=+G(+ +a[t+40>>2]);h=+a[t+48>>2];p=+a[t+52>>2];r=+a[t+56>>2];a[i>>2]=h-(b*C+l*g+s*y);a[i+4>>2]=p-(b*m+l*d+s*u);a[i+8>>2]=r-(b*f+l*c+s*o);a[i+12>>2]=0.0;a[n>>2]=b*C+l*g+s*y+h;a[n+4>>2]=b*m+l*d+s*u+p;a[n+8>>2]=b*f+l*c+s*o+r;a[n+12>>2]=0.0;return}function ti(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0;r=u;u=u+96|0;o=_[t+192>>2]|0;_[r+64>>2]=0;_[r+64+4>>2]=o;_[r+64+8>>2]=t;_[r+64+12>>2]=t+4;_[r+64+16>>2]=-1;_[r+64+20>>2]=-1;t=_[i+192>>2]|0;_[r+40>>2]=0;_[r+40+4>>2]=t;_[r+40+8>>2]=i;_[r+40+12>>2]=i+4;_[r+40+16>>2]=-1;_[r+40+20>>2]=-1;t=_[e+24>>2]|0;t=wa[_[(_[t>>2]|0)+8>>2]&1](t,r+64|0,r+40|0,0,2)|0;if(!t){u=r;return}_[r+4>>2]=0;_[r+8>>2]=r+64;_[r+12>>2]=r+40;_[r>>2]=5316;_[r+36>>2]=n;_[r+32>>2]=_[n+12>>2];ba[_[(_[t>>2]|0)+8>>2]&31](t,r+64|0,r+40|0,e+28|0,r);ua[_[_[t>>2]>>2]&511](t);o=_[e+24>>2]|0;ma[_[(_[o>>2]|0)+60>>2]&127](o,t);u=r;return}function ui(e){e=e|0;var t=0;_[e>>2]=4352;if(_[e+108>>2]|0){t=_[e+112>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+112>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+108>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+108>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}}t=_[e+88>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+84>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+80>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}t=_[e+60>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}if(!(n[e+100>>0]|0))return;t=_[e+92>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+92>>2]|0;if(!t)return;_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);return}function vi(e){e=e|0;var t=0,i=0,r=0,o=0.0;i=u;u=u+96|0;n[e+92>>0]=1;if((n[22328]|0)==0?Dy(22328)|0:0){_[6010]=1065353216;_[6011]=0;_[6012]=0;_[6013]=0;_[6014]=0;_[6015]=1065353216;_[6016]=0;_[6017]=0;_[6018]=0;_[6019]=0;_[6020]=1065353216;a[6021]=0.0;_[6022]=-1082130432;_[6023]=0;_[6024]=0;_[6025]=0;_[6026]=0;_[6027]=-1082130432;_[6028]=0;_[6029]=0;_[6030]=0;_[6031]=0;_[6032]=-1082130432;a[6033]=0.0}t=i;r=t+96|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(r|0));$a[_[(_[e>>2]|0)+76>>2]&127](e,24040,i,6);o=+a[e+48>>2];a[e+76>>2]=+a[i>>2]+o;a[e+60>>2]=+a[i+48>>2]-o;a[e+80>>2]=+a[i+20>>2]+o;a[e+64>>2]=+a[i+68>>2]-o;a[e+84>>2]=+a[i+40>>2]+o;a[e+68>>2]=+a[i+88>>2]-o;u=i;return}function wi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0;while(1){c=_[e+12>>2]|0;l=_[c+(((t+i|0)/2|0)<<3)>>2]|0;r=i;n=t;while(1){while(1){a=n+1|0;if((_[c+(n<<3)>>2]|0)<(l|0))n=a;else break}while(1){o=c+(r<<3)|0;s=r+-1|0;if((l|0)<(_[o>>2]|0))r=s;else break}if((n|0)<=(r|0)){f=c+(n<<3)|0;c=_[f>>2]|0;n=_[f+4>>2]|0;b=_[o+4>>2]|0;_[f>>2]=_[o>>2];_[f+4>>2]=b;r=(_[e+12>>2]|0)+(r<<3)|0;_[r>>2]=c;_[r+4>>2]=n;r=s;n=a}if((n|0)>(r|0))break;c=_[e+12>>2]|0}if((r|0)>(t|0))wi(e,t,r);if((n|0)<(i|0))t=n;else break}return}function xi(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0;i=_[e+72>>2]|0;if(!i)return;r=_[t+4>>2]|0;if((r|0)==(_[t+8>>2]|0)?(s=r|0?r<<1:1,(r|0)<(s|0)):0){if(!s)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((s<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}r=_[t+4>>2]|0}if((r|0)>0){o=0;do{_[i+(o<<2)>>2]=_[(_[t+12>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(r|0))}o=_[t+12>>2]|0;if(o){if(n[t+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);r=_[t+4>>2]|0}_[t+12>>2]=0}n[t+16>>0]=1;_[t+12>>2]=i;_[t+8>>2]=s;i=_[e+72>>2]|0}_[(_[t+12>>2]|0)+(r<<2)>>2]=i;_[t+4>>2]=r+1;return}function yi(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0;i=_[e+12>>2]|0;if(!i)return;r=_[t+4>>2]|0;if((r|0)==(_[t+8>>2]|0)?(s=r|0?r<<1:1,(r|0)<(s|0)):0){if(!s)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((s<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}r=_[t+4>>2]|0}if((r|0)>0){o=0;do{_[i+(o<<2)>>2]=_[(_[t+12>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(r|0))}o=_[t+12>>2]|0;if(o){if(n[t+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);r=_[t+4>>2]|0}_[t+12>>2]=0}n[t+16>>0]=1;_[t+12>>2]=i;_[t+8>>2]=s;i=_[e+12>>2]|0}_[(_[t+12>>2]|0)+(r<<2)>>2]=i;_[t+4>>2]=r+1;return}function zi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0;n=u;u=u+96|0;_[n+32>>2]=1065353216;_[n+32+4>>2]=0;_[n+32+4+4>>2]=0;_[n+32+4+8>>2]=0;_[n+32+4+12>>2]=0;_[n+32+20>>2]=1065353216;_[n+32+24>>2]=0;_[n+32+24+4>>2]=0;_[n+32+24+8>>2]=0;_[n+32+24+12>>2]=0;_[n+32+40>>2]=1065353216;b=n+32+44|0;_[b>>2]=0;_[b+4>>2]=0;_[b+8>>2]=0;_[b+12>>2]=0;_[b+16>>2]=0;$a[_[(_[e>>2]|0)+8>>2]&127](e,n+32|0,n+16|0,n);l=+a[n>>2];f=+a[n+16>>2];s=+a[n+4>>2];c=+a[n+16+4>>2];r=+a[n+8>>2];o=+a[n+16+8>>2];a[i>>2]=+W(+((l-f)*(l-f)+(s-c)*(s-c)+(r-o)*(r-o)))*.5;a[t>>2]=(f+l)*.5;a[t+4>>2]=(c+s)*.5;a[t+8>>2]=(o+r)*.5;a[t+12>>2]=0.0;u=n;return}function Ai(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0;s=_[t+48>>2]|0;if((_[t+60>>2]|0)==2){Qf(e+44|0,s)|0;r=_[e+48>>2]|0;if(!r){r=e+48|0;o=1}else{_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0);r=e+48|0;o=1}}else{Qf(e+4|0,s)|0;r=_[e+8>>2]|0;if(!r){r=e+8|0;o=0}else{_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0);r=e+8|0;o=0}}_[r>>2]=s;r=e+4+(o*40|0)+12|0;_[r>>2]=(_[r>>2]|0)+-1;r=_[t+52>>2]|0;_[((r|0)==0?e+84+(_[t+60>>2]<<2)|0:r+56|0)>>2]=_[t+56>>2];r=_[t+56>>2]|0;if(r|0)_[r+52>>2]=_[t+52>>2];s=_[e+96>>2]|0;Za[_[(_[s>>2]|0)+16>>2]&127](s,t,i);_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);n[e+154>>0]=1;return}function Bi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0.0,s=0;r=u;u=u+16|0;_[e+4>>2]=_[t+24>>2];n=_[t>>2]|0;_[e+8>>2]=n;if(i){_[e+56>>2]=_[t+8>>2];_[e+56+4>>2]=_[t+8+4>>2];_[e+56+8>>2]=_[t+8+8>>2];_[e+56+12>>2]=_[t+8+12>>2];s=e+72|0;i=e+24|0;n=e+40|0;o=+a[t+24>>2];Zo(s,i,n,o);o=+a[t+24>>2];u=r;return+o}else{i=rH(_G(n)|0)|0;fl(r,i,+a[t+8>>2],+a[t+12>>2],+a[t+16>>2]);_[e+56>>2]=_[r>>2];_[e+56+4>>2]=_[r+4>>2];_[e+56+8>>2]=_[r+8>>2];_[e+56+12>>2]=_[r+12>>2];i=e+72|0;n=e+24|0;s=e+40|0;o=+a[t+24>>2];Zo(i,n,s,o);o=+a[t+24>>2];u=r;return+o}return 0.0}function Ci(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,c=0,l=0,f=0,b=0;o=_[e+108>>2]|0;if(o|0){$a[_[(_[o>>2]|0)+28>>2]&127](o,t,i,n);return}o=r[e+56>>1]|0;if(!(o<<16>>16))return;b=1;l=1;do{c=_[e+68>>2]|0;if(r[c+(l<<2)>>1]&1){f=_[e+60>>2]|0;l=s[c+(l<<2)+2>>1]|0;if(!(+a[t>>2]>+a[f+(l<<6)+32>>2])?!(+a[i>>2]<+a[f+(l<<6)+16>>2]):0)c=1;else c=0;if(!(!(+a[t+8>>2]>+a[f+(l<<6)+40>>2])?!(+a[i+8>>2]<+a[f+(l<<6)+24>>2]):0))c=0;if(!(+a[t+4>>2]>+a[f+(l<<6)+36>>2])?!(+a[i+4>>2]<+a[f+(l<<6)+20>>2]|c^1):0){Pa[_[(_[n>>2]|0)+8>>2]&31](n,f+(l<<6)|0)|0;o=r[e+56>>1]|0}}b=b+1<<16>>16;l=b&65535}while(l>>>0<((o&65535)<<1|1)>>>0);return}function Di(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0;o=+a[t>>2];s=+a[t+16>>2];c=o<s?o:s;r=+a[t+32>>2];if((c<r?c:r)>+a[e+24>>2])return;l=o>s?t:t+16|0;if(+a[(+a[l>>2]>r?l:t+32|0)>>2]<+a[e+8>>2])return;r=+a[t+8>>2];o=+a[t+24>>2];c=r<o?r:o;s=+a[t+40>>2];if((c<s?c:s)>+a[e+32>>2])return;l=r>o?t+8|0:t+24|0;if(+a[(+a[l>>2]>s?l:t+40|0)>>2]<+a[e+16>>2])return;r=+a[t+4>>2];o=+a[t+20>>2];c=r<o?r:o;s=+a[t+36>>2];if((c<s?c:s)>+a[e+28>>2])return;l=r>o?t+4|0:t+20|0;if(+a[(+a[l>>2]>s?l:t+36|0)>>2]<+a[e+12>>2])return;l=_[e+4>>2]|0;$a[_[(_[l>>2]|0)+8>>2]&127](l,t,i,n);return}function Ei(e,t){e=e|0;t=t|0;var i=0.0,r=0.0,o=0.0,s=0;if(!(n[e+738>>0]|0)){_[t>>2]=5;_[t+4>>2]=1;i=+gi(e,(_[e+28>>2]|0)+4|0,(_[e+32>>2]|0)+4|0);a[e+728>>2]=i;a[e+708>>2]=0.0;a[e+712>>2]=0.0;n[e+716>>0]=0;o=+a[e+692>>2];do{if(!(o>=0.0))s=13;else{i=+Bg(i-+a[e+688>>2],6.2831854820251465);if(!(i<-3.1415927410125732)){if(i>3.1415927410125732)i=i+-6.2831854820251465}else i=i+6.2831854820251465;if(i<-o){n[e+716>>0]=1;r=1.0;i=-(i+o)}else{if(!(i>o)){s=13;break}n[e+716>>0]=1;r=-1.0;i=o-i}a[e+708>>2]=i;a[e+712>>2]=r}}while(0);if((s|0)==13?(n[e+737>>0]|0)==0:0)return;_[t>>2]=6;e=t+4|0}else{_[t>>2]=0;e=t+4|0}_[e>>2]=0;return}function Fi(e,t,i,r){e=e|0;t=t|0;i=i|0;r=+r;var o=0,s=0.0,c=0.0,l=0.0;o=u;u=u+16|0;a[e+32>>2]=r;_[e+8>>2]=_[t>>2];_[e+8+4>>2]=_[t+4>>2];_[e+8+8>>2]=_[t+8>>2];_[e+8+12>>2]=_[t+12>>2];s=+a[e+28>>2];l=+a[i+4>>2]-s*+a[t+4>>2];c=+a[i+8>>2]-s*+a[t+8>>2];a[o>>2]=+a[i>>2]-+a[t>>2]*s;a[o+4>>2]=l;a[o+8>>2]=c;a[o+12>>2]=0.0;r=+a[e+24>>2]+s+r;a[e+32>>2]=r;if(!(r<0.0)){e=e+4|0;e=_[e>>2]|0;i=_[e>>2]|0;i=i+16|0;i=_[i>>2]|0;Ka[i&15](e,t,o,r);u=o;return}n[e+36>>0]=1;e=e+4|0;e=_[e>>2]|0;i=_[e>>2]|0;i=i+16|0;i=_[i>>2]|0;Ka[i&15](e,t,o,r);u=o;return}function Gi(e,t,i,n,r,o,s,c,l){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;var f=0.0,b=0.0;if(!(_[c+52>>2]|0))return;if((_[c+20>>2]|0)<=0)return;n=0;while(1){i=_[e+28>>2]|0;if((i|0)>0){f=0.0;t=0;do{l=_[(_[e+116>>2]|0)+(t<<2)>>2]|0;s=_[e+36>>2]|0;o=_[e+16>>2]|0;b=+Ba[_[e+220>>2]&31](o+((_[s+(l*152|0)+144>>2]|0)*244|0)|0,o+((_[s+(l*152|0)+148>>2]|0)*244|0)|0,s+(l*152|0)|0);f=f+b*b;t=t+1|0}while((t|0)!=(i|0))}else f=0.0;if(f<=+a[c+92>>2]){t=8;break}l=_[c+20>>2]|0;s=n;n=n+1|0;if(!((s|0)<(l+-1|0)&(n|0)<(l|0))){t=8;break}}if((t|0)==8)return}function Hi(e,t){e=e|0;t=t|0;_[e+204>>2]=_[t+48>>2];_[e+208>>2]=_[t+52>>2];_[e+212>>2]=_[t+56>>2];_[e+216>>2]=_[t+60>>2];_[e+220>>2]=_[t+64>>2];_[e+224>>2]=_[t+68>>2];_[e+156>>2]=_[t>>2];_[e+156+4>>2]=_[t+4>>2];_[e+156+8>>2]=_[t+8>>2];_[e+156+12>>2]=_[t+12>>2];_[e+172>>2]=_[t+16>>2];_[e+172+4>>2]=_[t+16+4>>2];_[e+172+8>>2]=_[t+16+8>>2];_[e+172+12>>2]=_[t+16+12>>2];_[e+188>>2]=_[t+32>>2];_[e+188+4>>2]=_[t+32+4>>2];_[e+188+8>>2]=_[t+32+8>>2];_[e+188+12>>2]=_[t+32+12>>2];_[e+228>>2]=_[t+72>>2];a[e+232>>2]=0.0;a[e+252>>2]=0.0;a[e+236>>2]=0.0;a[e+240>>2]=0.0;a[e+256>>2]=0.0;a[e+244>>2]=.10000000149011612;n[e+260>>0]=n[t+80>>0]&1;_[e+248>>2]=_[t+76>>2];return}function Ii(e,t){e=e|0;t=+t;var i=0,n=0;i=_[e+84>>2]|0;if(i|0)pa[i&31](e,t);pa[_[(_[e>>2]|0)+140>>2]&31](e,t);a[e+28>>2]=t;_[e+32>>2]=0;_[e+48>>2]=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;pa[_[(_[e>>2]|0)+164>>2]&31](e,t);ua[_[(_[e>>2]|0)+44>>2]&511](e);ua[_[(_[e>>2]|0)+148>>2]&511](e);a[e+104>>2]=t;ma[_[(_[e>>2]|0)+152>>2]&127](e,e+92|0);pa[_[(_[e>>2]|0)+144>>2]&31](e,t);if((_[e+296>>2]|0)>0){i=0;do{n=_[(_[e+304>>2]|0)+(i<<2)>>2]|0;Ga[_[(_[n>>2]|0)+8>>2]&7](n,e,t);i=i+1|0}while((i|0)<(_[e+296>>2]|0))}pa[_[(_[e>>2]|0)+156>>2]&31](e,t);i=_[e+80>>2]|0;if(!i)return;pa[i&31](e,t);return}function Ji(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0.0,s=0.0;r=u;u=u+16|0;_[e+4>>2]=t;_[e>>2]=3436;_[e+8>>2]=-1;_[e+12>>2]=-1;a[e+16>>2]=3402823466385288598117041.0e14;n[e+20>>0]=1;n[e+21>>0]=0;_[e+24>>2]=-1;_[e+28>>2]=i;if((n[22312]|0)==0?Dy(22312)|0:0){_[r>>2]=0;_[r+4>>2]=0;_[r+8>>2]=0;_[r+12>>2]=0;Ae(22660,0.0,0,0,r)}_[5716]=_[5716]|1;a[5766]=0.0;o=+a[5776]*0.0;s=+a[5777]*0.0;a[5771]=+a[5775]*0.0;a[5772]=o;a[5773]=s;a[5774]=0.0;_[5779]=0;_[5780]=0;_[5781]=0;_[5782]=0;s=+a[5768]*0.0;o=+a[5769]*0.0;a[5820]=+a[5767]*0.0;a[5821]=s;a[5822]=o;a[5823]=0.0;_[e+32>>2]=22660;a[e+36>>2]=0.0;a[e+40>>2]=.05000000074505806;_[e+44>>2]=0;u=r;return}function Ki(e,t){e=e|0;t=t|0;var i=0,r=0;e:do{if((t|0)!=0&(e&3|0)!=0){i=t;while(1){if(!(n[e>>0]|0))break e;e=e+1|0;t=i+-1|0;if((t|0)!=0&(e&3|0)!=0)i=t;else{i=t;t=(t|0)!=0;r=4;break}}}else{i=t;t=(t|0)!=0;r=4}}while(0);e:do{if((r|0)==4)if(t){if(n[e>>0]|0){t:do{if(i>>>0>3)while(1){t=_[e>>2]|0;if((t&-2139062144^-2139062144)&t+-16843009|0)break;e=e+4|0;i=i+-4|0;if(i>>>0<=3){r=10;break t}}else r=10}while(0);if((r|0)==10)if(!i){i=0;break}while(1){if(!(n[e>>0]|0))break e;e=e+1|0;i=i+-1|0;if(!i){i=0;break}}}}else i=0}while(0);return(i|0?e:0)|0}function Li(e){e=e|0;var t=0.0,i=0.0,n=0.0,r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0;p=+a[e+4>>2];o=+a[e+456>>2];b=+a[e+8>>2];r=+a[e+460>>2];f=+a[e+12>>2];i=+a[e+464>>2];l=+a[e+20>>2];c=+a[e+24>>2];s=+a[e+28>>2];_=+a[e+36>>2];n=+a[e+40>>2];t=+a[e+44>>2];a[e+324>>2]=p*o*p+b*r*b+f*i*f;a[e+328>>2]=p*o*l+b*r*c+f*i*s;a[e+332>>2]=p*o*_+b*r*n+f*i*t;a[e+336>>2]=0.0;a[e+340>>2]=o*l*p+r*c*b+i*s*f;a[e+344>>2]=o*l*l+r*c*c+i*s*s;a[e+348>>2]=o*l*_+r*c*n+i*s*t;a[e+352>>2]=0.0;a[e+356>>2]=o*_*p+r*n*b+i*t*f;a[e+360>>2]=o*_*l+r*n*c+i*t*s;a[e+364>>2]=o*_*_+r*n*n+i*t*t;a[e+368>>2]=0.0;return}function Mi(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,s=0,c=0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0;o=u;u=u+16|0;if((n|0)<=0){u=o;return}r=0;do{d=+a[t+(r<<4)>>2];p=+a[t+(r<<4)+4>>2];b=+a[t+(r<<4)+8>>2];f=d*+a[e+60>>2]+p*+a[e+64>>2]+b*+a[e+68>>2];l=d*+a[e+76>>2]+p*+a[e+80>>2]+b*+a[e+84>>2];b=d*+a[e+92>>2]+p*+a[e+96>>2]+b*+a[e+100>>2];a[o>>2]=f;a[o+4>>2]=l;a[o+8>>2]=b;a[o+12>>2]=0.0;c=e+60+((+a[o+((f<l&1)<<2)>>2]<b?2:f<l&1)<<4)|0;s=i+(r<<4)|0;_[s>>2]=_[c>>2];_[s+4>>2]=_[c+4>>2];_[s+8>>2]=_[c+8>>2];_[s+12>>2]=_[c+12>>2];r=r+1|0}while((r|0)!=(n|0));u=o;return}function Ni(e){e=e|0;var t=0,i=0,r=0,o=0,s=0;_[e>>2]=4908;i=_[e+8>>2]|0;t=_[e+16>>2]|0;if((i|0)>0){s=0;do{r=(_[t+(s<<2)>>2]|0)+188|0;o=_[r>>2]|0;if(o){i=_[e+68>>2]|0;i=ya[_[(_[i>>2]|0)+36>>2]&127](i)|0;Za[_[(_[i>>2]|0)+40>>2]&127](i,o,_[e+24>>2]|0);i=_[e+68>>2]|0;Za[_[(_[i>>2]|0)+12>>2]&127](i,o,_[e+24>>2]|0);_[r>>2]=0;i=_[e+8>>2]|0;t=_[e+16>>2]|0}s=s+1|0}while((s|0)<(i|0))}if(!t){n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}function Oi(e,t){e=e|0;t=t|0;var i=0,n=0.0,r=0,o=0,s=0.0,c=0.0;_[e+264>>2]=_[t>>2];_[e+264+4>>2]=_[t+4>>2];_[e+264+8>>2]=_[t+8>>2];_[e+264+12>>2]=_[t+12>>2];i=_[e+248>>2]|0;if((i|0)<=0)return;o=0;do{r=_[(_[e+256>>2]|0)+(o<<2)>>2]|0;switch(_[r+220>>2]|0){case 2:case 5:break;default:if(!(_[r+564>>2]&1)){n=+a[r+404>>2];if(n!=0.0){c=1.0/n*+a[t+4>>2];s=1.0/n*+a[t+8>>2];a[r+424>>2]=1.0/n*+a[t>>2];a[r+428>>2]=c;a[r+432>>2]=s;a[r+436>>2]=0.0}_[r+440>>2]=_[t>>2];_[r+440+4>>2]=_[t+4>>2];_[r+440+8>>2]=_[t+8>>2];_[r+440+12>>2]=_[t+12>>2];i=_[e+248>>2]|0}}o=o+1|0}while((o|0)<(i|0));return}function Pi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0;n=_[e+12>>2]|0;if(!n){n=_[e+4>>2]|0;n=xa[_[(_[n>>2]|0)+12>>2]&63](n,_[t+8>>2]|0,_[i+8>>2]|0)|0;_[e+12>>2]=n;r=e+4|0}else r=e+4|0;_[(_[e+16>>2]|0)+4>>2]=n;o=_[r>>2]|0;n=wa[_[(_[o>>2]|0)+8>>2]&1](o,t,i,n,1)|0;o=_[e+16>>2]|0;Za[_[(_[o>>2]|0)+8>>2]&127](o,_[e+28>>2]|0,_[e+24>>2]|0);o=_[e+16>>2]|0;Za[_[(_[o>>2]|0)+12>>2]&127](o,_[e+36>>2]|0,_[e+32>>2]|0);ba[_[(_[n>>2]|0)+8>>2]&31](n,t,i,_[e+20>>2]|0,_[e+16>>2]|0);ua[_[_[n>>2]>>2]&511](n);i=_[r>>2]|0;ma[_[(_[i>>2]|0)+60>>2]&127](i,n);return}function Qi(e,t,i){e=e|0;t=+t;i=i|0;var n=0,r=0,o=0.0,s=0.0,c=0.0;n=_[e+204>>2]|0;if(t==0.0){_[e+204>>2]=n|1;o=0.0}else{_[e+204>>2]=n&-2;o=1.0/t}a[e+404>>2]=o;c=+a[e+444>>2]*t;s=+a[e+448>>2]*t;a[e+424>>2]=+a[e+440>>2]*t;a[e+428>>2]=c;a[e+432>>2]=s;a[e+436>>2]=0.0;t=+a[i>>2];r=t!=0.0?(a[b>>2]=1.0/t,_[b>>2]|0):0;t=+a[i+4>>2];n=t!=0.0?(a[b>>2]=1.0/t,_[b>>2]|0):0;t=+a[i+8>>2];i=t!=0.0?(a[b>>2]=1.0/t,_[b>>2]|0):0;_[e+456>>2]=r;_[e+460>>2]=n;_[e+464>>2]=i;a[e+468>>2]=0.0;s=o*+a[e+412>>2];c=o*+a[e+416>>2];a[e+620>>2]=+a[e+408>>2]*o;a[e+624>>2]=s;a[e+628>>2]=c;a[e+632>>2]=0.0;return}function Ri(e,t,i){e=e|0;t=t|0;i=+i;var n=0,r=0,o=0;r=u;u=u+256|0;n=_[t+212>>2]|0;if((n|0)>-1){e=n;u=r;return e|0}o=(_[t+252>>2]&2|0)==0;n=o?0:t;do{if(!o){if(!(+a[n+404>>2]!=0.0)?(_[n+204>>2]&2|0)==0:0)break;o=_[e+8>>2]|0;Wj(r|0,0,244)|0;ie($e(e+4|0,r)|0,t,i);_[t+212>>2]=o;u=r;return o|0}}while(0);n=_[e+188>>2]|0;if((n|0)>=0){o=n;u=r;return o|0}_[e+188>>2]=_[e+8>>2];Wj(r|0,0,244)|0;ie($e(e+4|0,r)|0,0,i);o=_[e+188>>2]|0;u=r;return o|0}function Si(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0,s=0.0,c=0,l=0.0,f=0;l=+a[t+64>>2]*.5;f=_[t+72>>2]|0;n=+a[i>>2];r=+a[i+4>>2];s=+a[i+8>>2];s=+W(+(n*n+r*r+s*s));o=_[t+68>>2]|0;if(+a[i+(f<<2)>>2]>s*+a[t+56>>2]){a[e+(o<<2)>>2]=0.0;a[e+(f<<2)>>2]=l;l=0.0;f=_[t+76>>2]|0;f=e+(f<<2)|0;a[f>>2]=l;return}s=+a[i+(o<<2)>>2];c=_[t+76>>2]|0;n=+a[i+(c<<2)>>2];r=+W(+(s*s+n*n));if(r>1.1920928955078125e-07){r=+a[t+60>>2]/r;a[e+(o<<2)>>2]=s*r;a[e+(f<<2)>>2]=-l;l=n*r;f=c;f=e+(f<<2)|0;a[f>>2]=l;return}else{a[e+(o<<2)>>2]=0.0;a[e+(f<<2)>>2]=-l;l=0.0;f=c;f=e+(f<<2)|0;a[f>>2]=l;return}}function Ti(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0;i=_[e+296>>2]|0;if((i|0)==(_[e+300>>2]|0)?(s=i|0?i<<1:1,(i|0)<(s|0)):0){if(!s)o=0;else{_[6293]=(_[6293]|0)+1;i=cc((s<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=i;i=_[e+296>>2]|0}if((i|0)>0){r=0;do{_[o+(r<<2)>>2]=_[(_[e+304>>2]|0)+(r<<2)>>2];r=r+1|0}while((r|0)!=(i|0))}r=_[e+304>>2]|0;if(r){if(n[e+308>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0);i=_[e+296>>2]|0}_[e+304>>2]=0}n[e+308>>0]=1;_[e+304>>2]=o;_[e+300>>2]=s}_[(_[e+304>>2]|0)+(i<<2)>>2]=t;_[e+296>>2]=i+1;return}function Ui(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0,o=0.0,s=0,c=0.0,l=0.0,f=0.0,b=0.0,p=0,u=0.0,d=0.0;p=_[t+100>>2]|0;if((p|0)<=0){_[e>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;p=e+12|0;a[p>>2]=0.0;return}u=+a[t+16>>2];d=+a[i>>2]*u;l=+a[t+20>>2];f=+a[i+4>>2]*l;b=+a[t+24>>2];c=+a[i+8>>2]*b;r=_[t+108>>2]|0;i=-1;t=0;n=-3402823466385288598117041.0e14;while(1){o=d*+a[r+(t<<4)>>2]+f*+a[r+(t<<4)+4>>2]+c*+a[r+(t<<4)+8>>2];s=o>n;i=s?t:i;t=t+1|0;if((t|0)==(p|0))break;else n=s?o:n}f=+a[r+(i<<4)+4>>2]*l;d=+a[r+(i<<4)+8>>2]*b;a[e>>2]=+a[r+(i<<4)>>2]*u;a[e+4>>2]=f;a[e+8>>2]=d;p=e+12|0;a[p>>2]=0.0;return}function Vi(e,t,i){e=e|0;t=+t;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0;n=u;u=u+96|0;_[n+32>>2]=1065353216;_[n+32+4>>2]=0;_[n+32+4+4>>2]=0;_[n+32+4+8>>2]=0;_[n+32+4+12>>2]=0;_[n+32+20>>2]=1065353216;_[n+32+24>>2]=0;_[n+32+24+4>>2]=0;_[n+32+24+8>>2]=0;_[n+32+24+12>>2]=0;_[n+32+40>>2]=1065353216;c=n+32+44|0;_[c>>2]=0;_[c+4>>2]=0;_[c+8>>2]=0;_[c+12>>2]=0;_[c+16>>2]=0;$a[_[(_[e>>2]|0)+8>>2]&127](e,n+32|0,n+16|0,n);o=(+a[n>>2]-+a[n+16>>2])*.5*2.0;r=(+a[n+4>>2]-+a[n+16+4>>2])*.5*2.0;s=(+a[n+8>>2]-+a[n+16+8>>2])*.5*2.0;a[i>>2]=t/12.0*(r*r+s*s);a[i+4>>2]=t/12.0*(o*o+s*s);a[i+8>>2]=t/12.0*(o*o+r*r);u=n;return}function Wi(e,t){e=e|0;t=t|0;var i=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0;i=Ur()|0;Ji(i,3,e);_[i>>2]=3784;_[i+300>>2]=_[t>>2];_[i+300+4>>2]=_[t+4>>2];_[i+300+8>>2]=_[t+8>>2];_[i+300+12>>2]=_[t+12>>2];l=+a[t>>2];c=+a[t+4>>2];s=+a[t+8>>2];o=l*+a[e+20>>2]+c*+a[e+24>>2]+s*+a[e+28>>2]+ +a[e+56>>2];r=l*+a[e+36>>2]+c*+a[e+40>>2]+s*+a[e+44>>2]+ +a[e+60>>2];a[i+316>>2]=l*+a[e+4>>2]+c*+a[e+8>>2]+s*+a[e+12>>2]+ +a[e+52>>2];a[i+320>>2]=o;a[i+324>>2]=r;a[i+328>>2]=0.0;_[i+332>>2]=0;n[i+344>>0]=0;a[i+348>>2]=.30000001192092896;a[i+352>>2]=1.0;a[i+356>>2]=0.0;return i|0}function Xi(e,t,i){e=+e;t=+t;i=+i;var n=0.0,r=0.0,_=0;if(t>=i)return+e;if(e<t){n=+Bg(t-e,6.2831854820251465);if(!(n<-3.1415927410125732)){if(n>3.1415927410125732)n=n+-6.2831854820251465}else n=n+6.2831854820251465;r=+G(+n);n=+Bg(i-e,6.2831854820251465);if(!(n<-3.1415927410125732)){if(n>3.1415927410125732)n=n+-6.2831854820251465}else n=n+6.2831854820251465;_=r<+G(+n);e=_?e:e+6.2831854820251465;return+e}if(!(e>i))return+e;n=+Bg(e-i,6.2831854820251465);if(!(n<-3.1415927410125732)){if(n>3.1415927410125732)n=n+-6.2831854820251465}else n=n+6.2831854820251465;r=+G(+n);n=+Bg(e-t,6.2831854820251465);if(!(n<-3.1415927410125732)){if(n>3.1415927410125732)n=n+-6.2831854820251465}else n=n+6.2831854820251465;_=+G(+n)<r;e=_?e+-6.2831854820251465:e;return+e}function Yi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0;_[6008]=(_[6008]|0)+1;n=(_[t+12>>2]|0)>(_[i+12>>2]|0);r=_[(n?i:t)+12>>2]|0;n=_[(n?t:i)+12>>2]|0;t=(((n<<16|r)+~((n<<16|r)<<15)|0)>>>10^(n<<16|r)+~((n<<16|r)<<15))*9|0;t=(((t>>>6^t)+~((t>>>6^t)<<11)|0)>>>16^(t>>>6^t)+~((t>>>6^t)<<11))&(_[e+12>>2]|0)+-1;if((t|0)>=(_[e+32>>2]|0)){o=0;return o|0}t=_[(_[e+40>>2]|0)+(t<<2)>>2]|0;if((t|0)==-1){o=0;return o|0}i=_[e+16>>2]|0;while(1){if((_[(_[i+(t<<4)>>2]|0)+12>>2]|0)==(r|0)?(_[(_[i+(t<<4)+4>>2]|0)+12>>2]|0)==(n|0):0)break;t=_[(_[e+60>>2]|0)+(t<<2)>>2]|0;if((t|0)==-1){t=0;o=8;break}}if((o|0)==8)return t|0;o=i+(t<<4)|0;return o|0}function Zi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0;n=u;u=u+16|0;Za[_[(_[t>>2]|0)+68>>2]&127](n,t,i);_[e>>2]=_[n>>2];_[e+4>>2]=_[n+4>>2];_[e+8>>2]=_[n+8>>2];_[e+12>>2]=_[n+12>>2];if(!(+Da[_[(_[t>>2]|0)+48>>2]&15](t)!=0.0)){u=n;return}s=+a[i>>2];o=+a[i+4>>2];r=+a[i+8>>2];l=s*s+o*o+r*r<1.4210854715202004e-14?-1.0:s;c=s*s+o*o+r*r<1.4210854715202004e-14?-1.0:o;r=s*s+o*o+r*r<1.4210854715202004e-14?-1.0:r;o=1.0/+W(+(r*r+(l*l+c*c)));s=+Da[_[(_[t>>2]|0)+48>>2]&15](t);a[e>>2]=+a[e>>2]+s*o*l;a[e+4>>2]=s*o*c+ +a[e+4>>2];a[e+8>>2]=s*o*r+ +a[e+8>>2];u=n;return}function _i(e,t,i){e=e|0;t=+t;i=+i;var n=0.0,r=0.0,o=0.0;r=+a[e+692>>2];do{if(r>0.0){o=+a[e+688>>2];n=+Bg(t-o,6.2831854820251465);if(!(n<-3.1415927410125732)){if(n>3.1415927410125732)n=n+-6.2831854820251465}else n=n+6.2831854820251465;if(!(!(n<-r)&n<=r))if(n>0.0){t=+Bg(r+o,6.2831854820251465);if(t<-3.1415927410125732){t=t+6.2831854820251465;break}if(!(t>3.1415927410125732))break;t=t+-6.2831854820251465;break}else{t=+Bg(o-r,6.2831854820251465);if(t<-3.1415927410125732){t=t+6.2831854820251465;break}if(!(t>3.1415927410125732))break;t=t+-6.2831854820251465;break}}}while(0);a[e+680>>2]=(t-+gi(e,(_[e+28>>2]|0)+4|0,(_[e+32>>2]|0)+4|0))/i;return}function $i(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;e:do{switch(t|0){case 2:{if((i|0)<1){n=+a[e+232>>2];break e}if((i|0)<3){n=+a[e+264>>2];break e}if((i|0)==3){n=+a[e+248>>2];break e}if((i|0)<6)n=+a[e+280>>2];else n=3402823466385288598117041.0e14;break}case 3:{if((i|0)<1){n=+a[e+212>>2];break e}if((i|0)==3)n=+a[e+228>>2];else n=3402823466385288598117041.0e14;break}case 4:{if((i|0)<1){n=+a[e+244>>2];break e}if((i|0)<3){n=+a[e+276>>2];break e}if((i|0)==3){n=+a[e+260>>2];break e}if((i|0)<6)n=+a[e+292>>2];else n=3402823466385288598117041.0e14;break}default:n=3402823466385288598117041.0e14}}while(0);return+n}function aj(e,t){e=e|0;t=t|0;var i=0.0,r=0.0,o=0.0,s=0.0,c=0.0;i=+a[t>>2];r=+a[t+4>>2];o=+a[t+8>>2];if(i*i+r*r+o*o==0.0)i=+a[e+36>>2];else i=+W(+(i*i+r*r+o*o));a[e+32>>2]=i;a[e+20>>2]=i;n[e+249>>0]=1;i=+a[t>>2];r=+a[t+4>>2];o=+a[t+8>>2];if(i*i+r*r+o*o==0.0){s=+a[e+256>>2];r=+a[e+260>>2];i=+a[e+264>>2];t=e+268|0}else{c=1.0/+W(+(i*i+r*r+o*o));s=i*c;r=r*c;i=o*c;t=t+12|0}t=_[t>>2]|0;a[e+272>>2]=s;a[e+276>>2]=r;a[e+280>>2]=i;_[e+284>>2]=t;t=(_[e+8>>2]|0)+52|0;_[e+116>>2]=_[t>>2];_[e+116+4>>2]=_[t+4>>2];_[e+116+8>>2]=_[t+8>>2];_[e+116+12>>2]=_[t+12>>2];return}function bj(e){e=e|0;var t=0,i=0,r=0;_[e>>2]=8600;i=_[e+156>>2]|0;t=_[e+164>>2]|0;if(i)do{i=i+-1|0;r=_[t+(i<<2)>>2]|0;if(r){ua[_[(_[r>>2]|0)+4>>2]&511](r);t=_[e+164>>2]|0}}while((i|0)!=0);if(t|0){if(n[e+168>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+164>>2]=0}n[e+168>>0]=1;_[e+164>>2]=0;_[e+156>>2]=0;_[e+160>>2]=0;_[e>>2]=3024;t=_[e+88>>2]|0;if(!t){n[e+92>>0]=1;_[e+88>>2]=0;_[e+80>>2]=0;e=e+84|0;_[e>>2]=0;return}if(n[e+92>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+88>>2]=0;n[e+92>>0]=1;_[e+88>>2]=0;_[e+80>>2]=0;e=e+84|0;_[e>>2]=0;return}function cj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;e:do{if(i>>>0>=3)if((i+-3|0)>>>0<3)switch(t|0){case 2:{n=+a[e+968+((i+-3|0)*88|0)+12>>2];break e}case 4:{n=+a[e+968+((i+-3|0)*88|0)+16>>2];break e}case 1:{n=+a[e+968+((i+-3|0)*88|0)+20>>2];break e}case 3:{n=+a[e+968+((i+-3|0)*88|0)+24>>2];break e}default:{n=0.0;break e}}else n=0.0;else switch(t|0){case 2:{n=+a[e+728+(i<<2)>>2];break e}case 4:{n=+a[e+744+(i<<2)>>2];break e}case 1:{n=+a[e+760+(i<<2)>>2];break e}case 3:{n=+a[e+776+(i<<2)>>2];break e}default:{n=0.0;break e}}}while(0);return+n}function dj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0.0,s=0.0,c=0.0,l=0,f=0,p=0;r=u;u=u+48|0;Za[_[(_[e>>2]|0)+124>>2]&127](e,r+32|0,n);p=_[r+32>>2]|0;f=_[r+32+4>>2]|0;l=_[r+32+8>>2]|0;_[t>>2]=p;_[t+4>>2]=f;_[t+8>>2]=l;a[t+12>>2]=0.0;n=_[(_[e>>2]|0)+64>>2]|0;c=-(_[b>>2]=p,+a[b>>2]);s=-(_[b>>2]=f,+a[b>>2]);o=-(_[b>>2]=l,+a[b>>2]);a[r>>2]=c;a[r+4>>2]=s;a[r+8>>2]=o;a[r+12>>2]=0.0;Za[n&127](r+16|0,e,r);_[i>>2]=_[r+16>>2];_[i+4>>2]=_[r+16+4>>2];_[i+8>>2]=_[r+16+8>>2];_[i+12>>2]=_[r+16+12>>2];u=r;return}function ej(e,t,i){e=e|0;t=t|0;i=i|0;do{if(!((t|0)==8&(i|0)==8)){if((t|0)==8&(i|0)==1){e=e+72|0;break}if((t|0)==1&(i|0)==8){e=e+76|0;break}if(!(i|t)){e=e+68|0;break}if((t|0)<20&(i|0)==28){e=e+84|0;break}if((t|0)==28&(i|0)<20){e=e+80|0;break}if((t|0)<20){if((i|0)<20){e=e+28|0;break}if((i+-21|0)>>>0<9){e=e+32|0;break}}else{if((i|0)<20&(t+-21|0)>>>0<9){e=e+36|0;break}if((t|0)==31)if((i|0)==31){e=e+44|0;break}else{e=e+40|0;break}}if((i|0)==31){e=e+48|0;break}else{e=e+52|0;break}}else e=e+56|0}while(0);return _[e>>2]|0}function fj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;r=u;u=u+16|0;_[e+4>>2]=_[t+40>>2];n=_[t>>2]|0;_[e+80>>2]=n;if(i){_[e+48>>2]=_[t+8>>2];_[e+48+4>>2]=_[t+8+4>>2];_[e+48+8>>2]=_[t+8+8>>2];_[e+48+12>>2]=_[t+8+12>>2]}else{n=rH(_G(n)|0)|0;fl(r,n,+a[t+8>>2],+a[t+12>>2],+a[t+16>>2]);_[e+48>>2]=_[r>>2];_[e+48+4>>2]=_[r+4>>2];_[e+48+8>>2]=_[r+8>>2];_[e+48+12>>2]=_[r+12>>2]}_[e+64>>2]=_[t+24>>2];_[e+64+4>>2]=_[t+24+4>>2];_[e+64+8>>2]=_[t+24+8>>2];_[e+64+12>>2]=_[t+24+12>>2];u=r;return+ +a[t+40>>2]}function gj(e,t,i,n,r){e=e|0;t=t|0;i=+i;n=n|0;r=r|0;var o=0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0;o=u;u=u+48|0;_[o+32>>2]=n;_[o+32+4>>2]=r;b=+a[t>>2];f=+a[t+4>>2];s=+a[t+8>>2];l=+a[e+56>>2]*b+ +a[e+60>>2]*f+ +a[e+64>>2]*s;c=b*+a[e+72>>2]+f*+a[e+76>>2]+s*+a[e+80>>2];s=b*+a[e+88>>2]+f*+a[e+92>>2]+s*+a[e+96>>2];_[o>>2]=_[e+48>>2];_[o+4>>2]=o+32;a[o+8>>2]=l;a[o+12>>2]=c;a[o+16>>2]=s;a[o+20>>2]=0.0;a[o+24>>2]=i;r=_[e+44>>2]|0;i=+Ba[_[(_[r>>2]|0)+12>>2]&31](r,o,1);u=o;return+i}function hj(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;if(n>>>0<3)switch(t|0){case 2:{a[e+756+(n<<2)>>2]=i;_[e+1304>>2]=_[e+1304>>2]|4<<n*3;return}case 4:{a[e+772+(n<<2)>>2]=i;_[e+1304>>2]=_[e+1304>>2]|2<<n*3;return}case 3:{a[e+740+(n<<2)>>2]=i;_[e+1304>>2]=_[e+1304>>2]|1<<n*3;return}default:return}if((n+-3|0)>>>0>=3)return;switch(t|0){case 2:{a[e+868+(n+-3<<6)+32>>2]=i;_[e+1304>>2]=_[e+1304>>2]|4<<n*3;return}case 4:{a[e+868+(n+-3<<6)+36>>2]=i;_[e+1304>>2]=_[e+1304>>2]|2<<n*3;return}case 3:{a[e+868+(n+-3<<6)+28>>2]=i;_[e+1304>>2]=_[e+1304>>2]|1<<n*3;return}default:return}}function ij(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0;o=Ur()|0;_[o+4>>2]=3;_[o+8>>2]=-1;_[o+12>>2]=-1;a[o+16>>2]=3402823466385288598117041.0e14;n[o+20>>0]=1;n[o+21>>0]=0;_[o+24>>2]=-1;_[o+28>>2]=e;_[o+32>>2]=t;a[o+36>>2]=0.0;a[o+40>>2]=.05000000074505806;_[o+44>>2]=0;_[o>>2]=3784;_[o+300>>2]=_[i>>2];_[o+300+4>>2]=_[i+4>>2];_[o+300+8>>2]=_[i+8>>2];_[o+300+12>>2]=_[i+12>>2];_[o+316>>2]=_[r>>2];_[o+316+4>>2]=_[r+4>>2];_[o+316+8>>2]=_[r+8>>2];_[o+316+12>>2]=_[r+12>>2];_[o+332>>2]=0;n[o+344>>0]=0;a[o+348>>2]=.30000001192092896;a[o+352>>2]=1.0;a[o+356>>2]=0.0;return o|0}function jj(e){e=e|0;var t=0;_[e>>2]=4176;t=_[e+80>>2]|0;if(t|0){if(n[e+84>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+80>>2]=0}n[e+84>>0]=1;_[e+80>>2]=0;_[e+72>>2]=0;_[e+76>>2]=0;t=_[e+60>>2]|0;if(t|0){if(n[e+64>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+60>>2]=0}n[e+64>>0]=1;_[e+60>>2]=0;_[e+52>>2]=0;_[e+56>>2]=0;t=_[e+40>>2]|0;if(!t){n[e+44>>0]=1;_[e+40>>2]=0;_[e+32>>2]=0;e=e+36|0;_[e>>2]=0;return}if(n[e+44>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+40>>2]=0;n[e+44>>0]=1;_[e+40>>2]=0;_[e+32>>2]=0;e=e+36|0;_[e>>2]=0;return}function kj(e){e=e|0;var t=0;_[e>>2]=4664;t=_[e+60>>2]|0;if(t|0){if(n[e+64>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+60>>2]=0}n[e+64>>0]=1;_[e+60>>2]=0;_[e+52>>2]=0;_[e+56>>2]=0;t=_[e+40>>2]|0;if(t|0){if(n[e+44>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+40>>2]=0}n[e+44>>0]=1;_[e+40>>2]=0;_[e+32>>2]=0;_[e+36>>2]=0;t=_[e+16>>2]|0;if(!t){n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}function lj(e){e=e|0;var t=0;_[e>>2]=5720;t=_[e+56>>2]|0;if(t|0){if(n[e+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+56>>2]=0}n[e+60>>0]=1;_[e+56>>2]=0;_[e+48>>2]=0;_[e+52>>2]=0;t=_[e+36>>2]|0;if(t|0){if(n[e+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+36>>2]=0}n[e+40>>0]=1;_[e+36>>2]=0;_[e+28>>2]=0;_[e+32>>2]=0;t=_[e+16>>2]|0;if(!t){t=e+12|0;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;_[t>>2]=0;return}if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0;t=e+12|0;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;_[t>>2]=0;return}function mj(e){e=e|0;var t=0;_[e>>2]=9564;t=_[e+56>>2]|0;if(t|0){if(n[e+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+56>>2]=0}n[e+60>>0]=1;_[e+56>>2]=0;_[e+48>>2]=0;_[e+52>>2]=0;t=_[e+36>>2]|0;if(t|0){if(n[e+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+36>>2]=0}n[e+40>>0]=1;_[e+36>>2]=0;_[e+28>>2]=0;_[e+32>>2]=0;t=_[e+16>>2]|0;if(!t){n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;e=e+12|0;_[e>>2]=0;return}function nj(e){e=e|0;var t=0,i=0,r=0;i=ur(10448)|0;_[i>>2]=4780;_[i+4>>2]=2;n[i+24>>0]=1;_[i+20>>2]=0;_[i+12>>2]=0;_[i+16>>2]=0;_[i+28>>2]=5692;a[i+60>>2]=0.0;_[i+10444>>2]=e;_[i+64>>2]=81;_[i+68>>2]=ya[_[(_[e>>2]|0)+12>>2]&127](e)|0;_[i+72>>2]=ya[_[(_[e>>2]|0)+8>>2]&127](e)|0;e=0;do{t=0;do{r=_[i+10444>>2]|0;_[i+76+(e*144|0)+(t<<2)>>2]=xa[_[(_[r>>2]|0)+16>>2]&63](r,e,t)|0;r=_[i+10444>>2]|0;_[i+5260+(e*144|0)+(t<<2)>>2]=xa[_[(_[r>>2]|0)+20>>2]&63](r,e,t)|0;t=t+1|0}while((t|0)<36);e=e+1|0}while((e|0)<36);return i|0}function oj(){var e=0,t=0,i=0,n=0;n=u;u=u+48|0;e=pr()|0;if(e|0?(i=_[e>>2]|0,i|0):0){t=_[i+48>>2]|0;e=_[i+48+4>>2]|0;if(!((t&-256|0)==1126902528&(e|0)==1129074247)){_[n+24>>2]=21767;wv(21717,n+24|0)}if((t|0)==1126902529&(e|0)==1129074247)e=_[i+44>>2]|0;else e=i+80|0;_[n+36>>2]=e;i=_[i>>2]|0;e=_[i+4>>2]|0;if(pk(2656,i,n+36|0)|0){i=_[n+36>>2]|0;i=ya[_[(_[i>>2]|0)+8>>2]&127](i)|0;_[n>>2]=21767;_[n+4>>2]=e;_[n+8>>2]=i;wv(21631,n)}else{_[n+16>>2]=21767;_[n+16+4>>2]=e;wv(21676,n+16|0)}}wv(21755,n+32|0)}function pj(e){e=e|0;var t=0;_[e>>2]=5648;t=_[e+344>>2]|0;ua[_[_[t>>2]>>2]&511](t);t=_[e+344>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e>>2]=5604;t=_[e+336>>2]|0;if(t|0){if(n[e+340>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+336>>2]=0}n[e+340>>0]=1;_[e+336>>2]=0;_[e+328>>2]=0;_[e+332>>2]=0;_[e>>2]=4872;t=_[e+296>>2]|0;if(!t){n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;e=e+292|0;_[e>>2]=0;return}if(n[e+300>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+296>>2]=0;n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;e=e+292|0;_[e>>2]=0;return}function qj(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=+n;r=r|0;o=o|0;var s=0;s=u;u=u+64|0;_[s+48>>2]=r;_[s+48+4>>2]=o;r=_[e+212>>2]|0;if(!(+a[r+4>>2]>=n)){u=s;return+n}_[s>>2]=_[e+216>>2];_[s+4>>2]=s+48;_[s+8>>2]=_[t>>2];_[s+8+4>>2]=_[t+4>>2];_[s+8+8>>2]=_[t+8>>2];_[s+8+12>>2]=_[t+12>>2];_[s+24>>2]=_[i>>2];_[s+24+4>>2]=_[i+4>>2];_[s+24+8>>2]=_[i+8>>2];_[s+24+12>>2]=_[i+12>>2];a[s+40>>2]=n;n=+Ba[_[(_[r>>2]|0)+12>>2]&31](r,s,1);u=s;return+n}function rj(e,t){e=e|0;t=t|0;var i=0,n=0.0,r=0.0,_=0.0,o=0.0,s=0.0;i=u;u=u+48|0;n=2.0/+uE(t);_=+a[(rH(t)|0)>>2];r=+a[(_G(t)|0)>>2];s=+a[(ZG(t)|0)>>2];o=+a[(YG(t)|0)>>2];a[i+32>>2]=1.0-(r*r*n+s*s*n);a[i+28>>2]=_*r*n-o*s*n;a[i+24>>2]=_*s*n+o*r*n;a[i+20>>2]=_*r*n+o*s*n;a[i+16>>2]=1.0-(_*_*n+s*s*n);a[i+12>>2]=r*s*n-o*_*n;a[i+8>>2]=_*s*n-o*r*n;a[i+4>>2]=r*s*n+o*_*n;a[i>>2]=1.0-(_*_*n+r*r*n);zo(e,i+32|0,i+28|0,i+24|0,i+20|0,i+16|0,i+12|0,i+8|0,i+4|0,i);u=i;return}function sj(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0;s=Fr()|0;ge(s,e,t,i,r,o);_[s>>2]=3600;_[s+4>>2]=9;n[s+1309>>0]=0;a[s+1316>>2]=0.0;a[s+1340>>2]=0.0;a[s+1364>>2]=1.0;n[s+1310>>0]=0;a[s+1320>>2]=0.0;a[s+1344>>2]=0.0;a[s+1368>>2]=1.0;n[s+1311>>0]=0;a[s+1324>>2]=0.0;a[s+1348>>2]=0.0;a[s+1372>>2]=1.0;n[s+1312>>0]=0;a[s+1328>>2]=0.0;a[s+1352>>2]=0.0;a[s+1376>>2]=1.0;n[s+1313>>0]=0;a[s+1332>>2]=0.0;a[s+1356>>2]=0.0;a[s+1380>>2]=1.0;n[s+1314>>0]=0;a[s+1336>>2]=0.0;a[s+1360>>2]=0.0;a[s+1384>>2]=1.0;return s|0}function tj(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0;r=_[i+16>>2]|0;if(!r){if(!(Tn(i)|0)){o=_[i+16>>2]|0;s=5}}else{o=r;s=5}e:do{if((s|0)==5){r=_[i+20>>2]|0;if((o-r|0)>>>0<t>>>0){xa[_[i+36>>2]&63](i,e,t)|0;break}t:do{if((n[i+75>>0]|0)>-1){s=t;while(1){if(!s){o=e;break t}o=s+-1|0;if((n[e+o>>0]|0)==10)break;else s=o}if((xa[_[i+36>>2]&63](i,e,s)|0)>>>0<s>>>0)break e;o=e+s|0;t=t-s|0;r=_[i+20>>2]|0}else o=e}while(0);oh(r|0,o|0,t|0)|0;_[i+20>>2]=(_[i+20>>2]|0)+t}}while(0);return}function uj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=u;u=u+32|0;_[e+8>>2]=_[t>>2];ln(e+24|0,t);if(i){_[n+16>>2]=_[t+8>>2];_[n+16+4>>2]=_[t+8+4>>2];_[n+16+8>>2]=_[t+8+8>>2];_[n+16+12>>2]=_[t+8+12>>2]}else{i=rH(_G(_[e+8>>2]|0)|0)|0;fl(n+16|0,i,+a[t+8>>2],+a[t+12>>2],+a[t+16>>2])}Nl(e+76|0,n+16|0);Zo(n,e+44|0,e+60|0,+a[t+24>>2]);Nl(e+96|0,n);ln(e+116|0,t+24|0);u=n;return+ +a[e+4>>2]}function vj(e,t,i){e=e|0;t=t|0;i=i|0;do{if(!((t|0)==8&(i|0)==8)){if((t|0)==8&(i|0)==1){e=e+72|0;break}if((t|0)==1&(i|0)==8){e=e+76|0;break}if((t|0)<20&(i|0)==28){e=e+84|0;break}if((t|0)==28&(i|0)<20){e=e+80|0;break}if((t|0)<20){if((i|0)<20){e=e+28|0;break}if((i+-21|0)>>>0<9){e=e+32|0;break}}else{if((i|0)<20&(t+-21|0)>>>0<9){e=e+36|0;break}if((t|0)==31)if((i|0)==31){e=e+44|0;break}else{e=e+40|0;break}}if((i|0)==31){e=e+48|0;break}else{e=e+52|0;break}}else e=e+56|0}while(0);return _[e>>2]|0}function wj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0;n=u;u=u+16|0;Za[_[(_[t>>2]|0)+68>>2]&127](n,t,i);_[e>>2]=_[n>>2];_[e+4>>2]=_[n+4>>2];_[e+8>>2]=_[n+8>>2];_[e+12>>2]=_[n+12>>2];s=+a[i>>2];o=+a[i+4>>2];r=+a[i+8>>2];l=s*s+o*o+r*r<1.4210854715202004e-14?-1.0:s;c=s*s+o*o+r*r<1.4210854715202004e-14?-1.0:o;r=s*s+o*o+r*r<1.4210854715202004e-14?-1.0:r;o=1.0/+W(+(r*r+(l*l+c*c)));s=+Da[_[(_[t>>2]|0)+48>>2]&15](t);a[e>>2]=+a[e>>2]+s*o*l;a[e+4>>2]=s*o*c+ +a[e+4>>2];a[e+8>>2]=s*o*r+ +a[e+8>>2];u=n;return}function xj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;n=u;u=u+48|0;r=zF(t,0)|0;a[n+32>>2]=+eo(i,r);a[n+28>>2]=+Rn(i,r);a[n+24>>2]=+Qn(i,r);r=zF(t,1)|0;a[n+20>>2]=+eo(i,r);a[n+16>>2]=+Rn(i,r);a[n+12>>2]=+Qn(i,r);t=zF(t,2)|0;a[n+8>>2]=+eo(i,t);a[n+4>>2]=+Rn(i,t);a[n>>2]=+Qn(i,t);Np(e,n+32|0,n+28|0,n+24|0,n+20|0,n+16|0,n+12|0,n+8|0,n+4|0,n);u=n;return}function yj(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;var r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0;s=+A(+i);o=+P(+i);i=+a[t+444>>2];if(+G(+s)>1.1920928955078125e-07){c=+a[t+448>>2];r=o*o;_=s*s;i=+W(+((o*o/(s*s)+1.0)/(1.0/(c*c)+o*o/(s*s)/(i*i))))}else{r=o*o;_=s*s}i=i*.5;c=+P(+i)/+W(+(_+0.0+r));i=+A(+i);l=i*n+s*c*0.0-o*c*-0.0;_=i*0.0-o*c*n-c*0.0*0.0;r=i*0.0+c*0.0*0.0-s*c*n;n=-(c*0.0*n)-s*c*0.0-o*c*-0.0;a[e>>2]=o*c*_+(i*l+n*-(c*0.0))-r*-(s*c);a[e+4>>2]=r*-(c*0.0)+(i*_+n*-(s*c))-o*c*l;a[e+8>>2]=l*-(s*c)+(o*c*n+i*r)-_*-(c*0.0);a[e+12>>2]=0.0;return}function zj(e,t){e=e|0;t=t|0;var i=0,r=0,o=0;a[e+20>>2]=0.0;a[e+24>>2]=0.0;n[e+248>>0]=0;n[e+249>>0]=0;a[e+252>>2]=0.0;_[e+68>>2]=0;_[e+68+4>>2]=0;_[e+68+8>>2]=0;_[e+68+12>>2]=0;e=_[(_[e+8>>2]|0)+344>>2]|0;if((_[(ya[_[(_[e>>2]|0)+28>>2]&127](e)|0)+4>>2]|0)<=0)return;do{r=_[e>>2]|0;o=_[r+12>>2]|0;r=_[_[(ya[_[r+28>>2]&127](e)|0)+12>>2]>>2]|0;i=_[(_[(ya[_[(_[e>>2]|0)+28>>2]&127](e)|0)+12>>2]|0)+4>>2]|0;Ua[o&31](e,r,i,_[t+24>>2]|0)|0}while((_[(ya[_[(_[e>>2]|0)+28>>2]&127](e)|0)+4>>2]|0)>0);return}function Aj(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0;_[6009]=(_[6009]|0)+-1;ma[_[(_[e>>2]|0)+20>>2]&127](e,t);n=_[t+800>>2]|0;i=(_[e+12>>2]|0)+-1|0;o=_[e+20>>2]|0;r=_[o+(n<<2)>>2]|0;_[o+(n<<2)>>2]=_[o+(i<<2)>>2];_[(_[e+20>>2]|0)+(i<<2)>>2]=r;_[(_[(_[e+20>>2]|0)+(n<<2)>>2]|0)+800>>2]=n;_[e+12>>2]=i;e=_[e+72>>2]|0;if(!t)return;o=_[e+16>>2]|0;if(o>>>0<=t>>>0?(o+(U(_[e>>2]|0,_[e+4>>2]|0)|0)|0)>>>0>t>>>0:0){_[t>>2]=_[e+12>>2];_[e+12>>2]=t;_[e+8>>2]=(_[e+8>>2]|0)+1;return}_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);return}function Bj(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0,s=0,c=0,a=0,l=0;l=_[t+8>>2]|0;if((l|0)<=0)return;a=_[t+16>>2]|0;c=0;t=0;do{s=_[a+(c<<2)>>2]|0;if(!(_[s+204>>2]&3)){o=_[e+16>>2]|0;n=o+(t<<3)|0;i=_[n>>2]|0;if((i|0)==(t|0))i=t;else{r=i;do{i=o+(r<<3)|0;_[n>>2]=_[i>>2];i=_[i>>2]|0;n=o+(i<<3)|0;r=_[n>>2]|0}while((i|0)!=(r|0))}_[s+208>>2]=i;_[o+(t<<3)+4>>2]=c;_[s+212>>2]=-1;t=t+1|0}else{_[s+208>>2]=-1;_[s+212>>2]=-2}c=c+1|0}while((c|0)!=(l|0));return}function Cj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,c=0;while(1){r=_[e+12>>2]|0;if(!(((s[n>>1]|0)>=(s[e>>1]|0)?(s[i>>1]|0)<=(s[e+6>>1]|0):0)&(s[i+4>>1]|0)<=(s[e+10>>1]|0)&(s[n+4>>1]|0)>=(s[e+4>>1]|0)&(s[i+2>>1]|0)<=(s[e+8>>1]|0)&(s[n+2>>1]|0)>=(s[e+2>>1]|0))){o=6;break}if((r|0)>-1)break;c=e+16|0;Cj(c,t,i,n);r=_[e+28>>2]|0;e=c+(((r|0)>-1?1:0-r|0)<<4)|0}if((o|0)==6)return;Za[_[(_[t>>2]|0)+8>>2]&127](t,r>>>21,r&2097151);return}function Dj(e,t,i){e=e|0;t=t|0;i=i|0;var r=0;r=Fr()|0;Ed(r,e,t,i);_[r>>2]=3600;_[r+4>>2]=9;n[r+1309>>0]=0;a[r+1316>>2]=0.0;a[r+1340>>2]=0.0;a[r+1364>>2]=1.0;n[r+1310>>0]=0;a[r+1320>>2]=0.0;a[r+1344>>2]=0.0;a[r+1368>>2]=1.0;n[r+1311>>0]=0;a[r+1324>>2]=0.0;a[r+1348>>2]=0.0;a[r+1372>>2]=1.0;n[r+1312>>0]=0;a[r+1328>>2]=0.0;a[r+1352>>2]=0.0;a[r+1376>>2]=1.0;n[r+1313>>0]=0;a[r+1332>>2]=0.0;a[r+1356>>2]=0.0;a[r+1380>>2]=1.0;n[r+1314>>0]=0;a[r+1336>>2]=0.0;a[r+1360>>2]=0.0;a[r+1384>>2]=1.0;return r|0}function Ej(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0;o=+a[e+60>>2];l=+a[e+76>>2]-o;c=+a[e+64>>2];s=+a[e+80>>2]-c;f=+a[e+68>>2];b=+a[e+84>>2]-f;o=+a[e+92>>2]-o;c=+a[e+96>>2]-c;f=+a[e+100>>2]-f;a[i+12>>2]=0.0;r=1.0/+W(+((l*c-s*o)*(l*c-s*o)+((s*f-b*c)*(s*f-b*c)+(b*o-l*f)*(b*o-l*f))));a[i>>2]=(s*f-b*c)*r;a[i+4>>2]=(b*o-l*f)*r;a[i+8>>2]=(l*c-s*o)*r;_[n>>2]=_[e+60>>2];_[n+4>>2]=_[e+60+4>>2];_[n+8>>2]=_[e+60+8>>2];_[n+12>>2]=_[e+60+12>>2];return}function Fj(e){e=e|0;var t=0,i=0;_[e>>2]=9424;if(n[e+52>>0]|0?(t=_[e+56>>2]|0,t|0):0){i=_[e+4>>2]|0;ma[_[(_[i>>2]|0)+16>>2]&127](i,t)}t=_[e+44>>2]|0;if(t|0){if(n[e+48>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+44>>2]=0}n[e+48>>0]=1;_[e+44>>2]=0;_[e+36>>2]=0;_[e+40>>2]=0;t=_[e+24>>2]|0;if(!t){n[e+28>>0]=1;_[e+24>>2]=0;_[e+16>>2]=0;i=e+20|0;_[i>>2]=0;return}if(n[e+28>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+24>>2]=0;n[e+28>>0]=1;_[e+24>>2]=0;_[e+16>>2]=0;i=e+20|0;_[i>>2]=0;return}function Gj(e,t){e=e|0;t=t|0;var i=0,r=0,o=0;o=u;u=u+224|0;i=o+80|0;r=i+40|0;do{_[i>>2]=0;i=i+4|0}while((i|0)<(r|0));_[o+120>>2]=_[t>>2];if((Lc(0,e,o+120|0,o,o+80|0)|0)>=0){i=_[2423]|0;if((n[9766]|0)<1)_[2423]=i&-33;if(!(_[2435]|0)){t=_[2434]|0;_[2434]=o+136;_[2430]=o+136;_[2428]=o+136;_[2435]=80;_[2427]=o+136+80;Lc(9692,e,o+120|0,o,o+80|0)|0;if(t|0){xa[_[9728>>2]&63](9692,0,0)|0;_[2434]=t;_[2435]=0;_[2427]=0;_[2430]=0;_[2428]=0}}else Lc(9692,e,o+120|0,o,o+80|0)|0;_[2423]=_[2423]|i&32}u=o;return}function Hj(e,t){e=e|0;t=t|0;do{if(e){if(t>>>0<128){n[e>>0]=t;e=1;break}if(!(_[6883]|0))if((t&-128|0)==57216){n[e>>0]=t;e=1;break}else{_[7016]=84;e=-1;break}if(t>>>0<2048){n[e>>0]=t>>>6|192;n[e+1>>0]=t&63|128;e=2;break}if(t>>>0<55296|(t&-8192|0)==57344){n[e>>0]=t>>>12|224;n[e+1>>0]=t>>>6&63|128;n[e+2>>0]=t&63|128;e=3;break}if((t+-65536|0)>>>0<1048576){n[e>>0]=t>>>18|240;n[e+1>>0]=t>>>12&63|128;n[e+2>>0]=t>>>6&63|128;n[e+3>>0]=t&63|128;e=4;break}else{_[7016]=84;e=-1;break}}else e=1}while(0);return e|0}function Ij(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0;s=+a[e+60>>2];l=+a[e+76>>2]-s;c=+a[e+64>>2];_=+a[e+80>>2]-c;n=+a[e+68>>2];o=+a[e+84>>2]-n;s=+a[e+92>>2]-s;c=+a[e+96>>2]-c;n=+a[e+100>>2]-n;a[i+12>>2]=0.0;r=1.0/+W(+((l*c-_*s)*(l*c-_*s)+((_*n-o*c)*(_*n-o*c)+(o*s-l*n)*(o*s-l*n))));a[i>>2]=(_*n-o*c)*r;a[i+4>>2]=(o*s-l*n)*r;a[i+8>>2]=(l*c-_*s)*r;if(!t)return;a[i>>2]=-((_*n-o*c)*r);a[i+4>>2]=-((o*s-l*n)*r);a[i+8>>2]=-((l*c-_*s)*r);return}function Jj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;r=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t>>2]=r;if(r|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+4>>2]=_[e+4>>2];_[t+8>>2]=0;_[t+28>>2]=_[e+32>>2];_[t+32>>2]=_[e+36>>2];_[t+36>>2]=_[e+40>>2];_[t+40>>2]=_[e+44>>2];_[t+12>>2]=_[e+16>>2];_[t+16>>2]=_[e+20>>2];_[t+20>>2]=_[e+24>>2];_[t+24>>2]=_[e+28>>2];_[t+44>>2]=_[e+48>>2];_[t+48>>2]=0;_[t+52>>2]=_[e+56>>2];_[t+56>>2]=0;return 16287}function Kj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0,c=0;s=_[e+100>>2]|0;c=_[e+108>>2]|0;r=+a[c+(((t|0)%(s|0)|0)<<4)+4>>2]*+a[e+20>>2];o=+a[c+(((t|0)%(s|0)|0)<<4)+8>>2]*+a[e+24>>2];a[i>>2]=+a[c+(((t|0)%(s|0)|0)<<4)>>2]*+a[e+16>>2];a[i+4>>2]=r;a[i+8>>2]=o;a[i+12>>2]=0.0;i=_[e+108>>2]|0;o=+a[i+(((t+1|0)%(s|0)|0)<<4)+4>>2]*+a[e+20>>2];r=+a[i+(((t+1|0)%(s|0)|0)<<4)+8>>2]*+a[e+24>>2];a[n>>2]=+a[i+(((t+1|0)%(s|0)|0)<<4)>>2]*+a[e+16>>2];a[n+4>>2]=o;a[n+8>>2]=r;a[n+12>>2]=0.0;return}function Lj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;r=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t>>2]=r;if(r|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+4>>2]=_[e+4>>2];_[t+8>>2]=0;_[t+28>>2]=_[e+32>>2];_[t+32>>2]=_[e+36>>2];_[t+36>>2]=_[e+40>>2];_[t+40>>2]=_[e+44>>2];_[t+12>>2]=_[e+16>>2];_[t+16>>2]=_[e+20>>2];_[t+20>>2]=_[e+24>>2];_[t+24>>2]=_[e+28>>2];_[t+44>>2]=_[e+48>>2];_[t+48>>2]=0;_[t+52>>2]=_[e+56>>2];_[t+56>>2]=0;return 15818}function Mj(e,t){e=e|0;t=t|0;var i=0,n=0,r=0.0,o=0,s=0;n=u;u=u+32|0;i=_[e+184>>2]|0;if(+a[i+4>>2]==0.0){i=0;u=n;return i|0}t=_[t>>2]|0;if(!(Pa[_[(_[i>>2]|0)+8>>2]&31](i,_[t+188>>2]|0)|0)){i=1;u=n;return i|0}o=_[e+192>>2]|0;s=_[t+192>>2]|0;i=_[e+184>>2]|0;r=+a[e+188>>2];_[n>>2]=0;_[n+4>>2]=s;_[n+8>>2]=t;_[n+12>>2]=t+4;_[n+16>>2]=-1;_[n+20>>2]=-1;jc(o,e+36|0,e+100|0,n,i,r);i=1;u=n;return i|0}function Nj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;r=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t>>2]=r;if(r|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+4>>2]=_[e+4>>2];_[t+8>>2]=0;_[t+28>>2]=_[e+32>>2];_[t+32>>2]=_[e+36>>2];_[t+36>>2]=_[e+40>>2];_[t+40>>2]=_[e+44>>2];_[t+12>>2]=_[e+16>>2];_[t+16>>2]=_[e+20>>2];_[t+20>>2]=_[e+24>>2];_[t+24>>2]=_[e+28>>2];_[t+44>>2]=_[e+48>>2];_[t+48>>2]=0;_[t+52>>2]=_[e+72>>2];_[t+56>>2]=0;return 16050}function Oj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0;n=u;u=u+16|0;l=+a[i>>2];c=+a[i+4>>2];s=+a[i+8>>2];o=l*+a[t+60>>2]+c*+a[t+64>>2]+s*+a[t+68>>2];r=l*+a[t+76>>2]+c*+a[t+80>>2]+s*+a[t+84>>2];s=l*+a[t+92>>2]+c*+a[t+96>>2]+s*+a[t+100>>2];a[n>>2]=o;a[n+4>>2]=r;a[n+8>>2]=s;a[n+12>>2]=0.0;i=t+60+((+a[n+((o<r&1)<<2)>>2]<s?2:o<r&1)<<4)|0;_[e>>2]=_[i>>2];_[e+4>>2]=_[i+4>>2];_[e+8>>2]=_[i+8>>2];_[e+12>>2]=_[i+12>>2];u=n;return}function Pj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0;n=u;u=u+32|0;o=zF(_[e+16>>2]|0,t)|0;rm(n+16|0,r[o>>1]|0,r[o+2>>1]|0,r[o+4>>1]|0,e+24|0,e+56|0);_[i>>2]=_[n+16>>2];_[i+4>>2]=_[n+16+4>>2];_[i+8>>2]=_[n+16+8>>2];_[i+12>>2]=_[n+16+12>>2];t=zF(_[e+16>>2]|0,t)|0;rm(n,r[t+6>>1]|0,r[t+8>>1]|0,r[t+10>>1]|0,e+24|0,e+56|0);_[i+16>>2]=_[n>>2];_[i+16+4>>2]=_[n+4>>2];_[i+16+8>>2]=_[n+8>>2];_[i+16+12>>2]=_[n+12>>2];u=n;return}function Qj(e,t){e=e|0;t=t|0;var i=0;i=u;u=u+16|0;_[i>>2]=_[t>>2];_[i+4>>2]=_[t+4>>2];_[i+8>>2]=_[t+8>>2];_[i+12>>2]=_[t+12>>2];t=_[e+8>>2]|0;_[t+304>>2]=(_[t+304>>2]|0)+1;_[t+4>>2]=1065353216;_[t+8>>2]=0;_[t+8+4>>2]=0;_[t+8+8>>2]=0;_[t+8+12>>2]=0;_[t+24>>2]=1065353216;_[t+28>>2]=0;_[t+28+4>>2]=0;_[t+28+8>>2]=0;_[t+28+12>>2]=0;_[t+44>>2]=1065353216;_[t+48>>2]=0;_[t+52>>2]=_[i>>2];_[t+52+4>>2]=_[i+4>>2];_[t+52+8>>2]=_[i+8>>2];_[t+52+12>>2]=_[i+12>>2];u=i;return}function Rj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0;do{switch(t|0){case 0:{t=1;r=0;break}case 1:{t=2;r=0;break}case 2:{t=3;r=1;break}case 3:{r=2;break}case 4:{r=0;break}case 5:{r=1;break}case 6:{r=2;break}case 7:{r=3;break}case 8:{t=5;r=4;break}case 9:{t=6;r=4;break}case 10:{t=7;r=5;break}case 11:{t=7;r=6;break}default:{t=0;r=0}}}while(0);Za[_[(_[e>>2]|0)+108>>2]&127](e,r,i);Za[_[(_[e>>2]|0)+108>>2]&127](e,t,n);return}function Sj(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0;l=+Da[_[(_[e>>2]|0)+48>>2]&15](e);o=+Da[_[(_[e>>2]|0)+48>>2]&15](e);i=+Da[_[(_[e>>2]|0)+48>>2]&15](e);b=(l+ +a[e+32>>2])/+a[e+16>>2];c=(o+ +a[e+36>>2])/+a[e+20>>2];r=(i+ +a[e+40>>2])/+a[e+24>>2];f=+G(+ +a[t>>2]);s=+G(+ +a[t+4>>2]);n=+G(+ +a[t+8>>2]);a[e+16>>2]=f;a[e+20>>2]=s;a[e+24>>2]=n;a[e+28>>2]=0.0;a[e+32>>2]=b*f-l;a[e+36>>2]=c*s-o;a[e+40>>2]=r*n-i;a[e+44>>2]=0.0;return}function Tj(e,t,i,n,r,o,s,c,l){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;var f=0,b=0,p=0.0,u=0;Fa[_[(_[e>>2]|0)+32>>2]&1](e,t,i,n,r,o,s,c,l);f=_[e+184>>2]|0;b=_[c+20>>2]|0;b=(f|0)>(b|0)?f:b;if((b|0)<=0)return 0.0;f=0;do{p=+La[_[(_[e>>2]|0)+40>>2]&3](e,f,t,i,n,r,o,s,c,l);a[e+228>>2]=p;u=f;f=f+1|0}while(((u|0)<(b+-1|0)?!(p<=+a[c+92>>2]):0)&(f|0)<(b|0));return 0.0}function Uj(e,t){e=e|0;t=t|0;var i=0,r=0,o=0.0,s=0,c=0;if(n[e+527>>0]|0){_[t>>2]=0;_[t+4>>2]=0;return}_[t>>2]=3;_[t+4>>2]=3;c=_[e+28>>2]|0;s=_[e+32>>2]|0;nc(e,c+4|0,s+4|0,c+324|0,s+324|0);if((n[e+526>>0]|0?(i=_[t>>2]|0,_[t>>2]=i+1,r=_[t+4>>2]|0,_[t+4>>2]=r+-1,o=+a[e+456>>2],+a[e+444>>2]<o):0)?+a[e+448>>2]<o:0){_[t>>2]=i+2;_[t+4>>2]=r+-2}if(!(n[e+525>>0]|0))return;_[t>>2]=(_[t>>2]|0)+1;_[t+4>>2]=(_[t+4>>2]|0)+-1;return}function Vj(e,t,i,r,o){e=e|0;t=+t;i=i|0;r=r|0;o=o|0;a[e>>2]=t;_[e+4>>2]=i;_[e+72>>2]=r;_[e+76>>2]=_[o>>2];_[e+76+4>>2]=_[o+4>>2];_[e+76+8>>2]=_[o+8>>2];_[e+76+12>>2]=_[o+12>>2];a[e+92>>2]=0.0;a[e+96>>2]=0.0;a[e+100>>2]=.5;a[e+104>>2]=0.0;a[e+108>>2]=0.0;a[e+112>>2]=0.0;a[e+116>>2]=.800000011920929;a[e+120>>2]=1.0;n[e+124>>0]=0;a[e+128>>2]=.004999999888241291;a[e+132>>2]=.009999999776482582;a[e+136>>2]=.009999999776482582;a[e+140>>2]=.009999999776482582;bq(e+8|0);return}function Wj(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0;r=e+i|0;t=t&255;if((i|0)>=67){while(e&3){n[e>>0]=t;e=e+1|0}o=t|t<<8|t<<16|t<<24;while((e|0)<=((r&-4)-64|0)){_[e>>2]=o;_[e+4>>2]=o;_[e+8>>2]=o;_[e+12>>2]=o;_[e+16>>2]=o;_[e+20>>2]=o;_[e+24>>2]=o;_[e+28>>2]=o;_[e+32>>2]=o;_[e+36>>2]=o;_[e+40>>2]=o;_[e+44>>2]=o;_[e+48>>2]=o;_[e+52>>2]=o;_[e+56>>2]=o;_[e+60>>2]=o;e=e+64|0}while((e|0)<(r&-4|0)){_[e>>2]=o;e=e+4|0}}while((e|0)<(r|0)){n[e>>0]=t;e=e+1|0}return r-i|0}function Xj(e,t,i,n,r,_,o,s,c,l){e=+e;t=+t;i=+i;n=+n;r=+r;_=+_;o=+o;s=+s;c=+c;l=l|0;if(!(((o-n)*t-(s-r)*e)*_+(((s-r)*i-(c-_)*t)*n+((c-_)*e-(o-n)*i)*r)<0.0)){l=0;return l|0}do{if(!((o-n)*n+(s-r)*r+(c-_)*_>0.0))if((o-n)*o+(s-r)*s+(c-_)*c<0.0){e=o*o+s*s+c*c;break}else{e=((o*o+s*s+c*c)*(n*n+r*r+_*_)-(o*n+s*r+c*_)*(o*n+s*r+c*_))/((o-n)*(o-n)+(s-r)*(s-r)+(c-_)*(c-_));e=e>0.0?e:0.0;break}else e=n*n+r*r+_*_}while(0);a[l>>2]=+W(+e);l=1;return l|0}function Yj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;e:do{if(i>>>0>=3)if((i+-3|0)>>>0<3)switch(t|0){case 2:{n=+a[e+868+(i+-3<<6)+32>>2];break e}case 4:{n=+a[e+868+(i+-3<<6)+36>>2];break e}case 3:{n=+a[e+868+(i+-3<<6)+28>>2];break e}default:{n=0.0;break e}}else n=0.0;else switch(t|0){case 2:{n=+a[e+756+(i<<2)>>2];break e}case 4:{n=+a[e+772+(i<<2)>>2];break e}case 3:{n=+a[e+740+(i<<2)>>2];break e}default:{n=0.0;break e}}}while(0);return+n}function Zj(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0.0;Za[_[(_[t>>2]|0)+68>>2]&127](e,t,i);if(!(+Da[_[(_[t>>2]|0)+48>>2]&15](t)!=0.0))return;o=+a[i>>2];r=+a[i+4>>2];n=+a[i+8>>2];c=o*o+r*r+n*n<1.4210854715202004e-14?-1.0:o;s=o*o+r*r+n*n<1.4210854715202004e-14?-1.0:r;n=o*o+r*r+n*n<1.4210854715202004e-14?-1.0:n;r=1.0/+W(+(n*n+(c*c+s*s)));o=+Da[_[(_[t>>2]|0)+48>>2]&15](t);a[e>>2]=+a[e>>2]+o*r*c;a[e+4>>2]=o*r*s+ +a[e+4>>2];a[e+8>>2]=o*r*n+ +a[e+8>>2];return}function _j(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;do{if(!(rC(e,_[t+8>>2]|0)|0)){if(rC(e,_[t>>2]|0)|0){if((_[t+16>>2]|0)!=(i|0)?(_[t+20>>2]|0)!=(i|0):0){_[t+32>>2]=r;_[t+20>>2]=i;_[t+40>>2]=(_[t+40>>2]|0)+1;if((_[t+36>>2]|0)==1?(_[t+24>>2]|0)==2:0)n[t+54>>0]=1;_[t+44>>2]=4;break}if((r|0)==1)_[t+32>>2]=1}}else nr(t,i,r)}while(0);return}function $j(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0,_=0.0,o=0.0,s=0.0,c=0;c=u;u=u+16|0;o=+a[t>>2];s=+a[t+4>>2];r=+a[t+8>>2];if(o*o+s*s+r*r>0.0?(_=+a[e+52>>2],_>0.0):0){i=1.0/+W(+(o*o+s*s+r*r));n=r*i*-_*r*i*-_+(o*i*-_*o*i*-_+s*i*-_*s*i*-_);if(n>0.0){a[c>>2]=-(o*i*-_);a[c+4>>2]=-(s*i*-_);a[c+8>>2]=-(r*i*-_);a[c+12>>2]=0.0;Xd(e,c)}a[e+52>>2]=+W(+n);u=c;return}Xd(e,t);u=c;return}function ak(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0;e:do{if(!(rC(e,_[t+8>>2]|0)|0)){s=_[e+12>>2]|0;mn(e+16|0,t,i,r);if((s|0)>1){o=e+24|0;do{mn(o,t,i,r);if(n[t+54>>0]|0)break e;o=o+8|0}while(o>>>0<(e+16+(s<<3)|0)>>>0)}}else im(t,i,r)}while(0);return}function bk(e,t){e=e|0;t=t|0;var i=0;t=u;u=u+16|0;i=_[e+8>>2]|0;_[e+132>>2]=_[i+52>>2];_[e+132+4>>2]=_[i+52+4>>2];_[e+132+8>>2]=_[i+52+8>>2];_[e+132+12>>2]=_[i+52+12>>2];To(e+152|0,i+52|0,16)|0;Lg(i+4|0,t);_[e+168>>2]=_[t>>2];_[e+168+4>>2]=_[t+4>>2];_[e+168+8>>2]=_[t+8>>2];_[e+168+12>>2]=_[t+12>>2];_[e+184>>2]=_[e+168>>2];_[e+184+4>>2]=_[e+168+4>>2];_[e+184+8>>2]=_[e+168+8>>2];_[e+184+12>>2]=_[e+168+12>>2];u=t;return}function ck(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;r=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t>>2]=r;if(r|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+4>>2]=_[e+4>>2];_[t+8>>2]=0;r=_[e+148>>2]|0;xa[_[(_[r>>2]|0)+56>>2]&63](r,t+12|0,i)|0;_[t+56>>2]=_[e+16>>2];_[t+40>>2]=_[e+56>>2];_[t+44>>2]=_[e+60>>2];_[t+48>>2]=_[e+64>>2];_[t+52>>2]=_[e+68>>2];_[t+60>>2]=ya[_[(_[e>>2]|0)+80>>2]&127](e)|0;return 17386}function dk(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0;r=_[e+228>>2]|0;e:do{if((r|0)>0){n=_[e+236>>2]|0;i=0;while(1){if((_[n+(i<<2)>>2]|0)==(t|0))break e;i=i+1|0;if((i|0)>=(r|0)){i=r;break}}}else i=r}while(0);if((r|0)>(i|0)){o=_[e+236>>2]|0;i=o+(i<<2)|0;n=_[i>>2]|0;_[i>>2]=_[o+(r+-1<<2)>>2];_[(_[e+236>>2]|0)+(r+-1<<2)>>2]=n;_[e+228>>2]=r+-1}rg(_[t+28>>2]|0,t);rg(_[t+32>>2]|0,t);return}function ek(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=u;u=u+16|0;ln(e+16|0,t);if(i){_[n>>2]=_[t+8>>2];_[n+4>>2]=_[t+8+4>>2];_[n+8>>2]=_[t+8+8>>2];_[n+12>>2]=_[t+8+12>>2]}else{i=rH(_G(_[t>>2]|0)|0)|0;fl(n,i,+a[t+8>>2],+a[t+12>>2],+a[t+16>>2])}Nl(e+68|0,n);Nl(e+88|0,t+24|0);ln(e+108|0,t+40|0);u=n;return+ +a[e+4>>2]}function fk(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;r=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t>>2]=r;if(r|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+4>>2]=_[e+4>>2];_[t+8>>2]=0;_[t+28>>2]=_[e+32>>2];_[t+32>>2]=_[e+36>>2];_[t+36>>2]=_[e+40>>2];_[t+40>>2]=_[e+44>>2];_[t+12>>2]=_[e+16>>2];_[t+16>>2]=_[e+20>>2];_[t+20>>2]=_[e+24>>2];_[t+24>>2]=_[e+28>>2];_[t+44>>2]=_[e+48>>2];_[t+48>>2]=0;return 15359}function gk(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;r=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t>>2]=r;if(r|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+4>>2]=_[e+4>>2];_[t+8>>2]=0;_[t+12>>2]=_[e+72>>2];_[t+16>>2]=_[e+76>>2];_[t+20>>2]=_[e+80>>2];_[t+24>>2]=_[e+84>>2];_[t+28>>2]=_[e+52>>2];_[t+32>>2]=_[e+56>>2];_[t+36>>2]=_[e+60>>2];_[t+40>>2]=_[e+64>>2];_[t+44>>2]=_[e+68>>2];_[t+48>>2]=0;return 16727}function hk(e,t,i){e=e|0;t=t|0;i=i|0;e=ur(144)|0;_[e>>2]=4232;n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;n[e+40>>0]=1;_[e+36>>2]=0;_[e+28>>2]=0;_[e+32>>2]=0;n[e+60>>0]=1;_[e+56>>2]=0;_[e+48>>2]=0;_[e+52>>2]=0;n[e+80>>0]=1;_[e+76>>2]=0;_[e+68>>2]=0;_[e+72>>2]=0;_[e+92>>2]=i;a[e+96>>2]=0.0;n[e+140>>0]=1;_[e+136>>2]=0;_[e+128>>2]=0;_[e+132>>2]=0;_[e+108>>2]=t;_[e+112>>2]=0;_[e+116>>2]=2;_[e+120>>2]=1;a[e+104>>2]=0.0;a[e+100>>2]=0.0;return e|0}function ik(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0;r=_[t>>2]|0;r=Pa[_[(_[r>>2]|0)+56>>2]&31](r,72)|0;s=_[t+4>>2]|0;c=_[e+8>>2]|0;o=_[e+12>>2]|0;i=_[e+16>>2]|0;_[r+4>>2]=_[t>>2];_[r>>2]=9424;_[r+8>>2]=c;n[r+28>>0]=1;_[r+24>>2]=0;_[r+16>>2]=0;_[r+20>>2]=0;n[r+48>>0]=1;_[r+44>>2]=0;_[r+36>>2]=0;_[r+40>>2]=0;n[r+52>>0]=0;_[r+56>>2]=s;n[r+60>>0]=0;_[r+64>>2]=o;_[r+68>>2]=i;return r|0}function jk(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=u;u=u+32|0;if(!(+a[e+404>>2]!=0.0)){u=n;return}fn(e,+a[t>>2],+a[t+4>>2],+a[t+8>>2]);if(!(rH(e+604|0)|0)){u=n;return}$o(n,+a[t>>2],+a[t+4>>2],+a[t+8>>2],+a[e+408>>2],+a[e+412>>2],+a[e+416>>2]);to(n+16|0,+a[i>>2],+a[i+4>>2],+a[i+8>>2],+a[n>>2],+a[n+4>>2],+a[n+8>>2]);gn(e,+a[n+16>>2],+a[n+16+4>>2],+a[n+16+8>>2]);u=n;return}function kk(e,t){e=e|0;t=t|0;var i=0;i=Or()|0;_[i+8>>2]=0;_[i+12>>2]=-1;_[i+16>>2]=1065353216;_[i+20>>2]=1065353216;_[i+24>>2]=1065353216;a[i+28>>2]=0.0;a[i+48>>2]=.03999999910593033;_[i+56>>2]=0;_[i+60>>2]=1065353216;_[i+64>>2]=1065353216;_[i+68>>2]=1065353216;a[i+72>>2]=0.0;_[i+76>>2]=-1082130432;_[i+80>>2]=-1082130432;_[i+84>>2]=-1082130432;a[i+88>>2]=0.0;n[i+92>>0]=0;_[i>>2]=6920;_[i+96>>2]=e;_[i+4>>2]=3;if(!t)return i|0;vi(i);return i|0}function lk(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;n[e+53>>0]=1;do{if((_[e+4>>2]|0)==(i|0)){n[e+52>>0]=1;i=_[e+16>>2]|0;if(!i){_[e+16>>2]=t;_[e+24>>2]=r;_[e+36>>2]=1;if(!((r|0)==1?(_[e+48>>2]|0)==1:0))break;n[e+54>>0]=1;break}if((i|0)!=(t|0)){_[e+36>>2]=(_[e+36>>2]|0)+1;n[e+54>>0]=1;break}i=_[e+24>>2]|0;if((i|0)==2){_[e+24>>2]=r;i=r}if((i|0)==1?(_[e+48>>2]|0)==1:0)n[e+54>>0]=1}}while(0);return}function mk(){var e=0;e=es()|0;_[e+8>>2]=0;_[e+12>>2]=-1;_[e+16>>2]=1065353216;_[e+20>>2]=1065353216;_[e+24>>2]=1065353216;a[e+28>>2]=0.0;a[e+48>>2]=.03999999910593033;_[e+56>>2]=0;_[e+60>>2]=1065353216;_[e+64>>2]=1065353216;_[e+68>>2]=1065353216;a[e+72>>2]=0.0;_[e+76>>2]=-1082130432;_[e+80>>2]=-1082130432;_[e+84>>2]=-1082130432;a[e+88>>2]=0.0;n[e+92>>0]=0;_[e>>2]=6788;n[e+112>>0]=1;_[e+108>>2]=0;_[e+104>>2]=0;_[e+4>>2]=4;_[e+100>>2]=0;vi(e);return e|0}function nk(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0;r=_[e+248>>2]|0;e:do{if((r|0)>0){n=_[e+256>>2]|0;i=0;while(1){if((_[n+(i<<2)>>2]|0)==(t|0))break e;i=i+1|0;if((i|0)>=(r|0)){i=r;break}}}else i=r}while(0);if((r|0)<=(i|0)){sh(e,t);return}o=_[e+256>>2]|0;i=o+(i<<2)|0;n=_[i>>2]|0;_[i>>2]=_[o+(r+-1<<2)>>2];_[(_[e+256>>2]|0)+(r+-1<<2)>>2]=n;_[e+248>>2]=r+-1;sh(e,t);return}function ok(e,t,i){e=e|0;t=t|0;i=+i;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0;n[e+251>>0]=0;_[e+68>>2]=_[t>>2];_[e+68+4>>2]=_[t+4>>2];_[e+68+8>>2]=_[t+8>>2];_[e+68+12>>2]=_[t+12>>2];r=+a[e+68>>2];o=+a[e+72>>2];s=+a[e+76>>2];c=+W(+(r*r+o*o+s*s));if(c>1.1920928955078125e-07){l=r*(1.0/c);o=o*(1.0/c);r=s*(1.0/c);t=_[e+80>>2]|0}else{l=0.0;o=0.0;r=0.0;t=0}a[e+84>>2]=l;a[e+88>>2]=o;a[e+92>>2]=r;_[e+96>>2]=t;a[e+252>>2]=+a[e+252>>2]+i;return}function pk(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0;o=u;u=u+64|0;if(!(rC(e,t)|0))if((t|0)!=0?(r=ji(t,2664)|0,(r|0)!=0):0){t=o+4|0;n=t+52|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(n|0));_[o>>2]=r;_[o+8>>2]=e;_[o+12>>2]=-1;_[o+48>>2]=1;$a[_[(_[r>>2]|0)+28>>2]&127](r,o,_[i>>2]|0,1);if((_[o+24>>2]|0)==1){_[i>>2]=_[o+16>>2];t=1}else t=0}else t=0;else t=1;u=o;return t|0}function qk(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,_=0.0,o=0.0,s=0,c=0.0,l=0.0,f=0.0,b=0;if((n|0)<=0)return;b=0;do{r=+a[e+36>>2];o=+a[e+32>>2];s=t+(b<<4)|0;l=+a[t+(b<<4)+4>>2];_=+a[t+(b<<4)+8>>2];f=+W(+(l*l+_*_));if(f!=0.0){c=_*(r/f);_=+a[s>>2]<0.0?-o:o;r=l*(r/f)}else{c=0.0;_=+a[s>>2]<0.0?-o:o}a[i+(b<<4)>>2]=_;a[i+(b<<4)+4>>2]=r;a[i+(b<<4)+8>>2]=c;b=b+1|0}while((b|0)!=(n|0));return}function rk(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,s=0,c=0,a=0,l=0;a=_[t>>2]|0;if(!n)n=_[e+188>>2]|0;c=_[e+328>>2]|0;if((c|0)<=0)return;s=_[e+336>>2]|0;r=0;while(1){o=s+(r<<2)|0;if((_[o>>2]|0)==(a|0))break;r=r+1|0;if((r|0)>=(c|0)){l=9;break}}if((l|0)==9)return;if((r|0)>=(c|0))return;_[o>>2]=_[s+(c+-1<<2)>>2];_[e+328>>2]=c+-1;l=_[e+344>>2]|0;Ua[_[(_[l>>2]|0)+12>>2]&31](l,n,t,i)|0;return}function sk(e,t){e=e|0;t=t|0;var i=0,n=0,r=0;n=u;u=u+32|0;i=_[e+216>>2]|0;if(+a[i+4>>2]==0.0){i=0;u=n;return i|0}t=_[t>>2]|0;if(!(Pa[_[(_[i>>2]|0)+8>>2]&31](i,_[t+188>>2]|0)|0)){i=1;u=n;return i|0}r=_[t+192>>2]|0;i=_[e+216>>2]|0;_[n>>2]=0;_[n+4>>2]=r;_[n+8>>2]=t;_[n+12>>2]=t+4;_[n+16>>2]=-1;_[n+20>>2]=-1;Dc(e+68|0,e+132|0,n,i);i=1;u=n;return i|0}function tk(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;_[e+4>>2]=_[t>>2];_[e>>2]=9208;n[e+24>>0]=1;_[e+20>>2]=0;_[e+12>>2]=0;_[e+16>>2]=0;n[e+44>>0]=1;_[e+40>>2]=0;_[e+32>>2]=0;_[e+36>>2]=0;n[e+64>>0]=1;_[e+60>>2]=0;_[e+52>>2]=0;_[e+56>>2]=0;n[e+68>>0]=o&1;_[e+72>>2]=_[t+4>>2];n[e+76>>0]=0;_[e+80>>2]=_[(_[(o?r:i)+4>>2]|0)+72>>2];tg(e,i,r);return}function uk(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0,o=0,s=0,c=0;c=_[e+72>>2]|0;s=_[e+68>>2]|0;o=_[e+76>>2]|0;n=+a[e+64>>2]*(+a[t+(c<<2)>>2]/+a[e+16+(c<<2)>>2]);a[e+64>>2]=n;r=+a[e+60>>2]*(+a[t+(s<<2)>>2]/+a[e+16+(s<<2)>>2]+ +a[t+(o<<2)>>2]/+a[e+16+(o<<2)>>2])*.5;a[e+60>>2]=r;a[e+56>>2]=r/+W(+(n*n+r*r));r=+G(+ +a[t>>2]);n=+G(+ +a[t+4>>2]);i=+G(+ +a[t+8>>2]);a[e+16>>2]=r;a[e+20>>2]=n;a[e+24>>2]=i;a[e+28>>2]=0.0;return}function vk(e){e=e|0;var t=0;_[e>>2]=5604;t=_[e+336>>2]|0;if(t|0){if(n[e+340>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+336>>2]=0}n[e+340>>0]=1;_[e+336>>2]=0;_[e+328>>2]=0;_[e+332>>2]=0;_[e>>2]=4872;t=_[e+296>>2]|0;if(!t){n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;e=e+292|0;_[e>>2]=0;return}if(n[e+300>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+296>>2]=0;n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;e=e+292|0;_[e>>2]=0;return}function wk(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0;if((n|0)<=0)return;b=0;do{r=+a[e+32>>2];s=+a[e+40>>2];l=+a[t+(b<<4)>>2];_=+a[t+(b<<4)+4>>2];f=+W(+(l*l+_*_));o=+a[t+(b<<4)+8>>2];if(f!=0.0){c=_*(r/f);_=o<0.0?-s:s;r=l*(r/f)}else{c=0.0;_=o<0.0?-s:s}a[i+(b<<4)>>2]=r;a[i+(b<<4)+4>>2]=c;a[i+(b<<4)+8>>2]=_;b=b+1|0}while((b|0)!=(n|0));return}function xk(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,b=0;if((n|0)<=0)return;b=0;do{r=+a[e+32>>2];s=+a[e+36>>2];l=+a[t+(b<<4)>>2];_=+a[t+(b<<4)+8>>2];f=+W(+(l*l+_*_));o=+a[t+(b<<4)+4>>2];if(f!=0.0){c=_*(r/f);_=o<0.0?-s:s;r=l*(r/f)}else{c=0.0;_=o<0.0?-s:s}a[i+(b<<4)>>2]=r;a[i+(b<<4)+4>>2]=_;a[i+(b<<4)+8>>2]=c;b=b+1|0}while((b|0)!=(n|0));return}function yk(e){e=e|0;var t=0;_[e>>2]=4196;t=_[e+556>>2]|0;if(t|0){if(n[e+560>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+556>>2]=0}n[e+560>>0]=1;_[e+556>>2]=0;_[e+548>>2]=0;_[e+552>>2]=0;_[e>>2]=4872;t=_[e+296>>2]|0;if(!t){n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;e=e+292|0;_[e>>2]=0;return}if(n[e+300>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+296>>2]=0;n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;e=e+292|0;_[e>>2]=0;return}function zk(e){e=e|0;var t=0;t=Or()|0;_[t+8>>2]=0;_[t+12>>2]=-1;_[t+16>>2]=1065353216;_[t+20>>2]=1065353216;_[t+24>>2]=1065353216;a[t+28>>2]=0.0;a[t+48>>2]=.03999999910593033;_[t+56>>2]=0;_[t+60>>2]=1065353216;_[t+64>>2]=1065353216;_[t+68>>2]=1065353216;a[t+72>>2]=0.0;_[t+76>>2]=-1082130432;_[t+80>>2]=-1082130432;_[t+84>>2]=-1082130432;a[t+88>>2]=0.0;n[t+92>>0]=0;_[t>>2]=6920;_[t+96>>2]=e;_[t+4>>2]=3;vi(t);return t|0}function Ak(e){e=e|0;var t=0,i=0;t=_[e>>2]|0;if(t|0)zm(e,t);t=_[e+4>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+4>>2]=0;_[e+8>>2]=-1;t=_[e+32>>2]|0;if(!t){t=e+28|0;i=e+16|0;_[i>>2]=0;n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;_[t>>2]=0;return}if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+32>>2]=0;i=e+28|0;t=e+16|0;_[t>>2]=0;n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;_[i>>2]=0;return}function Bk(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0;r=u;u=u+48|0;_[r+32>>2]=4592;_[r+32+4>>2]=n;_[r>>2]=_[t>>2];_[r+4>>2]=_[t+4>>2];_[r+8>>2]=_[t+8>>2];_[r+12>>2]=_[t+12>>2];_[r+16>>2]=_[i>>2];_[r+16+4>>2]=_[i+4>>2];_[r+16+8>>2]=_[i+8>>2];_[r+16+12>>2]=_[i+12>>2];We(_[e+4>>2]|0,r,r+32|0);We(_[e+44>>2]|0,r,r+32|0);u=r;return}function Ck(e){e=e|0;var t=0;t=_[e>>2]|0;if(t|0)zm(e,t);t=_[e+4>>2]|0;if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+4>>2]=0;_[e+8>>2]=-1;t=_[e+32>>2]|0;if(!t){n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;t=e+28|0;_[t>>2]=0;e=e+16|0;_[e>>2]=0;return}if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+32>>2]=0;n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;t=e+28|0;_[t>>2]=0;e=e+16|0;_[e>>2]=0;return}function Dk(e,t){e=e|0;t=+t;var i=0,r=0,o=0.0;t=1.0/+a[(_[e+108>>2]|0)+404>>2];if((_[e+128>>2]|0)<=0)return;i=0;do{r=_[e+136>>2]|0;if(!(n[r+(i*284|0)+84>>0]|0))o=0.0;else{o=+a[r+(i*284|0)+272>>2];o=t*(+a[r+(i*284|0)+216>>2]*(+a[r+(i*284|0)+204>>2]-+a[r+(i*284|0)+32>>2])*+a[r+(i*284|0)+268>>2]-o*+a[(o<0.0?r+(i*284|0)+220|0:r+(i*284|0)+224|0)>>2]);o=o<0.0?0.0:o}a[r+(i*284|0)+276>>2]=o;i=i+1|0}while((i|0)<(_[e+128>>2]|0));return}function Ek(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var r=0,_=0.0,o=0.0,s=0.0;r=u;u=u+48|0;_=+iH(t);o=+iH(i);s=+iH(n);t=+hH(t);i=+hH(i);n=+hH(n);a[r+32>>2]=o*s;a[r+28>>2]=i*t*s-_*n;a[r+24>>2]=i*_*s+t*n;a[r+20>>2]=o*n;a[r+16>>2]=i*t*n+_*s;a[r+12>>2]=i*_*n-t*s;a[r+8>>2]=-i;a[r+4>>2]=o*t;a[r>>2]=o*_;zo(e,r+32|0,r+28|0,r+24|0,r+20|0,r+16|0,r+12|0,r+8|0,r+4|0,r);u=r;return}function Fk(e,t,i,n,o,c){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;c=c|0;var a=0;a=_[e+108>>2]|0;if(a|0){Ia[_[(_[a>>2]|0)+24>>2]&7](a,t,i,n,o,c);return}t=r[e+56>>1]|0;if(!(t<<16>>16))return;o=1;c=1;do{i=_[e+68>>2]|0;if(r[i+(c<<2)>>1]&1){Pa[_[(_[n>>2]|0)+8>>2]&31](n,(_[e+60>>2]|0)+((s[i+(c<<2)+2>>1]|0)<<6)|0)|0;t=r[e+56>>1]|0}o=o+1<<16>>16;c=o&65535}while(c>>>0<((t&65535)<<1|1)>>>0);return}function Gk(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0,o=0.0,s=0.0,c=0.0;r=+a[e+32>>2]/+a[e+16>>2];n=+a[e+36>>2]/+a[e+20>>2];i=+a[e+40>>2]/+a[e+24>>2];c=+G(+ +a[t>>2]);s=+G(+ +a[t+4>>2]);o=+G(+ +a[t+8>>2]);a[e+16>>2]=c;a[e+20>>2]=s;a[e+24>>2]=o;a[e+28>>2]=0.0;n=n*+a[t+4>>2];i=i*+a[t+8>>2];a[e+32>>2]=r*+a[t>>2];a[e+36>>2]=n;a[e+40>>2]=i;a[e+44>>2]=0.0;_[e+48>>2]=_[e+32+((((_[e+56>>2]|0)+2|0)%3|0)<<2)>>2];return}function Hk(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;e=_[t>>2]|0;e=Pa[_[(_[e>>2]|0)+56>>2]&31](e,80)|0;t=_[t>>2]|0;_[e+4>>2]=t;_[e>>2]=9336;_[e+8>>2]=9384;_[e+56>>2]=t;_[e+60>>2]=0;_[e+44>>2]=r;_[e+48>>2]=i;r=xa[_[(_[t>>2]|0)+12>>2]&63](t,_[r+8>>2]|0,_[i+8>>2]|0)|0;_[e+72>>2]=r;i=_[e+56>>2]|0;ma[_[(_[i>>2]|0)+20>>2]&127](i,r);n[e+76>>0]=1;return e|0}function Ik(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,s=0;s=u;u=u+16|0;_[s>>2]=e;_[s+4>>2]=n;n=_[(_[t+4>>2]|0)+4>>2]|0;o=_[(_[i+4>>2]|0)+4>>2]|0;if((r|0)==1){r=_[e+76+(n*144|0)+(o<<2)>>2]|0;r=Ua[_[(_[r>>2]|0)+8>>2]&31](r,s,t,i)|0;u=s;return r|0}else{r=_[e+5260+(n*144|0)+(o<<2)>>2]|0;r=Ua[_[(_[r>>2]|0)+8>>2]&31](r,s,t,i)|0;u=s;return r|0}return 0}function Jk(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0,o=0.0,s=0.0;n=+a[e+32>>2];s=+a[e+36>>2];o=+a[e+40>>2];switch(i|0){case 0:{e=0;i=0;r=1065353216;break}case 1:{e=0;i=0;r=-1082130432;break}case 2:{e=0;i=1065353216;r=0;n=s;break}case 3:{e=0;i=-1082130432;r=0;n=s;break}case 4:{e=1065353216;i=0;r=0;n=o;break}case 5:{e=-1082130432;i=0;r=0;n=o;break}default:return}_[t>>2]=r;_[t+4>>2]=i;_[t+8>>2]=e;a[t+12>>2]=-n;return}function Kk(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;e=_[t>>2]|0;e=Pa[_[(_[e>>2]|0)+56>>2]&31](e,80)|0;t=_[t>>2]|0;_[e+4>>2]=t;_[e>>2]=9336;_[e+8>>2]=9384;_[e+56>>2]=t;_[e+60>>2]=0;_[e+44>>2]=i;_[e+48>>2]=r;r=xa[_[(_[t>>2]|0)+12>>2]&63](t,_[i+8>>2]|0,_[r+8>>2]|0)|0;_[e+72>>2]=r;i=_[e+56>>2]|0;ma[_[(_[i>>2]|0)+20>>2]&127](i,r);n[e+76>>0]=0;return e|0}function Lk(e){e=e|0;var t=0,i=0,n=0,r=0.0,o=0.0;n=_[e+248>>2]|0;if((n|0)<=0)return;t=_[e+256>>2]|0;e=0;do{i=_[t+(e<<2)>>2]|0;switch(_[i+220>>2]|0){case 2:case 5:break;default:if(!(_[i+204>>2]&3)){o=+a[i+428>>2]*+a[i+412>>2];r=+a[i+432>>2]*+a[i+416>>2];a[i+472>>2]=+a[i+424>>2]*+a[i+408>>2]+ +a[i+472>>2];a[i+476>>2]=o+ +a[i+476>>2];a[i+480>>2]=r+ +a[i+480>>2]}}e=e+1|0}while((e|0)!=(n|0));return}function Mk(e,t){e=e|0;t=t|0;var i=0,n=0.0,r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0;i=u;u=u+16|0;f=+a[e+12>>2];s=+a[(rH(t)|0)>>2];c=+a[e>>2];l=+a[t+12>>2];o=+a[e+4>>2];n=+a[(ZG(t)|0)>>2];r=+a[e+8>>2];_=+a[(_G(t)|0)>>2];a[i+12>>2]=f*s+c*l+o*n-r*_;a[i+8>>2]=f*_+o*l+r*s-c*n;a[i+4>>2]=f*n+r*l+c*_-o*s;a[i>>2]=f*l-c*s-o*_-r*n;_q(e,i+12|0,i+8|0,i+4|0,i);u=i;return e|0}function Nk(e,t,i){e=e|0;t=+t;i=i|0;var n=0,r=0,o=0,s=0;o=u;u=u+16|0;_[i>>2]=0;_[i+4>>2]=0;_[i+8>>2]=0;_[i+12>>2]=0;r=_[e+156>>2]|0;if(!r){u=o;return}n=r;do{n=n+-1|0;s=_[(_[e+164>>2]|0)+(n<<2)>>2]|0;ka[_[(_[s>>2]|0)+32>>2]&15](s,t/+(r|0),o);a[i>>2]=+a[o>>2]+ +a[i>>2];a[i+4>>2]=+a[o+4>>2]+ +a[i+4>>2];a[i+8>>2]=+a[o+8>>2]+ +a[i+8>>2]}while((n|0)!=0);u=o;return}function Ok(e,t,i){e=e|0;t=+t;i=i|0;var n=0,r=0.0,o=0.0,s=0.0,c=0,l=0;n=u;u=u+16|0;c=_[e+56>>2]|0;l=_[e+32+(((c+2|0)%3|0)<<2)>>2]|0;_[n>>2]=l;_[n+4>>2]=l;_[n+8>>2]=l;a[n+12>>2]=0.0;a[n+(c<<2)>>2]=+a[e+32+(c<<2)>>2]+ +a[n+(c<<2)>>2];o=+a[n>>2]*2.0;r=+a[n+4>>2]*2.0;s=+a[n+8>>2]*2.0;a[i>>2]=t*.0833333283662796*(r*r+s*s);a[i+4>>2]=t*.0833333283662796*(o*o+s*s);a[i+8>>2]=t*.0833333283662796*(o*o+r*r);u=n;return}function Pk(e,t){e=e|0;t=+t;var i=0.0,n=0.0,r=0.0,o=0.0,s=0.0;o=+Da[_[(_[e>>2]|0)+48>>2]&15](e);n=+Da[_[(_[e>>2]|0)+48>>2]&15](e);s=+Da[_[(_[e>>2]|0)+48>>2]&15](e);o=o+ +a[e+32>>2];n=n+ +a[e+36>>2];s=s+ +a[e+40>>2];a[e+48>>2]=t;r=+Da[_[(_[e>>2]|0)+48>>2]&15](e);i=+Da[_[(_[e>>2]|0)+48>>2]&15](e);t=s-+Da[_[(_[e>>2]|0)+48>>2]&15](e);a[e+32>>2]=o-r;a[e+36>>2]=n-i;a[e+40>>2]=t;a[e+44>>2]=0.0;return}function Qk(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0;if((_[e+8>>2]|0)<=0)return;n=0;e:while(1){while(1){r=_[e+16>>2]|0;o=r+(n<<4)|0;if(!(Pa[_[(_[t>>2]|0)+8>>2]&31](t,o)|0))break;Ua[_[(_[e>>2]|0)+12>>2]&31](e,_[o>>2]|0,_[r+(n<<4)+4>>2]|0,i)|0;_[6005]=(_[6005]|0)+-1;if((n|0)>=(_[e+8>>2]|0)){n=7;break e}}n=n+1|0;if((n|0)>=(_[e+8>>2]|0)){n=7;break}}if((n|0)==7)return}function Rk(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;e=_[t>>2]|0;e=Pa[_[(_[e>>2]|0)+56>>2]&31](e,16)|0;t=_[t>>2]|0;_[e+4>>2]=t;_[e>>2]=9160;n[e+8>>0]=0;_[e+12>>2]=0;if(!(xa[_[(_[t>>2]|0)+24>>2]&63](t,_[i+8>>2]|0,_[r+8>>2]|0)|0))return e|0;t=_[e+4>>2]|0;_[e+12>>2]=xa[_[(_[t>>2]|0)+12>>2]&63](t,_[i+8>>2]|0,_[r+8>>2]|0)|0;n[e+8>>0]=1;return e|0}function Sk(e){e=e|0;var t=0,i=0;_[e>>2]=8044;t=_[e+12>>2]|0;if(t|0){i=_[e+4>>2]|0;ma[_[(_[i>>2]|0)+16>>2]&127](i,t);_[e+12>>2]=0}t=_[e+8>>2]|0;if(!t){i=e+24|0;_[i>>2]=-1;_[i+4>>2]=-1;_[i+8>>2]=-1;_[i+12>>2]=-1;return}ua[_[_[t>>2]>>2]&511](t);i=_[e+4>>2]|0;ma[_[(_[i>>2]|0)+60>>2]&127](i,_[e+8>>2]|0);_[e+8>>2]=0;i=e+24|0;_[i>>2]=-1;_[i+4>>2]=-1;_[i+8>>2]=-1;_[i+12>>2]=-1;return}function Tk(e,t){e=e|0;t=t|0;var i=0.0,r=0.0,o=0.0,s=0.0,c=0.0;n[e+251>>0]=1;_[e+68>>2]=_[t>>2];_[e+68+4>>2]=_[t+4>>2];_[e+68+8>>2]=_[t+8>>2];_[e+68+12>>2]=_[t+12>>2];i=+a[e+68>>2];r=+a[e+72>>2];o=+a[e+76>>2];s=+W(+(i*i+r*r+o*o));if(s>1.1920928955078125e-07){c=i*(1.0/s);r=r*(1.0/s);i=o*(1.0/s);t=_[e+80>>2]|0}else{c=0.0;r=0.0;i=0.0;t=0}a[e+84>>2]=c;a[e+88>>2]=r;a[e+92>>2]=i;_[e+96>>2]=t;return}function Uk(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0;o=u;u=u+32|0;e=ya[_[(_[e>>2]|0)+84>>2]&127](e)|0;Za[_[(_[e>>2]|0)+16>>2]&127](e,t,o);Ag(o,i);_[n>>2]=_[o>>2];_[n+4>>2]=_[o+4>>2];_[n+8>>2]=_[o+8>>2];_[n+12>>2]=_[o+12>>2];_[r>>2]=_[o+16>>2];_[r+4>>2]=_[o+16+4>>2];_[r+8>>2]=_[o+16+8>>2];_[r+12>>2]=_[o+16+12>>2];u=o;return}function Vk(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0;s=+Da[_[(_[e>>2]|0)+48>>2]&15](e);o=+Da[_[(_[e>>2]|0)+48>>2]&15](e);r=+Da[_[(_[e>>2]|0)+48>>2]&15](e);l=+a[t+52>>2]-o;c=+a[t+56>>2]-r;a[i>>2]=+a[t+48>>2]-s;a[i+4>>2]=l;a[i+8>>2]=c;a[i+12>>2]=0.0;o=o+ +a[t+52>>2];r=r+ +a[t+56>>2];a[n>>2]=s+ +a[t+48>>2];a[n+4>>2]=o;a[n+8>>2]=r;a[n+12>>2]=0.0;return}function Wk(e,t){e=e|0;t=+t;var i=0,n=0.0,r=0.0,o=0.0,s=0.0;i=as()|0;_[i+4>>2]=35;_[i+8>>2]=0;_[i+12>>2]=-1;a[i+16>>2]=0.0;_[i>>2]=7776;s=+a[e>>2];o=+a[e+4>>2];r=+a[e+8>>2];e=_[e+12>>2]|0;n=1.0/+W(+(s*s+o*o+r*r));a[i+52>>2]=s*n;a[i+56>>2]=o*n;a[i+60>>2]=r*n;_[i+64>>2]=e;a[i+68>>2]=t;_[i+72>>2]=1065353216;_[i+76>>2]=1065353216;_[i+80>>2]=1065353216;a[i+84>>2]=0.0;_[i+4>>2]=28;return i|0}function Xk(e){e=e|0;var t=0,i=0,n=0.0,r=0.0;if((_[e+128>>2]|0)<=0)return;t=0;do{i=_[e+136>>2]|0;_[i+(t*284|0)+32>>2]=_[i+(t*284|0)+204>>2];a[i+(t*284|0)+272>>2]=0.0;r=-+a[i+(t*284|0)+56>>2];n=-+a[i+(t*284|0)+60>>2];a[i+(t*284|0)>>2]=-+a[i+(t*284|0)+52>>2];a[i+(t*284|0)+4>>2]=r;a[i+(t*284|0)+8>>2]=n;a[i+(t*284|0)+12>>2]=0.0;a[i+(t*284|0)+268>>2]=1.0;t=t+1|0}while((t|0)<(_[e+128>>2]|0));return}function Yk(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0;o=_[t>>2]|0;o=Pa[_[(_[o>>2]|0)+56>>2]&31](o,20)|0;s=_[t+4>>2]|0;c=n[e+4>>0]|0;e=_[t>>2]|0;_[o+4>>2]=e;_[o>>2]=5772;n[o+8>>0]=0;_[o+12>>2]=s;n[o+16>>0]=c;if(s|0)return o|0;_[o+12>>2]=xa[_[(_[e>>2]|0)+12>>2]&63](e,_[i+8>>2]|0,_[r+8>>2]|0)|0;n[o+8>>0]=1;return o|0}function Zk(e){e=e|0;var t=0;_[e>>2]=5604;t=_[e+336>>2]|0;if(t|0){if(n[e+340>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+336>>2]=0}n[e+340>>0]=1;_[e+336>>2]=0;_[e+328>>2]=0;_[e+332>>2]=0;_[e>>2]=4872;t=_[e+296>>2]|0;if(t|0){if(n[e+300>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+296>>2]=0}n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;_[e+292>>2]=0;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function _k(e){e=e|0;var t=0;_[e>>2]=4196;t=_[e+556>>2]|0;if(t|0){if(n[e+560>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+556>>2]=0}n[e+560>>0]=1;_[e+556>>2]=0;_[e+548>>2]=0;_[e+552>>2]=0;_[e>>2]=4872;t=_[e+296>>2]|0;if(t|0){if(n[e+300>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+296>>2]=0}n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;_[e+292>>2]=0;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function $k(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0;r=u;u=u+48|0;_[r>>2]=8024;_[r+4>>2]=t;_[r+8>>2]=_[i>>2];_[r+8+4>>2]=_[i+4>>2];_[r+8+8>>2]=_[i+8>>2];_[r+8+12>>2]=_[i+12>>2];_[r+24>>2]=_[n>>2];_[r+24+4>>2]=_[n+4>>2];_[r+24+8>>2]=_[n+8>>2];_[r+24+12>>2]=_[n+12>>2];t=_[e+52>>2]|0;$a[_[(_[t>>2]|0)+8>>2]&127](t,r,i,n);u=r;return}function al(e,t,i){e=e|0;t=t|0;i=i|0;_u(e);_[e>>2]=2824;KD(e+16|0);_[e+36>>2]=_[t>>2];_[e+36+4>>2]=_[t+4>>2];_[e+36+8>>2]=_[t+8>>2];_[e+36+12>>2]=_[t+12>>2];_[e+52>>2]=_[i>>2];_[e+52+4>>2]=_[i+4>>2];_[e+52+8>>2]=_[i+8>>2];_[e+52+12>>2]=_[i+12>>2];KD(e+68|0);KD(e+88|0);KD(e+108|0);return}function bl(e,t,i){e=e|0;t=t|0;i=i|0;Hs(e);_[e>>2]=3200;KD(e+24|0);_[e+44>>2]=_[t>>2];_[e+44+4>>2]=_[t+4>>2];_[e+44+8>>2]=_[t+8>>2];_[e+44+12>>2]=_[t+12>>2];_[e+60>>2]=_[i>>2];_[e+60+4>>2]=_[i+4>>2];_[e+60+8>>2]=_[i+8>>2];_[e+60+12>>2]=_[i+12>>2];KD(e+76|0);KD(e+96|0);KD(e+116|0);return}function cl(e,t,i){e=e|0;t=+t;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0.0;s=+a[e+32>>2];r=+a[e+36>>2];c=+a[e+40>>2];o=+Da[_[(_[e>>2]|0)+48>>2]&15](e);n=+Da[_[(_[e>>2]|0)+48>>2]&15](e);c=(c+ +Da[_[(_[e>>2]|0)+48>>2]&15](e))*2.0;a[i>>2]=t/12.0*((r+n)*2.0*(r+n)*2.0+c*c);a[i+4>>2]=t/12.0*((s+o)*2.0*(s+o)*2.0+c*c);a[i+8>>2]=t/12.0*((s+o)*2.0*(s+o)*2.0+(r+n)*2.0*(r+n)*2.0);a[i+12>>2]=0.0;return}function dl(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;var s=0;i=u;u=u+16|0;_[i>>2]=4628;_[i+4>>2]=n;s=_[e+168>>2]|0;$d(_[e+4>>2]|0,t,n+4|0,n+20|0,+a[n+32>>2],r,o,s,i);$d(_[e+44>>2]|0,t,n+4|0,n+20|0,+a[n+32>>2],r,o,s,i);u=i;return}function el(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=u;u=u+32|0;qp(e,+a[t>>2],+a[t+4>>2],+a[t+8>>2]);$o(n,+a[t>>2],+a[t+4>>2],+a[t+8>>2],+a[e+408>>2],+a[e+412>>2],+a[e+416>>2]);to(n+16|0,+a[i>>2],+a[i+4>>2],+a[i+8>>2],+a[n>>2],+a[n+4>>2],+a[n+8>>2]);vp(e,+a[n+16>>2],+a[n+16+4>>2],+a[n+16+8>>2]);u=n;return}function fl(e,t,i,n,r){e=e|0;t=t|0;i=+i;n=+n;r=+r;var _=0,o=0;_=u;u=u+16|0;o=zF(t,0)|0;a[_+8>>2]=+fx(+a[o>>2],+a[o+4>>2],+a[o+8>>2],i,n,r);o=zF(t,1)|0;a[_+4>>2]=+fx(+a[o>>2],+a[o+4>>2],+a[o+8>>2],i,n,r);t=zF(t,2)|0;a[_>>2]=+fx(+a[t>>2],+a[t+4>>2],+a[t+8>>2],i,n,r);Mr(e,_+8|0,_+4|0,_);u=_;return}function gl(){var e=0,t=0,i=0;e=Xr()|0;_[e>>2]=1025;t=e+120|0;i=t+44|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(i|0));t=e+312|0;i=t+44|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(i|0));t=e+504|0;i=t+44|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(i|0));t=e+696|0;i=t+44|0;do{_[t>>2]=0;t=t+4|0}while((t|0)<(i|0));_[e+772>>2]=0;_[e+776>>2]=0;_[e+780>>2]=0;_[e+800>>2]=0;return e|0}function hl(e,t,i){e=e|0;t=t|0;i=i|0;e:do{switch(_[t+220>>2]|0){case 2:case 5:{switch(_[i+220>>2]|0){case 2:case 5:{e=0;break}default:break e}return e|0}default:{}}}while(0);if(!((_[t+280>>2]|0)!=0?!(Pa[_[(_[t>>2]|0)+12>>2]&31](t,i)|0):0)){if(!(_[i+280>>2]|0)){i=1;return i|0}if(Pa[_[(_[i>>2]|0)+12>>2]&31](i,t)|0){i=1;return i|0}}i=0;return i|0}function il(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,o=0;r=_[e+296>>2]|0;e:do{if((r|0)>0){n=_[e+304>>2]|0;i=0;while(1){if((_[n+(i<<2)>>2]|0)==(t|0))break e;i=i+1|0;if((i|0)>=(r|0)){i=r;break}}}else i=r}while(0);if((r|0)<=(i|0))return;o=_[e+304>>2]|0;t=o+(i<<2)|0;n=_[t>>2]|0;_[t>>2]=_[o+(r+-1<<2)>>2];_[(_[e+304>>2]|0)+(r+-1<<2)>>2]=n;_[e+296>>2]=r+-1;return}function jl(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0.0;c=+a[e+32>>2];o=+a[e+36>>2];n=+a[e+40>>2];s=+Da[_[(_[e>>2]|0)+48>>2]&15](e);r=+Da[_[(_[e>>2]|0)+48>>2]&15](e);n=n+ +Da[_[(_[e>>2]|0)+48>>2]&15](e);a[i>>2]=+(t&1^1|0)*(c+s)-+(t&1|0)*(c+s);a[i+4>>2]=+(t>>>1&1^1|0)*(o+r)-+(t>>>1&1|0)*(o+r);a[i+8>>2]=+(t>>>2&1^1|0)*n-+(t>>>2&1|0)*n;a[i+12>>2]=0.0;return}function kl(e,t,i,n,r){e=e|0;t=t|0;i=+i;n=+n;r=+r;var _=0,o=0,s=0,c=0;_=u;u=u+16|0;c=zF(t,0)|0;s=zF(t,1)|0;o=zF(t,2)|0;_l(_,i,n,r,+a[c>>2],+a[c+4>>2],+a[c+8>>2],+a[s>>2],+a[s+4>>2],+a[s+8>>2],+a[o>>2],+a[o+4>>2],+a[o+8>>2]);_o(e,+a[_>>2],+a[_+4>>2],+a[_+8>>2],+a[t+48>>2],+a[t+52>>2],+a[t+56>>2]);u=_;return}function ll(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0;n=u;u=u+16|0;_[n>>2]=-1;_[n+4>>2]=_[e+20>>2];if(!(_[t+4>>2]|0))_[t+4>>2]=n;o=_[e+16>>2]|0;r=+Ba[_[(_[o>>2]|0)+12>>2]&31](o,t,i);_[e+4>>2]=_[(_[e+16>>2]|0)+4>>2];u=n;return+r}function ml(e,t){e=e|0;t=t|0;if((_[e+16>>2]|0)!=(0-(_[e+56>>2]|0)|0))return;Ck(e+4|0);Ck(e+44|0);n[e+153>>0]=0;n[e+154>>0]=1;_[e+104>>2]=0;_[e+124>>2]=0;_[e+108>>2]=1;_[e+112>>2]=0;_[e+116>>2]=10;_[e+120>>2]=1;_[e+84>>2]=0;_[e+84+4>>2]=0;_[e+84+8>>2]=0;_[e+128>>2]=0;_[e+128+4>>2]=0;_[e+128+8>>2]=0;_[e+128+12>>2]=0;_[e+128+16>>2]=0;_[e+128+20>>2]=0;return}function nl(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0.0;s=+a[t+32>>2];c=+a[t+36>>2];n=+a[t+40>>2];o=+Da[_[(_[t>>2]|0)+48>>2]&15](t);r=+Da[_[(_[t>>2]|0)+48>>2]&15](t);n=n+ +Da[_[(_[t>>2]|0)+48>>2]&15](t);r=+a[i+4>>2]>=0.0?c+r:-(c+r);n=+a[i+8>>2]>=0.0?n:-n;a[e>>2]=+a[i>>2]>=0.0?s+o:-(s+o);a[e+4>>2]=r;a[e+8>>2]=n;a[e+12>>2]=0.0;return}function ol(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,_=0.0,o=0.0,s=0.0;if((n|0)<=0)return;r=0;do{s=+a[e+32>>2];o=+a[e+36>>2];o=+a[t+(r<<4)+4>>2]>=0.0?o:-o;_=+a[e+40>>2];_=+a[t+(r<<4)+8>>2]>=0.0?_:-_;a[i+(r<<4)>>2]=+a[t+(r<<4)>>2]>=0.0?s:-s;a[i+(r<<4)+4>>2]=o;a[i+(r<<4)+8>>2]=_;a[i+(r<<4)+12>>2]=0.0;r=r+1|0}while((r|0)!=(n|0));return}function pl(e,t,i,n,r,o,s,c,a,l){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;c=c|0;a=a|0;l=l|0;e=_[e+32>>2]|0;_[i>>2]=_[e+(l<<5)+12>>2];_[t>>2]=_[e+(l<<5)+16>>2];_[n>>2]=_[e+(l<<5)+28>>2];_[r>>2]=_[e+(l<<5)+20>>2];_[c>>2]=_[e+(l<<5)>>2];_[o>>2]=_[e+(l<<5)+4>>2];_[s>>2]=_[e+(l<<5)+8>>2];_[a>>2]=_[e+(l<<5)+24>>2];return}function ql(e){e=e|0;var t=0,i=0;_[e>>2]=6408;t=_[e+68>>2]|0;if(t|0?(Ak(t),i=_[e+68>>2]|0,i|0):0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}t=_[e+28>>2]|0;if(!t){n[e+32>>0]=1;_[e+28>>2]=0;_[e+20>>2]=0;e=e+24|0;_[e>>2]=0;return}if(n[e+32>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+28>>2]=0;n[e+32>>0]=1;_[e+28>>2]=0;_[e+20>>2]=0;e=e+24|0;_[e>>2]=0;return}function rl(e){e=e|0;var t=0,i=0;_[e>>2]=6788;t=_[e+108>>2]|0;if(t|0){if(n[e+112>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+108>>2]=0}n[e+112>>0]=1;_[e+108>>2]=0;_[e+100>>2]=0;_[e+104>>2]=0;_[e>>2]=7544;t=_[e+56>>2]|0;if(t|0?(ua[_[_[t>>2]>>2]&511](t),i=_[e+56>>2]|0,i|0):0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function sl(e,t){e=e|0;t=+t;var i=0;i=u;u=u+16|0;_[e+8>>2]=0;_[e+12>>2]=-1;_[e+16>>2]=1065353216;_[e+20>>2]=1065353216;_[e+24>>2]=1065353216;a[e+28>>2]=0.0;a[e+48>>2]=.03999999910593033;_[e>>2]=7676;_[e+4>>2]=8;a[i+8>>2]=1.0;a[i+4>>2]=1.0;a[i>>2]=1.0;Mr(e+16|0,i+8|0,i+4|0,i);vr(e+32|0);rF(e+32|0,t);a[e+48>>2]=t;a[e+52>>2]=0.0;u=i;return}function tl(e,t){e=+e;t=+t;var i=0;i=xs()|0;_[i+8>>2]=0;_[i+12>>2]=-1;_[i+16>>2]=1065353216;_[i+20>>2]=1065353216;_[i+24>>2]=1065353216;a[i+28>>2]=0.0;a[i+48>>2]=.03999999910593033;a[i+60>>2]=e;a[i+64>>2]=t;_[i+4>>2]=11;a[i+56>>2]=e/+W(+(e*e+t*t));_[i>>2]=6588;_[i+68>>2]=0;_[i+72>>2]=2;_[i+76>>2]=1;a[i+32>>2]=e;a[i+40>>2]=t;a[i+36>>2]=e;return i|0}function ul(e,t){e=+e;t=+t;var i=0;i=xs()|0;_[i+8>>2]=0;_[i+12>>2]=-1;_[i+16>>2]=1065353216;_[i+20>>2]=1065353216;_[i+24>>2]=1065353216;a[i+28>>2]=0.0;a[i+48>>2]=.03999999910593033;a[i+60>>2]=e;a[i+64>>2]=t;_[i+4>>2]=11;a[i+56>>2]=e/+W(+(e*e+t*t));_[i>>2]=6688;_[i+68>>2]=1;_[i+72>>2]=0;_[i+76>>2]=2;a[i+36>>2]=e;a[i+32>>2]=t;a[i+40>>2]=e;return i|0}function vl(e,t){e=+e;t=+t;var i=0;i=xs()|0;_[i+8>>2]=0;_[i+12>>2]=-1;_[i+16>>2]=1065353216;_[i+20>>2]=1065353216;_[i+24>>2]=1065353216;a[i+28>>2]=0.0;a[i+48>>2]=.03999999910593033;_[i>>2]=6488;a[i+60>>2]=e;a[i+64>>2]=t;_[i+4>>2]=11;_[i+68>>2]=0;_[i+72>>2]=1;_[i+76>>2]=2;a[i+32>>2]=e;a[i+36>>2]=t;a[i+40>>2]=e;a[i+56>>2]=e/+W(+(e*e+t*t));return i|0}function wl(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;switch(t|0){case 0:{e=0;t=0;n=1065353216;break}case 1:{e=0;t=0;n=-1082130432;break}case 2:{e=0;t=1065353216;n=0;break}case 3:{e=0;t=-1082130432;n=0;break}case 4:{e=1065353216;t=0;n=0;break}case 5:{e=-1082130432;t=0;n=0;break}default:return}_[i>>2]=n;_[i+4>>2]=t;_[i+8>>2]=e;a[i+12>>2]=0.0;return}function xl(e,t,i,r){e=e|0;t=t|0;i=i|0;r=+r;_[e+4>>2]=_[t>>2];_[e+4+4>>2]=_[t+4>>2];_[e+4+8>>2]=_[t+8>>2];_[e+4+12>>2]=_[t+12>>2];_[e+20>>2]=_[i>>2];_[e+20+4>>2]=_[i+4>>2];_[e+20+8>>2]=_[i+8>>2];_[e+20+12>>2]=_[i+12>>2];a[e+36>>2]=r;n[e+40>>0]=1;return}function yl(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;switch(_[e+100>>2]|0){case 0:{n=+a[(_[e+96>>2]|0)+((U(_[e+68>>2]|0,i)|0)+t<<2)>>2];return+n}case 5:{n=+(o[(_[e+96>>2]|0)+((U(_[e+68>>2]|0,i)|0)+t)>>0]|0)*+a[e+92>>2];return+n}case 3:{n=+(r[(_[e+96>>2]|0)+((U(_[e+68>>2]|0,i)|0)+t<<1)>>1]|0)*+a[e+92>>2];return+n}default:{n=0.0;return+n}}return 0.0}function zl(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;switch(n|0){case 5:case-1:break;default:return}switch(t|0){case 2:{a[e+764>>2]=i;_[e+748>>2]=_[e+748>>2]|2;return}case 4:{a[e+760>>2]=i;_[e+748>>2]=_[e+748>>2]|1;return}case 3:{a[e+752>>2]=i;_[e+748>>2]=_[e+748>>2]|4;return}case 1:{a[e+756>>2]=i;_[e+748>>2]=_[e+748>>2]|8;return}default:return}}function Al(e,t){e=e|0;t=t|0;var i=0.0,n=0;n=u;u=u+32|0;i=+a[t+12>>2];if(1.0-i*i<1.1920928955078125e-06){a[n+20>>2]=1.0;a[n+16>>2]=0.0;a[n+12>>2]=0.0;Mr(e,n+20|0,n+16|0,n+12|0);u=n;return}else{i=1.0/+fH(1.0-i*i);a[n+8>>2]=+a[t>>2]*i;a[n+4>>2]=+a[t+4>>2]*i;a[n>>2]=+a[t+8>>2]*i;Mr(e,n+8|0,n+4|0,n);u=n;return}}function Bl(e){e=e|0;var t=0;_[e>>2]=6788;t=_[e+108>>2]|0;if(t|0){if(n[e+112>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+108>>2]=0}n[e+112>>0]=1;_[e+108>>2]=0;_[e+100>>2]=0;_[e+104>>2]=0;_[e>>2]=7544;t=_[e+56>>2]|0;if(!t)return;ua[_[_[t>>2]>>2]&511](t);t=_[e+56>>2]|0;if(!t)return;_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);return}function Cl(e,t){e=+e;t=t|0;var i=0,n=0,r=0;l[b>>3]=e;i=_[b>>2]|0;n=_[b+4>>2]|0;r=tt(i|0,n|0,52)|0;switch(r&2047){case 0:{if(e!=0.0){e=+Cl(e*18446744073709551616.0,t);i=(_[t>>2]|0)+-64|0}else i=0;_[t>>2]=i;break}case 2047:break;default:{_[t>>2]=(r&2047)+-1022;_[b>>2]=i;_[b+4>>2]=n&-2146435073|1071644672;e=+l[b>>3]}}return+e}function Dl(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;n=rH(_[e+4>>2]|0)|0;if((n|0)>(t|0)){_[e+4>>2]=t;return}if((n|0)<(t|0))tn(e,t);while(1){if((n|0)>=(t|0))break;r=rH((_[e+12>>2]|0)+(n<<4)|0)|0;_[r>>2]=_[i>>2];_[r+4>>2]=_[i+4>>2];_[r+8>>2]=_[i+8>>2];_[r+12>>2]=_[i+12>>2];n=n+1|0}_[e+4>>2]=t;return}function El(e,t){e=e|0;t=t|0;var i=0,r=0;r=0;while(1){if((o[19739+r>>0]|0)==(e|0)){e=2;break}i=r+1|0;if((i|0)==87){i=19827;r=87;e=5;break}else r=i}if((e|0)==2)if(!r)i=19827;else{i=19827;e=5}if((e|0)==5)while(1){do{e=i;i=i+1|0}while((n[e>>0]|0)!=0);r=r+-1|0;if(!r)break;else e=5}return HF(i,_[t+20>>2]|0)|0}function Fl(e,t){e=e|0;t=t|0;var i=0;i=u;u=u+16|0;_[e+408>>2]=_[t>>2];_[e+408+4>>2]=_[t+4>>2];_[e+408+8>>2]=_[t+8>>2];_[e+408+12>>2]=_[t+12>>2];Lp(i,+a[e+408>>2],+a[e+412>>2],+a[e+416>>2],+a[e+404>>2]);_[e+620>>2]=_[i>>2];_[e+620+4>>2]=_[i+4>>2];_[e+620+8>>2]=_[i+8>>2];_[e+620+12>>2]=_[i+12>>2];u=i;return}function Gl(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0,_=0;_=u;u=u+16|0;n=+a[t>>2];r=+a[t+4>>2];i=+a[t+8>>2];if(n*n+r*r+i*i>0.0){a[_>>2]=-n;a[_+4>>2]=-r;a[_+8>>2]=-i;a[_+12>>2]=0.0;Xd(e,_);n=+a[t>>2];r=+a[t+4>>2];i=+a[t+8>>2]}a[e+52>>2]=+W(+(n*n+r*r+i*i));u=_;return}function Hl(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,s=0;o=_[e+328>>2]|0;if((o|0)<=0)return;t=_[t>>2]|0;r=_[e+336>>2]|0;i=0;while(1){n=r+(i<<2)|0;if((_[n>>2]|0)==(t|0))break;i=i+1|0;if((i|0)>=(o|0)){s=7;break}}if((s|0)==7)return;if((i|0)>=(o|0))return;_[n>>2]=_[r+(o+-1<<2)>>2];_[e+328>>2]=o+-1;return}function Il(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var r=0,_=0.0,o=0.0,s=0.0;r=u;u=u+16|0;_=+iH(t*.5);t=+hH(t*.5);o=+iH(i*.5);i=+hH(i*.5);s=+iH(n*.5);n=+hH(n*.5);a[r+12>>2]=n*o*_-s*i*t;a[r+8>>2]=s*i*_+n*o*t;a[r+4>>2]=s*o*t-n*i*_;a[r>>2]=s*o*_+n*i*t;_q(e,r+12|0,r+8|0,r+4|0,r);u=r;return}function Jl(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0;r=u;u=u+32|0;Vn(r,e+20|0);Ag(r,t);_[i>>2]=_[r>>2];_[i+4>>2]=_[r+4>>2];_[i+8>>2]=_[r+8>>2];_[i+12>>2]=_[r+12>>2];_[n>>2]=_[r+16>>2];_[n+4>>2]=_[r+16+4>>2];_[n+8>>2]=_[r+16+8>>2];_[n+12>>2]=_[r+16+12>>2];u=r;return}function Kl(e,t,i,n,r,o,s,c,a,l){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;c=c|0;a=a|0;l=l|0;+Ea[_[(_[e>>2]|0)+44>>2]&3](e,t,i,n,r,o,s,c,a);+Ea[_[(_[e>>2]|0)+48>>2]&3](e,t,i,n,r,o,s,c,a);+Na[_[(_[e>>2]|0)+36>>2]&1](e,t,i,c);return 0.0}function Ll(e,t,i){e=e|0;t=t|0;i=i|0;var r=0;if(t>>>0>0|(t|0)==0&e>>>0>4294967295){while(1){r=tr(e|0,t|0,10,0)|0;i=i+-1|0;n[i>>0]=r&255|48;r=e;e=cA(e|0,t|0,10,0)|0;if(!(t>>>0>9|(t|0)==9&r>>>0>4294967295))break;else t=O}t=e}else t=e;if(t)while(1){i=i+-1|0;n[i>>0]=(t>>>0)%10|0|48;if(t>>>0<10)break;else t=(t>>>0)/10|0}return i|0}function Ml(e,t){e=e|0;t=t|0;var i=0,r=0;_[e+56>>2]=_[t>>2];_[e+56+4>>2]=_[t+4>>2];_[e+56+8>>2]=_[t+8>>2];_[e+56+12>>2]=_[t+12>>2];i=_[e+156>>2]|0;if(!i){t=e+52|0;n[t>>0]=1;return}do{i=i+-1|0;r=_[(_[e+164>>2]|0)+(i<<2)>>2]|0;ma[_[(_[r>>2]|0)+24>>2]&127](r,t)}while((i|0)!=0);r=e+52|0;n[r>>0]=1;return}function Nl(e,t){e=e|0;t=t|0;var i=0,n=0;i=_[e+4>>2]|0;n=rH(i)|0;if((n|0)==(rH(_[e+8>>2]|0)|0)){tn(e,WD(n)|0);i=_[e+4>>2]|0}n=rH((_[e+12>>2]|0)+(i<<4)|0)|0;_[n>>2]=_[t>>2];_[n+4>>2]=_[t+4>>2];_[n+8>>2]=_[t+8>>2];_[n+12>>2]=_[t+12>>2];_[e+4>>2]=(_[e+4>>2]|0)+1;return}function Ol(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=+o;_[e>>2]=t;_[e+4>>2]=i;_[e+8>>2]=_[n>>2];_[e+8+4>>2]=_[n+4>>2];_[e+8+8>>2]=_[n+8>>2];_[e+8+12>>2]=_[n+12>>2];_[e+24>>2]=_[r>>2];_[e+24+4>>2]=_[r+4>>2];_[e+24+8>>2]=_[r+8>>2];_[e+24+12>>2]=_[r+12>>2];a[e+40>>2]=o;return}function Pl(){var e=0;e=u;u=u+48|0;if(n[22288]|0){u=e;return}if(!(Dy(22288)|0)){u=e;return}a[e+32>>2]=1.0;a[e+28>>2]=0.0;a[e+24>>2]=0.0;a[e+20>>2]=0.0;a[e+16>>2]=1.0;a[e+12>>2]=0.0;a[e+8>>2]=0.0;a[e+4>>2]=0.0;a[e>>2]=1.0;Np(22560,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);u=e;return}function Ql(){var e=0,t=0,i=0;i=u;u=u+16|0;n[i>>0]=10;e=_[2427]|0;if(!e)if(!(Tn(9692)|0)){e=_[2427]|0;t=4}else e=-1;else t=4;do{if((t|0)==4){t=_[2428]|0;if(!(t>>>0>=e>>>0|(n[9767]|0)==10)){_[2428]=t+1;n[t>>0]=10;e=10;break}if((xa[_[9728>>2]&63](9692,i,1)|0)==1)e=o[i>>0]|0;else e=-1}}while(0);u=i;return e|0}function Rl(e,t,i){e=e|0;t=t|0;i=+i;var n=0,r=0.0;n=u;u=u+16|0;r=+sz(+a[t>>2],+a[t+4>>2],+a[t+8>>2]);r=+hH(i*.5)/r;a[n+12>>2]=+a[(rH(t)|0)>>2]*r;a[n+8>>2]=+a[(_G(t)|0)>>2]*r;a[n+4>>2]=+a[(ZG(t)|0)>>2]*r;a[n>>2]=+iH(i*.5);_q(e,n+12|0,n+8|0,n+4|0,n);u=n;return}function Sl(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0.0,o=0;n=u;u=u+16|0;_[n>>2]=-1;_[n+4>>2]=_[e+28>>2];if(!(_[t+4>>2]|0))_[t+4>>2]=n;o=_[e+24>>2]|0;r=+Ba[_[(_[o>>2]|0)+12>>2]&31](o,t,i);_[e+4>>2]=_[(_[e+24>>2]|0)+4>>2];u=n;return+r}function Tl(e,t){e=e|0;t=t|0;_[e>>2]=_[t>>2];_[e+4>>2]=_[t+4>>2];_[e+8>>2]=_[t+8>>2];_[e+12>>2]=_[t+12>>2];_[e+16>>2]=_[t+16>>2];_[e+16+4>>2]=_[t+16+4>>2];_[e+16+8>>2]=_[t+16+8>>2];_[e+16+12>>2]=_[t+16+12>>2];_[e+32>>2]=_[t+32>>2];_[e+32+4>>2]=_[t+32+4>>2];_[e+32+8>>2]=_[t+32+8>>2];_[e+32+12>>2]=_[t+32+12>>2];return}function Ul(e){e=e|0;var t=0,i=0,r=0,o=0;t=_[e+8>>2]|0;if((t|0)<=0)return;r=0;do{i=_[(_[e+16>>2]|0)+(r<<2)>>2]|0;if(!(n[e+76>>0]|0))switch(_[i+220>>2]|0){case 2:case 5:break;default:o=6}else o=6;if((o|0)==6){o=0;Se(e,i);t=_[e+8>>2]|0}r=r+1|0}while((r|0)<(t|0));return}function Vl(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;e:do{switch(t|0){case 2:case 1:{if(i>>>0<3){n=+a[e+600>>2];break e}if((i+-3|0)>>>0<3)n=+a[e+432>>2];else n=0.0;break}case 4:case 3:{if(i>>>0<3){n=+a[e+596>>2];break e}if((i+-3|0)>>>0<3)n=+a[e+604>>2];else n=0.0;break}default:n=0.0}}while(0);return+n}function Wl(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;e=_[t>>2]|0;e=Pa[_[(_[e>>2]|0)+56>>2]&31](e,16)|0;t=_[t>>2]|0;_[e+4>>2]=t;_[e>>2]=5744;n[e+8>>0]=0;_[e+12>>2]=0;_[e+12>>2]=xa[_[(_[t>>2]|0)+12>>2]&63](t,_[i+8>>2]|0,_[r+8>>2]|0)|0;n[e+8>>0]=1;return e|0}function Xl(e,t){e=e|0;t=t|0;var i=0,n=0;i=_[e+60>>2]|0;if(!i)return;n=ya[_[(_[i>>2]|0)+8>>2]&127](i)|0;n=xa[_[(_[t>>2]|0)+16>>2]&63](t,n,1)|0;i=_[e+60>>2]|0;i=xa[_[(_[i>>2]|0)+12>>2]&63](i,_[n+8>>2]|0,t)|0;ba[_[(_[t>>2]|0)+20>>2]&31](t,n,i,1346456916,_[e+60>>2]|0);return}function Yl(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;e:do{switch(i|0){case 5:case-1:switch(t|0){case 2:{n=+a[e+764>>2];break e}case 4:{n=+a[e+760>>2];break e}case 3:{n=+a[e+752>>2];break e}case 1:{n=+a[e+756>>2];break e}default:{n=0.0;break e}}default:n=0.0}}while(0);return+n}function Zl(e,t){e=e|0;t=t|0;var i=0,n=0;i=_[e+56>>2]|0;if(!i)return;n=ya[_[(_[i>>2]|0)+12>>2]&127](i)|0;n=xa[_[(_[t>>2]|0)+16>>2]&63](t,n,1)|0;i=_[e+56>>2]|0;i=xa[_[(_[i>>2]|0)+16>>2]&63](i,_[n+8>>2]|0,t)|0;ba[_[(_[t>>2]|0)+20>>2]&31](t,n,i,1213612625,_[e+56>>2]|0);return}function _l(e,t,i,n,r,_,o,s,c,l,f,b,p){e=e|0;t=+t;i=+i;n=+n;r=+r;_=+_;o=+o;s=+s;c=+c;l=+l;f=+f;b=+b;p=+p;var d=0;d=u;u=u+16|0;a[d+8>>2]=+fx(t,i,n,r,_,o);a[d+4>>2]=+fx(t,i,n,s,c,l);a[d>>2]=+fx(t,i,n,f,b,p);Mr(e,d+8|0,d+4|0,d);u=d;return}function $l(e,t,i){e=e|0;t=t|0;i=+i;var n=0.0,r=0.0,_=0.0,o=0.0;r=+a[e+32>>2];_=+a[e+36>>2];o=+a[e+40>>2];n=+a[t>>2];if(!(n<=r+i)){t=0;return t|0}if(!(n>=-r-i)){t=0;return t|0}n=+a[t+4>>2];if(!(n<=_+i)){t=0;return t|0}if(!(n>=-_-i)){t=0;return t|0}n=+a[t+8>>2];if(!(n<=o+i)){t=0;return t|0}t=n>=-o-i;return t|0}function am(e,t,i){e=e|0;t=t|0;i=i|0;_u(e);_[e>>2]=3224;_[e+16>>2]=_[t>>2];_[e+16+4>>2]=_[t+4>>2];_[e+16+8>>2]=_[t+8>>2];_[e+16+12>>2]=_[t+12>>2];_[e+32>>2]=_[i>>2];_[e+32+4>>2]=_[i+4>>2];_[e+32+8>>2]=_[i+8>>2];_[e+32+12>>2]=_[i+12>>2];_[e+80>>2]=0;return}function bm(e,t,i,r){e=e|0;t=t|0;i=i|0;r=+r;if(!(+a[e+36>>2]>r))return;n[e+40>>0]=1;_[e+4>>2]=_[t>>2];_[e+4+4>>2]=_[t+4>>2];_[e+4+8>>2]=_[t+8>>2];_[e+4+12>>2]=_[t+12>>2];_[e+20>>2]=_[i>>2];_[e+20+4>>2]=_[i+4>>2];_[e+20+8>>2]=_[i+8>>2];_[e+20+12>>2]=_[i+12>>2];a[e+36>>2]=r;return}function cm(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0;n=+a[t+32>>2];s=+a[t+40>>2];l=+a[i>>2];r=+a[i+4>>2];c=+W(+(l*l+r*r));_=+a[i+8>>2];if(c!=0.0){o=r*(n/c);r=_<0.0?-s:s;n=l*(n/c)}else{o=0.0;r=_<0.0?-s:s}a[e>>2]=n;a[e+8>>2]=r;a[e+4>>2]=o;return}function dm(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,_=0.0,o=0.0,s=0.0,c=0.0,l=0.0;n=+a[t+32>>2];s=+a[t+36>>2];l=+a[i>>2];r=+a[i+8>>2];c=+W(+(l*l+r*r));_=+a[i+4>>2];if(c!=0.0){o=r*(n/c);r=_<0.0?-s:s;n=l*(n/c)}else{o=0.0;r=_<0.0?-s:s}a[e>>2]=n;a[e+4>>2]=r;a[e+8>>2]=o;return}function em(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,_=0.0,o=0.0,s=0.0,c=0.0;n=+a[t+36>>2];_=+a[t+32>>2];c=+a[i+4>>2];r=+a[i+8>>2];s=+W(+(c*c+r*r));if(s!=0.0){o=r*(n/s);r=+a[i>>2]<0.0?-_:_;n=c*(n/s)}else{o=0.0;r=+a[i>>2]<0.0?-_:_}a[e+4>>2]=n;a[e>>2]=r;a[e+8>>2]=o;return}function fm(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,_=0,o=0;if((n|0)>-1|(n|0)==-1&i>>>0>4294967295){r=(+(i>>>0)+4294967296.0*+(n>>>0))*18446744073709551616.0+(+(e>>>0)+4294967296.0*+(t>>>0));return+r}else{o=Lt(0,0,e|0,t|0)|0;_=O;n=mv((e|0)==0&(t|0)==0&1|0,0,~i|0,~n|0)|0;r=-+fm(o,_,n,O);return+r}return 0.0}function gm(e){e=e|0;var t=0.0,i=0.0,n=0.0;i=+a[(_[e+28>>2]|0)+404>>2];n=+a[(_[e+32>>2]|0)+404>>2];n=n==0.0?1.0:i/(i+n);i=+a[e+1116>>2]*n+(1.0-n)*+a[e+1180>>2];t=n*+a[e+1120>>2]+(1.0-n)*+a[e+1184>>2];a[e+1284>>2]=+a[e+1112>>2]*n+ +a[e+1176>>2]*(1.0-n);a[e+1288>>2]=i;a[e+1292>>2]=t;a[e+1296>>2]=0.0;return}function hm(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0;i=+a[e+404>>2];if(i!=0.0){r=1.0/i*+a[t+4>>2];n=1.0/i*+a[t+8>>2];a[e+424>>2]=1.0/i*+a[t>>2];a[e+428>>2]=r;a[e+432>>2]=n;a[e+436>>2]=0.0}_[e+440>>2]=_[t>>2];_[e+440+4>>2]=_[t+4>>2];_[e+440+8>>2]=_[t+8>>2];_[e+440+12>>2]=_[t+12>>2];return}function im(e,t,i){e=e|0;t=t|0;i=i|0;var r=0;r=_[e+16>>2]|0;do{if(r){if((r|0)!=(t|0)){_[e+36>>2]=(_[e+36>>2]|0)+1;_[e+24>>2]=2;n[e+54>>0]=1;break}if((_[e+24>>2]|0)==2)_[e+24>>2]=i}else{_[e+16>>2]=t;_[e+24>>2]=i;_[e+36>>2]=1}}while(0);return}function jm(e,t){e=e|0;t=t|0;var i=0,n=0,r=0;r=_[e+84>>2]|0;e=_[r+8>>2]|0;if((e|0)<=0)return;n=0;do{i=_[(_[r+16>>2]|0)+(n*12|0)+8>>2]|0;if(i){ma[_[(_[i>>2]|0)+16>>2]&127](i,t);e=_[r+8>>2]|0}n=n+1|0}while((n|0)<(e|0));return}function km(e,t,i){e=e|0;t=t|0;i=i|0;Hs(e);_[e>>2]=2872;_[e+24>>2]=_[t>>2];_[e+24+4>>2]=_[t+4>>2];_[e+24+8>>2]=_[t+8>>2];_[e+24+12>>2]=_[t+12>>2];_[e+40>>2]=_[i>>2];_[e+40+4>>2]=_[i+4>>2];_[e+40+8>>2]=_[i+8>>2];_[e+40+12>>2]=_[i+12>>2];return}function lm(){var e=0,t=0,i=0;do{if((_[2442]|0)>=0?(wH()|0)!=0:0){if((n[9767]|0)!=10?(e=_[2428]|0,e>>>0<(_[2427]|0)>>>0):0){_[2428]=e+1;n[e>>0]=10;break}Ql()|0}else i=3}while(0);do{if((i|0)==3){if((n[9767]|0)!=10?(t=_[2428]|0,t>>>0<(_[2427]|0)>>>0):0){_[2428]=t+1;n[t>>0]=10;break}Ql()|0}}while(0);return}function mm(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0;r=_[i>>2]|0;e=Bw(_[t>>2]|0)|0;r=Bw(r)|0;if(e|0)$a[_[(_[e>>2]|0)+32>>2]&127](e,i,n,t);if(!r)return 0;$a[_[(_[r>>2]|0)+32>>2]&127](r,t,n,i);return 0}function nm(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;n=u;u=u+48|0;r=_[t+192>>2]|0;$a[_[(_[r>>2]|0)+8>>2]&127](r,t+4|0,n+32|0,n+16|0);_[n>>2]=5296;_[n+4>>2]=t;_[n+8>>2]=e;_[n+12>>2]=i;i=_[e+68>>2]|0;$a[_[(_[i>>2]|0)+28>>2]&127](i,n+32|0,n+16|0,n);u=n;return}function om(e){e=e|0;var t=0,i=0;_[e>>2]=8044;t=_[e+12>>2]|0;if(t|0){i=_[e+4>>2]|0;ma[_[(_[i>>2]|0)+16>>2]&127](i,t);_[e+12>>2]=0}t=_[e+8>>2]|0;if(!t){nH(e);return}ua[_[_[t>>2]>>2]&511](t);i=_[e+4>>2]|0;ma[_[(_[i>>2]|0)+60>>2]&127](i,_[e+8>>2]|0);nH(e);return}function pm(e,t,i){e=e|0;t=t|0;i=i|0;nh(e,t,i)|0;_[t+52>>2]=_[e+300>>2];_[t+56>>2]=_[e+304>>2];_[t+60>>2]=_[e+308>>2];_[t+64>>2]=_[e+312>>2];_[t+68>>2]=_[e+316>>2];_[t+72>>2]=_[e+320>>2];_[t+76>>2]=_[e+324>>2];_[t+80>>2]=_[e+328>>2];return 11710}function qm(e,t){e=e|0;t=t|0;var i=0,n=0;i=_[t>>2]|0;n=_[e+84>>2]|0;if((i|0)==(n|0)){n=0;return n|0}if(!(_[e+12>>2]&_[t+4>>2])){n=0;return n|0}if(!(_[t+8>>2]&_[e+8>>2])){n=0;return n|0}t=_[e+96>>2]|0;n=xa[_[(_[t>>2]|0)+28>>2]&63](t,n,i)|0;return n|0}function rm(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;var o=0;o=u;u=u+16|0;a[o+8>>2]=+(t&65535)/+a[(rH(_)|0)>>2];a[o+4>>2]=+(i&65535)/+a[(_G(_)|0)>>2];a[o>>2]=+(n&65535)/+a[(ZG(_)|0)>>2];Mr(e,o+8|0,o+4|0,o);qr(e,r)|0;u=o;return}function sm(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var _=0;_=u;u=u+256|0;if((i|0)>(n|0)&(r&73728|0)==0){Wj(_|0,t|0,((i-n|0)>>>0<256?i-n|0:256)|0)|0;if((i-n|0)>>>0>255){t=i-n|0;do{ez(e,_,256);t=t+-256|0}while(t>>>0>255);t=i-n&255}else t=i-n|0;ez(e,_,t)}u=_;return}function tm(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,_=0,o=0,s=0,c=0,a=0;a=rH(t)|0;c=rH(t+16|0)|0;s=rH(t+32|0)|0;o=_G(t)|0;_=_G(t+16|0)|0;r=_G(t+32|0)|0;n=ZG(t)|0;i=ZG(t+16|0)|0;Np(e,a,c,s,o,_,r,n,i,ZG(t+32|0)|0);return}function um(e){e=e|0;var t=0,i=0,n=0;ua[_[(_[e>>2]|0)+8>>2]&511](e);ua[_[(_[e>>2]|0)+12>>2]&511](e);t=_[e+24>>2]|0;if(!t)return;n=_[(_[t>>2]|0)+32>>2]|0;i=_[e+68>>2]|0;i=ya[_[(_[i>>2]|0)+36>>2]&127](i)|0;$a[n&127](t,i,e+28|0,_[e+24>>2]|0);return}function vm(e,t){e=+e;t=+t;var i=0;i=Bs()|0;_[i+8>>2]=0;_[i+12>>2]=-1;_[i+16>>2]=1065353216;_[i+20>>2]=1065353216;_[i+24>>2]=1065353216;a[i+28>>2]=0.0;_[i+4>>2]=10;_[i>>2]=6308;a[i+48>>2]=e;_[i+56>>2]=2;a[i+32>>2]=e;a[i+36>>2]=e;a[i+40>>2]=t*.5;a[i+44>>2]=0.0;return i|0}function wm(e,t){e=+e;t=+t;var i=0;i=Bs()|0;_[i+8>>2]=0;_[i+12>>2]=-1;_[i+16>>2]=1065353216;_[i+20>>2]=1065353216;_[i+24>>2]=1065353216;a[i+28>>2]=0.0;_[i+4>>2]=10;_[i>>2]=6208;a[i+48>>2]=e;_[i+56>>2]=0;a[i+32>>2]=t*.5;a[i+36>>2]=e;a[i+40>>2]=e;a[i+44>>2]=0.0;return i|0}function xm(e,t){e=+e;t=+t;var i=0;i=Bs()|0;_[i+8>>2]=0;_[i+12>>2]=-1;_[i+16>>2]=1065353216;_[i+20>>2]=1065353216;_[i+24>>2]=1065353216;a[i+28>>2]=0.0;_[i>>2]=6108;a[i+48>>2]=e;_[i+4>>2]=10;_[i+56>>2]=1;a[i+32>>2]=e;a[i+36>>2]=t*.5;a[i+40>>2]=e;a[i+44>>2]=0.0;return i|0}function ym(e){e=e|0;var t=0;t=u;u=u+16|0;_[e+4>>2]=35;_[e+8>>2]=0;_[e+12>>2]=-1;a[e+16>>2]=0.0;_[e>>2]=3024;gB(e+72|0);_[e+4>>2]=25;lo(e+20|0);n[e+52>>0]=1;a[t+8>>2]=1.0;a[t+4>>2]=1.0;a[t>>2]=1.0;Mr(e+56|0,t+8|0,t+4|0,t);u=t;return}function zm(e,t){e=e|0;t=t|0;var i=0;if(_[t+40>>2]|0){zm(e,_[t+36>>2]|0);zm(e,_[t+40>>2]|0)}if((_[e>>2]|0)==(t|0))_[e>>2]=0;i=_[e+4>>2]|0;if(!i){_[e+4>>2]=t;return}_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);_[e+4>>2]=t;return}function Am(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0;o=_[e+32>>2]|0;_[o>>2]=(_[o>>2]|0)+1;Hf(e,ud(e,t,r)|0);Hf(e,ud(e,i,r)|0);Hf(e,ud(e,n,r)|0);return}function Bm(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;if(rC(e,_[t+8>>2]|0)|0)lk(t,i,n,r);else{e=_[e+8>>2]|0;Ia[_[(_[e>>2]|0)+20>>2]&7](e,t,i,n,r,o)}return}function Cm(e){e=e|0;var t=0;t=u;u=u+48|0;a[t+32>>2]=1.0;a[t+28>>2]=0.0;a[t+24>>2]=0.0;a[t+20>>2]=0.0;a[t+16>>2]=1.0;a[t+12>>2]=0.0;a[t+8>>2]=0.0;a[t+4>>2]=0.0;a[t>>2]=1.0;zo(e,t+32|0,t+28|0,t+24|0,t+20|0,t+16|0,t+12|0,t+8|0,t+4|0,t);u=t;return}function Dm(e,t){e=e|0;t=t|0;var i=0,n=0;_[e+72>>2]=(_[e+72>>2]|0)+1;i=_[e+20>>2]|0;if((i|0)>0)do{n=i;i=i+-1|0;if((_[(_[e+28>>2]|0)+(i*80|0)+64>>2]|0)==(t|0))Td(e,i)}while((n|0)>1);ua[_[(_[e>>2]|0)+68>>2]&511](e);return}function Em(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;switch(t|0){case 2:case 1:if(n>>>0<3){a[e+600>>2]=i;_[e+592>>2]=_[e+592>>2]|2;return}else{a[e+432>>2]=i;return}case 4:case 3:{a[(n>>>0<3?e+596|0:e+604|0)>>2]=i;_[e+592>>2]=_[e+592>>2]|(n>>>0<3?1:4);return}default:return}}function Fm(e,t){e=e|0;t=t|0;var i=0;e=_[e+68>>2]|0;if(!t)return;i=_[e+16>>2]|0;if(i>>>0<=t>>>0?(i+(U(_[e>>2]|0,_[e+4>>2]|0)|0)|0)>>>0>t>>>0:0){_[t>>2]=_[e+12>>2];_[e+12>>2]=t;_[e+8>>2]=(_[e+8>>2]|0)+1;return}_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);return}function Gm(e){e=e|0;var t=0,i=0;if((_[e+248>>2]|0)<=0)return;t=0;do{i=(_[(_[e+256>>2]|0)+(t<<2)>>2]|0)+472|0;_[i>>2]=0;_[i+4>>2]=0;_[i+8>>2]=0;_[i+12>>2]=0;_[i+16>>2]=0;_[i+20>>2]=0;_[i+24>>2]=0;_[i+28>>2]=0;t=t+1|0}while((t|0)<(_[e+248>>2]|0));return}function Hm(e,t){e=e|0;t=t|0;var i=0,n=0,r=0;i=_[e+52>>2]|0;if((i|0)<=0)return;r=0;do{n=_[(_[e+60>>2]|0)+(r<<2)>>2]|0;if(n){ma[_[(_[n>>2]|0)+16>>2]&127](n,t);i=_[e+52>>2]|0}r=r+1|0}while((r|0)<(i|0));return}function Im(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0;r=_[e+32>>2]|0;_[r>>2]=(_[r>>2]|0)+1;Hf(e,ud(e,t,0)|0);Hf(e,ud(e,i,0)|0);Hf(e,ud(e,n,0)|0);return}function Jm(e,t,i){e=e|0;t=t|0;i=i|0;_[e+52>>2]=_[t>>2];_[e+52+4>>2]=_[t+4>>2];_[e+52+8>>2]=_[t+8>>2];_[e+52+12>>2]=_[t+12>>2];_[e+68>>2]=_[i>>2];_[e+68+4>>2]=_[i+4>>2];_[e+68+8>>2]=_[i+8>>2];_[e+68+12>>2]=_[i+12>>2];_[e+48>>2]=1;return}function Km(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=_[i>>2]|0;e=Bw(_[t>>2]|0)|0;n=Bw(n)|0;if(e|0)Za[_[(_[e>>2]|0)+28>>2]&127](e,i,t);if(!n)return 0;Za[_[(_[n>>2]|0)+28>>2]&127](n,t,i);return 0}function Lm(e,t){e=e|0;t=t|0;var i=0,n=0;if(r[e+56>>1]|0)return;r[e+64>>1]=1;t=r[e+58>>1]|0;n=_[e+60>>2]|0;if((t&65535)>1){i=1;do{t=i;i=i+1|0;r[n+(t<<6)+48>>1]=i;t=r[e+58>>1]|0}while(i>>>0<(t&65535)>>>0)}r[n+((t&65535)+-1<<6)+48>>1]=0;return}function Mm(e,t,i){e=+e;t=t|0;i=i|0;var n=0,r=0;r=u;u=u+32|0;n=ur(144)|0;a[r+8>>2]=0.0;a[r+4>>2]=0.0;a[r>>2]=0.0;Mr(r+16|0,r+8|0,r+4|0,r);Vj(n,e,t,i,r+16|0);u=r;return n|0}function Nm(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;_[i>>2]=_[t+16>>2];_[i+4>>2]=_[t+16+4>>2];_[i+8>>2]=_[t+16+8>>2];_[i+12>>2]=_[t+16+12>>2];_[n>>2]=_[t+32>>2];_[n+4>>2]=_[t+32+4>>2];_[n+8>>2]=_[t+32+8>>2];_[n+12>>2]=_[t+32+12>>2];return}function Om(e){e=e|0;var t=0;e=_[e+144>>2]|0;t=_[e+32>>2]|0;if((t|0)>0){t=t+1|0;_[e+32>>2]=t;return}else{t=_[e+8>>2]|0;Aa[_[(_[t>>2]|0)+16>>2]&3](t,e+36|0,e+40|0,e+44|0,e+48|0,e+52|0,e+56|0,e+60|0,e+64|0,_[e+28>>2]|0);t=1;_[e+32>>2]=t;return}}function Pm(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;var s=0,c=0;c=_[e+4>>2]|0;if(!(c&1))s=c>>8;else s=_[(_[n>>2]|0)+(c>>8)>>2]|0;e=_[e>>2]|0;Ia[_[(_[e>>2]|0)+20>>2]&7](e,t,i,n+s|0,c&2|0?r:2,o);return}function Qm(e,t){e=e|0;t=t|0;var i=0;e=_[e+68>>2]|0;i=_[e+12>>2]|0;if(i|0){_[e+12>>2]=_[i>>2];_[e+8>>2]=(_[e+8>>2]|0)+-1;t=i;return t|0}_[6293]=(_[6293]|0)+1;e=cc(t+19|0)|0;if(!e){t=0;return t|0}_[(e+4+15&-16)+-4>>2]=e;t=e+4+15&-16;return t|0}function Rm(e,t,i,n,r,_){e=e|0;t=+t;i=+i;n=+n;r=+r;_=+_;a[e+692>>2]=(i-t)*.5;t=+Bg((i-t)*.5+t,6.2831854820251465);if(!(t<-3.1415927410125732)){if(t>3.1415927410125732)t=t+-6.2831854820251465}else t=t+6.2831854820251465;a[e+688>>2]=t;a[e+696>>2]=n;a[e+700>>2]=r;a[e+704>>2]=_;return}function Sm(e,t,i){e=e|0;t=+t;i=+i;var n=0;n=u;u=u+16|0;a[n+12>>2]=t;a[n+8>>2]=i;a[n+4>>2]=0.0;a[n>>2]=1.0;_[e+504>>2]=_[(t<0.0?n+4|0:t>1.0?n:n+12|0)>>2];a[n+4>>2]=0.0;a[n>>2]=1.0;_[e+508>>2]=_[(i<0.0?n+4|0:i>1.0?n:n+8|0)>>2];u=n;return}function Tm(){var e=0;e=u;u=u+32|0;if(n[22280]|0){u=e;return}if(!(Dy(22280)|0)){u=e;return}Pl();a[e+8>>2]=0.0;a[e+4>>2]=0.0;a[e>>2]=0.0;Mr(e+16|0,e+8|0,e+4|0,e);Pp(22496,22560,e+16|0);u=e;return}function Um(e,t){e=e|0;t=t|0;var i=0,n=0;i=_[(_[t>>2]|0)+16>>2]|0;n=ya[_[(_[e>>2]|0)+16>>2]&127](e)|0;n=xa[i&63](t,n,1)|0;i=xa[_[(_[e>>2]|0)+20>>2]&63](e,_[n+8>>2]|0,t)|0;ba[_[(_[t>>2]|0)+20>>2]&31](t,n,i,1497645650,e);return}function Vm(e,t,i){e=e|0;t=t|0;i=+i;var n=0;n=u;u=u+16|0;a[n+12>>2]=+a[(rH(t)|0)>>2]*i;a[n+8>>2]=+a[(_G(t)|0)>>2]*i;a[n+4>>2]=+a[(ZG(t)|0)>>2]*i;a[n>>2]=+a[t+12>>2]*i;Mu(e,n+12|0,n+8|0,n+4|0,n);u=n;return}function Wm(e,t,i){e=e|0;t=t|0;i=i|0;_[t>>2]=_[e+52>>2];_[t+4>>2]=_[e+52+4>>2];_[t+8>>2]=_[e+52+8>>2];_[t+12>>2]=_[e+52+12>>2];_[i>>2]=_[e+68>>2];_[i+4>>2]=_[e+68+4>>2];_[i+8>>2]=_[e+68+8>>2];_[i+12>>2]=_[e+68+12>>2];return}function Xm(e,t){e=e|0;t=t|0;var i=0,n=0;n=ya[_[(_[e>>2]|0)+16>>2]&127](e)|0;n=xa[_[(_[t>>2]|0)+16>>2]&63](t,n,1)|0;i=xa[_[(_[e>>2]|0)+20>>2]&63](e,_[n+8>>2]|0,t)|0;ba[_[(_[t>>2]|0)+20>>2]&31](t,n,i,1245859651,e);return}function Ym(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;if(rC(e,_[t+8>>2]|0)|0)im(t,i,n);else{e=_[e+8>>2]|0;$a[_[(_[e>>2]|0)+28>>2]&127](e,t,i,n)}return}function Zm(e,t,i){e=e|0;t=t|0;i=i|0;_[t>>2]=_[e+8>>2];_[t+4>>2]=_[e+8+4>>2];_[t+8>>2]=_[e+8+8>>2];_[t+12>>2]=_[e+8+12>>2];_[i>>2]=_[e+24>>2];_[i+4>>2]=_[e+24+4>>2];_[i+8>>2]=_[e+24+8>>2];_[i+12>>2]=_[e+24+12>>2];return}function _m(e,t){e=e|0;t=t|0;var i=0,n=0;n=ya[_[(_[e>>2]|0)+52>>2]&127](e)|0;n=xa[_[(_[t>>2]|0)+16>>2]&63](t,n,1)|0;i=xa[_[(_[e>>2]|0)+56>>2]&63](e,_[n+8>>2]|0,t)|0;ba[_[(_[t>>2]|0)+20>>2]&31](t,n,i,1346455635,e);return}function $m(e,t){e=e|0;t=t|0;var i=0;i=u;u=u+80|0;tm(i+32|0,t);uq(i,+a[t+48>>2],+a[t+52>>2],+a[t+56>>2]);fl(i+16|0,i+32|0,+a[i>>2],+a[i+4>>2],+a[i+8>>2]);Pp(e,i+32|0,i+16|0);u=i;return}function an(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0;n=0;while(1){if((n|0)>=(t|0))break;r=rH(i+(n<<4)|0)|0;o=(_[e+12>>2]|0)+(n<<4)|0;_[r>>2]=_[o>>2];_[r+4>>2]=_[o+4>>2];_[r+8>>2]=_[o+8>>2];_[r+12>>2]=_[o+12>>2];n=n+1|0}return}function bn(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,s=0;s=_[e+4>>2]|0;if(!(s&1))o=s>>8;else o=_[(_[i>>2]|0)+(s>>8)>>2]|0;e=_[e>>2]|0;ba[_[(_[e>>2]|0)+24>>2]&31](e,t,i+o|0,s&2|0?n:2,r);return}function cn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;n=Pa[_[(_[i>>2]|0)+40>>2]&31](i,e)|0;r=Pa[_[(_[i>>2]|0)+28>>2]&31](i,n)|0;_[t>>2]=r;if(r|0)ma[_[(_[i>>2]|0)+48>>2]&127](i,n);_[t+4>>2]=_[e+4>>2];_[t+8>>2]=0;return 15921}function dn(e,t,i){e=e|0;t=t|0;i=i|0;_[e+164>>2]=_[t>>2];_[e+164+4>>2]=_[t+4>>2];_[e+164+8>>2]=_[t+8>>2];_[e+164+12>>2]=_[t+12>>2];t=rH(t)|0;if((!(+a[t>>2]!=1.0)?!(+a[t+4>>2]!=1.0):0)?!(+a[t+8>>2]!=1.0):0)i=0;_[e+180>>2]=i;return}function en(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=rH(_[e+4>>2]|0)|0;if((n|0)>(t|0)){_[e+4>>2]=t;return}if((n|0)<(t|0))Nn(e,t);while(1){if((n|0)>=(t|0))break;_[(_[e+12>>2]|0)+(n<<2)>>2]=_[i>>2];n=n+1|0}_[e+4>>2]=t;return}function fn(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var r=0;r=u;u=u+32|0;$o(r,t,i,n,+a[e+408>>2],+a[e+412>>2],+a[e+416>>2]);Lp(r+16|0,+a[r>>2],+a[r+4>>2],+a[r+8>>2],+a[e+404>>2]);qr(e+372|0,r+16|0)|0;u=r;return}function gn(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var r=0;r=u;u=u+32|0;fl(r,e+324|0,t,i,n);$o(r+16|0,+a[r>>2],+a[r+4>>2],+a[r+8>>2],+a[e+604>>2],+a[e+608>>2],+a[e+612>>2]);qr(e+388|0,r+16|0)|0;u=r;return}function hn(e,t){e=e|0;t=+t;var i=0,r=0;a[e+16>>2]=t;i=_[e+156>>2]|0;if(!i){e=e+52|0;n[e>>0]=1;return}do{i=i+-1|0;r=_[(_[e+164>>2]|0)+(i<<2)>>2]|0;pa[_[(_[r>>2]|0)+44>>2]&31](r,t)}while((i|0)!=0);r=e+52|0;n[r>>0]=1;return}function jn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;e:do{if((i|0)==-1)switch(t|0){case 2:case 1:{n=+a[e+336>>2];break e}case 4:case 3:{n=+a[e+340>>2];break e}default:{n=3402823466385288598117041.0e14;break e}}else n=3402823466385288598117041.0e14}while(0);return+n}function kn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,_=0.0;_=+a[t+32>>2];r=+a[t+36>>2];r=+a[i+4>>2]>=0.0?r:-r;n=+a[t+40>>2];n=+a[i+8>>2]>=0.0?n:-n;a[e>>2]=+a[i>>2]>=0.0?_:-_;a[e+4>>2]=r;a[e+8>>2]=n;a[e+12>>2]=0.0;return}function ln(e,t){e=e|0;t=t|0;var i=0,n=0;i=_[e+4>>2]|0;n=rH(i)|0;if((n|0)==(rH(_[e+8>>2]|0)|0)){Nn(e,WD(n)|0);i=_[e+4>>2]|0}_[(_[e+12>>2]|0)+(i<<2)>>2]=_[t>>2];_[e+4>>2]=(_[e+4>>2]|0)+1;return}function mn(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0;o=_[e+4>>2]|0;if(!(o&1))r=o>>8;else r=_[(_[i>>2]|0)+(o>>8)>>2]|0;e=_[e>>2]|0;$a[_[(_[e>>2]|0)+28>>2]&127](e,t,i+r|0,o&2|0?n:2);return}function nn(e){e=e|0;var t=0;_[e>>2]=3272;t=_[e+212>>2]|0;if(t|0){if(n[e+216>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+212>>2]=0}n[e+216>>0]=1;_[e+212>>2]=0;_[e+204>>2]=0;_[e+208>>2]=0;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function on(e,t){e=e|0;t=+t;var i=0,r=0;a[e+16>>2]=t;i=ya[_[(_[e>>2]|0)+88>>2]&127](e)|0;while(1){r=i+-1|0;if(!i)break;i=Pa[_[(_[e>>2]|0)+124>>2]&31](e,r)|0;pa[_[(_[i>>2]|0)+44>>2]&31](i,t);i=r}n[e+52>>0]=1;return}function pn(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0;r=_[e+156>>2]|0;if(!r)return;do{r=r+-1|0;o=_[(_[e+164>>2]|0)+(r<<2)>>2]|0;$a[_[(_[o>>2]|0)+144>>2]&127](o,t,i,n)}while((r|0)!=0);return}function qn(e,t){e=e|0;t=t|0;var i=0,n=0;n=_[e+288>>2]|0;e:do{if((n|0)>0){i=_[e+296>>2]|0;e=0;while(1){if((_[i+(e<<2)>>2]|0)==(t|0))break e;e=e+1|0;if((e|0)>=(n|0)){e=n;break}}}else e=n}while(0);return(e|0)>=(n|0)|0}function rn(e){e=e|0;var t=0;t=u;u=u+16|0;if(!(n[22264]|0))Dy(22264)|0;co(t,_[e+108>>2]|0,_[e+120>>2]|0);_[5616]=_[t>>2];_[5617]=_[t+4>>2];_[5618]=_[t+8>>2];_[5619]=_[t+12>>2];u=t;return 22464}function sn(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;e=_[t>>2]|0;e=Pa[_[(_[e>>2]|0)+56>>2]&31](e,84)|0;tk(e,t,i,n,1);return e|0}function tn(e,t){e=e|0;t=t|0;var i=0;if((rH(_[e+8>>2]|0)|0)>=(t|0))return;i=Jt(t)|0;an(e,rH(_[e+4>>2]|0)|0,i);rs(e);n[e+16>>0]=1;_[e+12>>2]=i;_[e+8>>2]=t;return}function un(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0;r=_[e+156>>2]|0;if(!r)return;do{r=r+-1|0;o=_[(_[e+164>>2]|0)+(r<<2)>>2]|0;$a[_[(_[o>>2]|0)+64>>2]&127](o,t,i,n)}while((r|0)!=0);return}function vn(e,t){e=e|0;t=t|0;var i=0;i=_[e+4>>2]|0;if((_[t>>2]|0)!=(i|0)?(_[t+4>>2]|0)!=(i|0):0)return 0;i=_[e+8>>2]|0;Za[_[(_[i>>2]|0)+32>>2]&127](i,t,_[e+12>>2]|0);return 0}function wn(e,t){e=e|0;t=t|0;var i=0;i=u;u=u+16|0;a[i+12>>2]=-+a[(rH(t)|0)>>2];a[i+8>>2]=-+a[(_G(t)|0)>>2];a[i+4>>2]=-+a[(ZG(t)|0)>>2];a[i>>2]=-+a[t+12>>2];Mu(e,i+12|0,i+8|0,i+4|0,i);u=i;return}function xn(e){e=e|0;var t=0;_[e>>2]=9608;t=_[e+32>>2]|0;if(t|0){if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+32>>2]=0}n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;_[e+28>>2]=0;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function yn(e){e=e|0;var t=0.0,i=0.0;if(_[e+204>>2]&3|0)return;i=+a[e+428>>2]*+a[e+412>>2];t=+a[e+432>>2]*+a[e+416>>2];a[e+472>>2]=+a[e+424>>2]*+a[e+408>>2]+ +a[e+472>>2];a[e+476>>2]=i+ +a[e+476>>2];a[e+480>>2]=t+ +a[e+480>>2];return}function zn(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;e=_[t>>2]|0;e=Pa[_[(_[e>>2]|0)+56>>2]&31](e,84)|0;tk(e,t,i,n,0);return e|0}function An(e){e=e|0;var t=0;_[e>>2]=4872;t=_[e+296>>2]|0;if(t|0){if(n[e+300>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+296>>2]=0}n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;_[e+292>>2]=0;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function Bn(e){e=e|0;var t=0;_[e>>2]=9336;_[e+8>>2]=9384;t=_[e+56>>2]|0;ma[_[(_[t>>2]|0)+20>>2]&127](t,_[e+72>>2]|0);t=_[e+56>>2]|0;ma[_[(_[t>>2]|0)+16>>2]&127](t,_[e+72>>2]|0);_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function Cn(e){e=e|0;var t=0;_[e>>2]=3024;t=_[e+88>>2]|0;if(t|0){if(n[e+92>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+88>>2]=0}n[e+92>>0]=1;_[e+88>>2]=0;_[e+80>>2]=0;_[e+84>>2]=0;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function Dn(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0;r=u;u=u+16|0;n=+uE(e);n=+fH(n*+uE(t));i=+so(e,t);if(i<0.0){wn(r,t);i=+so(e,r)}n=+Iz(i/n)*2.0;u=r;return+n}function En(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0;o=_[e+108>>2]|0;r=+a[o+(t<<4)+4>>2]*+a[e+20>>2];n=+a[o+(t<<4)+8>>2]*+a[e+24>>2];a[i>>2]=+a[o+(t<<4)>>2]*+a[e+16>>2];a[i+4>>2]=r;a[i+8>>2]=n;a[i+12>>2]=0.0;return}function Fn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=u;u=u+32|0;_[n>>2]=_[e+60>>2];_[n+4>>2]=0;_[n+8>>2]=t;_[n+12>>2]=n+20;_[n+16>>2]=i;if((OB(ra(140,n|0)|0)|0)<0){_[n+20>>2]=-1;e=-1}else e=_[n+20>>2]|0;u=n;return e|0}function Gn(e,t){e=e|0;t=t|0;var i=0.0;i=+a[(rH(t)|0)>>2];a[e>>2]=+a[e>>2]+i;i=+a[(_G(t)|0)>>2];a[e+4>>2]=+a[e+4>>2]+i;i=+a[(ZG(t)|0)>>2];a[e+8>>2]=+a[e+8>>2]+i;a[e+12>>2]=+a[e+12>>2]+ +a[t+12>>2];return e|0}function Hn(e,t){e=e|0;t=t|0;var i=0.0;i=+a[(rH(t)|0)>>2];a[e>>2]=+a[e>>2]-i;i=+a[(_G(t)|0)>>2];a[e+4>>2]=+a[e+4>>2]-i;i=+a[(ZG(t)|0)>>2];a[e+8>>2]=+a[e+8>>2]-i;a[e+12>>2]=+a[e+12>>2]-+a[t+12>>2];return e|0}function In(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;n=_[t>>2]|0;n=Pa[_[(_[n>>2]|0)+56>>2]&31](n,40)|0;_[n+4>>2]=_[t>>2];_[n>>2]=8044;_[n+12>>2]=0;_[n+8>>2]=0;return n|0}function Jn(e,t){e=e|0;t=t|0;var i=0,r=0;i=n[e>>0]|0;r=n[t>>0]|0;if(i<<24>>24==0?1:i<<24>>24!=r<<24>>24)e=r;else{do{e=e+1|0;t=t+1|0;i=n[e>>0]|0;r=n[t>>0]|0}while(!(i<<24>>24==0?1:i<<24>>24!=r<<24>>24));e=r}return(i&255)-(e&255)|0}function Kn(e){e=e|0;var t=0;t=u;u=u+32|0;a[t+20>>2]=0.0;a[t+16>>2]=0.0;a[t+12>>2]=0.0;Mr(e+472|0,t+20|0,t+16|0,t+12|0);a[t+8>>2]=0.0;a[t+4>>2]=0.0;a[t>>2]=0.0;Mr(e+488|0,t+8|0,t+4|0,t);u=t;return}function Ln(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0;r=+G(+ +a[t>>2]);n=+G(+ +a[t+4>>2]);i=+G(+ +a[t+8>>2]);a[e+16>>2]=r;a[e+20>>2]=n;a[e+24>>2]=i;a[e+28>>2]=0.0;vi(e);return}function Mn(e){e=e|0;var t=0;t=u;u=u+16|0;if(!(n[22248]|0))Dy(22248)|0;ma[_[(_[e>>2]|0)+76>>2]&127](t,e);_[5608]=_[t>>2];_[5609]=_[t+4>>2];_[5610]=_[t+8>>2];_[5611]=_[t+12>>2];u=t;return 22432}function Nn(e,t){e=e|0;t=t|0;var i=0;if((rH(_[e+8>>2]|0)|0)>=(t|0))return;i=zu(t)|0;Vq(e,rH(_[e+4>>2]|0)|0,i);rs(e);n[e+16>>0]=1;_[e+12>>2]=i;_[e+8>>2]=t;return}function On(e){e=e|0;var t=0,i=0;i=e+15&-16|0;t=_[f>>2]|0;e=t+i|0;if((i|0)>0&(e|0)<(t|0)|(e|0)<0){t_()|0;X_(12);return-1}_[f>>2]=e;if((e|0)>(e_()|0)?($()|0)==0:0){X_(12);_[f>>2]=t;return-1}return t|0}function Pn(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0;r=+a[t+20>>2];n=r*+a[t+260>>2]+ +a[t+72>>2];i=r*+a[t+264>>2]+ +a[t+76>>2];a[e>>2]=+a[t+256>>2]*r+ +a[t+68>>2];a[e+4>>2]=n;a[e+8>>2]=i;a[e+12>>2]=0.0;return}function Qn(e,t){e=e|0;t=t|0;var i=0.0,n=0.0;i=+a[(ZG(e)|0)>>2];i=i*+a[(rH(t)|0)>>2];n=+a[(ZG(e+16|0)|0)>>2];n=i+n*+a[(_G(t)|0)>>2];i=+a[(ZG(e+32|0)|0)>>2];return+(n+i*+a[(ZG(t)|0)>>2])}function Rn(e,t){e=e|0;t=t|0;var i=0.0,n=0.0;i=+a[(_G(e)|0)>>2];i=i*+a[(rH(t)|0)>>2];n=+a[(_G(e+16|0)|0)>>2];n=i+n*+a[(_G(t)|0)>>2];i=+a[(_G(e+32|0)|0)>>2];return+(n+i*+a[(ZG(t)|0)>>2])}function Sn(e){e=e|0;var t=0,i=0;t=_[e+156>>2]|0;if(!t){e=e+52|0;n[e>>0]=1;return}do{t=t+-1|0;i=_[(_[e+164>>2]|0)+(t<<2)>>2]|0;ua[_[(_[i>>2]|0)+72>>2]&511](i)}while((t|0)!=0);i=e+52|0;n[i>>0]=1;return}function Tn(e){e=e|0;var t=0;t=n[e+74>>0]|0;n[e+74>>0]=t+255|t;t=_[e>>2]|0;if(!(t&8)){_[e+8>>2]=0;_[e+4>>2]=0;t=_[e+44>>2]|0;_[e+28>>2]=t;_[e+20>>2]=t;_[e+16>>2]=t+(_[e+48>>2]|0);e=0}else{_[e>>2]=t|32;e=-1}return e|0}function Un(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;if((n|0)!=-1)return;switch(t|0){case 2:case 1:{a[e+336>>2]=i;_[e+332>>2]=_[e+332>>2]|1;return}case 4:case 3:{a[e+340>>2]=i;_[e+332>>2]=_[e+332>>2]|2;return}default:return}}function Vn(e,t){e=e|0;t=t|0;_[e>>2]=_[t>>2];_[e+4>>2]=_[t+4>>2];_[e+8>>2]=_[t+8>>2];_[e+12>>2]=_[t+12>>2];_[e+16>>2]=_[t+16>>2];_[e+16+4>>2]=_[t+16+4>>2];_[e+16+8>>2]=_[t+16+8>>2];_[e+16+12>>2]=_[t+16+12>>2];return}function Wn(e){e=e|0;var t=0;t=_[e+144>>2]|0;e=_[t+32>>2]|0;if(!e)return;if((e|0)>1)e=e+-1|0;else{e=_[t+8>>2]|0;ma[_[(_[e>>2]|0)+24>>2]&127](e,_[t+28>>2]|0);_[t+36>>2]=0;e=0}_[t+32>>2]=e;return}function Xn(e,t,i){e=e|0;t=t|0;i=+i;var r=0;r=u;u=u+16|0;if(!(n[22272]|0))Dy(22272)|0;ei(r,e,t,i);_[5620]=_[r>>2];_[5621]=_[r+4>>2];_[5622]=_[r+8>>2];_[5623]=_[r+12>>2];u=r;return 22480}function Yn(e,t,i){e=e|0;t=t|0;i=+i;var r=0;r=u;u=u+16|0;if(!(n[22304]|0))Dy(22304)|0;ei(r,e,t,i);_[5656]=_[r>>2];_[5657]=_[r+4>>2];_[5658]=_[r+8>>2];_[5659]=_[r+12>>2];u=r;return 22624}function Zn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;if((t|0)==(i|0))return;n=_[(_[e+4>>2]|0)+96>>2]|0;xa[_[(_[n>>2]|0)+8>>2]&63](n,_[t+36>>2]|0,_[i+36>>2]|0)|0;i=(_[e+4>>2]|0)+120|0;_[i>>2]=(_[i>>2]|0)+1;return}function _n(e){e=e|0;var t=0,i=0.0,n=0.0,r=0.0;t=u;u=u+32|0;Za[_[(_[e>>2]|0)+12>>2]&127](e,t+8|0,t);r=+a[t+8>>2];n=+a[t+8+4>>2];i=+a[t+8+8>>2];i=+W(+(r*r+n*n+i*i));u=t;return+(i+ +a[t>>2])}function $n(e){e=e|0;var t=0;_[e>>2]=9384;t=_[e+48>>2]|0;ma[_[(_[t>>2]|0)+20>>2]&127](t,_[e+64>>2]|0);t=_[e+48>>2]|0;ma[_[(_[t>>2]|0)+16>>2]&127](t,_[e+64>>2]|0);_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function ao(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0;r=u;u=u+16|0;_[r>>2]=4852;_[r+4>>2]=i;_[r+8>>2]=e;Za[_[(_[t>>2]|0)+48>>2]&127](t,r,n);u=r;return}function bo(e,t,i){e=e|0;t=t|0;i=i|0;e=_[t+8>>2]|0;if(!((i|0)!=0&(e|0)!=0))return;ua[_[_[e>>2]>>2]&511](e);ma[_[(_[i>>2]|0)+60>>2]&127](i,_[t+8>>2]|0);_[t+8>>2]=0;return}function co(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;t=rH(t+4|0)|0;r=(rH(zF(t,0)|0)|0)+(i<<2)|0;n=(rH(zF(t,1)|0)|0)+(i<<2)|0;Mr(e,r,n,(rH(zF(t,2)|0)|0)+(i<<2)|0);return}function eo(e,t){e=e|0;t=t|0;var i=0.0,n=0.0;i=+a[(rH(e)|0)>>2];i=i*+a[(rH(t)|0)>>2];n=+a[(rH(e+16|0)|0)>>2];n=i+n*+a[(_G(t)|0)>>2];i=+a[(rH(e+32|0)|0)>>2];return+(n+i*+a[(ZG(t)|0)>>2])}function fo(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=u;u=u+16|0;_[n>>2]=4740;_[n+4>>2]=t;_[n+8>>2]=e;_[n+12>>2]=i;Za[_[(_[e>>2]|0)+48>>2]&127](e,n,i);u=n;return}function go(e){e=e|0;var t=0;_[e>>2]=5956;if(n[e+65>>0]|0?(t=_[e+56>>2]|0,ua[_[_[t>>2]>>2]&511](t),t=_[e+56>>2]|0,t|0):0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function ho(e,t){e=e|0;t=t|0;e=_[e+16>>2]|0;return Pa[_[(_[e>>2]|0)+8>>2]&31](e,t)|0}function io(e,t,i,n){e=+e;t=+t;i=+i;n=+n;var r=0,_=0;_=u;u=u+16|0;a[_+12>>2]=e;a[_+8>>2]=t;a[_+4>>2]=i;a[_>>2]=n;r=Ds()|0;zt(r,_+12|0,_+8|0,_+4|0,_);u=_;return r|0}function jo(e,t,i,n){e=+e;t=+t;i=+i;n=+n;var r=0,_=0;_=u;u=u+16|0;a[_+12>>2]=e;a[_+8>>2]=t;a[_+4>>2]=i;a[_>>2]=n;r=ur(16)|0;Mu(r,_+12|0,_+8|0,_+4|0,_);u=_;return r|0}function ko(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;if(rC(e,_[t+8>>2]|0)|0)lk(t,i,n,r);return}function lo(e){e=e|0;var t=0;t=rH(e)|0;a[t>>2]=3402823466385288598117041.0e14;a[t+4>>2]=3402823466385288598117041.0e14;a[t+8>>2]=3402823466385288598117041.0e14;e=rH(e+16|0)|0;a[e>>2]=-3402823466385288598117041.0e14;a[e+4>>2]=-3402823466385288598117041.0e14;a[e+8>>2]=-3402823466385288598117041.0e14;return}function mo(e,t){e=e|0;t=+t;var i=0,n=0;if((_[e+296>>2]|0)<=0)return;i=0;do{n=_[(_[e+304>>2]|0)+(i<<2)>>2]|0;Ga[_[(_[n>>2]|0)+8>>2]&7](n,e,t);i=i+1|0}while((i|0)<(_[e+296>>2]|0));return}function no(e){e=e|0;var t=0;_[e>>2]=3272;t=_[e+212>>2]|0;if(t|0){if(n[e+216>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+212>>2]=0}n[e+216>>0]=1;_[e+212>>2]=0;_[e+204>>2]=0;_[e+208>>2]=0;return}function oo(e){e=e|0;var t=0;t=u;u=u+16|0;if(!(n[22232]|0))Dy(22232)|0;kz(t,e);_[5600]=_[t>>2];_[5601]=_[t+4>>2];_[5602]=_[t+8>>2];_[5603]=_[t+12>>2];u=t;return 22400}function po(e){e=e|0;var t=0;t=u;u=u+16|0;if(!(n[22224]|0))Dy(22224)|0;Qx(t,e);_[5596]=_[t>>2];_[5597]=_[t+4>>2];_[5598]=_[t+8>>2];_[5599]=_[t+12>>2];u=t;return 22384}function qo(e){e=e|0;var t=0.0,i=0.0,r=0.0;if(!(n[22240]|0))Dy(22240)|0;r=-+a[e+52>>2];i=+a[e+260>>2]*r;t=+a[e+264>>2]*r;a[5604]=+a[e+256>>2]*r;a[5605]=i;a[5606]=t;a[5607]=0.0;return 22416}function ro(e,t,i){e=e|0;t=+t;i=i|0;t=t*.4000000059604645*+Da[_[(_[e>>2]|0)+48>>2]&15](e);t=t*+Da[_[(_[e>>2]|0)+48>>2]&15](e);a[i>>2]=t;a[i+4>>2]=t;a[i+8>>2]=t;a[i+12>>2]=0.0;return}function so(e,t){e=e|0;t=t|0;var i=0.0,n=0.0;i=+a[e>>2];i=i*+a[(rH(t)|0)>>2];n=+a[e+4>>2];n=i+n*+a[(_G(t)|0)>>2];i=+a[e+8>>2];i=n+i*+a[(ZG(t)|0)>>2];return+(i+ +a[e+12>>2]*+a[t+12>>2])}function to(e,t,i,n,r,_,o){e=e|0;t=+t;i=+i;n=+n;r=+r;_=+_;o=+o;var s=0;s=u;u=u+16|0;a[s+8>>2]=i*o-n*_;a[s+4>>2]=n*r-t*o;a[s>>2]=t*_-i*r;Mr(e,s+8|0,s+4|0,s);u=s;return}function uo(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;_[i>>2]=-581039253;_[i+4>>2]=-581039253;_[i+8>>2]=-581039253;a[i+12>>2]=0.0;_[n>>2]=1566444395;_[n+4>>2]=1566444395;_[n+8>>2]=1566444395;a[n+12>>2]=0.0;return}function vo(e){e=e|0;var t=0;t=u;u=u+16|0;if(!(n[22208]|0))Dy(22208)|0;cp(t,e);_[5588]=_[t>>2];_[5589]=_[t+4>>2];_[5590]=_[t+8>>2];_[5591]=_[t+12>>2];u=t;return 22352}function wo(e){e=e|0;var t=0;t=u;u=u+16|0;if(!(n[22216]|0))Dy(22216)|0;Al(t,e);_[5592]=_[t>>2];_[5593]=_[t+4>>2];_[5594]=_[t+8>>2];_[5595]=_[t+12>>2];u=t;return 22368}function xo(e){e=e|0;var t=0;_[e>>2]=9608;t=_[e+32>>2]|0;if(t|0){if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+32>>2]=0}n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;_[e+28>>2]=0;return}function yo(e,t){e=e|0;t=t|0;var i=0,n=0;i=u;u=u+16|0;n=rH(_[t+4>>2]|0)|0;_[i>>2]=0;en(e,n,i);Vq(t,n,_[e+12>>2]|0);u=i;return}function zo(e,t,i,n,r,_,o,s,c,a){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;a=a|0;Mr(e,t,i,n);Mr(e+16|0,r,_,o);Mr(e+32|0,s,c,a);return}function Ao(e){e=e|0;var t=0;_[e>>2]=4872;t=_[e+296>>2]|0;if(t|0){if(n[e+300>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+296>>2]=0}n[e+300>>0]=1;_[e+296>>2]=0;_[e+288>>2]=0;_[e+292>>2]=0;return}function Bo(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=u;u=u+64|0;xj(n+16|0,t,i);kl(n,t,+a[i+48>>2],+a[i+52>>2],+a[i+56>>2]);Pp(e,n+16|0,n);u=n;return}function Co(e){e=e|0;var t=0,i=0;_[e>>2]=7544;t=_[e+56>>2]|0;if(t|0?(ua[_[_[t>>2]>>2]&511](t),i=_[e+56>>2]|0,i|0):0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function Do(e){e=e|0;var t=0;_[e>>2]=9336;_[e+8>>2]=9384;t=_[e+56>>2]|0;ma[_[(_[t>>2]|0)+20>>2]&127](t,_[e+72>>2]|0);t=_[e+56>>2]|0;ma[_[(_[t>>2]|0)+16>>2]&127](t,_[e+72>>2]|0);return}function Eo(e,t){e=e|0;t=t|0;var i=0;i=(_[e+96>>2]|0)+4|0;_[i>>2]=_[t>>2];_[i+4>>2]=_[t+4>>2];_[i+8>>2]=_[t+8>>2];_[i+12>>2]=_[t+12>>2];vi(e);return}function Fo(e,t){e=e|0;t=t|0;var i=0;if(n[e+289>>0]|0?(i=_[e+216>>2]|0,i|0):0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}n[e+289>>0]=0;_[e+216>>2]=t;_[(_[e+212>>2]|0)+8>>2]=t;return}function Go(e){e=e|0;var t=0;_[e>>2]=3024;t=_[e+88>>2]|0;if(t|0){if(n[e+92>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+88>>2]=0}n[e+92>>0]=1;_[e+88>>2]=0;_[e+80>>2]=0;_[e+84>>2]=0;return}function Ho(e){e=e|0;var t=0;_[e>>2]=4780;t=_[e+20>>2]|0;if(t|0){if(n[e+24>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+20>>2]=0}n[e+24>>0]=1;_[e+20>>2]=0;_[e+12>>2]=0;_[e+16>>2]=0;return}function Io(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;n=_[t>>2]|0;n=Pa[_[(_[n>>2]|0)+56>>2]&31](n,8)|0;_[n+4>>2]=_[t>>2];_[n>>2]=5576;return n|0}function Jo(e,t){e=e|0;t=t|0;var i=0,n=0;i=u;u=u+16|0;n=rH(_[t+4>>2]|0)|0;Dl(e,n,i);an(t,n,_[e+12>>2]|0);u=i;return}function Ko(e){e=e|0;var t=0;_[e>>2]=4416;t=_[e+16>>2]|0;if(t|0){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;return}function Lo(e,t,i,n,r){e=e|0;t=+t;i=+i;n=+n;r=+r;var _=0;_=u;u=u+16|0;a[_+12>>2]=t;a[_+8>>2]=i;a[_+4>>2]=n;a[_>>2]=r;_q(e,_+12|0,_+8|0,_+4|0,_);u=_;return}function Mo(e){e=e|0;var t=0,i=0;_[e>>2]=5772;if(!(n[e+8>>0]|0)){nH(e);return}t=_[e+12>>2]|0;if(!t){nH(e);return}i=_[e+4>>2]|0;ma[_[(_[i>>2]|0)+16>>2]&127](i,t);nH(e);return}function No(e){e=e|0;var t=0,i=0;_[e>>2]=5744;if(!(n[e+8>>0]|0)){nH(e);return}t=_[e+12>>2]|0;if(!t){nH(e);return}i=_[e+4>>2]|0;ma[_[(_[i>>2]|0)+16>>2]&127](i,t);nH(e);return}function Oo(e){e=e|0;var t=0,i=0;_[e>>2]=9536;if(!(n[e+8>>0]|0)){nH(e);return}t=_[e+12>>2]|0;if(!t){nH(e);return}i=_[e+4>>2]|0;ma[_[(_[i>>2]|0)+16>>2]&127](i,t);nH(e);return}function Po(e,t){e=e|0;t=t|0;var i=0,n=0;i=u;u=u+16|0;n=rH(_[t+4>>2]|0)|0;a[i>>2]=0.0;en(e,n,i);Vq(t,n,_[e+12>>2]|0);u=i;return}function Qo(e){e=e|0;var t=0;_[e>>2]=5956;if(!(n[e+65>>0]|0))return;t=_[e+56>>2]|0;ua[_[_[t>>2]>>2]&511](t);e=_[e+56>>2]|0;if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function Ro(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=u;u=u+16|0;_[n>>2]=4760;_[n+4>>2]=t;Za[_[(_[e>>2]|0)+48>>2]&127](e,n,i);u=n;return}function So(e){e=e|0;var t=0,i=0;_[e>>2]=9160;if(!(n[e+8>>0]|0)){nH(e);return}t=_[e+12>>2]|0;if(!t){nH(e);return}i=_[e+4>>2]|0;ma[_[(_[i>>2]|0)+16>>2]&127](i,t);nH(e);return}function To(e,t,i){e=e|0;t=t|0;i=i|0;var r=0;if((t|0)<(e|0)&(e|0)<(t+i|0)){r=e;t=t+i|0;e=e+i|0;while((i|0)>0){e=e-1|0;t=t-1|0;i=i-1|0;n[e>>0]=n[t>>0]|0}e=r}else oh(e,t,i)|0;return e|0}function Uo(e,t){e=e|0;t=t|0;var i=0,n=0,r=0;i=U(t&65535,e&65535)|0;r=(i>>>16)+(U(t&65535,e>>>16)|0)|0;n=U(t>>>16,e&65535)|0;return(O=(r>>>16)+(U(t>>>16,e>>>16)|0)+(((r&65535)+n|0)>>>16)|0,r+n<<16|i&65535|0)|0}function Vo(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,r=0.0;r=+G(+ +a[t>>2]);n=+G(+ +a[t+4>>2]);i=+G(+ +a[t+8>>2]);a[e+16>>2]=r;a[e+20>>2]=n;a[e+24>>2]=i;a[e+28>>2]=0.0;return}function Wo(e,t){e=e|0;t=t|0;nf(e,_[t+36>>2]|0);return}function Xo(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;if(rC(e,_[t+8>>2]|0)|0)im(t,i,n);return}function Yo(e,t,i,n,r,_,o,s,c,a,l,f,b){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=+_;o=+o;s=+s;c=+c;a=+a;l=l|0;f=+f;b=b|0;Qa[e&0](t|0,i|0,n|0,r|0,+_,+o,+s,+c,+a,l|0,+f,b|0)}function Zo(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;a[e>>2]=(1.0-n)*+a[t>>2]+ +a[i>>2]*n;a[e+4>>2]=(1.0-n)*+a[t+4>>2]+ +a[i+4>>2]*n;a[e+8>>2]=(1.0-n)*+a[t+8>>2]+ +a[i+8>>2]*n;return}function _o(e,t,i,n,r,_,o){e=e|0;t=+t;i=+i;n=+n;r=+r;_=+_;o=+o;var s=0;s=u;u=u+16|0;a[s+8>>2]=t+r;a[s+4>>2]=i+_;a[s>>2]=n+o;Mr(e,s+8|0,s+4|0,s);u=s;return}function $o(e,t,i,n,r,_,o){e=e|0;t=+t;i=+i;n=+n;r=+r;_=+_;o=+o;var s=0;s=u;u=u+16|0;a[s+8>>2]=t*r;a[s+4>>2]=i*_;a[s>>2]=n*o;Mr(e,s+8|0,s+4|0,s);u=s;return}function ap(e,t,i,n,r,_,o){e=e|0;t=+t;i=+i;n=+n;r=+r;_=+_;o=+o;var s=0;s=u;u=u+16|0;a[s+8>>2]=t-r;a[s+4>>2]=i-_;a[s>>2]=n-o;Mr(e,s+8|0,s+4|0,s);u=s;return}function bp(e,t){e=e|0;t=t|0;_[e+160>>2]=_[t>>2];_[e+160+4>>2]=_[t+4>>2];_[e+160+8>>2]=_[t+8>>2];_[e+160+12>>2]=_[t+12>>2];ua[_[(_[e>>2]|0)+72>>2]&511](e);return}function cp(e,t){e=e|0;t=t|0;var i=0;i=u;u=u+16|0;a[i+8>>2]=-+a[t>>2];a[i+4>>2]=-+a[t+4>>2];a[i>>2]=-+a[t+8>>2];Mu(e,i+8|0,i+4|0,i,t+12|0);u=i;return}function dp(e){e=e|0;var t=0,i=0,r=0;i=_[e>>2]|0;r=(n[i>>0]|0)+-48|0;if(r>>>0<10){t=0;do{t=r+(t*10|0)|0;i=i+1|0;_[e>>2]=i;r=(n[i>>0]|0)+-48|0}while(r>>>0<10)}else t=0;return t|0}function ep(e){e=e|0;var t=0;_[e>>2]=7544;t=_[e+56>>2]|0;if(!t)return;ua[_[_[t>>2]>>2]&511](t);e=_[e+56>>2]|0;if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function fp(e,t){e=e|0;t=t|0;_[e+304>>2]=(_[e+304>>2]|0)+1;_[e+148>>2]=_[t>>2];_[e+148+4>>2]=_[t+4>>2];_[e+148+8>>2]=_[t+8>>2];_[e+148+12>>2]=_[t+12>>2];return}function gp(e,t){e=e|0;t=t|0;if(!(n[22256]|0))Dy(22256)|0;t=zF(_[e+12>>2]|0,t)|0;_[5612]=_[t>>2];_[5613]=_[t+4>>2];_[5614]=_[t+8>>2];_[5615]=_[t+12>>2];return 22448}function hp(e,t){e=e|0;t=t|0;_[e+56>>2]=_[t>>2];_[e+56+4>>2]=_[t+4>>2];_[e+56+8>>2]=_[t+8>>2];_[e+56+12>>2]=_[t+12>>2];ua[_[(_[e>>2]|0)+72>>2]&511](e);return}function ip(e,t){e=e|0;t=t|0;_[e+304>>2]=(_[e+304>>2]|0)+1;_[e+132>>2]=_[t>>2];_[e+132+4>>2]=_[t+4>>2];_[e+132+8>>2]=_[t+8>>2];_[e+132+12>>2]=_[t+12>>2];return}function jp(e,t,i){e=e|0;t=t|0;i=i|0;t=_[t+188>>2]|0;e=_[i+188>>2]|0;if(!(_[e+8>>2]&_[t+4>>2])){i=0;return i|0}i=(_[t+8>>2]&_[e+4>>2]|0)!=0;return i|0}function kp(e,t,i,n,r,_,o,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;return+ +oa(0,e|0,t|0,i|0,n|0,r|0,_|0,o|0,s|0)}function lp(e,t){e=e|0;t=t|0;if((t|0)==0?1:(_[t+252>>2]&2|0)==0){sh(e,t);return}else{ma[_[(_[e>>2]|0)+92>>2]&127](e,t);return}}function mp(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;if(!((e|0)==0&(t|0)==0))do{i=i+-1|0;n[i>>0]=o[19721+(e&15)>>0]|0|r;e=tt(e|0,t|0,4)|0;t=O}while(!((e|0)==0&(t|0)==0));return i|0}function np(e){e=e|0;var t=0;_[e>>2]=9384;t=_[e+48>>2]|0;ma[_[(_[t>>2]|0)+20>>2]&127](t,_[e+64>>2]|0);t=_[e+48>>2]|0;ma[_[(_[t>>2]|0)+16>>2]&127](t,_[e+64>>2]|0);return}function op(e){e=e|0;var t=0;t=n[m+(e&255)>>0]|0;if((t|0)<8)return t|0;t=n[m+(e>>8&255)>>0]|0;if((t|0)<8)return t+8|0;t=n[m+(e>>16&255)>>0]|0;if((t|0)<8)return t+16|0;return(n[m+(e>>>24)>>0]|0)+24|0}function pp(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var r=0;r=u;u=u+16|0;a[r+8>>2]=+gH(t);a[r+4>>2]=+gH(i);a[r>>2]=+gH(n);Mr(e,r+8|0,r+4|0,r);u=r;return}function qp(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var r=0;r=u;u=u+16|0;$o(r,t,i,n,+a[e+408>>2],+a[e+412>>2],+a[e+416>>2]);qr(e+472|0,r)|0;u=r;return}function rp(e,t,i){e=+e;t=+t;i=+i;var n=0,r=0;r=u;u=u+16|0;a[r+8>>2]=e;a[r+4>>2]=t;a[r>>2]=i;n=Ds()|0;Mr(n,r+8|0,r+4|0,r);u=r;return n|0}function sp(e,t){e=e|0;t=t|0;_[e+16>>2]=_[t>>2];_[e+16+4>>2]=_[t+4>>2];_[e+16+8>>2]=_[t+8>>2];_[e+16+12>>2]=_[t+12>>2];vi(e);return}function tp(e,t,i,n,r,_,o,s,c,a,l){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;a=a|0;l=l|0;return ha[e&3](t|0,i|0,n|0,r|0,_|0,o|0,s|0,c|0,a|0,l|0)|0}function up(e,t,i){e=e|0;t=t|0;i=i|0;_[i>>2]=_[e+100+(t<<4)>>2];_[i+4>>2]=_[e+100+(t<<4)+4>>2];_[i+8>>2]=_[e+100+(t<<4)+8>>2];_[i+12>>2]=_[e+100+(t<<4)+12>>2];return}function vp(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var r=0;r=u;u=u+16|0;$o(r,t,i,n,+a[e+604>>2],+a[e+608>>2],+a[e+612>>2]);qr(e+488|0,r)|0;u=r;return}function wp(e,t,i,n,r,_,o,s,c,a,l){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;a=a|0;l=l|0;return+La[e&3](t|0,i|0,n|0,r|0,_|0,o|0,s|0,c|0,a|0,l|0)}function xp(e,t,i,n,r,_,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;var s=0;s=ds()|0;_d(s,e,t,i,n,r,_,o);return s|0}function yp(){var e=0,t=0;e=pr()|0;if((e|0?(t=_[e>>2]|0,t|0):0)?(_[t+48>>2]&-256|0)==1126902528?(_[t+48+4>>2]|0)==1129074247:0:0)Ow(_[t+12>>2]|0);Ow(cE()|0)}function zp(e,t,i){e=e|0;t=t|0;i=i|0;Wy(e,t);_[e+48>>2]=_[i>>2];_[e+48+4>>2]=_[i+4>>2];_[e+48+8>>2]=_[i+8>>2];_[e+48+12>>2]=_[i+12>>2];return}function Ap(e,t){e=e|0;t=t|0;_[e+304>>2]=(_[e+304>>2]|0)+1;_[e+388>>2]=_[t>>2];_[e+388+4>>2]=_[t+4>>2];_[e+388+8>>2]=_[t+8>>2];_[e+388+12>>2]=_[t+12>>2];return}function Bp(){var e=0,t=0;t=u;u=u+32|0;e=ur(88)|0;Ks(t);Jd(e,t);u=t;return e|0}function Cp(e,t,i){e=e|0;t=t|0;i=i|0;_[i>>2]=_[e+60+(t<<4)>>2];_[i+4>>2]=_[e+60+(t<<4)+4>>2];_[i+8>>2]=_[e+60+(t<<4)+8>>2];_[i+12>>2]=_[e+60+(t<<4)+12>>2];return}function Dp(e,t){e=e|0;t=t|0;_[e+304>>2]=(_[e+304>>2]|0)+1;_[e+372>>2]=_[t>>2];_[e+372+4>>2]=_[t+4>>2];_[e+372+8>>2]=_[t+8>>2];_[e+372+12>>2]=_[t+12>>2];return}function Ep(e,t){e=e|0;t=t|0;if(!(n[22296]|0))Dy(22296)|0;t=zF(e,t)|0;_[5652]=_[t>>2];_[5653]=_[t+4>>2];_[5654]=_[t+8>>2];_[5655]=_[t+12>>2];return 22608}function Fp(e,t){e=e|0;t=t|0;_[e+304>>2]=(_[e+304>>2]|0)+1;_[e+604>>2]=_[t>>2];_[e+604+4>>2]=_[t+4>>2];_[e+604+8>>2]=_[t+8>>2];_[e+604+12>>2]=_[t+12>>2];return}function Gp(e,t,i,n,r,_,o,s,c,a,l,f){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=+_;o=+o;s=+s;c=+c;a=a|0;l=l|0;f=+f;ja[e&0](t|0,i|0,n|0,r|0,+_,+o,+s,+c,a|0,l|0,+f)}function Hp(e){e=e|0;var t=0.0,i=0.0;i=+a[e+36>>2];+Da[_[(_[e>>2]|0)+48>>2]&15](e);t=+Da[_[(_[e>>2]|0)+48>>2]&15](e);+Da[_[(_[e>>2]|0)+48>>2]&15](e);return+(i+t)}function Ip(e){e=e|0;var t=0.0,i=0.0;i=+a[e+32>>2];t=+Da[_[(_[e>>2]|0)+48>>2]&15](e);+Da[_[(_[e>>2]|0)+48>>2]&15](e);+Da[_[(_[e>>2]|0)+48>>2]&15](e);return+(i+t)}function Jp(e,t,i,n,r,_,o,s,c,a,l){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;a=a|0;l=l|0;Aa[e&3](t|0,i|0,n|0,r|0,_|0,o|0,s|0,c|0,a|0,l|0)}function Kp(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=u;u=u+16|0;_[n>>2]=_[i>>2];e=xa[_[(_[e>>2]|0)+16>>2]&63](e,t,n)|0;if(e)_[i>>2]=_[n>>2];u=n;return e&1|0}function Lp(e,t,i,n,r){e=e|0;t=+t;i=+i;n=+n;r=+r;var _=0;_=u;u=u+16|0;a[_+8>>2]=t*r;a[_+4>>2]=i*r;a[_>>2]=n*r;Mr(e,_+8|0,_+4|0,_);u=_;return}function Mp(e,t){e=e|0;t=t|0;a[e>>2]=+a[e>>2]*+a[t>>2];a[e+4>>2]=+a[e+4>>2]*+a[t>>2];a[e+8>>2]=+a[e+8>>2]*+a[t>>2];a[e+12>>2]=+a[e+12>>2]*+a[t>>2];return e|0}function Np(e,t,i,n,r,_,o,s,c,a){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;a=a|0;zo(e,t,i,n,r,_,o,s,c,a);return}function Op(e,t,i){e=e|0;t=t|0;i=i|0;t=_[t+204>>2]|0;if(t&4|0)return 0;e=_[i+204>>2]|0;if(!(e&4))return(t&3|0)==0|(e&3|0)==0|0;else return 0;return 0}function Pp(e,t,i){e=e|0;t=t|0;i=i|0;Tl(e,t);_[e+48>>2]=_[i>>2];_[e+48+4>>2]=_[i+4>>2];_[e+48+8>>2]=_[i+8>>2];_[e+48+12>>2]=_[i+12>>2];return}function Qp(e){e=e|0;var t=0;_[e>>2]=5772;if(!(n[e+8>>0]|0))return;t=_[e+12>>2]|0;if(!t)return;e=_[e+4>>2]|0;ma[_[(_[e>>2]|0)+16>>2]&127](e,t);return}function Rp(e){e=e|0;var t=0;_[e>>2]=4780;t=_[e+20>>2]|0;if(!t){nH(e);return}if(!(n[e+24>>0]|0)){nH(e);return}_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);nH(e);return}function Sp(e){e=e|0;var t=0;_[e>>2]=5744;if(!(n[e+8>>0]|0))return;t=_[e+12>>2]|0;if(!t)return;e=_[e+4>>2]|0;ma[_[(_[e>>2]|0)+16>>2]&127](e,t);return}function Tp(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;var o=0;o=ds()|0;_d(o,e,t,i,n,r,_,0);return o|0}function Up(e){e=e|0;var t=0;_[e>>2]=9536;if(!(n[e+8>>0]|0))return;t=_[e+12>>2]|0;if(!t)return;e=_[e+4>>2]|0;ma[_[(_[e>>2]|0)+16>>2]&127](e,t);return}function Vp(e,t){e=e|0;t=t|0;var i=0;i=u;u=u+128|0;$m(i,e+68|0);Bo(i+64|0,e+4|0,i);oq(t,i+64|0);u=i;return}function Wp(e,t){e=e|0;t=t|0;e=_[e+4>>2]|0;return((_[t>>2]|0)==(e|0)?1:(_[t+4>>2]|0)==(e|0))|0}function Xp(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var _=0;_=Rr()|0;ge(_,e,t,i,n,r);return _|0}function Yp(e,t){e=e|0;t=t|0;e=_[e+24>>2]|0;return Pa[_[(_[e>>2]|0)+8>>2]&31](e,t)|0}function Zp(e){e=e|0;var t=0;_[e>>2]=4416;t=_[e+16>>2]|0;if(!t){nH(e);return}if(!(n[e+20>>0]|0)){nH(e);return}_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);nH(e);return}function _p(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var r=0;r=u;u=u+16|0;a[r+8>>2]=t;a[r+4>>2]=i;a[r>>2]=n;Mr(e,r+8|0,r+4|0,r);u=r;return}function $p(e){e=e|0;var t=0;_[e>>2]=9160;if(!(n[e+8>>0]|0))return;t=_[e+12>>2]|0;if(!t)return;e=_[e+4>>2]|0;ma[_[(_[e>>2]|0)+16>>2]&127](e,t);return}function aq(e,t,i){e=e|0;t=t|0;i=i|0;jG(e);_[e>>2]=2976;oq(e+4|0,t);oq(e+68|0,i);oq(e+132|0,t);_[e+196>>2]=0;return}function bq(e){e=e|0;var t=0;t=u;u=u+16|0;Cm(e);a[t+8>>2]=0.0;a[t+4>>2]=0.0;a[t>>2]=0.0;Mr(e+48|0,t+8|0,t+4|0,t);u=t;return}function cq(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=+r;var _=0;_=ur(44)|0;Ol(_,e,t,i,n,r);return _|0}function dq(e,t,i){e=e|0;t=t|0;i=+i;switch(t|0){case 3:{e=e+452|0;break}case 4:{e=e+448|0;break}case 5:{e=e+444|0;break}default:return}a[e>>2]=i;return}function eq(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)==3)break;a[e+868+(i<<6)+4>>2]=+bs(+a[(rH(t)|0)+(i<<2)>>2]);i=i+1|0}return}function fq(e,t){e=e|0;t=t|0;t=_[t+36>>2]|0;Yd(e,_[(_[(_[(_[e+4>>2]|0)+4>>2]|0)+28>>2]|0)+(t*80|0)+64>>2]|0,t);return}function gq(e,t){e=e|0;t=t|0;ym(e);_[e>>2]=8600;KD(e+152|0);_[e+148>>2]=t;th(e,t);return}function hq(e,t,i,n,r,_,o,s,c,a){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;a=a|0;return+Ea[e&3](t|0,i|0,n|0,r|0,_|0,o|0,s|0,c|0,a|0)}function iq(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)==3)break;a[e+868+(i<<6)>>2]=+bs(+a[(rH(t)|0)+(i<<2)>>2]);i=i+1|0}return}function jq(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;var r=0;r=ur(144)|0;Vj(r,e,t,i,n);return r|0}function kq(e,t,i,n,r,o,s,c){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;c=c|0;return+ +Sa[_[(_[e>>2]|0)+12>>2]&1](e,t,i,n,r,o,s,c)}function lq(e,t,i){e=e|0;t=t|0;i=i|0;if(!((e|0)==0&(t|0)==0))do{i=i+-1|0;n[i>>0]=e&7|48;e=tt(e|0,t|0,3)|0;t=O}while(!((e|0)==0&(t|0)==0));return i|0}function mq(e,t){e=e|0;t=t|0;t=u;u=u+16|0;a[t+8>>2]=1.0;a[t+4>>2]=1.0;a[t>>2]=1.0;Mr(e,t+8|0,t+4|0,t);u=t;return}function nq(e,t){e=e|0;t=t|0;var i=0,n=0;i=_[e+4>>2]|0;n=_[i>>2]|0;Za[_[(_[n>>2]|0)+108>>2]&127](n,t,i+112|0);return(_[e+4>>2]|0)+112|0}function oq(e,t){e=e|0;t=t|0;Tl(e,t);_[e+48>>2]=_[t+48>>2];_[e+48+4>>2]=_[t+48+4>>2];_[e+48+8>>2]=_[t+48+8>>2];_[e+48+12>>2]=_[t+48+12>>2];return}function pq(e,t){e=e|0;t=t|0;var i=0,n=0;i=_[e+4>>2]|0;n=_[i>>2]|0;Za[_[(_[n>>2]|0)+104>>2]&127](n,t,i+4|0);return(_[e+4>>2]|0)+4|0}function qq(e,t){e=e|0;t=t|0;Mr(e,t,t+16|0,t+32|0);Mr(e+16|0,t+4|0,t+20|0,t+36|0);Mr(e+32|0,t+8|0,t+24|0,t+40|0);return}function rq(e,t){e=e|0;t=t|0;ua[_[(_[t>>2]|0)+32>>2]&511](t);Uc(e,t);ua[_[(_[t>>2]|0)+36>>2]&511](t);return}function sq(e,t,i,n,r,_,o,s,c,a){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;a=a|0;Fa[e&1](t|0,i|0,n|0,r|0,_|0,o|0,s|0,c|0,a|0)}function tq(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Za[_[(_[e>>2]|0)+108>>2]&127](e,t,i);Za[_[(_[e>>2]|0)+108>>2]&127](e,(t+1|0)%3|0,n);return}function uq(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var r=0;r=u;u=u+16|0;a[r+8>>2]=-t;a[r+4>>2]=-i;a[r>>2]=-n;Mr(e,r+8|0,r+4|0,r);u=r;return}function vq(e,t){e=e|0;t=t|0;_[e+100>>2]=_[t>>2];_[e+100+4>>2]=_[t+4>>2];_[e+100+8>>2]=_[t+8>>2];_[e+100+12>>2]=_[t+12>>2];return}function wq(e){e=e|0;e=_[e+96>>2]|0;switch(e|0){case 4:case 0:break;case 1:{e=0;break}case 2:{e=0;break}case 3:{e=2;break}default:e=0}return e|0}function xq(e){e=e|0;e=_[e+96>>2]|0;switch(e|0){case 3:case 0:break;case 1:{e=0;break}case 2:{e=1;break}case 4:{e=6;break}default:e=0}return e|0}function yq(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var _=0;_=es()|0;Nd(_,e,t,i&65535,n,r);return _|0}function zq(e,t){e=e|0;t=t|0;_[e+696>>2]=_[t>>2];_[e+696+4>>2]=_[t+4>>2];_[e+696+8>>2]=_[t+8>>2];_[e+696+12>>2]=_[t+12>>2];return}function Aq(e,t){e=e|0;t=t|0;_[e+680>>2]=_[t>>2];_[e+680+4>>2]=_[t+4>>2];_[e+680+8>>2]=_[t+8>>2];_[e+680+12>>2]=_[t+12>>2];return}function Bq(e){e=e|0;_[e>>2]=3200;zD(e+116|0);zD(e+96|0);zD(e+76|0);zD(e+24|0);return}function Cq(e,t){e=e|0;t=t|0;_[e+156>>2]=_[t>>2];_[e+156+4>>2]=_[t+4>>2];_[e+156+8>>2]=_[t+8>>2];_[e+156+12>>2]=_[t+12>>2];return}function Dq(e,t,i){e=e|0;t=t|0;i=i|0;n[e+1309+t>>0]=i&1;if((t|0)<3){n[e+788+t>>0]=i&1;return}else{n[e+868+(t+-3<<6)+44>>0]=i&1;return}}function Eq(e,t){e=e|0;t=t|0;_[e+112>>2]=_[t>>2];_[e+112+4>>2]=_[t+4>>2];_[e+112+8>>2]=_[t+8>>2];_[e+112+12>>2]=_[t+12>>2];return}function Fq(e){e=e|0;_[e>>2]=2824;zD(e+108|0);zD(e+88|0);zD(e+68|0);zD(e+16|0);return}function Gq(e,t){e=e|0;t=t|0;_[e+56>>2]=_[t>>2];_[e+56+4>>2]=_[t+4>>2];_[e+56+8>>2]=_[t+8>>2];_[e+56+12>>2]=_[t+12>>2];return}function Hq(e,t){e=e|0;t=t|0;_[e+44>>2]=_[t>>2];_[e+44+4>>2]=_[t+4>>2];_[e+44+8>>2]=_[t+8>>2];_[e+44+12>>2]=_[t+12>>2];return}function Iq(e){e=e|0;_[6293]=(_[6293]|0)+1;e=cc((e<<4|3)+16|0)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Jq(e){e=e|0;var t=0;do{_[e+4>>2]=0;a[e+8>>2]=0.0;t=_[e+24>>2]|0;if(t|0)Jq(t);e=_[e+28>>2]|0}while((e|0)!=0);return}function Kq(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=+_;zd(e,t,i,n,r,_);return}function Lq(e,t){e=e|0;t=t|0;_[e+40>>2]=_[t>>2];_[e+40+4>>2]=_[t+4>>2];_[e+40+8>>2]=_[t+8>>2];_[e+40+12>>2]=_[t+12>>2];return}function Mq(e,t){e=e|0;t=t|0;_[e+60>>2]=_[t>>2];_[e+60+4>>2]=_[t+4>>2];_[e+60+8>>2]=_[t+8>>2];_[e+60+12>>2]=_[t+12>>2];return}function Nq(e,t){e=e|0;t=t|0;_[e+172>>2]=_[t>>2];_[e+172+4>>2]=_[t+4>>2];_[e+172+8>>2]=_[t+8>>2];_[e+172+12>>2]=_[t+12>>2];return}function Oq(e,t){e=e|0;t=t|0;_[e+32>>2]=_[t>>2];_[e+32+4>>2]=_[t+4>>2];_[e+32+8>>2]=_[t+8>>2];_[e+32+12>>2]=_[t+12>>2];return}function Pq(e){e=e|0;a[e>>2]=5.880000114440918;a[e+4>>2]=.8299999833106995;a[e+8>>2]=.8799999952316284;a[e+12>>2]=500.0;a[e+16>>2]=10.5;a[e+20>>2]=6.0e3;return}function Qq(e,t){e=e|0;t=t|0;_[e+24>>2]=_[t>>2];_[e+24+4>>2]=_[t+4>>2];_[e+24+8>>2]=_[t+8>>2];_[e+24+12>>2]=_[t+12>>2];return}function Rq(e,t){e=e|0;t=t|0;_[e+316>>2]=_[t>>2];_[e+316+4>>2]=_[t+4>>2];_[e+316+8>>2]=_[t+8>>2];_[e+316+12>>2]=_[t+12>>2];return}function Sq(e,t){e=e|0;t=t|0;_[e+300>>2]=_[t>>2];_[e+300+4>>2]=_[t+4>>2];_[e+300+8>>2]=_[t+8>>2];_[e+300+12>>2]=_[t+12>>2];return}function Tq(e,t){e=e|0;t=t|0;_[e+64>>2]=_[t>>2];_[e+64+4>>2]=_[t+4>>2];_[e+64+8>>2]=_[t+8>>2];_[e+64+12>>2]=_[t+12>>2];return}function Uq(e,t,i,n,r,_,o,s,c){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;return Ja[e&3](t|0,i|0,n|0,r|0,_|0,o|0,s|0,c|0)|0}function Vq(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=0;while(1){if((n|0)>=(t|0))break;_[i+(n<<2)>>2]=_[(_[e+12>>2]|0)+(n<<2)>>2];n=n+1|0}return}function Wq(e,t){e=e|0;t=t|0;_[e+72>>2]=_[t>>2];_[e+72+4>>2]=_[t+4>>2];_[e+72+8>>2]=_[t+8>>2];_[e+72+12>>2]=_[t+12>>2];return}function Xq(e,t){e=e|0;t=t|0;_[e+52>>2]=_[t>>2];_[e+52+4>>2]=_[t+4>>2];_[e+52+8>>2]=_[t+8>>2];_[e+52+12>>2]=_[t+12>>2];return}function Yq(e,t){e=e|0;t=t|0;_[e+8>>2]=_[t>>2];_[e+8+4>>2]=_[t+4>>2];_[e+8+8>>2]=_[t+8>>2];_[e+8+12>>2]=_[t+12>>2];return}function Zq(e,t){e=e|0;t=t|0;_[e+188>>2]=_[t>>2];_[e+188+4>>2]=_[t+4>>2];_[e+188+8>>2]=_[t+8>>2];_[e+188+12>>2]=_[t+12>>2];return}function _q(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_[e>>2]=_[t>>2];_[e+4>>2]=_[i>>2];_[e+8>>2]=_[n>>2];_[e+12>>2]=_[r>>2];return}function $q(e,t,i,n,r,_,o,s,c){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;return+Sa[e&1](t|0,i|0,n|0,r|0,_|0,o|0,s|0,c|0)}function ar(e,t){e=e|0;t=t|0;_[e+16>>2]=_[t>>2];_[e+16+4>>2]=_[t+4>>2];_[e+16+8>>2]=_[t+8>>2];_[e+16+12>>2]=_[t+12>>2];return}function br(e,t){e=e|0;t=t|0;if(!(_[t+4>>2]&_[e+8>>2])){t=0;return t|0}t=(_[e+4>>2]&_[t+8>>2]|0)!=0;return t|0}function cr(e,t){e=e|0;t=t|0;if(!(_[t+4>>2]&_[e+12>>2])){t=0;return t|0}t=(_[e+8>>2]&_[t+8>>2]|0)!=0;return t|0}function dr(e,t,i){e=e|0;t=t|0;i=+i;ma[_[(_[e>>2]|0)+32>>2]&127](e,t);Ga[_[(_[e>>2]|0)+36>>2]&7](e,t,i);return}function er(e){e=e|0;_[6293]=(_[6293]|0)+1;e=cc((e<<2|3)+16|0)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function fr(e,t){e=e|0;t=t|0;if(!(_[t+4>>2]&_[e+16>>2])){t=0;return t|0}t=(_[e+12>>2]&_[t+8>>2]|0)!=0;return t|0}function gr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0;r=es()|0;Nd(r,e,t,i&65535,n,0);return r|0}function hr(e,t){e=e|0;t=t|0;_[e+68>>2]=_[t>>2];_[e+68+4>>2]=_[t+4>>2];_[e+68+8>>2]=_[t+8>>2];_[e+68+12>>2]=_[t+12>>2];return}function ir(e,t){e=e|0;t=t|0;_[e+36>>2]=_[t>>2];_[e+36+4>>2]=_[t+4>>2];_[e+36+8>>2]=_[t+8>>2];_[e+36+12>>2]=_[t+12>>2];return}function jr(e,t){e=e|0;t=t|0;_[e>>2]=_[t+264>>2];_[e+4>>2]=_[t+264+4>>2];_[e+8>>2]=_[t+264+8>>2];_[e+12>>2]=_[t+264+12>>2];return}function kr(){var e=0;e=ur(16)|0;_[e>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;iy(e);return e|0}function lr(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=Rr()|0;Ed(n,e,t,i);return n|0}function mr(){var e=0;e=Yr()|0;Tm();Tm();aq(e,22496,22496);return e|0}function nr(e,t,i){e=e|0;t=t|0;i=i|0;if((_[e+4>>2]|0)==(t|0)?(_[e+28>>2]|0)!=1:0)_[e+28>>2]=i;return}function or(e,t){e=e|0;t=t|0;_[e+48>>2]=_[t>>2];_[e+48+4>>2]=_[t+4>>2];_[e+48+8>>2]=_[t+8>>2];_[e+48+12>>2]=_[t+12>>2];return}function pr(){var e=0,t=0;e=u;u=u+16|0;if(!(ta(28052,3)|0)){t=Q_(_[7014]|0)|0;u=e;return t|0}else wv(21906,e);return 0}function qr(e,t){e=e|0;t=t|0;a[e>>2]=+a[e>>2]+ +a[t>>2];a[e+4>>2]=+a[e+4>>2]+ +a[t+4>>2];a[e+8>>2]=+a[e+8>>2]+ +a[t+8>>2];return e|0}function rr(e,t){e=e|0;t=t|0;a[e>>2]=+a[e>>2]-+a[t>>2];a[e+4>>2]=+a[e+4>>2]-+a[t+4>>2];a[e+8>>2]=+a[e+8>>2]-+a[t+8>>2];return e|0}function sr(e,t){e=e|0;t=t|0;var i=0;i=u;u=u+64|0;Bo(i,t,e+68|0);oq(e+4|0,i);u=i;return}function tr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0;r=u;u=u+16|0;ue(e,t,i,n,r|0)|0;u=r;return(O=_[r+4>>2]|0,_[r>>2]|0)|0}function ur(e){e=e|0;var t=0;t=(e|0)==0?1:e;while(1){e=cc(t)|0;if(e|0)break;e=UD()|0;if(!e){e=0;break}Xa[e&3]()}return e|0}function vr(e){e=e|0;var t=0;t=u;u=u+16|0;a[t+8>>2]=0.0;a[t+4>>2]=0.0;a[t>>2]=0.0;Mr(e,t+8|0,t+4|0,t);u=t;return}function wr(e,t){e=e|0;t=t|0;_[e>>2]=_[t>>2];_[e+4>>2]=_[t+4>>2];_[e+8>>2]=_[t+8>>2];_[e+12>>2]=_[t+12>>2];return}function xr(e,t){e=e|0;t=t|0;a[e>>2]=+a[e>>2]*+a[t>>2];a[e+4>>2]=+a[e+4>>2]*+a[t>>2];a[e+8>>2]=+a[e+8>>2]*+a[t>>2];return e|0}function yr(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=es()|0;Nd(n,e,t,i&65535,0,0);return n|0}function zr(e,t){e=e|0;t=t|0;_[e>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;a[e+(_[t+56>>2]<<2)>>2]=1.0;return}function Ar(e){e=e|0;var t=0;t=u;u=u+16|0;Mc(e);if(!(N_(_[7014]|0,0)|0)){u=t;return}else wv(22005,t)}function Br(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(255)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Cr(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=xs()|0;te(n,e,t,i);return n|0}function Dr(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(1479)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Er(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(311)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Fr(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(1407)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Gr(e){e=e|0;if(!(+G(+ +a[e+20>>2])<1.1920928955078125e-07)){e=0;return e|0}e=+G(+ +a[e+24>>2])<1.1920928955078125e-07;return e|0}function Hr(e,t){e=e|0;t=t|0;if(!t?_[e+204>>2]&3|0:0)return;if((_[e+220>>2]&-2|0)!=4)_[e+220>>2]=1;a[e+224>>2]=0.0;return}function Ir(e){e=e|0;var t=0;t=Yr()|0;Tm();aq(t,e,22496);return t|0}function Jr(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(191)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Kr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;$a[_[(_[e+-4>>2]|0)+8>>2]&127](e+-4|0,t,i,n);return}function Lr(e,t){e=e|0;t=t|0;var i=0.0;i=+uE(e);i=+fH(i*+uE(t));return+ +Iz(+so(e,t)/i)}function Mr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;_[e>>2]=_[t>>2];_[e+4>>2]=_[i>>2];_[e+8>>2]=_[n>>2];a[e+12>>2]=0.0;return}function Nr(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(147)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Or(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(119)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Pr(e){e=e|0;_[6293]=(_[6293]|0)+1;e=cc(e+19|0)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Qr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,_=0;r=Uo(e,i)|0;_=O;return(O=(U(t,i)|0)+(U(n,e)|0)+_|_&0,r|0|0)|0}function Rr(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(1331)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Sr(e,t,i,n,r,_,o,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;Wa[e&3](t|0,i|0,n|0,r|0,_|0,o|0,s|0)}function Tr(e,t){e=e|0;t=t|0;var i=0;i=u;u=u+16|0;_[i>>2]=t;ln(e,i);u=i;return}function Ur(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(379)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Vr(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(363)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Wr(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(627)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Xr(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(823)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Yr(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(219)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Zr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;$a[_[(_[e>>2]|0)+88>>2]&127](e,t,i<<16>>16,n<<16>>16);return}function _r(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(1147)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function $r(e,t){e=e|0;t=t|0;var i=0;i=ur(84)|0;am(i,e,t);return i|0}function as(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(107)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function bs(e){e=+e;e=+nG(e);if(e<-3.1415927410125732){e=e+6.2831854820251465;return+e}if(!(e>3.1415927410125732))return+e;e=e+-6.2831854820251465;return+e}function cs(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;$a[_[(_[e>>2]|0)+36>>2]&127](e,t,i<<16>>16,n<<16>>16);return}function ds(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(787)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function es(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(135)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function fs(e,t){e=e|0;t=t|0;_[e+348>>2]=_[t>>2];_[e+348+4>>2]=_[t+4>>2];_[e+348+8>>2]=_[t+8>>2];return}function gs(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;if((n|0)<=0)return;Wj(i|0,0,n<<4|0)|0;return}function hs(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(115)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function is(e,t){e=e|0;t=t|0;_[e+540>>2]=t;if(!t)return;ma[_[(_[t>>2]|0)+8>>2]&127](t,e+4|0);return}function js(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;ti(e,t,i,n);return}function ks(e,t){e=e|0;t=t|0;var i=0;i=xs()|0;te(i,e,t,1);return i|0}function ls(e,t){e=e|0;t=t|0;var i=0;i=es()|0;Nd(i,e,t,16384,0,0);return i|0}function ms(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=_[e+192>>2]|0;$a[_[(_[n>>2]|0)+8>>2]&127](n,e+4|0,t,i);return}function ns(e){e=e|0;var t=0;t=ur(88)|0;Jd(t,e);return t|0}function os(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Zg(e,t,i,n);return}function ps(e){e=e|0;var t=0;t=u;u=u+16|0;_[t>>2]=rH(_[e+60>>2]|0)|0;e=OB(J_(6,t|0)|0)|0;u=t;return e|0}function qs(e,t){e=e|0;t=t|0;var i=0;i=_[e+8>>2]|0;Za[_[i+64>>2]&127](t,i,_[e+4>>2]|0);return 0}function rs(e){e=e|0;var t=0;t=_[e+12>>2]|0;if(!t)return;if(n[e+16>>0]&1)bx(t);_[e+12>>2]=0;return}function ss(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(75)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function ts(e,t){e=e|0;t=t|0;var i=0;i=e+92|0;do{_[e>>2]=_[t>>2];e=e+4|0;t=t+4|0}while((e|0)<(i|0));return}function us(e,t){e=e|0;t=+t;var i=0;i=u;u=u+16|0;a[i>>2]=t;ln(e,i);u=i;return}function vs(e,t){e=e|0;t=t|0;var i=0;i=ur(136)|0;bl(i,e,t);return i|0}function ws(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;ag(e,t,i,n);return}function xs(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(99)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function ys(e,t){e=e|0;t=t|0;return+ +fx(+a[e>>2],+a[e+4>>2],+a[e+8>>2],+a[t>>2],+a[t+4>>2],+a[t+8>>2])}function zs(e,t){e=e|0;t=t|0;var i=0;i=ur(88)|0;km(i,e,t);return i|0}function As(e,t,i){e=e|0;t=t|0;i=i|0;_[e>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;_[e+12>>2]=0;return}function Bs(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(79)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Cs(e,t){e=e|0;t=t|0;var i=0;i=ur(128)|0;al(i,e,t);return i|0}function Ds(){var e=0;_[6293]=(_[6293]|0)+1;e=cc(35)|0;if(!e){e=0;return e|0}_[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;return e|0}function Es(e,t,i,n,r,_,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;return Ta[e&3](t|0,i|0,n|0,r|0,_|0,o|0)|0}function Fs(e){e=e|0;lf(e);if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function Gs(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;$a[_[(_[e>>2]|0)+8>>2]&127](e,t,i,n);return}function Hs(e){e=e|0;_[e>>2]=2896;a[e+4>>2]=1.0;_[e+8>>2]=0;_[e+12>>2]=1;_[e+16>>2]=-1;_[e+20>>2]=0;return}function Is(e){e=e|0;var t=0;t=Bs()|0;Ih(t,e);_[t>>2]=7280;_[t+56>>2]=2;return t|0}function Js(e){e=e|0;var t=0;t=Bs()|0;Ih(t,e);_[t>>2]=7176;_[t+56>>2]=0;return t|0}function Ks(e){e=e|0;_[e>>2]=0;_[e+4>>2]=0;_[e+8>>2]=4096;_[e+12>>2]=4096;_[e+16>>2]=0;_[e+20>>2]=1;return}function Ls(e,t,i){e=e|0;t=t|0;i=i|0;Zd(_[e+108>>2]|0,_[e+136>>2]|0,t,i);return}function Ms(e,t){e=e|0;t=+t;var i=0;i=u;u=u+16|0;a[i>>2]=t;e=Mp(e,i)|0;u=i;return e|0}function Ns(e,t){e=e|0;t=t|0;var i=0;i=Yr()|0;aq(i,e,t);return i|0}function Os(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;return 0.0}function Ps(e,t){e=e|0;t=t|0;e=_[_[e+4>>2]>>2]|0;return Pa[_[(_[e>>2]|0)+128>>2]&31](e,t)|0}function Qs(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;$a[_[(_[e>>2]|0)+80>>2]&127](e,t,i,n);return}function Rs(){var e=0;e=u;u=u+16|0;if(!(K_(28056,265)|0)){u=e;return}else wv(21955,e)}function Ss(e){e=e|0;if(_[e+204>>2]&3|0)return;if((_[e+220>>2]&-2|0)!=4)_[e+220>>2]=1;a[e+224>>2]=0.0;return}function Ts(e,t,i,n,r,_,o){e=e|0;t=t|0;i=i|0;n=n|0;r=+r;_=_|0;o=o|0;return+Oa[e&3](t|0,i|0,n|0,+r,_|0,o|0)}function Us(e,t){e=e|0;t=+t;var i=0;i=u;u=u+16|0;a[i>>2]=t;e=xr(e,i)|0;u=i;return e|0}function Vs(e,t){e=e|0;t=t|0;e=_[e+4>>2]|0;Pa[_[(_[e>>2]|0)+8>>2]&31](e,_[t+36>>2]|0)|0;return}function Ws(e,t){e=e|0;t=t|0;qq(e,t);Mr(e+48|0,t+48|0,t+52|0,t+56|0);return}function Xs(e,t,i){e=e|0;t=t|0;i=i|0;fg(_[e+108>>2]|0,t,i);return}function Ys(e,t){e=e|0;t=t|0;_[e+304>>2]=(_[e+304>>2]|0)+1;_[e+192>>2]=t;_[e+200>>2]=t;return}function Zs(e,t,i,n,r,_,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;Ia[e&7](t|0,i|0,n|0,r|0,_|0,o|0)}function _s(e,t,i,n,r,_,o,s,c,a,l,f){e=e|0;t=t|0;i=i|0;n=n|0;r=+r;_=+_;o=+o;s=+s;c=+c;a=a|0;l=+l;f=f|0;J(32)}function $s(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;$a[_[(_[e>>2]|0)+24>>2]&127](e,t,i,n);return}function at(e,t,i){e=e|0;t=t|0;i=i|0;$a[_[(_[e>>2]|0)+36>>2]&127](e,t,i<<16>>16,-3);return}function bt(e,t,i){e=e|0;t=t|0;i=i|0;Za[_[(_[t>>2]|0)+68>>2]&127](e,t,i);return}function ct(e,t){e=e|0;t=t|0;e=(n[e+344>>0]|0)==0?3:0;_[t>>2]=e;_[t+4>>2]=e;return}function dt(e,t){e=e|0;t=+t;var i=0;i=u;u=u+16|0;a[i>>2]=1.0/t;e=Mp(e,i)|0;u=i;return e|0}function et(e,t,i){e=e|0;t=+t;i=i|0;return Ya[_[(_[e>>2]|0)+52>>2]&1](e,t,i,.01666666753590107)|0}function ft(e){e=e|0;if(!(n[e+52>>0]&1))return;ua[_[(_[e>>2]|0)+68>>2]&511](e);n[e+52>>0]=0;return}function gt(e,t,i){e=e|0;t=t|0;i=i|0;if((i|0)<32){O=t<<i|(e&(1<<i)-1<<32-i)>>>32-i;return e<<i}O=e<<i-32;return 0}function ht(e,t,i){e=e|0;t=+t;i=i|0;_[i>>2]=0;_[i+4>>2]=0;_[i+8>>2]=0;_[i+12>>2]=0;return}function it(e){e=e|0;kj(e);if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function jt(e){e=e|0;var t=0;t=_[e+68>>2]|0;ma[_[(_[t>>2]|0)+32>>2]&127](t,_[e+24>>2]|0);return}function kt(e,t){e=e|0;t=t|0;fn(e,+a[t>>2],+a[t+4>>2],+a[t+8>>2]);return}function lt(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return Ya[_[(_[e>>2]|0)+52>>2]&1](e,t,i,n)|0}function mt(e,t){e=e|0;t=t|0;_[e>>2]=0;_[e+4>>2]=0;_[e+8>>2]=1065353216;a[e+12>>2]=0.0;return}function nt(e,t){e=e|0;t=t|0;_[e>>2]=1065353216;_[e+4>>2]=0;_[e+8>>2]=0;a[e+12>>2]=0.0;return}function ot(e,t){e=e|0;t=t|0;_[e>>2]=0;_[e+4>>2]=1065353216;_[e+8>>2]=0;a[e+12>>2]=0.0;return}function pt(e,t){e=e|0;t=t|0;Za[_[(_[e>>2]|0)+8>>2]&127](e,t,_[(_[e+8>>2]|0)+48>>2]|0);return}function qt(e,t,i,n,r,_,o){e=e|0;t=t|0;i=i|0;n=n|0;r=+r;_=_|0;o=o|0;da[e&0](t|0,i|0,n|0,+r,_|0,o|0)}function rt(e,t){e=e|0;t=t|0;gn(e,+a[t>>2],+a[t+4>>2],+a[t+8>>2]);return}function st(e,t,i){e=e|0;t=t|0;i=+i;Ga[_[(_[e>>2]|0)+20>>2]&7](e,t,i);return}function tt(e,t,i){e=e|0;t=t|0;i=i|0;if((i|0)<32){O=t>>>i;return e>>>i|(t&(1<<i)-1)<<32-i}O=0;return t>>>i-32|0}function ut(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;$a[_[(_[e>>2]|0)+124>>2]&127](e,n,t,i);return}function vt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;_[e+112>>2]=t;_[e+116>>2]=i;_[e+120>>2]=n;return}function wt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Ua[_[(_[e>>2]|0)+8>>2]&31](e,t,i,n)|0;return}function xt(e,t){e=e|0;t=t|0;qp(e,+a[t>>2],+a[t+4>>2],+a[t+8>>2]);return}function yt(e,t,i){e=e|0;t=t|0;i=i|0;$a[_[(_[e>>2]|0)+36>>2]&127](e,t,i<<16>>16,-1);return}function zt(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;Mr(e,t,i,n);_[e+12>>2]=_[r>>2];return}function At(e,t,i,r){e=e|0;t=t|0;i=+i;r=+r;n[e+737>>0]=t&1;a[e+680>>2]=i;a[e+684>>2]=r;return}function Bt(e,t,i,n,r,_){e=e|0;t=+t;i=+i;n=+n;r=+r;_=+_;Rm(e,t,i,n,r,_);return}function Ct(e){e=e|0;pj(e);if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function Dt(e,t,i,n,r,_,o){e=e|0;t=t|0;i=+i;n=+n;r=r|0;_=_|0;o=o|0;Ca[e&0](t|0,+i,+n,r|0,_|0,o|0)}function Et(e,t,i,n,r,_,o,s,c,a){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;a=a|0;J(28);return 0.0}function Ft(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;return 1.0}function Gt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;$a[_[(_[e>>2]|0)+32>>2]&127](e,t,i,n);return}function Ht(e){e=e|0;return WB(n[e+291>>0]|0)|0}function It(e){e=e|0;cg(e);if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function Jt(e){e=e|0;if(!e){e=0;return e|0}e=Iq(e)|0;return e|0}function Kt(){}function Lt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;n=t-n-(i>>>0>e>>>0|0)>>>0;return(O=n,e-i>>>0|0)|0}function Mt(e){e=e|0;var t=0;t=Pr(172)|0;gq(t,e);return t|0}function Nt(e,t,i,n,r,_,o,s,c,a){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;a=a|0;J(5);return 0}function Ot(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;ga[_[(_[e>>2]|0)+28>>2]&7](e,t,i,n);return}function Pt(e,t){e=e|0;t=t|0;jy(e,t);return}function Qt(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;return wa[e&1](t|0,i|0,n|0,r|0,_|0)|0}function Rt(e,t){e=e|0;t=t|0;ce(e,t);return}function St(e,t,i,n,r,_,o,s,c,a,l){e=e|0;t=t|0;i=i|0;n=n|0;r=+r;_=+_;o=+o;s=+s;c=c|0;a=a|0;l=+l;J(13)}function Tt(e,t){e=e|0;t=t|0;fg(_[e+108>>2]|0,t,1);return}function Ut(e,t){e=e|0;t=t|0;_[e+304>>2]=(_[e+304>>2]|0)+1;oq(e+4|0,t);return}function Vt(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;return+Ra[e&15](t|0,i|0,n|0,r|0,_|0)}function Wt(e,t){e=e|0;t=t|0;var i=0;i=Jr()|0;Bf(i,e,t);return i|0}function Xt(e,t){e=e|0;t=t|0;if(!t)t=0;else t=_h(_[t>>2]|0,_[t+4>>2]|0,e)|0;return(t|0?t:e)|0}function Yt(e,t){e=e|0;t=t|0;vp(e,+a[t>>2],+a[t+4>>2],+a[t+8>>2]);return}function Zt(e,t){e=e|0;t=+t;var i=0;i=u;u=u+16|0;a[i>>2]=1.0/t;xr(e,i)|0;u=i;return}function _t(e,t){e=e|0;t=+t;return Ya[_[(_[e>>2]|0)+52>>2]&1](e,t,1,.01666666753590107)|0}function $t(e){e=e|0;var t=0;t=ur(8)|0;Ru(t,e);return t|0}function au(e,t,i){e=e|0;t=t|0;i=i|0;Za[_[(_[e>>2]|0)+56>>2]&127](e,t,i);return}function bu(e,t,i){e=e|0;t=t|0;i=+i;Ga[_[(_[e>>2]|0)+36>>2]&7](e,t,i);return}function cu(e){e=e|0;bj(e);if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function du(e){e=e|0;qh(e);if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function eu(e,t,i,n,r,_,o,s,c,a){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;a=a|0;J(25)}function fu(e){e=e|0;ui(e);if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function gu(e,t,i,n,r){e=e|0;t=+t;i=+i;n=+n;r=+r;Rm(e,t,i,n,r,1.0);return}function hu(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=+n;r=r|0;_=_|0;return+za[e&3](t|0,i|0,+n,r|0,_|0)}function iu(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;At(e,t,i,n);return}function ju(e){e=e|0;_[e>>2]=7384;if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function ku(e,t){e=e|0;t=t|0;return _[(WA(_[e+28>>2]|0,t)|0)+64>>2]|0}function lu(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;ba[e&31](t|0,i|0,n|0,r|0,_|0)}function mu(e){e=e|0;if(!(_[e+12>>2]|0)){e=0;return e|0}e=_[e+20>>2]|0;return e|0}function nu(e){e=e|0;ql(e);if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function ou(e,t){e=e|0;t=t|0;var i=0;i=ur(64)|0;zp(i,e,t);return i|0}function pu(e,t,i){e=e|0;t=t|0;i=i|0;dn(e,t,i);return}function qu(){var e=0;e=ur(24)|0;Ks(e);return e|0}function ru(e,t,i){e=e|0;t=t|0;i=+i;pa[_[(_[e>>2]|0)+16>>2]&31](e,i);return}function su(e,t){e=e|0;t=t|0;$a[_[(_[e>>2]|0)+36>>2]&127](e,t,2,-3);return}function tu(e,t,i){e=e|0;t=+t;i=i|0;ka[_[(_[e>>2]|0)+32>>2]&15](e,t,i);return}function uu(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=+r;return}function vu(e){e=e|0;rh(e);if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function wu(e){e=e|0;wh(e);if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function xu(e,t,i){e=e|0;t=t|0;i=i|0;return+ +Ba[_[(_[e>>2]|0)+32>>2]&31](e,t,i)}function yu(e,t,i,n,r,_,o,s,c){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;J(30);return 0.0}function zu(e){e=e|0;if(!e){e=0;return e|0}e=er(e)|0;return e|0}function Au(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=+_;Va[e&1](t|0,i|0,n|0,r|0,+_)}function Bu(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=+n;r=r|0;_=_|0;Ha[e&0](t|0,i|0,+n,r|0,_|0)}function Cu(e,t){e=e|0;t=t|0;Xu(e+24|0,t);return}function Du(e){e=e|0;_[e>>2]=3436;if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function Eu(e,t){e=e|0;t=t|0;fp(e,t);return}function Fu(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+16>>2]&127](e,t);return}function Gu(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+52>>2]&127](e,t);return}function Hu(e,t){e=e|0;t=t|0;Xu(e+16|0,t);return}function Iu(e,t,i){e=e|0;t=t|0;i=+i;Ga[_[(_[e>>2]|0)+8>>2]&7](e,t,i);return}function Ju(e,t){e=e|0;t=t|0;dz(e,t);return}function Ku(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Gc(e,t,i,n)|0;return 1}function Lu(e){e=e|0;var t=0;t=((_[e+56>>2]|0)+2|0)%3|0;return+ +a[(rH(e+32|0)|0)+(t<<2)>>2]}function Mu(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_q(e,t,i,n,r);return}function Nu(e,t){e=e|0;t=t|0;ip(e,t);return}function Ou(e){e=e|0;var t=0;t=Jr()|0;Bf(t,e,1);return t|0}function Pu(e,t,i){e=e|0;t=+t;i=i|0;a[(_[e+136>>2]|0)+(i*284|0)+232>>2]=t;return}function Qu(e,t,i){e=e|0;t=+t;i=i|0;a[(_[e+136>>2]|0)+(i*284|0)+252>>2]=t;return}function Ru(e,t){e=e|0;t=t|0;VF(e);_[e>>2]=4268;_[e+4>>2]=t;return}function Su(e,t){e=e|0;t=t|0;eq(e,t);return}function Tu(e,t){e=e|0;t=t|0;iq(e,t);return}function Uu(e,t){e=e|0;t=t|0;$a[_[(_[e>>2]|0)+36>>2]&127](e,t,1,-1);return}function Vu(e){e=+e;var t=0;l[b>>3]=e;t=_[b>>2]|0;O=_[b+4>>2]|0;return t|0}function Wu(e,t){e=e|0;t=+t;a[e+152>>2]=t;ua[_[(_[e>>2]|0)+72>>2]&511](e);return}function Xu(e,t){e=e|0;t=t|0;yo(e,t);return}function Yu(e){e=e|0;_[e>>2]=2800;_[e+4>>2]=1;_[e+8>>2]=-1;a[e+12>>2]=0.0;return}function Zu(e,t){e=e|0;t=t|0;if((_[e+220>>2]&-2|0)==4)return;_[e+220>>2]=t;return}function _u(e){e=e|0;_[e>>2]=2848;a[e+4>>2]=1.0;_[e+8>>2]=1;_[e+12>>2]=-1;return}function $u(e,t){e=e|0;t=t|0;zq(e,t);return}function av(e,t){e=e|0;t=t|0;Aq(e,t);return}function bv(e,t){e=e|0;t=t|0;Za[_[(_[e>>2]|0)+56>>2]&127](e,t,0);return}function cv(e,t){e=e|0;t=+t;Pw(e,t);return}function dv(e,t){e=e|0;t=t|0;return Pa[_[(_[e>>2]|0)+40>>2]&31](e,t)|0}function ev(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+60>>2]&127](e,t);return}function fv(e,t,i){e=e|0;t=t|0;i=+i;ma[_[(_[e>>2]|0)+12>>2]&127](e,t);return}function gv(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+92>>2]&127](e,t);return}function hv(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;return Ua[e&31](t|0,i|0,n|0,r|0)|0}function iv(e,t){e=e|0;t=t|0;return _[(tE(_[e+12>>2]|0,t)|0)>>2]|0}function jv(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+32>>2]&127](e,t);return}function kv(e){e=e|0;var t=0;t=Bs()|0;Ih(t,e);return t|0}function lv(e,t,i,n,r,_,o,s,c){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;c=c|0;J(24)}function mv(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return(O=t+n+(e+i>>>0>>>0<e>>>0|0)>>>0,e+i>>>0|0)|0}function nv(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+40>>2]&127](e,t);return}function ov(e,t){e=e|0;t=t|0;return _[(tE(_[e+336>>2]|0,t)|0)>>2]|0}function pv(e,t,i){e=e|0;t=+t;i=i|0;a[(_[e+136>>2]|0)+(i*284|0)+256>>2]=t;return}function qv(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+84>>2]&127](e,t);return}function rv(e){e=e|0;var t=0;t=hs()|0;hf(t,e,0);return t|0}function sv(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;Il(e,t,i,n);return}function tv(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+28>>2]&127](e,t);return}function uv(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+44>>2]&127](e,t);return}function vv(e,t){e=e|0;t=t|0;Aw(e+76|0,t);return}function wv(e,t){e=e|0;t=t|0;var i=0;i=u;u=u+16|0;_[i>>2]=t;Gj(e,i);lm();Z_()}function xv(e,t){e=e|0;t=+t;_[e+304>>2]=(_[e+304>>2]|0)+1;a[e+236>>2]=t;return}function yv(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;return+Na[e&1](t|0,i|0,n|0,r|0)}function zv(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+72>>2]&127](e,t);return}function Av(e,t){e=e|0;t=t|0;Aw(e+96|0,t);return}function Bv(e,t){e=e|0;t=t|0;Aw(e+68|0,t);return}function Cv(e){e=e|0;var t=0;t=ur(284)|0;Hi(t,e);return t|0}function Dv(e,t){e=e|0;t=+t;a[e+44>>2]=t;a[e+48>>2]=+A(+t);return}function Ev(e){e=e|0;if(!e)return;ua[_[(_[e>>2]|0)+4>>2]&511](e);return}function Fv(e,t){e=e|0;t=t|0;Aw(e+88|0,t);return}function Gv(e,t){e=e|0;t=+t;return+(+Da[_[(_[e>>2]|0)+16>>2]&15](e)*t)}function Hv(e){e=e|0;Zt(e,+sz(+a[e>>2],+a[e+4>>2],+a[e+8>>2]));return}function Iv(e,t,i,n,r,_,o,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;J(12);return 0.0}function Jv(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+12>>2]&127](e,t);return}function Kv(e,t){e=e|0;t=+t;_[e+304>>2]=(_[e+304>>2]|0)+1;a[e+232>>2]=t;return}function Lv(e,t,i,n,r,_,o,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;s=s|0;J(39);return 0}function Mv(e,t){e=e|0;t=t|0;oe(e,t);return}function Nv(e,t,i){e=e|0;t=t|0;i=i|0;Fh(e,t,i);return}function Ov(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;return}function Pv(e){e=e|0;var t=0;t=((rH(_[e+252>>2]|0)|0)&2|0)==0;return(t?0:e)|0}function Qv(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;$a[e&127](t|0,i|0,n|0,r|0)}function Rv(e,t){e=e|0;t=t|0;return+ +a[(tE(_[e+12>>2]|0,t)|0)>>2]}function Sv(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+8>>2]&127](e,t);return}function Tv(e){e=e|0;return VD(_[e+204>>2]|0)|0}function Uv(e,t,i){e=e|0;t=t|0;i=i|0;jk(e,t,i);return}function Vv(e,t){e=e|0;t=t|0;Se(e,t);return}function Wv(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+68>>2]&127](e,t);return}function Xv(e){e=e|0;n[e+16>>0]=1;_[e+12>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;return}function Yv(e,t){e=e|0;t=+t;_[e+304>>2]=(_[e+304>>2]|0)+1;a[e+228>>2]=t;return}function Zv(){var e=0;e=Jr()|0;Bf(e,1,1);return e|0}function _v(e,t,i){e=e|0;t=+t;i=+i;Kw(e,t,i);return}function $v(e,t){e=e|0;t=+t;pa[_[(_[e>>2]|0)+20>>2]&31](e,t);return}function aw(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;Ek(e,t,i,n);return}function bw(e,t){e=e|0;t=+t;pa[_[(_[e>>2]|0)+16>>2]&31](e,t);return}function cw(e,t){e=e|0;t=t|0;return+ +a[(_[e+136>>2]|0)+(t*284|0)+232>>2]}function dw(){var e=0;e=ur(176)|0;me(e,0);return e|0}function ew(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+24>>2]&127](e,t);return}function fw(e,t){e=e|0;t=t|0;_[e+68>>2]=t;return}function gw(e,t,i){e=e|0;t=t|0;i=i|0;_[e+20>>2]=t;_[e+28>>2]=i;return}function hw(e,t,i){e=e|0;t=t|0;i=i|0;_[e+16>>2]=t;_[e+24>>2]=i;return}function iw(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return 0}function jw(e,t,i,n,r){e=e|0;t=t|0;i=+i;n=n|0;r=+r;return Ya[e&1](t|0,+i,n|0,+r)|0}function kw(e,t,i){e=e|0;t=t|0;i=+i;Rl(e,t,i);return}function lw(e,t){e=e|0;t=t|0;ma[_[(_[e>>2]|0)+64>>2]&127](e,t);return}function mw(e,t){e=e|0;t=t|0;Ey(e+116|0,t);return}function nw(e,t,i){e=e|0;t=t|0;i=i|0;el(e,t,i);return}function ow(e,t,i){e=e|0;t=t|0;i=+i;a[e+1340+(t<<2)>>2]=i;return}function pw(e,t){e=e|0;t=t|0;Ey(e+108|0,t);return}function qw(e){e=e|0;var t=0;t=rH(e+32|0)|0;return+ +a[t+(_[e+56>>2]<<2)>>2]}function rw(e,t,i){e=e|0;t=t|0;i=+i;dq(e,t,i);return}function sw(e,t){e=e|0;t=t|0;Ut(e,t);return}function tw(e,t){e=e|0;t=+t;a[e+32>>2]=t;a[e+36>>2]=t;return}function uw(e,t,i){e=e|0;t=t|0;i=+i;a[e+1364+(t<<2)>>2]=i;return}function vw(e,t){e=e|0;t=t|0;Td(e,t);return}function ww(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=+r;Ka[e&15](t|0,i|0,n|0,+r)}function xw(e){e=+e;var t=0;t=ss()|0;sl(t,e);return t|0}function yw(e,t){e=e|0;t=+t;a[e+136>>2]=t;return}function zw(e,t){e=e|0;t=+t;ay(e,t);return}function Aw(e,t){e=e|0;t=t|0;Jo(e,t);return}function Bw(e){e=e|0;var t=0;t=(rH(_[e+252>>2]|0)|0)==4;return(t?e:0)|0}function Cw(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=+n;r=r|0;ga[e&7](t|0,i|0,+n,r|0)}function Dw(e,t,i,n,r){e=e|0;t=t|0;i=+i;n=n|0;r=r|0;va[e&0](t|0,+i,n|0,r|0)}function Ew(e,t){e=e|0;t=+t;a[e+132>>2]=t;return}function Fw(e,t){e=e|0;t=t|0;iB(e,t);return}function Gw(e,t){e=e|0;t=t|0;Rq(e,t);return}function Hw(e,t){e=e|0;t=t|0;Sq(e,t);return}function Iw(e,t){e=e|0;t=t|0;Pj(e,0,t);return}function Jw(e,t){e=e|0;t=t|0;_[e+24>>2]=t;return}function Kw(e,t,i){e=e|0;t=+t;i=+i;a[e+532>>2]=t;a[e+536>>2]=i;return}function Lw(e){e=e|0;if(!e)return;zD(e);nH(e);return}function Mw(){var e=0;e=hs()|0;hf(e,1,0);return e|0}function Nw(e,t){e=e|0;t=t|0;return uB(e,t)|0}function Ow(e){e=e|0;var t=0;t=u;u=u+16|0;Xa[e&3]();wv(22058,t)}function Pw(e,t){e=e|0;t=+t;a[e+572>>2]=t;n[e+553>>0]=1;return}function Qw(e,t){e=e|0;t=t|0;return _[(_[e+20>>2]|0)+(t<<2)>>2]|0}function Rw(e){e=e|0;return+ +GG(+a[e+16>>2])}function Sw(e,t){e=e|0;t=+t;XA(e,t);return}function Tw(e){e=e|0;return ya[_[(_[e>>2]|0)+40>>2]&127](e)|0}function Uw(e){e=e|0;rs(e);Xv(e);return}function Vw(e){e=e|0;return+ +sz(+a[e>>2],+a[e+4>>2],+a[e+8>>2])}function Ww(e,t){e=e|0;t=t|0;xB(e,t);return}function Xw(e,t){e=e|0;t=t|0;UA(e,t);return}function Yw(e,t){e=e|0;t=+t;pa[_[(_[e>>2]|0)+44>>2]&31](e,t);return}function Zw(){var e=0;e=ur(4)|0;_[e>>2]=0;hD(e);return e|0}function _w(e,t){e=e|0;t=t|0;Ap(e,t);return}function $w(e){e=e|0;return sE(e)|0}function ax(e){e=e|0;return aF(+a[e+4>>2])|0}function bx(e){e=e|0;if(!e)return;_[6294]=(_[6294]|0)+1;Mc(_[e+-4>>2]|0);return}function jc(e,t,i,r,o,s){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=+s;var c=0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0,C=0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0,M=0,D=0,T=0.0,O=0.0,H=0.0,G=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0;D=u;u=u+960|0;M=_[r+4>>2]|0;I=_[r+12>>2]|0;c=_[M+4>>2]|0;if((c|0)<20){_[D+776>>2]=4988;_[D+776+168>>2]=0;a[D+776+172>>2]=s;_[D+776+164>>2]=_[o+4>>2];a[D+416+308>>2]=9.999999747378752e-05;n[D+416+332>>0]=0;_[D+352>>2]=8856;_[D+128>>2]=8788;_[D+128+4>>2]=D+416;_[D+128+8>>2]=D+352;_[D+128+12>>2]=e;_[D+128+16>>2]=M;_[D+128+20>>2]=0;if((Bd(D+128|0,t,i,I,I,D+776|0)|0?(C=D+776+132|0,d=+a[C>>2],m=+a[D+776+136>>2],h=+a[D+776+140>>2],d*d+m*m+h*h>9.999999747378752e-05):0)?(y=+a[D+776+164>>2],y<+a[o+4>>2]):0){s=1.0/+W(+(d*d+m*m+h*h));a[C>>2]=d*s;a[D+776+136>>2]=m*s;a[D+776+140>>2]=h*s;_[D+64>>2]=_[r+8>>2];_[D+64+4>>2]=0;_[D+64+8>>2]=_[C>>2];_[D+64+8+4>>2]=_[C+4>>2];_[D+64+8+8>>2]=_[C+8>>2];_[D+64+8+12>>2]=_[C+12>>2];_[D+64+24>>2]=_[D+776+148>>2];_[D+64+24+4>>2]=_[D+776+148+4>>2];_[D+64+24+8>>2]=_[D+776+148+8>>2];_[D+64+24+12>>2]=_[D+776+148+12>>2];a[D+64+40>>2]=y;+Ba[_[(_[o>>2]|0)+12>>2]&31](o,D+64|0,1)}u=D;return}if((c+-21|0)>>>0>=9){if((c|0)!=31){u=D;return}C=_[(_[e>>2]|0)+8>>2]|0;P=+a[I>>2];B=+a[I+16>>2];L=+a[I+32>>2];w=+a[I+4>>2];v=+a[I+20>>2];y=+a[I+36>>2];h=+a[I+8>>2];d=+a[I+24>>2];b=+a[I+40>>2];x=-+a[I+48>>2];j=-+a[I+52>>2];k=-+a[I+56>>2];l=+a[t>>2];R=+a[t+16>>2];S=+a[t+32>>2];T=+a[t+4>>2];O=+a[t+20>>2];H=+a[t+36>>2];G=+a[t+8>>2];F=+a[t+24>>2];A=+a[t+40>>2];m=+a[t+48>>2];p=+a[t+52>>2];f=+a[t+56>>2];a[D+64>>2]=P*l+B*R+L*S;a[D+64+4>>2]=P*T+B*O+L*H;a[D+64+8>>2]=P*G+B*F+L*A;a[D+64+12>>2]=0.0;a[D+64+16>>2]=w*l+v*R+y*S;a[D+64+20>>2]=w*T+v*O+y*H;a[D+64+24>>2]=w*G+v*F+y*A;a[D+64+28>>2]=0.0;a[D+64+32>>2]=h*l+d*R+b*S;a[D+64+36>>2]=h*T+d*O+b*H;a[D+64+40>>2]=h*G+d*F+b*A;a[D+64+44>>2]=0.0;a[D+64+48>>2]=P*x+B*j+L*k+(P*m+B*p+L*f);a[D+64+52>>2]=w*x+v*j+y*k+(w*m+v*p+y*f);a[D+64+56>>2]=h*x+d*j+b*k+(h*m+d*p+b*f);a[D+64+60>>2]=0.0;$a[C&127](e,D+64|0,D+776|0,D+416|0);C=_[(_[e>>2]|0)+8>>2]|0;f=+a[I>>2];b=+a[I+16>>2];p=+a[I+32>>2];d=+a[I+4>>2];m=+a[I+20>>2];h=+a[I+36>>2];k=+a[I+8>>2];j=+a[I+24>>2];x=+a[I+40>>2];y=-+a[I+48>>2];v=-+a[I+52>>2];w=-+a[I+56>>2];L=+a[i>>2];B=+a[i+16>>2];P=+a[i+32>>2];A=+a[i+4>>2];F=+a[i+20>>2];G=+a[i+36>>2];H=+a[i+8>>2];O=+a[i+24>>2];T=+a[i+40>>2];S=+a[i+48>>2];R=+a[i+52>>2];l=+a[i+56>>2];a[D+64>>2]=f*L+b*B+p*P;a[D+64+4>>2]=f*A+b*F+p*G;a[D+64+8>>2]=f*H+b*O+p*T;a[D+64+12>>2]=0.0;a[D+64+16>>2]=d*L+m*B+h*P;a[D+64+20>>2]=d*A+m*F+h*G;a[D+64+24>>2]=d*H+m*O+h*T;a[D+64+28>>2]=0.0;a[D+64+32>>2]=k*L+j*B+x*P;a[D+64+36>>2]=k*A+j*F+x*G;a[D+64+40>>2]=k*H+j*O+x*T;a[D+64+44>>2]=0.0;a[D+64+48>>2]=f*y+b*v+p*w+(f*S+b*R+p*l);a[D+64+52>>2]=d*y+m*v+h*w+(d*S+m*R+h*l);a[D+64+56>>2]=k*y+j*v+x*w+(k*S+j*R+x*l);a[D+64+60>>2]=0.0;$a[C&127](e,D+64|0,D+352|0,D+128|0);l=+a[D+352>>2];if(l<+a[D+776>>2])a[D+776>>2]=l;l=+a[D+352+4>>2];if(l<+a[D+776+4>>2])a[D+776+4>>2]=l;l=+a[D+352+8>>2];if(l<+a[D+776+8>>2])a[D+776+8>>2]=l;l=+a[D+352+12>>2];if(l<+a[D+776+12>>2])a[D+776+12>>2]=l;l=+a[D+128>>2];if(+a[D+416>>2]<l)a[D+416>>2]=l;l=+a[D+128+4>>2];if(+a[D+416+4>>2]<l)a[D+416+4>>2]=l;l=+a[D+128+8>>2];if(+a[D+416+8>>2]<l)a[D+416+8>>2]=l;l=+a[D+128+12>>2];if(+a[D+416+12>>2]<l)a[D+416+12>>2]=l;_[D+64>>2]=5216;_[D+64+4>>2]=r;_[D+64+8>>2]=e;_[D+64+12>>2]=t;_[D+64+16>>2]=i;a[D+64+20>>2]=s;_[D+64+24>>2]=M;_[D+64+28>>2]=I;_[D+64+32>>2]=o;c=_[M+68>>2]|0;if(!c){if((_[M+20>>2]|0)>0){c=0;do{r=_[M+28>>2]|0;o=_[r+(c*80|0)+64>>2]|0;i=r+(c*80|0)|0;_[D>>2]=_[i>>2];_[D+4>>2]=_[i+4>>2];_[D+8>>2]=_[i+8>>2];_[D+12>>2]=_[i+12>>2];i=r+(c*80|0)+16|0;_[D+16>>2]=_[i>>2];_[D+16+4>>2]=_[i+4>>2];_[D+16+8>>2]=_[i+8>>2];_[D+16+12>>2]=_[i+12>>2];i=r+(c*80|0)+32|0;_[D+32>>2]=_[i>>2];_[D+32+4>>2]=_[i+4>>2];_[D+32+8>>2]=_[i+8>>2];_[D+32+12>>2]=_[i+12>>2];r=r+(c*80|0)+48|0;_[D+48>>2]=_[r>>2];_[D+48+4>>2]=_[r+4>>2];_[D+48+8>>2]=_[r+8>>2];_[D+48+12>>2]=_[r+12>>2];Cf(D+64|0,c,D,o);c=c+1|0}while((c|0)<(_[M+20>>2]|0))}}else{_[D>>2]=_[D+776>>2];_[D+4>>2]=_[D+776+4>>2];_[D+8>>2]=_[D+776+8>>2];_[D+12>>2]=_[D+776+12>>2];_[D+16>>2]=_[D+416>>2];_[D+16+4>>2]=_[D+416+4>>2];_[D+16+8>>2]=_[D+416+8>>2];_[D+16+12>>2]=_[D+416+12>>2];We(_[c>>2]|0,D,D+64|0)}u=D;return}switch(c|0){case 21:{p=+a[I>>2];d=+a[I+16>>2];m=+a[I+32>>2];h=+a[I+4>>2];y=+a[I+20>>2];v=+a[I+36>>2];w=+a[I+8>>2];k=+a[I+24>>2];S=+a[I+40>>2];j=-+a[I+48>>2];R=-+a[I+52>>2];x=-+a[I+56>>2];b=+a[t+48>>2];f=+a[t+52>>2];l=+a[t+56>>2];a[D+416>>2]=p*j+d*R+m*x+(p*b+d*f+m*l);a[D+416+4>>2]=h*j+y*R+v*x+(h*b+y*f+v*l);a[D+416+8>>2]=w*j+k*R+S*x+(w*b+k*f+S*l);a[D+416+12>>2]=0.0;l=+a[i+48>>2];f=+a[i+52>>2];b=+a[i+56>>2];T=+a[i>>2];O=+a[i+16>>2];H=+a[i+32>>2];G=+a[i+4>>2];F=+a[i+20>>2];A=+a[i+36>>2];P=+a[i+8>>2];B=+a[i+24>>2];L=+a[i+40>>2];a[D+352>>2]=p*T+d*O+m*H;a[D+352+4>>2]=p*G+d*F+m*A;a[D+352+8>>2]=p*P+d*B+m*L;a[D+352+12>>2]=0.0;a[D+352+16>>2]=h*T+y*O+v*H;a[D+352+20>>2]=h*G+y*F+v*A;a[D+352+24>>2]=h*P+y*B+v*L;a[D+352+28>>2]=0.0;a[D+352+32>>2]=w*T+k*O+S*H;a[D+352+36>>2]=w*G+k*F+S*A;a[D+352+40>>2]=w*P+k*B+S*L;c=D+352+44|0;_[c>>2]=0;_[c+4>>2]=0;_[c+8>>2]=0;_[c+12>>2]=0;_[c+16>>2]=0;c=_[r+8>>2]|0;L=+Da[_[(_[M>>2]|0)+48>>2]&15](M);_[D+128>>2]=8944;_[D+128+4>>2]=e;_[D+128+8>>2]=_[t>>2];_[D+128+8+4>>2]=_[t+4>>2];_[D+128+8+8>>2]=_[t+8>>2];_[D+128+8+12>>2]=_[t+12>>2];_[D+128+24>>2]=_[t+16>>2];_[D+128+24+4>>2]=_[t+16+4>>2];_[D+128+24+8>>2]=_[t+16+8>>2];_[D+128+24+12>>2]=_[t+16+12>>2];_[D+128+40>>2]=_[t+32>>2];_[D+128+40+4>>2]=_[t+32+4>>2];_[D+128+40+8>>2]=_[t+32+8>>2];_[D+128+40+12>>2]=_[t+32+12>>2];_[D+128+56>>2]=_[t+48>>2];_[D+128+56+4>>2]=_[t+48+4>>2];_[D+128+56+8>>2]=_[t+48+8>>2];_[D+128+56+12>>2]=_[t+48+12>>2];_[D+128+72>>2]=_[i>>2];_[D+128+72+4>>2]=_[i+4>>2];_[D+128+72+8>>2]=_[i+8>>2];_[D+128+72+12>>2]=_[i+12>>2];_[D+128+88>>2]=_[i+16>>2];_[D+128+88+4>>2]=_[i+16+4>>2];_[D+128+88+8>>2]=_[i+16+8>>2];_[D+128+88+12>>2]=_[i+16+12>>2];_[D+128+104>>2]=_[i+32>>2];_[D+128+104+4>>2]=_[i+32+4>>2];_[D+128+104+8>>2]=_[i+32+8>>2];_[D+128+104+12>>2]=_[i+32+12>>2];_[D+128+120>>2]=_[i+48>>2];_[D+128+120+4>>2]=_[i+48+4>>2];_[D+128+120+8>>2]=_[i+48+8>>2];_[D+128+120+12>>2]=_[i+48+12>>2];_[D+128+136>>2]=_[I>>2];_[D+128+136+4>>2]=_[I+4>>2];_[D+128+136+8>>2]=_[I+8>>2];_[D+128+136+12>>2]=_[I+12>>2];_[D+128+152>>2]=_[I+16>>2];_[D+128+152+4>>2]=_[I+16+4>>2];_[D+128+152+8>>2]=_[I+16+8>>2];_[D+128+152+12>>2]=_[I+16+12>>2];_[D+128+168>>2]=_[I+32>>2];_[D+128+168+4>>2]=_[I+32+4>>2];_[D+128+168+8>>2]=_[I+32+8>>2];_[D+128+168+12>>2]=_[I+32+12>>2];_[D+128+184>>2]=_[I+48>>2];_[D+128+184+4>>2]=_[I+48+4>>2];_[D+128+184+8>>2]=_[I+48+8>>2];_[D+128+184+12>>2]=_[I+48+12>>2];a[D+128+204>>2]=L;_[D+128>>2]=5168;_[D+128+212>>2]=o;_[D+128+216>>2]=c;_[D+128+220>>2]=M;_[D+128+200>>2]=_[o+4>>2];a[D+128+208>>2]=s;$a[_[(_[e>>2]|0)+8>>2]&127](e,D+352|0,D+64|0,D);c=_[M+52>>2]|0;_[D+776>>2]=6088;_[D+776+4>>2]=c;_[D+776+8>>2]=D+128;c=_[M+56>>2]|0;if(!(n[c+60>>0]|0))re(c,D+776|0,D+416|0,p*j+d*R+m*x+(p*l+d*f+m*b),h*j+y*R+v*x+(h*l+y*f+v*b),w*j+k*R+S*x+(w*l+k*f+S*b),D+64|0,D);else Wd(c,D+776|0,D+416|0,p*j+d*R+m*x+(p*l+d*f+m*b),h*j+y*R+v*x+(h*l+y*f+v*b),w*j+k*R+S*x+(w*l+k*f+S*b),D+64|0,D,_[c+56>>2]|0);u=D;return}case 28:{_[D+776>>2]=4988;_[D+776+168>>2]=0;a[D+776+172>>2]=s;_[D+776+164>>2]=_[o+4>>2];_[D+416>>2]=8788;_[D+416+4>>2]=0;_[D+416+8>>2]=0;_[D+416+12>>2]=e;_[D+416+16>>2]=0;_[D+416+20>>2]=M;if((Bd(D+416|0,t,i,I,I,D+776|0)|0?(g=D+776+132|0,l=+a[g>>2],f=+a[D+776+136>>2],b=+a[D+776+140>>2],l*l+f*f+b*b>9.999999747378752e-05):0)?(p=+a[D+776+164>>2],p<+a[o+4>>2]):0){L=1.0/+W(+(l*l+f*f+b*b));a[g>>2]=l*L;a[D+776+136>>2]=f*L;a[D+776+140>>2]=b*L;_[D+352>>2]=_[r+8>>2];_[D+352+4>>2]=0;_[D+352+8>>2]=_[g>>2];_[D+352+8+4>>2]=_[g+4>>2];_[D+352+8+8>>2]=_[g+8>>2];_[D+352+8+12>>2]=_[g+12>>2];_[D+352+24>>2]=_[D+776+148>>2];_[D+352+24+4>>2]=_[D+776+148+4>>2];_[D+352+24+8>>2]=_[D+776+148+8>>2];_[D+352+24+12>>2]=_[D+776+148+12>>2];a[D+352+40>>2]=p;+Ba[_[(_[o>>2]|0)+12>>2]&31](o,D+352|0,1)}u=D;return}default:{p=+a[I>>2];d=+a[I+16>>2];m=+a[I+32>>2];w=+a[I+4>>2];k=+a[I+20>>2];S=+a[I+36>>2];G=+a[I+8>>2];A=+a[I+24>>2];B=+a[I+40>>2];O=-+a[I+48>>2];T=-+a[I+52>>2];x=-+a[I+56>>2];j=+a[t+48>>2];R=+a[t+52>>2];l=+a[t+56>>2];b=p*O+d*T+m*x+(p*j+d*R+m*l);f=w*O+k*T+S*x+(w*j+k*R+S*l);l=G*O+A*T+B*x+(G*j+A*R+B*l);R=+a[i+48>>2];j=+a[i+52>>2];v=+a[i+56>>2];h=p*O+d*T+m*x+(p*R+d*j+m*v);y=w*O+k*T+S*x+(w*R+k*j+S*v);v=G*O+A*T+B*x+(G*R+A*j+B*v);j=+a[i>>2];R=+a[i+16>>2];x=+a[i+32>>2];T=+a[i+4>>2];O=+a[i+20>>2];H=+a[i+36>>2];F=+a[i+8>>2];P=+a[i+24>>2];L=+a[i+40>>2];a[D+776>>2]=p*j+d*R+m*x;a[D+776+4>>2]=p*T+d*O+m*H;a[D+776+8>>2]=p*F+d*P+m*L;a[D+776+12>>2]=0.0;a[D+776+16>>2]=w*j+k*R+S*x;a[D+776+20>>2]=w*T+k*O+S*H;a[D+776+24>>2]=w*F+k*P+S*L;a[D+776+28>>2]=0.0;a[D+776+32>>2]=G*j+A*R+B*x;a[D+776+36>>2]=G*T+A*O+B*H;a[D+776+40>>2]=G*F+A*P+B*L;C=D+776+44|0;_[C>>2]=0;_[C+4>>2]=0;_[C+8>>2]=0;_[C+12>>2]=0;_[C+16>>2]=0;r=_[r+8>>2]|0;L=+Da[_[(_[M>>2]|0)+48>>2]&15](M);_[D+416>>2]=8944;_[D+416+4>>2]=e;_[D+416+8>>2]=_[t>>2];_[D+416+8+4>>2]=_[t+4>>2];_[D+416+8+8>>2]=_[t+8>>2];_[D+416+8+12>>2]=_[t+12>>2];_[D+416+24>>2]=_[t+16>>2];_[D+416+24+4>>2]=_[t+16+4>>2];_[D+416+24+8>>2]=_[t+16+8>>2];_[D+416+24+12>>2]=_[t+16+12>>2];_[D+416+40>>2]=_[t+32>>2];_[D+416+40+4>>2]=_[t+32+4>>2];_[D+416+40+8>>2]=_[t+32+8>>2];_[D+416+40+12>>2]=_[t+32+12>>2];_[D+416+56>>2]=_[t+48>>2];_[D+416+56+4>>2]=_[t+48+4>>2];_[D+416+56+8>>2]=_[t+48+8>>2];_[D+416+56+12>>2]=_[t+48+12>>2];_[D+416+72>>2]=_[i>>2];_[D+416+72+4>>2]=_[i+4>>2];_[D+416+72+8>>2]=_[i+8>>2];_[D+416+72+12>>2]=_[i+12>>2];_[D+416+88>>2]=_[i+16>>2];_[D+416+88+4>>2]=_[i+16+4>>2];_[D+416+88+8>>2]=_[i+16+8>>2];_[D+416+88+12>>2]=_[i+16+12>>2];_[D+416+104>>2]=_[i+32>>2];_[D+416+104+4>>2]=_[i+32+4>>2];_[D+416+104+8>>2]=_[i+32+8>>2];_[D+416+104+12>>2]=_[i+32+12>>2];_[D+416+120>>2]=_[i+48>>2];_[D+416+120+4>>2]=_[i+48+4>>2];_[D+416+120+8>>2]=_[i+48+8>>2];_[D+416+120+12>>2]=_[i+48+12>>2];_[D+416+136>>2]=_[I>>2];_[D+416+136+4>>2]=_[I+4>>2];_[D+416+136+8>>2]=_[I+8>>2];_[D+416+136+12>>2]=_[I+12>>2];_[D+416+152>>2]=_[I+16>>2];_[D+416+152+4>>2]=_[I+16+4>>2];_[D+416+152+8>>2]=_[I+16+8>>2];_[D+416+152+12>>2]=_[I+16+12>>2];_[D+416+168>>2]=_[I+32>>2];_[D+416+168+4>>2]=_[I+32+4>>2];_[D+416+168+8>>2]=_[I+32+8>>2];_[D+416+168+12>>2]=_[I+32+12>>2];_[D+416+184>>2]=_[I+48>>2];_[D+416+184+4>>2]=_[I+48+4>>2];_[D+416+184+8>>2]=_[I+48+8>>2];_[D+416+184+12>>2]=_[I+48+12>>2];a[D+416+204>>2]=L;_[D+416>>2]=5192;_[D+416+212>>2]=o;_[D+416+216>>2]=r;_[D+416+220>>2]=M;_[D+416+200>>2]=_[o+4>>2];a[D+416+208>>2]=s;$a[_[(_[e>>2]|0)+8>>2]&127](e,D+776|0,D+352|0,D+128|0);a[D+64>>2]=b;a[D+64+4>>2]=f;a[D+64+8>>2]=l;a[D+64+12>>2]=0.0;if(h<b){a[D+64>>2]=h;p=h}else p=b;if(y<f){a[D+64+4>>2]=y;d=y}else d=f;if(v<l){a[D+64+8>>2]=v;m=v}else m=l;a[D>>2]=b;a[D+4>>2]=f;a[D+8>>2]=l;a[D+12>>2]=0.0;if(b<h){a[D>>2]=h;b=h}if(f<y){a[D+4>>2]=y;f=y}if(l<v){a[D+8>>2]=v;l=v}a[D+64>>2]=+a[D+352>>2]+p;a[D+64+4>>2]=+a[D+352+4>>2]+d;a[D+64+8>>2]=+a[D+352+8>>2]+m;a[D>>2]=+a[D+128>>2]+b;a[D+4>>2]=+a[D+128+4>>2]+f;a[D+8>>2]=+a[D+128+8>>2]+l;$a[_[(_[M>>2]|0)+64>>2]&127](M,D+416|0,D+64|0,D);u=D;return}}}function kc(e,t,i,r,s,c,l,f,b,p){e=e|0;t=t|0;i=i|0;r=r|0;s=s|0;c=c|0;l=l|0;f=f|0;b=b|0;p=p|0;var d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0,w=0.0,k=0.0,S=0.0,j=0,R=0,x=0.0,I=0,M=0,D=0,T=0,O=0,H=0,G=0,F=0,A=0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0,X=0.0;A=u;u=u+19056|0;N=+a[c+52>>2]-+a[s+52>>2];w=+a[c+56>>2]-+a[s+56>>2];a[A>>2]=+a[c+48>>2]-+a[s+48>>2];a[A+4>>2]=N;a[A+8>>2]=w;a[A+12>>2]=0.0;_[A+18912>>2]=i;_[A+18912+4>>2]=r;w=+a[c>>2];N=+a[s>>2];C=+a[c+16>>2];d=+a[s+16>>2];g=+a[c+32>>2];U=+a[s+32>>2];P=+a[s+4>>2];K=+a[s+20>>2];B=+a[s+36>>2];h=+a[s+8>>2];x=+a[s+24>>2];k=+a[s+40>>2];z=+a[c+4>>2];Q=+a[c+20>>2];q=+a[c+36>>2];E=+a[c+8>>2];V=+a[c+24>>2];L=+a[c+40>>2];a[A+18912+8>>2]=w*N+C*d+g*U;a[A+18912+12>>2]=w*P+C*K+g*B;a[A+18912+16>>2]=w*h+C*x+g*k;a[A+18912+20>>2]=0.0;a[A+18912+24>>2]=N*z+d*Q+U*q;a[A+18912+28>>2]=P*z+K*Q+B*q;a[A+18912+32>>2]=h*z+x*Q+k*q;a[A+18912+36>>2]=0.0;a[A+18912+40>>2]=N*E+d*V+U*L;a[A+18912+44>>2]=P*E+K*V+B*L;a[A+18912+48>>2]=h*E+x*V+k*L;a[A+18912+52>>2]=0.0;k=+a[c+48>>2]-+a[s+48>>2];x=+a[c+52>>2]-+a[s+52>>2];h=+a[c+56>>2]-+a[s+56>>2];B=+a[s>>2];K=+a[c>>2];P=+a[s+16>>2];U=+a[c+16>>2];d=+a[s+32>>2];N=+a[c+32>>2];g=+a[s+4>>2];C=+a[s+20>>2];w=+a[s+36>>2];S=+a[s+8>>2];y=+a[s+24>>2];m=+a[s+40>>2];a[A+18912+56>>2]=B*K+P*U+d*N;a[A+18912+60>>2]=B*z+P*Q+d*q;a[A+18912+64>>2]=B*E+P*V+d*L;a[A+18912+68>>2]=0.0;a[A+18912+72>>2]=K*g+U*C+N*w;a[A+18912+76>>2]=z*g+Q*C+q*w;a[A+18912+80>>2]=E*g+V*C+L*w;a[A+18912+84>>2]=0.0;a[A+18912+88>>2]=K*S+U*y+N*m;a[A+18912+92>>2]=z*S+Q*y+q*m;a[A+18912+96>>2]=E*S+V*y+L*m;a[A+18912+100>>2]=0.0;a[A+18912+104>>2]=k*B+x*P+h*d;a[A+18912+108>>2]=k*g+x*C+h*w;a[A+18912+112>>2]=k*S+x*y+h*m;a[A+18912+116>>2]=0.0;_[A+18912+120>>2]=82;_[A+18912+124>>2]=0;_[A+18528+364>>2]=0;_[A+18528+128>>2]=0;_[A+18528+128+4>>2]=0;_[A+18528+128+8>>2]=0;_[A+18528+128+12>>2]=0;_[A+18528+376>>2]=2;_[A+18528+368>>2]=0;a[A+18528+144>>2]=0.0;m=+a[A>>2];h=+a[A+4>>2];y=+a[A+8>>2];a[A+19040>>2]=-m;a[A+19040+4>>2]=-h;a[A+19040+8>>2]=-y;a[A+19040+12>>2]=0.0;e:do{if((yc(A+18528|0,A+18912|0,A+19040|0)|0)==1){T=A+16+18496|0;O=A+16+18504|0;H=A+16+18508|0;_[T>>2]=0;_[T+4>>2]=0;_[T+8>>2]=0;_[T+12>>2]=0;_[A+16>>2]=9;F=A+16+40|0;_[A+16+18492>>2]=0;_[F>>2]=0;_[F+4>>2]=0;_[F+8>>2]=0;_[F+12>>2]=0;_[F+16>>2]=0;e=0;do{t=256-e+-1|0;_[A+16+4156+(t*56|0)+44>>2]=0;p=_[O>>2]|0;_[A+16+4156+(t*56|0)+48>>2]=p;if(p|0)_[p+44>>2]=A+16+4156+(t*56|0);_[O>>2]=A+16+4156+(t*56|0);_[H>>2]=(_[H>>2]|0)+1;e=e+1|0}while((e|0)!=256);M=_[A+18528+372>>2]|0;do{if((_[M+32>>2]|0)>>>0>1?dd(A+18528|0)|0:0){D=A+16+18496|0;e=_[D>>2]|0;if(e|0){j=_[A+16+18500>>2]|0;R=_[H>>2]|0;do{t=e+44|0;v=e+48|0;p=_[v>>2]|0;if(p|0)_[p+44>>2]=_[t>>2];t=_[t>>2]|0;if(t|0)_[t+48>>2]=_[v>>2];if((_[D>>2]|0)==(e|0))_[D>>2]=_[v>>2];j=j+-1|0;_[e+44>>2]=0;_[v>>2]=_[O>>2];t=_[O>>2]|0;if(t|0)_[t+44>>2]=e;_[O>>2]=e;R=R+1|0;e=_[D>>2]|0}while((e|0)!=0);_[A+16+18500>>2]=j;_[H>>2]=R}_[A+16>>2]=0;_[A+16+18492>>2]=0;e=_[M>>2]|0;t=_[M+12>>2]|0;K=+a[t+16>>2];L=+a[e+16>>2]-K;E=+a[t+20>>2];q=+a[e+20>>2]-E;z=+a[t+24>>2];N=+a[e+24>>2]-z;t=_[M+4>>2]|0;Q=+a[t+16>>2]-K;U=+a[t+20>>2]-E;V=+a[t+24>>2]-z;p=_[M+8>>2]|0;K=+a[p+16>>2]-K;E=+a[p+20>>2]-E;z=+a[p+24>>2]-z;if(L*U*z+(q*V*K+N*Q*E-L*V*E-q*Q*z)-N*U*K<0.0){_[M>>2]=t;_[M+4>>2]=e;v=_[M+16>>2]|0;_[M+16>>2]=_[M+20>>2];_[M+20>>2]=v;v=t}else{v=e;e=t}v=Fe(A+16|0,v,e,p,1)|0;j=Fe(A+16|0,_[M+4>>2]|0,_[M>>2]|0,_[M+12>>2]|0,1)|0;R=Fe(A+16|0,_[M+8>>2]|0,_[M+4>>2]|0,_[M+12>>2]|0,1)|0;I=Fe(A+16|0,_[M>>2]|0,_[M+8>>2]|0,_[M+12>>2]|0,1)|0;if((_[A+16+18500>>2]|0)==4){t=_[T>>2]|0;d=+a[t+16>>2];e=_[t+48>>2]|0;if(!e)e=t;else{m=d*d;while(1){d=+a[e+16>>2];p=d*d<m;t=p?e:t;e=_[e+48>>2]|0;if(!e)break;else m=p?d*d:m}e=t;d=+a[t+16>>2]}g=+a[e>>2];y=+a[e+4>>2];h=+a[e+8>>2];m=+a[e+12>>2];p=_[e+20>>2]|0;Z=_[e+24>>2]|0;t=_[e+28>>2]|0;n[v+52>>0]=0;_[v+32>>2]=j;n[j+52>>0]=0;_[j+32>>2]=v;n[v+53>>0]=0;_[v+36>>2]=R;n[R+52>>0]=1;_[R+32>>2]=v;n[v+54>>0]=0;_[v+40>>2]=I;n[I+52>>0]=2;_[I+32>>2]=v;n[j+53>>0]=2;_[j+36>>2]=I;n[I+54>>0]=1;_[I+40>>2]=j;n[j+54>>0]=1;_[j+40>>2]=R;n[R+53>>0]=2;_[R+36>>2]=j;n[R+54>>0]=1;_[R+40>>2]=I;n[I+53>>0]=2;_[I+36>>2]=R;_[A+16>>2]=0;I=e;M=0;j=Z;R=t;while(1){t=_[A+16+18492>>2]|0;if(t>>>0>=128){G=44;break}_[A+19040>>2]=0;_[A+19040+4>>2]=0;_[A+19040+8>>2]=0;_[A+16+18492>>2]=t+1;M=M+1|0;n[I+55>>0]=M;v=I+4|0;Z=I+8|0;Ug(A+18528|0,+a[I>>2],+a[v>>2],+a[Z>>2],A+16+60+(t<<5)|0);if(+a[I>>2]*+a[A+16+60+(t<<5)+16>>2]+ +a[v>>2]*+a[A+16+60+(t<<5)+20>>2]+ +a[Z>>2]*+a[A+16+60+(t<<5)+24>>2]-+a[I+16>>2]>9.999999747378752e-05)e=0;else{e=7;G=43;break}do{v=Cg(A+16|0,M,A+16+60+(t<<5)|0,_[I+32+(e<<2)>>2]|0,o[I+52+e>>0]|0,A+19040|0)|0;e=e+1|0}while(v&e>>>0<3);if(!(v&(_[A+19040+8>>2]|0)>>>0>2)){e=4;G=43;break}p=_[A+19040>>2]|0;e=_[A+19040+4>>2]|0;n[p+53>>0]=2;_[p+36>>2]=e;n[e+54>>0]=1;_[e+40>>2]=p;e=I+44|0;p=I+48|0;t=_[p>>2]|0;if(t|0)_[t+44>>2]=_[e>>2];e=_[e>>2]|0;if(e|0)_[e+48>>2]=_[p>>2];if((_[D>>2]|0)==(I|0))_[D>>2]=_[p>>2];_[A+16+18500>>2]=(_[A+16+18500>>2]|0)+-1;_[I+44>>2]=0;_[p>>2]=_[O>>2];e=_[O>>2]|0;if(e|0)_[e+44>>2]=I;_[O>>2]=I;_[H>>2]=(_[H>>2]|0)+1;t=_[T>>2]|0;d=+a[t+16>>2];e=_[t+48>>2]|0;if(e){m=d*d;p=t;while(1){d=+a[e+16>>2];t=d*d<m;p=t?e:p;e=_[e+48>>2]|0;if(!e)break;else m=t?d*d:m}t=p;d=+a[p+16>>2]}g=+a[t>>2];y=+a[t+4>>2];h=+a[t+8>>2];m=+a[t+12>>2];p=_[t+20>>2]|0;v=_[t+24>>2]|0;e=_[t+28>>2]|0;if(M>>>0>=255){t=v;break}else{I=t;j=v;R=e}}if((G|0)==43){_[A+16>>2]=e;t=j;e=R}else if((G|0)==44){_[A+16>>2]=6;t=j;e=R}Q=g*d;E=y*d;N=h*d;a[A+16+40>>2]=g;a[A+16+44>>2]=y;a[A+16+48>>2]=h;a[A+16+52>>2]=m;a[A+16+56>>2]=d;_[A+16+36>>2]=3;_[A+16+4>>2]=p;_[A+16+8>>2]=t;_[A+16+12>>2]=e;Z=t;U=+a[Z+16>>2]-Q;L=+a[Z+20>>2]-E;B=+a[Z+24>>2]-N;H=e;z=+a[H+16>>2]-Q;V=+a[H+20>>2]-E;q=+a[H+24>>2]-N;U=+W(+((U*V-L*z)*(U*V-L*z)+((L*q-B*V)*(L*q-B*V)+(B*z-U*q)*(B*z-U*q))));a[A+16+20>>2]=U;z=+a[H+16>>2]-Q;B=+a[H+20>>2]-E;H=p;V=+a[H+16>>2]-Q;L=+a[H+20>>2]-E;K=+a[H+24>>2]-N;K=+W(+((z*L-B*V)*(z*L-B*V)+((B*K-q*L)*(B*K-q*L)+(q*V-z*K)*(q*V-z*K))));a[A+16+24>>2]=K;z=+a[H+16>>2]-Q;V=+a[H+20>>2]-E;q=+a[H+24>>2]-N;Q=+a[Z+16>>2]-Q;E=+a[Z+20>>2]-E;N=+a[Z+24>>2]-N;N=+W(+((z*E-V*Q)*(z*E-V*Q)+((V*N-q*E)*(V*N-q*E)+(q*Q-z*N)*(q*Q-z*N))));a[A+16+20>>2]=U/(N+(U+K));a[A+16+24>>2]=K/(N+(U+K));a[A+16+28>>2]=N/(N+(U+K));if((_[A+16>>2]|0)!=9)if(!(_[A+16+36>>2]|0)){h=0.0;m=0.0;d=0.0;break}else{v=A+16+36|0;G=53;break}else break e}else G=47}else G=47}while(0);if((G|0)==47){_[A+16>>2]=8;a[A+16+40>>2]=m;a[A+16+44>>2]=h;a[A+16+48>>2]=y;a[A+16+52>>2]=0.0;d=+W(+(m*m+h*h+y*y));if(d>0.0){a[A+16+40>>2]=1.0/d*m;a[A+16+44>>2]=1.0/d*h;a[A+16+48>>2]=1.0/d*y}else{_[F>>2]=1065353216;_[A+16+44>>2]=0;_[A+16+48>>2]=0}a[A+16+52>>2]=0.0;a[A+16+56>>2]=0.0;_[A+16+36>>2]=1;_[A+16+4>>2]=_[M>>2];a[A+16+20>>2]=1.0;v=A+16+36|0;G=53}if((G|0)==53){p=0;d=0.0;m=0.0;h=0.0;do{e=_[A+18912+120>>2]|0;Z=_[A+18912+124>>2]|0;t=(_[A+18912>>2]|0)+(Z>>1)|0;if(Z&1)e=_[(_[t>>2]|0)+e>>2]|0;Za[e&127](A+19040|0,t,_[A+16+4+(p<<2)>>2]|0);K=+a[A+16+20+(p<<2)>>2];d=d+ +a[A+19040>>2]*K;m=m+K*+a[A+19040+4>>2];h=h+K*+a[A+19040+8>>2];p=p+1|0}while(p>>>0<(_[v>>2]|0)>>>0)}y=+a[s>>2];g=+a[s+4>>2];C=+a[s+8>>2];k=+a[s+16>>2];S=+a[s+20>>2];x=+a[s+24>>2];L=+a[s+32>>2];E=+a[s+36>>2];Q=+a[s+40>>2];w=+a[s+48>>2];P=+a[s+52>>2];z=+a[s+56>>2];N=+a[F>>2];q=+a[A+16+56>>2];U=+a[A+16+44>>2];K=+a[A+16+48>>2];B=d-N*q;V=m-q*U;q=h-q*K;a[f>>2]=d*y+m*g+h*C+w;a[f+4>>2]=d*k+m*S+h*x+P;a[f+8>>2]=d*L+m*E+h*Q+z;a[f+12>>2]=0.0;a[b>>2]=B*y+V*g+q*C+w;a[b+4>>2]=B*k+V*S+q*x+P;a[b+8>>2]=B*L+V*E+q*Q+z;a[b+12>>2]=0.0;a[l>>2]=-N;a[l+4>>2]=-U;a[l+8>>2]=-K;a[l+12>>2]=0.0;Z=1;u=A;return Z|0}}while(0);_[A+18528>>2]=i;_[A+18528+4>>2]=r;d=+a[c>>2];x=+a[s>>2];m=+a[c+16>>2];P=+a[s+16>>2];h=+a[c+32>>2];B=+a[s+32>>2];L=+a[s+4>>2];V=+a[s+20>>2];E=+a[s+36>>2];Q=+a[s+8>>2];N=+a[s+24>>2];K=+a[s+40>>2];y=+a[c+4>>2];g=+a[c+20>>2];C=+a[c+36>>2];w=+a[c+8>>2];k=+a[c+24>>2];S=+a[c+40>>2];a[A+18528+8>>2]=d*x+m*P+h*B;a[A+18528+12>>2]=d*L+m*V+h*E;a[A+18528+16>>2]=d*Q+m*N+h*K;a[A+18528+20>>2]=0.0;a[A+18528+24>>2]=x*y+P*g+B*C;a[A+18528+28>>2]=L*y+V*g+E*C;a[A+18528+32>>2]=Q*y+N*g+K*C;a[A+18528+36>>2]=0.0;a[A+18528+40>>2]=x*w+P*k+B*S;a[A+18528+44>>2]=L*w+V*k+E*S;a[A+18528+48>>2]=Q*w+N*k+K*S;a[A+18528+52>>2]=0.0;q=+a[c+48>>2]-+a[s+48>>2];z=+a[c+52>>2]-+a[s+52>>2];U=+a[c+56>>2]-+a[s+56>>2];a[A+18528+56>>2]=d*x+m*P+h*B;a[A+18528+60>>2]=x*y+P*g+B*C;a[A+18528+64>>2]=x*w+P*k+B*S;a[A+18528+68>>2]=0.0;a[A+18528+72>>2]=d*L+m*V+h*E;a[A+18528+76>>2]=L*y+V*g+E*C;a[A+18528+80>>2]=L*w+V*k+E*S;a[A+18528+84>>2]=0.0;a[A+18528+88>>2]=d*Q+m*N+h*K;a[A+18528+92>>2]=Q*y+N*g+K*C;a[A+18528+96>>2]=Q*w+N*k+K*S;a[A+18528+100>>2]=0.0;a[A+18528+104>>2]=q*x+z*P+U*B;a[A+18528+108>>2]=q*L+z*V+U*E;a[A+18528+112>>2]=q*Q+z*N+U*K;a[A+18528+116>>2]=0.0;_[A+18528+120>>2]=83;_[A+18528+124>>2]=0;_[A+16+364>>2]=0;_[A+16+128>>2]=0;_[A+16+128+4>>2]=0;_[A+16+128+8>>2]=0;_[A+16+128+12>>2]=0;_[A+16+376>>2]=2;_[A+16+368>>2]=0;a[A+16+144>>2]=0.0;if(yc(A+16|0,A+18528|0,A)|0){Z=0;u=A;return Z|0}e=_[A+16+372>>2]|0;if(!(_[e+32>>2]|0)){C=0.0;g=0.0;y=0.0;h=0.0;m=0.0;d=0.0}else{v=0;y=0.0;g=0.0;C=0.0;d=0.0;m=0.0;h=0.0;do{x=+a[e+16+(v<<2)>>2];t=_[A+18528+120>>2]|0;Z=_[A+18528+124>>2]|0;p=(_[A+18528>>2]|0)+(Z>>1)|0;if(Z&1)t=_[(_[p>>2]|0)+t>>2]|0;Za[t&127](A+19040|0,p,_[e+(v<<2)>>2]|0);y=y+x*+a[A+19040>>2];g=g+x*+a[A+19040+4>>2];C=C+x*+a[A+19040+8>>2];e=_[(_[A+16+372>>2]|0)+(v<<2)>>2]|0;w=-+a[e>>2];k=-+a[e+4>>2];S=-+a[e+8>>2];e=_[A+18528+120>>2]|0;Z=_[A+18528+124>>2]|0;t=(_[A+18528+4>>2]|0)+(Z>>1)|0;if(Z&1)e=_[(_[t>>2]|0)+e>>2]|0;U=+a[A+18528+24>>2]*w+ +a[A+18528+28>>2]*k+ +a[A+18528+32>>2]*S;N=+a[A+18528+40>>2]*w+ +a[A+18528+44>>2]*k+ +a[A+18528+48>>2]*S;a[A+18912>>2]=+a[A+18528+8>>2]*w+ +a[A+18528+12>>2]*k+ +a[A+18528+16>>2]*S;a[A+18912+4>>2]=U;a[A+18912+8>>2]=N;a[A+18912+12>>2]=0.0;Za[e&127](A+19040|0,t,A+18912|0);N=+a[A+19040>>2];U=+a[A+19040+4>>2];K=+a[A+19040+8>>2];d=d+x*(N*+a[A+18528+56>>2]+U*+a[A+18528+60>>2]+K*+a[A+18528+64>>2]+ +a[A+18528+104>>2]);m=m+x*(N*+a[A+18528+72>>2]+U*+a[A+18528+76>>2]+K*+a[A+18528+80>>2]+ +a[A+18528+108>>2]);h=h+x*(N*+a[A+18528+88>>2]+U*+a[A+18528+92>>2]+K*+a[A+18528+96>>2]+ +a[A+18528+112>>2]);v=v+1|0;e=_[A+16+372>>2]|0}while(v>>>0<(_[e+32>>2]|0)>>>0)}X=+a[s>>2];w=+a[s+4>>2];k=+a[s+8>>2];x=+a[s+16>>2];P=+a[s+20>>2];B=+a[s+24>>2];V=+a[s+32>>2];E=+a[s+36>>2];q=+a[s+40>>2];S=+a[s+48>>2];L=+a[s+52>>2];Q=+a[s+56>>2];z=y-d;N=g-m;K=C-h;U=+W(+(z*z+N*N+K*K));U=U>9.999999747378752e-05?1.0/U:1.0;a[f>>2]=y*X+g*w+C*k+S;a[f+4>>2]=y*x+g*P+C*B+L;a[f+8>>2]=y*V+g*E+C*q+Q;a[f+12>>2]=0.0;a[b>>2]=d*X+m*w+h*k+S;a[b+4>>2]=d*x+m*P+h*B+L;a[b+8>>2]=d*V+m*E+h*q+Q;a[b+12>>2]=0.0;a[l>>2]=U*z;a[l+4>>2]=U*N;a[l+8>>2]=U*K;a[l+12>>2]=0.0;Z=0;u=A;return Z|0}function lc(e){e=e|0;var t=0,i=0,r=0.0,o=0,s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0,d=0,m=0,h=0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0,G=0,W=0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0;W=u;u=u+64|0;if(!(n[e+356>>0]|0)){e=n[e+312>>0]|0;e=e<<24>>24!=0;u=W;return e|0}_[e+336>>2]=0;_[e+336+4>>2]=0;_[e+336+8>>2]=0;_[e+336+12>>2]=0;n[e+336+16>>0]=0;d=n[e+332>>0]|0;n[e+332>>0]=d&-16;n[e+356>>0]=0;switch(_[e>>2]|0){case 0:{n[e+312>>0]=0;e=0;e=e<<24>>24!=0;u=W;return e|0}case 1:{_[e+244>>2]=_[e+84>>2];_[e+244+4>>2]=_[e+84+4>>2];_[e+244+8>>2]=_[e+84+8>>2];_[e+244+12>>2]=_[e+84+12>>2];_[e+260>>2]=_[e+164>>2];_[e+260+4>>2]=_[e+164+4>>2];_[e+260+8>>2]=_[e+164+8>>2];_[e+260+12>>2]=_[e+164+12>>2];T=+a[e+248>>2]-+a[e+264>>2];O=+a[e+252>>2]-+a[e+268>>2];a[e+276>>2]=+a[e+244>>2]-+a[e+260>>2];a[e+280>>2]=T;a[e+284>>2]=O;a[e+288>>2]=0.0;n[e+352>>0]=0;n[e+332>>0]=d&-16;a[e+336>>2]=1.0;a[e+340>>2]=0.0;a[e+344>>2]=0.0;a[e+348>>2]=0.0;n[e+312>>0]=1;e=1;e=e<<24>>24!=0;u=W;return e|0}case 2:{r=+a[e+4>>2];s=+a[e+8>>2];c=+a[e+12>>2];l=+a[e+20>>2]-r;f=+a[e+24>>2]-s;b=+a[e+28>>2]-c;if((0.0-r)*l+(0.0-s)*f+(0.0-c)*b>0.0)if((0.0-r)*l+(0.0-s)*f+(0.0-c)*b<l*l+f*f+b*b){n[e+332>>0]=d&-16|1;i=2;t=d&-16|1;s=((0.0-r)*l+(0.0-s)*f+(0.0-c)*b)/(l*l+f*f+b*b)}else{i=2;t=d&-16;s=1.0}else{i=1;t=d&-16;s=0.0}i=t|i;n[e+332>>0]=i;r=1.0-s;a[e+336>>2]=r;a[e+340>>2]=s;a[e+344>>2]=0.0;a[e+348>>2]=0.0;x=+a[e+84>>2];M=+a[e+88>>2];T=+a[e+92>>2];x=x+s*(+a[e+100>>2]-x);M=M+s*(+a[e+104>>2]-M);T=T+s*(+a[e+108>>2]-T);a[e+244>>2]=x;a[e+248>>2]=M;a[e+252>>2]=T;a[e+256>>2]=0.0;I=+a[e+164>>2];D=+a[e+168>>2];O=+a[e+172>>2];I=I+s*(+a[e+180>>2]-I);D=D+s*(+a[e+184>>2]-D);O=O+s*(+a[e+188>>2]-O);a[e+260>>2]=I;a[e+264>>2]=D;a[e+268>>2]=O;a[e+272>>2]=0.0;a[e+276>>2]=x-I;a[e+280>>2]=M-D;a[e+284>>2]=T-O;a[e+288>>2]=0.0;if(!(i&2)){_[e>>2]=1;t=0}else t=1;if(!(i&1)){G=e+164+(t<<4)|0;H=e+84+(t<<4)|0;h=e+4+(t<<4)|0;_[e>>2]=t;_[e+4>>2]=_[h>>2];_[e+4+4>>2]=_[h+4>>2];_[e+4+8>>2]=_[h+8>>2];_[e+4+12>>2]=_[h+12>>2];_[e+84>>2]=_[H>>2];_[e+84+4>>2]=_[H+4>>2];_[e+84+8>>2]=_[H+8>>2];_[e+84+12>>2]=_[H+12>>2];_[e+164>>2]=_[G>>2];_[e+164+4>>2]=_[G+4>>2];_[e+164+8>>2]=_[G+8>>2];_[e+164+12>>2]=_[G+12>>2]}G=s>=0.0&r>=0.0&1;n[e+312>>0]=G;e=G;e=e<<24>>24!=0;u=W;return e|0}case 3:{_[W+16>>2]=0;_[W+16+4>>2]=0;_[W+16+8>>2]=0;_[W+16+12>>2]=0;ze(W+16|0,e+4|0,e+20|0,e+36|0,e+316|0);O=+a[e+336>>2];r=+a[e+340>>2];s=+a[e+344>>2];x=+a[e+84>>2]*O+ +a[e+100>>2]*r+ +a[e+116>>2]*s;M=O*+a[e+88>>2]+r*+a[e+104>>2]+s*+a[e+120>>2];T=O*+a[e+92>>2]+r*+a[e+108>>2]+s*+a[e+124>>2];a[e+244>>2]=x;a[e+248>>2]=M;a[e+252>>2]=T;a[e+256>>2]=0.0;I=+a[e+164>>2]*O+ +a[e+180>>2]*r+ +a[e+196>>2]*s;D=O*+a[e+168>>2]+r*+a[e+184>>2]+s*+a[e+200>>2];O=O*+a[e+172>>2]+r*+a[e+188>>2]+s*+a[e+204>>2];a[e+260>>2]=I;a[e+264>>2]=D;a[e+268>>2]=O;a[e+272>>2]=0.0;a[e+276>>2]=x-I;a[e+280>>2]=M-D;a[e+284>>2]=T-O;a[e+288>>2]=0.0;i=_[e>>2]|0;do{if((i|0)>3){t=n[e+332>>0]|0;if(!(t&8)){o=e+164+(i+-1<<4)|0;G=e+84+(i+-1<<4)|0;H=e+4+(i+-1<<4)|0;_[e>>2]=i+-1;_[e+52>>2]=_[H>>2];_[e+52+4>>2]=_[H+4>>2];_[e+52+8>>2]=_[H+8>>2];_[e+52+12>>2]=_[H+12>>2];_[e+132>>2]=_[G>>2];_[e+132+4>>2]=_[G+4>>2];_[e+132+8>>2]=_[G+8>>2];_[e+132+12>>2]=_[G+12>>2];_[e+212>>2]=_[o>>2];_[e+212+4>>2]=_[o+4>>2];_[e+212+8>>2]=_[o+8>>2];_[e+212+12>>2]=_[o+12>>2];o=i+-1|0;G=19}else{o=i;G=19}}else{if((i|0)==3){t=n[e+332>>0]|0;o=3;G=19;break}if((i|0)>1){t=n[e+332>>0]|0;i=2;G=23;break}if((i|0)==1){p=n[e+332>>0]|0;o=1;G=27}}}while(0);if((G|0)==19){i=o+-1|0;if(!(t&4)){_[e>>2]=i;_[e+36>>2]=_[e+4+(i<<4)>>2];_[e+36+4>>2]=_[e+4+(i<<4)+4>>2];_[e+36+8>>2]=_[e+4+(i<<4)+8>>2];_[e+36+12>>2]=_[e+4+(i<<4)+12>>2];_[e+116>>2]=_[e+84+(i<<4)>>2];_[e+116+4>>2]=_[e+84+(i<<4)+4>>2];_[e+116+8>>2]=_[e+84+(i<<4)+8>>2];_[e+116+12>>2]=_[e+84+(i<<4)+12>>2];_[e+196>>2]=_[e+164+(i<<4)>>2];_[e+196+4>>2]=_[e+164+(i<<4)+4>>2];_[e+196+8>>2]=_[e+164+(i<<4)+8>>2];_[e+196+12>>2]=_[e+164+(i<<4)+12>>2];G=23}else{i=o;G=23}}if((G|0)==23){o=i+-1|0;if(!(t&2)){_[e>>2]=o;_[e+20>>2]=_[e+4+(o<<4)>>2];_[e+20+4>>2]=_[e+4+(o<<4)+4>>2];_[e+20+8>>2]=_[e+4+(o<<4)+8>>2];_[e+20+12>>2]=_[e+4+(o<<4)+12>>2];_[e+100>>2]=_[e+84+(o<<4)>>2];_[e+100+4>>2]=_[e+84+(o<<4)+4>>2];_[e+100+8>>2]=_[e+84+(o<<4)+8>>2];_[e+100+12>>2]=_[e+84+(o<<4)+12>>2];_[e+180>>2]=_[e+164+(o<<4)>>2];_[e+180+4>>2]=_[e+164+(o<<4)+4>>2];_[e+180+8>>2]=_[e+164+(o<<4)+8>>2];_[e+180+12>>2]=_[e+164+(o<<4)+12>>2];p=t;G=27}else{p=t;o=i;G=27}}if((G|0)==27?(m=o+-1|0,(p&1)==0):0){_[e>>2]=m;_[e+4>>2]=_[e+4+(m<<4)>>2];_[e+4+4>>2]=_[e+4+(m<<4)+4>>2];_[e+4+8>>2]=_[e+4+(m<<4)+8>>2];_[e+4+12>>2]=_[e+4+(m<<4)+12>>2];_[e+84>>2]=_[e+84+(m<<4)>>2];_[e+84+4>>2]=_[e+84+(m<<4)+4>>2];_[e+84+8>>2]=_[e+84+(m<<4)+8>>2];_[e+84+12>>2]=_[e+84+(m<<4)+12>>2];_[e+164>>2]=_[e+164+(m<<4)>>2];_[e+164+4>>2]=_[e+164+(m<<4)+4>>2];_[e+164+8>>2]=_[e+164+(m<<4)+8>>2];_[e+164+12>>2]=_[e+164+(m<<4)+12>>2]}if((r>=0.0?!(+a[e+336>>2]>=0.0):1)|!(s>=0.0))t=0;else t=+a[e+348>>2]>=0.0&1;n[e+312>>0]=t;e=t;e=e<<24>>24!=0;u=W;return e|0}case 4:{_[W>>2]=0;_[W+4>>2]=0;_[W+8>>2]=0;_[W+12>>2]=0;h=W+16+16|0;n[h>>0]=0;_[e+316>>2]=0;_[e+316+4>>2]=0;_[e+316+8>>2]=0;_[e+316+12>>2]=0;n[e+332>>0]=d|15;A=+a[e+20>>2];N=+a[e+4>>2];q=+a[e+24>>2];F=+a[e+8>>2];B=+a[e+28>>2];U=+a[e+12>>2];E=+a[e+36>>2];Q=+a[e+40>>2];L=+a[e+44>>2];P=+a[e+52>>2];z=+a[e+56>>2];V=+a[e+60>>2];K=((q-F)*(L-U)-(B-U)*(Q-F))*(P-N)+((B-U)*(E-N)-(A-N)*(L-U))*(z-F)+((A-N)*(Q-F)-(q-F)*(E-N))*(V-U);o=K*K<9.99999905104687e-09?-1:((0.0-N)*((q-F)*(L-U)-(B-U)*(Q-F))+(0.0-F)*((B-U)*(E-N)-(A-N)*(L-U))+((A-N)*(Q-F)-(q-F)*(E-N))*(0.0-U))*K<0.0&1;K=(B-U)*((E-N)*(z-F)-(Q-F)*(P-N))+((A-N)*((Q-F)*(V-U)-(L-U)*(z-F))+(q-F)*((L-U)*(P-N)-(E-N)*(V-U)));p=K*K<9.99999905104687e-09?-1:((0.0-U)*((E-N)*(z-F)-(Q-F)*(P-N))+((0.0-N)*((Q-F)*(V-U)-(L-U)*(z-F))+(0.0-F)*((L-U)*(P-N)-(E-N)*(V-U))))*K<0.0&1;K=(L-U)*((q-F)*(P-N)-(A-N)*(z-F))+((E-N)*((B-U)*(z-F)-(q-F)*(V-U))+(Q-F)*((A-N)*(V-U)-(B-U)*(P-N)));d=K*K<9.99999905104687e-09?-1:((0.0-U)*((q-F)*(P-N)-(A-N)*(z-F))+((0.0-N)*((B-U)*(z-F)-(q-F)*(V-U))+(0.0-F)*((A-N)*(V-U)-(B-U)*(P-N))))*K<0.0&1;F=(U-B)*((Q-q)*(P-A)-(E-A)*(z-q))+((N-A)*((L-B)*(z-q)-(Q-q)*(V-B))+(F-q)*((E-A)*(V-B)-(L-B)*(P-A)));m=F*F<9.99999905104687e-09?-1:((0.0-B)*((Q-q)*(P-A)-(E-A)*(z-q))+((0.0-A)*((L-B)*(z-q)-(Q-q)*(V-B))+(0.0-q)*((E-A)*(V-B)-(L-B)*(P-A))))*F<0.0&1;do{if((p|o|d|m|0)<0){n[e+352>>0]=1;t=e+312|0;G=68}else{if(!(p|o|d|m)){if(n[e+352>>0]|0){t=e+312|0;G=68;break}n[e+312>>0]=1;_[e+276>>2]=0;_[e+276+4>>2]=0;_[e+276+8>>2]=0;_[e+276+12>>2]=0;t=1;break}if((o|0)!=0?(ze(W,e+4|0,e+20|0,e+36|0,W+16|0),r=+a[W+16>>2],s=+a[W+16+4>>2],c=+a[W+16+8>>2],l=r-+a[W>>2],f=s-+a[W+4>>2],b=c-+a[W+8>>2],l*l+f*f+b*b<3402823466385288598117041.0e14):0){Z=_[W+16+12>>2]|0;a[e+316>>2]=r;a[e+320>>2]=s;a[e+324>>2]=c;_[e+328>>2]=Z;Z=n[h>>0]|0;n[e+332>>0]=Z&1|n[e+332>>0]&-16|Z&2|Z&4;Z=_[W+16+24>>2]|0;o=_[W+16+28>>2]|0;_[e+336>>2]=_[W+16+20>>2];_[e+340>>2]=Z;_[e+344>>2]=o;a[e+348>>2]=0.0;r=l*l+f*f+b*b}else r=3402823466385288598117041.0e14;if((p|0)!=0?(ze(W,e+4|0,e+36|0,e+52|0,W+16|0),y=+a[W+16>>2],g=+a[W+16+4>>2],C=+a[W+16+8>>2],v=y-+a[W>>2],w=g-+a[W+4>>2],k=C-+a[W+8>>2],v*v+w*w+k*k<r):0){p=_[W+16+12>>2]|0;a[e+316>>2]=y;a[e+320>>2]=g;a[e+324>>2]=C;_[e+328>>2]=p;p=n[h>>0]|0;n[e+332>>0]=p<<1&8|(p&1|n[e+332>>0]&-16|p<<1&4);p=_[W+16+24>>2]|0;Z=_[W+16+28>>2]|0;_[e+336>>2]=_[W+16+20>>2];a[e+340>>2]=0.0;_[e+344>>2]=p;_[e+348>>2]=Z;r=v*v+w*w+k*k}if((d|0)!=0?(ze(W,e+4|0,e+52|0,e+20|0,W+16|0),S=+a[W+16>>2],j=+a[W+16+4>>2],R=+a[W+16+8>>2],x=S-+a[W>>2],I=j-+a[W+4>>2],M=R-+a[W+8>>2],x*x+I*I+M*M<r):0){d=_[W+16+12>>2]|0;a[e+316>>2]=S;a[e+320>>2]=j;a[e+324>>2]=R;_[e+328>>2]=d;d=n[h>>0]|0;n[e+332>>0]=d<<2&8|(d&1|n[e+332>>0]&-16|(d&255)>>>1&2);d=_[W+16+28>>2]|0;Z=_[W+16+24>>2]|0;_[e+336>>2]=_[W+16+20>>2];_[e+340>>2]=d;a[e+344>>2]=0.0;_[e+348>>2]=Z;r=x*x+I*I+M*M}if(m|0?(ze(W,e+20|0,e+52|0,e+36|0,W+16|0),D=+a[W+16>>2],T=+a[W+16+4>>2],O=+a[W+16+8>>2],N=D-+a[W>>2],U=T-+a[W+4>>2],K=O-+a[W+8>>2],N*N+U*U+K*K<r):0){m=_[W+16+12>>2]|0;a[e+316>>2]=D;a[e+320>>2]=T;a[e+324>>2]=O;_[e+328>>2]=m;m=n[h>>0]|0;n[e+332>>0]=m&4|n[e+332>>0]&-16|m<<1&2|m<<2&8;m=_[W+16+20>>2]|0;h=_[W+16+28>>2]|0;Z=_[W+16+24>>2]|0;a[e+336>>2]=0.0;_[e+340>>2]=m;_[e+344>>2]=h;_[e+348>>2]=Z}V=+a[e+336>>2];E=+a[e+340>>2];K=+a[e+344>>2];r=+a[e+348>>2];q=+a[e+84>>2]*V+ +a[e+100>>2]*E+ +a[e+116>>2]*K+ +a[e+132>>2]*r;z=V*+a[e+88>>2]+E*+a[e+104>>2]+K*+a[e+120>>2]+r*+a[e+136>>2];U=V*+a[e+92>>2]+E*+a[e+108>>2]+K*+a[e+124>>2]+r*+a[e+140>>2];a[e+244>>2]=q;a[e+248>>2]=z;a[e+252>>2]=U;a[e+256>>2]=0.0;Q=+a[e+164>>2]*V+ +a[e+180>>2]*E+ +a[e+196>>2]*K+ +a[e+212>>2]*r;N=V*+a[e+168>>2]+E*+a[e+184>>2]+K*+a[e+200>>2]+r*+a[e+216>>2];K=V*+a[e+172>>2]+E*+a[e+188>>2]+K*+a[e+204>>2]+r*+a[e+220>>2];a[e+260>>2]=Q;a[e+264>>2]=N;a[e+268>>2]=K;a[e+272>>2]=0.0;a[e+276>>2]=q-Q;a[e+280>>2]=z-N;a[e+284>>2]=U-K;a[e+288>>2]=0.0;o=_[e>>2]|0;do{if((o|0)>3){t=n[e+332>>0]|0;if(!(t&8)){G=e+164+(o+-1<<4)|0;Z=e+84+(o+-1<<4)|0;h=e+4+(o+-1<<4)|0;_[e>>2]=o+-1;_[e+52>>2]=_[h>>2];_[e+52+4>>2]=_[h+4>>2];_[e+52+8>>2]=_[h+8>>2];_[e+52+12>>2]=_[h+12>>2];_[e+132>>2]=_[Z>>2];_[e+132+4>>2]=_[Z+4>>2];_[e+132+8>>2]=_[Z+8>>2];_[e+132+12>>2]=_[Z+12>>2];_[e+212>>2]=_[G>>2];_[e+212+4>>2]=_[G+4>>2];_[e+212+8>>2]=_[G+8>>2];_[e+212+12>>2]=_[G+12>>2];o=o+-1|0;G=52}else G=52}else{if((o|0)==3){t=n[e+332>>0]|0;o=3;G=52;break}if((o|0)>1){t=n[e+332>>0]|0;i=2;G=56;break}if((o|0)==1){t=n[e+332>>0]|0;i=1;G=60}}}while(0);if((G|0)==52){i=o+-1|0;if(!(t&4)){_[e>>2]=i;_[e+36>>2]=_[e+4+(i<<4)>>2];_[e+36+4>>2]=_[e+4+(i<<4)+4>>2];_[e+36+8>>2]=_[e+4+(i<<4)+8>>2];_[e+36+12>>2]=_[e+4+(i<<4)+12>>2];_[e+116>>2]=_[e+84+(i<<4)>>2];_[e+116+4>>2]=_[e+84+(i<<4)+4>>2];_[e+116+8>>2]=_[e+84+(i<<4)+8>>2];_[e+116+12>>2]=_[e+84+(i<<4)+12>>2];_[e+196>>2]=_[e+164+(i<<4)>>2];_[e+196+4>>2]=_[e+164+(i<<4)+4>>2];_[e+196+8>>2]=_[e+164+(i<<4)+8>>2];_[e+196+12>>2]=_[e+164+(i<<4)+12>>2];G=56}else{i=o;G=56}}if((G|0)==56){o=i+-1|0;if(!(t&2)){_[e>>2]=o;_[e+20>>2]=_[e+4+(o<<4)>>2];_[e+20+4>>2]=_[e+4+(o<<4)+4>>2];_[e+20+8>>2]=_[e+4+(o<<4)+8>>2];_[e+20+12>>2]=_[e+4+(o<<4)+12>>2];_[e+100>>2]=_[e+84+(o<<4)>>2];_[e+100+4>>2]=_[e+84+(o<<4)+4>>2];_[e+100+8>>2]=_[e+84+(o<<4)+8>>2];_[e+100+12>>2]=_[e+84+(o<<4)+12>>2];_[e+180>>2]=_[e+164+(o<<4)>>2];_[e+180+4>>2]=_[e+164+(o<<4)+4>>2];_[e+180+8>>2]=_[e+164+(o<<4)+8>>2];_[e+180+12>>2]=_[e+164+(o<<4)+12>>2];i=o;G=60}else G=60}if((G|0)==60?(H=i+-1|0,(t&1)==0):0){_[e>>2]=H;_[e+4>>2]=_[e+4+(H<<4)>>2];_[e+4+4>>2]=_[e+4+(H<<4)+4>>2];_[e+4+8>>2]=_[e+4+(H<<4)+8>>2];_[e+4+12>>2]=_[e+4+(H<<4)+12>>2];_[e+84>>2]=_[e+84+(H<<4)>>2];_[e+84+4>>2]=_[e+84+(H<<4)+4>>2];_[e+84+8>>2]=_[e+84+(H<<4)+8>>2];_[e+84+12>>2]=_[e+84+(H<<4)+12>>2];_[e+164>>2]=_[e+164+(H<<4)>>2];_[e+164+4>>2]=_[e+164+(H<<4)+4>>2];_[e+164+8>>2]=_[e+164+(H<<4)+8>>2];_[e+164+12>>2]=_[e+164+(H<<4)+12>>2]}if((+a[e+336>>2]>=0.0?+a[e+340>>2]>=0.0:0)?+a[e+344>>2]>=0.0:0)t=r>=0.0&1;else t=0;n[e+312>>0]=t}}while(0);if((G|0)==68){n[t>>0]=0;t=0}Z=t;Z=Z<<24>>24!=0;u=W;return Z|0}default:{n[e+312>>0]=0;Z=0;Z=Z<<24>>24!=0;u=W;return Z|0}}return 0}function mc(e,t,i,r,o,s){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;var c=0,f=0,p=0.0,d=0.0,m=0.0,h=0,y=0,g=0.0,C=0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0,D=0,T=0,O=0,H=0.0,W=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0,K=0,Z=0;O=u;u=u+528|0;if((ya[_[(_[r>>2]|0)+80>>2]&127](r)|0)==2){f=s?e+36|0:e+28|0;c=_[r+156>>2]|0;_[f>>2]=c+-1;if(!c){u=O;return}c=c+-1|0;do{mc(e,t,i,_[(_[r+164>>2]|0)+(c<<2)>>2]|0,o,s);T=_[f>>2]|0;c=T+-1|0;_[f>>2]=c}while((T|0)!=0);u=O;return}C=(ya[_[(_[r>>2]|0)+80>>2]&127](r)|0)==1;c=_[o+4>>2]|0;if(C&(c|0)==28){T=_[t+12>>2]|0;_[O+216>>2]=_[T>>2];_[O+216+4>>2]=_[T+4>>2];_[O+216+8>>2]=_[T+8>>2];_[O+216+12>>2]=_[T+12>>2];_[O+216+16>>2]=_[T+16>>2];_[O+216+16+4>>2]=_[T+16+4>>2];_[O+216+16+8>>2]=_[T+16+8>>2];_[O+216+16+12>>2]=_[T+16+12>>2];_[O+216+32>>2]=_[T+32>>2];_[O+216+32+4>>2]=_[T+32+4>>2];_[O+216+32+8>>2]=_[T+32+8>>2];_[O+216+32+12>>2]=_[T+32+12>>2];_[O+216+48>>2]=_[T+48>>2];_[O+216+48+4>>2]=_[T+48+4>>2];_[O+216+48+8>>2]=_[T+48+8>>2];_[O+216+48+12>>2]=_[T+48+12>>2];T=_[i+12>>2]|0;H=+a[T+16>>2];p=+a[T+20>>2];d=+a[T+24>>2];v=+a[T+32>>2];k=+a[T+36>>2];j=+a[T+40>>2];P=+a[T+48>>2];m=+a[T+52>>2];R=+a[T+56>>2];w=+a[o+52>>2];S=+a[o+56>>2];I=+a[o+60>>2];A=+a[T>>2]*w+ +a[T+4>>2]*S+ +a[T+8>>2]*I;a[O+152>>2]=A;a[O+152+4>>2]=H*w+p*S+d*I;a[O+152+8>>2]=v*w+k*S+j*I;R=+a[o+68>>2]+(P*w+m*S+R*I);a[O+152+12>>2]=R;$a[_[(_[r>>2]|0)+8>>2]&127](r,O+216|0,O+88|0,O+88+16|0);m=+Da[_[(_[o>>2]|0)+48>>2]&15](o);P=+a[O+88>>2]-m;a[O+88>>2]=P;W=+a[O+88+4>>2]-m;a[O+88+4>>2]=W;g=+a[O+88+8>>2]-m;a[O+88+8>>2]=g;B=m+ +a[O+88+16>>2];a[O+88+16>>2]=B;F=m+ +a[O+88+20>>2];a[O+88+20>>2]=F;m=m+ +a[O+88+24>>2];a[O+88+24>>2]=m;x=(B+P)*.5*A+(F+W)*.5*(H*w+p*S+d*I)+(m+g)*.5*(v*w+k*S+j*I);I=(B-(B+P)*.5)*+G(+A)+(F-(F+W)*.5)*+G(+(H*w+p*S+d*I))+(m-(m+g)*.5)*+G(+(v*w+k*S+j*I));if(R+9.999999974752427e-07>=x-I&!(R>x+I+9.999999974752427e-07)){ua[_[(_[r>>2]|0)+112>>2]&511](r);v=+Da[_[(_[r>>2]|0)+48>>2]&15](r);v=v+ +Da[_[(_[o>>2]|0)+48>>2]&15](o);c=_[r+188>>2]|0;if(c|0)do{c=c+-1|0;f=(_[r+184>>2]|0)+(U(_[r+196>>2]|0,c)|0)|0;p=+a[r+160>>2];if((_[r+192>>2]|0)==1){d=p*+l[f>>3];a[O+24>>2]=d;m=+l[f+8>>3]*+a[r+164>>2];a[O+24+4>>2]=m;p=+l[f+16>>3]*+a[r+168>>2]}else{d=p*+a[f>>2];a[O+24>>2]=d;m=+a[f+4>>2]*+a[r+164>>2];a[O+24+4>>2]=m;p=+a[f+8>>2]*+a[r+168>>2]}P=d*+a[O+216>>2]+m*+a[O+216+4>>2]+p*+a[O+216+8>>2]+ +a[O+216+48>>2];B=d*+a[O+216+16>>2]+m*+a[O+216+20>>2]+p*+a[O+216+24>>2]+ +a[O+216+52>>2];g=d*+a[O+216+32>>2]+m*+a[O+216+36>>2]+p*+a[O+216+40>>2]+ +a[O+216+56>>2];a[O+24>>2]=P;a[O+24+4>>2]=B;a[O+24+8>>2]=g;a[O+24+12>>2]=0.0;p=+a[O+152>>2];d=+a[O+152+4>>2];m=+a[O+152+8>>2];g=P*p+B*d+g*m-+a[O+152+12>>2]-v;do{if(g<0.0)if(s){a[O>>2]=-p;a[O+4>>2]=-d;a[O+8>>2]=-m;a[O+12>>2]=0.0;f=_[e+16>>2]|0;Za[_[(_[f>>2]|0)+8>>2]&127](f,_[e+28>>2]|0,_[e+24>>2]|0);f=_[e+16>>2]|0;Za[_[(_[f>>2]|0)+12>>2]&127](f,_[e+36>>2]|0,_[e+32>>2]|0);f=_[e+12>>2]|0;if(!f){f=_[e+4>>2]|0;f=xa[_[(_[f>>2]|0)+12>>2]&63](f,_[i+8>>2]|0,_[t+8>>2]|0)|0;_[e+12>>2]=f}T=_[e+16>>2]|0;_[T+4>>2]=f;Ka[_[(_[T>>2]|0)+16>>2]&15](T,O,O+24|0,g);break}else{f=_[e+16>>2]|0;Za[_[(_[f>>2]|0)+8>>2]&127](f,_[e+28>>2]|0,_[e+24>>2]|0);f=_[e+16>>2]|0;Za[_[(_[f>>2]|0)+12>>2]&127](f,_[e+36>>2]|0,_[e+32>>2]|0);f=_[e+12>>2]|0;if(!f){f=_[e+4>>2]|0;f=xa[_[(_[f>>2]|0)+12>>2]&63](f,_[t+8>>2]|0,_[i+8>>2]|0)|0;_[e+12>>2]=f}T=_[e+16>>2]|0;_[T+4>>2]=f;Ka[_[(_[T>>2]|0)+16>>2]&15](T,O+152|0,O+24|0,g);break}}while(0)}while((c|0)!=0);ua[_[(_[r>>2]|0)+116>>2]&511](r)}u=O;return}if((c|0)==31){c=_[i+12>>2]|0;p=+a[c>>2];S=+a[c+4>>2];j=+a[c+8>>2];R=+a[c+16>>2];x=+a[c+20>>2];I=+a[c+24>>2];d=+a[c+32>>2];m=+a[c+36>>2];g=+a[c+40>>2];v=+a[c+48>>2];w=+a[c+52>>2];k=+a[c+56>>2];c=_[o+20>>2]|0;if(!c){u=O;return}do{c=c+-1|0;T=_[o+28>>2]|0;C=_[T+(c*80|0)+64>>2]|0;z=+a[T+(c*80|0)>>2];Q=+a[T+(c*80|0)+16>>2];q=+a[T+(c*80|0)+32>>2];E=+a[T+(c*80|0)+4>>2];V=+a[T+(c*80|0)+20>>2];L=+a[T+(c*80|0)+36>>2];H=+a[T+(c*80|0)+8>>2];W=+a[T+(c*80|0)+24>>2];F=+a[T+(c*80|0)+40>>2];A=+a[T+(c*80|0)+48>>2];P=+a[T+(c*80|0)+52>>2];B=+a[T+(c*80|0)+56>>2];a[O+216>>2]=p*z+S*Q+j*q;a[O+216+4>>2]=p*E+S*V+j*L;a[O+216+8>>2]=p*H+S*W+j*F;a[O+216+12>>2]=0.0;a[O+216+16>>2]=R*z+x*Q+I*q;a[O+216+20>>2]=R*E+x*V+I*L;a[O+216+24>>2]=R*H+x*W+I*F;a[O+216+28>>2]=0.0;a[O+216+32>>2]=d*z+m*Q+g*q;a[O+216+36>>2]=d*E+m*V+g*L;a[O+216+40>>2]=d*H+m*W+g*F;a[O+216+44>>2]=0.0;a[O+216+48>>2]=v+(p*A+S*P+j*B);a[O+216+52>>2]=w+(R*A+x*P+I*B);a[O+216+56>>2]=k+(d*A+m*P+g*B);a[O+216+60>>2]=0.0;T=_[i+8>>2]|0;_[O+152>>2]=i;_[O+152+4>>2]=C;_[O+152+8>>2]=T;_[O+152+12>>2]=O+216;_[O+152+16>>2]=-1;_[O+152+20>>2]=c;y=_[e+16>>2]|0;f=_[y+8>>2]|0;if((_[f+8>>2]|0)==(T|0)){h=f;f=y+8|0}else{h=_[y+12>>2]|0;f=y+12|0}_[f>>2]=O+152;mc(e,t,O+152|0,r,C,s);T=_[e+16>>2]|0;_[((_[(_[T+8>>2]|0)+8>>2]|0)==(_[O+152+8>>2]|0)?T+8|0:T+12|0)>>2]=h}while((c|0)!=0);u=O;return}if((c+-21|0)>>>0<9){_[O+216>>2]=8404;_[O+216+4>>2]=e;_[O+216+8>>2]=t;_[O+216+12>>2]=i;_[O+216+16>>2]=r;n[O+216+20>>0]=s&1;a[O+216+24>>2]=+Da[_[(_[o>>2]|0)+48>>2]&15](o);s=_[i+12>>2]|0;R=+a[s>>2];x=+a[s+16>>2];I=+a[s+32>>2];H=+a[s+4>>2];W=+a[s+20>>2];F=+a[s+36>>2];L=+a[s+8>>2];E=+a[s+24>>2];Q=+a[s+40>>2];A=-+a[s+48>>2];P=-+a[s+52>>2];B=-+a[s+56>>2];s=_[t+12>>2]|0;p=+a[s>>2];d=+a[s+16>>2];m=+a[s+32>>2];g=+a[s+4>>2];v=+a[s+20>>2];w=+a[s+36>>2];k=+a[s+8>>2];S=+a[s+24>>2];j=+a[s+40>>2];V=+a[s+48>>2];q=+a[s+52>>2];z=+a[s+56>>2];a[O+152>>2]=R*p+x*d+I*m;a[O+152+4>>2]=R*g+x*v+I*w;a[O+152+8>>2]=R*k+x*S+I*j;a[O+152+12>>2]=0.0;a[O+152+16>>2]=H*p+W*d+F*m;a[O+152+20>>2]=H*g+W*v+F*w;a[O+152+24>>2]=H*k+W*S+F*j;a[O+152+28>>2]=0.0;a[O+152+32>>2]=L*p+E*d+Q*m;a[O+152+36>>2]=L*g+E*v+Q*w;a[O+152+40>>2]=L*k+E*S+Q*j;a[O+152+44>>2]=0.0;a[O+152+48>>2]=R*A+x*P+I*B+(R*V+x*q+I*z);a[O+152+52>>2]=H*A+W*P+F*B+(H*V+W*q+F*z);a[O+152+56>>2]=L*A+E*P+Q*B+(L*V+E*q+Q*z);a[O+152+60>>2]=0.0;$a[_[(_[r>>2]|0)+8>>2]&127](r,O+152|0,O+88|0,O+24|0);$a[_[(_[o>>2]|0)+64>>2]&127](o,O+216|0,O+88|0,O+24|0);u=O;return}C=_[t+12>>2]|0;_[O+88>>2]=_[C>>2];_[O+88+4>>2]=_[C+4>>2];_[O+88+8>>2]=_[C+8>>2];_[O+88+12>>2]=_[C+12>>2];c=O+88+16|0;_[c>>2]=_[C+16>>2];_[c+4>>2]=_[C+16+4>>2];_[c+8>>2]=_[C+16+8>>2];_[c+12>>2]=_[C+16+12>>2];f=O+88+32|0;_[f>>2]=_[C+32>>2];_[f+4>>2]=_[C+32+4>>2];_[f+8>>2]=_[C+32+8>>2];_[f+12>>2]=_[C+32+12>>2];_[O+88+48>>2]=_[C+48>>2];_[O+88+48+4>>2]=_[C+48+4>>2];_[O+88+48+8>>2]=_[C+48+8>>2];_[O+88+48+12>>2]=_[C+48+12>>2];C=_[i+12>>2]|0;_[O+24>>2]=_[C>>2];_[O+24+4>>2]=_[C+4>>2];_[O+24+8>>2]=_[C+8>>2];_[O+24+12>>2]=_[C+12>>2];_[O+24+16>>2]=_[C+16>>2];_[O+24+16+4>>2]=_[C+16+4>>2];_[O+24+16+8>>2]=_[C+16+8>>2];_[O+24+16+12>>2]=_[C+16+12>>2];_[O+24+32>>2]=_[C+32>>2];_[O+24+32+4>>2]=_[C+32+4>>2];_[O+24+32+8>>2]=_[C+32+8>>2];_[O+24+32+12>>2]=_[C+32+12>>2];_[O+24+48>>2]=_[C+48>>2];_[O+24+48+4>>2]=_[C+48+4>>2];_[O+24+48+8>>2]=_[C+48+8>>2];_[O+24+48+12>>2]=_[C+48+12>>2];n[O+16>>0]=1;_[O+12>>2]=0;_[O+4>>2]=0;_[O+8>>2]=0;if(!(_[r+72>>2]|0)){$a[_[(_[o>>2]|0)+8>>2]&127](o,O+24|0,O+216|0,O+216+16|0);c=ya[_[(_[r>>2]|0)+88>>2]&127](r)|0;if(!c)c=0;else{o=c;c=0;f=0;h=0;do{o=o+-1|0;ba[_[(_[r>>2]|0)+120>>2]&31](r,o,O+88|0,O+152|0,O+152+16|0);if(((((!(+a[O+216>>2]>+a[O+152+16>>2])?!(+a[O+216+16>>2]<+a[O+152>>2]):0)?!(+a[O+216+4>>2]>+a[O+152+20>>2]):0)?!(+a[O+216+20>>2]<+a[O+152+4>>2]):0)?!(+a[O+216+8>>2]>+a[O+152+24>>2]):0)?!(+a[O+216+24>>2]<+a[O+152+8>>2]):0){if((c|0)==(f|0)){C=f|0?f<<1:1;if((f|0)<(C|0)){if(!C)y=0;else{_[6293]=(_[6293]|0)+1;c=cc((C<<2|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}y=c;h=_[O+12>>2]|0}if((f|0)<=0)if(!h)c=f;else M=50;else{c=0;do{_[y+(c<<2)>>2]=_[h+(c<<2)>>2];c=c+1|0}while((c|0)!=(f|0));M=50}if((M|0)==50){M=0;_[6294]=(_[6294]|0)+1;Mc(_[h+-4>>2]|0);_[O+12>>2]=0;c=_[O+4>>2]|0}_[O+12>>2]=y;_[O+8>>2]=C;h=y;f=C}else c=f}_[h+(c<<2)>>2]=o;c=(_[O+4>>2]|0)+1|0;_[O+4>>2]=c}}while((o|0)!=0);n[O+16>>0]=1}}else{Z=_[O+88>>2]|0;K=_[c>>2]|0;N=_[f>>2]|0;f=_[O+88+4>>2]|0;h=_[O+88+20>>2]|0;y=_[O+88+36>>2]|0;C=_[O+88+8>>2]|0;M=_[O+88+24>>2]|0;c=_[O+88+40>>2]|0;F=-+a[O+88+48>>2];W=-+a[O+88+52>>2];H=-+a[O+88+56>>2];k=(_[b>>2]=Z,+a[b>>2]);S=(_[b>>2]=K,+a[b>>2]);j=(_[b>>2]=N,+a[b>>2]);R=(_[b>>2]=f,+a[b>>2]);x=(_[b>>2]=h,+a[b>>2]);I=(_[b>>2]=y,+a[b>>2]);V=(_[b>>2]=C,+a[b>>2]);q=(_[b>>2]=M,+a[b>>2]);z=(_[b>>2]=c,+a[b>>2]);_[O+152>>2]=Z;_[O+152+4>>2]=K;_[O+152+8>>2]=N;a[O+152+12>>2]=0.0;_[O+152+16>>2]=f;_[O+152+20>>2]=h;_[O+152+24>>2]=y;a[O+152+28>>2]=0.0;_[O+152+32>>2]=C;_[O+152+36>>2]=M;_[O+152+40>>2]=c;a[O+152+44>>2]=0.0;a[O+152+60>>2]=0.0;B=+a[O+24+48>>2];P=+a[O+24+52>>2];A=+a[O+24+56>>2];a[O+152+48>>2]=k*B+S*P+j*A+(k*F+S*W+j*H);a[O+152+52>>2]=B*R+P*x+A*I+(R*F+x*W+I*H);a[O+152+56>>2]=B*V+P*q+A*z+(V*F+q*W+z*H);H=+a[O+24>>2];W=+a[O+24+16>>2];F=+a[O+24+32>>2];A=+a[O+24+4>>2];P=+a[O+24+20>>2];B=+a[O+24+36>>2];L=+a[O+24+8>>2];E=+a[O+24+24>>2];Q=+a[O+24+40>>2];a[O+152>>2]=H*k+W*S+F*j;a[O+152+4>>2]=k*A+S*P+j*B;a[O+152+8>>2]=k*L+S*E+j*Q;a[O+152+12>>2]=0.0;a[O+152+16>>2]=H*R+W*x+F*I;a[O+152+20>>2]=A*R+P*x+B*I;a[O+152+24>>2]=L*R+E*x+Q*I;a[O+152+28>>2]=0.0;a[O+152+32>>2]=H*V+W*q+F*z;a[O+152+36>>2]=A*V+P*q+B*z;a[O+152+40>>2]=L*V+E*q+Q*z;a[O+152+44>>2]=0.0;$a[_[(_[o>>2]|0)+8>>2]&127](o,O+152|0,O+216|0,O+216+16|0);Oe(r+72|0,O+216|0,O);c=_[O+4>>2]|0}if(c|0){ua[_[(_[r>>2]|0)+112>>2]&511](r);ph(O+216|0,r);Z=ya[_[(_[r>>2]|0)+92>>2]&127](r)|0;c=c+-1|0;h=s?e+32|0:e+24|0;y=_[O+12>>2]|0;if(Z)while(1){K=_[y+(c<<2)>>2]|0;_[h>>2]=K;M=_[O+216+300>>2]|0;M=Pa[_[_[M>>2]>>2]&31](M,K)|0;Za[_[(_[r>>2]|0)+132>>2]&127](O+152|0,r,K);K=_[t+8>>2]|0;N=_[t+12>>2]|0;f=_[e+28>>2]|0;Z=_[e+24>>2]|0;_[O+152>>2]=t;_[O+152+4>>2]=M;_[O+152+8>>2]=K;_[O+152+12>>2]=N;_[O+152+16>>2]=f;_[O+152+20>>2]=Z;Z=_[e+16>>2]|0;f=_[Z+8>>2]|0;_[((_[f+8>>2]|0)==(K|0)?Z+8|0:Z+12|0)>>2]=O+152;if(s)Pi(e,i,O+152|0);else Pi(e,O+152|0,i);_[(_[e+16>>2]|0)+8>>2]=f;if(!c)break;else c=c+-1|0}else while(1){M=_[y+(c<<2)>>2]|0;_[h>>2]=M;K=_[O+216+300>>2]|0;M=Pa[_[_[K>>2]>>2]&31](K,M)|0;K=_[t+8>>2]|0;N=_[t+12>>2]|0;f=_[e+28>>2]|0;Z=_[e+24>>2]|0;_[O+152>>2]=t;_[O+152+4>>2]=M;_[O+152+8>>2]=K;_[O+152+12>>2]=N;_[O+152+16>>2]=f;_[O+152+20>>2]=Z;Z=_[e+16>>2]|0;f=_[Z+8>>2]|0;_[((_[f+8>>2]|0)==(K|0)?Z+8|0:Z+12|0)>>2]=O+152;if(s)Pi(e,i,O+152|0);else Pi(e,O+152|0,i);_[(_[e+16>>2]|0)+8>>2]=f;if(!c)break;else c=c+-1|0}ua[_[(_[r>>2]|0)+116>>2]&511](r);_[O+216+112>>2]=7544;c=_[O+216+168>>2]|0;if(c|0?(ua[_[_[c>>2]>>2]&511](c),D=_[O+216+168>>2]|0,D|0):0){_[6294]=(_[6294]|0)+1;Mc(_[D+-4>>2]|0)}_[O+216+4>>2]=7544;c=_[O+216+60>>2]|0;if(c|0?(ua[_[_[c>>2]>>2]&511](c),T=_[O+216+60>>2]|0,T|0):0){_[6294]=(_[6294]|0)+1;Mc(_[T+-4>>2]|0)}}c=_[O+12>>2]|0;if(c|0){if(n[O+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[O+12>>2]=0}u=O;return}function nc(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0.0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,F=0.0,B=0.0,V=0,E=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0.0,X=0.0,J=0.0,Y=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,re=0.0,_e=0.0,oe=0.0,se=0.0,ce=0.0,ae=0.0,le=0.0,fe=0,be=0.0,pe=0.0,ue=0.0,de=0.0,me=0.0,he=0.0,ye=0.0;fe=u;u=u+80|0;a[e+504>>2]=0.0;a[e+500>>2]=0.0;n[e+525>>0]=0;n[e+526>>0]=0;if(n[e+552>>0]|0?(n[e+527>>0]|0)==0:0){ye=+a[e+556>>2];me=+a[e+560>>2];le=+a[e+564>>2];de=+a[e+568>>2];$=ye*(2.0/(ye*ye+me*me+le*le+de*de));he=me*(2.0/(ye*ye+me*me+le*le+de*de));ue=le*(2.0/(ye*ye+me*me+le*le+de*de));ee=+a[e+300>>2];Q=+a[t>>2];te=+a[e+316>>2];z=+a[t+4>>2];ie=+a[e+332>>2];N=+a[t+8>>2];re=+a[e+304>>2];oe=+a[e+320>>2];ce=+a[e+336>>2];X=+a[e+308>>2];J=+a[e+324>>2];Y=+a[e+340>>2];U=+a[t+16>>2];K=+a[t+20>>2];Z=+a[t+24>>2];_e=+a[t+32>>2];se=+a[t+36>>2];ae=+a[t+40>>2];m=+a[e+348>>2];d=+a[e+352>>2];p=+a[e+356>>2];C=+a[e+364>>2];pe=+a[i>>2];v=+a[e+380>>2];be=+a[i+4>>2];w=+a[e+396>>2];l=+a[i+8>>2];k=+a[e+368>>2];S=+a[e+384>>2];j=+a[e+400>>2];h=+a[e+372>>2];y=+a[e+388>>2];g=+a[e+404>>2];f=+a[i+16>>2];b=+a[i+20>>2];c=+a[i+24>>2];R=+a[i+32>>2];I=+a[i+36>>2];D=+a[i+40>>2];x=+a[e+412>>2];M=+a[e+416>>2];s=+a[e+420>>2];O=(1.0-(me*he+le*ue))*(C*pe+v*be+w*l)+(ye*he+de*ue)*(pe*k+be*S+l*j)+(ye*ue-de*he)*(pe*h+be*y+l*g);H=(ye*he-de*ue)*(C*pe+v*be+w*l)+(1.0-(ye*$+le*ue))*(pe*k+be*S+l*j)+(me*ue+de*$)*(pe*h+be*y+l*g);T=(ye*ue+de*he)*(C*pe+v*be+w*l)+(me*ue-de*$)*(pe*k+be*S+l*j)+(1.0-(ye*$+me*he))*(pe*h+be*y+l*g);B=(ye*ue-de*he)*(h*f+y*b+g*c)+((1.0-(me*he+le*ue))*(C*f+v*b+w*c)+(ye*he+de*ue)*(k*f+S*b+j*c));E=(me*ue+de*$)*(h*f+y*b+g*c)+((ye*he-de*ue)*(C*f+v*b+w*c)+(1.0-(ye*$+le*ue))*(k*f+S*b+j*c));F=(1.0-(ye*$+me*he))*(h*f+y*b+g*c)+((ye*ue+de*he)*(C*f+v*b+w*c)+(me*ue-de*$)*(k*f+S*b+j*c));ne=(ye*ue-de*he)*(h*R+y*I+g*D)+((1.0-(me*he+le*ue))*(C*R+v*I+w*D)+(ye*he+de*ue)*(k*R+S*I+j*D));le=(me*ue+de*$)*(h*R+y*I+g*D)+((ye*he-de*ue)*(C*R+v*I+w*D)+(1.0-(ye*$+le*ue))*(k*R+S*I+j*D));$=(1.0-(ye*$+me*he))*(h*R+y*I+g*D)+((ye*ue+de*he)*(C*R+v*I+w*D)+(me*ue-de*$)*(k*R+S*I+j*D));de=-(+a[t+48>>2]+(Q*m+z*d+N*p));ue=-(U*m+K*d+Z*p+ +a[t+52>>2]);p=-(_e*m+se*d+ae*p+ +a[t+56>>2]);d=(ee*Q+te*z+ie*N)*de+(ee*U+te*K+ie*Z)*ue+(ee*_e+te*se+ie*ae)*p;m=(Q*re+z*oe+N*ce)*de+(re*U+oe*K+ce*Z)*ue+(re*_e+oe*se+ce*ae)*p;p=(Q*X+z*J+N*Y)*de+(X*U+J*K+Y*Z)*ue+(X*_e+J*se+Y*ae)*p;l=p*T+(d*O+m*H)+((C*pe+v*be+w*l)*0.0+(pe*k+be*S+l*j)*0.0+(pe*h+be*y+l*g)*0.0+(+a[i+48>>2]+(pe*x+be*M+l*s)));c=p*F+(d*B+m*E)+((h*f+y*b+g*c)*0.0+((C*f+v*b+w*c)*0.0+(k*f+S*b+j*c)*0.0)+(f*x+b*M+c*s+ +a[i+52>>2]));s=p*$+(d*ne+m*le)+((h*R+y*I+g*D)*0.0+((C*R+v*I+w*D)*0.0+(k*R+S*I+j*D)*0.0)+(R*x+I*M+D*s+ +a[i+56>>2]));a[fe+16>>2]=(Q*X+z*J+N*Y)*T+((ee*Q+te*z+ie*N)*O+(Q*re+z*oe+N*ce)*H);a[fe+16+4>>2]=(X*U+J*K+Y*Z)*T+((ee*U+te*K+ie*Z)*O+(re*U+oe*K+ce*Z)*H);a[fe+16+8>>2]=(X*_e+J*se+Y*ae)*T+((ee*_e+te*se+ie*ae)*O+(re*_e+oe*se+ce*ae)*H);a[fe+16+12>>2]=0.0;a[fe+16+16>>2]=(Q*X+z*J+N*Y)*F+((ee*Q+te*z+ie*N)*B+(Q*re+z*oe+N*ce)*E);a[fe+16+20>>2]=(X*U+J*K+Y*Z)*F+((ee*U+te*K+ie*Z)*B+(re*U+oe*K+ce*Z)*E);a[fe+16+24>>2]=(X*_e+J*se+Y*ae)*F+((ee*_e+te*se+ie*ae)*B+(re*_e+oe*se+ce*ae)*E);a[fe+16+28>>2]=0.0;a[fe+16+32>>2]=(Q*X+z*J+N*Y)*$+((ee*Q+te*z+ie*N)*ne+(Q*re+z*oe+N*ce)*le);a[fe+16+36>>2]=(X*U+J*K+Y*Z)*$+((ee*U+te*K+ie*Z)*ne+(re*U+oe*K+ce*Z)*le);a[fe+16+40>>2]=(X*_e+J*se+Y*ae)*$+((ee*_e+te*se+ie*ae)*ne+(re*_e+oe*se+ce*ae)*le);a[fe+16+44>>2]=0.0;a[fe+16+48>>2]=l;a[fe+16+52>>2]=c;a[fe+16+56>>2]=s;a[fe+16+60>>2]=0.0;Lg(fe+16|0,fe);s=+a[fe>>2];c=+a[fe+4>>2];l=+a[fe+8>>2];if(!(+G(+(s*s+c*c+l*l))<1.1920928955078125e-07)?(a[e+472>>2]=0.0,ye=1.0/+W(+(s*s+c*c+l*l)),a[e+460>>2]=s*ye,a[e+464>>2]=c*ye,a[e+468>>2]=l*ye,ye=+a[fe+12>>2],ye=ye<-1.0?-1.0:ye,ye=+L(+(ye>1.0?1.0:ye))*2.0,a[e+504>>2]=ye,!(+G(+ye)<1.1920928955078125e-07)):0)n[e+526>>0]=1;u=fe;return}Lg(t,fe+16|0);Lg(e+300|0,fe);N=+a[fe+16+12>>2];U=+a[fe>>2];K=+a[fe+16>>2];Z=+a[fe+12>>2];X=+a[fe+16+4>>2];J=+a[fe+8>>2];Y=+a[fe+16+8>>2];$=+a[fe+4>>2];Lg(i,fe+16|0);Lg(e+364|0,fe);ee=+a[fe+16+12>>2];te=+a[fe>>2];ie=+a[fe+16>>2];ne=+a[fe+12>>2];re=+a[fe+16+4>>2];_e=+a[fe+8>>2];oe=+a[fe+16+8>>2];se=+a[fe+4>>2];ce=-(ee*te+ie*ne+re*_e-oe*se);ae=-(te*oe+(ne*re+ee*se)-ie*_e);le=-(ee*_e+ne*oe+ie*se-te*re);y=(N*Z-U*K-X*$-J*Y)*ce+(N*U+K*Z+X*J-Y*$)*(ee*ne-te*ie-re*se-_e*oe)+(N*J+Z*Y+K*$-U*X)*ae-(U*Y+(Z*X+N*$)-K*J)*le;g=(N*U+K*Z+X*J-Y*$)*le+((U*Y+(Z*X+N*$)-K*J)*(ee*ne-te*ie-re*se-_e*oe)+(N*Z-U*K-X*$-J*Y)*ae)-(N*J+Z*Y+K*$-U*X)*ce;C=(U*Y+(Z*X+N*$)-K*J)*ce+((N*J+Z*Y+K*$-U*X)*(ee*ne-te*ie-re*se-_e*oe)+(N*Z-U*K-X*$-J*Y)*le)-(N*U+K*Z+X*J-Y*$)*ae;v=(N*Z-U*K-X*$-J*Y)*(ee*ne-te*ie-re*se-_e*oe)-(N*U+K*Z+X*J-Y*$)*ce-(U*Y+(Z*X+N*$)-K*J)*ae-(N*J+Z*Y+K*$-U*X)*le;l=+a[5660];s=+a[5662];f=+a[5661];b=(l*C+f*v-s*y)*-C+(v*(l*v+s*g-f*C)+(-(l*y)-f*g-s*C)*-y)-(s*v+f*y-l*g)*-g;p=(s*v+f*y-l*g)*-y+(v*(l*C+f*v-s*y)+(-(l*y)-f*g-s*C)*-g)-(l*v+s*g-f*C)*-C;c=(l*v+s*g-f*C)*-g+(v*(s*v+f*y-l*g)+(-(l*y)-f*g-s*C)*-C)-(l*C+f*v-s*y)*-y;d=1.0/+W(+(c*c+(b*b+p*p)));do{if(s*d*c+(f*d*p+l*d*b)<-.9999998807907104)if(+G(+s)>.7071067690849304){c=1.0/+W(+(s*s+f*f));h=-(s*c);m=0.0;s=f*c;c=0.0;break}else{m=1.0/+W(+(l*l+f*f));h=l*m;m=-(f*m);s=0.0;c=0.0;break}else{ye=+W(+((s*d*c+(f*d*p+l*d*b)+1.0)*2.0));h=(s*d*b-l*d*c)*(1.0/ye);m=(f*d*c-s*d*p)*(1.0/ye);s=(l*d*p-f*d*b)*(1.0/ye);c=ye*.5}}while(0);f=1.0/+W(+(m*m+h*h+s*s+c*c));p=m*f;h=h*f;m=s*f;f=c*f;z=1.0/+W(+((v*f-y*-p-g*-h-C*-m)*(v*f-y*-p-g*-h-C*-m)+((g*-p+(C*f+v*-m)-y*-h)*(g*-p+(C*f+v*-m)-y*-h)+((C*-h+(y*f+v*-p)-g*-m)*(C*-h+(y*f+v*-p)-g*-m)+(y*-m+(v*-h+g*f)-C*-p)*(y*-m+(v*-h+g*f)-C*-p)))));l=z*(C*-h+(y*f+v*-p)-g*-m);b=z*(y*-m+(v*-h+g*f)-C*-p);c=z*(g*-p+(C*f+v*-m)-y*-h);z=z*(v*f-y*-p-g*-h-C*-m);g=+a[e+444>>2];s=+a[e+456>>2];if(g>=s?(w=+a[e+448>>2],w>=s):0){y=f<-1.0?-1.0:f;y=+L(+(y>1.0?1.0:y))*2.0;if(y>1.1920928955078125e-07){d=1.0/+W(+(m*m+(p*p+h*h)));if(+G(+(h*d))>1.1920928955078125e-07){p=p*d;f=m*d;s=h*d;m=+W(+((m*d*m*d/(h*d*h*d)+1.0)/(1.0/(w*w)+m*d*m*d/(h*d*h*d)/(g*g))))}else{p=p*d;f=m*d;s=h*d;m=g}}else{p=0.0;f=0.0;s=0.0;m=0.0}d=+a[e+428>>2];h=m*d;if(y>h){n[e+526>>0]=1;if(y<m&d<.9999998807907104)d=(y-h)/(m-h);else d=1.0;a[e+528>>2]=d;a[e+504>>2]=y-h;if(+G(+s)>1.1920928955078125e-07){ye=+G(+(s*-f/s*(w/g)));f=f<-0.0?ye:-ye;ye=1.0/+W(+(p*p+s*s+f*f));p=p*ye;f=-(f*ye);s=s*ye}he=-p;me=-s;ue=-f;pe=(ee*ne-te*ie-re*se-_e*oe)*he+(te*oe+(ne*re+ee*se)-ie*_e)*ue-(ee*_e+ne*oe+ie*se-te*re)*me;ye=(ee*_e+ne*oe+ie*se-te*re)*he+(ee*ne-te*ie-re*se-_e*oe)*me-(ee*te+ie*ne+re*_e-oe*se)*ue;de=(ee*te+ie*ne+re*_e-oe*se)*me+(ee*ne-te*ie-re*se-_e*oe)*ue-(te*oe+(ne*re+ee*se)-ie*_e)*he;ue=-((ee*te+ie*ne+re*_e-oe*se)*he)-(te*oe+(ne*re+ee*se)-ie*_e)*me-(ee*_e+ne*oe+ie*se-te*re)*ue;me=ye*le+(ue*ce+(ee*ne-te*ie-re*se-_e*oe)*pe)-de*ae;he=de*ce+((ee*ne-te*ie-re*se-_e*oe)*ye+ue*ae)-pe*le;ye=pe*ae+(ue*le+(ee*ne-te*ie-re*se-_e*oe)*de)-ye*ce;a[e+460>>2]=me;a[e+464>>2]=he;a[e+468>>2]=ye;a[e+472>>2]=0.0;_[e+536>>2]=0;_[e+536+4>>2]=0;_[e+536+8>>2]=0;_[e+536+12>>2]=0;a[e+492>>2]=1.0/(me*(+a[r>>2]*me+ +a[r+16>>2]*he+ +a[r+32>>2]*ye)+he*(me*+a[r+4>>2]+he*+a[r+20>>2]+ye*+a[r+36>>2])+ye*(me*+a[r+8>>2]+he*+a[r+24>>2]+ye*+a[r+40>>2])+(me*(me*+a[o>>2]+he*+a[o+16>>2]+ye*+a[o+32>>2])+he*(me*+a[o+4>>2]+he*+a[o+20>>2]+ye*+a[o+36>>2])+ye*(me*+a[o+8>>2]+he*+a[o+24>>2]+ye*+a[o+40>>2])))}}else V=23;e:do{if((V|0)==23){D=+a[e+300>>2];T=+a[e+316>>2];O=+a[e+332>>2];h=+a[t>>2];y=+a[t+4>>2];g=+a[t+8>>2];C=+a[t+16>>2];v=+a[t+20>>2];w=+a[t+24>>2];H=+a[t+32>>2];F=+a[t+36>>2];k=+a[t+40>>2];S=+a[e+304>>2];j=+a[e+320>>2];R=+a[e+336>>2];x=+a[e+308>>2];I=+a[e+324>>2];M=+a[e+340>>2];p=+a[e+364>>2];m=+a[e+380>>2];B=+a[e+396>>2];E=p*+a[i>>2]+m*+a[i+4>>2]+B*+a[i+8>>2];Q=p*+a[i+16>>2]+m*+a[i+20>>2]+B*+a[i+24>>2];B=p*+a[i+32>>2]+m*+a[i+36>>2]+B*+a[i+40>>2];m=(D*h+T*y+O*g)*E+(D*C+T*v+O*w)*Q+(D*H+T*F+O*k)*B;p=(h*S+y*j+g*R)*E+(C*S+v*j+w*R)*Q+(H*S+F*j+k*R)*B;f=(h*x+y*I+g*M)*E+(C*x+v*I+w*M)*Q+(H*x+F*I+k*M)*B;d=+a[e+444>>2];s=+a[e+456>>2];do{if(d<s){d=+a[e+448>>2];if(d<s){if(+G(+p)<1.1920928955078125e-07?+G(+f)<1.1920928955078125e-07:0)break e;n[e+526>>0]=1;a[e+460>>2]=-((D*H+T*F+O*k)*Q-(D*C+T*v+O*w)*B);a[e+464>>2]=-((D*h+T*y+O*g)*B-(D*H+T*F+O*k)*E);a[e+468>>2]=-((D*C+T*v+O*w)*E-(D*h+T*y+O*g)*Q);a[e+472>>2]=0.0;break e}if(+G(+m)<1.1920928955078125e-07?+G(+f)<1.1920928955078125e-07:0){s=m;break}n[e+526>>0]=1;if(d>=s){s=+q(+f,+m);if(s>d){f=+P(+d);p=0.0;s=+A(+d);break}if(s<-d){f=-+P(+d);p=0.0;s=+A(+d)}else{p=0.0;s=m}}else s=m}else{if(+G(+m)<1.1920928955078125e-07?+G(+p)<1.1920928955078125e-07:0){s=m;break}n[e+526>>0]=1;if(d>=s){s=+q(+p,+m);if(s>d){f=0.0;p=+P(+d);s=+A(+d);break}if(s<-d){f=0.0;p=-+P(+d);s=+A(+d)}else{f=0.0;s=m}}else s=m}}while(0);m=(h*x+y*I+g*M)*f+((h*S+y*j+g*R)*p+(D*h+T*y+O*g)*s);d=(C*x+v*I+w*M)*f+((C*S+v*j+w*R)*p+(D*C+T*v+O*w)*s);s=(H*x+F*I+k*M)*f+((H*S+F*j+k*R)*p+(D*H+T*F+O*k)*s);f=1.0/+W(+(s*s+(m*m+d*d)));a[e+460>>2]=-(Q*f*s-B*f*d);a[e+464>>2]=-(B*f*m-E*f*s);a[e+468>>2]=-(E*f*d-Q*f*m);a[e+472>>2]=0.0;p=+W(+((Q*f*s-B*f*d)*(Q*f*s-B*f*d)+(B*f*m-E*f*s)*(B*f*m-E*f*s)+(E*f*d-Q*f*m)*(E*f*d-Q*f*m)));a[e+504>>2]=p;if(!(+G(+p)<1.1920928955078125e-07)){a[e+460>>2]=1.0/p*-(Q*f*s-B*f*d);a[e+464>>2]=1.0/p*-(B*f*m-E*f*s);a[e+468>>2]=1.0/p*-(E*f*d-Q*f*m)}}}while(0);d=+a[e+452>>2];if(!(d>=0.0)){a[e+512>>2]=0.0;u=fe;return}s=z<-1.0?-1.0:z;s=+L(+(s>1.0?1.0:s))*2.0;if(s>3.1415927410125732){s=-z<-1.0?-1.0:-z;s=+L(+(s>1.0?1.0:s))*2.0;l=-l;b=-b;c=-c}a[e+512>>2]=s;if(s>1.1920928955078125e-07){ye=1.0/+W(+(l*l+b*b+c*c));l=l*ye;c=c*ye;b=b*ye}f=+a[e+428>>2];if(s>d*f){n[e+525>>0]=1;p=s-d*f;if(s<d&f<.9999998807907104)s=p/(d-d*f);else s=1.0;a[e+532>>2]=s;a[e+508>>2]=p;he=-l;me=-b;ue=-c;pe=(ee*ne-te*ie-re*se-_e*oe)*he+(te*oe+(ne*re+ee*se)-ie*_e)*ue-(ee*_e+ne*oe+ie*se-te*re)*me;ye=(ee*_e+ne*oe+ie*se-te*re)*he+(ee*ne-te*ie-re*se-_e*oe)*me-(ee*te+ie*ne+re*_e-oe*se)*ue;de=(ee*te+ie*ne+re*_e-oe*se)*me+(ee*ne-te*ie-re*se-_e*oe)*ue-(te*oe+(ne*re+ee*se)-ie*_e)*he;ue=-((ee*te+ie*ne+re*_e-oe*se)*he)-(te*oe+(ne*re+ee*se)-ie*_e)*me-(ee*_e+ne*oe+ie*se-te*re)*ue;me=ye*le+(ue*ce+(ee*ne-te*ie-re*se-_e*oe)*pe)-de*ae;he=de*ce+((ee*ne-te*ie-re*se-_e*oe)*ye+ue*ae)-pe*le;ye=pe*ae+(ue*le+(ee*ne-te*ie-re*se-_e*oe)*de)-ye*ce;a[e+476>>2]=me;a[e+480>>2]=he;a[e+484>>2]=ye;a[e+488>>2]=0.0;a[e+496>>2]=1.0/(me*(+a[r>>2]*me+ +a[r+16>>2]*he+ +a[r+32>>2]*ye)+he*(me*+a[r+4>>2]+he*+a[r+20>>2]+ye*+a[r+36>>2])+ye*(me*+a[r+8>>2]+he*+a[r+24>>2]+ye*+a[r+40>>2])+(me*(me*+a[o>>2]+he*+a[o+16>>2]+ye*+a[o+32>>2])+he*(me*+a[o+4>>2]+he*+a[o+20>>2]+ye*+a[o+36>>2])+ye*(me*+a[o+8>>2]+he*+a[o+24>>2]+ye*+a[o+40>>2])))}if(!(n[e+526>>0]|0)){u=fe;return}pe=-l;ye=-b;ue=-c;be=(N*Z-U*K-X*$-J*Y)*pe+(U*Y+(Z*X+N*$)-K*J)*ue-(N*J+Z*Y+K*$-U*X)*ye;he=(N*J+Z*Y+K*$-U*X)*pe+(N*Z-U*K-X*$-J*Y)*ye-(N*U+K*Z+X*J-Y*$)*ue;me=(N*U+K*Z+X*J-Y*$)*ye+(N*Z-U*K-X*$-J*Y)*ue-(U*Y+(Z*X+N*$)-K*J)*pe;ue=-((N*U+K*Z+X*J-Y*$)*pe)-(U*Y+(Z*X+N*$)-K*J)*ye-(N*J+Z*Y+K*$-U*X)*ue;ye=-(N*U+K*Z+X*J-Y*$);pe=-(U*Y+(Z*X+N*$)-K*J);de=-(N*J+Z*Y+K*$-U*X);a[e+536>>2]=he*de+(ue*ye+(N*Z-U*K-X*$-J*Y)*be)-me*pe;a[e+540>>2]=me*ye+((N*Z-U*K-X*$-J*Y)*he+ue*pe)-be*de;a[e+544>>2]=be*pe+(ue*de+(N*Z-U*K-X*$-J*Y)*me)-he*ye;a[e+548>>2]=0.0;u=fe;return}function oc(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0,c=0,l=0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,W=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0.0,X=0.0,J=0.0,Y=0.0,$=0.0,ee=0.0,te=0.0,ie=0,ne=0,re=0,_e=0,oe=0,se=0.0,ce=0.0,ae=0.0,le=0.0,fe=0.0,be=0.0,pe=0.0,ue=0.0,de=0.0,me=0.0,he=0.0;oe=u;u=u+4352|0;ne=_[t+4>>2]|0;re=_[i+4>>2]|0;y=_[ne+68>>2]|0;g=_[re+68>>2]|0;if(!((y|0)!=0&(g|0)!=0)){xc(e,t,i,r,o);u=oe;return}if(!((_[ne+72>>2]|0)==(_[e+108>>2]|0)?(_[re+72>>2]|0)==(_[e+112>>2]|0):0)){s=_[e+84>>2]|0;l=_[s+8>>2]|0;if((l|0)>0){c=0;do{f=_[(_[s+16>>2]|0)+(c*12|0)+8>>2]|0;if(f|0){ua[_[_[f>>2]>>2]&511](f);C=_[e+4>>2]|0;ma[_[(_[C>>2]|0)+60>>2]&127](C,f)}c=c+1|0}while((c|0)!=(l|0));s=_[e+84>>2]|0}ah(s);_[e+108>>2]=_[ne+72>>2];_[e+112>>2]=_[re+72>>2]}n[oe+3328+16>>0]=1;h=oe+3328+12|0;_[h>>2]=0;m=oe+3328+4|0;_[m>>2]=0;_[oe+3328+8>>2]=0;_[oe+112>>2]=1025;s=oe+112+120|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+312|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+504|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+696|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));_[oe+112+772>>2]=0;_[oe+112+776>>2]=0;_[oe+112+780>>2]=0;_[oe+112+800>>2]=0;_[oe+112+804>>2]=1025;s=oe+112+924|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+1116|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+1308|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+1500|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));_[oe+112+1576>>2]=0;_[oe+112+1580>>2]=0;_[oe+112+1584>>2]=0;_[oe+112+1604>>2]=0;_[oe+112+1608>>2]=1025;s=oe+112+1728|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+1920|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+2112|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+2304|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));_[oe+112+2380>>2]=0;_[oe+112+2384>>2]=0;_[oe+112+2388>>2]=0;_[oe+112+2408>>2]=0;_[oe+112+2412>>2]=1025;s=oe+112+2532|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+2724|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+2916|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));s=oe+112+3108|0;c=s+44|0;do{_[s>>2]=0;s=s+4|0}while((s|0)<(c|0));_[oe+112+3184>>2]=0;_[oe+112+3188>>2]=0;_[oe+112+3192>>2]=0;_[oe+112+3212>>2]=0;n[m+12>>0]=0;_[h>>2]=oe+112;_[m>>2]=0;_[oe+3328+8>>2]=4;d=_[e+84>>2]|0;s=_[d+8>>2]|0;if((s|0)>0){p=0;do{c=_[(_[d+16>>2]|0)+(p*12|0)+8>>2]|0;if(c){ma[_[(_[c>>2]|0)+16>>2]&127](c,oe+3328|0);s=_[m>>2]|0;if((s|0)>0){b=0;do{f=_[(_[h>>2]|0)+(b<<2)>>2]|0;if(_[f+780>>2]|0){_[o+4>>2]=f;c=_[f+772>>2]|0;l=_[(_[o+8>>2]|0)+8>>2]|0;s=_[(_[o+12>>2]|0)+8>>2]|0;if((c|0)==(l|0))xe(f,c+4|0,s+4|0);else xe(f,s+4|0,l+4|0);_[o+4>>2]=0;s=_[m>>2]|0}b=b+1|0}while((b|0)<(s|0))}if((s|0)<0){if((_[oe+3328+8>>2]|0)<0){c=_[h>>2]|0;if(c|0){if(n[oe+3328+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[h>>2]=0}n[oe+3328+16>>0]=1;_[h>>2]=0;_[oe+3328+8>>2]=0}do{_[(_[h>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=0)}_[m>>2]=0;s=_[d+8>>2]|0}p=p+1|0}while((p|0)<(s|0));s=_[h>>2]|0;if(s|0)if((n[oe+3328+16>>0]|0)==0|(s|0)==0)ie=35;else{_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0);ie=35}}else ie=35;if((ie|0)==35)_[h>>2]=0;C=_[e+4>>2]|0;s=_[e+84>>2]|0;c=_[e+72>>2]|0;_[oe+112>>2]=9300;_[oe+112+4>>2]=0;_[oe+112+8>>2]=t;_[oe+112+12>>2]=i;_[oe+112+16>>2]=C;_[oe+112+20>>2]=r;_[oe+112+24>>2]=o;_[oe+112+28>>2]=s;_[oe+112+32>>2]=c;c=_[t+12>>2]|0;T=+a[c>>2];O=+a[c+16>>2];H=+a[c+32>>2];W=+a[c+4>>2];F=+a[c+20>>2];A=+a[c+36>>2];P=+a[c+8>>2];B=+a[c+24>>2];L=+a[c+40>>2];V=-+a[c+48>>2];E=-+a[c+52>>2];q=-+a[c+56>>2];c=_[i+12>>2]|0;Q=+a[c>>2];z=+a[c+16>>2];N=+a[c+32>>2];U=+a[c+4>>2];K=+a[c+20>>2];Z=+a[c+36>>2];X=+a[c+8>>2];J=+a[c+24>>2];Y=+a[c+40>>2];$=+a[c+48>>2];ee=+a[c+52>>2];te=+a[c+56>>2];c=_[y>>2]|0;s=_[g>>2]|0;D=+a[o+32>>2];if((c|0)!=0&(s|0)!=0){_[oe+3328>>2]=c;_[oe+3328+4>>2]=s;v=+G(+(T*Q+O*z+H*N));w=+G(+(T*U+O*K+H*Z));k=+G(+(T*X+O*J+H*Y));S=+G(+(W*Q+F*z+A*N));j=+G(+(W*U+F*K+A*Z));R=+G(+(W*X+F*J+A*Y));x=+G(+(P*Q+B*z+L*N));I=+G(+(P*U+B*K+L*Z));M=+G(+(P*X+B*J+L*Y));p=1;f=124;b=128;h=oe+3328|0;l=128;g=0;while(1){C=p+-1|0;r=_[h+(C<<3)>>2]|0;y=_[h+(C<<3)+4>>2]|0;he=+a[y+16>>2];me=+a[y>>2];de=+a[y+20>>2];ue=+a[y+4>>2];pe=+a[y+24>>2];se=+a[y+8>>2];be=T*V+O*E+H*q+(T*$+O*ee+H*te)+((T*Q+O*z+H*N)*(he+me)*.5+(T*U+O*K+H*Z)*(de+ue)*.5+(T*X+O*J+H*Y)*(pe+se)*.5);le=W*V+F*E+A*q+(W*$+F*ee+A*te)+((W*Q+F*z+A*N)*(he+me)*.5+(W*U+F*K+A*Z)*(de+ue)*.5+(W*X+F*J+A*Y)*(pe+se)*.5);ce=P*V+B*E+L*q+(P*$+B*ee+L*te)+((P*Q+B*z+L*N)*(he+me)*.5+(P*U+B*K+L*Z)*(de+ue)*.5+(P*X+B*J+L*Y)*(pe+se)*.5);fe=((he-me)*.5+0.0)*v+((de-ue)*.5+0.0)*w+((pe-se)*.5+0.0)*k;ae=((he-me)*.5+0.0)*S+((de-ue)*.5+0.0)*j+((pe-se)*.5+0.0)*R;se=((he-me)*.5+0.0)*x+((de-ue)*.5+0.0)*I+((pe-se)*.5+0.0)*M;do{if(((((+a[r>>2]<=D+(fe+be)?+a[r+16>>2]>=be-fe-D:0)?+a[r+4>>2]<=D+(le+ae):0)?+a[r+20>>2]>=le-ae-D:0)?+a[r+8>>2]<=D+(ce+se):0)?+a[r+24>>2]>=ce-se-D:0){if((C|0)>(f|0)){d=l<<1;e:do{if((l|0)<(d|0)&(b|0)<(d|0)){do{if(l){_[6293]=(_[6293]|0)+1;s=cc((l<<4|3)+16|0)|0;if(!s)s=0;else{_[(s+4+15&-16)+-4>>2]=s;s=s+4+15&-16}if((l|0)>0)c=0;else{ie=51;break}do{f=h+(c<<3)|0;b=_[f+4>>2]|0;m=s+(c<<3)|0;_[m>>2]=_[f>>2];_[m+4>>2]=b;c=c+1|0}while((c|0)!=(l|0));if(!(g<<24>>24)){l=d;c=1;break e}}else{s=0;ie=51}}while(0);if((ie|0)==51){ie=0;if((h|0)==0|g<<24>>24==0){l=d;c=1;break}}_[6294]=(_[6294]|0)+1;Mc(_[h+-4>>2]|0);l=d;c=1}else{l=b;s=h;c=g}}while(0);m=d+-4|0;b=l}else{m=f;s=h;d=l;c=g}l=(_[y+40>>2]|0)!=0;if(!(_[r+40>>2]|0))if(l){f=_[y+36>>2]|0;_[s+(C<<3)>>2]=r;_[s+(C<<3)+4>>2]=f;f=_[y+40>>2]|0;_[s+(p<<3)>>2]=r;_[s+(p<<3)+4>>2]=f;p=p+1|0;f=m;l=d;break}else{Za[_[(_[oe+112>>2]|0)+8>>2]&127](oe+112|0,r,y);p=C;f=m;l=d;break}else{f=_[r+36>>2]|0;if(l){l=_[y+36>>2]|0;_[s+(C<<3)>>2]=f;_[s+(C<<3)+4>>2]=l;C=_[y+36>>2]|0;l=p+1|0;_[s+(p<<3)>>2]=_[r+40>>2];_[s+(p<<3)+4>>2]=C;C=_[y+40>>2]|0;f=p+2|0;_[s+(l<<3)>>2]=_[r+36>>2];_[s+(l<<3)+4>>2]=C;l=_[y+40>>2]|0;_[s+(f<<3)>>2]=_[r+40>>2];_[s+(f<<3)+4>>2]=l;p=p+3|0;f=m;l=d;break}else{_[s+(C<<3)>>2]=f;_[s+(C<<3)+4>>2]=y;_[s+(p<<3)>>2]=_[r+40>>2];_[s+(p<<3)+4>>2]=y;p=p+1|0;f=m;l=d;break}}}else{p=C;s=h;c=g}}while(0);if(!p)break;else{h=s;g=c}}if(!((s|0)==0|c<<24>>24==0)){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}}d=_[e+84>>2]|0;if((_[d+8>>2]|0)>0){p=0;do{s=_[d+16>>2]|0;c=_[s+(p*12|0)+8>>2]|0;do{if(c|0){ie=_[s+(p*12|0)>>2]|0;C=_[ne+28>>2]|0;g=_[C+(ie*80|0)+64>>2]|0;y=_[t+12>>2]|0;Q=+a[y>>2];q=+a[y+4>>2];me=+a[y+8>>2];fe=+a[y+16>>2];ae=+a[y+20>>2];se=+a[y+24>>2];le=+a[y+32>>2];X=+a[y+36>>2];K=+a[y+40>>2];te=+a[C+(ie*80|0)>>2];ee=+a[C+(ie*80|0)+16>>2];$=+a[C+(ie*80|0)+32>>2];Y=+a[C+(ie*80|0)+4>>2];J=+a[C+(ie*80|0)+20>>2];be=+a[C+(ie*80|0)+36>>2];ce=+a[C+(ie*80|0)+8>>2];Z=+a[C+(ie*80|0)+24>>2];U=+a[C+(ie*80|0)+40>>2];de=+a[C+(ie*80|0)+48>>2];he=+a[C+(ie*80|0)+52>>2];ue=+a[C+(ie*80|0)+56>>2];N=+a[y+48>>2]+(Q*de+q*he+me*ue);z=+a[y+52>>2]+(fe*de+ae*he+se*ue);ue=+a[y+56>>2]+(le*de+X*he+K*ue);a[oe>>2]=Q*te+q*ee+me*$;a[oe+4>>2]=Q*Y+q*J+me*be;a[oe+8>>2]=Q*ce+q*Z+me*U;a[oe+12>>2]=0.0;a[oe+16>>2]=fe*te+ae*ee+se*$;a[oe+20>>2]=fe*Y+ae*J+se*be;a[oe+24>>2]=fe*ce+ae*Z+se*U;a[oe+28>>2]=0.0;a[oe+32>>2]=le*te+X*ee+K*$;a[oe+36>>2]=le*Y+X*J+K*be;a[oe+40>>2]=le*ce+X*Z+K*U;a[oe+44>>2]=0.0;a[oe+48>>2]=N;a[oe+52>>2]=z;a[oe+56>>2]=ue;a[oe+60>>2]=0.0;$a[_[(_[g>>2]|0)+8>>2]&127](g,oe,oe+3328|0,oe+96|0);ue=+a[o+32>>2];a[oe+3328>>2]=+a[oe+3328>>2]-ue;a[oe+3328+4>>2]=+a[oe+3328+4>>2]-ue;a[oe+3328+8>>2]=+a[oe+3328+8>>2]-ue;a[oe+96>>2]=ue+ +a[oe+96>>2];a[oe+96+4>>2]=ue+ +a[oe+96+4>>2];a[oe+96+8>>2]=ue+ +a[oe+96+8>>2];g=_[(_[d+16>>2]|0)+(p*12|0)+4>>2]|0;y=_[re+28>>2]|0;ie=_[y+(g*80|0)+64>>2]|0;C=_[i+12>>2]|0;z=+a[C>>2];N=+a[C+4>>2];U=+a[C+8>>2];K=+a[C+16>>2];Z=+a[C+20>>2];X=+a[C+24>>2];ce=+a[C+32>>2];le=+a[C+36>>2];be=+a[C+40>>2];J=+a[y+(g*80|0)>>2];Y=+a[y+(g*80|0)+16>>2];$=+a[y+(g*80|0)+32>>2];ee=+a[y+(g*80|0)+4>>2];te=+a[y+(g*80|0)+20>>2];se=+a[y+(g*80|0)+36>>2];ae=+a[y+(g*80|0)+8>>2];fe=+a[y+(g*80|0)+24>>2];me=+a[y+(g*80|0)+40>>2];q=+a[y+(g*80|0)+48>>2];Q=+a[y+(g*80|0)+52>>2];he=+a[y+(g*80|0)+56>>2];de=+a[C+48>>2]+(z*q+N*Q+U*he);pe=+a[C+52>>2]+(K*q+Z*Q+X*he);he=+a[C+56>>2]+(ce*q+le*Q+be*he);a[oe>>2]=z*J+N*Y+U*$;a[oe+4>>2]=z*ee+N*te+U*se;a[oe+8>>2]=z*ae+N*fe+U*me;a[oe+12>>2]=0.0;a[oe+16>>2]=K*J+Z*Y+X*$;a[oe+20>>2]=K*ee+Z*te+X*se;a[oe+24>>2]=K*ae+Z*fe+X*me;a[oe+28>>2]=0.0;a[oe+32>>2]=ce*J+le*Y+be*$;a[oe+36>>2]=ce*ee+le*te+be*se;a[oe+40>>2]=ce*ae+le*fe+be*me;a[oe+44>>2]=0.0;a[oe+48>>2]=de;a[oe+52>>2]=pe;a[oe+56>>2]=he;a[oe+60>>2]=0.0;$a[_[(_[ie>>2]|0)+8>>2]&127](ie,oe,oe+80|0,oe+64|0);he=+a[oe+80>>2]-ue;a[oe+80>>2]=he;pe=+a[oe+80+4>>2]-ue;a[oe+80+4>>2]=pe;de=+a[oe+80+8>>2]-ue;a[oe+80+8>>2]=de;me=ue+ +a[oe+64>>2];a[oe+64>>2]=me;be=ue+ +a[oe+64+4>>2];a[oe+64+4>>2]=be;ue=ue+ +a[oe+64+8>>2];a[oe+64+8>>2]=ue;if(!(+a[oe+3328+4>>2]>be)?!(+a[oe+96+4>>2]<pe|((+a[oe+3328+8>>2]>ue?1:+a[oe+96+8>>2]<de)|(+a[oe+3328>>2]>me?1:+a[oe+96>>2]<he))):0)break;ua[_[_[c>>2]>>2]&511](c);b=_[e+4>>2]|0;ma[_[(_[b>>2]|0)+60>>2]&127](b,c);b=_[d+16>>2]|0;f=_[b+(p*12|0)>>2]|0;b=_[b+(p*12|0)+4>>2]|0;c=_[e+92>>2]|0;if((c|0)==(_[e+96>>2]|0)?(_e=c|0?c<<1:1,(c|0)<(_e|0)):0){if(!_e)s=0;else{_[6293]=(_[6293]|0)+1;s=cc((_e*12|3)+16|0)|0;if(!s)s=0;else{_[(s+4+15&-16)+-4>>2]=s;s=s+4+15&-16}c=_[e+92>>2]|0}if((c|0)>0){l=0;do{ie=s+(l*12|0)|0;C=(_[e+100>>2]|0)+(l*12|0)|0;_[ie>>2]=_[C>>2];_[ie+4>>2]=_[C+4>>2];_[ie+8>>2]=_[C+8>>2];l=l+1|0}while((l|0)!=(c|0))}c=_[e+100>>2]|0;if(c|0){if(n[e+104>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[e+100>>2]=0}n[e+104>>0]=1;_[e+100>>2]=s;_[e+96>>2]=_e;s=_[e+92>>2]|0}else s=c;ie=_[e+100>>2]|0;_[ie+(s*12|0)>>2]=f;_[ie+(s*12|0)+4>>2]=b;_[ie+(s*12|0)+8>>2]=0;_[e+92>>2]=(_[e+92>>2]|0)+1}}while(0);p=p+1|0}while((p|0)<(_[d+8>>2]|0));c=e+100|0;l=e+92|0}else{c=e+100|0;l=e+92|0}if((_[l>>2]|0)>0){s=0;do{o=_[e+84>>2]|0;_e=_[c>>2]|0;xa[_[(_[o>>2]|0)+8>>2]&63](o,_[_e+(s*12|0)>>2]|0,_[_e+(s*12|0)+4>>2]|0)|0;s=s+1|0}while((s|0)<(_[l>>2]|0))}s=_[c>>2]|0;if(s|0){if(n[e+104>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[c>>2]=0}n[e+104>>0]=1;_[c>>2]=0;_[l>>2]=0;_[e+96>>2]=0;u=oe;return}function pc(e,t){e=e|0;t=t|0;var i=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0,b=0,p=0,u=0.0,d=0.0,m=0,h=0,y=0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0,z=0,N=0.0,U=0.0,K=0.0,Z=0.0,X=0.0,J=0.0,Y=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,re=0.0,_e=0.0,oe=0.0,se=0.0,ce=0.0,ae=0.0,le=0.0,fe=0.0,be=0.0,pe=0.0,ue=0.0,de=0.0,me=0,he=0;me=_[e+28>>2]|0;he=_[e+32>>2]|0;p=_[t+24>>2]|0;if(!(n[e+739>>0]|0)){j=+a[e+552>>2];N=+a[me+4>>2];R=+a[e+568>>2];U=+a[me+8>>2];x=+a[e+584>>2];K=+a[me+12>>2];I=+a[e+556>>2];M=+a[e+572>>2];D=+a[e+588>>2];Z=+a[e+560>>2];X=+a[e+576>>2];J=+a[e+592>>2];Y=+a[me+20>>2];$=+a[me+24>>2];ee=+a[me+28>>2];te=+a[me+36>>2];ie=+a[me+40>>2];ne=+a[me+44>>2];l=+a[e+600>>2];u=+a[e+604>>2];d=+a[e+608>>2];g=+a[me+52>>2];C=+a[me+56>>2];v=+a[me+60>>2];T=+a[he+4>>2];O=+a[he+8>>2];H=+a[he+12>>2];G=+a[e+624>>2];F=+a[e+640>>2];A=+a[e+656>>2];P=+a[he+20>>2];B=+a[he+24>>2];L=+a[he+28>>2];V=+a[he+36>>2];E=+a[he+40>>2];q=+a[he+44>>2];ue=+a[e+664>>2];de=+a[e+668>>2];S=+a[e+672>>2];w=+a[he+52>>2]+(T*ue+O*de+H*S);k=P*ue+B*de+L*S+ +a[he+56>>2];S=V*ue+E*de+q*S+ +a[he+60>>2];f=(n[e+736>>0]|0)==0;if(f){i=_[t+8>>2]|0;a[i>>2]=1.0;a[i+(p+1<<2)>>2]=1.0;a[i+((p<<1)+2<<2)>>2]=1.0;i=_[t+16>>2]|0;a[i>>2]=-1.0;a[i+(p+1<<2)>>2]=-1.0;a[i+((p<<1)+2<<2)>>2]=-1.0;i=p<<1;r=+a[me+52>>2];o=+a[me+56>>2];s=+a[me+60>>2]}else{i=p<<1;r=g;o=C;s=v}c=g+(N*l+U*u+K*d)-r;r=Y*l+$*u+ee*d+C-o;de=te*l+ie*u+ne*d+v-s;b=_[t+12>>2]|0;h=b+(i<<2)|0;_[b>>2]=0;a[b+4>>2]=de;a[b+8>>2]=-r;a[b+12>>2]=0.0;a[b+(p<<2)>>2]=-de;_[b+(p<<2)+4>>2]=0;a[b+(p<<2)+8>>2]=c;a[b+(p<<2)+12>>2]=0.0;a[h>>2]=r;a[h+4>>2]=-c;_[h+8>>2]=0;a[h+12>>2]=0.0;c=w-+a[he+52>>2];r=k-+a[he+56>>2];de=S-+a[he+60>>2];h=_[t+20>>2]|0;Q=h+(i<<2)|0;_[h>>2]=0;a[h+4>>2]=-de;a[h+8>>2]=r;a[h+12>>2]=0.0;a[h+(p<<2)>>2]=de;_[h+(p<<2)+4>>2]=0;a[h+(p<<2)+8>>2]=-c;a[h+(p<<2)+12>>2]=0.0;a[Q>>2]=-r;a[Q+4>>2]=c;_[Q+8>>2]=0;a[Q+12>>2]=0.0;Q=_[e+748>>2]|0;c=+a[(Q&8|0?e+756|0:t+4|0)>>2];r=c*+a[t>>2];i=_[t+28>>2]|0;if(f){a[i>>2]=r*(w-(g+(N*l+U*u+K*d)));a[i+(p<<2)>>2]=r*(k-(Y*l+$*u+ee*d+C));a[i+(p<<1<<2)>>2]=r*(S-(te*l+ie*u+ne*d+v))}y=_[t+24>>2]|0;a[b+(y*3<<2)>>2]=j*N+R*U+x*K;a[b+((y*3|0)+1<<2)>>2]=j*Y+R*$+x*ee;a[b+((y*3|0)+2<<2)>>2]=j*te+R*ie+x*ne;a[b+(y<<2<<2)>>2]=N*I+U*M+K*D;a[b+((y<<2|1)<<2)>>2]=I*Y+M*$+D*ee;a[b+((y<<2|2)<<2)>>2]=I*te+M*ie+D*ne;a[h+(y*3<<2)>>2]=-(j*N+R*U+x*K);a[h+((y*3|0)+1<<2)>>2]=-(j*Y+R*$+x*ee);a[h+((y*3|0)+2<<2)>>2]=-(j*te+R*ie+x*ne);a[h+(y<<2<<2)>>2]=-(N*I+U*M+K*D);a[h+((y<<2|1)<<2)>>2]=-(I*Y+M*$+D*ee);a[h+((y<<2|2)<<2)>>2]=-(I*te+M*ie+D*ne);ue=(Z*Y+X*$+J*ee)*(G*V+F*E+A*q)-(Z*te+X*ie+J*ne)*(G*P+F*B+A*L);de=(Z*te+X*ie+J*ne)*(T*G+O*F+H*A)-(N*Z+U*X+K*J)*(G*V+F*E+A*q);pe=(N*Z+U*X+K*J)*(G*P+F*B+A*L)-(Z*Y+X*$+J*ee)*(T*G+O*F+H*A);a[i+(y*3<<2)>>2]=((j*te+R*ie+x*ne)*pe+((j*N+R*U+x*K)*ue+(j*Y+R*$+x*ee)*de))*r;a[i+(y<<2<<2)>>2]=((I*te+M*ie+D*ne)*pe+((N*I+U*M+K*D)*ue+(I*Y+M*$+D*ee)*de))*r;if(!(n[e+716>>0]|0))if(!(n[e+737>>0]|0))return;else{d=0.0;m=0;p=0;f=1}else{de=+a[e+708>>2]*+a[e+732>>2];d=de;m=de>0.0?1:2;p=1;f=(n[e+737>>0]|0)!=0}a[b+(y*5<<2)>>2]=N*Z+U*X+K*J;a[b+((y*5|0)+1<<2)>>2]=Z*Y+X*$+J*ee;a[b+((y*5|0)+2<<2)>>2]=Z*te+X*ie+J*ne;a[h+(y*5<<2)>>2]=-(N*Z+U*X+K*J);a[h+((y*5|0)+1<<2)>>2]=-(Z*Y+X*$+J*ee);a[h+((y*5|0)+2<<2)>>2]=-(Z*te+X*ie+J*ne);o=+a[e+688>>2];s=+a[e+692>>2];r=+Bg(o-s,6.2831854820251465);if(!(r<-3.1415927410125732))if(r>3.1415927410125732)u=r+-6.2831854820251465;else u=r;else u=r+6.2831854820251465;r=+Bg(o+s,6.2831854820251465);if(!(r<-3.1415927410125732))if(r>3.1415927410125732)l=r+-6.2831854820251465;else l=r;else l=r+6.2831854820251465;b=u==l;i=i+(y*5<<2)|0;a[i>>2]=0.0;if(Q&2)c=+a[e+764>>2];if(f&(p&b^1)){if(Q&4|0)_[(_[t+32>>2]|0)+(y*5<<2)>>2]=_[e+752>>2];o=+a[e+728>>2];s=+a[e+680>>2];r=u>l?1.0:0.0;do{if(!(u>=l)){r=s/(c*+a[t>>2]);if(r<0.0)if(o>=u&u-r>o){r=(u-o)/r;break}else{r=o<u?0.0:1.0;break}if(r>0.0)if(o<=l&l-r<o){r=(l-o)/r;break}else{r=o>l?0.0:1.0;break}else r=0.0}}while(0);a[i>>2]=r*s*+a[e+732>>2]+ +a[i>>2];a[(_[t+36>>2]|0)+(y*5<<2)>>2]=-+a[e+684>>2];_[(_[t+40>>2]|0)+(y*5<<2)>>2]=_[e+684>>2]}if(!p)return;a[i>>2]=+a[i>>2]+d*c*+a[t>>2];if(Q&1|0)_[(_[t+32>>2]|0)+(y*5<<2)>>2]=_[e+760>>2];i=_[t+40>>2]|0;if(b){r=3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14}else{z=(m|0)==1;r=z?3402823466385288598117041.0e14:0.0;o=z?0.0:-3402823466385288598117041.0e14}a[(_[t+36>>2]|0)+(y*5<<2)>>2]=o;a[i+(y*5<<2)>>2]=r;o=+a[e+704>>2];do{if(o>0.0){r=(N*Z+U*X+K*J)*+a[me+388>>2]+(Z*Y+X*$+J*ee)*+a[me+392>>2]+(Z*te+X*ie+J*ne)*+a[me+396>>2]-((N*Z+U*X+K*J)*+a[he+388>>2]+(Z*Y+X*$+J*ee)*+a[he+392>>2]+(Z*te+X*ie+J*ne)*+a[he+396>>2]);if((m|0)==1){if(!(r<0.0))break;i=(_[t+28>>2]|0)+(y*5<<2)|0;if(!(+a[i>>2]<-(o*r)))break;a[i>>2]=-(o*r);break}else{if(!(r>0.0))break;i=(_[t+28>>2]|0)+(y*5<<2)|0;if(!(+a[i>>2]>-(o*r)))break;a[i>>2]=-(o*r);break}}}while(0);t=(_[t+28>>2]|0)+(y*5<<2)|0;a[t>>2]=+a[e+700>>2]*+a[t>>2];return}Z=+a[me+4>>2];X=+a[me+8>>2];J=+a[me+12>>2];v=+a[e+556>>2];k=+a[e+572>>2];S=+a[e+588>>2];Y=+a[e+560>>2];$=+a[e+576>>2];ee=+a[e+592>>2];te=+a[me+20>>2];ie=+a[me+24>>2];ne=+a[me+28>>2];re=+a[me+36>>2];_e=+a[me+40>>2];oe=+a[me+44>>2];ce=+a[e+600>>2];se=+a[e+604>>2];u=+a[e+608>>2];o=+a[me+52>>2]+(Z*ce+X*se+J*u);C=te*ce+ie*se+ne*u+ +a[me+56>>2];u=re*ce+_e*se+oe*u+ +a[me+60>>2];se=+a[he+4>>2];ce=+a[he+8>>2];ae=+a[he+12>>2];le=+a[e+624>>2];fe=+a[e+640>>2];L=+a[e+656>>2];V=+a[he+20>>2];E=+a[he+24>>2];q=+a[he+28>>2];N=+a[he+36>>2];U=+a[he+40>>2];K=+a[he+44>>2];d=+a[e+664>>2];w=+a[e+668>>2];s=+a[e+672>>2];r=+a[he+52>>2];g=+a[he+56>>2];l=+a[he+60>>2];G=r+(se*d+ce*w+ae*s)-o;F=V*d+E*w+q*s+g-C;A=N*d+U*w+K*s+l-u;j=+a[(_[e+28>>2]|0)+404>>2];R=+a[(_[e+32>>2]|0)+404>>2];H=j+R>0.0?R/(j+R):.5;be=(Z*Y+X*$+J*ee)*H+(se*le+ce*fe+ae*L)*(1.0-H);pe=(Y*te+$*ie+ee*ne)*H+(le*V+fe*E+L*q)*(1.0-H);ue=(Y*re+$*_e+ee*oe)*H+(le*N+fe*U+L*K)*(1.0-H);de=1.0/+W(+(be*be+pe*pe+ue*ue));D=(r+(se*d+ce*w+ae*s)-r)*be*de+(V*d+E*w+q*s+g-g)*pe*de+(N*d+U*w+K*s+l-l)*ue*de;r=r+(se*d+ce*w+ae*s)-r-be*de*D;g=V*d+E*w+q*s+g-g-pe*de*D;l=N*d+U*w+K*s+l-l-ue*de*D;o=o-+a[me+52>>2];C=C-+a[me+56>>2];u=u-+a[me+60>>2];s=be*de*(o*be*de+C*pe*de+u*ue*de);w=pe*de*(o*be*de+C*pe*de+u*ue*de);d=ue*de*(o*be*de+C*pe*de+u*ue*de);I=o-s+H*(s-be*de*D);M=C-w+H*(w-pe*de*D);x=u-d+H*(d-ue*de*D);T=r-(1.0-H)*(s-be*de*D);O=g-(1.0-H)*(w-pe*de*D);D=l-(1.0-H)*(d-ue*de*D);c=(H*r+(1.0-H)*(o-s))*(H*r+(1.0-H)*(o-s))+(H*g+(1.0-H)*(C-w))*(H*g+(1.0-H)*(C-w))+(H*l+(1.0-H)*(u-d))*(H*l+(1.0-H)*(u-d));if(c>1.1920928955078125e-07){S=1.0/+W(+c);B=(H*r+(1.0-H)*(o-s))*S;P=S*(H*l+(1.0-H)*(u-d));d=S*(H*g+(1.0-H)*(C-w))}else{B=Z*v+X*k+J*S;P=v*re+k*_e+S*oe;d=v*te+k*ie+S*ne}g=pe*de*P-ue*de*d;C=ue*de*B-P*be*de;v=d*be*de-pe*de*B;z=_[t+12>>2]|0;a[z>>2]=M*P-x*d;a[z+4>>2]=x*B-I*P;a[z+8>>2]=I*d-M*B;z=_[t+20>>2]|0;a[z>>2]=-(O*P-D*d);a[z+4>>2]=-(D*B-T*P);a[z+8>>2]=-(T*d-O*B);if(j<1.1920928955078125e-07|R<1.1920928955078125e-07?(n[e+716>>0]|0)!=0:0){r=H*(M*v-x*C);o=H*(x*g-I*v);s=H*(I*C-M*g);c=(1.0-H)*(O*v-D*C);l=(1.0-H)*(D*g-T*v);u=(1.0-H)*(T*C-O*g)}else{r=M*v-x*C;o=x*g-I*v;s=I*C-M*g;c=O*v-D*C;l=D*g-T*v;u=T*C-O*g}z=(_[t+12>>2]|0)+(p<<2)|0;a[z>>2]=r;a[z+4>>2]=o;a[z+8>>2]=s;z=_[t+20>>2]|0;a[z+(p<<2)>>2]=-c;a[z+(p+1<<2)>>2]=-l;a[z+(p+2<<2)>>2]=-u;if(j<1.1920928955078125e-07|R<1.1920928955078125e-07){u=H*(M*ue*de-x*pe*de);l=H*(x*be*de-I*ue*de);o=H*(I*pe*de-M*be*de);c=(1.0-H)*(O*ue*de-D*pe*de);s=(1.0-H)*(D*be*de-T*ue*de);r=(1.0-H)*(T*pe*de-O*be*de)}else{u=M*ue*de-x*pe*de;l=x*be*de-I*ue*de;o=I*pe*de-M*be*de;c=O*ue*de-D*pe*de;s=D*be*de-T*ue*de;r=T*pe*de-O*be*de}i=(_[t+12>>2]|0)+(p<<1<<2)|0;a[i>>2]=u;a[i+4>>2]=l;a[i+8>>2]=o;i=_[t+20>>2]|0;a[i+(p<<1<<2)>>2]=-c;a[i+((p<<1|1)<<2)>>2]=-s;a[i+((p<<1)+2<<2)>>2]=-r;l=+a[(_[e+748>>2]&8|0?e+756|0:t+4|0)>>2];r=l*+a[t>>2];if(!(n[e+736>>0]|0)){Q=_[t+8>>2]|0;a[Q>>2]=B;a[Q+4>>2]=d;a[Q+8>>2]=P;Q=(_[t+8>>2]|0)+(p<<2)|0;a[Q>>2]=g;a[Q+4>>2]=C;a[Q+8>>2]=v;Q=(_[t+8>>2]|0)+(p<<1<<2)|0;a[Q>>2]=be*de;a[Q+4>>2]=pe*de;a[Q+8>>2]=ue*de;Q=_[t+16>>2]|0;o=-B;a[Q>>2]=o;a[Q+4>>2]=-d;a[Q+8>>2]=-P;a[Q+(p<<2)>>2]=-g;a[Q+(p+1<<2)>>2]=-C;a[Q+(p+2<<2)>>2]=-v;a[Q+(p<<1<<2)>>2]=-(be*de);a[Q+((p<<1|1)<<2)>>2]=-(pe*de);a[Q+((p<<1)+2<<2)>>2]=-(ue*de);Q=_[t+28>>2]|0;a[Q>>2]=r*(G*B+F*d+A*P);a[Q+(p<<2)>>2]=r*(G*g+F*C+A*v);a[Q+(p<<1<<2)>>2]=r*(G*be*de+F*pe*de+A*ue*de);r=o;o=-g;s=-C;c=-v;z=t+28|0;i=_[t+20>>2]|0}else{r=-B;o=-g;s=-C;c=-v;z=t+28|0;Q=_[t+28>>2]|0}f=_[t+12>>2]|0;a[f+(p*3<<2)>>2]=B;a[f+((p*3|0)+1<<2)>>2]=d;a[f+((p*3|0)+2<<2)>>2]=P;a[f+(p<<2<<2)>>2]=g;a[f+((p<<2|1)<<2)>>2]=C;a[f+((p<<2|2)<<2)>>2]=v;a[i+(p*3<<2)>>2]=r;a[i+((p*3|0)+1<<2)>>2]=-d;a[i+((p*3|0)+2<<2)>>2]=-P;a[i+(p<<2<<2)>>2]=o;a[i+((p<<2|1)<<2)>>2]=s;a[i+((p<<2|2)<<2)>>2]=c;F=l*+a[t>>2];A=(Y*te+$*ie+ee*ne)*(le*N+fe*U+L*K)-(Y*re+$*_e+ee*oe)*(le*V+fe*E+L*q);oe=(Y*re+$*_e+ee*oe)*(se*le+ce*fe+ae*L)-(Z*Y+X*$+J*ee)*(le*N+fe*U+L*K);fe=(Z*Y+X*$+J*ee)*(le*V+fe*E+L*q)-(Y*te+$*ie+ee*ne)*(se*le+ce*fe+ae*L);a[Q+(p*3<<2)>>2]=F*(A*B+oe*d+fe*P);a[Q+(p<<2<<2)>>2]=F*(A*g+oe*C+fe*v);if(!(n[e+716>>0]|0))if(!(n[e+737>>0]|0))return;else{d=0.0;h=0;m=0;p=1}else{fe=+a[e+708>>2]*+a[e+732>>2];d=fe;h=fe>0.0?1:2;m=1;p=(n[e+737>>0]|0)!=0}y=(_[t+24>>2]|0)*5|0;a[f+(y<<2)>>2]=be*de;a[f+(y+1<<2)>>2]=pe*de;a[f+(y+2<<2)>>2]=ue*de;a[i+(y<<2)>>2]=-(be*de);a[i+(y+1<<2)>>2]=-(pe*de);a[i+(y+2<<2)>>2]=-(ue*de);o=+a[e+688>>2];s=+a[e+692>>2];r=+Bg(o-s,6.2831854820251465);if(!(r<-3.1415927410125732))if(r>3.1415927410125732)u=r+-6.2831854820251465;else u=r;else u=r+6.2831854820251465;r=+Bg(o+s,6.2831854820251465);if(!(r<-3.1415927410125732)){if(r>3.1415927410125732)r=r+-6.2831854820251465}else r=r+6.2831854820251465;b=u==r;i=Q+(y<<2)|0;a[i>>2]=0.0;f=_[e+748>>2]|0;if(f&2)l=+a[e+764>>2];if(p&(m&b^1)){if(f&4|0)_[(_[t+32>>2]|0)+(y<<2)>>2]=_[e+752>>2];s=+a[e+728>>2];c=+a[e+680>>2];o=u>r?1.0:0.0;do{if(!(u>=r)){o=c/(l*+a[t>>2]);if(o<0.0)if(s>=u&u-o>s){r=(u-s)/o;break}else{r=s<u?0.0:1.0;break}if(o>0.0)if(s<=r&r-o<s){r=(r-s)/o;break}else{r=s>r?0.0:1.0;break}else r=0.0}else r=o}while(0);a[i>>2]=r*c*+a[e+732>>2]+ +a[i>>2];a[(_[t+36>>2]|0)+(y<<2)>>2]=-+a[e+684>>2];_[(_[t+40>>2]|0)+(y<<2)>>2]=_[e+684>>2]}if(!m)return;a[i>>2]=+a[i>>2]+d*l*+a[t>>2];if(f&1|0)_[(_[t+32>>2]|0)+(y<<2)>>2]=_[e+760>>2];if(b){r=3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14}else{Q=(h|0)==1;r=Q?3402823466385288598117041.0e14:0.0;o=Q?0.0:-3402823466385288598117041.0e14}a[(_[t+36>>2]|0)+(y<<2)>>2]=o;a[(_[t+40>>2]|0)+(y<<2)>>2]=r;o=+a[e+704>>2];do{if(o>0.0){r=+a[me+388>>2]*be*de+ +a[me+392>>2]*pe*de+ +a[me+396>>2]*ue*de-(be*de*+a[he+388>>2]+pe*de*+a[he+392>>2]+ue*de*+a[he+396>>2]);if((h|0)==1){if(!(r<0.0))break;i=(_[z>>2]|0)+(y<<2)|0;if(!(+a[i>>2]<-(o*r)))break;a[i>>2]=-(o*r);break}else{if(!(r>0.0))break;i=(_[z>>2]|0)+(y<<2)|0;if(!(+a[i>>2]>-(o*r)))break;a[i>>2]=-(o*r);break}}}while(0);t=(_[z>>2]|0)+(y<<2)|0;a[t>>2]=+a[e+700>>2]*+a[t>>2];return}function qc(e,t){e=e|0;t=t|0;var i=0,r=0.0,o=0.0,s=0.0,c=0.0,l=0,f=0.0,p=0.0,d=0.0,m=0,h=0.0,y=0.0,g=0.0,C=0.0,v=0,w=0.0,k=0,S=0,j=0,R=0,x=0,I=0,M=0,D=0,T=0,O=0.0,H=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0,Q=0,z=0,N=0,K=0,Z=0.0,X=0.0,J=0.0,Y=0.0,$=0.0,ee=0.0,te=0,ie=0.0,ne=0,re=0,_e=0,oe=0,se=0,ce=0;ce=u;u=u+32|0;ne=_[e+28>>2]|0;re=_[e+32>>2]|0;$=+a[ne+404>>2];Y=+a[re+404>>2];K=_[t+24>>2]|0;ie=n[e+180>>0]|0?1.0:-1.0;Z=+a[e+936>>2]-+a[e+872>>2];X=+a[e+940>>2]-+a[e+876>>2];J=+a[e+944>>2]-+a[e+880>>2];ee=$+Y>0.0?Y/($+Y):.5;R=_[e+824>>2]|0;x=_[e+840>>2]|0;I=_[e+856>>2]|0;M=_[e+888>>2]|0;D=_[e+904>>2]|0;T=_[e+920>>2]|0;q=(n[e+49>>0]|0)==0;do{if(!q){r=ee*(_[b>>2]=R,+a[b>>2]);c=ee*(_[b>>2]=x,+a[b>>2]);s=ee*(_[b>>2]=I,+a[b>>2]);o=(1.0-ee)*(_[b>>2]=M,+a[b>>2]);f=(1.0-ee)*(_[b>>2]=D,+a[b>>2]);s=s+(1.0-ee)*(_[b>>2]=T,+a[b>>2]);p=1.0/+W(+((r+o)*(r+o)+(c+f)*(c+f)+s*s));i=(a[b>>2]=(r+o)*p,_[b>>2]|0);l=(a[b>>2]=(c+f)*p,_[b>>2]|0);v=(a[b>>2]=s*p,_[b>>2]|0);if(+G(+(s*p))>.7071067690849304){E=1.0/+W(+(s*p*s*p+(c+f)*p*(c+f)*p));_[ce+24>>2]=0;a[ce+20>>2]=-(s*p*E);a[ce+16>>2]=(c+f)*p*E;a[ce>>2]=(s*p*s*p+(c+f)*p*(c+f)*p)*E;a[ce+4>>2]=-((r+o)*p*(c+f)*p*E);z=ce;N=ce+4|0;r=(r+o)*p*-(s*p*E);m=2;_e=i;oe=l;se=v;i=0;o=0.0;break}else{V=(r+o)*p*(r+o)*p+(c+f)*p*(c+f)*p;E=1.0/+W(+V);Q=(a[b>>2]=-((c+f)*p*E),_[b>>2]|0);a[ce+24>>2]=-((c+f)*p*E);a[ce+20>>2]=(r+o)*p*E;_[ce+16>>2]=0;a[ce>>2]=-(s*p*(r+o)*p*E);a[ce+4>>2]=s*p*-((c+f)*p*E);z=ce;N=ce+4|0;r=V*E;m=2;_e=i;oe=l;se=v;i=Q;o=-((c+f)*p*E);break}}else{Q=_[e+828>>2]|0;z=_[e+844>>2]|0;N=_[e+860>>2]|0;_[ce+24>>2]=Q;_[ce+20>>2]=z;_[ce+16>>2]=N;N=_[e+848>>2]|0;z=_[e+864>>2]|0;_[ce>>2]=_[e+832>>2];_[ce+4>>2]=N;_[ce+8>>2]=z;z=ce;N=ce+4|0;r=0.0;m=3;_e=R;oe=x;se=I;i=Q;o=(_[b>>2]=Q,+a[b>>2])}}while(0);a[ce+(m<<2)>>2]=r;Q=_[t+12>>2]|0;_[Q>>2]=i;l=_[ce+20>>2]|0;_[Q+4>>2]=l;m=_[ce+16>>2]|0;_[Q+8>>2]=m;v=_[ce>>2]|0;_[Q+(K<<2)>>2]=v;k=_[N>>2]|0;_[Q+(K+1<<2)>>2]=k;S=_[ce+8>>2]|0;_[Q+(K+2<<2)>>2]=S;j=_[t+20>>2]|0;a[j>>2]=-o;y=(_[b>>2]=l,+a[b>>2]);a[j+4>>2]=-y;w=(_[b>>2]=m,+a[b>>2]);a[j+8>>2]=-w;g=(_[b>>2]=v,+a[b>>2]);a[j+(K<<2)>>2]=-g;d=(_[b>>2]=k,+a[b>>2]);a[j+(K+1<<2)>>2]=-d;C=(_[b>>2]=S,+a[b>>2]);a[j+(K+2<<2)>>2]=-C;i=_[e+300>>2]|0;r=+a[e+280>>2];if(!(i&128))r=r*+a[t+4>>2];F=r*+a[t>>2];V=(_[b>>2]=x,+a[b>>2]);P=(_[b>>2]=T,+a[b>>2]);A=(_[b>>2]=I,+a[b>>2]);L=(_[b>>2]=D,+a[b>>2]);E=(_[b>>2]=M,+a[b>>2]);B=(_[b>>2]=R,+a[b>>2]);T=_[t+28>>2]|0;a[T>>2]=F*((V*P-A*L)*o+(A*E-B*P)*y+(B*L-V*E)*w);a[T+(K<<2)>>2]=F*((V*P-A*L)*g+(A*E-B*P)*d+(B*L-V*E)*C);if(i&64|0){T=_[t+32>>2]|0;_[T>>2]=_[e+292>>2];_[T+(K<<2)>>2]=_[e+292>>2]}E=+a[ne+52>>2];A=+a[ne+56>>2];L=+a[ne+60>>2];H=+a[re+52>>2];r=+a[re+56>>2];s=+a[re+60>>2];if(q){B=(s-L)*o-(H-E)*w;h=(H-E)*y-(r-A)*o;a[Q+(K<<1<<2)>>2]=ee*((r-A)*w-(s-L)*y);a[Q+((K<<1|1)<<2)>>2]=ee*B;a[Q+((K<<1)+2<<2)>>2]=ee*h;a[j+(K<<1<<2)>>2]=(1.0-ee)*((r-A)*w-(s-L)*y);a[j+((K<<1|1)<<2)>>2]=(1.0-ee)*B;a[j+((K<<1)+2<<2)>>2]=(1.0-ee)*h;a[Q+(K*3<<2)>>2]=ee*((r-A)*C-(s-L)*d);a[Q+((K*3|0)+1<<2)>>2]=ee*((s-L)*g-(H-E)*C);a[Q+((K*3|0)+2<<2)>>2]=ee*((H-E)*d-(r-A)*g);a[j+(K*3<<2)>>2]=(1.0-ee)*((r-A)*C-(s-L)*d);a[j+((K*3|0)+1<<2)>>2]=(1.0-ee)*((s-L)*g-(H-E)*C);a[j+((K*3|0)+2<<2)>>2]=(1.0-ee)*((H-E)*d-(r-A)*g);i=_[t+8>>2]|0;N=_[ce+24>>2]|0;_[i+(K<<1<<2)>>2]=N;_[i+((K<<1|1)<<2)>>2]=l;_[i+((K<<1)+2<<2)>>2]=m;_[i+(K*3<<2)>>2]=v;_[i+((K*3|0)+1<<2)>>2]=k;_[i+((K*3|0)+2<<2)>>2]=S;m=_[t+16>>2]|0;h=(_[b>>2]=N,+a[b>>2]);a[m+(K<<1<<2)>>2]=-h;a[m+((K<<1|1)<<2)>>2]=-y;a[m+((K<<1)+2<<2)>>2]=-w;a[m+(K*3<<2)>>2]=-g;a[m+((K*3|0)+1<<2)>>2]=-d;B=-C;l=m+((K*3|0)+2<<2)|0;V=0.0;P=0.0;F=0.0;O=0.0;p=0.0;f=0.0;c=r-A;s=s-L;o=H-E}else{C=+a[e+936>>2]-H;w=+a[e+940>>2]-r;P=+a[e+944>>2]-s;f=(_[b>>2]=_e,+a[b>>2]);c=(_[b>>2]=oe,+a[b>>2]);p=(_[b>>2]=se,+a[b>>2]);B=+a[e+872>>2]-E;V=+a[e+876>>2]-A;s=+a[e+880>>2]-L;L=+a[e+1080>>2]-+a[e+1032>>2];E=f*(f*B+c*V+p*s)+f*L-f*(f*C+c*w+p*P);O=c*(f*B+c*V+p*s)+c*L-c*(f*C+c*w+p*P);L=p*(f*B+c*V+p*s)+p*L-p*(f*C+c*w+p*P);F=B-f*(f*B+c*V+p*s)+ee*E;H=V-c*(f*B+c*V+p*s)+ee*O;A=s-p*(f*B+c*V+p*s)+ee*L;E=C-f*(f*C+c*w+p*P)-(1.0-ee)*E;O=w-c*(f*C+c*w+p*P)-(1.0-ee)*O;L=P-p*(f*C+c*w+p*P)-(1.0-ee)*L;o=ee*(C-f*(f*C+c*w+p*P))+(1.0-ee)*(B-f*(f*B+c*V+p*s));r=ee*(w-c*(f*C+c*w+p*P))+(1.0-ee)*(V-c*(f*B+c*V+p*s));s=ee*(P-p*(f*C+c*w+p*P))+(1.0-ee)*(s-p*(f*B+c*V+p*s));a[ce+24>>2]=o;a[ce+20>>2]=r;a[ce+16>>2]=s;if(s*s+(o*o+r*r)>1.1920928955078125e-07){V=1.0/+W(+(s*s+(o*o+r*r)));a[ce+24>>2]=o*V;a[ce+20>>2]=V*r;a[ce+16>>2]=V*s;l=(a[b>>2]=o*V,_[b>>2]|0);m=(a[b>>2]=V*r,_[b>>2]|0);w=V*s;y=V*r;h=o*V;i=(a[b>>2]=V*s,_[b>>2]|0)}else{l=_[e+828>>2]|0;m=_[e+844>>2]|0;i=_[e+860>>2]|0;_[ce+24>>2]=l;_[ce+20>>2]=m;_[ce+16>>2]=i;w=(_[b>>2]=i,+a[b>>2]);y=(_[b>>2]=m,+a[b>>2]);h=(_[b>>2]=l,+a[b>>2])}g=c*w-p*y;C=f*y-c*h;a[z>>2]=g;a[N>>2]=p*h-f*w;a[ce+8>>2]=C;a[ce+12>>2]=0.0;a[Q+(K<<1<<2)>>2]=H*w-A*y;a[Q+(K<<1<<2)+4>>2]=A*h-F*w;a[Q+(K<<1<<2)+8>>2]=F*y-H*h;z=_[t+20>>2]|0;a[z+(K<<1<<2)>>2]=-(O*w-L*y);a[z+((K<<1|1)<<2)>>2]=-(L*h-E*w);a[z+((K<<1)+2<<2)>>2]=-(E*y-O*h);d=+a[N>>2];if($<1.1920928955078125e-07|Y<1.1920928955078125e-07?(n[e+297>>0]|0)!=0:0){r=ee*(H*C-A*d);o=ee*(F*d-H*g);s=ee*(A*g-F*C);c=(1.0-ee)*(O*C-L*d);f=(1.0-ee)*(L*g-E*C);p=(1.0-ee)*(E*d-O*g)}else{r=H*C-A*d;o=F*d-H*g;s=A*g-F*C;c=O*C-L*d;f=L*g-E*C;p=E*d-O*g}N=(_[t+12>>2]|0)+(K*3<<2)|0;a[N>>2]=r;a[N+4>>2]=s;a[N+8>>2]=o;N=_[t+20>>2]|0;a[N+(K*3<<2)>>2]=-c;a[N+((K*3|0)+1<<2)>>2]=-f;a[N+((K*3|0)+2<<2)>>2]=-p;N=_[t+8>>2]|0;_[N+(K<<1<<2)>>2]=l;_[N+((K<<1|1)<<2)>>2]=m;_[N+((K<<1)+2<<2)>>2]=i;a[N+(K*3<<2)>>2]=g;a[N+((K*3|0)+1<<2)>>2]=d;a[N+((K*3|0)+2<<2)>>2]=C;m=_[t+16>>2]|0;a[m+(K<<1<<2)>>2]=-h;a[m+((K<<1|1)<<2)>>2]=-y;a[m+((K<<1)+2<<2)>>2]=-w;a[m+(K*3<<2)>>2]=-g;a[m+((K*3|0)+1<<2)>>2]=-d;B=-C;l=m+((K*3|0)+2<<2)|0;i=N;V=H;P=A;p=L;f=E;c=0.0;s=0.0;o=0.0}a[l>>2]=B;R=_[e+300>>2]|0;r=+a[e+264>>2];if(!(R&32))r=r*+a[t+4>>2];E=r*+a[t>>2];x=_[t+28>>2]|0;a[x+(K<<1<<2)>>2]=E*(Z*h+X*y+J*w);a[x+(K*3<<2)>>2]=E*(Z*g+X*d+J*C);if(R&16|0){N=_[t+32>>2]|0;_[N+(K<<1<<2)>>2]=_[e+276>>2];_[N+(K*3<<2)>>2]=_[e+276>>2]}if(!(n[e+296>>0]|0))if(!(n[e+1096>>0]|0))i=4;else{d=0.0;S=0;k=0;v=1;te=26}else{J=ie*+a[e+1032>>2];d=J;S=J>0.0?2:1;k=1;v=(n[e+1096>>0]|0)!=0;te=26}if((te|0)==26){j=_[t+24>>2]<<2;_[i+(j<<2)>>2]=_e;_[i+((j|1)<<2)>>2]=oe;_[i+((j|2)<<2)>>2]=se;h=(_[b>>2]=_e,+a[b>>2]);a[m+(j<<2)>>2]=-h;y=(_[b>>2]=oe,+a[b>>2]);a[m+((j|1)<<2)>>2]=-y;g=(_[b>>2]=se,+a[b>>2]);a[m+((j|2)<<2)>>2]=-g;if(n[e+49>>0]|0){if(!($<1.1920928955078125e-07|Y<1.1920928955078125e-07)){i=_[t+12>>2]|0;a[i+(j<<2)>>2]=g*V-y*P;a[i+((j|1)<<2)>>2]=h*P-g*F;a[i+((j|2)<<2)>>2]=y*F-h*V;i=_[t+20>>2]|0;a[i+(j<<2)>>2]=-(g*O-y*p);a[i+((j|1)<<2)>>2]=-(h*p-g*f);r=-(y*f-h*O);te=30}}else{Y=g*c-y*s;$=h*s-g*o;r=y*o-h*c;i=_[t+12>>2]|0;a[i+(j<<2)>>2]=ee*Y;a[i+((j|1)<<2)>>2]=ee*$;a[i+((j|2)<<2)>>2]=ee*r;i=_[t+20>>2]|0;a[i+(j<<2)>>2]=(1.0-ee)*Y;a[i+((j|1)<<2)>>2]=(1.0-ee)*$;r=(1.0-ee)*r;te=30}if((te|0)==30)a[i+((j|2)<<2)>>2]=r;i=+a[e+184>>2]==+a[e+188>>2];a[x+(j<<2)>>2]=0.0;l=(_[t+36>>2]|0)+(j<<2)|0;a[l>>2]=0.0;m=(_[t+40>>2]|0)+(j<<2)|0;a[m>>2]=0.0;p=+a[(R&512|0?e+232|0:t+4|0)>>2];if(v&(k&i^1)){if(R&1|0)_[(_[t+32>>2]|0)+(j<<2)>>2]=_[e+212>>2];f=+a[e+1100>>2];r=+a[e+1080>>2];o=+a[e+184>>2];s=+a[e+188>>2];c=p*+a[t>>2];do{if(!(o>s))if(!(o==s)){if(f/c<0.0)if(r>=o?o-f/c>r:0){r=(o-r)/(f/c);break}else{r=r<o?0.0:1.0;break}if(f/c>0.0)if(r<=s?s-f/c<r:0){r=(s-r)/(f/c);break}else{r=r>s?0.0:1.0;break}else r=0.0}else r=0.0;else r=1.0}while(0);a[x+(j<<2)>>2]=+a[x+(j<<2)>>2]-ie*r*f;a[l>>2]=-+a[e+1104>>2]/+a[t>>2]+ +a[l>>2];a[m>>2]=+a[e+1104>>2]/+a[t>>2]+ +a[m>>2]}if(k){a[x+(j<<2)>>2]=+a[x+(j<<2)>>2]+d*p*+a[t>>2];if(R&256|0)_[(_[t+32>>2]|0)+(j<<2)>>2]=_[e+244>>2];if(i){r=-3402823466385288598117041.0e14;o=3402823466385288598117041.0e14}else{te=(S|0)==1;r=te?-3402823466385288598117041.0e14:0.0;o=te?0.0:3402823466385288598117041.0e14}a[l>>2]=r;a[m>>2]=o;ee=1.0-+a[e+240>>2];o=+G(+ee);do{if(!(ee!=ee|0.0!=0.0|ee==0.0)){r=ie*(h*+a[ne+372>>2]+y*+a[ne+376>>2]+g*+a[ne+380>>2]-(h*+a[re+372>>2]+y*+a[re+376>>2]+g*+a[re+380>>2]));if((S|0)==1){if(!(r<0.0))break;if(!(+a[x+(j<<2)>>2]<-(o*r)))break;a[x+(j<<2)>>2]=-(o*r);break}else{if(!(r>0.0))break;if(!(+a[x+(j<<2)>>2]>-(o*r)))break;a[x+(j<<2)>>2]=-(o*r);break}}}while(0);a[x+(j<<2)>>2]=+a[e+232>>2]*+a[x+(j<<2)>>2];i=5}else i=5}if(!(n[e+297>>0]|0))if(!(n[e+1112>>0]|0)){u=ce;return}else{g=0.0;k=0;v=0;l=1}else{ie=+a[e+1088>>2];g=ie;k=ie>0.0?1:2;v=1;l=(n[e+1112>>0]|0)!=0}S=U(_[t+24>>2]|0,i)|0;m=_[t+12>>2]|0;_[m+(S<<2)>>2]=_e;_[m+(S+1<<2)>>2]=oe;_[m+(S+2<<2)>>2]=se;w=(_[b>>2]=_e,+a[b>>2]);m=_[t+20>>2]|0;a[m+(S<<2)>>2]=-w;C=(_[b>>2]=oe,+a[b>>2]);a[m+(S+1<<2)>>2]=-C;y=(_[b>>2]=se,+a[b>>2]);a[m+(S+2<<2)>>2]=-y;p=+a[e+192>>2];d=+a[e+196>>2];m=_[e+300>>2]|0;h=+a[(m&2048|0?e+248|0:t+4|0)>>2];if(l&(v&p==d^1)){if(!(m&4)){s=p;c=d}else{_[(_[t+32>>2]|0)+(S<<2)>>2]=_[e+228>>2];s=+a[e+192>>2];c=+a[e+196>>2]}r=+a[e+1084>>2];f=+a[e+1116>>2];o=h*+a[t>>2];do{if(!(s>c))if(!(s==c)){if(f/o<0.0)if(r>=s?s-f/o>r:0){r=(s-r)/(f/o);break}else{r=r<s?0.0:1.0;break}if(f/o>0.0)if(r<=c?c-f/o<r:0){r=(c-r)/(f/o);break}else{r=r>c?0.0:1.0;break}else r=0.0}else r=0.0;else r=1.0}while(0);i=_[t+28>>2]|0;a[i+(S<<2)>>2]=r*f;a[(_[t+36>>2]|0)+(S<<2)>>2]=-+a[e+1120>>2]/+a[t>>2];a[(_[t+40>>2]|0)+(S<<2)>>2]=+a[e+1120>>2]/+a[t>>2]}else i=x;if(!v){u=ce;return}se=i+(S<<2)|0;a[se>>2]=+a[se>>2]+g*h*+a[t>>2];if(m&1024|0)_[(_[t+32>>2]|0)+(S<<2)>>2]=_[e+260>>2];if(p==d){r=-3402823466385288598117041.0e14;o=3402823466385288598117041.0e14}else{se=(k|0)==1;r=se?0.0:-3402823466385288598117041.0e14;o=se?3402823466385288598117041.0e14:0.0}a[(_[t+36>>2]|0)+(S<<2)>>2]=r;a[(_[t+40>>2]|0)+(S<<2)>>2]=o;ie=1.0-+a[e+256>>2];o=+G(+ie);do{if(!(ie!=ie|0.0!=0.0|ie==0.0)){oe=_[e+28>>2]|0;se=_[e+32>>2]|0;r=w*+a[oe+388>>2]+C*+a[oe+392>>2]+y*+a[oe+396>>2]-(w*+a[se+388>>2]+C*+a[se+392>>2]+y*+a[se+396>>2]);if((k|0)==1){if(!(r<0.0))break;i=(_[t+28>>2]|0)+(S<<2)|0;if(!(+a[i>>2]<-(o*r)))break;a[i>>2]=-(o*r);break}else{if(!(r>0.0))break;i=(_[t+28>>2]|0)+(S<<2)|0;if(!(+a[i>>2]>-(o*r)))break;a[i>>2]=-(o*r);break}}}while(0);t=(_[t+28>>2]|0)+(S<<2)|0;a[t>>2]=+a[e+248>>2]*+a[t>>2];u=ce;return}function rc(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0,c=0,l=0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0,S=0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,W=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0.0,X=0;S=u;u=u+1088|0;if((ya[_[(_[r>>2]|0)+80>>2]&127](r)|0)==2){s=_[r+156>>2]|0;_[e+28>>2]=s+-1;if(!s){u=S;return}s=s+-1|0;do{rc(e,t,i,_[(_[r+164>>2]|0)+(s<<2)>>2]|0,o);k=_[e+28>>2]|0;s=k+-1|0;_[e+28>>2]=s}while((k|0)!=0);u=S;return}if((ya[_[(_[o>>2]|0)+80>>2]&127](o)|0)==2){s=_[o+156>>2]|0;_[e+36>>2]=s+-1;if(!s){u=S;return}s=s+-1|0;do{rc(e,t,i,r,_[(_[o+164>>2]|0)+(s<<2)>>2]|0);k=_[e+36>>2]|0;s=k+-1|0;_[e+36>>2]=s}while((k|0)!=0);u=S;return}w=_[t+12>>2]|0;_[S+872>>2]=_[w>>2];_[S+872+4>>2]=_[w+4>>2];_[S+872+8>>2]=_[w+8>>2];_[S+872+12>>2]=_[w+12>>2];_[S+872+16>>2]=_[w+16>>2];_[S+872+16+4>>2]=_[w+16+4>>2];_[S+872+16+8>>2]=_[w+16+8>>2];_[S+872+16+12>>2]=_[w+16+12>>2];_[S+872+32>>2]=_[w+32>>2];_[S+872+32+4>>2]=_[w+32+4>>2];_[S+872+32+8>>2]=_[w+32+8>>2];_[S+872+32+12>>2]=_[w+32+12>>2];_[S+872+48>>2]=_[w+48>>2];_[S+872+48+4>>2]=_[w+48+4>>2];_[S+872+48+8>>2]=_[w+48+8>>2];_[S+872+48+12>>2]=_[w+48+12>>2];w=_[i+12>>2]|0;_[S+808>>2]=_[w>>2];_[S+808+4>>2]=_[w+4>>2];_[S+808+8>>2]=_[w+8>>2];_[S+808+12>>2]=_[w+12>>2];_[S+808+16>>2]=_[w+16>>2];_[S+808+16+4>>2]=_[w+16+4>>2];_[S+808+16+8>>2]=_[w+16+8>>2];_[S+808+16+12>>2]=_[w+16+12>>2];_[S+808+32>>2]=_[w+32>>2];_[S+808+32+4>>2]=_[w+32+4>>2];_[S+808+32+8>>2]=_[w+32+8>>2];_[S+808+32+12>>2]=_[w+32+12>>2];_[S+808+48>>2]=_[w+48>>2];_[S+808+48+4>>2]=_[w+48+4>>2];_[S+808+48+8>>2]=_[w+48+8>>2];_[S+808+48+12>>2]=_[w+48+12>>2];w=S+784+16|0;n[w>>0]=1;k=S+784+12|0;_[k>>2]=0;h=S+784+4|0;_[h>>2]=0;_[S+784+8>>2]=0;_[6293]=(_[6293]|0)+1;s=cc(275)|0;if(!s)c=0;else{_[(s+4+15&-16)+-4>>2]=s;c=s+4+15&-16}l=_[h>>2]|0;f=_[k>>2]|0;if((l|0)<=0){if(f|0)m=14}else{s=0;do{_[c+(s<<3)>>2]=_[f+(s<<3)>>2];_[c+(s<<3)+4>>2]=_[f+(s<<3)+4>>2];s=s+1|0}while((s|0)!=(l|0));m=14}if((m|0)==14){if(n[w>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0)}_[k>>2]=0}n[w>>0]=1;_[k>>2]=c;_[S+784+8>>2]=32;if((_[r+72>>2]|0)!=0?(_[o+72>>2]|0)!=0:0){q=+a[S+872>>2];E=+a[S+872+16>>2];V=+a[S+872+32>>2];L=+a[S+872+4>>2];B=+a[S+872+20>>2];P=+a[S+872+36>>2];D=+a[S+872+8>>2];I=+a[S+872+24>>2];R=+a[S+872+40>>2];Z=-+a[S+872+48>>2];K=-+a[S+872+52>>2];U=-+a[S+872+56>>2];A=+a[S+808>>2];F=+a[S+808+16>>2];W=+a[S+808+32>>2];H=+a[S+808+4>>2];O=+a[S+808+20>>2];T=+a[S+808+36>>2];M=+a[S+808+8>>2];x=+a[S+808+24>>2];j=+a[S+808+40>>2];N=+a[S+808+48>>2];z=+a[S+808+52>>2];Q=+a[S+808+56>>2];a[S+968>>2]=q*Z+E*K+V*U+(q*N+E*z+V*Q);a[S+968+4>>2]=L*Z+B*K+P*U+(L*N+B*z+P*Q);a[S+968+8>>2]=D*Z+I*K+R*U+(D*N+I*z+R*Q);a[S+968+12>>2]=0.0;a[S+968+16>>2]=q*A+E*F+V*W;a[S+968+20>>2]=q*H+E*O+V*T;a[S+968+24>>2]=q*M+E*x+V*j;a[S+968+28>>2]=0.0;a[S+968+32>>2]=L*A+B*F+P*W;a[S+968+36>>2]=L*H+B*O+P*T;a[S+968+40>>2]=L*M+B*x+P*j;a[S+968+44>>2]=0.0;a[S+968+48>>2]=D*A+I*F+R*W;a[S+968+52>>2]=D*H+I*O+R*T;a[S+968+56>>2]=D*M+I*x+R*j;a[S+968+60>>2]=0.0;a[S+968+64>>2]=+G(+(q*A+E*F+V*W))+9.999999974752427e-07;a[S+968+68>>2]=+G(+(q*H+E*O+V*T))+9.999999974752427e-07;a[S+968+72>>2]=+G(+(q*M+E*x+V*j))+9.999999974752427e-07;a[S+968+80>>2]=+G(+(L*A+B*F+P*W))+9.999999974752427e-07;a[S+968+84>>2]=+G(+(L*H+B*O+P*T))+9.999999974752427e-07;a[S+968+88>>2]=+G(+(L*M+B*x+P*j))+9.999999974752427e-07;a[S+968+96>>2]=+G(+(D*A+I*F+R*W))+9.999999974752427e-07;a[S+968+100>>2]=+G(+(D*H+I*O+R*T))+9.999999974752427e-07;a[S+968+104>>2]=+G(+(D*M+I*x+R*j))+9.999999974752427e-07;Wc(r+72|0,o+72|0,S+784|0,S+968|0,0,0,1)}else m=20;if((m|0)==20?(b=ya[_[(_[r>>2]|0)+88>>2]&127](r)|0,b|0):0)do{b=b+-1|0;ba[_[(_[r>>2]|0)+120>>2]&31](r,b,S+872|0,S+968|0,S+968+16|0);s=ya[_[(_[o>>2]|0)+88>>2]&127](o)|0;if(s|0)do{s=s+-1|0;ba[_[(_[o>>2]|0)+120>>2]&31](o,b,S+808|0,S+936|0,S+936+16|0);if(((((!(+a[S+936>>2]>+a[S+968+16>>2])?!(+a[S+936+16>>2]<+a[S+968>>2]):0)?!(+a[S+936+4>>2]>+a[S+968+20>>2]):0)?!(+a[S+936+20>>2]<+a[S+968+4>>2]):0)?!(+a[S+936+8>>2]>+a[S+968+24>>2]):0)?!(+a[S+936+24>>2]<+a[S+968+8>>2]):0){c=_[h>>2]|0;do{if((c|0)==(_[S+784+8>>2]|0)){d=c|0?c<<1:1;if((c|0)>=(d|0))break;if(!d)p=0;else{_[6293]=(_[6293]|0)+1;c=cc((d<<3|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}p=c;c=_[h>>2]|0}f=_[k>>2]|0;if((c|0)<=0){if(f)m=39}else{l=0;do{_[p+(l<<3)>>2]=_[f+(l<<3)>>2];_[p+(l<<3)+4>>2]=_[f+(l<<3)+4>>2];l=l+1|0}while((l|0)!=(c|0));m=39}if((m|0)==39){m=0;if(n[w>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0);c=_[h>>2]|0}_[k>>2]=0}n[w>>0]=1;_[k>>2]=p;_[S+784+8>>2]=d}}while(0);d=_[k>>2]|0;_[d+(c<<3)>>2]=b;_[d+(c<<3)+4>>2]=s;_[h>>2]=c+1}}while((s|0)!=0)}while((b|0)!=0);do{if(_[h>>2]|0){if((ya[_[(_[r>>2]|0)+80>>2]&127](r)|0)==1?(ya[_[(_[o>>2]|0)+80>>2]&127](o)|0)==1:0){Bc(e,t,i,r,o,_[k>>2]|0,_[h>>2]|0);break}ua[_[(_[r>>2]|0)+112>>2]&511](r);ua[_[(_[o>>2]|0)+112>>2]&511](o);ph(S+480|0,r);ph(S+176|0,o);p=ya[_[(_[r>>2]|0)+92>>2]&127](r)|0;d=ya[_[(_[o>>2]|0)+92>>2]&127](o)|0;s=_[h>>2]|0;if(s|0)do{s=s+-1|0;l=_[k>>2]|0;c=_[l+(s<<3)>>2]|0;_[e+24>>2]=c;_[e+32>>2]=_[l+(s<<3)+4>>2];l=_[S+480+300>>2]|0;c=Pa[_[_[l>>2]>>2]&31](l,c)|0;l=_[S+176+300>>2]|0;l=Pa[_[_[l>>2]>>2]&31](l,_[e+32>>2]|0)|0;h=_[t+12>>2]|0;_[S+112>>2]=_[h>>2];_[S+112+4>>2]=_[h+4>>2];_[S+112+8>>2]=_[h+8>>2];_[S+112+12>>2]=_[h+12>>2];_[S+112+16>>2]=_[h+16>>2];_[S+112+16+4>>2]=_[h+16+4>>2];_[S+112+16+8>>2]=_[h+16+8>>2];_[S+112+16+12>>2]=_[h+16+12>>2];_[S+112+32>>2]=_[h+32>>2];_[S+112+32+4>>2]=_[h+32+4>>2];_[S+112+32+8>>2]=_[h+32+8>>2];_[S+112+32+12>>2]=_[h+32+12>>2];_[S+112+48>>2]=_[h+48>>2];_[S+112+48+4>>2]=_[h+48+4>>2];_[S+112+48+8>>2]=_[h+48+8>>2];_[S+112+48+12>>2]=_[h+48+12>>2];h=_[i+12>>2]|0;_[S+48>>2]=_[h>>2];_[S+48+4>>2]=_[h+4>>2];_[S+48+8>>2]=_[h+8>>2];_[S+48+12>>2]=_[h+12>>2];_[S+48+16>>2]=_[h+16>>2];_[S+48+16+4>>2]=_[h+16+4>>2];_[S+48+16+8>>2]=_[h+16+8>>2];_[S+48+16+12>>2]=_[h+16+12>>2];_[S+48+32>>2]=_[h+32>>2];_[S+48+32+4>>2]=_[h+32+4>>2];_[S+48+32+8>>2]=_[h+32+8>>2];_[S+48+32+12>>2]=_[h+32+12>>2];_[S+48+48>>2]=_[h+48>>2];_[S+48+48+4>>2]=_[h+48+4>>2];_[S+48+48+8>>2]=_[h+48+8>>2];_[S+48+48+12>>2]=_[h+48+12>>2];if(p){Za[_[(_[r>>2]|0)+132>>2]&127](S+968|0,r,_[e+24>>2]|0);W=+a[S+968>>2];I=+a[S+872>>2];F=+a[S+968+16>>2];M=+a[S+872+4>>2];A=+a[S+968+32>>2];D=+a[S+872+8>>2];P=+a[S+968+4>>2];B=+a[S+968+20>>2];L=+a[S+968+36>>2];V=+a[S+968+8>>2];q=+a[S+968+24>>2];z=+a[S+968+40>>2];T=+a[S+872+16>>2];O=+a[S+872+20>>2];H=+a[S+872+24>>2];E=+a[S+872+32>>2];Q=+a[S+872+36>>2];N=+a[S+872+40>>2];R=+a[S+968+48>>2];x=+a[S+968+52>>2];Z=+a[S+968+56>>2];U=+a[S+872+48>>2]+(I*R+M*x+D*Z);K=T*R+O*x+H*Z+ +a[S+872+52>>2];Z=E*R+Q*x+N*Z+ +a[S+872+56>>2];a[S+112>>2]=W*I+F*M+A*D;a[S+112+4>>2]=I*P+M*B+D*L;a[S+112+8>>2]=I*V+M*q+D*z;a[S+112+12>>2]=0.0;a[S+112+16>>2]=W*T+F*O+A*H;a[S+112+20>>2]=P*T+B*O+L*H;a[S+112+24>>2]=V*T+q*O+z*H;a[S+112+28>>2]=0.0;a[S+112+32>>2]=W*E+F*Q+A*N;a[S+112+36>>2]=P*E+B*Q+L*N;a[S+112+40>>2]=V*E+q*Q+z*N;a[S+112+44>>2]=0.0;a[S+112+48>>2]=U;a[S+112+52>>2]=K;a[S+112+56>>2]=Z;a[S+112+60>>2]=0.0}if(d){Za[_[(_[o>>2]|0)+132>>2]&127](S+968|0,o,_[e+32>>2]|0);W=+a[S+968>>2];I=+a[S+808>>2];F=+a[S+968+16>>2];M=+a[S+808+4>>2];A=+a[S+968+32>>2];D=+a[S+808+8>>2];P=+a[S+968+4>>2];B=+a[S+968+20>>2];L=+a[S+968+36>>2];V=+a[S+968+8>>2];q=+a[S+968+24>>2];z=+a[S+968+40>>2];T=+a[S+808+16>>2];O=+a[S+808+20>>2];H=+a[S+808+24>>2];E=+a[S+808+32>>2];Q=+a[S+808+36>>2];N=+a[S+808+40>>2];R=+a[S+968+48>>2];x=+a[S+968+52>>2];Z=+a[S+968+56>>2];U=+a[S+808+48>>2]+(I*R+M*x+D*Z);K=T*R+O*x+H*Z+ +a[S+808+52>>2];Z=E*R+Q*x+N*Z+ +a[S+808+56>>2];a[S+48>>2]=W*I+F*M+A*D;a[S+48+4>>2]=I*P+M*B+D*L;a[S+48+8>>2]=I*V+M*q+D*z;a[S+48+12>>2]=0.0;a[S+48+16>>2]=W*T+F*O+A*H;a[S+48+20>>2]=P*T+B*O+L*H;a[S+48+24>>2]=V*T+q*O+z*H;a[S+48+28>>2]=0.0;a[S+48+32>>2]=W*E+F*Q+A*N;a[S+48+36>>2]=P*E+B*Q+L*N;a[S+48+40>>2]=V*E+q*Q+z*N;a[S+48+44>>2]=0.0;a[S+48+48>>2]=U;a[S+48+52>>2]=K;a[S+48+56>>2]=Z;a[S+48+60>>2]=0.0}X=_[t+8>>2]|0;h=_[e+28>>2]|0;b=_[e+24>>2]|0;_[S+24>>2]=t;_[S+24+4>>2]=c;_[S+24+8>>2]=X;_[S+24+12>>2]=S+112;_[S+24+16>>2]=h;_[S+24+20>>2]=b;X=_[i+8>>2]|0;f=_[e+36>>2]|0;m=_[e+32>>2]|0;_[S>>2]=i;_[S+4>>2]=l;_[S+8>>2]=X;_[S+12>>2]=S+48;_[S+16>>2]=f;_[S+20>>2]=m;m=_[e+16>>2]|0;Za[_[(_[m>>2]|0)+8>>2]&127](m,h,b);b=_[e+16>>2]|0;Za[_[(_[b>>2]|0)+12>>2]&127](b,_[e+36>>2]|0,_[e+32>>2]|0);b=_[S+24+8>>2]|0;h=_[S+24+12>>2]|0;m=_[e+28>>2]|0;f=_[e+24>>2]|0;_[S+968>>2]=S+24;_[S+968+4>>2]=c;_[S+968+8>>2]=b;_[S+968+12>>2]=h;_[S+968+16>>2]=m;_[S+968+20>>2]=f;f=_[S+8>>2]|0;m=_[S+12>>2]|0;h=_[e+36>>2]|0;c=_[e+32>>2]|0;_[S+936>>2]=S;_[S+936+4>>2]=l;_[S+936+8>>2]=f;_[S+936+12>>2]=m;_[S+936+16>>2]=h;_[S+936+20>>2]=c;c=_[e+8>>2]|0;if(!c){c=_[e+12>>2]|0;if(!c){c=_[e+4>>2]|0;c=xa[_[(_[c>>2]|0)+12>>2]&63](c,b,f)|0;_[e+12>>2]=c}_[(_[e+16>>2]|0)+4>>2]=c;X=_[e+4>>2]|0;c=wa[_[(_[X>>2]|0)+8>>2]&1](X,S+968|0,S+936|0,c,1)|0;_[e+8>>2]=c}ba[_[(_[c>>2]|0)+8>>2]&31](c,S+968|0,S+936|0,_[e+20>>2]|0,_[e+16>>2]|0)}while((s|0)!=0);ua[_[(_[r>>2]|0)+116>>2]&511](r);ua[_[(_[o>>2]|0)+116>>2]&511](o);_[S+176+112>>2]=7544;s=_[S+176+168>>2]|0;if(s|0?(ua[_[_[s>>2]>>2]&511](s),y=_[S+176+168>>2]|0,y|0):0){_[6294]=(_[6294]|0)+1;Mc(_[y+-4>>2]|0)}_[S+176+4>>2]=7544;s=_[S+176+60>>2]|0;if(s|0?(ua[_[_[s>>2]>>2]&511](s),g=_[S+176+60>>2]|0,g|0):0){_[6294]=(_[6294]|0)+1;Mc(_[g+-4>>2]|0)}_[S+480+112>>2]=7544;s=_[S+480+168>>2]|0;if(s|0?(ua[_[_[s>>2]>>2]&511](s),C=_[S+480+168>>2]|0,C|0):0){_[6294]=(_[6294]|0)+1;Mc(_[C+-4>>2]|0)}_[S+480+4>>2]=7544;s=_[S+480+60>>2]|0;if(s|0?(ua[_[_[s>>2]>>2]&511](s),v=_[S+480+60>>2]|0,v|0):0){_[6294]=(_[6294]|0)+1;Mc(_[v+-4>>2]|0)}}}while(0);s=_[k>>2]|0;if(s|0){if(n[w>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[k>>2]=0}u=S;return}function sc(e,t,i){e=e|0;t=t|0;i=i|0;var o=0,c=0,l=0.0,f=0,b=0.0,p=0.0,d=0.0,m=0,h=0,y=0,g=0.0,C=0.0,v=0,w=0,k=0.0,S=0.0,j=0.0,R=0,x=0,I=0.0,M=0.0,D=0.0,T=0,O=0,H=0,G=0,W=0,F=0,A=0.0,P=0.0,B=0.0;F=u;u=u+96|0;H=_[e+56>>2]|0;if((i-t|0)==1){if(!(n[e+60>>0]|0)){m=(_[e+96>>2]|0)+(H<<6)|0;h=(_[e+76>>2]|0)+(t<<6)|0;y=m+64|0;do{_[m>>2]=_[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(y|0))}else{G=(_[e+116>>2]|0)+(t<<4)|0;W=(_[e+136>>2]|0)+(H<<4)|0;_[W>>2]=_[G>>2];_[W+4>>2]=_[G+4>>2];_[W+8>>2]=_[G+8>>2];_[W+12>>2]=_[G+12>>2]}_[e+56>>2]=(_[e+56>>2]|0)+1;u=F;return}_[F+32>>2]=0;_[F+32+4>>2]=0;_[F+32+8>>2]=0;_[F+32+12>>2]=0;if((i|0)>(t|0)){f=(n[e+60>>0]|0)==0;if(f){c=_[e+76>>2]|0;o=t;l=0.0;b=0.0;p=0.0;do{l=l+(+a[c+(o<<6)+16>>2]+ +a[c+(o<<6)>>2])*.5;b=b+(+a[c+(o<<6)+20>>2]+ +a[c+(o<<6)+4>>2])*.5;p=p+(+a[c+(o<<6)+24>>2]+ +a[c+(o<<6)+8>>2])*.5;o=o+1|0}while((o|0)!=(i|0))}else{c=_[e+116>>2]|0;d=+a[e+36>>2];g=+a[e+40>>2];C=+a[e+44>>2];k=+a[e+4>>2];S=+a[e+8>>2];j=+a[e+12>>2];o=t;l=0.0;b=0.0;p=0.0;do{l=l+(+(s[c+(o<<4)+6>>1]|0)/d+k+(+(s[c+(o<<4)>>1]|0)/d+k))*.5;b=b+(+(s[c+(o<<4)+8>>1]|0)/g+S+(+(s[c+(o<<4)+2>>1]|0)/g+S))*.5;p=p+(+(s[c+(o<<4)+10>>1]|0)/C+j+(+(s[c+(o<<4)+4>>1]|0)/C+j))*.5;o=o+1|0}while((o|0)!=(i|0))}I=1.0/+(i-t|0);D=I*l;M=I*b;I=I*p;if(f){c=_[e+76>>2]|0;o=t;p=0.0;b=0.0;l=0.0;do{k=(+a[c+(o<<6)+16>>2]+ +a[c+(o<<6)>>2])*.5-D;S=(+a[c+(o<<6)+20>>2]+ +a[c+(o<<6)+4>>2])*.5-M;j=(+a[c+(o<<6)+24>>2]+ +a[c+(o<<6)+8>>2])*.5-I;p=p+k*k;b=S*S+b;l=j*j+l;o=o+1|0}while((o|0)!=(i|0))}else{c=_[e+116>>2]|0;d=+a[e+36>>2];g=+a[e+40>>2];C=+a[e+44>>2];k=+a[e+4>>2];S=+a[e+8>>2];j=+a[e+12>>2];o=t;p=0.0;b=0.0;l=0.0;do{B=(+(s[c+(o<<4)+6>>1]|0)/d+k+(+(s[c+(o<<4)>>1]|0)/d+k))*.5-D;P=(+(s[c+(o<<4)+8>>1]|0)/g+S+(+(s[c+(o<<4)+2>>1]|0)/g+S))*.5-M;A=(+(s[c+(o<<4)+10>>1]|0)/C+j+(+(s[c+(o<<4)+4>>1]|0)/C+j))*.5-I;p=p+B*B;b=P*P+b;l=A*A+l;o=o+1|0}while((o|0)!=(i|0))}a[F+32>>2]=p;a[F+32+4>>2]=b;a[F+32+8>>2]=l;o=F+32|0;d=+(i-t|0)}else{o=F+32|0;d=+(i-t|0);p=0.0;b=0.0;l=0.0}A=1.0/(d+-1.0);P=A*p;a[o>>2]=P;B=A*b;a[F+32+4>>2]=B;A=A*l;a[F+32+8>>2]=A;w=+a[F+32+((P<B&1)<<2)>>2]<A?2:P<B&1;_[F+16>>2]=0;_[F+16+4>>2]=0;_[F+16+8>>2]=0;_[F+16+12>>2]=0;if((i|0)>(t|0)){if(!(n[e+60>>0]|0)){c=_[e+76>>2]|0;o=t;p=0.0;b=0.0;l=0.0;do{p=(+a[c+(o<<6)+16>>2]+ +a[c+(o<<6)>>2])*.5+p;b=(+a[c+(o<<6)+20>>2]+ +a[c+(o<<6)+4>>2])*.5+b;l=(+a[c+(o<<6)+24>>2]+ +a[c+(o<<6)+8>>2])*.5+l;o=o+1|0}while((o|0)!=(i|0))}else{c=_[e+116>>2]|0;d=+a[e+36>>2];g=+a[e+40>>2];C=+a[e+44>>2];k=+a[e+4>>2];S=+a[e+8>>2];j=+a[e+12>>2];o=t;p=0.0;b=0.0;l=0.0;do{p=(+(s[c+(o<<4)+6>>1]|0)/d+k+(+(s[c+(o<<4)>>1]|0)/d+k))*.5+p;b=(+(s[c+(o<<4)+8>>1]|0)/g+S+(+(s[c+(o<<4)+2>>1]|0)/g+S))*.5+b;l=(+(s[c+(o<<4)+10>>1]|0)/C+j+(+(s[c+(o<<4)+4>>1]|0)/C+j))*.5+l;o=o+1|0}while((o|0)!=(i|0))}a[F+16>>2]=p;a[F+16+4>>2]=b;a[F+16+8>>2]=l;o=F+16|0}else{o=F+16|0;p=0.0;b=0.0;l=0.0}a[o>>2]=1.0/+(i-t|0)*p;a[F+16+4>>2]=1.0/+(i-t|0)*b;a[F+16+8>>2]=1.0/+(i-t|0)*l;k=+a[F+16+(w<<2)>>2];if((i|0)>(t|0)){o=t;v=t;do{c=(n[e+60>>0]|0)==0;if(c){O=_[e+76>>2]|0;l=+a[O+(v<<6)>>2];b=+a[O+(v<<6)+16>>2];p=+a[O+(v<<6)+4>>2];d=+a[O+(v<<6)+20>>2];g=+a[O+(v<<6)+8>>2];C=+a[O+(v<<6)+24>>2]}else{O=_[e+116>>2]|0;p=+a[e+36>>2];g=+a[e+40>>2];B=+a[e+44>>2];b=+a[e+4>>2];d=+a[e+8>>2];C=+a[e+12>>2];l=+(s[O+(v<<4)>>1]|0)/p+b;b=+(s[O+(v<<4)+6>>1]|0)/p+b;p=+(s[O+(v<<4)+2>>1]|0)/g+d;d=+(s[O+(v<<4)+8>>1]|0)/g+d;g=+(s[O+(v<<4)+4>>1]|0)/B+C;C=+(s[O+(v<<4)+10>>1]|0)/B+C}a[F>>2]=(b+l)*.5;a[F+4>>2]=(d+p)*.5;a[F+8>>2]=(C+g)*.5;a[F+12>>2]=0.0;if(+a[F+(w<<2)>>2]>k){if(c){c=_[e+76>>2]|0;f=c+(v<<6)|0;m=F+32|0;h=f;y=m+64|0;do{_[m>>2]=_[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(y|0));m=f;h=c+(o<<6)|0;y=m+64|0;do{_[m>>2]=_[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(y|0));m=(_[e+76>>2]|0)+(o<<6)|0;h=F+32|0;y=m+64|0;do{_[m>>2]=_[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(y|0))}else{T=_[e+116>>2]|0;O=T+(v<<4)|0;_[F+32>>2]=_[O>>2];_[F+32+4>>2]=_[O+4>>2];_[F+32+8>>2]=_[O+8>>2];_[F+32+12>>2]=_[O+12>>2];T=T+(o<<4)|0;_[O>>2]=_[T>>2];_[O+4>>2]=_[T+4>>2];_[O+8>>2]=_[T+8>>2];_[O+12>>2]=_[T+12>>2];O=(_[e+116>>2]|0)+(o<<4)|0;_[O>>2]=_[F+32>>2];_[O+4>>2]=_[F+32+4>>2];_[O+8>>2]=_[F+32+8>>2];_[O+12>>2]=_[F+32+12>>2]}o=o+1|0}v=v+1|0}while((v|0)!=(i|0))}else o=t;if(!((o|0)>(((i-t|0)/3|0)+t|0)?(o|0)<(i+-1-((i-t|0)/3|0)|0):0))o=(i-t>>1)+t|0;O=_[e+56>>2]|0;if(!(n[e+60>>0]|0)){T=(_[e+96>>2]|0)+(O<<6)|0;_[T>>2]=_[e+20>>2];_[T+4>>2]=_[e+20+4>>2];_[T+8>>2]=_[e+20+8>>2];_[T+12>>2]=_[e+20+12>>2]}else{T=_[e+136>>2]|0;P=(+a[e+24>>2]-+a[e+8>>2])*+a[e+40>>2];B=(+a[e+28>>2]-+a[e+12>>2])*+a[e+44>>2];r[T+(O<<4)>>1]=~~((+a[e+20>>2]-+a[e+4>>2])*+a[e+36>>2])&65535&-2;r[T+(O<<4)+2>>1]=~~P&65535&-2;r[T+(O<<4)+4>>1]=~~B&65535&-2}c=_[e+56>>2]|0;if(!(n[e+60>>0]|0)){T=(_[e+96>>2]|0)+(c<<6)+16|0;_[T>>2]=_[e+4>>2];_[T+4>>2]=_[e+4+4>>2];_[T+8>>2]=_[e+4+8>>2];_[T+12>>2]=_[e+4+12>>2]}else{T=_[e+136>>2]|0;A=+a[e+4>>2];P=+a[e+8>>2];B=+a[e+12>>2];P=(P-P)*+a[e+40>>2];B=(B-B)*+a[e+44>>2];r[T+(c<<4)+6>>1]=~~((A-A)*+a[e+36>>2]+1.0)&65535|1;r[T+(c<<4)+8>>1]=~~(P+1.0)&65535|1;r[T+(c<<4)+10>>1]=~~(B+1.0)&65535|1}T=_[e+56>>2]|0;if((i|0)>(t|0)){x=n[e+60>>0]|0;R=t;do{if(!(x<<24>>24)){c=_[e+76>>2]|0;b=+a[c+(R<<6)>>2];C=+a[c+(R<<6)+4>>2];S=+a[c+(R<<6)+8>>2];d=+a[c+(R<<6)+12>>2];l=+a[c+(R<<6)+16>>2];k=+a[c+(R<<6)+20>>2];p=+a[c+(R<<6)+24>>2];g=+a[c+(R<<6)+28>>2];c=_[e+96>>2]|0;if(b<+a[c+(T<<6)>>2])a[c+(T<<6)>>2]=b;if(C<+a[c+(T<<6)+4>>2])a[c+(T<<6)+4>>2]=C;if(S<+a[c+(T<<6)+8>>2])a[c+(T<<6)+8>>2]=S;if(d<+a[c+(T<<6)+12>>2])a[c+(T<<6)+12>>2]=d;if(+a[c+(T<<6)+16>>2]<l)a[c+(T<<6)+16>>2]=l;if(+a[c+(T<<6)+20>>2]<k)a[c+(T<<6)+20>>2]=k;if(+a[c+(T<<6)+24>>2]<p)a[c+(T<<6)+24>>2]=p;if(+a[c+(T<<6)+28>>2]<g)a[c+(T<<6)+28>>2]=g}else{v=_[e+116>>2]|0;d=+a[e+36>>2];S=+a[e+40>>2];D=+a[e+44>>2];g=+a[e+4>>2];j=+a[e+8>>2];A=+a[e+12>>2];C=+a[e+4>>2];I=+a[e+8>>2];P=+a[e+12>>2];k=+a[e+36>>2];M=+a[e+40>>2];B=+a[e+44>>2];c=~~((+(s[v+(R<<4)>>1]|0)/d+g-C)*k)&65535&-2;f=~~((+(s[v+(R<<4)+2>>1]|0)/S+j-I)*M)&65535&-2;m=~~((+(s[v+(R<<4)+4>>1]|0)/D+A-P)*B)&65535&-2;h=~~((+(s[v+(R<<4)+6>>1]|0)/d+g-C)*k+1.0)&65535|1;y=~~((+(s[v+(R<<4)+8>>1]|0)/S+j-I)*M+1.0)&65535|1;v=~~((+(s[v+(R<<4)+10>>1]|0)/D+A-P)*B+1.0)&65535|1;w=_[e+136>>2]|0;if((s[w+(T<<4)>>1]|0)>(c&65535))r[w+(T<<4)>>1]=c;if((s[w+(T<<4)+6>>1]|0)<(h&65535))r[w+(T<<4)+6>>1]=h;if((s[w+(T<<4)+2>>1]|0)>(f&65535))r[w+(T<<4)+2>>1]=f;if((s[w+(T<<4)+8>>1]|0)<(y&65535))r[w+(T<<4)+8>>1]=y;if((s[w+(T<<4)+4>>1]|0)>(m&65535))r[w+(T<<4)+4>>1]=m;if((s[w+(T<<4)+10>>1]|0)<(v&65535))r[w+(T<<4)+10>>1]=v}R=R+1|0}while((R|0)!=(i|0))}_[e+56>>2]=T+1;sc(e,t,o);R=_[e+56>>2]|0;sc(e,o,i);w=(_[e+56>>2]|0)-H|0;o=n[e+60>>0]|0;if(o<<24>>24!=0&(w<<4|0)>2048){y=_[e+136>>2]|0;m=_[y+(T+1<<4)+12>>2]|0;m=(m|0)>-1?1:0-m|0;v=_[y+(R<<4)+12>>2]|0;v=(v|0)>-1?1:0-v|0;if((m<<4|0)<2049){h=_[e+152>>2]|0;if((h|0)==(_[e+156>>2]|0)?(G=h|0?h<<1:1,(h|0)<(G|0)):0){if(!G){o=0;f=h}else{_[6293]=(_[6293]|0)+1;o=cc(G<<5|19)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}f=_[e+152>>2]|0}if((f|0)>0){c=0;do{H=o+(c<<5)|0;i=(_[e+160>>2]|0)+(c<<5)|0;_[H>>2]=_[i>>2];_[H+4>>2]=_[i+4>>2];_[H+8>>2]=_[i+8>>2];_[H+12>>2]=_[i+12>>2];_[H+16>>2]=_[i+16>>2];_[H+20>>2]=_[i+20>>2];_[H+24>>2]=_[i+24>>2];_[H+28>>2]=_[i+28>>2];c=c+1|0}while((c|0)!=(f|0))}c=_[e+160>>2]|0;if(c|0){if(n[e+164>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[e+160>>2]=0}n[e+164>>0]=1;_[e+160>>2]=o;_[e+156>>2]=G;o=_[e+152>>2]|0}else o=h;_[e+152>>2]=o+1;G=(_[e+160>>2]|0)+(h<<5)|0;_[G>>2]=_[F+32>>2];_[G+4>>2]=_[F+32+4>>2];_[G+8>>2]=_[F+32+8>>2];_[G+12>>2]=_[F+32+12>>2];_[G+16>>2]=_[F+32+16>>2];_[G+20>>2]=_[F+32+20>>2];_[G+24>>2]=_[F+32+24>>2];_[G+28>>2]=_[F+32+28>>2];G=_[e+160>>2]|0;r[G+(h<<5)>>1]=r[y+(T+1<<4)>>1]|0;r[G+(h<<5)+2>>1]=r[y+(T+1<<4)+2>>1]|0;r[G+(h<<5)+4>>1]=r[y+(T+1<<4)+4>>1]|0;r[G+(h<<5)+6>>1]=r[y+(T+1<<4)+6>>1]|0;r[G+(h<<5)+8>>1]=r[y+(T+1<<4)+8>>1]|0;r[G+(h<<5)+10>>1]=r[y+(T+1<<4)+10>>1]|0;_[G+(h<<5)+12>>2]=T+1;_[G+(h<<5)+16>>2]=m}if((v<<4|0)<2049){m=_[e+152>>2]|0;if((m|0)==(_[e+156>>2]|0)?(W=m|0?m<<1:1,(m|0)<(W|0)):0){if(!W){o=0;f=m}else{_[6293]=(_[6293]|0)+1;o=cc(W<<5|19)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}f=_[e+152>>2]|0}if((f|0)>0){c=0;do{G=o+(c<<5)|0;H=(_[e+160>>2]|0)+(c<<5)|0;_[G>>2]=_[H>>2];_[G+4>>2]=_[H+4>>2];_[G+8>>2]=_[H+8>>2];_[G+12>>2]=_[H+12>>2];_[G+16>>2]=_[H+16>>2];_[G+20>>2]=_[H+20>>2];_[G+24>>2]=_[H+24>>2];_[G+28>>2]=_[H+28>>2];c=c+1|0}while((c|0)!=(f|0))}c=_[e+160>>2]|0;if(c|0){if(n[e+164>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[e+160>>2]=0}n[e+164>>0]=1;_[e+160>>2]=o;_[e+156>>2]=W;o=_[e+152>>2]|0}else o=m;_[e+152>>2]=o+1;o=(_[e+160>>2]|0)+(m<<5)|0;_[o>>2]=_[F+32>>2];_[o+4>>2]=_[F+32+4>>2];_[o+8>>2]=_[F+32+8>>2];_[o+12>>2]=_[F+32+12>>2];_[o+16>>2]=_[F+32+16>>2];_[o+20>>2]=_[F+32+20>>2];_[o+24>>2]=_[F+32+24>>2];_[o+28>>2]=_[F+32+28>>2];o=_[e+160>>2]|0;r[o+(m<<5)>>1]=r[y+(R<<4)>>1]|0;r[o+(m<<5)+2>>1]=r[y+(R<<4)+2>>1]|0;r[o+(m<<5)+4>>1]=r[y+(R<<4)+4>>1]|0;r[o+(m<<5)+6>>1]=r[y+(R<<4)+6>>1]|0;r[o+(m<<5)+8>>1]=r[y+(R<<4)+8>>1]|0;r[o+(m<<5)+10>>1]=r[y+(R<<4)+10>>1]|0;_[o+(m<<5)+12>>2]=R;_[o+(m<<5)+16>>2]=v;o=e+152|0}else o=e+152|0;_[e+168>>2]=_[o>>2];o=n[e+60>>0]|0}if(!(o<<24>>24)){_[(_[e+96>>2]|0)+(O<<6)+32>>2]=w;u=F;return}else{_[(_[e+136>>2]|0)+(O<<4)+12>>2]=0-w;u=F;return}}function tc(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0.0,c=0.0,l=0.0,f=0.0,b=0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0,R=0,x=0.0,I=0,M=0,D=0,T=0,O=0,H=0,G=0.0,F=0.0,A=0,P=0.0,B=0,L=0.0,V=0,E=0.0,q=0,Q=0.0,z=0;z=u;u=u+208|0;a[e+56>>2]=0.0;O=z+192+4|0;H=z+192+8|0;_[z+192>>2]=0;_[z+192+4>>2]=0;_[z+192+8>>2]=0;_[z+192+12>>2]=0;_[z+128>>2]=_[t>>2];_[z+128+4>>2]=_[t+4>>2];_[z+128+8>>2]=_[t+8>>2];_[z+128+12>>2]=_[t+12>>2];_[z+128+16>>2]=_[t+16>>2];_[z+128+16+4>>2]=_[t+16+4>>2];_[z+128+16+8>>2]=_[t+16+8>>2];_[z+128+16+12>>2]=_[t+16+12>>2];_[z+128+32>>2]=_[t+32>>2];_[z+128+32+4>>2]=_[t+32+4>>2];_[z+128+32+8>>2]=_[t+32+8>>2];_[z+128+32+12>>2]=_[t+32+12>>2];I=z+128+48|0;_[I>>2]=_[t+48>>2];_[I+4>>2]=_[t+48+4>>2];_[I+8>>2]=_[t+48+8>>2];_[I+12>>2]=_[t+48+12>>2];_[z+64>>2]=_[t+64>>2];_[z+64+4>>2]=_[t+64+4>>2];_[z+64+8>>2]=_[t+64+8>>2];_[z+64+12>>2]=_[t+64+12>>2];_[z+64+16>>2]=_[t+80>>2];_[z+64+16+4>>2]=_[t+80+4>>2];_[z+64+16+8>>2]=_[t+80+8>>2];_[z+64+16+12>>2]=_[t+80+12>>2];_[z+64+32>>2]=_[t+96>>2];_[z+64+32+4>>2]=_[t+96+4>>2];_[z+64+32+8>>2]=_[t+96+8>>2];_[z+64+32+12>>2]=_[t+96+12>>2];M=z+64+48|0;_[M>>2]=_[t+112>>2];_[M+4>>2]=_[t+112+4>>2];_[M+8>>2]=_[t+112+8>>2];_[M+12>>2]=_[t+112+12>>2];G=+a[I>>2];F=+a[M>>2];A=z+128+52|0;P=+a[A>>2];B=z+64+52|0;L=+a[B>>2];V=z+128+56|0;E=+a[V>>2];q=z+64+56|0;Q=+a[q>>2];a[I>>2]=G-(G+F)*.5;a[A>>2]=P-(P+L)*.5;a[V>>2]=E-(E+Q)*.5;a[M>>2]=F-(G+F)*.5;a[B>>2]=L-(P+L)*.5;a[q>>2]=Q-(E+Q)*.5;if(((_[(_[e+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)I=((_[(_[e+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else I=0;v=+a[e+44>>2];C=+a[e+48>>2];_[6037]=(_[6037]|0)+1;M=n[e+52>>0]|0;_[e+64>>2]=0;_[e+4>>2]=0;_[e+8>>2]=1065353216;_[e+12>>2]=0;a[e+16>>2]=0.0;_[e+68>>2]=0;_[e+60>>2]=-1;b=_[e+24>>2]|0;n[b+312>>0]=0;_[b>>2]=0;n[b+356>>0]=1;_[b+292>>2]=1566444395;_[b+296>>2]=1566444395;_[b+300>>2]=1566444395;a[b+304>>2]=0.0;_[b+336>>2]=0;_[b+336+4>>2]=0;_[b+336+8>>2]=0;_[b+336+12>>2]=0;n[b+336+16>>0]=0;n[b+332>>0]=n[b+332>>0]&-16;b=0;d=999999984306749440.0;do{m=+a[e+4>>2];p=+a[e+8>>2];c=+a[e+12>>2];l=+a[t+4>>2]*-m+ +a[t+20>>2]*-p+ +a[t+36>>2]*-c;f=+a[t+8>>2]*-m+ +a[t+24>>2]*-p+ +a[t+40>>2]*-c;a[z+48>>2]=+a[t>>2]*-m+ +a[t+16>>2]*-p+ +a[t+32>>2]*-c;a[z+48+4>>2]=l;a[z+48+8>>2]=f;a[z+48+12>>2]=0.0;f=m*+a[t+68>>2]+p*+a[t+84>>2]+c*+a[t+100>>2];l=m*+a[t+72>>2]+p*+a[t+88>>2]+c*+a[t+104>>2];a[z+32>>2]=+a[t+64>>2]*m+ +a[t+80>>2]*p+ +a[t+96>>2]*c;a[z+32+4>>2]=f;a[z+32+8>>2]=l;a[z+32+12>>2]=0.0;td(z+16|0,_[e+28>>2]|0,z+48|0);td(z,_[e+32>>2]|0,z+32|0);l=+a[z+16>>2];f=+a[z+16+4>>2];c=+a[z+16+8>>2];p=l*+a[z+128>>2]+f*+a[z+128+4>>2]+c*+a[z+128+8>>2]+ +a[z+128+48>>2];m=l*+a[z+128+16>>2]+f*+a[z+128+20>>2]+c*+a[z+128+24>>2]+ +a[A>>2];c=l*+a[z+128+32>>2]+f*+a[z+128+36>>2]+c*+a[z+128+40>>2]+ +a[V>>2];f=+a[z>>2];l=+a[z+4>>2];g=+a[z+8>>2];h=f*+a[z+64>>2]+l*+a[z+64+4>>2]+g*+a[z+64+8>>2]+ +a[z+64+48>>2];y=f*+a[z+64+16>>2]+l*+a[z+64+20>>2]+g*+a[z+64+24>>2]+ +a[B>>2];g=f*+a[z+64+32>>2]+l*+a[z+64+36>>2]+g*+a[z+64+40>>2]+ +a[q>>2];l=I?0.0:g;f=I?0.0:c;g=(I?0.0:c)-(I?0.0:g);c=+a[e+4>>2]*(p-h)+ +a[e+8>>2]*(m-y)+ +a[e+12>>2]*g;if(c>0.0?c*c>d*+a[t+128>>2]:0){_[e+68>>2]=10;b=1;o=0}else T=7;do{if((T|0)==7){T=0;j=_[e+24>>2]|0;R=_[j>>2]|0;e:do{if((R|0)>0){s=+a[j+308>>2];o=0;while(1){k=p-h-+a[j+4+(o<<4)>>2];S=m-y-+a[j+4+(o<<4)+4>>2];x=g-+a[j+4+(o<<4)+8>>2];o=o+1|0;if(k*k+S*S+x*x<=s){o=1;break e}if((o|0)>=(R|0)){o=0;break}}}else o=0}while(0);if((+a[j+304>>2]==0.0?g==+a[j+300>>2]:0)?m-y==+a[j+296>>2]:0){if(p-h==+a[j+292>>2]|o)T=16}else T=15;if((T|0)==15?(T=0,o):0)T=16;if((T|0)==16){T=0;_[e+68>>2]=1;b=1;o=0;break}s=d-c;if(s<=d*9.999999974752427e-07){_[e+68>>2]=s<=0.0?2:11;b=1;o=0;break}a[j+292>>2]=p-h;a[j+296>>2]=m-y;a[j+300>>2]=g;a[j+304>>2]=0.0;n[j+356>>0]=1;a[j+4+(R<<4)>>2]=p-h;a[j+4+(R<<4)+4>>2]=m-y;a[j+4+(R<<4)+8>>2]=g;a[j+4+(R<<4)+12>>2]=0.0;o=_[j>>2]|0;a[j+84+(o<<4)>>2]=p;a[j+84+(o<<4)+4>>2]=m;a[j+84+(o<<4)+8>>2]=f;a[j+84+(o<<4)+12>>2]=0.0;o=_[j>>2]|0;a[j+164+(o<<4)>>2]=h;a[j+164+(o<<4)+4>>2]=y;a[j+164+(o<<4)+8>>2]=l;a[j+164+(o<<4)+12>>2]=0.0;_[j>>2]=(_[j>>2]|0)+1;o=_[e+24>>2]|0;R=lc(o)|0;s=+a[o+276>>2];c=+a[o+280>>2];l=+a[o+284>>2];o=_[o+288>>2]|0;if(!R){_[e+68>>2]=3;b=1;o=0;break}if(s*s+c*c+l*l<9.999999974752427e-07){a[e+4>>2]=s;a[e+8>>2]=c;a[e+12>>2]=l;_[e+16>>2]=o;_[e+68>>2]=6;b=1;o=0;break}if(d-(s*s+c*c+l*l)<=d*1.1920928955078125e-07){_[e+68>>2]=12;d=s*s+c*c+l*l;b=1;o=0;break}a[e+4>>2]=s;a[e+8>>2]=c;a[e+12>>2]=l;_[e+16>>2]=o;R=_[e+64>>2]|0;_[e+64>>2]=R+1;if((R|0)<=1e3)if((_[_[e+24>>2]>>2]|0)==4){_[e+68>>2]=13;d=s*s+c*c+l*l;o=0}else{d=s*s+c*c+l*l;o=1}else{d=s*s+c*c+l*l;o=0}}}while(0)}while(o);w=M<<24>>24==0?C:0.0;v=(M<<24>>24==0?v:0.0)+w;if(b){M=_[e+24>>2]|0;lc(M)|0;s=+a[M+260>>2];p=+a[M+264>>2];f=+a[M+268>>2];_[z+192>>2]=_[e+4>>2];_[z+192+4>>2]=_[e+4+4>>2];_[z+192+8>>2]=_[e+4+8>>2];_[z+192+12>>2]=_[e+4+12>>2];c=+a[e+4>>2];l=+a[e+8>>2];m=+a[e+12>>2];if(c*c+l*l+m*m<9.999999974752427e-07)_[e+68>>2]=5;if(c*c+l*l+m*m>1.4210854715202004e-14){S=1.0/+W(+(c*c+l*l+m*m));a[z+192>>2]=S*+a[z+192>>2];a[O>>2]=S*+a[O>>2];a[H>>2]=S*+a[H>>2];x=w/+W(+d);d=1.0/S-v;b=1;o=1;s=x*c+s;p=x*l+p;f=x*m+f}else{d=0.0;b=0;o=2}_[e+60>>2]=o}else{d=0.0;b=0;s=0.0;p=0.0;f=0.0}if(((_[e+72>>2]|0)!=0?(_[e+20>>2]|0)!=0:0)?(_[e+68>>2]|0)!=0:0)o=v+d<1.0000000474974513e-03;else o=0;j=b^1;do{if(o|j?(D=_[e+20>>2]|0,(D|0)!=0):0){_[6036]=(_[6036]|0)+1;_[e+4>>2]=0;_[e+4+4>>2]=0;_[e+4+8>>2]=0;_[e+4+12>>2]=0;if(!(ha[_[(_[D>>2]|0)+8>>2]&3](D,_[e+24>>2]|0,_[e+28>>2]|0,_[e+32>>2]|0,z+128|0,z+64|0,e+4|0,z+48|0,z+32|0,r)|0)){l=+a[e+4>>2];h=+a[e+8>>2];g=+a[e+12>>2];if(!(l*l+h*h+g*g>0.0)){if(b){m=s;break}u=z;return}m=+a[z+32>>2];S=+a[z+48>>2]-m;y=+a[z+32+4>>2];x=+a[z+48+4>>2]-y;C=+a[z+32+8>>2];c=+a[z+48+8>>2]-C;c=+W(+(S*S+x*x+c*c))-v;if(c<d|j){_[z+192>>2]=_[e+4>>2];_[z+192+4>>2]=_[e+4+4>>2];_[z+192+8>>2]=_[e+4+8>>2];_[z+192+12>>2]=_[e+4+12>>2];x=+a[z+192>>2];f=+a[O>>2];p=+a[H>>2];d=1.0/+W(+(x*x+f*f+p*p));a[z+192>>2]=x*d;a[O>>2]=f*d;a[H>>2]=p*d;_[e+60>>2]=6;d=c;m=w*l+m;p=w*h+y;f=w*g+C;break}_[e+60>>2]=5;if(b){m=s;break}u=z;return}m=+a[z+32>>2];l=+a[z+48>>2];S=+a[z+32+4>>2];h=+a[z+48+4>>2];x=+a[z+32+8>>2];y=+a[z+48+8>>2];if(!((m-l)*(m-l)+(S-h)*(S-h)+(x-y)*(x-y)<=1.4210854715202004e-14)){c=(m-l)*(m-l)+(S-h)*(S-h)+(x-y)*(x-y);C=m-l;v=x-y;w=0.0;k=S-h}else{C=+a[e+4>>2];k=+a[e+8>>2];v=+a[e+12>>2];c=C*C+k*k+v*v;w=+a[e+16>>2]}if(!(c>1.4210854715202004e-14)){_[e+60>>2]=9;if(b){m=s;break}u=z;return}g=1.0/+W(+c);c=-+W(+((l-m)*(l-m)+(h-S)*(h-S)+(y-x)*(y-x)));_[e+60>>2]=3;if(d>c|j){a[z+192>>2]=C*g;a[O>>2]=k*g;a[H>>2]=v*g;a[z+192+12>>2]=w;d=c;p=S;f=x;break}_[e+60>>2]=8;if(b)m=s;else{u=z;return}}else T=54}while(0);if((T|0)==54)if(b)m=s;else{u=z;return}if(!(d<0.0)?!(d*d<+a[t+128>>2]):0){u=z;return}_[e+4>>2]=_[z+192>>2];_[e+4+4>>2]=_[z+192+4>>2];_[e+4+8>>2]=_[z+192+8>>2];_[e+4+12>>2]=_[z+192+12>>2];a[e+56>>2]=d;C=+a[z+192>>2];v=+a[O>>2];x=+a[H>>2];c=C*+a[t+4>>2]+v*+a[t+20>>2]+x*+a[t+36>>2];s=C*+a[t+8>>2]+v*+a[t+24>>2]+x*+a[t+40>>2];a[z+48>>2]=+a[t>>2]*C+ +a[t+16>>2]*v+ +a[t+32>>2]*x;a[z+48+4>>2]=c;a[z+48+8>>2]=s;a[z+48+12>>2]=0.0;s=+a[t+68>>2]*-C+ +a[t+84>>2]*-v+ +a[t+100>>2]*-x;c=+a[t+72>>2]*-C+ +a[t+88>>2]*-v+ +a[t+104>>2]*-x;a[z+32>>2]=+a[t+64>>2]*-C+ +a[t+80>>2]*-v+ +a[t+96>>2]*-x;a[z+32+4>>2]=s;a[z+32+8>>2]=c;a[z+32+12>>2]=0.0;td(z+16|0,_[e+28>>2]|0,z+48|0);td(z,_[e+32>>2]|0,z+32|0);c=+a[z+16>>2];s=+a[z+16+4>>2];x=+a[z+16+8>>2];v=+a[z>>2];C=+a[z+4>>2];g=+a[z+8>>2];S=+a[z+192>>2];k=+a[O>>2];w=+a[H>>2];g=-((c*+a[z+128+16>>2]+s*+a[z+128+20>>2]+x*+a[z+128+24>>2]+ +a[A>>2]-(v*+a[z+64+16>>2]+C*+a[z+64+20>>2]+g*+a[z+64+24>>2]+ +a[B>>2]))*k)-(c*+a[z+128>>2]+s*+a[z+128+4>>2]+x*+a[z+128+8>>2]+ +a[z+128+48>>2]-(v*+a[z+64>>2]+C*+a[z+64+4>>2]+g*+a[z+64+8>>2]+ +a[z+64+48>>2]))*S-(c*+a[z+128+32>>2]+s*+a[z+128+36>>2]+x*+a[z+128+40>>2]+ +a[V>>2]-(v*+a[z+64+32>>2]+C*+a[z+64+36>>2]+g*+a[z+64+40>>2]+ +a[q>>2]))*w;C=+a[t+4>>2]*-S+ +a[t+20>>2]*-k+ +a[t+36>>2]*-w;v=+a[t+8>>2]*-S+ +a[t+24>>2]*-k+ +a[t+40>>2]*-w;a[z+48>>2]=+a[t>>2]*-S+ +a[t+16>>2]*-k+ +a[t+32>>2]*-w;a[z+48+4>>2]=C;a[z+48+8>>2]=v;a[z+48+12>>2]=0.0;v=S*+a[t+68>>2]+k*+a[t+84>>2]+w*+a[t+100>>2];C=S*+a[t+72>>2]+k*+a[t+88>>2]+w*+a[t+104>>2];a[z+32>>2]=+a[t+64>>2]*S+ +a[t+80>>2]*k+ +a[t+96>>2]*w;a[z+32+4>>2]=v;a[z+32+8>>2]=C;a[z+32+12>>2]=0.0;td(z+16|0,_[e+28>>2]|0,z+48|0);td(z,_[e+32>>2]|0,z+32|0);C=+a[z+16>>2];v=+a[z+16+4>>2];w=+a[z+16+8>>2];k=+a[z>>2];S=+a[z+4>>2];x=+a[z+8>>2];s=+a[z+192>>2];c=+a[O>>2];l=+a[H>>2];if(g>(C*+a[z+128>>2]+v*+a[z+128+4>>2]+w*+a[z+128+8>>2]+ +a[z+128+48>>2]-(k*+a[z+64>>2]+S*+a[z+64+4>>2]+x*+a[z+64+8>>2]+ +a[z+64+48>>2]))*s+(C*+a[z+128+16>>2]+v*+a[z+128+20>>2]+w*+a[z+128+24>>2]+ +a[A>>2]-(k*+a[z+64+16>>2]+S*+a[z+64+20>>2]+x*+a[z+64+24>>2]+ +a[B>>2]))*c+(C*+a[z+128+32>>2]+v*+a[z+128+36>>2]+w*+a[z+128+40>>2]+ +a[V>>2]-(k*+a[z+64+32>>2]+S*+a[z+64+36>>2]+x*+a[z+64+40>>2]+ +a[q>>2]))*l){_[e+60>>2]=10;a[z+192>>2]=-s;a[O>>2]=-c;a[H>>2]=-l}e=_[(_[i>>2]|0)+16>>2]|0;a[z+48>>2]=(G+F)*.5+m;a[z+48+4>>2]=(P+L)*.5+p;a[z+48+8>>2]=(E+Q)*.5+f;a[z+48+12>>2]=0.0;Ka[e&15](i,z+192|0,z+48|0,d);u=z;return}function uc(e,t,i){e=e|0;t=t|0;i=i|0;var r=0.0,o=0.0,s=0.0,c=0.0,l=0.0,f=0.0,p=0.0,u=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0,D=0.0,T=0.0,O=0.0;R=+a[e+48>>2];f=+a[t>>2];j=+a[e+64>>2];C=+a[t+4>>2];S=+a[e+80>>2];D=+a[t+8>>2];p=+a[e+52>>2];o=+a[e+68>>2];m=+a[e+84>>2];h=+a[e+56>>2];y=+a[e+72>>2];g=+a[e+88>>2];I=+a[t+16>>2];u=+a[t+20>>2];d=+a[t+24>>2];s=+a[t+32>>2];k=+a[t+36>>2];w=+a[t+40>>2];l=+a[e+96>>2];c=+a[e+100>>2];x=+a[e+104>>2];r=+a[t+48>>2]+(f*l+C*c+D*x);v=I*l+u*c+d*x+ +a[t+52>>2];x=s*l+k*c+w*x+ +a[t+56>>2];a[e+1236>>2]=R*f+j*C+S*D;a[e+1240>>2]=f*p+C*o+D*m;a[e+1244>>2]=f*h+C*y+D*g;a[e+1248>>2]=0.0;a[e+1252>>2]=R*I+j*u+S*d;a[e+1256>>2]=p*I+o*u+m*d;a[e+1260>>2]=h*I+y*u+g*d;a[e+1264>>2]=0.0;a[e+1268>>2]=R*s+j*k+S*w;a[e+1272>>2]=p*s+o*k+m*w;a[e+1276>>2]=h*s+y*k+g*w;a[e+1280>>2]=0.0;a[e+1284>>2]=r;a[e+1288>>2]=v;a[e+1292>>2]=x;a[e+1296>>2]=0.0;x=+a[e+112>>2];v=+a[i>>2];r=+a[e+128>>2];w=+a[i+4>>2];g=+a[e+144>>2];k=+a[i+8>>2];y=+a[e+116>>2];s=+a[e+132>>2];h=+a[e+148>>2];m=+a[e+120>>2];o=+a[e+136>>2];p=+a[e+152>>2];S=+a[i+16>>2];j=+a[i+20>>2];R=+a[i+24>>2];d=+a[i+32>>2];u=+a[i+36>>2];I=+a[i+40>>2];D=+a[e+160>>2];C=+a[e+164>>2];f=+a[e+168>>2];c=+a[i+48>>2]+(v*D+w*C+k*f);l=S*D+j*C+R*f+ +a[i+52>>2];f=d*D+u*C+I*f+ +a[i+56>>2];a[e+1300>>2]=x*v+r*w+g*k;a[e+1304>>2]=v*y+w*s+k*h;a[e+1308>>2]=v*m+w*o+k*p;a[e+1312>>2]=0.0;a[e+1316>>2]=x*S+r*j+g*R;a[e+1320>>2]=y*S+s*j+h*R;a[e+1324>>2]=m*S+o*j+p*R;a[e+1328>>2]=0.0;a[e+1332>>2]=x*d+r*u+g*I;a[e+1336>>2]=y*d+s*u+h*I;a[e+1340>>2]=m*d+o*u+p*I;a[e+1344>>2]=0.0;a[e+1348>>2]=c;a[e+1352>>2]=l;a[e+1356>>2]=f;a[e+1360>>2]=0.0;c=c-+a[e+1284>>2];l=l-+a[e+1288>>2];f=f-+a[e+1292>>2];I=+a[e+1256>>2];p=+a[e+1276>>2];u=+a[e+1260>>2];o=+a[e+1272>>2];d=+a[e+1268>>2];m=+a[e+1252>>2];h=+a[e+1236>>2];s=+a[e+1240>>2];y=+a[e+1244>>2];g=1.0/((I*p-u*o)*h+s*(u*d-p*m)+(o*m-I*d)*y);r=f*(u*s-I*y)*g+(c*(I*p-u*o)*g+l*(o*y-p*s)*g);a[e+1428>>2]=r;a[e+1432>>2]=f*(m*y-u*h)*g+(c*(u*d-p*m)*g+l*(p*h-d*y)*g);a[e+1436>>2]=f*(I*h-m*s)*g+(c*(o*m-I*d)*g+l*(d*s-o*h)*g);a[e+1440>>2]=0.0;a[e+940>>2]=r;o=+a[e+680>>2];s=+a[e+696>>2];if(!(o>s)){a[e+908>>2]=r-o;if(o==s){t=3;s=f*(m*y-u*h)*g+(c*(u*d-p*m)*g+l*(p*h-d*y)*g)}else{r=r-s;t=4;i=e+924|0;M=4}}else{r=0.0;t=0;i=e+908|0;M=4}if((M|0)==4){a[i>>2]=r;s=+a[e+1432>>2]}_[e+956>>2]=t;a[e+944>>2]=s;r=+a[e+684>>2];o=+a[e+700>>2];if(!(r>o)){a[e+912>>2]=s-r;if(r==o)t=3;else{r=s-o;t=4;i=e+924|0;M=8}}else{r=0.0;t=0;i=e+908|0;M=8}if((M|0)==8)a[i+4>>2]=r;_[e+960>>2]=t;i=_[e+1436>>2]|0;_[e+948>>2]=i;r=(_[b>>2]=i,+a[b>>2]);o=+a[e+688>>2];s=+a[e+704>>2];if(!(o>s)){a[e+916>>2]=r-o;if(o==s)t=3;else{r=r-s;t=4;i=e+924|0;M=12}}else{r=0.0;t=0;i=e+908|0;M=12}if((M|0)==12)a[i+8>>2]=r;_[e+964>>2]=t;D=+a[e+1256>>2];p=+a[e+1276>>2];f=+a[e+1260>>2];T=+a[e+1272>>2];O=+a[e+1268>>2];h=+a[e+1252>>2];y=+a[e+1236>>2];g=+a[e+1240>>2];C=+a[e+1244>>2];d=1.0/((D*p-f*T)*y+g*(f*O-p*h)+(T*h-D*O)*C);v=+a[e+1300>>2];w=+a[e+1316>>2];k=+a[e+1332>>2];r=k*(f*g-D*C)*d+(v*(D*p-f*T)*d+w*(T*C-p*g)*d);S=+a[e+1304>>2];m=+a[e+1320>>2];j=+a[e+1336>>2];o=(D*p-f*T)*d*S+(T*C-p*g)*d*m+(f*g-D*C)*d*j;R=+a[e+1308>>2];x=+a[e+1324>>2];I=+a[e+1340>>2];s=(D*p-f*T)*d*R+(T*C-p*g)*d*x+(f*g-D*C)*d*I;c=k*(h*C-f*y)*d+(v*(f*O-p*h)*d+w*(p*y-O*C)*d);l=S*(f*O-p*h)*d+(p*y-O*C)*d*m+(h*C-f*y)*d*j;f=(f*O-p*h)*d*R+(p*y-O*C)*d*x+(h*C-f*y)*d*I;p=k*(D*y-h*g)*d+(v*(T*h-D*O)*d+w*(O*g-T*y)*d);u=S*(T*h-D*O)*d+(O*g-T*y)*d*m+(D*y-h*g)*d*j;d=(T*h-D*O)*d*R+(O*g-T*y)*d*x+(D*y-h*g)*d*I;switch(_[e+1232>>2]|0){case 0:{do{if(p<1.0)if(p>-1.0){a[e+1364>>2]=+q(+-u,+d);O=p<-1.0?-1.0:p;a[e+1368>>2]=+V(+(O>1.0?1.0:O));r=+q(+-c,+r);break}else{a[e+1364>>2]=-+q(+o,+l);a[e+1368>>2]=-1.5707963705062866;r=0.0;break}else{a[e+1364>>2]=+q(+o,+l);a[e+1368>>2]=1.5707963705062866;r=0.0}}while(0);a[e+1372>>2]=r;O=+a[e+1260>>2];r=+a[e+1276>>2];a[e+1396>>2]=k*O-w*r;a[e+1400>>2]=v*r-k*C;a[e+1404>>2]=w*C-v*O;a[e+1408>>2]=0.0;a[e+1380>>2]=r*(v*r-k*C)-O*(w*C-v*O);a[e+1384>>2]=C*(w*C-v*O)-r*(k*O-w*r);a[e+1388>>2]=O*(k*O-w*r)-C*(v*r-k*C);a[e+1392>>2]=0.0;s=k*(k*O-w*r)-v*(w*C-v*O);c=w*(w*C-v*O)-k*(v*r-k*C);t=2;o=v*(v*r-k*C);r=w*(k*O-w*r);break}case 1:{do{if(c<1.0)if(c>-1.0){a[e+1364>>2]=+q(+f,+l);a[e+1368>>2]=+q(+p,+r);r=-c<-1.0?-1.0:-c;r=+V(+(r>1.0?1.0:r));break}else{a[e+1364>>2]=-+q(+-s,+d);a[e+1368>>2]=0.0;r=1.5707963705062866;break}else{a[e+1364>>2]=+q(+-s,+d);a[e+1368>>2]=0.0;r=-1.5707963705062866}}while(0);a[e+1372>>2]=r;o=+a[e+1256>>2];r=+a[e+1272>>2];a[e+1412>>2]=w*r-k*o;a[e+1416>>2]=k*g-v*r;a[e+1420>>2]=v*o-w*g;a[e+1424>>2]=0.0;a[e+1380>>2]=o*(v*o-w*g)-r*(k*g-v*r);a[e+1384>>2]=r*(w*r-k*o)-g*(v*o-w*g);a[e+1388>>2]=g*(k*g-v*r)-o*(w*r-k*o);a[e+1392>>2]=0.0;s=v*(v*o-w*g)-k*(w*r-k*o);c=k*(k*g-v*r)-w*(v*o-w*g);t=1;o=w*(w*r-k*o);r=v*(k*g-v*r);break}case 2:{do{if(u<1.0)if(u>-1.0){r=-u<-1.0?-1.0:-u;a[e+1364>>2]=+V(+(r>1.0?1.0:r));a[e+1368>>2]=+q(+p,+d);r=+q(+o,+l);break}else{a[e+1364>>2]=1.5707963705062866;a[e+1368>>2]=-+q(+-c,+r);r=0.0;break}else{a[e+1364>>2]=-1.5707963705062866;a[e+1368>>2]=+q(+-c,+r);r=0.0}}while(0);a[e+1372>>2]=r;o=+a[e+1260>>2];r=+a[e+1276>>2];a[e+1380>>2]=m*r-j*o;a[e+1384>>2]=j*C-S*r;a[e+1388>>2]=S*o-m*C;a[e+1392>>2]=0.0;a[e+1396>>2]=o*(S*o-m*C)-r*(j*C-S*r);a[e+1400>>2]=r*(m*r-j*o)-C*(S*o-m*C);a[e+1404>>2]=C*(j*C-S*r)-o*(m*r-j*o);a[e+1408>>2]=0.0;s=S*(S*o-m*C)-j*(m*r-j*o);c=j*(j*C-S*r)-m*(S*o-m*C);t=2;o=m*(m*r-j*o);r=S*(j*C-S*r);break}case 3:{do{if(o<1.0)if(o>-1.0){a[e+1364>>2]=+q(+-u,+l);a[e+1368>>2]=+q(+-s,+r);r=o<-1.0?-1.0:o;r=+V(+(r>1.0?1.0:r));break}else{a[e+1364>>2]=0.0;a[e+1368>>2]=-+q(+f,+d);r=-1.5707963705062866;break}else{a[e+1364>>2]=0.0;a[e+1368>>2]=+q(+f,+d);r=1.5707963705062866}}while(0);a[e+1372>>2]=r;r=+a[e+1268>>2];a[e+1412>>2]=h*j-r*m;a[e+1416>>2]=r*S-y*j;a[e+1420>>2]=y*m-h*S;a[e+1424>>2]=0.0;a[e+1380>>2]=m*(y*m-h*S)-j*(r*S-y*j);a[e+1384>>2]=j*(h*j-r*m)-S*(y*m-h*S);a[e+1388>>2]=S*(r*S-y*j)-m*(h*j-r*m);a[e+1392>>2]=0.0;s=y*(y*m-h*S)-r*(h*j-r*m);c=r*(r*S-y*j)-h*(y*m-h*S);t=1;o=h*(h*j-r*m);r=y*(r*S-y*j);break}case 4:{do{if(f<1.0)if(f>-1.0){r=f<-1.0?-1.0:f;a[e+1364>>2]=+V(+(r>1.0?1.0:r));a[e+1368>>2]=+q(+-s,+d);r=+q(+-c,+l);break}else{a[e+1364>>2]=-1.5707963705062866;a[e+1368>>2]=0.0;r=-+q(+p,+r);break}else{a[e+1364>>2]=1.5707963705062866;a[e+1368>>2]=0.0;r=+q(+p,+r)}}while(0);a[e+1372>>2]=r;o=+a[e+1256>>2];r=+a[e+1272>>2];a[e+1380>>2]=o*I-r*x;a[e+1384>>2]=r*R-g*I;a[e+1388>>2]=g*x-o*R;a[e+1392>>2]=0.0;a[e+1396>>2]=x*(g*x-o*R)-I*(r*R-g*I);a[e+1400>>2]=I*(o*I-r*x)-R*(g*x-o*R);a[e+1404>>2]=R*(r*R-g*I)-x*(o*I-r*x);a[e+1408>>2]=0.0;s=g*(g*x-o*R)-r*(o*I-r*x);c=r*(r*R-g*I)-o*(g*x-o*R);t=2;o=o*(o*I-r*x);r=g*(r*R-g*I);break}case 5:{do{if(s<1.0)if(s>-1.0){a[e+1364>>2]=+q(+f,+d);O=-s<-1.0?-1.0:-s;a[e+1368>>2]=+V(+(O>1.0?1.0:O));r=+q(+o,+r);break}else{a[e+1364>>2]=0.0;a[e+1368>>2]=1.5707963705062866;r=-+q(+c,+p);break}else{a[e+1364>>2]=0.0;a[e+1368>>2]=-1.5707963705062866;r=+q(+-c,+-p)}}while(0);a[e+1372>>2]=r;r=+a[e+1268>>2];a[e+1396>>2]=r*x-h*I;a[e+1400>>2]=y*I-r*R;a[e+1404>>2]=h*R-y*x;a[e+1408>>2]=0.0;a[e+1380>>2]=I*(y*I-r*R)-x*(h*R-y*x);a[e+1384>>2]=R*(h*R-y*x)-I*(r*x-h*I);a[e+1388>>2]=x*(r*x-h*I)-R*(y*I-r*R);a[e+1392>>2]=0.0;s=r*(r*x-h*I)-y*(h*R-y*x);c=h*(h*R-y*x)-r*(y*I-r*R);t=2;o=y*(y*I-r*R);r=h*(r*x-h*I);break}default:{t=e+1380|0;O=+a[t>>2];T=O*O;i=e+1384|0;D=+a[i>>2];I=D*D;I=T+I;M=e+1388|0;T=+a[M>>2];x=T*T;x=I+x;x=+W(+x);x=1.0/x;O=O*x;a[t>>2]=O;D=D*x;a[i>>2]=D;x=T*x;a[M>>2]=x;M=e+1396|0;x=+a[M>>2];T=x*x;i=e+1400|0;D=+a[i>>2];O=D*D;O=T+O;t=e+1404|0;T=+a[t>>2];I=T*T;I=O+I;I=+W(+I);I=1.0/I;x=x*I;a[M>>2]=x;D=D*I;a[i>>2]=D;I=T*I;a[t>>2]=I;t=e+1412|0;I=+a[t>>2];T=I*I;i=e+1416|0;D=+a[i>>2];x=D*D;x=T+x;M=e+1420|0;T=+a[M>>2];O=T*T;O=x+O;O=+W(+O);O=1.0/O;I=I*O;a[t>>2]=I;D=D*O;a[i>>2]=D;O=T*O;a[M>>2]=O;M=e+28|0;M=_[M>>2]|0;M=M+404|0;O=+a[M>>2];M=e+32|0;M=_[M>>2]|0;M=M+404|0;T=+a[M>>2];M=O<1.1920928955078125e-07;i=T<1.1920928955078125e-07;i=M|i;M=e+1452|0;i=i&1;n[M>>0]=i;O=O+T;M=O>0.0;O=T/O;O=M?O:.5;M=e+1444|0;a[M>>2]=O;O=1.0-O;e=e+1448|0;a[e>>2]=O;return}}a[e+1380+(t<<4)>>2]=c;a[e+1380+(t<<4)+4>>2]=s;a[e+1380+(t<<4)+8>>2]=o-r;a[e+1380+(t<<4)+12>>2]=0.0;t=e+1380|0;O=+a[t>>2];T=O*O;i=e+1384|0;D=+a[i>>2];I=D*D;I=T+I;M=e+1388|0;T=+a[M>>2];x=T*T;x=I+x;x=+W(+x);x=1.0/x;O=O*x;a[t>>2]=O;D=D*x;a[i>>2]=D;x=T*x;a[M>>2]=x;M=e+1396|0;x=+a[M>>2];T=x*x;i=e+1400|0;D=+a[i>>2];O=D*D;O=T+O;t=e+1404|0;T=+a[t>>2];I=T*T;I=O+I;I=+W(+I);I=1.0/I;x=x*I;a[M>>2]=x;D=D*I;a[i>>2]=D;I=T*I;a[t>>2]=I;t=e+1412|0;I=+a[t>>2];T=I*I;i=e+1416|0;D=+a[i>>2];x=D*D;x=T+x;M=e+1420|0;T=+a[M>>2];O=T*T;O=x+O;O=+W(+O);O=1.0/O;I=I*O;a[t>>2]=I;D=D*O;a[i>>2]=D;O=T*O;a[M>>2]=O;M=e+28|0;M=_[M>>2]|0;M=M+404|0;O=+a[M>>2];M=e+32|0;M=_[M>>2]|0;M=M+404|0;T=+a[M>>2];M=O<1.1920928955078125e-07;i=T<1.1920928955078125e-07;i=M|i;M=e+1452|0;i=i&1;n[M>>0]=i;O=O+T;M=O>0.0;O=T/O;O=M?O:.5;M=e+1444|0;a[M>>2]=O;O=1.0-O;e=e+1448|0;a[e>>2]=O;return}function vc(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0.0,s=0.0,c=0.0,l=0.0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0.0,A=0.0,P=0.0,B=0,L=0;g=u;u=u+208|0;if(ya[_[(_[e>>2]|0)+20>>2]&127](e)|0?(h=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0,(ya[_[(_[h>>2]|0)+56>>2]&127](h)|0)&32768|0):0){h=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[h>>2]|0)+64>>2]&7](h,t,.10000000149011612)}r=_[i+4>>2]|0;switch(r|0){case 31:{r=_[i+20>>2]|0;if((r|0)<=0){u=g;return}do{y=r;r=r+-1|0;h=_[i+28>>2]|0;D=+a[h+(r*80|0)>>2];x=+a[h+(r*80|0)+4>>2];S=+a[h+(r*80|0)+8>>2];M=+a[h+(r*80|0)+16>>2];R=+a[h+(r*80|0)+20>>2];w=+a[h+(r*80|0)+24>>2];I=+a[h+(r*80|0)+32>>2];j=+a[h+(r*80|0)+36>>2];C=+a[h+(r*80|0)+40>>2];P=+a[h+(r*80|0)+48>>2];A=+a[h+(r*80|0)+52>>2];l=+a[h+(r*80|0)+56>>2];h=_[h+(r*80|0)+64>>2]|0;m=_[(_[e>>2]|0)+28>>2]|0;F=+a[t>>2];W=+a[t+4>>2];G=+a[t+8>>2];H=+a[t+16>>2];O=+a[t+20>>2];T=+a[t+24>>2];k=+a[t+32>>2];v=+a[t+36>>2];o=+a[t+40>>2];s=P*F+A*W+l*G+ +a[t+48>>2];c=P*H+A*O+l*T+ +a[t+52>>2];l=P*k+A*v+l*o+ +a[t+56>>2];a[g+144>>2]=D*F+M*W+I*G;a[g+144+4>>2]=x*F+R*W+j*G;a[g+144+8>>2]=S*F+w*W+C*G;a[g+144+12>>2]=0.0;a[g+144+16>>2]=D*H+M*O+I*T;a[g+144+20>>2]=x*H+R*O+j*T;a[g+144+24>>2]=S*H+w*O+C*T;a[g+144+28>>2]=0.0;a[g+144+32>>2]=D*k+M*v+I*o;a[g+144+36>>2]=x*k+R*v+j*o;a[g+144+40>>2]=S*k+w*v+C*o;a[g+144+44>>2]=0.0;a[g+144+48>>2]=s;a[g+144+52>>2]=c;a[g+144+56>>2]=l;a[g+144+60>>2]=0.0;$a[m&127](e,g+144|0,h,n)}while((y|0)>1);u=g;return}case 0:{_[g+144>>2]=_[i+32>>2];_[g+144+4>>2]=_[i+32+4>>2];_[g+144+8>>2]=_[i+32+8>>2];_[g+144+12>>2]=_[i+32+12>>2];F=+Da[_[(_[i>>2]|0)+48>>2]&15](i);A=+Da[_[(_[i>>2]|0)+48>>2]&15](i);P=+Da[_[(_[i>>2]|0)+48>>2]&15](i);F=F+ +a[g+144>>2];a[g+144>>2]=F;A=A+ +a[g+144+4>>2];a[g+144+4>>2]=A;P=P+ +a[g+144+8>>2];a[g+144+8>>2]=P;i=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;e=_[(_[i>>2]|0)+80>>2]|0;a[g+128>>2]=-F;a[g+128+4>>2]=-A;a[g+128+8>>2]=-P;a[g+128+12>>2]=0.0;ba[e&31](i,g+128|0,g+144|0,t,n);u=g;return}case 8:{P=+Da[_[(_[i>>2]|0)+48>>2]&15](i);i=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;va[_[(_[i>>2]|0)+24>>2]&0](i,P,t,n);u=g;return}case 9:{r=_[i+96>>2]|0;if((r|0)<=0){u=g;return}do{y=r;r=r+-1|0;h=_[i+104>>2]|0;S=+a[h+(r<<4)>>2];j=+a[h+(r<<4)+4>>2];A=+a[h+(r<<4)+8>>2];h=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;m=_[(_[h>>2]|0)+24>>2]|0;P=+a[(_[i+124>>2]|0)+(r<<2)>>2];x=+a[t>>2];I=+a[t+4>>2];R=+a[t+8>>2];D=+a[t+16>>2];T=+a[t+20>>2];M=+a[t+24>>2];H=+a[t+32>>2];G=+a[t+36>>2];O=+a[t+40>>2];W=S*x+j*I+A*R+ +a[t+48>>2];F=S*D+j*T+A*M+ +a[t+52>>2];A=S*H+j*G+A*O+ +a[t+56>>2];a[g+144>>2]=x+I*0.0+R*0.0;a[g+144+4>>2]=x*0.0+I+R*0.0;a[g+144+8>>2]=R+(x*0.0+I*0.0);a[g+144+12>>2]=0.0;a[g+144+16>>2]=D+T*0.0+M*0.0;a[g+144+20>>2]=D*0.0+T+M*0.0;a[g+144+24>>2]=M+(D*0.0+T*0.0);a[g+144+28>>2]=0.0;a[g+144+32>>2]=H+G*0.0+O*0.0;a[g+144+36>>2]=H*0.0+G+O*0.0;a[g+144+40>>2]=O+(H*0.0+G*0.0);a[g+144+44>>2]=0.0;a[g+144+48>>2]=W;a[g+144+52>>2]=F;a[g+144+56>>2]=A;a[g+144+60>>2]=0.0;va[m&0](h,P,g+144|0,n)}while((y|0)>1);u=g;return}case 10:{y=_[i+56>>2]|0;A=+a[i+32+(((y+2|0)%3|0)<<2)>>2];P=+a[i+32+(y<<2)>>2];i=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ca[_[(_[i>>2]|0)+84>>2]&0](i,A,P,y,t,n);u=g;return}case 11:{A=+a[i+60>>2];P=+a[i+64>>2];i=_[i+72>>2]|0;e=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ca[_[(_[e>>2]|0)+92>>2]&0](e,A,P,i,t,n);u=g;return}case 13:{y=_[i+56>>2]|0;A=+Da[_[(_[i>>2]|0)+92>>2]&15](i);_[g+112>>2]=_[i+32>>2];_[g+112+4>>2]=_[i+32+4>>2];_[g+112+8>>2]=_[i+32+8>>2];_[g+112+12>>2]=_[i+32+12>>2];W=+Da[_[(_[i>>2]|0)+48>>2]&15](i);F=+Da[_[(_[i>>2]|0)+48>>2]&15](i);P=+Da[_[(_[i>>2]|0)+48>>2]&15](i);a[g+112>>2]=W+ +a[g+112>>2];a[g+112+4>>2]=F+ +a[g+112+4>>2];a[g+112+8>>2]=P+ +a[g+112+8>>2];P=+a[g+112+(y<<2)>>2];i=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ca[_[(_[i>>2]|0)+88>>2]&0](i,A,P,y,t,n);u=g;return}case 28:{P=+a[i+68>>2];e=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ha[_[(_[e>>2]|0)+96>>2]&0](e,i+52|0,P,t,n);u=g;return}default:{e:do{if((r|0)<7){h=_[i+56>>2]|0;if(!h){if((ya[_[(_[i>>2]|0)+100>>2]&127](i)|0)<=0)break;r=0;while(1){$a[_[(_[i>>2]|0)+104>>2]&127](i,r,g+144|0,g+128|0);F=+a[g+144>>2];S=+a[t>>2];G=+a[g+144+4>>2];j=+a[t+4>>2];O=+a[g+144+8>>2];R=+a[t+8>>2];I=+a[t+16>>2];M=+a[t+20>>2];D=+a[t+24>>2];H=+a[t+32>>2];W=+a[t+36>>2];A=+a[t+40>>2];x=+a[t+48>>2];T=+a[t+52>>2];P=+a[t+56>>2];a[g+16>>2]=F*S+G*j+O*R+x;a[g+16+4>>2]=F*I+G*M+O*D+T;a[g+16+8>>2]=F*H+G*W+O*A+P;a[g+16+12>>2]=0.0;O=+a[g+128>>2];G=+a[g+128+4>>2];F=+a[g+128+8>>2];a[g>>2]=O*S+G*j+F*R+x;a[g+4>>2]=O*I+G*M+F*D+T;a[g+8>>2]=O*H+G*W+F*A+P;a[g+12>>2]=0.0;y=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;$a[_[(_[y>>2]|0)+16>>2]&127](y,g+16|0,g,n);r=r+1|0;if((r|0)>=(ya[_[(_[i>>2]|0)+100>>2]&127](i)|0))break e}}if((_[h+28>>2]|0)>0){m=0;do{r=_[h+36>>2]|0;d=_[r+(m*36|0)+4>>2]|0;t:do{if((d|0)!=0?(y=_[r+(m*36|0)+12>>2]|0,(d|0)>0):0){r=0;b=_[y+(d+-1<<2)>>2]|0;f=y;o=0.0;s=0.0;l=0.0;while(1){p=_[f+(r<<2)>>2]|0;f=_[h+16>>2]|0;o=o+ +a[f+(p<<4)>>2];s=s+ +a[f+(p<<4)+4>>2];l=l+ +a[f+(p<<4)+8>>2];f=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;B=_[(_[f>>2]|0)+16>>2]|0;L=_[h+16>>2]|0;F=+a[L+(b<<4)>>2];S=+a[t>>2];G=+a[L+(b<<4)+4>>2];j=+a[t+4>>2];O=+a[L+(b<<4)+8>>2];R=+a[t+8>>2];I=+a[t+16>>2];M=+a[t+20>>2];D=+a[t+24>>2];H=+a[t+32>>2];W=+a[t+36>>2];A=+a[t+40>>2];x=+a[t+48>>2];T=+a[t+52>>2];P=+a[t+56>>2];a[g+144>>2]=F*S+G*j+O*R+x;a[g+144+4>>2]=F*I+G*M+O*D+T;a[g+144+8>>2]=F*H+G*W+O*A+P;a[g+144+12>>2]=0.0;O=+a[L+(p<<4)>>2];G=+a[L+(p<<4)+4>>2];F=+a[L+(p<<4)+8>>2];a[g+128>>2]=O*S+G*j+F*R+x;a[g+128+4>>2]=O*I+G*M+F*D+T;a[g+128+8>>2]=O*H+G*W+F*A+P;a[g+128+12>>2]=0.0;$a[B&127](f,g+144|0,g+128|0,n);r=r+1|0;f=_[h+36>>2]|0;if((r|0)>=(_[f+(m*36|0)+4>>2]|0))break t;b=p;f=_[f+(m*36|0)+12>>2]|0}}else{o=0.0;s=0.0;l=0.0}}while(0);c=1.0/+(d|0)*o;s=1.0/+(d|0)*s;o=1.0/+(d|0)*l;L=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;if((ya[_[(_[L>>2]|0)+56>>2]&127](L)|0)&16384|0){_[g+144>>2]=1065353216;_[g+144+4>>2]=1065353216;_[g+144+8>>2]=0;a[g+144+12>>2]=0.0;L=_[h+36>>2]|0;O=+a[L+(m*36|0)+20>>2];G=+a[L+(m*36|0)+24>>2];F=+a[L+(m*36|0)+28>>2];L=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;B=_[(_[L>>2]|0)+16>>2]|0;S=+a[t>>2];j=+a[t+4>>2];R=+a[t+8>>2];I=+a[t+16>>2];M=+a[t+20>>2];D=+a[t+24>>2];H=+a[t+32>>2];W=+a[t+36>>2];A=+a[t+40>>2];x=+a[t+48>>2];T=+a[t+52>>2];P=+a[t+56>>2];a[g+128>>2]=c*S+s*j+o*R+x;a[g+128+4>>2]=c*I+s*M+o*D+T;a[g+128+8>>2]=c*H+s*W+o*A+P;a[g+128+12>>2]=0.0;a[g+16>>2]=(c+O)*S+(s+G)*j+(o+F)*R+x;a[g+16+4>>2]=(c+O)*I+(s+G)*M+(o+F)*D+T;a[g+16+8>>2]=(c+O)*H+(s+G)*W+(o+F)*A+P;a[g+16+12>>2]=0.0;$a[B&127](L,g+128|0,g+16|0,g+144|0)}m=m+1|0}while((m|0)<(_[h+28>>2]|0))}}}while(0);r=_[i+4>>2]|0;if((r+-21|0)>>>0<9){_[g+144>>2]=1566444395;_[g+144+4>>2]=1566444395;_[g+144+8>>2]=1566444395;a[g+144+12>>2]=0.0;_[g+128>>2]=-581039253;_[g+128+4>>2]=-581039253;_[g+128+8>>2]=-581039253;a[g+128+12>>2]=0.0;r=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;_[g+16>>2]=5124;_[g+16+4>>2]=5148;_[g+16+8>>2]=r;_[g+16+12>>2]=_[n>>2];_[g+16+12+4>>2]=_[n+4>>2];_[g+16+12+8>>2]=_[n+8>>2];_[g+16+12+12>>2]=_[n+12>>2];_[g+16+28>>2]=_[t>>2];_[g+16+28+4>>2]=_[t+4>>2];_[g+16+28+8>>2]=_[t+8>>2];_[g+16+28+12>>2]=_[t+12>>2];_[g+16+44>>2]=_[t+16>>2];_[g+16+44+4>>2]=_[t+16+4>>2];_[g+16+44+8>>2]=_[t+16+8>>2];_[g+16+44+12>>2]=_[t+16+12>>2];_[g+16+60>>2]=_[t+32>>2];_[g+16+60+4>>2]=_[t+32+4>>2];_[g+16+60+8>>2]=_[t+32+8>>2];_[g+16+60+12>>2]=_[t+32+12>>2];_[g+16+76>>2]=_[t+48>>2];_[g+16+76+4>>2]=_[t+48+4>>2];_[g+16+76+8>>2]=_[t+48+8>>2];_[g+16+76+12>>2]=_[t+48+12>>2];$a[_[(_[i>>2]|0)+64>>2]&127](i,g+16|0,g+128|0,g+144|0);r=_[i+4>>2]|0}if((r|0)!=3){u=g;return}_[g+144>>2]=1566444395;_[g+144+4>>2]=1566444395;_[g+144+8>>2]=1566444395;a[g+144+12>>2]=0.0;_[g+128>>2]=-581039253;_[g+128+4>>2]=-581039253;_[g+128+8>>2]=-581039253;a[g+128+12>>2]=0.0;L=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;_[g+16>>2]=5124;_[g+16+4>>2]=5148;_[g+16+8>>2]=L;_[g+16+12>>2]=_[n>>2];_[g+16+12+4>>2]=_[n+4>>2];_[g+16+12+8>>2]=_[n+8>>2];_[g+16+12+12>>2]=_[n+12>>2];_[g+16+28>>2]=_[t>>2];_[g+16+28+4>>2]=_[t+4>>2];_[g+16+28+8>>2]=_[t+8>>2];_[g+16+28+12>>2]=_[t+12>>2];_[g+16+44>>2]=_[t+16>>2];_[g+16+44+4>>2]=_[t+16+4>>2];_[g+16+44+8>>2]=_[t+16+8>>2];_[g+16+44+12>>2]=_[t+16+12>>2];_[g+16+60>>2]=_[t+32>>2];_[g+16+60+4>>2]=_[t+32+4>>2];_[g+16+60+8>>2]=_[t+32+8>>2];_[g+16+60+12>>2]=_[t+32+12>>2];_[g+16+76>>2]=_[t+48>>2];_[g+16+76+4>>2]=_[t+48+4>>2];_[g+16+76+8>>2]=_[t+48+8>>2];_[g+16+76+12>>2]=_[t+48+12>>2];L=_[i+96>>2]|0;$a[_[(_[L>>2]|0)+8>>2]&127](L,g+16+4|0,g+128|0,g+144|0);u=g;return}}}function wc(e,t){e=e|0;t=+t;var i=0,r=0.0,o=0,s=0,c=0,l=0.0,f=0.0,b=0,p=0,d=0,m=0,h=0.0,y=0,g=0,C=0.0,v=0.0,w=0.0,k=0.0,S=0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0;y=u;u=u+96|0;d=_[e+128>>2]|0;if(!d){u=y;return}i=_[e+8>>2]|0;if((i|0)<(d|0)){if((_[e+12>>2]|0)<(d|0)){_[6293]=(_[6293]|0)+1;o=cc((d<<4|3)+16|0)|0;if(!o)c=0;else{_[(o+4+15&-16)+-4>>2]=o;c=o+4+15&-16}s=_[e+8>>2]|0;if((s|0)>0){o=0;do{b=c+(o<<4)|0;g=(_[e+16>>2]|0)+(o<<4)|0;_[b>>2]=_[g>>2];_[b+4>>2]=_[g+4>>2];_[b+8>>2]=_[g+8>>2];_[b+12>>2]=_[g+12>>2];o=o+1|0}while((o|0)!=(s|0))}o=_[e+16>>2]|0;if(o|0){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=c;_[e+12>>2]=d;o=e+16|0}else o=e+16|0;do{g=(_[o>>2]|0)+(i<<4)|0;_[g>>2]=_[y+48>>2];_[g+4>>2]=_[y+48+4>>2];_[g+8>>2]=_[y+48+8>>2];_[g+12>>2]=_[y+48+12>>2];i=i+1|0}while((i|0)!=(d|0))}_[e+8>>2]=d;i=_[e+28>>2]|0;if((i|0)<(d|0)){if((_[e+32>>2]|0)<(d|0)){_[6293]=(_[6293]|0)+1;o=cc((d<<4|3)+16|0)|0;if(!o)c=0;else{_[(o+4+15&-16)+-4>>2]=o;c=o+4+15&-16}s=_[e+28>>2]|0;if((s|0)>0){o=0;do{g=c+(o<<4)|0;b=(_[e+36>>2]|0)+(o<<4)|0;_[g>>2]=_[b>>2];_[g+4>>2]=_[b+4>>2];_[g+8>>2]=_[b+8>>2];_[g+12>>2]=_[b+12>>2];o=o+1|0}while((o|0)!=(s|0))}o=_[e+36>>2]|0;if(o|0){if(n[e+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+36>>2]=0}n[e+40>>0]=1;_[e+36>>2]=c;_[e+32>>2]=d;o=e+36|0}else o=e+36|0;do{g=(_[o>>2]|0)+(i<<4)|0;_[g>>2]=_[y+48>>2];_[g+4>>2]=_[y+48+4>>2];_[g+8>>2]=_[y+48+8>>2];_[g+12>>2]=_[y+48+12>>2];i=i+1|0}while((i|0)!=(d|0))}_[e+28>>2]=d;b=_[e+48>>2]|0;if((b|0)<(d|0)){if((_[e+52>>2]|0)<(d|0)){_[6293]=(_[6293]|0)+1;i=cc((d<<2|3)+16|0)|0;if(!i)c=0;else{_[(i+4+15&-16)+-4>>2]=i;c=i+4+15&-16}o=_[e+48>>2]|0;s=_[e+56>>2]|0;if((o|0)<=0)if(!s)i=e+60|0;else p=39;else{i=0;do{_[c+(i<<2)>>2]=_[s+(i<<2)>>2];i=i+1|0}while((i|0)!=(o|0));p=39}if((p|0)==39)if(!(n[e+60>>0]|0))i=e+60|0;else{_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0);i=e+60|0}n[i>>0]=1;_[e+56>>2]=c;_[e+52>>2]=d;o=d<<2;i=c}else{o=d<<2;i=_[e+56>>2]|0}Wj(i+(b<<2)|0,0,o-(b<<2)|0)|0}_[e+48>>2]=d;b=_[e+68>>2]|0;if((b|0)<(d|0)){if((_[e+72>>2]|0)<(d|0)){_[6293]=(_[6293]|0)+1;i=cc((d<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}s=_[e+68>>2]|0;c=_[e+76>>2]|0;if((s|0)<=0)if(!c)o=e+80|0;else p=52;else{o=0;do{_[i+(o<<2)>>2]=_[c+(o<<2)>>2];o=o+1|0}while((o|0)!=(s|0));p=52}if((p|0)==52)if(!(n[e+80>>0]|0))o=e+80|0;else{_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0);o=e+80|0}n[o>>0]=1;_[e+76>>2]=i;_[e+72>>2]=d;o=d<<2}else{o=d<<2;i=_[e+76>>2]|0}Wj(i+(b<<2)|0,0,o-(b<<2)|0)|0}_[e+68>>2]=d;i=_[e+128>>2]|0;if((i|0)<=0){u=y;return}s=_[e+76>>2]|0;c=_[e+56>>2]|0;o=0;do{a[s+(o<<2)>>2]=0.0;a[c+(o<<2)>>2]=0.0;o=o+1|0}while((o|0)!=(i|0));c=0;do{o=_[e+136>>2]|0;s=_[o+(c*284|0)+88>>2]|0;if(s){b=o+(c*284|0)+92|0;_[y+48>>2]=_[b>>2];_[y+48+4>>2]=_[b+4>>2];_[y+48+8>>2]=_[b+8>>2];_[y+48+12>>2]=_[b+12>>2];b=o+(c*284|0)+108|0;_[y+48+16>>2]=_[b>>2];_[y+48+16+4>>2]=_[b+4>>2];_[y+48+16+8>>2]=_[b+8>>2];_[y+48+16+12>>2]=_[b+12>>2];b=o+(c*284|0)+124|0;_[y+48+32>>2]=_[b>>2];_[y+48+32+4>>2]=_[b+4>>2];_[y+48+32+8>>2]=_[b+8>>2];_[y+48+32+12>>2]=_[b+12>>2];b=_[e+112>>2]|0;i=_[y+48+16+(b<<2)>>2]|0;S=_[y+48+32+(b<<2)>>2]|0;p=_[e+36>>2]|0;_[p+(c<<4)>>2]=_[y+48+(b<<2)>>2];_[p+(c<<4)+4>>2]=i;_[p+(c<<4)+8>>2]=S;a[p+(c<<4)+12>>2]=0.0;p=_[e+36>>2]|0;S=p+(c<<4)|0;j=+a[S>>2];i=o+(c*284|0)|0;r=+a[i>>2];b=p+(c<<4)+4|0;k=+a[b>>2];g=o+(c*284|0)+4|0;l=+a[g>>2];p=p+(c<<4)+8|0;C=+a[p>>2];d=o+(c*284|0)+8|0;w=+a[d>>2];f=j-r*(j*r+k*l+C*w);v=k-l*(j*r+k*l+C*w);w=C-w*(j*r+k*l+C*w);C=1.0/+W(+(f*f+v*v+w*w));a[S>>2]=f*C;a[b>>2]=v*C;a[p>>2]=w*C;l=+a[g>>2];k=+a[d>>2];r=+a[i>>2];i=_[e+16>>2]|0;a[i+(c<<4)>>2]=l*w*C-k*v*C;a[i+(c<<4)+4>>2]=k*f*C-w*C*r;a[i+(c<<4)+8>>2]=v*C*r-l*f*C;a[i+(c<<4)+12>>2]=0.0;i=_[e+16>>2]|0;d=i+(c<<4)|0;C=+a[d>>2];g=i+(c<<4)+4|0;f=+a[g>>2];i=i+(c<<4)+8|0;l=+a[i>>2];r=1.0/+W(+(C*C+f*f+l*l));a[d>>2]=C*r;a[g>>2]=f*r;a[i>>2]=l*r;i=_[e+108>>2]|0;g=_[e+36>>2]|0;r=+a[g+(c<<4)>>2];l=+a[g+(c<<4)+4>>2];f=+a[g+(c<<4)+8>>2];if(r*r+l*l+f*f>1.100000023841858)r=0.0;else{I=+a[o+(c*284|0)+16>>2];O=I-+a[i+52>>2];D=+a[o+(c*284|0)+20>>2];G=D-+a[i+56>>2];F=+a[o+(c*284|0)+24>>2];P=F-+a[i+60>>2];I=I-+a[s+52>>2];D=D-+a[s+56>>2];F=F-+a[s+60>>2];T=+a[i+392>>2];B=+a[i+396>>2];H=+a[i+388>>2];x=+a[s+392>>2];A=+a[s+396>>2];M=+a[s+388>>2];R=(f*G-l*P)*+a[i+4>>2]+(r*P-f*O)*+a[i+20>>2]+(l*O-r*G)*+a[i+36>>2];C=(f*G-l*P)*+a[i+8>>2]+(r*P-f*O)*+a[i+24>>2]+(l*O-r*G)*+a[i+40>>2];v=(f*G-l*P)*+a[i+12>>2]+(r*P-f*O)*+a[i+28>>2]+(l*O-r*G)*+a[i+44>>2];w=(D*-f-F*-l)*+a[s+4>>2]+(F*-r-I*-f)*+a[s+20>>2]+(I*-l-D*-r)*+a[s+36>>2];k=(D*-f-F*-l)*+a[s+8>>2]+(F*-r-I*-f)*+a[s+24>>2]+(I*-l-D*-r)*+a[s+40>>2];j=(D*-f-F*-l)*+a[s+12>>2]+(F*-r-I*-f)*+a[s+28>>2]+(I*-l-D*-r)*+a[s+44>>2];r=(r*(P*T-G*B+ +a[i+372>>2]-(F*x-D*A+ +a[s+372>>2]))+l*(+a[i+376>>2]+(O*B-P*H)-(+a[s+376>>2]+(I*A-F*M)))+f*(G*H-O*T+ +a[i+380>>2]-(D*M-I*x+ +a[s+380>>2])))*-.20000000298023224*(1.0/(+a[s+404>>2]+(+a[i+404>>2]+(R*R*+a[i+456>>2]+C*C*+a[i+460>>2]+v*v*+a[i+464>>2]))+(w*w*+a[s+456>>2]+k*k*+a[s+460>>2]+j*j*+a[s+464>>2])))}a[(_[e+76>>2]|0)+(c<<2)>>2]=r;i=_[e+128>>2]|0}c=c+1|0}while((c|0)<(i|0));if((i|0)<=0){u=y;return}s=0;p=0;o=_[e+136>>2]|0;while(1){i=_[o+(p*284|0)+88>>2]|0;if(i){r=+a[o+(p*284|0)+252>>2];if(r!=0.0){r=r*t;d=o}else{B=+a[o+(p*284|0)+256>>2];B=B==0.0?0.0:B;d=_[e+108>>2]|0;S=_[e+16>>2]|0;O=+a[o+(p*284|0)+16>>2];D=+a[o+(p*284|0)+20>>2];R=+a[o+(p*284|0)+24>>2];k=+a[S+(p<<4)>>2];M=+a[S+(p<<4)+4>>2];r=+a[S+(p<<4)+8>>2];V=O-+a[d+52>>2];E=D-+a[d+56>>2];l=R-+a[d+60>>2];f=+a[d+324>>2]*(E*r-l*M)+ +a[d+340>>2]*(l*k-V*r)+(V*M-E*k)*+a[d+356>>2];q=(E*r-l*M)*+a[d+328>>2]+(l*k-V*r)*+a[d+344>>2]+(V*M-E*k)*+a[d+360>>2];L=(E*r-l*M)*+a[d+332>>2]+(l*k-V*r)*+a[d+348>>2]+(V*M-E*k)*+a[d+364>>2];A=O-+a[i+52>>2];G=D-+a[i+56>>2];I=R-+a[i+60>>2];w=(M*A-k*G)*+a[i+356>>2]+(+a[i+324>>2]*(r*G-M*I)+ +a[i+340>>2]*(k*I-r*A));C=(r*G-M*I)*+a[i+328>>2]+(k*I-r*A)*+a[i+344>>2]+(M*A-k*G)*+a[i+360>>2];v=(r*G-M*I)*+a[i+332>>2]+(k*I-r*A)*+a[i+348>>2]+(M*A-k*G)*+a[i+364>>2];O=O-+a[d+52>>2];D=D-+a[d+56>>2];R=R-+a[d+60>>2];H=+a[d+392>>2];j=+a[d+396>>2];T=+a[d+388>>2];P=+a[i+392>>2];x=+a[i+396>>2];F=+a[i+388>>2];r=-(1.0/(+a[d+404>>2]+(r*(E*f-V*q)+(k*(l*q-E*L)+M*(V*L-l*f)))+(+a[i+404>>2]+(r*(G*w-A*C)+(k*(I*C-G*v)+M*(A*v-I*w)))))*((R*H-D*j+ +a[d+372>>2]-(I*P-G*x+ +a[i+372>>2]))*k+(+a[d+376>>2]+(O*j-R*T)-(+a[i+376>>2]+(A*x-I*F)))*M+(D*T-O*H+ +a[d+380>>2]-(G*F-A*P+ +a[i+380>>2]))*r));r=B<r?B:r;r=r<-B?-B:r;d=_[e+136>>2]|0}b=_[e+56>>2]|0;S=b+(p<<2)|0;a[S>>2]=0.0;i=d+(p*284|0)+280|0;a[i>>2]=1.0;f=+a[o+(p*284|0)+276>>2]*t*+a[o+(p*284|0)+228>>2];a[S>>2]=r;r=r*.5;l=+a[(_[e+76>>2]|0)+(p<<2)>>2];if(r*r+l*l>f*f){q=f/+W(+(r*r+l*l));a[i>>2]=q*+a[i>>2];i=1}else i=s}else{b=_[e+56>>2]|0;a[b+(p<<2)>>2]=0.0;a[o+(p*284|0)+280>>2]=1.0;i=s;d=o}p=p+1|0;c=_[e+128>>2]|0;if((p|0)>=(c|0))break;else{s=i;o=d}}if(i){if((c|0)<=0){u=y;return}o=_[e+76>>2]|0;i=0;do{s=o+(i<<2)|0;if(+a[s>>2]!=0.0?(m=d+(i*284|0)+280|0,h=+a[m>>2],h<1.0):0){S=b+(i<<2)|0;a[S>>2]=h*+a[S>>2];a[s>>2]=+a[m>>2]*+a[s>>2]}i=i+1|0}while((i|0)!=(c|0))}if((c|0)<=0){u=y;return}i=0;o=b;while(1){s=_[e+108>>2]|0;c=d+(i*284|0)+16|0;l=+a[c>>2]-+a[s+52>>2];b=d+(i*284|0)+20|0;f=+a[b>>2]-+a[s+56>>2];p=d+(i*284|0)+24|0;t=+a[p>>2]-+a[s+60>>2];a[y+48>>2]=l;a[y+48+4>>2]=f;a[y+48+8>>2]=t;a[y+48+12>>2]=0.0;r=+a[o+(i<<2)>>2];if(r!=0.0){S=_[e+16>>2]|0;E=r*+a[S+(i<<4)+4>>2];q=r*+a[S+(i<<4)+8>>2];a[y+32>>2]=+a[S+(i<<4)>>2]*r;a[y+32+4>>2]=E;a[y+32+8>>2]=q;a[y+32+12>>2]=0.0;jk(s,y+32|0,y+48|0)}r=+a[(_[e+76>>2]|0)+(i<<2)>>2];if(r!=0.0){S=_[(_[e+136>>2]|0)+(i*284|0)+88>>2]|0;E=+a[b>>2]-+a[S+56>>2];V=+a[p>>2]-+a[S+60>>2];a[y+32>>2]=+a[c>>2]-+a[S+52>>2];a[y+32+4>>2]=E;a[y+32+8>>2]=V;a[y+32+12>>2]=0.0;g=_[e+36>>2]|0;V=+a[g+(i<<4)>>2]*r;E=r*+a[g+(i<<4)+4>>2];q=r*+a[g+(i<<4)+8>>2];a[y+16>>2]=V;a[y+16+4>>2]=E;a[y+16+8>>2]=q;a[y+16+12>>2]=0.0;g=_[e+108>>2]|0;m=_[e+116>>2]|0;A=+a[g+4+(m<<2)>>2];P=+a[g+20+(m<<2)>>2];B=+a[g+36+(m<<2)>>2];L=(A*l+P*f+B*t)*(1.0-+a[d+(i*284|0)+244>>2]);a[y+48>>2]=l-A*L;a[y+48+4>>2]=f-P*L;a[y+48+8>>2]=t-B*L;jk(g,y+16|0,y+48|0);a[y>>2]=-V;a[y+4>>2]=-E;a[y+8>>2]=-q;a[y+12>>2]=0.0;jk(S,y,y+32|0)}i=i+1|0;if((i|0)>=(_[e+128>>2]|0))break;d=_[e+136>>2]|0;o=_[e+56>>2]|0}u=y;return}function xc(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0,c=0,l=0,f=0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0,C=0,v=0,w=0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,W=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0;w=u;u=u+208|0;C=(n[e+68>>0]|0)!=0;g=C?i:t;C=C?t:i;v=_[g+4>>2]|0;if((_[v+72>>2]|0)!=(_[e+80>>2]|0)){c=_[e+52>>2]|0;if((c|0)>0){s=0;do{l=_[(_[e+60>>2]|0)+(s<<2)>>2]|0;if(l|0){ua[_[_[l>>2]>>2]&511](l);f=_[e+4>>2]|0;ma[_[(_[f>>2]|0)+60>>2]&127](f,_[(_[e+60>>2]|0)+(s<<2)>>2]|0)}s=s+1|0}while((s|0)!=(c|0))}tg(e,t,i);_[e+80>>2]=_[v+72>>2]}t=_[e+52>>2]|0;if(!t){u=w;return}f=_[v+68>>2]|0;c=_[e+4>>2]|0;l=_[e+60>>2]|0;s=_[e+72>>2]|0;_[w+176>>2]=9236;_[w+176+4>>2]=g;_[w+176+8>>2]=C;_[w+176+12>>2]=c;_[w+176+16>>2]=r;_[w+176+20>>2]=o;_[w+176+24>>2]=l;_[w+176+28>>2]=s;s=_[e+32>>2]|0;if((s|0)<0){if((_[e+36>>2]|0)<0){t=_[e+40>>2]|0;if(t|0){if(n[e+44>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+40>>2]=0}n[e+44>>0]=1;_[e+40>>2]=0;_[e+36>>2]=0}do{_[(_[e+40>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=0);t=_[e+52>>2]|0}_[e+32>>2]=0;if((t|0)>0){r=0;do{s=_[(_[e+60>>2]|0)+(r<<2)>>2]|0;if(s){ma[_[(_[s>>2]|0)+16>>2]&127](s,e+28|0);s=_[e+32>>2]|0;if((s|0)>0){l=0;do{c=_[(_[e+40>>2]|0)+(l<<2)>>2]|0;if(_[c+780>>2]|0){_[o+4>>2]=c;s=_[c+772>>2]|0;t=_[(_[o+8>>2]|0)+8>>2]|0;i=_[(_[o+12>>2]|0)+8>>2]|0;if((s|0)==(t|0))xe(c,s+4|0,i+4|0);else xe(c,i+4|0,t+4|0);_[o+4>>2]=0;s=_[e+32>>2]|0}l=l+1|0}while((l|0)<(s|0))}if((s|0)<0){if((_[e+36>>2]|0)<0){t=_[e+40>>2]|0;if(t|0){if(n[e+44>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+40>>2]=0}n[e+44>>0]=1;_[e+40>>2]=0;_[e+36>>2]=0}do{_[(_[e+40>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=0)}_[e+32>>2]=0;t=_[e+52>>2]|0}r=r+1|0}while((r|0)<(t|0))}if(!f){if((t|0)>0){s=0;do{Yd(w+176|0,_[(_[v+28>>2]|0)+(s*80|0)+64>>2]|0,s);s=s+1|0}while((s|0)<(t|0))}}else{l=_[g+12>>2]|0;T=+a[l>>2];D=+a[l+16>>2];M=+a[l+32>>2];I=+a[l+4>>2];x=+a[l+20>>2];R=+a[l+36>>2];h=+a[l+8>>2];d=+a[l+24>>2];b=+a[l+40>>2];j=-+a[l+48>>2];S=-+a[l+52>>2];k=-+a[l+56>>2];l=_[C+12>>2]|0;L=+a[l>>2];B=+a[l+16>>2];P=+a[l+32>>2];A=+a[l+4>>2];F=+a[l+20>>2];W=+a[l+36>>2];G=+a[l+8>>2];H=+a[l+24>>2];O=+a[l+40>>2];m=+a[l+48>>2];p=+a[l+52>>2];y=+a[l+56>>2];a[w+32>>2]=T*L+D*B+M*P;a[w+32+4>>2]=T*A+D*F+M*W;a[w+32+8>>2]=T*G+D*H+M*O;a[w+32+12>>2]=0.0;a[w+32+16>>2]=I*L+x*B+R*P;a[w+32+20>>2]=I*A+x*F+R*W;a[w+32+24>>2]=I*G+x*H+R*O;a[w+32+28>>2]=0.0;a[w+32+32>>2]=h*L+d*B+b*P;a[w+32+36>>2]=h*A+d*F+b*W;a[w+32+40>>2]=h*G+d*H+b*O;a[w+32+44>>2]=0.0;a[w+32+48>>2]=T*j+D*S+M*k+(T*m+D*p+M*y);a[w+32+52>>2]=I*j+x*S+R*k+(I*m+x*p+R*y);a[w+32+56>>2]=h*j+d*S+b*k+(h*m+d*p+b*y);a[w+32+60>>2]=0.0;l=_[C+4>>2]|0;$a[_[(_[l>>2]|0)+8>>2]&127](l,w+32|0,w+112|0,w+96|0);y=+a[o+32>>2];b=+a[w+112>>2]-y;a[w+112>>2]=b;p=+a[w+112+4>>2]-y;a[w+112+4>>2]=p;d=+a[w+112+8>>2]-y;a[w+112+8>>2]=d;m=y+ +a[w+96>>2];a[w+96>>2]=m;h=y+ +a[w+96+4>>2];a[w+96+4>>2]=h;y=y+ +a[w+96+8>>2];a[w+96+8>>2]=y;l=_[f>>2]|0;if(l|0){s=_[e+12>>2]|0;t=_[e+16>>2]|0;if((s|0)<0){if((t|0)<0){t=_[e+20>>2]|0;if(t|0){if(n[e+24>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+20>>2]=0}n[e+24>>0]=1;_[e+20>>2]=0;_[e+16>>2]=0;t=0}do{_[(_[e+20>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=0)}_[e+12>>2]=0;if((t|0)<64){_[6293]=(_[6293]|0)+1;s=cc(275)|0;if(!s)i=0;else{_[(s+4+15&-16)+-4>>2]=s;i=s+4+15&-16}s=_[e+12>>2]|0;if((s|0)>0){t=0;do{_[i+(t<<2)>>2]=_[(_[e+20>>2]|0)+(t<<2)>>2];t=t+1|0}while((t|0)!=(s|0))}t=_[e+20>>2]|0;if(t){if(n[e+24>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);s=_[e+12>>2]|0}_[e+20>>2]=0}n[e+24>>0]=1;_[e+20>>2]=i;_[e+16>>2]=64;t=64}else s=0;if((s|0)==(t|0)){c=t<<1;if((t|0)<(c|0)){_[6293]=(_[6293]|0)+1;s=cc((t<<3|3)+16|0)|0;if(!s)i=0;else{_[(s+4+15&-16)+-4>>2]=s;i=s+4+15&-16}s=_[e+12>>2]|0;if((s|0)>0){t=0;do{_[i+(t<<2)>>2]=_[(_[e+20>>2]|0)+(t<<2)>>2];t=t+1|0}while((t|0)!=(s|0))}t=_[e+20>>2]|0;if(t){if(n[e+24>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);s=_[e+12>>2]|0}_[e+20>>2]=0}n[e+24>>0]=1;_[e+20>>2]=i;_[e+16>>2]=c}else s=t}_[(_[e+20>>2]|0)+(s<<2)>>2]=l;t=s+1|0;_[e+12>>2]=t;while(1){s=t+-1|0;i=_[e+20>>2]|0;r=_[i+(s<<2)>>2]|0;_[e+12>>2]=s;do{if(((((+a[r>>2]<=m?+a[r+16>>2]>=b:0)?+a[r+4>>2]<=h:0)?+a[r+20>>2]>=p:0)?+a[r+8>>2]<=y:0)?+a[r+24>>2]>=d:0){if(!(_[r+40>>2]|0)){ma[_[(_[w+176>>2]|0)+12>>2]&127](w+176|0,r);s=_[e+12>>2]|0;break}l=_[r+36>>2]|0;c=_[e+16>>2]|0;do{if((s|0)==(c|0)){c=s|0?s<<1:1;if((t|0)>(c|0)){t=s;break}if(!c)i=0;else{_[6293]=(_[6293]|0)+1;s=cc((c<<2|3)+16|0)|0;if(!s)s=0;else{_[(s+4+15&-16)+-4>>2]=s;s=s+4+15&-16}i=s;s=_[e+12>>2]|0}if((s|0)>0){t=0;do{_[i+(t<<2)>>2]=_[(_[e+20>>2]|0)+(t<<2)>>2];t=t+1|0}while((t|0)!=(s|0))}t=_[e+20>>2]|0;if(t){if(n[e+24>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);s=_[e+12>>2]|0}_[e+20>>2]=0}n[e+24>>0]=1;_[e+20>>2]=i;_[e+16>>2]=c;t=s;s=c}else{t=s;s=c}}while(0);_[i+(t<<2)>>2]=l;t=t+1|0;_[e+12>>2]=t;l=_[r+40>>2]|0;do{if((t|0)==(s|0)){c=s|0?s<<1:1;if((s|0)>=(c|0))break;if(!c)i=0;else{_[6293]=(_[6293]|0)+1;s=cc((c<<2|3)+16|0)|0;if(!s)s=0;else{_[(s+4+15&-16)+-4>>2]=s;s=s+4+15&-16}i=s;s=_[e+12>>2]|0}if((s|0)>0){t=0;do{_[i+(t<<2)>>2]=_[(_[e+20>>2]|0)+(t<<2)>>2];t=t+1|0}while((t|0)!=(s|0))}t=_[e+20>>2]|0;if(t){if(n[e+24>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);s=_[e+12>>2]|0}_[e+20>>2]=0}n[e+24>>0]=1;_[e+20>>2]=i;_[e+16>>2]=c}else s=t}while(0);_[(_[e+20>>2]|0)+(s<<2)>>2]=l;s=s+1|0;_[e+12>>2]=s}}while(0);if((s|0)>0)t=s;else break}}}i=_[e+52>>2]|0;s=_[e+32>>2]|0;if((s|0)<0){if((_[e+36>>2]|0)<0){t=_[e+40>>2]|0;if(t|0){if(n[e+44>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+40>>2]=0}n[e+44>>0]=1;_[e+40>>2]=0;_[e+36>>2]=0}do{_[(_[e+40>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=0)}_[e+32>>2]=0;if((i|0)>0){t=0;do{do{if(_[(_[e+60>>2]|0)+(t<<2)>>2]|0){r=_[v+28>>2]|0;f=_[r+(t*80|0)+64>>2]|0;o=_[g+12>>2]|0;m=+a[o>>2];h=+a[o+4>>2];y=+a[o+8>>2];k=+a[o+16>>2];S=+a[o+20>>2];j=+a[o+24>>2];O=+a[o+32>>2];G=+a[o+36>>2];F=+a[o+40>>2];R=+a[r+(t*80|0)>>2];x=+a[r+(t*80|0)+16>>2];I=+a[r+(t*80|0)+32>>2];M=+a[r+(t*80|0)+4>>2];D=+a[r+(t*80|0)+20>>2];T=+a[r+(t*80|0)+36>>2];H=+a[r+(t*80|0)+8>>2];W=+a[r+(t*80|0)+24>>2];A=+a[r+(t*80|0)+40>>2];p=+a[r+(t*80|0)+48>>2];d=+a[r+(t*80|0)+52>>2];L=+a[r+(t*80|0)+56>>2];P=+a[o+48>>2]+(m*p+h*d+y*L);B=+a[o+52>>2]+(k*p+S*d+j*L);L=+a[o+56>>2]+(O*p+G*d+F*L);a[w+112>>2]=m*R+h*x+y*I;a[w+112+4>>2]=m*M+h*D+y*T;a[w+112+8>>2]=m*H+h*W+y*A;a[w+112+12>>2]=0.0;a[w+112+16>>2]=k*R+S*x+j*I;a[w+112+20>>2]=k*M+S*D+j*T;a[w+112+24>>2]=k*H+S*W+j*A;a[w+112+28>>2]=0.0;a[w+112+32>>2]=O*R+G*x+F*I;a[w+112+36>>2]=O*M+G*D+F*T;a[w+112+40>>2]=O*H+G*W+F*A;a[w+112+44>>2]=0.0;a[w+112+48>>2]=P;a[w+112+52>>2]=B;a[w+112+56>>2]=L;a[w+112+60>>2]=0.0;$a[_[(_[f>>2]|0)+8>>2]&127](f,w+112|0,w+96|0,w+32|0);f=_[C+4>>2]|0;$a[_[(_[f>>2]|0)+8>>2]&127](f,_[C+12>>2]|0,w+16|0,w);if(!(+a[w+96>>2]>+a[w>>2])?!(+a[w+32>>2]<+a[w+16>>2]):0)s=1;else s=0;if(!(!(+a[w+96+8>>2]>+a[w+8>>2])?!(+a[w+32+8>>2]<+a[w+16+8>>2]):0))s=0;if(!(+a[w+96+4>>2]>+a[w+4>>2])?!(+a[w+32+4>>2]<+a[w+16+4>>2]|s^1):0)break;f=_[(_[e+60>>2]|0)+(t<<2)>>2]|0;ua[_[_[f>>2]>>2]&511](f);f=_[e+4>>2]|0;ma[_[(_[f>>2]|0)+60>>2]&127](f,_[(_[e+60>>2]|0)+(t<<2)>>2]|0);_[(_[e+60>>2]|0)+(t<<2)>>2]=0}}while(0);t=t+1|0}while((t|0)<(i|0))}u=w;return}function yc(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,r=0.0,o=0.0,s=0.0,c=0,l=0,f=0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0,C=0,v=0.0,w=0,k=0,S=0,j=0.0,R=0.0,x=0,I=0,M=0.0,D=0.0,T=0.0;I=u;u=u+176|0;_[e+348>>2]=e+220;_[e+352>>2]=e+252;_[e+356>>2]=e+284;_[e+360>>2]=e+316;_[e+364>>2]=4;_[e+368>>2]=0;_[e+376>>2]=0;S=_[t+4>>2]|0;_[e>>2]=_[t>>2];_[e+4>>2]=S;_[e+8>>2]=_[t+8>>2];_[e+8+4>>2]=_[t+8+4>>2];_[e+8+8>>2]=_[t+8+8>>2];_[e+8+12>>2]=_[t+8+12>>2];_[e+24>>2]=_[t+24>>2];_[e+24+4>>2]=_[t+24+4>>2];_[e+24+8>>2]=_[t+24+8>>2];_[e+24+12>>2]=_[t+24+12>>2];_[e+40>>2]=_[t+40>>2];_[e+40+4>>2]=_[t+40+4>>2];_[e+40+8>>2]=_[t+40+8>>2];_[e+40+12>>2]=_[t+40+12>>2];_[e+56>>2]=_[t+56>>2];_[e+56+4>>2]=_[t+56+4>>2];_[e+56+8>>2]=_[t+56+8>>2];_[e+56+12>>2]=_[t+56+12>>2];_[e+72>>2]=_[t+72>>2];_[e+72+4>>2]=_[t+72+4>>2];_[e+72+8>>2]=_[t+72+8>>2];_[e+72+12>>2]=_[t+72+12>>2];_[e+88>>2]=_[t+88>>2];_[e+88+4>>2]=_[t+88+4>>2];_[e+88+8>>2]=_[t+88+8>>2];_[e+88+12>>2]=_[t+88+12>>2];_[e+104>>2]=_[t+104>>2];_[e+104+4>>2]=_[t+104+4>>2];_[e+104+8>>2]=_[t+104+8>>2];_[e+104+12>>2]=_[t+104+12>>2];S=_[t+124>>2]|0;_[e+120>>2]=_[t+120>>2];_[e+124>>2]=S;a[e+144>>2]=0.0;_[e+180>>2]=0;_[e+128>>2]=_[i>>2];_[e+128+4>>2]=_[i+4>>2];_[e+128+8>>2]=_[i+8>>2];_[e+128+12>>2]=_[i+12>>2];n=+a[e+128>>2];r=+a[e+132>>2];o=+a[e+136>>2];if(n*n+r*r+o*o>0.0){a[e+164>>2]=0.0;_[e+364>>2]=3;_[e+148>>2]=e+316;_[e+180>>2]=1;Ug(e,-n,-r,-o,e+316|0);t=e+148|0;i=e+164|0}else{a[e+164>>2]=0.0;_[e+364>>2]=3;_[e+148>>2]=e+316;_[e+180>>2]=1;Ug(e,1.0,0.0,0.0,e+316|0);t=e+148|0;i=e+164|0}a[i>>2]=1.0;S=(_[t>>2]|0)+16|0;_[e+128>>2]=_[S>>2];_[e+128+4>>2]=_[S+4>>2];_[e+128+8>>2]=_[S+8>>2];_[e+128+12>>2]=_[S+12>>2];_[I+24+48>>2]=_[S>>2];_[I+24+48+4>>2]=_[S+4>>2];_[I+24+48+8>>2]=_[S+8>>2];_[I+24+48+12>>2]=_[S+12>>2];_[I+24+32>>2]=_[S>>2];_[I+24+32+4>>2]=_[S+4>>2];_[I+24+32+8>>2]=_[S+8>>2];_[I+24+32+12>>2]=_[S+12>>2];_[I+24+16>>2]=_[S>>2];_[I+24+16+4>>2]=_[S+4>>2];_[I+24+16+8>>2]=_[S+8>>2];_[I+24+16+12>>2]=_[S+12>>2];_[I+24>>2]=_[S>>2];_[I+24+4>>2]=_[S+4>>2];_[I+24+8>>2]=_[S+8>>2];_[I+24+12>>2]=_[S+12>>2];S=0;j=0.0;n=n*n+r*r+o*o;k=0;e:do{w=_[e+368>>2]|0;r=+a[e+128>>2];o=+a[e+132>>2];s=+a[e+136>>2];p=+W(+(r*r+o*o+s*s));if(p<9.999999747378752e-05){x=6;break}a[e+148+(w*36|0)+16+(_[e+148+(w*36|0)+32>>2]<<2)>>2]=0.0;t=(_[e+364>>2]|0)+-1|0;_[e+364>>2]=t;_[e+148+(w*36|0)+(_[e+148+(w*36|0)+32>>2]<<2)>>2]=_[e+348+(t<<2)>>2];t=_[e+148+(w*36|0)+32>>2]|0;_[e+148+(w*36|0)+32>>2]=t+1;Ug(e,-r,-o,-s,_[e+148+(w*36|0)+(t<<2)>>2]|0);t=_[e+148+(w*36|0)+32>>2]|0;i=_[e+148+(w*36|0)+(t+-1<<2)>>2]|0;r=+a[i+16>>2];o=+a[i+20>>2];s=+a[i+24>>2];h=r-+a[I+24>>2];y=o-+a[I+24+4>>2];v=s-+a[I+24+8>>2];if(h*h+y*y+v*v<9.999999747378752e-05){x=9;break}h=r-+a[I+24+16>>2];y=o-+a[I+24+20>>2];v=s-+a[I+24+24>>2];if(h*h+y*y+v*v<9.999999747378752e-05){x=9;break}h=r-+a[I+24+32>>2];y=o-+a[I+24+36>>2];v=s-+a[I+24+40>>2];if(h*h+y*y+v*v<9.999999747378752e-05){x=9;break}h=r-+a[I+24+48>>2];y=o-+a[I+24+52>>2];v=s-+a[I+24+56>>2];if(h*h+y*y+v*v<9.999999747378752e-05){x=9;break}k=k+1&3;C=I+24+(k<<4)|0;_[C>>2]=_[i+16>>2];_[C+4>>2]=_[i+16+4>>2];_[C+8>>2]=_[i+16+8>>2];_[C+12>>2]=_[i+16+12>>2];v=(+a[e+128>>2]*r+ +a[e+132>>2]*o+ +a[e+136>>2]*s)/p;j=v>j?v:j;if(p-j-p*9.999999747378752e-05<=0.0){x=10;break}_[I>>2]=0;t:do{switch(t|0){case 2:{C=_[e+148+(w*36|0)>>2]|0;g=_[e+148+(w*36|0)+4>>2]|0;n=+a[g+16>>2];r=+a[C+16>>2];o=+a[g+20>>2];s=+a[C+20>>2];p=+a[g+24>>2];d=+a[C+24>>2];if(!((n-r)*(n-r)+(o-s)*(o-s)+(p-d)*(p-d)>0.0)){x=38;break e}m=-(r*(n-r)+s*(o-s)+d*(p-d))/((n-r)*(n-r)+(o-s)*(o-s)+(p-d)*(p-d));if(m>=1.0){a[I+8>>2]=0.0;a[I+8+4>>2]=1.0;_[I>>2]=2;n=n*n+o*o+p*p;break t}if(!(m<=0.0)){a[I+8+4>>2]=m;a[I+8>>2]=1.0-m;_[I>>2]=3;n=((n-r)*m+r)*((n-r)*m+r)+((o-s)*m+s)*((o-s)*m+s)+((p-d)*m+d)*((p-d)*m+d);break t}else{a[I+8>>2]=1.0;a[I+8+4>>2]=0.0;_[I>>2]=1;n=r*r+s*s+d*d;break t}}case 3:{n=+je((_[e+148+(w*36|0)>>2]|0)+16|0,(_[e+148+(w*36|0)+4>>2]|0)+16|0,(_[e+148+(w*36|0)+8>>2]|0)+16|0,I+8|0,I);break}case 4:{l=_[e+148+(w*36|0)>>2]|0;f=_[e+148+(w*36|0)+4>>2]|0;g=_[e+148+(w*36|0)+8>>2]|0;C=_[e+148+(w*36|0)+12>>2]|0;_[I+152>>2]=l+16;_[I+152+4>>2]=f+16;_[I+152+8>>2]=g+16;_[I+152+12>>2]=C+16;s=+a[l+16>>2];p=+a[C+16>>2];r=+a[l+20>>2];d=+a[C+20>>2];o=+a[l+24>>2];m=+a[C+24>>2];a[I+104>>2]=s-p;a[I+104+4>>2]=r-d;a[I+104+8>>2]=o-m;a[I+104+12>>2]=0.0;n=+a[f+16>>2];D=+a[f+20>>2];y=+a[f+24>>2];a[I+104+16>>2]=n-p;a[I+104+20>>2]=D-d;a[I+104+24>>2]=y-m;a[I+104+28>>2]=0.0;h=+a[g+16>>2];T=+a[g+20>>2];M=+a[g+24>>2];a[I+104+32>>2]=h-p;a[I+104+36>>2]=T-d;a[I+104+40>>2]=M-m;a[I+104+44>>2]=0.0;v=(r-d)*(y-m)*(h-p)+(o-m)*(n-p)*(T-d)-(T-d)*(y-m)*(s-p)-(r-d)*(n-p)*(M-m)+(M-m)*(s-p)*(D-d)-(h-p)*(o-m)*(D-d);if(v!=v|0.0!=0.0|v==0.0|!(v*(o*((n-h)*(r-D)-(D-T)*(s-n))+(s*((D-T)*(o-y)-(y-M)*(r-D))+r*((y-M)*(s-n)-(n-h)*(o-y))))<=0.0))n=-1.0;else{_[I+92>>2]=0;_[I+92+4>>2]=0;_[I+92+8>>2]=0;_[I+88>>2]=0;n=-1.0;c=0;y=r-d;h=o-m;o=s-p;r=m;i=_[I>>2]|0;while(1){t=_[9668+(c<<2)>>2]|0;M=+a[I+104+(t<<4)+8>>2];D=+a[I+104+(t<<4)+4>>2];T=+a[I+104+(t<<4)>>2];if(v*((y*M-h*D)*p+d*(h*T-M*o)+(D*o-y*T)*r)>0.0?(R=+je(_[I+152+(c<<2)>>2]|0,_[I+152+(t<<2)>>2]|0,C+16|0,I+92|0,I+88|0),n<0.0|R<n):0){i=_[I+88>>2]|0;_[I+8+(c<<2)>>2]=_[I+92>>2];_[I+8+(t<<2)>>2]=_[I+92+4>>2];a[I+8+(_[9668+(t<<2)>>2]<<2)>>2]=0.0;_[I+8+12>>2]=_[I+92+8>>2];n=R;i=(i&2|0?1<<t:0)+(i<<1&8)+(i&1|0?1<<c:0)|0}t=c+1|0;if((t|0)==3)break;c=t;y=+a[I+104+(t<<4)+4>>2];h=+a[I+104+(t<<4)+8>>2];o=+a[I+104+(t<<4)>>2];p=+a[C+16>>2];d=+a[C+20>>2];r=+a[C+24>>2]}_[I>>2]=i;if(n<0.0){_[I>>2]=15;s=+a[g+20>>2];T=+a[f+24>>2];D=+a[C+16>>2];r=+a[g+24>>2];M=+a[f+16>>2];p=+a[C+20>>2];o=+a[g+16>>2];y=+a[C+24>>2];m=+a[f+20>>2];a[I+8>>2]=(s*T*D+r*M*p-p*T*o-s*M*y+y*o*m-D*r*m)/v;n=+a[l+20>>2];d=+a[l+24>>2];h=+a[l+16>>2];a[I+8+4>>2]=(n*r*D+d*o*p-p*r*h-n*o*y+y*h*s-D*d*s)/v;a[I+8+8>>2]=(m*d*D+T*h*p-p*d*M-m*h*y+y*M*n-D*T*n)/v;a[I+8+12>>2]=1.0-((s*T*D+r*M*p-p*T*o-s*M*y+y*o*m-D*r*m)/v+(n*r*D+d*o*p-p*r*h-n*o*y+y*h*s-D*d*s)/v+(m*d*D+T*h*p-p*d*M-m*h*y+y*M*n-D*T*n)/v);n=0.0}}break}default:{}}}while(0);if(!(n>=0.0)){x=38;break}_[e+148+((1-w|0)*36|0)+32>>2]=0;_[e+128>>2]=0;_[e+128+4>>2]=0;_[e+128+8>>2]=0;_[e+128+12>>2]=0;_[e+368>>2]=1-w;i=_[e+148+(w*36|0)+32>>2]|0;c=_[I>>2]|0;if(i|0){t=0;do{l=e+148+(w*36|0)+(t<<2)|0;f=_[l>>2]|0;if(!(c&1<<t)){C=_[e+364>>2]|0;_[e+364>>2]=C+1;_[e+348+(C<<2)>>2]=f}else{_[e+148+((1-w|0)*36|0)+(_[e+148+((1-w|0)*36|0)+32>>2]<<2)>>2]=f;g=_[I+8+(t<<2)>>2]|0;C=_[e+148+((1-w|0)*36|0)+32>>2]|0;_[e+148+((1-w|0)*36|0)+32>>2]=C+1;_[e+148+((1-w|0)*36|0)+16+(C<<2)>>2]=g;C=_[l>>2]|0;M=(_[b>>2]=g,+a[b>>2]);D=M*+a[C+20>>2];T=M*+a[C+24>>2];a[e+128>>2]=+a[C+16>>2]*M+ +a[e+128>>2];a[e+132>>2]=D+ +a[e+132>>2];a[e+136>>2]=T+ +a[e+136>>2]}t=t+1|0}while((t|0)!=(i|0))}if((c|0)==15)_[e+376>>2]=1;S=S+1|0;if(S>>>0>=128){x=40;break}t=_[e+376>>2]|0}while(!(t|0));if((x|0)==6){_[e+376>>2]=1;x=41}else if((x|0)==9){S=_[e+368>>2]|0;k=(_[e+148+(S*36|0)+32>>2]|0)+-1|0;_[e+148+(S*36|0)+32>>2]=k;k=_[e+148+(S*36|0)+(k<<2)>>2]|0;S=_[e+364>>2]|0;_[e+364>>2]=S+1;_[e+348+(S<<2)>>2]=k;x=41}else if((x|0)==10){S=_[e+368>>2]|0;k=(_[e+148+(S*36|0)+32>>2]|0)+-1|0;_[e+148+(S*36|0)+32>>2]=k;k=_[e+148+(S*36|0)+(k<<2)>>2]|0;S=_[e+364>>2]|0;_[e+364>>2]=S+1;_[e+348+(S<<2)>>2]=k;x=41}else if((x|0)==38){t=_[e+368>>2]|0;S=(_[e+148+(t*36|0)+32>>2]|0)+-1|0;_[e+148+(t*36|0)+32>>2]=S;S=_[e+148+(t*36|0)+(S<<2)>>2]|0;t=_[e+364>>2]|0;_[e+364>>2]=t+1;_[e+348+(t<<2)>>2]=S;t=_[e+376>>2]|0}else if((x|0)==40){_[e+376>>2]=2;_[e+372>>2]=e+148+((_[e+368>>2]|0)*36|0);e=2;u=I;return e|0}if((x|0)==41)t=_[e+376>>2]|0;_[e+372>>2]=e+148+((_[e+368>>2]|0)*36|0);switch(t|0){case 0:{D=+a[e+128>>2];T=+a[e+132>>2];n=+a[e+136>>2];n=+W(+(D*D+T*T+n*n));break}case 1:{n=0.0;break}default:{e=t;u=I;return e|0}}a[e+144>>2]=n;e=t;u=I;return e|0}function zc(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0,l=0,f=0,b=0,p=0.0,d=0.0,m=0.0,h=0.0,y=0,g=0,C=0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0;C=u;u=u+48|0;R=1.0/+a[e+112>>2];x=1.0/+a[e+116>>2];I=1.0/+a[e+120>>2];v=+a[e+52>>2];w=R*+a[i>>2]+v;d=+a[e+56>>2];p=x*+a[i+4>>2]+d;h=+a[e+60>>2];m=I*+a[i+8>>2]+h;v=R*+a[r>>2]+v;d=x*+a[r+4>>2]+d;h=I*+a[r+8>>2]+h;I=+a[e+20>>2];w=w<I?I:w;x=+a[e+24>>2];p=p<x?x:p;R=+a[e+28>>2];m=m<R?R:m;j=+a[e+36>>2];w=j<w?j:w;S=+a[e+40>>2];p=S<p?S:p;k=+a[e+44>>2];m=k<m?k:m;v=v<I?I:v;d=d<x?x:d;h=h<R?R:h;v=j<v?j:v;d=S<d?S:d;h=k<h?k:h;f=~~(w+(w<0.0?-.5:.5))+-1|0;s=~~(v+(v<0.0?-.5:.5))+1|0;b=~~(p+(p<0.0?-.5:.5))+-1|0;c=~~(d+(d<0.0?-.5:.5))+1|0;o=~~(m+(m<0.0?-.5:.5))+-1|0;i=~~(h+(h<0.0?-.5:.5))+1|0;l=(_[e+68>>2]|0)+-1|0;r=(_[e+72>>2]|0)+-1|0;switch(_[e+108>>2]|0){case 0:{r=(i|0)<(r|0)?i:r;i=(o|0)>0?o:0;l=(c|0)<(l|0)?c:l;b=(b|0)>0?b:0;break}case 1:{r=(i|0)<(r|0)?i:r;i=(o|0)>0?o:0;l=(s|0)<(l|0)?s:l;b=(f|0)>0?f:0;break}case 2:{r=(c|0)<(r|0)?c:r;i=(b|0)>0?b:0;l=(s|0)<(l|0)?s:l;b=(f|0)>0?f:0;break}default:{i=0;b=0}}if((i|0)>=(r|0)){u=C;return}y=(b|0)<(l|0);do{if(y){c=(i&1|0)==0;f=i+1|0;h=+(i|0);o=b;while(1){do{if(!(n[e+104>>0]|0)){if(n[e+105>>0]|0?(o+i&1|0)==0:0){g=16;break}if(!(c&(n[e+106>>0]|0)!=0)){p=+Ba[_[(_[e>>2]|0)+68>>2]&31](e,o,i);switch(_[e+108>>2]|0){case 0:{m=+(o|0)-+a[e+84>>2]*.5;d=p-+a[e+52>>2];p=h-+a[e+88>>2]*.5;g=52;break}case 1:{m=p-+a[e+56>>2];d=+(o|0)-+a[e+84>>2]*.5;p=h-+a[e+88>>2]*.5;g=52;break}case 2:{m=h-+a[e+88>>2]*.5;d=+(o|0)-+a[e+84>>2]*.5;p=p-+a[e+60>>2];g=52;break}default:{d=+a[C>>2];m=+a[C+4>>2];p=+a[C+8>>2]}}if((g|0)==52){g=0;a[C>>2]=d;a[C+4>>2]=m;a[C+8>>2]=p;a[C+12>>2]=0.0}a[C>>2]=d*+a[e+112>>2];a[C+4>>2]=m*+a[e+116>>2];a[C+8>>2]=p*+a[e+120>>2];p=+Ba[_[(_[e>>2]|0)+68>>2]&31](e,o,f);switch(_[e+108>>2]|0){case 0:{m=+(o|0)-+a[e+84>>2]*.5;d=p-+a[e+52>>2];p=+(f|0)-+a[e+88>>2]*.5;g=58;break}case 1:{m=p-+a[e+56>>2];d=+(o|0)-+a[e+84>>2]*.5;p=+(f|0)-+a[e+88>>2]*.5;g=58;break}case 2:{m=+(f|0)-+a[e+88>>2]*.5;d=+(o|0)-+a[e+84>>2]*.5;p=p-+a[e+60>>2];g=58;break}default:{d=+a[C+16>>2];m=+a[C+20>>2];p=+a[C+24>>2]}}if((g|0)==58){g=0;a[C+16>>2]=d;a[C+20>>2]=m;a[C+24>>2]=p;a[C+28>>2]=0.0}a[C+16>>2]=d*+a[e+112>>2];a[C+20>>2]=m*+a[e+116>>2];a[C+24>>2]=p*+a[e+120>>2];s=o+1|0;p=+Ba[_[(_[e>>2]|0)+68>>2]&31](e,s,i);switch(_[e+108>>2]|0){case 0:{m=+(s|0)-+a[e+84>>2]*.5;d=p-+a[e+52>>2];p=h-+a[e+88>>2]*.5;g=64;break}case 1:{m=p-+a[e+56>>2];d=+(s|0)-+a[e+84>>2]*.5;p=h-+a[e+88>>2]*.5;g=64;break}case 2:{m=h-+a[e+88>>2]*.5;d=+(s|0)-+a[e+84>>2]*.5;p=p-+a[e+60>>2];g=64;break}default:{d=+a[C+32>>2];m=+a[C+36>>2];p=+a[C+40>>2]}}if((g|0)==64){g=0;a[C+32>>2]=d;a[C+36>>2]=m;a[C+40>>2]=p;a[C+44>>2]=0.0}a[C+32>>2]=d*+a[e+112>>2];a[C+36>>2]=m*+a[e+116>>2];a[C+40>>2]=p*+a[e+120>>2];$a[_[(_[t>>2]|0)+8>>2]&127](t,C,o,i);p=+Ba[_[(_[e>>2]|0)+68>>2]&31](e,s,i);switch(_[e+108>>2]|0){case 0:{m=+(s|0)-+a[e+84>>2]*.5;d=p-+a[e+52>>2];p=h-+a[e+88>>2]*.5;g=70;break}case 1:{m=p-+a[e+56>>2];d=+(s|0)-+a[e+84>>2]*.5;p=h-+a[e+88>>2]*.5;g=70;break}case 2:{m=h-+a[e+88>>2]*.5;d=+(s|0)-+a[e+84>>2]*.5;p=p-+a[e+60>>2];g=70;break}default:{d=+a[C>>2];m=+a[C+4>>2];p=+a[C+8>>2]}}if((g|0)==70){g=0;a[C>>2]=d;a[C+4>>2]=m;a[C+8>>2]=p;a[C+12>>2]=0.0}a[C>>2]=d*+a[e+112>>2];a[C+4>>2]=m*+a[e+116>>2];a[C+8>>2]=p*+a[e+120>>2];p=+Ba[_[(_[e>>2]|0)+68>>2]&31](e,s,f);switch(_[e+108>>2]|0){case 0:{m=+(s|0)-+a[e+84>>2]*.5;d=p-+a[e+52>>2];p=+(f|0)-+a[e+88>>2]*.5;g=76;break}case 1:{m=p-+a[e+56>>2];d=+(s|0)-+a[e+84>>2]*.5;p=+(f|0)-+a[e+88>>2]*.5;g=76;break}case 2:{m=+(f|0)-+a[e+88>>2]*.5;d=+(s|0)-+a[e+84>>2]*.5;p=p-+a[e+60>>2];g=76;break}default:{d=+a[C+32>>2];m=+a[C+36>>2];p=+a[C+40>>2]}}if((g|0)==76){g=0;a[C+32>>2]=d;a[C+36>>2]=m;a[C+40>>2]=p;a[C+44>>2]=0.0}a[C+32>>2]=d*+a[e+112>>2];a[C+36>>2]=m*+a[e+116>>2];a[C+40>>2]=p*+a[e+120>>2];$a[_[(_[t>>2]|0)+8>>2]&127](t,C,o,i);o=s}else g=16}else g=16}while(0);if((g|0)==16){g=0;p=+Ba[_[(_[e>>2]|0)+68>>2]&31](e,o,i);switch(_[e+108>>2]|0){case 0:{m=+(o|0)-+a[e+84>>2]*.5;d=p-+a[e+52>>2];p=h-+a[e+88>>2]*.5;g=21;break}case 1:{m=p-+a[e+56>>2];d=+(o|0)-+a[e+84>>2]*.5;p=h-+a[e+88>>2]*.5;g=21;break}case 2:{m=h-+a[e+88>>2]*.5;d=+(o|0)-+a[e+84>>2]*.5;p=p-+a[e+60>>2];g=21;break}default:{d=+a[C>>2];m=+a[C+4>>2];p=+a[C+8>>2]}}if((g|0)==21){g=0;a[C>>2]=d;a[C+4>>2]=m;a[C+8>>2]=p;a[C+12>>2]=0.0}a[C>>2]=d*+a[e+112>>2];a[C+4>>2]=m*+a[e+116>>2];a[C+8>>2]=p*+a[e+120>>2];p=+Ba[_[(_[e>>2]|0)+68>>2]&31](e,o,f);switch(_[e+108>>2]|0){case 0:{m=+(o|0)-+a[e+84>>2]*.5;d=p-+a[e+52>>2];p=+(f|0)-+a[e+88>>2]*.5;g=27;break}case 1:{m=p-+a[e+56>>2];d=+(o|0)-+a[e+84>>2]*.5;p=+(f|0)-+a[e+88>>2]*.5;g=27;break}case 2:{m=+(f|0)-+a[e+88>>2]*.5;d=+(o|0)-+a[e+84>>2]*.5;p=p-+a[e+60>>2];g=27;break}default:{d=+a[C+16>>2];m=+a[C+20>>2];p=+a[C+24>>2]}}if((g|0)==27){g=0;a[C+16>>2]=d;a[C+20>>2]=m;a[C+24>>2]=p;a[C+28>>2]=0.0}a[C+16>>2]=d*+a[e+112>>2];a[C+20>>2]=m*+a[e+116>>2];a[C+24>>2]=p*+a[e+120>>2];s=o+1|0;p=+Ba[_[(_[e>>2]|0)+68>>2]&31](e,s,f);switch(_[e+108>>2]|0){case 0:{m=+(s|0)-+a[e+84>>2]*.5;d=p-+a[e+52>>2];p=+(f|0)-+a[e+88>>2]*.5;g=33;break}case 1:{m=p-+a[e+56>>2];d=+(s|0)-+a[e+84>>2]*.5;p=+(f|0)-+a[e+88>>2]*.5;g=33;break}case 2:{m=+(f|0)-+a[e+88>>2]*.5;d=+(s|0)-+a[e+84>>2]*.5;p=p-+a[e+60>>2];g=33;break}default:{d=+a[C+32>>2];m=+a[C+36>>2];p=+a[C+40>>2]}}if((g|0)==33){g=0;a[C+32>>2]=d;a[C+36>>2]=m;a[C+40>>2]=p;a[C+44>>2]=0.0}a[C+32>>2]=d*+a[e+112>>2];a[C+36>>2]=m*+a[e+116>>2];a[C+40>>2]=p*+a[e+120>>2];$a[_[(_[t>>2]|0)+8>>2]&127](t,C,o,i);p=+Ba[_[(_[e>>2]|0)+68>>2]&31](e,s,f);switch(_[e+108>>2]|0){case 0:{m=+(s|0)-+a[e+84>>2]*.5;d=p-+a[e+52>>2];p=+(f|0)-+a[e+88>>2]*.5;g=39;break}case 1:{m=p-+a[e+56>>2];d=+(s|0)-+a[e+84>>2]*.5;p=+(f|0)-+a[e+88>>2]*.5;g=39;break}case 2:{m=+(f|0)-+a[e+88>>2]*.5;d=+(s|0)-+a[e+84>>2]*.5;p=p-+a[e+60>>2];g=39;break}default:{d=+a[C+16>>2];m=+a[C+20>>2];p=+a[C+24>>2]}}if((g|0)==39){g=0;a[C+16>>2]=d;a[C+20>>2]=m;a[C+24>>2]=p;a[C+28>>2]=0.0}a[C+16>>2]=d*+a[e+112>>2];a[C+20>>2]=m*+a[e+116>>2];a[C+24>>2]=p*+a[e+120>>2];p=+Ba[_[(_[e>>2]|0)+68>>2]&31](e,s,i);switch(_[e+108>>2]|0){case 0:{m=+(s|0)-+a[e+84>>2]*.5;d=p-+a[e+52>>2];p=h-+a[e+88>>2]*.5;g=45;break}case 1:{m=p-+a[e+56>>2];d=+(s|0)-+a[e+84>>2]*.5;p=h-+a[e+88>>2]*.5;g=45;break}case 2:{m=h-+a[e+88>>2]*.5;d=+(s|0)-+a[e+84>>2]*.5;p=p-+a[e+60>>2];g=45;break}default:{d=+a[C+32>>2];m=+a[C+36>>2];p=+a[C+40>>2]}}if((g|0)==45){g=0;a[C+32>>2]=d;a[C+36>>2]=m;a[C+40>>2]=p;a[C+44>>2]=0.0}a[C+32>>2]=d*+a[e+112>>2];a[C+36>>2]=m*+a[e+116>>2];a[C+40>>2]=p*+a[e+120>>2];$a[_[(_[t>>2]|0)+8>>2]&127](t,C,o,i);o=s}if((o|0)==(l|0)){i=f;break}}}else i=i+1|0}while((i|0)!=(r|0));u=C;return}function Ac(e,t,i,r,o,s,c,l){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=+s;c=+c;l=l|0;var f=0,b=0.0,p=0,d=0,m=0.0,h=0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0,M=0,D=0.0,T=0.0,O=0.0,H=0.0,G=0,W=0,F=0.0,A=0,P=0,B=0,L=0,V=0,E=0,q=0,Q=0,z=0,N=0,U=0,K=0,Z=0.0,X=0.0,J=0.0,Y=0,$=0;K=u;u=u+16|0;f=_[o+4>>2]|0;if((f|0)<0){if((_[o+8>>2]|0)<0){p=_[o+12>>2]|0;if(p|0){if(n[o+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[p+-4>>2]|0)}_[o+12>>2]=0}n[o+16>>0]=1;_[o+12>>2]=0;_[o+8>>2]=0}do{U=(_[o+12>>2]|0)+(f<<4)|0;_[U>>2]=_[K>>2];_[U+4>>2]=_[K+4>>2];_[U+8>>2]=_[K+8>>2];_[U+12>>2]=_[K+12>>2];f=f+1|0}while((f|0)!=0)}_[o+4>>2]=0;h=_[r+4>>2]|0;if((_[o+8>>2]|0)<(h|0)){if(h){_[6293]=(_[6293]|0)+1;f=cc((h<<4|3)+16|0)|0;if(!f)f=0;else{_[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}d=_[o+4>>2]|0;if((d|0)>0){p=0;do{U=f+(p<<4)|0;N=(_[o+12>>2]|0)+(p<<4)|0;_[U>>2]=_[N>>2];_[U+4>>2]=_[N+4>>2];_[U+8>>2]=_[N+8>>2];_[U+12>>2]=_[N+12>>2];p=p+1|0}while((p|0)!=(d|0));d=o+12|0}else d=o+12|0}else{f=0;d=o+12|0}p=_[d>>2]|0;if(p|0){if(n[o+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[p+-4>>2]|0)}_[d>>2]=0}n[o+16>>0]=1;_[d>>2]=f;_[o+8>>2]=h}d=_[t+28>>2]|0;if((d|0)<=0){u=K;return}U=_[t+36>>2]|0;D=+a[i>>2];T=+a[i+4>>2];O=+a[i+8>>2];H=+a[i+16>>2];v=+a[i+20>>2];g=+a[i+24>>2];y=+a[i+32>>2];m=+a[i+36>>2];b=+a[i+40>>2];w=+a[e>>2];k=+a[e+4>>2];S=+a[e+8>>2];N=-1;C=3402823466385288598117041.0e14;f=0;while(1){j=+a[U+(f*36|0)+20>>2];R=+a[U+(f*36|0)+24>>2];x=+a[U+(f*36|0)+28>>2];p=(j*D+R*T+x*O)*w+(j*H+R*v+x*g)*k+(j*y+R*m+x*b)*S<C;N=p?f:N;f=f+1|0;if((f|0)==(d|0))break;else C=p?(j*D+R*T+x*O)*w+(j*H+R*v+x*g)*k+(j*y+R*m+x*b)*S:C}if((N|0)<0){u=K;return}B=_[U+(N*36|0)+4>>2]|0;if((B|0)>0){L=U+(N*36|0)+12|0;V=U+(N*36|0)+20|0;E=U+(N*36|0)+24|0;q=U+(N*36|0)+28|0;P=0;k=D;S=T;C=O;w=H;while(1){W=_[L>>2]|0;f=_[W+(P<<2)>>2]|0;G=_[t+16>>2]|0;P=P+1|0;A=(P|0)==(B|0);W=_[W+((A?0:P)<<2)>>2]|0;Z=+a[G+(f<<4)>>2];X=Z-+a[G+(W<<4)>>2];j=+a[G+(f<<4)+4>>2];J=j-+a[G+(W<<4)+4>>2];R=+a[G+(f<<4)+8>>2];T=R-+a[G+(W<<4)+8>>2];x=X*k+J*S+T*C;D=X*w+J*v+T*g;T=X*y+J*m+T*b;J=+a[V>>2];X=+a[E>>2];F=+a[q>>2];O=k*J+S*X+C*F;H=w*J+v*X+g*F;F=y*J+m*X+b*F;R=(Z*k+j*S+R*C+ +a[i+48>>2])*-(D*F-T*H)+(Z*w+j*v+R*g+ +a[i+52>>2])*-(T*O-x*F)+(Z*y+j*m+R*b+ +a[i+56>>2])*-(x*H-D*O);W=r;G=o;f=_[W+4>>2]|0;if((f|0)>=2){d=_[W+12>>2]|0;y=+a[d+(f+-1<<4)>>2];C=+a[d+(f+-1<<4)+4>>2];v=+a[d+(f+-1<<4)+8>>2];p=0;m=y*-(D*F-T*H)+C*-(T*O-x*F)+v*-(x*H-D*O)-R;while(1){k=+a[d+(p<<4)>>2];S=+a[d+(p<<4)+4>>2];j=+a[d+(p<<4)+8>>2];b=+a[d+(p<<4)+12>>2];w=k*-(D*F-T*H)+S*-(T*O-x*F)+j*-(x*H-D*O)-R;do{if(m<0.0)if(w<0.0){h=_[G+4>>2]|0;if((h|0)!=(_[G+8>>2]|0)){g=k;y=S;m=j;I=87;break}M=h|0?h<<1:1;if((h|0)>=(M|0)){g=k;y=S;m=j;I=87;break}if(!M)d=0;else{_[6293]=(_[6293]|0)+1;d=cc((M<<4|3)+16|0)|0;if(!d)d=0;else{_[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=_[G+4>>2]|0}if((h|0)>0){I=0;do{Y=d+(I<<4)|0;$=(_[G+12>>2]|0)+(I<<4)|0;_[Y>>2]=_[$>>2];_[Y+4>>2]=_[$+4>>2];_[Y+8>>2]=_[$+8>>2];_[Y+12>>2]=_[$+12>>2];I=I+1|0}while((I|0)!=(h|0))}h=_[G+12>>2]|0;if(h|0){if(n[G+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[h+-4>>2]|0)}_[G+12>>2]=0}n[G+16>>0]=1;_[G+12>>2]=d;_[G+8>>2]=M;h=_[G+4>>2]|0;g=k;y=S;m=j;I=87;break}else{m=m/(m-w);g=y+(k-y)*m;y=C+(S-C)*m;m=v+(j-v)*m;h=_[G+4>>2]|0;if((h|0)!=(_[G+8>>2]|0)){b=0.0;I=87;break}M=h|0?h<<1:1;if((h|0)>=(M|0)){b=0.0;I=87;break}if(!M)d=0;else{_[6293]=(_[6293]|0)+1;d=cc((M<<4|3)+16|0)|0;if(!d)d=0;else{_[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=_[G+4>>2]|0}if((h|0)>0){I=0;do{$=d+(I<<4)|0;Y=(_[G+12>>2]|0)+(I<<4)|0;_[$>>2]=_[Y>>2];_[$+4>>2]=_[Y+4>>2];_[$+8>>2]=_[Y+8>>2];_[$+12>>2]=_[Y+12>>2];I=I+1|0}while((I|0)!=(h|0))}h=_[G+12>>2]|0;if(h|0){if(n[G+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[h+-4>>2]|0)}_[G+12>>2]=0}n[G+16>>0]=1;_[G+12>>2]=d;_[G+8>>2]=M;h=_[G+4>>2]|0;b=0.0;I=87;break}else if(w<0.0){m=m/(m-w);g=y+(k-y)*m;y=C+(S-C)*m;m=v+(j-v)*m;h=_[G+4>>2]|0;if((h|0)==(_[G+8>>2]|0)?(Q=h|0?h<<1:1,(h|0)<(Q|0)):0){if(!Q)d=0;else{_[6293]=(_[6293]|0)+1;d=cc((Q<<4|3)+16|0)|0;if(!d)d=0;else{_[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=_[G+4>>2]|0}if((h|0)>0){I=0;do{$=d+(I<<4)|0;Y=(_[G+12>>2]|0)+(I<<4)|0;_[$>>2]=_[Y>>2];_[$+4>>2]=_[Y+4>>2];_[$+8>>2]=_[Y+8>>2];_[$+12>>2]=_[Y+12>>2];I=I+1|0}while((I|0)!=(h|0))}h=_[G+12>>2]|0;if(h|0){if(n[G+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[h+-4>>2]|0)}_[G+12>>2]=0}n[G+16>>0]=1;_[G+12>>2]=d;_[G+8>>2]=Q;d=_[G+4>>2]|0}else d=h;h=_[G+12>>2]|0;a[h+(d<<4)>>2]=g;a[h+(d<<4)+4>>2]=y;a[h+(d<<4)+8>>2]=m;a[h+(d<<4)+12>>2]=0.0;h=(_[G+4>>2]|0)+1|0;_[G+4>>2]=h;if((h|0)==(_[G+8>>2]|0)?(z=h|0?h<<1:1,(h|0)<(z|0)):0){if(!z)d=0;else{_[6293]=(_[6293]|0)+1;d=cc((z<<4|3)+16|0)|0;if(!d)d=0;else{_[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=_[G+4>>2]|0}if((h|0)>0){I=0;do{$=d+(I<<4)|0;Y=(_[G+12>>2]|0)+(I<<4)|0;_[$>>2]=_[Y>>2];_[$+4>>2]=_[Y+4>>2];_[$+8>>2]=_[Y+8>>2];_[$+12>>2]=_[Y+12>>2];I=I+1|0}while((I|0)!=(h|0))}h=_[G+12>>2]|0;if(h|0){if(n[G+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[h+-4>>2]|0)}_[G+12>>2]=0}n[G+16>>0]=1;_[G+12>>2]=d;_[G+8>>2]=z;h=_[G+4>>2]|0;g=k;y=S;m=j;I=87}else{g=k;y=S;m=j;I=87}}}while(0);if((I|0)==87){I=0;$=_[G+12>>2]|0;a[$+(h<<4)>>2]=g;a[$+(h<<4)+4>>2]=y;a[$+(h<<4)+8>>2]=m;a[$+(h<<4)+12>>2]=b;_[G+4>>2]=(_[G+4>>2]|0)+1}p=p+1|0;if((p|0)==(f|0))break;m=w;y=k;v=j;C=S;d=_[W+12>>2]|0}f=_[W+4>>2]|0}if((f|0)<0){if((_[W+8>>2]|0)<0){p=_[W+12>>2]|0;if(p|0){if(n[W+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[p+-4>>2]|0)}_[W+12>>2]=0}n[W+16>>0]=1;_[W+12>>2]=0;_[W+8>>2]=0}do{$=(_[W+12>>2]|0)+(f<<4)|0;_[$>>2]=_[K>>2];_[$+4>>2]=_[K+4>>2];_[$+8>>2]=_[K+8>>2];_[$+12>>2]=_[K+12>>2];f=f+1|0}while((f|0)!=0)}_[W+4>>2]=0;k=+a[i>>2];S=+a[i+4>>2];C=+a[i+8>>2];w=+a[i+16>>2];v=+a[i+20>>2];g=+a[i+24>>2];y=+a[i+32>>2];m=+a[i+36>>2];b=+a[i+40>>2];if(A){d=V;p=E;f=q;I=i+48|0;M=i+52|0;h=i+56|0;break}else{$=r;r=o;o=$}}}else{d=U+(N*36|0)+20|0;p=U+(N*36|0)+24|0;f=U+(N*36|0)+28|0;I=i+48|0;M=i+52|0;h=i+56|0;o=r;k=D;S=T;C=O;w=H}Z=+a[d>>2];X=+a[p>>2];J=+a[f>>2];C=Z*k+X*S+J*C;g=Z*w+X*v+J*g;y=Z*y+X*m+J*b;m=+a[U+(N*36|0)+32>>2]-(C*+a[I>>2]+g*+a[M>>2]+y*+a[h>>2]);f=_[o+4>>2]|0;if((f|0)<=0){u=K;return}d=0;do{p=_[o+12>>2]|0;b=m+(C*+a[p+(d<<4)>>2]+g*+a[p+(d<<4)+4>>2]+y*+a[p+(d<<4)+8>>2]);b=b<=s?s:b;if(b<=c){f=p+(d<<4)|0;_[K>>2]=_[f>>2];_[K+4>>2]=_[f+4>>2];_[K+8>>2]=_[f+8>>2];_[K+12>>2]=_[f+12>>2];Ka[_[(_[l>>2]|0)+16>>2]&15](l,e,K,b);f=_[o+4>>2]|0}d=d+1|0}while((d|0)<(f|0));u=K;return}function Bc(e,t,i,n,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;s=s|0;var c=0,l=0.0,f=0,b=0.0,p=0,d=0.0,m=0,h=0,y=0.0,g=0.0,C=0.0,v=0.0,w=0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0.0,X=0,J=0,Y=0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,re=0.0,_e=0.0,oe=0.0,se=0.0,ce=0.0;Y=u;u=u+1312|0;J=_[t+12>>2]|0;R=+a[J>>2];U=+a[J+4>>2];Z=+a[J+8>>2];I=+a[J+16>>2];D=+a[J+20>>2];O=+a[J+24>>2];H=+a[J+32>>2];A=+a[J+36>>2];B=+a[J+40>>2];L=+a[J+48>>2];q=+a[J+52>>2];z=+a[J+56>>2];J=_[i+12>>2]|0;j=+a[J>>2];N=+a[J+4>>2];K=+a[J+8>>2];x=+a[J+16>>2];M=+a[J+20>>2];T=+a[J+24>>2];G=+a[J+32>>2];F=+a[J+36>>2];P=+a[J+40>>2];V=+a[J+48>>2];E=+a[J+52>>2];Q=+a[J+56>>2];a[Y+352+64>>2]=.009999999776482582;a[Y+280+64>>2]=.009999999776482582;ua[_[(_[n>>2]|0)+112>>2]&511](n);ua[_[(_[r>>2]|0)+112>>2]&511](r);if(!s){J=_[n>>2]|0;J=J+116|0;J=_[J>>2]|0;ua[J&511](n);J=_[r>>2]|0;J=J+116|0;J=_[J>>2]|0;ua[J&511](r);u=Y;return}X=Y+704+8|0;J=Y+424+8|0;do{s=s+-1|0;w=_[o>>2]|0;_[e+24>>2]=w;_[e+32>>2]=_[o+4>>2];o=o+8|0;h=ya[_[(_[n>>2]|0)+84>>2]&127](n)|0;Za[_[(_[h>>2]|0)+20>>2]&127](h,w,Y+352|0);w=_[e+32>>2]|0;h=ya[_[(_[r>>2]|0)+84>>2]&127](r)|0;Za[_[(_[h>>2]|0)+20>>2]&127](h,w,Y+280|0);oe=+a[Y+352>>2];b=+a[Y+352+4>>2];d=+a[Y+352+8>>2];a[Y+352>>2]=L+(R*oe+U*b+Z*d);a[Y+352+4>>2]=q+(I*oe+D*b+O*d);a[Y+352+8>>2]=z+(H*oe+A*b+B*d);a[Y+352+12>>2]=0.0;d=+a[Y+352+16>>2];b=+a[Y+352+20>>2];oe=+a[Y+352+24>>2];a[Y+352+16>>2]=L+(R*d+U*b+Z*oe);a[Y+352+20>>2]=q+(I*d+D*b+O*oe);a[Y+352+24>>2]=z+(H*d+A*b+B*oe);a[Y+352+28>>2]=0.0;oe=+a[Y+352+32>>2];b=+a[Y+352+36>>2];d=+a[Y+352+40>>2];a[Y+352+32>>2]=L+(R*oe+U*b+Z*d);a[Y+352+36>>2]=q+(I*oe+D*b+O*d);a[Y+352+40>>2]=z+(H*oe+A*b+B*d);a[Y+352+44>>2]=0.0;ee=+a[Y+280>>2];S=+a[Y+280+4>>2];k=+a[Y+280+8>>2];a[Y+280>>2]=V+(j*ee+N*S+K*k);a[Y+280+4>>2]=E+(x*ee+M*S+T*k);a[Y+280+8>>2]=Q+(G*ee+F*S+P*k);a[Y+280+12>>2]=0.0;ie=+a[Y+280+16>>2];v=+a[Y+280+20>>2];_e=+a[Y+280+24>>2];a[Y+280+16>>2]=V+(j*ie+N*v+K*_e);a[Y+280+20>>2]=E+(x*ie+M*v+T*_e);a[Y+280+24>>2]=Q+(G*ie+F*v+P*_e);a[Y+280+28>>2]=0.0;g=+a[Y+280+32>>2];re=+a[Y+280+36>>2];C=+a[Y+280+40>>2];a[Y+280+32>>2]=V+(j*g+N*re+K*C);a[Y+280+36>>2]=E+(x*g+M*re+T*C);a[Y+280+40>>2]=Q+(G*g+F*re+P*C);a[Y+280+44>>2]=0.0;ne=+a[Y+352>>2];ce=+a[Y+352+16>>2]-ne;y=+a[Y+352+4>>2];se=+a[Y+352+20>>2]-y;te=+a[Y+352+8>>2];l=+a[Y+352+24>>2]-te;$=se*(z+(H*oe+A*b+B*d)-te)-l*(q+(I*oe+D*b+O*d)-y);l=l*(L+(R*oe+U*b+Z*d)-ne)-ce*(z+(H*oe+A*b+B*d)-te);d=ce*(q+(I*oe+D*b+O*d)-y)-se*(L+(R*oe+U*b+Z*d)-ne);b=1.0/+W(+(d*d+($*$+l*l)));y=te*b*d+(ne*b*$+y*b*l);a[Y+352+48>>2]=b*$;a[Y+352+52>>2]=b*l;a[Y+352+56>>2]=b*d;a[Y+352+60>>2]=y;ne=V+(j*ie+N*v+K*_e)-(V+(j*ee+N*S+K*k));te=E+(x*ie+M*v+T*_e)-(E+(x*ee+M*S+T*k));_e=Q+(G*ie+F*v+P*_e)-(Q+(G*ee+F*S+P*k));v=V+(j*g+N*re+K*C)-(V+(j*ee+N*S+K*k));ie=E+(x*g+M*re+T*C)-(E+(x*ee+M*S+T*k));C=Q+(G*g+F*re+P*C)-(Q+(G*ee+F*S+P*k));re=1.0/+W(+((ne*ie-te*v)*(ne*ie-te*v)+((te*C-_e*ie)*(te*C-_e*ie)+(_e*v-ne*C)*(_e*v-ne*C))));g=re*(te*C-_e*ie);C=re*(_e*v-ne*C);v=re*(ne*ie-te*v);k=(Q+(G*ee+F*S+P*k))*v+((V+(j*ee+N*S+K*k))*g+(E+(x*ee+M*S+T*k))*C);a[Y+280+48>>2]=g;a[Y+280+52>>2]=C;a[Y+280+56>>2]=v;a[Y+280+60>>2]=k;S=+a[Y+352+64>>2]+ +a[Y+280+64>>2];e:do{if(!((+a[Y+280>>2]*b*$+ +a[Y+280+4>>2]*b*l+ +a[Y+280+8>>2]*b*d-y-S>0.0?b*$*+a[Y+280+16>>2]+b*l*+a[Y+280+20>>2]+b*d*+a[Y+280+24>>2]-y-S>0.0:0)&b*$*+a[Y+280+32>>2]+b*l*+a[Y+280+36>>2]+b*d*+a[Y+280+40>>2]-y-S>0.0)?!((+a[Y+352>>2]*g+ +a[Y+352+4>>2]*C+ +a[Y+352+8>>2]*v-k-S>0.0?g*+a[Y+352+16>>2]+C*+a[Y+352+20>>2]+v*+a[Y+352+24>>2]-k-S>0.0:0)&g*+a[Y+352+32>>2]+C*+a[Y+352+36>>2]+v*+a[Y+352+40>>2]-k-S>0.0):0){_[X>>2]=_[Y+352+48>>2];_[X+4>>2]=_[Y+352+48+4>>2];_[X+8>>2]=_[Y+352+48+8>>2];_[X+12>>2]=_[Y+352+48+12>>2];h=Kd(Y+352|0,Y+280|0,Y+984|0)|0;do{if(h|0){_[Y+704+4>>2]=0;a[Y+704>>2]=-1.0e3;if((h|0)<=0)break;g=+a[X>>2];C=+a[Y+704+12>>2];v=+a[Y+704+16>>2];y=+a[Y+704+20>>2];m=0;b=-1.0e3;c=0;l=-1.0e3;f=0;do{d=S-(+a[Y+984+(m<<4)>>2]*g+ +a[Y+984+(m<<4)+4>>2]*C+ +a[Y+984+(m<<4)+8>>2]*v-y);do{if(d>=0.0){if(d>b){_[Y+1240>>2]=m;f=1;l=d;c=1;b=d;break}p=c+1|0;if(d+1.1920928955078125e-07>=b){_[Y+1240+(c<<2)>>2]=m;f=p;c=p}}}while(0);m=m+1|0}while((m|0)!=(h|0));_[Y+704+4>>2]=f;a[Y+704>>2]=l;if((c|0)>0){c=0;do{h=Y+984+(_[Y+1240+(c<<2)>>2]<<4)|0;w=Y+704+24+(c<<4)|0;_[w>>2]=_[h>>2];_[w+4>>2]=_[h+4>>2];_[w+8>>2]=_[h+8>>2];_[w+12>>2]=_[h+12>>2];c=c+1|0}while((c|0)<(f|0))}if(f|0){a[X>>2]=-g;a[Y+704+12>>2]=-C;a[Y+704+16>>2]=-v;_[J>>2]=_[Y+280+48>>2];_[J+4>>2]=_[Y+280+48+4>>2];_[J+8>>2]=_[Y+280+48+8>>2];_[J+12>>2]=_[Y+280+48+12>>2];w=Kd(Y+280|0,Y+352|0,Y+984|0)|0;do{if(w|0){_[Y+424+4>>2]=0;a[Y+424>>2]=-1.0e3;if((w|0)<=0)break;g=+a[J>>2];C=+a[Y+424+12>>2];v=+a[Y+424+16>>2];k=+a[Y+424+20>>2];h=0;b=-1.0e3;c=0;d=-1.0e3;p=0;do{y=S-(+a[Y+984+(h<<4)>>2]*g+ +a[Y+984+(h<<4)+4>>2]*C+ +a[Y+984+(h<<4)+8>>2]*v-k);do{if(y>=0.0){if(y>b){_[Y+1240>>2]=h;p=1;d=y;c=1;b=y;break}m=c+1|0;if(y+1.1920928955078125e-07>=b){_[Y+1240+(c<<2)>>2]=h;p=m;c=m}}}while(0);h=h+1|0}while((h|0)!=(w|0));_[Y+424+4>>2]=p;a[Y+424>>2]=d;if((c|0)>0){c=0;do{h=Y+984+(_[Y+1240+(c<<2)>>2]<<4)|0;w=Y+424+24+(c<<4)|0;_[w>>2]=_[h>>2];_[w+4>>2]=_[h+4>>2];_[w+8>>2]=_[h+8>>2];_[w+12>>2]=_[h+12>>2];c=c+1|0}while((c|0)<(p|0))}if(p|0){if(d<l){a[Y>>2]=d;_[Y+8>>2]=_[J>>2];_[Y+8+4>>2]=_[J+4>>2];_[Y+8+8>>2]=_[J+8>>2];_[Y+8+12>>2]=_[J+12>>2];_[Y+4>>2]=p;c=p;do{c=c+-1|0;h=Y+424+24+(c<<4)|0;w=Y+24+(c<<4)|0;_[w>>2]=_[h>>2];_[w+4>>2]=_[h+4>>2];_[w+8>>2]=_[h+8>>2];_[w+12>>2]=_[h+12>>2]}while((c|0)!=0);c=p;l=d}else{a[Y>>2]=l;_[Y+8>>2]=_[X>>2];_[Y+8+4>>2]=_[X+4>>2];_[Y+8+8>>2]=_[X+8>>2];_[Y+8+12>>2]=_[X+12>>2];_[Y+4>>2]=f;c=f;do{c=c+-1|0;h=Y+704+24+(c<<4)|0;w=Y+24+(c<<4)|0;_[w>>2]=_[h>>2];_[w+4>>2]=_[h+4>>2];_[w+8>>2]=_[h+8>>2];_[w+12>>2]=_[h+12>>2]}while((c|0)!=0);c=f}if(!c)break e;while(1){f=c+-1|0;c=_[e+16>>2]|0;Za[_[(_[c>>2]|0)+8>>2]&127](c,_[e+28>>2]|0,_[e+24>>2]|0);c=_[e+16>>2]|0;Za[_[(_[c>>2]|0)+12>>2]&127](c,_[e+36>>2]|0,_[e+32>>2]|0);c=_[e+12>>2]|0;if(!c){c=_[e+4>>2]|0;c=xa[_[(_[c>>2]|0)+12>>2]&63](c,_[t+8>>2]|0,_[i+8>>2]|0)|0;_[e+12>>2]=c}w=_[e+16>>2]|0;_[w+4>>2]=c;Ka[_[(_[w>>2]|0)+16>>2]&15](w,Y+8|0,Y+24+(f<<4)|0,-l);if(!f)break e;c=f;l=+a[Y>>2]}}}}while(0);break e}}}while(0)}}while(0)}while((s|0)!=0);J=_[n>>2]|0;J=J+116|0;J=_[J>>2]|0;ua[J&511](n);J=_[r>>2]|0;J=J+116|0;J=_[J>>2]|0;ua[J&511](r);u=Y;return}function Cc(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,s=0,c=0,l=0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0;k=u;u=u+16|0;c=_[e+228>>2]|0;s=_[e+196>>2]|0;if((s|0)<(c|0)){if((_[e+200>>2]|0)<(c|0)){if(!c){i=0;o=s}else{_[6293]=(_[6293]|0)+1;i=cc((c<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=_[e+196>>2]|0}if((o|0)>0){r=0;do{_[i+(r<<2)>>2]=_[(_[e+204>>2]|0)+(r<<2)>>2];r=r+1|0}while((r|0)!=(o|0))}r=_[e+204>>2]|0;if(r|0){if(n[e+208>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[e+204>>2]=0}n[e+208>>0]=1;_[e+204>>2]=i;_[e+200>>2]=c;r=e+204|0}else r=e+204|0;i=s;do{_[(_[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(c|0))}else r=e+204|0;_[e+196>>2]=c;i=0;while(1){if((i|0)>=(ya[_[(_[e>>2]|0)+104>>2]&127](e)|0))break;_[(_[r>>2]|0)+(i<<2)>>2]=_[(_[e+236>>2]|0)+(i<<2)>>2];i=i+1|0}i=_[e+196>>2]|0;if((i|0)>1)Sh(e+192|0,0,i+-1|0);if(!(ya[_[(_[e>>2]|0)+104>>2]&127](e)|0))i=0;else i=_[r>>2]|0;o=_[e+212>>2]|0;g=_[e+196>>2]|0;C=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;_[o+4>>2]=t;_[o+12>>2]=i;_[o+16>>2]=g;_[o+20>>2]=C;i=_[o+32>>2]|0;if((i|0)<0){if((_[o+36>>2]|0)<0){r=_[o+40>>2]|0;if(r|0){if(n[o+44>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[o+40>>2]=0}n[o+44>>0]=1;_[o+40>>2]=0;_[o+36>>2]=0}do{_[(_[o+40>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}_[o+32>>2]=0;i=_[o+52>>2]|0;if((i|0)<0){if((_[o+56>>2]|0)<0){r=_[o+60>>2]|0;if(r|0){if(n[o+64>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[o+60>>2]=0}n[o+64>>0]=1;_[o+60>>2]=0;_[o+56>>2]=0}do{_[(_[o+60>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}_[o+52>>2]=0;i=_[o+72>>2]|0;if((i|0)<0){if((_[o+76>>2]|0)<0){r=_[o+80>>2]|0;if(r|0){if(n[o+84>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[o+80>>2]=0}n[o+84>>0]=1;_[o+80>>2]=0;_[o+76>>2]=0}do{_[(_[o+80>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}_[o+72>>2]=0;C=_[e+216>>2]|0;i=_[(_[C>>2]|0)+8>>2]|0;y=_[e+8>>2]|0;g=_[e+24>>2]|0;g=ya[_[(_[g>>2]|0)+36>>2]&127](g)|0;Za[i&127](C,y,g);g=_[e+220>>2]|0;y=_[e+24>>2]|0;C=_[e+212>>2]|0;i=_[g+28>>2]|0;if((i|0)<0){if((_[g+32>>2]|0)<0){r=_[g+36>>2]|0;if(r|0){if(n[g+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[g+36>>2]=0}n[g+40>>0]=1;_[g+36>>2]=0;_[g+32>>2]=0}do{_[(_[g+36>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}_[g+28>>2]=0;c=_[g+8>>2]|0;if((c|0)>0){l=_[g+16>>2]|0;s=0;do{f=l+(s<<3)|0;i=_[f>>2]|0;if((i|0)==(s|0))i=s;else{r=i;o=f;do{i=l+(r<<3)|0;_[o>>2]=_[i>>2];i=_[i>>2]|0;o=l+(i<<3)|0;r=_[o>>2]|0}while((i|0)!=(r|0))}_[f>>2]=i;s=s+1|0}while((s|0)!=(c|0));if((c|0)>1){wi(g+4|0,0,c+-1|0);c=_[g+8>>2]|0}if((c|0)>0){p=_[g+16>>2]|0;i=0;while(1){d=_[p+(i<<3)>>2]|0;f=i;while(1){l=f+1|0;if((l|0)>=(c|0)){b=0;break}if((_[p+(l<<3)>>2]|0)==(d|0))f=l;else{b=1;break}}e:do{if((i|0)<=(f|0)){m=_[e+16>>2]|0;r=1;s=i;while(1){o=_[m+(_[p+(s<<3)+4>>2]<<2)>>2]|0;if((_[o+208>>2]|0)==(d|0)){o=_[o+220>>2]|0;r=(o|0)!=4&(r&(o|0)!=1)}if((s|0)<(f|0))s=s+1|0;else break}if(r)while(1){r=_[m+(_[p+(i<<3)+4>>2]<<2)>>2]|0;if((_[r+208>>2]|0)==(d|0)?(_[r+220>>2]&-2|0)!=4:0)_[r+220>>2]=2;if((i|0)>=(f|0))break e;i=i+1|0}else while(1){r=_[m+(_[p+(i<<3)+4>>2]<<2)>>2]|0;if((_[r+208>>2]|0)==(d|0)?(_[r+220>>2]|0)==2:0){_[r+220>>2]=3;a[r+224>>2]=0.0}if((i|0)>=(f|0))break e;i=i+1|0}}}while(0);if(b)i=l;else break}}}c=ya[_[(_[y>>2]|0)+36>>2]&127](y)|0;if((c|0)>0){s=0;do{l=Pa[_[(_[y>>2]|0)+40>>2]&31](y,s)|0;r=_[l+772>>2]|0;o=_[l+776>>2]|0;if((r|0)!=0?(_[r+220>>2]|0)!=2:0)i=94;else i=92;if(((i|0)==92?(i=0,o|0):0)?(_[o+220>>2]|0)!=2:0)i=94;if((i|0)==94){i=_[r+204>>2]|0;if((i&2|0?(i&4|0)==0?(_[r+220>>2]|0)!=2:0:0)?(_[o+204>>2]&3|0)==0:0){if((_[o+220>>2]&-2|0)!=4)_[o+220>>2]=1;a[o+224>>2]=0.0}m=_[o+204>>2]|0;if(m&2|0?(m&4|i&3|0)==0?(_[o+220>>2]|0)!=2:0:0){if((_[r+220>>2]&-2|0)!=4)_[r+220>>2]=1;a[r+224>>2]=0.0}if(n[g+64>>0]|0?xa[_[(_[y>>2]|0)+28>>2]&63](y,r,o)|0:0){r=_[g+28>>2]|0;if((r|0)==(_[g+32>>2]|0)?(h=r|0?r<<1:1,(r|0)<(h|0)):0){if(!h)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((h<<2|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}r=_[g+28>>2]|0}if((r|0)>0){o=0;do{_[i+(o<<2)>>2]=_[(_[g+36>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(r|0))}o=_[g+36>>2]|0;if(o){if(n[g+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);r=_[g+28>>2]|0}_[g+36>>2]=0}n[g+40>>0]=1;_[g+36>>2]=i;_[g+32>>2]=h;i=r}else i=r;_[(_[g+36>>2]|0)+(i<<2)>>2]=l;_[g+28>>2]=i+1}}s=s+1|0}while((s|0)<(c|0));i=g+64|0}else i=g+64|0;h=_[g+8>>2]|0;if(!(n[i>>0]|0)){w=ya[_[(_[y>>2]|0)+44>>2]&127](y)|0;v=ya[_[(_[y>>2]|0)+36>>2]&127](y)|0;Ia[_[(_[C>>2]|0)+8>>2]&7](C,_[e+16>>2]|0,_[e+8>>2]|0,w,v,-1);v=_[e+212>>2]|0;wg(v);v=_[e+216>>2]|0;C=_[v>>2]|0;C=C+16|0;C=_[C>>2]|0;w=e+72|0;w=_[w>>2]|0;Za[C&127](v,t,w);u=k;return}m=_[g+28>>2]|0;if((m|0)>1)Oh(g+24|0,0,m+-1|0);if((h|0)<=0){v=_[e+212>>2]|0;wg(v);v=_[e+216>>2]|0;C=_[v>>2]|0;C=C+16|0;C=_[C>>2]|0;w=e+72|0;w=_[w>>2]|0;Za[C&127](v,t,w);u=k;return}i=0;b=1;d=0;while(1){r=_[g+16>>2]|0;p=_[r+(i<<3)>>2]|0;e:do{if((i|0)<(h|0)){s=1;c=_[g+48>>2]|0;o=_[g+52>>2]|0;while(1){f=_[(_[e+16>>2]|0)+(_[r+(i<<3)+4>>2]<<2)>>2]|0;if((c|0)==(o|0)){l=o|0?o<<1:1;if((o|0)<(l|0)){if(!l)r=0;else{_[6293]=(_[6293]|0)+1;r=cc((l<<2|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}o=_[g+48>>2]|0}if((o|0)>0){c=0;do{_[r+(c<<2)>>2]=_[(_[g+56>>2]|0)+(c<<2)>>2];c=c+1|0}while((c|0)!=(o|0))}c=_[g+56>>2]|0;if(c){if(n[g+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0);o=_[g+48>>2]|0}_[g+56>>2]=0}n[g+60>>0]=1;_[g+56>>2]=r;_[g+52>>2]=l;r=o;o=l}else r=o}else r=c;_[(_[g+56>>2]|0)+(r<<2)>>2]=f;c=r+1|0;_[g+48>>2]=c;y=_[f+220>>2]|0;s=s&((y|0)==2|(y|0)==5);i=i+1|0;if((i|0)>=(h|0)){l=i;r=s;break e}r=_[g+16>>2]|0;if((_[r+(i<<3)>>2]|0)!=(p|0)){l=i;r=s;break}}}else{l=i;r=1}}while(0);if((d|0)<(m|0)?(v=_[g+36>>2]|0,w=v+(d<<2)|0,y=_[w>>2]|0,f=_[y+772>>2]|0,(_[((_[f+208>>2]|0)>-1?f:_[y+776>>2]|0)+208>>2]|0)==(p|0)):0){i=d;do{i=i+1|0;if((i|0)>=(m|0))break;y=_[v+(i<<2)>>2]|0;b=_[y+772>>2]|0}while((p|0)==(_[((_[b+208>>2]|0)>-1?b:_[y+776>>2]|0)+208>>2]|0));o=w;s=i-d|0;c=i}else{o=0;s=0;c=b}if(!r)Ia[_[(_[C>>2]|0)+8>>2]&7](C,_[g+56>>2]|0,_[g+48>>2]|0,o,s,p);d=(s|0)==0?d:c;i=_[g+48>>2]|0;if((i|0)<0){if((_[g+52>>2]|0)<0){r=_[g+56>>2]|0;if(r|0){if(n[g+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[g+56>>2]=0}n[g+60>>0]=1;_[g+56>>2]=0;_[g+52>>2]=0}do{_[(_[g+56>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}_[g+48>>2]=0;if((l|0)>=(h|0))break;else{i=l;b=c}}v=_[e+212>>2]|0;wg(v);v=_[e+216>>2]|0;C=_[v>>2]|0;C=C+16|0;C=_[C>>2]|0;w=e+72|0;w=_[w>>2]|0;Za[C&127](v,t,w);u=k;return}function Dc(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0,h=0,y=0,g=0,C=0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0,Q=0;Q=u;u=u+1104|0;_[Q+136+8>>2]=0;_[Q+136+12>>2]=-1;m=Q+136+28|0;_[Q+136>>2]=7676;_[Q+136+4>>2]=8;_[Q+136+16>>2]=1065353216;_[Q+136+20>>2]=1065353216;_[Q+136+24>>2]=1065353216;_[m>>2]=0;_[m+4>>2]=0;_[m+8>>2]=0;_[m+12>>2]=0;_[m+16>>2]=0;_[m+20>>2]=0;_[m+24>>2]=0;m=_[i+4>>2]|0;h=_[i+12>>2]|0;o=_[m+4>>2]|0;if((o|0)<20){_[Q+584>>2]=4988;_[Q+584+168>>2]=0;a[Q+584+172>>2]=0.0;_[Q+584+164>>2]=_[r+4>>2];a[Q+224+308>>2]=9.999999747378752e-05;n[Q+224+332>>0]=0;_[Q+192>>2]=9104;_[Q+192+4>>2]=Q+224;_[Q+192+8>>2]=Q+136;_[Q+192+12>>2]=m;_[Q+120>>2]=8836;_[Q+120+4>>2]=Q+224;_[Q+120+8>>2]=Q+136;_[Q+120+12>>2]=m;q=(_[r+20>>2]&8|0)==0?Q+192|0:Q+120|0;if((Ta[_[(_[q>>2]|0)+8>>2]&3](q,e,t,h,h,Q+584|0)|0?(s=Q+584+132|0,c=+a[s>>2],l=+a[Q+584+136>>2],f=+a[Q+584+140>>2],c*c+l*l+f*f>9.999999747378752e-05):0)?(b=+a[Q+584+164>>2],b<+a[r+4>>2]):0){E=1.0/+W(+(c*c+l*l+f*f));a[s>>2]=c*E;a[Q+584+136>>2]=l*E;a[Q+584+140>>2]=f*E;_[Q>>2]=_[i+8>>2];_[Q+4>>2]=0;_[Q+8>>2]=_[s>>2];_[Q+8+4>>2]=_[s+4>>2];_[Q+8+8>>2]=_[s+8>>2];_[Q+8+12>>2]=_[s+12>>2];a[Q+24>>2]=b;+Ba[_[(_[r>>2]|0)+12>>2]&31](r,Q,1)}u=Q;return}if((o+-21|0)>>>0<9){D=+a[h>>2];T=+a[h+16>>2];b=+a[h+32>>2];O=+a[h+4>>2];H=+a[h+20>>2];p=+a[h+36>>2];P=+a[h+8>>2];L=+a[h+24>>2];E=+a[h+40>>2];G=-+a[h+48>>2];F=-+a[h+52>>2];A=-+a[h+56>>2];V=+a[e+48>>2];B=+a[e+52>>2];f=+a[e+56>>2];c=D*G+T*F+b*A+(D*V+T*B+b*f);l=O*G+H*F+p*A+(O*V+H*B+p*f);f=P*G+L*F+E*A+(P*V+L*B+E*f);a[Q+120>>2]=c;a[Q+120+4>>2]=l;a[Q+120+8>>2]=f;a[Q+120+12>>2]=0.0;B=+a[t+48>>2];V=+a[t+52>>2];d=+a[t+56>>2];b=D*G+T*F+b*A+(D*B+T*V+b*d);p=O*G+H*F+p*A+(O*B+H*V+p*d);d=P*G+L*F+E*A+(P*B+L*V+E*d);if((_[m+4>>2]|0)==21){o=_[i+8>>2]|0;q=_[r+20>>2]|0;_[Q+4>>2]=_[Q+120>>2];_[Q+4+4>>2]=_[Q+120+4>>2];_[Q+4+8>>2]=_[Q+120+8>>2];_[Q+4+12>>2]=_[Q+120+12>>2];a[Q+20>>2]=b;a[Q+24>>2]=p;a[Q+28>>2]=d;a[Q+32>>2]=0.0;_[Q+36>>2]=q;a[Q+40>>2]=1.0;_[Q>>2]=5016;_[Q+44>>2]=r;_[Q+48>>2]=o;_[Q+52>>2]=m;_[Q+56>>2]=_[h>>2];_[Q+56+4>>2]=_[h+4>>2];_[Q+56+8>>2]=_[h+8>>2];_[Q+56+12>>2]=_[h+12>>2];_[Q+72>>2]=_[h+16>>2];_[Q+72+4>>2]=_[h+16+4>>2];_[Q+72+8>>2]=_[h+16+8>>2];_[Q+72+12>>2]=_[h+16+12>>2];_[Q+88>>2]=_[h+32>>2];_[Q+88+4>>2]=_[h+32+4>>2];_[Q+88+8>>2]=_[h+32+8>>2];_[Q+88+12>>2]=_[h+32+12>>2];_[Q+104>>2]=_[h+48>>2];_[Q+104+4>>2]=_[h+48+4>>2];_[Q+104+8>>2]=_[h+48+8>>2];_[Q+104+12>>2]=_[h+48+12>>2];_[Q+40>>2]=_[r+4>>2];o=_[m+52>>2]|0;_[Q+192>>2]=6068;_[Q+192+4>>2]=o;_[Q+192+8>>2]=Q;o=_[m+56>>2]|0;_[Q+584>>2]=0;_[Q+584+4>>2]=0;_[Q+584+8>>2]=0;_[Q+584+12>>2]=0;_[Q+224>>2]=0;_[Q+224+4>>2]=0;_[Q+224+8>>2]=0;_[Q+224+12>>2]=0;if(!(n[o+60>>0]|0))re(o,Q+192|0,Q+120|0,b,p,d,Q+584|0,Q+224|0);else Wd(o,Q+192|0,Q+120|0,b,p,d,Q+584|0,Q+224|0,_[o+56>>2]|0)}else{q=_[i+8>>2]|0;C=_[r+20>>2]|0;a[Q+584+4>>2]=c;a[Q+584+8>>2]=l;a[Q+584+12>>2]=f;a[Q+584+16>>2]=0.0;a[Q+584+20>>2]=b;a[Q+584+24>>2]=p;a[Q+584+28>>2]=d;a[Q+584+32>>2]=0.0;_[Q+584+36>>2]=C;a[Q+584+40>>2]=1.0;_[Q+584>>2]=5040;_[Q+584+44>>2]=r;_[Q+584+48>>2]=q;_[Q+584+52>>2]=m;_[Q+584+56>>2]=_[h>>2];_[Q+584+56+4>>2]=_[h+4>>2];_[Q+584+56+8>>2]=_[h+8>>2];_[Q+584+56+12>>2]=_[h+12>>2];_[Q+584+72>>2]=_[h+16>>2];_[Q+584+72+4>>2]=_[h+16+4>>2];_[Q+584+72+8>>2]=_[h+16+8>>2];_[Q+584+72+12>>2]=_[h+16+12>>2];_[Q+584+88>>2]=_[h+32>>2];_[Q+584+88+4>>2]=_[h+32+4>>2];_[Q+584+88+8>>2]=_[h+32+8>>2];_[Q+584+88+12>>2]=_[h+32+12>>2];_[Q+584+104>>2]=_[h+48>>2];_[Q+584+104+4>>2]=_[h+48+4>>2];_[Q+584+104+8>>2]=_[h+48+8>>2];_[Q+584+104+12>>2]=_[h+48+12>>2];_[Q+584+40>>2]=_[r+4>>2];a[Q+224>>2]=c;a[Q+224+4>>2]=l;a[Q+224+8>>2]=f;a[Q+224+12>>2]=0.0;if(b<c)a[Q+224>>2]=b;if(p<l)a[Q+224+4>>2]=p;if(d<f)a[Q+224+8>>2]=d;a[Q+192>>2]=c;a[Q+192+4>>2]=l;a[Q+192+8>>2]=f;a[Q+192+12>>2]=0.0;if(c<b)a[Q+192>>2]=b;if(l<p)a[Q+192+4>>2]=p;if(f<d)a[Q+192+8>>2]=d;$a[_[(_[m>>2]|0)+64>>2]&127](m,Q+584|0,Q+224|0,Q+192|0)}u=Q;return}if((o|0)!=31){u=Q;return}o=_[m+68>>2]|0;C=_[i+8>>2]|0;_[Q+192>>2]=5064;_[Q+192+4>>2]=C;_[Q+192+8>>2]=m;_[Q+192+12>>2]=h;_[Q+192+16>>2]=e;_[Q+192+20>>2]=t;_[Q+192+24>>2]=r;if(!o){s=_[m+20>>2]|0;if((s|0)>0){o=0;do{nf(Q+192|0,o);o=o+1|0}while((o|0)<(s|0))}}else{l=+a[h+48>>2];A=+a[e+48>>2]-l;f=+a[h+52>>2];P=+a[e+52>>2]-f;c=+a[h+56>>2];x=+a[e+56>>2]-c;I=+a[h>>2];M=+a[h+16>>2];D=+a[h+32>>2];T=+a[h+4>>2];O=+a[h+20>>2];H=+a[h+36>>2];G=+a[h+8>>2];F=+a[h+24>>2];R=+a[h+40>>2];l=+a[t+48>>2]-l;f=+a[t+52>>2]-f;c=+a[t+56>>2]-c;o=_[o>>2]|0;if(o|0){S=l*I+f*M+c*D-(A*I+P*M+x*D);j=l*T+f*O+c*H-(A*T+P*O+x*H);p=l*G+f*F+c*R-(A*G+P*F+x*R);d=1.0/+W(+(S*S+j*j+p*p));v=S*d==0.0?999999984306749440.0:1.0/(S*d);w=j*d==0.0?999999984306749440.0:1.0/(j*d);k=p*d==0.0?999999984306749440.0:1.0/(p*d);_[Q+584>>2]=o;r=1;i=126;e=128;h=Q+584|0;m=128;C=0;while(1){y=r+-1|0;g=_[h+(y<<2)>>2]|0;_[Q+224>>2]=_[g>>2];_[Q+224+4>>2]=_[g+4>>2];_[Q+224+8>>2]=_[g+8>>2];_[Q+224+12>>2]=_[g+12>>2];_[Q+224+16>>2]=_[g+16>>2];_[Q+224+16+4>>2]=_[g+16+4>>2];_[Q+224+16+8>>2]=_[g+16+8>>2];_[Q+224+16+12>>2]=_[g+16+12>>2];c=v*(+a[Q+224+((v<0.0&1)<<4)>>2]-(A*I+P*M+x*D));l=v*(+a[Q+224+((v<0.0^1)<<4)>>2]-(A*I+P*M+x*D));f=w*(+a[Q+224+((w<0.0&1)<<4)+4>>2]-(A*T+P*O+x*H));b=w*(+a[Q+224+((w<0.0^1)<<4)+4>>2]-(A*T+P*O+x*H));do{if((!(f>l|c>b)?(L=f>c?f:c,B=b<l?b:l,V=k*(+a[Q+224+((k<0.0&1)<<4)+8>>2]-(A*G+P*F+x*R)),E=k*(+a[Q+224+((k<0.0^1)<<4)+8>>2]-(A*G+P*F+x*R)),!(V>B|L>E)):0)?(E<B?E:B)>0.0?(V>L?V:L)<S*d*S+j*d*j+p*d*p:0:0){if(!(_[g+40>>2]|0)){ma[_[(_[Q+192>>2]|0)+12>>2]&127](Q+192|0,g);r=y;o=h;s=C;break}if((y|0)>(i|0)){t=m<<1;if((m|0)<(t|0)){e:do{if((e|0)<(t|0)){do{if(m){_[6293]=(_[6293]|0)+1;o=cc((m<<3|3)+16|0)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}if((m|0)>0)s=0;else{q=43;break}do{_[o+(s<<2)>>2]=_[h+(s<<2)>>2];s=s+1|0}while((s|0)!=(m|0));if(!(C<<24>>24)){e=t;s=1;break e}}else{o=0;q=43}}while(0);if((q|0)==43){q=0;if(C<<24>>24==0|(h|0)==0){e=t;s=1;break}}_[6294]=(_[6294]|0)+1;Mc(_[h+-4>>2]|0);e=t;s=1}else{o=h;s=C}}while(0);Wj(o+(m<<2)|0,0,m<<2|0)|0}else{o=h;s=C}i=t+-2|0;m=t}else{o=h;s=C}_[o+(y<<2)>>2]=_[g+36>>2];_[o+(r<<2)>>2]=_[g+40>>2];r=r+1|0}else{r=y;o=h;s=C}}while(0);if(!r)break;else{h=o;C=s}}if(!(s<<24>>24==0|(o|0)==0)){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}}}u=Q;return}function Ec(e){e=e|0;var t=0.0,i=0.0,r=0,o=0.0,s=0,c=0.0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0,v=0.0,w=0.0,k=0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0.0;C=u;u=u+176|0;if(!(n[e+738>>0]|0)){u=C;return}a[e+36>>2]=0.0;a[e+744>>2]=0.0;if(!(n[e+736>>0]|0)){r=_[e+28>>2]|0;c=+a[e+600>>2];l=+a[e+604>>2];m=+a[e+608>>2];y=c*+a[r+20>>2]+l*+a[r+24>>2]+m*+a[r+28>>2]+ +a[r+56>>2];s=_[e+32>>2]|0;f=+a[e+664>>2];b=+a[e+668>>2];h=+a[e+672>>2];g=f*+a[s+20>>2]+b*+a[s+24>>2]+h*+a[s+28>>2]+ +a[s+56>>2];p=f*+a[s+36>>2]+b*+a[s+40>>2]+h*+a[s+44>>2]+ +a[s+60>>2];d=c*+a[r+4>>2]+l*+a[r+8>>2]+m*+a[r+12>>2]+ +a[r+52>>2];m=c*+a[r+36>>2]+l*+a[r+40>>2]+m*+a[r+44>>2]+ +a[r+60>>2];h=f*+a[s+4>>2]+b*+a[s+8>>2]+h*+a[s+12>>2]+ +a[s+52>>2];if((h-d)*(h-d)+(g-y)*(g-y)+(p-m)*(p-m)>1.1920928955078125e-07){i=1.0/+W(+((h-d)*(h-d)+(g-y)*(g-y)+(p-m)*(p-m)));a[C+128>>2]=(h-d)*i;a[C+128+4>>2]=(g-y)*i;a[C+128+8>>2]=(p-m)*i;_[C+128+12>>2]=0;f=(p-m)*i;t=(g-y)*i;i=(h-d)*i}else{_[C+128>>2]=1065353216;_[C+128+4>>2]=0;_[C+128+8>>2]=0;a[C+128+12>>2]=0.0;f=0.0;t=0.0;i=1.0}if(+G(+f)>.7071067690849304){w=f*f+t*t;v=1.0/+W(+w);c=-(v*f);f=v*t;b=-(f*i);o=i*c;l=0.0;t=w*v;i=f}else{c=i*i+t*t;o=1.0/+W(+c);l=-(t*o);t=o*i;b=f*l;o=c*o;c=t;t=-(t*f);i=0.0}a[C+128+16>>2]=l;a[C+128+20>>2]=c;a[C+128+24>>2]=i;a[C+128+32>>2]=t;a[C+128+36>>2]=b;a[C+128+40>>2]=o;r=0;while(1){k=_[e+28>>2]|0;_[C+80>>2]=_[k+4>>2];_[C+80+4>>2]=_[k+20>>2];_[C+80+8>>2]=_[k+36>>2];a[C+80+12>>2]=0.0;_[C+80+16>>2]=_[k+8>>2];_[C+80+20>>2]=_[k+24>>2];_[C+80+24>>2]=_[k+40>>2];a[C+80+28>>2]=0.0;_[C+80+32>>2]=_[k+12>>2];_[C+80+36>>2]=_[k+28>>2];_[C+80+40>>2]=_[k+44>>2];a[C+80+44>>2]=0.0;_[C+32>>2]=_[s+4>>2];_[C+32+4>>2]=_[s+20>>2];_[C+32+8>>2]=_[s+36>>2];a[C+32+12>>2]=0.0;_[C+32+16>>2]=_[s+8>>2];_[C+32+20>>2]=_[s+24>>2];_[C+32+24>>2]=_[s+40>>2];a[C+32+28>>2]=0.0;_[C+32+32>>2]=_[s+12>>2];_[C+32+36>>2]=_[s+28>>2];_[C+32+40>>2]=_[s+44>>2];a[C+32+44>>2]=0.0;w=y-+a[k+56>>2];v=m-+a[k+60>>2];a[C+16>>2]=d-+a[k+52>>2];a[C+16+4>>2]=w;a[C+16+8>>2]=v;a[C+16+12>>2]=0.0;v=g-+a[s+56>>2];w=p-+a[s+60>>2];a[C>>2]=h-+a[s+52>>2];a[C+4>>2]=v;a[C+8>>2]=w;a[C+12>>2]=0.0;k=_[e+28>>2]|0;s=_[e+32>>2]|0;dg(e+48+(r*84|0)|0,C+80|0,C+32|0,C+16|0,C,C+128+(r<<4)|0,k+456|0,+a[k+404>>2],s+456|0,+a[s+404>>2]);r=r+1|0;if((r|0)==3)break;s=_[e+32>>2]|0}}b=+a[e+560>>2];p=+a[e+576>>2];d=+a[e+592>>2];if(+G(+d)>.7071067690849304){f=1.0/+W(+(d*d+p*p));t=b*-(d*f);i=(d*d+p*p)*f;o=0.0;c=p*f;l=-(b*p*f);f=-(d*f)}else{f=1.0/+W(+(b*b+p*p));t=(b*b+p*p)*f;i=-(d*b*f);o=-(p*f);c=0.0;l=d*-(p*f);f=b*f}s=_[e+28>>2]|0;F=+a[s+4>>2];H=+a[s+8>>2];y=+a[s+12>>2];q=o*F+f*H+c*y;O=+a[s+20>>2];T=+a[s+24>>2];v=+a[s+28>>2];z=o*O+f*T+c*v;D=+a[s+36>>2];m=+a[s+40>>2];I=+a[s+44>>2];K=o*D+f*m+c*I;x=i*F+l*H+t*y;P=i*O+l*T+t*v;B=i*D+l*m+t*I;r=_[e+32>>2]|0;R=+a[r+4>>2];j=+a[r+20>>2];S=+a[r+36>>2];l=+a[r+8>>2];f=+a[r+24>>2];g=+a[r+40>>2];V=+a[r+12>>2];Q=+a[r+28>>2];U=+a[r+44>>2];_[e+300>>2]=0;_[e+300+4>>2]=0;_[e+300+8>>2]=0;_[e+300+12>>2]=0;a[e+316>>2]=q*F+z*O+K*D;a[e+320>>2]=q*H+z*T+K*m;a[e+324>>2]=q*y+z*v+K*I;a[e+328>>2]=0.0;a[e+332>>2]=R*-q+j*-z+S*-K;a[e+336>>2]=l*-q+f*-z+g*-K;a[e+340>>2]=V*-q+Q*-z+U*-K;a[e+344>>2]=0.0;M=(q*F+z*O+K*D)*+a[s+456>>2];A=(q*H+z*T+K*m)*+a[s+460>>2];t=(q*y+z*v+K*I)*+a[s+464>>2];a[e+348>>2]=M;a[e+352>>2]=A;a[e+356>>2]=t;a[e+360>>2]=0.0;c=(R*-q+j*-z+S*-K)*+a[r+456>>2];w=(l*-q+f*-z+g*-K)*+a[r+460>>2];Z=(V*-q+Q*-z+U*-K)*+a[r+464>>2];a[e+364>>2]=c;a[e+368>>2]=w;a[e+372>>2]=Z;a[e+376>>2]=0.0;a[e+380>>2]=(q*F+z*O+K*D)*M+(q*H+z*T+K*m)*A+(q*y+z*v+K*I)*t+((R*-q+j*-z+S*-K)*c+(l*-q+f*-z+g*-K)*w+(V*-q+Q*-z+U*-K)*Z);r=_[e+28>>2]|0;Z=+a[r+4>>2];K=+a[r+20>>2];U=+a[r+36>>2];z=+a[r+8>>2];Q=+a[r+24>>2];q=+a[r+40>>2];V=+a[r+12>>2];w=+a[r+28>>2];g=+a[r+44>>2];s=_[e+32>>2]|0;f=+a[s+4>>2];l=+a[s+20>>2];c=+a[s+36>>2];S=+a[s+8>>2];j=+a[s+24>>2];R=+a[s+40>>2];t=+a[s+12>>2];A=+a[s+28>>2];M=+a[s+44>>2];_[e+384>>2]=0;_[e+384+4>>2]=0;_[e+384+8>>2]=0;_[e+384+12>>2]=0;a[e+400>>2]=x*Z+P*K+B*U;a[e+404>>2]=x*z+P*Q+B*q;a[e+408>>2]=x*V+P*w+B*g;a[e+412>>2]=0.0;a[e+416>>2]=f*-x+l*-P+c*-B;a[e+420>>2]=S*-x+j*-P+R*-B;a[e+424>>2]=t*-x+A*-P+M*-B;a[e+428>>2]=0.0;N=(x*Z+P*K+B*U)*+a[r+456>>2];E=(x*z+P*Q+B*q)*+a[r+460>>2];h=(x*V+P*w+B*g)*+a[r+464>>2];a[e+432>>2]=N;a[e+436>>2]=E;a[e+440>>2]=h;a[e+444>>2]=0.0;i=(f*-x+l*-P+c*-B)*+a[s+456>>2];o=(S*-x+j*-P+R*-B)*+a[s+460>>2];L=(t*-x+A*-P+M*-B)*+a[s+464>>2];a[e+448>>2]=i;a[e+452>>2]=o;a[e+456>>2]=L;a[e+460>>2]=0.0;a[e+464>>2]=(x*Z+P*K+B*U)*N+(x*z+P*Q+B*q)*E+(x*V+P*w+B*g)*h+((f*-x+l*-P+c*-B)*i+(S*-x+j*-P+R*-B)*o+(t*-x+A*-P+M*-B)*L);s=_[e+28>>2]|0;L=+a[s+4>>2];B=+a[s+20>>2];M=+a[s+36>>2];P=+a[s+8>>2];A=+a[s+24>>2];x=+a[s+40>>2];t=+a[s+12>>2];o=+a[s+28>>2];R=+a[s+44>>2];r=_[e+32>>2]|0;j=+a[r+4>>2];S=+a[r+20>>2];i=+a[r+36>>2];c=+a[r+8>>2];l=+a[r+24>>2];f=+a[r+40>>2];h=+a[r+12>>2];g=+a[r+28>>2];w=+a[r+44>>2];_[e+468>>2]=0;_[e+468+4>>2]=0;_[e+468+8>>2]=0;_[e+468+12>>2]=0;M=(F*b+H*p+y*d)*L+(O*b+T*p+v*d)*B+(D*b+m*p+I*d)*M;x=(F*b+H*p+y*d)*P+(O*b+T*p+v*d)*A+(D*b+m*p+I*d)*x;R=(F*b+H*p+y*d)*t+(O*b+T*p+v*d)*o+(D*b+m*p+I*d)*R;a[e+484>>2]=M;a[e+488>>2]=x;a[e+492>>2]=R;a[e+496>>2]=0.0;y=-(F*b+H*p+y*d);v=-(O*b+T*p+v*d);o=-(D*b+m*p+I*d);a[e+500>>2]=j*y+S*v+i*o;a[e+504>>2]=c*y+l*v+f*o;a[e+508>>2]=h*y+g*v+w*o;a[e+512>>2]=0.0;I=M*+a[s+456>>2];b=x*+a[s+460>>2];p=R*+a[s+464>>2];a[e+516>>2]=I;a[e+520>>2]=b;a[e+524>>2]=p;a[e+528>>2]=0.0;d=(j*y+S*v+i*o)*+a[r+456>>2];m=(c*y+l*v+f*o)*+a[r+460>>2];t=(h*y+g*v+w*o)*+a[r+464>>2];a[e+532>>2]=d;a[e+536>>2]=m;a[e+540>>2]=t;a[e+544>>2]=0.0;a[e+548>>2]=M*I+x*b+R*p+((j*y+S*v+i*o)*d+(c*y+l*v+f*o)*m+(h*y+g*v+w*o)*t);a[e+724>>2]=0.0;r=_[e+28>>2]|0;s=_[e+32>>2]|0;t=+gi(e,r+4|0,s+4|0);a[e+728>>2]=t;a[e+708>>2]=0.0;a[e+712>>2]=0.0;n[e+716>>0]=0;o=+a[e+692>>2];do{if(o>=0.0){t=+Bg(t-+a[e+688>>2],6.2831854820251465);if(!(t<-3.1415927410125732)){if(t>3.1415927410125732)t=t+-6.2831854820251465}else t=t+6.2831854820251465;if(t<-o){n[e+716>>0]=1;i=1.0;t=-(t+o)}else{if(!(t>o))break;n[e+716>>0]=1;i=-1.0;t=o-t}a[e+708>>2]=t;a[e+712>>2]=i}}while(0);z=+a[e+560>>2];N=+a[e+576>>2];Z=+a[e+592>>2];U=z*+a[r+4>>2]+N*+a[r+8>>2]+Z*+a[r+12>>2];K=z*+a[r+20>>2]+N*+a[r+24>>2]+Z*+a[r+28>>2];Z=z*+a[r+36>>2]+N*+a[r+40>>2]+Z*+a[r+44>>2];a[e+720>>2]=1.0/(U*(U*+a[r+324>>2]+K*+a[r+340>>2]+Z*+a[r+356>>2])+K*(U*+a[r+328>>2]+K*+a[r+344>>2]+Z*+a[r+360>>2])+Z*(U*+a[r+332>>2]+K*+a[r+348>>2]+Z*+a[r+364>>2])+(U*(U*+a[s+324>>2]+K*+a[s+340>>2]+Z*+a[s+356>>2])+K*(U*+a[s+328>>2]+K*+a[s+344>>2]+Z*+a[s+360>>2])+Z*(U*+a[s+332>>2]+K*+a[s+348>>2]+Z*+a[s+364>>2])));u=C;return}function Fc(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0,c=0,l=0.0,f=0.0,b=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,F=0,B=0,L=0,V=0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0.0,X=0.0,J=0.0,Y=0.0,$=0.0,ee=0.0,te=0,ie=0.0,ne=0.0,re=0.0,_e=0.0,oe=0.0,se=0.0,ce=0.0,ae=0.0,le=0.0,fe=0.0,be=0.0,pe=0.0,ue=0.0;F=u;u=u+64|0;if(!(_[e+12>>2]|0)){u=F;return}r=(n[e+16>>0]|0)!=0;V=r?i:t;r=r?t:i;s=_[V+4>>2]|0;c=_[r+4>>2]|0;V=_[V+12>>2]|0;ee=+a[V>>2];$=+a[V+16>>2];Y=+a[V+32>>2];J=+a[V+4>>2];X=+a[V+20>>2];p=+a[V+36>>2];l=+a[V+8>>2];h=+a[V+24>>2];S=+a[V+40>>2];z=+a[V+48>>2];Q=+a[V+52>>2];q=+a[V+56>>2];L=_[r+12>>2]|0;Z=+a[L>>2];K=+a[L+16>>2];d=+a[L+32>>2];U=+a[L+4>>2];N=+a[L+20>>2];m=+a[L+36>>2];k=+a[L+8>>2];v=+a[L+24>>2];g=+a[L+40>>2];E=-+a[L+48>>2];D=-+a[L+52>>2];T=-+a[L+56>>2];O=+a[V>>2];H=+a[V+16>>2];M=+a[V+32>>2];x=+a[V+4>>2];R=+a[V+20>>2];j=+a[V+36>>2];w=+a[V+8>>2];C=+a[V+24>>2];y=+a[V+40>>2];V=_[(_[s>>2]|0)+64>>2]|0;b=-+a[c+52>>2];f=-+a[c+56>>2];I=-+a[c+60>>2];a[F+48>>2]=(ee*Z+$*K+Y*d)*b+(ee*U+$*N+Y*m)*f+(ee*k+$*v+Y*g)*I;a[F+48+4>>2]=(J*Z+X*K+p*d)*b+(J*U+X*N+p*m)*f+(J*k+X*v+p*g)*I;a[F+48+8>>2]=(l*Z+h*K+S*d)*b+(l*U+h*N+S*m)*f+(l*k+h*v+S*g)*I;a[F+48+12>>2]=0.0;Za[V&127](F,s,F+48|0);I=+a[F>>2];S=+a[F+4>>2];h=+a[F+8>>2];l=+a[c+52>>2];f=+a[c+56>>2];b=+a[c+60>>2];p=b*(z*k+Q*v+q*g+(k*E+v*D+g*T)+((k*O+v*H+g*M)*I+(k*x+v*R+g*j)*S+(k*w+v*C+g*y)*h))+(l*(z*Z+Q*K+q*d+(Z*E+K*D+d*T)+((Z*O+K*H+d*M)*I+(Z*x+K*R+d*j)*S+(Z*w+K*C+d*y)*h))+f*(z*U+Q*N+q*m+(U*E+N*D+m*T)+((U*O+N*H+m*M)*I+(U*x+N*R+m*j)*S+(U*w+N*C+m*y)*h)))-+a[c+68>>2];d=z*Z+Q*K+q*d+(Z*E+K*D+d*T)+((Z*O+K*H+d*M)*I+(Z*x+K*R+d*j)*S+(Z*w+K*C+d*y)*h)-l*p;m=z*U+Q*N+q*m+(U*E+N*D+m*T)+((U*O+N*H+m*M)*I+(U*x+N*R+m*j)*S+(U*w+N*C+m*y)*h)-f*p;h=z*k+Q*v+q*g+(k*E+v*D+g*T)+((k*O+v*H+g*M)*I+(k*x+v*R+g*j)*S+(k*w+v*C+g*y)*h)-b*p;V=_[r+12>>2]|0;y=+a[V>>2];g=+a[V+4>>2];C=+a[V+8>>2];v=+a[V+16>>2];w=+a[V+20>>2];k=+a[V+24>>2];S=+a[V+32>>2];j=+a[V+36>>2];R=+a[V+40>>2];x=+a[V+48>>2];I=+a[V+52>>2];M=+a[V+56>>2];V=_[e+12>>2]|0;L=p<+a[V+784>>2];_[o+4>>2]=V;if(L){V=_[r+12>>2]|0;$=l*+a[V+16>>2]+f*+a[V+20>>2]+b*+a[V+24>>2];ee=l*+a[V+32>>2]+f*+a[V+36>>2]+b*+a[V+40>>2];a[F+48>>2]=+a[V>>2]*l+ +a[V+4>>2]*f+ +a[V+8>>2]*b;a[F+48+4>>2]=$;a[F+48+8>>2]=ee;a[F+48+12>>2]=0.0;a[F+32>>2]=C*h+(y*d+g*m)+x;a[F+32+4>>2]=d*v+m*w+h*k+I;a[F+32+8>>2]=d*S+m*j+h*R+M;a[F+32+12>>2]=0.0;Ka[_[(_[o>>2]|0)+16>>2]&15](o,F+48|0,F+32|0,p)}if((_[s+4>>2]|0)<7?(_[(_[o+4>>2]|0)+780>>2]|0)<(_[e+24>>2]|0):0){l=+a[c+60>>2];if(+G(+l)>.7071067690849304){b=+a[c+56>>2];ee=1.0/+W(+(l*l+b*b));f=0.0;b=b*ee;l=-(l*ee)}else{ee=+a[c+52>>2];f=+a[c+56>>2];l=1.0/+W(+(ee*ee+f*f));f=-(f*l);b=0.0;l=ee*l}T=.019999999552965164/+Da[_[(_[s>>2]|0)+16>>2]&15](s);T=(T>.39269909262657166?.39269909262657166:T)*.5;D=+P(+T)/+W(+(f*f+l*l+b*b));H=f*D;O=l*D;D=b*D;T=+A(+T);r=_[e+20>>2]|0;if((r|0)>0){s=0;do{v=+a[c+52>>2];ee=+a[c+56>>2];x=+a[c+60>>2];j=+(s|0)*(6.2831854820251465/+(r|0))*.5;$=+P(+j)/+W(+(v*v+ee*ee+x*x));j=+A(+j);R=D*-(ee*$)+(H*j+T*-(v*$))-O*-(x*$);k=H*-(x*$)+(O*j+T*-(ee*$))-D*-(v*$);ne=O*-(v*$)+(D*j+T*-(x*$))-H*-(ee*$);M=T*j-H*-(v*$)-O*-(ee*$)-D*-(x*$);ce=x*$*k+(v*$*M+j*R)-ee*$*ne;se=v*$*ne+(j*k+ee*$*M)-x*$*R;fe=ee*$*R+(x*$*M+j*ne)-v*$*k;ne=j*M-v*$*R-ee*$*k-x*$*ne;r=(n[e+16>>0]|0)!=0;te=r?i:t;r=r?t:i;V=_[te+4>>2]|0;L=_[r+4>>2]|0;te=_[te+12>>2]|0;$=+a[te>>2];x=+a[te+4>>2];k=+a[te+8>>2];ee=+a[te+16>>2];R=+a[te+20>>2];v=+a[te+24>>2];M=+a[te+32>>2];j=+a[te+36>>2];g=+a[te+40>>2];U=+a[te+48>>2];K=+a[te+52>>2];Z=+a[te+56>>2];te=_[r+12>>2]|0;q=+a[te>>2];Q=+a[te+16>>2];d=+a[te+32>>2];z=+a[te+4>>2];N=+a[te+20>>2];m=+a[te+36>>2];w=+a[te+8>>2];C=+a[te+24>>2];y=+a[te+40>>2];X=-+a[te+48>>2];J=-+a[te+52>>2];Y=-+a[te+56>>2];oe=ce*(2.0/(ce*ce+se*se+fe*fe+ne*ne));b=se*(2.0/(ce*ce+se*se+fe*fe+ne*ne));ie=fe*(2.0/(ce*ce+se*se+fe*fe+ne*ne));pe=k*(ce*ie-ne*b)+(x*(ce*b+ne*ie)+$*(1.0-(se*b+fe*ie)));le=k*(se*ie+ne*oe)+($*(ce*b-ne*ie)+x*(1.0-(ce*oe+fe*ie)));l=$*(ce*ie+ne*b)+x*(se*ie-ne*oe)+k*(1.0-(ce*oe+se*b));be=v*(ce*ie-ne*b)+(R*(ce*b+ne*ie)+ee*(1.0-(se*b+fe*ie)));ae=v*(se*ie+ne*oe)+(ee*(ce*b-ne*ie)+R*(1.0-(ce*oe+fe*ie)));S=ee*(ce*ie+ne*b)+R*(se*ie-ne*oe)+v*(1.0-(ce*oe+se*b));ue=g*(ce*ie-ne*b)+(j*(ce*b+ne*ie)+M*(1.0-(se*b+fe*ie)));fe=g*(se*ie+ne*oe)+(M*(ce*b-ne*ie)+j*(1.0-(ce*oe+fe*ie)));b=M*(ce*ie+ne*b)+j*(se*ie-ne*oe)+g*(1.0-(ce*oe+se*b));se=+a[te>>2];oe=+a[te+16>>2];ce=+a[te+32>>2];ne=+a[te+4>>2];ie=+a[te+20>>2];re=+a[te+36>>2];f=+a[te+8>>2];h=+a[te+24>>2];p=+a[te+40>>2];te=_[(_[V>>2]|0)+64>>2]|0;_e=-+a[L+52>>2];E=-+a[L+56>>2];I=-+a[L+60>>2];a[F+32>>2]=(ce*ue+(se*pe+oe*be))*_e+(re*ue+(ne*pe+ie*be))*E+(p*ue+(f*pe+h*be))*I;a[F+32+4>>2]=(ce*fe+(se*le+oe*ae))*_e+(re*fe+(ne*le+ie*ae))*E+(p*fe+(f*le+h*ae))*I;a[F+32+8>>2]=(ce*b+(se*l+oe*S))*_e+(re*b+(ne*l+ie*S))*E+(p*b+(f*l+h*S))*I;a[F+32+12>>2]=0.0;Za[te&127](F+48|0,V,F+32|0);I=+a[F+48>>2];S=+a[F+48+4>>2];h=+a[F+48+8>>2];l=+a[L+52>>2];f=+a[L+56>>2];b=+a[L+60>>2];p=b*(U*w+K*C+Z*y+(w*X+C*J+y*Y)+(($*w+ee*C+M*y)*I+(x*w+R*C+j*y)*S+(k*w+v*C+g*y)*h))+(l*(U*q+K*Q+Z*d+(q*X+Q*J+d*Y)+(($*q+ee*Q+M*d)*I+(x*q+R*Q+j*d)*S+(k*q+v*Q+g*d)*h))+f*(U*z+K*N+Z*m+(z*X+N*J+m*Y)+(($*z+ee*N+M*m)*I+(x*z+R*N+j*m)*S+(k*z+v*N+g*m)*h)))-+a[L+68>>2];d=U*q+K*Q+Z*d+(q*X+Q*J+d*Y)+(($*q+ee*Q+M*d)*I+(x*q+R*Q+j*d)*S+(k*q+v*Q+g*d)*h)-l*p;m=U*z+K*N+Z*m+(z*X+N*J+m*Y)+(($*z+ee*N+M*m)*I+(x*z+R*N+j*m)*S+(k*z+v*N+g*m)*h)-f*p;h=U*w+K*C+Z*y+(w*X+C*J+y*Y)+(($*w+ee*C+M*y)*I+(x*w+R*C+j*y)*S+(k*w+v*C+g*y)*h)-b*p;L=_[r+12>>2]|0;y=+a[L>>2];g=+a[L+4>>2];C=+a[L+8>>2];v=+a[L+16>>2];w=+a[L+20>>2];k=+a[L+24>>2];S=+a[L+32>>2];j=+a[L+36>>2];R=+a[L+40>>2];x=+a[L+48>>2];I=+a[L+52>>2];M=+a[L+56>>2];L=_[e+12>>2]|0;V=p<+a[L+784>>2];_[o+4>>2]=L;if(V){te=_[r+12>>2]|0;pe=l*+a[te+16>>2]+f*+a[te+20>>2]+b*+a[te+24>>2];ue=l*+a[te+32>>2]+f*+a[te+36>>2]+b*+a[te+40>>2];a[F+32>>2]=+a[te>>2]*l+ +a[te+4>>2]*f+ +a[te+8>>2]*b;a[F+32+4>>2]=pe;a[F+32+8>>2]=ue;a[F+32+12>>2]=0.0;a[F+16>>2]=C*h+(y*d+g*m)+x;a[F+16+4>>2]=d*v+m*w+h*k+I;a[F+16+8>>2]=d*S+m*j+h*R+M;a[F+16+12>>2]=0.0;Ka[_[(_[o>>2]|0)+16>>2]&15](o,F+32|0,F+16|0,p)}s=s+1|0;r=_[e+20>>2]|0}while((s|0)<(r|0))}}do{if((n[e+8>>0]|0?_[(_[e+12>>2]|0)+780>>2]|0:0)?(B=_[o+4>>2]|0,_[B+780>>2]|0):0){s=_[B+772>>2]|0;c=_[(_[o+8>>2]|0)+8>>2]|0;r=_[(_[o+12>>2]|0)+8>>2]|0;if((s|0)==(c|0)){xe(B,s+4|0,r+4|0);break}else{xe(B,r+4|0,c+4|0);break}}}while(0);u=F;return}function Gc(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var s=0,c=0,l=0,f=0,b=0,p=0;_[e+168>>2]=_[e+152>>2];_[t>>2]=9124;_[t+52>>2]=287;n[t+60>>0]=0;n[t+80>>0]=1;_[t+76>>2]=0;_[t+68>>2]=0;_[t+72>>2]=0;n[t+100>>0]=1;_[t+96>>2]=0;_[t+88>>2]=0;_[t+92>>2]=0;n[t+120>>0]=1;_[t+116>>2]=0;_[t+108>>2]=0;_[t+112>>2]=0;n[t+140>>0]=1;_[t+136>>2]=0;_[t+128>>2]=0;_[t+132>>2]=0;_[t+144>>2]=0;n[t+164>>0]=1;_[t+160>>2]=0;_[t+152>>2]=0;_[t+156>>2]=0;_[t+168>>2]=0;_[t+4>>2]=-8388609;_[t+8>>2]=-8388609;_[t+12>>2]=-8388609;a[t+16>>2]=0.0;_[t+20>>2]=2139095039;_[t+24>>2]=2139095039;_[t+28>>2]=2139095039;a[t+32>>2]=0.0;i=_[e+56>>2]|0;if(o){_[t+56>>2]=AA(i|0)|0;n[t+4>>0]=n[e+4+3>>0]|0;n[t+5>>0]=n[e+4+2>>0]|0;n[t+6>>0]=n[e+4+1>>0]|0;n[t+7>>0]=n[e+4>>0]|0;n[t+8>>0]=n[e+8+3>>0]|0;n[t+9>>0]=n[e+8+2>>0]|0;n[t+10>>0]=n[e+8+1>>0]|0;n[t+11>>0]=n[e+8>>0]|0;n[t+12>>0]=n[e+12+3>>0]|0;n[t+13>>0]=n[e+12+2>>0]|0;n[t+14>>0]=n[e+12+1>>0]|0;n[t+15>>0]=n[e+12>>0]|0;n[t+16>>0]=n[e+16+3>>0]|0;n[t+17>>0]=n[e+16+2>>0]|0;n[t+18>>0]=n[e+16+1>>0]|0;n[t+19>>0]=n[e+16>>0]|0;n[t+20>>0]=n[e+20+3>>0]|0;n[t+21>>0]=n[e+20+2>>0]|0;n[t+22>>0]=n[e+20+1>>0]|0;n[t+23>>0]=n[e+20>>0]|0;n[t+24>>0]=n[e+24+3>>0]|0;n[t+25>>0]=n[e+24+2>>0]|0;n[t+26>>0]=n[e+24+1>>0]|0;n[t+27>>0]=n[e+24>>0]|0;n[t+28>>0]=n[e+28+3>>0]|0;n[t+29>>0]=n[e+28+2>>0]|0;n[t+30>>0]=n[e+28+1>>0]|0;n[t+31>>0]=n[e+28>>0]|0;n[t+32>>0]=n[e+32+3>>0]|0;n[t+33>>0]=n[e+32+2>>0]|0;n[t+34>>0]=n[e+32+1>>0]|0;n[t+35>>0]=n[e+32>>0]|0;n[t+36>>0]=n[e+36+3>>0]|0;n[t+37>>0]=n[e+36+2>>0]|0;n[t+38>>0]=n[e+36+1>>0]|0;n[t+39>>0]=n[e+36>>0]|0;n[t+40>>0]=n[e+40+3>>0]|0;n[t+41>>0]=n[e+40+2>>0]|0;n[t+42>>0]=n[e+40+1>>0]|0;n[t+43>>0]=n[e+40>>0]|0;n[t+44>>0]=n[e+44+3>>0]|0;n[t+45>>0]=n[e+44+2>>0]|0;n[t+46>>0]=n[e+44+1>>0]|0;n[t+47>>0]=n[e+44>>0]|0;n[t+48>>0]=n[e+48+3>>0]|0;n[t+49>>0]=n[e+48+2>>0]|0;n[t+50>>0]=n[e+48+1>>0]|0;n[t+51>>0]=n[e+48>>0]|0;_[t+144>>2]=AA(_[e+144>>2]|0)|0;i=AA(_[e+168>>2]|0)|0}else{_[t+56>>2]=i;_[t+4>>2]=_[e+4>>2];_[t+4+4>>2]=_[e+4+4>>2];_[t+4+8>>2]=_[e+4+8>>2];_[t+4+12>>2]=_[e+4+12>>2];_[t+20>>2]=_[e+20>>2];_[t+20+4>>2]=_[e+20+4>>2];_[t+20+8>>2]=_[e+20+8>>2];_[t+20+12>>2]=_[e+20+12>>2];_[t+36>>2]=_[e+36>>2];_[t+36+4>>2]=_[e+36+4>>2];_[t+36+8>>2]=_[e+36+8>>2];_[t+36+12>>2]=_[e+36+12>>2];_[t+144>>2]=_[e+144>>2];i=_[e+168>>2]|0}_[t+168>>2]=i;n[t+60>>0]=n[e+60>>0]|0;l=_[e+56>>2]|0;if(!(n[e+60>>0]|0)){i=_[t+96>>2]|0;if(i|0){if(n[t+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[t+96>>2]=0}n[t+100>>0]=0;_[t+96>>2]=t+172;_[t+88>>2]=l;_[t+92>>2]=l;if(o)if((l|0)>0){s=0;c=_[e+96>>2]|0;i=t+172|0;do{f=c+(s<<6)|0;p=i+(s<<6)|0;n[p>>0]=n[f+3>>0]|0;n[p+1>>0]=n[f+2>>0]|0;n[p+2>>0]=n[f+1>>0]|0;n[p+3>>0]=n[f>>0]|0;p=c+(s<<6)+4|0;f=i+(s<<6)+4|0;n[f>>0]=n[p+3>>0]|0;n[f+1>>0]=n[p+2>>0]|0;n[f+2>>0]=n[p+1>>0]|0;n[f+3>>0]=n[p>>0]|0;f=c+(s<<6)+8|0;p=i+(s<<6)+8|0;n[p>>0]=n[f+3>>0]|0;n[p+1>>0]=n[f+2>>0]|0;n[p+2>>0]=n[f+1>>0]|0;n[p+3>>0]=n[f>>0]|0;p=c+(s<<6)+12|0;i=i+(s<<6)+12|0;n[i>>0]=n[p+3>>0]|0;n[i+1>>0]=n[p+2>>0]|0;n[i+2>>0]=n[p+1>>0]|0;n[i+3>>0]=n[p>>0]|0;i=_[e+96>>2]|0;p=i+(s<<6)+16|0;f=_[t+96>>2]|0;b=f+(s<<6)+16|0;n[b>>0]=n[p+3>>0]|0;n[b+1>>0]=n[p+2>>0]|0;n[b+2>>0]=n[p+1>>0]|0;n[b+3>>0]=n[p>>0]|0;b=i+(s<<6)+20|0;p=f+(s<<6)+20|0;n[p>>0]=n[b+3>>0]|0;n[p+1>>0]=n[b+2>>0]|0;n[p+2>>0]=n[b+1>>0]|0;n[p+3>>0]=n[b>>0]|0;p=i+(s<<6)+24|0;b=f+(s<<6)+24|0;n[b>>0]=n[p+3>>0]|0;n[b+1>>0]=n[p+2>>0]|0;n[b+2>>0]=n[p+1>>0]|0;n[b+3>>0]=n[p>>0]|0;i=i+(s<<6)+28|0;f=f+(s<<6)+28|0;n[f>>0]=n[i+3>>0]|0;n[f+1>>0]=n[i+2>>0]|0;n[f+2>>0]=n[i+1>>0]|0;n[f+3>>0]=n[i>>0]|0;c=_[e+96>>2]|0;f=AA(_[c+(s<<6)+32>>2]|0)|0;i=_[t+96>>2]|0;_[i+(s<<6)+32>>2]=f;_[i+(s<<6)+36>>2]=AA(_[c+(s<<6)+36>>2]|0)|0;_[i+(s<<6)+40>>2]=AA(_[c+(s<<6)+40>>2]|0)|0;s=s+1|0}while((s|0)!=(l|0))}else i=t+172|0;else if((l|0)>0){s=0;c=_[e+96>>2]|0;i=t+172|0;do{b=c+(s<<6)|0;p=i+(s<<6)|0;_[p>>2]=_[b>>2];_[p+4>>2]=_[b+4>>2];_[p+8>>2]=_[b+8>>2];_[p+12>>2]=_[b+12>>2];p=(_[e+96>>2]|0)+(s<<6)+16|0;i=(_[t+96>>2]|0)+(s<<6)+16|0;_[i>>2]=_[p>>2];_[i+4>>2]=_[p+4>>2];_[i+8>>2]=_[p+8>>2];_[i+12>>2]=_[p+12>>2];c=_[e+96>>2]|0;i=_[t+96>>2]|0;_[i+(s<<6)+32>>2]=_[c+(s<<6)+32>>2];_[i+(s<<6)+36>>2]=_[c+(s<<6)+36>>2];_[i+(s<<6)+40>>2]=_[c+(s<<6)+40>>2];s=s+1|0}while((s|0)!=(l|0))}else i=t+172|0;if(!i){i=l<<6;s=t+92|0;c=t+88|0;l=t+96|0;f=t+100|0}else{if(n[t+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[t+96>>2]=0;i=l<<6;s=t+92|0;c=t+88|0;l=t+96|0;f=t+100|0}}else{i=_[t+136>>2]|0;if(i|0){if(n[t+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[t+136>>2]=0}n[t+140>>0]=0;_[t+136>>2]=t+172;_[t+128>>2]=l;_[t+132>>2]=l;if(o){if((l|0)>0){s=_[e+136>>2]|0;i=0;do{r[t+172+(i<<4)>>1]=_F(r[s+(i<<4)>>1]|0)|0;r[t+172+(i<<4)+2>>1]=_F(r[s+(i<<4)+2>>1]|0)|0;r[t+172+(i<<4)+4>>1]=_F(r[s+(i<<4)+4>>1]|0)|0;r[t+172+(i<<4)+6>>1]=_F(r[s+(i<<4)+6>>1]|0)|0;r[t+172+(i<<4)+8>>1]=_F(r[s+(i<<4)+8>>1]|0)|0;r[t+172+(i<<4)+10>>1]=_F(r[s+(i<<4)+10>>1]|0)|0;_[t+172+(i<<4)+12>>2]=AA(_[s+(i<<4)+12>>2]|0)|0;i=i+1|0}while((i|0)!=(l|0))}}else if((l|0)>0){s=_[e+136>>2]|0;i=0;do{r[t+172+(i<<4)>>1]=r[s+(i<<4)>>1]|0;r[t+172+(i<<4)+2>>1]=r[s+(i<<4)+2>>1]|0;r[t+172+(i<<4)+4>>1]=r[s+(i<<4)+4>>1]|0;r[t+172+(i<<4)+6>>1]=r[s+(i<<4)+6>>1]|0;r[t+172+(i<<4)+8>>1]=r[s+(i<<4)+8>>1]|0;r[t+172+(i<<4)+10>>1]=r[s+(i<<4)+10>>1]|0;_[t+172+(i<<4)+12>>2]=_[s+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(l|0))}_[t+136>>2]=0;i=l<<4;s=t+132|0;c=t+128|0;l=t+136|0;f=t+140|0}n[f>>0]=0;_[l>>2]=0;_[c>>2]=0;_[s>>2]=0;l=t+172+i|0;i=_[e+168>>2]|0;s=_[t+160>>2]|0;if(s|0){if(n[t+164>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[t+160>>2]=0}n[t+164>>0]=0;_[t+160>>2]=l;_[t+152>>2]=i;_[t+156>>2]=i;c=_[e+168>>2]|0;if(o){if((c|0)<=0){_[t>>2]=0;_[t+152>>2]=0;_[t+152+4>>2]=0;_[t+152+8>>2]=0;n[t+152+12>>0]=0;return 1}s=_[e+160>>2]|0;i=0;do{r[l+(i<<5)>>1]=_F(r[s+(i<<5)>>1]|0)|0;r[l+(i<<5)+2>>1]=_F(r[s+(i<<5)+2>>1]|0)|0;r[l+(i<<5)+4>>1]=_F(r[s+(i<<5)+4>>1]|0)|0;r[l+(i<<5)+6>>1]=_F(r[s+(i<<5)+6>>1]|0)|0;r[l+(i<<5)+8>>1]=_F(r[s+(i<<5)+8>>1]|0)|0;r[l+(i<<5)+10>>1]=_F(r[s+(i<<5)+10>>1]|0)|0;_[l+(i<<5)+12>>2]=AA(_[s+(i<<5)+12>>2]|0)|0;_[l+(i<<5)+16>>2]=AA(_[s+(i<<5)+16>>2]|0)|0;i=i+1|0}while((i|0)!=(c|0));_[t>>2]=0;_[t+152>>2]=0;_[t+152+4>>2]=0;_[t+152+8>>2]=0;n[t+152+12>>0]=0;return 1}else{if((c|0)<=0){_[t>>2]=0;_[t+152>>2]=0;_[t+152+4>>2]=0;_[t+152+8>>2]=0;n[t+152+12>>0]=0;return 1}s=_[e+160>>2]|0;i=0;do{r[l+(i<<5)>>1]=r[s+(i<<5)>>1]|0;r[l+(i<<5)+2>>1]=r[s+(i<<5)+2>>1]|0;r[l+(i<<5)+4>>1]=r[s+(i<<5)+4>>1]|0;r[l+(i<<5)+6>>1]=r[s+(i<<5)+6>>1]|0;r[l+(i<<5)+8>>1]=r[s+(i<<5)+8>>1]|0;r[l+(i<<5)+10>>1]=r[s+(i<<5)+10>>1]|0;_[l+(i<<5)+12>>2]=_[s+(i<<5)+12>>2];_[l+(i<<5)+16>>2]=_[s+(i<<5)+16>>2];_[l+(i<<5)+20>>2]=0;_[l+(i<<5)+24>>2]=0;_[l+(i<<5)+28>>2]=0;i=i+1|0}while((i|0)<(_[e+168>>2]|0));_[t>>2]=0;_[t+152>>2]=0;_[t+152+4>>2]=0;_[t+152+8>>2]=0;n[t+152+12>>0]=0;return 1}return 0}function Hc(e,t,i,r,o,s,c,l,f,b){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;f=f|0;b=b|0;var p=0.0,d=0,m=0,h=0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0,x=0.0,I=0,M=0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0;I=u;u=u+4224|0;if(((_[i+4>>2]|0)+-17|0)>>>0<2)R=((_[r+4>>2]|0)+-17|0)>>>0<2;else R=0;e=0;do{qe();v=+a[24152+(e<<4)>>2];w=+a[24152+(e<<4)+4>>2];k=+a[24152+(e<<4)+8>>2];j=+a[o+4>>2]*-v+ +a[o+20>>2]*-w+ +a[o+36>>2]*-k;S=+a[o+8>>2]*-v+ +a[o+24>>2]*-w+ +a[o+40>>2]*-k;a[I+1248+(e<<4)>>2]=+a[o>>2]*-v+ +a[o+16>>2]*-w+ +a[o+32>>2]*-k;a[I+1248+(e<<4)+4>>2]=j;a[I+1248+(e<<4)+8>>2]=S;a[I+1248+(e<<4)+12>>2]=0.0;S=v*+a[s+4>>2]+w*+a[s+20>>2]+k*+a[s+36>>2];j=v*+a[s+8>>2]+w*+a[s+24>>2]+k*+a[s+40>>2];a[I+256+(e<<4)>>2]=v*+a[s>>2]+w*+a[s+16>>2]+k*+a[s+32>>2];a[I+256+(e<<4)+4>>2]=S;a[I+256+(e<<4)+8>>2]=j;a[I+256+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=42);m=ya[_[(_[i>>2]|0)+84>>2]&127](i)|0;if((m|0)>0){e=0;d=42;while(1){Za[_[(_[i>>2]|0)+88>>2]&127](i,e,I+176|0);S=+a[I+176>>2];j=+a[I+176+4>>2];k=+a[I+176+8>>2];w=S*+a[o+16>>2]+j*+a[o+20>>2]+k*+a[o+24>>2];v=S*+a[o+32>>2]+j*+a[o+36>>2]+k*+a[o+40>>2];a[I+176>>2]=+a[o>>2]*S+ +a[o+4>>2]*j+ +a[o+8>>2]*k;a[I+176+4>>2]=w;a[I+176+8>>2]=v;a[I+176+12>>2]=0.0;qe();h=24152+(d<<4)|0;_[h>>2]=_[I+176>>2];_[h+4>>2]=_[I+176+4>>2];_[h+8>>2]=_[I+176+8>>2];_[h+12>>2]=_[I+176+12>>2];v=+a[I+176>>2];w=+a[I+176+4>>2];k=+a[I+176+8>>2];j=+a[o+4>>2]*-v+ +a[o+20>>2]*-w+ +a[o+36>>2]*-k;S=+a[o+8>>2]*-v+ +a[o+24>>2]*-w+ +a[o+40>>2]*-k;a[I+1248+(d<<4)>>2]=+a[o>>2]*-v+ +a[o+16>>2]*-w+ +a[o+32>>2]*-k;a[I+1248+(d<<4)+4>>2]=j;a[I+1248+(d<<4)+8>>2]=S;a[I+1248+(d<<4)+12>>2]=0.0;S=v*+a[s+4>>2]+w*+a[s+20>>2]+k*+a[s+36>>2];j=v*+a[s+8>>2]+w*+a[s+24>>2]+k*+a[s+40>>2];a[I+256+(d<<4)>>2]=+a[s>>2]*v+ +a[s+16>>2]*w+ +a[s+32>>2]*k;a[I+256+(d<<4)+4>>2]=S;a[I+256+(d<<4)+8>>2]=j;a[I+256+(d<<4)+12>>2]=0.0;e=e+1|0;if((e|0)==(m|0))break;else d=d+1|0}d=m+42|0}else d=42;h=ya[_[(_[r>>2]|0)+84>>2]&127](r)|0;if((h|0)>0){e=0;m=d;while(1){Za[_[(_[r>>2]|0)+88>>2]&127](r,e,I+176|0);S=+a[I+176>>2];j=+a[I+176+4>>2];k=+a[I+176+8>>2];w=S*+a[s+16>>2]+j*+a[s+20>>2]+k*+a[s+24>>2];v=S*+a[s+32>>2]+j*+a[s+36>>2]+k*+a[s+40>>2];a[I+176>>2]=+a[s>>2]*S+ +a[s+4>>2]*j+ +a[s+8>>2]*k;a[I+176+4>>2]=w;a[I+176+8>>2]=v;a[I+176+12>>2]=0.0;qe();M=24152+(m<<4)|0;_[M>>2]=_[I+176>>2];_[M+4>>2]=_[I+176+4>>2];_[M+8>>2]=_[I+176+8>>2];_[M+12>>2]=_[I+176+12>>2];v=+a[I+176>>2];w=+a[I+176+4>>2];k=+a[I+176+8>>2];j=+a[o+4>>2]*-v+ +a[o+20>>2]*-w+ +a[o+36>>2]*-k;S=+a[o+8>>2]*-v+ +a[o+24>>2]*-w+ +a[o+40>>2]*-k;a[I+1248+(m<<4)>>2]=+a[o>>2]*-v+ +a[o+16>>2]*-w+ +a[o+32>>2]*-k;a[I+1248+(m<<4)+4>>2]=j;a[I+1248+(m<<4)+8>>2]=S;a[I+1248+(m<<4)+12>>2]=0.0;S=v*+a[s+4>>2]+w*+a[s+20>>2]+k*+a[s+36>>2];j=v*+a[s+8>>2]+w*+a[s+24>>2]+k*+a[s+40>>2];a[I+256+(m<<4)>>2]=+a[s>>2]*v+ +a[s+16>>2]*w+ +a[s+32>>2]*k;a[I+256+(m<<4)+4>>2]=S;a[I+256+(m<<4)+8>>2]=j;a[I+256+(m<<4)+12>>2]=0.0;e=e+1|0;if((e|0)==(h|0))break;else m=m+1|0}d=h+d|0}$a[_[(_[i>>2]|0)+76>>2]&127](i,I+1248|0,I+3232|0,d);$a[_[(_[r>>2]|0)+76>>2]&127](r,I+256|0,I+2240|0,d);if((d|0)>0){v=999999984306749440.0;e=0;S=0.0;j=0.0;k=0.0;y=0.0;while(1){qe();C=+a[24152+(e<<4)>>2];w=+a[24152+(e<<4)+4>>2];g=+a[24152+(e<<4)+12>>2];p=R?0.0:+a[24152+(e<<4)+8>>2];if(C*C+w*w+p*p>.01?(T=+a[I+3232+(e<<4)>>2],D=+a[I+3232+(e<<4)+4>>2],x=+a[I+3232+(e<<4)+8>>2],G=+a[I+2240+(e<<4)>>2],H=+a[I+2240+(e<<4)+4>>2],O=+a[I+2240+(e<<4)+8>>2],x=C*(G*+a[s>>2]+H*+a[s+4>>2]+O*+a[s+8>>2]+ +a[s+48>>2]-(T*+a[o>>2]+D*+a[o+4>>2]+x*+a[o+8>>2]+ +a[o+48>>2]))+w*(G*+a[s+16>>2]+H*+a[s+20>>2]+O*+a[s+24>>2]+ +a[s+52>>2]-(T*+a[o+16>>2]+D*+a[o+20>>2]+x*+a[o+24>>2]+ +a[o+52>>2]))+p*((R?0.0:G*+a[s+32>>2]+H*+a[s+36>>2]+O*+a[s+40>>2]+ +a[s+56>>2])-(R?0.0:T*+a[o+32>>2]+D*+a[o+36>>2]+x*+a[o+40>>2]+ +a[o+56>>2])),x<v):0)v=x;else{g=S;C=y;w=k;p=j}e=e+1|0;if((e|0)==(d|0)){k=p;break}else{S=g;j=p;k=w;y=C}}}else{v=999999984306749440.0;k=0.0;w=0.0;C=0.0;g=0.0}switch(_[i+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Da[_[(_[i>>2]|0)+48>>2]&15](i)}switch(_[r+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Da[_[(_[r>>2]|0)+48>>2]&15](r)}if(v<0.0){M=0;u=I;return M|0}switch(_[i+4>>2]|0){case 8:{p=+a[i+32>>2]*+a[i+16>>2];break}case 0:{p=+a[i+48>>2];break}case 1:{p=+a[i+48>>2];break}case 13:{p=+a[i+48>>2];break}case 11:{p=+a[i+48>>2];break}case 10:{p=+a[i+48>>2];break}case 4:case 5:{p=+a[i+48>>2];break}default:p=+Da[_[(_[i>>2]|0)+48>>2]&15](i)}e=_[r+4>>2]|0;switch(e|0){case 8:{y=+a[r+32>>2]*+a[r+16>>2];e=8;break}case 0:{y=+a[r+48>>2];e=0;break}case 1:{y=+a[r+48>>2];e=1;break}case 13:{y=+a[r+48>>2];e=13;break}case 11:{y=+a[r+48>>2];e=11;break}case 10:{y=+a[r+48>>2];e=10;break}case 4:case 5:{y=+a[r+48>>2];break}default:{y=+Da[_[(_[r>>2]|0)+48>>2]&15](r);e=_[r+4>>2]|0}}p=v+(p+y+.5);_[I+176>>2]=8876;_[I+176+4>>2]=0;_[I+176+8>>2]=1065353216;_[I+176+12>>2]=0;a[I+176+16>>2]=0.0;_[I+176+20>>2]=0;_[I+176+24>>2]=t;_[I+176+28>>2]=i;_[I+176+32>>2]=r;_[I+176+36>>2]=_[i+4>>2];_[I+176+40>>2]=e;a[I+176+44>>2]=+Da[_[(_[i>>2]|0)+48>>2]&15](i);a[I+176+48>>2]=+Da[_[(_[r>>2]|0)+48>>2]&15](r);n[I+176+52>>0]=0;_[I+176+60>>2]=-1;_[I+176+72>>2]=1;_[I+176+76>>2]=1;O=C*p+ +a[o+48>>2];H=w*p+ +a[o+52>>2];G=k*p+ +a[o+56>>2];_[I+44>>2]=_[o>>2];_[I+44+4>>2]=_[o+4>>2];_[I+44+8>>2]=_[o+8>>2];_[I+44+12>>2]=_[o+12>>2];_[I+44+16>>2]=_[o+16>>2];_[I+44+16+4>>2]=_[o+16+4>>2];_[I+44+16+8>>2]=_[o+16+8>>2];_[I+44+16+12>>2]=_[o+16+12>>2];_[I+44+32>>2]=_[o+32>>2];_[I+44+32+4>>2]=_[o+32+4>>2];_[I+44+32+8>>2]=_[o+32+8>>2];_[I+44+32+12>>2]=_[o+32+12>>2];a[I+44+48>>2]=O;a[I+44+52>>2]=H;a[I+44+56>>2]=G;a[I+44+60>>2]=0.0;_[I+44+64>>2]=_[s>>2];_[I+44+64+4>>2]=_[s+4>>2];_[I+44+64+8>>2]=_[s+8>>2];_[I+44+64+12>>2]=_[s+12>>2];_[I+44+80>>2]=_[s+16>>2];_[I+44+80+4>>2]=_[s+16+4>>2];_[I+44+80+8>>2]=_[s+16+8>>2];_[I+44+80+12>>2]=_[s+16+12>>2];_[I+44+96>>2]=_[s+32>>2];_[I+44+96+4>>2]=_[s+32+4>>2];_[I+44+96+8>>2]=_[s+32+8>>2];_[I+44+96+12>>2]=_[s+32+12>>2];_[I+44+112>>2]=_[s+48>>2];_[I+44+112+4>>2]=_[s+48+4>>2];_[I+44+112+8>>2]=_[s+48+8>>2];_[I+44+112+12>>2]=_[s+48+12>>2];a[I+44+128>>2]=999999984306749440.0;_[I>>2]=8916;n[I+40>>0]=0;a[I+176+4>>2]=-C;a[I+176+8>>2]=-w;a[I+176+12>>2]=-k;a[I+176+16>>2]=0.0;tc(I+176|0,I+44|0,I,b,0);p=p-+a[I+36>>2];e=n[I+40>>0]|0;if(e<<24>>24){H=+a[I+24>>2]-w*p;G=+a[I+28>>2]-k*p;a[l>>2]=+a[I+20>>2]-C*p;a[l+4>>2]=H;a[l+8>>2]=G;a[l+12>>2]=0.0;_[f>>2]=_[I+20>>2];_[f+4>>2]=_[I+20+4>>2];_[f+8>>2]=_[I+20+8>>2];_[f+12>>2]=_[I+20+12>>2];a[c>>2]=C;a[c+4>>2]=w;a[c+8>>2]=k;a[c+12>>2]=g}M=e<<24>>24!=0;u=I;return M|0}function Ic(){var e=0;e=ur(8)|0;_[6872]=e;ea(e|0,0)|0;_[6295]=19200;_[6296]=0;_[6297]=0;_[6298]=0;_[6299]=0;_[6300]=0;_[6301]=0;_[6302]=0;_[6303]=0;Jq(25180);_[6304]=19200;_[6305]=0;_[6306]=0;_[6307]=0;_[6308]=0;_[6309]=0;_[6310]=0;_[6311]=0;_[6312]=0;Jq(25216);_[6313]=19200;_[6314]=0;_[6315]=0;_[6316]=0;_[6317]=0;_[6318]=0;_[6319]=0;_[6320]=0;_[6321]=0;Jq(25252);_[6322]=19200;_[6323]=0;_[6324]=0;_[6325]=0;_[6326]=0;_[6327]=0;_[6328]=0;_[6329]=0;_[6330]=0;Jq(25288);_[6331]=19200;_[6332]=0;_[6333]=0;_[6334]=0;_[6335]=0;_[6336]=0;_[6337]=0;_[6338]=0;_[6339]=0;Jq(25324);_[6340]=19200;_[6341]=0;_[6342]=0;_[6343]=0;_[6344]=0;_[6345]=0;_[6346]=0;_[6347]=0;_[6348]=0;Jq(25360);_[6349]=19200;_[6350]=0;_[6351]=0;_[6352]=0;_[6353]=0;_[6354]=0;_[6355]=0;_[6356]=0;_[6357]=0;Jq(25396);_[6358]=19200;_[6359]=0;_[6360]=0;_[6361]=0;_[6362]=0;_[6363]=0;_[6364]=0;_[6365]=0;_[6366]=0;Jq(25432);_[6367]=19200;_[6368]=0;_[6369]=0;_[6370]=0;_[6371]=0;_[6372]=0;_[6373]=0;_[6374]=0;_[6375]=0;Jq(25468);_[6376]=19200;_[6377]=0;_[6378]=0;_[6379]=0;_[6380]=0;_[6381]=0;_[6382]=0;_[6383]=0;_[6384]=0;Jq(25504);_[6385]=19200;_[6386]=0;_[6387]=0;_[6388]=0;_[6389]=0;_[6390]=0;_[6391]=0;_[6392]=0;_[6393]=0;Jq(25540);_[6394]=19200;_[6395]=0;_[6396]=0;_[6397]=0;_[6398]=0;_[6399]=0;_[6400]=0;_[6401]=0;_[6402]=0;Jq(25576);_[6403]=19200;_[6404]=0;_[6405]=0;_[6406]=0;_[6407]=0;_[6408]=0;_[6409]=0;_[6410]=0;_[6411]=0;Jq(25612);_[6412]=19200;_[6413]=0;_[6414]=0;_[6415]=0;_[6416]=0;_[6417]=0;_[6418]=0;_[6419]=0;_[6420]=0;Jq(25648);_[6421]=19200;_[6422]=0;_[6423]=0;_[6424]=0;_[6425]=0;_[6426]=0;_[6427]=0;_[6428]=0;_[6429]=0;Jq(25684);_[6430]=19200;_[6431]=0;_[6432]=0;_[6433]=0;_[6434]=0;_[6435]=0;_[6436]=0;_[6437]=0;_[6438]=0;Jq(25720);_[6439]=19200;_[6440]=0;_[6441]=0;_[6442]=0;_[6443]=0;_[6444]=0;_[6445]=0;_[6446]=0;_[6447]=0;Jq(25756);_[6448]=19200;_[6449]=0;_[6450]=0;_[6451]=0;_[6452]=0;_[6453]=0;_[6454]=0;_[6455]=0;_[6456]=0;Jq(25792);_[6457]=19200;_[6458]=0;_[6459]=0;_[6460]=0;_[6461]=0;_[6462]=0;_[6463]=0;_[6464]=0;_[6465]=0;Jq(25828);_[6466]=19200;_[6467]=0;_[6468]=0;_[6469]=0;_[6470]=0;_[6471]=0;_[6472]=0;_[6473]=0;_[6474]=0;Jq(25864);_[6475]=19200;_[6476]=0;_[6477]=0;_[6478]=0;_[6479]=0;_[6480]=0;_[6481]=0;_[6482]=0;_[6483]=0;Jq(25900);_[6484]=19200;_[6485]=0;_[6486]=0;_[6487]=0;_[6488]=0;_[6489]=0;_[6490]=0;_[6491]=0;_[6492]=0;Jq(25936);_[6493]=19200;_[6494]=0;_[6495]=0;_[6496]=0;_[6497]=0;_[6498]=0;_[6499]=0;_[6500]=0;_[6501]=0;Jq(25972);_[6502]=19200;_[6503]=0;_[6504]=0;_[6505]=0;_[6506]=0;_[6507]=0;_[6508]=0;_[6509]=0;_[6510]=0;Jq(26008);_[6511]=19200;_[6512]=0;_[6513]=0;_[6514]=0;_[6515]=0;_[6516]=0;_[6517]=0;_[6518]=0;_[6519]=0;Jq(26044);_[6520]=19200;_[6521]=0;_[6522]=0;_[6523]=0;_[6524]=0;_[6525]=0;_[6526]=0;_[6527]=0;_[6528]=0;Jq(26080);_[6529]=19200;_[6530]=0;_[6531]=0;_[6532]=0;_[6533]=0;_[6534]=0;_[6535]=0;_[6536]=0;_[6537]=0;Jq(26116);_[6538]=19200;_[6539]=0;_[6540]=0;_[6541]=0;_[6542]=0;_[6543]=0;_[6544]=0;_[6545]=0;_[6546]=0;Jq(26152);_[6547]=19200;_[6548]=0;_[6549]=0;_[6550]=0;_[6551]=0;_[6552]=0;_[6553]=0;_[6554]=0;_[6555]=0;Jq(26188);_[6556]=19200;_[6557]=0;_[6558]=0;_[6559]=0;_[6560]=0;_[6561]=0;_[6562]=0;_[6563]=0;_[6564]=0;Jq(26224);_[6565]=19200;_[6566]=0;_[6567]=0;_[6568]=0;_[6569]=0;_[6570]=0;_[6571]=0;_[6572]=0;_[6573]=0;Jq(26260);_[6574]=19200;_[6575]=0;_[6576]=0;_[6577]=0;_[6578]=0;_[6579]=0;_[6580]=0;_[6581]=0;_[6582]=0;Jq(26296);_[6583]=19200;_[6584]=0;_[6585]=0;_[6586]=0;_[6587]=0;_[6588]=0;_[6589]=0;_[6590]=0;_[6591]=0;Jq(26332);_[6592]=19200;_[6593]=0;_[6594]=0;_[6595]=0;_[6596]=0;_[6597]=0;_[6598]=0;_[6599]=0;_[6600]=0;Jq(26368);_[6601]=19200;_[6602]=0;_[6603]=0;_[6604]=0;_[6605]=0;_[6606]=0;_[6607]=0;_[6608]=0;_[6609]=0;Jq(26404);_[6610]=19200;_[6611]=0;_[6612]=0;_[6613]=0;_[6614]=0;_[6615]=0;_[6616]=0;_[6617]=0;_[6618]=0;Jq(26440);_[6619]=19200;_[6620]=0;_[6621]=0;_[6622]=0;_[6623]=0;_[6624]=0;_[6625]=0;_[6626]=0;_[6627]=0;Jq(26476);_[6628]=19200;_[6629]=0;_[6630]=0;_[6631]=0;_[6632]=0;_[6633]=0;_[6634]=0;_[6635]=0;_[6636]=0;Jq(26512);_[6637]=19200;_[6638]=0;_[6639]=0;_[6640]=0;_[6641]=0;_[6642]=0;_[6643]=0;_[6644]=0;_[6645]=0;Jq(26548);_[6646]=19200;_[6647]=0;_[6648]=0;_[6649]=0;_[6650]=0;_[6651]=0;_[6652]=0;_[6653]=0;_[6654]=0;Jq(26584);_[6655]=19200;_[6656]=0;_[6657]=0;_[6658]=0;_[6659]=0;_[6660]=0;_[6661]=0;_[6662]=0;_[6663]=0;Jq(26620);_[6664]=19200;_[6665]=0;_[6666]=0;_[6667]=0;_[6668]=0;_[6669]=0;_[6670]=0;_[6671]=0;_[6672]=0;Jq(26656);_[6673]=19200;_[6674]=0;_[6675]=0;_[6676]=0;_[6677]=0;_[6678]=0;_[6679]=0;_[6680]=0;_[6681]=0;Jq(26692);_[6682]=19200;_[6683]=0;_[6684]=0;_[6685]=0;_[6686]=0;_[6687]=0;_[6688]=0;_[6689]=0;_[6690]=0;Jq(26728);_[6691]=19200;_[6692]=0;_[6693]=0;_[6694]=0;_[6695]=0;_[6696]=0;_[6697]=0;_[6698]=0;_[6699]=0;Jq(26764);_[6700]=19200;_[6701]=0;_[6702]=0;_[6703]=0;_[6704]=0;_[6705]=0;_[6706]=0;_[6707]=0;_[6708]=0;Jq(26800);_[6709]=19200;_[6710]=0;_[6711]=0;_[6712]=0;_[6713]=0;_[6714]=0;_[6715]=0;_[6716]=0;_[6717]=0;Jq(26836);_[6718]=19200;_[6719]=0;_[6720]=0;_[6721]=0;_[6722]=0;_[6723]=0;_[6724]=0;_[6725]=0;_[6726]=0;Jq(26872);_[6727]=19200;_[6728]=0;_[6729]=0;_[6730]=0;_[6731]=0;_[6732]=0;_[6733]=0;_[6734]=0;_[6735]=0;Jq(26908);_[6736]=19200;_[6737]=0;_[6738]=0;_[6739]=0;_[6740]=0;_[6741]=0;_[6742]=0;_[6743]=0;_[6744]=0;Jq(26944);_[6745]=19200;_[6746]=0;_[6747]=0;_[6748]=0;_[6749]=0;_[6750]=0;_[6751]=0;_[6752]=0;_[6753]=0;Jq(26980);_[6754]=19200;_[6755]=0;_[6756]=0;_[6757]=0;_[6758]=0;_[6759]=0;_[6760]=0;_[6761]=0;_[6762]=0;Jq(27016);_[6763]=19200;_[6764]=0;_[6765]=0;_[6766]=0;_[6767]=0;_[6768]=0;_[6769]=0;_[6770]=0;_[6771]=0;Jq(27052);_[6772]=19200;_[6773]=0;_[6774]=0;_[6775]=0;_[6776]=0;_[6777]=0;_[6778]=0;_[6779]=0;_[6780]=0;Jq(27088);_[6781]=19200;_[6782]=0;_[6783]=0;_[6784]=0;_[6785]=0;_[6786]=0;_[6787]=0;_[6788]=0;_[6789]=0;Jq(27124);_[6790]=19200;_[6791]=0;_[6792]=0;_[6793]=0;_[6794]=0;_[6795]=0;_[6796]=0;_[6797]=0;_[6798]=0;Jq(27160);_[6799]=19200;_[6800]=0;_[6801]=0;_[6802]=0;_[6803]=0;_[6804]=0;_[6805]=0;_[6806]=0;_[6807]=0;Jq(27196);_[6808]=19200;_[6809]=0;_[6810]=0;_[6811]=0;_[6812]=0;_[6813]=0;_[6814]=0;_[6815]=0;_[6816]=0;Jq(27232);_[6817]=19200;_[6818]=0;_[6819]=0;_[6820]=0;_[6821]=0;_[6822]=0;_[6823]=0;_[6824]=0;_[6825]=0;Jq(27268);_[6826]=19200;_[6827]=0;_[6828]=0;_[6829]=0;_[6830]=0;_[6831]=0;_[6832]=0;_[6833]=0;_[6834]=0;Jq(27304);_[6835]=19200;_[6836]=0;_[6837]=0;_[6838]=0;_[6839]=0;_[6840]=0;_[6841]=0;_[6842]=0;_[6843]=0;Jq(27340);_[6844]=19200;_[6845]=0;_[6846]=0;_[6847]=0;_[6848]=0;_[6849]=0;_[6850]=0;_[6851]=0;_[6852]=0;Jq(27376);_[6853]=19200;_[6854]=0;_[6855]=0;_[6856]=0;_[6857]=0;_[6858]=0;_[6859]=0;_[6860]=0;_[6861]=0;Jq(27412);_[6862]=19200;_[6863]=0;_[6864]=0;_[6865]=0;_[6866]=0;_[6867]=0;_[6868]=0;_[6869]=0;_[6870]=0;Jq(27448);return}function Jc(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0,l=0,f=0.0,p=0.0,d=0.0,m=0,h=0.0,y=0,g=0.0;m=u;u=u+80|0;s=_[e+28>>2]|0;t=_[r+72>>2]|0;if((t&4|0)!=0&(s|0)>0){i=_[e+36>>2]|0;o=_[e+76>>2]|0;if(!(t&16)){t=0;do{l=_[i+(t*152|0)+132>>2]|0;_[l+124>>2]=_[i+(t*152|0)+100>>2];_[l+128>>2]=_[o+((_[i+(t*152|0)+140>>2]|0)*152|0)+100>>2];t=t+1|0}while((t|0)!=(s|0))}else{t=0;do{l=_[i+(t*152|0)+132>>2]|0;_[l+124>>2]=_[i+(t*152|0)+100>>2];c=_[i+(t*152|0)+140>>2]|0;_[l+128>>2]=_[o+(c*152|0)+100>>2];_[l+132>>2]=_[o+((c+1|0)*152|0)+100>>2];t=t+1|0}while((t|0)!=(s|0))}}o=_[e+48>>2]|0;if((o|0)>0){t=0;do{s=_[e+56>>2]|0;c=_[s+(t*152|0)+132>>2]|0;l=_[c+44>>2]|0;i=s+(t*152|0)+100|0;if(l|0){d=+a[i>>2];y=_[c+28>>2]|0;p=1.0/+a[r+12>>2];f=d*+a[s+(t*152|0)+20>>2]*+a[y+412>>2]*p;h=d*+a[s+(t*152|0)+24>>2]*+a[y+416>>2]*p;a[l>>2]=+a[l>>2]+ +a[s+(t*152|0)+16>>2]*d*+a[y+408>>2]*p;a[l+4>>2]=f+ +a[l+4>>2];a[l+8>>2]=h+ +a[l+8>>2];h=+a[i>>2];y=_[c+32>>2]|0;f=1.0/+a[r+12>>2];p=h*+a[s+(t*152|0)+52>>2]*+a[y+412>>2]*f;d=h*+a[s+(t*152|0)+56>>2]*+a[y+416>>2]*f;a[l+32>>2]=+a[l+32>>2]+ +a[s+(t*152|0)+48>>2]*h*+a[y+408>>2]*f;a[l+36>>2]=p+ +a[l+36>>2];a[l+40>>2]=d+ +a[l+40>>2];y=_[c+28>>2]|0;d=+a[i>>2];p=1.0/+a[r+12>>2];f=+a[s+(t*152|0)+4>>2]*+a[y+608>>2]*d*p;h=d*+a[s+(t*152|0)+8>>2]*+a[y+612>>2]*p;a[l+16>>2]=+a[l+16>>2]+ +a[s+(t*152|0)>>2]*+a[y+604>>2]*d*p;a[l+20>>2]=f+ +a[l+20>>2];a[l+24>>2]=h+ +a[l+24>>2];y=_[c+32>>2]|0;h=+a[i>>2];f=1.0/+a[r+12>>2];p=+a[s+(t*152|0)+36>>2]*+a[y+608>>2]*h*f;d=h*+a[s+(t*152|0)+40>>2]*+a[y+612>>2]*f;a[l+48>>2]=+a[l+48>>2]+ +a[s+(t*152|0)+32>>2]*+a[y+604>>2]*h*f;a[l+52>>2]=p+ +a[l+52>>2];a[l+56>>2]=d+ +a[l+56>>2]}y=_[i>>2]|0;_[c+36>>2]=y;h=+G(+(_[b>>2]=y,+a[b>>2]));if(h>=+a[c+16>>2])n[c+20>>0]=0;t=t+1|0}while((t|0)!=(o|0))}i=_[e+8>>2]|0;if((i|0)>0){c=0;t=_[e+16>>2]|0;do{o=t+(c*244|0)|0;s=_[t+(c*244|0)+240>>2]|0;if(s){if(!(_[r+52>>2]|0)){o=t+(c*244|0)+176|0;p=+a[t+(c*244|0)+64>>2]+ +a[o>>2];a[o>>2]=p;o=t+(c*244|0)+180|0;d=+a[t+(c*244|0)+68>>2]+ +a[o>>2];a[o>>2]=d;o=t+(c*244|0)+184|0;f=+a[t+(c*244|0)+72>>2]+ +a[o>>2];a[o>>2]=f;o=t+(c*244|0)+192|0;a[o>>2]=+a[t+(c*244|0)+80>>2]+ +a[o>>2];o=t+(c*244|0)+196|0;a[o>>2]=+a[t+(c*244|0)+84>>2]+ +a[o>>2];o=t+(c*244|0)+200|0;a[o>>2]=+a[t+(c*244|0)+88>>2]+ +a[o>>2];o=t;t=s}else{f=+a[r+12>>2];p=+a[r+60>>2];i=t+(c*244|0)+176|0;a[i>>2]=+a[t+(c*244|0)+64>>2]+ +a[i>>2];i=t+(c*244|0)+180|0;a[i>>2]=+a[t+(c*244|0)+68>>2]+ +a[i>>2];i=t+(c*244|0)+184|0;a[i>>2]=+a[t+(c*244|0)+72>>2]+ +a[i>>2];i=t+(c*244|0)+192|0;a[i>>2]=+a[t+(c*244|0)+80>>2]+ +a[i>>2];i=t+(c*244|0)+196|0;a[i>>2]=+a[t+(c*244|0)+84>>2]+ +a[i>>2];i=t+(c*244|0)+200|0;a[i>>2]=+a[t+(c*244|0)+88>>2]+ +a[i>>2];d=+a[t+(c*244|0)+144>>2];i=t+(c*244|0)+148|0;if(((((!(d!=0.0)?!(+a[i>>2]!=0.0):0)?!(+a[t+(c*244|0)+152>>2]!=0.0):0)?!(+a[t+(c*244|0)+160>>2]!=0.0):0)?!(+a[t+(c*244|0)+164>>2]!=0.0):0)?!(+a[t+(c*244|0)+168>>2]!=0.0):0)i=s;else{g=+a[t+(c*244|0)+164>>2]*p;h=+a[t+(c*244|0)+168>>2]*p;a[m>>2]=+a[t+(c*244|0)+160>>2]*p;a[m+4>>2]=g;a[m+8>>2]=h;a[m+12>>2]=0.0;Ue(o,d,+a[i>>2],+a[t+(c*244|0)+152>>2],m,f,m+16|0);_[o>>2]=_[m+16>>2];_[o+4>>2]=_[m+16+4>>2];_[o+8>>2]=_[m+16+8>>2];_[o+12>>2]=_[m+16+12>>2];i=t+(c*244|0)+16|0;_[i>>2]=_[m+16+16>>2];_[i+4>>2]=_[m+16+16+4>>2];_[i+8>>2]=_[m+16+16+8>>2];_[i+12>>2]=_[m+16+16+12>>2];i=t+(c*244|0)+32|0;_[i>>2]=_[m+16+32>>2];_[i+4>>2]=_[m+16+32+4>>2];_[i+8>>2]=_[m+16+32+8>>2];_[i+12>>2]=_[m+16+32+12>>2];i=t+(c*244|0)+48|0;_[i>>2]=_[m+16+48>>2];_[i+4>>2]=_[m+16+48+4>>2];_[i+8>>2]=_[m+16+48+8>>2];_[i+12>>2]=_[m+16+48+12>>2];i=_[e+16>>2]|0;t=i;i=_[i+(c*244|0)+240>>2]|0}o=t;p=+a[t+(c*244|0)+176>>2];d=+a[t+(c*244|0)+180>>2];f=+a[t+(c*244|0)+184>>2];t=i}g=p+ +a[o+(c*244|0)+208>>2];h=d+ +a[o+(c*244|0)+212>>2];d=f+ +a[o+(c*244|0)+216>>2];l=t+304|0;_[l>>2]=(_[l>>2]|0)+1;a[t+372>>2]=g;a[t+376>>2]=h;a[t+380>>2]=d;a[t+384>>2]=0.0;l=_[e+16>>2]|0;y=_[l+(c*244|0)+240>>2]|0;d=+a[l+(c*244|0)+192>>2]+ +a[l+(c*244|0)+224>>2];h=+a[l+(c*244|0)+196>>2]+ +a[l+(c*244|0)+228>>2];g=+a[l+(c*244|0)+200>>2]+ +a[l+(c*244|0)+232>>2];_[y+304>>2]=(_[y+304>>2]|0)+1;a[y+388>>2]=d;a[y+392>>2]=h;a[y+396>>2]=g;a[y+400>>2]=0.0;if(_[r+52>>2]|0){l=_[e+16>>2]|0;y=_[l+(c*244|0)+240>>2]|0;s=l+(c*244|0)|0;_[y+304>>2]=(_[y+304>>2]|0)+1;_[y+4>>2]=_[s>>2];_[y+4+4>>2]=_[s+4>>2];_[y+4+8>>2]=_[s+8>>2];_[y+4+12>>2]=_[s+12>>2];s=l+(c*244|0)+16|0;_[y+20>>2]=_[s>>2];_[y+20+4>>2]=_[s+4>>2];_[y+20+8>>2]=_[s+8>>2];_[y+20+12>>2]=_[s+12>>2];s=l+(c*244|0)+32|0;_[y+36>>2]=_[s>>2];_[y+36+4>>2]=_[s+4>>2];_[y+36+8>>2]=_[s+8>>2];_[y+36+12>>2]=_[s+12>>2];l=l+(c*244|0)+48|0;_[y+52>>2]=_[l>>2];_[y+52+4>>2]=_[l+4>>2];_[y+52+8>>2]=_[l+8>>2];_[y+52+12>>2]=_[l+12>>2]}t=_[e+16>>2]|0;_[(_[t+(c*244|0)+240>>2]|0)+212>>2]=-1;i=_[e+8>>2]|0}c=c+1|0}while((c|0)<(i|0))}if((_[e+28>>2]|0)<0?(_[e+32>>2]|0)<0:0){t=_[e+36>>2]|0;if(t|0){if(n[e+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+36>>2]=0}n[e+40>>0]=1;_[e+36>>2]=0;_[e+32>>2]=0}_[e+28>>2]=0;if((_[e+48>>2]|0)<0?(_[e+52>>2]|0)<0:0){t=_[e+56>>2]|0;if(t|0){if(n[e+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+56>>2]=0}n[e+60>>0]=1;_[e+56>>2]=0;_[e+52>>2]=0}_[e+48>>2]=0;if((_[e+68>>2]|0)<0?(_[e+72>>2]|0)<0:0){t=_[e+76>>2]|0;if(t|0){if(n[e+80>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+76>>2]=0}n[e+80>>0]=1;_[e+76>>2]=0;_[e+72>>2]=0}_[e+68>>2]=0;if((_[e+88>>2]|0)<0?(_[e+92>>2]|0)<0:0){t=_[e+96>>2]|0;if(t|0){if(n[e+100>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+96>>2]=0}n[e+100>>0]=1;_[e+96>>2]=0;_[e+92>>2]=0}_[e+88>>2]=0;if((_[e+8>>2]|0)>=0){_[e+8>>2]=0;u=m;return 0.0}if((_[e+12>>2]|0)>=0){_[e+8>>2]=0;u=m;return 0.0}t=_[e+16>>2]|0;if(t|0){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=0;_[e+12>>2]=0;_[e+8>>2]=0;u=m;return 0.0}function Zb(e,t){e=e|0;t=t|0;var i=0,o=0,c=0,l=0,f=0,p=0,d=0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0,k=0,S=0,j=0,R=0,x=0.0,I=0.0,M=0.0,D=0,T=0.0,O=0,H=0,F=0,A=0.0,P=0,B=0,L=0.0,V=0,E=0,q=0,Q=0,z=0,N=0,U=0,K=0,Z=0,X=0,J=0,Y=0,$=0,ee=0,te=0,ie=0,ne=0,re=0,_e=0,oe=0,se=0,ce=0.0,ae=0.0,le=0,fe=0;se=u;u=u+192|0;o=_[e+56>>2]|0;if(o|0?(ua[_[_[o>>2]>>2]&511](o),i=_[e+56>>2]|0,i|0):0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[6293]=(_[6293]|0)+1;i=cc(151)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}_[i>>2]=9592;n[i+20>>0]=1;_[i+16>>2]=0;_[i+8>>2]=0;_[i+12>>2]=0;n[i+40>>0]=1;_[i+36>>2]=0;_[i+28>>2]=0;_[i+32>>2]=0;n[i+60>>0]=1;_[i+56>>2]=0;_[i+48>>2]=0;_[i+52>>2]=0;_[e+56>>2]=i;f=0;p=0;oe=0;F=0;i=0;while(1){if((f|0)>=(ya[_[(_[e>>2]|0)+96>>2]&127](e)|0))break;do{if((F|0)==(p|0)){o=p|0?p<<1:1;if((p|0)<(o|0)){if((o|0)!=0?(_[6293]=(_[6293]|0)+1,d=cc((o<<4|3)+16|0)|0,(d|0)!=0):0){_[(d+4+15&-16)+-4>>2]=d;c=d+4+15&-16}else c=0;if((p|0)<=0){if(!oe){l=c;i=c;c=p;break}}else{i=0;do{_e=c+(i<<4)|0;re=oe+(i<<4)|0;_[_e>>2]=_[re>>2];_[_e+4>>2]=_[re+4>>2];_[_e+8>>2]=_[re+8>>2];_[_e+12>>2]=_[re+12>>2];i=i+1|0}while((i|0)!=(p|0))}_[6294]=(_[6294]|0)+1;Mc(_[oe+-4>>2]|0);l=c;i=c;c=p}else{o=p;l=oe;c=p}}else{o=p;l=oe;c=F}}while(0);p=l+(F<<4)|0;_[p>>2]=_[se+136>>2];_[p+4>>2]=_[se+136+4>>2];_[p+8>>2]=_[se+136+8>>2];_[p+12>>2]=_[se+136+12>>2];Za[_[(_[e>>2]|0)+108>>2]&127](e,f,p);f=f+1|0;p=o;oe=l;F=c+1|0}n[se+76+16>>0]=1;_e=se+76+12|0;_[_e>>2]=0;_[se+76+4>>2]=0;_[se+76+8>>2]=0;n[se+76+36>>0]=1;re=se+76+32|0;_[re>>2]=0;_[se+76+24>>2]=0;_[se+76+28>>2]=0;n[se+76+56>>0]=1;ne=se+76+52|0;_[ne>>2]=0;_[se+76+44>>2]=0;_[se+76+48>>2]=0;if(t){if((F|0)>0){H=0;o=0;c=0;l=0;while(1){i=H;H=H+1|0;if((H|0)<(F|0)){D=oe+(i<<4)|0;O=oe+(i<<4)+4|0;R=oe+(i<<4)+8|0;j=H;i=l;do{l=j;j=j+1|0;if((j|0)<(F|0)){k=oe+(l<<4)|0;S=oe+(l<<4)+4|0;w=oe+(l<<4)+8|0;t=j;do{M=+a[D>>2];v=+a[k>>2]-M;T=+a[O>>2];x=+a[S>>2]-T;A=+a[R>>2];I=+a[w>>2]-A;M=+a[oe+(t<<4)>>2]-M;T=+a[oe+(t<<4)+4>>2]-T;A=+a[oe+(t<<4)+8>>2]-A;m=1.0;d=0;while(1){g=(x*A-I*T)*m;C=(I*M-v*A)*m;h=(v*T-x*M)*m;e:do{if(h*h+(g*g+C*C)>9.999999747378752e-05){y=1.0/+W(+(h*h+(g*g+C*C)));if((i|0)>0){l=0;do{if(g*y*+a[c+(l<<4)>>2]+C*y*+a[c+(l<<4)+4>>2]+h*y*+a[c+(l<<4)+8>>2]>.9990000128746033)break e;l=l+1|0}while((l|0)<(i|0))}m=g*y*+a[D>>2]+C*y*+a[O>>2]+h*y*+a[R>>2];l=0;do{if(g*y*+a[oe+(l<<4)>>2]+C*y*+a[oe+(l<<4)+4>>2]+h*y*+a[oe+(l<<4)+8>>2]-m+-.009999999776482582>0.0)break e;l=l+1|0}while((l|0)<(F|0));do{if((i|0)==(o|0)){p=o|0?o<<1:1;if((o|0)<(p|0)){do{if(!p)f=0;else{_[6293]=(_[6293]|0)+1;l=cc((p<<4|3)+16|0)|0;if(!l){f=0;break}_[(l+4+15&-16)+-4>>2]=l;f=l+4+15&-16}}while(0);if((o|0)<=0){if(!c){l=p;c=f;break}}else{l=0;do{ee=f+(l<<4)|0;$=c+(l<<4)|0;_[ee>>2]=_[$>>2];_[ee+4>>2]=_[$+4>>2];_[ee+8>>2]=_[$+8>>2];_[ee+12>>2]=_[$+12>>2];l=l+1|0}while((l|0)!=(o|0))}_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0);l=p;c=f}else l=o}else{l=o;o=i}}while(0);a[c+(o<<4)>>2]=g*y;a[c+(o<<4)+4>>2]=C*y;a[c+(o<<4)+8>>2]=h*y;a[c+(o<<4)+12>>2]=-m;o=l;i=i+1|0}}while(0);d=d+1|0;if((d|0)==2)break;else m=-1.0}t=t+1|0}while((t|0)!=(F|0))}}while((j|0)!=(F|0))}else i=l;if((H|0)==(F|0)){t=i;break}else l=i}if((t|0)>0){i=0;p=0;d=0;while(1){ee=c+(d<<4)|0;_[se+136>>2]=_[ee>>2];_[se+136+4>>2]=_[ee+4>>2];_[se+136+8>>2]=_[ee+8>>2];m=+a[c+(d<<4)+12>>2];m=m-+Da[_[(_[e>>2]|0)+48>>2]&15](e);do{if((d|0)==(i|0)){f=i|0?i<<1:1;if((i|0)<(f|0)){if((f|0)!=0?(_[6293]=(_[6293]|0)+1,P=cc((f<<4|3)+16|0)|0,(P|0)!=0):0){_[(P+4+15&-16)+-4>>2]=P;l=P+4+15&-16}else l=0;if((i|0)<=0){if(!p)break}else{o=0;do{ee=l+(o<<4)|0;$=p+(o<<4)|0;_[ee>>2]=_[$>>2];_[ee+4>>2]=_[$+4>>2];_[ee+8>>2]=_[$+8>>2];_[ee+12>>2]=_[$+12>>2];o=o+1|0}while((o|0)!=(i|0))}_[6294]=(_[6294]|0)+1;Mc(_[p+-4>>2]|0)}else{f=i;l=p}}else{f=i;l=p;i=d}}while(0);ee=l+(i<<4)|0;_[ee>>2]=_[se+136>>2];_[ee+4>>2]=_[se+136+4>>2];_[ee+8>>2]=_[se+136+8>>2];a[l+(i<<4)+12>>2]=m;d=d+1|0;if((d|0)<(t|0)){i=f;p=l}else break}if((d|0)>0){D=0;p=0;f=0;o=0;i=0;do{j=D;D=D+1|0;if((D|0)<(d|0)){R=D;do{S=R;R=R+1|0;if((R|0)<(d|0)){k=R;do{g=+a[l+(S<<4)+4>>2];m=+a[l+(k<<4)+8>>2];h=+a[l+(S<<4)+8>>2];C=+a[l+(k<<4)+4>>2];v=+a[l+(k<<4)>>2];x=+a[l+(S<<4)>>2];y=+a[l+(j<<4)+8>>2];I=+a[l+(j<<4)+4>>2];M=+a[l+(j<<4)>>2];e:do{if((((C*x-g*v)*(C*x-g*v)+((g*m-h*C)*(g*m-h*C)+(h*v-m*x)*(h*v-m*x))>9.999999747378752e-05?(v*I-C*M)*(v*I-C*M)+((C*y-m*I)*(C*y-m*I)+(m*M-v*y)*(m*M-v*y))>9.999999747378752e-05:0)?(g*M-x*I)*(g*M-x*I)+((h*I-g*y)*(h*I-g*y)+(x*y-h*M)*(x*y-h*M))>9.999999747378752e-05:0)?(L=y*(C*x-g*v)+(I*(h*v-m*x)+(g*m-h*C)*M),+G(+L)>9.999999974752427e-07):0){ce=+a[l+(j<<4)+12>>2];A=+a[l+(S<<4)+12>>2];ae=+a[l+(k<<4)+12>>2];T=-1.0/L*((h*I-g*y)*ae+((g*m-h*C)*ce+(C*y-m*I)*A));h=-1.0/L*((x*y-h*M)*ae+((h*v-m*x)*ce+(m*M-v*y)*A));m=-1.0/L*((g*M-x*I)*ae+((C*x-g*v)*ce+(v*I-C*M)*A));t=0;do{if(+a[l+(t<<4)+12>>2]+(T*+a[l+(t<<4)>>2]+h*+a[l+(t<<4)+4>>2]+m*+a[l+(t<<4)+8>>2])+-.009999999776482582>0.0)break e;t=t+1|0}while((t|0)<(d|0));do{if((o|0)==(p|0)){w=p|0?p<<1:1;if((p|0)>=(w|0)){w=p;break}do{if(!w)t=0;else{_[6293]=(_[6293]|0)+1;i=cc((w<<4|3)+16|0)|0;if(!i){t=0;break}_[(i+4+15&-16)+-4>>2]=i;t=i+4+15&-16}}while(0);if((p|0)<=0){if(!f){f=t;i=t;break}}else{i=0;do{ee=t+(i<<4)|0;$=f+(i<<4)|0;_[ee>>2]=_[$>>2];_[ee+4>>2]=_[$+4>>2];_[ee+8>>2]=_[$+8>>2];_[ee+12>>2]=_[$+12>>2];i=i+1|0}while((i|0)!=(p|0))}_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0);f=t;i=t}else{w=p;p=o}}while(0);a[f+(p<<4)>>2]=T;a[f+(p<<4)+4>>2]=h;a[f+(p<<4)+8>>2]=m;a[f+(p<<4)+12>>2]=0.0;p=w;o=o+1|0}}while(0);k=k+1|0}while((k|0)!=(d|0))}}while((R|0)!=(d|0))}}while((D|0)!=(d|0))}else{f=0;o=0;i=0}}else{f=0;l=0;o=0;i=0}}else{f=0;l=0;c=0;o=0;i=0}ic(se+76|0,i,o);if(f|0){_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0)}if(l|0){_[6294]=(_[6294]|0)+1;Mc(_[l+-4>>2]|0)}if(c|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}}else ic(se+76|0,i,F);O=_[se+76+44>>2]|0;if((O|0)>0){_[6293]=(_[6293]|0)+1;i=cc((O<<4|3)+16|0)|0;if(!i)o=0;else{_[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}i=0;do{ee=o+(i<<4)|0;_[ee>>2]=_[se+136>>2];_[ee+4>>2]=_[se+136+4>>2];_[ee+8>>2]=_[se+136+8>>2];_[ee+12>>2]=_[se+136+12>>2];i=i+1|0}while((i|0)!=(O|0));ee=o;Y=o}else{ee=0;Y=0}n[se+56+16>>0]=1;$=se+56+12|0;_[$>>2]=0;J=se+56+4|0;_[J>>2]=0;_[se+56+8>>2]=0;c=se+136|0;f=c+19|0;do{n[c>>0]=0;c=c+1|0}while((c|0)<(f|0));if((O|0)<0)Y_();if(O|0){ff(se+56|0,O);o=_[$>>2]|0;i=0;do{n[o+(i*36|0)+16>>0]=1;c=o+(i*36|0)+4|0;_[c>>2]=0;_[c+4>>2]=0;_[c+8>>2]=0;c=o+(i*36|0)+20|0;l=se+136+3|0;f=c+16|0;do{n[c>>0]=n[l>>0]|0;c=c+1|0;l=l+1|0}while((c|0)<(f|0));i=i+1|0}while((i|0)!=(O|0))}_[J>>2]=O;p=_[se+76+4>>2]|0;f=_[e+56>>2]|0;l=_[f+8>>2]|0;if((l|0)<(p|0)){if((_[f+12>>2]|0)<(p|0)){if(!p){i=0;c=l}else{_[6293]=(_[6293]|0)+1;i=cc((p<<4|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c=_[f+8>>2]|0}if((c|0)>0){o=0;do{X=i+(o<<4)|0;Z=(_[f+16>>2]|0)+(o<<4)|0;_[X>>2]=_[Z>>2];_[X+4>>2]=_[Z+4>>2];_[X+8>>2]=_[Z+8>>2];_[X+12>>2]=_[Z+12>>2];o=o+1|0}while((o|0)!=(c|0))}o=_[f+16>>2]|0;if(o|0){if(n[f+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[f+16>>2]=0}n[f+20>>0]=1;_[f+16>>2]=i;_[f+12>>2]=p;o=f+16|0}else o=f+16|0;i=l;do{X=(_[o>>2]|0)+(i<<4)|0;_[X>>2]=_[se+136>>2];_[X+4>>2]=_[se+136+4>>2];_[X+8>>2]=_[se+136+8>>2];_[X+12>>2]=_[se+136+12>>2];i=i+1|0}while((i|0)!=(p|0))}_[f+8>>2]=p;if((p|0)>0){i=0;do{Z=(_[_e>>2]|0)+(i<<4)|0;X=(_[(_[e+56>>2]|0)+16>>2]|0)+(i<<4)|0;_[X>>2]=_[Z>>2];_[X+4>>2]=_[Z+4>>2];_[X+8>>2]=_[Z+8>>2];_[X+12>>2]=_[Z+12>>2];i=i+1|0}while((i|0)!=(p|0))}if((O|0)>0){D=0;do{j=(_[re>>2]|0)+((_[(_[ne>>2]|0)+(D<<2)>>2]|0)*12|0)|0;S=j;i=0;do{R=S+4|0;k=_[S+((_[R>>2]|0)*12|0)+8>>2]|0;t=_[$>>2]|0;w=t+(D*36|0)+4|0;o=_[w>>2]|0;d=t+(D*36|0)+8|0;if((o|0)==(_[d>>2]|0)?(B=o|0?o<<1:1,(o|0)<(B|0)):0){if(!B)p=0;else{_[6293]=(_[6293]|0)+1;o=cc((B<<2|3)+16|0)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}p=o;o=_[w>>2]|0}f=t+(D*36|0)+12|0;l=_[f>>2]|0;if((o|0)<=0)if(!l)c=t+(D*36|0)+16|0;else te=132;else{c=0;do{_[p+(c<<2)>>2]=_[l+(c<<2)>>2];c=c+1|0}while((c|0)!=(o|0));te=132}if((te|0)==132){te=0;o=t+(D*36|0)+16|0;if(n[o>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[l+-4>>2]|0)}_[f>>2]=0;c=o;o=_[w>>2]|0}n[c>>0]=1;_[f>>2]=p;_[d>>2]=B}_[(_[t+(D*36|0)+12>>2]|0)+(o<<2)>>2]=k;_[w>>2]=(_[w>>2]|0)+1;Z=_[S+8>>2]|0;X=_[_e>>2]|0;y=+a[X+(Z<<4)>>2]-+a[X+(k<<4)>>2];g=+a[X+(Z<<4)+4>>2]-+a[X+(k<<4)+4>>2];m=+a[X+(Z<<4)+8>>2]-+a[X+(k<<4)+8>>2];h=1.0/+W(+(y*y+g*g+m*m));if((i|0)<2){a[se+136+(i<<4)>>2]=y*h;a[se+136+(i<<4)+4>>2]=g*h;a[se+136+(i<<4)+8>>2]=m*h;a[se+136+(i<<4)+12>>2]=0.0;i=i+1|0}X=S+((_[R>>2]|0)*12|0)|0;S=X+((_[X>>2]|0)*12|0)|0}while((S|0)!=(j|0));if((i|0)==2){T=+a[se+136+4>>2];A=+a[se+136+24>>2];L=+a[se+136+8>>2];ce=+a[se+136+20>>2];M=+a[se+136+16>>2];I=+a[se+136>>2];Z=ee+(D<<4)+4|0;X=ee+(D<<4)+8|0;a[ee+(D<<4)+12>>2]=0.0;ae=1.0/+W(+((T*A-L*ce)*(T*A-L*ce)+(L*M-A*I)*(L*M-A*I)+(ce*I-T*M)*(ce*I-T*M)));a[ee+(D<<4)>>2]=(T*A-L*ce)*ae;a[Z>>2]=(L*M-A*I)*ae;a[X>>2]=(ce*I-T*M)*ae;f=_[$>>2]|0;a[f+(D*36|0)+20>>2]=(T*A-L*ce)*ae;_[f+(D*36|0)+24>>2]=_[Z>>2];_[f+(D*36|0)+28>>2]=_[X>>2];a[f+(D*36|0)+32>>2]=1000000015047466219876688.0e6}else{f=ee+(D<<4)|0;_[f>>2]=0;_[f+4>>2]=0;_[f+8>>2]=0;_[f+12>>2]=0;f=_[$>>2]|0}c=_[f+(D*36|0)+4>>2]|0;if((c|0)>0){l=_[(_[e+56>>2]|0)+16>>2]|0;h=+a[ee+(D<<4)>>2];y=+a[ee+(D<<4)+4>>2];g=+a[ee+(D<<4)+8>>2];o=_[f+(D*36|0)+12>>2]|0;i=0;m=1000000015047466219876688.0e6;do{X=_[o+(i<<2)>>2]|0;ae=+a[l+(X<<4)>>2]*h+ +a[l+(X<<4)+4>>2]*y+ +a[l+(X<<4)+8>>2]*g;m=m>ae?ae:m;i=i+1|0}while((i|0)!=(c|0))}else m=1000000015047466219876688.0e6;a[f+(D*36|0)+32>>2]=-m;D=D+1|0}while((D|0)!=(O|0))}if((_[J>>2]|0)>0){o=0;l=0;c=0;f=0;p=0;while(1){do{if((p|0)==(o|0)){o=p|0?p<<1:1;if((p|0)<(o|0)){if((o|0)!=0?(_[6293]=(_[6293]|0)+1,V=cc((o<<2|3)+16|0)|0,(V|0)!=0):0){_[(V+4+15&-16)+-4>>2]=V;c=V+4+15&-16}else c=0;if((p|0)>0){i=0;do{_[c+(i<<2)>>2]=_[l+(i<<2)>>2];i=i+1|0}while((i|0)!=(p|0));if(!f){l=c;X=c;i=c;break}}else if((l|0)==0|(f|0)==0){l=c;X=c;i=c;break}_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0);l=c;X=c;i=c}else{o=p;X=c;i=f}}else{X=c;i=f}}while(0);_[l+(p<<2)>>2]=p;p=p+1|0;if((p|0)>=(_[J>>2]|0))break;else{c=X;f=i}}P=se+36+12|0;B=se+36+4|0;V=se+136+12|0;c=p;do{w=c+-1|0;o=_[l+(w<<2)>>2]|0;_[6293]=(_[6293]|0)+1;i=cc(23)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}_[i>>2]=o;Z=_[$>>2]|0;h=+a[Z+(o*36|0)+20>>2];y=+a[Z+(o*36|0)+24>>2];m=+a[Z+(o*36|0)+28>>2];e:do{if((c|0)>1){p=w;o=i;t=i;f=1;d=i;i=1;S=w;while(1){j=i;while(1){i=_[$>>2]|0;k=p;do{Z=k;k=k+-1|0;if((Z|0)<=0){F=o;H=d;O=j;c=S;break e}w=_[l+(k<<2)>>2]|0}while(!(h*+a[i+(w*36|0)+20>>2]+y*+a[i+(w*36|0)+24>>2]+m*+a[i+(w*36|0)+28>>2]>.9990000128746033));do{if((j|0)==(f|0)){c=j|0?j<<1:1;if((j|0)<(c|0)){do{if(!c)p=0;else{_[6293]=(_[6293]|0)+1;i=cc((c<<2|3)+16|0)|0;if(!i){p=0;break}_[(i+4+15&-16)+-4>>2]=i;p=i+4+15&-16}}while(0);if((j|0)>0){i=0;do{_[p+(i<<2)>>2]=_[d+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0));if(!t){f=c;d=p;o=p;t=p;break}}else if((d|0)==0|(t|0)==0){f=c;d=p;o=p;t=p;break}_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);f=c;d=p;o=p;t=p}else f=j}}while(0);_[d+(j<<2)>>2]=w;j=j+1|0;i=0;while(1){if((_[l+(i<<2)>>2]|0)==(w|0))break;i=i+1|0;if((i|0)>=(S|0)){i=S;break}}if((S|0)>(i|0))break;else p=k}U=l+(i<<2)|0;K=_[U>>2]|0;c=S+-1|0;Z=l+(c<<2)|0;_[U>>2]=_[Z>>2];_[Z>>2]=K;if((S|0)>1){p=k;i=j;S=c}else{p=k;i=j;te=162;break}}}else{p=w;o=i;t=i;f=1;d=i;i=1;c=w;te=162}}while(0);e:do{if((te|0)==162){te=0;S=i;while(1){i=_[$>>2]|0;w=p;do{Z=w;w=w+-1|0;if((Z|0)<=0){F=o;H=d;O=S;break e}k=_[l+(w<<2)>>2]|0}while(!(h*+a[i+(k*36|0)+20>>2]+y*+a[i+(k*36|0)+24>>2]+m*+a[i+(k*36|0)+28>>2]>.9990000128746033));do{if((S|0)==(f|0)){f=S|0?S<<1:1;if((S|0)<(f|0)){do{if(!f)p=0;else{_[6293]=(_[6293]|0)+1;i=cc((f<<2|3)+16|0)|0;if(!i){p=0;break}_[(i+4+15&-16)+-4>>2]=i;p=i+4+15&-16}}while(0);if((S|0)>0){i=0;do{_[p+(i<<2)>>2]=_[d+(i<<2)>>2];i=i+1|0}while((i|0)!=(S|0));if(!t){d=p;o=p;i=p;break}}else if((d|0)==0|(t|0)==0){d=p;o=p;i=p;break}_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0);d=p;o=p;i=p}else{f=S;i=t}}else i=t}while(0);_[d+(S<<2)>>2]=k;p=w;t=i;S=S+1|0}}}while(0);if((O|0)>1){n[se+36+16>>0]=1;_[P>>2]=0;_[B>>2]=0;_[se+36+8>>2]=0;j=0;m=0.0;h=0.0;y=0.0;f=0;do{o=_[H+(j<<2)>>2]|0;m=+a[i+(o*36|0)+20>>2]+m;h=+a[i+(o*36|0)+24>>2]+h;y=+a[i+(o*36|0)+28>>2]+y;S=i+(o*36|0)+4|0;if((_[S>>2]|0)>0){k=i+(o*36|0)+12|0;w=0;i=f;while(1){t=_[(_[k>>2]|0)+(w<<2)>>2]|0;Z=(_[(_[e+56>>2]|0)+16>>2]|0)+(t<<4)|0;_[se+136>>2]=_[Z>>2];_[se+136+4>>2]=_[Z+4>>2];_[se+136+8>>2]=_[Z+8>>2];_[se+136+12>>2]=_[Z+12>>2];e:do{if((i|0)>0){f=_[P>>2]|0;o=0;while(1){if((_[f+(o*24|0)+20>>2]|0)==(t|0))break e;o=o+1|0;if((o|0)>=(i|0)){te=261;break}}}else te=261}while(0);if((te|0)==261){te=0;_[se>>2]=_[se+136>>2];_[se+4>>2]=_[se+136+4>>2];_[se+8>>2]=_[se+136+8>>2];_[se+12>>2]=_[se+136+12>>2];do{if((i|0)==(_[se+36+8>>2]|0)){d=i|0?i<<1:1;if((i|0)>=(d|0))break;if(!d)p=0;else{_[6293]=(_[6293]|0)+1;i=cc((d*24|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}p=i;i=_[B>>2]|0}f=_[P>>2]|0;if((i|0)<=0){if(f)te=270}else{o=0;do{te=p+(o*24|0)|0;Z=f+(o*24|0)|0;_[te>>2]=_[Z>>2];_[te+4>>2]=_[Z+4>>2];_[te+8>>2]=_[Z+8>>2];_[te+12>>2]=_[Z+12>>2];_[te+16>>2]=_[Z+16>>2];_[te+20>>2]=_[Z+20>>2];o=o+1|0}while((o|0)!=(i|0));te=270}if((te|0)==270){te=0;if(n[se+36+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0);i=_[B>>2]|0}_[P>>2]=0}n[se+36+16>>0]=1;_[P>>2]=p;_[se+36+8>>2]=d}}while(0);Z=_[P>>2]|0;K=Z+(i*24|0)|0;_[K>>2]=_[se>>2];_[K+4>>2]=_[se+4>>2];_[K+8>>2]=_[se+8>>2];_[K+12>>2]=_[se+12>>2];_[K+16>>2]=_[se+16>>2];_[Z+(i*24|0)+20>>2]=t;i=(_[B>>2]|0)+1|0;_[B>>2]=i}w=w+1|0;if((w|0)>=(_[S>>2]|0)){f=i;break}}}j=j+1|0;i=_[$>>2]|0}while((j|0)!=(O|0));n[se+16>>0]=1;_[se+12>>2]=0;_[se+4>>2]=0;_[se+8>>2]=0;Z=_[H>>2]|0;_[se+20>>2]=_[i+(Z*36|0)+20>>2];_[se+24>>2]=_[i+(Z*36|0)+24>>2];_[se+28>>2]=_[i+(Z*36|0)+28>>2];_[se+32>>2]=_[i+(Z*36|0)+32>>2];T=1.0/+W(+(m*m+h*h+y*y));L=m*T;A=h*T;T=y*T;if(+G(+T)>.7071067690849304){M=1.0/+W(+(T*T+A*A));g=L*-(T*M);C=(T*T+A*A)*M;v=0.0;x=A*M;I=-(L*A*M);M=-(T*M)}else{M=1.0/+W(+(L*L+A*A));g=(L*L+A*A)*M;C=-(T*L*M);v=-(A*M);x=0.0;I=T*-(A*M);M=L*M}if((f|0)<2)if((f|0)==1){f=0;p=0;t=0;o=1;while(1){w=_[P>>2]|0;do{if((f|0)==(p|0)){d=p|0?p<<1:1;if((p|0)>=(d|0)){d=p;i=t;break}do{if(!d)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((d*24|3)+16|0)|0;if(!i){i=0;p=f;break}_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16;p=f}}while(0);if((p|0)<=0){if(t|0)te=212}else{o=0;do{te=i+(o*24|0)|0;Z=t+(o*24|0)|0;_[te>>2]=_[Z>>2];_[te+4>>2]=_[Z+4>>2];_[te+8>>2]=_[Z+8>>2];_[te+12>>2]=_[Z+12>>2];_[te+16>>2]=_[Z+16>>2];_[te+20>>2]=_[Z+20>>2];o=o+1|0}while((o|0)!=(p|0));te=212}if((te|0)==212){te=0;_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}p=f;o=_[B>>2]|0}else{d=p;i=t;p=f}}while(0);Z=i+(p*24|0)|0;_[Z>>2]=_[w>>2];_[Z+4>>2]=_[w+4>>2];_[Z+8>>2]=_[w+8>>2];_[Z+12>>2]=_[w+12>>2];_[Z+16>>2]=_[w+16>>2];_[Z+20>>2]=_[w+20>>2];f=f+1|0;if((f|0)<(o|0)){p=d;t=i}else{te=276;break}}}else{i=0;te=315}else{p=_[P>>2]|0;o=0;i=f;do{if(v*+a[p+(o*24|0)>>2]+M*+a[p+(o*24|0)+4>>2]+x*+a[p+(o*24|0)+8>>2]<v*+a[p>>2]+M*+a[p+4>>2]+x*+a[p+8>>2]){_[se+136>>2]=_[p>>2];_[se+136+4>>2]=_[p+4>>2];_[se+136+8>>2]=_[p+8>>2];_[se+136+12>>2]=_[p+12>>2];_[se+136+16>>2]=_[p+16>>2];_[se+136+20>>2]=_[p+20>>2];i=p+(o*24|0)|0;_[p>>2]=_[i>>2];_[p+4>>2]=_[i+4>>2];_[p+8>>2]=_[i+8>>2];_[p+12>>2]=_[i+12>>2];_[p+16>>2]=_[i+16>>2];_[p+20>>2]=_[i+20>>2];i=p+(o*24|0)|0;_[i>>2]=_[se+136>>2];_[i+4>>2]=_[se+136+4>>2];_[i+8>>2]=_[se+136+8>>2];_[i+12>>2]=_[se+136+12>>2];_[i+16>>2]=_[se+136+16>>2];_[i+20>>2]=_[se+136+20>>2];i=f}o=o+1|0}while((o|0)<(i|0));a[p+16>>2]=-1000000015047466219876688.0e6;if((i|0)>1){y=+a[p+4>>2];o=1;do{ce=+a[p+(o*24|0)>>2]-+a[p>>2];ae=+a[p+(o*24|0)+4>>2]-y;h=+a[p+(o*24|0)+8>>2]-+a[p+8>>2];m=C*ce+I*ae+g*h;h=v*ce+M*ae+x*h;if(m*m+h*h<1.1920928955078125e-07)m=0.0;else{ae=+G(+m);ae=(!(h>=0.0)?2.356194496154785:.7853981852531433)-(!(h>=0.0)?h+ae:h-ae)/(!(h>=0.0)?ae-h:h+ae)*.7853981852531433;m=m<0.0?-ae:ae}a[p+(o*24|0)+16>>2]=m;o=o+1|0}while((o|0)!=(i|0))}_[se+136>>2]=_[p>>2];_[se+136+4>>2]=_[p+4>>2];_[se+136+8>>2]=_[p+8>>2];_[se+136+12>>2]=_[p+12>>2];Le(se+36|0,se+136|0,1,i+-1|0);o=_[P>>2]|0;_[6293]=(_[6293]|0)+1;i=cc(43)|0;if(!i)f=0;else{_[(i+4+15&-16)+-4>>2]=i;f=i+4+15&-16}p=_[P>>2]|0;_[f>>2]=_[o>>2];_[f+4>>2]=_[o+4>>2];_[f+8>>2]=_[o+8>>2];_[f+12>>2]=_[o+12>>2];_[f+16>>2]=_[o+16>>2];_[f+20>>2]=_[o+20>>2];_[6293]=(_[6293]|0)+1;i=cc(67)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}_[i>>2]=_[f>>2];_[i+4>>2]=_[f+4>>2];_[i+8>>2]=_[f+8>>2];_[i+12>>2]=_[f+12>>2];_[i+16>>2]=_[f+16>>2];_[i+20>>2]=_[f+20>>2];if(f|0){_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0)}te=i+24|0;_[te>>2]=_[p+24>>2];_[te+4>>2]=_[p+24+4>>2];_[te+8>>2]=_[p+24+8>>2];_[te+12>>2]=_[p+24+12>>2];_[te+16>>2]=_[p+24+16>>2];_[te+20>>2]=_[p+24+20>>2];if((_[B>>2]|0)==2){o=2;f=2}else{o=2;f=2;t=2;p=2;do{e:do{if((p|0)>1){w=_[P>>2]|0;k=w+(o*24|0)|0;m=+a[k>>2];h=+a[w+(o*24|0)+4>>2];y=+a[w+(o*24|0)+8>>2];while(1){te=p+-2|0;d=p+-1|0;M=+a[i+(te*24|0)>>2];ce=M-+a[i+(d*24|0)>>2];x=+a[i+(te*24|0)+4>>2];v=x-+a[i+(d*24|0)+4>>2];ae=+a[i+(te*24|0)+8>>2];I=ae-+a[i+(d*24|0)+8>>2];if((ce*(x-h)-v*(M-m))*T+(L*(v*(ae-y)-I*(x-h))+A*(I*(M-m)-ce*(ae-y)))>0.0)break;if((d|0)>1){f=d;p=d}else{f=d;p=w;te=240;break e}}do{if((p|0)==(t|0)){w=t<<1;if((t|0)>=(w|0)){w=t;p=t;break}_[6293]=(_[6293]|0)+1;p=cc((t*48|3)+16|0)|0;if(!p)d=0;else{_[(p+4+15&-16)+-4>>2]=p;d=p+4+15&-16}if((f|0)>0){p=0;do{te=d+(p*24|0)|0;Z=i+(p*24|0)|0;_[te>>2]=_[Z>>2];_[te+4>>2]=_[Z+4>>2];_[te+8>>2]=_[Z+8>>2];_[te+12>>2]=_[Z+12>>2];_[te+16>>2]=_[Z+16>>2];_[te+20>>2]=_[Z+20>>2];p=p+1|0}while((p|0)!=(f|0))}_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);i=d;p=f}else w=t}while(0);p=i+(p*24|0)|0;_[p>>2]=_[k>>2];_[p+4>>2]=_[k+4>>2];_[p+8>>2]=_[k+8>>2];_[p+12>>2]=_[k+12>>2];_[p+16>>2]=_[k+16>>2];_[p+20>>2]=_[k+20>>2];p=f+1|0;f=p;t=w;te=238}else te=238}while(0);do{if((te|0)==238){te=0;if((p|0)!=1)break;p=_[P>>2]|0;te=240}}while(0);if((te|0)==240){w=p+(o*24|0)|0;do{if((t|0)==1){_[6293]=(_[6293]|0)+1;p=cc(67)|0;if(!p)d=0;else{_[(p+4+15&-16)+-4>>2]=p;d=p+4+15&-16}if((f|0)<=0){if(!i){t=2;i=d;p=f;break}}else{p=0;do{te=d+(p*24|0)|0;Z=i+(p*24|0)|0;_[te>>2]=_[Z>>2];_[te+4>>2]=_[Z+4>>2];_[te+8>>2]=_[Z+8>>2];_[te+12>>2]=_[Z+12>>2];_[te+16>>2]=_[Z+16>>2];_[te+20>>2]=_[Z+20>>2];p=p+1|0}while((p|0)!=(f|0))}_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);t=2;i=d;p=f}else p=1}while(0);p=i+(p*24|0)|0;_[p>>2]=_[w>>2];_[p+4>>2]=_[w+4>>2];_[p+8>>2]=_[w+8>>2];_[p+12>>2]=_[w+12>>2];_[p+16>>2]=_[w+16>>2];_[p+20>>2]=_[w+20>>2];p=f+1|0;f=p}o=o+1|0}while((o|0)!=(_[B>>2]|0))}te=276}e:do{if((te|0)==276){te=0;if((f|0)>0){D=0;p=_[se+4>>2]|0;o=_[se+8>>2]|0;w=n[se+16>>0]|0;while(1){R=i+(D*24|0)+20|0;do{if((p|0)==(o|0)){S=o|0?o<<1:1;if((o|0)>=(S|0)){j=w;p=o;S=o;break}do{if(!S)t=0;else{_[6293]=(_[6293]|0)+1;p=cc((S<<2|3)+16|0)|0;if(!p){t=0;break}_[(p+4+15&-16)+-4>>2]=p;t=p+4+15&-16}}while(0);d=_[se+12>>2]|0;if((o|0)<=0){if(d)te=305}else{p=0;do{_[t+(p<<2)>>2]=_[d+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));te=305}if((te|0)==305){te=0;if(w<<24>>24){_[6294]=(_[6294]|0)+1;Mc(_[d+-4>>2]|0)}_[se+12>>2]=0;o=_[se+4>>2]|0}_[se+12>>2]=t;_[se+8>>2]=S;j=1;p=o}else{j=w;S=o}}while(0);_[(_[se+12>>2]|0)+(p<<2)>>2]=_[R>>2];p=p+1|0;_[se+4>>2]=p;o=_[B>>2]|0;t:do{if((o|0)>0){k=_[P>>2]|0;t=_[R>>2]|0;d=0;while(1){w=k+(d*24|0)+20|0;d=d+1|0;if((_[w>>2]|0)==(t|0))break;if((d|0)>=(o|0))break t}_[w>>2]=-1}}while(0);D=D+1|0;if((D|0)>=(f|0))break;else{o=S;w=j}}n[se+16>>0]=j}if((o|0)<=0){te=315;break}k=_[P>>2]|0;S=_[J>>2]|0;j=_[$>>2]|0;R=(O|0)>0;if((S|0)>0)w=0;else{te=315;break}while(1){D=_[k+(w*24|0)+20>>2]|0;t:do{if((D|0)!=-1){if(R)t=0;else{p=0;while(1){d=_[j+(p*36|0)+4>>2]|0;if((d|0)>0){t=_[j+(p*36|0)+12>>2]|0;f=0;do{if((_[t+(f<<2)>>2]|0)==(D|0)){o=1;break e}f=f+1|0}while((f|0)<(d|0))}p=p+1|0;if((p|0)>=(S|0))break t}}do{f=0;while(1){if((_[H+(f<<2)>>2]|0)==(t|0))break;f=f+1|0;if((f|0)>=(O|0)){te=291;break}}do{if((te|0)==291){te=0;p=_[j+(t*36|0)+4>>2]|0;if((p|0)<=0)break;d=_[j+(t*36|0)+12>>2]|0;f=0;do{if((_[d+(f<<2)>>2]|0)==(D|0)){o=1;break e}f=f+1|0}while((f|0)<(p|0))}}while(0);t=t+1|0}while((t|0)<(S|0))}}while(0);w=w+1|0;if((w|0)>=(o|0)){te=315;break}}}}while(0);if((te|0)==315){te=0;xg((_[e+56>>2]|0)+24|0,se);o=0}if(i|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}i=_[se+12>>2]|0;if(i|0){if(n[se+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[se+12>>2]=0}i=_[P>>2]|0;if(i|0){if(n[se+36+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[P>>2]=0}if(o&(O|0)>0){d=0;te=327}}else if((O|0)==1){d=0;te=327}if((te|0)==327)while(1){te=0;t=_[H+(d<<2)>>2]|0;w=_[$>>2]|0;n[se+136+16>>0]=1;_[V>>2]=0;_[se+136+4>>2]=0;_[se+136+8>>2]=0;p=_[w+(t*36|0)+4>>2]|0;if((p|0)>0){_[6293]=(_[6293]|0)+1;o=cc((p<<2|3)+16|0)|0;do{if(!o){i=0;f=0}else{_[(o+4+15&-16)+-4>>2]=o;i=_[V>>2]|0;if((i|0)==0|(n[se+136+16>>0]|0)==0){i=o+4+15&-16;f=o+4+15&-16;break}_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0);i=o+4+15&-16;f=o+4+15&-16}}while(0);n[se+136+16>>0]=1;_[V>>2]=i;_[se+136+8>>2]=p;Wj(i|0,0,p<<2|0)|0;_[se+136+4>>2]=p;o=_[w+(t*36|0)+12>>2]|0;i=0;do{_[f+(i<<2)>>2]=_[o+(i<<2)>>2];i=i+1|0}while((i|0)!=(p|0));i=_[V>>2]|0}else{_[se+136+4>>2]=p;i=0}_[se+136+20>>2]=_[w+(t*36|0)+20>>2];_[se+136+20+4>>2]=_[w+(t*36|0)+20+4>>2];_[se+136+20+8>>2]=_[w+(t*36|0)+20+8>>2];_[se+136+20+12>>2]=_[w+(t*36|0)+20+12>>2];xg((_[e+56>>2]|0)+24|0,se+136|0);if(i|0){if(n[se+136+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[V>>2]=0}d=d+1|0;if((d|0)>=(O|0))break;else te=327}if(!((H|0)==0|(F|0)==0)){_[6294]=(_[6294]|0)+1;Mc(_[F+-4>>2]|0)}}while((c|0)!=0)}else{X=0;l=0}Z=_[e+56>>2]|0;_[Z+64>>2]=0;_[Z+64+4>>2]=0;_[Z+64+8>>2]=0;_[Z+64+12>>2]=0;i=_[Z+28>>2]|0;if((i|0)>0){K=0;o=0;c=0;O=0;F=0;t=0;f=0;H=0;w=0;p=0;D=0;j=0;k=0;S=0;d=0;while(1){R=_[Z+36>>2]|0;U=_[R+(K*36|0)+4>>2]|0;if((U|0)>0){N=K&65535;z=K|-65536;B=0;Q=H;V=w;i=R;P=d;while(1){q=B+1|0;e=_[i+(K*36|0)+12>>2]|0;w=_[e+(B<<2)>>2]&65535;B=_[e+(((q|0)==(U|0)?0:q)<<2)>>2]&65535;e=B<<16>>16>w<<16>>16?w:B;E=B<<16>>16>w<<16>>16?B:w;d=B<<16>>16>w<<16>>16?w:B;w=B<<16>>16>w<<16>>16?B:w;B=V+-1|0;e:do{if((((d&65535)<<16)+(w<<16>>16)&B)>>>0<O>>>0?(ie=_[c+((((d&65535)<<16)+(w<<16>>16)&B)<<2)>>2]|0,(ie|0)!=-1):0){i=ie;while(1){if(w<<16>>16==(r[o+(i<<2)>>1]|0)?d<<16>>16==(r[o+(i<<2)+2>>1]|0):0)break;i=_[f+(i<<2)>>2]|0;if((i|0)==-1){H=0;break e}}H=p+(i<<2)|0}else H=0}while(0);i=_[Z+16>>2]|0;C=+a[i+(d<<16>>16<<4)>>2]-+a[i+(w<<16>>16<<4)>>2];v=+a[i+(d<<16>>16<<4)+4>>2]-+a[i+(w<<16>>16<<4)+4>>2];y=+a[i+(d<<16>>16<<4)+8>>2]-+a[i+(w<<16>>16<<4)+8>>2];g=1.0/+W(+(C*C+v*v+y*y));i=_[Z+48>>2]|0;e:do{if((i|0)>0){w=_[Z+56>>2]|0;d=0;while(1){m=+a[w+(d<<4)>>2];h=+a[w+(d<<4)+8>>2];do{if(!(+G(+(m-C*g))>1.0e-06)){if(+G(+(+a[w+(d<<4)+4>>2]-v*g))>1.0e-06)break;if(!(+G(+(h-y*g))>1.0e-06))break e}}while(0);do{if(!(+G(+(C*g+m))>1.0e-06)){if(+G(+(v*g+ +a[w+(d<<4)+4>>2]))>1.0e-06)break;if(!(+G(+(y*g+h))>1.0e-06))break e}}while(0);d=d+1|0;if((d|0)>=(i|0)){te=367;break}}}else te=367}while(0);if((te|0)==367){te=0;do{if((i|0)==(_[Z+52>>2]|0)){R=i|0?i<<1:1;if((i|0)>=(R|0))break;if(!R)w=0;else{_[6293]=(_[6293]|0)+1;i=cc((R<<4|3)+16|0)|0;if(!i)i=0;else{_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}w=i;i=_[Z+48>>2]|0}if((i|0)>0){d=0;do{le=w+(d<<4)|0;fe=(_[Z+56>>2]|0)+(d<<4)|0;_[le>>2]=_[fe>>2];_[le+4>>2]=_[fe+4>>2];_[le+8>>2]=_[fe+8>>2];_[le+12>>2]=_[fe+12>>2];d=d+1|0}while((d|0)!=(i|0))}i=_[Z+56>>2]|0;if(i|0){if(n[Z+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[Z+56>>2]=0}n[Z+60>>0]=1;_[Z+56>>2]=w;_[Z+52>>2]=R;i=_[Z+48>>2]|0}}while(0);fe=_[Z+56>>2]|0;a[fe+(i<<4)>>2]=C*g;a[fe+(i<<4)+4>>2]=v*g;a[fe+(i<<4)+8>>2]=y*g;a[fe+(i<<4)+12>>2]=0.0;_[Z+48>>2]=(_[Z+48>>2]|0)+1}e:do{if(!H){H=((e&65535)<<16)+(E<<16>>16)&B;t:do{if(H>>>0<O>>>0){i=_[c+(H<<2)>>2]|0;if((i|0)==-1)break;while(1){if(E<<16>>16==(r[o+(i<<2)>>1]|0)?e<<16>>16==(r[o+(i<<2)+2>>1]|0):0)break;i=_[f+(i<<2)>>2]|0;if((i|0)==-1)break t}R=p+(i<<2)|0;r[R>>1]=z;r[R+2>>1]=z>>>16;R=F;H=Q;w=V;i=j;d=P;break e}}while(0);do{if((Q|0)==(V|0)){w=Q|0?Q<<1:1;if((Q|0)>=(w|0)){w=Q;break}do{if(!w)d=0;else{_[6293]=(_[6293]|0)+1;i=cc((w<<2|3)+16|0)|0;if(!i){d=0;break}_[(i+4+15&-16)+-4>>2]=i;d=i+4+15&-16}}while(0);if((Q|0)<=0){if(!p){p=d;break}}else{i=0;do{fe=d+(i<<2)|0;le=p+(i<<2)|0;le=s[le>>1]|s[le+2>>1]<<16;r[fe>>1]=le;r[fe+2>>1]=le>>>16;i=i+1|0}while((i|0)!=(Q|0))}_[6294]=(_[6294]|0)+1;Mc(_[p+-4>>2]|0);p=d}else w=V}while(0);B=p+(Q<<2)|0;r[B>>1]=z;r[B+2>>1]=z>>>16;B=Q+1|0;do{if((D|0)==(k|0)){k=D|0?D<<1:1;if((D|0)>=(k|0)){k=D;break}do{if(!k)i=0;else{_[6293]=(_[6293]|0)+1;i=cc((k<<2|3)+16|0)|0;if(!i){i=0;break}_[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}}while(0);if((D|0)<=0){if(!o){o=i;break}}else{d=0;do{fe=i+(d<<2)|0;le=o+(d<<2)|0;le=s[le>>1]|s[le+2>>1]<<16;r[fe>>1]=le;r[fe+2>>1]=le>>>16;d=d+1|0}while((d|0)!=(D|0))}_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0);o=i}}while(0);fe=o+(D<<2)|0;r[fe>>1]=(e&65535)<<16|E&65535;r[fe+2>>1]=((e&65535)<<16|E&65535)>>>16;D=D+1|0;if((V|0)<(w|0)){do{if((O|0)<(w|0)){do{if((j|0)<(w|0)){do{if(!w)d=0;else{_[6293]=(_[6293]|0)+1;i=cc((w<<2|3)+16|0)|0;if(!i){d=0;break}_[(i+4+15&-16)+-4>>2]=i;d=i+4+15&-16}}while(0);if((O|0)<=0){if(!c){c=d;H=w;P=d;break}}else{i=0;do{_[d+(i<<2)>>2]=_[c+(i<<2)>>2];i=i+1|0}while((i|0)!=(O|0))}_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0);c=d;H=w;P=d}else H=j}while(0);j=w<<2;Wj(c+(O<<2)|0,0,j-(O<<2)|0)|0;if((F|0)<(w|0)){do{if((t|0)<(w|0)){do{if(!w)d=0;else{_[6293]=(_[6293]|0)+1;i=cc((j|3)+16|0)|0;if(!i){d=0;break}_[(i+4+15&-16)+-4>>2]=i;d=i+4+15&-16}}while(0);if((F|0)<=0){if(!f){t=w;f=d;i=d;break}}else{i=0;do{_[d+(i<<2)>>2]=_[f+(i<<2)>>2];i=i+1|0}while((i|0)!=(F|0))}_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0);t=w;f=d;i=d}else i=S}while(0);Wj(f+(F<<2)|0,0,j-(F<<2)|0)|0;S=i}if((w|0)>0){Wj(P|0,-1,j|0)|0;Wj(S|0,-1,j|0)|0}if((O|0)<=0){O=w;R=w;i=H;d=P;break}d=w+-1|0;i=0;do{fe=c+(((s[o+(i<<2)+2>>1]<<16)+(r[o+(i<<2)>>1]|0)&d)<<2)|0;_[f+(i<<2)>>2]=_[fe>>2];_[fe>>2]=i;i=i+1|0}while((i|0)!=(O|0));O=w;R=w;i=H;d=P}else{R=F;i=j;d=P}}while(0);H=((e&65535)<<16)+(E<<16>>16)&w+-1}else{R=F;i=j;d=P}H=c+(H<<2)|0;_[f+(Q<<2)>>2]=_[H>>2];_[H>>2]=Q;H=B}else{r[H+2>>1]=N;R=F;H=Q;w=V;i=j;d=P}}while(0);if((q|0)>=(U|0))break;B=q;F=R;Q=H;V=w;j=i;i=_[Z+36>>2]|0;P=d}j=i;i=_[Z+28>>2]|0}else R=F;K=K+1|0;if((K|0)>=(i|0))break;else F=R}if((i|0)>0){j=_[Z+36>>2]|0;R=_[Z+16>>2]|0;S=0;m=0.0;do{t=_[j+(S*36|0)+4>>2]|0;w=_[j+(S*36|0)+12>>2]|0;k=_[w>>2]|0;if((t+-2|0)>=1){d=1;h=+a[Z+64>>2];y=+a[Z+68>>2];g=+a[Z+72>>2];do{le=_[w+(d<<2)>>2]|0;d=d+1|0;fe=_[w+(((d|0)%(t|0)|0)<<2)>>2]|0;C=+a[R+(k<<4)>>2];v=+a[R+(le<<4)>>2];I=+a[R+(k<<4)+4>>2];M=+a[R+(le<<4)+4>>2];A=+a[R+(k<<4)+8>>2];L=+a[R+(le<<4)+8>>2];x=+a[R+(fe<<4)>>2];T=+a[R+(fe<<4)+4>>2];ce=+a[R+(fe<<4)+8>>2];ae=+W(+(((C-v)*(I-T)-(I-M)*(C-x))*((C-v)*(I-T)-(I-M)*(C-x))+(((I-M)*(A-ce)-(A-L)*(I-T))*((I-M)*(A-ce)-(A-L)*(I-T))+((A-L)*(C-x)-(C-v)*(A-ce))*((A-L)*(C-x)-(C-v)*(A-ce)))))*.5;h=h+(C+v+x)*.3333333432674408*ae;a[Z+64>>2]=h;y=(I+M+T)*.3333333432674408*ae+y;a[Z+68>>2]=y;g=ae*(A+L+ce)*.3333333432674408+g;a[Z+72>>2]=g;m=m+ae}while((d|0)!=(t+-1|0))}S=S+1|0}while((S|0)!=(i|0));d=Z+64|0;w=o;t=c;o=1}else te=346}else{o=0;c=0;f=0;p=0;te=346}if((te|0)==346){m=0.0;d=Z+64|0;w=o;t=c;o=0}g=1.0/m;C=g*+a[d>>2];a[d>>2]=C;y=g*+a[Z+68>>2];a[Z+68>>2]=y;g=g*+a[Z+72>>2];a[Z+72>>2]=g;a[Z+96>>2]=3402823466385288598117041.0e14;if(o){c=_[Z+36>>2]|0;o=0;h=3402823466385288598117041.0e14;while(1){m=+G(+(+a[c+(o*36|0)+32>>2]+(+a[c+(o*36|0)+20>>2]*C+ +a[c+(o*36|0)+24>>2]*y+ +a[c+(o*36|0)+28>>2]*g)));if(m<h)a[Z+96>>2]=m;else m=h;o=o+1|0;if((o|0)>=(i|0)){x=m;break}else h=m}}else x=3402823466385288598117041.0e14;o=_[Z+8>>2]|0;if((o|0)>0){c=_[Z+16>>2]|0;i=0;C=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;g=-3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;h=3402823466385288598117041.0e14;m=3402823466385288598117041.0e14;do{ae=+a[c+(i<<4)>>2];m=ae<m?ae:m;g=ae>g?ae:g;ae=+a[c+(i<<4)+4>>2];h=ae<h?ae:h;v=ae>v?ae:v;ae=+a[c+(i<<4)+8>>2];y=ae<y?ae:y;C=ae>C?ae:C;i=i+1|0}while((i|0)!=(o|0))}else{C=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;g=-3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;h=3402823466385288598117041.0e14;m=3402823466385288598117041.0e14}a[Z+100>>2]=m+g;a[Z+104>>2]=h+v;a[Z+108>>2]=y+C;a[Z+112>>2]=0.0;ae=g-m;m=v-h;h=C-y;a[Z+116>>2]=ae;a[Z+120>>2]=m;a[Z+124>>2]=h;a[Z+128>>2]=0.0;y=x/1.7320507764816284;d=+a[Z+116+((ae<m&1)<<2)>>2]<h?2:ae<m&1;m=(+a[Z+116+(d<<2)>>2]*.5-y)*.0009765625;a[Z+88>>2]=y;a[Z+84>>2]=y;a[Z+80>>2]=y;h=+a[Z+116+(d<<2)>>2]*.5;a[Z+80+(d<<2)>>2]=h;i=0;while(1){if(sg(Z)|0){te=452;break}h=h-m;a[Z+80+(d<<2)>>2]=h;i=i+1|0;if((i|0)>=1024){te=451;break}}e:do{if((te|0)==451){a[Z+88>>2]=y;a[Z+84>>2]=y;a[Z+80>>2]=y}else if((te|0)==452){m=(+a[Z+96>>2]-y)*.0009765625;i=0;c=_[Z+80+((1<<(1<<d&3)&3)<<2)>>2]|0;while(1){o=_[Z+80+((1<<d&3)<<2)>>2]|0;a[Z+80+((1<<d&3)<<2)>>2]=m+(_[b>>2]=o,+a[b>>2]);h=m+ +a[Z+80+((1<<(1<<d&3)&3)<<2)>>2];a[Z+80+((1<<(1<<d&3)&3)<<2)>>2]=h;i=i+1|0;if(!(sg(Z)|0))break;if((i|0)>=1024)break e;else c=(a[b>>2]=h,_[b>>2]|0)}_[Z+80+((1<<d&3)<<2)>>2]=o;_[Z+80+((1<<(1<<d&3)&3)<<2)>>2]=c}}while(0);if(w|0){_[6294]=(_[6294]|0)+1;Mc(_[w+-4>>2]|0)}if(p|0){_[6294]=(_[6294]|0)+1;Mc(_[p+-4>>2]|0)}if(f|0){_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0)}if(t|0){_[6294]=(_[6294]|0)+1;Mc(_[t+-4>>2]|0)}if(!((l|0)==0|(X|0)==0)){_[6294]=(_[6294]|0)+1;Mc(_[X+-4>>2]|0)}p=_[J>>2]|0;d=_[$>>2]|0;if((p|0)<=0){if(d|0)te=473}else{i=0;do{c=d+(i*36|0)+4|0;l=d+(i*36|0)+12|0;f=_[l>>2]|0;o=d+(i*36|0)+16|0;if(f|0){if(n[o>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0)}_[l>>2]=0}n[o>>0]=1;_[l>>2]=0;_[c>>2]=0;_[d+(i*36|0)+8>>2]=0;i=i+1|0}while((i|0)!=(p|0));te=473}if((te|0)==473){if(n[se+56+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[d+-4>>2]|0)}_[$>>2]=0}if(!((ee|0)==0|(Y|0)==0)){_[6294]=(_[6294]|0)+1;Mc(_[Y+-4>>2]|0)}i=_[ne>>2]|0;if(i|0){if(n[se+76+56>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[ne>>2]=0}n[se+76+56>>0]=1;_[ne>>2]=0;_[se+76+44>>2]=0;_[se+76+48>>2]=0;i=_[re>>2]|0;if(i|0){if(n[se+76+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[re>>2]=0}n[se+76+36>>0]=1;_[re>>2]=0;_[se+76+24>>2]=0;_[se+76+28>>2]=0;i=_[_e>>2]|0;if(i|0){if(n[se+76+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[i+-4>>2]|0)}_[_e>>2]=0}if(!oe){u=se;return 1}_[6294]=(_[6294]|0)+1;Mc(_[oe+-4>>2]|0);u=se;return 1}function _b(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var s=0.0,c=0,l=0,f=0,b=0,p=0.0,d=0.0,m=0.0,h=0.0,y=0,g=0,C=0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0,F=0,B=0,L=0,V=0.0,E=0.0,q=0.0,Q=0,z=0.0,N=0.0,U=0.0,K=0,Z=0.0,X=0.0,J=0.0,Y=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,re=0.0,_e=0.0,oe=0.0,se=0.0,ce=0,ae=0,le=0.0,fe=0.0,be=0.0,pe=0,ue=0.0,de=0,me=0,he=0,ye=0,ge=0;ge=u;u=u+1072|0;c=_[e+56>>2]|0;if(!c){c=_[e+4>>2]|0;c=xa[_[(_[c>>2]|0)+12>>2]&63](c,_[t+8>>2]|0,_[i+8>>2]|0)|0;_[e+56>>2]=c;n[e+52>>0]=1}_[o+4>>2]=c;he=_[t+4>>2]|0;de=_[i+4>>2]|0;e:do{switch(_[he+4>>2]|0){case 10:switch(_[de+4>>2]|0){case 10:{ue=+a[c+784>>2];ye=_[he+56>>2]|0;e=_[de+56>>2]|0;s=+xf(ge+640|0,ge+624|0,+a[he+32+(ye<<2)>>2],+a[he+32+(((ye+2|0)%3|0)<<2)>>2],+a[de+32+(e<<2)>>2],+a[de+32+(((e+2|0)%3|0)<<2)>>2],ye,e,_[t+12>>2]|0,_[i+12>>2]|0,ue);if(s<ue)Ka[_[(_[o>>2]|0)+16>>2]&15](o,ge+640|0,ge+624|0,s);l=_[o+4>>2]|0;if(!(_[l+780>>2]|0)){u=ge;return}f=_[l+772>>2]|0;b=_[(_[o+8>>2]|0)+8>>2]|0;c=_[(_[o+12>>2]|0)+8>>2]|0;if((f|0)==(b|0)){xe(l,f+4|0,c+4|0);u=ge;return}else{xe(l,c+4|0,b+4|0);u=ge;return}}case 8:{ue=+a[c+784>>2];e=_[he+56>>2]|0;s=+xf(ge+640|0,ge+624|0,+a[he+32+(e<<2)>>2],+a[he+32+(((e+2|0)%3|0)<<2)>>2],0.0,+a[de+32>>2]*+a[de+16>>2],e,1,_[t+12>>2]|0,_[i+12>>2]|0,ue);if(s<ue)Ka[_[(_[o>>2]|0)+16>>2]&15](o,ge+640|0,ge+624|0,s);l=_[o+4>>2]|0;if(!(_[l+780>>2]|0)){u=ge;return}f=_[l+772>>2]|0;b=_[(_[o+8>>2]|0)+8>>2]|0;c=_[(_[o+12>>2]|0)+8>>2]|0;if((f|0)==(b|0)){xe(l,f+4|0,c+4|0);u=ge;return}else{xe(l,c+4|0,b+4|0);u=ge;return}}default:{f=de+4|0;break e}}case 8:{if((_[de+4>>2]|0)==10){ue=+a[c+784>>2];e=_[de+56>>2]|0;s=+xf(ge+640|0,ge+624|0,0.0,+a[he+32>>2]*+a[he+16>>2],+a[de+32+(e<<2)>>2],+a[de+32+(((e+2|0)%3|0)<<2)>>2],1,e,_[t+12>>2]|0,_[i+12>>2]|0,ue);if(s<ue)Ka[_[(_[o>>2]|0)+16>>2]&15](o,ge+640|0,ge+624|0,s);l=_[o+4>>2]|0;if(!(_[l+780>>2]|0)){u=ge;return}f=_[l+772>>2]|0;b=_[(_[o+8>>2]|0)+8>>2]|0;c=_[(_[o+12>>2]|0)+8>>2]|0;if((f|0)==(b|0)){xe(l,f+4|0,c+4|0);u=ge;return}else{xe(l,c+4|0,b+4|0);u=ge;return}}else f=de+4|0;break}default:f=de+4|0}}while(0);a[ge+488+128>>2]=999999984306749440.0;a[ge+128+308>>2]=9.999999747378752e-05;n[ge+128+332>>0]=0;c=_[e+8>>2]|0;_[ge+48>>2]=8876;_[ge+48+4>>2]=0;_[ge+48+8>>2]=1065353216;_[ge+48+12>>2]=0;a[ge+48+16>>2]=0.0;_[ge+48+20>>2]=c;_[ge+48+24>>2]=ge+128;_[ge+48+28>>2]=he;_[ge+48+32>>2]=de;_[ge+48+36>>2]=_[he+4>>2];_[ge+48+40>>2]=_[f>>2];a[ge+48+44>>2]=+Da[_[(_[he>>2]|0)+48>>2]&15](he);a[ge+48+48>>2]=+Da[_[(_[de>>2]|0)+48>>2]&15](de);n[ge+48+52>>0]=0;_[ge+48+60>>2]=-1;_[ge+48+72>>2]=1;_[ge+48+76>>2]=1;_[ge+48+28>>2]=he;_[ge+48+32>>2]=de;be=+Da[_[(_[he>>2]|0)+48>>2]&15](he);ue=+Da[_[(_[de>>2]|0)+48>>2]&15](de);ue=be+ue+ +a[(_[e+56>>2]|0)+784>>2]+ +a[o+32>>2];a[ge+488+128>>2]=ue*ue;c=_[t+12>>2]|0;_[ge+488>>2]=_[c>>2];_[ge+488+4>>2]=_[c+4>>2];_[ge+488+8>>2]=_[c+8>>2];_[ge+488+12>>2]=_[c+12>>2];b=ge+488+16|0;_[b>>2]=_[c+16>>2];_[b+4>>2]=_[c+16+4>>2];_[b+8>>2]=_[c+16+8>>2];_[b+12>>2]=_[c+16+12>>2];y=ge+488+32|0;_[y>>2]=_[c+32>>2];_[y+4>>2]=_[c+32+4>>2];_[y+8>>2]=_[c+32+8>>2];_[y+12>>2]=_[c+32+12>>2];g=ge+488+48|0;_[g>>2]=_[c+48>>2];_[g+4>>2]=_[c+48+4>>2];_[g+8>>2]=_[c+48+8>>2];_[g+12>>2]=_[c+48+12>>2];c=_[i+12>>2]|0;C=ge+488+64|0;_[C>>2]=_[c>>2];_[C+4>>2]=_[c+4>>2];_[C+8>>2]=_[c+8>>2];_[C+12>>2]=_[c+12>>2];H=ge+488+80|0;_[H>>2]=_[c+16>>2];_[H+4>>2]=_[c+16+4>>2];_[H+8>>2]=_[c+16+8>>2];_[H+12>>2]=_[c+16+12>>2];F=ge+488+96|0;_[F>>2]=_[c+32>>2];_[F+4>>2]=_[c+32+4>>2];_[F+8>>2]=_[c+32+8>>2];_[F+12>>2]=_[c+32+12>>2];B=ge+488+112|0;_[B>>2]=_[c+48>>2];_[B+4>>2]=_[c+48+4>>2];_[B+8>>2]=_[c+48+8>>2];_[B+12>>2]=_[c+48+12>>2];c=_[he+4>>2]|0;if((c|0)<7?(l=_[f>>2]|0,(l|0)<7):0){_[ge+40>>2]=9452;if(!c){c=l;p=0.0}else{p=+Da[_[(_[he>>2]|0)+48>>2]&15](he);c=_[f>>2]|0}if(!c)s=0.0;else s=+Da[_[(_[de>>2]|0)+48>>2]&15](de);_[ge>>2]=9480;_[ge+4>>2]=o;a[ge+24>>2]=p;a[ge+28>>2]=s;n[ge+36>>0]=0;ce=_[he+56>>2]|0;e:do{if(ce|0){ae=_[de+56>>2]|0;do{if(!ae){if((_[f>>2]|0)!=1)break e;g=ge+1e3+16|0;n[g>>0]=1;C=ge+1e3+12|0;_[C>>2]=0;y=ge+1e3+4|0;_[y>>2]=0;b=ge+1e3+8|0;_[b>>2]=0;c=_[i+12>>2]|0;be=+a[de+60>>2];ue=+a[de+60+4>>2];d=+a[de+60+8>>2];s=be*+a[c>>2]+ue*+a[c+4>>2]+d*+a[c+8>>2]+ +a[c+48>>2];p=be*+a[c+16>>2]+ue*+a[c+20>>2]+d*+a[c+24>>2]+ +a[c+52>>2];d=be*+a[c+32>>2]+ue*+a[c+36>>2]+d*+a[c+40>>2]+ +a[c+56>>2];_[6293]=(_[6293]|0)+1;c=cc(35)|0;if(!c)l=0;else{_[(c+4+15&-16)+-4>>2]=c;l=c+4+15&-16}c=_[C>>2]|0;if(!c)c=0;else{_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0);c=_[y>>2]|0;_[C>>2]=0}n[g>>0]=1;_[C>>2]=l;_[b>>2]=1;a[l+(c<<4)>>2]=s;a[l+(c<<4)+4>>2]=p;a[l+(c<<4)+8>>2]=d;a[l+(c<<4)+12>>2]=0.0;c=(_[y>>2]|0)+1|0;_[y>>2]=c;ye=_[i+12>>2]|0;be=+a[de+60+16>>2];ue=+a[de+60+20>>2];d=+a[de+60+24>>2];s=be*+a[ye>>2]+ue*+a[ye+4>>2]+d*+a[ye+8>>2]+ +a[ye+48>>2];p=be*+a[ye+16>>2]+ue*+a[ye+20>>2]+d*+a[ye+24>>2]+ +a[ye+52>>2];d=be*+a[ye+32>>2]+ue*+a[ye+36>>2]+d*+a[ye+40>>2]+ +a[ye+56>>2];if((c|0)==(_[b>>2]|0)?(L=c|0?c<<1:1,(c|0)<(L|0)):0){if(!L)f=0;else{_[6293]=(_[6293]|0)+1;c=cc((L<<4|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}f=c;c=_[y>>2]|0}if((c|0)>0){l=0;do{ye=f+(l<<4)|0;me=(_[C>>2]|0)+(l<<4)|0;_[ye>>2]=_[me>>2];_[ye+4>>2]=_[me+4>>2];_[ye+8>>2]=_[me+8>>2];_[ye+12>>2]=_[me+12>>2];l=l+1|0}while((l|0)!=(c|0))}c=_[C>>2]|0;if(c|0){if(n[g>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[C>>2]=0}n[g>>0]=1;_[C>>2]=f;_[b>>2]=L;c=_[y>>2]|0}ye=_[C>>2]|0;a[ye+(c<<4)>>2]=s;a[ye+(c<<4)+4>>2]=p;a[ye+(c<<4)+8>>2]=d;a[ye+(c<<4)+12>>2]=0.0;c=(_[y>>2]|0)+1|0;_[y>>2]=c;i=_[i+12>>2]|0;be=+a[de+60+32>>2];ue=+a[de+60+36>>2];d=+a[de+60+40>>2];s=be*+a[i>>2]+ue*+a[i+4>>2]+d*+a[i+8>>2]+ +a[i+48>>2];p=be*+a[i+16>>2]+ue*+a[i+20>>2]+d*+a[i+24>>2]+ +a[i+52>>2];d=be*+a[i+32>>2]+ue*+a[i+36>>2]+d*+a[i+40>>2]+ +a[i+56>>2];if((c|0)==(_[b>>2]|0)?(Q=c|0?c<<1:1,(c|0)<(Q|0)):0){if(!Q)f=0;else{_[6293]=(_[6293]|0)+1;c=cc((Q<<4|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}f=c;c=_[y>>2]|0}if((c|0)>0){l=0;do{i=f+(l<<4)|0;ye=(_[C>>2]|0)+(l<<4)|0;_[i>>2]=_[ye>>2];_[i+4>>2]=_[ye+4>>2];_[i+8>>2]=_[ye+8>>2];_[i+12>>2]=_[ye+12>>2];l=l+1|0}while((l|0)!=(c|0))}c=_[C>>2]|0;if(c|0){if(n[g>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[C>>2]=0}n[g>>0]=1;_[C>>2]=f;_[b>>2]=Q;c=_[y>>2]|0}i=_[C>>2]|0;a[i+(c<<4)>>2]=s;a[i+(c<<4)+4>>2]=p;a[i+(c<<4)+8>>2]=d;a[i+(c<<4)+12>>2]=0.0;_[y>>2]=(_[y>>2]|0)+1;m=+a[(_[e+56>>2]|0)+784>>2];tc(ge+48|0,ge+488|0,ge+40|0,_[r+20>>2]|0,0);s=+a[ge+48+4>>2];p=+a[ge+48+8>>2];d=+a[ge+48+12>>2];if(s*s+p*p+d*d>1.1920928955078125e-07){ue=1.0/(s*s+p*p+d*d);a[ge+760>>2]=s*ue;a[ge+760+4>>2]=p*ue;a[ge+760+8>>2]=d*ue;a[ge+760+12>>2]=0.0;ue=+a[ge+48+56>>2];s=+Da[_[(_[he>>2]|0)+48>>2]&15](he);s=ue-s-+Da[_[(_[de>>2]|0)+48>>2]&15](de);c=_[e+36>>2]|0;if((c|0)<0){if((_[e+40>>2]|0)<0){l=_[e+44>>2]|0;if(l|0){if(n[e+48>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[l+-4>>2]|0)}_[e+44>>2]=0}n[e+48>>0]=1;_[e+44>>2]=0;_[e+40>>2]=0}do{i=(_[e+44>>2]|0)+(c<<4)|0;_[i>>2]=_[ge+744>>2];_[i+4>>2]=_[ge+744+4>>2];_[i+8>>2]=_[ge+744+8>>2];_[i+12>>2]=_[ge+744+12>>2];c=c+1|0}while((c|0)!=0)}_[e+36>>2]=0;Ac(ge+760|0,_[he+56>>2]|0,_[t+12>>2]|0,ge+1e3|0,e+32|0,s-m,m,o)}do{if(n[e+52>>0]|0?(K=_[o+4>>2]|0,_[K+780>>2]|0):0){l=_[K+772>>2]|0;f=_[(_[o+8>>2]|0)+8>>2]|0;c=_[(_[o+12>>2]|0)+8>>2]|0;if((l|0)==(f|0)){xe(K,l+4|0,c+4|0);break}else{xe(K,c+4|0,f+4|0);break}}}while(0);c=_[C>>2]|0;if(c|0){if(n[g>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[C>>2]=0}}else{ue=+a[(_[e+56>>2]|0)+784>>2];t:do{if(!(n[r+24>>0]|0)){tc(ge+48|0,ge+488|0,ge,_[r+20>>2]|0,0);s=+a[ge+32>>2];if(s<0.0&(n[ge+36>>0]|0)!=0){p=+a[ge+8>>2];d=+a[ge+12>>2];m=+a[ge+16>>2];f=_[ge+20>>2]|0;pe=107}}else{C=_[t+12>>2]|0;H=_[i+12>>2]|0;_[6292]=(_[6292]|0)+1;ne=+a[ce+64>>2];re=+a[ce+68>>2];h=+a[C+4>>2];_e=+a[ce+72>>2];v=+a[C+8>>2];k=+a[C+16>>2];j=+a[C+20>>2];x=+a[C+24>>2];I=+a[C+32>>2];R=+a[C+36>>2];S=+a[C+40>>2];oe=+a[ae+64>>2];se=+a[ae+68>>2];be=+a[ae+72>>2];le=ne*+a[C>>2]+re*h+_e*v+ +a[C+48>>2]-(oe*+a[H>>2]+se*+a[H+4>>2]+be*+a[H+8>>2]+ +a[H+48>>2]);fe=ne*k+re*j+_e*x+ +a[C+52>>2]-(oe*+a[H+16>>2]+se*+a[H+20>>2]+be*+a[H+24>>2]+ +a[H+52>>2]);be=ne*I+re*R+_e*S+ +a[C+56>>2]-(oe*+a[H+32>>2]+se*+a[H+36>>2]+be*+a[H+40>>2]+ +a[H+56>>2]);f=_[ce+28>>2]|0;i:do{if((f|0)>0){s=3402823466385288598117041.0e14;c=0;w=0.0;p=0.0;d=0.0;m=0.0;M=k;while(1){r=_[ce+36>>2]|0;_e=+a[r+(c*36|0)+20>>2];oe=+a[r+(c*36|0)+24>>2];se=+a[r+(c*36|0)+28>>2];k=_e*+a[C>>2]+oe*h+se*v;v=_e*M+oe*j+se*x;h=_e*I+oe*R+se*S;a[ge+656>>2]=k;a[ge+656+4>>2]=v;a[ge+656+8>>2]=h;a[ge+656+12>>2]=0.0;if(le*k+fe*v+be*h<0.0){a[ge+656>>2]=-k;a[ge+656+4>>2]=-v;a[ge+656+8>>2]=-h;x=-k;v=-v;h=-h}else x=k;_[6290]=(_[6290]|0)+1;if(Nh(C,H,le,fe,be,x,v,h,ce,ae,s)|0){_[6291]=(_[6291]|0)+1;qg(ce,C,ge+656|0,ge+1e3|0,ge+760|0,ge+720|0,ge+704|0);qg(ae,H,ge+656|0,ge+744|0,ge+736|0,ge+688|0,ge+672|0);k=+a[ge+760>>2];S=+a[ge+744>>2];do{if(k<S)l=0;else{j=+a[ge+736>>2];R=+a[ge+1e3>>2];if(j<R){l=0;break}l=1;w=k-S<j-R?k-S:j-R}}while(0);if(!l)break;if(w<s){s=w;p=x;d=v;m=h}}c=c+1|0;if((c|0)>=(f|0))break i;h=+a[C+4>>2];v=+a[C+8>>2];M=+a[C+16>>2];j=+a[C+20>>2];x=+a[C+24>>2];I=+a[C+32>>2];R=+a[C+36>>2];S=+a[C+40>>2]}break t}else{s=3402823466385288598117041.0e14;p=0.0;d=0.0;m=0.0}}while(0);f=_[ae+28>>2]|0;i:do{if((f|0)>0){l=0;k=0.0;while(1){r=_[ae+36>>2]|0;oe=+a[r+(l*36|0)+20>>2];se=+a[r+(l*36|0)+24>>2];w=+a[r+(l*36|0)+28>>2];h=oe*+a[H>>2]+se*+a[H+4>>2]+w*+a[H+8>>2];v=oe*+a[H+16>>2]+se*+a[H+20>>2]+w*+a[H+24>>2];w=oe*+a[H+32>>2]+se*+a[H+36>>2]+w*+a[H+40>>2];a[ge+656>>2]=h;a[ge+656+4>>2]=v;a[ge+656+8>>2]=w;a[ge+656+12>>2]=0.0;if(le*h+fe*v+be*w<0.0){a[ge+656>>2]=-h;a[ge+656+4>>2]=-v;a[ge+656+8>>2]=-w;h=-h;v=-v;w=-w}_[6290]=(_[6290]|0)+1;if(Nh(C,H,le,fe,be,h,v,w,ce,ae,s)|0){_[6291]=(_[6291]|0)+1;qg(ce,C,ge+656|0,ge+1e3|0,ge+760|0,ge+720|0,ge+704|0);qg(ae,H,ge+656|0,ge+744|0,ge+736|0,ge+688|0,ge+672|0);S=+a[ge+760>>2];j=+a[ge+744>>2];do{if(S<j)c=0;else{R=+a[ge+736>>2];x=+a[ge+1e3>>2];if(R<x){c=0;break}c=1;k=S-j<R-x?S-j:R-x}}while(0);if(!c)break;if(k<s){s=k;p=h;d=v;m=w}}l=l+1|0;if((l|0)>=(f|0))break i}break t}}while(0);c=_[ce+48>>2]|0;i:do{if((c|0)>0){g=0;l=-1;b=-1;w=0.0;j=0.0;O=0.0;S=0.0;T=0.0;M=0.0;D=0.0;k=0.0;R=0.0;x=0.0;v=0.0;h=0.0;I=0.0;U=0.0;N=0.0;z=0.0;q=0.0;E=0.0;V=0.0;f=_[ae+48>>2]|0;n:while(1){r=_[ce+56>>2]|0;ne=+a[r+(g<<4)>>2];re=+a[r+(g<<4)+4>>2];se=+a[r+(g<<4)+8>>2];_e=ne*+a[C>>2]+re*+a[C+4>>2]+se*+a[C+8>>2];oe=ne*+a[C+16>>2]+re*+a[C+20>>2]+se*+a[C+24>>2];se=ne*+a[C+32>>2]+re*+a[C+36>>2]+se*+a[C+40>>2];if((f|0)>0){y=0;te=w;re=p;ne=d;ie=m;ee=k;$=R;Y=x;J=I;while(1){r=_[ae+56>>2]|0;R=+a[r+(y<<4)>>2];x=+a[r+(y<<4)+4>>2];X=+a[r+(y<<4)+8>>2];I=R*+a[H>>2]+x*+a[H+4>>2]+X*+a[H+8>>2];Z=R*+a[H+16>>2]+x*+a[H+20>>2]+X*+a[H+24>>2];X=R*+a[H+32>>2]+x*+a[H+36>>2]+X*+a[H+40>>2];a[ge+656>>2]=oe*X-se*Z;a[ge+656+4>>2]=se*I-_e*X;a[ge+656+8>>2]=_e*Z-oe*I;a[ge+656+12>>2]=0.0;do{if(!(+G(+(oe*X-se*Z))>1.0e-06)){if(+G(+(se*I-_e*X))>1.0e-06){pe=71;break}if(!(+G(+(_e*Z-oe*I))>1.0e-06)){w=te;p=re;d=ne;m=ie;I=J;x=Y;R=$;k=ee}else pe=71}else pe=71}while(0);do{if((pe|0)==71){pe=0;m=1.0/+W(+((oe*X-se*Z)*(oe*X-se*Z)+(se*I-_e*X)*(se*I-_e*X)+(_e*Z-oe*I)*(_e*Z-oe*I)));p=(oe*X-se*Z)*m;a[ge+656>>2]=p;d=(se*I-_e*X)*m;a[ge+656+4>>2]=d;m=(_e*Z-oe*I)*m;a[ge+656+8>>2]=m;if(p*le+d*fe+be*m<0.0){a[ge+656>>2]=-p;a[ge+656+4>>2]=-d;a[ge+656+8>>2]=-m;p=-p;d=-d;m=-m}_[6290]=(_[6290]|0)+1;if(!(Nh(C,H,le,fe,be,p,d,m,ce,ae,s)|0)){w=te;p=re;d=ne;m=ie;I=J;x=Y;R=$;k=ee;break}_[6291]=(_[6291]|0)+1;qg(ce,C,ge+656|0,ge+1e3|0,ge+760|0,ge+720|0,ge+704|0);qg(ae,H,ge+656|0,ge+744|0,ge+736|0,ge+688|0,ge+672|0);w=+a[ge+760>>2];k=+a[ge+744>>2];do{if(!(w<k)){R=+a[ge+736>>2];x=+a[ge+1e3>>2];if(R<x){c=0;w=te;x=Y;R=$;k=ee;break}if(w-k<R-x){c=1;w=w-k;z=+a[ge+688>>2];N=+a[ge+688+4>>2];U=+a[ge+688+8>>2];x=+a[ge+704>>2];R=+a[ge+704+4>>2];k=+a[ge+704+8>>2];break}else{c=1;w=R-x;z=+a[ge+672>>2];N=+a[ge+672+4>>2];U=+a[ge+672+8>>2];x=+a[ge+720>>2];R=+a[ge+720+4>>2];k=+a[ge+720+8>>2];break}}else{c=0;w=te;x=Y;R=$;k=ee}}while(0);if(!c)break n;if(!(w<s)){p=re;d=ne;m=ie;I=J;break}s=w;l=y;b=g;j=I;O=_e;S=Z;T=oe;M=X;D=se;V=z;E=N;q=U;I=x;h=R;v=k}}while(0);y=y+1|0;f=_[ae+48>>2]|0;if((y|0)>=(f|0))break;else{te=w;re=p;ne=d;ie=m;ee=k;$=R;Y=x;J=I}}c=_[ce+48>>2]|0}g=g+1|0;if((g|0)>=(c|0)){c=b;s=I;break i}}break t}else{l=-1;c=-1;v=0.0;h=0.0;s=0.0;q=0.0;E=0.0;V=0.0;j=0.0;O=0.0;S=0.0;T=0.0;M=0.0;D=0.0}}while(0);if((l|c|0)>-1){R=V-s;x=E-h;I=q-v;w=j*O+S*T+M*D;k=R*O+x*T+I*D;h=R*j+x*S+I*M;if(!(1.0-w*w==0.0))if(!((k-h*w)/(1.0-w*w)<-1000000015047466219876688.0e6))if((k-h*w)/(1.0-w*w)>1000000015047466219876688.0e6){s=1000000015047466219876688.0e6;pe=90}else v=(k-h*w)/(1.0-w*w);else{s=-1000000015047466219876688.0e6;pe=90}else{s=0.0;pe=90}if((pe|0)==90)v=s;s=w*v-h;do{if(s<-1000000015047466219876688.0e6){if(k-w*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){s=-1000000015047466219876688.0e6;h=-1000000015047466219876688.0e6;break}if(!(k-w*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){s=-1000000015047466219876688.0e6;h=k-w*1000000015047466219876688.0e6;break}s=-1000000015047466219876688.0e6;h=1000000015047466219876688.0e6}else{if(!(s>1000000015047466219876688.0e6)){h=v;break}if(k+w*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){s=1000000015047466219876688.0e6;h=-1000000015047466219876688.0e6;break}if(!(k+w*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){s=1000000015047466219876688.0e6;h=k+w*1000000015047466219876688.0e6;break}s=1000000015047466219876688.0e6;h=1000000015047466219876688.0e6}}while(0);j=j*s;S=S*s;k=M*s;w=j+(R-O*h);v=S+(x-T*h);s=k+(I-D*h);a[ge+1e3>>2]=w;a[ge+1e3+4>>2]=v;a[ge+1e3+8>>2]=s;a[ge+1e3+12>>2]=0.0;if(w*w+v*v+s*s>1.1920928955078125e-07){h=+W(+(w*w+v*v+s*s));a[ge+1e3>>2]=w*(1.0/h);a[ge+1e3+4>>2]=1.0/h*v;a[ge+1e3+8>>2]=1.0/h*s;if(w*(1.0/h)*le+1.0/h*v*fe+1.0/h*s*be<0.0){a[ge+1e3>>2]=-(w*(1.0/h));a[ge+1e3+4>>2]=-(1.0/h*v);a[ge+1e3+8>>2]=-(1.0/h*s)}a[ge+760>>2]=V+j;a[ge+760+4>>2]=E+S;a[ge+760+8>>2]=q+k;a[ge+760+12>>2]=0.0;Ka[_[(_[o>>2]|0)+16>>2]&15](o,ge+1e3|0,ge+760|0,-h)}}if(le*p+fe*d+be*m<0.0){s=-1000000015047466219876688.0e6;p=-p;d=-d;m=-m;f=0;pe=107}else{s=-1000000015047466219876688.0e6;f=0;pe=107}}}while(0);if((pe|0)==107){c=_[e+16>>2]|0;if((c|0)<0){if((_[e+20>>2]|0)<0){l=_[e+24>>2]|0;if(l|0){if(n[e+28>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[l+-4>>2]|0)}_[e+24>>2]=0}n[e+28>>0]=1;_[e+24>>2]=0;_[e+20>>2]=0}do{pe=(_[e+24>>2]|0)+(c<<4)|0;_[pe>>2]=_[ge+1e3>>2];_[pe+4>>2]=_[ge+1e3+4>>2];_[pe+8>>2]=_[ge+1e3+8>>2];_[pe+12>>2]=_[ge+1e3+12>>2];c=c+1|0}while((c|0)!=0)}_[e+16>>2]=0;L=_[he+56>>2]|0;B=_[de+56>>2]|0;F=_[t+12>>2]|0;H=_[i+12>>2]|0;O=s-ue;M=1.0/+W(+(p*p+d*d+m*m));T=p*M;D=d*M;M=m*M;a[ge+1e3>>2]=T;a[ge+1e3+4>>2]=D;a[ge+1e3+8>>2]=M;_[ge+1e3+12>>2]=f;l=_[B+28>>2]|0;if((l|0)>0){f=_[B+36>>2]|0;p=+a[H>>2];d=+a[H+4>>2];m=+a[H+8>>2];h=+a[H+16>>2];v=+a[H+20>>2];w=+a[H+24>>2];k=+a[H+32>>2];S=+a[H+36>>2];j=+a[H+40>>2];s=-3402823466385288598117041.0e14;c=0;g=-1;while(1){R=+a[f+(c*36|0)+20>>2];x=+a[f+(c*36|0)+24>>2];I=+a[f+(c*36|0)+28>>2];b=(R*p+x*d+I*m)*T+(R*h+x*v+I*w)*D+(R*k+x*S+I*j)*M>s;g=b?c:g;c=c+1|0;if((c|0)==(l|0))break;else s=b?(R*p+x*d+I*m)*T+(R*h+x*v+I*w)*D+(R*k+x*S+I*j)*M:s}}else g=-1;c=_[B+36>>2]|0;_[e+16>>2]=0;C=_[c+(g*36|0)+4>>2]|0;if((C|0)>0){y=c+(g*36|0)+12|0;b=0;l=0;do{t=_[(_[y>>2]|0)+(b<<2)>>2]|0;i=_[B+16>>2]|0;fe=+a[i+(t<<4)>>2];be=+a[i+(t<<4)+4>>2];d=+a[i+(t<<4)+8>>2];s=fe*+a[H>>2]+be*+a[H+4>>2]+d*+a[H+8>>2]+ +a[H+48>>2];p=fe*+a[H+16>>2]+be*+a[H+20>>2]+d*+a[H+24>>2]+ +a[H+52>>2];d=fe*+a[H+32>>2]+be*+a[H+36>>2]+d*+a[H+40>>2]+ +a[H+56>>2];if((l|0)==(_[e+20>>2]|0)?(me=l|0?l<<1:1,(l|0)<(me|0)):0){if(!me)c=0;else{_[6293]=(_[6293]|0)+1;c=cc((me<<4|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}l=_[e+16>>2]|0}if((l|0)>0){f=0;do{t=c+(f<<4)|0;i=(_[e+24>>2]|0)+(f<<4)|0;_[t>>2]=_[i>>2];_[t+4>>2]=_[i+4>>2];_[t+8>>2]=_[i+8>>2];_[t+12>>2]=_[i+12>>2];f=f+1|0}while((f|0)!=(l|0))}l=_[e+24>>2]|0;if(l|0){if(n[e+28>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[l+-4>>2]|0)}_[e+24>>2]=0}n[e+28>>0]=1;_[e+24>>2]=c;_[e+20>>2]=me;c=_[e+16>>2]|0}else c=l;l=_[e+24>>2]|0;a[l+(c<<4)>>2]=s;a[l+(c<<4)+4>>2]=p;a[l+(c<<4)+8>>2]=d;a[l+(c<<4)+12>>2]=0.0;l=(_[e+16>>2]|0)+1|0;_[e+16>>2]=l;b=b+1|0}while((b|0)!=(C|0))}if((g|0)>-1)Ac(ge+1e3|0,L,F,e+12|0,e+32|0,O,ue,o)}if(n[e+52>>0]|0?(ye=_[o+4>>2]|0,_[ye+780>>2]|0):0){l=_[ye+772>>2]|0;f=_[(_[o+8>>2]|0)+8>>2]|0;c=_[(_[o+12>>2]|0)+8>>2]|0;if((l|0)==(f|0)){xe(ye,l+4|0,c+4|0);break}else{xe(ye,c+4|0,f+4|0);break}}}}while(0);u=ge;return}}while(0)}tc(ge+48|0,ge+488|0,o,_[r+20>>2]|0,0);if((_[e+64>>2]|0?(_[(_[o+4>>2]|0)+780>>2]|0)<(_[e+68>>2]|0):0)?(O=+a[ge+48+4>>2],V=+a[ge+48+8>>2],E=+a[ge+48+12>>2],O*O+V*V+E*E>1.1920928955078125e-07):0){T=1.0/(O*O+V*V+E*E);if(+G(+(E*T))>.7071067690849304){D=1.0/+W(+(E*T*E*T+V*T*V*T));I=0.0;M=V*T*D;D=-(E*T*D)}else{D=1.0/+W(+(O*T*O*T+V*T*V*T));I=-(V*T*D);M=0.0;D=O*T*D}x=+Da[_[(_[he>>2]|0)+16>>2]&15](he);j=+Da[_[(_[de>>2]|0)+16>>2]&15](de);s=.019999999552965164/(x<j?x:j);if(x<j){_[ge+1e3>>2]=_[ge+488>>2];_[ge+1e3+4>>2]=_[ge+488+4>>2];_[ge+1e3+8>>2]=_[ge+488+8>>2];_[ge+1e3+12>>2]=_[ge+488+12>>2];_[ge+1e3+16>>2]=_[b>>2];_[ge+1e3+16+4>>2]=_[b+4>>2];_[ge+1e3+16+8>>2]=_[b+8>>2];_[ge+1e3+16+12>>2]=_[b+12>>2];_[ge+1e3+32>>2]=_[y>>2];_[ge+1e3+32+4>>2]=_[y+4>>2];_[ge+1e3+32+8>>2]=_[y+8>>2];_[ge+1e3+32+12>>2]=_[y+12>>2];_[ge+1e3+48>>2]=_[g>>2];_[ge+1e3+48+4>>2]=_[g+4>>2];_[ge+1e3+48+8>>2]=_[g+8>>2];_[ge+1e3+48+12>>2]=_[g+12>>2]}else{_[ge+1e3>>2]=_[C>>2];_[ge+1e3+4>>2]=_[C+4>>2];_[ge+1e3+8>>2]=_[C+8>>2];_[ge+1e3+12>>2]=_[C+12>>2];_[ge+1e3+16>>2]=_[H>>2];_[ge+1e3+16+4>>2]=_[H+4>>2];_[ge+1e3+16+8>>2]=_[H+8>>2];_[ge+1e3+16+12>>2]=_[H+12>>2];_[ge+1e3+32>>2]=_[F>>2];_[ge+1e3+32+4>>2]=_[F+4>>2];_[ge+1e3+32+8>>2]=_[F+8>>2];_[ge+1e3+32+12>>2]=_[F+12>>2];_[ge+1e3+48>>2]=_[B>>2];_[ge+1e3+48+4>>2]=_[B+4>>2];_[ge+1e3+48+8>>2]=_[B+8>>2];_[ge+1e3+48+12>>2]=_[B+12>>2]}c=_[e+64>>2]|0;if((c|0)>0){R=I*I+D*D+M*M;S=(s>.39269909262657166?.39269909262657166:s)*.5;l=0;do{if(R>1.1920928955078125e-07){w=+P(+S)/+W(+R);h=I*w;v=D*w;w=M*w;k=+A(+S);m=+(l|0)*(6.2831854820251465/+(c|0))*.5;d=+P(+m)/+W(+(E*T*E*T+(O*T*O*T+V*T*V*T)));s=O*T*d;p=V*T*d;d=E*T*d;m=+A(+m);if(x<j){se=d*(h*-d+(v*m+k*-p)-w*-s)+(s*(k*m-h*-s-v*-p-w*-d)+m*(w*-p+(h*m+k*-s)-v*-d))-p*(v*-s+(w*m+k*-d)-h*-p);fe=s*(v*-s+(w*m+k*-d)-h*-p)+(m*(h*-d+(v*m+k*-p)-w*-s)+p*(k*m-h*-s-v*-p-w*-d))-d*(w*-p+(h*m+k*-s)-v*-d);X=p*(w*-p+(h*m+k*-s)-v*-d)+(d*(k*m-h*-s-v*-p-w*-d)+m*(v*-s+(w*m+k*-d)-h*-p))-s*(h*-d+(v*m+k*-p)-w*-s);_e=m*(k*m-h*-s-v*-p-w*-d)-s*(w*-p+(h*m+k*-s)-v*-d)-p*(h*-d+(v*m+k*-p)-w*-s)-d*(v*-s+(w*m+k*-d)-h*-p);le=se*(2.0/(_e*_e+(X*X+(se*se+fe*fe))));be=fe*(2.0/(_e*_e+(X*X+(se*se+fe*fe))));re=X*(2.0/(_e*_e+(X*X+(se*se+fe*fe))));ye=_[t+12>>2]|0;J=+a[ye>>2];Y=+a[ye+16>>2];$=+a[ye+32>>2];ee=+a[ye+4>>2];te=+a[ye+20>>2];ie=+a[ye+36>>2];ne=+a[ye+8>>2];oe=+a[ye+24>>2];ue=+a[ye+40>>2];a[ge+488>>2]=(1.0-(fe*be+X*re))*J+(se*be-_e*re)*Y+(se*re+_e*be)*$;a[ge+488+4>>2]=(1.0-(fe*be+X*re))*ee+(se*be-_e*re)*te+(se*re+_e*be)*ie;a[ge+488+8>>2]=(1.0-(fe*be+X*re))*ne+(se*be-_e*re)*oe+(se*re+_e*be)*ue;a[ge+488+12>>2]=0.0;a[ge+488+16>>2]=(se*be+_e*re)*J+(1.0-(se*le+X*re))*Y+(fe*re-_e*le)*$;a[ge+488+20>>2]=(se*be+_e*re)*ee+(1.0-(se*le+X*re))*te+(fe*re-_e*le)*ie;a[ge+488+24>>2]=(se*be+_e*re)*ne+(1.0-(se*le+X*re))*oe+(fe*re-_e*le)*ue;a[ge+488+28>>2]=0.0;a[ge+488+32>>2]=(se*re-_e*be)*J+(fe*re+_e*le)*Y+(1.0-(se*le+fe*be))*$;a[ge+488+36>>2]=(se*re-_e*be)*ee+(fe*re+_e*le)*te+(1.0-(se*le+fe*be))*ie;a[ge+488+40>>2]=(se*re-_e*be)*ne+(fe*re+_e*le)*oe+(1.0-(se*le+fe*be))*ue;a[ge+488+44>>2]=0.0;ye=_[i+12>>2]|0;_[C>>2]=_[ye>>2];_[C+4>>2]=_[ye+4>>2];_[C+8>>2]=_[ye+8>>2];_[C+12>>2]=_[ye+12>>2];_[H>>2]=_[ye+16>>2];_[H+4>>2]=_[ye+16+4>>2];_[H+8>>2]=_[ye+16+8>>2];_[H+12>>2]=_[ye+16+12>>2];_[F>>2]=_[ye+32>>2];_[F+4>>2]=_[ye+32+4>>2];_[F+8>>2]=_[ye+32+8>>2];_[F+12>>2]=_[ye+32+12>>2];_[B>>2]=_[ye+48>>2];_[B+4>>2]=_[ye+48+4>>2];_[B+8>>2]=_[ye+48+8>>2];_[B+12>>2]=_[ye+48+12>>2]}else{ye=_[t+12>>2]|0;_[ge+488>>2]=_[ye>>2];_[ge+488+4>>2]=_[ye+4>>2];_[ge+488+8>>2]=_[ye+8>>2];_[ge+488+12>>2]=_[ye+12>>2];_[b>>2]=_[ye+16>>2];_[b+4>>2]=_[ye+16+4>>2];_[b+8>>2]=_[ye+16+8>>2];_[b+12>>2]=_[ye+16+12>>2];_[y>>2]=_[ye+32>>2];_[y+4>>2]=_[ye+32+4>>2];_[y+8>>2]=_[ye+32+8>>2];_[y+12>>2]=_[ye+32+12>>2];_[g>>2]=_[ye+48>>2];_[g+4>>2]=_[ye+48+4>>2];_[g+8>>2]=_[ye+48+8>>2];_[g+12>>2]=_[ye+48+12>>2];se=d*(h*-d+(v*m+k*-p)-w*-s)+(s*(k*m-h*-s-v*-p-w*-d)+m*(w*-p+(h*m+k*-s)-v*-d))-p*(v*-s+(w*m+k*-d)-h*-p);fe=s*(v*-s+(w*m+k*-d)-h*-p)+(m*(h*-d+(v*m+k*-p)-w*-s)+p*(k*m-h*-s-v*-p-w*-d))-d*(w*-p+(h*m+k*-s)-v*-d);X=p*(w*-p+(h*m+k*-s)-v*-d)+(d*(k*m-h*-s-v*-p-w*-d)+m*(v*-s+(w*m+k*-d)-h*-p))-s*(h*-d+(v*m+k*-p)-w*-s);_e=m*(k*m-h*-s-v*-p-w*-d)-s*(w*-p+(h*m+k*-s)-v*-d)-p*(h*-d+(v*m+k*-p)-w*-s)-d*(v*-s+(w*m+k*-d)-h*-p);le=se*(2.0/(_e*_e+(X*X+(se*se+fe*fe))));be=fe*(2.0/(_e*_e+(X*X+(se*se+fe*fe))));re=X*(2.0/(_e*_e+(X*X+(se*se+fe*fe))));ye=_[i+12>>2]|0;J=+a[ye>>2];Y=+a[ye+16>>2];$=+a[ye+32>>2];ee=+a[ye+4>>2];te=+a[ye+20>>2];ie=+a[ye+36>>2];ne=+a[ye+8>>2];oe=+a[ye+24>>2];ue=+a[ye+40>>2];a[ge+488+64>>2]=(1.0-(fe*be+X*re))*J+(se*be-_e*re)*Y+(se*re+_e*be)*$;a[ge+488+68>>2]=(1.0-(fe*be+X*re))*ee+(se*be-_e*re)*te+(se*re+_e*be)*ie;a[ge+488+72>>2]=(1.0-(fe*be+X*re))*ne+(se*be-_e*re)*oe+(se*re+_e*be)*ue;a[ge+488+76>>2]=0.0;a[ge+488+80>>2]=(se*be+_e*re)*J+(1.0-(se*le+X*re))*Y+(fe*re-_e*le)*$;a[ge+488+84>>2]=(se*be+_e*re)*ee+(1.0-(se*le+X*re))*te+(fe*re-_e*le)*ie;a[ge+488+88>>2]=(se*be+_e*re)*ne+(1.0-(se*le+X*re))*oe+(fe*re-_e*le)*ue;a[ge+488+92>>2]=0.0;a[ge+488+96>>2]=(se*re-_e*be)*J+(fe*re+_e*le)*Y+(1.0-(se*le+fe*be))*$;a[ge+488+100>>2]=(se*re-_e*be)*ee+(fe*re+_e*le)*te+(1.0-(se*le+fe*be))*ie;a[ge+488+104>>2]=(se*re-_e*be)*ne+(fe*re+_e*le)*oe+(1.0-(se*le+fe*be))*ue;a[ge+488+108>>2]=0.0}c=_[r+20>>2]|0;a[ge+760+32>>2]=0.0;_[ge+760>>2]=9508;_[ge+760+36>>2]=o;_[ge+760+40>>2]=_[ge+488>>2];_[ge+760+40+4>>2]=_[ge+488+4>>2];_[ge+760+40+8>>2]=_[ge+488+8>>2];_[ge+760+40+12>>2]=_[ge+488+12>>2];_[ge+760+56>>2]=_[b>>2];_[ge+760+56+4>>2]=_[b+4>>2];_[ge+760+56+8>>2]=_[b+8>>2];_[ge+760+56+12>>2]=_[b+12>>2];_[ge+760+72>>2]=_[y>>2];_[ge+760+72+4>>2]=_[y+4>>2];_[ge+760+72+8>>2]=_[y+8>>2];_[ge+760+72+12>>2]=_[y+12>>2];_[ge+760+88>>2]=_[g>>2];_[ge+760+88+4>>2]=_[g+4>>2];_[ge+760+88+8>>2]=_[g+8>>2];_[ge+760+88+12>>2]=_[g+12>>2];_[ge+760+104>>2]=_[C>>2];_[ge+760+104+4>>2]=_[C+4>>2];_[ge+760+104+8>>2]=_[C+8>>2];_[ge+760+104+12>>2]=_[C+12>>2];_[ge+760+120>>2]=_[H>>2];_[ge+760+120+4>>2]=_[H+4>>2];_[ge+760+120+8>>2]=_[H+8>>2];_[ge+760+120+12>>2]=_[H+12>>2];_[ge+760+136>>2]=_[F>>2];_[ge+760+136+4>>2]=_[F+4>>2];_[ge+760+136+8>>2]=_[F+8>>2];_[ge+760+136+12>>2]=_[F+12>>2];_[ge+760+152>>2]=_[B>>2];_[ge+760+152+4>>2]=_[B+4>>2];_[ge+760+152+8>>2]=_[B+8>>2];_[ge+760+152+12>>2]=_[B+12>>2];_[ge+760+168>>2]=_[ge+1e3>>2];_[ge+760+168+4>>2]=_[ge+1e3+4>>2];_[ge+760+168+8>>2]=_[ge+1e3+8>>2];_[ge+760+168+12>>2]=_[ge+1e3+12>>2];_[ge+760+184>>2]=_[ge+1e3+16>>2];_[ge+760+184+4>>2]=_[ge+1e3+16+4>>2];_[ge+760+184+8>>2]=_[ge+1e3+16+8>>2];_[ge+760+184+12>>2]=_[ge+1e3+16+12>>2];_[ge+760+200>>2]=_[ge+1e3+32>>2];_[ge+760+200+4>>2]=_[ge+1e3+32+4>>2];_[ge+760+200+8>>2]=_[ge+1e3+32+8>>2];_[ge+760+200+12>>2]=_[ge+1e3+32+12>>2];_[ge+760+216>>2]=_[ge+1e3+48>>2];_[ge+760+216+4>>2]=_[ge+1e3+48+4>>2];_[ge+760+216+8>>2]=_[ge+1e3+48+8>>2];_[ge+760+216+12>>2]=_[ge+1e3+48+12>>2];n[ge+760+232>>0]=x<j&1;_[ge+760+236>>2]=c;tc(ge+48|0,ge+488|0,ge+760|0,c,0);c=_[e+64>>2]|0}l=l+1|0}while((l|0)<(c|0))}}if(!(n[e+52>>0]|0)){u=ge;return}l=_[o+4>>2]|0;if(!(_[l+780>>2]|0)){u=ge;return}f=_[l+772>>2]|0;b=_[(_[o+8>>2]|0)+8>>2]|0;c=_[(_[o+12>>2]|0)+8>>2]|0;if((f|0)==(b|0)){xe(l,f+4|0,c+4|0);u=ge;return}else{xe(l,c+4|0,b+4|0);u=ge;return}}function $b(e,t){e=e|0;t=t|0;var i=0.0,r=0.0,o=0,s=0,c=0,l=0.0,f=0.0,p=0,d=0,m=0,h=0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0,I=0.0,M=0.0,D=0,T=0,O=0,H=0,G=0,W=0,F=0,B=0.0,L=0,V=0.0,E=0.0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0.0,X=0.0,J=0.0,Y=0.0,$=0.0,ee=0.0;L=u;u=u+176|0;x=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;x=((ya[_[(_[x>>2]|0)+56>>2]&127](x)|0)&2048|0)!=0;F=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;F=((ya[_[(_[F>>2]|0)+56>>2]&127](F)|0)&4096|0)!=0;B=+a[t+40>>2];if(B<=0.0){u=L;return}switch(_[t+4>>2]|0){case 3:{_[L+112>>2]=1065353216;_[L+112+4>>2]=0;_[L+112+4+4>>2]=0;_[L+112+4+8>>2]=0;_[L+112+4+12>>2]=0;_[L+112+20>>2]=1065353216;_[L+112+24>>2]=0;_[L+112+24+4>>2]=0;_[L+112+24+8>>2]=0;_[L+112+24+12>>2]=0;_[L+112+40>>2]=1065353216;F=L+112+44|0;_[F>>2]=0;_[F+4>>2]=0;_[F+8>>2]=0;_[F+12>>2]=0;_[F+16>>2]=0;M=+a[t+300>>2];I=+a[t+304>>2];R=+a[t+308>>2];F=_[t+28>>2]|0;j=M*+a[F+20>>2]+I*+a[F+24>>2]+R*+a[F+28>>2]+ +a[F+56>>2];S=M*+a[F+36>>2]+I*+a[F+40>>2]+R*+a[F+44>>2]+ +a[F+60>>2];a[L+112+48>>2]=M*+a[F+4>>2]+I*+a[F+8>>2]+R*+a[F+12>>2]+ +a[F+52>>2];a[L+112+52>>2]=j;a[L+112+56>>2]=S;a[L+112+60>>2]=0.0;F=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[F>>2]|0)+64>>2]&7](F,L+112|0,B);S=+a[t+316>>2];j=+a[t+320>>2];R=+a[t+324>>2];t=_[t+32>>2]|0;I=S*+a[t+20>>2]+j*+a[t+24>>2]+R*+a[t+28>>2]+ +a[t+56>>2];M=S*+a[t+36>>2]+j*+a[t+40>>2]+R*+a[t+44>>2]+ +a[t+60>>2];a[L+112+48>>2]=S*+a[t+4>>2]+j*+a[t+8>>2]+R*+a[t+12>>2]+ +a[t+52>>2];a[L+112+52>>2]=I;a[L+112+56>>2]=M;a[L+112+60>>2]=0.0;if(x){e=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[e>>2]|0)+64>>2]&7](e,L+112|0,B)}u=L;return}case 4:{W=_[t+28>>2]|0;i=+a[t+552>>2];N=+a[W+4>>2];r=+a[t+552+16>>2];z=+a[W+8>>2];l=+a[t+552+32>>2];Q=+a[W+12>>2];f=+a[t+552+4>>2];y=+a[t+552+20>>2];g=+a[t+552+36>>2];C=+a[t+552+8>>2];w=+a[t+552+24>>2];S=+a[t+552+40>>2];q=+a[W+20>>2];E=+a[W+24>>2];V=+a[W+28>>2];v=+a[W+36>>2];k=+a[W+40>>2];j=+a[W+44>>2];K=+a[t+552+48>>2];U=+a[t+552+52>>2];M=+a[t+552+56>>2];R=+a[W+52>>2]+(N*K+z*U+Q*M);I=q*K+E*U+V*M+ +a[W+56>>2];M=v*K+k*U+j*M+ +a[W+60>>2];a[L+112>>2]=i*N+r*z+l*Q;a[L+112+4>>2]=N*f+z*y+Q*g;a[L+112+8>>2]=N*C+z*w+Q*S;a[L+112+12>>2]=0.0;a[L+112+16>>2]=i*q+r*E+l*V;a[L+112+20>>2]=f*q+y*E+g*V;a[L+112+24>>2]=C*q+w*E+S*V;a[L+112+28>>2]=0.0;a[L+112+32>>2]=i*v+r*k+l*j;a[L+112+36>>2]=f*v+y*k+g*j;a[L+112+40>>2]=C*v+w*k+S*j;a[L+112+44>>2]=0.0;a[L+112+48>>2]=R;a[L+112+52>>2]=I;a[L+112+56>>2]=M;a[L+112+60>>2]=0.0;if(x){W=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[W>>2]|0)+64>>2]&7](W,L+112|0,B);W=_[t+32>>2]|0;w=+a[t+616>>2];l=+a[W+4>>2];k=+a[t+616+16>>2];f=+a[W+8>>2];S=+a[t+616+32>>2];y=+a[W+12>>2];j=+a[t+616+4>>2];R=+a[t+616+20>>2];I=+a[t+616+36>>2];M=+a[t+616+8>>2];E=+a[t+616+24>>2];Q=+a[t+616+40>>2];g=+a[W+20>>2];C=+a[W+24>>2];v=+a[W+28>>2];V=+a[W+36>>2];q=+a[W+40>>2];z=+a[W+44>>2];i=+a[t+616+48>>2];r=+a[t+616+52>>2];K=+a[t+616+56>>2];N=+a[W+52>>2]+(l*i+f*r+y*K);U=g*i+C*r+v*K+ +a[W+56>>2];K=V*i+q*r+z*K+ +a[W+60>>2];a[L+112>>2]=w*l+k*f+S*y;a[L+112+4>>2]=l*j+f*R+y*I;a[L+112+8>>2]=l*M+f*E+y*Q;a[L+112+12>>2]=0.0;a[L+112+16>>2]=w*g+k*C+S*v;a[L+112+20>>2]=j*g+R*C+I*v;a[L+112+24>>2]=M*g+E*C+Q*v;a[L+112+28>>2]=0.0;a[L+112+32>>2]=w*V+k*q+S*z;a[L+112+36>>2]=j*V+R*q+I*z;a[L+112+40>>2]=M*V+E*q+Q*z;a[L+112+44>>2]=0.0;a[L+112+48>>2]=N;a[L+112+52>>2]=U;a[L+112+56>>2]=K;a[L+112+60>>2]=0.0;W=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[W>>2]|0)+64>>2]&7](W,L+112|0,B)}else{W=_[t+32>>2]|0;w=+a[t+616>>2];l=+a[W+4>>2];k=+a[t+616+16>>2];f=+a[W+8>>2];S=+a[t+616+32>>2];y=+a[W+12>>2];j=+a[t+616+4>>2];R=+a[t+616+20>>2];I=+a[t+616+36>>2];M=+a[t+616+8>>2];E=+a[t+616+24>>2];Q=+a[t+616+40>>2];g=+a[W+20>>2];C=+a[W+24>>2];v=+a[W+28>>2];V=+a[W+36>>2];q=+a[W+40>>2];z=+a[W+44>>2];i=+a[t+616+48>>2];r=+a[t+616+52>>2];K=+a[t+616+56>>2];N=+a[W+52>>2]+(l*i+f*r+y*K);U=g*i+C*r+v*K+ +a[W+56>>2];K=V*i+q*r+z*K+ +a[W+60>>2];a[L+112>>2]=w*l+k*f+S*y;a[L+112+4>>2]=l*j+f*R+y*I;a[L+112+8>>2]=l*M+f*E+y*Q;a[L+112+12>>2]=0.0;a[L+112+16>>2]=w*g+k*C+S*v;a[L+112+20>>2]=j*g+R*C+I*v;a[L+112+24>>2]=M*g+E*C+Q*v;a[L+112+28>>2]=0.0;a[L+112+32>>2]=w*V+k*q+S*z;a[L+112+36>>2]=j*V+R*q+I*z;a[L+112+40>>2]=M*V+E*q+Q*z;a[L+112+44>>2]=0.0;a[L+112+48>>2]=N;a[L+112+52>>2]=U;a[L+112+56>>2]=K;a[L+112+60>>2]=0.0}l=+a[t+688>>2];f=+a[t+688+4>>2];i=+Bg(l-f,6.2831854820251465);if(!(i<-3.1415927410125732))if(i>3.1415927410125732)r=i+-6.2831854820251465;else r=i;else r=i+6.2831854820251465;i=+Bg(l+f,6.2831854820251465);if(!(i<-3.1415927410125732)){if(i>3.1415927410125732)i=i+-6.2831854820251465}else i=i+6.2831854820251465;if(!(r==i)?F:0){_[L+96>>2]=_[L+112+8>>2];_[L+96+4>>2]=_[L+112+24>>2];_[L+96+8>>2]=_[L+112+40>>2];a[L+96+12>>2]=0.0;_[L+80>>2]=_[L+112>>2];_[L+80+4>>2]=_[L+112+16>>2];_[L+80+8>>2]=_[L+112+32>>2];a[L+80+12>>2]=0.0;e=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;t=_[(_[e>>2]|0)+68>>2]|0;_[L+64>>2]=0;_[L+64+4>>2]=0;_[L+64+8>>2]=0;_[L+64+12>>2]=0;ja[t&0](e,L+112+48|0,L+96|0,L+80|0,B,B,f>0.0?r:0.0,f>0.0?i:6.2831854820251465,L+64|0,f>0.0,10.0)}u=L;return}case 5:{T=_[t+28>>2]|0;w=+a[t+300>>2];l=+a[T+4>>2];k=+a[t+300+16>>2];f=+a[T+8>>2];S=+a[t+300+32>>2];y=+a[T+12>>2];j=+a[t+300+4>>2];R=+a[t+300+20>>2];I=+a[t+300+36>>2];M=+a[t+300+8>>2];E=+a[t+300+24>>2];Q=+a[t+300+40>>2];g=+a[T+20>>2];C=+a[T+24>>2];v=+a[T+28>>2];V=+a[T+36>>2];q=+a[T+40>>2];z=+a[T+44>>2];i=+a[t+300+48>>2];r=+a[t+300+52>>2];K=+a[t+300+56>>2];N=+a[T+52>>2]+(l*i+f*r+y*K);U=g*i+C*r+v*K+ +a[T+56>>2];K=V*i+q*r+z*K+ +a[T+60>>2];a[L+112>>2]=w*l+k*f+S*y;T=L+112+4|0;a[T>>2]=l*j+f*R+y*I;H=L+112+8|0;a[H>>2]=l*M+f*E+y*Q;a[L+112+12>>2]=0.0;G=L+112+16|0;a[G>>2]=w*g+k*C+S*v;W=L+112+20|0;a[W>>2]=j*g+R*C+I*v;p=L+112+24|0;a[p>>2]=M*g+E*C+Q*v;a[L+112+28>>2]=0.0;d=L+112+32|0;a[d>>2]=w*V+k*q+S*z;m=L+112+36|0;a[m>>2]=j*V+R*q+I*z;h=L+112+40|0;a[h>>2]=M*V+E*q+Q*z;a[L+112+44>>2]=0.0;c=L+112+48|0;a[c>>2]=N;D=L+112+52|0;a[D>>2]=U;O=L+112+56|0;a[O>>2]=K;a[L+112+60>>2]=0.0;if(x){x=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[x>>2]|0)+64>>2]&7](x,L+112|0,B);x=_[t+32>>2]|0;w=+a[t+364>>2];l=+a[x+4>>2];k=+a[t+364+16>>2];f=+a[x+8>>2];S=+a[t+364+32>>2];y=+a[x+12>>2];j=+a[t+364+4>>2];R=+a[t+364+20>>2];I=+a[t+364+36>>2];M=+a[t+364+8>>2];E=+a[t+364+24>>2];Q=+a[t+364+40>>2];g=+a[x+20>>2];C=+a[x+24>>2];v=+a[x+28>>2];V=+a[x+36>>2];q=+a[x+40>>2];z=+a[x+44>>2];i=+a[t+364+48>>2];r=+a[t+364+52>>2];K=+a[t+364+56>>2];N=+a[x+52>>2]+(l*i+f*r+y*K);U=g*i+C*r+v*K+ +a[x+56>>2];K=V*i+q*r+z*K+ +a[x+60>>2];a[L+112>>2]=w*l+k*f+S*y;a[T>>2]=l*j+f*R+y*I;a[H>>2]=l*M+f*E+y*Q;a[L+112+12>>2]=0.0;a[G>>2]=w*g+k*C+S*v;a[W>>2]=j*g+R*C+I*v;a[p>>2]=M*g+E*C+Q*v;a[L+112+28>>2]=0.0;a[d>>2]=w*V+k*q+S*z;a[m>>2]=j*V+R*q+I*z;a[h>>2]=M*V+E*q+Q*z;a[L+112+44>>2]=0.0;a[c>>2]=N;a[D>>2]=U;a[O>>2]=K;a[L+112+60>>2]=0.0;x=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[x>>2]|0)+64>>2]&7](x,L+112|0,B)}else{x=_[t+32>>2]|0;w=+a[t+364>>2];l=+a[x+4>>2];k=+a[t+364+16>>2];f=+a[x+8>>2];S=+a[t+364+32>>2];y=+a[x+12>>2];j=+a[t+364+4>>2];R=+a[t+364+20>>2];I=+a[t+364+36>>2];M=+a[t+364+8>>2];E=+a[t+364+24>>2];Q=+a[t+364+40>>2];g=+a[x+20>>2];C=+a[x+24>>2];v=+a[x+28>>2];V=+a[x+36>>2];q=+a[x+40>>2];z=+a[x+44>>2];i=+a[t+364+48>>2];r=+a[t+364+52>>2];K=+a[t+364+56>>2];N=+a[x+52>>2]+(l*i+f*r+y*K);U=g*i+C*r+v*K+ +a[x+56>>2];K=V*i+q*r+z*K+ +a[x+60>>2];a[L+112>>2]=w*l+k*f+S*y;a[T>>2]=l*j+f*R+y*I;a[H>>2]=l*M+f*E+y*Q;a[L+112+12>>2]=0.0;a[G>>2]=w*g+k*C+S*v;a[W>>2]=j*g+R*C+I*v;a[p>>2]=M*g+E*C+Q*v;a[L+112+28>>2]=0.0;a[d>>2]=w*V+k*q+S*z;a[m>>2]=j*V+R*q+I*z;a[h>>2]=M*V+E*q+Q*z;a[L+112+44>>2]=0.0;a[c>>2]=N;a[D>>2]=U;a[O>>2]=K;a[L+112+60>>2]=0.0}if(F){yj(L+96|0,t,6.0868353843688965,B);Q=+a[L+96>>2];z=+a[L+96+4>>2];N=+a[L+96+8>>2];U=Q*+a[G>>2]+z*+a[W>>2]+N*+a[p>>2]+ +a[D>>2];K=Q*+a[d>>2]+z*+a[m>>2]+N*+a[h>>2]+ +a[O>>2];a[L+96>>2]=Q*+a[L+112>>2]+z*+a[T>>2]+N*+a[H>>2]+ +a[c>>2];a[L+96+4>>2]=U;a[L+96+8>>2]=K;a[L+96+12>>2]=0.0;s=L+112+48|0;o=0;do{yj(L+80|0,t,+(o|0)*6.283185005187988*.03125,B);Q=+a[L+80>>2];z=+a[L+80+4>>2];N=+a[L+80+8>>2];U=Q*+a[G>>2]+z*+a[W>>2]+N*+a[p>>2]+ +a[D>>2];K=Q*+a[d>>2]+z*+a[m>>2]+N*+a[h>>2]+ +a[O>>2];a[L+80>>2]=Q*+a[L+112>>2]+z*+a[T>>2]+N*+a[H>>2]+ +a[c>>2];a[L+80+4>>2]=U;a[L+80+8>>2]=K;a[L+80+12>>2]=0.0;F=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;x=_[(_[F>>2]|0)+16>>2]|0;_[L+64>>2]=0;_[L+64+4>>2]=0;_[L+64+8>>2]=0;_[L+64+12>>2]=0;$a[x&127](F,L+96|0,L+80|0,L+64|0);if(!(o&3)){F=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;x=_[(_[F>>2]|0)+16>>2]|0;_[L+64>>2]=0;_[L+64+4>>2]=0;_[L+64+8>>2]=0;_[L+64+12>>2]=0;$a[x&127](F,s,L+80|0,L+64|0)}_[L+96>>2]=_[L+80>>2];_[L+96+4>>2]=_[L+80+4>>2];_[L+96+8>>2]=_[L+80+8>>2];_[L+96+12>>2]=_[L+80+12>>2];o=o+1|0}while((o|0)!=32);I=+a[t+452>>2];M=+a[t+512>>2];o=_[t+32>>2]|0;if(+a[o+404>>2]>0.0){V=+a[t+364>>2];q=+a[o+4>>2];E=+a[t+364+16>>2];Q=+a[o+8>>2];j=+a[t+364+32>>2];R=+a[o+12>>2];X=+a[t+364+4>>2];Z=+a[t+364+20>>2];S=+a[t+364+36>>2];Y=+a[t+364+8>>2];J=+a[t+364+24>>2];k=+a[t+364+40>>2];ee=+a[o+20>>2];$=+a[o+24>>2];w=+a[o+28>>2];z=+a[o+36>>2];U=+a[o+40>>2];K=+a[o+44>>2];N=+a[t+364+48>>2];i=+a[t+364+52>>2];r=+a[t+364+56>>2];l=ee*N+$*i+w*r;f=Y*z+J*U+k*K;y=X*z+Z*U+S*K;g=V*z+E*U+j*K;C=Y*ee+J*$+k*w;v=X*ee+Z*$+S*w;w=V*ee+E*$+j*w;k=q*Y+Q*J+R*k;S=q*X+Q*Z+R*S;j=V*q+E*Q+j*R;R=q*N+Q*i+R*r;o=o+4|0;i=z*N+U*i;r=K*r}else{o=_[t+28>>2]|0;U=+a[t+300>>2];Z=+a[o+4>>2];K=+a[t+300+16>>2];X=+a[o+8>>2];j=+a[t+300+32>>2];R=+a[o+12>>2];z=+a[t+300+4>>2];N=+a[t+300+20>>2];S=+a[t+300+36>>2];q=+a[t+300+8>>2];Q=+a[t+300+24>>2];k=+a[t+300+40>>2];V=+a[o+20>>2];E=+a[o+24>>2];w=+a[o+28>>2];J=+a[o+36>>2];$=+a[o+40>>2];ee=+a[o+44>>2];Y=+a[t+300+48>>2];i=+a[t+300+52>>2];r=+a[t+300+56>>2];l=V*Y+E*i+w*r;f=q*J+Q*$+k*ee;y=z*J+N*$+S*ee;g=U*J+K*$+j*ee;C=q*V+Q*E+k*w;v=z*V+N*E+S*w;w=U*V+K*E+j*w;k=Z*q+X*Q+R*k;S=Z*z+X*N+R*S;j=U*Z+K*X+j*R;R=Z*Y+X*i+R*r;o=o+4|0;i=J*Y+$*i;r=ee*r}Y=R+ +a[o+48>>2];$=l+ +a[o+52>>2];ee=r+i+ +a[o+56>>2];a[L+112>>2]=j;a[T>>2]=S;a[H>>2]=k;a[L+112+12>>2]=0.0;a[G>>2]=w;a[W>>2]=v;a[p>>2]=C;a[L+112+28>>2]=0.0;a[d>>2]=g;a[m>>2]=y;a[h>>2]=f;a[L+112+44>>2]=0.0;a[c>>2]=Y;a[D>>2]=$;a[O>>2]=ee;a[L+112+60>>2]=0.0;_[L+80>>2]=_[s>>2];_[L+80+4>>2]=_[s+4>>2];_[L+80+8>>2]=_[s+8>>2];_[L+80+12>>2]=_[s+12>>2];a[L+64>>2]=j;a[L+64+4>>2]=w;a[L+64+8>>2]=g;a[L+64+12>>2]=0.0;a[L+48>>2]=S;a[L+48+4>>2]=v;a[L+48+8>>2]=y;a[L+48+12>>2]=0.0;e=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;t=_[(_[e>>2]|0)+68>>2]|0;_[L+32>>2]=0;_[L+32+4>>2]=0;_[L+32+8>>2]=0;_[L+32+12>>2]=0;ja[t&0](e,L+80|0,L+64|0,L+48|0,B,B,-M-I,I-M,L+32|0,1,10.0)}u=L;return}case 6:case 9:{_[L+112>>2]=_[t+1064>>2];_[L+112+4>>2]=_[t+1064+4>>2];_[L+112+8>>2]=_[t+1064+8>>2];_[L+112+12>>2]=_[t+1064+12>>2];s=t+1064+16|0;c=L+112+16|0;_[c>>2]=_[s>>2];_[c+4>>2]=_[s+4>>2];_[c+8>>2]=_[s+8>>2];_[c+12>>2]=_[s+12>>2];p=t+1064+32|0;d=L+112+32|0;_[d>>2]=_[p>>2];_[d+4>>2]=_[p+4>>2];_[d+8>>2]=_[p+8>>2];_[d+12>>2]=_[p+12>>2];m=L+112+48|0;h=t+1064+48|0;_[m>>2]=_[h>>2];_[m+4>>2]=_[h+4>>2];_[m+8>>2]=_[h+8>>2];_[m+12>>2]=_[h+12>>2];if(x){W=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[W>>2]|0)+64>>2]&7](W,L+112|0,B);_[L+112>>2]=_[t+1128>>2];_[L+112+4>>2]=_[t+1128+4>>2];_[L+112+8>>2]=_[t+1128+8>>2];_[L+112+12>>2]=_[t+1128+12>>2];_[c>>2]=_[t+1128+16>>2];_[c+4>>2]=_[t+1128+16+4>>2];_[c+8>>2]=_[t+1128+16+8>>2];_[c+12>>2]=_[t+1128+16+12>>2];_[d>>2]=_[t+1128+32>>2];_[d+4>>2]=_[t+1128+32+4>>2];_[d+8>>2]=_[t+1128+32+8>>2];_[d+12>>2]=_[t+1128+32+12>>2];_[m>>2]=_[t+1128+48>>2];_[m+4>>2]=_[t+1128+48+4>>2];_[m+8>>2]=_[t+1128+48+8>>2];_[m+12>>2]=_[t+1128+48+12>>2];W=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[W>>2]|0)+64>>2]&7](W,L+112|0,B)}else{_[L+112>>2]=_[t+1128>>2];_[L+112+4>>2]=_[t+1128+4>>2];_[L+112+8>>2]=_[t+1128+8>>2];_[L+112+12>>2]=_[t+1128+12>>2];_[c>>2]=_[t+1128+16>>2];_[c+4>>2]=_[t+1128+16+4>>2];_[c+8>>2]=_[t+1128+16+8>>2];_[c+12>>2]=_[t+1128+16+12>>2];_[d>>2]=_[t+1128+32>>2];_[d+4>>2]=_[t+1128+32+4>>2];_[d+8>>2]=_[t+1128+32+8>>2];_[d+12>>2]=_[t+1128+32+12>>2];_[m>>2]=_[t+1128+48>>2];_[m+4>>2]=_[t+1128+48+4>>2];_[m+8>>2]=_[t+1128+48+8>>2];_[m+12>>2]=_[t+1128+48+12>>2]}if(F){_[L+112>>2]=_[t+1064>>2];_[L+112+4>>2]=_[t+1064+4>>2];_[L+112+8>>2]=_[t+1064+8>>2];_[L+112+12>>2]=_[t+1064+12>>2];_[c>>2]=_[s>>2];_[c+4>>2]=_[s+4>>2];_[c+8>>2]=_[s+8>>2];_[c+12>>2]=_[s+12>>2];_[d>>2]=_[p>>2];_[d+4>>2]=_[p+4>>2];_[d+8>>2]=_[p+8>>2];_[d+12>>2]=_[p+12>>2];_[m>>2]=_[h>>2];_[m+4>>2]=_[h+4>>2];_[m+8>>2]=_[h+8>>2];_[m+12>>2]=_[h+12>>2];o=t+1128+48|0;_[L+96>>2]=_[L+112+8>>2];_[L+96+4>>2]=_[L+112+24>>2];_[L+96+8>>2]=_[L+112+40>>2];a[L+96+12>>2]=0.0;_[L+80>>2]=_[L+112>>2];_[L+80+4>>2]=_[L+112+16>>2];_[L+80+8>>2]=_[L+112+32>>2];a[L+80+12>>2]=0.0;X=+a[t+932>>2];i=+a[t+932+4>>2];$=+a[t+996>>2];Y=+a[t+996+4>>2];G=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;W=_[(_[G>>2]|0)+72>>2]|0;_[L+64>>2]=0;_[L+64+4>>2]=0;_[L+64+8>>2]=0;_[L+64+12>>2]=0;Qa[W&0](G,o,L+96|0,L+80|0,B*.8999999761581421,X,i,$,Y,L+64|0,10.0,1);G=_[L+112+4>>2]|0;W=_[L+112+20>>2]|0;F=_[L+112+36>>2]|0;_[L+80>>2]=G;_[L+80+4>>2]=W;_[L+80+8>>2]=F;a[L+80+12>>2]=0.0;Y=+a[t+1196>>2];$=+a[t+1200>>2];i=+A(+Y);Y=+P(+Y);X=+A(+$);$=+P(+$);J=(_[b>>2]=G,+a[b>>2]);ee=(_[b>>2]=W,+a[b>>2]);r=(_[b>>2]=F,+a[b>>2]);a[L+64>>2]=i*X*J+i*$*ee-Y*r;a[L+64+4>>2]=X*ee-$*J;a[L+64+8>>2]=Y*X*J+Y*$*ee+i*r;_[L+112>>2]=_[t+1128>>2];_[L+112+4>>2]=_[t+1128+4>>2];_[L+112+8>>2]=_[t+1128+8>>2];_[L+112+12>>2]=_[t+1128+12>>2];_[c>>2]=_[t+1128+16>>2];_[c+4>>2]=_[t+1128+16+4>>2];_[c+8>>2]=_[t+1128+16+8>>2];_[c+12>>2]=_[t+1128+16+12>>2];_[d>>2]=_[t+1128+32>>2];_[d+4>>2]=_[t+1128+32+4>>2];_[d+8>>2]=_[t+1128+32+8>>2];_[d+12>>2]=_[t+1128+32+12>>2];_[m>>2]=_[o>>2];_[m+4>>2]=_[o+4>>2];_[m+8>>2]=_[o+8>>2];_[m+12>>2]=_[o+12>>2];r=-+a[L+112+16>>2];i=-+a[L+112+32>>2];a[L+48>>2]=-+a[L+112>>2];a[L+48+4>>2]=r;a[L+48+8>>2]=i;a[L+48+12>>2]=0.0;i=+a[t+868>>2];r=+a[t+868+4>>2];if(!(i>r)){if(i<r){F=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;W=_[(_[F>>2]|0)+68>>2]|0;_[L+32>>2]=0;_[L+32+4>>2]=0;_[L+32+8>>2]=0;_[L+32+12>>2]=0;ja[W&0](F,o,L+48|0,L+64|0,B,B,i,r,L+32|0,1,10.0)}}else{F=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;W=_[(_[F>>2]|0)+68>>2]|0;_[L+32>>2]=0;_[L+32+4>>2]=0;_[L+32+8>>2]=0;_[L+32+12>>2]=0;ja[W&0](F,o,L+48|0,L+64|0,B,B,-3.1415927410125732,3.1415927410125732,L+32|0,0,10.0)}_[L+112>>2]=_[t+1064>>2];_[L+112+4>>2]=_[t+1064+4>>2];_[L+112+8>>2]=_[t+1064+8>>2];_[L+112+12>>2]=_[t+1064+12>>2];_[c>>2]=_[s>>2];_[c+4>>2]=_[s+4>>2];_[c+8>>2]=_[s+8>>2];_[c+12>>2]=_[s+12>>2];_[d>>2]=_[p>>2];_[d+4>>2]=_[p+4>>2];_[d+8>>2]=_[p+8>>2];_[d+12>>2]=_[p+12>>2];_[m>>2]=_[h>>2];_[m+4>>2]=_[h+4>>2];_[m+8>>2]=_[h+8>>2];_[m+12>>2]=_[h+12>>2];_[L+32>>2]=_[t+680>>2];_[L+32+4>>2]=_[t+680+4>>2];_[L+32+8>>2]=_[t+680+8>>2];_[L+32+12>>2]=_[t+680+12>>2];_[L+16>>2]=_[t+680+16>>2];_[L+16+4>>2]=_[t+680+16+4>>2];_[L+16+8>>2]=_[t+680+16+8>>2];_[L+16+12>>2]=_[t+680+16+12>>2];e=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;t=_[(_[e>>2]|0)+80>>2]|0;_[L>>2]=0;_[L+4>>2]=0;_[L+8>>2]=0;_[L+12>>2]=0;ba[t&31](e,L+32|0,L+16|0,L+112|0,L)}u=L;return}case 12:{_[L+112>>2]=_[t+1236>>2];_[L+112+4>>2]=_[t+1236+4>>2];_[L+112+8>>2]=_[t+1236+8>>2];_[L+112+12>>2]=_[t+1236+12>>2];s=t+1236+16|0;c=L+112+16|0;_[c>>2]=_[s>>2];_[c+4>>2]=_[s+4>>2];_[c+8>>2]=_[s+8>>2];_[c+12>>2]=_[s+12>>2];p=t+1236+32|0;d=L+112+32|0;_[d>>2]=_[p>>2];_[d+4>>2]=_[p+4>>2];_[d+8>>2]=_[p+8>>2];_[d+12>>2]=_[p+12>>2];m=L+112+48|0;h=t+1236+48|0;_[m>>2]=_[h>>2];_[m+4>>2]=_[h+4>>2];_[m+8>>2]=_[h+8>>2];_[m+12>>2]=_[h+12>>2];if(x){W=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[W>>2]|0)+64>>2]&7](W,L+112|0,B);_[L+112>>2]=_[t+1300>>2];_[L+112+4>>2]=_[t+1300+4>>2];_[L+112+8>>2]=_[t+1300+8>>2];_[L+112+12>>2]=_[t+1300+12>>2];_[c>>2]=_[t+1300+16>>2];_[c+4>>2]=_[t+1300+16+4>>2];_[c+8>>2]=_[t+1300+16+8>>2];_[c+12>>2]=_[t+1300+16+12>>2];_[d>>2]=_[t+1300+32>>2];_[d+4>>2]=_[t+1300+32+4>>2];_[d+8>>2]=_[t+1300+32+8>>2];_[d+12>>2]=_[t+1300+32+12>>2];_[m>>2]=_[t+1300+48>>2];_[m+4>>2]=_[t+1300+48+4>>2];_[m+8>>2]=_[t+1300+48+8>>2];_[m+12>>2]=_[t+1300+48+12>>2];W=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[W>>2]|0)+64>>2]&7](W,L+112|0,B)}else{_[L+112>>2]=_[t+1300>>2];_[L+112+4>>2]=_[t+1300+4>>2];_[L+112+8>>2]=_[t+1300+8>>2];_[L+112+12>>2]=_[t+1300+12>>2];_[c>>2]=_[t+1300+16>>2];_[c+4>>2]=_[t+1300+16+4>>2];_[c+8>>2]=_[t+1300+16+8>>2];_[c+12>>2]=_[t+1300+16+12>>2];_[d>>2]=_[t+1300+32>>2];_[d+4>>2]=_[t+1300+32+4>>2];_[d+8>>2]=_[t+1300+32+8>>2];_[d+12>>2]=_[t+1300+32+12>>2];_[m>>2]=_[t+1300+48>>2];_[m+4>>2]=_[t+1300+48+4>>2];_[m+8>>2]=_[t+1300+48+8>>2];_[m+12>>2]=_[t+1300+48+12>>2]}if(F){_[L+112>>2]=_[t+1236>>2];_[L+112+4>>2]=_[t+1236+4>>2];_[L+112+8>>2]=_[t+1236+8>>2];_[L+112+12>>2]=_[t+1236+12>>2];_[c>>2]=_[s>>2];_[c+4>>2]=_[s+4>>2];_[c+8>>2]=_[s+8>>2];_[c+12>>2]=_[s+12>>2];_[d>>2]=_[p>>2];_[d+4>>2]=_[p+4>>2];_[d+8>>2]=_[p+8>>2];_[d+12>>2]=_[p+12>>2];_[m>>2]=_[h>>2];_[m+4>>2]=_[h+4>>2];_[m+8>>2]=_[h+8>>2];_[m+12>>2]=_[h+12>>2];o=t+1300+48|0;_[L+96>>2]=_[L+112+8>>2];_[L+96+4>>2]=_[L+112+24>>2];_[L+96+8>>2]=_[L+112+40>>2];a[L+96+12>>2]=0.0;_[L+80>>2]=_[L+112>>2];_[L+80+4>>2]=_[L+112+16>>2];_[L+80+8>>2]=_[L+112+32>>2];a[L+80+12>>2]=0.0;X=+a[t+1056>>2];i=+a[t+1060>>2];$=+a[t+1144>>2];Y=+a[t+1144+4>>2];G=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;W=_[(_[G>>2]|0)+72>>2]|0;_[L+64>>2]=0;_[L+64+4>>2]=0;_[L+64+8>>2]=0;_[L+64+12>>2]=0;Qa[W&0](G,o,L+96|0,L+80|0,B*.8999999761581421,X,i,$,Y,L+64|0,10.0,1);G=_[L+112+4>>2]|0;W=_[L+112+20>>2]|0;F=_[L+112+36>>2]|0;_[L+80>>2]=G;_[L+80+4>>2]=W;_[L+80+8>>2]=F;a[L+80+12>>2]=0.0;Y=+a[t+1368>>2];$=+a[t+1372>>2];i=+A(+Y);Y=+P(+Y);X=+A(+$);$=+P(+$);J=(_[b>>2]=G,+a[b>>2]);ee=(_[b>>2]=W,+a[b>>2]);r=(_[b>>2]=F,+a[b>>2]);a[L+64>>2]=i*X*J+i*$*ee-Y*r;a[L+64+4>>2]=X*ee-$*J;a[L+64+8>>2]=Y*X*J+Y*$*ee+i*r;_[L+112>>2]=_[t+1300>>2];_[L+112+4>>2]=_[t+1300+4>>2];_[L+112+8>>2]=_[t+1300+8>>2];_[L+112+12>>2]=_[t+1300+12>>2];_[c>>2]=_[t+1300+16>>2];_[c+4>>2]=_[t+1300+16+4>>2];_[c+8>>2]=_[t+1300+16+8>>2];_[c+12>>2]=_[t+1300+16+12>>2];_[d>>2]=_[t+1300+32>>2];_[d+4>>2]=_[t+1300+32+4>>2];_[d+8>>2]=_[t+1300+32+8>>2];_[d+12>>2]=_[t+1300+32+12>>2];_[m>>2]=_[o>>2];_[m+4>>2]=_[o+4>>2];_[m+8>>2]=_[o+8>>2];_[m+12>>2]=_[o+12>>2];r=-+a[L+112+16>>2];i=-+a[L+112+32>>2];a[L+48>>2]=-+a[L+112>>2];a[L+48+4>>2]=r;a[L+48+8>>2]=i;a[L+48+12>>2]=0.0;i=+a[t+968>>2];r=+a[t+968+4>>2];if(!(i>r)){if(i<r){F=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;W=_[(_[F>>2]|0)+68>>2]|0;_[L+32>>2]=0;_[L+32+4>>2]=0;_[L+32+8>>2]=0;_[L+32+12>>2]=0;ja[W&0](F,o,L+48|0,L+64|0,B,B,i,r,L+32|0,1,10.0)}}else{F=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;W=_[(_[F>>2]|0)+68>>2]|0;_[L+32>>2]=0;_[L+32+4>>2]=0;_[L+32+8>>2]=0;_[L+32+12>>2]=0;ja[W&0](F,o,L+48|0,L+64|0,B,B,-3.1415927410125732,3.1415927410125732,L+32|0,0,10.0)}_[L+112>>2]=_[t+1236>>2];_[L+112+4>>2]=_[t+1236+4>>2];_[L+112+8>>2]=_[t+1236+8>>2];_[L+112+12>>2]=_[t+1236+12>>2];_[c>>2]=_[s>>2];_[c+4>>2]=_[s+4>>2];_[c+8>>2]=_[s+8>>2];_[c+12>>2]=_[s+12>>2];_[d>>2]=_[p>>2];_[d+4>>2]=_[p+4>>2];_[d+8>>2]=_[p+8>>2];_[d+12>>2]=_[p+12>>2];_[m>>2]=_[h>>2];_[m+4>>2]=_[h+4>>2];_[m+8>>2]=_[h+8>>2];_[m+12>>2]=_[h+12>>2];_[L+32>>2]=_[t+680>>2];_[L+32+4>>2]=_[t+680+4>>2];_[L+32+8>>2]=_[t+680+8>>2];_[L+32+12>>2]=_[t+680+12>>2];_[L+16>>2]=_[t+680+16>>2];_[L+16+4>>2]=_[t+680+16+4>>2];_[L+16+8>>2]=_[t+680+16+8>>2];_[L+16+12>>2]=_[t+680+16+12>>2];e=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;t=_[(_[e>>2]|0)+80>>2]|0;_[L>>2]=0;_[L+4>>2]=0;_[L+8>>2]=0;_[L+12>>2]=0;ba[t&31](e,L+32|0,L+16|0,L+112|0,L)}u=L;return}case 7:{_[L+112>>2]=_[t+824>>2];_[L+112+4>>2]=_[t+824+4>>2];_[L+112+8>>2]=_[t+824+8>>2];_[L+112+12>>2]=_[t+824+12>>2];o=L+112+16|0;_[o>>2]=_[t+824+16>>2];_[o+4>>2]=_[t+824+16+4>>2];_[o+8>>2]=_[t+824+16+8>>2];_[o+12>>2]=_[t+824+16+12>>2];s=L+112+32|0;_[s>>2]=_[t+824+32>>2];_[s+4>>2]=_[t+824+32+4>>2];_[s+8>>2]=_[t+824+32+8>>2];_[s+12>>2]=_[t+824+32+12>>2];c=L+112+48|0;_[c>>2]=_[t+824+48>>2];_[c+4>>2]=_[t+824+48+4>>2];_[c+8>>2]=_[t+824+48+8>>2];_[c+12>>2]=_[t+824+48+12>>2];if(x){W=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[W>>2]|0)+64>>2]&7](W,L+112|0,B);_[L+112>>2]=_[t+888>>2];_[L+112+4>>2]=_[t+888+4>>2];_[L+112+8>>2]=_[t+888+8>>2];_[L+112+12>>2]=_[t+888+12>>2];_[o>>2]=_[t+888+16>>2];_[o+4>>2]=_[t+888+16+4>>2];_[o+8>>2]=_[t+888+16+8>>2];_[o+12>>2]=_[t+888+16+12>>2];_[s>>2]=_[t+888+32>>2];_[s+4>>2]=_[t+888+32+4>>2];_[s+8>>2]=_[t+888+32+8>>2];_[s+12>>2]=_[t+888+32+12>>2];_[c>>2]=_[t+888+48>>2];_[c+4>>2]=_[t+888+48+4>>2];_[c+8>>2]=_[t+888+48+8>>2];_[c+12>>2]=_[t+888+48+12>>2];W=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;Ga[_[(_[W>>2]|0)+64>>2]&7](W,L+112|0,B)}else{_[L+112>>2]=_[t+888>>2];_[L+112+4>>2]=_[t+888+4>>2];_[L+112+8>>2]=_[t+888+8>>2];_[L+112+12>>2]=_[t+888+12>>2];_[o>>2]=_[t+888+16>>2];_[o+4>>2]=_[t+888+16+4>>2];_[o+8>>2]=_[t+888+16+8>>2];_[o+12>>2]=_[t+888+16+12>>2];_[s>>2]=_[t+888+32>>2];_[s+4>>2]=_[t+888+32+4>>2];_[s+8>>2]=_[t+888+32+8>>2];_[s+12>>2]=_[t+888+32+12>>2];_[c>>2]=_[t+888+48>>2];_[c+4>>2]=_[t+888+48+4>>2];_[c+8>>2]=_[t+888+48+8>>2];_[c+12>>2]=_[t+888+48+12>>2]}if(F){D=n[t+180>>0]|0?t+824|0:t+888|0;T=_[D>>2]|0;G=_[D+4>>2]|0;O=_[D+16>>2]|0;W=_[D+20>>2]|0;H=_[D+32>>2]|0;F=_[D+36>>2]|0;E=+a[D+48>>2];N=+a[D+52>>2];X=+a[D+56>>2];$=+a[t+184>>2];z=(_[b>>2]=T,+a[b>>2]);Q=(_[b>>2]=G,+a[b>>2])*0.0;q=+a[D+8>>2]*0.0;Z=(_[b>>2]=O,+a[b>>2]);K=(_[b>>2]=W,+a[b>>2])*0.0;U=+a[D+24>>2]*0.0;ee=(_[b>>2]=H,+a[b>>2]);Y=(_[b>>2]=F,+a[b>>2])*0.0;J=+a[D+40>>2]*0.0;a[L+96>>2]=E+(q+(Q+z*$));a[L+96+4>>2]=N+(U+(K+Z*$));a[L+96+8>>2]=X+(J+(Y+ee*$));a[L+96+12>>2]=0.0;$=+a[t+188>>2];a[L+80>>2]=E+(q+(Q+z*$));a[L+80+4>>2]=N+(U+(K+Z*$));a[L+80+8>>2]=X+(J+(Y+ee*$));a[L+80+12>>2]=0.0;D=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;x=_[(_[D>>2]|0)+16>>2]|0;_[L+64>>2]=0;_[L+64+4>>2]=0;_[L+64+8>>2]=0;_[L+64+12>>2]=0;$a[x&127](D,L+96|0,L+80|0,L+64|0);_[L+64>>2]=T;_[L+64+4>>2]=O;_[L+64+8>>2]=H;a[L+64+12>>2]=0.0;_[L+48>>2]=G;_[L+48+4>>2]=W;_[L+48+8>>2]=F;a[L+48+12>>2]=0.0;$=+a[t+192>>2];ee=+a[t+196>>2];e=ya[_[(_[e>>2]|0)+20>>2]&127](e)|0;F=_[(_[e>>2]|0)+68>>2]|0;_[L+32>>2]=0;_[L+32+4>>2]=0;_[L+32+8>>2]=0;_[L+32+12>>2]=0;ja[F&0](e,t+888+48|0,L+64|0,L+48|0,B,B,$,ee,L+32|0,1,10.0)}u=L;return}default:{u=L;return}}}function ac(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,s=0,c=0.0,l=0.0,f=0,b=0.0,p=0,d=0,m=0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0,q=0,Q=0,z=0,N=0.0,U=0,K=0,Z=0,X=0,J=0,Y=0,$=0,ee=0,te=0,ie=0,ne=0,re=0,_e=0,oe=0,se=0,ce=0,ae=0;ae=u;u=u+64|0;if((i|0)<=0){u=ae;return}$=ae+16+4|0;ee=ae+16+8|0;X=0;do{te=_[t+(X<<2)>>2]|0;ie=_[te+772>>2]|0;ne=_[te+776>>2]|0;re=Ri(e,ie,+a[r+12>>2])|0;_e=Ri(e,ne,+a[r+12>>2])|0;oe=_[e+16>>2]|0;L=+a[oe+(re*244|0)+128>>2];V=+a[oe+(re*244|0)+132>>2];N=+a[oe+(re*244|0)+136>>2];if(!(L*L+V*V+N*N<1.4210854715202004e-14?(L=+a[oe+(_e*244|0)+128>>2],V=+a[oe+(_e*244|0)+132>>2],N=+a[oe+(_e*244|0)+136>>2],L*L+V*V+N*N<1.4210854715202004e-14):0))ce=5;if((ce|0)==5?(ce=0,se=_[te+780>>2]|0,(se|0)>0):0){J=0;o=se;do{K=te+4+(J*192|0)|0;p=te+4+(J*192|0)+80|0;if(+a[p>>2]<=+a[te+788>>2]){Z=_[e+28>>2]|0;if((Z|0)==(_[e+32>>2]|0)?(Y=Z|0?Z<<1:1,(Z|0)<(Y|0)):0){if(!Y){o=0;f=Z}else{_[6293]=(_[6293]|0)+1;o=cc((Y*152|3)+16|0)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}f=_[e+28>>2]|0}if((f|0)>0){s=0;do{oh(o+(s*152|0)|0,(_[e+36>>2]|0)+(s*152|0)|0,152)|0;s=s+1|0}while((s|0)!=(f|0))}s=_[e+36>>2]|0;if(s|0){if(n[e+40>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[e+36>>2]=0}n[e+40>>0]=1;_[e+36>>2]=o;_[e+32>>2]=Y;o=_[e+28>>2]|0}else o=Z;_[e+28>>2]=o+1;U=_[e+36>>2]|0;_[U+(Z*152|0)+144>>2]=re;_[U+(Z*152|0)+148>>2]=_e;_[U+(Z*152|0)+132>>2]=K;S=+a[te+4+(J*192|0)+48>>2]-+a[ie+52>>2];j=+a[te+4+(J*192|0)+52>>2]-+a[ie+56>>2];k=+a[te+4+(J*192|0)+56>>2]-+a[ie+60>>2];a[ae+48>>2]=S;a[ae+48+4>>2]=j;a[ae+48+8>>2]=k;a[ae+48+12>>2]=0.0;M=+a[te+4+(J*192|0)+32>>2]-+a[ne+52>>2];D=+a[te+4+(J*192|0)+36>>2]-+a[ne+56>>2];x=+a[te+4+(J*192|0)+40>>2]-+a[ne+60>>2];a[ae+32>>2]=M;a[ae+32+4>>2]=D;a[ae+32+8>>2]=x;a[ae+32+12>>2]=0.0;if(!(_[oe+(re*244|0)+240>>2]|0)){l=0.0;h=0.0;g=0.0}else{N=+a[oe+(re*244|0)+192>>2]+ +a[oe+(re*244|0)+224>>2];g=+a[oe+(re*244|0)+196>>2]+ +a[oe+(re*244|0)+228>>2];h=+a[oe+(re*244|0)+200>>2]+ +a[oe+(re*244|0)+232>>2];l=+a[oe+(re*244|0)+176>>2]+ +a[oe+(re*244|0)+208>>2]+(g*k-h*j);h=+a[oe+(re*244|0)+180>>2]+ +a[oe+(re*244|0)+212>>2]+(h*S-N*k);g=+a[oe+(re*244|0)+184>>2]+ +a[oe+(re*244|0)+216>>2]+(N*j-g*S)}if(!(_[oe+(_e*244|0)+240>>2]|0)){c=0.0;b=0.0;y=0.0}else{N=+a[oe+(_e*244|0)+192>>2]+ +a[oe+(_e*244|0)+224>>2];y=+a[oe+(_e*244|0)+196>>2]+ +a[oe+(_e*244|0)+228>>2];b=+a[oe+(_e*244|0)+200>>2]+ +a[oe+(_e*244|0)+232>>2];c=+a[oe+(_e*244|0)+176>>2]+ +a[oe+(_e*244|0)+208>>2]+(y*x-b*D);b=+a[oe+(_e*244|0)+180>>2]+ +a[oe+(_e*244|0)+212>>2]+(b*M-N*x);y=+a[oe+(_e*244|0)+184>>2]+ +a[oe+(_e*244|0)+216>>2]+(N*D-y*M)}V=l-c;L=h-b;F=g-y;E=te+4+(J*192|0)+64|0;A=+a[E>>2];q=te+4+(J*192|0)+68|0;P=+a[q>>2];Q=te+4+(J*192|0)+72|0;B=+a[Q>>2];d=_[e+16>>2]|0;s=_[d+(re*244|0)+240>>2]|0;f=_[d+(_e*244|0)+240>>2]|0;N=+a[r+28>>2];H=+a[r+12>>2];c=+a[r+40>>2];l=+a[r+36>>2];z=te+4+(J*192|0)+120|0;o=_[z>>2]|0;if(!(o&6))if(!(o&8))O=l;else{O=H*+a[te+4+(J*192|0)+144>>2];c=O+ +a[te+4+(J*192|0)+148>>2];c=c<1.1920928955078125e-07?1.1920928955078125e-07:c;O=O/c;c=1.0/c}else{c=(o&2|0)==0?c:+a[te+4+(J*192|0)+144>>2];if(!(o&4))O=l;else O=+a[te+4+(J*192|0)+148>>2]}T=1.0/H*c;if(s|0){c=((j*B-k*P)*+a[s+324>>2]+(k*A-B*S)*+a[s+328>>2]+(P*S-j*A)*+a[s+332>>2])*+a[s+604>>2];l=((j*B-k*P)*+a[s+340>>2]+(k*A-B*S)*+a[s+344>>2]+(P*S-j*A)*+a[s+348>>2])*+a[s+608>>2];b=((j*B-k*P)*+a[s+356>>2]+(k*A-B*S)*+a[s+360>>2]+(P*S-j*A)*+a[s+364>>2])*+a[s+612>>2]}else{c=0.0;l=0.0;b=0.0}a[U+(Z*152|0)+64>>2]=c;a[U+(Z*152|0)+68>>2]=l;a[U+(Z*152|0)+72>>2]=b;a[U+(Z*152|0)+76>>2]=0.0;C=+a[Q>>2];v=+a[q>>2];w=+a[E>>2];if(f|0){h=(+a[f+324>>2]*-(D*C-x*v)+ +a[f+328>>2]*-(x*w-C*M)+ +a[f+332>>2]*-(v*M-D*w))*+a[f+604>>2];y=(+a[f+340>>2]*-(D*C-x*v)+ +a[f+344>>2]*-(x*w-C*M)+ +a[f+348>>2]*-(v*M-D*w))*+a[f+608>>2];g=(+a[f+356>>2]*-(D*C-x*v)+ +a[f+360>>2]*-(x*w-C*M)+ +a[f+364>>2]*-(v*M-D*w))*+a[f+612>>2]}else{h=0.0;y=0.0;g=0.0}a[U+(Z*152|0)+80>>2]=h;a[U+(Z*152|0)+84>>2]=y;a[U+(Z*152|0)+88>>2]=g;a[U+(Z*152|0)+92>>2]=0.0;if(s|0)l=+a[s+404>>2]+((l*k-b*j)*+a[E>>2]+(b*S-k*c)*+a[q>>2]+(j*c-l*S)*+a[Q>>2]);else l=0.0;if(f|0){I=-h;c=-y;g=-g;c=+a[f+404>>2]+((x*c-D*g)*+a[E>>2]+(M*g-x*I)*+a[q>>2]+(D*I-M*c)*+a[Q>>2])}else c=0.0;a[U+(Z*152|0)+108>>2]=N/(T+(l+c));if(s|0){_[U+(Z*152|0)+16>>2]=_[E>>2];_[U+(Z*152|0)+16+4>>2]=_[E+4>>2];_[U+(Z*152|0)+16+8>>2]=_[E+8>>2];_[U+(Z*152|0)+16+12>>2]=_[E+12>>2];a[U+(Z*152|0)>>2]=j*B-k*P;a[U+(Z*152|0)+4>>2]=k*A-B*S;a[U+(Z*152|0)+8>>2]=P*S-j*A;a[U+(Z*152|0)+12>>2]=0.0}else{_[U+(Z*152|0)>>2]=0;_[U+(Z*152|0)+4>>2]=0;_[U+(Z*152|0)+8>>2]=0;_[U+(Z*152|0)+12>>2]=0;_[U+(Z*152|0)+16>>2]=0;_[U+(Z*152|0)+20>>2]=0;_[U+(Z*152|0)+24>>2]=0;_[U+(Z*152|0)+28>>2]=0}if(f|0){g=-+a[q>>2];I=-+a[Q>>2];a[U+(Z*152|0)+48>>2]=-+a[E>>2];a[U+(Z*152|0)+52>>2]=g;a[U+(Z*152|0)+56>>2]=I;a[U+(Z*152|0)+60>>2]=0.0;a[U+(Z*152|0)+32>>2]=-(D*C-x*v);a[U+(Z*152|0)+36>>2]=-(x*w-C*M);a[U+(Z*152|0)+40>>2]=-(v*M-D*w);a[U+(Z*152|0)+44>>2]=0.0}else{_[U+(Z*152|0)+32>>2]=0;_[U+(Z*152|0)+32+4>>2]=0;_[U+(Z*152|0)+32+8>>2]=0;_[U+(Z*152|0)+32+12>>2]=0;_[U+(Z*152|0)+32+16>>2]=0;_[U+(Z*152|0)+32+20>>2]=0;_[U+(Z*152|0)+32+24>>2]=0;_[U+(Z*152|0)+32+28>>2]=0}I=+a[p>>2]+ +a[r+64>>2];if(s|0){h=+a[s+392>>2];y=+a[s+396>>2];w=+a[s+388>>2];g=h*k-y*j+ +a[s+372>>2];y=+a[s+376>>2]+(y*S-k*w);h=j*w-h*S+ +a[s+380>>2]}else{g=0.0;y=0.0;h=0.0}if(f|0){c=+a[f+392>>2];l=+a[f+396>>2];j=+a[f+388>>2];b=c*x-l*D+ +a[f+372>>2];l=+a[f+376>>2]+(l*M-x*j);c=D*j-c*M+ +a[f+380>>2]}else{b=0.0;l=0.0;c=0.0}x=(g-b)*+a[E>>2]+(y-l)*+a[q>>2]+(h-c)*+a[Q>>2];_[U+(Z*152|0)+104>>2]=_[te+4+(J*192|0)+84>>2];o=+G(+x)<+a[r+96>>2];x=o?0.0:-(x*+a[te+4+(J*192|0)+96>>2]);x=x<=0.0?0.0:x;o=_[r+72>>2]|0;do{if(!(o&4))a[U+(Z*152|0)+100>>2]=0.0;else{c=+a[te+4+(J*192|0)+124>>2]*+a[r+68>>2];a[U+(Z*152|0)+100>>2]=c;do{if(s|0){if(!(_[d+(re*244|0)+240>>2]|0))break;D=c*+a[U+(Z*152|0)+20>>2]*+a[d+(re*244|0)+132>>2]*+a[s+412>>2]*+a[d+(re*244|0)+116>>2];M=c*+a[U+(Z*152|0)+24>>2]*+a[d+(re*244|0)+136>>2]*+a[s+416>>2]*+a[d+(re*244|0)+120>>2];a[d+(re*244|0)+64>>2]=+a[d+(re*244|0)+112>>2]*c*+a[U+(Z*152|0)+16>>2]*+a[d+(re*244|0)+128>>2]*+a[s+408>>2]+ +a[d+(re*244|0)+64>>2];a[d+(re*244|0)+68>>2]=D+ +a[d+(re*244|0)+68>>2];a[d+(re*244|0)+72>>2]=M+ +a[d+(re*244|0)+72>>2];M=c*+a[d+(re*244|0)+100>>2]*+a[U+(Z*152|0)+68>>2];D=c*+a[d+(re*244|0)+104>>2]*+a[U+(Z*152|0)+72>>2];a[d+(re*244|0)+80>>2]=c*+a[d+(re*244|0)+96>>2]*+a[U+(Z*152|0)+64>>2]+ +a[d+(re*244|0)+80>>2];a[d+(re*244|0)+84>>2]=M+ +a[d+(re*244|0)+84>>2];a[d+(re*244|0)+88>>2]=D+ +a[d+(re*244|0)+88>>2]}}while(0);if(!f)break;c=+a[U+(Z*152|0)+100>>2];if(!(_[d+(_e*244|0)+240>>2]|0))break;D=+a[U+(Z*152|0)+88>>2];M=+a[U+(Z*152|0)+84>>2];j=+a[U+(Z*152|0)+80>>2];k=c*+a[U+(Z*152|0)+52>>2]*+a[d+(_e*244|0)+132>>2]*+a[f+412>>2]*+a[d+(_e*244|0)+116>>2];S=c*+a[U+(Z*152|0)+56>>2]*+a[d+(_e*244|0)+136>>2]*+a[f+416>>2]*+a[d+(_e*244|0)+120>>2];a[d+(_e*244|0)+64>>2]=+a[d+(_e*244|0)+112>>2]*c*+a[U+(Z*152|0)+48>>2]*+a[d+(_e*244|0)+128>>2]*+a[f+408>>2]+ +a[d+(_e*244|0)+64>>2];a[d+(_e*244|0)+68>>2]=k+ +a[d+(_e*244|0)+68>>2];a[d+(_e*244|0)+72>>2]=S+ +a[d+(_e*244|0)+72>>2];M=M*+a[d+(_e*244|0)+100>>2]*-c;D=D*+a[d+(_e*244|0)+104>>2]*-c;a[d+(_e*244|0)+80>>2]=+a[d+(_e*244|0)+80>>2]-j*+a[d+(_e*244|0)+96>>2]*-c;a[d+(_e*244|0)+84>>2]=+a[d+(_e*244|0)+84>>2]-M;a[d+(_e*244|0)+88>>2]=+a[d+(_e*244|0)+88>>2]-D}}while(0);a[U+(Z*152|0)+96>>2]=0.0;if(!(_[d+(re*244|0)+240>>2]|0)){c=0.0;l=0.0;b=0.0;h=0.0;y=0.0;g=0.0}else{c=+a[d+(re*244|0)+208>>2];l=+a[d+(re*244|0)+212>>2];b=+a[d+(re*244|0)+216>>2];h=+a[d+(re*244|0)+224>>2];y=+a[d+(re*244|0)+228>>2];g=+a[d+(re*244|0)+232>>2]}if(!(_[d+(_e*244|0)+240>>2]|0)){C=0.0;v=0.0;w=0.0;k=0.0;S=0.0;j=0.0}else{C=+a[d+(_e*244|0)+208>>2];v=+a[d+(_e*244|0)+212>>2];w=+a[d+(_e*244|0)+216>>2];k=+a[d+(_e*244|0)+224>>2];S=+a[d+(_e*244|0)+228>>2];j=+a[d+(_e*244|0)+232>>2]}c=x-((c+ +a[d+(re*244|0)+176>>2])*+a[U+(Z*152|0)+16>>2]+(l+ +a[d+(re*244|0)+180>>2])*+a[U+(Z*152|0)+20>>2]+(b+ +a[d+(re*244|0)+184>>2])*+a[U+(Z*152|0)+24>>2]+((h+ +a[d+(re*244|0)+192>>2])*+a[U+(Z*152|0)>>2]+(y+ +a[d+(re*244|0)+196>>2])*+a[U+(Z*152|0)+4>>2]+(g+ +a[d+(re*244|0)+200>>2])*+a[U+(Z*152|0)+8>>2])+((C+ +a[d+(_e*244|0)+176>>2])*+a[U+(Z*152|0)+48>>2]+(v+ +a[d+(_e*244|0)+180>>2])*+a[U+(Z*152|0)+52>>2]+(w+ +a[d+(_e*244|0)+184>>2])*+a[U+(Z*152|0)+56>>2]+((k+ +a[d+(_e*244|0)+192>>2])*+a[U+(Z*152|0)+32>>2]+(S+ +a[d+(_e*244|0)+196>>2])*+a[U+(Z*152|0)+36>>2]+(j+ +a[d+(_e*244|0)+200>>2])*+a[U+(Z*152|0)+40>>2])));if(I>0.0){l=c-1.0/H*I;c=0.0}else{l=c;c=-(1.0/H*O*I)}H=+a[U+(Z*152|0)+108>>2];O=c*H;D=l*H;f=(_[r+52>>2]|0)==0?1:I>+a[r+56>>2];a[U+(Z*152|0)+112>>2]=f?O+D:D;a[U+(Z*152|0)+128>>2]=f?0.0:O;a[U+(Z*152|0)+116>>2]=T*H;a[U+(Z*152|0)+120>>2]=0.0;a[U+(Z*152|0)+124>>2]=1.0e10;_[U+(Z*152|0)+140>>2]=_[e+68>>2];f=te+4+(J*192|0)+88|0;if(+a[f>>2]>0.0){rd(e,E,re,_e,Z,+a[te+4+(J*192|0)+92>>2]);c=+a[Q>>2];if(+G(+c)>.7071067690849304){O=+a[q>>2];T=1.0/+W(+(c*c+O*O));a[ae+16>>2]=0.0;a[$>>2]=-(T*c);a[ee>>2]=T*O;a[ae>>2]=(c*c+O*O)*T;H=+a[E>>2];a[ae+4>>2]=-(T*O*H);C=H*-(T*c);l=0.0;b=-(T*c);h=T*O;y=(c*c+O*O)*T;c=-(T*O*H)}else{y=+a[E>>2];O=+a[q>>2];H=1.0/+W(+(y*y+O*O));a[ae+16>>2]=-(O*H);a[$>>2]=H*y;a[ee>>2]=0.0;a[ae>>2]=-(H*y*c);a[ae+4>>2]=c*-(O*H);C=(y*y+O*O)*H;l=-(O*H);b=H*y;h=0.0;y=-(H*y*c);c=c*-(O*H)}g=1.0/+W(+(l*l+b*b+h*h));v=l*g;a[ae+16>>2]=v;w=b*g;a[$>>2]=w;g=h*g;a[ee>>2]=g;H=1.0/+W(+(y*y+c*c+C*C));b=y*H;a[ae>>2]=b;l=c*H;a[ae+4>>2]=l;c=C*H;a[ae+8>>2]=c;o=(_[ie+180>>2]&2|0)==0;if(o){h=v;y=w}else{S=+a[ie+4>>2];x=+a[ie+20>>2];M=+a[ie+36>>2];j=+a[ie+8>>2];I=+a[ie+24>>2];T=+a[ie+40>>2];h=+a[ie+12>>2];y=+a[ie+28>>2];H=+a[ie+44>>2];D=(S*v+x*w+M*g)*+a[ie+164>>2];O=(v*j+w*I+g*T)*+a[ie+168>>2];g=(v*h+w*y+g*H)*+a[ie+172>>2];a[ae+16>>2]=S*D+j*O+h*g;a[$>>2]=x*D+I*O+y*g;a[ee>>2]=M*D+T*O+H*g;a[ae+16+12>>2]=0.0;h=S*D+j*O+h*g;y=x*D+I*O+y*g;g=M*D+T*O+H*g}s=(_[ne+180>>2]&2|0)==0;if(!s){w=+a[ne+4>>2];j=+a[ne+20>>2];M=+a[ne+36>>2];k=+a[ne+8>>2];x=+a[ne+24>>2];T=+a[ne+40>>2];S=+a[ne+12>>2];I=+a[ne+28>>2];H=+a[ne+44>>2];D=(w*h+j*y+M*g)*+a[ne+164>>2];O=(h*k+y*x+g*T)*+a[ne+168>>2];g=(h*S+y*I+g*H)*+a[ne+172>>2];a[ae+16>>2]=w*D+k*O+S*g;a[$>>2]=j*D+x*O+I*g;a[ee>>2]=M*D+T*O+H*g;a[ae+16+12>>2]=0.0;h=w*D+k*O+S*g;y=j*D+x*O+I*g;g=M*D+T*O+H*g}if(!((ie|0)==0|o)){w=+a[ie+4>>2];j=+a[ie+20>>2];M=+a[ie+36>>2];k=+a[ie+8>>2];x=+a[ie+24>>2];T=+a[ie+40>>2];S=+a[ie+12>>2];I=+a[ie+28>>2];H=+a[ie+44>>2];D=(w*b+j*l+M*c)*+a[ie+164>>2];O=(b*k+l*x+c*T)*+a[ie+168>>2];c=(b*S+l*I+c*H)*+a[ie+172>>2];a[ae>>2]=w*D+k*O+S*c;a[ae+4>>2]=j*D+x*O+I*c;a[ae+8>>2]=M*D+T*O+H*c;a[ae+12>>2]=0.0;b=w*D+k*O+S*c;l=j*D+x*O+I*c;c=M*D+T*O+H*c}if(!((ne|0)==0|s)){w=+a[ne+4>>2];j=+a[ne+20>>2];M=+a[ne+36>>2];k=+a[ne+8>>2];x=+a[ne+24>>2];T=+a[ne+40>>2];S=+a[ne+12>>2];I=+a[ne+28>>2];H=+a[ne+44>>2];D=(w*b+j*l+M*c)*+a[ne+164>>2];O=(b*k+l*x+c*T)*+a[ne+168>>2];c=(b*S+l*I+c*H)*+a[ne+172>>2];a[ae>>2]=w*D+k*O+S*c;a[ae+4>>2]=j*D+x*O+I*c;a[ae+8>>2]=M*D+T*O+H*c;a[ae+12>>2]=0.0;b=w*D+k*O+S*c;l=j*D+x*O+I*c;c=M*D+T*O+H*c}if(+W(+(h*h+y*y+g*g))>.001)rd(e,ae+16|0,re,_e,Z,+a[f>>2]);if(+W(+(b*b+l*l+c*c))>.001)rd(e,ae,re,_e,Z,+a[f>>2]);o=_[r+72>>2]|0}do{if(!(o&32))ce=82;else{if(!(_[z>>2]&1)){ce=82;break}o=te+4+(J*192|0)+152|0;Rc(e,te+4+(J*192|0)+160|0,re,_e,Z,K,ae+48|0,ae+32|0,N,r,+a[te+4+(J*192|0)+136>>2],+a[o>>2]);if(!(_[r+72>>2]&16))break;Rc(e,te+4+(J*192|0)+176|0,re,_e,Z,K,ae+48|0,ae+32|0,N,r,+a[te+4+(J*192|0)+140>>2],+a[o>>2])}}while(0);do{if((ce|0)==82){ce=0;c=+a[E>>2];v=+a[q>>2];C=+a[Q>>2];l=V-(V*A+L*P+F*B)*c;y=L-(V*A+L*P+F*B)*v;h=F-(V*A+L*P+F*B)*C;R=te+4+(J*192|0)+160|0;a[te+4+(J*192|0)+160>>2]=l;o=te+4+(J*192|0)+164|0;a[o>>2]=y;d=te+4+(J*192|0)+168|0;a[d>>2]=h;m=te+4+(J*192|0)+172|0;a[m>>2]=0.0;if((_[r+72>>2]&64|0)==0?l*l+y*y+h*h>1.1920928955078125e-07:0){c=1.0/+W(+(l*l+y*y+h*h));a[R>>2]=l*c;a[o>>2]=c*y;a[d>>2]=c*h;do{if(!ie){b=l*c;l=c*y;c=c*h}else{if(!(_[ie+180>>2]&1)){b=l*c;l=c*y;c=c*h;break}D=+a[ie+4>>2];O=+a[ie+20>>2];A=+a[ie+36>>2];T=+a[ie+8>>2];H=+a[ie+24>>2];B=+a[ie+40>>2];b=+a[ie+12>>2];F=+a[ie+28>>2];V=+a[ie+44>>2];P=(D*l*c+O*c*y+c*h*A)*+a[ie+164>>2];L=(l*c*T+c*y*H+c*h*B)*+a[ie+168>>2];c=(l*c*b+c*y*F+c*h*V)*+a[ie+172>>2];a[R>>2]=D*P+T*L+b*c;a[o>>2]=O*P+H*L+F*c;a[d>>2]=A*P+B*L+V*c;a[m>>2]=0.0;b=D*P+T*L+b*c;l=O*P+H*L+F*c;c=A*P+B*L+V*c}}while(0);do{if(ne|0){if(!(_[ne+180>>2]&1))break;I=+a[ne+4>>2];T=+a[ne+20>>2];F=+a[ne+36>>2];M=+a[ne+8>>2];O=+a[ne+24>>2];P=+a[ne+40>>2];D=+a[ne+12>>2];H=+a[ne+28>>2];L=+a[ne+44>>2];A=(I*b+T*l+F*c)*+a[ne+164>>2];B=(b*M+l*O+c*P)*+a[ne+168>>2];V=(b*D+l*H+c*L)*+a[ne+172>>2];a[R>>2]=I*A+M*B+D*V;a[o>>2]=T*A+O*B+H*V;a[d>>2]=F*A+P*B+L*V;a[m>>2]=0.0}}while(0);Rc(e,R,re,_e,Z,K,ae+48|0,ae+32|0,N,r,0.0,0.0);if(!(_[r+72>>2]&16))break;L=+a[o>>2];b=+a[Q>>2];A=+a[d>>2];P=+a[q>>2];V=+a[E>>2];B=+a[R>>2];p=te+4+(J*192|0)+176|0;a[te+4+(J*192|0)+176>>2]=L*b-A*P;o=te+4+(J*192|0)+180|0;s=te+4+(J*192|0)+184|0;f=te+4+(J*192|0)+188|0;a[f>>2]=0.0;l=1.0/+W(+((L*b-A*P)*(L*b-A*P)+(A*V-b*B)*(A*V-b*B)+(P*B-L*V)*(P*B-L*V)));c=(L*b-A*P)*l;a[p>>2]=c;b=(A*V-b*B)*l;a[o>>2]=b;l=(P*B-L*V)*l;a[s>>2]=l;do{if(ie){if(!(_[ie+180>>2]&1))break;M=+a[ie+4>>2];O=+a[ie+20>>2];A=+a[ie+36>>2];D=+a[ie+8>>2];H=+a[ie+24>>2];B=+a[ie+40>>2];T=+a[ie+12>>2];F=+a[ie+28>>2];V=+a[ie+44>>2];P=(M*c+O*b+l*A)*+a[ie+164>>2];L=(c*D+b*H+l*B)*+a[ie+168>>2];l=(c*T+b*F+l*V)*+a[ie+172>>2];a[p>>2]=M*P+D*L+T*l;a[o>>2]=O*P+H*L+F*l;a[s>>2]=A*P+B*L+V*l;a[f>>2]=0.0;c=M*P+D*L+T*l;b=O*P+H*L+F*l;l=A*P+B*L+V*l}}while(0);do{if(ne|0){if(!(_[ne+180>>2]&1))break;I=+a[ne+4>>2];T=+a[ne+20>>2];F=+a[ne+36>>2];M=+a[ne+8>>2];O=+a[ne+24>>2];P=+a[ne+40>>2];D=+a[ne+12>>2];H=+a[ne+28>>2];L=+a[ne+44>>2];A=(I*c+T*b+F*l)*+a[ne+164>>2];B=(c*M+b*O+l*P)*+a[ne+168>>2];V=(c*D+b*H+l*L)*+a[ne+172>>2];a[p>>2]=I*A+M*B+D*V;a[o>>2]=T*A+O*B+H*V;a[s>>2]=F*A+P*B+L*V;a[f>>2]=0.0}}while(0);Rc(e,p,re,_e,Z,K,ae+48|0,ae+32|0,N,r,0.0,0.0);break}p=te+4+(J*192|0)+176|0;if(+G(+C)>.7071067690849304){V=1.0/+W(+(C*C+v*v));a[R>>2]=0.0;a[o>>2]=-(V*C);a[d>>2]=V*v;y=-(V*v*c);g=c*-(V*C);h=(C*C+v*v)*V;b=0.0;l=-(V*C);c=V*v}else{l=1.0/+W(+(c*c+v*v));a[R>>2]=-(v*l);a[o>>2]=l*c;a[d>>2]=0.0;y=C*-(v*l);g=(c*c+v*v)*l;h=-(l*c*C);b=-(v*l);l=l*c;c=0.0}a[p>>2]=h;f=te+4+(J*192|0)+180|0;a[f>>2]=y;s=te+4+(J*192|0)+184|0;a[s>>2]=g;do{if(ie){if(!(_[ie+180>>2]&1))break;M=+a[ie+4>>2];O=+a[ie+20>>2];A=+a[ie+36>>2];D=+a[ie+8>>2];H=+a[ie+24>>2];B=+a[ie+40>>2];T=+a[ie+12>>2];F=+a[ie+28>>2];V=+a[ie+44>>2];P=(M*b+O*l+A*c)*+a[ie+164>>2];L=(b*D+l*H+c*B)*+a[ie+168>>2];c=(b*T+l*F+c*V)*+a[ie+172>>2];a[R>>2]=M*P+D*L+T*c;a[o>>2]=O*P+H*L+F*c;a[d>>2]=A*P+B*L+V*c;a[m>>2]=0.0;b=M*P+D*L+T*c;l=O*P+H*L+F*c;c=A*P+B*L+V*c}}while(0);do{if(ne|0){if(!(_[ne+180>>2]&1))break;I=+a[ne+4>>2];T=+a[ne+20>>2];F=+a[ne+36>>2];M=+a[ne+8>>2];O=+a[ne+24>>2];P=+a[ne+40>>2];D=+a[ne+12>>2];H=+a[ne+28>>2];L=+a[ne+44>>2];A=(I*b+T*l+F*c)*+a[ne+164>>2];B=(b*M+l*O+c*P)*+a[ne+168>>2];V=(b*D+l*H+c*L)*+a[ne+172>>2];a[R>>2]=I*A+M*B+D*V;a[o>>2]=T*A+O*B+H*V;a[d>>2]=F*A+P*B+L*V;a[m>>2]=0.0}}while(0);Rc(e,R,re,_e,Z,K,ae+48|0,ae+32|0,N,r,0.0,0.0);o=_[r+72>>2]|0;if(o&16){do{if(ie|0){if(!(_[ie+180>>2]&1))break;I=+a[ie+4>>2];j=+a[p>>2];T=+a[ie+20>>2];x=+a[f>>2];F=+a[ie+36>>2];V=+a[s>>2];M=+a[ie+8>>2];O=+a[ie+24>>2];P=+a[ie+40>>2];D=+a[ie+12>>2];H=+a[ie+28>>2];L=+a[ie+44>>2];A=(I*j+T*x+F*V)*+a[ie+164>>2];B=(j*M+x*O+V*P)*+a[ie+168>>2];V=(j*D+x*H+V*L)*+a[ie+172>>2];a[p>>2]=I*A+M*B+D*V;a[f>>2]=T*A+O*B+H*V;a[s>>2]=F*A+P*B+L*V;a[te+4+(J*192|0)+188>>2]=0.0}}while(0);do{if(ne|0){if(!(_[ne+180>>2]&1))break;I=+a[ne+4>>2];j=+a[p>>2];T=+a[ne+20>>2];x=+a[f>>2];F=+a[ne+36>>2];V=+a[s>>2];M=+a[ne+8>>2];O=+a[ne+24>>2];P=+a[ne+40>>2];D=+a[ne+12>>2];H=+a[ne+28>>2];L=+a[ne+44>>2];A=(I*j+T*x+F*V)*+a[ne+164>>2];B=(j*M+x*O+V*P)*+a[ne+168>>2];V=(j*D+x*H+V*L)*+a[ne+172>>2];a[p>>2]=I*A+M*B+D*V;a[f>>2]=T*A+O*B+H*V;a[s>>2]=F*A+P*B+L*V;a[te+4+(J*192|0)+188>>2]=0.0}}while(0);Rc(e,p,re,_e,Z,K,ae+48|0,ae+32|0,N,r,0.0,0.0);o=_[r+72>>2]|0}if((o&80|0)!=80)break;_[z>>2]=_[z>>2]|1}}while(0);m=_[e+16>>2]|0;s=_[m+(re*244|0)+240>>2]|0;f=_[m+(_e*244|0)+240>>2]|0;p=_[U+(Z*152|0)+140>>2]|0;d=_[e+76>>2]|0;o=_[r+72>>2]|0;do{if(!(o&4))a[d+(p*152|0)+100>>2]=0.0;else{c=+a[te+4+(J*192|0)+128>>2]*+a[r+68>>2];a[d+(p*152|0)+100>>2]=c;if(s|0){L=+a[s+404>>2];N=c*L*+a[d+(p*152|0)+20>>2]*+a[s+412>>2]*+a[m+(re*244|0)+116>>2];V=c*L*+a[d+(p*152|0)+24>>2]*+a[s+416>>2]*+a[m+(re*244|0)+120>>2];a[m+(re*244|0)+64>>2]=+a[m+(re*244|0)+112>>2]*c*L*+a[d+(p*152|0)+16>>2]*+a[s+408>>2]+ +a[m+(re*244|0)+64>>2];a[m+(re*244|0)+68>>2]=N+ +a[m+(re*244|0)+68>>2];a[m+(re*244|0)+72>>2]=V+ +a[m+(re*244|0)+72>>2];V=c*+a[m+(re*244|0)+100>>2]*+a[d+(p*152|0)+68>>2];N=c*+a[m+(re*244|0)+104>>2]*+a[d+(p*152|0)+72>>2];a[m+(re*244|0)+80>>2]=c*+a[m+(re*244|0)+96>>2]*+a[d+(p*152|0)+64>>2]+ +a[m+(re*244|0)+80>>2];a[m+(re*244|0)+84>>2]=V+ +a[m+(re*244|0)+84>>2];a[m+(re*244|0)+88>>2]=N+ +a[m+(re*244|0)+88>>2]}if(!f)break;c=+a[f+404>>2];l=+a[d+(p*152|0)+100>>2];if(!(_[m+(_e*244|0)+240>>2]|0))break;N=+a[d+(p*152|0)+88>>2];V=+a[d+(p*152|0)+84>>2];L=+a[d+(p*152|0)+80>>2];P=l*c*+a[d+(p*152|0)+52>>2]*+a[f+412>>2]*+a[m+(_e*244|0)+116>>2];B=l*c*+a[d+(p*152|0)+56>>2]*+a[f+416>>2]*+a[m+(_e*244|0)+120>>2];a[m+(_e*244|0)+64>>2]=+a[m+(_e*244|0)+112>>2]*l*c*+a[d+(p*152|0)+48>>2]*+a[f+408>>2]+ +a[m+(_e*244|0)+64>>2];a[m+(_e*244|0)+68>>2]=P+ +a[m+(_e*244|0)+68>>2];a[m+(_e*244|0)+72>>2]=B+ +a[m+(_e*244|0)+72>>2];V=V*+a[m+(_e*244|0)+100>>2]*-l;N=N*+a[m+(_e*244|0)+104>>2]*-l;a[m+(_e*244|0)+80>>2]=+a[m+(_e*244|0)+80>>2]-L*+a[m+(_e*244|0)+96>>2]*-l;a[m+(_e*244|0)+84>>2]=+a[m+(_e*244|0)+84>>2]-V;a[m+(_e*244|0)+88>>2]=+a[m+(_e*244|0)+88>>2]-N}}while(0);do{if(o&16|0){if(!(o&4)){a[d+((p+1|0)*152|0)+100>>2]=0.0;break}l=+a[te+4+(J*192|0)+132>>2]*+a[r+68>>2];a[d+((p+1|0)*152|0)+100>>2]=l;do{if(s|0){c=+a[s+404>>2];if(!(_[m+(re*244|0)+240>>2]|0))break;N=l*c*+a[d+((p+1|0)*152|0)+20>>2]*+a[m+(re*244|0)+116>>2];V=l*c*+a[d+((p+1|0)*152|0)+24>>2]*+a[m+(re*244|0)+120>>2];a[m+(re*244|0)+64>>2]=+a[m+(re*244|0)+112>>2]*l*c*+a[d+((p+1|0)*152|0)+16>>2]+ +a[m+(re*244|0)+64>>2];a[m+(re*244|0)+68>>2]=N+ +a[m+(re*244|0)+68>>2];a[m+(re*244|0)+72>>2]=V+ +a[m+(re*244|0)+72>>2];V=l*+a[m+(re*244|0)+100>>2]*+a[d+((p+1|0)*152|0)+68>>2];N=l*+a[m+(re*244|0)+104>>2]*+a[d+((p+1|0)*152|0)+72>>2];a[m+(re*244|0)+80>>2]=l*+a[m+(re*244|0)+96>>2]*+a[d+((p+1|0)*152|0)+64>>2]+ +a[m+(re*244|0)+80>>2];a[m+(re*244|0)+84>>2]=V+ +a[m+(re*244|0)+84>>2];a[m+(re*244|0)+88>>2]=N+ +a[m+(re*244|0)+88>>2]}}while(0);if(!f)break;c=+a[f+404>>2];l=+a[d+((p+1|0)*152|0)+100>>2];if(!(_[m+(_e*244|0)+240>>2]|0))break;N=+a[d+((p+1|0)*152|0)+88>>2];V=+a[d+((p+1|0)*152|0)+84>>2];L=+a[d+((p+1|0)*152|0)+80>>2];P=l*c*+a[d+((p+1|0)*152|0)+52>>2]*+a[m+(_e*244|0)+116>>2];B=l*c*+a[d+((p+1|0)*152|0)+56>>2]*+a[m+(_e*244|0)+120>>2];a[m+(_e*244|0)+64>>2]=+a[m+(_e*244|0)+112>>2]*l*c*+a[d+((p+1|0)*152|0)+48>>2]+ +a[m+(_e*244|0)+64>>2];a[m+(_e*244|0)+68>>2]=P+ +a[m+(_e*244|0)+68>>2];a[m+(_e*244|0)+72>>2]=B+ +a[m+(_e*244|0)+72>>2];V=V*+a[m+(_e*244|0)+100>>2]*-l;N=N*+a[m+(_e*244|0)+104>>2]*-l;a[m+(_e*244|0)+80>>2]=+a[m+(_e*244|0)+80>>2]-L*+a[m+(_e*244|0)+96>>2]*-l;a[m+(_e*244|0)+84>>2]=+a[m+(_e*244|0)+84>>2]-V;a[m+(_e*244|0)+88>>2]=+a[m+(_e*244|0)+88>>2]-N}}while(0);o=_[te+780>>2]|0}J=J+1|0}while((J|0)<(o|0))}X=X+1|0}while((X|0)!=(i|0));u=ae;return}function bc(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0,S=0,j=0,R=0,x=0,I=0,M=0,D=0,T=0,H=0,G=0,W=0,F=0,A=0,P=0,B=0,L=0;F=u;u=u+144|0;switch(i-t|0){case 0:{_[n>>2]=0;_[n+4>>2]=0;_[n+8>>2]=0;_[n+12>>2]=0;u=F;return}case 2:{f=_[(_[e+92>>2]|0)+(t<<2)>>2]|0;t=_[f+88>>2]|0;i=_[f+200>>2]|0;o=_[f+92>>2]|0;r=_[f+204>>2]|0;if((t|0)==(i|0)&(o|0)==(r|0))if((_[f+96>>2]|0)==(_[f+208>>2]|0)){_[f+8>>2]=0;_[f>>2]=f;_[f+4>>2]=f;_[n>>2]=f;_[n+4>>2]=f;_[n+8>>2]=f;_[n+12>>2]=f;u=F;return}else r=o;r=o-r|0;if(!(r|t-i)){s=(_[f+96>>2]|0)>(_[f+208>>2]|0);r=s?f+112|0:f;_[r>>2]=r;_[r+4>>2]=r;o=r;s=s?f:f+112|0;c=r;a=r;l=r}else{_[f>>2]=f+112;_[f+4>>2]=f+112;_[f+112>>2]=f;_[f+116>>2]=f;a=(t-i|0)<0|(t-i|0)==0&(r|0)<0;o=f;s=f+112|0;c=a?f+112|0:f;a=a?f:f+112|0;l=(r|0)<0|(t-i|0)<0&(r|0)==0?f:f+112|0;r=(r|0)<0|(t-i|0)<0&(r|0)==0?f+112|0:f}_[n>>2]=a;_[n+4>>2]=c;_[n+8>>2]=l;_[n+12>>2]=r;e=Af(e,o,s)|0;_[e>>2]=e;_[e+4>>2]=e;_[o+8>>2]=e;e=_[e+8>>2]|0;_[e>>2]=e;_[e+4>>2]=e;_[s+8>>2]=e;u=F;return}case 1:{e=_[(_[e+92>>2]|0)+(t<<2)>>2]|0;_[e+8>>2]=0;_[e>>2]=e;_[e+4>>2]=e;_[n>>2]=e;_[n+4>>2]=e;_[n+8>>2]=e;_[n+12>>2]=e;u=F;return}default:{b=((i-t|0)/2|0)+t|0;f=_[e+92>>2]|0;l=_[f+(b+-1<<2)>>2]|0;c=_[l+88>>2]|0;a=_[l+92>>2]|0;l=_[l+96>>2]|0;e:do{if((b|0)<(i|0)){r=b;do{o=_[f+(r<<2)>>2]|0;if((_[o+88>>2]|0)!=(c|0))break e;if((_[o+92>>2]|0)!=(a|0))break e;if((_[o+96>>2]|0)!=(l|0))break e;r=r+1|0}while((r|0)<(i|0))}else r=b}while(0);bc(e,t,b,n);_[F+96>>2]=0;_[F+96+4>>2]=0;_[F+96+8>>2]=0;_[F+96+12>>2]=0;bc(e,r,i,F+96|0);l=_[F+96+4>>2]|0;e:do{if(l|0){R=_[n+4>>2]|0;if(!R){_[n>>2]=_[F+96>>2];_[n+4>>2]=_[F+96+4>>2];_[n+8>>2]=_[F+96+8>>2];_[n+12>>2]=_[F+96+12>>2];break}_[e+100>>2]=(_[e+100>>2]|0)+-1;c=_[n+12>>2]|0;a=_[F+96+8>>2]|0;o=_[c+88>>2]|0;do{if((o|0)==(_[a+88>>2]|0)?(s=_[c+92>>2]|0,(s|0)==(_[a+92>>2]|0)):0){r=_[a+4>>2]|0;if((r|0)==(a|0)){r=_[a+8>>2]|0;if(!r)r=o;else{s=_[r+12>>2]|0;a=s;r=_[s+88>>2]|0;s=_[s+92>>2]|0}t=a;b=r+1|0;o=c;p=_[a+96>>2]|0;break}c=_[a>>2]|0;_[r>>2]=c;_[c+4>>2]=r;if((a|0)==(_[F+96>>2]|0)){o=_[c+88>>2]|0;s=_[r+88>>2]|0;do{if((o|0)<(s|0))o=c;else{if((o|0)==(s|0)?(_[c+92>>2]|0)<(_[r+92>>2]|0):0){o=c;break}o=r}}while(0);_[F+96>>2]=o}if((a|0)==(l|0)){o=_[c+88>>2]|0;s=_[r+88>>2]|0;do{if((o|0)>(s|0))r=c;else if((o|0)==(s|0)?(_[c+92>>2]|0)>(_[r+92>>2]|0):0){r=c;break}}while(0);_[F+96+4>>2]=r;H=36}else{r=l;H=36}}else{r=l;H=36}}while(0);if((H|0)==36){S=_[n>>2]|0;j=_[F+96>>2]|0;i=R;s=0;a=0;w=1;k=0;p=r;while(1){f=_[p+88>>2]|0;b=_[i+88>>2]|0;c=U(f-b|0,w)|0;t:do{if((c|0)<=0){if((c|0)<0){v=(k|0)!=0;l=i;o=p;t=_[i+92>>2]|0;C=_[p+92>>2]|0;while(1){h=_[(v?o+4|0:o)>>2]|0;y=(h|0)==(o|0);g=o+88|0;while(1){i=l+88|0;d=C-t|0;if(!y?(x=_[h+88>>2]|0,I=U(x-f|0,w)|0,M=_[h+92>>2]|0,D=M-C|0,(D|0)>-1):0){if(!I)break;if((I|0)<0?(U(D,c)|0)<=(U(I,d)|0):0)break}m=_[(v?l+4|0:l)>>2]|0;if((m|0)==(l|0))break t;T=_[m+88>>2]|0;b=U(T-(_[i>>2]|0)|0,w)|0;p=_[m+92>>2]|0;i=p-t|0;f=_[g>>2]|0;t=c;c=U(f-T|0,w)|0;if(!((i|0)>0&(c|0)<0))break t;if(!b){l=m;t=p;continue}if((b|0)>=0)break t;if((U(i,t)|0)>=(U(b,d)|0))break t;else{l=m;t=p}}o=h;c=U(x-(_[i>>2]|0)|0,w)|0;C=M;f=x}}o=_[i+92>>2]|0;t=(k|0)!=0;i:do{if(t){l=i;while(1){c=_[l>>2]|0;if((c|0)==(i|0)){f=l;break i}if((_[c+88>>2]|0)!=(b|0)){f=l;break i}T=o;o=_[c+92>>2]|0;if((o|0)>(T|0)){f=l;break}else l=c}}else{l=i;while(1){c=_[l+4>>2]|0;if((c|0)==(i|0)){f=l;break i}if((_[c+88>>2]|0)!=(b|0)){f=l;break i}T=o;o=_[c+92>>2]|0;if((o|0)>(T|0)){f=l;break}else l=c}}}while(0);c=_[p+92>>2]|0;if(t){o=p;while(1){l=_[o+4>>2]|0;if((l|0)==(p|0)){l=f;break t}if((_[l+88>>2]|0)!=(b|0)){l=f;break t}T=c;c=_[l+92>>2]|0;if((c|0)<(T|0)){l=f;break}else o=l}}else{o=p;while(1){l=_[o>>2]|0;if((l|0)==(p|0)){l=f;break t}if((_[l+88>>2]|0)!=(b|0)){l=f;break t}T=c;c=_[l+92>>2]|0;if((c|0)<(T|0)){l=f;break}else o=l}}}else{C=(k|0)!=0;l=i;o=p;g=b;y=_[p+92>>2]|0;while(1){h=o+88|0;t=_[l+92>>2]|0;i=y-t|0;f=_[(C?l:l+4|0)>>2]|0;i:do{if((f|0)!=(l|0))if(C){d=c;m=f;p=g;b=t;while(1){f=p;p=_[m+88>>2]|0;f=U(p-f|0,w)|0;t=b;b=_[m+92>>2]|0;t=b-t|0;if((t|0)>=1)break i;if(f|0){if((f|0)>=0)break i;if((U(t,d)|0)>(U(f,i)|0))break i}l=U((_[h>>2]|0)-p|0,w)|0;i=y-b|0;f=_[m>>2]|0;if((f|0)==(m|0)){d=l;l=m;break}else{T=m;d=l;m=f;l=T}}}else{d=c;m=f;p=g;b=t;while(1){f=p;p=_[m+88>>2]|0;f=U(p-f|0,w)|0;t=b;b=_[m+92>>2]|0;t=b-t|0;if((t|0)>=1)break i;if(f|0){if((f|0)>=0)break i;if((U(t,d)|0)>(U(f,i)|0))break i}l=U((_[h>>2]|0)-p|0,w)|0;i=y-b|0;f=_[m+4>>2]|0;if((f|0)==(m|0)){d=l;l=m;break}else{T=m;d=l;m=f;l=T}}}else d=c}while(0);b=_[(C?o:o+4|0)>>2]|0;if((b|0)==(o|0))break t;c=_[b+88>>2]|0;f=U(c-(_[h>>2]|0)|0,w)|0;t=y;y=_[b+92>>2]|0;t=y-t|0;g=_[l+88>>2]|0;c=U(c-g|0,w)|0;if(!((t|0)<0&(c|0)>0))break t;if(!f){o=b;continue}if((f|0)>=0)break t;if((U(t,d)|0)>=(U(f,i)|0))break;else o=b}}}while(0);c=(k|0)==0;a=c?o:a;s=c?l:s;p=c?j:o;i=c?S:l;k=k+1|0;if((k|0)==2)break;else w=c?-1:w}_[i+4>>2]=p;_[p>>2]=i;_[s>>2]=a;_[a+4>>2]=s;if((_[j+88>>2]|0)<(_[S+88>>2]|0))_[n>>2]=j;if((_[r+88>>2]|0)>=(_[R+88>>2]|0))_[n+4>>2]=r;_[n+12>>2]=_[F+96+12>>2];o=s;D=a;y=_[a+88>>2]|0;b=_[s+88>>2]|0;g=_[a+92>>2]|0;C=_[s+92>>2]|0;v=_[a+96>>2]|0;p=_[s+96>>2]|0;w=((g-C|0)<0)<<31>>31;k=0-(y-b)|0;S=Lt(0,0,k|0,((k|0)<0)<<31>>31|0)|0;S=Qr(v-p|0,((v-p|0)<0)<<31>>31|0,S|0,O|0)|0;j=O;R=Qr(v-p|0,((v-p|0)<0)<<31>>31|0,g-C|0,w|0)|0;x=O;d=Qr(y-b|0,((y-b|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;M=O;I=Qr(g-C|0,w|0,g-C|0,w|0)|0;I=Lt(d|0,M|0,I|0,O|0)|0;M=O;d=_[s+8>>2]|0;_[F+120>>2]=0;if(!d)d=0;else{m=Lt(0,0,g-C|0,w|0)|0;h=O;i=d;r=0;do{f=_[i+12>>2]|0;c=_[f+88>>2]|0;l=_[f+92>>2]|0;f=_[f+96>>2]|0;t=Qr(l-C|0,((l-C|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;T=O;n=Qr(c-b|0,((c-b|0)<0)<<31>>31|0,m|0,h|0)|0;t:do{if((t|0)==(n|0)&(T|0)==(O|0)?(n=Qr(c-b|0,((c-b|0)<0)<<31>>31|0,S|0,j|0)|0,t=O,T=Qr(l-C|0,((l-C|0)<0)<<31>>31|0,R|0,x|0)|0,t=mv(T|0,O|0,n|0,t|0)|0,n=O,T=Qr(f-p|0,((f-p|0)<0)<<31>>31|0,I|0,M|0)|0,T=mv(t|0,n|0,T|0,O|0)|0,n=O,(n|0)>0|(n|0)==0&T>>>0>0):0){do{if(r|0){t=(_[r+4>>2]|0)==(i|0);if((_[r>>2]|0)!=(i|0))if(t)break;else break t;if(!t)break t;n=_[r+12>>2]|0;A=_[(_[i+8>>2]|0)+12>>2]|0;T=_[A+88>>2]|0;t=_[A+92>>2]|0;A=_[A+96>>2]|0;P=(_[n+96>>2]|0)-A|0;t=(U(f-A|0,(_[n+92>>2]|0)-t|0)|0)-(U(P,l-t|0)|0)|0;T=(U(P,c-T|0)|0)-(U(f-A|0,(_[n+88>>2]|0)-T|0)|0)|0;t=Qr(t|0,((t|0)<0)<<31>>31|0,g-C|0,w|0)|0;n=O;T=Qr(T|0,((T|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;T=mv(t|0,n|0,T|0,O|0)|0;n=O;if((n|0)>0|(n|0)==0&T>>>0>0)break t}}while(0);r=i}}while(0);i=_[i>>2]|0}while((i|0)!=(d|0));_[F+120>>2]=r;d=r}i=_[a+8>>2]|0;_[F+72>>2]=0;if(!i)r=0;else{b=Lt(0,0,g-C|0,w|0)|0;p=O;t=i;r=0;do{f=_[t+12>>2]|0;c=_[f+88>>2]|0;l=_[f+92>>2]|0;f=_[f+96>>2]|0;T=Qr(l-g|0,((l-g|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;P=O;A=Qr(c-y|0,((c-y|0)<0)<<31>>31|0,b|0,p|0)|0;do{if((T|0)==(A|0)&(P|0)==(O|0)?(A=Qr(c-y|0,((c-y|0)<0)<<31>>31|0,S|0,j|0)|0,T=O,P=Qr(l-g|0,((l-g|0)<0)<<31>>31|0,R|0,x|0)|0,T=mv(P|0,O|0,A|0,T|0)|0,A=O,P=Qr(f-v|0,((f-v|0)<0)<<31>>31|0,I|0,M|0)|0,P=mv(T|0,A|0,P|0,O|0)|0,A=O,(A|0)>0|(A|0)==0&P>>>0>0):0){if(r|0){if((_[r>>2]|0)!=(t|0))break;if((_[r+4>>2]|0)==(t|0)?(A=_[r+12>>2]|0,n=_[(_[t+8>>2]|0)+12>>2]|0,P=_[n+88>>2]|0,T=_[n+92>>2]|0,n=_[n+96>>2]|0,h=(_[A+96>>2]|0)-n|0,T=(U(f-n|0,(_[A+92>>2]|0)-T|0)|0)-(U(h,l-T|0)|0)|0,P=(U(h,c-P|0)|0)-(U(f-n|0,(_[A+88>>2]|0)-P|0)|0)|0,T=Qr(T|0,((T|0)<0)<<31>>31|0,g-C|0,w|0)|0,A=O,P=Qr(P|0,((P|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0,P=mv(T|0,A|0,P|0,O|0)|0,A=O,!((A|0)>0|(A|0)==0&P>>>0>0)):0)break}r=t}}while(0);t=_[t>>2]|0}while((t|0)!=(i|0));_[F+72>>2]=r}if((d|0)!=0|(r|0)!=0){gc(e,s,a,F+120|0,F+72|0);r=_[F+120>>2]|0;if(r){s=_[r+12>>2]|0;o=s}r=_[F+72>>2]|0;if(!r){r=D;c=s}else{a=_[r+12>>2]|0;r=a;c=s}}else{r=D;c=s}t=r;b=_[a+88>>2]|0;p=(_[a+96>>2]|0)+1|0;s=_[a+92>>2]|0}r=0;n=0;l=0;j=0;T=1;I=0;f=0;i=0;R=0;D=t;x=p;k=a;w=c;while(1){S=_[w+88>>2]|0;C=(_[k+88>>2]|0)-S|0;P=_[w+92>>2]|0;M=(_[k+92>>2]|0)-P|0;g=_[w+96>>2]|0;h=(_[k+96>>2]|0)-g|0;_[F+120>>2]=C;_[F+120+4>>2]=M;_[F+120+8>>2]=h;_[F+120+12>>2]=-1;S=b-S|0;P=s-P|0;g=x-g|0;y=(U(h,P)|0)-(U(M,g)|0)|0;g=(U(C,g)|0)-(U(h,S)|0)|0;P=(U(M,S)|0)-(U(C,P)|0)|0;_[F+72>>2]=y;_[F+72+4>>2]=((y|0)<0)<<31>>31;_[F+72+8>>2]=g;_[F+72+8+4>>2]=((g|0)<0)<<31>>31;_[F+72+16>>2]=P;_[F+72+16+4>>2]=((P|0)<0)<<31>>31;S=Qr(M|0,((M|0)<0)<<31>>31|0,P|0,((P|0)<0)<<31>>31|0)|0;A=O;v=Qr(h|0,((h|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;v=Lt(S|0,A|0,v|0,O|0)|0;A=O;h=Qr(y|0,((y|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;S=O;P=Qr(C|0,((C|0)<0)<<31>>31|0,P|0,((P|0)<0)<<31>>31|0)|0;P=Lt(h|0,S|0,P|0,O|0)|0;S=O;g=Qr(C|0,((C|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;C=O;M=Qr(y|0,((y|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Lt(g|0,C|0,M|0,O|0)|0;_[F+48>>2]=v;_[F+48+4>>2]=A;_[F+48+8>>2]=P;_[F+48+8+4>>2]=S;_[F+48+16>>2]=M;_[F+48+16+4>>2]=O;_[F+24>>2]=0;_[F+24+4>>2]=0;_[F+24+8>>2]=0;_[F+24+12>>2]=0;_[F+24+16>>2]=0;M=nd(e,0,w,F+120|0,F+72|0,F+48|0,F+24|0)|0;_[F>>2]=0;_[F+4>>2]=0;_[F+8>>2]=0;_[F+12>>2]=0;_[F+16>>2]=0;S=nd(e,1,k,F+120|0,F+72|0,F+48|0,F)|0;do{if((M|0)!=0|(S|0)!=0){t=M|0?-1:1;do{if((M|0)!=0&(S|0)!=0){v=_[F+24+16>>2]|0;t=_[F+16>>2]|0;if((v|0)!=(t|0)){C=v-t|0;break}if(!v)C=0;else{P=_[F+24>>2]|0;g=_[F+24+4>>2]|0;d=_[F+8>>2]|0;B=_[F+8+4>>2]|0;p=Qr(d|0,0,P|0,0)|0;t=O;P=Qr(B|0,0,P|0,0)|0;A=O;d=Qr(d|0,0,g|0,0)|0;m=O;g=Qr(B|0,0,g|0,0)|0;B=O;d=mv(P|0,0,d|0,0)|0;P=O;B=mv(A|0,0,g|0,B|0)|0;m=mv(B|0,O|0,m|0,0)|0;P=mv(m|0,O|0,P|0,0)|0;m=O;t=mv(0,d|0,p|0,t|0)|0;p=O;d=mv(P|0,m|0,(p>>>0<d>>>0|(p|0)==(d|0)&t>>>0<0)&1|0,0)|0;m=O;P=_[F+24+8>>2]|0;B=_[F+24+8+4>>2]|0;g=_[F>>2]|0;A=_[F+4>>2]|0;y=Qr(g|0,0,P|0,0)|0;h=O;P=Qr(A|0,0,P|0,0)|0;L=O;g=Qr(g|0,0,B|0,0)|0;C=O;B=Qr(A|0,0,B|0,0)|0;A=O;g=mv(P|0,0,g|0,0)|0;P=O;A=mv(L|0,0,B|0,A|0)|0;C=mv(A|0,O|0,C|0,0)|0;P=mv(C|0,O|0,P|0,0)|0;C=O;h=mv(0,g|0,y|0,h|0)|0;y=O;g=mv(P|0,C|0,(y>>>0<g>>>0|(y|0)==(g|0)&h>>>0<0)&1|0,0)|0;C=O;if(m>>>0<C>>>0|(m|0)==(C|0)&d>>>0<g>>>0)t=-1;else t=m>>>0>C>>>0|(m|0)==(C|0)&d>>>0>g>>>0?1:p>>>0<y>>>0|(p|0)==(y|0)&t>>>0<h>>>0?-1:(p>>>0>y>>>0|(p|0)==(y|0)&t>>>0>h>>>0)&1;C=U(t,v)|0}}else C=t}while(0);do{if(!T)if((C|0)>-1)if((_[F+16>>2]|0)<0&((_[F+8>>2]|0)==0?(_[F+8+4>>2]|0)==0:0)){p=j;y=R;break}else{H=133;break}else if((_[F+24+16>>2]|0)<0&((_[F+24+8>>2]|0)==0?(_[F+24+8+4>>2]|0)==0:0)){p=j;y=R;break}else{H=133;break}else H=133}while(0);if((H|0)==133){H=0;p=Af(e,w,k)|0;if(!j)l=p;else _[j+4>>2]=p;_[p>>2]=j;t=_[p+8>>2]|0;if(!R)i=t;else _[R>>2]=t;_[t+4>>2]=R;y=t}_[F+116>>2]=M;_[F+112>>2]=S;if(!C){gc(e,o,D,F+116|0,F+112|0);t=_[F+112>>2]|0}else t=S;if((C|0)>-1&(t|0)!=0){m=(I|0)!=0;if(m?(G=_[I>>2]|0,(G|0)!=(S|0)):0){b=G;do{d=b;b=_[b>>2]|0;h=_[d+8>>2]|0;if((b|0)==(d|0))s=0;else{_[b+4>>2]=_[d+4>>2];_[_[d+4>>2]>>2]=b;s=b}_[(_[h+12>>2]|0)+8>>2]=s;s=_[h>>2]|0;if((s|0)==(h|0))s=0;else{_[s+4>>2]=_[h+4>>2];_[_[h+4>>2]>>2]=s}_[(_[d+12>>2]|0)+8>>2]=s;_[d+4>>2]=0;_[d+4+4>>2]=0;_[d+4+8>>2]=0;_[d+4+12>>2]=0;_[d>>2]=_[e+56>>2];_[e+56>>2]=d;_[h+4>>2]=0;_[h+4+4>>2]=0;_[h+4+8>>2]=0;_[h+4+12>>2]=0;_[h>>2]=_[e+56>>2];_[e+56>>2]=h;_[e+116>>2]=(_[e+116>>2]|0)+-1}while((b|0)!=(S|0))}if(!y){f=m?f:S;s=i}else{if(m)s=I;else{f=i;s=_[S+4>>2]|0}_[s>>2]=i;_[i+4>>2]=s;_[y>>2]=S;_[S+4>>2]=y;s=0;t=_[F+112>>2]|0}L=D;g=_[t+8>>2]|0;y=0;R=s;j=_[t+12>>2]|0;b=_[L+88>>2]|0;i=_[L+96>>2]|0;s=_[L+92>>2]|0}else{g=I;R=i;j=D;i=x}t=_[F+116>>2]|0;if((C|0)<1&(t|0)!=0){d=(r|0)!=0;if(d?(W=_[r+4>>2]|0,(W|0)!=(M|0)):0){i=W;do{m=i+4|0;b=i;i=_[m>>2]|0;s=_[b>>2]|0;h=_[b+8>>2]|0;if((s|0)==(b|0))s=0;else{_[s+4>>2]=i;_[_[m>>2]>>2]=s}_[(_[h+12>>2]|0)+8>>2]=s;s=_[h>>2]|0;if((s|0)==(h|0))s=0;else{_[s+4>>2]=_[h+4>>2];_[_[h+4>>2]>>2]=s}_[(_[b+12>>2]|0)+8>>2]=s;_[m>>2]=0;_[m+4>>2]=0;_[m+8>>2]=0;_[m+12>>2]=0;_[b>>2]=_[e+56>>2];_[e+56>>2]=b;_[h+4>>2]=0;_[h+4+4>>2]=0;_[h+4+8>>2]=0;_[h+4+12>>2]=0;_[h>>2]=_[e+56>>2];_[e+56>>2]=h;_[e+116>>2]=(_[e+116>>2]|0)+-1}while((i|0)!=(M|0))}if(!p)s=d?n:M;else{if(d)s=n;else{s=l;r=_[M>>2]|0}_[l>>2]=r;_[r+4>>2]=l;_[M>>2]=p;_[p+4>>2]=M;l=0;t=_[F+116>>2]|0}L=o;r=_[t+8>>2]|0;h=s;w=0;S=_[L+88>>2]|0;o=_[t+12>>2]|0;k=_[L+96>>2]|0;s=_[L+92>>2]|0}else{h=n;w=p;S=b;k=i}if((o|0)==(c|0)&(j|0)==(a|0)){if(r){m=r+4|0;t=_[m>>2]|0;if((t|0)!=(h|0))do{p=t+4|0;b=t;t=_[p>>2]|0;i=_[b>>2]|0;d=_[b+8>>2]|0;if((i|0)==(b|0))i=0;else{_[i+4>>2]=t;_[_[p>>2]>>2]=i}_[(_[d+12>>2]|0)+8>>2]=i;i=_[d>>2]|0;if((i|0)==(d|0))i=0;else{_[i+4>>2]=_[d+4>>2];_[_[d+4>>2]>>2]=i}_[(_[b+12>>2]|0)+8>>2]=i;_[p>>2]=0;_[p+4>>2]=0;_[p+8>>2]=0;_[p+12>>2]=0;_[b>>2]=_[e+56>>2];_[e+56>>2]=b;_[d+4>>2]=0;_[d+4+4>>2]=0;_[d+4+8>>2]=0;_[d+4+12>>2]=0;_[d>>2]=_[e+56>>2];_[e+56>>2]=d;_[e+116>>2]=(_[e+116>>2]|0)+-1}while((t|0)!=(h|0));if(w|0){_[l>>2]=r;_[m>>2]=l;_[h>>2]=w;_[w+4>>2]=h}}else{_[l>>2]=w;_[w+4>>2]=l;_[o+8>>2]=w}if(!g){_[y>>2]=R;_[R+4>>2]=y;_[a+8>>2]=y;v=0;C=T;g=0;m=w;i=R;d=j;b=S;p=o;t=k;break}t=_[g>>2]|0;if((t|0)!=(f|0))do{b=t;t=_[t>>2]|0;p=_[b+8>>2]|0;if((t|0)==(b|0))i=0;else{_[t+4>>2]=_[b+4>>2];_[_[b+4>>2]>>2]=t;i=t}_[(_[p+12>>2]|0)+8>>2]=i;i=_[p>>2]|0;if((i|0)==(p|0))i=0;else{_[i+4>>2]=_[p+4>>2];_[_[p+4>>2]>>2]=i}_[(_[b+12>>2]|0)+8>>2]=i;_[b+4>>2]=0;_[b+4+4>>2]=0;_[b+4+8>>2]=0;_[b+4+12>>2]=0;_[b>>2]=_[e+56>>2];_[e+56>>2]=b;_[p+4>>2]=0;_[p+4+4>>2]=0;_[p+4+8>>2]=0;_[p+4+12>>2]=0;_[p>>2]=_[e+56>>2];_[e+56>>2]=p;_[e+116>>2]=(_[e+116>>2]|0)+-1}while((t|0)!=(f|0));if(!y){v=0;C=T;m=w;y=0;i=R;d=j;b=S;p=o;t=k}else{_[g>>2]=R;_[R+4>>2]=g;_[y>>2]=f;_[f+4>>2]=y;v=0;C=T;m=w;i=R;d=j;b=S;p=o;t=k}}else{v=1;C=0;m=w;i=R;d=j;b=S;p=o;t=k}}else{v=Af(e,w,k)|0;_[v>>2]=v;_[v+4>>2]=v;_[w+8>>2]=v;v=_[v+8>>2]|0;_[v>>2]=v;_[v+4>>2]=v;_[k+8>>2]=v;v=0;C=T;g=I;h=n;m=j;y=R;d=D;p=o;t=x}}while(0);if(!v)break e;n=h;j=m;T=C;I=g;R=y;D=d;o=p;x=t;k=d;w=p}}}while(0);u=F;return}}}function cc(e){e=e|0;var t=0,i=0,n=0,r=0,o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0,S=0,j=0,R=0,x=0,I=0,M=0,D=0,T=0,O=0,H=0;H=u;u=u+16|0;do{if(e>>>0<245){h=e>>>0<11?16:e+11&-8;m=_[6889]|0;if(m>>>(h>>>3)&3|0){e=27596+((m>>>(h>>>3)&1^1)+(h>>>3)<<1<<2)|0;t=_[e+8>>2]|0;i=_[t+8>>2]|0;do{if((e|0)!=(i|0)){if(i>>>0<(_[6893]|0)>>>0)Z_();if((_[i+12>>2]|0)==(t|0)){_[i+12>>2]=e;_[e+8>>2]=i;break}else Z_()}else _[6889]=m&~(1<<(m>>>(h>>>3)&1^1)+(h>>>3))}while(0);O=(m>>>(h>>>3)&1^1)+(h>>>3)<<3;_[t+4>>2]=O|3;_[t+O+4>>2]=_[t+O+4>>2]|1;O=t+8|0;u=H;return O|0}d=_[6891]|0;if(h>>>0>d>>>0){if(m>>>(h>>>3)|0){e=m>>>(h>>>3)<<(h>>>3)&(2<<(h>>>3)|0-(2<<(h>>>3)));n=((e&0-e)+-1|0)>>>(((e&0-e)+-1|0)>>>12&16);i=n>>>(n>>>5&8)>>>(n>>>(n>>>5&8)>>>2&4);i=(n>>>5&8|((e&0-e)+-1|0)>>>12&16|n>>>(n>>>5&8)>>>2&4|i>>>1&2|i>>>(i>>>1&2)>>>1&1)+(i>>>(i>>>1&2)>>>(i>>>(i>>>1&2)>>>1&1))|0;n=_[27596+(i<<1<<2)+8>>2]|0;e=_[n+8>>2]|0;do{if((27596+(i<<1<<2)|0)!=(e|0)){if(e>>>0<(_[6893]|0)>>>0)Z_();if((_[e+12>>2]|0)==(n|0)){_[e+12>>2]=27596+(i<<1<<2);_[27596+(i<<1<<2)+8>>2]=e;r=m;break}else Z_()}else{_[6889]=m&~(1<<i);r=m&~(1<<i)}}while(0);_[n+4>>2]=h|3;_[n+h+4>>2]=(i<<3)-h|1;_[n+h+((i<<3)-h)>>2]=(i<<3)-h;if(d|0){t=_[6894]|0;if(r&1<<(d>>>3)){e=_[27596+(d>>>3<<1<<2)+8>>2]|0;if(e>>>0<(_[6893]|0)>>>0)Z_();else{s=e;c=27596+(d>>>3<<1<<2)+8|0}}else{_[6889]=r|1<<(d>>>3);s=27596+(d>>>3<<1<<2)|0;c=27596+(d>>>3<<1<<2)+8|0}_[c>>2]=t;_[s+12>>2]=t;_[t+8>>2]=s;_[t+12>>2]=27596+(d>>>3<<1<<2)}_[6891]=(i<<3)-h;_[6894]=n+h;O=n+8|0;u=H;return O|0}l=_[6890]|0;if(l){t=((l&0-l)+-1|0)>>>(((l&0-l)+-1|0)>>>12&16);e=t>>>(t>>>5&8)>>>(t>>>(t>>>5&8)>>>2&4);e=_[27860+((t>>>5&8|((l&0-l)+-1|0)>>>12&16|t>>>(t>>>5&8)>>>2&4|e>>>1&2|e>>>(e>>>1&2)>>>1&1)+(e>>>(e>>>1&2)>>>(e>>>(e>>>1&2)>>>1&1))<<2)>>2]|0;t=(_[e+4>>2]&-8)-h|0;i=_[e+16+(((_[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){a=e;s=t}else{do{T=(_[i+4>>2]&-8)-h|0;O=T>>>0<t>>>0;t=O?T:t;e=O?i:e;i=_[i+16+(((_[i+16>>2]|0)==0&1)<<2)>>2]|0}while((i|0)!=0);a=e;s=t}r=_[6893]|0;if(a>>>0<r>>>0)Z_();c=a+h|0;if(a>>>0>=c>>>0)Z_();o=_[a+24>>2]|0;e=_[a+12>>2]|0;do{if((e|0)==(a|0)){t=a+20|0;e=_[t>>2]|0;if(!e){t=a+16|0;e=_[t>>2]|0;if(!e){f=0;break}}while(1){i=e+20|0;n=_[i>>2]|0;if(n|0){e=n;t=i;continue}i=e+16|0;n=_[i>>2]|0;if(!n)break;else{e=n;t=i}}if(t>>>0<r>>>0)Z_();else{_[t>>2]=0;f=e;break}}else{t=_[a+8>>2]|0;if(t>>>0<r>>>0)Z_();if((_[t+12>>2]|0)!=(a|0))Z_();if((_[e+8>>2]|0)==(a|0)){_[t+12>>2]=e;_[e+8>>2]=t;f=e;break}else Z_()}}while(0);e:do{if(o|0){e=_[a+28>>2]|0;do{if((a|0)==(_[27860+(e<<2)>>2]|0)){_[27860+(e<<2)>>2]=f;if(!f){_[6890]=l&~(1<<e);break e}}else if(o>>>0>=(_[6893]|0)>>>0){_[o+16+(((_[o+16>>2]|0)!=(a|0)&1)<<2)>>2]=f;if(!f)break e;else break}else Z_()}while(0);t=_[6893]|0;if(f>>>0<t>>>0)Z_();_[f+24>>2]=o;e=_[a+16>>2]|0;do{if(e|0)if(e>>>0<t>>>0)Z_();else{_[f+16>>2]=e;_[e+24>>2]=f;break}}while(0);e=_[a+20>>2]|0;if(e|0)if(e>>>0<(_[6893]|0)>>>0)Z_();else{_[f+20>>2]=e;_[e+24>>2]=f;break}}}while(0);if(s>>>0<16){O=s+h|0;_[a+4>>2]=O|3;O=a+O+4|0;_[O>>2]=_[O>>2]|1}else{_[a+4>>2]=h|3;_[c+4>>2]=s|1;_[c+s>>2]=s;if(d|0){t=_[6894]|0;if(m&1<<(d>>>3)){e=_[27596+(d>>>3<<1<<2)+8>>2]|0;if(e>>>0<(_[6893]|0)>>>0)Z_();else{b=e;p=27596+(d>>>3<<1<<2)+8|0}}else{_[6889]=m|1<<(d>>>3);b=27596+(d>>>3<<1<<2)|0;p=27596+(d>>>3<<1<<2)+8|0}_[p>>2]=t;_[b+12>>2]=t;_[t+8>>2]=b;_[t+12>>2]=27596+(d>>>3<<1<<2)}_[6891]=s;_[6894]=c}O=a+8|0;u=H;return O|0}}}else if(e>>>0<=4294967231){h=e+11&-8;l=_[6890]|0;if(l){if((e+11|0)>>>8)if(h>>>0>16777215)c=31;else{c=(e+11|0)>>>8<<((((e+11|0)>>>8)+1048320|0)>>>16&8);c=14-((c+520192|0)>>>16&4|(((e+11|0)>>>8)+1048320|0)>>>16&8|((c<<((c+520192|0)>>>16&4))+245760|0)>>>16&2)+(c<<((c+520192|0)>>>16&4)<<(((c<<((c+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;c=h>>>(c+7|0)&1|c<<1}else c=0;t=_[27860+(c<<2)>>2]|0;e:do{if(!t){t=0;e=0;i=0-h|0;j=81}else{e=0;i=0-h|0;s=h<<((c|0)==31?0:25-(c>>>1)|0);r=0;while(1){n=(_[t+4>>2]&-8)-h|0;if(n>>>0<i>>>0)if(!n){e=t;i=0;n=t;j=85;break e}else{e=t;i=n}n=_[t+20>>2]|0;t=_[t+16+(s>>>31<<2)>>2]|0;r=(n|0)==0|(n|0)==(t|0)?r:n;n=(t|0)==0;if(n){t=r;j=81;break}else s=s<<((n^1)&1)}}}while(0);if((j|0)==81){if((t|0)==0&(e|0)==0){e=2<<c;if(!(l&(e|0-e)))break;b=(l&(e|0-e)&0-(l&(e|0-e)))+-1|0;p=b>>>(b>>>12&16)>>>(b>>>(b>>>12&16)>>>5&8);t=p>>>(p>>>2&4)>>>(p>>>(p>>>2&4)>>>1&2);e=0;t=_[27860+((b>>>(b>>>12&16)>>>5&8|b>>>12&16|p>>>2&4|p>>>(p>>>2&4)>>>1&2|t>>>1&1)+(t>>>(t>>>1&1))<<2)>>2]|0}if(!t){a=e;c=i}else{n=t;j=85}}if((j|0)==85)while(1){j=0;t=(_[n+4>>2]&-8)-h|0;p=t>>>0<i>>>0;t=p?t:i;e=p?n:e;n=_[n+16+(((_[n+16>>2]|0)==0&1)<<2)>>2]|0;if(!n){a=e;c=t;break}else{i=t;j=85}}if((a|0)!=0?c>>>0<((_[6891]|0)-h|0)>>>0:0){r=_[6893]|0;if(a>>>0<r>>>0)Z_();s=a+h|0;if(a>>>0>=s>>>0)Z_();o=_[a+24>>2]|0;e=_[a+12>>2]|0;do{if((e|0)==(a|0)){t=a+20|0;e=_[t>>2]|0;if(!e){t=a+16|0;e=_[t>>2]|0;if(!e){d=0;break}}while(1){i=e+20|0;n=_[i>>2]|0;if(n|0){e=n;t=i;continue}i=e+16|0;n=_[i>>2]|0;if(!n)break;else{e=n;t=i}}if(t>>>0<r>>>0)Z_();else{_[t>>2]=0;d=e;break}}else{t=_[a+8>>2]|0;if(t>>>0<r>>>0)Z_();if((_[t+12>>2]|0)!=(a|0))Z_();if((_[e+8>>2]|0)==(a|0)){_[t+12>>2]=e;_[e+8>>2]=t;d=e;break}else Z_()}}while(0);e:do{if(o){e=_[a+28>>2]|0;do{if((a|0)==(_[27860+(e<<2)>>2]|0)){_[27860+(e<<2)>>2]=d;if(!d){_[6890]=l&~(1<<e);w=l&~(1<<e);break e}}else if(o>>>0>=(_[6893]|0)>>>0){_[o+16+(((_[o+16>>2]|0)!=(a|0)&1)<<2)>>2]=d;if(!d){w=l;break e}else break}else Z_()}while(0);t=_[6893]|0;if(d>>>0<t>>>0)Z_();_[d+24>>2]=o;e=_[a+16>>2]|0;do{if(e|0)if(e>>>0<t>>>0)Z_();else{_[d+16>>2]=e;_[e+24>>2]=d;break}}while(0);e=_[a+20>>2]|0;if(e)if(e>>>0<(_[6893]|0)>>>0)Z_();else{_[d+20>>2]=e;_[e+24>>2]=d;w=l;break}else w=l}else w=l}while(0);do{if(c>>>0>=16){_[a+4>>2]=h|3;_[s+4>>2]=c|1;_[s+c>>2]=c;t=c>>>3;if(c>>>0<256){e=_[6889]|0;if(e&1<<t){e=_[27596+(t<<1<<2)+8>>2]|0;if(e>>>0<(_[6893]|0)>>>0)Z_();else{m=e;v=27596+(t<<1<<2)+8|0}}else{_[6889]=e|1<<t;m=27596+(t<<1<<2)|0;v=27596+(t<<1<<2)+8|0}_[v>>2]=s;_[m+12>>2]=s;_[s+8>>2]=m;_[s+12>>2]=27596+(t<<1<<2);break}e=c>>>8;if(e)if(c>>>0>16777215)e=31;else{O=e<<((e+1048320|0)>>>16&8)<<(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4);e=14-(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4|(e+1048320|0)>>>16&8|(O+245760|0)>>>16&2)+(O<<((O+245760|0)>>>16&2)>>>15)|0;e=c>>>(e+7|0)&1|e<<1}else e=0;i=27860+(e<<2)|0;_[s+28>>2]=e;_[s+16+4>>2]=0;_[s+16>>2]=0;t=1<<e;if(!(w&t)){_[6890]=w|t;_[i>>2]=s;_[s+24>>2]=i;_[s+12>>2]=s;_[s+8>>2]=s;break}t=c<<((e|0)==31?0:25-(e>>>1)|0);n=_[i>>2]|0;while(1){if((_[n+4>>2]&-8|0)==(c|0)){j=139;break}i=n+16+(t>>>31<<2)|0;e=_[i>>2]|0;if(!e){j=136;break}else{t=t<<1;n=e}}if((j|0)==136)if(i>>>0<(_[6893]|0)>>>0)Z_();else{_[i>>2]=s;_[s+24>>2]=n;_[s+12>>2]=s;_[s+8>>2]=s;break}else if((j|0)==139){e=n+8|0;t=_[e>>2]|0;O=_[6893]|0;if(t>>>0>=O>>>0&n>>>0>=O>>>0){_[t+12>>2]=s;_[e>>2]=s;_[s+8>>2]=t;_[s+12>>2]=n;_[s+24>>2]=0;break}else Z_()}}else{O=c+h|0;_[a+4>>2]=O|3;O=a+O+4|0;_[O>>2]=_[O>>2]|1}}while(0);O=a+8|0;u=H;return O|0}}}else h=-1}while(0);i=_[6891]|0;if(i>>>0>=h>>>0){e=i-h|0;t=_[6894]|0;if(e>>>0>15){O=t+h|0;_[6894]=O;_[6891]=e;_[O+4>>2]=e|1;_[O+e>>2]=e;_[t+4>>2]=h|3}else{_[6891]=0;_[6894]=0;_[t+4>>2]=i|3;_[t+i+4>>2]=_[t+i+4>>2]|1}O=t+8|0;u=H;return O|0}r=_[6892]|0;if(r>>>0>h>>>0){D=r-h|0;_[6892]=D;O=_[6895]|0;T=O+h|0;_[6895]=T;_[T+4>>2]=D|1;_[O+4>>2]=h|3;O=O+8|0;u=H;return O|0}if(!(_[7007]|0)){_[7009]=4096;_[7008]=4096;_[7010]=-1;_[7011]=-1;_[7012]=0;_[7e3]=0;_[H>>2]=H&-16^1431655768;_[7007]=H&-16^1431655768;e=4096}else e=_[7009]|0;s=h+48|0;c=h+47|0;l=e+c|0;a=0-e|0;if((l&a)>>>0<=h>>>0){O=0;u=H;return O|0}e=_[6999]|0;if(e|0?(w=_[6997]|0,(w+(l&a)|0)>>>0<=w>>>0?1:(w+(l&a)|0)>>>0>e>>>0):0){O=0;u=H;return O|0}e:do{if(!(_[7e3]&4)){i=_[6895]|0;t:do{if(i){t=28004;while(1){e=_[t>>2]|0;if(e>>>0<=i>>>0?(y=t+4|0,(e+(_[y>>2]|0)|0)>>>0>i>>>0):0)break;e=_[t+8>>2]|0;if(!e){j=163;break t}else t=e}if((l-r&a)>>>0<2147483647){e=On(l-r&a|0)|0;if((e|0)==((_[t>>2]|0)+(_[y>>2]|0)|0))if((e|0)==(-1|0))e=l-r&a;else{s=l-r&a;o=e;j=180;break e}else{n=e;i=l-r&a;j=171}}else e=0}else j=163}while(0);do{if((j|0)==163){t=On(0)|0;if((t|0)!=(-1|0)?(C=_[7008]|0,C=((C+-1&t|0)==0?0:(C+-1+t&0-C)-t|0)+(l&a)|0,g=_[6997]|0,C>>>0>h>>>0&C>>>0<2147483647):0){w=_[6999]|0;if(w|0?(C+g|0)>>>0<=g>>>0|(C+g|0)>>>0>w>>>0:0){e=0;break}e=On(C|0)|0;if((e|0)==(t|0)){s=C;o=t;j=180;break e}else{n=e;i=C;j=171}}else e=0}}while(0);do{if((j|0)==171){t=0-i|0;if(!(s>>>0>i>>>0&(i>>>0<2147483647&(n|0)!=(-1|0))))if((n|0)==(-1|0)){e=0;break}else{s=i;o=n;j=180;break e}e=_[7009]|0;e=c-i+e&0-e;if(e>>>0>=2147483647){s=i;o=n;j=180;break e}if((On(e|0)|0)==(-1|0)){On(t|0)|0;e=0;break}else{s=e+i|0;o=n;j=180;break e}}}while(0);_[7e3]=_[7e3]|4;j=178}else{e=0;j=178}}while(0);if(((j|0)==178?(l&a)>>>0<2147483647:0)?(o=On(l&a|0)|0,k=On(0)|0,S=(k-o|0)>>>0>(h+40|0)>>>0,!((o|0)==(-1|0)|S^1|o>>>0<k>>>0&((o|0)!=(-1|0)&(k|0)!=(-1|0))^1)):0){s=S?k-o|0:e;j=180}if((j|0)==180){e=(_[6997]|0)+s|0;_[6997]=e;if(e>>>0>(_[6998]|0)>>>0)_[6998]=e;c=_[6895]|0;do{if(c){e=28004;while(1){t=_[e>>2]|0;i=e+4|0;n=_[i>>2]|0;if((o|0)==(t+n|0)){j=190;break}r=_[e+8>>2]|0;if(!r)break;else e=r}if(((j|0)==190?(_[e+12>>2]&8|0)==0:0)?c>>>0<o>>>0&c>>>0>=t>>>0:0){_[i>>2]=n+s;T=(c+8&7|0)==0?0:0-(c+8)&7;O=(_[6892]|0)+(s-T)|0;_[6895]=c+T;_[6892]=O;_[c+T+4>>2]=O|1;_[c+T+O+4>>2]=40;_[6896]=_[7011];break}e=_[6893]|0;if(o>>>0<e>>>0){_[6893]=o;a=o}else a=e;i=o+s|0;e=28004;while(1){if((_[e>>2]|0)==(i|0)){j=198;break}t=_[e+8>>2]|0;if(!t)break;else e=t}if((j|0)==198?(_[e+12>>2]&8|0)==0:0){_[e>>2]=o;f=e+4|0;_[f>>2]=(_[f>>2]|0)+s;f=o+8|0;f=o+((f&7|0)==0?0:0-f&7)|0;e=i+((i+8&7|0)==0?0:0-(i+8)&7)|0;l=f+h|0;r=e-f-h|0;_[f+4>>2]=h|3;do{if((e|0)!=(c|0)){if((e|0)==(_[6894]|0)){O=(_[6891]|0)+r|0;_[6891]=O;_[6894]=l;_[l+4>>2]=O|1;_[l+O>>2]=O;break}c=_[e+4>>2]|0;if((c&3|0)==1){e:do{if(c>>>0>=256){s=_[e+24>>2]|0;t=_[e+12>>2]|0;do{if((t|0)==(e|0)){t=_[e+16+4>>2]|0;if(!t){t=_[e+16>>2]|0;if(!t){D=0;break}else o=e+16|0}else o=e+16+4|0;while(1){i=t+20|0;n=_[i>>2]|0;if(n|0){t=n;o=i;continue}i=t+16|0;n=_[i>>2]|0;if(!n)break;else{t=n;o=i}}if(o>>>0<a>>>0)Z_();else{_[o>>2]=0;D=t;break}}else{i=_[e+8>>2]|0;if(i>>>0<a>>>0)Z_();if((_[i+12>>2]|0)!=(e|0))Z_();if((_[t+8>>2]|0)==(e|0)){_[i+12>>2]=t;_[t+8>>2]=i;D=t;break}else Z_()}}while(0);if(!s)break;t=_[e+28>>2]|0;do{if((e|0)!=(_[27860+(t<<2)>>2]|0))if(s>>>0>=(_[6893]|0)>>>0){_[s+16+(((_[s+16>>2]|0)!=(e|0)&1)<<2)>>2]=D;if(!D)break e;else break}else Z_();else{_[27860+(t<<2)>>2]=D;if(D|0)break;_[6890]=_[6890]&~(1<<t);break e}}while(0);i=_[6893]|0;if(D>>>0<i>>>0)Z_();_[D+24>>2]=s;t=_[e+16>>2]|0;do{if(t|0)if(t>>>0<i>>>0)Z_();else{_[D+16>>2]=t;_[t+24>>2]=D;break}}while(0);t=_[e+16+4>>2]|0;if(!t)break;if(t>>>0<(_[6893]|0)>>>0)Z_();else{_[D+20>>2]=t;_[t+24>>2]=D;break}}else{t=_[e+8>>2]|0;i=_[e+12>>2]|0;do{if((t|0)!=(27596+(c>>>3<<1<<2)|0)){if(t>>>0<a>>>0)Z_();if((_[t+12>>2]|0)==(e|0))break;Z_()}}while(0);if((i|0)==(t|0)){_[6889]=_[6889]&~(1<<(c>>>3));break}do{if((i|0)==(27596+(c>>>3<<1<<2)|0))M=i+8|0;else{if(i>>>0<a>>>0)Z_();if((_[i+8>>2]|0)==(e|0)){M=i+8|0;break}Z_()}}while(0);_[t+12>>2]=i;_[M>>2]=t}}while(0);e=e+(c&-8)|0;r=(c&-8)+r|0}t=e+4|0;_[t>>2]=_[t>>2]&-2;_[l+4>>2]=r|1;_[l+r>>2]=r;t=r>>>3;if(r>>>0<256){e=_[6889]|0;do{if(!(e&1<<t)){_[6889]=e|1<<t;T=27596+(t<<1<<2)|0;O=27596+(t<<1<<2)+8|0}else{e=_[27596+(t<<1<<2)+8>>2]|0;if(e>>>0>=(_[6893]|0)>>>0){T=e;O=27596+(t<<1<<2)+8|0;break}Z_()}}while(0);_[O>>2]=l;_[T+12>>2]=l;_[l+8>>2]=T;_[l+12>>2]=27596+(t<<1<<2);break}e=r>>>8;do{if(!e)e=0;else{if(r>>>0>16777215){e=31;break}O=e<<((e+1048320|0)>>>16&8)<<(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4);e=14-(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4|(e+1048320|0)>>>16&8|(O+245760|0)>>>16&2)+(O<<((O+245760|0)>>>16&2)>>>15)|0;e=r>>>(e+7|0)&1|e<<1}}while(0);n=27860+(e<<2)|0;_[l+28>>2]=e;_[l+16+4>>2]=0;_[l+16>>2]=0;t=_[6890]|0;i=1<<e;if(!(t&i)){_[6890]=t|i;_[n>>2]=l;_[l+24>>2]=n;_[l+12>>2]=l;_[l+8>>2]=l;break}t=r<<((e|0)==31?0:25-(e>>>1)|0);n=_[n>>2]|0;while(1){if((_[n+4>>2]&-8|0)==(r|0)){j=265;break}i=n+16+(t>>>31<<2)|0;e=_[i>>2]|0;if(!e){j=262;break}else{t=t<<1;n=e}}if((j|0)==262)if(i>>>0<(_[6893]|0)>>>0)Z_();else{_[i>>2]=l;_[l+24>>2]=n;_[l+12>>2]=l;_[l+8>>2]=l;break}else if((j|0)==265){e=n+8|0;t=_[e>>2]|0;O=_[6893]|0;if(t>>>0>=O>>>0&n>>>0>=O>>>0){_[t+12>>2]=l;_[e>>2]=l;_[l+8>>2]=t;_[l+12>>2]=n;_[l+24>>2]=0;break}else Z_()}}else{O=(_[6892]|0)+r|0;_[6892]=O;_[6895]=l;_[l+4>>2]=O|1}}while(0);O=f+8|0;u=H;return O|0}e=28004;while(1){t=_[e>>2]|0;if(t>>>0<=c>>>0?(R=t+(_[e+4>>2]|0)|0,R>>>0>c>>>0):0)break;e=_[e+8>>2]|0}r=R+-47+((R+-47+8&7|0)==0?0:0-(R+-47+8)&7)|0;r=r>>>0<(c+16|0)>>>0?c:r;e=o+8|0;e=(e&7|0)==0?0:0-e&7;O=o+e|0;e=s+-40-e|0;_[6895]=O;_[6892]=e;_[O+4>>2]=e|1;_[O+e+4>>2]=40;_[6896]=_[7011];_[r+4>>2]=27;_[r+8>>2]=_[7001];_[r+8+4>>2]=_[7002];_[r+8+8>>2]=_[7003];_[r+8+12>>2]=_[7004];_[7001]=o;_[7002]=s;_[7004]=0;_[7003]=r+8;e=r+24|0;do{O=e;e=e+4|0;_[e>>2]=7}while((O+8|0)>>>0<R>>>0);if((r|0)!=(c|0)){_[r+4>>2]=_[r+4>>2]&-2;_[c+4>>2]=r-c|1;_[r>>2]=r-c;if((r-c|0)>>>0<256){t=27596+((r-c|0)>>>3<<1<<2)|0;e=_[6889]|0;if(e&1<<((r-c|0)>>>3)){e=_[t+8>>2]|0;if(e>>>0<(_[6893]|0)>>>0)Z_();else{x=e;I=t+8|0}}else{_[6889]=e|1<<((r-c|0)>>>3);x=t;I=t+8|0}_[I>>2]=c;_[x+12>>2]=c;_[c+8>>2]=x;_[c+12>>2]=t;break}if((r-c|0)>>>8)if((r-c|0)>>>0>16777215)e=31;else{e=(r-c|0)>>>8<<((((r-c|0)>>>8)+1048320|0)>>>16&8);e=14-((e+520192|0)>>>16&4|(((r-c|0)>>>8)+1048320|0)>>>16&8|((e<<((e+520192|0)>>>16&4))+245760|0)>>>16&2)+(e<<((e+520192|0)>>>16&4)<<(((e<<((e+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;e=(r-c|0)>>>(e+7|0)&1|e<<1}else e=0;n=27860+(e<<2)|0;_[c+28>>2]=e;_[c+20>>2]=0;_[c+16>>2]=0;t=_[6890]|0;i=1<<e;if(!(t&i)){_[6890]=t|i;_[n>>2]=c;_[c+24>>2]=n;_[c+12>>2]=c;_[c+8>>2]=c;break}t=r-c<<((e|0)==31?0:25-(e>>>1)|0);n=_[n>>2]|0;while(1){if((_[n+4>>2]&-8|0)==(r-c|0)){j=292;break}i=n+16+(t>>>31<<2)|0;e=_[i>>2]|0;if(!e){j=289;break}else{t=t<<1;n=e}}if((j|0)==289)if(i>>>0<(_[6893]|0)>>>0)Z_();else{_[i>>2]=c;_[c+24>>2]=n;_[c+12>>2]=c;_[c+8>>2]=c;break}else if((j|0)==292){e=n+8|0;t=_[e>>2]|0;O=_[6893]|0;if(t>>>0>=O>>>0&n>>>0>=O>>>0){_[t+12>>2]=c;_[e>>2]=c;_[c+8>>2]=t;_[c+12>>2]=n;_[c+24>>2]=0;break}else Z_()}}}else{O=_[6893]|0;if((O|0)==0|o>>>0<O>>>0)_[6893]=o;_[7001]=o;_[7002]=s;_[7004]=0;_[6898]=_[7007];_[6897]=-1;e=0;do{O=27596+(e<<1<<2)|0;_[O+12>>2]=O;_[O+8>>2]=O;e=e+1|0}while((e|0)!=32);O=o+8|0;O=(O&7|0)==0?0:0-O&7;T=o+O|0;O=s+-40-O|0;_[6895]=T;_[6892]=O;_[T+4>>2]=O|1;_[T+O+4>>2]=40;_[6896]=_[7011]}}while(0);e=_[6892]|0;if(e>>>0>h>>>0){D=e-h|0;_[6892]=D;O=_[6895]|0;T=O+h|0;_[6895]=T;_[T+4>>2]=D|1;_[O+4>>2]=h|3;O=O+8|0;u=H;return O|0}}_[7016]=12;O=0;u=H;return O|0}function dc(e,t,i,r){e=e|0;t=t|0;i=i|0;r=+r;var o=0,s=0.0,c=0.0,l=0.0,f=0.0,p=0.0,d=0,m=0.0,h=0.0,y=0.0,g=0,C=0,v=0,w=0.0,k=0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,G=0.0,F=0,A=0,P=0,B=0,L=0,V=0,E=0,q=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0.0,X=0.0,J=0.0,Y=0.0,$=0.0,ee=0.0,te=0.0;E=u;u=u+448|0;if(!(n[e+527>>0]|0)){u=E;return}V=_[e+28>>2]|0;I=+a[e+348>>2];x=+a[e+352>>2];G=+a[e+356>>2];M=+a[V+52>>2];D=I*+a[V+4>>2]+x*+a[V+8>>2]+G*+a[V+12>>2]+M;T=+a[V+56>>2];O=I*+a[V+20>>2]+x*+a[V+24>>2]+G*+a[V+28>>2]+T;H=+a[V+60>>2];G=I*+a[V+36>>2]+x*+a[V+40>>2]+G*+a[V+44>>2]+H;V=_[e+32>>2]|0;x=+a[e+412>>2];I=+a[e+416>>2];h=+a[e+420>>2];c=+a[V+52>>2];l=x*+a[V+4>>2]+I*+a[V+8>>2]+h*+a[V+12>>2]+c;f=+a[V+56>>2];p=x*+a[V+20>>2]+I*+a[V+24>>2]+h*+a[V+28>>2]+f;m=+a[V+60>>2];h=x*+a[V+36>>2]+I*+a[V+40>>2]+h*+a[V+44>>2]+m;if(!(n[e+524>>0]|0)){R=+a[t+192>>2]+ +a[t+80>>2];x=+a[t+196>>2]+ +a[t+84>>2];j=+a[t+200>>2]+ +a[t+88>>2];I=+a[i+192>>2]+ +a[i+80>>2];S=+a[i+196>>2]+ +a[i+84>>2];w=+a[i+200>>2]+ +a[i+88>>2];y=+a[t+176>>2]+ +a[t+64>>2]+((G-H)*x-(O-T)*j)-(+a[i+176>>2]+ +a[i+64>>2]+((h-m)*S-(p-f)*w));w=+a[t+180>>2]+ +a[t+68>>2]+((D-M)*j-(G-H)*R)-(+a[i+180>>2]+ +a[i+68>>2]+((l-c)*w-(h-m)*I));S=+a[t+184>>2]+ +a[t+72>>2]+((O-T)*R-(D-M)*x)-(+a[i+184>>2]+ +a[i+72>>2]+((p-f)*I-(l-c)*S));g=(_[t+240>>2]|0)==0;d=0;do{I=1.0/+a[e+48+(d*84|0)+80>>2];C=e+48+(d*84|0)|0;x=+a[C>>2];v=e+48+(d*84|0)+4|0;R=+a[v>>2];k=e+48+(d*84|0)+8|0;j=+a[k>>2];j=I*(((D-l)*x+(O-p)*R+(G-h)*j)*-.30000001192092896/r)-I*(y*x+w*R+S*j);a[e+36>>2]=+a[e+36>>2]+j;R=+a[k>>2];x=+a[v>>2];I=+a[C>>2];o=_[e+28>>2]|0;s=+a[o+404>>2];if(!g){z=((O-T)*R-(G-H)*x)*+a[o+356>>2]+((G-H)*I-(D-M)*R)*+a[o+360>>2]+((D-M)*x-(O-T)*I)*+a[o+364>>2];q=((O-T)*R-(G-H)*x)*+a[o+340>>2]+((G-H)*I-(D-M)*R)*+a[o+344>>2]+((D-M)*x-(O-T)*I)*+a[o+348>>2];Q=((O-T)*R-(G-H)*x)*+a[o+324>>2]+((G-H)*I-(D-M)*R)*+a[o+328>>2]+((D-M)*x-(O-T)*I)*+a[o+332>>2];U=j*x*s*+a[t+116>>2];N=j*R*s*+a[t+120>>2];a[t+64>>2]=j*I*s*+a[t+112>>2]+ +a[t+64>>2];a[t+68>>2]=U+ +a[t+68>>2];a[t+72>>2]=N+ +a[t+72>>2];q=q*j*+a[t+100>>2];s=z*j*+a[t+104>>2];a[t+80>>2]=Q*j*+a[t+96>>2]+ +a[t+80>>2];a[t+84>>2]=q+ +a[t+84>>2];a[t+88>>2]=s+ +a[t+88>>2]}o=_[e+32>>2]|0;s=+a[o+404>>2];if(_[i+240>>2]|0){U=((p-f)*R-(h-m)*x)*+a[o+356>>2]+((h-m)*I-(l-c)*R)*+a[o+360>>2]+((l-c)*x-(p-f)*I)*+a[o+364>>2];N=((p-f)*R-(h-m)*x)*+a[o+340>>2]+((h-m)*I-(l-c)*R)*+a[o+344>>2]+((l-c)*x-(p-f)*I)*+a[o+348>>2];z=((p-f)*R-(h-m)*x)*+a[o+324>>2]+((h-m)*I-(l-c)*R)*+a[o+328>>2]+((l-c)*x-(p-f)*I)*+a[o+332>>2];q=s*+a[v>>2]*-j*+a[i+116>>2];Q=s*+a[k>>2]*-j*+a[i+120>>2];a[i+64>>2]=+a[i+112>>2]*s*+a[C>>2]*-j+ +a[i+64>>2];a[i+68>>2]=q+ +a[i+68>>2];a[i+72>>2]=Q+ +a[i+72>>2];N=N*+a[i+100>>2]*-j;U=U*+a[i+104>>2]*-j;a[i+80>>2]=z*+a[i+96>>2]*-j+ +a[i+80>>2];a[i+84>>2]=N+ +a[i+84>>2];a[i+88>>2]=U+ +a[i+88>>2]}d=d+1|0}while((d|0)!=3)}do{if(!(n[e+552>>0]|0)){s=+a[e+440>>2];if(!(s>1.1920928955078125e-07)){F=t+80|0;d=t+196|0;A=t+84|0;g=t+200|0;P=t+88|0;C=i+192|0;B=i+80|0;v=i+196|0;L=i+84|0;k=i+200|0;V=i+88|0;o=t+192|0;break}c=+a[i+192>>2]+ +a[i+80>>2]-(+a[t+192>>2]+ +a[t+80>>2]);l=+a[i+196>>2]+ +a[i+84>>2]-(+a[t+196>>2]+ +a[t+84>>2]);f=+a[i+200>>2]+ +a[i+88>>2]-(+a[t+200>>2]+ +a[t+88>>2]);if(c*c+l*l+f*f>1.1920928955078125e-07){M=1.0/+W(+(c*c+l*l+f*f));o=_[e+28>>2]|0;m=+a[o+324>>2];h=+a[o+340>>2];y=+a[o+356>>2];w=+a[o+328>>2];S=+a[o+344>>2];j=+a[o+360>>2];R=+a[o+332>>2];x=+a[o+348>>2];I=+a[o+364>>2];o=_[e+32>>2]|0;s=s*(1.0/(c*M*(m*c*M+l*M*h+f*M*y)+l*M*(c*M*w+l*M*S+f*M*j)+f*M*(c*M*R+l*M*x+f*M*I)+(c*M*(c*M*+a[o+324>>2]+l*M*+a[o+340>>2]+f*M*+a[o+356>>2])+l*M*(c*M*+a[o+328>>2]+l*M*+a[o+344>>2]+f*M*+a[o+360>>2])+f*M*(c*M*+a[o+332>>2]+l*M*+a[o+348>>2]+f*M*+a[o+364>>2]))));M=+W(+(f*s*f*s+(c*s*c*s+l*s*l*s)));p=1.0/M*c*s;c=1.0/M*l*s;s=1.0/M*f*s;if(_[t+240>>2]|0){U=M*0.0*+a[t+116>>2];N=M*0.0*+a[t+120>>2];a[t+64>>2]=M*0.0*+a[t+112>>2]+ +a[t+64>>2];a[t+68>>2]=U+ +a[t+68>>2];a[t+72>>2]=N+ +a[t+72>>2];N=(p*h+c*S+s*x)*M*+a[t+100>>2];U=(p*y+c*j+s*I)*M*+a[t+104>>2];a[t+80>>2]=(p*m+c*w+s*R)*M*+a[t+96>>2]+ +a[t+80>>2];a[t+84>>2]=N+ +a[t+84>>2];a[t+88>>2]=U+ +a[t+88>>2];o=_[e+32>>2]|0}if(_[i+240>>2]|0){U=p*+a[o+356>>2]+c*+a[o+360>>2]+s*+a[o+364>>2];N=p*+a[o+340>>2]+c*+a[o+344>>2]+s*+a[o+348>>2];z=p*+a[o+324>>2]+c*+a[o+328>>2]+s*+a[o+332>>2];q=M*-0.0*+a[i+116>>2];Q=M*-0.0*+a[i+120>>2];a[i+64>>2]=M*-0.0*+a[i+112>>2]+ +a[i+64>>2];a[i+68>>2]=q+ +a[i+68>>2];a[i+72>>2]=Q+ +a[i+72>>2];N=N*+a[i+100>>2]*-M;U=U*+a[i+104>>2]*-M;a[i+80>>2]=z*+a[i+96>>2]*-M+ +a[i+80>>2];a[i+84>>2]=N+ +a[i+84>>2];a[i+88>>2]=U+ +a[i+88>>2];F=t+80|0;d=t+196|0;A=t+84|0;g=t+200|0;P=t+88|0;C=i+192|0;B=i+80|0;v=i+196|0;L=i+84|0;k=i+200|0;V=i+88|0;o=t+192|0}else{F=t+80|0;d=t+196|0;A=t+84|0;g=t+200|0;P=t+88|0;C=i+192|0;B=i+80|0;v=i+196|0;L=i+84|0;k=i+200|0;V=i+88|0;o=t+192|0}}else{F=t+80|0;d=t+196|0;A=t+84|0;g=t+200|0;P=t+88|0;C=i+192|0;B=i+80|0;v=i+196|0;L=i+84|0;k=i+200|0;V=i+88|0;o=t+192|0}}else{L=_[e+28>>2]|0;_[E+352>>2]=_[L+4>>2];_[E+352+4>>2]=_[L+4+4>>2];_[E+352+8>>2]=_[L+4+8>>2];_[E+352+12>>2]=_[L+4+12>>2];_[E+352+16>>2]=_[L+20>>2];_[E+352+16+4>>2]=_[L+20+4>>2];_[E+352+16+8>>2]=_[L+20+8>>2];_[E+352+16+12>>2]=_[L+20+12>>2];_[E+352+32>>2]=_[L+36>>2];_[E+352+32+4>>2]=_[L+36+4>>2];_[E+352+32+8>>2]=_[L+36+8>>2];_[E+352+32+12>>2]=_[L+36+12>>2];_[E+352+48>>2]=_[L+52>>2];_[E+352+48+4>>2]=_[L+52+4>>2];_[E+352+48+8>>2]=_[L+52+8>>2];_[E+352+48+12>>2]=_[L+52+12>>2];L=_[e+32>>2]|0;_[E+288>>2]=_[L+4>>2];_[E+288+4>>2]=_[L+4+4>>2];_[E+288+8>>2]=_[L+4+8>>2];_[E+288+12>>2]=_[L+4+12>>2];_[E+288+16>>2]=_[L+20>>2];_[E+288+16+4>>2]=_[L+20+4>>2];_[E+288+16+8>>2]=_[L+20+8>>2];_[E+288+16+12>>2]=_[L+20+12>>2];_[E+288+32>>2]=_[L+36>>2];_[E+288+32+4>>2]=_[L+36+4>>2];_[E+288+32+8>>2]=_[L+36+8>>2];_[E+288+32+12>>2]=_[L+36+12>>2];_[E+288+48>>2]=_[L+52>>2];_[E+288+48+4>>2]=_[L+52+4>>2];_[E+288+48+8>>2]=_[L+52+8>>2];_[E+288+48+12>>2]=_[L+52+12>>2];z=+a[t+196>>2]+ +a[t+84>>2];y=+a[t+200>>2]+ +a[t+88>>2];a[E+272>>2]=+a[t+192>>2]+ +a[t+80>>2];a[E+272+4>>2]=z;a[E+272+8>>2]=y;a[E+272+12>>2]=0.0;y=+a[i+196>>2]+ +a[i+84>>2];z=+a[i+200>>2]+ +a[i+88>>2];a[E+256>>2]=+a[i+192>>2]+ +a[i+80>>2];a[E+256+4>>2]=y;a[E+256+8>>2]=z;a[E+256+12>>2]=0.0;_[E+192>>2]=1065353216;L=E+192+4|0;_[L>>2]=0;_[L+4>>2]=0;_[L+8>>2]=0;_[L+12>>2]=0;_[E+192+20>>2]=1065353216;V=E+192+24|0;_[V>>2]=0;_[V+4>>2]=0;_[V+8>>2]=0;_[V+12>>2]=0;_[E+192+40>>2]=1065353216;P=E+192+44|0;_[P>>2]=0;_[P+4>>2]=0;_[P+8>>2]=0;_[P+12>>2]=0;_[P+16>>2]=0;Ue(E+352|0,0.0,0.0,0.0,E+272|0,r,E+192|0);_[E+128>>2]=1065353216;P=E+128+4|0;_[P>>2]=0;_[P+4>>2]=0;_[P+8>>2]=0;_[P+12>>2]=0;_[E+128+20>>2]=1065353216;B=E+128+24|0;_[B>>2]=0;_[B+4>>2]=0;_[B+8>>2]=0;_[B+12>>2]=0;_[E+128+40>>2]=1065353216;A=E+128+44|0;_[A>>2]=0;_[A+4>>2]=0;_[A+8>>2]=0;_[A+12>>2]=0;_[A+16>>2]=0;Ue(E+288|0,0.0,0.0,0.0,E+256|0,r,E+128|0);z=+a[e+556>>2];y=+a[e+560>>2];N=+a[e+564>>2];w=+a[e+568>>2];O=z*(2.0/(z*z+y*y+N*N+w*w));x=y*(2.0/(z*z+y*y+N*N+w*w));H=N*(2.0/(z*z+y*y+N*N+w*w));Z=+a[e+364>>2];K=+a[e+368>>2];Y=+a[e+372>>2];c=Y*(z*H-w*x)+(K*(z*x+w*H)+Z*(1.0-(y*x+N*H)));l=Y*(y*H+w*O)+(Z*(z*x-w*H)+K*(1.0-(z*O+N*H)));f=Z*(z*H+w*x)+K*(y*H-w*O)+Y*(1.0-(z*O+y*x));s=+a[e+380>>2];T=+a[e+384>>2];I=+a[e+388>>2];p=(z*H-w*x)*I+(T*(z*x+w*H)+s*(1.0-(y*x+N*H)));m=(y*H+w*O)*I+(s*(z*x-w*H)+T*(1.0-(z*O+N*H)));h=s*(z*H+w*x)+T*(y*H-w*O)+I*(1.0-(z*O+y*x));q=+a[e+396>>2];M=+a[e+400>>2];R=+a[e+404>>2];Q=(1.0-(y*x+N*H))*q+(z*x+w*H)*M+(z*H-w*x)*R;N=(z*x-w*H)*q+(1.0-(z*O+N*H))*M+(y*H+w*O)*R;x=(z*H+w*x)*q+(y*H-w*O)*M+(1.0-(z*O+y*x))*R;y=+a[e+300>>2];O=+a[e+316>>2];z=+a[e+332>>2];w=+a[e+304>>2];H=+a[e+320>>2];U=+a[e+336>>2];D=+a[e+308>>2];G=+a[e+324>>2];j=+a[e+340>>2];S=-+a[e+348>>2];te=-+a[e+352>>2];J=-+a[e+356>>2];Y=Z*0.0+K*0.0+Y*0.0+ +a[e+412>>2]+(f*(D*S+G*te+j*J)+(c*(y*S+O*te+z*J)+l*(w*S+H*te+U*J)));I=s*0.0+T*0.0+I*0.0+ +a[e+416>>2]+(h*(D*S+G*te+j*J)+(p*(y*S+O*te+z*J)+m*(w*S+H*te+U*J)));J=q*0.0+M*0.0+R*0.0+ +a[e+420>>2]+(x*(D*S+G*te+j*J)+(Q*(y*S+O*te+z*J)+N*(w*S+H*te+U*J)));te=+a[E+128>>2];S=+a[P>>2];R=+a[E+128+8>>2];M=+a[E+128+16>>2];q=+a[E+128+20>>2];T=+a[B>>2];s=+a[E+128+32>>2];K=+a[E+128+36>>2];Z=+a[E+128+40>>2];X=R*J+(te*Y+S*I)+ +a[E+128+48>>2];$=M*Y+I*q+J*T+ +a[E+128+52>>2];ee=Y*s+I*K+J*Z+ +a[E+128+56>>2];a[E+64>>2]=(c*y+l*w+f*D)*te+(p*y+m*w+h*D)*S+(Q*y+N*w+x*D)*R;a[E+64+4>>2]=(c*O+l*H+f*G)*te+(p*O+m*H+h*G)*S+(Q*O+N*H+x*G)*R;a[E+64+8>>2]=(c*z+l*U+f*j)*te+(p*z+m*U+h*j)*S+(Q*z+N*U+x*j)*R;a[E+64+12>>2]=0.0;a[E+64+16>>2]=(c*y+l*w+f*D)*M+(p*y+m*w+h*D)*q+(Q*y+N*w+x*D)*T;a[E+64+20>>2]=(c*O+l*H+f*G)*M+(p*O+m*H+h*G)*q+(Q*O+N*H+x*G)*T;a[E+64+24>>2]=(c*z+l*U+f*j)*M+(p*z+m*U+h*j)*q+(Q*z+N*U+x*j)*T;a[E+64+28>>2]=0.0;a[E+64+32>>2]=(c*y+l*w+f*D)*s+(p*y+m*w+h*D)*K+(Q*y+N*w+x*D)*Z;a[E+64+36>>2]=(c*O+l*H+f*G)*s+(p*O+m*H+h*G)*K+(Q*O+N*H+x*G)*Z;a[E+64+40>>2]=(c*z+l*U+f*j)*s+(p*z+m*U+h*j)*K+(Q*z+N*U+x*j)*Z;a[E+64+44>>2]=0.0;a[E+64+48>>2]=X;a[E+64+52>>2]=$;a[E+64+56>>2]=ee;a[E+64+60>>2]=0.0;ee=(Q*y+N*w+x*D)*-J+((c*y+l*w+f*D)*-Y+(p*y+m*w+h*D)*-I);$=(Q*O+N*H+x*G)*-J+((c*O+l*H+f*G)*-Y+(p*O+m*H+h*G)*-I);I=(Q*z+N*U+x*j)*-J+((c*z+l*U+f*j)*-Y+(p*z+m*U+h*j)*-I);Y=+a[E+192>>2];J=+a[L>>2];X=+a[E+192+8>>2];Z=+a[E+192+16>>2];K=+a[E+192+20>>2];s=+a[V>>2];T=+a[E+192+32>>2];q=+a[E+192+36>>2];M=+a[E+192+40>>2];R=ee*Y+$*J+I*X+ +a[E+192+48>>2];S=ee*Z+$*K+I*s+ +a[E+192+52>>2];I=ee*T+$*q+I*M+ +a[E+192+56>>2];a[E>>2]=(c*y+l*w+f*D)*Y+(c*O+l*H+f*G)*J+(c*z+l*U+f*j)*X;a[E+4>>2]=(p*y+m*w+h*D)*Y+(p*O+m*H+h*G)*J+(p*z+m*U+h*j)*X;a[E+8>>2]=(Q*y+N*w+x*D)*Y+(Q*O+N*H+x*G)*J+(Q*z+N*U+x*j)*X;a[E+12>>2]=0.0;a[E+16>>2]=(c*y+l*w+f*D)*Z+(c*O+l*H+f*G)*K+(c*z+l*U+f*j)*s;a[E+20>>2]=(p*y+m*w+h*D)*Z+(p*O+m*H+h*G)*K+(p*z+m*U+h*j)*s;a[E+24>>2]=(Q*y+N*w+x*D)*Z+(Q*O+N*H+x*G)*K+(Q*z+N*U+x*j)*s;a[E+28>>2]=0.0;a[E+32>>2]=(c*y+l*w+f*D)*T+(c*O+l*H+f*G)*q+(c*z+l*U+f*j)*M;a[E+36>>2]=(p*y+m*w+h*D)*T+(p*O+m*H+h*G)*q+(p*z+m*U+h*j)*M;a[E+40>>2]=(Q*y+N*w+x*D)*T+(Q*O+N*H+x*G)*q+(Q*z+N*U+x*j)*M;a[E+44>>2]=0.0;a[E+48>>2]=R;a[E+52>>2]=S;a[E+56>>2]=I;a[E+60>>2]=0.0;bf(E+352|0,E+64|0,E+424|0,E+416|0);I=+a[E+416>>2];S=1.0/r*+a[E+424>>2]*I;R=1.0/r*I*+a[E+424+4>>2];I=1.0/r*I*+a[E+424+8>>2];bf(E+288|0,E,E+424|0,E+416|0);M=+a[E+416>>2];S=S-+a[E+272>>2];R=R-+a[E+272+4>>2];I=I-+a[E+272+8>>2];j=1.0/r*+a[E+424>>2]*M-+a[E+256>>2];x=1.0/r*M*+a[E+424+4>>2]-+a[E+256+4>>2];M=1.0/r*M*+a[E+424+8>>2]-+a[E+256+8>>2];if(S*S+R*R+I*I>1.1920928955078125e-07){y=1.0/+W(+(S*S+R*R+I*I));V=_[e+28>>2]|0;p=S*y*(+a[V+324>>2]*S*y+R*y*+a[V+340>>2]+I*y*+a[V+356>>2])+R*y*(S*y*+a[V+328>>2]+R*y*+a[V+344>>2]+I*y*+a[V+360>>2])+I*y*(S*y*+a[V+332>>2]+R*y*+a[V+348>>2]+I*y*+a[V+364>>2]);c=S*y;f=R*y;y=I*y}else{p=0.0;c=0.0;f=0.0;y=0.0}if(j*j+x*x+M*M>1.1920928955078125e-07){h=1.0/+W(+(j*j+x*x+M*M));V=_[e+32>>2]|0;m=j*h*(+a[V+324>>2]*j*h+x*h*+a[V+340>>2]+M*h*+a[V+356>>2])+x*h*(j*h*+a[V+328>>2]+x*h*+a[V+344>>2]+M*h*+a[V+360>>2])+M*h*(j*h*+a[V+332>>2]+x*h*+a[V+348>>2]+M*h*+a[V+364>>2]);s=j*h;l=x*h;h=M*h}else{m=0.0;s=0.0;l=0.0;h=0.0}w=p*c+m*s;c=p*f+m*l;s=p*y+m*h;if(w*w+c*c+s*s>1.1920928955078125e-07){f=1.0/+W(+(w*w+c*c+s*s));d=_[e+28>>2]|0;l=w*f*(+a[d+324>>2]*w*f+c*f*+a[d+340>>2]+s*f*+a[d+356>>2])+c*f*(w*f*+a[d+328>>2]+c*f*+a[d+344>>2]+s*f*+a[d+360>>2])+s*f*(w*f*+a[d+332>>2]+c*f*+a[d+348>>2]+s*f*+a[d+364>>2]);o=_[e+32>>2]|0;f=w*f*(w*f*+a[o+324>>2]+c*f*+a[o+340>>2]+s*f*+a[o+356>>2])+c*f*(w*f*+a[o+328>>2]+c*f*+a[o+344>>2]+s*f*+a[o+360>>2])+s*f*(w*f*+a[o+332>>2]+c*f*+a[o+348>>2]+s*f*+a[o+364>>2]);w=(S*l-j*f)*(1.0/((l+f)*(l+f)));s=(R*l-x*f)*(1.0/((l+f)*(l+f)));f=(I*l-M*f)*(1.0/((l+f)*(l+f)));c=+a[e+572>>2];if(!(c>=0.0))c=w;else{l=(n[e+553>>0]|0)==0?c:c/l;m=+a[e+576>>2];h=+a[e+580>>2];y=+a[e+584>>2];p=+W(+((w+m)*(w+m)+(s+h)*(s+h)+(f+y)*(f+y)));if(p>l){c=l*(w+m)*(1.0/p)-m;f=l*(f+y)*(1.0/p)-y;s=l*(s+h)*(1.0/p)-h}else c=w;a[e+576>>2]=c+m;a[e+580>>2]=s+h;a[e+584>>2]=f+y}p=+W(+(c*c+s*s+f*f));l=c*(1.0/p);c=s*(1.0/p);s=f*(1.0/p);if(_[t+240>>2]|0){te=l*+a[d+356>>2]+c*+a[d+360>>2]+s*+a[d+364>>2];ee=l*+a[d+340>>2]+c*+a[d+344>>2]+s*+a[d+348>>2];$=l*+a[d+324>>2]+c*+a[d+328>>2]+s*+a[d+332>>2];J=p*0.0*+a[t+116>>2];Y=p*0.0*+a[t+120>>2];a[t+64>>2]=p*0.0*+a[t+112>>2]+ +a[t+64>>2];a[t+68>>2]=J+ +a[t+68>>2];a[t+72>>2]=Y+ +a[t+72>>2];ee=ee*p*+a[t+100>>2];te=te*p*+a[t+104>>2];a[t+80>>2]=$*p*+a[t+96>>2]+ +a[t+80>>2];a[t+84>>2]=ee+ +a[t+84>>2];a[t+88>>2]=te+ +a[t+88>>2];o=_[e+32>>2]|0}if(_[i+240>>2]|0){te=l*+a[o+356>>2]+c*+a[o+360>>2]+s*+a[o+364>>2];ee=l*+a[o+340>>2]+c*+a[o+344>>2]+s*+a[o+348>>2];$=l*+a[o+324>>2]+c*+a[o+328>>2]+s*+a[o+332>>2];J=p*-0.0*+a[i+116>>2];Y=p*-0.0*+a[i+120>>2];a[i+64>>2]=p*-0.0*+a[i+112>>2]+ +a[i+64>>2];a[i+68>>2]=J+ +a[i+68>>2];a[i+72>>2]=Y+ +a[i+72>>2];ee=ee*+a[i+100>>2]*-p;te=te*+a[i+104>>2]*-p;a[i+80>>2]=$*+a[i+96>>2]*-p+ +a[i+80>>2];a[i+84>>2]=ee+ +a[i+84>>2];a[i+88>>2]=te+ +a[i+88>>2]}}F=t+80|0;d=t+196|0;A=t+84|0;g=t+200|0;P=t+88|0;C=i+192|0;B=i+80|0;v=i+196|0;L=i+84|0;k=i+200|0;V=i+88|0;o=t+192|0}}while(0);j=+a[o>>2]+ +a[F>>2];S=+a[d>>2]+ +a[A>>2];w=+a[g>>2]+ +a[P>>2];y=+a[C>>2]+ +a[B>>2];h=+a[v>>2]+ +a[L>>2];m=+a[k>>2]+ +a[V>>2];if(n[e+526>>0]|0){c=+a[e+528>>2];s=c*+a[e+504>>2]*+a[e+432>>2]/r;l=+a[e+460>>2];f=+a[e+464>>2];p=+a[e+468>>2];if((y-j)*l+(h-S)*f+(m-w)*p>0.0)s=s+c*((y-j)*l+(h-S)*f+(m-w)*p)*+a[e+436>>2];ee=+a[e+516>>2];Y=ee+s*+a[e+492>>2];a[E+424>>2]=Y;a[E+416>>2]=0.0;o=_[(Y>0.0?E+424|0:E+416|0)>>2]|0;_[e+516>>2]=o;ee=(_[b>>2]=o,+a[b>>2])-ee;Y=+a[e+536>>2];$=+a[e+540>>2];s=+a[e+544>>2];c=ee*l-Y*(ee*l*Y+ee*f*$+ee*p*s);te=ee*f-$*(ee*l*Y+ee*f*$+ee*p*s);f=ee*p-s*(ee*l*Y+ee*f*$+ee*p*s);s=+W(+(f*f+(c*c+te*te)));c=1.0/s*c;l=1.0/s*te;f=1.0/s*f;o=_[e+28>>2]|0;if(_[t+240>>2]|0){te=c*+a[o+356>>2]+l*+a[o+360>>2]+f*+a[o+364>>2];ee=c*+a[o+340>>2]+l*+a[o+344>>2]+f*+a[o+348>>2];$=c*+a[o+324>>2]+l*+a[o+328>>2]+f*+a[o+332>>2];J=s*0.0*+a[t+116>>2];Y=s*0.0*+a[t+120>>2];a[t+64>>2]=s*0.0*+a[t+112>>2]+ +a[t+64>>2];a[t+68>>2]=J+ +a[t+68>>2];a[t+72>>2]=Y+ +a[t+72>>2];ee=ee*s*+a[t+100>>2];te=te*s*+a[t+104>>2];a[F>>2]=$*s*+a[t+96>>2]+ +a[F>>2];a[A>>2]=ee+ +a[A>>2];a[P>>2]=te+ +a[P>>2]}o=_[e+32>>2]|0;if(_[i+240>>2]|0){te=c*+a[o+356>>2]+l*+a[o+360>>2]+f*+a[o+364>>2];ee=c*+a[o+340>>2]+l*+a[o+344>>2]+f*+a[o+348>>2];$=c*+a[o+324>>2]+l*+a[o+328>>2]+f*+a[o+332>>2];J=s*-0.0*+a[i+116>>2];Y=s*-0.0*+a[i+120>>2];a[i+64>>2]=s*-0.0*+a[i+112>>2]+ +a[i+64>>2];a[i+68>>2]=J+ +a[i+68>>2];a[i+72>>2]=Y+ +a[i+72>>2];ee=ee*+a[i+100>>2]*-s;te=te*+a[i+104>>2]*-s;a[B>>2]=$*+a[i+96>>2]*-s+ +a[B>>2];a[L>>2]=ee+ +a[L>>2];a[V>>2]=te+ +a[V>>2]}}if(!(n[e+525>>0]|0)){u=E;return}p=+a[e+532>>2];f=p*+a[e+508>>2]*+a[e+432>>2]/r;l=+a[e+476>>2];c=+a[e+480>>2];s=+a[e+484>>2];if((y-j)*l+(h-S)*c+(m-w)*s>0.0)f=f+p*((y-j)*l+(h-S)*c+(m-w)*s)*+a[e+436>>2];te=+a[e+520>>2];f=te+f*+a[e+496>>2];a[E+424>>2]=f;a[E+416>>2]=0.0;o=_[(f>0.0?E+424|0:E+416|0)>>2]|0;_[e+520>>2]=o;f=(_[b>>2]=o,+a[b>>2])-te;o=_[e+28>>2]|0;if(_[t+240>>2]|0){te=l*+a[o+356>>2]+c*+a[o+360>>2]+s*+a[o+364>>2];ee=l*+a[o+340>>2]+c*+a[o+344>>2]+s*+a[o+348>>2];s=l*+a[o+324>>2]+c*+a[o+328>>2]+s*+a[o+332>>2];l=f*0.0*+a[t+116>>2];c=f*0.0*+a[t+120>>2];a[t+64>>2]=f*0.0*+a[t+112>>2]+ +a[t+64>>2];a[t+68>>2]=l+ +a[t+68>>2];a[t+72>>2]=c+ +a[t+72>>2];c=ee*f*+a[t+100>>2];l=te*f*+a[t+104>>2];a[F>>2]=s*f*+a[t+96>>2]+ +a[F>>2];a[A>>2]=c+ +a[A>>2];a[P>>2]=l+ +a[P>>2];l=+a[e+476>>2];c=+a[e+480>>2];s=+a[e+484>>2]}o=_[e+32>>2]|0;if(!(_[i+240>>2]|0)){u=E;return}te=l*+a[o+356>>2]+c*+a[o+360>>2]+s*+a[o+364>>2];ee=l*+a[o+340>>2]+c*+a[o+344>>2]+s*+a[o+348>>2];$=l*+a[o+324>>2]+c*+a[o+328>>2]+s*+a[o+332>>2];J=f*-0.0*+a[i+116>>2];Y=f*-0.0*+a[i+120>>2];a[i+64>>2]=f*-0.0*+a[i+112>>2]+ +a[i+64>>2];a[i+68>>2]=J+ +a[i+68>>2];a[i+72>>2]=Y+ +a[i+72>>2];ee=ee*+a[i+100>>2]*-f;te=te*+a[i+104>>2]*-f;a[B>>2]=$*+a[i+96>>2]*-f+ +a[B>>2];a[L>>2]=ee+ +a[L>>2];a[V>>2]=te+ +a[V>>2];u=E;return}function ec(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0.0,s=0.0,c=0,l=0,f=0.0,p=0.0,d=0.0,m=0.0,h=0.0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0,x=0.0,I=0,M=0,D=0,T=0,O=0,H=0,F=0,A=0,P=0.0,B=0.0,L=0.0,V=0.0,E=0.0,Q=0.0,z=0.0,N=0.0,U=0.0,K=0.0,Z=0.0,X=0,J=0.0,Y=0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,re=0,_e=0.0,oe=0,se=0.0,ce=0.0,ae=0.0,le=0.0,fe=0.0,be=0.0,pe=0.0,ue=0.0,de=0.0,me=0.0,he=0.0,ye=0.0,ge=0.0,Ce=0.0,ve=0.0,we=0.0,ke=0.0,Se=0.0,je=0.0,Re=0,xe=0.0,Ie=0.0,Me=0.0,De=0;De=u;u=u+528|0;_[De+56>>2]=_[t>>2];_[De+8>>2]=_[t+64>>2];c=De+56+4|0;_[c>>2]=_[t+4>>2];_[De+8+4>>2]=_[t+68>>2];_[De+56+8>>2]=_[t+8>>2];_[De+8+8>>2]=_[t+72>>2];_[De+56+16>>2]=_[t+16>>2];_[De+8+16>>2]=_[t+80>>2];_[De+56+20>>2]=_[t+20>>2];_[De+8+20>>2]=_[t+84>>2];_[De+56+24>>2]=_[t+24>>2];_[De+8+24>>2]=_[t+88>>2];_[De+56+32>>2]=_[t+32>>2];_[De+8+32>>2]=_[t+96>>2];_[De+56+36>>2]=_[t+36>>2];_[De+8+36>>2]=_[t+100>>2];_[De+56+40>>2]=_[t+40>>2];_[De+8+40>>2]=_[t+104>>2];Re=_[e+4>>2]|0;ce=+a[Re+32>>2];ae=+a[Re+36>>2];be=+a[Re+40>>2];le=+Da[_[(_[Re>>2]|0)+48>>2]&15](Re);fe=+Da[_[(_[Re>>2]|0)+48>>2]&15](Re);be=(be+ +Da[_[(_[Re>>2]|0)+48>>2]&15](Re))*2.0;Re=_[e+8>>2]|0;me=+a[Re+32>>2];he=+a[Re+36>>2];we=+a[Re+40>>2];ge=+Da[_[(_[Re>>2]|0)+48>>2]&15](Re);ye=+Da[_[(_[Re>>2]|0)+48>>2]&15](Re);we=(we+ +Da[_[(_[Re>>2]|0)+48>>2]&15](Re))*2.0;E=+a[t+112>>2]-+a[t+48>>2];Q=+a[t+116>>2]-+a[t+52>>2];z=+a[t+120>>2]-+a[t+56>>2];ne=+a[De+56>>2];te=+a[De+56+16>>2];ie=+a[De+56+32>>2];ee=+a[c>>2];J=+a[De+56+20>>2];$=+a[De+56+36>>2];_e=+a[De+56+8>>2];se=+a[De+56+24>>2];pe=+a[De+56+40>>2];a[De+412>>2]=(ce+le)*2.0*.5;a[De+412+4>>2]=(ae+fe)*2.0*.5;a[De+412+8>>2]=be*.5;a[De+400>>2]=(me+ge)*2.0*.5;a[De+400+4>>2]=(he+ye)*2.0*.5;a[De+400+8>>2]=we*.5;je=+a[De+8>>2];de=+a[De+8+16>>2];ve=+a[De+8+32>>2];Se=+a[De+8+4>>2];ue=+a[De+8+20>>2];Ce=+a[De+8+36>>2];ke=+a[De+8+8>>2];xe=+a[De+8+24>>2];Ie=+a[De+8+40>>2];x=+G(+(ne*je+te*de+ie*ve));B=+G(+(ne*Se+te*ue+ie*Ce));N=+G(+(ne*ke+te*xe+ie*Ie));P=+G(+(je*ee+de*J+ve*$));L=+G(+(Se*ee+ue*J+Ce*$));U=+G(+(ke*ee+xe*J+Ie*$));K=+G(+(je*_e+de*se+ve*pe));Z=+G(+(Se*_e+ue*se+Ce*pe));V=+G(+(ke*_e+xe*se+Ie*pe));s=+G(+(E*ne+Q*te+z*ie))-(we*.5*N+((ce+le)*2.0*.5+x*(me+ge)*2.0*.5+B*(he+ye)*2.0*.5));if(s>0.0){u=De;return}if(s>-3402823466385288598117041.0e14){e=De+56|0;n=1;r=E*ne+Q*te+z*ie<0.0&1}else{e=0;n=0;r=0;s=-3402823466385288598117041.0e14}o=+G(+(E*ee+Q*J+z*$))-((ae+fe)*2.0*.5+P*(me+ge)*2.0*.5+L*(he+ye)*2.0*.5+U*we*.5);if(o>0.0){u=De;return}if(o>s){e=c;n=2;r=E*ee+Q*J+z*$<0.0&1;s=o}o=+G(+(E*_e+Q*se+z*pe))-(be*.5+K*(me+ge)*2.0*.5+Z*(he+ye)*2.0*.5+V*we*.5);if(o>0.0){u=De;return}if(o>s){e=De+56+8|0;n=3;r=E*_e+Q*se+z*pe<0.0&1;s=o}o=+G(+(E*je+Q*de+z*ve))-((me+ge)*2.0*.5+(x*(ce+le)*2.0*.5+P*(ae+fe)*2.0*.5+K*be*.5));if(o>0.0){u=De;return}if(o>s){e=De+8|0;n=4;r=E*je+Q*de+z*ve<0.0&1;s=o}o=+G(+(E*Se+Q*ue+z*Ce))-((he+ye)*2.0*.5+(B*(ce+le)*2.0*.5+L*(ae+fe)*2.0*.5+Z*be*.5));if(o>0.0){u=De;return}if(o>s){e=De+8+4|0;n=5;r=E*Se+Q*ue+z*Ce<0.0&1;s=o}o=+G(+(E*ke+Q*xe+z*Ie))-(we*.5+(N*(ce+le)*2.0*.5+U*(ae+fe)*2.0*.5+V*be*.5));if(o>0.0){u=De;return}if(o>s){e=De+8+8|0;n=6;r=E*ke+Q*xe+z*Ie<0.0&1;s=o}o=(E*_e+Q*se+z*pe)*(je*ee+de*J+ve*$)-(E*ee+Q*J+z*$)*(je*_e+de*se+ve*pe);f=+G(+o)-((K+9.999999747378752e-06)*(ae+fe)*2.0*.5+(P+9.999999747378752e-06)*be*.5+(N+9.999999747378752e-06)*(he+ye)*2.0*.5+(B+9.999999747378752e-06)*we*.5);if(f>1.1920928955078125e-07){u=De;return}y=(je*_e+de*se+ve*pe)*(je*_e+de*se+ve*pe)+0.0;k=(je*ee+de*J+ve*$)*(je*ee+de*J+ve*$);m=+W(+(k+y));if(m>1.1920928955078125e-07?f/m*1.0499999523162842>s:0){e=0;n=7;r=o<0.0&1;s=f/m;d=0.0/m;p=-(je*_e+de*se+ve*pe)/m;o=(je*ee+de*J+ve*$)/m}else{d=0.0;p=0.0;o=0.0}f=(E*_e+Q*se+z*pe)*(Se*ee+ue*J+Ce*$)-(E*ee+Q*J+z*$)*(Se*_e+ue*se+Ce*pe);m=+G(+f)-((Z+9.999999747378752e-06)*(ae+fe)*2.0*.5+(L+9.999999747378752e-06)*be*.5+(N+9.999999747378752e-06)*(me+ge)*2.0*.5+(x+9.999999747378752e-06)*we*.5);if(m>1.1920928955078125e-07){u=De;return}g=(Se*_e+ue*se+Ce*pe)*(Se*_e+ue*se+Ce*pe)+0.0;S=(Se*ee+ue*J+Ce*$)*(Se*ee+ue*J+Ce*$);h=+W(+(S+g));if(h>1.1920928955078125e-07?m/h*1.0499999523162842>s:0){e=0;n=8;r=f<0.0&1;s=m/h;d=0.0/h;p=-(Se*_e+ue*se+Ce*pe)/h;o=(Se*ee+ue*J+Ce*$)/h}f=(E*_e+Q*se+z*pe)*(ke*ee+xe*J+Ie*$)-(E*ee+Q*J+z*$)*(ke*_e+xe*se+Ie*pe);m=+G(+f)-((V+9.999999747378752e-06)*(ae+fe)*2.0*.5+(U+9.999999747378752e-06)*be*.5+(B+9.999999747378752e-06)*(me+ge)*2.0*.5+(x+9.999999747378752e-06)*(he+ye)*2.0*.5);if(m>1.1920928955078125e-07){u=De;return}v=(ke*_e+xe*se+Ie*pe)*(ke*_e+xe*se+Ie*pe)+0.0;j=(ke*ee+xe*J+Ie*$)*(ke*ee+xe*J+Ie*$);h=+W(+(j+v));if(h>1.1920928955078125e-07?m/h*1.0499999523162842>s:0){e=0;n=9;r=f<0.0&1;s=m/h;d=0.0/h;p=-(ke*_e+xe*se+Ie*pe)/h;o=(ke*ee+xe*J+Ie*$)/h}f=(E*ne+Q*te+z*ie)*(je*_e+de*se+ve*pe)-(E*_e+Q*se+z*pe)*(ne*je+te*de+ie*ve);m=+G(+f)-((K+9.999999747378752e-06)*(ce+le)*2.0*.5+(x+9.999999747378752e-06)*be*.5+(U+9.999999747378752e-06)*(he+ye)*2.0*.5+(L+9.999999747378752e-06)*we*.5);if(m>1.1920928955078125e-07){u=De;return}w=(ne*je+te*de+ie*ve)*(ne*je+te*de+ie*ve);h=+W(+(w+y));do{if(h>1.1920928955078125e-07){if(!(m/h*1.0499999523162842>s))break;e=0;n=10;r=f<0.0&1;s=m/h;d=(je*_e+de*se+ve*pe)/h;p=0.0/h;o=-(ne*je+te*de+ie*ve)/h}}while(0);f=(E*ne+Q*te+z*ie)*(Se*_e+ue*se+Ce*pe)-(E*_e+Q*se+z*pe)*(ne*Se+te*ue+ie*Ce);m=+G(+f)-((Z+9.999999747378752e-06)*(ce+le)*2.0*.5+(B+9.999999747378752e-06)*be*.5+(U+9.999999747378752e-06)*(me+ge)*2.0*.5+(P+9.999999747378752e-06)*we*.5);if(m>1.1920928955078125e-07){u=De;return}C=(ne*Se+te*ue+ie*Ce)*(ne*Se+te*ue+ie*Ce);h=+W(+(C+g));do{if(h>1.1920928955078125e-07){if(!(m/h*1.0499999523162842>s))break;e=0;n=11;r=f<0.0&1;s=m/h;d=(Se*_e+ue*se+Ce*pe)/h;p=0.0/h;o=-(ne*Se+te*ue+ie*Ce)/h}}while(0);f=(E*ne+Q*te+z*ie)*(ke*_e+xe*se+Ie*pe)-(E*_e+Q*se+z*pe)*(ne*ke+te*xe+ie*Ie);m=+G(+f)-((V+9.999999747378752e-06)*(ce+le)*2.0*.5+(N+9.999999747378752e-06)*be*.5+(L+9.999999747378752e-06)*(me+ge)*2.0*.5+(P+9.999999747378752e-06)*(he+ye)*2.0*.5);if(m>1.1920928955078125e-07){u=De;return}y=(ne*ke+te*xe+ie*Ie)*(ne*ke+te*xe+ie*Ie);h=+W(+(y+v));do{if(h>1.1920928955078125e-07){if(!(m/h*1.0499999523162842>s))break;e=0;n=12;r=f<0.0&1;s=m/h;d=(ke*_e+xe*se+Ie*pe)/h;p=0.0/h;o=-(ne*ke+te*xe+ie*Ie)/h}}while(0);m=(E*ee+Q*J+z*$)*(ne*je+te*de+ie*ve)-(E*ne+Q*te+z*ie)*(je*ee+de*J+ve*$);f=+G(+m)-((P+9.999999747378752e-06)*(ce+le)*2.0*.5+(x+9.999999747378752e-06)*(ae+fe)*2.0*.5+(V+9.999999747378752e-06)*(he+ye)*2.0*.5+(Z+9.999999747378752e-06)*we*.5);if(f>1.1920928955078125e-07){u=De;return}h=+W(+(w+k+0.0));do{if(h>1.1920928955078125e-07){if(!(f/h*1.0499999523162842>s))break;e=0;n=13;r=m<0.0&1;s=f/h;d=-(je*ee+de*J+ve*$)/h;p=(ne*je+te*de+ie*ve)/h;o=0.0/h}}while(0);h=(E*ee+Q*J+z*$)*(ne*Se+te*ue+ie*Ce)-(E*ne+Q*te+z*ie)*(Se*ee+ue*J+Ce*$);f=+G(+h)-((L+9.999999747378752e-06)*(ce+le)*2.0*.5+(B+9.999999747378752e-06)*(ae+fe)*2.0*.5+(V+9.999999747378752e-06)*(me+ge)*2.0*.5+(K+9.999999747378752e-06)*we*.5);if(f>1.1920928955078125e-07){u=De;return}m=+W(+(C+S+0.0));do{if(m>1.1920928955078125e-07){if(!(f/m*1.0499999523162842>s))break;e=0;n=14;r=h<0.0&1;s=f/m;d=-(Se*ee+ue*J+Ce*$)/m;p=(ne*Se+te*ue+ie*Ce)/m;o=0.0/m}}while(0);h=(E*ee+Q*J+z*$)*(ne*ke+te*xe+ie*Ie)-(E*ne+Q*te+z*ie)*(ke*ee+xe*J+Ie*$);f=+G(+h)-((U+9.999999747378752e-06)*(ce+le)*2.0*.5+(N+9.999999747378752e-06)*(ae+fe)*2.0*.5+(Z+9.999999747378752e-06)*(me+ge)*2.0*.5+(K+9.999999747378752e-06)*(he+ye)*2.0*.5);if(f>1.1920928955078125e-07){u=De;return}m=+W(+(y+j+0.0));do{if(m>1.1920928955078125e-07){if(!(f/m*1.0499999523162842>s)){Re=55;break}n=15;r=h<0.0&1;s=f/m;d=-(ke*ee+xe*J+Ie*$)/m;p=(ne*ke+te*xe+ie*Ie)/m;o=0.0/m;Re=58}else Re=55}while(0);do{if((Re|0)==55){if(!n){u=De;return}if(!e){Re=58;break}l=_[e>>2]|0;_[De>>2]=l;oe=_[e+16>>2]|0;f=(_[b>>2]=l,+a[b>>2]);l=n;x=s;n=oe;s=(_[b>>2]=oe,+a[b>>2]);o=+a[e+32>>2]}}while(0);if((Re|0)==58){f=d*+a[De+56>>2]+p*+a[c>>2]+o*_e;a[De>>2]=f;Me=d*+a[De+56+16>>2]+p*+a[De+56+20>>2]+o*se;l=n;x=s;n=(a[b>>2]=Me,_[b>>2]|0);s=Me;o=d*+a[De+56+32>>2]+p*+a[De+56+36>>2]+o*pe}if(!r)Me=o;else{f=-f;a[De>>2]=f;Me=-o;n=(a[b>>2]=-s,_[b>>2]|0)}if((l|0)>6){j=(_[b>>2]=n,+a[b>>2]);s=+a[De+56>>2];g=+a[De+56+16>>2];v=+a[De+56+32>>2];C=(f*s+j*g+Me*v>0.0?1.0:-1.0)*(ce+le)*2.0*.5;S=+a[c>>2];k=+a[De+56+20>>2];o=+a[De+56+36>>2];y=(f*S+j*k+Me*o>0.0?1.0:-1.0)*(ae+fe)*2.0*.5;w=(f*_e+j*se+Me*pe>0.0?1.0:-1.0)*be*.5;S=+a[t+48>>2]+C*s+y*S+w*_e;k=+a[t+52>>2]+C*g+y*k+w*se;w=+a[t+56>>2]+C*v+y*o+w*pe;_[De+456>>2]=_[t+112>>2];_[De+456+4>>2]=_[t+112+4>>2];_[De+456+8>>2]=_[t+112+8>>2];o=(f*je+j*de+Me*ve>0.0?-1.0:1.0)*(me+ge)*2.0*.5;y=(f*Se+j*ue+Me*Ce>0.0?-1.0:1.0)*(he+ye)*2.0*.5;v=+a[De+456+4>>2]+o*de+y*ue;C=+a[De+456+8>>2]+o*ve+y*Ce;g=(f*ke+j*xe+Me*Ie>0.0?-1.0:1.0)*we*.5;y=+a[De+456>>2]+o*je+y*Se+g*ke;a[De+456>>2]=y;a[De+456+4>>2]=v+g*xe;a[De+456+8>>2]=C+g*Ie;Re=l+-7|0;o=+a[De+56+(((Re|0)/3|0)<<2)>>2];s=+a[De+56+(((Re|0)/3|0)+4<<2)>>2];f=+a[De+56+(((Re|0)/3|0)+8<<2)>>2];d=+a[De+8+(((Re|0)%3|0)<<2)>>2];m=+a[De+8+(((Re|0)%3|0)+4<<2)>>2];h=+a[De+8+(((Re|0)%3|0)+8<<2)>>2];p=1.0-(o*d+s*m+f*h)*(o*d+s*m+f*h);if(!(p<=9.999999747378752e-05))o=(((y-S)*o+(v+g*xe-k)*s+(C+g*Ie-w)*f)*(o*d+s*m+f*h)-((y-S)*d+(v+g*xe-k)*m+(C+g*Ie-w)*h))*(1.0/p);else o=0.0;a[De+456>>2]=y+o*d;a[De+456+4>>2]=v+g*xe+o*m;a[De+456+8>>2]=C+g*Ie+o*h;Re=_[(_[i>>2]|0)+16>>2]|0;a[De+424>>2]=-+a[De>>2];a[De+424+4>>2]=-j;a[De+424+8>>2]=-Me;a[De+424+12>>2]=0.0;Ka[Re&15](i,De+424|0,De+456|0,x);u=De;return}re=(l|0)<4;oe=re?t+48|0:t+112|0;r=re?t+112|0:t+48|0;e=re?De+56|0:De+8|0;Y=re?De+8|0:De+56|0;A=re?De+412|0:De+400|0;c=re?De+400|0:De+412|0;_e=(_[b>>2]=n,+a[b>>2]);if(re){ne=Me;te=f;ie=_e}else{ne=-Me;te=-f;ie=-_e}N=te*+a[Y>>2]+ie*+a[Y+16>>2]+ne*+a[Y+32>>2];a[De+384>>2]=N;U=te*+a[Y+4>>2]+ie*+a[Y+20>>2]+ne*+a[Y+36>>2];a[De+384+4>>2]=U;K=te*+a[Y+8>>2]+ie*+a[Y+24>>2]+ne*+a[Y+40>>2];a[De+384+8>>2]=K;N=+G(+N);U=+G(+U);K=+G(+K);n=U>N?U>K?1:2:N>K?0:2;X=(U>N?U>K:N>K)?2:1;f=+a[c+(n<<2)>>2];o=+a[r>>2]-+a[oe>>2];s=f*+a[Y+(n<<2)>>2];p=+a[r+4>>2];d=+a[oe+4>>2];if(+a[De+384+(n<<2)>>2]<0.0){ee=+a[r+8>>2]-+a[oe+8>>2]+f*+a[Y+((n|8)<<2)>>2];$=o+s;J=p-d+f*+a[Y+((n|4)<<2)>>2]}else{ee=+a[r+8>>2]-+a[oe+8>>2]-f*+a[Y+((n|8)<<2)>>2];$=o-s;J=p-d-f*+a[Y+((n|4)<<2)>>2]}H=(re?-1:-4)+l|0;switch(H|0){case 0:{n=2;r=1;break}case 1:{n=2;r=0;break}default:{n=1;r=0}}F=e+(r<<2)|0;z=+a[F>>2];E=+a[F+16>>2];Q=+a[F+32>>2];Z=$*z+J*E+ee*Q;F=e+(n<<2)|0;P=+a[F>>2];v=+a[F+16>>2];w=+a[F+32>>2];V=$*P+J*v+ee*w;F=Y+((N>K&(U>N^1)&1)<<2)|0;L=+a[F>>2];j=+a[F+16>>2];x=+a[F+32>>2];B=+a[Y+(X<<2)>>2];k=+a[Y+(X<<2)+16>>2];S=+a[Y+(X<<2)+32>>2];xe=+a[c+((N>K&(U>N^1)&1)<<2)>>2];Ie=+a[c+(X<<2)>>2];je=(z*B+E*k+Q*S)*Ie;Ie=(P*B+v*k+w*S)*Ie;a[De+352>>2]=Z-(z*L+E*j+Q*x)*xe-je;a[De+352+4>>2]=V-(P*L+v*j+w*x)*xe-Ie;a[De+352+8>>2]=Z-(z*L+E*j+Q*x)*xe+je;a[De+352+12>>2]=V-(P*L+v*j+w*x)*xe+Ie;a[De+352+16>>2]=Z+(z*L+E*j+Q*x)*xe+je;a[De+352+20>>2]=V+(P*L+v*j+w*x)*xe+Ie;a[De+352+24>>2]=Z+(z*L+E*j+Q*x)*xe-je;a[De+352+28>>2]=V+(P*L+v*j+w*x)*xe-Ie;_[De+344>>2]=_[A+(r<<2)>>2];_[De+344+4>>2]=_[A+(n<<2)>>2];T=0;O=De+280|0;n=De+352|0;r=4;e:while(1){M=De+344+(T<<2)|0;D=1-T|0;do{if((r|0)>0){e=O;I=n;c=0;while(1){l=I+(T<<2)|0;o=+a[l>>2];s=+a[M>>2];if(s>-o){_[e>>2]=_[I>>2];_[e+4>>2]=_[I+4>>2];c=c+1|0;if(c&8|0){n=O;r=c;break e}e=e+8|0;o=+a[l>>2];s=+a[M>>2]}R=(r|0)>1;l=I;I=I+8|0;t=R?I:n;f=+a[t+(T<<2)>>2];if(s>-o^s>-f){Ie=+a[l+(D<<2)>>2];a[e+(D<<2)>>2]=Ie+(-s-o)*((+a[t+(D<<2)>>2]-Ie)/(f-o));a[e+(T<<2)>>2]=-+a[M>>2];c=c+1|0;if(!(c&8))e=e+8|0;else{n=O;r=c;break e}}if(!R)break;else r=r+-1|0}n=(O|0)==(De+280|0)?De+456|0:De+280|0;if((c|0)<=0){r=0;break}e=n;I=O;r=0;while(1){l=I+(T<<2)|0;o=+a[l>>2];s=+a[M>>2];if(o<s){_[e>>2]=_[I>>2];_[e+4>>2]=_[I+4>>2];r=r+1|0;if(r&8|0)break e;e=e+8|0;o=+a[l>>2];s=+a[M>>2]}R=(c|0)>1;l=I;I=I+8|0;t=R?I:O;f=+a[t+(T<<2)>>2];if(o<s^f<s){Ie=+a[l+(D<<2)>>2];a[e+(D<<2)>>2]=Ie+(s-o)*((+a[t+(D<<2)>>2]-Ie)/(f-o));_[e+(T<<2)>>2]=_[M>>2];r=r+1|0;if(!(r&8))e=e+8|0;else break e}if(!R)break;else c=c+-1|0}}else{r=0;n=(O|0)==(De+280|0)?De+456|0:De+280|0}}while(0);T=T+1|0;if((T|0)>=2)break;else O=(n|0)==(De+280|0)?De+456|0:De+280|0}if((n|0)!=(De+280|0))oh(De+280|0,n|0,r<<3|0)|0;if((r|0)>=1){C=1.0/((z*L+E*j+Q*x)*(P*B+v*k+w*S)-(P*L+v*j+w*x)*(z*B+E*k+Q*S));g=+a[A+(H<<2)>>2];d=+a[F>>2];m=+a[Y+(X<<2)>>2];h=+a[Y+((N>K&(U>N^1)&1|4)<<2)>>2];y=+a[Y+((X|4)<<2)>>2];p=+a[Y+((N>K&(U>N^1)&1|8)<<2)>>2];f=+a[Y+((X|8)<<2)>>2];t=0;e=0;do{n=e<<1;s=+a[De+280+(n<<2)>>2];o=+a[De+280+((n|1)<<2)>>2];Se=(P*B+v*k+w*S)*C*(s-Z)-(z*B+E*k+Q*S)*C*(o-V);Ie=(z*L+E*j+Q*x)*C*(o-V)-(P*L+v*j+w*x)*C*(s-Z);n=t*3|0;je=$+Se*d+Ie*m;a[De+184+(n<<2)>>2]=je;xe=J+Se*h+Ie*y;a[De+184+(n+1<<2)>>2]=xe;Ie=ee+Se*p+Ie*f;a[De+184+(n+2<<2)>>2]=Ie;Ie=g-(te*je+ie*xe+ne*Ie);a[De+152+(t<<2)>>2]=Ie;n=t<<1;if(Ie>=0.0){a[De+280+(n<<2)>>2]=s;a[De+280+((n|1)<<2)>>2]=o;t=t+1|0}e=e+1|0}while((e|0)!=(r|0));e:do{if((t|0)>=1){R=(t|0)<4?t:4;I=(R|0)>1?R:1;if((t|0)<=(I|0))if(re){o=-Me;n=0;while(1){Re=n*3|0;a[De+456>>2]=+a[De+184+(Re<<2)>>2]+ +a[oe>>2];a[De+456+4>>2]=+a[De+184+(Re+1<<2)>>2]+ +a[oe+4>>2];a[De+456+8>>2]=+a[De+184+(Re+2<<2)>>2]+ +a[oe+8>>2];Re=_[(_[i>>2]|0)+16>>2]|0;a[De+424>>2]=-+a[De>>2];a[De+424+4>>2]=-_e;a[De+424+8>>2]=o;a[De+424+12>>2]=0.0;Ka[Re&15](i,De+424|0,De+456|0,-+a[De+152+(n<<2)>>2]);n=n+1|0;if((n|0)==(t|0))break e}}else{o=-Me;n=0;while(1){Re=n*3|0;Ie=+a[De+152+(n<<2)>>2];xe=+a[De>>2];a[De+456>>2]=+a[De+184+(Re<<2)>>2]+ +a[oe>>2]-xe*Ie;a[De+456+4>>2]=+a[De+184+(Re+1<<2)>>2]+ +a[oe+4>>2]-_e*Ie;a[De+456+8>>2]=+a[De+184+(Re+2<<2)>>2]+ +a[oe+8>>2]-Me*Ie;Re=_[(_[i>>2]|0)+16>>2]|0;a[De+424>>2]=-xe;a[De+424+4>>2]=-_e;a[De+424+8>>2]=o;a[De+424+12>>2]=0.0;Ka[Re&15](i,De+424|0,De+456|0,-Ie);n=n+1|0;if((n|0)==(t|0))break e}}t:do{if((t|0)>1){o=+a[De+152>>2];n=0;r=1;while(1){s=+a[De+152+(r<<2)>>2];e=s>o;n=e?r:n;r=r+1|0;if((r|0)==(t|0))break;else o=e?s:o}switch(t|0){case 1:{r=1;e=De+120|0;c=De+120|0;Re=111;break t}case 2:{o=(+a[De+280+4>>2]+ +a[De+280+12>>2])*.5;s=(+a[De+280>>2]+ +a[De+280+8>>2])*.5;r=2;e=De+120|0;c=De+120|0;Re=114;break t}default:{}}e=t+-1|0;h=0.0;y=0.0;o=0.0;r=0;do{Y=r<<1;Se=+a[De+280+(Y<<2)>>2];je=+a[De+280+(Y+3<<2)>>2];xe=+a[De+280+(Y+2<<2)>>2];Ie=+a[De+280+((Y|1)<<2)>>2];o=o+(Se*je-xe*Ie);y=y+(Se+xe)*(Se*je-xe*Ie);h=h+(je+Ie)*(Se*je-xe*Ie);r=r+1|0}while((r|0)!=(e|0));Y=t<<1;f=+a[De+280+(Y+-2<<2)>>2];p=+a[De+280+4>>2];d=+a[De+280>>2];m=+a[De+280+(Y+-1<<2)>>2];s=o+(f*p-d*m);Y=+G(+s)>1.1920928955078125e-07;s=Y?1.0/(s*3.0):999999984306749440.0;if((t|0)>0){o=s*(h+(f*p-d*m)*(m+p));s=s*(y+(f*p-d*m)*(f+d));e=De+120|0;c=De+120|0;l=De+456|0;Re=117;break}l=n;n=De+120|0;r=0}else{n=0;r=t;e=De+120|0;c=De+120|0;Re=111}}while(0);if((Re|0)==111){o=+a[De+280+4>>2];s=+a[De+280>>2];Re=114}if((Re|0)==114){t=r;l=De+456|0;Re=117}if((Re|0)==117){r=0;do{Re=r<<1;a[De+456+(r<<2)>>2]=+q(+(+a[De+280+((Re|1)<<2)>>2]-o),+(+a[De+280+(Re<<2)>>2]-s));r=r+1|0}while((r|0)!=(t|0));r=0;do{_[De+424+(r<<2)>>2]=1;r=r+1|0}while((r|0)!=(t|0));l=n;n=e;r=1}e=De+424+(l<<2)|0;_[e>>2]=0;_[n>>2]=l;t:do{if((R|0)>1){p=+a[De+456+(l<<2)>>2];if(r){r=1;e=De+120+4|0}else{n=1;r=De+120+4|0;while(1){_[r>>2]=l;_[e>>2]=0;n=n+1|0;if((n|0)==(I|0))break t;else r=r+4|0}}while(1){f=6.2831854820251465/+(I|0)*+(r|0)+p;f=f>3.1415927410125732?f+-6.2831854820251465:f;_[e>>2]=l;s=1.0e9;c=0;n=l;while(1){do{if(!(_[De+424+(c<<2)>>2]|0))o=s;else{o=+G(+(+a[De+456+(c<<2)>>2]-f));o=o>3.1415927410125732?6.2831854820251465-o:o;if(!(o<s)){o=s;break}_[e>>2]=c;n=c}}while(0);c=c+1|0;if((c|0)==(t|0))break;else s=o}_[De+424+(n<<2)>>2]=0;r=r+1|0;if((r|0)==(I|0))break;else e=e+4|0}}}while(0);if((I|0)>0){o=-Me;if(re){n=0;do{Re=_[De+120+(n<<2)>>2]|0;a[De+456>>2]=+a[De+184+(Re*3<<2)>>2]+ +a[oe>>2];a[De+456+4>>2]=+a[De+184+((Re*3|0)+1<<2)>>2]+ +a[oe+4>>2];a[De+456+8>>2]=+a[De+184+((Re*3|0)+2<<2)>>2]+ +a[oe+8>>2];re=_[(_[i>>2]|0)+16>>2]|0;a[De+424>>2]=-+a[De>>2];a[De+424+4>>2]=-_e;a[De+424+8>>2]=o;a[De+424+12>>2]=0.0;Ka[re&15](i,De+424|0,De+456|0,-+a[De+152+(Re<<2)>>2]);n=n+1|0}while((n|0)<(I|0))}else{n=0;do{re=_[De+120+(n<<2)>>2]|0;ke=+a[De+184+(re*3<<2)>>2]+ +a[oe>>2];a[De+456>>2]=ke;je=+a[De+184+((re*3|0)+1<<2)>>2]+ +a[oe+4>>2];a[De+456+4>>2]=je;xe=+a[De+184+((re*3|0)+2<<2)>>2]+ +a[oe+8>>2];a[De+456+8>>2]=xe;Re=_[(_[i>>2]|0)+16>>2]|0;Se=+a[De>>2];a[De+424>>2]=-Se;a[De+424+4>>2]=-_e;a[De+424+8>>2]=o;a[De+424+12>>2]=0.0;Ie=+a[De+152+(re<<2)>>2];a[De+104>>2]=ke-Se*Ie;a[De+104+4>>2]=je-Ie*_e;a[De+104+8>>2]=xe-Ie*Me;a[De+104+12>>2]=0.0;Ka[Re&15](i,De+424|0,De+104|0,-Ie);n=n+1|0}while((n|0)<(I|0))}}}}while(0)}u=De;return}function fc(e,t,i,r,o,s,c,l,f){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;s=s|0;c=c|0;l=l|0;f=f|0;var b=0,p=0,d=0,m=0.0,h=0,y=0.0,g=0.0,C=0.0,v=0.0,w=0.0,k=0.0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0,O=0.0,H=0.0,F=0.0,A=0.0,P=0.0,B=0.0,L=0.0,V=0.0,E=0,q=0,Q=0,z=0,N=0,U=0,K=0,Z=0,X=0,J=0.0,Y=0.0,$=0.0,ee=0,te=0;X=u;u=u+256|0;_[e+188>>2]=-1;f=_[l+72>>2]|0;if((f|0)!=(_[e+224>>2]|0)){_[e+212>>2]=16;_[e+216>>2]=17;_[e+220>>2]=18;_[e+224>>2]=f}_[e+184>>2]=0;if((i|0)>0){f=0;do{_[(_[t+(f<<2)>>2]|0)+212>>2]=-1;f=f+1|0}while((f|0)!=(i|0))}f=_[e+12>>2]|0;if((f|0)>(i|0)){p=e+8|0;b=f}else{if((i+1|0)!=0?(_[6293]=(_[6293]|0)+1,b=cc(((i+1|0)*244|3)+16|0)|0,(b|0)!=0):0){_[(b+4+15&-16)+-4>>2]=b;p=b+4+15&-16}else p=0;b=_[e+8>>2]|0;if((b|0)>0){f=0;do{U=p+(f*244|0)|0;K=_[e+16>>2]|0;N=K+(f*244|0)|0;_[U>>2]=_[N>>2];_[U+4>>2]=_[N+4>>2];_[U+8>>2]=_[N+8>>2];_[U+12>>2]=_[N+12>>2];U=K+(f*244|0)+16|0;N=p+(f*244|0)+16|0;_[N>>2]=_[U>>2];_[N+4>>2]=_[U+4>>2];_[N+8>>2]=_[U+8>>2];_[N+12>>2]=_[U+12>>2];N=K+(f*244|0)+32|0;U=p+(f*244|0)+32|0;_[U>>2]=_[N>>2];_[U+4>>2]=_[N+4>>2];_[U+8>>2]=_[N+8>>2];_[U+12>>2]=_[N+12>>2];U=p+(f*244|0)+48|0;N=K+(f*244|0)+48|0;_[U>>2]=_[N>>2];_[U+4>>2]=_[N+4>>2];_[U+8>>2]=_[N+8>>2];_[U+12>>2]=_[N+12>>2];oh(p+(f*244|0)+64|0,K+(f*244|0)+64|0,180)|0;f=f+1|0}while((f|0)!=(b|0))}f=_[e+16>>2]|0;if(f|0){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[f+-4>>2]|0)}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=p;_[e+12>>2]=i+1;p=e+8|0;b=i+1|0}Wj(X|0,0,244)|0;f=_[p>>2]|0;if((f|0)<0){if((b|0)<0){b=_[e+16>>2]|0;if(b|0){if(n[e+20>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[b+-4>>2]|0)}_[e+16>>2]=0}n[e+20>>0]=1;_[e+16>>2]=0;_[e+12>>2]=0}do{K=_[e+16>>2]|0;U=K+(f*244|0)|0;_[U>>2]=_[X>>2];_[U+4>>2]=_[X+4>>2];_[U+8>>2]=_[X+8>>2];_[U+12>>2]=_[X+12>>2];U=K+(f*244|0)+16|0;_[U>>2]=_[X+16>>2];_[U+4>>2]=_[X+16+4>>2];_[U+8>>2]=_[X+16+8>>2];_[U+12>>2]=_[X+16+12>>2];U=K+(f*244|0)+32|0;_[U>>2]=_[X+32>>2];_[U+4>>2]=_[X+32+4>>2];_[U+8>>2]=_[X+32+8>>2];_[U+12>>2]=_[X+32+12>>2];U=K+(f*244|0)+48|0;_[U>>2]=_[X+48>>2];_[U+4>>2]=_[X+48+4>>2];_[U+8>>2]=_[X+48+8>>2];_[U+12>>2]=_[X+48+12>>2];oh(K+(f*244|0)+64|0,X+64|0,180)|0;f=f+1|0}while((f|0)!=0)}_[p>>2]=0;if((i|0)>0){b=0;do{d=t+(b<<2)|0;p=Ri(e,_[d>>2]|0,+a[l+12>>2])|0;d=_[d>>2]|0;if(!((d|0)==0?1:(_[d+252>>2]&2|0)==0)?+a[d+404>>2]!=0.0:0){h=_[e+16>>2]|0;f=_[d+564>>2]|0;if(f&2){m=+a[l+84>>2];P=+a[d+456>>2];L=+a[d+460>>2];y=+a[d+464>>2];D=+a[d+4>>2];P=P!=0.0?1.0/P:0.0;T=+a[d+8>>2];L=L!=0.0?1.0/L:0.0;O=+a[d+12>>2];y=y!=0.0?1.0/y:0.0;H=+a[d+20>>2];F=+a[d+24>>2];A=+a[d+28>>2];B=+a[d+36>>2];V=+a[d+40>>2];v=+a[d+44>>2];w=+a[d+388>>2];k=+a[d+392>>2];C=+a[d+396>>2];S=(P*D*D+L*T*T+y*O*O)*w+(P*D*H+L*T*F+y*O*A)*k+(P*D*B+L*T*V+y*O*v)*C;j=(P*H*D+L*F*T+y*A*O)*w+(P*H*H+L*F*F+y*A*A)*k+(P*H*B+L*F*V+y*A*v)*C;v=(P*B*D+L*V*T+y*v*O)*w+(P*B*H+L*V*F+y*v*A)*k+(P*B*B+L*V*V+y*v*v)*C;y=(k*v-C*j)*(k*v-C*j)+(C*S-w*v)*(C*S-w*v)+(w*j-k*S)*(w*j-k*S);if(y>m*m){m=1.0/+W(+y)*m;g=(k*v-C*j)*m;y=m*(C*S-w*v);m=m*(w*j-k*S)}else{g=k*v-C*j;y=C*S-w*v;m=w*j-k*S}B=+a[l+12>>2];L=(g*+a[d+328>>2]+y*+a[d+344>>2]+m*+a[d+360>>2])*B;V=B*(g*+a[d+332>>2]+y*+a[d+348>>2]+m*+a[d+364>>2]);a[h+(p*244|0)+224>>2]=+a[h+(p*244|0)+224>>2]-(g*+a[d+324>>2]+y*+a[d+340>>2]+m*+a[d+356>>2])*B;a[h+(p*244|0)+228>>2]=+a[h+(p*244|0)+228>>2]-L;a[h+(p*244|0)+232>>2]=+a[h+(p*244|0)+232>>2]-V;f=_[d+564>>2]|0}if(f&4){T=+a[l+12>>2];y=+a[d+456>>2];B=+a[d+460>>2];A=+a[d+464>>2];I=+a[d+388>>2];k=+a[d+392>>2];V=+a[d+396>>2];F=+a[d+4>>2];y=y!=0.0?1.0/y:0.0;w=+a[d+8>>2];B=B!=0.0?1.0/B:0.0;S=+a[d+12>>2];A=A!=0.0?1.0/A:0.0;m=+a[d+20>>2];H=+a[d+24>>2];x=+a[d+28>>2];P=+a[d+36>>2];O=+a[d+40>>2];g=+a[d+44>>2];j=y*F*F+B*w*w+A*S*S;D=y*F*m+B*w*H+A*S*x;C=y*F*P+B*w*O+A*S*g;R=y*m*F+B*H*w+A*x*S;M=y*m*m+B*H*H+A*x*x;v=y*m*P+B*H*O+A*x*g;S=y*P*F+B*O*w+A*g*S;x=y*P*m+B*O*H+A*g*x;g=y*P*P+B*O*O+A*g*g;A=I*j+k*D+V*C+(k*(I*S+k*x+V*g)-V*(I*R+k*M+V*v))*T-(T*0.0+(I*j+k*D+V*C));O=I*R+k*M+V*v+(V*(I*j+k*D+V*C)-I*(I*S+k*x+V*g))*T-(T*0.0+(I*R+k*M+V*v));B=I*S+k*x+V*g+(I*(I*R+k*M+V*v)-k*(I*j+k*D+V*C))*T-(T*0.0+(I*S+k*x+V*g));P=D+(I*S+k*x+V*g+(k*x+(D*0.0+M*-V)))*T;y=C+(k*g+(C*0.0+v*-V)-(I*R+k*M+V*v))*T;H=R+(S*-I+(R*0.0+V*j)-(I*S+k*x+V*g))*T;m=v+(I*j+k*D+V*C+(g*-I+(v*0.0+V*C)))*T;w=S+(S*0.0+(j*-k+I*R)+(I*R+k*M+V*v))*T;F=x+(x*0.0+(D*-k+I*M)-(I*j+k*D+V*C))*T;Y=(M+(x*-I+(M*0.0+V*D))*T)*(g+(g*0.0+(C*-k+I*v))*T)-F*m;J=F*y-P*(g+(g*0.0+(C*-k+I*v))*T);$=P*m-(M+(x*-I+(M*0.0+V*D))*T)*y;L=w*$+((j+(k*S+(j*0.0+R*-V))*T)*Y+H*J);f=+G(+L)>1.1920928955078125e-07;L=f?1.0/L:L;a[h+(p*244|0)+224>>2]=I-(B*$+(A*Y+O*J))*L-I+ +a[h+(p*244|0)+224>>2];a[h+(p*244|0)+228>>2]=k-(w*(m*A-y*O)+((j+(k*S+(j*0.0+R*-V))*T)*((g+(g*0.0+(C*-k+I*v))*T)*O-m*B)+H*(y*B-(g+(g*0.0+(C*-k+I*v))*T)*A)))*L-k+ +a[h+(p*244|0)+228>>2];a[h+(p*244|0)+232>>2]=V-(w*(P*O-(M+(x*-I+(M*0.0+V*D))*T)*A)+((j+(k*S+(j*0.0+R*-V))*T)*((M+(x*-I+(M*0.0+V*D))*T)*B-F*O)+H*(F*A-P*B)))*L-V+ +a[h+(p*244|0)+232>>2];f=_[d+564>>2]|0}if(f&8|0){L=+a[l+12>>2];j=+a[d+456>>2];R=+a[d+460>>2];w=+a[d+464>>2];H=+a[d+388>>2];F=+a[d+392>>2];$=+a[d+396>>2];Lg(d+4|0,X);Y=+a[X>>2];A=+a[X+4>>2];P=+a[X+8>>2];x=+a[X+12>>2];M=P*(H*-P+F*x-$*-Y)+(Y*(-(H*-Y)-F*-A-$*-P)+x*($*-A+H*x-F*-P))-A*(F*-Y+$*x-H*-A);T=Y*(F*-Y+$*x-H*-A)+(A*(-(H*-Y)-F*-A-$*-P)+x*(H*-P+F*x-$*-Y))-P*($*-A+H*x-F*-P);x=A*($*-A+H*x-F*-P)+(P*(-(H*-Y)-F*-A-$*-P)+x*(F*-Y+$*x-H*-A))-Y*(H*-P+F*x-$*-Y);j=j!=0.0?1.0/j:0.0;O=x*0.0+(j*M+T*0.0);R=R!=0.0?1.0/R:0.0;D=x*0.0+(M*0.0+R*T);w=w!=0.0?1.0/w:0.0;I=w*x+(M*0.0+T*0.0);k=j+(T*0.0+(j*0.0+x*-0.0))*L;S=R+(M*-0.0+(R*0.0+x*0.0))*L;V=w+(w*0.0+(T*-0.0+M*0.0))*L;v=S*V-((T*-0.0+R*M+0.0-O)*L+0.0)*((x*0.0+0.0-w*M+O)*L+0.0);B=((T*-0.0+R*M+0.0-O)*L+0.0)*((w*T+(x*-0.0+0.0)-D)*L+0.0)-V*((T*0.0+(0.0-R*x)+I)*L+0.0);C=((T*0.0+(0.0-R*x)+I)*L+0.0)*((x*0.0+0.0-w*M+O)*L+0.0)-S*((w*T+(x*-0.0+0.0)-D)*L+0.0);J=((M*0.0-j*T+0.0+D)*L+0.0)*C+(k*v+((M*-0.0+(j*x+0.0)-I)*L+0.0)*B);K=+G(+J)>1.1920928955078125e-07;J=K?1.0/J:J;B=M-((M*D-T*O)*L*C+((T*I-x*D)*L*v+(x*O-M*I)*L*B))*J;V=T-(((M*0.0-j*T+0.0+D)*L+0.0)*(((x*0.0+0.0-w*M+O)*L+0.0)*(T*I-x*D)*L-((w*T+(x*-0.0+0.0)-D)*L+0.0)*(x*O-M*I)*L)+(k*(V*(x*O-M*I)*L-((x*0.0+0.0-w*M+O)*L+0.0)*(M*D-T*O)*L)+((M*-0.0+(j*x+0.0)-I)*L+0.0)*(((w*T+(x*-0.0+0.0)-D)*L+0.0)*(M*D-T*O)*L-V*(T*I-x*D)*L)))*J;J=x-(((M*0.0-j*T+0.0+D)*L+0.0)*(((T*0.0+(0.0-R*x)+I)*L+0.0)*(x*O-M*I)*L-S*(T*I-x*D)*L)+(k*(S*(M*D-T*O)*L-((T*-0.0+R*M+0.0-O)*L+0.0)*(x*O-M*I)*L)+((M*-0.0+(j*x+0.0)-I)*L+0.0)*(((T*-0.0+R*M+0.0-O)*L+0.0)*(T*I-x*D)*L-((T*0.0+(0.0-R*x)+I)*L+0.0)*(M*D-T*O)*L)))*J;L=+a[X+12>>2];a[h+(p*244|0)+224>>2]=(P*B+L*V-Y*J)*-P+(L*(L*B+A*J-P*V)+(-(Y*B)-A*V-P*J)*-Y)-(L*J+Y*V-A*B)*-A-H+ +a[h+(p*244|0)+224>>2];a[h+(p*244|0)+228>>2]=(L*J+Y*V-A*B)*-Y+(L*(P*B+L*V-Y*J)+(-(Y*B)-A*V-P*J)*-A)-(L*B+A*J-P*V)*-P-F+ +a[h+(p*244|0)+228>>2];a[h+(p*244|0)+232>>2]=(L*B+A*J-P*V)*-A+((-(Y*B)-A*V-P*J)*-P+L*(L*J+Y*V-A*B))-(P*B+L*V-Y*J)*-Y-$+ +a[h+(p*244|0)+232>>2]}}b=b+1|0}while((b|0)!=(i|0))}if((c|0)>0){f=0;do{K=_[s+(f<<2)>>2]|0;ua[_[(_[K>>2]|0)+8>>2]&511](K);a[K+36>>2]=0.0;f=f+1|0}while((f|0)<(c|0))}b=_[e+168>>2]|0;if((b|0)<(c|0)?(_[e+172>>2]|0)<(c|0):0){if(!c)f=0;else{_[6293]=(_[6293]|0)+1;f=cc((c<<3|3)+16|0)|0;if(!f)f=0;else{_[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}b=_[e+168>>2]|0}if((b|0)>0){p=0;do{N=(_[e+176>>2]|0)+(p<<3)|0;U=_[N+4>>2]|0;K=f+(p<<3)|0;_[K>>2]=_[N>>2];_[K+4>>2]=U;p=p+1|0}while((p|0)!=(b|0))}b=_[e+176>>2]|0;if(b|0){if(n[e+180>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[b+-4>>2]|0)}_[e+176>>2]=0}n[e+180>>0]=1;_[e+176>>2]=f;_[e+172>>2]=c}_[e+168>>2]=c;if((c|0)>0){f=0;i=0;do{h=_[e+176>>2]|0;t=h+(i<<3)|0;d=s+(i<<2)|0;b=_[d>>2]|0;p=_[b+44>>2]|0;if(p){b=p+64|0;do{_[p>>2]=0;p=p+4|0}while((p|0)<(b|0));b=_[d>>2]|0}if(!(n[b+20>>0]|0)){_[t>>2]=0;_[h+(i<<3)+4>>2]=0;b=0}else{ma[_[(_[b>>2]|0)+16>>2]&127](b,t);b=_[t>>2]|0}f=b+f|0;i=i+1|0}while((i|0)<(c|0));d=f}else d=0;b=_[e+48>>2]|0;if((b|0)<(d|0)?(_[e+52>>2]|0)<(d|0):0){if(!d)f=0;else{_[6293]=(_[6293]|0)+1;f=cc((d*152|3)+16|0)|0;if(!f)f=0;else{_[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}b=_[e+48>>2]|0}if((b|0)>0){p=0;do{oh(f+(p*152|0)|0,(_[e+56>>2]|0)+(p*152|0)|0,152)|0;p=p+1|0}while((p|0)!=(b|0))}b=_[e+56>>2]|0;if(b|0){if(n[e+60>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[b+-4>>2]|0)}_[e+56>>2]=0}n[e+60>>0]=1;_[e+56>>2]=f;_[e+52>>2]=d}_[e+48>>2]=d;if((c|0)>0){U=0;K=0;f=_[e+176>>2]|0;while(1){N=f+(K<<3)|0;if(!(_[N>>2]|0))b=0;else{b=_[e+56>>2]|0;d=b+(U*152|0)|0;h=s+(K<<2)|0;t=_[h>>2]|0;i=_[t+28>>2]|0;E=_[t+32>>2]|0;q=Ri(e,i,+a[l+12>>2])|0;Q=Ri(e,E,+a[l+12>>2])|0;z=_[e+16>>2]|0;p=_[t+24>>2]|0;p=(p|0)>0?p:_[l+20>>2]|0;if((p|0)>(_[e+184>>2]|0))_[e+184>>2]=p;if((_[N>>2]|0)>0){f=0;do{Wj(d+(f*152|0)|0,0,152)|0;a[d+(f*152|0)+120>>2]=-3402823466385288598117041.0e14;a[d+(f*152|0)+124>>2]=3402823466385288598117041.0e14;a[d+(f*152|0)+100>>2]=0.0;a[d+(f*152|0)+96>>2]=0.0;_[d+(f*152|0)+144>>2]=q;_[d+(f*152|0)+148>>2]=Q;_[d+(f*152|0)+136>>2]=p;f=f+1|0}while((f|0)<(_[N>>2]|0))}_[z+(q*244|0)+64>>2]=0;_[z+(q*244|0)+64+4>>2]=0;_[z+(q*244|0)+64+8>>2]=0;_[z+(q*244|0)+64+12>>2]=0;_[z+(q*244|0)+64+16>>2]=0;_[z+(q*244|0)+64+20>>2]=0;_[z+(q*244|0)+64+24>>2]=0;_[z+(q*244|0)+64+28>>2]=0;_[z+(q*244|0)+144>>2]=0;_[z+(q*244|0)+144+4>>2]=0;_[z+(q*244|0)+144+8>>2]=0;_[z+(q*244|0)+144+12>>2]=0;_[z+(q*244|0)+144+16>>2]=0;_[z+(q*244|0)+144+20>>2]=0;_[z+(q*244|0)+144+24>>2]=0;_[z+(q*244|0)+144+28>>2]=0;_[z+(Q*244|0)+64>>2]=0;_[z+(Q*244|0)+64+4>>2]=0;_[z+(Q*244|0)+64+8>>2]=0;_[z+(Q*244|0)+64+12>>2]=0;_[z+(Q*244|0)+64+16>>2]=0;_[z+(Q*244|0)+64+20>>2]=0;_[z+(Q*244|0)+64+24>>2]=0;_[z+(Q*244|0)+64+28>>2]=0;_[z+(Q*244|0)+144>>2]=0;_[z+(Q*244|0)+144+4>>2]=0;_[z+(Q*244|0)+144+8>>2]=0;_[z+(Q*244|0)+144+12>>2]=0;_[z+(Q*244|0)+144+16>>2]=0;_[z+(Q*244|0)+144+20>>2]=0;_[z+(Q*244|0)+144+24>>2]=0;_[z+(Q*244|0)+144+28>>2]=0;a[X>>2]=1.0/+a[l+12>>2];_[X+4>>2]=_[l+32>>2];_[X+8>>2]=b+(U*152|0)+16;_[X+12>>2]=d;_[X+16>>2]=b+(U*152|0)+48;_[X+20>>2]=b+(U*152|0)+32;_[X+24>>2]=38;_[X+28>>2]=b+(U*152|0)+112;p=b+(U*152|0)+116|0;_[p>>2]=_[l+40>>2];_[X+48>>2]=_[l+4>>2];_[X+32>>2]=p;_[X+36>>2]=b+(U*152|0)+120;_[X+40>>2]=b+(U*152|0)+124;_[X+44>>2]=_[l+20>>2];p=_[h>>2]|0;ma[_[(_[p>>2]|0)+20>>2]&127](p,X);if((_[N>>2]|0)>0){b=0;do{f=d+(b*152|0)+124|0;m=+a[(_[h>>2]|0)+16>>2];if(+a[f>>2]>=m)a[f>>2]=m;f=d+(b*152|0)+120|0;if(+a[f>>2]<=-m)a[f>>2]=-m;_[d+(b*152|0)+132>>2]=t;ee=d+(b*152|0)|0;te=_[t+28>>2]|0;$=+a[ee>>2];J=+a[ee+4>>2];Y=+a[ee+8>>2];m=($*+a[te+340>>2]+J*+a[te+344>>2]+Y*+a[te+348>>2])*+a[te+608>>2];y=($*+a[te+356>>2]+J*+a[te+360>>2]+Y*+a[te+364>>2])*+a[te+612>>2];p=d+(b*152|0)+64|0;a[p>>2]=(+a[te+324>>2]*$+ +a[te+328>>2]*J+ +a[te+332>>2]*Y)*+a[te+604>>2];a[p+4>>2]=m;a[p+8>>2]=y;a[p+12>>2]=0.0;p=d+(b*152|0)+32|0;te=_[t+32>>2]|0;y=+a[p>>2];m=+a[p+4>>2];Y=+a[p+8>>2];J=(y*+a[te+340>>2]+m*+a[te+344>>2]+Y*+a[te+348>>2])*+a[te+608>>2];$=(y*+a[te+356>>2]+m*+a[te+360>>2]+Y*+a[te+364>>2])*+a[te+612>>2];f=d+(b*152|0)+80|0;a[f>>2]=(+a[te+324>>2]*y+ +a[te+328>>2]*m+ +a[te+332>>2]*Y)*+a[te+604>>2];a[f+4>>2]=J;a[f+8>>2]=$;a[f+12>>2]=0.0;f=d+(b*152|0)+16|0;$=+a[i+404>>2];J=+a[f>>2];Y=+a[f+4>>2];m=+a[f+8>>2];y=+a[ee>>2];g=+a[ee+4>>2];C=+a[ee+8>>2];ee=d+(b*152|0)+48|0;x=+a[E+404>>2];v=+a[ee>>2];w=+a[ee+4>>2];k=+a[ee+8>>2];S=+a[p>>2];j=+a[p+4>>2];R=+a[p+8>>2];x=J*$*J+Y*$*Y+m*$*m+(y*(+a[i+324>>2]*y+ +a[i+328>>2]*g+ +a[i+332>>2]*C)+g*(y*+a[i+340>>2]+g*+a[i+344>>2]+C*+a[i+348>>2])+C*(y*+a[i+356>>2]+g*+a[i+360>>2]+C*+a[i+364>>2]))+(v*x*v+w*x*w+k*x*k)+(S*(+a[E+324>>2]*S+ +a[E+328>>2]*j+ +a[E+332>>2]*R)+j*(S*+a[E+340>>2]+j*+a[E+344>>2]+R*+a[E+348>>2])+R*(S*+a[E+356>>2]+j*+a[E+360>>2]+R*+a[E+364>>2]));p=+G(+x)>1.1920928955078125e-07;x=p?1.0/x:0.0;a[d+(b*152|0)+108>>2]=x;if(!(_[z+(q*244|0)+240>>2]|0)){I=0.0;M=0.0;D=0.0;T=0.0;O=0.0;H=0.0}else{I=+a[z+(q*244|0)+208>>2];M=+a[z+(q*244|0)+212>>2];D=+a[z+(q*244|0)+216>>2];T=+a[z+(q*244|0)+224>>2];O=+a[z+(q*244|0)+228>>2];H=+a[z+(q*244|0)+232>>2]}if(!(_[z+(Q*244|0)+240>>2]|0)){F=0.0;A=0.0;P=0.0;B=0.0;L=0.0;V=0.0}else{F=+a[z+(Q*244|0)+208>>2];A=+a[z+(Q*244|0)+212>>2];P=+a[z+(Q*244|0)+216>>2];B=+a[z+(Q*244|0)+224>>2];L=+a[z+(Q*244|0)+228>>2];V=+a[z+(Q*244|0)+232>>2]}te=d+(b*152|0)+112|0;a[te>>2]=+a[te>>2]*x+x*(0.0-+a[X+48>>2]*((I+ +a[i+372>>2])*+a[f>>2]+(M+ +a[i+376>>2])*+a[f+4>>2]+(D+ +a[i+380>>2])*m+((T+ +a[i+388>>2])*y+(O+ +a[i+392>>2])*g+(H+ +a[i+396>>2])*C)+((F+ +a[E+372>>2])*v+(A+ +a[E+376>>2])*w+(P+ +a[E+380>>2])*k+((B+ +a[E+388>>2])*S+(L+ +a[E+392>>2])*j+(V+ +a[E+396>>2])*R))));a[d+(b*152|0)+100>>2]=0.0;b=b+1|0}while((b|0)<(_[N>>2]|0))}f=_[e+176>>2]|0;b=_[f+(K<<3)>>2]|0}K=K+1|0;if((K|0)>=(c|0))break;else U=b+U|0}}$a[_[(_[e>>2]|0)+28>>2]&127](e,r,o,l);h=_[e+48>>2]|0;t=_[e+28>>2]|0;i=_[e+68>>2]|0;b=_[e+128>>2]|0;if((b|0)<(h|0)?(_[e+132>>2]|0)<(h|0):0){if(!h)f=0;else{_[6293]=(_[6293]|0)+1;f=cc((h<<2|3)+16|0)|0;if(!f)f=0;else{_[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}b=_[e+128>>2]|0}d=_[e+136>>2]|0;if((b|0)<=0)if(!d)b=e+140|0;else Z=105;else{p=0;do{_[f+(p<<2)>>2]=_[d+(p<<2)>>2];p=p+1|0}while((p|0)!=(b|0));Z=105}if((Z|0)==105){if(n[e+140>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[d+-4>>2]|0)}_[e+136>>2]=0;b=e+140|0}n[b>>0]=1;_[e+136>>2]=f;_[e+132>>2]=h}_[e+128>>2]=h;if(!(_[l+72>>2]&16)){b=_[e+108>>2]|0;if((b|0)<(t|0)?(_[e+112>>2]|0)<(t|0):0){if(!t)f=0;else{_[6293]=(_[6293]|0)+1;f=cc((t<<2|3)+16|0)|0;if(!f)f=0;else{_[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}b=_[e+108>>2]|0}d=_[e+116>>2]|0;if((b|0)<=0)if(!d)b=e+120|0;else Z=135;else{p=0;do{_[f+(p<<2)>>2]=_[d+(p<<2)>>2];p=p+1|0}while((p|0)!=(b|0));Z=135}if((Z|0)==135){if(n[e+120>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[d+-4>>2]|0)}_[e+116>>2]=0;b=e+120|0}n[b>>0]=1;_[e+116>>2]=f;_[e+112>>2]=t}_[e+108>>2]=t}else{b=_[e+108>>2]|0;if((b|0)<(t<<1|0)?(_[e+112>>2]|0)<(t<<1|0):0){if(!t)f=0;else{_[6293]=(_[6293]|0)+1;f=cc((t<<3|3)+16|0)|0;if(!f)f=0;else{_[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}b=_[e+108>>2]|0}d=_[e+116>>2]|0;if((b|0)<=0)if(!d)b=e+120|0;else Z=120;else{p=0;do{_[f+(p<<2)>>2]=_[d+(p<<2)>>2];p=p+1|0}while((p|0)!=(b|0));Z=120}if((Z|0)==120){if(n[e+120>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[d+-4>>2]|0)}_[e+116>>2]=0;b=e+120|0}n[b>>0]=1;_[e+116>>2]=f;_[e+112>>2]=t<<1}_[e+108>>2]=t<<1}b=_[e+148>>2]|0;if((b|0)<(i|0)?(_[e+152>>2]|0)<(i|0):0){if(!i)f=0;else{_[6293]=(_[6293]|0)+1;f=cc((i<<2|3)+16|0)|0;if(!f)f=0;else{_[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}b=_[e+148>>2]|0}d=_[e+156>>2]|0;if((b|0)<=0)if(!d)b=e+160|0;else Z=150;else{p=0;do{_[f+(p<<2)>>2]=_[d+(p<<2)>>2];p=p+1|0}while((p|0)!=(b|0));Z=150}if((Z|0)==150){if(n[e+160>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[d+-4>>2]|0)}_[e+156>>2]=0;b=e+160|0}n[b>>0]=1;_[e+156>>2]=f;_[e+152>>2]=i}_[e+148>>2]=i;if((h|0)>0){b=_[e+136>>2]|0;f=0;do{_[b+(f<<2)>>2]=f;f=f+1|0}while((f|0)!=(h|0))}if((t|0)>0){b=_[e+116>>2]|0;f=0;do{_[b+(f<<2)>>2]=f;f=f+1|0}while((f|0)!=(t|0))}if((i|0)<=0){u=X;return 0.0}b=_[e+156>>2]|0;f=0;do{_[b+(f<<2)>>2]=f;f=f+1|0}while((f|0)!=(i|0));u=X;return 0.0}function gc(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,s=0,c=0,a=0,l=0,f=0,b=0,p=0,u=0,d=0,m=0,h=0,y=0,g=0,C=0,v=0,w=0,k=0,S=0,j=0,R=0,x=0,I=0,M=0,D=0,T=0,H=0,G=0,W=0,F=0,A=0,P=0,B=0,L=0,V=0,E=0,q=0,Q=0,z=0,N=0,K=0,Z=0,X=0,J=0,Y=0,$=0,ee=0,te=0,ie=0,ne=0,re=0,_e=0,oe=0,se=0,ce=0,ae=0;N=_[n>>2]|0;_e=_[r>>2]|0;if(N|0)o=_[N+12>>2]|0;else o=t;s=_[o+88>>2]|0;c=_[o+92>>2]|0;a=_[o+96>>2]|0;if(!_e)o=i;else o=_[_e+12>>2]|0;h=_[o+88>>2]|0;d=_[o+92>>2]|0;m=_[o+96>>2]|0;J=_[t+88>>2]|0;ne=(_[i+88>>2]|0)-J|0;C=_[t+92>>2]|0;re=(_[i+92>>2]|0)-C|0;f=_[t+96>>2]|0;K=(_[i+96>>2]|0)-f|0;X=_[(N|0?N:_e)+12>>2]|0;Y=(_[X+88>>2]|0)-J|0;z=(_[X+92>>2]|0)-C|0;X=(_[X+96>>2]|0)-f|0;Z=(U(z,K)|0)-(U(X,re)|0)|0;X=(U(X,ne)|0)-(U(Y,K)|0)|0;z=(U(Y,re)|0)-(U(z,ne)|0)|0;J=Qr(Z|0,((Z|0)<0)<<31>>31|0,J|0,((J|0)<0)<<31>>31|0)|0;Y=O;C=Qr(X|0,((X|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;g=O;f=Qr(z|0,((z|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;f=mv(J|0,Y|0,f|0,O|0)|0;g=mv(f|0,O|0,C|0,g|0)|0;C=O;f=Qr(z|0,((z|0)<0)<<31>>31|0,re|0,((re|0)<0)<<31>>31|0)|0;Y=O;J=Qr(X|0,((X|0)<0)<<31>>31|0,K|0,((K|0)<0)<<31>>31|0)|0;J=Lt(f|0,Y|0,J|0,O|0)|0;Y=O;f=Qr(Z|0,((Z|0)<0)<<31>>31|0,K|0,((K|0)<0)<<31>>31|0)|0;ee=O;$=Qr(z|0,((z|0)<0)<<31>>31|0,ne|0,((ne|0)<0)<<31>>31|0)|0;$=Lt(f|0,ee|0,$|0,O|0)|0;ee=O;f=Qr(X|0,((X|0)<0)<<31>>31|0,ne|0,((ne|0)<0)<<31>>31|0)|0;ie=O;te=Qr(Z|0,((Z|0)<0)<<31>>31|0,re|0,((re|0)<0)<<31>>31|0)|0;te=Lt(f|0,ie|0,te|0,O|0)|0;ie=O;f=Qr(J|0,Y|0,s|0,((s|0)<0)<<31>>31|0)|0;Q=O;l=Qr($|0,ee|0,c|0,((c|0)<0)<<31>>31|0)|0;Q=mv(l|0,O|0,f|0,Q|0)|0;f=O;l=Qr(te|0,ie|0,a|0,((a|0)<0)<<31>>31|0)|0;l=mv(Q|0,f|0,l|0,O|0)|0;f=O;if((N|0)!=0?(_[N+12>>2]|0)!=0:0){o=s;t=c;i=a;p=N;u=f;b=l;while(1){p=_[(_[p+8>>2]|0)+4>>2]|0;f=p+12|0;a=_[f>>2]|0;s=_[a+88>>2]|0;q=Qr(s|0,((s|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;E=O;c=_[a+92>>2]|0;Q=Qr(c|0,((c|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;E=mv(Q|0,O|0,q|0,E|0)|0;q=O;a=_[a+96>>2]|0;Q=Qr(a|0,((a|0)<0)<<31>>31|0,z|0,((z|0)<0)<<31>>31|0)|0;Q=mv(E|0,q|0,Q|0,O|0)|0;q=O;if((q|0)<(C|0)|(q|0)==(C|0)&Q>>>0<g>>>0){l=b;a=u;break}if((_[p+20>>2]|0)==(_[e+100>>2]|0)){l=b;a=u;break}Q=Qr(s|0,((s|0)<0)<<31>>31|0,J|0,Y|0)|0;q=O;l=Qr(c|0,((c|0)<0)<<31>>31|0,$|0,ee|0)|0;q=mv(l|0,O|0,Q|0,q|0)|0;Q=O;l=Qr(a|0,((a|0)<0)<<31>>31|0,te|0,ie|0)|0;l=mv(q|0,Q|0,l|0,O|0)|0;a=O;if(!((a|0)>(u|0)|(a|0)==(u|0)&l>>>0>b>>>0)){l=b;a=u;break}_[n>>2]=p;Q=_[f>>2]|0;o=_[Q+88>>2]|0;t=_[Q+92>>2]|0;i=_[Q+96>>2]|0;if(!Q)break;else{u=a;b=l}}s=o;c=_[r>>2]|0;y=a}else{t=c;i=a;c=_e;y=f}o=Qr(J|0,Y|0,h|0,((h|0)<0)<<31>>31|0)|0;Q=O;a=Qr($|0,ee|0,d|0,((d|0)<0)<<31>>31|0)|0;Q=mv(a|0,O|0,o|0,Q|0)|0;o=O;a=Qr(te|0,ie|0,m|0,((m|0)<0)<<31>>31|0)|0;a=mv(Q|0,o|0,a|0,O|0)|0;o=O;e:do{if(c)if(!(_[c+12>>2]|0))u=m;else{u=m;while(1){m=_[_[c+8>>2]>>2]|0;p=_[m+12>>2]|0;f=_[p+88>>2]|0;q=Qr(f|0,((f|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;E=O;b=_[p+92>>2]|0;Q=Qr(b|0,((b|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;E=mv(Q|0,O|0,q|0,E|0)|0;q=O;p=_[p+96>>2]|0;Q=Qr(p|0,((p|0)<0)<<31>>31|0,z|0,((z|0)<0)<<31>>31|0)|0;Q=mv(E|0,q|0,Q|0,O|0)|0;q=O;if((q|0)<(C|0)|(q|0)==(C|0)&Q>>>0<g>>>0)break e;if((_[m+20>>2]|0)==(_[e+100>>2]|0))break e;f=Qr(f|0,((f|0)<0)<<31>>31|0,J|0,Y|0)|0;Q=O;b=Qr(b|0,((b|0)<0)<<31>>31|0,$|0,ee|0)|0;Q=mv(b|0,O|0,f|0,Q|0)|0;b=O;f=Qr(p|0,((p|0)<0)<<31>>31|0,te|0,ie|0)|0;f=mv(Q|0,b|0,f|0,O|0)|0;b=O;if(!((b|0)>(o|0)|(b|0)==(o|0)&f>>>0>a>>>0))break e;_[r>>2]=m;Q=_[m+12>>2]|0;o=_[Q+88>>2]|0;c=_[Q+92>>2]|0;a=_[Q+96>>2]|0;if(!Q){h=o;d=c;u=a;c=m;a=f;o=b;break}else{h=o;d=c;u=a;c=m;o=b;a=f}}}else{u=m;c=0}}while(0);a=Lt(a|0,o|0,l|0,y|0)|0;Q=O;if((Q|0)>0|(Q|0)==0&a>>>0>0){E=Lt(0,0,z|0,((z|0)<0)<<31>>31|0)|0;q=O;B=h;l=s;L=d;b=t;V=u;p=i;f=c;C=a;m=Q;while(1){y=(U(L-b|0,re)|0)+(U(B-l|0,ne)|0)+(U(V-p|0,K)|0)|0;o=_[n>>2]|0;if(!o){M=y;G=l;H=b;R=y;o=((y|0)<0)<<31>>31;x=m;j=C}else{F=l;g=y;P=y;A=((y|0)<0)<<31>>31;e:while(1){if(!(_[o+12>>2]|0)){y=F;l=P;o=A;break}T=_[(_[o>>2]|0)+8>>2]|0;if((_[T+20>>2]|0)<=(_[e+100>>2]|0)){y=F;l=P;o=A;break}W=_[T+12>>2]|0;H=_[W+88>>2]|0;D=H-F|0;G=_[W+92>>2]|0;M=G-b|0;W=_[W+96>>2]|0;l=W-p|0;y=Qr(D|0,((D|0)<0)<<31>>31|0,J|0,Y|0)|0;I=O;f=Qr(M|0,((M|0)<0)<<31>>31|0,$|0,ee|0)|0;I=mv(f|0,O|0,y|0,I|0)|0;y=O;f=Qr(l|0,((l|0)<0)<<31>>31|0,te|0,ie|0)|0;f=mv(I|0,y|0,f|0,O|0)|0;y=O;l=(U(M,re)|0)+(U(D,ne)|0)+(U(l,K)|0)|0;do{if((f|0)==0&(y|0)==0){if((l|0)>=0){y=F;l=P;o=A;break e}}else{if((y|0)>=0){y=F;l=P;o=A;break e}if((l|0)>0){w=1;k=l;v=((l|0)<0)<<31>>31}else{k=Lt(0,0,l|0,((l|0)<0)<<31>>31|0)|0;w=((l|0)!=0)<<31>>31;k=l|0?k:0;v=l|0?O:0}R=Lt(0,0,f|0,y|0)|0;x=O;D=0-w|0;if((g|0)>0){l=1;I=P;M=A}else{M=(g|0)!=0;I=Lt(0,0,P|0,A|0)|0;l=M<<31>>31;I=M?I:0;M=M?O:0}if((m|0)>0|(m|0)==0&C>>>0>0){f=C;y=m}else{y=(C|0)!=0|(m|0)!=0;f=Lt(0,0,C|0,m|0)|0;l=y?0-l|0:l;f=y?f:0;y=y?O:0}if((l|0)==(D|0)){if(!w)break;l=Qr(f|0,0,k|0,0)|0;w=O;ae=Qr(y|0,0,k|0,0)|0;ce=O;S=Qr(f|0,0,v|0,0)|0;j=O;se=Qr(y|0,0,v|0,0)|0;k=O;S=mv(ae|0,0,S|0,0)|0;f=O;k=mv(ce|0,0,se|0,k|0)|0;j=mv(k|0,O|0,j|0,0)|0;f=mv(j|0,O|0,f|0,0)|0;j=O;w=mv(0,S|0,l|0,w|0)|0;k=O;S=mv(f|0,j|0,(k>>>0<S>>>0|(k|0)==(S|0)&w>>>0<0)&1|0,0)|0;j=O;f=Qr(I|0,0,R|0,0)|0;l=O;se=Qr(M|0,0,R|0,0)|0;R=O;y=Qr(I|0,0,x|0,0)|0;v=O;x=Qr(M|0,0,x|0,0)|0;I=O;y=mv(se|0,0,y|0,0)|0;M=O;I=mv(R|0,0,x|0,I|0)|0;v=mv(I|0,O|0,v|0,0)|0;M=mv(v|0,O|0,M|0,0)|0;v=O;l=mv(0,y|0,f|0,l|0)|0;f=O;y=mv(M|0,v|0,(f>>>0<y>>>0|(f|0)==(y|0)&l>>>0<0)&1|0,0)|0;v=O;if(j>>>0<v>>>0|(j|0)==(v|0)&S>>>0<y>>>0)l=-1;else l=j>>>0>v>>>0|(j|0)==(v|0)&S>>>0>y>>>0?1:k>>>0<f>>>0|(k|0)==(f|0)&w>>>0<l>>>0?-1:(k>>>0>f>>>0|(k|0)==(f|0)&w>>>0>l>>>0)&1;l=U(l,D)|0}else l=D-l|0;if((l|0)<=-1){y=F;l=P;o=A;break e}}}while(0);ae=B-H|0;ce=L-G|0;f=V-W|0;m=Qr(ae|0,((ae|0)<0)<<31>>31|0,J|0,Y|0)|0;se=O;l=Qr(ce|0,((ce|0)<0)<<31>>31|0,$|0,ee|0)|0;se=mv(l|0,O|0,m|0,se|0)|0;m=O;l=Qr(f|0,((f|0)<0)<<31>>31|0,te|0,ie|0)|0;l=mv(se|0,m|0,l|0,O|0)|0;m=O;o=(o|0)==(N|0)?0:T;_[n>>2]=o;f=(U(ce,re)|0)+(U(ae,ne)|0)+(U(f,K)|0)|0;if(!o){g=f;y=H;b=G;p=W;C=l;l=f;o=((f|0)<0)<<31>>31;break}else{F=H;b=G;p=W;g=f;P=f;A=((f|0)<0)<<31>>31;C=l}}M=g;G=y;H=b;f=_[r>>2]|0;R=l;x=m;j=C}if(!f){o=110;break}if(!(_[f+12>>2]|0)){o=110;break}T=_[_[f+8>>2]>>2]|0;if((_[T+20>>2]|0)<=(_[e+100>>2]|0)){o=110;break}m=_[T+12>>2]|0;g=_[m+88>>2]|0;b=g-B|0;y=_[m+92>>2]|0;f=y-L|0;m=_[m+96>>2]|0;l=m-V|0;ae=Qr(b|0,((b|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;se=O;ce=Qr(f|0,((f|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;se=mv(ce|0,O|0,ae|0,se|0)|0;ae=O;ce=Qr(l|0,((l|0)<0)<<31>>31|0,E|0,q|0)|0;if(!((se|0)==(ce|0)&(ae|0)==(O|0))){o=110;break}v=Qr(b|0,((b|0)<0)<<31>>31|0,J|0,Y|0)|0;D=O;C=Qr(f|0,((f|0)<0)<<31>>31|0,$|0,ee|0)|0;D=mv(C|0,O|0,v|0,D|0)|0;v=O;C=Qr(l|0,((l|0)<0)<<31>>31|0,te|0,ie|0)|0;C=mv(D|0,v|0,C|0,O|0)|0;v=O;l=(U(f,re)|0)+(U(b,ne)|0)+(U(l,K)|0)|0;D=g-G|0;ce=y-H|0;I=m-p|0;D=Qr(D|0,((D|0)<0)<<31>>31|0,J|0,Y|0)|0;ae=O;ce=Qr(ce|0,((ce|0)<0)<<31>>31|0,$|0,ee|0)|0;ae=mv(ce|0,O|0,D|0,ae|0)|0;D=O;I=Qr(I|0,((I|0)<0)<<31>>31|0,te|0,ie|0)|0;I=mv(ae|0,D|0,I|0,O|0)|0;D=O;if(!((D|0)>0|(D|0)==0&I>>>0>0)){o=110;break}if((C|0)==0&(v|0)==0){if((l|0)>=0){o=110;break}}else{if((v|0)>=0){o=110;break}if((l|0)>0){y=1;g=l;m=((l|0)<0)<<31>>31}else{g=Lt(0,0,l|0,((l|0)<0)<<31>>31|0)|0;y=((l|0)!=0)<<31>>31;g=l|0?g:0;m=l|0?O:0}w=Lt(0,0,C|0,v|0)|0;k=O;S=0-y|0;if((M|0)>0){l=1;v=R}else{ae=(M|0)!=0;v=Lt(0,0,R|0,o|0)|0;l=ae<<31>>31;v=ae?v:0;o=ae?O:0}if((x|0)>0|(x|0)==0&j>>>0>0){b=l;f=j;l=x}else{ae=(j|0)!=0|(x|0)!=0;f=Lt(0,0,j|0,x|0)|0;b=ae?0-l|0:l;f=ae?f:0;l=ae?O:0}if((b|0)==(S|0)){if(!y){o=110;break}ae=Qr(f|0,0,g|0,0)|0;y=O;ce=Qr(l|0,0,g|0,0)|0;V=O;g=Qr(f|0,0,m|0,0)|0;C=O;l=Qr(l|0,0,m|0,0)|0;m=O;g=mv(ce|0,0,g|0,0)|0;ce=O;m=mv(V|0,0,l|0,m|0)|0;C=mv(m|0,O|0,C|0,0)|0;ce=mv(C|0,O|0,ce|0,0)|0;C=O;m=mv(0,g|0,ae|0,y|0)|0;y=O;g=mv(ce|0,C|0,(y>>>0<g>>>0|(y|0)==(g|0)&m>>>0<0)&1|0,0)|0;C=O;ce=Qr(v|0,0,w|0,0)|0;l=O;ae=Qr(o|0,0,w|0,0)|0;V=O;f=Qr(v|0,0,k|0,0)|0;b=O;se=Qr(o|0,0,k|0,0)|0;o=O;f=mv(ae|0,0,f|0,0)|0;ae=O;o=mv(V|0,0,se|0,o|0)|0;b=mv(o|0,O|0,b|0,0)|0;ae=mv(b|0,O|0,ae|0,0)|0;b=O;o=mv(0,f|0,ce|0,l|0)|0;l=O;f=mv(ae|0,b|0,(l>>>0<f>>>0|(l|0)==(f|0)&o>>>0<0)&1|0,0)|0;b=O;if(C>>>0<b>>>0|(C|0)==(b|0)&g>>>0<f>>>0)o=-1;else o=C>>>0>b>>>0|(C|0)==(b|0)&g>>>0>f>>>0?1:y>>>0<l>>>0|(y|0)==(l|0)&m>>>0<o>>>0?-1:(y>>>0>l>>>0|(y|0)==(l|0)&m>>>0>o>>>0)&1;o=U(o,S)|0}else o=S-b|0;if((o|0)<=0){o=110;break}}_[r>>2]=T;V=_[T+12>>2]|0;B=_[V+88>>2]|0;l=G;L=_[V+92>>2]|0;b=H;V=_[V+96>>2]|0;f=T;C=I;m=D}if((o|0)==110)return}if((Q|0)>=0)return;D=Lt(0,0,z|0,((z|0)<0)<<31>>31|0)|0;T=O;M=h;o=Q;e:while(1){I=o;t:while(1){x=(U(d-t|0,re)|0)+(U(M-s|0,ne)|0)+(U(u-i|0,K)|0)|0;do{if((c|0?_[c+12>>2]|0:0)?(oe=_[(_[c+4>>2]|0)+8>>2]|0,(_[oe+20>>2]|0)>(_[e+100>>2]|0)):0){R=_[oe+12>>2]|0;S=_[R+88>>2]|0;ae=S-M|0;j=_[R+92>>2]|0;ce=j-d|0;R=_[R+96>>2]|0;o=R-u|0;f=Qr(ae|0,((ae|0)<0)<<31>>31|0,J|0,Y|0)|0;se=O;l=Qr(ce|0,((ce|0)<0)<<31>>31|0,$|0,ee|0)|0;se=mv(l|0,O|0,f|0,se|0)|0;f=O;l=Qr(o|0,((o|0)<0)<<31>>31|0,te|0,ie|0)|0;l=mv(se|0,f|0,l|0,O|0)|0;f=O;o=(U(ce,re)|0)+(U(ae,ne)|0)+(U(o,K)|0)|0;if((l|0)==0&(f|0)==0)if((o|0)>0)break t;else break;if((f|0)<0){if((o|0)>0){p=1;m=o;b=((o|0)<0)<<31>>31}else{m=Lt(0,0,o|0,((o|0)<0)<<31>>31|0)|0;p=((o|0)!=0)<<31>>31;m=o|0?m:0;b=o|0?O:0}g=Lt(0,0,l|0,f|0)|0;C=O;k=0-p|0;if((x|0)>0){o=1;v=x;w=((x|0)<0)<<31>>31}else{v=Lt(0,0,x|0,((x|0)<0)<<31>>31|0)|0;o=((x|0)!=0)<<31>>31;v=x|0?v:0;w=x|0?O:0}if((I|0)>0|(I|0)==0&a>>>0>0){l=a;f=I}else{f=(a|0)!=0|(I|0)!=0;l=Lt(0,0,a|0,I|0)|0;o=f?0-o|0:o;l=f?l:0;f=f?O:0}if((o|0)==(k|0)){if(!p)break t;o=Qr(l|0,0,m|0,0)|0;p=O;se=Qr(f|0,0,m|0,0)|0;N=O;h=Qr(l|0,0,b|0,0)|0;y=O;ae=Qr(f|0,0,b|0,0)|0;m=O;h=mv(se|0,0,h|0,0)|0;l=O;m=mv(N|0,0,ae|0,m|0)|0;y=mv(m|0,O|0,y|0,0)|0;l=mv(y|0,O|0,l|0,0)|0;y=O;p=mv(0,h|0,o|0,p|0)|0;m=O;h=mv(l|0,y|0,(m>>>0<h>>>0|(m|0)==(h|0)&p>>>0<0)&1|0,0)|0;y=O;l=Qr(v|0,0,g|0,0)|0;o=O;ae=Qr(w|0,0,g|0,0)|0;N=O;f=Qr(v|0,0,C|0,0)|0;b=O;se=Qr(w|0,0,C|0,0)|0;ce=O;f=mv(ae|0,0,f|0,0)|0;ae=O;ce=mv(N|0,0,se|0,ce|0)|0;b=mv(ce|0,O|0,b|0,0)|0;ae=mv(b|0,O|0,ae|0,0)|0;b=O;o=mv(0,f|0,l|0,o|0)|0;l=O;f=mv(ae|0,b|0,(l>>>0<f>>>0|(l|0)==(f|0)&o>>>0<0)&1|0,0)|0;b=O;if(y>>>0<b>>>0|(y|0)==(b|0)&h>>>0<f>>>0)o=-1;else o=y>>>0>b>>>0|(y|0)==(b|0)&h>>>0>f>>>0?1:m>>>0<l>>>0|(m|0)==(l|0)&p>>>0<o>>>0?-1:(m>>>0>l>>>0|(m|0)==(l|0)&p>>>0>o>>>0)&1;o=U(o,k)|0}else o=k-o|0;if((o|0)<1)break t}}}while(0);o=_[n>>2]|0;if(!o){o=110;break e}if(!(_[o+12>>2]|0)){o=110;break e}v=_[(_[o+8>>2]|0)+4>>2]|0;if((_[v+20>>2]|0)<=(_[e+100>>2]|0)){o=110;break e}c=_[v+12>>2]|0;f=_[c+88>>2]|0;s=f-s|0;l=_[c+92>>2]|0;t=l-t|0;c=_[c+96>>2]|0;o=c-i|0;ae=Qr(s|0,((s|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;se=O;ce=Qr(t|0,((t|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;se=mv(ce|0,O|0,ae|0,se|0)|0;ae=O;ce=Qr(o|0,((o|0)<0)<<31>>31|0,D|0,T|0)|0;if(!((se|0)==(ce|0)&(ae|0)==(O|0))){o=110;break e}b=Qr(s|0,((s|0)<0)<<31>>31|0,J|0,Y|0)|0;C=O;i=Qr(t|0,((t|0)<0)<<31>>31|0,$|0,ee|0)|0;C=mv(i|0,O|0,b|0,C|0)|0;b=O;i=Qr(o|0,((o|0)<0)<<31>>31|0,te|0,ie|0)|0;i=mv(C|0,b|0,i|0,O|0)|0;b=O;o=(U(t,re)|0)+(U(s,ne)|0)+(U(o,K)|0)|0;C=M-f|0;ce=d-l|0;g=u-c|0;C=Qr(C|0,((C|0)<0)<<31>>31|0,J|0,Y|0)|0;ae=O;ce=Qr(ce|0,((ce|0)<0)<<31>>31|0,$|0,ee|0)|0;ae=mv(ce|0,O|0,C|0,ae|0)|0;C=O;g=Qr(g|0,((g|0)<0)<<31>>31|0,te|0,ie|0)|0;g=mv(ae|0,C|0,g|0,O|0)|0;C=O;if((C|0)>=0){o=110;break e}if((i|0)==0&(b|0)==0){if((o|0)<=0){o=110;break e}}else{if((b|0)>=0){o=110;break e}if((o|0)>0){s=((o|0)<0)<<31>>31;c=1}else{ae=Lt(0,0,o|0,((o|0)<0)<<31>>31|0)|0;s=o|0?O:0;c=((o|0)!=0)<<31>>31;o=o|0?ae:0}m=Lt(0,0,i|0,b|0)|0;h=O;y=0-c|0;if((x|0)>0){t=1;p=x;b=((x|0)<0)<<31>>31}else{p=Lt(0,0,x|0,((x|0)<0)<<31>>31|0)|0;t=((x|0)!=0)<<31>>31;p=x|0?p:0;b=x|0?O:0}if((I|0)>0|(I|0)==0&a>>>0>0){i=t;t=I}else{ae=(a|0)!=0|(I|0)!=0;a=Lt(0,0,a|0,I|0)|0;i=ae?0-t|0:t;a=ae?a:0;t=ae?O:0}if((i|0)==(y|0)){if(!c){o=110;break e}ae=Qr(a|0,0,o|0,0)|0;c=O;i=Qr(t|0,0,o|0,0)|0;N=O;l=Qr(a|0,0,s|0,0)|0;f=O;o=Qr(t|0,0,s|0,0)|0;a=O;l=mv(i|0,0,l|0,0)|0;t=O;a=mv(N|0,0,o|0,a|0)|0;f=mv(a|0,O|0,f|0,0)|0;t=mv(f|0,O|0,t|0,0)|0;f=O;c=mv(0,l|0,ae|0,c|0)|0;a=O;l=mv(t|0,f|0,(a>>>0<l>>>0|(a|0)==(l|0)&c>>>0<0)&1|0,0)|0;f=O;t=Qr(p|0,0,m|0,0)|0;o=O;ae=Qr(b|0,0,m|0,0)|0;N=O;i=Qr(p|0,0,h|0,0)|0;s=O;se=Qr(b|0,0,h|0,0)|0;ce=O;i=mv(ae|0,0,i|0,0)|0;ae=O;ce=mv(N|0,0,se|0,ce|0)|0;s=mv(ce|0,O|0,s|0,0)|0;ae=mv(s|0,O|0,ae|0,0)|0;s=O;o=mv(0,i|0,t|0,o|0)|0;t=O;i=mv(ae|0,s|0,(t>>>0<i>>>0|(t|0)==(i|0)&o>>>0<0)&1|0,0)|0;s=O;if(f>>>0<s>>>0|(f|0)==(s|0)&l>>>0<i>>>0)o=-1;else o=f>>>0>s>>>0|(f|0)==(s|0)&l>>>0>i>>>0?1:a>>>0<t>>>0|(a|0)==(t|0)&c>>>0<o>>>0?-1:(a>>>0>t>>>0|(a|0)==(t|0)&c>>>0>o>>>0)&1;o=U(o,y)|0}else o=y-i|0;if((o|0)>=0){o=110;break e}}_[n>>2]=v;i=_[v+12>>2]|0;s=_[i+88>>2]|0;t=_[i+92>>2]|0;i=_[i+96>>2]|0;c=_[r>>2]|0;I=C;a=g}M=S-s|0;u=j-t|0;a=R-i|0;M=Qr(M|0,((M|0)<0)<<31>>31|0,J|0,Y|0)|0;d=O;u=Qr(u|0,((u|0)<0)<<31>>31|0,$|0,ee|0)|0;d=mv(u|0,O|0,M|0,d|0)|0;M=O;a=Qr(a|0,((a|0)<0)<<31>>31|0,te|0,ie|0)|0;a=mv(d|0,M|0,a|0,O|0)|0;c=(c|0)==(_e|0)?0:oe;_[r>>2]=c;M=S;d=j;u=R;o=O}if((o|0)==110)return}function hc(e,t,i){e=e|0;t=t|0;i=+i;var r=0.0,o=0.0,s=0,c=0,l=0.0,f=0.0,b=0,p=0,d=0.0,m=0,h=0.0,y=0.0,g=0,C=0,v=0,w=0.0,k=0,S=0.0,j=0.0,R=0.0,x=0.0,I=0.0,M=0.0,D=0.0,T=0.0;k=u;u=u+544|0;r=+a[e+100>>2];l=+a[e+104>>2];o=+a[e+108>>2];if(r*r+l*l+o*o>0.0){f=+F(+(1.0-+a[e+244>>2]),+i);a[e+100>>2]=r*f;a[e+104>>2]=f*l;a[e+108>>2]=f*o;r=r*f;l=f*l;o=f*o}f=r*r+l*l+o*o;if(f>0.0){m=_[e+8>>2]|0;_[k+472>>2]=_[m+4>>2];_[k+472+4>>2]=_[m+4+4>>2];_[k+472+8>>2]=_[m+4+8>>2];_[k+472+12>>2]=_[m+4+12>>2];s=k+472+16|0;_[s>>2]=_[m+20>>2];_[s+4>>2]=_[m+20+4>>2];_[s+8>>2]=_[m+20+8>>2];_[s+12>>2]=_[m+20+12>>2];c=k+472+32|0;_[c>>2]=_[m+36>>2];_[c+4>>2]=_[m+36+4>>2];_[c+8>>2]=_[m+36+8>>2];_[c+12>>2]=_[m+36+12>>2];p=k+472+48|0;_[p>>2]=_[m+52>>2];_[p+4>>2]=_[m+52+4>>2];_[p+8>>2]=_[m+52+8>>2];_[p+12>>2]=_[m+52+12>>2];T=+W(+f);M=r*(1.0/T);x=l*(1.0/T);f=o*(1.0/T);o=+P(+(T*i*.5))/+W(+(f*f+(M*M+x*x)));T=+A(+(T*i*.5));Lg(k+472|0,k+408|0);I=+a[k+408>>2];D=+a[k+408+12>>2];S=+a[k+408+8>>2];j=+a[k+408+4>>2];r=T*I+M*o*D+x*o*S-f*o*j;l=f*o*I+(x*o*D+T*j)-M*o*S;R=f*o*D+T*S+M*o*j-x*o*I;S=T*D-M*o*I-x*o*j-f*o*S;o=r*(2.0/(S*S+(R*R+(r*r+l*l))));f=l*(2.0/(S*S+(R*R+(r*r+l*l))));j=R*(2.0/(S*S+(R*R+(r*r+l*l))));a[k+472>>2]=1.0-(l*f+R*j);a[k+472+4>>2]=r*f-S*j;a[k+472+8>>2]=r*j+S*f;a[k+472+12>>2]=0.0;a[k+472+16>>2]=r*f+S*j;a[k+472+20>>2]=1.0-(r*o+R*j);a[k+472+24>>2]=l*j-S*o;a[k+472+28>>2]=0.0;a[k+472+32>>2]=r*j-S*f;a[k+472+36>>2]=l*j+S*o;a[k+472+40>>2]=1.0-(r*o+l*f);a[k+472+44>>2]=0.0;m=_[e+8>>2]|0;_[m+304>>2]=(_[m+304>>2]|0)+1;_[m+4>>2]=_[k+472>>2];_[m+4+4>>2]=_[k+472+4>>2];_[m+4+8>>2]=_[k+472+8>>2];_[m+4+12>>2]=_[k+472+12>>2];_[m+20>>2]=_[s>>2];_[m+20+4>>2]=_[s+4>>2];_[m+20+8>>2]=_[s+8>>2];_[m+20+12>>2]=_[s+12>>2];_[m+36>>2]=_[c>>2];_[m+36+4>>2]=_[c+4>>2];_[m+36+8>>2]=_[c+8>>2];_[m+36+12>>2]=_[c+12>>2];_[m+52>>2]=_[p>>2];_[m+52+4>>2]=_[p+4>>2];_[m+52+8>>2]=_[p+8>>2];_[m+52+12>>2]=_[p+12>>2];m=_[e+8>>2]|0;_[e+132>>2]=_[m+52>>2];_[e+132+4>>2]=_[m+52+4>>2];_[e+132+8>>2]=_[m+52+8>>2];_[e+132+12>>2]=_[m+52+12>>2];To(e+152|0,m+52|0,16)|0;Lg(m+4|0,k+408|0);_[e+168>>2]=_[k+408>>2];_[e+168+4>>2]=_[k+408+4>>2];_[e+168+8>>2]=_[k+408+8>>2];_[e+168+12>>2]=_[k+408+12>>2];_[e+184>>2]=_[e+168>>2];_[e+184+4>>2]=_[e+168+4>>2];_[e+184+8>>2]=_[e+168+8>>2];_[e+184+12>>2]=_[e+168+12>>2]}if((n[e+251>>0]|0)==0?+a[e+252>>2]<=0.0:0){u=k;return}n[e+248>>0]=(ya[_[(_[e>>2]|0)+48>>2]&127](e)|0)&1;r=+a[e+68>>2];o=+a[e+72>>2];l=+a[e+76>>2];f=+F(+(1.0-+a[e+240>>2]),+i);if(r*r+o*o+l*l>0.0){a[e+68>>2]=r*f;a[e+72>>2]=f*o;a[e+76>>2]=f*l}r=f*+a[e+20>>2]-+a[e+52>>2]*i;a[e+20>>2]=r;if(r>0.0?(d=+a[e+32>>2],r>d):0){a[e+20>>2]=d;r=d}if(r<0.0?(T=+G(+r),h=+G(+ +a[e+28>>2]),T>h):0){a[e+20>>2]=-h;r=-h}o=r*i;a[e+24>>2]=o;m=_[e+8>>2]|0;_[k>>2]=_[m+4>>2];_[k+4>>2]=_[m+4+4>>2];_[k+8>>2]=_[m+4+8>>2];_[k+12>>2]=_[m+4+12>>2];_[k+16>>2]=_[m+20>>2];_[k+16+4>>2]=_[m+20+4>>2];_[k+16+8>>2]=_[m+20+8>>2];_[k+16+12>>2]=_[m+20+12>>2];_[k+32>>2]=_[m+36>>2];_[k+32+4>>2]=_[m+36+4>>2];_[k+32+8>>2]=_[m+36+8>>2];_[k+32+12>>2]=_[m+36+12>>2];_[k+48>>2]=_[m+52>>2];_[k+48+4>>2]=_[m+52+4>>2];_[k+48+8>>2]=_[m+52+8>>2];_[k+48+12>>2]=_[m+52+12>>2];if(r<0.0)l=+a[e+60>>2];else l=0.0;_[k+472>>2]=1065353216;p=k+472+4|0;_[p>>2]=0;_[p+4>>2]=0;_[p+8>>2]=0;_[p+12>>2]=0;_[k+472+20>>2]=1065353216;m=k+472+24|0;_[m>>2]=0;_[m+4>>2]=0;_[m+8>>2]=0;_[m+12>>2]=0;_[k+472+40>>2]=1065353216;_[k+472+44>>2]=0;_[k+408>>2]=1065353216;c=k+408+4|0;_[c>>2]=0;_[c+4>>2]=0;_[c+8>>2]=0;_[c+12>>2]=0;_[k+408+20>>2]=1065353216;s=k+408+24|0;_[s>>2]=0;_[s+4>>2]=0;_[s+8>>2]=0;_[s+12>>2]=0;_[k+408+40>>2]=1065353216;_[k+408+44>>2]=0;_[k+472+48>>2]=_[e+132>>2];_[k+472+48+4>>2]=_[e+132+4>>2];_[k+472+48+8>>2]=_[e+132+8>>2];_[k+472+48+12>>2]=_[e+132+12>>2];R=o>0.0?o:0.0;D=l*+a[e+260>>2]+ +a[e+136>>2]+R*+a[e+276>>2];x=l*+a[e+264>>2]+ +a[e+140>>2]+R*+a[e+280>>2];a[e+152>>2]=l*+a[e+256>>2]+ +a[e+132>>2]+ +a[e+272>>2]*R;a[e+156>>2]=D;a[e+160>>2]=x;a[e+164>>2]=0.0;_[e+132>>2]=_[e+152>>2];_[e+132+4>>2]=_[e+152+4>>2];_[e+132+8>>2]=_[e+152+8>>2];_[e+132+12>>2]=_[e+152+12>>2];_[k+408+48>>2]=_[e+152>>2];_[k+408+48+4>>2]=_[e+152+4>>2];_[k+408+48+8>>2]=_[e+152+8>>2];_[k+408+48+12>>2]=_[e+152+12>>2];x=+a[e+168>>2];D=+a[e+172>>2];R=+a[e+176>>2];T=+a[e+180>>2];j=x*(2.0/(x*x+D*D+R*R+T*T));I=D*(2.0/(x*x+D*D+R*R+T*T));M=R*(2.0/(x*x+D*D+R*R+T*T));a[k+472>>2]=1.0-(D*I+R*M);a[p>>2]=x*I-T*M;a[k+472+8>>2]=x*M+T*I;a[k+472+12>>2]=0.0;a[k+472+16>>2]=x*I+T*M;a[k+472+20>>2]=1.0-(x*j+R*M);a[m>>2]=D*M-T*j;a[k+472+28>>2]=0.0;a[k+472+32>>2]=x*M-T*I;a[k+472+36>>2]=D*M+T*j;a[k+472+40>>2]=1.0-(x*j+D*I);a[k+472+44>>2]=0.0;I=+a[e+184>>2];D=+a[e+188>>2];j=+a[e+192>>2];x=+a[e+196>>2];T=I*(2.0/(I*I+D*D+j*j+x*x));M=D*(2.0/(I*I+D*D+j*j+x*x));R=j*(2.0/(I*I+D*D+j*j+x*x));a[k+408>>2]=1.0-(D*M+j*R);a[c>>2]=I*M-x*R;a[k+408+8>>2]=I*R+x*M;a[k+408+12>>2]=0.0;a[k+408+16>>2]=I*M+x*R;a[k+408+20>>2]=1.0-(I*T+j*R);a[s>>2]=D*R-x*T;a[k+408+28>>2]=0.0;a[k+408+32>>2]=I*R-x*M;a[k+408+36>>2]=D*R+x*T;a[k+408+40>>2]=1.0-(I*T+D*M);a[k+408+44>>2]=0.0;s=_[e+8>>2]|0;M=-+a[e+256>>2];D=-+a[e+260>>2];T=-+a[e+264>>2];c=_[e+48>>2]|0;a[k+296+4>>2]=1.0;m=k+296+16|0;_[k+296+80>>2]=0;_[m>>2]=0;_[m+4>>2]=0;_[m+8>>2]=0;_[m+12>>2]=0;_[m+16>>2]=0;_[m+20>>2]=0;_[m+24>>2]=0;_[m+28>>2]=0;_[k+296>>2]=3356;_[k+296+84>>2]=s;a[k+296+88>>2]=M;a[k+296+92>>2]=D;a[k+296+96>>2]=T;a[k+296+100>>2]=0.0;_[k+296+104>>2]=c;c=_[s+188>>2]|0;_[k+296+8>>2]=_[c+4>>2];_[k+296+12>>2]=_[c+8>>2];c=_[e+12>>2]|0;if(!(n[e+250>>0]|0))zd(t,c,k+472|0,k+408|0,k+296|0,+a[t+56>>2]);else bd(s,c,k+472|0,k+408|0,k+296|0,+a[t+56>>2]);if((+a[k+296+4>>2]<1.0?(b=_[e+8>>2]|0,(_[b+204>>2]&4|0)==0):0)?xa[_[(_[e>>2]|0)+56>>2]&63](e,b,_[k+296+80>>2]|0)|0:0){do{if(+a[k+296+48>>2]*+a[e+256>>2]+ +a[k+296+52>>2]*+a[e+260>>2]+ +a[k+296+56>>2]*+a[e+264>>2]>0.0){r=+a[k+296+4>>2];a[e+148>>2]=l*r;if(!(n[e+288>>0]|0)){_[e+132>>2]=_[e+152>>2];_[e+132+4>>2]=_[e+152+4>>2];_[e+132+8>>2]=_[e+152+8>>2];_[e+132+12>>2]=_[e+152+12>>2];break}else{a[e+132>>2]=(1.0-r)*+a[e+132>>2]+r*+a[e+152>>2];a[e+136>>2]=(1.0-r)*+a[e+136>>2]+r*+a[e+156>>2];a[e+140>>2]=(1.0-r)*+a[e+140>>2]+r*+a[e+160>>2];break}}}while(0);p=_[e+8>>2]|0;_[p+52>>2]=_[e+132>>2];_[p+52+4>>2]=_[e+132+4>>2];_[p+52+8>>2]=_[e+132+8>>2];_[p+52+12>>2]=_[e+132+12>>2];m=_[e+8>>2]|0;_[m+304>>2]=(_[m+304>>2]|0)+1;_[m+4>>2]=_[p+4>>2];_[m+4+4>>2]=_[p+4+4>>2];_[m+4+8>>2]=_[p+4+8>>2];_[m+4+12>>2]=_[p+4+12>>2];_[m+20>>2]=_[p+20>>2];_[m+20+4>>2]=_[p+20+4>>2];_[m+20+8>>2]=_[p+20+8>>2];_[m+20+12>>2]=_[p+20+12>>2];_[m+36>>2]=_[p+36>>2];_[m+36+4>>2]=_[p+36+4>>2];_[m+36+8>>2]=_[p+36+8>>2];_[m+36+12>>2]=_[p+36+12>>2];_[m+52>>2]=_[p+52>>2];_[m+52+4>>2]=_[p+52+4>>2];_[m+52+8>>2]=_[p+52+8>>2];_[m+52+12>>2]=_[p+52+12>>2];n[e+220>>0]=0;if((((Md(e,t)|0?(n[e+220>>0]=1,Md(e,t)|0):0)?(n[e+220>>0]=1,Md(e,t)|0):0)?(n[e+220>>0]=1,Md(e,t)|0):0)?(n[e+220>>0]=1,Md(e,t)|0):0)n[e+220>>0]=1;m=(_[e+8>>2]|0)+52|0;_[e+152>>2]=_[m>>2];_[e+152+4>>2]=_[m+4>>2];_[e+152+8>>2]=_[m+8>>2];_[e+152+12>>2]=_[m+12>>2];To(e+132|0,m|0,16)|0;if(+a[e+24>>2]>0.0){a[e+24>>2]=0.0;a[e+20>>2]=0.0;_[e+148>>2]=_[e+60>>2]}}else{a[e+148>>2]=l;_[e+132>>2]=_[e+152>>2];_[e+132+4>>2]=_[e+152+4>>2];_[e+132+8>>2]=_[e+152+8>>2];_[e+132+12>>2]=_[e+152+12>>2]}if(!(n[e+251>>0]|0)){D=+a[e+252>>2];T=D>i?i:D;a[e+252>>2]=D-i;Vc(e,t,T*+a[e+68>>2],T*+a[e+72>>2],T*+a[e+76>>2])}else Vc(e,t,+a[e+68>>2],+a[e+72>>2],+a[e+76>>2]);_[k+280>>2]=_[e+152>>2];_[k+280+4>>2]=_[e+152+4>>2];_[k+280+8>>2]=_[e+152+8>>2];_[k+280+12>>2]=_[e+152+12>>2];T=+a[e+20>>2];r=(T<0.0?-T:0.0)*i;if(!(T>0.0)){do{if(r>0.0?(y=+a[e+28>>2],r>y):0){if((n[e+248>>0]|0)==0?n[e+249>>0]|0:0)break;r=y}}while(0);d=r+ +a[e+148>>2];l=+a[e+256>>2]*d;f=d*+a[e+260>>2];d=d*+a[e+264>>2];a[e+152>>2]=+a[e+152>>2]-l;a[e+156>>2]=+a[e+156>>2]-f;a[e+160>>2]=+a[e+160>>2]-d;s=_[e+8>>2]|0;p=_[e+48>>2]|0;m=k+172+4|0;a[m>>2]=1.0;b=k+172+16|0;_[k+172+80>>2]=0;_[b>>2]=0;_[b+4>>2]=0;_[b+8>>2]=0;_[b+12>>2]=0;_[b+16>>2]=0;_[b+20>>2]=0;_[b+24>>2]=0;_[b+28>>2]=0;_[k+172>>2]=3356;_[k+172+84>>2]=s;_[k+172+88>>2]=_[e+256>>2];_[k+172+88+4>>2]=_[e+256+4>>2];_[k+172+88+8>>2]=_[e+256+8>>2];_[k+172+88+12>>2]=_[e+256+12>>2];_[k+172+104>>2]=p;b=_[s+188>>2]|0;_[k+172+8>>2]=_[b+4>>2];_[k+172+12>>2]=_[b+8>>2];a[k+64+4>>2]=1.0;c=k+64+16|0;_[k+64+80>>2]=0;_[c>>2]=0;_[c+4>>2]=0;_[c+8>>2]=0;_[c+12>>2]=0;_[c+16>>2]=0;_[c+20>>2]=0;_[c+24>>2]=0;_[c+28>>2]=0;_[k+64>>2]=3356;_[k+64+84>>2]=s;_[k+64+88>>2]=_[e+256>>2];_[k+64+88+4>>2]=_[e+256+4>>2];_[k+64+88+8>>2]=_[e+256+8>>2];_[k+64+88+12>>2]=_[e+256+12>>2];_[k+64+104>>2]=p;_[k+64+8>>2]=_[b+4>>2];_[k+64+12>>2]=_[b+8>>2];b=k+408+24|0;p=k+296+44|0;s=0;while(1){_[k+408+12>>2]=0;_[k+408+12+4>>2]=0;_[k+408+20>>2]=1065353216;_[b>>2]=0;_[b+4>>2]=0;_[b+8>>2]=0;_[b+12>>2]=0;_[k+408+40>>2]=1065353216;_[k+408+44>>2]=0;_[k+296>>2]=1065353216;_[k+296+4>>2]=0;_[k+296+4+4>>2]=0;_[k+296+4+8>>2]=0;_[k+296+4+12>>2]=0;_[k+296+20>>2]=1065353216;_[k+296+24>>2]=0;_[k+296+24+4>>2]=0;_[k+296+24+8>>2]=0;_[k+296+24+12>>2]=0;_[k+296+40>>2]=1065353216;_[p>>2]=0;_[p+4>>2]=0;_[p+8>>2]=0;_[p+12>>2]=0;_[p+16>>2]=0;_[k+472+48>>2]=_[e+132>>2];_[k+472+48+4>>2]=_[e+132+4>>2];_[k+472+48+8>>2]=_[e+132+8>>2];_[k+472+48+12>>2]=_[e+132+12>>2];_[k+408+48>>2]=_[e+152>>2];_[k+408+48+4>>2]=_[e+152+4>>2];_[k+408+48+8>>2]=_[e+152+8>>2];_[k+408+48+12>>2]=_[e+152+12>>2];x=+a[e+168>>2];T=+a[e+172>>2];R=+a[e+176>>2];M=+a[e+180>>2];j=x*(2.0/(x*x+T*T+R*R+M*M));I=T*(2.0/(x*x+T*T+R*R+M*M));D=R*(2.0/(x*x+T*T+R*R+M*M));a[k+472>>2]=1.0-(T*I+R*D);a[k+472+4>>2]=x*I-M*D;a[k+472+8>>2]=x*D+M*I;a[k+472+12>>2]=0.0;a[k+472+16>>2]=x*I+M*D;a[k+472+20>>2]=1.0-(x*j+R*D);a[k+472+24>>2]=T*D-M*j;a[k+472+28>>2]=0.0;a[k+472+32>>2]=x*D-M*I;a[k+472+36>>2]=T*D+M*j;a[k+472+40>>2]=1.0-(x*j+T*I);a[k+472+44>>2]=0.0;I=+a[e+184>>2];T=+a[e+188>>2];j=+a[e+192>>2];x=+a[e+196>>2];M=I*(2.0/(I*I+T*T+j*j+x*x));D=T*(2.0/(I*I+T*T+j*j+x*x));R=j*(2.0/(I*I+T*T+j*j+x*x));a[k+408>>2]=1.0-(T*D+j*R);a[k+408+4>>2]=I*D-x*R;a[k+408+8>>2]=I*R+x*D;a[k+408+12>>2]=0.0;a[k+408+16>>2]=I*D+x*R;a[k+408+20>>2]=1.0-(I*M+j*R);a[b>>2]=T*R-x*M;a[k+408+28>>2]=0.0;a[k+408+32>>2]=I*R-x*D;a[k+408+36>>2]=T*R+x*M;a[k+408+40>>2]=1.0-(I*M+T*D);a[k+408+44>>2]=0.0;D=+a[e+156>>2]-f;T=+a[e+160>>2]-d;a[k+296+48>>2]=+a[e+152>>2]-l;a[k+296+52>>2]=D;a[k+296+56>>2]=T;a[k+296+60>>2]=0.0;if(!(n[e+250>>0]|0)){zd(t,_[e+12>>2]|0,k+472|0,k+408|0,k+172|0,+a[t+56>>2]);if(!(+a[m>>2]<1.0)?(_[(_[e+8>>2]|0)+204>>2]&4|0)==0:0)zd(t,_[e+12>>2]|0,k+472|0,k+296|0,k+64|0,+a[t+56>>2])}else{bd(_[e+8>>2]|0,_[e+12>>2]|0,k+472|0,k+408|0,k+172|0,+a[t+56>>2]);if(!(+a[m>>2]<1.0)?(g=_[e+8>>2]|0,(_[g+204>>2]&4|0)==0):0)bd(g,_[e+12>>2]|0,k+472|0,k+296|0,k+64|0,+a[t+56>>2])}o=+a[e+20>>2];o=(o<0.0?-o:0.0)*i;if(!(n[e+290>>0]|0))if(+a[k+64+4>>2]<1.0?(v=_[e+8>>2]|0,(_[v+204>>2]&4|0)==0):0)c=xa[_[(_[e>>2]|0)+56>>2]&63](e,v,_[k+64+80>>2]|0)|0;else c=0;else if((+a[m>>2]<1.0?1:+a[k+64+4>>2]<1.0)?(C=_[e+8>>2]|0,(_[C+204>>2]&4|0)==0):0)c=xa[_[(_[e>>2]|0)+56>>2]&63](e,C,_[k+172+80>>2]|0)|0;else c=0;if(+a[e+20>>2]<0.0)r=+a[e+60>>2];else r=0.0;if(s|(!(o>0.0)|!(o<r)|c^1))break;if((n[e+248>>0]|0)==0?n[e+249>>0]|0:0){s=0;break}_[e+152>>2]=_[k+280>>2];_[e+152+4>>2]=_[k+280+4>>2];_[e+152+8>>2]=_[k+280+8>>2];_[e+152+12>>2]=_[k+280+12>>2];d=r+ +a[e+148>>2];l=+a[e+256>>2]*d;f=d*+a[e+260>>2];d=d*+a[e+264>>2];a[e+152>>2]=+a[e+152>>2]-l;a[e+156>>2]=+a[e+156>>2]-f;a[e+160>>2]=+a[e+160>>2]-d;s=1}c=_[e+8>>2]|0;if(+a[m>>2]<1.0?(_[c+204>>2]&4|0)==0:0)if(s|(xa[_[(_[e>>2]|0)+56>>2]&63](e,c,_[k+172+80>>2]|0)|0))s=69;else s=73;else if(s)s=69;else s=73;if((s|0)==69){if(!(n[e+290>>0]|0)){s=e+289|0;r=+a[m>>2];o=+a[e+136>>2]}else{o=+a[e+136>>2];s=e+289|0;r=(n[e+289>>0]|0)==0?(o-+a[k+172+68>>2])*.5:+a[m>>2]}T=1.0-r;a[e+132>>2]=T*+a[e+132>>2]+r*+a[e+152>>2];a[e+136>>2]=T*o+r*+a[e+156>>2];a[e+140>>2]=T*+a[e+140>>2]+r*+a[e+160>>2];n[s>>0]=0;a[e+20>>2]=0.0;a[e+24>>2]=0.0;n[e+249>>0]=0}else if((s|0)==73){n[e+289>>0]=1;do{if(n[e+290>>0]|0?(T=+a[e+20>>2],w=+a[e+28>>2],(T<0.0?-T:0.0)*i>w):0){if((n[e+248>>0]|0)==0?n[e+249>>0]|0:0)break;I=f+ +a[e+156>>2];D=d+ +a[e+160>>2];x=w+ +a[e+148>>2];M=x*+a[e+260>>2];T=x*+a[e+264>>2];a[e+152>>2]=l+ +a[e+152>>2]-+a[e+256>>2]*x;a[e+156>>2]=I-M;a[e+160>>2]=D-T}}while(0);_[e+132>>2]=_[e+152>>2];_[e+132+4>>2]=_[e+152+4>>2];_[e+132+8>>2]=_[e+152+8>>2];_[e+132+12>>2]=_[e+152+12>>2]}}_[k+48>>2]=_[e+132>>2];_[k+48+4>>2]=_[e+132+4>>2];_[k+48+8>>2]=_[e+132+8>>2];_[k+48+12>>2]=_[e+132+12>>2];v=_[e+8>>2]|0;_[v+304>>2]=(_[v+304>>2]|0)+1;_[v+4>>2]=_[k>>2];_[v+4+4>>2]=_[k+4>>2];_[v+4+8>>2]=_[k+8>>2];_[v+4+12>>2]=_[k+12>>2];_[v+20>>2]=_[k+16>>2];_[v+20+4>>2]=_[k+16+4>>2];_[v+20+8>>2]=_[k+16+8>>2];_[v+20+12>>2]=_[k+16+12>>2];_[v+36>>2]=_[k+32>>2];_[v+36+4>>2]=_[k+32+4>>2];_[v+36+8>>2]=_[k+32+8>>2];_[v+36+12>>2]=_[k+32+12>>2];_[v+52>>2]=_[k+48>>2];_[v+52+4>>2]=_[k+48+4>>2];_[v+52+8>>2]=_[k+48+8>>2];_[v+52+12>>2]=_[k+48+12>>2];n[e+220>>0]=0;if((((Md(e,t)|0?(n[e+220>>0]=1,Md(e,t)|0):0)?(n[e+220>>0]=1,Md(e,t)|0):0)?(n[e+220>>0]=1,Md(e,t)|0):0)?(n[e+220>>0]=1,Md(e,t)|0):0)n[e+220>>0]=1;u=k;return}function ic(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,s=0,c=0,l=0.0,f=0.0,p=0.0,d=0,m=0,h=0.0,y=0,g=0.0,C=0.0,v=0,w=0,k=0.0,S=0,j=0.0,R=0,x=0.0,I=0,M=0,D=0,T=0,O=0,H=0,G=0;G=u;u=u+192|0;if((i|0)<1){r=_[e+12>>2]|0;if(r|0){if(n[e+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[e+12>>2]=0}n[e+16>>0]=1;_[e+12>>2]=0;_[e+4>>2]=0;_[e+8>>2]=0;r=_[e+32>>2]|0;if(r|0){if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[e+32>>2]=0}n[e+36>>0]=1;_[e+32>>2]=0;_[e+24>>2]=0;_[e+28>>2]=0;r=_[e+52>>2]|0;if(r|0){if(n[e+56>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[e+52>>2]=0}n[e+56>>0]=1;_[e+52>>2]=0;_[e+44>>2]=0;_[e+48>>2]=0;u=G;return}_[G+32>>2]=0;_[G+36>>2]=0;_[G+40>>2]=0;_[G+44>>2]=256;_[G+48>>2]=0;_[G+52>>2]=0;_[G+56>>2]=0;_[G+60>>2]=256;_[G+64>>2]=0;_[G+68>>2]=0;_[G+72>>2]=0;_[G+76>>2]=256;n[G+96>>0]=1;_[G+92>>2]=0;_[G+84>>2]=0;_[G+88>>2]=0;r=0;o=t;s=-246811958;y=1900671690;v=-246811958;w=1900671690;S=-246811958;R=1900671690;while(1){c=_[o>>2]|0;d=_[o+4>>2]|0;m=_[o+8>>2]|0;l=(_[b>>2]=c,+a[b>>2]);y=l<(_[b>>2]=y,+a[b>>2])?c:y;f=(_[b>>2]=d,+a[b>>2]);w=f<(_[b>>2]=w,+a[b>>2])?d:w;p=(_[b>>2]=m,+a[b>>2]);R=p<(_[b>>2]=R,+a[b>>2])?m:R;s=(_[b>>2]=s,+a[b>>2])<l?c:s;v=(_[b>>2]=v,+a[b>>2])<f?d:v;S=(_[b>>2]=S,+a[b>>2])<p?m:S;r=r+1|0;if((r|0)==(i|0))break;else o=o+16|0}x=(_[b>>2]=s,+a[b>>2]);j=(_[b>>2]=y,+a[b>>2]);k=(_[b>>2]=v,+a[b>>2]);C=(_[b>>2]=w,+a[b>>2]);g=(_[b>>2]=S,+a[b>>2]);h=(_[b>>2]=R,+a[b>>2]);a[G+168>>2]=x-j;y=G+168+4|0;a[y>>2]=k-C;v=G+168+8|0;a[v>>2]=g-h;a[G+168+12>>2]=0.0;o=+a[G+168+((x-j<k-C&1)<<2)>>2]<g-h?2:x-j<k-C&1;_[G+112>>2]=o;r=+a[G+168+((!(x-j<k-C)&1)<<2)>>2]<g-h?!(x-j<k-C)&1:2;if((r|0)==(o|0))r=((o+1|0)>>>0)%3|0;_[G+104>>2]=r;O=(o^3)-r|0;_[G+108>>2]=O;a[G+168>>2]=(x-j)*9.788566967472434e-05;a[y>>2]=(k-C)*9.788566967472434e-05;a[v>>2]=(g-h)*9.788566967472434e-05;if(((O+1|0)%3|0|0)==(o|0)){l=(x-j)*9.788566967472434e-05;f=(k-C)*9.788566967472434e-05;p=(g-h)*9.788566967472434e-05}else{a[G+168>>2]=-((x-j)*9.788566967472434e-05);a[y>>2]=-((k-C)*9.788566967472434e-05);a[v>>2]=-((g-h)*9.788566967472434e-05);l=-((x-j)*9.788566967472434e-05);f=-((k-C)*9.788566967472434e-05);p=-((g-h)*9.788566967472434e-05)}_[G>>2]=_[G+168>>2];_[G+4>>2]=_[G+168+4>>2];_[G+8>>2]=_[G+168+8>>2];_[G+12>>2]=_[G+168+12>>2];if(l!=0.0)a[G+168>>2]=1.0/l;if(f!=0.0)a[y>>2]=1.0/f;if(p!=0.0)a[v>>2]=1.0/p;a[G+16>>2]=(x+j)*.5;a[G+20>>2]=(k+C)*.5;a[G+24>>2]=(g+h)*.5;a[G+28>>2]=0.0;w=G+144+16|0;n[w>>0]=1;S=G+144+12|0;_[S>>2]=0;_[G+144+4>>2]=0;_[G+144+8>>2]=0;_[6293]=(_[6293]|0)+1;r=cc((i<<4|3)+16|0)|0;if(!r)o=0;else{_[(r+4+15&-16)+-4>>2]=r;o=r+4+15&-16}s=_[G+144+4>>2]|0;c=_[S>>2]|0;if((s|0)<=0){if(c|0)H=32}else{r=0;do{H=o+(r<<4)|0;O=c+(r<<4)|0;_[H>>2]=_[O>>2];_[H+4>>2]=_[O+4>>2];_[H+8>>2]=_[O+8>>2];_[H+12>>2]=_[O+12>>2];r=r+1|0}while((r|0)!=(s|0));H=32}if((H|0)==32){if(n[w>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[S>>2]=0}n[w>>0]=1;_[S>>2]=o;_[G+144+8>>2]=i;_[o>>2]=_[G+128>>2];_[o+4>>2]=_[G+128+4>>2];_[o+8>>2]=_[G+128+8>>2];_[o+12>>2]=_[G+128+12>>2];if((i|0)!=1){r=1;do{O=(_[S>>2]|0)+(r<<4)|0;_[O>>2]=_[G+128>>2];_[O+4>>2]=_[G+128+4>>2];_[O+8>>2]=_[G+128+8>>2];_[O+12>>2]=_[G+128+12>>2];r=r+1|0}while((r|0)!=(i|0))}_[G+144+4>>2]=i;s=G+128+(_[G+108>>2]<<2)|0;c=_[S>>2]|0;d=G+128+(_[G+112>>2]<<2)|0;m=G+128+(_[G+104>>2]<<2)|0;p=+a[G+16>>2];h=+a[G+20>>2];g=+a[G+24>>2];C=+a[G+168>>2];f=+a[y>>2];l=+a[v>>2];o=0;r=t;while(1){j=(+a[r+4>>2]-h)*f;x=(+a[r+8>>2]-g)*l;a[G+128>>2]=(+a[r>>2]-p)*C;a[G+128+4>>2]=j;a[G+128+8>>2]=x;a[G+128+12>>2]=0.0;_[c+(o<<4)>>2]=~~+a[s>>2];_[c+(o<<4)+4>>2]=~~+a[d>>2];_[c+(o<<4)+8>>2]=~~+a[m>>2];_[c+(o<<4)+12>>2]=o;o=o+1|0;if((o|0)==(i|0))break;else r=r+16|0}if((i|0)>1)pg(G+144|0,0,i+-1|0);_[G+36>>2]=_[G+32>>2];_[G+40>>2]=0;_[G+44>>2]=i;r=_[G+84>>2]|0;if((r|0)<(i|0)){if((_[G+88>>2]|0)<(i|0)){if(!i){o=0;c=r}else{_[6293]=(_[6293]|0)+1;o=cc((i<<2|3)+16|0)|0;if(!o)o=0;else{_[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}c=_[G+84>>2]|0}if((c|0)>0){s=0;do{_[o+(s<<2)>>2]=_[(_[G+92>>2]|0)+(s<<2)>>2];s=s+1|0}while((s|0)!=(c|0))}s=_[G+92>>2]|0;if(s|0){if(n[G+96>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0)}_[G+92>>2]=0}n[G+96>>0]=1;_[G+92>>2]=o;_[G+88>>2]=i}do{_[(_[G+92>>2]|0)+(r<<2)>>2]=0;r=r+1|0}while((r|0)!=(i|0))}_[G+84>>2]=i;d=0;do{r=_[G+40>>2]|0;if(!r){r=_[G+36>>2]|0;if(!r){_[6293]=(_[6293]|0)+1;r=cc(31)|0;if(!r)o=0;else{_[(r+4+15&-16)+-4>>2]=r;o=r+4+15&-16}r=_[G+44>>2]|0;_[o+4>>2]=r;s=o+8|0;_[s>>2]=0;_[6293]=(_[6293]|0)+1;r=cc((r*112|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}_[o>>2]=r;_[s>>2]=_[G+32>>2];_[G+32>>2]=o}else{_[G+36>>2]=_[r+8>>2];o=r}r=_[o>>2]|0;c=_[o+4>>2]|0;if((c|0)>0){o=0;s=r;do{o=o+1|0;O=s;s=s+112|0;_[O>>2]=(o|0)<(c|0)?s:0}while((o|0)!=(c|0))}}_[G+40>>2]=_[r>>2];O=r+104|0;_[r>>2]=0;_[r+4>>2]=0;_[r+8>>2]=0;_[r+12>>2]=0;_[r+16>>2]=0;_[O>>2]=-1;_[r+8>>2]=0;D=(_[S>>2]|0)+(d<<4)|0;T=r+88|0;_[T>>2]=_[D>>2];_[T+4>>2]=_[D+4>>2];_[T+8>>2]=_[D+8>>2];_[T+12>>2]=_[D+12>>2];_[O>>2]=-1;_[(_[G+92>>2]|0)+(d<<2)>>2]=r;d=d+1|0}while((d|0)<(i|0));r=_[S>>2]|0;if(r|0){if(n[w>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[S>>2]=0}n[w>>0]=1;_[S>>2]=0;_[G+144+4>>2]=0;_[G+144+8>>2]=0;_[G+52>>2]=_[G+48>>2];_[G+56>>2]=0;_[G+60>>2]=i*6;_[G+116>>2]=0;_[G+120>>2]=0;_[G+100>>2]=-3;_[G+128>>2]=0;_[G+128+4>>2]=0;_[G+128+8>>2]=0;_[G+128+12>>2]=0;bc(G,0,i,G+128|0);_[G+124>>2]=_[G+128>>2];r=_[S>>2]|0;if(r|0){if(n[w>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[S>>2]=0}r=_[e+4>>2]|0;if((r|0)<0){if((_[e+8>>2]|0)<0){o=_[e+12>>2]|0;if(o|0){if(n[e+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+12>>2]=0}n[e+16>>0]=1;_[e+12>>2]=0;_[e+8>>2]=0}do{O=(_[e+12>>2]|0)+(r<<4)|0;_[O>>2]=_[G+168>>2];_[O+4>>2]=_[G+168+4>>2];_[O+8>>2]=_[G+168+8>>2];_[O+12>>2]=_[G+168+12>>2];r=r+1|0}while((r|0)!=0)}_[e+4>>2]=0;_[G+168>>2]=0;_[G+168+4>>2]=0;_[G+168+8>>2]=0;r=_[e+24>>2]|0;if((r|0)<0){if((_[e+28>>2]|0)<0){o=_[e+32>>2]|0;if(o|0){if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[o+-4>>2]|0)}_[e+32>>2]=0}n[e+36>>0]=1;_[e+32>>2]=0;_[e+28>>2]=0}do{O=(_[e+32>>2]|0)+(r*12|0)|0;_[O>>2]=_[G+168>>2];_[O+4>>2]=_[G+168+4>>2];_[O+8>>2]=_[G+168+8>>2];r=r+1|0}while((r|0)!=0)}_[e+24>>2]=0;o=_[e+44>>2]|0;if((o|0)<0){r=_[e+52>>2]|0;if((_[e+48>>2]|0)<0){do{if(r|0){if(!(n[e+56>>0]|0))break;_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}}while(0);n[e+56>>0]=1;_[e+52>>2]=0;_[e+48>>2]=0;r=0}Wj(r+(o<<2)|0,0,U(o,-4)|0)|0}_[e+44>>2]=0;o=_[G+124>>2]|0;do{if((_[o+104>>2]|0)<0){_[o+104>>2]=0;_[6293]=(_[6293]|0)+1;r=cc(23)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}_[r>>2]=o;O=0;y=1;v=r;w=1;s=r;S=r;while(1){if((_[o+100>>2]|0)>-1){a[G+168+(_[G+108>>2]<<2)>>2]=+(_[o+88>>2]|0);a[G+168+(_[G+112>>2]<<2)>>2]=+(_[o+92>>2]|0);l=+(_[o+96>>2]|0)}else{T=o+24|0;D=o+32|0;x=+fm(_[T>>2]|0,_[T+4>>2]|0,_[D>>2]|0,_[D+4>>2]|0);D=o+72|0;T=o+80|0;l=+fm(_[D>>2]|0,_[D+4>>2]|0,_[T>>2]|0,_[T+4>>2]|0);a[G+168+(_[G+108>>2]<<2)>>2]=x/l;T=o+40|0;D=o+48|0;x=+fm(_[T>>2]|0,_[T+4>>2]|0,_[D>>2]|0,_[D+4>>2]|0)/l;a[G+168+(_[G+112>>2]<<2)>>2]=x;D=o+56|0;T=o+64|0;l=+fm(_[D>>2]|0,_[D+4>>2]|0,_[T>>2]|0,_[T+4>>2]|0)/l}a[G+168+(_[G+104>>2]<<2)>>2]=l;l=+a[G+168>>2]*+a[G>>2]+ +a[G+16>>2];f=+a[G+168+4>>2]*+a[G+4>>2]+ +a[G+20>>2];p=+a[G+168+8>>2]*+a[G+8>>2]+ +a[G+24>>2];r=_[e+4>>2]|0;do{if((r|0)==(_[e+8>>2]|0)){m=r|0?r<<1:1;if((r|0)>=(m|0))break;if(!m)d=0;else{_[6293]=(_[6293]|0)+1;r=cc((m<<4|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}d=r;r=_[e+4>>2]|0}if((r|0)>0){c=0;do{T=d+(c<<4)|0;D=(_[e+12>>2]|0)+(c<<4)|0;_[T>>2]=_[D>>2];_[T+4>>2]=_[D+4>>2];_[T+8>>2]=_[D+8>>2];_[T+12>>2]=_[D+12>>2];c=c+1|0}while((c|0)!=(r|0))}r=_[e+12>>2]|0;if(r|0){if(n[e+16>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[r+-4>>2]|0)}_[e+12>>2]=0}n[e+16>>0]=1;_[e+12>>2]=d;_[e+8>>2]=m;r=_[e+4>>2]|0}}while(0);T=_[e+12>>2]|0;a[T+(r<<4)>>2]=l;a[T+(r<<4)+4>>2]=f;a[T+(r<<4)+8>>2]=p;a[T+(r<<4)+12>>2]=0.0;_[e+4>>2]=(_[e+4>>2]|0)+1;T=_[o+8>>2]|0;if(!T){c=y;R=v;o=w}else{M=T;D=-1;r=-1;R=y;i=v;o=w;while(1){I=M+20|0;d=_[I>>2]|0;if((d|0)<0){t=_[e+24>>2]|0;_[G+168>>2]=0;_[G+168+4>>2]=0;_[G+168+8>>2]=0;do{if((t|0)==(_[e+28>>2]|0)){y=t|0?t<<1:1;if((t|0)>=(y|0)){c=t;break}if(!y){c=0;m=t}else{_[6293]=(_[6293]|0)+1;c=cc((y*12|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}m=_[e+24>>2]|0}if((m|0)>0){d=0;do{w=c+(d*12|0)|0;v=(_[e+32>>2]|0)+(d*12|0)|0;_[w>>2]=_[v>>2];_[w+4>>2]=_[v+4>>2];_[w+8>>2]=_[v+8>>2];d=d+1|0}while((d|0)!=(m|0))}d=_[e+32>>2]|0;if(d|0){if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[d+-4>>2]|0)}_[e+32>>2]=0}n[e+36>>0]=1;_[e+32>>2]=c;_[e+28>>2]=y;c=_[e+24>>2]|0}else c=t}while(0);c=(_[e+32>>2]|0)+(c*12|0)|0;_[c>>2]=_[G+168>>2];_[c+4>>2]=_[G+168+4>>2];_[c+8>>2]=_[G+168+8>>2];c=(_[e+24>>2]|0)+1|0;_[e+24>>2]=c;_[G+168>>2]=0;_[G+168+4>>2]=0;_[G+168+8>>2]=0;do{if((c|0)==(_[e+28>>2]|0)){y=c|0?c<<1:1;if((c|0)>=(y|0))break;if(!y)m=0;else{_[6293]=(_[6293]|0)+1;c=cc((y*12|3)+16|0)|0;if(!c)c=0;else{_[(c+4+15&-16)+-4>>2]=c;c=c+4+15&-16}m=c;c=_[e+24>>2]|0}if((c|0)>0){d=0;do{w=m+(d*12|0)|0;v=(_[e+32>>2]|0)+(d*12|0)|0;_[w>>2]=_[v>>2];_[w+4>>2]=_[v+4>>2];_[w+8>>2]=_[v+8>>2];d=d+1|0}while((d|0)!=(c|0))}c=_[e+32>>2]|0;if(c|0){if(n[e+36>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[e+32>>2]=0}n[e+36>>0]=1;_[e+32>>2]=m;_[e+28>>2]=y;c=_[e+24>>2]|0}}while(0);w=(_[e+32>>2]|0)+(c*12|0)|0;_[w>>2]=_[G+168>>2];_[w+4>>2]=_[G+168+4>>2];_[w+8>>2]=_[G+168+8>>2];_[e+24>>2]=(_[e+24>>2]|0)+1;w=_[e+32>>2]|0;_[I>>2]=t;_[(_[M+8>>2]|0)+20>>2]=t+1;_[w+(t*12|0)+4>>2]=1;_[w+((t+1|0)*12|0)+4>>2]=-1;v=_[M+12>>2]|0;c=_[v+104>>2]|0;if((c|0)<0){_[v+104>>2]=o;do{if((o|0)==(R|0)){c=R|0?R<<1:1;if((R|0)>=(c|0)){c=R;d=i;y=S;break}do{if(!c)m=0;else{_[6293]=(_[6293]|0)+1;d=cc((c<<2|3)+16|0)|0;if(!d){m=0;break}_[(d+4+15&-16)+-4>>2]=d;m=d+4+15&-16}}while(0);if((R|0)>0){d=0;do{_[m+(d<<2)>>2]=_[i+(d<<2)>>2];d=d+1|0}while((d|0)!=(R|0));if(!s){d=m;y=m;s=m;break}}else if((i|0)==0|(s|0)==0){d=m;y=m;s=m;break}_[6294]=(_[6294]|0)+1;Mc(_[s+-4>>2]|0);d=m;y=m;s=m}else{c=R;d=i;y=S}}while(0);_[d+(o<<2)>>2]=v;v=o;o=o+1|0;m=y}else{v=c;c=R;d=i;m=S}_[w+(t*12|0)+8>>2]=v;_[w+((t+1|0)*12|0)+8>>2]=O;y=d;d=_[I>>2]|0}else{c=R;y=i;m=S}if((D|0)>-1)_[(_[e+32>>2]|0)+(d*12|0)>>2]=D-d;else r=d;M=_[M>>2]|0;if((M|0)==(T|0))break;else{D=d;R=c;i=y;S=m}}_[(_[e+32>>2]|0)+(r*12|0)>>2]=d-r;R=y;S=m}r=O+1|0;if((r|0)>=(o|0))break;O=r;y=c;v=R;w=o;o=_[R+(r<<2)>>2]|0}if((O|0)>-1){v=0;while(1){w=_[(_[R+(v<<2)>>2]|0)+8>>2]|0;if(w|0){y=w;do{m=y+20|0;r=_[m>>2]|0;if((r|0)>-1){o=_[e+44>>2]|0;do{if((o|0)==(_[e+48>>2]|0)){d=o|0?o<<1:1;if((o|0)>=(d|0))break;if(!d)r=0;else{_[6293]=(_[6293]|0)+1;r=cc((d<<2|3)+16|0)|0;if(!r)r=0;else{_[(r+4+15&-16)+-4>>2]=r;r=r+4+15&-16}o=_[e+44>>2]|0}c=_[e+52>>2]|0;if((o|0)<=0){if(c)H=180}else{s=0;do{_[r+(s<<2)>>2]=_[c+(s<<2)>>2];s=s+1|0}while((s|0)!=(o|0));H=180}if((H|0)==180){H=0;if(n[e+56>>0]|0){_[6294]=(_[6294]|0)+1;Mc(_[c+-4>>2]|0)}_[e+52>>2]=0;o=_[e+44>>2]|0}n[e+56>>0]=1;_[e+52>>2]=r;_[e+48>>2]=d;r=_[m>>2]|0}}while(0);_[(_[e+52>>2]|0)+(o<<2)>>2]=r;_[e+44>>2]=(_[e+44>>2]|0)+1;r=y;do{_[r+20>>2]=-1;r=_[(_[r+8>>2]|0)+4>>2]|0}while((r|0)!=(y|0))}y=_[y>>2]|0}while((y|0)!=(w|0))}if((v|0)==(O|0))break;else v=v+1|0}}if((R|0)==0|(S|0)==0)break;_[6294]=(_[6294]|0)+1;Mc(_[S+-4>>2]|0)}}while(0);Xh(G);u=G;return}function cx(e,t){e=e|0;t=+t;a[e+140>>2]=t;return}function dx(e,t){e=e|0;t=t|0;return(_[e+136>>2]|0)+(t*284|0)+92|0}function ex(e,t){e=e|0;t=t|0;return ov(e,t)|0}function fx(e,t,i,n,r,_){e=+e;t=+t;i=+i;n=+n;r=+r;_=+_;return+(e*n+t*r+i*_)}function gx(){var e=0;e=ur(24)|0;Pq(e);return e|0}function hx(e,t){e=e|0;t=t|0;Dp(e,t);return}function ix(e,t){e=e|0;t=+t;hB(e,t);return}function jx(e,t){e=e|0;t=+t;RB(e,t);return}function kx(e){e=e|0;ua[_[(_[e>>2]|0)+120>>2]&511](e);return}function lx(e){e=e|0;a[e>>2]=.30000001192092896;a[e+4>>2]=1.0;a[e+8>>2]=0.0;return}function mx(e,t){e=e|0;t=t|0;Nl(e,t);return}function nx(e){e=e|0;return JE(_[e+204>>2]|0)|0}function ox(e){e=e|0;return+ +GG(+a[e+536>>2])}function px(e,t){e=e|0;t=t|0;oq(e+4|0,t);return}function qx(e,t){e=e|0;t=t|0;Iw(t,e);return}function rx(e){e=e|0;Bq(e);nH(e);return}function sx(e,t){e=e|0;t=t|0;aa(2,e|0,t|0)|0;return}function tx(e,t){e=e|0;t=+t;XB(e,t);return}function ux(e,t){e=e|0;t=+t;Ly(e,t);return}function vx(e,t){e=e|0;t=+t;YB(e,t);return}function wx(e,t){e=e|0;t=+t;My(e,t);return}function xx(e,t){e=e|0;t=t|0;is(e,t);return}function yx(e,t){e=e|0;t=t|0;Fp(e,t);return}function zx(e){e=e|0;return+ +GG(+a[e+532>>2])}function Ax(e){e=e|0;return+ +GG(+a[e+104>>2])}function Bx(e){e=e|0;return+ +GC(+a[e+12>>2])}function Cx(e,t){e=e|0;t=t|0;n[e+32>>0]=t&1;return}function Dx(e){e=e|0;return AE(_[e+8>>2]|0)|0}function Ex(e,t){e=e|0;t=t|0;aa(1,e|0,t|0)|0;return}function Fx(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return xa[e&63](t|0,i|0,n|0)|0}function Gx(e){e=e|0;return TE(e)|0}function Hx(e,t){e=e|0;t=t|0;return+ +Dn(e,t)}function Ix(e,t){e=e|0;t=t|0;Fh(e,t,1);return}function Jx(e,t){e=e|0;t=t|0;nB(e,t);return}function Kx(e,t){e=e|0;t=t|0;_[e+8>>2]=t<<16>>16;return}function Lx(e){e=e|0;if(!e)e=0;else e=(ji(e,2736)|0)!=0;return e&1|0}function Mx(e){e=e|0;Fq(e);nH(e);return}function Nx(e,t){e=e|0;t=+t;MD(e,t);return}function Ox(e,t){e=e|0;t=t|0;Fl(e,t);return}function Px(e,t){e=e|0;t=+t;a[e+120>>2]=t;return}function Qx(e,t){e=e|0;t=t|0;Uz(e,t,+gD(t));return}function Rx(e,t){e=e|0;t=+t;a[e+64>>2]=t;return}function Sx(e,t){e=e|0;t=t|0;QB(e,t);return}function Tx(e,t){e=e|0;t=t|0;Ws(e,t);return}function Ux(e,t){e=e|0;t=t|0;wB(e,t);return}function Vx(e){e=e|0;return+ +GG(+a[e+272>>2])}function Wx(e,t){e=e|0;t=+t;a[e+116>>2]=t;return}function Xx(e,t){e=e|0;t=+t;a[e+128>>2]=t;return}function Yx(e,t){e=e|0;t=t|0;vB(e,t);return}function Zx(e,t){e=e|0;t=+t;a[e+36>>2]=t;return}function _x(e,t){e=e|0;t=t|0;_[e+12>>2]=t<<16>>16;return}function $x(e,t){e=e|0;t=t|0;return _[(_[e+236>>2]|0)+(t<<2)>>2]|0}function ay(e,t){e=e|0;t=+t;a[e+572>>2]=t;n[e+553>>0]=0;return}function by(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return+Ba[e&31](t|0,i|0,n|0)}function cy(e,t){e=e|0;t=+t;a[e+68>>2]=t;return}function dy(e,t){e=e|0;t=+t;xv(e,t);return}function ey(e,t){e=e|0;t=t|0;n[e+124>>0]=t&1;return}function fy(){var e=0;e=ur(12)|0;lx(e);return e|0}function gy(e,t){e=e|0;t=t|0;_[e+16>>2]=t<<16>>16;return}function hy(e){e=e|0;return ya[_[(_[e>>2]|0)+48>>2]&127](e)|0}function iy(e){e=e|0;Yu(e);_[e>>2]=2776;return}function jy(e,t){e=e|0;t=t|0;n[e+291>>0]=t&1;return}function ky(e){e=e|0;return ZE(_[e+204>>2]|0)|0}function ly(e){e=e|0;return+ +GG(+a[e+276>>2])}function my(e,t){e=e|0;t=t|0;return+ +Re(e,t)}function ny(e){e=e|0;return+ +GG(+a[e+124>>2])}function oy(){var e=0;e=ur(4)|0;KA(e);return e|0}function py(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return}function qy(e,t){e=e|0;t=+t;a[e+52>>2]=t;return}function ry(e,t){e=e|0;t=+t;HC(e,t);return}function sy(e,t){e=e|0;t=t|0;Lg(e,t);return}function ty(e,t){e=e|0;t=+t;wC(e,t);return}function uy(e){e=e|0;return ya[_[(_[e>>2]|0)+28>>2]&127](e)|0}function vy(e,t){e=e|0;t=t|0;return ku(e,t)|0}function wy(e,t){e=e|0;t=t|0;_[e+80>>2]=t;return}function xy(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return Ma[e&7](t|0,i|0,+n)|0}function yy(e,t){e=e|0;t=+t;a[e+60>>2]=t;return}function zy(e,t){e=e|0;t=t|0;ZB(e,t);return}function Ay(e){e=e|0;return+ +GG(+a[e+236>>2])}function By(e){e=e|0;return+ +a[e+136>>2]}function Cy(e){e=e|0;return _y(_[e+68>>2]|0)|0}function Dy(e){e=e|0;if((n[e>>0]|0)==1)e=0;else{n[e>>0]=1;e=1}return e|0}function Ey(e,t){e=e|0;t=t|0;Po(e,t);return}function Fy(e,t){e=e|0;t=t|0;n[e+80>>0]=t&1;return}function Gy(e){e=e|0;return+ +a[e+132>>2]}function Hy(e,t){e=e|0;t=t|0;return(_[e+136>>2]|0)+(t*284|0)|0}function Iy(e,t){e=e|0;t=t|0;cC(e,t);return}function Jy(e,t,i,n,r,_,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;o=o|0;J(23)}function Ky(e){e=e|0;return PB(e)|0}function Ly(e,t){e=e|0;t=+t;a[e+196>>2]=+bs(t);return}function My(e,t){e=e|0;t=+t;a[e+192>>2]=+bs(t);return}function Ny(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Za[e&127](t|0,i|0,n|0)}function Oy(e,t){e=e|0;t=t|0;oq(e+92|0,t);return}function Py(e,t){e=e|0;t=+t;a[e+104>>2]=t;return}function Qy(e){e=e|0;hi(e);nH(e);return}function Ry(e,t){e=e|0;t=+t;a[e+268>>2]=t;return}function Sy(e,t){e=e|0;t=+t;Kv(e,t);return}function Ty(e){e=e|0;return+ +GG(+a[e+232>>2])}function Uy(e){e=e|0;return+ +GG(+a[e+80>>2])}function Vy(e,t){e=e|0;t=t|0;_[t+780>>2]=0;return}function Wy(e,t){e=e|0;t=t|0;rj(e,t);return}function Xy(){_[5660]=1065353216;_[5661]=0;_[5662]=0;a[5663]=0.0;return}function Yy(e,t){e=e|0;t=t|0;xC(e,t);return}function Zy(e){e=e|0;return+ +Da[_[(_[e>>2]|0)+48>>2]&15](e)}function _y(e){e=e|0;return ya[_[(_[e>>2]|0)+36>>2]&127](e)|0}function $y(e){e=e|0;var t=0;t=u;u=u+e|0;u=u+15&-16;return t|0}function az(e,t){e=e|0;t=+t;a[e+92>>2]=t;return}function bz(e){e=e|0;return+ +a[e+140>>2]}function cz(e){e=e|0;return(n[e+32>>0]&1)!=0|0}function dz(e,t){e=e|0;t=t|0;n[e+250>>0]=t&1;return}function ez(e,t,i){e=e|0;t=t|0;i=i|0;if(!(_[e>>2]&32))tj(t,i,e);return}function fz(e,t){e=e|0;t=+t;a[e+72>>2]=t;return}function gz(e,t){e=e|0;t=t|0;or(e,t);return}function hz(e,t){e=e|0;t=t|0;return Pv(t)|0}function iz(e){e=e|0;return+ +GG(+a[e+228>>2])}function jz(e,t){e=e|0;t=+t;a[e+112>>2]=t;return}function kz(e,t){e=e|0;t=t|0;Lg(t,e);return}function lz(e,t){e=e|0;t=+t;a[e+56>>2]=t;return}function mz(e){e=e|0;return BF(e)|0}function nz(e){e=e|0;return CF(e)|0}function oz(e){e=e|0;return FF(e)|0}function pz(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;J(19);return 0}function qz(e,t){e=e|0;t=t|0;Wy(e,t);return}function rz(e,t){e=e|0;t=t|0;_[e+52>>2]=t&1;return}function sz(e,t,i){e=+e;t=+t;i=+i;return+ +fH(+Gz(e,t,i))}function tz(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;ka[e&15](t|0,+i,n|0)}function uz(e,t){e=e|0;t=t|0;if(!e)e=0;else e=Hj(e,t)|0;return e|0}function vz(e,t){e=e|0;t=+t;a[e+220>>2]=t;return}function wz(e,t){e=e|0;t=+t;Yv(e,t);return}function xz(e){e=e|0;return SA(_[e+220>>2]|0)|0}function yz(e,t){e=e|0;t=+t;a[e+100>>2]=t;return}function zz(e){e=e|0;return(n[e+124>>0]&1)!=0|0}function Az(e,t){e=e|0;t=+t;a[e+28>>2]=t;return}function Bz(e,t){e=e|0;t=t|0;n[e+24>>0]=t&1;return}function Cz(e,t){e=e|0;t=t|0;n[e+288>>0]=t&1;return}function Dz(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;Ga[e&7](t|0,i|0,+n)}function Ez(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=+n;r=r|0;_=_|0;J(20);return 0.0}function Fz(e,t){e=e|0;t=+t;a[e+224>>2]=t;return}function Gz(e,t,i){e=+e;t=+t;i=+i;return+ +fx(e,t,i,e,t,i)}function Hz(e){e=e|0;_[e>>2]=3024;PE(e+72|0);return}function Iz(e){e=+e;if(!(e<-1.0)){if(e>1.0)e=1.0}else e=-1.0;return+ +L(+e)}function Jz(e){e=e|0;return+ +a[e+120>>2]}function Kz(e,t){e=e|0;t=t|0;n[e+16>>0]=t&1;return}function Lz(e,t){e=e|0;t=t|0;_[e+20>>2]=t;return}function Mz(e){e=e|0;return JC(e)|0}function Nz(e,t){e=e|0;t=+t;a[e+204>>2]=t;return}function Oz(e,t){e=e|0;t=+t;a[e+208>>2]=t;return}function Pz(e){e=e|0;return+ +a[e+64>>2]}function Qz(e,t){e=e|0;t=+t;a[e+20>>2]=t;return}function Rz(e){e=e|0;return+ +a[e+116>>2]}function Sz(e){e=e|0;return+ +a[e+128>>2]}function Tz(e){e=e|0;return+ +a[e+36>>2]}function Uz(e,t,i){e=e|0;t=t|0;i=+i;Vm(e,t,1.0/i);return}function Vz(e){e=e|0;He(e);nH(e);return}function Wz(e){e=e|0;rD(e+4|0);_[e>>2]=0;return}function Xz(e,t){e=e|0;t=t|0;var i=0;i=AA(e|0)|0;return((t|0)==0?e:i)|0}function Yz(e){e=e|0;return+ +a[e+68>>2]}function Zz(e){e=e|0;return _[e+60>>2]|0}function _z(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return}function $z(e,t){e=e|0;t=+t;a[e+216>>2]=t;return}function aA(e){e=e|0;return(n[e+80>>0]&1)!=0|0}function bA(e){e=e|0;if(!e)return;bx(e);return}function cA(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return ue(e,t,i,n,0)|0}function dA(e,t){e=e|0;t=+t;a[e+248>>2]=t;return}function eA(e,t){e=e|0;t=t|0;n[e+260>>0]=t&1;return}function fA(e){e=e|0;return+ +a[e+52>>2]}function gA(e){e=e|0;ft(e);return}function hA(e){e=e|0;return WF(e)|0}function iA(e,t){e=e|0;t=t|0;n[e+25>>0]=t&1;return}function jA(e,t){e=e|0;t=t|0;_[e+72>>2]=t;return}function kA(e){e=e|0;dt(e,+gD(e))|0;return}function lA(e){e=e|0;return+ +XF(+a[e+12>>2])}function mA(e,t){e=e|0;t=t|0;_[e+8>>2]=t;return}function nA(e){e=e|0;Hz(e);bx(e);return}function oA(e){e=e|0;return+ +a[e+60>>2]}function pA(e){e=e|0;return TF(e)|0}function qA(e,t){e=e|0;t=t|0;_[e+220>>2]=t;return}function rA(e){e=e|0;return rH(_[e+84>>2]|0)|0}function sA(e,t){e=e|0;t=t|0;return+ +Lr(e,t)}function tA(e,t){e=e|0;t=+t;a[e+40>>2]=t;return}function uA(e){e=e|0;return _[e+8>>2]&65535|0}function vA(e,t){e=e|0;t=t|0;n[e+26>>0]=t&1;return}function wA(e,t){e=e|0;t=+t;a[e+32>>2]=t;return}function xA(e,t){e=e|0;t=t|0;n[e+84>>0]=t&1;return}function yA(e){e=e|0;Lh(e);nH(e);return}function zA(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;_=_|0;J(16)}function AA(e){e=e|0;return(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function BA(e,t){e=e|0;t=t|0;YD(e,t);return}function CA(e){e=e|0;return YF(e)|0}function DA(e){e=e|0;return rH(_[e+88>>2]|0)|0}function EA(e){e=e|0;return XC(e)|0}function FA(e){e=e|0;return(_[e+108>>2]|0)+4|0}function GA(e){e=e|0;return rH(_[e+780>>2]|0)|0}function HA(e,t){e=e|0;t=t|0;_[e+4>>2]=t;return}function IA(e){e=e|0;return _[e+12>>2]&65535|0}function JA(e){e=e|0;return _[e+80>>2]|0}function KA(e){e=e|0;sF(e);_[e>>2]=2920;return}function LA(e,t,i){e=e|0;t=t|0;i=i|0;return Pa[e&31](t|0,i|0)|0}function MA(e,t){e=e|0;t=+t;a[e+244>>2]=t;return}function NA(e,t){e=e|0;t=+t;a[e+240>>2]=t;return}function OA(e){e=e|0;return+ +a[e+104>>2]}function PA(e,t){e=e|0;t=t|0;return Mk(e,t)|0}function QA(e){e=e|0;return aG(e)|0}function RA(e){e=e|0;return _[e+16>>2]&65535|0}function SA(e){e=e|0;e=rH(e)|0;return(e|0)!=5&(e|0)!=2|0}function TA(e){e=e|0;jj(e);nH(e);return}function UA(e,t){e=e|0;t=t|0;n[e+524>>0]=t&1;return}function VA(e){e=e|0;_[e+4>>2]=(_[e+4>>2]|0)+-1;return}function WA(e,t){e=e|0;t=t|0;return e+(t*80|0)|0}function XA(e,t){e=e|0;t=+t;a[e+272>>2]=t;return}function YA(e,t){e=e|0;t=+t;a[e+212>>2]=t;return}function ZA(e,t){e=e|0;t=+t;a[e+228>>2]=t;return}function _A(e){e=e|0;return+ +a[e+268>>2]}function $A(e,t){e=e|0;t=t|0;return Hn(e,t)|0}function aB(e,t){e=e|0;t=t|0;return Gn(e,t)|0}function bB(e,t){e=e|0;t=t|0;return+ +so(e,t)}function cB(e){e=e|0;return+ +qw(e)}function dB(e,t){e=e|0;t=+t;a[e+252>>2]=t;return}function eB(e){e=e|0;return+ +a[e+96>>2]}function fB(e){e=e|0;return(_[e+52>>2]|0)!=0|0}function gB(e){e=e|0;Wz(e);_[e+72>>2]=0;return}function hB(e,t){e=e|0;t=+t;a[e+276>>2]=t;return}function iB(e,t){e=e|0;t=t|0;_[e+84>>2]=t;return}function jB(e){e=e|0;return rH(_[e+188>>2]|0)|0}function kB(e){e=e|0;return+ +a[e+92>>2]}function lB(e){e=e|0;return rH(_[e+120>>2]|0)|0}function mB(e){e=e|0;return(n[e+24>>0]&1)!=0|0}function nB(e,t){e=e|0;t=t|0;n[e+552>>0]=t&1;return}function oB(e,t,i){e=e|0;t=t|0;i=i|0;return 0}function pB(e,t,i,n,r,_){e=e|0;t=t|0;i=i|0;n=+n;r=r|0;_=_|0;J(3)}function qB(e){e=e|0;return+ +a[e+72>>2]}function rB(e){e=e|0;return rH(_[e+220>>2]|0)|0}function sB(e){e=e|0;return+ +a[e+112>>2]}function tB(e){e=e|0;lj(e);nH(e);return}function uB(e,t){e=e|0;t=t|0;return e+4+(t*192|0)|0}function vB(e,t){e=e|0;t=t|0;n[e+736>>0]=t&1;return}function wB(e,t){e=e|0;t=t|0;_[e+204>>2]=t;return}function xB(e,t){e=e|0;t=t|0;_[e+88>>2]=t;return}function yB(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;J(14);return 0.0}function zB(e,t){e=e|0;t=+t;a[e+232>>2]=t;return}function AB(e,t){e=e|0;t=+t;a[e+280>>2]=t;return}function BB(e,t){e=e|0;t=+t;a[e+236>>2]=t;return}function CB(e){e=e|0;return+ +a[e+272>>2]}function DB(e){e=e|0;return+ +a[e+56>>2]}function EB(e){e=e|0;return cG(e)|0}function FB(e){e=e|0;return rH(_[e+192>>2]|0)|0}function GB(e){e=e|0;return rH(_[e+204>>2]|0)|0}function HB(e){e=e|0;return rH(_[e+108>>2]|0)|0}function IB(e){e=e|0;return rH(_[e+112>>2]|0)|0}function JB(e,t){e=e|0;t=+t;return dt(e,t)|0}function KB(e){e=e|0;return rH(_[e+776>>2]|0)|0}function LB(e){e=e|0;return rH(_[e+772>>2]|0)|0}function MB(e){e=e|0;return(n[e+16>>0]&1)!=0|0}function NB(e,t){e=e|0;t=t|0;_[e>>2]=t;return}function OB(e){e=e|0;if(e>>>0>4294963200){_[7016]=0-e;e=-1}return e|0}function PB(e){e=e|0;return rH(_[e+328>>2]|0)|0}function QB(e,t){e=e|0;t=t|0;n[e+21>>0]=t&1;return}function RB(e,t){e=e|0;t=+t;a[e+684>>2]=t;return}function SB(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;J(10);return 0}function TB(e){e=e|0;return rH(_[e+24>>2]|0)|0}function UB(e){e=e|0;return rH(_[e+68>>2]|0)|0}function VB(e){e=e|0;return+ +a[e+28>>2]}function WB(e){e=e|0;return(e&1)!=0|0}function XB(e,t){e=e|0;t=+t;a[e+188>>2]=t;return}function YB(e,t){e=e|0;t=+t;a[e+184>>2]=t;return}function ZB(e,t){e=e|0;t=t|0;_[e+256>>2]=t;return}function _B(e,t,i,n,r,_){e=e|0;t=+t;i=+i;n=n|0;r=r|0;_=_|0;J(8)}function $B(e){e=e|0;return+ +a[e+220>>2]}function aC(e){e=e|0;return gG(e)|0}function bC(e){e=e|0;return+ +a[e+100>>2]}function cC(e,t){e=e|0;t=t|0;n[e+737>>0]=t&1;return}function dC(e,t,i,n,r){e=e|0;t=t|0;i=+i;n=n|0;r=r|0;J(33);return 0.0}function eC(e){e=e|0;VA(e);return}function fC(e,t){e=e|0;t=+t;a[e+256>>2]=t;return}function gC(e){e=e|0;return+ +a[e+224>>2]}function hC(e,t){e=e|0;t=t|0;return rr(e,t)|0}function iC(e,t){e=e|0;t=t|0;return qr(e,t)|0}function jC(e){e=e|0;return rH(_[e+256>>2]|0)|0}function kC(e){e=e|0;return rH(_[e+540>>2]|0)|0}function lC(e){e=e|0;return rH(_[e+116>>2]|0)|0}function mC(e){e=e|0;return+ +a[e+44>>2]}function nC(e){e=e|0;if(!e)return;nH(e);return}function oC(e){e=e|0;return(_[e+48>>2]|0)==1|0}function pC(e){e=e|0;mj(e);nH(e);return}function qC(e){e=e|0;Fj(e);nH(e);return}function rC(e,t){e=e|0;t=t|0;return(e|0)==(t|0)|0}function sC(e,t){e=e|0;t=t|0;if(!h){h=e;y=t}}function tC(e){e=e|0;return(n[e+260>>0]&1)!=0|0}function uC(e){e=e|0;return(n[e+25>>0]&1)!=0|0}function vC(e){e=e|0;return(_[e+96>>2]|0)+4|0}function wC(e,t){e=e|0;t=+t;a[e+440>>2]=t;return}function xC(e,t){e=e|0;t=t|0;_[e+264>>2]=t;return}function yC(e,t,i){e=e|0;t=t|0;i=i|0;ma[e&127](t|0,i|0)}function zC(e,t,i){e=e|0;t=t|0;i=+i;return+qa[e&1](t|0,+i)}function AC(e){e=e|0;return+ +a[e+276>>2]}function BC(e){e=e|0;return+ +a[e+208>>2]}function CC(e){e=e|0;return+ +a[e+20>>2]}function DC(e){e=e|0;return rH(_[e+264>>2]|0)|0}function EC(e){e=e|0;return+ +Lu(e)}function FC(e){e=+e;return(a[b>>2]=e,_[b>>2]|0)|0}function GC(e){e=+e;return+(+Iz(!(e>=0.0)?-e:e)*2.0)}function HC(e,t){e=e|0;t=+t;a[e+96>>2]=t;return}function IC(e){e=e|0;return rH(_[e+56>>2]|0)|0}function JC(e){e=e|0;return rH(_[e+20>>2]|0)|0}function KC(e){e=e|0;return+ +a[e+216>>2]}function LC(e,t){e=e|0;t=+t;KE(e,t);return}function MC(e){e=e|0;return(n[e+26>>0]&1)!=0|0}function NC(e){e=e|0;return _[e+20>>2]|0}function OC(e){e=e|0;return(n[e+84>>0]&1)!=0|0}function PC(e){e=e|0;return+(+a[e+32>>2]*+a[e+16>>2])}function QC(e){e=e|0;return+ +a[e+248>>2]}function RC(e){e=e|0;return mG(e)|0}function SC(e){e=e|0;return+ +a[e+8>>2]}function TC(e){e=e|0;return+ +a[e+204>>2]}function UC(e){e=e|0;bq(e);return}function VC(e){e=e|0;return rH(_[e+564>>2]|0)|0}function WC(e){e=e|0;Kn(e);return}function XC(e){e=e|0;return rH(_[e+128>>2]|0)|0}function YC(e,t,i){e=e|0;t=t|0;i=+i;return 0}function ZC(e){e=e|0;return _[e+92>>2]|0}function _C(e){e=e|0;qD(e+4|0);return}function $C(e,t){e=e|0;t=+t;_E(e,t);return}function aD(e,t){e=e|0;t=+t;$E(e,t);return}function bD(e,t){e=e|0;t=+t;rF(e,t);return}function cD(e){e=e|0;return+ +a[e+12>>2]}function dD(e){e=e|0;return+ +a[e+40>>2]}function eD(e){e=e|0;return rH(_[e>>2]|0)|0}function fD(e){e=e|0;return(_[e+52>>2]|0)+4|0}function gD(e){e=e|0;return+ +fH(+uE(e))}function hD(e){e=e|0;jG(e);_[e>>2]=3248;return}function iD(e){e=e|0;return+ +a[e+32>>2]}function jD(e,t,i){e=e|0;t=t|0;i=+i;pa[e&31](t|0,+i)}function kD(e){e=e|0;return+ +a[(ZG(e)|0)>>2]}function lD(e){e=e|0;return+ +a[(_G(e)|0)>>2]}function mD(e){e=e|0;return+ +a[(YG(e)|0)>>2]}function nD(e){e=e|0;return vG(e)|0}function oD(e){e=e|0;kA(e);return}function pD(e){e=e|0;return _[e+8>>2]|0}function qD(e){e=e|0;zD(e);return}function rD(e){e=e|0;KD(e);return}function sD(e){e=e|0;return _[e+216>>2]|0}function tD(e){e=e|0;return+ +a[e+244>>2]}function uD(e){e=e|0;return+ +a[e+240>>2]}function vD(e){e=e|0;return+ +uE(e)}function wD(e){e=e|0;return+ +a[e+4>>2]}function xD(e){e=e|0;return _[e+228>>2]|0}function yD(e){e=e|0;_[e+232>>2]=0;return}function zD(e){e=e|0;Uw(e);return}function AD(e,t,i){e=e|0;t=t|0;i=i|0;return}function BD(e,t){e=e|0;t=+t;a[e+76>>2]=t;return}function CD(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;J(0)}function DD(e){e=e|0;return rH(_[e+4>>2]|0)|0}function ED(e){e=e|0;return+ +a[e+212>>2]}function FD(e){e=e|0;return+ +a[e+228>>2]}function GD(e){e=e|0;return _G(e)|0}function HD(e){e=e|0;return e+76|0}function ID(e){e=e|0;return _[e+24>>2]|0}function JD(e){e=e|0;return _[e+208>>2]|0}function KD(e){e=e|0;Xv(e);return}function LD(e){e=e|0;return _[e+16>>2]|0}function MD(e,t){e=e|0;t=+t;a[e+16>>2]=t;return}function ND(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=+r;J(29)}function OD(e,t,i,n,r){e=e|0;t=t|0;i=+i;n=n|0;r=r|0;J(21)}function PD(e){e=e|0;return+ +a[e+252>>2]}function QD(e){e=e|0;return+ +gD(e)}function RD(e){e=e|0;return _[e+4>>2]|0}function SD(e){e=e|0;return e+96|0}function TD(e){e=e|0;return e+116|0}function UD(){var e=0;e=_[7015]|0;_[7015]=e+0;return e|0}function VD(e){e=e|0;return(e&3|0)!=0|0}function WD(e){e=e|0;return((e|0)==0?1:e<<1)|0}function XD(e,t){e=e|0;t=+t;a[e+48>>2]=t;return}function YD(e,t){e=e|0;t=t|0;_[e+564>>2]=t;return}function ZD(e){e=e|0;return e+156|0}function _D(e){e=e|0;return _[e+88>>2]|0}function $D(e){e=e|0;return e+44|0}function aE(e){e=e|0;return e+88|0}function bE(e){e=e|0;return e+108|0}function cE(){var e=0;e=_[2454]|0;_[2454]=e+0;return e|0}function dE(e){e=e|0;return 644}function eE(e){e=e|0;yh(e);nH(e);return}function fE(e){e=e|0;Ph(e);nH(e);return}function gE(e){e=e|0;Ni(e);nH(e);return}function hE(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;J(34);return 0.0}function iE(e){e=e|0;return+ +a[e+232>>2]}function jE(e){e=e|0;return+ +a[e+280>>2]}function kE(e){e=e|0;return+ +a[e+236>>2]}function lE(e){e=e|0;return e+40|0}function mE(e){e=e|0;return e+60|0}function nE(e){e=e|0;return e+100|0}function oE(e){e=e|0;return 348}function pE(e){e=e|0;return _[e+12>>2]|0}function qE(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;J(35);return 0}function rE(e){e=e|0;Hv(e);return}function sE(e){e=e|0;return e+132|0}function tE(e,t){e=e|0;t=t|0;return e+(t<<2)|0}function uE(e){e=e|0;return+ +so(e,e)}function vE(e){e=e|0;return+ +a[e+256>>2]}function wE(e){e=e|0;return+ +a[(rH(e)|0)>>2]}function xE(e){e=e|0;return e+348|0}function yE(e){e=e|0;return+ +a[e>>2]}function zE(e){e=e|0;return _[e>>2]|0}function AE(e){e=e|0;return(e|0)!=0|0}function BE(e){e=e|0;n[e+52>>0]=1;return}function CE(e,t){e=e|0;t=t|0;return ya[e&127](t|0)|0}function DE(e){e=e|0;return e+24|0}function EE(e){e=e|0;z_(e|0)|0;yp()}function FE(e){e=e|0;return _[e+1304>>2]|0}function GE(e){e=e|0;return+ +a[e+152>>2]}function HE(e){e=e|0;return e+64|0}function IE(e){e=e|0;return _[e+332>>2]|0}function JE(e){e=e|0;return(e&2|0)!=0|0}function KE(e,t){e=e|0;t=+t;a[e+12>>2]=t;return}function LE(e){e=e|0;return e+172|0}function ME(e){e=e|0;return 252}function NE(e){e=e|0;return+ +a[e+48>>2]}function OE(e){e=e|0;return _[e+96>>2]|0}function PE(e){e=e|0;_C(e);return}function QE(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;J(40);return 0}function RE(e){e=e|0;return e+52|0}function SE(e){e=e|0;return 28}function TE(e){e=e|0;return e+148|0}function UE(e){e=e|0;return _[e+100>>2]|0}function VE(e){e=e|0;return _[e+72>>2]|0}function WE(e,t){e=e|0;t=t|0;return+Da[e&15](t|0)}function XE(e){e=e|0;return e+112|0}function YE(e){e=e|0;return 212}function ZE(e){e=e|0;return(e&1|0)!=0|0}function _E(e,t){e=e|0;t=+t;a[e+8>>2]=t;return}function $E(e,t){e=e|0;t=+t;a[e+4>>2]=t;return}function aF(e){e=+e;return e<1.0|0}function bF(e,t){e=e|0;t=t|0;return 1}function cF(e){e=e|0;return _[e+300>>2]|0}function dF(e,t){e=e|0;t=t|0;u=e;d=t}function eF(e){e=e|0;return e+188|0}function fF(e){e=e|0;return e+56|0}function gF(e){e=e|0;return e+160|0}function hF(e){e=e|0;return 204}function iF(e){e=e|0;return _[e+748>>2]|0}function jF(e,t){e=e|0;t=t|0;return}function kF(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;J(41)}function lF(e){e=e|0;return e+68|0}function mF(e){e=e|0;return e+36|0}function nF(e){e=e|0;return 64}function oF(e){e=e|0;return 220}function pF(e){e=e|0;return 264}function qF(e){e=e|0;return+ +a[e+76>>2]}function rF(e,t){e=e|0;t=+t;a[e>>2]=t;return}function sF(e){e=e|0;_[e>>2]=2948;return}function tF(e){e=e|0;_[e>>2]=7384;return}function uF(e){e=e|0;return e+16|0}function vF(e){e=e|0;return 52}function wF(e){e=e|0;return 68}function xF(e){e=e|0;return 84}function yF(e){e=e|0;return+ +a[e+16>>2]}function zF(e,t){e=e|0;t=t|0;return e+(t<<4)|0}function AF(e){e=e|0;return rH(e)|0}function BF(e){e=e|0;return e+316|0}function CF(e){e=e|0;return e+300|0}function DF(e,t){e=e|0;t=t|0;ua[e&511](t|0)}function EF(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;J(36)}function FF(e){e=e|0;return e+32|0}function GF(e){e=e|0;return 24}function HF(e,t){e=e|0;t=t|0;return Xt(e,t)|0}function IF(e){e=e|0;return e+72|0}function JF(e){e=e|0;bx(e);return}function KF(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;J(9)}function LF(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;J(7)}function MF(e){e=e|0;nH(e+-4|0);return}function NF(e){e=e|0;wh(e);return}function OF(e,t,i){e=e|0;t=t|0;i=i|0;J(27);return 0.0}function PF(e,t){e=e|0;t=t|0;return 0}function QF(e){e=e|0;return 496}function RF(e,t,i){e=e|0;t=t|0;i=i|0;J(15);return 0}function SF(e){e=e|0;return e+80|0}function TF(e){e=e|0;return e+388|0}function UF(e){e=e|0;return 60}function VF(e){e=e|0;_[e>>2]=3180;return}function WF(e){e=e|0;return e+28|0}function XF(e){e=+e;return+(+Iz(e)*2.0)}function YF(e){e=e|0;return e+372|0}function ZF(e){e=e|0;_[e>>2]=3436;return}function _F(e){e=e|0;return(e&255)<<8|e>>8&255|0}function $F(e,t,i){e=e|0;t=t|0;i=+i;J(17);return 0}function aG(e){e=e|0;return e+92|0}function bG(e){e=e|0;return 25}function cG(e){e=e|0;return e+488|0}function dG(e){e=e|0;return 16393}function eG(e){e=e|0;return 16245}function fG(e){e=e|0;return 2}function gG(e){e=e|0;return e+472|0}function hG(){return Ds()|0}function iG(e,t){e=e|0;t=+t;return}function jG(e){e=e|0;_[e>>2]=3e3;return}function kG(e){e=e|0;return 17340}function lG(e){e=e|0;return 15560}function mG(e){e=e|0;return e+440|0}function nG(e){e=+e;return+ +Bg(e,6.2831854820251465)}function oG(e,t,i){e=e|0;t=t|0;i=i|0;J(37)}function pG(e){e=e|0;return 16981}function qG(e){e=e|0;return 0}function rG(e,t){e=+e;t=t|0;return+ +Cl(e,t)}function sG(){return ur(64)|0}function tG(e){e=e|0;return 16750}function uG(e){e=e|0;return 17409}function vG(e){e=e|0;return e+48|0}function wG(e){e=e|0;return 16149}function xG(e){e=e|0;return 1}function yG(e,t,i){e=e|0;t=t|0;i=+i;J(22)}function zG(e,t,i){e=e|0;t=+t;i=i|0;J(11)}function AG(e){e=e|0;return 16364}function BG(e){e=e|0;return 16335}function CG(e){e=e|0;return 17151}function DG(e){e=e|0;return 3}function EG(e){e=e|0;return El(e,27532)|0}function FG(e){e=e|0;return 17191}function GG(e){e=+e;return+e}function HG(e){e=e|0;return 16307}function IG(e){e=e|0;return 16006}function JG(e){e=e|0;return 15894}function KG(e){e=e|0;return 15867}function LG(e){e=e|0;return 15837}function MG(e){e=e|0;return 8}function NG(e){e=e|0;nH(e);return}function OG(e){e=e|0;return 16704}function PG(e,t){e=e|0;t=t|0;J(26);return 0}function QG(e){e=e|0;return 16085}function RG(e){e=e|0;return 16106}function SG(e){e=e|0;return 6}function TG(e){e=e|0;return 12}function UG(){return 4}function VG(e){e=e|0;return 16066}function WG(e,t){e=e|0;t=+t;J(31);return 0.0}function XG(e){e=e|0;return 15385}function YG(e){e=e|0;return e+12|0}function ZG(e){e=e|0;return e+8|0}function _G(e){e=e|0;return e+4|0}function $G(e){e=e|0;Xa[e&3]()}function aH(){return 2}function bH(){return 1}function cH(){return 5}function dH(){return 3}function eH(){ca()}function fH(e){e=+e;return+ +W(+e)}function gH(e){e=+e;return+ +G(+e)}function hH(e){e=+e;return+ +P(+e)}function iH(e){e=+e;return+ +A(+e)}function jH(e,t){e=e|0;t=t|0;J(4)}function kH(e){e=e|0;return}function lH(e){e=e|0;u=e}function mH(e,t){e=e|0;t=+t;J(1)}function nH(e){e=e|0;Mc(e);return}function oH(e){e=e|0;O=e}function pH(e){e=e|0;J(18);return 0.0}function qH(){return 27492}function rH(e){e=e|0;return e|0}function sH(e){e=e|0;J(6);return 0}function tH(){return O|0}function uH(){return u|0}function vH(e){e=e|0;J(2)}function wH(){return 0}function xH(){J(38)}var ba=[CD,Uk,kd,sd,Ov,gh,mf,Cd,Th,Ov,tc,rf,ec,xc,oc,ve,_b,Fc,_j,Vh,De,CD,CD,CD,CD,CD,CD,CD,CD,CD,CD,CD];var pa=[mH,on,vf,gd,yg,Ii,Zc,Nf,mo,de,wc,iG,Pk,MD,iG,BD,XD,Pk,XD,Wu,hn,mH,mH,mH,mH,mH,mH,mH,mH,mH,mH,mH];var ua=[vH,kH,NG,kH,NG,Fq,Mx,kH,NG,kH,NG,kH,NG,kH,NG,kH,NG,kH,JF,kH,NG,Hz,nA,Tc,BE,kH,kH,kH,NG,Bq,rx,kH,NG,kH,NG,no,nn,NG,ZF,Du,Sd,Du,kH,ZF,Du,kH,Du,xd,gm,Du,Du,Du,Ec,Du,ke,lf,Fs,yD,Du,cg,It,Ul,jt,kh,um,Eg,Gm,Ye,Lk,NG,jj,TA,yk,_k,yh,eE,NG,ui,fu,kH,fu,Ko,Zp,Ph,fE,kH,kH,NG,NG,NG,kj,it,kH,NG,NG,Ho,Rp,NG,Ao,An,Ni,gE,ld,kH,NG,kH,NG,kH,NG,NG,NG,NG,kH,NG,kH,MF,NG,NG,NG,NG,NG,NG,kH,NG,He,Vz,kH,NG,NG,NG,NG,NG,NG,NG,NG,NG,NG,kH,NG,vk,Zk,pj,Ct,NG,lj,tB,Sp,No,Qp,Mo,kH,NG,ep,Co,Qo,go,kH,NG,NG,NG,kH,bx,bx,bx,ql,nu,ii,bx,bx,bx,Bl,rl,Co,kH,NG,bx,bx,bx,tF,ju,NF,wu,NG,NG,Co,bx,kH,bx,rh,vu,kH,bx,NG,NG,Sk,om,Co,Co,kH,NG,NG,NG,NG,NG,Go,Cn,Om,Wn,bj,cu,og,Sn,kH,kH,kH,NG,kH,NG,NG,NG,kH,NG,NG,NG,NG,NG,Co,NG,wh,wu,$p,So,NG,Lh,yA,NG,hi,Qy,NG,Do,Bn,NG,np,$n,kH,NG,Fj,qC,NG,NG,NG,Up,Oo,mj,pC,qh,du,xo,xn,kH,NG,kH,kH,NG,NG,Ar,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH,vH];var da=[pB];var ma=[jH,Vp,sr,jF,jF,hp,mq,_m,Ex,sx,jF,Tk,zj,Qj,bk,aj,Cz,vq,vh,Pn,Uj,ad,Ve,vd,_f,zf,Pg,Ei,pc,ct,Me,Sg,qc,jA,lp,jf,dk,Ti,il,Oi,jr,Fg,nk,Fo,lw,Wv,lw,Wv,Cc,$b,jF,Ys,Um,$h,Ud,Lm,jF,jF,jF,$c,ml,pt,Vs,Vs,Jw,fw,Ne,Aj,Vy,Fm,Xm,sh,rq,jF,Wo,Bh,jF,Bj,ni,ni,Sj,Og,Zl,Xl,Gk,zr,Ld,Dm,uk,ot,mt,nt,sp,Eo,Sj,zr,Eq,fd,ed,Vo,Wq,jF,jF,Vg,Wg,mg,yi,Ln,bp,Ml,ni,Hm,fq,jm,jF,xi,oi,ni,jF,jF,jH,jH,jH,jH,jH,jH,jH,jH];var ha=[Nt,kc,Hc,Nt];var ya=[sH,fF,TG,bG,hy,Gr,nE,YE,vF,dE,ME,FE,oE,oF,iF,xF,IE,xG,hF,cF,VE,sD,xD,fG,QF,ZC,ZC,LD,LD,_G,qG,xG,OE,OE,LD,LD,_G,pD,qG,pE,mu,VE,VE,pF,pD,LD,uF,XG,vF,SG,MG,TG,SG,fD,lG,UF,LG,UF,qG,KG,JG,SF,IG,GF,VG,UF,QG,RG,wG,wF,UE,UE,qG,vC,eG,qG,qG,qG,HG,UF,BG,AG,XE,dG,xF,OG,IF,tG,vF,ID,oC,SE,pG,FG,fG,DG,DG,xG,CG,OE,xq,wq,gF,kG,xG,TE,JD,qG,xG,qG,uG,nF,fG,qG,qG,qG,qG,qG,xG,Zz,LD,ps,sH,sH,sH,sH,sH,sH];var ga=[LF,Em,ci,hj,zl,Un,ai,LF];var Ca=[_B];var va=[KF];var wa=[SB,Ik];var ka=[zG,cl,ht,Ok,Vi,bi,mi,Wh,ht,ro,ht,ht,Ng,Nk,zG,zG];var Sa=[Iv,kp];var ja=[St];var Ra=[yB,Ft,Ft,Ft,Ft,Ft,Pe,Os,Od,Te,Ft,yB,yB,yB,yB,yB];var xa=[RF,Km,cn,jp,Xg,nh,id,vg,Xe,af,pm,bh,If,oB,oB,Je,Yi,Jf,hl,Op,ye,ej,vj,fk,Mf,Lj,df,Nj,_g,Jj,he,gk,md,ck,eg,Xf,Ch,Fn,pk,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF,RF];var Ia=[zA,Gd,Fk,dl,ko,Bm,Zh,zA];var Ma=[$F,$l,YC,YC,Yg,YC,$F,$F];var Da=[pH,_n,yF,NE,qF,Ip,Hp,Ip,PC,GE,pH,pH,pH,pH,pH,pH];var Ta=[pz,Bd,jd,Sc];var Oa=[Ez,qj,qj,Ez];var Ha=[OD];var Ga=[yG,dr,ok,hc,ru,fv,yG,yG];var Wa=[Jy,Ef,lg,Jy];var Fa=[lv,Gi];var Aa=[eu,pl,pl,eu];var Pa=[PG,br,cr,fr,$x,$x,qm,qn,bF,bF,vn,Wp,Qw,Qm,qs,sk,Yp,ho,Mj,Gh,Zb,PF,Ps,pq,nq,PF,PF,PF,PF,PG,PG,PG];var Ba=[OF,ek,Bi,uj,fj,$g,Vl,cj,Yj,Yl,jn,$i,Dh,Sl,ll,yl,Vf,$f,Uf,OF,OF,OF,OF,OF,OF,OF,OF,OF,OF,OF,OF,OF];var La=[Et,Kl,cd,Et];var Va=[ND,uu];var Ea=[yu,fc,Tj,yu];var qa=[WG,Gv];var Qa=[_s];var za=[dC,gj,gj,dC];var Na=[hE,Jc];var Ua=[qE,mm,dh,iw,Ze,Kk,Hk,zn,Lf,sn,Io,Wl,Yk,Rk,Yh,Gc,Ku,In,ik,qE,qE,qE,qE,qE,qE,qE,qE,qE,qE,qE,qE,qE];var Ka=[EF,dc,py,we,Hd,bm,xl,py,Fi,be,EF,EF,EF,EF,EF,EF];var Za=[oG,AD,zi,jh,Ie,AD,AD,fi,Ke,Zm,AD,AD,AD,AD,Ai,hh,Zn,AD,Ro,bo,fo,Qk,AD,hw,gw,Rh,mh,Ge,nl,kn,wl,jl,Jk,Qg,bt,Ce,le,le,Zj,uh,AD,ih,Si,Zj,Ui,En,Zj,fh,AD,Zi,dm,em,cm,Dg,wj,As,Jm,Wm,Oj,Ij,Cp,up,jg,AD,AD,AD,AD,AD,AD,AD,Uh,ug,AD,AD,AD,AD,hd,AD,AD,AD,AD,Hh,eh,td,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG];var Xa=[xH,eH,oj,Rs];var Ja=[Lv,_c,pf,Lv];var Ya=[QE,Kh];var $a=[kF,Jl,_z,_z,_z,ac,vc,gf,ws,Hg,vt,Nm,Ci,Nm,Bk,ao,ag,qf,ee,Gs,Kr,Rf,Hl,rk,si,ol,of,Rj,dj,Jg,Id,Ah,Tg,Kg,Qs,xh,Zg,Mh,Kj,_z,Eh,_z,_z,pi,si,xk,qk,wk,zh,zc,Pd,ae,hg,Vk,gs,uo,Gf,Oc,$k,ri,Di,kf,Mi,tq,ut,Ej,os,fe,_z,Wf,ch,ne,un,_z,pn,Qs,_e,se,Xo,Ym,ak,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF];return{_emscripten_bind_btGhostObject_getFriction_0:iz,_emscripten_bind_btCylinderShape___destroy___0:Ev,_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:Sx,_emscripten_bind_btTypedConstraint_getParam_2:xu,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM:dH,_emscripten_bind_btQuaternion_dot_1:bB,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:Kz,_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:Fu,_emscripten_bind_btCollisionObject_isActive_0:xz,_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0:Tv,_emscripten_bind_btCompoundShape_updateChildTransform_2:tf,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1:cy,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:MD,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:yd,_emscripten_bind_btCapsuleShapeX_getMargin_0:Zy,_emscripten_bind_btCompoundShape_getMargin_0:Zy,_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:Xq,_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0:uF,_emscripten_bind_btRigidBody_setUserPointer_1:zy,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:HA,_emscripten_bind_btGImpactMeshShape_btGImpactMeshShape_1:Mt,_emscripten_bind_btRigidBody_getLinearVelocity_0:CA,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:IF,_emscripten_bind_btCollisionObject_getActivationState_0:rB,_emscripten_bind_btQuaternion_setX_1:bD,_emscripten_bind_btCylinderShapeZ_getMargin_0:Zy,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:cD,_emscripten_bind_btQuaternion_setZ_1:$C,_emscripten_bind_btCollisionObject_getUserIndex_0:DC,_emscripten_bind_AllConvexResultCallback_get_m_convexToWorld_0:RE,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:ZG,_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:sB,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:Dv,_emscripten_bind_btQuadWord_z_0:kD,_emscripten_bind_btTransform_setIdentity_0:UC,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:wf,_emscripten_bind_btGhostObject_getInterpolationAngularVelocity_0:Gx,_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:TC,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:KC,_emscripten_bind_btCapsuleShapeZ_getUpAxis_0:IC,_emscripten_bind_tScalarArray_pop_back_0:eC,_emscripten_bind_AllConvexResultCallback_get_m_hitPointWorld_0:aE,_emscripten_bind_btCapsuleShape_getRadius_0:EC,_emscripten_enum_PHY_ScalarType_PHY_UCHAR:cH,_emscripten_bind_btQuaternion_setW_1:LC,stackSave:uH,_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:lF,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:eB,_emscripten_bind_btCollisionDispatcher___destroy___0:Ev,_emscripten_bind_btRigidBody_applyCentralImpulse_1:kt,_emscripten_bind_btConvexHullShape_getMargin_0:Zy,_emscripten_bind_btRigidBody_setUserIndex_1:Yy,_emscripten_bind_btPairCachingGhostObject_getInterpolationLinearVelocity_0:$w,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:_t,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:Ns,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:lt,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:et,_emscripten_bind_btVector3_op_mul_1:Us,_emscripten_bind_btDynamicsWorld_rayTest_3:Gt,_btGImpactCollisionAlgorithm_RegisterAlgorithm:ig,_emscripten_bind_btCollisionObject_btCollisionObject_0:ng,_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:Ls,_emscripten_bind_btQuadWord_x_0:wE,_emscripten_bind_btGeneric6DofConstraint_setParam_3:Ot,_emscripten_bind_btCollisionObject_isKinematicObject_0:nx,_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:Cq,_emscripten_bind_btCollisionObject_getRollingFriction_0:Ay,_emscripten_bind_ConvexResultCallback___destroy___0:Ev,_emscripten_bind_btCompoundShape_updateChildTransform_3:yf,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:$u,_emscripten_bind_btQuaternion_getAngleShortestPath_0:Bx,_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:or,_emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0:pD,_emscripten_bind_btRigidBody_getFriction_0:iz,_emscripten_bind_btCollisionWorld_updateSingleAabb_1:Vv,_emscripten_bind_AllConvexResultCallback_get_m_collisionObjects_0:uF,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:sj,_emscripten_bind_btWheelInfoConstructionInfo___destroy___0:nC,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:Dj,_emscripten_bind_tScalarArray___destroy___0:Lw,_emscripten_bind_btCollisionObject_activate_1:Hr,_emscripten_bind_btCollisionObject_activate_0:Ss,_emscripten_bind_btCollisionWorld_removeCollisionObject_1:nv,_emscripten_bind_LayaMotionState_setWorldTransform_1:Jv,_emscripten_bind_AllConvexResultCallback_AllConvexResultCallback_2:Cs,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:KE,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:nj,_emscripten_bind_btVector3_setX_1:bD,_emscripten_bind_btCollisionConfiguration___destroy___0:Ev,_emscripten_bind_LayaMotionState_LayaMotionState_0:Zw,_emscripten_bind_btCapsuleShapeZ_setMargin_1:Yw,_emscripten_bind_AllHitsRayResultCallback_hasHit_0:Dx,_emscripten_bind_btActionInterface_updateAction_2:Iu,stackAlloc:$y,_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:ew,_emscripten_bind_btFixedConstraint___destroy___0:Ev,_emscripten_bind_btRaycastVehicle_updateSuspension_1:Dk,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:ar,_emscripten_bind_btVector3_setZ_1:$C,_emscripten_bind_btCapsuleShapeX_getHalfHeight_0:cB,_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:Ju,_emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0:nD,_emscripten_bind_btCollisionObject_getRestitution_0:Ty,_emscripten_bind_btQuaternion_setValue_4:Lo,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:mA,_emscripten_bind_btMotionState_setWorldTransform_1:Jv,_emscripten_bind_LocalShapeInfo___destroy___0:nC,_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:tu,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1:Rx,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:yE,_emscripten_bind_btDynamicsWorld_removeCollisionObject_1:nv,_emscripten_bind_btQuadWord_setY_1:aD,_emscripten_bind_btRigidBody_isKinematicObject_0:nx,_emscripten_bind_btRigidBody_getInterpolationAngularVelocity_0:Gx,_emscripten_bind_btConvexTriangleMeshShape_getMargin_0:Zy,_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:jz,_emscripten_bind_btVector4_rotate_2:Xn,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:_G,_emscripten_bind_btConeTwistConstraint_setDamping_1:ty,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:Df,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0:NE,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:QA,_emscripten_bind_btCylinderShape_setMargin_1:Yw,_emscripten_bind_btRaycastVehicle_rayCast_1:my,_emscripten_bind_btCollisionWorld___destroy___0:Ev,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:DE,_emscripten_bind_btBoxShape_btBoxShape_1:Jh,_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0:Rw,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:mA,_emscripten_bind_RaycastInfo_set_m_isInContact_1:xA,_emscripten_bind_btKinematicCharacterController_setGravity_1:Gl,_emscripten_bind_AllConvexResultCallback_set_m_collisionFilterMask_1:_x,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:$t,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:Xp,_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0:cB,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:zE,_emscripten_bind_btRigidBody_getInterpolationLinearVelocity_0:$w,_emscripten_bind_AllConvexResultCallback_get_m_convexFromWorld_0:mF,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:tD,_emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1:$E,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:Nx,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:ew,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM:UG,_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:Nx,_emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1:Hq,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:hA,_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:vw,_emscripten_bind_btVector3_length_0:Vw,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:kk,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:zk,_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:Tq,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:gy,_emscripten_bind_btPairCachingGhostObject_setInterpolationAngularVelocity_1:Eu,_emscripten_bind_btBoxShape_getMargin_0:Zy,_emscripten_bind_btPairCachingGhostObject___destroy___0:Ev,_emscripten_bind_btCollisionObject_setInterpolationLinearVelocity_1:Nu,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:cs,_emscripten_bind_btPairCachingGhostObject_activate_0:Ss,_emscripten_bind_btPairCachingGhostObject_activate_1:Hr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1:yy,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:DB,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:_x,_emscripten_bind_btSliderConstraint_setParam_3:Ot,_emscripten_bind_btPersistentManifold_getContactPoint_1:Nw,_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:qA,_emscripten_bind_btDefaultMotionState___destroy___0:Ev,_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:RD,_emscripten_bind_btRigidBody_applyGravity_0:yn,_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1:HA,_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:yz,_emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1:gy,_emscripten_bind_btRigidBody_clearForces_0:WC,_emscripten_bind_btQuadWord_setW_1:LC,_emscripten_bind_btFixedConstraint_getParam_2:xu,_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:bC,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:wm,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:NB,_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0:Tv,_emscripten_bind_btHingeConstraint_getParam_2:xu,_emscripten_bind_btRigidBody_setLinearFactor_1:Ox,_emscripten_bind_btRigidBody_setCollisionShape_1:Sv,_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:Cx,_emscripten_bind_btRaycastVehicle_getUpAxis_0:lC,_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:Ax,_emscripten_bind_btWheelInfo_get_m_engineForce_0:PD,_emscripten_bind_btDiscreteDynamicsWorld_getApplySpeculativeContactRestitution_0:Ht,_emscripten_bind_btRaycastVehicle_setSteeringValue_2:Pu,_emscripten_bind_btPoint2PointConstraint___destroy___0:Ev,_emscripten_bind_btCollisionShape_setMargin_1:Yw,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:Su,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:au,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:bv,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:Px,_emscripten_bind_btPairCachingGhostObject_setUserPointer_1:zy,_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2:xu,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0:oA,_emscripten_bind_btRaycastVehicle_getRightAxis_0:IB,_emscripten_bind_btContactSolverInfo_set_m_numIterations_1:Lz,_malloc:cc,_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:MC,_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1:Vv,_emscripten_bind_btTransform_btTransform_2:ou,_emscripten_bind_btTransform_btTransform_0:sG,_emscripten_bind_btPairCachingGhostObject_getUserIndex_0:DC,_emscripten_bind_btVector3_op_sub_1:hC,_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:YA,_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0:uy,_emscripten_bind_btQuaternion_length_0:QD,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:iA,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0:Pz,_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:vz,_emscripten_bind_btCollisionObject_setActivationState_1:Zu,_emscripten_bind_btQuaternion_angle_1:sA,_emscripten_bind_btPersistentManifold___destroy___0:bA,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:SC,_emscripten_bind_btCylinderShapeZ___destroy___0:Ev,_emscripten_bind_btMatrix3x3___destroy___0:nC,setTempRet0:oH,_emscripten_bind_btQuaternion_angleShortestPath_1:Hx,_emscripten_bind_ConvexResultCallback_hasHit_0:ax,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:tu,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:Nx,_emscripten_bind_btCollisionWorld_convexSweepTest_5:Kq,_emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0:wD,_emscripten_bind_btRaycastVehicle_getWheelInfo_1:Hy,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:Wq,_emscripten_bind_btVehicleRaycasterResult___destroy___0:nC,_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:tu,_emscripten_bind_btConstraintSetting_set_m_damping_1:$E,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:eA,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:ix,_emscripten_bind_btConvexHullShape_setMargin_1:Yw,_emscripten_bind_btRigidBody_applyForce_2:nw,_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:tu,_emscripten_bind_btConstraintSetting_set_m_tau_1:rF,_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:tu,_emscripten_bind_btGeneric6DofConstraint_getParam_2:xu,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:uF,_emscripten_bind_btQuaternion_op_div_1:JB,___uremdi3:tr,_emscripten_bind_RaycastInfo_get_m_contactPointWS_0:uF,_emscripten_bind_btRigidBody_getTotalTorque_0:EB,_emscripten_bind_btCapsuleShape_getHalfHeight_0:cB,_emscripten_bind_btSphereShape_calculateLocalInertia_2:tu,_emscripten_bind_btCollisionObject_setInterpolationAngularVelocity_1:Eu,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:Nx,_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:dv,_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:lE,_emscripten_bind_btGhostObject_setFriction_1:wz,_emscripten_bind_btCollisionWorld_rayTest_3:Gt,_emscripten_bind_btCollisionObject_setUserPointer_1:zy,stackRestore:lH,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:Sw,_emscripten_bind_btCylinderShapeZ_setMargin_1:Yw,_emscripten_bind_btRigidBody_setFriction_1:wz,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:Qq,_emscripten_bind_btGhostObject_setWorldTransform_1:sw,_emscripten_bind_LayaMotionState_getWorldTransform_1:Sv,_emscripten_bind_btManifoldPoint_getAppliedImpulse_0:ny,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:gv,_emscripten_bind_btConvexHullShape___destroy___0:Ev,_emscripten_bind_btCapsuleShape_getUpAxis_0:IC,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:UB,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:lw,_emscripten_bind_btVector4_setX_1:bD,_emscripten_bind_btRaycastVehicle_setPitchControl_1:ry,_emscripten_bind_btKinematicCharacterController_jump_1:uv,_emscripten_bind_btCollisionObject_getUserPointer_0:jC,_emscripten_bind_btWheelInfo_set_m_raycastInfo_1:ts,_emscripten_bind_btCollisionWorld_contactTest_2:nm,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:cv,_emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0:HD,_emscripten_bind_btRigidBody_upcast_1:hz,_emscripten_bind_btCollisionObject_getWorldTransform_0:GD,_emscripten_bind_btVector4_setZ_1:$C,_emscripten_bind_btQuadWord_y_0:lD,_emscripten_bind_AllConvexResultCallback_hasHit_0:ax,_emscripten_bind_btContactSolverInfo_set_m_solverMode_1:jA,_emscripten_bind_btTransform_setFromOpenGLMatrix_1:Tx,_emscripten_bind_btTransform_getBasis_0:AF,_emscripten_bind_btPairCachingGhostObject_setFriction_1:wz,_emscripten_bind_AllConvexResultCallback_set_m_hitFractions_1:pw,_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:vA,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:_y,_emscripten_bind_btVehicleRaycaster___destroy___0:Ev,_emscripten_bind_ClosestRayResultCallback___destroy___0:Ev,_emscripten_bind_btConeShapeX_getLocalScaling_0:uy,_emscripten_bind_btCylinderShapeX_setMargin_1:Yw,_emscripten_bind_AllConvexResultCallback_set_m_convexToWorld_1:Xq,_emscripten_bind_AllConvexResultCallback___destroy___0:Ev,_emscripten_bind_btQuadWord_w_0:mD,_emscripten_bind_btCompoundShape___destroy___0:Ev,_emscripten_bind_btAxisSweep3___destroy___0:Ev,_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:nm,_emscripten_bind_btKinematicCharacterController_setUp_1:$j,_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:tu,_emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1:Cu,_emscripten_bind_btCompoundShape_getNumChildShapes_0:Mz,_emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0:IA,_emscripten_bind_btCapsuleShape_setLocalScaling_1:ew,_emscripten_bind_btGhostObject_btGhostObject_0:bg,_emscripten_bind_btConeShape_btConeShape_2:vl,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:cx,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:wr,_emscripten_bind_btCapsuleShapeX_setMargin_1:Yw,_emscripten_bind_btRigidBody_getCcdMotionThreshold_0:ly,_emscripten_bind_AllConvexResultCallback_set_m_collisionObjects_1:Hu,_emscripten_bind_btVector3_dot_1:ys,_emscripten_bind_btGhostObject_getUserPointer_0:jC,_emscripten_bind_btVector4_op_add_1:iC,_emscripten_bind_btWheelInfo___destroy___0:nC,_emscripten_bind_btHingeConstraint_btHingeConstraint_4:Sf,_emscripten_bind_btTransform_setRotation_1:qz,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:Ky,_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:Sx,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:_x,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:ls,_emscripten_bind_btAxisSweep3_btAxisSweep3_3:yr,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:_E,_emscripten_bind_btVector3_setY_1:aD,_emscripten_bind_btAxisSweep3_btAxisSweep3_4:gr,_emscripten_bind_btAxisSweep3_btAxisSweep3_5:yq,_emscripten_bind_btQuadWord_setX_1:bD,_emscripten_bind_btCollisionObject_getFriction_0:iz,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:IA,_emscripten_bind_btConvexHullShape_addPoint_2:Nv,_emscripten_bind_btGhostPairCallback___destroy___0:Ev,_emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0:TD,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:Gy,_emscripten_bind_btGhostObject_isActive_0:xz,_emscripten_bind_btOverlappingPairCache___destroy___0:Ev,_emscripten_bind_btDefaultMotionState_getWorldTransform_1:Sv,_emscripten_bind_btContactSolverInfo_get_m_solverMode_0:VE,_emscripten_bind_btConstraintSetting___destroy___0:nC,_emscripten_bind_btWheelInfo_btWheelInfo_1:Cv,_emscripten_bind_RayResultCallback___destroy___0:Ev,_emscripten_bind_RayResultCallback_set_m_closestHitFraction_1:$E,_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:rH,_emscripten_bind_btPersistentManifold_getBody0_0:LB,_emscripten_bind_btConeShapeX_btConeShapeX_2:ul,_emscripten_bind_btRaycastVehicle_getForwardAxis_0:lB,_emscripten_bind_RaycastInfo_get_m_hardPointWS_0:mF,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:ew,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:wD,_emscripten_bind_AllConvexResultCallback_set_m_hitPointWorld_1:Fv,_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:tx,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:kg,_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0:Tv,_emscripten_bind_btConcaveShape___destroy___0:Ev,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:Tf,_emscripten_bind_btQuaternion_x_0:wE,_emscripten_bind_btCompoundShape_setMargin_1:Yw,_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1:wA,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:Yq,_emscripten_bind_btConcaveShape_setLocalScaling_1:ew,_emscripten_bind_btHingeConstraint_setParam_3:Ot,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:hA,_emscripten_bind_btConeShapeX_setLocalScaling_1:ew,_emscripten_bind_btQuaternion_z_0:kD,_emscripten_bind_btConvexHullShape_btConvexHullShape_0:mk,_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:dA,_emscripten_bind_btConstraintSetting_get_m_damping_0:wD,_emscripten_bind_btGhostObject___destroy___0:Ev,_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:QC,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:vx,_emscripten_bind_btCollisionWorld_getBroadphase_0:UB,_emscripten_bind_btCylinderShape_btCylinderShape_1:kv,_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:HA,_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:rz,_emscripten_bind_btRigidBody_getGravity_0:RC,_emscripten_bind_btKinematicCharacterController_updateAction_2:Iu,_emscripten_bind_btGImpactMeshShape___destroy___0:Ev,_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1:mA,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:mr,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:Ir,_emscripten_bind_btCompoundShape_getChildShape_1:vy,_emscripten_bind_btKinematicCharacterController_canJump_0:Tw,_emscripten_bind_btPairCachingGhostObject_setUserIndex_1:Yy,_emscripten_bind_btRigidBody_isActive_0:xz,_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:hk,_emscripten_enum_PHY_ScalarType_PHY_DOUBLE:bH,_emscripten_bind_btCylinderShape_setLocalScaling_1:ew,_emscripten_bind_btPairCachingGhostObject_getInterpolationAngularVelocity_0:Gx,_emscripten_bind_btCompoundShape_calculateLocalInertia_2:tu,_emscripten_bind_btGhostObject_getBroadphaseHandle_0:jB,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:hA,_emscripten_bind_btSliderConstraint_getParam_2:xu,_emscripten_bind_btConeShapeX___destroy___0:Ev,_emscripten_bind_btCollisionObject_getCollisionFlags_0:GB,_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:Bz,_emscripten_bind_btConeTwistConstraint_enableMotor_1:Jx,_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0:rH,_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:$s,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:Bp,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:Sy,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:ns,_emscripten_bind_btSphereShape___destroy___0:Ev,_emscripten_bind_btQuaternion_getAngle_0:lA,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:Rw,_emscripten_bind_btRigidBody_getActivationState_0:rB,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:Xx,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:vx,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:ix,_emscripten_bind_btHingeConstraint_setMotorTarget_2:_i,_emscripten_bind_btDiscreteDynamicsWorld_clearForces_0:kx,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:bz,_emscripten_bind_LocalConvexResult___destroy___0:nC,_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:Ev,setThrew:sC,_emscripten_bind_btConvexShape_getLocalScaling_0:uy,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:Ew,_emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1:_x,_emscripten_bind_btCollisionWorld_addCollisionObject_3:cs,_emscripten_bind_btRigidBody_getCollisionFlags_0:GB,_emscripten_bind_btCollisionShape_setLocalScaling_1:ew,_emscripten_bind_btRigidBody_applyTorque_1:Yt,_emscripten_bind_tVector3Array_size_0:DD,_emscripten_bind_btMatrix3x3_setEulerZYX_3:aw,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:Tz,_emscripten_bind_btRigidBody_getUserPointer_0:jC,_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1:Gu,_emscripten_bind_btConvexHullShape_setLocalScaling_1:ew,_emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0:DE,_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:tu,_emscripten_bind_AllConvexResultCallback_set_m_convexFromWorld_1:ir,_emscripten_bind_btRigidBody_setMotionState_1:xx,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:RA,_emscripten_bind_btCollisionWorld_getDispatcher_0:TB,_emscripten_bind_btVector4_dot_1:ys,_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:xE,_emscripten_bind_btCollisionObject_setRollingFriction_1:dy,_emscripten_bind_btCapsuleShape_getMargin_0:Zy,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:_x,_emscripten_bind_btVehicleRaycaster_castRay_3:wt,_i64Subtract:Lt,_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:dx,_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:GD,_emscripten_bind_btRigidBody_setDamping_2:Sm,_emscripten_bind_btDynamicsWorld_getDispatcher_0:TB,_emscripten_bind_btGhostObject_setCollisionFlags_1:Ux,_emscripten_bind_btMatrix3x3_getRotation_1:sy,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:Ux,_emscripten_bind_btWheelInfo_set_m_engineForce_1:dB,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:zw,_emscripten_bind_btPersistentManifold_getNumContacts_0:GA,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:ew,_emscripten_bind_btBoxShape_setMargin_1:Yw,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:Is,_emscripten_bind_tVector3Array_at_1:gp,_emscripten_bind_tVector3Array_pop_back_0:eC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:zz,_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0:aA,_emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0:jB,_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0:CB,_emscripten_bind_btPairCachingGhostObject_isStaticObject_0:ky,_emscripten_bind_btCylinderShape_calculateLocalInertia_2:tu,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:Sw,_emscripten_bind_btHingeConstraint_enableAngularMotor_3:iu,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:vx,_emscripten_bind_btGhostObject_isKinematicObject_0:nx,_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0:uy,_emscripten_bind_btRigidBody_applyImpulse_2:Uv,_emscripten_bind_btFixedConstraint_setParam_3:Ot,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:tu,_emscripten_bind_RaycastInfo_get_m_groundObject_0:_D,_emscripten_bind_btGImpactMeshShape_getLocalScaling_0:uy,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:HA,_emscripten_bind_btRigidBody_setAngularVelocity_1:_w,_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1:Fy,_emscripten_bind_btCapsuleShape___destroy___0:Ev,_emscripten_bind_btConvexShape_setLocalScaling_1:ew,_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:gC,_emscripten_bind_AllConvexResultCallback_get_m_collisionFilterMask_0:IA,___udivdi3:cA,_emscripten_bind_btRaycastVehicle_setUserConstraintId_1:Ww,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:vx,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:$u,_emscripten_bind_btCylinderShapeX_getLocalScaling_0:uy,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:RA,_emscripten_bind_RayResultCallback_hasHit_0:Dx,_bitshift64Shl:gt,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:By,_emscripten_bind_btCylinderShapeX_getMargin_0:Zy,_emscripten_bind_btQuaternion_normalize_0:oD,_emscripten_bind_btQuaternion___destroy___0:nC,_emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0:JA,_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:FD,_emscripten_bind_btConeShapeZ_setLocalScaling_1:ew,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:Zu,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:Ev,_emscripten_bind_btRaycastVehicle_getNumWheels_0:EA,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:KE,_emscripten_bind_tBtCollisionObjectArray_clear_0:zD,_emscripten_bind_btGhostObject_setRollingFriction_1:dy,_emscripten_bind_btBoxShape_getLocalScaling_0:uy,___muldi3:Qr,_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:fs,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:GD,_emscripten_bind_btCompoundShape_btCompoundShape_0:Mw,_emscripten_bind_btCompoundShape_btCompoundShape_1:rv,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:ev,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:Wk,__GLOBAL__sub_I_btQuickprof_cpp:Ic,_emscripten_bind_btConcaveShape_getLocalScaling_0:uy,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:Zx,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:IA,_emscripten_bind_btPairCachingGhostObject_setInterpolationLinearVelocity_1:Nu,_emscripten_bind_btRigidBody_updateInertiaTensor_0:Li,_emscripten_bind_tVector3Array_push_back_1:mx,_emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1:mA,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:pu,_emscripten_bind_tScalarArray_at_1:Rv,_emscripten_bind_btCollisionObject_getInterpolationLinearVelocity_0:$w,_emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2:vs,_emscripten_bind_btTransform_setOrigin_1:gz,_emscripten_bind_ClosestRayResultCallback_hasHit_0:Dx,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0:qF,_emscripten_bind_btCompoundShape_addChildShape_2:wd,_emscripten_bind_btDispatcher___destroy___0:Ev,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:wD,_llvm_bswap_i16:_F,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:Ev,_emscripten_bind_btConvexShape___destroy___0:Ev,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1:Tt,_emscripten_bind_btWheelInfo_set_m_brake_1:fC,_memmove:To,_emscripten_bind_btWheelInfo_set_m_worldTransform_1:Oy,_emscripten_bind_btDiscreteDynamicsWorld_setApplySpeculativeContactRestitution_1:Pt,_emscripten_bind_btConeTwistConstraint_setParam_3:Ot,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:ew,_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:lh,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:FB,_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0:FA,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP:bH,_emscripten_bind_btCollisionObject_setRestitution_1:Sy,_emscripten_bind_btRigidBody_applyCentralForce_1:xt,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:dD,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP:aH,_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:Nx,_emscripten_bind_btQuaternion_w_0:mD,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:uA,_emscripten_bind_btTransform_getRotation_0:oo,_emscripten_bind_btHingeConstraint_btHingeConstraint_6:Tp,_emscripten_bind_btHingeConstraint_btHingeConstraint_7:xp,_emscripten_bind_btCapsuleShapeZ_getMargin_0:Zy,_emscripten_bind_btHingeConstraint_btHingeConstraint_5:Of,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:zE,_emscripten_bind_btHingeConstraint_btHingeConstraint_3:sf,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:yw,_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3:Ot,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:jq,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:vG,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:GB,_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0:rH,_emscripten_bind_btTypedConstraint___destroy___0:Ev,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:Js,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:Su,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:Zr,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:qv,_emscripten_bind_btQuaternion_btQuaternion_4:jo,_emscripten_bind_AllHitsRayResultCallback___destroy___0:Ev,_emscripten_bind_btWheelInfo_set_m_rotation_1:BB,_emscripten_bind_btSphereShape_btSphereShape_1:xw,_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:AC,_emscripten_bind_btCapsuleShapeZ_getRadius_0:EC,_emscripten_bind_btQuaternion_y_0:lD,_emscripten_bind_btQuadWord_setZ_1:$C,_emscripten_bind_btPairCachingGhostObject_getCcdSweptSphereRadius_0:Vx,_emscripten_bind_btCollisionWorld_addCollisionObject_1:Uu,_emscripten_bind_btCollisionWorld_addCollisionObject_2:yt,_emscripten_bind_btCompoundShape_setLocalScaling_1:ew,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:Kx,_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:Nx,_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1:wr,_emscripten_bind_btOverlappingPairCallback___destroy___0:Ev,_emscripten_bind_btPairCachingGhostObject_getCcdMotionThreshold_0:ly,_emscripten_bind_btWheelInfo_get_m_skidInfo_0:jE,_emscripten_bind_btHeightfieldTerrainShape_setMargin_1:Yw,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:uA,_emscripten_bind_btCapsuleShape_setMargin_1:Yw,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:Oq,_emscripten_bind_btDynamicsWorld_contactTest_2:nm,_emscripten_bind_btCapsuleShapeX_getUpAxis_0:IC,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:ki,_emscripten_bind_btActionInterface___destroy___0:Ev,_emscripten_bind_AllConvexResultCallback_set_m_collisionFilterGroup_1:Kx,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:Jv,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:SC,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:pD,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:nz,_emscripten_bind_btGhostObject_getCcdSweptSphereRadius_0:Vx,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:ow,_emscripten_bind_btVector4_setY_1:aD,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1:lz,_emscripten_bind_ClosestConvexResultCallback___destroy___0:Ev,_emscripten_bind_btQuaternion_normalized_0:po,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:Uu,_emscripten_bind_btGhostObject_isStaticObject_0:ky,___cxa_can_catch:Kp,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:yt,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:TB,_emscripten_bind_LayaMotionState___destroy___0:Ev,_emscripten_bind_btVector3_rotate_2:Yn,_emscripten_bind_btHeightfieldTerrainShape___destroy___0:Ev,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:FF,_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:BC,_emscripten_bind_btVector4_op_mul_1:Us,_emscripten_bind_btQuaternion_op_mulq_1:PA,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1:ar,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1:Oq,_emscripten_bind_tBtCollisionObjectArray_size_0:DD,_emscripten_bind_btGhostObject_getUserIndex_0:DC,_emscripten_bind_btGImpactShapeInterface_getLocalScaling_0:uy,_emscripten_bind_btWheelInfo_set_m_deltaRotation_1:NA,_emscripten_bind_btVector3___destroy___0:bA,_emscripten_bind_RaycastInfo___destroy___0:nC,_emscripten_bind_btRigidBody_setAngularFactor_1:yx,_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:tu,_emscripten_bind_btGhostObject_setInterpolationLinearVelocity_1:Nu,_emscripten_bind_btConeShapeZ_getLocalScaling_0:uy,_emscripten_bind_btMotionState_getWorldTransform_1:Sv,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:QA,_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1:ar,_emscripten_bind_btDynamicsWorld_getBroadphase_0:UB,_emscripten_bind_btSphereShape_getMargin_0:Zy,_emscripten_bind_btVector3_x_0:wE,___cxa_is_pointer_type:Lx,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:Mm,_emscripten_bind_btCollisionObject_getCollisionShape_0:FB,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:VB,_emscripten_bind_btRigidBody_getRestitution_0:Ty,_emscripten_bind_btManifoldPoint___destroy___0:nC,_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:Py,_emscripten_bind_btVector4_length_0:Vw,_emscripten_bind_btGhostObject_setUserIndex_1:Yy,_emscripten_bind_btWheelInfo_getSuspensionRestLength_0:TC,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:px,_emscripten_bind_btGhostObject_setRestitution_1:Sy,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:Xw,_emscripten_bind_btCollisionObject_setFriction_1:wz,_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:Ev,_emscripten_bind_btRigidBody_setMassProps_2:Qi,getTempRet0:tH,_emscripten_bind_btVector3_setValue_3:_p,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:ix,_emscripten_bind_RaycastInfo_get_m_suspensionLength_0:iD,_emscripten_bind_btGhostObject_getCollisionFlags_0:GB,_emscripten_bind_btCapsuleShapeX___destroy___0:Ev,_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0:LE,_emscripten_bind_tScalarArray_push_back_1:us,_emscripten_bind_btGImpactShapeInterface_updateBound_0:gA,_emscripten_bind_btQuaternion_getAxis_0:wo,_emscripten_bind_btRaycastVehicle_getUserConstraintId_0:DA,_emscripten_bind_btRaycastVehicle_updateAction_2:Iu,_emscripten_bind_btHingeConstraint_setLimit_4:gu,_emscripten_bind_btHingeConstraint_setLimit_5:Bt,_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:Ev,_emscripten_bind_btRigidBody_setWorldTransform_1:sw,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:Oz,_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:hB,_emscripten_bind_AllConvexResultCallback_get_m_hitFractions_0:bE,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:Ky,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:Rw,_emscripten_bind_btGhostObject_getCollisionShape_0:FB,_emscripten_bind_btRigidBody_getTotalForce_0:aC,_emscripten_bind_btRigidBody_setInterpolationAngularVelocity_1:Eu,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:pu,_emscripten_bind_btBoxShape___destroy___0:Ev,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:tC,_emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0:nD,_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:Rw,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:Kx,_emscripten_bind_RaycastInfo_set_m_groundObject_1:xB,_emscripten_bind_btGhostObject_activate_1:Hr,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:Dq,_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0:uy,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:oz,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:vG,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:ey,_emscripten_bind_btCapsuleShapeZ___destroy___0:Ev,_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:Sx,_emscripten_bind_btSphereShape_setMargin_1:Yw,_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1:fz,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:tl,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:lz,_emscripten_bind_btRigidBody_setInterpolationLinearVelocity_1:Nu,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:ux,_emscripten_bind_btDynamicsWorld_contactPairTest_3:js,_emscripten_bind_btCollisionWorld_getPairCache_0:Cy,_emscripten_bind_btRigidBody_getAngularSleepingThreshold_0:ox,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:ar,_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:MA,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:Nx,_emscripten_enum_PHY_ScalarType_PHY_INTEGER:aH,_emscripten_bind_tBtCollisionObjectArray_at_1:iv,_emscripten_bind_btGhostObject_forceActivationState_1:qA,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:oy,_emscripten_bind_btGImpactMeshShape_updateBound_0:gA,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:kr,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:tu,_emscripten_bind_btGhostObject_getActivationState_0:rB,establishStackSpace:dF,_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:wr,_emscripten_bind_btCylinderShape_getLocalScaling_0:uy,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:dw,_emscripten_bind_btGImpactShapeInterface___destroy___0:Ev,_emscripten_bind_RaycastInfo_set_m_contactPointWS_1:ar,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:$r,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:DE,_emscripten_bind_btRaycastVehicle___destroy___0:Ev,_emscripten_bind_btRaycastVehicle_getRigidBody_0:HB,_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0:pD,_emscripten_bind_btSliderConstraint_enableFeedback_1:Sx,_emscripten_bind_btWheelInfo_get_m_steering_0:iE,_emscripten_bind_btConstraintSetting_get_m_tau_0:yE,_emscripten_bind_btConeShape_setLocalScaling_1:ew,_emscripten_bind_btCylinderShapeZ_getLocalScaling_0:uy,_emscripten_bind_btCollisionObject_setCollisionShape_1:Sv,_emscripten_bind_btCollisionShape___destroy___0:Ev,_emscripten_bind_btMatrix3x3_getRow_1:Ep,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:wD,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:pD,_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:OA,_emscripten_bind_btConeShape_getLocalScaling_0:uy,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:Sv,_emscripten_bind_btKinematicCharacterController_warp_1:tv,_emscripten_bind_tVector3Array_clear_0:zD,_emscripten_bind_btContactSolverInfo___destroy___0:nC,_emscripten_bind_btCapsuleShapeX_getRadius_0:EC,___muldsi3:Uo,_emscripten_bind_btTriangleMesh___destroy___0:Ev,_emscripten_bind_btKinematicCharacterController_preStep_1:jv,_emscripten_bind_AllConvexResultCallback_get_m_collisionFilterGroup_0:uA,_emscripten_bind_btRaycastVehicle_applyEngineForce_2:Qu,_emscripten_bind_btBoxShape_calculateLocalInertia_2:tu,_emscripten_bind_btRaycastVehicle_setBrake_2:pv,_emscripten_bind_ConcreteContactResultCallback___destroy___0:Ev,_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:hr,_emscripten_bind_btRigidBody_btRigidBody_1:Zf,_emscripten_bind_btRaycastVehicle_updateVehicle_1:bw,_emscripten_bind_btCollisionObject___destroy___0:Ev,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:_E,_emscripten_bind_btConvexTriangleMeshShape_setMargin_1:Yw,_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1:nv,_emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1:wy,_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:Rt,_emscripten_bind_btQuaternion_op_mul_1:Ms,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:rF,_emscripten_bind_btVector3_btVector3_3:rp,_emscripten_bind_btVector3_btVector3_0:hG,_emscripten_bind_btCollisionObject_getCcdSweptSphereRadius_0:Vx,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:Mn,_emscripten_bind_tBtCollisionObjectArray___destroy___0:Lw,_emscripten_bind_btVector3_z_0:kD,_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:HE,_emscripten_bind_btPersistentManifold_getBody1_0:KB,_emscripten_bind_btCollisionShape_getMargin_0:Zy,_emscripten_bind_btBroadphaseInterface___destroy___0:Ev,_emscripten_bind_btWheelInfo_updateWheel_2:di,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:kq,_emscripten_bind_btSphereShape_getLocalScaling_0:uy,_emscripten_bind_btConeTwistConstraint___destroy___0:Ev,_emscripten_bind_btQuadWord___destroy___0:nC,_emscripten_bind_btQuaternion_setEulerZYX_3:sv,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:Qq,_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:RE,_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:ZD,_emscripten_bind_btRigidBody_getLinearSleepingThreshold_0:zx,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:pu,_emscripten_bind_btConstraintSolver___destroy___0:Ev,_emscripten_bind_btDbvtBroadphase___destroy___0:Ev,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:$E,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:xm,_emscripten_bind_btTypedConstraint_enableFeedback_1:Sx,_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0:qB,_emscripten_bind_btGhostObject_activate_0:Ss,_emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0:wD,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:av,_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1:Ry,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:Sz,_emscripten_bind_btRigidBody_setAnisotropicFriction_2:pu,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:ew,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:$E,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:lr,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:gl,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:IA,_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:zs,_emscripten_bind_btVector4___destroy___0:bA,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:nx,_emscripten_bind_btPairCachingGhostObject_getActivationState_0:rB,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:gy,_i64Add:mv,_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:tu,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:Qz,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:ix,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:Pf,_emscripten_bind_btHeightfieldTerrainShape_getMargin_0:Zy,_emscripten_bind_btWheelInfo_get_m_brake_0:vE,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:Jz,_emscripten_bind_btWheelInfo_get_m_deltaRotation_0:uD,_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:mz,_emscripten_bind_btKinematicCharacterController_playerStep_2:bu,_emscripten_bind_btDispatcherInfo___destroy___0:nC,__GLOBAL__sub_I_btConeTwistConstraint_cpp:Xy,_emscripten_bind_btDbvtBroadphase_getOverlappingPairCache_0:_y,_emscripten_bind_btCapsuleShapeX_getLocalScaling_0:uy,_emscripten_bind_btCylinderShape_getMargin_0:Zy,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:ew,_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:tu,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:ew,_emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1:$E,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:FF,_emscripten_bind_btGhostObject_getWorldTransform_0:GD,_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:Cy,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:tA,_emscripten_bind_tScalarArray_clear_0:zD,_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:tu,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:yE,_emscripten_bind_btHingeConstraint_setAngularOnly_1:Yx,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:$E,_emscripten_bind_btDynamicsWorld___destroy___0:Ev,_emscripten_bind_btMotionState___destroy___0:Ev,_emscripten_bind_btCollisionObject_setCollisionFlags_1:Ux,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1:qy,_emscripten_bind_btPairCachingGhostObject_getRollingFriction_0:Ay,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:su,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:at,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:cs,_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:$z,_emscripten_bind_RaycastInfo_set_m_suspensionLength_1:wA,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:dv,_emscripten_bind_btVector4_setValue_4:Lo,_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1:Nx,_bitshift64Lshr:tt,_emscripten_bind_btWheelInfo_set_m_steering_1:zB,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:sw,_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0:Tv,_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:Rw,_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:nC,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:Sw,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:ij,_emscripten_bind_btConeTwistConstraint_setLimit_2:rw,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:Wi,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:tw,_emscripten_bind_btConeShapeX_calculateLocalInertia_2:tu,_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:UG,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:ex,_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0:uy,_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:nC,_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1:Zq,_emscripten_bind_btRigidBody_getWorldTransform_0:GD,_sbrk:On,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:Hw,_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:Oq,_memcpy:oh,_emscripten_bind_btGhostObject_setInterpolationAngularVelocity_1:Eu,_emscripten_bind_btRigidBody_getCcdSweptSphereRadius_0:Vx,_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:tu,_emscripten_bind_btRigidBody___destroy___0:Ev,_emscripten_bind_btVector3_y_0:lD,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:CC,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:ks,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:Cr,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:RD,_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:Kf,_emscripten_bind_btQuaternion_setRotation_2:kw,_emscripten_bind_btGhostObject_setCollisionShape_1:Sv,_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:Az,_emscripten_bind_btRigidBody_setRollingFriction_1:dy,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:dy,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:zv,_emscripten_get_global_libc:qH,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:rF,_emscripten_bind_btVector4_z_0:kD,_emscripten_bind_btCollisionObject_forceActivationState_1:qA,_emscripten_bind_btKinematicCharacterController_onGround_0:hy,_free:Mc,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:Rw,_emscripten_bind_btRaycastVehicle_updateFriction_1:$v,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:_x,_emscripten_bind_btVector3_normalize_0:rE,_emscripten_bind_btStridingMeshInterface___destroy___0:Ev,runPostSets:Kt,_emscripten_bind_btRigidBody_setSleepingThresholds_2:_v,_emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0:RA,_emscripten_bind_btCollisionObject_setWorldTransform_1:sw,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:RD,_emscripten_bind_btCollisionObject_getBroadphaseHandle_0:jB,_emscripten_bind_btRigidBody_getUserIndex_0:DC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:kB,_emscripten_bind_tScalarArray_size_0:DD,_emscripten_bind_btRigidBody_getAabb_2:ms,_emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0:$D,_emscripten_bind_btConvexShape_setMargin_1:Yw,_emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0:SD,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:Rz,_emscripten_bind_btRigidBody_activate_1:Hr,_emscripten_bind_btGhostObject_getInterpolationLinearVelocity_0:$w,_emscripten_bind_btCompoundShape_getLocalScaling_0:uy,_emscripten_bind_btFixedConstraint_btFixedConstraint_4:Dd,_emscripten_bind_btGImpactMeshShape_calculateLocalInertia_2:tu,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1:BD,_emscripten_bind_btGhostObject_setActivationState_1:Zu,_emscripten_bind_btGhostObject_getRollingFriction_0:Ay,_emscripten_bind_btCollisionWorld_contactPairTest_3:js,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:MB,_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:jx,_emscripten_bind_btCollisionObject_setUserIndex_1:Yy,_emscripten_bind_btCylinderShapeX___destroy___0:Ev,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:Wx,_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:nD,_emscripten_bind_ContactResultCallback___destroy___0:Ev,_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:cz,_emscripten_bind_btVector4_x_0:wE,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:fy,_emscripten_bind_btRigidBody_getMotionState_0:kC,_emscripten_bind_btKinematicCharacterController_getGhostObject_0:pD,_emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1:Av,_emscripten_bind_btTriangleMeshShape___destroy___0:Ev,_llvm_cttz_i32:op,_emscripten_bind_btDynamicsWorld_removeAction_1:Wv,_emscripten_bind_AllConvexResultCallback_get_m_closestHitFraction_0:wD,_emscripten_bind_btManifoldPoint_get_m_localPointA_0:rH,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:qu,_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1:wr,_emscripten_bind_btStaticPlaneShape_getLocalScaling_0:uy,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:Tq,_emscripten_bind_btTriangleMeshShape_getLocalScaling_0:uy,_emscripten_bind_btGhostObject_setUserPointer_1:zy,_emscripten_bind_btKinematicCharacterController_getGravity_0:qo,___udivmoddi4:ue,_emscripten_enum_PHY_ScalarType_PHY_SHORT:dH,_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:Rw,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:Tu,_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0:iD,_emscripten_bind_btQuaternion_op_sub_1:$A,_emscripten_bind_btVector4_normalize_0:rE,_emscripten_bind_btQuaternion_setY_1:aD,_emscripten_bind_btConeShape_calculateLocalInertia_2:tu,_emscripten_bind_btDispatcher_getNumManifolds_0:_y,_emscripten_bind_btGImpactShapeInterface_setLocalScaling_1:ew,_llvm_bswap_i32:AA,_emscripten_bind_AllConvexResultCallback_set_m_hitNormalWorld_1:Bv,_emscripten_bind_btRaycastVehicle_getForwardVector_0:rn,_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:st,_emscripten_bind_btConeTwistConstraint_enableFeedback_1:Sx,_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1:XA,_emscripten_bind_btSphereShape_setLocalScaling_1:ew,_emscripten_bind_btPoint2PointConstraint_getParam_2:xu,_emscripten_bind_btVector4_w_0:mD,_emscripten_bind_btWheelInfo_get_m_worldTransform_0:aG,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:HE,_emscripten_bind_btBvhTriangleMeshShape___destroy___0:Ev,_emscripten_bind_btDefaultVehicleRaycaster_castRay_3:wt,_emscripten_bind_btPoint2PointConstraint_setParam_3:Ot,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:cq,_emscripten_bind_btContactSolverInfo_get_m_numIterations_0:NC,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0:fA,_emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1:vv,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:ev,_emscripten_bind_btVector4_y_0:lD,_emscripten_bind_btRaycastVehicle_getUserConstraintType_0:rA,_emscripten_bind_btGeneric6DofConstraint___destroy___0:Ev,_emscripten_bind_VoidPtr___destroy___0:nC,_emscripten_bind_btRigidBody_getBroadphaseHandle_0:jB,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:cD,_emscripten_bind_btConvexHullShape_addPoint_1:Ix,_emscripten_bind_btCollisionShape_getLocalScaling_0:uy,_emscripten_bind_btQuaternion_length2_0:vD,_emscripten_bind_btRaycastVehicle_resetSuspension_0:Xk,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:Rw,_emscripten_bind_btRigidBody_activate_0:Ss,_emscripten_bind_btTransform_getOrigin_0:nD,_emscripten_bind_btBroadphaseProxy___destroy___0:bA,_emscripten_bind_btRigidBody_isStaticObject_0:ky,_emscripten_bind_tBtCollisionObjectArray_pop_back_0:eC,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:wx,_emscripten_bind_btHingeConstraint___destroy___0:Ev,_emscripten_bind_btPairCachingGhostObject_getUserPointer_0:jC,_emscripten_bind_ContactResultCallback_addSingleResult_7:kq,_emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0:mE,_emscripten_bind_btHingeConstraint_enableFeedback_1:Sx,_emscripten_bind_btConvexShape_calculateLocalInertia_2:tu,_memset:Wj,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:av,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:fF,_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0:RD,_emscripten_bind_btTriangleMesh_btTriangleMesh_0:Zv,_emscripten_bind_btTriangleMesh_btTriangleMesh_1:Ou,_emscripten_bind_btTriangleMesh_btTriangleMesh_2:Wt,_emscripten_bind_btCollisionObject_isStaticObject_0:ky,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:ZA,_emscripten_bind_btRigidBody_getCollisionShape_0:FB,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:or,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:Mv,_emscripten_bind_AllConvexResultCallback_set_m_closestHitFraction_1:$E,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:uF,_emscripten_bind_btQuaternion_inverse_0:vo,_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:js,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:IA,_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:vx,_emscripten_bind_btRigidBody_getAngularVelocity_0:pA,_emscripten_bind_AllConvexResultCallback_get_m_hitNormalWorld_0:lF,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:HC,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:Sw,_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:ED,_emscripten_bind_btRigidBody_setLinearVelocity_1:hx,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0:uF,_emscripten_bind_btRigidBody_getFlags_0:VC,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:gx,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:mA,_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:Lq,_emscripten_bind_btGhostObject_getRestitution_0:Ty,_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:Fz,_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0:_A,_emscripten_bind_btDynamicsWorld_addAction_1:lw,_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:Wv,_emscripten_bind_btPairCachingGhostObject_getFriction_0:iz,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:uw,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:az,_emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1:mw,_emscripten_bind_btRigidBody_setGravity_1:hm,_emscripten_bind_btWheelInfo_get_m_rotation_0:kE,_emscripten_enum_PHY_ScalarType_PHY_FLOAT:wH,_emscripten_bind_btWheelInfo_set_m_skidInfo_1:AB,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1:XD,_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:Az,_emscripten_bind_btRigidBody_setActivationState_1:Zu,_emscripten_bind_btGImpactMeshShape_setLocalScaling_1:ew,_emscripten_bind_ClosestConvexResultCallback_hasHit_0:ax,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:Ev,_emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1:Mq,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0:Yz,_emscripten_bind_btConeTwistConstraint_getParam_2:xu,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:pD,_emscripten_bind_btTriangleMesh_addTriangle_3:Im,_emscripten_bind_btGhostObject_getOverlappingObject_1:ex,_emscripten_bind_btTriangleMesh_addTriangle_4:Am,_emscripten_bind_btGImpactShapeInterface_calculateLocalInertia_2:tu,_emscripten_bind_btRigidBody_applyTorqueImpulse_1:rt,_emscripten_bind_btVector3_op_add_1:iC,_emscripten_bind_btRigidBody_setCollisionFlags_1:Ux,_emscripten_bind_btFixedConstraint_enableFeedback_1:Sx,_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:Nz,_emscripten_bind_btRaycastVehicle_setUserConstraintType_1:Fw,_emscripten_bind_btConeShape___destroy___0:Ev,_emscripten_bind_btCapsuleShape_getLocalScaling_0:uy,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:vm,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:uC,_emscripten_bind_btSliderConstraint_btSliderConstraint_5:Qe,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:Rd,_emscripten_bind_btTransform___destroy___0:nC,_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0:eF,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:Kq,_emscripten_bind_btSliderConstraint___destroy___0:Ev,_emscripten_bind_btRigidBody_forceActivationState_1:qA,_emscripten_bind_btPoint2PointConstraint_setPivotB_1:Gw,_emscripten_bind_btManifoldPoint_getDistance_0:Uy,_emscripten_bind_RayResultCallback_get_m_closestHitFraction_0:wD,_emscripten_bind_RaycastInfo_set_m_hardPointWS_1:ir,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:mC,_emscripten_bind_btDynamicsWorld_updateSingleAabb_1:Vv,_emscripten_bind_btRigidBody_getRollingFriction_0:Ay,_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:$B,_emscripten_bind_btRaycastVehicle_addWheel_7:Fd,_emscripten_bind_btQuaternion_op_add_1:aB,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:Gq,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2:Xs,_emscripten_bind_btStaticPlaneShape___destroy___0:Ev,_emscripten_bind_btHingeConstraint_enableMotor_1:Iy,_emscripten_bind_btPairCachingGhostObject_getRestitution_0:Ty,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:ew,_emscripten_bind_btBoxShape_setLocalScaling_1:ew,_emscripten_bind_btConeShapeZ___destroy___0:Ev,_emscripten_bind_btDynamicsWorld_getPairCache_0:Cy,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0:FF,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:Kq,_emscripten_bind_RaycastInfo_get_m_isInContact_0:OC,_emscripten_bind_btRigidBody_setRestitution_1:Sy,_emscripten_bind_btVector4_btVector4_0:hG,_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:mB,_emscripten_bind_btCollisionObject_getCcdMotionThreshold_0:ly,_emscripten_bind_btVector4_btVector4_4:io,_emscripten_bind_btConvexHullShape_getLocalScaling_0:uy,_emscripten_bind_tVector3Array___destroy___0:Lw,_emscripten_bind_btKinematicCharacterController___destroy___0:Ev,_emscripten_bind_btRigidBody_setFlags_1:BA,_emscripten_bind_btGhostObject_getCcdMotionThreshold_0:ly,_emscripten_bind_btTypedConstraint_setParam_3:Ot,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:NB,_emscripten_bind_btVector4_op_sub_1:hC,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:Tu,_emscripten_bind_tBtCollisionObjectArray_push_back_1:Tr,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:Gt,_emscripten_bind_btWheelInfo_get_m_raycastInfo_0:rH,_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:fB,_emscripten_bind_btConvexShape_getMargin_0:Zy,_emscripten_bind_btRaycastVehicle_getSteeringValue_1:cw,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0:DB,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:tA,_emscripten_bind_btPairCachingGhostObject_isActive_0:xz,_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1:Nq,_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:yF,_emscripten_bind_btCollisionObject_getInterpolationAngularVelocity_0:Gx,stackAlloc:$y,stackSave:uH,stackRestore:lH,establishStackSpace:dF,setThrew:sC,setTempRet0:oH,getTempRet0:tH,dynCall_viiiii:lu,dynCall_vid:jD,dynCall_vi:DF,dynCall_viiidii:qt,dynCall_vii:yC,dynCall_iiiiiiiiiii:tp,dynCall_ii:CE,dynCall_viidi:Cw,dynCall_viddiii:Dt,dynCall_vidii:Dw,dynCall_iiiiii:Qt,dynCall_vidi:tz,dynCall_diiiiiiii:$q,dynCall_viiiiddddiid:Gp,dynCall_diiiii:Vt,dynCall_iiii:Fx,dynCall_viiiiii:Zs,dynCall_iiid:xy,dynCall_di:WE,dynCall_iiiiiii:Es,dynCall_diiidii:Ts,dynCall_viidii:Bu,dynCall_viid:Dz,dynCall_viiiiiii:Sr,dynCall_viiiiiiiii:sq,dynCall_viiiiiiiiii:Jp,dynCall_iii:LA,dynCall_diii:by,dynCall_diiiiiiiiii:wp,dynCall_viiiid:Au,dynCall_diiiiiiiii:hq,dynCall_did:zC,dynCall_viiiidddddidi:Yo,dynCall_diidii:hu,dynCall_diiii:yv,dynCall_iiiii:hv,dynCall_viiid:ww,dynCall_viii:Ny,dynCall_v:$G,dynCall_iiiiiiiii:Uq,dynCall_iidid:jw,dynCall_viiii:Qv}}(i.C,i.D,g),He=i._emscripten_bind_btGhostObject_getFriction_0=Oe._emscripten_bind_btGhostObject_getFriction_0,Ge=i._emscripten_bind_btCylinderShape___destroy___0=Oe._emscripten_bind_btCylinderShape___destroy___0,We=i._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=Oe._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1,Fe=i._emscripten_bind_btTypedConstraint_getParam_2=Oe._emscripten_bind_btTypedConstraint_getParam_2,Ae=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM=Oe._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM,Pe=i._emscripten_bind_btQuaternion_dot_1=Oe._emscripten_bind_btQuaternion_dot_1,Be=i._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=Oe._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1,Le=i._emscripten_bind_btKinematicCharacterController_setWalkDirection_1=Oe._emscripten_bind_btKinematicCharacterController_setWalkDirection_1,Ve=i._emscripten_bind_btCollisionObject_isActive_0=Oe._emscripten_bind_btCollisionObject_isActive_0,Ee=i._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=Oe._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0,qe=i._emscripten_bind_btCompoundShape_updateChildTransform_2=Oe._emscripten_bind_btCompoundShape_updateChildTransform_2,Qe=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1,ze=i._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=Oe._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1,Ne=i._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=Oe._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4,Ue=i._emscripten_bind_btCapsuleShapeX_getMargin_0=Oe._emscripten_bind_btCapsuleShapeX_getMargin_0,Ke=i._emscripten_bind_btCompoundShape_getMargin_0=Oe._emscripten_bind_btCompoundShape_getMargin_0,Ze=i._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=Oe._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1,Xe=i._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=Oe._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0,Je=i._emscripten_bind_btRigidBody_setUserPointer_1=Oe._emscripten_bind_btRigidBody_setUserPointer_1,Ye=i._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=Oe._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1,$e=i._emscripten_bind_btGImpactMeshShape_btGImpactMeshShape_1=Oe._emscripten_bind_btGImpactMeshShape_btGImpactMeshShape_1,et=i._emscripten_bind_btRigidBody_getLinearVelocity_0=Oe._emscripten_bind_btRigidBody_getLinearVelocity_0,tt=i._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=Oe._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0,it=i._emscripten_bind_btCollisionObject_getActivationState_0=Oe._emscripten_bind_btCollisionObject_getActivationState_0,nt=i._emscripten_bind_btQuaternion_setX_1=Oe._emscripten_bind_btQuaternion_setX_1,rt=(m=i._emscripten_bind_btCylinderShapeZ_getMargin_0=Oe._emscripten_bind_btCylinderShapeZ_getMargin_0,i._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=Oe._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0),_t=i._emscripten_bind_btQuaternion_setZ_1=Oe._emscripten_bind_btQuaternion_setZ_1,ot=i._emscripten_bind_btCollisionObject_getUserIndex_0=Oe._emscripten_bind_btCollisionObject_getUserIndex_0,st=i._emscripten_bind_AllConvexResultCallback_get_m_convexToWorld_0=Oe._emscripten_bind_AllConvexResultCallback_get_m_convexToWorld_0,ct=i._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=Oe._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0,at=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0,lt=i._emscripten_bind_btKinematicCharacterController_setMaxSlope_1=Oe._emscripten_bind_btKinematicCharacterController_setMaxSlope_1,ft=i._emscripten_bind_btQuadWord_z_0=Oe._emscripten_bind_btQuadWord_z_0,bt=i._emscripten_bind_btTransform_setIdentity_0=Oe._emscripten_bind_btTransform_setIdentity_0,pt=i._emscripten_bind_btHingeConstraint_btHingeConstraint_2=Oe._emscripten_bind_btHingeConstraint_btHingeConstraint_2,ut=i._emscripten_bind_btGhostObject_getInterpolationAngularVelocity_0=Oe._emscripten_bind_btGhostObject_getInterpolationAngularVelocity_0,dt=i._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=Oe._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0,mt=i._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=Oe._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0,ht=i._emscripten_bind_btCapsuleShapeZ_getUpAxis_0=Oe._emscripten_bind_btCapsuleShapeZ_getUpAxis_0,yt=i._emscripten_bind_tScalarArray_pop_back_0=Oe._emscripten_bind_tScalarArray_pop_back_0,gt=i._emscripten_bind_AllConvexResultCallback_get_m_hitPointWorld_0=Oe._emscripten_bind_AllConvexResultCallback_get_m_hitPointWorld_0,Ct=i._emscripten_bind_btCapsuleShape_getRadius_0=Oe._emscripten_bind_btCapsuleShape_getRadius_0,vt=i._emscripten_enum_PHY_ScalarType_PHY_UCHAR=Oe._emscripten_enum_PHY_ScalarType_PHY_UCHAR,wt=i._emscripten_bind_btQuaternion_setW_1=Oe._emscripten_bind_btQuaternion_setW_1;i.stackSave=Oe.stackSave;var kt=i._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=Oe._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0,St=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0,jt=i._emscripten_bind_btCollisionDispatcher___destroy___0=Oe._emscripten_bind_btCollisionDispatcher___destroy___0,Rt=i._emscripten_bind_btRigidBody_applyCentralImpulse_1=Oe._emscripten_bind_btRigidBody_applyCentralImpulse_1,xt=i._emscripten_bind_btConvexHullShape_getMargin_0=Oe._emscripten_bind_btConvexHullShape_getMargin_0,It=i._emscripten_bind_btRigidBody_setUserIndex_1=Oe._emscripten_bind_btRigidBody_setUserIndex_1,Mt=i._emscripten_bind_btPairCachingGhostObject_getInterpolationLinearVelocity_0=Oe._emscripten_bind_btPairCachingGhostObject_getInterpolationLinearVelocity_0,Dt=i._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1,Tt=i._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=Oe._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2,Ot=i._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=Oe._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3,Ht=i._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=Oe._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2,Gt=i._emscripten_bind_btVector3_op_mul_1=Oe._emscripten_bind_btVector3_op_mul_1,Wt=i._emscripten_bind_btDynamicsWorld_rayTest_3=Oe._emscripten_bind_btDynamicsWorld_rayTest_3;i._btGImpactCollisionAlgorithm_RegisterAlgorithm=Oe._btGImpactCollisionAlgorithm_RegisterAlgorithm;var Ft=i._emscripten_bind_btCollisionObject_btCollisionObject_0=Oe._emscripten_bind_btCollisionObject_btCollisionObject_0,At=i._emscripten_bind_btRaycastVehicle_updateWheelTransform_2=Oe._emscripten_bind_btRaycastVehicle_updateWheelTransform_2,Pt=i._emscripten_bind_btQuadWord_x_0=Oe._emscripten_bind_btQuadWord_x_0,Bt=i._emscripten_bind_btGeneric6DofConstraint_setParam_3=Oe._emscripten_bind_btGeneric6DofConstraint_setParam_3,Lt=i._emscripten_bind_btCollisionObject_isKinematicObject_0=Oe._emscripten_bind_btCollisionObject_isKinematicObject_0,Vt=i._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=Oe._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1,Et=i._emscripten_bind_btCollisionObject_getRollingFriction_0=Oe._emscripten_bind_btCollisionObject_getRollingFriction_0,qt=i._emscripten_bind_ConvexResultCallback___destroy___0=Oe._emscripten_bind_ConvexResultCallback___destroy___0,Qt=i._emscripten_bind_btCompoundShape_updateChildTransform_3=Oe._emscripten_bind_btCompoundShape_updateChildTransform_3,zt=i._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=Oe._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1,Nt=i._emscripten_bind_btQuaternion_getAngleShortestPath_0=Oe._emscripten_bind_btQuaternion_getAngleShortestPath_0,Ut=i._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=Oe._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1,Kt=i._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0=Oe._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0,Zt=i._emscripten_bind_btRigidBody_getFriction_0=Oe._emscripten_bind_btRigidBody_getFriction_0,Xt=i._emscripten_bind_btCollisionWorld_updateSingleAabb_1=Oe._emscripten_bind_btCollisionWorld_updateSingleAabb_1,Jt=i._emscripten_bind_AllConvexResultCallback_get_m_collisionObjects_0=Oe._emscripten_bind_AllConvexResultCallback_get_m_collisionObjects_0,Yt=i._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=Oe._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5,$t=i._emscripten_bind_btWheelInfoConstructionInfo___destroy___0=Oe._emscripten_bind_btWheelInfoConstructionInfo___destroy___0,ei=i._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=Oe._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3,ti=i._emscripten_bind_tScalarArray___destroy___0=Oe._emscripten_bind_tScalarArray___destroy___0,ii=i._emscripten_bind_btCollisionObject_activate_1=Oe._emscripten_bind_btCollisionObject_activate_1,ni=i._emscripten_bind_btCollisionObject_activate_0=Oe._emscripten_bind_btCollisionObject_activate_0,ri=i._emscripten_bind_btCollisionWorld_removeCollisionObject_1=Oe._emscripten_bind_btCollisionWorld_removeCollisionObject_1,_i=i._emscripten_bind_LayaMotionState_setWorldTransform_1=Oe._emscripten_bind_LayaMotionState_setWorldTransform_1,oi=i._emscripten_bind_AllConvexResultCallback_AllConvexResultCallback_2=Oe._emscripten_bind_AllConvexResultCallback_AllConvexResultCallback_2,si=i._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=Oe._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1,ci=i._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=Oe._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1,ai=i._emscripten_bind_btVector3_setX_1=Oe._emscripten_bind_btVector3_setX_1,li=i._emscripten_bind_btCollisionConfiguration___destroy___0=Oe._emscripten_bind_btCollisionConfiguration___destroy___0,fi=i._emscripten_bind_LayaMotionState_LayaMotionState_0=Oe._emscripten_bind_LayaMotionState_LayaMotionState_0,bi=i._emscripten_bind_btCapsuleShapeZ_setMargin_1=Oe._emscripten_bind_btCapsuleShapeZ_setMargin_1,pi=i._emscripten_bind_AllHitsRayResultCallback_hasHit_0=Oe._emscripten_bind_AllHitsRayResultCallback_hasHit_0,ui=i._emscripten_bind_btActionInterface_updateAction_2=Oe._emscripten_bind_btActionInterface_updateAction_2;i.stackAlloc=Oe.stackAlloc;var di=i._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=Oe._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1,mi=i._emscripten_bind_btFixedConstraint___destroy___0=Oe._emscripten_bind_btFixedConstraint___destroy___0,hi=i._emscripten_bind_btRaycastVehicle_updateSuspension_1=Oe._emscripten_bind_btRaycastVehicle_updateSuspension_1,yi=i._emscripten_bind_btManifoldPoint_set_m_localPointB_1=Oe._emscripten_bind_btManifoldPoint_set_m_localPointB_1,gi=i._emscripten_bind_btVector3_setZ_1=Oe._emscripten_bind_btVector3_setZ_1,Ci=i._emscripten_bind_btCapsuleShapeX_getHalfHeight_0=Oe._emscripten_bind_btCapsuleShapeX_getHalfHeight_0,vi=i._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=Oe._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1,wi=i._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0=Oe._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0,ki=i._emscripten_bind_btCollisionObject_getRestitution_0=Oe._emscripten_bind_btCollisionObject_getRestitution_0,Si=i._emscripten_bind_btQuaternion_setValue_4=Oe._emscripten_bind_btQuaternion_setValue_4,ji=i._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=Oe._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1,Ri=i._emscripten_bind_btMotionState_setWorldTransform_1=Oe._emscripten_bind_btMotionState_setWorldTransform_1,xi=i._emscripten_bind_LocalShapeInfo___destroy___0=Oe._emscripten_bind_LocalShapeInfo___destroy___0,Ii=i._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=Oe._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2,Mi=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1,Di=i._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=Oe._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0,Ti=i._emscripten_bind_btDynamicsWorld_removeCollisionObject_1=Oe._emscripten_bind_btDynamicsWorld_removeCollisionObject_1,Oi=i._emscripten_bind_btQuadWord_setY_1=Oe._emscripten_bind_btQuadWord_setY_1,Hi=i._emscripten_bind_btRigidBody_isKinematicObject_0=Oe._emscripten_bind_btRigidBody_isKinematicObject_0,Gi=i._emscripten_bind_btRigidBody_getInterpolationAngularVelocity_0=Oe._emscripten_bind_btRigidBody_getInterpolationAngularVelocity_0,Wi=i._emscripten_bind_btConvexTriangleMeshShape_getMargin_0=Oe._emscripten_bind_btConvexTriangleMeshShape_getMargin_0,Fi=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1,Ai=i._emscripten_bind_btVector4_rotate_2=Oe._emscripten_bind_btVector4_rotate_2,Pi=i._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=Oe._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0,Bi=i._emscripten_bind_btConeTwistConstraint_setDamping_1=Oe._emscripten_bind_btConeTwistConstraint_setDamping_1,Li=i._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=Oe._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0,Vi=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0,Ei=i._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=Oe._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0,qi=i._emscripten_bind_btCylinderShape_setMargin_1=Oe._emscripten_bind_btCylinderShape_setMargin_1,Qi=i._emscripten_bind_btRaycastVehicle_rayCast_1=Oe._emscripten_bind_btRaycastVehicle_rayCast_1,zi=i._emscripten_bind_btCollisionWorld___destroy___0=Oe._emscripten_bind_btCollisionWorld___destroy___0,Ni=i._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=Oe._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0,Ui=i._emscripten_bind_btBoxShape_btBoxShape_1=Oe._emscripten_bind_btBoxShape_btBoxShape_1,Ki=i._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=Oe._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0,Zi=i._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=Oe._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1,Xi=i._emscripten_bind_RaycastInfo_set_m_isInContact_1=Oe._emscripten_bind_RaycastInfo_set_m_isInContact_1,Ji=i._emscripten_bind_btKinematicCharacterController_setGravity_1=Oe._emscripten_bind_btKinematicCharacterController_setGravity_1,Yi=i._emscripten_bind_AllConvexResultCallback_set_m_collisionFilterMask_1=Oe._emscripten_bind_AllConvexResultCallback_set_m_collisionFilterMask_1,$i=i._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=Oe._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1,en=i._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=Oe._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5,tn=i._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0=Oe._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0,nn=i._emscripten_bind_LocalShapeInfo_get_m_shapePart_0=Oe._emscripten_bind_LocalShapeInfo_get_m_shapePart_0,rn=i._emscripten_bind_btRigidBody_getInterpolationLinearVelocity_0=Oe._emscripten_bind_btRigidBody_getInterpolationLinearVelocity_0,_n=i._emscripten_bind_AllConvexResultCallback_get_m_convexFromWorld_0=Oe._emscripten_bind_AllConvexResultCallback_get_m_convexFromWorld_0,on=i._emscripten_bind_btWheelInfo_get_m_rollInfluence_0=Oe._emscripten_bind_btWheelInfo_get_m_rollInfluence_0,sn=i._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1=Oe._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1,cn=i._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=Oe._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1,an=i._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=Oe._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1,ln=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=Oe._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM,fn=i._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=Oe._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1,bn=i._emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1=Oe._emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1,pn=i._emscripten_bind_btDynamicsWorld_getDispatchInfo_0=Oe._emscripten_bind_btDynamicsWorld_getDispatchInfo_0,un=i._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=Oe._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1,dn=i._emscripten_bind_btVector3_length_0=Oe._emscripten_bind_btVector3_length_0,mn=i._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=Oe._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2,hn=i._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=Oe._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1,yn=i._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=Oe._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1,gn=i._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=Oe._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1,Cn=i._emscripten_bind_btPairCachingGhostObject_setInterpolationAngularVelocity_1=Oe._emscripten_bind_btPairCachingGhostObject_setInterpolationAngularVelocity_1,vn=i._emscripten_bind_btBoxShape_getMargin_0=Oe._emscripten_bind_btBoxShape_getMargin_0,wn=i._emscripten_bind_btPairCachingGhostObject___destroy___0=Oe._emscripten_bind_btPairCachingGhostObject___destroy___0,kn=i._emscripten_bind_btCollisionObject_setInterpolationLinearVelocity_1=Oe._emscripten_bind_btCollisionObject_setInterpolationLinearVelocity_1,Sn=i._emscripten_bind_btDynamicsWorld_addCollisionObject_3=Oe._emscripten_bind_btDynamicsWorld_addCollisionObject_3,jn=i._emscripten_bind_btPairCachingGhostObject_activate_0=Oe._emscripten_bind_btPairCachingGhostObject_activate_0,Rn=i._emscripten_bind_btPairCachingGhostObject_activate_1=Oe._emscripten_bind_btPairCachingGhostObject_activate_1,xn=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1,In=i._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=Oe._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0,Mn=i._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=Oe._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1,Dn=i._emscripten_bind_btSliderConstraint_setParam_3=Oe._emscripten_bind_btSliderConstraint_setParam_3,Tn=i._emscripten_bind_btPersistentManifold_getContactPoint_1=Oe._emscripten_bind_btPersistentManifold_getContactPoint_1,On=i._emscripten_bind_btPairCachingGhostObject_forceActivationState_1=Oe._emscripten_bind_btPairCachingGhostObject_forceActivationState_1,Hn=i._emscripten_bind_btDefaultMotionState___destroy___0=Oe._emscripten_bind_btDefaultMotionState___destroy___0,Gn=i._emscripten_bind_btDispatcherInfo_get_m_stepCount_0=Oe._emscripten_bind_btDispatcherInfo_get_m_stepCount_0,Wn=i._emscripten_bind_btRigidBody_applyGravity_0=Oe._emscripten_bind_btRigidBody_applyGravity_0,Fn=i._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1=Oe._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1,An=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1,Pn=i._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1=Oe._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1,Bn=i._emscripten_bind_btRigidBody_clearForces_0=Oe._emscripten_bind_btRigidBody_clearForces_0,Ln=i._emscripten_bind_btQuadWord_setW_1=Oe._emscripten_bind_btQuadWord_setW_1,Vn=i._emscripten_bind_btFixedConstraint_getParam_2=Oe._emscripten_bind_btFixedConstraint_getParam_2,En=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0,qn=i._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=Oe._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2,Qn=i._emscripten_bind_LocalShapeInfo_set_m_shapePart_1=Oe._emscripten_bind_LocalShapeInfo_set_m_shapePart_1,zn=i._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=Oe._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0,Nn=i._emscripten_bind_btHingeConstraint_getParam_2=Oe._emscripten_bind_btHingeConstraint_getParam_2,Un=i._emscripten_bind_btRigidBody_setLinearFactor_1=Oe._emscripten_bind_btRigidBody_setLinearFactor_1,Kn=i._emscripten_bind_btRigidBody_setCollisionShape_1=Oe._emscripten_bind_btRigidBody_setCollisionShape_1,Zn=i._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=Oe._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1,Xn=i._emscripten_bind_btRaycastVehicle_getUpAxis_0=Oe._emscripten_bind_btRaycastVehicle_getUpAxis_0,Jn=i._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=Oe._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0,Yn=i._emscripten_bind_btWheelInfo_get_m_engineForce_0=Oe._emscripten_bind_btWheelInfo_get_m_engineForce_0,$n=i._emscripten_bind_btDiscreteDynamicsWorld_getApplySpeculativeContactRestitution_0=Oe._emscripten_bind_btDiscreteDynamicsWorld_getApplySpeculativeContactRestitution_0,er=i._emscripten_bind_btRaycastVehicle_setSteeringValue_2=Oe._emscripten_bind_btRaycastVehicle_setSteeringValue_2,tr=i._emscripten_bind_btPoint2PointConstraint___destroy___0=Oe._emscripten_bind_btPoint2PointConstraint___destroy___0,ir=i._emscripten_bind_btCollisionShape_setMargin_1=Oe._emscripten_bind_btCollisionShape_setMargin_1,nr=i._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=Oe._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1,rr=i._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=Oe._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2,_r=i._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1,or=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1,sr=i._emscripten_bind_btPairCachingGhostObject_setUserPointer_1=Oe._emscripten_bind_btPairCachingGhostObject_setUserPointer_1,cr=i._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2=Oe._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2,ar=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0,lr=i._emscripten_bind_btRaycastVehicle_getRightAxis_0=Oe._emscripten_bind_btRaycastVehicle_getRightAxis_0,fr=i._emscripten_bind_btContactSolverInfo_set_m_numIterations_1=Oe._emscripten_bind_btContactSolverInfo_set_m_numIterations_1,br=i._malloc=Oe._malloc,pr=i._emscripten_bind_btDispatcherInfo_get_m_useEpa_0=Oe._emscripten_bind_btDispatcherInfo_get_m_useEpa_0,ur=i._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1,dr=i._emscripten_bind_btTransform_btTransform_2=Oe._emscripten_bind_btTransform_btTransform_2,mr=i._emscripten_bind_btTransform_btTransform_0=Oe._emscripten_bind_btTransform_btTransform_0,hr=i._emscripten_bind_btPairCachingGhostObject_getUserIndex_0=Oe._emscripten_bind_btPairCachingGhostObject_getUserIndex_0,yr=i._emscripten_bind_btVector3_op_sub_1=Oe._emscripten_bind_btVector3_op_sub_1,gr=i._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=Oe._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1,Cr=i._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=Oe._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0,vr=i._emscripten_bind_btQuaternion_length_0=Oe._emscripten_bind_btQuaternion_length_0,wr=i._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=Oe._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1,kr=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0,Sr=i._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=Oe._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1,jr=i._emscripten_bind_btCollisionObject_setActivationState_1=Oe._emscripten_bind_btCollisionObject_setActivationState_1,Rr=i._emscripten_bind_btQuaternion_angle_1=Oe._emscripten_bind_btQuaternion_angle_1,xr=i._emscripten_bind_btPersistentManifold___destroy___0=Oe._emscripten_bind_btPersistentManifold___destroy___0,Ir=i._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=Oe._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0,Mr=i._emscripten_bind_btCylinderShapeZ___destroy___0=Oe._emscripten_bind_btCylinderShapeZ___destroy___0,Dr=i._emscripten_bind_btMatrix3x3___destroy___0=Oe._emscripten_bind_btMatrix3x3___destroy___0;i.setTempRet0=Oe.setTempRet0;var Tr=i._emscripten_bind_btQuaternion_angleShortestPath_1=Oe._emscripten_bind_btQuaternion_angleShortestPath_1,Or=i._emscripten_bind_ConvexResultCallback_hasHit_0=Oe._emscripten_bind_ConvexResultCallback_hasHit_0,Hr=i._emscripten_bind_btCollisionShape_calculateLocalInertia_2=Oe._emscripten_bind_btCollisionShape_calculateLocalInertia_2,Gr=i._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=Oe._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1,Wr=i._emscripten_bind_btCollisionWorld_convexSweepTest_5=Oe._emscripten_bind_btCollisionWorld_convexSweepTest_5,Fr=i._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0=Oe._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0,Ar=i._emscripten_bind_btRaycastVehicle_getWheelInfo_1=Oe._emscripten_bind_btRaycastVehicle_getWheelInfo_1,Pr=i._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=Oe._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1,Br=i._emscripten_bind_btVehicleRaycasterResult___destroy___0=Oe._emscripten_bind_btVehicleRaycasterResult___destroy___0,Lr=i._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=Oe._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2,Vr=i._emscripten_bind_btConstraintSetting_set_m_damping_1=Oe._emscripten_bind_btConstraintSetting_set_m_damping_1,Er=i._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=Oe._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1,qr=i._emscripten_bind_btRigidBody_setCcdMotionThreshold_1=Oe._emscripten_bind_btRigidBody_setCcdMotionThreshold_1,Qr=i._emscripten_bind_btConvexHullShape_setMargin_1=Oe._emscripten_bind_btConvexHullShape_setMargin_1,zr=i._emscripten_bind_btRigidBody_applyForce_2=Oe._emscripten_bind_btRigidBody_applyForce_2,Nr=i._emscripten_bind_btConeShapeZ_calculateLocalInertia_2=Oe._emscripten_bind_btConeShapeZ_calculateLocalInertia_2,Ur=i._emscripten_bind_btConstraintSetting_set_m_tau_1=Oe._emscripten_bind_btConstraintSetting_set_m_tau_1,Kr=i._emscripten_bind_btConvexHullShape_calculateLocalInertia_2=Oe._emscripten_bind_btConvexHullShape_calculateLocalInertia_2,Zr=i._emscripten_bind_btGeneric6DofConstraint_getParam_2=Oe._emscripten_bind_btGeneric6DofConstraint_getParam_2,Xr=i._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=Oe._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0,Jr=i._emscripten_bind_btQuaternion_op_div_1=Oe._emscripten_bind_btQuaternion_op_div_1,Yr=i.___uremdi3=Oe.___uremdi3,$r=i._emscripten_bind_RaycastInfo_get_m_contactPointWS_0=Oe._emscripten_bind_RaycastInfo_get_m_contactPointWS_0,e_=i._emscripten_bind_btRigidBody_getTotalTorque_0=Oe._emscripten_bind_btRigidBody_getTotalTorque_0,t_=i._emscripten_bind_btCapsuleShape_getHalfHeight_0=Oe._emscripten_bind_btCapsuleShape_getHalfHeight_0,i_=i._emscripten_bind_btSphereShape_calculateLocalInertia_2=Oe._emscripten_bind_btSphereShape_calculateLocalInertia_2,n_=i._emscripten_bind_btCollisionObject_setInterpolationAngularVelocity_1=Oe._emscripten_bind_btCollisionObject_setInterpolationAngularVelocity_1,r_=i._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=Oe._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1,__=i._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=Oe._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1,o_=i._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=Oe._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0,s_=i._emscripten_bind_btGhostObject_setFriction_1=Oe._emscripten_bind_btGhostObject_setFriction_1,c_=i._emscripten_bind_btCollisionWorld_rayTest_3=Oe._emscripten_bind_btCollisionWorld_rayTest_3,a_=i._emscripten_bind_btCollisionObject_setUserPointer_1=Oe._emscripten_bind_btCollisionObject_setUserPointer_1;i.stackRestore=Oe.stackRestore;var l_=i._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=Oe._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1,f_=i._emscripten_bind_btCylinderShapeZ_setMargin_1=Oe._emscripten_bind_btCylinderShapeZ_setMargin_1,b_=i._emscripten_bind_btRigidBody_setFriction_1=Oe._emscripten_bind_btRigidBody_setFriction_1,p_=i._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=Oe._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1,u_=i._emscripten_bind_btGhostObject_setWorldTransform_1=Oe._emscripten_bind_btGhostObject_setWorldTransform_1,d_=i._emscripten_bind_LayaMotionState_getWorldTransform_1=Oe._emscripten_bind_LayaMotionState_getWorldTransform_1,m_=i._emscripten_bind_btManifoldPoint_getAppliedImpulse_0=Oe._emscripten_bind_btManifoldPoint_getAppliedImpulse_0,h_=i._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1,y_=i._emscripten_bind_btConvexHullShape___destroy___0=Oe._emscripten_bind_btConvexHullShape___destroy___0,g_=i._emscripten_bind_btCapsuleShape_getUpAxis_0=Oe._emscripten_bind_btCapsuleShape_getUpAxis_0,C_=i._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=Oe._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0,v_=i._emscripten_bind_btDiscreteDynamicsWorld_addAction_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_addAction_1,w_=i._emscripten_bind_btVector4_setX_1=Oe._emscripten_bind_btVector4_setX_1,k_=i._emscripten_bind_btRaycastVehicle_setPitchControl_1=Oe._emscripten_bind_btRaycastVehicle_setPitchControl_1,S_=i._emscripten_bind_btKinematicCharacterController_jump_1=Oe._emscripten_bind_btKinematicCharacterController_jump_1,j_=i._emscripten_bind_btCollisionObject_getUserPointer_0=Oe._emscripten_bind_btCollisionObject_getUserPointer_0,R_=i._emscripten_bind_btWheelInfo_set_m_raycastInfo_1=Oe._emscripten_bind_btWheelInfo_set_m_raycastInfo_1,x_=i._emscripten_bind_btCollisionWorld_contactTest_2=Oe._emscripten_bind_btCollisionWorld_contactTest_2,I_=i._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=Oe._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1,M_=i._emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0=Oe._emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0,D_=i._emscripten_bind_btRigidBody_upcast_1=Oe._emscripten_bind_btRigidBody_upcast_1,T_=i._emscripten_bind_btCollisionObject_getWorldTransform_0=Oe._emscripten_bind_btCollisionObject_getWorldTransform_0,O_=i._emscripten_bind_btVector4_setZ_1=Oe._emscripten_bind_btVector4_setZ_1,H_=i._emscripten_bind_btQuadWord_y_0=Oe._emscripten_bind_btQuadWord_y_0,G_=i._emscripten_bind_AllConvexResultCallback_hasHit_0=Oe._emscripten_bind_AllConvexResultCallback_hasHit_0,W_=i._emscripten_bind_btContactSolverInfo_set_m_solverMode_1=Oe._emscripten_bind_btContactSolverInfo_set_m_solverMode_1,F_=i._emscripten_bind_btTransform_setFromOpenGLMatrix_1=Oe._emscripten_bind_btTransform_setFromOpenGLMatrix_1,A_=i._emscripten_bind_btTransform_getBasis_0=Oe._emscripten_bind_btTransform_getBasis_0,P_=i._emscripten_bind_btPairCachingGhostObject_setFriction_1=Oe._emscripten_bind_btPairCachingGhostObject_setFriction_1,B_=i._emscripten_bind_AllConvexResultCallback_set_m_hitFractions_1=Oe._emscripten_bind_AllConvexResultCallback_set_m_hitFractions_1,L_=i._emscripten_bind_btDispatcherInfo_set_m_useEpa_1=Oe._emscripten_bind_btDispatcherInfo_set_m_useEpa_1,V_=i._emscripten_bind_btCollisionDispatcher_getNumManifolds_0=Oe._emscripten_bind_btCollisionDispatcher_getNumManifolds_0,E_=i._emscripten_bind_btVehicleRaycaster___destroy___0=Oe._emscripten_bind_btVehicleRaycaster___destroy___0,q_=i._emscripten_bind_ClosestRayResultCallback___destroy___0=Oe._emscripten_bind_ClosestRayResultCallback___destroy___0,Q_=i._emscripten_bind_btConeShapeX_getLocalScaling_0=Oe._emscripten_bind_btConeShapeX_getLocalScaling_0,z_=i._emscripten_bind_btCylinderShapeX_setMargin_1=Oe._emscripten_bind_btCylinderShapeX_setMargin_1,N_=i._emscripten_bind_AllConvexResultCallback_set_m_convexToWorld_1=Oe._emscripten_bind_AllConvexResultCallback_set_m_convexToWorld_1,U_=i._emscripten_bind_AllConvexResultCallback___destroy___0=Oe._emscripten_bind_AllConvexResultCallback___destroy___0,K_=i._emscripten_bind_btQuadWord_w_0=Oe._emscripten_bind_btQuadWord_w_0,Z_=i._emscripten_bind_btCompoundShape___destroy___0=Oe._emscripten_bind_btCompoundShape___destroy___0,X_=i._emscripten_bind_btAxisSweep3___destroy___0=Oe._emscripten_bind_btAxisSweep3___destroy___0,J_=i._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=Oe._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2,Y_=i._emscripten_bind_btKinematicCharacterController_setUp_1=Oe._emscripten_bind_btKinematicCharacterController_setUp_1,$_=i._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=Oe._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2,eo=i._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1=Oe._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1,to=i._emscripten_bind_btCompoundShape_getNumChildShapes_0=Oe._emscripten_bind_btCompoundShape_getNumChildShapes_0,io=i._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0=Oe._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0,no=i._emscripten_bind_btCapsuleShape_setLocalScaling_1=Oe._emscripten_bind_btCapsuleShape_setLocalScaling_1,ro=i._emscripten_bind_btGhostObject_btGhostObject_0=Oe._emscripten_bind_btGhostObject_btGhostObject_0,_o=i._emscripten_bind_btConeShape_btConeShape_2=Oe._emscripten_bind_btConeShape_btConeShape_2,oo=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1,so=i._emscripten_bind_btManifoldPoint_set_m_localPointA_1=Oe._emscripten_bind_btManifoldPoint_set_m_localPointA_1,co=i._emscripten_bind_btCapsuleShapeX_setMargin_1=Oe._emscripten_bind_btCapsuleShapeX_setMargin_1,ao=i._emscripten_bind_btRigidBody_getCcdMotionThreshold_0=Oe._emscripten_bind_btRigidBody_getCcdMotionThreshold_0,lo=i._emscripten_bind_AllConvexResultCallback_set_m_collisionObjects_1=Oe._emscripten_bind_AllConvexResultCallback_set_m_collisionObjects_1,fo=i._emscripten_bind_btVector3_dot_1=Oe._emscripten_bind_btVector3_dot_1,bo=i._emscripten_bind_btGhostObject_getUserPointer_0=Oe._emscripten_bind_btGhostObject_getUserPointer_0,po=i._emscripten_bind_btVector4_op_add_1=Oe._emscripten_bind_btVector4_op_add_1,uo=i._emscripten_bind_btWheelInfo___destroy___0=Oe._emscripten_bind_btWheelInfo___destroy___0,mo=i._emscripten_bind_btHingeConstraint_btHingeConstraint_4=Oe._emscripten_bind_btHingeConstraint_btHingeConstraint_4,ho=i._emscripten_bind_btTransform_setRotation_1=Oe._emscripten_bind_btTransform_setRotation_1,yo=i._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=Oe._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0,go=i._emscripten_bind_btPoint2PointConstraint_enableFeedback_1=Oe._emscripten_bind_btPoint2PointConstraint_enableFeedback_1,Co=i._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=Oe._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1,vo=i._emscripten_bind_btAxisSweep3_btAxisSweep3_2=Oe._emscripten_bind_btAxisSweep3_btAxisSweep3_2,wo=i._emscripten_bind_btAxisSweep3_btAxisSweep3_3=Oe._emscripten_bind_btAxisSweep3_btAxisSweep3_3,ko=i._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=Oe._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1,So=i._emscripten_bind_btVector3_setY_1=Oe._emscripten_bind_btVector3_setY_1,jo=i._emscripten_bind_btAxisSweep3_btAxisSweep3_4=Oe._emscripten_bind_btAxisSweep3_btAxisSweep3_4,Ro=i._emscripten_bind_btAxisSweep3_btAxisSweep3_5=Oe._emscripten_bind_btAxisSweep3_btAxisSweep3_5,xo=i._emscripten_bind_btQuadWord_setX_1=Oe._emscripten_bind_btQuadWord_setX_1,Io=i._emscripten_bind_btCollisionObject_getFriction_0=Oe._emscripten_bind_btCollisionObject_getFriction_0,Mo=i._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=Oe._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0,Do=i._emscripten_bind_btConvexHullShape_addPoint_2=Oe._emscripten_bind_btConvexHullShape_addPoint_2,To=i._emscripten_bind_btGhostPairCallback___destroy___0=Oe._emscripten_bind_btGhostPairCallback___destroy___0,Oo=i._emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0=Oe._emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0,Ho=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0,Go=i._emscripten_bind_btGhostObject_isActive_0=Oe._emscripten_bind_btGhostObject_isActive_0,Wo=i._emscripten_bind_btOverlappingPairCache___destroy___0=Oe._emscripten_bind_btOverlappingPairCache___destroy___0,Fo=i._emscripten_bind_btDefaultMotionState_getWorldTransform_1=Oe._emscripten_bind_btDefaultMotionState_getWorldTransform_1,Ao=i._emscripten_bind_btContactSolverInfo_get_m_solverMode_0=Oe._emscripten_bind_btContactSolverInfo_get_m_solverMode_0,Po=i._emscripten_bind_btConstraintSetting___destroy___0=Oe._emscripten_bind_btConstraintSetting___destroy___0,Bo=i._emscripten_bind_btWheelInfo_btWheelInfo_1=Oe._emscripten_bind_btWheelInfo_btWheelInfo_1,Lo=i._emscripten_bind_RayResultCallback___destroy___0=Oe._emscripten_bind_RayResultCallback___destroy___0,Vo=i._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1=Oe._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1,Eo=i._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=Oe._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0,qo=i._emscripten_bind_btPersistentManifold_getBody0_0=Oe._emscripten_bind_btPersistentManifold_getBody0_0,Qo=i._emscripten_bind_btConeShapeX_btConeShapeX_2=Oe._emscripten_bind_btConeShapeX_btConeShapeX_2,zo=i._emscripten_bind_btRaycastVehicle_getForwardAxis_0=Oe._emscripten_bind_btRaycastVehicle_getForwardAxis_0,No=i._emscripten_bind_RaycastInfo_get_m_hardPointWS_0=Oe._emscripten_bind_RaycastInfo_get_m_hardPointWS_0,Uo=i._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=Oe._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1,Ko=i._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=Oe._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0,Zo=i._emscripten_bind_AllConvexResultCallback_set_m_hitPointWorld_1=Oe._emscripten_bind_AllConvexResultCallback_set_m_hitPointWorld_1,Xo=i._emscripten_bind_btSliderConstraint_setUpperLinLimit_1=Oe._emscripten_bind_btSliderConstraint_setUpperLinLimit_1,Jo=i._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=Oe._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2,Yo=i._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=Oe._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0,$o=i._emscripten_bind_btConcaveShape___destroy___0=Oe._emscripten_bind_btConcaveShape___destroy___0,es=i._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=Oe._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4,ts=i._emscripten_bind_btQuaternion_x_0=Oe._emscripten_bind_btQuaternion_x_0,is=i._emscripten_bind_btCompoundShape_setMargin_1=Oe._emscripten_bind_btCompoundShape_setMargin_1,ns=i._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=Oe._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1,rs=i._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=Oe._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1,_s=i._emscripten_bind_btConcaveShape_setLocalScaling_1=Oe._emscripten_bind_btConcaveShape_setLocalScaling_1,os=i._emscripten_bind_btHingeConstraint_setParam_3=Oe._emscripten_bind_btHingeConstraint_setParam_3,ss=i._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=Oe._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0,cs=i._emscripten_bind_btConeShapeX_setLocalScaling_1=Oe._emscripten_bind_btConeShapeX_setLocalScaling_1,as=i._emscripten_bind_btQuaternion_z_0=Oe._emscripten_bind_btQuaternion_z_0,ls=i._emscripten_bind_btConvexHullShape_btConvexHullShape_0=Oe._emscripten_bind_btConvexHullShape_btConvexHullShape_0,fs=i._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=Oe._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1,bs=i._emscripten_bind_btConstraintSetting_get_m_damping_0=Oe._emscripten_bind_btConstraintSetting_get_m_damping_0,ps=i._emscripten_bind_btGhostObject___destroy___0=Oe._emscripten_bind_btGhostObject___destroy___0,us=i._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=Oe._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0,ds=i._emscripten_bind_btGhostObject_setContactProcessingThreshold_1=Oe._emscripten_bind_btGhostObject_setContactProcessingThreshold_1,ms=i._emscripten_bind_btCollisionWorld_getBroadphase_0=Oe._emscripten_bind_btCollisionWorld_getBroadphase_0,hs=i._emscripten_bind_btCylinderShape_btCylinderShape_1=Oe._emscripten_bind_btCylinderShape_btCylinderShape_1,ys=i._emscripten_bind_btDispatcherInfo_set_m_stepCount_1=Oe._emscripten_bind_btDispatcherInfo_set_m_stepCount_1,gs=i._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=Oe._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1,Cs=i._emscripten_bind_btRigidBody_getGravity_0=Oe._emscripten_bind_btRigidBody_getGravity_0,vs=i._emscripten_bind_btKinematicCharacterController_updateAction_2=Oe._emscripten_bind_btKinematicCharacterController_updateAction_2,ws=i._emscripten_bind_btGImpactMeshShape___destroy___0=Oe._emscripten_bind_btGImpactMeshShape___destroy___0,ks=i._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1=Oe._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1,Ss=i._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=Oe._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0,js=i._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=Oe._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1,Rs=i._emscripten_bind_btCompoundShape_getChildShape_1=Oe._emscripten_bind_btCompoundShape_getChildShape_1,xs=i._emscripten_bind_btKinematicCharacterController_canJump_0=Oe._emscripten_bind_btKinematicCharacterController_canJump_0,Is=i._emscripten_bind_btPairCachingGhostObject_setUserIndex_1=Oe._emscripten_bind_btPairCachingGhostObject_setUserIndex_1,Ms=i._emscripten_bind_btRigidBody_isActive_0=Oe._emscripten_bind_btRigidBody_isActive_0,Ds=i._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=Oe._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3,Ts=i._emscripten_enum_PHY_ScalarType_PHY_DOUBLE=Oe._emscripten_enum_PHY_ScalarType_PHY_DOUBLE,Os=i._emscripten_bind_btCylinderShape_setLocalScaling_1=Oe._emscripten_bind_btCylinderShape_setLocalScaling_1,Hs=i._emscripten_bind_btPairCachingGhostObject_getInterpolationAngularVelocity_0=Oe._emscripten_bind_btPairCachingGhostObject_getInterpolationAngularVelocity_0,Gs=i._emscripten_bind_btCompoundShape_calculateLocalInertia_2=Oe._emscripten_bind_btCompoundShape_calculateLocalInertia_2,Ws=i._emscripten_bind_btGhostObject_getBroadphaseHandle_0=Oe._emscripten_bind_btGhostObject_getBroadphaseHandle_0,Fs=i._emscripten_bind_btCollisionWorld_getDispatchInfo_0=Oe._emscripten_bind_btCollisionWorld_getDispatchInfo_0,As=i._emscripten_bind_btSliderConstraint_getParam_2=Oe._emscripten_bind_btSliderConstraint_getParam_2,Ps=i._emscripten_bind_btConeShapeX___destroy___0=Oe._emscripten_bind_btConeShapeX___destroy___0,Bs=i._emscripten_bind_btCollisionObject_getCollisionFlags_0=Oe._emscripten_bind_btCollisionObject_getCollisionFlags_0,Ls=i._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=Oe._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1,Vs=i._emscripten_bind_btConeTwistConstraint_enableMotor_1=Oe._emscripten_bind_btConeTwistConstraint_enableMotor_1,Es=i._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=Oe._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0,qs=i._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=Oe._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3,Qs=i._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=Oe._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0,zs=i._emscripten_bind_btPairCachingGhostObject_setRestitution_1=Oe._emscripten_bind_btPairCachingGhostObject_setRestitution_1,Ns=i._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=Oe._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1,Us=i._emscripten_bind_btSphereShape___destroy___0=Oe._emscripten_bind_btSphereShape___destroy___0,Ks=i._emscripten_bind_btQuaternion_getAngle_0=Oe._emscripten_bind_btQuaternion_getAngle_0,Zs=i._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=Oe._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0,Xs=i._emscripten_bind_btRigidBody_getActivationState_0=Oe._emscripten_bind_btRigidBody_getActivationState_0,Js=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1,Ys=i._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=Oe._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1,$s=i._emscripten_bind_btGhostObject_setCcdMotionThreshold_1=Oe._emscripten_bind_btGhostObject_setCcdMotionThreshold_1,ec=i._emscripten_bind_btHingeConstraint_setMotorTarget_2=Oe._emscripten_bind_btHingeConstraint_setMotorTarget_2,tc=i._emscripten_bind_btDiscreteDynamicsWorld_clearForces_0=Oe._emscripten_bind_btDiscreteDynamicsWorld_clearForces_0,ic=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0,nc=i._emscripten_bind_LocalConvexResult___destroy___0=Oe._emscripten_bind_LocalConvexResult___destroy___0,rc=i._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=Oe._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0;i.setThrew=Oe.setThrew;var _c=i._emscripten_bind_btConvexShape_getLocalScaling_0=Oe._emscripten_bind_btConvexShape_getLocalScaling_0,oc=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1,sc=i._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1=Oe._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1,cc=i._emscripten_bind_btCollisionWorld_addCollisionObject_3=Oe._emscripten_bind_btCollisionWorld_addCollisionObject_3,ac=i._emscripten_bind_btRigidBody_getCollisionFlags_0=Oe._emscripten_bind_btRigidBody_getCollisionFlags_0,lc=i._emscripten_bind_btCollisionShape_setLocalScaling_1=Oe._emscripten_bind_btCollisionShape_setLocalScaling_1,fc=i._emscripten_bind_btRigidBody_applyTorque_1=Oe._emscripten_bind_btRigidBody_applyTorque_1,bc=i._emscripten_bind_tVector3Array_size_0=Oe._emscripten_bind_tVector3Array_size_0,pc=i._emscripten_bind_btMatrix3x3_setEulerZYX_3=Oe._emscripten_bind_btMatrix3x3_setEulerZYX_3,uc=i._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=Oe._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0,dc=i._emscripten_bind_btRigidBody_getUserPointer_0=Oe._emscripten_bind_btRigidBody_getUserPointer_0,mc=i._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=Oe._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1,hc=i._emscripten_bind_btConvexHullShape_setLocalScaling_1=Oe._emscripten_bind_btConvexHullShape_setLocalScaling_1,yc=i._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0=Oe._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0,gc=i._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=Oe._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2,Cc=i._emscripten_bind_AllConvexResultCallback_set_m_convexFromWorld_1=Oe._emscripten_bind_AllConvexResultCallback_set_m_convexFromWorld_1,vc=i._emscripten_bind_btRigidBody_setMotionState_1=Oe._emscripten_bind_btRigidBody_setMotionState_1,wc=i._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=Oe._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0,kc=i._emscripten_bind_btCollisionWorld_getDispatcher_0=Oe._emscripten_bind_btCollisionWorld_getDispatcher_0,Sc=i._emscripten_bind_btVector4_dot_1=Oe._emscripten_bind_btVector4_dot_1,jc=i._emscripten_bind_btPoint2PointConstraint_get_m_setting_0=Oe._emscripten_bind_btPoint2PointConstraint_get_m_setting_0,Rc=i._emscripten_bind_btCollisionObject_setRollingFriction_1=Oe._emscripten_bind_btCollisionObject_setRollingFriction_1,xc=i._emscripten_bind_btCapsuleShape_getMargin_0=Oe._emscripten_bind_btCapsuleShape_getMargin_0,Ic=i._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=Oe._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1,Mc=i._emscripten_bind_btVehicleRaycaster_castRay_3=Oe._emscripten_bind_btVehicleRaycaster_castRay_3,Dc=i._i64Subtract=Oe._i64Subtract,Tc=i._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=Oe._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1,Oc=i._emscripten_bind_btRigidBody_getCenterOfMassTransform_0=Oe._emscripten_bind_btRigidBody_getCenterOfMassTransform_0,Hc=i._emscripten_bind_btRigidBody_setDamping_2=Oe._emscripten_bind_btRigidBody_setDamping_2,Gc=i._emscripten_bind_btDynamicsWorld_getDispatcher_0=Oe._emscripten_bind_btDynamicsWorld_getDispatcher_0,Wc=i._emscripten_bind_btGhostObject_setCollisionFlags_1=Oe._emscripten_bind_btGhostObject_setCollisionFlags_1,Fc=i._emscripten_bind_btMatrix3x3_getRotation_1=Oe._emscripten_bind_btMatrix3x3_getRotation_1,Ac=i._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=Oe._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1,Pc=i._emscripten_bind_btWheelInfo_set_m_engineForce_1=Oe._emscripten_bind_btWheelInfo_set_m_engineForce_1,Bc=i._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=Oe._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1,Lc=i._emscripten_bind_btPersistentManifold_getNumContacts_0=Oe._emscripten_bind_btPersistentManifold_getNumContacts_0,Vc=i._emscripten_bind_btCylinderShapeX_setLocalScaling_1=Oe._emscripten_bind_btCylinderShapeX_setLocalScaling_1,Ec=i._emscripten_bind_btBoxShape_setMargin_1=Oe._emscripten_bind_btBoxShape_setMargin_1,qc=i._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=Oe._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1,Qc=i._emscripten_bind_tVector3Array_at_1=Oe._emscripten_bind_tVector3Array_at_1,zc=i._emscripten_bind_tVector3Array_pop_back_0=Oe._emscripten_bind_tVector3Array_pop_back_0,Nc=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0,Uc=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0,Kc=i._emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0=Oe._emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0,Zc=i._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=Oe._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0,Xc=i._emscripten_bind_btPairCachingGhostObject_isStaticObject_0=Oe._emscripten_bind_btPairCachingGhostObject_isStaticObject_0,Jc=i._emscripten_bind_btCylinderShape_calculateLocalInertia_2=Oe._emscripten_bind_btCylinderShape_calculateLocalInertia_2,Yc=i._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=Oe._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1,$c=i._emscripten_bind_btHingeConstraint_enableAngularMotor_3=Oe._emscripten_bind_btHingeConstraint_enableAngularMotor_3,ea=i._emscripten_bind_btRigidBody_setContactProcessingThreshold_1=Oe._emscripten_bind_btRigidBody_setContactProcessingThreshold_1,ta=i._emscripten_bind_btGhostObject_isKinematicObject_0=Oe._emscripten_bind_btGhostObject_isKinematicObject_0,na=i._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=Oe._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0,ra=i._emscripten_bind_btRigidBody_applyImpulse_2=Oe._emscripten_bind_btRigidBody_applyImpulse_2,_a=i._emscripten_bind_btFixedConstraint_setParam_3=Oe._emscripten_bind_btFixedConstraint_setParam_3,sa=i._emscripten_bind_btConcaveShape_calculateLocalInertia_2=Oe._emscripten_bind_btConcaveShape_calculateLocalInertia_2,ca=i._emscripten_bind_RaycastInfo_get_m_groundObject_0=Oe._emscripten_bind_RaycastInfo_get_m_groundObject_0,aa=i._emscripten_bind_btGImpactMeshShape_getLocalScaling_0=Oe._emscripten_bind_btGImpactMeshShape_getLocalScaling_0,la=i._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=Oe._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1,fa=i._emscripten_bind_btRigidBody_setAngularVelocity_1=Oe._emscripten_bind_btRigidBody_setAngularVelocity_1,ba=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1,pa=i._emscripten_bind_btCapsuleShape___destroy___0=Oe._emscripten_bind_btCapsuleShape___destroy___0,ua=i._emscripten_bind_btConvexShape_setLocalScaling_1=Oe._emscripten_bind_btConvexShape_setLocalScaling_1,da=i._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=Oe._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0,ma=i._emscripten_bind_AllConvexResultCallback_get_m_collisionFilterMask_0=Oe._emscripten_bind_AllConvexResultCallback_get_m_collisionFilterMask_0,ha=i.___udivdi3=Oe.___udivdi3,ya=i._emscripten_bind_btRaycastVehicle_setUserConstraintId_1=Oe._emscripten_bind_btRaycastVehicle_setUserConstraintId_1,ga=i._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=Oe._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1,Ca=i._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=Oe._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1,va=i._emscripten_bind_btCylinderShapeX_getLocalScaling_0=Oe._emscripten_bind_btCylinderShapeX_getLocalScaling_0,ka=i._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=Oe._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0,Sa=i._emscripten_bind_RayResultCallback_hasHit_0=Oe._emscripten_bind_RayResultCallback_hasHit_0,xa=i._bitshift64Shl=Oe._bitshift64Shl,Ia=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0,Ma=i._emscripten_bind_btCylinderShapeX_getMargin_0=Oe._emscripten_bind_btCylinderShapeX_getMargin_0,Da=i._emscripten_bind_btQuaternion_normalize_0=Oe._emscripten_bind_btQuaternion_normalize_0,Ta=i._emscripten_bind_btQuaternion___destroy___0=Oe._emscripten_bind_btQuaternion___destroy___0,Oa=i._emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0=Oe._emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0,Wa=i._emscripten_bind_btWheelInfo_get_m_frictionSlip_0=Oe._emscripten_bind_btWheelInfo_get_m_frictionSlip_0,Aa=i._emscripten_bind_btConeShapeZ_setLocalScaling_1=Oe._emscripten_bind_btConeShapeZ_setLocalScaling_1,Pa=i._emscripten_bind_btPairCachingGhostObject_setActivationState_1=Oe._emscripten_bind_btPairCachingGhostObject_setActivationState_1,Ba=i._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=Oe._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0,La=i._emscripten_bind_btRaycastVehicle_getNumWheels_0=Oe._emscripten_bind_btRaycastVehicle_getNumWheels_0,Va=i._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=Oe._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1,Ea=i._emscripten_bind_tBtCollisionObjectArray_clear_0=Oe._emscripten_bind_tBtCollisionObjectArray_clear_0,Qa=i._emscripten_bind_btGhostObject_setRollingFriction_1=Oe._emscripten_bind_btGhostObject_setRollingFriction_1,za=i._emscripten_bind_btBoxShape_getLocalScaling_0=Oe._emscripten_bind_btBoxShape_getLocalScaling_0,Na=i.___muldi3=Oe.___muldi3,Ua=i._emscripten_bind_btPoint2PointConstraint_set_m_setting_1=Oe._emscripten_bind_btPoint2PointConstraint_set_m_setting_1,Ka=i._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=Oe._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0,Xa=i._emscripten_bind_btCompoundShape_btCompoundShape_0=Oe._emscripten_bind_btCompoundShape_btCompoundShape_0,Ja=i._emscripten_bind_btCompoundShape_btCompoundShape_1=Oe._emscripten_bind_btCompoundShape_btCompoundShape_1,$a=i._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=Oe._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1,el=i._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=Oe._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2,tl=i.__GLOBAL__sub_I_btQuickprof_cpp=Oe.__GLOBAL__sub_I_btQuickprof_cpp,il=i._emscripten_bind_btConcaveShape_getLocalScaling_0=Oe._emscripten_bind_btConcaveShape_getLocalScaling_0,nl=i._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=Oe._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1,rl=i._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=Oe._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0,_l=i._emscripten_bind_btPairCachingGhostObject_setInterpolationLinearVelocity_1=Oe._emscripten_bind_btPairCachingGhostObject_setInterpolationLinearVelocity_1,ol=i._emscripten_bind_btRigidBody_updateInertiaTensor_0=Oe._emscripten_bind_btRigidBody_updateInertiaTensor_0,sl=i._emscripten_bind_tVector3Array_push_back_1=Oe._emscripten_bind_tVector3Array_push_back_1,cl=i._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1=Oe._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1,al=i._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=Oe._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2,ll=i._emscripten_bind_tScalarArray_at_1=Oe._emscripten_bind_tScalarArray_at_1,fl=i._emscripten_bind_btCollisionObject_getInterpolationLinearVelocity_0=Oe._emscripten_bind_btCollisionObject_getInterpolationLinearVelocity_0,bl=i._emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2=Oe._emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2,pl=i._emscripten_bind_btTransform_setOrigin_1=Oe._emscripten_bind_btTransform_setOrigin_1,ul=i._emscripten_bind_ClosestRayResultCallback_hasHit_0=Oe._emscripten_bind_ClosestRayResultCallback_hasHit_0,dl=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0,ml=i._emscripten_bind_btCompoundShape_addChildShape_2=Oe._emscripten_bind_btCompoundShape_addChildShape_2,hl=i._emscripten_bind_btDispatcher___destroy___0=Oe._emscripten_bind_btDispatcher___destroy___0,yl=i._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=Oe._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0,gl=i._llvm_bswap_i16=Oe._llvm_bswap_i16,Cl=i._emscripten_bind_btDiscreteDynamicsWorld___destroy___0=Oe._emscripten_bind_btDiscreteDynamicsWorld___destroy___0,vl=i._emscripten_bind_btConvexShape___destroy___0=Oe._emscripten_bind_btConvexShape___destroy___0,wl=i._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=Oe._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1,kl=i._emscripten_bind_btWheelInfo_set_m_brake_1=Oe._emscripten_bind_btWheelInfo_set_m_brake_1,Sl=i._memmove=Oe._memmove,jl=i._emscripten_bind_btWheelInfo_set_m_worldTransform_1=Oe._emscripten_bind_btWheelInfo_set_m_worldTransform_1,Rl=i._emscripten_bind_btDiscreteDynamicsWorld_setApplySpeculativeContactRestitution_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_setApplySpeculativeContactRestitution_1,xl=i._emscripten_bind_btConeTwistConstraint_setParam_3=Oe._emscripten_bind_btConeTwistConstraint_setParam_3,Il=i._emscripten_bind_btCapsuleShapeX_setLocalScaling_1=Oe._emscripten_bind_btCapsuleShapeX_setLocalScaling_1,Ml=i._emscripten_bind_btConeTwistConstraint_setMotorTarget_1=Oe._emscripten_bind_btConeTwistConstraint_setMotorTarget_1,Dl=i._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=Oe._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0,Tl=i._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=Oe._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0,Ol=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=Oe._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP,Hl=i._emscripten_bind_btCollisionObject_setRestitution_1=Oe._emscripten_bind_btCollisionObject_setRestitution_1,Gl=i._emscripten_bind_btRigidBody_applyCentralForce_1=Oe._emscripten_bind_btRigidBody_applyCentralForce_1,Wl=i._emscripten_bind_LocalConvexResult_get_m_hitFraction_0=Oe._emscripten_bind_LocalConvexResult_get_m_hitFraction_0,Fl=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP=Oe._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP,Al=i._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=Oe._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1,Pl=i._emscripten_bind_btQuaternion_w_0=Oe._emscripten_bind_btQuaternion_w_0,Bl=i._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=Oe._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0,Ll=i._emscripten_bind_btTransform_getRotation_0=Oe._emscripten_bind_btTransform_getRotation_0,Vl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_6=Oe._emscripten_bind_btHingeConstraint_btHingeConstraint_6,El=i._emscripten_bind_btHingeConstraint_btHingeConstraint_7=Oe._emscripten_bind_btHingeConstraint_btHingeConstraint_7,ql=i._emscripten_bind_btCapsuleShapeZ_getMargin_0=Oe._emscripten_bind_btCapsuleShapeZ_getMargin_0,Ql=i._emscripten_bind_btHingeConstraint_btHingeConstraint_5=Oe._emscripten_bind_btHingeConstraint_btHingeConstraint_5,zl=i._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=Oe._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0,Nl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_3=Oe._emscripten_bind_btHingeConstraint_btHingeConstraint_3,Ul=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1,Kl=i._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=Oe._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3,Zl=i._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=Oe._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4,Xl=i._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=Oe._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0,Jl=i._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=Oe._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0,Yl=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0,$l=i._emscripten_bind_btTypedConstraint___destroy___0=Oe._emscripten_bind_btTypedConstraint___destroy___0,ef=i._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=Oe._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1,tf=i._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=Oe._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1,nf=i._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=Oe._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3,rf=i._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1,_f=i._emscripten_bind_btQuaternion_btQuaternion_4=Oe._emscripten_bind_btQuaternion_btQuaternion_4,of=i._emscripten_bind_AllHitsRayResultCallback___destroy___0=Oe._emscripten_bind_AllHitsRayResultCallback___destroy___0,sf=i._emscripten_bind_btWheelInfo_set_m_rotation_1=Oe._emscripten_bind_btWheelInfo_set_m_rotation_1,cf=i._emscripten_bind_btSphereShape_btSphereShape_1=Oe._emscripten_bind_btSphereShape_btSphereShape_1,af=i._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=Oe._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0,lf=i._emscripten_bind_btCapsuleShapeZ_getRadius_0=Oe._emscripten_bind_btCapsuleShapeZ_getRadius_0,ff=i._emscripten_bind_btQuaternion_y_0=Oe._emscripten_bind_btQuaternion_y_0,bf=i._emscripten_bind_btQuadWord_setZ_1=Oe._emscripten_bind_btQuadWord_setZ_1,pf=i._emscripten_bind_btPairCachingGhostObject_getCcdSweptSphereRadius_0=Oe._emscripten_bind_btPairCachingGhostObject_getCcdSweptSphereRadius_0,uf=i._emscripten_bind_btCollisionWorld_addCollisionObject_1=Oe._emscripten_bind_btCollisionWorld_addCollisionObject_1,df=i._emscripten_bind_btCollisionWorld_addCollisionObject_2=Oe._emscripten_bind_btCollisionWorld_addCollisionObject_2,mf=i._emscripten_bind_btCompoundShape_setLocalScaling_1=Oe._emscripten_bind_btCompoundShape_setLocalScaling_1,hf=i._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=Oe._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1,yf=i._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=Oe._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1,gf=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1,Cf=i._emscripten_bind_btOverlappingPairCallback___destroy___0=Oe._emscripten_bind_btOverlappingPairCallback___destroy___0,vf=i._emscripten_bind_btPairCachingGhostObject_getCcdMotionThreshold_0=Oe._emscripten_bind_btPairCachingGhostObject_getCcdMotionThreshold_0,wf=i._emscripten_bind_btWheelInfo_get_m_skidInfo_0=Oe._emscripten_bind_btWheelInfo_get_m_skidInfo_0,kf=i._emscripten_bind_btHeightfieldTerrainShape_setMargin_1=Oe._emscripten_bind_btHeightfieldTerrainShape_setMargin_1,Sf=i._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=Oe._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0,jf=i._emscripten_bind_btCapsuleShape_setMargin_1=Oe._emscripten_bind_btCapsuleShape_setMargin_1,Rf=i._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=Oe._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1,xf=i._emscripten_bind_btDynamicsWorld_contactTest_2=Oe._emscripten_bind_btDynamicsWorld_contactTest_2,If=i._emscripten_bind_btCapsuleShapeX_getUpAxis_0=Oe._emscripten_bind_btCapsuleShapeX_getUpAxis_0,Mf=i._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=Oe._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0,Df=i._emscripten_bind_btActionInterface___destroy___0=Oe._emscripten_bind_btActionInterface___destroy___0,Tf=i._emscripten_bind_AllConvexResultCallback_set_m_collisionFilterGroup_1=Oe._emscripten_bind_AllConvexResultCallback_set_m_collisionFilterGroup_1,Of=i._emscripten_bind_btDefaultMotionState_setWorldTransform_1=Oe._emscripten_bind_btDefaultMotionState_setWorldTransform_1,Hf=i._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=Oe._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0,Gf=i._emscripten_bind_RayResultCallback_get_m_collisionObject_0=Oe._emscripten_bind_RayResultCallback_get_m_collisionObject_0,Wf=i._emscripten_bind_btPoint2PointConstraint_getPivotInA_0=Oe._emscripten_bind_btPoint2PointConstraint_getPivotInA_0,Ff=i._emscripten_bind_btGhostObject_getCcdSweptSphereRadius_0=Oe._emscripten_bind_btGhostObject_getCcdSweptSphereRadius_0,Af=i._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=Oe._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2,Pf=i._emscripten_bind_btVector4_setY_1=Oe._emscripten_bind_btVector4_setY_1,Bf=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1,Lf=i._emscripten_bind_ClosestConvexResultCallback___destroy___0=Oe._emscripten_bind_ClosestConvexResultCallback___destroy___0,Vf=i._emscripten_bind_btQuaternion_normalized_0=Oe._emscripten_bind_btQuaternion_normalized_0,Ef=i._emscripten_bind_btDynamicsWorld_addCollisionObject_1=Oe._emscripten_bind_btDynamicsWorld_addCollisionObject_1,qf=i._emscripten_bind_btGhostObject_isStaticObject_0=Oe._emscripten_bind_btGhostObject_isStaticObject_0;i.___cxa_can_catch=Oe.___cxa_can_catch;var Qf=i._emscripten_bind_btDynamicsWorld_addCollisionObject_2=Oe._emscripten_bind_btDynamicsWorld_addCollisionObject_2,zf=i._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=Oe._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0,Nf=i._emscripten_bind_LayaMotionState___destroy___0=Oe._emscripten_bind_LayaMotionState___destroy___0,Uf=i._emscripten_bind_btVector3_rotate_2=Oe._emscripten_bind_btVector3_rotate_2,Kf=i._emscripten_bind_btHeightfieldTerrainShape___destroy___0=Oe._emscripten_bind_btHeightfieldTerrainShape___destroy___0,Zf=i._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=Oe._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0,Xf=i._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=Oe._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0,Jf=i._emscripten_bind_btVector4_op_mul_1=Oe._emscripten_bind_btVector4_op_mul_1,Yf=i._emscripten_bind_btQuaternion_op_mulq_1=Oe._emscripten_bind_btQuaternion_op_mulq_1,$f=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1,eb=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1,tb=i._emscripten_bind_tBtCollisionObjectArray_size_0=Oe._emscripten_bind_tBtCollisionObjectArray_size_0,ib=i._emscripten_bind_btGhostObject_getUserIndex_0=Oe._emscripten_bind_btGhostObject_getUserIndex_0,_b=i._emscripten_bind_btGImpactShapeInterface_getLocalScaling_0=Oe._emscripten_bind_btGImpactShapeInterface_getLocalScaling_0,ob=i._emscripten_bind_btWheelInfo_set_m_deltaRotation_1=Oe._emscripten_bind_btWheelInfo_set_m_deltaRotation_1,sb=i._emscripten_bind_btVector3___destroy___0=Oe._emscripten_bind_btVector3___destroy___0,cb=i._emscripten_bind_RaycastInfo___destroy___0=Oe._emscripten_bind_RaycastInfo___destroy___0,ab=i._emscripten_bind_btRigidBody_setAngularFactor_1=Oe._emscripten_bind_btRigidBody_setAngularFactor_1,lb=i._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=Oe._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2,fb=i._emscripten_bind_btGhostObject_setInterpolationLinearVelocity_1=Oe._emscripten_bind_btGhostObject_setInterpolationLinearVelocity_1,bb=i._emscripten_bind_btConeShapeZ_getLocalScaling_0=Oe._emscripten_bind_btConeShapeZ_getLocalScaling_0,pb=i._emscripten_bind_btMotionState_getWorldTransform_1=Oe._emscripten_bind_btMotionState_getWorldTransform_1,ub=i._emscripten_bind_btDynamicsWorld_getSolverInfo_0=Oe._emscripten_bind_btDynamicsWorld_getSolverInfo_0,db=i._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=Oe._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1,mb=i._emscripten_bind_btDynamicsWorld_getBroadphase_0=Oe._emscripten_bind_btDynamicsWorld_getBroadphase_0,hb=i._emscripten_bind_btSphereShape_getMargin_0=Oe._emscripten_bind_btSphereShape_getMargin_0,yb=i._emscripten_bind_btVector3_x_0=Oe._emscripten_bind_btVector3_x_0;i.___cxa_is_pointer_type=Oe.___cxa_is_pointer_type;var gb=i._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=Oe._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3,Cb=i._emscripten_bind_btCollisionObject_getCollisionShape_0=Oe._emscripten_bind_btCollisionObject_getCollisionShape_0,wb=i._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=Oe._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0,kb=i._emscripten_bind_btRigidBody_getRestitution_0=Oe._emscripten_bind_btRigidBody_getRestitution_0,Sb=i._emscripten_bind_btManifoldPoint___destroy___0=Oe._emscripten_bind_btManifoldPoint___destroy___0,jb=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1,Rb=i._emscripten_bind_btVector4_length_0=Oe._emscripten_bind_btVector4_length_0,xb=i._emscripten_bind_btGhostObject_setUserIndex_1=Oe._emscripten_bind_btGhostObject_setUserIndex_1,Ib=i._emscripten_bind_btWheelInfo_getSuspensionRestLength_0=Oe._emscripten_bind_btWheelInfo_getSuspensionRestLength_0,Mb=i._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=Oe._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1,Tb=i._emscripten_bind_btGhostObject_setRestitution_1=Oe._emscripten_bind_btGhostObject_setRestitution_1,Ob=i._emscripten_bind_btConeTwistConstraint_setAngularOnly_1=Oe._emscripten_bind_btConeTwistConstraint_setAngularOnly_1,Hb=i._emscripten_bind_btCollisionObject_setFriction_1=Oe._emscripten_bind_btCollisionObject_setFriction_1,Wb=i._emscripten_bind_btDefaultCollisionConfiguration___destroy___0=Oe._emscripten_bind_btDefaultCollisionConfiguration___destroy___0,Fb=i._emscripten_bind_btRigidBody_setMassProps_2=Oe._emscripten_bind_btRigidBody_setMassProps_2;i.getTempRet0=Oe.getTempRet0;var Ab=i._emscripten_bind_btVector3_setValue_3=Oe._emscripten_bind_btVector3_setValue_3,Pb=i._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=Oe._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1,Bb=i._emscripten_bind_RaycastInfo_get_m_suspensionLength_0=Oe._emscripten_bind_RaycastInfo_get_m_suspensionLength_0,Lb=i._emscripten_bind_btGhostObject_getCollisionFlags_0=Oe._emscripten_bind_btGhostObject_getCollisionFlags_0,Vb=i._emscripten_bind_btCapsuleShapeX___destroy___0=Oe._emscripten_bind_btCapsuleShapeX___destroy___0,Eb=i._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=Oe._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0,qb=i._emscripten_bind_tScalarArray_push_back_1=Oe._emscripten_bind_tScalarArray_push_back_1,Qb=i._emscripten_bind_btGImpactShapeInterface_updateBound_0=Oe._emscripten_bind_btGImpactShapeInterface_updateBound_0,zb=i._emscripten_bind_btQuaternion_getAxis_0=Oe._emscripten_bind_btQuaternion_getAxis_0,Nb=i._emscripten_bind_btRaycastVehicle_getUserConstraintId_0=Oe._emscripten_bind_btRaycastVehicle_getUserConstraintId_0,Ub=i._emscripten_bind_btRaycastVehicle_updateAction_2=Oe._emscripten_bind_btRaycastVehicle_updateAction_2,Kb=i._emscripten_bind_btHingeConstraint_setLimit_4=Oe._emscripten_bind_btHingeConstraint_setLimit_4,Zb=i._emscripten_bind_btHingeConstraint_setLimit_5=Oe._emscripten_bind_btHingeConstraint_setLimit_5,Xb=i._emscripten_bind_btDefaultVehicleRaycaster___destroy___0=Oe._emscripten_bind_btDefaultVehicleRaycaster___destroy___0,Jb=i._emscripten_bind_btRigidBody_setWorldTransform_1=Oe._emscripten_bind_btRigidBody_setWorldTransform_1,Yb=i._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=Oe._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1,$b=i._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=Oe._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1,ep=i._emscripten_bind_AllConvexResultCallback_get_m_hitFractions_0=Oe._emscripten_bind_AllConvexResultCallback_get_m_hitFractions_0,tp=i._emscripten_bind_btGhostObject_getNumOverlappingObjects_0=Oe._emscripten_bind_btGhostObject_getNumOverlappingObjects_0,ip=i._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=Oe._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0,np=i._emscripten_bind_btGhostObject_getCollisionShape_0=Oe._emscripten_bind_btGhostObject_getCollisionShape_0,rp=i._emscripten_bind_btRigidBody_getTotalForce_0=Oe._emscripten_bind_btRigidBody_getTotalForce_0,_p=i._emscripten_bind_btRigidBody_setInterpolationAngularVelocity_1=Oe._emscripten_bind_btRigidBody_setInterpolationAngularVelocity_1,op=i._emscripten_bind_btCollisionObject_setAnisotropicFriction_2=Oe._emscripten_bind_btCollisionObject_setAnisotropicFriction_2,sp=i._emscripten_bind_btBoxShape___destroy___0=Oe._emscripten_bind_btBoxShape___destroy___0,cp=i._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=Oe._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0,ap=i._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0=Oe._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0,lp=i._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=Oe._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0,fp=i._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=Oe._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1,bp=i._emscripten_bind_RaycastInfo_set_m_groundObject_1=Oe._emscripten_bind_RaycastInfo_set_m_groundObject_1,pp=i._emscripten_bind_btGhostObject_activate_1=Oe._emscripten_bind_btGhostObject_activate_1,up=i._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=Oe._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2,dp=i._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=Oe._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0,mp=i._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=Oe._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0,hp=i._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=Oe._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0,yp=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1,gp=i._emscripten_bind_btCapsuleShapeZ___destroy___0=Oe._emscripten_bind_btCapsuleShapeZ___destroy___0,Cp=i._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=Oe._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1,vp=i._emscripten_bind_btSphereShape_setMargin_1=Oe._emscripten_bind_btSphereShape_setMargin_1,wp=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1,kp=i._emscripten_bind_btConeShapeZ_btConeShapeZ_2=Oe._emscripten_bind_btConeShapeZ_btConeShapeZ_2,Sp=i._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=Oe._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1,jp=i._emscripten_bind_btRigidBody_setInterpolationLinearVelocity_1=Oe._emscripten_bind_btRigidBody_setInterpolationLinearVelocity_1,Rp=i._emscripten_bind_btSliderConstraint_setUpperAngLimit_1=Oe._emscripten_bind_btSliderConstraint_setUpperAngLimit_1,xp=i._emscripten_bind_btDynamicsWorld_contactPairTest_3=Oe._emscripten_bind_btDynamicsWorld_contactPairTest_3,Ip=i._emscripten_bind_btCollisionWorld_getPairCache_0=Oe._emscripten_bind_btCollisionWorld_getPairCache_0,Mp=i._emscripten_bind_btRigidBody_getAngularSleepingThreshold_0=Oe._emscripten_bind_btRigidBody_getAngularSleepingThreshold_0,Dp=i._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=Oe._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1,Tp=i._emscripten_bind_btWheelInfo_set_m_rollInfluence_1=Oe._emscripten_bind_btWheelInfo_set_m_rollInfluence_1,Op=i._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=Oe._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1,Hp=i._emscripten_enum_PHY_ScalarType_PHY_INTEGER=Oe._emscripten_enum_PHY_ScalarType_PHY_INTEGER,Gp=i._emscripten_bind_tBtCollisionObjectArray_at_1=Oe._emscripten_bind_tBtCollisionObjectArray_at_1,Wp=i._emscripten_bind_btGhostObject_forceActivationState_1=Oe._emscripten_bind_btGhostObject_forceActivationState_1,Fp=i._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=Oe._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0,Ap=i._emscripten_bind_btGImpactMeshShape_updateBound_0=Oe._emscripten_bind_btGImpactMeshShape_updateBound_0,Pp=i._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=Oe._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0,Bp=i._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=Oe._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2,Lp=i._emscripten_bind_btGhostObject_getActivationState_0=Oe._emscripten_bind_btGhostObject_getActivationState_0;i.establishStackSpace=Oe.establishStackSpace;var Vp=i._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=Oe._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1,Ep=i._emscripten_bind_btCylinderShape_getLocalScaling_0=Oe._emscripten_bind_btCylinderShape_getLocalScaling_0,qp=i._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=Oe._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0,Qp=i._emscripten_bind_btGImpactShapeInterface___destroy___0=Oe._emscripten_bind_btGImpactShapeInterface___destroy___0,zp=i._emscripten_bind_RaycastInfo_set_m_contactPointWS_1=Oe._emscripten_bind_RaycastInfo_set_m_contactPointWS_1,Np=i._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=Oe._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2,Up=i._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=Oe._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0,Kp=i._emscripten_bind_btRaycastVehicle___destroy___0=Oe._emscripten_bind_btRaycastVehicle___destroy___0,Zp=i._emscripten_bind_btRaycastVehicle_getRigidBody_0=Oe._emscripten_bind_btRaycastVehicle_getRigidBody_0,Xp=i._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0=Oe._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0,Jp=i._emscripten_bind_btSliderConstraint_enableFeedback_1=Oe._emscripten_bind_btSliderConstraint_enableFeedback_1,Yp=i._emscripten_bind_btWheelInfo_get_m_steering_0=Oe._emscripten_bind_btWheelInfo_get_m_steering_0,$p=i._emscripten_bind_btConstraintSetting_get_m_tau_0=Oe._emscripten_bind_btConstraintSetting_get_m_tau_0,eu=i._emscripten_bind_btConeShape_setLocalScaling_1=Oe._emscripten_bind_btConeShape_setLocalScaling_1,tu=i._emscripten_bind_btCylinderShapeZ_getLocalScaling_0=Oe._emscripten_bind_btCylinderShapeZ_getLocalScaling_0,iu=i._emscripten_bind_btCollisionObject_setCollisionShape_1=Oe._emscripten_bind_btCollisionObject_setCollisionShape_1,nu=i._emscripten_bind_btCollisionShape___destroy___0=Oe._emscripten_bind_btCollisionShape___destroy___0,ru=i._emscripten_bind_btMatrix3x3_getRow_1=Oe._emscripten_bind_btMatrix3x3_getRow_1,_u=i._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=Oe._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0,ou=i._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=Oe._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0,su=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0,cu=i._emscripten_bind_btConeShape_getLocalScaling_0=Oe._emscripten_bind_btConeShape_getLocalScaling_0,au=i._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=Oe._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1,lu=i._emscripten_bind_btKinematicCharacterController_warp_1=Oe._emscripten_bind_btKinematicCharacterController_warp_1,fu=i._emscripten_bind_tVector3Array_clear_0=Oe._emscripten_bind_tVector3Array_clear_0,bu=i._emscripten_bind_btContactSolverInfo___destroy___0=Oe._emscripten_bind_btContactSolverInfo___destroy___0,pu=i._emscripten_bind_btCapsuleShapeX_getRadius_0=Oe._emscripten_bind_btCapsuleShapeX_getRadius_0,uu=i.___muldsi3=Oe.___muldsi3,du=i._emscripten_bind_btTriangleMesh___destroy___0=Oe._emscripten_bind_btTriangleMesh___destroy___0,mu=i._emscripten_bind_btKinematicCharacterController_preStep_1=Oe._emscripten_bind_btKinematicCharacterController_preStep_1,hu=i._emscripten_bind_AllConvexResultCallback_get_m_collisionFilterGroup_0=Oe._emscripten_bind_AllConvexResultCallback_get_m_collisionFilterGroup_0,yu=i._emscripten_bind_btRaycastVehicle_applyEngineForce_2=Oe._emscripten_bind_btRaycastVehicle_applyEngineForce_2,gu=i._emscripten_bind_btBoxShape_calculateLocalInertia_2=Oe._emscripten_bind_btBoxShape_calculateLocalInertia_2,Cu=i._emscripten_bind_btRaycastVehicle_setBrake_2=Oe._emscripten_bind_btRaycastVehicle_setBrake_2,vu=i._emscripten_bind_ConcreteContactResultCallback___destroy___0=Oe._emscripten_bind_ConcreteContactResultCallback___destroy___0,wu=i._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=Oe._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1,ku=i._emscripten_bind_btRigidBody_btRigidBody_1=Oe._emscripten_bind_btRigidBody_btRigidBody_1,Su=i._emscripten_bind_btRaycastVehicle_updateVehicle_1=Oe._emscripten_bind_btRaycastVehicle_updateVehicle_1,ju=i._emscripten_bind_btCollisionObject___destroy___0=Oe._emscripten_bind_btCollisionObject___destroy___0,Ru=i._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=Oe._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1,xu=i._emscripten_bind_btConvexTriangleMeshShape_setMargin_1=Oe._emscripten_bind_btConvexTriangleMeshShape_setMargin_1,Iu=i._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1,Mu=i._emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1=Oe._emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1,Du=i._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=Oe._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1,Tu=i._emscripten_bind_btQuaternion_op_mul_1=Oe._emscripten_bind_btQuaternion_op_mul_1,Ou=i._emscripten_bind_btDispatcherInfo_set_m_timeStep_1=Oe._emscripten_bind_btDispatcherInfo_set_m_timeStep_1,Hu=i._emscripten_bind_btVector3_btVector3_3=Oe._emscripten_bind_btVector3_btVector3_3,Gu=i._emscripten_bind_btVector3_btVector3_0=Oe._emscripten_bind_btVector3_btVector3_0,Wu=i._emscripten_bind_btCollisionObject_getCcdSweptSphereRadius_0=Oe._emscripten_bind_btCollisionObject_getCcdSweptSphereRadius_0,Fu=i._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=Oe._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0,Au=i._emscripten_bind_tBtCollisionObjectArray___destroy___0=Oe._emscripten_bind_tBtCollisionObjectArray___destroy___0,Pu=i._emscripten_bind_btVector3_z_0=Oe._emscripten_bind_btVector3_z_0,Bu=i._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=Oe._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0,Lu=i._emscripten_bind_btPersistentManifold_getBody1_0=Oe._emscripten_bind_btPersistentManifold_getBody1_0,Vu=i._emscripten_bind_btCollisionShape_getMargin_0=Oe._emscripten_bind_btCollisionShape_getMargin_0,Eu=i._emscripten_bind_btBroadphaseInterface___destroy___0=Oe._emscripten_bind_btBroadphaseInterface___destroy___0,qu=i._emscripten_bind_btWheelInfo_updateWheel_2=Oe._emscripten_bind_btWheelInfo_updateWheel_2,Qu=i._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=Oe._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7,zu=i._emscripten_bind_btSphereShape_getLocalScaling_0=Oe._emscripten_bind_btSphereShape_getLocalScaling_0,Nu=i._emscripten_bind_btConeTwistConstraint___destroy___0=Oe._emscripten_bind_btConeTwistConstraint___destroy___0,Uu=i._emscripten_bind_btQuadWord___destroy___0=Oe._emscripten_bind_btQuadWord___destroy___0,Ku=i._emscripten_bind_btQuaternion_setEulerZYX_3=Oe._emscripten_bind_btQuaternion_setEulerZYX_3,Zu=i._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=Oe._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1,Xu=i._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=Oe._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0,Ju=i._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=Oe._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0,Yu=i._emscripten_bind_btRigidBody_getLinearSleepingThreshold_0=Oe._emscripten_bind_btRigidBody_getLinearSleepingThreshold_0,$u=i._emscripten_bind_btGhostObject_setAnisotropicFriction_2=Oe._emscripten_bind_btGhostObject_setAnisotropicFriction_2,ed=i._emscripten_bind_btConstraintSolver___destroy___0=Oe._emscripten_bind_btConstraintSolver___destroy___0,td=i._emscripten_bind_btDbvtBroadphase___destroy___0=Oe._emscripten_bind_btDbvtBroadphase___destroy___0,id=i._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=Oe._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1,nd=i._emscripten_bind_btCapsuleShape_btCapsuleShape_2=Oe._emscripten_bind_btCapsuleShape_btCapsuleShape_2,rd=i._emscripten_bind_btTypedConstraint_enableFeedback_1=Oe._emscripten_bind_btTypedConstraint_enableFeedback_1,_d=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0,od=i._emscripten_bind_btGhostObject_activate_0=Oe._emscripten_bind_btGhostObject_activate_0,sd=i._emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0=Oe._emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0,cd=i._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=Oe._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1,ad=i._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=Oe._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1,ld=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0,fd=i._emscripten_bind_btRigidBody_setAnisotropicFriction_2=Oe._emscripten_bind_btRigidBody_setAnisotropicFriction_2,bd=i._emscripten_bind_btTriangleMeshShape_setLocalScaling_1=Oe._emscripten_bind_btTriangleMeshShape_setLocalScaling_1,pd=i._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=Oe._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1,ud=i._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=Oe._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3,dd=i._emscripten_bind_btPersistentManifold_btPersistentManifold_0=Oe._emscripten_bind_btPersistentManifold_btPersistentManifold_0,md=i._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=Oe._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0,hd=i._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=Oe._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2,yd=i._emscripten_bind_btVector4___destroy___0=Oe._emscripten_bind_btVector4___destroy___0,gd=i._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=Oe._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0,Cd=i._emscripten_bind_btPairCachingGhostObject_getActivationState_0=Oe._emscripten_bind_btPairCachingGhostObject_getActivationState_0,vd=i._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=Oe._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1,wd=i._i64Add=Oe._i64Add,kd=i._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=Oe._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2,Sd=i._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=Oe._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1,jd=i._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=Oe._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1,Rd=i._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=Oe._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4,xd=i._emscripten_bind_btHeightfieldTerrainShape_getMargin_0=Oe._emscripten_bind_btHeightfieldTerrainShape_getMargin_0,Id=i._emscripten_bind_btWheelInfo_get_m_brake_0=Oe._emscripten_bind_btWheelInfo_get_m_brake_0,Md=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0,Dd=i._emscripten_bind_btWheelInfo_get_m_deltaRotation_0=Oe._emscripten_bind_btWheelInfo_get_m_deltaRotation_0,Td=i._emscripten_bind_btPoint2PointConstraint_getPivotInB_0=Oe._emscripten_bind_btPoint2PointConstraint_getPivotInB_0,Od=i._emscripten_bind_btKinematicCharacterController_playerStep_2=Oe._emscripten_bind_btKinematicCharacterController_playerStep_2,Hd=i._emscripten_bind_btDispatcherInfo___destroy___0=Oe._emscripten_bind_btDispatcherInfo___destroy___0,Gd=i.__GLOBAL__sub_I_btConeTwistConstraint_cpp=Oe.__GLOBAL__sub_I_btConeTwistConstraint_cpp,Wd=i._emscripten_bind_btDbvtBroadphase_getOverlappingPairCache_0=Oe._emscripten_bind_btDbvtBroadphase_getOverlappingPairCache_0,Fd=i._emscripten_bind_btCapsuleShapeX_getLocalScaling_0=Oe._emscripten_bind_btCapsuleShapeX_getLocalScaling_0,Ad=i._emscripten_bind_btCylinderShape_getMargin_0=Oe._emscripten_bind_btCylinderShape_getMargin_0,Pd=i._emscripten_bind_btStaticPlaneShape_setLocalScaling_1=Oe._emscripten_bind_btStaticPlaneShape_setLocalScaling_1,Bd=i._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=Oe._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2,Ld=i._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=Oe._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1,Vd=i._emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1=Oe._emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1,Ed=i._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=Oe._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0,qd=i._emscripten_bind_btGhostObject_getWorldTransform_0=Oe._emscripten_bind_btGhostObject_getWorldTransform_0,Qd=i._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=Oe._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0,zd=i._emscripten_bind_LocalConvexResult_set_m_hitFraction_1=Oe._emscripten_bind_LocalConvexResult_set_m_hitFraction_1,Nd=i._emscripten_bind_tScalarArray_clear_0=Oe._emscripten_bind_tScalarArray_clear_0,Ud=i._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=Oe._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2,Kd=i._emscripten_bind_btDispatcherInfo_get_m_timeStep_0=Oe._emscripten_bind_btDispatcherInfo_get_m_timeStep_0,Zd=i._emscripten_bind_btHingeConstraint_setAngularOnly_1=Oe._emscripten_bind_btHingeConstraint_setAngularOnly_1,Xd=i._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=Oe._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1,Jd=i._emscripten_bind_btDynamicsWorld___destroy___0=Oe._emscripten_bind_btDynamicsWorld___destroy___0,Yd=i._emscripten_bind_btMotionState___destroy___0=Oe._emscripten_bind_btMotionState___destroy___0,$d=i._emscripten_bind_btCollisionObject_setCollisionFlags_1=Oe._emscripten_bind_btCollisionObject_setCollisionFlags_1,em=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1,tm=i._emscripten_bind_btPairCachingGhostObject_getRollingFriction_0=Oe._emscripten_bind_btPairCachingGhostObject_getRollingFriction_0,im=i._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1,nm=i._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=Oe._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2,rm=i._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=Oe._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3,_m=i._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=Oe._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1,om=i._emscripten_bind_RaycastInfo_set_m_suspensionLength_1=Oe._emscripten_bind_RaycastInfo_set_m_suspensionLength_1,sm=i._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=Oe._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1,cm=i._emscripten_bind_btVector4_setValue_4=Oe._emscripten_bind_btVector4_setValue_4,am=i._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=Oe._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1,lm=i._bitshift64Lshr=Oe._bitshift64Lshr,fm=i._emscripten_bind_btWheelInfo_set_m_steering_1=Oe._emscripten_bind_btWheelInfo_set_m_steering_1,bm=i._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=Oe._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1,pm=i._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0=Oe._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0,um=i._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=Oe._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0,dm=i._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=Oe._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0,mm=i._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=Oe._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1,hm=i._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=Oe._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4,ym=i._emscripten_bind_btConeTwistConstraint_setLimit_2=Oe._emscripten_bind_btConeTwistConstraint_setLimit_2,gm=i._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=Oe._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2,Cm=i._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=Oe._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1,vm=i._emscripten_bind_btConeShapeX_calculateLocalInertia_2=Oe._emscripten_bind_btConeShapeX_calculateLocalInertia_2,wm=i._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=Oe._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88,km=i._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=Oe._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1,Sm=i._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0=Oe._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0,jm=i._emscripten_bind_btRigidBodyConstructionInfo___destroy___0=Oe._emscripten_bind_btRigidBodyConstructionInfo___destroy___0,Rm=i._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=Oe._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1,xm=i._emscripten_bind_btRigidBody_getWorldTransform_0=Oe._emscripten_bind_btRigidBody_getWorldTransform_0,Im=i._sbrk=Oe._sbrk,Mm=i._emscripten_bind_btPoint2PointConstraint_setPivotA_1=Oe._emscripten_bind_btPoint2PointConstraint_setPivotA_1,Dm=i._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=Oe._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1,Tm=i._memcpy=Oe._memcpy,Om=i._emscripten_bind_btGhostObject_setInterpolationAngularVelocity_1=Oe._emscripten_bind_btGhostObject_setInterpolationAngularVelocity_1,Hm=i._emscripten_bind_btRigidBody_getCcdSweptSphereRadius_0=Oe._emscripten_bind_btRigidBody_getCcdSweptSphereRadius_0,Gm=i._emscripten_bind_btCapsuleShape_calculateLocalInertia_2=Oe._emscripten_bind_btCapsuleShape_calculateLocalInertia_2,Wm=i._emscripten_bind_btRigidBody___destroy___0=Oe._emscripten_bind_btRigidBody___destroy___0,Fm=i._emscripten_bind_btVector3_y_0=Oe._emscripten_bind_btVector3_y_0,Am=i._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=Oe._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0,Pm=i._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=Oe._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2,Bm=i._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=Oe._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3,Lm=i._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=Oe._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0,Vm=i._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=Oe._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9,Em=i._emscripten_bind_btQuaternion_setRotation_2=Oe._emscripten_bind_btQuaternion_setRotation_2,qm=i._emscripten_bind_btGhostObject_setCollisionShape_1=Oe._emscripten_bind_btGhostObject_setCollisionShape_1,Qm=i._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=Oe._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1,zm=i._emscripten_bind_btRigidBody_setRollingFriction_1=Oe._emscripten_bind_btRigidBody_setRollingFriction_1,Nm=i._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=Oe._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1,Um=i._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1;i._emscripten_get_global_libc=Oe._emscripten_get_global_libc;var Km=i._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=Oe._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1,Zm=i._emscripten_bind_btVector4_z_0=Oe._emscripten_bind_btVector4_z_0,Xm=i._emscripten_bind_btCollisionObject_forceActivationState_1=Oe._emscripten_bind_btCollisionObject_forceActivationState_1,Jm=i._emscripten_bind_btKinematicCharacterController_onGround_0=Oe._emscripten_bind_btKinematicCharacterController_onGround_0,Ym=i._free=Oe._free,$m=i._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=Oe._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0,eh=i._emscripten_bind_btRaycastVehicle_updateFriction_1=Oe._emscripten_bind_btRaycastVehicle_updateFriction_1,th=i._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=Oe._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1,ih=i._emscripten_bind_btVector3_normalize_0=Oe._emscripten_bind_btVector3_normalize_0,nh=i._emscripten_bind_btStridingMeshInterface___destroy___0=Oe._emscripten_bind_btStridingMeshInterface___destroy___0;i.runPostSets=Oe.runPostSets;var rh=i._emscripten_bind_btRigidBody_setSleepingThresholds_2=Oe._emscripten_bind_btRigidBody_setSleepingThresholds_2,_h=i._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0=Oe._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0,oh=i._emscripten_bind_btCollisionObject_setWorldTransform_1=Oe._emscripten_bind_btCollisionObject_setWorldTransform_1,sh=i._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=Oe._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0,ch=i._emscripten_bind_btCollisionObject_getBroadphaseHandle_0=Oe._emscripten_bind_btCollisionObject_getBroadphaseHandle_0,ah=i._emscripten_bind_btRigidBody_getUserIndex_0=Oe._emscripten_bind_btRigidBody_getUserIndex_0,lh=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0,fh=i._emscripten_bind_tScalarArray_size_0=Oe._emscripten_bind_tScalarArray_size_0,bh=i._emscripten_bind_btRigidBody_getAabb_2=Oe._emscripten_bind_btRigidBody_getAabb_2,ph=i._emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0=Oe._emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0,uh=i._emscripten_bind_btConvexShape_setMargin_1=Oe._emscripten_bind_btConvexShape_setMargin_1,dh=i._emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0=Oe._emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0,mh=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=Oe._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0,hh=i._emscripten_bind_btRigidBody_activate_1=Oe._emscripten_bind_btRigidBody_activate_1,yh=i._emscripten_bind_btGhostObject_getInterpolationLinearVelocity_0=Oe._emscripten_bind_btGhostObject_getInterpolationLinearVelocity_0,gh=i._emscripten_bind_btCompoundShape_getLocalScaling_0=Oe._emscripten_bind_btCompoundShape_getLocalScaling_0,Ch=i._emscripten_bind_btFixedConstraint_btFixedConstraint_4=Oe._emscripten_bind_btFixedConstraint_btFixedConstraint_4,vh=i._emscripten_bind_btGImpactMeshShape_calculateLocalInertia_2=Oe._emscripten_bind_btGImpactMeshShape_calculateLocalInertia_2,wh=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1,kh=i._emscripten_bind_btGhostObject_setActivationState_1=Oe._emscripten_bind_btGhostObject_setActivationState_1,Sh=i._emscripten_bind_btGhostObject_getRollingFriction_0=Oe._emscripten_bind_btGhostObject_getRollingFriction_0,jh=i._emscripten_bind_btCollisionWorld_contactPairTest_3=Oe._emscripten_bind_btCollisionWorld_contactPairTest_3,Rh=i._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=Oe._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0,xh=i._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=Oe._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1,Ih=i._emscripten_bind_btCollisionObject_setUserIndex_1=Oe._emscripten_bind_btCollisionObject_setUserIndex_1,Mh=i._emscripten_bind_btCylinderShapeX___destroy___0=Oe._emscripten_bind_btCylinderShapeX___destroy___0,Dh=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1,Th=i._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=Oe._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0,Oh=i._emscripten_bind_ContactResultCallback___destroy___0=Oe._emscripten_bind_ContactResultCallback___destroy___0,Hh=i._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=Oe._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0,Gh=i._emscripten_bind_btVector4_x_0=Oe._emscripten_bind_btVector4_x_0,Wh=i._emscripten_bind_btConstraintSetting_btConstraintSetting_0=Oe._emscripten_bind_btConstraintSetting_btConstraintSetting_0,Fh=i._emscripten_bind_btRigidBody_getMotionState_0=Oe._emscripten_bind_btRigidBody_getMotionState_0,Ah=i._emscripten_bind_btKinematicCharacterController_getGhostObject_0=Oe._emscripten_bind_btKinematicCharacterController_getGhostObject_0,Ph=i._emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1=Oe._emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1,Bh=i._emscripten_bind_btTriangleMeshShape___destroy___0=Oe._emscripten_bind_btTriangleMeshShape___destroy___0,Lh=i._llvm_cttz_i32=Oe._llvm_cttz_i32,Vh=i._emscripten_bind_btDynamicsWorld_removeAction_1=Oe._emscripten_bind_btDynamicsWorld_removeAction_1,Eh=i._emscripten_bind_AllConvexResultCallback_get_m_closestHitFraction_0=Oe._emscripten_bind_AllConvexResultCallback_get_m_closestHitFraction_0,qh=i._emscripten_bind_btManifoldPoint_get_m_localPointA_0=Oe._emscripten_bind_btManifoldPoint_get_m_localPointA_0,Qh=i._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=Oe._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0,zh=i._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=Oe._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1,Nh=i._emscripten_bind_btStaticPlaneShape_getLocalScaling_0=Oe._emscripten_bind_btStaticPlaneShape_getLocalScaling_0,Uh=i._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=Oe._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1,Kh=i._emscripten_bind_btTriangleMeshShape_getLocalScaling_0=Oe._emscripten_bind_btTriangleMeshShape_getLocalScaling_0,Zh=i._emscripten_bind_btGhostObject_setUserPointer_1=Oe._emscripten_bind_btGhostObject_setUserPointer_1,Xh=i._emscripten_bind_btKinematicCharacterController_getGravity_0=Oe._emscripten_bind_btKinematicCharacterController_getGravity_0,Jh=i.___udivmoddi4=Oe.___udivmoddi4,Yh=i._emscripten_enum_PHY_ScalarType_PHY_SHORT=Oe._emscripten_enum_PHY_ScalarType_PHY_SHORT,$h=i._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=Oe._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0,ey=i._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=Oe._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1,ty=i._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=Oe._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0,iy=i._emscripten_bind_btQuaternion_op_sub_1=Oe._emscripten_bind_btQuaternion_op_sub_1,ny=i._emscripten_bind_btVector4_normalize_0=Oe._emscripten_bind_btVector4_normalize_0,ry=i._emscripten_bind_btQuaternion_setY_1=Oe._emscripten_bind_btQuaternion_setY_1,_y=i._emscripten_bind_btConeShape_calculateLocalInertia_2=Oe._emscripten_bind_btConeShape_calculateLocalInertia_2,oy=i._emscripten_bind_btDispatcher_getNumManifolds_0=Oe._emscripten_bind_btDispatcher_getNumManifolds_0,sy=i._emscripten_bind_btGImpactShapeInterface_setLocalScaling_1=Oe._emscripten_bind_btGImpactShapeInterface_setLocalScaling_1,cy=i._llvm_bswap_i32=Oe._llvm_bswap_i32,ay=i._emscripten_bind_AllConvexResultCallback_set_m_hitNormalWorld_1=Oe._emscripten_bind_AllConvexResultCallback_set_m_hitNormalWorld_1,ly=i._emscripten_bind_btRaycastVehicle_getForwardVector_0=Oe._emscripten_bind_btRaycastVehicle_getForwardVector_0,fy=i._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=Oe._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2,by=i._emscripten_bind_btConeTwistConstraint_enableFeedback_1=Oe._emscripten_bind_btConeTwistConstraint_enableFeedback_1,py=i._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=Oe._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1,uy=i._emscripten_bind_btSphereShape_setLocalScaling_1=Oe._emscripten_bind_btSphereShape_setLocalScaling_1,dy=i._emscripten_bind_btPoint2PointConstraint_getParam_2=Oe._emscripten_bind_btPoint2PointConstraint_getParam_2,my=i._emscripten_bind_btVector4_w_0=Oe._emscripten_bind_btVector4_w_0,hy=i._emscripten_bind_btWheelInfo_get_m_worldTransform_0=Oe._emscripten_bind_btWheelInfo_get_m_worldTransform_0,yy=i._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=Oe._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0,gy=i._emscripten_bind_btBvhTriangleMeshShape___destroy___0=Oe._emscripten_bind_btBvhTriangleMeshShape___destroy___0,Cy=i._emscripten_bind_btDefaultVehicleRaycaster_castRay_3=Oe._emscripten_bind_btDefaultVehicleRaycaster_castRay_3,vy=i._emscripten_bind_btPoint2PointConstraint_setParam_3=Oe._emscripten_bind_btPoint2PointConstraint_setParam_3,wy=i._emscripten_bind_LocalConvexResult_LocalConvexResult_5=Oe._emscripten_bind_LocalConvexResult_LocalConvexResult_5,ky=i._emscripten_bind_btContactSolverInfo_get_m_numIterations_0=Oe._emscripten_bind_btContactSolverInfo_get_m_numIterations_0,Sy=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0,jy=i._emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1=Oe._emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1,Ry=i._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1,xy=i._emscripten_bind_btVector4_y_0=Oe._emscripten_bind_btVector4_y_0,Iy=i._emscripten_bind_btRaycastVehicle_getUserConstraintType_0=Oe._emscripten_bind_btRaycastVehicle_getUserConstraintType_0,My=i._emscripten_bind_btGeneric6DofConstraint___destroy___0=Oe._emscripten_bind_btGeneric6DofConstraint___destroy___0,Dy=i._emscripten_bind_VoidPtr___destroy___0=Oe._emscripten_bind_VoidPtr___destroy___0,Ty=i._emscripten_bind_btRigidBody_getBroadphaseHandle_0=Oe._emscripten_bind_btRigidBody_getBroadphaseHandle_0,Oy=i._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=Oe._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0,Hy=i._emscripten_bind_btConvexHullShape_addPoint_1=Oe._emscripten_bind_btConvexHullShape_addPoint_1,Gy=i._emscripten_bind_btCollisionShape_getLocalScaling_0=Oe._emscripten_bind_btCollisionShape_getLocalScaling_0,Wy=i._emscripten_bind_btQuaternion_length2_0=Oe._emscripten_bind_btQuaternion_length2_0,Fy=i._emscripten_bind_btRaycastVehicle_resetSuspension_0=Oe._emscripten_bind_btRaycastVehicle_resetSuspension_0,Ay=i._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=Oe._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0,Py=i._emscripten_bind_btRigidBody_activate_0=Oe._emscripten_bind_btRigidBody_activate_0,By=i._emscripten_bind_btTransform_getOrigin_0=Oe._emscripten_bind_btTransform_getOrigin_0,Ly=i._emscripten_bind_btBroadphaseProxy___destroy___0=Oe._emscripten_bind_btBroadphaseProxy___destroy___0,Vy=i._emscripten_bind_btRigidBody_isStaticObject_0=Oe._emscripten_bind_btRigidBody_isStaticObject_0,Ey=i._emscripten_bind_tBtCollisionObjectArray_pop_back_0=Oe._emscripten_bind_tBtCollisionObjectArray_pop_back_0,qy=i._emscripten_bind_btSliderConstraint_setLowerAngLimit_1=Oe._emscripten_bind_btSliderConstraint_setLowerAngLimit_1,Qy=i._emscripten_bind_btHingeConstraint___destroy___0=Oe._emscripten_bind_btHingeConstraint___destroy___0,zy=i._emscripten_bind_btPairCachingGhostObject_getUserPointer_0=Oe._emscripten_bind_btPairCachingGhostObject_getUserPointer_0,Ny=i._emscripten_bind_ContactResultCallback_addSingleResult_7=Oe._emscripten_bind_ContactResultCallback_addSingleResult_7,Uy=i._emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0=Oe._emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0,Ky=i._emscripten_bind_btHingeConstraint_enableFeedback_1=Oe._emscripten_bind_btHingeConstraint_enableFeedback_1,Zy=i._emscripten_bind_btConvexShape_calculateLocalInertia_2=Oe._emscripten_bind_btConvexShape_calculateLocalInertia_2,Xy=i._memset=Oe._memset,Jy=i._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=Oe._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1,Yy=i._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=Oe._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0,$y=i._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0=Oe._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0,eg=i._emscripten_bind_btTriangleMesh_btTriangleMesh_0=Oe._emscripten_bind_btTriangleMesh_btTriangleMesh_0,tg=i._emscripten_bind_btTriangleMesh_btTriangleMesh_1=Oe._emscripten_bind_btTriangleMesh_btTriangleMesh_1,ig=i._emscripten_bind_btTriangleMesh_btTriangleMesh_2=Oe._emscripten_bind_btTriangleMesh_btTriangleMesh_2,ng=i._emscripten_bind_btCollisionObject_isStaticObject_0=Oe._emscripten_bind_btCollisionObject_isStaticObject_0,rg=i._emscripten_bind_btWheelInfo_set_m_frictionSlip_1=Oe._emscripten_bind_btWheelInfo_set_m_frictionSlip_1,_g=i._emscripten_bind_btRigidBody_getCollisionShape_0=Oe._emscripten_bind_btRigidBody_getCollisionShape_0,og=i._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=Oe._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1,sg=i._emscripten_bind_btRigidBody_setCenterOfMassTransform_1=Oe._emscripten_bind_btRigidBody_setCenterOfMassTransform_1,cg=i._emscripten_bind_AllConvexResultCallback_set_m_closestHitFraction_1=Oe._emscripten_bind_AllConvexResultCallback_set_m_closestHitFraction_1,ag=i._emscripten_bind_btManifoldPoint_get_m_localPointB_0=Oe._emscripten_bind_btManifoldPoint_get_m_localPointB_0,lg=i._emscripten_bind_btQuaternion_inverse_0=Oe._emscripten_bind_btQuaternion_inverse_0,fg=i._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=Oe._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3,bg=i._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=Oe._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0,pg=i._emscripten_bind_btSliderConstraint_setLowerLinLimit_1=Oe._emscripten_bind_btSliderConstraint_setLowerLinLimit_1,ug=i._emscripten_bind_btRigidBody_getAngularVelocity_0=Oe._emscripten_bind_btRigidBody_getAngularVelocity_0,dg=i._emscripten_bind_AllConvexResultCallback_get_m_hitNormalWorld_0=Oe._emscripten_bind_AllConvexResultCallback_get_m_hitNormalWorld_0,mg=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1,hg=i._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=Oe._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1,yg=i._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=Oe._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0,gg=i._emscripten_bind_btRigidBody_setLinearVelocity_1=Oe._emscripten_bind_btRigidBody_setLinearVelocity_1,Cg=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0,vg=i._emscripten_bind_btRigidBody_getFlags_0=Oe._emscripten_bind_btRigidBody_getFlags_0,wg=i._emscripten_bind_btVehicleTuning_btVehicleTuning_0=Oe._emscripten_bind_btVehicleTuning_btVehicleTuning_0,kg=i._emscripten_bind_RayResultCallback_set_m_collisionObject_1=Oe._emscripten_bind_RayResultCallback_set_m_collisionObject_1,Sg=i._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=Oe._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1,jg=i._emscripten_bind_btGhostObject_getRestitution_0=Oe._emscripten_bind_btGhostObject_getRestitution_0,Rg=i._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=Oe._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1,xg=i._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=Oe._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0,Ig=i._emscripten_bind_btDynamicsWorld_addAction_1=Oe._emscripten_bind_btDynamicsWorld_addAction_1,Mg=i._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=Oe._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1,Dg=i._emscripten_bind_btPairCachingGhostObject_getFriction_0=Oe._emscripten_bind_btPairCachingGhostObject_getFriction_0,Tg=i._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=Oe._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2,Og=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=Oe._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1,Hg=i._emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1=Oe._emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1,Gg=i._emscripten_bind_btRigidBody_setGravity_1=Oe._emscripten_bind_btRigidBody_setGravity_1,Wg=i._emscripten_bind_btWheelInfo_get_m_rotation_0=Oe._emscripten_bind_btWheelInfo_get_m_rotation_0,Fg=i._emscripten_enum_PHY_ScalarType_PHY_FLOAT=Oe._emscripten_enum_PHY_ScalarType_PHY_FLOAT,Ag=i._emscripten_bind_btWheelInfo_set_m_skidInfo_1=Oe._emscripten_bind_btWheelInfo_set_m_skidInfo_1,Pg=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1=Oe._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1,Bg=i._emscripten_bind_btKinematicCharacterController_setFallSpeed_1=Oe._emscripten_bind_btKinematicCharacterController_setFallSpeed_1,Lg=i._emscripten_bind_btRigidBody_setActivationState_1=Oe._emscripten_bind_btRigidBody_setActivationState_1,Vg=i._emscripten_bind_btGImpactMeshShape_setLocalScaling_1=Oe._emscripten_bind_btGImpactMeshShape_setLocalScaling_1,Eg=i._emscripten_bind_ClosestConvexResultCallback_hasHit_0=Oe._emscripten_bind_ClosestConvexResultCallback_hasHit_0,qg=i._emscripten_bind_btConvexTriangleMeshShape___destroy___0=Oe._emscripten_bind_btConvexTriangleMeshShape___destroy___0,Qg=i._emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1=Oe._emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1,zg=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0,Ng=i._emscripten_bind_btConeTwistConstraint_getParam_2=Oe._emscripten_bind_btConeTwistConstraint_getParam_2,Ug=i._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=Oe._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0,Kg=i._emscripten_bind_btTriangleMesh_addTriangle_3=Oe._emscripten_bind_btTriangleMesh_addTriangle_3,Zg=i._emscripten_bind_btGhostObject_getOverlappingObject_1=Oe._emscripten_bind_btGhostObject_getOverlappingObject_1,Xg=i._emscripten_bind_btTriangleMesh_addTriangle_4=Oe._emscripten_bind_btTriangleMesh_addTriangle_4,Jg=i._emscripten_bind_btGImpactShapeInterface_calculateLocalInertia_2=Oe._emscripten_bind_btGImpactShapeInterface_calculateLocalInertia_2,Yg=i._emscripten_bind_btRigidBody_applyTorqueImpulse_1=Oe._emscripten_bind_btRigidBody_applyTorqueImpulse_1,$g=i._emscripten_bind_btVector3_op_add_1=Oe._emscripten_bind_btVector3_op_add_1,eC=i._emscripten_bind_btRigidBody_setCollisionFlags_1=Oe._emscripten_bind_btRigidBody_setCollisionFlags_1,tC=i._emscripten_bind_btFixedConstraint_enableFeedback_1=Oe._emscripten_bind_btFixedConstraint_enableFeedback_1,iC=i._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=Oe._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1,nC=i._emscripten_bind_btRaycastVehicle_setUserConstraintType_1=Oe._emscripten_bind_btRaycastVehicle_setUserConstraintType_1,rC=i._emscripten_bind_btConeShape___destroy___0=Oe._emscripten_bind_btConeShape___destroy___0,_C=i._emscripten_bind_btCapsuleShape_getLocalScaling_0=Oe._emscripten_bind_btCapsuleShape_getLocalScaling_0,oC=i._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=Oe._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2,sC=i._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=Oe._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0,cC=i._emscripten_bind_btSliderConstraint_btSliderConstraint_5=Oe._emscripten_bind_btSliderConstraint_btSliderConstraint_5,aC=i._emscripten_bind_btSliderConstraint_btSliderConstraint_3=Oe._emscripten_bind_btSliderConstraint_btSliderConstraint_3,lC=i._emscripten_bind_btTransform___destroy___0=Oe._emscripten_bind_btTransform___destroy___0,fC=i._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=Oe._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0,bC=i._emscripten_bind_btDynamicsWorld_convexSweepTest_5=Oe._emscripten_bind_btDynamicsWorld_convexSweepTest_5,pC=i._emscripten_bind_btSliderConstraint___destroy___0=Oe._emscripten_bind_btSliderConstraint___destroy___0,uC=i._emscripten_bind_btRigidBody_forceActivationState_1=Oe._emscripten_bind_btRigidBody_forceActivationState_1,dC=i._emscripten_bind_btPoint2PointConstraint_setPivotB_1=Oe._emscripten_bind_btPoint2PointConstraint_setPivotB_1,mC=i._emscripten_bind_btManifoldPoint_getDistance_0=Oe._emscripten_bind_btManifoldPoint_getDistance_0,hC=i._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0=Oe._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0,yC=i._emscripten_bind_RaycastInfo_set_m_hardPointWS_1=Oe._emscripten_bind_RaycastInfo_set_m_hardPointWS_1,gC=i._emscripten_bind_btKinematicCharacterController_getMaxSlope_0=Oe._emscripten_bind_btKinematicCharacterController_getMaxSlope_0,CC=i._emscripten_bind_btDynamicsWorld_updateSingleAabb_1=Oe._emscripten_bind_btDynamicsWorld_updateSingleAabb_1,vC=i._emscripten_bind_btRigidBody_getRollingFriction_0=Oe._emscripten_bind_btRigidBody_getRollingFriction_0,wC=i._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=Oe._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0,kC=i._emscripten_bind_btRaycastVehicle_addWheel_7=Oe._emscripten_bind_btRaycastVehicle_addWheel_7,SC=i._emscripten_bind_btQuaternion_op_add_1=Oe._emscripten_bind_btQuaternion_op_add_1,jC=i._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=Oe._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1,RC=i._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=Oe._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2,xC=i._emscripten_bind_btStaticPlaneShape___destroy___0=Oe._emscripten_bind_btStaticPlaneShape___destroy___0,IC=i._emscripten_bind_btHingeConstraint_enableMotor_1=Oe._emscripten_bind_btHingeConstraint_enableMotor_1,MC=i._emscripten_bind_btPairCachingGhostObject_getRestitution_0=Oe._emscripten_bind_btPairCachingGhostObject_getRestitution_0,DC=i._emscripten_bind_btCylinderShapeZ_setLocalScaling_1=Oe._emscripten_bind_btCylinderShapeZ_setLocalScaling_1,TC=i._emscripten_bind_btBoxShape_setLocalScaling_1=Oe._emscripten_bind_btBoxShape_setLocalScaling_1,OC=i._emscripten_bind_btConeShapeZ___destroy___0=Oe._emscripten_bind_btConeShapeZ___destroy___0,HC=i._emscripten_bind_btDynamicsWorld_getPairCache_0=Oe._emscripten_bind_btDynamicsWorld_getPairCache_0,GC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0,WC=i._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=Oe._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5,FC=i._emscripten_bind_RaycastInfo_get_m_isInContact_0=Oe._emscripten_bind_RaycastInfo_get_m_isInContact_0,AC=i._emscripten_bind_btRigidBody_setRestitution_1=Oe._emscripten_bind_btRigidBody_setRestitution_1,PC=i._emscripten_bind_btVector4_btVector4_0=Oe._emscripten_bind_btVector4_btVector4_0,BC=i._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=Oe._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0,LC=i._emscripten_bind_btCollisionObject_getCcdMotionThreshold_0=Oe._emscripten_bind_btCollisionObject_getCcdMotionThreshold_0,VC=i._emscripten_bind_btVector4_btVector4_4=Oe._emscripten_bind_btVector4_btVector4_4,EC=i._emscripten_bind_btConvexHullShape_getLocalScaling_0=Oe._emscripten_bind_btConvexHullShape_getLocalScaling_0,qC=i._emscripten_bind_tVector3Array___destroy___0=Oe._emscripten_bind_tVector3Array___destroy___0,QC=i._emscripten_bind_btKinematicCharacterController___destroy___0=Oe._emscripten_bind_btKinematicCharacterController___destroy___0,zC=i._emscripten_bind_btRigidBody_setFlags_1=Oe._emscripten_bind_btRigidBody_setFlags_1,NC=i._emscripten_bind_btGhostObject_getCcdMotionThreshold_0=Oe._emscripten_bind_btGhostObject_getCcdMotionThreshold_0,UC=i._emscripten_bind_btTypedConstraint_setParam_3=Oe._emscripten_bind_btTypedConstraint_setParam_3,KC=i._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=Oe._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1,ZC=i._emscripten_bind_btVector4_op_sub_1=Oe._emscripten_bind_btVector4_op_sub_1,XC=i._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=Oe._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1,JC=i._emscripten_bind_tBtCollisionObjectArray_push_back_1=Oe._emscripten_bind_tBtCollisionObjectArray_push_back_1,YC=i._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=Oe._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3,$C=i._emscripten_bind_btWheelInfo_get_m_raycastInfo_0=Oe._emscripten_bind_btWheelInfo_get_m_raycastInfo_0,ev=i._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=Oe._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0,tv=i._emscripten_bind_btConvexShape_getMargin_0=Oe._emscripten_bind_btConvexShape_getMargin_0,iv=i._emscripten_bind_btRaycastVehicle_getSteeringValue_1=Oe._emscripten_bind_btRaycastVehicle_getSteeringValue_1,nv=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=Oe._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0,rv=i._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=Oe._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1,_v=i._emscripten_bind_btPairCachingGhostObject_isActive_0=Oe._emscripten_bind_btPairCachingGhostObject_isActive_0,ov=i._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=Oe._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1,sv=i._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=Oe._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0,cv=i._emscripten_bind_btCollisionObject_getInterpolationAngularVelocity_0=Oe._emscripten_bind_btCollisionObject_getInterpolationAngularVelocity_0;function ja(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")"}i.dynCall_viiiii=Oe.dynCall_viiiii,i.dynCall_vid=Oe.dynCall_vid,i.dynCall_vi=Oe.dynCall_vi,i.dynCall_viiidii=Oe.dynCall_viiidii,i.dynCall_vii=Oe.dynCall_vii,i.dynCall_iiiiiiiiiii=Oe.dynCall_iiiiiiiiiii,i.dynCall_ii=Oe.dynCall_ii,i.dynCall_viidi=Oe.dynCall_viidi,i.dynCall_viddiii=Oe.dynCall_viddiii,i.dynCall_vidii=Oe.dynCall_vidii,i.dynCall_iiiiii=Oe.dynCall_iiiiii,i.dynCall_vidi=Oe.dynCall_vidi,i.dynCall_diiiiiiii=Oe.dynCall_diiiiiiii,i.dynCall_viiiiddddiid=Oe.dynCall_viiiiddddiid,i.dynCall_diiiii=Oe.dynCall_diiiii,i.dynCall_iiii=Oe.dynCall_iiii,i.dynCall_viiiiii=Oe.dynCall_viiiiii,i.dynCall_iiid=Oe.dynCall_iiid,i.dynCall_di=Oe.dynCall_di,i.dynCall_iiiiiii=Oe.dynCall_iiiiiii,i.dynCall_diiidii=Oe.dynCall_diiidii,i.dynCall_viidii=Oe.dynCall_viidii,i.dynCall_viid=Oe.dynCall_viid,i.dynCall_viiiiiii=Oe.dynCall_viiiiiii,i.dynCall_viiiiiiiii=Oe.dynCall_viiiiiiiii,i.dynCall_viiiiiiiiii=Oe.dynCall_viiiiiiiiii,i.dynCall_iii=Oe.dynCall_iii,i.dynCall_diii=Oe.dynCall_diii,i.dynCall_diiiiiiiiii=Oe.dynCall_diiiiiiiiii,i.dynCall_viiiid=Oe.dynCall_viiiid,i.dynCall_diiiiiiiii=Oe.dynCall_diiiiiiiii,i.dynCall_did=Oe.dynCall_did,i.dynCall_viiiidddddidi=Oe.dynCall_viiiidddddidi,i.dynCall_diidii=Oe.dynCall_diidii,i.dynCall_diiii=Oe.dynCall_diiii,i.dynCall_iiiii=Oe.dynCall_iiiii,i.dynCall_viiid=Oe.dynCall_viiid,i.dynCall_viii=Oe.dynCall_viii,i.dynCall_v=Oe.dynCall_v,i.dynCall_iiiiiiiii=Oe.dynCall_iiiiiiiii,i.dynCall_iidid=Oe.dynCall_iidid,i.dynCall_viiii=Oe.dynCall_viiii,h.u=i.stackAlloc,h.N=i.stackSave,h.M=i.stackRestore,h.S=i.establishStackSpace,h.e=i.setTempRet0,h.J=i.getTempRet0,i.asm=Oe,i.then=function(e){if(i.calledRun)e(i);else{var t=i.onRuntimeInitialized;i.onRuntimeInitialized=function(){t&&t(),e(i)}}return i},ja.prototype=Error(),ja.prototype.constructor=ja;var av=null;function fw(e){function b(){if(!i.calledRun&&(i.calledRun=!0,!y)){if(me||(me=!0,Ra(be)),Ra(pe),i.onRuntimeInitialized&&i.onRuntimeInitialized(),i._main&&fv&&i.callMain(e),i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;){var t=i.postRun.shift();de.unshift(t)}Ra(de)}}if(e=e||i.arguments,null===av&&(av=Date.now()),i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)Ya();Ra(fe),i.calledRun||(i.setStatus?(i.setStatus("Running..."),setTimeout(function(){setTimeout(function(){i.setStatus("")},1),b()},1)):b())}function ew(e,t){t&&i.noExitRuntime||(!i.noExitRuntime&&(y=!0,re=void 0,Ra(ue),i.onExit)&&i.onExit(e),f&&process.exit(e),i.quit(e,new ja(e)))}i.callMain=i.Q=function(e){function b(){for(var e=0;3>e;e++)n.push(0)}e=e||[],me||(me=!0,Ra(be));var t=e.length+1,n=[wa(Za(i.thisProgram),"i8",0)];b();for(var r=0;r<t-1;r+=1)n.push(wa(Za(e[r]),"i8",0)),b();n.push(0),n=wa(n,"i32",0);try{ew(i._main(t,n,0),!0)}catch(t){t instanceof ja||("SimulateInfiniteLoop"==t?i.noExitRuntime=!0:((e=t)&&"object"==typeof t&&t.stack&&(e=[t,t.stack]),i.i("exception thrown: "+e),i.quit(1,t)))}},i.run=i.run=fw,i.exit=i.exit=ew;var lv=[];function qa(e){void 0!==e?(i.print(e),i.i(e),e=JSON.stringify(e)):e="",y=!0;var t="abort("+e+") at "+function(){var e;e:{if(!(e=Error()).stack){try{throw Error(0)}catch(t){e=t}if(!e.stack){e="(no stack trace available)";break e}}e=e.stack.toString()}return i.extraStackTrace&&(e+="\n"+i.extraStackTrace()),Ha(e)}()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw lv&&lv.forEach(function(i){t=i(t,e)}),t}if(i.abort=i.abort=qa,i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);0<i.preInit.length;)i.preInit.pop()();var fv=!0;function p(){}function q(e){return(e||p).c}function r(e,t){var i=q(t),n=i[e];return n||((n=Object.create((t||p).prototype)).a=e,i[e]=n)}i.noInitialRun&&(fv=!1),i.noExitRuntime=!0,fw(),p.prototype=Object.create(p.prototype),p.prototype.constructor=p,p.prototype.b=p,p.c={},i.WrapperObject=p,i.getCache=q,i.wrapPointer=r,i.castObject=function(e,t){return r(e.a,t)},i.NULL=r(0),i.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete q(e.b)[e.a]},i.compare=function(e,t){return e.a===t.a},i.getPointer=function(e){return e.a},i.getClass=function(e){return e.b};var bv=0,pv=0,uv=0,dv=[],mv=0;function t(){throw"cannot construct a btCollisionShape, no constructor in IDL"}function v(){this.a=Ft(),q(v)[this.a]=this}function pw(){throw"cannot construct a btTypedConstraint, no constructor in IDL"}function x(){throw"cannot construct a btCollisionWorld, no constructor in IDL"}function tw(){throw"cannot construct a btConcaveShape, no constructor in IDL"}function uw(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=nd(e,t),q(uw)[this.a]=this}function vw(){throw"cannot construct a btGImpactShapeInterface, no constructor in IDL"}function B(){throw"cannot construct a btDynamicsWorld, no constructor in IDL"}function xw(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL"}function D(){this.a=ro(),q(D)[this.a]=this}function yw(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=_o(e,t),q(yw)[this.a]=this}function zw(){throw"cannot construct a btActionInterface, no constructor in IDL"}function u(e,t,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),this.a=void 0===e?Gu():void 0===t?_emscripten_bind_btVector3_btVector3_1(e):void 0===i?_emscripten_bind_btVector3_btVector3_2(e,t):Hu(e,t,i),q(u)[this.a]=this}function Aw(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL"}function Bw(){throw"cannot construct a btQuadWord, no constructor in IDL"}function Cw(e){e&&"object"==typeof e&&(e=e.a),this.a=hs(e),q(Cw)[this.a]=this}function Dw(){throw"cannot construct a btConvexShape, no constructor in IDL"}function qw(){throw"cannot construct a btDispatcher, no constructor in IDL"}function E(e,t,i,n,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),this.a=void 0===n?ud(e,t,i):void 0===r?_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(e,t,i,n):en(e,t,i,n,r),q(E)[this.a]=this}function Fw(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL"}function Gw(){throw"cannot construct a btMotionState, no constructor in IDL"}function Hw(){throw"cannot construct a ConvexResultCallback, no constructor in IDL"}function Iw(){throw"cannot construct a ContactResultCallback, no constructor in IDL"}function Jw(){throw"cannot construct a RayResultCallback, no constructor in IDL"}function Kw(){throw"cannot construct a btMatrix3x3, no constructor in IDL"}function z(){throw"cannot construct a btDispatcherInfo, no constructor in IDL"}function Lw(){this.a=fi(),q(Lw)[this.a]=this}function F(){throw"cannot construct a btWheelInfoConstructionInfo, no constructor in IDL"}function Mw(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=void 0===t?hn(e):mn(e,t),q(Mw)[this.a]=this}function sw(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL"}function Nw(e){e&&"object"==typeof e&&(e=e.a),this.a=void 0===e?Qs():Ns(e),q(Nw)[this.a]=this}function G(e,t,i,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),this.a=void 0===n?gb(e,t,i):Zl(e,t,i,n),q(G)[this.a]=this}function Ow(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL"}function Ew(){this.a=dd(),q(Ew)[this.a]=this}function Pw(e){e&&"object"==typeof e&&(e=e.a),this.a=void 0===e?Xa():Ja(e),q(Pw)[this.a]=this}function I(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=Np(e,t),q(I)[this.a]=this}function J(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=bl(e,t),q(J)[this.a]=this}function Tw(e){e&&"object"==typeof e&&(e=e.a),this.a=$i(e),q(Tw)[this.a]=this}function Uw(){this.a=Wh(),q(Uw)[this.a]=this}function Vw(){throw"cannot construct a LocalShapeInfo, no constructor in IDL"}function K(e){e&&"object"==typeof e&&(e=e.a),this.a=ku(e),q(K)[this.a]=this}function Ww(){this.a=qp(),q(Ww)[this.a]=this}function Xw(e){e&&"object"==typeof e&&(e=e.a),this.a=ci(e),q(Xw)[this.a]=this}function Yw(e,t,i,n,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),this.a=void 0===i?vo(e,t):void 0===n?wo(e,t,i):void 0===r?jo(e,t,i,n):Ro(e,t,i,n,r),q(Yw)[this.a]=this}function nw(){throw"cannot construct a VoidPtr, no constructor in IDL"}function L(e,t,i,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),this.a=void 0===i?Jo(e,t):void 0===n?_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(e,t,i):es(e,t,i,n),q(L)[this.a]=this}function M(e,t,i,n,r,_,o){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),_&&"object"==typeof _&&(_=_.a),o&&"object"==typeof o&&(o=o.a),this.a=void 0===i?pt(e,t):void 0===n?Nl(e,t,i):void 0===r?mo(e,t,i,n):void 0===_?Ql(e,t,i,n,r):void 0===o?Vl(e,t,i,n,r,_):El(e,t,i,n,r,_,o),q(M)[this.a]=this}function Zw(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=kp(e,t),q(Zw)[this.a]=this}function $w(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=Qo(e,t),q($w)[this.a]=this}function ax(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=void 0===e?eg():void 0===t?tg(e):ig(e,t),q(ax)[this.a]=this}function bx(){this.a=ls(),q(bx)[this.a]=this}function N(){this.a=wg(),q(N)[this.a]=this}function cx(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL"}function dx(e){e&&"object"==typeof e&&(e=e.a),this.a=$e(e),q(dx)[this.a]=this}function ex(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=void 0===e?Ss():void 0===t?js(e):Tt(e,t),q(ex)[this.a]=this}function O(e){e&&"object"==typeof e&&(e=e.a),this.a=Bo(e),q(O)[this.a]=this}function Q(e,t,i,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),this.a=void 0===e?PC():void 0===t?_emscripten_bind_btVector4_btVector4_1(e):void 0===i?_emscripten_bind_btVector4_btVector4_2(e,t):void 0===n?_emscripten_bind_btVector4_btVector4_3(e,t,i):VC(e,t,i,n),q(Q)[this.a]=this}function fx(){this.a=Qh(),q(fx)[this.a]=this}function gx(){throw"cannot construct a btVehicleRaycasterResult, no constructor in IDL"}function hx(){throw"cannot construct a btConstraintSolver, no constructor in IDL"}function S(e,t,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),this.a=Ds(e,t,i),q(S)[this.a]=this}function Rw(){throw"cannot construct a tVector3Array, no constructor in IDL"}function ix(e){e&&"object"==typeof e&&(e=e.a),this.a=ef(e),q(ix)[this.a]=this}function jx(e){e&&"object"==typeof e&&(e=e.a),this.a=qc(e),q(jx)[this.a]=this}function kx(){this.a=Mf(),q(kx)[this.a]=this}function P(){throw"cannot construct a RaycastInfo, no constructor in IDL"}function lx(e,t,i,n,r,_,o,s,c){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),_&&"object"==typeof _&&(_=_.a),o&&"object"==typeof o&&(o=o.a),s&&"object"==typeof s&&(s=s.a),c&&"object"==typeof c&&(c=c.a),this.a=Vm(e,t,i,n,r,_,o,s,c),q(lx)[this.a]=this}function T(e,t,i,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),this.a=Ne(e,t,i,n),q(T)[this.a]=this}function mx(){this.a=Fp(),q(mx)[this.a]=this}function nx(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL"}function U(e,t,i,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),this.a=Rd(e,t,i,n),q(U)[this.a]=this}function ox(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=el(e,t),q(ox)[this.a]=this}function rw(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL"}function Qw(){throw"cannot construct a tBtCollisionObjectArray, no constructor in IDL"}function px(e,t,i,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),this.a=Ch(e,t,i,n),q(px)[this.a]=this}function w(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=void 0===e?mr():void 0===t?_emscripten_bind_btTransform_btTransform_1(e):dr(e,t),q(w)[this.a]=this}function X(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=hd(e,t),q(X)[this.a]=this}function Y(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=oi(e,t),q(Y)[this.a]=this}function qx(){this.a=Pp(),q(qx)[this.a]=this}function rx(e,t,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),this.a=void 0===i?Pm(e,t):Bm(e,t,i),q(rx)[this.a]=this}function sx(e,t,i,n,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),this.a=void 0===n?aC(e,t,i):void 0===r?_emscripten_bind_btSliderConstraint_btSliderConstraint_4(e,t,i,n):cC(e,t,i,n,r),q(sx)[this.a]=this}function V(){this.a=Li(),q(V)[this.a]=this}function H(){throw"cannot construct a btManifoldPoint, no constructor in IDL"}function tx(e,t,i,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),this.a=void 0===i?gm(e,t):void 0===n?_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(e,t,i):hm(e,t,i,n),q(tx)[this.a]=this}function ow(){throw"cannot construct a btBroadphaseProxy, no constructor in IDL"}function Z(e,t,i,n,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),this.a=void 0===n?ei(e,t,i):void 0===r?_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4(e,t,i,n):Yt(e,t,i,n,r),q(Z)[this.a]=this}function ux(e){e&&"object"==typeof e&&(e=e.a),this.a=Ui(e),q(ux)[this.a]=this}function vx(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=qn(e,t),q(vx)[this.a]=this}function W(e,t,i,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),this.a=_f(e,t,i,n),q(W)[this.a]=this}function wx(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=oC(e,t),q(wx)[this.a]=this}function ww(){throw"cannot construct a btContactSolverInfo, no constructor in IDL"}function Sw(){throw"cannot construct a tScalarArray, no constructor in IDL"}function xx(e){e&&"object"==typeof e&&(e=e.a),this.a=cf(e),q(xx)[this.a]=this}function yx(e,t,i,n,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),this.a=wy(e,t,i,n,r),q(yx)[this.a]=this}return t.prototype=Object.create(p.prototype),t.prototype.constructor=t,t.prototype.b=t,t.c={},i.btCollisionShape=t,t.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),lc(t,e)},t.prototype.getLocalScaling=function(){return r(Gy(this.a),u)},t.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Hr(i,e,t)},t.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ir(t,e)},t.prototype.getMargin=function(){return Vu(this.a)},t.prototype.__destroy__=function(){nu(this.a)},v.prototype=Object.create(p.prototype),v.prototype.constructor=v,v.prototype.b=v,v.c={},i.btCollisionObject=v,v.prototype.setAnisotropicFriction=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),op(i,e,t)},v.prototype.getCollisionShape=function(){return r(Cb(this.a),t)},v.prototype.setContactProcessingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ys(t,e)},v.prototype.setActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jr(t,e)},v.prototype.forceActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xm(t,e)},v.prototype.activate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),void 0===e?ni(t):ii(t,e)},v.prototype.isActive=function(){return!!Ve(this.a)},v.prototype.isKinematicObject=function(){return!!Lt(this.a)},v.prototype.isStaticObject=function(){return!!ng(this.a)},v.prototype.isStaticOrKinematicObject=function(){return!!pm(this.a)},v.prototype.getRestitution=function(){return ki(this.a)},v.prototype.setRestitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Hl(t,e)},v.prototype.getFriction=function(){return Io(this.a)},v.prototype.setFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Hb(t,e)},v.prototype.getRollingFriction=function(){return Et(this.a)},v.prototype.setRollingFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rc(t,e)},v.prototype.getCollisionFlags=function(){return Bs(this.a)},v.prototype.setCollisionFlags=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),$d(t,e)},v.prototype.getWorldTransform=function(){return r(T_(this.a),w)},v.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),oh(t,e)},v.prototype.setCollisionShape=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),iu(t,e)},v.prototype.getCcdMotionThreshold=function(){return LC(this.a)},v.prototype.setCcdMotionThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jd(t,e)},v.prototype.getCcdSweptSphereRadius=function(){return Wu(this.a)},v.prototype.setCcdSweptSphereRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hg(t,e)},v.prototype.getUserIndex=function(){return ot(this.a)},v.prototype.setUserIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ih(t,e)},v.prototype.getUserPointer=function(){return r(j_(this.a),nw)},v.prototype.setUserPointer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),a_(t,e)},v.prototype.getInterpolationAngularVelocity=function(){return r(cv(this.a),u)},v.prototype.setInterpolationAngularVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),n_(t,e)},v.prototype.getInterpolationLinearVelocity=function(){return r(fl(this.a),u)},v.prototype.setInterpolationLinearVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kn(t,e)},v.prototype.getBroadphaseHandle=function(){return r(ch(this.a),ow)},v.prototype.getActivationState=function(){return it(this.a)},v.prototype.__destroy__=function(){ju(this.a)},pw.prototype=Object.create(p.prototype),pw.prototype.constructor=pw,pw.prototype.b=pw,pw.c={},i.btTypedConstraint=pw,pw.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),rd(t,e)},pw.prototype.getBreakingImpulseThreshold=function(){return ip(this.a)},pw.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),cn(t,e)},pw.prototype.getParam=function(e,t){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Fe(i,e,t)},pw.prototype.setParam=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),UC(n,e,t,i)},pw.prototype.__destroy__=function(){$l(this.a)},x.prototype=Object.create(p.prototype),x.prototype.constructor=x,x.prototype.b=x,x.c={},i.btCollisionWorld=x,x.prototype.getDispatcher=function(){return r(kc(this.a),qw)},x.prototype.rayTest=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),c_(n,e,t,i)},x.prototype.getPairCache=function(){return r(Ip(this.a),rw)},x.prototype.getDispatchInfo=function(){return r(Fs(this.a),z)},x.prototype.addCollisionObject=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),void 0===t?uf(n,e):void 0===i?df(n,e,t):cc(n,e,t,i)},x.prototype.removeCollisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ri(t,e)},x.prototype.getBroadphase=function(){return r(ms(this.a),sw)},x.prototype.convexSweepTest=function(e,t,i,n,r){var _=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),Wr(_,e,t,i,n,r)},x.prototype.contactPairTest=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),jh(n,e,t,i)},x.prototype.contactTest=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),x_(i,e,t)},x.prototype.updateSingleAabb=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xt(t,e)},x.prototype.__destroy__=function(){zi(this.a)},tw.prototype=Object.create(t.prototype),tw.prototype.constructor=tw,tw.prototype.b=tw,tw.c={},i.btConcaveShape=tw,tw.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_s(t,e)},tw.prototype.getLocalScaling=function(){return r(il(this.a),u)},tw.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),sa(i,e,t)},tw.prototype.__destroy__=function(){$o(this.a)},uw.prototype=Object.create(t.prototype),uw.prototype.constructor=uw,uw.prototype.b=uw,uw.c={},i.btCapsuleShape=uw,uw.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jf(t,e)},uw.prototype.getMargin=function(){return xc(this.a)},uw.prototype.getUpAxis=function(){return g_(this.a)},uw.prototype.getRadius=function(){return Ct(this.a)},uw.prototype.getHalfHeight=function(){return t_(this.a)},uw.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),no(t,e)},uw.prototype.getLocalScaling=function(){return r(_C(this.a),u)},uw.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Gm(i,e,t)},uw.prototype.__destroy__=function(){pa(this.a)},vw.prototype=Object.create(tw.prototype),vw.prototype.constructor=vw,vw.prototype.b=vw,vw.c={},i.btGImpactShapeInterface=vw,vw.prototype.updateBound=function(){Qb(this.a)},vw.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sy(t,e)},vw.prototype.getLocalScaling=function(){return r(_b(this.a),u)},vw.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Jg(i,e,t)},vw.prototype.__destroy__=function(){Qp(this.a)},B.prototype=Object.create(x.prototype),B.prototype.constructor=B,B.prototype.b=B,B.c={},i.btDynamicsWorld=B,B.prototype.addAction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ig(t,e)},B.prototype.removeAction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vh(t,e)},B.prototype.getSolverInfo=function(){return r(ub(this.a),ww)},B.prototype.getDispatcher=function(){return r(Gc(this.a),qw)},B.prototype.rayTest=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),Wt(n,e,t,i)},B.prototype.getPairCache=function(){return r(HC(this.a),rw)},B.prototype.getDispatchInfo=function(){return r(pn(this.a),z)},B.prototype.addCollisionObject=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),void 0===t?Ef(n,e):void 0===i?Qf(n,e,t):Sn(n,e,t,i)},B.prototype.removeCollisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ti(t,e)},B.prototype.getBroadphase=function(){return r(mb(this.a),sw)},B.prototype.convexSweepTest=function(e,t,i,n,r){var _=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),bC(_,e,t,i,n,r)},B.prototype.contactPairTest=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),xp(n,e,t,i)},B.prototype.contactTest=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),xf(i,e,t)},B.prototype.updateSingleAabb=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),CC(t,e)},B.prototype.__destroy__=function(){Jd(this.a)},xw.prototype=Object.create(tw.prototype),xw.prototype.constructor=xw,xw.prototype.b=xw,xw.c={},i.btTriangleMeshShape=xw,xw.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),bd(t,e)},xw.prototype.getLocalScaling=function(){return r(Kh(this.a),u)},xw.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Bp(i,e,t)},xw.prototype.__destroy__=function(){Bh(this.a)},D.prototype=Object.create(v.prototype),D.prototype.constructor=D,D.prototype.b=D,D.c={},i.btGhostObject=D,D.prototype.getNumOverlappingObjects=function(){return tp(this.a)},D.prototype.getOverlappingObject=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Zg(t,e),v)},D.prototype.setAnisotropicFriction=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),$u(i,e,t)},D.prototype.getCollisionShape=function(){return r(np(this.a),t)},D.prototype.setContactProcessingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ds(t,e)},D.prototype.setActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kh(t,e)},D.prototype.forceActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Wp(t,e)},D.prototype.activate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),void 0===e?od(t):pp(t,e)},D.prototype.isActive=function(){return!!Go(this.a)},D.prototype.isKinematicObject=function(){return!!ta(this.a)},D.prototype.isStaticObject=function(){return!!qf(this.a)},D.prototype.isStaticOrKinematicObject=function(){return!!Ee(this.a)},D.prototype.getRestitution=function(){return jg(this.a)},D.prototype.setRestitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Tb(t,e)},D.prototype.getFriction=function(){return He(this.a)},D.prototype.setFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),s_(t,e)},D.prototype.getRollingFriction=function(){return Sh(this.a)},D.prototype.setRollingFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qa(t,e)},D.prototype.getCollisionFlags=function(){return Lb(this.a)},D.prototype.setCollisionFlags=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Wc(t,e)},D.prototype.getWorldTransform=function(){return r(qd(this.a),w)},D.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),u_(t,e)},D.prototype.setCollisionShape=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qm(t,e)},D.prototype.getCcdMotionThreshold=function(){return NC(this.a)},D.prototype.setCcdMotionThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),$s(t,e)},D.prototype.getCcdSweptSphereRadius=function(){return Ff(this.a)},D.prototype.setCcdSweptSphereRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),mm(t,e)},D.prototype.getUserIndex=function(){return ib(this.a)},D.prototype.setUserIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xb(t,e)},D.prototype.getUserPointer=function(){return r(bo(this.a),nw)},D.prototype.setUserPointer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zh(t,e)},D.prototype.getInterpolationAngularVelocity=function(){return r(ut(this.a),u)},D.prototype.setInterpolationAngularVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Om(t,e)},D.prototype.getInterpolationLinearVelocity=function(){return r(yh(this.a),u)},D.prototype.setInterpolationLinearVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fb(t,e)},D.prototype.getBroadphaseHandle=function(){return r(Ws(this.a),ow)},D.prototype.getActivationState=function(){return Lp(this.a)},D.prototype.__destroy__=function(){ps(this.a)},yw.prototype=Object.create(t.prototype),yw.prototype.constructor=yw,yw.prototype.b=yw,yw.c={},i.btConeShape=yw,yw.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),eu(t,e)},yw.prototype.getLocalScaling=function(){return r(cu(this.a),u)},yw.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),_y(i,e,t)},yw.prototype.__destroy__=function(){rC(this.a)},zw.prototype=Object.create(p.prototype),zw.prototype.constructor=zw,zw.prototype.b=zw,zw.c={},i.btActionInterface=zw,zw.prototype.updateAction=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),ui(i,e,t)},zw.prototype.__destroy__=function(){Df(this.a)},u.prototype=Object.create(p.prototype),u.prototype.constructor=u,u.prototype.b=u,u.c={},i.btVector3=u,u.prototype.length=u.prototype.length=function(){return dn(this.a)},u.prototype.x=function(){return yb(this.a)},u.prototype.y=function(){return Fm(this.a)},u.prototype.z=function(){return Pu(this.a)},u.prototype.setX=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ai(t,e)},u.prototype.setY=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),So(t,e)},u.prototype.setZ=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),gi(t,e)},u.prototype.setValue=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),Ab(n,e,t,i)},u.prototype.normalize=function(){ih(this.a)},u.prototype.rotate=function(e,t){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),r(Uf(i,e,t),u)},u.prototype.dot=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),fo(t,e)},u.prototype.op_mul=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Gt(t,e),u)},u.prototype.op_add=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r($g(t,e),u)},u.prototype.op_sub=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(yr(t,e),u)},u.prototype.__destroy__=function(){sb(this.a)},Aw.prototype=Object.create(p.prototype),Aw.prototype.constructor=Aw,Aw.prototype.b=Aw,Aw.c={},i.btVehicleRaycaster=Aw,Aw.prototype.castRay=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),Mc(n,e,t,i)},Aw.prototype.__destroy__=function(){E_(this.a)},Bw.prototype=Object.create(p.prototype),Bw.prototype.constructor=Bw,Bw.prototype.b=Bw,Bw.c={},i.btQuadWord=Bw,Bw.prototype.x=function(){return Pt(this.a)},Bw.prototype.y=function(){return H_(this.a)},Bw.prototype.z=function(){return ft(this.a)},Bw.prototype.w=function(){return K_(this.a)},Bw.prototype.setX=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xo(t,e)},Bw.prototype.setY=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Oi(t,e)},Bw.prototype.setZ=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),bf(t,e)},Bw.prototype.setW=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ln(t,e)},Bw.prototype.__destroy__=function(){Uu(this.a)},Cw.prototype=Object.create(t.prototype),Cw.prototype.constructor=Cw,Cw.prototype.b=Cw,Cw.c={},i.btCylinderShape=Cw,Cw.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qi(t,e)},Cw.prototype.getMargin=function(){return Ad(this.a)},Cw.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Os(t,e)},Cw.prototype.getLocalScaling=function(){return r(Ep(this.a),u)},Cw.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Jc(i,e,t)},Cw.prototype.__destroy__=function(){Ge(this.a)},Dw.prototype=Object.create(t.prototype),Dw.prototype.constructor=Dw,Dw.prototype.b=Dw,Dw.c={},i.btConvexShape=Dw,Dw.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ua(t,e)},Dw.prototype.getLocalScaling=function(){return r(_c(this.a),u)},Dw.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Zy(i,e,t)},Dw.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),uh(t,e)},Dw.prototype.getMargin=function(){return tv(this.a)},Dw.prototype.__destroy__=function(){vl(this.a)},qw.prototype=Object.create(p.prototype),qw.prototype.constructor=qw,qw.prototype.b=qw,qw.c={},i.btDispatcher=qw,qw.prototype.getNumManifolds=function(){return oy(this.a)},qw.prototype.getManifoldByIndexInternal=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(sm(t,e),Ew)},qw.prototype.__destroy__=function(){hl(this.a)},E.prototype=Object.create(pw.prototype),E.prototype.constructor=E,E.prototype.b=E,E.c={},i.btGeneric6DofConstraint=E,E.prototype.setLinearLowerLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jy(t,e)},E.prototype.setLinearUpperLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ca(t,e)},E.prototype.setAngularLowerLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ey(t,e)},E.prototype.setAngularUpperLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nr(t,e)},E.prototype.getFrameOffsetA=function(){return r(wi(this.a),w)},E.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),We(t,e)},E.prototype.getBreakingImpulseThreshold=function(){return $m(this.a)},E.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Op(t,e)},E.prototype.getParam=function(e,t){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Zr(i,e,t)},E.prototype.setParam=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),Bt(n,e,t,i)},E.prototype.__destroy__=function(){My(this.a)},Fw.prototype=Object.create(p.prototype),Fw.prototype.constructor=Fw,Fw.prototype.b=Fw,Fw.c={},i.btStridingMeshInterface=Fw,Fw.prototype.__destroy__=function(){nh(this.a)},Gw.prototype=Object.create(p.prototype),Gw.prototype.constructor=Gw,Gw.prototype.b=Gw,Gw.c={},i.btMotionState=Gw,Gw.prototype.getWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pb(t,e)},Gw.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ri(t,e)},Gw.prototype.__destroy__=function(){Yd(this.a)},Hw.prototype=Object.create(p.prototype),Hw.prototype.constructor=Hw,Hw.prototype.b=Hw,Hw.c={},i.ConvexResultCallback=Hw,Hw.prototype.hasHit=function(){return!!Or(this.a)},Hw.prototype.get_m_collisionFilterGroup=function(){return Bl(this.a)},Hw.prototype.set_m_collisionFilterGroup=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fp(t,e)},Hw.prototype.get_m_collisionFilterMask=function(){return md(this.a)},Hw.prototype.set_m_collisionFilterMask=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Mn(t,e)},Hw.prototype.get_m_closestHitFraction=function(){return _u(this.a)},Hw.prototype.set_m_closestHitFraction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pd(t,e)},Hw.prototype.__destroy__=function(){qt(this.a)},Iw.prototype=Object.create(p.prototype),Iw.prototype.constructor=Iw,Iw.prototype.b=Iw,Iw.c={},i.ContactResultCallback=Iw,Iw.prototype.addSingleResult=function(e,t,i,n,r,_,o){var s=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),_&&"object"==typeof _&&(_=_.a),o&&"object"==typeof o&&(o=o.a),Ny(s,e,t,i,n,r,_,o)},Iw.prototype.__destroy__=function(){Oh(this.a)},Jw.prototype=Object.create(p.prototype),Jw.prototype.constructor=Jw,Jw.prototype.b=Jw,Jw.c={},i.RayResultCallback=Jw,Jw.prototype.hasHit=function(){return!!Sa(this.a)},Jw.prototype.get_m_collisionFilterGroup=function(){return rl(this.a)},Jw.prototype.set_m_collisionFilterGroup=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ic(t,e)},Jw.prototype.get_m_collisionFilterMask=function(){return wc(this.a)},Jw.prototype.set_m_collisionFilterMask=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),gn(t,e)},Jw.prototype.get_m_closestHitFraction=function(){return hC(this.a)},Jw.prototype.set_m_closestHitFraction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vo(t,e)},Jw.prototype.get_m_collisionObject=function(){return r(Gf(this.a),v)},Jw.prototype.set_m_collisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kg(t,e)},Jw.prototype.__destroy__=function(){Lo(this.a)},Kw.prototype=Object.create(p.prototype),Kw.prototype.constructor=Kw,Kw.prototype.b=Kw,Kw.c={},i.btMatrix3x3=Kw,Kw.prototype.setEulerZYX=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),pc(n,e,t,i)},Kw.prototype.getRotation=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Fc(t,e)},Kw.prototype.getRow=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(ru(t,e),u)},Kw.prototype.__destroy__=function(){Dr(this.a)},z.prototype=Object.create(p.prototype),z.prototype.constructor=z,z.prototype.b=z,z.c={},i.btDispatcherInfo=z,z.prototype.get_m_timeStep=function(){return Kd(this.a)},z.prototype.set_m_timeStep=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ou(t,e)},z.prototype.get_m_stepCount=function(){return Gn(this.a)},z.prototype.set_m_stepCount=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ys(t,e)},z.prototype.get_m_dispatchFunc=function(){return ou(this.a)},z.prototype.set_m_dispatchFunc=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ji(t,e)},z.prototype.get_m_timeOfImpact=function(){return rt(this.a)},z.prototype.set_m_timeOfImpact=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),si(t,e)},z.prototype.get_m_useContinuous=function(){return!!Rh(this.a)},z.prototype.set_m_useContinuous=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Be(t,e)},z.prototype.get_m_enableSatConvex=function(){return!!BC(this.a)},z.prototype.set_m_enableSatConvex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ls(t,e)},z.prototype.get_m_enableSPU=function(){return!!sC(this.a)},z.prototype.set_m_enableSPU=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wr(t,e)},z.prototype.get_m_useEpa=function(){return!!pr(this.a)},z.prototype.set_m_useEpa=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),L_(t,e)},z.prototype.get_m_allowedCcdPenetration=function(){return wb(this.a)},z.prototype.set_m_allowedCcdPenetration=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qm(t,e)},z.prototype.get_m_useConvexConservativeDistanceUtil=function(){return!!Hh(this.a)},z.prototype.set_m_useConvexConservativeDistanceUtil=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zn(t,e)},z.prototype.get_m_convexConservativeDistanceThreshold=function(){return uc(this.a)},z.prototype.set_m_convexConservativeDistanceThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nl(t,e)},z.prototype.__destroy__=function(){Hd(this.a)},Lw.prototype=Object.create(Gw.prototype),Lw.prototype.constructor=Lw,Lw.prototype.b=Lw,Lw.c={},i.LayaMotionState=Lw,Lw.prototype.getWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),d_(t,e)},Lw.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_i(t,e)},Lw.prototype.__destroy__=function(){Nf(this.a)},F.prototype=Object.create(p.prototype),F.prototype.constructor=F,F.prototype.b=F,F.c={},i.btWheelInfoConstructionInfo=F,F.prototype.get_m_chassisConnectionCS=function(){return r(Yl(this.a),u)},F.prototype.set_m_chassisConnectionCS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),gf(t,e)},F.prototype.get_m_wheelDirectionCS=function(){return r(Cg(this.a),u)},F.prototype.set_m_wheelDirectionCS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),$f(t,e)},F.prototype.get_m_wheelAxleCS=function(){return r(GC(this.a),u)},F.prototype.set_m_wheelAxleCS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),eb(t,e)},F.prototype.get_m_suspensionRestLength=function(){return Vi(this.a)},F.prototype.set_m_suspensionRestLength=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pg(t,e)},F.prototype.get_m_maxSuspensionTravelCm=function(){return Sy(this.a)},F.prototype.set_m_maxSuspensionTravelCm=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),em(t,e)},F.prototype.get_m_wheelRadius=function(){return nv(this.a)},F.prototype.set_m_wheelRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bf(t,e)},F.prototype.get_m_suspensionStiffness=function(){return ar(this.a)},F.prototype.set_m_suspensionStiffness=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xn(t,e)},F.prototype.get_m_wheelsDampingCompression=function(){return kr(this.a)},F.prototype.set_m_wheelsDampingCompression=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Mi(t,e)},F.prototype.get_m_wheelsDampingRelaxation=function(){return zg(this.a)},F.prototype.set_m_wheelsDampingRelaxation=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qe(t,e)},F.prototype.get_m_frictionSlip=function(){return _d(this.a)},F.prototype.set_m_frictionSlip=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wp(t,e)},F.prototype.get_m_maxSuspensionForce=function(){return dl(this.a)},F.prototype.set_m_maxSuspensionForce=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wh(t,e)},F.prototype.get_m_bIsFrontWheel=function(){return!!Uc(this.a)},F.prototype.set_m_bIsFrontWheel=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ba(t,e)},F.prototype.__destroy__=function(){$t(this.a)},Mw.prototype=Object.create(Dw.prototype),Mw.prototype.constructor=Mw,Mw.prototype.b=Mw,Mw.c={},i.btConvexTriangleMeshShape=Mw,Mw.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ld(t,e)},Mw.prototype.getLocalScaling=function(){return r(Sm(this.a),u)},Mw.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Bd(i,e,t)},Mw.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xu(t,e)},Mw.prototype.getMargin=function(){return Wi(this.a)},Mw.prototype.__destroy__=function(){qg(this.a)},sw.prototype=Object.create(p.prototype),sw.prototype.constructor=sw,sw.prototype.b=sw,sw.c={},i.btBroadphaseInterface=sw,sw.prototype.__destroy__=function(){Eu(this.a)},Nw.prototype=Object.create(p.prototype),Nw.prototype.constructor=Nw,Nw.prototype.b=Nw,Nw.c={},i.btDefaultCollisionConfiguration=Nw,Nw.prototype.__destroy__=function(){Wb(this.a)},G.prototype=Object.create(p.prototype),G.prototype.constructor=G,G.prototype.b=G,G.c={},i.btRigidBodyConstructionInfo=G,G.prototype.get_m_linearDamping=function(){return lh(this.a)},G.prototype.set_m_linearDamping=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Og(t,e)},G.prototype.get_m_angularDamping=function(){return St(this.a)},G.prototype.set_m_angularDamping=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),mg(t,e)},G.prototype.get_m_friction=function(){return En(this.a)},G.prototype.set_m_friction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),An(t,e)},G.prototype.get_m_rollingFriction=function(){return su(this.a)},G.prototype.set_m_rollingFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jb(t,e)},G.prototype.get_m_restitution=function(){return at(this.a)},G.prototype.set_m_restitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Fi(t,e)},G.prototype.get_m_linearSleepingThreshold=function(){return mh(this.a)},G.prototype.set_m_linearSleepingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Dh(t,e)},G.prototype.get_m_angularSleepingThreshold=function(){return Md(this.a)},G.prototype.set_m_angularSleepingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),or(t,e)},G.prototype.get_m_additionalDamping=function(){return!!Nc(this.a)},G.prototype.set_m_additionalDamping=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),yp(t,e)},G.prototype.get_m_additionalDampingFactor=function(){return ld(this.a)},G.prototype.set_m_additionalDampingFactor=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Js(t,e)},G.prototype.get_m_additionalLinearDampingThresholdSqr=function(){return Ho(this.a)},G.prototype.set_m_additionalLinearDampingThresholdSqr=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),oc(t,e)},G.prototype.get_m_additionalAngularDampingThresholdSqr=function(){return Ia(this.a)},G.prototype.set_m_additionalAngularDampingThresholdSqr=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ul(t,e)},G.prototype.get_m_additionalAngularDampingFactor=function(){return ic(this.a)},G.prototype.set_m_additionalAngularDampingFactor=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),oo(t,e)},G.prototype.__destroy__=function(){jm(this.a)},Ow.prototype=Object.create(p.prototype),Ow.prototype.constructor=Ow,Ow.prototype.b=Ow,Ow.c={},i.btCollisionConfiguration=Ow,Ow.prototype.__destroy__=function(){li(this.a)},Ew.prototype=Object.create(p.prototype),Ew.prototype.constructor=Ew,Ew.prototype.b=Ew,Ew.c={},i.btPersistentManifold=Ew,Ew.prototype.getBody0=function(){return r(qo(this.a),v)},Ew.prototype.getBody1=function(){return r(Lu(this.a),v)},Ew.prototype.getNumContacts=function(){return Lc(this.a)},Ew.prototype.getContactPoint=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Tn(t,e),H)},Ew.prototype.__destroy__=function(){xr(this.a)},Pw.prototype=Object.create(t.prototype),Pw.prototype.constructor=Pw,Pw.prototype.b=Pw,Pw.c={},i.btCompoundShape=Pw,Pw.prototype.addChildShape=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),ml(i,e,t)},Pw.prototype.removeChildShapeByIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),un(t,e)},Pw.prototype.getNumChildShapes=function(){return to(this.a)},Pw.prototype.getChildShape=function(e){var i=this.a;return e&&"object"==typeof e&&(e=e.a),r(Rs(i,e),t)},Pw.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),is(t,e)},Pw.prototype.getMargin=function(){return Ke(this.a)},Pw.prototype.updateChildTransform=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),void 0===i?qe(n,e,t):Qt(n,e,t,i)},Pw.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),mf(t,e)},Pw.prototype.getLocalScaling=function(){return r(gh(this.a),u)},Pw.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Gs(i,e,t)},Pw.prototype.__destroy__=function(){Z_(this.a)},I.prototype=Object.create(Hw.prototype),I.prototype.constructor=I,I.prototype.b=I,I.c={},i.ClosestConvexResultCallback=I,I.prototype.hasHit=function(){return!!Eg(this.a)},I.prototype.get_m_convexFromWorld=function(){return r(Xr(this.a),u)},I.prototype.set_m_convexFromWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Dp(t,e)},I.prototype.get_m_convexToWorld=function(){return r(Ed(this.a),u)},I.prototype.set_m_convexToWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Dm(t,e)},I.prototype.get_m_hitNormalWorld=function(){return r(Xl(this.a),u)},I.prototype.set_m_hitNormalWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ut(t,e)},I.prototype.get_m_hitPointWorld=function(){return r(Bu(this.a),u)},I.prototype.set_m_hitPointWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),yn(t,e)},I.prototype.get_m_hitCollisionObject=function(){return r(Oa(this.a),v)},I.prototype.set_m_hitCollisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Mu(t,e)},I.prototype.get_m_collisionFilterGroup=function(){return Sf(this.a)},I.prototype.set_m_collisionFilterGroup=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hf(t,e)},I.prototype.get_m_collisionFilterMask=function(){return bg(this.a)},I.prototype.set_m_collisionFilterMask=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),th(t,e)},I.prototype.get_m_closestHitFraction=function(){return Ko(this.a)},I.prototype.set_m_closestHitFraction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),id(t,e)},I.prototype.__destroy__=function(){Lf(this.a)},J.prototype=Object.create(Jw.prototype),J.prototype.constructor=J,J.prototype.b=J,J.c={},i.AllHitsRayResultCallback=J,J.prototype.hasHit=function(){return!!pi(this.a)},J.prototype.get_m_collisionObjects=function(){return r(yc(this.a),Qw)},J.prototype.set_m_collisionObjects=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),eo(t,e)},J.prototype.get_m_rayFromWorld=function(){return r(ph(this.a),u)},J.prototype.set_m_rayFromWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),bn(t,e)},J.prototype.get_m_rayToWorld=function(){return r(Uy(this.a),u)},J.prototype.set_m_rayToWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qg(t,e)},J.prototype.get_m_hitNormalWorld=function(){return r(M_(this.a),Rw)},J.prototype.set_m_hitNormalWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jy(t,e)},J.prototype.get_m_hitPointWorld=function(){return r(dh(this.a),Rw)},J.prototype.set_m_hitPointWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ph(t,e)},J.prototype.get_m_hitFractions=function(){return r(Oo(this.a),Sw)},J.prototype.set_m_hitFractions=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Hg(t,e)},J.prototype.get_m_collisionFilterGroup=function(){return io(this.a)},J.prototype.set_m_collisionFilterGroup=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sc(t,e)},J.prototype.get_m_collisionFilterMask=function(){return _h(this.a)},J.prototype.set_m_collisionFilterMask=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pn(t,e)},J.prototype.get_m_closestHitFraction=function(){return sd(this.a)},J.prototype.set_m_closestHitFraction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vd(t,e)},J.prototype.get_m_collisionObject=function(){return r(Kt(this.a),v)},J.prototype.set_m_collisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),cl(t,e)},J.prototype.__destroy__=function(){of(this.a)},Tw.prototype=Object.create(Aw.prototype),Tw.prototype.constructor=Tw,Tw.prototype.b=Tw,Tw.c={},i.btDefaultVehicleRaycaster=Tw,Tw.prototype.castRay=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),Cy(n,e,t,i)},Tw.prototype.__destroy__=function(){Xb(this.a)},Uw.prototype=Object.create(p.prototype),Uw.prototype.constructor=Uw,Uw.prototype.b=Uw,Uw.c={},i.btConstraintSetting=Uw,Uw.prototype.get_m_tau=function(){return $p(this.a)},Uw.prototype.set_m_tau=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ur(t,e)},Uw.prototype.get_m_damping=function(){return bs(this.a)},Uw.prototype.set_m_damping=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vr(t,e)},Uw.prototype.get_m_impulseClamp=function(){return Ir(this.a)},Uw.prototype.set_m_impulseClamp=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ko(t,e)},Uw.prototype.__destroy__=function(){Po(this.a)},Vw.prototype=Object.create(p.prototype),Vw.prototype.constructor=Vw,Vw.prototype.b=Vw,Vw.c={},i.LocalShapeInfo=Vw,Vw.prototype.get_m_shapePart=function(){return nn(this.a)},Vw.prototype.set_m_shapePart=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qn(t,e)},Vw.prototype.get_m_triangleIndex=function(){return Lm(this.a)},Vw.prototype.set_m_triangleIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ye(t,e)},Vw.prototype.__destroy__=function(){xi(this.a)},K.prototype=Object.create(v.prototype),K.prototype.constructor=K,K.prototype.b=K,K.c={},i.btRigidBody=K,K.prototype.getCenterOfMassTransform=function(){return r(Oc(this.a),w)},K.prototype.setCenterOfMassTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sg(t,e)},K.prototype.setSleepingThresholds=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),rh(i,e,t)},K.prototype.getLinearSleepingThreshold=function(){return Yu(this.a)},K.prototype.getAngularSleepingThreshold=function(){return Mp(this.a)},K.prototype.setDamping=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Hc(i,e,t)},K.prototype.setMassProps=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Fb(i,e,t)},K.prototype.setLinearFactor=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Un(t,e)},K.prototype.applyTorque=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fc(t,e)},K.prototype.applyForce=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),zr(i,e,t)},K.prototype.applyCentralForce=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gl(t,e)},K.prototype.applyTorqueImpulse=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Yg(t,e)},K.prototype.applyImpulse=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),ra(i,e,t)},K.prototype.applyCentralImpulse=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rt(t,e)},K.prototype.updateInertiaTensor=function(){ol(this.a)},K.prototype.getLinearVelocity=function(){return r(et(this.a),u)},K.prototype.getAngularVelocity=function(){return r(ug(this.a),u)},K.prototype.setLinearVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),gg(t,e)},K.prototype.setAngularVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fa(t,e)},K.prototype.getMotionState=function(){return r(Fh(this.a),Gw)},K.prototype.setMotionState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),vc(t,e)},K.prototype.setAngularFactor=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ab(t,e)},K.prototype.upcast=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(D_(t,e),K)},K.prototype.getAabb=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),bh(i,e,t)},K.prototype.applyGravity=function(){Wn(this.a)},K.prototype.getGravity=function(){return r(Cs(this.a),u)},K.prototype.setGravity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gg(t,e)},K.prototype.getTotalForce=function(){return r(rp(this.a),u)},K.prototype.getTotalTorque=function(){return r(e_(this.a),u)},K.prototype.getFlags=function(){return vg(this.a)},K.prototype.setFlags=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zC(t,e)},K.prototype.clearForces=function(){Bn(this.a)},K.prototype.setAnisotropicFriction=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),fd(i,e,t)},K.prototype.getCollisionShape=function(){return r(_g(this.a),t)},K.prototype.setContactProcessingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ea(t,e)},K.prototype.setActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Lg(t,e)},K.prototype.forceActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),uC(t,e)},K.prototype.activate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),void 0===e?Py(t):hh(t,e)},K.prototype.isActive=function(){return!!Ms(this.a)},K.prototype.isKinematicObject=function(){return!!Hi(this.a)},K.prototype.isStaticObject=function(){return!!Vy(this.a)},K.prototype.isStaticOrKinematicObject=function(){return!!Yo(this.a)},K.prototype.getRestitution=function(){return kb(this.a)},K.prototype.setRestitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),AC(t,e)},K.prototype.getFriction=function(){return Zt(this.a)},K.prototype.setFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),b_(t,e)},K.prototype.getRollingFriction=function(){return vC(this.a)},K.prototype.setRollingFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zm(t,e)},K.prototype.getCollisionFlags=function(){return ac(this.a)},K.prototype.setCollisionFlags=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),eC(t,e)},K.prototype.getWorldTransform=function(){return r(xm(this.a),w)},K.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jb(t,e)},K.prototype.setCollisionShape=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Kn(t,e)},K.prototype.getCcdMotionThreshold=function(){return ao(this.a)},K.prototype.setCcdMotionThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qr(t,e)},K.prototype.getCcdSweptSphereRadius=function(){return Hm(this.a)},K.prototype.setCcdSweptSphereRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),l_(t,e)},K.prototype.getUserIndex=function(){return ah(this.a)},K.prototype.setUserIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),It(t,e)},K.prototype.getUserPointer=function(){return r(dc(this.a),nw)},K.prototype.setUserPointer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Je(t,e)},K.prototype.getInterpolationAngularVelocity=function(){return r(Gi(this.a),u)},K.prototype.setInterpolationAngularVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_p(t,e)},K.prototype.getInterpolationLinearVelocity=function(){return r(rn(this.a),u)},K.prototype.setInterpolationLinearVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jp(t,e)},K.prototype.getBroadphaseHandle=function(){return r(Ty(this.a),ow)},K.prototype.getActivationState=function(){return Xs(this.a)},K.prototype.__destroy__=function(){Wm(this.a)},Ww.prototype=Object.create(p.prototype),Ww.prototype.constructor=Ww,Ww.prototype.b=Ww,Ww.c={},i.btDbvtBroadphase=Ww,Ww.prototype.getOverlappingPairCache=function(){return r(Wd(this.a),rw)},Ww.prototype.__destroy__=function(){td(this.a)},Xw.prototype=Object.create(qw.prototype),Xw.prototype.constructor=Xw,Xw.prototype.b=Xw,Xw.c={},i.btCollisionDispatcher=Xw,Xw.prototype.getNumManifolds=function(){return V_(this.a)},Xw.prototype.getManifoldByIndexInternal=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(__(t,e),Ew)},Xw.prototype.__destroy__=function(){jt(this.a)},Yw.prototype=Object.create(p.prototype),Yw.prototype.constructor=Yw,Yw.prototype.b=Yw,Yw.c={},i.btAxisSweep3=Yw,Yw.prototype.__destroy__=function(){X_(this.a)},nw.prototype=Object.create(p.prototype),nw.prototype.constructor=nw,nw.prototype.b=nw,nw.c={},i.VoidPtr=nw,nw.prototype.__destroy__=function(){Dy(this.a)},L.prototype=Object.create(pw.prototype),L.prototype.constructor=L,L.prototype.b=L,L.c={},i.btConeTwistConstraint=L,L.prototype.setLimit=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),ym(i,e,t)},L.prototype.setAngularOnly=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ob(t,e)},L.prototype.setDamping=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bi(t,e)},L.prototype.enableMotor=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vs(t,e)},L.prototype.setMaxMotorImpulse=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bc(t,e)},L.prototype.setMaxMotorImpulseNormalized=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),I_(t,e)},L.prototype.setMotorTarget=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ml(t,e)},L.prototype.setMotorTargetInConstraintSpace=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Du(t,e)},L.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),by(t,e)},L.prototype.getBreakingImpulseThreshold=function(){return $h(this.a)},L.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),yf(t,e)},L.prototype.getParam=function(e,t){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ng(i,e,t)},L.prototype.setParam=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),xl(n,e,t,i)},L.prototype.__destroy__=function(){Nu(this.a)},M.prototype=Object.create(pw.prototype),M.prototype.constructor=M,M.prototype.b=M,M.c={},i.btHingeConstraint=M,M.prototype.setLimit=function(e,t,i,n,r){var _=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),void 0===r?Kb(_,e,t,i,n):Zb(_,e,t,i,n,r)},M.prototype.enableAngularMotor=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),$c(n,e,t,i)},M.prototype.setAngularOnly=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zd(t,e)},M.prototype.enableMotor=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),IC(t,e)},M.prototype.setMaxMotorImpulse=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xh(t,e)},M.prototype.setMotorTarget=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),ec(i,e,t)},M.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ky(t,e)},M.prototype.getBreakingImpulseThreshold=function(){return um(this.a)},M.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Al(t,e)},M.prototype.getParam=function(e,t){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Nn(i,e,t)},M.prototype.setParam=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),os(n,e,t,i)},M.prototype.__destroy__=function(){Qy(this.a)},Zw.prototype=Object.create(yw.prototype),Zw.prototype.constructor=Zw,Zw.prototype.b=Zw,Zw.c={},i.btConeShapeZ=Zw,Zw.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Aa(t,e)},Zw.prototype.getLocalScaling=function(){return r(bb(this.a),u)},Zw.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Nr(i,e,t)},Zw.prototype.__destroy__=function(){OC(this.a)},$w.prototype=Object.create(yw.prototype),$w.prototype.constructor=$w,$w.prototype.b=$w,$w.c={},i.btConeShapeX=$w,$w.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),cs(t,e)},$w.prototype.getLocalScaling=function(){return r(Q_(this.a),u)},$w.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),vm(i,e,t)},$w.prototype.__destroy__=function(){Ps(this.a)},ax.prototype=Object.create(Fw.prototype),ax.prototype.constructor=ax,ax.prototype.b=ax,ax.c={},i.btTriangleMesh=ax,ax.prototype.addTriangle=function(e,t,i,n){var r=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),void 0===n?Kg(r,e,t,i):Xg(r,e,t,i,n)},ax.prototype.__destroy__=function(){du(this.a)},bx.prototype=Object.create(t.prototype),bx.prototype.constructor=bx,bx.prototype.b=bx,bx.c={},i.btConvexHullShape=bx,bx.prototype.addPoint=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),void 0===t?Hy(i,e):Do(i,e,t)},bx.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qr(t,e)},bx.prototype.getMargin=function(){return xt(this.a)},bx.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hc(t,e)},bx.prototype.getLocalScaling=function(){return r(EC(this.a),u)},bx.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Kr(i,e,t)},bx.prototype.__destroy__=function(){y_(this.a)},N.prototype=Object.create(p.prototype),N.prototype.constructor=N,N.prototype.b=N,N.c={},i.btVehicleTuning=N,N.prototype.get_m_suspensionStiffness=function(){return Di(this.a)},N.prototype.set_m_suspensionStiffness=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Km(t,e)},N.prototype.get_m_suspensionCompression=function(){return yl(this.a)},N.prototype.set_m_suspensionCompression=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xd(t,e)},N.prototype.get_m_suspensionDamping=function(){return Hf(this.a)},N.prototype.set_m_suspensionDamping=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ru(t,e)},N.prototype.get_m_maxSuspensionTravelCm=function(){return Oy(this.a)},N.prototype.set_m_maxSuspensionTravelCm=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Va(t,e)},N.prototype.get_m_frictionSlip=function(){return sv(this.a)},N.prototype.set_m_frictionSlip=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ze(t,e)},N.prototype.get_m_maxSuspensionForce=function(){return Am(this.a)},N.prototype.set_m_maxSuspensionForce=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Sd(t,e)},cx.prototype=Object.create(p.prototype),cx.prototype.constructor=cx,cx.prototype.b=cx,cx.c={},i.btCollisionObjectWrapper=cx,dx.prototype=Object.create(vw.prototype),dx.prototype.constructor=dx,dx.prototype.b=dx,dx.c={},i.btGImpactMeshShape=dx,dx.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vg(t,e)},dx.prototype.getLocalScaling=function(){return r(aa(this.a),u)},dx.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),vh(i,e,t)},dx.prototype.updateBound=function(){Ap(this.a)},dx.prototype.__destroy__=function(){ws(this.a)},ex.prototype=Object.create(Gw.prototype),ex.prototype.constructor=ex,ex.prototype.b=ex,ex.c={},i.btDefaultMotionState=ex,ex.prototype.getWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Fo(t,e)},ex.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Of(t,e)},ex.prototype.get_m_graphicsWorldTrans=function(){return r(Pi(this.a),w)},ex.prototype.set_m_graphicsWorldTrans=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Mb(t,e)},ex.prototype.__destroy__=function(){Hn(this.a)},O.prototype=Object.create(p.prototype),O.prototype.constructor=O,O.prototype.b=O,O.c={},i.btWheelInfo=O,O.prototype.getSuspensionRestLength=function(){return Ib(this.a)},O.prototype.updateWheel=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),qu(i,e,t)},O.prototype.get_m_suspensionStiffness=function(){return mt(this.a)},O.prototype.set_m_suspensionStiffness=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_m(t,e)},O.prototype.get_m_frictionSlip=function(){return Wa(this.a)},O.prototype.set_m_frictionSlip=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),rg(t,e)},O.prototype.get_m_engineForce=function(){return Yn(this.a)},O.prototype.set_m_engineForce=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pc(t,e)},O.prototype.get_m_rollInfluence=function(){return on(this.a)},O.prototype.set_m_rollInfluence=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Tp(t,e)},O.prototype.get_m_suspensionRestLength1=function(){return dt(this.a)},O.prototype.set_m_suspensionRestLength1=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),iC(t,e)},O.prototype.get_m_wheelsRadius=function(){return yg(this.a)},O.prototype.set_m_wheelsRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),gr(t,e)},O.prototype.get_m_wheelsDampingCompression=function(){return wC(this.a)},O.prototype.set_m_wheelsDampingCompression=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Sr(t,e)},O.prototype.get_m_wheelsDampingRelaxation=function(){return da(this.a)},O.prototype.set_m_wheelsDampingRelaxation=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rg(t,e)},O.prototype.get_m_steering=function(){return Yp(this.a)},O.prototype.set_m_steering=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fm(t,e)},O.prototype.get_m_maxSuspensionForce=function(){return us(this.a)},O.prototype.set_m_maxSuspensionForce=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fs(t,e)},O.prototype.get_m_maxSuspensionTravelCm=function(){return Xf(this.a)},O.prototype.set_m_maxSuspensionTravelCm=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Yb(t,e)},O.prototype.get_m_wheelsSuspensionForce=function(){return af(this.a)},O.prototype.set_m_wheelsSuspensionForce=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),$b(t,e)},O.prototype.get_m_bIsFrontWheel=function(){return!!cp(this.a)},O.prototype.set_m_bIsFrontWheel=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Er(t,e)},O.prototype.get_m_raycastInfo=function(){return r($C(this.a),P)},O.prototype.set_m_raycastInfo=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),R_(t,e)},O.prototype.get_m_chassisConnectionPointCS=function(){return r(Ju(this.a),u)},O.prototype.set_m_chassisConnectionPointCS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vt(t,e)},O.prototype.get_m_worldTransform=function(){return r(hy(this.a),w)},O.prototype.set_m_worldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jl(t,e)},O.prototype.get_m_wheelDirectionCS=function(){return r(Eb(this.a),u)},O.prototype.set_m_wheelDirectionCS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ov(t,e)},O.prototype.get_m_wheelAxleCS=function(){return r(fC(this.a),u)},O.prototype.set_m_wheelAxleCS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rm(t,e)},O.prototype.get_m_rotation=function(){return Wg(this.a)},O.prototype.set_m_rotation=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sf(t,e)},O.prototype.get_m_deltaRotation=function(){return Dd(this.a)},O.prototype.set_m_deltaRotation=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ob(t,e)},O.prototype.get_m_brake=function(){return Id(this.a)},O.prototype.set_m_brake=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kl(t,e)},O.prototype.get_m_clippedInvContactDotSuspension=function(){return xg(this.a)},O.prototype.set_m_clippedInvContactDotSuspension=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ad(t,e)},O.prototype.get_m_suspensionRelativeVelocity=function(){return Zc(this.a)},O.prototype.set_m_suspensionRelativeVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),py(t,e)},O.prototype.get_m_skidInfo=function(){return wf(this.a)},O.prototype.set_m_skidInfo=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ag(t,e)},O.prototype.__destroy__=function(){uo(this.a)},Q.prototype=Object.create(u.prototype),Q.prototype.constructor=Q,Q.prototype.b=Q,Q.c={},i.btVector4=Q,Q.prototype.w=function(){return my(this.a)},Q.prototype.setValue=function(e,t,i,n){var r=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),cm(r,e,t,i,n)},Q.prototype.length=Q.prototype.length=function(){return Rb(this.a)},Q.prototype.x=function(){return Gh(this.a)},Q.prototype.y=function(){return xy(this.a)},Q.prototype.z=function(){return Zm(this.a)},Q.prototype.setX=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),w_(t,e)},Q.prototype.setY=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pf(t,e)},Q.prototype.setZ=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),O_(t,e)},Q.prototype.normalize=function(){ny(this.a)},Q.prototype.rotate=function(e,t){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),r(Ai(i,e,t),u)},Q.prototype.dot=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),Sc(t,e)},Q.prototype.op_mul=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Jf(t,e),u)},Q.prototype.op_add=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(po(t,e),u)},Q.prototype.op_sub=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(ZC(t,e),u)},Q.prototype.__destroy__=function(){yd(this.a)},fx.prototype=Object.create(p.prototype),fx.prototype.constructor=fx,fx.prototype.b=fx,fx.c={},i.btDefaultCollisionConstructionInfo=fx,fx.prototype.__destroy__=function(){dm(this.a)},gx.prototype=Object.create(p.prototype),gx.prototype.constructor=gx,gx.prototype.b=gx,gx.c={},i.btVehicleRaycasterResult=gx,gx.prototype.get_m_hitPointInWorld=function(){return r(Es(this.a),u)},gx.prototype.set_m_hitPointInWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zh(t,e)},gx.prototype.get_m_hitNormalInWorld=function(){return r(Xe(this.a),u)},gx.prototype.set_m_hitNormalInWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),db(t,e)},gx.prototype.get_m_distFraction=function(){return ty(this.a)},gx.prototype.set_m_distFraction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ns(t,e)},gx.prototype.__destroy__=function(){Br(this.a)},hx.prototype=Object.create(p.prototype),hx.prototype.constructor=hx,hx.prototype.b=hx,hx.c={},i.btConstraintSolver=hx,hx.prototype.__destroy__=function(){ed(this.a)},S.prototype=Object.create(zw.prototype),S.prototype.constructor=S,S.prototype.b=S,S.c={},i.btRaycastVehicle=S,S.prototype.applyEngineForce=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),yu(i,e,t)},S.prototype.setSteeringValue=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),er(i,e,t)},S.prototype.getWheelTransformWS=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Tc(t,e),w)},S.prototype.updateWheelTransform=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),At(i,e,t)},S.prototype.addWheel=function(e,t,i,n,_,o,s){var c=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),_&&"object"==typeof _&&(_=_.a),o&&"object"==typeof o&&(o=o.a),s&&"object"==typeof s&&(s=s.a),r(kC(c,e,t,i,n,_,o,s),O)},S.prototype.getNumWheels=function(){return La(this.a)},S.prototype.getRigidBody=function(){return r(Zp(this.a),K)},S.prototype.getWheelInfo=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Ar(t,e),O)},S.prototype.setBrake=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Cu(i,e,t)},S.prototype.setCoordinateSystem=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),qs(n,e,t,i)},S.prototype.getCurrentSpeedKmHour=function(){return Jn(this.a)},S.prototype.getChassisWorldTransform=function(){return r(Tl(this.a),w)},S.prototype.rayCast=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),Qi(t,e)},S.prototype.updateVehicle=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Su(t,e)},S.prototype.resetSuspension=function(){Fy(this.a)},S.prototype.getSteeringValue=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),iv(t,e)},S.prototype.updateWheelTransformsWS=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),void 0===t?wl(i,e):RC(i,e,t)},S.prototype.setPitchControl=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),k_(t,e)},S.prototype.updateSuspension=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hi(t,e)},S.prototype.updateFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),eh(t,e)},S.prototype.getRightAxis=function(){return lr(this.a)},S.prototype.getUpAxis=function(){return Xn(this.a)},S.prototype.getForwardAxis=function(){return zo(this.a)},S.prototype.getForwardVector=function(){return r(ly(this.a),u)},S.prototype.getUserConstraintType=function(){return Iy(this.a)},S.prototype.setUserConstraintType=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nC(t,e)},S.prototype.setUserConstraintId=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ya(t,e)},S.prototype.getUserConstraintId=function(){return Nb(this.a)},S.prototype.updateAction=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ub(i,e,t)},S.prototype.__destroy__=function(){Kp(this.a)},Rw.prototype=Object.create(p.prototype),Rw.prototype.constructor=Rw,Rw.prototype.b=Rw,Rw.c={},i.tVector3Array=Rw,Rw.prototype.size=function(){return bc(this.a)},Rw.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Qc(t,e),u)},Rw.prototype.clear=function(){fu(this.a)},Rw.prototype.push_back=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sl(t,e)},Rw.prototype.pop_back=function(){zc(this.a)},Rw.prototype.__destroy__=function(){qC(this.a)},ix.prototype=Object.create(Cw.prototype),ix.prototype.constructor=ix,ix.prototype.b=ix,ix.c={},i.btCylinderShapeX=ix,ix.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),z_(t,e)},ix.prototype.getMargin=function(){return Ma(this.a)},ix.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vc(t,e)},ix.prototype.getLocalScaling=function(){return r(va(this.a),u)},ix.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ii(i,e,t)},ix.prototype.__destroy__=function(){Mh(this.a)},jx.prototype=Object.create(Cw.prototype),jx.prototype.constructor=jx,jx.prototype.b=jx,jx.c={},i.btCylinderShapeZ=jx,jx.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),f_(t,e)},jx.prototype.getMargin=function(){return m(this.a)},jx.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),DC(t,e)},jx.prototype.getLocalScaling=function(){return r(tu(this.a),u)},jx.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),lb(i,e,t)},jx.prototype.__destroy__=function(){Mr(this.a)},kx.prototype=Object.create(p.prototype),kx.prototype.constructor=kx,kx.prototype.b=kx,kx.c={},i.btSequentialImpulseConstraintSolver=kx,kx.prototype.__destroy__=function(){rc(this.a)},P.prototype=Object.create(p.prototype),P.prototype.constructor=P,P.prototype.b=P,P.c={},i.RaycastInfo=P,P.prototype.get_m_contactNormalWS=function(){return r(Eo(this.a),u)},P.prototype.set_m_contactNormalWS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vp(t,e)},P.prototype.get_m_contactPointWS=function(){return r($r(this.a),u)},P.prototype.set_m_contactPointWS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zp(t,e)},P.prototype.get_m_suspensionLength=function(){return Bb(this.a)},P.prototype.set_m_suspensionLength=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),om(t,e)},P.prototype.get_m_hardPointWS=function(){return r(No(this.a),u)},P.prototype.set_m_hardPointWS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),yC(t,e)},P.prototype.get_m_wheelDirectionWS=function(){return r(Xu(this.a),u)},P.prototype.set_m_wheelDirectionWS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ze(t,e)},P.prototype.get_m_wheelAxleWS=function(){return r(kt(this.a),u)},P.prototype.set_m_wheelAxleWS=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wu(t,e)},P.prototype.get_m_isInContact=function(){return!!FC(this.a)},P.prototype.set_m_isInContact=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xi(t,e)},P.prototype.get_m_groundObject=function(){return ca(this.a)},P.prototype.set_m_groundObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),bp(t,e)},P.prototype.__destroy__=function(){cb(this.a)},lx.prototype=Object.create(tw.prototype),lx.prototype.constructor=lx,lx.prototype.b=lx,lx.c={},i.btHeightfieldTerrainShape=lx,lx.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kf(t,e)},lx.prototype.getMargin=function(){return xd(this.a)},lx.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),di(t,e)},lx.prototype.getLocalScaling=function(){return r(Cr(this.a),u)},lx.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),gc(i,e,t)},lx.prototype.__destroy__=function(){Kf(this.a)},T.prototype=Object.create(B.prototype),T.prototype.constructor=T,T.prototype.b=T,T.c={},i.btDiscreteDynamicsWorld=T,T.prototype.setGravity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Um(t,e)},T.prototype.getGravity=function(){return r(Fu(this.a),u)},T.prototype.addRigidBody=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),void 0===t?rf(n,e):void 0===i?_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(n,e,t):nf(n,e,t,i)},T.prototype.removeRigidBody=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),h_(t,e)},T.prototype.addConstraint=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),void 0===t?_r(i,e):rr(i,e,t)},T.prototype.removeConstraint=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ry(t,e)},T.prototype.stepSimulation=function(e,t,i){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),void 0===t?Dt(n,e):void 0===i?Ht(n,e,t):Ot(n,e,t,i)},T.prototype.clearForces=function(){tc(this.a)},T.prototype.setApplySpeculativeContactRestitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rl(t,e)},T.prototype.getApplySpeculativeContactRestitution=function(){return!!$n(this.a)},T.prototype.getDispatcher=function(){return r(zf(this.a),qw)},T.prototype.rayTest=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),YC(n,e,t,i)},T.prototype.getPairCache=function(){return r(Qd(this.a),rw)},T.prototype.getDispatchInfo=function(){return r(ss(this.a),z)},T.prototype.addCollisionObject=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),void 0===t?im(n,e):void 0===i?nm(n,e,t):rm(n,e,t,i)},T.prototype.removeCollisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Iu(t,e)},T.prototype.getBroadphase=function(){return r(C_(this.a),sw)},T.prototype.convexSweepTest=function(e,t,i,n,r){var _=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),WC(_,e,t,i,n,r)},T.prototype.contactPairTest=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),fg(n,e,t,i)},T.prototype.contactTest=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),J_(i,e,t)},T.prototype.updateSingleAabb=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ur(t,e)},T.prototype.addAction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),v_(t,e)},T.prototype.removeAction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Mg(t,e)},T.prototype.getSolverInfo=function(){return r(Ei(this.a),ww)},T.prototype.__destroy__=function(){Cl(this.a)},mx.prototype=Object.create(p.prototype),mx.prototype.constructor=mx,mx.prototype.b=mx,mx.c={},i.btGhostPairCallback=mx,mx.prototype.__destroy__=function(){To(this.a)},nx.prototype=Object.create(p.prototype),nx.prototype.constructor=nx,nx.prototype.b=nx,nx.c={},i.btOverlappingPairCallback=nx,nx.prototype.__destroy__=function(){Cf(this.a)},U.prototype=Object.create(zw.prototype),U.prototype.constructor=U,U.prototype.b=U,U.c={},i.btKinematicCharacterController=U,U.prototype.setUp=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Y_(t,e)},U.prototype.setWalkDirection=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Le(t,e)},U.prototype.setVelocityForTimeInterval=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),fy(i,e,t)},U.prototype.warp=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),lu(t,e)},U.prototype.preStep=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),mu(t,e)},U.prototype.playerStep=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Od(i,e,t)},U.prototype.setFallSpeed=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bg(t,e)},U.prototype.setJumpSpeed=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Cm(t,e)},U.prototype.setMaxJumpHeight=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),rv(t,e)},U.prototype.canJump=function(){return!!xs(this.a)},U.prototype.jump=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),S_(t,e)},U.prototype.setGravity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ji(t,e)},U.prototype.getGravity=function(){return r(Xh(this.a),u)},U.prototype.setMaxSlope=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),lt(t,e)},U.prototype.getMaxSlope=function(){return gC(this.a)},U.prototype.getGhostObject=function(){return r(Ah(this.a),V)},U.prototype.setUseGhostSweepTest=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),vi(t,e)},U.prototype.onGround=function(){return!!Jm(this.a)},U.prototype.setUpInterpolate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),mc(t,e)},U.prototype.updateAction=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),vs(i,e,t)},U.prototype.__destroy__=function(){QC(this.a)},ox.prototype=Object.create(tw.prototype),ox.prototype.constructor=ox,ox.prototype.b=ox,ox.c={},i.btStaticPlaneShape=ox,ox.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pd(t,e)},ox.prototype.getLocalScaling=function(){return r(Nh(this.a),u)},ox.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),kd(i,e,t)},ox.prototype.__destroy__=function(){xC(this.a)},rw.prototype=Object.create(p.prototype),rw.prototype.constructor=rw,rw.prototype.b=rw,rw.c={},i.btOverlappingPairCache=rw,rw.prototype.setInternalGhostPairCallback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),$a(t,e)},rw.prototype.__destroy__=function(){Wo(this.a)},Qw.prototype=Object.create(p.prototype),Qw.prototype.constructor=Qw,Qw.prototype.b=Qw,Qw.c={},i.tBtCollisionObjectArray=Qw,Qw.prototype.size=function(){return tb(this.a)},Qw.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Gp(t,e),v)},Qw.prototype.clear=function(){Ea(this.a)},Qw.prototype.push_back=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),JC(t,e)},Qw.prototype.pop_back=function(){Ey(this.a)},Qw.prototype.__destroy__=function(){Au(this.a)},px.prototype=Object.create(pw.prototype),px.prototype.constructor=px,px.prototype.b=px,px.c={},i.btFixedConstraint=px,px.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),tC(t,e)},px.prototype.getBreakingImpulseThreshold=function(){return Ki(this.a)},px.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),am(t,e)},px.prototype.getParam=function(e,t){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Vn(i,e,t)},px.prototype.setParam=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),_a(n,e,t,i)},px.prototype.__destroy__=function(){mi(this.a)},w.prototype=Object.create(p.prototype),w.prototype.constructor=w,w.prototype.b=w,w.c={},i.btTransform=w,w.prototype.setIdentity=function(){bt(this.a)},w.prototype.setOrigin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pl(t,e)},w.prototype.setRotation=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ho(t,e)},w.prototype.getOrigin=function(){return r(By(this.a),u)},w.prototype.getRotation=function(){return r(Ll(this.a),W)},w.prototype.getBasis=function(){return r(A_(this.a),Kw)},w.prototype.setFromOpenGLMatrix=function(e){var t=this.a;if(mv){for(var n=0;n<dv.length;n++)i._free(dv[n]);dv.length=0,i._free(bv),bv=0,pv+=mv,mv=0}if(bv||(pv+=128,assert(bv=i._malloc(pv))),uv=0,"object"==typeof e&&"object"==typeof e){n=ee,assert(bv);var r;n=e.length*n.BYTES_PER_ELEMENT;uv+(n=n+7&-8)>=pv?(assert(0<n),mv+=n,r=i._malloc(n),dv.push(r)):(r=bv+uv,uv+=n);var _=n=r;switch((r=ee).BYTES_PER_ELEMENT){case 2:_>>=1;break;case 4:_>>=2;break;case 8:_>>=3}for(var o=0;o<e.length;o++)r[_+o]=e[o];e=n}F_(t,e)},w.prototype.__destroy__=function(){lC(this.a)},X.prototype=Object.create(Jw.prototype),X.prototype.constructor=X,X.prototype.b=X,X.c={},i.ClosestRayResultCallback=X,X.prototype.hasHit=function(){return!!ul(this.a)},X.prototype.get_m_rayFromWorld=function(){return r(Up(this.a),u)},X.prototype.set_m_rayFromWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zu(t,e)},X.prototype.get_m_rayToWorld=function(){return r(o_(this.a),u)},X.prototype.set_m_rayToWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Sg(t,e)},X.prototype.get_m_hitNormalWorld=function(){return r(Yy(this.a),u)},X.prototype.set_m_hitNormalWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jC(t,e)},X.prototype.get_m_hitPointWorld=function(){return r(tt(this.a),u)},X.prototype.set_m_hitPointWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pr(t,e)},X.prototype.get_m_collisionFilterGroup=function(){return Mo(this.a)},X.prototype.set_m_collisionFilterGroup=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Co(t,e)},X.prototype.get_m_collisionFilterMask=function(){return ka(this.a)},X.prototype.set_m_collisionFilterMask=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),vd(t,e)},X.prototype.get_m_closestHitFraction=function(){return Fr(this.a)},X.prototype.set_m_closestHitFraction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sn(t,e)},X.prototype.get_m_collisionObject=function(){return r(Ug(this.a),v)},X.prototype.set_m_collisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zi(t,e)},X.prototype.__destroy__=function(){q_(this.a)},Y.prototype=Object.create(Hw.prototype),Y.prototype.constructor=Y,Y.prototype.b=Y,Y.c={},i.AllConvexResultCallback=Y,Y.prototype.hasHit=function(){return!!G_(this.a)},Y.prototype.get_m_convexFromWorld=function(){return r(_n(this.a),u)},Y.prototype.set_m_convexFromWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Cc(t,e)},Y.prototype.get_m_convexToWorld=function(){return r(st(this.a),u)},Y.prototype.set_m_convexToWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),N_(t,e)},Y.prototype.get_m_hitNormalWorld=function(){return r(dg(this.a),Rw)},Y.prototype.set_m_hitNormalWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ay(t,e)},Y.prototype.get_m_hitPointWorld=function(){return r(gt(this.a),Rw)},Y.prototype.set_m_hitPointWorld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zo(t,e)},Y.prototype.get_m_hitFractions=function(){return r(ep(this.a),Sw)},Y.prototype.set_m_hitFractions=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),B_(t,e)},Y.prototype.get_m_collisionObjects=function(){return r(Jt(this.a),Qw)},Y.prototype.set_m_collisionObjects=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),lo(t,e)},Y.prototype.get_m_collisionFilterGroup=function(){return hu(this.a)},Y.prototype.set_m_collisionFilterGroup=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Tf(t,e)},Y.prototype.get_m_collisionFilterMask=function(){return ma(this.a)},Y.prototype.set_m_collisionFilterMask=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Yi(t,e)},Y.prototype.get_m_closestHitFraction=function(){return Eh(this.a)},Y.prototype.set_m_closestHitFraction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),cg(t,e)},Y.prototype.__destroy__=function(){U_(this.a)},qx.prototype=Object.create(Iw.prototype),qx.prototype.constructor=qx,qx.prototype.b=qx,qx.c={},i.ConcreteContactResultCallback=qx,qx.prototype.addSingleResult=function(e,t,i,n,r,_,o){var s=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),r&&"object"==typeof r&&(r=r.a),_&&"object"==typeof _&&(_=_.a),o&&"object"==typeof o&&(o=o.a),Qu(s,e,t,i,n,r,_,o)},qx.prototype.__destroy__=function(){vu(this.a)},rx.prototype=Object.create(xw.prototype),rx.prototype.constructor=rx,rx.prototype.b=rx,rx.c={},i.btBvhTriangleMeshShape=rx,rx.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),an(t,e)},rx.prototype.getLocalScaling=function(){return r(dp(this.a),u)},rx.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),$_(i,e,t)},rx.prototype.__destroy__=function(){gy(this.a)},sx.prototype=Object.create(pw.prototype),sx.prototype.constructor=sx,sx.prototype.b=sx,sx.c={},i.btSliderConstraint=sx,sx.prototype.setLowerLinLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pg(t,e)},sx.prototype.setUpperLinLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xo(t,e)},sx.prototype.setLowerAngLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qy(t,e)},sx.prototype.setUpperAngLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rp(t,e)},sx.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jp(t,e)},sx.prototype.getBreakingImpulseThreshold=function(){return Zs(this.a)},sx.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),r_(t,e)},sx.prototype.getParam=function(e,t){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),As(i,e,t)},sx.prototype.setParam=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),Dn(n,e,t,i)},sx.prototype.__destroy__=function(){pC(this.a)},V.prototype=Object.create(D.prototype),V.prototype.constructor=V,V.prototype.b=V,V.c={},i.btPairCachingGhostObject=V,V.prototype.setAnisotropicFriction=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),al(i,e,t)},V.prototype.getCollisionShape=function(){return r(Dl(this.a),t)},V.prototype.setContactProcessingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ga(t,e)},V.prototype.setActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pa(t,e)},V.prototype.forceActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),On(t,e)},V.prototype.activate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),void 0===e?jn(t):Rn(t,e)},V.prototype.isActive=function(){return!!_v(this.a)},V.prototype.isKinematicObject=function(){return!!gd(this.a)},V.prototype.isStaticObject=function(){return!!Xc(this.a)},V.prototype.isStaticOrKinematicObject=function(){return!!zn(this.a)},V.prototype.getRestitution=function(){return MC(this.a)},V.prototype.setRestitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zs(t,e)},V.prototype.getFriction=function(){return Dg(this.a)},V.prototype.setFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),P_(t,e)},V.prototype.getRollingFriction=function(){return tm(this.a)},V.prototype.setRollingFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Nm(t,e)},V.prototype.getCollisionFlags=function(){return Jl(this.a)},V.prototype.setCollisionFlags=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ac(t,e)},V.prototype.getWorldTransform=function(){return r(Ka(this.a),w)},V.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),bm(t,e)},V.prototype.setCollisionShape=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),au(t,e)},V.prototype.getCcdMotionThreshold=function(){return vf(this.a)},V.prototype.setCcdMotionThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pb(t,e)},V.prototype.getCcdSweptSphereRadius=function(){return pf(this.a)},V.prototype.setCcdSweptSphereRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Yc(t,e)},V.prototype.getUserIndex=function(){return hr(this.a)},V.prototype.setUserIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Is(t,e)},V.prototype.getUserPointer=function(){return r(zy(this.a),nw)},V.prototype.setUserPointer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sr(t,e)},V.prototype.getInterpolationAngularVelocity=function(){return r(Hs(this.a),u)},V.prototype.setInterpolationAngularVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Cn(t,e)},V.prototype.getInterpolationLinearVelocity=function(){return r(Mt(this.a),u)},V.prototype.setInterpolationLinearVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_l(t,e)},V.prototype.getBroadphaseHandle=function(){return r(Kc(this.a),ow)},V.prototype.getActivationState=function(){return Cd(this.a)},V.prototype.getNumOverlappingObjects=function(){return yo(this.a)},V.prototype.getOverlappingObject=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(km(t,e),v)},V.prototype.__destroy__=function(){wn(this.a)},H.prototype=Object.create(p.prototype),H.prototype.constructor=H,H.prototype.b=H,H.c={},i.btManifoldPoint=H,H.prototype.getPositionWorldOnA=function(){return r(Th(this.a),u)},H.prototype.getPositionWorldOnB=function(){return r(mp(this.a),u)},H.prototype.getAppliedImpulse=function(){return m_(this.a)},H.prototype.getDistance=function(){return mC(this.a)},H.prototype.get_m_localPointA=function(){return r(qh(this.a),u)},H.prototype.set_m_localPointA=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),so(t,e)},H.prototype.get_m_localPointB=function(){return r(ag(this.a),u)},H.prototype.set_m_localPointB=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),yi(t,e)},H.prototype.get_m_positionWorldOnB=function(){return r(Zf(this.a),u)},H.prototype.set_m_positionWorldOnB=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rf(t,e)},H.prototype.get_m_positionWorldOnA=function(){return r(hp(this.a),u)},H.prototype.set_m_positionWorldOnA=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),og(t,e)},H.prototype.get_m_normalWorldOnB=function(){return r(yy(this.a),u)},H.prototype.set_m_normalWorldOnB=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Uh(t,e)},H.prototype.__destroy__=function(){Sb(this.a)},tx.prototype=Object.create(pw.prototype),tx.prototype.constructor=tx,tx.prototype.b=tx,tx.c={},i.btPoint2PointConstraint=tx,tx.prototype.setPivotA=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Mm(t,e)},tx.prototype.setPivotB=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),dC(t,e)},tx.prototype.getPivotInA=function(){return r(Wf(this.a),u)},tx.prototype.getPivotInB=function(){return r(Td(this.a),u)},tx.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),go(t,e)},tx.prototype.getBreakingImpulseThreshold=function(){return Ay(this.a)},tx.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fn(t,e)},tx.prototype.getParam=function(e,t){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),dy(i,e,t)},tx.prototype.setParam=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),vy(n,e,t,i)},tx.prototype.get_m_setting=function(){return r(jc(this.a),Uw)},tx.prototype.set_m_setting=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ua(t,e)},tx.prototype.__destroy__=function(){tr(this.a)},ow.prototype=Object.create(p.prototype),ow.prototype.constructor=ow,ow.prototype.b=ow,ow.c={},i.btBroadphaseProxy=ow,ow.prototype.get_m_collisionFilterGroup=function(){return $y(this.a)},ow.prototype.set_m_collisionFilterGroup=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Fn(t,e)},ow.prototype.get_m_collisionFilterMask=function(){return Xp(this.a)},ow.prototype.set_m_collisionFilterMask=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ks(t,e)},ow.prototype.__destroy__=function(){Ly(this.a)},Z.prototype=Object.create(E.prototype),Z.prototype.constructor=Z,Z.prototype.b=Z,Z.c={},i.btGeneric6DofSpringConstraint=Z,Z.prototype.enableSpring=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),up(i,e,t)},Z.prototype.setStiffness=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Af(i,e,t)},Z.prototype.setDamping=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Tg(i,e,t)},Z.prototype.setLinearLowerLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),cd(t,e)},Z.prototype.setLinearUpperLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zt(t,e)},Z.prototype.setAngularLowerLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),XC(t,e)},Z.prototype.setAngularUpperLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),tf(t,e)},Z.prototype.getFrameOffsetA=function(){return r(ap(this.a),w)},Z.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Cp(t,e)},Z.prototype.getBreakingImpulseThreshold=function(){return lp(this.a)},Z.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gr(t,e)},Z.prototype.getParam=function(e,t){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),cr(i,e,t)},Z.prototype.setParam=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),Kl(n,e,t,i)},Z.prototype.__destroy__=function(){Ba(this.a)},ux.prototype=Object.create(t.prototype),ux.prototype.constructor=ux,ux.prototype.b=ux,ux.c={},i.btBoxShape=ux,ux.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ec(t,e)},ux.prototype.getMargin=function(){return vn(this.a)},ux.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),TC(t,e)},ux.prototype.getLocalScaling=function(){return r(za(this.a),u)},ux.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),gu(i,e,t)},ux.prototype.__destroy__=function(){sp(this.a)},vx.prototype=Object.create(uw.prototype),vx.prototype.constructor=vx,vx.prototype.b=vx,vx.c={},i.btCapsuleShapeX=vx,vx.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),co(t,e)},vx.prototype.getMargin=function(){return Ue(this.a)},vx.prototype.getUpAxis=function(){return If(this.a)},vx.prototype.getRadius=function(){return pu(this.a)},vx.prototype.getHalfHeight=function(){return Ci(this.a)},vx.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Il(t,e)},vx.prototype.getLocalScaling=function(){return r(Fd(this.a),u)},vx.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Lr(i,e,t)},vx.prototype.__destroy__=function(){Vb(this.a)},W.prototype=Object.create(Bw.prototype),W.prototype.constructor=W,W.prototype.b=W,W.c={},i.btQuaternion=W,W.prototype.setValue=function(e,t,i,n){var r=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),n&&"object"==typeof n&&(n=n.a),Si(r,e,t,i,n)},W.prototype.setEulerZYX=function(e,t,i){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i&&"object"==typeof i&&(i=i.a),Ku(n,e,t,i)},W.prototype.setRotation=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Em(i,e,t)},W.prototype.normalize=function(){Da(this.a)},W.prototype.length2=function(){return Wy(this.a)},W.prototype.length=W.prototype.length=function(){return vr(this.a)},W.prototype.dot=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),Pe(t,e)},W.prototype.normalized=function(){return r(Vf(this.a),W)},W.prototype.getAxis=function(){return r(zb(this.a),u)},W.prototype.inverse=function(){return r(lg(this.a),W)},W.prototype.getAngle=function(){return Ks(this.a)},W.prototype.getAngleShortestPath=function(){return Nt(this.a)},W.prototype.angle=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),Rr(t,e)},W.prototype.angleShortestPath=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),Tr(t,e)},W.prototype.op_add=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(SC(t,e),W)},W.prototype.op_sub=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(iy(t,e),W)},W.prototype.op_mul=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Tu(t,e),W)},W.prototype.op_mulq=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Yf(t,e),W)},W.prototype.op_div=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),r(Jr(t,e),W)},W.prototype.x=function(){return ts(this.a)},W.prototype.y=function(){return ff(this.a)},W.prototype.z=function(){return as(this.a)},W.prototype.w=function(){return Pl(this.a)},W.prototype.setX=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nt(t,e)},W.prototype.setY=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ry(t,e)},W.prototype.setZ=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_t(t,e)},W.prototype.setW=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wt(t,e)},W.prototype.__destroy__=function(){Ta(this.a)},wx.prototype=Object.create(uw.prototype),wx.prototype.constructor=wx,wx.prototype.b=wx,wx.c={},i.btCapsuleShapeZ=wx,wx.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),bi(t,e)},wx.prototype.getMargin=function(){return ql(this.a)},wx.prototype.getUpAxis=function(){return ht(this.a)},wx.prototype.getRadius=function(){return lf(this.a)},wx.prototype.getHalfHeight=function(){return tn(this.a)},wx.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Uo(t,e)},wx.prototype.getLocalScaling=function(){return r(na(this.a),u)},wx.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ud(i,e,t)},wx.prototype.__destroy__=function(){gp(this.a)},ww.prototype=Object.create(p.prototype),ww.prototype.constructor=ww,ww.prototype.b=ww,ww.c={},i.btContactSolverInfo=ww,ww.prototype.get_m_solverMode=function(){return Ao(this.a)},ww.prototype.set_m_solverMode=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),W_(t,e)},ww.prototype.get_m_splitImpulse=function(){return!!ev(this.a)},ww.prototype.set_m_splitImpulse=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),gs(t,e)},ww.prototype.get_m_splitImpulsePenetrationThreshold=function(){return In(this.a)},ww.prototype.set_m_splitImpulsePenetrationThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Sp(t,e)},ww.prototype.get_m_numIterations=function(){return ky(this.a)},ww.prototype.set_m_numIterations=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fr(t,e)},ww.prototype.__destroy__=function(){bu(this.a)},Sw.prototype=Object.create(p.prototype),Sw.prototype.constructor=Sw,Sw.prototype.b=Sw,Sw.c={},i.tScalarArray=Sw,Sw.prototype.size=function(){return fh(this.a)},Sw.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),ll(t,e)},Sw.prototype.clear=function(){Nd(this.a)},Sw.prototype.push_back=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qb(t,e)},Sw.prototype.pop_back=function(){yt(this.a)},Sw.prototype.__destroy__=function(){ti(this.a)},xx.prototype=Object.create(t.prototype),xx.prototype.constructor=xx,xx.prototype.b=xx,xx.c={},i.btSphereShape=xx,xx.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),vp(t,e)},xx.prototype.getMargin=function(){return hb(this.a)},xx.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),uy(t,e)},xx.prototype.getLocalScaling=function(){return r(zu(this.a),u)},xx.prototype.calculateLocalInertia=function(e,t){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),i_(i,e,t)},xx.prototype.__destroy__=function(){Us(this.a)},yx.prototype=Object.create(p.prototype),yx.prototype.constructor=yx,yx.prototype.b=yx,yx.c={},i.LocalConvexResult=yx,yx.prototype.get_m_hitCollisionObject=function(){return r(zl(this.a),v)},yx.prototype.set_m_hitCollisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),KC(t,e)},yx.prototype.get_m_localShapeInfo=function(){return r(sh(this.a),Vw)},yx.prototype.set_m_localShapeInfo=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),la(t,e)},yx.prototype.get_m_hitNormalLocal=function(){return r(ct(this.a),u)},yx.prototype.set_m_hitNormalLocal=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),rs(t,e)},yx.prototype.get_m_hitPointLocal=function(){return r(Ni(this.a),u)},yx.prototype.set_m_hitPointLocal=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),p_(t,e)},yx.prototype.get_m_hitFraction=function(){return Wl(this.a)},yx.prototype.set_m_hitFraction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zd(t,e)},yx.prototype.__destroy__=function(){nc(this.a)},function(){function a(){i.BT_CONSTRAINT_ERP=Ol(),i.BT_CONSTRAINT_STOP_ERP=Fl(),i.BT_CONSTRAINT_CFM=Ae(),i.BT_CONSTRAINT_STOP_CFM=ln(),i.PHY_FLOAT=Fg(),i.PHY_DOUBLE=Ts(),i.PHY_INTEGER=Hp(),i.PHY_SHORT=Yh(),i.PHY_FIXEDPOINT88=wm(),i.PHY_UCHAR=vt()}i.calledRun?a():pe.unshift(a)}(),window.Physics3D=i,Physics3D};
|